summaryrefslogtreecommitdiff
path: root/inc/contrib/Twig/Node/Macro.php
diff options
context:
space:
mode:
authorMichael Save <savetheinternet@tinyboard.org>2012-04-09 20:52:26 +1000
committerMichael Save <savetheinternet@tinyboard.org>2012-04-09 20:52:26 +1000
commit874b8cbf002e9d8bf0ff39671e1501165016320a (patch)
tree1428acec23fef6c607e10fd355d88af31c2029ed /inc/contrib/Twig/Node/Macro.php
parent69c9a9dd452299e0e8f7335966a1d0b4036df583 (diff)
inc/contrib -> inc/lib
Diffstat (limited to 'inc/contrib/Twig/Node/Macro.php')
-rw-r--r--inc/contrib/Twig/Node/Macro.php73
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")
- ;
- }
-}