function SandboxNode::compile
Overrides Node::compile
File
-
vendor/
twig/ twig/ src/ Node/ SandboxNode.php, line 30
Class
- SandboxNode
- Represents a sandbox node.
Namespace
Twig\NodeCode
public function compile(Compiler $compiler) : void {
$compiler->addDebugInfo($this)
->write("if (!\$alreadySandboxed = \$this->sandbox->isSandboxed()) {\n")
->indent()
->write("\$this->sandbox->enableSandbox();\n")
->outdent()
->write("}\n")
->write("try {\n")
->indent()
->subcompile($this->getNode('body'))
->outdent()
->write("} finally {\n")
->indent()
->write("if (!\$alreadySandboxed) {\n")
->indent()
->write("\$this->sandbox->disableSandbox();\n")
->outdent()
->write("}\n")
->outdent()
->write("}\n");
}