bug #23073 [TwigBridge] Fix namespaced classes (ogizanagi)

This PR was merged into the 2.7 branch.

Discussion
----------

[TwigBridge] Fix namespaced classes

| Q             | A
| ------------- | ---
| Branch?       | 2.7 <!-- see comment below -->
| Bug fix?      | yes
| New feature?  | no <!-- don't forget updating src/**/CHANGELOG.md files -->
| BC breaks?    | no
| Deprecations? | no <!-- don't forget updating UPGRADE-*.md files -->
| Tests pass?   | yes
| Fixed tickets | #23072 <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | N/A

Commits
-------

a1cdc2d46e [TwigBridge] Fix namespaced classes
This commit is contained in:
Fabien Potencier 2017-06-05 19:47:47 -07:00
commit 658236b344

View File

@ -14,6 +14,7 @@ namespace Symfony\Bridge\Twig\NodeVisitor;
use Symfony\Bridge\Twig\Node\TransNode; use Symfony\Bridge\Twig\Node\TransNode;
use Symfony\Bridge\Twig\Node\TransDefaultDomainNode; use Symfony\Bridge\Twig\Node\TransDefaultDomainNode;
use Twig\Environment; use Twig\Environment;
use Twig\Node\BlockNode;
use Twig\Node\Expression\ArrayExpression; use Twig\Node\Expression\ArrayExpression;
use Twig\Node\Expression\AssignNameExpression; use Twig\Node\Expression\AssignNameExpression;
use Twig\Node\Expression\ConstantExpression; use Twig\Node\Expression\ConstantExpression;
@ -21,6 +22,7 @@ use Twig\Node\Expression\FilterExpression;
use Twig\Node\Expression\NameExpression; use Twig\Node\Expression\NameExpression;
use Twig\Node\ModuleNode; use Twig\Node\ModuleNode;
use Twig\Node\Node; use Twig\Node\Node;
use Twig\Node\SetNode;
use Twig\NodeVisitor\AbstractNodeVisitor; use Twig\NodeVisitor\AbstractNodeVisitor;
/** /**
@ -48,7 +50,7 @@ class TranslationDefaultDomainNodeVisitor extends AbstractNodeVisitor
*/ */
protected function doEnterNode(Node $node, Environment $env) protected function doEnterNode(Node $node, Environment $env)
{ {
if ($node instanceof Node_Block || $node instanceof ModuleNode) { if ($node instanceof BlockNode || $node instanceof ModuleNode) {
$this->scope = $this->scope->enter(); $this->scope = $this->scope->enter();
} }
@ -62,7 +64,7 @@ class TranslationDefaultDomainNodeVisitor extends AbstractNodeVisitor
$name = new AssignNameExpression($var, $node->getTemplateLine()); $name = new AssignNameExpression($var, $node->getTemplateLine());
$this->scope->set('domain', new NameExpression($var, $node->getTemplateLine())); $this->scope->set('domain', new NameExpression($var, $node->getTemplateLine()));
return new Node_Set(false, new Node(array($name)), new Node(array($node->getNode('expr'))), $node->getTemplateLine()); return new SetNode(false, new Node(array($name)), new Node(array($node->getNode('expr'))), $node->getTemplateLine());
} }
} }
@ -104,7 +106,7 @@ class TranslationDefaultDomainNodeVisitor extends AbstractNodeVisitor
return false; return false;
} }
if ($node instanceof Node_Block || $node instanceof ModuleNode) { if ($node instanceof BlockNode || $node instanceof ModuleNode) {
$this->scope = $this->scope->leave(); $this->scope = $this->scope->leave();
} }