Author: Raymond Bosman
Date: 2006-12-14 14:38:42 +0100 (Thu, 14 Dec 2006)
New Revision: 4285

Log:
- Fixed an issue that the return value from an include was not assigned to an 
  use variable.

Added:
   trunk/Template/tests/regression_tests/include/correct/receive_use_variable.in
   
trunk/Template/tests/regression_tests/include/correct/receive_use_variable.inc
   
trunk/Template/tests/regression_tests/include/correct/receive_use_variable.out
   
trunk/Template/tests/regression_tests/include/correct/receive_use_variable.send
Modified:
   
trunk/Template/src/parsers/tst_to_ast/implementations/tst_to_ast_transformer.php

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
    2006-12-14 13:08:24 UTC (rev 4284)
+++ 
trunk/Template/src/parsers/tst_to_ast/implementations/tst_to_ast_transformer.php
    2006-12-14 13:38:42 UTC (rev 4285)
@@ -1328,6 +1328,9 @@
             /*$this->outputVar*/ $this->outputVariable->getAst(), new 
ezcTemplateReferenceOperatorAstNode( $t , new ezcTemplateFunctionCallAstNode( 
"process", array( $type->file->accept( $this ) ) ) ) ) );
 
         $r = new ezcTemplateReferenceOperatorAstNode( $t, new 
ezcTemplateIdentifierAstNode( "receive" ) );
+
+
+        // Receive parameters
         foreach ( $type->receive as $oldName => $name )
         {
             if ( is_numeric( $oldName ) )
@@ -1335,8 +1338,18 @@
                 $oldName = $name;
             }
 
+            $symType = $this->parser->symbolTable->retrieve( $name );
+            if ( $symType == ezcTemplateSymbolTable::IMPORT) 
+            {
+                $varAst = new ezcTemplateVariableAstNode( "this->send->".$name 
);
+            }
+            else
+            {
+                $varAst = new ezcTemplateVariableAstNode( $name, true );
+            }
+      
             $ast[] = new ezcTemplateGenericStatementAstNode( new 
ezcTemplateAssignmentOperatorAstNode( 
-                        new ezcTemplateVariableAstNode( $name, true ),
+                        $varAst,
                         new ezcTemplateReferenceOperatorAstNode( $r, new 
ezcTemplateIdentifierAstNode( $oldName ) ) ) );
         }
 

Added: 
trunk/Template/tests/regression_tests/include/correct/receive_use_variable.in
===================================================================
--- 
trunk/Template/tests/regression_tests/include/correct/receive_use_variable.in   
    2006-12-14 13:08:24 UTC (rev 4284)
+++ 
trunk/Template/tests/regression_tests/include/correct/receive_use_variable.in   
    2006-12-14 13:38:42 UTC (rev 4285)
@@ -0,0 +1,7 @@
+{use $number}
+
+{include "receive_use_variable.inc" 
+       send 1 as $a, 2 as $b, 3 as $p, 4 as $q
+       receive $number}
+
+{$number}


Property changes on: 
trunk/Template/tests/regression_tests/include/correct/receive_use_variable.in
___________________________________________________________________
Name: svn:eol-style
   + native

Added: 
trunk/Template/tests/regression_tests/include/correct/receive_use_variable.inc
===================================================================
--- 
trunk/Template/tests/regression_tests/include/correct/receive_use_variable.inc  
    2006-12-14 13:08:24 UTC (rev 4284)
+++ 
trunk/Template/tests/regression_tests/include/correct/receive_use_variable.inc  
    2006-12-14 13:38:42 UTC (rev 4285)
@@ -0,0 +1,8 @@
+{use $a, $b, $p, $q}
+<{$a}>
+<{$b}>
+<{$p}>
+<{$q}>
+{$a += 10}
+[Included template]
+{return 42 as $number, $a as $t}


Property changes on: 
trunk/Template/tests/regression_tests/include/correct/receive_use_variable.inc
___________________________________________________________________
Name: svn:eol-style
   + native

Added: 
trunk/Template/tests/regression_tests/include/correct/receive_use_variable.out
===================================================================
--- 
trunk/Template/tests/regression_tests/include/correct/receive_use_variable.out  
    2006-12-14 13:08:24 UTC (rev 4284)
+++ 
trunk/Template/tests/regression_tests/include/correct/receive_use_variable.out  
    2006-12-14 13:38:42 UTC (rev 4285)
@@ -0,0 +1,8 @@
+
+<1>
+<2>
+<3>
+<4>
+[Included template]
+
+42


Property changes on: 
trunk/Template/tests/regression_tests/include/correct/receive_use_variable.out
___________________________________________________________________
Name: svn:eol-style
   + native

Added: 
trunk/Template/tests/regression_tests/include/correct/receive_use_variable.send
===================================================================
--- 
trunk/Template/tests/regression_tests/include/correct/receive_use_variable.send 
    2006-12-14 13:08:24 UTC (rev 4284)
+++ 
trunk/Template/tests/regression_tests/include/correct/receive_use_variable.send 
    2006-12-14 13:38:42 UTC (rev 4285)
@@ -0,0 +1,7 @@
+<?php
+$v = new ezcTemplateVariableCollection();
+$v->number = 22;
+
+return $v;
+
+?>


Property changes on: 
trunk/Template/tests/regression_tests/include/correct/receive_use_variable.send
___________________________________________________________________
Name: svn:eol-style
   + native

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

Reply via email to