You are here

protected function Twig_ExpressionParser::getFilterNodeClass in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 vendor/twig/twig/lib/Twig/ExpressionParser.php \Twig_ExpressionParser::getFilterNodeClass()
2 calls to Twig_ExpressionParser::getFilterNodeClass()
Twig_ExpressionParser::parseFilterExpressionRaw in vendor/twig/twig/lib/Twig/ExpressionParser.php
Twig_ExpressionParser::parseSubscriptExpression in vendor/twig/twig/lib/Twig/ExpressionParser.php

File

vendor/twig/twig/lib/Twig/ExpressionParser.php, line 596

Class

Twig_ExpressionParser
Parses expressions.

Code

protected function getFilterNodeClass($name, $line) {
  $env = $this->parser
    ->getEnvironment();
  if (false === ($filter = $env
    ->getFilter($name))) {
    $e = new Twig_Error_Syntax(sprintf('Unknown "%s" filter.', $name), $line, $this->parser
      ->getFilename());
    $e
      ->addSuggestions($name, array_keys($env
      ->getFilters()));
    throw $e;
  }
  if ($filter instanceof Twig_SimpleFilter && $filter
    ->isDeprecated()) {
    $message = sprintf('Twig Filter "%s" is deprecated', $filter
      ->getName());
    if ($filter
      ->getAlternative()) {
      $message .= sprintf('. Use "%s" instead', $filter
        ->getAlternative());
    }
    $message .= sprintf(' in %s at line %d.', $this->parser
      ->getFilename(), $line);
    @trigger_error($message, E_USER_DEPRECATED);
  }
  if ($filter instanceof Twig_SimpleFilter) {
    return $filter
      ->getNodeClass();
  }
  return $filter instanceof Twig_Filter_Node ? $filter
    ->getClass() : 'Twig_Node_Expression_Filter';
}