public function enterNode(Node
$node, Environment
$env): Node
{ return $node;
} public function leaveNode(Node
$node, Environment
$env): ?Node
{ if ($node instanceof ModuleNode
) { $node->
setNode('display_start',
new Node([new EnterProfileNode($this->extensionName, Profile::TEMPLATE,
$node->
getTemplateName(),
$this->varName
),
$node->
getNode('display_start'
)]));
$node->
setNode('display_end',
new Node([new LeaveProfileNode($this->varName
),
$node->
getNode('display_end'
)]));
} elseif ($node instanceof BlockNode
) { $node->
setNode('body',
new BodyNode([ new EnterProfileNode($this->extensionName, Profile::BLOCK,
$node->
getAttribute('name'
),
$this->varName
),
$node->
getNode('body'
),
new LeaveProfileNode($this->varName
),
]));
} elseif ($node instanceof MacroNode
) { $node->
setNode('body',
new BodyNode([ new EnterProfileNode($this->extensionName, Profile::MACRO,
$node->
getAttribute('name'
),
$this->varName
),
$node->
getNode('body'
),
new LeaveProfileNode($this->varName
),
]));
}