mirror of
https://github.com/twigphp/Twig.git
synced 2026-10-06 03:47:04 +00:00
Handle single-node child template bodies in cleanup
This commit is contained in:
+8
-2
@@ -121,7 +121,7 @@ class Parser
|
||||
}
|
||||
|
||||
if ($this->parent) {
|
||||
$this->cleanupBodyForChildTemplates($body);
|
||||
$body = $this->cleanupBodyForChildTemplates($body);
|
||||
}
|
||||
|
||||
$node = new ModuleNode(
|
||||
@@ -552,8 +552,12 @@ class Parser
|
||||
return $test;
|
||||
}
|
||||
|
||||
private function cleanupBodyForChildTemplates(Node $body): void
|
||||
private function cleanupBodyForChildTemplates(Node $body): Node
|
||||
{
|
||||
if ($body instanceof BlockReferenceNode || ($body instanceof TextNode && $body->isBlank())) {
|
||||
return new EmptyNode();
|
||||
}
|
||||
|
||||
foreach ($body as $k => $node) {
|
||||
if ($node instanceof BlockReferenceNode) {
|
||||
// as it has a parent, the block reference won't be used
|
||||
@@ -563,6 +567,8 @@ class Parser
|
||||
$body->removeNode($k);
|
||||
}
|
||||
}
|
||||
|
||||
return $body;
|
||||
}
|
||||
|
||||
private function checkPrecedenceDeprecations(ExpressionParserInterface $expressionParser, AbstractExpression $expr)
|
||||
|
||||
Reference in New Issue
Block a user