You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2010/01/14 11:27:16 UTC

svn commit: r899148 [1/2] - in /tomcat/tc6.0.x/trunk: ./ java/org/apache/el/parser/ java/org/apache/jasper/compiler/ test/org/apache/el/ test/org/apache/jasper/compiler/ webapps/docs/

Author: markt
Date: Thu Jan 14 10:27:15 2010
New Revision: 899148

URL: http://svn.apache.org/viewvc?rev=899148&view=rev
Log:
Fix various EL issues (with test cases) including BZ47413#c8 & BZ48112

Added:
    tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/AttributeParser.java
      - copied unchanged from r898770, tomcat/trunk/java/org/apache/jasper/compiler/AttributeParser.java
    tomcat/tc6.0.x/trunk/test/org/apache/el/TestELEvaluation.java
      - copied unchanged from r898770, tomcat/trunk/test/org/apache/el/TestELEvaluation.java
    tomcat/tc6.0.x/trunk/test/org/apache/el/TesterFunctions.java
      - copied unchanged from r898770, tomcat/trunk/test/org/apache/el/TesterFunctions.java
    tomcat/tc6.0.x/trunk/test/org/apache/jasper/compiler/TestAttributeParser.java
      - copied, changed from r898770, tomcat/trunk/test/org/apache/jasper/compiler/TestAttributeParser.java
Modified:
    tomcat/tc6.0.x/trunk/STATUS.txt
    tomcat/tc6.0.x/trunk/java/org/apache/el/parser/AstLiteralExpression.java
    tomcat/tc6.0.x/trunk/java/org/apache/el/parser/AstString.java
    tomcat/tc6.0.x/trunk/java/org/apache/el/parser/ELParser.java
    tomcat/tc6.0.x/trunk/java/org/apache/el/parser/ELParser.jjt
    tomcat/tc6.0.x/trunk/java/org/apache/el/parser/ELParserConstants.java
    tomcat/tc6.0.x/trunk/java/org/apache/el/parser/ELParserTokenManager.java
    tomcat/tc6.0.x/trunk/java/org/apache/el/parser/ELParserTreeConstants.java
    tomcat/tc6.0.x/trunk/java/org/apache/el/parser/JJTELParserState.java
    tomcat/tc6.0.x/trunk/java/org/apache/el/parser/ParseException.java
    tomcat/tc6.0.x/trunk/java/org/apache/el/parser/SimpleCharStream.java
    tomcat/tc6.0.x/trunk/java/org/apache/el/parser/Token.java
    tomcat/tc6.0.x/trunk/java/org/apache/el/parser/TokenMgrError.java
    tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/Generator.java
    tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/Parser.java
    tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml

Modified: tomcat/tc6.0.x/trunk/STATUS.txt
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=899148&r1=899147&r2=899148&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/STATUS.txt (original)
+++ tomcat/tc6.0.x/trunk/STATUS.txt Thu Jan 14 10:27:15 2010
@@ -100,23 +100,6 @@
          The 'set "a=%b%"' trick is nice, because if you only use the quotation
          marks around the rhs, Windows actually adds them to the value of 'a'.
 
-* Fix various EL issues (with test cases) including BZ47413#c8 & BZ48112
-  The actual fixes
-    svn copy https://svn.apache.org/repos/asf/tomcat/trunk/java/org/apache/jasper/compiler/AttributeParser.java
-             https://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/AttributeParser.java
-    http://people.apache.org/~markt/patches/2010-01-11-el-part1.patch
-  Updates required to generated files after fixes above
-    http://people.apache.org/~markt/patches/2010-01-11-el-part2.patch
-  The new test cases
-    svn copy https://svn.apache.org/repos/asf/tomcat/trunk/test/org/apache/jasper/compiler/TestAttributeParser.java
-             https://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk/test/org/apache/jasper/compiler/TestAttributeParser.java
-    svn copy https://svn.apache.org/repos/asf/tomcat/trunk/test/org/apache/el/TestELEvaluation.java
-             https://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk/test/org/apache/el/TestELEvaluation.java
-    svn copy https://svn.apache.org/repos/asf/tomcat/trunk/test/org/apache/el/TesterFunctions.java
-             https://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk/test/org/apache/el/TesterFunctions.java
-  +1: markt, jim, yoavs
-  -1: 
-
 * Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=47977
   Using a body with a tag that has an empty body should cause an error
   http://svn.apache.org/viewvc?rev=898126&view=rev

Modified: tomcat/tc6.0.x/trunk/java/org/apache/el/parser/AstLiteralExpression.java
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/el/parser/AstLiteralExpression.java?rev=899148&r1=899147&r2=899148&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/el/parser/AstLiteralExpression.java (original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/el/parser/AstLiteralExpression.java Thu Jan 14 10:27:15 2010
@@ -49,10 +49,10 @@
         StringBuffer buf = new StringBuffer(size);
         for (int i = 0; i < size; i++) {
             char c = image.charAt(i);
-            if (c == '\\' && i + 1 < size) {
+            if (c == '\\' && i + 2 < size) {
                 char c1 = image.charAt(i + 1);
-                if (c1 == '\\' || c1 == '"' || c1 == '\'' || c1 == '#'
-                        || c1 == '$') {
+                char c2 = image.charAt(i + 2);
+                if ((c1 == '#' || c1 == '$') && c2 == '{')  {
                     c = c1;
                     i++;
                 }

Modified: tomcat/tc6.0.x/trunk/java/org/apache/el/parser/AstString.java
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/el/parser/AstString.java?rev=899148&r1=899147&r2=899148&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/el/parser/AstString.java (original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/el/parser/AstString.java Thu Jan 14 10:27:15 2010
@@ -62,8 +62,7 @@
             char c = image.charAt(i);
             if (c == '\\' && i + 1 < size) {
                 char c1 = image.charAt(i + 1);
-                if (c1 == '\\' || c1 == '"' || c1 == '\'' || c1 == '#'
-                        || c1 == '$') {
+                if (c1 == '\\' || c1 == '"' || c1 == '\'') {
                     c = c1;
                     i++;
                 }

Modified: tomcat/tc6.0.x/trunk/java/org/apache/el/parser/ELParser.java
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/el/parser/ELParser.java?rev=899148&r1=899147&r2=899148&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/el/parser/ELParser.java (original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/el/parser/ELParser.java Thu Jan 14 10:27:15 2010
@@ -1486,9 +1486,9 @@
   private boolean jj_3R_29() {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_scan_token(29)) {
+    if (jj_scan_token(27)) {
     jj_scanpos = xsp;
-    if (jj_scan_token(30)) return true;
+    if (jj_scan_token(28)) return true;
     }
     return false;
   }
@@ -1501,9 +1501,9 @@
   private boolean jj_3R_28() {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_scan_token(31)) {
+    if (jj_scan_token(29)) {
     jj_scanpos = xsp;
-    if (jj_scan_token(32)) return true;
+    if (jj_scan_token(30)) return true;
     }
     return false;
   }
@@ -1511,9 +1511,9 @@
   private boolean jj_3R_27() {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_scan_token(25)) {
+    if (jj_scan_token(23)) {
     jj_scanpos = xsp;
-    if (jj_scan_token(26)) return true;
+    if (jj_scan_token(24)) return true;
     }
     return false;
   }
@@ -1537,9 +1537,9 @@
   private boolean jj_3R_26() {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_scan_token(27)) {
+    if (jj_scan_token(25)) {
     jj_scanpos = xsp;
-    if (jj_scan_token(28)) return true;
+    if (jj_scan_token(26)) return true;
     }
     return false;
   }
@@ -1577,9 +1577,9 @@
   private boolean jj_3R_23() {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_scan_token(35)) {
+    if (jj_scan_token(33)) {
     jj_scanpos = xsp;
-    if (jj_scan_token(36)) return true;
+    if (jj_scan_token(34)) return true;
     }
     return false;
   }
@@ -1592,9 +1592,9 @@
   private boolean jj_3R_22() {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_scan_token(33)) {
+    if (jj_scan_token(31)) {
     jj_scanpos = xsp;
-    if (jj_scan_token(34)) return true;
+    if (jj_scan_token(32)) return true;
     }
     return false;
   }
@@ -1612,9 +1612,9 @@
   private boolean jj_3R_17() {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_scan_token(39)) {
+    if (jj_scan_token(37)) {
     jj_scanpos = xsp;
-    if (jj_scan_token(40)) return true;
+    if (jj_scan_token(38)) return true;
     }
     return false;
   }
@@ -1692,9 +1692,9 @@
   private boolean jj_3R_15() {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_scan_token(41)) {
+    if (jj_scan_token(39)) {
     jj_scanpos = xsp;
-    if (jj_scan_token(42)) return true;
+    if (jj_scan_token(40)) return true;
     }
     return false;
   }
@@ -1809,9 +1809,9 @@
   private boolean jj_3R_35() {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_scan_token(37)) {
+    if (jj_scan_token(35)) {
     jj_scanpos = xsp;
-    if (jj_scan_token(38)) return true;
+    if (jj_scan_token(36)) return true;
     }
     if (jj_3R_30()) return true;
     return false;
@@ -1847,9 +1847,9 @@
   private boolean jj_3R_40() {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_scan_token(51)) {
+    if (jj_scan_token(49)) {
     jj_scanpos = xsp;
-    if (jj_scan_token(52)) return true;
+    if (jj_scan_token(50)) return true;
     }
     return false;
   }
@@ -1857,9 +1857,9 @@
   private boolean jj_3R_39() {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_scan_token(49)) {
+    if (jj_scan_token(47)) {
     jj_scanpos = xsp;
-    if (jj_scan_token(50)) return true;
+    if (jj_scan_token(48)) return true;
     }
     return false;
   }
@@ -1916,10 +1916,10 @@
       jj_la1_init_1();
    }
    private static void jj_la1_init_0() {
-      jj_la1_0 = new int[] {0xe,0xe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfe000000,0x18000000,0x6000000,0x80000000,0x60000000,0xfe000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x9d600,0x240000,0x9d600,0x240000,0x80000,0x0,0x1000000,0x9d600,0x1d600,0xc000,};
+      jj_la1_0 = new int[] {0xe,0xe,0x0,0x0,0x0,0x0,0x80000000,0x80000000,0x0,0x80000000,0x7f800000,0x6000000,0x1800000,0x60000000,0x18000000,0x7f800000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x27b00,0x90000,0x27b00,0x90000,0x20000,0x0,0x400000,0x27b00,0x7b00,0x3000,};
    }
    private static void jj_la1_init_1() {
-      jj_la1_1 = new int[] {0x0,0x0,0x600,0x600,0x180,0x180,0x1e,0x6,0x18,0x1e,0x1,0x0,0x0,0x1,0x0,0x1,0xc000,0xc000,0x1e2000,0x60000,0x180000,0x1e2000,0x60,0x208860,0x0,0x200000,0x0,0x0,0x200000,0x0,0x208860,0x0,0x0,};
+      jj_la1_1 = new int[] {0x0,0x0,0x180,0x180,0x60,0x60,0x7,0x1,0x6,0x7,0x0,0x0,0x0,0x0,0x0,0x0,0x3000,0x3000,0x78800,0x18000,0x60000,0x78800,0x18,0x82218,0x0,0x80000,0x0,0x0,0x80000,0x0,0x82218,0x0,0x0,};
    }
   final private JJCalls[] jj_2_rtns = new JJCalls[3];
   private boolean jj_rescan = false;
@@ -2074,7 +2074,7 @@
       return (jj_ntk = jj_nt.kind);
   }
 
-  private java.util.List jj_expentries = new java.util.ArrayList();
+  private java.util.List<int[]> jj_expentries = new java.util.ArrayList<int[]>();
   private int[] jj_expentry;
   private int jj_kind = -1;
   private int[] jj_lasttokens = new int[100];
@@ -2089,7 +2089,7 @@
       for (int i = 0; i < jj_endpos; i++) {
         jj_expentry[i] = jj_lasttokens[i];
       }
-      jj_entries_loop: for (java.util.Iterator it = jj_expentries.iterator(); it.hasNext();) {
+      jj_entries_loop: for (java.util.Iterator<?> it = jj_expentries.iterator(); it.hasNext();) {
         int[] oldentry = (int[])(it.next());
         if (oldentry.length == jj_expentry.length) {
           for (int i = 0; i < jj_expentry.length; i++) {
@@ -2108,7 +2108,7 @@
   /** Generate ParseException. */
   public ParseException generateParseException() {
     jj_expentries.clear();
-    boolean[] la1tokens = new boolean[59];
+    boolean[] la1tokens = new boolean[57];
     if (jj_kind >= 0) {
       la1tokens[jj_kind] = true;
       jj_kind = -1;
@@ -2125,7 +2125,7 @@
         }
       }
     }
-    for (int i = 0; i < 59; i++) {
+    for (int i = 0; i < 57; i++) {
       if (la1tokens[i]) {
         jj_expentry = new int[1];
         jj_expentry[0] = i;
@@ -2137,7 +2137,7 @@
     jj_add_error_token(0, 0);
     int[][] exptokseq = new int[jj_expentries.size()][];
     for (int i = 0; i < jj_expentries.size(); i++) {
-      exptokseq[i] = (int[])jj_expentries.get(i);
+      exptokseq[i] = jj_expentries.get(i);
     }
     return new ParseException(token, exptokseq, tokenImage);
   }

Modified: tomcat/tc6.0.x/trunk/java/org/apache/el/parser/ELParser.jjt
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/el/parser/ELParser.jjt?rev=899148&r1=899147&r2=899148&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/el/parser/ELParser.jjt (original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/el/parser/ELParser.jjt Thu Jan 14 10:27:15 2010
@@ -353,11 +353,15 @@
 /* ==================================================================================== */
 <DEFAULT> TOKEN :
 {
+  /*
+   * The following definition uses + rather than * in two places to prevent
+   * LITERAL_EXPRESSION matching the empty string that could result in the
+   * Parser entering an infinite loop.
+   */
   < LITERAL_EXPRESSION:
-    ((~["\\", "$", "#"])
-      | ("\\" ("\\" | "$" | "#"))
-      | ("$" ~["{", "$"])
-      | ("#" ~["{", "#"])
+    (   (~["$", "#", "\\"])* "\\" (["$", "#"])?
+      | (~["$", "#"])* (["$", "#"] ~["{"])
+      | (~["$", "#"])+
     )+
     | "$"
     | "#"
@@ -368,8 +372,6 @@
   < START_DEFERRED_EXPRESSION: "#{" > : IN_EXPRESSION
 }
 
-<DEFAULT> SKIP : { "\\" }
-
 <IN_EXPRESSION> SKIP : { " " | "\t" | "\n" | "\r" }
 
 <IN_EXPRESSION> TOKEN :
@@ -381,12 +383,9 @@
     >
 |    < #EXPONENT: ["e","E"] (["+","-"])? (["0"-"9"])+ >
 |    < STRING_LITERAL: ("\"" ((~["\"","\\"])
-        | ("\\" ( ["\\","\""] )))* "\"")
+        | ("\\" ( ["\\","\"","\'"] )))* "\"")
         | ("\'" ((~["\'","\\"])
-        | ("\\" ( ["\\","\'"] )))* "\'")
-    >
-|    < BADLY_ESCAPED_STRING_LITERAL: ("\"" (~["\"","\\"])* ("\\" ( ~["\\","\""] )))
-        | ("\'" (~["\'","\\"])* ("\\" ( ~["\\","\'"] )))
+        | ("\\" ( ["\\","\"","\'"] )))* "\'")
     >
 |    < TRUE : "true" >
 |    < FALSE : "false" >

Modified: tomcat/tc6.0.x/trunk/java/org/apache/el/parser/ELParserConstants.java
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/el/parser/ELParserConstants.java?rev=899148&r1=899147&r2=899148&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/el/parser/ELParserConstants.java (original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/el/parser/ELParserConstants.java Thu Jan 14 10:27:15 2010
@@ -17,105 +17,103 @@
   /** RegularExpression Id. */
   int START_DEFERRED_EXPRESSION = 3;
   /** RegularExpression Id. */
-  int INTEGER_LITERAL = 9;
+  int INTEGER_LITERAL = 8;
   /** RegularExpression Id. */
-  int FLOATING_POINT_LITERAL = 10;
+  int FLOATING_POINT_LITERAL = 9;
   /** RegularExpression Id. */
-  int EXPONENT = 11;
+  int EXPONENT = 10;
   /** RegularExpression Id. */
-  int STRING_LITERAL = 12;
+  int STRING_LITERAL = 11;
   /** RegularExpression Id. */
-  int BADLY_ESCAPED_STRING_LITERAL = 13;
+  int TRUE = 12;
   /** RegularExpression Id. */
-  int TRUE = 14;
+  int FALSE = 13;
   /** RegularExpression Id. */
-  int FALSE = 15;
+  int NULL = 14;
   /** RegularExpression Id. */
-  int NULL = 16;
+  int END_EXPRESSION = 15;
   /** RegularExpression Id. */
-  int END_EXPRESSION = 17;
+  int DOT = 16;
   /** RegularExpression Id. */
-  int DOT = 18;
+  int LPAREN = 17;
   /** RegularExpression Id. */
-  int LPAREN = 19;
+  int RPAREN = 18;
   /** RegularExpression Id. */
-  int RPAREN = 20;
+  int LBRACK = 19;
   /** RegularExpression Id. */
-  int LBRACK = 21;
+  int RBRACK = 20;
   /** RegularExpression Id. */
-  int RBRACK = 22;
+  int COLON = 21;
   /** RegularExpression Id. */
-  int COLON = 23;
+  int COMMA = 22;
   /** RegularExpression Id. */
-  int COMMA = 24;
+  int GT0 = 23;
   /** RegularExpression Id. */
-  int GT0 = 25;
+  int GT1 = 24;
   /** RegularExpression Id. */
-  int GT1 = 26;
+  int LT0 = 25;
   /** RegularExpression Id. */
-  int LT0 = 27;
+  int LT1 = 26;
   /** RegularExpression Id. */
-  int LT1 = 28;
+  int GE0 = 27;
   /** RegularExpression Id. */
-  int GE0 = 29;
+  int GE1 = 28;
   /** RegularExpression Id. */
-  int GE1 = 30;
+  int LE0 = 29;
   /** RegularExpression Id. */
-  int LE0 = 31;
+  int LE1 = 30;
   /** RegularExpression Id. */
-  int LE1 = 32;
+  int EQ0 = 31;
   /** RegularExpression Id. */
-  int EQ0 = 33;
+  int EQ1 = 32;
   /** RegularExpression Id. */
-  int EQ1 = 34;
+  int NE0 = 33;
   /** RegularExpression Id. */
-  int NE0 = 35;
+  int NE1 = 34;
   /** RegularExpression Id. */
-  int NE1 = 36;
+  int NOT0 = 35;
   /** RegularExpression Id. */
-  int NOT0 = 37;
+  int NOT1 = 36;
   /** RegularExpression Id. */
-  int NOT1 = 38;
+  int AND0 = 37;
   /** RegularExpression Id. */
-  int AND0 = 39;
+  int AND1 = 38;
   /** RegularExpression Id. */
-  int AND1 = 40;
+  int OR0 = 39;
   /** RegularExpression Id. */
-  int OR0 = 41;
+  int OR1 = 40;
   /** RegularExpression Id. */
-  int OR1 = 42;
+  int EMPTY = 41;
   /** RegularExpression Id. */
-  int EMPTY = 43;
+  int INSTANCEOF = 42;
   /** RegularExpression Id. */
-  int INSTANCEOF = 44;
+  int MULT = 43;
   /** RegularExpression Id. */
-  int MULT = 45;
+  int PLUS = 44;
   /** RegularExpression Id. */
-  int PLUS = 46;
+  int MINUS = 45;
   /** RegularExpression Id. */
-  int MINUS = 47;
+  int QUESTIONMARK = 46;
   /** RegularExpression Id. */
-  int QUESTIONMARK = 48;
+  int DIV0 = 47;
   /** RegularExpression Id. */
-  int DIV0 = 49;
+  int DIV1 = 48;
   /** RegularExpression Id. */
-  int DIV1 = 50;
+  int MOD0 = 49;
   /** RegularExpression Id. */
-  int MOD0 = 51;
+  int MOD1 = 50;
   /** RegularExpression Id. */
-  int MOD1 = 52;
+  int IDENTIFIER = 51;
   /** RegularExpression Id. */
-  int IDENTIFIER = 53;
+  int FUNCTIONSUFFIX = 52;
   /** RegularExpression Id. */
-  int FUNCTIONSUFFIX = 54;
+  int IMPL_OBJ_START = 53;
   /** RegularExpression Id. */
-  int IMPL_OBJ_START = 55;
+  int LETTER = 54;
   /** RegularExpression Id. */
-  int LETTER = 56;
+  int DIGIT = 55;
   /** RegularExpression Id. */
-  int DIGIT = 57;
-  /** RegularExpression Id. */
-  int ILLEGAL_CHARACTER = 58;
+  int ILLEGAL_CHARACTER = 56;
 
   /** Lexical state. */
   int DEFAULT = 0;
@@ -128,7 +126,6 @@
     "<LITERAL_EXPRESSION>",
     "\"${\"",
     "\"#{\"",
-    "\"\\\\\"",
     "\" \"",
     "\"\\t\"",
     "\"\\n\"",
@@ -137,7 +134,6 @@
     "<FLOATING_POINT_LITERAL>",
     "<EXPONENT>",
     "<STRING_LITERAL>",
-    "<BADLY_ESCAPED_STRING_LITERAL>",
     "\"true\"",
     "\"false\"",
     "\"null\"",

Modified: tomcat/tc6.0.x/trunk/java/org/apache/el/parser/ELParserTokenManager.java
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/el/parser/ELParserTokenManager.java?rev=899148&r1=899147&r2=899148&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/el/parser/ELParserTokenManager.java (original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/el/parser/ELParserTokenManager.java Thu Jan 14 10:27:15 2010
@@ -16,17 +16,10 @@
    switch (pos)
    {
       case 0:
-         if ((active0 & 0x10L) != 0L)
-            return 2;
-         if ((active0 & 0x4L) != 0L)
+         if ((active0 & 0xcL) != 0L)
          {
             jjmatchedKind = 1;
-            return 4;
-         }
-         if ((active0 & 0x8L) != 0L)
-         {
-            jjmatchedKind = 1;
-            return 6;
+            return 5;
          }
          return -1;
       default :
@@ -51,8 +44,6 @@
          return jjMoveStringLiteralDfa1_0(0x8L);
       case 36:
          return jjMoveStringLiteralDfa1_0(0x4L);
-      case 92:
-         return jjStartNfaWithStates_0(0, 4, 2);
       default :
          return jjMoveNfa_0(7, 0);
    }
@@ -77,14 +68,6 @@
    }
    return jjStartNfa_0(0, active0);
 }
-private int jjStartNfaWithStates_0(int pos, int kind, int state)
-{
-   jjmatchedKind = kind;
-   jjmatchedPos = pos;
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) { return pos + 1; }
-   return jjMoveNfa_0(state, pos + 1);
-}
 static final long[] jjbitVec0 = {
    0xfffffffffffffffeL, 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffffffffffffL
 };
@@ -114,53 +97,47 @@
                   {
                      if (kind > 1)
                         kind = 1;
-                     jjCheckNAddStates(0, 3);
+                     jjCheckNAddStates(0, 4);
                   }
                   else if ((0x1800000000L & l) != 0L)
                   {
                      if (kind > 1)
                         kind = 1;
+                     jjCheckNAdd(5);
                   }
-                  if (curChar == 35)
-                     jjstateSet[jjnewStateCnt++] = 6;
-                  else if (curChar == 36)
-                     jjstateSet[jjnewStateCnt++] = 4;
+                  if ((0xffffffe7ffffffffL & l) != 0L)
+                     jjCheckNAddTwoStates(0, 1);
                   break;
                case 0:
-                  if ((0xffffffe7ffffffffL & l) == 0L)
-                     break;
-                  if (kind > 1)
-                     kind = 1;
-                  jjCheckNAddStates(0, 3);
+                  if ((0xffffffe7ffffffffL & l) != 0L)
+                     jjCheckNAddTwoStates(0, 1);
                   break;
                case 2:
-                  if ((0x1800000000L & l) == 0L)
+                  if ((0xffffffe7ffffffffL & l) == 0L)
                      break;
                   if (kind > 1)
                      kind = 1;
-                  jjCheckNAddStates(0, 3);
+                  jjCheckNAddStates(0, 4);
                   break;
                case 3:
-                  if (curChar == 36)
-                     jjstateSet[jjnewStateCnt++] = 4;
+                  if ((0xffffffe7ffffffffL & l) != 0L)
+                     jjCheckNAddTwoStates(3, 4);
                   break;
                case 4:
-                  if ((0xffffffefffffffffL & l) == 0L)
-                     break;
-                  if (kind > 1)
-                     kind = 1;
-                  jjCheckNAddStates(0, 3);
+                  if ((0x1800000000L & l) != 0L)
+                     jjCheckNAdd(5);
                   break;
                case 5:
-                  if (curChar == 35)
-                     jjstateSet[jjnewStateCnt++] = 6;
+                  if (kind > 1)
+                     kind = 1;
+                  jjCheckNAddStates(5, 8);
                   break;
                case 6:
-                  if ((0xfffffff7ffffffffL & l) == 0L)
+                  if ((0x1800000000L & l) == 0L)
                      break;
                   if (kind > 1)
                      kind = 1;
-                  jjCheckNAddStates(0, 3);
+                  jjCheckNAddStates(9, 13);
                   break;
                default : break;
             }
@@ -174,40 +151,43 @@
             switch(jjstateSet[--i])
             {
                case 7:
+                  if (kind > 1)
+                     kind = 1;
+                  jjCheckNAddStates(0, 4);
                   if ((0xffffffffefffffffL & l) != 0L)
+                     jjCheckNAddTwoStates(0, 1);
+                  else if (curChar == 92)
                   {
                      if (kind > 1)
                         kind = 1;
-                     jjCheckNAddStates(0, 3);
+                     jjCheckNAddStates(14, 17);
                   }
-                  else if (curChar == 92)
-                     jjstateSet[jjnewStateCnt++] = 2;
                   break;
                case 0:
-                  if ((0xffffffffefffffffL & l) == 0L)
+                  if ((0xffffffffefffffffL & l) != 0L)
+                     jjCheckNAddTwoStates(0, 1);
+                  break;
+               case 1:
+                  if (curChar != 92)
                      break;
                   if (kind > 1)
                      kind = 1;
-                  jjCheckNAddStates(0, 3);
-                  break;
-               case 1:
-                  if (curChar == 92)
-                     jjstateSet[jjnewStateCnt++] = 2;
+                  jjCheckNAddStates(14, 17);
                   break;
                case 2:
-                  if (curChar != 92)
-                     break;
                   if (kind > 1)
                      kind = 1;
-                  jjCheckNAddStates(0, 3);
+                  jjCheckNAddStates(0, 4);
                   break;
-               case 4:
-               case 6:
+               case 3:
+                  jjCheckNAddTwoStates(3, 4);
+                  break;
+               case 5:
                   if ((0xf7ffffffffffffffL & l) == 0L)
                      break;
                   if (kind > 1)
                      kind = 1;
-                  jjCheckNAddStates(0, 3);
+                  jjCheckNAddStates(5, 8);
                   break;
                default : break;
             }
@@ -225,14 +205,36 @@
             switch(jjstateSet[--i])
             {
                case 7:
+                  if (jjCanMove_0(hiByte, i1, i2, l1, l2))
+                     jjCheckNAddTwoStates(0, 1);
+                  if (jjCanMove_0(hiByte, i1, i2, l1, l2))
+                  {
+                     if (kind > 1)
+                        kind = 1;
+                     jjCheckNAddStates(0, 4);
+                  }
+                  break;
                case 0:
-               case 4:
-               case 6:
+                  if (jjCanMove_0(hiByte, i1, i2, l1, l2))
+                     jjCheckNAddTwoStates(0, 1);
+                  break;
+               case 2:
+                  if (!jjCanMove_0(hiByte, i1, i2, l1, l2))
+                     break;
+                  if (kind > 1)
+                     kind = 1;
+                  jjCheckNAddStates(0, 4);
+                  break;
+               case 3:
+                  if (jjCanMove_0(hiByte, i1, i2, l1, l2))
+                     jjCheckNAddTwoStates(3, 4);
+                  break;
+               case 5:
                   if (!jjCanMove_0(hiByte, i1, i2, l1, l2))
                      break;
                   if (kind > 1)
                      kind = 1;
-                  jjCheckNAddStates(0, 3);
+                  jjCheckNAddStates(5, 8);
                   break;
                default : break;
             }
@@ -256,84 +258,84 @@
    switch (pos)
    {
       case 0:
-         if ((active0 & 0x40000L) != 0L)
+         if ((active0 & 0x10000L) != 0L)
             return 1;
-         if ((active0 & 0x141d555401c000L) != 0L)
+         if ((active0 & 0x5075555007000L) != 0L)
          {
-            jjmatchedKind = 53;
-            return 36;
+            jjmatchedKind = 51;
+            return 30;
          }
          return -1;
       case 1:
-         if ((active0 & 0x41554000000L) != 0L)
-            return 36;
-         if ((active0 & 0x1419400001c000L) != 0L)
+         if ((active0 & 0x5065000007000L) != 0L)
          {
-            jjmatchedKind = 53;
+            jjmatchedKind = 51;
             jjmatchedPos = 1;
-            return 36;
+            return 30;
          }
+         if ((active0 & 0x10555000000L) != 0L)
+            return 30;
          return -1;
       case 2:
-         if ((active0 & 0x18000001c000L) != 0L)
+         if ((active0 & 0x5005000000000L) != 0L)
+            return 30;
+         if ((active0 & 0x60000007000L) != 0L)
          {
-            jjmatchedKind = 53;
+            jjmatchedKind = 51;
             jjmatchedPos = 2;
-            return 36;
+            return 30;
          }
-         if ((active0 & 0x14014000000000L) != 0L)
-            return 36;
          return -1;
       case 3:
-         if ((active0 & 0x14000L) != 0L)
-            return 36;
-         if ((active0 & 0x180000008000L) != 0L)
+         if ((active0 & 0x5000L) != 0L)
+            return 30;
+         if ((active0 & 0x60000002000L) != 0L)
          {
-            jjmatchedKind = 53;
+            jjmatchedKind = 51;
             jjmatchedPos = 3;
-            return 36;
+            return 30;
          }
          return -1;
       case 4:
-         if ((active0 & 0x80000008000L) != 0L)
-            return 36;
-         if ((active0 & 0x100000000000L) != 0L)
+         if ((active0 & 0x40000000000L) != 0L)
          {
-            jjmatchedKind = 53;
+            jjmatchedKind = 51;
             jjmatchedPos = 4;
-            return 36;
+            return 30;
          }
+         if ((active0 & 0x20000002000L) != 0L)
+            return 30;
          return -1;
       case 5:
-         if ((active0 & 0x100000000000L) != 0L)
+         if ((active0 & 0x40000000000L) != 0L)
          {
-            jjmatchedKind = 53;
+            jjmatchedKind = 51;
             jjmatchedPos = 5;
-            return 36;
+            return 30;
          }
          return -1;
       case 6:
-         if ((active0 & 0x100000000000L) != 0L)
+         if ((active0 & 0x40000000000L) != 0L)
          {
-            jjmatchedKind = 53;
+            jjmatchedKind = 51;
             jjmatchedPos = 6;
-            return 36;
+            return 30;
          }
          return -1;
       case 7:
-         if ((active0 & 0x100000000000L) != 0L)
+         if ((active0 & 0x40000000000L) != 0L)
          {
-            jjmatchedKind = 53;
+            jjmatchedKind = 51;
             jjmatchedPos = 7;
-            return 36;
+            return 30;
          }
          return -1;
       case 8:
-         if ((active0 & 0x100000000000L) != 0L)
+         if ((active0 & 0x40000000000L) != 0L)
          {
-            jjmatchedKind = 53;
+            jjmatchedKind = 51;
             jjmatchedPos = 8;
-            return 36;
+            return 30;
          }
          return -1;
       default :
@@ -349,70 +351,70 @@
    switch(curChar)
    {
       case 33:
-         jjmatchedKind = 37;
-         return jjMoveStringLiteralDfa1_1(0x800000000L);
+         jjmatchedKind = 35;
+         return jjMoveStringLiteralDfa1_1(0x200000000L);
       case 37:
-         return jjStopAtPos(0, 51);
+         return jjStopAtPos(0, 49);
       case 38:
-         return jjMoveStringLiteralDfa1_1(0x8000000000L);
+         return jjMoveStringLiteralDfa1_1(0x2000000000L);
       case 40:
-         return jjStopAtPos(0, 19);
+         return jjStopAtPos(0, 17);
       case 41:
-         return jjStopAtPos(0, 20);
+         return jjStopAtPos(0, 18);
       case 42:
-         return jjStopAtPos(0, 45);
+         return jjStopAtPos(0, 43);
       case 43:
-         return jjStopAtPos(0, 46);
+         return jjStopAtPos(0, 44);
       case 44:
-         return jjStopAtPos(0, 24);
+         return jjStopAtPos(0, 22);
       case 45:
-         return jjStopAtPos(0, 47);
+         return jjStopAtPos(0, 45);
       case 46:
-         return jjStartNfaWithStates_1(0, 18, 1);
+         return jjStartNfaWithStates_1(0, 16, 1);
       case 47:
-         return jjStopAtPos(0, 49);
+         return jjStopAtPos(0, 47);
       case 58:
-         return jjStopAtPos(0, 23);
+         return jjStopAtPos(0, 21);
       case 60:
-         jjmatchedKind = 27;
-         return jjMoveStringLiteralDfa1_1(0x80000000L);
-      case 61:
-         return jjMoveStringLiteralDfa1_1(0x200000000L);
-      case 62:
          jjmatchedKind = 25;
          return jjMoveStringLiteralDfa1_1(0x20000000L);
+      case 61:
+         return jjMoveStringLiteralDfa1_1(0x80000000L);
+      case 62:
+         jjmatchedKind = 23;
+         return jjMoveStringLiteralDfa1_1(0x8000000L);
       case 63:
-         return jjStopAtPos(0, 48);
+         return jjStopAtPos(0, 46);
       case 91:
-         return jjStopAtPos(0, 21);
+         return jjStopAtPos(0, 19);
       case 93:
-         return jjStopAtPos(0, 22);
+         return jjStopAtPos(0, 20);
       case 97:
-         return jjMoveStringLiteralDfa1_1(0x10000000000L);
+         return jjMoveStringLiteralDfa1_1(0x4000000000L);
       case 100:
-         return jjMoveStringLiteralDfa1_1(0x4000000000000L);
+         return jjMoveStringLiteralDfa1_1(0x1000000000000L);
       case 101:
-         return jjMoveStringLiteralDfa1_1(0x80400000000L);
+         return jjMoveStringLiteralDfa1_1(0x20100000000L);
       case 102:
-         return jjMoveStringLiteralDfa1_1(0x8000L);
+         return jjMoveStringLiteralDfa1_1(0x2000L);
       case 103:
-         return jjMoveStringLiteralDfa1_1(0x44000000L);
+         return jjMoveStringLiteralDfa1_1(0x11000000L);
       case 105:
-         return jjMoveStringLiteralDfa1_1(0x100000000000L);
+         return jjMoveStringLiteralDfa1_1(0x40000000000L);
       case 108:
-         return jjMoveStringLiteralDfa1_1(0x110000000L);
+         return jjMoveStringLiteralDfa1_1(0x44000000L);
       case 109:
-         return jjMoveStringLiteralDfa1_1(0x10000000000000L);
+         return jjMoveStringLiteralDfa1_1(0x4000000000000L);
       case 110:
-         return jjMoveStringLiteralDfa1_1(0x5000010000L);
+         return jjMoveStringLiteralDfa1_1(0x1400004000L);
       case 111:
-         return jjMoveStringLiteralDfa1_1(0x40000000000L);
+         return jjMoveStringLiteralDfa1_1(0x10000000000L);
       case 116:
-         return jjMoveStringLiteralDfa1_1(0x4000L);
+         return jjMoveStringLiteralDfa1_1(0x1000L);
       case 124:
-         return jjMoveStringLiteralDfa1_1(0x20000000000L);
+         return jjMoveStringLiteralDfa1_1(0x8000000000L);
       case 125:
-         return jjStopAtPos(0, 17);
+         return jjStopAtPos(0, 15);
       default :
          return jjMoveNfa_1(0, 0);
    }
@@ -427,56 +429,56 @@
    switch(curChar)
    {
       case 38:
-         if ((active0 & 0x8000000000L) != 0L)
-            return jjStopAtPos(1, 39);
+         if ((active0 & 0x2000000000L) != 0L)
+            return jjStopAtPos(1, 37);
          break;
       case 61:
-         if ((active0 & 0x20000000L) != 0L)
+         if ((active0 & 0x8000000L) != 0L)
+            return jjStopAtPos(1, 27);
+         else if ((active0 & 0x20000000L) != 0L)
             return jjStopAtPos(1, 29);
          else if ((active0 & 0x80000000L) != 0L)
             return jjStopAtPos(1, 31);
          else if ((active0 & 0x200000000L) != 0L)
             return jjStopAtPos(1, 33);
-         else if ((active0 & 0x800000000L) != 0L)
-            return jjStopAtPos(1, 35);
          break;
       case 97:
-         return jjMoveStringLiteralDfa2_1(active0, 0x8000L);
+         return jjMoveStringLiteralDfa2_1(active0, 0x2000L);
       case 101:
-         if ((active0 & 0x40000000L) != 0L)
-            return jjStartNfaWithStates_1(1, 30, 36);
-         else if ((active0 & 0x100000000L) != 0L)
-            return jjStartNfaWithStates_1(1, 32, 36);
-         else if ((active0 & 0x1000000000L) != 0L)
-            return jjStartNfaWithStates_1(1, 36, 36);
+         if ((active0 & 0x10000000L) != 0L)
+            return jjStartNfaWithStates_1(1, 28, 30);
+         else if ((active0 & 0x40000000L) != 0L)
+            return jjStartNfaWithStates_1(1, 30, 30);
+         else if ((active0 & 0x400000000L) != 0L)
+            return jjStartNfaWithStates_1(1, 34, 30);
          break;
       case 105:
-         return jjMoveStringLiteralDfa2_1(active0, 0x4000000000000L);
+         return jjMoveStringLiteralDfa2_1(active0, 0x1000000000000L);
       case 109:
-         return jjMoveStringLiteralDfa2_1(active0, 0x80000000000L);
+         return jjMoveStringLiteralDfa2_1(active0, 0x20000000000L);
       case 110:
-         return jjMoveStringLiteralDfa2_1(active0, 0x110000000000L);
+         return jjMoveStringLiteralDfa2_1(active0, 0x44000000000L);
       case 111:
-         return jjMoveStringLiteralDfa2_1(active0, 0x10004000000000L);
+         return jjMoveStringLiteralDfa2_1(active0, 0x4001000000000L);
       case 113:
-         if ((active0 & 0x400000000L) != 0L)
-            return jjStartNfaWithStates_1(1, 34, 36);
+         if ((active0 & 0x100000000L) != 0L)
+            return jjStartNfaWithStates_1(1, 32, 30);
          break;
       case 114:
-         if ((active0 & 0x40000000000L) != 0L)
-            return jjStartNfaWithStates_1(1, 42, 36);
-         return jjMoveStringLiteralDfa2_1(active0, 0x4000L);
+         if ((active0 & 0x10000000000L) != 0L)
+            return jjStartNfaWithStates_1(1, 40, 30);
+         return jjMoveStringLiteralDfa2_1(active0, 0x1000L);
       case 116:
-         if ((active0 & 0x4000000L) != 0L)
-            return jjStartNfaWithStates_1(1, 26, 36);
-         else if ((active0 & 0x10000000L) != 0L)
-            return jjStartNfaWithStates_1(1, 28, 36);
+         if ((active0 & 0x1000000L) != 0L)
+            return jjStartNfaWithStates_1(1, 24, 30);
+         else if ((active0 & 0x4000000L) != 0L)
+            return jjStartNfaWithStates_1(1, 26, 30);
          break;
       case 117:
-         return jjMoveStringLiteralDfa2_1(active0, 0x10000L);
+         return jjMoveStringLiteralDfa2_1(active0, 0x4000L);
       case 124:
-         if ((active0 & 0x20000000000L) != 0L)
-            return jjStopAtPos(1, 41);
+         if ((active0 & 0x8000000000L) != 0L)
+            return jjStopAtPos(1, 39);
          break;
       default :
          break;
@@ -495,26 +497,26 @@
    switch(curChar)
    {
       case 100:
-         if ((active0 & 0x10000000000L) != 0L)
-            return jjStartNfaWithStates_1(2, 40, 36);
-         else if ((active0 & 0x10000000000000L) != 0L)
-            return jjStartNfaWithStates_1(2, 52, 36);
+         if ((active0 & 0x4000000000L) != 0L)
+            return jjStartNfaWithStates_1(2, 38, 30);
+         else if ((active0 & 0x4000000000000L) != 0L)
+            return jjStartNfaWithStates_1(2, 50, 30);
          break;
       case 108:
-         return jjMoveStringLiteralDfa3_1(active0, 0x18000L);
+         return jjMoveStringLiteralDfa3_1(active0, 0x6000L);
       case 112:
-         return jjMoveStringLiteralDfa3_1(active0, 0x80000000000L);
+         return jjMoveStringLiteralDfa3_1(active0, 0x20000000000L);
       case 115:
-         return jjMoveStringLiteralDfa3_1(active0, 0x100000000000L);
+         return jjMoveStringLiteralDfa3_1(active0, 0x40000000000L);
       case 116:
-         if ((active0 & 0x4000000000L) != 0L)
-            return jjStartNfaWithStates_1(2, 38, 36);
+         if ((active0 & 0x1000000000L) != 0L)
+            return jjStartNfaWithStates_1(2, 36, 30);
          break;
       case 117:
-         return jjMoveStringLiteralDfa3_1(active0, 0x4000L);
+         return jjMoveStringLiteralDfa3_1(active0, 0x1000L);
       case 118:
-         if ((active0 & 0x4000000000000L) != 0L)
-            return jjStartNfaWithStates_1(2, 50, 36);
+         if ((active0 & 0x1000000000000L) != 0L)
+            return jjStartNfaWithStates_1(2, 48, 30);
          break;
       default :
          break;
@@ -533,17 +535,17 @@
    switch(curChar)
    {
       case 101:
-         if ((active0 & 0x4000L) != 0L)
-            return jjStartNfaWithStates_1(3, 14, 36);
+         if ((active0 & 0x1000L) != 0L)
+            return jjStartNfaWithStates_1(3, 12, 30);
          break;
       case 108:
-         if ((active0 & 0x10000L) != 0L)
-            return jjStartNfaWithStates_1(3, 16, 36);
+         if ((active0 & 0x4000L) != 0L)
+            return jjStartNfaWithStates_1(3, 14, 30);
          break;
       case 115:
-         return jjMoveStringLiteralDfa4_1(active0, 0x8000L);
+         return jjMoveStringLiteralDfa4_1(active0, 0x2000L);
       case 116:
-         return jjMoveStringLiteralDfa4_1(active0, 0x180000000000L);
+         return jjMoveStringLiteralDfa4_1(active0, 0x60000000000L);
       default :
          break;
    }
@@ -561,14 +563,14 @@
    switch(curChar)
    {
       case 97:
-         return jjMoveStringLiteralDfa5_1(active0, 0x100000000000L);
+         return jjMoveStringLiteralDfa5_1(active0, 0x40000000000L);
       case 101:
-         if ((active0 & 0x8000L) != 0L)
-            return jjStartNfaWithStates_1(4, 15, 36);
+         if ((active0 & 0x2000L) != 0L)
+            return jjStartNfaWithStates_1(4, 13, 30);
          break;
       case 121:
-         if ((active0 & 0x80000000000L) != 0L)
-            return jjStartNfaWithStates_1(4, 43, 36);
+         if ((active0 & 0x20000000000L) != 0L)
+            return jjStartNfaWithStates_1(4, 41, 30);
          break;
       default :
          break;
@@ -587,7 +589,7 @@
    switch(curChar)
    {
       case 110:
-         return jjMoveStringLiteralDfa6_1(active0, 0x100000000000L);
+         return jjMoveStringLiteralDfa6_1(active0, 0x40000000000L);
       default :
          break;
    }
@@ -605,7 +607,7 @@
    switch(curChar)
    {
       case 99:
-         return jjMoveStringLiteralDfa7_1(active0, 0x100000000000L);
+         return jjMoveStringLiteralDfa7_1(active0, 0x40000000000L);
       default :
          break;
    }
@@ -623,7 +625,7 @@
    switch(curChar)
    {
       case 101:
-         return jjMoveStringLiteralDfa8_1(active0, 0x100000000000L);
+         return jjMoveStringLiteralDfa8_1(active0, 0x40000000000L);
       default :
          break;
    }
@@ -641,7 +643,7 @@
    switch(curChar)
    {
       case 111:
-         return jjMoveStringLiteralDfa9_1(active0, 0x100000000000L);
+         return jjMoveStringLiteralDfa9_1(active0, 0x40000000000L);
       default :
          break;
    }
@@ -659,8 +661,8 @@
    switch(curChar)
    {
       case 102:
-         if ((active0 & 0x100000000000L) != 0L)
-            return jjStartNfaWithStates_1(9, 44, 36);
+         if ((active0 & 0x40000000000L) != 0L)
+            return jjStartNfaWithStates_1(9, 42, 30);
          break;
       default :
          break;
@@ -696,7 +698,7 @@
 private int jjMoveNfa_1(int startState, int curPos)
 {
    int startsAt = 0;
-   jjnewStateCnt = 36;
+   jjnewStateCnt = 30;
    int i = 1;
    jjstateSet[0] = startState;
    int kind = 0x7fffffff;
@@ -714,42 +716,42 @@
                case 0:
                   if ((0x3ff000000000000L & l) != 0L)
                   {
-                     if (kind > 9)
-                        kind = 9;
-                     jjCheckNAddStates(4, 8);
+                     if (kind > 8)
+                        kind = 8;
+                     jjCheckNAddStates(18, 22);
                   }
                   else if ((0x1800000000L & l) != 0L)
                   {
-                     if (kind > 53)
-                        kind = 53;
-                     jjCheckNAddTwoStates(34, 35);
+                     if (kind > 51)
+                        kind = 51;
+                     jjCheckNAddTwoStates(28, 29);
                   }
                   else if (curChar == 39)
-                     jjCheckNAddStates(9, 13);
+                     jjCheckNAddStates(23, 25);
                   else if (curChar == 34)
-                     jjCheckNAddStates(14, 18);
+                     jjCheckNAddStates(26, 28);
                   else if (curChar == 46)
                      jjCheckNAdd(1);
                   break;
-               case 36:
+               case 30:
                   if ((0x3ff001000000000L & l) != 0L)
                   {
-                     if (kind > 54)
-                        kind = 54;
-                     jjCheckNAdd(35);
+                     if (kind > 52)
+                        kind = 52;
+                     jjCheckNAdd(29);
                   }
                   if ((0x3ff001000000000L & l) != 0L)
                   {
-                     if (kind > 53)
-                        kind = 53;
-                     jjCheckNAdd(34);
+                     if (kind > 51)
+                        kind = 51;
+                     jjCheckNAdd(28);
                   }
                   break;
                case 1:
                   if ((0x3ff000000000000L & l) == 0L)
                      break;
-                  if (kind > 10)
-                     kind = 10;
+                  if (kind > 9)
+                     kind = 9;
                   jjCheckNAddTwoStates(1, 2);
                   break;
                case 3:
@@ -759,136 +761,120 @@
                case 4:
                   if ((0x3ff000000000000L & l) == 0L)
                      break;
-                  if (kind > 10)
-                     kind = 10;
+                  if (kind > 9)
+                     kind = 9;
                   jjCheckNAdd(4);
                   break;
                case 5:
-                  if ((0x3ff000000000000L & l) == 0L)
-                     break;
-                  if (kind > 9)
-                     kind = 9;
-                  jjCheckNAddStates(4, 8);
+                  if (curChar == 34)
+                     jjCheckNAddStates(26, 28);
                   break;
                case 6:
-                  if ((0x3ff000000000000L & l) == 0L)
-                     break;
-                  if (kind > 9)
-                     kind = 9;
-                  jjCheckNAdd(6);
-                  break;
-               case 7:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(7, 8);
+                  if ((0xfffffffbffffffffL & l) != 0L)
+                     jjCheckNAddStates(26, 28);
                   break;
                case 8:
-                  if (curChar != 46)
-                     break;
-                  if (kind > 10)
-                     kind = 10;
-                  jjCheckNAddTwoStates(9, 10);
+                  if ((0x8400000000L & l) != 0L)
+                     jjCheckNAddStates(26, 28);
                   break;
                case 9:
-                  if ((0x3ff000000000000L & l) == 0L)
-                     break;
-                  if (kind > 10)
-                     kind = 10;
-                  jjCheckNAddTwoStates(9, 10);
+                  if (curChar == 34 && kind > 11)
+                     kind = 11;
                   break;
-               case 11:
-                  if ((0x280000000000L & l) != 0L)
-                     jjCheckNAdd(12);
+               case 10:
+                  if (curChar == 39)
+                     jjCheckNAddStates(23, 25);
                   break;
-               case 12:
-                  if ((0x3ff000000000000L & l) == 0L)
-                     break;
-                  if (kind > 10)
-                     kind = 10;
-                  jjCheckNAdd(12);
+               case 11:
+                  if ((0xffffff7fffffffffL & l) != 0L)
+                     jjCheckNAddStates(23, 25);
                   break;
                case 13:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(13, 14);
+                  if ((0x8400000000L & l) != 0L)
+                     jjCheckNAddStates(23, 25);
+                  break;
+               case 14:
+                  if (curChar == 39 && kind > 11)
+                     kind = 11;
                   break;
                case 15:
-                  if ((0x280000000000L & l) != 0L)
-                     jjCheckNAdd(16);
+                  if ((0x3ff000000000000L & l) == 0L)
+                     break;
+                  if (kind > 8)
+                     kind = 8;
+                  jjCheckNAddStates(18, 22);
                   break;
                case 16:
                   if ((0x3ff000000000000L & l) == 0L)
                      break;
-                  if (kind > 10)
-                     kind = 10;
+                  if (kind > 8)
+                     kind = 8;
                   jjCheckNAdd(16);
                   break;
                case 17:
-                  if (curChar == 34)
-                     jjCheckNAddStates(14, 18);
+                  if ((0x3ff000000000000L & l) != 0L)
+                     jjCheckNAddTwoStates(17, 18);
                   break;
                case 18:
-                  if ((0xfffffffbffffffffL & l) != 0L)
-                     jjCheckNAddStates(19, 21);
+                  if (curChar != 46)
+                     break;
+                  if (kind > 9)
+                     kind = 9;
+                  jjCheckNAddTwoStates(19, 20);
                   break;
-               case 20:
-                  if (curChar == 34)
-                     jjCheckNAddStates(19, 21);
+               case 19:
+                  if ((0x3ff000000000000L & l) == 0L)
+                     break;
+                  if (kind > 9)
+                     kind = 9;
+                  jjCheckNAddTwoStates(19, 20);
                   break;
                case 21:
-                  if (curChar == 34 && kind > 12)
-                     kind = 12;
+                  if ((0x280000000000L & l) != 0L)
+                     jjCheckNAdd(22);
                   break;
                case 22:
-                  if ((0xfffffffbffffffffL & l) != 0L)
-                     jjCheckNAddTwoStates(22, 23);
+                  if ((0x3ff000000000000L & l) == 0L)
+                     break;
+                  if (kind > 9)
+                     kind = 9;
+                  jjCheckNAdd(22);
                   break;
-               case 24:
-                  if ((0xfffffffbffffffffL & l) != 0L && kind > 13)
-                     kind = 13;
+               case 23:
+                  if ((0x3ff000000000000L & l) != 0L)
+                     jjCheckNAddTwoStates(23, 24);
                   break;
                case 25:
-                  if (curChar == 39)
-                     jjCheckNAddStates(9, 13);
+                  if ((0x280000000000L & l) != 0L)
+                     jjCheckNAdd(26);
                   break;
                case 26:
-                  if ((0xffffff7fffffffffL & l) != 0L)
-                     jjCheckNAddStates(22, 24);
-                  break;
-               case 28:
-                  if (curChar == 39)
-                     jjCheckNAddStates(22, 24);
-                  break;
-               case 29:
-                  if (curChar == 39 && kind > 12)
-                     kind = 12;
-                  break;
-               case 30:
-                  if ((0xffffff7fffffffffL & l) != 0L)
-                     jjCheckNAddTwoStates(30, 31);
-                  break;
-               case 32:
-                  if ((0xffffff7fffffffffL & l) != 0L && kind > 13)
-                     kind = 13;
+                  if ((0x3ff000000000000L & l) == 0L)
+                     break;
+                  if (kind > 9)
+                     kind = 9;
+                  jjCheckNAdd(26);
                   break;
-               case 33:
+               case 27:
                   if ((0x1800000000L & l) == 0L)
                      break;
-                  if (kind > 53)
-                     kind = 53;
-                  jjCheckNAddTwoStates(34, 35);
+                  if (kind > 51)
+                     kind = 51;
+                  jjCheckNAddTwoStates(28, 29);
                   break;
-               case 34:
+               case 28:
                   if ((0x3ff001000000000L & l) == 0L)
                      break;
-                  if (kind > 53)
-                     kind = 53;
-                  jjCheckNAdd(34);
+                  if (kind > 51)
+                     kind = 51;
+                  jjCheckNAdd(28);
                   break;
-               case 35:
+               case 29:
                   if ((0x3ff001000000000L & l) == 0L)
                      break;
-                  if (kind > 54)
-                     kind = 54;
-                  jjCheckNAdd(35);
+                  if (kind > 52)
+                     kind = 52;
+                  jjCheckNAdd(29);
                   break;
                default : break;
             }
@@ -904,94 +890,73 @@
                case 0:
                   if ((0x7fffffe87fffffeL & l) == 0L)
                      break;
-                  if (kind > 53)
-                     kind = 53;
-                  jjCheckNAddTwoStates(34, 35);
+                  if (kind > 51)
+                     kind = 51;
+                  jjCheckNAddTwoStates(28, 29);
                   break;
-               case 36:
+               case 30:
                   if ((0x7fffffe87fffffeL & l) != 0L)
                   {
-                     if (kind > 54)
-                        kind = 54;
-                     jjCheckNAdd(35);
+                     if (kind > 52)
+                        kind = 52;
+                     jjCheckNAdd(29);
                   }
                   if ((0x7fffffe87fffffeL & l) != 0L)
                   {
-                     if (kind > 53)
-                        kind = 53;
-                     jjCheckNAdd(34);
+                     if (kind > 51)
+                        kind = 51;
+                     jjCheckNAdd(28);
                   }
                   break;
                case 2:
                   if ((0x2000000020L & l) != 0L)
-                     jjAddStates(25, 26);
-                  break;
-               case 10:
-                  if ((0x2000000020L & l) != 0L)
-                     jjAddStates(27, 28);
-                  break;
-               case 14:
-                  if ((0x2000000020L & l) != 0L)
                      jjAddStates(29, 30);
                   break;
-               case 18:
+               case 6:
                   if ((0xffffffffefffffffL & l) != 0L)
-                     jjCheckNAddStates(19, 21);
+                     jjCheckNAddStates(26, 28);
                   break;
-               case 19:
+               case 7:
                   if (curChar == 92)
-                     jjstateSet[jjnewStateCnt++] = 20;
+                     jjstateSet[jjnewStateCnt++] = 8;
                   break;
-               case 20:
+               case 8:
                   if (curChar == 92)
-                     jjCheckNAddStates(19, 21);
+                     jjCheckNAddStates(26, 28);
                   break;
-               case 22:
+               case 11:
                   if ((0xffffffffefffffffL & l) != 0L)
-                     jjAddStates(31, 32);
+                     jjCheckNAddStates(23, 25);
                   break;
-               case 23:
+               case 12:
                   if (curChar == 92)
-                     jjstateSet[jjnewStateCnt++] = 24;
-                  break;
-               case 24:
-               case 32:
-                  if ((0xffffffffefffffffL & l) != 0L && kind > 13)
-                     kind = 13;
-                  break;
-               case 26:
-                  if ((0xffffffffefffffffL & l) != 0L)
-                     jjCheckNAddStates(22, 24);
+                     jjstateSet[jjnewStateCnt++] = 13;
                   break;
-               case 27:
+               case 13:
                   if (curChar == 92)
-                     jjstateSet[jjnewStateCnt++] = 28;
+                     jjCheckNAddStates(23, 25);
                   break;
-               case 28:
-                  if (curChar == 92)
-                     jjCheckNAddStates(22, 24);
+               case 20:
+                  if ((0x2000000020L & l) != 0L)
+                     jjAddStates(31, 32);
                   break;
-               case 30:
-                  if ((0xffffffffefffffffL & l) != 0L)
+               case 24:
+                  if ((0x2000000020L & l) != 0L)
                      jjAddStates(33, 34);
                   break;
-               case 31:
-                  if (curChar == 92)
-                     jjstateSet[jjnewStateCnt++] = 32;
-                  break;
-               case 34:
+               case 28:
                   if ((0x7fffffe87fffffeL & l) == 0L)
                      break;
-                  if (kind > 53)
-                     kind = 53;
-                  jjCheckNAdd(34);
+                  if (kind > 51)
+                     kind = 51;
+                  jjCheckNAdd(28);
                   break;
-               case 35:
+               case 29:
                   if ((0x7fffffe87fffffeL & l) == 0L)
                      break;
-                  if (kind > 54)
-                     kind = 54;
-                  jjCheckNAdd(35);
+                  if (kind > 52)
+                     kind = 52;
+                  jjCheckNAdd(29);
                   break;
                default : break;
             }
@@ -1011,58 +976,45 @@
                case 0:
                   if (!jjCanMove_1(hiByte, i1, i2, l1, l2))
                      break;
-                  if (kind > 53)
-                     kind = 53;
-                  jjCheckNAddTwoStates(34, 35);
+                  if (kind > 51)
+                     kind = 51;
+                  jjCheckNAddTwoStates(28, 29);
                   break;
-               case 36:
+               case 30:
                   if (jjCanMove_1(hiByte, i1, i2, l1, l2))
                   {
-                     if (kind > 53)
-                        kind = 53;
-                     jjCheckNAdd(34);
+                     if (kind > 51)
+                        kind = 51;
+                     jjCheckNAdd(28);
                   }
                   if (jjCanMove_1(hiByte, i1, i2, l1, l2))
                   {
-                     if (kind > 54)
-                        kind = 54;
-                     jjCheckNAdd(35);
+                     if (kind > 52)
+                        kind = 52;
+                     jjCheckNAdd(29);
                   }
                   break;
-               case 18:
-                  if (jjCanMove_0(hiByte, i1, i2, l1, l2))
-                     jjAddStates(19, 21);
-                  break;
-               case 22:
-                  if (jjCanMove_0(hiByte, i1, i2, l1, l2))
-                     jjAddStates(31, 32);
-                  break;
-               case 24:
-               case 32:
-                  if (jjCanMove_0(hiByte, i1, i2, l1, l2) && kind > 13)
-                     kind = 13;
-                  break;
-               case 26:
+               case 6:
                   if (jjCanMove_0(hiByte, i1, i2, l1, l2))
-                     jjAddStates(22, 24);
+                     jjAddStates(26, 28);
                   break;
-               case 30:
+               case 11:
                   if (jjCanMove_0(hiByte, i1, i2, l1, l2))
-                     jjAddStates(33, 34);
+                     jjAddStates(23, 25);
                   break;
-               case 34:
+               case 28:
                   if (!jjCanMove_1(hiByte, i1, i2, l1, l2))
                      break;
-                  if (kind > 53)
-                     kind = 53;
-                  jjCheckNAdd(34);
+                  if (kind > 51)
+                     kind = 51;
+                  jjCheckNAdd(28);
                   break;
-               case 35:
+               case 29:
                   if (!jjCanMove_1(hiByte, i1, i2, l1, l2))
                      break;
-                  if (kind > 54)
-                     kind = 54;
-                  jjCheckNAdd(35);
+                  if (kind > 52)
+                     kind = 52;
+                  jjCheckNAdd(29);
                   break;
                default : break;
             }
@@ -1075,16 +1027,16 @@
          kind = 0x7fffffff;
       }
       ++curPos;
-      if ((i = jjnewStateCnt) == (startsAt = 36 - (jjnewStateCnt = startsAt)))
+      if ((i = jjnewStateCnt) == (startsAt = 30 - (jjnewStateCnt = startsAt)))
          return curPos;
       try { curChar = input_stream.readChar(); }
       catch(java.io.IOException e) { return curPos; }
    }
 }
 static final int[] jjnextStates = {
-   0, 1, 3, 5, 6, 7, 8, 13, 14, 26, 27, 29, 30, 31, 18, 19, 
-   21, 22, 23, 18, 19, 21, 26, 27, 29, 3, 4, 11, 12, 15, 16, 22, 
-   23, 30, 31, 
+   0, 1, 3, 4, 2, 0, 1, 4, 2, 0, 1, 4, 5, 2, 0, 1, 
+   2, 6, 16, 17, 18, 23, 24, 11, 12, 14, 6, 7, 9, 3, 4, 21, 
+   22, 25, 26, 
 };
 private static final boolean jjCanMove_0(int hiByte, int i1, int i2, long l1, long l2)
 {
@@ -1122,12 +1074,12 @@
 /** Token literal values. */
 public static final String[] jjstrLiteralImages = {
 "", null, "\44\173", "\43\173", null, null, null, null, null, null, null, null, 
-null, null, "\164\162\165\145", "\146\141\154\163\145", "\156\165\154\154", "\175", 
-"\56", "\50", "\51", "\133", "\135", "\72", "\54", "\76", "\147\164", "\74", 
-"\154\164", "\76\75", "\147\145", "\74\75", "\154\145", "\75\75", "\145\161", "\41\75", 
-"\156\145", "\41", "\156\157\164", "\46\46", "\141\156\144", "\174\174", "\157\162", 
-"\145\155\160\164\171", "\151\156\163\164\141\156\143\145\157\146", "\52", "\53", "\55", "\77", "\57", 
-"\144\151\166", "\45", "\155\157\144", null, null, null, null, null, null, };
+"\164\162\165\145", "\146\141\154\163\145", "\156\165\154\154", "\175", "\56", "\50", "\51", 
+"\133", "\135", "\72", "\54", "\76", "\147\164", "\74", "\154\164", "\76\75", 
+"\147\145", "\74\75", "\154\145", "\75\75", "\145\161", "\41\75", "\156\145", "\41", 
+"\156\157\164", "\46\46", "\141\156\144", "\174\174", "\157\162", "\145\155\160\164\171", 
+"\151\156\163\164\141\156\143\145\157\146", "\52", "\53", "\55", "\77", "\57", "\144\151\166", "\45", "\155\157\144", null, 
+null, null, null, null, null, };
 
 /** Lexer state names. */
 public static final String[] lexStateNames = {
@@ -1137,19 +1089,19 @@
 
 /** Lex State array. */
 public static final int[] jjnewLexState = {
-   -1, -1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, 
+   -1, -1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-   -1, -1, -1, -1, -1, -1, -1, -1, -1, 
+   -1, -1, -1, -1, -1, -1, -1, 
 };
 static final long[] jjtoToken = {
-   0x47ffffffffff60fL, 
+   0x11ffffffffffb0fL, 
 };
 static final long[] jjtoSkip = {
-   0x1f0L, 
+   0xf0L, 
 };
 protected SimpleCharStream input_stream;
-private final int[] jjrounds = new int[36];
-private final int[] jjstateSet = new int[72];
+private final int[] jjrounds = new int[30];
+private final int[] jjstateSet = new int[60];
 protected char curChar;
 /** Constructor. */
 public ELParserTokenManager(SimpleCharStream stream){
@@ -1176,7 +1128,7 @@
 {
    int i;
    jjround = 0x80000001;
-   for (i = 36; i-- > 0;)
+   for (i = 30; i-- > 0;)
       jjrounds[i] = 0x80000000;
 }
 
@@ -1263,9 +1215,9 @@
        jjmatchedKind = 0x7fffffff;
        jjmatchedPos = 0;
        curPos = jjMoveStringLiteralDfa0_1();
-       if (jjmatchedPos == 0 && jjmatchedKind > 58)
+       if (jjmatchedPos == 0 && jjmatchedKind > 56)
        {
-          jjmatchedKind = 58;
+          jjmatchedKind = 56;
        }
        break;
    }

Modified: tomcat/tc6.0.x/trunk/java/org/apache/el/parser/ELParserTreeConstants.java
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/el/parser/ELParserTreeConstants.java?rev=899148&r1=899147&r2=899148&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/el/parser/ELParserTreeConstants.java (original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/el/parser/ELParserTreeConstants.java Thu Jan 14 10:27:15 2010
@@ -1,4 +1,4 @@
-/* Generated By:JavaCC: Do not edit this line. ELParserTreeConstants.java Version 4.1 */
+/* Generated By:JavaCC: Do not edit this line. ELParserTreeConstants.java Version 5.0 */
 package org.apache.el.parser;
 
 public interface ELParserTreeConstants
@@ -74,4 +74,4 @@
     "Null",
   };
 }
-/* JavaCC - OriginalChecksum=3f8a43fb30bdf082a70de7eb7b15fdf1 (do not edit this line) */
+/* JavaCC - OriginalChecksum=5af14271a4fcdc582f7dce53f6c6146d (do not edit this line) */

Modified: tomcat/tc6.0.x/trunk/java/org/apache/el/parser/JJTELParserState.java
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/el/parser/JJTELParserState.java?rev=899148&r1=899147&r2=899148&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/el/parser/JJTELParserState.java (original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/el/parser/JJTELParserState.java Thu Jan 14 10:27:15 2010
@@ -1,17 +1,17 @@
-/* Generated By:JavaCC: Do not edit this line. JJTELParserState.java Version 4.1 */
+/* Generated By:JavaCC: Do not edit this line. JJTELParserState.java Version 5.0 */
 package org.apache.el.parser;
 
 public class JJTELParserState {
-  private java.util.List nodes;
-  private java.util.List marks;
+  private java.util.List<Node> nodes;
+  private java.util.List<Integer> marks;
 
   private int sp;        // number of nodes on stack
   private int mk;        // current mark
   private boolean node_created;
 
   public JJTELParserState() {
-    nodes = new java.util.ArrayList();
-    marks = new java.util.ArrayList();
+    nodes = new java.util.ArrayList<Node>();
+    marks = new java.util.ArrayList<Integer>();
     sp = 0;
     mk = 0;
   }
@@ -35,7 +35,7 @@
   /* Returns the root node of the AST.  It only makes sense to call
      this after a successful parse. */
   public Node rootNode() {
-    return (Node)nodes.get(0);
+    return nodes.get(0);
   }
 
   /* Pushes a node on to the stack. */
@@ -48,14 +48,14 @@
      stack.  */
   public Node popNode() {
     if (--sp < mk) {
-      mk = ((Integer)marks.remove(marks.size()-1)).intValue();
+      mk = marks.remove(marks.size()-1);
     }
-    return (Node)nodes.remove(nodes.size()-1);
+    return nodes.remove(nodes.size()-1);
   }
 
   /* Returns the node currently on the top of the stack. */
   public Node peekNode() {
-    return (Node)nodes.get(nodes.size()-1);
+    return nodes.get(nodes.size()-1);
   }
 
   /* Returns the number of children on the stack in the current node
@@ -69,12 +69,12 @@
     while (sp > mk) {
       popNode();
     }
-    mk = ((Integer)marks.remove(marks.size()-1)).intValue();
+    mk = marks.remove(marks.size()-1);
   }
 
 
   public void openNodeScope(Node n) {
-    marks.add(new Integer(mk));
+    marks.add(mk);
     mk = sp;
     n.jjtOpen();
   }
@@ -85,7 +85,7 @@
      made the children of the definite node.  Then the definite node
      is pushed on to the stack. */
   public void closeNodeScope(Node n, int num) {
-    mk = ((Integer)marks.remove(marks.size()-1)).intValue();
+    mk = marks.remove(marks.size()-1);
     while (num-- > 0) {
       Node c = popNode();
       c.jjtSetParent(n);
@@ -105,7 +105,7 @@
   public void closeNodeScope(Node n, boolean condition) {
     if (condition) {
       int a = nodeArity();
-      mk = ((Integer)marks.remove(marks.size()-1)).intValue();
+      mk = marks.remove(marks.size()-1);
       while (a-- > 0) {
         Node c = popNode();
         c.jjtSetParent(n);
@@ -115,9 +115,9 @@
       pushNode(n);
       node_created = true;
     } else {
-      mk = ((Integer)marks.remove(marks.size()-1)).intValue();
+      mk = marks.remove(marks.size()-1);
       node_created = false;
     }
   }
 }
-/* JavaCC - OriginalChecksum=9497b88da93266c314e4e50d08492496 (do not edit this line) */
+/* JavaCC - OriginalChecksum=9ea5296a2e1d85c8100fe40283f86cfd (do not edit this line) */

Modified: tomcat/tc6.0.x/trunk/java/org/apache/el/parser/ParseException.java
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/el/parser/ParseException.java?rev=899148&r1=899147&r2=899148&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/el/parser/ParseException.java (original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/el/parser/ParseException.java Thu Jan 14 10:27:15 2010
@@ -1,4 +1,4 @@
-/* Generated By:JavaCC: Do not edit this line. ParseException.java Version 4.1 */
+/* Generated By:JavaCC: Do not edit this line. ParseException.java Version 5.0 */
 /* JavaCCOptions:KEEP_LINE_COL=null */
 package org.apache.el.parser;
 
@@ -14,24 +14,24 @@
 public class ParseException extends Exception {
 
   /**
+   * The version identifier for this Serializable class.
+   * Increment only if the <i>serialized</i> form of the
+   * class changes.
+   */
+  private static final long serialVersionUID = 1L;
+
+  /**
    * This constructor is used by the method "generateParseException"
    * in the generated parser.  Calling this constructor generates
    * a new object of this type with the fields "currentToken",
-   * "expectedTokenSequences", and "tokenImage" set.  The boolean
-   * flag "specialConstructor" is also set to true to indicate that
-   * this constructor was used to create this object.
-   * This constructor calls its super class with the empty string
-   * to force the "toString" method of parent class "Throwable" to
-   * print the error message in the form:
-   *     ParseException: <result of getMessage>
+   * "expectedTokenSequences", and "tokenImage" set.
    */
   public ParseException(Token currentTokenVal,
                         int[][] expectedTokenSequencesVal,
                         String[] tokenImageVal
                        )
   {
-    super("");
-    specialConstructor = true;
+    super(initialise(currentTokenVal, expectedTokenSequencesVal, tokenImageVal));
     currentToken = currentTokenVal;
     expectedTokenSequences = expectedTokenSequencesVal;
     tokenImage = tokenImageVal;
@@ -49,21 +49,13 @@
 
   public ParseException() {
     super();
-    specialConstructor = false;
   }
 
   /** Constructor with message. */
   public ParseException(String message) {
     super(message);
-    specialConstructor = false;
   }
 
-  /**
-   * This variable determines which constructor was used to create
-   * this object and thereby affects the semantics of the
-   * "getMessage" method (see below).
-   */
-  protected boolean specialConstructor;
 
   /**
    * This is the last token that has been consumed successfully.  If
@@ -87,19 +79,16 @@
   public String[] tokenImage;
 
   /**
-   * This method has the standard behavior when this object has been
-   * created using the standard constructors.  Otherwise, it uses
-   * "currentToken" and "expectedTokenSequences" to generate a parse
+   * It uses "currentToken" and "expectedTokenSequences" to generate a parse
    * error message and returns it.  If this object has been created
    * due to a parse error, and you do not catch it (it gets thrown
-   * from the parser), then this method is called during the printing
-   * of the final stack trace, and hence the correct error message
+   * from the parser) the correct error message
    * gets displayed.
    */
-  public String getMessage() {
-    if (!specialConstructor) {
-      return super.getMessage();
-    }
+  private static String initialise(Token currentToken,
+                           int[][] expectedTokenSequences,
+                           String[] tokenImage) {
+    String eol = System.getProperty("line.separator", "\n");
     StringBuffer expected = new StringBuffer();
     int maxSize = 0;
     for (int i = 0; i < expectedTokenSequences.length; i++) {
@@ -149,7 +138,7 @@
    * when these raw version cannot be used as part of an ASCII
    * string literal.
    */
-  protected String add_escapes(String str) {
+  static String add_escapes(String str) {
       StringBuffer retval = new StringBuffer();
       char ch;
       for (int i = 0; i < str.length(); i++) {
@@ -195,4 +184,4 @@
    }
 
 }
-/* JavaCC - OriginalChecksum=a147e4edaa2a39e08e6f250c30247549 (do not edit this line) */
+/* JavaCC - OriginalChecksum=275dbff1ac8d899b542b475adbf177f7 (do not edit this line) */

Modified: tomcat/tc6.0.x/trunk/java/org/apache/el/parser/SimpleCharStream.java
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/el/parser/SimpleCharStream.java?rev=899148&r1=899147&r2=899148&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/el/parser/SimpleCharStream.java (original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/el/parser/SimpleCharStream.java Thu Jan 14 10:27:15 2010
@@ -1,5 +1,5 @@
-/* Generated By:JavaCC: Do not edit this line. SimpleCharStream.java Version 4.1 */
-/* JavaCCOptions:STATIC=false */
+/* Generated By:JavaCC: Do not edit this line. SimpleCharStream.java Version 5.0 */
+/* JavaCCOptions:STATIC=false,SUPPORT_CLASS_VISIBILITY_PUBLIC=true */
 package org.apache.el.parser;
 
 /**
@@ -38,192 +38,192 @@
 
   protected void ExpandBuff(boolean wrapAround)
   {
-     char[] newbuffer = new char[bufsize + 2048];
-     int newbufline[] = new int[bufsize + 2048];
-     int newbufcolumn[] = new int[bufsize + 2048];
-
-     try
-     {
-        if (wrapAround)
-        {
-           System.arraycopy(buffer, tokenBegin, newbuffer, 0, bufsize - tokenBegin);
-           System.arraycopy(buffer, 0, newbuffer,
-                                             bufsize - tokenBegin, bufpos);
-           buffer = newbuffer;
-
-           System.arraycopy(bufline, tokenBegin, newbufline, 0, bufsize - tokenBegin);
-           System.arraycopy(bufline, 0, newbufline, bufsize - tokenBegin, bufpos);
-           bufline = newbufline;
-
-           System.arraycopy(bufcolumn, tokenBegin, newbufcolumn, 0, bufsize - tokenBegin);
-           System.arraycopy(bufcolumn, 0, newbufcolumn, bufsize - tokenBegin, bufpos);
-           bufcolumn = newbufcolumn;
+    char[] newbuffer = new char[bufsize + 2048];
+    int newbufline[] = new int[bufsize + 2048];
+    int newbufcolumn[] = new int[bufsize + 2048];
 
-           maxNextCharInd = (bufpos += (bufsize - tokenBegin));
-        }
-        else
-        {
-           System.arraycopy(buffer, tokenBegin, newbuffer, 0, bufsize - tokenBegin);
-           buffer = newbuffer;
+    try
+    {
+      if (wrapAround)
+      {
+        System.arraycopy(buffer, tokenBegin, newbuffer, 0, bufsize - tokenBegin);
+        System.arraycopy(buffer, 0, newbuffer, bufsize - tokenBegin, bufpos);
+        buffer = newbuffer;
+
+        System.arraycopy(bufline, tokenBegin, newbufline, 0, bufsize - tokenBegin);
+        System.arraycopy(bufline, 0, newbufline, bufsize - tokenBegin, bufpos);
+        bufline = newbufline;
+
+        System.arraycopy(bufcolumn, tokenBegin, newbufcolumn, 0, bufsize - tokenBegin);
+        System.arraycopy(bufcolumn, 0, newbufcolumn, bufsize - tokenBegin, bufpos);
+        bufcolumn = newbufcolumn;
+
+        maxNextCharInd = (bufpos += (bufsize - tokenBegin));
+      }
+      else
+      {
+        System.arraycopy(buffer, tokenBegin, newbuffer, 0, bufsize - tokenBegin);
+        buffer = newbuffer;
 
-           System.arraycopy(bufline, tokenBegin, newbufline, 0, bufsize - tokenBegin);
-           bufline = newbufline;
+        System.arraycopy(bufline, tokenBegin, newbufline, 0, bufsize - tokenBegin);
+        bufline = newbufline;
 
-           System.arraycopy(bufcolumn, tokenBegin, newbufcolumn, 0, bufsize - tokenBegin);
-           bufcolumn = newbufcolumn;
+        System.arraycopy(bufcolumn, tokenBegin, newbufcolumn, 0, bufsize - tokenBegin);
+        bufcolumn = newbufcolumn;
 
-           maxNextCharInd = (bufpos -= tokenBegin);
-        }
-     }
-     catch (Throwable t)
-     {
-        throw new Error(t.getMessage());
-     }
+        maxNextCharInd = (bufpos -= tokenBegin);
+      }
+    }
+    catch (Throwable t)
+    {
+      throw new Error(t.getMessage());
+    }
 
 
-     bufsize += 2048;
-     available = bufsize;
-     tokenBegin = 0;
+    bufsize += 2048;
+    available = bufsize;
+    tokenBegin = 0;
   }
 
   protected void FillBuff() throws java.io.IOException
   {
-     if (maxNextCharInd == available)
-     {
-        if (available == bufsize)
+    if (maxNextCharInd == available)
+    {
+      if (available == bufsize)
+      {
+        if (tokenBegin > 2048)
         {
-           if (tokenBegin > 2048)
-           {
-              bufpos = maxNextCharInd = 0;
-              available = tokenBegin;
-           }
-           else if (tokenBegin < 0)
-              bufpos = maxNextCharInd = 0;
-           else
-              ExpandBuff(false);
+          bufpos = maxNextCharInd = 0;
+          available = tokenBegin;
         }
-        else if (available > tokenBegin)
-           available = bufsize;
-        else if ((tokenBegin - available) < 2048)
-           ExpandBuff(true);
+        else if (tokenBegin < 0)
+          bufpos = maxNextCharInd = 0;
         else
-           available = tokenBegin;
-     }
+          ExpandBuff(false);
+      }
+      else if (available > tokenBegin)
+        available = bufsize;
+      else if ((tokenBegin - available) < 2048)
+        ExpandBuff(true);
+      else
+        available = tokenBegin;
+    }
 
-     int i;
-     try {
-        if ((i = inputStream.read(buffer, maxNextCharInd,
-                                    available - maxNextCharInd)) == -1)
-        {
-           inputStream.close();
-           throw new java.io.IOException();
-        }
-        else
-           maxNextCharInd += i;
-        return;
-     }
-     catch(java.io.IOException e) {
-        --bufpos;
-        backup(0);
-        if (tokenBegin == -1)
-           tokenBegin = bufpos;
-        throw e;
-     }
+    int i;
+    try {
+      if ((i = inputStream.read(buffer, maxNextCharInd, available - maxNextCharInd)) == -1)
+      {
+        inputStream.close();
+        throw new java.io.IOException();
+      }
+      else
+        maxNextCharInd += i;
+      return;
+    }
+    catch(java.io.IOException e) {
+      --bufpos;
+      backup(0);
+      if (tokenBegin == -1)
+        tokenBegin = bufpos;
+      throw e;
+    }
   }
 
 /** Start. */
   public char BeginToken() throws java.io.IOException
   {
-     tokenBegin = -1;
-     char c = readChar();
-     tokenBegin = bufpos;
+    tokenBegin = -1;
+    char c = readChar();
+    tokenBegin = bufpos;
 
-     return c;
+    return c;
   }
 
   protected void UpdateLineColumn(char c)
   {
-     column++;
+    column++;
 
-     if (prevCharIsLF)
-     {
-        prevCharIsLF = false;
+    if (prevCharIsLF)
+    {
+      prevCharIsLF = false;
+      line += (column = 1);
+    }
+    else if (prevCharIsCR)
+    {
+      prevCharIsCR = false;
+      if (c == '\n')
+      {
+        prevCharIsLF = true;
+      }
+      else
         line += (column = 1);
-     }
-     else if (prevCharIsCR)
-     {
-        prevCharIsCR = false;
-        if (c == '\n')
-        {
-           prevCharIsLF = true;
-        }
-        else
-           line += (column = 1);
-     }
+    }
 
-     switch (c)
-     {
-        case '\r' :
-           prevCharIsCR = true;
-           break;
-        case '\n' :
-           prevCharIsLF = true;
-           break;
-        case '\t' :
-           column--;
-           column += (tabSize - (column % tabSize));
-           break;
-        default :
-           break;
-     }
+    switch (c)
+    {
+      case '\r' :
+        prevCharIsCR = true;
+        break;
+      case '\n' :
+        prevCharIsLF = true;
+        break;
+      case '\t' :
+        column--;
+        column += (tabSize - (column % tabSize));
+        break;
+      default :
+        break;
+    }
 
-     bufline[bufpos] = line;
-     bufcolumn[bufpos] = column;
+    bufline[bufpos] = line;
+    bufcolumn[bufpos] = column;
   }
 
 /** Read a character. */
   public char readChar() throws java.io.IOException
   {
-     if (inBuf > 0)
-     {
-        --inBuf;
+    if (inBuf > 0)
+    {
+      --inBuf;
 
-        if (++bufpos == bufsize)
-           bufpos = 0;
+      if (++bufpos == bufsize)
+        bufpos = 0;
 
-        return buffer[bufpos];
-     }
+      return buffer[bufpos];
+    }
 
-     if (++bufpos >= maxNextCharInd)
-        FillBuff();
+    if (++bufpos >= maxNextCharInd)
+      FillBuff();
 
-     char c = buffer[bufpos];
+    char c = buffer[bufpos];
 
-     UpdateLineColumn(c);
-     return c;
+    UpdateLineColumn(c);
+    return c;
   }
 
+  @Deprecated
   /**
    * @deprecated
    * @see #getEndColumn
    */
 
   public int getColumn() {
-     return bufcolumn[bufpos];
+    return bufcolumn[bufpos];
   }
 
+  @Deprecated
   /**
    * @deprecated
    * @see #getEndLine
    */
 
   public int getLine() {
-     return bufline[bufpos];
+    return bufline[bufpos];
   }
 
   /** Get token end column number. */
   public int getEndColumn() {
-     return bufcolumn[bufpos];
+    return bufcolumn[bufpos];
   }
 
   /** Get token end line number. */
@@ -233,12 +233,12 @@
 
   /** Get token beginning column number. */
   public int getBeginColumn() {
-     return bufcolumn[tokenBegin];
+    return bufcolumn[tokenBegin];
   }
 
   /** Get token beginning line number. */
   public int getBeginLine() {
-     return bufline[tokenBegin];
+    return bufline[tokenBegin];
   }
 
 /** Backup a number of characters. */
@@ -246,7 +246,7 @@
 
     inBuf += amount;
     if ((bufpos -= amount) < 0)
-       bufpos += bufsize;
+      bufpos += bufsize;
   }
 
   /** Constructor. */
@@ -267,13 +267,13 @@
   public SimpleCharStream(java.io.Reader dstream, int startline,
                           int startcolumn)
   {
-     this(dstream, startline, startcolumn, 4096);
+    this(dstream, startline, startcolumn, 4096);
   }
 
   /** Constructor. */
   public SimpleCharStream(java.io.Reader dstream)
   {
-     this(dstream, 1, 1, 4096);
+    this(dstream, 1, 1, 4096);
   }
 
   /** Reinitialise. */
@@ -300,124 +300,124 @@
   public void ReInit(java.io.Reader dstream, int startline,
                      int startcolumn)
   {
-     ReInit(dstream, startline, startcolumn, 4096);
+    ReInit(dstream, startline, startcolumn, 4096);
   }
 
   /** Reinitialise. */
   public void ReInit(java.io.Reader dstream)
   {
-     ReInit(dstream, 1, 1, 4096);
+    ReInit(dstream, 1, 1, 4096);
   }
   /** Constructor. */
   public SimpleCharStream(java.io.InputStream dstream, String encoding, int startline,
   int startcolumn, int buffersize) throws java.io.UnsupportedEncodingException
   {
-     this(encoding == null ? new java.io.InputStreamReader(dstream) : new java.io.InputStreamReader(dstream, encoding), startline, startcolumn, buffersize);
+    this(encoding == null ? new java.io.InputStreamReader(dstream) : new java.io.InputStreamReader(dstream, encoding), startline, startcolumn, buffersize);
   }
 
   /** Constructor. */
   public SimpleCharStream(java.io.InputStream dstream, int startline,
   int startcolumn, int buffersize)
   {
-     this(new java.io.InputStreamReader(dstream), startline, startcolumn, buffersize);
+    this(new java.io.InputStreamReader(dstream), startline, startcolumn, buffersize);
   }
 
   /** Constructor. */
   public SimpleCharStream(java.io.InputStream dstream, String encoding, int startline,
                           int startcolumn) throws java.io.UnsupportedEncodingException
   {
-     this(dstream, encoding, startline, startcolumn, 4096);
+    this(dstream, encoding, startline, startcolumn, 4096);
   }
 
   /** Constructor. */
   public SimpleCharStream(java.io.InputStream dstream, int startline,
                           int startcolumn)
   {
-     this(dstream, startline, startcolumn, 4096);
+    this(dstream, startline, startcolumn, 4096);
   }
 
   /** Constructor. */
   public SimpleCharStream(java.io.InputStream dstream, String encoding) throws java.io.UnsupportedEncodingException
   {
-     this(dstream, encoding, 1, 1, 4096);
+    this(dstream, encoding, 1, 1, 4096);
   }
 
   /** Constructor. */
   public SimpleCharStream(java.io.InputStream dstream)
   {
-     this(dstream, 1, 1, 4096);
+    this(dstream, 1, 1, 4096);
   }
 
   /** Reinitialise. */
   public void ReInit(java.io.InputStream dstream, String encoding, int startline,
                           int startcolumn, int buffersize) throws java.io.UnsupportedEncodingException
   {
-     ReInit(encoding == null ? new java.io.InputStreamReader(dstream) : new java.io.InputStreamReader(dstream, encoding), startline, startcolumn, buffersize);
+    ReInit(encoding == null ? new java.io.InputStreamReader(dstream) : new java.io.InputStreamReader(dstream, encoding), startline, startcolumn, buffersize);
   }
 
   /** Reinitialise. */
   public void ReInit(java.io.InputStream dstream, int startline,
                           int startcolumn, int buffersize)
   {
-     ReInit(new java.io.InputStreamReader(dstream), startline, startcolumn, buffersize);
+    ReInit(new java.io.InputStreamReader(dstream), startline, startcolumn, buffersize);
   }
 
   /** Reinitialise. */
   public void ReInit(java.io.InputStream dstream, String encoding) throws java.io.UnsupportedEncodingException
   {
-     ReInit(dstream, encoding, 1, 1, 4096);
+    ReInit(dstream, encoding, 1, 1, 4096);
   }
 
   /** Reinitialise. */
   public void ReInit(java.io.InputStream dstream)
   {
-     ReInit(dstream, 1, 1, 4096);
+    ReInit(dstream, 1, 1, 4096);
   }
   /** Reinitialise. */
   public void ReInit(java.io.InputStream dstream, String encoding, int startline,
                      int startcolumn) throws java.io.UnsupportedEncodingException
   {
-     ReInit(dstream, encoding, startline, startcolumn, 4096);
+    ReInit(dstream, encoding, startline, startcolumn, 4096);
   }
   /** Reinitialise. */
   public void ReInit(java.io.InputStream dstream, int startline,
                      int startcolumn)
   {
-     ReInit(dstream, startline, startcolumn, 4096);
+    ReInit(dstream, startline, startcolumn, 4096);
   }
   /** Get token literal value. */
   public String GetImage()
   {
-     if (bufpos >= tokenBegin)
-        return new String(buffer, tokenBegin, bufpos - tokenBegin + 1);
-     else
-        return new String(buffer, tokenBegin, bufsize - tokenBegin) +
-                              new String(buffer, 0, bufpos + 1);
+    if (bufpos >= tokenBegin)
+      return new String(buffer, tokenBegin, bufpos - tokenBegin + 1);
+    else
+      return new String(buffer, tokenBegin, bufsize - tokenBegin) +
+                            new String(buffer, 0, bufpos + 1);
   }
 
   /** Get the suffix. */
   public char[] GetSuffix(int len)
   {
-     char[] ret = new char[len];
+    char[] ret = new char[len];
 
-     if ((bufpos + 1) >= len)
-        System.arraycopy(buffer, bufpos - len + 1, ret, 0, len);
-     else
-     {
-        System.arraycopy(buffer, bufsize - (len - bufpos - 1), ret, 0,
-                                                          len - bufpos - 1);
-        System.arraycopy(buffer, 0, ret, len - bufpos - 1, bufpos + 1);
-     }
+    if ((bufpos + 1) >= len)
+      System.arraycopy(buffer, bufpos - len + 1, ret, 0, len);
+    else
+    {
+      System.arraycopy(buffer, bufsize - (len - bufpos - 1), ret, 0,
+                                                        len - bufpos - 1);
+      System.arraycopy(buffer, 0, ret, len - bufpos - 1, bufpos + 1);
+    }
 
-     return ret;
+    return ret;
   }
 
   /** Reset buffer when finished. */
   public void Done()
   {
-     buffer = null;
-     bufline = null;
-     bufcolumn = null;
+    buffer = null;
+    bufline = null;
+    bufcolumn = null;
   }
 
   /**
@@ -425,48 +425,47 @@
    */
   public void adjustBeginLineColumn(int newLine, int newCol)
   {
-     int start = tokenBegin;
-     int len;
+    int start = tokenBegin;
+    int len;
+
+    if (bufpos >= tokenBegin)
+    {
+      len = bufpos - tokenBegin + inBuf + 1;
+    }
+    else
+    {
+      len = bufsize - tokenBegin + bufpos + 1 + inBuf;
+    }
 
-     if (bufpos >= tokenBegin)
-     {
-        len = bufpos - tokenBegin + inBuf + 1;
-     }
-     else
-     {
-        len = bufsize - tokenBegin + bufpos + 1 + inBuf;
-     }
-
-     int i = 0, j = 0, k = 0;
-     int nextColDiff = 0, columnDiff = 0;
-
-     while (i < len &&
-            bufline[j = start % bufsize] == bufline[k = ++start % bufsize])
-     {
-        bufline[j] = newLine;
-        nextColDiff = columnDiff + bufcolumn[k] - bufcolumn[j];
-        bufcolumn[j] = newCol + columnDiff;
-        columnDiff = nextColDiff;
-        i++;
-     }
-
-     if (i < len)
-     {
-        bufline[j] = newLine++;
-        bufcolumn[j] = newCol + columnDiff;
+    int i = 0, j = 0, k = 0;
+    int nextColDiff = 0, columnDiff = 0;
 
-        while (i++ < len)
-        {
-           if (bufline[j = start % bufsize] != bufline[++start % bufsize])
-              bufline[j] = newLine++;
-           else
-              bufline[j] = newLine;
-        }
-     }
+    while (i < len && bufline[j = start % bufsize] == bufline[k = ++start % bufsize])
+    {
+      bufline[j] = newLine;
+      nextColDiff = columnDiff + bufcolumn[k] - bufcolumn[j];
+      bufcolumn[j] = newCol + columnDiff;
+      columnDiff = nextColDiff;
+      i++;
+    }
+
+    if (i < len)
+    {
+      bufline[j] = newLine++;
+      bufcolumn[j] = newCol + columnDiff;
+
+      while (i++ < len)
+      {
+        if (bufline[j = start % bufsize] != bufline[++start % bufsize])
+          bufline[j] = newLine++;
+        else
+          bufline[j] = newLine;
+      }
+    }
 
-     line = bufline[j];
-     column = bufcolumn[j];
+    line = bufline[j];
+    column = bufcolumn[j];
   }
 
 }
-/* JavaCC - OriginalChecksum=07e88967db3720fcfc378bbb17e7f640 (do not edit this line) */
+/* JavaCC - OriginalChecksum=56f6dd1368327bd2c0d7eeacba8a18de (do not edit this line) */



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