From cde9e7dcd4e6a149c99005ffff3f3b23cd99db6f Mon Sep 17 00:00:00 2001 From: Fabien Potencier Date: Mon, 26 Aug 2024 09:59:54 +0200 Subject: [PATCH] Use proper node names when they are integers --- extra/cache-extra/TokenParser/CacheTokenParser.php | 4 ++-- src/Node/Expression/Filter/DefaultFilter.php | 2 +- src/Node/Expression/FunctionNode/EnumCasesFunction.php | 2 +- src/Node/Expression/Test/ConstantTest.php | 4 ++-- src/Node/Expression/Test/DivisiblebyTest.php | 2 +- src/Node/Expression/Test/SameasTest.php | 2 +- src/Node/ModuleNode.php | 2 +- src/TokenParser/ForTokenParser.php | 6 +++--- tests/ExpressionParserTest.php | 4 ++-- tests/Node/Expression/ArrayTest.php | 2 +- tests/NodeVisitor/OptimizerTest.php | 4 ++-- 11 files changed, 17 insertions(+), 17 deletions(-) diff --git a/extra/cache-extra/TokenParser/CacheTokenParser.php b/extra/cache-extra/TokenParser/CacheTokenParser.php index 97c7f8fc7..5dcf04611 100644 --- a/extra/cache-extra/TokenParser/CacheTokenParser.php +++ b/extra/cache-extra/TokenParser/CacheTokenParser.php @@ -39,13 +39,13 @@ class CacheTokenParser extends AbstractTokenParser if (1 !== \count($args)) { throw new SyntaxError(\sprintf('The "ttl" modifier takes exactly one argument (%d given).', \count($args)), $stream->getCurrent()->getLine(), $stream->getSourceContext()); } - $ttl = $args->getNode('0'); + $ttl = $args->getNode(0); break; case 'tags': if (1 !== \count($args)) { throw new SyntaxError(\sprintf('The "tags" modifier takes exactly one argument (%d given).', \count($args)), $stream->getCurrent()->getLine(), $stream->getSourceContext()); } - $tags = $args->getNode('0'); + $tags = $args->getNode(0); break; default: throw new SyntaxError(\sprintf('Unknown "%s" configuration.', $k), $stream->getCurrent()->getLine(), $stream->getSourceContext()); diff --git a/src/Node/Expression/Filter/DefaultFilter.php b/src/Node/Expression/Filter/DefaultFilter.php index a3ae2c2df..706c948a8 100644 --- a/src/Node/Expression/Filter/DefaultFilter.php +++ b/src/Node/Expression/Filter/DefaultFilter.php @@ -40,7 +40,7 @@ class DefaultFilter extends FilterExpression if ('default' === $name && ($node instanceof NameExpression || $node instanceof GetAttrExpression)) { $test = new DefinedTest(clone $node, new TwigTest('defined'), new Node(), $node->getTemplateLine()); - $false = \count($arguments) ? $arguments->getNode('0') : new ConstantExpression('', $node->getTemplateLine()); + $false = \count($arguments) ? $arguments->getNode(0) : new ConstantExpression('', $node->getTemplateLine()); $node = new ConditionalExpression($test, $default, $false, $node->getTemplateLine()); } else { diff --git a/src/Node/Expression/FunctionNode/EnumCasesFunction.php b/src/Node/Expression/FunctionNode/EnumCasesFunction.php index 7e5c25ff4..c84a57972 100644 --- a/src/Node/Expression/FunctionNode/EnumCasesFunction.php +++ b/src/Node/Expression/FunctionNode/EnumCasesFunction.php @@ -15,7 +15,7 @@ class EnumCasesFunction extends FunctionExpression if ($arguments->hasNode('enum')) { $firstArgument = $arguments->getNode('enum'); } elseif ($arguments->hasNode('0')) { - $firstArgument = $arguments->getNode('0'); + $firstArgument = $arguments->getNode(0); } else { $firstArgument = null; } diff --git a/src/Node/Expression/Test/ConstantTest.php b/src/Node/Expression/Test/ConstantTest.php index 867fd0951..1ef95fbfe 100644 --- a/src/Node/Expression/Test/ConstantTest.php +++ b/src/Node/Expression/Test/ConstantTest.php @@ -36,13 +36,13 @@ class ConstantTest extends TestExpression if ($this->getNode('arguments')->hasNode('1')) { $compiler ->raw('get_class(') - ->subcompile($this->getNode('arguments')->getNode('1')) + ->subcompile($this->getNode('arguments')->getNode(1)) ->raw(')."::".') ; } $compiler - ->subcompile($this->getNode('arguments')->getNode('0')) + ->subcompile($this->getNode('arguments')->getNode(0)) ->raw('))') ; } diff --git a/src/Node/Expression/Test/DivisiblebyTest.php b/src/Node/Expression/Test/DivisiblebyTest.php index 90d58a49a..4cb3ee096 100644 --- a/src/Node/Expression/Test/DivisiblebyTest.php +++ b/src/Node/Expression/Test/DivisiblebyTest.php @@ -29,7 +29,7 @@ class DivisiblebyTest extends TestExpression ->raw('(0 == ') ->subcompile($this->getNode('node')) ->raw(' % ') - ->subcompile($this->getNode('arguments')->getNode('0')) + ->subcompile($this->getNode('arguments')->getNode(0)) ->raw(')') ; } diff --git a/src/Node/Expression/Test/SameasTest.php b/src/Node/Expression/Test/SameasTest.php index f1e24db6f..c96d2bc01 100644 --- a/src/Node/Expression/Test/SameasTest.php +++ b/src/Node/Expression/Test/SameasTest.php @@ -27,7 +27,7 @@ class SameasTest extends TestExpression ->raw('(') ->subcompile($this->getNode('node')) ->raw(' === ') - ->subcompile($this->getNode('arguments')->getNode('0')) + ->subcompile($this->getNode('arguments')->getNode(0)) ->raw(')') ; } diff --git a/src/Node/ModuleNode.php b/src/Node/ModuleNode.php index a7de521a1..c8c15da2f 100644 --- a/src/Node/ModuleNode.php +++ b/src/Node/ModuleNode.php @@ -392,7 +392,7 @@ final class ModuleNode extends Node $traitable = !$this->hasNode('parent') && 0 === \count($this->getNode('macros')); if ($traitable) { if ($this->getNode('body') instanceof BodyNode) { - $nodes = $this->getNode('body')->getNode('0'); + $nodes = $this->getNode('body')->getNode(0); } else { $nodes = $this->getNode('body'); } diff --git a/src/TokenParser/ForTokenParser.php b/src/TokenParser/ForTokenParser.php index 00b519680..97c72c06c 100644 --- a/src/TokenParser/ForTokenParser.php +++ b/src/TokenParser/ForTokenParser.php @@ -49,12 +49,12 @@ final class ForTokenParser extends AbstractTokenParser $stream->expect(Token::BLOCK_END_TYPE); if (\count($targets) > 1) { - $keyTarget = $targets->getNode('0'); + $keyTarget = $targets->getNode(0); $keyTarget = new AssignNameExpression($keyTarget->getAttribute('name'), $keyTarget->getTemplateLine()); - $valueTarget = $targets->getNode('1'); + $valueTarget = $targets->getNode(1); } else { $keyTarget = new AssignNameExpression('_key', $lineno); - $valueTarget = $targets->getNode('0'); + $valueTarget = $targets->getNode(0); } $valueTarget = new AssignNameExpression($valueTarget->getAttribute('name'), $valueTarget->getTemplateLine()); diff --git a/tests/ExpressionParserTest.php b/tests/ExpressionParserTest.php index a1b7c3182..c5a12890f 100644 --- a/tests/ExpressionParserTest.php +++ b/tests/ExpressionParserTest.php @@ -71,7 +71,7 @@ class ExpressionParserTest extends TestCase $parser = new Parser($env); $expected->setSourceContext($source); - $this->assertEquals($expected, $parser->parse($stream)->getNode('body')->getNode('0')->getNode('expr')); + $this->assertEquals($expected, $parser->parse($stream)->getNode('body')->getNode(0)->getNode('expr')); } /** @@ -224,7 +224,7 @@ class ExpressionParserTest extends TestCase $parser = new Parser($env); $expected->setSourceContext($source); - $this->assertEquals($expected, $parser->parse($stream)->getNode('body')->getNode('0')->getNode('expr')); + $this->assertEquals($expected, $parser->parse($stream)->getNode('body')->getNode(0)->getNode('expr')); } public function getTestsForString() diff --git a/tests/Node/Expression/ArrayTest.php b/tests/Node/Expression/ArrayTest.php index f72eeab75..cfd9c67f3 100644 --- a/tests/Node/Expression/ArrayTest.php +++ b/tests/Node/Expression/ArrayTest.php @@ -22,7 +22,7 @@ class ArrayTest extends NodeTestCase $elements = [new ConstantExpression('foo', 1), $foo = new ConstantExpression('bar', 1)]; $node = new ArrayExpression($elements, 1); - $this->assertEquals($foo, $node->getNode('1')); + $this->assertEquals($foo, $node->getNode(1)); } public function getTests() diff --git a/tests/NodeVisitor/OptimizerTest.php b/tests/NodeVisitor/OptimizerTest.php index 8b7bc5362..95c8f2d09 100644 --- a/tests/NodeVisitor/OptimizerTest.php +++ b/tests/NodeVisitor/OptimizerTest.php @@ -37,7 +37,7 @@ class OptimizerTest extends TestCase $stream = $env->parse($env->tokenize(new Source('{{ block("foo") }}', 'index'))); - $node = $stream->getNode('body')->getNode('0'); + $node = $stream->getNode('body')->getNode(0); $this->assertInstanceOf(BlockReferenceExpression::class, $node); $this->assertTrue($node->getAttribute('output')); @@ -49,7 +49,7 @@ class OptimizerTest extends TestCase $stream = $env->parse($env->tokenize(new Source('{% extends "foo" %}{% block content %}{{ parent() }}{% endblock %}', 'index'))); - $node = $stream->getNode('blocks')->getNode('content')->getNode('0')->getNode('body'); + $node = $stream->getNode('blocks')->getNode('content')->getNode(0)->getNode('body'); $this->assertInstanceOf(ParentExpression::class, $node); $this->assertTrue($node->getAttribute('output'));