Author: henrib
Date: Mon Jun 1 08:22:48 2015
New Revision: 1682833
URL: http://svn.apache.org/r1682833
Log:
JEXL:
Pragmas handling was lacking clean-up
Modified:
commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl3/parser/Parser.jjt
Modified:
commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl3/parser/Parser.jjt
URL:
http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl3/parser/Parser.jjt?rev=1682833&r1=1682832&r2=1682833&view=diff
==============================================================================
---
commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl3/parser/Parser.jjt
(original)
+++
commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl3/parser/Parser.jjt
Mon Jun 1 08:22:48 2015
@@ -52,12 +52,14 @@ public final class Parser extends JexlPa
}
// lets do the 'Unique Init' in here to be safe - it's a pain to
remember
source = jexlSrc;
+ pragmas = null;
ReInit(new java.io.StringReader(jexlSrc));
frame = scope;
ASTJexlScript script = expr? JexlExpression(scope) :
JexlScript(scope) ;
script.pragmas = pragmas != null
?
Collections.<String,Object>unmodifiableMap(pragmas)
: Collections.<String,Object>emptyMap();
+ pragmas = null;
script.value = info;
return script;
} catch (TokenMgrError xtme) {
@@ -220,7 +222,7 @@ ASTJexlScript JexlScript(Scope frame) :
jjtThis.setScope(frame);
}
{
- (LOOKAHEAD(<LCURLY> Expression() <SEMICOL>) Block() | ( Statement() )*)
<EOF>
+ ( ( Statement() )*) <EOF>
{
return jjtThis.script();
}
@@ -239,6 +241,8 @@ ASTJexlScript JexlExpression(Scope frame
void Statement() #void : {}
{
<SEMICOL>
+ | LOOKAHEAD(<LCURLY> Expression() <SEMICOL>) Block() // to diasmbiguate
the set literals
+ | LOOKAHEAD(<LCURLY> Statement() <SEMICOL>) Block() // to diasmbiguate
the set literals
| IfStatement()
| ForeachStatement()
| WhileStatement()
@@ -599,7 +603,7 @@ void MapEntry() : {}
void SetLiteral() : {}
{
- <LCURLY> (Expression() ( <COMMA> Expression() )*)? <RCURLY>
+ <LCURLY> (Expression() ( <COMMA> Expression() )*)? <RCURLY>
}
/***************************************