You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@velocity.apache.org by cb...@apache.org on 2017/02/20 15:12:06 UTC

svn commit: r1783776 - in /velocity/engine/trunk/velocity-engine-core/src: main/parser/Parser.jjt test/resources/templates/array.vm test/resources/templates/compare/array.cmp

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