Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feature #1753 added a base node visitor to make compat between 1.x an…
…d 2.x possible (fabpot) This PR was merged into the 1.x branch. Discussion ---------- added a base node visitor to make compat between 1.x and 2.x possible As suggested in #1644, that allows better compat between 1.x and 2.x Commits ------- 881fb63 added a base node visitor to make compat between 1.x and 2.x possible 3f521d4 bumped to 1.20
- Loading branch information
Showing
11 changed files
with
109 additions
and
44 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -36,7 +36,7 @@ | |
}, | ||
"extra": { | ||
"branch-alias": { | ||
"dev-master": "1.19-dev" | ||
"dev-master": "1.20-dev" | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
<?php | ||
|
||
/* | ||
* This file is part of Twig. | ||
* | ||
* (c) Fabien Potencier | ||
* | ||
* For the full copyright and license information, please view the LICENSE | ||
* file that was distributed with this source code. | ||
*/ | ||
|
||
/** | ||
* Twig_BaseNodeVisitor can be used to make node visitors compatible with Twig 1.x and 2.x. | ||
* | ||
* @author Fabien Potencier <fabien@symfony.com> | ||
*/ | ||
abstract class Twig_BaseNodeVisitor implements Twig_NodeVisitorInterface | ||
{ | ||
/** | ||
* {@inheritdoc} | ||
*/ | ||
final public function enterNode(Twig_NodeInterface $node, Twig_Environment $env) | ||
{ | ||
if (!$node instanceof Twig_Node) { | ||
throw new LogicException('Twig_BaseNodeVisitor only supports Twig_Node instances.'); | ||
} | ||
|
||
return $this->doEnterNode($node, $env); | ||
} | ||
|
||
/** | ||
* {@inheritdoc} | ||
*/ | ||
final public function leaveNode(Twig_NodeInterface $node, Twig_Environment $env) | ||
{ | ||
if (!$node instanceof Twig_Node) { | ||
throw new LogicException('Twig_BaseNodeVisitor only supports Twig_Node instances.'); | ||
} | ||
|
||
return $this->doLeaveNode($node, $env); | ||
} | ||
|
||
/** | ||
* Called before child nodes are visited. | ||
* | ||
* @param Twig_Node $node The node to visit | ||
* @param Twig_Environment $env The Twig environment instance | ||
* | ||
* @return Twig_Node The modified node | ||
*/ | ||
abstract protected function doEnterNode(Twig_Node $node, Twig_Environment $env); | ||
|
||
/** | ||
* Called after child nodes are visited. | ||
* | ||
* @param Twig_Node $node The node to visit | ||
* @param Twig_Environment $env The Twig environment instance | ||
* | ||
* @return Twig_Node|false The modified node or false if the node must be removed | ||
*/ | ||
abstract protected function doLeaveNode(Twig_Node $node, Twig_Environment $env); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters