diff --git a/src/Symfony/Component/CssSelector/XPath/Translator.php b/src/Symfony/Component/CssSelector/XPath/Translator.php index 4676677ea4..5675aa6106 100644 --- a/src/Symfony/Component/CssSelector/XPath/Translator.php +++ b/src/Symfony/Component/CssSelector/XPath/Translator.php @@ -123,17 +123,15 @@ class Translator implements TranslatorInterface $selectors = $this->parseSelectors($cssExpr); /** @var SelectorNode $selector */ - foreach ($selectors as $selector) { + foreach ($selectors as $index => $selector) { if (null !== $selector->getPseudoElement()) { throw new ExpressionErrorException('Pseudo-elements are not supported.'); } + + $selectors[$index] = $this->selectorToXPath($selector, $prefix); } - $translator = $this; - - return implode(' | ', array_map(function (SelectorNode $selector) use ($translator, $prefix) { - return $translator->selectorToXPath($selector, $prefix); - }, $selectors)); + return implode(' | ', $selectors); } /**