diff options
| author | Michael Save <savetheinternet@tinyboard.org> | 2012-04-09 20:52:26 +1000 |
|---|---|---|
| committer | Michael Save <savetheinternet@tinyboard.org> | 2012-04-09 20:52:26 +1000 |
| commit | 874b8cbf002e9d8bf0ff39671e1501165016320a (patch) | |
| tree | 1428acec23fef6c607e10fd355d88af31c2029ed /inc/contrib/Twig/Node/Macro.php | |
| parent | 69c9a9dd452299e0e8f7335966a1d0b4036df583 (diff) | |
inc/contrib -> inc/lib
Diffstat (limited to 'inc/contrib/Twig/Node/Macro.php')
| -rw-r--r-- | inc/contrib/Twig/Node/Macro.php | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/inc/contrib/Twig/Node/Macro.php b/inc/contrib/Twig/Node/Macro.php deleted file mode 100644 index 9f95570f..00000000 --- a/inc/contrib/Twig/Node/Macro.php +++ /dev/null @@ -1,73 +0,0 @@ -<?php - -/* - * This file is part of Twig. - * - * (c) 2009 Fabien Potencier - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Represents a macro node. - * - * @package twig - * @author Fabien Potencier <fabien@symfony.com> - */ -class Twig_Node_Macro extends Twig_Node -{ - public function __construct($name, Twig_NodeInterface $body, Twig_NodeInterface $arguments, $lineno, $tag = null) - { - parent::__construct(array('body' => $body, 'arguments' => $arguments), array('name' => $name), $lineno, $tag); - } - - /** - * Compiles the node to PHP. - * - * @param Twig_Compiler A Twig_Compiler instance - */ - public function compile(Twig_Compiler $compiler) - { - $arguments = array(); - foreach ($this->getNode('arguments') as $argument) { - $arguments[] = '$'.$argument->getAttribute('name').' = null'; - } - - $compiler - ->addDebugInfo($this) - ->write(sprintf("public function get%s(%s)\n", $this->getAttribute('name'), implode(', ', $arguments)), "{\n") - ->indent() - ->write("\$context = array_merge(\$this->env->getGlobals(), array(\n") - ->indent() - ; - - foreach ($this->getNode('arguments') as $argument) { - $compiler - ->write('') - ->string($argument->getAttribute('name')) - ->raw(' => $'.$argument->getAttribute('name')) - ->raw(",\n") - ; - } - - $compiler - ->outdent() - ->write("));\n\n") - ->write("ob_start();\n") - ->write("try {\n") - ->indent() - ->subcompile($this->getNode('body')) - ->outdent() - ->write("} catch(Exception \$e) {\n") - ->indent() - ->write("ob_end_clean();\n\n") - ->write("throw \$e;\n") - ->outdent() - ->write("}\n\n") - ->write("return ob_get_clean();\n") - ->outdent() - ->write("}\n\n") - ; - } -} |
