From 387dc2d3ad7b8d2d9fd8412bc56899dfd45dbc31 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Tue, 9 Apr 2024 13:09:48 +0100 Subject: [PATCH] Alias 'default_case' to 'select_case' There's not much use in the node being a different name. --- grammar.js | 2 +- src/grammar.json | 9 ++++-- src/node-types.json | 70 +++--------------------------------------- src/parser.c | 4 +-- test/corpus/select.txt | 6 ++-- 5 files changed, 17 insertions(+), 74 deletions(-) diff --git a/grammar.js b/grammar.js index facfde5..0b56000 100644 --- a/grammar.js +++ b/grammar.js @@ -155,7 +155,7 @@ module.exports = grammar({ "{", optional(trailingCommaSeparated($.select_case)), // default *must* be the last one, enforced at parse-time... - optional(seq($.default_case, ",")), + optional(seq(alias($.default_case, $.select_case), ",")), "}", ), diff --git a/src/grammar.json b/src/grammar.json index c3b8ea2..0400043 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -635,8 +635,13 @@ "type": "SEQ", "members": [ { - "type": "SYMBOL", - "name": "default_case" + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "default_case" + }, + "named": true, + "value": "select_case" }, { "type": "STRING", diff --git a/src/node-types.json b/src/node-types.json index 804a8ca..24a3425 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -177,68 +177,6 @@ "named": true, "fields": {} }, - { - "type": "default_case", - "named": true, - "fields": { - "pattern": { - "multiple": false, - "required": true, - "types": [ - { - "type": "default", - "named": true - } - ] - }, - "value": { - "multiple": false, - "required": true, - "types": [ - { - "type": "binary_expression", - "named": true - }, - { - "type": "boolean_literal", - "named": true - }, - { - "type": "identifier", - "named": true - }, - { - "type": "integer_literal", - "named": true - }, - { - "type": "interpreted_string_literal", - "named": true - }, - { - "type": "list_expression", - "named": true - }, - { - "type": "map_expression", - "named": true - }, - { - "type": "raw_string_literal", - "named": true - }, - { - "type": "select_expression", - "named": true - }, - { - "type": "unset", - "named": true - } - ] - } - } - }, { "type": "integer_literal", "named": true, @@ -415,6 +353,10 @@ "multiple": false, "required": true, "types": [ + { + "type": "default", + "named": true + }, { "type": "interpreted_string_literal", "named": true @@ -481,10 +423,6 @@ "multiple": true, "required": true, "types": [ - { - "type": "default_case", - "named": true - }, { "type": "select_case", "named": true diff --git a/src/parser.c b/src/parser.c index 3861c15..b10080e 100644 --- a/src/parser.c +++ b/src/parser.c @@ -134,7 +134,7 @@ static const char * const ts_symbol_names[] = { [sym_soong_config_variable] = "soong_config_variable", [sym__select_cases] = "_select_cases", [sym_select_case] = "select_case", - [sym_default_case] = "default_case", + [sym_default_case] = "select_case", [sym__case_value] = "_case_value", [sym_list_expression] = "list_expression", [sym_map_expression] = "map_expression", @@ -201,7 +201,7 @@ static const TSSymbol ts_symbol_map[] = { [sym_soong_config_variable] = sym_soong_config_variable, [sym__select_cases] = sym__select_cases, [sym_select_case] = sym_select_case, - [sym_default_case] = sym_default_case, + [sym_default_case] = sym_select_case, [sym__case_value] = sym__case_value, [sym_list_expression] = sym_list_expression, [sym_map_expression] = sym_map_expression, diff --git a/test/corpus/select.txt b/test/corpus/select.txt index ddaa8f2..205e13e 100644 --- a/test/corpus/select.txt +++ b/test/corpus/select.txt @@ -20,7 +20,7 @@ foo = select(release_variable("RELEASE_TEST"), { (select_case (interpreted_string_literal) (interpreted_string_literal)) - (default_case + (select_case (default) (unset))))) @@ -131,7 +131,7 @@ foo = select(variant("VARIANT"), { (interpreted_string_literal) (interpreted_string_literal)) (ERROR - (default_case + (select_case (default) (unset))) (select_case @@ -163,7 +163,7 @@ foo = select(variant(), { (select_case (interpreted_string_literal) (unset)) - (default_case + (select_case (default) (interpreted_string_literal)))))