public IElementType advance()

in workbench/mps-workbench/source/jetbrains/mps/ide/java/_JavaLexer.java [970:1600]


  public IElementType advance() throws java.io.IOException {
    int zzInput;
    int zzAction;

    // cached fields:
    int zzCurrentPosL;
    int zzMarkedPosL;
    int zzEndReadL = zzEndRead;
    CharSequence zzBufferL = zzBuffer;
    char[] zzBufferArrayL = zzBufferArray;
    char[] zzCMapL = ZZ_CMAP;

    int[] zzTransL = ZZ_TRANS;
    int[] zzRowMapL = ZZ_ROWMAP;
    int[] zzAttrL = ZZ_ATTRIBUTE;

    while (true) {
      zzMarkedPosL = zzMarkedPos;

      zzAction = -1;

      zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL;

      zzState = zzLexicalState;


      zzForAction:
      {
        while (true) {

          if (zzCurrentPosL < zzEndReadL)
            zzInput = zzBufferArrayL != null ? zzBufferArrayL[zzCurrentPosL++] : zzBufferL.charAt(zzCurrentPosL++);
          else if (zzAtEOF) {
            zzInput = YYEOF;
            break zzForAction;
          } else {
            // store back cached positions
            zzCurrentPos = zzCurrentPosL;
            zzMarkedPos = zzMarkedPosL;
            boolean eof = zzRefill();
            // get translated positions and possibly new buffer
            zzCurrentPosL = zzCurrentPos;
            zzMarkedPosL = zzMarkedPos;
            zzBufferL = zzBuffer;
            zzEndReadL = zzEndRead;
            if (eof) {
              zzInput = YYEOF;
              break zzForAction;
            } else {
              zzInput = zzBufferArrayL != null ? zzBufferArrayL[zzCurrentPosL++] : zzBufferL.charAt(zzCurrentPosL++);
            }
          }
          int zzNext = zzTransL[zzRowMapL[zzState] + zzCMapL[zzInput]];
          if (zzNext == -1) break zzForAction;
          zzState = zzNext;

          int zzAttributes = zzAttrL[zzState];
          if ((zzAttributes & 1) == 1) {
            zzAction = zzState;
            zzMarkedPosL = zzCurrentPosL;
            if ((zzAttributes & 8) == 8) break zzForAction;
          }

        }
      }

      // store back cached position
      zzMarkedPos = zzMarkedPosL;

      switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
        case 67: {
          return JavaTokenType.LONG_KEYWORD;
        }
        case 111:
          break;
        case 99: {
          return JavaTokenType.PRIVATE_KEYWORD;
        }
        case 112:
          break;
        case 27: {
          return JavaTokenType.COMMA;
        }
        case 113:
          break;
        case 23: {
          return JavaTokenType.RBRACE;
        }
        case 114:
          break;
        case 22: {
          return JavaTokenType.LBRACE;
        }
        case 115:
          break;
        case 66: {
          return myJdk15Enabled ? JavaTokenType.ENUM_KEYWORD : JavaTokenType.IDENTIFIER;
        }
        case 116:
          break;
        case 55: {
          return JavaTokenType.DOC_COMMENT;
        }
        case 117:
          break;
        case 64: {
          return JavaTokenType.THIS_KEYWORD;
        }
        case 118:
          break;
        case 83: {
          return JavaTokenType.CLASS_KEYWORD;
        }
        case 119:
          break;
        case 14: {
          return JavaTokenType.PLUS;
        }
        case 120:
          break;
        case 53: {
          return JavaTokenType.XOREQ;
        }
        case 121:
          break;
        case 60: {
          return JavaTokenType.INT_KEYWORD;
        }
        case 122:
          break;
        case 80: {
          return JavaTokenType.SHORT_KEYWORD;
        }
        case 123:
          break;
        case 74: {
          if (myJdk15Enabled) return JavaTokenType.FLOAT_LITERAL;
        }
        case 124:
          break;
        case 43: {
          return JavaTokenType.EQEQ;
        }
        case 125:
          break;
        case 101: {
          return JavaTokenType.ABSTRACT_KEYWORD;
        }
        case 126:
          break;
        case 68: {
          return JavaTokenType.NULL_KEYWORD;
        }
        case 127:
          break;
        case 95: {
          return JavaTokenType.EXTENDS_KEYWORD;
        }
        case 128:
          break;
        case 50: {
          return JavaTokenType.LTLT;
        }
        case 129:
          break;
        case 20: {
          return JavaTokenType.LPARENTH;
        }
        case 130:
          break;
        case 12: {
          return JavaTokenType.EXCL;
        }
        case 131:
          break;
        case 102: {
          return JavaTokenType.STRICTFP_KEYWORD;
        }
        case 132:
          break;
        case 37: {
          return JavaTokenType.DIVEQ;
        }
        case 133:
          break;
        case 89: {
          return JavaTokenType.STATIC_KEYWORD;
        }
        case 134:
          break;
        case 39: {
          return JavaTokenType.MINUSMINUS;
        }
        case 135:
          break;
        case 76: {
          return JavaTokenType.FALSE_KEYWORD;
        }
        case 136:
          break;
        case 1: {
          return JavaTokenType.BAD_CHARACTER;
        }
        case 137:
          break;
        case 90: {
          return JavaTokenType.SWITCH_KEYWORD;
        }
        case 138:
          break;
        case 26: {
          return JavaTokenType.SEMICOLON;
        }
        case 139:
          break;
        case 18: {
          return JavaTokenType.XOR;
        }
        case 140:
          break;
        case 34: {
          return JavaTokenType.DOUBLE_LITERAL;
        }
        case 141:
          break;
        case 45: {
          return JavaTokenType.OREQ;
        }
        case 142:
          break;
        case 11: {
          return JavaTokenType.EQ;
        }
        case 143:
          break;
        case 5: {
          return JavaTokenType.DIV;
        }
        case 144:
          break;
        case 65: {
          return JavaTokenType.ELSE_KEYWORD;
        }
        case 145:
          break;
        case 59: {
          return JavaTokenType.NEW_KEYWORD;
        }
        case 146:
          break;
        case 56: {
          return JavaTokenType.ELLIPSIS;
        }
        case 147:
          break;
        case 52: {
          return JavaTokenType.ANDAND;
        }
        case 148:
          break;
        case 81: {
          return JavaTokenType.BREAK_KEYWORD;
        }
        case 149:
          break;
        case 9: {
          return JavaTokenType.CHARACTER_LITERAL;
        }
        case 150:
          break;
        case 51: {
          return JavaTokenType.ANDEQ;
        }
        case 151:
          break;
        case 2: {
          return JavaTokenType.INTEGER_LITERAL;
        }
        case 152:
          break;
        case 77: {
          return JavaTokenType.FLOAT_KEYWORD;
        }
        case 153:
          break;
        case 10: {
          return JavaTokenType.STRING_LITERAL;
        }
        case 154:
          break;
        case 71: {
          return JavaTokenType.CHAR_KEYWORD;
        }
        case 155:
          break;
        case 91: {
          return JavaTokenType.NATIVE_KEYWORD;
        }
        case 156:
          break;
        case 42: {
          return JavaTokenType.DO_KEYWORD;
        }
        case 157:
          break;
        case 7: {
          return JavaTokenType.DOT;
        }
        case 158:
          break;
        case 28: {
          return JavaTokenType.TILDE;
        }
        case 159:
          break;
        case 110: {
          return JavaTokenType.SYNCHRONIZED_KEYWORD;
        }
        case 160:
          break;
        case 35: {
          return JavaTokenType.END_OF_LINE_COMMENT;
        }
        case 161:
          break;
        case 38: {
          return JavaTokenType.ASTERISKEQ;
        }
        case 162:
          break;
        case 79: {
          return JavaTokenType.SUPER_KEYWORD;
        }
        case 163:
          break;
        case 40: {
          return JavaTokenType.MINUSEQ;
        }
        case 164:
          break;
        case 61: {
          return JavaTokenType.LTLTEQ;
        }
        case 165:
          break;
        case 72: {
          return JavaTokenType.GOTO_KEYWORD;
        }
        case 166:
          break;
        case 25: {
          return JavaTokenType.RBRACKET;
        }
        case 167:
          break;
        case 88: {
          return myAssertKeywordEnabled ? JavaTokenType.ASSERT_KEYWORD : JavaTokenType.IDENTIFIER;
        }
        case 168:
          break;
        case 36: {
          return JavaTokenType.C_STYLE_COMMENT;
        }
        case 169:
          break;
        case 15: {
          return JavaTokenType.LT;
        }
        case 170:
          break;
        case 41: {
          return JavaTokenType.IF_KEYWORD;
        }
        case 171:
          break;
        case 8: {
          return JavaTokenType.MINUS;
        }
        case 172:
          break;
        case 85: {
          return JavaTokenType.WHILE_KEYWORD;
        }
        case 173:
          break;
        case 69: {
          return JavaTokenType.BYTE_KEYWORD;
        }
        case 174:
          break;
        case 96: {
          return JavaTokenType.FINALLY_KEYWORD;
        }
        case 175:
          break;
        case 73: {
          return JavaTokenType.VOID_KEYWORD;
        }
        case 176:
          break;
        case 29: {
          return JavaTokenType.QUEST;
        }
        case 177:
          break;
        case 19: {
          return JavaTokenType.PERC;
        }
        case 178:
          break;
        case 109: {
          return JavaTokenType.IMPLEMENTS_KEYWORD;
        }
        case 179:
          break;
        case 86: {
          return JavaTokenType.THROWS_KEYWORD;
        }
        case 180:
          break;
        case 78: {
          return JavaTokenType.FINAL_KEYWORD;
        }
        case 181:
          break;
        case 93: {
          return JavaTokenType.DOUBLE_KEYWORD;
        }
        case 182:
          break;
        case 107: {
          return JavaTokenType.PROTECTED_KEYWORD;
        }
        case 183:
          break;
        case 103: {
          return JavaTokenType.CONTINUE_KEYWORD;
        }
        case 184:
          break;
        case 100: {
          return JavaTokenType.PACKAGE_KEYWORD;
        }
        case 185:
          break;
        case 62: {
          if (myJdk15Enabled) return JavaTokenType.DOUBLE_LITERAL;
        }
        case 186:
          break;
        case 16: {
          return JavaTokenType.GT;
        }
        case 187:
          break;
        case 24: {
          return JavaTokenType.LBRACKET;
        }
        case 188:
          break;
        case 32: {
          return JavaTokenType.LONG_LITERAL;
        }
        case 189:
          break;
        case 58: {
          return JavaTokenType.FOR_KEYWORD;
        }
        case 190:
          break;
        case 98: {
          return JavaTokenType.DEFAULT_KEYWORD;
        }
        case 191:
          break;
        case 47: {
          return JavaTokenType.PLUSEQ;
        }
        case 192:
          break;
        case 87: {
          return JavaTokenType.RETURN_KEYWORD;
        }
        case 193:
          break;
        case 63: {
          return JavaTokenType.TRUE_KEYWORD;
        }
        case 194:
          break;
        case 48: {
          return JavaTokenType.PLUSPLUS;
        }
        case 195:
          break;
        case 46: {
          return JavaTokenType.OROR;
        }
        case 196:
          break;
        case 13: {
          return JavaTokenType.OR;
        }
        case 197:
          break;
        case 3: {
          return JavaTokenType.IDENTIFIER;
        }
        case 198:
          break;
        case 54: {
          return JavaTokenType.PERCEQ;
        }
        case 199:
          break;
        case 30: {
          return JavaTokenType.COLON;
        }
        case 200:
          break;
        case 104: {
          return JavaTokenType.VOLATILE_KEYWORD;
        }
        case 201:
          break;
        case 106: {
          return JavaTokenType.INTERFACE_KEYWORD;
        }
        case 202:
          break;
        case 108: {
          return JavaTokenType.INSTANCEOF_KEYWORD;
        }
        case 203:
          break;
        case 105: {
          return JavaTokenType.TRANSIENT_KEYWORD;
        }
        case 204:
          break;
        case 97: {
          return JavaTokenType.BOOLEAN_KEYWORD;
        }
        case 205:
          break;
        case 70: {
          return JavaTokenType.CASE_KEYWORD;
        }
        case 206:
          break;
        case 6: {
          return JavaTokenType.ASTERISK;
        }
        case 207:
          break;
        case 92: {
          return JavaTokenType.IMPORT_KEYWORD;
        }
        case 208:
          break;
        case 31: {
          return JavaTokenType.AT;
        }
        case 209:
          break;
        case 44: {
          return JavaTokenType.NE;
        }
        case 210:
          break;
        case 57: {
          return JavaTokenType.TRY_KEYWORD;
        }
        case 211:
          break;
        case 82: {
          return JavaTokenType.CATCH_KEYWORD;
        }
        case 212:
          break;
        case 33: {
          return JavaTokenType.FLOAT_LITERAL;
        }
        case 213:
          break;
        case 17: {
          return JavaTokenType.AND;
        }
        case 214:
          break;
        case 75: {
          return JavaTokenType.THROW_KEYWORD;
        }
        case 215:
          break;
        case 21: {
          return JavaTokenType.RPARENTH;
        }
        case 216:
          break;
        case 4: {
          return JavaTokenType.WHITE_SPACE;
        }
        case 217:
          break;
        case 94: {
          return JavaTokenType.PUBLIC_KEYWORD;
        }
        case 218:
          break;
        case 49: {
          return JavaTokenType.LE;
        }
        case 219:
          break;
        case 84: {
          return JavaTokenType.CONST_KEYWORD;
        }
        case 220:
          break;
        default:
          if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
            zzAtEOF = true;
            zzDoEOF();
            return null;
          } else {
            zzScanError(ZZ_NO_MATCH);
          }
      }
    }
  }