Remove hack to inline throwing an exception

This commit is contained in:
Fabien Potencier
2020-12-28 11:46:46 +01:00
parent 3d5ad9ac51
commit 583d7b2d2c
2 changed files with 3 additions and 3 deletions
+2 -2
View File
@@ -66,11 +66,11 @@ class NameExpression extends AbstractExpression
->string($name)
->raw(', $context) ? $context[')
->string($name)
->raw('] : (function () { throw new RuntimeError(\'Variable ')
->raw('] : throw new RuntimeError(\'Variable ')
->string($name)
->raw(' does not exist.\', ')
->repr($this->lineno)
->raw(', $this->source); })()')
->raw(', $this->source)')
->raw(')')
;
}
+1 -1
View File
@@ -34,7 +34,7 @@ class NameTest extends NodeTestCase
$env = new Environment($this->createMock(LoaderInterface::class), ['strict_variables' => true]);
$env1 = new Environment($this->createMock(LoaderInterface::class), ['strict_variables' => false]);
$output = '(isset($context["foo"]) || array_key_exists("foo", $context) ? $context["foo"] : (function () { throw new RuntimeError(\'Variable "foo" does not exist.\', 1, $this->source); })())';
$output = '(isset($context["foo"]) || array_key_exists("foo", $context) ? $context["foo"] : throw new RuntimeError(\'Variable "foo" does not exist.\', 1, $this->source))';
return [
[$node, "// line 1\n".$output, $env],