} else {
throw new Twig_Error_Syntax('Expected name or number', $lineno, $this->parser->getFilename());
}
+
+ if ($node instanceof Twig_Node_Expression_Name && null !== $alias = $this->parser->getImportedSymbol('template', $node->getAttribute('name'))) {
+ if (!$arg instanceof Twig_Node_Expression_Constant) {
+ throw new Twig_Error_Syntax(sprintf('Dynamic macro names are not supported (called on "%s")', $node->getAttribute('name')), $token->getLine(), $this->parser->getFilename());
+ }
+
+ $node = new Twig_Node_Expression_MethodCall($node, 'get'.$arg->getAttribute('value'), $arguments, $lineno);
+ $node->setAttribute('safe', true);
+
+ return $node;
+ }
} else {
$type = Twig_TemplateInterface::ARRAY_CALL;
$stream->expect(Twig_Token::PUNCTUATION_TYPE, ']');
}
- if ($node instanceof Twig_Node_Expression_Name && null !== $alias = $this->parser->getImportedSymbol('template', $node->getAttribute('name'))) {
- if (!$arg instanceof Twig_Node_Expression_Constant) {
- throw new Twig_Error_Syntax(sprintf('Dynamic macro names are not supported (called on "%s")', $node->getAttribute('name')), $token->getLine(), $this->parser->getFilename());
- }
-
- $node = new Twig_Node_Expression_MethodCall($node, 'get'.$arg->getAttribute('value'), $arguments, $lineno);
- $node->setAttribute('safe', true);
-
- return $node;
- }
-
return new Twig_Node_Expression_GetAttr($node, $arg, $arguments, $type, $lineno);
}