Xu Pengcheng created JEXL-403:
---------------------------------

             Summary: Failed while evaluating template in loop.
                 Key: JEXL-403
                 URL: https://issues.apache.org/jira/browse/JEXL-403
             Project: Commons JEXL
          Issue Type: Bug
    Affects Versions: 3.3
            Reporter: Xu Pengcheng


code:
{code:java}
var a = {'a': 1};
var list = [a, a];
let map1 = {:};
for (var item : list) {
  map1[`${item.a}`] = 1;
} {code}
The fist iteration is ok, but failed at the second time.

error stack
{code:java}
Caused by: java.lang.ClassCastException: class 
org.apache.commons.jexl3.internal.introspection.MapSetExecutor cannot be cast 
to class org.apache.commons.jexl3.internal.TemplateEngine$TemplateExpression 
(org.apache.commons.jexl3.internal.introspection.MapSetExecutor and 
org.apache.commons.jexl3.internal.TemplateEngine$TemplateExpression are in 
unnamed module of loader 'app')
    at 
org.apache.commons.jexl3.internal.Interpreter.visit(Interpreter.java:1909)
    at 
org.apache.commons.jexl3.parser.ASTJxltLiteral.jjtAccept(ASTJxltLiteral.java:54)
    at 
org.apache.commons.jexl3.internal.Interpreter.executeAssign(Interpreter.java:1558)
    at 
org.apache.commons.jexl3.internal.Interpreter.visit(Interpreter.java:1319)
    at 
org.apache.commons.jexl3.parser.ASTAssignment.jjtAccept(ASTAssignment.java:19)
    at 
org.apache.commons.jexl3.internal.Interpreter.visitBlock(Interpreter.java:615)
    at org.apache.commons.jexl3.internal.Interpreter.visit(Interpreter.java:594)
    at org.apache.commons.jexl3.parser.ASTBlock.jjtAccept(ASTBlock.java:35)
    at 
org.apache.commons.jexl3.internal.Interpreter.forIterator(Interpreter.java:700)
    at 
org.apache.commons.jexl3.internal.Interpreter.visit(Interpreter.java:639) {code}
Thanks!

 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to