public function Twig_Node_Macro::__construct in Zircon Profile 8
Same name and namespace in other branches
- 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);
}