mirror of
https://github.com/twigphp/Twig.git
synced 2026-09-16 12:26:30 +00:00
tweaked previous merge (no need to duplicate visitors, handlers and the expression parser when parsing a template inside another one)
This commit is contained in:
+8
-4
@@ -64,17 +64,21 @@ class Twig_Parser implements Twig_ParserInterface
|
||||
{
|
||||
// push all variables into the stack to keep the current state of the parser
|
||||
$vars = get_object_vars($this);
|
||||
unset($vars['stack'], $vars['env']);
|
||||
unset($vars['stack'], $vars['env'], $vars['handlers'], $vars['visitors'], $vars['expressionParser']);
|
||||
$this->stack[] = $vars;
|
||||
|
||||
$this->tmpVarCount = 0;
|
||||
|
||||
// tag handlers
|
||||
$this->handlers = $this->env->getTokenParsers();
|
||||
$this->handlers->setParser($this);
|
||||
if (null === $this->handlers) {
|
||||
$this->handlers = $this->env->getTokenParsers();
|
||||
$this->handlers->setParser($this);
|
||||
}
|
||||
|
||||
// node visitors
|
||||
$this->visitors = $this->env->getNodeVisitors();
|
||||
if (null === $this->visitors) {
|
||||
$this->visitors = $this->env->getNodeVisitors();
|
||||
}
|
||||
|
||||
if (null === $this->expressionParser) {
|
||||
$this->expressionParser = new Twig_ExpressionParser($this, $this->env->getUnaryOperators(), $this->env->getBinaryOperators());
|
||||
|
||||
Reference in New Issue
Block a user