minor #3935 Simplify generated code by using named arguments (fabpot)

This PR was squashed before being merged into the 4.x branch.

Discussion
----------

Simplify generated code by using named arguments

Commits
-------

bce22e4c Use named arguments
a64561b4 Simplify code
This commit is contained in:
Fabien Potencier
2023-12-09 17:22:30 +01:00
3 changed files with 23 additions and 13 deletions
+19 -9
View File
@@ -70,17 +70,27 @@ class GetAttrExpression extends AbstractExpression
;
if ($this->hasNode('arguments')) {
$compiler->raw(', ')->subcompile($this->getNode('arguments'));
} else {
$compiler->raw(', []');
$compiler->raw(', arguments: ')->subcompile($this->getNode('arguments'));
}
$compiler->raw(', ')
->repr($this->getAttribute('type'))
->raw(', ')->repr($this->getAttribute('is_defined_test'))
->raw(', ')->repr($this->getAttribute('ignore_strict_check'))
->raw(', ')->repr($env->hasExtension(SandboxExtension::class))
->raw(', ')->repr($this->getNode('node')->getTemplateLine())
if (Template::ANY_CALL !== $type = $this->getAttribute('type')) {
$compiler->raw(', type: ')->repr($type);
}
if ($this->getAttribute('is_defined_test')) {
$compiler->raw(', isDefinedTest: true');
}
if ($this->getAttribute('ignore_strict_check')) {
$compiler->raw(', ignoreStrictCheck: true');
}
if ($env->hasExtension(SandboxExtension::class)) {
$compiler->raw(', sandboxed: true');
}
$compiler
->raw(', lineno: ')->repr($this->getNode('node')->getTemplateLine())
->raw(')')
;
}
+2 -2
View File
@@ -11,6 +11,7 @@
namespace Twig\Test;
use PHPUnit\Framework\Constraint\Exception;
use PHPUnit\Framework\TestCase;
use Twig\Environment;
use Twig\Error\Error;
@@ -235,8 +236,7 @@ abstract class IntegrationTestCase extends TestCase
if (false !== $exception) {
[$class] = explode(':', $exception);
$constraintClass = class_exists('PHPUnit\Framework\Constraint\Exception') ? 'PHPUnit\Framework\Constraint\Exception' : 'PHPUnit_Framework_Constraint_Exception';
$this->assertThat(null, new $constraintClass($class));
$this->assertThat(null, new Exception($class));
}
$expected = trim($match[3], "\n ");
+2 -2
View File
@@ -43,7 +43,7 @@ class GetAttrTest extends NodeTestCase
$attr = new ConstantExpression('bar', 1);
$args = new ArrayExpression([], 1);
$node = new GetAttrExpression($expr, $attr, $args, Template::ANY_CALL, 1);
$tests[] = [$node, sprintf('%s%s, "bar", [], "any", false, false, false, 1)', $this->getAttributeGetter(), $this->getVariableGetter('foo', 1))];
$tests[] = [$node, sprintf('%s%s, "bar", arguments: [], lineno: 1)', $this->getAttributeGetter(), $this->getVariableGetter('foo', 1))];
$node = new GetAttrExpression($expr, $attr, $args, Template::ARRAY_CALL, 1);
$tests[] = [$node, '(($__internal_%s = // line 1'."\n".
@@ -53,7 +53,7 @@ class GetAttrTest extends NodeTestCase
$args->addElement(new NameExpression('foo', 1));
$args->addElement(new ConstantExpression('bar', 1));
$node = new GetAttrExpression($expr, $attr, $args, Template::METHOD_CALL, 1);
$tests[] = [$node, sprintf('%s%s, "bar", [%s, "bar"], "method", false, false, false, 1)', $this->getAttributeGetter(), $this->getVariableGetter('foo', 1), $this->getVariableGetter('foo'))];
$tests[] = [$node, sprintf('%s%s, "bar", arguments: [%s, "bar"], type: "method", lineno: 1)', $this->getAttributeGetter(), $this->getVariableGetter('foo', 1), $this->getVariableGetter('foo'))];
return $tests;
}