Add 'select' expression

Except for 'soong_config_variable' which is not yet handled.
This commit is contained in:
Bruno BELANYI 2024-04-08 01:12:35 +01:00
parent 9dd109b90a
commit 12553c3bb8
5 changed files with 3470 additions and 1495 deletions

224
src/node-types.json generated
View file

@ -58,6 +58,10 @@
{
"type": "raw_string_literal",
"named": true
},
{
"type": "select_expression",
"named": true
}
]
}
@ -73,6 +77,64 @@
"named": true,
"fields": {}
},
{
"type": "default_case",
"named": true,
"fields": {
"pattern": {
"multiple": false,
"required": true,
"types": [
{
"type": "default",
"named": false
}
]
},
"value": {
"multiple": false,
"required": true,
"types": [
{
"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,
@ -128,6 +190,10 @@
{
"type": "raw_string_literal",
"named": true
},
{
"type": "select_expression",
"named": true
}
]
}
@ -177,6 +243,140 @@
{
"type": "raw_string_literal",
"named": true
},
{
"type": "select_expression",
"named": true
}
]
}
}
},
{
"type": "select_case",
"named": true,
"fields": {
"pattern": {
"multiple": false,
"required": true,
"types": [
{
"type": "interpreted_string_literal",
"named": true
},
{
"type": "raw_string_literal",
"named": true
}
]
},
"value": {
"multiple": false,
"required": true,
"types": [
{
"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": "select_cases",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "default_case",
"named": true
},
{
"type": "select_case",
"named": true
}
]
}
},
{
"type": "select_expression",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "select_cases",
"named": true
},
{
"type": "select_value",
"named": true
}
]
}
},
{
"type": "select_value",
"named": true,
"fields": {
"condition": {
"multiple": false,
"required": true,
"types": [
{
"type": "interpreted_string_literal",
"named": true
},
{
"type": "raw_string_literal",
"named": true
}
]
},
"type": {
"multiple": false,
"required": true,
"types": [
{
"type": "selection_type",
"named": true
}
]
}
@ -205,6 +405,14 @@
"type": "#",
"named": false
},
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "+=",
"named": false
@ -233,6 +441,10 @@
"type": "]",
"named": false
},
{
"type": "default",
"named": false
},
{
"type": "escape_sequence",
"named": true
@ -249,10 +461,22 @@
"type": "raw_string_literal",
"named": true
},
{
"type": "select",
"named": false
},
{
"type": "selection_type",
"named": true
},
{
"type": "true",
"named": false
},
{
"type": "unset",
"named": true
},
{
"type": "{",
"named": false