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