Пример #1
0
  void read() {

    scanner.scanNext();

    if (token.isMalformed) {
      int errorCode = -1;

      switch (token.tokenType) {
        case Tokens.X_MALFORMED_BINARY_STRING:
          errorCode = ErrorCode.X_42587;
          break;

        case Tokens.X_MALFORMED_BIT_STRING:
          errorCode = ErrorCode.X_42588;
          break;

        case Tokens.X_MALFORMED_UNICODE_STRING:
          errorCode = ErrorCode.X_42586;
          break;

        case Tokens.X_MALFORMED_STRING:
          errorCode = ErrorCode.X_42584;
          break;

        case Tokens.X_UNKNOWN_TOKEN:
          errorCode = ErrorCode.X_42582;
          break;

        case Tokens.X_MALFORMED_NUMERIC:
          errorCode = ErrorCode.X_42585;
          break;

        case Tokens.X_MALFORMED_COMMENT:
          errorCode = ErrorCode.X_42589;
          break;

        case Tokens.X_MALFORMED_IDENTIFIER:
          errorCode = ErrorCode.X_42583;
          break;
      }

      throw Error.error(errorCode);
    }

    if (isRecording) {
      Token dup = token.duplicate();

      dup.position = scanner.getTokenPosition();

      recordedStatement.add(dup);
    }
  }