mirror of
https://github.com/twigphp/Twig.git
synced 2026-11-04 01:54:55 +00:00
Resolve constant parent templates once instead of on every lookup
This commit is contained in:
+10
-9
@@ -143,17 +143,18 @@ final class ModuleNode extends Node implements CoercesChildrenToStringInterface
|
||||
;
|
||||
|
||||
if ($parent instanceof ConstantExpression) {
|
||||
$compiler->subcompile($parent);
|
||||
} else {
|
||||
$compiler
|
||||
->raw('$this->load(')
|
||||
->subcompile($parent)
|
||||
->raw(', ')
|
||||
->repr($parent->getTemplateLine())
|
||||
->raw(')')
|
||||
;
|
||||
// a constant parent never depends on the context, so resolve it once
|
||||
$compiler->raw('$this->parent ??= ');
|
||||
}
|
||||
|
||||
$compiler
|
||||
->raw('$this->load(')
|
||||
->subcompile($parent)
|
||||
->raw(', ')
|
||||
->repr($parent->getTemplateLine())
|
||||
->raw(')')
|
||||
;
|
||||
|
||||
$compiler
|
||||
->raw(";\n")
|
||||
->outdent()
|
||||
|
||||
Reference in New Issue
Block a user