/var/www/vhosts/nabawater/vendor/symfony/css-selector/XPath/Extension
NameSizeModeActions
AbstractExtension.php12340664editdlrm
AttributeMatchingExtension.php47590664editdlrm
CombinationExtension.php20460664editdlrm
ExtensionInterface.php15270664editdlrm
FunctionExtension.php54970664editdlrm
HtmlExtension.php61490664editdlrm
NodeExtension.php63390664editdlrm
PseudoClassExtension.php36840664editdlrm
Edit: /var/www/vhosts/nabawater/vendor/symfony/css-selector/XPath/Extension/CombinationExtension.php (2046B)
* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\CssSelector\XPath\Extension; use Symfony\Component\CssSelector\XPath\XPathExpr; /** * XPath expression translator combination extension. * * This component is a port of the Python cssselect library, * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect. * * @author Jean-François Simon * * @internal */ class CombinationExtension extends AbstractExtension { /** * {@inheritdoc} */ public function getCombinationTranslators() { return [ ' ' => [$this, 'translateDescendant'], '>' => [$this, 'translateChild'], '+' => [$this, 'translateDirectAdjacent'], '~' => [$this, 'translateIndirectAdjacent'], ]; } /** * @return XPathExpr */ public function translateDescendant(XPathExpr $xpath, XPathExpr $combinedXpath) { return $xpath->join('/descendant-or-self::*/', $combinedXpath); } /** * @return XPathExpr */ public function translateChild(XPathExpr $xpath, XPathExpr $combinedXpath) { return $xpath->join('/', $combinedXpath); } /** * @return XPathExpr */ public function translateDirectAdjacent(XPathExpr $xpath, XPathExpr $combinedXpath) { return $xpath ->join('/following-sibling::', $combinedXpath) ->addNameTest() ->addCondition('position() = 1'); } /** * @return XPathExpr */ public function translateIndirectAdjacent(XPathExpr $xpath, XPathExpr $combinedXpath) { return $xpath->join('/following-sibling::', $combinedXpath); } /** * {@inheritdoc} */ public function getName() { return 'combination'; } }