misc
[phpeclipse.git] / net.sourceforge.phpeclipse / src / test / PHPParserTokenManager.java
index 8fd6c8f..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:
@@ -1540,9 +1549,8 @@ static private final int jjMoveNfa_1(int startState, int curPos)
                   if ((0xfffffffbffffffffL & l) != 0L)
                      jjCheckNAddStates(31, 33);
                   break;
-               case 39:
-                  if (curChar == 34)
-                     jjCheckNAddStates(31, 33);
+               case 40:
+                  jjCheckNAddStates(31, 33);
                   break;
                case 41:
                   if (curChar == 34 && kind > 103)
@@ -1552,9 +1560,8 @@ static private final int jjMoveNfa_1(int startState, int curPos)
                   if ((0xfffffffbffffffffL & l) != 0L)
                      jjCheckNAddStates(34, 36);
                   break;
-               case 43:
-                  if (curChar == 34)
-                     jjCheckNAddStates(34, 36);
+               case 44:
+                  jjCheckNAddStates(34, 36);
                   break;
                case 45:
                   if (curChar == 34 && kind > 104)
@@ -1568,9 +1575,8 @@ static private final int jjMoveNfa_1(int startState, int curPos)
                   if ((0xffffff7fffffffffL & l) != 0L)
                      jjCheckNAddStates(37, 39);
                   break;
-               case 48:
-                  if (curChar == 39)
-                     jjCheckNAddStates(37, 39);
+               case 49:
+                  jjCheckNAddStates(37, 39);
                   break;
                case 50:
                   if (curChar == 39 && kind > 103)
@@ -1580,19 +1586,20 @@ static private final int jjMoveNfa_1(int startState, int curPos)
                   if ((0xffffff7fffffffffL & l) != 0L)
                      jjCheckNAddStates(40, 42);
                   break;
-               case 52:
-                  if (curChar == 39)
-                     jjCheckNAddStates(40, 42);
+               case 53:
+                  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;
             }
@@ -1671,64 +1678,78 @@ static private final int jjMoveNfa_1(int startState, int curPos)
                   jjCheckNAddTwoStates(35, 6);
                   break;
                case 38:
-                  jjAddStates(31, 33);
+                  if ((0xffffffffefffffffL & l) != 0L)
+                     jjCheckNAddStates(31, 33);
                   break;
-               case 40:
+               case 39:
                   if (curChar == 92)
-                     jjstateSet[jjnewStateCnt++] = 39;
+                     jjstateSet[jjnewStateCnt++] = 40;
+                  break;
+               case 40:
+                  jjCheckNAddStates(31, 33);
                   break;
                case 42:
-                  jjAddStates(34, 36);
+                  if ((0xffffffffefffffffL & l) != 0L)
+                     jjCheckNAddStates(34, 36);
                   break;
-               case 44:
+               case 43:
                   if (curChar == 92)
-                     jjstateSet[jjnewStateCnt++] = 43;
+                     jjstateSet[jjnewStateCnt++] = 44;
+                  break;
+               case 44:
+                  jjCheckNAddStates(34, 36);
                   break;
                case 47:
-                  jjAddStates(37, 39);
+                  if ((0xffffffffefffffffL & l) != 0L)
+                     jjCheckNAddStates(37, 39);
                   break;
-               case 49:
+               case 48:
                   if (curChar == 92)
-                     jjstateSet[jjnewStateCnt++] = 48;
+                     jjstateSet[jjnewStateCnt++] = 49;
+                  break;
+               case 49:
+                  jjCheckNAddStates(37, 39);
                   break;
                case 51:
-                  jjAddStates(40, 42);
+                  if ((0xffffffffefffffffL & l) != 0L)
+                     jjCheckNAddStates(40, 42);
                   break;
-               case 53:
+               case 52:
                   if (curChar == 92)
-                     jjstateSet[jjnewStateCnt++] = 52;
+                     jjstateSet[jjnewStateCnt++] = 53;
+                  break;
+               case 53:
+                  jjCheckNAddStates(40, 42);
                   break;
                case 55:
                   if (curChar == 96)
                      jjCheckNAddStates(49, 54);
                   break;
                case 56:
-                  if ((0xfffffffeffffffffL & l) != 0L)
+                  if ((0xfffffffeefffffffL & l) != 0L)
                      jjCheckNAddStates(43, 45);
                   break;
                case 57:
-                  if (curChar == 96)
-                     jjCheckNAddStates(43, 45);
+                  if (curChar == 92)
+                     jjstateSet[jjnewStateCnt++] = 58;
                   break;
                case 58:
-                  if (curChar == 92)
-                     jjstateSet[jjnewStateCnt++] = 57;
+                  jjCheckNAddStates(43, 45);
                   break;
                case 59:
                   if (curChar == 96 && kind > 103)
                      kind = 103;
                   break;
                case 60:
-                  if ((0xfffffffeffffffffL & l) != 0L)
+                  if ((0xfffffffeefffffffL & l) != 0L)
                      jjCheckNAddStates(46, 48);
                   break;
                case 61:
-                  if (curChar == 96)
-                     jjCheckNAddStates(46, 48);
+                  if (curChar == 92)
+                     jjstateSet[jjnewStateCnt++] = 62;
                   break;
                case 62:
-                  if (curChar == 92)
-                     jjstateSet[jjnewStateCnt++] = 61;
+                  jjCheckNAddStates(46, 48);
                   break;
                case 63:
                   if (curChar == 96 && kind > 106)
@@ -1767,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;
             }
@@ -1878,10 +1905,10 @@ static private final int jjMoveStringLiteralDfa3_3(long old0, long active0)
    return 4;
 }
 static final int[] jjnextStates = {
-   19, 20, 25, 26, 29, 30, 12, 47, 49, 50, 51, 53, 54, 38, 40, 41, 
-   42, 44, 45, 34, 36, 6, 8, 9, 12, 21, 22, 12, 29, 30, 12, 38, 
-   40, 41, 42, 44, 45, 47, 49, 50, 51, 53, 54, 56, 58, 59, 60, 62, 
-   63, 56, 58, 59, 60, 62, 63, 10, 11, 23, 24, 27, 28, 31, 32, 
+   19, 20, 25, 26, 29, 30, 12, 47, 48, 50, 51, 52, 54, 38, 39, 41, 
+   42, 43, 45, 34, 36, 6, 8, 9, 12, 21, 22, 12, 29, 30, 12, 38, 
+   39, 41, 42, 43, 45, 47, 48, 50, 51, 52, 54, 56, 57, 59, 60, 61, 
+   63, 56, 57, 59, 60, 61, 63, 10, 11, 23, 24, 27, 28, 31, 32, 
 };
 public static final String[] jjstrLiteralImages = {
 "", "\74\77", null, "\74\77\75", "\77\76", null, null, null, null, null, null, 
@@ -1905,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, 
@@ -2008,6 +2035,7 @@ public static Token getNextToken()
       jjmatchedKind = 0;
       matchedToken = jjFillToken();
       matchedToken.specialToken = specialToken;
+      CommonTokenAction(matchedToken);
       return matchedToken;
    }
    image = null;
@@ -2040,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:
@@ -2075,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)
@@ -2184,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;