This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tomcat.git

commit 8bd408fe6930dff99cdaa6ccbe8d044b3363f5a6
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Thu Sep 26 16:33:21 2024 +0100

    Update generated code for optimised "not empty" support
---
 java/org/apache/el/parser/ELParser.java            | 914 ++++++++++++---------
 .../apache/el/parser/ELParserTreeConstants.java    |  45 +-
 2 files changed, 527 insertions(+), 432 deletions(-)

diff --git a/java/org/apache/el/parser/ELParser.java 
b/java/org/apache/el/parser/ELParser.java
index 6ba979629e..963e234aec 100644
--- a/java/org/apache/el/parser/ELParser.java
+++ b/java/org/apache/el/parser/ELParser.java
@@ -1606,117 +1606,175 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
                 }
                 break;
             }
-            case NOT0:
-            case NOT1: {
-                switch ((jj_ntk == -1) ? jj_ntk_f() : jj_ntk) {
-                    case NOT0: {
-                        jj_consume_token(NOT0);
-                        break;
-                    }
-                    case NOT1: {
-                        jj_consume_token(NOT1);
-                        break;
-                    }
-                    default:
-                        jj_la1[35] = jj_gen;
-                        jj_consume_token(-1);
-                        throw new ParseException();
-                }
-                AstNot jjtn002 = new AstNot(JJTNOT);
-                boolean jjtc002 = true;
-                jjtree.openNodeScope(jjtn002);
-                try {
-                    Unary();
-                } catch (Throwable jjte002) {
-                    if (jjtc002) {
-                        jjtree.clearNodeScope(jjtn002);
-                        jjtc002 = false;
-                    } else {
-                        jjtree.popNode();
+            default:
+                jj_la1[37] = jj_gen;
+                if (jj_2_6(2)) {
+                    switch ((jj_ntk == -1) ? jj_ntk_f() : jj_ntk) {
+                        case NOT0: {
+                            jj_consume_token(NOT0);
+                            break;
+                        }
+                        case NOT1: {
+                            jj_consume_token(NOT1);
+                            break;
+                        }
+                        default:
+                            jj_la1[35] = jj_gen;
+                            jj_consume_token(-1);
+                            throw new ParseException();
                     }
-                    if (jjte002 instanceof RuntimeException) {
-                        {
-                            if (true) {
-                                throw (RuntimeException) jjte002;
+                    jj_consume_token(EMPTY);
+                    AstNotEmpty jjtn002 = new AstNotEmpty(JJTNOTEMPTY);
+                    boolean jjtc002 = true;
+                    jjtree.openNodeScope(jjtn002);
+                    try {
+                        Unary();
+                    } catch (Throwable jjte002) {
+                        if (jjtc002) {
+                            jjtree.clearNodeScope(jjtn002);
+                            jjtc002 = false;
+                        } else {
+                            jjtree.popNode();
+                        }
+                        if (jjte002 instanceof RuntimeException) {
+                            {
+                                if (true) {
+                                    throw (RuntimeException) jjte002;
+                                }
+                            }
+                        }
+                        if (jjte002 instanceof ParseException) {
+                            {
+                                if (true) {
+                                    throw (ParseException) jjte002;
+                                }
                             }
                         }
-                    }
-                    if (jjte002 instanceof ParseException) {
                         {
                             if (true) {
-                                throw (ParseException) jjte002;
+                                throw (Error) jjte002;
                             }
                         }
-                    }
-                    {
-                        if (true) {
-                            throw (Error) jjte002;
+                    } finally {
+                        if (jjtc002) {
+                            jjtree.closeNodeScope(jjtn002, true);
                         }
                     }
-                } finally {
-                    if (jjtc002) {
-                        jjtree.closeNodeScope(jjtn002, true);
-                    }
-                }
-                break;
-            }
-            case EMPTY: {
-                jj_consume_token(EMPTY);
-                AstEmpty jjtn003 = new AstEmpty(JJTEMPTY);
-                boolean jjtc003 = true;
-                jjtree.openNodeScope(jjtn003);
-                try {
-                    Unary();
-                } catch (Throwable jjte003) {
-                    if (jjtc003) {
-                        jjtree.clearNodeScope(jjtn003);
-                        jjtc003 = false;
-                    } else {
-                        jjtree.popNode();
-                    }
-                    if (jjte003 instanceof RuntimeException) {
-                        {
-                            if (true) {
-                                throw (RuntimeException) jjte003;
+                } else {
+                    switch ((jj_ntk == -1) ? jj_ntk_f() : jj_ntk) {
+                        case NOT0:
+                        case NOT1: {
+                            switch ((jj_ntk == -1) ? jj_ntk_f() : jj_ntk) {
+                                case NOT0: {
+                                    jj_consume_token(NOT0);
+                                    break;
+                                }
+                                case NOT1: {
+                                    jj_consume_token(NOT1);
+                                    break;
+                                }
+                                default:
+                                    jj_la1[36] = jj_gen;
+                                    jj_consume_token(-1);
+                                    throw new ParseException();
+                            }
+                            AstNot jjtn003 = new AstNot(JJTNOT);
+                            boolean jjtc003 = true;
+                            jjtree.openNodeScope(jjtn003);
+                            try {
+                                Unary();
+                            } catch (Throwable jjte003) {
+                                if (jjtc003) {
+                                    jjtree.clearNodeScope(jjtn003);
+                                    jjtc003 = false;
+                                } else {
+                                    jjtree.popNode();
+                                }
+                                if (jjte003 instanceof RuntimeException) {
+                                    {
+                                        if (true) {
+                                            throw (RuntimeException) jjte003;
+                                        }
+                                    }
+                                }
+                                if (jjte003 instanceof ParseException) {
+                                    {
+                                        if (true) {
+                                            throw (ParseException) jjte003;
+                                        }
+                                    }
+                                }
+                                {
+                                    if (true) {
+                                        throw (Error) jjte003;
+                                    }
+                                }
+                            } finally {
+                                if (jjtc003) {
+                                    jjtree.closeNodeScope(jjtn003, true);
+                                }
                             }
+                            break;
                         }
-                    }
-                    if (jjte003 instanceof ParseException) {
-                        {
-                            if (true) {
-                                throw (ParseException) jjte003;
+                        case EMPTY: {
+                            jj_consume_token(EMPTY);
+                            AstEmpty jjtn004 = new AstEmpty(JJTEMPTY);
+                            boolean jjtc004 = true;
+                            jjtree.openNodeScope(jjtn004);
+                            try {
+                                Unary();
+                            } catch (Throwable jjte004) {
+                                if (jjtc004) {
+                                    jjtree.clearNodeScope(jjtn004);
+                                    jjtc004 = false;
+                                } else {
+                                    jjtree.popNode();
+                                }
+                                if (jjte004 instanceof RuntimeException) {
+                                    {
+                                        if (true) {
+                                            throw (RuntimeException) jjte004;
+                                        }
+                                    }
+                                }
+                                if (jjte004 instanceof ParseException) {
+                                    {
+                                        if (true) {
+                                            throw (ParseException) jjte004;
+                                        }
+                                    }
+                                }
+                                {
+                                    if (true) {
+                                        throw (Error) jjte004;
+                                    }
+                                }
+                            } finally {
+                                if (jjtc004) {
+                                    jjtree.closeNodeScope(jjtn004, true);
+                                }
                             }
+                            break;
                         }
-                    }
-                    {
-                        if (true) {
-                            throw (Error) jjte003;
+                        case START_SET_OR_MAP:
+                        case INTEGER_LITERAL:
+                        case FLOATING_POINT_LITERAL:
+                        case STRING_LITERAL:
+                        case TRUE:
+                        case FALSE:
+                        case NULL:
+                        case LPAREN:
+                        case LBRACK:
+                        case IDENTIFIER: {
+                            Value();
+                            break;
                         }
-                    }
-                } finally {
-                    if (jjtc003) {
-                        jjtree.closeNodeScope(jjtn003, true);
+                        default:
+                            jj_la1[38] = jj_gen;
+                            jj_consume_token(-1);
+                            throw new ParseException();
                     }
                 }
-                break;
-            }
-            case START_SET_OR_MAP:
-            case INTEGER_LITERAL:
-            case FLOATING_POINT_LITERAL:
-            case STRING_LITERAL:
-            case TRUE:
-            case FALSE:
-            case NULL:
-            case LPAREN:
-            case LBRACK:
-            case IDENTIFIER: {
-                Value();
-                break;
-            }
-            default:
-                jj_la1[36] = jj_gen;
-                jj_consume_token(-1);
-                throw new ParseException();
         }
     }
 
@@ -1737,7 +1795,7 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
                         break;
                     }
                     default:
-                        jj_la1[37] = jj_gen;
+                        jj_la1[39] = jj_gen;
                         break label_14;
                 }
                 ValueSuffix();
@@ -1797,7 +1855,7 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
                 break;
             }
             default:
-                jj_la1[38] = jj_gen;
+                jj_la1[40] = jj_gen;
                 jj_consume_token(-1);
                 throw new ParseException();
         }
@@ -1817,7 +1875,7 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
                 break;
             }
             default:
-                jj_la1[39] = jj_gen;
+                jj_la1[41] = jj_gen;
                 jj_consume_token(-1);
                 throw new ParseException();
         }
@@ -1827,7 +1885,7 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
                 break;
             }
             default:
-                jj_la1[40] = jj_gen;
+                jj_la1[42] = jj_gen;
                 ;
         }
     }
@@ -1929,7 +1987,7 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
                                 break;
                             }
                             default:
-                                jj_la1[41] = jj_gen;
+                                jj_la1[43] = jj_gen;
                                 break label_15;
                         }
                         jj_consume_token(COMMA);
@@ -1938,7 +1996,7 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
                     break;
                 }
                 default:
-                    jj_la1[42] = jj_gen;
+                    jj_la1[44] = jj_gen;
                     ;
             }
             jj_consume_token(RPAREN);
@@ -1979,7 +2037,7 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
      * NonLiteral For Grouped Operations, Identifiers, and Functions
      */
     final public void NonLiteral() throws ParseException {
-        if (jj_2_6(5)) {
+        if (jj_2_7(5)) {
             LambdaExpressionOrInvocation();
         } else {
             switch ((jj_ntk == -1) ? jj_ntk_f() : jj_ntk) {
@@ -1990,8 +2048,8 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
                     break;
                 }
                 default:
-                    jj_la1[43] = jj_gen;
-                    if (jj_2_7(2147483647)) {
+                    jj_la1[45] = jj_gen;
+                    if (jj_2_8(2147483647)) {
                         Function();
                     } else {
                         switch ((jj_ntk == -1) ? jj_ntk_f() : jj_ntk) {
@@ -2000,8 +2058,8 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
                                 break;
                             }
                             default:
-                                jj_la1[44] = jj_gen;
-                                if (jj_2_8(5)) {
+                                jj_la1[46] = jj_gen;
+                                if (jj_2_9(5)) {
                                     SetData();
                                 } else {
                                     switch ((jj_ntk == -1) ? jj_ntk_f() : 
jj_ntk) {
@@ -2014,7 +2072,7 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
                                             break;
                                         }
                                         default:
-                                            jj_la1[45] = jj_gen;
+                                            jj_la1[47] = jj_gen;
                                             jj_consume_token(-1);
                                             throw new ParseException();
                                     }
@@ -2058,7 +2116,7 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
                                 break;
                             }
                             default:
-                                jj_la1[46] = jj_gen;
+                                jj_la1[48] = jj_gen;
                                 break label_16;
                         }
                         jj_consume_token(COMMA);
@@ -2067,7 +2125,7 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
                     break;
                 }
                 default:
-                    jj_la1[47] = jj_gen;
+                    jj_la1[49] = jj_gen;
                     ;
             }
             jj_consume_token(RBRACE);
@@ -2133,7 +2191,7 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
                                 break;
                             }
                             default:
-                                jj_la1[48] = jj_gen;
+                                jj_la1[50] = jj_gen;
                                 break label_17;
                         }
                         jj_consume_token(COMMA);
@@ -2142,7 +2200,7 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
                     break;
                 }
                 default:
-                    jj_la1[49] = jj_gen;
+                    jj_la1[51] = jj_gen;
                     ;
             }
             jj_consume_token(RBRACK);
@@ -2212,7 +2270,7 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
                                 break;
                             }
                             default:
-                                jj_la1[50] = jj_gen;
+                                jj_la1[52] = jj_gen;
                                 break label_18;
                         }
                         jj_consume_token(COMMA);
@@ -2221,7 +2279,7 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
                     break;
                 }
                 default:
-                    jj_la1[51] = jj_gen;
+                    jj_la1[53] = jj_gen;
                     ;
             }
             jj_consume_token(RBRACE);
@@ -2337,7 +2395,7 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
                     break;
                 }
                 default:
-                    jj_la1[52] = jj_gen;
+                    jj_la1[54] = jj_gen;
                     ;
             }
             if (t1 != null) {
@@ -2354,7 +2412,7 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
                         break;
                     }
                     default:
-                        jj_la1[53] = jj_gen;
+                        jj_la1[55] = jj_gen;
                         break label_19;
                 }
             }
@@ -2418,7 +2476,7 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
                 break;
             }
             default:
-                jj_la1[54] = jj_gen;
+                jj_la1[56] = jj_gen;
                 jj_consume_token(-1);
                 throw new ParseException();
         }
@@ -2456,7 +2514,7 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
                 break;
             }
             default:
-                jj_la1[55] = jj_gen;
+                jj_la1[57] = jj_gen;
                 jj_consume_token(-1);
                 throw new ParseException();
         }
@@ -2634,6 +2692,18 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
         }
     }
 
+    private boolean jj_2_9(int xla) {
+        jj_la = xla;
+        jj_lastpos = jj_scanpos = token;
+        try {
+            return (!jj_3_9());
+        } catch (LookaheadSuccess ls) {
+            return true;
+        } finally {
+            jj_save(8, xla);
+        }
+    }
+
     private boolean jj_3R_LambdaExpressionOrInvocation_144_45_30() {
         if (jj_3R_Ternary_155_5_22()) {
             return true;
@@ -2641,11 +2711,8 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
         return false;
     }
 
-    private boolean jj_3R_MapEntry_374_5_111() {
-        if (jj_3R_Expression_99_5_35()) {
-            return true;
-        }
-        if (jj_scan_token(COLON)) {
+    private boolean jj_3R_SetData_352_26_36() {
+        if (jj_scan_token(COMMA)) {
             return true;
         }
         if (jj_3R_Expression_99_5_35()) {
@@ -2654,8 +2721,16 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
         return false;
     }
 
-    private boolean jj_3R_MapData_368_11_109() {
-        if (jj_3R_MapEntry_374_5_111()) {
+    private boolean jj_3R_MapData_370_5_101() {
+        if (jj_scan_token(START_SET_OR_MAP)) {
+            return true;
+        }
+        Token xsp;
+        xsp = jj_scanpos;
+        if (jj_3R_MapData_371_11_109()) {
+            jj_scanpos = xsp;
+        }
+        if (jj_scan_token(RBRACE)) {
             return true;
         }
         return false;
@@ -2673,16 +2748,6 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
         return false;
     }
 
-    private boolean jj_3R_SetData_349_26_36() {
-        if (jj_scan_token(COMMA)) {
-            return true;
-        }
-        if (jj_3R_Expression_99_5_35()) {
-            return true;
-        }
-        return false;
-    }
-
     private boolean jj_3R_Or_171_12_43() {
         Token xsp;
         if (jj_3R_Or_170_13_48()) {
@@ -2713,17 +2778,17 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
         return false;
     }
 
-    private boolean jj_3R_MapData_367_5_101() {
-        if (jj_scan_token(START_SET_OR_MAP)) {
+    private boolean jj_3R_ListData_359_11_108() {
+        if (jj_3R_Expression_99_5_35()) {
             return true;
         }
         Token xsp;
-        xsp = jj_scanpos;
-        if (jj_3R_MapData_368_11_109()) {
-            jj_scanpos = xsp;
-        }
-        if (jj_scan_token(RBRACE)) {
-            return true;
+        while (true) {
+            xsp = jj_scanpos;
+            if (jj_3R_ListData_359_26_113()) {
+                jj_scanpos = xsp;
+                break;
+            }
         }
         return false;
     }
@@ -2732,27 +2797,12 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
         if (jj_scan_token(COMMA)) {
             return true;
         }
-        if (jj_3R_Identifier_383_5_37()) {
+        if (jj_3R_Identifier_386_5_37()) {
             return true;
         }
         return false;
     }
 
-    private boolean jj_3R_ListData_356_11_108() {
-        if (jj_3R_Expression_99_5_35()) {
-            return true;
-        }
-        Token xsp;
-        while (true) {
-            xsp = jj_scanpos;
-            if (jj_3R_ListData_356_26_113()) {
-                jj_scanpos = xsp;
-                break;
-            }
-        }
-        return false;
-    }
-
     private boolean jj_3R_Or_170_5_29() {
         if (jj_3R_And_179_5_34()) {
             return true;
@@ -2765,13 +2815,13 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
         return false;
     }
 
-    private boolean jj_3R_ListData_355_5_100() {
+    private boolean jj_3R_ListData_358_5_100() {
         if (jj_scan_token(LBRACK)) {
             return true;
         }
         Token xsp;
         xsp = jj_scanpos;
-        if (jj_3R_ListData_356_11_108()) {
+        if (jj_3R_ListData_359_11_108()) {
             jj_scanpos = xsp;
         }
         if (jj_scan_token(RBRACK)) {
@@ -2780,6 +2830,21 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
         return false;
     }
 
+    private boolean jj_3R_SetData_352_11_31() {
+        if (jj_3R_Expression_99_5_35()) {
+            return true;
+        }
+        Token xsp;
+        while (true) {
+            xsp = jj_scanpos;
+            if (jj_3R_SetData_352_26_36()) {
+                jj_scanpos = xsp;
+                break;
+            }
+        }
+        return false;
+    }
+
     private boolean jj_3R_Ternary_160_9_44() {
         if (jj_scan_token(QUESTIONMARK)) {
             return true;
@@ -2793,30 +2858,40 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
         return false;
     }
 
-    private boolean jj_3R_SetData_349_11_31() {
-        if (jj_3R_Expression_99_5_35()) {
+    private boolean jj_3R_MethodParameters_326_31_115() {
+        if (jj_scan_token(COMMA)) {
+            return true;
+        }
+        return false;
+    }
+
+    private boolean jj_3R_SetData_351_5_25() {
+        if (jj_scan_token(START_SET_OR_MAP)) {
             return true;
         }
         Token xsp;
-        while (true) {
-            xsp = jj_scanpos;
-            if (jj_3R_SetData_349_26_36()) {
-                jj_scanpos = xsp;
-                break;
-            }
+        xsp = jj_scanpos;
+        if (jj_3R_SetData_352_11_31()) {
+            jj_scanpos = xsp;
+        }
+        if (jj_scan_token(RBRACE)) {
+            return true;
         }
         return false;
     }
 
-    private boolean jj_3R_MethodParameters_323_31_115() {
-        if (jj_scan_token(COMMA)) {
+    private boolean jj_3R_null_337_18_24() {
+        if (jj_scan_token(IDENTIFIER)) {
+            return true;
+        }
+        if (jj_scan_token(COLON)) {
             return true;
         }
         return false;
     }
 
     private boolean jj_3R_LambdaParameters_132_31_38() {
-        if (jj_3R_Identifier_383_5_37()) {
+        if (jj_3R_Identifier_386_5_37()) {
             return true;
         }
         Token xsp;
@@ -2830,53 +2905,43 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
         return false;
     }
 
-    private boolean jj_3R_Ternary_157_5_39() {
+    private boolean jj_3_8() {
         Token xsp;
         xsp = jj_scanpos;
-        if (jj_3_5()) {
+        if (jj_3R_null_337_18_24()) {
             jj_scanpos = xsp;
-            if (jj_3R_Ternary_160_9_44()) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    private boolean jj_3_5() {
-        if (jj_scan_token(QUESTIONMARK)) {
-            return true;
         }
-        if (jj_scan_token(COLON)) {
+        if (jj_scan_token(IDENTIFIER)) {
             return true;
         }
-        if (jj_3R_Ternary_155_5_22()) {
+        if (jj_scan_token(LPAREN)) {
             return true;
         }
         return false;
     }
 
-    private boolean jj_3R_SetData_348_5_25() {
-        if (jj_scan_token(START_SET_OR_MAP)) {
-            return true;
-        }
+    private boolean jj_3R_Ternary_157_5_39() {
         Token xsp;
         xsp = jj_scanpos;
-        if (jj_3R_SetData_349_11_31()) {
+        if (jj_3_5()) {
             jj_scanpos = xsp;
-        }
-        if (jj_scan_token(RBRACE)) {
-            return true;
+            if (jj_3R_Ternary_160_9_44()) {
+                return true;
+            }
         }
         return false;
     }
 
-    private boolean jj_3R_null_334_18_24() {
-        if (jj_scan_token(IDENTIFIER)) {
+    private boolean jj_3_5() {
+        if (jj_scan_token(QUESTIONMARK)) {
             return true;
         }
         if (jj_scan_token(COLON)) {
             return true;
         }
+        if (jj_3R_Ternary_155_5_22()) {
+            return true;
+        }
         return false;
     }
 
@@ -2895,23 +2960,22 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
         return false;
     }
 
-    private boolean jj_3_7() {
-        Token xsp;
-        xsp = jj_scanpos;
-        if (jj_3R_null_334_18_24()) {
-            jj_scanpos = xsp;
-        }
-        if (jj_scan_token(IDENTIFIER)) {
+    private boolean jj_3_3() {
+        if (jj_3R_LambdaExpression_124_5_21()) {
             return true;
         }
-        if (jj_scan_token(LPAREN)) {
+        return false;
+    }
+
+    private boolean jj_3R_NonLiteral_341_7_91() {
+        if (jj_3R_MapData_370_5_101()) {
             return true;
         }
         return false;
     }
 
-    private boolean jj_3_3() {
-        if (jj_3R_LambdaExpression_124_5_21()) {
+    private boolean jj_3R_NonLiteral_340_7_90() {
+        if (jj_3R_ListData_358_5_100()) {
             return true;
         }
         return false;
@@ -2924,62 +2988,48 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
         return false;
     }
 
-    private boolean jj_3R_NonLiteral_338_7_91() {
-        if (jj_3R_MapData_367_5_101()) {
+    private boolean jj_3_9() {
+        if (jj_3R_SetData_351_5_25()) {
             return true;
         }
         return false;
     }
 
-    private boolean jj_3R_NonLiteral_337_7_90() {
-        if (jj_3R_ListData_355_5_100()) {
+    private boolean jj_3R_NonLiteral_338_7_89() {
+        if (jj_3R_Identifier_386_5_37()) {
             return true;
         }
         return false;
     }
 
-    private boolean jj_3R_LambdaParameters_132_20_33() {
-        if (jj_scan_token(LPAREN)) {
-            return true;
-        }
-        Token xsp;
-        xsp = jj_scanpos;
-        if (jj_3R_LambdaParameters_132_31_38()) {
-            jj_scanpos = xsp;
-        }
-        if (jj_scan_token(RPAREN)) {
+    private boolean jj_3R_NonLiteral_337_7_88() {
+        if (jj_3R_Function_399_5_99()) {
             return true;
         }
         return false;
     }
 
-    private boolean jj_3_8() {
-        if (jj_3R_SetData_348_5_25()) {
+    private boolean jj_3R_NonLiteral_336_7_87() {
+        if (jj_scan_token(LPAREN)) {
             return true;
         }
-        return false;
-    }
-
-    private boolean jj_3R_NonLiteral_335_7_89() {
-        if (jj_3R_Identifier_383_5_37()) {
+        if (jj_3R_Expression_99_5_35()) {
             return true;
         }
-        return false;
-    }
-
-    private boolean jj_3R_NonLiteral_334_7_88() {
-        if (jj_3R_Function_396_5_99()) {
+        if (jj_scan_token(RPAREN)) {
             return true;
         }
         return false;
     }
 
-    private boolean jj_3R_NonLiteral_333_7_87() {
+    private boolean jj_3R_LambdaParameters_132_20_33() {
         if (jj_scan_token(LPAREN)) {
             return true;
         }
-        if (jj_3R_Expression_99_5_35()) {
-            return true;
+        Token xsp;
+        xsp = jj_scanpos;
+        if (jj_3R_LambdaParameters_132_31_38()) {
+            jj_scanpos = xsp;
         }
         if (jj_scan_token(RPAREN)) {
             return true;
@@ -2987,14 +3037,14 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
         return false;
     }
 
-    private boolean jj_3R_MethodParameters_323_16_114() {
+    private boolean jj_3R_MethodParameters_326_16_114() {
         if (jj_3R_Expression_99_5_35()) {
             return true;
         }
         Token xsp;
         while (true) {
             xsp = jj_scanpos;
-            if (jj_3R_MethodParameters_323_31_115()) {
+            if (jj_3R_MethodParameters_326_31_115()) {
                 jj_scanpos = xsp;
                 break;
             }
@@ -3002,29 +3052,29 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
         return false;
     }
 
-    private boolean jj_3R_ValueSuffix_297_41_112() {
-        if (jj_3R_MethodParameters_323_5_110()) {
+    private boolean jj_3R_ValueSuffix_300_41_112() {
+        if (jj_3R_MethodParameters_326_5_110()) {
             return true;
         }
         return false;
     }
 
-    private boolean jj_3R_NonLiteral_332_5_80() {
+    private boolean jj_3R_NonLiteral_335_5_80() {
         Token xsp;
         xsp = jj_scanpos;
-        if (jj_3_6()) {
+        if (jj_3_7()) {
             jj_scanpos = xsp;
-            if (jj_3R_NonLiteral_333_7_87()) {
+            if (jj_3R_NonLiteral_336_7_87()) {
                 jj_scanpos = xsp;
-                if (jj_3R_NonLiteral_334_7_88()) {
+                if (jj_3R_NonLiteral_337_7_88()) {
                     jj_scanpos = xsp;
-                    if (jj_3R_NonLiteral_335_7_89()) {
+                    if (jj_3R_NonLiteral_338_7_89()) {
                         jj_scanpos = xsp;
-                        if (jj_3_8()) {
+                        if (jj_3_9()) {
                             jj_scanpos = xsp;
-                            if (jj_3R_NonLiteral_337_7_90()) {
+                            if (jj_3R_NonLiteral_340_7_90()) {
                                 jj_scanpos = xsp;
-                                if (jj_3R_NonLiteral_338_7_91()) {
+                                if (jj_3R_NonLiteral_341_7_91()) {
                                     return true;
                                 }
                             }
@@ -3036,6 +3086,13 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
         return false;
     }
 
+    private boolean jj_3_7() {
+        if (jj_3R_LambdaExpressionOrInvocation_141_5_23()) {
+            return true;
+        }
+        return false;
+    }
+
     private boolean jj_3R_LambdaExpressionOrInvocation_141_5_23() {
         if (jj_scan_token(LPAREN)) {
             return true;
@@ -3060,20 +3117,13 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
         return false;
     }
 
-    private boolean jj_3_6() {
-        if (jj_3R_LambdaExpressionOrInvocation_141_5_23()) {
-            return true;
-        }
-        return false;
-    }
-
-    private boolean jj_3R_MethodParameters_323_5_110() {
+    private boolean jj_3R_MethodParameters_326_5_110() {
         if (jj_scan_token(LPAREN)) {
             return true;
         }
         Token xsp;
         xsp = jj_scanpos;
-        if (jj_3R_MethodParameters_323_16_114()) {
+        if (jj_3R_MethodParameters_326_16_114()) {
             jj_scanpos = xsp;
         }
         if (jj_scan_token(RPAREN)) {
@@ -3083,7 +3133,7 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
     }
 
     private boolean jj_3R_LambdaParameters_132_5_32() {
-        if (jj_3R_Identifier_383_5_37()) {
+        if (jj_3R_Identifier_386_5_37()) {
             return true;
         }
         return false;
@@ -3111,7 +3161,7 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
         return false;
     }
 
-    private boolean jj_3R_BracketSuffix_315_5_103() {
+    private boolean jj_3R_BracketSuffix_318_5_103() {
         if (jj_scan_token(LBRACK)) {
             return true;
         }
@@ -3124,6 +3174,13 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
         return false;
     }
 
+    private boolean jj_3R_ValueSuffix_300_21_93() {
+        if (jj_3R_BracketSuffix_318_5_103()) {
+            return true;
+        }
+        return false;
+    }
+
     private boolean jj_3R_LambdaExpression_124_5_21() {
         if (jj_3R_LambdaParameters_132_5_27()) {
             return true;
@@ -3142,18 +3199,21 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
         return false;
     }
 
-    private boolean jj_3R_ValueSuffix_297_21_93() {
-        if (jj_3R_BracketSuffix_315_5_103()) {
+    private boolean jj_3R_Semicolon_107_20_46() {
+        if (jj_scan_token(SEMICOLON)) {
+            return true;
+        }
+        if (jj_3R_Assignment_115_5_20()) {
             return true;
         }
         return false;
     }
 
-    private boolean jj_3R_Semicolon_107_20_46() {
-        if (jj_scan_token(SEMICOLON)) {
+    private boolean jj_3R_DotSuffix_309_5_102() {
+        if (jj_scan_token(DOT)) {
             return true;
         }
-        if (jj_3R_Assignment_115_5_20()) {
+        if (jj_scan_token(IDENTIFIER)) {
             return true;
         }
         return false;
@@ -3174,16 +3234,6 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
         return false;
     }
 
-    private boolean jj_3R_DotSuffix_306_5_102() {
-        if (jj_scan_token(DOT)) {
-            return true;
-        }
-        if (jj_scan_token(IDENTIFIER)) {
-            return true;
-        }
-        return false;
-    }
-
     private boolean jj_3_2() {
         if (jj_3R_LambdaExpression_124_5_21()) {
             return true;
@@ -3203,13 +3253,29 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
         return false;
     }
 
-    private boolean jj_3R_ValueSuffix_297_7_92() {
-        if (jj_3R_DotSuffix_306_5_102()) {
+    private boolean jj_3R_ValueSuffix_300_7_92() {
+        if (jj_3R_DotSuffix_309_5_102()) {
             return true;
         }
         return false;
     }
 
+    private boolean jj_3R_ValueSuffix_300_5_81() {
+        Token xsp;
+        xsp = jj_scanpos;
+        if (jj_3R_ValueSuffix_300_7_92()) {
+            jj_scanpos = xsp;
+            if (jj_3R_ValueSuffix_300_21_93()) {
+                return true;
+            }
+        }
+        xsp = jj_scanpos;
+        if (jj_3R_ValueSuffix_300_41_112()) {
+            jj_scanpos = xsp;
+        }
+        return false;
+    }
+
     private boolean jj_3R_Semicolon_107_5_41() {
         if (jj_3R_Assignment_115_5_20()) {
             return true;
@@ -3225,31 +3291,22 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
         return false;
     }
 
-    private boolean jj_3R_ValueSuffix_297_5_81() {
-        Token xsp;
-        xsp = jj_scanpos;
-        if (jj_3R_ValueSuffix_297_7_92()) {
-            jj_scanpos = xsp;
-            if (jj_3R_ValueSuffix_297_21_93()) {
-                return true;
-            }
-        }
-        xsp = jj_scanpos;
-        if (jj_3R_ValueSuffix_297_41_112()) {
-            jj_scanpos = xsp;
+    private boolean jj_3R_Value_281_21_78() {
+        if (jj_3R_ValueSuffix_300_5_81()) {
+            return true;
         }
         return false;
     }
 
-    private boolean jj_3R_Value_278_21_78() {
-        if (jj_3R_ValueSuffix_297_5_81()) {
+    private boolean jj_3R_ValuePrefix_291_7_77() {
+        if (jj_3R_NonLiteral_335_5_80()) {
             return true;
         }
         return false;
     }
 
-    private boolean jj_3R_ValuePrefix_288_7_77() {
-        if (jj_3R_NonLiteral_332_5_80()) {
+    private boolean jj_3R_ValuePrefix_290_5_76() {
+        if (jj_3R_Literal_417_5_79()) {
             return true;
         }
         return false;
@@ -3262,33 +3319,26 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
         return false;
     }
 
-    private boolean jj_3R_ValuePrefix_287_5_75() {
+    private boolean jj_3R_ValuePrefix_290_5_75() {
         Token xsp;
         xsp = jj_scanpos;
-        if (jj_3R_ValuePrefix_287_5_76()) {
+        if (jj_3R_ValuePrefix_290_5_76()) {
             jj_scanpos = xsp;
-            if (jj_3R_ValuePrefix_288_7_77()) {
+            if (jj_3R_ValuePrefix_291_7_77()) {
                 return true;
             }
         }
         return false;
     }
 
-    private boolean jj_3R_ValuePrefix_287_5_76() {
-        if (jj_3R_Literal_414_5_79()) {
-            return true;
-        }
-        return false;
-    }
-
-    private boolean jj_3R_Value_278_5_71() {
-        if (jj_3R_ValuePrefix_287_5_75()) {
+    private boolean jj_3R_Value_281_5_71() {
+        if (jj_3R_ValuePrefix_290_5_75()) {
             return true;
         }
         Token xsp;
         while (true) {
             xsp = jj_scanpos;
-            if (jj_3R_Value_278_21_78()) {
+            if (jj_3R_Value_281_21_78()) {
                 jj_scanpos = xsp;
                 break;
             }
@@ -3296,21 +3346,21 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
         return false;
     }
 
-    private boolean jj_3R_Null_464_5_98() {
+    private boolean jj_3R_Null_467_5_98() {
         if (jj_scan_token(NULL)) {
             return true;
         }
         return false;
     }
 
-    private boolean jj_3R_Unary_269_9_67() {
-        if (jj_3R_Value_278_5_71()) {
+    private boolean jj_3R_Unary_272_9_67() {
+        if (jj_3R_Value_281_5_71()) {
             return true;
         }
         return false;
     }
 
-    private boolean jj_3R_Unary_267_9_66() {
+    private boolean jj_3R_Unary_270_9_66() {
         if (jj_scan_token(EMPTY)) {
             return true;
         }
@@ -3320,7 +3370,22 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
         return false;
     }
 
-    private boolean jj_3R_Unary_265_9_65() {
+    private boolean jj_3R_Unary_268_9_65() {
+        Token xsp;
+        xsp = jj_scanpos;
+        if (jj_scan_token(37)) {
+            jj_scanpos = xsp;
+            if (jj_scan_token(38)) {
+                return true;
+            }
+        }
+        if (jj_3R_Unary_263_9_62()) {
+            return true;
+        }
+        return false;
+    }
+
+    private boolean jj_3_6() {
         Token xsp;
         xsp = jj_scanpos;
         if (jj_scan_token(37)) {
@@ -3329,23 +3394,36 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
                 return true;
             }
         }
+        if (jj_scan_token(EMPTY)) {
+            return true;
+        }
         if (jj_3R_Unary_263_9_62()) {
             return true;
         }
         return false;
     }
 
+    private boolean jj_3R_String_458_5_97() {
+        if (jj_scan_token(STRING_LITERAL)) {
+            return true;
+        }
+        return false;
+    }
+
     private boolean jj_3R_Unary_263_9_62() {
         Token xsp;
         xsp = jj_scanpos;
         if (jj_3R_Unary_263_9_64()) {
             jj_scanpos = xsp;
-            if (jj_3R_Unary_265_9_65()) {
+            if (jj_3_6()) {
                 jj_scanpos = xsp;
-                if (jj_3R_Unary_267_9_66()) {
+                if (jj_3R_Unary_268_9_65()) {
                     jj_scanpos = xsp;
-                    if (jj_3R_Unary_269_9_67()) {
-                        return true;
+                    if (jj_3R_Unary_270_9_66()) {
+                        jj_scanpos = xsp;
+                        if (jj_3R_Unary_272_9_67()) {
+                            return true;
+                        }
                     }
                 }
             }
@@ -3363,8 +3441,8 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
         return false;
     }
 
-    private boolean jj_3R_String_455_5_97() {
-        if (jj_scan_token(STRING_LITERAL)) {
+    private boolean jj_3R_Integer_449_5_96() {
+        if (jj_scan_token(INTEGER_LITERAL)) {
             return true;
         }
         return false;
@@ -3385,13 +3463,6 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
         return false;
     }
 
-    private boolean jj_3R_Integer_446_5_96() {
-        if (jj_scan_token(INTEGER_LITERAL)) {
-            return true;
-        }
-        return false;
-    }
-
     private boolean jj_3R_Multiplication_251_9_73() {
         Token xsp;
         xsp = jj_scanpos;
@@ -3432,6 +3503,13 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
         return false;
     }
 
+    private boolean jj_3R_FloatingPoint_440_5_95() {
+        if (jj_scan_token(FLOATING_POINT_LITERAL)) {
+            return true;
+        }
+        return false;
+    }
+
     private boolean jj_3R_Multiplication_247_5_56() {
         if (jj_3R_Unary_263_9_62()) {
             return true;
@@ -3447,8 +3525,8 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
         return false;
     }
 
-    private boolean jj_3R_FloatingPoint_437_5_95() {
-        if (jj_scan_token(FLOATING_POINT_LITERAL)) {
+    private boolean jj_3R_Boolean_432_7_105() {
+        if (jj_scan_token(FALSE)) {
             return true;
         }
         return false;
@@ -3464,13 +3542,25 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
         return false;
     }
 
-    private boolean jj_3R_Boolean_429_7_105() {
-        if (jj_scan_token(FALSE)) {
+    private boolean jj_3R_Boolean_430_5_104() {
+        if (jj_scan_token(TRUE)) {
             return true;
         }
         return false;
     }
 
+    private boolean jj_3R_Boolean_430_5_94() {
+        Token xsp;
+        xsp = jj_scanpos;
+        if (jj_3R_Boolean_430_5_104()) {
+            jj_scanpos = xsp;
+            if (jj_3R_Boolean_432_7_105()) {
+                return true;
+            }
+        }
+        return false;
+    }
+
     private boolean jj_3R_Math_235_9_63() {
         Token xsp;
         xsp = jj_scanpos;
@@ -3493,25 +3583,6 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
         return false;
     }
 
-    private boolean jj_3R_Boolean_427_5_104() {
-        if (jj_scan_token(TRUE)) {
-            return true;
-        }
-        return false;
-    }
-
-    private boolean jj_3R_Boolean_427_5_94() {
-        Token xsp;
-        xsp = jj_scanpos;
-        if (jj_3R_Boolean_427_5_104()) {
-            jj_scanpos = xsp;
-            if (jj_3R_Boolean_429_7_105()) {
-                return true;
-            }
-        }
-        return false;
-    }
-
     private boolean jj_3R_Math_233_5_52() {
         if (jj_3R_Multiplication_247_5_56()) {
             return true;
@@ -3527,45 +3598,45 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
         return false;
     }
 
-    private boolean jj_3R_Literal_418_7_86() {
-        if (jj_3R_Null_464_5_98()) {
+    private boolean jj_3R_Literal_421_7_86() {
+        if (jj_3R_Null_467_5_98()) {
             return true;
         }
         return false;
     }
 
-    private boolean jj_3R_Literal_417_7_85() {
-        if (jj_3R_String_455_5_97()) {
+    private boolean jj_3R_Literal_420_7_85() {
+        if (jj_3R_String_458_5_97()) {
             return true;
         }
         return false;
     }
 
-    private boolean jj_3R_Concatenation_223_10_57() {
-        if (jj_scan_token(CONCAT)) {
-            return true;
-        }
-        if (jj_3R_Math_233_5_52()) {
+    private boolean jj_3R_Literal_419_7_84() {
+        if (jj_3R_Integer_449_5_96()) {
             return true;
         }
         return false;
     }
 
-    private boolean jj_3R_Literal_416_7_84() {
-        if (jj_3R_Integer_446_5_96()) {
+    private boolean jj_3R_Literal_418_7_83() {
+        if (jj_3R_FloatingPoint_440_5_95()) {
             return true;
         }
         return false;
     }
 
-    private boolean jj_3R_Literal_415_7_83() {
-        if (jj_3R_FloatingPoint_437_5_95()) {
+    private boolean jj_3R_Concatenation_223_10_57() {
+        if (jj_scan_token(CONCAT)) {
+            return true;
+        }
+        if (jj_3R_Math_233_5_52()) {
             return true;
         }
         return false;
     }
 
-    private boolean jj_3R_Function_396_24_106() {
+    private boolean jj_3R_Function_399_24_106() {
         if (jj_scan_token(COLON)) {
             return true;
         }
@@ -3575,25 +3646,25 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
         return false;
     }
 
-    private boolean jj_3R_Literal_414_5_82() {
-        if (jj_3R_Boolean_427_5_94()) {
+    private boolean jj_3R_Literal_417_5_82() {
+        if (jj_3R_Boolean_430_5_94()) {
             return true;
         }
         return false;
     }
 
-    private boolean jj_3R_Literal_414_5_79() {
+    private boolean jj_3R_Literal_417_5_79() {
         Token xsp;
         xsp = jj_scanpos;
-        if (jj_3R_Literal_414_5_82()) {
+        if (jj_3R_Literal_417_5_82()) {
             jj_scanpos = xsp;
-            if (jj_3R_Literal_415_7_83()) {
+            if (jj_3R_Literal_418_7_83()) {
                 jj_scanpos = xsp;
-                if (jj_3R_Literal_416_7_84()) {
+                if (jj_3R_Literal_419_7_84()) {
                     jj_scanpos = xsp;
-                    if (jj_3R_Literal_417_7_85()) {
+                    if (jj_3R_Literal_420_7_85()) {
                         jj_scanpos = xsp;
-                        if (jj_3R_Literal_418_7_86()) {
+                        if (jj_3R_Literal_421_7_86()) {
                             return true;
                         }
                     }
@@ -3618,8 +3689,8 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
         return false;
     }
 
-    private boolean jj_3R_Function_405_7_107() {
-        if (jj_3R_MethodParameters_323_5_110()) {
+    private boolean jj_3R_Function_408_7_107() {
+        if (jj_3R_MethodParameters_326_5_110()) {
             return true;
         }
         return false;
@@ -3670,6 +3741,28 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
         return false;
     }
 
+    private boolean jj_3R_Function_399_5_99() {
+        if (jj_scan_token(IDENTIFIER)) {
+            return true;
+        }
+        Token xsp;
+        xsp = jj_scanpos;
+        if (jj_3R_Function_399_24_106()) {
+            jj_scanpos = xsp;
+        }
+        if (jj_3R_Function_408_7_107()) {
+            return true;
+        }
+        while (true) {
+            xsp = jj_scanpos;
+            if (jj_3R_Function_408_7_107()) {
+                jj_scanpos = xsp;
+                break;
+            }
+        }
+        return false;
+    }
+
     private boolean jj_3R_Compare_204_9_53() {
         Token xsp;
         xsp = jj_scanpos;
@@ -3703,28 +3796,6 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
         return false;
     }
 
-    private boolean jj_3R_Function_396_5_99() {
-        if (jj_scan_token(IDENTIFIER)) {
-            return true;
-        }
-        Token xsp;
-        xsp = jj_scanpos;
-        if (jj_3R_Function_396_24_106()) {
-            jj_scanpos = xsp;
-        }
-        if (jj_3R_Function_405_7_107()) {
-            return true;
-        }
-        while (true) {
-            xsp = jj_scanpos;
-            if (jj_3R_Function_405_7_107()) {
-                jj_scanpos = xsp;
-                break;
-            }
-        }
-        return false;
-    }
-
     private boolean jj_3R_Compare_202_5_45() {
         if (jj_3R_Concatenation_221_6_49()) {
             return true;
@@ -3755,6 +3826,13 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
         return false;
     }
 
+    private boolean jj_3R_Identifier_386_5_37() {
+        if (jj_scan_token(IDENTIFIER)) {
+            return true;
+        }
+        return false;
+    }
+
     private boolean jj_3R_Equality_190_9_50() {
         Token xsp;
         xsp = jj_scanpos;
@@ -3812,8 +3890,11 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
         return false;
     }
 
-    private boolean jj_3R_Identifier_383_5_37() {
-        if (jj_scan_token(IDENTIFIER)) {
+    private boolean jj_3R_ListData_359_26_113() {
+        if (jj_scan_token(COMMA)) {
+            return true;
+        }
+        if (jj_3R_Expression_99_5_35()) {
             return true;
         }
         return false;
@@ -3841,8 +3922,11 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
         return false;
     }
 
-    private boolean jj_3R_ListData_356_26_113() {
-        if (jj_scan_token(COMMA)) {
+    private boolean jj_3R_MapEntry_377_5_111() {
+        if (jj_3R_Expression_99_5_35()) {
+            return true;
+        }
+        if (jj_scan_token(COLON)) {
             return true;
         }
         if (jj_3R_Expression_99_5_35()) {
@@ -3851,6 +3935,13 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
         return false;
     }
 
+    private boolean jj_3R_MapData_371_11_109() {
+        if (jj_3R_MapEntry_377_5_111()) {
+            return true;
+        }
+        return false;
+    }
+
     /** Generated Token Manager. */
     public ELParserTokenManager token_source;
     SimpleCharStream jj_input_stream;
@@ -3862,7 +3953,7 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
     private Token jj_scanpos, jj_lastpos;
     private int jj_la;
     private int jj_gen;
-    final private int[] jj_la1 = new int[56];
+    final private int[] jj_la1 = new int[58];
     static private int[] jj_la1_0;
     static private int[] jj_la1_1;
     static {
@@ -3873,20 +3964,20 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
     private static void jj_la1_init_0() {
         jj_la1_0 = new int[] { 0xe, 0xe, 0x800000, 0x15ed00, 0x15ed00, 
0x1000000, 0x0, 0x40000, 0x15ed00, 0x40000, 0x0,
                 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0xfe000000, 0x18000000, 0x6000000, 0x80000000,
-                0x60000000, 0xfe000000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x0, 0x15ed00, 0x120000, 0x15ed00, 0x120000,
-                0x40000, 0x1000000, 0x15ed00, 0x40000, 0x0, 0x100100, 
0x1000000, 0x15ed00, 0x1000000, 0x15ed00,
-                0x1000000, 0x15ed00, 0x400000, 0x40000, 0x1ec00, 0xc000, };
+                0x60000000, 0xfe000000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x0, 0x0, 0x0, 0x15ed00, 0x120000, 0x15ed00,
+                0x120000, 0x40000, 0x1000000, 0x15ed00, 0x40000, 0x0, 
0x100100, 0x1000000, 0x15ed00, 0x1000000,
+                0x15ed00, 0x1000000, 0x15ed00, 0x400000, 0x40000, 0x1ec00, 
0xc000, };
     }
 
     private static void jj_la1_init_1() {
         jj_la1_1 = new int[] { 0x0, 0x0, 0x0, 0x1008860, 0x1008860, 0x0, 
0x1000000, 0x1000000, 0x1008860, 0x0, 0x10000,
                 0x10000, 0x600, 0x600, 0x600, 0x180, 0x180, 0x180, 0x1e, 0x6, 
0x18, 0x1e, 0x1, 0x0, 0x0, 0x1, 0x0, 0x1,
-                0x200000, 0xc000, 0xc000, 0x1e2000, 0x60000, 0x180000, 
0x1e2000, 0x60, 0x1008860, 0x0, 0x1000000, 0x0,
-                0x0, 0x0, 0x1008860, 0x0, 0x1000000, 0x0, 0x0, 0x1008860, 0x0, 
0x1008860, 0x0, 0x1008860, 0x0, 0x0, 0x0,
-                0x0, };
+                0x200000, 0xc000, 0xc000, 0x1e2000, 0x60000, 0x180000, 
0x1e2000, 0x60, 0x60, 0x8000, 0x1000860, 0x0,
+                0x1000000, 0x0, 0x0, 0x0, 0x1008860, 0x0, 0x1000000, 0x0, 0x0, 
0x1008860, 0x0, 0x1008860, 0x0,
+                0x1008860, 0x0, 0x0, 0x0, 0x0, };
     }
 
-    final private JJCalls[] jj_2_rtns = new JJCalls[8];
+    final private JJCalls[] jj_2_rtns = new JJCalls[9];
     private boolean jj_rescan = false;
     private int jj_gc = 0;
 
@@ -3906,7 +3997,7 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
         token = new Token();
         jj_ntk = -1;
         jj_gen = 0;
-        for (int i = 0; i < 56; i++) {
+        for (int i = 0; i < 58; i++) {
             jj_la1[i] = -1;
         }
         for (int i = 0; i < jj_2_rtns.length; i++) {
@@ -3931,7 +4022,7 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
         jj_ntk = -1;
         jjtree.reset();
         jj_gen = 0;
-        for (int i = 0; i < 56; i++) {
+        for (int i = 0; i < 58; i++) {
             jj_la1[i] = -1;
         }
         for (int i = 0; i < jj_2_rtns.length; i++) {
@@ -3946,7 +4037,7 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
         token = new Token();
         jj_ntk = -1;
         jj_gen = 0;
-        for (int i = 0; i < 56; i++) {
+        for (int i = 0; i < 58; i++) {
             jj_la1[i] = -1;
         }
         for (int i = 0; i < jj_2_rtns.length; i++) {
@@ -3970,7 +4061,7 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
         jj_ntk = -1;
         jjtree.reset();
         jj_gen = 0;
-        for (int i = 0; i < 56; i++) {
+        for (int i = 0; i < 58; i++) {
             jj_la1[i] = -1;
         }
         for (int i = 0; i < jj_2_rtns.length; i++) {
@@ -3984,7 +4075,7 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
         token = new Token();
         jj_ntk = -1;
         jj_gen = 0;
-        for (int i = 0; i < 56; i++) {
+        for (int i = 0; i < 58; i++) {
             jj_la1[i] = -1;
         }
         for (int i = 0; i < jj_2_rtns.length; i++) {
@@ -3999,7 +4090,7 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
         jj_ntk = -1;
         jjtree.reset();
         jj_gen = 0;
-        for (int i = 0; i < 56; i++) {
+        for (int i = 0; i < 58; i++) {
             jj_la1[i] = -1;
         }
         for (int i = 0; i < jj_2_rtns.length; i++) {
@@ -4163,7 +4254,7 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
             la1tokens[jj_kind] = true;
             jj_kind = -1;
         }
-        for (int i = 0; i < 56; i++) {
+        for (int i = 0; i < 58; i++) {
             if (jj_la1[i] == jj_gen) {
                 for (int j = 0; j < 32; j++) {
                     if ((jj_la1_0[i] & (1 << j)) != 0) {
@@ -4209,7 +4300,7 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
 
     private void jj_rescan_token() {
         jj_rescan = true;
-        for (int i = 0; i < 8; i++) {
+        for (int i = 0; i < 9; i++) {
             try {
                 JJCalls p = jj_2_rtns[i];
 
@@ -4242,6 +4333,9 @@ public class ELParser/* @bgen(jjtree) */ implements 
ELParserTreeConstants, ELPar
                             case 7:
                                 jj_3_8();
                                 break;
+                            case 8:
+                                jj_3_9();
+                                break;
                         }
                     }
                     p = p.next;
diff --git a/java/org/apache/el/parser/ELParserTreeConstants.java 
b/java/org/apache/el/parser/ELParserTreeConstants.java
index bbb1e2df22..097d189eac 100644
--- a/java/org/apache/el/parser/ELParserTreeConstants.java
+++ b/java/org/apache/el/parser/ELParserTreeConstants.java
@@ -28,31 +28,32 @@ public interface ELParserTreeConstants {
     int JJTDIV = 23;
     int JJTMOD = 24;
     int JJTNEGATIVE = 25;
-    int JJTNOT = 26;
-    int JJTEMPTY = 27;
-    int JJTVALUE = 28;
-    int JJTDOTSUFFIX = 29;
-    int JJTBRACKETSUFFIX = 30;
-    int JJTMETHODPARAMETERS = 31;
-    int JJTSETDATA = 32;
-    int JJTLISTDATA = 33;
-    int JJTMAPDATA = 34;
-    int JJTMAPENTRY = 35;
-    int JJTIDENTIFIER = 36;
-    int JJTFUNCTION = 37;
-    int JJTTRUE = 38;
-    int JJTFALSE = 39;
-    int JJTFLOATINGPOINT = 40;
-    int JJTINTEGER = 41;
-    int JJTSTRING = 42;
-    int JJTNULL = 43;
+    int JJTNOTEMPTY = 26;
+    int JJTNOT = 27;
+    int JJTEMPTY = 28;
+    int JJTVALUE = 29;
+    int JJTDOTSUFFIX = 30;
+    int JJTBRACKETSUFFIX = 31;
+    int JJTMETHODPARAMETERS = 32;
+    int JJTSETDATA = 33;
+    int JJTLISTDATA = 34;
+    int JJTMAPDATA = 35;
+    int JJTMAPENTRY = 36;
+    int JJTIDENTIFIER = 37;
+    int JJTFUNCTION = 38;
+    int JJTTRUE = 39;
+    int JJTFALSE = 40;
+    int JJTFLOATINGPOINT = 41;
+    int JJTINTEGER = 42;
+    int JJTSTRING = 43;
+    int JJTNULL = 44;
 
 
     String[] jjtNodeName = { "CompositeExpression", "LiteralExpression", 
"DeferredExpression", "DynamicExpression",
             "void", "Semicolon", "Assign", "LambdaExpression", 
"LambdaParameters", "Elvis", "Choice", "Or", "And",
             "Equal", "NotEqual", "LessThan", "GreaterThan", "LessThanEqual", 
"GreaterThanEqual", "Concatenation",
-            "Plus", "Minus", "Mult", "Div", "Mod", "Negative", "Not", "Empty", 
"Value", "DotSuffix", "BracketSuffix",
-            "MethodParameters", "SetData", "ListData", "MapData", "MapEntry", 
"Identifier", "Function", "True", "False",
-            "FloatingPoint", "Integer", "String", "Null", };
+            "Plus", "Minus", "Mult", "Div", "Mod", "Negative", "NotEmpty", 
"Not", "Empty", "Value", "DotSuffix",
+            "BracketSuffix", "MethodParameters", "SetData", "ListData", 
"MapData", "MapEntry", "Identifier", "Function",
+            "True", "False", "FloatingPoint", "Integer", "String", "Null", };
 }
-/* JavaCC - OriginalChecksum=993ae4858a4f3806b4217fe368faaecf (do not edit 
this line) */
+/* JavaCC - OriginalChecksum=bf490de1f9b26486497de3154abf559e (do not edit 
this line) */


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to