Author: cbrisson Date: Mon Feb 20 15:12:06 2017 New Revision: 1783776 URL: http://svn.apache.org/viewvc?rev=1783776&view=rev Log: [engine] allow expressions inside []: $foo[$bar + 1]
Modified: velocity/engine/trunk/velocity-engine-core/src/main/parser/Parser.jjt velocity/engine/trunk/velocity-engine-core/src/test/resources/templates/array.vm velocity/engine/trunk/velocity-engine-core/src/test/resources/templates/compare/array.cmp Modified: velocity/engine/trunk/velocity-engine-core/src/main/parser/Parser.jjt URL: http://svn.apache.org/viewvc/velocity/engine/trunk/velocity-engine-core/src/main/parser/Parser.jjt?rev=1783776&r1=1783775&r2=1783776&view=diff ============================================================================== --- velocity/engine/trunk/velocity-engine-core/src/main/parser/Parser.jjt (original) +++ velocity/engine/trunk/velocity-engine-core/src/main/parser/Parser.jjt Mon Feb 20 15:12:06 2017 @@ -1040,7 +1040,7 @@ TOKEN: | <FALSE: "false"> } -<DIRECTIVE,REFMOD2> +<DIRECTIVE,REFMOD2,REFINDEX> TOKEN : { <MINUS: "-"> @@ -1782,12 +1782,8 @@ void IntegerRange() : {} void IndexParameter() #void: {} { (<WHITESPACE>|<NEWLINE>)* - ( - StringLiteral() - | IntegerLiteral() - | True() - | False() - | Reference() + ( + Expression() ) (<WHITESPACE>|<NEWLINE>)* } Modified: velocity/engine/trunk/velocity-engine-core/src/test/resources/templates/array.vm URL: http://svn.apache.org/viewvc/velocity/engine/trunk/velocity-engine-core/src/test/resources/templates/array.vm?rev=1783776&r1=1783775&r2=1783776&view=diff ============================================================================== --- velocity/engine/trunk/velocity-engine-core/src/test/resources/templates/array.vm (original) +++ velocity/engine/trunk/velocity-engine-core/src/test/resources/templates/array.vm Mon Feb 20 15:12:06 2017 @@ -40,3 +40,9 @@ $p.m( [ $A.g(1), $title ]) $pp.messageFormat( [ $Abc.get($sti), $title, $ti, $sti, 'bodytext' ], $subtopicTemplate) #set ($args = [ $pp.nQuestions, $pass, $units ] ) +## expression in index + +#set($arr = [ 0, 1, 2, 3 ]) +#set($index = 1) + +$arr[$index + $index * 2] Modified: velocity/engine/trunk/velocity-engine-core/src/test/resources/templates/compare/array.cmp URL: http://svn.apache.org/viewvc/velocity/engine/trunk/velocity-engine-core/src/test/resources/templates/compare/array.cmp?rev=1783776&r1=1783775&r2=1783776&view=diff ============================================================================== --- velocity/engine/trunk/velocity-engine-core/src/test/resources/templates/compare/array.cmp (original) +++ velocity/engine/trunk/velocity-engine-core/src/test/resources/templates/compare/array.cmp Mon Feb 20 15:12:06 2017 @@ -20,3 +20,6 @@ a $p.m( [ $A.g(1), $title ]) $pp.messageFormat( [ $Abc.get($sti), $title, $ti, $sti, 'bodytext' ], $subtopicTemplate) + + +3