function MacroReferenceExpression::compile
Overrides Node::compile
File
-
vendor/
twig/ twig/ src/ Node/ Expression/ MacroReferenceExpression.php, line 29
Class
- MacroReferenceExpression
- Represents a macro call node.
Namespace
Twig\Node\ExpressionCode
public function compile(Compiler $compiler) : void {
if ($this->getAttribute('is_defined_test')) {
$compiler->subcompile($this->getNode('template'))
->raw('->hasMacro(')
->repr($this->getAttribute('name'))
->raw(', $context')
->raw(')');
return;
}
$compiler->subcompile($this->getNode('template'))
->raw('->getTemplateForMacro(')
->repr($this->getAttribute('name'))
->raw(', $context, ')
->repr($this->getTemplateLine())
->raw(', $this->getSourceContext())')
->raw(\sprintf('->%s', $this->getAttribute('name')))
->raw('(...')
->subcompile($this->getNode('arguments'))
->raw(')');
}