*/
class Translator implements TranslatorInterface
{
- /**
- * @var ParserInterface
- */
private $mainParser;
/**
private $shortcutParsers = array();
/**
- * @var Extension\ExtensionInterface
+ * @var Extension\ExtensionInterface[]
*/
private $extensions = array();
- /**
- * @var array
- */
private $nodeTranslators = array();
-
- /**
- * @var array
- */
private $combinationTranslators = array();
-
- /**
- * @var array
- */
private $functionTranslators = array();
-
- /**
- * @var array
- */
private $pseudoClassTranslators = array();
-
- /**
- * @var array
- */
private $attributeMatchingTranslators = array();
public function __construct(ParserInterface $parser = null)
}
}
- return sprintf('concat(%s)', implode($parts, ', '));
+ return sprintf('concat(%s)', implode(', ', $parts));
}
/**
/**
* Registers an extension.
*
- * @param Extension\ExtensionInterface $extension
- *
* @return $this
*/
public function registerExtension(Extension\ExtensionInterface $extension)
/**
* Registers a shortcut parser.
*
- * @param ParserInterface $shortcut
- *
* @return $this
*/
public function registerParserShortcut(ParserInterface $shortcut)
}
/**
- * @param NodeInterface $node
- *
* @return XPathExpr
*
* @throws ExpressionErrorException
throw new ExpressionErrorException(sprintf('Node "%s" not supported.', $node->getNodeName()));
}
- return call_user_func($this->nodeTranslators[$node->getNodeName()], $node, $this);
+ return \call_user_func($this->nodeTranslators[$node->getNodeName()], $node, $this);
}
/**
throw new ExpressionErrorException(sprintf('Combiner "%s" not supported.', $combiner));
}
- return call_user_func($this->combinationTranslators[$combiner], $this->nodeToXPath($xpath), $this->nodeToXPath($combinedXpath));
+ return \call_user_func($this->combinationTranslators[$combiner], $this->nodeToXPath($xpath), $this->nodeToXPath($combinedXpath));
}
/**
- * @param XPathExpr $xpath
- * @param FunctionNode $function
- *
* @return XPathExpr
*
* @throws ExpressionErrorException
throw new ExpressionErrorException(sprintf('Function "%s" not supported.', $function->getName()));
}
- return call_user_func($this->functionTranslators[$function->getName()], $xpath, $function);
+ return \call_user_func($this->functionTranslators[$function->getName()], $xpath, $function);
}
/**
throw new ExpressionErrorException(sprintf('Pseudo-class "%s" not supported.', $pseudoClass));
}
- return call_user_func($this->pseudoClassTranslators[$pseudoClass], $xpath);
+ return \call_user_func($this->pseudoClassTranslators[$pseudoClass], $xpath);
}
/**
throw new ExpressionErrorException(sprintf('Attribute matcher operator "%s" not supported.', $operator));
}
- return call_user_func($this->attributeMatchingTranslators[$operator], $xpath, $attribute, $value);
+ return \call_user_func($this->attributeMatchingTranslators[$operator], $xpath, $attribute, $value);
}
/**