Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=49081
authormarkt <markt@13f79535-47bb-0310-9956-ffa450edef68>
Sun, 11 Apr 2010 18:15:02 +0000 (18:15 +0000)
committermarkt <markt@13f79535-47bb-0310-9956-ffa450edef68>
Sun, 11 Apr 2010 18:15:02 +0000 (18:15 +0000)
"#${1+1}" should evaluate to "#2"
Note that all files apart from ELParser.jjt are generated by javacc from the changes to ELParser.jjt

git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@932967 13f79535-47bb-0310-9956-ffa450edef68

java/org/apache/el/parser/ELParser.jjt
java/org/apache/el/parser/ELParserTokenManager.java
java/org/apache/el/parser/ELParserTreeConstants.java
java/org/apache/el/parser/JJTELParserState.java
java/org/apache/el/parser/ParseException.java
java/org/apache/el/parser/SimpleCharStream.java
java/org/apache/el/parser/Token.java
java/org/apache/el/parser/TokenMgrError.java

index 6a0633a..f3b6d45 100644 (file)
@@ -368,7 +368,7 @@ void Null() #Null : {}
    */
   < LITERAL_EXPRESSION:
     (   (~["$", "#", "\\"])* "\\" (["$", "#"])?
-      | (~["$", "#"])* (["$", "#"] ~["{"])
+      | (~["$", "#"])* (["$", "#"] ~["{", "$", "#"])
       | (~["$", "#"])+
     )+
     | "$"
index fec6667..8e5c0e5 100644 (file)
@@ -128,6 +128,8 @@ private int jjMoveNfa_0(int startState, int curPos)
                      jjCheckNAdd(5);
                   break;
                case 5:
+                  if ((0xffffffe7ffffffffL & l) == 0L)
+                     break;
                   if (kind > 1)
                      kind = 1;
                   jjCheckNAddStates(5, 8);
index 892ee5e..ac33b5d 100644 (file)
@@ -76,4 +76,4 @@ public interface ELParserTreeConstants
     "Null",
   };
 }
-/* JavaCC - OriginalChecksum=57a11486271882e4bdcb1543fa567329 (do not edit this line) */
+/* JavaCC - OriginalChecksum=437008e736f149e8fa6712fb36d831a1 (do not edit this line) */
index 420fe86..9615b87 100644 (file)
@@ -120,4 +120,4 @@ public class JJTELParserState {
     }
   }
 }
-/* JavaCC - OriginalChecksum=9ea5296a2e1d85c8100fe40283f86cfd (do not edit this line) */
+/* JavaCC - OriginalChecksum=70ac39f1e0e1eed7476e1dae2dfa25fa (do not edit this line) */
index 0cdb885..c89733f 100644 (file)
@@ -184,4 +184,4 @@ public class ParseException extends Exception {
    }
 
 }
-/* JavaCC - OriginalChecksum=275dbff1ac8d899b542b475adbf177f7 (do not edit this line) */
+/* JavaCC - OriginalChecksum=87586a39aa89f164889cc59bc6a7e7ad (do not edit this line) */
index e89778a..e484965 100644 (file)
@@ -468,4 +468,4 @@ public class SimpleCharStream
   }
 
 }
-/* JavaCC - OriginalChecksum=56f6dd1368327bd2c0d7eeacba8a18de (do not edit this line) */
+/* JavaCC - OriginalChecksum=9ba0db3918bffb8019f00da1e421f339 (do not edit this line) */
index 532433b..3aa02cc 100644 (file)
@@ -128,4 +128,4 @@ public class Token implements java.io.Serializable {
   }
 
 }
-/* JavaCC - OriginalChecksum=30123d1b46e789463a75610c8e254dce (do not edit this line) */
+/* JavaCC - OriginalChecksum=3fc97649fffa8b13e1e03af022020b2f (do not edit this line) */
index d8586f5..2964ed0 100644 (file)
@@ -144,4 +144,4 @@ public class TokenMgrError extends Error
     this(LexicalError(EOFSeen, lexState, errorLine, errorColumn, errorAfter, curChar), reason);
   }
 }
-/* JavaCC - OriginalChecksum=a2ee073c8f4075f3b262dddea050e5ea (do not edit this line) */
+/* JavaCC - OriginalChecksum=de3ff0bacfb0fe749cc8eaf56ae82fea (do not edit this line) */