public function Twig_Node_Sandbox::compile

Compiles the node to PHP.

Parameters

Twig_Compiler A Twig_Compiler instance:

Overrides Twig_Node::compile

File

drupal/core/vendor/twig/twig/lib/Twig/Node/Sandbox.php, line 30

Class

Twig_Node_Sandbox
Represents a sandbox node.

Code

public function compile(Twig_Compiler $compiler) {
  $compiler
    ->addDebugInfo($this)
    ->write("\$sandbox = \$this->env->getExtension('sandbox');\n")
    ->write("if (!\$alreadySandboxed = \$sandbox->isSandboxed()) {\n")
    ->indent()
    ->write("\$sandbox->enableSandbox();\n")
    ->outdent()
    ->write("}\n")
    ->subcompile($this
    ->getNode('body'))
    ->write("if (!\$alreadySandboxed) {\n")
    ->indent()
    ->write("\$sandbox->disableSandbox();\n")
    ->outdent()
    ->write("}\n");
}