a lot of bugfixes
[phpeclipse.git] / net.sourceforge.phpeclipse / src / test / PHPParserTokenManager.java
index 3374c31..434a067 100644 (file)
@@ -16,9 +16,18 @@ import net.sourceforge.phpdt.internal.compiler.ast.*;
 import net.sourceforge.phpdt.internal.compiler.parser.OutlineableWithChildren;
 import net.sourceforge.phpdt.internal.compiler.parser.Outlineable;
 import net.sourceforge.phpdt.internal.compiler.parser.PHPOutlineInfo;
+import net.sourceforge.phpdt.internal.corext.Assert;
 
 public class PHPParserTokenManager implements PHPParserConstants
 {
+  // CommonTokenAction: use the begins/ends fields added to the Jack
+  // CharStream class to set corresponding fields in each Token (which was
+  // also extended with new fields). By default Jack doesn't supply absolute
+  // offsets, just line/column offsets
+  static void CommonTokenAction(Token t) {
+    t.sourceStart = input_stream.beginOffset;
+    t.sourceEnd = input_stream.endOffset;
+  }
   public static  java.io.PrintStream debugStream = System.out;
   public static  void setDebugStream(java.io.PrintStream ds) { debugStream = ds; }
 static private final int jjStopAtPos(int pos, int kind)
@@ -210,7 +219,7 @@ static private final int jjMoveStringLiteralDfa0_2()
    switch(curChar)
    {
       case 63:
-         return jjMoveStringLiteralDfa1_2(0x10000L);
+         return jjMoveStringLiteralDfa1_2(0x10L);
       case 84:
       case 116:
          return jjMoveStringLiteralDfa1_2(0x20000L);
@@ -228,8 +237,8 @@ static private final int jjMoveStringLiteralDfa1_2(long active0)
    switch(curChar)
    {
       case 62:
-         if ((active0 & 0x10000L) != 0L)
-            return jjStopAtPos(1, 16);
+         if ((active0 & 0x10L) != 0L)
+            return jjStopAtPos(1, 4);
          break;
       case 79:
       case 111:
@@ -1541,8 +1550,7 @@ static private final int jjMoveNfa_1(int startState, int curPos)
                      jjCheckNAddStates(31, 33);
                   break;
                case 40:
-                  if (curChar == 34)
-                     jjCheckNAddStates(31, 33);
+                  jjCheckNAddStates(31, 33);
                   break;
                case 41:
                   if (curChar == 34 && kind > 103)
@@ -1553,8 +1561,7 @@ static private final int jjMoveNfa_1(int startState, int curPos)
                      jjCheckNAddStates(34, 36);
                   break;
                case 44:
-                  if (curChar == 34)
-                     jjCheckNAddStates(34, 36);
+                  jjCheckNAddStates(34, 36);
                   break;
                case 45:
                   if (curChar == 34 && kind > 104)
@@ -1569,8 +1576,7 @@ static private final int jjMoveNfa_1(int startState, int curPos)
                      jjCheckNAddStates(37, 39);
                   break;
                case 49:
-                  if (curChar == 39)
-                     jjCheckNAddStates(37, 39);
+                  jjCheckNAddStates(37, 39);
                   break;
                case 50:
                   if (curChar == 39 && kind > 103)
@@ -1581,18 +1587,19 @@ static private final int jjMoveNfa_1(int startState, int curPos)
                      jjCheckNAddStates(40, 42);
                   break;
                case 53:
-                  if (curChar == 39)
-                     jjCheckNAddStates(40, 42);
+                  jjCheckNAddStates(40, 42);
                   break;
                case 54:
                   if (curChar == 39 && kind > 105)
                      kind = 105;
                   break;
                case 56:
-                  jjAddStates(43, 45);
+               case 58:
+                  jjCheckNAddStates(43, 45);
                   break;
                case 60:
-                  jjAddStates(46, 48);
+               case 62:
+                  jjCheckNAddStates(46, 48);
                   break;
                default : break;
             }
@@ -1679,8 +1686,7 @@ static private final int jjMoveNfa_1(int startState, int curPos)
                      jjstateSet[jjnewStateCnt++] = 40;
                   break;
                case 40:
-                  if (curChar == 92)
-                     jjCheckNAddStates(31, 33);
+                  jjCheckNAddStates(31, 33);
                   break;
                case 42:
                   if ((0xffffffffefffffffL & l) != 0L)
@@ -1691,8 +1697,7 @@ static private final int jjMoveNfa_1(int startState, int curPos)
                      jjstateSet[jjnewStateCnt++] = 44;
                   break;
                case 44:
-                  if (curChar == 92)
-                     jjCheckNAddStates(34, 36);
+                  jjCheckNAddStates(34, 36);
                   break;
                case 47:
                   if ((0xffffffffefffffffL & l) != 0L)
@@ -1703,8 +1708,7 @@ static private final int jjMoveNfa_1(int startState, int curPos)
                      jjstateSet[jjnewStateCnt++] = 49;
                   break;
                case 49:
-                  if (curChar == 92)
-                     jjCheckNAddStates(37, 39);
+                  jjCheckNAddStates(37, 39);
                   break;
                case 51:
                   if ((0xffffffffefffffffL & l) != 0L)
@@ -1715,8 +1719,7 @@ static private final int jjMoveNfa_1(int startState, int curPos)
                      jjstateSet[jjnewStateCnt++] = 53;
                   break;
                case 53:
-                  if (curChar == 92)
-                     jjCheckNAddStates(40, 42);
+                  jjCheckNAddStates(40, 42);
                   break;
                case 55:
                   if (curChar == 96)
@@ -1731,8 +1734,7 @@ static private final int jjMoveNfa_1(int startState, int curPos)
                      jjstateSet[jjnewStateCnt++] = 58;
                   break;
                case 58:
-                  if ((0x110000000L & l) != 0L)
-                     jjCheckNAddStates(43, 45);
+                  jjCheckNAddStates(43, 45);
                   break;
                case 59:
                   if (curChar == 96 && kind > 103)
@@ -1747,8 +1749,7 @@ static private final int jjMoveNfa_1(int startState, int curPos)
                      jjstateSet[jjnewStateCnt++] = 62;
                   break;
                case 62:
-                  if ((0x110000000L & l) != 0L)
-                     jjCheckNAddStates(46, 48);
+                  jjCheckNAddStates(46, 48);
                   break;
                case 63:
                   if (curChar == 96 && kind > 106)
@@ -1787,28 +1788,34 @@ static private final int jjMoveNfa_1(int startState, int curPos)
                   jjCheckNAdd(17);
                   break;
                case 38:
+               case 40:
                   if ((jjbitVec0[i2] & l2) != 0L)
-                     jjAddStates(31, 33);
+                     jjCheckNAddStates(31, 33);
                   break;
                case 42:
+               case 44:
                   if ((jjbitVec0[i2] & l2) != 0L)
-                     jjAddStates(34, 36);
+                     jjCheckNAddStates(34, 36);
                   break;
                case 47:
+               case 49:
                   if ((jjbitVec0[i2] & l2) != 0L)
-                     jjAddStates(37, 39);
+                     jjCheckNAddStates(37, 39);
                   break;
                case 51:
+               case 53:
                   if ((jjbitVec0[i2] & l2) != 0L)
-                     jjAddStates(40, 42);
+                     jjCheckNAddStates(40, 42);
                   break;
                case 56:
+               case 58:
                   if ((jjbitVec0[i2] & l2) != 0L)
-                     jjAddStates(43, 45);
+                     jjCheckNAddStates(43, 45);
                   break;
                case 60:
+               case 62:
                   if ((jjbitVec0[i2] & l2) != 0L)
-                     jjAddStates(46, 48);
+                     jjCheckNAddStates(46, 48);
                   break;
                default : break;
             }
@@ -1925,7 +1932,7 @@ public static final String[] lexStateNames = {
    "IN_MULTI_LINE_COMMENT", 
 };
 public static final int[] jjnewLexState = {
-   -1, 1, 1, 1, 0, -1, -1, -1, -1, -1, -1, 2, 2, 3, 4, 1, 0, -1, 1, 1, -1, -1, -1, -1, -1, 
+   -1, 1, 1, 1, 0, -1, -1, -1, -1, -1, -1, 2, 2, 3, 4, 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, -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, 
@@ -2028,6 +2035,7 @@ public static Token getNextToken()
       jjmatchedKind = 0;
       matchedToken = jjFillToken();
       matchedToken.specialToken = specialToken;
+      CommonTokenAction(matchedToken);
       return matchedToken;
    }
    image = null;
@@ -2060,9 +2068,9 @@ public static Token getNextToken()
          jjmatchedKind = 0x7fffffff;
          jjmatchedPos = 0;
          curPos = jjMoveStringLiteralDfa0_2();
-         if (jjmatchedPos == 0 && jjmatchedKind > 20)
+         if (jjmatchedPos == 0 && jjmatchedKind > 16)
          {
-            jjmatchedKind = 20;
+            jjmatchedKind = 16;
          }
          break;
        case 3:
@@ -2095,6 +2103,7 @@ public static Token getNextToken()
            TokenLexicalActions(matchedToken);
        if (jjnewLexState[jjmatchedKind] != -1)
          curLexState = jjnewLexState[jjmatchedKind];
+           CommonTokenAction(matchedToken);
            return matchedToken;
         }
         else if ((jjtoSkip[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L)
@@ -2204,7 +2213,7 @@ static void TokenLexicalActions(Token matchedToken)
             image = new StringBuffer(jjstrLiteralImages[4]);
          else
             image.append(jjstrLiteralImages[4]);
-                  PHPParser.htmlStart = SimpleCharStream.getPosition();
+                  PHPParser.htmlStart = PHPParser.token.sourceEnd;
          break;
       default : 
          break;