forked from leftypol/leftypol
upgrade twig library
This commit is contained in:
parent
01857d176a
commit
9c48084f3b
163 changed files with 275 additions and 94 deletions
0
inc/lib/Twig/Node/AutoEscape.php
Normal file → Executable file
0
inc/lib/Twig/Node/AutoEscape.php
Normal file → Executable file
0
inc/lib/Twig/Node/Block.php
Normal file → Executable file
0
inc/lib/Twig/Node/Block.php
Normal file → Executable file
0
inc/lib/Twig/Node/BlockReference.php
Normal file → Executable file
0
inc/lib/Twig/Node/BlockReference.php
Normal file → Executable file
0
inc/lib/Twig/Node/Body.php
Normal file → Executable file
0
inc/lib/Twig/Node/Body.php
Normal file → Executable file
0
inc/lib/Twig/Node/Do.php
Normal file → Executable file
0
inc/lib/Twig/Node/Do.php
Normal file → Executable file
0
inc/lib/Twig/Node/Embed.php
Normal file → Executable file
0
inc/lib/Twig/Node/Embed.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Array.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Array.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/AssignName.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/AssignName.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Binary.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Binary.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Binary/Add.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Binary/Add.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Binary/And.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Binary/And.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Binary/BitwiseAnd.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Binary/BitwiseAnd.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Binary/BitwiseOr.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Binary/BitwiseOr.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Binary/BitwiseXor.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Binary/BitwiseXor.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Binary/Concat.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Binary/Concat.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Binary/Div.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Binary/Div.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Binary/Equal.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Binary/Equal.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Binary/FloorDiv.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Binary/FloorDiv.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Binary/Greater.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Binary/Greater.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Binary/GreaterEqual.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Binary/GreaterEqual.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Binary/In.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Binary/In.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Binary/Less.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Binary/Less.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Binary/LessEqual.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Binary/LessEqual.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Binary/Mod.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Binary/Mod.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Binary/Mul.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Binary/Mul.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Binary/NotEqual.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Binary/NotEqual.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Binary/NotIn.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Binary/NotIn.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Binary/Or.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Binary/Or.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Binary/Power.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Binary/Power.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Binary/Range.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Binary/Range.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Binary/Sub.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Binary/Sub.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/BlockReference.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/BlockReference.php
Normal file → Executable file
6
inc/lib/Twig/Node/Expression/Call.php
Normal file → Executable file
6
inc/lib/Twig/Node/Expression/Call.php
Normal file → Executable file
|
@ -146,7 +146,7 @@ abstract class Twig_Node_Expression_Call extends Twig_Node_Expression
|
|||
|
||||
if (array_key_exists($name, $parameters)) {
|
||||
if (array_key_exists($pos, $parameters)) {
|
||||
throw new Twig_Error_Syntax(sprintf('Arguments "%s" is defined twice for %s "%s".', $name, $this->getAttribute('type'), $this->getAttribute('name')));
|
||||
throw new Twig_Error_Syntax(sprintf('Argument "%s" is defined twice for %s "%s".', $name, $this->getAttribute('type'), $this->getAttribute('name')));
|
||||
}
|
||||
|
||||
$arguments[] = $parameters[$name];
|
||||
|
@ -164,8 +164,8 @@ abstract class Twig_Node_Expression_Call extends Twig_Node_Expression
|
|||
}
|
||||
}
|
||||
|
||||
foreach (array_keys($parameters) as $name) {
|
||||
throw new Twig_Error_Syntax(sprintf('Unknown argument "%s" for %s "%s".', $name, $this->getAttribute('type'), $this->getAttribute('name')));
|
||||
if (!empty($parameters)) {
|
||||
throw new Twig_Error_Syntax(sprintf('Unknown argument%s "%s" for %s "%s".', count($parameters) > 1 ? 's' : '' , implode('", "', array_keys($parameters)), $this->getAttribute('type'), $this->getAttribute('name')));
|
||||
}
|
||||
|
||||
return $arguments;
|
||||
|
|
0
inc/lib/Twig/Node/Expression/Conditional.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Conditional.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Constant.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Constant.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/ExtensionReference.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/ExtensionReference.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Filter.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Filter.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Filter/Default.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Filter/Default.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Function.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Function.php
Normal file → Executable file
4
inc/lib/Twig/Node/Expression/GetAttr.php
Normal file → Executable file
4
inc/lib/Twig/Node/Expression/GetAttr.php
Normal file → Executable file
|
@ -32,10 +32,10 @@ class Twig_Node_Expression_GetAttr extends Twig_Node_Expression
|
|||
|
||||
$compiler->raw(', ')->subcompile($this->getNode('attribute'));
|
||||
|
||||
if (count($this->getNode('arguments')) || Twig_TemplateInterface::ANY_CALL !== $this->getAttribute('type') || $this->getAttribute('is_defined_test') || $this->getAttribute('ignore_strict_check')) {
|
||||
if (count($this->getNode('arguments')) || Twig_Template::ANY_CALL !== $this->getAttribute('type') || $this->getAttribute('is_defined_test') || $this->getAttribute('ignore_strict_check')) {
|
||||
$compiler->raw(', ')->subcompile($this->getNode('arguments'));
|
||||
|
||||
if (Twig_TemplateInterface::ANY_CALL !== $this->getAttribute('type') || $this->getAttribute('is_defined_test') || $this->getAttribute('ignore_strict_check')) {
|
||||
if (Twig_Template::ANY_CALL !== $this->getAttribute('type') || $this->getAttribute('is_defined_test') || $this->getAttribute('ignore_strict_check')) {
|
||||
$compiler->raw(', ')->repr($this->getAttribute('type'));
|
||||
}
|
||||
|
||||
|
|
60
inc/lib/Twig/Node/Expression/MacroCall.php
Executable file
60
inc/lib/Twig/Node/Expression/MacroCall.php
Executable file
|
@ -0,0 +1,60 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of Twig.
|
||||
*
|
||||
* (c) 2012 Fabien Potencier
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Represents a macro call node.
|
||||
*
|
||||
* @author Martin Hasoň <martin.hason@gmail.com>
|
||||
*/
|
||||
class Twig_Node_Expression_MacroCall extends Twig_Node_Expression
|
||||
{
|
||||
public function __construct(Twig_Node_Expression $template, $name, Twig_Node_Expression_Array $arguments, $lineno)
|
||||
{
|
||||
parent::__construct(array('template' => $template, 'arguments' => $arguments), array('name' => $name), $lineno);
|
||||
}
|
||||
|
||||
public function compile(Twig_Compiler $compiler)
|
||||
{
|
||||
$namedNames = array();
|
||||
$namedCount = 0;
|
||||
$positionalCount = 0;
|
||||
foreach ($this->getNode('arguments')->getKeyValuePairs() as $pair) {
|
||||
$name = $pair['key']->getAttribute('value');
|
||||
if (!is_int($name)) {
|
||||
$namedCount++;
|
||||
$namedNames[$name] = 1;
|
||||
} elseif ($namedCount > 0) {
|
||||
throw new Twig_Error_Syntax(sprintf('Positional arguments cannot be used after named arguments for macro "%s".', $this->getAttribute('name')), $this->lineno);
|
||||
} else {
|
||||
$positionalCount++;
|
||||
}
|
||||
}
|
||||
|
||||
$compiler
|
||||
->raw('$this->callMacro(')
|
||||
->subcompile($this->getNode('template'))
|
||||
->raw(', ')->repr($this->getAttribute('name'))
|
||||
->raw(', ')->subcompile($this->getNode('arguments'))
|
||||
;
|
||||
|
||||
if ($namedCount > 0) {
|
||||
$compiler
|
||||
->raw(', ')->repr($namedNames)
|
||||
->raw(', ')->repr($namedCount)
|
||||
->raw(', ')->repr($positionalCount)
|
||||
;
|
||||
}
|
||||
|
||||
$compiler
|
||||
->raw(')')
|
||||
;
|
||||
}
|
||||
}
|
0
inc/lib/Twig/Node/Expression/MethodCall.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/MethodCall.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Name.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Name.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Parent.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Parent.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/TempName.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/TempName.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Test.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Test.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Test/Constant.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Test/Constant.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Test/Defined.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Test/Defined.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Test/Divisibleby.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Test/Divisibleby.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Test/Even.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Test/Even.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Test/Null.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Test/Null.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Test/Odd.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Test/Odd.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Test/Sameas.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Test/Sameas.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Unary.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Unary.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Unary/Neg.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Unary/Neg.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Unary/Not.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Unary/Not.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Unary/Pos.php
Normal file → Executable file
0
inc/lib/Twig/Node/Expression/Unary/Pos.php
Normal file → Executable file
0
inc/lib/Twig/Node/Flush.php
Normal file → Executable file
0
inc/lib/Twig/Node/Flush.php
Normal file → Executable file
0
inc/lib/Twig/Node/For.php
Normal file → Executable file
0
inc/lib/Twig/Node/For.php
Normal file → Executable file
0
inc/lib/Twig/Node/ForLoop.php
Normal file → Executable file
0
inc/lib/Twig/Node/ForLoop.php
Normal file → Executable file
0
inc/lib/Twig/Node/If.php
Normal file → Executable file
0
inc/lib/Twig/Node/If.php
Normal file → Executable file
0
inc/lib/Twig/Node/Import.php
Normal file → Executable file
0
inc/lib/Twig/Node/Import.php
Normal file → Executable file
0
inc/lib/Twig/Node/Include.php
Normal file → Executable file
0
inc/lib/Twig/Node/Include.php
Normal file → Executable file
4
inc/lib/Twig/Node/Macro.php
Normal file → Executable file
4
inc/lib/Twig/Node/Macro.php
Normal file → Executable file
|
@ -18,7 +18,7 @@ class Twig_Node_Macro extends Twig_Node
|
|||
{
|
||||
public function __construct($name, Twig_NodeInterface $body, Twig_NodeInterface $arguments, $lineno, $tag = null)
|
||||
{
|
||||
parent::__construct(array('body' => $body, 'arguments' => $arguments), array('name' => $name), $lineno, $tag);
|
||||
parent::__construct(array('body' => $body, 'arguments' => $arguments), array('name' => $name, 'method' => 'get'.ucfirst($name)), $lineno, $tag);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -30,7 +30,7 @@ class Twig_Node_Macro extends Twig_Node
|
|||
{
|
||||
$compiler
|
||||
->addDebugInfo($this)
|
||||
->write(sprintf("public function get%s(", $this->getAttribute('name')))
|
||||
->write(sprintf("public function %s(", $this->getAttribute('method')))
|
||||
;
|
||||
|
||||
$count = count($this->getNode('arguments'));
|
||||
|
|
36
inc/lib/Twig/Node/Module.php
Normal file → Executable file
36
inc/lib/Twig/Node/Module.php
Normal file → Executable file
|
@ -235,9 +235,41 @@ class Twig_Node_Module extends Twig_Node
|
|||
|
||||
$compiler
|
||||
->outdent()
|
||||
->write(");\n")
|
||||
->write(");\n\n")
|
||||
;
|
||||
|
||||
// macro information
|
||||
$compiler
|
||||
->write("\$this->macros = array(\n")
|
||||
->indent()
|
||||
;
|
||||
|
||||
foreach ($this->getNode('macros') as $name => $node) {
|
||||
$compiler
|
||||
->addIndentation()->repr($name)->raw(" => array(\n")
|
||||
->indent()
|
||||
->write("'method' => ")->repr($node->getAttribute('method'))->raw(",\n")
|
||||
->write("'arguments' => array(\n")
|
||||
->indent()
|
||||
;
|
||||
foreach ($node->getNode('arguments') as $argument => $value) {
|
||||
$compiler->addIndentation()->repr($argument)->raw (' => ')->subcompile($value)->raw(",\n");
|
||||
}
|
||||
$compiler
|
||||
->outdent()
|
||||
->write("),\n")
|
||||
->outdent()
|
||||
->write("),\n")
|
||||
;
|
||||
}
|
||||
$compiler
|
||||
->outdent()
|
||||
->write("}\n\n");
|
||||
->write(");\n")
|
||||
;
|
||||
|
||||
$compiler
|
||||
->outdent()
|
||||
->write("}\n\n")
|
||||
;
|
||||
}
|
||||
|
||||
|
|
0
inc/lib/Twig/Node/Print.php
Normal file → Executable file
0
inc/lib/Twig/Node/Print.php
Normal file → Executable file
0
inc/lib/Twig/Node/Sandbox.php
Normal file → Executable file
0
inc/lib/Twig/Node/Sandbox.php
Normal file → Executable file
0
inc/lib/Twig/Node/SandboxedModule.php
Normal file → Executable file
0
inc/lib/Twig/Node/SandboxedModule.php
Normal file → Executable file
0
inc/lib/Twig/Node/SandboxedPrint.php
Normal file → Executable file
0
inc/lib/Twig/Node/SandboxedPrint.php
Normal file → Executable file
0
inc/lib/Twig/Node/Set.php
Normal file → Executable file
0
inc/lib/Twig/Node/Set.php
Normal file → Executable file
0
inc/lib/Twig/Node/SetTemp.php
Normal file → Executable file
0
inc/lib/Twig/Node/SetTemp.php
Normal file → Executable file
0
inc/lib/Twig/Node/Spaceless.php
Normal file → Executable file
0
inc/lib/Twig/Node/Spaceless.php
Normal file → Executable file
0
inc/lib/Twig/Node/Text.php
Normal file → Executable file
0
inc/lib/Twig/Node/Text.php
Normal file → Executable file
Loading…
Add table
Add a link
Reference in a new issue