You are here

public function Twig_Node_Macro::__construct in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 vendor/twig/twig/lib/Twig/Node/Macro.php \Twig_Node_Macro::__construct()

Constructor.

The nodes are automatically made available as properties ($this->node). The attributes are automatically made available as array items ($this['name']).

Parameters

array $nodes An array of named nodes:

array $attributes An array of attributes (should not be nodes):

int $lineno The line number:

string $tag The tag name associated with the Node:

Overrides Twig_Node::__construct

File

vendor/twig/twig/lib/Twig/Node/Macro.php, line 21

Class

Twig_Node_Macro
Represents a macro node.

Code

public function __construct($name, Twig_NodeInterface $body, Twig_NodeInterface $arguments, $lineno, $tag = null) {
  foreach ($arguments as $argumentName => $argument) {
    if (self::VARARGS_NAME === $argumentName) {
      throw new Twig_Error_Syntax(sprintf('The argument "%s" in macro "%s" cannot be defined because the variable "%s" is reserved for arbitrary arguments.', self::VARARGS_NAME, $name, self::VARARGS_NAME), $argument
        ->getLine());
    }
  }
  parent::__construct(array(
    'body' => $body,
    'arguments' => $arguments,
  ), array(
    'name' => $name,
  ), $lineno, $tag);
}