summaryrefslogtreecommitdiff
path: root/inc/lib/Twig/Node/Expression/Function.php
diff options
context:
space:
mode:
authorBenjamin Southall <applemansigloo@gmail.com>2019-02-26 10:11:12 +1000
committerBenjamin Southall <applemansigloo@gmail.com>2019-02-26 10:11:12 +1000
commitf79395851b044689567e0e6c9504acbcaa742782 (patch)
treeee539aee9ffa90e8accd6f130b30a8ebed7a232e /inc/lib/Twig/Node/Expression/Function.php
parent28f32baf0125ca5085266e73dc5071e5814d8e3b (diff)
Twig update to latest Twig 1.x legacy as per vichan
Diffstat (limited to 'inc/lib/Twig/Node/Expression/Function.php')
-rw-r--r--inc/lib/Twig/Node/Expression/Function.php16
1 files changed, 13 insertions, 3 deletions
diff --git a/inc/lib/Twig/Node/Expression/Function.php b/inc/lib/Twig/Node/Expression/Function.php
index 3e1f6b55..cdee7c97 100644
--- a/inc/lib/Twig/Node/Expression/Function.php
+++ b/inc/lib/Twig/Node/Expression/Function.php
@@ -3,7 +3,7 @@
/*
* This file is part of Twig.
*
- * (c) 2010 Fabien Potencier
+ * (c) Fabien Potencier
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
@@ -12,7 +12,7 @@ class Twig_Node_Expression_Function extends Twig_Node_Expression_Call
{
public function __construct($name, Twig_NodeInterface $arguments, $lineno)
{
- parent::__construct(array('arguments' => $arguments), array('name' => $name), $lineno);
+ parent::__construct(array('arguments' => $arguments), array('name' => $name, 'is_defined_test' => false), $lineno);
}
public function compile(Twig_Compiler $compiler)
@@ -27,9 +27,19 @@ class Twig_Node_Expression_Function extends Twig_Node_Expression_Call
$this->setAttribute('needs_context', $function->needsContext());
$this->setAttribute('arguments', $function->getArguments());
if ($function instanceof Twig_FunctionCallableInterface || $function instanceof Twig_SimpleFunction) {
- $this->setAttribute('callable', $function->getCallable());
+ $callable = $function->getCallable();
+ if ('constant' === $name && $this->getAttribute('is_defined_test')) {
+ $callable = 'twig_constant_is_defined';
+ }
+
+ $this->setAttribute('callable', $callable);
+ }
+ if ($function instanceof Twig_SimpleFunction) {
+ $this->setAttribute('is_variadic', $function->isVariadic());
}
$this->compileCallable($compiler);
}
}
+
+class_alias('Twig_Node_Expression_Function', 'Twig\Node\Expression\FunctionExpression', false);