X-Git-Url: http://git.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/test/PHPParserTokenManager.java b/net.sourceforge.phpeclipse/src/test/PHPParserTokenManager.java index 3374c31..434a067 100644 --- a/net.sourceforge.phpeclipse/src/test/PHPParserTokenManager.java +++ b/net.sourceforge.phpeclipse/src/test/PHPParserTokenManager.java @@ -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;