|
|
|
|
@ -13,7 +13,7 @@
|
|
|
|
|
#pragma GCC optimize ("O0")
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#define LANGUAGE_VERSION 11
|
|
|
|
|
#define LANGUAGE_VERSION 13
|
|
|
|
|
#define STATE_COUNT 18195
|
|
|
|
|
#define LARGE_STATE_COUNT 3882
|
|
|
|
|
#define SYMBOL_COUNT 345
|
|
|
|
|
@ -22,6 +22,7 @@
|
|
|
|
|
#define EXTERNAL_TOKEN_COUNT 0
|
|
|
|
|
#define FIELD_COUNT 0
|
|
|
|
|
#define MAX_ALIAS_SEQUENCE_LENGTH 10
|
|
|
|
|
#define PRODUCTION_ID_COUNT 7
|
|
|
|
|
|
|
|
|
|
enum {
|
|
|
|
|
anon_sym_POUND_BANG = 1,
|
|
|
|
|
@ -373,7 +374,7 @@ enum {
|
|
|
|
|
alias_sym_type_identifier = 347,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
static const char *ts_symbol_names[] = {
|
|
|
|
|
static const char * const ts_symbol_names[] = {
|
|
|
|
|
[ts_builtin_sym_end] = "end",
|
|
|
|
|
[anon_sym_POUND_BANG] = "#!",
|
|
|
|
|
[aux_sym_shebang_line_token1] = "shebang_line_token1",
|
|
|
|
|
@ -424,7 +425,7 @@ static const char *ts_symbol_names[] = {
|
|
|
|
|
[anon_sym_do] = "do",
|
|
|
|
|
[aux_sym__semi_token1] = "_semi_token1",
|
|
|
|
|
[anon_sym_DOT_DOT] = "..",
|
|
|
|
|
[anon_sym_QMARK_COLON] = "?:",
|
|
|
|
|
[anon_sym_QMARK_COLON] = "\?:",
|
|
|
|
|
[anon_sym_AMP_AMP] = "&&",
|
|
|
|
|
[anon_sym_PIPE_PIPE] = "||",
|
|
|
|
|
[anon_sym_null] = "null",
|
|
|
|
|
@ -460,7 +461,7 @@ static const char *ts_symbol_names[] = {
|
|
|
|
|
[anon_sym_DASH] = "-",
|
|
|
|
|
[anon_sym_SLASH] = "/",
|
|
|
|
|
[anon_sym_PERCENT] = "%",
|
|
|
|
|
[anon_sym_as_QMARK] = "as?",
|
|
|
|
|
[anon_sym_as_QMARK] = "as\?",
|
|
|
|
|
[anon_sym_PLUS_PLUS] = "++",
|
|
|
|
|
[anon_sym_DASH_DASH] = "--",
|
|
|
|
|
[anon_sym_BANG] = "!",
|
|
|
|
|
@ -724,7 +725,7 @@ static const char *ts_symbol_names[] = {
|
|
|
|
|
[alias_sym_type_identifier] = "type_identifier",
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
static TSSymbol ts_symbol_map[] = {
|
|
|
|
|
static const TSSymbol ts_symbol_map[] = {
|
|
|
|
|
[ts_builtin_sym_end] = ts_builtin_sym_end,
|
|
|
|
|
[anon_sym_POUND_BANG] = anon_sym_POUND_BANG,
|
|
|
|
|
[aux_sym_shebang_line_token1] = aux_sym_shebang_line_token1,
|
|
|
|
|
@ -2470,7 +2471,7 @@ static const TSSymbolMetadata ts_symbol_metadata[] = {
|
|
|
|
|
},
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
static TSSymbol ts_alias_sequences[7][MAX_ALIAS_SEQUENCE_LENGTH] = {
|
|
|
|
|
static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = {
|
|
|
|
|
[0] = {0},
|
|
|
|
|
[1] = {
|
|
|
|
|
[0] = alias_sym_type_identifier,
|
|
|
|
|
@ -2492,6 +2493,17 @@ static TSSymbol ts_alias_sequences[7][MAX_ALIAS_SEQUENCE_LENGTH] = {
|
|
|
|
|
},
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
static const uint16_t ts_non_terminal_alias_map[] = {
|
|
|
|
|
sym__expression, 2,
|
|
|
|
|
sym__expression,
|
|
|
|
|
alias_sym_interpolated_expression,
|
|
|
|
|
sym_simple_identifier, 3,
|
|
|
|
|
sym_simple_identifier,
|
|
|
|
|
alias_sym_interpolated_identifier,
|
|
|
|
|
alias_sym_type_identifier,
|
|
|
|
|
0,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
static bool ts_lex(TSLexer *lexer, TSStateId state) {
|
|
|
|
|
START_LEXER();
|
|
|
|
|
eof = lexer->eof(lexer);
|
|
|
|
|
@ -10973,7 +10985,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
|
|
|
|
|
END_STATE();
|
|
|
|
|
case 226:
|
|
|
|
|
if (lookahead == '*') ADVANCE(228);
|
|
|
|
|
if (lookahead == '/') ADVANCE(844);
|
|
|
|
|
if (lookahead == '/') ADVANCE(846);
|
|
|
|
|
END_STATE();
|
|
|
|
|
case 227:
|
|
|
|
|
if (lookahead == '*') ADVANCE(227);
|
|
|
|
|
@ -12352,7 +12364,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
|
|
|
|
|
END_STATE();
|
|
|
|
|
case 575:
|
|
|
|
|
ACCEPT_TOKEN(aux_sym_shebang_line_token1);
|
|
|
|
|
if (lookahead == '\r') ADVANCE(844);
|
|
|
|
|
if (lookahead == '\r') ADVANCE(846);
|
|
|
|
|
if (lookahead != 0 &&
|
|
|
|
|
lookahead != '\n') ADVANCE(575);
|
|
|
|
|
END_STATE();
|
|
|
|
|
@ -13179,12 +13191,12 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
|
|
|
|
|
case 736:
|
|
|
|
|
ACCEPT_TOKEN(anon_sym_SLASH);
|
|
|
|
|
if (lookahead == '*') ADVANCE(228);
|
|
|
|
|
if (lookahead == '/') ADVANCE(844);
|
|
|
|
|
if (lookahead == '/') ADVANCE(846);
|
|
|
|
|
END_STATE();
|
|
|
|
|
case 737:
|
|
|
|
|
ACCEPT_TOKEN(anon_sym_SLASH);
|
|
|
|
|
if (lookahead == '*') ADVANCE(228);
|
|
|
|
|
if (lookahead == '/') ADVANCE(844);
|
|
|
|
|
if (lookahead == '/') ADVANCE(846);
|
|
|
|
|
if (lookahead == '=') ADVANCE(719);
|
|
|
|
|
END_STATE();
|
|
|
|
|
case 738:
|
|
|
|
|
@ -13777,20 +13789,22 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
|
|
|
|
|
if (lookahead == '\n') ADVANCE(1374);
|
|
|
|
|
if (lookahead == '"' ||
|
|
|
|
|
lookahead == '$' ||
|
|
|
|
|
lookahead == '\\') ADVANCE(844);
|
|
|
|
|
lookahead == '\\') ADVANCE(846);
|
|
|
|
|
if (lookahead != 0) ADVANCE(842);
|
|
|
|
|
END_STATE();
|
|
|
|
|
case 843:
|
|
|
|
|
ACCEPT_TOKEN(sym_comment);
|
|
|
|
|
if (lookahead == '\n') ADVANCE(1379);
|
|
|
|
|
if (lookahead == '"' ||
|
|
|
|
|
lookahead == '$') ADVANCE(844);
|
|
|
|
|
lookahead == '$') ADVANCE(846);
|
|
|
|
|
if (lookahead != 0) ADVANCE(843);
|
|
|
|
|
END_STATE();
|
|
|
|
|
case 844:
|
|
|
|
|
ACCEPT_TOKEN(sym_comment);
|
|
|
|
|
if (lookahead != 0 &&
|
|
|
|
|
lookahead != '\n') ADVANCE(844);
|
|
|
|
|
lookahead != '"' &&
|
|
|
|
|
lookahead != '$' &&
|
|
|
|
|
lookahead != '\\') ADVANCE(1374);
|
|
|
|
|
END_STATE();
|
|
|
|
|
case 845:
|
|
|
|
|
ACCEPT_TOKEN(sym_comment);
|
|
|
|
|
@ -13801,9 +13815,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
|
|
|
|
|
case 846:
|
|
|
|
|
ACCEPT_TOKEN(sym_comment);
|
|
|
|
|
if (lookahead != 0 &&
|
|
|
|
|
lookahead != '"' &&
|
|
|
|
|
lookahead != '$' &&
|
|
|
|
|
lookahead != '\\') ADVANCE(1374);
|
|
|
|
|
lookahead != '\n') ADVANCE(846);
|
|
|
|
|
END_STATE();
|
|
|
|
|
case 847:
|
|
|
|
|
ACCEPT_TOKEN(anon_sym_return_AT);
|
|
|
|
|
@ -13938,7 +13950,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
|
|
|
|
|
case 870:
|
|
|
|
|
ACCEPT_TOKEN(aux_sym_character_literal_token1);
|
|
|
|
|
if (lookahead == '*') ADVANCE(228);
|
|
|
|
|
if (lookahead == '/') ADVANCE(844);
|
|
|
|
|
if (lookahead == '/') ADVANCE(846);
|
|
|
|
|
END_STATE();
|
|
|
|
|
case 871:
|
|
|
|
|
ACCEPT_TOKEN(aux_sym_character_literal_token1);
|
|
|
|
|
@ -18283,7 +18295,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
|
|
|
|
|
case 1371:
|
|
|
|
|
ACCEPT_TOKEN(sym__line_str_text);
|
|
|
|
|
if (lookahead == '*') ADVANCE(1371);
|
|
|
|
|
if (lookahead == '/') ADVANCE(846);
|
|
|
|
|
if (lookahead == '/') ADVANCE(844);
|
|
|
|
|
if (lookahead == '"' ||
|
|
|
|
|
lookahead == '$' ||
|
|
|
|
|
lookahead == '\\') ADVANCE(228);
|
|
|
|
|
@ -18361,7 +18373,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static TSLexMode ts_lex_modes[STATE_COUNT] = {
|
|
|
|
|
static const TSLexMode ts_lex_modes[STATE_COUNT] = {
|
|
|
|
|
[0] = {.lex_state = 0},
|
|
|
|
|
[1] = {.lex_state = 570},
|
|
|
|
|
[2] = {.lex_state = 10},
|
|
|
|
|
@ -36559,7 +36571,7 @@ static TSLexMode ts_lex_modes[STATE_COUNT] = {
|
|
|
|
|
[18194] = {.lex_state = 0},
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
static uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
|
|
|
|
|
static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
|
|
|
|
|
[0] = {
|
|
|
|
|
[ts_builtin_sym_end] = ACTIONS(1),
|
|
|
|
|
[anon_sym_POUND_BANG] = ACTIONS(1),
|
|
|
|
|
@ -407075,7 +407087,7 @@ static uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
|
|
|
|
|
},
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
static uint16_t ts_small_parse_table[] = {
|
|
|
|
|
static const uint16_t ts_small_parse_table[] = {
|
|
|
|
|
[0] = 45,
|
|
|
|
|
ACTIONS(3), 1,
|
|
|
|
|
sym_comment,
|
|
|
|
|
@ -947070,7 +947082,7 @@ static uint16_t ts_small_parse_table[] = {
|
|
|
|
|
anon_sym_LPAREN,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
static uint32_t ts_small_parse_table_map[] = {
|
|
|
|
|
static const uint32_t ts_small_parse_table_map[] = {
|
|
|
|
|
[SMALL_STATE(3882)] = 0,
|
|
|
|
|
[SMALL_STATE(3883)] = 155,
|
|
|
|
|
[SMALL_STATE(3884)] = 310,
|
|
|
|
|
@ -961386,7 +961398,7 @@ static uint32_t ts_small_parse_table_map[] = {
|
|
|
|
|
[SMALL_STATE(18194)] = 656492,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
static TSParseActionEntry ts_parse_actions[] = {
|
|
|
|
|
static const TSParseActionEntry ts_parse_actions[] = {
|
|
|
|
|
[0] = {.entry = {.count = 0, .reusable = false}},
|
|
|
|
|
[1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(),
|
|
|
|
|
[3] = {.entry = {.count = 1, .reusable = true}}, SHIFT_EXTRA(),
|
|
|
|
|
@ -971343,25 +971355,28 @@ extern "C" {
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
extern const TSLanguage *tree_sitter_kotlin(void) {
|
|
|
|
|
static TSLanguage language = {
|
|
|
|
|
static const TSLanguage language = {
|
|
|
|
|
.version = LANGUAGE_VERSION,
|
|
|
|
|
.symbol_count = SYMBOL_COUNT,
|
|
|
|
|
.alias_count = ALIAS_COUNT,
|
|
|
|
|
.token_count = TOKEN_COUNT,
|
|
|
|
|
.external_token_count = EXTERNAL_TOKEN_COUNT,
|
|
|
|
|
.state_count = STATE_COUNT,
|
|
|
|
|
.large_state_count = LARGE_STATE_COUNT,
|
|
|
|
|
.symbol_metadata = ts_symbol_metadata,
|
|
|
|
|
.parse_table = (const unsigned short *)ts_parse_table,
|
|
|
|
|
.small_parse_table = (const uint16_t *)ts_small_parse_table,
|
|
|
|
|
.small_parse_table_map = (const uint32_t *)ts_small_parse_table_map,
|
|
|
|
|
.production_id_count = PRODUCTION_ID_COUNT,
|
|
|
|
|
.field_count = FIELD_COUNT,
|
|
|
|
|
.max_alias_sequence_length = MAX_ALIAS_SEQUENCE_LENGTH,
|
|
|
|
|
.parse_table = &ts_parse_table[0][0],
|
|
|
|
|
.small_parse_table = ts_small_parse_table,
|
|
|
|
|
.small_parse_table_map = ts_small_parse_table_map,
|
|
|
|
|
.parse_actions = ts_parse_actions,
|
|
|
|
|
.lex_modes = ts_lex_modes,
|
|
|
|
|
.symbol_names = ts_symbol_names,
|
|
|
|
|
.symbol_metadata = ts_symbol_metadata,
|
|
|
|
|
.public_symbol_map = ts_symbol_map,
|
|
|
|
|
.alias_sequences = (const TSSymbol *)ts_alias_sequences,
|
|
|
|
|
.field_count = FIELD_COUNT,
|
|
|
|
|
.max_alias_sequence_length = MAX_ALIAS_SEQUENCE_LENGTH,
|
|
|
|
|
.alias_map = ts_non_terminal_alias_map,
|
|
|
|
|
.alias_sequences = &ts_alias_sequences[0][0],
|
|
|
|
|
.lex_modes = ts_lex_modes,
|
|
|
|
|
.lex_fn = ts_lex,
|
|
|
|
|
.external_token_count = EXTERNAL_TOKEN_COUNT,
|
|
|
|
|
};
|
|
|
|
|
return &language;
|
|
|
|
|
}
|
|
|
|
|
|