Author: dr
Date: Tue Feb 12 17:08:55 2008
New Revision: 7351

Log:
- Clean up the code:
  - removed the elements property on node as alias for children
  - refactored visitor code to not require all methods to be implemented
  - fixed implementation of the tst walker for some nested blocks
  - removed unused ezcTemplateCachePreparation
  - fixed showing tree structure for dynamic blocks and capture.

Removed:
    trunk/Template/src/parsers/tst_to_tst/implementations/cache_preparation.php
Modified:
    trunk/Template/src/parser.php
    trunk/Template/src/parsers/source_to_tst/implementations/cache.php
    trunk/Template/src/parsers/source_to_tst/implementations/expression.php
    
trunk/Template/src/parsers/source_to_tst/implementations/expression_block.php
    
trunk/Template/src/parsers/tst_to_ast/implementations/tst_to_ast_cached_transformer.php
    
trunk/Template/src/parsers/tst_to_ast/implementations/tst_to_ast_transformer.php
    trunk/Template/src/parsers/tst_to_tst/implementations/cache_information.php
    trunk/Template/src/parsers/tst_to_tst/implementations/tst_walker.php
    trunk/Template/src/syntax_trees/tst/interfaces/tst_node.php
    trunk/Template/src/syntax_trees/tst/interfaces/tst_visitor.php
    trunk/Template/src/syntax_trees/tst/nodes/block.php
    trunk/Template/src/syntax_trees/tst/nodes/capture.php
    trunk/Template/src/syntax_trees/tst/nodes/dynamic_block.php
    trunk/Template/src/syntax_trees/tst/nodes/foreach_loop.php
    trunk/Template/src/syntax_trees/tst/nodes/modifying_block.php
    trunk/Template/src/syntax_trees/tst/nodes/output_block.php
    trunk/Template/src/syntax_trees/tst/nodes/parenthesis.php
    trunk/Template/src/syntax_trees/tst/nodes/program.php
    trunk/Template/src/syntax_trees/tst/nodes/switch.php

Modified: trunk/Template/src/parser.php
==============================================================================
--- trunk/Template/src/parser.php [iso-8859-1] (original)
+++ trunk/Template/src/parser.php [iso-8859-1] Tue Feb 12 17:08:55 2008
@@ -232,9 +232,6 @@
             $this->whitespaceRemoval->trimProgram( $parser->program );
         }
 
-        // temporary compatability
-        $parser->program->elements = $parser->program->children;
-
         return $parser->program;
     }
 

Modified: trunk/Template/src/parsers/source_to_tst/implementations/cache.php
==============================================================================
--- trunk/Template/src/parsers/source_to_tst/implementations/cache.php 
[iso-8859-1] (original)
+++ trunk/Template/src/parsers/source_to_tst/implementations/cache.php 
[iso-8859-1] Tue Feb 12 17:08:55 2008
@@ -116,7 +116,7 @@
                     {
                         throw new ezcTemplateParserException( 
$this->parser->source, $this->startCursor, $this->currentCursor, 
ezcTemplateSourceToTstErrorMessages::MSG_EXPECT_VARIABLE );
                     }
-                    $cacheNode->keys[] = $this->lastParser->elements[0];
+                    $cacheNode->keys[] = $this->lastParser->children[0];
                     $this->findNextElement( $cursor );
                 } 
                 while ( $cursor->match(",") );

Modified: 
trunk/Template/src/parsers/source_to_tst/implementations/expression.php
==============================================================================
--- trunk/Template/src/parsers/source_to_tst/implementations/expression.php 
[iso-8859-1] (original)
+++ trunk/Template/src/parsers/source_to_tst/implementations/expression.php 
[iso-8859-1] Tue Feb 12 17:08:55 2008
@@ -182,7 +182,7 @@
         $this->rootOperator = $rootOperator;
 
         // Make sure element list contains the root
-        $this->elements = array( $this->rootOperator );
+        $this->children = array( $this->rootOperator );
     }
 
     /**

Modified: 
trunk/Template/src/parsers/source_to_tst/implementations/expression_block.php
==============================================================================
--- 
trunk/Template/src/parsers/source_to_tst/implementations/expression_block.php 
[iso-8859-1] (original)
+++ 
trunk/Template/src/parsers/source_to_tst/implementations/expression_block.php 
[iso-8859-1] Tue Feb 12 17:08:55 2008
@@ -151,11 +151,11 @@
             $this->block = new ezcTemplateModifyingBlockTstNode( 
$this->parser->source, clone $this->startCursor, $cursor );
             $this->block->startBracket = $this->startBracket;
             $this->block->endBracket = $this->endBracket;
-            $this->block->elements = $oldBlock->elements;
+            $this->block->children = $oldBlock->children;
         }
 
         $this->block->expressionRoot = $rootOperator;
-        $this->block->elements = array( $rootOperator );
+        $this->block->children = array( $rootOperator );
         $this->appendElement( $this->block );
 
         return true;

Modified: 
trunk/Template/src/parsers/tst_to_ast/implementations/tst_to_ast_cached_transformer.php
==============================================================================
--- 
trunk/Template/src/parsers/tst_to_ast/implementations/tst_to_ast_cached_transformer.php
 [iso-8859-1] (original)
+++ 
trunk/Template/src/parsers/tst_to_ast/implementations/tst_to_ast_cached_transformer.php
 [iso-8859-1] Tue Feb 12 17:08:55 2008
@@ -330,7 +330,7 @@
 
     protected function insertInCache( $cb, $type )
     {
-        foreach ( $type->elements as $element )
+        foreach ( $type->children as $element )
         {
             $astNode = $element->accept( $this );
             if ( !is_array( $astNode ) )
@@ -385,10 +385,10 @@
         $this->prepareProgram(); // Program operations, nothing to do with 
caching.
         
         // Start inserting nodes, until the CacheTstNode is found.
-        $elemLen = sizeof( $type->elements);
+        $elemLen = sizeof( $type->children);
         for( $i = 0; $i < $elemLen; $i++)
         {
-            $element = $type->elements[$i];
+            $element = $type->children[$i];
             if ( $element instanceof ezcTemplateCacheTstNode )
             {
                 break;
@@ -417,10 +417,10 @@
         $newType = array();
         for ($k = $i; $k < $elemLen; $k++)
         {
-            $newType[] = $type->elements[$k];
-        }
-
-        $type->elements = $newType;
+            $newType[] = $type->children[$k];
+        }
+
+        $type->children = $newType;
         $cacheKeys = $this->translateCacheKeys($this->cacheTemplate->keys);
         $this->addCacheKeys( $this->programNode, $cacheKeys );
         $ttl = $this->translateTTL($this->cacheTemplate->ttl);
@@ -619,7 +619,7 @@
 
        
         $this->isInDynamicBlock = true;
-        $tmp = new ezcTemplateDynamicBlockAstNode( $this->createBody( 
$node->elements ) );
+        $tmp = new ezcTemplateDynamicBlockAstNode( $this->createBody( 
$node->children ) );
         $tmp->escapeSingleQuote = true;
         $newStatement[] = $tmp;
         $this->isInDynamicBlock = false;
@@ -717,6 +717,12 @@
         return $statements->statements;
     }
 
+    /**
+     * visitTranslationTstNode
+     *
+     * @param ezcTemplateTranslationTstNode $node
+     * @return ezcTemplateNopAstNode
+     */
     public function visitTranslationTstNode( ezcTemplateTranslationTstNode 
$node )
     {
         // if we're not in a cache block, call the normal (non-cached) 
TST->AST convertor

Modified: 
trunk/Template/src/parsers/tst_to_ast/implementations/tst_to_ast_transformer.php
==============================================================================
--- 
trunk/Template/src/parsers/tst_to_ast/implementations/tst_to_ast_transformer.php
 [iso-8859-1] (original)
+++ 
trunk/Template/src/parsers/tst_to_ast/implementations/tst_to_ast_transformer.php
 [iso-8859-1] Tue Feb 12 17:08:55 2008
@@ -594,7 +594,7 @@
         {
             $this->prepareProgram();
 
-            foreach ( $type->elements as $element )
+            foreach ( $type->children as $element )
             {
                 $astNode = $element->accept( $this );
                 if ( !is_array( $astNode ) )
@@ -662,7 +662,7 @@
             $result[] = $this->outputVariable->getInitializationAst();
 
             // execute all the 'children' in the custom block.
-            foreach ( $type->elements as $element )
+            foreach ( $type->children as $element )
             {
                 $r = $element->accept( $this );
                 // It could be an array :-(. Should change this one time to a 
pseudo node.
@@ -763,7 +763,7 @@
      */
     public function visitDynamicBlockTstNode( ezcTemplateDynamicBlockTstNode 
$node )
     {
-        $t = $this->createBody( $node->elements );
+        $t = $this->createBody( $node->children );
         return $t->statements; 
     }
 
@@ -775,7 +775,7 @@
      */
     public function visitCacheBlockTstNode( ezcTemplateCacheBlockTstNode $node 
)
     {
-        $t = $this->createBody( $node->elements );
+        $t = $this->createBody( $node->children );
         return $t->statements; 
     }
  
@@ -833,7 +833,7 @@
         $result[] = $this->outputVariable->getInitializationAst();
 
         // execute all the 'children' in the custom block.
-        foreach ( $node->elements as $element )
+        foreach ( $node->children as $element )
         {
             $r = $element->accept( $this );
             if ( is_array( $r ) )
@@ -1115,7 +1115,7 @@
         $limitVar = null;
 
         // Process body.
-        $body = $this->createBody( $type->elements );
+        $body = $this->createBody( $type->children );
         $astNode = array();
         $i = 0;
 
@@ -1268,7 +1268,7 @@
         $this->delimCounterVar->push( $this->getUniqueVariableName( "delim" ) 
);
         $this->delimOutputVar->push( $this->getUniqueVariableName( "delimOut" 
) );
 
-        $body = $this->createBody( $type->elements );
+        $body = $this->createBody( $type->children );
         $astNode = array();
         $i = 0;
 
@@ -2088,6 +2088,12 @@
         return $this->appendFunctionCallRecursively( $type, 
"array_fill_range", true );
     }
 
+    /**
+     * visitTranslationTstNode
+     *
+     * @param ezcTemplateTranslationTstNode $node
+     * @return ezcTemplateNopAstNode
+     */
     public function visitTranslationTstNode( ezcTemplateTranslationTstNode 
$node )
     {
         $string = $node->string->accept( $this );

Modified: 
trunk/Template/src/parsers/tst_to_tst/implementations/cache_information.php
==============================================================================
--- trunk/Template/src/parsers/tst_to_tst/implementations/cache_information.php 
[iso-8859-1] (original)
+++ trunk/Template/src/parsers/tst_to_tst/implementations/cache_information.php 
[iso-8859-1] Tue Feb 12 17:08:55 2008
@@ -23,12 +23,10 @@
     public $cacheKeys = array();
     public $hasTTL = false;
 
-
     public function __construct()
     {
         parent::__construct();
     }
-
 
     public function visitCacheTstNode( ezcTemplateCacheTstNode $node )
     {
@@ -46,16 +44,5 @@
             $this->hasTTL = true;
         }
     }
-
- 
-
-
-
-
-
-
-
 }
-
-
 ?>

Modified: trunk/Template/src/parsers/tst_to_tst/implementations/tst_walker.php
==============================================================================
--- trunk/Template/src/parsers/tst_to_tst/implementations/tst_walker.php 
[iso-8859-1] (original)
+++ trunk/Template/src/parsers/tst_to_tst/implementations/tst_walker.php 
[iso-8859-1] Tue Feb 12 17:08:55 2008
@@ -15,7 +15,7 @@
  * @version //autogen//
  * @access private
  */
-class ezcTemplateTstWalker implements ezcTemplateTstNodeVisitor
+abstract class ezcTemplateTstWalker implements ezcTemplateTstNodeVisitor
 {
     /**
      * Keeps a trace of the nodes currently entered.
@@ -39,7 +39,6 @@
      */
     protected $offset = array();
 
-
     /**
      * Constructs a ezcTemplateTstWalker
      */
@@ -48,29 +47,6 @@
     }
 
     /**
-     * visitBlockTstNode
-     *
-     * @param ezcTemplateBlockTstNode $node
-     * @return void
-     */
-    public function visitBlockTstNode( ezcTemplateBlockTstNode $node )
-    {
-        // NOT USED.
-    } 
-
-
-    /**
-     * visitCustomBlockTstNode
-     *
-     * @param ezcTemplateCustomBlockTstNode $node
-     * @return void
-     */
-    public function visitCustomBlockTstNode( ezcTemplateCustomBlockTstNode 
$node )
-    {
-    }
-
-
-    /**
      * visitProgramTstNode
      *
      * @param ezcTemplateProgramTstNode $node
@@ -79,15 +55,15 @@
     public function visitProgramTstNode( ezcTemplateProgramTstNode $node )
     {
         array_unshift( $this->nodePath, $node );
-        array_unshift( $this->statements, 0);
-        array_unshift( $this->offset, 0);
-
-        $b = clone( $node );
-
-        for( $i = 0; $i < sizeof( $b->elements ); $i++)
+        array_unshift( $this->statements, 0 );
+        array_unshift( $this->offset, 0 );
+
+        $b = clone $node;
+
+        for ( $i = 0; $i < sizeof( $b->children ); $i++ )
         {
             $this->statements[0] = $i;
-            $this->acceptAndUpdate( $b->elements[$i] );
+            $this->acceptAndUpdate( $b->children[$i] );
         }
 
         array_shift( $this->offset );
@@ -95,145 +71,6 @@
         array_shift( $this->nodePath );
     }
 
-
-    /**
-     * visitLiteralBlockTstNode
-     *
-     * @param ezcTemplateLiteralBlockTstNode $node
-     * @return void
-     */
-    public function visitLiteralBlockTstNode( ezcTemplateLiteralBlockTstNode 
$node )
-    {
-    }
-
-
-    /**
-     * visitEmptyBlockTstNode
-     *
-     * @param ezcTemplateEmptyBlockTstNode $node
-     * @return void
-     */
-    public function visitEmptyBlockTstNode( ezcTemplateEmptyBlockTstNode $node 
)
-    {
-    }
-
-
-    /**
-     * visitParenthesisTstNode
-     *
-     * @param ezcTemplateParenthesisTstNode $node
-     * @return void
-     */
-    public function visitParenthesisTstNode( ezcTemplateParenthesisTstNode 
$node )
-    {
-    }
-
-
-    /**
-     * visitOutputBlockTstNode
-     *
-     * @param ezcTemplateOutputBlockTstNode $node
-     * @return void
-     */
-    public function visitOutputBlockTstNode( ezcTemplateOutputBlockTstNode 
$node )
-    {
-        if ( $node->expressionRoot !== null)
-        {
-            $this->acceptAndUpdate( $node->expressionRoot );
-        }
-
-    }
-
-
-    /**
-     * visitModifyingBlockTstNode
-     *
-     * @param ezcTemplateModifyingBlockTstNode $node
-     * @return void
-     */
-    public function visitModifyingBlockTstNode( 
ezcTemplateModifyingBlockTstNode $node )
-    {
-        $this->acceptAndUpdate( $node->expressionRoot );
-    }
-
-
-    /**
-     * visitLiteralTstNode
-     *
-     * @param ezcTemplateLiteralTstNode $node
-     * @return void
-     */
-    public function visitLiteralTstNode( ezcTemplateLiteralTstNode $node )
-    {
-    }
-
-
-    /**
-     * visitVariableTstNode
-     *
-     * @param ezcTemplateVariableTstNode $node
-     * @return void
-     */
-    public function visitVariableTstNode( ezcTemplateVariableTstNode $node )
-    {
-    }
-
-
-    /**
-     * visitTextBlockTstNode
-     *
-     * @param ezcTemplateTextBlockTstNode $node
-     * @return void
-     */
-    public function visitTextBlockTstNode( ezcTemplateTextBlockTstNode $node )
-    {
-    }
-
-
-    /**
-     * visitFunctionCallTstNode
-     *
-     * @param ezcTemplateFunctionCallTstNode $node
-     * @return void
-     */
-    public function visitFunctionCallTstNode( ezcTemplateFunctionCallTstNode 
$node )
-    {
-    }
-
-
-    /**
-     * visitDocCommentTstNode
-     *
-     * @param ezcTemplateDocCommentTstNode $node
-     * @return void
-     */
-    public function visitDocCommentTstNode( ezcTemplateDocCommentTstNode $node 
)
-    {
-    }
-
-
-    /**
-     * visitBlockCommentTstNode
-     *
-     * @param ezcTemplateBlockCommentTstNode $node
-     * @return void
-     */
-    public function visitBlockCommentTstNode( ezcTemplateBlockCommentTstNode 
$node )
-    {
-    }
-
-
-    /**
-     * visitEolCommentTstNode
-     *
-     * @param ezcTemplateEolCommentTstNode $node
-     * @return void
-     */
-    public function visitEolCommentTstNode( ezcTemplateEolCommentTstNode $node 
)
-    {
-    }
-
-
     /**
      * visitForeachLoopTstNode
      *
@@ -242,19 +79,11 @@
      */
     public function visitForeachLoopTstNode( ezcTemplateForeachLoopTstNode 
$node )
     {
-    }
-
-
-    /**
-     * visitDelimiterTstNode
-     *
-     * @param ezcTemplateDelimiterTstNode $node
-     * @return void
-     */
-    public function visitDelimiterTstNode( ezcTemplateDelimiterTstNode $node )
-    {
-    }
-
+        foreach ( $node->children as $element )
+        {
+            $this->acceptAndUpdate( $element );
+        }
+    }
 
     /**
      * visitWhileLoopTstNode
@@ -264,8 +93,53 @@
      */
     public function visitWhileLoopTstNode( ezcTemplateWhileLoopTstNode $node )
     {
-    }
-
+        foreach ( $node->children as $element )
+        {
+            $this->acceptAndUpdate( $element );
+        }
+    }
+
+    /**
+     * visitDynamicBlockTstNode
+     *
+     * @param ezcTemplateDynamicBlockTstNode $node
+     * @return void
+     */
+    public function visitDynamicBlockTstNode( ezcTemplateDynamicBlockTstNode 
$node )
+    {
+        foreach ( $node->children as $element )
+        {
+            $this->acceptAndUpdate( $element );
+        }
+    }
+
+    /**
+     * visitSwitchTstNode
+     *
+     * @param ezcTemplateSwitchTstNode $node
+     * @return void
+     */
+    public function visitSwitchTstNode( ezcTemplateSwitchTstNode $node )
+    {
+        foreach ( $node->children as $element )
+        {
+            $this->acceptAndUpdate( $element );
+        }
+    }
+
+    /**
+     * visitCaseTstNode
+     *
+     * @param ezcTemplateCaseTstNode $node
+     * @return void
+     */
+    public function visitCaseTstNode( ezcTemplateCaseTstNode $node )
+    {
+        foreach ( $node->children as $element )
+        {
+            $this->acceptAndUpdate( $element );
+        }
+    }
 
     /**
      * visitIfConditionTstNode
@@ -275,478 +149,10 @@
      */
     public function visitIfConditionTstNode( ezcTemplateIfConditionTstNode 
$node )
     {
-    }
-
-    /**
-     * visitLoopTstNode
-     *
-     * @param ezcTemplateLoopTstNode $node
-     * @return void
-     */
-    public function visitLoopTstNode( ezcTemplateLoopTstNode $node )
-    {
-    }
-
-
-    /**
-     * visitPropertyFetchOperatorTstNode
-     *
-     * @param ezcTemplatePropertyFetchOperatorTstNode $node
-     * @return void
-     */
-    public function visitPropertyFetchOperatorTstNode( 
ezcTemplatePropertyFetchOperatorTstNode $node )
-    {
-    }
-
-
-    /**
-     * visitArrayFetchOperatorTstNode
-     *
-     * @param ezcTemplateArrayFetchOperatorTstNode $node
-     * @return void
-     */
-    public function visitArrayFetchOperatorTstNode( 
ezcTemplateArrayFetchOperatorTstNode $node )
-    {
-    }
-
-
-    /**
-     * visitPlusOperatorTstNode
-     *
-     * @param ezcTemplatePlusOperatorTstNode $node
-     * @return void
-     */
-    public function visitPlusOperatorTstNode( ezcTemplatePlusOperatorTstNode 
$node )
-    {
-    }
-
-
-    /**
-     * visitMinusOperatorTstNode
-     *
-     * @param ezcTemplateMinusOperatorTstNode $node
-     * @return void
-     */
-    public function visitMinusOperatorTstNode( ezcTemplateMinusOperatorTstNode 
$node )
-    {
-    }
-
-
-    /**
-     * visitConcatOperatorTstNode
-     *
-     * @param ezcTemplateConcatOperatorTstNode $node
-     * @return void
-     */
-    public function visitConcatOperatorTstNode( 
ezcTemplateConcatOperatorTstNode $node )
-    {
-    }
-
-
-    /**
-     * visitMultiplicationOperatorTstNode
-     *
-     * @param ezcTemplateMultiplicationOperatorTstNode $node
-     * @return void
-     */
-    public function visitMultiplicationOperatorTstNode( 
ezcTemplateMultiplicationOperatorTstNode $node )
-    {
-    }
-
-
-    /**
-     * visitDivisionOperatorTstNode
-     *
-     * @param ezcTemplateDivisionOperatorTstNode $node
-     * @return void
-     */
-    public function visitDivisionOperatorTstNode( 
ezcTemplateDivisionOperatorTstNode $node )
-    {
-    }
-
-
-    /**
-     * visitModuloOperatorTstNode
-     *
-     * @param ezcTemplateModuloOperatorTstNode $node
-     * @return void
-     */
-    public function visitModuloOperatorTstNode( 
ezcTemplateModuloOperatorTstNode $node )
-    {
-    }
-
-
-    /**
-     * visitEqualOperatorTstNode
-     *
-     * @param ezcTemplateEqualOperatorTstNode $node
-     * @return void
-     */
-    public function visitEqualOperatorTstNode( ezcTemplateEqualOperatorTstNode 
$node )
-    {
-    }
-
-
-    /**
-     * visitNotEqualOperatorTstNode
-     *
-     * @param ezcTemplateNotEqualOperatorTstNode $node
-     * @return void
-     */
-    public function visitNotEqualOperatorTstNode( 
ezcTemplateNotEqualOperatorTstNode $node )
-    {
-    }
-
-
-    /**
-     * visitIdenticalOperatorTstNode
-     *
-     * @param ezcTemplateIdenticalOperatorTstNode $node
-     * @return void
-     */
-    public function visitIdenticalOperatorTstNode( 
ezcTemplateIdenticalOperatorTstNode $node )
-    {
-    }
-
-
-    /**
-     * visitNotIdenticalOperatorTstNode
-     *
-     * @param ezcTemplateNotIdenticalOperatorTstNode $node
-     * @return void
-     */
-    public function visitNotIdenticalOperatorTstNode( 
ezcTemplateNotIdenticalOperatorTstNode $node )
-    {
-    }
-
-
-    /**
-     * visitLessThanOperatorTstNode
-     *
-     * @param ezcTemplateLessThanOperatorTstNode $node
-     * @return void
-     */
-    public function visitLessThanOperatorTstNode( 
ezcTemplateLessThanOperatorTstNode $node )
-    {
-    }
-
-
-    /**
-     * visitGreaterThanOperatorTstNode
-     *
-     * @param ezcTemplateGreaterThanOperatorTstNode $node
-     * @return void
-     */
-    public function visitGreaterThanOperatorTstNode( 
ezcTemplateGreaterThanOperatorTstNode $node )
-    {
-    }
-
-
-    /**
-     * visitLessEqualOperatorTstNode
-     *
-     * @param ezcTemplateLessEqualOperatorTstNode $node
-     * @return void
-     */
-    public function visitLessEqualOperatorTstNode( 
ezcTemplateLessEqualOperatorTstNode $node )
-    {
-    }
-
-
-    /**
-     * visitGreaterEqualOperatorTstNode
-     *
-     * @param ezcTemplateGreaterEqualOperatorTstNode $node
-     * @return void
-     */
-    public function visitGreaterEqualOperatorTstNode( 
ezcTemplateGreaterEqualOperatorTstNode $node )
-    {
-    }
-
-
-    /**
-     * visitLogicalAndOperatorTstNode
-     *
-     * @param ezcTemplateLogicalAndOperatorTstNode $node
-     * @return void
-     */
-    public function visitLogicalAndOperatorTstNode( 
ezcTemplateLogicalAndOperatorTstNode $node )
-    {
-    }
-
-
-    /**
-     * visitLogicalOrOperatorTstNode
-     *
-     * @param ezcTemplateLogicalOrOperatorTstNode $node
-     * @return void
-     */
-    public function visitLogicalOrOperatorTstNode( 
ezcTemplateLogicalOrOperatorTstNode $node )
-    {
-    }
-
-
-    /**
-     * visitAssignmentOperatorTstNode
-     *
-     * @param ezcTemplateAssignmentOperatorTstNode $node
-     * @return void
-     */
-    public function visitAssignmentOperatorTstNode( 
ezcTemplateAssignmentOperatorTstNode $node )
-    {
-    }
-
-
-    /**
-     * visitPlusAssignmentOperatorTstNode
-     *
-     * @param ezcTemplatePlusAssignmentOperatorTstNode $node
-     * @return void
-     */
-    public function visitPlusAssignmentOperatorTstNode( 
ezcTemplatePlusAssignmentOperatorTstNode $node )
-    {
-    }
-
-
-    /**
-     * visitMinusAssignmentOperatorTstNode
-     *
-     * @param ezcTemplateMinusAssignmentOperatorTstNode $node
-     * @return void
-     */
-    public function visitMinusAssignmentOperatorTstNode( 
ezcTemplateMinusAssignmentOperatorTstNode $node )
-    {
-    }
-
-
-    /**
-     * visitMultiplicationAssignmentOperatorTstNode
-     *
-     * @param ezcTemplateMultiplicationAssignmentOperatorTstNode $node
-     * @return void
-     */
-    public function visitMultiplicationAssignmentOperatorTstNode( 
ezcTemplateMultiplicationAssignmentOperatorTstNode $node )
-    {
-    }
-
-
-    /**
-     * visitDivisionAssignmentOperatorTstNode
-     *
-     * @param ezcTemplateDivisionAssignmentOperatorTstNode $node
-     * @return void
-     */
-    public function visitDivisionAssignmentOperatorTstNode( 
ezcTemplateDivisionAssignmentOperatorTstNode $node )
-    {
-    }
-
-
-    /**
-     * visitConcatAssignmentOperatorTstNode
-     *
-     * @param ezcTemplateConcatAssignmentOperatorTstNode $node
-     * @return void
-     */
-    public function visitConcatAssignmentOperatorTstNode( 
ezcTemplateConcatAssignmentOperatorTstNode $node )
-    {
-    }
-
-
-    /**
-     * visitModuloAssignmentOperatorTstNode
-     *
-     * @param ezcTemplateModuloAssignmentOperatorTstNode $node
-     * @return void
-     */
-    public function visitModuloAssignmentOperatorTstNode( 
ezcTemplateModuloAssignmentOperatorTstNode $node )
-    {
-    }
-
-
-    /**
-     * visitPreIncrementOperatorTstNode
-     *
-     * @param ezcTemplatePreIncrementOperatorTstNode $node
-     * @return void
-     */
-    public function visitPreIncrementOperatorTstNode( 
ezcTemplatePreIncrementOperatorTstNode $node )
-    {
-    }
-
-
-    /**
-     * visitPreDecrementOperatorTstNode
-     *
-     * @param ezcTemplatePreDecrementOperatorTstNode $node
-     * @return void
-     */
-    public function visitPreDecrementOperatorTstNode( 
ezcTemplatePreDecrementOperatorTstNode $node )
-    {
-    }
-
-
-    /**
-     * visitPostIncrementOperatorTstNode
-     *
-     * @param ezcTemplatePostIncrementOperatorTstNode $node
-     * @return void
-     */
-    public function visitPostIncrementOperatorTstNode( 
ezcTemplatePostIncrementOperatorTstNode $node )
-    {
-    }
-
-
-    /**
-     * visitPostDecrementOperatorTstNode
-     *
-     * @param ezcTemplatePostDecrementOperatorTstNode $node
-     * @return void
-     */
-    public function visitPostDecrementOperatorTstNode( 
ezcTemplatePostDecrementOperatorTstNode $node )
-    {
-    }
-
-
-    /**
-     * visitNegateOperatorTstNode
-     *
-     * @param ezcTemplateNegateOperatorTstNode $node
-     * @return void
-     */
-    public function visitNegateOperatorTstNode( 
ezcTemplateNegateOperatorTstNode $node )
-    {
-    }
-
-
-    /**
-     * visitLogicalNegateOperatorTstNode
-     *
-     * @param ezcTemplateLogicalNegateOperatorTstNode $node
-     * @return void
-     */
-    public function visitLogicalNegateOperatorTstNode( 
ezcTemplateLogicalNegateOperatorTstNode $node )
-    {
-    }
-
-
-    /**
-     * visitDynamicBlockTstNode
-     *
-     * @param ezcTemplateDynamicBlockTstNode $node
-     * @return void
-     */
-    public function visitDynamicBlockTstNode( ezcTemplateDynamicBlockTstNode 
$node )
-    {
-    }
-
-    /**
-     * visitCacheTstNode
-     *
-     * @param ezcTemplateCacheTstNode $node
-     * @return void
-     */
-    public function visitCacheTstNode( ezcTemplateCacheTstNode $node )
-    {
-    }
-
-    /**
-     * visitDeclarationTstNode
-     *
-     * @param ezcTemplateDeclarationTstNode $node
-     * @return void
-     */
-    public function visitDeclarationTstNode( ezcTemplateDeclarationTstNode 
$node )
-    {
-    }
-
-    /**
-     * visitCycleControlTstNode
-     *
-     * @param ezcTemplateCycleControlTstNode $node
-     * @return void
-     */
-    public function visitCycleControlTstNode( ezcTemplateCycleControlTstNode 
$node )
-    {
-    }
-    
-    /**
-     * visitIncludeTstNode
-     *
-     * @param ezcTemplateIncludeTstNode $node
-     * @return void
-     */
-    public function visitIncludeTstNode( ezcTemplateIncludeTstNode $node )
-    {
-    }
-
-    /**
-     * visitReturnTstNode
-     *
-     * @param ezcTemplateReturnTstNode $node
-     * @return void
-     */
-    public function visitReturnTstNode( ezcTemplateReturnTstNode $node )
-    {
-    }
-
-    /**
-     * visitSwitchTstNode
-     *
-     * @param ezcTemplateSwitchTstNode $node
-     * @return void
-     */
-    public function visitSwitchTstNode( ezcTemplateSwitchTstNode $node )
-    {
-        foreach ( $node->elements as $element )
-        {
-            $this->acceptAndUpdate( $element );
-        }
-    }
-
-    /**
-     * visitCaseTstNode
-     *
-     * @param ezcTemplateCaseTstNode $node
-     * @return void
-     */
-    public function visitCaseTstNode( ezcTemplateCaseTstNode $node )
-    {
-    }
-
-    /**
-     * visitLiteralArrayTstNode
-     *
-     * @param ezcTemplateLiteralArrayTstNode $node
-     * @return void
-     */
-    public function visitLiteralArrayTstNode( ezcTemplateLiteralArrayTstNode 
$node )
-    {
-    }
-
-    /**
-     * visitArrayRangeOperatorTstNode
-     *
-     * @param ezcTemplateArrayRangeOperatorTstNode $node
-     * @return void
-     */
-    /**
-     * visitArrayRangeOperatorTstNode
-     *
-     * @param ezcTemplateArrayRangeOperatorTstNode $node
-     * @return void
-     */
-    public function visitArrayRangeOperatorTstNode( 
ezcTemplateArrayRangeOperatorTstNode $node )
-    {
-    }
-
-    /**
-     * visitArrayAppendOperatorTstNode
-     *
-     * @param ezcTemplateArrayAppendOperatorTstNode $node
-     * @return void
-     */
-    public function visitArrayAppendOperatorTstNode( 
ezcTemplateArrayAppendOperatorTstNode $node )
-    {
+        foreach ( $node->children as $element )
+        {
+            $this->acceptAndUpdate( $element );
+        }
     }
 
     /**
@@ -757,8 +163,25 @@
      */
     public function visitConditionBodyTstNode( ezcTemplateConditionBodyTstNode 
$node )
     {
-    }
-
+        foreach ( $node->children as $element )
+        {
+            $this->acceptAndUpdate( $element );
+        }
+    }
+
+    /**
+     * visitCaptureTstNode
+     *
+     * @param ezcTemplateCaptureTstNode $node
+     * @return void
+     */
+    public function visitCaptureTstNode( ezcTemplateCaptureTstNode $node )
+    {
+        foreach ( $node->children as $element )
+        {
+            $this->acceptAndUpdate( $element );
+        }
+    }
 
     /**
      * visitCacheBlockTstNode
@@ -768,30 +191,11 @@
      */
     public function visitCacheBlockTstNode( ezcTemplateCacheBlockTstNode $node 
)
     {
-    }
-
-
-    /**
-     * visitTranslationTstNode
-     *
-     * @param ezcTemplateCacheBlockTstNode $node
-     * @return void
-     */
-    public function visitTranslationTstNode( ezcTemplateTranslationTstNode 
$node )
-    {
-    }
-
-
-    /**
-     * visitTranslationContextTstNode
-     *
-     * @param ezcTemplateCacheBlockTstNode $node
-     * @return void
-     */
-    public function visitTranslationContextTstNode( 
ezcTemplateTranslationContextTstNode $node )
-    {
-    }
-
+        foreach ( $node->children as $element )
+        {
+            $this->acceptAndUpdate( $element );
+        }
+    }
 
     /**
      * Calls the accept method on the given tst node. The return value
@@ -803,7 +207,10 @@
     protected function acceptAndUpdate( ezcTemplateTstNode &$node )
     {
         $ret = $node->accept( $this );
-        if ( $ret !== null ) $node = $ret;
+        if ( $ret !== null )
+        {
+            $node = $ret;
+        }
     }
 }
 ?>

Modified: trunk/Template/src/syntax_trees/tst/interfaces/tst_node.php
==============================================================================
--- trunk/Template/src/syntax_trees/tst/interfaces/tst_node.php [iso-8859-1] 
(original)
+++ trunk/Template/src/syntax_trees/tst/interfaces/tst_node.php [iso-8859-1] 
Tue Feb 12 17:08:55 2008
@@ -27,6 +27,8 @@
      */
     public $source;
 
+    public $children;
+
     /**
      * The starting point for the node specified with a cursor
      *
@@ -201,9 +203,12 @@
     {
         $class = get_class( $this );
         $visit = "visit" . substr( $class, 11 );
-
-        $res = $visitor->$visit( $this );
-        return $res;
+        if ( is_callable( array( $visitor, $visit ) ) )
+        {
+            $res = $visitor->$visit( $this );
+            return $res;
+        }
+        return $this;
     }
 }
 ?>

Modified: trunk/Template/src/syntax_trees/tst/interfaces/tst_visitor.php
==============================================================================
--- trunk/Template/src/syntax_trees/tst/interfaces/tst_visitor.php [iso-8859-1] 
(original)
+++ trunk/Template/src/syntax_trees/tst/interfaces/tst_visitor.php [iso-8859-1] 
Tue Feb 12 17:08:55 2008
@@ -17,553 +17,6 @@
  */
 interface ezcTemplateTstNodeVisitor
 {
-    /**
-     * visitBlockTstNode
-     *
-     * @param ezcTemplateBlockTstNode $node
-     * @return void
-     */
-    public function visitBlockTstNode( ezcTemplateBlockTstNode $node ); 
-
-
-    /**
-     * visitCustomBlockTstNode
-     *
-     * @param  ezcTemplateCustomBlockTstNode $node
-     * @return void
-     */
-    public function visitCustomBlockTstNode( ezcTemplateCustomBlockTstNode 
$node );
-
-
-    /**
-     * visitProgramTstNode
-     *
-     * @param ezcTemplateProgramTstNode $node
-     * @return void
-     */
-    public function visitProgramTstNode( ezcTemplateProgramTstNode $node );
-
-
-    /**
-     * visitLiteralBlockTstNode
-     *
-     * @param ezcTemplateLiteralBlockTstNode $node
-     * @return void
-     */
-    public function visitLiteralBlockTstNode( ezcTemplateLiteralBlockTstNode 
$node );
-
-
-    /**
-     * visitEmptyBlockTstNode
-     *
-     * @param ezcTemplateEmptyBlockTstNode $node
-     * @return void
-     */
-    public function visitEmptyBlockTstNode( ezcTemplateEmptyBlockTstNode $node 
);
-
-
-    /**
-     * visitParenthesisTstNode
-     *
-     * @param ezcTemplateParenthesisTstNode $node
-     * @return void
-     */
-    public function visitParenthesisTstNode( ezcTemplateParenthesisTstNode 
$node );
-
-
-    /**
-     * visitOutputBlockTstNode
-     *
-     * @param ezcTemplateOutputBlockTstNode $node
-     * @return void
-     */
-    public function visitOutputBlockTstNode( ezcTemplateOutputBlockTstNode 
$node );
-
-
-    /**
-     * visitModifyingBlockTstNode
-     *
-     * @param ezcTemplateModifyingBlockTstNode $node
-     * @return void
-     */
-    public function visitModifyingBlockTstNode( 
ezcTemplateModifyingBlockTstNode $node );
-
-
-    /**
-     * visitLiteralTstNode
-     *
-     * @param ezcTemplateLiteralTstNode $node
-     * @return void
-     */
-    public function visitLiteralTstNode( ezcTemplateLiteralTstNode $node );
-
-
-    /**
-     * visitVariableTstNode
-     *
-     * @param ezcTemplateVariableTstNode $node
-     * @return void
-     */
-    public function visitVariableTstNode( ezcTemplateVariableTstNode $node );
-
-
-    /**
-     * visitTextBlockTstNode
-     *
-     * @param ezcTemplateTextBlockTstNode $node
-     * @return void
-     */
-    public function visitTextBlockTstNode( ezcTemplateTextBlockTstNode $node );
-
-
-    /**
-     * visitFunctionCallTstNode
-     *
-     * @param ezcTemplateFunctionCallTstNode $node
-     * @return void
-     */
-    public function visitFunctionCallTstNode( ezcTemplateFunctionCallTstNode 
$node );
-
-
-    /**
-     * visitDocCommentTstNode
-     *
-     * @param ezcTemplateDocCommentTstNode $node
-     * @return void
-     */
-    public function visitDocCommentTstNode( ezcTemplateDocCommentTstNode $node 
);
-
-
-    /**
-     * visitBlockCommentTstNode
-     *
-     * @param ezcTemplateBlockCommentTstNode $node
-     * @return void
-     */
-    public function visitBlockCommentTstNode( ezcTemplateBlockCommentTstNode 
$node );
-
-
-    /**
-     * visitEolCommentTstNode
-     *
-     * @param ezcTemplateEolCommentTstNode $node
-     * @return void
-     */
-    public function visitEolCommentTstNode( ezcTemplateEolCommentTstNode $node 
);
-
-
-    /**
-     * visitForeachLoopTstNode
-     *
-     * @param ezcTemplateForeachLoopTstNode $node
-     * @return void
-     */
-    public function visitForeachLoopTstNode( ezcTemplateForeachLoopTstNode 
$node );
-
-
-    /**
-     * visitDelimiterTstNode
-     *
-     * @param ezcTemplateDelimiterTstNode $node
-     * @return void
-     */
-    public function visitDelimiterTstNode( ezcTemplateDelimiterTstNode $node );
-
-
-    /**
-     * visitWhileLoopTstNode
-     *
-     * @param ezcTemplateWhileLoopTstNode $node
-     * @return void
-     */
-    public function visitWhileLoopTstNode( ezcTemplateWhileLoopTstNode $node );
-
-
-    /**
-     * visitIfConditionTstNode
-     *
-     * @param ezcTemplateIfConditionTstNode $node
-     * @return void
-     */
-    public function visitIfConditionTstNode( ezcTemplateIfConditionTstNode 
$node );
-
-
-    /**
-     * visitConditionBodyTstNode
-     *
-     * @param ezcTemplateConditionBodyTstNode $node
-     * @return void
-     */
-    public function visitConditionBodyTstNode( ezcTemplateConditionBodyTstNode 
$node );
-
-
-    /**
-     * visitLoopTstNode
-     *
-     * @param ezcTemplateLoopTstNode $node
-     * @return void
-     */
-    public function visitLoopTstNode( ezcTemplateLoopTstNode $node );
-
-
-    /**
-     * visitPropertyFetchOperatorTstNode
-     *
-     * @param ezcTemplatePropertyFetchOperatorTstNode $node
-     * @return void
-     */
-    public function visitPropertyFetchOperatorTstNode( 
ezcTemplatePropertyFetchOperatorTstNode $node );
-
-
-    /**
-     * visitArrayFetchOperatorTstNode
-     *
-     * @param ezcTemplateArrayFetchOperatorTstNode $node
-     * @return void
-     */
-    public function visitArrayFetchOperatorTstNode( 
ezcTemplateArrayFetchOperatorTstNode $node );
-
-
-    /**
-     * visitPlusOperatorTstNode
-     *
-     * @param ezcTemplatePlusOperatorTstNode $node
-     * @return void
-     */
-    public function visitPlusOperatorTstNode( ezcTemplatePlusOperatorTstNode 
$node );
-
-
-    /**
-     * visitMinusOperatorTstNode
-     *
-     * @param ezcTemplateMinusOperatorTstNode $node
-     * @return void
-     */
-    public function visitMinusOperatorTstNode( ezcTemplateMinusOperatorTstNode 
$node );
-
-
-    /**
-     * visitConcatOperatorTstNode
-     *
-     * @param ezcTemplateConcatOperatorTstNode $node
-     * @return void
-     */
-    public function visitConcatOperatorTstNode( 
ezcTemplateConcatOperatorTstNode $node );
-
-
-    /**
-     * visitMultiplicationOperatorTstNode
-     *
-     * @param ezcTemplateMultiplicationOperatorTstNode $node
-     * @return void
-     */
-    public function visitMultiplicationOperatorTstNode( 
ezcTemplateMultiplicationOperatorTstNode $node );
-
-
-    /**
-     * visitDivisionOperatorTstNode
-     *
-     * @param ezcTemplateDivisionOperatorTstNode $node
-     * @return void
-     */
-    public function visitDivisionOperatorTstNode( 
ezcTemplateDivisionOperatorTstNode $node );
-
-
-    /**
-     * visitModuloOperatorTstNode
-     *
-     * @param ezcTemplateModuloOperatorTstNode $node
-     * @return void
-     */
-    public function visitModuloOperatorTstNode( 
ezcTemplateModuloOperatorTstNode $node );
-
-
-    /**
-     * visitEqualOperatorTstNode
-     *
-     * @param ezcTemplateEqualOperatorTstNode $node
-     * @return void
-     */
-    public function visitEqualOperatorTstNode( ezcTemplateEqualOperatorTstNode 
$node );
-
-
-    /**
-     * visitNotEqualOperatorTstNode
-     *
-     * @param ezcTemplateNotEqualOperatorTstNode $node
-     * @return void
-     */
-    public function visitNotEqualOperatorTstNode( 
ezcTemplateNotEqualOperatorTstNode $node );
-
-
-    /**
-     * visitIdenticalOperatorTstNode
-     *
-     * @param ezcTemplateIdenticalOperatorTstNode $node
-     * @return void
-     */
-    public function visitIdenticalOperatorTstNode( 
ezcTemplateIdenticalOperatorTstNode $node );
-
-
-    /**
-     * visitNotIdenticalOperatorTstNode
-     *
-     * @param ezcTemplateNotIdenticalOperatorTstNode $node
-     * @return void
-     */
-    public function visitNotIdenticalOperatorTstNode( 
ezcTemplateNotIdenticalOperatorTstNode $node );
-
-
-    /**
-     * visitLessThanOperatorTstNode
-     *
-     * @param ezcTemplateLessThanOperatorTstNode $node
-     * @return void
-     */
-    public function visitLessThanOperatorTstNode( 
ezcTemplateLessThanOperatorTstNode $node );
-
-
-    /**
-     * visitGreaterThanOperatorTstNode
-     *
-     * @param ezcTemplateGreaterThanOperatorTstNode $node
-     * @return void
-     */
-    public function visitGreaterThanOperatorTstNode( 
ezcTemplateGreaterThanOperatorTstNode $node );
-
-
-    /**
-     * visitLessEqualOperatorTstNode
-     *
-     * @param ezcTemplateLessEqualOperatorTstNode $node
-     * @return void
-     */
-    public function visitLessEqualOperatorTstNode( 
ezcTemplateLessEqualOperatorTstNode $node );
-
-
-    /**
-     * visitGreaterEqualOperatorTstNode
-     *
-     * @param ezcTemplateGreaterEqualOperatorTstNode $node
-     * @return void
-     */
-    public function visitGreaterEqualOperatorTstNode( 
ezcTemplateGreaterEqualOperatorTstNode $node );
-
-
-    /**
-     * visitLogicalAndOperatorTstNode
-     *
-     * @param ezcTemplateLogicalAndOperatorTstNode $node
-     * @return void
-     */
-    public function visitLogicalAndOperatorTstNode( 
ezcTemplateLogicalAndOperatorTstNode $node );
-
-
-    /**
-     * visitLogicalOrOperatorTstNode
-     *
-     * @param ezcTemplateLogicalOrOperatorTstNode $node
-     * @return void
-     */
-    public function visitLogicalOrOperatorTstNode( 
ezcTemplateLogicalOrOperatorTstNode $node );
-
-
-    /**
-     * visitAssignmentOperatorTstNode
-     *
-     * @param ezcTemplateAssignmentOperatorTstNode $node
-     * @return void
-     */
-    public function visitAssignmentOperatorTstNode( 
ezcTemplateAssignmentOperatorTstNode $node );
-
-
-    /**
-     * visitPlusAssignmentOperatorTstNode
-     *
-     * @param ezcTemplatePlusAssignmentOperatorTstNode $node
-     * @return void
-     */
-    public function visitPlusAssignmentOperatorTstNode( 
ezcTemplatePlusAssignmentOperatorTstNode $node );
-
-
-    /**
-     * visitMinusAssignmentOperatorTstNode
-     *
-     * @param ezcTemplateMinusAssignmentOperatorTstNode $node
-     * @return void
-     */
-    public function visitMinusAssignmentOperatorTstNode( 
ezcTemplateMinusAssignmentOperatorTstNode $node );
-
-
-    /**
-     * visitMultiplicationAssignmentOperatorTstNode
-     *
-     * @param ezcTemplateMultiplicationAssignmentOperatorTstNode $node
-     * @return void
-     */
-    public function visitMultiplicationAssignmentOperatorTstNode( 
ezcTemplateMultiplicationAssignmentOperatorTstNode $node );
-
-
-    /**
-     * visitDivisionAssignmentOperatorTstNode
-     *
-     * @param ezcTemplateDivisionAssignmentOperatorTstNode $node
-     * @return void
-     */
-    public function visitDivisionAssignmentOperatorTstNode( 
ezcTemplateDivisionAssignmentOperatorTstNode $node );
-
-
-    /**
-     * visitConcatAssignmentOperatorTstNode
-     *
-     * @param ezcTemplateConcatAssignmentOperatorTstNode $node
-     * @return void
-     */
-    public function visitConcatAssignmentOperatorTstNode( 
ezcTemplateConcatAssignmentOperatorTstNode $node );
-
-
-    /**
-     * visitModuloAssignmentOperatorTstNode
-     *
-     * @param ezcTemplateModuloAssignmentOperatorTstNode $node
-     * @return void
-     */
-    public function visitModuloAssignmentOperatorTstNode( 
ezcTemplateModuloAssignmentOperatorTstNode $node );
-
-
-    /**
-     * visitPreIncrementOperatorTstNode
-     *
-     * @param ezcTemplatePreIncrementOperatorTstNode $node
-     * @return void
-     */
-    public function visitPreIncrementOperatorTstNode( 
ezcTemplatePreIncrementOperatorTstNode $node );
-
-
-    /**
-     * visitPreDecrementOperatorTstNode
-     *
-     * @param ezcTemplatePreDecrementOperatorTstNode $node
-     * @return void
-     */
-    public function visitPreDecrementOperatorTstNode( 
ezcTemplatePreDecrementOperatorTstNode $node );
-
-
-    /**
-     * visitPostIncrementOperatorTstNode
-     *
-     * @param ezcTemplatePostIncrementOperatorTstNode $node
-     * @return void
-     */
-    public function visitPostIncrementOperatorTstNode( 
ezcTemplatePostIncrementOperatorTstNode $node );
-
-
-    /**
-     * visitPostDecrementOperatorTstNode
-     *
-     * @param ezcTemplatePostDecrementOperatorTstNode $node
-     * @return void
-     */
-    public function visitPostDecrementOperatorTstNode( 
ezcTemplatePostDecrementOperatorTstNode $node );
-
-
-    /**
-     * visitNegateOperatorTstNode
-     *
-     * @param ezcTemplateNegateOperatorTstNode $node
-     * @return void
-     */
-    public function visitNegateOperatorTstNode( 
ezcTemplateNegateOperatorTstNode $node );
-
-
-    /**
-     * visitLogicalNegateOperatorTstNode
-     *
-     * @param ezcTemplateLogicalNegateOperatorTstNode $node
-     * @return void
-     */
-    public function visitLogicalNegateOperatorTstNode( 
ezcTemplateLogicalNegateOperatorTstNode $node );
-
-
-    /**
-     * visitDynamicBlockTstNode
-     *
-     * @param ezcTemplateDynamicBlockTstNode $node
-     * @return void
-     */
-    public function visitDynamicBlockTstNode( ezcTemplateDynamicBlockTstNode 
$node );
-
-
-    /**
-     * visitCacheTstNode
-     *
-     * @param ezcTemplateCacheTstNode $node
-     * @return void
-     */
-    public function visitCacheTstNode( ezcTemplateCacheTstNode $node);
-
-    /**
-     * visitDeclarationTstNode
-     *
-     * @param ezcTemplateDeclarationTstNode $node
-     * @return void
-     */
-    public function visitDeclarationTstNode( ezcTemplateDeclarationTstNode 
$node );
-
-    /**
-     * visitCycleControlTstNode
-     *
-     * @param ezcTemplateCycleControlTstNode $node
-     * @return void
-     */
-    public function visitCycleControlTstNode( ezcTemplateCycleControlTstNode 
$node );
-
-    /**
-     * visitIncludeTstNode
-     *
-     * @param ezcTemplateIncludeTstNode $node
-     * @return void
-     */
-    public function visitIncludeTstNode( ezcTemplateIncludeTstNode $node );
-
-    /**
-     * visitReturnTstNode
-     *
-     * @param ezcTemplateReturnTstNode $node
-     * @return void
-     */
-    public function visitReturnTstNode( ezcTemplateReturnTstNode $node );
-
-    /**
-     * visitSwitchTstNode
-     *
-     * @param ezcTemplateSwitchTstNode $node
-     * @return void
-     */
-    public function visitSwitchTstNode( ezcTemplateSwitchTstNode $node );
-
-    /**
-     * visitCaseTstNode
-     *
-     * @param ezcTemplateCaseTstNode $node
-     * @return void
-     */
-    public function visitCaseTstNode( ezcTemplateCaseTstNode $node );
-
-    /**
-     * visitLiteralArrayTstNode
-     *
-     * @param ezcTemplateLiteralArrayTstNode $node
-     * @return void
-     */
-    public function visitLiteralArrayTstNode( ezcTemplateLiteralArrayTstNode 
$node );
-
-    /**
-     * visitArrayRangeOperatorTstNode
-     *
-     * @param ezcTemplateArrayRangeOperatorTstNode $node
-     * @return void
-     */
-    public function visitArrayRangeOperatorTstNode( 
ezcTemplateArrayRangeOperatorTstNode $node );
+    public function visitProgramTstNode( ezcTemplateProgramTstNode $type );
 }
 ?>

Modified: trunk/Template/src/syntax_trees/tst/nodes/block.php
==============================================================================
--- trunk/Template/src/syntax_trees/tst/nodes/block.php [iso-8859-1] (original)
+++ trunk/Template/src/syntax_trees/tst/nodes/block.php [iso-8859-1] Tue Feb 12 
17:08:55 2008
@@ -26,14 +26,6 @@
     public $children;
 
     /**
-     * Array of all child elements.
-     * Note: Temporary compatability with $children
-     *
-     * @var array
-     */
-    public $elements;
-
-    /**
      * Is true if this block is a closing block (ie. {/...}), false otherwise.
      * @var bool
      */
@@ -92,7 +84,6 @@
     {
         parent::__construct( $source, $start, $end );
         $this->children = array();
-        $this->elements = array();
         $this->isClosingBlock = false;
         $this->parentBlock = null;
         $this->closingCursor = null;
@@ -292,9 +283,6 @@
 
 
         $this->children[] = $element;
-
-        // temporary compatability
-        $this->elements = $this->children;
 
         return true;
 

Modified: trunk/Template/src/syntax_trees/tst/nodes/capture.php
==============================================================================
--- trunk/Template/src/syntax_trees/tst/nodes/capture.php [iso-8859-1] 
(original)
+++ trunk/Template/src/syntax_trees/tst/nodes/capture.php [iso-8859-1] Tue Feb 
12 17:08:55 2008
@@ -31,7 +31,8 @@
 
     public function getTreeProperties()
     {
-        return array( 'variable'  => $this->variable);
+        return array( 'variable'  => $this->variable,
+                      'children'  => $this->children );
     }
     
 }

Modified: trunk/Template/src/syntax_trees/tst/nodes/dynamic_block.php
==============================================================================
--- trunk/Template/src/syntax_trees/tst/nodes/dynamic_block.php [iso-8859-1] 
(original)
+++ trunk/Template/src/syntax_trees/tst/nodes/dynamic_block.php [iso-8859-1] 
Tue Feb 12 17:08:55 2008
@@ -31,7 +31,7 @@
 
     public function getTreeProperties()
     {
-        return array( );
+        return array( 'children' => $this->children );
     }
 
     /**

Modified: trunk/Template/src/syntax_trees/tst/nodes/foreach_loop.php
==============================================================================
--- trunk/Template/src/syntax_trees/tst/nodes/foreach_loop.php [iso-8859-1] 
(original)
+++ trunk/Template/src/syntax_trees/tst/nodes/foreach_loop.php [iso-8859-1] Tue 
Feb 12 17:08:55 2008
@@ -134,10 +134,6 @@
     {
         // Also accept the Delimiter TSTNode.
         $this->children[] = $element;
-
-        // temporary compatability
-        $this->elements = $this->children;
-
     }
 }
 ?>

Modified: trunk/Template/src/syntax_trees/tst/nodes/modifying_block.php
==============================================================================
--- trunk/Template/src/syntax_trees/tst/nodes/modifying_block.php [iso-8859-1] 
(original)
+++ trunk/Template/src/syntax_trees/tst/nodes/modifying_block.php [iso-8859-1] 
Tue Feb 12 17:08:55 2008
@@ -28,14 +28,6 @@
      * @var string
      */
     public $endBracket;
-
-    /**
-     * Array of all child elements.
-     * Note: Temporary compatability with $children
-     *
-     * @var array
-     */
-    public $elements;
 
     /**
      * The node starting the modifying expression.

Modified: trunk/Template/src/syntax_trees/tst/nodes/output_block.php
==============================================================================
--- trunk/Template/src/syntax_trees/tst/nodes/output_block.php [iso-8859-1] 
(original)
+++ trunk/Template/src/syntax_trees/tst/nodes/output_block.php [iso-8859-1] Tue 
Feb 12 17:08:55 2008
@@ -34,14 +34,6 @@
      * @var string
      */
     public $endBracket;
-
-    /**
-     * Array of all child elements.
-     * Note: Temporary compatability with $children
-     *
-     * @var array
-     */
-    public $elements;
 
     /**
      * The node starting the output expression.

Modified: trunk/Template/src/syntax_trees/tst/nodes/parenthesis.php
==============================================================================
--- trunk/Template/src/syntax_trees/tst/nodes/parenthesis.php [iso-8859-1] 
(original)
+++ trunk/Template/src/syntax_trees/tst/nodes/parenthesis.php [iso-8859-1] Tue 
Feb 12 17:08:55 2008
@@ -32,14 +32,6 @@
     public $endBracket;
 
     /**
-     * Array of all child elements.
-     * Note: Temporary compatability with $children
-     *
-     * @var array
-     */
-    public $elements;
-
-    /**
      * The root of the parsed parenthesis expression.
      */
     public $expressionRoot;

Modified: trunk/Template/src/syntax_trees/tst/nodes/program.php
==============================================================================
--- trunk/Template/src/syntax_trees/tst/nodes/program.php [iso-8859-1] 
(original)
+++ trunk/Template/src/syntax_trees/tst/nodes/program.php [iso-8859-1] Tue Feb 
12 17:08:55 2008
@@ -17,13 +17,6 @@
  */
 class ezcTemplateProgramTstNode extends ezcTemplateBlockTstNode
 {
-    /**
-     * Array of all elements.
-     *
-     * @var array
-     */
-    public $elements;
-
     /**
      */
     public function __construct( ezcTemplateSourceCode $source, 
/*ezcTemplateCursor*/ $start, /*ezcTemplateCursor*/ $end )

Modified: trunk/Template/src/syntax_trees/tst/nodes/switch.php
==============================================================================
--- trunk/Template/src/syntax_trees/tst/nodes/switch.php [iso-8859-1] (original)
+++ trunk/Template/src/syntax_trees/tst/nodes/switch.php [iso-8859-1] Tue Feb 
12 17:08:55 2008
@@ -60,7 +60,6 @@
             }
 
             $this->children[] = $element;
-            $this->elements = $this->children;
             return true;
 
 


-- 
svn-components mailing list
svn-components@lists.ez.no
http://lists.ez.no/mailman/listinfo/svn-components

Reply via email to