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