protected function Twig_ExpressionParser::getFilterNodeClass

2 calls to Twig_ExpressionParser::getFilterNodeClass()

File

drupal/core/vendor/twig/twig/lib/Twig/ExpressionParser.php, line 565

Class

Twig_ExpressionParser
Parses expressions.

Code

protected function getFilterNodeClass($name, $line) {
  $env = $this->parser
    ->getEnvironment();
  if (false === ($filter = $env
    ->getFilter($name))) {
    $message = sprintf('The filter "%s" does not exist', $name);
    if ($alternatives = $env
      ->computeAlternatives($name, array_keys($env
      ->getFilters()))) {
      $message = sprintf('%s. Did you mean "%s"', $message, implode('", "', $alternatives));
    }
    throw new Twig_Error_Syntax($message, $line, $this->parser
      ->getFilename());
  }
  if ($filter instanceof Twig_SimpleFilter) {
    return $filter
      ->getNodeClass();
  }
  return $filter instanceof Twig_Filter_Node ? $filter
    ->getClass() : 'Twig_Node_Expression_Filter';
}