class Twig_Node_Expression_MethodCall

Hierarchy

Expanded class hierarchy of Twig_Node_Expression_MethodCall

File

drupal/core/vendor/twig/twig/lib/Twig/Node/Expression/MethodCall.php, line 11

View source
class Twig_Node_Expression_MethodCall extends Twig_Node_Expression {
  public function __construct(Twig_Node_Expression $node, $method, Twig_Node_Expression_Array $arguments, $lineno) {
    parent::__construct(array(
      'node' => $node,
      'arguments' => $arguments,
    ), array(
      'method' => $method,
      'safe' => false,
    ), $lineno);
    if ($node instanceof Twig_Node_Expression_Name) {
      $node
        ->setAttribute('always_defined', true);
    }
  }
  public function compile(Twig_Compiler $compiler) {
    $compiler
      ->subcompile($this
      ->getNode('node'))
      ->raw('->')
      ->raw($this
      ->getAttribute('method'))
      ->raw('(');
    $first = true;
    foreach ($this
      ->getNode('arguments')
      ->getKeyValuePairs() as $pair) {
      if (!$first) {
        $compiler
          ->raw(', ');
      }
      $first = false;
      $compiler
        ->subcompile($pair['value']);
    }
    $compiler
      ->raw(')');
  }

}

Members

Namesort descending Modifiers Type Description Overrides
Twig_Node::$attributes protected property
Twig_Node::$lineno protected property
Twig_Node::$nodes protected property
Twig_Node::$tag protected property
Twig_Node::count public function
Twig_Node::getAttribute public function Gets an attribute.
Twig_Node::getIterator public function
Twig_Node::getLine public function Overrides Twig_NodeInterface::getLine
Twig_Node::getNode public function Gets a node by name.
Twig_Node::getNodeTag public function Overrides Twig_NodeInterface::getNodeTag
Twig_Node::hasAttribute public function Returns true if the attribute is defined.
Twig_Node::hasNode public function Returns true if the node with the given identifier exists.
Twig_Node::removeAttribute public function Removes an attribute.
Twig_Node::removeNode public function Removes a node by name.
Twig_Node::setAttribute public function Sets an attribute.
Twig_Node::setNode public function Sets a node.
Twig_Node::toXml public function
Twig_Node::__toString public function
Twig_Node_Expression_MethodCall::compile public function Compiles the node to PHP. Overrides Twig_Node::compile
Twig_Node_Expression_MethodCall::__construct public function Constructor. Overrides Twig_Node::__construct