protected function Twig_NodeVisitor_Escaper::preEscapeFilterNode

1 call to Twig_NodeVisitor_Escaper::preEscapeFilterNode()
Twig_NodeVisitor_Escaper::leaveNode in drupal/core/vendor/twig/twig/lib/Twig/NodeVisitor/Escaper.php
Called after child nodes are visited.

File

drupal/core/vendor/twig/twig/lib/Twig/NodeVisitor/Escaper.php, line 101

Class

Twig_NodeVisitor_Escaper
Twig_NodeVisitor_Escaper implements output escaping.

Code

protected function preEscapeFilterNode(Twig_Node_Expression_Filter $filter, Twig_Environment $env) {
  $name = $filter
    ->getNode('filter')
    ->getAttribute('value');
  if (false !== ($f = $env
    ->getFilter($name))) {
    $type = $f
      ->getPreEscape();
    if (null === $type) {
      return $filter;
    }
    $node = $filter
      ->getNode('node');
    if ($this
      ->isSafeFor($type, $node, $env)) {
      return $filter;
    }
    $filter
      ->setNode('node', $this
      ->getEscaperFilter($type, $node));
    return $filter;
  }
  return $filter;
}