diff --git a/docs/04-reference/wingsdk-api.md b/docs/04-reference/wingsdk-api.md
index 22aea5c3a9b..d930fa9ed5d 100644
--- a/docs/04-reference/wingsdk-api.md
+++ b/docs/04-reference/wingsdk-api.md
@@ -3471,7 +3471,7 @@ Invoke the function asynchronously with a given payload.
- *Implemented By:* IFunctionHandler
-**Inflight client:** [wingsdk.cloud.IFunctionHandlerClient](#wingsdk.cloud.IFunctionHandlerClient)
+**Inflight client:** [@winglang/sdk.cloud.IFunctionHandlerClient](#@winglang/sdk.cloud.IFunctionHandlerClient)
Represents a resource with an inflight "handle" method that can be used to create a `cloud.Function`.
@@ -3636,7 +3636,7 @@ Payload to send to the queue.
- *Implemented By:* IQueueOnMessageHandler
-**Inflight client:** [wingsdk.cloud.IQueueOnMessageHandlerClient](#wingsdk.cloud.IQueueOnMessageHandlerClient)
+**Inflight client:** [@winglang/sdk.cloud.IQueueOnMessageHandlerClient](#@winglang/sdk.cloud.IQueueOnMessageHandlerClient)
Represents a resource with an inflight "handle" method that can be passed to `Queue.on_message`.
@@ -3711,7 +3711,7 @@ Function that will be called when a message is received from the queue.
- *Implemented By:* IScheduleOnTickHandler
-**Inflight client:** [wingsdk.cloud.IScheduleOnTickHandlerClient](#wingsdk.cloud.IScheduleOnTickHandlerClient)
+**Inflight client:** [@winglang/sdk.cloud.IScheduleOnTickHandlerClient](#@winglang/sdk.cloud.IScheduleOnTickHandlerClient)
Represents a resource with an inflight "handle" method that can be passed to `Schedule.on_tick`.
@@ -3813,7 +3813,7 @@ Payload to publish to Topic.
- *Implemented By:* ITopicOnMessageHandler
-**Inflight client:** [wingsdk.cloud.ITopicOnMessageHandlerClient](#wingsdk.cloud.ITopicOnMessageHandlerClient)
+**Inflight client:** [@winglang/sdk.cloud.ITopicOnMessageHandlerClient](#@winglang/sdk.cloud.ITopicOnMessageHandlerClient)
Represents a resource with an inflight "handle" method that can be passed to `Topic.on_message`.
diff --git a/examples/tests/invalid/impl_interface.w b/examples/tests/invalid/impl_interface.w
new file mode 100644
index 00000000000..3e6f1d07ed6
--- /dev/null
+++ b/examples/tests/invalid/impl_interface.w
@@ -0,0 +1,14 @@
+bring cloud;
+
+resource A impl cloud.IQueueOnMessageHandler {
+ // Error: A does not implement "handle" method of cloud.IQueueOnMessageHandler
+ init() {}
+}
+
+resource B impl cloud.IQueueOnMessageHandler {
+ init() {}
+ inflight handle() {
+ // Error: Expected type to be "inflight (str): void", but got "inflight (): void" instead
+ return;
+ }
+}
diff --git a/examples/tests/valid/impl_interface.w b/examples/tests/valid/impl_interface.w
new file mode 100644
index 00000000000..6cdc02ee26c
--- /dev/null
+++ b/examples/tests/valid/impl_interface.w
@@ -0,0 +1,15 @@
+bring cloud;
+
+resource A impl cloud.IQueueOnMessageHandler {
+ init() {}
+ inflight handle(msg: str) {
+ return;
+ }
+}
+
+resource B impl cloud.IQueueOnMessageHandler {
+ init() {}
+ inflight handle(msg: str): num { // its okay to return a more specific type
+ return 5;
+ }
+}
diff --git a/libs/tree-sitter-wing/grammar.js b/libs/tree-sitter-wing/grammar.js
index f019b5582da..db28d55bfa0 100644
--- a/libs/tree-sitter-wing/grammar.js
+++ b/libs/tree-sitter-wing/grammar.js
@@ -74,6 +74,7 @@ module.exports = grammar({
$.return_statement,
$.class_definition,
$.resource_definition,
+ $.interface_definition,
$.for_in_loop,
$.while_statement,
$.break_statement,
@@ -144,6 +145,7 @@ module.exports = grammar({
"class",
field("name", $.identifier),
optional(seq("extends", field("parent", $.custom_type))),
+ optional(seq("impl", field("implements", commaSep1($.custom_type)))),
field("implementation", $.class_implementation)
),
class_implementation: ($) =>
@@ -176,6 +178,7 @@ module.exports = grammar({
"resource",
field("name", $.identifier),
optional(seq("extends", field("parent", $.custom_type))),
+ optional(seq("impl", field("implements", commaSep1($.custom_type)))),
field("implementation", $.resource_implementation)
),
resource_implementation: ($) =>
@@ -192,6 +195,26 @@ module.exports = grammar({
"}"
),
+ interface_definition: ($) =>
+ seq(
+ "interface",
+ field("name", $.identifier),
+ optional(seq("extends", field("implements", commaSep1($.custom_type)))),
+ field("implementation", $.interface_implementation)
+ ),
+ interface_implementation: ($) =>
+ seq(
+ "{",
+ repeat(
+ choice(
+ $.method_signature,
+ $.inflight_method_signature,
+ $.class_field,
+ )
+ ),
+ "}"
+ ),
+
for_in_loop: ($) =>
seq(
"for",
@@ -375,6 +398,17 @@ module.exports = grammar({
field("block", $.block)
),
+ method_signature: ($) =>
+ seq(
+ optional(field("access_modifier", $.access_modifier)),
+ optional(field("static", $.static)),
+ optional(field("async", $.async_modifier)),
+ field("name", $.identifier),
+ field("parameter_list", $.parameter_list),
+ optional(field("return_type", $._type_annotation)),
+ ";"
+ ),
+
method_definition: ($) =>
seq(
optional(field("access_modifier", $.access_modifier)),
@@ -386,6 +420,17 @@ module.exports = grammar({
field("block", $.block)
),
+ inflight_method_signature: ($) =>
+ seq(
+ optional(field("access_modifier", $.access_modifier)),
+ optional(field("static", $.static)),
+ field("phase_modifier", $._inflight_specifier),
+ field("name", $.identifier),
+ field("parameter_list", $.parameter_list),
+ optional(field("return_type", $._type_annotation)),
+ ";"
+ ),
+
inflight_method_definition: ($) =>
seq(
optional(field("access_modifier", $.access_modifier)),
diff --git a/libs/tree-sitter-wing/project.json b/libs/tree-sitter-wing/project.json
index 5ed791db450..39b013a649f 100644
--- a/libs/tree-sitter-wing/project.json
+++ b/libs/tree-sitter-wing/project.json
@@ -3,6 +3,7 @@
"$schema": "../../node_modules/nx/schemas/project-schema.json",
"targets": {
"test": {
+ "dependsOn": ["build"],
"executor": "nx:run-commands",
"options": {
"command": "npm run test",
diff --git a/libs/tree-sitter-wing/src/grammar.json b/libs/tree-sitter-wing/src/grammar.json
index 304c06760be..b81bef1d333 100644
--- a/libs/tree-sitter-wing/src/grammar.json
+++ b/libs/tree-sitter-wing/src/grammar.json
@@ -206,6 +206,10 @@
"type": "SYMBOL",
"name": "resource_definition"
},
+ {
+ "type": "SYMBOL",
+ "name": "interface_definition"
+ },
{
"type": "SYMBOL",
"name": "for_in_loop"
@@ -687,6 +691,64 @@
}
]
},
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "STRING",
+ "value": "impl"
+ },
+ {
+ "type": "FIELD",
+ "name": "implements",
+ "content": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "SYMBOL",
+ "name": "custom_type"
+ },
+ {
+ "type": "REPEAT",
+ "content": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "STRING",
+ "value": ","
+ },
+ {
+ "type": "SYMBOL",
+ "name": "custom_type"
+ }
+ ]
+ }
+ },
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "STRING",
+ "value": ","
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ },
{
"type": "FIELD",
"name": "implementation",
@@ -884,6 +946,64 @@
}
]
},
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "STRING",
+ "value": "impl"
+ },
+ {
+ "type": "FIELD",
+ "name": "implements",
+ "content": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "SYMBOL",
+ "name": "custom_type"
+ },
+ {
+ "type": "REPEAT",
+ "content": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "STRING",
+ "value": ","
+ },
+ {
+ "type": "SYMBOL",
+ "name": "custom_type"
+ }
+ ]
+ }
+ },
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "STRING",
+ "value": ","
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ },
{
"type": "FIELD",
"name": "implementation",
@@ -931,6 +1051,122 @@
}
]
},
+ "interface_definition": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "STRING",
+ "value": "interface"
+ },
+ {
+ "type": "FIELD",
+ "name": "name",
+ "content": {
+ "type": "SYMBOL",
+ "name": "identifier"
+ }
+ },
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "STRING",
+ "value": "extends"
+ },
+ {
+ "type": "FIELD",
+ "name": "implements",
+ "content": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "SYMBOL",
+ "name": "custom_type"
+ },
+ {
+ "type": "REPEAT",
+ "content": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "STRING",
+ "value": ","
+ },
+ {
+ "type": "SYMBOL",
+ "name": "custom_type"
+ }
+ ]
+ }
+ },
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "STRING",
+ "value": ","
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ },
+ {
+ "type": "FIELD",
+ "name": "implementation",
+ "content": {
+ "type": "SYMBOL",
+ "name": "interface_implementation"
+ }
+ }
+ ]
+ },
+ "interface_implementation": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "STRING",
+ "value": "{"
+ },
+ {
+ "type": "REPEAT",
+ "content": {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SYMBOL",
+ "name": "method_signature"
+ },
+ {
+ "type": "SYMBOL",
+ "name": "inflight_method_signature"
+ },
+ {
+ "type": "SYMBOL",
+ "name": "class_field"
+ }
+ ]
+ }
+ },
+ {
+ "type": "STRING",
+ "value": "}"
+ }
+ ]
+ },
"for_in_loop": {
"type": "SEQ",
"members": [
@@ -2071,6 +2307,95 @@
}
]
},
+ "method_signature": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "FIELD",
+ "name": "access_modifier",
+ "content": {
+ "type": "SYMBOL",
+ "name": "access_modifier"
+ }
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ },
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "FIELD",
+ "name": "static",
+ "content": {
+ "type": "SYMBOL",
+ "name": "static"
+ }
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ },
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "FIELD",
+ "name": "async",
+ "content": {
+ "type": "SYMBOL",
+ "name": "async_modifier"
+ }
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ },
+ {
+ "type": "FIELD",
+ "name": "name",
+ "content": {
+ "type": "SYMBOL",
+ "name": "identifier"
+ }
+ },
+ {
+ "type": "FIELD",
+ "name": "parameter_list",
+ "content": {
+ "type": "SYMBOL",
+ "name": "parameter_list"
+ }
+ },
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "FIELD",
+ "name": "return_type",
+ "content": {
+ "type": "SYMBOL",
+ "name": "_type_annotation"
+ }
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ },
+ {
+ "type": "STRING",
+ "value": ";"
+ }
+ ]
+ },
"method_definition": {
"type": "SEQ",
"members": [
@@ -2164,6 +2489,87 @@
}
]
},
+ "inflight_method_signature": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "FIELD",
+ "name": "access_modifier",
+ "content": {
+ "type": "SYMBOL",
+ "name": "access_modifier"
+ }
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ },
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "FIELD",
+ "name": "static",
+ "content": {
+ "type": "SYMBOL",
+ "name": "static"
+ }
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ },
+ {
+ "type": "FIELD",
+ "name": "phase_modifier",
+ "content": {
+ "type": "SYMBOL",
+ "name": "_inflight_specifier"
+ }
+ },
+ {
+ "type": "FIELD",
+ "name": "name",
+ "content": {
+ "type": "SYMBOL",
+ "name": "identifier"
+ }
+ },
+ {
+ "type": "FIELD",
+ "name": "parameter_list",
+ "content": {
+ "type": "SYMBOL",
+ "name": "parameter_list"
+ }
+ },
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "FIELD",
+ "name": "return_type",
+ "content": {
+ "type": "SYMBOL",
+ "name": "_type_annotation"
+ }
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ },
+ {
+ "type": "STRING",
+ "value": ";"
+ }
+ ]
+ },
"inflight_method_definition": {
"type": "SEQ",
"members": [
diff --git a/libs/tree-sitter-wing/src/node-types.json b/libs/tree-sitter-wing/src/node-types.json
index 4a4d6632cf3..e5239a22077 100644
--- a/libs/tree-sitter-wing/src/node-types.json
+++ b/libs/tree-sitter-wing/src/node-types.json
@@ -296,6 +296,10 @@
"type": "if_statement",
"named": true
},
+ {
+ "type": "interface_definition",
+ "named": true
+ },
{
"type": "resource_definition",
"named": true
@@ -386,6 +390,20 @@
}
]
},
+ "implements": {
+ "multiple": true,
+ "required": false,
+ "types": [
+ {
+ "type": ",",
+ "named": false
+ },
+ {
+ "type": "custom_type",
+ "named": true
+ }
+ ]
+ },
"name": {
"multiple": false,
"required": true,
@@ -1153,6 +1171,197 @@
}
}
},
+ {
+ "type": "inflight_method_signature",
+ "named": true,
+ "fields": {
+ "access_modifier": {
+ "multiple": false,
+ "required": false,
+ "types": [
+ {
+ "type": "access_modifier",
+ "named": true
+ }
+ ]
+ },
+ "name": {
+ "multiple": false,
+ "required": true,
+ "types": [
+ {
+ "type": "identifier",
+ "named": true
+ }
+ ]
+ },
+ "parameter_list": {
+ "multiple": false,
+ "required": true,
+ "types": [
+ {
+ "type": "parameter_list",
+ "named": true
+ }
+ ]
+ },
+ "phase_modifier": {
+ "multiple": false,
+ "required": true,
+ "types": [
+ {
+ "type": "inflight",
+ "named": false
+ }
+ ]
+ },
+ "return_type": {
+ "multiple": true,
+ "required": false,
+ "types": [
+ {
+ "type": ":",
+ "named": false
+ },
+ {
+ "type": "builtin_type",
+ "named": true
+ },
+ {
+ "type": "custom_type",
+ "named": true
+ },
+ {
+ "type": "function_type",
+ "named": true
+ },
+ {
+ "type": "immutable_container_type",
+ "named": true
+ },
+ {
+ "type": "json_container_type",
+ "named": true
+ },
+ {
+ "type": "mutable_container_type",
+ "named": true
+ },
+ {
+ "type": "optional",
+ "named": true
+ }
+ ]
+ },
+ "static": {
+ "multiple": false,
+ "required": false,
+ "types": [
+ {
+ "type": "static",
+ "named": true
+ }
+ ]
+ },
+ "type": {
+ "multiple": false,
+ "required": false,
+ "types": [
+ {
+ "type": "builtin_type",
+ "named": true
+ },
+ {
+ "type": "custom_type",
+ "named": true
+ },
+ {
+ "type": "function_type",
+ "named": true
+ },
+ {
+ "type": "immutable_container_type",
+ "named": true
+ },
+ {
+ "type": "json_container_type",
+ "named": true
+ },
+ {
+ "type": "mutable_container_type",
+ "named": true
+ },
+ {
+ "type": "optional",
+ "named": true
+ }
+ ]
+ }
+ }
+ },
+ {
+ "type": "interface_definition",
+ "named": true,
+ "fields": {
+ "implementation": {
+ "multiple": false,
+ "required": true,
+ "types": [
+ {
+ "type": "interface_implementation",
+ "named": true
+ }
+ ]
+ },
+ "implements": {
+ "multiple": true,
+ "required": false,
+ "types": [
+ {
+ "type": ",",
+ "named": false
+ },
+ {
+ "type": "custom_type",
+ "named": true
+ }
+ ]
+ },
+ "name": {
+ "multiple": false,
+ "required": true,
+ "types": [
+ {
+ "type": "identifier",
+ "named": true
+ }
+ ]
+ }
+ }
+ },
+ {
+ "type": "interface_implementation",
+ "named": true,
+ "fields": {},
+ "children": {
+ "multiple": true,
+ "required": false,
+ "types": [
+ {
+ "type": "class_field",
+ "named": true
+ },
+ {
+ "type": "inflight_method_signature",
+ "named": true
+ },
+ {
+ "type": "method_signature",
+ "named": true
+ }
+ ]
+ }
+ },
{
"type": "json_container_type",
"named": true,
@@ -1417,6 +1626,134 @@
}
}
},
+ {
+ "type": "method_signature",
+ "named": true,
+ "fields": {
+ "access_modifier": {
+ "multiple": false,
+ "required": false,
+ "types": [
+ {
+ "type": "access_modifier",
+ "named": true
+ }
+ ]
+ },
+ "async": {
+ "multiple": false,
+ "required": false,
+ "types": [
+ {
+ "type": "async_modifier",
+ "named": true
+ }
+ ]
+ },
+ "name": {
+ "multiple": false,
+ "required": true,
+ "types": [
+ {
+ "type": "identifier",
+ "named": true
+ }
+ ]
+ },
+ "parameter_list": {
+ "multiple": false,
+ "required": true,
+ "types": [
+ {
+ "type": "parameter_list",
+ "named": true
+ }
+ ]
+ },
+ "return_type": {
+ "multiple": true,
+ "required": false,
+ "types": [
+ {
+ "type": ":",
+ "named": false
+ },
+ {
+ "type": "builtin_type",
+ "named": true
+ },
+ {
+ "type": "custom_type",
+ "named": true
+ },
+ {
+ "type": "function_type",
+ "named": true
+ },
+ {
+ "type": "immutable_container_type",
+ "named": true
+ },
+ {
+ "type": "json_container_type",
+ "named": true
+ },
+ {
+ "type": "mutable_container_type",
+ "named": true
+ },
+ {
+ "type": "optional",
+ "named": true
+ }
+ ]
+ },
+ "static": {
+ "multiple": false,
+ "required": false,
+ "types": [
+ {
+ "type": "static",
+ "named": true
+ }
+ ]
+ },
+ "type": {
+ "multiple": false,
+ "required": false,
+ "types": [
+ {
+ "type": "builtin_type",
+ "named": true
+ },
+ {
+ "type": "custom_type",
+ "named": true
+ },
+ {
+ "type": "function_type",
+ "named": true
+ },
+ {
+ "type": "immutable_container_type",
+ "named": true
+ },
+ {
+ "type": "json_container_type",
+ "named": true
+ },
+ {
+ "type": "mutable_container_type",
+ "named": true
+ },
+ {
+ "type": "optional",
+ "named": true
+ }
+ ]
+ }
+ }
+ },
{
"type": "minutes",
"named": true,
@@ -1916,6 +2253,20 @@
}
]
},
+ "implements": {
+ "multiple": true,
+ "required": false,
+ "types": [
+ {
+ "type": ",",
+ "named": false
+ },
+ {
+ "type": "custom_type",
+ "named": true
+ }
+ ]
+ },
"name": {
"multiple": false,
"required": true,
@@ -2093,6 +2444,10 @@
"type": "if_statement",
"named": true
},
+ {
+ "type": "interface_definition",
+ "named": true
+ },
{
"type": "resource_definition",
"named": true
@@ -2764,6 +3119,10 @@
"type": "if",
"named": false
},
+ {
+ "type": "impl",
+ "named": false
+ },
{
"type": "in",
"named": false
@@ -2776,6 +3135,10 @@
"type": "init",
"named": false
},
+ {
+ "type": "interface",
+ "named": false
+ },
{
"type": "keyword_argument_key",
"named": true
diff --git a/libs/tree-sitter-wing/src/parser.c b/libs/tree-sitter-wing/src/parser.c
index 606773c31cc..2d5ddc25551 100644
--- a/libs/tree-sitter-wing/src/parser.c
+++ b/libs/tree-sitter-wing/src/parser.c
@@ -6,15 +6,15 @@
#endif
#define LANGUAGE_VERSION 14
-#define STATE_COUNT 611
+#define STATE_COUNT 733
#define LARGE_STATE_COUNT 14
-#define SYMBOL_COUNT 189
+#define SYMBOL_COUNT 197
#define ALIAS_COUNT 3
-#define TOKEN_COUNT 94
+#define TOKEN_COUNT 96
#define EXTERNAL_TOKEN_COUNT 0
-#define FIELD_COUNT 44
+#define FIELD_COUNT 45
#define MAX_ALIAS_SEQUENCE_LENGTH 9
-#define PRODUCTION_ID_COUNT 125
+#define PRODUCTION_ID_COUNT 155
enum {
sym_identifier = 1,
@@ -38,176 +38,184 @@ enum {
anon_sym_let = 19,
anon_sym_COLON = 20,
anon_sym_class = 21,
- anon_sym_resource = 22,
- anon_sym_for = 23,
- anon_sym_in = 24,
- anon_sym_while = 25,
- anon_sym_break = 26,
- anon_sym_continue = 27,
- anon_sym_if = 28,
- anon_sym_else = 29,
- anon_sym_elif = 30,
- anon_sym_try = 31,
- anon_sym_catch = 32,
- anon_sym_finally = 33,
- anon_sym_0 = 34,
- aux_sym__integer_token1 = 35,
- aux_sym__decimal_token1 = 36,
- aux_sym__decimal_token2 = 37,
- anon_sym_true = 38,
- anon_sym_false = 39,
- anon_sym_s = 40,
- anon_sym_m = 41,
- anon_sym_h = 42,
- anon_sym_DQUOTE = 43,
- anon_sym_DOLLAR_LBRACE = 44,
- sym__string_fragment = 45,
- sym__escape_sequence = 46,
- anon_sym_LPAREN = 47,
- anon_sym_RPAREN = 48,
- anon_sym_new = 49,
- anon_sym_QMARK = 50,
- anon_sym_num = 51,
- anon_sym_bool = 52,
- anon_sym_any = 53,
- anon_sym_str = 54,
- anon_sym_void = 55,
- anon_sym_duration = 56,
- anon_sym_init = 57,
- sym_async_modifier = 58,
- anon_sym_public = 59,
- anon_sym_private = 60,
- anon_sym_protected = 61,
- anon_sym_Array = 62,
- anon_sym_Set = 63,
- anon_sym_Map = 64,
- anon_sym_Promise = 65,
- anon_sym_MutSet = 66,
- anon_sym_MutMap = 67,
- anon_sym_MutArray = 68,
- anon_sym_LT = 69,
- anon_sym_GT = 70,
- anon_sym_DASH_DASH = 71,
- anon_sym_DASH = 72,
- anon_sym_BANG = 73,
- anon_sym_PLUS = 74,
- anon_sym_STAR = 75,
- anon_sym_SLASH = 76,
- anon_sym_BSLASH = 77,
- anon_sym_PERCENT = 78,
- anon_sym_STAR_STAR = 79,
- anon_sym_PIPE_PIPE = 80,
- anon_sym_AMP_AMP = 81,
- anon_sym_EQ_EQ = 82,
- anon_sym_BANG_EQ = 83,
- anon_sym_GT_EQ = 84,
- anon_sym_LT_EQ = 85,
- anon_sym_QMARK_QMARK = 86,
- anon_sym_EQ_GT = 87,
- anon_sym_await = 88,
- anon_sym_defer = 89,
- anon_sym_LBRACK = 90,
- anon_sym_RBRACK = 91,
- anon_sym_Json = 92,
- anon_sym_MutJson = 93,
- sym_source = 94,
- sym_block = 95,
- sym_reference = 96,
- sym_custom_type = 97,
- sym_nested_identifier = 98,
- sym__inflight_specifier = 99,
- sym__statement = 100,
- sym_short_import_statement = 101,
- sym_struct_definition = 102,
- sym_struct_field = 103,
- sym_enum_definition = 104,
- sym_return_statement = 105,
- sym_variable_assignment_statement = 106,
- sym_expression_statement = 107,
- sym_variable_definition_statement = 108,
- sym__type_annotation = 109,
- sym_class_definition = 110,
- sym_class_implementation = 111,
- sym_class_field = 112,
- sym_resource_definition = 113,
- sym_resource_implementation = 114,
- sym_for_in_loop = 115,
- sym_while_statement = 116,
- sym_break_statement = 117,
- sym_continue_statement = 118,
- sym_if_statement = 119,
- sym_elif_block = 120,
- sym_try_catch_statement = 121,
- sym_expression = 122,
- sym__literal = 123,
- sym_number = 124,
- sym__integer = 125,
- sym__decimal = 126,
- sym_bool = 127,
- sym_duration = 128,
- sym_seconds = 129,
- sym_minutes = 130,
- sym_hours = 131,
- sym_string = 132,
- sym_template_substitution = 133,
- sym_call = 134,
- sym_argument_list = 135,
- sym_positional_argument = 136,
- sym_keyword_argument = 137,
- sym_new_expression = 138,
- sym_new_object_id = 139,
- sym_new_object_scope = 140,
- sym__type = 141,
- sym_optional = 142,
- sym_function_type = 143,
- sym_parameter_type_list = 144,
- sym_builtin_type = 145,
- sym_constructor = 146,
- sym_method_definition = 147,
- sym_inflight_method_definition = 148,
- sym_access_modifier = 149,
- sym_parameter_definition = 150,
- sym_parameter_list = 151,
- sym_immutable_container_type = 152,
- sym_mutable_container_type = 153,
- sym__builtin_container_type = 154,
- sym__container_value_type = 155,
- sym_unary_expression = 156,
- sym_binary_expression = 157,
- sym_preflight_closure = 158,
- sym_inflight_closure = 159,
- sym_await_expression = 160,
- sym_defer_expression = 161,
- sym_parenthesized_expression = 162,
- sym__collection_literal = 163,
- sym_array_literal = 164,
- sym_set_literal = 165,
- sym_map_literal = 166,
- sym_struct_literal = 167,
- sym_map_literal_member = 168,
- sym_struct_literal_member = 169,
- sym_structured_access_expression = 170,
- sym_json_literal = 171,
- sym_json_element = 172,
- sym_json_container_type = 173,
- aux_sym_source_repeat1 = 174,
- aux_sym_custom_type_repeat1 = 175,
- aux_sym_struct_definition_repeat1 = 176,
- aux_sym_struct_definition_repeat2 = 177,
- aux_sym_enum_definition_repeat1 = 178,
- aux_sym_class_implementation_repeat1 = 179,
- aux_sym_if_statement_repeat1 = 180,
- aux_sym_string_repeat1 = 181,
- aux_sym_argument_list_repeat1 = 182,
- aux_sym_argument_list_repeat2 = 183,
- aux_sym_parameter_type_list_repeat1 = 184,
- aux_sym_parameter_list_repeat1 = 185,
- aux_sym_array_literal_repeat1 = 186,
- aux_sym_map_literal_repeat1 = 187,
- aux_sym_struct_literal_repeat1 = 188,
- alias_sym_enum_field = 189,
- alias_sym_keyword_argument_key = 190,
- alias_sym_keyword_argument_value = 191,
+ anon_sym_impl = 22,
+ anon_sym_resource = 23,
+ anon_sym_interface = 24,
+ anon_sym_for = 25,
+ anon_sym_in = 26,
+ anon_sym_while = 27,
+ anon_sym_break = 28,
+ anon_sym_continue = 29,
+ anon_sym_if = 30,
+ anon_sym_else = 31,
+ anon_sym_elif = 32,
+ anon_sym_try = 33,
+ anon_sym_catch = 34,
+ anon_sym_finally = 35,
+ anon_sym_0 = 36,
+ aux_sym__integer_token1 = 37,
+ aux_sym__decimal_token1 = 38,
+ aux_sym__decimal_token2 = 39,
+ anon_sym_true = 40,
+ anon_sym_false = 41,
+ anon_sym_s = 42,
+ anon_sym_m = 43,
+ anon_sym_h = 44,
+ anon_sym_DQUOTE = 45,
+ anon_sym_DOLLAR_LBRACE = 46,
+ sym__string_fragment = 47,
+ sym__escape_sequence = 48,
+ anon_sym_LPAREN = 49,
+ anon_sym_RPAREN = 50,
+ anon_sym_new = 51,
+ anon_sym_QMARK = 52,
+ anon_sym_num = 53,
+ anon_sym_bool = 54,
+ anon_sym_any = 55,
+ anon_sym_str = 56,
+ anon_sym_void = 57,
+ anon_sym_duration = 58,
+ anon_sym_init = 59,
+ sym_async_modifier = 60,
+ anon_sym_public = 61,
+ anon_sym_private = 62,
+ anon_sym_protected = 63,
+ anon_sym_Array = 64,
+ anon_sym_Set = 65,
+ anon_sym_Map = 66,
+ anon_sym_Promise = 67,
+ anon_sym_MutSet = 68,
+ anon_sym_MutMap = 69,
+ anon_sym_MutArray = 70,
+ anon_sym_LT = 71,
+ anon_sym_GT = 72,
+ anon_sym_DASH_DASH = 73,
+ anon_sym_DASH = 74,
+ anon_sym_BANG = 75,
+ anon_sym_PLUS = 76,
+ anon_sym_STAR = 77,
+ anon_sym_SLASH = 78,
+ anon_sym_BSLASH = 79,
+ anon_sym_PERCENT = 80,
+ anon_sym_STAR_STAR = 81,
+ anon_sym_PIPE_PIPE = 82,
+ anon_sym_AMP_AMP = 83,
+ anon_sym_EQ_EQ = 84,
+ anon_sym_BANG_EQ = 85,
+ anon_sym_GT_EQ = 86,
+ anon_sym_LT_EQ = 87,
+ anon_sym_QMARK_QMARK = 88,
+ anon_sym_EQ_GT = 89,
+ anon_sym_await = 90,
+ anon_sym_defer = 91,
+ anon_sym_LBRACK = 92,
+ anon_sym_RBRACK = 93,
+ anon_sym_Json = 94,
+ anon_sym_MutJson = 95,
+ sym_source = 96,
+ sym_block = 97,
+ sym_reference = 98,
+ sym_custom_type = 99,
+ sym_nested_identifier = 100,
+ sym__inflight_specifier = 101,
+ sym__statement = 102,
+ sym_short_import_statement = 103,
+ sym_struct_definition = 104,
+ sym_struct_field = 105,
+ sym_enum_definition = 106,
+ sym_return_statement = 107,
+ sym_variable_assignment_statement = 108,
+ sym_expression_statement = 109,
+ sym_variable_definition_statement = 110,
+ sym__type_annotation = 111,
+ sym_class_definition = 112,
+ sym_class_implementation = 113,
+ sym_class_field = 114,
+ sym_resource_definition = 115,
+ sym_resource_implementation = 116,
+ sym_interface_definition = 117,
+ sym_interface_implementation = 118,
+ sym_for_in_loop = 119,
+ sym_while_statement = 120,
+ sym_break_statement = 121,
+ sym_continue_statement = 122,
+ sym_if_statement = 123,
+ sym_elif_block = 124,
+ sym_try_catch_statement = 125,
+ sym_expression = 126,
+ sym__literal = 127,
+ sym_number = 128,
+ sym__integer = 129,
+ sym__decimal = 130,
+ sym_bool = 131,
+ sym_duration = 132,
+ sym_seconds = 133,
+ sym_minutes = 134,
+ sym_hours = 135,
+ sym_string = 136,
+ sym_template_substitution = 137,
+ sym_call = 138,
+ sym_argument_list = 139,
+ sym_positional_argument = 140,
+ sym_keyword_argument = 141,
+ sym_new_expression = 142,
+ sym_new_object_id = 143,
+ sym_new_object_scope = 144,
+ sym__type = 145,
+ sym_optional = 146,
+ sym_function_type = 147,
+ sym_parameter_type_list = 148,
+ sym_builtin_type = 149,
+ sym_constructor = 150,
+ sym_method_signature = 151,
+ sym_method_definition = 152,
+ sym_inflight_method_signature = 153,
+ sym_inflight_method_definition = 154,
+ sym_access_modifier = 155,
+ sym_parameter_definition = 156,
+ sym_parameter_list = 157,
+ sym_immutable_container_type = 158,
+ sym_mutable_container_type = 159,
+ sym__builtin_container_type = 160,
+ sym__container_value_type = 161,
+ sym_unary_expression = 162,
+ sym_binary_expression = 163,
+ sym_preflight_closure = 164,
+ sym_inflight_closure = 165,
+ sym_await_expression = 166,
+ sym_defer_expression = 167,
+ sym_parenthesized_expression = 168,
+ sym__collection_literal = 169,
+ sym_array_literal = 170,
+ sym_set_literal = 171,
+ sym_map_literal = 172,
+ sym_struct_literal = 173,
+ sym_map_literal_member = 174,
+ sym_struct_literal_member = 175,
+ sym_structured_access_expression = 176,
+ sym_json_literal = 177,
+ sym_json_element = 178,
+ sym_json_container_type = 179,
+ aux_sym_source_repeat1 = 180,
+ aux_sym_custom_type_repeat1 = 181,
+ aux_sym_struct_definition_repeat1 = 182,
+ aux_sym_struct_definition_repeat2 = 183,
+ aux_sym_enum_definition_repeat1 = 184,
+ aux_sym_class_definition_repeat1 = 185,
+ aux_sym_class_implementation_repeat1 = 186,
+ aux_sym_interface_implementation_repeat1 = 187,
+ aux_sym_if_statement_repeat1 = 188,
+ aux_sym_string_repeat1 = 189,
+ aux_sym_argument_list_repeat1 = 190,
+ aux_sym_argument_list_repeat2 = 191,
+ aux_sym_parameter_type_list_repeat1 = 192,
+ aux_sym_parameter_list_repeat1 = 193,
+ aux_sym_array_literal_repeat1 = 194,
+ aux_sym_map_literal_repeat1 = 195,
+ aux_sym_struct_literal_repeat1 = 196,
+ alias_sym_enum_field = 197,
+ alias_sym_keyword_argument_key = 198,
+ alias_sym_keyword_argument_value = 199,
};
static const char * const ts_symbol_names[] = {
@@ -233,7 +241,9 @@ static const char * const ts_symbol_names[] = {
[anon_sym_let] = "let",
[anon_sym_COLON] = ":",
[anon_sym_class] = "class",
+ [anon_sym_impl] = "impl",
[anon_sym_resource] = "resource",
+ [anon_sym_interface] = "interface",
[anon_sym_for] = "for",
[anon_sym_in] = "in",
[anon_sym_while] = "while",
@@ -326,6 +336,8 @@ static const char * const ts_symbol_names[] = {
[sym_class_field] = "class_field",
[sym_resource_definition] = "resource_definition",
[sym_resource_implementation] = "resource_implementation",
+ [sym_interface_definition] = "interface_definition",
+ [sym_interface_implementation] = "interface_implementation",
[sym_for_in_loop] = "for_in_loop",
[sym_while_statement] = "while_statement",
[sym_break_statement] = "break_statement",
@@ -358,7 +370,9 @@ static const char * const ts_symbol_names[] = {
[sym_parameter_type_list] = "parameter_type_list",
[sym_builtin_type] = "builtin_type",
[sym_constructor] = "constructor",
+ [sym_method_signature] = "method_signature",
[sym_method_definition] = "method_definition",
+ [sym_inflight_method_signature] = "inflight_method_signature",
[sym_inflight_method_definition] = "inflight_method_definition",
[sym_access_modifier] = "access_modifier",
[sym_parameter_definition] = "parameter_definition",
@@ -390,7 +404,9 @@ static const char * const ts_symbol_names[] = {
[aux_sym_struct_definition_repeat1] = "struct_definition_repeat1",
[aux_sym_struct_definition_repeat2] = "struct_definition_repeat2",
[aux_sym_enum_definition_repeat1] = "enum_definition_repeat1",
+ [aux_sym_class_definition_repeat1] = "class_definition_repeat1",
[aux_sym_class_implementation_repeat1] = "class_implementation_repeat1",
+ [aux_sym_interface_implementation_repeat1] = "interface_implementation_repeat1",
[aux_sym_if_statement_repeat1] = "if_statement_repeat1",
[aux_sym_string_repeat1] = "string_repeat1",
[aux_sym_argument_list_repeat1] = "argument_list_repeat1",
@@ -428,7 +444,9 @@ static const TSSymbol ts_symbol_map[] = {
[anon_sym_let] = anon_sym_let,
[anon_sym_COLON] = anon_sym_COLON,
[anon_sym_class] = anon_sym_class,
+ [anon_sym_impl] = anon_sym_impl,
[anon_sym_resource] = anon_sym_resource,
+ [anon_sym_interface] = anon_sym_interface,
[anon_sym_for] = anon_sym_for,
[anon_sym_in] = anon_sym_in,
[anon_sym_while] = anon_sym_while,
@@ -521,6 +539,8 @@ static const TSSymbol ts_symbol_map[] = {
[sym_class_field] = sym_class_field,
[sym_resource_definition] = sym_resource_definition,
[sym_resource_implementation] = sym_resource_implementation,
+ [sym_interface_definition] = sym_interface_definition,
+ [sym_interface_implementation] = sym_interface_implementation,
[sym_for_in_loop] = sym_for_in_loop,
[sym_while_statement] = sym_while_statement,
[sym_break_statement] = sym_break_statement,
@@ -553,7 +573,9 @@ static const TSSymbol ts_symbol_map[] = {
[sym_parameter_type_list] = sym_parameter_type_list,
[sym_builtin_type] = sym_builtin_type,
[sym_constructor] = sym_constructor,
+ [sym_method_signature] = sym_method_signature,
[sym_method_definition] = sym_method_definition,
+ [sym_inflight_method_signature] = sym_inflight_method_signature,
[sym_inflight_method_definition] = sym_inflight_method_definition,
[sym_access_modifier] = sym_access_modifier,
[sym_parameter_definition] = sym_parameter_definition,
@@ -585,7 +607,9 @@ static const TSSymbol ts_symbol_map[] = {
[aux_sym_struct_definition_repeat1] = aux_sym_struct_definition_repeat1,
[aux_sym_struct_definition_repeat2] = aux_sym_struct_definition_repeat2,
[aux_sym_enum_definition_repeat1] = aux_sym_enum_definition_repeat1,
+ [aux_sym_class_definition_repeat1] = aux_sym_class_definition_repeat1,
[aux_sym_class_implementation_repeat1] = aux_sym_class_implementation_repeat1,
+ [aux_sym_interface_implementation_repeat1] = aux_sym_interface_implementation_repeat1,
[aux_sym_if_statement_repeat1] = aux_sym_if_statement_repeat1,
[aux_sym_string_repeat1] = aux_sym_string_repeat1,
[aux_sym_argument_list_repeat1] = aux_sym_argument_list_repeat1,
@@ -689,10 +713,18 @@ static const TSSymbolMetadata ts_symbol_metadata[] = {
.visible = true,
.named = false,
},
+ [anon_sym_impl] = {
+ .visible = true,
+ .named = false,
+ },
[anon_sym_resource] = {
.visible = true,
.named = false,
},
+ [anon_sym_interface] = {
+ .visible = true,
+ .named = false,
+ },
[anon_sym_for] = {
.visible = true,
.named = false,
@@ -1061,6 +1093,14 @@ static const TSSymbolMetadata ts_symbol_metadata[] = {
.visible = true,
.named = true,
},
+ [sym_interface_definition] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym_interface_implementation] = {
+ .visible = true,
+ .named = true,
+ },
[sym_for_in_loop] = {
.visible = true,
.named = true,
@@ -1191,10 +1231,18 @@ static const TSSymbolMetadata ts_symbol_metadata[] = {
.visible = true,
.named = true,
},
+ [sym_method_signature] = {
+ .visible = true,
+ .named = true,
+ },
[sym_method_definition] = {
.visible = true,
.named = true,
},
+ [sym_inflight_method_signature] = {
+ .visible = true,
+ .named = true,
+ },
[sym_inflight_method_definition] = {
.visible = true,
.named = true,
@@ -1319,10 +1367,18 @@ static const TSSymbolMetadata ts_symbol_metadata[] = {
.visible = false,
.named = false,
},
+ [aux_sym_class_definition_repeat1] = {
+ .visible = false,
+ .named = false,
+ },
[aux_sym_class_implementation_repeat1] = {
.visible = false,
.named = false,
},
+ [aux_sym_interface_implementation_repeat1] = {
+ .visible = false,
+ .named = false,
+ },
[aux_sym_if_statement_repeat1] = {
.visible = false,
.named = false,
@@ -1395,29 +1451,30 @@ enum {
field_finally_block = 19,
field_id = 20,
field_implementation = 21,
- field_inflight = 22,
- field_initializer = 23,
- field_iterable = 24,
- field_iterator = 25,
- field_left = 26,
- field_member = 27,
- field_module_name = 28,
- field_name = 29,
- field_object = 30,
- field_op = 31,
- field_parameter_list = 32,
- field_parameter_types = 33,
- field_parent = 34,
- field_phase_modifier = 35,
- field_property = 36,
- field_reassignable = 37,
- field_return_type = 38,
- field_right = 39,
- field_scope = 40,
- field_static = 41,
- field_type = 42,
- field_type_parameter = 43,
- field_value = 44,
+ field_implements = 22,
+ field_inflight = 23,
+ field_initializer = 24,
+ field_iterable = 25,
+ field_iterator = 26,
+ field_left = 27,
+ field_member = 28,
+ field_module_name = 29,
+ field_name = 30,
+ field_object = 31,
+ field_op = 32,
+ field_parameter_list = 33,
+ field_parameter_types = 34,
+ field_parent = 35,
+ field_phase_modifier = 36,
+ field_property = 37,
+ field_reassignable = 38,
+ field_return_type = 39,
+ field_right = 40,
+ field_scope = 41,
+ field_static = 42,
+ field_type = 43,
+ field_type_parameter = 44,
+ field_value = 45,
};
static const char * const ts_field_names[] = {
@@ -1443,6 +1500,7 @@ static const char * const ts_field_names[] = {
[field_finally_block] = "finally_block",
[field_id] = "id",
[field_implementation] = "implementation",
+ [field_implements] = "implements",
[field_inflight] = "inflight",
[field_initializer] = "initializer",
[field_iterable] = "iterable",
@@ -1521,76 +1579,106 @@ static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = {
[50] = {.index = 90, .length = 3},
[51] = {.index = 93, .length = 3},
[52] = {.index = 96, .length = 3},
- [53] = {.index = 99, .length = 2},
- [54] = {.index = 101, .length = 3},
- [55] = {.index = 104, .length = 4},
- [56] = {.index = 108, .length = 2},
- [57] = {.index = 110, .length = 3},
- [59] = {.index = 113, .length = 3},
+ [53] = {.index = 99, .length = 3},
+ [54] = {.index = 102, .length = 2},
+ [55] = {.index = 104, .length = 3},
+ [56] = {.index = 107, .length = 4},
+ [57] = {.index = 111, .length = 2},
+ [58] = {.index = 113, .length = 3},
[60] = {.index = 116, .length = 3},
- [62] = {.index = 119, .length = 3},
+ [61] = {.index = 119, .length = 3},
[63] = {.index = 122, .length = 3},
[64] = {.index = 125, .length = 3},
- [65] = {.index = 128, .length = 2},
- [66] = {.index = 130, .length = 4},
- [67] = {.index = 134, .length = 3},
- [68] = {.index = 137, .length = 3},
- [69] = {.index = 140, .length = 4},
- [70] = {.index = 144, .length = 4},
- [71] = {.index = 148, .length = 5},
- [72] = {.index = 153, .length = 3},
- [73] = {.index = 156, .length = 4},
- [74] = {.index = 160, .length = 4},
- [75] = {.index = 164, .length = 3},
- [76] = {.index = 167, .length = 4},
- [77] = {.index = 171, .length = 3},
- [78] = {.index = 174, .length = 4},
- [79] = {.index = 178, .length = 4},
- [80] = {.index = 182, .length = 3},
- [81] = {.index = 185, .length = 6},
- [82] = {.index = 191, .length = 4},
- [83] = {.index = 195, .length = 5},
- [84] = {.index = 200, .length = 4},
- [85] = {.index = 204, .length = 5},
- [86] = {.index = 209, .length = 6},
- [87] = {.index = 215, .length = 6},
- [88] = {.index = 221, .length = 4},
- [89] = {.index = 225, .length = 6},
- [90] = {.index = 231, .length = 4},
- [91] = {.index = 235, .length = 4},
- [92] = {.index = 239, .length = 5},
- [93] = {.index = 244, .length = 5},
- [94] = {.index = 249, .length = 4},
- [95] = {.index = 253, .length = 5},
- [96] = {.index = 258, .length = 4},
- [97] = {.index = 262, .length = 4},
- [98] = {.index = 266, .length = 7},
- [99] = {.index = 273, .length = 7},
- [100] = {.index = 280, .length = 5},
- [101] = {.index = 285, .length = 4},
- [102] = {.index = 289, .length = 4},
- [103] = {.index = 293, .length = 7},
- [104] = {.index = 300, .length = 5},
- [105] = {.index = 305, .length = 6},
- [106] = {.index = 311, .length = 5},
- [107] = {.index = 316, .length = 6},
- [108] = {.index = 322, .length = 7},
- [109] = {.index = 329, .length = 7},
- [110] = {.index = 336, .length = 5},
- [111] = {.index = 341, .length = 5},
- [112] = {.index = 346, .length = 5},
- [113] = {.index = 351, .length = 5},
- [114] = {.index = 356, .length = 5},
- [115] = {.index = 361, .length = 5},
- [116] = {.index = 366, .length = 8},
- [117] = {.index = 374, .length = 8},
- [118] = {.index = 382, .length = 6},
- [119] = {.index = 388, .length = 5},
- [120] = {.index = 393, .length = 6},
- [121] = {.index = 399, .length = 6},
- [122] = {.index = 405, .length = 6},
- [123] = {.index = 411, .length = 6},
- [124] = {.index = 417, .length = 7},
+ [65] = {.index = 128, .length = 3},
+ [66] = {.index = 131, .length = 2},
+ [67] = {.index = 133, .length = 4},
+ [68] = {.index = 137, .length = 2},
+ [69] = {.index = 139, .length = 4},
+ [70] = {.index = 143, .length = 3},
+ [71] = {.index = 146, .length = 3},
+ [72] = {.index = 149, .length = 4},
+ [73] = {.index = 153, .length = 4},
+ [74] = {.index = 157, .length = 5},
+ [75] = {.index = 162, .length = 3},
+ [76] = {.index = 165, .length = 4},
+ [77] = {.index = 169, .length = 4},
+ [78] = {.index = 173, .length = 3},
+ [79] = {.index = 176, .length = 4},
+ [80] = {.index = 180, .length = 3},
+ [81] = {.index = 183, .length = 4},
+ [82] = {.index = 187, .length = 4},
+ [83] = {.index = 191, .length = 5},
+ [84] = {.index = 196, .length = 4},
+ [85] = {.index = 200, .length = 3},
+ [86] = {.index = 203, .length = 3},
+ [87] = {.index = 206, .length = 3},
+ [88] = {.index = 209, .length = 3},
+ [89] = {.index = 212, .length = 4},
+ [90] = {.index = 216, .length = 3},
+ [91] = {.index = 219, .length = 6},
+ [92] = {.index = 225, .length = 4},
+ [93] = {.index = 229, .length = 5},
+ [94] = {.index = 234, .length = 4},
+ [95] = {.index = 238, .length = 5},
+ [96] = {.index = 243, .length = 6},
+ [97] = {.index = 249, .length = 6},
+ [98] = {.index = 255, .length = 4},
+ [99] = {.index = 259, .length = 6},
+ [100] = {.index = 265, .length = 4},
+ [101] = {.index = 269, .length = 4},
+ [102] = {.index = 273, .length = 5},
+ [103] = {.index = 278, .length = 5},
+ [104] = {.index = 283, .length = 4},
+ [105] = {.index = 287, .length = 5},
+ [106] = {.index = 292, .length = 5},
+ [107] = {.index = 297, .length = 5},
+ [108] = {.index = 302, .length = 4},
+ [109] = {.index = 306, .length = 4},
+ [110] = {.index = 310, .length = 5},
+ [111] = {.index = 315, .length = 5},
+ [112] = {.index = 320, .length = 5},
+ [113] = {.index = 325, .length = 4},
+ [114] = {.index = 329, .length = 4},
+ [115] = {.index = 333, .length = 4},
+ [116] = {.index = 337, .length = 4},
+ [117] = {.index = 341, .length = 4},
+ [118] = {.index = 345, .length = 7},
+ [119] = {.index = 352, .length = 7},
+ [120] = {.index = 359, .length = 5},
+ [121] = {.index = 364, .length = 4},
+ [122] = {.index = 368, .length = 4},
+ [123] = {.index = 372, .length = 7},
+ [124] = {.index = 379, .length = 5},
+ [125] = {.index = 384, .length = 6},
+ [126] = {.index = 390, .length = 5},
+ [127] = {.index = 395, .length = 6},
+ [128] = {.index = 401, .length = 7},
+ [129] = {.index = 408, .length = 7},
+ [130] = {.index = 415, .length = 5},
+ [131] = {.index = 420, .length = 6},
+ [132] = {.index = 426, .length = 6},
+ [133] = {.index = 432, .length = 6},
+ [134] = {.index = 438, .length = 6},
+ [135] = {.index = 444, .length = 5},
+ [136] = {.index = 449, .length = 5},
+ [137] = {.index = 454, .length = 6},
+ [138] = {.index = 460, .length = 6},
+ [139] = {.index = 466, .length = 5},
+ [140] = {.index = 471, .length = 5},
+ [141] = {.index = 476, .length = 5},
+ [142] = {.index = 481, .length = 5},
+ [143] = {.index = 486, .length = 5},
+ [144] = {.index = 491, .length = 8},
+ [145] = {.index = 499, .length = 8},
+ [146] = {.index = 507, .length = 6},
+ [147] = {.index = 513, .length = 5},
+ [148] = {.index = 518, .length = 7},
+ [149] = {.index = 525, .length = 7},
+ [150] = {.index = 532, .length = 6},
+ [151] = {.index = 538, .length = 6},
+ [152] = {.index = 544, .length = 6},
+ [153] = {.index = 550, .length = 6},
+ [154] = {.index = 556, .length = 7},
};
static const TSFieldMapEntry ts_field_map_entries[] = {
@@ -1737,224 +1825,323 @@ static const TSFieldMapEntry ts_field_map_entries[] = {
{field_name, 1},
{field_parent, 3},
[93] =
+ {field_implementation, 4},
+ {field_implements, 3},
+ {field_name, 1},
+ [96] =
{field_block, 4},
{field_iterable, 3},
{field_iterator, 1},
- [96] =
+ [99] =
{field_block, 2},
{field_condition, 1},
{field_else_block, 4},
- [99] =
+ [102] =
{field_elif_block, 0, .inherited = true},
{field_elif_block, 1, .inherited = true},
- [101] =
+ [104] =
{field_block, 1},
{field_catch_block, 4},
{field_exception_identifier, 3},
- [104] =
+ [107] =
{field_args, 2},
{field_class, 1},
{field_id, 3},
{field_scope, 4},
- [108] =
+ [111] =
{field_parameter_types, 0},
{field_return_type, 2},
- [110] =
+ [113] =
{field_fields, 2},
{field_fields, 3},
{field_type, 0},
- [113] =
+ [116] =
{field_element, 2},
{field_element, 3, .inherited = true},
{field_type, 0},
- [116] =
+ [119] =
{field_member, 2},
{field_member, 3, .inherited = true},
{field_type, 0},
- [119] =
+ [122] =
{field_name, 1},
{field_type, 2, .inherited = true},
{field_value, 4},
- [122] =
+ [125] =
{field_name, 2},
{field_reassignable, 1},
{field_value, 4},
- [125] =
+ [128] =
{field_block, 2},
{field_name, 0},
{field_parameter_list, 1},
- [128] =
+ [131] =
{field_block, 2},
{field_parameter_list, 1},
- [130] =
+ [133] =
+ {field_implementation, 5},
+ {field_implements, 3},
+ {field_implements, 4},
+ {field_name, 1},
+ [137] =
+ {field_name, 0},
+ {field_parameter_list, 1},
+ [139] =
{field_block, 2},
{field_condition, 1},
{field_elif_block, 3, .inherited = true},
{field_else_block, 5},
- [134] =
+ [143] =
{field_block, 1},
{field_catch_block, 3},
{field_finally_block, 5},
- [137] =
+ [146] =
{field_inflight, 0},
{field_parameter_types, 1},
{field_return_type, 3},
- [140] =
+ [149] =
{field_fields, 2},
{field_fields, 3},
{field_fields, 4},
{field_type, 0},
- [144] =
+ [153] =
{field_name, 2},
{field_reassignable, 1},
{field_type, 3, .inherited = true},
{field_value, 5},
- [148] =
+ [157] =
{field_block, 3},
{field_name, 0},
{field_parameter_list, 1},
{field_return_type, 2},
{field_type, 2, .inherited = true},
- [153] =
+ [162] =
{field_name, 1},
{field_static, 0},
{field_type, 2, .inherited = true},
- [156] =
+ [165] =
{field_block, 3},
{field_name, 1},
{field_parameter_list, 2},
{field_static, 0},
- [160] =
+ [169] =
{field_async, 0},
{field_block, 3},
{field_name, 1},
{field_parameter_list, 2},
- [164] =
+ [173] =
{field_name, 1},
{field_phase_modifier, 0},
{field_type, 2, .inherited = true},
- [167] =
+ [176] =
{field_block, 3},
{field_name, 1},
{field_parameter_list, 2},
{field_phase_modifier, 0},
- [171] =
+ [180] =
{field_access_modifier, 0},
{field_name, 1},
{field_type, 2, .inherited = true},
- [174] =
+ [183] =
{field_access_modifier, 0},
{field_block, 3},
{field_name, 1},
{field_parameter_list, 2},
- [178] =
+ [187] =
+ {field_implementation, 6},
+ {field_implements, 5},
+ {field_name, 1},
+ {field_parent, 3},
+ [191] =
+ {field_implementation, 6},
+ {field_implements, 3},
+ {field_implements, 4},
+ {field_implements, 5},
+ {field_name, 1},
+ [196] =
+ {field_name, 0},
+ {field_parameter_list, 1},
+ {field_return_type, 2},
+ {field_type, 2, .inherited = true},
+ [200] =
+ {field_name, 1},
+ {field_parameter_list, 2},
+ {field_static, 0},
+ [203] =
+ {field_async, 0},
+ {field_name, 1},
+ {field_parameter_list, 2},
+ [206] =
+ {field_name, 1},
+ {field_parameter_list, 2},
+ {field_phase_modifier, 0},
+ [209] =
+ {field_access_modifier, 0},
+ {field_name, 1},
+ {field_parameter_list, 2},
+ [212] =
{field_block, 1},
{field_catch_block, 4},
{field_exception_identifier, 3},
{field_finally_block, 6},
- [182] =
+ [216] =
{field_initializer, 3},
{field_name, 0},
{field_type, 1, .inherited = true},
- [185] =
+ [219] =
{field_block, 4},
{field_name, 1},
{field_parameter_list, 2},
{field_return_type, 3},
{field_static, 0},
{field_type, 3, .inherited = true},
- [191] =
+ [225] =
{field_name, 2},
{field_reassignable, 1},
{field_static, 0},
{field_type, 3, .inherited = true},
- [195] =
+ [229] =
{field_async, 1},
{field_block, 4},
{field_name, 2},
{field_parameter_list, 3},
{field_static, 0},
- [200] =
+ [234] =
{field_name, 2},
{field_phase_modifier, 1},
{field_static, 0},
{field_type, 3, .inherited = true},
- [204] =
+ [238] =
{field_block, 4},
{field_name, 2},
{field_parameter_list, 3},
{field_phase_modifier, 1},
{field_static, 0},
- [209] =
+ [243] =
{field_async, 0},
{field_block, 4},
{field_name, 1},
{field_parameter_list, 2},
{field_return_type, 3},
{field_type, 3, .inherited = true},
- [215] =
+ [249] =
{field_block, 4},
{field_name, 1},
{field_parameter_list, 2},
{field_phase_modifier, 0},
{field_return_type, 3},
{field_type, 3, .inherited = true},
- [221] =
+ [255] =
{field_name, 2},
{field_phase_modifier, 0},
{field_reassignable, 1},
{field_type, 3, .inherited = true},
- [225] =
+ [259] =
{field_access_modifier, 0},
{field_block, 4},
{field_name, 1},
{field_parameter_list, 2},
{field_return_type, 3},
{field_type, 3, .inherited = true},
- [231] =
+ [265] =
{field_access_modifier, 0},
{field_name, 2},
{field_reassignable, 1},
{field_type, 3, .inherited = true},
- [235] =
+ [269] =
{field_access_modifier, 0},
{field_name, 2},
{field_static, 1},
{field_type, 3, .inherited = true},
- [239] =
+ [273] =
{field_access_modifier, 0},
{field_block, 4},
{field_name, 2},
{field_parameter_list, 3},
{field_static, 1},
- [244] =
+ [278] =
{field_access_modifier, 0},
{field_async, 1},
{field_block, 4},
{field_name, 2},
{field_parameter_list, 3},
- [249] =
+ [283] =
{field_access_modifier, 0},
{field_name, 2},
{field_phase_modifier, 1},
{field_type, 3, .inherited = true},
- [253] =
+ [287] =
{field_access_modifier, 0},
{field_block, 4},
{field_name, 2},
{field_parameter_list, 3},
{field_phase_modifier, 1},
- [258] =
+ [292] =
+ {field_implementation, 7},
+ {field_implements, 5},
+ {field_implements, 6},
+ {field_name, 1},
+ {field_parent, 3},
+ [297] =
+ {field_name, 1},
+ {field_parameter_list, 2},
+ {field_return_type, 3},
+ {field_static, 0},
+ {field_type, 3, .inherited = true},
+ [302] =
+ {field_async, 1},
+ {field_name, 2},
+ {field_parameter_list, 3},
+ {field_static, 0},
+ [306] =
+ {field_name, 2},
+ {field_parameter_list, 3},
+ {field_phase_modifier, 1},
+ {field_static, 0},
+ [310] =
+ {field_async, 0},
+ {field_name, 1},
+ {field_parameter_list, 2},
+ {field_return_type, 3},
+ {field_type, 3, .inherited = true},
+ [315] =
+ {field_name, 1},
+ {field_parameter_list, 2},
+ {field_phase_modifier, 0},
+ {field_return_type, 3},
+ {field_type, 3, .inherited = true},
+ [320] =
+ {field_access_modifier, 0},
+ {field_name, 1},
+ {field_parameter_list, 2},
+ {field_return_type, 3},
+ {field_type, 3, .inherited = true},
+ [325] =
+ {field_access_modifier, 0},
+ {field_name, 2},
+ {field_parameter_list, 3},
+ {field_static, 1},
+ [329] =
+ {field_access_modifier, 0},
+ {field_async, 1},
+ {field_name, 2},
+ {field_parameter_list, 3},
+ [333] =
+ {field_access_modifier, 0},
+ {field_name, 2},
+ {field_parameter_list, 3},
+ {field_phase_modifier, 1},
+ [337] =
{field_initializer, 4},
{field_name, 1},
{field_reassignable, 0},
{field_type, 2, .inherited = true},
- [262] =
+ [341] =
{field_initializer, 4},
{field_name, 1},
{field_static, 0},
{field_type, 2, .inherited = true},
- [266] =
+ [345] =
{field_async, 1},
{field_block, 5},
{field_name, 2},
@@ -1962,7 +2149,7 @@ static const TSFieldMapEntry ts_field_map_entries[] = {
{field_return_type, 4},
{field_static, 0},
{field_type, 4, .inherited = true},
- [273] =
+ [352] =
{field_block, 5},
{field_name, 2},
{field_parameter_list, 3},
@@ -1970,23 +2157,23 @@ static const TSFieldMapEntry ts_field_map_entries[] = {
{field_return_type, 4},
{field_static, 0},
{field_type, 4, .inherited = true},
- [280] =
+ [359] =
{field_name, 3},
{field_phase_modifier, 1},
{field_reassignable, 2},
{field_static, 0},
{field_type, 4, .inherited = true},
- [285] =
+ [364] =
{field_initializer, 4},
{field_name, 1},
{field_phase_modifier, 0},
{field_type, 2, .inherited = true},
- [289] =
+ [368] =
{field_access_modifier, 0},
{field_initializer, 4},
{field_name, 1},
{field_type, 2, .inherited = true},
- [293] =
+ [372] =
{field_access_modifier, 0},
{field_block, 5},
{field_name, 2},
@@ -1994,33 +2181,33 @@ static const TSFieldMapEntry ts_field_map_entries[] = {
{field_return_type, 4},
{field_static, 1},
{field_type, 4, .inherited = true},
- [300] =
+ [379] =
{field_access_modifier, 0},
{field_name, 3},
{field_reassignable, 2},
{field_static, 1},
{field_type, 4, .inherited = true},
- [305] =
+ [384] =
{field_access_modifier, 0},
{field_async, 2},
{field_block, 5},
{field_name, 3},
{field_parameter_list, 4},
{field_static, 1},
- [311] =
+ [390] =
{field_access_modifier, 0},
{field_name, 3},
{field_phase_modifier, 2},
{field_static, 1},
{field_type, 4, .inherited = true},
- [316] =
+ [395] =
{field_access_modifier, 0},
{field_block, 5},
{field_name, 3},
{field_parameter_list, 4},
{field_phase_modifier, 2},
{field_static, 1},
- [322] =
+ [401] =
{field_access_modifier, 0},
{field_async, 1},
{field_block, 5},
@@ -2028,7 +2215,7 @@ static const TSFieldMapEntry ts_field_map_entries[] = {
{field_parameter_list, 3},
{field_return_type, 4},
{field_type, 4, .inherited = true},
- [329] =
+ [408] =
{field_access_modifier, 0},
{field_block, 5},
{field_name, 2},
@@ -2036,43 +2223,97 @@ static const TSFieldMapEntry ts_field_map_entries[] = {
{field_phase_modifier, 1},
{field_return_type, 4},
{field_type, 4, .inherited = true},
- [336] =
+ [415] =
{field_access_modifier, 0},
{field_name, 3},
{field_phase_modifier, 1},
{field_reassignable, 2},
{field_type, 4, .inherited = true},
- [341] =
+ [420] =
+ {field_implementation, 8},
+ {field_implements, 5},
+ {field_implements, 6},
+ {field_implements, 7},
+ {field_name, 1},
+ {field_parent, 3},
+ [426] =
+ {field_async, 1},
+ {field_name, 2},
+ {field_parameter_list, 3},
+ {field_return_type, 4},
+ {field_static, 0},
+ {field_type, 4, .inherited = true},
+ [432] =
+ {field_name, 2},
+ {field_parameter_list, 3},
+ {field_phase_modifier, 1},
+ {field_return_type, 4},
+ {field_static, 0},
+ {field_type, 4, .inherited = true},
+ [438] =
+ {field_access_modifier, 0},
+ {field_name, 2},
+ {field_parameter_list, 3},
+ {field_return_type, 4},
+ {field_static, 1},
+ {field_type, 4, .inherited = true},
+ [444] =
+ {field_access_modifier, 0},
+ {field_async, 2},
+ {field_name, 3},
+ {field_parameter_list, 4},
+ {field_static, 1},
+ [449] =
+ {field_access_modifier, 0},
+ {field_name, 3},
+ {field_parameter_list, 4},
+ {field_phase_modifier, 2},
+ {field_static, 1},
+ [454] =
+ {field_access_modifier, 0},
+ {field_async, 1},
+ {field_name, 2},
+ {field_parameter_list, 3},
+ {field_return_type, 4},
+ {field_type, 4, .inherited = true},
+ [460] =
+ {field_access_modifier, 0},
+ {field_name, 2},
+ {field_parameter_list, 3},
+ {field_phase_modifier, 1},
+ {field_return_type, 4},
+ {field_type, 4, .inherited = true},
+ [466] =
{field_initializer, 5},
{field_name, 2},
{field_reassignable, 1},
{field_static, 0},
{field_type, 3, .inherited = true},
- [346] =
+ [471] =
{field_initializer, 5},
{field_name, 2},
{field_phase_modifier, 1},
{field_static, 0},
{field_type, 3, .inherited = true},
- [351] =
+ [476] =
{field_initializer, 5},
{field_name, 2},
{field_phase_modifier, 0},
{field_reassignable, 1},
{field_type, 3, .inherited = true},
- [356] =
+ [481] =
{field_access_modifier, 0},
{field_initializer, 5},
{field_name, 2},
{field_reassignable, 1},
{field_type, 3, .inherited = true},
- [361] =
+ [486] =
{field_access_modifier, 0},
{field_initializer, 5},
{field_name, 2},
{field_static, 1},
{field_type, 3, .inherited = true},
- [366] =
+ [491] =
{field_access_modifier, 0},
{field_async, 2},
{field_block, 6},
@@ -2081,7 +2322,7 @@ static const TSFieldMapEntry ts_field_map_entries[] = {
{field_return_type, 5},
{field_static, 1},
{field_type, 5, .inherited = true},
- [374] =
+ [499] =
{field_access_modifier, 0},
{field_block, 6},
{field_name, 3},
@@ -2090,48 +2331,64 @@ static const TSFieldMapEntry ts_field_map_entries[] = {
{field_return_type, 5},
{field_static, 1},
{field_type, 5, .inherited = true},
- [382] =
+ [507] =
{field_access_modifier, 0},
{field_name, 4},
{field_phase_modifier, 2},
{field_reassignable, 3},
{field_static, 1},
{field_type, 5, .inherited = true},
- [388] =
+ [513] =
{field_access_modifier, 0},
{field_initializer, 5},
{field_name, 2},
{field_phase_modifier, 1},
{field_type, 3, .inherited = true},
- [393] =
+ [518] =
+ {field_access_modifier, 0},
+ {field_async, 2},
+ {field_name, 3},
+ {field_parameter_list, 4},
+ {field_return_type, 5},
+ {field_static, 1},
+ {field_type, 5, .inherited = true},
+ [525] =
+ {field_access_modifier, 0},
+ {field_name, 3},
+ {field_parameter_list, 4},
+ {field_phase_modifier, 2},
+ {field_return_type, 5},
+ {field_static, 1},
+ {field_type, 5, .inherited = true},
+ [532] =
{field_initializer, 6},
{field_name, 3},
{field_phase_modifier, 1},
{field_reassignable, 2},
{field_static, 0},
{field_type, 4, .inherited = true},
- [399] =
+ [538] =
{field_access_modifier, 0},
{field_initializer, 6},
{field_name, 3},
{field_reassignable, 2},
{field_static, 1},
{field_type, 4, .inherited = true},
- [405] =
+ [544] =
{field_access_modifier, 0},
{field_initializer, 6},
{field_name, 3},
{field_phase_modifier, 2},
{field_static, 1},
{field_type, 4, .inherited = true},
- [411] =
+ [550] =
{field_access_modifier, 0},
{field_initializer, 6},
{field_name, 3},
{field_phase_modifier, 1},
{field_reassignable, 2},
{field_type, 4, .inherited = true},
- [417] =
+ [556] =
{field_access_modifier, 0},
{field_initializer, 7},
{field_name, 4},
@@ -2146,11 +2403,11 @@ static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE
[48] = {
[3] = alias_sym_enum_field,
},
- [58] = {
+ [59] = {
[0] = alias_sym_keyword_argument_key,
[2] = alias_sym_keyword_argument_value,
},
- [61] = {
+ [62] = {
[1] = alias_sym_enum_field,
},
};
@@ -2167,10 +2424,10 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
[1] = 1,
[2] = 2,
[3] = 3,
- [4] = 4,
+ [4] = 3,
[5] = 5,
- [6] = 4,
- [7] = 5,
+ [6] = 5,
+ [7] = 7,
[8] = 8,
[9] = 9,
[10] = 10,
@@ -2218,33 +2475,33 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
[52] = 52,
[53] = 53,
[54] = 54,
- [55] = 29,
+ [55] = 55,
[56] = 56,
[57] = 57,
[58] = 58,
[59] = 59,
[60] = 60,
- [61] = 27,
- [62] = 62,
- [63] = 63,
- [64] = 64,
+ [61] = 61,
+ [62] = 35,
+ [63] = 34,
+ [64] = 33,
[65] = 65,
- [66] = 66,
+ [66] = 47,
[67] = 67,
- [68] = 68,
- [69] = 69,
- [70] = 59,
- [71] = 60,
- [72] = 33,
- [73] = 64,
- [74] = 65,
- [75] = 66,
- [76] = 76,
- [77] = 77,
- [78] = 34,
- [79] = 43,
- [80] = 35,
- [81] = 67,
+ [68] = 53,
+ [69] = 54,
+ [70] = 26,
+ [71] = 57,
+ [72] = 58,
+ [73] = 59,
+ [74] = 74,
+ [75] = 75,
+ [76] = 60,
+ [77] = 30,
+ [78] = 78,
+ [79] = 79,
+ [80] = 80,
+ [81] = 81,
[82] = 82,
[83] = 83,
[84] = 84,
@@ -2327,7 +2584,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
[161] = 161,
[162] = 162,
[163] = 163,
- [164] = 82,
+ [164] = 164,
[165] = 165,
[166] = 166,
[167] = 167,
@@ -2345,7 +2602,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
[179] = 179,
[180] = 180,
[181] = 181,
- [182] = 182,
+ [182] = 83,
[183] = 183,
[184] = 184,
[185] = 185,
@@ -2363,7 +2620,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
[197] = 197,
[198] = 198,
[199] = 199,
- [200] = 83,
+ [200] = 200,
[201] = 201,
[202] = 202,
[203] = 203,
@@ -2384,10 +2641,10 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
[218] = 218,
[219] = 219,
[220] = 220,
- [221] = 221,
+ [221] = 82,
[222] = 222,
[223] = 223,
- [224] = 142,
+ [224] = 224,
[225] = 225,
[226] = 226,
[227] = 227,
@@ -2399,7 +2656,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
[233] = 233,
[234] = 234,
[235] = 235,
- [236] = 155,
+ [236] = 236,
[237] = 237,
[238] = 238,
[239] = 239,
@@ -2407,57 +2664,57 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
[241] = 241,
[242] = 242,
[243] = 243,
- [244] = 181,
- [245] = 214,
+ [244] = 160,
+ [245] = 245,
[246] = 246,
[247] = 247,
[248] = 248,
- [249] = 184,
+ [249] = 249,
[250] = 250,
[251] = 251,
[252] = 252,
[253] = 253,
[254] = 254,
- [255] = 178,
- [256] = 179,
+ [255] = 255,
+ [256] = 256,
[257] = 257,
[258] = 258,
[259] = 259,
- [260] = 260,
+ [260] = 173,
[261] = 261,
[262] = 262,
- [263] = 208,
+ [263] = 187,
[264] = 264,
- [265] = 134,
- [266] = 180,
+ [265] = 219,
+ [266] = 266,
[267] = 267,
- [268] = 268,
- [269] = 209,
+ [268] = 155,
+ [269] = 269,
[270] = 270,
- [271] = 271,
- [272] = 272,
- [273] = 182,
- [274] = 210,
+ [271] = 207,
+ [272] = 183,
+ [273] = 273,
+ [274] = 274,
[275] = 275,
[276] = 276,
- [277] = 183,
+ [277] = 277,
[278] = 278,
[279] = 279,
[280] = 280,
- [281] = 281,
+ [281] = 198,
[282] = 282,
[283] = 283,
[284] = 284,
- [285] = 285,
- [286] = 286,
- [287] = 287,
+ [285] = 197,
+ [286] = 196,
+ [287] = 195,
[288] = 288,
- [289] = 289,
+ [289] = 194,
[290] = 290,
- [291] = 291,
+ [291] = 193,
[292] = 292,
[293] = 293,
- [294] = 294,
+ [294] = 192,
[295] = 295,
[296] = 296,
[297] = 297,
@@ -2529,7 +2786,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
[363] = 363,
[364] = 364,
[365] = 365,
- [366] = 364,
+ [366] = 366,
[367] = 367,
[368] = 368,
[369] = 369,
@@ -2577,7 +2834,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
[411] = 411,
[412] = 412,
[413] = 413,
- [414] = 414,
+ [414] = 410,
[415] = 415,
[416] = 416,
[417] = 417,
@@ -2723,7 +2980,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
[557] = 557,
[558] = 558,
[559] = 559,
- [560] = 495,
+ [560] = 560,
[561] = 561,
[562] = 562,
[563] = 563,
@@ -2774,6 +3031,128 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
[608] = 608,
[609] = 609,
[610] = 610,
+ [611] = 611,
+ [612] = 612,
+ [613] = 613,
+ [614] = 614,
+ [615] = 615,
+ [616] = 616,
+ [617] = 617,
+ [618] = 618,
+ [619] = 619,
+ [620] = 620,
+ [621] = 621,
+ [622] = 622,
+ [623] = 623,
+ [624] = 624,
+ [625] = 625,
+ [626] = 626,
+ [627] = 627,
+ [628] = 628,
+ [629] = 629,
+ [630] = 576,
+ [631] = 631,
+ [632] = 632,
+ [633] = 633,
+ [634] = 634,
+ [635] = 635,
+ [636] = 636,
+ [637] = 637,
+ [638] = 638,
+ [639] = 639,
+ [640] = 640,
+ [641] = 641,
+ [642] = 642,
+ [643] = 643,
+ [644] = 644,
+ [645] = 645,
+ [646] = 646,
+ [647] = 647,
+ [648] = 648,
+ [649] = 649,
+ [650] = 650,
+ [651] = 651,
+ [652] = 652,
+ [653] = 653,
+ [654] = 654,
+ [655] = 655,
+ [656] = 656,
+ [657] = 657,
+ [658] = 658,
+ [659] = 659,
+ [660] = 660,
+ [661] = 661,
+ [662] = 662,
+ [663] = 663,
+ [664] = 664,
+ [665] = 665,
+ [666] = 666,
+ [667] = 667,
+ [668] = 668,
+ [669] = 669,
+ [670] = 670,
+ [671] = 671,
+ [672] = 672,
+ [673] = 673,
+ [674] = 674,
+ [675] = 675,
+ [676] = 676,
+ [677] = 677,
+ [678] = 678,
+ [679] = 679,
+ [680] = 680,
+ [681] = 681,
+ [682] = 682,
+ [683] = 683,
+ [684] = 684,
+ [685] = 685,
+ [686] = 686,
+ [687] = 687,
+ [688] = 688,
+ [689] = 689,
+ [690] = 690,
+ [691] = 691,
+ [692] = 692,
+ [693] = 693,
+ [694] = 694,
+ [695] = 695,
+ [696] = 696,
+ [697] = 697,
+ [698] = 698,
+ [699] = 699,
+ [700] = 700,
+ [701] = 701,
+ [702] = 702,
+ [703] = 703,
+ [704] = 704,
+ [705] = 705,
+ [706] = 706,
+ [707] = 707,
+ [708] = 708,
+ [709] = 709,
+ [710] = 710,
+ [711] = 711,
+ [712] = 712,
+ [713] = 713,
+ [714] = 714,
+ [715] = 715,
+ [716] = 716,
+ [717] = 717,
+ [718] = 718,
+ [719] = 719,
+ [720] = 720,
+ [721] = 721,
+ [722] = 722,
+ [723] = 723,
+ [724] = 724,
+ [725] = 725,
+ [726] = 726,
+ [727] = 727,
+ [728] = 728,
+ [729] = 729,
+ [730] = 730,
+ [731] = 731,
+ [732] = 732,
};
static inline bool anon_sym_BANG_character_set_1(int32_t c) {
@@ -2891,6 +3270,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
case 8:
if (lookahead == '/') ADVANCE(4);
if (lookahead == ':') ADVANCE(38);
+ if (lookahead == ';') ADVANCE(33);
if (lookahead == '=') ADVANCE(10);
if (lookahead == '{') ADVANCE(24);
if (anon_sym_BANG_character_set_1(lookahead)) SKIP(8)
@@ -3321,569 +3701,601 @@ static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) {
END_STATE();
case 13:
if (lookahead == 'f') ADVANCE(45);
- if (lookahead == 'n') ADVANCE(46);
+ if (lookahead == 'm') ADVANCE(46);
+ if (lookahead == 'n') ADVANCE(47);
END_STATE();
case 14:
- if (lookahead == 'e') ADVANCE(47);
+ if (lookahead == 'e') ADVANCE(48);
END_STATE();
case 15:
ACCEPT_TOKEN(anon_sym_m);
END_STATE();
case 16:
- if (lookahead == 'e') ADVANCE(48);
- if (lookahead == 'u') ADVANCE(49);
+ if (lookahead == 'e') ADVANCE(49);
+ if (lookahead == 'u') ADVANCE(50);
END_STATE();
case 17:
- if (lookahead == 'r') ADVANCE(50);
- if (lookahead == 'u') ADVANCE(51);
+ if (lookahead == 'r') ADVANCE(51);
+ if (lookahead == 'u') ADVANCE(52);
END_STATE();
case 18:
- if (lookahead == 'e') ADVANCE(52);
+ if (lookahead == 'e') ADVANCE(53);
END_STATE();
case 19:
ACCEPT_TOKEN(anon_sym_s);
- if (lookahead == 't') ADVANCE(53);
+ if (lookahead == 't') ADVANCE(54);
END_STATE();
case 20:
- if (lookahead == 'r') ADVANCE(54);
+ if (lookahead == 'r') ADVANCE(55);
END_STATE();
case 21:
- if (lookahead == 'a') ADVANCE(55);
- if (lookahead == 'o') ADVANCE(56);
+ if (lookahead == 'a') ADVANCE(56);
+ if (lookahead == 'o') ADVANCE(57);
END_STATE();
case 22:
- if (lookahead == 'h') ADVANCE(57);
+ if (lookahead == 'h') ADVANCE(58);
END_STATE();
case 23:
- if (lookahead == 'r') ADVANCE(58);
+ if (lookahead == 'r') ADVANCE(59);
END_STATE();
case 24:
- if (lookahead == 'o') ADVANCE(59);
+ if (lookahead == 'o') ADVANCE(60);
END_STATE();
case 25:
- if (lookahead == 'p') ADVANCE(60);
+ if (lookahead == 'p') ADVANCE(61);
END_STATE();
case 26:
- if (lookahead == 't') ADVANCE(61);
+ if (lookahead == 't') ADVANCE(62);
END_STATE();
case 27:
- if (lookahead == 'o') ADVANCE(62);
+ if (lookahead == 'o') ADVANCE(63);
END_STATE();
case 28:
- if (lookahead == 't') ADVANCE(63);
+ if (lookahead == 't') ADVANCE(64);
END_STATE();
case 29:
- if (lookahead == 'y') ADVANCE(64);
+ if (lookahead == 'y') ADVANCE(65);
END_STATE();
case 30:
ACCEPT_TOKEN(anon_sym_as);
- if (lookahead == 'y') ADVANCE(65);
+ if (lookahead == 'y') ADVANCE(66);
END_STATE();
case 31:
- if (lookahead == 'a') ADVANCE(66);
+ if (lookahead == 'a') ADVANCE(67);
END_STATE();
case 32:
- if (lookahead == 'o') ADVANCE(67);
+ if (lookahead == 'o') ADVANCE(68);
END_STATE();
case 33:
- if (lookahead == 'e') ADVANCE(68);
- if (lookahead == 'i') ADVANCE(69);
+ if (lookahead == 'e') ADVANCE(69);
+ if (lookahead == 'i') ADVANCE(70);
END_STATE();
case 34:
- if (lookahead == 't') ADVANCE(70);
+ if (lookahead == 't') ADVANCE(71);
END_STATE();
case 35:
- if (lookahead == 'a') ADVANCE(71);
+ if (lookahead == 'a') ADVANCE(72);
END_STATE();
case 36:
- if (lookahead == 'n') ADVANCE(72);
+ if (lookahead == 'n') ADVANCE(73);
END_STATE();
case 37:
- if (lookahead == 'f') ADVANCE(73);
+ if (lookahead == 'f') ADVANCE(74);
END_STATE();
case 38:
- if (lookahead == 'r') ADVANCE(74);
+ if (lookahead == 'r') ADVANCE(75);
END_STATE();
case 39:
- if (lookahead == 'i') ADVANCE(75);
- if (lookahead == 's') ADVANCE(76);
+ if (lookahead == 'i') ADVANCE(76);
+ if (lookahead == 's') ADVANCE(77);
END_STATE();
case 40:
- if (lookahead == 'u') ADVANCE(77);
+ if (lookahead == 'u') ADVANCE(78);
END_STATE();
case 41:
- if (lookahead == 't') ADVANCE(78);
+ if (lookahead == 't') ADVANCE(79);
END_STATE();
case 42:
- if (lookahead == 'l') ADVANCE(79);
+ if (lookahead == 'l') ADVANCE(80);
END_STATE();
case 43:
- if (lookahead == 'n') ADVANCE(80);
+ if (lookahead == 'n') ADVANCE(81);
END_STATE();
case 44:
- if (lookahead == 'r') ADVANCE(81);
+ if (lookahead == 'r') ADVANCE(82);
END_STATE();
case 45:
ACCEPT_TOKEN(anon_sym_if);
END_STATE();
case 46:
- ACCEPT_TOKEN(anon_sym_in);
- if (lookahead == 'f') ADVANCE(82);
- if (lookahead == 'i') ADVANCE(83);
+ if (lookahead == 'p') ADVANCE(83);
END_STATE();
case 47:
- if (lookahead == 't') ADVANCE(84);
+ ACCEPT_TOKEN(anon_sym_in);
+ if (lookahead == 'f') ADVANCE(84);
+ if (lookahead == 'i') ADVANCE(85);
+ if (lookahead == 't') ADVANCE(86);
END_STATE();
case 48:
- if (lookahead == 'w') ADVANCE(85);
+ if (lookahead == 't') ADVANCE(87);
END_STATE();
case 49:
- if (lookahead == 'm') ADVANCE(86);
+ if (lookahead == 'w') ADVANCE(88);
END_STATE();
case 50:
- if (lookahead == 'i') ADVANCE(87);
- if (lookahead == 'o') ADVANCE(88);
+ if (lookahead == 'm') ADVANCE(89);
END_STATE();
case 51:
- if (lookahead == 'b') ADVANCE(89);
+ if (lookahead == 'i') ADVANCE(90);
+ if (lookahead == 'o') ADVANCE(91);
END_STATE();
case 52:
- if (lookahead == 's') ADVANCE(90);
- if (lookahead == 't') ADVANCE(91);
+ if (lookahead == 'b') ADVANCE(92);
END_STATE();
case 53:
- if (lookahead == 'a') ADVANCE(92);
- if (lookahead == 'r') ADVANCE(93);
+ if (lookahead == 's') ADVANCE(93);
+ if (lookahead == 't') ADVANCE(94);
END_STATE();
case 54:
- if (lookahead == 'u') ADVANCE(94);
- if (lookahead == 'y') ADVANCE(95);
+ if (lookahead == 'a') ADVANCE(95);
+ if (lookahead == 'r') ADVANCE(96);
END_STATE();
case 55:
- if (lookahead == 'r') ADVANCE(96);
+ if (lookahead == 'u') ADVANCE(97);
+ if (lookahead == 'y') ADVANCE(98);
END_STATE();
case 56:
- if (lookahead == 'i') ADVANCE(97);
+ if (lookahead == 'r') ADVANCE(99);
END_STATE();
case 57:
- if (lookahead == 'i') ADVANCE(98);
+ if (lookahead == 'i') ADVANCE(100);
END_STATE();
case 58:
- if (lookahead == 'a') ADVANCE(99);
+ if (lookahead == 'i') ADVANCE(101);
END_STATE();
case 59:
- if (lookahead == 'n') ADVANCE(100);
+ if (lookahead == 'a') ADVANCE(102);
END_STATE();
case 60:
- ACCEPT_TOKEN(anon_sym_Map);
+ if (lookahead == 'n') ADVANCE(103);
END_STATE();
case 61:
- if (lookahead == 'A') ADVANCE(101);
- if (lookahead == 'J') ADVANCE(102);
- if (lookahead == 'M') ADVANCE(103);
- if (lookahead == 'S') ADVANCE(104);
+ ACCEPT_TOKEN(anon_sym_Map);
END_STATE();
case 62:
- if (lookahead == 'm') ADVANCE(105);
+ if (lookahead == 'A') ADVANCE(104);
+ if (lookahead == 'J') ADVANCE(105);
+ if (lookahead == 'M') ADVANCE(106);
+ if (lookahead == 'S') ADVANCE(107);
END_STATE();
case 63:
- ACCEPT_TOKEN(anon_sym_Set);
+ if (lookahead == 'm') ADVANCE(108);
END_STATE();
case 64:
- ACCEPT_TOKEN(anon_sym_any);
+ ACCEPT_TOKEN(anon_sym_Set);
END_STATE();
case 65:
- if (lookahead == 'n') ADVANCE(106);
+ ACCEPT_TOKEN(anon_sym_any);
END_STATE();
case 66:
- if (lookahead == 'i') ADVANCE(107);
+ if (lookahead == 'n') ADVANCE(109);
END_STATE();
case 67:
- if (lookahead == 'l') ADVANCE(108);
+ if (lookahead == 'i') ADVANCE(110);
END_STATE();
case 68:
- if (lookahead == 'a') ADVANCE(109);
+ if (lookahead == 'l') ADVANCE(111);
END_STATE();
case 69:
- if (lookahead == 'n') ADVANCE(110);
+ if (lookahead == 'a') ADVANCE(112);
END_STATE();
case 70:
- if (lookahead == 'c') ADVANCE(111);
+ if (lookahead == 'n') ADVANCE(113);
END_STATE();
case 71:
- if (lookahead == 's') ADVANCE(112);
+ if (lookahead == 'c') ADVANCE(114);
END_STATE();
case 72:
- if (lookahead == 't') ADVANCE(113);
+ if (lookahead == 's') ADVANCE(115);
END_STATE();
case 73:
- if (lookahead == 'e') ADVANCE(114);
+ if (lookahead == 't') ADVANCE(116);
END_STATE();
case 74:
- if (lookahead == 'a') ADVANCE(115);
+ if (lookahead == 'e') ADVANCE(117);
END_STATE();
case 75:
- if (lookahead == 'f') ADVANCE(116);
+ if (lookahead == 'a') ADVANCE(118);
END_STATE();
case 76:
- if (lookahead == 'e') ADVANCE(117);
+ if (lookahead == 'f') ADVANCE(119);
END_STATE();
case 77:
- if (lookahead == 'm') ADVANCE(118);
+ if (lookahead == 'e') ADVANCE(120);
END_STATE();
case 78:
- if (lookahead == 'e') ADVANCE(119);
+ if (lookahead == 'm') ADVANCE(121);
END_STATE();
case 79:
- if (lookahead == 's') ADVANCE(120);
+ if (lookahead == 'e') ADVANCE(122);
END_STATE();
case 80:
- if (lookahead == 'a') ADVANCE(121);
+ if (lookahead == 's') ADVANCE(123);
END_STATE();
case 81:
- ACCEPT_TOKEN(anon_sym_for);
+ if (lookahead == 'a') ADVANCE(124);
END_STATE();
case 82:
- if (lookahead == 'l') ADVANCE(122);
+ ACCEPT_TOKEN(anon_sym_for);
END_STATE();
case 83:
- if (lookahead == 't') ADVANCE(123);
+ if (lookahead == 'l') ADVANCE(125);
END_STATE();
case 84:
- ACCEPT_TOKEN(anon_sym_let);
+ if (lookahead == 'l') ADVANCE(126);
END_STATE();
case 85:
- ACCEPT_TOKEN(anon_sym_new);
+ if (lookahead == 't') ADVANCE(127);
END_STATE();
case 86:
- ACCEPT_TOKEN(anon_sym_num);
+ if (lookahead == 'e') ADVANCE(128);
END_STATE();
case 87:
- if (lookahead == 'v') ADVANCE(124);
+ ACCEPT_TOKEN(anon_sym_let);
END_STATE();
case 88:
- if (lookahead == 't') ADVANCE(125);
+ ACCEPT_TOKEN(anon_sym_new);
END_STATE();
case 89:
- if (lookahead == 'l') ADVANCE(126);
+ ACCEPT_TOKEN(anon_sym_num);
END_STATE();
case 90:
- if (lookahead == 'o') ADVANCE(127);
+ if (lookahead == 'v') ADVANCE(129);
END_STATE();
case 91:
- if (lookahead == 'u') ADVANCE(128);
+ if (lookahead == 't') ADVANCE(130);
END_STATE();
case 92:
- if (lookahead == 't') ADVANCE(129);
+ if (lookahead == 'l') ADVANCE(131);
END_STATE();
case 93:
- ACCEPT_TOKEN(anon_sym_str);
- if (lookahead == 'u') ADVANCE(130);
+ if (lookahead == 'o') ADVANCE(132);
END_STATE();
case 94:
- if (lookahead == 'e') ADVANCE(131);
+ if (lookahead == 'u') ADVANCE(133);
END_STATE();
case 95:
- ACCEPT_TOKEN(anon_sym_try);
+ if (lookahead == 't') ADVANCE(134);
END_STATE();
case 96:
- ACCEPT_TOKEN(sym_reassignable);
+ ACCEPT_TOKEN(anon_sym_str);
+ if (lookahead == 'u') ADVANCE(135);
END_STATE();
case 97:
- if (lookahead == 'd') ADVANCE(132);
+ if (lookahead == 'e') ADVANCE(136);
END_STATE();
case 98:
- if (lookahead == 'l') ADVANCE(133);
+ ACCEPT_TOKEN(anon_sym_try);
END_STATE();
case 99:
- if (lookahead == 'y') ADVANCE(134);
+ ACCEPT_TOKEN(sym_reassignable);
END_STATE();
case 100:
- ACCEPT_TOKEN(anon_sym_Json);
+ if (lookahead == 'd') ADVANCE(137);
END_STATE();
case 101:
- if (lookahead == 'r') ADVANCE(135);
+ if (lookahead == 'l') ADVANCE(138);
END_STATE();
case 102:
- if (lookahead == 's') ADVANCE(136);
+ if (lookahead == 'y') ADVANCE(139);
END_STATE();
case 103:
- if (lookahead == 'a') ADVANCE(137);
+ ACCEPT_TOKEN(anon_sym_Json);
END_STATE();
case 104:
- if (lookahead == 'e') ADVANCE(138);
+ if (lookahead == 'r') ADVANCE(140);
END_STATE();
case 105:
- if (lookahead == 'i') ADVANCE(139);
+ if (lookahead == 's') ADVANCE(141);
END_STATE();
case 106:
- if (lookahead == 'c') ADVANCE(140);
+ if (lookahead == 'a') ADVANCE(142);
END_STATE();
case 107:
- if (lookahead == 't') ADVANCE(141);
+ if (lookahead == 'e') ADVANCE(143);
END_STATE();
case 108:
- ACCEPT_TOKEN(anon_sym_bool);
+ if (lookahead == 'i') ADVANCE(144);
END_STATE();
case 109:
- if (lookahead == 'k') ADVANCE(142);
+ if (lookahead == 'c') ADVANCE(145);
END_STATE();
case 110:
- if (lookahead == 'g') ADVANCE(143);
+ if (lookahead == 't') ADVANCE(146);
END_STATE();
case 111:
- if (lookahead == 'h') ADVANCE(144);
+ ACCEPT_TOKEN(anon_sym_bool);
END_STATE();
case 112:
- if (lookahead == 's') ADVANCE(145);
+ if (lookahead == 'k') ADVANCE(147);
END_STATE();
case 113:
- if (lookahead == 'i') ADVANCE(146);
+ if (lookahead == 'g') ADVANCE(148);
END_STATE();
case 114:
- if (lookahead == 'r') ADVANCE(147);
+ if (lookahead == 'h') ADVANCE(149);
END_STATE();
case 115:
- if (lookahead == 't') ADVANCE(148);
+ if (lookahead == 's') ADVANCE(150);
END_STATE();
case 116:
- ACCEPT_TOKEN(anon_sym_elif);
+ if (lookahead == 'i') ADVANCE(151);
END_STATE();
case 117:
- ACCEPT_TOKEN(anon_sym_else);
+ if (lookahead == 'r') ADVANCE(152);
END_STATE();
case 118:
- ACCEPT_TOKEN(anon_sym_enum);
+ if (lookahead == 't') ADVANCE(153);
END_STATE();
case 119:
- if (lookahead == 'n') ADVANCE(149);
+ ACCEPT_TOKEN(anon_sym_elif);
END_STATE();
case 120:
- if (lookahead == 'e') ADVANCE(150);
+ ACCEPT_TOKEN(anon_sym_else);
END_STATE();
case 121:
- if (lookahead == 'l') ADVANCE(151);
+ ACCEPT_TOKEN(anon_sym_enum);
END_STATE();
case 122:
- if (lookahead == 'i') ADVANCE(152);
+ if (lookahead == 'n') ADVANCE(154);
END_STATE();
case 123:
- ACCEPT_TOKEN(anon_sym_init);
+ if (lookahead == 'e') ADVANCE(155);
END_STATE();
case 124:
- if (lookahead == 'a') ADVANCE(153);
+ if (lookahead == 'l') ADVANCE(156);
END_STATE();
case 125:
- if (lookahead == 'e') ADVANCE(154);
+ ACCEPT_TOKEN(anon_sym_impl);
END_STATE();
case 126:
- if (lookahead == 'i') ADVANCE(155);
+ if (lookahead == 'i') ADVANCE(157);
END_STATE();
case 127:
- if (lookahead == 'u') ADVANCE(156);
+ ACCEPT_TOKEN(anon_sym_init);
END_STATE();
case 128:
- if (lookahead == 'r') ADVANCE(157);
+ if (lookahead == 'r') ADVANCE(158);
END_STATE();
case 129:
- if (lookahead == 'i') ADVANCE(158);
+ if (lookahead == 'a') ADVANCE(159);
END_STATE();
case 130:
- if (lookahead == 'c') ADVANCE(159);
+ if (lookahead == 'e') ADVANCE(160);
END_STATE();
case 131:
- ACCEPT_TOKEN(anon_sym_true);
+ if (lookahead == 'i') ADVANCE(161);
END_STATE();
case 132:
- ACCEPT_TOKEN(anon_sym_void);
+ if (lookahead == 'u') ADVANCE(162);
END_STATE();
case 133:
- if (lookahead == 'e') ADVANCE(160);
+ if (lookahead == 'r') ADVANCE(163);
END_STATE();
case 134:
- ACCEPT_TOKEN(anon_sym_Array);
+ if (lookahead == 'i') ADVANCE(164);
END_STATE();
case 135:
- if (lookahead == 'r') ADVANCE(161);
+ if (lookahead == 'c') ADVANCE(165);
END_STATE();
case 136:
- if (lookahead == 'o') ADVANCE(162);
+ ACCEPT_TOKEN(anon_sym_true);
END_STATE();
case 137:
- if (lookahead == 'p') ADVANCE(163);
+ ACCEPT_TOKEN(anon_sym_void);
END_STATE();
case 138:
- if (lookahead == 't') ADVANCE(164);
+ if (lookahead == 'e') ADVANCE(166);
END_STATE();
case 139:
- if (lookahead == 's') ADVANCE(165);
+ ACCEPT_TOKEN(anon_sym_Array);
END_STATE();
case 140:
- ACCEPT_TOKEN(sym_async_modifier);
+ if (lookahead == 'r') ADVANCE(167);
END_STATE();
case 141:
- ACCEPT_TOKEN(anon_sym_await);
+ if (lookahead == 'o') ADVANCE(168);
END_STATE();
case 142:
- ACCEPT_TOKEN(anon_sym_break);
+ if (lookahead == 'p') ADVANCE(169);
END_STATE();
case 143:
- ACCEPT_TOKEN(anon_sym_bring);
+ if (lookahead == 't') ADVANCE(170);
END_STATE();
case 144:
- ACCEPT_TOKEN(anon_sym_catch);
+ if (lookahead == 's') ADVANCE(171);
END_STATE();
case 145:
- ACCEPT_TOKEN(anon_sym_class);
+ ACCEPT_TOKEN(sym_async_modifier);
END_STATE();
case 146:
- if (lookahead == 'n') ADVANCE(166);
+ ACCEPT_TOKEN(anon_sym_await);
END_STATE();
case 147:
- ACCEPT_TOKEN(anon_sym_defer);
+ ACCEPT_TOKEN(anon_sym_break);
END_STATE();
case 148:
- if (lookahead == 'i') ADVANCE(167);
+ ACCEPT_TOKEN(anon_sym_bring);
END_STATE();
case 149:
- if (lookahead == 'd') ADVANCE(168);
+ ACCEPT_TOKEN(anon_sym_catch);
END_STATE();
case 150:
- ACCEPT_TOKEN(anon_sym_false);
+ ACCEPT_TOKEN(anon_sym_class);
END_STATE();
case 151:
- if (lookahead == 'l') ADVANCE(169);
+ if (lookahead == 'n') ADVANCE(172);
END_STATE();
case 152:
- if (lookahead == 'g') ADVANCE(170);
+ ACCEPT_TOKEN(anon_sym_defer);
END_STATE();
case 153:
- if (lookahead == 't') ADVANCE(171);
+ if (lookahead == 'i') ADVANCE(173);
END_STATE();
case 154:
- if (lookahead == 'c') ADVANCE(172);
+ if (lookahead == 'd') ADVANCE(174);
END_STATE();
case 155:
- if (lookahead == 'c') ADVANCE(173);
+ ACCEPT_TOKEN(anon_sym_false);
END_STATE();
case 156:
- if (lookahead == 'r') ADVANCE(174);
+ if (lookahead == 'l') ADVANCE(175);
END_STATE();
case 157:
- if (lookahead == 'n') ADVANCE(175);
+ if (lookahead == 'g') ADVANCE(176);
END_STATE();
case 158:
- if (lookahead == 'c') ADVANCE(176);
+ if (lookahead == 'f') ADVANCE(177);
END_STATE();
case 159:
- if (lookahead == 't') ADVANCE(177);
+ if (lookahead == 't') ADVANCE(178);
END_STATE();
case 160:
- ACCEPT_TOKEN(anon_sym_while);
+ if (lookahead == 'c') ADVANCE(179);
END_STATE();
case 161:
- if (lookahead == 'a') ADVANCE(178);
+ if (lookahead == 'c') ADVANCE(180);
END_STATE();
case 162:
- if (lookahead == 'n') ADVANCE(179);
+ if (lookahead == 'r') ADVANCE(181);
END_STATE();
case 163:
- ACCEPT_TOKEN(anon_sym_MutMap);
+ if (lookahead == 'n') ADVANCE(182);
END_STATE();
case 164:
- ACCEPT_TOKEN(anon_sym_MutSet);
+ if (lookahead == 'c') ADVANCE(183);
END_STATE();
case 165:
- if (lookahead == 'e') ADVANCE(180);
+ if (lookahead == 't') ADVANCE(184);
END_STATE();
case 166:
- if (lookahead == 'u') ADVANCE(181);
+ ACCEPT_TOKEN(anon_sym_while);
END_STATE();
case 167:
- if (lookahead == 'o') ADVANCE(182);
+ if (lookahead == 'a') ADVANCE(185);
END_STATE();
case 168:
- if (lookahead == 's') ADVANCE(183);
+ if (lookahead == 'n') ADVANCE(186);
END_STATE();
case 169:
- if (lookahead == 'y') ADVANCE(184);
+ ACCEPT_TOKEN(anon_sym_MutMap);
END_STATE();
case 170:
- if (lookahead == 'h') ADVANCE(185);
+ ACCEPT_TOKEN(anon_sym_MutSet);
END_STATE();
case 171:
- if (lookahead == 'e') ADVANCE(186);
+ if (lookahead == 'e') ADVANCE(187);
END_STATE();
case 172:
- if (lookahead == 't') ADVANCE(187);
+ if (lookahead == 'u') ADVANCE(188);
END_STATE();
case 173:
- ACCEPT_TOKEN(anon_sym_public);
+ if (lookahead == 'o') ADVANCE(189);
END_STATE();
case 174:
- if (lookahead == 'c') ADVANCE(188);
+ if (lookahead == 's') ADVANCE(190);
END_STATE();
case 175:
- ACCEPT_TOKEN(anon_sym_return);
+ if (lookahead == 'y') ADVANCE(191);
END_STATE();
case 176:
- ACCEPT_TOKEN(sym_static);
+ if (lookahead == 'h') ADVANCE(192);
END_STATE();
case 177:
- ACCEPT_TOKEN(anon_sym_struct);
+ if (lookahead == 'a') ADVANCE(193);
END_STATE();
case 178:
- if (lookahead == 'y') ADVANCE(189);
+ if (lookahead == 'e') ADVANCE(194);
END_STATE();
case 179:
- ACCEPT_TOKEN(anon_sym_MutJson);
+ if (lookahead == 't') ADVANCE(195);
END_STATE();
case 180:
- ACCEPT_TOKEN(anon_sym_Promise);
+ ACCEPT_TOKEN(anon_sym_public);
END_STATE();
case 181:
- if (lookahead == 'e') ADVANCE(190);
+ if (lookahead == 'c') ADVANCE(196);
END_STATE();
case 182:
- if (lookahead == 'n') ADVANCE(191);
+ ACCEPT_TOKEN(anon_sym_return);
END_STATE();
case 183:
- ACCEPT_TOKEN(anon_sym_extends);
+ ACCEPT_TOKEN(sym_static);
END_STATE();
case 184:
- ACCEPT_TOKEN(anon_sym_finally);
+ ACCEPT_TOKEN(anon_sym_struct);
END_STATE();
case 185:
- if (lookahead == 't') ADVANCE(192);
+ if (lookahead == 'y') ADVANCE(197);
END_STATE();
case 186:
- ACCEPT_TOKEN(anon_sym_private);
+ ACCEPT_TOKEN(anon_sym_MutJson);
END_STATE();
case 187:
- if (lookahead == 'e') ADVANCE(193);
+ ACCEPT_TOKEN(anon_sym_Promise);
END_STATE();
case 188:
- if (lookahead == 'e') ADVANCE(194);
+ if (lookahead == 'e') ADVANCE(198);
END_STATE();
case 189:
- ACCEPT_TOKEN(anon_sym_MutArray);
+ if (lookahead == 'n') ADVANCE(199);
END_STATE();
case 190:
- ACCEPT_TOKEN(anon_sym_continue);
+ ACCEPT_TOKEN(anon_sym_extends);
END_STATE();
case 191:
- ACCEPT_TOKEN(anon_sym_duration);
+ ACCEPT_TOKEN(anon_sym_finally);
END_STATE();
case 192:
- ACCEPT_TOKEN(anon_sym_inflight);
+ if (lookahead == 't') ADVANCE(200);
END_STATE();
case 193:
- if (lookahead == 'd') ADVANCE(195);
+ if (lookahead == 'c') ADVANCE(201);
END_STATE();
case 194:
- ACCEPT_TOKEN(anon_sym_resource);
+ ACCEPT_TOKEN(anon_sym_private);
END_STATE();
case 195:
+ if (lookahead == 'e') ADVANCE(202);
+ END_STATE();
+ case 196:
+ if (lookahead == 'e') ADVANCE(203);
+ END_STATE();
+ case 197:
+ ACCEPT_TOKEN(anon_sym_MutArray);
+ END_STATE();
+ case 198:
+ ACCEPT_TOKEN(anon_sym_continue);
+ END_STATE();
+ case 199:
+ ACCEPT_TOKEN(anon_sym_duration);
+ END_STATE();
+ case 200:
+ ACCEPT_TOKEN(anon_sym_inflight);
+ END_STATE();
+ case 201:
+ if (lookahead == 'e') ADVANCE(204);
+ END_STATE();
+ case 202:
+ if (lookahead == 'd') ADVANCE(205);
+ END_STATE();
+ case 203:
+ ACCEPT_TOKEN(anon_sym_resource);
+ END_STATE();
+ case 204:
+ ACCEPT_TOKEN(anon_sym_interface);
+ END_STATE();
+ case 205:
ACCEPT_TOKEN(anon_sym_protected);
END_STATE();
default:
@@ -4025,28 +4437,28 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = {
[130] = {.lex_state = 22},
[131] = {.lex_state = 22},
[132] = {.lex_state = 22},
- [133] = {.lex_state = 1},
- [134] = {.lex_state = 1},
+ [133] = {.lex_state = 22},
+ [134] = {.lex_state = 22},
[135] = {.lex_state = 22},
[136] = {.lex_state = 22},
- [137] = {.lex_state = 1},
- [138] = {.lex_state = 1},
+ [137] = {.lex_state = 22},
+ [138] = {.lex_state = 22},
[139] = {.lex_state = 22},
[140] = {.lex_state = 22},
- [141] = {.lex_state = 1},
- [142] = {.lex_state = 1},
+ [141] = {.lex_state = 22},
+ [142] = {.lex_state = 22},
[143] = {.lex_state = 22},
- [144] = {.lex_state = 1},
- [145] = {.lex_state = 1},
- [146] = {.lex_state = 1},
- [147] = {.lex_state = 1},
- [148] = {.lex_state = 1},
- [149] = {.lex_state = 1},
- [150] = {.lex_state = 1},
- [151] = {.lex_state = 1},
- [152] = {.lex_state = 1},
- [153] = {.lex_state = 1},
- [154] = {.lex_state = 1},
+ [144] = {.lex_state = 22},
+ [145] = {.lex_state = 22},
+ [146] = {.lex_state = 22},
+ [147] = {.lex_state = 22},
+ [148] = {.lex_state = 22},
+ [149] = {.lex_state = 22},
+ [150] = {.lex_state = 22},
+ [151] = {.lex_state = 22},
+ [152] = {.lex_state = 22},
+ [153] = {.lex_state = 22},
+ [154] = {.lex_state = 22},
[155] = {.lex_state = 1},
[156] = {.lex_state = 1},
[157] = {.lex_state = 1},
@@ -4054,7 +4466,7 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = {
[159] = {.lex_state = 1},
[160] = {.lex_state = 1},
[161] = {.lex_state = 1},
- [162] = {.lex_state = 1},
+ [162] = {.lex_state = 22},
[163] = {.lex_state = 1},
[164] = {.lex_state = 1},
[165] = {.lex_state = 1},
@@ -4126,7 +4538,7 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = {
[231] = {.lex_state = 1},
[232] = {.lex_state = 1},
[233] = {.lex_state = 1},
- [234] = {.lex_state = 22},
+ [234] = {.lex_state = 1},
[235] = {.lex_state = 1},
[236] = {.lex_state = 1},
[237] = {.lex_state = 1},
@@ -4148,7 +4560,7 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = {
[253] = {.lex_state = 1},
[254] = {.lex_state = 1},
[255] = {.lex_state = 1},
- [256] = {.lex_state = 1},
+ [256] = {.lex_state = 22},
[257] = {.lex_state = 1},
[258] = {.lex_state = 1},
[259] = {.lex_state = 1},
@@ -4176,24 +4588,24 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = {
[281] = {.lex_state = 1},
[282] = {.lex_state = 1},
[283] = {.lex_state = 1},
- [284] = {.lex_state = 22},
- [285] = {.lex_state = 22},
- [286] = {.lex_state = 22},
- [287] = {.lex_state = 22},
- [288] = {.lex_state = 22},
- [289] = {.lex_state = 22},
- [290] = {.lex_state = 22},
- [291] = {.lex_state = 22},
- [292] = {.lex_state = 22},
- [293] = {.lex_state = 22},
- [294] = {.lex_state = 22},
- [295] = {.lex_state = 22},
- [296] = {.lex_state = 22},
- [297] = {.lex_state = 22},
- [298] = {.lex_state = 22},
- [299] = {.lex_state = 22},
- [300] = {.lex_state = 22},
- [301] = {.lex_state = 22},
+ [284] = {.lex_state = 1},
+ [285] = {.lex_state = 1},
+ [286] = {.lex_state = 1},
+ [287] = {.lex_state = 1},
+ [288] = {.lex_state = 1},
+ [289] = {.lex_state = 1},
+ [290] = {.lex_state = 1},
+ [291] = {.lex_state = 1},
+ [292] = {.lex_state = 1},
+ [293] = {.lex_state = 1},
+ [294] = {.lex_state = 1},
+ [295] = {.lex_state = 1},
+ [296] = {.lex_state = 1},
+ [297] = {.lex_state = 1},
+ [298] = {.lex_state = 1},
+ [299] = {.lex_state = 1},
+ [300] = {.lex_state = 1},
+ [301] = {.lex_state = 1},
[302] = {.lex_state = 22},
[303] = {.lex_state = 22},
[304] = {.lex_state = 22},
@@ -4257,10 +4669,10 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = {
[362] = {.lex_state = 22},
[363] = {.lex_state = 22},
[364] = {.lex_state = 22},
- [365] = {.lex_state = 2},
+ [365] = {.lex_state = 22},
[366] = {.lex_state = 22},
- [367] = {.lex_state = 2},
- [368] = {.lex_state = 2},
+ [367] = {.lex_state = 22},
+ [368] = {.lex_state = 22},
[369] = {.lex_state = 22},
[370] = {.lex_state = 22},
[371] = {.lex_state = 22},
@@ -4271,238 +4683,360 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = {
[376] = {.lex_state = 22},
[377] = {.lex_state = 22},
[378] = {.lex_state = 22},
- [379] = {.lex_state = 0},
- [380] = {.lex_state = 0},
+ [379] = {.lex_state = 22},
+ [380] = {.lex_state = 22},
[381] = {.lex_state = 22},
- [382] = {.lex_state = 0},
+ [382] = {.lex_state = 22},
[383] = {.lex_state = 22},
[384] = {.lex_state = 22},
- [385] = {.lex_state = 0},
+ [385] = {.lex_state = 22},
[386] = {.lex_state = 22},
[387] = {.lex_state = 22},
- [388] = {.lex_state = 2},
+ [388] = {.lex_state = 22},
[389] = {.lex_state = 22},
[390] = {.lex_state = 22},
- [391] = {.lex_state = 0},
- [392] = {.lex_state = 0},
- [393] = {.lex_state = 0},
- [394] = {.lex_state = 0},
- [395] = {.lex_state = 0},
- [396] = {.lex_state = 0},
- [397] = {.lex_state = 0},
+ [391] = {.lex_state = 22},
+ [392] = {.lex_state = 22},
+ [393] = {.lex_state = 22},
+ [394] = {.lex_state = 22},
+ [395] = {.lex_state = 22},
+ [396] = {.lex_state = 22},
+ [397] = {.lex_state = 22},
[398] = {.lex_state = 22},
- [399] = {.lex_state = 0},
- [400] = {.lex_state = 0},
+ [399] = {.lex_state = 22},
+ [400] = {.lex_state = 22},
[401] = {.lex_state = 22},
- [402] = {.lex_state = 0},
- [403] = {.lex_state = 0},
- [404] = {.lex_state = 0},
- [405] = {.lex_state = 0},
- [406] = {.lex_state = 0},
- [407] = {.lex_state = 0},
+ [402] = {.lex_state = 22},
+ [403] = {.lex_state = 22},
+ [404] = {.lex_state = 22},
+ [405] = {.lex_state = 22},
+ [406] = {.lex_state = 22},
+ [407] = {.lex_state = 22},
[408] = {.lex_state = 22},
- [409] = {.lex_state = 22},
+ [409] = {.lex_state = 2},
[410] = {.lex_state = 22},
[411] = {.lex_state = 22},
- [412] = {.lex_state = 22},
+ [412] = {.lex_state = 2},
[413] = {.lex_state = 22},
[414] = {.lex_state = 22},
- [415] = {.lex_state = 0},
- [416] = {.lex_state = 0},
- [417] = {.lex_state = 0},
- [418] = {.lex_state = 8},
+ [415] = {.lex_state = 2},
+ [416] = {.lex_state = 22},
+ [417] = {.lex_state = 22},
+ [418] = {.lex_state = 22},
[419] = {.lex_state = 22},
[420] = {.lex_state = 22},
- [421] = {.lex_state = 0},
- [422] = {.lex_state = 8},
- [423] = {.lex_state = 0},
- [424] = {.lex_state = 8},
- [425] = {.lex_state = 1},
+ [421] = {.lex_state = 22},
+ [422] = {.lex_state = 22},
+ [423] = {.lex_state = 22},
+ [424] = {.lex_state = 22},
+ [425] = {.lex_state = 22},
[426] = {.lex_state = 22},
[427] = {.lex_state = 0},
- [428] = {.lex_state = 0},
- [429] = {.lex_state = 22},
- [430] = {.lex_state = 22},
+ [428] = {.lex_state = 22},
+ [429] = {.lex_state = 0},
+ [430] = {.lex_state = 0},
[431] = {.lex_state = 22},
- [432] = {.lex_state = 8},
- [433] = {.lex_state = 0},
- [434] = {.lex_state = 22},
+ [432] = {.lex_state = 0},
+ [433] = {.lex_state = 22},
+ [434] = {.lex_state = 0},
[435] = {.lex_state = 0},
[436] = {.lex_state = 0},
- [437] = {.lex_state = 1},
+ [437] = {.lex_state = 0},
[438] = {.lex_state = 22},
- [439] = {.lex_state = 8},
+ [439] = {.lex_state = 22},
[440] = {.lex_state = 0},
- [441] = {.lex_state = 22},
+ [441] = {.lex_state = 0},
[442] = {.lex_state = 0},
[443] = {.lex_state = 0},
[444] = {.lex_state = 22},
[445] = {.lex_state = 0},
- [446] = {.lex_state = 0},
+ [446] = {.lex_state = 8},
[447] = {.lex_state = 0},
[448] = {.lex_state = 0},
[449] = {.lex_state = 0},
[450] = {.lex_state = 0},
- [451] = {.lex_state = 0},
+ [451] = {.lex_state = 22},
[452] = {.lex_state = 0},
- [453] = {.lex_state = 0},
- [454] = {.lex_state = 22},
- [455] = {.lex_state = 8},
+ [453] = {.lex_state = 22},
+ [454] = {.lex_state = 0},
+ [455] = {.lex_state = 0},
[456] = {.lex_state = 0},
- [457] = {.lex_state = 0},
- [458] = {.lex_state = 0},
+ [457] = {.lex_state = 22},
+ [458] = {.lex_state = 22},
[459] = {.lex_state = 0},
- [460] = {.lex_state = 22},
- [461] = {.lex_state = 0},
- [462] = {.lex_state = 0},
- [463] = {.lex_state = 0},
- [464] = {.lex_state = 22},
+ [460] = {.lex_state = 0},
+ [461] = {.lex_state = 22},
+ [462] = {.lex_state = 22},
+ [463] = {.lex_state = 2},
+ [464] = {.lex_state = 0},
[465] = {.lex_state = 22},
[466] = {.lex_state = 0},
[467] = {.lex_state = 0},
- [468] = {.lex_state = 0},
+ [468] = {.lex_state = 22},
[469] = {.lex_state = 0},
[470] = {.lex_state = 0},
- [471] = {.lex_state = 22},
- [472] = {.lex_state = 0},
+ [471] = {.lex_state = 8},
+ [472] = {.lex_state = 8},
[473] = {.lex_state = 0},
[474] = {.lex_state = 0},
[475] = {.lex_state = 22},
- [476] = {.lex_state = 0},
- [477] = {.lex_state = 22},
- [478] = {.lex_state = 0},
- [479] = {.lex_state = 22},
- [480] = {.lex_state = 1},
- [481] = {.lex_state = 1},
- [482] = {.lex_state = 1},
+ [476] = {.lex_state = 22},
+ [477] = {.lex_state = 0},
+ [478] = {.lex_state = 22},
+ [479] = {.lex_state = 0},
+ [480] = {.lex_state = 22},
+ [481] = {.lex_state = 22},
+ [482] = {.lex_state = 0},
[483] = {.lex_state = 0},
[484] = {.lex_state = 0},
- [485] = {.lex_state = 1},
- [486] = {.lex_state = 1},
- [487] = {.lex_state = 0},
- [488] = {.lex_state = 0},
- [489] = {.lex_state = 1},
- [490] = {.lex_state = 1},
+ [485] = {.lex_state = 22},
+ [486] = {.lex_state = 0},
+ [487] = {.lex_state = 8},
+ [488] = {.lex_state = 22},
+ [489] = {.lex_state = 22},
+ [490] = {.lex_state = 0},
[491] = {.lex_state = 0},
[492] = {.lex_state = 0},
- [493] = {.lex_state = 0},
+ [493] = {.lex_state = 22},
[494] = {.lex_state = 22},
- [495] = {.lex_state = 0},
+ [495] = {.lex_state = 22},
[496] = {.lex_state = 22},
- [497] = {.lex_state = 0},
- [498] = {.lex_state = 0},
+ [497] = {.lex_state = 22},
+ [498] = {.lex_state = 22},
[499] = {.lex_state = 0},
- [500] = {.lex_state = 22},
- [501] = {.lex_state = 0},
+ [500] = {.lex_state = 0},
+ [501] = {.lex_state = 22},
[502] = {.lex_state = 0},
- [503] = {.lex_state = 0},
+ [503] = {.lex_state = 8},
[504] = {.lex_state = 0},
[505] = {.lex_state = 0},
- [506] = {.lex_state = 1},
- [507] = {.lex_state = 1},
+ [506] = {.lex_state = 0},
+ [507] = {.lex_state = 0},
[508] = {.lex_state = 22},
- [509] = {.lex_state = 22},
+ [509] = {.lex_state = 0},
[510] = {.lex_state = 0},
- [511] = {.lex_state = 0},
- [512] = {.lex_state = 1},
- [513] = {.lex_state = 0},
+ [511] = {.lex_state = 22},
+ [512] = {.lex_state = 8},
+ [513] = {.lex_state = 1},
[514] = {.lex_state = 0},
- [515] = {.lex_state = 0},
- [516] = {.lex_state = 0},
- [517] = {.lex_state = 22},
+ [515] = {.lex_state = 22},
+ [516] = {.lex_state = 22},
+ [517] = {.lex_state = 0},
[518] = {.lex_state = 0},
- [519] = {.lex_state = 0},
- [520] = {.lex_state = 0},
+ [519] = {.lex_state = 22},
+ [520] = {.lex_state = 22},
[521] = {.lex_state = 0},
[522] = {.lex_state = 0},
- [523] = {.lex_state = 1},
+ [523] = {.lex_state = 22},
[524] = {.lex_state = 0},
[525] = {.lex_state = 22},
[526] = {.lex_state = 0},
- [527] = {.lex_state = 0},
+ [527] = {.lex_state = 22},
[528] = {.lex_state = 0},
[529] = {.lex_state = 0},
- [530] = {.lex_state = 0},
- [531] = {.lex_state = 0},
- [532] = {.lex_state = 22},
+ [530] = {.lex_state = 22},
+ [531] = {.lex_state = 22},
+ [532] = {.lex_state = 0},
[533] = {.lex_state = 0},
[534] = {.lex_state = 0},
- [535] = {.lex_state = 22},
- [536] = {.lex_state = 22},
+ [535] = {.lex_state = 0},
+ [536] = {.lex_state = 0},
[537] = {.lex_state = 0},
[538] = {.lex_state = 1},
- [539] = {.lex_state = 0},
- [540] = {.lex_state = 1},
+ [539] = {.lex_state = 22},
+ [540] = {.lex_state = 22},
[541] = {.lex_state = 0},
- [542] = {.lex_state = 22},
+ [542] = {.lex_state = 0},
[543] = {.lex_state = 0},
- [544] = {.lex_state = 22},
+ [544] = {.lex_state = 0},
[545] = {.lex_state = 0},
- [546] = {.lex_state = 0},
+ [546] = {.lex_state = 22},
[547] = {.lex_state = 0},
[548] = {.lex_state = 0},
[549] = {.lex_state = 0},
- [550] = {.lex_state = 1},
- [551] = {.lex_state = 0},
- [552] = {.lex_state = 22},
+ [550] = {.lex_state = 0},
+ [551] = {.lex_state = 22},
+ [552] = {.lex_state = 0},
[553] = {.lex_state = 0},
- [554] = {.lex_state = 22},
- [555] = {.lex_state = 1},
- [556] = {.lex_state = 22},
+ [554] = {.lex_state = 0},
+ [555] = {.lex_state = 0},
+ [556] = {.lex_state = 0},
[557] = {.lex_state = 0},
[558] = {.lex_state = 0},
[559] = {.lex_state = 0},
[560] = {.lex_state = 0},
- [561] = {.lex_state = 0},
+ [561] = {.lex_state = 22},
[562] = {.lex_state = 0},
[563] = {.lex_state = 0},
- [564] = {.lex_state = 1},
- [565] = {.lex_state = 22},
+ [564] = {.lex_state = 0},
+ [565] = {.lex_state = 0},
[566] = {.lex_state = 22},
[567] = {.lex_state = 0},
[568] = {.lex_state = 0},
- [569] = {.lex_state = 22},
+ [569] = {.lex_state = 0},
[570] = {.lex_state = 22},
[571] = {.lex_state = 0},
[572] = {.lex_state = 0},
[573] = {.lex_state = 0},
[574] = {.lex_state = 0},
[575] = {.lex_state = 22},
- [576] = {.lex_state = 1},
- [577] = {.lex_state = 8},
+ [576] = {.lex_state = 0},
+ [577] = {.lex_state = 0},
[578] = {.lex_state = 22},
- [579] = {.lex_state = 22},
+ [579] = {.lex_state = 0},
[580] = {.lex_state = 22},
- [581] = {.lex_state = 22},
+ [581] = {.lex_state = 0},
[582] = {.lex_state = 0},
- [583] = {.lex_state = 22},
+ [583] = {.lex_state = 0},
[584] = {.lex_state = 22},
- [585] = {.lex_state = 22},
+ [585] = {.lex_state = 0},
[586] = {.lex_state = 0},
- [587] = {.lex_state = 22},
- [588] = {.lex_state = 0},
+ [587] = {.lex_state = 0},
+ [588] = {.lex_state = 22},
[589] = {.lex_state = 0},
[590] = {.lex_state = 1},
- [591] = {.lex_state = 8},
- [592] = {.lex_state = 22},
- [593] = {.lex_state = 22},
- [594] = {.lex_state = 22},
+ [591] = {.lex_state = 0},
+ [592] = {.lex_state = 0},
+ [593] = {.lex_state = 0},
+ [594] = {.lex_state = 1},
[595] = {.lex_state = 0},
[596] = {.lex_state = 0},
[597] = {.lex_state = 0},
- [598] = {.lex_state = 0},
- [599] = {.lex_state = 22},
- [600] = {.lex_state = 22},
- [601] = {.lex_state = 22},
- [602] = {.lex_state = 0},
- [603] = {.lex_state = 0},
- [604] = {.lex_state = 22},
- [605] = {.lex_state = 22},
- [606] = {.lex_state = 22},
+ [598] = {.lex_state = 1},
+ [599] = {.lex_state = 0},
+ [600] = {.lex_state = 0},
+ [601] = {.lex_state = 0},
+ [602] = {.lex_state = 1},
+ [603] = {.lex_state = 1},
+ [604] = {.lex_state = 1},
+ [605] = {.lex_state = 0},
+ [606] = {.lex_state = 0},
[607] = {.lex_state = 22},
- [608] = {.lex_state = 22},
- [609] = {.lex_state = 22},
+ [608] = {.lex_state = 0},
+ [609] = {.lex_state = 0},
[610] = {.lex_state = 22},
+ [611] = {.lex_state = 0},
+ [612] = {.lex_state = 1},
+ [613] = {.lex_state = 0},
+ [614] = {.lex_state = 1},
+ [615] = {.lex_state = 1},
+ [616] = {.lex_state = 0},
+ [617] = {.lex_state = 22},
+ [618] = {.lex_state = 0},
+ [619] = {.lex_state = 22},
+ [620] = {.lex_state = 0},
+ [621] = {.lex_state = 22},
+ [622] = {.lex_state = 1},
+ [623] = {.lex_state = 0},
+ [624] = {.lex_state = 22},
+ [625] = {.lex_state = 0},
+ [626] = {.lex_state = 0},
+ [627] = {.lex_state = 0},
+ [628] = {.lex_state = 22},
+ [629] = {.lex_state = 0},
+ [630] = {.lex_state = 0},
+ [631] = {.lex_state = 0},
+ [632] = {.lex_state = 0},
+ [633] = {.lex_state = 22},
+ [634] = {.lex_state = 1},
+ [635] = {.lex_state = 22},
+ [636] = {.lex_state = 0},
+ [637] = {.lex_state = 22},
+ [638] = {.lex_state = 0},
+ [639] = {.lex_state = 0},
+ [640] = {.lex_state = 0},
+ [641] = {.lex_state = 0},
+ [642] = {.lex_state = 0},
+ [643] = {.lex_state = 0},
+ [644] = {.lex_state = 0},
+ [645] = {.lex_state = 1},
+ [646] = {.lex_state = 22},
+ [647] = {.lex_state = 22},
+ [648] = {.lex_state = 0},
+ [649] = {.lex_state = 0},
+ [650] = {.lex_state = 22},
+ [651] = {.lex_state = 22},
+ [652] = {.lex_state = 22},
+ [653] = {.lex_state = 0},
+ [654] = {.lex_state = 0},
+ [655] = {.lex_state = 0},
+ [656] = {.lex_state = 22},
+ [657] = {.lex_state = 0},
+ [658] = {.lex_state = 0},
+ [659] = {.lex_state = 1},
+ [660] = {.lex_state = 0},
+ [661] = {.lex_state = 22},
+ [662] = {.lex_state = 22},
+ [663] = {.lex_state = 22},
+ [664] = {.lex_state = 22},
+ [665] = {.lex_state = 22},
+ [666] = {.lex_state = 0},
+ [667] = {.lex_state = 22},
+ [668] = {.lex_state = 0},
+ [669] = {.lex_state = 1},
+ [670] = {.lex_state = 0},
+ [671] = {.lex_state = 1},
+ [672] = {.lex_state = 0},
+ [673] = {.lex_state = 0},
+ [674] = {.lex_state = 0},
+ [675] = {.lex_state = 0},
+ [676] = {.lex_state = 1},
+ [677] = {.lex_state = 22},
+ [678] = {.lex_state = 22},
+ [679] = {.lex_state = 0},
+ [680] = {.lex_state = 0},
+ [681] = {.lex_state = 0},
+ [682] = {.lex_state = 8},
+ [683] = {.lex_state = 0},
+ [684] = {.lex_state = 0},
+ [685] = {.lex_state = 0},
+ [686] = {.lex_state = 22},
+ [687] = {.lex_state = 22},
+ [688] = {.lex_state = 0},
+ [689] = {.lex_state = 22},
+ [690] = {.lex_state = 8},
+ [691] = {.lex_state = 0},
+ [692] = {.lex_state = 0},
+ [693] = {.lex_state = 22},
+ [694] = {.lex_state = 0},
+ [695] = {.lex_state = 0},
+ [696] = {.lex_state = 0},
+ [697] = {.lex_state = 22},
+ [698] = {.lex_state = 0},
+ [699] = {.lex_state = 22},
+ [700] = {.lex_state = 0},
+ [701] = {.lex_state = 0},
+ [702] = {.lex_state = 22},
+ [703] = {.lex_state = 22},
+ [704] = {.lex_state = 22},
+ [705] = {.lex_state = 0},
+ [706] = {.lex_state = 22},
+ [707] = {.lex_state = 22},
+ [708] = {.lex_state = 22},
+ [709] = {.lex_state = 22},
+ [710] = {.lex_state = 22},
+ [711] = {.lex_state = 22},
+ [712] = {.lex_state = 0},
+ [713] = {.lex_state = 1},
+ [714] = {.lex_state = 22},
+ [715] = {.lex_state = 0},
+ [716] = {.lex_state = 0},
+ [717] = {.lex_state = 22},
+ [718] = {.lex_state = 22},
+ [719] = {.lex_state = 22},
+ [720] = {.lex_state = 22},
+ [721] = {.lex_state = 22},
+ [722] = {.lex_state = 0},
+ [723] = {.lex_state = 0},
+ [724] = {.lex_state = 22},
+ [725] = {.lex_state = 22},
+ [726] = {.lex_state = 22},
+ [727] = {.lex_state = 22},
+ [728] = {.lex_state = 22},
+ [729] = {.lex_state = 22},
+ [730] = {.lex_state = 1},
+ [731] = {.lex_state = 0},
+ [732] = {.lex_state = 0},
};
static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
@@ -4529,7 +5063,9 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
[anon_sym_let] = ACTIONS(1),
[anon_sym_COLON] = ACTIONS(1),
[anon_sym_class] = ACTIONS(1),
+ [anon_sym_impl] = ACTIONS(1),
[anon_sym_resource] = ACTIONS(1),
+ [anon_sym_interface] = ACTIONS(1),
[anon_sym_for] = ACTIONS(1),
[anon_sym_in] = ACTIONS(1),
[anon_sym_while] = ACTIONS(1),
@@ -4600,59 +5136,60 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
[anon_sym_MutJson] = ACTIONS(1),
},
[1] = {
- [sym_source] = STATE(598),
- [sym_reference] = STATE(276),
- [sym_custom_type] = STATE(597),
- [sym_nested_identifier] = STATE(149),
- [sym__statement] = STATE(3),
- [sym_short_import_statement] = STATE(3),
- [sym_struct_definition] = STATE(3),
- [sym_enum_definition] = STATE(3),
- [sym_return_statement] = STATE(3),
- [sym_variable_assignment_statement] = STATE(3),
- [sym_expression_statement] = STATE(3),
- [sym_variable_definition_statement] = STATE(3),
- [sym_class_definition] = STATE(3),
- [sym_resource_definition] = STATE(3),
- [sym_for_in_loop] = STATE(3),
- [sym_while_statement] = STATE(3),
- [sym_break_statement] = STATE(3),
- [sym_continue_statement] = STATE(3),
- [sym_if_statement] = STATE(3),
- [sym_try_catch_statement] = STATE(3),
- [sym_expression] = STATE(272),
- [sym__literal] = STATE(158),
- [sym_number] = STATE(133),
- [sym__integer] = STATE(144),
- [sym__decimal] = STATE(144),
- [sym_bool] = STATE(187),
- [sym_duration] = STATE(187),
- [sym_seconds] = STATE(189),
- [sym_minutes] = STATE(189),
- [sym_hours] = STATE(189),
- [sym_string] = STATE(187),
- [sym_call] = STATE(158),
- [sym_new_expression] = STATE(158),
- [sym_parameter_list] = STATE(422),
- [sym_immutable_container_type] = STATE(513),
- [sym_mutable_container_type] = STATE(513),
- [sym__builtin_container_type] = STATE(513),
- [sym_unary_expression] = STATE(158),
- [sym_binary_expression] = STATE(158),
- [sym_preflight_closure] = STATE(158),
- [sym_inflight_closure] = STATE(158),
- [sym_await_expression] = STATE(158),
- [sym_defer_expression] = STATE(158),
- [sym_parenthesized_expression] = STATE(158),
- [sym__collection_literal] = STATE(158),
- [sym_array_literal] = STATE(158),
- [sym_set_literal] = STATE(158),
- [sym_map_literal] = STATE(158),
- [sym_struct_literal] = STATE(158),
- [sym_structured_access_expression] = STATE(158),
- [sym_json_literal] = STATE(158),
- [sym_json_container_type] = STATE(129),
- [aux_sym_source_repeat1] = STATE(3),
+ [sym_source] = STATE(716),
+ [sym_reference] = STATE(293),
+ [sym_custom_type] = STATE(715),
+ [sym_nested_identifier] = STATE(166),
+ [sym__statement] = STATE(7),
+ [sym_short_import_statement] = STATE(7),
+ [sym_struct_definition] = STATE(7),
+ [sym_enum_definition] = STATE(7),
+ [sym_return_statement] = STATE(7),
+ [sym_variable_assignment_statement] = STATE(7),
+ [sym_expression_statement] = STATE(7),
+ [sym_variable_definition_statement] = STATE(7),
+ [sym_class_definition] = STATE(7),
+ [sym_resource_definition] = STATE(7),
+ [sym_interface_definition] = STATE(7),
+ [sym_for_in_loop] = STATE(7),
+ [sym_while_statement] = STATE(7),
+ [sym_break_statement] = STATE(7),
+ [sym_continue_statement] = STATE(7),
+ [sym_if_statement] = STATE(7),
+ [sym_try_catch_statement] = STATE(7),
+ [sym_expression] = STATE(295),
+ [sym__literal] = STATE(216),
+ [sym_number] = STATE(158),
+ [sym__integer] = STATE(159),
+ [sym__decimal] = STATE(159),
+ [sym_bool] = STATE(218),
+ [sym_duration] = STATE(218),
+ [sym_seconds] = STATE(177),
+ [sym_minutes] = STATE(177),
+ [sym_hours] = STATE(177),
+ [sym_string] = STATE(218),
+ [sym_call] = STATE(216),
+ [sym_new_expression] = STATE(216),
+ [sym_parameter_list] = STATE(503),
+ [sym_immutable_container_type] = STATE(597),
+ [sym_mutable_container_type] = STATE(597),
+ [sym__builtin_container_type] = STATE(597),
+ [sym_unary_expression] = STATE(216),
+ [sym_binary_expression] = STATE(216),
+ [sym_preflight_closure] = STATE(216),
+ [sym_inflight_closure] = STATE(216),
+ [sym_await_expression] = STATE(216),
+ [sym_defer_expression] = STATE(216),
+ [sym_parenthesized_expression] = STATE(216),
+ [sym__collection_literal] = STATE(216),
+ [sym_array_literal] = STATE(216),
+ [sym_set_literal] = STATE(216),
+ [sym_map_literal] = STATE(216),
+ [sym_struct_literal] = STATE(216),
+ [sym_structured_access_expression] = STATE(216),
+ [sym_json_literal] = STATE(216),
+ [sym_json_container_type] = STATE(147),
+ [aux_sym_source_repeat1] = STATE(7),
[ts_builtin_sym_end] = ACTIONS(5),
[sym_identifier] = ACTIONS(7),
[anon_sym_LBRACE] = ACTIONS(9),
@@ -4665,41 +5202,42 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
[anon_sym_let] = ACTIONS(21),
[anon_sym_class] = ACTIONS(23),
[anon_sym_resource] = ACTIONS(25),
- [anon_sym_for] = ACTIONS(27),
- [anon_sym_while] = ACTIONS(29),
- [anon_sym_break] = ACTIONS(31),
- [anon_sym_continue] = ACTIONS(33),
- [anon_sym_if] = ACTIONS(35),
- [anon_sym_try] = ACTIONS(37),
- [anon_sym_0] = ACTIONS(39),
- [aux_sym__integer_token1] = ACTIONS(39),
- [aux_sym__decimal_token1] = ACTIONS(41),
- [aux_sym__decimal_token2] = ACTIONS(41),
- [anon_sym_true] = ACTIONS(43),
- [anon_sym_false] = ACTIONS(43),
- [anon_sym_DQUOTE] = ACTIONS(45),
- [anon_sym_LPAREN] = ACTIONS(47),
- [anon_sym_new] = ACTIONS(49),
- [anon_sym_Array] = ACTIONS(51),
- [anon_sym_Set] = ACTIONS(51),
- [anon_sym_Map] = ACTIONS(51),
- [anon_sym_Promise] = ACTIONS(51),
- [anon_sym_MutSet] = ACTIONS(53),
- [anon_sym_MutMap] = ACTIONS(53),
- [anon_sym_MutArray] = ACTIONS(53),
- [anon_sym_DASH_DASH] = ACTIONS(55),
- [anon_sym_DASH] = ACTIONS(57),
- [anon_sym_BANG] = ACTIONS(55),
- [anon_sym_await] = ACTIONS(59),
- [anon_sym_defer] = ACTIONS(61),
- [anon_sym_LBRACK] = ACTIONS(63),
- [anon_sym_Json] = ACTIONS(65),
- [anon_sym_MutJson] = ACTIONS(65),
+ [anon_sym_interface] = ACTIONS(27),
+ [anon_sym_for] = ACTIONS(29),
+ [anon_sym_while] = ACTIONS(31),
+ [anon_sym_break] = ACTIONS(33),
+ [anon_sym_continue] = ACTIONS(35),
+ [anon_sym_if] = ACTIONS(37),
+ [anon_sym_try] = ACTIONS(39),
+ [anon_sym_0] = ACTIONS(41),
+ [aux_sym__integer_token1] = ACTIONS(41),
+ [aux_sym__decimal_token1] = ACTIONS(43),
+ [aux_sym__decimal_token2] = ACTIONS(43),
+ [anon_sym_true] = ACTIONS(45),
+ [anon_sym_false] = ACTIONS(45),
+ [anon_sym_DQUOTE] = ACTIONS(47),
+ [anon_sym_LPAREN] = ACTIONS(49),
+ [anon_sym_new] = ACTIONS(51),
+ [anon_sym_Array] = ACTIONS(53),
+ [anon_sym_Set] = ACTIONS(53),
+ [anon_sym_Map] = ACTIONS(53),
+ [anon_sym_Promise] = ACTIONS(53),
+ [anon_sym_MutSet] = ACTIONS(55),
+ [anon_sym_MutMap] = ACTIONS(55),
+ [anon_sym_MutArray] = ACTIONS(55),
+ [anon_sym_DASH_DASH] = ACTIONS(57),
+ [anon_sym_DASH] = ACTIONS(59),
+ [anon_sym_BANG] = ACTIONS(57),
+ [anon_sym_await] = ACTIONS(61),
+ [anon_sym_defer] = ACTIONS(63),
+ [anon_sym_LBRACK] = ACTIONS(65),
+ [anon_sym_Json] = ACTIONS(67),
+ [anon_sym_MutJson] = ACTIONS(67),
},
[2] = {
- [sym_reference] = STATE(276),
- [sym_custom_type] = STATE(597),
- [sym_nested_identifier] = STATE(149),
+ [sym_reference] = STATE(293),
+ [sym_custom_type] = STATE(715),
+ [sym_nested_identifier] = STATE(166),
[sym__statement] = STATE(2),
[sym_short_import_statement] = STATE(2),
[sym_struct_definition] = STATE(2),
@@ -4710,93 +5248,95 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
[sym_variable_definition_statement] = STATE(2),
[sym_class_definition] = STATE(2),
[sym_resource_definition] = STATE(2),
+ [sym_interface_definition] = STATE(2),
[sym_for_in_loop] = STATE(2),
[sym_while_statement] = STATE(2),
[sym_break_statement] = STATE(2),
[sym_continue_statement] = STATE(2),
[sym_if_statement] = STATE(2),
[sym_try_catch_statement] = STATE(2),
- [sym_expression] = STATE(272),
- [sym__literal] = STATE(158),
- [sym_number] = STATE(133),
- [sym__integer] = STATE(144),
- [sym__decimal] = STATE(144),
- [sym_bool] = STATE(187),
- [sym_duration] = STATE(187),
- [sym_seconds] = STATE(189),
- [sym_minutes] = STATE(189),
- [sym_hours] = STATE(189),
- [sym_string] = STATE(187),
- [sym_call] = STATE(158),
- [sym_new_expression] = STATE(158),
- [sym_parameter_list] = STATE(422),
- [sym_immutable_container_type] = STATE(513),
- [sym_mutable_container_type] = STATE(513),
- [sym__builtin_container_type] = STATE(513),
- [sym_unary_expression] = STATE(158),
- [sym_binary_expression] = STATE(158),
- [sym_preflight_closure] = STATE(158),
- [sym_inflight_closure] = STATE(158),
- [sym_await_expression] = STATE(158),
- [sym_defer_expression] = STATE(158),
- [sym_parenthesized_expression] = STATE(158),
- [sym__collection_literal] = STATE(158),
- [sym_array_literal] = STATE(158),
- [sym_set_literal] = STATE(158),
- [sym_map_literal] = STATE(158),
- [sym_struct_literal] = STATE(158),
- [sym_structured_access_expression] = STATE(158),
- [sym_json_literal] = STATE(158),
- [sym_json_container_type] = STATE(129),
+ [sym_expression] = STATE(295),
+ [sym__literal] = STATE(216),
+ [sym_number] = STATE(158),
+ [sym__integer] = STATE(159),
+ [sym__decimal] = STATE(159),
+ [sym_bool] = STATE(218),
+ [sym_duration] = STATE(218),
+ [sym_seconds] = STATE(177),
+ [sym_minutes] = STATE(177),
+ [sym_hours] = STATE(177),
+ [sym_string] = STATE(218),
+ [sym_call] = STATE(216),
+ [sym_new_expression] = STATE(216),
+ [sym_parameter_list] = STATE(503),
+ [sym_immutable_container_type] = STATE(597),
+ [sym_mutable_container_type] = STATE(597),
+ [sym__builtin_container_type] = STATE(597),
+ [sym_unary_expression] = STATE(216),
+ [sym_binary_expression] = STATE(216),
+ [sym_preflight_closure] = STATE(216),
+ [sym_inflight_closure] = STATE(216),
+ [sym_await_expression] = STATE(216),
+ [sym_defer_expression] = STATE(216),
+ [sym_parenthesized_expression] = STATE(216),
+ [sym__collection_literal] = STATE(216),
+ [sym_array_literal] = STATE(216),
+ [sym_set_literal] = STATE(216),
+ [sym_map_literal] = STATE(216),
+ [sym_struct_literal] = STATE(216),
+ [sym_structured_access_expression] = STATE(216),
+ [sym_json_literal] = STATE(216),
+ [sym_json_container_type] = STATE(147),
[aux_sym_source_repeat1] = STATE(2),
- [ts_builtin_sym_end] = ACTIONS(67),
- [sym_identifier] = ACTIONS(69),
- [anon_sym_LBRACE] = ACTIONS(72),
- [anon_sym_RBRACE] = ACTIONS(67),
+ [ts_builtin_sym_end] = ACTIONS(69),
+ [sym_identifier] = ACTIONS(71),
+ [anon_sym_LBRACE] = ACTIONS(74),
+ [anon_sym_RBRACE] = ACTIONS(69),
[sym_comment] = ACTIONS(3),
- [anon_sym_inflight] = ACTIONS(75),
- [anon_sym_bring] = ACTIONS(78),
- [anon_sym_struct] = ACTIONS(81),
- [anon_sym_enum] = ACTIONS(84),
- [anon_sym_return] = ACTIONS(87),
- [anon_sym_let] = ACTIONS(90),
- [anon_sym_class] = ACTIONS(93),
- [anon_sym_resource] = ACTIONS(96),
- [anon_sym_for] = ACTIONS(99),
- [anon_sym_while] = ACTIONS(102),
- [anon_sym_break] = ACTIONS(105),
- [anon_sym_continue] = ACTIONS(108),
- [anon_sym_if] = ACTIONS(111),
- [anon_sym_try] = ACTIONS(114),
- [anon_sym_0] = ACTIONS(117),
- [aux_sym__integer_token1] = ACTIONS(117),
- [aux_sym__decimal_token1] = ACTIONS(120),
- [aux_sym__decimal_token2] = ACTIONS(120),
- [anon_sym_true] = ACTIONS(123),
- [anon_sym_false] = ACTIONS(123),
- [anon_sym_DQUOTE] = ACTIONS(126),
- [anon_sym_LPAREN] = ACTIONS(129),
- [anon_sym_new] = ACTIONS(132),
- [anon_sym_Array] = ACTIONS(135),
- [anon_sym_Set] = ACTIONS(135),
- [anon_sym_Map] = ACTIONS(135),
- [anon_sym_Promise] = ACTIONS(135),
- [anon_sym_MutSet] = ACTIONS(138),
- [anon_sym_MutMap] = ACTIONS(138),
- [anon_sym_MutArray] = ACTIONS(138),
- [anon_sym_DASH_DASH] = ACTIONS(141),
- [anon_sym_DASH] = ACTIONS(144),
- [anon_sym_BANG] = ACTIONS(141),
- [anon_sym_await] = ACTIONS(147),
- [anon_sym_defer] = ACTIONS(150),
- [anon_sym_LBRACK] = ACTIONS(153),
- [anon_sym_Json] = ACTIONS(156),
- [anon_sym_MutJson] = ACTIONS(156),
+ [anon_sym_inflight] = ACTIONS(77),
+ [anon_sym_bring] = ACTIONS(80),
+ [anon_sym_struct] = ACTIONS(83),
+ [anon_sym_enum] = ACTIONS(86),
+ [anon_sym_return] = ACTIONS(89),
+ [anon_sym_let] = ACTIONS(92),
+ [anon_sym_class] = ACTIONS(95),
+ [anon_sym_resource] = ACTIONS(98),
+ [anon_sym_interface] = ACTIONS(101),
+ [anon_sym_for] = ACTIONS(104),
+ [anon_sym_while] = ACTIONS(107),
+ [anon_sym_break] = ACTIONS(110),
+ [anon_sym_continue] = ACTIONS(113),
+ [anon_sym_if] = ACTIONS(116),
+ [anon_sym_try] = ACTIONS(119),
+ [anon_sym_0] = ACTIONS(122),
+ [aux_sym__integer_token1] = ACTIONS(122),
+ [aux_sym__decimal_token1] = ACTIONS(125),
+ [aux_sym__decimal_token2] = ACTIONS(125),
+ [anon_sym_true] = ACTIONS(128),
+ [anon_sym_false] = ACTIONS(128),
+ [anon_sym_DQUOTE] = ACTIONS(131),
+ [anon_sym_LPAREN] = ACTIONS(134),
+ [anon_sym_new] = ACTIONS(137),
+ [anon_sym_Array] = ACTIONS(140),
+ [anon_sym_Set] = ACTIONS(140),
+ [anon_sym_Map] = ACTIONS(140),
+ [anon_sym_Promise] = ACTIONS(140),
+ [anon_sym_MutSet] = ACTIONS(143),
+ [anon_sym_MutMap] = ACTIONS(143),
+ [anon_sym_MutArray] = ACTIONS(143),
+ [anon_sym_DASH_DASH] = ACTIONS(146),
+ [anon_sym_DASH] = ACTIONS(149),
+ [anon_sym_BANG] = ACTIONS(146),
+ [anon_sym_await] = ACTIONS(152),
+ [anon_sym_defer] = ACTIONS(155),
+ [anon_sym_LBRACK] = ACTIONS(158),
+ [anon_sym_Json] = ACTIONS(161),
+ [anon_sym_MutJson] = ACTIONS(161),
},
[3] = {
- [sym_reference] = STATE(276),
- [sym_custom_type] = STATE(597),
- [sym_nested_identifier] = STATE(149),
+ [sym_reference] = STATE(293),
+ [sym_custom_type] = STATE(715),
+ [sym_nested_identifier] = STATE(166),
[sym__statement] = STATE(2),
[sym_short_import_statement] = STATE(2),
[sym_struct_definition] = STATE(2),
@@ -4807,48 +5347,49 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
[sym_variable_definition_statement] = STATE(2),
[sym_class_definition] = STATE(2),
[sym_resource_definition] = STATE(2),
+ [sym_interface_definition] = STATE(2),
[sym_for_in_loop] = STATE(2),
[sym_while_statement] = STATE(2),
[sym_break_statement] = STATE(2),
[sym_continue_statement] = STATE(2),
[sym_if_statement] = STATE(2),
[sym_try_catch_statement] = STATE(2),
- [sym_expression] = STATE(272),
- [sym__literal] = STATE(158),
- [sym_number] = STATE(133),
- [sym__integer] = STATE(144),
- [sym__decimal] = STATE(144),
- [sym_bool] = STATE(187),
- [sym_duration] = STATE(187),
- [sym_seconds] = STATE(189),
- [sym_minutes] = STATE(189),
- [sym_hours] = STATE(189),
- [sym_string] = STATE(187),
- [sym_call] = STATE(158),
- [sym_new_expression] = STATE(158),
- [sym_parameter_list] = STATE(422),
- [sym_immutable_container_type] = STATE(513),
- [sym_mutable_container_type] = STATE(513),
- [sym__builtin_container_type] = STATE(513),
- [sym_unary_expression] = STATE(158),
- [sym_binary_expression] = STATE(158),
- [sym_preflight_closure] = STATE(158),
- [sym_inflight_closure] = STATE(158),
- [sym_await_expression] = STATE(158),
- [sym_defer_expression] = STATE(158),
- [sym_parenthesized_expression] = STATE(158),
- [sym__collection_literal] = STATE(158),
- [sym_array_literal] = STATE(158),
- [sym_set_literal] = STATE(158),
- [sym_map_literal] = STATE(158),
- [sym_struct_literal] = STATE(158),
- [sym_structured_access_expression] = STATE(158),
- [sym_json_literal] = STATE(158),
- [sym_json_container_type] = STATE(129),
+ [sym_expression] = STATE(295),
+ [sym__literal] = STATE(216),
+ [sym_number] = STATE(158),
+ [sym__integer] = STATE(159),
+ [sym__decimal] = STATE(159),
+ [sym_bool] = STATE(218),
+ [sym_duration] = STATE(218),
+ [sym_seconds] = STATE(177),
+ [sym_minutes] = STATE(177),
+ [sym_hours] = STATE(177),
+ [sym_string] = STATE(218),
+ [sym_call] = STATE(216),
+ [sym_new_expression] = STATE(216),
+ [sym_parameter_list] = STATE(503),
+ [sym_immutable_container_type] = STATE(597),
+ [sym_mutable_container_type] = STATE(597),
+ [sym__builtin_container_type] = STATE(597),
+ [sym_unary_expression] = STATE(216),
+ [sym_binary_expression] = STATE(216),
+ [sym_preflight_closure] = STATE(216),
+ [sym_inflight_closure] = STATE(216),
+ [sym_await_expression] = STATE(216),
+ [sym_defer_expression] = STATE(216),
+ [sym_parenthesized_expression] = STATE(216),
+ [sym__collection_literal] = STATE(216),
+ [sym_array_literal] = STATE(216),
+ [sym_set_literal] = STATE(216),
+ [sym_map_literal] = STATE(216),
+ [sym_struct_literal] = STATE(216),
+ [sym_structured_access_expression] = STATE(216),
+ [sym_json_literal] = STATE(216),
+ [sym_json_container_type] = STATE(147),
[aux_sym_source_repeat1] = STATE(2),
- [ts_builtin_sym_end] = ACTIONS(159),
[sym_identifier] = ACTIONS(7),
[anon_sym_LBRACE] = ACTIONS(9),
+ [anon_sym_RBRACE] = ACTIONS(164),
[sym_comment] = ACTIONS(3),
[anon_sym_inflight] = ACTIONS(11),
[anon_sym_bring] = ACTIONS(13),
@@ -4858,137 +5399,42 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
[anon_sym_let] = ACTIONS(21),
[anon_sym_class] = ACTIONS(23),
[anon_sym_resource] = ACTIONS(25),
- [anon_sym_for] = ACTIONS(27),
- [anon_sym_while] = ACTIONS(29),
- [anon_sym_break] = ACTIONS(31),
- [anon_sym_continue] = ACTIONS(33),
- [anon_sym_if] = ACTIONS(35),
- [anon_sym_try] = ACTIONS(37),
- [anon_sym_0] = ACTIONS(39),
- [aux_sym__integer_token1] = ACTIONS(39),
- [aux_sym__decimal_token1] = ACTIONS(41),
- [aux_sym__decimal_token2] = ACTIONS(41),
- [anon_sym_true] = ACTIONS(43),
- [anon_sym_false] = ACTIONS(43),
- [anon_sym_DQUOTE] = ACTIONS(45),
- [anon_sym_LPAREN] = ACTIONS(47),
- [anon_sym_new] = ACTIONS(49),
- [anon_sym_Array] = ACTIONS(51),
- [anon_sym_Set] = ACTIONS(51),
- [anon_sym_Map] = ACTIONS(51),
- [anon_sym_Promise] = ACTIONS(51),
- [anon_sym_MutSet] = ACTIONS(53),
- [anon_sym_MutMap] = ACTIONS(53),
- [anon_sym_MutArray] = ACTIONS(53),
- [anon_sym_DASH_DASH] = ACTIONS(55),
- [anon_sym_DASH] = ACTIONS(57),
- [anon_sym_BANG] = ACTIONS(55),
- [anon_sym_await] = ACTIONS(59),
- [anon_sym_defer] = ACTIONS(61),
- [anon_sym_LBRACK] = ACTIONS(63),
- [anon_sym_Json] = ACTIONS(65),
- [anon_sym_MutJson] = ACTIONS(65),
+ [anon_sym_interface] = ACTIONS(27),
+ [anon_sym_for] = ACTIONS(29),
+ [anon_sym_while] = ACTIONS(31),
+ [anon_sym_break] = ACTIONS(33),
+ [anon_sym_continue] = ACTIONS(35),
+ [anon_sym_if] = ACTIONS(37),
+ [anon_sym_try] = ACTIONS(39),
+ [anon_sym_0] = ACTIONS(41),
+ [aux_sym__integer_token1] = ACTIONS(41),
+ [aux_sym__decimal_token1] = ACTIONS(43),
+ [aux_sym__decimal_token2] = ACTIONS(43),
+ [anon_sym_true] = ACTIONS(45),
+ [anon_sym_false] = ACTIONS(45),
+ [anon_sym_DQUOTE] = ACTIONS(47),
+ [anon_sym_LPAREN] = ACTIONS(49),
+ [anon_sym_new] = ACTIONS(51),
+ [anon_sym_Array] = ACTIONS(53),
+ [anon_sym_Set] = ACTIONS(53),
+ [anon_sym_Map] = ACTIONS(53),
+ [anon_sym_Promise] = ACTIONS(53),
+ [anon_sym_MutSet] = ACTIONS(55),
+ [anon_sym_MutMap] = ACTIONS(55),
+ [anon_sym_MutArray] = ACTIONS(55),
+ [anon_sym_DASH_DASH] = ACTIONS(57),
+ [anon_sym_DASH] = ACTIONS(59),
+ [anon_sym_BANG] = ACTIONS(57),
+ [anon_sym_await] = ACTIONS(61),
+ [anon_sym_defer] = ACTIONS(63),
+ [anon_sym_LBRACK] = ACTIONS(65),
+ [anon_sym_Json] = ACTIONS(67),
+ [anon_sym_MutJson] = ACTIONS(67),
},
[4] = {
- [sym_reference] = STATE(276),
- [sym_custom_type] = STATE(597),
- [sym_nested_identifier] = STATE(149),
- [sym__statement] = STATE(5),
- [sym_short_import_statement] = STATE(5),
- [sym_struct_definition] = STATE(5),
- [sym_enum_definition] = STATE(5),
- [sym_return_statement] = STATE(5),
- [sym_variable_assignment_statement] = STATE(5),
- [sym_expression_statement] = STATE(5),
- [sym_variable_definition_statement] = STATE(5),
- [sym_class_definition] = STATE(5),
- [sym_resource_definition] = STATE(5),
- [sym_for_in_loop] = STATE(5),
- [sym_while_statement] = STATE(5),
- [sym_break_statement] = STATE(5),
- [sym_continue_statement] = STATE(5),
- [sym_if_statement] = STATE(5),
- [sym_try_catch_statement] = STATE(5),
- [sym_expression] = STATE(272),
- [sym__literal] = STATE(158),
- [sym_number] = STATE(133),
- [sym__integer] = STATE(144),
- [sym__decimal] = STATE(144),
- [sym_bool] = STATE(187),
- [sym_duration] = STATE(187),
- [sym_seconds] = STATE(189),
- [sym_minutes] = STATE(189),
- [sym_hours] = STATE(189),
- [sym_string] = STATE(187),
- [sym_call] = STATE(158),
- [sym_new_expression] = STATE(158),
- [sym_parameter_list] = STATE(422),
- [sym_immutable_container_type] = STATE(513),
- [sym_mutable_container_type] = STATE(513),
- [sym__builtin_container_type] = STATE(513),
- [sym_unary_expression] = STATE(158),
- [sym_binary_expression] = STATE(158),
- [sym_preflight_closure] = STATE(158),
- [sym_inflight_closure] = STATE(158),
- [sym_await_expression] = STATE(158),
- [sym_defer_expression] = STATE(158),
- [sym_parenthesized_expression] = STATE(158),
- [sym__collection_literal] = STATE(158),
- [sym_array_literal] = STATE(158),
- [sym_set_literal] = STATE(158),
- [sym_map_literal] = STATE(158),
- [sym_struct_literal] = STATE(158),
- [sym_structured_access_expression] = STATE(158),
- [sym_json_literal] = STATE(158),
- [sym_json_container_type] = STATE(129),
- [aux_sym_source_repeat1] = STATE(5),
- [sym_identifier] = ACTIONS(7),
- [anon_sym_LBRACE] = ACTIONS(9),
- [anon_sym_RBRACE] = ACTIONS(161),
- [sym_comment] = ACTIONS(3),
- [anon_sym_inflight] = ACTIONS(11),
- [anon_sym_bring] = ACTIONS(13),
- [anon_sym_struct] = ACTIONS(15),
- [anon_sym_enum] = ACTIONS(17),
- [anon_sym_return] = ACTIONS(19),
- [anon_sym_let] = ACTIONS(21),
- [anon_sym_class] = ACTIONS(23),
- [anon_sym_resource] = ACTIONS(25),
- [anon_sym_for] = ACTIONS(27),
- [anon_sym_while] = ACTIONS(29),
- [anon_sym_break] = ACTIONS(31),
- [anon_sym_continue] = ACTIONS(33),
- [anon_sym_if] = ACTIONS(35),
- [anon_sym_try] = ACTIONS(37),
- [anon_sym_0] = ACTIONS(39),
- [aux_sym__integer_token1] = ACTIONS(39),
- [aux_sym__decimal_token1] = ACTIONS(41),
- [aux_sym__decimal_token2] = ACTIONS(41),
- [anon_sym_true] = ACTIONS(43),
- [anon_sym_false] = ACTIONS(43),
- [anon_sym_DQUOTE] = ACTIONS(45),
- [anon_sym_LPAREN] = ACTIONS(47),
- [anon_sym_new] = ACTIONS(49),
- [anon_sym_Array] = ACTIONS(51),
- [anon_sym_Set] = ACTIONS(51),
- [anon_sym_Map] = ACTIONS(51),
- [anon_sym_Promise] = ACTIONS(51),
- [anon_sym_MutSet] = ACTIONS(53),
- [anon_sym_MutMap] = ACTIONS(53),
- [anon_sym_MutArray] = ACTIONS(53),
- [anon_sym_DASH_DASH] = ACTIONS(55),
- [anon_sym_DASH] = ACTIONS(57),
- [anon_sym_BANG] = ACTIONS(55),
- [anon_sym_await] = ACTIONS(59),
- [anon_sym_defer] = ACTIONS(61),
- [anon_sym_LBRACK] = ACTIONS(63),
- [anon_sym_Json] = ACTIONS(65),
- [anon_sym_MutJson] = ACTIONS(65),
- },
- [5] = {
- [sym_reference] = STATE(276),
- [sym_custom_type] = STATE(597),
- [sym_nested_identifier] = STATE(149),
+ [sym_reference] = STATE(293),
+ [sym_custom_type] = STATE(715),
+ [sym_nested_identifier] = STATE(166),
[sym__statement] = STATE(2),
[sym_short_import_statement] = STATE(2),
[sym_struct_definition] = STATE(2),
@@ -4999,48 +5445,147 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
[sym_variable_definition_statement] = STATE(2),
[sym_class_definition] = STATE(2),
[sym_resource_definition] = STATE(2),
+ [sym_interface_definition] = STATE(2),
[sym_for_in_loop] = STATE(2),
[sym_while_statement] = STATE(2),
[sym_break_statement] = STATE(2),
[sym_continue_statement] = STATE(2),
[sym_if_statement] = STATE(2),
[sym_try_catch_statement] = STATE(2),
- [sym_expression] = STATE(272),
- [sym__literal] = STATE(158),
- [sym_number] = STATE(133),
- [sym__integer] = STATE(144),
- [sym__decimal] = STATE(144),
- [sym_bool] = STATE(187),
- [sym_duration] = STATE(187),
- [sym_seconds] = STATE(189),
- [sym_minutes] = STATE(189),
- [sym_hours] = STATE(189),
- [sym_string] = STATE(187),
- [sym_call] = STATE(158),
- [sym_new_expression] = STATE(158),
- [sym_parameter_list] = STATE(422),
- [sym_immutable_container_type] = STATE(513),
- [sym_mutable_container_type] = STATE(513),
- [sym__builtin_container_type] = STATE(513),
- [sym_unary_expression] = STATE(158),
- [sym_binary_expression] = STATE(158),
- [sym_preflight_closure] = STATE(158),
- [sym_inflight_closure] = STATE(158),
- [sym_await_expression] = STATE(158),
- [sym_defer_expression] = STATE(158),
- [sym_parenthesized_expression] = STATE(158),
- [sym__collection_literal] = STATE(158),
- [sym_array_literal] = STATE(158),
- [sym_set_literal] = STATE(158),
- [sym_map_literal] = STATE(158),
- [sym_struct_literal] = STATE(158),
- [sym_structured_access_expression] = STATE(158),
- [sym_json_literal] = STATE(158),
- [sym_json_container_type] = STATE(129),
+ [sym_expression] = STATE(295),
+ [sym__literal] = STATE(216),
+ [sym_number] = STATE(158),
+ [sym__integer] = STATE(159),
+ [sym__decimal] = STATE(159),
+ [sym_bool] = STATE(218),
+ [sym_duration] = STATE(218),
+ [sym_seconds] = STATE(177),
+ [sym_minutes] = STATE(177),
+ [sym_hours] = STATE(177),
+ [sym_string] = STATE(218),
+ [sym_call] = STATE(216),
+ [sym_new_expression] = STATE(216),
+ [sym_parameter_list] = STATE(503),
+ [sym_immutable_container_type] = STATE(597),
+ [sym_mutable_container_type] = STATE(597),
+ [sym__builtin_container_type] = STATE(597),
+ [sym_unary_expression] = STATE(216),
+ [sym_binary_expression] = STATE(216),
+ [sym_preflight_closure] = STATE(216),
+ [sym_inflight_closure] = STATE(216),
+ [sym_await_expression] = STATE(216),
+ [sym_defer_expression] = STATE(216),
+ [sym_parenthesized_expression] = STATE(216),
+ [sym__collection_literal] = STATE(216),
+ [sym_array_literal] = STATE(216),
+ [sym_set_literal] = STATE(216),
+ [sym_map_literal] = STATE(216),
+ [sym_struct_literal] = STATE(216),
+ [sym_structured_access_expression] = STATE(216),
+ [sym_json_literal] = STATE(216),
+ [sym_json_container_type] = STATE(147),
[aux_sym_source_repeat1] = STATE(2),
[sym_identifier] = ACTIONS(7),
[anon_sym_LBRACE] = ACTIONS(9),
- [anon_sym_RBRACE] = ACTIONS(163),
+ [anon_sym_RBRACE] = ACTIONS(166),
+ [sym_comment] = ACTIONS(3),
+ [anon_sym_inflight] = ACTIONS(11),
+ [anon_sym_bring] = ACTIONS(13),
+ [anon_sym_struct] = ACTIONS(15),
+ [anon_sym_enum] = ACTIONS(17),
+ [anon_sym_return] = ACTIONS(19),
+ [anon_sym_let] = ACTIONS(21),
+ [anon_sym_class] = ACTIONS(23),
+ [anon_sym_resource] = ACTIONS(25),
+ [anon_sym_interface] = ACTIONS(27),
+ [anon_sym_for] = ACTIONS(29),
+ [anon_sym_while] = ACTIONS(31),
+ [anon_sym_break] = ACTIONS(33),
+ [anon_sym_continue] = ACTIONS(35),
+ [anon_sym_if] = ACTIONS(37),
+ [anon_sym_try] = ACTIONS(39),
+ [anon_sym_0] = ACTIONS(41),
+ [aux_sym__integer_token1] = ACTIONS(41),
+ [aux_sym__decimal_token1] = ACTIONS(43),
+ [aux_sym__decimal_token2] = ACTIONS(43),
+ [anon_sym_true] = ACTIONS(45),
+ [anon_sym_false] = ACTIONS(45),
+ [anon_sym_DQUOTE] = ACTIONS(47),
+ [anon_sym_LPAREN] = ACTIONS(49),
+ [anon_sym_new] = ACTIONS(51),
+ [anon_sym_Array] = ACTIONS(53),
+ [anon_sym_Set] = ACTIONS(53),
+ [anon_sym_Map] = ACTIONS(53),
+ [anon_sym_Promise] = ACTIONS(53),
+ [anon_sym_MutSet] = ACTIONS(55),
+ [anon_sym_MutMap] = ACTIONS(55),
+ [anon_sym_MutArray] = ACTIONS(55),
+ [anon_sym_DASH_DASH] = ACTIONS(57),
+ [anon_sym_DASH] = ACTIONS(59),
+ [anon_sym_BANG] = ACTIONS(57),
+ [anon_sym_await] = ACTIONS(61),
+ [anon_sym_defer] = ACTIONS(63),
+ [anon_sym_LBRACK] = ACTIONS(65),
+ [anon_sym_Json] = ACTIONS(67),
+ [anon_sym_MutJson] = ACTIONS(67),
+ },
+ [5] = {
+ [sym_reference] = STATE(293),
+ [sym_custom_type] = STATE(715),
+ [sym_nested_identifier] = STATE(166),
+ [sym__statement] = STATE(4),
+ [sym_short_import_statement] = STATE(4),
+ [sym_struct_definition] = STATE(4),
+ [sym_enum_definition] = STATE(4),
+ [sym_return_statement] = STATE(4),
+ [sym_variable_assignment_statement] = STATE(4),
+ [sym_expression_statement] = STATE(4),
+ [sym_variable_definition_statement] = STATE(4),
+ [sym_class_definition] = STATE(4),
+ [sym_resource_definition] = STATE(4),
+ [sym_interface_definition] = STATE(4),
+ [sym_for_in_loop] = STATE(4),
+ [sym_while_statement] = STATE(4),
+ [sym_break_statement] = STATE(4),
+ [sym_continue_statement] = STATE(4),
+ [sym_if_statement] = STATE(4),
+ [sym_try_catch_statement] = STATE(4),
+ [sym_expression] = STATE(295),
+ [sym__literal] = STATE(216),
+ [sym_number] = STATE(158),
+ [sym__integer] = STATE(159),
+ [sym__decimal] = STATE(159),
+ [sym_bool] = STATE(218),
+ [sym_duration] = STATE(218),
+ [sym_seconds] = STATE(177),
+ [sym_minutes] = STATE(177),
+ [sym_hours] = STATE(177),
+ [sym_string] = STATE(218),
+ [sym_call] = STATE(216),
+ [sym_new_expression] = STATE(216),
+ [sym_parameter_list] = STATE(503),
+ [sym_immutable_container_type] = STATE(597),
+ [sym_mutable_container_type] = STATE(597),
+ [sym__builtin_container_type] = STATE(597),
+ [sym_unary_expression] = STATE(216),
+ [sym_binary_expression] = STATE(216),
+ [sym_preflight_closure] = STATE(216),
+ [sym_inflight_closure] = STATE(216),
+ [sym_await_expression] = STATE(216),
+ [sym_defer_expression] = STATE(216),
+ [sym_parenthesized_expression] = STATE(216),
+ [sym__collection_literal] = STATE(216),
+ [sym_array_literal] = STATE(216),
+ [sym_set_literal] = STATE(216),
+ [sym_map_literal] = STATE(216),
+ [sym_struct_literal] = STATE(216),
+ [sym_structured_access_expression] = STATE(216),
+ [sym_json_literal] = STATE(216),
+ [sym_json_container_type] = STATE(147),
+ [aux_sym_source_repeat1] = STATE(4),
+ [sym_identifier] = ACTIONS(7),
+ [anon_sym_LBRACE] = ACTIONS(9),
+ [anon_sym_RBRACE] = ACTIONS(168),
[sym_comment] = ACTIONS(3),
[anon_sym_inflight] = ACTIONS(11),
[anon_sym_bring] = ACTIONS(13),
@@ -5050,93 +5595,95 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
[anon_sym_let] = ACTIONS(21),
[anon_sym_class] = ACTIONS(23),
[anon_sym_resource] = ACTIONS(25),
- [anon_sym_for] = ACTIONS(27),
- [anon_sym_while] = ACTIONS(29),
- [anon_sym_break] = ACTIONS(31),
- [anon_sym_continue] = ACTIONS(33),
- [anon_sym_if] = ACTIONS(35),
- [anon_sym_try] = ACTIONS(37),
- [anon_sym_0] = ACTIONS(39),
- [aux_sym__integer_token1] = ACTIONS(39),
- [aux_sym__decimal_token1] = ACTIONS(41),
- [aux_sym__decimal_token2] = ACTIONS(41),
- [anon_sym_true] = ACTIONS(43),
- [anon_sym_false] = ACTIONS(43),
- [anon_sym_DQUOTE] = ACTIONS(45),
- [anon_sym_LPAREN] = ACTIONS(47),
- [anon_sym_new] = ACTIONS(49),
- [anon_sym_Array] = ACTIONS(51),
- [anon_sym_Set] = ACTIONS(51),
- [anon_sym_Map] = ACTIONS(51),
- [anon_sym_Promise] = ACTIONS(51),
- [anon_sym_MutSet] = ACTIONS(53),
- [anon_sym_MutMap] = ACTIONS(53),
- [anon_sym_MutArray] = ACTIONS(53),
- [anon_sym_DASH_DASH] = ACTIONS(55),
- [anon_sym_DASH] = ACTIONS(57),
- [anon_sym_BANG] = ACTIONS(55),
- [anon_sym_await] = ACTIONS(59),
- [anon_sym_defer] = ACTIONS(61),
- [anon_sym_LBRACK] = ACTIONS(63),
- [anon_sym_Json] = ACTIONS(65),
- [anon_sym_MutJson] = ACTIONS(65),
+ [anon_sym_interface] = ACTIONS(27),
+ [anon_sym_for] = ACTIONS(29),
+ [anon_sym_while] = ACTIONS(31),
+ [anon_sym_break] = ACTIONS(33),
+ [anon_sym_continue] = ACTIONS(35),
+ [anon_sym_if] = ACTIONS(37),
+ [anon_sym_try] = ACTIONS(39),
+ [anon_sym_0] = ACTIONS(41),
+ [aux_sym__integer_token1] = ACTIONS(41),
+ [aux_sym__decimal_token1] = ACTIONS(43),
+ [aux_sym__decimal_token2] = ACTIONS(43),
+ [anon_sym_true] = ACTIONS(45),
+ [anon_sym_false] = ACTIONS(45),
+ [anon_sym_DQUOTE] = ACTIONS(47),
+ [anon_sym_LPAREN] = ACTIONS(49),
+ [anon_sym_new] = ACTIONS(51),
+ [anon_sym_Array] = ACTIONS(53),
+ [anon_sym_Set] = ACTIONS(53),
+ [anon_sym_Map] = ACTIONS(53),
+ [anon_sym_Promise] = ACTIONS(53),
+ [anon_sym_MutSet] = ACTIONS(55),
+ [anon_sym_MutMap] = ACTIONS(55),
+ [anon_sym_MutArray] = ACTIONS(55),
+ [anon_sym_DASH_DASH] = ACTIONS(57),
+ [anon_sym_DASH] = ACTIONS(59),
+ [anon_sym_BANG] = ACTIONS(57),
+ [anon_sym_await] = ACTIONS(61),
+ [anon_sym_defer] = ACTIONS(63),
+ [anon_sym_LBRACK] = ACTIONS(65),
+ [anon_sym_Json] = ACTIONS(67),
+ [anon_sym_MutJson] = ACTIONS(67),
},
[6] = {
- [sym_reference] = STATE(276),
- [sym_custom_type] = STATE(597),
- [sym_nested_identifier] = STATE(149),
- [sym__statement] = STATE(7),
- [sym_short_import_statement] = STATE(7),
- [sym_struct_definition] = STATE(7),
- [sym_enum_definition] = STATE(7),
- [sym_return_statement] = STATE(7),
- [sym_variable_assignment_statement] = STATE(7),
- [sym_expression_statement] = STATE(7),
- [sym_variable_definition_statement] = STATE(7),
- [sym_class_definition] = STATE(7),
- [sym_resource_definition] = STATE(7),
- [sym_for_in_loop] = STATE(7),
- [sym_while_statement] = STATE(7),
- [sym_break_statement] = STATE(7),
- [sym_continue_statement] = STATE(7),
- [sym_if_statement] = STATE(7),
- [sym_try_catch_statement] = STATE(7),
- [sym_expression] = STATE(272),
- [sym__literal] = STATE(158),
- [sym_number] = STATE(133),
- [sym__integer] = STATE(144),
- [sym__decimal] = STATE(144),
- [sym_bool] = STATE(187),
- [sym_duration] = STATE(187),
- [sym_seconds] = STATE(189),
- [sym_minutes] = STATE(189),
- [sym_hours] = STATE(189),
- [sym_string] = STATE(187),
- [sym_call] = STATE(158),
- [sym_new_expression] = STATE(158),
- [sym_parameter_list] = STATE(422),
- [sym_immutable_container_type] = STATE(513),
- [sym_mutable_container_type] = STATE(513),
- [sym__builtin_container_type] = STATE(513),
- [sym_unary_expression] = STATE(158),
- [sym_binary_expression] = STATE(158),
- [sym_preflight_closure] = STATE(158),
- [sym_inflight_closure] = STATE(158),
- [sym_await_expression] = STATE(158),
- [sym_defer_expression] = STATE(158),
- [sym_parenthesized_expression] = STATE(158),
- [sym__collection_literal] = STATE(158),
- [sym_array_literal] = STATE(158),
- [sym_set_literal] = STATE(158),
- [sym_map_literal] = STATE(158),
- [sym_struct_literal] = STATE(158),
- [sym_structured_access_expression] = STATE(158),
- [sym_json_literal] = STATE(158),
- [sym_json_container_type] = STATE(129),
- [aux_sym_source_repeat1] = STATE(7),
+ [sym_reference] = STATE(293),
+ [sym_custom_type] = STATE(715),
+ [sym_nested_identifier] = STATE(166),
+ [sym__statement] = STATE(3),
+ [sym_short_import_statement] = STATE(3),
+ [sym_struct_definition] = STATE(3),
+ [sym_enum_definition] = STATE(3),
+ [sym_return_statement] = STATE(3),
+ [sym_variable_assignment_statement] = STATE(3),
+ [sym_expression_statement] = STATE(3),
+ [sym_variable_definition_statement] = STATE(3),
+ [sym_class_definition] = STATE(3),
+ [sym_resource_definition] = STATE(3),
+ [sym_interface_definition] = STATE(3),
+ [sym_for_in_loop] = STATE(3),
+ [sym_while_statement] = STATE(3),
+ [sym_break_statement] = STATE(3),
+ [sym_continue_statement] = STATE(3),
+ [sym_if_statement] = STATE(3),
+ [sym_try_catch_statement] = STATE(3),
+ [sym_expression] = STATE(295),
+ [sym__literal] = STATE(216),
+ [sym_number] = STATE(158),
+ [sym__integer] = STATE(159),
+ [sym__decimal] = STATE(159),
+ [sym_bool] = STATE(218),
+ [sym_duration] = STATE(218),
+ [sym_seconds] = STATE(177),
+ [sym_minutes] = STATE(177),
+ [sym_hours] = STATE(177),
+ [sym_string] = STATE(218),
+ [sym_call] = STATE(216),
+ [sym_new_expression] = STATE(216),
+ [sym_parameter_list] = STATE(503),
+ [sym_immutable_container_type] = STATE(597),
+ [sym_mutable_container_type] = STATE(597),
+ [sym__builtin_container_type] = STATE(597),
+ [sym_unary_expression] = STATE(216),
+ [sym_binary_expression] = STATE(216),
+ [sym_preflight_closure] = STATE(216),
+ [sym_inflight_closure] = STATE(216),
+ [sym_await_expression] = STATE(216),
+ [sym_defer_expression] = STATE(216),
+ [sym_parenthesized_expression] = STATE(216),
+ [sym__collection_literal] = STATE(216),
+ [sym_array_literal] = STATE(216),
+ [sym_set_literal] = STATE(216),
+ [sym_map_literal] = STATE(216),
+ [sym_struct_literal] = STATE(216),
+ [sym_structured_access_expression] = STATE(216),
+ [sym_json_literal] = STATE(216),
+ [sym_json_container_type] = STATE(147),
+ [aux_sym_source_repeat1] = STATE(3),
[sym_identifier] = ACTIONS(7),
[anon_sym_LBRACE] = ACTIONS(9),
- [anon_sym_RBRACE] = ACTIONS(165),
+ [anon_sym_RBRACE] = ACTIONS(170),
[sym_comment] = ACTIONS(3),
[anon_sym_inflight] = ACTIONS(11),
[anon_sym_bring] = ACTIONS(13),
@@ -5146,41 +5693,42 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
[anon_sym_let] = ACTIONS(21),
[anon_sym_class] = ACTIONS(23),
[anon_sym_resource] = ACTIONS(25),
- [anon_sym_for] = ACTIONS(27),
- [anon_sym_while] = ACTIONS(29),
- [anon_sym_break] = ACTIONS(31),
- [anon_sym_continue] = ACTIONS(33),
- [anon_sym_if] = ACTIONS(35),
- [anon_sym_try] = ACTIONS(37),
- [anon_sym_0] = ACTIONS(39),
- [aux_sym__integer_token1] = ACTIONS(39),
- [aux_sym__decimal_token1] = ACTIONS(41),
- [aux_sym__decimal_token2] = ACTIONS(41),
- [anon_sym_true] = ACTIONS(43),
- [anon_sym_false] = ACTIONS(43),
- [anon_sym_DQUOTE] = ACTIONS(45),
- [anon_sym_LPAREN] = ACTIONS(47),
- [anon_sym_new] = ACTIONS(49),
- [anon_sym_Array] = ACTIONS(51),
- [anon_sym_Set] = ACTIONS(51),
- [anon_sym_Map] = ACTIONS(51),
- [anon_sym_Promise] = ACTIONS(51),
- [anon_sym_MutSet] = ACTIONS(53),
- [anon_sym_MutMap] = ACTIONS(53),
- [anon_sym_MutArray] = ACTIONS(53),
- [anon_sym_DASH_DASH] = ACTIONS(55),
- [anon_sym_DASH] = ACTIONS(57),
- [anon_sym_BANG] = ACTIONS(55),
- [anon_sym_await] = ACTIONS(59),
- [anon_sym_defer] = ACTIONS(61),
- [anon_sym_LBRACK] = ACTIONS(63),
- [anon_sym_Json] = ACTIONS(65),
- [anon_sym_MutJson] = ACTIONS(65),
+ [anon_sym_interface] = ACTIONS(27),
+ [anon_sym_for] = ACTIONS(29),
+ [anon_sym_while] = ACTIONS(31),
+ [anon_sym_break] = ACTIONS(33),
+ [anon_sym_continue] = ACTIONS(35),
+ [anon_sym_if] = ACTIONS(37),
+ [anon_sym_try] = ACTIONS(39),
+ [anon_sym_0] = ACTIONS(41),
+ [aux_sym__integer_token1] = ACTIONS(41),
+ [aux_sym__decimal_token1] = ACTIONS(43),
+ [aux_sym__decimal_token2] = ACTIONS(43),
+ [anon_sym_true] = ACTIONS(45),
+ [anon_sym_false] = ACTIONS(45),
+ [anon_sym_DQUOTE] = ACTIONS(47),
+ [anon_sym_LPAREN] = ACTIONS(49),
+ [anon_sym_new] = ACTIONS(51),
+ [anon_sym_Array] = ACTIONS(53),
+ [anon_sym_Set] = ACTIONS(53),
+ [anon_sym_Map] = ACTIONS(53),
+ [anon_sym_Promise] = ACTIONS(53),
+ [anon_sym_MutSet] = ACTIONS(55),
+ [anon_sym_MutMap] = ACTIONS(55),
+ [anon_sym_MutArray] = ACTIONS(55),
+ [anon_sym_DASH_DASH] = ACTIONS(57),
+ [anon_sym_DASH] = ACTIONS(59),
+ [anon_sym_BANG] = ACTIONS(57),
+ [anon_sym_await] = ACTIONS(61),
+ [anon_sym_defer] = ACTIONS(63),
+ [anon_sym_LBRACK] = ACTIONS(65),
+ [anon_sym_Json] = ACTIONS(67),
+ [anon_sym_MutJson] = ACTIONS(67),
},
[7] = {
- [sym_reference] = STATE(276),
- [sym_custom_type] = STATE(597),
- [sym_nested_identifier] = STATE(149),
+ [sym_reference] = STATE(293),
+ [sym_custom_type] = STATE(715),
+ [sym_nested_identifier] = STATE(166),
[sym__statement] = STATE(2),
[sym_short_import_statement] = STATE(2),
[sym_struct_definition] = STATE(2),
@@ -5191,48 +5739,49 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
[sym_variable_definition_statement] = STATE(2),
[sym_class_definition] = STATE(2),
[sym_resource_definition] = STATE(2),
+ [sym_interface_definition] = STATE(2),
[sym_for_in_loop] = STATE(2),
[sym_while_statement] = STATE(2),
[sym_break_statement] = STATE(2),
[sym_continue_statement] = STATE(2),
[sym_if_statement] = STATE(2),
[sym_try_catch_statement] = STATE(2),
- [sym_expression] = STATE(272),
- [sym__literal] = STATE(158),
- [sym_number] = STATE(133),
- [sym__integer] = STATE(144),
- [sym__decimal] = STATE(144),
- [sym_bool] = STATE(187),
- [sym_duration] = STATE(187),
- [sym_seconds] = STATE(189),
- [sym_minutes] = STATE(189),
- [sym_hours] = STATE(189),
- [sym_string] = STATE(187),
- [sym_call] = STATE(158),
- [sym_new_expression] = STATE(158),
- [sym_parameter_list] = STATE(422),
- [sym_immutable_container_type] = STATE(513),
- [sym_mutable_container_type] = STATE(513),
- [sym__builtin_container_type] = STATE(513),
- [sym_unary_expression] = STATE(158),
- [sym_binary_expression] = STATE(158),
- [sym_preflight_closure] = STATE(158),
- [sym_inflight_closure] = STATE(158),
- [sym_await_expression] = STATE(158),
- [sym_defer_expression] = STATE(158),
- [sym_parenthesized_expression] = STATE(158),
- [sym__collection_literal] = STATE(158),
- [sym_array_literal] = STATE(158),
- [sym_set_literal] = STATE(158),
- [sym_map_literal] = STATE(158),
- [sym_struct_literal] = STATE(158),
- [sym_structured_access_expression] = STATE(158),
- [sym_json_literal] = STATE(158),
- [sym_json_container_type] = STATE(129),
+ [sym_expression] = STATE(295),
+ [sym__literal] = STATE(216),
+ [sym_number] = STATE(158),
+ [sym__integer] = STATE(159),
+ [sym__decimal] = STATE(159),
+ [sym_bool] = STATE(218),
+ [sym_duration] = STATE(218),
+ [sym_seconds] = STATE(177),
+ [sym_minutes] = STATE(177),
+ [sym_hours] = STATE(177),
+ [sym_string] = STATE(218),
+ [sym_call] = STATE(216),
+ [sym_new_expression] = STATE(216),
+ [sym_parameter_list] = STATE(503),
+ [sym_immutable_container_type] = STATE(597),
+ [sym_mutable_container_type] = STATE(597),
+ [sym__builtin_container_type] = STATE(597),
+ [sym_unary_expression] = STATE(216),
+ [sym_binary_expression] = STATE(216),
+ [sym_preflight_closure] = STATE(216),
+ [sym_inflight_closure] = STATE(216),
+ [sym_await_expression] = STATE(216),
+ [sym_defer_expression] = STATE(216),
+ [sym_parenthesized_expression] = STATE(216),
+ [sym__collection_literal] = STATE(216),
+ [sym_array_literal] = STATE(216),
+ [sym_set_literal] = STATE(216),
+ [sym_map_literal] = STATE(216),
+ [sym_struct_literal] = STATE(216),
+ [sym_structured_access_expression] = STATE(216),
+ [sym_json_literal] = STATE(216),
+ [sym_json_container_type] = STATE(147),
[aux_sym_source_repeat1] = STATE(2),
+ [ts_builtin_sym_end] = ACTIONS(172),
[sym_identifier] = ACTIONS(7),
[anon_sym_LBRACE] = ACTIONS(9),
- [anon_sym_RBRACE] = ACTIONS(167),
[sym_comment] = ACTIONS(3),
[anon_sym_inflight] = ACTIONS(11),
[anon_sym_bring] = ACTIONS(13),
@@ -5242,445 +5791,446 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
[anon_sym_let] = ACTIONS(21),
[anon_sym_class] = ACTIONS(23),
[anon_sym_resource] = ACTIONS(25),
- [anon_sym_for] = ACTIONS(27),
- [anon_sym_while] = ACTIONS(29),
- [anon_sym_break] = ACTIONS(31),
- [anon_sym_continue] = ACTIONS(33),
- [anon_sym_if] = ACTIONS(35),
- [anon_sym_try] = ACTIONS(37),
- [anon_sym_0] = ACTIONS(39),
- [aux_sym__integer_token1] = ACTIONS(39),
- [aux_sym__decimal_token1] = ACTIONS(41),
- [aux_sym__decimal_token2] = ACTIONS(41),
- [anon_sym_true] = ACTIONS(43),
- [anon_sym_false] = ACTIONS(43),
- [anon_sym_DQUOTE] = ACTIONS(45),
- [anon_sym_LPAREN] = ACTIONS(47),
- [anon_sym_new] = ACTIONS(49),
- [anon_sym_Array] = ACTIONS(51),
- [anon_sym_Set] = ACTIONS(51),
- [anon_sym_Map] = ACTIONS(51),
- [anon_sym_Promise] = ACTIONS(51),
- [anon_sym_MutSet] = ACTIONS(53),
- [anon_sym_MutMap] = ACTIONS(53),
- [anon_sym_MutArray] = ACTIONS(53),
- [anon_sym_DASH_DASH] = ACTIONS(55),
- [anon_sym_DASH] = ACTIONS(57),
- [anon_sym_BANG] = ACTIONS(55),
- [anon_sym_await] = ACTIONS(59),
- [anon_sym_defer] = ACTIONS(61),
- [anon_sym_LBRACK] = ACTIONS(63),
- [anon_sym_Json] = ACTIONS(65),
- [anon_sym_MutJson] = ACTIONS(65),
+ [anon_sym_interface] = ACTIONS(27),
+ [anon_sym_for] = ACTIONS(29),
+ [anon_sym_while] = ACTIONS(31),
+ [anon_sym_break] = ACTIONS(33),
+ [anon_sym_continue] = ACTIONS(35),
+ [anon_sym_if] = ACTIONS(37),
+ [anon_sym_try] = ACTIONS(39),
+ [anon_sym_0] = ACTIONS(41),
+ [aux_sym__integer_token1] = ACTIONS(41),
+ [aux_sym__decimal_token1] = ACTIONS(43),
+ [aux_sym__decimal_token2] = ACTIONS(43),
+ [anon_sym_true] = ACTIONS(45),
+ [anon_sym_false] = ACTIONS(45),
+ [anon_sym_DQUOTE] = ACTIONS(47),
+ [anon_sym_LPAREN] = ACTIONS(49),
+ [anon_sym_new] = ACTIONS(51),
+ [anon_sym_Array] = ACTIONS(53),
+ [anon_sym_Set] = ACTIONS(53),
+ [anon_sym_Map] = ACTIONS(53),
+ [anon_sym_Promise] = ACTIONS(53),
+ [anon_sym_MutSet] = ACTIONS(55),
+ [anon_sym_MutMap] = ACTIONS(55),
+ [anon_sym_MutArray] = ACTIONS(55),
+ [anon_sym_DASH_DASH] = ACTIONS(57),
+ [anon_sym_DASH] = ACTIONS(59),
+ [anon_sym_BANG] = ACTIONS(57),
+ [anon_sym_await] = ACTIONS(61),
+ [anon_sym_defer] = ACTIONS(63),
+ [anon_sym_LBRACK] = ACTIONS(65),
+ [anon_sym_Json] = ACTIONS(67),
+ [anon_sym_MutJson] = ACTIONS(67),
},
[8] = {
- [sym_reference] = STATE(158),
- [sym_custom_type] = STATE(597),
- [sym_nested_identifier] = STATE(149),
- [sym_expression] = STATE(233),
- [sym__literal] = STATE(158),
- [sym_number] = STATE(133),
- [sym__integer] = STATE(144),
- [sym__decimal] = STATE(144),
- [sym_bool] = STATE(187),
- [sym_duration] = STATE(187),
- [sym_seconds] = STATE(189),
- [sym_minutes] = STATE(189),
- [sym_hours] = STATE(189),
- [sym_string] = STATE(187),
- [sym_call] = STATE(158),
- [sym_positional_argument] = STATE(483),
- [sym_keyword_argument] = STATE(427),
- [sym_new_expression] = STATE(158),
- [sym_parameter_list] = STATE(422),
- [sym_immutable_container_type] = STATE(513),
- [sym_mutable_container_type] = STATE(513),
- [sym__builtin_container_type] = STATE(513),
- [sym_unary_expression] = STATE(158),
- [sym_binary_expression] = STATE(158),
- [sym_preflight_closure] = STATE(158),
- [sym_inflight_closure] = STATE(158),
- [sym_await_expression] = STATE(158),
- [sym_defer_expression] = STATE(158),
- [sym_parenthesized_expression] = STATE(158),
- [sym__collection_literal] = STATE(158),
- [sym_array_literal] = STATE(158),
- [sym_set_literal] = STATE(158),
- [sym_map_literal] = STATE(158),
- [sym_struct_literal] = STATE(158),
- [sym_structured_access_expression] = STATE(158),
- [sym_json_literal] = STATE(158),
- [sym_json_container_type] = STATE(129),
- [sym_identifier] = ACTIONS(169),
+ [sym_reference] = STATE(216),
+ [sym_custom_type] = STATE(715),
+ [sym_nested_identifier] = STATE(166),
+ [sym_expression] = STATE(255),
+ [sym__literal] = STATE(216),
+ [sym_number] = STATE(158),
+ [sym__integer] = STATE(159),
+ [sym__decimal] = STATE(159),
+ [sym_bool] = STATE(218),
+ [sym_duration] = STATE(218),
+ [sym_seconds] = STATE(177),
+ [sym_minutes] = STATE(177),
+ [sym_hours] = STATE(177),
+ [sym_string] = STATE(218),
+ [sym_call] = STATE(216),
+ [sym_positional_argument] = STATE(547),
+ [sym_keyword_argument] = STATE(548),
+ [sym_new_expression] = STATE(216),
+ [sym_parameter_list] = STATE(503),
+ [sym_immutable_container_type] = STATE(597),
+ [sym_mutable_container_type] = STATE(597),
+ [sym__builtin_container_type] = STATE(597),
+ [sym_unary_expression] = STATE(216),
+ [sym_binary_expression] = STATE(216),
+ [sym_preflight_closure] = STATE(216),
+ [sym_inflight_closure] = STATE(216),
+ [sym_await_expression] = STATE(216),
+ [sym_defer_expression] = STATE(216),
+ [sym_parenthesized_expression] = STATE(216),
+ [sym__collection_literal] = STATE(216),
+ [sym_array_literal] = STATE(216),
+ [sym_set_literal] = STATE(216),
+ [sym_map_literal] = STATE(216),
+ [sym_struct_literal] = STATE(216),
+ [sym_structured_access_expression] = STATE(216),
+ [sym_json_literal] = STATE(216),
+ [sym_json_container_type] = STATE(147),
+ [sym_identifier] = ACTIONS(174),
[anon_sym_LBRACE] = ACTIONS(9),
[sym_comment] = ACTIONS(3),
[anon_sym_inflight] = ACTIONS(11),
- [anon_sym_COMMA] = ACTIONS(171),
- [anon_sym_0] = ACTIONS(39),
- [aux_sym__integer_token1] = ACTIONS(39),
- [aux_sym__decimal_token1] = ACTIONS(41),
- [aux_sym__decimal_token2] = ACTIONS(41),
- [anon_sym_true] = ACTIONS(43),
- [anon_sym_false] = ACTIONS(43),
- [anon_sym_DQUOTE] = ACTIONS(45),
- [anon_sym_LPAREN] = ACTIONS(47),
- [anon_sym_RPAREN] = ACTIONS(173),
- [anon_sym_new] = ACTIONS(49),
- [anon_sym_Array] = ACTIONS(51),
- [anon_sym_Set] = ACTIONS(51),
- [anon_sym_Map] = ACTIONS(51),
- [anon_sym_Promise] = ACTIONS(51),
- [anon_sym_MutSet] = ACTIONS(53),
- [anon_sym_MutMap] = ACTIONS(53),
- [anon_sym_MutArray] = ACTIONS(53),
- [anon_sym_DASH_DASH] = ACTIONS(55),
- [anon_sym_DASH] = ACTIONS(57),
- [anon_sym_BANG] = ACTIONS(55),
- [anon_sym_await] = ACTIONS(59),
- [anon_sym_defer] = ACTIONS(61),
- [anon_sym_LBRACK] = ACTIONS(63),
- [anon_sym_Json] = ACTIONS(65),
- [anon_sym_MutJson] = ACTIONS(65),
+ [anon_sym_COMMA] = ACTIONS(176),
+ [anon_sym_0] = ACTIONS(41),
+ [aux_sym__integer_token1] = ACTIONS(41),
+ [aux_sym__decimal_token1] = ACTIONS(43),
+ [aux_sym__decimal_token2] = ACTIONS(43),
+ [anon_sym_true] = ACTIONS(45),
+ [anon_sym_false] = ACTIONS(45),
+ [anon_sym_DQUOTE] = ACTIONS(47),
+ [anon_sym_LPAREN] = ACTIONS(49),
+ [anon_sym_RPAREN] = ACTIONS(178),
+ [anon_sym_new] = ACTIONS(51),
+ [anon_sym_Array] = ACTIONS(53),
+ [anon_sym_Set] = ACTIONS(53),
+ [anon_sym_Map] = ACTIONS(53),
+ [anon_sym_Promise] = ACTIONS(53),
+ [anon_sym_MutSet] = ACTIONS(55),
+ [anon_sym_MutMap] = ACTIONS(55),
+ [anon_sym_MutArray] = ACTIONS(55),
+ [anon_sym_DASH_DASH] = ACTIONS(57),
+ [anon_sym_DASH] = ACTIONS(59),
+ [anon_sym_BANG] = ACTIONS(57),
+ [anon_sym_await] = ACTIONS(61),
+ [anon_sym_defer] = ACTIONS(63),
+ [anon_sym_LBRACK] = ACTIONS(65),
+ [anon_sym_Json] = ACTIONS(67),
+ [anon_sym_MutJson] = ACTIONS(67),
},
[9] = {
- [sym_reference] = STATE(158),
- [sym_custom_type] = STATE(597),
- [sym_nested_identifier] = STATE(149),
- [sym_expression] = STATE(233),
- [sym__literal] = STATE(158),
- [sym_number] = STATE(133),
- [sym__integer] = STATE(144),
- [sym__decimal] = STATE(144),
- [sym_bool] = STATE(187),
- [sym_duration] = STATE(187),
- [sym_seconds] = STATE(189),
- [sym_minutes] = STATE(189),
- [sym_hours] = STATE(189),
- [sym_string] = STATE(187),
- [sym_call] = STATE(158),
- [sym_positional_argument] = STATE(483),
- [sym_keyword_argument] = STATE(462),
- [sym_new_expression] = STATE(158),
- [sym_parameter_list] = STATE(422),
- [sym_immutable_container_type] = STATE(513),
- [sym_mutable_container_type] = STATE(513),
- [sym__builtin_container_type] = STATE(513),
- [sym_unary_expression] = STATE(158),
- [sym_binary_expression] = STATE(158),
- [sym_preflight_closure] = STATE(158),
- [sym_inflight_closure] = STATE(158),
- [sym_await_expression] = STATE(158),
- [sym_defer_expression] = STATE(158),
- [sym_parenthesized_expression] = STATE(158),
- [sym__collection_literal] = STATE(158),
- [sym_array_literal] = STATE(158),
- [sym_set_literal] = STATE(158),
- [sym_map_literal] = STATE(158),
- [sym_struct_literal] = STATE(158),
- [sym_structured_access_expression] = STATE(158),
- [sym_json_literal] = STATE(158),
- [sym_json_container_type] = STATE(129),
- [sym_identifier] = ACTIONS(169),
+ [sym_reference] = STATE(216),
+ [sym_custom_type] = STATE(715),
+ [sym_nested_identifier] = STATE(166),
+ [sym_expression] = STATE(255),
+ [sym__literal] = STATE(216),
+ [sym_number] = STATE(158),
+ [sym__integer] = STATE(159),
+ [sym__decimal] = STATE(159),
+ [sym_bool] = STATE(218),
+ [sym_duration] = STATE(218),
+ [sym_seconds] = STATE(177),
+ [sym_minutes] = STATE(177),
+ [sym_hours] = STATE(177),
+ [sym_string] = STATE(218),
+ [sym_call] = STATE(216),
+ [sym_positional_argument] = STATE(572),
+ [sym_keyword_argument] = STATE(532),
+ [sym_new_expression] = STATE(216),
+ [sym_parameter_list] = STATE(503),
+ [sym_immutable_container_type] = STATE(597),
+ [sym_mutable_container_type] = STATE(597),
+ [sym__builtin_container_type] = STATE(597),
+ [sym_unary_expression] = STATE(216),
+ [sym_binary_expression] = STATE(216),
+ [sym_preflight_closure] = STATE(216),
+ [sym_inflight_closure] = STATE(216),
+ [sym_await_expression] = STATE(216),
+ [sym_defer_expression] = STATE(216),
+ [sym_parenthesized_expression] = STATE(216),
+ [sym__collection_literal] = STATE(216),
+ [sym_array_literal] = STATE(216),
+ [sym_set_literal] = STATE(216),
+ [sym_map_literal] = STATE(216),
+ [sym_struct_literal] = STATE(216),
+ [sym_structured_access_expression] = STATE(216),
+ [sym_json_literal] = STATE(216),
+ [sym_json_container_type] = STATE(147),
+ [sym_identifier] = ACTIONS(174),
[anon_sym_LBRACE] = ACTIONS(9),
[sym_comment] = ACTIONS(3),
[anon_sym_inflight] = ACTIONS(11),
- [anon_sym_COMMA] = ACTIONS(175),
- [anon_sym_0] = ACTIONS(39),
- [aux_sym__integer_token1] = ACTIONS(39),
- [aux_sym__decimal_token1] = ACTIONS(41),
- [aux_sym__decimal_token2] = ACTIONS(41),
- [anon_sym_true] = ACTIONS(43),
- [anon_sym_false] = ACTIONS(43),
- [anon_sym_DQUOTE] = ACTIONS(45),
- [anon_sym_LPAREN] = ACTIONS(47),
- [anon_sym_RPAREN] = ACTIONS(177),
- [anon_sym_new] = ACTIONS(49),
- [anon_sym_Array] = ACTIONS(51),
- [anon_sym_Set] = ACTIONS(51),
- [anon_sym_Map] = ACTIONS(51),
- [anon_sym_Promise] = ACTIONS(51),
- [anon_sym_MutSet] = ACTIONS(53),
- [anon_sym_MutMap] = ACTIONS(53),
- [anon_sym_MutArray] = ACTIONS(53),
- [anon_sym_DASH_DASH] = ACTIONS(55),
- [anon_sym_DASH] = ACTIONS(57),
- [anon_sym_BANG] = ACTIONS(55),
- [anon_sym_await] = ACTIONS(59),
- [anon_sym_defer] = ACTIONS(61),
- [anon_sym_LBRACK] = ACTIONS(63),
- [anon_sym_Json] = ACTIONS(65),
- [anon_sym_MutJson] = ACTIONS(65),
+ [anon_sym_COMMA] = ACTIONS(180),
+ [anon_sym_0] = ACTIONS(41),
+ [aux_sym__integer_token1] = ACTIONS(41),
+ [aux_sym__decimal_token1] = ACTIONS(43),
+ [aux_sym__decimal_token2] = ACTIONS(43),
+ [anon_sym_true] = ACTIONS(45),
+ [anon_sym_false] = ACTIONS(45),
+ [anon_sym_DQUOTE] = ACTIONS(47),
+ [anon_sym_LPAREN] = ACTIONS(49),
+ [anon_sym_RPAREN] = ACTIONS(182),
+ [anon_sym_new] = ACTIONS(51),
+ [anon_sym_Array] = ACTIONS(53),
+ [anon_sym_Set] = ACTIONS(53),
+ [anon_sym_Map] = ACTIONS(53),
+ [anon_sym_Promise] = ACTIONS(53),
+ [anon_sym_MutSet] = ACTIONS(55),
+ [anon_sym_MutMap] = ACTIONS(55),
+ [anon_sym_MutArray] = ACTIONS(55),
+ [anon_sym_DASH_DASH] = ACTIONS(57),
+ [anon_sym_DASH] = ACTIONS(59),
+ [anon_sym_BANG] = ACTIONS(57),
+ [anon_sym_await] = ACTIONS(61),
+ [anon_sym_defer] = ACTIONS(63),
+ [anon_sym_LBRACK] = ACTIONS(65),
+ [anon_sym_Json] = ACTIONS(67),
+ [anon_sym_MutJson] = ACTIONS(67),
},
[10] = {
- [sym_reference] = STATE(158),
- [sym_custom_type] = STATE(597),
- [sym_nested_identifier] = STATE(149),
- [sym_expression] = STATE(233),
- [sym__literal] = STATE(158),
- [sym_number] = STATE(133),
- [sym__integer] = STATE(144),
- [sym__decimal] = STATE(144),
- [sym_bool] = STATE(187),
- [sym_duration] = STATE(187),
- [sym_seconds] = STATE(189),
- [sym_minutes] = STATE(189),
- [sym_hours] = STATE(189),
- [sym_string] = STATE(187),
- [sym_call] = STATE(158),
- [sym_positional_argument] = STATE(446),
- [sym_keyword_argument] = STATE(447),
- [sym_new_expression] = STATE(158),
- [sym_parameter_list] = STATE(422),
- [sym_immutable_container_type] = STATE(513),
- [sym_mutable_container_type] = STATE(513),
- [sym__builtin_container_type] = STATE(513),
- [sym_unary_expression] = STATE(158),
- [sym_binary_expression] = STATE(158),
- [sym_preflight_closure] = STATE(158),
- [sym_inflight_closure] = STATE(158),
- [sym_await_expression] = STATE(158),
- [sym_defer_expression] = STATE(158),
- [sym_parenthesized_expression] = STATE(158),
- [sym__collection_literal] = STATE(158),
- [sym_array_literal] = STATE(158),
- [sym_set_literal] = STATE(158),
- [sym_map_literal] = STATE(158),
- [sym_struct_literal] = STATE(158),
- [sym_structured_access_expression] = STATE(158),
- [sym_json_literal] = STATE(158),
- [sym_json_container_type] = STATE(129),
- [sym_identifier] = ACTIONS(169),
+ [sym_reference] = STATE(216),
+ [sym_custom_type] = STATE(715),
+ [sym_nested_identifier] = STATE(166),
+ [sym_expression] = STATE(255),
+ [sym__literal] = STATE(216),
+ [sym_number] = STATE(158),
+ [sym__integer] = STATE(159),
+ [sym__decimal] = STATE(159),
+ [sym_bool] = STATE(218),
+ [sym_duration] = STATE(218),
+ [sym_seconds] = STATE(177),
+ [sym_minutes] = STATE(177),
+ [sym_hours] = STATE(177),
+ [sym_string] = STATE(218),
+ [sym_call] = STATE(216),
+ [sym_positional_argument] = STATE(572),
+ [sym_keyword_argument] = STATE(522),
+ [sym_new_expression] = STATE(216),
+ [sym_parameter_list] = STATE(503),
+ [sym_immutable_container_type] = STATE(597),
+ [sym_mutable_container_type] = STATE(597),
+ [sym__builtin_container_type] = STATE(597),
+ [sym_unary_expression] = STATE(216),
+ [sym_binary_expression] = STATE(216),
+ [sym_preflight_closure] = STATE(216),
+ [sym_inflight_closure] = STATE(216),
+ [sym_await_expression] = STATE(216),
+ [sym_defer_expression] = STATE(216),
+ [sym_parenthesized_expression] = STATE(216),
+ [sym__collection_literal] = STATE(216),
+ [sym_array_literal] = STATE(216),
+ [sym_set_literal] = STATE(216),
+ [sym_map_literal] = STATE(216),
+ [sym_struct_literal] = STATE(216),
+ [sym_structured_access_expression] = STATE(216),
+ [sym_json_literal] = STATE(216),
+ [sym_json_container_type] = STATE(147),
+ [sym_identifier] = ACTIONS(174),
[anon_sym_LBRACE] = ACTIONS(9),
[sym_comment] = ACTIONS(3),
[anon_sym_inflight] = ACTIONS(11),
- [anon_sym_COMMA] = ACTIONS(179),
- [anon_sym_0] = ACTIONS(39),
- [aux_sym__integer_token1] = ACTIONS(39),
- [aux_sym__decimal_token1] = ACTIONS(41),
- [aux_sym__decimal_token2] = ACTIONS(41),
- [anon_sym_true] = ACTIONS(43),
- [anon_sym_false] = ACTIONS(43),
- [anon_sym_DQUOTE] = ACTIONS(45),
- [anon_sym_LPAREN] = ACTIONS(47),
- [anon_sym_RPAREN] = ACTIONS(181),
- [anon_sym_new] = ACTIONS(49),
- [anon_sym_Array] = ACTIONS(51),
- [anon_sym_Set] = ACTIONS(51),
- [anon_sym_Map] = ACTIONS(51),
- [anon_sym_Promise] = ACTIONS(51),
- [anon_sym_MutSet] = ACTIONS(53),
- [anon_sym_MutMap] = ACTIONS(53),
- [anon_sym_MutArray] = ACTIONS(53),
- [anon_sym_DASH_DASH] = ACTIONS(55),
- [anon_sym_DASH] = ACTIONS(57),
- [anon_sym_BANG] = ACTIONS(55),
- [anon_sym_await] = ACTIONS(59),
- [anon_sym_defer] = ACTIONS(61),
- [anon_sym_LBRACK] = ACTIONS(63),
- [anon_sym_Json] = ACTIONS(65),
- [anon_sym_MutJson] = ACTIONS(65),
+ [anon_sym_COMMA] = ACTIONS(184),
+ [anon_sym_0] = ACTIONS(41),
+ [aux_sym__integer_token1] = ACTIONS(41),
+ [aux_sym__decimal_token1] = ACTIONS(43),
+ [aux_sym__decimal_token2] = ACTIONS(43),
+ [anon_sym_true] = ACTIONS(45),
+ [anon_sym_false] = ACTIONS(45),
+ [anon_sym_DQUOTE] = ACTIONS(47),
+ [anon_sym_LPAREN] = ACTIONS(49),
+ [anon_sym_RPAREN] = ACTIONS(186),
+ [anon_sym_new] = ACTIONS(51),
+ [anon_sym_Array] = ACTIONS(53),
+ [anon_sym_Set] = ACTIONS(53),
+ [anon_sym_Map] = ACTIONS(53),
+ [anon_sym_Promise] = ACTIONS(53),
+ [anon_sym_MutSet] = ACTIONS(55),
+ [anon_sym_MutMap] = ACTIONS(55),
+ [anon_sym_MutArray] = ACTIONS(55),
+ [anon_sym_DASH_DASH] = ACTIONS(57),
+ [anon_sym_DASH] = ACTIONS(59),
+ [anon_sym_BANG] = ACTIONS(57),
+ [anon_sym_await] = ACTIONS(61),
+ [anon_sym_defer] = ACTIONS(63),
+ [anon_sym_LBRACK] = ACTIONS(65),
+ [anon_sym_Json] = ACTIONS(67),
+ [anon_sym_MutJson] = ACTIONS(67),
},
[11] = {
- [sym_reference] = STATE(158),
- [sym_custom_type] = STATE(597),
- [sym_nested_identifier] = STATE(149),
- [sym_expression] = STATE(243),
- [sym__literal] = STATE(158),
- [sym_number] = STATE(133),
- [sym__integer] = STATE(144),
- [sym__decimal] = STATE(144),
- [sym_bool] = STATE(187),
- [sym_duration] = STATE(187),
- [sym_seconds] = STATE(189),
- [sym_minutes] = STATE(189),
- [sym_hours] = STATE(189),
- [sym_string] = STATE(187),
- [sym_call] = STATE(158),
- [sym_new_expression] = STATE(158),
- [sym_parameter_definition] = STATE(433),
- [sym_parameter_list] = STATE(422),
- [sym_immutable_container_type] = STATE(513),
- [sym_mutable_container_type] = STATE(513),
- [sym__builtin_container_type] = STATE(513),
- [sym_unary_expression] = STATE(158),
- [sym_binary_expression] = STATE(158),
- [sym_preflight_closure] = STATE(158),
- [sym_inflight_closure] = STATE(158),
- [sym_await_expression] = STATE(158),
- [sym_defer_expression] = STATE(158),
- [sym_parenthesized_expression] = STATE(158),
- [sym__collection_literal] = STATE(158),
- [sym_array_literal] = STATE(158),
- [sym_set_literal] = STATE(158),
- [sym_map_literal] = STATE(158),
- [sym_struct_literal] = STATE(158),
- [sym_structured_access_expression] = STATE(158),
- [sym_json_literal] = STATE(158),
- [sym_json_container_type] = STATE(129),
- [sym_identifier] = ACTIONS(183),
+ [sym_reference] = STATE(216),
+ [sym_custom_type] = STATE(715),
+ [sym_nested_identifier] = STATE(166),
+ [sym_expression] = STATE(288),
+ [sym__literal] = STATE(216),
+ [sym_number] = STATE(158),
+ [sym__integer] = STATE(159),
+ [sym__decimal] = STATE(159),
+ [sym_bool] = STATE(218),
+ [sym_duration] = STATE(218),
+ [sym_seconds] = STATE(177),
+ [sym_minutes] = STATE(177),
+ [sym_hours] = STATE(177),
+ [sym_string] = STATE(218),
+ [sym_call] = STATE(216),
+ [sym_new_expression] = STATE(216),
+ [sym_parameter_definition] = STATE(517),
+ [sym_parameter_list] = STATE(503),
+ [sym_immutable_container_type] = STATE(597),
+ [sym_mutable_container_type] = STATE(597),
+ [sym__builtin_container_type] = STATE(597),
+ [sym_unary_expression] = STATE(216),
+ [sym_binary_expression] = STATE(216),
+ [sym_preflight_closure] = STATE(216),
+ [sym_inflight_closure] = STATE(216),
+ [sym_await_expression] = STATE(216),
+ [sym_defer_expression] = STATE(216),
+ [sym_parenthesized_expression] = STATE(216),
+ [sym__collection_literal] = STATE(216),
+ [sym_array_literal] = STATE(216),
+ [sym_set_literal] = STATE(216),
+ [sym_map_literal] = STATE(216),
+ [sym_struct_literal] = STATE(216),
+ [sym_structured_access_expression] = STATE(216),
+ [sym_json_literal] = STATE(216),
+ [sym_json_container_type] = STATE(147),
+ [sym_identifier] = ACTIONS(188),
[anon_sym_LBRACE] = ACTIONS(9),
[sym_comment] = ACTIONS(3),
[anon_sym_inflight] = ACTIONS(11),
- [sym_reassignable] = ACTIONS(185),
- [anon_sym_0] = ACTIONS(39),
- [aux_sym__integer_token1] = ACTIONS(39),
- [aux_sym__decimal_token1] = ACTIONS(41),
- [aux_sym__decimal_token2] = ACTIONS(41),
- [anon_sym_true] = ACTIONS(43),
- [anon_sym_false] = ACTIONS(43),
- [anon_sym_DQUOTE] = ACTIONS(45),
- [anon_sym_LPAREN] = ACTIONS(47),
- [anon_sym_RPAREN] = ACTIONS(187),
- [anon_sym_new] = ACTIONS(49),
- [anon_sym_Array] = ACTIONS(51),
- [anon_sym_Set] = ACTIONS(51),
- [anon_sym_Map] = ACTIONS(51),
- [anon_sym_Promise] = ACTIONS(51),
- [anon_sym_MutSet] = ACTIONS(53),
- [anon_sym_MutMap] = ACTIONS(53),
- [anon_sym_MutArray] = ACTIONS(53),
- [anon_sym_DASH_DASH] = ACTIONS(55),
- [anon_sym_DASH] = ACTIONS(57),
- [anon_sym_BANG] = ACTIONS(55),
- [anon_sym_await] = ACTIONS(59),
- [anon_sym_defer] = ACTIONS(61),
- [anon_sym_LBRACK] = ACTIONS(63),
- [anon_sym_Json] = ACTIONS(65),
- [anon_sym_MutJson] = ACTIONS(65),
+ [sym_reassignable] = ACTIONS(190),
+ [anon_sym_0] = ACTIONS(41),
+ [aux_sym__integer_token1] = ACTIONS(41),
+ [aux_sym__decimal_token1] = ACTIONS(43),
+ [aux_sym__decimal_token2] = ACTIONS(43),
+ [anon_sym_true] = ACTIONS(45),
+ [anon_sym_false] = ACTIONS(45),
+ [anon_sym_DQUOTE] = ACTIONS(47),
+ [anon_sym_LPAREN] = ACTIONS(49),
+ [anon_sym_RPAREN] = ACTIONS(192),
+ [anon_sym_new] = ACTIONS(51),
+ [anon_sym_Array] = ACTIONS(53),
+ [anon_sym_Set] = ACTIONS(53),
+ [anon_sym_Map] = ACTIONS(53),
+ [anon_sym_Promise] = ACTIONS(53),
+ [anon_sym_MutSet] = ACTIONS(55),
+ [anon_sym_MutMap] = ACTIONS(55),
+ [anon_sym_MutArray] = ACTIONS(55),
+ [anon_sym_DASH_DASH] = ACTIONS(57),
+ [anon_sym_DASH] = ACTIONS(59),
+ [anon_sym_BANG] = ACTIONS(57),
+ [anon_sym_await] = ACTIONS(61),
+ [anon_sym_defer] = ACTIONS(63),
+ [anon_sym_LBRACK] = ACTIONS(65),
+ [anon_sym_Json] = ACTIONS(67),
+ [anon_sym_MutJson] = ACTIONS(67),
},
[12] = {
- [sym_reference] = STATE(158),
- [sym_custom_type] = STATE(597),
- [sym_nested_identifier] = STATE(149),
- [sym_expression] = STATE(230),
- [sym__literal] = STATE(158),
- [sym_number] = STATE(133),
- [sym__integer] = STATE(144),
- [sym__decimal] = STATE(144),
- [sym_bool] = STATE(187),
- [sym_duration] = STATE(187),
- [sym_seconds] = STATE(189),
- [sym_minutes] = STATE(189),
- [sym_hours] = STATE(189),
- [sym_string] = STATE(240),
- [sym_call] = STATE(158),
- [sym_new_expression] = STATE(158),
- [sym_parameter_list] = STATE(422),
- [sym_immutable_container_type] = STATE(513),
- [sym_mutable_container_type] = STATE(513),
- [sym__builtin_container_type] = STATE(513),
- [sym_unary_expression] = STATE(158),
- [sym_binary_expression] = STATE(158),
- [sym_preflight_closure] = STATE(158),
- [sym_inflight_closure] = STATE(158),
- [sym_await_expression] = STATE(158),
- [sym_defer_expression] = STATE(158),
- [sym_parenthesized_expression] = STATE(158),
- [sym__collection_literal] = STATE(158),
- [sym_array_literal] = STATE(158),
- [sym_set_literal] = STATE(158),
- [sym_map_literal] = STATE(158),
- [sym_struct_literal] = STATE(158),
- [sym_map_literal_member] = STATE(423),
- [sym_structured_access_expression] = STATE(158),
- [sym_json_literal] = STATE(158),
- [sym_json_container_type] = STATE(129),
- [sym_identifier] = ACTIONS(189),
+ [sym_reference] = STATE(216),
+ [sym_custom_type] = STATE(715),
+ [sym_nested_identifier] = STATE(166),
+ [sym_expression] = STATE(245),
+ [sym__literal] = STATE(216),
+ [sym_number] = STATE(158),
+ [sym__integer] = STATE(159),
+ [sym__decimal] = STATE(159),
+ [sym_bool] = STATE(218),
+ [sym_duration] = STATE(218),
+ [sym_seconds] = STATE(177),
+ [sym_minutes] = STATE(177),
+ [sym_hours] = STATE(177),
+ [sym_string] = STATE(252),
+ [sym_call] = STATE(216),
+ [sym_new_expression] = STATE(216),
+ [sym_parameter_list] = STATE(503),
+ [sym_immutable_container_type] = STATE(597),
+ [sym_mutable_container_type] = STATE(597),
+ [sym__builtin_container_type] = STATE(597),
+ [sym_unary_expression] = STATE(216),
+ [sym_binary_expression] = STATE(216),
+ [sym_preflight_closure] = STATE(216),
+ [sym_inflight_closure] = STATE(216),
+ [sym_await_expression] = STATE(216),
+ [sym_defer_expression] = STATE(216),
+ [sym_parenthesized_expression] = STATE(216),
+ [sym__collection_literal] = STATE(216),
+ [sym_array_literal] = STATE(216),
+ [sym_set_literal] = STATE(216),
+ [sym_map_literal] = STATE(216),
+ [sym_struct_literal] = STATE(216),
+ [sym_map_literal_member] = STATE(505),
+ [sym_structured_access_expression] = STATE(216),
+ [sym_json_literal] = STATE(216),
+ [sym_json_container_type] = STATE(147),
+ [sym_identifier] = ACTIONS(194),
[anon_sym_LBRACE] = ACTIONS(9),
- [anon_sym_RBRACE] = ACTIONS(191),
+ [anon_sym_RBRACE] = ACTIONS(196),
[sym_comment] = ACTIONS(3),
[anon_sym_inflight] = ACTIONS(11),
- [anon_sym_0] = ACTIONS(39),
- [aux_sym__integer_token1] = ACTIONS(39),
- [aux_sym__decimal_token1] = ACTIONS(41),
- [aux_sym__decimal_token2] = ACTIONS(41),
- [anon_sym_true] = ACTIONS(43),
- [anon_sym_false] = ACTIONS(43),
- [anon_sym_DQUOTE] = ACTIONS(45),
- [anon_sym_LPAREN] = ACTIONS(47),
- [anon_sym_new] = ACTIONS(49),
- [anon_sym_Array] = ACTIONS(51),
- [anon_sym_Set] = ACTIONS(51),
- [anon_sym_Map] = ACTIONS(51),
- [anon_sym_Promise] = ACTIONS(51),
- [anon_sym_MutSet] = ACTIONS(53),
- [anon_sym_MutMap] = ACTIONS(53),
- [anon_sym_MutArray] = ACTIONS(53),
- [anon_sym_DASH_DASH] = ACTIONS(55),
- [anon_sym_DASH] = ACTIONS(57),
- [anon_sym_BANG] = ACTIONS(55),
- [anon_sym_await] = ACTIONS(59),
- [anon_sym_defer] = ACTIONS(61),
- [anon_sym_LBRACK] = ACTIONS(63),
- [anon_sym_Json] = ACTIONS(65),
- [anon_sym_MutJson] = ACTIONS(65),
+ [anon_sym_0] = ACTIONS(41),
+ [aux_sym__integer_token1] = ACTIONS(41),
+ [aux_sym__decimal_token1] = ACTIONS(43),
+ [aux_sym__decimal_token2] = ACTIONS(43),
+ [anon_sym_true] = ACTIONS(45),
+ [anon_sym_false] = ACTIONS(45),
+ [anon_sym_DQUOTE] = ACTIONS(47),
+ [anon_sym_LPAREN] = ACTIONS(49),
+ [anon_sym_new] = ACTIONS(51),
+ [anon_sym_Array] = ACTIONS(53),
+ [anon_sym_Set] = ACTIONS(53),
+ [anon_sym_Map] = ACTIONS(53),
+ [anon_sym_Promise] = ACTIONS(53),
+ [anon_sym_MutSet] = ACTIONS(55),
+ [anon_sym_MutMap] = ACTIONS(55),
+ [anon_sym_MutArray] = ACTIONS(55),
+ [anon_sym_DASH_DASH] = ACTIONS(57),
+ [anon_sym_DASH] = ACTIONS(59),
+ [anon_sym_BANG] = ACTIONS(57),
+ [anon_sym_await] = ACTIONS(61),
+ [anon_sym_defer] = ACTIONS(63),
+ [anon_sym_LBRACK] = ACTIONS(65),
+ [anon_sym_Json] = ACTIONS(67),
+ [anon_sym_MutJson] = ACTIONS(67),
},
[13] = {
- [sym_reference] = STATE(158),
- [sym_custom_type] = STATE(597),
- [sym_nested_identifier] = STATE(149),
- [sym_expression] = STATE(228),
- [sym__literal] = STATE(158),
- [sym_number] = STATE(133),
- [sym__integer] = STATE(144),
- [sym__decimal] = STATE(144),
- [sym_bool] = STATE(187),
- [sym_duration] = STATE(187),
- [sym_seconds] = STATE(189),
- [sym_minutes] = STATE(189),
- [sym_hours] = STATE(189),
- [sym_string] = STATE(240),
- [sym_call] = STATE(158),
- [sym_new_expression] = STATE(158),
- [sym_parameter_list] = STATE(422),
- [sym_immutable_container_type] = STATE(513),
- [sym_mutable_container_type] = STATE(513),
- [sym__builtin_container_type] = STATE(513),
- [sym_unary_expression] = STATE(158),
- [sym_binary_expression] = STATE(158),
- [sym_preflight_closure] = STATE(158),
- [sym_inflight_closure] = STATE(158),
- [sym_await_expression] = STATE(158),
- [sym_defer_expression] = STATE(158),
- [sym_parenthesized_expression] = STATE(158),
- [sym__collection_literal] = STATE(158),
- [sym_array_literal] = STATE(158),
- [sym_set_literal] = STATE(158),
- [sym_map_literal] = STATE(158),
- [sym_struct_literal] = STATE(158),
- [sym_map_literal_member] = STATE(449),
- [sym_structured_access_expression] = STATE(158),
- [sym_json_literal] = STATE(158),
- [sym_json_container_type] = STATE(129),
- [sym_identifier] = ACTIONS(189),
+ [sym_reference] = STATE(216),
+ [sym_custom_type] = STATE(715),
+ [sym_nested_identifier] = STATE(166),
+ [sym_expression] = STATE(249),
+ [sym__literal] = STATE(216),
+ [sym_number] = STATE(158),
+ [sym__integer] = STATE(159),
+ [sym__decimal] = STATE(159),
+ [sym_bool] = STATE(218),
+ [sym_duration] = STATE(218),
+ [sym_seconds] = STATE(177),
+ [sym_minutes] = STATE(177),
+ [sym_hours] = STATE(177),
+ [sym_string] = STATE(252),
+ [sym_call] = STATE(216),
+ [sym_new_expression] = STATE(216),
+ [sym_parameter_list] = STATE(503),
+ [sym_immutable_container_type] = STATE(597),
+ [sym_mutable_container_type] = STATE(597),
+ [sym__builtin_container_type] = STATE(597),
+ [sym_unary_expression] = STATE(216),
+ [sym_binary_expression] = STATE(216),
+ [sym_preflight_closure] = STATE(216),
+ [sym_inflight_closure] = STATE(216),
+ [sym_await_expression] = STATE(216),
+ [sym_defer_expression] = STATE(216),
+ [sym_parenthesized_expression] = STATE(216),
+ [sym__collection_literal] = STATE(216),
+ [sym_array_literal] = STATE(216),
+ [sym_set_literal] = STATE(216),
+ [sym_map_literal] = STATE(216),
+ [sym_struct_literal] = STATE(216),
+ [sym_map_literal_member] = STATE(549),
+ [sym_structured_access_expression] = STATE(216),
+ [sym_json_literal] = STATE(216),
+ [sym_json_container_type] = STATE(147),
+ [sym_identifier] = ACTIONS(194),
[anon_sym_LBRACE] = ACTIONS(9),
- [anon_sym_RBRACE] = ACTIONS(193),
+ [anon_sym_RBRACE] = ACTIONS(198),
[sym_comment] = ACTIONS(3),
[anon_sym_inflight] = ACTIONS(11),
- [anon_sym_0] = ACTIONS(39),
- [aux_sym__integer_token1] = ACTIONS(39),
- [aux_sym__decimal_token1] = ACTIONS(41),
- [aux_sym__decimal_token2] = ACTIONS(41),
- [anon_sym_true] = ACTIONS(43),
- [anon_sym_false] = ACTIONS(43),
- [anon_sym_DQUOTE] = ACTIONS(45),
- [anon_sym_LPAREN] = ACTIONS(47),
- [anon_sym_new] = ACTIONS(49),
- [anon_sym_Array] = ACTIONS(51),
- [anon_sym_Set] = ACTIONS(51),
- [anon_sym_Map] = ACTIONS(51),
- [anon_sym_Promise] = ACTIONS(51),
- [anon_sym_MutSet] = ACTIONS(53),
- [anon_sym_MutMap] = ACTIONS(53),
- [anon_sym_MutArray] = ACTIONS(53),
- [anon_sym_DASH_DASH] = ACTIONS(55),
- [anon_sym_DASH] = ACTIONS(57),
- [anon_sym_BANG] = ACTIONS(55),
- [anon_sym_await] = ACTIONS(59),
- [anon_sym_defer] = ACTIONS(61),
- [anon_sym_LBRACK] = ACTIONS(63),
- [anon_sym_Json] = ACTIONS(65),
- [anon_sym_MutJson] = ACTIONS(65),
+ [anon_sym_0] = ACTIONS(41),
+ [aux_sym__integer_token1] = ACTIONS(41),
+ [aux_sym__decimal_token1] = ACTIONS(43),
+ [aux_sym__decimal_token2] = ACTIONS(43),
+ [anon_sym_true] = ACTIONS(45),
+ [anon_sym_false] = ACTIONS(45),
+ [anon_sym_DQUOTE] = ACTIONS(47),
+ [anon_sym_LPAREN] = ACTIONS(49),
+ [anon_sym_new] = ACTIONS(51),
+ [anon_sym_Array] = ACTIONS(53),
+ [anon_sym_Set] = ACTIONS(53),
+ [anon_sym_Map] = ACTIONS(53),
+ [anon_sym_Promise] = ACTIONS(53),
+ [anon_sym_MutSet] = ACTIONS(55),
+ [anon_sym_MutMap] = ACTIONS(55),
+ [anon_sym_MutArray] = ACTIONS(55),
+ [anon_sym_DASH_DASH] = ACTIONS(57),
+ [anon_sym_DASH] = ACTIONS(59),
+ [anon_sym_BANG] = ACTIONS(57),
+ [anon_sym_await] = ACTIONS(61),
+ [anon_sym_defer] = ACTIONS(63),
+ [anon_sym_LBRACK] = ACTIONS(65),
+ [anon_sym_Json] = ACTIONS(67),
+ [anon_sym_MutJson] = ACTIONS(67),
},
};
@@ -5694,74 +6244,74 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
- anon_sym_LPAREN,
+ anon_sym_DQUOTE,
ACTIONS(49), 1,
+ anon_sym_LPAREN,
+ ACTIONS(51), 1,
anon_sym_new,
- ACTIONS(57), 1,
- anon_sym_DASH,
ACTIONS(59), 1,
- anon_sym_await,
+ anon_sym_DASH,
ACTIONS(61), 1,
- anon_sym_defer,
+ anon_sym_await,
ACTIONS(63), 1,
+ anon_sym_defer,
+ ACTIONS(65), 1,
anon_sym_LBRACK,
- ACTIONS(195), 1,
- anon_sym_SEMI,
- STATE(129), 1,
+ ACTIONS(200), 1,
+ anon_sym_RBRACK,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(251), 1,
+ STATE(248), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(55), 2,
+ ACTIONS(57), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- STATE(144), 2,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -5789,74 +6339,74 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
- anon_sym_LPAREN,
+ anon_sym_DQUOTE,
ACTIONS(49), 1,
+ anon_sym_LPAREN,
+ ACTIONS(51), 1,
anon_sym_new,
- ACTIONS(57), 1,
- anon_sym_DASH,
ACTIONS(59), 1,
- anon_sym_await,
+ anon_sym_DASH,
ACTIONS(61), 1,
- anon_sym_defer,
+ anon_sym_await,
ACTIONS(63), 1,
+ anon_sym_defer,
+ ACTIONS(65), 1,
anon_sym_LBRACK,
- ACTIONS(197), 1,
+ ACTIONS(202), 1,
anon_sym_RBRACK,
- STATE(129), 1,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(231), 1,
+ STATE(246), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(55), 2,
+ ACTIONS(57), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- STATE(144), 2,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -5884,74 +6434,74 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
- anon_sym_LPAREN,
+ anon_sym_DQUOTE,
ACTIONS(49), 1,
+ anon_sym_LPAREN,
+ ACTIONS(51), 1,
anon_sym_new,
- ACTIONS(57), 1,
- anon_sym_DASH,
ACTIONS(59), 1,
- anon_sym_await,
+ anon_sym_DASH,
ACTIONS(61), 1,
- anon_sym_defer,
+ anon_sym_await,
ACTIONS(63), 1,
+ anon_sym_defer,
+ ACTIONS(65), 1,
anon_sym_LBRACK,
- ACTIONS(199), 1,
- anon_sym_RBRACE,
- STATE(129), 1,
+ ACTIONS(204), 1,
+ anon_sym_RBRACK,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(231), 1,
+ STATE(246), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(55), 2,
+ ACTIONS(57), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- STATE(144), 2,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -5979,74 +6529,74 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
- anon_sym_LPAREN,
+ anon_sym_DQUOTE,
ACTIONS(49), 1,
+ anon_sym_LPAREN,
+ ACTIONS(51), 1,
anon_sym_new,
- ACTIONS(57), 1,
- anon_sym_DASH,
ACTIONS(59), 1,
- anon_sym_await,
+ anon_sym_DASH,
ACTIONS(61), 1,
- anon_sym_defer,
+ anon_sym_await,
ACTIONS(63), 1,
+ anon_sym_defer,
+ ACTIONS(65), 1,
anon_sym_LBRACK,
- ACTIONS(201), 1,
- anon_sym_RBRACK,
- STATE(129), 1,
+ ACTIONS(206), 1,
+ anon_sym_RBRACE,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(231), 1,
+ STATE(246), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(55), 2,
+ ACTIONS(57), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- STATE(144), 2,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -6074,74 +6624,74 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
- anon_sym_LPAREN,
+ anon_sym_DQUOTE,
ACTIONS(49), 1,
+ anon_sym_LPAREN,
+ ACTIONS(51), 1,
anon_sym_new,
- ACTIONS(57), 1,
- anon_sym_DASH,
ACTIONS(59), 1,
- anon_sym_await,
+ anon_sym_DASH,
ACTIONS(61), 1,
- anon_sym_defer,
+ anon_sym_await,
ACTIONS(63), 1,
+ anon_sym_defer,
+ ACTIONS(65), 1,
anon_sym_LBRACK,
- ACTIONS(203), 1,
- anon_sym_RBRACE,
- STATE(129), 1,
+ ACTIONS(208), 1,
+ anon_sym_SEMI,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(231), 1,
+ STATE(284), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(55), 2,
+ ACTIONS(57), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- STATE(144), 2,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -6169,74 +6719,74 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
- anon_sym_LPAREN,
+ anon_sym_DQUOTE,
ACTIONS(49), 1,
+ anon_sym_LPAREN,
+ ACTIONS(51), 1,
anon_sym_new,
- ACTIONS(57), 1,
- anon_sym_DASH,
ACTIONS(59), 1,
- anon_sym_await,
+ anon_sym_DASH,
ACTIONS(61), 1,
- anon_sym_defer,
+ anon_sym_await,
ACTIONS(63), 1,
+ anon_sym_defer,
+ ACTIONS(65), 1,
anon_sym_LBRACK,
- ACTIONS(205), 1,
- anon_sym_RBRACK,
- STATE(129), 1,
+ ACTIONS(210), 1,
+ anon_sym_RBRACE,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(231), 1,
+ STATE(246), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(55), 2,
+ ACTIONS(57), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- STATE(144), 2,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -6264,74 +6814,74 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
- anon_sym_LPAREN,
+ anon_sym_DQUOTE,
ACTIONS(49), 1,
+ anon_sym_LPAREN,
+ ACTIONS(51), 1,
anon_sym_new,
- ACTIONS(57), 1,
- anon_sym_DASH,
ACTIONS(59), 1,
- anon_sym_await,
+ anon_sym_DASH,
ACTIONS(61), 1,
- anon_sym_defer,
+ anon_sym_await,
ACTIONS(63), 1,
+ anon_sym_defer,
+ ACTIONS(65), 1,
anon_sym_LBRACK,
- ACTIONS(207), 1,
- anon_sym_RBRACK,
- STATE(129), 1,
+ ACTIONS(212), 1,
+ anon_sym_RBRACE,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(227), 1,
+ STATE(246), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(55), 2,
+ ACTIONS(57), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- STATE(144), 2,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -6359,74 +6909,74 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
- anon_sym_LPAREN,
+ anon_sym_DQUOTE,
ACTIONS(49), 1,
+ anon_sym_LPAREN,
+ ACTIONS(51), 1,
anon_sym_new,
- ACTIONS(57), 1,
- anon_sym_DASH,
ACTIONS(59), 1,
- anon_sym_await,
+ anon_sym_DASH,
ACTIONS(61), 1,
- anon_sym_defer,
+ anon_sym_await,
ACTIONS(63), 1,
+ anon_sym_defer,
+ ACTIONS(65), 1,
anon_sym_LBRACK,
- STATE(129), 1,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(233), 1,
+ STATE(255), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(483), 1,
+ STATE(572), 1,
sym_positional_argument,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(55), 2,
+ ACTIONS(57), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- STATE(144), 2,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -6454,74 +7004,74 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
- anon_sym_LPAREN,
+ anon_sym_DQUOTE,
ACTIONS(49), 1,
+ anon_sym_LPAREN,
+ ACTIONS(51), 1,
anon_sym_new,
- ACTIONS(57), 1,
- anon_sym_DASH,
ACTIONS(59), 1,
- anon_sym_await,
+ anon_sym_DASH,
ACTIONS(61), 1,
- anon_sym_defer,
+ anon_sym_await,
ACTIONS(63), 1,
+ anon_sym_defer,
+ ACTIONS(65), 1,
anon_sym_LBRACK,
- ACTIONS(209), 1,
- anon_sym_RBRACE,
- STATE(129), 1,
+ ACTIONS(214), 1,
+ anon_sym_RBRACK,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(231), 1,
+ STATE(246), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(55), 2,
+ ACTIONS(57), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- STATE(144), 2,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -6549,74 +7099,74 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
- anon_sym_LPAREN,
+ anon_sym_DQUOTE,
ACTIONS(49), 1,
+ anon_sym_LPAREN,
+ ACTIONS(51), 1,
anon_sym_new,
- ACTIONS(57), 1,
- anon_sym_DASH,
ACTIONS(59), 1,
- anon_sym_await,
+ anon_sym_DASH,
ACTIONS(61), 1,
- anon_sym_defer,
+ anon_sym_await,
ACTIONS(63), 1,
+ anon_sym_defer,
+ ACTIONS(65), 1,
anon_sym_LBRACK,
- ACTIONS(211), 1,
- anon_sym_RBRACE,
- STATE(129), 1,
+ ACTIONS(216), 1,
+ anon_sym_RBRACK,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(231), 1,
+ STATE(247), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(55), 2,
+ ACTIONS(57), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- STATE(144), 2,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -6644,74 +7194,74 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
- anon_sym_LPAREN,
+ anon_sym_DQUOTE,
ACTIONS(49), 1,
+ anon_sym_LPAREN,
+ ACTIONS(51), 1,
anon_sym_new,
- ACTIONS(57), 1,
- anon_sym_DASH,
ACTIONS(59), 1,
- anon_sym_await,
+ anon_sym_DASH,
ACTIONS(61), 1,
- anon_sym_defer,
+ anon_sym_await,
ACTIONS(63), 1,
+ anon_sym_defer,
+ ACTIONS(65), 1,
anon_sym_LBRACK,
- ACTIONS(213), 1,
- anon_sym_RBRACK,
- STATE(129), 1,
+ ACTIONS(218), 1,
+ anon_sym_RBRACE,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(229), 1,
+ STATE(246), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(55), 2,
+ ACTIONS(57), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- STATE(144), 2,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -6739,74 +7289,74 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
- anon_sym_LPAREN,
+ anon_sym_DQUOTE,
ACTIONS(49), 1,
+ anon_sym_LPAREN,
+ ACTIONS(51), 1,
anon_sym_new,
- ACTIONS(57), 1,
- anon_sym_DASH,
ACTIONS(59), 1,
- anon_sym_await,
+ anon_sym_DASH,
ACTIONS(61), 1,
- anon_sym_defer,
+ anon_sym_await,
ACTIONS(63), 1,
+ anon_sym_defer,
+ ACTIONS(65), 1,
anon_sym_LBRACK,
- ACTIONS(215), 1,
+ ACTIONS(220), 1,
anon_sym_RBRACK,
- STATE(129), 1,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(231), 1,
+ STATE(246), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(55), 2,
+ ACTIONS(57), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- STATE(144), 2,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -6828,78 +7378,78 @@ static const uint16_t ts_small_parse_table[] = {
[1500] = 29,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(7), 1,
- sym_identifier,
ACTIONS(9), 1,
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
- anon_sym_LPAREN,
+ anon_sym_DQUOTE,
ACTIONS(49), 1,
+ anon_sym_LPAREN,
+ ACTIONS(65), 1,
+ anon_sym_LBRACK,
+ ACTIONS(222), 1,
+ sym_identifier,
+ ACTIONS(224), 1,
anon_sym_new,
- ACTIONS(57), 1,
+ ACTIONS(228), 1,
anon_sym_DASH,
- ACTIONS(59), 1,
+ ACTIONS(230), 1,
anon_sym_await,
- ACTIONS(61), 1,
+ ACTIONS(232), 1,
anon_sym_defer,
- ACTIONS(63), 1,
- anon_sym_LBRACK,
- STATE(129), 1,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(253), 1,
+ STATE(286), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(55), 2,
- anon_sym_DASH_DASH,
- anon_sym_BANG,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- STATE(144), 2,
+ ACTIONS(226), 2,
+ anon_sym_DASH_DASH,
+ anon_sym_BANG,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -6927,72 +7477,72 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
- anon_sym_LPAREN,
+ anon_sym_DQUOTE,
ACTIONS(49), 1,
+ anon_sym_LPAREN,
+ ACTIONS(51), 1,
anon_sym_new,
- ACTIONS(57), 1,
- anon_sym_DASH,
ACTIONS(59), 1,
- anon_sym_await,
+ anon_sym_DASH,
ACTIONS(61), 1,
- anon_sym_defer,
+ anon_sym_await,
ACTIONS(63), 1,
+ anon_sym_defer,
+ ACTIONS(65), 1,
anon_sym_LBRACK,
- STATE(129), 1,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(183), 1,
+ STATE(275), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(55), 2,
+ ACTIONS(57), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- STATE(144), 2,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -7020,72 +7570,72 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
- anon_sym_LPAREN,
+ anon_sym_DQUOTE,
ACTIONS(49), 1,
+ anon_sym_LPAREN,
+ ACTIONS(51), 1,
anon_sym_new,
- ACTIONS(57), 1,
- anon_sym_DASH,
ACTIONS(59), 1,
- anon_sym_await,
+ anon_sym_DASH,
ACTIONS(61), 1,
- anon_sym_defer,
+ anon_sym_await,
ACTIONS(63), 1,
+ anon_sym_defer,
+ ACTIONS(65), 1,
anon_sym_LBRACK,
- STATE(129), 1,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(231), 1,
+ STATE(297), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(55), 2,
+ ACTIONS(57), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- STATE(144), 2,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -7104,82 +7654,83 @@ static const uint16_t ts_small_parse_table[] = {
sym_struct_literal,
sym_structured_access_expression,
sym_json_literal,
- [1866] = 29,
+ [1866] = 30,
ACTIONS(3), 1,
sym_comment,
+ ACTIONS(7), 1,
+ sym_identifier,
ACTIONS(9), 1,
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
- anon_sym_LPAREN,
- ACTIONS(63), 1,
- anon_sym_LBRACK,
- ACTIONS(217), 1,
- sym_identifier,
- ACTIONS(219), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(49), 1,
+ anon_sym_LPAREN,
+ ACTIONS(51), 1,
anon_sym_new,
- ACTIONS(223), 1,
+ ACTIONS(59), 1,
anon_sym_DASH,
- ACTIONS(225), 1,
+ ACTIONS(61), 1,
anon_sym_await,
- ACTIONS(227), 1,
+ ACTIONS(63), 1,
anon_sym_defer,
- STATE(129), 1,
+ ACTIONS(65), 1,
+ anon_sym_LBRACK,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(245), 1,
+ STATE(300), 1,
+ sym_reference,
+ STATE(301), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(65), 2,
- anon_sym_Json,
- anon_sym_MutJson,
- ACTIONS(221), 2,
+ ACTIONS(57), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- STATE(144), 2,
+ ACTIONS(67), 2,
+ anon_sym_Json,
+ anon_sym_MutJson,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
- sym_reference,
+ STATE(216), 17,
sym__literal,
sym_call,
sym_new_expression,
@@ -7197,7 +7748,7 @@ static const uint16_t ts_small_parse_table[] = {
sym_struct_literal,
sym_structured_access_expression,
sym_json_literal,
- [1988] = 29,
+ [1990] = 29,
ACTIONS(3), 1,
sym_comment,
ACTIONS(7), 1,
@@ -7206,72 +7757,72 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
- anon_sym_LPAREN,
+ anon_sym_DQUOTE,
ACTIONS(49), 1,
+ anon_sym_LPAREN,
+ ACTIONS(51), 1,
anon_sym_new,
- ACTIONS(57), 1,
- anon_sym_DASH,
ACTIONS(59), 1,
- anon_sym_await,
+ anon_sym_DASH,
ACTIONS(61), 1,
- anon_sym_defer,
+ anon_sym_await,
ACTIONS(63), 1,
+ anon_sym_defer,
+ ACTIONS(65), 1,
anon_sym_LBRACK,
- STATE(129), 1,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(261), 1,
+ STATE(183), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(55), 2,
+ ACTIONS(57), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- STATE(144), 2,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -7290,7 +7841,7 @@ static const uint16_t ts_small_parse_table[] = {
sym_struct_literal,
sym_structured_access_expression,
sym_json_literal,
- [2110] = 29,
+ [2112] = 29,
ACTIONS(3), 1,
sym_comment,
ACTIONS(7), 1,
@@ -7299,72 +7850,72 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
- anon_sym_LPAREN,
+ anon_sym_DQUOTE,
ACTIONS(49), 1,
+ anon_sym_LPAREN,
+ ACTIONS(51), 1,
anon_sym_new,
- ACTIONS(57), 1,
- anon_sym_DASH,
ACTIONS(59), 1,
- anon_sym_await,
+ anon_sym_DASH,
ACTIONS(61), 1,
- anon_sym_defer,
+ anon_sym_await,
ACTIONS(63), 1,
+ anon_sym_defer,
+ ACTIONS(65), 1,
anon_sym_LBRACK,
- STATE(129), 1,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(250), 1,
+ STATE(298), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(55), 2,
+ ACTIONS(57), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- STATE(144), 2,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -7383,7 +7934,7 @@ static const uint16_t ts_small_parse_table[] = {
sym_struct_literal,
sym_structured_access_expression,
sym_json_literal,
- [2232] = 29,
+ [2234] = 29,
ACTIONS(3), 1,
sym_comment,
ACTIONS(7), 1,
@@ -7392,72 +7943,72 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
- anon_sym_LPAREN,
+ anon_sym_DQUOTE,
ACTIONS(49), 1,
+ anon_sym_LPAREN,
+ ACTIONS(51), 1,
anon_sym_new,
- ACTIONS(57), 1,
- anon_sym_DASH,
ACTIONS(59), 1,
- anon_sym_await,
+ anon_sym_DASH,
ACTIONS(61), 1,
- anon_sym_defer,
+ anon_sym_await,
ACTIONS(63), 1,
+ anon_sym_defer,
+ ACTIONS(65), 1,
anon_sym_LBRACK,
- STATE(129), 1,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(275), 1,
+ STATE(262), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(55), 2,
+ ACTIONS(57), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- STATE(144), 2,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -7476,7 +8027,7 @@ static const uint16_t ts_small_parse_table[] = {
sym_struct_literal,
sym_structured_access_expression,
sym_json_literal,
- [2354] = 29,
+ [2356] = 29,
ACTIONS(3), 1,
sym_comment,
ACTIONS(7), 1,
@@ -7485,72 +8036,72 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
- anon_sym_LPAREN,
+ anon_sym_DQUOTE,
ACTIONS(49), 1,
+ anon_sym_LPAREN,
+ ACTIONS(51), 1,
anon_sym_new,
- ACTIONS(57), 1,
- anon_sym_DASH,
ACTIONS(59), 1,
- anon_sym_await,
+ anon_sym_DASH,
ACTIONS(61), 1,
- anon_sym_defer,
+ anon_sym_await,
ACTIONS(63), 1,
+ anon_sym_defer,
+ ACTIONS(65), 1,
anon_sym_LBRACK,
- STATE(129), 1,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(208), 1,
+ STATE(207), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(55), 2,
+ ACTIONS(57), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- STATE(144), 2,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -7569,7 +8120,7 @@ static const uint16_t ts_small_parse_table[] = {
sym_struct_literal,
sym_structured_access_expression,
sym_json_literal,
- [2476] = 29,
+ [2478] = 29,
ACTIONS(3), 1,
sym_comment,
ACTIONS(7), 1,
@@ -7578,72 +8129,72 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
- anon_sym_LPAREN,
+ anon_sym_DQUOTE,
ACTIONS(49), 1,
+ anon_sym_LPAREN,
+ ACTIONS(51), 1,
anon_sym_new,
- ACTIONS(57), 1,
- anon_sym_DASH,
ACTIONS(59), 1,
- anon_sym_await,
+ anon_sym_DASH,
ACTIONS(61), 1,
- anon_sym_defer,
+ anon_sym_await,
ACTIONS(63), 1,
+ anon_sym_defer,
+ ACTIONS(65), 1,
anon_sym_LBRACK,
- STATE(129), 1,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(209), 1,
+ STATE(219), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(55), 2,
+ ACTIONS(57), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- STATE(144), 2,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -7662,7 +8213,7 @@ static const uint16_t ts_small_parse_table[] = {
sym_struct_literal,
sym_structured_access_expression,
sym_json_literal,
- [2598] = 29,
+ [2600] = 29,
ACTIONS(3), 1,
sym_comment,
ACTIONS(7), 1,
@@ -7671,72 +8222,72 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
- anon_sym_LPAREN,
+ anon_sym_DQUOTE,
ACTIONS(49), 1,
+ anon_sym_LPAREN,
+ ACTIONS(51), 1,
anon_sym_new,
- ACTIONS(57), 1,
- anon_sym_DASH,
ACTIONS(59), 1,
- anon_sym_await,
+ anon_sym_DASH,
ACTIONS(61), 1,
- anon_sym_defer,
+ anon_sym_await,
ACTIONS(63), 1,
+ anon_sym_defer,
+ ACTIONS(65), 1,
anon_sym_LBRACK,
- STATE(129), 1,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(210), 1,
+ STATE(187), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(55), 2,
+ ACTIONS(57), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- STATE(144), 2,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -7755,81 +8306,81 @@ static const uint16_t ts_small_parse_table[] = {
sym_struct_literal,
sym_structured_access_expression,
sym_json_literal,
- [2720] = 29,
+ [2722] = 29,
ACTIONS(3), 1,
sym_comment,
ACTIONS(9), 1,
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(49), 1,
anon_sym_LPAREN,
- ACTIONS(63), 1,
+ ACTIONS(65), 1,
anon_sym_LBRACK,
- ACTIONS(217), 1,
+ ACTIONS(222), 1,
sym_identifier,
- ACTIONS(219), 1,
+ ACTIONS(224), 1,
anon_sym_new,
- ACTIONS(223), 1,
+ ACTIONS(228), 1,
anon_sym_DASH,
- ACTIONS(225), 1,
+ ACTIONS(230), 1,
anon_sym_await,
- ACTIONS(227), 1,
+ ACTIONS(232), 1,
anon_sym_defer,
- STATE(129), 1,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(241), 1,
+ STATE(257), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- ACTIONS(221), 2,
+ ACTIONS(226), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- STATE(144), 2,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -7848,7 +8399,7 @@ static const uint16_t ts_small_parse_table[] = {
sym_struct_literal,
sym_structured_access_expression,
sym_json_literal,
- [2842] = 29,
+ [2844] = 29,
ACTIONS(3), 1,
sym_comment,
ACTIONS(7), 1,
@@ -7857,72 +8408,72 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
- anon_sym_LPAREN,
+ anon_sym_DQUOTE,
ACTIONS(49), 1,
+ anon_sym_LPAREN,
+ ACTIONS(51), 1,
anon_sym_new,
- ACTIONS(57), 1,
- anon_sym_DASH,
ACTIONS(59), 1,
- anon_sym_await,
+ anon_sym_DASH,
ACTIONS(61), 1,
- anon_sym_defer,
+ anon_sym_await,
ACTIONS(63), 1,
+ anon_sym_defer,
+ ACTIONS(65), 1,
anon_sym_LBRACK,
- STATE(129), 1,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(281), 1,
+ STATE(269), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(55), 2,
+ ACTIONS(57), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- STATE(144), 2,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -7941,7 +8492,7 @@ static const uint16_t ts_small_parse_table[] = {
sym_struct_literal,
sym_structured_access_expression,
sym_json_literal,
- [2964] = 29,
+ [2966] = 29,
ACTIONS(3), 1,
sym_comment,
ACTIONS(7), 1,
@@ -7950,72 +8501,72 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
- anon_sym_LPAREN,
+ anon_sym_DQUOTE,
ACTIONS(49), 1,
+ anon_sym_LPAREN,
+ ACTIONS(51), 1,
anon_sym_new,
- ACTIONS(57), 1,
- anon_sym_DASH,
ACTIONS(59), 1,
- anon_sym_await,
+ anon_sym_DASH,
ACTIONS(61), 1,
- anon_sym_defer,
+ anon_sym_await,
ACTIONS(63), 1,
+ anon_sym_defer,
+ ACTIONS(65), 1,
anon_sym_LBRACK,
- STATE(129), 1,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(279), 1,
+ STATE(267), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(55), 2,
+ ACTIONS(57), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- STATE(144), 2,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -8034,81 +8585,81 @@ static const uint16_t ts_small_parse_table[] = {
sym_struct_literal,
sym_structured_access_expression,
sym_json_literal,
- [3086] = 29,
+ [3088] = 29,
ACTIONS(3), 1,
sym_comment,
+ ACTIONS(7), 1,
+ sym_identifier,
ACTIONS(9), 1,
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(49), 1,
anon_sym_LPAREN,
- ACTIONS(63), 1,
- anon_sym_LBRACK,
- ACTIONS(217), 1,
- sym_identifier,
- ACTIONS(219), 1,
+ ACTIONS(51), 1,
anon_sym_new,
- ACTIONS(223), 1,
+ ACTIONS(59), 1,
anon_sym_DASH,
- ACTIONS(225), 1,
+ ACTIONS(61), 1,
anon_sym_await,
- ACTIONS(227), 1,
+ ACTIONS(63), 1,
anon_sym_defer,
- STATE(129), 1,
+ ACTIONS(65), 1,
+ anon_sym_LBRACK,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(242), 1,
+ STATE(266), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(65), 2,
- anon_sym_Json,
- anon_sym_MutJson,
- ACTIONS(221), 2,
+ ACTIONS(57), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- STATE(144), 2,
+ ACTIONS(67), 2,
+ anon_sym_Json,
+ anon_sym_MutJson,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -8127,7 +8678,7 @@ static const uint16_t ts_small_parse_table[] = {
sym_struct_literal,
sym_structured_access_expression,
sym_json_literal,
- [3208] = 29,
+ [3210] = 29,
ACTIONS(3), 1,
sym_comment,
ACTIONS(7), 1,
@@ -8136,72 +8687,72 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
- anon_sym_LPAREN,
+ anon_sym_DQUOTE,
ACTIONS(49), 1,
+ anon_sym_LPAREN,
+ ACTIONS(51), 1,
anon_sym_new,
- ACTIONS(57), 1,
- anon_sym_DASH,
ACTIONS(59), 1,
- anon_sym_await,
+ anon_sym_DASH,
ACTIONS(61), 1,
- anon_sym_defer,
+ anon_sym_await,
ACTIONS(63), 1,
+ anon_sym_defer,
+ ACTIONS(65), 1,
anon_sym_LBRACK,
- STATE(129), 1,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(262), 1,
+ STATE(280), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(55), 2,
+ ACTIONS(57), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- STATE(144), 2,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -8220,7 +8771,7 @@ static const uint16_t ts_small_parse_table[] = {
sym_struct_literal,
sym_structured_access_expression,
sym_json_literal,
- [3330] = 29,
+ [3332] = 29,
ACTIONS(3), 1,
sym_comment,
ACTIONS(7), 1,
@@ -8229,72 +8780,72 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
- anon_sym_LPAREN,
+ anon_sym_DQUOTE,
ACTIONS(49), 1,
+ anon_sym_LPAREN,
+ ACTIONS(51), 1,
anon_sym_new,
- ACTIONS(57), 1,
- anon_sym_DASH,
ACTIONS(59), 1,
- anon_sym_await,
+ anon_sym_DASH,
ACTIONS(61), 1,
- anon_sym_defer,
+ anon_sym_await,
ACTIONS(63), 1,
+ anon_sym_defer,
+ ACTIONS(65), 1,
anon_sym_LBRACK,
- STATE(129), 1,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(268), 1,
+ STATE(299), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(55), 2,
+ ACTIONS(57), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- STATE(144), 2,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -8313,7 +8864,7 @@ static const uint16_t ts_small_parse_table[] = {
sym_struct_literal,
sym_structured_access_expression,
sym_json_literal,
- [3452] = 29,
+ [3454] = 29,
ACTIONS(3), 1,
sym_comment,
ACTIONS(7), 1,
@@ -8322,72 +8873,72 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
- anon_sym_LPAREN,
+ anon_sym_DQUOTE,
ACTIONS(49), 1,
+ anon_sym_LPAREN,
+ ACTIONS(51), 1,
anon_sym_new,
- ACTIONS(57), 1,
- anon_sym_DASH,
ACTIONS(59), 1,
- anon_sym_await,
+ anon_sym_DASH,
ACTIONS(61), 1,
- anon_sym_defer,
+ anon_sym_await,
ACTIONS(63), 1,
+ anon_sym_defer,
+ ACTIONS(65), 1,
anon_sym_LBRACK,
- STATE(129), 1,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(247), 1,
+ STATE(273), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(55), 2,
+ ACTIONS(57), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- STATE(144), 2,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -8406,7 +8957,7 @@ static const uint16_t ts_small_parse_table[] = {
sym_struct_literal,
sym_structured_access_expression,
sym_json_literal,
- [3574] = 29,
+ [3576] = 29,
ACTIONS(3), 1,
sym_comment,
ACTIONS(7), 1,
@@ -8415,72 +8966,72 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
- anon_sym_LPAREN,
+ anon_sym_DQUOTE,
ACTIONS(49), 1,
+ anon_sym_LPAREN,
+ ACTIONS(51), 1,
anon_sym_new,
- ACTIONS(57), 1,
- anon_sym_DASH,
ACTIONS(59), 1,
- anon_sym_await,
+ anon_sym_DASH,
ACTIONS(61), 1,
- anon_sym_defer,
+ anon_sym_await,
ACTIONS(63), 1,
+ anon_sym_defer,
+ ACTIONS(65), 1,
anon_sym_LBRACK,
- STATE(129), 1,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(178), 1,
+ STATE(261), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(55), 2,
+ ACTIONS(57), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- STATE(144), 2,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -8499,81 +9050,81 @@ static const uint16_t ts_small_parse_table[] = {
sym_struct_literal,
sym_structured_access_expression,
sym_json_literal,
- [3696] = 29,
+ [3698] = 29,
ACTIONS(3), 1,
sym_comment,
+ ACTIONS(7), 1,
+ sym_identifier,
ACTIONS(9), 1,
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(49), 1,
anon_sym_LPAREN,
- ACTIONS(63), 1,
- anon_sym_LBRACK,
- ACTIONS(217), 1,
- sym_identifier,
- ACTIONS(219), 1,
+ ACTIONS(51), 1,
anon_sym_new,
- ACTIONS(223), 1,
+ ACTIONS(59), 1,
anon_sym_DASH,
- ACTIONS(225), 1,
+ ACTIONS(61), 1,
anon_sym_await,
- ACTIONS(227), 1,
+ ACTIONS(63), 1,
anon_sym_defer,
- STATE(129), 1,
+ ACTIONS(65), 1,
+ anon_sym_LBRACK,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(239), 1,
+ STATE(290), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(65), 2,
- anon_sym_Json,
- anon_sym_MutJson,
- ACTIONS(221), 2,
+ ACTIONS(57), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- STATE(144), 2,
+ ACTIONS(67), 2,
+ anon_sym_Json,
+ anon_sym_MutJson,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -8592,81 +9143,81 @@ static const uint16_t ts_small_parse_table[] = {
sym_struct_literal,
sym_structured_access_expression,
sym_json_literal,
- [3818] = 29,
+ [3820] = 29,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(7), 1,
- sym_identifier,
ACTIONS(9), 1,
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
- anon_sym_LPAREN,
+ anon_sym_DQUOTE,
ACTIONS(49), 1,
+ anon_sym_LPAREN,
+ ACTIONS(65), 1,
+ anon_sym_LBRACK,
+ ACTIONS(222), 1,
+ sym_identifier,
+ ACTIONS(224), 1,
anon_sym_new,
- ACTIONS(57), 1,
+ ACTIONS(228), 1,
anon_sym_DASH,
- ACTIONS(59), 1,
+ ACTIONS(230), 1,
anon_sym_await,
- ACTIONS(61), 1,
+ ACTIONS(232), 1,
anon_sym_defer,
- ACTIONS(63), 1,
- anon_sym_LBRACK,
- STATE(129), 1,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(237), 1,
+ STATE(250), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(55), 2,
- anon_sym_DASH_DASH,
- anon_sym_BANG,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- STATE(144), 2,
+ ACTIONS(226), 2,
+ anon_sym_DASH_DASH,
+ anon_sym_BANG,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -8685,7 +9236,7 @@ static const uint16_t ts_small_parse_table[] = {
sym_struct_literal,
sym_structured_access_expression,
sym_json_literal,
- [3940] = 29,
+ [3942] = 29,
ACTIONS(3), 1,
sym_comment,
ACTIONS(7), 1,
@@ -8694,72 +9245,72 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
- anon_sym_LPAREN,
+ anon_sym_DQUOTE,
ACTIONS(49), 1,
+ anon_sym_LPAREN,
+ ACTIONS(51), 1,
anon_sym_new,
- ACTIONS(57), 1,
- anon_sym_DASH,
ACTIONS(59), 1,
- anon_sym_await,
+ anon_sym_DASH,
ACTIONS(61), 1,
- anon_sym_defer,
+ anon_sym_await,
ACTIONS(63), 1,
+ anon_sym_defer,
+ ACTIONS(65), 1,
anon_sym_LBRACK,
- STATE(129), 1,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(271), 1,
+ STATE(296), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(55), 2,
+ ACTIONS(57), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- STATE(144), 2,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -8778,81 +9329,81 @@ static const uint16_t ts_small_parse_table[] = {
sym_struct_literal,
sym_structured_access_expression,
sym_json_literal,
- [4062] = 29,
+ [4064] = 29,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(7), 1,
- sym_identifier,
ACTIONS(9), 1,
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
- anon_sym_LPAREN,
+ anon_sym_DQUOTE,
ACTIONS(49), 1,
+ anon_sym_LPAREN,
+ ACTIONS(65), 1,
+ anon_sym_LBRACK,
+ ACTIONS(222), 1,
+ sym_identifier,
+ ACTIONS(224), 1,
anon_sym_new,
- ACTIONS(57), 1,
+ ACTIONS(228), 1,
anon_sym_DASH,
- ACTIONS(59), 1,
+ ACTIONS(230), 1,
anon_sym_await,
- ACTIONS(61), 1,
+ ACTIONS(232), 1,
anon_sym_defer,
- ACTIONS(63), 1,
- anon_sym_LBRACK,
- STATE(129), 1,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(238), 1,
+ STATE(174), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(55), 2,
- anon_sym_DASH_DASH,
- anon_sym_BANG,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- STATE(144), 2,
+ ACTIONS(226), 2,
+ anon_sym_DASH_DASH,
+ anon_sym_BANG,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -8871,83 +9422,82 @@ static const uint16_t ts_small_parse_table[] = {
sym_struct_literal,
sym_structured_access_expression,
sym_json_literal,
- [4184] = 30,
+ [4186] = 29,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(7), 1,
- sym_identifier,
ACTIONS(9), 1,
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
- anon_sym_LPAREN,
+ anon_sym_DQUOTE,
ACTIONS(49), 1,
+ anon_sym_LPAREN,
+ ACTIONS(65), 1,
+ anon_sym_LBRACK,
+ ACTIONS(222), 1,
+ sym_identifier,
+ ACTIONS(224), 1,
anon_sym_new,
- ACTIONS(57), 1,
+ ACTIONS(228), 1,
anon_sym_DASH,
- ACTIONS(59), 1,
+ ACTIONS(230), 1,
anon_sym_await,
- ACTIONS(61), 1,
+ ACTIONS(232), 1,
anon_sym_defer,
- ACTIONS(63), 1,
- anon_sym_LBRACK,
- STATE(129), 1,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(282), 1,
- sym_reference,
- STATE(283), 1,
+ STATE(251), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(55), 2,
- anon_sym_DASH_DASH,
- anon_sym_BANG,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- STATE(144), 2,
+ ACTIONS(226), 2,
+ anon_sym_DASH_DASH,
+ anon_sym_BANG,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 17,
+ STATE(216), 18,
+ sym_reference,
sym__literal,
sym_call,
sym_new_expression,
@@ -8974,72 +9524,72 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
- anon_sym_LPAREN,
+ anon_sym_DQUOTE,
ACTIONS(49), 1,
+ anon_sym_LPAREN,
+ ACTIONS(51), 1,
anon_sym_new,
- ACTIONS(57), 1,
- anon_sym_DASH,
ACTIONS(59), 1,
- anon_sym_await,
+ anon_sym_DASH,
ACTIONS(61), 1,
- anon_sym_defer,
+ anon_sym_await,
ACTIONS(63), 1,
+ anon_sym_defer,
+ ACTIONS(65), 1,
anon_sym_LBRACK,
- STATE(129), 1,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(252), 1,
+ STATE(277), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(55), 2,
+ ACTIONS(57), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- STATE(144), 2,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -9067,72 +9617,72 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
- anon_sym_LPAREN,
+ anon_sym_DQUOTE,
ACTIONS(49), 1,
+ anon_sym_LPAREN,
+ ACTIONS(51), 1,
anon_sym_new,
- ACTIONS(57), 1,
- anon_sym_DASH,
ACTIONS(59), 1,
- anon_sym_await,
+ anon_sym_DASH,
ACTIONS(61), 1,
- anon_sym_defer,
+ anon_sym_await,
ACTIONS(63), 1,
+ anon_sym_defer,
+ ACTIONS(65), 1,
anon_sym_LBRACK,
- STATE(129), 1,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(246), 1,
+ STATE(253), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(55), 2,
+ ACTIONS(57), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- STATE(144), 2,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -9160,72 +9710,72 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
- anon_sym_LPAREN,
+ anon_sym_DQUOTE,
ACTIONS(49), 1,
+ anon_sym_LPAREN,
+ ACTIONS(51), 1,
anon_sym_new,
- ACTIONS(57), 1,
- anon_sym_DASH,
ACTIONS(59), 1,
- anon_sym_await,
+ anon_sym_DASH,
ACTIONS(61), 1,
- anon_sym_defer,
+ anon_sym_await,
ACTIONS(63), 1,
+ anon_sym_defer,
+ ACTIONS(65), 1,
anon_sym_LBRACK,
- STATE(129), 1,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(258), 1,
+ STATE(276), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(55), 2,
+ ACTIONS(57), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- STATE(144), 2,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -9253,72 +9803,72 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
- anon_sym_LPAREN,
+ anon_sym_DQUOTE,
ACTIONS(49), 1,
+ anon_sym_LPAREN,
+ ACTIONS(51), 1,
anon_sym_new,
- ACTIONS(57), 1,
- anon_sym_DASH,
ACTIONS(59), 1,
- anon_sym_await,
+ anon_sym_DASH,
ACTIONS(61), 1,
- anon_sym_defer,
+ anon_sym_await,
ACTIONS(63), 1,
+ anon_sym_defer,
+ ACTIONS(65), 1,
anon_sym_LBRACK,
- STATE(129), 1,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(270), 1,
+ STATE(282), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(55), 2,
+ ACTIONS(57), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- STATE(144), 2,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -9340,78 +9890,78 @@ static const uint16_t ts_small_parse_table[] = {
[4796] = 29,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(7), 1,
- sym_identifier,
ACTIONS(9), 1,
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
- anon_sym_LPAREN,
+ anon_sym_DQUOTE,
ACTIONS(49), 1,
+ anon_sym_LPAREN,
+ ACTIONS(65), 1,
+ anon_sym_LBRACK,
+ ACTIONS(222), 1,
+ sym_identifier,
+ ACTIONS(224), 1,
anon_sym_new,
- ACTIONS(57), 1,
+ ACTIONS(228), 1,
anon_sym_DASH,
- ACTIONS(59), 1,
+ ACTIONS(230), 1,
anon_sym_await,
- ACTIONS(61), 1,
+ ACTIONS(232), 1,
anon_sym_defer,
- ACTIONS(63), 1,
- anon_sym_LBRACK,
- STATE(129), 1,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(267), 1,
+ STATE(281), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(55), 2,
- anon_sym_DASH_DASH,
- anon_sym_BANG,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- STATE(144), 2,
+ ACTIONS(226), 2,
+ anon_sym_DASH_DASH,
+ anon_sym_BANG,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -9433,78 +9983,78 @@ static const uint16_t ts_small_parse_table[] = {
[4918] = 29,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(7), 1,
- sym_identifier,
ACTIONS(9), 1,
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
- anon_sym_LPAREN,
+ anon_sym_DQUOTE,
ACTIONS(49), 1,
+ anon_sym_LPAREN,
+ ACTIONS(65), 1,
+ anon_sym_LBRACK,
+ ACTIONS(222), 1,
+ sym_identifier,
+ ACTIONS(224), 1,
anon_sym_new,
- ACTIONS(57), 1,
+ ACTIONS(228), 1,
anon_sym_DASH,
- ACTIONS(59), 1,
+ ACTIONS(230), 1,
anon_sym_await,
- ACTIONS(61), 1,
+ ACTIONS(232), 1,
anon_sym_defer,
- ACTIONS(63), 1,
- anon_sym_LBRACK,
- STATE(129), 1,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(257), 1,
+ STATE(285), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(55), 2,
- anon_sym_DASH_DASH,
- anon_sym_BANG,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- STATE(144), 2,
+ ACTIONS(226), 2,
+ anon_sym_DASH_DASH,
+ anon_sym_BANG,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -9532,72 +10082,72 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
- anon_sym_LPAREN,
+ anon_sym_DQUOTE,
ACTIONS(49), 1,
+ anon_sym_LPAREN,
+ ACTIONS(51), 1,
anon_sym_new,
- ACTIONS(57), 1,
- anon_sym_DASH,
ACTIONS(59), 1,
- anon_sym_await,
+ anon_sym_DASH,
ACTIONS(61), 1,
- anon_sym_defer,
+ anon_sym_await,
ACTIONS(63), 1,
+ anon_sym_defer,
+ ACTIONS(65), 1,
anon_sym_LBRACK,
- STATE(129), 1,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(214), 1,
+ STATE(264), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(55), 2,
+ ACTIONS(57), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- STATE(144), 2,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -9625,72 +10175,72 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
- anon_sym_LPAREN,
+ anon_sym_DQUOTE,
ACTIONS(49), 1,
+ anon_sym_LPAREN,
+ ACTIONS(51), 1,
anon_sym_new,
- ACTIONS(57), 1,
- anon_sym_DASH,
ACTIONS(59), 1,
- anon_sym_await,
+ anon_sym_DASH,
ACTIONS(61), 1,
- anon_sym_defer,
+ anon_sym_await,
ACTIONS(63), 1,
+ anon_sym_defer,
+ ACTIONS(65), 1,
anon_sym_LBRACK,
- STATE(129), 1,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(254), 1,
+ STATE(292), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(55), 2,
+ ACTIONS(57), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- STATE(144), 2,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -9712,78 +10262,78 @@ static const uint16_t ts_small_parse_table[] = {
[5284] = 29,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(7), 1,
- sym_identifier,
ACTIONS(9), 1,
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
- anon_sym_LPAREN,
+ anon_sym_DQUOTE,
ACTIONS(49), 1,
+ anon_sym_LPAREN,
+ ACTIONS(65), 1,
+ anon_sym_LBRACK,
+ ACTIONS(222), 1,
+ sym_identifier,
+ ACTIONS(224), 1,
anon_sym_new,
- ACTIONS(57), 1,
+ ACTIONS(228), 1,
anon_sym_DASH,
- ACTIONS(59), 1,
+ ACTIONS(230), 1,
anon_sym_await,
- ACTIONS(61), 1,
+ ACTIONS(232), 1,
anon_sym_defer,
- ACTIONS(63), 1,
- anon_sym_LBRACK,
- STATE(129), 1,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(232), 1,
+ STATE(287), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(55), 2,
- anon_sym_DASH_DASH,
- anon_sym_BANG,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- STATE(144), 2,
+ ACTIONS(226), 2,
+ anon_sym_DASH_DASH,
+ anon_sym_BANG,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -9805,78 +10355,78 @@ static const uint16_t ts_small_parse_table[] = {
[5406] = 29,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(7), 1,
- sym_identifier,
ACTIONS(9), 1,
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
- anon_sym_LPAREN,
+ anon_sym_DQUOTE,
ACTIONS(49), 1,
+ anon_sym_LPAREN,
+ ACTIONS(65), 1,
+ anon_sym_LBRACK,
+ ACTIONS(222), 1,
+ sym_identifier,
+ ACTIONS(224), 1,
anon_sym_new,
- ACTIONS(57), 1,
+ ACTIONS(228), 1,
anon_sym_DASH,
- ACTIONS(59), 1,
+ ACTIONS(230), 1,
anon_sym_await,
- ACTIONS(61), 1,
+ ACTIONS(232), 1,
anon_sym_defer,
- ACTIONS(63), 1,
- anon_sym_LBRACK,
- STATE(129), 1,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(248), 1,
+ STATE(289), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(55), 2,
- anon_sym_DASH_DASH,
- anon_sym_BANG,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- STATE(144), 2,
+ ACTIONS(226), 2,
+ anon_sym_DASH_DASH,
+ anon_sym_BANG,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -9902,74 +10452,74 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(49), 1,
anon_sym_LPAREN,
- ACTIONS(63), 1,
+ ACTIONS(65), 1,
anon_sym_LBRACK,
- ACTIONS(217), 1,
+ ACTIONS(222), 1,
sym_identifier,
- ACTIONS(219), 1,
+ ACTIONS(224), 1,
anon_sym_new,
- ACTIONS(223), 1,
+ ACTIONS(228), 1,
anon_sym_DASH,
- ACTIONS(225), 1,
+ ACTIONS(230), 1,
anon_sym_await,
- ACTIONS(227), 1,
+ ACTIONS(232), 1,
anon_sym_defer,
- STATE(129), 1,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(157), 1,
+ STATE(291), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- ACTIONS(221), 2,
+ ACTIONS(226), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- STATE(144), 2,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -9995,74 +10545,74 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(49), 1,
anon_sym_LPAREN,
- ACTIONS(63), 1,
+ ACTIONS(65), 1,
anon_sym_LBRACK,
- ACTIONS(217), 1,
+ ACTIONS(222), 1,
sym_identifier,
- ACTIONS(219), 1,
+ ACTIONS(224), 1,
anon_sym_new,
- ACTIONS(223), 1,
+ ACTIONS(228), 1,
anon_sym_DASH,
- ACTIONS(225), 1,
+ ACTIONS(230), 1,
anon_sym_await,
- ACTIONS(227), 1,
+ ACTIONS(232), 1,
anon_sym_defer,
- STATE(129), 1,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(249), 1,
+ STATE(294), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- ACTIONS(221), 2,
+ ACTIONS(226), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- STATE(144), 2,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -10088,74 +10638,74 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(49), 1,
anon_sym_LPAREN,
- ACTIONS(63), 1,
+ ACTIONS(65), 1,
anon_sym_LBRACK,
- ACTIONS(217), 1,
+ ACTIONS(222), 1,
sym_identifier,
- ACTIONS(219), 1,
+ ACTIONS(224), 1,
anon_sym_new,
- ACTIONS(223), 1,
+ ACTIONS(228), 1,
anon_sym_DASH,
- ACTIONS(225), 1,
+ ACTIONS(230), 1,
anon_sym_await,
- ACTIONS(227), 1,
+ ACTIONS(232), 1,
anon_sym_defer,
- STATE(129), 1,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(277), 1,
+ STATE(254), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- ACTIONS(221), 2,
+ ACTIONS(226), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- STATE(144), 2,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -10177,78 +10727,78 @@ static const uint16_t ts_small_parse_table[] = {
[5894] = 29,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(7), 1,
- sym_identifier,
ACTIONS(9), 1,
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
- anon_sym_LPAREN,
+ anon_sym_DQUOTE,
ACTIONS(49), 1,
+ anon_sym_LPAREN,
+ ACTIONS(65), 1,
+ anon_sym_LBRACK,
+ ACTIONS(222), 1,
+ sym_identifier,
+ ACTIONS(224), 1,
anon_sym_new,
- ACTIONS(57), 1,
+ ACTIONS(228), 1,
anon_sym_DASH,
- ACTIONS(59), 1,
+ ACTIONS(230), 1,
anon_sym_await,
- ACTIONS(61), 1,
+ ACTIONS(232), 1,
anon_sym_defer,
- ACTIONS(63), 1,
- anon_sym_LBRACK,
- STATE(129), 1,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(260), 1,
+ STATE(263), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(55), 2,
- anon_sym_DASH_DASH,
- anon_sym_BANG,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- STATE(144), 2,
+ ACTIONS(226), 2,
+ anon_sym_DASH_DASH,
+ anon_sym_BANG,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -10270,78 +10820,78 @@ static const uint16_t ts_small_parse_table[] = {
[6016] = 29,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(7), 1,
- sym_identifier,
ACTIONS(9), 1,
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
- anon_sym_LPAREN,
+ anon_sym_DQUOTE,
ACTIONS(49), 1,
+ anon_sym_LPAREN,
+ ACTIONS(65), 1,
+ anon_sym_LBRACK,
+ ACTIONS(222), 1,
+ sym_identifier,
+ ACTIONS(224), 1,
anon_sym_new,
- ACTIONS(57), 1,
+ ACTIONS(228), 1,
anon_sym_DASH,
- ACTIONS(59), 1,
+ ACTIONS(230), 1,
anon_sym_await,
- ACTIONS(61), 1,
+ ACTIONS(232), 1,
anon_sym_defer,
- ACTIONS(63), 1,
- anon_sym_LBRACK,
- STATE(129), 1,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(259), 1,
+ STATE(265), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(55), 2,
- anon_sym_DASH_DASH,
- anon_sym_BANG,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- STATE(144), 2,
+ ACTIONS(226), 2,
+ anon_sym_DASH_DASH,
+ anon_sym_BANG,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -10367,74 +10917,74 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(49), 1,
anon_sym_LPAREN,
- ACTIONS(63), 1,
+ ACTIONS(65), 1,
anon_sym_LBRACK,
- ACTIONS(217), 1,
+ ACTIONS(222), 1,
sym_identifier,
- ACTIONS(219), 1,
+ ACTIONS(224), 1,
anon_sym_new,
- ACTIONS(223), 1,
+ ACTIONS(228), 1,
anon_sym_DASH,
- ACTIONS(225), 1,
+ ACTIONS(230), 1,
anon_sym_await,
- ACTIONS(227), 1,
+ ACTIONS(232), 1,
anon_sym_defer,
- STATE(129), 1,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(273), 1,
+ STATE(271), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- ACTIONS(221), 2,
+ ACTIONS(226), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- STATE(144), 2,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -10456,78 +11006,78 @@ static const uint16_t ts_small_parse_table[] = {
[6260] = 29,
ACTIONS(3), 1,
sym_comment,
+ ACTIONS(7), 1,
+ sym_identifier,
ACTIONS(9), 1,
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(49), 1,
anon_sym_LPAREN,
- ACTIONS(63), 1,
- anon_sym_LBRACK,
- ACTIONS(217), 1,
- sym_identifier,
- ACTIONS(219), 1,
+ ACTIONS(51), 1,
anon_sym_new,
- ACTIONS(223), 1,
+ ACTIONS(59), 1,
anon_sym_DASH,
- ACTIONS(225), 1,
+ ACTIONS(61), 1,
anon_sym_await,
- ACTIONS(227), 1,
+ ACTIONS(63), 1,
anon_sym_defer,
- STATE(129), 1,
+ ACTIONS(65), 1,
+ anon_sym_LBRACK,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(244), 1,
+ STATE(283), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(65), 2,
- anon_sym_Json,
- anon_sym_MutJson,
- ACTIONS(221), 2,
+ ACTIONS(57), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- STATE(144), 2,
+ ACTIONS(67), 2,
+ anon_sym_Json,
+ anon_sym_MutJson,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -10549,78 +11099,78 @@ static const uint16_t ts_small_parse_table[] = {
[6382] = 29,
ACTIONS(3), 1,
sym_comment,
+ ACTIONS(7), 1,
+ sym_identifier,
ACTIONS(9), 1,
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(49), 1,
anon_sym_LPAREN,
- ACTIONS(63), 1,
- anon_sym_LBRACK,
- ACTIONS(217), 1,
- sym_identifier,
- ACTIONS(219), 1,
+ ACTIONS(51), 1,
anon_sym_new,
- ACTIONS(223), 1,
+ ACTIONS(59), 1,
anon_sym_DASH,
- ACTIONS(225), 1,
+ ACTIONS(61), 1,
anon_sym_await,
- ACTIONS(227), 1,
+ ACTIONS(63), 1,
anon_sym_defer,
- STATE(129), 1,
+ ACTIONS(65), 1,
+ anon_sym_LBRACK,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(266), 1,
+ STATE(174), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(65), 2,
- anon_sym_Json,
- anon_sym_MutJson,
- ACTIONS(221), 2,
+ ACTIONS(57), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- STATE(144), 2,
+ ACTIONS(67), 2,
+ anon_sym_Json,
+ anon_sym_MutJson,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -10642,78 +11192,78 @@ static const uint16_t ts_small_parse_table[] = {
[6504] = 29,
ACTIONS(3), 1,
sym_comment,
+ ACTIONS(7), 1,
+ sym_identifier,
ACTIONS(9), 1,
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(49), 1,
anon_sym_LPAREN,
- ACTIONS(63), 1,
- anon_sym_LBRACK,
- ACTIONS(217), 1,
- sym_identifier,
- ACTIONS(219), 1,
+ ACTIONS(51), 1,
anon_sym_new,
- ACTIONS(223), 1,
+ ACTIONS(59), 1,
anon_sym_DASH,
- ACTIONS(225), 1,
+ ACTIONS(61), 1,
anon_sym_await,
- ACTIONS(227), 1,
+ ACTIONS(63), 1,
anon_sym_defer,
- STATE(129), 1,
+ ACTIONS(65), 1,
+ anon_sym_LBRACK,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(256), 1,
+ STATE(246), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(65), 2,
- anon_sym_Json,
- anon_sym_MutJson,
- ACTIONS(221), 2,
+ ACTIONS(57), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- STATE(144), 2,
+ ACTIONS(67), 2,
+ anon_sym_Json,
+ anon_sym_MutJson,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -10741,72 +11291,72 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
- anon_sym_LPAREN,
+ anon_sym_DQUOTE,
ACTIONS(49), 1,
+ anon_sym_LPAREN,
+ ACTIONS(51), 1,
anon_sym_new,
- ACTIONS(57), 1,
- anon_sym_DASH,
ACTIONS(59), 1,
- anon_sym_await,
+ anon_sym_DASH,
ACTIONS(61), 1,
- anon_sym_defer,
+ anon_sym_await,
ACTIONS(63), 1,
+ anon_sym_defer,
+ ACTIONS(65), 1,
anon_sym_LBRACK,
- STATE(129), 1,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(264), 1,
+ STATE(198), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(55), 2,
+ ACTIONS(57), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- STATE(144), 2,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -10834,72 +11384,72 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
- anon_sym_LPAREN,
+ anon_sym_DQUOTE,
ACTIONS(49), 1,
+ anon_sym_LPAREN,
+ ACTIONS(51), 1,
anon_sym_new,
- ACTIONS(57), 1,
- anon_sym_DASH,
ACTIONS(59), 1,
- anon_sym_await,
+ anon_sym_DASH,
ACTIONS(61), 1,
- anon_sym_defer,
+ anon_sym_await,
ACTIONS(63), 1,
+ anon_sym_defer,
+ ACTIONS(65), 1,
anon_sym_LBRACK,
- STATE(129), 1,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(278), 1,
+ STATE(197), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(55), 2,
+ ACTIONS(57), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- STATE(144), 2,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -10927,72 +11477,72 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
- anon_sym_LPAREN,
+ anon_sym_DQUOTE,
ACTIONS(49), 1,
+ anon_sym_LPAREN,
+ ACTIONS(51), 1,
anon_sym_new,
- ACTIONS(57), 1,
- anon_sym_DASH,
ACTIONS(59), 1,
- anon_sym_await,
+ anon_sym_DASH,
ACTIONS(61), 1,
- anon_sym_defer,
+ anon_sym_await,
ACTIONS(63), 1,
+ anon_sym_defer,
+ ACTIONS(65), 1,
anon_sym_LBRACK,
- STATE(129), 1,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(157), 1,
+ STATE(196), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(55), 2,
+ ACTIONS(57), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- STATE(144), 2,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -11020,72 +11570,72 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
- anon_sym_LPAREN,
+ anon_sym_DQUOTE,
ACTIONS(49), 1,
+ anon_sym_LPAREN,
+ ACTIONS(51), 1,
anon_sym_new,
- ACTIONS(57), 1,
- anon_sym_DASH,
ACTIONS(59), 1,
- anon_sym_await,
+ anon_sym_DASH,
ACTIONS(61), 1,
- anon_sym_defer,
+ anon_sym_await,
ACTIONS(63), 1,
+ anon_sym_defer,
+ ACTIONS(65), 1,
anon_sym_LBRACK,
- STATE(129), 1,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(184), 1,
+ STATE(195), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(55), 2,
+ ACTIONS(57), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- STATE(144), 2,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -11107,78 +11657,78 @@ static const uint16_t ts_small_parse_table[] = {
[7114] = 29,
ACTIONS(3), 1,
sym_comment,
+ ACTIONS(7), 1,
+ sym_identifier,
ACTIONS(9), 1,
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(49), 1,
anon_sym_LPAREN,
- ACTIONS(63), 1,
- anon_sym_LBRACK,
- ACTIONS(217), 1,
- sym_identifier,
- ACTIONS(219), 1,
+ ACTIONS(51), 1,
anon_sym_new,
- ACTIONS(223), 1,
+ ACTIONS(59), 1,
anon_sym_DASH,
- ACTIONS(225), 1,
+ ACTIONS(61), 1,
anon_sym_await,
- ACTIONS(227), 1,
+ ACTIONS(63), 1,
anon_sym_defer,
- STATE(129), 1,
+ ACTIONS(65), 1,
+ anon_sym_LBRACK,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(263), 1,
+ STATE(194), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(65), 2,
- anon_sym_Json,
- anon_sym_MutJson,
- ACTIONS(221), 2,
+ ACTIONS(57), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- STATE(144), 2,
+ ACTIONS(67), 2,
+ anon_sym_Json,
+ anon_sym_MutJson,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -11206,72 +11756,72 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
- anon_sym_LPAREN,
+ anon_sym_DQUOTE,
ACTIONS(49), 1,
+ anon_sym_LPAREN,
+ ACTIONS(51), 1,
anon_sym_new,
- ACTIONS(57), 1,
- anon_sym_DASH,
ACTIONS(59), 1,
- anon_sym_await,
+ anon_sym_DASH,
ACTIONS(61), 1,
- anon_sym_defer,
+ anon_sym_await,
ACTIONS(63), 1,
+ anon_sym_defer,
+ ACTIONS(65), 1,
anon_sym_LBRACK,
- STATE(129), 1,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(182), 1,
+ STATE(193), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(55), 2,
+ ACTIONS(57), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- STATE(144), 2,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -11299,72 +11849,72 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
- anon_sym_LPAREN,
+ anon_sym_DQUOTE,
ACTIONS(49), 1,
+ anon_sym_LPAREN,
+ ACTIONS(51), 1,
anon_sym_new,
- ACTIONS(57), 1,
- anon_sym_DASH,
ACTIONS(59), 1,
- anon_sym_await,
+ anon_sym_DASH,
ACTIONS(61), 1,
- anon_sym_defer,
+ anon_sym_await,
ACTIONS(63), 1,
+ anon_sym_defer,
+ ACTIONS(65), 1,
anon_sym_LBRACK,
- STATE(129), 1,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(181), 1,
+ STATE(279), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(55), 2,
+ ACTIONS(57), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- STATE(144), 2,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -11392,72 +11942,72 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
- anon_sym_LPAREN,
+ anon_sym_DQUOTE,
ACTIONS(49), 1,
+ anon_sym_LPAREN,
+ ACTIONS(51), 1,
anon_sym_new,
- ACTIONS(57), 1,
- anon_sym_DASH,
ACTIONS(59), 1,
- anon_sym_await,
+ anon_sym_DASH,
ACTIONS(61), 1,
- anon_sym_defer,
+ anon_sym_await,
ACTIONS(63), 1,
+ anon_sym_defer,
+ ACTIONS(65), 1,
anon_sym_LBRACK,
- STATE(129), 1,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(180), 1,
+ STATE(274), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(55), 2,
+ ACTIONS(57), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- STATE(144), 2,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -11485,72 +12035,72 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
- anon_sym_LPAREN,
+ anon_sym_DQUOTE,
ACTIONS(49), 1,
+ anon_sym_LPAREN,
+ ACTIONS(51), 1,
anon_sym_new,
- ACTIONS(57), 1,
- anon_sym_DASH,
ACTIONS(59), 1,
- anon_sym_await,
+ anon_sym_DASH,
ACTIONS(61), 1,
- anon_sym_defer,
+ anon_sym_await,
ACTIONS(63), 1,
+ anon_sym_defer,
+ ACTIONS(65), 1,
anon_sym_LBRACK,
- STATE(129), 1,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(280), 1,
+ STATE(192), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(55), 2,
+ ACTIONS(57), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- STATE(144), 2,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -11576,74 +12126,74 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(49), 1,
anon_sym_LPAREN,
- ACTIONS(63), 1,
+ ACTIONS(65), 1,
anon_sym_LBRACK,
- ACTIONS(217), 1,
+ ACTIONS(222), 1,
sym_identifier,
- ACTIONS(219), 1,
+ ACTIONS(224), 1,
anon_sym_new,
- ACTIONS(223), 1,
+ ACTIONS(228), 1,
anon_sym_DASH,
- ACTIONS(225), 1,
+ ACTIONS(230), 1,
anon_sym_await,
- ACTIONS(227), 1,
+ ACTIONS(232), 1,
anon_sym_defer,
- STATE(129), 1,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(235), 1,
+ STATE(272), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- ACTIONS(221), 2,
+ ACTIONS(226), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- STATE(144), 2,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -11665,78 +12215,78 @@ static const uint16_t ts_small_parse_table[] = {
[7846] = 29,
ACTIONS(3), 1,
sym_comment,
+ ACTIONS(7), 1,
+ sym_identifier,
ACTIONS(9), 1,
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(49), 1,
anon_sym_LPAREN,
- ACTIONS(63), 1,
- anon_sym_LBRACK,
- ACTIONS(217), 1,
- sym_identifier,
- ACTIONS(219), 1,
+ ACTIONS(51), 1,
anon_sym_new,
- ACTIONS(223), 1,
+ ACTIONS(59), 1,
anon_sym_DASH,
- ACTIONS(225), 1,
+ ACTIONS(61), 1,
anon_sym_await,
- ACTIONS(227), 1,
+ ACTIONS(63), 1,
anon_sym_defer,
- STATE(129), 1,
+ ACTIONS(65), 1,
+ anon_sym_LBRACK,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(269), 1,
+ STATE(258), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(65), 2,
- anon_sym_Json,
- anon_sym_MutJson,
- ACTIONS(221), 2,
+ ACTIONS(57), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- STATE(144), 2,
+ ACTIONS(67), 2,
+ anon_sym_Json,
+ anon_sym_MutJson,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -11758,78 +12308,78 @@ static const uint16_t ts_small_parse_table[] = {
[7968] = 29,
ACTIONS(3), 1,
sym_comment,
+ ACTIONS(7), 1,
+ sym_identifier,
ACTIONS(9), 1,
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(49), 1,
anon_sym_LPAREN,
- ACTIONS(63), 1,
- anon_sym_LBRACK,
- ACTIONS(217), 1,
- sym_identifier,
- ACTIONS(219), 1,
+ ACTIONS(51), 1,
anon_sym_new,
- ACTIONS(223), 1,
+ ACTIONS(59), 1,
anon_sym_DASH,
- ACTIONS(225), 1,
+ ACTIONS(61), 1,
anon_sym_await,
- ACTIONS(227), 1,
+ ACTIONS(63), 1,
anon_sym_defer,
- STATE(129), 1,
+ ACTIONS(65), 1,
+ anon_sym_LBRACK,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(255), 1,
+ STATE(259), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(65), 2,
- anon_sym_Json,
- anon_sym_MutJson,
- ACTIONS(221), 2,
+ ACTIONS(57), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- STATE(144), 2,
+ ACTIONS(67), 2,
+ anon_sym_Json,
+ anon_sym_MutJson,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -11851,78 +12401,78 @@ static const uint16_t ts_small_parse_table[] = {
[8090] = 29,
ACTIONS(3), 1,
sym_comment,
+ ACTIONS(7), 1,
+ sym_identifier,
ACTIONS(9), 1,
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(49), 1,
anon_sym_LPAREN,
- ACTIONS(63), 1,
- anon_sym_LBRACK,
- ACTIONS(217), 1,
- sym_identifier,
- ACTIONS(219), 1,
+ ACTIONS(51), 1,
anon_sym_new,
- ACTIONS(223), 1,
+ ACTIONS(59), 1,
anon_sym_DASH,
- ACTIONS(225), 1,
+ ACTIONS(61), 1,
anon_sym_await,
- ACTIONS(227), 1,
+ ACTIONS(63), 1,
anon_sym_defer,
- STATE(129), 1,
+ ACTIONS(65), 1,
+ anon_sym_LBRACK,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(274), 1,
+ STATE(278), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(65), 2,
- anon_sym_Json,
- anon_sym_MutJson,
- ACTIONS(221), 2,
+ ACTIONS(57), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- STATE(144), 2,
- sym__integer,
+ ACTIONS(67), 2,
+ anon_sym_Json,
+ anon_sym_MutJson,
+ STATE(159), 2,
+ sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -11950,72 +12500,72 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LBRACE,
ACTIONS(11), 1,
anon_sym_inflight,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
ACTIONS(47), 1,
- anon_sym_LPAREN,
+ anon_sym_DQUOTE,
ACTIONS(49), 1,
+ anon_sym_LPAREN,
+ ACTIONS(51), 1,
anon_sym_new,
- ACTIONS(57), 1,
- anon_sym_DASH,
ACTIONS(59), 1,
- anon_sym_await,
+ anon_sym_DASH,
ACTIONS(61), 1,
- anon_sym_defer,
+ anon_sym_await,
ACTIONS(63), 1,
+ anon_sym_defer,
+ ACTIONS(65), 1,
anon_sym_LBRACK,
- STATE(129), 1,
+ STATE(147), 1,
sym_json_container_type,
- STATE(133), 1,
+ STATE(158), 1,
sym_number,
- STATE(149), 1,
+ STATE(166), 1,
sym_nested_identifier,
- STATE(179), 1,
+ STATE(270), 1,
sym_expression,
- STATE(422), 1,
+ STATE(503), 1,
sym_parameter_list,
- STATE(597), 1,
+ STATE(715), 1,
sym_custom_type,
- ACTIONS(39), 2,
+ ACTIONS(41), 2,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
+ ACTIONS(43), 2,
aux_sym__decimal_token1,
aux_sym__decimal_token2,
- ACTIONS(43), 2,
+ ACTIONS(45), 2,
anon_sym_true,
anon_sym_false,
- ACTIONS(55), 2,
+ ACTIONS(57), 2,
anon_sym_DASH_DASH,
anon_sym_BANG,
- ACTIONS(65), 2,
+ ACTIONS(67), 2,
anon_sym_Json,
anon_sym_MutJson,
- STATE(144), 2,
+ STATE(159), 2,
sym__integer,
sym__decimal,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
+ STATE(177), 3,
sym_seconds,
sym_minutes,
sym_hours,
- STATE(513), 3,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(597), 3,
sym_immutable_container_type,
sym_mutable_container_type,
sym__builtin_container_type,
- ACTIONS(51), 4,
+ ACTIONS(53), 4,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- STATE(158), 18,
+ STATE(216), 18,
sym_reference,
sym__literal,
sym_call,
@@ -12037,7 +12587,7 @@ static const uint16_t ts_small_parse_table[] = {
[8334] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(229), 10,
+ ACTIONS(234), 10,
ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
@@ -12048,7 +12598,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_DASH_DASH,
anon_sym_BANG,
anon_sym_LBRACK,
- ACTIONS(231), 43,
+ ACTIONS(236), 44,
sym_identifier,
anon_sym_inflight,
anon_sym_bring,
@@ -12060,6 +12610,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_let,
anon_sym_class,
anon_sym_resource,
+ anon_sym_interface,
anon_sym_for,
anon_sym_while,
anon_sym_break,
@@ -12092,10 +12643,10 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_defer,
anon_sym_Json,
anon_sym_MutJson,
- [8395] = 3,
+ [8396] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(233), 10,
+ ACTIONS(238), 10,
ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
@@ -12106,7 +12657,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_DASH_DASH,
anon_sym_BANG,
anon_sym_LBRACK,
- ACTIONS(235), 43,
+ ACTIONS(240), 44,
sym_identifier,
anon_sym_inflight,
anon_sym_bring,
@@ -12118,6 +12669,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_let,
anon_sym_class,
anon_sym_resource,
+ anon_sym_interface,
anon_sym_for,
anon_sym_while,
anon_sym_break,
@@ -12150,18 +12702,16 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_defer,
anon_sym_Json,
anon_sym_MutJson,
- [8456] = 7,
+ [8458] = 6,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(241), 1,
- anon_sym_else,
- ACTIONS(243), 1,
+ ACTIONS(246), 1,
anon_sym_elif,
- STATE(85), 1,
+ STATE(84), 1,
aux_sym_if_statement_repeat1,
STATE(89), 1,
sym_elif_block,
- ACTIONS(237), 10,
+ ACTIONS(242), 10,
ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
@@ -12172,7 +12722,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_DASH_DASH,
anon_sym_BANG,
anon_sym_LBRACK,
- ACTIONS(239), 32,
+ ACTIONS(244), 34,
sym_identifier,
anon_sym_inflight,
anon_sym_bring,
@@ -12182,11 +12732,13 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_let,
anon_sym_class,
anon_sym_resource,
+ anon_sym_interface,
anon_sym_for,
anon_sym_while,
anon_sym_break,
anon_sym_continue,
anon_sym_if,
+ anon_sym_else,
anon_sym_try,
anon_sym_0,
aux_sym__integer_token1,
@@ -12205,16 +12757,18 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_defer,
anon_sym_Json,
anon_sym_MutJson,
- [8518] = 6,
+ [8519] = 7,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(249), 1,
+ ACTIONS(253), 1,
+ anon_sym_else,
+ ACTIONS(255), 1,
anon_sym_elif,
- STATE(85), 1,
+ STATE(86), 1,
aux_sym_if_statement_repeat1,
STATE(89), 1,
sym_elif_block,
- ACTIONS(245), 10,
+ ACTIONS(249), 10,
ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
@@ -12225,7 +12779,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_DASH_DASH,
anon_sym_BANG,
anon_sym_LBRACK,
- ACTIONS(247), 33,
+ ACTIONS(251), 33,
sym_identifier,
anon_sym_inflight,
anon_sym_bring,
@@ -12235,12 +12789,12 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_let,
anon_sym_class,
anon_sym_resource,
+ anon_sym_interface,
anon_sym_for,
anon_sym_while,
anon_sym_break,
anon_sym_continue,
anon_sym_if,
- anon_sym_else,
anon_sym_try,
anon_sym_0,
aux_sym__integer_token1,
@@ -12259,18 +12813,18 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_defer,
anon_sym_Json,
anon_sym_MutJson,
- [8578] = 7,
+ [8582] = 7,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(243), 1,
+ ACTIONS(255), 1,
anon_sym_elif,
- ACTIONS(256), 1,
+ ACTIONS(261), 1,
anon_sym_else,
STATE(84), 1,
aux_sym_if_statement_repeat1,
STATE(89), 1,
sym_elif_block,
- ACTIONS(252), 10,
+ ACTIONS(257), 10,
ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
@@ -12281,7 +12835,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_DASH_DASH,
anon_sym_BANG,
anon_sym_LBRACK,
- ACTIONS(254), 32,
+ ACTIONS(259), 33,
sym_identifier,
anon_sym_inflight,
anon_sym_bring,
@@ -12291,6 +12845,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_let,
anon_sym_class,
anon_sym_resource,
+ anon_sym_interface,
anon_sym_for,
anon_sym_while,
anon_sym_break,
@@ -12314,10 +12869,14 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_defer,
anon_sym_Json,
anon_sym_MutJson,
- [8640] = 3,
+ [8645] = 5,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(258), 10,
+ ACTIONS(267), 1,
+ anon_sym_catch,
+ ACTIONS(269), 1,
+ anon_sym_finally,
+ ACTIONS(263), 10,
ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
@@ -12328,7 +12887,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_DASH_DASH,
anon_sym_BANG,
anon_sym_LBRACK,
- ACTIONS(260), 34,
+ ACTIONS(265), 33,
sym_identifier,
anon_sym_inflight,
anon_sym_bring,
@@ -12338,13 +12897,12 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_let,
anon_sym_class,
anon_sym_resource,
+ anon_sym_interface,
anon_sym_for,
anon_sym_while,
anon_sym_break,
anon_sym_continue,
anon_sym_if,
- anon_sym_else,
- anon_sym_elif,
anon_sym_try,
anon_sym_0,
aux_sym__integer_token1,
@@ -12363,14 +12921,10 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_defer,
anon_sym_Json,
anon_sym_MutJson,
- [8692] = 5,
+ [8702] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(266), 1,
- anon_sym_catch,
- ACTIONS(268), 1,
- anon_sym_finally,
- ACTIONS(262), 10,
+ ACTIONS(271), 10,
ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
@@ -12381,7 +12935,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_DASH_DASH,
anon_sym_BANG,
anon_sym_LBRACK,
- ACTIONS(264), 32,
+ ACTIONS(273), 35,
sym_identifier,
anon_sym_inflight,
anon_sym_bring,
@@ -12391,11 +12945,14 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_let,
anon_sym_class,
anon_sym_resource,
+ anon_sym_interface,
anon_sym_for,
anon_sym_while,
anon_sym_break,
anon_sym_continue,
anon_sym_if,
+ anon_sym_else,
+ anon_sym_elif,
anon_sym_try,
anon_sym_0,
aux_sym__integer_token1,
@@ -12414,10 +12971,10 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_defer,
anon_sym_Json,
anon_sym_MutJson,
- [8748] = 3,
+ [8755] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(270), 10,
+ ACTIONS(275), 10,
ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
@@ -12428,7 +12985,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_DASH_DASH,
anon_sym_BANG,
anon_sym_LBRACK,
- ACTIONS(272), 34,
+ ACTIONS(277), 35,
sym_identifier,
anon_sym_inflight,
anon_sym_bring,
@@ -12438,6 +12995,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_let,
anon_sym_class,
anon_sym_resource,
+ anon_sym_interface,
anon_sym_for,
anon_sym_while,
anon_sym_break,
@@ -12463,12 +13021,12 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_defer,
anon_sym_Json,
anon_sym_MutJson,
- [8800] = 4,
+ [8808] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(278), 1,
+ ACTIONS(283), 1,
anon_sym_finally,
- ACTIONS(274), 10,
+ ACTIONS(279), 10,
ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
@@ -12479,7 +13037,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_DASH_DASH,
anon_sym_BANG,
anon_sym_LBRACK,
- ACTIONS(276), 32,
+ ACTIONS(281), 33,
sym_identifier,
anon_sym_inflight,
anon_sym_bring,
@@ -12489,6 +13047,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_let,
anon_sym_class,
anon_sym_resource,
+ anon_sym_interface,
anon_sym_for,
anon_sym_while,
anon_sym_break,
@@ -12512,12 +13071,12 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_defer,
anon_sym_Json,
anon_sym_MutJson,
- [8853] = 4,
+ [8862] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(284), 1,
+ ACTIONS(289), 1,
anon_sym_finally,
- ACTIONS(280), 10,
+ ACTIONS(285), 10,
ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
@@ -12528,7 +13087,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_DASH_DASH,
anon_sym_BANG,
anon_sym_LBRACK,
- ACTIONS(282), 32,
+ ACTIONS(287), 33,
sym_identifier,
anon_sym_inflight,
anon_sym_bring,
@@ -12538,6 +13097,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_let,
anon_sym_class,
anon_sym_resource,
+ anon_sym_interface,
anon_sym_for,
anon_sym_while,
anon_sym_break,
@@ -12561,10 +13121,10 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_defer,
anon_sym_Json,
anon_sym_MutJson,
- [8906] = 3,
+ [8916] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(286), 10,
+ ACTIONS(291), 10,
ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
@@ -12575,7 +13135,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_DASH_DASH,
anon_sym_BANG,
anon_sym_LBRACK,
- ACTIONS(288), 32,
+ ACTIONS(293), 33,
sym_identifier,
anon_sym_inflight,
anon_sym_bring,
@@ -12585,6 +13145,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_let,
anon_sym_class,
anon_sym_resource,
+ anon_sym_interface,
anon_sym_for,
anon_sym_while,
anon_sym_break,
@@ -12608,10 +13169,10 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_defer,
anon_sym_Json,
anon_sym_MutJson,
- [8956] = 3,
+ [8967] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(290), 10,
+ ACTIONS(295), 10,
ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
@@ -12622,7 +13183,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_DASH_DASH,
anon_sym_BANG,
anon_sym_LBRACK,
- ACTIONS(292), 32,
+ ACTIONS(297), 33,
sym_identifier,
anon_sym_inflight,
anon_sym_bring,
@@ -12632,6 +13193,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_let,
anon_sym_class,
anon_sym_resource,
+ anon_sym_interface,
anon_sym_for,
anon_sym_while,
anon_sym_break,
@@ -12655,10 +13217,10 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_defer,
anon_sym_Json,
anon_sym_MutJson,
- [9006] = 3,
+ [9018] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(294), 10,
+ ACTIONS(299), 10,
ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
@@ -12669,7 +13231,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_DASH_DASH,
anon_sym_BANG,
anon_sym_LBRACK,
- ACTIONS(296), 32,
+ ACTIONS(301), 33,
sym_identifier,
anon_sym_inflight,
anon_sym_bring,
@@ -12679,6 +13241,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_let,
anon_sym_class,
anon_sym_resource,
+ anon_sym_interface,
anon_sym_for,
anon_sym_while,
anon_sym_break,
@@ -12702,10 +13265,10 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_defer,
anon_sym_Json,
anon_sym_MutJson,
- [9056] = 3,
+ [9069] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(298), 10,
+ ACTIONS(303), 10,
ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
@@ -12716,7 +13279,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_DASH_DASH,
anon_sym_BANG,
anon_sym_LBRACK,
- ACTIONS(300), 32,
+ ACTIONS(305), 33,
sym_identifier,
anon_sym_inflight,
anon_sym_bring,
@@ -12726,6 +13289,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_let,
anon_sym_class,
anon_sym_resource,
+ anon_sym_interface,
anon_sym_for,
anon_sym_while,
anon_sym_break,
@@ -12749,10 +13313,10 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_defer,
anon_sym_Json,
anon_sym_MutJson,
- [9106] = 3,
+ [9120] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(302), 10,
+ ACTIONS(307), 10,
ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
@@ -12763,7 +13327,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_DASH_DASH,
anon_sym_BANG,
anon_sym_LBRACK,
- ACTIONS(304), 32,
+ ACTIONS(309), 33,
sym_identifier,
anon_sym_inflight,
anon_sym_bring,
@@ -12773,6 +13337,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_let,
anon_sym_class,
anon_sym_resource,
+ anon_sym_interface,
anon_sym_for,
anon_sym_while,
anon_sym_break,
@@ -12796,10 +13361,10 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_defer,
anon_sym_Json,
anon_sym_MutJson,
- [9156] = 3,
+ [9171] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(306), 10,
+ ACTIONS(311), 10,
ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
@@ -12810,7 +13375,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_DASH_DASH,
anon_sym_BANG,
anon_sym_LBRACK,
- ACTIONS(308), 32,
+ ACTIONS(313), 33,
sym_identifier,
anon_sym_inflight,
anon_sym_bring,
@@ -12820,6 +13385,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_let,
anon_sym_class,
anon_sym_resource,
+ anon_sym_interface,
anon_sym_for,
anon_sym_while,
anon_sym_break,
@@ -12843,10 +13409,10 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_defer,
anon_sym_Json,
anon_sym_MutJson,
- [9206] = 3,
+ [9222] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(310), 10,
+ ACTIONS(315), 10,
ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
@@ -12857,7 +13423,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_DASH_DASH,
anon_sym_BANG,
anon_sym_LBRACK,
- ACTIONS(312), 32,
+ ACTIONS(317), 33,
sym_identifier,
anon_sym_inflight,
anon_sym_bring,
@@ -12867,6 +13433,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_let,
anon_sym_class,
anon_sym_resource,
+ anon_sym_interface,
anon_sym_for,
anon_sym_while,
anon_sym_break,
@@ -12890,10 +13457,10 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_defer,
anon_sym_Json,
anon_sym_MutJson,
- [9256] = 3,
+ [9273] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(314), 10,
+ ACTIONS(319), 10,
ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
@@ -12904,7 +13471,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_DASH_DASH,
anon_sym_BANG,
anon_sym_LBRACK,
- ACTIONS(316), 32,
+ ACTIONS(321), 33,
sym_identifier,
anon_sym_inflight,
anon_sym_bring,
@@ -12914,6 +13481,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_let,
anon_sym_class,
anon_sym_resource,
+ anon_sym_interface,
anon_sym_for,
anon_sym_while,
anon_sym_break,
@@ -12937,10 +13505,10 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_defer,
anon_sym_Json,
anon_sym_MutJson,
- [9306] = 3,
+ [9324] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(318), 10,
+ ACTIONS(323), 10,
ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
@@ -12951,7 +13519,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_DASH_DASH,
anon_sym_BANG,
anon_sym_LBRACK,
- ACTIONS(320), 32,
+ ACTIONS(325), 33,
sym_identifier,
anon_sym_inflight,
anon_sym_bring,
@@ -12961,6 +13529,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_let,
anon_sym_class,
anon_sym_resource,
+ anon_sym_interface,
anon_sym_for,
anon_sym_while,
anon_sym_break,
@@ -12984,10 +13553,10 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_defer,
anon_sym_Json,
anon_sym_MutJson,
- [9356] = 3,
+ [9375] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(322), 10,
+ ACTIONS(327), 10,
ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
@@ -12998,7 +13567,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_DASH_DASH,
anon_sym_BANG,
anon_sym_LBRACK,
- ACTIONS(324), 32,
+ ACTIONS(329), 33,
sym_identifier,
anon_sym_inflight,
anon_sym_bring,
@@ -13008,6 +13577,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_let,
anon_sym_class,
anon_sym_resource,
+ anon_sym_interface,
anon_sym_for,
anon_sym_while,
anon_sym_break,
@@ -13031,10 +13601,10 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_defer,
anon_sym_Json,
anon_sym_MutJson,
- [9406] = 3,
+ [9426] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(326), 10,
+ ACTIONS(331), 10,
ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
@@ -13045,7 +13615,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_DASH_DASH,
anon_sym_BANG,
anon_sym_LBRACK,
- ACTIONS(328), 32,
+ ACTIONS(333), 33,
sym_identifier,
anon_sym_inflight,
anon_sym_bring,
@@ -13055,6 +13625,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_let,
anon_sym_class,
anon_sym_resource,
+ anon_sym_interface,
anon_sym_for,
anon_sym_while,
anon_sym_break,
@@ -13078,10 +13649,10 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_defer,
anon_sym_Json,
anon_sym_MutJson,
- [9456] = 3,
+ [9477] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(330), 10,
+ ACTIONS(335), 10,
ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
@@ -13092,7 +13663,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_DASH_DASH,
anon_sym_BANG,
anon_sym_LBRACK,
- ACTIONS(332), 32,
+ ACTIONS(337), 33,
sym_identifier,
anon_sym_inflight,
anon_sym_bring,
@@ -13102,6 +13673,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_let,
anon_sym_class,
anon_sym_resource,
+ anon_sym_interface,
anon_sym_for,
anon_sym_while,
anon_sym_break,
@@ -13125,10 +13697,10 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_defer,
anon_sym_Json,
anon_sym_MutJson,
- [9506] = 3,
+ [9528] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(334), 10,
+ ACTIONS(339), 10,
ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
@@ -13139,7 +13711,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_DASH_DASH,
anon_sym_BANG,
anon_sym_LBRACK,
- ACTIONS(336), 32,
+ ACTIONS(341), 33,
sym_identifier,
anon_sym_inflight,
anon_sym_bring,
@@ -13149,6 +13721,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_let,
anon_sym_class,
anon_sym_resource,
+ anon_sym_interface,
anon_sym_for,
anon_sym_while,
anon_sym_break,
@@ -13172,10 +13745,10 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_defer,
anon_sym_Json,
anon_sym_MutJson,
- [9556] = 3,
+ [9579] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(338), 10,
+ ACTIONS(343), 10,
ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
@@ -13186,7 +13759,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_DASH_DASH,
anon_sym_BANG,
anon_sym_LBRACK,
- ACTIONS(340), 32,
+ ACTIONS(345), 33,
sym_identifier,
anon_sym_inflight,
anon_sym_bring,
@@ -13196,6 +13769,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_let,
anon_sym_class,
anon_sym_resource,
+ anon_sym_interface,
anon_sym_for,
anon_sym_while,
anon_sym_break,
@@ -13219,10 +13793,10 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_defer,
anon_sym_Json,
anon_sym_MutJson,
- [9606] = 3,
+ [9630] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(342), 10,
+ ACTIONS(347), 10,
ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
@@ -13233,7 +13807,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_DASH_DASH,
anon_sym_BANG,
anon_sym_LBRACK,
- ACTIONS(344), 32,
+ ACTIONS(349), 33,
sym_identifier,
anon_sym_inflight,
anon_sym_bring,
@@ -13243,6 +13817,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_let,
anon_sym_class,
anon_sym_resource,
+ anon_sym_interface,
anon_sym_for,
anon_sym_while,
anon_sym_break,
@@ -13266,10 +13841,10 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_defer,
anon_sym_Json,
anon_sym_MutJson,
- [9656] = 3,
+ [9681] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(346), 10,
+ ACTIONS(351), 10,
ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
@@ -13280,7 +13855,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_DASH_DASH,
anon_sym_BANG,
anon_sym_LBRACK,
- ACTIONS(348), 32,
+ ACTIONS(353), 33,
sym_identifier,
anon_sym_inflight,
anon_sym_bring,
@@ -13290,6 +13865,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_let,
anon_sym_class,
anon_sym_resource,
+ anon_sym_interface,
anon_sym_for,
anon_sym_while,
anon_sym_break,
@@ -13313,10 +13889,10 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_defer,
anon_sym_Json,
anon_sym_MutJson,
- [9706] = 3,
+ [9732] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(350), 10,
+ ACTIONS(355), 10,
ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
@@ -13327,7 +13903,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_DASH_DASH,
anon_sym_BANG,
anon_sym_LBRACK,
- ACTIONS(352), 32,
+ ACTIONS(357), 33,
sym_identifier,
anon_sym_inflight,
anon_sym_bring,
@@ -13337,6 +13913,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_let,
anon_sym_class,
anon_sym_resource,
+ anon_sym_interface,
anon_sym_for,
anon_sym_while,
anon_sym_break,
@@ -13360,10 +13937,10 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_defer,
anon_sym_Json,
anon_sym_MutJson,
- [9756] = 3,
+ [9783] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(354), 10,
+ ACTIONS(359), 10,
ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
@@ -13374,7 +13951,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_DASH_DASH,
anon_sym_BANG,
anon_sym_LBRACK,
- ACTIONS(356), 32,
+ ACTIONS(361), 33,
sym_identifier,
anon_sym_inflight,
anon_sym_bring,
@@ -13384,6 +13961,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_let,
anon_sym_class,
anon_sym_resource,
+ anon_sym_interface,
anon_sym_for,
anon_sym_while,
anon_sym_break,
@@ -13407,10 +13985,10 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_defer,
anon_sym_Json,
anon_sym_MutJson,
- [9806] = 3,
+ [9834] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(358), 10,
+ ACTIONS(363), 10,
ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
@@ -13421,7 +13999,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_DASH_DASH,
anon_sym_BANG,
anon_sym_LBRACK,
- ACTIONS(360), 32,
+ ACTIONS(365), 33,
sym_identifier,
anon_sym_inflight,
anon_sym_bring,
@@ -13431,6 +14009,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_let,
anon_sym_class,
anon_sym_resource,
+ anon_sym_interface,
anon_sym_for,
anon_sym_while,
anon_sym_break,
@@ -13454,10 +14033,10 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_defer,
anon_sym_Json,
anon_sym_MutJson,
- [9856] = 3,
+ [9885] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(362), 10,
+ ACTIONS(367), 10,
ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
@@ -13468,7 +14047,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_DASH_DASH,
anon_sym_BANG,
anon_sym_LBRACK,
- ACTIONS(364), 32,
+ ACTIONS(369), 33,
sym_identifier,
anon_sym_inflight,
anon_sym_bring,
@@ -13478,6 +14057,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_let,
anon_sym_class,
anon_sym_resource,
+ anon_sym_interface,
anon_sym_for,
anon_sym_while,
anon_sym_break,
@@ -13501,10 +14081,10 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_defer,
anon_sym_Json,
anon_sym_MutJson,
- [9906] = 3,
+ [9936] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(366), 10,
+ ACTIONS(371), 10,
ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
@@ -13515,7 +14095,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_DASH_DASH,
anon_sym_BANG,
anon_sym_LBRACK,
- ACTIONS(368), 32,
+ ACTIONS(373), 33,
sym_identifier,
anon_sym_inflight,
anon_sym_bring,
@@ -13525,6 +14105,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_let,
anon_sym_class,
anon_sym_resource,
+ anon_sym_interface,
anon_sym_for,
anon_sym_while,
anon_sym_break,
@@ -13548,10 +14129,10 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_defer,
anon_sym_Json,
anon_sym_MutJson,
- [9956] = 3,
+ [9987] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(370), 10,
+ ACTIONS(375), 10,
ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
@@ -13562,7 +14143,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_DASH_DASH,
anon_sym_BANG,
anon_sym_LBRACK,
- ACTIONS(372), 32,
+ ACTIONS(377), 33,
sym_identifier,
anon_sym_inflight,
anon_sym_bring,
@@ -13572,6 +14153,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_let,
anon_sym_class,
anon_sym_resource,
+ anon_sym_interface,
anon_sym_for,
anon_sym_while,
anon_sym_break,
@@ -13595,10 +14177,10 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_defer,
anon_sym_Json,
anon_sym_MutJson,
- [10006] = 3,
+ [10038] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(374), 10,
+ ACTIONS(379), 10,
ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
@@ -13609,7 +14191,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_DASH_DASH,
anon_sym_BANG,
anon_sym_LBRACK,
- ACTIONS(376), 32,
+ ACTIONS(381), 33,
sym_identifier,
anon_sym_inflight,
anon_sym_bring,
@@ -13619,6 +14201,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_let,
anon_sym_class,
anon_sym_resource,
+ anon_sym_interface,
anon_sym_for,
anon_sym_while,
anon_sym_break,
@@ -13642,10 +14225,10 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_defer,
anon_sym_Json,
anon_sym_MutJson,
- [10056] = 3,
+ [10089] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(378), 10,
+ ACTIONS(383), 10,
ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
@@ -13656,7 +14239,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_DASH_DASH,
anon_sym_BANG,
anon_sym_LBRACK,
- ACTIONS(380), 32,
+ ACTIONS(385), 33,
sym_identifier,
anon_sym_inflight,
anon_sym_bring,
@@ -13666,6 +14249,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_let,
anon_sym_class,
anon_sym_resource,
+ anon_sym_interface,
anon_sym_for,
anon_sym_while,
anon_sym_break,
@@ -13689,10 +14273,10 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_defer,
anon_sym_Json,
anon_sym_MutJson,
- [10106] = 3,
+ [10140] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(382), 10,
+ ACTIONS(387), 10,
ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
@@ -13703,7 +14287,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_DASH_DASH,
anon_sym_BANG,
anon_sym_LBRACK,
- ACTIONS(384), 32,
+ ACTIONS(389), 33,
sym_identifier,
anon_sym_inflight,
anon_sym_bring,
@@ -13713,6 +14297,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_let,
anon_sym_class,
anon_sym_resource,
+ anon_sym_interface,
anon_sym_for,
anon_sym_while,
anon_sym_break,
@@ -13736,10 +14321,10 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_defer,
anon_sym_Json,
anon_sym_MutJson,
- [10156] = 3,
+ [10191] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(386), 10,
+ ACTIONS(391), 10,
ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
@@ -13750,7 +14335,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_DASH_DASH,
anon_sym_BANG,
anon_sym_LBRACK,
- ACTIONS(388), 32,
+ ACTIONS(393), 33,
sym_identifier,
anon_sym_inflight,
anon_sym_bring,
@@ -13760,6 +14345,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_let,
anon_sym_class,
anon_sym_resource,
+ anon_sym_interface,
anon_sym_for,
anon_sym_while,
anon_sym_break,
@@ -13783,10 +14369,10 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_defer,
anon_sym_Json,
anon_sym_MutJson,
- [10206] = 3,
+ [10242] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(390), 10,
+ ACTIONS(395), 10,
ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
@@ -13797,7 +14383,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_DASH_DASH,
anon_sym_BANG,
anon_sym_LBRACK,
- ACTIONS(392), 32,
+ ACTIONS(397), 33,
sym_identifier,
anon_sym_inflight,
anon_sym_bring,
@@ -13807,6 +14393,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_let,
anon_sym_class,
anon_sym_resource,
+ anon_sym_interface,
anon_sym_for,
anon_sym_while,
anon_sym_break,
@@ -13830,10 +14417,10 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_defer,
anon_sym_Json,
anon_sym_MutJson,
- [10256] = 3,
+ [10293] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(394), 10,
+ ACTIONS(399), 10,
ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
@@ -13844,7 +14431,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_DASH_DASH,
anon_sym_BANG,
anon_sym_LBRACK,
- ACTIONS(396), 32,
+ ACTIONS(401), 33,
sym_identifier,
anon_sym_inflight,
anon_sym_bring,
@@ -13854,6 +14441,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_let,
anon_sym_class,
anon_sym_resource,
+ anon_sym_interface,
anon_sym_for,
anon_sym_while,
anon_sym_break,
@@ -13877,10 +14465,10 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_defer,
anon_sym_Json,
anon_sym_MutJson,
- [10306] = 3,
+ [10344] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(398), 10,
+ ACTIONS(403), 10,
ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
@@ -13891,7 +14479,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_DASH_DASH,
anon_sym_BANG,
anon_sym_LBRACK,
- ACTIONS(400), 32,
+ ACTIONS(405), 33,
sym_identifier,
anon_sym_inflight,
anon_sym_bring,
@@ -13901,6 +14489,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_let,
anon_sym_class,
anon_sym_resource,
+ anon_sym_interface,
anon_sym_for,
anon_sym_while,
anon_sym_break,
@@ -13924,10 +14513,10 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_defer,
anon_sym_Json,
anon_sym_MutJson,
- [10356] = 3,
+ [10395] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(402), 10,
+ ACTIONS(407), 10,
ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
@@ -13938,7 +14527,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_DASH_DASH,
anon_sym_BANG,
anon_sym_LBRACK,
- ACTIONS(404), 32,
+ ACTIONS(409), 33,
sym_identifier,
anon_sym_inflight,
anon_sym_bring,
@@ -13948,6 +14537,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_let,
anon_sym_class,
anon_sym_resource,
+ anon_sym_interface,
anon_sym_for,
anon_sym_while,
anon_sym_break,
@@ -13971,10 +14561,10 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_defer,
anon_sym_Json,
anon_sym_MutJson,
- [10406] = 3,
+ [10446] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(406), 10,
+ ACTIONS(411), 10,
ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
@@ -13985,7 +14575,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_DASH_DASH,
anon_sym_BANG,
anon_sym_LBRACK,
- ACTIONS(408), 32,
+ ACTIONS(413), 33,
sym_identifier,
anon_sym_inflight,
anon_sym_bring,
@@ -13995,6 +14585,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_let,
anon_sym_class,
anon_sym_resource,
+ anon_sym_interface,
anon_sym_for,
anon_sym_while,
anon_sym_break,
@@ -14018,10 +14609,10 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_defer,
anon_sym_Json,
anon_sym_MutJson,
- [10456] = 3,
+ [10497] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(410), 10,
+ ACTIONS(415), 10,
ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
@@ -14032,7 +14623,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_DASH_DASH,
anon_sym_BANG,
anon_sym_LBRACK,
- ACTIONS(412), 32,
+ ACTIONS(417), 33,
sym_identifier,
anon_sym_inflight,
anon_sym_bring,
@@ -14042,6 +14633,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_let,
anon_sym_class,
anon_sym_resource,
+ anon_sym_interface,
anon_sym_for,
anon_sym_while,
anon_sym_break,
@@ -14065,10 +14657,10 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_defer,
anon_sym_Json,
anon_sym_MutJson,
- [10506] = 3,
+ [10548] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(414), 10,
+ ACTIONS(419), 10,
ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
@@ -14079,7 +14671,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_DASH_DASH,
anon_sym_BANG,
anon_sym_LBRACK,
- ACTIONS(416), 32,
+ ACTIONS(421), 33,
sym_identifier,
anon_sym_inflight,
anon_sym_bring,
@@ -14089,6 +14681,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_let,
anon_sym_class,
anon_sym_resource,
+ anon_sym_interface,
anon_sym_for,
anon_sym_while,
anon_sym_break,
@@ -14112,10 +14705,10 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_defer,
anon_sym_Json,
anon_sym_MutJson,
- [10556] = 3,
+ [10599] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(418), 10,
+ ACTIONS(423), 10,
ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
@@ -14126,7 +14719,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_DASH_DASH,
anon_sym_BANG,
anon_sym_LBRACK,
- ACTIONS(420), 32,
+ ACTIONS(425), 33,
sym_identifier,
anon_sym_inflight,
anon_sym_bring,
@@ -14136,6 +14729,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_let,
anon_sym_class,
anon_sym_resource,
+ anon_sym_interface,
anon_sym_for,
anon_sym_while,
anon_sym_break,
@@ -14159,10 +14753,10 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_defer,
anon_sym_Json,
anon_sym_MutJson,
- [10606] = 3,
+ [10650] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(422), 10,
+ ACTIONS(427), 10,
ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
@@ -14173,7 +14767,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_DASH_DASH,
anon_sym_BANG,
anon_sym_LBRACK,
- ACTIONS(424), 32,
+ ACTIONS(429), 33,
sym_identifier,
anon_sym_inflight,
anon_sym_bring,
@@ -14183,6 +14777,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_let,
anon_sym_class,
anon_sym_resource,
+ anon_sym_interface,
anon_sym_for,
anon_sym_while,
anon_sym_break,
@@ -14206,10 +14801,10 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_defer,
anon_sym_Json,
anon_sym_MutJson,
- [10656] = 3,
+ [10701] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(426), 10,
+ ACTIONS(431), 10,
ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
@@ -14220,7 +14815,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_DASH_DASH,
anon_sym_BANG,
anon_sym_LBRACK,
- ACTIONS(428), 32,
+ ACTIONS(433), 33,
sym_identifier,
anon_sym_inflight,
anon_sym_bring,
@@ -14230,6 +14825,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_let,
anon_sym_class,
anon_sym_resource,
+ anon_sym_interface,
anon_sym_for,
anon_sym_while,
anon_sym_break,
@@ -14253,10 +14849,10 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_defer,
anon_sym_Json,
anon_sym_MutJson,
- [10706] = 3,
+ [10752] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(430), 10,
+ ACTIONS(435), 10,
ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
@@ -14267,7 +14863,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_DASH_DASH,
anon_sym_BANG,
anon_sym_LBRACK,
- ACTIONS(432), 32,
+ ACTIONS(437), 33,
sym_identifier,
anon_sym_inflight,
anon_sym_bring,
@@ -14277,6 +14873,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_let,
anon_sym_class,
anon_sym_resource,
+ anon_sym_interface,
anon_sym_for,
anon_sym_while,
anon_sym_break,
@@ -14300,901 +14897,1353 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_defer,
anon_sym_Json,
anon_sym_MutJson,
- [10756] = 16,
+ [10803] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(45), 1,
+ ACTIONS(439), 10,
+ ts_builtin_sym_end,
+ anon_sym_LBRACE,
+ anon_sym_RBRACE,
+ aux_sym__decimal_token1,
+ aux_sym__decimal_token2,
anon_sym_DQUOTE,
- ACTIONS(63), 1,
+ anon_sym_LPAREN,
+ anon_sym_DASH_DASH,
+ anon_sym_BANG,
anon_sym_LBRACK,
- ACTIONS(434), 1,
- anon_sym_LBRACE,
- STATE(133), 1,
- sym_number,
- STATE(217), 1,
- sym_json_element,
- ACTIONS(39), 2,
+ ACTIONS(441), 33,
+ sym_identifier,
+ anon_sym_inflight,
+ anon_sym_bring,
+ anon_sym_struct,
+ anon_sym_enum,
+ anon_sym_return,
+ anon_sym_let,
+ anon_sym_class,
+ anon_sym_resource,
+ anon_sym_interface,
+ anon_sym_for,
+ anon_sym_while,
+ anon_sym_break,
+ anon_sym_continue,
+ anon_sym_if,
+ anon_sym_try,
anon_sym_0,
aux_sym__integer_token1,
- ACTIONS(41), 2,
- aux_sym__decimal_token1,
- aux_sym__decimal_token2,
- ACTIONS(436), 2,
anon_sym_true,
anon_sym_false,
- STATE(144), 2,
- sym__integer,
- sym__decimal,
- ACTIONS(440), 3,
- anon_sym_MutSet,
- anon_sym_MutMap,
- anon_sym_MutArray,
- STATE(187), 3,
- sym_bool,
- sym_duration,
- sym_string,
- STATE(189), 3,
- sym_seconds,
- sym_minutes,
- sym_hours,
- STATE(220), 3,
- sym__literal,
- sym_array_literal,
- sym_map_literal,
- STATE(572), 3,
- sym_immutable_container_type,
- sym_mutable_container_type,
- sym__builtin_container_type,
- ACTIONS(438), 4,
+ anon_sym_new,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- [10822] = 12,
- ACTIONS(3), 1,
- sym_comment,
- ACTIONS(442), 1,
- sym_identifier,
- ACTIONS(444), 1,
- anon_sym_inflight,
- ACTIONS(446), 1,
- anon_sym_LPAREN,
- ACTIONS(448), 1,
- anon_sym_RPAREN,
- STATE(352), 1,
- sym_parameter_type_list,
- STATE(558), 1,
- sym__inflight_specifier,
- ACTIONS(65), 2,
- anon_sym_Json,
- anon_sym_MutJson,
- ACTIONS(53), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- ACTIONS(51), 4,
- anon_sym_Array,
- anon_sym_Set,
- anon_sym_Map,
- anon_sym_Promise,
- ACTIONS(450), 6,
- anon_sym_num,
- anon_sym_bool,
- anon_sym_any,
- anon_sym_str,
- anon_sym_void,
- anon_sym_duration,
- STATE(419), 9,
- sym_custom_type,
- sym__type,
- sym_optional,
- sym_function_type,
- sym_builtin_type,
- sym_immutable_container_type,
- sym_mutable_container_type,
- sym__builtin_container_type,
- sym_json_container_type,
- [10878] = 12,
+ anon_sym_DASH,
+ anon_sym_await,
+ anon_sym_defer,
+ anon_sym_Json,
+ anon_sym_MutJson,
+ [10854] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(442), 1,
+ ACTIONS(443), 10,
+ ts_builtin_sym_end,
+ anon_sym_LBRACE,
+ anon_sym_RBRACE,
+ aux_sym__decimal_token1,
+ aux_sym__decimal_token2,
+ anon_sym_DQUOTE,
+ anon_sym_LPAREN,
+ anon_sym_DASH_DASH,
+ anon_sym_BANG,
+ anon_sym_LBRACK,
+ ACTIONS(445), 33,
sym_identifier,
- ACTIONS(444), 1,
anon_sym_inflight,
- ACTIONS(446), 1,
- anon_sym_LPAREN,
- ACTIONS(452), 1,
- anon_sym_RPAREN,
- STATE(352), 1,
- sym_parameter_type_list,
- STATE(558), 1,
- sym__inflight_specifier,
- ACTIONS(65), 2,
- anon_sym_Json,
- anon_sym_MutJson,
- ACTIONS(53), 3,
- anon_sym_MutSet,
- anon_sym_MutMap,
- anon_sym_MutArray,
- ACTIONS(51), 4,
+ anon_sym_bring,
+ anon_sym_struct,
+ anon_sym_enum,
+ anon_sym_return,
+ anon_sym_let,
+ anon_sym_class,
+ anon_sym_resource,
+ anon_sym_interface,
+ anon_sym_for,
+ anon_sym_while,
+ anon_sym_break,
+ anon_sym_continue,
+ anon_sym_if,
+ anon_sym_try,
+ anon_sym_0,
+ aux_sym__integer_token1,
+ anon_sym_true,
+ anon_sym_false,
+ anon_sym_new,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- ACTIONS(450), 6,
- anon_sym_num,
- anon_sym_bool,
- anon_sym_any,
- anon_sym_str,
- anon_sym_void,
- anon_sym_duration,
- STATE(401), 9,
- sym_custom_type,
- sym__type,
- sym_optional,
- sym_function_type,
- sym_builtin_type,
- sym_immutable_container_type,
- sym_mutable_container_type,
- sym__builtin_container_type,
- sym_json_container_type,
- [10934] = 12,
- ACTIONS(3), 1,
- sym_comment,
- ACTIONS(442), 1,
- sym_identifier,
- ACTIONS(444), 1,
- anon_sym_inflight,
- ACTIONS(446), 1,
- anon_sym_LPAREN,
- ACTIONS(454), 1,
- anon_sym_RPAREN,
- STATE(352), 1,
- sym_parameter_type_list,
- STATE(558), 1,
- sym__inflight_specifier,
- ACTIONS(65), 2,
- anon_sym_Json,
- anon_sym_MutJson,
- ACTIONS(53), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- ACTIONS(51), 4,
- anon_sym_Array,
- anon_sym_Set,
- anon_sym_Map,
- anon_sym_Promise,
- ACTIONS(450), 6,
- anon_sym_num,
- anon_sym_bool,
- anon_sym_any,
- anon_sym_str,
- anon_sym_void,
- anon_sym_duration,
- STATE(419), 9,
- sym_custom_type,
- sym__type,
- sym_optional,
- sym_function_type,
- sym_builtin_type,
- sym_immutable_container_type,
- sym_mutable_container_type,
- sym__builtin_container_type,
- sym_json_container_type,
- [10990] = 6,
+ anon_sym_DASH,
+ anon_sym_await,
+ anon_sym_defer,
+ anon_sym_Json,
+ anon_sym_MutJson,
+ [10905] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(458), 1,
- anon_sym_s,
- ACTIONS(460), 1,
- anon_sym_m,
- ACTIONS(462), 1,
- anon_sym_h,
- ACTIONS(464), 4,
- anon_sym_LT,
- anon_sym_GT,
- anon_sym_STAR,
- anon_sym_SLASH,
- ACTIONS(456), 22,
+ ACTIONS(447), 10,
+ ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
- anon_sym_DOT,
- anon_sym_QMARK_DOT,
- anon_sym_SEMI,
- anon_sym_COMMA,
+ aux_sym__decimal_token1,
+ aux_sym__decimal_token2,
+ anon_sym_DQUOTE,
anon_sym_LPAREN,
- anon_sym_RPAREN,
- anon_sym_DASH,
- anon_sym_PLUS,
- anon_sym_BSLASH,
- anon_sym_PERCENT,
- anon_sym_STAR_STAR,
- anon_sym_PIPE_PIPE,
- anon_sym_AMP_AMP,
- anon_sym_EQ_EQ,
- anon_sym_BANG_EQ,
- anon_sym_GT_EQ,
- anon_sym_LT_EQ,
- anon_sym_QMARK_QMARK,
+ anon_sym_DASH_DASH,
+ anon_sym_BANG,
anon_sym_LBRACK,
- anon_sym_RBRACK,
- [11033] = 6,
- ACTIONS(3), 1,
+ ACTIONS(449), 33,
+ sym_identifier,
+ anon_sym_inflight,
+ anon_sym_bring,
+ anon_sym_struct,
+ anon_sym_enum,
+ anon_sym_return,
+ anon_sym_let,
+ anon_sym_class,
+ anon_sym_resource,
+ anon_sym_interface,
+ anon_sym_for,
+ anon_sym_while,
+ anon_sym_break,
+ anon_sym_continue,
+ anon_sym_if,
+ anon_sym_try,
+ anon_sym_0,
+ aux_sym__integer_token1,
+ anon_sym_true,
+ anon_sym_false,
+ anon_sym_new,
+ anon_sym_Array,
+ anon_sym_Set,
+ anon_sym_Map,
+ anon_sym_Promise,
+ anon_sym_MutSet,
+ anon_sym_MutMap,
+ anon_sym_MutArray,
+ anon_sym_DASH,
+ anon_sym_await,
+ anon_sym_defer,
+ anon_sym_Json,
+ anon_sym_MutJson,
+ [10956] = 3,
+ ACTIONS(3), 1,
sym_comment,
- ACTIONS(466), 1,
+ ACTIONS(451), 10,
+ ts_builtin_sym_end,
anon_sym_LBRACE,
- ACTIONS(470), 1,
- anon_sym_DOT,
- STATE(290), 1,
- aux_sym_custom_type_repeat1,
- ACTIONS(473), 5,
- anon_sym_EQ,
- anon_sym_LT,
- anon_sym_GT,
- anon_sym_STAR,
- anon_sym_SLASH,
- ACTIONS(468), 21,
anon_sym_RBRACE,
- anon_sym_QMARK_DOT,
- anon_sym_SEMI,
- anon_sym_COMMA,
- anon_sym_in,
+ aux_sym__decimal_token1,
+ aux_sym__decimal_token2,
+ anon_sym_DQUOTE,
anon_sym_LPAREN,
- anon_sym_RPAREN,
- anon_sym_DASH,
- anon_sym_PLUS,
- anon_sym_BSLASH,
- anon_sym_PERCENT,
- anon_sym_STAR_STAR,
- anon_sym_PIPE_PIPE,
- anon_sym_AMP_AMP,
- anon_sym_EQ_EQ,
- anon_sym_BANG_EQ,
- anon_sym_GT_EQ,
- anon_sym_LT_EQ,
- anon_sym_QMARK_QMARK,
+ anon_sym_DASH_DASH,
+ anon_sym_BANG,
anon_sym_LBRACK,
- anon_sym_RBRACK,
- [11076] = 11,
- ACTIONS(3), 1,
- sym_comment,
- ACTIONS(442), 1,
+ ACTIONS(453), 33,
sym_identifier,
- ACTIONS(444), 1,
anon_sym_inflight,
- ACTIONS(446), 1,
- anon_sym_LPAREN,
- STATE(352), 1,
- sym_parameter_type_list,
- STATE(558), 1,
- sym__inflight_specifier,
- ACTIONS(65), 2,
- anon_sym_Json,
- anon_sym_MutJson,
- ACTIONS(53), 3,
- anon_sym_MutSet,
- anon_sym_MutMap,
- anon_sym_MutArray,
- ACTIONS(51), 4,
+ anon_sym_bring,
+ anon_sym_struct,
+ anon_sym_enum,
+ anon_sym_return,
+ anon_sym_let,
+ anon_sym_class,
+ anon_sym_resource,
+ anon_sym_interface,
+ anon_sym_for,
+ anon_sym_while,
+ anon_sym_break,
+ anon_sym_continue,
+ anon_sym_if,
+ anon_sym_try,
+ anon_sym_0,
+ aux_sym__integer_token1,
+ anon_sym_true,
+ anon_sym_false,
+ anon_sym_new,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- ACTIONS(450), 6,
- anon_sym_num,
- anon_sym_bool,
- anon_sym_any,
- anon_sym_str,
- anon_sym_void,
- anon_sym_duration,
- STATE(556), 9,
- sym_custom_type,
- sym__type,
- sym_optional,
- sym_function_type,
- sym_builtin_type,
- sym_immutable_container_type,
- sym_mutable_container_type,
- sym__builtin_container_type,
- sym_json_container_type,
- [11129] = 11,
+ anon_sym_MutSet,
+ anon_sym_MutMap,
+ anon_sym_MutArray,
+ anon_sym_DASH,
+ anon_sym_await,
+ anon_sym_defer,
+ anon_sym_Json,
+ anon_sym_MutJson,
+ [11007] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(442), 1,
+ ACTIONS(455), 10,
+ ts_builtin_sym_end,
+ anon_sym_LBRACE,
+ anon_sym_RBRACE,
+ aux_sym__decimal_token1,
+ aux_sym__decimal_token2,
+ anon_sym_DQUOTE,
+ anon_sym_LPAREN,
+ anon_sym_DASH_DASH,
+ anon_sym_BANG,
+ anon_sym_LBRACK,
+ ACTIONS(457), 33,
sym_identifier,
- ACTIONS(444), 1,
anon_sym_inflight,
- ACTIONS(446), 1,
- anon_sym_LPAREN,
- STATE(352), 1,
- sym_parameter_type_list,
- STATE(558), 1,
- sym__inflight_specifier,
- ACTIONS(65), 2,
- anon_sym_Json,
- anon_sym_MutJson,
- ACTIONS(53), 3,
- anon_sym_MutSet,
- anon_sym_MutMap,
- anon_sym_MutArray,
- ACTIONS(51), 4,
+ anon_sym_bring,
+ anon_sym_struct,
+ anon_sym_enum,
+ anon_sym_return,
+ anon_sym_let,
+ anon_sym_class,
+ anon_sym_resource,
+ anon_sym_interface,
+ anon_sym_for,
+ anon_sym_while,
+ anon_sym_break,
+ anon_sym_continue,
+ anon_sym_if,
+ anon_sym_try,
+ anon_sym_0,
+ aux_sym__integer_token1,
+ anon_sym_true,
+ anon_sym_false,
+ anon_sym_new,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- ACTIONS(450), 6,
- anon_sym_num,
- anon_sym_bool,
- anon_sym_any,
- anon_sym_str,
- anon_sym_void,
- anon_sym_duration,
- STATE(360), 9,
- sym_custom_type,
- sym__type,
- sym_optional,
- sym_function_type,
- sym_builtin_type,
- sym_immutable_container_type,
- sym_mutable_container_type,
- sym__builtin_container_type,
- sym_json_container_type,
- [11182] = 4,
+ anon_sym_MutSet,
+ anon_sym_MutMap,
+ anon_sym_MutArray,
+ anon_sym_DASH,
+ anon_sym_await,
+ anon_sym_defer,
+ anon_sym_Json,
+ anon_sym_MutJson,
+ [11058] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(475), 1,
- sym_identifier,
- ACTIONS(479), 6,
- anon_sym_EQ,
- anon_sym_in,
- anon_sym_LT,
- anon_sym_GT,
- anon_sym_STAR,
- anon_sym_SLASH,
- ACTIONS(477), 22,
+ ACTIONS(459), 10,
+ ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
- anon_sym_DOT,
- anon_sym_QMARK_DOT,
- anon_sym_SEMI,
- anon_sym_COMMA,
+ aux_sym__decimal_token1,
+ aux_sym__decimal_token2,
+ anon_sym_DQUOTE,
anon_sym_LPAREN,
- anon_sym_RPAREN,
- anon_sym_DASH,
- anon_sym_PLUS,
- anon_sym_BSLASH,
- anon_sym_PERCENT,
- anon_sym_STAR_STAR,
- anon_sym_PIPE_PIPE,
- anon_sym_AMP_AMP,
- anon_sym_EQ_EQ,
- anon_sym_BANG_EQ,
- anon_sym_GT_EQ,
- anon_sym_LT_EQ,
- anon_sym_QMARK_QMARK,
+ anon_sym_DASH_DASH,
+ anon_sym_BANG,
anon_sym_LBRACK,
- anon_sym_RBRACK,
- [11221] = 3,
+ ACTIONS(461), 33,
+ sym_identifier,
+ anon_sym_inflight,
+ anon_sym_bring,
+ anon_sym_struct,
+ anon_sym_enum,
+ anon_sym_return,
+ anon_sym_let,
+ anon_sym_class,
+ anon_sym_resource,
+ anon_sym_interface,
+ anon_sym_for,
+ anon_sym_while,
+ anon_sym_break,
+ anon_sym_continue,
+ anon_sym_if,
+ anon_sym_try,
+ anon_sym_0,
+ aux_sym__integer_token1,
+ anon_sym_true,
+ anon_sym_false,
+ anon_sym_new,
+ anon_sym_Array,
+ anon_sym_Set,
+ anon_sym_Map,
+ anon_sym_Promise,
+ anon_sym_MutSet,
+ anon_sym_MutMap,
+ anon_sym_MutArray,
+ anon_sym_DASH,
+ anon_sym_await,
+ anon_sym_defer,
+ anon_sym_Json,
+ anon_sym_MutJson,
+ [11109] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(483), 4,
- anon_sym_LT,
- anon_sym_GT,
- anon_sym_STAR,
- anon_sym_SLASH,
- ACTIONS(481), 25,
+ ACTIONS(463), 10,
+ ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
- anon_sym_DOT,
- anon_sym_QMARK_DOT,
- anon_sym_as,
- anon_sym_SEMI,
- anon_sym_COMMA,
- anon_sym_COLON,
- anon_sym_in,
- anon_sym_LPAREN,
- anon_sym_RPAREN,
- anon_sym_DASH,
- anon_sym_PLUS,
- anon_sym_BSLASH,
- anon_sym_PERCENT,
- anon_sym_STAR_STAR,
- anon_sym_PIPE_PIPE,
- anon_sym_AMP_AMP,
- anon_sym_EQ_EQ,
- anon_sym_BANG_EQ,
- anon_sym_GT_EQ,
- anon_sym_LT_EQ,
- anon_sym_QMARK_QMARK,
+ aux_sym__decimal_token1,
+ aux_sym__decimal_token2,
+ anon_sym_DQUOTE,
+ anon_sym_LPAREN,
+ anon_sym_DASH_DASH,
+ anon_sym_BANG,
anon_sym_LBRACK,
- anon_sym_RBRACK,
- [11258] = 11,
- ACTIONS(3), 1,
- sym_comment,
- ACTIONS(442), 1,
+ ACTIONS(465), 33,
sym_identifier,
- ACTIONS(444), 1,
anon_sym_inflight,
- ACTIONS(446), 1,
- anon_sym_LPAREN,
- STATE(352), 1,
- sym_parameter_type_list,
- STATE(558), 1,
- sym__inflight_specifier,
- ACTIONS(65), 2,
- anon_sym_Json,
- anon_sym_MutJson,
- ACTIONS(53), 3,
- anon_sym_MutSet,
- anon_sym_MutMap,
- anon_sym_MutArray,
- ACTIONS(51), 4,
+ anon_sym_bring,
+ anon_sym_struct,
+ anon_sym_enum,
+ anon_sym_return,
+ anon_sym_let,
+ anon_sym_class,
+ anon_sym_resource,
+ anon_sym_interface,
+ anon_sym_for,
+ anon_sym_while,
+ anon_sym_break,
+ anon_sym_continue,
+ anon_sym_if,
+ anon_sym_try,
+ anon_sym_0,
+ aux_sym__integer_token1,
+ anon_sym_true,
+ anon_sym_false,
+ anon_sym_new,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- ACTIONS(450), 6,
- anon_sym_num,
- anon_sym_bool,
- anon_sym_any,
- anon_sym_str,
- anon_sym_void,
- anon_sym_duration,
- STATE(362), 9,
- sym_custom_type,
- sym__type,
- sym_optional,
- sym_function_type,
- sym_builtin_type,
- sym_immutable_container_type,
- sym_mutable_container_type,
- sym__builtin_container_type,
- sym_json_container_type,
- [11311] = 11,
- ACTIONS(3), 1,
- sym_comment,
- ACTIONS(442), 1,
- sym_identifier,
- ACTIONS(444), 1,
- anon_sym_inflight,
- ACTIONS(446), 1,
- anon_sym_LPAREN,
- STATE(352), 1,
- sym_parameter_type_list,
- STATE(558), 1,
- sym__inflight_specifier,
- ACTIONS(65), 2,
- anon_sym_Json,
- anon_sym_MutJson,
- ACTIONS(53), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- ACTIONS(51), 4,
- anon_sym_Array,
- anon_sym_Set,
- anon_sym_Map,
- anon_sym_Promise,
- ACTIONS(450), 6,
- anon_sym_num,
- anon_sym_bool,
- anon_sym_any,
- anon_sym_str,
- anon_sym_void,
- anon_sym_duration,
- STATE(363), 9,
- sym_custom_type,
- sym__type,
- sym_optional,
- sym_function_type,
- sym_builtin_type,
- sym_immutable_container_type,
- sym_mutable_container_type,
- sym__builtin_container_type,
- sym_json_container_type,
- [11364] = 3,
+ anon_sym_DASH,
+ anon_sym_await,
+ anon_sym_defer,
+ anon_sym_Json,
+ anon_sym_MutJson,
+ [11160] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(487), 4,
- anon_sym_LT,
- anon_sym_GT,
- anon_sym_STAR,
- anon_sym_SLASH,
- ACTIONS(485), 25,
+ ACTIONS(467), 10,
+ ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
- anon_sym_DOT,
- anon_sym_QMARK_DOT,
- anon_sym_as,
- anon_sym_SEMI,
- anon_sym_COMMA,
- anon_sym_COLON,
- anon_sym_in,
+ aux_sym__decimal_token1,
+ aux_sym__decimal_token2,
+ anon_sym_DQUOTE,
anon_sym_LPAREN,
- anon_sym_RPAREN,
- anon_sym_DASH,
- anon_sym_PLUS,
- anon_sym_BSLASH,
- anon_sym_PERCENT,
- anon_sym_STAR_STAR,
- anon_sym_PIPE_PIPE,
- anon_sym_AMP_AMP,
- anon_sym_EQ_EQ,
- anon_sym_BANG_EQ,
- anon_sym_GT_EQ,
- anon_sym_LT_EQ,
- anon_sym_QMARK_QMARK,
+ anon_sym_DASH_DASH,
+ anon_sym_BANG,
anon_sym_LBRACK,
- anon_sym_RBRACK,
- [11401] = 7,
+ ACTIONS(469), 33,
+ sym_identifier,
+ anon_sym_inflight,
+ anon_sym_bring,
+ anon_sym_struct,
+ anon_sym_enum,
+ anon_sym_return,
+ anon_sym_let,
+ anon_sym_class,
+ anon_sym_resource,
+ anon_sym_interface,
+ anon_sym_for,
+ anon_sym_while,
+ anon_sym_break,
+ anon_sym_continue,
+ anon_sym_if,
+ anon_sym_try,
+ anon_sym_0,
+ aux_sym__integer_token1,
+ anon_sym_true,
+ anon_sym_false,
+ anon_sym_new,
+ anon_sym_Array,
+ anon_sym_Set,
+ anon_sym_Map,
+ anon_sym_Promise,
+ anon_sym_MutSet,
+ anon_sym_MutMap,
+ anon_sym_MutArray,
+ anon_sym_DASH,
+ anon_sym_await,
+ anon_sym_defer,
+ anon_sym_Json,
+ anon_sym_MutJson,
+ [11211] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(491), 1,
- anon_sym_as,
- ACTIONS(493), 1,
- anon_sym_in,
- STATE(155), 1,
- sym_new_object_id,
- STATE(198), 1,
- sym_new_object_scope,
- ACTIONS(495), 4,
- anon_sym_LT,
- anon_sym_GT,
- anon_sym_STAR,
- anon_sym_SLASH,
- ACTIONS(489), 21,
+ ACTIONS(471), 10,
+ ts_builtin_sym_end,
+ anon_sym_LBRACE,
anon_sym_RBRACE,
- anon_sym_DOT,
- anon_sym_QMARK_DOT,
- anon_sym_SEMI,
- anon_sym_COMMA,
+ aux_sym__decimal_token1,
+ aux_sym__decimal_token2,
+ anon_sym_DQUOTE,
anon_sym_LPAREN,
- anon_sym_RPAREN,
- anon_sym_DASH,
- anon_sym_PLUS,
- anon_sym_BSLASH,
- anon_sym_PERCENT,
- anon_sym_STAR_STAR,
- anon_sym_PIPE_PIPE,
- anon_sym_AMP_AMP,
- anon_sym_EQ_EQ,
- anon_sym_BANG_EQ,
- anon_sym_GT_EQ,
- anon_sym_LT_EQ,
- anon_sym_QMARK_QMARK,
+ anon_sym_DASH_DASH,
+ anon_sym_BANG,
anon_sym_LBRACK,
- anon_sym_RBRACK,
- [11446] = 11,
- ACTIONS(3), 1,
- sym_comment,
- ACTIONS(442), 1,
+ ACTIONS(473), 33,
sym_identifier,
- ACTIONS(444), 1,
anon_sym_inflight,
- ACTIONS(446), 1,
- anon_sym_LPAREN,
- STATE(352), 1,
- sym_parameter_type_list,
- STATE(558), 1,
- sym__inflight_specifier,
- ACTIONS(65), 2,
- anon_sym_Json,
- anon_sym_MutJson,
- ACTIONS(53), 3,
- anon_sym_MutSet,
- anon_sym_MutMap,
- anon_sym_MutArray,
- ACTIONS(51), 4,
+ anon_sym_bring,
+ anon_sym_struct,
+ anon_sym_enum,
+ anon_sym_return,
+ anon_sym_let,
+ anon_sym_class,
+ anon_sym_resource,
+ anon_sym_interface,
+ anon_sym_for,
+ anon_sym_while,
+ anon_sym_break,
+ anon_sym_continue,
+ anon_sym_if,
+ anon_sym_try,
+ anon_sym_0,
+ aux_sym__integer_token1,
+ anon_sym_true,
+ anon_sym_false,
+ anon_sym_new,
anon_sym_Array,
anon_sym_Set,
anon_sym_Map,
anon_sym_Promise,
- ACTIONS(450), 6,
- anon_sym_num,
- anon_sym_bool,
- anon_sym_any,
- anon_sym_str,
- anon_sym_void,
- anon_sym_duration,
- STATE(419), 9,
- sym_custom_type,
- sym__type,
- sym_optional,
- sym_function_type,
- sym_builtin_type,
- sym_immutable_container_type,
- sym_mutable_container_type,
- sym__builtin_container_type,
- sym_json_container_type,
- [11499] = 3,
+ anon_sym_MutSet,
+ anon_sym_MutMap,
+ anon_sym_MutArray,
+ anon_sym_DASH,
+ anon_sym_await,
+ anon_sym_defer,
+ anon_sym_Json,
+ anon_sym_MutJson,
+ [11262] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(499), 4,
- anon_sym_LT,
- anon_sym_GT,
- anon_sym_STAR,
- anon_sym_SLASH,
- ACTIONS(497), 25,
+ ACTIONS(475), 10,
+ ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
- anon_sym_DOT,
- anon_sym_QMARK_DOT,
- anon_sym_SEMI,
- anon_sym_COMMA,
- anon_sym_s,
- anon_sym_m,
- anon_sym_h,
+ aux_sym__decimal_token1,
+ aux_sym__decimal_token2,
+ anon_sym_DQUOTE,
anon_sym_LPAREN,
- anon_sym_RPAREN,
- anon_sym_DASH,
- anon_sym_PLUS,
- anon_sym_BSLASH,
- anon_sym_PERCENT,
- anon_sym_STAR_STAR,
- anon_sym_PIPE_PIPE,
- anon_sym_AMP_AMP,
- anon_sym_EQ_EQ,
- anon_sym_BANG_EQ,
- anon_sym_GT_EQ,
- anon_sym_LT_EQ,
- anon_sym_QMARK_QMARK,
+ anon_sym_DASH_DASH,
+ anon_sym_BANG,
anon_sym_LBRACK,
- anon_sym_RBRACK,
- [11536] = 3,
+ ACTIONS(477), 33,
+ sym_identifier,
+ anon_sym_inflight,
+ anon_sym_bring,
+ anon_sym_struct,
+ anon_sym_enum,
+ anon_sym_return,
+ anon_sym_let,
+ anon_sym_class,
+ anon_sym_resource,
+ anon_sym_interface,
+ anon_sym_for,
+ anon_sym_while,
+ anon_sym_break,
+ anon_sym_continue,
+ anon_sym_if,
+ anon_sym_try,
+ anon_sym_0,
+ aux_sym__integer_token1,
+ anon_sym_true,
+ anon_sym_false,
+ anon_sym_new,
+ anon_sym_Array,
+ anon_sym_Set,
+ anon_sym_Map,
+ anon_sym_Promise,
+ anon_sym_MutSet,
+ anon_sym_MutMap,
+ anon_sym_MutArray,
+ anon_sym_DASH,
+ anon_sym_await,
+ anon_sym_defer,
+ anon_sym_Json,
+ anon_sym_MutJson,
+ [11313] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(503), 4,
- anon_sym_LT,
- anon_sym_GT,
- anon_sym_STAR,
- anon_sym_SLASH,
- ACTIONS(501), 24,
+ ACTIONS(479), 10,
+ ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
- anon_sym_DOT,
- anon_sym_QMARK_DOT,
- anon_sym_as,
- anon_sym_SEMI,
- anon_sym_COMMA,
- anon_sym_in,
+ aux_sym__decimal_token1,
+ aux_sym__decimal_token2,
+ anon_sym_DQUOTE,
anon_sym_LPAREN,
- anon_sym_RPAREN,
- anon_sym_DASH,
- anon_sym_PLUS,
- anon_sym_BSLASH,
- anon_sym_PERCENT,
- anon_sym_STAR_STAR,
- anon_sym_PIPE_PIPE,
- anon_sym_AMP_AMP,
- anon_sym_EQ_EQ,
- anon_sym_BANG_EQ,
- anon_sym_GT_EQ,
- anon_sym_LT_EQ,
- anon_sym_QMARK_QMARK,
+ anon_sym_DASH_DASH,
+ anon_sym_BANG,
anon_sym_LBRACK,
- anon_sym_RBRACK,
- [11572] = 3,
+ ACTIONS(481), 33,
+ sym_identifier,
+ anon_sym_inflight,
+ anon_sym_bring,
+ anon_sym_struct,
+ anon_sym_enum,
+ anon_sym_return,
+ anon_sym_let,
+ anon_sym_class,
+ anon_sym_resource,
+ anon_sym_interface,
+ anon_sym_for,
+ anon_sym_while,
+ anon_sym_break,
+ anon_sym_continue,
+ anon_sym_if,
+ anon_sym_try,
+ anon_sym_0,
+ aux_sym__integer_token1,
+ anon_sym_true,
+ anon_sym_false,
+ anon_sym_new,
+ anon_sym_Array,
+ anon_sym_Set,
+ anon_sym_Map,
+ anon_sym_Promise,
+ anon_sym_MutSet,
+ anon_sym_MutMap,
+ anon_sym_MutArray,
+ anon_sym_DASH,
+ anon_sym_await,
+ anon_sym_defer,
+ anon_sym_Json,
+ anon_sym_MutJson,
+ [11364] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(507), 4,
- anon_sym_LT,
- anon_sym_GT,
- anon_sym_STAR,
- anon_sym_SLASH,
- ACTIONS(505), 24,
+ ACTIONS(483), 10,
+ ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
- anon_sym_DOT,
- anon_sym_QMARK_DOT,
- anon_sym_as,
- anon_sym_SEMI,
- anon_sym_COMMA,
- anon_sym_in,
+ aux_sym__decimal_token1,
+ aux_sym__decimal_token2,
+ anon_sym_DQUOTE,
anon_sym_LPAREN,
- anon_sym_RPAREN,
- anon_sym_DASH,
- anon_sym_PLUS,
- anon_sym_BSLASH,
- anon_sym_PERCENT,
- anon_sym_STAR_STAR,
- anon_sym_PIPE_PIPE,
- anon_sym_AMP_AMP,
- anon_sym_EQ_EQ,
- anon_sym_BANG_EQ,
- anon_sym_GT_EQ,
- anon_sym_LT_EQ,
- anon_sym_QMARK_QMARK,
+ anon_sym_DASH_DASH,
+ anon_sym_BANG,
anon_sym_LBRACK,
- anon_sym_RBRACK,
- [11608] = 3,
+ ACTIONS(485), 33,
+ sym_identifier,
+ anon_sym_inflight,
+ anon_sym_bring,
+ anon_sym_struct,
+ anon_sym_enum,
+ anon_sym_return,
+ anon_sym_let,
+ anon_sym_class,
+ anon_sym_resource,
+ anon_sym_interface,
+ anon_sym_for,
+ anon_sym_while,
+ anon_sym_break,
+ anon_sym_continue,
+ anon_sym_if,
+ anon_sym_try,
+ anon_sym_0,
+ aux_sym__integer_token1,
+ anon_sym_true,
+ anon_sym_false,
+ anon_sym_new,
+ anon_sym_Array,
+ anon_sym_Set,
+ anon_sym_Map,
+ anon_sym_Promise,
+ anon_sym_MutSet,
+ anon_sym_MutMap,
+ anon_sym_MutArray,
+ anon_sym_DASH,
+ anon_sym_await,
+ anon_sym_defer,
+ anon_sym_Json,
+ anon_sym_MutJson,
+ [11415] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(511), 4,
- anon_sym_LT,
- anon_sym_GT,
- anon_sym_STAR,
- anon_sym_SLASH,
- ACTIONS(509), 24,
+ ACTIONS(487), 10,
+ ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
- anon_sym_DOT,
- anon_sym_QMARK_DOT,
- anon_sym_as,
- anon_sym_SEMI,
- anon_sym_COMMA,
- anon_sym_in,
+ aux_sym__decimal_token1,
+ aux_sym__decimal_token2,
+ anon_sym_DQUOTE,
anon_sym_LPAREN,
- anon_sym_RPAREN,
- anon_sym_DASH,
- anon_sym_PLUS,
- anon_sym_BSLASH,
- anon_sym_PERCENT,
- anon_sym_STAR_STAR,
- anon_sym_PIPE_PIPE,
- anon_sym_AMP_AMP,
- anon_sym_EQ_EQ,
- anon_sym_BANG_EQ,
- anon_sym_GT_EQ,
- anon_sym_LT_EQ,
- anon_sym_QMARK_QMARK,
+ anon_sym_DASH_DASH,
+ anon_sym_BANG,
anon_sym_LBRACK,
- anon_sym_RBRACK,
- [11644] = 3,
+ ACTIONS(489), 33,
+ sym_identifier,
+ anon_sym_inflight,
+ anon_sym_bring,
+ anon_sym_struct,
+ anon_sym_enum,
+ anon_sym_return,
+ anon_sym_let,
+ anon_sym_class,
+ anon_sym_resource,
+ anon_sym_interface,
+ anon_sym_for,
+ anon_sym_while,
+ anon_sym_break,
+ anon_sym_continue,
+ anon_sym_if,
+ anon_sym_try,
+ anon_sym_0,
+ aux_sym__integer_token1,
+ anon_sym_true,
+ anon_sym_false,
+ anon_sym_new,
+ anon_sym_Array,
+ anon_sym_Set,
+ anon_sym_Map,
+ anon_sym_Promise,
+ anon_sym_MutSet,
+ anon_sym_MutMap,
+ anon_sym_MutArray,
+ anon_sym_DASH,
+ anon_sym_await,
+ anon_sym_defer,
+ anon_sym_Json,
+ anon_sym_MutJson,
+ [11466] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(515), 4,
- anon_sym_LT,
- anon_sym_GT,
- anon_sym_STAR,
- anon_sym_SLASH,
- ACTIONS(513), 24,
+ ACTIONS(491), 10,
+ ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
- anon_sym_DOT,
- anon_sym_QMARK_DOT,
- anon_sym_as,
- anon_sym_SEMI,
- anon_sym_COMMA,
- anon_sym_in,
+ aux_sym__decimal_token1,
+ aux_sym__decimal_token2,
+ anon_sym_DQUOTE,
anon_sym_LPAREN,
- anon_sym_RPAREN,
- anon_sym_DASH,
- anon_sym_PLUS,
- anon_sym_BSLASH,
- anon_sym_PERCENT,
- anon_sym_STAR_STAR,
- anon_sym_PIPE_PIPE,
- anon_sym_AMP_AMP,
- anon_sym_EQ_EQ,
- anon_sym_BANG_EQ,
- anon_sym_GT_EQ,
- anon_sym_LT_EQ,
- anon_sym_QMARK_QMARK,
+ anon_sym_DASH_DASH,
+ anon_sym_BANG,
anon_sym_LBRACK,
- anon_sym_RBRACK,
- [11680] = 3,
+ ACTIONS(493), 33,
+ sym_identifier,
+ anon_sym_inflight,
+ anon_sym_bring,
+ anon_sym_struct,
+ anon_sym_enum,
+ anon_sym_return,
+ anon_sym_let,
+ anon_sym_class,
+ anon_sym_resource,
+ anon_sym_interface,
+ anon_sym_for,
+ anon_sym_while,
+ anon_sym_break,
+ anon_sym_continue,
+ anon_sym_if,
+ anon_sym_try,
+ anon_sym_0,
+ aux_sym__integer_token1,
+ anon_sym_true,
+ anon_sym_false,
+ anon_sym_new,
+ anon_sym_Array,
+ anon_sym_Set,
+ anon_sym_Map,
+ anon_sym_Promise,
+ anon_sym_MutSet,
+ anon_sym_MutMap,
+ anon_sym_MutArray,
+ anon_sym_DASH,
+ anon_sym_await,
+ anon_sym_defer,
+ anon_sym_Json,
+ anon_sym_MutJson,
+ [11517] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(473), 5,
- anon_sym_EQ,
- anon_sym_LT,
- anon_sym_GT,
- anon_sym_STAR,
- anon_sym_SLASH,
- ACTIONS(468), 23,
+ ACTIONS(495), 10,
+ ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
- anon_sym_DOT,
- anon_sym_QMARK_DOT,
- anon_sym_SEMI,
- anon_sym_COMMA,
- anon_sym_in,
+ aux_sym__decimal_token1,
+ aux_sym__decimal_token2,
+ anon_sym_DQUOTE,
anon_sym_LPAREN,
- anon_sym_RPAREN,
- anon_sym_DASH,
- anon_sym_PLUS,
- anon_sym_BSLASH,
- anon_sym_PERCENT,
- anon_sym_STAR_STAR,
- anon_sym_PIPE_PIPE,
- anon_sym_AMP_AMP,
- anon_sym_EQ_EQ,
- anon_sym_BANG_EQ,
- anon_sym_GT_EQ,
- anon_sym_LT_EQ,
- anon_sym_QMARK_QMARK,
+ anon_sym_DASH_DASH,
+ anon_sym_BANG,
anon_sym_LBRACK,
- anon_sym_RBRACK,
- [11716] = 3,
+ ACTIONS(497), 33,
+ sym_identifier,
+ anon_sym_inflight,
+ anon_sym_bring,
+ anon_sym_struct,
+ anon_sym_enum,
+ anon_sym_return,
+ anon_sym_let,
+ anon_sym_class,
+ anon_sym_resource,
+ anon_sym_interface,
+ anon_sym_for,
+ anon_sym_while,
+ anon_sym_break,
+ anon_sym_continue,
+ anon_sym_if,
+ anon_sym_try,
+ anon_sym_0,
+ aux_sym__integer_token1,
+ anon_sym_true,
+ anon_sym_false,
+ anon_sym_new,
+ anon_sym_Array,
+ anon_sym_Set,
+ anon_sym_Map,
+ anon_sym_Promise,
+ anon_sym_MutSet,
+ anon_sym_MutMap,
+ anon_sym_MutArray,
+ anon_sym_DASH,
+ anon_sym_await,
+ anon_sym_defer,
+ anon_sym_Json,
+ anon_sym_MutJson,
+ [11568] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(519), 4,
- anon_sym_LT,
- anon_sym_GT,
- anon_sym_STAR,
- anon_sym_SLASH,
- ACTIONS(517), 24,
+ ACTIONS(499), 10,
+ ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
- anon_sym_DOT,
- anon_sym_QMARK_DOT,
- anon_sym_as,
- anon_sym_SEMI,
- anon_sym_COMMA,
- anon_sym_in,
+ aux_sym__decimal_token1,
+ aux_sym__decimal_token2,
+ anon_sym_DQUOTE,
anon_sym_LPAREN,
- anon_sym_RPAREN,
- anon_sym_DASH,
- anon_sym_PLUS,
- anon_sym_BSLASH,
- anon_sym_PERCENT,
- anon_sym_STAR_STAR,
- anon_sym_PIPE_PIPE,
- anon_sym_AMP_AMP,
- anon_sym_EQ_EQ,
- anon_sym_BANG_EQ,
- anon_sym_GT_EQ,
- anon_sym_LT_EQ,
- anon_sym_QMARK_QMARK,
+ anon_sym_DASH_DASH,
+ anon_sym_BANG,
anon_sym_LBRACK,
- anon_sym_RBRACK,
- [11752] = 3,
+ ACTIONS(501), 33,
+ sym_identifier,
+ anon_sym_inflight,
+ anon_sym_bring,
+ anon_sym_struct,
+ anon_sym_enum,
+ anon_sym_return,
+ anon_sym_let,
+ anon_sym_class,
+ anon_sym_resource,
+ anon_sym_interface,
+ anon_sym_for,
+ anon_sym_while,
+ anon_sym_break,
+ anon_sym_continue,
+ anon_sym_if,
+ anon_sym_try,
+ anon_sym_0,
+ aux_sym__integer_token1,
+ anon_sym_true,
+ anon_sym_false,
+ anon_sym_new,
+ anon_sym_Array,
+ anon_sym_Set,
+ anon_sym_Map,
+ anon_sym_Promise,
+ anon_sym_MutSet,
+ anon_sym_MutMap,
+ anon_sym_MutArray,
+ anon_sym_DASH,
+ anon_sym_await,
+ anon_sym_defer,
+ anon_sym_Json,
+ anon_sym_MutJson,
+ [11619] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(523), 5,
- anon_sym_EQ,
- anon_sym_LT,
- anon_sym_GT,
- anon_sym_STAR,
- anon_sym_SLASH,
- ACTIONS(521), 23,
+ ACTIONS(503), 10,
+ ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
- anon_sym_DOT,
- anon_sym_QMARK_DOT,
- anon_sym_SEMI,
- anon_sym_COMMA,
- anon_sym_in,
+ aux_sym__decimal_token1,
+ aux_sym__decimal_token2,
+ anon_sym_DQUOTE,
anon_sym_LPAREN,
- anon_sym_RPAREN,
- anon_sym_DASH,
- anon_sym_PLUS,
- anon_sym_BSLASH,
- anon_sym_PERCENT,
- anon_sym_STAR_STAR,
- anon_sym_PIPE_PIPE,
- anon_sym_AMP_AMP,
- anon_sym_EQ_EQ,
- anon_sym_BANG_EQ,
- anon_sym_GT_EQ,
- anon_sym_LT_EQ,
- anon_sym_QMARK_QMARK,
+ anon_sym_DASH_DASH,
+ anon_sym_BANG,
anon_sym_LBRACK,
- anon_sym_RBRACK,
- [11788] = 3,
+ ACTIONS(505), 33,
+ sym_identifier,
+ anon_sym_inflight,
+ anon_sym_bring,
+ anon_sym_struct,
+ anon_sym_enum,
+ anon_sym_return,
+ anon_sym_let,
+ anon_sym_class,
+ anon_sym_resource,
+ anon_sym_interface,
+ anon_sym_for,
+ anon_sym_while,
+ anon_sym_break,
+ anon_sym_continue,
+ anon_sym_if,
+ anon_sym_try,
+ anon_sym_0,
+ aux_sym__integer_token1,
+ anon_sym_true,
+ anon_sym_false,
+ anon_sym_new,
+ anon_sym_Array,
+ anon_sym_Set,
+ anon_sym_Map,
+ anon_sym_Promise,
+ anon_sym_MutSet,
+ anon_sym_MutMap,
+ anon_sym_MutArray,
+ anon_sym_DASH,
+ anon_sym_await,
+ anon_sym_defer,
+ anon_sym_Json,
+ anon_sym_MutJson,
+ [11670] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(527), 4,
- anon_sym_LT,
- anon_sym_GT,
- anon_sym_STAR,
- anon_sym_SLASH,
- ACTIONS(525), 24,
+ ACTIONS(507), 10,
+ ts_builtin_sym_end,
anon_sym_LBRACE,
anon_sym_RBRACE,
- anon_sym_DOT,
- anon_sym_QMARK_DOT,
- anon_sym_as,
- anon_sym_SEMI,
- anon_sym_COMMA,
- anon_sym_in,
+ aux_sym__decimal_token1,
+ aux_sym__decimal_token2,
+ anon_sym_DQUOTE,
anon_sym_LPAREN,
- anon_sym_RPAREN,
- anon_sym_DASH,
- anon_sym_PLUS,
- anon_sym_BSLASH,
- anon_sym_PERCENT,
+ anon_sym_DASH_DASH,
+ anon_sym_BANG,
+ anon_sym_LBRACK,
+ ACTIONS(509), 33,
+ sym_identifier,
+ anon_sym_inflight,
+ anon_sym_bring,
+ anon_sym_struct,
+ anon_sym_enum,
+ anon_sym_return,
+ anon_sym_let,
+ anon_sym_class,
+ anon_sym_resource,
+ anon_sym_interface,
+ anon_sym_for,
+ anon_sym_while,
+ anon_sym_break,
+ anon_sym_continue,
+ anon_sym_if,
+ anon_sym_try,
+ anon_sym_0,
+ aux_sym__integer_token1,
+ anon_sym_true,
+ anon_sym_false,
+ anon_sym_new,
+ anon_sym_Array,
+ anon_sym_Set,
+ anon_sym_Map,
+ anon_sym_Promise,
+ anon_sym_MutSet,
+ anon_sym_MutMap,
+ anon_sym_MutArray,
+ anon_sym_DASH,
+ anon_sym_await,
+ anon_sym_defer,
+ anon_sym_Json,
+ anon_sym_MutJson,
+ [11721] = 16,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(47), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(65), 1,
+ anon_sym_LBRACK,
+ ACTIONS(511), 1,
+ anon_sym_LBRACE,
+ STATE(158), 1,
+ sym_number,
+ STATE(223), 1,
+ sym_json_element,
+ ACTIONS(41), 2,
+ anon_sym_0,
+ aux_sym__integer_token1,
+ ACTIONS(43), 2,
+ aux_sym__decimal_token1,
+ aux_sym__decimal_token2,
+ ACTIONS(513), 2,
+ anon_sym_true,
+ anon_sym_false,
+ STATE(159), 2,
+ sym__integer,
+ sym__decimal,
+ ACTIONS(517), 3,
+ anon_sym_MutSet,
+ anon_sym_MutMap,
+ anon_sym_MutArray,
+ STATE(177), 3,
+ sym_seconds,
+ sym_minutes,
+ sym_hours,
+ STATE(204), 3,
+ sym__literal,
+ sym_array_literal,
+ sym_map_literal,
+ STATE(218), 3,
+ sym_bool,
+ sym_duration,
+ sym_string,
+ STATE(644), 3,
+ sym_immutable_container_type,
+ sym_mutable_container_type,
+ sym__builtin_container_type,
+ ACTIONS(515), 4,
+ anon_sym_Array,
+ anon_sym_Set,
+ anon_sym_Map,
+ anon_sym_Promise,
+ [11787] = 12,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(519), 1,
+ sym_identifier,
+ ACTIONS(521), 1,
+ anon_sym_inflight,
+ ACTIONS(523), 1,
+ anon_sym_LPAREN,
+ ACTIONS(525), 1,
+ anon_sym_RPAREN,
+ STATE(393), 1,
+ sym_parameter_type_list,
+ STATE(648), 1,
+ sym__inflight_specifier,
+ ACTIONS(67), 2,
+ anon_sym_Json,
+ anon_sym_MutJson,
+ ACTIONS(55), 3,
+ anon_sym_MutSet,
+ anon_sym_MutMap,
+ anon_sym_MutArray,
+ ACTIONS(53), 4,
+ anon_sym_Array,
+ anon_sym_Set,
+ anon_sym_Map,
+ anon_sym_Promise,
+ ACTIONS(527), 6,
+ anon_sym_num,
+ anon_sym_bool,
+ anon_sym_any,
+ anon_sym_str,
+ anon_sym_void,
+ anon_sym_duration,
+ STATE(488), 9,
+ sym_custom_type,
+ sym__type,
+ sym_optional,
+ sym_function_type,
+ sym_builtin_type,
+ sym_immutable_container_type,
+ sym_mutable_container_type,
+ sym__builtin_container_type,
+ sym_json_container_type,
+ [11843] = 12,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(519), 1,
+ sym_identifier,
+ ACTIONS(521), 1,
+ anon_sym_inflight,
+ ACTIONS(523), 1,
+ anon_sym_LPAREN,
+ ACTIONS(529), 1,
+ anon_sym_RPAREN,
+ STATE(393), 1,
+ sym_parameter_type_list,
+ STATE(648), 1,
+ sym__inflight_specifier,
+ ACTIONS(67), 2,
+ anon_sym_Json,
+ anon_sym_MutJson,
+ ACTIONS(55), 3,
+ anon_sym_MutSet,
+ anon_sym_MutMap,
+ anon_sym_MutArray,
+ ACTIONS(53), 4,
+ anon_sym_Array,
+ anon_sym_Set,
+ anon_sym_Map,
+ anon_sym_Promise,
+ ACTIONS(527), 6,
+ anon_sym_num,
+ anon_sym_bool,
+ anon_sym_any,
+ anon_sym_str,
+ anon_sym_void,
+ anon_sym_duration,
+ STATE(540), 9,
+ sym_custom_type,
+ sym__type,
+ sym_optional,
+ sym_function_type,
+ sym_builtin_type,
+ sym_immutable_container_type,
+ sym_mutable_container_type,
+ sym__builtin_container_type,
+ sym_json_container_type,
+ [11899] = 12,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(519), 1,
+ sym_identifier,
+ ACTIONS(521), 1,
+ anon_sym_inflight,
+ ACTIONS(523), 1,
+ anon_sym_LPAREN,
+ ACTIONS(531), 1,
+ anon_sym_RPAREN,
+ STATE(393), 1,
+ sym_parameter_type_list,
+ STATE(648), 1,
+ sym__inflight_specifier,
+ ACTIONS(67), 2,
+ anon_sym_Json,
+ anon_sym_MutJson,
+ ACTIONS(55), 3,
+ anon_sym_MutSet,
+ anon_sym_MutMap,
+ anon_sym_MutArray,
+ ACTIONS(53), 4,
+ anon_sym_Array,
+ anon_sym_Set,
+ anon_sym_Map,
+ anon_sym_Promise,
+ ACTIONS(527), 6,
+ anon_sym_num,
+ anon_sym_bool,
+ anon_sym_any,
+ anon_sym_str,
+ anon_sym_void,
+ anon_sym_duration,
+ STATE(540), 9,
+ sym_custom_type,
+ sym__type,
+ sym_optional,
+ sym_function_type,
+ sym_builtin_type,
+ sym_immutable_container_type,
+ sym_mutable_container_type,
+ sym__builtin_container_type,
+ sym_json_container_type,
+ [11955] = 11,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(519), 1,
+ sym_identifier,
+ ACTIONS(521), 1,
+ anon_sym_inflight,
+ ACTIONS(523), 1,
+ anon_sym_LPAREN,
+ STATE(393), 1,
+ sym_parameter_type_list,
+ STATE(648), 1,
+ sym__inflight_specifier,
+ ACTIONS(67), 2,
+ anon_sym_Json,
+ anon_sym_MutJson,
+ ACTIONS(55), 3,
+ anon_sym_MutSet,
+ anon_sym_MutMap,
+ anon_sym_MutArray,
+ ACTIONS(53), 4,
+ anon_sym_Array,
+ anon_sym_Set,
+ anon_sym_Map,
+ anon_sym_Promise,
+ ACTIONS(527), 6,
+ anon_sym_num,
+ anon_sym_bool,
+ anon_sym_any,
+ anon_sym_str,
+ anon_sym_void,
+ anon_sym_duration,
+ STATE(404), 9,
+ sym_custom_type,
+ sym__type,
+ sym_optional,
+ sym_function_type,
+ sym_builtin_type,
+ sym_immutable_container_type,
+ sym_mutable_container_type,
+ sym__builtin_container_type,
+ sym_json_container_type,
+ [12008] = 11,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(519), 1,
+ sym_identifier,
+ ACTIONS(521), 1,
+ anon_sym_inflight,
+ ACTIONS(523), 1,
+ anon_sym_LPAREN,
+ STATE(393), 1,
+ sym_parameter_type_list,
+ STATE(648), 1,
+ sym__inflight_specifier,
+ ACTIONS(67), 2,
+ anon_sym_Json,
+ anon_sym_MutJson,
+ ACTIONS(55), 3,
+ anon_sym_MutSet,
+ anon_sym_MutMap,
+ anon_sym_MutArray,
+ ACTIONS(53), 4,
+ anon_sym_Array,
+ anon_sym_Set,
+ anon_sym_Map,
+ anon_sym_Promise,
+ ACTIONS(527), 6,
+ anon_sym_num,
+ anon_sym_bool,
+ anon_sym_any,
+ anon_sym_str,
+ anon_sym_void,
+ anon_sym_duration,
+ STATE(540), 9,
+ sym_custom_type,
+ sym__type,
+ sym_optional,
+ sym_function_type,
+ sym_builtin_type,
+ sym_immutable_container_type,
+ sym_mutable_container_type,
+ sym__builtin_container_type,
+ sym_json_container_type,
+ [12061] = 11,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(519), 1,
+ sym_identifier,
+ ACTIONS(521), 1,
+ anon_sym_inflight,
+ ACTIONS(523), 1,
+ anon_sym_LPAREN,
+ STATE(393), 1,
+ sym_parameter_type_list,
+ STATE(648), 1,
+ sym__inflight_specifier,
+ ACTIONS(67), 2,
+ anon_sym_Json,
+ anon_sym_MutJson,
+ ACTIONS(55), 3,
+ anon_sym_MutSet,
+ anon_sym_MutMap,
+ anon_sym_MutArray,
+ ACTIONS(53), 4,
+ anon_sym_Array,
+ anon_sym_Set,
+ anon_sym_Map,
+ anon_sym_Promise,
+ ACTIONS(527), 6,
+ anon_sym_num,
+ anon_sym_bool,
+ anon_sym_any,
+ anon_sym_str,
+ anon_sym_void,
+ anon_sym_duration,
+ STATE(408), 9,
+ sym_custom_type,
+ sym__type,
+ sym_optional,
+ sym_function_type,
+ sym_builtin_type,
+ sym_immutable_container_type,
+ sym_mutable_container_type,
+ sym__builtin_container_type,
+ sym_json_container_type,
+ [12114] = 11,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(519), 1,
+ sym_identifier,
+ ACTIONS(521), 1,
+ anon_sym_inflight,
+ ACTIONS(523), 1,
+ anon_sym_LPAREN,
+ STATE(393), 1,
+ sym_parameter_type_list,
+ STATE(648), 1,
+ sym__inflight_specifier,
+ ACTIONS(67), 2,
+ anon_sym_Json,
+ anon_sym_MutJson,
+ ACTIONS(55), 3,
+ anon_sym_MutSet,
+ anon_sym_MutMap,
+ anon_sym_MutArray,
+ ACTIONS(53), 4,
+ anon_sym_Array,
+ anon_sym_Set,
+ anon_sym_Map,
+ anon_sym_Promise,
+ ACTIONS(527), 6,
+ anon_sym_num,
+ anon_sym_bool,
+ anon_sym_any,
+ anon_sym_str,
+ anon_sym_void,
+ anon_sym_duration,
+ STATE(407), 9,
+ sym_custom_type,
+ sym__type,
+ sym_optional,
+ sym_function_type,
+ sym_builtin_type,
+ sym_immutable_container_type,
+ sym_mutable_container_type,
+ sym__builtin_container_type,
+ sym_json_container_type,
+ [12167] = 6,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(533), 1,
+ anon_sym_LBRACE,
+ ACTIONS(537), 1,
+ anon_sym_DOT,
+ STATE(312), 1,
+ aux_sym_custom_type_repeat1,
+ ACTIONS(540), 5,
+ anon_sym_EQ,
+ anon_sym_LT,
+ anon_sym_GT,
+ anon_sym_STAR,
+ anon_sym_SLASH,
+ ACTIONS(535), 21,
+ anon_sym_RBRACE,
+ anon_sym_QMARK_DOT,
+ anon_sym_SEMI,
+ anon_sym_COMMA,
+ anon_sym_in,
+ anon_sym_LPAREN,
+ anon_sym_RPAREN,
+ anon_sym_DASH,
+ anon_sym_PLUS,
+ anon_sym_BSLASH,
+ anon_sym_PERCENT,
+ anon_sym_STAR_STAR,
+ anon_sym_PIPE_PIPE,
+ anon_sym_AMP_AMP,
+ anon_sym_EQ_EQ,
+ anon_sym_BANG_EQ,
+ anon_sym_GT_EQ,
+ anon_sym_LT_EQ,
+ anon_sym_QMARK_QMARK,
+ anon_sym_LBRACK,
+ anon_sym_RBRACK,
+ [12210] = 4,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(542), 1,
+ sym_identifier,
+ ACTIONS(546), 6,
+ anon_sym_EQ,
+ anon_sym_in,
+ anon_sym_LT,
+ anon_sym_GT,
+ anon_sym_STAR,
+ anon_sym_SLASH,
+ ACTIONS(544), 22,
+ anon_sym_LBRACE,
+ anon_sym_RBRACE,
+ anon_sym_DOT,
+ anon_sym_QMARK_DOT,
+ anon_sym_SEMI,
+ anon_sym_COMMA,
+ anon_sym_LPAREN,
+ anon_sym_RPAREN,
+ anon_sym_DASH,
+ anon_sym_PLUS,
+ anon_sym_BSLASH,
+ anon_sym_PERCENT,
+ anon_sym_STAR_STAR,
+ anon_sym_PIPE_PIPE,
+ anon_sym_AMP_AMP,
+ anon_sym_EQ_EQ,
+ anon_sym_BANG_EQ,
+ anon_sym_GT_EQ,
+ anon_sym_LT_EQ,
+ anon_sym_QMARK_QMARK,
+ anon_sym_LBRACK,
+ anon_sym_RBRACK,
+ [12249] = 3,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(550), 4,
+ anon_sym_LT,
+ anon_sym_GT,
+ anon_sym_STAR,
+ anon_sym_SLASH,
+ ACTIONS(548), 25,
+ anon_sym_LBRACE,
+ anon_sym_RBRACE,
+ anon_sym_DOT,
+ anon_sym_QMARK_DOT,
+ anon_sym_as,
+ anon_sym_SEMI,
+ anon_sym_COMMA,
+ anon_sym_COLON,
+ anon_sym_in,
+ anon_sym_LPAREN,
+ anon_sym_RPAREN,
+ anon_sym_DASH,
+ anon_sym_PLUS,
+ anon_sym_BSLASH,
+ anon_sym_PERCENT,
+ anon_sym_STAR_STAR,
+ anon_sym_PIPE_PIPE,
+ anon_sym_AMP_AMP,
+ anon_sym_EQ_EQ,
+ anon_sym_BANG_EQ,
+ anon_sym_GT_EQ,
+ anon_sym_LT_EQ,
+ anon_sym_QMARK_QMARK,
+ anon_sym_LBRACK,
+ anon_sym_RBRACK,
+ [12286] = 6,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(554), 1,
+ anon_sym_s,
+ ACTIONS(556), 1,
+ anon_sym_m,
+ ACTIONS(558), 1,
+ anon_sym_h,
+ ACTIONS(560), 4,
+ anon_sym_LT,
+ anon_sym_GT,
+ anon_sym_STAR,
+ anon_sym_SLASH,
+ ACTIONS(552), 22,
+ anon_sym_LBRACE,
+ anon_sym_RBRACE,
+ anon_sym_DOT,
+ anon_sym_QMARK_DOT,
+ anon_sym_SEMI,
+ anon_sym_COMMA,
+ anon_sym_LPAREN,
+ anon_sym_RPAREN,
+ anon_sym_DASH,
+ anon_sym_PLUS,
+ anon_sym_BSLASH,
+ anon_sym_PERCENT,
anon_sym_STAR_STAR,
anon_sym_PIPE_PIPE,
anon_sym_AMP_AMP,
@@ -15205,23 +16254,62 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [11824] = 3,
+ [12329] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(531), 4,
+ ACTIONS(564), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(529), 24,
+ ACTIONS(562), 25,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_DOT,
anon_sym_QMARK_DOT,
- anon_sym_as,
anon_sym_SEMI,
anon_sym_COMMA,
+ anon_sym_s,
+ anon_sym_m,
+ anon_sym_h,
+ anon_sym_LPAREN,
+ anon_sym_RPAREN,
+ anon_sym_DASH,
+ anon_sym_PLUS,
+ anon_sym_BSLASH,
+ anon_sym_PERCENT,
+ anon_sym_STAR_STAR,
+ anon_sym_PIPE_PIPE,
+ anon_sym_AMP_AMP,
+ anon_sym_EQ_EQ,
+ anon_sym_BANG_EQ,
+ anon_sym_GT_EQ,
+ anon_sym_LT_EQ,
+ anon_sym_QMARK_QMARK,
+ anon_sym_LBRACK,
+ anon_sym_RBRACK,
+ [12366] = 7,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(568), 1,
+ anon_sym_as,
+ ACTIONS(570), 1,
anon_sym_in,
+ STATE(173), 1,
+ sym_new_object_id,
+ STATE(202), 1,
+ sym_new_object_scope,
+ ACTIONS(572), 4,
+ anon_sym_LT,
+ anon_sym_GT,
+ anon_sym_STAR,
+ anon_sym_SLASH,
+ ACTIONS(566), 21,
+ anon_sym_RBRACE,
+ anon_sym_DOT,
+ anon_sym_QMARK_DOT,
+ anon_sym_SEMI,
+ anon_sym_COMMA,
anon_sym_LPAREN,
anon_sym_RPAREN,
anon_sym_DASH,
@@ -15238,15 +16326,15 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [11860] = 3,
+ [12411] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(535), 4,
+ ACTIONS(576), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(533), 24,
+ ACTIONS(574), 25,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_DOT,
@@ -15254,6 +16342,7 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_as,
anon_sym_SEMI,
anon_sym_COMMA,
+ anon_sym_COLON,
anon_sym_in,
anon_sym_LPAREN,
anon_sym_RPAREN,
@@ -15271,24 +16360,98 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [11896] = 5,
+ [12448] = 11,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(519), 1,
+ sym_identifier,
+ ACTIONS(521), 1,
+ anon_sym_inflight,
+ ACTIONS(523), 1,
+ anon_sym_LPAREN,
+ STATE(393), 1,
+ sym_parameter_type_list,
+ STATE(648), 1,
+ sym__inflight_specifier,
+ ACTIONS(67), 2,
+ anon_sym_Json,
+ anon_sym_MutJson,
+ ACTIONS(55), 3,
+ anon_sym_MutSet,
+ anon_sym_MutMap,
+ anon_sym_MutArray,
+ ACTIONS(53), 4,
+ anon_sym_Array,
+ anon_sym_Set,
+ anon_sym_Map,
+ anon_sym_Promise,
+ ACTIONS(527), 6,
+ anon_sym_num,
+ anon_sym_bool,
+ anon_sym_any,
+ anon_sym_str,
+ anon_sym_void,
+ anon_sym_duration,
+ STATE(647), 9,
+ sym_custom_type,
+ sym__type,
+ sym_optional,
+ sym_function_type,
+ sym_builtin_type,
+ sym_immutable_container_type,
+ sym_mutable_container_type,
+ sym__builtin_container_type,
+ sym_json_container_type,
+ [12501] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(493), 1,
+ ACTIONS(580), 4,
+ anon_sym_LT,
+ anon_sym_GT,
+ anon_sym_STAR,
+ anon_sym_SLASH,
+ ACTIONS(578), 24,
+ anon_sym_LBRACE,
+ anon_sym_RBRACE,
+ anon_sym_DOT,
+ anon_sym_QMARK_DOT,
+ anon_sym_as,
+ anon_sym_SEMI,
+ anon_sym_COMMA,
anon_sym_in,
- STATE(213), 1,
- sym_new_object_scope,
- ACTIONS(539), 4,
+ anon_sym_LPAREN,
+ anon_sym_RPAREN,
+ anon_sym_DASH,
+ anon_sym_PLUS,
+ anon_sym_BSLASH,
+ anon_sym_PERCENT,
+ anon_sym_STAR_STAR,
+ anon_sym_PIPE_PIPE,
+ anon_sym_AMP_AMP,
+ anon_sym_EQ_EQ,
+ anon_sym_BANG_EQ,
+ anon_sym_GT_EQ,
+ anon_sym_LT_EQ,
+ anon_sym_QMARK_QMARK,
+ anon_sym_LBRACK,
+ anon_sym_RBRACK,
+ [12537] = 3,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(584), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(537), 21,
+ ACTIONS(582), 24,
+ anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_DOT,
anon_sym_QMARK_DOT,
+ anon_sym_as,
anon_sym_SEMI,
anon_sym_COMMA,
+ anon_sym_in,
anon_sym_LPAREN,
anon_sym_RPAREN,
anon_sym_DASH,
@@ -15305,19 +16468,20 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [11935] = 3,
+ [12573] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(543), 4,
+ ACTIONS(588), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(541), 23,
+ ACTIONS(586), 24,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_DOT,
anon_sym_QMARK_DOT,
+ anon_sym_as,
anon_sym_SEMI,
anon_sym_COMMA,
anon_sym_in,
@@ -15337,26 +16501,90 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [11970] = 6,
+ [12609] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
+ ACTIONS(540), 5,
+ anon_sym_EQ,
+ anon_sym_LT,
+ anon_sym_GT,
+ anon_sym_STAR,
+ anon_sym_SLASH,
+ ACTIONS(535), 23,
+ anon_sym_LBRACE,
+ anon_sym_RBRACE,
+ anon_sym_DOT,
+ anon_sym_QMARK_DOT,
+ anon_sym_SEMI,
+ anon_sym_COMMA,
+ anon_sym_in,
anon_sym_LPAREN,
- STATE(159), 1,
- sym_argument_list,
- ACTIONS(547), 2,
+ anon_sym_RPAREN,
+ anon_sym_DASH,
+ anon_sym_PLUS,
+ anon_sym_BSLASH,
+ anon_sym_PERCENT,
+ anon_sym_STAR_STAR,
+ anon_sym_PIPE_PIPE,
+ anon_sym_AMP_AMP,
+ anon_sym_EQ_EQ,
+ anon_sym_BANG_EQ,
+ anon_sym_GT_EQ,
+ anon_sym_LT_EQ,
+ anon_sym_QMARK_QMARK,
+ anon_sym_LBRACK,
+ anon_sym_RBRACK,
+ [12645] = 3,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(592), 4,
+ anon_sym_LT,
+ anon_sym_GT,
+ anon_sym_STAR,
+ anon_sym_SLASH,
+ ACTIONS(590), 24,
+ anon_sym_LBRACE,
+ anon_sym_RBRACE,
anon_sym_DOT,
anon_sym_QMARK_DOT,
- ACTIONS(551), 4,
+ anon_sym_as,
+ anon_sym_SEMI,
+ anon_sym_COMMA,
+ anon_sym_in,
+ anon_sym_LPAREN,
+ anon_sym_RPAREN,
+ anon_sym_DASH,
+ anon_sym_PLUS,
+ anon_sym_BSLASH,
+ anon_sym_PERCENT,
+ anon_sym_STAR_STAR,
+ anon_sym_PIPE_PIPE,
+ anon_sym_AMP_AMP,
+ anon_sym_EQ_EQ,
+ anon_sym_BANG_EQ,
+ anon_sym_GT_EQ,
+ anon_sym_LT_EQ,
+ anon_sym_QMARK_QMARK,
+ anon_sym_LBRACK,
+ anon_sym_RBRACK,
+ [12681] = 3,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(596), 5,
+ anon_sym_EQ,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(545), 19,
+ ACTIONS(594), 23,
anon_sym_LBRACE,
anon_sym_RBRACE,
+ anon_sym_DOT,
+ anon_sym_QMARK_DOT,
anon_sym_SEMI,
anon_sym_COMMA,
+ anon_sym_in,
+ anon_sym_LPAREN,
anon_sym_RPAREN,
anon_sym_DASH,
anon_sym_PLUS,
@@ -15372,21 +16600,23 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [12011] = 3,
+ [12717] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(555), 4,
+ ACTIONS(600), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(553), 22,
+ ACTIONS(598), 24,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_DOT,
anon_sym_QMARK_DOT,
+ anon_sym_as,
anon_sym_SEMI,
anon_sym_COMMA,
+ anon_sym_in,
anon_sym_LPAREN,
anon_sym_RPAREN,
anon_sym_DASH,
@@ -15403,21 +16633,23 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [12045] = 3,
+ [12753] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(559), 4,
+ ACTIONS(604), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(557), 22,
+ ACTIONS(602), 24,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_DOT,
anon_sym_QMARK_DOT,
+ anon_sym_as,
anon_sym_SEMI,
anon_sym_COMMA,
+ anon_sym_in,
anon_sym_LPAREN,
anon_sym_RPAREN,
anon_sym_DASH,
@@ -15434,21 +16666,23 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [12079] = 3,
+ [12789] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(563), 4,
+ ACTIONS(608), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(561), 22,
+ ACTIONS(606), 24,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_DOT,
anon_sym_QMARK_DOT,
+ anon_sym_as,
anon_sym_SEMI,
anon_sym_COMMA,
+ anon_sym_in,
anon_sym_LPAREN,
anon_sym_RPAREN,
anon_sym_DASH,
@@ -15465,16 +16699,52 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [12113] = 3,
+ [12825] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(567), 4,
+ ACTIONS(612), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(565), 22,
+ ACTIONS(610), 24,
anon_sym_LBRACE,
+ anon_sym_RBRACE,
+ anon_sym_DOT,
+ anon_sym_QMARK_DOT,
+ anon_sym_as,
+ anon_sym_SEMI,
+ anon_sym_COMMA,
+ anon_sym_in,
+ anon_sym_LPAREN,
+ anon_sym_RPAREN,
+ anon_sym_DASH,
+ anon_sym_PLUS,
+ anon_sym_BSLASH,
+ anon_sym_PERCENT,
+ anon_sym_STAR_STAR,
+ anon_sym_PIPE_PIPE,
+ anon_sym_AMP_AMP,
+ anon_sym_EQ_EQ,
+ anon_sym_BANG_EQ,
+ anon_sym_GT_EQ,
+ anon_sym_LT_EQ,
+ anon_sym_QMARK_QMARK,
+ anon_sym_LBRACK,
+ anon_sym_RBRACK,
+ [12861] = 5,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(570), 1,
+ anon_sym_in,
+ STATE(179), 1,
+ sym_new_object_scope,
+ ACTIONS(616), 4,
+ anon_sym_LT,
+ anon_sym_GT,
+ anon_sym_STAR,
+ anon_sym_SLASH,
+ ACTIONS(614), 21,
anon_sym_RBRACE,
anon_sym_DOT,
anon_sym_QMARK_DOT,
@@ -15496,21 +16766,57 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [12147] = 3,
+ [12900] = 6,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(622), 1,
+ anon_sym_LPAREN,
+ STATE(176), 1,
+ sym_argument_list,
+ ACTIONS(620), 2,
+ anon_sym_DOT,
+ anon_sym_QMARK_DOT,
+ ACTIONS(624), 4,
+ anon_sym_LT,
+ anon_sym_GT,
+ anon_sym_STAR,
+ anon_sym_SLASH,
+ ACTIONS(618), 19,
+ anon_sym_LBRACE,
+ anon_sym_RBRACE,
+ anon_sym_SEMI,
+ anon_sym_COMMA,
+ anon_sym_RPAREN,
+ anon_sym_DASH,
+ anon_sym_PLUS,
+ anon_sym_BSLASH,
+ anon_sym_PERCENT,
+ anon_sym_STAR_STAR,
+ anon_sym_PIPE_PIPE,
+ anon_sym_AMP_AMP,
+ anon_sym_EQ_EQ,
+ anon_sym_BANG_EQ,
+ anon_sym_GT_EQ,
+ anon_sym_LT_EQ,
+ anon_sym_QMARK_QMARK,
+ anon_sym_LBRACK,
+ anon_sym_RBRACK,
+ [12941] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(571), 4,
+ ACTIONS(628), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(569), 22,
+ ACTIONS(626), 23,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_DOT,
anon_sym_QMARK_DOT,
anon_sym_SEMI,
anon_sym_COMMA,
+ anon_sym_in,
anon_sym_LPAREN,
anon_sym_RPAREN,
anon_sym_DASH,
@@ -15527,15 +16833,15 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [12181] = 3,
+ [12976] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(575), 4,
+ ACTIONS(632), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(573), 22,
+ ACTIONS(630), 22,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_DOT,
@@ -15558,15 +16864,15 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [12215] = 3,
+ [13010] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(231), 4,
+ ACTIONS(636), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(229), 22,
+ ACTIONS(634), 22,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_DOT,
@@ -15589,15 +16895,15 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [12249] = 3,
+ [13044] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(579), 4,
+ ACTIONS(640), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(577), 22,
+ ACTIONS(638), 22,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_DOT,
@@ -15620,15 +16926,15 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [12283] = 3,
+ [13078] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(583), 4,
+ ACTIONS(644), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(581), 22,
+ ACTIONS(642), 22,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_DOT,
@@ -15651,15 +16957,15 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [12317] = 3,
+ [13112] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(587), 4,
+ ACTIONS(648), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(585), 22,
+ ACTIONS(646), 22,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_DOT,
@@ -15682,15 +16988,15 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [12351] = 3,
+ [13146] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(591), 4,
+ ACTIONS(652), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(589), 22,
+ ACTIONS(650), 22,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_DOT,
@@ -15713,15 +17019,15 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [12385] = 3,
+ [13180] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(595), 4,
+ ACTIONS(240), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(593), 22,
+ ACTIONS(238), 22,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_DOT,
@@ -15744,46 +17050,59 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [12419] = 3,
+ [13214] = 16,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(599), 4,
- anon_sym_LT,
- anon_sym_GT,
- anon_sym_STAR,
- anon_sym_SLASH,
- ACTIONS(597), 22,
- anon_sym_LBRACE,
- anon_sym_RBRACE,
+ ACTIONS(622), 1,
+ anon_sym_LPAREN,
+ ACTIONS(664), 1,
+ anon_sym_STAR_STAR,
+ ACTIONS(666), 1,
+ anon_sym_PIPE_PIPE,
+ ACTIONS(668), 1,
+ anon_sym_AMP_AMP,
+ ACTIONS(674), 1,
+ anon_sym_QMARK_QMARK,
+ ACTIONS(676), 1,
+ anon_sym_LBRACK,
+ STATE(176), 1,
+ sym_argument_list,
+ ACTIONS(620), 2,
anon_sym_DOT,
anon_sym_QMARK_DOT,
- anon_sym_SEMI,
- anon_sym_COMMA,
- anon_sym_LPAREN,
- anon_sym_RPAREN,
+ ACTIONS(656), 2,
+ anon_sym_LT,
+ anon_sym_GT,
+ ACTIONS(658), 2,
anon_sym_DASH,
anon_sym_PLUS,
+ ACTIONS(660), 2,
+ anon_sym_STAR,
+ anon_sym_SLASH,
+ ACTIONS(662), 2,
anon_sym_BSLASH,
anon_sym_PERCENT,
- anon_sym_STAR_STAR,
- anon_sym_PIPE_PIPE,
- anon_sym_AMP_AMP,
+ ACTIONS(670), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
+ ACTIONS(672), 2,
anon_sym_GT_EQ,
anon_sym_LT_EQ,
- anon_sym_QMARK_QMARK,
- anon_sym_LBRACK,
+ ACTIONS(654), 5,
+ anon_sym_RBRACE,
+ anon_sym_SEMI,
+ anon_sym_COMMA,
+ anon_sym_RPAREN,
anon_sym_RBRACK,
- [12453] = 3,
+ [13274] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(603), 4,
+ ACTIONS(680), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(601), 22,
+ ACTIONS(678), 22,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_DOT,
@@ -15806,15 +17125,15 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [12487] = 3,
+ [13308] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(607), 4,
+ ACTIONS(684), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(605), 22,
+ ACTIONS(682), 22,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_DOT,
@@ -15837,15 +17156,15 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [12521] = 3,
+ [13342] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(611), 4,
+ ACTIONS(688), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(609), 22,
+ ACTIONS(686), 22,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_DOT,
@@ -15868,15 +17187,59 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [12555] = 3,
+ [13376] = 16,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(615), 4,
+ ACTIONS(622), 1,
+ anon_sym_LPAREN,
+ ACTIONS(664), 1,
+ anon_sym_STAR_STAR,
+ ACTIONS(666), 1,
+ anon_sym_PIPE_PIPE,
+ ACTIONS(668), 1,
+ anon_sym_AMP_AMP,
+ ACTIONS(674), 1,
+ anon_sym_QMARK_QMARK,
+ ACTIONS(676), 1,
+ anon_sym_LBRACK,
+ STATE(176), 1,
+ sym_argument_list,
+ ACTIONS(620), 2,
+ anon_sym_DOT,
+ anon_sym_QMARK_DOT,
+ ACTIONS(656), 2,
+ anon_sym_LT,
+ anon_sym_GT,
+ ACTIONS(658), 2,
+ anon_sym_DASH,
+ anon_sym_PLUS,
+ ACTIONS(660), 2,
+ anon_sym_STAR,
+ anon_sym_SLASH,
+ ACTIONS(662), 2,
+ anon_sym_BSLASH,
+ anon_sym_PERCENT,
+ ACTIONS(670), 2,
+ anon_sym_EQ_EQ,
+ anon_sym_BANG_EQ,
+ ACTIONS(672), 2,
+ anon_sym_GT_EQ,
+ anon_sym_LT_EQ,
+ ACTIONS(690), 5,
+ anon_sym_RBRACE,
+ anon_sym_SEMI,
+ anon_sym_COMMA,
+ anon_sym_RPAREN,
+ anon_sym_RBRACK,
+ [13436] = 3,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(694), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(613), 22,
+ ACTIONS(692), 22,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_DOT,
@@ -15899,15 +17262,15 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [12589] = 3,
+ [13470] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(619), 4,
+ ACTIONS(698), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(617), 22,
+ ACTIONS(696), 22,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_DOT,
@@ -15930,15 +17293,15 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [12623] = 3,
+ [13504] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(623), 4,
+ ACTIONS(702), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(621), 22,
+ ACTIONS(700), 22,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_DOT,
@@ -15961,15 +17324,15 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [12657] = 3,
+ [13538] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(627), 4,
+ ACTIONS(706), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(625), 22,
+ ACTIONS(704), 22,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_DOT,
@@ -15992,33 +17355,33 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [12691] = 11,
+ [13572] = 11,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
+ ACTIONS(622), 1,
anon_sym_LPAREN,
- ACTIONS(635), 1,
+ ACTIONS(664), 1,
anon_sym_STAR_STAR,
- ACTIONS(637), 1,
+ ACTIONS(674), 1,
anon_sym_QMARK_QMARK,
- STATE(159), 1,
+ STATE(176), 1,
sym_argument_list,
- ACTIONS(547), 2,
+ ACTIONS(620), 2,
anon_sym_DOT,
anon_sym_QMARK_DOT,
- ACTIONS(551), 2,
+ ACTIONS(624), 2,
anon_sym_LT,
anon_sym_GT,
- ACTIONS(629), 2,
+ ACTIONS(658), 2,
anon_sym_DASH,
anon_sym_PLUS,
- ACTIONS(631), 2,
+ ACTIONS(660), 2,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(633), 2,
+ ACTIONS(662), 2,
anon_sym_BSLASH,
anon_sym_PERCENT,
- ACTIONS(545), 12,
+ ACTIONS(618), 12,
anon_sym_RBRACE,
anon_sym_SEMI,
anon_sym_COMMA,
@@ -16031,30 +17394,30 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LT_EQ,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [12741] = 10,
+ [13622] = 10,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
+ ACTIONS(622), 1,
anon_sym_LPAREN,
- ACTIONS(635), 1,
+ ACTIONS(664), 1,
anon_sym_STAR_STAR,
- ACTIONS(637), 1,
+ ACTIONS(674), 1,
anon_sym_QMARK_QMARK,
- STATE(159), 1,
+ STATE(176), 1,
sym_argument_list,
- ACTIONS(547), 2,
+ ACTIONS(620), 2,
anon_sym_DOT,
anon_sym_QMARK_DOT,
- ACTIONS(551), 2,
+ ACTIONS(624), 2,
anon_sym_LT,
anon_sym_GT,
- ACTIONS(631), 2,
+ ACTIONS(660), 2,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(633), 2,
+ ACTIONS(662), 2,
anon_sym_BSLASH,
anon_sym_PERCENT,
- ACTIONS(545), 14,
+ ACTIONS(618), 14,
anon_sym_RBRACE,
anon_sym_SEMI,
anon_sym_COMMA,
@@ -16069,26 +17432,26 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LT_EQ,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [12789] = 8,
+ [13670] = 8,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
+ ACTIONS(622), 1,
anon_sym_LPAREN,
- ACTIONS(635), 1,
+ ACTIONS(664), 1,
anon_sym_STAR_STAR,
- ACTIONS(637), 1,
+ ACTIONS(674), 1,
anon_sym_QMARK_QMARK,
- STATE(159), 1,
+ STATE(176), 1,
sym_argument_list,
- ACTIONS(547), 2,
+ ACTIONS(620), 2,
anon_sym_DOT,
anon_sym_QMARK_DOT,
- ACTIONS(551), 4,
+ ACTIONS(624), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(545), 16,
+ ACTIONS(618), 16,
anon_sym_RBRACE,
anon_sym_SEMI,
anon_sym_COMMA,
@@ -16105,24 +17468,24 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LT_EQ,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [12833] = 7,
+ [13714] = 7,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
+ ACTIONS(622), 1,
anon_sym_LPAREN,
- ACTIONS(637), 1,
+ ACTIONS(674), 1,
anon_sym_QMARK_QMARK,
- STATE(159), 1,
+ STATE(176), 1,
sym_argument_list,
- ACTIONS(547), 2,
+ ACTIONS(620), 2,
anon_sym_DOT,
anon_sym_QMARK_DOT,
- ACTIONS(551), 4,
+ ACTIONS(624), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(545), 17,
+ ACTIONS(618), 17,
anon_sym_RBRACE,
anon_sym_SEMI,
anon_sym_COMMA,
@@ -16140,41 +17503,41 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LT_EQ,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [12875] = 14,
+ [13756] = 14,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
+ ACTIONS(622), 1,
anon_sym_LPAREN,
- ACTIONS(635), 1,
+ ACTIONS(664), 1,
anon_sym_STAR_STAR,
- ACTIONS(637), 1,
- anon_sym_QMARK_QMARK,
- ACTIONS(641), 1,
+ ACTIONS(668), 1,
anon_sym_AMP_AMP,
- STATE(159), 1,
+ ACTIONS(674), 1,
+ anon_sym_QMARK_QMARK,
+ STATE(176), 1,
sym_argument_list,
- ACTIONS(547), 2,
+ ACTIONS(620), 2,
anon_sym_DOT,
anon_sym_QMARK_DOT,
- ACTIONS(629), 2,
+ ACTIONS(656), 2,
+ anon_sym_LT,
+ anon_sym_GT,
+ ACTIONS(658), 2,
anon_sym_DASH,
anon_sym_PLUS,
- ACTIONS(631), 2,
+ ACTIONS(660), 2,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(633), 2,
+ ACTIONS(662), 2,
anon_sym_BSLASH,
anon_sym_PERCENT,
- ACTIONS(639), 2,
- anon_sym_LT,
- anon_sym_GT,
- ACTIONS(643), 2,
+ ACTIONS(670), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
- ACTIONS(645), 2,
+ ACTIONS(672), 2,
anon_sym_GT_EQ,
anon_sym_LT_EQ,
- ACTIONS(545), 7,
+ ACTIONS(618), 7,
anon_sym_RBRACE,
anon_sym_SEMI,
anon_sym_COMMA,
@@ -16182,39 +17545,39 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_PIPE_PIPE,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [12931] = 13,
+ [13812] = 13,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
+ ACTIONS(622), 1,
anon_sym_LPAREN,
- ACTIONS(635), 1,
+ ACTIONS(664), 1,
anon_sym_STAR_STAR,
- ACTIONS(637), 1,
+ ACTIONS(674), 1,
anon_sym_QMARK_QMARK,
- STATE(159), 1,
+ STATE(176), 1,
sym_argument_list,
- ACTIONS(547), 2,
+ ACTIONS(620), 2,
anon_sym_DOT,
anon_sym_QMARK_DOT,
- ACTIONS(629), 2,
+ ACTIONS(656), 2,
+ anon_sym_LT,
+ anon_sym_GT,
+ ACTIONS(658), 2,
anon_sym_DASH,
anon_sym_PLUS,
- ACTIONS(631), 2,
+ ACTIONS(660), 2,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(633), 2,
+ ACTIONS(662), 2,
anon_sym_BSLASH,
anon_sym_PERCENT,
- ACTIONS(639), 2,
- anon_sym_LT,
- anon_sym_GT,
- ACTIONS(643), 2,
+ ACTIONS(670), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
- ACTIONS(645), 2,
+ ACTIONS(672), 2,
anon_sym_GT_EQ,
anon_sym_LT_EQ,
- ACTIONS(545), 8,
+ ACTIONS(618), 8,
anon_sym_RBRACE,
anon_sym_SEMI,
anon_sym_COMMA,
@@ -16223,36 +17586,36 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_AMP_AMP,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [12985] = 12,
+ [13866] = 12,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
+ ACTIONS(622), 1,
anon_sym_LPAREN,
- ACTIONS(635), 1,
+ ACTIONS(664), 1,
anon_sym_STAR_STAR,
- ACTIONS(637), 1,
+ ACTIONS(674), 1,
anon_sym_QMARK_QMARK,
- STATE(159), 1,
+ STATE(176), 1,
sym_argument_list,
- ACTIONS(547), 2,
+ ACTIONS(620), 2,
anon_sym_DOT,
anon_sym_QMARK_DOT,
- ACTIONS(629), 2,
+ ACTIONS(656), 2,
+ anon_sym_LT,
+ anon_sym_GT,
+ ACTIONS(658), 2,
anon_sym_DASH,
anon_sym_PLUS,
- ACTIONS(631), 2,
+ ACTIONS(660), 2,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(633), 2,
+ ACTIONS(662), 2,
anon_sym_BSLASH,
anon_sym_PERCENT,
- ACTIONS(639), 2,
- anon_sym_LT,
- anon_sym_GT,
- ACTIONS(645), 2,
+ ACTIONS(672), 2,
anon_sym_GT_EQ,
anon_sym_LT_EQ,
- ACTIONS(545), 10,
+ ACTIONS(618), 10,
anon_sym_RBRACE,
anon_sym_SEMI,
anon_sym_COMMA,
@@ -16263,15 +17626,15 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_BANG_EQ,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [13037] = 3,
+ [13918] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(649), 4,
+ ACTIONS(710), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(647), 22,
+ ACTIONS(708), 22,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_DOT,
@@ -16294,15 +17657,15 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [13071] = 3,
+ [13952] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(653), 4,
+ ACTIONS(714), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(651), 22,
+ ACTIONS(712), 22,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_DOT,
@@ -16325,15 +17688,15 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [13105] = 3,
+ [13986] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(464), 4,
+ ACTIONS(718), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(456), 22,
+ ACTIONS(716), 22,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_DOT,
@@ -16356,15 +17719,15 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [13139] = 3,
+ [14020] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(657), 4,
+ ACTIONS(722), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(655), 22,
+ ACTIONS(720), 22,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_DOT,
@@ -16387,15 +17750,15 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [13173] = 3,
+ [14054] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(661), 4,
+ ACTIONS(726), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(659), 22,
+ ACTIONS(724), 22,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_DOT,
@@ -16418,15 +17781,15 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [13207] = 3,
+ [14088] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(599), 4,
+ ACTIONS(730), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(597), 22,
+ ACTIONS(728), 22,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_DOT,
@@ -16449,15 +17812,15 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [13241] = 3,
+ [14122] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(665), 4,
+ ACTIONS(734), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(663), 22,
+ ACTIONS(732), 22,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_DOT,
@@ -16480,15 +17843,15 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [13275] = 3,
+ [14156] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(669), 4,
+ ACTIONS(738), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(667), 22,
+ ACTIONS(736), 22,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_DOT,
@@ -16511,15 +17874,51 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [13309] = 3,
+ [14190] = 8,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(622), 1,
+ anon_sym_LPAREN,
+ ACTIONS(664), 1,
+ anon_sym_STAR_STAR,
+ ACTIONS(674), 1,
+ anon_sym_QMARK_QMARK,
+ STATE(176), 1,
+ sym_argument_list,
+ ACTIONS(620), 2,
+ anon_sym_DOT,
+ anon_sym_QMARK_DOT,
+ ACTIONS(742), 4,
+ anon_sym_LT,
+ anon_sym_GT,
+ anon_sym_STAR,
+ anon_sym_SLASH,
+ ACTIONS(740), 16,
+ anon_sym_RBRACE,
+ anon_sym_SEMI,
+ anon_sym_COMMA,
+ anon_sym_RPAREN,
+ anon_sym_DASH,
+ anon_sym_PLUS,
+ anon_sym_BSLASH,
+ anon_sym_PERCENT,
+ anon_sym_PIPE_PIPE,
+ anon_sym_AMP_AMP,
+ anon_sym_EQ_EQ,
+ anon_sym_BANG_EQ,
+ anon_sym_GT_EQ,
+ anon_sym_LT_EQ,
+ anon_sym_LBRACK,
+ anon_sym_RBRACK,
+ [14234] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(673), 4,
+ ACTIONS(746), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(671), 22,
+ ACTIONS(744), 22,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_DOT,
@@ -16542,15 +17941,15 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [13343] = 3,
+ [14268] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(677), 4,
+ ACTIONS(750), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(675), 22,
+ ACTIONS(748), 22,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_DOT,
@@ -16573,15 +17972,15 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [13377] = 3,
+ [14302] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(677), 4,
+ ACTIONS(754), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(675), 22,
+ ACTIONS(752), 22,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_DOT,
@@ -16604,15 +18003,15 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [13411] = 3,
+ [14336] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(681), 4,
+ ACTIONS(758), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(679), 22,
+ ACTIONS(756), 22,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_DOT,
@@ -16635,15 +18034,15 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [13445] = 3,
+ [14370] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(685), 4,
+ ACTIONS(762), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(683), 22,
+ ACTIONS(760), 22,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_DOT,
@@ -16666,15 +18065,15 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [13479] = 3,
+ [14404] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(689), 4,
+ ACTIONS(766), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(687), 22,
+ ACTIONS(764), 22,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_DOT,
@@ -16697,15 +18096,15 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [13513] = 3,
+ [14438] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(693), 4,
+ ACTIONS(770), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(691), 22,
+ ACTIONS(768), 22,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_DOT,
@@ -16728,15 +18127,15 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [13547] = 3,
+ [14472] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(235), 4,
+ ACTIONS(774), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(233), 22,
+ ACTIONS(772), 22,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_DOT,
@@ -16759,15 +18158,15 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [13581] = 3,
+ [14506] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(697), 4,
+ ACTIONS(778), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(695), 22,
+ ACTIONS(776), 22,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_DOT,
@@ -16790,15 +18189,15 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [13615] = 3,
+ [14540] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(701), 4,
+ ACTIONS(782), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(699), 22,
+ ACTIONS(780), 22,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_DOT,
@@ -16821,15 +18220,15 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [13649] = 3,
+ [14574] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(705), 4,
+ ACTIONS(560), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(703), 22,
+ ACTIONS(552), 22,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_DOT,
@@ -16852,15 +18251,59 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [13683] = 3,
+ [14608] = 16,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(622), 1,
+ anon_sym_LPAREN,
+ ACTIONS(664), 1,
+ anon_sym_STAR_STAR,
+ ACTIONS(666), 1,
+ anon_sym_PIPE_PIPE,
+ ACTIONS(668), 1,
+ anon_sym_AMP_AMP,
+ ACTIONS(674), 1,
+ anon_sym_QMARK_QMARK,
+ ACTIONS(676), 1,
+ anon_sym_LBRACK,
+ STATE(176), 1,
+ sym_argument_list,
+ ACTIONS(620), 2,
+ anon_sym_DOT,
+ anon_sym_QMARK_DOT,
+ ACTIONS(656), 2,
+ anon_sym_LT,
+ anon_sym_GT,
+ ACTIONS(658), 2,
+ anon_sym_DASH,
+ anon_sym_PLUS,
+ ACTIONS(660), 2,
+ anon_sym_STAR,
+ anon_sym_SLASH,
+ ACTIONS(662), 2,
+ anon_sym_BSLASH,
+ anon_sym_PERCENT,
+ ACTIONS(670), 2,
+ anon_sym_EQ_EQ,
+ anon_sym_BANG_EQ,
+ ACTIONS(672), 2,
+ anon_sym_GT_EQ,
+ anon_sym_LT_EQ,
+ ACTIONS(784), 5,
+ anon_sym_RBRACE,
+ anon_sym_SEMI,
+ anon_sym_COMMA,
+ anon_sym_RPAREN,
+ anon_sym_RBRACK,
+ [14668] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(709), 4,
+ ACTIONS(788), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(707), 22,
+ ACTIONS(786), 22,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_DOT,
@@ -16883,15 +18326,15 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [13717] = 3,
+ [14702] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(713), 4,
+ ACTIONS(236), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(711), 22,
+ ACTIONS(234), 22,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_DOT,
@@ -16914,15 +18357,15 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [13751] = 3,
+ [14736] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(717), 4,
+ ACTIONS(746), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(715), 22,
+ ACTIONS(744), 22,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_DOT,
@@ -16945,15 +18388,15 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [13785] = 3,
+ [14770] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(721), 4,
+ ACTIONS(792), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(719), 22,
+ ACTIONS(790), 22,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_DOT,
@@ -16976,139 +18419,201 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [13819] = 8,
+ [14804] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
- anon_sym_LPAREN,
- ACTIONS(635), 1,
- anon_sym_STAR_STAR,
- ACTIONS(637), 1,
- anon_sym_QMARK_QMARK,
- STATE(159), 1,
- sym_argument_list,
- ACTIONS(547), 2,
- anon_sym_DOT,
- anon_sym_QMARK_DOT,
- ACTIONS(725), 4,
+ ACTIONS(796), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(723), 16,
+ ACTIONS(794), 22,
+ anon_sym_LBRACE,
anon_sym_RBRACE,
+ anon_sym_DOT,
+ anon_sym_QMARK_DOT,
anon_sym_SEMI,
anon_sym_COMMA,
+ anon_sym_LPAREN,
anon_sym_RPAREN,
anon_sym_DASH,
anon_sym_PLUS,
anon_sym_BSLASH,
anon_sym_PERCENT,
+ anon_sym_STAR_STAR,
anon_sym_PIPE_PIPE,
anon_sym_AMP_AMP,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
anon_sym_GT_EQ,
anon_sym_LT_EQ,
+ anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [13863] = 16,
+ [14838] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
+ ACTIONS(800), 4,
+ anon_sym_LT,
+ anon_sym_GT,
+ anon_sym_STAR,
+ anon_sym_SLASH,
+ ACTIONS(798), 22,
+ anon_sym_LBRACE,
+ anon_sym_RBRACE,
+ anon_sym_DOT,
+ anon_sym_QMARK_DOT,
+ anon_sym_SEMI,
+ anon_sym_COMMA,
anon_sym_LPAREN,
- ACTIONS(635), 1,
+ anon_sym_RPAREN,
+ anon_sym_DASH,
+ anon_sym_PLUS,
+ anon_sym_BSLASH,
+ anon_sym_PERCENT,
anon_sym_STAR_STAR,
- ACTIONS(637), 1,
- anon_sym_QMARK_QMARK,
- ACTIONS(641), 1,
- anon_sym_AMP_AMP,
- ACTIONS(729), 1,
anon_sym_PIPE_PIPE,
- ACTIONS(731), 1,
+ anon_sym_AMP_AMP,
+ anon_sym_EQ_EQ,
+ anon_sym_BANG_EQ,
+ anon_sym_GT_EQ,
+ anon_sym_LT_EQ,
+ anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
- STATE(159), 1,
- sym_argument_list,
- ACTIONS(547), 2,
+ anon_sym_RBRACK,
+ [14872] = 3,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(804), 4,
+ anon_sym_LT,
+ anon_sym_GT,
+ anon_sym_STAR,
+ anon_sym_SLASH,
+ ACTIONS(802), 22,
+ anon_sym_LBRACE,
+ anon_sym_RBRACE,
anon_sym_DOT,
anon_sym_QMARK_DOT,
- ACTIONS(629), 2,
+ anon_sym_SEMI,
+ anon_sym_COMMA,
+ anon_sym_LPAREN,
+ anon_sym_RPAREN,
anon_sym_DASH,
anon_sym_PLUS,
- ACTIONS(631), 2,
- anon_sym_STAR,
- anon_sym_SLASH,
- ACTIONS(633), 2,
anon_sym_BSLASH,
anon_sym_PERCENT,
- ACTIONS(639), 2,
- anon_sym_LT,
- anon_sym_GT,
- ACTIONS(643), 2,
+ anon_sym_STAR_STAR,
+ anon_sym_PIPE_PIPE,
+ anon_sym_AMP_AMP,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
- ACTIONS(645), 2,
anon_sym_GT_EQ,
anon_sym_LT_EQ,
- ACTIONS(727), 5,
+ anon_sym_QMARK_QMARK,
+ anon_sym_LBRACK,
+ anon_sym_RBRACK,
+ [14906] = 3,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(808), 4,
+ anon_sym_LT,
+ anon_sym_GT,
+ anon_sym_STAR,
+ anon_sym_SLASH,
+ ACTIONS(806), 22,
+ anon_sym_LBRACE,
anon_sym_RBRACE,
+ anon_sym_DOT,
+ anon_sym_QMARK_DOT,
anon_sym_SEMI,
anon_sym_COMMA,
+ anon_sym_LPAREN,
anon_sym_RPAREN,
+ anon_sym_DASH,
+ anon_sym_PLUS,
+ anon_sym_BSLASH,
+ anon_sym_PERCENT,
+ anon_sym_STAR_STAR,
+ anon_sym_PIPE_PIPE,
+ anon_sym_AMP_AMP,
+ anon_sym_EQ_EQ,
+ anon_sym_BANG_EQ,
+ anon_sym_GT_EQ,
+ anon_sym_LT_EQ,
+ anon_sym_QMARK_QMARK,
+ anon_sym_LBRACK,
anon_sym_RBRACK,
- [13923] = 16,
+ [14940] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
+ ACTIONS(812), 4,
+ anon_sym_LT,
+ anon_sym_GT,
+ anon_sym_STAR,
+ anon_sym_SLASH,
+ ACTIONS(810), 22,
+ anon_sym_LBRACE,
+ anon_sym_RBRACE,
+ anon_sym_DOT,
+ anon_sym_QMARK_DOT,
+ anon_sym_SEMI,
+ anon_sym_COMMA,
anon_sym_LPAREN,
- ACTIONS(635), 1,
+ anon_sym_RPAREN,
+ anon_sym_DASH,
+ anon_sym_PLUS,
+ anon_sym_BSLASH,
+ anon_sym_PERCENT,
anon_sym_STAR_STAR,
- ACTIONS(637), 1,
- anon_sym_QMARK_QMARK,
- ACTIONS(641), 1,
- anon_sym_AMP_AMP,
- ACTIONS(729), 1,
anon_sym_PIPE_PIPE,
- ACTIONS(731), 1,
+ anon_sym_AMP_AMP,
+ anon_sym_EQ_EQ,
+ anon_sym_BANG_EQ,
+ anon_sym_GT_EQ,
+ anon_sym_LT_EQ,
+ anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
- STATE(159), 1,
- sym_argument_list,
- ACTIONS(547), 2,
+ anon_sym_RBRACK,
+ [14974] = 3,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(816), 4,
+ anon_sym_LT,
+ anon_sym_GT,
+ anon_sym_STAR,
+ anon_sym_SLASH,
+ ACTIONS(814), 22,
+ anon_sym_LBRACE,
+ anon_sym_RBRACE,
anon_sym_DOT,
anon_sym_QMARK_DOT,
- ACTIONS(629), 2,
+ anon_sym_SEMI,
+ anon_sym_COMMA,
+ anon_sym_LPAREN,
+ anon_sym_RPAREN,
anon_sym_DASH,
anon_sym_PLUS,
- ACTIONS(631), 2,
- anon_sym_STAR,
- anon_sym_SLASH,
- ACTIONS(633), 2,
anon_sym_BSLASH,
anon_sym_PERCENT,
- ACTIONS(639), 2,
- anon_sym_LT,
- anon_sym_GT,
- ACTIONS(643), 2,
+ anon_sym_STAR_STAR,
+ anon_sym_PIPE_PIPE,
+ anon_sym_AMP_AMP,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
- ACTIONS(645), 2,
anon_sym_GT_EQ,
anon_sym_LT_EQ,
- ACTIONS(733), 5,
- anon_sym_RBRACE,
- anon_sym_SEMI,
- anon_sym_COMMA,
- anon_sym_RPAREN,
+ anon_sym_QMARK_QMARK,
+ anon_sym_LBRACK,
anon_sym_RBRACK,
- [13983] = 3,
+ [15008] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(737), 4,
+ ACTIONS(820), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(735), 22,
+ ACTIONS(818), 22,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_DOT,
@@ -17131,15 +18636,15 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [14017] = 3,
+ [15042] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(741), 4,
+ ACTIONS(824), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(739), 22,
+ ACTIONS(822), 22,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_DOT,
@@ -17162,15 +18667,15 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [14051] = 3,
+ [15076] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(745), 4,
+ ACTIONS(828), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(743), 22,
+ ACTIONS(826), 22,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_DOT,
@@ -17193,59 +18698,46 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [14085] = 16,
+ [15110] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
- anon_sym_LPAREN,
- ACTIONS(635), 1,
- anon_sym_STAR_STAR,
- ACTIONS(637), 1,
- anon_sym_QMARK_QMARK,
- ACTIONS(641), 1,
- anon_sym_AMP_AMP,
- ACTIONS(729), 1,
- anon_sym_PIPE_PIPE,
- ACTIONS(731), 1,
- anon_sym_LBRACK,
- STATE(159), 1,
- sym_argument_list,
- ACTIONS(547), 2,
+ ACTIONS(832), 4,
+ anon_sym_LT,
+ anon_sym_GT,
+ anon_sym_STAR,
+ anon_sym_SLASH,
+ ACTIONS(830), 22,
+ anon_sym_LBRACE,
+ anon_sym_RBRACE,
anon_sym_DOT,
anon_sym_QMARK_DOT,
- ACTIONS(629), 2,
+ anon_sym_SEMI,
+ anon_sym_COMMA,
+ anon_sym_LPAREN,
+ anon_sym_RPAREN,
anon_sym_DASH,
anon_sym_PLUS,
- ACTIONS(631), 2,
- anon_sym_STAR,
- anon_sym_SLASH,
- ACTIONS(633), 2,
anon_sym_BSLASH,
anon_sym_PERCENT,
- ACTIONS(639), 2,
- anon_sym_LT,
- anon_sym_GT,
- ACTIONS(643), 2,
+ anon_sym_STAR_STAR,
+ anon_sym_PIPE_PIPE,
+ anon_sym_AMP_AMP,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
- ACTIONS(645), 2,
anon_sym_GT_EQ,
anon_sym_LT_EQ,
- ACTIONS(747), 5,
- anon_sym_RBRACE,
- anon_sym_SEMI,
- anon_sym_COMMA,
- anon_sym_RPAREN,
+ anon_sym_QMARK_QMARK,
+ anon_sym_LBRACK,
anon_sym_RBRACK,
- [14145] = 3,
+ [15144] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(751), 4,
+ ACTIONS(726), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(749), 22,
+ ACTIONS(724), 22,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_DOT,
@@ -17268,15 +18760,15 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [14179] = 3,
+ [15178] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(755), 4,
+ ACTIONS(836), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(753), 22,
+ ACTIONS(834), 22,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_DOT,
@@ -17299,15 +18791,15 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [14213] = 3,
+ [15212] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(759), 4,
+ ACTIONS(840), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(757), 22,
+ ACTIONS(838), 22,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_DOT,
@@ -17330,15 +18822,15 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [14247] = 3,
+ [15246] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(763), 4,
+ ACTIONS(844), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(761), 22,
+ ACTIONS(842), 22,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_DOT,
@@ -17361,15 +18853,15 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [14281] = 3,
+ [15280] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(767), 4,
+ ACTIONS(848), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(765), 22,
+ ACTIONS(846), 22,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_DOT,
@@ -17392,15 +18884,15 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [14315] = 3,
+ [15314] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(771), 4,
+ ACTIONS(852), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(769), 22,
+ ACTIONS(850), 22,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_DOT,
@@ -17423,15 +18915,15 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [14349] = 3,
+ [15348] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(775), 4,
+ ACTIONS(856), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(773), 22,
+ ACTIONS(854), 22,
anon_sym_LBRACE,
anon_sym_RBRACE,
anon_sym_DOT,
@@ -17454,23 +18946,62 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
anon_sym_RBRACK,
- [14383] = 3,
+ [15382] = 8,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(779), 4,
+ ACTIONS(533), 1,
+ anon_sym_LBRACE,
+ ACTIONS(537), 1,
+ anon_sym_DOT,
+ ACTIONS(858), 1,
+ anon_sym_COLON,
+ STATE(312), 1,
+ aux_sym_custom_type_repeat1,
+ STATE(655), 1,
+ sym__type_annotation,
+ ACTIONS(540), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(777), 22,
+ ACTIONS(535), 16,
+ anon_sym_QMARK_DOT,
+ anon_sym_LPAREN,
+ anon_sym_RPAREN,
+ anon_sym_DASH,
+ anon_sym_PLUS,
+ anon_sym_BSLASH,
+ anon_sym_PERCENT,
+ anon_sym_STAR_STAR,
+ anon_sym_PIPE_PIPE,
+ anon_sym_AMP_AMP,
+ anon_sym_EQ_EQ,
+ anon_sym_BANG_EQ,
+ anon_sym_GT_EQ,
+ anon_sym_LT_EQ,
+ anon_sym_QMARK_QMARK,
+ anon_sym_LBRACK,
+ [15425] = 7,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(533), 1,
anon_sym_LBRACE,
- anon_sym_RBRACE,
+ ACTIONS(537), 1,
anon_sym_DOT,
+ ACTIONS(860), 1,
+ anon_sym_COLON,
+ STATE(312), 1,
+ aux_sym_custom_type_repeat1,
+ ACTIONS(540), 4,
+ anon_sym_LT,
+ anon_sym_GT,
+ anon_sym_STAR,
+ anon_sym_SLASH,
+ ACTIONS(535), 17,
+ anon_sym_RBRACE,
anon_sym_QMARK_DOT,
- anon_sym_SEMI,
anon_sym_COMMA,
anon_sym_LPAREN,
- anon_sym_RPAREN,
anon_sym_DASH,
anon_sym_PLUS,
anon_sym_BSLASH,
@@ -17484,24 +19015,23 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LT_EQ,
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
- anon_sym_RBRACK,
- [14417] = 7,
+ [15466] = 7,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(466), 1,
+ ACTIONS(533), 1,
anon_sym_LBRACE,
- ACTIONS(470), 1,
+ ACTIONS(537), 1,
anon_sym_DOT,
- ACTIONS(781), 1,
+ ACTIONS(862), 1,
anon_sym_COLON,
- STATE(290), 1,
+ STATE(312), 1,
aux_sym_custom_type_repeat1,
- ACTIONS(473), 4,
+ ACTIONS(540), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(468), 17,
+ ACTIONS(535), 17,
anon_sym_QMARK_DOT,
anon_sym_COMMA,
anon_sym_LPAREN,
@@ -17519,23 +19049,23 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LT_EQ,
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
- [14458] = 7,
+ [15507] = 7,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(491), 1,
+ ACTIONS(568), 1,
anon_sym_as,
- ACTIONS(783), 1,
+ ACTIONS(864), 1,
anon_sym_in,
- STATE(198), 1,
+ STATE(202), 1,
sym_new_object_scope,
- STATE(236), 1,
+ STATE(260), 1,
sym_new_object_id,
- ACTIONS(495), 4,
+ ACTIONS(572), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(489), 17,
+ ACTIONS(566), 17,
anon_sym_LBRACE,
anon_sym_DOT,
anon_sym_QMARK_DOT,
@@ -17553,62 +19083,324 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LT_EQ,
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
- [14499] = 7,
+ [15548] = 18,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(466), 1,
- anon_sym_LBRACE,
- ACTIONS(470), 1,
+ ACTIONS(622), 1,
+ anon_sym_LPAREN,
+ ACTIONS(664), 1,
+ anon_sym_STAR_STAR,
+ ACTIONS(666), 1,
+ anon_sym_PIPE_PIPE,
+ ACTIONS(668), 1,
+ anon_sym_AMP_AMP,
+ ACTIONS(674), 1,
+ anon_sym_QMARK_QMARK,
+ ACTIONS(676), 1,
+ anon_sym_LBRACK,
+ ACTIONS(866), 1,
+ anon_sym_RBRACE,
+ ACTIONS(868), 1,
+ anon_sym_COMMA,
+ STATE(176), 1,
+ sym_argument_list,
+ STATE(526), 1,
+ aux_sym_array_literal_repeat1,
+ ACTIONS(620), 2,
anon_sym_DOT,
- ACTIONS(785), 1,
- anon_sym_COLON,
- STATE(290), 1,
- aux_sym_custom_type_repeat1,
- ACTIONS(473), 4,
+ anon_sym_QMARK_DOT,
+ ACTIONS(656), 2,
anon_sym_LT,
anon_sym_GT,
+ ACTIONS(658), 2,
+ anon_sym_DASH,
+ anon_sym_PLUS,
+ ACTIONS(660), 2,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(468), 17,
- anon_sym_RBRACE,
+ ACTIONS(662), 2,
+ anon_sym_BSLASH,
+ anon_sym_PERCENT,
+ ACTIONS(670), 2,
+ anon_sym_EQ_EQ,
+ anon_sym_BANG_EQ,
+ ACTIONS(672), 2,
+ anon_sym_GT_EQ,
+ anon_sym_LT_EQ,
+ [15610] = 16,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(622), 1,
+ anon_sym_LPAREN,
+ ACTIONS(664), 1,
+ anon_sym_STAR_STAR,
+ ACTIONS(666), 1,
+ anon_sym_PIPE_PIPE,
+ ACTIONS(668), 1,
+ anon_sym_AMP_AMP,
+ ACTIONS(674), 1,
+ anon_sym_QMARK_QMARK,
+ ACTIONS(676), 1,
+ anon_sym_LBRACK,
+ STATE(176), 1,
+ sym_argument_list,
+ ACTIONS(620), 2,
+ anon_sym_DOT,
anon_sym_QMARK_DOT,
+ ACTIONS(656), 2,
+ anon_sym_LT,
+ anon_sym_GT,
+ ACTIONS(658), 2,
+ anon_sym_DASH,
+ anon_sym_PLUS,
+ ACTIONS(660), 2,
+ anon_sym_STAR,
+ anon_sym_SLASH,
+ ACTIONS(662), 2,
+ anon_sym_BSLASH,
+ anon_sym_PERCENT,
+ ACTIONS(670), 2,
+ anon_sym_EQ_EQ,
+ anon_sym_BANG_EQ,
+ ACTIONS(672), 2,
+ anon_sym_GT_EQ,
+ anon_sym_LT_EQ,
+ ACTIONS(870), 3,
+ anon_sym_RBRACE,
anon_sym_COMMA,
+ anon_sym_RBRACK,
+ [15668] = 18,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(622), 1,
anon_sym_LPAREN,
+ ACTIONS(664), 1,
+ anon_sym_STAR_STAR,
+ ACTIONS(666), 1,
+ anon_sym_PIPE_PIPE,
+ ACTIONS(668), 1,
+ anon_sym_AMP_AMP,
+ ACTIONS(674), 1,
+ anon_sym_QMARK_QMARK,
+ ACTIONS(676), 1,
+ anon_sym_LBRACK,
+ ACTIONS(872), 1,
+ anon_sym_COMMA,
+ ACTIONS(874), 1,
+ anon_sym_RBRACK,
+ STATE(176), 1,
+ sym_argument_list,
+ STATE(544), 1,
+ aux_sym_array_literal_repeat1,
+ ACTIONS(620), 2,
+ anon_sym_DOT,
+ anon_sym_QMARK_DOT,
+ ACTIONS(656), 2,
+ anon_sym_LT,
+ anon_sym_GT,
+ ACTIONS(658), 2,
anon_sym_DASH,
anon_sym_PLUS,
+ ACTIONS(660), 2,
+ anon_sym_STAR,
+ anon_sym_SLASH,
+ ACTIONS(662), 2,
anon_sym_BSLASH,
anon_sym_PERCENT,
+ ACTIONS(670), 2,
+ anon_sym_EQ_EQ,
+ anon_sym_BANG_EQ,
+ ACTIONS(672), 2,
+ anon_sym_GT_EQ,
+ anon_sym_LT_EQ,
+ [15730] = 18,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(622), 1,
+ anon_sym_LPAREN,
+ ACTIONS(664), 1,
anon_sym_STAR_STAR,
+ ACTIONS(666), 1,
anon_sym_PIPE_PIPE,
+ ACTIONS(668), 1,
anon_sym_AMP_AMP,
+ ACTIONS(674), 1,
+ anon_sym_QMARK_QMARK,
+ ACTIONS(676), 1,
+ anon_sym_LBRACK,
+ ACTIONS(876), 1,
+ anon_sym_COMMA,
+ ACTIONS(878), 1,
+ anon_sym_RBRACK,
+ STATE(176), 1,
+ sym_argument_list,
+ STATE(502), 1,
+ aux_sym_array_literal_repeat1,
+ ACTIONS(620), 2,
+ anon_sym_DOT,
+ anon_sym_QMARK_DOT,
+ ACTIONS(656), 2,
+ anon_sym_LT,
+ anon_sym_GT,
+ ACTIONS(658), 2,
+ anon_sym_DASH,
+ anon_sym_PLUS,
+ ACTIONS(660), 2,
+ anon_sym_STAR,
+ anon_sym_SLASH,
+ ACTIONS(662), 2,
+ anon_sym_BSLASH,
+ anon_sym_PERCENT,
+ ACTIONS(670), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
+ ACTIONS(672), 2,
anon_sym_GT_EQ,
anon_sym_LT_EQ,
+ [15792] = 18,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(622), 1,
+ anon_sym_LPAREN,
+ ACTIONS(664), 1,
+ anon_sym_STAR_STAR,
+ ACTIONS(666), 1,
+ anon_sym_PIPE_PIPE,
+ ACTIONS(668), 1,
+ anon_sym_AMP_AMP,
+ ACTIONS(674), 1,
anon_sym_QMARK_QMARK,
+ ACTIONS(676), 1,
+ anon_sym_LBRACK,
+ ACTIONS(880), 1,
+ anon_sym_RBRACE,
+ ACTIONS(882), 1,
+ anon_sym_COMMA,
+ STATE(176), 1,
+ sym_argument_list,
+ STATE(506), 1,
+ aux_sym_array_literal_repeat1,
+ ACTIONS(620), 2,
+ anon_sym_DOT,
+ anon_sym_QMARK_DOT,
+ ACTIONS(656), 2,
+ anon_sym_LT,
+ anon_sym_GT,
+ ACTIONS(658), 2,
+ anon_sym_DASH,
+ anon_sym_PLUS,
+ ACTIONS(660), 2,
+ anon_sym_STAR,
+ anon_sym_SLASH,
+ ACTIONS(662), 2,
+ anon_sym_BSLASH,
+ anon_sym_PERCENT,
+ ACTIONS(670), 2,
+ anon_sym_EQ_EQ,
+ anon_sym_BANG_EQ,
+ ACTIONS(672), 2,
+ anon_sym_GT_EQ,
+ anon_sym_LT_EQ,
+ [15854] = 17,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(622), 1,
+ anon_sym_LPAREN,
+ ACTIONS(676), 1,
anon_sym_LBRACK,
- [14540] = 8,
+ ACTIONS(884), 1,
+ anon_sym_LBRACE,
+ ACTIONS(894), 1,
+ anon_sym_STAR_STAR,
+ ACTIONS(896), 1,
+ anon_sym_PIPE_PIPE,
+ ACTIONS(898), 1,
+ anon_sym_AMP_AMP,
+ ACTIONS(904), 1,
+ anon_sym_QMARK_QMARK,
+ STATE(85), 1,
+ sym_block,
+ STATE(176), 1,
+ sym_argument_list,
+ ACTIONS(620), 2,
+ anon_sym_DOT,
+ anon_sym_QMARK_DOT,
+ ACTIONS(886), 2,
+ anon_sym_LT,
+ anon_sym_GT,
+ ACTIONS(888), 2,
+ anon_sym_DASH,
+ anon_sym_PLUS,
+ ACTIONS(890), 2,
+ anon_sym_STAR,
+ anon_sym_SLASH,
+ ACTIONS(892), 2,
+ anon_sym_BSLASH,
+ anon_sym_PERCENT,
+ ACTIONS(900), 2,
+ anon_sym_EQ_EQ,
+ anon_sym_BANG_EQ,
+ ACTIONS(902), 2,
+ anon_sym_GT_EQ,
+ anon_sym_LT_EQ,
+ [15913] = 17,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(466), 1,
+ ACTIONS(622), 1,
+ anon_sym_LPAREN,
+ ACTIONS(676), 1,
+ anon_sym_LBRACK,
+ ACTIONS(884), 1,
anon_sym_LBRACE,
- ACTIONS(470), 1,
+ ACTIONS(894), 1,
+ anon_sym_STAR_STAR,
+ ACTIONS(896), 1,
+ anon_sym_PIPE_PIPE,
+ ACTIONS(898), 1,
+ anon_sym_AMP_AMP,
+ ACTIONS(904), 1,
+ anon_sym_QMARK_QMARK,
+ STATE(140), 1,
+ sym_block,
+ STATE(176), 1,
+ sym_argument_list,
+ ACTIONS(620), 2,
anon_sym_DOT,
- ACTIONS(787), 1,
+ anon_sym_QMARK_DOT,
+ ACTIONS(886), 2,
+ anon_sym_LT,
+ anon_sym_GT,
+ ACTIONS(888), 2,
+ anon_sym_DASH,
+ anon_sym_PLUS,
+ ACTIONS(890), 2,
+ anon_sym_STAR,
+ anon_sym_SLASH,
+ ACTIONS(892), 2,
+ anon_sym_BSLASH,
+ anon_sym_PERCENT,
+ ACTIONS(900), 2,
+ anon_sym_EQ_EQ,
+ anon_sym_BANG_EQ,
+ ACTIONS(902), 2,
+ anon_sym_GT_EQ,
+ anon_sym_LT_EQ,
+ [15972] = 4,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(860), 1,
anon_sym_COLON,
- STATE(290), 1,
- aux_sym_custom_type_repeat1,
- STATE(562), 1,
- sym__type_annotation,
- ACTIONS(473), 4,
+ ACTIONS(560), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(468), 16,
+ ACTIONS(552), 18,
+ anon_sym_RBRACE,
+ anon_sym_DOT,
anon_sym_QMARK_DOT,
+ anon_sym_COMMA,
anon_sym_LPAREN,
- anon_sym_RPAREN,
anon_sym_DASH,
anon_sym_PLUS,
anon_sym_BSLASH,
@@ -17622,545 +19414,608 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LT_EQ,
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
- [14583] = 18,
+ [16005] = 16,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
+ ACTIONS(622), 1,
anon_sym_LPAREN,
- ACTIONS(635), 1,
+ ACTIONS(664), 1,
anon_sym_STAR_STAR,
- ACTIONS(637), 1,
- anon_sym_QMARK_QMARK,
- ACTIONS(641), 1,
- anon_sym_AMP_AMP,
- ACTIONS(729), 1,
+ ACTIONS(666), 1,
anon_sym_PIPE_PIPE,
- ACTIONS(731), 1,
+ ACTIONS(668), 1,
+ anon_sym_AMP_AMP,
+ ACTIONS(674), 1,
+ anon_sym_QMARK_QMARK,
+ ACTIONS(676), 1,
anon_sym_LBRACK,
- ACTIONS(789), 1,
- anon_sym_COMMA,
- ACTIONS(791), 1,
- anon_sym_RBRACK,
- STATE(159), 1,
+ STATE(176), 1,
sym_argument_list,
- STATE(442), 1,
- aux_sym_array_literal_repeat1,
- ACTIONS(547), 2,
+ ACTIONS(620), 2,
anon_sym_DOT,
anon_sym_QMARK_DOT,
- ACTIONS(629), 2,
+ ACTIONS(656), 2,
+ anon_sym_LT,
+ anon_sym_GT,
+ ACTIONS(658), 2,
anon_sym_DASH,
anon_sym_PLUS,
- ACTIONS(631), 2,
+ ACTIONS(660), 2,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(633), 2,
+ ACTIONS(662), 2,
anon_sym_BSLASH,
anon_sym_PERCENT,
- ACTIONS(639), 2,
- anon_sym_LT,
- anon_sym_GT,
- ACTIONS(643), 2,
+ ACTIONS(670), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
- ACTIONS(645), 2,
+ ACTIONS(672), 2,
anon_sym_GT_EQ,
anon_sym_LT_EQ,
- [14645] = 18,
+ ACTIONS(906), 2,
+ anon_sym_RBRACE,
+ anon_sym_COMMA,
+ [16062] = 17,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
+ ACTIONS(622), 1,
anon_sym_LPAREN,
- ACTIONS(635), 1,
+ ACTIONS(676), 1,
+ anon_sym_LBRACK,
+ ACTIONS(884), 1,
+ anon_sym_LBRACE,
+ ACTIONS(894), 1,
anon_sym_STAR_STAR,
- ACTIONS(637), 1,
- anon_sym_QMARK_QMARK,
- ACTIONS(641), 1,
- anon_sym_AMP_AMP,
- ACTIONS(729), 1,
+ ACTIONS(896), 1,
anon_sym_PIPE_PIPE,
- ACTIONS(731), 1,
- anon_sym_LBRACK,
- ACTIONS(793), 1,
- anon_sym_RBRACE,
- ACTIONS(795), 1,
- anon_sym_COMMA,
- STATE(159), 1,
+ ACTIONS(898), 1,
+ anon_sym_AMP_AMP,
+ ACTIONS(904), 1,
+ anon_sym_QMARK_QMARK,
+ STATE(88), 1,
+ sym_block,
+ STATE(176), 1,
sym_argument_list,
- STATE(474), 1,
- aux_sym_array_literal_repeat1,
- ACTIONS(547), 2,
+ ACTIONS(620), 2,
anon_sym_DOT,
anon_sym_QMARK_DOT,
- ACTIONS(629), 2,
+ ACTIONS(886), 2,
+ anon_sym_LT,
+ anon_sym_GT,
+ ACTIONS(888), 2,
anon_sym_DASH,
anon_sym_PLUS,
- ACTIONS(631), 2,
+ ACTIONS(890), 2,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(633), 2,
+ ACTIONS(892), 2,
anon_sym_BSLASH,
anon_sym_PERCENT,
- ACTIONS(639), 2,
- anon_sym_LT,
- anon_sym_GT,
- ACTIONS(643), 2,
+ ACTIONS(900), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
- ACTIONS(645), 2,
+ ACTIONS(902), 2,
anon_sym_GT_EQ,
anon_sym_LT_EQ,
- [14707] = 18,
+ [16121] = 16,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
+ ACTIONS(622), 1,
anon_sym_LPAREN,
- ACTIONS(635), 1,
+ ACTIONS(664), 1,
anon_sym_STAR_STAR,
- ACTIONS(637), 1,
- anon_sym_QMARK_QMARK,
- ACTIONS(641), 1,
- anon_sym_AMP_AMP,
- ACTIONS(729), 1,
+ ACTIONS(666), 1,
anon_sym_PIPE_PIPE,
- ACTIONS(731), 1,
+ ACTIONS(668), 1,
+ anon_sym_AMP_AMP,
+ ACTIONS(674), 1,
+ anon_sym_QMARK_QMARK,
+ ACTIONS(676), 1,
anon_sym_LBRACK,
- ACTIONS(797), 1,
- anon_sym_COMMA,
- ACTIONS(799), 1,
- anon_sym_RBRACK,
- STATE(159), 1,
+ STATE(176), 1,
sym_argument_list,
- STATE(470), 1,
- aux_sym_array_literal_repeat1,
- ACTIONS(547), 2,
+ ACTIONS(620), 2,
anon_sym_DOT,
anon_sym_QMARK_DOT,
- ACTIONS(629), 2,
+ ACTIONS(656), 2,
+ anon_sym_LT,
+ anon_sym_GT,
+ ACTIONS(658), 2,
anon_sym_DASH,
anon_sym_PLUS,
- ACTIONS(631), 2,
+ ACTIONS(660), 2,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(633), 2,
+ ACTIONS(662), 2,
anon_sym_BSLASH,
anon_sym_PERCENT,
- ACTIONS(639), 2,
- anon_sym_LT,
- anon_sym_GT,
- ACTIONS(643), 2,
+ ACTIONS(670), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
- ACTIONS(645), 2,
+ ACTIONS(672), 2,
anon_sym_GT_EQ,
anon_sym_LT_EQ,
- [14769] = 18,
+ ACTIONS(908), 2,
+ anon_sym_COMMA,
+ anon_sym_RPAREN,
+ [16178] = 3,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(912), 3,
+ anon_sym_EQ,
+ anon_sym_0,
+ aux_sym__integer_token1,
+ ACTIONS(910), 20,
+ anon_sym_LBRACE,
+ anon_sym_SEMI,
+ anon_sym_COMMA,
+ aux_sym__decimal_token1,
+ aux_sym__decimal_token2,
+ anon_sym_true,
+ anon_sym_false,
+ anon_sym_DQUOTE,
+ anon_sym_RPAREN,
+ anon_sym_QMARK,
+ anon_sym_Array,
+ anon_sym_Set,
+ anon_sym_Map,
+ anon_sym_Promise,
+ anon_sym_MutSet,
+ anon_sym_MutMap,
+ anon_sym_MutArray,
+ anon_sym_GT,
+ anon_sym_EQ_GT,
+ anon_sym_LBRACK,
+ [16209] = 17,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
+ ACTIONS(622), 1,
anon_sym_LPAREN,
- ACTIONS(635), 1,
+ ACTIONS(676), 1,
+ anon_sym_LBRACK,
+ ACTIONS(884), 1,
+ anon_sym_LBRACE,
+ ACTIONS(894), 1,
anon_sym_STAR_STAR,
- ACTIONS(637), 1,
- anon_sym_QMARK_QMARK,
- ACTIONS(641), 1,
- anon_sym_AMP_AMP,
- ACTIONS(729), 1,
+ ACTIONS(896), 1,
anon_sym_PIPE_PIPE,
- ACTIONS(731), 1,
- anon_sym_LBRACK,
- ACTIONS(801), 1,
- anon_sym_RBRACE,
- ACTIONS(803), 1,
- anon_sym_COMMA,
- STATE(159), 1,
+ ACTIONS(898), 1,
+ anon_sym_AMP_AMP,
+ ACTIONS(904), 1,
+ anon_sym_QMARK_QMARK,
+ STATE(143), 1,
+ sym_block,
+ STATE(176), 1,
sym_argument_list,
- STATE(435), 1,
- aux_sym_array_literal_repeat1,
- ACTIONS(547), 2,
+ ACTIONS(620), 2,
anon_sym_DOT,
anon_sym_QMARK_DOT,
- ACTIONS(629), 2,
+ ACTIONS(886), 2,
+ anon_sym_LT,
+ anon_sym_GT,
+ ACTIONS(888), 2,
anon_sym_DASH,
anon_sym_PLUS,
- ACTIONS(631), 2,
+ ACTIONS(890), 2,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(633), 2,
+ ACTIONS(892), 2,
anon_sym_BSLASH,
anon_sym_PERCENT,
- ACTIONS(639), 2,
- anon_sym_LT,
- anon_sym_GT,
- ACTIONS(643), 2,
+ ACTIONS(900), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
- ACTIONS(645), 2,
+ ACTIONS(902), 2,
anon_sym_GT_EQ,
anon_sym_LT_EQ,
- [14831] = 16,
+ [16268] = 16,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
+ ACTIONS(622), 1,
anon_sym_LPAREN,
- ACTIONS(635), 1,
+ ACTIONS(664), 1,
anon_sym_STAR_STAR,
- ACTIONS(637), 1,
- anon_sym_QMARK_QMARK,
- ACTIONS(641), 1,
- anon_sym_AMP_AMP,
- ACTIONS(729), 1,
+ ACTIONS(666), 1,
anon_sym_PIPE_PIPE,
- ACTIONS(731), 1,
+ ACTIONS(668), 1,
+ anon_sym_AMP_AMP,
+ ACTIONS(674), 1,
+ anon_sym_QMARK_QMARK,
+ ACTIONS(676), 1,
anon_sym_LBRACK,
- STATE(159), 1,
+ STATE(176), 1,
sym_argument_list,
- ACTIONS(547), 2,
+ ACTIONS(620), 2,
anon_sym_DOT,
anon_sym_QMARK_DOT,
- ACTIONS(629), 2,
+ ACTIONS(656), 2,
+ anon_sym_LT,
+ anon_sym_GT,
+ ACTIONS(658), 2,
anon_sym_DASH,
anon_sym_PLUS,
- ACTIONS(631), 2,
+ ACTIONS(660), 2,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(633), 2,
+ ACTIONS(662), 2,
anon_sym_BSLASH,
anon_sym_PERCENT,
- ACTIONS(639), 2,
- anon_sym_LT,
- anon_sym_GT,
- ACTIONS(643), 2,
+ ACTIONS(670), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
- ACTIONS(645), 2,
+ ACTIONS(672), 2,
anon_sym_GT_EQ,
anon_sym_LT_EQ,
- ACTIONS(805), 3,
- anon_sym_RBRACE,
+ ACTIONS(914), 2,
anon_sym_COMMA,
- anon_sym_RBRACK,
- [14889] = 16,
+ anon_sym_RPAREN,
+ [16325] = 16,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
+ ACTIONS(622), 1,
anon_sym_LPAREN,
- ACTIONS(635), 1,
+ ACTIONS(664), 1,
anon_sym_STAR_STAR,
- ACTIONS(637), 1,
- anon_sym_QMARK_QMARK,
- ACTIONS(641), 1,
- anon_sym_AMP_AMP,
- ACTIONS(729), 1,
+ ACTIONS(666), 1,
anon_sym_PIPE_PIPE,
- ACTIONS(731), 1,
+ ACTIONS(668), 1,
+ anon_sym_AMP_AMP,
+ ACTIONS(674), 1,
+ anon_sym_QMARK_QMARK,
+ ACTIONS(676), 1,
anon_sym_LBRACK,
- STATE(159), 1,
+ STATE(176), 1,
sym_argument_list,
- ACTIONS(547), 2,
+ ACTIONS(620), 2,
anon_sym_DOT,
anon_sym_QMARK_DOT,
- ACTIONS(629), 2,
+ ACTIONS(656), 2,
+ anon_sym_LT,
+ anon_sym_GT,
+ ACTIONS(658), 2,
anon_sym_DASH,
anon_sym_PLUS,
- ACTIONS(631), 2,
+ ACTIONS(660), 2,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(633), 2,
+ ACTIONS(662), 2,
anon_sym_BSLASH,
anon_sym_PERCENT,
- ACTIONS(639), 2,
- anon_sym_LT,
- anon_sym_GT,
- ACTIONS(643), 2,
+ ACTIONS(670), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
- ACTIONS(645), 2,
+ ACTIONS(672), 2,
anon_sym_GT_EQ,
anon_sym_LT_EQ,
- ACTIONS(807), 2,
+ ACTIONS(916), 2,
anon_sym_RBRACE,
anon_sym_COMMA,
- [14946] = 16,
+ [16382] = 5,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
+ ACTIONS(864), 1,
+ anon_sym_in,
+ STATE(179), 1,
+ sym_new_object_scope,
+ ACTIONS(616), 4,
+ anon_sym_LT,
+ anon_sym_GT,
+ anon_sym_STAR,
+ anon_sym_SLASH,
+ ACTIONS(614), 17,
+ anon_sym_LBRACE,
+ anon_sym_DOT,
+ anon_sym_QMARK_DOT,
anon_sym_LPAREN,
- ACTIONS(635), 1,
+ anon_sym_DASH,
+ anon_sym_PLUS,
+ anon_sym_BSLASH,
+ anon_sym_PERCENT,
anon_sym_STAR_STAR,
- ACTIONS(637), 1,
- anon_sym_QMARK_QMARK,
- ACTIONS(641), 1,
+ anon_sym_PIPE_PIPE,
anon_sym_AMP_AMP,
- ACTIONS(729), 1,
+ anon_sym_EQ_EQ,
+ anon_sym_BANG_EQ,
+ anon_sym_GT_EQ,
+ anon_sym_LT_EQ,
+ anon_sym_QMARK_QMARK,
+ anon_sym_LBRACK,
+ [16417] = 16,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(622), 1,
+ anon_sym_LPAREN,
+ ACTIONS(664), 1,
+ anon_sym_STAR_STAR,
+ ACTIONS(666), 1,
anon_sym_PIPE_PIPE,
- ACTIONS(731), 1,
+ ACTIONS(668), 1,
+ anon_sym_AMP_AMP,
+ ACTIONS(674), 1,
+ anon_sym_QMARK_QMARK,
+ ACTIONS(676), 1,
anon_sym_LBRACK,
- STATE(159), 1,
+ ACTIONS(918), 1,
+ anon_sym_SEMI,
+ STATE(176), 1,
sym_argument_list,
- ACTIONS(547), 2,
+ ACTIONS(620), 2,
anon_sym_DOT,
anon_sym_QMARK_DOT,
- ACTIONS(629), 2,
+ ACTIONS(656), 2,
+ anon_sym_LT,
+ anon_sym_GT,
+ ACTIONS(658), 2,
anon_sym_DASH,
anon_sym_PLUS,
- ACTIONS(631), 2,
+ ACTIONS(660), 2,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(633), 2,
+ ACTIONS(662), 2,
anon_sym_BSLASH,
anon_sym_PERCENT,
- ACTIONS(639), 2,
- anon_sym_LT,
- anon_sym_GT,
- ACTIONS(643), 2,
+ ACTIONS(670), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
- ACTIONS(645), 2,
+ ACTIONS(672), 2,
anon_sym_GT_EQ,
anon_sym_LT_EQ,
- ACTIONS(809), 2,
- anon_sym_COMMA,
- anon_sym_RPAREN,
- [15003] = 3,
+ [16473] = 16,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(813), 3,
- anon_sym_EQ,
- anon_sym_0,
- aux_sym__integer_token1,
- ACTIONS(811), 20,
- anon_sym_LBRACE,
+ ACTIONS(622), 1,
+ anon_sym_LPAREN,
+ ACTIONS(664), 1,
+ anon_sym_STAR_STAR,
+ ACTIONS(666), 1,
+ anon_sym_PIPE_PIPE,
+ ACTIONS(668), 1,
+ anon_sym_AMP_AMP,
+ ACTIONS(674), 1,
+ anon_sym_QMARK_QMARK,
+ ACTIONS(676), 1,
+ anon_sym_LBRACK,
+ ACTIONS(920), 1,
anon_sym_SEMI,
- anon_sym_COMMA,
- aux_sym__decimal_token1,
- aux_sym__decimal_token2,
- anon_sym_true,
- anon_sym_false,
- anon_sym_DQUOTE,
- anon_sym_RPAREN,
- anon_sym_QMARK,
- anon_sym_Array,
- anon_sym_Set,
- anon_sym_Map,
- anon_sym_Promise,
- anon_sym_MutSet,
- anon_sym_MutMap,
- anon_sym_MutArray,
+ STATE(176), 1,
+ sym_argument_list,
+ ACTIONS(620), 2,
+ anon_sym_DOT,
+ anon_sym_QMARK_DOT,
+ ACTIONS(656), 2,
+ anon_sym_LT,
anon_sym_GT,
- anon_sym_EQ_GT,
- anon_sym_LBRACK,
- [15034] = 17,
+ ACTIONS(658), 2,
+ anon_sym_DASH,
+ anon_sym_PLUS,
+ ACTIONS(660), 2,
+ anon_sym_STAR,
+ anon_sym_SLASH,
+ ACTIONS(662), 2,
+ anon_sym_BSLASH,
+ anon_sym_PERCENT,
+ ACTIONS(670), 2,
+ anon_sym_EQ_EQ,
+ anon_sym_BANG_EQ,
+ ACTIONS(672), 2,
+ anon_sym_GT_EQ,
+ anon_sym_LT_EQ,
+ [16529] = 16,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
+ ACTIONS(622), 1,
anon_sym_LPAREN,
- ACTIONS(731), 1,
+ ACTIONS(676), 1,
anon_sym_LBRACK,
- ACTIONS(815), 1,
+ ACTIONS(690), 1,
anon_sym_LBRACE,
- ACTIONS(825), 1,
+ ACTIONS(894), 1,
anon_sym_STAR_STAR,
- ACTIONS(827), 1,
+ ACTIONS(896), 1,
anon_sym_PIPE_PIPE,
- ACTIONS(829), 1,
+ ACTIONS(898), 1,
anon_sym_AMP_AMP,
- ACTIONS(835), 1,
+ ACTIONS(904), 1,
anon_sym_QMARK_QMARK,
- STATE(87), 1,
- sym_block,
- STATE(159), 1,
+ STATE(176), 1,
sym_argument_list,
- ACTIONS(547), 2,
+ ACTIONS(620), 2,
anon_sym_DOT,
anon_sym_QMARK_DOT,
- ACTIONS(817), 2,
+ ACTIONS(886), 2,
anon_sym_LT,
anon_sym_GT,
- ACTIONS(819), 2,
+ ACTIONS(888), 2,
anon_sym_DASH,
anon_sym_PLUS,
- ACTIONS(821), 2,
+ ACTIONS(890), 2,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(823), 2,
+ ACTIONS(892), 2,
anon_sym_BSLASH,
anon_sym_PERCENT,
- ACTIONS(831), 2,
+ ACTIONS(900), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
- ACTIONS(833), 2,
+ ACTIONS(902), 2,
anon_sym_GT_EQ,
anon_sym_LT_EQ,
- [15093] = 5,
+ [16585] = 16,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(783), 1,
- anon_sym_in,
- STATE(213), 1,
- sym_new_object_scope,
- ACTIONS(539), 4,
- anon_sym_LT,
- anon_sym_GT,
- anon_sym_STAR,
- anon_sym_SLASH,
- ACTIONS(537), 17,
- anon_sym_LBRACE,
+ ACTIONS(622), 1,
+ anon_sym_LPAREN,
+ ACTIONS(664), 1,
+ anon_sym_STAR_STAR,
+ ACTIONS(666), 1,
+ anon_sym_PIPE_PIPE,
+ ACTIONS(668), 1,
+ anon_sym_AMP_AMP,
+ ACTIONS(674), 1,
+ anon_sym_QMARK_QMARK,
+ ACTIONS(676), 1,
+ anon_sym_LBRACK,
+ ACTIONS(922), 1,
+ anon_sym_SEMI,
+ STATE(176), 1,
+ sym_argument_list,
+ ACTIONS(620), 2,
anon_sym_DOT,
anon_sym_QMARK_DOT,
- anon_sym_LPAREN,
+ ACTIONS(656), 2,
+ anon_sym_LT,
+ anon_sym_GT,
+ ACTIONS(658), 2,
anon_sym_DASH,
anon_sym_PLUS,
+ ACTIONS(660), 2,
+ anon_sym_STAR,
+ anon_sym_SLASH,
+ ACTIONS(662), 2,
anon_sym_BSLASH,
anon_sym_PERCENT,
- anon_sym_STAR_STAR,
- anon_sym_PIPE_PIPE,
- anon_sym_AMP_AMP,
+ ACTIONS(670), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
+ ACTIONS(672), 2,
anon_sym_GT_EQ,
anon_sym_LT_EQ,
- anon_sym_QMARK_QMARK,
- anon_sym_LBRACK,
- [15128] = 16,
+ [16641] = 16,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
+ ACTIONS(622), 1,
anon_sym_LPAREN,
- ACTIONS(635), 1,
+ ACTIONS(676), 1,
+ anon_sym_LBRACK,
+ ACTIONS(784), 1,
+ anon_sym_LBRACE,
+ ACTIONS(894), 1,
anon_sym_STAR_STAR,
- ACTIONS(637), 1,
- anon_sym_QMARK_QMARK,
- ACTIONS(641), 1,
- anon_sym_AMP_AMP,
- ACTIONS(729), 1,
+ ACTIONS(896), 1,
anon_sym_PIPE_PIPE,
- ACTIONS(731), 1,
- anon_sym_LBRACK,
- STATE(159), 1,
+ ACTIONS(898), 1,
+ anon_sym_AMP_AMP,
+ ACTIONS(904), 1,
+ anon_sym_QMARK_QMARK,
+ STATE(176), 1,
sym_argument_list,
- ACTIONS(547), 2,
+ ACTIONS(620), 2,
anon_sym_DOT,
anon_sym_QMARK_DOT,
- ACTIONS(629), 2,
+ ACTIONS(886), 2,
+ anon_sym_LT,
+ anon_sym_GT,
+ ACTIONS(888), 2,
anon_sym_DASH,
anon_sym_PLUS,
- ACTIONS(631), 2,
+ ACTIONS(890), 2,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(633), 2,
+ ACTIONS(892), 2,
anon_sym_BSLASH,
anon_sym_PERCENT,
- ACTIONS(639), 2,
- anon_sym_LT,
- anon_sym_GT,
- ACTIONS(643), 2,
+ ACTIONS(900), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
- ACTIONS(645), 2,
+ ACTIONS(902), 2,
anon_sym_GT_EQ,
anon_sym_LT_EQ,
- ACTIONS(837), 2,
- anon_sym_COMMA,
- anon_sym_RPAREN,
- [15185] = 16,
+ [16697] = 16,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
+ ACTIONS(622), 1,
anon_sym_LPAREN,
- ACTIONS(635), 1,
+ ACTIONS(664), 1,
anon_sym_STAR_STAR,
- ACTIONS(637), 1,
- anon_sym_QMARK_QMARK,
- ACTIONS(641), 1,
- anon_sym_AMP_AMP,
- ACTIONS(729), 1,
+ ACTIONS(666), 1,
anon_sym_PIPE_PIPE,
- ACTIONS(731), 1,
+ ACTIONS(668), 1,
+ anon_sym_AMP_AMP,
+ ACTIONS(674), 1,
+ anon_sym_QMARK_QMARK,
+ ACTIONS(676), 1,
anon_sym_LBRACK,
- STATE(159), 1,
+ ACTIONS(924), 1,
+ anon_sym_SEMI,
+ STATE(176), 1,
sym_argument_list,
- ACTIONS(547), 2,
+ ACTIONS(620), 2,
anon_sym_DOT,
anon_sym_QMARK_DOT,
- ACTIONS(629), 2,
+ ACTIONS(656), 2,
+ anon_sym_LT,
+ anon_sym_GT,
+ ACTIONS(658), 2,
anon_sym_DASH,
anon_sym_PLUS,
- ACTIONS(631), 2,
+ ACTIONS(660), 2,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(633), 2,
+ ACTIONS(662), 2,
anon_sym_BSLASH,
anon_sym_PERCENT,
- ACTIONS(639), 2,
- anon_sym_LT,
- anon_sym_GT,
- ACTIONS(643), 2,
+ ACTIONS(670), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
- ACTIONS(645), 2,
+ ACTIONS(672), 2,
anon_sym_GT_EQ,
anon_sym_LT_EQ,
- ACTIONS(839), 2,
- anon_sym_RBRACE,
- anon_sym_COMMA,
- [15242] = 17,
+ [16753] = 16,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
+ ACTIONS(622), 1,
anon_sym_LPAREN,
- ACTIONS(731), 1,
- anon_sym_LBRACK,
- ACTIONS(815), 1,
- anon_sym_LBRACE,
- ACTIONS(825), 1,
+ ACTIONS(664), 1,
anon_sym_STAR_STAR,
- ACTIONS(827), 1,
+ ACTIONS(666), 1,
anon_sym_PIPE_PIPE,
- ACTIONS(829), 1,
+ ACTIONS(668), 1,
anon_sym_AMP_AMP,
- ACTIONS(835), 1,
+ ACTIONS(674), 1,
anon_sym_QMARK_QMARK,
- STATE(105), 1,
- sym_block,
- STATE(159), 1,
+ ACTIONS(676), 1,
+ anon_sym_LBRACK,
+ ACTIONS(926), 1,
+ anon_sym_SEMI,
+ STATE(176), 1,
sym_argument_list,
- ACTIONS(547), 2,
+ ACTIONS(620), 2,
anon_sym_DOT,
anon_sym_QMARK_DOT,
- ACTIONS(817), 2,
+ ACTIONS(656), 2,
anon_sym_LT,
anon_sym_GT,
- ACTIONS(819), 2,
+ ACTIONS(658), 2,
anon_sym_DASH,
anon_sym_PLUS,
- ACTIONS(821), 2,
+ ACTIONS(660), 2,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(823), 2,
+ ACTIONS(662), 2,
anon_sym_BSLASH,
anon_sym_PERCENT,
- ACTIONS(831), 2,
+ ACTIONS(670), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
- ACTIONS(833), 2,
+ ACTIONS(672), 2,
anon_sym_GT_EQ,
anon_sym_LT_EQ,
- [15301] = 4,
+ [16809] = 6,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(785), 1,
- anon_sym_COLON,
- ACTIONS(464), 4,
+ ACTIONS(537), 1,
+ anon_sym_DOT,
+ ACTIONS(928), 1,
+ anon_sym_LBRACE,
+ STATE(312), 1,
+ aux_sym_custom_type_repeat1,
+ ACTIONS(540), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(456), 18,
- anon_sym_RBRACE,
- anon_sym_DOT,
+ ACTIONS(535), 15,
anon_sym_QMARK_DOT,
- anon_sym_COMMA,
anon_sym_LPAREN,
anon_sym_DASH,
anon_sym_PLUS,
@@ -18175,891 +20030,879 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LT_EQ,
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
- [15334] = 17,
+ [16845] = 16,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
+ ACTIONS(622), 1,
anon_sym_LPAREN,
- ACTIONS(731), 1,
- anon_sym_LBRACK,
- ACTIONS(815), 1,
- anon_sym_LBRACE,
- ACTIONS(825), 1,
+ ACTIONS(664), 1,
anon_sym_STAR_STAR,
- ACTIONS(827), 1,
+ ACTIONS(666), 1,
anon_sym_PIPE_PIPE,
- ACTIONS(829), 1,
+ ACTIONS(668), 1,
anon_sym_AMP_AMP,
- ACTIONS(835), 1,
+ ACTIONS(674), 1,
anon_sym_QMARK_QMARK,
- STATE(86), 1,
- sym_block,
- STATE(159), 1,
+ ACTIONS(676), 1,
+ anon_sym_LBRACK,
+ ACTIONS(931), 1,
+ anon_sym_SEMI,
+ STATE(176), 1,
sym_argument_list,
- ACTIONS(547), 2,
+ ACTIONS(620), 2,
anon_sym_DOT,
anon_sym_QMARK_DOT,
- ACTIONS(817), 2,
+ ACTIONS(656), 2,
anon_sym_LT,
anon_sym_GT,
- ACTIONS(819), 2,
+ ACTIONS(658), 2,
anon_sym_DASH,
anon_sym_PLUS,
- ACTIONS(821), 2,
+ ACTIONS(660), 2,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(823), 2,
+ ACTIONS(662), 2,
anon_sym_BSLASH,
anon_sym_PERCENT,
- ACTIONS(831), 2,
+ ACTIONS(670), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
- ACTIONS(833), 2,
+ ACTIONS(672), 2,
anon_sym_GT_EQ,
anon_sym_LT_EQ,
- [15393] = 17,
+ [16901] = 16,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
+ ACTIONS(622), 1,
anon_sym_LPAREN,
- ACTIONS(731), 1,
- anon_sym_LBRACK,
- ACTIONS(815), 1,
- anon_sym_LBRACE,
- ACTIONS(825), 1,
+ ACTIONS(664), 1,
anon_sym_STAR_STAR,
- ACTIONS(827), 1,
+ ACTIONS(666), 1,
anon_sym_PIPE_PIPE,
- ACTIONS(829), 1,
+ ACTIONS(668), 1,
anon_sym_AMP_AMP,
- ACTIONS(835), 1,
+ ACTIONS(674), 1,
anon_sym_QMARK_QMARK,
- STATE(102), 1,
- sym_block,
- STATE(159), 1,
+ ACTIONS(676), 1,
+ anon_sym_LBRACK,
+ ACTIONS(933), 1,
+ anon_sym_SEMI,
+ STATE(176), 1,
sym_argument_list,
- ACTIONS(547), 2,
+ ACTIONS(620), 2,
anon_sym_DOT,
anon_sym_QMARK_DOT,
- ACTIONS(817), 2,
+ ACTIONS(656), 2,
anon_sym_LT,
anon_sym_GT,
- ACTIONS(819), 2,
+ ACTIONS(658), 2,
anon_sym_DASH,
anon_sym_PLUS,
- ACTIONS(821), 2,
+ ACTIONS(660), 2,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(823), 2,
+ ACTIONS(662), 2,
anon_sym_BSLASH,
anon_sym_PERCENT,
- ACTIONS(831), 2,
+ ACTIONS(670), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
- ACTIONS(833), 2,
+ ACTIONS(672), 2,
anon_sym_GT_EQ,
anon_sym_LT_EQ,
- [15452] = 16,
+ [16957] = 8,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
+ ACTIONS(622), 1,
anon_sym_LPAREN,
- ACTIONS(635), 1,
+ ACTIONS(894), 1,
anon_sym_STAR_STAR,
- ACTIONS(637), 1,
+ ACTIONS(904), 1,
anon_sym_QMARK_QMARK,
- ACTIONS(641), 1,
- anon_sym_AMP_AMP,
- ACTIONS(729), 1,
- anon_sym_PIPE_PIPE,
- ACTIONS(731), 1,
- anon_sym_LBRACK,
- ACTIONS(841), 1,
- anon_sym_RPAREN,
- STATE(159), 1,
+ STATE(176), 1,
sym_argument_list,
- ACTIONS(547), 2,
+ ACTIONS(620), 2,
anon_sym_DOT,
anon_sym_QMARK_DOT,
- ACTIONS(629), 2,
- anon_sym_DASH,
- anon_sym_PLUS,
- ACTIONS(631), 2,
+ ACTIONS(742), 4,
+ anon_sym_LT,
+ anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(633), 2,
+ ACTIONS(740), 12,
+ anon_sym_LBRACE,
+ anon_sym_DASH,
+ anon_sym_PLUS,
anon_sym_BSLASH,
anon_sym_PERCENT,
- ACTIONS(639), 2,
- anon_sym_LT,
- anon_sym_GT,
- ACTIONS(643), 2,
+ anon_sym_PIPE_PIPE,
+ anon_sym_AMP_AMP,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
- ACTIONS(645), 2,
anon_sym_GT_EQ,
anon_sym_LT_EQ,
- [15508] = 7,
+ anon_sym_LBRACK,
+ [16997] = 16,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
+ ACTIONS(622), 1,
anon_sym_LPAREN,
- ACTIONS(835), 1,
+ ACTIONS(654), 1,
+ anon_sym_LBRACE,
+ ACTIONS(676), 1,
+ anon_sym_LBRACK,
+ ACTIONS(894), 1,
+ anon_sym_STAR_STAR,
+ ACTIONS(896), 1,
+ anon_sym_PIPE_PIPE,
+ ACTIONS(898), 1,
+ anon_sym_AMP_AMP,
+ ACTIONS(904), 1,
anon_sym_QMARK_QMARK,
- STATE(159), 1,
+ STATE(176), 1,
sym_argument_list,
- ACTIONS(547), 2,
+ ACTIONS(620), 2,
anon_sym_DOT,
anon_sym_QMARK_DOT,
- ACTIONS(551), 4,
+ ACTIONS(886), 2,
anon_sym_LT,
anon_sym_GT,
- anon_sym_STAR,
- anon_sym_SLASH,
- ACTIONS(545), 13,
- anon_sym_LBRACE,
+ ACTIONS(888), 2,
anon_sym_DASH,
anon_sym_PLUS,
+ ACTIONS(890), 2,
+ anon_sym_STAR,
+ anon_sym_SLASH,
+ ACTIONS(892), 2,
anon_sym_BSLASH,
anon_sym_PERCENT,
- anon_sym_STAR_STAR,
- anon_sym_PIPE_PIPE,
- anon_sym_AMP_AMP,
+ ACTIONS(900), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
+ ACTIONS(902), 2,
anon_sym_GT_EQ,
anon_sym_LT_EQ,
- anon_sym_LBRACK,
- [15546] = 16,
+ [17053] = 16,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
+ ACTIONS(622), 1,
anon_sym_LPAREN,
- ACTIONS(731), 1,
- anon_sym_LBRACK,
- ACTIONS(747), 1,
- anon_sym_LBRACE,
- ACTIONS(825), 1,
+ ACTIONS(664), 1,
anon_sym_STAR_STAR,
- ACTIONS(827), 1,
+ ACTIONS(666), 1,
anon_sym_PIPE_PIPE,
- ACTIONS(829), 1,
+ ACTIONS(668), 1,
anon_sym_AMP_AMP,
- ACTIONS(835), 1,
+ ACTIONS(674), 1,
anon_sym_QMARK_QMARK,
- STATE(159), 1,
+ ACTIONS(676), 1,
+ anon_sym_LBRACK,
+ ACTIONS(935), 1,
+ anon_sym_SEMI,
+ STATE(176), 1,
sym_argument_list,
- ACTIONS(547), 2,
+ ACTIONS(620), 2,
anon_sym_DOT,
anon_sym_QMARK_DOT,
- ACTIONS(817), 2,
+ ACTIONS(656), 2,
anon_sym_LT,
anon_sym_GT,
- ACTIONS(819), 2,
+ ACTIONS(658), 2,
anon_sym_DASH,
anon_sym_PLUS,
- ACTIONS(821), 2,
+ ACTIONS(660), 2,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(823), 2,
+ ACTIONS(662), 2,
anon_sym_BSLASH,
anon_sym_PERCENT,
- ACTIONS(831), 2,
+ ACTIONS(670), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
- ACTIONS(833), 2,
+ ACTIONS(672), 2,
anon_sym_GT_EQ,
anon_sym_LT_EQ,
- [15602] = 16,
+ [17109] = 16,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
+ ACTIONS(622), 1,
anon_sym_LPAREN,
- ACTIONS(635), 1,
+ ACTIONS(664), 1,
anon_sym_STAR_STAR,
- ACTIONS(637), 1,
- anon_sym_QMARK_QMARK,
- ACTIONS(641), 1,
- anon_sym_AMP_AMP,
- ACTIONS(729), 1,
+ ACTIONS(666), 1,
anon_sym_PIPE_PIPE,
- ACTIONS(731), 1,
+ ACTIONS(668), 1,
+ anon_sym_AMP_AMP,
+ ACTIONS(674), 1,
+ anon_sym_QMARK_QMARK,
+ ACTIONS(676), 1,
anon_sym_LBRACK,
- ACTIONS(843), 1,
+ ACTIONS(937), 1,
anon_sym_SEMI,
- STATE(159), 1,
+ STATE(176), 1,
sym_argument_list,
- ACTIONS(547), 2,
+ ACTIONS(620), 2,
anon_sym_DOT,
anon_sym_QMARK_DOT,
- ACTIONS(629), 2,
+ ACTIONS(656), 2,
+ anon_sym_LT,
+ anon_sym_GT,
+ ACTIONS(658), 2,
anon_sym_DASH,
anon_sym_PLUS,
- ACTIONS(631), 2,
+ ACTIONS(660), 2,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(633), 2,
+ ACTIONS(662), 2,
anon_sym_BSLASH,
anon_sym_PERCENT,
- ACTIONS(639), 2,
- anon_sym_LT,
- anon_sym_GT,
- ACTIONS(643), 2,
+ ACTIONS(670), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
- ACTIONS(645), 2,
+ ACTIONS(672), 2,
anon_sym_GT_EQ,
anon_sym_LT_EQ,
- [15658] = 16,
+ [17165] = 16,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
+ ACTIONS(622), 1,
anon_sym_LPAREN,
- ACTIONS(635), 1,
+ ACTIONS(664), 1,
anon_sym_STAR_STAR,
- ACTIONS(637), 1,
- anon_sym_QMARK_QMARK,
- ACTIONS(641), 1,
- anon_sym_AMP_AMP,
- ACTIONS(729), 1,
+ ACTIONS(666), 1,
anon_sym_PIPE_PIPE,
- ACTIONS(731), 1,
+ ACTIONS(668), 1,
+ anon_sym_AMP_AMP,
+ ACTIONS(674), 1,
+ anon_sym_QMARK_QMARK,
+ ACTIONS(676), 1,
anon_sym_LBRACK,
- ACTIONS(845), 1,
+ ACTIONS(939), 1,
anon_sym_SEMI,
- STATE(159), 1,
+ STATE(176), 1,
sym_argument_list,
- ACTIONS(547), 2,
+ ACTIONS(620), 2,
anon_sym_DOT,
anon_sym_QMARK_DOT,
- ACTIONS(629), 2,
+ ACTIONS(656), 2,
+ anon_sym_LT,
+ anon_sym_GT,
+ ACTIONS(658), 2,
anon_sym_DASH,
anon_sym_PLUS,
- ACTIONS(631), 2,
+ ACTIONS(660), 2,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(633), 2,
+ ACTIONS(662), 2,
anon_sym_BSLASH,
anon_sym_PERCENT,
- ACTIONS(639), 2,
- anon_sym_LT,
- anon_sym_GT,
- ACTIONS(643), 2,
+ ACTIONS(670), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
- ACTIONS(645), 2,
+ ACTIONS(672), 2,
anon_sym_GT_EQ,
anon_sym_LT_EQ,
- [15714] = 16,
+ [17221] = 16,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
+ ACTIONS(622), 1,
anon_sym_LPAREN,
- ACTIONS(635), 1,
+ ACTIONS(664), 1,
anon_sym_STAR_STAR,
- ACTIONS(637), 1,
- anon_sym_QMARK_QMARK,
- ACTIONS(641), 1,
- anon_sym_AMP_AMP,
- ACTIONS(729), 1,
+ ACTIONS(666), 1,
anon_sym_PIPE_PIPE,
- ACTIONS(731), 1,
+ ACTIONS(668), 1,
+ anon_sym_AMP_AMP,
+ ACTIONS(674), 1,
+ anon_sym_QMARK_QMARK,
+ ACTIONS(676), 1,
anon_sym_LBRACK,
- ACTIONS(847), 1,
+ ACTIONS(941), 1,
anon_sym_SEMI,
- STATE(159), 1,
+ STATE(176), 1,
sym_argument_list,
- ACTIONS(547), 2,
+ ACTIONS(620), 2,
anon_sym_DOT,
anon_sym_QMARK_DOT,
- ACTIONS(629), 2,
+ ACTIONS(656), 2,
+ anon_sym_LT,
+ anon_sym_GT,
+ ACTIONS(658), 2,
anon_sym_DASH,
anon_sym_PLUS,
- ACTIONS(631), 2,
+ ACTIONS(660), 2,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(633), 2,
+ ACTIONS(662), 2,
anon_sym_BSLASH,
anon_sym_PERCENT,
- ACTIONS(639), 2,
- anon_sym_LT,
- anon_sym_GT,
- ACTIONS(643), 2,
+ ACTIONS(670), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
- ACTIONS(645), 2,
+ ACTIONS(672), 2,
anon_sym_GT_EQ,
anon_sym_LT_EQ,
- [15770] = 12,
+ [17277] = 16,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
+ ACTIONS(622), 1,
anon_sym_LPAREN,
- ACTIONS(825), 1,
+ ACTIONS(664), 1,
anon_sym_STAR_STAR,
- ACTIONS(835), 1,
+ ACTIONS(666), 1,
+ anon_sym_PIPE_PIPE,
+ ACTIONS(668), 1,
+ anon_sym_AMP_AMP,
+ ACTIONS(674), 1,
anon_sym_QMARK_QMARK,
- STATE(159), 1,
+ ACTIONS(676), 1,
+ anon_sym_LBRACK,
+ ACTIONS(943), 1,
+ anon_sym_SEMI,
+ STATE(176), 1,
sym_argument_list,
- ACTIONS(547), 2,
+ ACTIONS(620), 2,
anon_sym_DOT,
anon_sym_QMARK_DOT,
- ACTIONS(817), 2,
+ ACTIONS(656), 2,
anon_sym_LT,
anon_sym_GT,
- ACTIONS(819), 2,
+ ACTIONS(658), 2,
anon_sym_DASH,
anon_sym_PLUS,
- ACTIONS(821), 2,
+ ACTIONS(660), 2,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(823), 2,
+ ACTIONS(662), 2,
anon_sym_BSLASH,
anon_sym_PERCENT,
- ACTIONS(833), 2,
- anon_sym_GT_EQ,
- anon_sym_LT_EQ,
- ACTIONS(545), 6,
- anon_sym_LBRACE,
- anon_sym_PIPE_PIPE,
- anon_sym_AMP_AMP,
+ ACTIONS(670), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
- anon_sym_LBRACK,
- [15818] = 16,
+ ACTIONS(672), 2,
+ anon_sym_GT_EQ,
+ anon_sym_LT_EQ,
+ [17333] = 16,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
+ ACTIONS(622), 1,
anon_sym_LPAREN,
- ACTIONS(635), 1,
+ ACTIONS(664), 1,
anon_sym_STAR_STAR,
- ACTIONS(637), 1,
- anon_sym_QMARK_QMARK,
- ACTIONS(641), 1,
- anon_sym_AMP_AMP,
- ACTIONS(729), 1,
+ ACTIONS(666), 1,
anon_sym_PIPE_PIPE,
- ACTIONS(731), 1,
+ ACTIONS(668), 1,
+ anon_sym_AMP_AMP,
+ ACTIONS(674), 1,
+ anon_sym_QMARK_QMARK,
+ ACTIONS(676), 1,
anon_sym_LBRACK,
- ACTIONS(849), 1,
+ ACTIONS(945), 1,
anon_sym_SEMI,
- STATE(159), 1,
+ STATE(176), 1,
sym_argument_list,
- ACTIONS(547), 2,
+ ACTIONS(620), 2,
anon_sym_DOT,
anon_sym_QMARK_DOT,
- ACTIONS(629), 2,
+ ACTIONS(656), 2,
+ anon_sym_LT,
+ anon_sym_GT,
+ ACTIONS(658), 2,
anon_sym_DASH,
anon_sym_PLUS,
- ACTIONS(631), 2,
+ ACTIONS(660), 2,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(633), 2,
+ ACTIONS(662), 2,
anon_sym_BSLASH,
anon_sym_PERCENT,
- ACTIONS(639), 2,
- anon_sym_LT,
- anon_sym_GT,
- ACTIONS(643), 2,
+ ACTIONS(670), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
- ACTIONS(645), 2,
+ ACTIONS(672), 2,
anon_sym_GT_EQ,
anon_sym_LT_EQ,
- [15874] = 16,
+ [17389] = 16,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
+ ACTIONS(622), 1,
anon_sym_LPAREN,
- ACTIONS(635), 1,
+ ACTIONS(664), 1,
anon_sym_STAR_STAR,
- ACTIONS(637), 1,
- anon_sym_QMARK_QMARK,
- ACTIONS(641), 1,
- anon_sym_AMP_AMP,
- ACTIONS(729), 1,
+ ACTIONS(666), 1,
anon_sym_PIPE_PIPE,
- ACTIONS(731), 1,
+ ACTIONS(668), 1,
+ anon_sym_AMP_AMP,
+ ACTIONS(674), 1,
+ anon_sym_QMARK_QMARK,
+ ACTIONS(676), 1,
anon_sym_LBRACK,
- ACTIONS(851), 1,
- anon_sym_SEMI,
- STATE(159), 1,
+ ACTIONS(947), 1,
+ anon_sym_RBRACE,
+ STATE(176), 1,
sym_argument_list,
- ACTIONS(547), 2,
+ ACTIONS(620), 2,
anon_sym_DOT,
anon_sym_QMARK_DOT,
- ACTIONS(629), 2,
+ ACTIONS(656), 2,
+ anon_sym_LT,
+ anon_sym_GT,
+ ACTIONS(658), 2,
anon_sym_DASH,
anon_sym_PLUS,
- ACTIONS(631), 2,
+ ACTIONS(660), 2,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(633), 2,
+ ACTIONS(662), 2,
anon_sym_BSLASH,
anon_sym_PERCENT,
- ACTIONS(639), 2,
- anon_sym_LT,
- anon_sym_GT,
- ACTIONS(643), 2,
+ ACTIONS(670), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
- ACTIONS(645), 2,
+ ACTIONS(672), 2,
anon_sym_GT_EQ,
anon_sym_LT_EQ,
- [15930] = 16,
+ [17445] = 16,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
+ ACTIONS(622), 1,
anon_sym_LPAREN,
- ACTIONS(635), 1,
+ ACTIONS(664), 1,
anon_sym_STAR_STAR,
- ACTIONS(637), 1,
- anon_sym_QMARK_QMARK,
- ACTIONS(641), 1,
- anon_sym_AMP_AMP,
- ACTIONS(729), 1,
+ ACTIONS(666), 1,
anon_sym_PIPE_PIPE,
- ACTIONS(731), 1,
+ ACTIONS(668), 1,
+ anon_sym_AMP_AMP,
+ ACTIONS(674), 1,
+ anon_sym_QMARK_QMARK,
+ ACTIONS(676), 1,
anon_sym_LBRACK,
- ACTIONS(853), 1,
+ ACTIONS(949), 1,
anon_sym_SEMI,
- STATE(159), 1,
+ STATE(176), 1,
sym_argument_list,
- ACTIONS(547), 2,
+ ACTIONS(620), 2,
anon_sym_DOT,
anon_sym_QMARK_DOT,
- ACTIONS(629), 2,
+ ACTIONS(656), 2,
+ anon_sym_LT,
+ anon_sym_GT,
+ ACTIONS(658), 2,
anon_sym_DASH,
anon_sym_PLUS,
- ACTIONS(631), 2,
+ ACTIONS(660), 2,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(633), 2,
+ ACTIONS(662), 2,
anon_sym_BSLASH,
anon_sym_PERCENT,
- ACTIONS(639), 2,
- anon_sym_LT,
- anon_sym_GT,
- ACTIONS(643), 2,
+ ACTIONS(670), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
- ACTIONS(645), 2,
+ ACTIONS(672), 2,
anon_sym_GT_EQ,
anon_sym_LT_EQ,
- [15986] = 16,
+ [17501] = 12,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
+ ACTIONS(622), 1,
anon_sym_LPAREN,
- ACTIONS(635), 1,
+ ACTIONS(894), 1,
anon_sym_STAR_STAR,
- ACTIONS(637), 1,
+ ACTIONS(904), 1,
anon_sym_QMARK_QMARK,
- ACTIONS(641), 1,
- anon_sym_AMP_AMP,
- ACTIONS(729), 1,
- anon_sym_PIPE_PIPE,
- ACTIONS(731), 1,
- anon_sym_LBRACK,
- ACTIONS(855), 1,
- anon_sym_SEMI,
- STATE(159), 1,
+ STATE(176), 1,
sym_argument_list,
- ACTIONS(547), 2,
+ ACTIONS(620), 2,
anon_sym_DOT,
anon_sym_QMARK_DOT,
- ACTIONS(629), 2,
+ ACTIONS(886), 2,
+ anon_sym_LT,
+ anon_sym_GT,
+ ACTIONS(888), 2,
anon_sym_DASH,
anon_sym_PLUS,
- ACTIONS(631), 2,
+ ACTIONS(890), 2,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(633), 2,
+ ACTIONS(892), 2,
anon_sym_BSLASH,
anon_sym_PERCENT,
- ACTIONS(639), 2,
- anon_sym_LT,
- anon_sym_GT,
- ACTIONS(643), 2,
- anon_sym_EQ_EQ,
- anon_sym_BANG_EQ,
- ACTIONS(645), 2,
+ ACTIONS(902), 2,
anon_sym_GT_EQ,
anon_sym_LT_EQ,
- [16042] = 16,
+ ACTIONS(618), 6,
+ anon_sym_LBRACE,
+ anon_sym_PIPE_PIPE,
+ anon_sym_AMP_AMP,
+ anon_sym_EQ_EQ,
+ anon_sym_BANG_EQ,
+ anon_sym_LBRACK,
+ [17549] = 16,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
+ ACTIONS(622), 1,
anon_sym_LPAREN,
- ACTIONS(635), 1,
+ ACTIONS(664), 1,
anon_sym_STAR_STAR,
- ACTIONS(637), 1,
- anon_sym_QMARK_QMARK,
- ACTIONS(641), 1,
- anon_sym_AMP_AMP,
- ACTIONS(729), 1,
+ ACTIONS(666), 1,
anon_sym_PIPE_PIPE,
- ACTIONS(731), 1,
+ ACTIONS(668), 1,
+ anon_sym_AMP_AMP,
+ ACTIONS(674), 1,
+ anon_sym_QMARK_QMARK,
+ ACTIONS(676), 1,
anon_sym_LBRACK,
- ACTIONS(857), 1,
+ ACTIONS(951), 1,
anon_sym_SEMI,
- STATE(159), 1,
+ STATE(176), 1,
sym_argument_list,
- ACTIONS(547), 2,
+ ACTIONS(620), 2,
anon_sym_DOT,
anon_sym_QMARK_DOT,
- ACTIONS(629), 2,
+ ACTIONS(656), 2,
+ anon_sym_LT,
+ anon_sym_GT,
+ ACTIONS(658), 2,
anon_sym_DASH,
anon_sym_PLUS,
- ACTIONS(631), 2,
+ ACTIONS(660), 2,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(633), 2,
+ ACTIONS(662), 2,
anon_sym_BSLASH,
anon_sym_PERCENT,
- ACTIONS(639), 2,
- anon_sym_LT,
- anon_sym_GT,
- ACTIONS(643), 2,
+ ACTIONS(670), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
- ACTIONS(645), 2,
+ ACTIONS(672), 2,
anon_sym_GT_EQ,
anon_sym_LT_EQ,
- [16098] = 11,
+ [17605] = 16,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
+ ACTIONS(622), 1,
anon_sym_LPAREN,
- ACTIONS(825), 1,
+ ACTIONS(664), 1,
anon_sym_STAR_STAR,
- ACTIONS(835), 1,
+ ACTIONS(666), 1,
+ anon_sym_PIPE_PIPE,
+ ACTIONS(668), 1,
+ anon_sym_AMP_AMP,
+ ACTIONS(674), 1,
anon_sym_QMARK_QMARK,
- STATE(159), 1,
+ ACTIONS(676), 1,
+ anon_sym_LBRACK,
+ ACTIONS(953), 1,
+ anon_sym_RBRACK,
+ STATE(176), 1,
sym_argument_list,
- ACTIONS(547), 2,
+ ACTIONS(620), 2,
anon_sym_DOT,
anon_sym_QMARK_DOT,
- ACTIONS(551), 2,
+ ACTIONS(656), 2,
anon_sym_LT,
anon_sym_GT,
- ACTIONS(819), 2,
+ ACTIONS(658), 2,
anon_sym_DASH,
anon_sym_PLUS,
- ACTIONS(821), 2,
+ ACTIONS(660), 2,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(823), 2,
+ ACTIONS(662), 2,
anon_sym_BSLASH,
anon_sym_PERCENT,
- ACTIONS(545), 8,
- anon_sym_LBRACE,
- anon_sym_PIPE_PIPE,
- anon_sym_AMP_AMP,
+ ACTIONS(670), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
+ ACTIONS(672), 2,
anon_sym_GT_EQ,
anon_sym_LT_EQ,
- anon_sym_LBRACK,
- [16144] = 10,
+ [17661] = 16,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
+ ACTIONS(622), 1,
anon_sym_LPAREN,
- ACTIONS(825), 1,
+ ACTIONS(664), 1,
anon_sym_STAR_STAR,
- ACTIONS(835), 1,
+ ACTIONS(666), 1,
+ anon_sym_PIPE_PIPE,
+ ACTIONS(668), 1,
+ anon_sym_AMP_AMP,
+ ACTIONS(674), 1,
anon_sym_QMARK_QMARK,
- STATE(159), 1,
+ ACTIONS(676), 1,
+ anon_sym_LBRACK,
+ ACTIONS(955), 1,
+ anon_sym_SEMI,
+ STATE(176), 1,
sym_argument_list,
- ACTIONS(547), 2,
+ ACTIONS(620), 2,
anon_sym_DOT,
anon_sym_QMARK_DOT,
- ACTIONS(551), 2,
+ ACTIONS(656), 2,
anon_sym_LT,
anon_sym_GT,
- ACTIONS(821), 2,
+ ACTIONS(658), 2,
+ anon_sym_DASH,
+ anon_sym_PLUS,
+ ACTIONS(660), 2,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(823), 2,
+ ACTIONS(662), 2,
anon_sym_BSLASH,
anon_sym_PERCENT,
- ACTIONS(545), 10,
- anon_sym_LBRACE,
- anon_sym_DASH,
- anon_sym_PLUS,
- anon_sym_PIPE_PIPE,
- anon_sym_AMP_AMP,
+ ACTIONS(670), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
+ ACTIONS(672), 2,
anon_sym_GT_EQ,
anon_sym_LT_EQ,
- anon_sym_LBRACK,
- [16188] = 16,
+ [17717] = 13,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
+ ACTIONS(622), 1,
anon_sym_LPAREN,
- ACTIONS(635), 1,
+ ACTIONS(894), 1,
anon_sym_STAR_STAR,
- ACTIONS(637), 1,
+ ACTIONS(904), 1,
anon_sym_QMARK_QMARK,
- ACTIONS(641), 1,
- anon_sym_AMP_AMP,
- ACTIONS(729), 1,
- anon_sym_PIPE_PIPE,
- ACTIONS(731), 1,
- anon_sym_LBRACK,
- ACTIONS(859), 1,
- anon_sym_SEMI,
- STATE(159), 1,
+ STATE(176), 1,
sym_argument_list,
- ACTIONS(547), 2,
+ ACTIONS(620), 2,
anon_sym_DOT,
anon_sym_QMARK_DOT,
- ACTIONS(629), 2,
+ ACTIONS(886), 2,
+ anon_sym_LT,
+ anon_sym_GT,
+ ACTIONS(888), 2,
anon_sym_DASH,
anon_sym_PLUS,
- ACTIONS(631), 2,
+ ACTIONS(890), 2,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(633), 2,
+ ACTIONS(892), 2,
anon_sym_BSLASH,
anon_sym_PERCENT,
- ACTIONS(639), 2,
- anon_sym_LT,
- anon_sym_GT,
- ACTIONS(643), 2,
+ ACTIONS(900), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
- ACTIONS(645), 2,
+ ACTIONS(902), 2,
anon_sym_GT_EQ,
anon_sym_LT_EQ,
- [16244] = 16,
+ ACTIONS(618), 4,
+ anon_sym_LBRACE,
+ anon_sym_PIPE_PIPE,
+ anon_sym_AMP_AMP,
+ anon_sym_LBRACK,
+ [17767] = 14,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
+ ACTIONS(622), 1,
anon_sym_LPAREN,
- ACTIONS(635), 1,
+ ACTIONS(894), 1,
anon_sym_STAR_STAR,
- ACTIONS(637), 1,
- anon_sym_QMARK_QMARK,
- ACTIONS(641), 1,
+ ACTIONS(898), 1,
anon_sym_AMP_AMP,
- ACTIONS(729), 1,
- anon_sym_PIPE_PIPE,
- ACTIONS(731), 1,
- anon_sym_LBRACK,
- ACTIONS(861), 1,
- anon_sym_SEMI,
- STATE(159), 1,
+ ACTIONS(904), 1,
+ anon_sym_QMARK_QMARK,
+ STATE(176), 1,
sym_argument_list,
- ACTIONS(547), 2,
+ ACTIONS(620), 2,
anon_sym_DOT,
anon_sym_QMARK_DOT,
- ACTIONS(629), 2,
+ ACTIONS(886), 2,
+ anon_sym_LT,
+ anon_sym_GT,
+ ACTIONS(888), 2,
anon_sym_DASH,
anon_sym_PLUS,
- ACTIONS(631), 2,
+ ACTIONS(890), 2,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(633), 2,
+ ACTIONS(892), 2,
anon_sym_BSLASH,
anon_sym_PERCENT,
- ACTIONS(639), 2,
- anon_sym_LT,
- anon_sym_GT,
- ACTIONS(643), 2,
+ ACTIONS(900), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
- ACTIONS(645), 2,
+ ACTIONS(902), 2,
anon_sym_GT_EQ,
anon_sym_LT_EQ,
- [16300] = 16,
+ ACTIONS(618), 3,
+ anon_sym_LBRACE,
+ anon_sym_PIPE_PIPE,
+ anon_sym_LBRACK,
+ [17819] = 7,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
+ ACTIONS(622), 1,
anon_sym_LPAREN,
- ACTIONS(635), 1,
- anon_sym_STAR_STAR,
- ACTIONS(637), 1,
+ ACTIONS(904), 1,
anon_sym_QMARK_QMARK,
- ACTIONS(641), 1,
- anon_sym_AMP_AMP,
- ACTIONS(729), 1,
- anon_sym_PIPE_PIPE,
- ACTIONS(731), 1,
- anon_sym_LBRACK,
- ACTIONS(863), 1,
- anon_sym_SEMI,
- STATE(159), 1,
+ STATE(176), 1,
sym_argument_list,
- ACTIONS(547), 2,
+ ACTIONS(620), 2,
anon_sym_DOT,
anon_sym_QMARK_DOT,
- ACTIONS(629), 2,
- anon_sym_DASH,
- anon_sym_PLUS,
- ACTIONS(631), 2,
+ ACTIONS(624), 4,
+ anon_sym_LT,
+ anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(633), 2,
+ ACTIONS(618), 13,
+ anon_sym_LBRACE,
+ anon_sym_DASH,
+ anon_sym_PLUS,
anon_sym_BSLASH,
anon_sym_PERCENT,
- ACTIONS(639), 2,
- anon_sym_LT,
- anon_sym_GT,
- ACTIONS(643), 2,
+ anon_sym_STAR_STAR,
+ anon_sym_PIPE_PIPE,
+ anon_sym_AMP_AMP,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
- ACTIONS(645), 2,
anon_sym_GT_EQ,
anon_sym_LT_EQ,
- [16356] = 16,
+ anon_sym_LBRACK,
+ [17857] = 16,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
+ ACTIONS(622), 1,
anon_sym_LPAREN,
- ACTIONS(635), 1,
+ ACTIONS(664), 1,
anon_sym_STAR_STAR,
- ACTIONS(637), 1,
- anon_sym_QMARK_QMARK,
- ACTIONS(641), 1,
- anon_sym_AMP_AMP,
- ACTIONS(729), 1,
+ ACTIONS(666), 1,
anon_sym_PIPE_PIPE,
- ACTIONS(731), 1,
+ ACTIONS(668), 1,
+ anon_sym_AMP_AMP,
+ ACTIONS(674), 1,
+ anon_sym_QMARK_QMARK,
+ ACTIONS(676), 1,
anon_sym_LBRACK,
- ACTIONS(865), 1,
- anon_sym_SEMI,
- STATE(159), 1,
+ ACTIONS(957), 1,
+ anon_sym_RPAREN,
+ STATE(176), 1,
sym_argument_list,
- ACTIONS(547), 2,
+ ACTIONS(620), 2,
anon_sym_DOT,
anon_sym_QMARK_DOT,
- ACTIONS(629), 2,
+ ACTIONS(656), 2,
+ anon_sym_LT,
+ anon_sym_GT,
+ ACTIONS(658), 2,
anon_sym_DASH,
anon_sym_PLUS,
- ACTIONS(631), 2,
+ ACTIONS(660), 2,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(633), 2,
+ ACTIONS(662), 2,
anon_sym_BSLASH,
anon_sym_PERCENT,
- ACTIONS(639), 2,
- anon_sym_LT,
- anon_sym_GT,
- ACTIONS(643), 2,
+ ACTIONS(670), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
- ACTIONS(645), 2,
+ ACTIONS(672), 2,
anon_sym_GT_EQ,
anon_sym_LT_EQ,
- [16412] = 16,
+ [17913] = 8,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
+ ACTIONS(622), 1,
anon_sym_LPAREN,
- ACTIONS(635), 1,
+ ACTIONS(894), 1,
anon_sym_STAR_STAR,
- ACTIONS(637), 1,
+ ACTIONS(904), 1,
anon_sym_QMARK_QMARK,
- ACTIONS(641), 1,
- anon_sym_AMP_AMP,
- ACTIONS(729), 1,
- anon_sym_PIPE_PIPE,
- ACTIONS(731), 1,
- anon_sym_LBRACK,
- ACTIONS(867), 1,
- anon_sym_SEMI,
- STATE(159), 1,
+ STATE(176), 1,
sym_argument_list,
- ACTIONS(547), 2,
+ ACTIONS(620), 2,
anon_sym_DOT,
anon_sym_QMARK_DOT,
- ACTIONS(629), 2,
- anon_sym_DASH,
- anon_sym_PLUS,
- ACTIONS(631), 2,
+ ACTIONS(624), 4,
+ anon_sym_LT,
+ anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(633), 2,
+ ACTIONS(618), 12,
+ anon_sym_LBRACE,
+ anon_sym_DASH,
+ anon_sym_PLUS,
anon_sym_BSLASH,
anon_sym_PERCENT,
- ACTIONS(639), 2,
- anon_sym_LT,
- anon_sym_GT,
- ACTIONS(643), 2,
+ anon_sym_PIPE_PIPE,
+ anon_sym_AMP_AMP,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
- ACTIONS(645), 2,
anon_sym_GT_EQ,
anon_sym_LT_EQ,
- [16468] = 16,
+ anon_sym_LBRACK,
+ [17953] = 16,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
+ ACTIONS(622), 1,
anon_sym_LPAREN,
- ACTIONS(635), 1,
+ ACTIONS(664), 1,
anon_sym_STAR_STAR,
- ACTIONS(637), 1,
- anon_sym_QMARK_QMARK,
- ACTIONS(641), 1,
- anon_sym_AMP_AMP,
- ACTIONS(729), 1,
+ ACTIONS(666), 1,
anon_sym_PIPE_PIPE,
- ACTIONS(731), 1,
+ ACTIONS(668), 1,
+ anon_sym_AMP_AMP,
+ ACTIONS(674), 1,
+ anon_sym_QMARK_QMARK,
+ ACTIONS(676), 1,
anon_sym_LBRACK,
- ACTIONS(869), 1,
+ ACTIONS(959), 1,
anon_sym_SEMI,
- STATE(159), 1,
+ STATE(176), 1,
sym_argument_list,
- ACTIONS(547), 2,
+ ACTIONS(620), 2,
anon_sym_DOT,
anon_sym_QMARK_DOT,
- ACTIONS(629), 2,
+ ACTIONS(656), 2,
+ anon_sym_LT,
+ anon_sym_GT,
+ ACTIONS(658), 2,
anon_sym_DASH,
anon_sym_PLUS,
- ACTIONS(631), 2,
+ ACTIONS(660), 2,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(633), 2,
+ ACTIONS(662), 2,
anon_sym_BSLASH,
anon_sym_PERCENT,
- ACTIONS(639), 2,
- anon_sym_LT,
- anon_sym_GT,
- ACTIONS(643), 2,
+ ACTIONS(670), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
- ACTIONS(645), 2,
+ ACTIONS(672), 2,
anon_sym_GT_EQ,
anon_sym_LT_EQ,
- [16524] = 8,
+ [18009] = 10,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
+ ACTIONS(622), 1,
anon_sym_LPAREN,
- ACTIONS(825), 1,
+ ACTIONS(894), 1,
anon_sym_STAR_STAR,
- ACTIONS(835), 1,
+ ACTIONS(904), 1,
anon_sym_QMARK_QMARK,
- STATE(159), 1,
+ STATE(176), 1,
sym_argument_list,
- ACTIONS(547), 2,
+ ACTIONS(620), 2,
anon_sym_DOT,
anon_sym_QMARK_DOT,
- ACTIONS(725), 4,
+ ACTIONS(624), 2,
anon_sym_LT,
anon_sym_GT,
+ ACTIONS(890), 2,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(723), 12,
+ ACTIONS(892), 2,
+ anon_sym_BSLASH,
+ anon_sym_PERCENT,
+ ACTIONS(618), 10,
anon_sym_LBRACE,
anon_sym_DASH,
anon_sym_PLUS,
- anon_sym_BSLASH,
- anon_sym_PERCENT,
anon_sym_PIPE_PIPE,
anon_sym_AMP_AMP,
anon_sym_EQ_EQ,
@@ -19067,62 +20910,60 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_GT_EQ,
anon_sym_LT_EQ,
anon_sym_LBRACK,
- [16564] = 16,
+ [18053] = 16,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
+ ACTIONS(622), 1,
anon_sym_LPAREN,
- ACTIONS(635), 1,
+ ACTIONS(664), 1,
anon_sym_STAR_STAR,
- ACTIONS(637), 1,
- anon_sym_QMARK_QMARK,
- ACTIONS(641), 1,
- anon_sym_AMP_AMP,
- ACTIONS(729), 1,
+ ACTIONS(666), 1,
anon_sym_PIPE_PIPE,
- ACTIONS(731), 1,
+ ACTIONS(668), 1,
+ anon_sym_AMP_AMP,
+ ACTIONS(674), 1,
+ anon_sym_QMARK_QMARK,
+ ACTIONS(676), 1,
anon_sym_LBRACK,
- ACTIONS(871), 1,
+ ACTIONS(961), 1,
anon_sym_SEMI,
- STATE(159), 1,
+ STATE(176), 1,
sym_argument_list,
- ACTIONS(547), 2,
+ ACTIONS(620), 2,
anon_sym_DOT,
anon_sym_QMARK_DOT,
- ACTIONS(629), 2,
+ ACTIONS(656), 2,
+ anon_sym_LT,
+ anon_sym_GT,
+ ACTIONS(658), 2,
anon_sym_DASH,
anon_sym_PLUS,
- ACTIONS(631), 2,
+ ACTIONS(660), 2,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(633), 2,
+ ACTIONS(662), 2,
anon_sym_BSLASH,
anon_sym_PERCENT,
- ACTIONS(639), 2,
- anon_sym_LT,
- anon_sym_GT,
- ACTIONS(643), 2,
+ ACTIONS(670), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
- ACTIONS(645), 2,
+ ACTIONS(672), 2,
anon_sym_GT_EQ,
anon_sym_LT_EQ,
- [16620] = 6,
+ [18109] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(470), 1,
- anon_sym_DOT,
- ACTIONS(873), 1,
- anon_sym_LBRACE,
- STATE(290), 1,
- aux_sym_custom_type_repeat1,
- ACTIONS(473), 4,
+ ACTIONS(963), 1,
+ anon_sym_EQ,
+ ACTIONS(778), 4,
anon_sym_LT,
anon_sym_GT,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(468), 15,
+ ACTIONS(776), 17,
+ anon_sym_DOT,
anon_sym_QMARK_DOT,
+ anon_sym_SEMI,
anon_sym_LPAREN,
anon_sym_DASH,
anon_sym_PLUS,
@@ -19137,31 +20978,34 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_LT_EQ,
anon_sym_QMARK_QMARK,
anon_sym_LBRACK,
- [16656] = 8,
+ [18141] = 11,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
+ ACTIONS(622), 1,
anon_sym_LPAREN,
- ACTIONS(825), 1,
+ ACTIONS(894), 1,
anon_sym_STAR_STAR,
- ACTIONS(835), 1,
+ ACTIONS(904), 1,
anon_sym_QMARK_QMARK,
- STATE(159), 1,
+ STATE(176), 1,
sym_argument_list,
- ACTIONS(547), 2,
+ ACTIONS(620), 2,
anon_sym_DOT,
anon_sym_QMARK_DOT,
- ACTIONS(551), 4,
+ ACTIONS(624), 2,
anon_sym_LT,
anon_sym_GT,
- anon_sym_STAR,
- anon_sym_SLASH,
- ACTIONS(545), 12,
- anon_sym_LBRACE,
+ ACTIONS(888), 2,
anon_sym_DASH,
anon_sym_PLUS,
+ ACTIONS(890), 2,
+ anon_sym_STAR,
+ anon_sym_SLASH,
+ ACTIONS(892), 2,
anon_sym_BSLASH,
anon_sym_PERCENT,
+ ACTIONS(618), 8,
+ anon_sym_LBRACE,
anon_sym_PIPE_PIPE,
anon_sym_AMP_AMP,
anon_sym_EQ_EQ,
@@ -19169,869 +21013,949 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_GT_EQ,
anon_sym_LT_EQ,
anon_sym_LBRACK,
- [16696] = 16,
+ [18187] = 16,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
+ ACTIONS(622), 1,
anon_sym_LPAREN,
- ACTIONS(635), 1,
+ ACTIONS(664), 1,
anon_sym_STAR_STAR,
- ACTIONS(637), 1,
- anon_sym_QMARK_QMARK,
- ACTIONS(641), 1,
- anon_sym_AMP_AMP,
- ACTIONS(729), 1,
+ ACTIONS(666), 1,
anon_sym_PIPE_PIPE,
- ACTIONS(731), 1,
+ ACTIONS(668), 1,
+ anon_sym_AMP_AMP,
+ ACTIONS(674), 1,
+ anon_sym_QMARK_QMARK,
+ ACTIONS(676), 1,
anon_sym_LBRACK,
- ACTIONS(876), 1,
+ ACTIONS(965), 1,
anon_sym_SEMI,
- STATE(159), 1,
+ STATE(176), 1,
sym_argument_list,
- ACTIONS(547), 2,
+ ACTIONS(620), 2,
anon_sym_DOT,
anon_sym_QMARK_DOT,
- ACTIONS(629), 2,
+ ACTIONS(656), 2,
+ anon_sym_LT,
+ anon_sym_GT,
+ ACTIONS(658), 2,
anon_sym_DASH,
anon_sym_PLUS,
- ACTIONS(631), 2,
+ ACTIONS(660), 2,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(633), 2,
+ ACTIONS(662), 2,
anon_sym_BSLASH,
anon_sym_PERCENT,
- ACTIONS(639), 2,
- anon_sym_LT,
- anon_sym_GT,
- ACTIONS(643), 2,
+ ACTIONS(670), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
- ACTIONS(645), 2,
+ ACTIONS(672), 2,
anon_sym_GT_EQ,
anon_sym_LT_EQ,
- [16752] = 16,
+ [18243] = 16,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
+ ACTIONS(622), 1,
anon_sym_LPAREN,
- ACTIONS(635), 1,
+ ACTIONS(664), 1,
anon_sym_STAR_STAR,
- ACTIONS(637), 1,
- anon_sym_QMARK_QMARK,
- ACTIONS(641), 1,
- anon_sym_AMP_AMP,
- ACTIONS(729), 1,
+ ACTIONS(666), 1,
anon_sym_PIPE_PIPE,
- ACTIONS(731), 1,
+ ACTIONS(668), 1,
+ anon_sym_AMP_AMP,
+ ACTIONS(674), 1,
+ anon_sym_QMARK_QMARK,
+ ACTIONS(676), 1,
anon_sym_LBRACK,
- ACTIONS(878), 1,
+ ACTIONS(967), 1,
anon_sym_SEMI,
- STATE(159), 1,
+ STATE(176), 1,
sym_argument_list,
- ACTIONS(547), 2,
+ ACTIONS(620), 2,
anon_sym_DOT,
anon_sym_QMARK_DOT,
- ACTIONS(629), 2,
+ ACTIONS(656), 2,
+ anon_sym_LT,
+ anon_sym_GT,
+ ACTIONS(658), 2,
anon_sym_DASH,
anon_sym_PLUS,
- ACTIONS(631), 2,
+ ACTIONS(660), 2,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(633), 2,
+ ACTIONS(662), 2,
anon_sym_BSLASH,
anon_sym_PERCENT,
- ACTIONS(639), 2,
+ ACTIONS(670), 2,
+ anon_sym_EQ_EQ,
+ anon_sym_BANG_EQ,
+ ACTIONS(672), 2,
+ anon_sym_GT_EQ,
+ anon_sym_LT_EQ,
+ [18299] = 16,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(622), 1,
+ anon_sym_LPAREN,
+ ACTIONS(664), 1,
+ anon_sym_STAR_STAR,
+ ACTIONS(666), 1,
+ anon_sym_PIPE_PIPE,
+ ACTIONS(668), 1,
+ anon_sym_AMP_AMP,
+ ACTIONS(674), 1,
+ anon_sym_QMARK_QMARK,
+ ACTIONS(676), 1,
+ anon_sym_LBRACK,
+ ACTIONS(969), 1,
+ anon_sym_SEMI,
+ STATE(176), 1,
+ sym_argument_list,
+ ACTIONS(620), 2,
+ anon_sym_DOT,
+ anon_sym_QMARK_DOT,
+ ACTIONS(656), 2,
anon_sym_LT,
anon_sym_GT,
- ACTIONS(643), 2,
+ ACTIONS(658), 2,
+ anon_sym_DASH,
+ anon_sym_PLUS,
+ ACTIONS(660), 2,
+ anon_sym_STAR,
+ anon_sym_SLASH,
+ ACTIONS(662), 2,
+ anon_sym_BSLASH,
+ anon_sym_PERCENT,
+ ACTIONS(670), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
- ACTIONS(645), 2,
+ ACTIONS(672), 2,
anon_sym_GT_EQ,
anon_sym_LT_EQ,
- [16808] = 16,
+ [18355] = 16,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
+ ACTIONS(622), 1,
anon_sym_LPAREN,
- ACTIONS(727), 1,
- anon_sym_LBRACE,
- ACTIONS(731), 1,
- anon_sym_LBRACK,
- ACTIONS(825), 1,
+ ACTIONS(664), 1,
anon_sym_STAR_STAR,
- ACTIONS(827), 1,
+ ACTIONS(666), 1,
anon_sym_PIPE_PIPE,
- ACTIONS(829), 1,
+ ACTIONS(668), 1,
anon_sym_AMP_AMP,
- ACTIONS(835), 1,
+ ACTIONS(674), 1,
anon_sym_QMARK_QMARK,
- STATE(159), 1,
+ ACTIONS(676), 1,
+ anon_sym_LBRACK,
+ ACTIONS(971), 1,
+ anon_sym_SEMI,
+ STATE(176), 1,
sym_argument_list,
- ACTIONS(547), 2,
+ ACTIONS(620), 2,
anon_sym_DOT,
anon_sym_QMARK_DOT,
- ACTIONS(817), 2,
+ ACTIONS(656), 2,
anon_sym_LT,
anon_sym_GT,
- ACTIONS(819), 2,
+ ACTIONS(658), 2,
anon_sym_DASH,
anon_sym_PLUS,
- ACTIONS(821), 2,
+ ACTIONS(660), 2,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(823), 2,
+ ACTIONS(662), 2,
anon_sym_BSLASH,
anon_sym_PERCENT,
- ACTIONS(831), 2,
+ ACTIONS(670), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
- ACTIONS(833), 2,
+ ACTIONS(672), 2,
anon_sym_GT_EQ,
anon_sym_LT_EQ,
- [16864] = 16,
+ [18411] = 16,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
+ ACTIONS(622), 1,
anon_sym_LPAREN,
- ACTIONS(635), 1,
+ ACTIONS(664), 1,
anon_sym_STAR_STAR,
- ACTIONS(637), 1,
- anon_sym_QMARK_QMARK,
- ACTIONS(641), 1,
- anon_sym_AMP_AMP,
- ACTIONS(729), 1,
+ ACTIONS(666), 1,
anon_sym_PIPE_PIPE,
- ACTIONS(731), 1,
+ ACTIONS(668), 1,
+ anon_sym_AMP_AMP,
+ ACTIONS(674), 1,
+ anon_sym_QMARK_QMARK,
+ ACTIONS(676), 1,
anon_sym_LBRACK,
- ACTIONS(880), 1,
+ ACTIONS(973), 1,
anon_sym_SEMI,
- STATE(159), 1,
+ STATE(176), 1,
sym_argument_list,
- ACTIONS(547), 2,
+ ACTIONS(620), 2,
anon_sym_DOT,
anon_sym_QMARK_DOT,
- ACTIONS(629), 2,
+ ACTIONS(656), 2,
+ anon_sym_LT,
+ anon_sym_GT,
+ ACTIONS(658), 2,
anon_sym_DASH,
anon_sym_PLUS,
- ACTIONS(631), 2,
+ ACTIONS(660), 2,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(633), 2,
+ ACTIONS(662), 2,
anon_sym_BSLASH,
anon_sym_PERCENT,
- ACTIONS(639), 2,
+ ACTIONS(670), 2,
+ anon_sym_EQ_EQ,
+ anon_sym_BANG_EQ,
+ ACTIONS(672), 2,
+ anon_sym_GT_EQ,
+ anon_sym_LT_EQ,
+ [18467] = 4,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(975), 1,
+ anon_sym_in,
+ ACTIONS(778), 4,
anon_sym_LT,
anon_sym_GT,
- ACTIONS(643), 2,
+ anon_sym_STAR,
+ anon_sym_SLASH,
+ ACTIONS(776), 16,
+ anon_sym_DOT,
+ anon_sym_QMARK_DOT,
+ anon_sym_LPAREN,
+ anon_sym_DASH,
+ anon_sym_PLUS,
+ anon_sym_BSLASH,
+ anon_sym_PERCENT,
+ anon_sym_STAR_STAR,
+ anon_sym_PIPE_PIPE,
+ anon_sym_AMP_AMP,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
- ACTIONS(645), 2,
anon_sym_GT_EQ,
anon_sym_LT_EQ,
- [16920] = 16,
+ anon_sym_QMARK_QMARK,
+ anon_sym_LBRACK,
+ [18498] = 15,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
+ ACTIONS(622), 1,
anon_sym_LPAREN,
- ACTIONS(635), 1,
+ ACTIONS(664), 1,
anon_sym_STAR_STAR,
- ACTIONS(637), 1,
- anon_sym_QMARK_QMARK,
- ACTIONS(641), 1,
- anon_sym_AMP_AMP,
- ACTIONS(729), 1,
+ ACTIONS(666), 1,
anon_sym_PIPE_PIPE,
- ACTIONS(731), 1,
+ ACTIONS(668), 1,
+ anon_sym_AMP_AMP,
+ ACTIONS(674), 1,
+ anon_sym_QMARK_QMARK,
+ ACTIONS(676), 1,
anon_sym_LBRACK,
- ACTIONS(882), 1,
- anon_sym_SEMI,
- STATE(159), 1,
+ STATE(176), 1,
sym_argument_list,
- ACTIONS(547), 2,
+ ACTIONS(620), 2,
anon_sym_DOT,
anon_sym_QMARK_DOT,
- ACTIONS(629), 2,
+ ACTIONS(656), 2,
+ anon_sym_LT,
+ anon_sym_GT,
+ ACTIONS(658), 2,
anon_sym_DASH,
anon_sym_PLUS,
- ACTIONS(631), 2,
+ ACTIONS(660), 2,
anon_sym_STAR,
anon_sym_SLASH,
- ACTIONS(633), 2,
+ ACTIONS(662), 2,
anon_sym_BSLASH,
anon_sym_PERCENT,
- ACTIONS(639), 2,
- anon_sym_LT,
- anon_sym_GT,
- ACTIONS(643), 2,
+ ACTIONS(670), 2,
anon_sym_EQ_EQ,
anon_sym_BANG_EQ,
- ACTIONS(645), 2,
+ ACTIONS(672), 2,
anon_sym_GT_EQ,
anon_sym_LT_EQ,
- [16976] = 16,
+ [18551] = 12,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(977), 1,
+ sym_identifier,
+ ACTIONS(979), 1,
+ anon_sym_RBRACE,
+ ACTIONS(981), 1,
+ anon_sym_inflight,
+ ACTIONS(983), 1,
+ sym_reassignable,
+ ACTIONS(985), 1,
+ sym_static,
+ ACTIONS(987), 1,
+ anon_sym_init,
+ ACTIONS(989), 1,
+ sym_async_modifier,
+ STATE(413), 1,
+ sym_access_modifier,
+ STATE(588), 1,
+ sym__inflight_specifier,
+ ACTIONS(991), 3,
+ anon_sym_public,
+ anon_sym_private,
+ anon_sym_protected,
+ STATE(303), 5,
+ sym_class_field,
+ sym_constructor,
+ sym_method_definition,
+ sym_inflight_method_definition,
+ aux_sym_class_implementation_repeat1,
+ [18594] = 12,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(993), 1,
+ sym_identifier,
+ ACTIONS(996), 1,
+ anon_sym_RBRACE,
+ ACTIONS(998), 1,
+ anon_sym_inflight,
+ ACTIONS(1001), 1,
+ sym_reassignable,
+ ACTIONS(1004), 1,
+ sym_static,
+ ACTIONS(1007), 1,
+ anon_sym_init,
+ ACTIONS(1010), 1,
+ sym_async_modifier,
+ STATE(413), 1,
+ sym_access_modifier,
+ STATE(588), 1,
+ sym__inflight_specifier,
+ ACTIONS(1013), 3,
+ anon_sym_public,
+ anon_sym_private,
+ anon_sym_protected,
+ STATE(303), 5,
+ sym_class_field,
+ sym_constructor,
+ sym_method_definition,
+ sym_inflight_method_definition,
+ aux_sym_class_implementation_repeat1,
+ [18637] = 12,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(977), 1,
+ sym_identifier,
+ ACTIONS(981), 1,
+ anon_sym_inflight,
+ ACTIONS(983), 1,
+ sym_reassignable,
+ ACTIONS(985), 1,
+ sym_static,
+ ACTIONS(987), 1,
+ anon_sym_init,
+ ACTIONS(989), 1,
+ sym_async_modifier,
+ ACTIONS(1016), 1,
+ anon_sym_RBRACE,
+ STATE(413), 1,
+ sym_access_modifier,
+ STATE(588), 1,
+ sym__inflight_specifier,
+ ACTIONS(991), 3,
+ anon_sym_public,
+ anon_sym_private,
+ anon_sym_protected,
+ STATE(303), 5,
+ sym_class_field,
+ sym_constructor,
+ sym_method_definition,
+ sym_inflight_method_definition,
+ aux_sym_class_implementation_repeat1,
+ [18680] = 12,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(977), 1,
+ sym_identifier,
+ ACTIONS(981), 1,
+ anon_sym_inflight,
+ ACTIONS(983), 1,
+ sym_reassignable,
+ ACTIONS(985), 1,
+ sym_static,
+ ACTIONS(987), 1,
+ anon_sym_init,
+ ACTIONS(989), 1,
+ sym_async_modifier,
+ ACTIONS(1018), 1,
+ anon_sym_RBRACE,
+ STATE(413), 1,
+ sym_access_modifier,
+ STATE(588), 1,
+ sym__inflight_specifier,
+ ACTIONS(991), 3,
+ anon_sym_public,
+ anon_sym_private,
+ anon_sym_protected,
+ STATE(302), 5,
+ sym_class_field,
+ sym_constructor,
+ sym_method_definition,
+ sym_inflight_method_definition,
+ aux_sym_class_implementation_repeat1,
+ [18723] = 12,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(977), 1,
+ sym_identifier,
+ ACTIONS(981), 1,
+ anon_sym_inflight,
+ ACTIONS(983), 1,
+ sym_reassignable,
+ ACTIONS(985), 1,
+ sym_static,
+ ACTIONS(987), 1,
+ anon_sym_init,
+ ACTIONS(989), 1,
+ sym_async_modifier,
+ ACTIONS(1020), 1,
+ anon_sym_RBRACE,
+ STATE(413), 1,
+ sym_access_modifier,
+ STATE(588), 1,
+ sym__inflight_specifier,
+ ACTIONS(991), 3,
+ anon_sym_public,
+ anon_sym_private,
+ anon_sym_protected,
+ STATE(304), 5,
+ sym_class_field,
+ sym_constructor,
+ sym_method_definition,
+ sym_inflight_method_definition,
+ aux_sym_class_implementation_repeat1,
+ [18766] = 11,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(983), 1,
+ sym_reassignable,
+ ACTIONS(1022), 1,
+ sym_identifier,
+ ACTIONS(1024), 1,
+ anon_sym_RBRACE,
+ ACTIONS(1026), 1,
+ anon_sym_inflight,
+ ACTIONS(1028), 1,
+ sym_static,
+ ACTIONS(1030), 1,
+ sym_async_modifier,
+ STATE(411), 1,
+ sym_access_modifier,
+ STATE(580), 1,
+ sym__inflight_specifier,
+ ACTIONS(991), 3,
+ anon_sym_public,
+ anon_sym_private,
+ anon_sym_protected,
+ STATE(309), 4,
+ sym_class_field,
+ sym_method_signature,
+ sym_inflight_method_signature,
+ aux_sym_interface_implementation_repeat1,
+ [18805] = 11,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1032), 1,
+ sym_identifier,
+ ACTIONS(1035), 1,
+ anon_sym_RBRACE,
+ ACTIONS(1037), 1,
+ anon_sym_inflight,
+ ACTIONS(1040), 1,
+ sym_reassignable,
+ ACTIONS(1043), 1,
+ sym_static,
+ ACTIONS(1046), 1,
+ sym_async_modifier,
+ STATE(411), 1,
+ sym_access_modifier,
+ STATE(580), 1,
+ sym__inflight_specifier,
+ ACTIONS(1049), 3,
+ anon_sym_public,
+ anon_sym_private,
+ anon_sym_protected,
+ STATE(308), 4,
+ sym_class_field,
+ sym_method_signature,
+ sym_inflight_method_signature,
+ aux_sym_interface_implementation_repeat1,
+ [18844] = 11,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(983), 1,
+ sym_reassignable,
+ ACTIONS(1022), 1,
+ sym_identifier,
+ ACTIONS(1026), 1,
+ anon_sym_inflight,
+ ACTIONS(1028), 1,
+ sym_static,
+ ACTIONS(1030), 1,
+ sym_async_modifier,
+ ACTIONS(1052), 1,
+ anon_sym_RBRACE,
+ STATE(411), 1,
+ sym_access_modifier,
+ STATE(580), 1,
+ sym__inflight_specifier,
+ ACTIONS(991), 3,
+ anon_sym_public,
+ anon_sym_private,
+ anon_sym_protected,
+ STATE(308), 4,
+ sym_class_field,
+ sym_method_signature,
+ sym_inflight_method_signature,
+ aux_sym_interface_implementation_repeat1,
+ [18883] = 5,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
- anon_sym_LPAREN,
- ACTIONS(635), 1,
- anon_sym_STAR_STAR,
- ACTIONS(637), 1,
- anon_sym_QMARK_QMARK,
- ACTIONS(641), 1,
- anon_sym_AMP_AMP,
- ACTIONS(729), 1,
- anon_sym_PIPE_PIPE,
- ACTIONS(731), 1,
- anon_sym_LBRACK,
- ACTIONS(884), 1,
- anon_sym_SEMI,
- STATE(159), 1,
- sym_argument_list,
- ACTIONS(547), 2,
+ ACTIONS(1056), 1,
anon_sym_DOT,
- anon_sym_QMARK_DOT,
- ACTIONS(629), 2,
- anon_sym_DASH,
- anon_sym_PLUS,
- ACTIONS(631), 2,
- anon_sym_STAR,
- anon_sym_SLASH,
- ACTIONS(633), 2,
- anon_sym_BSLASH,
- anon_sym_PERCENT,
- ACTIONS(639), 2,
- anon_sym_LT,
+ ACTIONS(1059), 1,
+ anon_sym_EQ,
+ STATE(310), 1,
+ aux_sym_custom_type_repeat1,
+ ACTIONS(1054), 9,
+ anon_sym_LBRACE,
+ anon_sym_SEMI,
+ anon_sym_COMMA,
+ anon_sym_impl,
+ anon_sym_LPAREN,
+ anon_sym_RPAREN,
+ anon_sym_QMARK,
anon_sym_GT,
- ACTIONS(643), 2,
- anon_sym_EQ_EQ,
- anon_sym_BANG_EQ,
- ACTIONS(645), 2,
- anon_sym_GT_EQ,
- anon_sym_LT_EQ,
- [17032] = 14,
+ anon_sym_EQ_GT,
+ [18907] = 5,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
- anon_sym_LPAREN,
- ACTIONS(825), 1,
- anon_sym_STAR_STAR,
- ACTIONS(829), 1,
- anon_sym_AMP_AMP,
- ACTIONS(835), 1,
- anon_sym_QMARK_QMARK,
- STATE(159), 1,
- sym_argument_list,
- ACTIONS(547), 2,
+ ACTIONS(1061), 1,
anon_sym_DOT,
- anon_sym_QMARK_DOT,
- ACTIONS(817), 2,
- anon_sym_LT,
- anon_sym_GT,
- ACTIONS(819), 2,
- anon_sym_DASH,
- anon_sym_PLUS,
- ACTIONS(821), 2,
- anon_sym_STAR,
- anon_sym_SLASH,
- ACTIONS(823), 2,
- anon_sym_BSLASH,
- anon_sym_PERCENT,
- ACTIONS(831), 2,
- anon_sym_EQ_EQ,
- anon_sym_BANG_EQ,
- ACTIONS(833), 2,
- anon_sym_GT_EQ,
- anon_sym_LT_EQ,
- ACTIONS(545), 3,
+ ACTIONS(1063), 1,
+ anon_sym_EQ,
+ STATE(312), 1,
+ aux_sym_custom_type_repeat1,
+ ACTIONS(533), 9,
anon_sym_LBRACE,
- anon_sym_PIPE_PIPE,
- anon_sym_LBRACK,
- [17084] = 16,
- ACTIONS(3), 1,
- sym_comment,
- ACTIONS(549), 1,
+ anon_sym_SEMI,
+ anon_sym_COMMA,
+ anon_sym_impl,
anon_sym_LPAREN,
- ACTIONS(731), 1,
- anon_sym_LBRACK,
- ACTIONS(733), 1,
- anon_sym_LBRACE,
- ACTIONS(825), 1,
- anon_sym_STAR_STAR,
- ACTIONS(827), 1,
- anon_sym_PIPE_PIPE,
- ACTIONS(829), 1,
- anon_sym_AMP_AMP,
- ACTIONS(835), 1,
- anon_sym_QMARK_QMARK,
- STATE(159), 1,
- sym_argument_list,
- ACTIONS(547), 2,
- anon_sym_DOT,
- anon_sym_QMARK_DOT,
- ACTIONS(817), 2,
- anon_sym_LT,
+ anon_sym_RPAREN,
+ anon_sym_QMARK,
anon_sym_GT,
- ACTIONS(819), 2,
- anon_sym_DASH,
- anon_sym_PLUS,
- ACTIONS(821), 2,
- anon_sym_STAR,
- anon_sym_SLASH,
- ACTIONS(823), 2,
- anon_sym_BSLASH,
- anon_sym_PERCENT,
- ACTIONS(831), 2,
- anon_sym_EQ_EQ,
- anon_sym_BANG_EQ,
- ACTIONS(833), 2,
- anon_sym_GT_EQ,
- anon_sym_LT_EQ,
- [17140] = 16,
+ anon_sym_EQ_GT,
+ [18931] = 5,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
- anon_sym_LPAREN,
- ACTIONS(635), 1,
- anon_sym_STAR_STAR,
- ACTIONS(637), 1,
- anon_sym_QMARK_QMARK,
- ACTIONS(641), 1,
- anon_sym_AMP_AMP,
- ACTIONS(729), 1,
- anon_sym_PIPE_PIPE,
- ACTIONS(731), 1,
- anon_sym_LBRACK,
- ACTIONS(886), 1,
- anon_sym_SEMI,
- STATE(159), 1,
- sym_argument_list,
- ACTIONS(547), 2,
+ ACTIONS(1061), 1,
anon_sym_DOT,
- anon_sym_QMARK_DOT,
- ACTIONS(629), 2,
- anon_sym_DASH,
- anon_sym_PLUS,
- ACTIONS(631), 2,
- anon_sym_STAR,
- anon_sym_SLASH,
- ACTIONS(633), 2,
- anon_sym_BSLASH,
- anon_sym_PERCENT,
- ACTIONS(639), 2,
- anon_sym_LT,
+ ACTIONS(1067), 1,
+ anon_sym_EQ,
+ STATE(310), 1,
+ aux_sym_custom_type_repeat1,
+ ACTIONS(1065), 9,
+ anon_sym_LBRACE,
+ anon_sym_SEMI,
+ anon_sym_COMMA,
+ anon_sym_impl,
+ anon_sym_LPAREN,
+ anon_sym_RPAREN,
+ anon_sym_QMARK,
anon_sym_GT,
- ACTIONS(643), 2,
- anon_sym_EQ_EQ,
- anon_sym_BANG_EQ,
- ACTIONS(645), 2,
- anon_sym_GT_EQ,
- anon_sym_LT_EQ,
- [17196] = 4,
+ anon_sym_EQ_GT,
+ [18955] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(888), 1,
+ ACTIONS(1071), 1,
anon_sym_EQ,
- ACTIONS(555), 4,
- anon_sym_LT,
- anon_sym_GT,
- anon_sym_STAR,
- anon_sym_SLASH,
- ACTIONS(553), 17,
+ ACTIONS(1069), 10,
+ anon_sym_LBRACE,
anon_sym_DOT,
- anon_sym_QMARK_DOT,
anon_sym_SEMI,
+ anon_sym_COMMA,
+ anon_sym_impl,
anon_sym_LPAREN,
- anon_sym_DASH,
- anon_sym_PLUS,
- anon_sym_BSLASH,
- anon_sym_PERCENT,
- anon_sym_STAR_STAR,
- anon_sym_PIPE_PIPE,
- anon_sym_AMP_AMP,
- anon_sym_EQ_EQ,
- anon_sym_BANG_EQ,
- anon_sym_GT_EQ,
- anon_sym_LT_EQ,
- anon_sym_QMARK_QMARK,
- anon_sym_LBRACK,
- [17228] = 13,
+ anon_sym_RPAREN,
+ anon_sym_QMARK,
+ anon_sym_GT,
+ anon_sym_EQ_GT,
+ [18974] = 3,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1075), 1,
+ anon_sym_RBRACE,
+ ACTIONS(1073), 9,
+ sym_identifier,
+ anon_sym_inflight,
+ sym_reassignable,
+ sym_static,
+ anon_sym_init,
+ sym_async_modifier,
+ anon_sym_public,
+ anon_sym_private,
+ anon_sym_protected,
+ [18992] = 3,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1079), 1,
+ anon_sym_RBRACE,
+ ACTIONS(1077), 9,
+ sym_identifier,
+ anon_sym_inflight,
+ sym_reassignable,
+ sym_static,
+ anon_sym_init,
+ sym_async_modifier,
+ anon_sym_public,
+ anon_sym_private,
+ anon_sym_protected,
+ [19010] = 3,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1083), 1,
+ anon_sym_RBRACE,
+ ACTIONS(1081), 9,
+ sym_identifier,
+ anon_sym_inflight,
+ sym_reassignable,
+ sym_static,
+ anon_sym_init,
+ sym_async_modifier,
+ anon_sym_public,
+ anon_sym_private,
+ anon_sym_protected,
+ [19028] = 3,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1087), 1,
+ anon_sym_RBRACE,
+ ACTIONS(1085), 9,
+ sym_identifier,
+ anon_sym_inflight,
+ sym_reassignable,
+ sym_static,
+ anon_sym_init,
+ sym_async_modifier,
+ anon_sym_public,
+ anon_sym_private,
+ anon_sym_protected,
+ [19046] = 3,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1091), 1,
+ anon_sym_RBRACE,
+ ACTIONS(1089), 9,
+ sym_identifier,
+ anon_sym_inflight,
+ sym_reassignable,
+ sym_static,
+ anon_sym_init,
+ sym_async_modifier,
+ anon_sym_public,
+ anon_sym_private,
+ anon_sym_protected,
+ [19064] = 3,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1095), 1,
+ anon_sym_RBRACE,
+ ACTIONS(1093), 9,
+ sym_identifier,
+ anon_sym_inflight,
+ sym_reassignable,
+ sym_static,
+ anon_sym_init,
+ sym_async_modifier,
+ anon_sym_public,
+ anon_sym_private,
+ anon_sym_protected,
+ [19082] = 3,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1099), 1,
+ anon_sym_RBRACE,
+ ACTIONS(1097), 9,
+ sym_identifier,
+ anon_sym_inflight,
+ sym_reassignable,
+ sym_static,
+ anon_sym_init,
+ sym_async_modifier,
+ anon_sym_public,
+ anon_sym_private,
+ anon_sym_protected,
+ [19100] = 3,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1103), 1,
+ anon_sym_RBRACE,
+ ACTIONS(1101), 9,
+ sym_identifier,
+ anon_sym_inflight,
+ sym_reassignable,
+ sym_static,
+ anon_sym_init,
+ sym_async_modifier,
+ anon_sym_public,
+ anon_sym_private,
+ anon_sym_protected,
+ [19118] = 3,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1107), 1,
+ anon_sym_RBRACE,
+ ACTIONS(1105), 9,
+ sym_identifier,
+ anon_sym_inflight,
+ sym_reassignable,
+ sym_static,
+ anon_sym_init,
+ sym_async_modifier,
+ anon_sym_public,
+ anon_sym_private,
+ anon_sym_protected,
+ [19136] = 3,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1111), 1,
+ anon_sym_RBRACE,
+ ACTIONS(1109), 9,
+ sym_identifier,
+ anon_sym_inflight,
+ sym_reassignable,
+ sym_static,
+ anon_sym_init,
+ sym_async_modifier,
+ anon_sym_public,
+ anon_sym_private,
+ anon_sym_protected,
+ [19154] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
- anon_sym_LPAREN,
- ACTIONS(825), 1,
- anon_sym_STAR_STAR,
- ACTIONS(835), 1,
- anon_sym_QMARK_QMARK,
- STATE(159), 1,
- sym_argument_list,
- ACTIONS(547), 2,
- anon_sym_DOT,
- anon_sym_QMARK_DOT,
- ACTIONS(817), 2,
- anon_sym_LT,
- anon_sym_GT,
- ACTIONS(819), 2,
- anon_sym_DASH,
- anon_sym_PLUS,
- ACTIONS(821), 2,
- anon_sym_STAR,
- anon_sym_SLASH,
- ACTIONS(823), 2,
- anon_sym_BSLASH,
- anon_sym_PERCENT,
- ACTIONS(831), 2,
- anon_sym_EQ_EQ,
- anon_sym_BANG_EQ,
- ACTIONS(833), 2,
- anon_sym_GT_EQ,
- anon_sym_LT_EQ,
- ACTIONS(545), 4,
- anon_sym_LBRACE,
- anon_sym_PIPE_PIPE,
- anon_sym_AMP_AMP,
- anon_sym_LBRACK,
- [17278] = 16,
+ ACTIONS(1115), 1,
+ anon_sym_RBRACE,
+ ACTIONS(1113), 9,
+ sym_identifier,
+ anon_sym_inflight,
+ sym_reassignable,
+ sym_static,
+ anon_sym_init,
+ sym_async_modifier,
+ anon_sym_public,
+ anon_sym_private,
+ anon_sym_protected,
+ [19172] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
- anon_sym_LPAREN,
- ACTIONS(635), 1,
- anon_sym_STAR_STAR,
- ACTIONS(637), 1,
- anon_sym_QMARK_QMARK,
- ACTIONS(641), 1,
- anon_sym_AMP_AMP,
- ACTIONS(729), 1,
- anon_sym_PIPE_PIPE,
- ACTIONS(731), 1,
- anon_sym_LBRACK,
- ACTIONS(890), 1,
- anon_sym_RBRACK,
- STATE(159), 1,
- sym_argument_list,
- ACTIONS(547), 2,
- anon_sym_DOT,
- anon_sym_QMARK_DOT,
- ACTIONS(629), 2,
- anon_sym_DASH,
- anon_sym_PLUS,
- ACTIONS(631), 2,
- anon_sym_STAR,
- anon_sym_SLASH,
- ACTIONS(633), 2,
- anon_sym_BSLASH,
- anon_sym_PERCENT,
- ACTIONS(639), 2,
- anon_sym_LT,
- anon_sym_GT,
- ACTIONS(643), 2,
- anon_sym_EQ_EQ,
- anon_sym_BANG_EQ,
- ACTIONS(645), 2,
- anon_sym_GT_EQ,
- anon_sym_LT_EQ,
- [17334] = 16,
+ ACTIONS(1119), 1,
+ anon_sym_RBRACE,
+ ACTIONS(1117), 9,
+ sym_identifier,
+ anon_sym_inflight,
+ sym_reassignable,
+ sym_static,
+ anon_sym_init,
+ sym_async_modifier,
+ anon_sym_public,
+ anon_sym_private,
+ anon_sym_protected,
+ [19190] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
- anon_sym_LPAREN,
- ACTIONS(635), 1,
- anon_sym_STAR_STAR,
- ACTIONS(637), 1,
- anon_sym_QMARK_QMARK,
- ACTIONS(641), 1,
- anon_sym_AMP_AMP,
- ACTIONS(729), 1,
- anon_sym_PIPE_PIPE,
- ACTIONS(731), 1,
- anon_sym_LBRACK,
- ACTIONS(892), 1,
- anon_sym_SEMI,
- STATE(159), 1,
- sym_argument_list,
- ACTIONS(547), 2,
- anon_sym_DOT,
- anon_sym_QMARK_DOT,
- ACTIONS(629), 2,
- anon_sym_DASH,
- anon_sym_PLUS,
- ACTIONS(631), 2,
- anon_sym_STAR,
- anon_sym_SLASH,
- ACTIONS(633), 2,
- anon_sym_BSLASH,
- anon_sym_PERCENT,
- ACTIONS(639), 2,
- anon_sym_LT,
- anon_sym_GT,
- ACTIONS(643), 2,
- anon_sym_EQ_EQ,
- anon_sym_BANG_EQ,
- ACTIONS(645), 2,
- anon_sym_GT_EQ,
- anon_sym_LT_EQ,
- [17390] = 16,
+ ACTIONS(1123), 1,
+ anon_sym_RBRACE,
+ ACTIONS(1121), 9,
+ sym_identifier,
+ anon_sym_inflight,
+ sym_reassignable,
+ sym_static,
+ anon_sym_init,
+ sym_async_modifier,
+ anon_sym_public,
+ anon_sym_private,
+ anon_sym_protected,
+ [19208] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
- anon_sym_LPAREN,
- ACTIONS(635), 1,
- anon_sym_STAR_STAR,
- ACTIONS(637), 1,
- anon_sym_QMARK_QMARK,
- ACTIONS(641), 1,
- anon_sym_AMP_AMP,
- ACTIONS(729), 1,
- anon_sym_PIPE_PIPE,
- ACTIONS(731), 1,
- anon_sym_LBRACK,
- ACTIONS(894), 1,
+ ACTIONS(1127), 1,
anon_sym_RBRACE,
- STATE(159), 1,
- sym_argument_list,
- ACTIONS(547), 2,
- anon_sym_DOT,
- anon_sym_QMARK_DOT,
- ACTIONS(629), 2,
- anon_sym_DASH,
- anon_sym_PLUS,
- ACTIONS(631), 2,
- anon_sym_STAR,
- anon_sym_SLASH,
- ACTIONS(633), 2,
- anon_sym_BSLASH,
- anon_sym_PERCENT,
- ACTIONS(639), 2,
- anon_sym_LT,
- anon_sym_GT,
- ACTIONS(643), 2,
- anon_sym_EQ_EQ,
- anon_sym_BANG_EQ,
- ACTIONS(645), 2,
- anon_sym_GT_EQ,
- anon_sym_LT_EQ,
- [17446] = 16,
+ ACTIONS(1125), 9,
+ sym_identifier,
+ anon_sym_inflight,
+ sym_reassignable,
+ sym_static,
+ anon_sym_init,
+ sym_async_modifier,
+ anon_sym_public,
+ anon_sym_private,
+ anon_sym_protected,
+ [19226] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
- anon_sym_LPAREN,
- ACTIONS(635), 1,
- anon_sym_STAR_STAR,
- ACTIONS(637), 1,
- anon_sym_QMARK_QMARK,
- ACTIONS(641), 1,
- anon_sym_AMP_AMP,
- ACTIONS(729), 1,
- anon_sym_PIPE_PIPE,
- ACTIONS(731), 1,
- anon_sym_LBRACK,
- ACTIONS(896), 1,
- anon_sym_SEMI,
- STATE(159), 1,
- sym_argument_list,
- ACTIONS(547), 2,
- anon_sym_DOT,
- anon_sym_QMARK_DOT,
- ACTIONS(629), 2,
- anon_sym_DASH,
- anon_sym_PLUS,
- ACTIONS(631), 2,
- anon_sym_STAR,
- anon_sym_SLASH,
- ACTIONS(633), 2,
- anon_sym_BSLASH,
- anon_sym_PERCENT,
- ACTIONS(639), 2,
- anon_sym_LT,
- anon_sym_GT,
- ACTIONS(643), 2,
- anon_sym_EQ_EQ,
- anon_sym_BANG_EQ,
- ACTIONS(645), 2,
- anon_sym_GT_EQ,
- anon_sym_LT_EQ,
- [17502] = 4,
+ ACTIONS(1131), 1,
+ anon_sym_RBRACE,
+ ACTIONS(1129), 9,
+ sym_identifier,
+ anon_sym_inflight,
+ sym_reassignable,
+ sym_static,
+ anon_sym_init,
+ sym_async_modifier,
+ anon_sym_public,
+ anon_sym_private,
+ anon_sym_protected,
+ [19244] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(898), 1,
- anon_sym_in,
- ACTIONS(555), 4,
- anon_sym_LT,
- anon_sym_GT,
- anon_sym_STAR,
- anon_sym_SLASH,
- ACTIONS(553), 16,
- anon_sym_DOT,
- anon_sym_QMARK_DOT,
- anon_sym_LPAREN,
- anon_sym_DASH,
- anon_sym_PLUS,
- anon_sym_BSLASH,
- anon_sym_PERCENT,
- anon_sym_STAR_STAR,
- anon_sym_PIPE_PIPE,
- anon_sym_AMP_AMP,
- anon_sym_EQ_EQ,
- anon_sym_BANG_EQ,
- anon_sym_GT_EQ,
- anon_sym_LT_EQ,
- anon_sym_QMARK_QMARK,
- anon_sym_LBRACK,
- [17533] = 15,
+ ACTIONS(1135), 1,
+ anon_sym_RBRACE,
+ ACTIONS(1133), 9,
+ sym_identifier,
+ anon_sym_inflight,
+ sym_reassignable,
+ sym_static,
+ anon_sym_init,
+ sym_async_modifier,
+ anon_sym_public,
+ anon_sym_private,
+ anon_sym_protected,
+ [19262] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
- anon_sym_LPAREN,
- ACTIONS(635), 1,
- anon_sym_STAR_STAR,
- ACTIONS(637), 1,
- anon_sym_QMARK_QMARK,
- ACTIONS(641), 1,
- anon_sym_AMP_AMP,
- ACTIONS(729), 1,
- anon_sym_PIPE_PIPE,
- ACTIONS(731), 1,
- anon_sym_LBRACK,
- STATE(159), 1,
- sym_argument_list,
- ACTIONS(547), 2,
- anon_sym_DOT,
- anon_sym_QMARK_DOT,
- ACTIONS(629), 2,
- anon_sym_DASH,
- anon_sym_PLUS,
- ACTIONS(631), 2,
- anon_sym_STAR,
- anon_sym_SLASH,
- ACTIONS(633), 2,
- anon_sym_BSLASH,
- anon_sym_PERCENT,
- ACTIONS(639), 2,
- anon_sym_LT,
- anon_sym_GT,
- ACTIONS(643), 2,
- anon_sym_EQ_EQ,
- anon_sym_BANG_EQ,
- ACTIONS(645), 2,
- anon_sym_GT_EQ,
- anon_sym_LT_EQ,
- [17586] = 12,
+ ACTIONS(1139), 1,
+ anon_sym_RBRACE,
+ ACTIONS(1137), 9,
+ sym_identifier,
+ anon_sym_inflight,
+ sym_reassignable,
+ sym_static,
+ anon_sym_init,
+ sym_async_modifier,
+ anon_sym_public,
+ anon_sym_private,
+ anon_sym_protected,
+ [19280] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(900), 1,
+ ACTIONS(1143), 1,
+ anon_sym_RBRACE,
+ ACTIONS(1141), 9,
sym_identifier,
- ACTIONS(902), 1,
+ anon_sym_inflight,
+ sym_reassignable,
+ sym_static,
+ anon_sym_init,
+ sym_async_modifier,
+ anon_sym_public,
+ anon_sym_private,
+ anon_sym_protected,
+ [19298] = 3,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1147), 1,
anon_sym_RBRACE,
- ACTIONS(904), 1,
+ ACTIONS(1145), 9,
+ sym_identifier,
anon_sym_inflight,
- ACTIONS(906), 1,
sym_reassignable,
- ACTIONS(908), 1,
sym_static,
- ACTIONS(910), 1,
anon_sym_init,
- ACTIONS(912), 1,
sym_async_modifier,
- STATE(369), 1,
- sym_access_modifier,
- STATE(532), 1,
- sym__inflight_specifier,
- ACTIONS(914), 3,
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- STATE(287), 5,
- sym_class_field,
- sym_constructor,
- sym_method_definition,
- sym_inflight_method_definition,
- aux_sym_class_implementation_repeat1,
- [17629] = 12,
+ [19316] = 3,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1151), 1,
+ anon_sym_RBRACE,
+ ACTIONS(1149), 9,
+ sym_identifier,
+ anon_sym_inflight,
+ sym_reassignable,
+ sym_static,
+ anon_sym_init,
+ sym_async_modifier,
+ anon_sym_public,
+ anon_sym_private,
+ anon_sym_protected,
+ [19334] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(900), 1,
+ ACTIONS(1155), 1,
+ anon_sym_RBRACE,
+ ACTIONS(1153), 9,
sym_identifier,
- ACTIONS(904), 1,
anon_sym_inflight,
- ACTIONS(906), 1,
sym_reassignable,
- ACTIONS(908), 1,
sym_static,
- ACTIONS(910), 1,
anon_sym_init,
- ACTIONS(912), 1,
sym_async_modifier,
- ACTIONS(916), 1,
- anon_sym_RBRACE,
- STATE(369), 1,
- sym_access_modifier,
- STATE(532), 1,
- sym__inflight_specifier,
- ACTIONS(914), 3,
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- STATE(286), 5,
- sym_class_field,
- sym_constructor,
- sym_method_definition,
- sym_inflight_method_definition,
- aux_sym_class_implementation_repeat1,
- [17672] = 12,
+ [19352] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(900), 1,
+ ACTIONS(1159), 1,
+ anon_sym_RBRACE,
+ ACTIONS(1157), 9,
sym_identifier,
- ACTIONS(904), 1,
anon_sym_inflight,
- ACTIONS(906), 1,
sym_reassignable,
- ACTIONS(908), 1,
sym_static,
- ACTIONS(910), 1,
anon_sym_init,
- ACTIONS(912), 1,
sym_async_modifier,
- ACTIONS(918), 1,
- anon_sym_RBRACE,
- STATE(369), 1,
- sym_access_modifier,
- STATE(532), 1,
- sym__inflight_specifier,
- ACTIONS(914), 3,
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- STATE(287), 5,
- sym_class_field,
- sym_constructor,
- sym_method_definition,
- sym_inflight_method_definition,
- aux_sym_class_implementation_repeat1,
- [17715] = 12,
+ [19370] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(920), 1,
- sym_identifier,
- ACTIONS(923), 1,
+ ACTIONS(1163), 1,
anon_sym_RBRACE,
- ACTIONS(925), 1,
+ ACTIONS(1161), 9,
+ sym_identifier,
anon_sym_inflight,
- ACTIONS(928), 1,
sym_reassignable,
- ACTIONS(931), 1,
sym_static,
- ACTIONS(934), 1,
anon_sym_init,
- ACTIONS(937), 1,
sym_async_modifier,
- STATE(369), 1,
- sym_access_modifier,
- STATE(532), 1,
- sym__inflight_specifier,
- ACTIONS(940), 3,
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- STATE(287), 5,
- sym_class_field,
- sym_constructor,
- sym_method_definition,
- sym_inflight_method_definition,
- aux_sym_class_implementation_repeat1,
- [17758] = 12,
+ [19388] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(900), 1,
+ ACTIONS(1167), 1,
+ anon_sym_RBRACE,
+ ACTIONS(1165), 9,
sym_identifier,
- ACTIONS(904), 1,
anon_sym_inflight,
- ACTIONS(906), 1,
sym_reassignable,
- ACTIONS(908), 1,
sym_static,
- ACTIONS(910), 1,
anon_sym_init,
- ACTIONS(912), 1,
sym_async_modifier,
- ACTIONS(943), 1,
- anon_sym_RBRACE,
- STATE(369), 1,
- sym_access_modifier,
- STATE(532), 1,
- sym__inflight_specifier,
- ACTIONS(914), 3,
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- STATE(284), 5,
- sym_class_field,
- sym_constructor,
- sym_method_definition,
- sym_inflight_method_definition,
- aux_sym_class_implementation_repeat1,
- [17801] = 5,
- ACTIONS(3), 1,
- sym_comment,
- ACTIONS(947), 1,
- anon_sym_DOT,
- ACTIONS(950), 1,
- anon_sym_EQ,
- STATE(289), 1,
- aux_sym_custom_type_repeat1,
- ACTIONS(945), 8,
- anon_sym_LBRACE,
- anon_sym_SEMI,
- anon_sym_COMMA,
- anon_sym_LPAREN,
- anon_sym_RPAREN,
- anon_sym_QMARK,
- anon_sym_GT,
- anon_sym_EQ_GT,
- [17824] = 5,
- ACTIONS(3), 1,
- sym_comment,
- ACTIONS(954), 1,
- anon_sym_DOT,
- ACTIONS(956), 1,
- anon_sym_EQ,
- STATE(289), 1,
- aux_sym_custom_type_repeat1,
- ACTIONS(952), 8,
- anon_sym_LBRACE,
- anon_sym_SEMI,
- anon_sym_COMMA,
- anon_sym_LPAREN,
- anon_sym_RPAREN,
- anon_sym_QMARK,
- anon_sym_GT,
- anon_sym_EQ_GT,
- [17847] = 5,
- ACTIONS(3), 1,
- sym_comment,
- ACTIONS(954), 1,
- anon_sym_DOT,
- ACTIONS(958), 1,
- anon_sym_EQ,
- STATE(290), 1,
- aux_sym_custom_type_repeat1,
- ACTIONS(466), 8,
- anon_sym_LBRACE,
- anon_sym_SEMI,
- anon_sym_COMMA,
- anon_sym_LPAREN,
- anon_sym_RPAREN,
- anon_sym_QMARK,
- anon_sym_GT,
- anon_sym_EQ_GT,
- [17870] = 3,
+ [19406] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(962), 1,
+ ACTIONS(1171), 1,
anon_sym_RBRACE,
- ACTIONS(960), 9,
+ ACTIONS(1169), 9,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
@@ -20041,12 +21965,12 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [17888] = 3,
+ [19424] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(966), 1,
+ ACTIONS(1175), 1,
anon_sym_RBRACE,
- ACTIONS(964), 9,
+ ACTIONS(1173), 9,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
@@ -20056,27 +21980,12 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [17906] = 3,
- ACTIONS(3), 1,
- sym_comment,
- ACTIONS(970), 1,
- anon_sym_EQ,
- ACTIONS(968), 9,
- anon_sym_LBRACE,
- anon_sym_SEMI,
- anon_sym_COMMA,
- anon_sym_LPAREN,
- anon_sym_RPAREN,
- anon_sym_QMARK,
- anon_sym_GT,
- anon_sym_EQ_GT,
- anon_sym_LBRACK,
- [17924] = 3,
+ [19442] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(974), 1,
+ ACTIONS(1179), 1,
anon_sym_RBRACE,
- ACTIONS(972), 9,
+ ACTIONS(1177), 9,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
@@ -20086,12 +21995,12 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [17942] = 3,
+ [19460] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(978), 1,
+ ACTIONS(1183), 1,
anon_sym_RBRACE,
- ACTIONS(976), 9,
+ ACTIONS(1181), 9,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
@@ -20101,12 +22010,12 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [17960] = 3,
+ [19478] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(982), 1,
+ ACTIONS(1187), 1,
anon_sym_RBRACE,
- ACTIONS(980), 9,
+ ACTIONS(1185), 9,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
@@ -20116,27 +22025,12 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [17978] = 3,
- ACTIONS(3), 1,
- sym_comment,
- ACTIONS(986), 1,
- anon_sym_EQ,
- ACTIONS(984), 9,
- anon_sym_LBRACE,
- anon_sym_SEMI,
- anon_sym_COMMA,
- anon_sym_LPAREN,
- anon_sym_RPAREN,
- anon_sym_QMARK,
- anon_sym_GT,
- anon_sym_EQ_GT,
- anon_sym_LBRACK,
- [17996] = 3,
+ [19496] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(990), 1,
+ ACTIONS(1191), 1,
anon_sym_RBRACE,
- ACTIONS(988), 9,
+ ACTIONS(1189), 9,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
@@ -20146,12 +22040,12 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [18014] = 3,
+ [19514] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(994), 1,
+ ACTIONS(1195), 1,
anon_sym_RBRACE,
- ACTIONS(992), 9,
+ ACTIONS(1193), 9,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
@@ -20161,12 +22055,12 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [18032] = 3,
+ [19532] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(998), 1,
+ ACTIONS(1199), 1,
anon_sym_RBRACE,
- ACTIONS(996), 9,
+ ACTIONS(1197), 9,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
@@ -20176,12 +22070,12 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [18050] = 3,
+ [19550] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1002), 1,
+ ACTIONS(1203), 1,
anon_sym_RBRACE,
- ACTIONS(1000), 9,
+ ACTIONS(1201), 9,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
@@ -20191,12 +22085,12 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [18068] = 3,
+ [19568] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1006), 1,
+ ACTIONS(1207), 1,
anon_sym_RBRACE,
- ACTIONS(1004), 9,
+ ACTIONS(1205), 9,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
@@ -20206,12 +22100,12 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [18086] = 3,
+ [19586] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1010), 1,
+ ACTIONS(1211), 1,
anon_sym_RBRACE,
- ACTIONS(1008), 9,
+ ACTIONS(1209), 9,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
@@ -20221,12 +22115,12 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [18104] = 3,
+ [19604] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1014), 1,
+ ACTIONS(1215), 1,
anon_sym_RBRACE,
- ACTIONS(1012), 9,
+ ACTIONS(1213), 9,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
@@ -20236,12 +22130,12 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [18122] = 3,
+ [19622] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1018), 1,
+ ACTIONS(1219), 1,
anon_sym_RBRACE,
- ACTIONS(1016), 9,
+ ACTIONS(1217), 9,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
@@ -20251,12 +22145,12 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [18140] = 3,
+ [19640] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1022), 1,
+ ACTIONS(1223), 1,
anon_sym_RBRACE,
- ACTIONS(1020), 9,
+ ACTIONS(1221), 9,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
@@ -20266,12 +22160,12 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [18158] = 3,
+ [19658] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1026), 1,
+ ACTIONS(1227), 1,
anon_sym_RBRACE,
- ACTIONS(1024), 9,
+ ACTIONS(1225), 9,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
@@ -20281,12 +22175,12 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [18176] = 3,
+ [19676] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1030), 1,
+ ACTIONS(1231), 1,
anon_sym_RBRACE,
- ACTIONS(1028), 9,
+ ACTIONS(1229), 9,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
@@ -20296,12 +22190,12 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [18194] = 3,
+ [19694] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1034), 1,
+ ACTIONS(1235), 1,
anon_sym_RBRACE,
- ACTIONS(1032), 9,
+ ACTIONS(1233), 9,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
@@ -20311,12 +22205,12 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [18212] = 3,
+ [19712] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1038), 1,
+ ACTIONS(1239), 1,
anon_sym_RBRACE,
- ACTIONS(1036), 9,
+ ACTIONS(1237), 9,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
@@ -20326,12 +22220,12 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [18230] = 3,
+ [19730] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1042), 1,
+ ACTIONS(1243), 1,
anon_sym_RBRACE,
- ACTIONS(1040), 9,
+ ACTIONS(1241), 9,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
@@ -20341,12 +22235,12 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [18248] = 3,
+ [19748] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1046), 1,
+ ACTIONS(1247), 1,
anon_sym_RBRACE,
- ACTIONS(1044), 9,
+ ACTIONS(1245), 9,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
@@ -20356,12 +22250,12 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [18266] = 3,
+ [19766] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1050), 1,
+ ACTIONS(1251), 1,
anon_sym_RBRACE,
- ACTIONS(1048), 9,
+ ACTIONS(1249), 9,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
@@ -20371,12 +22265,12 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [18284] = 3,
+ [19784] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1054), 1,
+ ACTIONS(1255), 1,
anon_sym_RBRACE,
- ACTIONS(1052), 9,
+ ACTIONS(1253), 9,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
@@ -20386,27 +22280,12 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [18302] = 3,
- ACTIONS(3), 1,
- sym_comment,
- ACTIONS(1058), 1,
- anon_sym_EQ,
- ACTIONS(1056), 9,
- anon_sym_LBRACE,
- anon_sym_DOT,
- anon_sym_SEMI,
- anon_sym_COMMA,
- anon_sym_LPAREN,
- anon_sym_RPAREN,
- anon_sym_QMARK,
- anon_sym_GT,
- anon_sym_EQ_GT,
- [18320] = 3,
+ [19802] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1062), 1,
+ ACTIONS(1259), 1,
anon_sym_RBRACE,
- ACTIONS(1060), 9,
+ ACTIONS(1257), 9,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
@@ -20416,12 +22295,12 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [18338] = 3,
+ [19820] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1066), 1,
+ ACTIONS(1263), 1,
anon_sym_RBRACE,
- ACTIONS(1064), 9,
+ ACTIONS(1261), 9,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
@@ -20431,12 +22310,27 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [18356] = 3,
+ [19838] = 3,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1267), 1,
+ anon_sym_EQ,
+ ACTIONS(1265), 9,
+ anon_sym_LBRACE,
+ anon_sym_SEMI,
+ anon_sym_COMMA,
+ anon_sym_LPAREN,
+ anon_sym_RPAREN,
+ anon_sym_QMARK,
+ anon_sym_GT,
+ anon_sym_EQ_GT,
+ anon_sym_LBRACK,
+ [19856] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1070), 1,
+ ACTIONS(1271), 1,
anon_sym_RBRACE,
- ACTIONS(1068), 9,
+ ACTIONS(1269), 9,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
@@ -20446,12 +22340,12 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [18374] = 3,
+ [19874] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1074), 1,
+ ACTIONS(1275), 1,
anon_sym_RBRACE,
- ACTIONS(1072), 9,
+ ACTIONS(1273), 9,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
@@ -20461,12 +22355,12 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [18392] = 3,
+ [19892] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1078), 1,
+ ACTIONS(1279), 1,
anon_sym_RBRACE,
- ACTIONS(1076), 9,
+ ACTIONS(1277), 9,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
@@ -20476,12 +22370,27 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [18410] = 3,
+ [19910] = 3,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1283), 1,
+ anon_sym_EQ,
+ ACTIONS(1281), 9,
+ anon_sym_LBRACE,
+ anon_sym_SEMI,
+ anon_sym_COMMA,
+ anon_sym_LPAREN,
+ anon_sym_RPAREN,
+ anon_sym_QMARK,
+ anon_sym_GT,
+ anon_sym_EQ_GT,
+ anon_sym_LBRACK,
+ [19928] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1082), 1,
+ ACTIONS(1287), 1,
anon_sym_RBRACE,
- ACTIONS(1080), 9,
+ ACTIONS(1285), 9,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
@@ -20491,12 +22400,12 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [18428] = 3,
+ [19946] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1086), 1,
+ ACTIONS(1291), 1,
anon_sym_RBRACE,
- ACTIONS(1084), 9,
+ ACTIONS(1289), 9,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
@@ -20506,12 +22415,12 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [18446] = 3,
+ [19964] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1090), 1,
+ ACTIONS(1295), 1,
anon_sym_RBRACE,
- ACTIONS(1088), 9,
+ ACTIONS(1293), 9,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
@@ -20521,12 +22430,12 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [18464] = 3,
+ [19982] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1094), 1,
+ ACTIONS(1299), 1,
anon_sym_RBRACE,
- ACTIONS(1092), 9,
+ ACTIONS(1297), 9,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
@@ -20536,12 +22445,12 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [18482] = 3,
+ [20000] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1098), 1,
+ ACTIONS(1303), 1,
anon_sym_RBRACE,
- ACTIONS(1096), 9,
+ ACTIONS(1301), 9,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
@@ -20551,12 +22460,12 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [18500] = 3,
+ [20018] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1102), 1,
+ ACTIONS(1307), 1,
anon_sym_RBRACE,
- ACTIONS(1100), 9,
+ ACTIONS(1305), 9,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
@@ -20566,458 +22475,462 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [18518] = 3,
+ [20036] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1106), 1,
+ ACTIONS(1311), 1,
anon_sym_RBRACE,
- ACTIONS(1104), 9,
+ ACTIONS(1309), 8,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
sym_static,
- anon_sym_init,
sym_async_modifier,
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [18536] = 3,
+ [20053] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1110), 1,
+ ACTIONS(1315), 1,
anon_sym_RBRACE,
- ACTIONS(1108), 9,
+ ACTIONS(1313), 8,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
sym_static,
- anon_sym_init,
sym_async_modifier,
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [18554] = 3,
+ [20070] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1114), 1,
+ ACTIONS(1319), 1,
anon_sym_RBRACE,
- ACTIONS(1112), 9,
+ ACTIONS(1317), 8,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
sym_static,
- anon_sym_init,
sym_async_modifier,
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [18572] = 3,
+ [20087] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1118), 1,
+ ACTIONS(1323), 1,
anon_sym_RBRACE,
- ACTIONS(1116), 9,
+ ACTIONS(1321), 8,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
sym_static,
- anon_sym_init,
sym_async_modifier,
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [18590] = 3,
+ [20104] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1122), 1,
+ ACTIONS(1327), 1,
anon_sym_RBRACE,
- ACTIONS(1120), 9,
+ ACTIONS(1325), 8,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
sym_static,
- anon_sym_init,
sym_async_modifier,
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [18608] = 3,
+ [20121] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1126), 1,
+ ACTIONS(1331), 1,
anon_sym_RBRACE,
- ACTIONS(1124), 9,
+ ACTIONS(1329), 8,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
sym_static,
- anon_sym_init,
sym_async_modifier,
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [18626] = 3,
+ [20138] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1130), 1,
+ ACTIONS(1335), 1,
anon_sym_RBRACE,
- ACTIONS(1128), 9,
+ ACTIONS(1333), 8,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
sym_static,
- anon_sym_init,
sym_async_modifier,
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [18644] = 3,
+ [20155] = 4,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1339), 1,
+ anon_sym_EQ,
+ ACTIONS(1341), 1,
+ anon_sym_COLON,
+ ACTIONS(1337), 7,
+ anon_sym_LBRACE,
+ anon_sym_SEMI,
+ anon_sym_COMMA,
+ anon_sym_RPAREN,
+ anon_sym_QMARK,
+ anon_sym_GT,
+ anon_sym_EQ_GT,
+ [20174] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1134), 1,
+ ACTIONS(1345), 1,
anon_sym_RBRACE,
- ACTIONS(1132), 9,
+ ACTIONS(1343), 8,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
sym_static,
- anon_sym_init,
sym_async_modifier,
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [18662] = 3,
+ [20191] = 3,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1349), 1,
+ anon_sym_EQ,
+ ACTIONS(1347), 8,
+ anon_sym_LBRACE,
+ anon_sym_SEMI,
+ anon_sym_COMMA,
+ anon_sym_COLON,
+ anon_sym_RPAREN,
+ anon_sym_QMARK,
+ anon_sym_GT,
+ anon_sym_EQ_GT,
+ [20208] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1138), 1,
+ ACTIONS(1353), 1,
anon_sym_RBRACE,
- ACTIONS(1136), 9,
+ ACTIONS(1351), 8,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
sym_static,
- anon_sym_init,
sym_async_modifier,
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [18680] = 3,
+ [20225] = 3,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1357), 1,
+ anon_sym_EQ,
+ ACTIONS(1355), 8,
+ anon_sym_LBRACE,
+ anon_sym_SEMI,
+ anon_sym_COMMA,
+ anon_sym_COLON,
+ anon_sym_RPAREN,
+ anon_sym_QMARK,
+ anon_sym_GT,
+ anon_sym_EQ_GT,
+ [20242] = 3,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1361), 1,
+ anon_sym_EQ,
+ ACTIONS(1359), 8,
+ anon_sym_LBRACE,
+ anon_sym_SEMI,
+ anon_sym_COMMA,
+ anon_sym_COLON,
+ anon_sym_RPAREN,
+ anon_sym_QMARK,
+ anon_sym_GT,
+ anon_sym_EQ_GT,
+ [20259] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1142), 1,
+ ACTIONS(1365), 1,
anon_sym_RBRACE,
- ACTIONS(1140), 9,
+ ACTIONS(1363), 8,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
sym_static,
- anon_sym_init,
sym_async_modifier,
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [18698] = 3,
+ [20276] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1146), 1,
+ ACTIONS(1369), 1,
anon_sym_RBRACE,
- ACTIONS(1144), 9,
+ ACTIONS(1367), 8,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
sym_static,
- anon_sym_init,
sym_async_modifier,
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [18716] = 3,
+ [20293] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1150), 1,
+ ACTIONS(1373), 1,
anon_sym_RBRACE,
- ACTIONS(1148), 9,
+ ACTIONS(1371), 8,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
sym_static,
- anon_sym_init,
sym_async_modifier,
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [18734] = 3,
+ [20310] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1154), 1,
+ ACTIONS(1377), 1,
anon_sym_RBRACE,
- ACTIONS(1152), 9,
+ ACTIONS(1375), 8,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
sym_static,
- anon_sym_init,
sym_async_modifier,
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [18752] = 3,
+ [20327] = 3,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1381), 1,
+ anon_sym_EQ,
+ ACTIONS(1379), 8,
+ anon_sym_LBRACE,
+ anon_sym_SEMI,
+ anon_sym_COMMA,
+ anon_sym_RPAREN,
+ anon_sym_QMARK,
+ anon_sym_GT,
+ anon_sym_EQ_GT,
+ anon_sym_LBRACK,
+ [20344] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1158), 1,
+ ACTIONS(1385), 1,
anon_sym_RBRACE,
- ACTIONS(1156), 9,
+ ACTIONS(1383), 8,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
sym_static,
- anon_sym_init,
sym_async_modifier,
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [18770] = 3,
+ [20361] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1162), 1,
+ ACTIONS(1389), 1,
anon_sym_RBRACE,
- ACTIONS(1160), 9,
+ ACTIONS(1387), 8,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
sym_static,
- anon_sym_init,
sym_async_modifier,
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [18788] = 3,
+ [20378] = 4,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1393), 1,
+ anon_sym_EQ,
+ ACTIONS(1395), 1,
+ anon_sym_COLON,
+ ACTIONS(1391), 7,
+ anon_sym_LBRACE,
+ anon_sym_SEMI,
+ anon_sym_COMMA,
+ anon_sym_RPAREN,
+ anon_sym_QMARK,
+ anon_sym_GT,
+ anon_sym_EQ_GT,
+ [20397] = 3,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1399), 1,
+ anon_sym_EQ,
+ ACTIONS(1397), 8,
+ anon_sym_LBRACE,
+ anon_sym_SEMI,
+ anon_sym_COMMA,
+ anon_sym_COLON,
+ anon_sym_RPAREN,
+ anon_sym_QMARK,
+ anon_sym_GT,
+ anon_sym_EQ_GT,
+ [20414] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1166), 1,
+ ACTIONS(1403), 1,
anon_sym_RBRACE,
- ACTIONS(1164), 9,
+ ACTIONS(1401), 8,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
sym_static,
- anon_sym_init,
sym_async_modifier,
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [18806] = 3,
+ [20431] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1170), 1,
+ ACTIONS(1407), 1,
anon_sym_RBRACE,
- ACTIONS(1168), 9,
+ ACTIONS(1405), 8,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
sym_static,
- anon_sym_init,
sym_async_modifier,
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [18824] = 3,
+ [20448] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1174), 1,
+ ACTIONS(1411), 1,
anon_sym_RBRACE,
- ACTIONS(1172), 9,
+ ACTIONS(1409), 8,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
sym_static,
- anon_sym_init,
sym_async_modifier,
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [18842] = 3,
+ [20465] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1178), 1,
+ ACTIONS(1415), 1,
anon_sym_RBRACE,
- ACTIONS(1176), 9,
+ ACTIONS(1413), 8,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
sym_static,
- anon_sym_init,
sym_async_modifier,
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [18860] = 3,
+ [20482] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1182), 1,
+ ACTIONS(1419), 1,
anon_sym_RBRACE,
- ACTIONS(1180), 9,
+ ACTIONS(1417), 8,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
sym_static,
- anon_sym_init,
sym_async_modifier,
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [18878] = 3,
+ [20499] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1186), 1,
+ ACTIONS(1423), 1,
anon_sym_RBRACE,
- ACTIONS(1184), 9,
+ ACTIONS(1421), 8,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
sym_static,
- anon_sym_init,
sym_async_modifier,
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [18896] = 3,
+ [20516] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1190), 1,
+ ACTIONS(1427), 1,
anon_sym_RBRACE,
- ACTIONS(1188), 9,
+ ACTIONS(1425), 8,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
sym_static,
- anon_sym_init,
sym_async_modifier,
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [18914] = 3,
+ [20533] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1194), 1,
+ ACTIONS(1431), 1,
anon_sym_RBRACE,
- ACTIONS(1192), 9,
+ ACTIONS(1429), 8,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
sym_static,
- anon_sym_init,
sym_async_modifier,
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [18932] = 3,
+ [20550] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1198), 1,
+ ACTIONS(1435), 1,
anon_sym_RBRACE,
- ACTIONS(1196), 9,
+ ACTIONS(1433), 8,
sym_identifier,
anon_sym_inflight,
sym_reassignable,
sym_static,
- anon_sym_init,
sym_async_modifier,
anon_sym_public,
anon_sym_private,
anon_sym_protected,
- [18950] = 4,
- ACTIONS(3), 1,
- sym_comment,
- ACTIONS(1202), 1,
- anon_sym_EQ,
- ACTIONS(1204), 1,
- anon_sym_COLON,
- ACTIONS(1200), 7,
- anon_sym_LBRACE,
- anon_sym_SEMI,
- anon_sym_COMMA,
- anon_sym_RPAREN,
- anon_sym_QMARK,
- anon_sym_GT,
- anon_sym_EQ_GT,
- [18969] = 3,
- ACTIONS(3), 1,
- sym_comment,
- ACTIONS(1208), 1,
- anon_sym_EQ,
- ACTIONS(1206), 8,
- anon_sym_LBRACE,
- anon_sym_SEMI,
- anon_sym_COMMA,
- anon_sym_COLON,
- anon_sym_RPAREN,
- anon_sym_QMARK,
- anon_sym_GT,
- anon_sym_EQ_GT,
- [18986] = 3,
- ACTIONS(3), 1,
- sym_comment,
- ACTIONS(1212), 1,
- anon_sym_EQ,
- ACTIONS(1210), 8,
- anon_sym_LBRACE,
- anon_sym_SEMI,
- anon_sym_COMMA,
- anon_sym_COLON,
- anon_sym_RPAREN,
- anon_sym_QMARK,
- anon_sym_GT,
- anon_sym_EQ_GT,
- [19003] = 3,
- ACTIONS(3), 1,
- sym_comment,
- ACTIONS(1216), 1,
- anon_sym_EQ,
- ACTIONS(1214), 8,
- anon_sym_LBRACE,
- anon_sym_SEMI,
- anon_sym_COMMA,
- anon_sym_COLON,
- anon_sym_RPAREN,
- anon_sym_QMARK,
- anon_sym_GT,
- anon_sym_EQ_GT,
- [19020] = 4,
+ [20567] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1220), 1,
+ ACTIONS(1439), 1,
anon_sym_EQ,
- ACTIONS(1222), 1,
- anon_sym_COLON,
- ACTIONS(1218), 7,
- anon_sym_LBRACE,
- anon_sym_SEMI,
- anon_sym_COMMA,
- anon_sym_RPAREN,
+ ACTIONS(1441), 1,
anon_sym_QMARK,
- anon_sym_GT,
- anon_sym_EQ_GT,
- [19039] = 3,
- ACTIONS(3), 1,
- sym_comment,
- ACTIONS(1226), 1,
- anon_sym_EQ,
- ACTIONS(1224), 8,
+ ACTIONS(1437), 6,
anon_sym_LBRACE,
anon_sym_SEMI,
anon_sym_COMMA,
- anon_sym_COLON,
anon_sym_RPAREN,
- anon_sym_QMARK,
anon_sym_GT,
anon_sym_EQ_GT,
- [19056] = 3,
+ [20585] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1230), 1,
+ ACTIONS(1445), 1,
anon_sym_EQ,
- ACTIONS(1228), 8,
+ ACTIONS(1443), 7,
anon_sym_LBRACE,
anon_sym_SEMI,
anon_sym_COMMA,
@@ -21025,13 +22938,12 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK,
anon_sym_GT,
anon_sym_EQ_GT,
- anon_sym_LBRACK,
- [19073] = 3,
+ [20601] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1234), 1,
+ ACTIONS(1449), 1,
anon_sym_EQ,
- ACTIONS(1232), 7,
+ ACTIONS(1447), 7,
anon_sym_LBRACE,
anon_sym_SEMI,
anon_sym_COMMA,
@@ -21039,2048 +22951,2697 @@ static const uint16_t ts_small_parse_table[] = {
anon_sym_QMARK,
anon_sym_GT,
anon_sym_EQ_GT,
- [19089] = 4,
+ [20617] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1238), 1,
- anon_sym_EQ,
- ACTIONS(1240), 1,
+ ACTIONS(1441), 1,
anon_sym_QMARK,
- ACTIONS(1236), 6,
- anon_sym_LBRACE,
- anon_sym_SEMI,
- anon_sym_COMMA,
- anon_sym_RPAREN,
- anon_sym_GT,
- anon_sym_EQ_GT,
- [19107] = 3,
- ACTIONS(3), 1,
- sym_comment,
- ACTIONS(1244), 1,
+ ACTIONS(1453), 1,
anon_sym_EQ,
- ACTIONS(1242), 7,
+ ACTIONS(1451), 6,
anon_sym_LBRACE,
anon_sym_SEMI,
anon_sym_COMMA,
anon_sym_RPAREN,
- anon_sym_QMARK,
anon_sym_GT,
anon_sym_EQ_GT,
- [19123] = 4,
+ [20635] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1240), 1,
+ ACTIONS(1441), 1,
anon_sym_QMARK,
- ACTIONS(1248), 1,
+ ACTIONS(1457), 1,
anon_sym_EQ,
- ACTIONS(1246), 6,
+ ACTIONS(1455), 5,
anon_sym_LBRACE,
anon_sym_SEMI,
anon_sym_COMMA,
anon_sym_RPAREN,
- anon_sym_GT,
anon_sym_EQ_GT,
- [19141] = 4,
- ACTIONS(3), 1,
+ [20652] = 5,
+ ACTIONS(1459), 1,
sym_comment,
- ACTIONS(1240), 1,
- anon_sym_QMARK,
- ACTIONS(1252), 1,
- anon_sym_EQ,
- ACTIONS(1250), 5,
- anon_sym_LBRACE,
- anon_sym_SEMI,
- anon_sym_COMMA,
- anon_sym_RPAREN,
- anon_sym_EQ_GT,
- [19158] = 4,
+ ACTIONS(1461), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(1463), 1,
+ anon_sym_DOLLAR_LBRACE,
+ ACTIONS(1465), 2,
+ sym__string_fragment,
+ sym__escape_sequence,
+ STATE(415), 2,
+ sym_template_substitution,
+ aux_sym_string_repeat1,
+ [20670] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(442), 1,
+ ACTIONS(519), 1,
sym_identifier,
- STATE(495), 2,
+ STATE(576), 2,
sym_custom_type,
sym_mutable_container_type,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- [19174] = 5,
- ACTIONS(1254), 1,
+ [20686] = 7,
+ ACTIONS(3), 1,
sym_comment,
- ACTIONS(1256), 1,
- anon_sym_DQUOTE,
- ACTIONS(1258), 1,
+ ACTIONS(1467), 1,
+ sym_identifier,
+ ACTIONS(1469), 1,
+ anon_sym_inflight,
+ ACTIONS(1471), 1,
+ sym_reassignable,
+ ACTIONS(1473), 1,
+ sym_static,
+ ACTIONS(1475), 1,
+ sym_async_modifier,
+ STATE(575), 1,
+ sym__inflight_specifier,
+ [20708] = 5,
+ ACTIONS(1459), 1,
+ sym_comment,
+ ACTIONS(1463), 1,
anon_sym_DOLLAR_LBRACE,
- ACTIONS(1260), 2,
+ ACTIONS(1477), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(1479), 2,
sym__string_fragment,
sym__escape_sequence,
- STATE(367), 2,
+ STATE(409), 2,
sym_template_substitution,
aux_sym_string_repeat1,
- [19192] = 4,
+ [20726] = 7,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1471), 1,
+ sym_reassignable,
+ ACTIONS(1481), 1,
+ sym_identifier,
+ ACTIONS(1483), 1,
+ anon_sym_inflight,
+ ACTIONS(1485), 1,
+ sym_static,
+ ACTIONS(1487), 1,
+ sym_async_modifier,
+ STATE(651), 1,
+ sym__inflight_specifier,
+ [20748] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(442), 1,
+ ACTIONS(519), 1,
sym_identifier,
- STATE(560), 2,
+ STATE(630), 2,
sym_custom_type,
sym_mutable_container_type,
- ACTIONS(53), 3,
+ ACTIONS(55), 3,
anon_sym_MutSet,
anon_sym_MutMap,
anon_sym_MutArray,
- [19208] = 5,
- ACTIONS(1254), 1,
+ [20764] = 5,
+ ACTIONS(1459), 1,
sym_comment,
- ACTIONS(1258), 1,
- anon_sym_DOLLAR_LBRACE,
- ACTIONS(1262), 1,
+ ACTIONS(1489), 1,
anon_sym_DQUOTE,
- ACTIONS(1264), 2,
+ ACTIONS(1491), 1,
+ anon_sym_DOLLAR_LBRACE,
+ ACTIONS(1494), 2,
sym__string_fragment,
sym__escape_sequence,
- STATE(368), 2,
+ STATE(415), 2,
sym_template_substitution,
aux_sym_string_repeat1,
- [19226] = 5,
- ACTIONS(1254), 1,
+ [20782] = 6,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1497), 1,
+ sym_identifier,
+ ACTIONS(1499), 1,
+ anon_sym_inflight,
+ ACTIONS(1501), 1,
+ sym_reassignable,
+ ACTIONS(1503), 1,
+ sym_async_modifier,
+ STATE(584), 1,
+ sym__inflight_specifier,
+ [20801] = 6,
+ ACTIONS(3), 1,
sym_comment,
- ACTIONS(1266), 1,
+ ACTIONS(47), 1,
anon_sym_DQUOTE,
- ACTIONS(1268), 1,
- anon_sym_DOLLAR_LBRACE,
- ACTIONS(1271), 2,
- sym__string_fragment,
- sym__escape_sequence,
- STATE(368), 2,
- sym_template_substitution,
- aux_sym_string_repeat1,
- [19244] = 7,
+ ACTIONS(1505), 1,
+ sym_identifier,
+ ACTIONS(1507), 1,
+ anon_sym_RBRACE,
+ STATE(505), 1,
+ sym_map_literal_member,
+ STATE(691), 1,
+ sym_string,
+ [20820] = 6,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(47), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(1505), 1,
+ sym_identifier,
+ ACTIONS(1509), 1,
+ anon_sym_RBRACE,
+ STATE(549), 1,
+ sym_map_literal_member,
+ STATE(691), 1,
+ sym_string,
+ [20839] = 6,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1511), 1,
+ sym_identifier,
+ ACTIONS(1513), 1,
+ anon_sym_inflight,
+ ACTIONS(1515), 1,
+ sym_reassignable,
+ ACTIONS(1517), 1,
+ sym_async_modifier,
+ STATE(617), 1,
+ sym__inflight_specifier,
+ [20858] = 6,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(47), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(1505), 1,
+ sym_identifier,
+ ACTIONS(1519), 1,
+ anon_sym_RBRACE,
+ STATE(613), 1,
+ sym_map_literal_member,
+ STATE(691), 1,
+ sym_string,
+ [20877] = 6,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(47), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(1505), 1,
+ sym_identifier,
+ ACTIONS(1521), 1,
+ anon_sym_RBRACE,
+ STATE(613), 1,
+ sym_map_literal_member,
+ STATE(691), 1,
+ sym_string,
+ [20896] = 6,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(47), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(1505), 1,
+ sym_identifier,
+ ACTIONS(1523), 1,
+ anon_sym_RBRACE,
+ STATE(613), 1,
+ sym_map_literal_member,
+ STATE(691), 1,
+ sym_string,
+ [20915] = 2,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1525), 5,
+ sym_identifier,
+ anon_sym_inflight,
+ sym_reassignable,
+ sym_static,
+ sym_async_modifier,
+ [20926] = 6,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(47), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(1505), 1,
+ sym_identifier,
+ ACTIONS(1527), 1,
+ anon_sym_RBRACE,
+ STATE(613), 1,
+ sym_map_literal_member,
+ STATE(691), 1,
+ sym_string,
+ [20945] = 6,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1515), 1,
+ sym_reassignable,
+ ACTIONS(1529), 1,
+ sym_identifier,
+ ACTIONS(1531), 1,
+ anon_sym_inflight,
+ ACTIONS(1533), 1,
+ sym_async_modifier,
+ STATE(628), 1,
+ sym__inflight_specifier,
+ [20964] = 6,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1501), 1,
+ sym_reassignable,
+ ACTIONS(1535), 1,
+ sym_identifier,
+ ACTIONS(1537), 1,
+ anon_sym_inflight,
+ ACTIONS(1539), 1,
+ sym_async_modifier,
+ STATE(637), 1,
+ sym__inflight_specifier,
+ [20983] = 5,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1541), 1,
+ anon_sym_LBRACE,
+ ACTIONS(1543), 1,
+ anon_sym_COMMA,
+ STATE(123), 1,
+ sym_resource_implementation,
+ STATE(569), 1,
+ aux_sym_class_definition_repeat1,
+ [20999] = 5,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1541), 1,
+ anon_sym_LBRACE,
+ ACTIONS(1545), 1,
+ sym_identifier,
+ STATE(123), 1,
+ sym_resource_implementation,
+ STATE(579), 1,
+ sym_custom_type,
+ [21015] = 5,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(858), 1,
+ anon_sym_COLON,
+ ACTIONS(1547), 1,
+ anon_sym_LPAREN,
+ STATE(445), 1,
+ sym_parameter_list,
+ STATE(594), 1,
+ sym__type_annotation,
+ [21031] = 5,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(858), 1,
+ anon_sym_COLON,
+ ACTIONS(1547), 1,
+ anon_sym_LPAREN,
+ STATE(442), 1,
+ sym_parameter_list,
+ STATE(598), 1,
+ sym__type_annotation,
+ [21047] = 5,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1274), 1,
+ ACTIONS(1541), 1,
+ anon_sym_LBRACE,
+ ACTIONS(1545), 1,
sym_identifier,
- ACTIONS(1276), 1,
- anon_sym_inflight,
- ACTIONS(1278), 1,
- sym_reassignable,
- ACTIONS(1280), 1,
- sym_static,
- ACTIONS(1282), 1,
- sym_async_modifier,
- STATE(494), 1,
- sym__inflight_specifier,
- [19266] = 6,
+ STATE(133), 1,
+ sym_resource_implementation,
+ STATE(579), 1,
+ sym_custom_type,
+ [21063] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
- ACTIONS(1284), 1,
- sym_identifier,
- ACTIONS(1286), 1,
+ ACTIONS(1551), 1,
+ anon_sym_COMMA,
+ STATE(432), 1,
+ aux_sym_array_literal_repeat1,
+ ACTIONS(1549), 2,
anon_sym_RBRACE,
- STATE(543), 1,
- sym_map_literal_member,
- STATE(586), 1,
- sym_string,
- [19285] = 6,
+ anon_sym_RBRACK,
+ [21077] = 5,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
- ACTIONS(1284), 1,
+ ACTIONS(1545), 1,
sym_identifier,
- ACTIONS(1288), 1,
- anon_sym_RBRACE,
- STATE(543), 1,
- sym_map_literal_member,
- STATE(586), 1,
- sym_string,
- [19304] = 6,
+ ACTIONS(1554), 1,
+ anon_sym_LBRACE,
+ STATE(134), 1,
+ sym_class_implementation,
+ STATE(579), 1,
+ sym_custom_type,
+ [21093] = 5,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
- ACTIONS(1284), 1,
- sym_identifier,
- ACTIONS(1290), 1,
- anon_sym_RBRACE,
- STATE(543), 1,
- sym_map_literal_member,
- STATE(586), 1,
- sym_string,
- [19323] = 6,
+ ACTIONS(858), 1,
+ anon_sym_COLON,
+ ACTIONS(884), 1,
+ anon_sym_LBRACE,
+ STATE(352), 1,
+ sym_block,
+ STATE(599), 1,
+ sym__type_annotation,
+ [21109] = 5,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
- ACTIONS(1284), 1,
- sym_identifier,
- ACTIONS(1292), 1,
- anon_sym_RBRACE,
- STATE(449), 1,
- sym_map_literal_member,
- STATE(586), 1,
- sym_string,
- [19342] = 6,
+ ACTIONS(858), 1,
+ anon_sym_COLON,
+ ACTIONS(884), 1,
+ anon_sym_LBRACE,
+ STATE(370), 1,
+ sym_block,
+ STATE(658), 1,
+ sym__type_annotation,
+ [21125] = 5,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
- ACTIONS(1284), 1,
- sym_identifier,
- ACTIONS(1294), 1,
- anon_sym_RBRACE,
- STATE(423), 1,
- sym_map_literal_member,
- STATE(586), 1,
- sym_string,
- [19361] = 6,
+ ACTIONS(858), 1,
+ anon_sym_COLON,
+ ACTIONS(884), 1,
+ anon_sym_LBRACE,
+ STATE(333), 1,
+ sym_block,
+ STATE(654), 1,
+ sym__type_annotation,
+ [21141] = 5,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
- ACTIONS(1284), 1,
+ ACTIONS(858), 1,
+ anon_sym_COLON,
+ ACTIONS(1547), 1,
+ anon_sym_LPAREN,
+ STATE(491), 1,
+ sym_parameter_list,
+ STATE(622), 1,
+ sym__type_annotation,
+ [21157] = 4,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1556), 1,
sym_identifier,
- ACTIONS(1296), 1,
+ ACTIONS(1558), 1,
anon_sym_RBRACE,
- STATE(543), 1,
- sym_map_literal_member,
- STATE(586), 1,
- sym_string,
- [19380] = 6,
+ STATE(496), 2,
+ sym_struct_field,
+ aux_sym_struct_definition_repeat2,
+ [21171] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1298), 1,
+ ACTIONS(1556), 1,
sym_identifier,
- ACTIONS(1300), 1,
- anon_sym_inflight,
- ACTIONS(1302), 1,
- sym_reassignable,
- ACTIONS(1304), 1,
- sym_async_modifier,
- STATE(554), 1,
- sym__inflight_specifier,
- [19399] = 6,
+ ACTIONS(1558), 1,
+ anon_sym_RBRACE,
+ STATE(495), 2,
+ sym_struct_field,
+ aux_sym_struct_definition_repeat2,
+ [21185] = 5,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1306), 1,
- sym_identifier,
- ACTIONS(1308), 1,
- anon_sym_inflight,
- ACTIONS(1310), 1,
- sym_reassignable,
- ACTIONS(1312), 1,
- sym_async_modifier,
- STATE(500), 1,
- sym__inflight_specifier,
- [19418] = 2,
+ ACTIONS(858), 1,
+ anon_sym_COLON,
+ ACTIONS(884), 1,
+ anon_sym_LBRACE,
+ STATE(353), 1,
+ sym_block,
+ STATE(629), 1,
+ sym__type_annotation,
+ [21201] = 5,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1314), 5,
- sym_identifier,
- anon_sym_inflight,
- sym_reassignable,
- sym_static,
- sym_async_modifier,
- [19429] = 5,
+ ACTIONS(858), 1,
+ anon_sym_COLON,
+ ACTIONS(1547), 1,
+ anon_sym_LPAREN,
+ STATE(477), 1,
+ sym_parameter_list,
+ STATE(645), 1,
+ sym__type_annotation,
+ [21217] = 5,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(787), 1,
+ ACTIONS(858), 1,
anon_sym_COLON,
- ACTIONS(815), 1,
+ ACTIONS(884), 1,
anon_sym_LBRACE,
- STATE(342), 1,
+ STATE(358), 1,
sym_block,
- STATE(548), 1,
+ STATE(632), 1,
sym__type_annotation,
- [19445] = 5,
+ [21233] = 5,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(787), 1,
+ ACTIONS(858), 1,
anon_sym_COLON,
- ACTIONS(1316), 1,
+ ACTIONS(1547), 1,
anon_sym_LPAREN,
- STATE(415), 1,
+ STATE(554), 1,
sym_parameter_list,
- STATE(490), 1,
+ STATE(594), 1,
sym__type_annotation,
- [19461] = 4,
+ [21249] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1318), 1,
+ ACTIONS(1556), 1,
sym_identifier,
- ACTIONS(1320), 1,
+ ACTIONS(1560), 1,
anon_sym_RBRACE,
- STATE(412), 2,
+ STATE(496), 2,
sym_struct_field,
aux_sym_struct_definition_repeat2,
- [19475] = 5,
+ [21263] = 5,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(787), 1,
+ ACTIONS(858), 1,
anon_sym_COLON,
- ACTIONS(815), 1,
+ ACTIONS(884), 1,
anon_sym_LBRACE,
- STATE(315), 1,
+ STATE(367), 1,
sym_block,
- STATE(501), 1,
+ STATE(670), 1,
+ sym__type_annotation,
+ [21279] = 2,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1562), 4,
+ anon_sym_LBRACE,
+ anon_sym_SEMI,
+ anon_sym_COLON,
+ anon_sym_EQ_GT,
+ [21289] = 5,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(858), 1,
+ anon_sym_COLON,
+ ACTIONS(1547), 1,
+ anon_sym_LPAREN,
+ STATE(486), 1,
+ sym_parameter_list,
+ STATE(676), 1,
+ sym__type_annotation,
+ [21305] = 5,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1554), 1,
+ anon_sym_LBRACE,
+ ACTIONS(1564), 1,
+ anon_sym_COMMA,
+ STATE(145), 1,
+ sym_class_implementation,
+ STATE(455), 1,
+ aux_sym_class_definition_repeat1,
+ [21321] = 5,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1541), 1,
+ anon_sym_LBRACE,
+ ACTIONS(1566), 1,
+ anon_sym_COMMA,
+ STATE(119), 1,
+ sym_resource_implementation,
+ STATE(427), 1,
+ aux_sym_class_definition_repeat1,
+ [21337] = 5,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(858), 1,
+ anon_sym_COLON,
+ ACTIONS(1547), 1,
+ anon_sym_LPAREN,
+ STATE(533), 1,
+ sym_parameter_list,
+ STATE(645), 1,
sym__type_annotation,
- [19491] = 4,
+ [21353] = 5,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1318), 1,
+ ACTIONS(1545), 1,
sym_identifier,
- ACTIONS(1322), 1,
- anon_sym_RBRACE,
- STATE(410), 2,
- sym_struct_field,
- aux_sym_struct_definition_repeat2,
- [19505] = 4,
+ ACTIONS(1554), 1,
+ anon_sym_LBRACE,
+ STATE(125), 1,
+ sym_class_implementation,
+ STATE(579), 1,
+ sym_custom_type,
+ [21369] = 5,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(858), 1,
+ anon_sym_COLON,
+ ACTIONS(1547), 1,
+ anon_sym_LPAREN,
+ STATE(482), 1,
+ sym_parameter_list,
+ STATE(669), 1,
+ sym__type_annotation,
+ [21385] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1318), 1,
+ ACTIONS(1556), 1,
sym_identifier,
- ACTIONS(1322), 1,
+ ACTIONS(1568), 1,
anon_sym_RBRACE,
- STATE(409), 2,
+ STATE(496), 2,
sym_struct_field,
aux_sym_struct_definition_repeat2,
- [19519] = 5,
+ [21399] = 5,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1554), 1,
+ anon_sym_LBRACE,
+ ACTIONS(1570), 1,
+ anon_sym_COMMA,
+ STATE(109), 1,
+ sym_class_implementation,
+ STATE(479), 1,
+ aux_sym_class_definition_repeat1,
+ [21415] = 5,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1554), 1,
+ anon_sym_LBRACE,
+ ACTIONS(1572), 1,
+ anon_sym_COMMA,
+ STATE(125), 1,
+ sym_class_implementation,
+ STATE(569), 1,
+ aux_sym_class_definition_repeat1,
+ [21431] = 5,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1574), 1,
+ anon_sym_LBRACE,
+ ACTIONS(1576), 1,
+ anon_sym_COMMA,
+ STATE(94), 1,
+ sym_interface_implementation,
+ STATE(490), 1,
+ aux_sym_class_definition_repeat1,
+ [21447] = 5,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1545), 1,
+ sym_identifier,
+ ACTIONS(1554), 1,
+ anon_sym_LBRACE,
+ STATE(120), 1,
+ sym_class_implementation,
+ STATE(579), 1,
+ sym_custom_type,
+ [21463] = 5,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(190), 1,
+ sym_reassignable,
+ ACTIONS(1578), 1,
+ sym_identifier,
+ ACTIONS(1580), 1,
+ anon_sym_RPAREN,
+ STATE(643), 1,
+ sym_parameter_definition,
+ [21479] = 5,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1541), 1,
+ anon_sym_LBRACE,
+ ACTIONS(1582), 1,
+ anon_sym_COMMA,
+ STATE(115), 1,
+ sym_resource_implementation,
+ STATE(473), 1,
+ aux_sym_class_definition_repeat1,
+ [21495] = 5,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(787), 1,
+ ACTIONS(858), 1,
anon_sym_COLON,
- ACTIONS(1316), 1,
+ ACTIONS(1547), 1,
anon_sym_LPAREN,
- STATE(404), 1,
+ STATE(434), 1,
sym_parameter_list,
- STATE(507), 1,
+ STATE(614), 1,
sym__type_annotation,
- [19535] = 5,
+ [21511] = 5,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
- ACTIONS(1284), 1,
+ ACTIONS(1541), 1,
+ anon_sym_LBRACE,
+ ACTIONS(1545), 1,
sym_identifier,
- STATE(543), 1,
- sym_map_literal_member,
- STATE(586), 1,
- sym_string,
- [19551] = 4,
+ STATE(141), 1,
+ sym_resource_implementation,
+ STATE(579), 1,
+ sym_custom_type,
+ [21527] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1318), 1,
+ ACTIONS(1556), 1,
sym_identifier,
- ACTIONS(1324), 1,
+ ACTIONS(1560), 1,
anon_sym_RBRACE,
- STATE(383), 2,
+ STATE(465), 2,
sym_struct_field,
aux_sym_struct_definition_repeat2,
- [19565] = 3,
- ACTIONS(1254), 1,
+ [21541] = 3,
+ ACTIONS(1459), 1,
sym_comment,
- ACTIONS(1326), 2,
+ ACTIONS(1584), 2,
anon_sym_DQUOTE,
anon_sym_DOLLAR_LBRACE,
- ACTIONS(1328), 2,
+ ACTIONS(1586), 2,
sym__string_fragment,
sym__escape_sequence,
- [19577] = 5,
+ [21553] = 5,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(185), 1,
- sym_reassignable,
- ACTIONS(1330), 1,
+ ACTIONS(858), 1,
+ anon_sym_COLON,
+ ACTIONS(1547), 1,
+ anon_sym_LPAREN,
+ STATE(555), 1,
+ sym_parameter_list,
+ STATE(604), 1,
+ sym__type_annotation,
+ [21569] = 4,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1556), 1,
sym_identifier,
- ACTIONS(1332), 1,
- anon_sym_RPAREN,
- STATE(521), 1,
- sym_parameter_definition,
- [19593] = 4,
+ ACTIONS(1588), 1,
+ anon_sym_RBRACE,
+ STATE(496), 2,
+ sym_struct_field,
+ aux_sym_struct_definition_repeat2,
+ [21583] = 5,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(858), 1,
+ anon_sym_COLON,
+ ACTIONS(1547), 1,
+ anon_sym_LPAREN,
+ STATE(499), 1,
+ sym_parameter_list,
+ STATE(622), 1,
+ sym__type_annotation,
+ [21599] = 5,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(858), 1,
+ anon_sym_COLON,
+ ACTIONS(1547), 1,
+ anon_sym_LPAREN,
+ STATE(565), 1,
+ sym_parameter_list,
+ STATE(614), 1,
+ sym__type_annotation,
+ [21615] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1318), 1,
+ ACTIONS(1556), 1,
sym_identifier,
- ACTIONS(1334), 1,
+ ACTIONS(1590), 1,
anon_sym_RBRACE,
- STATE(410), 2,
+ STATE(438), 2,
sym_struct_field,
aux_sym_struct_definition_repeat2,
- [19607] = 5,
+ [21629] = 5,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(787), 1,
+ ACTIONS(858), 1,
anon_sym_COLON,
- ACTIONS(815), 1,
- anon_sym_LBRACE,
- STATE(305), 1,
- sym_block,
- STATE(511), 1,
+ ACTIONS(1547), 1,
+ anon_sym_LPAREN,
+ STATE(556), 1,
+ sym_parameter_list,
+ STATE(598), 1,
sym__type_annotation,
- [19623] = 5,
+ [21645] = 5,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(787), 1,
+ ACTIONS(858), 1,
anon_sym_COLON,
- ACTIONS(1316), 1,
+ ACTIONS(1547), 1,
anon_sym_LPAREN,
- STATE(403), 1,
+ STATE(560), 1,
sym_parameter_list,
- STATE(538), 1,
+ STATE(676), 1,
sym__type_annotation,
- [19639] = 5,
+ [21661] = 2,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1592), 4,
+ anon_sym_LBRACE,
+ anon_sym_SEMI,
+ anon_sym_COLON,
+ anon_sym_EQ_GT,
+ [21671] = 2,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1594), 4,
+ anon_sym_LBRACE,
+ anon_sym_SEMI,
+ anon_sym_COLON,
+ anon_sym_EQ_GT,
+ [21681] = 5,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1541), 1,
+ anon_sym_LBRACE,
+ ACTIONS(1596), 1,
+ anon_sym_COMMA,
+ STATE(95), 1,
+ sym_resource_implementation,
+ STATE(569), 1,
+ aux_sym_class_definition_repeat1,
+ [21697] = 5,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(787), 1,
+ ACTIONS(858), 1,
anon_sym_COLON,
- ACTIONS(1316), 1,
+ ACTIONS(1547), 1,
anon_sym_LPAREN,
- STATE(405), 1,
+ STATE(564), 1,
sym_parameter_list,
- STATE(480), 1,
+ STATE(669), 1,
sym__type_annotation,
- [19655] = 5,
+ [21713] = 5,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1541), 1,
+ anon_sym_LBRACE,
+ ACTIONS(1545), 1,
+ sym_identifier,
+ STATE(95), 1,
+ sym_resource_implementation,
+ STATE(579), 1,
+ sym_custom_type,
+ [21729] = 5,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1545), 1,
+ sym_identifier,
+ ACTIONS(1574), 1,
+ anon_sym_LBRACE,
+ STATE(106), 1,
+ sym_interface_implementation,
+ STATE(579), 1,
+ sym_custom_type,
+ [21745] = 5,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(787), 1,
+ ACTIONS(858), 1,
anon_sym_COLON,
- ACTIONS(815), 1,
+ ACTIONS(884), 1,
anon_sym_LBRACE,
- STATE(307), 1,
+ STATE(332), 1,
sym_block,
- STATE(524), 1,
+ STATE(616), 1,
sym__type_annotation,
- [19671] = 5,
+ [21761] = 5,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(190), 1,
+ sym_reassignable,
+ ACTIONS(1578), 1,
+ sym_identifier,
+ ACTIONS(1598), 1,
+ anon_sym_RPAREN,
+ STATE(643), 1,
+ sym_parameter_definition,
+ [21777] = 5,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1554), 1,
+ anon_sym_LBRACE,
+ ACTIONS(1600), 1,
+ anon_sym_COMMA,
+ STATE(129), 1,
+ sym_class_implementation,
+ STATE(569), 1,
+ aux_sym_class_definition_repeat1,
+ [21793] = 5,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1545), 1,
+ sym_identifier,
+ ACTIONS(1554), 1,
+ anon_sym_LBRACE,
+ STATE(129), 1,
+ sym_class_implementation,
+ STATE(579), 1,
+ sym_custom_type,
+ [21809] = 5,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1541), 1,
+ anon_sym_LBRACE,
+ ACTIONS(1602), 1,
+ anon_sym_extends,
+ ACTIONS(1604), 1,
+ anon_sym_impl,
+ STATE(137), 1,
+ sym_resource_implementation,
+ [21825] = 5,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(787), 1,
+ ACTIONS(858), 1,
anon_sym_COLON,
- ACTIONS(815), 1,
+ ACTIONS(884), 1,
anon_sym_LBRACE,
- STATE(320), 1,
+ STATE(340), 1,
sym_block,
- STATE(546), 1,
+ STATE(611), 1,
sym__type_annotation,
- [19687] = 5,
+ [21841] = 5,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(787), 1,
+ ACTIONS(858), 1,
anon_sym_COLON,
- ACTIONS(815), 1,
+ ACTIONS(884), 1,
anon_sym_LBRACE,
- STATE(344), 1,
+ STATE(328), 1,
sym_block,
- STATE(484), 1,
+ STATE(608), 1,
sym__type_annotation,
- [19703] = 5,
+ [21857] = 5,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(787), 1,
+ ACTIONS(858), 1,
anon_sym_COLON,
- ACTIONS(1316), 1,
+ ACTIONS(1547), 1,
anon_sym_LPAREN,
- STATE(391), 1,
+ STATE(435), 1,
sym_parameter_list,
- STATE(486), 1,
+ STATE(604), 1,
sym__type_annotation,
- [19719] = 4,
+ [21873] = 5,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1318), 1,
- sym_identifier,
- ACTIONS(1320), 1,
- anon_sym_RBRACE,
- STATE(410), 2,
- sym_struct_field,
- aux_sym_struct_definition_repeat2,
- [19733] = 5,
+ ACTIONS(1554), 1,
+ anon_sym_LBRACE,
+ ACTIONS(1606), 1,
+ anon_sym_extends,
+ ACTIONS(1608), 1,
+ anon_sym_impl,
+ STATE(136), 1,
+ sym_class_implementation,
+ [21889] = 5,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(787), 1,
+ ACTIONS(858), 1,
anon_sym_COLON,
- ACTIONS(1316), 1,
- anon_sym_LPAREN,
- STATE(396), 1,
- sym_parameter_list,
- STATE(489), 1,
+ ACTIONS(884), 1,
+ anon_sym_LBRACE,
+ STATE(327), 1,
+ sym_block,
+ STATE(601), 1,
sym__type_annotation,
- [19749] = 5,
+ [21905] = 2,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(787), 1,
+ ACTIONS(1610), 4,
+ anon_sym_LBRACE,
+ anon_sym_SEMI,
anon_sym_COLON,
- ACTIONS(1316), 1,
- anon_sym_LPAREN,
- STATE(395), 1,
- sym_parameter_list,
- STATE(555), 1,
- sym__type_annotation,
- [19765] = 5,
+ anon_sym_EQ_GT,
+ [21915] = 5,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1240), 1,
+ ACTIONS(1441), 1,
anon_sym_QMARK,
- ACTIONS(1336), 1,
+ ACTIONS(1612), 1,
anon_sym_COMMA,
- ACTIONS(1338), 1,
+ ACTIONS(1614), 1,
anon_sym_RPAREN,
- STATE(478), 1,
+ STATE(514), 1,
aux_sym_parameter_type_list_repeat1,
- [19781] = 5,
+ [21931] = 5,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(787), 1,
- anon_sym_COLON,
- ACTIONS(1316), 1,
- anon_sym_LPAREN,
- STATE(379), 1,
- sym_parameter_list,
- STATE(564), 1,
- sym__type_annotation,
- [19797] = 5,
+ ACTIONS(190), 1,
+ sym_reassignable,
+ ACTIONS(192), 1,
+ anon_sym_RPAREN,
+ ACTIONS(1578), 1,
+ sym_identifier,
+ STATE(517), 1,
+ sym_parameter_definition,
+ [21947] = 5,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(787), 1,
- anon_sym_COLON,
- ACTIONS(815), 1,
+ ACTIONS(1574), 1,
anon_sym_LBRACE,
- STATE(310), 1,
- sym_block,
- STATE(505), 1,
- sym__type_annotation,
- [19813] = 5,
+ ACTIONS(1616), 1,
+ anon_sym_COMMA,
+ STATE(122), 1,
+ sym_interface_implementation,
+ STATE(569), 1,
+ aux_sym_class_definition_repeat1,
+ [21963] = 5,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(787), 1,
+ ACTIONS(858), 1,
anon_sym_COLON,
- ACTIONS(815), 1,
+ ACTIONS(884), 1,
anon_sym_LBRACE,
- STATE(323), 1,
+ STATE(336), 1,
sym_block,
- STATE(559), 1,
+ STATE(589), 1,
sym__type_annotation,
- [19829] = 5,
+ [21979] = 5,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(787), 1,
+ ACTIONS(858), 1,
anon_sym_COLON,
- ACTIONS(815), 1,
+ ACTIONS(884), 1,
anon_sym_LBRACE,
- STATE(312), 1,
+ STATE(339), 1,
sym_block,
- STATE(549), 1,
+ STATE(586), 1,
sym__type_annotation,
- [19845] = 4,
+ [21995] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1342), 1,
- anon_sym_COMMA,
- STATE(406), 1,
- aux_sym_array_literal_repeat1,
- ACTIONS(1340), 2,
+ ACTIONS(1556), 1,
+ sym_identifier,
+ ACTIONS(1618), 1,
anon_sym_RBRACE,
- anon_sym_RBRACK,
- [19859] = 5,
+ STATE(444), 2,
+ sym_struct_field,
+ aux_sym_struct_definition_repeat2,
+ [22009] = 5,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(787), 1,
- anon_sym_COLON,
- ACTIONS(815), 1,
+ ACTIONS(1545), 1,
+ sym_identifier,
+ ACTIONS(1574), 1,
anon_sym_LBRACE,
- STATE(351), 1,
- sym_block,
- STATE(545), 1,
- sym__type_annotation,
- [19875] = 4,
+ STATE(122), 1,
+ sym_interface_implementation,
+ STATE(579), 1,
+ sym_custom_type,
+ [22025] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1318), 1,
+ ACTIONS(1556), 1,
sym_identifier,
- ACTIONS(1345), 1,
+ ACTIONS(1618), 1,
anon_sym_RBRACE,
- STATE(398), 2,
+ STATE(496), 2,
sym_struct_field,
aux_sym_struct_definition_repeat2,
- [19889] = 4,
+ [22039] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1318), 1,
+ ACTIONS(1620), 1,
sym_identifier,
- ACTIONS(1345), 1,
+ ACTIONS(1623), 1,
anon_sym_RBRACE,
- STATE(410), 2,
+ STATE(496), 2,
sym_struct_field,
aux_sym_struct_definition_repeat2,
- [19903] = 4,
+ [22053] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1347), 1,
+ ACTIONS(1556), 1,
sym_identifier,
- ACTIONS(1350), 1,
+ ACTIONS(1588), 1,
anon_sym_RBRACE,
- STATE(410), 2,
+ STATE(453), 2,
sym_struct_field,
aux_sym_struct_definition_repeat2,
- [19917] = 5,
+ [22067] = 5,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(185), 1,
- sym_reassignable,
- ACTIONS(1330), 1,
+ ACTIONS(47), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(1505), 1,
sym_identifier,
- ACTIONS(1352), 1,
+ STATE(613), 1,
+ sym_map_literal_member,
+ STATE(691), 1,
+ sym_string,
+ [22083] = 4,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(858), 1,
+ anon_sym_COLON,
+ ACTIONS(1625), 1,
+ anon_sym_SEMI,
+ STATE(705), 1,
+ sym__type_annotation,
+ [22096] = 4,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1627), 1,
+ anon_sym_COMMA,
+ ACTIONS(1629), 1,
anon_sym_RPAREN,
- STATE(521), 1,
- sym_parameter_definition,
- [19933] = 4,
+ STATE(550), 1,
+ aux_sym_argument_list_repeat2,
+ [22109] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1318), 1,
+ ACTIONS(47), 1,
+ anon_sym_DQUOTE,
+ ACTIONS(1631), 1,
sym_identifier,
- ACTIONS(1354), 1,
+ STATE(610), 1,
+ sym_string,
+ [22122] = 4,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1633), 1,
+ anon_sym_COMMA,
+ ACTIONS(1635), 1,
+ anon_sym_RBRACK,
+ STATE(432), 1,
+ aux_sym_array_literal_repeat1,
+ [22135] = 4,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(858), 1,
+ anon_sym_COLON,
+ ACTIONS(1637), 1,
+ anon_sym_EQ_GT,
+ STATE(690), 1,
+ sym__type_annotation,
+ [22148] = 4,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1639), 1,
anon_sym_RBRACE,
- STATE(410), 2,
- sym_struct_field,
- aux_sym_struct_definition_repeat2,
- [19947] = 4,
+ ACTIONS(1641), 1,
+ anon_sym_COMMA,
+ STATE(567), 1,
+ aux_sym_map_literal_repeat1,
+ [22161] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1318), 1,
- sym_identifier,
- ACTIONS(1354), 1,
+ ACTIONS(1643), 1,
anon_sym_RBRACE,
- STATE(390), 2,
- sym_struct_field,
- aux_sym_struct_definition_repeat2,
- [19961] = 5,
+ ACTIONS(1645), 1,
+ anon_sym_COMMA,
+ STATE(528), 1,
+ aux_sym_map_literal_repeat1,
+ [22174] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(185), 1,
- sym_reassignable,
- ACTIONS(187), 1,
+ ACTIONS(1647), 1,
+ anon_sym_RBRACE,
+ ACTIONS(1649), 1,
+ anon_sym_COMMA,
+ STATE(432), 1,
+ aux_sym_array_literal_repeat1,
+ [22187] = 4,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(182), 1,
anon_sym_RPAREN,
- ACTIONS(1330), 1,
+ ACTIONS(1651), 1,
+ anon_sym_COMMA,
+ STATE(537), 1,
+ aux_sym_argument_list_repeat2,
+ [22200] = 4,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(182), 1,
+ anon_sym_RPAREN,
+ ACTIONS(1653), 1,
+ sym_identifier,
+ STATE(668), 1,
+ sym_keyword_argument,
+ [22213] = 4,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(182), 1,
+ anon_sym_RPAREN,
+ ACTIONS(1655), 1,
+ anon_sym_COMMA,
+ STATE(535), 1,
+ aux_sym_argument_list_repeat1,
+ [22226] = 4,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(182), 1,
+ anon_sym_RPAREN,
+ ACTIONS(1651), 1,
+ anon_sym_COMMA,
+ STATE(529), 1,
+ aux_sym_argument_list_repeat2,
+ [22239] = 4,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(190), 1,
+ sym_reassignable,
+ ACTIONS(1578), 1,
sym_identifier,
- STATE(433), 1,
+ STATE(643), 1,
sym_parameter_definition,
- [19977] = 5,
+ [22252] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(787), 1,
+ ACTIONS(858), 1,
anon_sym_COLON,
- ACTIONS(815), 1,
- anon_sym_LBRACE,
- STATE(328), 1,
- sym_block,
- STATE(522), 1,
+ ACTIONS(1657), 1,
+ anon_sym_EQ_GT,
+ STATE(682), 1,
sym__type_annotation,
- [19993] = 5,
+ [22265] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(787), 1,
+ ACTIONS(858), 1,
anon_sym_COLON,
- ACTIONS(815), 1,
- anon_sym_LBRACE,
- STATE(322), 1,
- sym_block,
- STATE(518), 1,
+ ACTIONS(1659), 1,
+ anon_sym_EQ,
+ STATE(730), 1,
sym__type_annotation,
- [20009] = 4,
+ [22278] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1356), 1,
- anon_sym_RBRACE,
- ACTIONS(1358), 1,
+ ACTIONS(531), 1,
+ anon_sym_RPAREN,
+ ACTIONS(1661), 1,
anon_sym_COMMA,
- STATE(445), 1,
- aux_sym_enum_definition_repeat1,
- [20022] = 2,
+ STATE(536), 1,
+ aux_sym_parameter_type_list_repeat1,
+ [22291] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1360), 3,
+ ACTIONS(1574), 1,
anon_sym_LBRACE,
- anon_sym_COLON,
- anon_sym_EQ_GT,
- [20031] = 3,
+ ACTIONS(1663), 1,
+ anon_sym_extends,
+ STATE(138), 1,
+ sym_interface_implementation,
+ [22304] = 4,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1653), 1,
+ sym_identifier,
+ ACTIONS(1665), 1,
+ anon_sym_RPAREN,
+ STATE(500), 1,
+ sym_keyword_argument,
+ [22317] = 4,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1667), 1,
+ anon_sym_COMMA,
+ ACTIONS(1669), 1,
+ anon_sym_RPAREN,
+ STATE(543), 1,
+ aux_sym_parameter_list_repeat1,
+ [22330] = 4,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1671), 1,
+ anon_sym_RBRACE,
+ ACTIONS(1673), 1,
+ anon_sym_COMMA,
+ STATE(524), 1,
+ aux_sym_struct_literal_repeat1,
+ [22343] = 4,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1675), 1,
+ sym_identifier,
+ ACTIONS(1677), 1,
+ anon_sym_RBRACE,
+ STATE(545), 1,
+ sym_struct_literal_member,
+ [22356] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1240), 1,
- anon_sym_QMARK,
- ACTIONS(1362), 2,
- anon_sym_COMMA,
- anon_sym_RPAREN,
- [20042] = 4,
+ ACTIONS(1671), 1,
+ anon_sym_RBRACE,
+ ACTIONS(1675), 1,
+ sym_identifier,
+ STATE(631), 1,
+ sym_struct_literal_member,
+ [22369] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
- ACTIONS(1364), 1,
- sym_identifier,
- STATE(535), 1,
- sym_string,
- [20055] = 4,
+ ACTIONS(1665), 1,
+ anon_sym_RPAREN,
+ ACTIONS(1679), 1,
+ anon_sym_COMMA,
+ STATE(537), 1,
+ aux_sym_argument_list_repeat2,
+ [22382] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1362), 1,
+ ACTIONS(1665), 1,
anon_sym_RPAREN,
- ACTIONS(1366), 1,
+ ACTIONS(1679), 1,
anon_sym_COMMA,
- STATE(421), 1,
- aux_sym_parameter_type_list_repeat1,
- [20068] = 4,
+ STATE(571), 1,
+ aux_sym_argument_list_repeat2,
+ [22395] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(787), 1,
- anon_sym_COLON,
- ACTIONS(1369), 1,
- anon_sym_EQ_GT,
- STATE(591), 1,
- sym__type_annotation,
- [20081] = 4,
+ ACTIONS(1675), 1,
+ sym_identifier,
+ ACTIONS(1681), 1,
+ anon_sym_RBRACE,
+ STATE(631), 1,
+ sym_struct_literal_member,
+ [22408] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1371), 1,
+ ACTIONS(1683), 1,
anon_sym_RBRACE,
- ACTIONS(1373), 1,
+ ACTIONS(1685), 1,
anon_sym_COMMA,
- STATE(436), 1,
- aux_sym_map_literal_repeat1,
- [20094] = 4,
+ STATE(524), 1,
+ aux_sym_struct_literal_repeat1,
+ [22421] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(787), 1,
- anon_sym_COLON,
- ACTIONS(1375), 1,
- anon_sym_EQ_GT,
- STATE(577), 1,
- sym__type_annotation,
- [20107] = 4,
+ ACTIONS(1653), 1,
+ sym_identifier,
+ ACTIONS(1665), 1,
+ anon_sym_RPAREN,
+ STATE(668), 1,
+ sym_keyword_argument,
+ [22434] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(787), 1,
- anon_sym_COLON,
- ACTIONS(1377), 1,
- anon_sym_EQ,
- STATE(576), 1,
- sym__type_annotation,
- [20120] = 4,
+ ACTIONS(1688), 1,
+ anon_sym_RBRACE,
+ ACTIONS(1690), 1,
+ anon_sym_COMMA,
+ STATE(432), 1,
+ aux_sym_array_literal_repeat1,
+ [22447] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1379), 1,
- sym_identifier,
- ACTIONS(1381), 1,
+ ACTIONS(186), 1,
anon_sym_RPAREN,
- STATE(520), 1,
+ ACTIONS(1653), 1,
+ sym_identifier,
+ STATE(668), 1,
sym_keyword_argument,
- [20133] = 4,
+ [22460] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1381), 1,
- anon_sym_RPAREN,
- ACTIONS(1383), 1,
+ ACTIONS(1692), 1,
+ anon_sym_RBRACE,
+ ACTIONS(1694), 1,
anon_sym_COMMA,
- STATE(461), 1,
- aux_sym_argument_list_repeat2,
- [20146] = 4,
+ STATE(567), 1,
+ aux_sym_map_literal_repeat1,
+ [22473] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1381), 1,
+ ACTIONS(186), 1,
anon_sym_RPAREN,
- ACTIONS(1383), 1,
+ ACTIONS(1696), 1,
anon_sym_COMMA,
- STATE(457), 1,
+ STATE(537), 1,
aux_sym_argument_list_repeat2,
- [20159] = 4,
+ [22486] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1379), 1,
+ ACTIONS(1653), 1,
sym_identifier,
- ACTIONS(1381), 1,
+ ACTIONS(1698), 1,
anon_sym_RPAREN,
- STATE(463), 1,
+ STATE(668), 1,
sym_keyword_argument,
- [20172] = 4,
+ [22499] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1385), 1,
- anon_sym_LBRACE,
- ACTIONS(1387), 1,
- anon_sym_extends,
- STATE(118), 1,
- sym_class_implementation,
- [20185] = 4,
+ ACTIONS(186), 1,
+ anon_sym_RPAREN,
+ ACTIONS(1653), 1,
+ sym_identifier,
+ STATE(522), 1,
+ sym_keyword_argument,
+ [22512] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1389), 1,
- anon_sym_LBRACE,
- ACTIONS(1391), 1,
- anon_sym_extends,
- STATE(115), 1,
- sym_resource_implementation,
- [20198] = 2,
+ ACTIONS(186), 1,
+ anon_sym_RPAREN,
+ ACTIONS(1696), 1,
+ anon_sym_COMMA,
+ STATE(521), 1,
+ aux_sym_argument_list_repeat2,
+ [22525] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1393), 3,
- anon_sym_LBRACE,
+ ACTIONS(858), 1,
anon_sym_COLON,
- anon_sym_EQ_GT,
- [20207] = 4,
+ ACTIONS(1700), 1,
+ anon_sym_SEMI,
+ STATE(731), 1,
+ sym__type_annotation,
+ [22538] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1395), 1,
+ ACTIONS(1702), 1,
+ anon_sym_LBRACE,
+ ACTIONS(1704), 1,
anon_sym_COMMA,
- ACTIONS(1397), 1,
- anon_sym_RPAREN,
- STATE(440), 1,
- aux_sym_parameter_list_repeat1,
- [20220] = 4,
+ STATE(553), 1,
+ aux_sym_struct_definition_repeat1,
+ [22551] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1399), 1,
- sym_identifier,
- ACTIONS(1401), 1,
- anon_sym_RBRACE,
- STATE(443), 1,
- sym_struct_literal_member,
- [20233] = 4,
+ ACTIONS(1706), 1,
+ anon_sym_COMMA,
+ ACTIONS(1709), 1,
+ anon_sym_RPAREN,
+ STATE(535), 1,
+ aux_sym_argument_list_repeat1,
+ [22564] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1403), 1,
- anon_sym_RBRACE,
- ACTIONS(1405), 1,
+ ACTIONS(1711), 1,
anon_sym_COMMA,
- STATE(406), 1,
- aux_sym_array_literal_repeat1,
- [20246] = 4,
+ ACTIONS(1714), 1,
+ anon_sym_RPAREN,
+ STATE(536), 1,
+ aux_sym_parameter_type_list_repeat1,
+ [22577] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1407), 1,
- anon_sym_RBRACE,
- ACTIONS(1409), 1,
+ ACTIONS(1716), 1,
anon_sym_COMMA,
- STATE(450), 1,
- aux_sym_map_literal_repeat1,
- [20259] = 4,
+ ACTIONS(1719), 1,
+ anon_sym_RPAREN,
+ STATE(537), 1,
+ aux_sym_argument_list_repeat2,
+ [22590] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(787), 1,
+ ACTIONS(858), 1,
anon_sym_COLON,
- ACTIONS(1411), 1,
+ ACTIONS(1721), 1,
anon_sym_EQ,
- STATE(590), 1,
+ STATE(713), 1,
sym__type_annotation,
- [20272] = 4,
+ [22603] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(815), 1,
+ ACTIONS(884), 1,
anon_sym_LBRACE,
- ACTIONS(1413), 1,
+ ACTIONS(1723), 1,
sym_identifier,
STATE(91), 1,
sym_block,
- [20285] = 2,
+ [22616] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1415), 3,
- anon_sym_LBRACE,
- anon_sym_COLON,
- anon_sym_EQ_GT,
- [20294] = 4,
+ ACTIONS(1441), 1,
+ anon_sym_QMARK,
+ ACTIONS(1714), 2,
+ anon_sym_COMMA,
+ anon_sym_RPAREN,
+ [22627] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1352), 1,
- anon_sym_RPAREN,
- ACTIONS(1417), 1,
+ ACTIONS(1725), 1,
anon_sym_COMMA,
- STATE(456), 1,
+ ACTIONS(1728), 1,
+ anon_sym_RPAREN,
+ STATE(541), 1,
aux_sym_parameter_list_repeat1,
- [20307] = 4,
+ [22640] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1379), 1,
- sym_identifier,
- ACTIONS(1419), 1,
+ ACTIONS(1730), 1,
+ anon_sym_RBRACE,
+ ACTIONS(1732), 1,
+ anon_sym_COMMA,
+ STATE(559), 1,
+ aux_sym_enum_definition_repeat1,
+ [22653] = 4,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1580), 1,
anon_sym_RPAREN,
- STATE(520), 1,
- sym_keyword_argument,
- [20320] = 4,
+ ACTIONS(1734), 1,
+ anon_sym_COMMA,
+ STATE(541), 1,
+ aux_sym_parameter_list_repeat1,
+ [22666] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1421), 1,
+ ACTIONS(1736), 1,
anon_sym_COMMA,
- ACTIONS(1423), 1,
+ ACTIONS(1738), 1,
anon_sym_RBRACK,
- STATE(406), 1,
+ STATE(432), 1,
aux_sym_array_literal_repeat1,
- [20333] = 4,
+ [22679] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1425), 1,
+ ACTIONS(1740), 1,
anon_sym_RBRACE,
- ACTIONS(1427), 1,
+ ACTIONS(1742), 1,
anon_sym_COMMA,
- STATE(458), 1,
+ STATE(518), 1,
aux_sym_struct_literal_repeat1,
- [20346] = 4,
+ [22692] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1379), 1,
+ ACTIONS(1653), 1,
sym_identifier,
- ACTIONS(1429), 1,
+ ACTIONS(1744), 1,
anon_sym_RPAREN,
- STATE(469), 1,
+ STATE(510), 1,
sym_keyword_argument,
- [20359] = 4,
- ACTIONS(3), 1,
- sym_comment,
- ACTIONS(1431), 1,
- anon_sym_RBRACE,
- ACTIONS(1433), 1,
- anon_sym_COMMA,
- STATE(445), 1,
- aux_sym_enum_definition_repeat1,
- [20372] = 4,
+ [22705] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1429), 1,
+ ACTIONS(1744), 1,
anon_sym_RPAREN,
- ACTIONS(1436), 1,
+ ACTIONS(1746), 1,
anon_sym_COMMA,
- STATE(467), 1,
+ STATE(509), 1,
aux_sym_argument_list_repeat1,
- [20385] = 4,
+ [22718] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1429), 1,
+ ACTIONS(1744), 1,
anon_sym_RPAREN,
- ACTIONS(1438), 1,
+ ACTIONS(1748), 1,
anon_sym_COMMA,
- STATE(476), 1,
+ STATE(507), 1,
aux_sym_argument_list_repeat2,
- [20398] = 4,
- ACTIONS(3), 1,
- sym_comment,
- ACTIONS(1440), 1,
- anon_sym_LBRACE,
- ACTIONS(1442), 1,
- anon_sym_COMMA,
- STATE(448), 1,
- aux_sym_struct_definition_repeat1,
- [20411] = 4,
- ACTIONS(3), 1,
- sym_comment,
- ACTIONS(1445), 1,
- anon_sym_RBRACE,
- ACTIONS(1447), 1,
- anon_sym_COMMA,
- STATE(472), 1,
- aux_sym_map_literal_repeat1,
- [20424] = 4,
+ [22731] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1449), 1,
+ ACTIONS(1750), 1,
anon_sym_RBRACE,
- ACTIONS(1451), 1,
+ ACTIONS(1752), 1,
anon_sym_COMMA,
- STATE(450), 1,
+ STATE(504), 1,
aux_sym_map_literal_repeat1,
- [20437] = 4,
- ACTIONS(3), 1,
- sym_comment,
- ACTIONS(1454), 1,
- anon_sym_LBRACE,
- ACTIONS(1456), 1,
- anon_sym_COMMA,
- STATE(466), 1,
- aux_sym_struct_definition_repeat1,
- [20450] = 4,
- ACTIONS(3), 1,
- sym_comment,
- ACTIONS(1458), 1,
- anon_sym_RBRACE,
- ACTIONS(1460), 1,
- anon_sym_COMMA,
- STATE(417), 1,
- aux_sym_enum_definition_repeat1,
- [20463] = 4,
+ [22744] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1462), 1,
+ ACTIONS(1754), 1,
anon_sym_COMMA,
- ACTIONS(1464), 1,
+ ACTIONS(1756), 1,
anon_sym_RPAREN,
- STATE(457), 1,
+ STATE(537), 1,
aux_sym_argument_list_repeat2,
- [20476] = 4,
+ [22757] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1379), 1,
+ ACTIONS(1653), 1,
sym_identifier,
- ACTIONS(1464), 1,
+ ACTIONS(1756), 1,
anon_sym_RPAREN,
- STATE(520), 1,
+ STATE(668), 1,
sym_keyword_argument,
- [20489] = 2,
+ [22770] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1466), 3,
- anon_sym_LBRACE,
+ ACTIONS(858), 1,
anon_sym_COLON,
- anon_sym_EQ_GT,
- [20498] = 4,
- ACTIONS(3), 1,
- sym_comment,
- ACTIONS(1468), 1,
- anon_sym_COMMA,
- ACTIONS(1471), 1,
- anon_sym_RPAREN,
- STATE(456), 1,
- aux_sym_parameter_list_repeat1,
- [20511] = 4,
+ ACTIONS(1758), 1,
+ anon_sym_SEMI,
+ STATE(723), 1,
+ sym__type_annotation,
+ [22783] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1473), 1,
+ ACTIONS(1760), 1,
+ anon_sym_LBRACE,
+ ACTIONS(1762), 1,
anon_sym_COMMA,
- ACTIONS(1476), 1,
- anon_sym_RPAREN,
- STATE(457), 1,
- aux_sym_argument_list_repeat2,
- [20524] = 4,
+ STATE(553), 1,
+ aux_sym_struct_definition_repeat1,
+ [22796] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1478), 1,
- anon_sym_RBRACE,
- ACTIONS(1480), 1,
- anon_sym_COMMA,
- STATE(473), 1,
- aux_sym_struct_literal_repeat1,
- [20537] = 4,
+ ACTIONS(858), 1,
+ anon_sym_COLON,
+ ACTIONS(1765), 1,
+ anon_sym_SEMI,
+ STATE(700), 1,
+ sym__type_annotation,
+ [22809] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1482), 1,
- anon_sym_COMMA,
- ACTIONS(1485), 1,
- anon_sym_RPAREN,
- STATE(459), 1,
- aux_sym_argument_list_repeat1,
- [20550] = 4,
+ ACTIONS(858), 1,
+ anon_sym_COLON,
+ ACTIONS(1767), 1,
+ anon_sym_SEMI,
+ STATE(684), 1,
+ sym__type_annotation,
+ [22822] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1379), 1,
- sym_identifier,
- ACTIONS(1487), 1,
- anon_sym_RPAREN,
- STATE(520), 1,
- sym_keyword_argument,
- [20563] = 4,
+ ACTIONS(858), 1,
+ anon_sym_COLON,
+ ACTIONS(1769), 1,
+ anon_sym_SEMI,
+ STATE(698), 1,
+ sym__type_annotation,
+ [22835] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1487), 1,
- anon_sym_RPAREN,
- ACTIONS(1489), 1,
- anon_sym_COMMA,
- STATE(457), 1,
- aux_sym_argument_list_repeat2,
- [20576] = 4,
+ ACTIONS(858), 1,
+ anon_sym_COLON,
+ ACTIONS(1771), 1,
+ anon_sym_SEMI,
+ STATE(685), 1,
+ sym__type_annotation,
+ [22848] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(173), 1,
- anon_sym_RPAREN,
- ACTIONS(1491), 1,
- anon_sym_COMMA,
- STATE(428), 1,
- aux_sym_argument_list_repeat2,
- [20589] = 4,
+ ACTIONS(858), 1,
+ anon_sym_COLON,
+ ACTIONS(1773), 1,
+ anon_sym_SEMI,
+ STATE(695), 1,
+ sym__type_annotation,
+ [22861] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1487), 1,
- anon_sym_RPAREN,
- ACTIONS(1489), 1,
+ ACTIONS(1775), 1,
+ anon_sym_RBRACE,
+ ACTIONS(1777), 1,
anon_sym_COMMA,
- STATE(453), 1,
- aux_sym_argument_list_repeat2,
- [20602] = 4,
+ STATE(559), 1,
+ aux_sym_enum_definition_repeat1,
+ [22874] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(173), 1,
- anon_sym_RPAREN,
- ACTIONS(1379), 1,
- sym_identifier,
- STATE(427), 1,
- sym_keyword_argument,
- [20615] = 4,
+ ACTIONS(858), 1,
+ anon_sym_COLON,
+ ACTIONS(1780), 1,
+ anon_sym_SEMI,
+ STATE(701), 1,
+ sym__type_annotation,
+ [22887] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1399), 1,
- sym_identifier,
- ACTIONS(1478), 1,
- anon_sym_RBRACE,
- STATE(492), 1,
- sym_struct_literal_member,
- [20628] = 4,
+ ACTIONS(1554), 1,
+ anon_sym_LBRACE,
+ ACTIONS(1782), 1,
+ anon_sym_impl,
+ STATE(144), 1,
+ sym_class_implementation,
+ [22900] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1493), 1,
+ ACTIONS(1784), 1,
anon_sym_LBRACE,
- ACTIONS(1495), 1,
+ ACTIONS(1786), 1,
anon_sym_COMMA,
- STATE(448), 1,
+ STATE(534), 1,
aux_sym_struct_definition_repeat1,
- [20641] = 4,
+ [22913] = 4,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(858), 1,
+ anon_sym_COLON,
+ ACTIONS(1788), 1,
+ anon_sym_SEMI,
+ STATE(696), 1,
+ sym__type_annotation,
+ [22926] = 4,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(858), 1,
+ anon_sym_COLON,
+ ACTIONS(1790), 1,
+ anon_sym_SEMI,
+ STATE(694), 1,
+ sym__type_annotation,
+ [22939] = 4,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(858), 1,
+ anon_sym_COLON,
+ ACTIONS(1792), 1,
+ anon_sym_SEMI,
+ STATE(692), 1,
+ sym__type_annotation,
+ [22952] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(177), 1,
- anon_sym_RPAREN,
- ACTIONS(1497), 1,
- anon_sym_COMMA,
- STATE(459), 1,
- aux_sym_argument_list_repeat1,
- [20654] = 4,
+ ACTIONS(1541), 1,
+ anon_sym_LBRACE,
+ ACTIONS(1794), 1,
+ anon_sym_impl,
+ STATE(146), 1,
+ sym_resource_implementation,
+ [22965] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(173), 1,
- anon_sym_RPAREN,
- ACTIONS(1491), 1,
+ ACTIONS(1796), 1,
+ anon_sym_RBRACE,
+ ACTIONS(1798), 1,
anon_sym_COMMA,
- STATE(457), 1,
- aux_sym_argument_list_repeat2,
- [20667] = 4,
+ STATE(567), 1,
+ aux_sym_map_literal_repeat1,
+ [22978] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(177), 1,
- anon_sym_RPAREN,
- ACTIONS(1499), 1,
+ ACTIONS(1801), 1,
+ anon_sym_RBRACE,
+ ACTIONS(1803), 1,
anon_sym_COMMA,
- STATE(468), 1,
- aux_sym_argument_list_repeat2,
- [20680] = 4,
+ STATE(542), 1,
+ aux_sym_enum_definition_repeat1,
+ [22991] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1501), 1,
+ ACTIONS(1805), 1,
+ anon_sym_LBRACE,
+ ACTIONS(1807), 1,
anon_sym_COMMA,
- ACTIONS(1503), 1,
- anon_sym_RBRACK,
- STATE(406), 1,
- aux_sym_array_literal_repeat1,
- [20693] = 4,
+ STATE(569), 1,
+ aux_sym_class_definition_repeat1,
+ [23004] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(173), 1,
+ ACTIONS(1629), 1,
anon_sym_RPAREN,
- ACTIONS(1379), 1,
+ ACTIONS(1653), 1,
sym_identifier,
- STATE(520), 1,
+ STATE(668), 1,
sym_keyword_argument,
- [20706] = 4,
+ [23017] = 4,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1505), 1,
- anon_sym_RBRACE,
- ACTIONS(1507), 1,
+ ACTIONS(1627), 1,
anon_sym_COMMA,
- STATE(450), 1,
- aux_sym_map_literal_repeat1,
- [20719] = 4,
+ ACTIONS(1629), 1,
+ anon_sym_RPAREN,
+ STATE(537), 1,
+ aux_sym_argument_list_repeat2,
+ [23030] = 2,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1509), 1,
- anon_sym_RBRACE,
- ACTIONS(1511), 1,
+ ACTIONS(1709), 2,
anon_sym_COMMA,
- STATE(473), 1,
- aux_sym_struct_literal_repeat1,
- [20732] = 4,
+ anon_sym_RPAREN,
+ [23038] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1514), 1,
- anon_sym_RBRACE,
- ACTIONS(1516), 1,
- anon_sym_COMMA,
- STATE(406), 1,
- aux_sym_array_literal_repeat1,
- [20745] = 4,
+ ACTIONS(858), 1,
+ anon_sym_COLON,
+ STATE(640), 1,
+ sym__type_annotation,
+ [23048] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1399), 1,
+ ACTIONS(1547), 1,
+ anon_sym_LPAREN,
+ STATE(552), 1,
+ sym_parameter_list,
+ [23058] = 3,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1810), 1,
sym_identifier,
- ACTIONS(1518), 1,
- anon_sym_RBRACE,
- STATE(492), 1,
- sym_struct_literal_member,
- [20758] = 4,
+ ACTIONS(1812), 1,
+ sym_reassignable,
+ [23068] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(177), 1,
- anon_sym_RPAREN,
- ACTIONS(1499), 1,
- anon_sym_COMMA,
- STATE(457), 1,
- aux_sym_argument_list_repeat2,
- [20771] = 4,
+ ACTIONS(622), 1,
+ anon_sym_LPAREN,
+ STATE(244), 1,
+ sym_argument_list,
+ [23078] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(177), 1,
- anon_sym_RPAREN,
- ACTIONS(1379), 1,
+ ACTIONS(884), 1,
+ anon_sym_LBRACE,
+ STATE(98), 1,
+ sym_block,
+ [23088] = 3,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1814), 1,
sym_identifier,
- STATE(520), 1,
- sym_keyword_argument,
- [20784] = 4,
+ ACTIONS(1816), 1,
+ sym_reassignable,
+ [23098] = 2,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(448), 1,
- anon_sym_RPAREN,
- ACTIONS(1520), 1,
+ ACTIONS(1805), 2,
+ anon_sym_LBRACE,
anon_sym_COMMA,
- STATE(421), 1,
- aux_sym_parameter_type_list_repeat1,
- [20797] = 4,
+ [23106] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(185), 1,
- sym_reassignable,
- ACTIONS(1330), 1,
+ ACTIONS(1818), 1,
sym_identifier,
- STATE(521), 1,
- sym_parameter_definition,
- [20810] = 3,
+ ACTIONS(1820), 1,
+ sym_reassignable,
+ [23116] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1522), 1,
- anon_sym_SEMI,
- ACTIONS(1524), 1,
- anon_sym_EQ,
- [20820] = 3,
+ ACTIONS(884), 1,
+ anon_sym_LBRACE,
+ STATE(87), 1,
+ sym_block,
+ [23126] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1526), 1,
- anon_sym_SEMI,
- ACTIONS(1528), 1,
- anon_sym_EQ,
- [20830] = 3,
+ ACTIONS(884), 1,
+ anon_sym_LBRACE,
+ STATE(128), 1,
+ sym_block,
+ [23136] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1530), 1,
- anon_sym_SEMI,
- ACTIONS(1532), 1,
- anon_sym_EQ,
- [20840] = 2,
+ ACTIONS(1547), 1,
+ anon_sym_LPAREN,
+ STATE(483), 1,
+ sym_parameter_list,
+ [23146] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1485), 2,
- anon_sym_COMMA,
- anon_sym_RPAREN,
- [20848] = 3,
+ ACTIONS(1822), 1,
+ sym_identifier,
+ ACTIONS(1824), 1,
+ sym_reassignable,
+ [23156] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(815), 1,
+ ACTIONS(884), 1,
anon_sym_LBRACE,
- STATE(297), 1,
+ STATE(96), 1,
sym_block,
- [20858] = 3,
+ [23166] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1534), 1,
- anon_sym_SEMI,
- ACTIONS(1536), 1,
- anon_sym_EQ,
- [20868] = 3,
+ ACTIONS(884), 1,
+ anon_sym_LBRACE,
+ STATE(357), 1,
+ sym_block,
+ [23176] = 3,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1826), 1,
+ anon_sym_LT,
+ STATE(390), 1,
+ sym__container_value_type,
+ [23186] = 3,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1820), 1,
+ sym_reassignable,
+ ACTIONS(1828), 1,
+ sym_identifier,
+ [23196] = 3,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(884), 1,
+ anon_sym_LBRACE,
+ STATE(360), 1,
+ sym_block,
+ [23206] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1538), 1,
+ ACTIONS(1830), 1,
anon_sym_SEMI,
- ACTIONS(1540), 1,
+ ACTIONS(1832), 1,
anon_sym_EQ,
- [20878] = 3,
+ [23216] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(787), 1,
+ ACTIONS(858), 1,
anon_sym_COLON,
- STATE(512), 1,
+ STATE(671), 1,
sym__type_annotation,
- [20888] = 3,
+ [23226] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1316), 1,
+ ACTIONS(1826), 1,
+ anon_sym_LT,
+ STATE(366), 1,
+ sym__container_value_type,
+ [23236] = 3,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1547), 1,
anon_sym_LPAREN,
- STATE(407), 1,
+ STATE(618), 1,
sym_parameter_list,
- [20898] = 3,
+ [23246] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1542), 1,
+ ACTIONS(1834), 1,
anon_sym_SEMI,
- ACTIONS(1544), 1,
+ ACTIONS(1836), 1,
anon_sym_EQ,
- [20908] = 3,
+ [23256] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1546), 1,
- anon_sym_SEMI,
- ACTIONS(1548), 1,
- anon_sym_EQ,
- [20918] = 3,
+ ACTIONS(858), 1,
+ anon_sym_COLON,
+ STATE(603), 1,
+ sym__type_annotation,
+ [23266] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(787), 1,
+ ACTIONS(858), 1,
anon_sym_COLON,
- STATE(523), 1,
+ STATE(634), 1,
sym__type_annotation,
- [20928] = 2,
+ [23276] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1509), 2,
- anon_sym_RBRACE,
- anon_sym_COMMA,
- [20936] = 3,
+ ACTIONS(1838), 1,
+ anon_sym_LBRACE,
+ ACTIONS(1840), 1,
+ anon_sym_LBRACK,
+ [23286] = 3,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1842), 1,
+ anon_sym_SEMI,
+ ACTIONS(1844), 1,
+ anon_sym_EQ,
+ [23296] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(815), 1,
+ ACTIONS(884), 1,
anon_sym_LBRACE,
- STATE(121), 1,
+ STATE(359), 1,
sym_block,
- [20946] = 3,
+ [23306] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1550), 1,
- sym_identifier,
- ACTIONS(1552), 1,
- sym_reassignable,
- [20956] = 3,
+ ACTIONS(858), 1,
+ anon_sym_COLON,
+ STATE(683), 1,
+ sym__type_annotation,
+ [23316] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
- anon_sym_LPAREN,
- STATE(224), 1,
- sym_argument_list,
- [20966] = 3,
+ ACTIONS(884), 1,
+ anon_sym_LBRACE,
+ STATE(349), 1,
+ sym_block,
+ [23326] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1554), 1,
- sym_identifier,
- ACTIONS(1556), 1,
- sym_reassignable,
- [20976] = 3,
+ ACTIONS(1846), 1,
+ anon_sym_SEMI,
+ ACTIONS(1848), 1,
+ anon_sym_EQ,
+ [23336] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(815), 1,
- anon_sym_LBRACE,
- STATE(88), 1,
- sym_block,
- [20986] = 3,
+ ACTIONS(1850), 1,
+ anon_sym_SEMI,
+ ACTIONS(1852), 1,
+ anon_sym_EQ,
+ [23346] = 3,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1854), 1,
+ anon_sym_SEMI,
+ ACTIONS(1856), 1,
+ anon_sym_EQ,
+ [23356] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1316), 1,
+ ACTIONS(1547), 1,
anon_sym_LPAREN,
- STATE(394), 1,
+ STATE(492), 1,
sym_parameter_list,
- [20996] = 3,
+ [23366] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(815), 1,
- anon_sym_LBRACE,
- STATE(321), 1,
- sym_block,
- [21006] = 3,
+ ACTIONS(858), 1,
+ anon_sym_COLON,
+ STATE(659), 1,
+ sym__type_annotation,
+ [23376] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1558), 1,
+ ACTIONS(1858), 1,
sym_identifier,
- ACTIONS(1560), 1,
- sym_reassignable,
- [21016] = 3,
+ ACTIONS(1860), 1,
+ anon_sym_LBRACE,
+ [23386] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(815), 1,
+ ACTIONS(884), 1,
anon_sym_LBRACE,
- STATE(333), 1,
+ STATE(364), 1,
sym_block,
- [21026] = 3,
- ACTIONS(3), 1,
- sym_comment,
- ACTIONS(1562), 1,
- anon_sym_LT,
- STATE(358), 1,
- sym__container_value_type,
- [21036] = 3,
+ [23396] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1562), 1,
- anon_sym_LT,
- STATE(298), 1,
- sym__container_value_type,
- [21046] = 3,
+ ACTIONS(1862), 1,
+ anon_sym_LBRACE,
+ STATE(230), 1,
+ sym_block,
+ [23406] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(787), 1,
- anon_sym_COLON,
- STATE(540), 1,
- sym__type_annotation,
- [21056] = 3,
+ ACTIONS(1864), 1,
+ anon_sym_as,
+ ACTIONS(1866), 1,
+ anon_sym_SEMI,
+ [23416] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(815), 1,
+ ACTIONS(884), 1,
anon_sym_LBRACE,
- STATE(335), 1,
+ STATE(368), 1,
sym_block,
- [21066] = 3,
+ [23426] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1564), 1,
+ ACTIONS(1868), 1,
anon_sym_SEMI,
- ACTIONS(1566), 1,
+ ACTIONS(1870), 1,
anon_sym_EQ,
- [21076] = 3,
+ [23436] = 2,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1568), 1,
+ ACTIONS(1872), 2,
+ anon_sym_RBRACE,
+ anon_sym_COMMA,
+ [23444] = 3,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1874), 1,
anon_sym_SEMI,
- ACTIONS(1570), 1,
+ ACTIONS(1876), 1,
anon_sym_EQ,
- [21086] = 3,
+ [23454] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1356), 1,
- anon_sym_RBRACE,
- ACTIONS(1572), 1,
- sym_identifier,
- [21096] = 3,
+ ACTIONS(1878), 1,
+ anon_sym_SEMI,
+ ACTIONS(1880), 1,
+ anon_sym_EQ,
+ [23464] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1493), 1,
+ ACTIONS(884), 1,
anon_sym_LBRACE,
- ACTIONS(1574), 1,
+ STATE(314), 1,
+ sym_block,
+ [23474] = 3,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1882), 1,
sym_identifier,
- [21106] = 3,
+ ACTIONS(1884), 1,
+ sym_reassignable,
+ [23484] = 3,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(884), 1,
+ anon_sym_LBRACE,
+ STATE(331), 1,
+ sym_block,
+ [23494] = 3,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1886), 1,
+ anon_sym_LBRACE,
+ ACTIONS(1888), 1,
+ anon_sym_extends,
+ [23504] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1316), 1,
+ ACTIONS(1547), 1,
anon_sym_LPAREN,
- STATE(382), 1,
+ STATE(440), 1,
sym_parameter_list,
- [21116] = 3,
+ [23514] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(815), 1,
- anon_sym_LBRACE,
- STATE(292), 1,
- sym_block,
- [21126] = 3,
+ ACTIONS(1653), 1,
+ sym_identifier,
+ STATE(668), 1,
+ sym_keyword_argument,
+ [23524] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1576), 1,
+ ACTIONS(1890), 1,
anon_sym_SEMI,
- ACTIONS(1578), 1,
+ ACTIONS(1892), 1,
anon_sym_EQ,
- [21136] = 3,
- ACTIONS(3), 1,
- sym_comment,
- ACTIONS(1580), 1,
- anon_sym_LBRACE,
- ACTIONS(1582), 1,
- anon_sym_LBRACK,
- [21146] = 3,
+ [23534] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(787), 1,
+ ACTIONS(858), 1,
anon_sym_COLON,
- STATE(481), 1,
+ STATE(615), 1,
sym__type_annotation,
- [21156] = 3,
+ [23544] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(787), 1,
- anon_sym_COLON,
- STATE(482), 1,
- sym__type_annotation,
- [21166] = 3,
+ ACTIONS(1894), 1,
+ sym_identifier,
+ ACTIONS(1896), 1,
+ anon_sym_RBRACE,
+ [23554] = 2,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1898), 2,
+ anon_sym_RBRACE,
+ anon_sym_COMMA,
+ [23562] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(787), 1,
+ ACTIONS(858), 1,
anon_sym_COLON,
- STATE(550), 1,
+ STATE(590), 1,
sym__type_annotation,
- [21176] = 3,
+ [23572] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1399), 1,
+ ACTIONS(1547), 1,
+ anon_sym_LPAREN,
+ STATE(558), 1,
+ sym_parameter_list,
+ [23582] = 3,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1884), 1,
+ sym_reassignable,
+ ACTIONS(1900), 1,
sym_identifier,
- STATE(492), 1,
- sym_struct_literal_member,
- [21186] = 3,
+ [23592] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(815), 1,
+ ACTIONS(884), 1,
anon_sym_LBRACE,
- STATE(311), 1,
+ STATE(342), 1,
sym_block,
- [21196] = 3,
+ [23602] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(45), 1,
- anon_sym_DQUOTE,
- STATE(156), 1,
- sym_string,
- [21206] = 2,
+ ACTIONS(622), 1,
+ anon_sym_LPAREN,
+ STATE(160), 1,
+ sym_argument_list,
+ [23612] = 2,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1476), 2,
+ ACTIONS(1683), 2,
+ anon_sym_RBRACE,
anon_sym_COMMA,
- anon_sym_RPAREN,
- [21214] = 2,
+ [23620] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1471), 2,
- anon_sym_COMMA,
- anon_sym_RPAREN,
- [21222] = 3,
+ ACTIONS(884), 1,
+ anon_sym_LBRACE,
+ STATE(315), 1,
+ sym_block,
+ [23630] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(815), 1,
+ ACTIONS(1902), 1,
+ sym_identifier,
+ ACTIONS(1904), 1,
anon_sym_LBRACE,
- STATE(295), 1,
- sym_block,
- [21232] = 3,
+ [23640] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1584), 1,
+ ACTIONS(1906), 1,
anon_sym_SEMI,
- ACTIONS(1586), 1,
+ ACTIONS(1908), 1,
anon_sym_EQ,
- [21242] = 3,
+ [23650] = 3,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1702), 1,
+ anon_sym_LBRACE,
+ ACTIONS(1902), 1,
+ sym_identifier,
+ [23660] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(815), 1,
+ ACTIONS(1862), 1,
anon_sym_LBRACE,
- STATE(304), 1,
+ STATE(201), 1,
sym_block,
- [21252] = 2,
+ [23670] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1588), 2,
- anon_sym_RBRACE,
+ ACTIONS(1824), 1,
+ sym_reassignable,
+ ACTIONS(1910), 1,
sym_identifier,
- [21260] = 3,
+ [23680] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(787), 1,
- anon_sym_COLON,
- STATE(506), 1,
- sym__type_annotation,
- [21270] = 2,
+ ACTIONS(1862), 1,
+ anon_sym_LBRACE,
+ STATE(238), 1,
+ sym_block,
+ [23690] = 2,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1760), 2,
+ anon_sym_LBRACE,
+ anon_sym_COMMA,
+ [23698] = 2,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1590), 2,
+ ACTIONS(1912), 2,
anon_sym_COMMA,
anon_sym_RPAREN,
- [21278] = 3,
+ [23706] = 3,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1547), 1,
+ anon_sym_LPAREN,
+ STATE(563), 1,
+ sym_parameter_list,
+ [23716] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(815), 1,
+ ACTIONS(884), 1,
anon_sym_LBRACE,
STATE(90), 1,
sym_block,
- [21288] = 3,
+ [23726] = 2,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(815), 1,
- anon_sym_LBRACE,
- STATE(101), 1,
- sym_block,
- [21298] = 3,
+ ACTIONS(1728), 2,
+ anon_sym_COMMA,
+ anon_sym_RPAREN,
+ [23734] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1389), 1,
+ ACTIONS(1840), 1,
+ anon_sym_LBRACK,
+ ACTIONS(1914), 1,
anon_sym_LBRACE,
- STATE(123), 1,
- sym_resource_implementation,
- [21308] = 3,
+ [23744] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1385), 1,
- anon_sym_LBRACE,
- STATE(109), 1,
- sym_class_implementation,
- [21318] = 3,
+ ACTIONS(1916), 1,
+ anon_sym_SEMI,
+ ACTIONS(1918), 1,
+ anon_sym_EQ,
+ [23754] = 2,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1592), 1,
+ ACTIONS(1920), 2,
+ anon_sym_RBRACE,
sym_identifier,
- ACTIONS(1594), 1,
- sym_reassignable,
- [21328] = 3,
+ [23762] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(787), 1,
- anon_sym_COLON,
- STATE(485), 1,
- sym__type_annotation,
- [21338] = 3,
+ ACTIONS(1441), 1,
+ anon_sym_QMARK,
+ ACTIONS(1922), 1,
+ anon_sym_GT,
+ [23772] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1316), 1,
+ ACTIONS(523), 1,
anon_sym_LPAREN,
- STATE(499), 1,
- sym_parameter_list,
- [21348] = 3,
- ACTIONS(3), 1,
- sym_comment,
- ACTIONS(1596), 1,
- anon_sym_as,
- ACTIONS(1598), 1,
- anon_sym_SEMI,
- [21358] = 3,
+ STATE(380), 1,
+ sym_parameter_type_list,
+ [23782] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1600), 1,
- anon_sym_LBRACE,
- ACTIONS(1602), 1,
- anon_sym_extends,
- [21368] = 2,
+ ACTIONS(47), 1,
+ anon_sym_DQUOTE,
+ STATE(175), 1,
+ sym_string,
+ [23792] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1440), 2,
- anon_sym_LBRACE,
- anon_sym_COMMA,
- [21376] = 3,
+ ACTIONS(1545), 1,
+ sym_identifier,
+ STATE(579), 1,
+ sym_custom_type,
+ [23802] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1604), 1,
- anon_sym_SEMI,
- ACTIONS(1606), 1,
- anon_sym_EQ,
- [21386] = 3,
+ ACTIONS(1812), 1,
+ sym_reassignable,
+ ACTIONS(1924), 1,
+ sym_identifier,
+ [23812] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(787), 1,
- anon_sym_COLON,
- STATE(596), 1,
- sym__type_annotation,
- [21396] = 3,
+ ACTIONS(1545), 1,
+ sym_identifier,
+ STATE(454), 1,
+ sym_custom_type,
+ [23822] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1608), 1,
- anon_sym_SEMI,
- ACTIONS(1610), 1,
- anon_sym_EQ,
- [21406] = 3,
+ ACTIONS(1547), 1,
+ anon_sym_LPAREN,
+ STATE(557), 1,
+ sym_parameter_list,
+ [23832] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1612), 1,
+ ACTIONS(884), 1,
anon_sym_LBRACE,
- STATE(173), 1,
+ STATE(343), 1,
sym_block,
- [21416] = 3,
- ACTIONS(3), 1,
- sym_comment,
- ACTIONS(1574), 1,
- sym_identifier,
- ACTIONS(1614), 1,
- anon_sym_LBRACE,
- [21426] = 2,
+ [23842] = 2,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1616), 2,
- anon_sym_RBRACE,
+ ACTIONS(1926), 2,
anon_sym_COMMA,
- [21434] = 3,
+ anon_sym_RPAREN,
+ [23850] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1379), 1,
+ ACTIONS(1545), 1,
sym_identifier,
- STATE(520), 1,
- sym_keyword_argument,
- [21444] = 3,
- ACTIONS(3), 1,
- sym_comment,
- ACTIONS(815), 1,
- anon_sym_LBRACE,
- STATE(334), 1,
- sym_block,
- [21454] = 3,
+ STATE(459), 1,
+ sym_custom_type,
+ [23860] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(815), 1,
+ ACTIONS(884), 1,
anon_sym_LBRACE,
- STATE(301), 1,
+ STATE(97), 1,
sym_block,
- [21464] = 3,
+ [23870] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1612), 1,
+ ACTIONS(884), 1,
anon_sym_LBRACE,
- STATE(185), 1,
+ STATE(320), 1,
sym_block,
- [21474] = 3,
+ [23880] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(815), 1,
- anon_sym_LBRACE,
- STATE(318), 1,
- sym_block,
- [21484] = 3,
+ ACTIONS(1928), 1,
+ anon_sym_SEMI,
+ ACTIONS(1930), 1,
+ anon_sym_EQ,
+ [23890] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(815), 1,
+ ACTIONS(884), 1,
anon_sym_LBRACE,
- STATE(308), 1,
+ STATE(108), 1,
sym_block,
- [21494] = 3,
+ [23900] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1618), 1,
- anon_sym_SEMI,
- ACTIONS(1620), 1,
- anon_sym_EQ,
- [21504] = 2,
+ ACTIONS(1545), 1,
+ sym_identifier,
+ STATE(456), 1,
+ sym_custom_type,
+ [23910] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1622), 2,
- anon_sym_RBRACE,
- anon_sym_COMMA,
- [21512] = 3,
+ ACTIONS(1545), 1,
+ sym_identifier,
+ STATE(449), 1,
+ sym_custom_type,
+ [23920] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1572), 1,
+ ACTIONS(1545), 1,
sym_identifier,
- ACTIONS(1624), 1,
- anon_sym_RBRACE,
- [21522] = 3,
+ STATE(566), 1,
+ sym_custom_type,
+ [23930] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(815), 1,
- anon_sym_LBRACE,
- STATE(120), 1,
- sym_block,
- [21532] = 3,
+ ACTIONS(1545), 1,
+ sym_identifier,
+ STATE(448), 1,
+ sym_custom_type,
+ [23940] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1626), 1,
+ ACTIONS(1545), 1,
sym_identifier,
- ACTIONS(1628), 1,
- sym_reassignable,
- [21542] = 3,
+ STATE(561), 1,
+ sym_custom_type,
+ [23950] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1630), 1,
- anon_sym_SEMI,
- ACTIONS(1632), 1,
- anon_sym_EQ,
- [21552] = 3,
+ ACTIONS(858), 1,
+ anon_sym_COLON,
+ STATE(612), 1,
+ sym__type_annotation,
+ [23960] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1240), 1,
- anon_sym_QMARK,
- ACTIONS(1634), 1,
- anon_sym_GT,
- [21562] = 3,
+ ACTIONS(1730), 1,
+ anon_sym_RBRACE,
+ ACTIONS(1894), 1,
+ sym_identifier,
+ [23970] = 2,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(815), 1,
- anon_sym_LBRACE,
- STATE(126), 1,
- sym_block,
- [21572] = 3,
+ ACTIONS(1719), 2,
+ anon_sym_COMMA,
+ anon_sym_RPAREN,
+ [23978] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(446), 1,
- anon_sym_LPAREN,
- STATE(356), 1,
- sym_parameter_type_list,
- [21582] = 3,
+ ACTIONS(1932), 1,
+ anon_sym_SEMI,
+ ACTIONS(1934), 1,
+ anon_sym_EQ,
+ [23988] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(815), 1,
+ ACTIONS(884), 1,
anon_sym_LBRACE,
- STATE(293), 1,
+ STATE(317), 1,
sym_block,
- [21592] = 3,
+ [23998] = 3,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1936), 1,
+ anon_sym_SEMI,
+ ACTIONS(1938), 1,
+ anon_sym_EQ,
+ [24008] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(549), 1,
+ ACTIONS(1547), 1,
anon_sym_LPAREN,
- STATE(142), 1,
- sym_argument_list,
- [21602] = 3,
+ STATE(436), 1,
+ sym_parameter_list,
+ [24018] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(787), 1,
+ ACTIONS(858), 1,
anon_sym_COLON,
- STATE(527), 1,
+ STATE(655), 1,
sym__type_annotation,
- [21612] = 2,
- ACTIONS(3), 1,
- sym_comment,
- ACTIONS(1636), 2,
- anon_sym_COMMA,
- anon_sym_RPAREN,
- [21620] = 3,
+ [24028] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(815), 1,
+ ACTIONS(1862), 1,
anon_sym_LBRACE,
- STATE(92), 1,
+ STATE(220), 1,
sym_block,
- [21630] = 3,
+ [24038] = 3,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(858), 1,
+ anon_sym_COLON,
+ STATE(602), 1,
+ sym__type_annotation,
+ [24048] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1638), 1,
+ ACTIONS(1940), 1,
anon_sym_SEMI,
- ACTIONS(1640), 1,
+ ACTIONS(1942), 1,
anon_sym_EQ,
- [21640] = 3,
+ [24058] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1642), 1,
+ ACTIONS(1675), 1,
sym_identifier,
- STATE(530), 1,
- sym_custom_type,
- [21650] = 3,
+ STATE(631), 1,
+ sym_struct_literal_member,
+ [24068] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1642), 1,
+ ACTIONS(1944), 1,
sym_identifier,
- STATE(531), 1,
- sym_custom_type,
- [21660] = 3,
+ ACTIONS(1946), 1,
+ anon_sym_RBRACE,
+ [24078] = 3,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1316), 1,
+ ACTIONS(1547), 1,
anon_sym_LPAREN,
- STATE(416), 1,
+ STATE(512), 1,
sym_parameter_list,
- [21670] = 3,
+ [24088] = 2,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1316), 1,
- anon_sym_LPAREN,
- STATE(424), 1,
- sym_parameter_list,
- [21680] = 3,
+ ACTIONS(1948), 1,
+ anon_sym_LBRACE,
+ [24095] = 2,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1644), 1,
- sym_identifier,
- ACTIONS(1646), 1,
- anon_sym_RBRACE,
- [21690] = 3,
+ ACTIONS(1950), 1,
+ anon_sym_SEMI,
+ [24102] = 2,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1648), 1,
- sym_identifier,
- ACTIONS(1650), 1,
- anon_sym_LBRACE,
- [21700] = 3,
+ ACTIONS(1952), 1,
+ anon_sym_EQ_GT,
+ [24109] = 2,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1612), 1,
- anon_sym_LBRACE,
- STATE(188), 1,
- sym_block,
- [21710] = 3,
+ ACTIONS(1954), 1,
+ anon_sym_SEMI,
+ [24116] = 2,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1582), 1,
- anon_sym_LBRACK,
- ACTIONS(1652), 1,
- anon_sym_LBRACE,
- [21720] = 3,
+ ACTIONS(1956), 1,
+ anon_sym_SEMI,
+ [24123] = 2,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1612), 1,
- anon_sym_LBRACE,
- STATE(216), 1,
- sym_block,
- [21730] = 3,
+ ACTIONS(1958), 1,
+ anon_sym_SEMI,
+ [24130] = 2,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(787), 1,
- anon_sym_COLON,
- STATE(562), 1,
- sym__type_annotation,
- [21740] = 2,
+ ACTIONS(1960), 1,
+ sym_identifier,
+ [24137] = 2,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1654), 1,
+ ACTIONS(1962), 1,
sym_identifier,
- [21747] = 2,
+ [24144] = 2,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1656), 1,
- anon_sym_EQ,
- [21754] = 2,
+ ACTIONS(1964), 1,
+ anon_sym_COLON,
+ [24151] = 2,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1658), 1,
+ ACTIONS(1966), 1,
+ sym_identifier,
+ [24158] = 2,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1968), 1,
anon_sym_EQ_GT,
- [21761] = 2,
+ [24165] = 2,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1660), 1,
- sym_identifier,
- [21768] = 2,
+ ACTIONS(860), 1,
+ anon_sym_COLON,
+ [24172] = 2,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1662), 1,
- sym_identifier,
- [21775] = 2,
+ ACTIONS(1970), 1,
+ anon_sym_SEMI,
+ [24179] = 2,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1574), 1,
+ ACTIONS(1972), 1,
sym_identifier,
- [21782] = 2,
+ [24186] = 2,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1572), 1,
- sym_identifier,
- [21789] = 2,
+ ACTIONS(1974), 1,
+ anon_sym_SEMI,
+ [24193] = 2,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1664), 1,
- anon_sym_COLON,
- [21796] = 2,
+ ACTIONS(1976), 1,
+ anon_sym_SEMI,
+ [24200] = 2,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1978), 1,
+ anon_sym_SEMI,
+ [24207] = 2,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1666), 1,
+ ACTIONS(1980), 1,
sym_identifier,
- [21803] = 2,
+ [24214] = 2,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1668), 1,
+ ACTIONS(1982), 1,
+ anon_sym_SEMI,
+ [24221] = 2,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1984), 1,
sym_identifier,
- [21810] = 2,
+ [24228] = 2,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1986), 1,
+ anon_sym_SEMI,
+ [24235] = 2,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(1988), 1,
+ anon_sym_SEMI,
+ [24242] = 2,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1670), 1,
+ ACTIONS(1902), 1,
sym_identifier,
- [21817] = 2,
+ [24249] = 2,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(785), 1,
- anon_sym_COLON,
- [21824] = 2,
+ ACTIONS(1990), 1,
+ sym_identifier,
+ [24256] = 2,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1672), 1,
+ ACTIONS(1992), 1,
sym_identifier,
- [21831] = 2,
+ [24263] = 2,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1674), 1,
+ ACTIONS(1994), 1,
anon_sym_SEMI,
- [21838] = 2,
+ [24270] = 2,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1676), 1,
- anon_sym_LBRACE,
- [21845] = 2,
+ ACTIONS(1894), 1,
+ sym_identifier,
+ [24277] = 2,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1678), 1,
- anon_sym_EQ,
- [21852] = 2,
+ ACTIONS(1996), 1,
+ sym_identifier,
+ [24284] = 2,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1680), 1,
- anon_sym_EQ_GT,
- [21859] = 2,
+ ACTIONS(1998), 1,
+ sym_identifier,
+ [24291] = 2,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1682), 1,
+ ACTIONS(2000), 1,
sym_identifier,
- [21866] = 2,
+ [24298] = 2,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1684), 1,
+ ACTIONS(2002), 1,
sym_identifier,
- [21873] = 2,
+ [24305] = 2,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1686), 1,
+ ACTIONS(2004), 1,
sym_identifier,
- [21880] = 2,
+ [24312] = 2,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(781), 1,
+ ACTIONS(862), 1,
anon_sym_COLON,
- [21887] = 2,
+ [24319] = 2,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1688), 1,
- anon_sym_SEMI,
- [21894] = 2,
+ ACTIONS(2006), 1,
+ anon_sym_EQ,
+ [24326] = 2,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1690), 1,
+ ACTIONS(2008), 1,
+ sym_identifier,
+ [24333] = 2,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(2010), 1,
anon_sym_LBRACE,
- [21901] = 2,
+ [24340] = 2,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1692), 1,
+ ACTIONS(2012), 1,
ts_builtin_sym_end,
- [21908] = 2,
+ [24347] = 2,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1694), 1,
+ ACTIONS(2014), 1,
sym_identifier,
- [21915] = 2,
+ [24354] = 2,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1696), 1,
+ ACTIONS(2016), 1,
sym_identifier,
- [21922] = 2,
+ [24361] = 2,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1698), 1,
+ ACTIONS(2018), 1,
sym_identifier,
- [21929] = 2,
+ [24368] = 2,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1700), 1,
+ ACTIONS(2020), 1,
+ sym_identifier,
+ [24375] = 2,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(2022), 1,
+ sym_identifier,
+ [24382] = 2,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(2024), 1,
anon_sym_SEMI,
- [21936] = 2,
+ [24389] = 2,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1702), 1,
+ ACTIONS(2026), 1,
anon_sym_SEMI,
- [21943] = 2,
+ [24396] = 2,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1704), 1,
+ ACTIONS(2028), 1,
sym_identifier,
- [21950] = 2,
+ [24403] = 2,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1706), 1,
+ ACTIONS(2030), 1,
sym_identifier,
- [21957] = 2,
+ [24410] = 2,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1708), 1,
+ ACTIONS(2032), 1,
sym_identifier,
- [21964] = 2,
+ [24417] = 2,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1710), 1,
+ ACTIONS(2034), 1,
sym_identifier,
- [21971] = 2,
+ [24424] = 2,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1712), 1,
+ ACTIONS(2036), 1,
sym_identifier,
- [21978] = 2,
+ [24431] = 2,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1714), 1,
+ ACTIONS(2038), 1,
sym_identifier,
- [21985] = 2,
+ [24438] = 2,
ACTIONS(3), 1,
sym_comment,
- ACTIONS(1716), 1,
- sym_identifier,
+ ACTIONS(2040), 1,
+ anon_sym_EQ,
+ [24445] = 2,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(2042), 1,
+ anon_sym_SEMI,
+ [24452] = 2,
+ ACTIONS(3), 1,
+ sym_comment,
+ ACTIONS(2044), 1,
+ anon_sym_SEMI,
};
static const uint32_t ts_small_parse_table_map[] = {
@@ -23100,25 +25661,25 @@ static const uint32_t ts_small_parse_table_map[] = {
[SMALL_STATE(27)] = 1622,
[SMALL_STATE(28)] = 1744,
[SMALL_STATE(29)] = 1866,
- [SMALL_STATE(30)] = 1988,
- [SMALL_STATE(31)] = 2110,
- [SMALL_STATE(32)] = 2232,
- [SMALL_STATE(33)] = 2354,
- [SMALL_STATE(34)] = 2476,
- [SMALL_STATE(35)] = 2598,
- [SMALL_STATE(36)] = 2720,
- [SMALL_STATE(37)] = 2842,
- [SMALL_STATE(38)] = 2964,
- [SMALL_STATE(39)] = 3086,
- [SMALL_STATE(40)] = 3208,
- [SMALL_STATE(41)] = 3330,
- [SMALL_STATE(42)] = 3452,
- [SMALL_STATE(43)] = 3574,
- [SMALL_STATE(44)] = 3696,
- [SMALL_STATE(45)] = 3818,
- [SMALL_STATE(46)] = 3940,
- [SMALL_STATE(47)] = 4062,
- [SMALL_STATE(48)] = 4184,
+ [SMALL_STATE(30)] = 1990,
+ [SMALL_STATE(31)] = 2112,
+ [SMALL_STATE(32)] = 2234,
+ [SMALL_STATE(33)] = 2356,
+ [SMALL_STATE(34)] = 2478,
+ [SMALL_STATE(35)] = 2600,
+ [SMALL_STATE(36)] = 2722,
+ [SMALL_STATE(37)] = 2844,
+ [SMALL_STATE(38)] = 2966,
+ [SMALL_STATE(39)] = 3088,
+ [SMALL_STATE(40)] = 3210,
+ [SMALL_STATE(41)] = 3332,
+ [SMALL_STATE(42)] = 3454,
+ [SMALL_STATE(43)] = 3576,
+ [SMALL_STATE(44)] = 3698,
+ [SMALL_STATE(45)] = 3820,
+ [SMALL_STATE(46)] = 3942,
+ [SMALL_STATE(47)] = 4064,
+ [SMALL_STATE(48)] = 4186,
[SMALL_STATE(49)] = 4308,
[SMALL_STATE(50)] = 4430,
[SMALL_STATE(51)] = 4552,
@@ -23153,534 +25714,656 @@ static const uint32_t ts_small_parse_table_map[] = {
[SMALL_STATE(80)] = 8090,
[SMALL_STATE(81)] = 8212,
[SMALL_STATE(82)] = 8334,
- [SMALL_STATE(83)] = 8395,
- [SMALL_STATE(84)] = 8456,
- [SMALL_STATE(85)] = 8518,
- [SMALL_STATE(86)] = 8578,
- [SMALL_STATE(87)] = 8640,
- [SMALL_STATE(88)] = 8692,
- [SMALL_STATE(89)] = 8748,
- [SMALL_STATE(90)] = 8800,
- [SMALL_STATE(91)] = 8853,
- [SMALL_STATE(92)] = 8906,
- [SMALL_STATE(93)] = 8956,
- [SMALL_STATE(94)] = 9006,
- [SMALL_STATE(95)] = 9056,
- [SMALL_STATE(96)] = 9106,
- [SMALL_STATE(97)] = 9156,
- [SMALL_STATE(98)] = 9206,
- [SMALL_STATE(99)] = 9256,
- [SMALL_STATE(100)] = 9306,
- [SMALL_STATE(101)] = 9356,
- [SMALL_STATE(102)] = 9406,
- [SMALL_STATE(103)] = 9456,
- [SMALL_STATE(104)] = 9506,
- [SMALL_STATE(105)] = 9556,
- [SMALL_STATE(106)] = 9606,
- [SMALL_STATE(107)] = 9656,
- [SMALL_STATE(108)] = 9706,
- [SMALL_STATE(109)] = 9756,
- [SMALL_STATE(110)] = 9806,
- [SMALL_STATE(111)] = 9856,
- [SMALL_STATE(112)] = 9906,
- [SMALL_STATE(113)] = 9956,
- [SMALL_STATE(114)] = 10006,
- [SMALL_STATE(115)] = 10056,
- [SMALL_STATE(116)] = 10106,
- [SMALL_STATE(117)] = 10156,
- [SMALL_STATE(118)] = 10206,
- [SMALL_STATE(119)] = 10256,
- [SMALL_STATE(120)] = 10306,
- [SMALL_STATE(121)] = 10356,
- [SMALL_STATE(122)] = 10406,
- [SMALL_STATE(123)] = 10456,
- [SMALL_STATE(124)] = 10506,
- [SMALL_STATE(125)] = 10556,
- [SMALL_STATE(126)] = 10606,
- [SMALL_STATE(127)] = 10656,
- [SMALL_STATE(128)] = 10706,
- [SMALL_STATE(129)] = 10756,
- [SMALL_STATE(130)] = 10822,
- [SMALL_STATE(131)] = 10878,
- [SMALL_STATE(132)] = 10934,
- [SMALL_STATE(133)] = 10990,
- [SMALL_STATE(134)] = 11033,
- [SMALL_STATE(135)] = 11076,
- [SMALL_STATE(136)] = 11129,
- [SMALL_STATE(137)] = 11182,
- [SMALL_STATE(138)] = 11221,
- [SMALL_STATE(139)] = 11258,
- [SMALL_STATE(140)] = 11311,
- [SMALL_STATE(141)] = 11364,
- [SMALL_STATE(142)] = 11401,
- [SMALL_STATE(143)] = 11446,
- [SMALL_STATE(144)] = 11499,
- [SMALL_STATE(145)] = 11536,
- [SMALL_STATE(146)] = 11572,
- [SMALL_STATE(147)] = 11608,
- [SMALL_STATE(148)] = 11644,
- [SMALL_STATE(149)] = 11680,
- [SMALL_STATE(150)] = 11716,
- [SMALL_STATE(151)] = 11752,
- [SMALL_STATE(152)] = 11788,
- [SMALL_STATE(153)] = 11824,
- [SMALL_STATE(154)] = 11860,
- [SMALL_STATE(155)] = 11896,
- [SMALL_STATE(156)] = 11935,
- [SMALL_STATE(157)] = 11970,
- [SMALL_STATE(158)] = 12011,
- [SMALL_STATE(159)] = 12045,
- [SMALL_STATE(160)] = 12079,
- [SMALL_STATE(161)] = 12113,
- [SMALL_STATE(162)] = 12147,
- [SMALL_STATE(163)] = 12181,
- [SMALL_STATE(164)] = 12215,
- [SMALL_STATE(165)] = 12249,
- [SMALL_STATE(166)] = 12283,
- [SMALL_STATE(167)] = 12317,
- [SMALL_STATE(168)] = 12351,
- [SMALL_STATE(169)] = 12385,
- [SMALL_STATE(170)] = 12419,
- [SMALL_STATE(171)] = 12453,
- [SMALL_STATE(172)] = 12487,
- [SMALL_STATE(173)] = 12521,
- [SMALL_STATE(174)] = 12555,
- [SMALL_STATE(175)] = 12589,
- [SMALL_STATE(176)] = 12623,
- [SMALL_STATE(177)] = 12657,
- [SMALL_STATE(178)] = 12691,
- [SMALL_STATE(179)] = 12741,
- [SMALL_STATE(180)] = 12789,
- [SMALL_STATE(181)] = 12833,
- [SMALL_STATE(182)] = 12875,
- [SMALL_STATE(183)] = 12931,
- [SMALL_STATE(184)] = 12985,
- [SMALL_STATE(185)] = 13037,
- [SMALL_STATE(186)] = 13071,
- [SMALL_STATE(187)] = 13105,
- [SMALL_STATE(188)] = 13139,
- [SMALL_STATE(189)] = 13173,
- [SMALL_STATE(190)] = 13207,
- [SMALL_STATE(191)] = 13241,
- [SMALL_STATE(192)] = 13275,
- [SMALL_STATE(193)] = 13309,
- [SMALL_STATE(194)] = 13343,
- [SMALL_STATE(195)] = 13377,
- [SMALL_STATE(196)] = 13411,
- [SMALL_STATE(197)] = 13445,
- [SMALL_STATE(198)] = 13479,
- [SMALL_STATE(199)] = 13513,
- [SMALL_STATE(200)] = 13547,
- [SMALL_STATE(201)] = 13581,
- [SMALL_STATE(202)] = 13615,
- [SMALL_STATE(203)] = 13649,
- [SMALL_STATE(204)] = 13683,
- [SMALL_STATE(205)] = 13717,
- [SMALL_STATE(206)] = 13751,
- [SMALL_STATE(207)] = 13785,
- [SMALL_STATE(208)] = 13819,
- [SMALL_STATE(209)] = 13863,
- [SMALL_STATE(210)] = 13923,
- [SMALL_STATE(211)] = 13983,
- [SMALL_STATE(212)] = 14017,
- [SMALL_STATE(213)] = 14051,
- [SMALL_STATE(214)] = 14085,
- [SMALL_STATE(215)] = 14145,
- [SMALL_STATE(216)] = 14179,
- [SMALL_STATE(217)] = 14213,
- [SMALL_STATE(218)] = 14247,
- [SMALL_STATE(219)] = 14281,
- [SMALL_STATE(220)] = 14315,
- [SMALL_STATE(221)] = 14349,
- [SMALL_STATE(222)] = 14383,
- [SMALL_STATE(223)] = 14417,
- [SMALL_STATE(224)] = 14458,
- [SMALL_STATE(225)] = 14499,
- [SMALL_STATE(226)] = 14540,
- [SMALL_STATE(227)] = 14583,
- [SMALL_STATE(228)] = 14645,
- [SMALL_STATE(229)] = 14707,
- [SMALL_STATE(230)] = 14769,
- [SMALL_STATE(231)] = 14831,
- [SMALL_STATE(232)] = 14889,
- [SMALL_STATE(233)] = 14946,
- [SMALL_STATE(234)] = 15003,
- [SMALL_STATE(235)] = 15034,
- [SMALL_STATE(236)] = 15093,
- [SMALL_STATE(237)] = 15128,
- [SMALL_STATE(238)] = 15185,
- [SMALL_STATE(239)] = 15242,
- [SMALL_STATE(240)] = 15301,
- [SMALL_STATE(241)] = 15334,
- [SMALL_STATE(242)] = 15393,
- [SMALL_STATE(243)] = 15452,
- [SMALL_STATE(244)] = 15508,
- [SMALL_STATE(245)] = 15546,
- [SMALL_STATE(246)] = 15602,
- [SMALL_STATE(247)] = 15658,
- [SMALL_STATE(248)] = 15714,
- [SMALL_STATE(249)] = 15770,
- [SMALL_STATE(250)] = 15818,
- [SMALL_STATE(251)] = 15874,
- [SMALL_STATE(252)] = 15930,
- [SMALL_STATE(253)] = 15986,
- [SMALL_STATE(254)] = 16042,
- [SMALL_STATE(255)] = 16098,
- [SMALL_STATE(256)] = 16144,
- [SMALL_STATE(257)] = 16188,
- [SMALL_STATE(258)] = 16244,
- [SMALL_STATE(259)] = 16300,
- [SMALL_STATE(260)] = 16356,
- [SMALL_STATE(261)] = 16412,
- [SMALL_STATE(262)] = 16468,
- [SMALL_STATE(263)] = 16524,
- [SMALL_STATE(264)] = 16564,
- [SMALL_STATE(265)] = 16620,
- [SMALL_STATE(266)] = 16656,
- [SMALL_STATE(267)] = 16696,
- [SMALL_STATE(268)] = 16752,
- [SMALL_STATE(269)] = 16808,
- [SMALL_STATE(270)] = 16864,
- [SMALL_STATE(271)] = 16920,
- [SMALL_STATE(272)] = 16976,
- [SMALL_STATE(273)] = 17032,
- [SMALL_STATE(274)] = 17084,
- [SMALL_STATE(275)] = 17140,
- [SMALL_STATE(276)] = 17196,
- [SMALL_STATE(277)] = 17228,
- [SMALL_STATE(278)] = 17278,
- [SMALL_STATE(279)] = 17334,
- [SMALL_STATE(280)] = 17390,
- [SMALL_STATE(281)] = 17446,
- [SMALL_STATE(282)] = 17502,
- [SMALL_STATE(283)] = 17533,
- [SMALL_STATE(284)] = 17586,
- [SMALL_STATE(285)] = 17629,
- [SMALL_STATE(286)] = 17672,
- [SMALL_STATE(287)] = 17715,
- [SMALL_STATE(288)] = 17758,
- [SMALL_STATE(289)] = 17801,
- [SMALL_STATE(290)] = 17824,
- [SMALL_STATE(291)] = 17847,
- [SMALL_STATE(292)] = 17870,
- [SMALL_STATE(293)] = 17888,
- [SMALL_STATE(294)] = 17906,
- [SMALL_STATE(295)] = 17924,
- [SMALL_STATE(296)] = 17942,
- [SMALL_STATE(297)] = 17960,
- [SMALL_STATE(298)] = 17978,
- [SMALL_STATE(299)] = 17996,
- [SMALL_STATE(300)] = 18014,
- [SMALL_STATE(301)] = 18032,
- [SMALL_STATE(302)] = 18050,
- [SMALL_STATE(303)] = 18068,
- [SMALL_STATE(304)] = 18086,
- [SMALL_STATE(305)] = 18104,
- [SMALL_STATE(306)] = 18122,
- [SMALL_STATE(307)] = 18140,
- [SMALL_STATE(308)] = 18158,
- [SMALL_STATE(309)] = 18176,
- [SMALL_STATE(310)] = 18194,
- [SMALL_STATE(311)] = 18212,
- [SMALL_STATE(312)] = 18230,
- [SMALL_STATE(313)] = 18248,
- [SMALL_STATE(314)] = 18266,
- [SMALL_STATE(315)] = 18284,
- [SMALL_STATE(316)] = 18302,
- [SMALL_STATE(317)] = 18320,
- [SMALL_STATE(318)] = 18338,
- [SMALL_STATE(319)] = 18356,
- [SMALL_STATE(320)] = 18374,
- [SMALL_STATE(321)] = 18392,
- [SMALL_STATE(322)] = 18410,
- [SMALL_STATE(323)] = 18428,
- [SMALL_STATE(324)] = 18446,
- [SMALL_STATE(325)] = 18464,
- [SMALL_STATE(326)] = 18482,
- [SMALL_STATE(327)] = 18500,
- [SMALL_STATE(328)] = 18518,
- [SMALL_STATE(329)] = 18536,
- [SMALL_STATE(330)] = 18554,
- [SMALL_STATE(331)] = 18572,
- [SMALL_STATE(332)] = 18590,
- [SMALL_STATE(333)] = 18608,
- [SMALL_STATE(334)] = 18626,
- [SMALL_STATE(335)] = 18644,
- [SMALL_STATE(336)] = 18662,
- [SMALL_STATE(337)] = 18680,
- [SMALL_STATE(338)] = 18698,
- [SMALL_STATE(339)] = 18716,
- [SMALL_STATE(340)] = 18734,
- [SMALL_STATE(341)] = 18752,
- [SMALL_STATE(342)] = 18770,
- [SMALL_STATE(343)] = 18788,
- [SMALL_STATE(344)] = 18806,
- [SMALL_STATE(345)] = 18824,
- [SMALL_STATE(346)] = 18842,
- [SMALL_STATE(347)] = 18860,
- [SMALL_STATE(348)] = 18878,
- [SMALL_STATE(349)] = 18896,
- [SMALL_STATE(350)] = 18914,
- [SMALL_STATE(351)] = 18932,
- [SMALL_STATE(352)] = 18950,
- [SMALL_STATE(353)] = 18969,
- [SMALL_STATE(354)] = 18986,
- [SMALL_STATE(355)] = 19003,
- [SMALL_STATE(356)] = 19020,
- [SMALL_STATE(357)] = 19039,
- [SMALL_STATE(358)] = 19056,
- [SMALL_STATE(359)] = 19073,
- [SMALL_STATE(360)] = 19089,
- [SMALL_STATE(361)] = 19107,
- [SMALL_STATE(362)] = 19123,
- [SMALL_STATE(363)] = 19141,
- [SMALL_STATE(364)] = 19158,
- [SMALL_STATE(365)] = 19174,
- [SMALL_STATE(366)] = 19192,
- [SMALL_STATE(367)] = 19208,
- [SMALL_STATE(368)] = 19226,
- [SMALL_STATE(369)] = 19244,
- [SMALL_STATE(370)] = 19266,
- [SMALL_STATE(371)] = 19285,
- [SMALL_STATE(372)] = 19304,
- [SMALL_STATE(373)] = 19323,
- [SMALL_STATE(374)] = 19342,
- [SMALL_STATE(375)] = 19361,
- [SMALL_STATE(376)] = 19380,
- [SMALL_STATE(377)] = 19399,
- [SMALL_STATE(378)] = 19418,
- [SMALL_STATE(379)] = 19429,
- [SMALL_STATE(380)] = 19445,
- [SMALL_STATE(381)] = 19461,
- [SMALL_STATE(382)] = 19475,
- [SMALL_STATE(383)] = 19491,
- [SMALL_STATE(384)] = 19505,
- [SMALL_STATE(385)] = 19519,
- [SMALL_STATE(386)] = 19535,
- [SMALL_STATE(387)] = 19551,
- [SMALL_STATE(388)] = 19565,
- [SMALL_STATE(389)] = 19577,
- [SMALL_STATE(390)] = 19593,
- [SMALL_STATE(391)] = 19607,
- [SMALL_STATE(392)] = 19623,
- [SMALL_STATE(393)] = 19639,
- [SMALL_STATE(394)] = 19655,
- [SMALL_STATE(395)] = 19671,
- [SMALL_STATE(396)] = 19687,
- [SMALL_STATE(397)] = 19703,
- [SMALL_STATE(398)] = 19719,
- [SMALL_STATE(399)] = 19733,
- [SMALL_STATE(400)] = 19749,
- [SMALL_STATE(401)] = 19765,
- [SMALL_STATE(402)] = 19781,
- [SMALL_STATE(403)] = 19797,
- [SMALL_STATE(404)] = 19813,
- [SMALL_STATE(405)] = 19829,
- [SMALL_STATE(406)] = 19845,
- [SMALL_STATE(407)] = 19859,
- [SMALL_STATE(408)] = 19875,
- [SMALL_STATE(409)] = 19889,
- [SMALL_STATE(410)] = 19903,
- [SMALL_STATE(411)] = 19917,
- [SMALL_STATE(412)] = 19933,
- [SMALL_STATE(413)] = 19947,
- [SMALL_STATE(414)] = 19961,
- [SMALL_STATE(415)] = 19977,
- [SMALL_STATE(416)] = 19993,
- [SMALL_STATE(417)] = 20009,
- [SMALL_STATE(418)] = 20022,
- [SMALL_STATE(419)] = 20031,
- [SMALL_STATE(420)] = 20042,
- [SMALL_STATE(421)] = 20055,
- [SMALL_STATE(422)] = 20068,
- [SMALL_STATE(423)] = 20081,
- [SMALL_STATE(424)] = 20094,
- [SMALL_STATE(425)] = 20107,
- [SMALL_STATE(426)] = 20120,
- [SMALL_STATE(427)] = 20133,
- [SMALL_STATE(428)] = 20146,
- [SMALL_STATE(429)] = 20159,
- [SMALL_STATE(430)] = 20172,
- [SMALL_STATE(431)] = 20185,
- [SMALL_STATE(432)] = 20198,
- [SMALL_STATE(433)] = 20207,
- [SMALL_STATE(434)] = 20220,
- [SMALL_STATE(435)] = 20233,
- [SMALL_STATE(436)] = 20246,
- [SMALL_STATE(437)] = 20259,
- [SMALL_STATE(438)] = 20272,
- [SMALL_STATE(439)] = 20285,
- [SMALL_STATE(440)] = 20294,
- [SMALL_STATE(441)] = 20307,
- [SMALL_STATE(442)] = 20320,
- [SMALL_STATE(443)] = 20333,
- [SMALL_STATE(444)] = 20346,
- [SMALL_STATE(445)] = 20359,
- [SMALL_STATE(446)] = 20372,
- [SMALL_STATE(447)] = 20385,
- [SMALL_STATE(448)] = 20398,
- [SMALL_STATE(449)] = 20411,
- [SMALL_STATE(450)] = 20424,
- [SMALL_STATE(451)] = 20437,
- [SMALL_STATE(452)] = 20450,
- [SMALL_STATE(453)] = 20463,
- [SMALL_STATE(454)] = 20476,
- [SMALL_STATE(455)] = 20489,
- [SMALL_STATE(456)] = 20498,
- [SMALL_STATE(457)] = 20511,
- [SMALL_STATE(458)] = 20524,
- [SMALL_STATE(459)] = 20537,
- [SMALL_STATE(460)] = 20550,
- [SMALL_STATE(461)] = 20563,
- [SMALL_STATE(462)] = 20576,
- [SMALL_STATE(463)] = 20589,
- [SMALL_STATE(464)] = 20602,
- [SMALL_STATE(465)] = 20615,
- [SMALL_STATE(466)] = 20628,
- [SMALL_STATE(467)] = 20641,
- [SMALL_STATE(468)] = 20654,
- [SMALL_STATE(469)] = 20667,
- [SMALL_STATE(470)] = 20680,
- [SMALL_STATE(471)] = 20693,
- [SMALL_STATE(472)] = 20706,
- [SMALL_STATE(473)] = 20719,
- [SMALL_STATE(474)] = 20732,
- [SMALL_STATE(475)] = 20745,
- [SMALL_STATE(476)] = 20758,
- [SMALL_STATE(477)] = 20771,
- [SMALL_STATE(478)] = 20784,
- [SMALL_STATE(479)] = 20797,
- [SMALL_STATE(480)] = 20810,
- [SMALL_STATE(481)] = 20820,
- [SMALL_STATE(482)] = 20830,
- [SMALL_STATE(483)] = 20840,
- [SMALL_STATE(484)] = 20848,
- [SMALL_STATE(485)] = 20858,
- [SMALL_STATE(486)] = 20868,
- [SMALL_STATE(487)] = 20878,
- [SMALL_STATE(488)] = 20888,
- [SMALL_STATE(489)] = 20898,
- [SMALL_STATE(490)] = 20908,
- [SMALL_STATE(491)] = 20918,
- [SMALL_STATE(492)] = 20928,
- [SMALL_STATE(493)] = 20936,
- [SMALL_STATE(494)] = 20946,
- [SMALL_STATE(495)] = 20956,
- [SMALL_STATE(496)] = 20966,
- [SMALL_STATE(497)] = 20976,
- [SMALL_STATE(498)] = 20986,
- [SMALL_STATE(499)] = 20996,
- [SMALL_STATE(500)] = 21006,
- [SMALL_STATE(501)] = 21016,
- [SMALL_STATE(502)] = 21026,
- [SMALL_STATE(503)] = 21036,
- [SMALL_STATE(504)] = 21046,
- [SMALL_STATE(505)] = 21056,
- [SMALL_STATE(506)] = 21066,
- [SMALL_STATE(507)] = 21076,
- [SMALL_STATE(508)] = 21086,
- [SMALL_STATE(509)] = 21096,
- [SMALL_STATE(510)] = 21106,
- [SMALL_STATE(511)] = 21116,
- [SMALL_STATE(512)] = 21126,
- [SMALL_STATE(513)] = 21136,
- [SMALL_STATE(514)] = 21146,
- [SMALL_STATE(515)] = 21156,
- [SMALL_STATE(516)] = 21166,
- [SMALL_STATE(517)] = 21176,
- [SMALL_STATE(518)] = 21186,
- [SMALL_STATE(519)] = 21196,
- [SMALL_STATE(520)] = 21206,
- [SMALL_STATE(521)] = 21214,
- [SMALL_STATE(522)] = 21222,
- [SMALL_STATE(523)] = 21232,
- [SMALL_STATE(524)] = 21242,
- [SMALL_STATE(525)] = 21252,
- [SMALL_STATE(526)] = 21260,
- [SMALL_STATE(527)] = 21270,
- [SMALL_STATE(528)] = 21278,
- [SMALL_STATE(529)] = 21288,
- [SMALL_STATE(530)] = 21298,
- [SMALL_STATE(531)] = 21308,
- [SMALL_STATE(532)] = 21318,
- [SMALL_STATE(533)] = 21328,
- [SMALL_STATE(534)] = 21338,
- [SMALL_STATE(535)] = 21348,
- [SMALL_STATE(536)] = 21358,
- [SMALL_STATE(537)] = 21368,
- [SMALL_STATE(538)] = 21376,
- [SMALL_STATE(539)] = 21386,
- [SMALL_STATE(540)] = 21396,
- [SMALL_STATE(541)] = 21406,
- [SMALL_STATE(542)] = 21416,
- [SMALL_STATE(543)] = 21426,
- [SMALL_STATE(544)] = 21434,
- [SMALL_STATE(545)] = 21444,
- [SMALL_STATE(546)] = 21454,
- [SMALL_STATE(547)] = 21464,
- [SMALL_STATE(548)] = 21474,
- [SMALL_STATE(549)] = 21484,
- [SMALL_STATE(550)] = 21494,
- [SMALL_STATE(551)] = 21504,
- [SMALL_STATE(552)] = 21512,
- [SMALL_STATE(553)] = 21522,
- [SMALL_STATE(554)] = 21532,
- [SMALL_STATE(555)] = 21542,
- [SMALL_STATE(556)] = 21552,
- [SMALL_STATE(557)] = 21562,
- [SMALL_STATE(558)] = 21572,
- [SMALL_STATE(559)] = 21582,
- [SMALL_STATE(560)] = 21592,
- [SMALL_STATE(561)] = 21602,
- [SMALL_STATE(562)] = 21612,
- [SMALL_STATE(563)] = 21620,
- [SMALL_STATE(564)] = 21630,
- [SMALL_STATE(565)] = 21640,
- [SMALL_STATE(566)] = 21650,
- [SMALL_STATE(567)] = 21660,
- [SMALL_STATE(568)] = 21670,
- [SMALL_STATE(569)] = 21680,
- [SMALL_STATE(570)] = 21690,
- [SMALL_STATE(571)] = 21700,
- [SMALL_STATE(572)] = 21710,
- [SMALL_STATE(573)] = 21720,
- [SMALL_STATE(574)] = 21730,
- [SMALL_STATE(575)] = 21740,
- [SMALL_STATE(576)] = 21747,
- [SMALL_STATE(577)] = 21754,
- [SMALL_STATE(578)] = 21761,
- [SMALL_STATE(579)] = 21768,
- [SMALL_STATE(580)] = 21775,
- [SMALL_STATE(581)] = 21782,
- [SMALL_STATE(582)] = 21789,
- [SMALL_STATE(583)] = 21796,
- [SMALL_STATE(584)] = 21803,
- [SMALL_STATE(585)] = 21810,
- [SMALL_STATE(586)] = 21817,
- [SMALL_STATE(587)] = 21824,
- [SMALL_STATE(588)] = 21831,
- [SMALL_STATE(589)] = 21838,
- [SMALL_STATE(590)] = 21845,
- [SMALL_STATE(591)] = 21852,
- [SMALL_STATE(592)] = 21859,
- [SMALL_STATE(593)] = 21866,
- [SMALL_STATE(594)] = 21873,
- [SMALL_STATE(595)] = 21880,
- [SMALL_STATE(596)] = 21887,
- [SMALL_STATE(597)] = 21894,
- [SMALL_STATE(598)] = 21901,
- [SMALL_STATE(599)] = 21908,
- [SMALL_STATE(600)] = 21915,
- [SMALL_STATE(601)] = 21922,
- [SMALL_STATE(602)] = 21929,
- [SMALL_STATE(603)] = 21936,
- [SMALL_STATE(604)] = 21943,
- [SMALL_STATE(605)] = 21950,
- [SMALL_STATE(606)] = 21957,
- [SMALL_STATE(607)] = 21964,
- [SMALL_STATE(608)] = 21971,
- [SMALL_STATE(609)] = 21978,
- [SMALL_STATE(610)] = 21985,
+ [SMALL_STATE(83)] = 8396,
+ [SMALL_STATE(84)] = 8458,
+ [SMALL_STATE(85)] = 8519,
+ [SMALL_STATE(86)] = 8582,
+ [SMALL_STATE(87)] = 8645,
+ [SMALL_STATE(88)] = 8702,
+ [SMALL_STATE(89)] = 8755,
+ [SMALL_STATE(90)] = 8808,
+ [SMALL_STATE(91)] = 8862,
+ [SMALL_STATE(92)] = 8916,
+ [SMALL_STATE(93)] = 8967,
+ [SMALL_STATE(94)] = 9018,
+ [SMALL_STATE(95)] = 9069,
+ [SMALL_STATE(96)] = 9120,
+ [SMALL_STATE(97)] = 9171,
+ [SMALL_STATE(98)] = 9222,
+ [SMALL_STATE(99)] = 9273,
+ [SMALL_STATE(100)] = 9324,
+ [SMALL_STATE(101)] = 9375,
+ [SMALL_STATE(102)] = 9426,
+ [SMALL_STATE(103)] = 9477,
+ [SMALL_STATE(104)] = 9528,
+ [SMALL_STATE(105)] = 9579,
+ [SMALL_STATE(106)] = 9630,
+ [SMALL_STATE(107)] = 9681,
+ [SMALL_STATE(108)] = 9732,
+ [SMALL_STATE(109)] = 9783,
+ [SMALL_STATE(110)] = 9834,
+ [SMALL_STATE(111)] = 9885,
+ [SMALL_STATE(112)] = 9936,
+ [SMALL_STATE(113)] = 9987,
+ [SMALL_STATE(114)] = 10038,
+ [SMALL_STATE(115)] = 10089,
+ [SMALL_STATE(116)] = 10140,
+ [SMALL_STATE(117)] = 10191,
+ [SMALL_STATE(118)] = 10242,
+ [SMALL_STATE(119)] = 10293,
+ [SMALL_STATE(120)] = 10344,
+ [SMALL_STATE(121)] = 10395,
+ [SMALL_STATE(122)] = 10446,
+ [SMALL_STATE(123)] = 10497,
+ [SMALL_STATE(124)] = 10548,
+ [SMALL_STATE(125)] = 10599,
+ [SMALL_STATE(126)] = 10650,
+ [SMALL_STATE(127)] = 10701,
+ [SMALL_STATE(128)] = 10752,
+ [SMALL_STATE(129)] = 10803,
+ [SMALL_STATE(130)] = 10854,
+ [SMALL_STATE(131)] = 10905,
+ [SMALL_STATE(132)] = 10956,
+ [SMALL_STATE(133)] = 11007,
+ [SMALL_STATE(134)] = 11058,
+ [SMALL_STATE(135)] = 11109,
+ [SMALL_STATE(136)] = 11160,
+ [SMALL_STATE(137)] = 11211,
+ [SMALL_STATE(138)] = 11262,
+ [SMALL_STATE(139)] = 11313,
+ [SMALL_STATE(140)] = 11364,
+ [SMALL_STATE(141)] = 11415,
+ [SMALL_STATE(142)] = 11466,
+ [SMALL_STATE(143)] = 11517,
+ [SMALL_STATE(144)] = 11568,
+ [SMALL_STATE(145)] = 11619,
+ [SMALL_STATE(146)] = 11670,
+ [SMALL_STATE(147)] = 11721,
+ [SMALL_STATE(148)] = 11787,
+ [SMALL_STATE(149)] = 11843,
+ [SMALL_STATE(150)] = 11899,
+ [SMALL_STATE(151)] = 11955,
+ [SMALL_STATE(152)] = 12008,
+ [SMALL_STATE(153)] = 12061,
+ [SMALL_STATE(154)] = 12114,
+ [SMALL_STATE(155)] = 12167,
+ [SMALL_STATE(156)] = 12210,
+ [SMALL_STATE(157)] = 12249,
+ [SMALL_STATE(158)] = 12286,
+ [SMALL_STATE(159)] = 12329,
+ [SMALL_STATE(160)] = 12366,
+ [SMALL_STATE(161)] = 12411,
+ [SMALL_STATE(162)] = 12448,
+ [SMALL_STATE(163)] = 12501,
+ [SMALL_STATE(164)] = 12537,
+ [SMALL_STATE(165)] = 12573,
+ [SMALL_STATE(166)] = 12609,
+ [SMALL_STATE(167)] = 12645,
+ [SMALL_STATE(168)] = 12681,
+ [SMALL_STATE(169)] = 12717,
+ [SMALL_STATE(170)] = 12753,
+ [SMALL_STATE(171)] = 12789,
+ [SMALL_STATE(172)] = 12825,
+ [SMALL_STATE(173)] = 12861,
+ [SMALL_STATE(174)] = 12900,
+ [SMALL_STATE(175)] = 12941,
+ [SMALL_STATE(176)] = 12976,
+ [SMALL_STATE(177)] = 13010,
+ [SMALL_STATE(178)] = 13044,
+ [SMALL_STATE(179)] = 13078,
+ [SMALL_STATE(180)] = 13112,
+ [SMALL_STATE(181)] = 13146,
+ [SMALL_STATE(182)] = 13180,
+ [SMALL_STATE(183)] = 13214,
+ [SMALL_STATE(184)] = 13274,
+ [SMALL_STATE(185)] = 13308,
+ [SMALL_STATE(186)] = 13342,
+ [SMALL_STATE(187)] = 13376,
+ [SMALL_STATE(188)] = 13436,
+ [SMALL_STATE(189)] = 13470,
+ [SMALL_STATE(190)] = 13504,
+ [SMALL_STATE(191)] = 13538,
+ [SMALL_STATE(192)] = 13572,
+ [SMALL_STATE(193)] = 13622,
+ [SMALL_STATE(194)] = 13670,
+ [SMALL_STATE(195)] = 13714,
+ [SMALL_STATE(196)] = 13756,
+ [SMALL_STATE(197)] = 13812,
+ [SMALL_STATE(198)] = 13866,
+ [SMALL_STATE(199)] = 13918,
+ [SMALL_STATE(200)] = 13952,
+ [SMALL_STATE(201)] = 13986,
+ [SMALL_STATE(202)] = 14020,
+ [SMALL_STATE(203)] = 14054,
+ [SMALL_STATE(204)] = 14088,
+ [SMALL_STATE(205)] = 14122,
+ [SMALL_STATE(206)] = 14156,
+ [SMALL_STATE(207)] = 14190,
+ [SMALL_STATE(208)] = 14234,
+ [SMALL_STATE(209)] = 14268,
+ [SMALL_STATE(210)] = 14302,
+ [SMALL_STATE(211)] = 14336,
+ [SMALL_STATE(212)] = 14370,
+ [SMALL_STATE(213)] = 14404,
+ [SMALL_STATE(214)] = 14438,
+ [SMALL_STATE(215)] = 14472,
+ [SMALL_STATE(216)] = 14506,
+ [SMALL_STATE(217)] = 14540,
+ [SMALL_STATE(218)] = 14574,
+ [SMALL_STATE(219)] = 14608,
+ [SMALL_STATE(220)] = 14668,
+ [SMALL_STATE(221)] = 14702,
+ [SMALL_STATE(222)] = 14736,
+ [SMALL_STATE(223)] = 14770,
+ [SMALL_STATE(224)] = 14804,
+ [SMALL_STATE(225)] = 14838,
+ [SMALL_STATE(226)] = 14872,
+ [SMALL_STATE(227)] = 14906,
+ [SMALL_STATE(228)] = 14940,
+ [SMALL_STATE(229)] = 14974,
+ [SMALL_STATE(230)] = 15008,
+ [SMALL_STATE(231)] = 15042,
+ [SMALL_STATE(232)] = 15076,
+ [SMALL_STATE(233)] = 15110,
+ [SMALL_STATE(234)] = 15144,
+ [SMALL_STATE(235)] = 15178,
+ [SMALL_STATE(236)] = 15212,
+ [SMALL_STATE(237)] = 15246,
+ [SMALL_STATE(238)] = 15280,
+ [SMALL_STATE(239)] = 15314,
+ [SMALL_STATE(240)] = 15348,
+ [SMALL_STATE(241)] = 15382,
+ [SMALL_STATE(242)] = 15425,
+ [SMALL_STATE(243)] = 15466,
+ [SMALL_STATE(244)] = 15507,
+ [SMALL_STATE(245)] = 15548,
+ [SMALL_STATE(246)] = 15610,
+ [SMALL_STATE(247)] = 15668,
+ [SMALL_STATE(248)] = 15730,
+ [SMALL_STATE(249)] = 15792,
+ [SMALL_STATE(250)] = 15854,
+ [SMALL_STATE(251)] = 15913,
+ [SMALL_STATE(252)] = 15972,
+ [SMALL_STATE(253)] = 16005,
+ [SMALL_STATE(254)] = 16062,
+ [SMALL_STATE(255)] = 16121,
+ [SMALL_STATE(256)] = 16178,
+ [SMALL_STATE(257)] = 16209,
+ [SMALL_STATE(258)] = 16268,
+ [SMALL_STATE(259)] = 16325,
+ [SMALL_STATE(260)] = 16382,
+ [SMALL_STATE(261)] = 16417,
+ [SMALL_STATE(262)] = 16473,
+ [SMALL_STATE(263)] = 16529,
+ [SMALL_STATE(264)] = 16585,
+ [SMALL_STATE(265)] = 16641,
+ [SMALL_STATE(266)] = 16697,
+ [SMALL_STATE(267)] = 16753,
+ [SMALL_STATE(268)] = 16809,
+ [SMALL_STATE(269)] = 16845,
+ [SMALL_STATE(270)] = 16901,
+ [SMALL_STATE(271)] = 16957,
+ [SMALL_STATE(272)] = 16997,
+ [SMALL_STATE(273)] = 17053,
+ [SMALL_STATE(274)] = 17109,
+ [SMALL_STATE(275)] = 17165,
+ [SMALL_STATE(276)] = 17221,
+ [SMALL_STATE(277)] = 17277,
+ [SMALL_STATE(278)] = 17333,
+ [SMALL_STATE(279)] = 17389,
+ [SMALL_STATE(280)] = 17445,
+ [SMALL_STATE(281)] = 17501,
+ [SMALL_STATE(282)] = 17549,
+ [SMALL_STATE(283)] = 17605,
+ [SMALL_STATE(284)] = 17661,
+ [SMALL_STATE(285)] = 17717,
+ [SMALL_STATE(286)] = 17767,
+ [SMALL_STATE(287)] = 17819,
+ [SMALL_STATE(288)] = 17857,
+ [SMALL_STATE(289)] = 17913,
+ [SMALL_STATE(290)] = 17953,
+ [SMALL_STATE(291)] = 18009,
+ [SMALL_STATE(292)] = 18053,
+ [SMALL_STATE(293)] = 18109,
+ [SMALL_STATE(294)] = 18141,
+ [SMALL_STATE(295)] = 18187,
+ [SMALL_STATE(296)] = 18243,
+ [SMALL_STATE(297)] = 18299,
+ [SMALL_STATE(298)] = 18355,
+ [SMALL_STATE(299)] = 18411,
+ [SMALL_STATE(300)] = 18467,
+ [SMALL_STATE(301)] = 18498,
+ [SMALL_STATE(302)] = 18551,
+ [SMALL_STATE(303)] = 18594,
+ [SMALL_STATE(304)] = 18637,
+ [SMALL_STATE(305)] = 18680,
+ [SMALL_STATE(306)] = 18723,
+ [SMALL_STATE(307)] = 18766,
+ [SMALL_STATE(308)] = 18805,
+ [SMALL_STATE(309)] = 18844,
+ [SMALL_STATE(310)] = 18883,
+ [SMALL_STATE(311)] = 18907,
+ [SMALL_STATE(312)] = 18931,
+ [SMALL_STATE(313)] = 18955,
+ [SMALL_STATE(314)] = 18974,
+ [SMALL_STATE(315)] = 18992,
+ [SMALL_STATE(316)] = 19010,
+ [SMALL_STATE(317)] = 19028,
+ [SMALL_STATE(318)] = 19046,
+ [SMALL_STATE(319)] = 19064,
+ [SMALL_STATE(320)] = 19082,
+ [SMALL_STATE(321)] = 19100,
+ [SMALL_STATE(322)] = 19118,
+ [SMALL_STATE(323)] = 19136,
+ [SMALL_STATE(324)] = 19154,
+ [SMALL_STATE(325)] = 19172,
+ [SMALL_STATE(326)] = 19190,
+ [SMALL_STATE(327)] = 19208,
+ [SMALL_STATE(328)] = 19226,
+ [SMALL_STATE(329)] = 19244,
+ [SMALL_STATE(330)] = 19262,
+ [SMALL_STATE(331)] = 19280,
+ [SMALL_STATE(332)] = 19298,
+ [SMALL_STATE(333)] = 19316,
+ [SMALL_STATE(334)] = 19334,
+ [SMALL_STATE(335)] = 19352,
+ [SMALL_STATE(336)] = 19370,
+ [SMALL_STATE(337)] = 19388,
+ [SMALL_STATE(338)] = 19406,
+ [SMALL_STATE(339)] = 19424,
+ [SMALL_STATE(340)] = 19442,
+ [SMALL_STATE(341)] = 19460,
+ [SMALL_STATE(342)] = 19478,
+ [SMALL_STATE(343)] = 19496,
+ [SMALL_STATE(344)] = 19514,
+ [SMALL_STATE(345)] = 19532,
+ [SMALL_STATE(346)] = 19550,
+ [SMALL_STATE(347)] = 19568,
+ [SMALL_STATE(348)] = 19586,
+ [SMALL_STATE(349)] = 19604,
+ [SMALL_STATE(350)] = 19622,
+ [SMALL_STATE(351)] = 19640,
+ [SMALL_STATE(352)] = 19658,
+ [SMALL_STATE(353)] = 19676,
+ [SMALL_STATE(354)] = 19694,
+ [SMALL_STATE(355)] = 19712,
+ [SMALL_STATE(356)] = 19730,
+ [SMALL_STATE(357)] = 19748,
+ [SMALL_STATE(358)] = 19766,
+ [SMALL_STATE(359)] = 19784,
+ [SMALL_STATE(360)] = 19802,
+ [SMALL_STATE(361)] = 19820,
+ [SMALL_STATE(362)] = 19838,
+ [SMALL_STATE(363)] = 19856,
+ [SMALL_STATE(364)] = 19874,
+ [SMALL_STATE(365)] = 19892,
+ [SMALL_STATE(366)] = 19910,
+ [SMALL_STATE(367)] = 19928,
+ [SMALL_STATE(368)] = 19946,
+ [SMALL_STATE(369)] = 19964,
+ [SMALL_STATE(370)] = 19982,
+ [SMALL_STATE(371)] = 20000,
+ [SMALL_STATE(372)] = 20018,
+ [SMALL_STATE(373)] = 20036,
+ [SMALL_STATE(374)] = 20053,
+ [SMALL_STATE(375)] = 20070,
+ [SMALL_STATE(376)] = 20087,
+ [SMALL_STATE(377)] = 20104,
+ [SMALL_STATE(378)] = 20121,
+ [SMALL_STATE(379)] = 20138,
+ [SMALL_STATE(380)] = 20155,
+ [SMALL_STATE(381)] = 20174,
+ [SMALL_STATE(382)] = 20191,
+ [SMALL_STATE(383)] = 20208,
+ [SMALL_STATE(384)] = 20225,
+ [SMALL_STATE(385)] = 20242,
+ [SMALL_STATE(386)] = 20259,
+ [SMALL_STATE(387)] = 20276,
+ [SMALL_STATE(388)] = 20293,
+ [SMALL_STATE(389)] = 20310,
+ [SMALL_STATE(390)] = 20327,
+ [SMALL_STATE(391)] = 20344,
+ [SMALL_STATE(392)] = 20361,
+ [SMALL_STATE(393)] = 20378,
+ [SMALL_STATE(394)] = 20397,
+ [SMALL_STATE(395)] = 20414,
+ [SMALL_STATE(396)] = 20431,
+ [SMALL_STATE(397)] = 20448,
+ [SMALL_STATE(398)] = 20465,
+ [SMALL_STATE(399)] = 20482,
+ [SMALL_STATE(400)] = 20499,
+ [SMALL_STATE(401)] = 20516,
+ [SMALL_STATE(402)] = 20533,
+ [SMALL_STATE(403)] = 20550,
+ [SMALL_STATE(404)] = 20567,
+ [SMALL_STATE(405)] = 20585,
+ [SMALL_STATE(406)] = 20601,
+ [SMALL_STATE(407)] = 20617,
+ [SMALL_STATE(408)] = 20635,
+ [SMALL_STATE(409)] = 20652,
+ [SMALL_STATE(410)] = 20670,
+ [SMALL_STATE(411)] = 20686,
+ [SMALL_STATE(412)] = 20708,
+ [SMALL_STATE(413)] = 20726,
+ [SMALL_STATE(414)] = 20748,
+ [SMALL_STATE(415)] = 20764,
+ [SMALL_STATE(416)] = 20782,
+ [SMALL_STATE(417)] = 20801,
+ [SMALL_STATE(418)] = 20820,
+ [SMALL_STATE(419)] = 20839,
+ [SMALL_STATE(420)] = 20858,
+ [SMALL_STATE(421)] = 20877,
+ [SMALL_STATE(422)] = 20896,
+ [SMALL_STATE(423)] = 20915,
+ [SMALL_STATE(424)] = 20926,
+ [SMALL_STATE(425)] = 20945,
+ [SMALL_STATE(426)] = 20964,
+ [SMALL_STATE(427)] = 20983,
+ [SMALL_STATE(428)] = 20999,
+ [SMALL_STATE(429)] = 21015,
+ [SMALL_STATE(430)] = 21031,
+ [SMALL_STATE(431)] = 21047,
+ [SMALL_STATE(432)] = 21063,
+ [SMALL_STATE(433)] = 21077,
+ [SMALL_STATE(434)] = 21093,
+ [SMALL_STATE(435)] = 21109,
+ [SMALL_STATE(436)] = 21125,
+ [SMALL_STATE(437)] = 21141,
+ [SMALL_STATE(438)] = 21157,
+ [SMALL_STATE(439)] = 21171,
+ [SMALL_STATE(440)] = 21185,
+ [SMALL_STATE(441)] = 21201,
+ [SMALL_STATE(442)] = 21217,
+ [SMALL_STATE(443)] = 21233,
+ [SMALL_STATE(444)] = 21249,
+ [SMALL_STATE(445)] = 21263,
+ [SMALL_STATE(446)] = 21279,
+ [SMALL_STATE(447)] = 21289,
+ [SMALL_STATE(448)] = 21305,
+ [SMALL_STATE(449)] = 21321,
+ [SMALL_STATE(450)] = 21337,
+ [SMALL_STATE(451)] = 21353,
+ [SMALL_STATE(452)] = 21369,
+ [SMALL_STATE(453)] = 21385,
+ [SMALL_STATE(454)] = 21399,
+ [SMALL_STATE(455)] = 21415,
+ [SMALL_STATE(456)] = 21431,
+ [SMALL_STATE(457)] = 21447,
+ [SMALL_STATE(458)] = 21463,
+ [SMALL_STATE(459)] = 21479,
+ [SMALL_STATE(460)] = 21495,
+ [SMALL_STATE(461)] = 21511,
+ [SMALL_STATE(462)] = 21527,
+ [SMALL_STATE(463)] = 21541,
+ [SMALL_STATE(464)] = 21553,
+ [SMALL_STATE(465)] = 21569,
+ [SMALL_STATE(466)] = 21583,
+ [SMALL_STATE(467)] = 21599,
+ [SMALL_STATE(468)] = 21615,
+ [SMALL_STATE(469)] = 21629,
+ [SMALL_STATE(470)] = 21645,
+ [SMALL_STATE(471)] = 21661,
+ [SMALL_STATE(472)] = 21671,
+ [SMALL_STATE(473)] = 21681,
+ [SMALL_STATE(474)] = 21697,
+ [SMALL_STATE(475)] = 21713,
+ [SMALL_STATE(476)] = 21729,
+ [SMALL_STATE(477)] = 21745,
+ [SMALL_STATE(478)] = 21761,
+ [SMALL_STATE(479)] = 21777,
+ [SMALL_STATE(480)] = 21793,
+ [SMALL_STATE(481)] = 21809,
+ [SMALL_STATE(482)] = 21825,
+ [SMALL_STATE(483)] = 21841,
+ [SMALL_STATE(484)] = 21857,
+ [SMALL_STATE(485)] = 21873,
+ [SMALL_STATE(486)] = 21889,
+ [SMALL_STATE(487)] = 21905,
+ [SMALL_STATE(488)] = 21915,
+ [SMALL_STATE(489)] = 21931,
+ [SMALL_STATE(490)] = 21947,
+ [SMALL_STATE(491)] = 21963,
+ [SMALL_STATE(492)] = 21979,
+ [SMALL_STATE(493)] = 21995,
+ [SMALL_STATE(494)] = 22009,
+ [SMALL_STATE(495)] = 22025,
+ [SMALL_STATE(496)] = 22039,
+ [SMALL_STATE(497)] = 22053,
+ [SMALL_STATE(498)] = 22067,
+ [SMALL_STATE(499)] = 22083,
+ [SMALL_STATE(500)] = 22096,
+ [SMALL_STATE(501)] = 22109,
+ [SMALL_STATE(502)] = 22122,
+ [SMALL_STATE(503)] = 22135,
+ [SMALL_STATE(504)] = 22148,
+ [SMALL_STATE(505)] = 22161,
+ [SMALL_STATE(506)] = 22174,
+ [SMALL_STATE(507)] = 22187,
+ [SMALL_STATE(508)] = 22200,
+ [SMALL_STATE(509)] = 22213,
+ [SMALL_STATE(510)] = 22226,
+ [SMALL_STATE(511)] = 22239,
+ [SMALL_STATE(512)] = 22252,
+ [SMALL_STATE(513)] = 22265,
+ [SMALL_STATE(514)] = 22278,
+ [SMALL_STATE(515)] = 22291,
+ [SMALL_STATE(516)] = 22304,
+ [SMALL_STATE(517)] = 22317,
+ [SMALL_STATE(518)] = 22330,
+ [SMALL_STATE(519)] = 22343,
+ [SMALL_STATE(520)] = 22356,
+ [SMALL_STATE(521)] = 22369,
+ [SMALL_STATE(522)] = 22382,
+ [SMALL_STATE(523)] = 22395,
+ [SMALL_STATE(524)] = 22408,
+ [SMALL_STATE(525)] = 22421,
+ [SMALL_STATE(526)] = 22434,
+ [SMALL_STATE(527)] = 22447,
+ [SMALL_STATE(528)] = 22460,
+ [SMALL_STATE(529)] = 22473,
+ [SMALL_STATE(530)] = 22486,
+ [SMALL_STATE(531)] = 22499,
+ [SMALL_STATE(532)] = 22512,
+ [SMALL_STATE(533)] = 22525,
+ [SMALL_STATE(534)] = 22538,
+ [SMALL_STATE(535)] = 22551,
+ [SMALL_STATE(536)] = 22564,
+ [SMALL_STATE(537)] = 22577,
+ [SMALL_STATE(538)] = 22590,
+ [SMALL_STATE(539)] = 22603,
+ [SMALL_STATE(540)] = 22616,
+ [SMALL_STATE(541)] = 22627,
+ [SMALL_STATE(542)] = 22640,
+ [SMALL_STATE(543)] = 22653,
+ [SMALL_STATE(544)] = 22666,
+ [SMALL_STATE(545)] = 22679,
+ [SMALL_STATE(546)] = 22692,
+ [SMALL_STATE(547)] = 22705,
+ [SMALL_STATE(548)] = 22718,
+ [SMALL_STATE(549)] = 22731,
+ [SMALL_STATE(550)] = 22744,
+ [SMALL_STATE(551)] = 22757,
+ [SMALL_STATE(552)] = 22770,
+ [SMALL_STATE(553)] = 22783,
+ [SMALL_STATE(554)] = 22796,
+ [SMALL_STATE(555)] = 22809,
+ [SMALL_STATE(556)] = 22822,
+ [SMALL_STATE(557)] = 22835,
+ [SMALL_STATE(558)] = 22848,
+ [SMALL_STATE(559)] = 22861,
+ [SMALL_STATE(560)] = 22874,
+ [SMALL_STATE(561)] = 22887,
+ [SMALL_STATE(562)] = 22900,
+ [SMALL_STATE(563)] = 22913,
+ [SMALL_STATE(564)] = 22926,
+ [SMALL_STATE(565)] = 22939,
+ [SMALL_STATE(566)] = 22952,
+ [SMALL_STATE(567)] = 22965,
+ [SMALL_STATE(568)] = 22978,
+ [SMALL_STATE(569)] = 22991,
+ [SMALL_STATE(570)] = 23004,
+ [SMALL_STATE(571)] = 23017,
+ [SMALL_STATE(572)] = 23030,
+ [SMALL_STATE(573)] = 23038,
+ [SMALL_STATE(574)] = 23048,
+ [SMALL_STATE(575)] = 23058,
+ [SMALL_STATE(576)] = 23068,
+ [SMALL_STATE(577)] = 23078,
+ [SMALL_STATE(578)] = 23088,
+ [SMALL_STATE(579)] = 23098,
+ [SMALL_STATE(580)] = 23106,
+ [SMALL_STATE(581)] = 23116,
+ [SMALL_STATE(582)] = 23126,
+ [SMALL_STATE(583)] = 23136,
+ [SMALL_STATE(584)] = 23146,
+ [SMALL_STATE(585)] = 23156,
+ [SMALL_STATE(586)] = 23166,
+ [SMALL_STATE(587)] = 23176,
+ [SMALL_STATE(588)] = 23186,
+ [SMALL_STATE(589)] = 23196,
+ [SMALL_STATE(590)] = 23206,
+ [SMALL_STATE(591)] = 23216,
+ [SMALL_STATE(592)] = 23226,
+ [SMALL_STATE(593)] = 23236,
+ [SMALL_STATE(594)] = 23246,
+ [SMALL_STATE(595)] = 23256,
+ [SMALL_STATE(596)] = 23266,
+ [SMALL_STATE(597)] = 23276,
+ [SMALL_STATE(598)] = 23286,
+ [SMALL_STATE(599)] = 23296,
+ [SMALL_STATE(600)] = 23306,
+ [SMALL_STATE(601)] = 23316,
+ [SMALL_STATE(602)] = 23326,
+ [SMALL_STATE(603)] = 23336,
+ [SMALL_STATE(604)] = 23346,
+ [SMALL_STATE(605)] = 23356,
+ [SMALL_STATE(606)] = 23366,
+ [SMALL_STATE(607)] = 23376,
+ [SMALL_STATE(608)] = 23386,
+ [SMALL_STATE(609)] = 23396,
+ [SMALL_STATE(610)] = 23406,
+ [SMALL_STATE(611)] = 23416,
+ [SMALL_STATE(612)] = 23426,
+ [SMALL_STATE(613)] = 23436,
+ [SMALL_STATE(614)] = 23444,
+ [SMALL_STATE(615)] = 23454,
+ [SMALL_STATE(616)] = 23464,
+ [SMALL_STATE(617)] = 23474,
+ [SMALL_STATE(618)] = 23484,
+ [SMALL_STATE(619)] = 23494,
+ [SMALL_STATE(620)] = 23504,
+ [SMALL_STATE(621)] = 23514,
+ [SMALL_STATE(622)] = 23524,
+ [SMALL_STATE(623)] = 23534,
+ [SMALL_STATE(624)] = 23544,
+ [SMALL_STATE(625)] = 23554,
+ [SMALL_STATE(626)] = 23562,
+ [SMALL_STATE(627)] = 23572,
+ [SMALL_STATE(628)] = 23582,
+ [SMALL_STATE(629)] = 23592,
+ [SMALL_STATE(630)] = 23602,
+ [SMALL_STATE(631)] = 23612,
+ [SMALL_STATE(632)] = 23620,
+ [SMALL_STATE(633)] = 23630,
+ [SMALL_STATE(634)] = 23640,
+ [SMALL_STATE(635)] = 23650,
+ [SMALL_STATE(636)] = 23660,
+ [SMALL_STATE(637)] = 23670,
+ [SMALL_STATE(638)] = 23680,
+ [SMALL_STATE(639)] = 23690,
+ [SMALL_STATE(640)] = 23698,
+ [SMALL_STATE(641)] = 23706,
+ [SMALL_STATE(642)] = 23716,
+ [SMALL_STATE(643)] = 23726,
+ [SMALL_STATE(644)] = 23734,
+ [SMALL_STATE(645)] = 23744,
+ [SMALL_STATE(646)] = 23754,
+ [SMALL_STATE(647)] = 23762,
+ [SMALL_STATE(648)] = 23772,
+ [SMALL_STATE(649)] = 23782,
+ [SMALL_STATE(650)] = 23792,
+ [SMALL_STATE(651)] = 23802,
+ [SMALL_STATE(652)] = 23812,
+ [SMALL_STATE(653)] = 23822,
+ [SMALL_STATE(654)] = 23832,
+ [SMALL_STATE(655)] = 23842,
+ [SMALL_STATE(656)] = 23850,
+ [SMALL_STATE(657)] = 23860,
+ [SMALL_STATE(658)] = 23870,
+ [SMALL_STATE(659)] = 23880,
+ [SMALL_STATE(660)] = 23890,
+ [SMALL_STATE(661)] = 23900,
+ [SMALL_STATE(662)] = 23910,
+ [SMALL_STATE(663)] = 23920,
+ [SMALL_STATE(664)] = 23930,
+ [SMALL_STATE(665)] = 23940,
+ [SMALL_STATE(666)] = 23950,
+ [SMALL_STATE(667)] = 23960,
+ [SMALL_STATE(668)] = 23970,
+ [SMALL_STATE(669)] = 23978,
+ [SMALL_STATE(670)] = 23988,
+ [SMALL_STATE(671)] = 23998,
+ [SMALL_STATE(672)] = 24008,
+ [SMALL_STATE(673)] = 24018,
+ [SMALL_STATE(674)] = 24028,
+ [SMALL_STATE(675)] = 24038,
+ [SMALL_STATE(676)] = 24048,
+ [SMALL_STATE(677)] = 24058,
+ [SMALL_STATE(678)] = 24068,
+ [SMALL_STATE(679)] = 24078,
+ [SMALL_STATE(680)] = 24088,
+ [SMALL_STATE(681)] = 24095,
+ [SMALL_STATE(682)] = 24102,
+ [SMALL_STATE(683)] = 24109,
+ [SMALL_STATE(684)] = 24116,
+ [SMALL_STATE(685)] = 24123,
+ [SMALL_STATE(686)] = 24130,
+ [SMALL_STATE(687)] = 24137,
+ [SMALL_STATE(688)] = 24144,
+ [SMALL_STATE(689)] = 24151,
+ [SMALL_STATE(690)] = 24158,
+ [SMALL_STATE(691)] = 24165,
+ [SMALL_STATE(692)] = 24172,
+ [SMALL_STATE(693)] = 24179,
+ [SMALL_STATE(694)] = 24186,
+ [SMALL_STATE(695)] = 24193,
+ [SMALL_STATE(696)] = 24200,
+ [SMALL_STATE(697)] = 24207,
+ [SMALL_STATE(698)] = 24214,
+ [SMALL_STATE(699)] = 24221,
+ [SMALL_STATE(700)] = 24228,
+ [SMALL_STATE(701)] = 24235,
+ [SMALL_STATE(702)] = 24242,
+ [SMALL_STATE(703)] = 24249,
+ [SMALL_STATE(704)] = 24256,
+ [SMALL_STATE(705)] = 24263,
+ [SMALL_STATE(706)] = 24270,
+ [SMALL_STATE(707)] = 24277,
+ [SMALL_STATE(708)] = 24284,
+ [SMALL_STATE(709)] = 24291,
+ [SMALL_STATE(710)] = 24298,
+ [SMALL_STATE(711)] = 24305,
+ [SMALL_STATE(712)] = 24312,
+ [SMALL_STATE(713)] = 24319,
+ [SMALL_STATE(714)] = 24326,
+ [SMALL_STATE(715)] = 24333,
+ [SMALL_STATE(716)] = 24340,
+ [SMALL_STATE(717)] = 24347,
+ [SMALL_STATE(718)] = 24354,
+ [SMALL_STATE(719)] = 24361,
+ [SMALL_STATE(720)] = 24368,
+ [SMALL_STATE(721)] = 24375,
+ [SMALL_STATE(722)] = 24382,
+ [SMALL_STATE(723)] = 24389,
+ [SMALL_STATE(724)] = 24396,
+ [SMALL_STATE(725)] = 24403,
+ [SMALL_STATE(726)] = 24410,
+ [SMALL_STATE(727)] = 24417,
+ [SMALL_STATE(728)] = 24424,
+ [SMALL_STATE(729)] = 24431,
+ [SMALL_STATE(730)] = 24438,
+ [SMALL_STATE(731)] = 24445,
+ [SMALL_STATE(732)] = 24452,
};
static const TSParseActionEntry ts_parse_actions[] = {
@@ -23688,835 +26371,995 @@ static const TSParseActionEntry ts_parse_actions[] = {
[1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(),
[3] = {.entry = {.count = 1, .reusable = true}}, SHIFT_EXTRA(),
[5] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source, 0),
- [7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(134),
+ [7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(155),
[9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12),
- [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(568),
- [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(420),
- [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(608),
- [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(607),
- [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(14),
- [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(496),
- [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(605),
- [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(604),
- [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(48),
- [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(39),
- [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(603),
- [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(602),
- [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(36),
- [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(497),
- [39] = {.entry = {.count = 1, .reusable = false}}, SHIFT(144),
- [41] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144),
- [43] = {.entry = {.count = 1, .reusable = false}}, SHIFT(169),
- [45] = {.entry = {.count = 1, .reusable = true}}, SHIFT(365),
- [47] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11),
- [49] = {.entry = {.count = 1, .reusable = false}}, SHIFT(366),
- [51] = {.entry = {.count = 1, .reusable = false}}, SHIFT(502),
- [53] = {.entry = {.count = 1, .reusable = false}}, SHIFT(503),
- [55] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33),
- [57] = {.entry = {.count = 1, .reusable = false}}, SHIFT(33),
- [59] = {.entry = {.count = 1, .reusable = false}}, SHIFT(34),
- [61] = {.entry = {.count = 1, .reusable = false}}, SHIFT(35),
- [63] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20),
- [65] = {.entry = {.count = 1, .reusable = false}}, SHIFT(234),
- [67] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_repeat1, 2),
- [69] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(134),
- [72] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(12),
- [75] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(568),
- [78] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(420),
- [81] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(608),
- [84] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(607),
- [87] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(14),
- [90] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(496),
- [93] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(605),
- [96] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(604),
- [99] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(48),
- [102] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(39),
- [105] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(603),
- [108] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(602),
- [111] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(36),
- [114] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(497),
- [117] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(144),
- [120] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(144),
- [123] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(169),
- [126] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(365),
- [129] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(11),
- [132] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(366),
- [135] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(502),
- [138] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(503),
- [141] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(33),
- [144] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(33),
- [147] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(34),
- [150] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(35),
- [153] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(20),
- [156] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(234),
- [159] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source, 1),
- [161] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83),
- [163] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82),
- [165] = {.entry = {.count = 1, .reusable = true}}, SHIFT(200),
- [167] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164),
- [169] = {.entry = {.count = 1, .reusable = false}}, SHIFT(223),
- [171] = {.entry = {.count = 1, .reusable = true}}, SHIFT(429),
- [173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147),
- [175] = {.entry = {.count = 1, .reusable = true}}, SHIFT(464),
- [177] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153),
- [179] = {.entry = {.count = 1, .reusable = true}}, SHIFT(444),
- [181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148),
- [183] = {.entry = {.count = 1, .reusable = false}}, SHIFT(226),
- [185] = {.entry = {.count = 1, .reusable = false}}, SHIFT(584),
- [187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(432),
- [189] = {.entry = {.count = 1, .reusable = false}}, SHIFT(225),
- [191] = {.entry = {.count = 1, .reusable = true}}, SHIFT(194),
- [193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(190),
- [195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116),
- [197] = {.entry = {.count = 1, .reusable = true}}, SHIFT(203),
- [199] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167),
- [201] = {.entry = {.count = 1, .reusable = true}}, SHIFT(197),
- [203] = {.entry = {.count = 1, .reusable = true}}, SHIFT(207),
- [205] = {.entry = {.count = 1, .reusable = true}}, SHIFT(202),
- [207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(211),
- [209] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166),
- [211] = {.entry = {.count = 1, .reusable = true}}, SHIFT(199),
- [213] = {.entry = {.count = 1, .reusable = true}}, SHIFT(193),
- [215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162),
- [217] = {.entry = {.count = 1, .reusable = false}}, SHIFT(265),
- [219] = {.entry = {.count = 1, .reusable = false}}, SHIFT(364),
- [221] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72),
- [223] = {.entry = {.count = 1, .reusable = false}}, SHIFT(72),
- [225] = {.entry = {.count = 1, .reusable = false}}, SHIFT(78),
- [227] = {.entry = {.count = 1, .reusable = false}}, SHIFT(80),
- [229] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 3),
- [231] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 3),
- [233] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 2),
- [235] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 2),
- [237] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 4, .production_id = 33),
- [239] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 4, .production_id = 33),
- [241] = {.entry = {.count = 1, .reusable = false}}, SHIFT(493),
- [243] = {.entry = {.count = 1, .reusable = false}}, SHIFT(77),
- [245] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_statement_repeat1, 2, .production_id = 53),
- [247] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_statement_repeat1, 2, .production_id = 53),
- [249] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_if_statement_repeat1, 2, .production_id = 53), SHIFT_REPEAT(77),
- [252] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 3, .production_id = 16),
- [254] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 3, .production_id = 16),
- [256] = {.entry = {.count = 1, .reusable = false}}, SHIFT(529),
- [258] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_elif_block, 3, .production_id = 16),
- [260] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_elif_block, 3, .production_id = 16),
- [262] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_catch_statement, 2, .production_id = 3),
- [264] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_catch_statement, 2, .production_id = 3),
- [266] = {.entry = {.count = 1, .reusable = false}}, SHIFT(438),
- [268] = {.entry = {.count = 1, .reusable = false}}, SHIFT(563),
- [270] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_statement_repeat1, 1, .production_id = 32),
- [272] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_statement_repeat1, 1, .production_id = 32),
- [274] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_catch_statement, 5, .production_id = 54),
- [276] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_catch_statement, 5, .production_id = 54),
- [278] = {.entry = {.count = 1, .reusable = false}}, SHIFT(557),
- [280] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_catch_statement, 4, .production_id = 34),
- [282] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_catch_statement, 4, .production_id = 34),
- [284] = {.entry = {.count = 1, .reusable = false}}, SHIFT(553),
- [286] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_catch_statement, 4, .production_id = 35),
- [288] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_catch_statement, 4, .production_id = 35),
- [290] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_definition, 6, .production_id = 48),
- [292] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_definition, 6, .production_id = 48),
- [294] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_definition_statement, 7, .production_id = 70),
- [296] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_definition_statement, 7, .production_id = 70),
- [298] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_short_import_statement, 3, .production_id = 13),
- [300] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_short_import_statement, 3, .production_id = 13),
- [302] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_statement, 2),
- [304] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_statement, 2),
- [306] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_resource_implementation, 3),
- [308] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_resource_implementation, 3),
- [310] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_definition, 7, .production_id = 48),
- [312] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_definition, 7, .production_id = 48),
- [314] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_resource_implementation, 2),
- [316] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_resource_implementation, 2),
- [318] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_short_import_statement, 5, .production_id = 47),
- [320] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_short_import_statement, 5, .production_id = 47),
- [322] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 5, .production_id = 52),
- [324] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 5, .production_id = 52),
- [326] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_statement, 3, .production_id = 16),
- [328] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_statement, 3, .production_id = 16),
- [330] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_continue_statement, 2),
- [332] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_continue_statement, 2),
- [334] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_break_statement, 2),
- [336] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_break_statement, 2),
- [338] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_in_loop, 5, .production_id = 51),
- [340] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_in_loop, 5, .production_id = 51),
- [342] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 5, .production_id = 30),
- [344] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_definition, 5, .production_id = 30),
- [346] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_implementation, 2),
- [348] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_implementation, 2),
- [350] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 3, .production_id = 14),
- [352] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 3, .production_id = 14),
- [354] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 5, .production_id = 50),
- [356] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_definition, 5, .production_id = 50),
- [358] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_implementation, 3),
- [360] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_implementation, 3),
- [362] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 8, .production_id = 30),
- [364] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_definition, 8, .production_id = 30),
- [366] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 9, .production_id = 30),
- [368] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_definition, 9, .production_id = 30),
- [370] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_definition_statement, 5, .production_id = 49),
- [372] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_definition_statement, 5, .production_id = 49),
- [374] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_definition, 4, .production_id = 31),
- [376] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_definition, 4, .production_id = 31),
- [378] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_resource_definition, 3, .production_id = 15),
- [380] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_resource_definition, 3, .production_id = 15),
- [382] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 2),
- [384] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 2),
- [386] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 4, .production_id = 30),
- [388] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_definition, 4, .production_id = 30),
- [390] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 3, .production_id = 15),
- [392] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_definition, 3, .production_id = 15),
- [394] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_definition, 5, .production_id = 48),
- [396] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_definition, 5, .production_id = 48),
- [398] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_catch_statement, 6, .production_id = 67),
- [400] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_catch_statement, 6, .production_id = 67),
- [402] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 6, .production_id = 66),
- [404] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 6, .production_id = 66),
- [406] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_assignment_statement, 4, .production_id = 41),
- [408] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_assignment_statement, 4, .production_id = 41),
- [410] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_resource_definition, 5, .production_id = 50),
- [412] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_resource_definition, 5, .production_id = 50),
- [414] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 7, .production_id = 30),
- [416] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_definition, 7, .production_id = 30),
- [418] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_definition_statement, 6, .production_id = 62),
- [420] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_definition_statement, 6, .production_id = 62),
- [422] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_catch_statement, 7, .production_id = 79),
- [424] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_catch_statement, 7, .production_id = 79),
- [426] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_definition_statement, 6, .production_id = 63),
- [428] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_definition_statement, 6, .production_id = 63),
- [430] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 6, .production_id = 30),
- [432] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_definition, 6, .production_id = 30),
- [434] = {.entry = {.count = 1, .reusable = true}}, SHIFT(374),
- [436] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169),
- [438] = {.entry = {.count = 1, .reusable = true}}, SHIFT(502),
- [440] = {.entry = {.count = 1, .reusable = true}}, SHIFT(503),
- [442] = {.entry = {.count = 1, .reusable = false}}, SHIFT(291),
- [444] = {.entry = {.count = 1, .reusable = false}}, SHIFT(558),
- [446] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131),
- [448] = {.entry = {.count = 1, .reusable = true}}, SHIFT(357),
- [450] = {.entry = {.count = 1, .reusable = false}}, SHIFT(359),
- [452] = {.entry = {.count = 1, .reusable = true}}, SHIFT(355),
- [454] = {.entry = {.count = 1, .reusable = true}}, SHIFT(354),
- [456] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__literal, 1),
- [458] = {.entry = {.count = 1, .reusable = true}}, SHIFT(218),
- [460] = {.entry = {.count = 1, .reusable = true}}, SHIFT(219),
- [462] = {.entry = {.count = 1, .reusable = true}}, SHIFT(222),
- [464] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__literal, 1),
- [466] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_custom_type, 1, .production_id = 1),
- [468] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_reference, 1),
- [470] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_reference, 1), SHIFT(575),
- [473] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_reference, 1),
- [475] = {.entry = {.count = 1, .reusable = false}}, SHIFT(151),
- [477] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_nested_identifier, 2, .production_id = 1),
- [479] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_nested_identifier, 2, .production_id = 1),
- [481] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 2),
- [483] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string, 2),
- [485] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 3),
- [487] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string, 3),
- [489] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_expression, 3, .production_id = 18),
- [491] = {.entry = {.count = 1, .reusable = true}}, SHIFT(519),
- [493] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55),
- [495] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new_expression, 3, .production_id = 18),
- [497] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_number, 1),
- [499] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_number, 1),
- [501] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 8),
- [503] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 8),
- [505] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 7),
- [507] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 7),
- [509] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 5),
- [511] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 5),
- [513] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 2),
- [515] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 2),
- [517] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 3),
- [519] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 3),
- [521] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_nested_identifier, 3, .production_id = 21),
- [523] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_nested_identifier, 3, .production_id = 21),
- [525] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 6),
- [527] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 6),
- [529] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 4),
- [531] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 4),
- [533] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 9),
- [535] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 9),
- [537] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_expression, 4, .production_id = 37),
- [539] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new_expression, 4, .production_id = 37),
- [541] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_object_id, 2),
- [543] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new_object_id, 2),
- [545] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, .production_id = 22),
- [547] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137),
- [549] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10),
- [551] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, .production_id = 22),
- [553] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1),
- [555] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1),
- [557] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call, 2, .production_id = 6),
- [559] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call, 2, .production_id = 6),
- [561] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_literal, 5, .production_id = 45),
- [563] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map_literal, 5, .production_id = 45),
- [565] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_literal, 5, .production_id = 60),
- [567] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map_literal, 5, .production_id = 60),
- [569] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 5, .production_id = 44),
- [571] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 5, .production_id = 44),
- [573] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_set_literal, 5, .production_id = 59),
- [575] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_set_literal, 5, .production_id = 59),
- [577] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 3, .production_id = 9),
- [579] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 3, .production_id = 9),
- [581] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_set_literal, 5, .production_id = 44),
- [583] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_set_literal, 5, .production_id = 44),
- [585] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_set_literal, 5, .production_id = 25),
- [587] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_set_literal, 5, .production_id = 25),
- [589] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_literal, 3, .production_id = 20),
- [591] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_literal, 3, .production_id = 20),
- [593] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bool, 1),
- [595] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bool, 1),
- [597] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_literal, 3, .production_id = 20),
- [599] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map_literal, 3, .production_id = 20),
- [601] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3),
- [603] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3),
- [605] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 4, .production_id = 44),
- [607] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 4, .production_id = 44),
- [609] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_inflight_closure, 5, .production_id = 46),
- [611] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_inflight_closure, 5, .production_id = 46),
- [613] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 5, .production_id = 59),
- [615] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 5, .production_id = 59),
- [617] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_literal, 4, .production_id = 45),
- [619] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map_literal, 4, .production_id = 45),
- [621] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_set_literal, 4, .production_id = 44),
- [623] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_set_literal, 4, .production_id = 44),
- [625] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_literal, 5, .production_id = 27),
- [627] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map_literal, 5, .production_id = 27),
- [629] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81),
- [631] = {.entry = {.count = 1, .reusable = false}}, SHIFT(75),
- [633] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75),
- [635] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74),
- [637] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70),
- [639] = {.entry = {.count = 1, .reusable = false}}, SHIFT(43),
- [641] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27),
- [643] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71),
- [645] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43),
- [647] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preflight_closure, 4, .production_id = 43),
- [649] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preflight_closure, 4, .production_id = 43),
- [651] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_structured_access_expression, 4),
- [653] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_structured_access_expression, 4),
- [655] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preflight_closure, 3, .production_id = 24),
- [657] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preflight_closure, 3, .production_id = 24),
- [659] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_duration, 1),
- [661] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_duration, 1),
- [663] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_literal, 4, .production_id = 42),
- [665] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_literal, 4, .production_id = 42),
- [667] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_literal, 5, .production_id = 57),
- [669] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_literal, 5, .production_id = 57),
- [671] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 3, .production_id = 20),
- [673] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 3, .production_id = 20),
- [675] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_literal, 2),
- [677] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map_literal, 2),
- [679] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 4, .production_id = 25),
- [681] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 4, .production_id = 25),
- [683] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 4, .production_id = 9),
- [685] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 4, .production_id = 9),
- [687] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_expression, 4, .production_id = 38),
- [689] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new_expression, 4, .production_id = 38),
- [691] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_set_literal, 4, .production_id = 9),
- [693] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_set_literal, 4, .production_id = 9),
- [695] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_set_literal, 4, .production_id = 25),
- [697] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_set_literal, 4, .production_id = 25),
- [699] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 6, .production_id = 59),
- [701] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 6, .production_id = 59),
- [703] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 5, .production_id = 25),
- [705] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 5, .production_id = 25),
- [707] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_literal, 4, .production_id = 10),
- [709] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map_literal, 4, .production_id = 10),
- [711] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_literal, 6, .production_id = 60),
- [713] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map_literal, 6, .production_id = 60),
- [715] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_literal, 4, .production_id = 27),
- [717] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map_literal, 4, .production_id = 27),
- [719] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_set_literal, 6, .production_id = 59),
- [721] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_set_literal, 6, .production_id = 59),
- [723] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_expression, 2, .production_id = 5),
- [725] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_expression, 2, .production_id = 5),
- [727] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_await_expression, 2),
- [729] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73),
- [731] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69),
- [733] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_defer_expression, 2),
- [735] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 2),
- [737] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 2),
- [739] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_literal, 3, .production_id = 10),
- [741] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map_literal, 3, .production_id = 10),
- [743] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_expression, 5, .production_id = 55),
- [745] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new_expression, 5, .production_id = 55),
- [747] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_object_scope, 2),
- [749] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_set_literal, 3, .production_id = 9),
- [751] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_set_literal, 3, .production_id = 9),
- [753] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_inflight_closure, 4, .production_id = 29),
- [755] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_inflight_closure, 4, .production_id = 29),
- [757] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_json_literal, 2, .production_id = 8),
- [759] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_json_literal, 2, .production_id = 8),
- [761] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_seconds, 2, .production_id = 7),
- [763] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_seconds, 2, .production_id = 7),
- [765] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_minutes, 2, .production_id = 7),
- [767] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_minutes, 2, .production_id = 7),
- [769] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_json_element, 1),
- [771] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_json_element, 1),
- [773] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_literal, 6, .production_id = 69),
- [775] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_literal, 6, .production_id = 69),
- [777] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_hours, 2, .production_id = 7),
- [779] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_hours, 2, .production_id = 7),
- [781] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45),
- [783] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29),
- [785] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57),
- [787] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140),
- [789] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17),
- [791] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165),
- [793] = {.entry = {.count = 1, .reusable = true}}, SHIFT(176),
- [795] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22),
- [797] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25),
- [799] = {.entry = {.count = 1, .reusable = true}}, SHIFT(172),
- [801] = {.entry = {.count = 1, .reusable = true}}, SHIFT(215),
- [803] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23),
- [805] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_array_literal_repeat1, 2, .production_id = 9),
- [807] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_literal_member, 3),
- [809] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_positional_argument, 1),
- [811] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_json_container_type, 1),
- [813] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_json_container_type, 1),
- [815] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4),
- [817] = {.entry = {.count = 1, .reusable = false}}, SHIFT(79),
- [819] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67),
- [821] = {.entry = {.count = 1, .reusable = false}}, SHIFT(66),
- [823] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66),
- [825] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65),
- [827] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64),
- [829] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61),
- [831] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60),
- [833] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79),
- [835] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59),
- [837] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_argument, 3, .production_id = 58),
- [839] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_literal_member, 3),
- [841] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171),
- [843] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113),
- [845] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122),
- [847] = {.entry = {.count = 1, .reusable = true}}, SHIFT(325),
- [849] = {.entry = {.count = 1, .reusable = true}}, SHIFT(346),
- [851] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108),
- [853] = {.entry = {.count = 1, .reusable = true}}, SHIFT(330),
- [855] = {.entry = {.count = 1, .reusable = true}}, SHIFT(331),
- [857] = {.entry = {.count = 1, .reusable = true}}, SHIFT(324),
- [859] = {.entry = {.count = 1, .reusable = true}}, SHIFT(299),
- [861] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94),
- [863] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127),
- [865] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125),
- [867] = {.entry = {.count = 1, .reusable = true}}, SHIFT(300),
- [869] = {.entry = {.count = 1, .reusable = true}}, SHIFT(343),
- [871] = {.entry = {.count = 1, .reusable = true}}, SHIFT(319),
- [873] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_reference, 1), REDUCE(sym_custom_type, 1, .production_id = 1),
- [876] = {.entry = {.count = 1, .reusable = true}}, SHIFT(350),
- [878] = {.entry = {.count = 1, .reusable = true}}, SHIFT(306),
- [880] = {.entry = {.count = 1, .reusable = true}}, SHIFT(349),
- [882] = {.entry = {.count = 1, .reusable = true}}, SHIFT(313),
- [884] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96),
- [886] = {.entry = {.count = 1, .reusable = true}}, SHIFT(340),
- [888] = {.entry = {.count = 1, .reusable = false}}, SHIFT(42),
- [890] = {.entry = {.count = 1, .reusable = true}}, SHIFT(186),
- [892] = {.entry = {.count = 1, .reusable = true}}, SHIFT(338),
- [894] = {.entry = {.count = 1, .reusable = true}}, SHIFT(388),
- [896] = {.entry = {.count = 1, .reusable = true}}, SHIFT(341),
- [898] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44),
- [900] = {.entry = {.count = 1, .reusable = false}}, SHIFT(385),
- [902] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110),
- [904] = {.entry = {.count = 1, .reusable = false}}, SHIFT(532),
- [906] = {.entry = {.count = 1, .reusable = false}}, SHIFT(578),
- [908] = {.entry = {.count = 1, .reusable = false}}, SHIFT(377),
- [910] = {.entry = {.count = 1, .reusable = false}}, SHIFT(534),
- [912] = {.entry = {.count = 1, .reusable = false}}, SHIFT(594),
- [914] = {.entry = {.count = 1, .reusable = false}}, SHIFT(378),
- [916] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99),
- [918] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97),
- [920] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_class_implementation_repeat1, 2), SHIFT_REPEAT(385),
- [923] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_class_implementation_repeat1, 2),
- [925] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_class_implementation_repeat1, 2), SHIFT_REPEAT(532),
- [928] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_class_implementation_repeat1, 2), SHIFT_REPEAT(578),
- [931] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_class_implementation_repeat1, 2), SHIFT_REPEAT(377),
- [934] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_class_implementation_repeat1, 2), SHIFT_REPEAT(534),
- [937] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_class_implementation_repeat1, 2), SHIFT_REPEAT(594),
- [940] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_class_implementation_repeat1, 2), SHIFT_REPEAT(378),
- [943] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107),
- [945] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_custom_type_repeat1, 2, .production_id = 12),
- [947] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_custom_type_repeat1, 2, .production_id = 12), SHIFT_REPEAT(575),
- [950] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_custom_type_repeat1, 2, .production_id = 12),
- [952] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_custom_type, 2, .production_id = 2),
- [954] = {.entry = {.count = 1, .reusable = true}}, SHIFT(575),
- [956] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_custom_type, 2, .production_id = 2),
- [958] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_custom_type, 1, .production_id = 1),
- [960] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_definition, 6, .production_id = 103),
- [962] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_definition, 6, .production_id = 103),
- [964] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_definition, 4, .production_id = 71),
- [966] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_definition, 4, .production_id = 71),
- [968] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__container_value_type, 3, .production_id = 40),
- [970] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__container_value_type, 3, .production_id = 40),
- [972] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_inflight_method_definition, 6, .production_id = 109),
- [974] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_inflight_method_definition, 6, .production_id = 109),
- [976] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 5, .production_id = 88),
- [978] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 5, .production_id = 88),
- [980] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_definition, 5, .production_id = 89),
- [982] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_definition, 5, .production_id = 89),
- [984] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_mutable_container_type, 2, .production_id = 4),
- [986] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_mutable_container_type, 2, .production_id = 4),
- [988] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 9, .production_id = 124),
- [990] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 9, .production_id = 124),
- [992] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 8, .production_id = 123),
- [994] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 8, .production_id = 123),
- [996] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_inflight_method_definition, 5, .production_id = 87),
- [998] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_inflight_method_definition, 5, .production_id = 87),
- [1000] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 5, .production_id = 90),
- [1002] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 5, .production_id = 90),
- [1004] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 5, .production_id = 91),
- [1006] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 5, .production_id = 91),
- [1008] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_definition, 5, .production_id = 86),
- [1010] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_definition, 5, .production_id = 86),
- [1012] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_definition, 5, .production_id = 92),
- [1014] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_definition, 5, .production_id = 92),
- [1016] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 8, .production_id = 122),
- [1018] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 8, .production_id = 122),
- [1020] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_definition, 4, .production_id = 74),
- [1022] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_definition, 4, .production_id = 74),
- [1024] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_inflight_method_definition, 7, .production_id = 117),
- [1026] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_inflight_method_definition, 7, .production_id = 117),
- [1028] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 4, .production_id = 75),
- [1030] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 4, .production_id = 75),
- [1032] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_inflight_method_definition, 5, .production_id = 85),
- [1034] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_inflight_method_definition, 5, .production_id = 85),
- [1036] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_definition, 6, .production_id = 108),
- [1038] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_definition, 6, .production_id = 108),
- [1040] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_inflight_method_definition, 6, .production_id = 107),
- [1042] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_inflight_method_definition, 6, .production_id = 107),
- [1044] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 8, .production_id = 121),
- [1046] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 8, .production_id = 121),
- [1048] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 5, .production_id = 84),
- [1050] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 5, .production_id = 84),
- [1052] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_definition, 5, .production_id = 83),
- [1054] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_definition, 5, .production_id = 83),
- [1056] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_custom_type_repeat1, 2, .production_id = 11),
- [1058] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_custom_type_repeat1, 2, .production_id = 11),
- [1060] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 5, .production_id = 82),
- [1062] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 5, .production_id = 82),
- [1064] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_definition, 5, .production_id = 81),
- [1066] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_definition, 5, .production_id = 81),
- [1068] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 8, .production_id = 120),
- [1070] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 8, .production_id = 120),
- [1072] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_inflight_method_definition, 4, .production_id = 76),
- [1074] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_inflight_method_definition, 4, .production_id = 76),
- [1076] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constructor, 3, .production_id = 65),
- [1078] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor, 3, .production_id = 65),
- [1080] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_definition, 5, .production_id = 93),
- [1082] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_definition, 5, .production_id = 93),
- [1084] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_definition, 3, .production_id = 64),
- [1086] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_definition, 3, .production_id = 64),
- [1088] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 5, .production_id = 80),
- [1090] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 5, .production_id = 80),
- [1092] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 7, .production_id = 119),
- [1094] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 7, .production_id = 119),
- [1096] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 5, .production_id = 94),
- [1098] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 5, .production_id = 94),
- [1100] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 3, .production_id = 17),
- [1102] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 3, .production_id = 17),
- [1104] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_inflight_method_definition, 5, .production_id = 95),
- [1106] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_inflight_method_definition, 5, .production_id = 95),
- [1108] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 7, .production_id = 118),
- [1110] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 7, .production_id = 118),
- [1112] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 6, .production_id = 96),
- [1114] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 6, .production_id = 96),
- [1116] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 6, .production_id = 97),
- [1118] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 6, .production_id = 97),
- [1120] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 4, .production_id = 36),
- [1122] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 4, .production_id = 36),
- [1124] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_definition, 6, .production_id = 98),
- [1126] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_definition, 6, .production_id = 98),
- [1128] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_definition, 7, .production_id = 116),
- [1130] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_definition, 7, .production_id = 116),
- [1132] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_inflight_method_definition, 6, .production_id = 99),
- [1134] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_inflight_method_definition, 6, .production_id = 99),
- [1136] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 4, .production_id = 72),
- [1138] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 4, .production_id = 72),
- [1140] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 6, .production_id = 100),
- [1142] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 6, .production_id = 100),
- [1144] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 7, .production_id = 115),
- [1146] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 7, .production_id = 115),
- [1148] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 4, .production_id = 77),
- [1150] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 4, .production_id = 77),
- [1152] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 6, .production_id = 101),
- [1154] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 6, .production_id = 101),
- [1156] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 7, .production_id = 114),
- [1158] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 7, .production_id = 114),
- [1160] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_definition, 4, .production_id = 73),
- [1162] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_definition, 4, .production_id = 73),
- [1164] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 6, .production_id = 102),
- [1166] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 6, .production_id = 102),
- [1168] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_definition, 4, .production_id = 78),
- [1170] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_definition, 4, .production_id = 78),
- [1172] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 6, .production_id = 110),
- [1174] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 6, .production_id = 110),
- [1176] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 7, .production_id = 113),
- [1178] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 7, .production_id = 113),
- [1180] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 6, .production_id = 106),
- [1182] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 6, .production_id = 106),
- [1184] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 6, .production_id = 104),
- [1186] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 6, .production_id = 104),
- [1188] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 7, .production_id = 112),
- [1190] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 7, .production_id = 112),
- [1192] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 7, .production_id = 111),
- [1194] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 7, .production_id = 111),
- [1196] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_definition, 6, .production_id = 105),
- [1198] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_definition, 6, .production_id = 105),
- [1200] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_type, 1, .production_id = 19),
- [1202] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_type, 1, .production_id = 19),
- [1204] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136),
- [1206] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_type_list, 3),
- [1208] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameter_type_list, 3),
- [1210] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_type_list, 5),
- [1212] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameter_type_list, 5),
- [1214] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_type_list, 2),
- [1216] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameter_type_list, 2),
- [1218] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_type, 2, .production_id = 39),
- [1220] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_type, 2, .production_id = 39),
- [1222] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139),
- [1224] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_type_list, 4),
- [1226] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameter_type_list, 4),
- [1228] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_immutable_container_type, 2, .production_id = 4),
- [1230] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_immutable_container_type, 2, .production_id = 4),
- [1232] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_builtin_type, 1),
- [1234] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_builtin_type, 1),
- [1236] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_type, 3, .production_id = 56),
- [1238] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_type, 3, .production_id = 56),
- [1240] = {.entry = {.count = 1, .reusable = true}}, SHIFT(361),
- [1242] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional, 2),
- [1244] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_optional, 2),
- [1246] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_type, 4, .production_id = 68),
- [1248] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_type, 4, .production_id = 68),
- [1250] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_annotation, 2, .production_id = 23),
- [1252] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_annotation, 2, .production_id = 23),
- [1254] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(),
- [1256] = {.entry = {.count = 1, .reusable = false}}, SHIFT(138),
- [1258] = {.entry = {.count = 1, .reusable = false}}, SHIFT(76),
- [1260] = {.entry = {.count = 1, .reusable = true}}, SHIFT(367),
- [1262] = {.entry = {.count = 1, .reusable = false}}, SHIFT(141),
- [1264] = {.entry = {.count = 1, .reusable = true}}, SHIFT(368),
- [1266] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_repeat1, 2),
- [1268] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_string_repeat1, 2), SHIFT_REPEAT(76),
- [1271] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_repeat1, 2), SHIFT_REPEAT(368),
- [1274] = {.entry = {.count = 1, .reusable = false}}, SHIFT(399),
- [1276] = {.entry = {.count = 1, .reusable = false}}, SHIFT(494),
- [1278] = {.entry = {.count = 1, .reusable = false}}, SHIFT(606),
- [1280] = {.entry = {.count = 1, .reusable = false}}, SHIFT(376),
- [1282] = {.entry = {.count = 1, .reusable = false}}, SHIFT(609),
- [1284] = {.entry = {.count = 1, .reusable = true}}, SHIFT(586),
- [1286] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177),
- [1288] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160),
- [1290] = {.entry = {.count = 1, .reusable = true}}, SHIFT(205),
- [1292] = {.entry = {.count = 1, .reusable = true}}, SHIFT(170),
- [1294] = {.entry = {.count = 1, .reusable = true}}, SHIFT(195),
- [1296] = {.entry = {.count = 1, .reusable = true}}, SHIFT(204),
- [1298] = {.entry = {.count = 1, .reusable = false}}, SHIFT(397),
- [1300] = {.entry = {.count = 1, .reusable = false}}, SHIFT(554),
- [1302] = {.entry = {.count = 1, .reusable = false}}, SHIFT(585),
- [1304] = {.entry = {.count = 1, .reusable = false}}, SHIFT(593),
- [1306] = {.entry = {.count = 1, .reusable = false}}, SHIFT(402),
- [1308] = {.entry = {.count = 1, .reusable = false}}, SHIFT(500),
- [1310] = {.entry = {.count = 1, .reusable = false}}, SHIFT(599),
- [1312] = {.entry = {.count = 1, .reusable = false}}, SHIFT(600),
- [1314] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_access_modifier, 1),
- [1316] = {.entry = {.count = 1, .reusable = true}}, SHIFT(414),
- [1318] = {.entry = {.count = 1, .reusable = true}}, SHIFT(539),
- [1320] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124),
- [1322] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106),
- [1324] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117),
- [1326] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_substitution, 3),
- [1328] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_substitution, 3),
- [1330] = {.entry = {.count = 1, .reusable = false}}, SHIFT(574),
- [1332] = {.entry = {.count = 1, .reusable = true}}, SHIFT(418),
- [1334] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112),
- [1336] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130),
- [1338] = {.entry = {.count = 1, .reusable = true}}, SHIFT(353),
- [1340] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_array_literal_repeat1, 2, .production_id = 26),
- [1342] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_literal_repeat1, 2, .production_id = 26), SHIFT_REPEAT(28),
- [1345] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128),
- [1347] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_struct_definition_repeat2, 2), SHIFT_REPEAT(539),
- [1350] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_struct_definition_repeat2, 2),
- [1352] = {.entry = {.count = 1, .reusable = true}}, SHIFT(455),
- [1354] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111),
- [1356] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93),
- [1358] = {.entry = {.count = 1, .reusable = true}}, SHIFT(552),
- [1360] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 5),
- [1362] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parameter_type_list_repeat1, 2),
- [1364] = {.entry = {.count = 1, .reusable = true}}, SHIFT(535),
- [1366] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_parameter_type_list_repeat1, 2), SHIFT_REPEAT(143),
- [1369] = {.entry = {.count = 1, .reusable = true}}, SHIFT(571),
- [1371] = {.entry = {.count = 1, .reusable = true}}, SHIFT(212),
- [1373] = {.entry = {.count = 1, .reusable = true}}, SHIFT(375),
- [1375] = {.entry = {.count = 1, .reusable = true}}, SHIFT(573),
- [1377] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50),
- [1379] = {.entry = {.count = 1, .reusable = true}}, SHIFT(595),
- [1381] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152),
- [1383] = {.entry = {.count = 1, .reusable = true}}, SHIFT(460),
- [1385] = {.entry = {.count = 1, .reusable = true}}, SHIFT(288),
- [1387] = {.entry = {.count = 1, .reusable = true}}, SHIFT(566),
- [1389] = {.entry = {.count = 1, .reusable = true}}, SHIFT(285),
- [1391] = {.entry = {.count = 1, .reusable = true}}, SHIFT(565),
- [1393] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 2),
- [1395] = {.entry = {.count = 1, .reusable = true}}, SHIFT(411),
- [1397] = {.entry = {.count = 1, .reusable = true}}, SHIFT(439),
- [1399] = {.entry = {.count = 1, .reusable = true}}, SHIFT(582),
- [1401] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168),
- [1403] = {.entry = {.count = 1, .reusable = true}}, SHIFT(201),
- [1405] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16),
- [1407] = {.entry = {.count = 1, .reusable = true}}, SHIFT(206),
- [1409] = {.entry = {.count = 1, .reusable = true}}, SHIFT(370),
- [1411] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63),
- [1413] = {.entry = {.count = 1, .reusable = true}}, SHIFT(528),
- [1415] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 3),
- [1417] = {.entry = {.count = 1, .reusable = true}}, SHIFT(389),
- [1419] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154),
- [1421] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15),
- [1423] = {.entry = {.count = 1, .reusable = true}}, SHIFT(196),
- [1425] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191),
- [1427] = {.entry = {.count = 1, .reusable = true}}, SHIFT(465),
- [1429] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150),
- [1431] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enum_definition_repeat1, 2),
- [1433] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_definition_repeat1, 2), SHIFT_REPEAT(581),
- [1436] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9),
- [1438] = {.entry = {.count = 1, .reusable = true}}, SHIFT(477),
- [1440] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_struct_definition_repeat1, 2),
- [1442] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_struct_definition_repeat1, 2), SHIFT_REPEAT(580),
- [1445] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175),
- [1447] = {.entry = {.count = 1, .reusable = true}}, SHIFT(371),
- [1449] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_literal_repeat1, 2, .production_id = 28),
- [1451] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_map_literal_repeat1, 2, .production_id = 28), SHIFT_REPEAT(386),
- [1454] = {.entry = {.count = 1, .reusable = true}}, SHIFT(408),
- [1456] = {.entry = {.count = 1, .reusable = true}}, SHIFT(509),
- [1458] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119),
- [1460] = {.entry = {.count = 1, .reusable = true}}, SHIFT(508),
- [1462] = {.entry = {.count = 1, .reusable = true}}, SHIFT(441),
- [1464] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145),
- [1466] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 4),
- [1468] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_parameter_list_repeat1, 2), SHIFT_REPEAT(479),
- [1471] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parameter_list_repeat1, 2),
- [1473] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat2, 2), SHIFT_REPEAT(544),
- [1476] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat2, 2),
- [1478] = {.entry = {.count = 1, .reusable = true}}, SHIFT(192),
- [1480] = {.entry = {.count = 1, .reusable = true}}, SHIFT(475),
- [1482] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2), SHIFT_REPEAT(21),
- [1485] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2),
- [1487] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146),
- [1489] = {.entry = {.count = 1, .reusable = true}}, SHIFT(454),
- [1491] = {.entry = {.count = 1, .reusable = true}}, SHIFT(426),
- [1493] = {.entry = {.count = 1, .reusable = true}}, SHIFT(381),
- [1495] = {.entry = {.count = 1, .reusable = true}}, SHIFT(542),
- [1497] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8),
- [1499] = {.entry = {.count = 1, .reusable = true}}, SHIFT(471),
- [1501] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19),
- [1503] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174),
- [1505] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161),
- [1507] = {.entry = {.count = 1, .reusable = true}}, SHIFT(372),
- [1509] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_struct_literal_repeat1, 2),
- [1511] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_struct_literal_repeat1, 2), SHIFT_REPEAT(517),
- [1514] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163),
- [1516] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18),
- [1518] = {.entry = {.count = 1, .reusable = true}}, SHIFT(221),
- [1520] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132),
- [1522] = {.entry = {.count = 1, .reusable = true}}, SHIFT(347),
- [1524] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41),
- [1526] = {.entry = {.count = 1, .reusable = true}}, SHIFT(317),
- [1528] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53),
- [1530] = {.entry = {.count = 1, .reusable = true}}, SHIFT(296),
- [1532] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31),
- [1534] = {.entry = {.count = 1, .reusable = true}}, SHIFT(302),
- [1536] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37),
- [1538] = {.entry = {.count = 1, .reusable = true}}, SHIFT(303),
- [1540] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38),
- [1542] = {.entry = {.count = 1, .reusable = true}}, SHIFT(339),
- [1544] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40),
- [1546] = {.entry = {.count = 1, .reusable = true}}, SHIFT(326),
- [1548] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58),
- [1550] = {.entry = {.count = 1, .reusable = false}}, SHIFT(380),
- [1552] = {.entry = {.count = 1, .reusable = false}}, SHIFT(583),
- [1554] = {.entry = {.count = 1, .reusable = false}}, SHIFT(425),
- [1556] = {.entry = {.count = 1, .reusable = false}}, SHIFT(587),
- [1558] = {.entry = {.count = 1, .reusable = false}}, SHIFT(392),
- [1560] = {.entry = {.count = 1, .reusable = false}}, SHIFT(592),
- [1562] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135),
- [1564] = {.entry = {.count = 1, .reusable = true}}, SHIFT(337),
- [1566] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68),
- [1568] = {.entry = {.count = 1, .reusable = true}}, SHIFT(327),
- [1570] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56),
- [1572] = {.entry = {.count = 1, .reusable = true}}, SHIFT(551),
- [1574] = {.entry = {.count = 1, .reusable = true}}, SHIFT(537),
- [1576] = {.entry = {.count = 1, .reusable = true}}, SHIFT(348),
- [1578] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46),
- [1580] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13),
- [1582] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24),
- [1584] = {.entry = {.count = 1, .reusable = true}}, SHIFT(345),
- [1586] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30),
- [1588] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_field, 3, .production_id = 17),
- [1590] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_definition, 3, .production_id = 36),
- [1592] = {.entry = {.count = 1, .reusable = false}}, SHIFT(400),
- [1594] = {.entry = {.count = 1, .reusable = false}}, SHIFT(601),
- [1596] = {.entry = {.count = 1, .reusable = true}}, SHIFT(579),
- [1598] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95),
- [1600] = {.entry = {.count = 1, .reusable = true}}, SHIFT(387),
- [1602] = {.entry = {.count = 1, .reusable = true}}, SHIFT(570),
- [1604] = {.entry = {.count = 1, .reusable = true}}, SHIFT(314),
- [1606] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52),
- [1608] = {.entry = {.count = 1, .reusable = true}}, SHIFT(332),
- [1610] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49),
- [1612] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6),
- [1614] = {.entry = {.count = 1, .reusable = true}}, SHIFT(413),
- [1616] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_literal_repeat1, 2, .production_id = 10),
- [1618] = {.entry = {.count = 1, .reusable = true}}, SHIFT(329),
- [1620] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54),
- [1622] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enum_definition_repeat1, 2, .production_id = 61),
- [1624] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98),
- [1626] = {.entry = {.count = 1, .reusable = false}}, SHIFT(393),
- [1628] = {.entry = {.count = 1, .reusable = false}}, SHIFT(610),
- [1630] = {.entry = {.count = 1, .reusable = true}}, SHIFT(309),
- [1632] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32),
- [1634] = {.entry = {.count = 1, .reusable = true}}, SHIFT(294),
- [1636] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_definition, 2, .production_id = 17),
- [1638] = {.entry = {.count = 1, .reusable = true}}, SHIFT(336),
- [1640] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26),
- [1642] = {.entry = {.count = 1, .reusable = true}}, SHIFT(291),
- [1644] = {.entry = {.count = 1, .reusable = true}}, SHIFT(452),
- [1646] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114),
- [1648] = {.entry = {.count = 1, .reusable = true}}, SHIFT(451),
- [1650] = {.entry = {.count = 1, .reusable = true}}, SHIFT(384),
- [1652] = {.entry = {.count = 1, .reusable = true}}, SHIFT(373),
- [1654] = {.entry = {.count = 1, .reusable = true}}, SHIFT(316),
- [1656] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62),
- [1658] = {.entry = {.count = 1, .reusable = true}}, SHIFT(541),
- [1660] = {.entry = {.count = 1, .reusable = true}}, SHIFT(504),
- [1662] = {.entry = {.count = 1, .reusable = true}}, SHIFT(588),
- [1664] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47),
- [1666] = {.entry = {.count = 1, .reusable = true}}, SHIFT(491),
- [1668] = {.entry = {.count = 1, .reusable = true}}, SHIFT(561),
- [1670] = {.entry = {.count = 1, .reusable = true}}, SHIFT(487),
- [1672] = {.entry = {.count = 1, .reusable = true}}, SHIFT(437),
- [1674] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100),
- [1676] = {.entry = {.count = 1, .reusable = true}}, SHIFT(569),
- [1678] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51),
- [1680] = {.entry = {.count = 1, .reusable = true}}, SHIFT(547),
- [1682] = {.entry = {.count = 1, .reusable = true}}, SHIFT(526),
- [1684] = {.entry = {.count = 1, .reusable = true}}, SHIFT(488),
- [1686] = {.entry = {.count = 1, .reusable = true}}, SHIFT(498),
- [1688] = {.entry = {.count = 1, .reusable = true}}, SHIFT(525),
- [1690] = {.entry = {.count = 1, .reusable = true}}, SHIFT(434),
- [1692] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(),
- [1694] = {.entry = {.count = 1, .reusable = true}}, SHIFT(514),
- [1696] = {.entry = {.count = 1, .reusable = true}}, SHIFT(510),
- [1698] = {.entry = {.count = 1, .reusable = true}}, SHIFT(515),
- [1700] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103),
- [1702] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104),
- [1704] = {.entry = {.count = 1, .reusable = true}}, SHIFT(431),
- [1706] = {.entry = {.count = 1, .reusable = true}}, SHIFT(430),
- [1708] = {.entry = {.count = 1, .reusable = true}}, SHIFT(533),
- [1710] = {.entry = {.count = 1, .reusable = true}}, SHIFT(589),
- [1712] = {.entry = {.count = 1, .reusable = true}}, SHIFT(536),
- [1714] = {.entry = {.count = 1, .reusable = true}}, SHIFT(567),
- [1716] = {.entry = {.count = 1, .reusable = true}}, SHIFT(516),
+ [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(679),
+ [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(501),
+ [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(729),
+ [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(728),
+ [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(18),
+ [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(578),
+ [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(726),
+ [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(725),
+ [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(724),
+ [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(29),
+ [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(48),
+ [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(681),
+ [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(722),
+ [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(45),
+ [39] = {.entry = {.count = 1, .reusable = false}}, SHIFT(581),
+ [41] = {.entry = {.count = 1, .reusable = false}}, SHIFT(159),
+ [43] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159),
+ [45] = {.entry = {.count = 1, .reusable = false}}, SHIFT(190),
+ [47] = {.entry = {.count = 1, .reusable = true}}, SHIFT(412),
+ [49] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11),
+ [51] = {.entry = {.count = 1, .reusable = false}}, SHIFT(414),
+ [53] = {.entry = {.count = 1, .reusable = false}}, SHIFT(587),
+ [55] = {.entry = {.count = 1, .reusable = false}}, SHIFT(592),
+ [57] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33),
+ [59] = {.entry = {.count = 1, .reusable = false}}, SHIFT(33),
+ [61] = {.entry = {.count = 1, .reusable = false}}, SHIFT(34),
+ [63] = {.entry = {.count = 1, .reusable = false}}, SHIFT(35),
+ [65] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23),
+ [67] = {.entry = {.count = 1, .reusable = false}}, SHIFT(256),
+ [69] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_repeat1, 2),
+ [71] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(155),
+ [74] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(12),
+ [77] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(679),
+ [80] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(501),
+ [83] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(729),
+ [86] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(728),
+ [89] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(18),
+ [92] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(578),
+ [95] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(726),
+ [98] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(725),
+ [101] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(724),
+ [104] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(29),
+ [107] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(48),
+ [110] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(681),
+ [113] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(722),
+ [116] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(45),
+ [119] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(581),
+ [122] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(159),
+ [125] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(159),
+ [128] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(190),
+ [131] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(412),
+ [134] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(11),
+ [137] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(414),
+ [140] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(587),
+ [143] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(592),
+ [146] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(33),
+ [149] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(33),
+ [152] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(34),
+ [155] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(35),
+ [158] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(23),
+ [161] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(256),
+ [164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83),
+ [166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(182),
+ [168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(221),
+ [170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82),
+ [172] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source, 1),
+ [174] = {.entry = {.count = 1, .reusable = false}}, SHIFT(243),
+ [176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(546),
+ [178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(170),
+ [180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(531),
+ [182] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167),
+ [184] = {.entry = {.count = 1, .reusable = true}}, SHIFT(516),
+ [186] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165),
+ [188] = {.entry = {.count = 1, .reusable = false}}, SHIFT(241),
+ [190] = {.entry = {.count = 1, .reusable = false}}, SHIFT(699),
+ [192] = {.entry = {.count = 1, .reusable = true}}, SHIFT(471),
+ [194] = {.entry = {.count = 1, .reusable = false}}, SHIFT(242),
+ [196] = {.entry = {.count = 1, .reusable = true}}, SHIFT(222),
+ [198] = {.entry = {.count = 1, .reusable = true}}, SHIFT(203),
+ [200] = {.entry = {.count = 1, .reusable = true}}, SHIFT(206),
+ [202] = {.entry = {.count = 1, .reusable = true}}, SHIFT(231),
+ [204] = {.entry = {.count = 1, .reusable = true}}, SHIFT(210),
+ [206] = {.entry = {.count = 1, .reusable = true}}, SHIFT(211),
+ [208] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107),
+ [210] = {.entry = {.count = 1, .reusable = true}}, SHIFT(233),
+ [212] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191),
+ [214] = {.entry = {.count = 1, .reusable = true}}, SHIFT(185),
+ [216] = {.entry = {.count = 1, .reusable = true}}, SHIFT(189),
+ [218] = {.entry = {.count = 1, .reusable = true}}, SHIFT(228),
+ [220] = {.entry = {.count = 1, .reusable = true}}, SHIFT(209),
+ [222] = {.entry = {.count = 1, .reusable = false}}, SHIFT(268),
+ [224] = {.entry = {.count = 1, .reusable = false}}, SHIFT(410),
+ [226] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64),
+ [228] = {.entry = {.count = 1, .reusable = false}}, SHIFT(64),
+ [230] = {.entry = {.count = 1, .reusable = false}}, SHIFT(63),
+ [232] = {.entry = {.count = 1, .reusable = false}}, SHIFT(62),
+ [234] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 2),
+ [236] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 2),
+ [238] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 3),
+ [240] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 3),
+ [242] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_statement_repeat1, 2, .production_id = 54),
+ [244] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_statement_repeat1, 2, .production_id = 54),
+ [246] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_if_statement_repeat1, 2, .production_id = 54), SHIFT_REPEAT(61),
+ [249] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 3, .production_id = 16),
+ [251] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 3, .production_id = 16),
+ [253] = {.entry = {.count = 1, .reusable = false}}, SHIFT(577),
+ [255] = {.entry = {.count = 1, .reusable = false}}, SHIFT(61),
+ [257] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 4, .production_id = 33),
+ [259] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 4, .production_id = 33),
+ [261] = {.entry = {.count = 1, .reusable = false}}, SHIFT(582),
+ [263] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_catch_statement, 2, .production_id = 3),
+ [265] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_catch_statement, 2, .production_id = 3),
+ [267] = {.entry = {.count = 1, .reusable = false}}, SHIFT(539),
+ [269] = {.entry = {.count = 1, .reusable = false}}, SHIFT(657),
+ [271] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_elif_block, 3, .production_id = 16),
+ [273] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_elif_block, 3, .production_id = 16),
+ [275] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_statement_repeat1, 1, .production_id = 32),
+ [277] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_statement_repeat1, 1, .production_id = 32),
+ [279] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_catch_statement, 5, .production_id = 55),
+ [281] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_catch_statement, 5, .production_id = 55),
+ [283] = {.entry = {.count = 1, .reusable = false}}, SHIFT(660),
+ [285] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_catch_statement, 4, .production_id = 34),
+ [287] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_catch_statement, 4, .production_id = 34),
+ [289] = {.entry = {.count = 1, .reusable = false}}, SHIFT(585),
+ [291] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_statement, 2),
+ [293] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_statement, 2),
+ [295] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_implementation, 2),
+ [297] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_implementation, 2),
+ [299] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_definition, 5, .production_id = 51),
+ [301] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_definition, 5, .production_id = 51),
+ [303] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_resource_definition, 8, .production_id = 106),
+ [305] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_resource_definition, 8, .production_id = 106),
+ [307] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_catch_statement, 6, .production_id = 70),
+ [309] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_catch_statement, 6, .production_id = 70),
+ [311] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_catch_statement, 4, .production_id = 35),
+ [313] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_catch_statement, 4, .production_id = 35),
+ [315] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 5, .production_id = 53),
+ [317] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 5, .production_id = 53),
+ [319] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_definition_statement, 7, .production_id = 73),
+ [321] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_definition_statement, 7, .production_id = 73),
+ [323] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_definition, 7, .production_id = 48),
+ [325] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_definition, 7, .production_id = 48),
+ [327] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_continue_statement, 2),
+ [329] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_continue_statement, 2),
+ [331] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_break_statement, 2),
+ [333] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_break_statement, 2),
+ [335] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 7, .production_id = 30),
+ [337] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_definition, 7, .production_id = 30),
+ [339] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_short_import_statement, 5, .production_id = 47),
+ [341] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_short_import_statement, 5, .production_id = 47),
+ [343] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 5, .production_id = 30),
+ [345] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_definition, 5, .production_id = 30),
+ [347] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_definition, 7, .production_id = 83),
+ [349] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_definition, 7, .production_id = 83),
+ [351] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 2),
+ [353] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 2),
+ [355] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_catch_statement, 7, .production_id = 89),
+ [357] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_catch_statement, 7, .production_id = 89),
+ [359] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 7, .production_id = 82),
+ [361] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_definition, 7, .production_id = 82),
+ [363] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_implementation, 3),
+ [365] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_implementation, 3),
+ [367] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 9, .production_id = 30),
+ [369] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_definition, 9, .production_id = 30),
+ [371] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 8, .production_id = 30),
+ [373] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_definition, 8, .production_id = 30),
+ [375] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_implementation, 2),
+ [377] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_implementation, 2),
+ [379] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_resource_implementation, 2),
+ [381] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_resource_implementation, 2),
+ [383] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_resource_definition, 7, .production_id = 82),
+ [385] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_resource_definition, 7, .production_id = 82),
+ [387] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_resource_implementation, 3),
+ [389] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_resource_implementation, 3),
+ [391] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_definition_statement, 6, .production_id = 63),
+ [393] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_definition_statement, 6, .production_id = 63),
+ [395] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_definition_statement, 5, .production_id = 49),
+ [397] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_definition_statement, 5, .production_id = 49),
+ [399] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_resource_definition, 5, .production_id = 51),
+ [401] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_resource_definition, 5, .production_id = 51),
+ [403] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 7, .production_id = 83),
+ [405] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_definition, 7, .production_id = 83),
+ [407] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_assignment_statement, 4, .production_id = 41),
+ [409] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_assignment_statement, 4, .production_id = 41),
+ [411] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_definition, 6, .production_id = 67),
+ [413] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_definition, 6, .production_id = 67),
+ [415] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_resource_definition, 6, .production_id = 67),
+ [417] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_resource_definition, 6, .production_id = 67),
+ [419] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_definition, 4, .production_id = 31),
+ [421] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_definition, 4, .production_id = 31),
+ [423] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 6, .production_id = 67),
+ [425] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_definition, 6, .production_id = 67),
+ [427] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_definition_statement, 6, .production_id = 64),
+ [429] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_definition_statement, 6, .production_id = 64),
+ [431] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 4, .production_id = 30),
+ [433] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_definition, 4, .production_id = 30),
+ [435] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 6, .production_id = 69),
+ [437] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 6, .production_id = 69),
+ [439] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 8, .production_id = 106),
+ [441] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_definition, 8, .production_id = 106),
+ [443] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_short_import_statement, 3, .production_id = 13),
+ [445] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_short_import_statement, 3, .production_id = 13),
+ [447] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 3, .production_id = 14),
+ [449] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 3, .production_id = 14),
+ [451] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_definition, 6, .production_id = 48),
+ [453] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_definition, 6, .production_id = 48),
+ [455] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_resource_definition, 9, .production_id = 131),
+ [457] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_resource_definition, 9, .production_id = 131),
+ [459] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 9, .production_id = 131),
+ [461] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_definition, 9, .production_id = 131),
+ [463] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 6, .production_id = 30),
+ [465] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_definition, 6, .production_id = 30),
+ [467] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 3, .production_id = 15),
+ [469] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_definition, 3, .production_id = 15),
+ [471] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_resource_definition, 3, .production_id = 15),
+ [473] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_resource_definition, 3, .production_id = 15),
+ [475] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_definition, 3, .production_id = 15),
+ [477] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_definition, 3, .production_id = 15),
+ [479] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_implementation, 3),
+ [481] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_implementation, 3),
+ [483] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_statement, 3, .production_id = 16),
+ [485] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_statement, 3, .production_id = 16),
+ [487] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_resource_definition, 7, .production_id = 83),
+ [489] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_resource_definition, 7, .production_id = 83),
+ [491] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_definition, 5, .production_id = 48),
+ [493] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_definition, 5, .production_id = 48),
+ [495] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_in_loop, 5, .production_id = 52),
+ [497] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_in_loop, 5, .production_id = 52),
+ [499] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 5, .production_id = 50),
+ [501] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_definition, 5, .production_id = 50),
+ [503] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 5, .production_id = 51),
+ [505] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_definition, 5, .production_id = 51),
+ [507] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_resource_definition, 5, .production_id = 50),
+ [509] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_resource_definition, 5, .production_id = 50),
+ [511] = {.entry = {.count = 1, .reusable = true}}, SHIFT(417),
+ [513] = {.entry = {.count = 1, .reusable = true}}, SHIFT(190),
+ [515] = {.entry = {.count = 1, .reusable = true}}, SHIFT(587),
+ [517] = {.entry = {.count = 1, .reusable = true}}, SHIFT(592),
+ [519] = {.entry = {.count = 1, .reusable = false}}, SHIFT(311),
+ [521] = {.entry = {.count = 1, .reusable = false}}, SHIFT(648),
+ [523] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148),
+ [525] = {.entry = {.count = 1, .reusable = true}}, SHIFT(382),
+ [527] = {.entry = {.count = 1, .reusable = false}}, SHIFT(406),
+ [529] = {.entry = {.count = 1, .reusable = true}}, SHIFT(394),
+ [531] = {.entry = {.count = 1, .reusable = true}}, SHIFT(384),
+ [533] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_custom_type, 1, .production_id = 1),
+ [535] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_reference, 1),
+ [537] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_reference, 1), SHIFT(711),
+ [540] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_reference, 1),
+ [542] = {.entry = {.count = 1, .reusable = false}}, SHIFT(168),
+ [544] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_nested_identifier, 2, .production_id = 1),
+ [546] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_nested_identifier, 2, .production_id = 1),
+ [548] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 3),
+ [550] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string, 3),
+ [552] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__literal, 1),
+ [554] = {.entry = {.count = 1, .reusable = true}}, SHIFT(178),
+ [556] = {.entry = {.count = 1, .reusable = true}}, SHIFT(180),
+ [558] = {.entry = {.count = 1, .reusable = true}}, SHIFT(186),
+ [560] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__literal, 1),
+ [562] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_number, 1),
+ [564] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_number, 1),
+ [566] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_expression, 3, .production_id = 18),
+ [568] = {.entry = {.count = 1, .reusable = true}}, SHIFT(649),
+ [570] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30),
+ [572] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new_expression, 3, .production_id = 18),
+ [574] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 2),
+ [576] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string, 2),
+ [578] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 3),
+ [580] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 3),
+ [582] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 9),
+ [584] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 9),
+ [586] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 5),
+ [588] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 5),
+ [590] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 4),
+ [592] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 4),
+ [594] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_nested_identifier, 3, .production_id = 21),
+ [596] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_nested_identifier, 3, .production_id = 21),
+ [598] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 6),
+ [600] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 6),
+ [602] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 2),
+ [604] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 2),
+ [606] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 7),
+ [608] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 7),
+ [610] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 8),
+ [612] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 8),
+ [614] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_expression, 4, .production_id = 37),
+ [616] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new_expression, 4, .production_id = 37),
+ [618] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, .production_id = 22),
+ [620] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156),
+ [622] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8),
+ [624] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, .production_id = 22),
+ [626] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_object_id, 2),
+ [628] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new_object_id, 2),
+ [630] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call, 2, .production_id = 6),
+ [632] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call, 2, .production_id = 6),
+ [634] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_duration, 1),
+ [636] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_duration, 1),
+ [638] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_seconds, 2, .production_id = 7),
+ [640] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_seconds, 2, .production_id = 7),
+ [642] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_expression, 5, .production_id = 56),
+ [644] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new_expression, 5, .production_id = 56),
+ [646] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_minutes, 2, .production_id = 7),
+ [648] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_minutes, 2, .production_id = 7),
+ [650] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 3, .production_id = 9),
+ [652] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 3, .production_id = 9),
+ [654] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_object_scope, 2),
+ [656] = {.entry = {.count = 1, .reusable = false}}, SHIFT(76),
+ [658] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73),
+ [660] = {.entry = {.count = 1, .reusable = false}}, SHIFT(72),
+ [662] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72),
+ [664] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71),
+ [666] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70),
+ [668] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69),
+ [670] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68),
+ [672] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76),
+ [674] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66),
+ [676] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65),
+ [678] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_literal, 3, .production_id = 20),
+ [680] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_literal, 3, .production_id = 20),
+ [682] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 5, .production_id = 25),
+ [684] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 5, .production_id = 25),
+ [686] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_hours, 2, .production_id = 7),
+ [688] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_hours, 2, .production_id = 7),
+ [690] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_defer_expression, 2),
+ [692] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_literal, 5, .production_id = 58),
+ [694] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_literal, 5, .production_id = 58),
+ [696] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 2),
+ [698] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 2),
+ [700] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bool, 1),
+ [702] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bool, 1),
+ [704] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_set_literal, 5, .production_id = 44),
+ [706] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_set_literal, 5, .production_id = 44),
+ [708] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_set_literal, 5, .production_id = 60),
+ [710] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_set_literal, 5, .production_id = 60),
+ [712] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_literal, 5, .production_id = 45),
+ [714] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map_literal, 5, .production_id = 45),
+ [716] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preflight_closure, 3, .production_id = 24),
+ [718] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preflight_closure, 3, .production_id = 24),
+ [720] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_expression, 4, .production_id = 38),
+ [722] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new_expression, 4, .production_id = 38),
+ [724] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_literal, 3, .production_id = 20),
+ [726] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map_literal, 3, .production_id = 20),
+ [728] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_json_element, 1),
+ [730] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_json_element, 1),
+ [732] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_literal, 5, .production_id = 61),
+ [734] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map_literal, 5, .production_id = 61),
+ [736] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 3, .production_id = 20),
+ [738] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 3, .production_id = 20),
+ [740] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_expression, 2, .production_id = 5),
+ [742] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_expression, 2, .production_id = 5),
+ [744] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_literal, 2),
+ [746] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map_literal, 2),
+ [748] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 5, .production_id = 44),
+ [750] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 5, .production_id = 44),
+ [752] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 4, .production_id = 9),
+ [754] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 4, .production_id = 9),
+ [756] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_set_literal, 4, .production_id = 9),
+ [758] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_set_literal, 4, .production_id = 9),
+ [760] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 4, .production_id = 25),
+ [762] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 4, .production_id = 25),
+ [764] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_set_literal, 4, .production_id = 25),
+ [766] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_set_literal, 4, .production_id = 25),
+ [768] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 5, .production_id = 60),
+ [770] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 5, .production_id = 60),
+ [772] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_literal, 4, .production_id = 10),
+ [774] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map_literal, 4, .production_id = 10),
+ [776] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1),
+ [778] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1),
+ [780] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_literal, 4, .production_id = 27),
+ [782] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map_literal, 4, .production_id = 27),
+ [784] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_await_expression, 2),
+ [786] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_inflight_closure, 4, .production_id = 29),
+ [788] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_inflight_closure, 4, .production_id = 29),
+ [790] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_json_literal, 2, .production_id = 8),
+ [792] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_json_literal, 2, .production_id = 8),
+ [794] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_set_literal, 3, .production_id = 9),
+ [796] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_set_literal, 3, .production_id = 9),
+ [798] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_literal, 4, .production_id = 42),
+ [800] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_literal, 4, .production_id = 42),
+ [802] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_literal, 6, .production_id = 72),
+ [804] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_literal, 6, .production_id = 72),
+ [806] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3),
+ [808] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3),
+ [810] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_set_literal, 6, .production_id = 60),
+ [812] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_set_literal, 6, .production_id = 60),
+ [814] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_literal, 6, .production_id = 61),
+ [816] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map_literal, 6, .production_id = 61),
+ [818] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_inflight_closure, 5, .production_id = 46),
+ [820] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_inflight_closure, 5, .production_id = 46),
+ [822] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 6, .production_id = 60),
+ [824] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 6, .production_id = 60),
+ [826] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_literal, 5, .production_id = 27),
+ [828] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map_literal, 5, .production_id = 27),
+ [830] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_set_literal, 5, .production_id = 25),
+ [832] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_set_literal, 5, .production_id = 25),
+ [834] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_literal, 3, .production_id = 10),
+ [836] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map_literal, 3, .production_id = 10),
+ [838] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_structured_access_expression, 4),
+ [840] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_structured_access_expression, 4),
+ [842] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 4, .production_id = 44),
+ [844] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 4, .production_id = 44),
+ [846] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preflight_closure, 4, .production_id = 43),
+ [848] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preflight_closure, 4, .production_id = 43),
+ [850] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_literal, 4, .production_id = 45),
+ [852] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map_literal, 4, .production_id = 45),
+ [854] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_set_literal, 4, .production_id = 44),
+ [856] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_set_literal, 4, .production_id = 44),
+ [858] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153),
+ [860] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50),
+ [862] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78),
+ [864] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77),
+ [866] = {.entry = {.count = 1, .reusable = true}}, SHIFT(224),
+ [868] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17),
+ [870] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_array_literal_repeat1, 2, .production_id = 9),
+ [872] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16),
+ [874] = {.entry = {.count = 1, .reusable = true}}, SHIFT(181),
+ [876] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25),
+ [878] = {.entry = {.count = 1, .reusable = true}}, SHIFT(237),
+ [880] = {.entry = {.count = 1, .reusable = true}}, SHIFT(240),
+ [882] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20),
+ [884] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6),
+ [886] = {.entry = {.count = 1, .reusable = false}}, SHIFT(60),
+ [888] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59),
+ [890] = {.entry = {.count = 1, .reusable = false}}, SHIFT(58),
+ [892] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58),
+ [894] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57),
+ [896] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26),
+ [898] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54),
+ [900] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53),
+ [902] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60),
+ [904] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47),
+ [906] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_literal_member, 3),
+ [908] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_positional_argument, 1),
+ [910] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_json_container_type, 1),
+ [912] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_json_container_type, 1),
+ [914] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_argument, 3, .production_id = 59),
+ [916] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_literal_member, 3),
+ [918] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117),
+ [920] = {.entry = {.count = 1, .reusable = true}}, SHIFT(365),
+ [922] = {.entry = {.count = 1, .reusable = true}}, SHIFT(324),
+ [924] = {.entry = {.count = 1, .reusable = true}}, SHIFT(369),
+ [926] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118),
+ [928] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_reference, 1), REDUCE(sym_custom_type, 1, .production_id = 1),
+ [931] = {.entry = {.count = 1, .reusable = true}}, SHIFT(335),
+ [933] = {.entry = {.count = 1, .reusable = true}}, SHIFT(363),
+ [935] = {.entry = {.count = 1, .reusable = true}}, SHIFT(323),
+ [937] = {.entry = {.count = 1, .reusable = true}}, SHIFT(347),
+ [939] = {.entry = {.count = 1, .reusable = true}}, SHIFT(326),
+ [941] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121),
+ [943] = {.entry = {.count = 1, .reusable = true}}, SHIFT(330),
+ [945] = {.entry = {.count = 1, .reusable = true}}, SHIFT(351),
+ [947] = {.entry = {.count = 1, .reusable = true}}, SHIFT(463),
+ [949] = {.entry = {.count = 1, .reusable = true}}, SHIFT(321),
+ [951] = {.entry = {.count = 1, .reusable = true}}, SHIFT(346),
+ [953] = {.entry = {.count = 1, .reusable = true}}, SHIFT(236),
+ [955] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131),
+ [957] = {.entry = {.count = 1, .reusable = true}}, SHIFT(227),
+ [959] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126),
+ [961] = {.entry = {.count = 1, .reusable = true}}, SHIFT(316),
+ [963] = {.entry = {.count = 1, .reusable = false}}, SHIFT(51),
+ [965] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92),
+ [967] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99),
+ [969] = {.entry = {.count = 1, .reusable = true}}, SHIFT(355),
+ [971] = {.entry = {.count = 1, .reusable = true}}, SHIFT(350),
+ [973] = {.entry = {.count = 1, .reusable = true}}, SHIFT(318),
+ [975] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36),
+ [977] = {.entry = {.count = 1, .reusable = false}}, SHIFT(441),
+ [979] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139),
+ [981] = {.entry = {.count = 1, .reusable = false}}, SHIFT(588),
+ [983] = {.entry = {.count = 1, .reusable = false}}, SHIFT(714),
+ [985] = {.entry = {.count = 1, .reusable = false}}, SHIFT(419),
+ [987] = {.entry = {.count = 1, .reusable = false}}, SHIFT(593),
+ [989] = {.entry = {.count = 1, .reusable = false}}, SHIFT(717),
+ [991] = {.entry = {.count = 1, .reusable = false}}, SHIFT(423),
+ [993] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_class_implementation_repeat1, 2), SHIFT_REPEAT(441),
+ [996] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_class_implementation_repeat1, 2),
+ [998] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_class_implementation_repeat1, 2), SHIFT_REPEAT(588),
+ [1001] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_class_implementation_repeat1, 2), SHIFT_REPEAT(714),
+ [1004] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_class_implementation_repeat1, 2), SHIFT_REPEAT(419),
+ [1007] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_class_implementation_repeat1, 2), SHIFT_REPEAT(593),
+ [1010] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_class_implementation_repeat1, 2), SHIFT_REPEAT(717),
+ [1013] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_class_implementation_repeat1, 2), SHIFT_REPEAT(423),
+ [1016] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116),
+ [1018] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93),
+ [1020] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114),
+ [1022] = {.entry = {.count = 1, .reusable = false}}, SHIFT(450),
+ [1024] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113),
+ [1026] = {.entry = {.count = 1, .reusable = false}}, SHIFT(580),
+ [1028] = {.entry = {.count = 1, .reusable = false}}, SHIFT(425),
+ [1030] = {.entry = {.count = 1, .reusable = false}}, SHIFT(721),
+ [1032] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_interface_implementation_repeat1, 2), SHIFT_REPEAT(450),
+ [1035] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_interface_implementation_repeat1, 2),
+ [1037] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_interface_implementation_repeat1, 2), SHIFT_REPEAT(580),
+ [1040] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_interface_implementation_repeat1, 2), SHIFT_REPEAT(714),
+ [1043] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_interface_implementation_repeat1, 2), SHIFT_REPEAT(425),
+ [1046] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_interface_implementation_repeat1, 2), SHIFT_REPEAT(721),
+ [1049] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_interface_implementation_repeat1, 2), SHIFT_REPEAT(423),
+ [1052] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110),
+ [1054] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_custom_type_repeat1, 2, .production_id = 12),
+ [1056] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_custom_type_repeat1, 2, .production_id = 12), SHIFT_REPEAT(711),
+ [1059] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_custom_type_repeat1, 2, .production_id = 12),
+ [1061] = {.entry = {.count = 1, .reusable = true}}, SHIFT(711),
+ [1063] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_custom_type, 1, .production_id = 1),
+ [1065] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_custom_type, 2, .production_id = 2),
+ [1067] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_custom_type, 2, .production_id = 2),
+ [1069] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_custom_type_repeat1, 2, .production_id = 11),
+ [1071] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_custom_type_repeat1, 2, .production_id = 11),
+ [1073] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_definition, 4, .production_id = 74),
+ [1075] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_definition, 4, .production_id = 74),
+ [1077] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_inflight_method_definition, 5, .production_id = 97),
+ [1079] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_inflight_method_definition, 5, .production_id = 97),
+ [1081] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 9, .production_id = 154),
+ [1083] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 9, .production_id = 154),
+ [1085] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_definition, 5, .production_id = 99),
+ [1087] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_definition, 5, .production_id = 99),
+ [1089] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 5, .production_id = 90),
+ [1091] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 5, .production_id = 90),
+ [1093] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 5, .production_id = 100),
+ [1095] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 5, .production_id = 100),
+ [1097] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_inflight_method_definition, 7, .production_id = 145),
+ [1099] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_inflight_method_definition, 7, .production_id = 145),
+ [1101] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 7, .production_id = 143),
+ [1103] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 7, .production_id = 143),
+ [1105] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 5, .production_id = 101),
+ [1107] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 5, .production_id = 101),
+ [1109] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 7, .production_id = 142),
+ [1111] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 7, .production_id = 142),
+ [1113] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 6, .production_id = 122),
+ [1115] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 6, .production_id = 122),
+ [1117] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 6, .production_id = 124),
+ [1119] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 6, .production_id = 124),
+ [1121] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 7, .production_id = 141),
+ [1123] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 7, .production_id = 141),
+ [1125] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_definition, 5, .production_id = 102),
+ [1127] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_definition, 5, .production_id = 102),
+ [1129] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_definition, 5, .production_id = 103),
+ [1131] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_definition, 5, .production_id = 103),
+ [1133] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 5, .production_id = 104),
+ [1135] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 5, .production_id = 104),
+ [1137] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 7, .production_id = 140),
+ [1139] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 7, .production_id = 140),
+ [1141] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constructor, 3, .production_id = 66),
+ [1143] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor, 3, .production_id = 66),
+ [1145] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_definition, 3, .production_id = 65),
+ [1147] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_definition, 3, .production_id = 65),
+ [1149] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_definition, 6, .production_id = 125),
+ [1151] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_definition, 6, .production_id = 125),
+ [1153] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 3, .production_id = 17),
+ [1155] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 3, .production_id = 17),
+ [1157] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 8, .production_id = 153),
+ [1159] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 8, .production_id = 153),
+ [1161] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_inflight_method_definition, 5, .production_id = 95),
+ [1163] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_inflight_method_definition, 5, .production_id = 95),
+ [1165] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 5, .production_id = 94),
+ [1167] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 5, .production_id = 94),
+ [1169] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 6, .production_id = 126),
+ [1171] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 6, .production_id = 126),
+ [1173] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_definition, 5, .production_id = 93),
+ [1175] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_definition, 5, .production_id = 93),
+ [1177] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_inflight_method_definition, 5, .production_id = 105),
+ [1179] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_inflight_method_definition, 5, .production_id = 105),
+ [1181] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 4, .production_id = 36),
+ [1183] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 4, .production_id = 36),
+ [1185] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_definition, 5, .production_id = 96),
+ [1187] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_definition, 5, .production_id = 96),
+ [1189] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_definition, 7, .production_id = 144),
+ [1191] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_definition, 7, .production_id = 144),
+ [1193] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 4, .production_id = 80),
+ [1195] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 4, .production_id = 80),
+ [1197] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 6, .production_id = 130),
+ [1199] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 6, .production_id = 130),
+ [1201] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 7, .production_id = 139),
+ [1203] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 7, .production_id = 139),
+ [1205] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 6, .production_id = 116),
+ [1207] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 6, .production_id = 116),
+ [1209] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 4, .production_id = 75),
+ [1211] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 4, .production_id = 75),
+ [1213] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_definition, 6, .production_id = 123),
+ [1215] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_definition, 6, .production_id = 123),
+ [1217] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 8, .production_id = 151),
+ [1219] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 8, .production_id = 151),
+ [1221] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 6, .production_id = 117),
+ [1223] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 6, .production_id = 117),
+ [1225] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_definition, 4, .production_id = 76),
+ [1227] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_definition, 4, .production_id = 76),
+ [1229] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_definition, 4, .production_id = 77),
+ [1231] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_definition, 4, .production_id = 77),
+ [1233] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 5, .production_id = 98),
+ [1235] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 5, .production_id = 98),
+ [1237] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 8, .production_id = 150),
+ [1239] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 8, .production_id = 150),
+ [1241] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 5, .production_id = 92),
+ [1243] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 5, .production_id = 92),
+ [1245] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_definition, 6, .production_id = 118),
+ [1247] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_definition, 6, .production_id = 118),
+ [1249] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_inflight_method_definition, 4, .production_id = 79),
+ [1251] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_inflight_method_definition, 4, .production_id = 79),
+ [1253] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_definition, 5, .production_id = 91),
+ [1255] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_definition, 5, .production_id = 91),
+ [1257] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_inflight_method_definition, 6, .production_id = 119),
+ [1259] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_inflight_method_definition, 6, .production_id = 119),
+ [1261] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 6, .production_id = 120),
+ [1263] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 6, .production_id = 120),
+ [1265] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__container_value_type, 3, .production_id = 40),
+ [1267] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__container_value_type, 3, .production_id = 40),
+ [1269] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 6, .production_id = 121),
+ [1271] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 6, .production_id = 121),
+ [1273] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_definition, 6, .production_id = 128),
+ [1275] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_definition, 6, .production_id = 128),
+ [1277] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 8, .production_id = 152),
+ [1279] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 8, .production_id = 152),
+ [1281] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_mutable_container_type, 2, .production_id = 4),
+ [1283] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_mutable_container_type, 2, .production_id = 4),
+ [1285] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_definition, 4, .production_id = 81),
+ [1287] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_definition, 4, .production_id = 81),
+ [1289] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_inflight_method_definition, 6, .production_id = 129),
+ [1291] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_inflight_method_definition, 6, .production_id = 129),
+ [1293] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 7, .production_id = 147),
+ [1295] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 7, .production_id = 147),
+ [1297] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_inflight_method_definition, 6, .production_id = 127),
+ [1299] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_inflight_method_definition, 6, .production_id = 127),
+ [1301] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 7, .production_id = 146),
+ [1303] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 7, .production_id = 146),
+ [1305] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_field, 4, .production_id = 78),
+ [1307] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_field, 4, .production_id = 78),
+ [1309] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_signature, 4, .production_id = 84),
+ [1311] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_signature, 4, .production_id = 84),
+ [1313] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_signature, 5, .production_id = 108),
+ [1315] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_signature, 5, .production_id = 108),
+ [1317] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_inflight_method_signature, 5, .production_id = 109),
+ [1319] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_inflight_method_signature, 5, .production_id = 109),
+ [1321] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_signature, 5, .production_id = 107),
+ [1323] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_signature, 5, .production_id = 107),
+ [1325] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_signature, 5, .production_id = 110),
+ [1327] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_signature, 5, .production_id = 110),
+ [1329] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_inflight_method_signature, 5, .production_id = 111),
+ [1331] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_inflight_method_signature, 5, .production_id = 111),
+ [1333] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_signature, 5, .production_id = 112),
+ [1335] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_signature, 5, .production_id = 112),
+ [1337] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_type, 2, .production_id = 39),
+ [1339] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_type, 2, .production_id = 39),
+ [1341] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154),
+ [1343] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_signature, 5, .production_id = 113),
+ [1345] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_signature, 5, .production_id = 113),
+ [1347] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_type_list, 2),
+ [1349] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameter_type_list, 2),
+ [1351] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_signature, 5, .production_id = 114),
+ [1353] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_signature, 5, .production_id = 114),
+ [1355] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_type_list, 4),
+ [1357] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameter_type_list, 4),
+ [1359] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_type_list, 3),
+ [1361] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameter_type_list, 3),
+ [1363] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_signature, 4, .production_id = 85),
+ [1365] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_signature, 4, .production_id = 85),
+ [1367] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_inflight_method_signature, 5, .production_id = 115),
+ [1369] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_inflight_method_signature, 5, .production_id = 115),
+ [1371] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_signature, 3, .production_id = 68),
+ [1373] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_signature, 3, .production_id = 68),
+ [1375] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_signature, 4, .production_id = 86),
+ [1377] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_signature, 4, .production_id = 86),
+ [1379] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_immutable_container_type, 2, .production_id = 4),
+ [1381] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_immutable_container_type, 2, .production_id = 4),
+ [1383] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_inflight_method_signature, 7, .production_id = 149),
+ [1385] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_inflight_method_signature, 7, .production_id = 149),
+ [1387] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_signature, 7, .production_id = 148),
+ [1389] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_signature, 7, .production_id = 148),
+ [1391] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_type, 1, .production_id = 19),
+ [1393] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_type, 1, .production_id = 19),
+ [1395] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151),
+ [1397] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_type_list, 5),
+ [1399] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameter_type_list, 5),
+ [1401] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_inflight_method_signature, 4, .production_id = 87),
+ [1403] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_inflight_method_signature, 4, .production_id = 87),
+ [1405] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_signature, 4, .production_id = 88),
+ [1407] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_signature, 4, .production_id = 88),
+ [1409] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_inflight_method_signature, 6, .production_id = 138),
+ [1411] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_inflight_method_signature, 6, .production_id = 138),
+ [1413] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_signature, 6, .production_id = 137),
+ [1415] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_signature, 6, .production_id = 137),
+ [1417] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_inflight_method_signature, 6, .production_id = 136),
+ [1419] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_inflight_method_signature, 6, .production_id = 136),
+ [1421] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_signature, 6, .production_id = 135),
+ [1423] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_signature, 6, .production_id = 135),
+ [1425] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_signature, 6, .production_id = 134),
+ [1427] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_signature, 6, .production_id = 134),
+ [1429] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_inflight_method_signature, 6, .production_id = 133),
+ [1431] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_inflight_method_signature, 6, .production_id = 133),
+ [1433] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_signature, 6, .production_id = 132),
+ [1435] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_signature, 6, .production_id = 132),
+ [1437] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_type, 3, .production_id = 57),
+ [1439] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_type, 3, .production_id = 57),
+ [1441] = {.entry = {.count = 1, .reusable = true}}, SHIFT(405),
+ [1443] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional, 2),
+ [1445] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_optional, 2),
+ [1447] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_builtin_type, 1),
+ [1449] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_builtin_type, 1),
+ [1451] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_type, 4, .production_id = 71),
+ [1453] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_type, 4, .production_id = 71),
+ [1455] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_annotation, 2, .production_id = 23),
+ [1457] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_annotation, 2, .production_id = 23),
+ [1459] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(),
+ [1461] = {.entry = {.count = 1, .reusable = false}}, SHIFT(157),
+ [1463] = {.entry = {.count = 1, .reusable = false}}, SHIFT(74),
+ [1465] = {.entry = {.count = 1, .reusable = true}}, SHIFT(415),
+ [1467] = {.entry = {.count = 1, .reusable = false}}, SHIFT(443),
+ [1469] = {.entry = {.count = 1, .reusable = false}}, SHIFT(575),
+ [1471] = {.entry = {.count = 1, .reusable = false}}, SHIFT(697),
+ [1473] = {.entry = {.count = 1, .reusable = false}}, SHIFT(426),
+ [1475] = {.entry = {.count = 1, .reusable = false}}, SHIFT(687),
+ [1477] = {.entry = {.count = 1, .reusable = false}}, SHIFT(161),
+ [1479] = {.entry = {.count = 1, .reusable = true}}, SHIFT(409),
+ [1481] = {.entry = {.count = 1, .reusable = false}}, SHIFT(429),
+ [1483] = {.entry = {.count = 1, .reusable = false}}, SHIFT(651),
+ [1485] = {.entry = {.count = 1, .reusable = false}}, SHIFT(416),
+ [1487] = {.entry = {.count = 1, .reusable = false}}, SHIFT(708),
+ [1489] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_repeat1, 2),
+ [1491] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_string_repeat1, 2), SHIFT_REPEAT(74),
+ [1494] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_repeat1, 2), SHIFT_REPEAT(415),
+ [1497] = {.entry = {.count = 1, .reusable = false}}, SHIFT(447),
+ [1499] = {.entry = {.count = 1, .reusable = false}}, SHIFT(584),
+ [1501] = {.entry = {.count = 1, .reusable = false}}, SHIFT(718),
+ [1503] = {.entry = {.count = 1, .reusable = false}}, SHIFT(719),
+ [1505] = {.entry = {.count = 1, .reusable = true}}, SHIFT(691),
+ [1507] = {.entry = {.count = 1, .reusable = true}}, SHIFT(208),
+ [1509] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234),
+ [1511] = {.entry = {.count = 1, .reusable = false}}, SHIFT(460),
+ [1513] = {.entry = {.count = 1, .reusable = false}}, SHIFT(617),
+ [1515] = {.entry = {.count = 1, .reusable = false}}, SHIFT(727),
+ [1517] = {.entry = {.count = 1, .reusable = false}}, SHIFT(710),
+ [1519] = {.entry = {.count = 1, .reusable = true}}, SHIFT(232),
+ [1521] = {.entry = {.count = 1, .reusable = true}}, SHIFT(200),
+ [1523] = {.entry = {.count = 1, .reusable = true}}, SHIFT(215),
+ [1525] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_access_modifier, 1),
+ [1527] = {.entry = {.count = 1, .reusable = true}}, SHIFT(229),
+ [1529] = {.entry = {.count = 1, .reusable = false}}, SHIFT(467),
+ [1531] = {.entry = {.count = 1, .reusable = false}}, SHIFT(628),
+ [1533] = {.entry = {.count = 1, .reusable = false}}, SHIFT(689),
+ [1535] = {.entry = {.count = 1, .reusable = false}}, SHIFT(470),
+ [1537] = {.entry = {.count = 1, .reusable = false}}, SHIFT(637),
+ [1539] = {.entry = {.count = 1, .reusable = false}}, SHIFT(693),
+ [1541] = {.entry = {.count = 1, .reusable = true}}, SHIFT(306),
+ [1543] = {.entry = {.count = 1, .reusable = true}}, SHIFT(461),
+ [1545] = {.entry = {.count = 1, .reusable = true}}, SHIFT(311),
+ [1547] = {.entry = {.count = 1, .reusable = true}}, SHIFT(489),
+ [1549] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_array_literal_repeat1, 2, .production_id = 26),
+ [1551] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_literal_repeat1, 2, .production_id = 26), SHIFT_REPEAT(67),
+ [1554] = {.entry = {.count = 1, .reusable = true}}, SHIFT(305),
+ [1556] = {.entry = {.count = 1, .reusable = true}}, SHIFT(600),
+ [1558] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105),
+ [1560] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103),
+ [1562] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 3),
+ [1564] = {.entry = {.count = 1, .reusable = true}}, SHIFT(451),
+ [1566] = {.entry = {.count = 1, .reusable = true}}, SHIFT(428),
+ [1568] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111),
+ [1570] = {.entry = {.count = 1, .reusable = true}}, SHIFT(480),
+ [1572] = {.entry = {.count = 1, .reusable = true}}, SHIFT(457),
+ [1574] = {.entry = {.count = 1, .reusable = true}}, SHIFT(307),
+ [1576] = {.entry = {.count = 1, .reusable = true}}, SHIFT(494),
+ [1578] = {.entry = {.count = 1, .reusable = false}}, SHIFT(673),
+ [1580] = {.entry = {.count = 1, .reusable = true}}, SHIFT(472),
+ [1582] = {.entry = {.count = 1, .reusable = true}}, SHIFT(475),
+ [1584] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_substitution, 3),
+ [1586] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_substitution, 3),
+ [1588] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112),
+ [1590] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127),
+ [1592] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 2),
+ [1594] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 4),
+ [1596] = {.entry = {.count = 1, .reusable = true}}, SHIFT(431),
+ [1598] = {.entry = {.count = 1, .reusable = true}}, SHIFT(487),
+ [1600] = {.entry = {.count = 1, .reusable = true}}, SHIFT(433),
+ [1602] = {.entry = {.count = 1, .reusable = true}}, SHIFT(663),
+ [1604] = {.entry = {.count = 1, .reusable = true}}, SHIFT(662),
+ [1606] = {.entry = {.count = 1, .reusable = true}}, SHIFT(665),
+ [1608] = {.entry = {.count = 1, .reusable = true}}, SHIFT(664),
+ [1610] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 5),
+ [1612] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150),
+ [1614] = {.entry = {.count = 1, .reusable = true}}, SHIFT(385),
+ [1616] = {.entry = {.count = 1, .reusable = true}}, SHIFT(476),
+ [1618] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135),
+ [1620] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_struct_definition_repeat2, 2), SHIFT_REPEAT(600),
+ [1623] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_struct_definition_repeat2, 2),
+ [1625] = {.entry = {.count = 1, .reusable = true}}, SHIFT(375),
+ [1627] = {.entry = {.count = 1, .reusable = true}}, SHIFT(551),
+ [1629] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171),
+ [1631] = {.entry = {.count = 1, .reusable = true}}, SHIFT(610),
+ [1633] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15),
+ [1635] = {.entry = {.count = 1, .reusable = true}}, SHIFT(214),
+ [1637] = {.entry = {.count = 1, .reusable = true}}, SHIFT(636),
+ [1639] = {.entry = {.count = 1, .reusable = true}}, SHIFT(205),
+ [1641] = {.entry = {.count = 1, .reusable = true}}, SHIFT(424),
+ [1643] = {.entry = {.count = 1, .reusable = true}}, SHIFT(235),
+ [1645] = {.entry = {.count = 1, .reusable = true}}, SHIFT(422),
+ [1647] = {.entry = {.count = 1, .reusable = true}}, SHIFT(199),
+ [1649] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24),
+ [1651] = {.entry = {.count = 1, .reusable = true}}, SHIFT(527),
+ [1653] = {.entry = {.count = 1, .reusable = true}}, SHIFT(712),
+ [1655] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10),
+ [1657] = {.entry = {.count = 1, .reusable = true}}, SHIFT(674),
+ [1659] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38),
+ [1661] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149),
+ [1663] = {.entry = {.count = 1, .reusable = true}}, SHIFT(661),
+ [1665] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169),
+ [1667] = {.entry = {.count = 1, .reusable = true}}, SHIFT(458),
+ [1669] = {.entry = {.count = 1, .reusable = true}}, SHIFT(446),
+ [1671] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188),
+ [1673] = {.entry = {.count = 1, .reusable = true}}, SHIFT(523),
+ [1675] = {.entry = {.count = 1, .reusable = true}}, SHIFT(688),
+ [1677] = {.entry = {.count = 1, .reusable = true}}, SHIFT(184),
+ [1679] = {.entry = {.count = 1, .reusable = true}}, SHIFT(570),
+ [1681] = {.entry = {.count = 1, .reusable = true}}, SHIFT(226),
+ [1683] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_struct_literal_repeat1, 2),
+ [1685] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_struct_literal_repeat1, 2), SHIFT_REPEAT(677),
+ [1688] = {.entry = {.count = 1, .reusable = true}}, SHIFT(213),
+ [1690] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19),
+ [1692] = {.entry = {.count = 1, .reusable = true}}, SHIFT(217),
+ [1694] = {.entry = {.count = 1, .reusable = true}}, SHIFT(420),
+ [1696] = {.entry = {.count = 1, .reusable = true}}, SHIFT(525),
+ [1698] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164),
+ [1700] = {.entry = {.count = 1, .reusable = true}}, SHIFT(388),
+ [1702] = {.entry = {.count = 1, .reusable = true}}, SHIFT(462),
+ [1704] = {.entry = {.count = 1, .reusable = true}}, SHIFT(633),
+ [1706] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2), SHIFT_REPEAT(21),
+ [1709] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2),
+ [1711] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_parameter_type_list_repeat1, 2), SHIFT_REPEAT(152),
+ [1714] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parameter_type_list_repeat1, 2),
+ [1716] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat2, 2), SHIFT_REPEAT(621),
+ [1719] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat2, 2),
+ [1721] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44),
+ [1723] = {.entry = {.count = 1, .reusable = true}}, SHIFT(642),
+ [1725] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_parameter_list_repeat1, 2), SHIFT_REPEAT(511),
+ [1728] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parameter_list_repeat1, 2),
+ [1730] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132),
+ [1732] = {.entry = {.count = 1, .reusable = true}}, SHIFT(624),
+ [1734] = {.entry = {.count = 1, .reusable = true}}, SHIFT(478),
+ [1736] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22),
+ [1738] = {.entry = {.count = 1, .reusable = true}}, SHIFT(212),
+ [1740] = {.entry = {.count = 1, .reusable = true}}, SHIFT(225),
+ [1742] = {.entry = {.count = 1, .reusable = true}}, SHIFT(520),
+ [1744] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163),
+ [1746] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9),
+ [1748] = {.entry = {.count = 1, .reusable = true}}, SHIFT(508),
+ [1750] = {.entry = {.count = 1, .reusable = true}}, SHIFT(239),
+ [1752] = {.entry = {.count = 1, .reusable = true}}, SHIFT(421),
+ [1754] = {.entry = {.count = 1, .reusable = true}}, SHIFT(530),
+ [1756] = {.entry = {.count = 1, .reusable = true}}, SHIFT(172),
+ [1758] = {.entry = {.count = 1, .reusable = true}}, SHIFT(374),
+ [1760] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_struct_definition_repeat1, 2),
+ [1762] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_struct_definition_repeat1, 2), SHIFT_REPEAT(702),
+ [1765] = {.entry = {.count = 1, .reusable = true}}, SHIFT(396),
+ [1767] = {.entry = {.count = 1, .reusable = true}}, SHIFT(399),
+ [1769] = {.entry = {.count = 1, .reusable = true}}, SHIFT(395),
+ [1771] = {.entry = {.count = 1, .reusable = true}}, SHIFT(400),
+ [1773] = {.entry = {.count = 1, .reusable = true}}, SHIFT(389),
+ [1775] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enum_definition_repeat1, 2),
+ [1777] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_definition_repeat1, 2), SHIFT_REPEAT(706),
+ [1780] = {.entry = {.count = 1, .reusable = true}}, SHIFT(381),
+ [1782] = {.entry = {.count = 1, .reusable = true}}, SHIFT(652),
+ [1784] = {.entry = {.count = 1, .reusable = true}}, SHIFT(493),
+ [1786] = {.entry = {.count = 1, .reusable = true}}, SHIFT(635),
+ [1788] = {.entry = {.count = 1, .reusable = true}}, SHIFT(383),
+ [1790] = {.entry = {.count = 1, .reusable = true}}, SHIFT(387),
+ [1792] = {.entry = {.count = 1, .reusable = true}}, SHIFT(386),
+ [1794] = {.entry = {.count = 1, .reusable = true}}, SHIFT(656),
+ [1796] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_literal_repeat1, 2, .production_id = 28),
+ [1798] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_map_literal_repeat1, 2, .production_id = 28), SHIFT_REPEAT(498),
+ [1801] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142),
+ [1803] = {.entry = {.count = 1, .reusable = true}}, SHIFT(667),
+ [1805] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_class_definition_repeat1, 2),
+ [1807] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_class_definition_repeat1, 2), SHIFT_REPEAT(650),
+ [1810] = {.entry = {.count = 1, .reusable = false}}, SHIFT(474),
+ [1812] = {.entry = {.count = 1, .reusable = false}}, SHIFT(720),
+ [1814] = {.entry = {.count = 1, .reusable = false}}, SHIFT(513),
+ [1816] = {.entry = {.count = 1, .reusable = false}}, SHIFT(704),
+ [1818] = {.entry = {.count = 1, .reusable = false}}, SHIFT(469),
+ [1820] = {.entry = {.count = 1, .reusable = false}}, SHIFT(703),
+ [1822] = {.entry = {.count = 1, .reusable = false}}, SHIFT(484),
+ [1824] = {.entry = {.count = 1, .reusable = false}}, SHIFT(686),
+ [1826] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162),
+ [1828] = {.entry = {.count = 1, .reusable = false}}, SHIFT(430),
+ [1830] = {.entry = {.count = 1, .reusable = true}}, SHIFT(361),
+ [1832] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28),
+ [1834] = {.entry = {.count = 1, .reusable = true}}, SHIFT(344),
+ [1836] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55),
+ [1838] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13),
+ [1840] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14),
+ [1842] = {.entry = {.count = 1, .reusable = true}}, SHIFT(372),
+ [1844] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81),
+ [1846] = {.entry = {.count = 1, .reusable = true}}, SHIFT(325),
+ [1848] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31),
+ [1850] = {.entry = {.count = 1, .reusable = true}}, SHIFT(356),
+ [1852] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52),
+ [1854] = {.entry = {.count = 1, .reusable = true}}, SHIFT(338),
+ [1856] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32),
+ [1858] = {.entry = {.count = 1, .reusable = true}}, SHIFT(562),
+ [1860] = {.entry = {.count = 1, .reusable = true}}, SHIFT(439),
+ [1862] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5),
+ [1864] = {.entry = {.count = 1, .reusable = true}}, SHIFT(707),
+ [1866] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130),
+ [1868] = {.entry = {.count = 1, .reusable = true}}, SHIFT(345),
+ [1870] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37),
+ [1872] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_literal_repeat1, 2, .production_id = 10),
+ [1874] = {.entry = {.count = 1, .reusable = true}}, SHIFT(348),
+ [1876] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80),
+ [1878] = {.entry = {.count = 1, .reusable = true}}, SHIFT(341),
+ [1880] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75),
+ [1882] = {.entry = {.count = 1, .reusable = false}}, SHIFT(437),
+ [1884] = {.entry = {.count = 1, .reusable = false}}, SHIFT(709),
+ [1886] = {.entry = {.count = 1, .reusable = true}}, SHIFT(468),
+ [1888] = {.entry = {.count = 1, .reusable = true}}, SHIFT(607),
+ [1890] = {.entry = {.count = 1, .reusable = true}}, SHIFT(337),
+ [1892] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49),
+ [1894] = {.entry = {.count = 1, .reusable = true}}, SHIFT(625),
+ [1896] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100),
+ [1898] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enum_definition_repeat1, 2, .production_id = 62),
+ [1900] = {.entry = {.count = 1, .reusable = false}}, SHIFT(466),
+ [1902] = {.entry = {.count = 1, .reusable = true}}, SHIFT(639),
+ [1904] = {.entry = {.count = 1, .reusable = true}}, SHIFT(497),
+ [1906] = {.entry = {.count = 1, .reusable = true}}, SHIFT(354),
+ [1908] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27),
+ [1910] = {.entry = {.count = 1, .reusable = false}}, SHIFT(464),
+ [1912] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_definition, 3, .production_id = 36),
+ [1914] = {.entry = {.count = 1, .reusable = true}}, SHIFT(418),
+ [1916] = {.entry = {.count = 1, .reusable = true}}, SHIFT(334),
+ [1918] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41),
+ [1920] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_field, 3, .production_id = 17),
+ [1922] = {.entry = {.count = 1, .reusable = true}}, SHIFT(362),
+ [1924] = {.entry = {.count = 1, .reusable = false}}, SHIFT(452),
+ [1926] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_definition, 2, .production_id = 17),
+ [1928] = {.entry = {.count = 1, .reusable = true}}, SHIFT(371),
+ [1930] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56),
+ [1932] = {.entry = {.count = 1, .reusable = true}}, SHIFT(329),
+ [1934] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39),
+ [1936] = {.entry = {.count = 1, .reusable = true}}, SHIFT(319),
+ [1938] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42),
+ [1940] = {.entry = {.count = 1, .reusable = true}}, SHIFT(322),
+ [1942] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40),
+ [1944] = {.entry = {.count = 1, .reusable = true}}, SHIFT(568),
+ [1946] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124),
+ [1948] = {.entry = {.count = 1, .reusable = true}}, SHIFT(678),
+ [1950] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102),
+ [1952] = {.entry = {.count = 1, .reusable = true}}, SHIFT(609),
+ [1954] = {.entry = {.count = 1, .reusable = true}}, SHIFT(646),
+ [1956] = {.entry = {.count = 1, .reusable = true}}, SHIFT(391),
+ [1958] = {.entry = {.count = 1, .reusable = true}}, SHIFT(392),
+ [1960] = {.entry = {.count = 1, .reusable = true}}, SHIFT(606),
+ [1962] = {.entry = {.count = 1, .reusable = true}}, SHIFT(641),
+ [1964] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79),
+ [1966] = {.entry = {.count = 1, .reusable = true}}, SHIFT(574),
+ [1968] = {.entry = {.count = 1, .reusable = true}}, SHIFT(638),
+ [1970] = {.entry = {.count = 1, .reusable = true}}, SHIFT(376),
+ [1972] = {.entry = {.count = 1, .reusable = true}}, SHIFT(653),
+ [1974] = {.entry = {.count = 1, .reusable = true}}, SHIFT(397),
+ [1976] = {.entry = {.count = 1, .reusable = true}}, SHIFT(377),
+ [1978] = {.entry = {.count = 1, .reusable = true}}, SHIFT(398),
+ [1980] = {.entry = {.count = 1, .reusable = true}}, SHIFT(591),
+ [1982] = {.entry = {.count = 1, .reusable = true}}, SHIFT(378),
+ [1984] = {.entry = {.count = 1, .reusable = true}}, SHIFT(573),
+ [1986] = {.entry = {.count = 1, .reusable = true}}, SHIFT(379),
+ [1988] = {.entry = {.count = 1, .reusable = true}}, SHIFT(401),
+ [1990] = {.entry = {.count = 1, .reusable = true}}, SHIFT(596),
+ [1992] = {.entry = {.count = 1, .reusable = true}}, SHIFT(538),
+ [1994] = {.entry = {.count = 1, .reusable = true}}, SHIFT(402),
+ [1996] = {.entry = {.count = 1, .reusable = true}}, SHIFT(732),
+ [1998] = {.entry = {.count = 1, .reusable = true}}, SHIFT(583),
+ [2000] = {.entry = {.count = 1, .reusable = true}}, SHIFT(626),
+ [2002] = {.entry = {.count = 1, .reusable = true}}, SHIFT(605),
+ [2004] = {.entry = {.count = 1, .reusable = true}}, SHIFT(313),
+ [2006] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46),
+ [2008] = {.entry = {.count = 1, .reusable = true}}, SHIFT(623),
+ [2010] = {.entry = {.count = 1, .reusable = true}}, SHIFT(519),
+ [2012] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(),
+ [2014] = {.entry = {.count = 1, .reusable = true}}, SHIFT(620),
+ [2016] = {.entry = {.count = 1, .reusable = true}}, SHIFT(675),
+ [2018] = {.entry = {.count = 1, .reusable = true}}, SHIFT(672),
+ [2020] = {.entry = {.count = 1, .reusable = true}}, SHIFT(666),
+ [2022] = {.entry = {.count = 1, .reusable = true}}, SHIFT(627),
+ [2024] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101),
+ [2026] = {.entry = {.count = 1, .reusable = true}}, SHIFT(403),
+ [2028] = {.entry = {.count = 1, .reusable = true}}, SHIFT(515),
+ [2030] = {.entry = {.count = 1, .reusable = true}}, SHIFT(481),
+ [2032] = {.entry = {.count = 1, .reusable = true}}, SHIFT(485),
+ [2034] = {.entry = {.count = 1, .reusable = true}}, SHIFT(595),
+ [2036] = {.entry = {.count = 1, .reusable = true}}, SHIFT(680),
+ [2038] = {.entry = {.count = 1, .reusable = true}}, SHIFT(619),
+ [2040] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43),
+ [2042] = {.entry = {.count = 1, .reusable = true}}, SHIFT(373),
+ [2044] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104),
};
#ifdef __cplusplus
diff --git a/libs/tree-sitter-wing/test/corpus/statements/class_and_resource.txt b/libs/tree-sitter-wing/test/corpus/statements/class_and_resource.txt
index fc43fe3e071..61fe6927e64 100644
--- a/libs/tree-sitter-wing/test/corpus/statements/class_and_resource.txt
+++ b/libs/tree-sitter-wing/test/corpus/statements/class_and_resource.txt
@@ -159,7 +159,7 @@ resource A {
Resource inheritance
==================================
-resource A extends B {}
+resource A extends B impl C, D {}
---
(source
@@ -168,6 +168,49 @@ resource A extends B {}
parent: (custom_type
object: (identifier)
)
+ implements: (custom_type
+ object: (identifier)
+ )
+ implements: (custom_type
+ object: (identifier)
+ )
implementation: (resource_implementation)
)
)
+
+==================================
+Interface definition
+==================================
+
+interface A extends B, C {
+ do_something();
+ inflight do_something_else(x: str): num;
+ a_member: str;
+ inflight b_member: num;
+}
+
+---
+(source
+ (interface_definition
+ name: (identifier)
+ implements: (custom_type
+ object: (identifier))
+ implements: (custom_type
+ object: (identifier))
+ implementation: (interface_implementation
+ (method_signature
+ name: (identifier)
+ parameter_list: (parameter_list))
+ (inflight_method_signature
+ name: (identifier)
+ parameter_list: (parameter_list
+ (parameter_definition
+ name: (identifier)
+ type: (builtin_type)))
+ type: (builtin_type))
+ (class_field
+ name: (identifier)
+ type: (builtin_type))
+ (class_field
+ name: (identifier)
+ type: (builtin_type)))))
diff --git a/libs/wingc/src/ast.rs b/libs/wingc/src/ast.rs
index 7402f42a2b0..919a00305aa 100644
--- a/libs/wingc/src/ast.rs
+++ b/libs/wingc/src/ast.rs
@@ -120,6 +120,17 @@ pub struct UserDefinedType {
pub fields: Vec,
}
+impl Display for UserDefinedType {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ let mut name = self.root.name.clone();
+ for field in &self.fields {
+ name.push('.');
+ name.push_str(&field.name);
+ }
+ write!(f, "{}", name)
+ }
+}
+
impl Display for TypeAnnotation {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
@@ -137,9 +148,7 @@ impl Display for TypeAnnotation {
TypeAnnotation::Set(t) => write!(f, "Set<{}>", t),
TypeAnnotation::MutSet(t) => write!(f, "MutSet<{}>", t),
TypeAnnotation::FunctionSignature(sig) => write!(f, "{}", sig),
- TypeAnnotation::UserDefined(user_defined_type) => {
- write!(f, "{}", user_defined_type.root.name)
- }
+ TypeAnnotation::UserDefined(user_defined_type) => write!(f, "{}", user_defined_type),
}
}
}
@@ -237,6 +246,7 @@ pub struct Class {
pub methods: Vec<(Symbol, FunctionDefinition)>,
pub constructor: Constructor,
pub parent: Option,
+ pub implements: Vec,
pub is_resource: bool,
}
@@ -507,3 +517,35 @@ impl Display for Reference {
}
}
}
+
+/// Represents any type that has a span.
+pub trait ToSpan {
+ fn span(&self) -> WingSpan;
+}
+
+impl ToSpan for Stmt {
+ fn span(&self) -> WingSpan {
+ self.span.clone()
+ }
+}
+
+impl ToSpan for Expr {
+ fn span(&self) -> WingSpan {
+ self.span.clone()
+ }
+}
+
+impl ToSpan for Symbol {
+ fn span(&self) -> WingSpan {
+ self.span.clone()
+ }
+}
+
+impl ToSpan for Box
+where
+ T: ToSpan,
+{
+ fn span(&self) -> WingSpan {
+ (&**self).span()
+ }
+}
diff --git a/libs/wingc/src/capture.rs b/libs/wingc/src/capture.rs
index 7e847da7828..ae8b431b03c 100644
--- a/libs/wingc/src/capture.rs
+++ b/libs/wingc/src/capture.rs
@@ -182,7 +182,7 @@ fn scan_captures_in_expression(
res.extend(
resource
.methods(true)
- .filter(|(_, sig)| matches!(sig.as_function_sig().unwrap().flight, Phase::Inflight))
+ .filter(|(_, sig)| matches!(sig.as_function_sig().unwrap().phase, Phase::Inflight))
.map(|(name, _)| Capture {
symbol: symbol.clone(),
ops: vec![CaptureOperation { member: name.clone() }],
@@ -239,7 +239,7 @@ fn scan_captures_in_expression(
// TODO: handle accessing things other than function_sigs while recursively accessing Reference?
if let Some(func) = prop_type.as_function_sig() {
assert!(
- func.flight != Phase::Preflight,
+ func.phase != Phase::Preflight,
"Can't access preflight method {property} inflight"
);
}
diff --git a/libs/wingc/src/jsify.rs b/libs/wingc/src/jsify.rs
index d4eddba7319..50ca6512132 100644
--- a/libs/wingc/src/jsify.rs
+++ b/libs/wingc/src/jsify.rs
@@ -1173,7 +1173,7 @@ impl<'a> JSifier<'a> {
.unwrap()
.methods(true)
.filter_map(|(name, sig)| {
- if sig.as_function_sig().unwrap().flight == Phase::Inflight {
+ if sig.as_function_sig().unwrap().phase == Phase::Inflight {
Some(name)
} else {
None
diff --git a/libs/wingc/src/lib.rs b/libs/wingc/src/lib.rs
index 4f0d13ae8dc..25daaf65bd6 100644
--- a/libs/wingc/src/lib.rs
+++ b/libs/wingc/src/lib.rs
@@ -177,7 +177,7 @@ pub fn type_check(scope: &mut Scope, types: &mut Types, source_path: &Path) -> D
Type::Function(FunctionSignature {
parameters: vec![types.string()],
return_type: types.void(),
- flight: Phase::Independent,
+ phase: Phase::Independent,
js_override: Some("{console.log($args$)}".to_string()),
}),
scope,
@@ -188,7 +188,7 @@ pub fn type_check(scope: &mut Scope, types: &mut Types, source_path: &Path) -> D
Type::Function(FunctionSignature {
parameters: vec![types.bool()],
return_type: types.void(),
- flight: Phase::Independent,
+ phase: Phase::Independent,
js_override: Some("{((cond) => {if (!cond) throw new Error(`assertion failed: '$args$'`)})($args$)}".to_string()),
}),
scope,
@@ -199,7 +199,7 @@ pub fn type_check(scope: &mut Scope, types: &mut Types, source_path: &Path) -> D
Type::Function(FunctionSignature {
parameters: vec![types.string()],
return_type: types.void(),
- flight: Phase::Independent,
+ phase: Phase::Independent,
js_override: Some("{((msg) => {throw new Error(msg)})($args$)}".to_string()),
}),
scope,
@@ -210,7 +210,7 @@ pub fn type_check(scope: &mut Scope, types: &mut Types, source_path: &Path) -> D
Type::Function(FunctionSignature {
parameters: vec![types.string()],
return_type: types.void(),
- flight: Phase::Independent,
+ phase: Phase::Independent,
js_override: Some("{((msg) => {console.error(msg, (new Error()).stack);process.exit(1)})($args$)}".to_string()),
}),
scope,
diff --git a/libs/wingc/src/parser.rs b/libs/wingc/src/parser.rs
index f6eadb246f2..7097c9b9068 100644
--- a/libs/wingc/src/parser.rs
+++ b/libs/wingc/src/parser.rs
@@ -26,6 +26,7 @@ pub struct Parser<'a> {
// k=grammar, v=optional_message, example: ("generic", "targed impl: 1.0.0")
static UNIMPLEMENTED_GRAMMARS: phf::Map<&'static str, &'static str> = phf_map! {
"struct_definition" => "see https://github.com/winglang/wing/issues/120",
+ "interface_definition" => "see https://github.com/winglang/wing/issues/123",
"any" => "see https://github.com/winglang/wing/issues/434",
"void" => "see https://github.com/winglang/wing/issues/432",
"nil" => "see https://github.com/winglang/wing/issues/433",
@@ -516,11 +517,40 @@ impl<'s> Parser<'s> {
} else {
None
};
+
+ let mut implements = vec![];
+ for type_node in statement_node.children_by_field_name("implements", &mut cursor) {
+ // ignore comments
+ if type_node.is_extra() {
+ continue;
+ }
+
+ // ignore commas
+ if !type_node.is_named() {
+ continue;
+ }
+
+ let interface_type = self.build_type_annotation(&type_node)?;
+ match interface_type {
+ TypeAnnotation::UserDefined(interface_type) => implements.push(interface_type),
+ _ => {
+ self.add_error::(
+ format!(
+ "Implemented interface must be a user defined type, found {}",
+ interface_type
+ ),
+ &type_node,
+ )?;
+ }
+ }
+ }
+
Ok(StmtKind::Class(Class {
name,
fields,
methods,
parent,
+ implements,
constructor: constructor.unwrap(),
is_resource,
}))
diff --git a/libs/wingc/src/type_check.rs b/libs/wingc/src/type_check.rs
index 52bca849374..a9153703fa9 100644
--- a/libs/wingc/src/type_check.rs
+++ b/libs/wingc/src/type_check.rs
@@ -2,7 +2,7 @@ mod jsii_importer;
pub mod symbol_env;
use crate::ast::{
Class as AstClass, Expr, ExprKind, InterpolatedStringPart, Literal, Phase, Reference, Scope, Stmt, StmtKind, Symbol,
- TypeAnnotation, UnaryOperator, UserDefinedType,
+ ToSpan, TypeAnnotation, UnaryOperator, UserDefinedType,
};
use crate::diagnostic::{Diagnostic, DiagnosticLevel, Diagnostics, TypeError};
use crate::{
@@ -295,6 +295,9 @@ trait Subtype {
/// Subtype is a partial order, so if a.is_subtype_of(b) is false, it does
/// not imply that b.is_subtype_of(a) is true. It is also reflexive, so
/// a.is_subtype_of(a) is always true.
+ ///
+ /// TODO: change return type to allow additional subtyping information to be
+ /// returned, for better error messages when one type isn't the subtype of another.
fn is_subtype_of(&self, other: &Self) -> bool;
fn is_same_type_as(&self, other: &Self) -> bool {
@@ -306,6 +309,27 @@ trait Subtype {
}
}
+impl Subtype for Phase {
+ fn is_subtype_of(&self, other: &Self) -> bool {
+ // We model phase subtyping as if the independent phase is an
+ // intersection type of preflight and inflight. This means that
+ // independent = preflight & inflight.
+ //
+ // This means the following pseudocode is valid:
+ // > let x: preflight fn = ;
+ // (a phase-independent function is a subtype of a preflight function)
+ //
+ // But the following pseudocode is not valid:
+ // > let x: independent fn = ;
+ // (a preflight function is not a subtype of an inflight function)
+ if self == &Phase::Independent {
+ true
+ } else {
+ self == other
+ }
+ }
+}
+
impl Subtype for Type {
fn is_subtype_of(&self, other: &Self) -> bool {
// If references are the same this is the same type, if not then compare content
@@ -317,8 +341,55 @@ impl Subtype for Type {
// TODO: Hack to make anything's compatible with all other types, specifically useful for handling core.Inflight handlers
true
}
- // TODO: implement function subtyping - https://github.com/winglang/wing/issues/1677
- (Self::Function(l0), Self::Function(r0)) => l0 == r0,
+ (Self::Function(l0), Self::Function(r0)) => {
+ if !l0.phase.is_subtype_of(&r0.phase) {
+ return false;
+ }
+
+ // If the return types are not subtypes of each other, then this is not a subtype
+ // exception: if function type we are assigning to returns void, then any return type is ok
+ if !l0.return_type.is_subtype_of(&r0.return_type) && !(r0.return_type.is_void()) {
+ return false;
+ }
+
+ // In this section, we check if the parameter types are not subtypes of each other, then this is not a subtype.
+
+ // Check that this function has at least as many required parameters as the other function requires
+ if l0.min_parameters() < r0.min_parameters() {
+ return false;
+ }
+
+ let mut lparams = l0.parameters.iter().peekable();
+ let mut rparams = r0.parameters.iter().peekable();
+
+ // If the first parameter is a class or resource, then we assume it refers to the `this` parameter
+ // in a class or resource, and skip it.
+ // TODO: remove this after https://github.com/winglang/wing/issues/1678
+ if matches!(
+ lparams.peek().map(|t| &***t),
+ Some(&Type::Class(_)) | Some(&Type::Resource(_)) | Some(&Type::Interface(_))
+ ) {
+ lparams.next();
+ }
+
+ if matches!(
+ rparams.peek().map(|t| &***t),
+ Some(&Type::Class(_)) | Some(&Type::Resource(_)) | Some(&Type::Interface(_))
+ ) {
+ rparams.next();
+ }
+
+ for (l, r) in lparams.zip(rparams) {
+ // parameter types are contravariant, which means even if Cat is a subtype of Animal,
+ // (Cat) => void is not a subtype of (Animal) => void
+ // but (Animal) => void is a subtype of (Cat) => void
+ // see https://en.wikipedia.org/wiki/Covariance_and_contravariance_(computer_science)
+ if l.is_strict_subtype_of(&r) {
+ return false;
+ }
+ }
+ true
+ }
(Self::Class(l0), Self::Class(_)) => {
// If we extend from `other` then I'm a subtype of it (inheritance)
if let Some(parent) = l0.parent.as_ref() {
@@ -438,7 +509,7 @@ impl Subtype for Type {
pub struct FunctionSignature {
pub parameters: Vec,
pub return_type: TypeRef,
- pub flight: Phase,
+ pub phase: Phase,
/// During jsify, calls to this function will be replaced with this string
/// In JSII imports, this is denoted by the `@macro` attribute
@@ -448,6 +519,30 @@ pub struct FunctionSignature {
pub js_override: Option,
}
+impl FunctionSignature {
+ /// Returns the minimum number of parameters that need to be passed to this function.
+ fn min_parameters(&self) -> usize {
+ // Count number of optional parameters from the end of the constructor's params
+ // Allow arg_list to be missing up to that number of option (or any) values to try and make the number of arguments match
+ let num_optionals = self
+ .parameters
+ .iter()
+ .rev()
+ // TODO - as a hack we treat `anything` arguments like optionals so that () => {} can be a subtype of (any) => {}
+ .take_while(|arg| arg.is_option() || arg.is_anything())
+ .count();
+
+ self.parameters.len() - num_optionals
+ }
+
+ /// Returns the maximum number of parameters that can be passed to this function.
+ ///
+ /// TODO: how to represent unlimited parameters in the case of variadics?
+ fn max_parameters(&self) -> usize {
+ self.parameters.len()
+ }
+}
+
impl PartialEq for FunctionSignature {
fn eq(&self, other: &Self) -> bool {
self
@@ -456,7 +551,7 @@ impl PartialEq for FunctionSignature {
.zip(other.parameters.iter())
.all(|(x, y)| x.is_same_type_as(y))
&& self.return_type.is_same_type_as(&other.return_type)
- && self.flight == other.flight
+ && self.phase == other.phase
}
}
@@ -500,7 +595,7 @@ impl Display for Type {
impl Display for FunctionSignature {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
- let phase_str = match self.flight {
+ let phase_str = match self.phase {
Phase::Inflight => "inflight ",
Phase::Preflight => "preflight ",
Phase::Independent => "",
@@ -557,6 +652,14 @@ impl TypeRef {
}
}
+ fn as_interface(&self) -> Option<&Interface> {
+ if let Type::Interface(ref iface) = **self {
+ Some(iface)
+ } else {
+ None
+ }
+ }
+
fn maybe_unwrap_option(&self) -> TypeRef {
if let Type::Optional(ref t) = **self {
*t
@@ -1020,19 +1123,10 @@ impl<'a> TypeChecker<'a> {
self.validate_structural_type(&arg_list.named_args, &last_arg, exp, env, statement_idx, context);
}
- // Count number of optional parameters from the end of the constructor's params
- // Allow arg_list to be missing up to that number of nil values to try and make the number of arguments match
- let num_optionals = constructor_sig
- .parameters
- .iter()
- .rev()
- .take_while(|arg| arg.is_option())
- .count();
-
// Verify arity
let arg_count = arg_list.pos_args.len() + (if arg_list.named_args.is_empty() { 0 } else { 1 });
- let min_args = constructor_sig.parameters.len() - num_optionals;
- let max_args = constructor_sig.parameters.len();
+ let min_args = constructor_sig.min_parameters();
+ let max_args = constructor_sig.max_parameters();
if arg_count < min_args || arg_count > max_args {
let err_text = if min_args == max_args {
format!(
@@ -1104,10 +1198,10 @@ impl<'a> TypeChecker<'a> {
return self.expr_error(&*function, format!("should be a function or method"));
};
- if !env.flight.can_call_to(&func_sig.flight) {
+ if !env.flight.can_call_to(&func_sig.phase) {
self.expr_error(
exp,
- format!("Cannot call into {} phase while {}", func_sig.flight, env.flight),
+ format!("Cannot call into {} phase while {}", func_sig.phase, env.flight),
);
}
@@ -1380,14 +1474,14 @@ impl<'a> TypeChecker<'a> {
/// Validate that the given type is a subtype (or same) as the expected type. If not, add an error
/// to the diagnostics.
/// Returns the given type on success, otherwise returns the expected type.
- fn validate_type(&mut self, actual_type: TypeRef, expected_type: TypeRef, value: &Expr) -> TypeRef {
- self.validate_type_in(actual_type, &[expected_type], value)
+ fn validate_type(&mut self, actual_type: TypeRef, expected_type: TypeRef, span: &impl ToSpan) -> TypeRef {
+ self.validate_type_in(actual_type, &[expected_type], span)
}
- /// Validate that the given type is a subtype (or same) as the on of the expected types. If not, add
+ /// Validate that the given type is a subtype (or same) as the one of the expected types. If not, add
/// an error to the diagnostics.
/// Returns the given type on success, otherwise returns one of the expected types.
- fn validate_type_in(&mut self, actual_type: TypeRef, expected_types: &[TypeRef], value: &Expr) -> TypeRef {
+ fn validate_type_in(&mut self, actual_type: TypeRef, expected_types: &[TypeRef], span: &impl ToSpan) -> TypeRef {
assert!(expected_types.len() > 0);
if !actual_type.is_anything()
&& !expected_types
@@ -1411,7 +1505,7 @@ impl<'a> TypeChecker<'a> {
expected_types[0], actual_type
)
},
- span: Some(value.span.clone()),
+ span: Some(span.span()),
level: DiagnosticLevel::Error,
});
expected_types[0]
@@ -1454,7 +1548,7 @@ impl<'a> TypeChecker<'a> {
return_type: ast_sig.return_type.as_ref().map_or(self.types.void(), |t| {
self.resolve_type_annotation(t, env, statement_idx)
}),
- flight: ast_sig.flight,
+ phase: ast_sig.flight,
js_override: None,
};
// TODO: avoid creating a new type for each function_sig resolution
@@ -1743,6 +1837,7 @@ impl<'a> TypeChecker<'a> {
fields,
methods,
parent,
+ implements,
constructor,
is_resource,
}) => {
@@ -1934,7 +2029,7 @@ impl<'a> TypeChecker<'a> {
method_sig.return_type,
false,
false,
- method_sig.flight,
+ method_sig.phase,
stmt.idx,
);
// Add `this` as first argument
@@ -1954,7 +2049,44 @@ impl<'a> TypeChecker<'a> {
self.inner_scopes.push(&method_def.statements);
}
- // TODO: type check that class satisfies interfaces - https://github.com/winglang/wing/issues/1697
+ // Check that the class satisfies all of its interfaces
+ for interface in implements.iter() {
+ let interface_type =
+ resolve_user_defined_type(interface, env, stmt.idx).unwrap_or_else(|e| self.type_error(e));
+ let interface_type = interface_type.as_interface().expect("Expected interface type");
+
+ // Check all methods are implemented
+ for (method_name, method_type) in interface_type.methods(true) {
+ if let Some(symbol) = class_env.try_lookup(&method_name, None) {
+ let class_method_type = symbol.as_variable().expect("Expected method to be a variable").type_;
+ self.validate_type(class_method_type, method_type, name);
+ } else {
+ self.type_error(TypeError {
+ message: format!(
+ "Resource \"{}\" does not implement method \"{}\" of interface \"{}\"",
+ name, method_name, interface
+ ),
+ span: name.span.clone(),
+ });
+ }
+ }
+
+ // Check all fields are implemented
+ for (field_name, field_type) in interface_type.fields(true) {
+ if let Some(symbol) = class_env.try_lookup(&field_name, None) {
+ let class_field_type = symbol.as_variable().expect("Expected field to be a variable").type_;
+ self.validate_type(class_field_type, field_type, name);
+ } else {
+ self.type_error(TypeError {
+ message: format!(
+ "Resource \"{}\" does not implement field \"{}\" of interface \"{}\"",
+ name, field_name, interface
+ ),
+ span: name.span.clone(),
+ });
+ }
+ }
+ }
}
StmtKind::Struct { name, extends, members } => {
// Note: structs don't have a parent environment, instead they flatten their parent's members into the struct's env.
@@ -2250,7 +2382,7 @@ impl<'a> TypeChecker<'a> {
let new_sig = FunctionSignature {
parameters: new_args,
return_type: new_return_type,
- flight: sig.flight.clone(),
+ phase: sig.phase,
js_override: sig.js_override.clone(),
};
@@ -2687,3 +2819,28 @@ pub fn resolve_user_defined_type_by_fqn(
let user_defined_type = UserDefinedType { root, fields };
resolve_user_defined_type(&user_defined_type, env, statement_idx)
}
+
+#[cfg(test)]
+mod tests {
+ use super::*;
+
+ #[test]
+ fn phase_subtyping() {
+ // subtyping is reflexive
+ assert!(Phase::Independent.is_subtype_of(&Phase::Independent));
+ assert!(Phase::Preflight.is_subtype_of(&Phase::Preflight));
+ assert!(Phase::Inflight.is_subtype_of(&Phase::Inflight));
+
+ // independent is a subtype of preflight
+ assert!(Phase::Independent.is_subtype_of(&Phase::Preflight));
+ assert!(!Phase::Preflight.is_subtype_of(&Phase::Independent));
+
+ // independent is a subtype of inflight
+ assert!(Phase::Independent.is_subtype_of(&Phase::Inflight));
+ assert!(!Phase::Inflight.is_subtype_of(&Phase::Independent));
+
+ // preflight and inflight are not subtypes of each other
+ assert!(!Phase::Preflight.is_subtype_of(&Phase::Inflight));
+ assert!(!Phase::Inflight.is_subtype_of(&Phase::Preflight));
+ }
+}
diff --git a/libs/wingc/src/type_check/jsii_importer.rs b/libs/wingc/src/type_check/jsii_importer.rs
index 470370a49b8..e3dacd4c644 100644
--- a/libs/wingc/src/type_check/jsii_importer.rs
+++ b/libs/wingc/src/type_check/jsii_importer.rs
@@ -103,7 +103,7 @@ impl<'a> JsiiImporter<'a> {
self.wing_types.add_type(Type::Function(FunctionSignature {
parameters: vec![self.wing_types.anything()],
return_type: self.wing_types.anything(),
- flight: Phase::Inflight,
+ phase: Phase::Inflight,
js_override: None,
}))
} else if type_fqn == &format!("{}.{}", WINGSDK_ASSEMBLY_NAME, WINGSDK_DURATION) {
@@ -390,6 +390,37 @@ impl<'a> JsiiImporter<'a> {
));
}
+ // Add inflight methods from any docstring-linked interfaces to the new interface's env
+ // For example, `IBucket` could contain all of the preflight methods of a bucket, and
+ // contain docstring tag of "@inflight IBucketClient" where `IBucketClient` is an interface
+ // that contains all of the inflight methods of a bucket.
+ if !is_struct {
+ // Look for a client interface for this resource
+ let inflight_tag: Option<&str> = extract_docstring_tag(&jsii_interface.docs, "inflight");
+
+ let client_interface = inflight_tag
+ .map(|fqn| {
+ // Some fully qualified package names include "@" characters,
+ // so they have to be escaped in the original docstring.
+ if fqn.starts_with("`") && fqn.ends_with("`") {
+ &fqn[1..fqn.len() - 1]
+ } else {
+ fqn
+ }
+ })
+ .and_then(|fqn| self.jsii_types.find_interface(&FQN::from(fqn)));
+
+ if let Some(client_interface) = client_interface {
+ // Add client interface's methods to the class environment
+ self.add_members_to_class_env(client_interface, false, Phase::Inflight, &mut iface_env, wing_type);
+ } else {
+ debug!(
+ "Interface {} does not seem to have an inflight client",
+ type_name.green()
+ );
+ }
+ }
+
// Replace the dummy struct environment with the real one after adding all properties
match *wing_type {
Type::Struct(Struct { ref mut env, .. }) | Type::Interface(Interface { ref mut env, .. }) => *env = iface_env,
@@ -450,7 +481,7 @@ impl<'a> JsiiImporter<'a> {
let method_sig = self.wing_types.add_type(Type::Function(FunctionSignature {
parameters: arg_types,
return_type,
- flight,
+ phase: flight,
js_override: m
.docs
.as_ref()
@@ -683,7 +714,7 @@ impl<'a> JsiiImporter<'a> {
let method_sig = self.wing_types.add_type(Type::Function(FunctionSignature {
parameters: arg_types,
return_type: new_type,
- flight: phase,
+ phase,
js_override: None,
}));
if let Err(e) = class_env.define(
@@ -699,24 +730,20 @@ impl<'a> JsiiImporter<'a> {
self.add_members_to_class_env(jsii_class, is_resource, phase, &mut class_env, new_type);
if is_resource {
// Look for a client interface for this resource
- let client_interface = jsii_class
- .docs
- .as_ref()
- .and_then(|docs| docs.custom.as_ref())
- .and_then(|custom| {
- custom
- .get("inflight")
- .map(|fqn| {
- // Some fully qualified package names include "@" characters,
- // so they have to be escaped in the original docstring.
- if fqn.starts_with("`") && fqn.ends_with("`") {
- &fqn[1..fqn.len() - 1]
- } else {
- fqn
- }
- })
- .and_then(|fqn| self.jsii_types.find_interface(&FQN::from(fqn)))
- });
+ let inflight_tag: Option<&str> = extract_docstring_tag(&jsii_class.docs, "inflight");
+
+ let client_interface = inflight_tag
+ .map(|fqn| {
+ // Some fully qualified package names include "@" characters,
+ // so they have to be escaped in the original docstring.
+ if fqn.starts_with("`") && fqn.ends_with("`") {
+ &fqn[1..fqn.len() - 1]
+ } else {
+ fqn
+ }
+ })
+ .and_then(|fqn| self.jsii_types.find_interface(&FQN::from(fqn)));
+
if let Some(client_interface) = client_interface {
// Add client interface's methods to the class environment
self.add_members_to_class_env(client_interface, false, Phase::Inflight, &mut class_env, new_type);
@@ -833,6 +860,15 @@ impl<'a> JsiiImporter<'a> {
}
}
+fn extract_docstring_tag<'a>(docs: &'a Option, arg: &str) -> Option<&'a str> {
+ docs.as_ref().and_then(|docs| {
+ docs
+ .custom
+ .as_ref()
+ .and_then(|custom| custom.get(arg).map(|s| s.as_str()))
+ })
+}
+
/// Returns true if the FQN represents a "construct base class".
///
/// TODO: this is a temporary hack until we support interfaces.
diff --git a/libs/wingsdk/API.md b/libs/wingsdk/API.md
index 571f063a616..d1d069209bb 100644
--- a/libs/wingsdk/API.md
+++ b/libs/wingsdk/API.md
@@ -3464,7 +3464,7 @@ Invoke the function asynchronously with a given payload.
- *Implemented By:* IFunctionHandler
-**Inflight client:** [wingsdk.cloud.IFunctionHandlerClient](#wingsdk.cloud.IFunctionHandlerClient)
+**Inflight client:** [@winglang/sdk.cloud.IFunctionHandlerClient](#@winglang/sdk.cloud.IFunctionHandlerClient)
Represents a resource with an inflight "handle" method that can be used to create a `cloud.Function`.
@@ -3629,7 +3629,7 @@ Payload to send to the queue.
- *Implemented By:* IQueueOnMessageHandler
-**Inflight client:** [wingsdk.cloud.IQueueOnMessageHandlerClient](#wingsdk.cloud.IQueueOnMessageHandlerClient)
+**Inflight client:** [@winglang/sdk.cloud.IQueueOnMessageHandlerClient](#@winglang/sdk.cloud.IQueueOnMessageHandlerClient)
Represents a resource with an inflight "handle" method that can be passed to `Queue.on_message`.
@@ -3704,7 +3704,7 @@ Function that will be called when a message is received from the queue.
- *Implemented By:* IScheduleOnTickHandler
-**Inflight client:** [wingsdk.cloud.IScheduleOnTickHandlerClient](#wingsdk.cloud.IScheduleOnTickHandlerClient)
+**Inflight client:** [@winglang/sdk.cloud.IScheduleOnTickHandlerClient](#@winglang/sdk.cloud.IScheduleOnTickHandlerClient)
Represents a resource with an inflight "handle" method that can be passed to `Schedule.on_tick`.
@@ -3806,7 +3806,7 @@ Payload to publish to Topic.
- *Implemented By:* ITopicOnMessageHandler
-**Inflight client:** [wingsdk.cloud.ITopicOnMessageHandlerClient](#wingsdk.cloud.ITopicOnMessageHandlerClient)
+**Inflight client:** [@winglang/sdk.cloud.ITopicOnMessageHandlerClient](#@winglang/sdk.cloud.ITopicOnMessageHandlerClient)
Represents a resource with an inflight "handle" method that can be passed to `Topic.on_message`.
diff --git a/libs/wingsdk/patches/jsii+1.73.0.patch b/libs/wingsdk/patches/jsii+1.74.0.patch
similarity index 100%
rename from libs/wingsdk/patches/jsii+1.73.0.patch
rename to libs/wingsdk/patches/jsii+1.74.0.patch
diff --git a/libs/wingsdk/src/cloud/function.ts b/libs/wingsdk/src/cloud/function.ts
index b01e3051cc6..05f2f91cf16 100644
--- a/libs/wingsdk/src/cloud/function.ts
+++ b/libs/wingsdk/src/cloud/function.ts
@@ -195,7 +195,7 @@ export interface IFunctionClient {
* Represents a resource with an inflight "handle" method that can be used to
* create a `cloud.Function`.
*
- * @inflight `wingsdk.cloud.IFunctionHandlerClient`
+ * @inflight `@winglang/sdk.cloud.IFunctionHandlerClient`
*/
export interface IFunctionHandler extends IResource {}
diff --git a/libs/wingsdk/src/cloud/queue.ts b/libs/wingsdk/src/cloud/queue.ts
index 3db192dc1cb..ec96aa8616e 100644
--- a/libs/wingsdk/src/cloud/queue.ts
+++ b/libs/wingsdk/src/cloud/queue.ts
@@ -102,7 +102,7 @@ export interface IQueueClient {
* Represents a resource with an inflight "handle" method that can be passed to
* `Queue.on_message`.
*
- * @inflight `wingsdk.cloud.IQueueOnMessageHandlerClient`
+ * @inflight `@winglang/sdk.cloud.IQueueOnMessageHandlerClient`
*/
export interface IQueueOnMessageHandler extends IResource {}
diff --git a/libs/wingsdk/src/cloud/schedule.ts b/libs/wingsdk/src/cloud/schedule.ts
index 3831d41db98..1fbf2bff5b6 100644
--- a/libs/wingsdk/src/cloud/schedule.ts
+++ b/libs/wingsdk/src/cloud/schedule.ts
@@ -76,7 +76,7 @@ export interface ScheduleOnTickProps extends FunctionProps {}
* Represents a resource with an inflight "handle" method that can be passed to
* `Schedule.on_tick`.
*
- * @inflight `wingsdk.cloud.IScheduleOnTickHandlerClient`
+ * @inflight `@winglang/sdk.cloud.IScheduleOnTickHandlerClient`
*/
export interface IScheduleOnTickHandler extends IResource {}
diff --git a/libs/wingsdk/src/cloud/topic.ts b/libs/wingsdk/src/cloud/topic.ts
index 82d667fa415..75de8b28349 100644
--- a/libs/wingsdk/src/cloud/topic.ts
+++ b/libs/wingsdk/src/cloud/topic.ts
@@ -69,7 +69,7 @@ export interface ITopicClient {
* Represents a resource with an inflight "handle" method that can be passed to
* `Topic.on_message`.
*
- * @inflight `wingsdk.cloud.ITopicOnMessageHandlerClient`
+ * @inflight `@winglang/sdk.cloud.ITopicOnMessageHandlerClient`
*/
export interface ITopicOnMessageHandler extends IResource {}
diff --git a/tools/hangar/__snapshots__/invalid.ts.snap b/tools/hangar/__snapshots__/invalid.ts.snap
index b28f96e9583..dcc765b6253 100644
--- a/tools/hangar/__snapshots__/invalid.ts.snap
+++ b/tools/hangar/__snapshots__/invalid.ts.snap
@@ -83,6 +83,12 @@ exports[`immutable_container_types.w > stderr 1`] = `
Error at ../../../examples/tests/invalid/immutable_container_types.w:3:4 | Unknown symbol \\"set\\""
`;
+exports[`impl_interface.w > stderr 1`] = `
+"Compilation failed with 2 error(s)
+Error at ../../../examples/tests/invalid/impl_interface.w:3:10 | Resource \\"A (at ../../../examples/tests/invalid/impl_interface.w:3:10)\\" does not implement method \\"handle\\" of interface \\"cloud.IQueueOnMessageHandler\\"
+Error at ../../../examples/tests/invalid/impl_interface.w:8:10 | Expected type to be \\"inflight (IQueueOnMessageHandler, str): void\\", but got \\"inflight (B): void\\" instead"
+`;
+
exports[`inflight_in_class.w > stderr 1`] = `
"Compilation failed with 1 error(s)
Error at ../../../examples/tests/invalid/inflight_in_class.w:3:3 | Class cannot have inflight fields"
diff --git a/tools/hangar/__snapshots__/test_corpus/valid/impl_interface.w.ts.snap b/tools/hangar/__snapshots__/test_corpus/valid/impl_interface.w.ts.snap
new file mode 100644
index 00000000000..4ea32d9d09a
--- /dev/null
+++ b/tools/hangar/__snapshots__/test_corpus/valid/impl_interface.w.ts.snap
@@ -0,0 +1,106 @@
+// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
+
+exports[`wing compile -t tf-aws > clients/A.inflight.js 1`] = `
+"export class A_inflight {
+constructor({ }) {
+
+
+}
+async handle(msg) {
+ {
+ return;
+}
+}}"
+`;
+
+exports[`wing compile -t tf-aws > clients/B.inflight.js 1`] = `
+"export class B_inflight {
+constructor({ }) {
+
+
+}
+async handle(msg) {
+ {
+ return 5;
+}
+}}"
+`;
+
+exports[`wing compile -t tf-aws > main.tf.json 1`] = `
+{
+ "//": {
+ "metadata": {
+ "backend": "local",
+ "stackName": "root",
+ "version": "0.15.2",
+ },
+ "outputs": {},
+ },
+ "provider": {
+ "aws": [
+ {},
+ ],
+ },
+}
+`;
+
+exports[`wing compile -t tf-aws > preflight.js 1`] = `
+"const $stdlib = require('@winglang/sdk');
+const $outdir = process.env.WINGSDK_SYNTH_DIR ?? \\".\\";
+
+function __app(target) {
+ switch (target) {
+ case \\"sim\\":
+ return $stdlib.sim.App;
+ case \\"tfaws\\":
+ case \\"tf-aws\\":
+ return $stdlib.tfaws.App;
+ case \\"tf-gcp\\":
+ return $stdlib.tfgcp.App;
+ case \\"tf-azure\\":
+ return $stdlib.tfazure.App;
+ default:
+ throw new Error(\`Unknown WING_TARGET value: \\"\${process.env.WING_TARGET ?? \\"\\"}\\"\`);
+ }
+}
+const $App = __app(process.env.WING_TARGET);
+
+const cloud = require('@winglang/sdk').cloud;
+class MyApp extends $App {
+constructor() {
+ super({ outdir: $outdir, name: \\"impl_interface\\", plugins: $plugins });
+
+ class A extends $stdlib.core.Resource {
+ constructor(scope, id, ) {
+ super(scope, id);
+ {
+ }
+ }
+
+ _toInflight() {
+
+ const self_client_path = require('path').resolve(__dirname, \\"clients/A.inflight.js\\").replace(/\\\\\\\\/g, \\"/\\");
+ return $stdlib.core.NodeJsCode.fromInline(\`(new (require(\\"\${self_client_path}\\")).A_inflight({}))\`);
+ }
+ }
+ A._annotateInflight(\\"handle\\", {});
+ class B extends $stdlib.core.Resource {
+ constructor(scope, id, ) {
+ super(scope, id);
+ {
+ }
+ }
+
+ _toInflight() {
+
+ const self_client_path = require('path').resolve(__dirname, \\"clients/B.inflight.js\\").replace(/\\\\\\\\/g, \\"/\\");
+ return $stdlib.core.NodeJsCode.fromInline(\`(new (require(\\"\${self_client_path}\\")).B_inflight({}))\`);
+ }
+ }
+ B._annotateInflight(\\"handle\\", {});
+}
+}
+new MyApp().synth();"
+`;
+
+exports[`wing test > stdout 1`] = `"pass ─ impl_interface.w (no tests)"`;
diff --git a/tools/hangar/src/__snapshots__/compile.test.ts.snap b/tools/hangar/src/__snapshots__/compile.test.ts.snap
new file mode 100644
index 00000000000..15b724370c4
--- /dev/null
+++ b/tools/hangar/src/__snapshots__/compile.test.ts.snap
@@ -0,0 +1,8885 @@
+// Vitest Snapshot v1
+
+exports[`anon_function.w > wing compile --target tf-aws > main.tf.json 1`] = `
+{
+ "//": {
+ "metadata": {
+ "backend": "local",
+ "stackName": "root",
+ "version": "0.15.2",
+ },
+ "outputs": {},
+ },
+ "provider": {
+ "aws": [
+ {},
+ ],
+ },
+}
+`;
+
+exports[`anon_function.w > wing compile --target tf-aws > preflight.js 1`] = `
+"const $stdlib = require('@winglang/sdk');
+const $outdir = process.env.WINGSDK_SYNTH_DIR ?? \\".\\";
+
+function __app(target) {
+ switch (target) {
+ case \\"sim\\":
+ return $stdlib.sim.App;
+ case \\"tfaws\\":
+ case \\"tf-aws\\":
+ return $stdlib.tfaws.App;
+ case \\"tf-gcp\\":
+ return $stdlib.tfgcp.App;
+ case \\"tf-azure\\":
+ return $stdlib.tfazure.App;
+ default:
+ throw new Error(\`Unknown WING_TARGET value: \\"\${process.env.WING_TARGET ?? \\"\\"}\\"\`);
+ }
+}
+const $App = __app(process.env.WING_TARGET);
+
+class MyApp extends $App {
+constructor() {
+ super({ outdir: $outdir, name: \\"anon_function\\", plugins: $plugins });
+
+ const myfunc = (x) => {
+ {
+ {console.log(\`\${x}\`)};
+ x = (x + 1);
+ if ((x > 3.14)) {
+ return;
+ }
+ (myfunc(x));
+ }
+ };
+ (myfunc(1));
+ (( (x) => {
+ {
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(x === 1)'\`)})((x === 1))};
+ }
+ })(1));
+}
+}
+new MyApp().synth();"
+`;
+
+exports[`asynchronous_model_implicit_await_in_functions.w > wing compile --target tf-aws > index.js 1`] = `
+"async handle(s) { const { str_to_str } = this; {
+ (await str_to_str.invoke(\\"one\\"));
+ {console.log((await str_to_str.invoke(\\"two\\")))};
+} };"
+`;
+
+exports[`asynchronous_model_implicit_await_in_functions.w > wing compile --target tf-aws > index.js 2`] = `
+"async handle(s) { const { } = this; {
+} };"
+`;
+
+exports[`asynchronous_model_implicit_await_in_functions.w > wing compile --target tf-aws > main.tf.json 1`] = `
+{
+ "//": {
+ "metadata": {
+ "backend": "local",
+ "stackName": "root",
+ "version": "0.15.2",
+ },
+ "outputs": {},
+ },
+ "provider": {
+ "aws": [
+ {},
+ ],
+ },
+ "resource": {
+ "aws_iam_role": {
+ "root_func_IamRole_EE572BCE": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/func/IamRole",
+ "uniqueId": "root_func_IamRole_EE572BCE",
+ },
+ },
+ "assume_role_policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":\\"sts:AssumeRole\\",\\"Principal\\":{\\"Service\\":\\"lambda.amazonaws.com\\"},\\"Effect\\":\\"Allow\\"}]}",
+ },
+ "root_strtostr_IamRole_305ACAF8": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/str_to_str/IamRole",
+ "uniqueId": "root_strtostr_IamRole_305ACAF8",
+ },
+ },
+ "assume_role_policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":\\"sts:AssumeRole\\",\\"Principal\\":{\\"Service\\":\\"lambda.amazonaws.com\\"},\\"Effect\\":\\"Allow\\"}]}",
+ },
+ },
+ "aws_iam_role_policy": {
+ "root_func_IamRolePolicy_3AC5101F": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/func/IamRolePolicy",
+ "uniqueId": "root_func_IamRolePolicy_3AC5101F",
+ },
+ },
+ "policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":[\\"lambda:InvokeFunction\\"],\\"Resource\\":[\\"\${aws_lambda_function.root_strtostr_05420EE8.arn}\\"],\\"Effect\\":\\"Allow\\"}]}",
+ "role": "\${aws_iam_role.root_func_IamRole_EE572BCE.name}",
+ },
+ "root_strtostr_IamRolePolicy_B80B33C4": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/str_to_str/IamRolePolicy",
+ "uniqueId": "root_strtostr_IamRolePolicy_B80B33C4",
+ },
+ },
+ "policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Effect\\":\\"Allow\\",\\"Action\\":\\"none:null\\",\\"Resource\\":\\"*\\"}]}",
+ "role": "\${aws_iam_role.root_strtostr_IamRole_305ACAF8.name}",
+ },
+ },
+ "aws_iam_role_policy_attachment": {
+ "root_func_IamRolePolicyAttachment_AD2DD410": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/func/IamRolePolicyAttachment",
+ "uniqueId": "root_func_IamRolePolicyAttachment_AD2DD410",
+ },
+ },
+ "policy_arn": "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ "role": "\${aws_iam_role.root_func_IamRole_EE572BCE.name}",
+ },
+ "root_strtostr_IamRolePolicyAttachment_C5B57BBD": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/str_to_str/IamRolePolicyAttachment",
+ "uniqueId": "root_strtostr_IamRolePolicyAttachment_C5B57BBD",
+ },
+ },
+ "policy_arn": "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ "role": "\${aws_iam_role.root_strtostr_IamRole_305ACAF8.name}",
+ },
+ },
+ "aws_lambda_function": {
+ "root_func_0444AFD0": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/func/Default",
+ "uniqueId": "root_func_0444AFD0",
+ },
+ },
+ "environment": {
+ "variables": {
+ "FUNCTION_NAME_8ca853c9": "\${aws_lambda_function.root_strtostr_05420EE8.arn}",
+ "WING_FUNCTION_NAME": "func-c8cf78f6",
+ },
+ },
+ "function_name": "func-c8cf78f6",
+ "handler": "index.handler",
+ "publish": true,
+ "role": "\${aws_iam_role.root_func_IamRole_EE572BCE.arn}",
+ "runtime": "nodejs16.x",
+ "s3_bucket": "\${aws_s3_bucket.root_func_Code_58BA0E0E.bucket}",
+ "s3_key": "\${aws_s3_object.root_func_S3Object_F6163647.key}",
+ "timeout": 30,
+ },
+ "root_strtostr_05420EE8": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/str_to_str/Default",
+ "uniqueId": "root_strtostr_05420EE8",
+ },
+ },
+ "environment": {
+ "variables": {
+ "WING_FUNCTION_NAME": "str_to_str-c8891c85",
+ },
+ },
+ "function_name": "str_to_str-c8891c85",
+ "handler": "index.handler",
+ "publish": true,
+ "role": "\${aws_iam_role.root_strtostr_IamRole_305ACAF8.arn}",
+ "runtime": "nodejs16.x",
+ "s3_bucket": "\${aws_s3_bucket.root_strtostr_Code_5BA38746.bucket}",
+ "s3_key": "\${aws_s3_object.root_strtostr_S3Object_C6E06A09.key}",
+ "timeout": 30,
+ },
+ },
+ "aws_s3_bucket": {
+ "root_func_Code_58BA0E0E": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/func/Code",
+ "uniqueId": "root_func_Code_58BA0E0E",
+ },
+ },
+ "bucket_prefix": "code-c80d7959-",
+ },
+ "root_strtostr_Code_5BA38746": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/str_to_str/Code",
+ "uniqueId": "root_strtostr_Code_5BA38746",
+ },
+ },
+ "bucket_prefix": "code-c8b8906a-",
+ },
+ },
+ "aws_s3_object": {
+ "root_func_S3Object_F6163647": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/func/S3Object",
+ "uniqueId": "root_func_S3Object_F6163647",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_func_Code_58BA0E0E.bucket}",
+ "key": "",
+ },
+ },
+ },
+}
+`;
+
+exports[`asynchronous_model_implicit_await_in_functions.w > wing compile --target tf-aws > preflight.js 1`] = `
+"const $stdlib = require('@winglang/sdk');
+const $outdir = process.env.WINGSDK_SYNTH_DIR ?? \\".\\";
+
+function __app(target) {
+ switch (target) {
+ case \\"sim\\":
+ return $stdlib.sim.App;
+ case \\"tfaws\\":
+ case \\"tf-aws\\":
+ return $stdlib.tfaws.App;
+ case \\"tf-gcp\\":
+ return $stdlib.tfgcp.App;
+ case \\"tf-azure\\":
+ return $stdlib.tfazure.App;
+ default:
+ throw new Error(\`Unknown WING_TARGET value: \\"\${process.env.WING_TARGET ?? \\"\\"}\\"\`);
+ }
+}
+const $App = __app(process.env.WING_TARGET);
+
+const cloud = require('@winglang/sdk').cloud;
+class MyApp extends $App {
+constructor() {
+ super({ outdir: $outdir, name: \\"asynchronous_model_implicit_await_in_functions\\", plugins: $plugins });
+
+ const q = this.node.root.newAbstract(\\"@winglang/sdk.cloud.Queue\\",this,\\"cloud.Queue\\");
+ const str_to_str = this.node.root.newAbstract(\\"@winglang/sdk.cloud.Function\\",this,\\"str_to_str\\",new $stdlib.core.Inflight(this, \\"$Inflight1\\", {
+ code: $stdlib.core.NodeJsCode.fromFile(require('path').resolve(__dirname, \\"proc.8eb95bcbc154530931e15fc418c8b1fe991095671409552099ea1aa596999ede/index.js\\").replace(/\\\\\\\\/g, \\"/\\")),
+ bindings: {
+ }
+ }));
+ const func = this.node.root.newAbstract(\\"@winglang/sdk.cloud.Function\\",this,\\"func\\",new $stdlib.core.Inflight(this, \\"$Inflight2\\", {
+ code: $stdlib.core.NodeJsCode.fromFile(require('path').resolve(__dirname, \\"proc.2241fd974faa47c8b8d27f5a3e172f473ca36c6b44cb328a58655fd2d0aac7d7/index.js\\").replace(/\\\\\\\\/g, \\"/\\")),
+ bindings: {
+ str_to_str: {
+ obj: str_to_str,
+ ops: [\\"invoke\\"]
+ },
+ }
+ }));
+}
+}
+new MyApp().synth();"
+`;
+
+exports[`bring_cdktf.w > wing compile --target tf-aws > main.tf.json 1`] = `
+{
+ "//": {
+ "metadata": {
+ "backend": "local",
+ "stackName": "root",
+ "version": "0.15.2",
+ },
+ "outputs": {},
+ },
+ "provider": {
+ "aws": [
+ {},
+ ],
+ },
+ "resource": {
+ "aws_s3_bucket": {
+ "root_Bucket_966015A6": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/Bucket",
+ "uniqueId": "root_Bucket_966015A6",
+ },
+ },
+ "bucket_prefix": "hello",
+ "versioning": {
+ "enabled": true,
+ },
+ },
+ },
+ },
+}
+`;
+
+exports[`bring_cdktf.w > wing compile --target tf-aws > preflight.js 1`] = `
+"const $stdlib = require('@winglang/sdk');
+const $outdir = process.env.WINGSDK_SYNTH_DIR ?? \\".\\";
+
+function __app(target) {
+ switch (target) {
+ case \\"sim\\":
+ return $stdlib.sim.App;
+ case \\"tfaws\\":
+ case \\"tf-aws\\":
+ return $stdlib.tfaws.App;
+ case \\"tf-gcp\\":
+ return $stdlib.tfgcp.App;
+ case \\"tf-azure\\":
+ return $stdlib.tfazure.App;
+ default:
+ throw new Error(\`Unknown WING_TARGET value: \\"\${process.env.WING_TARGET ?? \\"\\"}\\"\`);
+ }
+}
+const $App = __app(process.env.WING_TARGET);
+
+const aws = require(\\"@cdktf/provider-aws\\");
+class MyApp extends $App {
+constructor() {
+ super({ outdir: $outdir, name: \\"bring_cdktf\\", plugins: $plugins });
+
+ this.node.root.new(\\"@cdktf/provider-aws.s3Bucket.S3Bucket\\",aws.s3Bucket.S3Bucket,this,\\"Bucket\\",{ bucketPrefix: \\"hello\\", versioning: {
+ \\"enabled\\": true,
+ \\"mfa_delete\\": true,}
+ });
+}
+}
+new MyApp().synth();"
+`;
+
+exports[`bring_fs.w > wing compile --target tf-aws > main.tf.json 1`] = `
+{
+ "//": {
+ "metadata": {
+ "backend": "local",
+ "stackName": "root",
+ "version": "0.15.2",
+ },
+ "outputs": {},
+ },
+ "provider": {
+ "aws": [
+ {},
+ ],
+ },
+ "resource": {
+ "aws_s3_bucket": {
+ "root_cloudBucket_4F3C4F53": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Bucket/Default",
+ "uniqueId": "root_cloudBucket_4F3C4F53",
+ },
+ },
+ "bucket_prefix": "cloud-bucket-c87175e7-",
+ },
+ },
+ "aws_s3_bucket_public_access_block": {
+ "root_cloudBucket_PublicAccessBlock_319C1C2E": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Bucket/PublicAccessBlock",
+ "uniqueId": "root_cloudBucket_PublicAccessBlock_319C1C2E",
+ },
+ },
+ "block_public_acls": true,
+ "block_public_policy": true,
+ "bucket": "\${aws_s3_bucket.root_cloudBucket_4F3C4F53.bucket}",
+ "ignore_public_acls": true,
+ "restrict_public_buckets": true,
+ },
+ },
+ "aws_s3_bucket_server_side_encryption_configuration": {
+ "root_cloudBucket_Encryption_8ED0CD9C": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Bucket/Encryption",
+ "uniqueId": "root_cloudBucket_Encryption_8ED0CD9C",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_cloudBucket_4F3C4F53.bucket}",
+ "rule": [
+ {
+ "apply_server_side_encryption_by_default": {
+ "sse_algorithm": "AES256",
+ },
+ },
+ ],
+ },
+ },
+ },
+}
+`;
+
+exports[`bring_fs.w > wing compile --target tf-aws > preflight.js 1`] = `
+"const $stdlib = require('@winglang/sdk');
+const $outdir = process.env.WINGSDK_SYNTH_DIR ?? \\".\\";
+
+function __app(target) {
+ switch (target) {
+ case \\"sim\\":
+ return $stdlib.sim.App;
+ case \\"tfaws\\":
+ case \\"tf-aws\\":
+ return $stdlib.tfaws.App;
+ case \\"tf-gcp\\":
+ return $stdlib.tfgcp.App;
+ case \\"tf-azure\\":
+ return $stdlib.tfazure.App;
+ default:
+ throw new Error(\`Unknown WING_TARGET value: \\"\${process.env.WING_TARGET ?? \\"\\"}\\"\`);
+ }
+}
+const $App = __app(process.env.WING_TARGET);
+
+const cloud = require('@winglang/sdk').cloud;
+const fs = require('@winglang/sdk').fs;
+class MyApp extends $App {
+constructor() {
+ super({ outdir: $outdir, name: \\"bring_fs\\", plugins: $plugins });
+
+ this.node.root.newAbstract(\\"@winglang/sdk.cloud.Bucket\\",this,\\"cloud.Bucket\\");
+ this.node.root.new(\\"@winglang/sdk.fs.TextFile\\",fs.TextFile,this,\\"fs.TextFile\\",\\"/tmp/test.txt\\");
+}
+}
+new MyApp().synth();"
+`;
+
+exports[`bring_jsii.w > wing compile --target tf-aws > index.js 1`] = `
+"async handle(m) { const { greeting } = this; {
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(greeting === \\"Hello, wingnuts\\")'\`)})((greeting === \\"Hello, wingnuts\\"))};
+} };"
+`;
+
+exports[`bring_jsii.w > wing compile --target tf-aws > main.tf.json 1`] = `
+{
+ "//": {
+ "metadata": {
+ "backend": "local",
+ "stackName": "root",
+ "version": "0.15.2",
+ },
+ "outputs": {},
+ },
+ "provider": {
+ "aws": [
+ {},
+ ],
+ },
+ "resource": {
+ "aws_iam_role": {
+ "root_testsayhello_IamRole_CD3CFB9C": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:say_hello/IamRole",
+ "uniqueId": "root_testsayhello_IamRole_CD3CFB9C",
+ },
+ },
+ "assume_role_policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":\\"sts:AssumeRole\\",\\"Principal\\":{\\"Service\\":\\"lambda.amazonaws.com\\"},\\"Effect\\":\\"Allow\\"}]}",
+ },
+ },
+ "aws_iam_role_policy": {
+ "root_testsayhello_IamRolePolicy_265A46FB": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:say_hello/IamRolePolicy",
+ "uniqueId": "root_testsayhello_IamRolePolicy_265A46FB",
+ },
+ },
+ "policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Effect\\":\\"Allow\\",\\"Action\\":\\"none:null\\",\\"Resource\\":\\"*\\"}]}",
+ "role": "\${aws_iam_role.root_testsayhello_IamRole_CD3CFB9C.name}",
+ },
+ },
+ "aws_iam_role_policy_attachment": {
+ "root_testsayhello_IamRolePolicyAttachment_1B179C34": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:say_hello/IamRolePolicyAttachment",
+ "uniqueId": "root_testsayhello_IamRolePolicyAttachment_1B179C34",
+ },
+ },
+ "policy_arn": "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ "role": "\${aws_iam_role.root_testsayhello_IamRole_CD3CFB9C.name}",
+ },
+ },
+ "aws_lambda_function": {
+ "root_testsayhello_8E3F8CF7": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:say_hello/Default",
+ "uniqueId": "root_testsayhello_8E3F8CF7",
+ },
+ },
+ "environment": {
+ "variables": {
+ "WING_FUNCTION_NAME": "test-say_hello-c867d9d9",
+ },
+ },
+ "function_name": "test-say_hello-c867d9d9",
+ "handler": "index.handler",
+ "publish": true,
+ "role": "\${aws_iam_role.root_testsayhello_IamRole_CD3CFB9C.arn}",
+ "runtime": "nodejs16.x",
+ "s3_bucket": "\${aws_s3_bucket.root_testsayhello_Code_D4453363.bucket}",
+ "s3_key": "\${aws_s3_object.root_testsayhello_S3Object_A9281CAB.key}",
+ "timeout": 30,
+ },
+ },
+ "aws_s3_bucket": {
+ "root_testsayhello_Code_D4453363": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:say_hello/Code",
+ "uniqueId": "root_testsayhello_Code_D4453363",
+ },
+ },
+ "bucket_prefix": "code-c89e1bce-",
+ },
+ },
+ "aws_s3_object": {
+ "root_testsayhello_S3Object_A9281CAB": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:say_hello/S3Object",
+ "uniqueId": "root_testsayhello_S3Object_A9281CAB",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_testsayhello_Code_D4453363.bucket}",
+ "key": "",
+ },
+ },
+ },
+}
+`;
+
+exports[`bring_jsii.w > wing compile --target tf-aws > preflight.js 1`] = `
+"const $stdlib = require('@winglang/sdk');
+const $outdir = process.env.WINGSDK_SYNTH_DIR ?? \\".\\";
+
+function __app(target) {
+ switch (target) {
+ case \\"sim\\":
+ return $stdlib.sim.App;
+ case \\"tfaws\\":
+ case \\"tf-aws\\":
+ return $stdlib.tfaws.App;
+ case \\"tf-gcp\\":
+ return $stdlib.tfgcp.App;
+ case \\"tf-azure\\":
+ return $stdlib.tfazure.App;
+ default:
+ throw new Error(\`Unknown WING_TARGET value: \\"\${process.env.WING_TARGET ?? \\"\\"}\\"\`);
+ }
+}
+const $App = __app(process.env.WING_TARGET);
+
+const cloud = require('@winglang/sdk').cloud;
+const stuff = require(\\"jsii-code-samples\\");
+class MyApp extends $App {
+constructor() {
+ super({ outdir: $outdir, name: \\"bring_jsii\\", plugins: $plugins });
+
+ const hello = new stuff.HelloWorld();
+ const greeting = (hello.sayHello(\\"wingnuts\\"));
+ this.node.root.newAbstract(\\"@winglang/sdk.cloud.Function\\",this,\\"test:say_hello\\",new $stdlib.core.Inflight(this, \\"$Inflight1\\", {
+ code: $stdlib.core.NodeJsCode.fromFile(require('path').resolve(__dirname, \\"proc.5d209e0c3acca40c825662cab73c204803d9dd9f7903de90d0da6dc99ea7fa35/index.js\\").replace(/\\\\\\\\/g, \\"/\\")),
+ bindings: {
+ greeting: {
+ obj: greeting,
+ ops: []
+ },
+ }
+ }));
+}
+}
+new MyApp().synth();"
+`;
+
+exports[`bring_jsii_path.w > wing compile --target tf-aws > index.js 1`] = `
+"async handle(m) { const { greeting } = this; {
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(greeting === \\"Hello, wingnuts\\")'\`)})((greeting === \\"Hello, wingnuts\\"))};
+} };"
+`;
+
+exports[`bring_jsii_path.w > wing compile --target tf-aws > main.tf.json 1`] = `
+{
+ "//": {
+ "metadata": {
+ "backend": "local",
+ "stackName": "root",
+ "version": "0.15.2",
+ },
+ "outputs": {},
+ },
+ "provider": {
+ "aws": [
+ {},
+ ],
+ },
+ "resource": {
+ "aws_iam_role": {
+ "root_testsayhello_IamRole_CD3CFB9C": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:say_hello/IamRole",
+ "uniqueId": "root_testsayhello_IamRole_CD3CFB9C",
+ },
+ },
+ "assume_role_policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":\\"sts:AssumeRole\\",\\"Principal\\":{\\"Service\\":\\"lambda.amazonaws.com\\"},\\"Effect\\":\\"Allow\\"}]}",
+ },
+ },
+ "aws_iam_role_policy": {
+ "root_testsayhello_IamRolePolicy_265A46FB": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:say_hello/IamRolePolicy",
+ "uniqueId": "root_testsayhello_IamRolePolicy_265A46FB",
+ },
+ },
+ "policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Effect\\":\\"Allow\\",\\"Action\\":\\"none:null\\",\\"Resource\\":\\"*\\"}]}",
+ "role": "\${aws_iam_role.root_testsayhello_IamRole_CD3CFB9C.name}",
+ },
+ },
+ "aws_iam_role_policy_attachment": {
+ "root_testsayhello_IamRolePolicyAttachment_1B179C34": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:say_hello/IamRolePolicyAttachment",
+ "uniqueId": "root_testsayhello_IamRolePolicyAttachment_1B179C34",
+ },
+ },
+ "policy_arn": "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ "role": "\${aws_iam_role.root_testsayhello_IamRole_CD3CFB9C.name}",
+ },
+ },
+ "aws_lambda_function": {
+ "root_testsayhello_8E3F8CF7": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:say_hello/Default",
+ "uniqueId": "root_testsayhello_8E3F8CF7",
+ },
+ },
+ "environment": {
+ "variables": {
+ "WING_FUNCTION_NAME": "test-say_hello-c867d9d9",
+ },
+ },
+ "function_name": "test-say_hello-c867d9d9",
+ "handler": "index.handler",
+ "publish": true,
+ "role": "\${aws_iam_role.root_testsayhello_IamRole_CD3CFB9C.arn}",
+ "runtime": "nodejs16.x",
+ "s3_bucket": "\${aws_s3_bucket.root_testsayhello_Code_D4453363.bucket}",
+ "s3_key": "\${aws_s3_object.root_testsayhello_S3Object_A9281CAB.key}",
+ "timeout": 30,
+ },
+ },
+ "aws_s3_bucket": {
+ "root_testsayhello_Code_D4453363": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:say_hello/Code",
+ "uniqueId": "root_testsayhello_Code_D4453363",
+ },
+ },
+ "bucket_prefix": "code-c89e1bce-",
+ },
+ },
+ "aws_s3_object": {
+ "root_testsayhello_S3Object_A9281CAB": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:say_hello/S3Object",
+ "uniqueId": "root_testsayhello_S3Object_A9281CAB",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_testsayhello_Code_D4453363.bucket}",
+ "key": "",
+ },
+ },
+ },
+}
+`;
+
+exports[`bring_jsii_path.w > wing compile --target tf-aws > preflight.js 1`] = `
+"const $stdlib = require('@winglang/sdk');
+const $outdir = process.env.WINGSDK_SYNTH_DIR ?? \\".\\";
+
+function __app(target) {
+ switch (target) {
+ case \\"sim\\":
+ return $stdlib.sim.App;
+ case \\"tfaws\\":
+ case \\"tf-aws\\":
+ return $stdlib.tfaws.App;
+ case \\"tf-gcp\\":
+ return $stdlib.tfgcp.App;
+ case \\"tf-azure\\":
+ return $stdlib.tfazure.App;
+ default:
+ throw new Error(\`Unknown WING_TARGET value: \\"\${process.env.WING_TARGET ?? \\"\\"}\\"\`);
+ }
+}
+const $App = __app(process.env.WING_TARGET);
+
+const cloud = require('@winglang/sdk').cloud;
+const jsii_code_samples = require(\\"./node_modules/jsii-code-samples\\");
+class MyApp extends $App {
+constructor() {
+ super({ outdir: $outdir, name: \\"bring_jsii_path\\", plugins: $plugins });
+
+ const hello = new jsii_code_samples.HelloWorld();
+ const greeting = (hello.sayHello(\\"wingnuts\\"));
+ this.node.root.newAbstract(\\"@winglang/sdk.cloud.Function\\",this,\\"test:say_hello\\",new $stdlib.core.Inflight(this, \\"$Inflight1\\", {
+ code: $stdlib.core.NodeJsCode.fromFile(require('path').resolve(__dirname, \\"proc.5d209e0c3acca40c825662cab73c204803d9dd9f7903de90d0da6dc99ea7fa35/index.js\\").replace(/\\\\\\\\/g, \\"/\\")),
+ bindings: {
+ greeting: {
+ obj: greeting,
+ ops: []
+ },
+ }
+ }));
+}
+}
+new MyApp().synth();"
+`;
+
+exports[`bring_projen.w > wing compile --target tf-aws > main.tf.json 1`] = `
+{
+ "//": {
+ "metadata": {
+ "backend": "local",
+ "stackName": "root",
+ "version": "0.15.2",
+ },
+ "outputs": {},
+ },
+ "provider": {
+ "aws": [
+ {},
+ ],
+ },
+}
+`;
+
+exports[`bring_projen.w > wing compile --target tf-aws > preflight.js 1`] = `
+"const $stdlib = require('@winglang/sdk');
+const $outdir = process.env.WINGSDK_SYNTH_DIR ?? \\".\\";
+
+function __app(target) {
+ switch (target) {
+ case \\"sim\\":
+ return $stdlib.sim.App;
+ case \\"tfaws\\":
+ case \\"tf-aws\\":
+ return $stdlib.tfaws.App;
+ case \\"tf-gcp\\":
+ return $stdlib.tfgcp.App;
+ case \\"tf-azure\\":
+ return $stdlib.tfazure.App;
+ default:
+ throw new Error(\`Unknown WING_TARGET value: \\"\${process.env.WING_TARGET ?? \\"\\"}\\"\`);
+ }
+}
+const $App = __app(process.env.WING_TARGET);
+
+const projen = require(\\"projen\\");
+class MyApp extends $App {
+constructor() {
+ super({ outdir: $outdir, name: \\"bring_projen\\", plugins: $plugins });
+
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(projen.LogLevel.OFF !== projen.LogLevel.VERBOSE)'\`)})((projen.LogLevel.OFF !== projen.LogLevel.VERBOSE))};
+}
+}
+new MyApp().synth();"
+`;
+
+exports[`bucket_keys.w > wing compile --target tf-aws > index.js 1`] = `
+"async handle() { const { b } = this; {
+ (await b.put(\\"foo\\",\\"text\\"));
+ (await b.put(\\"foo/\\",\\"text\\"));
+ (await b.put(\\"foo/bar\\",\\"text\\"));
+ (await b.put(\\"foo/bar/\\",\\"text\\"));
+ (await b.put(\\"foo/bar/baz\\",\\"text\\"));
+ const objs = (await b.list());
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((await objs.at(0)) === \\"foo\\")'\`)})(((await objs.at(0)) === \\"foo\\"))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((await objs.at(1)) === \\"foo/\\")'\`)})(((await objs.at(1)) === \\"foo/\\"))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((await objs.at(2)) === \\"foo/bar\\")'\`)})(((await objs.at(2)) === \\"foo/bar\\"))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((await objs.at(3)) === \\"foo/bar/\\")'\`)})(((await objs.at(3)) === \\"foo/bar/\\"))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((await objs.at(4)) === \\"foo/bar/baz\\")'\`)})(((await objs.at(4)) === \\"foo/bar/baz\\"))};
+} };"
+`;
+
+exports[`bucket_keys.w > wing compile --target tf-aws > main.tf.json 1`] = `
+{
+ "//": {
+ "metadata": {
+ "backend": "local",
+ "stackName": "root",
+ "version": "0.15.2",
+ },
+ "outputs": {},
+ },
+ "provider": {
+ "aws": [
+ {},
+ ],
+ },
+ "resource": {
+ "aws_iam_role": {
+ "root_test_IamRole_6CDC2D16": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/IamRole",
+ "uniqueId": "root_test_IamRole_6CDC2D16",
+ },
+ },
+ "assume_role_policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":\\"sts:AssumeRole\\",\\"Principal\\":{\\"Service\\":\\"lambda.amazonaws.com\\"},\\"Effect\\":\\"Allow\\"}]}",
+ },
+ },
+ "aws_iam_role_policy": {
+ "root_test_IamRolePolicy_474A6820": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/IamRolePolicy",
+ "uniqueId": "root_test_IamRolePolicy_474A6820",
+ },
+ },
+ "policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":[\\"s3:PutObject*\\",\\"s3:Abort*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}\\",\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:GetObject*\\",\\"s3:GetBucket*\\",\\"s3:List*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}\\",\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:GetObject*\\",\\"s3:GetBucket*\\",\\"s3:List*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}\\",\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:DeleteObject*\\",\\"s3:DeleteObjectVersion*\\",\\"s3:PutLifecycleConfiguration*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}\\",\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}/*\\"],\\"Effect\\":\\"Allow\\"}]}",
+ "role": "\${aws_iam_role.root_test_IamRole_6CDC2D16.name}",
+ },
+ },
+ "aws_iam_role_policy_attachment": {
+ "root_test_IamRolePolicyAttachment_1102A28A": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/IamRolePolicyAttachment",
+ "uniqueId": "root_test_IamRolePolicyAttachment_1102A28A",
+ },
+ },
+ "policy_arn": "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ "role": "\${aws_iam_role.root_test_IamRole_6CDC2D16.name}",
+ },
+ },
+ "aws_lambda_function": {
+ "root_test_AAE85061": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/Default",
+ "uniqueId": "root_test_AAE85061",
+ },
+ },
+ "environment": {
+ "variables": {
+ "BUCKET_NAME_d755b447": "\${aws_s3_bucket.root_cloudBucket_4F3C4F53.bucket}",
+ "WING_FUNCTION_NAME": "test-c8b6eece",
+ },
+ },
+ "function_name": "test-c8b6eece",
+ "handler": "index.handler",
+ "publish": true,
+ "role": "\${aws_iam_role.root_test_IamRole_6CDC2D16.arn}",
+ "runtime": "nodejs16.x",
+ "s3_bucket": "\${aws_s3_bucket.root_test_Code_2D131EC2.bucket}",
+ "s3_key": "\${aws_s3_object.root_test_S3Object_A16CD789.key}",
+ "timeout": 30,
+ },
+ },
+ "aws_s3_bucket": {
+ "root_cloudBucket_4F3C4F53": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Bucket/Default",
+ "uniqueId": "root_cloudBucket_4F3C4F53",
+ },
+ },
+ "bucket_prefix": "cloud-bucket-c87175e7-",
+ },
+ "root_test_Code_2D131EC2": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/Code",
+ "uniqueId": "root_test_Code_2D131EC2",
+ },
+ },
+ "bucket_prefix": "code-c883c33b-",
+ },
+ },
+ "aws_s3_bucket_public_access_block": {
+ "root_cloudBucket_PublicAccessBlock_319C1C2E": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Bucket/PublicAccessBlock",
+ "uniqueId": "root_cloudBucket_PublicAccessBlock_319C1C2E",
+ },
+ },
+ "block_public_acls": true,
+ "block_public_policy": true,
+ "bucket": "\${aws_s3_bucket.root_cloudBucket_4F3C4F53.bucket}",
+ "ignore_public_acls": true,
+ "restrict_public_buckets": true,
+ },
+ },
+ "aws_s3_bucket_server_side_encryption_configuration": {
+ "root_cloudBucket_Encryption_8ED0CD9C": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Bucket/Encryption",
+ "uniqueId": "root_cloudBucket_Encryption_8ED0CD9C",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_cloudBucket_4F3C4F53.bucket}",
+ "rule": [
+ {
+ "apply_server_side_encryption_by_default": {
+ "sse_algorithm": "AES256",
+ },
+ },
+ ],
+ },
+ },
+ "aws_s3_object": {
+ "root_test_S3Object_A16CD789": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/S3Object",
+ "uniqueId": "root_test_S3Object_A16CD789",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_test_Code_2D131EC2.bucket}",
+ "key": "",
+ },
+ },
+ },
+}
+`;
+
+exports[`bucket_keys.w > wing compile --target tf-aws > preflight.js 1`] = `
+"const $stdlib = require('@winglang/sdk');
+const $outdir = process.env.WINGSDK_SYNTH_DIR ?? \\".\\";
+
+function __app(target) {
+ switch (target) {
+ case \\"sim\\":
+ return $stdlib.sim.App;
+ case \\"tfaws\\":
+ case \\"tf-aws\\":
+ return $stdlib.tfaws.App;
+ case \\"tf-gcp\\":
+ return $stdlib.tfgcp.App;
+ case \\"tf-azure\\":
+ return $stdlib.tfazure.App;
+ default:
+ throw new Error(\`Unknown WING_TARGET value: \\"\${process.env.WING_TARGET ?? \\"\\"}\\"\`);
+ }
+}
+const $App = __app(process.env.WING_TARGET);
+
+const cloud = require('@winglang/sdk').cloud;
+class MyApp extends $App {
+constructor() {
+ super({ outdir: $outdir, name: \\"bucket_keys\\", plugins: $plugins });
+
+ const b = this.node.root.newAbstract(\\"@winglang/sdk.cloud.Bucket\\",this,\\"cloud.Bucket\\");
+ this.node.root.newAbstract(\\"@winglang/sdk.cloud.Function\\",this,\\"test\\",new $stdlib.core.Inflight(this, \\"$Inflight1\\", {
+ code: $stdlib.core.NodeJsCode.fromFile(require('path').resolve(__dirname, \\"proc.6228e26a5981501feaae450d2628c682bfebb15974f5cc021606bb6e273636e0/index.js\\").replace(/\\\\\\\\/g, \\"/\\")),
+ bindings: {
+ b: {
+ obj: b,
+ ops: [\\"delete\\",\\"get\\",\\"get_json\\",\\"list\\",\\"put\\",\\"put_json\\"]
+ },
+ }
+ }));
+}
+}
+new MyApp().synth();"
+`;
+
+exports[`capture_containers.w > wing compile --target tf-aws > index.js 1`] = `
+"async handle(s) { const { arr, arr_of_map, j, my_map, my_set } = this; {
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((await arr.at(0)) === \\"hello\\")'\`)})(((await arr.at(0)) === \\"hello\\"))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((await arr.at(1)) === \\"world\\")'\`)})(((await arr.at(1)) === \\"world\\"))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(arr.length === 2)'\`)})((arr.length === 2))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(await my_set.has(\\"my\\"))'\`)})((await my_set.has(\\"my\\")))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(my_set.size === 2)'\`)})((my_set.size === 2))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(\\"world\\" in (my_map))'\`)})((\\"world\\" in (my_map)))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(Object.keys(my_map).length === 2)'\`)})((Object.keys(my_map).length === 2))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(\\"bang\\" in ((await arr_of_map.at(0))))'\`)})((\\"bang\\" in ((await arr_of_map.at(0)))))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((j)[\\"b\\"] === \\"world\\")'\`)})(((j)[\\"b\\"] === \\"world\\"))};
+} };"
+`;
+
+exports[`capture_containers.w > wing compile --target tf-aws > main.tf.json 1`] = `
+{
+ "//": {
+ "metadata": {
+ "backend": "local",
+ "stackName": "root",
+ "version": "0.15.2",
+ },
+ "outputs": {},
+ },
+ "provider": {
+ "aws": [
+ {},
+ ],
+ },
+ "resource": {
+ "aws_iam_role": {
+ "root_test_IamRole_6CDC2D16": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/IamRole",
+ "uniqueId": "root_test_IamRole_6CDC2D16",
+ },
+ },
+ "assume_role_policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":\\"sts:AssumeRole\\",\\"Principal\\":{\\"Service\\":\\"lambda.amazonaws.com\\"},\\"Effect\\":\\"Allow\\"}]}",
+ },
+ },
+ "aws_iam_role_policy": {
+ "root_test_IamRolePolicy_474A6820": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/IamRolePolicy",
+ "uniqueId": "root_test_IamRolePolicy_474A6820",
+ },
+ },
+ "policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Effect\\":\\"Allow\\",\\"Action\\":\\"none:null\\",\\"Resource\\":\\"*\\"}]}",
+ "role": "\${aws_iam_role.root_test_IamRole_6CDC2D16.name}",
+ },
+ },
+ "aws_iam_role_policy_attachment": {
+ "root_test_IamRolePolicyAttachment_1102A28A": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/IamRolePolicyAttachment",
+ "uniqueId": "root_test_IamRolePolicyAttachment_1102A28A",
+ },
+ },
+ "policy_arn": "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ "role": "\${aws_iam_role.root_test_IamRole_6CDC2D16.name}",
+ },
+ },
+ "aws_lambda_function": {
+ "root_test_AAE85061": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/Default",
+ "uniqueId": "root_test_AAE85061",
+ },
+ },
+ "environment": {
+ "variables": {
+ "WING_FUNCTION_NAME": "test-c8b6eece",
+ },
+ },
+ "function_name": "test-c8b6eece",
+ "handler": "index.handler",
+ "publish": true,
+ "role": "\${aws_iam_role.root_test_IamRole_6CDC2D16.arn}",
+ "runtime": "nodejs16.x",
+ "s3_bucket": "\${aws_s3_bucket.root_test_Code_2D131EC2.bucket}",
+ "s3_key": "\${aws_s3_object.root_test_S3Object_A16CD789.key}",
+ "timeout": 30,
+ },
+ },
+ "aws_s3_bucket": {
+ "root_test_Code_2D131EC2": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/Code",
+ "uniqueId": "root_test_Code_2D131EC2",
+ },
+ },
+ "bucket_prefix": "code-c883c33b-",
+ },
+ },
+ "aws_s3_object": {
+ "root_test_S3Object_A16CD789": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/S3Object",
+ "uniqueId": "root_test_S3Object_A16CD789",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_test_Code_2D131EC2.bucket}",
+ "key": "",
+ },
+ },
+ },
+}
+`;
+
+exports[`capture_containers.w > wing compile --target tf-aws > preflight.js 1`] = `
+"const $stdlib = require('@winglang/sdk');
+const $outdir = process.env.WINGSDK_SYNTH_DIR ?? \\".\\";
+
+function __app(target) {
+ switch (target) {
+ case \\"sim\\":
+ return $stdlib.sim.App;
+ case \\"tfaws\\":
+ case \\"tf-aws\\":
+ return $stdlib.tfaws.App;
+ case \\"tf-gcp\\":
+ return $stdlib.tfgcp.App;
+ case \\"tf-azure\\":
+ return $stdlib.tfazure.App;
+ default:
+ throw new Error(\`Unknown WING_TARGET value: \\"\${process.env.WING_TARGET ?? \\"\\"}\\"\`);
+ }
+}
+const $App = __app(process.env.WING_TARGET);
+
+const cloud = require('@winglang/sdk').cloud;
+class MyApp extends $App {
+constructor() {
+ super({ outdir: $outdir, name: \\"capture_containers\\", plugins: $plugins });
+
+ const arr = Object.freeze([\\"hello\\", \\"world\\"]);
+ const my_set = Object.freeze(new Set([\\"my\\", \\"my\\", \\"set\\"]));
+ const my_map = Object.freeze({\\"hello\\":123,\\"world\\":999});
+ const arr_of_map = Object.freeze([Object.freeze({\\"bang\\":123})]);
+ const j = Object.freeze({\\"a\\":\\"hello\\",\\"b\\":\\"world\\"});
+ const handler = new $stdlib.core.Inflight(this, \\"$Inflight1\\", {
+ code: $stdlib.core.NodeJsCode.fromFile(require('path').resolve(__dirname, \\"proc.dc7e5dc23da309970778fe7db4c795e3a6ae63c0d0ddc5e1780d4e2daadf67e1/index.js\\").replace(/\\\\\\\\/g, \\"/\\")),
+ bindings: {
+ arr: {
+ obj: arr,
+ ops: []
+ },
+ arr_of_map: {
+ obj: arr_of_map,
+ ops: []
+ },
+ j: {
+ obj: j,
+ ops: []
+ },
+ my_map: {
+ obj: my_map,
+ ops: []
+ },
+ my_set: {
+ obj: my_set,
+ ops: []
+ },
+ }
+ });
+ this.node.root.newAbstract(\\"@winglang/sdk.cloud.Function\\",this,\\"test\\",handler);
+}
+}
+new MyApp().synth();"
+`;
+
+exports[`capture_containers_of_resources.w > wing compile --target tf-aws > index.js 1`] = `
+"async handle(s) { const { arr, map, set } = this; {
+ const b1 = (await arr.at(0));
+ const b2 = (await arr.at(1));
+ const q = (map)[\\"my_queue\\"];
+ (await b1.put(\\"file1.txt\\",\\"boom\\"));
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((await b2.list()).length === 0)'\`)})(((await b2.list()).length === 0))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((await b1.get(\\"file1.txt\\")) === \\"boom\\")'\`)})(((await b1.get(\\"file1.txt\\")) === \\"boom\\"))};
+ (await q.push(\\"hello\\"));
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(await set.has(\\"foo\\"))'\`)})((await set.has(\\"foo\\")))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(set.size === 2)'\`)})((set.size === 2))};
+} };"
+`;
+
+exports[`capture_containers_of_resources.w > wing compile --target tf-aws > main.tf.json 1`] = `
+{
+ "//": {
+ "metadata": {
+ "backend": "local",
+ "stackName": "root",
+ "version": "0.15.2",
+ },
+ "outputs": {},
+ },
+ "provider": {
+ "aws": [
+ {},
+ ],
+ },
+ "resource": {
+ "aws_iam_role": {
+ "root_test_IamRole_6CDC2D16": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/IamRole",
+ "uniqueId": "root_test_IamRole_6CDC2D16",
+ },
+ },
+ "assume_role_policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":\\"sts:AssumeRole\\",\\"Principal\\":{\\"Service\\":\\"lambda.amazonaws.com\\"},\\"Effect\\":\\"Allow\\"}]}",
+ },
+ },
+ "aws_iam_role_policy": {
+ "root_test_IamRolePolicy_474A6820": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/IamRolePolicy",
+ "uniqueId": "root_test_IamRolePolicy_474A6820",
+ },
+ },
+ "policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Effect\\":\\"Allow\\",\\"Action\\":\\"none:null\\",\\"Resource\\":\\"*\\"}]}",
+ "role": "\${aws_iam_role.root_test_IamRole_6CDC2D16.name}",
+ },
+ },
+ "aws_iam_role_policy_attachment": {
+ "root_test_IamRolePolicyAttachment_1102A28A": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/IamRolePolicyAttachment",
+ "uniqueId": "root_test_IamRolePolicyAttachment_1102A28A",
+ },
+ },
+ "policy_arn": "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ "role": "\${aws_iam_role.root_test_IamRole_6CDC2D16.name}",
+ },
+ },
+ "aws_lambda_function": {
+ "root_test_AAE85061": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/Default",
+ "uniqueId": "root_test_AAE85061",
+ },
+ },
+ "environment": {
+ "variables": {
+ "BUCKET_NAME_12a95bb8": "\${aws_s3_bucket.root_b1_A5C8D4B7.bucket}",
+ "BUCKET_NAME_fa6445bb": "\${aws_s3_bucket.root_b2_26383A0E.bucket}",
+ "QUEUE_URL_31e95cbd": "\${aws_sqs_queue.root_cloudQueue_E3597F7A.url}",
+ "WING_FUNCTION_NAME": "test-c8b6eece",
+ },
+ },
+ "function_name": "test-c8b6eece",
+ "handler": "index.handler",
+ "publish": true,
+ "role": "\${aws_iam_role.root_test_IamRole_6CDC2D16.arn}",
+ "runtime": "nodejs16.x",
+ "s3_bucket": "\${aws_s3_bucket.root_test_Code_2D131EC2.bucket}",
+ "s3_key": "\${aws_s3_object.root_test_S3Object_A16CD789.key}",
+ "timeout": 30,
+ },
+ },
+ "aws_s3_bucket": {
+ "root_b1_A5C8D4B7": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/b1/Default",
+ "uniqueId": "root_b1_A5C8D4B7",
+ },
+ },
+ "bucket_prefix": "b1-c88fb896-",
+ },
+ "root_b2_26383A0E": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/b2/Default",
+ "uniqueId": "root_b2_26383A0E",
+ },
+ },
+ "bucket_prefix": "b2-c844cd88-",
+ },
+ "root_test_Code_2D131EC2": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/Code",
+ "uniqueId": "root_test_Code_2D131EC2",
+ },
+ },
+ "bucket_prefix": "code-c883c33b-",
+ },
+ },
+ "aws_s3_bucket_public_access_block": {
+ "root_b1_PublicAccessBlock_8B468FE2": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/b1/PublicAccessBlock",
+ "uniqueId": "root_b1_PublicAccessBlock_8B468FE2",
+ },
+ },
+ "block_public_acls": true,
+ "block_public_policy": true,
+ "bucket": "\${aws_s3_bucket.root_b1_A5C8D4B7.bucket}",
+ "ignore_public_acls": true,
+ "restrict_public_buckets": true,
+ },
+ "root_b2_PublicAccessBlock_665E72FF": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/b2/PublicAccessBlock",
+ "uniqueId": "root_b2_PublicAccessBlock_665E72FF",
+ },
+ },
+ "block_public_acls": true,
+ "block_public_policy": true,
+ "bucket": "\${aws_s3_bucket.root_b2_26383A0E.bucket}",
+ "ignore_public_acls": true,
+ "restrict_public_buckets": true,
+ },
+ },
+ "aws_s3_bucket_server_side_encryption_configuration": {
+ "root_b1_Encryption_98BA3084": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/b1/Encryption",
+ "uniqueId": "root_b1_Encryption_98BA3084",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_b1_A5C8D4B7.bucket}",
+ "rule": [
+ {
+ "apply_server_side_encryption_by_default": {
+ "sse_algorithm": "AES256",
+ },
+ },
+ ],
+ },
+ "root_b2_Encryption_096FF85A": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/b2/Encryption",
+ "uniqueId": "root_b2_Encryption_096FF85A",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_b2_26383A0E.bucket}",
+ "rule": [
+ {
+ "apply_server_side_encryption_by_default": {
+ "sse_algorithm": "AES256",
+ },
+ },
+ ],
+ },
+ },
+ "aws_s3_object": {
+ "root_test_S3Object_A16CD789": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/S3Object",
+ "uniqueId": "root_test_S3Object_A16CD789",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_test_Code_2D131EC2.bucket}",
+ "key": "",
+ },
+ },
+ },
+}
+`;
+
+exports[`capture_containers_of_resources.w > wing compile --target tf-aws > preflight.js 1`] = `
+"const $stdlib = require('@winglang/sdk');
+const $outdir = process.env.WINGSDK_SYNTH_DIR ?? \\".\\";
+
+function __app(target) {
+ switch (target) {
+ case \\"sim\\":
+ return $stdlib.sim.App;
+ case \\"tfaws\\":
+ case \\"tf-aws\\":
+ return $stdlib.tfaws.App;
+ case \\"tf-gcp\\":
+ return $stdlib.tfgcp.App;
+ case \\"tf-azure\\":
+ return $stdlib.tfazure.App;
+ default:
+ throw new Error(\`Unknown WING_TARGET value: \\"\${process.env.WING_TARGET ?? \\"\\"}\\"\`);
+ }
+}
+const $App = __app(process.env.WING_TARGET);
+
+const cloud = require('@winglang/sdk').cloud;
+class MyApp extends $App {
+constructor() {
+ super({ outdir: $outdir, name: \\"capture_containers_of_resources\\", plugins: $plugins });
+
+ const arr = Object.freeze([this.node.root.newAbstract(\\"@winglang/sdk.cloud.Bucket\\",this,\\"b1\\"), this.node.root.newAbstract(\\"@winglang/sdk.cloud.Bucket\\",this,\\"b2\\")]);
+ const map = Object.freeze({\\"my_queue\\":this.node.root.newAbstract(\\"@winglang/sdk.cloud.Queue\\",this,\\"cloud.Queue\\")});
+ const set = Object.freeze(new Set([\\"foo\\", \\"foo\\", \\"bar\\"]));
+ this.node.root.newAbstract(\\"@winglang/sdk.cloud.Function\\",this,\\"test\\",new $stdlib.core.Inflight(this, \\"$Inflight1\\", {
+ code: $stdlib.core.NodeJsCode.fromFile(require('path').resolve(__dirname, \\"proc.e204fa6fba10aa68396c0fe4d920796b1ec739609b648739fe4ae94d0621db6d/index.js\\").replace(/\\\\\\\\/g, \\"/\\")),
+ bindings: {
+ arr: {
+ obj: arr,
+ ops: []
+ },
+ map: {
+ obj: map,
+ ops: []
+ },
+ set: {
+ obj: set,
+ ops: []
+ },
+ }
+ }));
+}
+}
+new MyApp().synth();"
+`;
+
+exports[`capture_in_binary.w > wing compile --target tf-aws > index.js 1`] = `
+"async handle(e) { const { b, x } = this; {
+ (await b.put(\\"file\\",\\"foo\\"));
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((await b.get(\\"file\\")) === \\"foo\\")'\`)})(((await b.get(\\"file\\")) === \\"foo\\"))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(12 === x)'\`)})((12 === x))};
+} };"
+`;
+
+exports[`capture_in_binary.w > wing compile --target tf-aws > main.tf.json 1`] = `
+{
+ "//": {
+ "metadata": {
+ "backend": "local",
+ "stackName": "root",
+ "version": "0.15.2",
+ },
+ "outputs": {},
+ },
+ "provider": {
+ "aws": [
+ {},
+ ],
+ },
+ "resource": {
+ "aws_iam_role": {
+ "root_test_IamRole_6CDC2D16": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/IamRole",
+ "uniqueId": "root_test_IamRole_6CDC2D16",
+ },
+ },
+ "assume_role_policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":\\"sts:AssumeRole\\",\\"Principal\\":{\\"Service\\":\\"lambda.amazonaws.com\\"},\\"Effect\\":\\"Allow\\"}]}",
+ },
+ },
+ "aws_iam_role_policy": {
+ "root_test_IamRolePolicy_474A6820": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/IamRolePolicy",
+ "uniqueId": "root_test_IamRolePolicy_474A6820",
+ },
+ },
+ "policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":[\\"s3:PutObject*\\",\\"s3:Abort*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}\\",\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:GetObject*\\",\\"s3:GetBucket*\\",\\"s3:List*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}\\",\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:GetObject*\\",\\"s3:GetBucket*\\",\\"s3:List*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}\\",\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:DeleteObject*\\",\\"s3:DeleteObjectVersion*\\",\\"s3:PutLifecycleConfiguration*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}\\",\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}/*\\"],\\"Effect\\":\\"Allow\\"}]}",
+ "role": "\${aws_iam_role.root_test_IamRole_6CDC2D16.name}",
+ },
+ },
+ "aws_iam_role_policy_attachment": {
+ "root_test_IamRolePolicyAttachment_1102A28A": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/IamRolePolicyAttachment",
+ "uniqueId": "root_test_IamRolePolicyAttachment_1102A28A",
+ },
+ },
+ "policy_arn": "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ "role": "\${aws_iam_role.root_test_IamRole_6CDC2D16.name}",
+ },
+ },
+ "aws_lambda_function": {
+ "root_test_AAE85061": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/Default",
+ "uniqueId": "root_test_AAE85061",
+ },
+ },
+ "environment": {
+ "variables": {
+ "BUCKET_NAME_d755b447": "\${aws_s3_bucket.root_cloudBucket_4F3C4F53.bucket}",
+ "WING_FUNCTION_NAME": "test-c8b6eece",
+ },
+ },
+ "function_name": "test-c8b6eece",
+ "handler": "index.handler",
+ "publish": true,
+ "role": "\${aws_iam_role.root_test_IamRole_6CDC2D16.arn}",
+ "runtime": "nodejs16.x",
+ "s3_bucket": "\${aws_s3_bucket.root_test_Code_2D131EC2.bucket}",
+ "s3_key": "\${aws_s3_object.root_test_S3Object_A16CD789.key}",
+ "timeout": 30,
+ },
+ },
+ "aws_s3_bucket": {
+ "root_cloudBucket_4F3C4F53": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Bucket/Default",
+ "uniqueId": "root_cloudBucket_4F3C4F53",
+ },
+ },
+ "bucket_prefix": "cloud-bucket-c87175e7-",
+ },
+ "root_test_Code_2D131EC2": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/Code",
+ "uniqueId": "root_test_Code_2D131EC2",
+ },
+ },
+ "bucket_prefix": "code-c883c33b-",
+ },
+ },
+ "aws_s3_bucket_public_access_block": {
+ "root_cloudBucket_PublicAccessBlock_319C1C2E": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Bucket/PublicAccessBlock",
+ "uniqueId": "root_cloudBucket_PublicAccessBlock_319C1C2E",
+ },
+ },
+ "block_public_acls": true,
+ "block_public_policy": true,
+ "bucket": "\${aws_s3_bucket.root_cloudBucket_4F3C4F53.bucket}",
+ "ignore_public_acls": true,
+ "restrict_public_buckets": true,
+ },
+ },
+ "aws_s3_bucket_server_side_encryption_configuration": {
+ "root_cloudBucket_Encryption_8ED0CD9C": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Bucket/Encryption",
+ "uniqueId": "root_cloudBucket_Encryption_8ED0CD9C",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_cloudBucket_4F3C4F53.bucket}",
+ "rule": [
+ {
+ "apply_server_side_encryption_by_default": {
+ "sse_algorithm": "AES256",
+ },
+ },
+ ],
+ },
+ },
+ "aws_s3_object": {
+ "root_test_S3Object_A16CD789": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/S3Object",
+ "uniqueId": "root_test_S3Object_A16CD789",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_test_Code_2D131EC2.bucket}",
+ "key": "",
+ },
+ },
+ },
+}
+`;
+
+exports[`capture_in_binary.w > wing compile --target tf-aws > preflight.js 1`] = `
+"const $stdlib = require('@winglang/sdk');
+const $outdir = process.env.WINGSDK_SYNTH_DIR ?? \\".\\";
+
+function __app(target) {
+ switch (target) {
+ case \\"sim\\":
+ return $stdlib.sim.App;
+ case \\"tfaws\\":
+ case \\"tf-aws\\":
+ return $stdlib.tfaws.App;
+ case \\"tf-gcp\\":
+ return $stdlib.tfgcp.App;
+ case \\"tf-azure\\":
+ return $stdlib.tfazure.App;
+ default:
+ throw new Error(\`Unknown WING_TARGET value: \\"\${process.env.WING_TARGET ?? \\"\\"}\\"\`);
+ }
+}
+const $App = __app(process.env.WING_TARGET);
+
+const cloud = require('@winglang/sdk').cloud;
+class MyApp extends $App {
+constructor() {
+ super({ outdir: $outdir, name: \\"capture_in_binary\\", plugins: $plugins });
+
+ const b = this.node.root.newAbstract(\\"@winglang/sdk.cloud.Bucket\\",this,\\"cloud.Bucket\\");
+ const x = 12;
+ const handler2 = new $stdlib.core.Inflight(this, \\"$Inflight1\\", {
+ code: $stdlib.core.NodeJsCode.fromFile(require('path').resolve(__dirname, \\"proc.d3cc1deae5ea8972097ff15c11d688f395bd17117453789488a005b829eea245/index.js\\").replace(/\\\\\\\\/g, \\"/\\")),
+ bindings: {
+ b: {
+ obj: b,
+ ops: [\\"delete\\",\\"get\\",\\"get_json\\",\\"list\\",\\"put\\",\\"put_json\\"]
+ },
+ x: {
+ obj: x,
+ ops: []
+ },
+ }
+ });
+ this.node.root.newAbstract(\\"@winglang/sdk.cloud.Function\\",this,\\"test\\",handler2);
+}
+}
+new MyApp().synth();"
+`;
+
+exports[`capture_primitives.w > wing compile --target tf-aws > index.js 1`] = `
+"async handle(s) { const { my_bool, my_dur, my_num, my_second_bool, my_str } = this; {
+ {console.log(my_str)};
+ const n = my_num;
+ {console.log(\`\${n}\`)};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(my_second_bool === false)'\`)})((my_second_bool === false))};
+ if (my_bool) {
+ {console.log(\\"bool=true\\")};
+ } else {
+ {console.log(\\"bool=false\\")};
+ }
+ const min = my_dur.minutes;
+ const sec = my_dur.seconds;
+ const hr = my_dur.hours;
+ const split = (await \`min=\${min} sec=\${sec} hr=\${hr}\`.split(\\" \\"));
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(split.length === 3)'\`)})((split.length === 3))};
+} };"
+`;
+
+exports[`capture_primitives.w > wing compile --target tf-aws > main.tf.json 1`] = `
+{
+ "//": {
+ "metadata": {
+ "backend": "local",
+ "stackName": "root",
+ "version": "0.15.2",
+ },
+ "outputs": {},
+ },
+ "provider": {
+ "aws": [
+ {},
+ ],
+ },
+ "resource": {
+ "aws_iam_role": {
+ "root_cloudFunction_IamRole_DAEC3578": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Function/IamRole",
+ "uniqueId": "root_cloudFunction_IamRole_DAEC3578",
+ },
+ },
+ "assume_role_policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":\\"sts:AssumeRole\\",\\"Principal\\":{\\"Service\\":\\"lambda.amazonaws.com\\"},\\"Effect\\":\\"Allow\\"}]}",
+ },
+ },
+ "aws_iam_role_policy": {
+ "root_cloudFunction_IamRolePolicy_AAE6C0C0": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Function/IamRolePolicy",
+ "uniqueId": "root_cloudFunction_IamRolePolicy_AAE6C0C0",
+ },
+ },
+ "policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Effect\\":\\"Allow\\",\\"Action\\":\\"none:null\\",\\"Resource\\":\\"*\\"}]}",
+ "role": "\${aws_iam_role.root_cloudFunction_IamRole_DAEC3578.name}",
+ },
+ },
+ "aws_iam_role_policy_attachment": {
+ "root_cloudFunction_IamRolePolicyAttachment_FC3D9E7C": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Function/IamRolePolicyAttachment",
+ "uniqueId": "root_cloudFunction_IamRolePolicyAttachment_FC3D9E7C",
+ },
+ },
+ "policy_arn": "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ "role": "\${aws_iam_role.root_cloudFunction_IamRole_DAEC3578.name}",
+ },
+ },
+ "aws_lambda_function": {
+ "root_cloudFunction_6A57BA0A": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Function/Default",
+ "uniqueId": "root_cloudFunction_6A57BA0A",
+ },
+ },
+ "environment": {
+ "variables": {
+ "WING_FUNCTION_NAME": "cloud-Function-c8d2eca1",
+ },
+ },
+ "function_name": "cloud-Function-c8d2eca1",
+ "handler": "index.handler",
+ "publish": true,
+ "role": "\${aws_iam_role.root_cloudFunction_IamRole_DAEC3578.arn}",
+ "runtime": "nodejs16.x",
+ "s3_bucket": "\${aws_s3_bucket.root_cloudFunction_Code_2F6A7948.bucket}",
+ "s3_key": "\${aws_s3_object.root_cloudFunction_S3Object_C8435368.key}",
+ "timeout": 30,
+ },
+ },
+ "aws_s3_bucket": {
+ "root_cloudFunction_Code_2F6A7948": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Function/Code",
+ "uniqueId": "root_cloudFunction_Code_2F6A7948",
+ },
+ },
+ "bucket_prefix": "code-c8d4206f-",
+ },
+ },
+ "aws_s3_object": {
+ "root_cloudFunction_S3Object_C8435368": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Function/S3Object",
+ "uniqueId": "root_cloudFunction_S3Object_C8435368",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_cloudFunction_Code_2F6A7948.bucket}",
+ "key": "",
+ },
+ },
+ },
+}
+`;
+
+exports[`capture_primitives.w > wing compile --target tf-aws > preflight.js 1`] = `
+"const $stdlib = require('@winglang/sdk');
+const $outdir = process.env.WINGSDK_SYNTH_DIR ?? \\".\\";
+
+function __app(target) {
+ switch (target) {
+ case \\"sim\\":
+ return $stdlib.sim.App;
+ case \\"tfaws\\":
+ case \\"tf-aws\\":
+ return $stdlib.tfaws.App;
+ case \\"tf-gcp\\":
+ return $stdlib.tfgcp.App;
+ case \\"tf-azure\\":
+ return $stdlib.tfazure.App;
+ default:
+ throw new Error(\`Unknown WING_TARGET value: \\"\${process.env.WING_TARGET ?? \\"\\"}\\"\`);
+ }
+}
+const $App = __app(process.env.WING_TARGET);
+
+const cloud = require('@winglang/sdk').cloud;
+class MyApp extends $App {
+constructor() {
+ super({ outdir: $outdir, name: \\"capture_primitives\\", plugins: $plugins });
+
+ const my_str = \\"hello, string\\";
+ const my_num = 1234;
+ const my_bool = true;
+ const my_second_bool = false;
+ const my_dur = $stdlib.std.Duration.fromSeconds(600);
+ const handler = new $stdlib.core.Inflight(this, \\"$Inflight1\\", {
+ code: $stdlib.core.NodeJsCode.fromFile(require('path').resolve(__dirname, \\"proc.275873c041545c7a2de55149fb73b77f5b75da61d16914ceadd71c3445173d97/index.js\\").replace(/\\\\\\\\/g, \\"/\\")),
+ bindings: {
+ my_bool: {
+ obj: my_bool,
+ ops: []
+ },
+ my_dur: {
+ obj: my_dur,
+ ops: []
+ },
+ my_num: {
+ obj: my_num,
+ ops: []
+ },
+ my_second_bool: {
+ obj: my_second_bool,
+ ops: []
+ },
+ my_str: {
+ obj: my_str,
+ ops: []
+ },
+ }
+ });
+ this.node.root.newAbstract(\\"@winglang/sdk.cloud.Function\\",this,\\"cloud.Function\\",handler);
+}
+}
+new MyApp().synth();"
+`;
+
+exports[`capture_resource_and_data.w > wing compile --target tf-aws > index.js 1`] = `
+"async handle(e) { const { data, queue, res } = this; {
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(data.size === 3)'\`)})((data.size === 3))};
+ (await res.put(\\"file.txt\\",\\"world\\"));
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((await res.get(\\"file.txt\\")) === \\"world\\")'\`)})(((await res.get(\\"file.txt\\")) === \\"world\\"))};
+ (await queue.push(\\"spirulina\\"));
+} };"
+`;
+
+exports[`capture_resource_and_data.w > wing compile --target tf-aws > main.tf.json 1`] = `
+{
+ "//": {
+ "metadata": {
+ "backend": "local",
+ "stackName": "root",
+ "version": "0.15.2",
+ },
+ "outputs": {},
+ },
+ "provider": {
+ "aws": [
+ {},
+ ],
+ },
+ "resource": {
+ "aws_iam_role": {
+ "root_test_IamRole_6CDC2D16": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/IamRole",
+ "uniqueId": "root_test_IamRole_6CDC2D16",
+ },
+ },
+ "assume_role_policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":\\"sts:AssumeRole\\",\\"Principal\\":{\\"Service\\":\\"lambda.amazonaws.com\\"},\\"Effect\\":\\"Allow\\"}]}",
+ },
+ },
+ "aws_iam_role_policy": {
+ "root_test_IamRolePolicy_474A6820": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/IamRolePolicy",
+ "uniqueId": "root_test_IamRolePolicy_474A6820",
+ },
+ },
+ "policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":[\\"s3:PutObject*\\",\\"s3:Abort*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}\\",\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:GetObject*\\",\\"s3:GetBucket*\\",\\"s3:List*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}\\",\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:GetObject*\\",\\"s3:GetBucket*\\",\\"s3:List*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}\\",\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:DeleteObject*\\",\\"s3:DeleteObjectVersion*\\",\\"s3:PutLifecycleConfiguration*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}\\",\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"sqs:SendMessage\\"],\\"Resource\\":\\"\${aws_sqs_queue.root_cloudQueue_E3597F7A.arn}\\",\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"sqs:PurgeQueue\\"],\\"Resource\\":\\"\${aws_sqs_queue.root_cloudQueue_E3597F7A.arn}\\",\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"sqs:GetQueueAttributes\\"],\\"Resource\\":\\"\${aws_sqs_queue.root_cloudQueue_E3597F7A.arn}\\",\\"Effect\\":\\"Allow\\"}]}",
+ "role": "\${aws_iam_role.root_test_IamRole_6CDC2D16.name}",
+ },
+ },
+ "aws_iam_role_policy_attachment": {
+ "root_test_IamRolePolicyAttachment_1102A28A": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/IamRolePolicyAttachment",
+ "uniqueId": "root_test_IamRolePolicyAttachment_1102A28A",
+ },
+ },
+ "policy_arn": "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ "role": "\${aws_iam_role.root_test_IamRole_6CDC2D16.name}",
+ },
+ },
+ "aws_lambda_function": {
+ "root_test_AAE85061": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/Default",
+ "uniqueId": "root_test_AAE85061",
+ },
+ },
+ "environment": {
+ "variables": {
+ "BUCKET_NAME_d755b447": "\${aws_s3_bucket.root_cloudBucket_4F3C4F53.bucket}",
+ "QUEUE_URL_31e95cbd": "\${aws_sqs_queue.root_cloudQueue_E3597F7A.url}",
+ "WING_FUNCTION_NAME": "test-c8b6eece",
+ },
+ },
+ "function_name": "test-c8b6eece",
+ "handler": "index.handler",
+ "publish": true,
+ "role": "\${aws_iam_role.root_test_IamRole_6CDC2D16.arn}",
+ "runtime": "nodejs16.x",
+ "s3_bucket": "\${aws_s3_bucket.root_test_Code_2D131EC2.bucket}",
+ "s3_key": "\${aws_s3_object.root_test_S3Object_A16CD789.key}",
+ "timeout": 30,
+ },
+ },
+ "aws_s3_bucket": {
+ "root_cloudBucket_4F3C4F53": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Bucket/Default",
+ "uniqueId": "root_cloudBucket_4F3C4F53",
+ },
+ },
+ "bucket_prefix": "cloud-bucket-c87175e7-",
+ },
+ "root_test_Code_2D131EC2": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/Code",
+ "uniqueId": "root_test_Code_2D131EC2",
+ },
+ },
+ "bucket_prefix": "code-c883c33b-",
+ },
+ },
+ "aws_s3_bucket_public_access_block": {
+ "root_cloudBucket_PublicAccessBlock_319C1C2E": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Bucket/PublicAccessBlock",
+ "uniqueId": "root_cloudBucket_PublicAccessBlock_319C1C2E",
+ },
+ },
+ "block_public_acls": true,
+ "block_public_policy": true,
+ "bucket": "\${aws_s3_bucket.root_cloudBucket_4F3C4F53.bucket}",
+ "ignore_public_acls": true,
+ "restrict_public_buckets": true,
+ },
+ },
+ "aws_s3_bucket_server_side_encryption_configuration": {
+ "root_cloudBucket_Encryption_8ED0CD9C": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Bucket/Encryption",
+ "uniqueId": "root_cloudBucket_Encryption_8ED0CD9C",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_cloudBucket_4F3C4F53.bucket}",
+ "rule": [
+ {
+ "apply_server_side_encryption_by_default": {
+ "sse_algorithm": "AES256",
+ },
+ },
+ ],
+ },
+ },
+ "aws_s3_object": {
+ "root_test_S3Object_A16CD789": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/S3Object",
+ "uniqueId": "root_test_S3Object_A16CD789",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_test_Code_2D131EC2.bucket}",
+ "key": "",
+ },
+ },
+ },
+}
+`;
+
+exports[`capture_resource_and_data.w > wing compile --target tf-aws > preflight.js 1`] = `
+"const $stdlib = require('@winglang/sdk');
+const $outdir = process.env.WINGSDK_SYNTH_DIR ?? \\".\\";
+
+function __app(target) {
+ switch (target) {
+ case \\"sim\\":
+ return $stdlib.sim.App;
+ case \\"tfaws\\":
+ case \\"tf-aws\\":
+ return $stdlib.tfaws.App;
+ case \\"tf-gcp\\":
+ return $stdlib.tfgcp.App;
+ case \\"tf-azure\\":
+ return $stdlib.tfazure.App;
+ default:
+ throw new Error(\`Unknown WING_TARGET value: \\"\${process.env.WING_TARGET ?? \\"\\"}\\"\`);
+ }
+}
+const $App = __app(process.env.WING_TARGET);
+
+const cloud = require('@winglang/sdk').cloud;
+class MyApp extends $App {
+constructor() {
+ super({ outdir: $outdir, name: \\"capture_resource_and_data\\", plugins: $plugins });
+
+ const data = Object.freeze(new Set([1, 2, 3]));
+ const res = this.node.root.newAbstract(\\"@winglang/sdk.cloud.Bucket\\",this,\\"cloud.Bucket\\");
+ const queue = this.node.root.newAbstract(\\"@winglang/sdk.cloud.Queue\\",this,\\"cloud.Queue\\");
+ const handler = new $stdlib.core.Inflight(this, \\"$Inflight1\\", {
+ code: $stdlib.core.NodeJsCode.fromFile(require('path').resolve(__dirname, \\"proc.10149a479ee5940e90f4621a2bca78dda7429636b1f235fcd785b3e33c131537/index.js\\").replace(/\\\\\\\\/g, \\"/\\")),
+ bindings: {
+ data: {
+ obj: data,
+ ops: []
+ },
+ queue: {
+ obj: queue,
+ ops: [\\"approx_size\\",\\"purge\\",\\"push\\"]
+ },
+ res: {
+ obj: res,
+ ops: [\\"delete\\",\\"get\\",\\"get_json\\",\\"list\\",\\"put\\",\\"put_json\\"]
+ },
+ }
+ });
+ this.node.root.newAbstract(\\"@winglang/sdk.cloud.Function\\",this,\\"test\\",handler);
+}
+}
+new MyApp().synth();"
+`;
+
+exports[`capture_resource_with_no_inflight.w > wing compile --target tf-aws > A.inflight.js 1`] = `
+"export class A_inflight {
+constructor({ field }) {
+
+ this.field = field;
+}
+}"
+`;
+
+exports[`capture_resource_with_no_inflight.w > wing compile --target tf-aws > index.js 1`] = `
+"async handle() { const { a } = this; {
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(\\"hey\\" === a.field)'\`)})((\\"hey\\" === a.field))};
+} };"
+`;
+
+exports[`capture_resource_with_no_inflight.w > wing compile --target tf-aws > main.tf.json 1`] = `
+{
+ "//": {
+ "metadata": {
+ "backend": "local",
+ "stackName": "root",
+ "version": "0.15.2",
+ },
+ "outputs": {},
+ },
+ "provider": {
+ "aws": [
+ {},
+ ],
+ },
+ "resource": {
+ "aws_iam_role": {
+ "root_test_IamRole_6CDC2D16": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/IamRole",
+ "uniqueId": "root_test_IamRole_6CDC2D16",
+ },
+ },
+ "assume_role_policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":\\"sts:AssumeRole\\",\\"Principal\\":{\\"Service\\":\\"lambda.amazonaws.com\\"},\\"Effect\\":\\"Allow\\"}]}",
+ },
+ },
+ "aws_iam_role_policy": {
+ "root_test_IamRolePolicy_474A6820": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/IamRolePolicy",
+ "uniqueId": "root_test_IamRolePolicy_474A6820",
+ },
+ },
+ "policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Effect\\":\\"Allow\\",\\"Action\\":\\"none:null\\",\\"Resource\\":\\"*\\"}]}",
+ "role": "\${aws_iam_role.root_test_IamRole_6CDC2D16.name}",
+ },
+ },
+ "aws_iam_role_policy_attachment": {
+ "root_test_IamRolePolicyAttachment_1102A28A": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/IamRolePolicyAttachment",
+ "uniqueId": "root_test_IamRolePolicyAttachment_1102A28A",
+ },
+ },
+ "policy_arn": "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ "role": "\${aws_iam_role.root_test_IamRole_6CDC2D16.name}",
+ },
+ },
+ "aws_lambda_function": {
+ "root_test_AAE85061": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/Default",
+ "uniqueId": "root_test_AAE85061",
+ },
+ },
+ "environment": {
+ "variables": {
+ "WING_FUNCTION_NAME": "test-c8b6eece",
+ },
+ },
+ "function_name": "test-c8b6eece",
+ "handler": "index.handler",
+ "publish": true,
+ "role": "\${aws_iam_role.root_test_IamRole_6CDC2D16.arn}",
+ "runtime": "nodejs16.x",
+ "s3_bucket": "\${aws_s3_bucket.root_test_Code_2D131EC2.bucket}",
+ "s3_key": "\${aws_s3_object.root_test_S3Object_A16CD789.key}",
+ "timeout": 30,
+ },
+ },
+ "aws_s3_bucket": {
+ "root_test_Code_2D131EC2": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/Code",
+ "uniqueId": "root_test_Code_2D131EC2",
+ },
+ },
+ "bucket_prefix": "code-c883c33b-",
+ },
+ },
+ "aws_s3_object": {
+ "root_test_S3Object_A16CD789": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/S3Object",
+ "uniqueId": "root_test_S3Object_A16CD789",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_test_Code_2D131EC2.bucket}",
+ "key": "",
+ },
+ },
+ },
+}
+`;
+
+exports[`capture_resource_with_no_inflight.w > wing compile --target tf-aws > preflight.js 1`] = `
+"const $stdlib = require('@winglang/sdk');
+const $outdir = process.env.WINGSDK_SYNTH_DIR ?? \\".\\";
+
+function __app(target) {
+ switch (target) {
+ case \\"sim\\":
+ return $stdlib.sim.App;
+ case \\"tfaws\\":
+ case \\"tf-aws\\":
+ return $stdlib.tfaws.App;
+ case \\"tf-gcp\\":
+ return $stdlib.tfgcp.App;
+ case \\"tf-azure\\":
+ return $stdlib.tfazure.App;
+ default:
+ throw new Error(\`Unknown WING_TARGET value: \\"\${process.env.WING_TARGET ?? \\"\\"}\\"\`);
+ }
+}
+const $App = __app(process.env.WING_TARGET);
+
+const cloud = require('@winglang/sdk').cloud;
+class MyApp extends $App {
+constructor() {
+ super({ outdir: $outdir, name: \\"capture_resource_with_no_inflight\\", plugins: $plugins });
+
+ class A extends $stdlib.core.Resource {
+ constructor(scope, id, ) {
+ super(scope, id);
+ {
+ this.field = \\"hey\\";
+ }
+ }
+
+ _toInflight() {
+ const field_client = this._lift(this.field);
+ const self_client_path = require('path').resolve(__dirname, \\"clients/A.inflight.js\\").replace(/\\\\\\\\/g, \\"/\\");
+ return $stdlib.core.NodeJsCode.fromInline(\`(new (require(\\"\${self_client_path}\\")).A_inflight({field: \${field_client}}))\`);
+ }
+ }
+
+ const a = new A(this,\\"A\\");
+ this.node.root.newAbstract(\\"@winglang/sdk.cloud.Function\\",this,\\"test\\",new $stdlib.core.Inflight(this, \\"$Inflight1\\", {
+ code: $stdlib.core.NodeJsCode.fromFile(require('path').resolve(__dirname, \\"proc.b771192b636450edefdc8f4b596a6372d5b2520efa1fcdb75c51589c12a10c59/index.js\\").replace(/\\\\\\\\/g, \\"/\\")),
+ bindings: {
+ a: {
+ obj: a,
+ ops: []
+ },
+ }
+ }));
+}
+}
+new MyApp().synth();"
+`;
+
+exports[`captures.w > wing compile --target tf-aws > index.js 1`] = `
+"async handle(event) { const { bucket1, bucket2, bucket3 } = this; {
+ (await bucket1.put(\\"file.txt\\",\\"data\\"));
+ (await bucket2.get(\\"file.txt\\"));
+ (await bucket2.get(\\"file2.txt\\"));
+ (await bucket3.get(\\"file3.txt\\"));
+ for (const stuff of (await bucket1.list())) {
+ {console.log(stuff)};
+ }
+} };"
+`;
+
+exports[`captures.w > wing compile --target tf-aws > main.tf.json 1`] = `
+{
+ "//": {
+ "metadata": {
+ "backend": "local",
+ "stackName": "root",
+ "version": "0.15.2",
+ },
+ "outputs": {},
+ },
+ "provider": {
+ "aws": [
+ {},
+ ],
+ },
+ "resource": {
+ "aws_iam_role": {
+ "root_AnotherFunction_IamRole_09A4D8EF": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/AnotherFunction/IamRole",
+ "uniqueId": "root_AnotherFunction_IamRole_09A4D8EF",
+ },
+ },
+ "assume_role_policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":\\"sts:AssumeRole\\",\\"Principal\\":{\\"Service\\":\\"lambda.amazonaws.com\\"},\\"Effect\\":\\"Allow\\"}]}",
+ },
+ "root_cloudFunction_IamRole_DAEC3578": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Function/IamRole",
+ "uniqueId": "root_cloudFunction_IamRole_DAEC3578",
+ },
+ },
+ "assume_role_policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":\\"sts:AssumeRole\\",\\"Principal\\":{\\"Service\\":\\"lambda.amazonaws.com\\"},\\"Effect\\":\\"Allow\\"}]}",
+ },
+ "root_cloudQueueOnMessagee46e5cb7_IamRole_D8F85094": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Queue-OnMessage-e46e5cb7/IamRole",
+ "uniqueId": "root_cloudQueueOnMessagee46e5cb7_IamRole_D8F85094",
+ },
+ },
+ "assume_role_policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":\\"sts:AssumeRole\\",\\"Principal\\":{\\"Service\\":\\"lambda.amazonaws.com\\"},\\"Effect\\":\\"Allow\\"}]}",
+ },
+ },
+ "aws_iam_role_policy": {
+ "root_AnotherFunction_IamRolePolicy_5B37F663": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/AnotherFunction/IamRolePolicy",
+ "uniqueId": "root_AnotherFunction_IamRolePolicy_5B37F663",
+ },
+ },
+ "policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":[\\"s3:PutObject*\\",\\"s3:Abort*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}\\",\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:GetObject*\\",\\"s3:GetBucket*\\",\\"s3:List*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}\\",\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:GetObject*\\",\\"s3:GetBucket*\\",\\"s3:List*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}\\",\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:DeleteObject*\\",\\"s3:DeleteObjectVersion*\\",\\"s3:PutLifecycleConfiguration*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}\\",\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:PutObject*\\",\\"s3:Abort*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_PublicBucket_73AE6C59.arn}\\",\\"\${aws_s3_bucket.root_PublicBucket_73AE6C59.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:GetObject*\\",\\"s3:GetBucket*\\",\\"s3:List*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_PublicBucket_73AE6C59.arn}\\",\\"\${aws_s3_bucket.root_PublicBucket_73AE6C59.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:GetObject*\\",\\"s3:GetBucket*\\",\\"s3:List*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_PublicBucket_73AE6C59.arn}\\",\\"\${aws_s3_bucket.root_PublicBucket_73AE6C59.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:DeleteObject*\\",\\"s3:DeleteObjectVersion*\\",\\"s3:PutLifecycleConfiguration*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_PublicBucket_73AE6C59.arn}\\",\\"\${aws_s3_bucket.root_PublicBucket_73AE6C59.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:PutObject*\\",\\"s3:Abort*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_PrivateBucket_82B4DCC5.arn}\\",\\"\${aws_s3_bucket.root_PrivateBucket_82B4DCC5.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:GetObject*\\",\\"s3:GetBucket*\\",\\"s3:List*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_PrivateBucket_82B4DCC5.arn}\\",\\"\${aws_s3_bucket.root_PrivateBucket_82B4DCC5.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:GetObject*\\",\\"s3:GetBucket*\\",\\"s3:List*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_PrivateBucket_82B4DCC5.arn}\\",\\"\${aws_s3_bucket.root_PrivateBucket_82B4DCC5.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:DeleteObject*\\",\\"s3:DeleteObjectVersion*\\",\\"s3:PutLifecycleConfiguration*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_PrivateBucket_82B4DCC5.arn}\\",\\"\${aws_s3_bucket.root_PrivateBucket_82B4DCC5.arn}/*\\"],\\"Effect\\":\\"Allow\\"}]}",
+ "role": "\${aws_iam_role.root_AnotherFunction_IamRole_09A4D8EF.name}",
+ },
+ "root_cloudFunction_IamRolePolicy_AAE6C0C0": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Function/IamRolePolicy",
+ "uniqueId": "root_cloudFunction_IamRolePolicy_AAE6C0C0",
+ },
+ },
+ "policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":[\\"s3:PutObject*\\",\\"s3:Abort*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}\\",\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:GetObject*\\",\\"s3:GetBucket*\\",\\"s3:List*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}\\",\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:GetObject*\\",\\"s3:GetBucket*\\",\\"s3:List*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}\\",\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:DeleteObject*\\",\\"s3:DeleteObjectVersion*\\",\\"s3:PutLifecycleConfiguration*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}\\",\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:PutObject*\\",\\"s3:Abort*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_PublicBucket_73AE6C59.arn}\\",\\"\${aws_s3_bucket.root_PublicBucket_73AE6C59.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:GetObject*\\",\\"s3:GetBucket*\\",\\"s3:List*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_PublicBucket_73AE6C59.arn}\\",\\"\${aws_s3_bucket.root_PublicBucket_73AE6C59.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:GetObject*\\",\\"s3:GetBucket*\\",\\"s3:List*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_PublicBucket_73AE6C59.arn}\\",\\"\${aws_s3_bucket.root_PublicBucket_73AE6C59.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:DeleteObject*\\",\\"s3:DeleteObjectVersion*\\",\\"s3:PutLifecycleConfiguration*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_PublicBucket_73AE6C59.arn}\\",\\"\${aws_s3_bucket.root_PublicBucket_73AE6C59.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:PutObject*\\",\\"s3:Abort*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_PrivateBucket_82B4DCC5.arn}\\",\\"\${aws_s3_bucket.root_PrivateBucket_82B4DCC5.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:GetObject*\\",\\"s3:GetBucket*\\",\\"s3:List*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_PrivateBucket_82B4DCC5.arn}\\",\\"\${aws_s3_bucket.root_PrivateBucket_82B4DCC5.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:GetObject*\\",\\"s3:GetBucket*\\",\\"s3:List*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_PrivateBucket_82B4DCC5.arn}\\",\\"\${aws_s3_bucket.root_PrivateBucket_82B4DCC5.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:DeleteObject*\\",\\"s3:DeleteObjectVersion*\\",\\"s3:PutLifecycleConfiguration*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_PrivateBucket_82B4DCC5.arn}\\",\\"\${aws_s3_bucket.root_PrivateBucket_82B4DCC5.arn}/*\\"],\\"Effect\\":\\"Allow\\"}]}",
+ "role": "\${aws_iam_role.root_cloudFunction_IamRole_DAEC3578.name}",
+ },
+ "root_cloudQueueOnMessagee46e5cb7_IamRolePolicy_99F6B872": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Queue-OnMessage-e46e5cb7/IamRolePolicy",
+ "uniqueId": "root_cloudQueueOnMessagee46e5cb7_IamRolePolicy_99F6B872",
+ },
+ },
+ "policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":[\\"sqs:ReceiveMessage\\",\\"sqs:ChangeMessageVisibility\\",\\"sqs:GetQueueUrl\\",\\"sqs:DeleteMessage\\",\\"sqs:GetQueueAttributes\\"],\\"Resource\\":\\"\${aws_sqs_queue.root_cloudQueue_E3597F7A.arn}\\",\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:PutObject*\\",\\"s3:Abort*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}\\",\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:GetObject*\\",\\"s3:GetBucket*\\",\\"s3:List*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}\\",\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:GetObject*\\",\\"s3:GetBucket*\\",\\"s3:List*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}\\",\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:DeleteObject*\\",\\"s3:DeleteObjectVersion*\\",\\"s3:PutLifecycleConfiguration*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}\\",\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:PutObject*\\",\\"s3:Abort*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_PublicBucket_73AE6C59.arn}\\",\\"\${aws_s3_bucket.root_PublicBucket_73AE6C59.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:GetObject*\\",\\"s3:GetBucket*\\",\\"s3:List*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_PublicBucket_73AE6C59.arn}\\",\\"\${aws_s3_bucket.root_PublicBucket_73AE6C59.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:GetObject*\\",\\"s3:GetBucket*\\",\\"s3:List*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_PublicBucket_73AE6C59.arn}\\",\\"\${aws_s3_bucket.root_PublicBucket_73AE6C59.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:DeleteObject*\\",\\"s3:DeleteObjectVersion*\\",\\"s3:PutLifecycleConfiguration*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_PublicBucket_73AE6C59.arn}\\",\\"\${aws_s3_bucket.root_PublicBucket_73AE6C59.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:PutObject*\\",\\"s3:Abort*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_PrivateBucket_82B4DCC5.arn}\\",\\"\${aws_s3_bucket.root_PrivateBucket_82B4DCC5.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:GetObject*\\",\\"s3:GetBucket*\\",\\"s3:List*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_PrivateBucket_82B4DCC5.arn}\\",\\"\${aws_s3_bucket.root_PrivateBucket_82B4DCC5.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:GetObject*\\",\\"s3:GetBucket*\\",\\"s3:List*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_PrivateBucket_82B4DCC5.arn}\\",\\"\${aws_s3_bucket.root_PrivateBucket_82B4DCC5.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:DeleteObject*\\",\\"s3:DeleteObjectVersion*\\",\\"s3:PutLifecycleConfiguration*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_PrivateBucket_82B4DCC5.arn}\\",\\"\${aws_s3_bucket.root_PrivateBucket_82B4DCC5.arn}/*\\"],\\"Effect\\":\\"Allow\\"}]}",
+ "role": "\${aws_iam_role.root_cloudQueueOnMessagee46e5cb7_IamRole_D8F85094.name}",
+ },
+ },
+ "aws_iam_role_policy_attachment": {
+ "root_AnotherFunction_IamRolePolicyAttachment_8AF040CB": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/AnotherFunction/IamRolePolicyAttachment",
+ "uniqueId": "root_AnotherFunction_IamRolePolicyAttachment_8AF040CB",
+ },
+ },
+ "policy_arn": "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ "role": "\${aws_iam_role.root_AnotherFunction_IamRole_09A4D8EF.name}",
+ },
+ "root_cloudFunction_IamRolePolicyAttachment_FC3D9E7C": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Function/IamRolePolicyAttachment",
+ "uniqueId": "root_cloudFunction_IamRolePolicyAttachment_FC3D9E7C",
+ },
+ },
+ "policy_arn": "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ "role": "\${aws_iam_role.root_cloudFunction_IamRole_DAEC3578.name}",
+ },
+ "root_cloudQueueOnMessagee46e5cb7_IamRolePolicyAttachment_D3D5C118": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Queue-OnMessage-e46e5cb7/IamRolePolicyAttachment",
+ "uniqueId": "root_cloudQueueOnMessagee46e5cb7_IamRolePolicyAttachment_D3D5C118",
+ },
+ },
+ "policy_arn": "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ "role": "\${aws_iam_role.root_cloudQueueOnMessagee46e5cb7_IamRole_D8F85094.name}",
+ },
+ },
+ "aws_lambda_event_source_mapping": {
+ "root_cloudQueue_EventSourceMapping_A2041279": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Queue/EventSourceMapping",
+ "uniqueId": "root_cloudQueue_EventSourceMapping_A2041279",
+ },
+ },
+ "batch_size": 5,
+ "event_source_arn": "\${aws_sqs_queue.root_cloudQueue_E3597F7A.arn}",
+ "function_name": "\${aws_lambda_function.root_cloudQueueOnMessagee46e5cb7_C394DE2A.function_name}",
+ },
+ },
+ "aws_lambda_function": {
+ "root_AnotherFunction_1D5A4455": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/AnotherFunction/Default",
+ "uniqueId": "root_AnotherFunction_1D5A4455",
+ },
+ },
+ "environment": {
+ "variables": {
+ "BUCKET_NAME_0c557d45": "\${aws_s3_bucket.root_PrivateBucket_82B4DCC5.bucket}",
+ "BUCKET_NAME_21bd2572": "\${aws_s3_bucket.root_PublicBucket_73AE6C59.bucket}",
+ "BUCKET_NAME_d755b447": "\${aws_s3_bucket.root_cloudBucket_4F3C4F53.bucket}",
+ "WING_FUNCTION_NAME": "AnotherFunction-c88d2a81",
+ },
+ },
+ "function_name": "AnotherFunction-c88d2a81",
+ "handler": "index.handler",
+ "publish": true,
+ "role": "\${aws_iam_role.root_AnotherFunction_IamRole_09A4D8EF.arn}",
+ "runtime": "nodejs16.x",
+ "s3_bucket": "\${aws_s3_bucket.root_AnotherFunction_Code_B0183137.bucket}",
+ "s3_key": "\${aws_s3_object.root_AnotherFunction_S3Object_5AD7E879.key}",
+ "timeout": 30,
+ },
+ "root_cloudFunction_6A57BA0A": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Function/Default",
+ "uniqueId": "root_cloudFunction_6A57BA0A",
+ },
+ },
+ "environment": {
+ "variables": {
+ "BUCKET_NAME_0c557d45": "\${aws_s3_bucket.root_PrivateBucket_82B4DCC5.bucket}",
+ "BUCKET_NAME_21bd2572": "\${aws_s3_bucket.root_PublicBucket_73AE6C59.bucket}",
+ "BUCKET_NAME_d755b447": "\${aws_s3_bucket.root_cloudBucket_4F3C4F53.bucket}",
+ "WING_FUNCTION_NAME": "cloud-Function-c8d2eca1",
+ },
+ },
+ "function_name": "cloud-Function-c8d2eca1",
+ "handler": "index.handler",
+ "publish": true,
+ "role": "\${aws_iam_role.root_cloudFunction_IamRole_DAEC3578.arn}",
+ "runtime": "nodejs16.x",
+ "s3_bucket": "\${aws_s3_bucket.root_cloudFunction_Code_2F6A7948.bucket}",
+ "s3_key": "\${aws_s3_object.root_cloudFunction_S3Object_C8435368.key}",
+ "timeout": 30,
+ },
+ "root_cloudQueueOnMessagee46e5cb7_C394DE2A": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Queue-OnMessage-e46e5cb7/Default",
+ "uniqueId": "root_cloudQueueOnMessagee46e5cb7_C394DE2A",
+ },
+ },
+ "environment": {
+ "variables": {
+ "BUCKET_NAME_0c557d45": "\${aws_s3_bucket.root_PrivateBucket_82B4DCC5.bucket}",
+ "BUCKET_NAME_21bd2572": "\${aws_s3_bucket.root_PublicBucket_73AE6C59.bucket}",
+ "BUCKET_NAME_d755b447": "\${aws_s3_bucket.root_cloudBucket_4F3C4F53.bucket}",
+ "WING_FUNCTION_NAME": "cloud-Queue-OnMessage-e46e5cb7-c86cd0c0",
+ },
+ },
+ "function_name": "cloud-Queue-OnMessage-e46e5cb7-c86cd0c0",
+ "handler": "index.handler",
+ "publish": true,
+ "role": "\${aws_iam_role.root_cloudQueueOnMessagee46e5cb7_IamRole_D8F85094.arn}",
+ "runtime": "nodejs16.x",
+ "s3_bucket": "\${aws_s3_bucket.root_cloudQueueOnMessagee46e5cb7_Code_A7B6C6A0.bucket}",
+ "s3_key": "\${aws_s3_object.root_cloudQueueOnMessagee46e5cb7_S3Object_E583CB6B.key}",
+ "timeout": 30,
+ },
+ },
+ "aws_s3_bucket": {
+ "root_AnotherFunction_Code_B0183137": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/AnotherFunction/Code",
+ "uniqueId": "root_AnotherFunction_Code_B0183137",
+ },
+ },
+ "bucket_prefix": "code-c8326137-",
+ },
+ "root_PrivateBucket_82B4DCC5": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/PrivateBucket/Default",
+ "uniqueId": "root_PrivateBucket_82B4DCC5",
+ },
+ },
+ "bucket_prefix": "privatebucket-c8a9b08c-",
+ },
+ "root_PublicBucket_73AE6C59": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/PublicBucket/Default",
+ "uniqueId": "root_PublicBucket_73AE6C59",
+ },
+ },
+ "bucket_prefix": "publicbucket-c8fea5d9-",
+ },
+ "root_cloudBucket_4F3C4F53": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Bucket/Default",
+ "uniqueId": "root_cloudBucket_4F3C4F53",
+ },
+ },
+ "bucket_prefix": "cloud-bucket-c87175e7-",
+ },
+ "root_cloudFunction_Code_2F6A7948": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Function/Code",
+ "uniqueId": "root_cloudFunction_Code_2F6A7948",
+ },
+ },
+ "bucket_prefix": "code-c8d4206f-",
+ },
+ "root_cloudQueueOnMessagee46e5cb7_Code_A7B6C6A0": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Queue-OnMessage-e46e5cb7/Code",
+ "uniqueId": "root_cloudQueueOnMessagee46e5cb7_Code_A7B6C6A0",
+ },
+ },
+ "bucket_prefix": "code-c8b80a9a-",
+ },
+ },
+ "aws_s3_bucket_policy": {
+ "root_PublicBucket_PublicPolicy_98DDAE96": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/PublicBucket/PublicPolicy",
+ "uniqueId": "root_PublicBucket_PublicPolicy_98DDAE96",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_PublicBucket_73AE6C59.bucket}",
+ "policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Effect\\":\\"Allow\\",\\"Principal\\":\\"*\\",\\"Action\\":[\\"s3:GetObject\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_PublicBucket_73AE6C59.arn}/*\\"]}]}",
+ },
+ },
+ "aws_s3_bucket_public_access_block": {
+ "root_PrivateBucket_PublicAccessBlock_DB813250": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/PrivateBucket/PublicAccessBlock",
+ "uniqueId": "root_PrivateBucket_PublicAccessBlock_DB813250",
+ },
+ },
+ "block_public_acls": true,
+ "block_public_policy": true,
+ "bucket": "\${aws_s3_bucket.root_PrivateBucket_82B4DCC5.bucket}",
+ "ignore_public_acls": true,
+ "restrict_public_buckets": true,
+ },
+ "root_cloudBucket_PublicAccessBlock_319C1C2E": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Bucket/PublicAccessBlock",
+ "uniqueId": "root_cloudBucket_PublicAccessBlock_319C1C2E",
+ },
+ },
+ "block_public_acls": true,
+ "block_public_policy": true,
+ "bucket": "\${aws_s3_bucket.root_cloudBucket_4F3C4F53.bucket}",
+ "ignore_public_acls": true,
+ "restrict_public_buckets": true,
+ },
+ },
+ "aws_s3_bucket_server_side_encryption_configuration": {
+ "root_PrivateBucket_Encryption_F9F2144A": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/PrivateBucket/Encryption",
+ "uniqueId": "root_PrivateBucket_Encryption_F9F2144A",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_PrivateBucket_82B4DCC5.bucket}",
+ "rule": [
+ {
+ "apply_server_side_encryption_by_default": {
+ "sse_algorithm": "AES256",
+ },
+ },
+ ],
+ },
+ "root_PublicBucket_Encryption_FB9A8400": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/PublicBucket/Encryption",
+ "uniqueId": "root_PublicBucket_Encryption_FB9A8400",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_PublicBucket_73AE6C59.bucket}",
+ "rule": [
+ {
+ "apply_server_side_encryption_by_default": {
+ "sse_algorithm": "AES256",
+ },
+ },
+ ],
+ },
+ "root_cloudBucket_Encryption_8ED0CD9C": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Bucket/Encryption",
+ "uniqueId": "root_cloudBucket_Encryption_8ED0CD9C",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_cloudBucket_4F3C4F53.bucket}",
+ "rule": [
+ {
+ "apply_server_side_encryption_by_default": {
+ "sse_algorithm": "AES256",
+ },
+ },
+ ],
+ },
+ },
+ "aws_s3_object": {
+ "root_AnotherFunction_S3Object_5AD7E879": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/AnotherFunction/S3Object",
+ "uniqueId": "root_AnotherFunction_S3Object_5AD7E879",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_AnotherFunction_Code_B0183137.bucket}",
+ "key": "",
+ },
+ },
+ },
+}
+`;
+
+exports[`captures.w > wing compile --target tf-aws > preflight.js 1`] = `
+"const $stdlib = require('@winglang/sdk');
+const $outdir = process.env.WINGSDK_SYNTH_DIR ?? \\".\\";
+
+function __app(target) {
+ switch (target) {
+ case \\"sim\\":
+ return $stdlib.sim.App;
+ case \\"tfaws\\":
+ case \\"tf-aws\\":
+ return $stdlib.tfaws.App;
+ case \\"tf-gcp\\":
+ return $stdlib.tfgcp.App;
+ case \\"tf-azure\\":
+ return $stdlib.tfazure.App;
+ default:
+ throw new Error(\`Unknown WING_TARGET value: \\"\${process.env.WING_TARGET ?? \\"\\"}\\"\`);
+ }
+}
+const $App = __app(process.env.WING_TARGET);
+
+const cloud = require('@winglang/sdk').cloud;
+class MyApp extends $App {
+constructor() {
+ super({ outdir: $outdir, name: \\"captures\\", plugins: $plugins });
+
+ const bucket1 = this.node.root.newAbstract(\\"@winglang/sdk.cloud.Bucket\\",this,\\"cloud.Bucket\\");
+ const bucket2 = this.node.root.newAbstract(\\"@winglang/sdk.cloud.Bucket\\",this,\\"PublicBucket\\",{
+ \\"public\\": true,}
+ );
+ const bucket3 = this.node.root.newAbstract(\\"@winglang/sdk.cloud.Bucket\\",this,\\"PrivateBucket\\",{ public: false });
+ const queue = this.node.root.newAbstract(\\"@winglang/sdk.cloud.Queue\\",this,\\"cloud.Queue\\");
+ const handler = new $stdlib.core.Inflight(this, \\"$Inflight1\\", {
+ code: $stdlib.core.NodeJsCode.fromFile(require('path').resolve(__dirname, \\"proc.5f0e4e25898a72c973f063e92444f7572d58a18cdd38b3fb3a575af6adf7440f/index.js\\").replace(/\\\\\\\\/g, \\"/\\")),
+ bindings: {
+ bucket1: {
+ obj: bucket1,
+ ops: [\\"delete\\",\\"get\\",\\"get_json\\",\\"list\\",\\"put\\",\\"put_json\\"]
+ },
+ bucket2: {
+ obj: bucket2,
+ ops: [\\"delete\\",\\"get\\",\\"get_json\\",\\"list\\",\\"put\\",\\"put_json\\"]
+ },
+ bucket3: {
+ obj: bucket3,
+ ops: [\\"delete\\",\\"get\\",\\"get_json\\",\\"list\\",\\"put\\",\\"put_json\\"]
+ },
+ }
+ });
+ (queue.onMessage(handler,{ batchSize: 5 }));
+ this.node.root.newAbstract(\\"@winglang/sdk.cloud.Function\\",this,\\"cloud.Function\\",handler,{ env: Object.freeze({}) });
+ const empty_env = Object.freeze({});
+ this.node.root.newAbstract(\\"@winglang/sdk.cloud.Function\\",this,\\"AnotherFunction\\",handler,{ env: empty_env });
+}
+}
+new MyApp().synth();"
+`;
+
+exports[`container_types.w > wing compile --target tf-aws > main.tf.json 1`] = `
+{
+ "//": {
+ "metadata": {
+ "backend": "local",
+ "stackName": "root",
+ "version": "0.15.2",
+ },
+ "outputs": {},
+ },
+ "provider": {
+ "aws": [
+ {},
+ ],
+ },
+ "resource": {
+ "aws_s3_bucket": {
+ "root_bucket1_3A77B9B4": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/bucket1/Default",
+ "uniqueId": "root_bucket1_3A77B9B4",
+ },
+ },
+ "bucket_prefix": "bucket1-c81ed215-",
+ },
+ "root_bucket2_E39F70EE": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/bucket2/Default",
+ "uniqueId": "root_bucket2_E39F70EE",
+ },
+ },
+ "bucket_prefix": "bucket2-c83a0be6-",
+ },
+ "root_bucket3_A0C568EA": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/bucket3/Default",
+ "uniqueId": "root_bucket3_A0C568EA",
+ },
+ },
+ "bucket_prefix": "bucket3-c8b6c706-",
+ },
+ },
+ "aws_s3_bucket_public_access_block": {
+ "root_bucket1_PublicAccessBlock_6C5071C0": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/bucket1/PublicAccessBlock",
+ "uniqueId": "root_bucket1_PublicAccessBlock_6C5071C0",
+ },
+ },
+ "block_public_acls": true,
+ "block_public_policy": true,
+ "bucket": "\${aws_s3_bucket.root_bucket1_3A77B9B4.bucket}",
+ "ignore_public_acls": true,
+ "restrict_public_buckets": true,
+ },
+ "root_bucket2_PublicAccessBlock_BC328E84": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/bucket2/PublicAccessBlock",
+ "uniqueId": "root_bucket2_PublicAccessBlock_BC328E84",
+ },
+ },
+ "block_public_acls": true,
+ "block_public_policy": true,
+ "bucket": "\${aws_s3_bucket.root_bucket2_E39F70EE.bucket}",
+ "ignore_public_acls": true,
+ "restrict_public_buckets": true,
+ },
+ "root_bucket3_PublicAccessBlock_CF2593D4": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/bucket3/PublicAccessBlock",
+ "uniqueId": "root_bucket3_PublicAccessBlock_CF2593D4",
+ },
+ },
+ "block_public_acls": true,
+ "block_public_policy": true,
+ "bucket": "\${aws_s3_bucket.root_bucket3_A0C568EA.bucket}",
+ "ignore_public_acls": true,
+ "restrict_public_buckets": true,
+ },
+ },
+ "aws_s3_bucket_server_side_encryption_configuration": {
+ "root_bucket1_Encryption_33CABC1A": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/bucket1/Encryption",
+ "uniqueId": "root_bucket1_Encryption_33CABC1A",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_bucket1_3A77B9B4.bucket}",
+ "rule": [
+ {
+ "apply_server_side_encryption_by_default": {
+ "sse_algorithm": "AES256",
+ },
+ },
+ ],
+ },
+ "root_bucket2_Encryption_A83E82F9": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/bucket2/Encryption",
+ "uniqueId": "root_bucket2_Encryption_A83E82F9",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_bucket2_E39F70EE.bucket}",
+ "rule": [
+ {
+ "apply_server_side_encryption_by_default": {
+ "sse_algorithm": "AES256",
+ },
+ },
+ ],
+ },
+ "root_bucket3_Encryption_A2A51E22": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/bucket3/Encryption",
+ "uniqueId": "root_bucket3_Encryption_A2A51E22",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_bucket3_A0C568EA.bucket}",
+ "rule": [
+ {
+ "apply_server_side_encryption_by_default": {
+ "sse_algorithm": "AES256",
+ },
+ },
+ ],
+ },
+ },
+ },
+}
+`;
+
+exports[`container_types.w > wing compile --target tf-aws > preflight.js 1`] = `
+"const $stdlib = require('@winglang/sdk');
+const $outdir = process.env.WINGSDK_SYNTH_DIR ?? \\".\\";
+
+function __app(target) {
+ switch (target) {
+ case \\"sim\\":
+ return $stdlib.sim.App;
+ case \\"tfaws\\":
+ case \\"tf-aws\\":
+ return $stdlib.tfaws.App;
+ case \\"tf-gcp\\":
+ return $stdlib.tfgcp.App;
+ case \\"tf-azure\\":
+ return $stdlib.tfazure.App;
+ default:
+ throw new Error(\`Unknown WING_TARGET value: \\"\${process.env.WING_TARGET ?? \\"\\"}\\"\`);
+ }
+}
+const $App = __app(process.env.WING_TARGET);
+
+const cloud = require('@winglang/sdk').cloud;
+class MyApp extends $App {
+constructor() {
+ super({ outdir: $outdir, name: \\"container_types\\", plugins: $plugins });
+
+ const bucket1 = this.node.root.newAbstract(\\"@winglang/sdk.cloud.Bucket\\",this,\\"bucket1\\");
+ const bucket2 = this.node.root.newAbstract(\\"@winglang/sdk.cloud.Bucket\\",this,\\"bucket2\\");
+ const bucket3 = this.node.root.newAbstract(\\"@winglang/sdk.cloud.Bucket\\",this,\\"bucket3\\");
+ const empty_array = Object.freeze([]);
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(empty_array.length === 0)'\`)})((empty_array.length === 0))};
+ const empty_array2 = [];
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(empty_array2.length === 0)'\`)})((empty_array2.length === 0))};
+ const arr1 = Object.freeze([1, 2, 3]);
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(arr1.length === 3)'\`)})((arr1.length === 3))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((arr1.at(1)) === 2)'\`)})(((arr1.at(1)) === 2))};
+ const arr2 = Object.freeze([\\"1\\", \\"2\\", \\"3\\"]);
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(arr2.length === 3)'\`)})((arr2.length === 3))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((arr2.at(1)) === \\"2\\")'\`)})(((arr2.at(1)) === \\"2\\"))};
+ const arr3 = Object.freeze([1, 2, 3]);
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(arr3.length === 3)'\`)})((arr3.length === 3))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((arr3.at(1)) === 2)'\`)})(((arr3.at(1)) === 2))};
+ const arr4 = Object.freeze([1, 2, 3]);
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(arr4.length === 3)'\`)})((arr4.length === 3))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((arr4.at(1)) === 2)'\`)})(((arr4.at(1)) === 2))};
+ const arr5 = Object.freeze([bucket1, bucket2, bucket3]);
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(arr5.length === 3)'\`)})((arr5.length === 3))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((arr5.at(1)) === bucket2)'\`)})(((arr5.at(1)) === bucket2))};
+ const arr6 = Object.freeze([bucket1, bucket2, bucket3]);
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(arr6.length === 3)'\`)})((arr6.length === 3))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((arr6.at(1)) === bucket2)'\`)})(((arr6.at(1)) === bucket2))};
+ const arr7 = arr4;
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(arr7.length === 3)'\`)})((arr7.length === 3))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((arr7.at(1)) === 2)'\`)})(((arr7.at(1)) === 2))};
+ const empty_map = Object.freeze({});
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(Object.keys(empty_map).length === 0)'\`)})((Object.keys(empty_map).length === 0))};
+ const empty_map2 = {};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(Object.keys(empty_map2).length === 0)'\`)})((Object.keys(empty_map2).length === 0))};
+ const m1 = Object.freeze({\\"a\\":1,\\"b\\":2,\\"c\\":3});
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(Object.keys(m1).length === 3)'\`)})((Object.keys(m1).length === 3))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((m1)[\\"b\\"] === 2)'\`)})(((m1)[\\"b\\"] === 2))};
+ const m2 = Object.freeze({\\"a\\":1,\\"b\\":2,\\"c\\":3});
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(Object.keys(m2).length === 3)'\`)})((Object.keys(m2).length === 3))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((m2)[\\"b\\"] === 2)'\`)})(((m2)[\\"b\\"] === 2))};
+ const m3 = Object.freeze({\\"a\\":1,\\"b\\":2,\\"c\\":3});
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(Object.keys(m3).length === 3)'\`)})((Object.keys(m3).length === 3))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((m3)[\\"b\\"] === 2)'\`)})(((m3)[\\"b\\"] === 2))};
+ const m4 = Object.freeze({\\"a\\":1,\\"b\\":2,\\"c\\":3});
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(Object.keys(m4).length === 3)'\`)})((Object.keys(m4).length === 3))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((m4)[\\"b\\"] === 2)'\`)})(((m4)[\\"b\\"] === 2))};
+ const m5 = Object.freeze({\\"a\\":bucket1,\\"b\\":bucket2,\\"c\\":bucket3});
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(Object.keys(m5).length === 3)'\`)})((Object.keys(m5).length === 3))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((m5)[\\"b\\"] === bucket2)'\`)})(((m5)[\\"b\\"] === bucket2))};
+ const m6 = Object.freeze({\\"a\\":bucket1,\\"b\\":bucket2,\\"c\\":bucket3});
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(Object.keys(m6).length === 3)'\`)})((Object.keys(m6).length === 3))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((m6)[\\"b\\"] === bucket2)'\`)})(((m6)[\\"b\\"] === bucket2))};
+ const m7 = m1;
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(Object.keys(m7).length === 3)'\`)})((Object.keys(m7).length === 3))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((m7)[\\"b\\"] === 2)'\`)})(((m7)[\\"b\\"] === 2))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(\\"b\\" in (m7))'\`)})((\\"b\\" in (m7)))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((\\"boom\\" in (m4)) === false)'\`)})(((\\"boom\\" in (m4)) === false))};
+ const empty_set = Object.freeze(new Set([]));
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(empty_set.size === 0)'\`)})((empty_set.size === 0))};
+ const empty_set2 = new Set([]);
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(empty_set2.size === 0)'\`)})((empty_set2.size === 0))};
+ const s2 = Object.freeze(new Set([1, 2, 3]));
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(s2.size === 3)'\`)})((s2.size === 3))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(s2.has(1))'\`)})((s2.has(1)))};
+ const s3 = Object.freeze(new Set([1, 2, 3]));
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(s3.size === 3)'\`)})((s3.size === 3))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(s3.has(1))'\`)})((s3.has(1)))};
+ const s4 = Object.freeze(new Set([1, 2, 3]));
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(s4.size === 3)'\`)})((s4.size === 3))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(s4.has(1))'\`)})((s4.has(1)))};
+ const s6 = Object.freeze(new Set([bucket1, bucket2, bucket3]));
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(s6.size === 3)'\`)})((s6.size === 3))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(s6.has(bucket2))'\`)})((s6.has(bucket2)))};
+ const s7 = s2;
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(s7.size === 3)'\`)})((s7.size === 3))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(s7.has(1))'\`)})((s7.has(1)))};
+}
+}
+new MyApp().synth();"
+`;
+
+exports[`enums.w > wing compile --target tf-aws > main.tf.json 1`] = `
+{
+ "//": {
+ "metadata": {
+ "backend": "local",
+ "stackName": "root",
+ "version": "0.15.2",
+ },
+ "outputs": {},
+ },
+ "provider": {
+ "aws": [
+ {},
+ ],
+ },
+}
+`;
+
+exports[`enums.w > wing compile --target tf-aws > preflight.js 1`] = `
+"const $stdlib = require('@winglang/sdk');
+const $outdir = process.env.WINGSDK_SYNTH_DIR ?? \\".\\";
+
+function __app(target) {
+ switch (target) {
+ case \\"sim\\":
+ return $stdlib.sim.App;
+ case \\"tfaws\\":
+ case \\"tf-aws\\":
+ return $stdlib.tfaws.App;
+ case \\"tf-gcp\\":
+ return $stdlib.tfgcp.App;
+ case \\"tf-azure\\":
+ return $stdlib.tfazure.App;
+ default:
+ throw new Error(\`Unknown WING_TARGET value: \\"\${process.env.WING_TARGET ?? \\"\\"}\\"\`);
+ }
+}
+const $App = __app(process.env.WING_TARGET);
+
+class MyApp extends $App {
+constructor() {
+ super({ outdir: $outdir, name: \\"enums\\", plugins: $plugins });
+
+ const SomeEnum = Object.freeze((function (SomeEnum) {
+ SomeEnum[SomeEnum[\\"ONE\\"] = 0] = \\"ONE\\";
+ SomeEnum[SomeEnum[\\"TWO\\"] = 1] = \\"TWO\\";
+ SomeEnum[SomeEnum[\\"THREE\\"] = 2] = \\"THREE\\";
+ return SomeEnum;
+ })({}));
+ const one = SomeEnum.ONE;
+ const two = SomeEnum.TWO;
+}
+}
+new MyApp().synth();"
+`;
+
+exports[`expressions_binary_operators.w > wing compile --target tf-aws > main.tf.json 1`] = `
+{
+ "//": {
+ "metadata": {
+ "backend": "local",
+ "stackName": "root",
+ "version": "0.15.2",
+ },
+ "outputs": {},
+ },
+ "provider": {
+ "aws": [
+ {},
+ ],
+ },
+}
+`;
+
+exports[`expressions_binary_operators.w > wing compile --target tf-aws > preflight.js 1`] = `
+"const $stdlib = require('@winglang/sdk');
+const $outdir = process.env.WINGSDK_SYNTH_DIR ?? \\".\\";
+
+function __app(target) {
+ switch (target) {
+ case \\"sim\\":
+ return $stdlib.sim.App;
+ case \\"tfaws\\":
+ case \\"tf-aws\\":
+ return $stdlib.tfaws.App;
+ case \\"tf-gcp\\":
+ return $stdlib.tfgcp.App;
+ case \\"tf-azure\\":
+ return $stdlib.tfazure.App;
+ default:
+ throw new Error(\`Unknown WING_TARGET value: \\"\${process.env.WING_TARGET ?? \\"\\"}\\"\`);
+ }
+}
+const $App = __app(process.env.WING_TARGET);
+
+class MyApp extends $App {
+constructor() {
+ super({ outdir: $outdir, name: \\"expressions_binary_operators\\", plugins: $plugins });
+
+ const x = (-1);
+ const y = (2 * x);
+ const z = ((x + y) - 1);
+ const xyz = (((y * y) / (x * x)) * z);
+ const xf = 1;
+ const yf = ((-20.22) * xf);
+ const zf = ((xf + yf) - (-0.01));
+ const fxzy = (5 ** (2 ** 3));
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(fxzy === 390625)'\`)})((fxzy === 390625))};
+ const xyzf = Math.trunc(501 / (99 + 1));
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(xyzf === 5)'\`)})((xyzf === 5))};
+ const xyznf = Math.trunc((-501) / (99 + 1));
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(xyznf === (-5))'\`)})((xyznf === (-5)))};
+ const xyznfj = Math.trunc(501.9 / ((-99.1) - 0.91));
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(xyznfj === (-5))'\`)})((xyznfj === (-5)))};
+ const xynfj = Math.trunc((-501.9) / ((-99.1) - 0.91));
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(xynfj === 5)'\`)})((xynfj === 5))};
+}
+}
+new MyApp().synth();"
+`;
+
+exports[`expressions_string_interpolation.w > wing compile --target tf-aws > main.tf.json 1`] = `
+{
+ "//": {
+ "metadata": {
+ "backend": "local",
+ "stackName": "root",
+ "version": "0.15.2",
+ },
+ "outputs": {},
+ },
+ "provider": {
+ "aws": [
+ {},
+ ],
+ },
+}
+`;
+
+exports[`expressions_string_interpolation.w > wing compile --target tf-aws > preflight.js 1`] = `
+"const $stdlib = require('@winglang/sdk');
+const $outdir = process.env.WINGSDK_SYNTH_DIR ?? \\".\\";
+
+function __app(target) {
+ switch (target) {
+ case \\"sim\\":
+ return $stdlib.sim.App;
+ case \\"tfaws\\":
+ case \\"tf-aws\\":
+ return $stdlib.tfaws.App;
+ case \\"tf-gcp\\":
+ return $stdlib.tfgcp.App;
+ case \\"tf-azure\\":
+ return $stdlib.tfazure.App;
+ default:
+ throw new Error(\`Unknown WING_TARGET value: \\"\${process.env.WING_TARGET ?? \\"\\"}\\"\`);
+ }
+}
+const $App = __app(process.env.WING_TARGET);
+
+class MyApp extends $App {
+constructor() {
+ super({ outdir: $outdir, name: \\"expressions_string_interpolation\\", plugins: $plugins });
+
+ const regular_string = \\"str\\\\n\\\\\\"\\";
+ const empty_string = \\"\\";
+ const number = 1;
+ const cool_string = \`cool \\\\\\"\\\\\${\${regular_string}}\\\\\\" test\`;
+ const really_cool_string = \`\${number}\${empty_string}\\\\n\${cool_string}\\\\n\\\\\${empty_string}\${\\"string-in-string\\"}!\`;
+ const begining_with_cool_strings = \`\${regular_string} \${number} <- cool\`;
+ const ending_with_cool_strings = \`cool -> \${regular_string} \${number}\`;
+}
+}
+new MyApp().synth();"
+`;
+
+exports[`file_counter.w > wing compile --target tf-aws > index.js 1`] = `
+"async handle(body) { const { bucket, counter } = this; {
+ const next = (await counter.inc());
+ const key = \`myfile-\${\\"hi\\"}.txt\`;
+ (await bucket.put(key,body));
+} };"
+`;
+
+exports[`file_counter.w > wing compile --target tf-aws > main.tf.json 1`] = `
+{
+ "//": {
+ "metadata": {
+ "backend": "local",
+ "stackName": "root",
+ "version": "0.15.2",
+ },
+ "outputs": {},
+ },
+ "provider": {
+ "aws": [
+ {},
+ ],
+ },
+ "resource": {
+ "aws_dynamodb_table": {
+ "root_cloudCounter_E0AC1263": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Counter/Default",
+ "uniqueId": "root_cloudCounter_E0AC1263",
+ },
+ },
+ "attribute": [
+ {
+ "name": "id",
+ "type": "S",
+ },
+ ],
+ "billing_mode": "PAY_PER_REQUEST",
+ "hash_key": "id",
+ "name": "wing-counter-cloud.Counter-c866f225",
+ },
+ },
+ "aws_iam_role": {
+ "root_cloudQueueOnMessagee46e5cb7_IamRole_D8F85094": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Queue-OnMessage-e46e5cb7/IamRole",
+ "uniqueId": "root_cloudQueueOnMessagee46e5cb7_IamRole_D8F85094",
+ },
+ },
+ "assume_role_policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":\\"sts:AssumeRole\\",\\"Principal\\":{\\"Service\\":\\"lambda.amazonaws.com\\"},\\"Effect\\":\\"Allow\\"}]}",
+ },
+ },
+ "aws_iam_role_policy": {
+ "root_cloudQueueOnMessagee46e5cb7_IamRolePolicy_99F6B872": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Queue-OnMessage-e46e5cb7/IamRolePolicy",
+ "uniqueId": "root_cloudQueueOnMessagee46e5cb7_IamRolePolicy_99F6B872",
+ },
+ },
+ "policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":[\\"sqs:ReceiveMessage\\",\\"sqs:ChangeMessageVisibility\\",\\"sqs:GetQueueUrl\\",\\"sqs:DeleteMessage\\",\\"sqs:GetQueueAttributes\\"],\\"Resource\\":\\"\${aws_sqs_queue.root_cloudQueue_E3597F7A.arn}\\",\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:PutObject*\\",\\"s3:Abort*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}\\",\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:GetObject*\\",\\"s3:GetBucket*\\",\\"s3:List*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}\\",\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:GetObject*\\",\\"s3:GetBucket*\\",\\"s3:List*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}\\",\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:DeleteObject*\\",\\"s3:DeleteObjectVersion*\\",\\"s3:PutLifecycleConfiguration*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}\\",\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"dynamodb:UpdateItem\\"],\\"Resource\\":\\"\${aws_dynamodb_table.root_cloudCounter_E0AC1263.arn}\\",\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"dynamodb:GetItem\\"],\\"Resource\\":\\"\${aws_dynamodb_table.root_cloudCounter_E0AC1263.arn}\\",\\"Effect\\":\\"Allow\\"}]}",
+ "role": "\${aws_iam_role.root_cloudQueueOnMessagee46e5cb7_IamRole_D8F85094.name}",
+ },
+ },
+ "aws_iam_role_policy_attachment": {
+ "root_cloudQueueOnMessagee46e5cb7_IamRolePolicyAttachment_D3D5C118": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Queue-OnMessage-e46e5cb7/IamRolePolicyAttachment",
+ "uniqueId": "root_cloudQueueOnMessagee46e5cb7_IamRolePolicyAttachment_D3D5C118",
+ },
+ },
+ "policy_arn": "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ "role": "\${aws_iam_role.root_cloudQueueOnMessagee46e5cb7_IamRole_D8F85094.name}",
+ },
+ },
+ "aws_lambda_event_source_mapping": {
+ "root_cloudQueue_EventSourceMapping_A2041279": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Queue/EventSourceMapping",
+ "uniqueId": "root_cloudQueue_EventSourceMapping_A2041279",
+ },
+ },
+ "batch_size": 1,
+ "event_source_arn": "\${aws_sqs_queue.root_cloudQueue_E3597F7A.arn}",
+ "function_name": "\${aws_lambda_function.root_cloudQueueOnMessagee46e5cb7_C394DE2A.function_name}",
+ },
+ },
+ "aws_lambda_function": {
+ "root_cloudQueueOnMessagee46e5cb7_C394DE2A": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Queue-OnMessage-e46e5cb7/Default",
+ "uniqueId": "root_cloudQueueOnMessagee46e5cb7_C394DE2A",
+ },
+ },
+ "environment": {
+ "variables": {
+ "BUCKET_NAME_d755b447": "\${aws_s3_bucket.root_cloudBucket_4F3C4F53.bucket}",
+ "DYNAMODB_TABLE_NAME_49baa65c": "\${aws_dynamodb_table.root_cloudCounter_E0AC1263.name}",
+ "WING_FUNCTION_NAME": "cloud-Queue-OnMessage-e46e5cb7-c86cd0c0",
+ },
+ },
+ "function_name": "cloud-Queue-OnMessage-e46e5cb7-c86cd0c0",
+ "handler": "index.handler",
+ "publish": true,
+ "role": "\${aws_iam_role.root_cloudQueueOnMessagee46e5cb7_IamRole_D8F85094.arn}",
+ "runtime": "nodejs16.x",
+ "s3_bucket": "\${aws_s3_bucket.root_cloudQueueOnMessagee46e5cb7_Code_A7B6C6A0.bucket}",
+ "s3_key": "\${aws_s3_object.root_cloudQueueOnMessagee46e5cb7_S3Object_E583CB6B.key}",
+ "timeout": 30,
+ },
+ },
+ "aws_s3_bucket": {
+ "root_cloudBucket_4F3C4F53": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Bucket/Default",
+ "uniqueId": "root_cloudBucket_4F3C4F53",
+ },
+ },
+ "bucket_prefix": "cloud-bucket-c87175e7-",
+ },
+ "root_cloudQueueOnMessagee46e5cb7_Code_A7B6C6A0": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Queue-OnMessage-e46e5cb7/Code",
+ "uniqueId": "root_cloudQueueOnMessagee46e5cb7_Code_A7B6C6A0",
+ },
+ },
+ "bucket_prefix": "code-c8b80a9a-",
+ },
+ },
+ "aws_s3_bucket_public_access_block": {
+ "root_cloudBucket_PublicAccessBlock_319C1C2E": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Bucket/PublicAccessBlock",
+ "uniqueId": "root_cloudBucket_PublicAccessBlock_319C1C2E",
+ },
+ },
+ "block_public_acls": true,
+ "block_public_policy": true,
+ "bucket": "\${aws_s3_bucket.root_cloudBucket_4F3C4F53.bucket}",
+ "ignore_public_acls": true,
+ "restrict_public_buckets": true,
+ },
+ },
+ "aws_s3_bucket_server_side_encryption_configuration": {
+ "root_cloudBucket_Encryption_8ED0CD9C": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Bucket/Encryption",
+ "uniqueId": "root_cloudBucket_Encryption_8ED0CD9C",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_cloudBucket_4F3C4F53.bucket}",
+ "rule": [
+ {
+ "apply_server_side_encryption_by_default": {
+ "sse_algorithm": "AES256",
+ },
+ },
+ ],
+ },
+ },
+ "aws_s3_object": {
+ "root_cloudQueueOnMessagee46e5cb7_S3Object_E583CB6B": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Queue-OnMessage-e46e5cb7/S3Object",
+ "uniqueId": "root_cloudQueueOnMessagee46e5cb7_S3Object_E583CB6B",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_cloudQueueOnMessagee46e5cb7_Code_A7B6C6A0.bucket}",
+ "key": "",
+ },
+ },
+ },
+}
+`;
+
+exports[`file_counter.w > wing compile --target tf-aws > preflight.js 1`] = `
+"const $stdlib = require('@winglang/sdk');
+const $outdir = process.env.WINGSDK_SYNTH_DIR ?? \\".\\";
+
+function __app(target) {
+ switch (target) {
+ case \\"sim\\":
+ return $stdlib.sim.App;
+ case \\"tfaws\\":
+ case \\"tf-aws\\":
+ return $stdlib.tfaws.App;
+ case \\"tf-gcp\\":
+ return $stdlib.tfgcp.App;
+ case \\"tf-azure\\":
+ return $stdlib.tfazure.App;
+ default:
+ throw new Error(\`Unknown WING_TARGET value: \\"\${process.env.WING_TARGET ?? \\"\\"}\\"\`);
+ }
+}
+const $App = __app(process.env.WING_TARGET);
+
+const cloud = require('@winglang/sdk').cloud;
+class MyApp extends $App {
+constructor() {
+ super({ outdir: $outdir, name: \\"file_counter\\", plugins: $plugins });
+
+ const bucket = this.node.root.newAbstract(\\"@winglang/sdk.cloud.Bucket\\",this,\\"cloud.Bucket\\");
+ const counter = this.node.root.newAbstract(\\"@winglang/sdk.cloud.Counter\\",this,\\"cloud.Counter\\",{ initial: 100 });
+ const queue = this.node.root.newAbstract(\\"@winglang/sdk.cloud.Queue\\",this,\\"cloud.Queue\\",{ timeout: $stdlib.std.Duration.fromSeconds(10) });
+ const handler = new $stdlib.core.Inflight(this, \\"$Inflight1\\", {
+ code: $stdlib.core.NodeJsCode.fromFile(require('path').resolve(__dirname, \\"proc.1ece6a476239c44d64d8b687b9e4389715198c49564defb8766e8b85b0f54620/index.js\\").replace(/\\\\\\\\/g, \\"/\\")),
+ bindings: {
+ bucket: {
+ obj: bucket,
+ ops: [\\"delete\\",\\"get\\",\\"get_json\\",\\"list\\",\\"put\\",\\"put_json\\"]
+ },
+ counter: {
+ obj: counter,
+ ops: [\\"dec\\",\\"inc\\",\\"peek\\",\\"reset\\"]
+ },
+ }
+ });
+ (queue.onMessage(handler));
+}
+}
+new MyApp().synth();"
+`;
+
+exports[`for_loop.w > wing compile --target tf-aws > main.tf.json 1`] = `
+{
+ "//": {
+ "metadata": {
+ "backend": "local",
+ "stackName": "root",
+ "version": "0.15.2",
+ },
+ "outputs": {},
+ },
+ "provider": {
+ "aws": [
+ {},
+ ],
+ },
+}
+`;
+
+exports[`for_loop.w > wing compile --target tf-aws > preflight.js 1`] = `
+"const $stdlib = require('@winglang/sdk');
+const $outdir = process.env.WINGSDK_SYNTH_DIR ?? \\".\\";
+
+function __app(target) {
+ switch (target) {
+ case \\"sim\\":
+ return $stdlib.sim.App;
+ case \\"tfaws\\":
+ case \\"tf-aws\\":
+ return $stdlib.tfaws.App;
+ case \\"tf-gcp\\":
+ return $stdlib.tfgcp.App;
+ case \\"tf-azure\\":
+ return $stdlib.tfazure.App;
+ default:
+ throw new Error(\`Unknown WING_TARGET value: \\"\${process.env.WING_TARGET ?? \\"\\"}\\"\`);
+ }
+}
+const $App = __app(process.env.WING_TARGET);
+
+class MyApp extends $App {
+constructor() {
+ super({ outdir: $outdir, name: \\"for_loop\\", plugins: $plugins });
+
+ const words = Object.freeze([\\"wing\\", \\"lang\\", \\"dang\\"]);
+ const unique_numbers = Object.freeze(new Set([1, 2, 3]));
+ for (const word of words) {
+ for (const number of unique_numbers) {
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(number > 0)'\`)})((number > 0))};
+ {console.log(\`\${word}: \${number}\`)};
+ }
+ }
+}
+}
+new MyApp().synth();"
+`;
+
+exports[`forward_decl.w > wing compile --target tf-aws > R.inflight.js 1`] = `
+"export class R_inflight {
+constructor({ f }) {
+
+ this.f = f;
+}
+}"
+`;
+
+exports[`forward_decl.w > wing compile --target tf-aws > main.tf.json 1`] = `
+{
+ "//": {
+ "metadata": {
+ "backend": "local",
+ "stackName": "root",
+ "version": "0.15.2",
+ },
+ "outputs": {},
+ },
+ "provider": {
+ "aws": [
+ {},
+ ],
+ },
+}
+`;
+
+exports[`forward_decl.w > wing compile --target tf-aws > preflight.js 1`] = `
+"const $stdlib = require('@winglang/sdk');
+const $outdir = process.env.WINGSDK_SYNTH_DIR ?? \\".\\";
+
+function __app(target) {
+ switch (target) {
+ case \\"sim\\":
+ return $stdlib.sim.App;
+ case \\"tfaws\\":
+ case \\"tf-aws\\":
+ return $stdlib.tfaws.App;
+ case \\"tf-gcp\\":
+ return $stdlib.tfgcp.App;
+ case \\"tf-azure\\":
+ return $stdlib.tfazure.App;
+ default:
+ throw new Error(\`Unknown WING_TARGET value: \\"\${process.env.WING_TARGET ?? \\"\\"}\\"\`);
+ }
+}
+const $App = __app(process.env.WING_TARGET);
+
+class MyApp extends $App {
+constructor() {
+ super({ outdir: $outdir, name: \\"forward_decl\\", plugins: $plugins });
+
+ class R extends $stdlib.core.Resource {
+ constructor(scope, id, ) {
+ super(scope, id);
+ {
+ }
+ }
+ method2() {
+ {
+ (this.method1());
+ {console.log(\`\${this.f}\`)};
+ (this.method2());
+ }
+ }
+ method1() {
+ {
+ }
+ }
+ _toInflight() {
+ const f_client = this._lift(this.f);
+ const self_client_path = require('path').resolve(__dirname, \\"clients/R.inflight.js\\").replace(/\\\\\\\\/g, \\"/\\");
+ return $stdlib.core.NodeJsCode.fromInline(\`(new (require(\\"\${self_client_path}\\")).R_inflight({f: \${f_client}}))\`);
+ }
+ }
+
+ const x = \\"hi\\";
+ if (true) {
+ {console.log(\`\${x}\`)};
+ const y = new R(this,\\"R\\");
+ }
+}
+}
+new MyApp().synth();"
+`;
+
+exports[`hello.w > wing compile --target tf-aws > index.js 1`] = `
+"async handle(message) { const { bucket } = this; {
+ (await bucket.put(\\"wing.txt\\",\`Hello, \${message}\`));
+} };"
+`;
+
+exports[`hello.w > wing compile --target tf-aws > main.tf.json 1`] = `
+{
+ "//": {
+ "metadata": {
+ "backend": "local",
+ "stackName": "root",
+ "version": "0.15.2",
+ },
+ "outputs": {},
+ },
+ "provider": {
+ "aws": [
+ {},
+ ],
+ },
+ "resource": {
+ "aws_iam_role": {
+ "root_cloudQueueOnMessagee46e5cb7_IamRole_D8F85094": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Queue-OnMessage-e46e5cb7/IamRole",
+ "uniqueId": "root_cloudQueueOnMessagee46e5cb7_IamRole_D8F85094",
+ },
+ },
+ "assume_role_policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":\\"sts:AssumeRole\\",\\"Principal\\":{\\"Service\\":\\"lambda.amazonaws.com\\"},\\"Effect\\":\\"Allow\\"}]}",
+ },
+ },
+ "aws_iam_role_policy": {
+ "root_cloudQueueOnMessagee46e5cb7_IamRolePolicy_99F6B872": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Queue-OnMessage-e46e5cb7/IamRolePolicy",
+ "uniqueId": "root_cloudQueueOnMessagee46e5cb7_IamRolePolicy_99F6B872",
+ },
+ },
+ "policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":[\\"sqs:ReceiveMessage\\",\\"sqs:ChangeMessageVisibility\\",\\"sqs:GetQueueUrl\\",\\"sqs:DeleteMessage\\",\\"sqs:GetQueueAttributes\\"],\\"Resource\\":\\"\${aws_sqs_queue.root_cloudQueue_E3597F7A.arn}\\",\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:PutObject*\\",\\"s3:Abort*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}\\",\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:GetObject*\\",\\"s3:GetBucket*\\",\\"s3:List*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}\\",\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:GetObject*\\",\\"s3:GetBucket*\\",\\"s3:List*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}\\",\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:DeleteObject*\\",\\"s3:DeleteObjectVersion*\\",\\"s3:PutLifecycleConfiguration*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}\\",\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}/*\\"],\\"Effect\\":\\"Allow\\"}]}",
+ "role": "\${aws_iam_role.root_cloudQueueOnMessagee46e5cb7_IamRole_D8F85094.name}",
+ },
+ },
+ "aws_iam_role_policy_attachment": {
+ "root_cloudQueueOnMessagee46e5cb7_IamRolePolicyAttachment_D3D5C118": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Queue-OnMessage-e46e5cb7/IamRolePolicyAttachment",
+ "uniqueId": "root_cloudQueueOnMessagee46e5cb7_IamRolePolicyAttachment_D3D5C118",
+ },
+ },
+ "policy_arn": "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ "role": "\${aws_iam_role.root_cloudQueueOnMessagee46e5cb7_IamRole_D8F85094.name}",
+ },
+ },
+ "aws_lambda_event_source_mapping": {
+ "root_cloudQueue_EventSourceMapping_A2041279": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Queue/EventSourceMapping",
+ "uniqueId": "root_cloudQueue_EventSourceMapping_A2041279",
+ },
+ },
+ "batch_size": 1,
+ "event_source_arn": "\${aws_sqs_queue.root_cloudQueue_E3597F7A.arn}",
+ "function_name": "\${aws_lambda_function.root_cloudQueueOnMessagee46e5cb7_C394DE2A.function_name}",
+ },
+ },
+ "aws_lambda_function": {
+ "root_cloudQueueOnMessagee46e5cb7_C394DE2A": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Queue-OnMessage-e46e5cb7/Default",
+ "uniqueId": "root_cloudQueueOnMessagee46e5cb7_C394DE2A",
+ },
+ },
+ "environment": {
+ "variables": {
+ "BUCKET_NAME_d755b447": "\${aws_s3_bucket.root_cloudBucket_4F3C4F53.bucket}",
+ "WING_FUNCTION_NAME": "cloud-Queue-OnMessage-e46e5cb7-c86cd0c0",
+ },
+ },
+ "function_name": "cloud-Queue-OnMessage-e46e5cb7-c86cd0c0",
+ "handler": "index.handler",
+ "publish": true,
+ "role": "\${aws_iam_role.root_cloudQueueOnMessagee46e5cb7_IamRole_D8F85094.arn}",
+ "runtime": "nodejs16.x",
+ "s3_bucket": "\${aws_s3_bucket.root_cloudQueueOnMessagee46e5cb7_Code_A7B6C6A0.bucket}",
+ "s3_key": "\${aws_s3_object.root_cloudQueueOnMessagee46e5cb7_S3Object_E583CB6B.key}",
+ "timeout": 30,
+ },
+ },
+ "aws_s3_bucket": {
+ "root_cloudBucket_4F3C4F53": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Bucket/Default",
+ "uniqueId": "root_cloudBucket_4F3C4F53",
+ },
+ },
+ "bucket_prefix": "cloud-bucket-c87175e7-",
+ },
+ "root_cloudQueueOnMessagee46e5cb7_Code_A7B6C6A0": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Queue-OnMessage-e46e5cb7/Code",
+ "uniqueId": "root_cloudQueueOnMessagee46e5cb7_Code_A7B6C6A0",
+ },
+ },
+ "bucket_prefix": "code-c8b80a9a-",
+ },
+ },
+ "aws_s3_bucket_public_access_block": {
+ "root_cloudBucket_PublicAccessBlock_319C1C2E": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Bucket/PublicAccessBlock",
+ "uniqueId": "root_cloudBucket_PublicAccessBlock_319C1C2E",
+ },
+ },
+ "block_public_acls": true,
+ "block_public_policy": true,
+ "bucket": "\${aws_s3_bucket.root_cloudBucket_4F3C4F53.bucket}",
+ "ignore_public_acls": true,
+ "restrict_public_buckets": true,
+ },
+ },
+ "aws_s3_bucket_server_side_encryption_configuration": {
+ "root_cloudBucket_Encryption_8ED0CD9C": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Bucket/Encryption",
+ "uniqueId": "root_cloudBucket_Encryption_8ED0CD9C",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_cloudBucket_4F3C4F53.bucket}",
+ "rule": [
+ {
+ "apply_server_side_encryption_by_default": {
+ "sse_algorithm": "AES256",
+ },
+ },
+ ],
+ },
+ },
+ "aws_s3_object": {
+ "root_cloudQueueOnMessagee46e5cb7_S3Object_E583CB6B": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Queue-OnMessage-e46e5cb7/S3Object",
+ "uniqueId": "root_cloudQueueOnMessagee46e5cb7_S3Object_E583CB6B",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_cloudQueueOnMessagee46e5cb7_Code_A7B6C6A0.bucket}",
+ "key": "",
+ },
+ },
+ },
+}
+`;
+
+exports[`hello.w > wing compile --target tf-aws > preflight.js 1`] = `
+"const $stdlib = require('@winglang/sdk');
+const $outdir = process.env.WINGSDK_SYNTH_DIR ?? \\".\\";
+
+function __app(target) {
+ switch (target) {
+ case \\"sim\\":
+ return $stdlib.sim.App;
+ case \\"tfaws\\":
+ case \\"tf-aws\\":
+ return $stdlib.tfaws.App;
+ case \\"tf-gcp\\":
+ return $stdlib.tfgcp.App;
+ case \\"tf-azure\\":
+ return $stdlib.tfazure.App;
+ default:
+ throw new Error(\`Unknown WING_TARGET value: \\"\${process.env.WING_TARGET ?? \\"\\"}\\"\`);
+ }
+}
+const $App = __app(process.env.WING_TARGET);
+
+const cloud = require('@winglang/sdk').cloud;
+class MyApp extends $App {
+constructor() {
+ super({ outdir: $outdir, name: \\"hello\\", plugins: $plugins });
+
+ const bucket = this.node.root.newAbstract(\\"@winglang/sdk.cloud.Bucket\\",this,\\"cloud.Bucket\\");
+ const queue = this.node.root.newAbstract(\\"@winglang/sdk.cloud.Queue\\",this,\\"cloud.Queue\\");
+ (queue.onMessage(new $stdlib.core.Inflight(this, \\"$Inflight1\\", {
+ code: $stdlib.core.NodeJsCode.fromFile(require('path').resolve(__dirname, \\"proc.211d46e8ec3b5ce3e93872fcb29755356fb3566f5016eae5fcd6ec0f670ab580/index.js\\").replace(/\\\\\\\\/g, \\"/\\")),
+ bindings: {
+ bucket: {
+ obj: bucket,
+ ops: [\\"delete\\",\\"get\\",\\"get_json\\",\\"list\\",\\"put\\",\\"put_json\\"]
+ },
+ }
+ })));
+}
+}
+new MyApp().synth();"
+`;
+
+exports[`identical_inflights.w > wing compile --target tf-aws > index.js 1`] = `
+"async handle() { const { } = this; {
+} };"
+`;
+
+exports[`identical_inflights.w > wing compile --target tf-aws > main.tf.json 1`] = `
+{
+ "//": {
+ "metadata": {
+ "backend": "local",
+ "stackName": "root",
+ "version": "0.15.2",
+ },
+ "outputs": {},
+ },
+ "provider": {
+ "aws": [
+ {},
+ ],
+ },
+}
+`;
+
+exports[`identical_inflights.w > wing compile --target tf-aws > preflight.js 1`] = `
+"const $stdlib = require('@winglang/sdk');
+const $outdir = process.env.WINGSDK_SYNTH_DIR ?? \\".\\";
+
+function __app(target) {
+ switch (target) {
+ case \\"sim\\":
+ return $stdlib.sim.App;
+ case \\"tfaws\\":
+ case \\"tf-aws\\":
+ return $stdlib.tfaws.App;
+ case \\"tf-gcp\\":
+ return $stdlib.tfgcp.App;
+ case \\"tf-azure\\":
+ return $stdlib.tfazure.App;
+ default:
+ throw new Error(\`Unknown WING_TARGET value: \\"\${process.env.WING_TARGET ?? \\"\\"}\\"\`);
+ }
+}
+const $App = __app(process.env.WING_TARGET);
+
+class MyApp extends $App {
+constructor() {
+ super({ outdir: $outdir, name: \\"identical_inflights\\", plugins: $plugins });
+
+ const x = new $stdlib.core.Inflight(this, \\"$Inflight1\\", {
+ code: $stdlib.core.NodeJsCode.fromFile(require('path').resolve(__dirname, \\"proc.8eb95bcbc154530931e15fc418c8b1fe991095671409552099ea1aa596999ede/index.js\\").replace(/\\\\\\\\/g, \\"/\\")),
+ bindings: {
+ }
+ });
+ const y = new $stdlib.core.Inflight(this, \\"$Inflight2\\", {
+ code: $stdlib.core.NodeJsCode.fromFile(require('path').resolve(__dirname, \\"proc.8eb95bcbc154530931e15fc418c8b1fe991095671409552099ea1aa596999ede/index.js\\").replace(/\\\\\\\\/g, \\"/\\")),
+ bindings: {
+ }
+ });
+}
+}
+new MyApp().synth();"
+`;
+
+exports[`impl_interface.w > wing compile --target tf-aws > A.inflight.js 1`] = `
+"export class A_inflight {
+constructor({ }) {
+
+
+}
+async handle(msg) {
+ {
+ return;
+}
+}}"
+`;
+
+exports[`impl_interface.w > wing compile --target tf-aws > B.inflight.js 1`] = `
+"export class B_inflight {
+constructor({ }) {
+
+
+}
+async handle(msg) {
+ {
+ return 5;
+}
+}}"
+`;
+
+exports[`impl_interface.w > wing compile --target tf-aws > main.tf.json 1`] = `
+{
+ "//": {
+ "metadata": {
+ "backend": "local",
+ "stackName": "root",
+ "version": "0.15.2",
+ },
+ "outputs": {},
+ },
+ "provider": {
+ "aws": [
+ {},
+ ],
+ },
+}
+`;
+
+exports[`impl_interface.w > wing compile --target tf-aws > preflight.js 1`] = `
+"const $stdlib = require('@winglang/sdk');
+const $outdir = process.env.WINGSDK_SYNTH_DIR ?? \\".\\";
+
+function __app(target) {
+ switch (target) {
+ case \\"sim\\":
+ return $stdlib.sim.App;
+ case \\"tfaws\\":
+ case \\"tf-aws\\":
+ return $stdlib.tfaws.App;
+ case \\"tf-gcp\\":
+ return $stdlib.tfgcp.App;
+ case \\"tf-azure\\":
+ return $stdlib.tfazure.App;
+ default:
+ throw new Error(\`Unknown WING_TARGET value: \\"\${process.env.WING_TARGET ?? \\"\\"}\\"\`);
+ }
+}
+const $App = __app(process.env.WING_TARGET);
+
+const cloud = require('@winglang/sdk').cloud;
+class MyApp extends $App {
+constructor() {
+ super({ outdir: $outdir, name: \\"impl_interface\\", plugins: $plugins });
+
+ class A extends $stdlib.core.Resource {
+ constructor(scope, id, ) {
+ super(scope, id);
+ {
+ }
+ }
+
+ _toInflight() {
+
+ const self_client_path = require('path').resolve(__dirname, \\"clients/A.inflight.js\\").replace(/\\\\\\\\/g, \\"/\\");
+ return $stdlib.core.NodeJsCode.fromInline(\`(new (require(\\"\${self_client_path}\\")).A_inflight({}))\`);
+ }
+ }
+ A._annotateInflight(\\"handle\\", {});
+ class B extends $stdlib.core.Resource {
+ constructor(scope, id, ) {
+ super(scope, id);
+ {
+ }
+ }
+
+ _toInflight() {
+
+ const self_client_path = require('path').resolve(__dirname, \\"clients/B.inflight.js\\").replace(/\\\\\\\\/g, \\"/\\");
+ return $stdlib.core.NodeJsCode.fromInline(\`(new (require(\\"\${self_client_path}\\")).B_inflight({}))\`);
+ }
+ }
+ B._annotateInflight(\\"handle\\", {});
+}
+}
+new MyApp().synth();"
+`;
+
+exports[`inflight_ref_external.w > wing compile --target tf-aws > Test.inflight.js 1`] = `
+"export class Test_inflight {
+constructor({ b, n }) {
+
+ this.b = b;
+ this.n = n;
+}
+async test() {
+ {
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((await this.b.list()).length === 0)'\`)})(((await this.b.list()).length === 0))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(this.n === 12)'\`)})((this.n === 12))};
+}
+}}"
+`;
+
+exports[`inflight_ref_external.w > wing compile --target tf-aws > index.js 1`] = `
+"async handle() { const { f } = this; {
+ (await f.test());
+} };"
+`;
+
+exports[`inflight_ref_external.w > wing compile --target tf-aws > main.tf.json 1`] = `
+{
+ "//": {
+ "metadata": {
+ "backend": "local",
+ "stackName": "root",
+ "version": "0.15.2",
+ },
+ "outputs": {},
+ },
+ "provider": {
+ "aws": [
+ {},
+ ],
+ },
+ "resource": {
+ "aws_iam_role": {
+ "root_test_IamRole_6CDC2D16": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/IamRole",
+ "uniqueId": "root_test_IamRole_6CDC2D16",
+ },
+ },
+ "assume_role_policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":\\"sts:AssumeRole\\",\\"Principal\\":{\\"Service\\":\\"lambda.amazonaws.com\\"},\\"Effect\\":\\"Allow\\"}]}",
+ },
+ },
+ "aws_iam_role_policy": {
+ "root_test_IamRolePolicy_474A6820": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/IamRolePolicy",
+ "uniqueId": "root_test_IamRolePolicy_474A6820",
+ },
+ },
+ "policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":[\\"s3:GetObject*\\",\\"s3:GetBucket*\\",\\"s3:List*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}\\",\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}/*\\"],\\"Effect\\":\\"Allow\\"}]}",
+ "role": "\${aws_iam_role.root_test_IamRole_6CDC2D16.name}",
+ },
+ },
+ "aws_iam_role_policy_attachment": {
+ "root_test_IamRolePolicyAttachment_1102A28A": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/IamRolePolicyAttachment",
+ "uniqueId": "root_test_IamRolePolicyAttachment_1102A28A",
+ },
+ },
+ "policy_arn": "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ "role": "\${aws_iam_role.root_test_IamRole_6CDC2D16.name}",
+ },
+ },
+ "aws_lambda_function": {
+ "root_test_AAE85061": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/Default",
+ "uniqueId": "root_test_AAE85061",
+ },
+ },
+ "environment": {
+ "variables": {
+ "BUCKET_NAME_d755b447": "\${aws_s3_bucket.root_cloudBucket_4F3C4F53.bucket}",
+ "WING_FUNCTION_NAME": "test-c8b6eece",
+ },
+ },
+ "function_name": "test-c8b6eece",
+ "handler": "index.handler",
+ "publish": true,
+ "role": "\${aws_iam_role.root_test_IamRole_6CDC2D16.arn}",
+ "runtime": "nodejs16.x",
+ "s3_bucket": "\${aws_s3_bucket.root_test_Code_2D131EC2.bucket}",
+ "s3_key": "\${aws_s3_object.root_test_S3Object_A16CD789.key}",
+ "timeout": 30,
+ },
+ },
+ "aws_s3_bucket": {
+ "root_cloudBucket_4F3C4F53": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Bucket/Default",
+ "uniqueId": "root_cloudBucket_4F3C4F53",
+ },
+ },
+ "bucket_prefix": "cloud-bucket-c87175e7-",
+ },
+ "root_test_Code_2D131EC2": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/Code",
+ "uniqueId": "root_test_Code_2D131EC2",
+ },
+ },
+ "bucket_prefix": "code-c883c33b-",
+ },
+ },
+ "aws_s3_bucket_public_access_block": {
+ "root_cloudBucket_PublicAccessBlock_319C1C2E": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Bucket/PublicAccessBlock",
+ "uniqueId": "root_cloudBucket_PublicAccessBlock_319C1C2E",
+ },
+ },
+ "block_public_acls": true,
+ "block_public_policy": true,
+ "bucket": "\${aws_s3_bucket.root_cloudBucket_4F3C4F53.bucket}",
+ "ignore_public_acls": true,
+ "restrict_public_buckets": true,
+ },
+ },
+ "aws_s3_bucket_server_side_encryption_configuration": {
+ "root_cloudBucket_Encryption_8ED0CD9C": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Bucket/Encryption",
+ "uniqueId": "root_cloudBucket_Encryption_8ED0CD9C",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_cloudBucket_4F3C4F53.bucket}",
+ "rule": [
+ {
+ "apply_server_side_encryption_by_default": {
+ "sse_algorithm": "AES256",
+ },
+ },
+ ],
+ },
+ },
+ "aws_s3_object": {
+ "root_test_S3Object_A16CD789": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/S3Object",
+ "uniqueId": "root_test_S3Object_A16CD789",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_test_Code_2D131EC2.bucket}",
+ "key": "",
+ },
+ },
+ },
+}
+`;
+
+exports[`inflight_ref_external.w > wing compile --target tf-aws > preflight.js 1`] = `
+"const $stdlib = require('@winglang/sdk');
+const $outdir = process.env.WINGSDK_SYNTH_DIR ?? \\".\\";
+
+function __app(target) {
+ switch (target) {
+ case \\"sim\\":
+ return $stdlib.sim.App;
+ case \\"tfaws\\":
+ case \\"tf-aws\\":
+ return $stdlib.tfaws.App;
+ case \\"tf-gcp\\":
+ return $stdlib.tfgcp.App;
+ case \\"tf-azure\\":
+ return $stdlib.tfazure.App;
+ default:
+ throw new Error(\`Unknown WING_TARGET value: \\"\${process.env.WING_TARGET ?? \\"\\"}\\"\`);
+ }
+}
+const $App = __app(process.env.WING_TARGET);
+
+const cloud = require('@winglang/sdk').cloud;
+class MyApp extends $App {
+constructor() {
+ super({ outdir: $outdir, name: \\"inflight_ref_external\\", plugins: $plugins });
+
+ class Test extends $stdlib.core.Resource {
+ constructor(scope, id, b, n) {
+ super(scope, id);
+ {
+ this.b = b;
+ this.n = n;
+ }
+ }
+
+ _toInflight() {
+ const b_client = this._lift(this.b);
+ const n_client = this._lift(this.n);
+ const self_client_path = require('path').resolve(__dirname, \\"clients/Test.inflight.js\\").replace(/\\\\\\\\/g, \\"/\\");
+ return $stdlib.core.NodeJsCode.fromInline(\`(new (require(\\"\${self_client_path}\\")).Test_inflight({b: \${b_client}, n: \${n_client}}))\`);
+ }
+ }
+ Test._annotateInflight(\\"test\\", {\\"this.b\\": { ops: [\\"list\\"] },\\"this.n\\": { ops: [] }});
+ const my = this.node.root.newAbstract(\\"@winglang/sdk.cloud.Bucket\\",this,\\"cloud.Bucket\\");
+ const f = new Test(this,\\"Test\\",my,12);
+ this.node.root.newAbstract(\\"@winglang/sdk.cloud.Function\\",this,\\"test\\",new $stdlib.core.Inflight(this, \\"$Inflight1\\", {
+ code: $stdlib.core.NodeJsCode.fromFile(require('path').resolve(__dirname, \\"proc.80a17b6f758da66f2a7690bf5a9478936a9921da3421819b7a8bf7e1cfde82ed/index.js\\").replace(/\\\\\\\\/g, \\"/\\")),
+ bindings: {
+ f: {
+ obj: f,
+ ops: [\\"test\\"]
+ },
+ }
+ }));
+}
+}
+new MyApp().synth();"
+`;
+
+exports[`inflight_ref_inflight_field.w > wing compile --target tf-aws > Foo.inflight.js 1`] = `
+"export class Foo_inflight {
+constructor({ }) {
+
+
+}
+async set_field(v) {
+ {
+ this.inflight_field = (v * 10);
+}
+}
+async get_field() {
+ {
+ return this.inflight_field;
+}
+}}"
+`;
+
+exports[`inflight_ref_inflight_field.w > wing compile --target tf-aws > index.js 1`] = `
+"async handle() { const { f } = this; {
+ (await f.set_field(123));
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((await f.get_field()) === 1230)'\`)})(((await f.get_field()) === 1230))};
+} };"
+`;
+
+exports[`inflight_ref_inflight_field.w > wing compile --target tf-aws > main.tf.json 1`] = `
+{
+ "//": {
+ "metadata": {
+ "backend": "local",
+ "stackName": "root",
+ "version": "0.15.2",
+ },
+ "outputs": {},
+ },
+ "provider": {
+ "aws": [
+ {},
+ ],
+ },
+ "resource": {
+ "aws_iam_role": {
+ "root_test_IamRole_6CDC2D16": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/IamRole",
+ "uniqueId": "root_test_IamRole_6CDC2D16",
+ },
+ },
+ "assume_role_policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":\\"sts:AssumeRole\\",\\"Principal\\":{\\"Service\\":\\"lambda.amazonaws.com\\"},\\"Effect\\":\\"Allow\\"}]}",
+ },
+ },
+ "aws_iam_role_policy": {
+ "root_test_IamRolePolicy_474A6820": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/IamRolePolicy",
+ "uniqueId": "root_test_IamRolePolicy_474A6820",
+ },
+ },
+ "policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Effect\\":\\"Allow\\",\\"Action\\":\\"none:null\\",\\"Resource\\":\\"*\\"}]}",
+ "role": "\${aws_iam_role.root_test_IamRole_6CDC2D16.name}",
+ },
+ },
+ "aws_iam_role_policy_attachment": {
+ "root_test_IamRolePolicyAttachment_1102A28A": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/IamRolePolicyAttachment",
+ "uniqueId": "root_test_IamRolePolicyAttachment_1102A28A",
+ },
+ },
+ "policy_arn": "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ "role": "\${aws_iam_role.root_test_IamRole_6CDC2D16.name}",
+ },
+ },
+ "aws_lambda_function": {
+ "root_test_AAE85061": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/Default",
+ "uniqueId": "root_test_AAE85061",
+ },
+ },
+ "environment": {
+ "variables": {
+ "WING_FUNCTION_NAME": "test-c8b6eece",
+ },
+ },
+ "function_name": "test-c8b6eece",
+ "handler": "index.handler",
+ "publish": true,
+ "role": "\${aws_iam_role.root_test_IamRole_6CDC2D16.arn}",
+ "runtime": "nodejs16.x",
+ "s3_bucket": "\${aws_s3_bucket.root_test_Code_2D131EC2.bucket}",
+ "s3_key": "\${aws_s3_object.root_test_S3Object_A16CD789.key}",
+ "timeout": 30,
+ },
+ },
+ "aws_s3_bucket": {
+ "root_test_Code_2D131EC2": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/Code",
+ "uniqueId": "root_test_Code_2D131EC2",
+ },
+ },
+ "bucket_prefix": "code-c883c33b-",
+ },
+ },
+ "aws_s3_object": {
+ "root_test_S3Object_A16CD789": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/S3Object",
+ "uniqueId": "root_test_S3Object_A16CD789",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_test_Code_2D131EC2.bucket}",
+ "key": "",
+ },
+ },
+ },
+}
+`;
+
+exports[`inflight_ref_inflight_field.w > wing compile --target tf-aws > preflight.js 1`] = `
+"const $stdlib = require('@winglang/sdk');
+const $outdir = process.env.WINGSDK_SYNTH_DIR ?? \\".\\";
+
+function __app(target) {
+ switch (target) {
+ case \\"sim\\":
+ return $stdlib.sim.App;
+ case \\"tfaws\\":
+ case \\"tf-aws\\":
+ return $stdlib.tfaws.App;
+ case \\"tf-gcp\\":
+ return $stdlib.tfgcp.App;
+ case \\"tf-azure\\":
+ return $stdlib.tfazure.App;
+ default:
+ throw new Error(\`Unknown WING_TARGET value: \\"\${process.env.WING_TARGET ?? \\"\\"}\\"\`);
+ }
+}
+const $App = __app(process.env.WING_TARGET);
+
+const cloud = require('@winglang/sdk').cloud;
+class MyApp extends $App {
+constructor() {
+ super({ outdir: $outdir, name: \\"inflight_ref_inflight_field\\", plugins: $plugins });
+
+ class Foo extends $stdlib.core.Resource {
+ constructor(scope, id, ) {
+ super(scope, id);
+ {
+ }
+ }
+
+ _toInflight() {
+
+ const self_client_path = require('path').resolve(__dirname, \\"clients/Foo.inflight.js\\").replace(/\\\\\\\\/g, \\"/\\");
+ return $stdlib.core.NodeJsCode.fromInline(\`(new (require(\\"\${self_client_path}\\")).Foo_inflight({}))\`);
+ }
+ }
+ Foo._annotateInflight(\\"set_field\\", {});
+ Foo._annotateInflight(\\"get_field\\", {});
+ const f = new Foo(this,\\"Foo\\");
+ this.node.root.newAbstract(\\"@winglang/sdk.cloud.Function\\",this,\\"test\\",new $stdlib.core.Inflight(this, \\"$Inflight1\\", {
+ code: $stdlib.core.NodeJsCode.fromFile(require('path').resolve(__dirname, \\"proc.ef866f1d1f55245bd0673c32e84f0500ca60a72f43baa3d446a83445a7f65861/index.js\\").replace(/\\\\\\\\/g, \\"/\\")),
+ bindings: {
+ f: {
+ obj: f,
+ ops: [\\"get_field\\",\\"set_field\\"]
+ },
+ }
+ }));
+}
+}
+new MyApp().synth();"
+`;
+
+exports[`inflight_ref_primitive.w > wing compile --target tf-aws > Test.inflight.js 1`] = `
+"export class Test_inflight {
+constructor({ my_arr, my_num, my_str }) {
+
+ this.my_arr = my_arr;
+ this.my_num = my_num;
+ this.my_str = my_str;
+}
+async test() {
+ {
+ const y = (this.my_num + 456);
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(y === 579)'\`)})((y === 579))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(this.my_str === \\"hello\\")'\`)})((this.my_str === \\"hello\\"))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((await this.my_arr.at(1)) === \\"bing\\")'\`)})(((await this.my_arr.at(1)) === \\"bing\\"))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(this.my_arr.length === 2)'\`)})((this.my_arr.length === 2))};
+}
+}}"
+`;
+
+exports[`inflight_ref_primitive.w > wing compile --target tf-aws > index.js 1`] = `
+"async handle() { const { f } = this; {
+ (await f.test());
+} };"
+`;
+
+exports[`inflight_ref_primitive.w > wing compile --target tf-aws > main.tf.json 1`] = `
+{
+ "//": {
+ "metadata": {
+ "backend": "local",
+ "stackName": "root",
+ "version": "0.15.2",
+ },
+ "outputs": {},
+ },
+ "provider": {
+ "aws": [
+ {},
+ ],
+ },
+ "resource": {
+ "aws_iam_role": {
+ "root_test_IamRole_6CDC2D16": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/IamRole",
+ "uniqueId": "root_test_IamRole_6CDC2D16",
+ },
+ },
+ "assume_role_policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":\\"sts:AssumeRole\\",\\"Principal\\":{\\"Service\\":\\"lambda.amazonaws.com\\"},\\"Effect\\":\\"Allow\\"}]}",
+ },
+ },
+ "aws_iam_role_policy": {
+ "root_test_IamRolePolicy_474A6820": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/IamRolePolicy",
+ "uniqueId": "root_test_IamRolePolicy_474A6820",
+ },
+ },
+ "policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Effect\\":\\"Allow\\",\\"Action\\":\\"none:null\\",\\"Resource\\":\\"*\\"}]}",
+ "role": "\${aws_iam_role.root_test_IamRole_6CDC2D16.name}",
+ },
+ },
+ "aws_iam_role_policy_attachment": {
+ "root_test_IamRolePolicyAttachment_1102A28A": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/IamRolePolicyAttachment",
+ "uniqueId": "root_test_IamRolePolicyAttachment_1102A28A",
+ },
+ },
+ "policy_arn": "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ "role": "\${aws_iam_role.root_test_IamRole_6CDC2D16.name}",
+ },
+ },
+ "aws_lambda_function": {
+ "root_test_AAE85061": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/Default",
+ "uniqueId": "root_test_AAE85061",
+ },
+ },
+ "environment": {
+ "variables": {
+ "WING_FUNCTION_NAME": "test-c8b6eece",
+ },
+ },
+ "function_name": "test-c8b6eece",
+ "handler": "index.handler",
+ "publish": true,
+ "role": "\${aws_iam_role.root_test_IamRole_6CDC2D16.arn}",
+ "runtime": "nodejs16.x",
+ "s3_bucket": "\${aws_s3_bucket.root_test_Code_2D131EC2.bucket}",
+ "s3_key": "\${aws_s3_object.root_test_S3Object_A16CD789.key}",
+ "timeout": 30,
+ },
+ },
+ "aws_s3_bucket": {
+ "root_test_Code_2D131EC2": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/Code",
+ "uniqueId": "root_test_Code_2D131EC2",
+ },
+ },
+ "bucket_prefix": "code-c883c33b-",
+ },
+ },
+ "aws_s3_object": {
+ "root_test_S3Object_A16CD789": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/S3Object",
+ "uniqueId": "root_test_S3Object_A16CD789",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_test_Code_2D131EC2.bucket}",
+ "key": "",
+ },
+ },
+ },
+}
+`;
+
+exports[`inflight_ref_primitive.w > wing compile --target tf-aws > preflight.js 1`] = `
+"const $stdlib = require('@winglang/sdk');
+const $outdir = process.env.WINGSDK_SYNTH_DIR ?? \\".\\";
+
+function __app(target) {
+ switch (target) {
+ case \\"sim\\":
+ return $stdlib.sim.App;
+ case \\"tfaws\\":
+ case \\"tf-aws\\":
+ return $stdlib.tfaws.App;
+ case \\"tf-gcp\\":
+ return $stdlib.tfgcp.App;
+ case \\"tf-azure\\":
+ return $stdlib.tfazure.App;
+ default:
+ throw new Error(\`Unknown WING_TARGET value: \\"\${process.env.WING_TARGET ?? \\"\\"}\\"\`);
+ }
+}
+const $App = __app(process.env.WING_TARGET);
+
+const cloud = require('@winglang/sdk').cloud;
+class MyApp extends $App {
+constructor() {
+ super({ outdir: $outdir, name: \\"inflight_ref_primitive\\", plugins: $plugins });
+
+ class Test extends $stdlib.core.Resource {
+ constructor(scope, id, ) {
+ super(scope, id);
+ {
+ this.my_str = \\"hello\\";
+ this.my_num = 123;
+ this.my_arr = Object.freeze([\\"bang\\", \\"bing\\"]);
+ }
+ }
+
+ _toInflight() {
+ const my_arr_client = this._lift(this.my_arr);
+ const my_num_client = this._lift(this.my_num);
+ const my_str_client = this._lift(this.my_str);
+ const self_client_path = require('path').resolve(__dirname, \\"clients/Test.inflight.js\\").replace(/\\\\\\\\/g, \\"/\\");
+ return $stdlib.core.NodeJsCode.fromInline(\`(new (require(\\"\${self_client_path}\\")).Test_inflight({my_arr: \${my_arr_client}, my_num: \${my_num_client}, my_str: \${my_str_client}}))\`);
+ }
+ }
+ Test._annotateInflight(\\"test\\", {\\"this.my_arr\\": { ops: [\\"at\\",\\"length\\"] },\\"this.my_num\\": { ops: [] },\\"this.my_str\\": { ops: [] }});
+ const f = new Test(this,\\"Test\\");
+ this.node.root.newAbstract(\\"@winglang/sdk.cloud.Function\\",this,\\"test\\",new $stdlib.core.Inflight(this, \\"$Inflight1\\", {
+ code: $stdlib.core.NodeJsCode.fromFile(require('path').resolve(__dirname, \\"proc.80a17b6f758da66f2a7690bf5a9478936a9921da3421819b7a8bf7e1cfde82ed/index.js\\").replace(/\\\\\\\\/g, \\"/\\")),
+ bindings: {
+ f: {
+ obj: f,
+ ops: [\\"test\\"]
+ },
+ }
+ }));
+}
+}
+new MyApp().synth();"
+`;
+
+exports[`inflight_ref_resource.w > wing compile --target tf-aws > Test.inflight.js 1`] = `
+"export class Test_inflight {
+constructor({ b }) {
+
+ this.b = b;
+}
+async test() {
+ {
+ (await this.b.put(\\"hello\\",\\"world\\"));
+}
+}}"
+`;
+
+exports[`inflight_ref_resource.w > wing compile --target tf-aws > index.js 1`] = `
+"async handle() { const { f } = this; {
+ (await f.test());
+} };"
+`;
+
+exports[`inflight_ref_resource.w > wing compile --target tf-aws > main.tf.json 1`] = `
+{
+ "//": {
+ "metadata": {
+ "backend": "local",
+ "stackName": "root",
+ "version": "0.15.2",
+ },
+ "outputs": {},
+ },
+ "provider": {
+ "aws": [
+ {},
+ ],
+ },
+ "resource": {
+ "aws_iam_role": {
+ "root_test_IamRole_6CDC2D16": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/IamRole",
+ "uniqueId": "root_test_IamRole_6CDC2D16",
+ },
+ },
+ "assume_role_policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":\\"sts:AssumeRole\\",\\"Principal\\":{\\"Service\\":\\"lambda.amazonaws.com\\"},\\"Effect\\":\\"Allow\\"}]}",
+ },
+ },
+ "aws_iam_role_policy": {
+ "root_test_IamRolePolicy_474A6820": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/IamRolePolicy",
+ "uniqueId": "root_test_IamRolePolicy_474A6820",
+ },
+ },
+ "policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":[\\"s3:PutObject*\\",\\"s3:Abort*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_Test_cloudBucket_8208F150.arn}\\",\\"\${aws_s3_bucket.root_Test_cloudBucket_8208F150.arn}/*\\"],\\"Effect\\":\\"Allow\\"}]}",
+ "role": "\${aws_iam_role.root_test_IamRole_6CDC2D16.name}",
+ },
+ },
+ "aws_iam_role_policy_attachment": {
+ "root_test_IamRolePolicyAttachment_1102A28A": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/IamRolePolicyAttachment",
+ "uniqueId": "root_test_IamRolePolicyAttachment_1102A28A",
+ },
+ },
+ "policy_arn": "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ "role": "\${aws_iam_role.root_test_IamRole_6CDC2D16.name}",
+ },
+ },
+ "aws_lambda_function": {
+ "root_test_AAE85061": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/Default",
+ "uniqueId": "root_test_AAE85061",
+ },
+ },
+ "environment": {
+ "variables": {
+ "BUCKET_NAME_7f08500e": "\${aws_s3_bucket.root_Test_cloudBucket_8208F150.bucket}",
+ "WING_FUNCTION_NAME": "test-c8b6eece",
+ },
+ },
+ "function_name": "test-c8b6eece",
+ "handler": "index.handler",
+ "publish": true,
+ "role": "\${aws_iam_role.root_test_IamRole_6CDC2D16.arn}",
+ "runtime": "nodejs16.x",
+ "s3_bucket": "\${aws_s3_bucket.root_test_Code_2D131EC2.bucket}",
+ "s3_key": "\${aws_s3_object.root_test_S3Object_A16CD789.key}",
+ "timeout": 30,
+ },
+ },
+ "aws_s3_bucket": {
+ "root_Test_cloudBucket_8208F150": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/Test/cloud.Bucket/Default",
+ "uniqueId": "root_Test_cloudBucket_8208F150",
+ },
+ },
+ "bucket_prefix": "cloud-bucket-c88130da-",
+ },
+ "root_test_Code_2D131EC2": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/Code",
+ "uniqueId": "root_test_Code_2D131EC2",
+ },
+ },
+ "bucket_prefix": "code-c883c33b-",
+ },
+ },
+ "aws_s3_bucket_public_access_block": {
+ "root_Test_cloudBucket_PublicAccessBlock_94819ECF": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/Test/cloud.Bucket/PublicAccessBlock",
+ "uniqueId": "root_Test_cloudBucket_PublicAccessBlock_94819ECF",
+ },
+ },
+ "block_public_acls": true,
+ "block_public_policy": true,
+ "bucket": "\${aws_s3_bucket.root_Test_cloudBucket_8208F150.bucket}",
+ "ignore_public_acls": true,
+ "restrict_public_buckets": true,
+ },
+ },
+ "aws_s3_bucket_server_side_encryption_configuration": {
+ "root_Test_cloudBucket_Encryption_CC613733": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/Test/cloud.Bucket/Encryption",
+ "uniqueId": "root_Test_cloudBucket_Encryption_CC613733",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_Test_cloudBucket_8208F150.bucket}",
+ "rule": [
+ {
+ "apply_server_side_encryption_by_default": {
+ "sse_algorithm": "AES256",
+ },
+ },
+ ],
+ },
+ },
+ "aws_s3_object": {
+ "root_test_S3Object_A16CD789": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/S3Object",
+ "uniqueId": "root_test_S3Object_A16CD789",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_test_Code_2D131EC2.bucket}",
+ "key": "",
+ },
+ },
+ },
+}
+`;
+
+exports[`inflight_ref_resource.w > wing compile --target tf-aws > preflight.js 1`] = `
+"const $stdlib = require('@winglang/sdk');
+const $outdir = process.env.WINGSDK_SYNTH_DIR ?? \\".\\";
+
+function __app(target) {
+ switch (target) {
+ case \\"sim\\":
+ return $stdlib.sim.App;
+ case \\"tfaws\\":
+ case \\"tf-aws\\":
+ return $stdlib.tfaws.App;
+ case \\"tf-gcp\\":
+ return $stdlib.tfgcp.App;
+ case \\"tf-azure\\":
+ return $stdlib.tfazure.App;
+ default:
+ throw new Error(\`Unknown WING_TARGET value: \\"\${process.env.WING_TARGET ?? \\"\\"}\\"\`);
+ }
+}
+const $App = __app(process.env.WING_TARGET);
+
+const cloud = require('@winglang/sdk').cloud;
+class MyApp extends $App {
+constructor() {
+ super({ outdir: $outdir, name: \\"inflight_ref_resource\\", plugins: $plugins });
+
+ class Test extends $stdlib.core.Resource {
+ constructor(scope, id, ) {
+ super(scope, id);
+ {
+ this.b = this.node.root.newAbstract(\\"@winglang/sdk.cloud.Bucket\\",this,\\"cloud.Bucket\\");
+ }
+ }
+
+ _toInflight() {
+ const b_client = this._lift(this.b);
+ const self_client_path = require('path').resolve(__dirname, \\"clients/Test.inflight.js\\").replace(/\\\\\\\\/g, \\"/\\");
+ return $stdlib.core.NodeJsCode.fromInline(\`(new (require(\\"\${self_client_path}\\")).Test_inflight({b: \${b_client}}))\`);
+ }
+ }
+ Test._annotateInflight(\\"test\\", {\\"this.b\\": { ops: [\\"put\\"] }});
+ const f = new Test(this,\\"Test\\");
+ this.node.root.newAbstract(\\"@winglang/sdk.cloud.Function\\",this,\\"test\\",new $stdlib.core.Inflight(this, \\"$Inflight1\\", {
+ code: $stdlib.core.NodeJsCode.fromFile(require('path').resolve(__dirname, \\"proc.80a17b6f758da66f2a7690bf5a9478936a9921da3421819b7a8bf7e1cfde82ed/index.js\\").replace(/\\\\\\\\/g, \\"/\\")),
+ bindings: {
+ f: {
+ obj: f,
+ ops: [\\"test\\"]
+ },
+ }
+ }));
+}
+}
+new MyApp().synth();"
+`;
+
+exports[`inflight_ref_resource_collection.w > wing compile --target tf-aws > Test.inflight.js 1`] = `
+"export class Test_inflight {
+constructor({ array }) {
+
+ this.array = array;
+}
+async test() {
+ {
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((await (await this.array.at(0)).list()).length === 0)'\`)})(((await (await this.array.at(0)).list()).length === 0))};
+}
+}}"
+`;
+
+exports[`inflight_ref_resource_collection.w > wing compile --target tf-aws > index.js 1`] = `
+"async handle() { const { f } = this; {
+ (await f.test());
+} };"
+`;
+
+exports[`inflight_ref_resource_collection.w > wing compile --target tf-aws > main.tf.json 1`] = `
+{
+ "//": {
+ "metadata": {
+ "backend": "local",
+ "stackName": "root",
+ "version": "0.15.2",
+ },
+ "outputs": {},
+ },
+ "provider": {
+ "aws": [
+ {},
+ ],
+ },
+ "resource": {
+ "aws_iam_role": {
+ "root_test_IamRole_6CDC2D16": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/IamRole",
+ "uniqueId": "root_test_IamRole_6CDC2D16",
+ },
+ },
+ "assume_role_policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":\\"sts:AssumeRole\\",\\"Principal\\":{\\"Service\\":\\"lambda.amazonaws.com\\"},\\"Effect\\":\\"Allow\\"}]}",
+ },
+ },
+ "aws_iam_role_policy": {
+ "root_test_IamRolePolicy_474A6820": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/IamRolePolicy",
+ "uniqueId": "root_test_IamRolePolicy_474A6820",
+ },
+ },
+ "policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Effect\\":\\"Allow\\",\\"Action\\":\\"none:null\\",\\"Resource\\":\\"*\\"}]}",
+ "role": "\${aws_iam_role.root_test_IamRole_6CDC2D16.name}",
+ },
+ },
+ "aws_iam_role_policy_attachment": {
+ "root_test_IamRolePolicyAttachment_1102A28A": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/IamRolePolicyAttachment",
+ "uniqueId": "root_test_IamRolePolicyAttachment_1102A28A",
+ },
+ },
+ "policy_arn": "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ "role": "\${aws_iam_role.root_test_IamRole_6CDC2D16.name}",
+ },
+ },
+ "aws_lambda_function": {
+ "root_test_AAE85061": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/Default",
+ "uniqueId": "root_test_AAE85061",
+ },
+ },
+ "environment": {
+ "variables": {
+ "BUCKET_NAME_7f08500e": "\${aws_s3_bucket.root_Test_cloudBucket_8208F150.bucket}",
+ "WING_FUNCTION_NAME": "test-c8b6eece",
+ },
+ },
+ "function_name": "test-c8b6eece",
+ "handler": "index.handler",
+ "publish": true,
+ "role": "\${aws_iam_role.root_test_IamRole_6CDC2D16.arn}",
+ "runtime": "nodejs16.x",
+ "s3_bucket": "\${aws_s3_bucket.root_test_Code_2D131EC2.bucket}",
+ "s3_key": "\${aws_s3_object.root_test_S3Object_A16CD789.key}",
+ "timeout": 30,
+ },
+ },
+ "aws_s3_bucket": {
+ "root_Test_cloudBucket_8208F150": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/Test/cloud.Bucket/Default",
+ "uniqueId": "root_Test_cloudBucket_8208F150",
+ },
+ },
+ "bucket_prefix": "cloud-bucket-c88130da-",
+ },
+ "root_test_Code_2D131EC2": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/Code",
+ "uniqueId": "root_test_Code_2D131EC2",
+ },
+ },
+ "bucket_prefix": "code-c883c33b-",
+ },
+ },
+ "aws_s3_bucket_public_access_block": {
+ "root_Test_cloudBucket_PublicAccessBlock_94819ECF": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/Test/cloud.Bucket/PublicAccessBlock",
+ "uniqueId": "root_Test_cloudBucket_PublicAccessBlock_94819ECF",
+ },
+ },
+ "block_public_acls": true,
+ "block_public_policy": true,
+ "bucket": "\${aws_s3_bucket.root_Test_cloudBucket_8208F150.bucket}",
+ "ignore_public_acls": true,
+ "restrict_public_buckets": true,
+ },
+ },
+ "aws_s3_bucket_server_side_encryption_configuration": {
+ "root_Test_cloudBucket_Encryption_CC613733": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/Test/cloud.Bucket/Encryption",
+ "uniqueId": "root_Test_cloudBucket_Encryption_CC613733",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_Test_cloudBucket_8208F150.bucket}",
+ "rule": [
+ {
+ "apply_server_side_encryption_by_default": {
+ "sse_algorithm": "AES256",
+ },
+ },
+ ],
+ },
+ },
+ "aws_s3_object": {
+ "root_test_S3Object_A16CD789": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/S3Object",
+ "uniqueId": "root_test_S3Object_A16CD789",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_test_Code_2D131EC2.bucket}",
+ "key": "",
+ },
+ },
+ },
+}
+`;
+
+exports[`inflight_ref_resource_collection.w > wing compile --target tf-aws > preflight.js 1`] = `
+"const $stdlib = require('@winglang/sdk');
+const $outdir = process.env.WINGSDK_SYNTH_DIR ?? \\".\\";
+
+function __app(target) {
+ switch (target) {
+ case \\"sim\\":
+ return $stdlib.sim.App;
+ case \\"tfaws\\":
+ case \\"tf-aws\\":
+ return $stdlib.tfaws.App;
+ case \\"tf-gcp\\":
+ return $stdlib.tfgcp.App;
+ case \\"tf-azure\\":
+ return $stdlib.tfazure.App;
+ default:
+ throw new Error(\`Unknown WING_TARGET value: \\"\${process.env.WING_TARGET ?? \\"\\"}\\"\`);
+ }
+}
+const $App = __app(process.env.WING_TARGET);
+
+const cloud = require('@winglang/sdk').cloud;
+class MyApp extends $App {
+constructor() {
+ super({ outdir: $outdir, name: \\"inflight_ref_resource_collection\\", plugins: $plugins });
+
+ class Test extends $stdlib.core.Resource {
+ constructor(scope, id, ) {
+ super(scope, id);
+ {
+ this.array = Object.freeze([this.node.root.newAbstract(\\"@winglang/sdk.cloud.Bucket\\",this,\\"cloud.Bucket\\")]);
+ }
+ }
+
+ _toInflight() {
+ const array_client = this._lift(this.array);
+ const self_client_path = require('path').resolve(__dirname, \\"clients/Test.inflight.js\\").replace(/\\\\\\\\/g, \\"/\\");
+ return $stdlib.core.NodeJsCode.fromInline(\`(new (require(\\"\${self_client_path}\\")).Test_inflight({array: \${array_client}}))\`);
+ }
+ }
+ Test._annotateInflight(\\"test\\", {\\"this.array\\": { ops: [\\"at\\"] }});
+ const f = new Test(this,\\"Test\\");
+ this.node.root.newAbstract(\\"@winglang/sdk.cloud.Function\\",this,\\"test\\",new $stdlib.core.Inflight(this, \\"$Inflight1\\", {
+ code: $stdlib.core.NodeJsCode.fromFile(require('path').resolve(__dirname, \\"proc.80a17b6f758da66f2a7690bf5a9478936a9921da3421819b7a8bf7e1cfde82ed/index.js\\").replace(/\\\\\\\\/g, \\"/\\")),
+ bindings: {
+ f: {
+ obj: f,
+ ops: [\\"test\\"]
+ },
+ }
+ }));
+}
+}
+new MyApp().synth();"
+`;
+
+exports[`inflight_ref_resource_field.w > wing compile --target tf-aws > Test.inflight.js 1`] = `
+"export class Test_inflight {
+constructor({ my_field }) {
+
+ this.my_field = my_field;
+}
+async test() {
+ {
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(this.my_field === \\"hello\\")'\`)})((this.my_field === \\"hello\\"))};
+}
+}}"
+`;
+
+exports[`inflight_ref_resource_field.w > wing compile --target tf-aws > index.js 1`] = `
+"async handle() { const { f } = this; {
+ (await f.test());
+} };"
+`;
+
+exports[`inflight_ref_resource_field.w > wing compile --target tf-aws > main.tf.json 1`] = `
+{
+ "//": {
+ "metadata": {
+ "backend": "local",
+ "stackName": "root",
+ "version": "0.15.2",
+ },
+ "outputs": {},
+ },
+ "provider": {
+ "aws": [
+ {},
+ ],
+ },
+ "resource": {
+ "aws_iam_role": {
+ "root_test_IamRole_6CDC2D16": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/IamRole",
+ "uniqueId": "root_test_IamRole_6CDC2D16",
+ },
+ },
+ "assume_role_policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":\\"sts:AssumeRole\\",\\"Principal\\":{\\"Service\\":\\"lambda.amazonaws.com\\"},\\"Effect\\":\\"Allow\\"}]}",
+ },
+ },
+ "aws_iam_role_policy": {
+ "root_test_IamRolePolicy_474A6820": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/IamRolePolicy",
+ "uniqueId": "root_test_IamRolePolicy_474A6820",
+ },
+ },
+ "policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Effect\\":\\"Allow\\",\\"Action\\":\\"none:null\\",\\"Resource\\":\\"*\\"}]}",
+ "role": "\${aws_iam_role.root_test_IamRole_6CDC2D16.name}",
+ },
+ },
+ "aws_iam_role_policy_attachment": {
+ "root_test_IamRolePolicyAttachment_1102A28A": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/IamRolePolicyAttachment",
+ "uniqueId": "root_test_IamRolePolicyAttachment_1102A28A",
+ },
+ },
+ "policy_arn": "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ "role": "\${aws_iam_role.root_test_IamRole_6CDC2D16.name}",
+ },
+ },
+ "aws_lambda_function": {
+ "root_test_AAE85061": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/Default",
+ "uniqueId": "root_test_AAE85061",
+ },
+ },
+ "environment": {
+ "variables": {
+ "WING_FUNCTION_NAME": "test-c8b6eece",
+ },
+ },
+ "function_name": "test-c8b6eece",
+ "handler": "index.handler",
+ "publish": true,
+ "role": "\${aws_iam_role.root_test_IamRole_6CDC2D16.arn}",
+ "runtime": "nodejs16.x",
+ "s3_bucket": "\${aws_s3_bucket.root_test_Code_2D131EC2.bucket}",
+ "s3_key": "\${aws_s3_object.root_test_S3Object_A16CD789.key}",
+ "timeout": 30,
+ },
+ },
+ "aws_s3_bucket": {
+ "root_test_Code_2D131EC2": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/Code",
+ "uniqueId": "root_test_Code_2D131EC2",
+ },
+ },
+ "bucket_prefix": "code-c883c33b-",
+ },
+ },
+ "aws_s3_object": {
+ "root_test_S3Object_A16CD789": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/S3Object",
+ "uniqueId": "root_test_S3Object_A16CD789",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_test_Code_2D131EC2.bucket}",
+ "key": "",
+ },
+ },
+ },
+}
+`;
+
+exports[`inflight_ref_resource_field.w > wing compile --target tf-aws > preflight.js 1`] = `
+"const $stdlib = require('@winglang/sdk');
+const $outdir = process.env.WINGSDK_SYNTH_DIR ?? \\".\\";
+
+function __app(target) {
+ switch (target) {
+ case \\"sim\\":
+ return $stdlib.sim.App;
+ case \\"tfaws\\":
+ case \\"tf-aws\\":
+ return $stdlib.tfaws.App;
+ case \\"tf-gcp\\":
+ return $stdlib.tfgcp.App;
+ case \\"tf-azure\\":
+ return $stdlib.tfazure.App;
+ default:
+ throw new Error(\`Unknown WING_TARGET value: \\"\${process.env.WING_TARGET ?? \\"\\"}\\"\`);
+ }
+}
+const $App = __app(process.env.WING_TARGET);
+
+const cloud = require('@winglang/sdk').cloud;
+class MyApp extends $App {
+constructor() {
+ super({ outdir: $outdir, name: \\"inflight_ref_resource_field\\", plugins: $plugins });
+
+ class Test extends $stdlib.core.Resource {
+ constructor(scope, id, ) {
+ super(scope, id);
+ {
+ this.my_field = \\"hello\\";
+ }
+ }
+
+ _toInflight() {
+ const my_field_client = this._lift(this.my_field);
+ const self_client_path = require('path').resolve(__dirname, \\"clients/Test.inflight.js\\").replace(/\\\\\\\\/g, \\"/\\");
+ return $stdlib.core.NodeJsCode.fromInline(\`(new (require(\\"\${self_client_path}\\")).Test_inflight({my_field: \${my_field_client}}))\`);
+ }
+ }
+ Test._annotateInflight(\\"test\\", {\\"this.my_field\\": { ops: [] }});
+ const f = new Test(this,\\"Test\\");
+ this.node.root.newAbstract(\\"@winglang/sdk.cloud.Function\\",this,\\"test\\",new $stdlib.core.Inflight(this, \\"$Inflight1\\", {
+ code: $stdlib.core.NodeJsCode.fromFile(require('path').resolve(__dirname, \\"proc.80a17b6f758da66f2a7690bf5a9478936a9921da3421819b7a8bf7e1cfde82ed/index.js\\").replace(/\\\\\\\\/g, \\"/\\")),
+ bindings: {
+ f: {
+ obj: f,
+ ops: [\\"test\\"]
+ },
+ }
+ }));
+}
+}
+new MyApp().synth();"
+`;
+
+exports[`inflight_ref_resource_sub_method.w > wing compile --target tf-aws > Another.inflight.js 1`] = `
+"export class Another_inflight {
+constructor({ my_queue }) {
+
+ this.my_queue = my_queue;
+}
+async inflight_returns_resource() {
+ {
+ return this.my_queue;
+}
+}}"
+`;
+
+exports[`inflight_ref_resource_sub_method.w > wing compile --target tf-aws > Test.inflight.js 1`] = `
+"export class Test_inflight {
+constructor({ another }) {
+
+ this.another = another;
+}
+async test() {
+ {
+ const q = (await this.another.inflight_returns_resource());
+ (await q.push(\\"push!\\"));
+}
+}}"
+`;
+
+exports[`inflight_ref_resource_sub_method.w > wing compile --target tf-aws > index.js 1`] = `
+"async handle() { const { f } = this; {
+ (await f.test());
+} };"
+`;
+
+exports[`inflight_ref_resource_sub_method.w > wing compile --target tf-aws > main.tf.json 1`] = `
+{
+ "//": {
+ "metadata": {
+ "backend": "local",
+ "stackName": "root",
+ "version": "0.15.2",
+ },
+ "outputs": {},
+ },
+ "provider": {
+ "aws": [
+ {},
+ ],
+ },
+ "resource": {
+ "aws_iam_role": {
+ "root_test_IamRole_6CDC2D16": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/IamRole",
+ "uniqueId": "root_test_IamRole_6CDC2D16",
+ },
+ },
+ "assume_role_policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":\\"sts:AssumeRole\\",\\"Principal\\":{\\"Service\\":\\"lambda.amazonaws.com\\"},\\"Effect\\":\\"Allow\\"}]}",
+ },
+ },
+ "aws_iam_role_policy": {
+ "root_test_IamRolePolicy_474A6820": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/IamRolePolicy",
+ "uniqueId": "root_test_IamRolePolicy_474A6820",
+ },
+ },
+ "policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Effect\\":\\"Allow\\",\\"Action\\":\\"none:null\\",\\"Resource\\":\\"*\\"}]}",
+ "role": "\${aws_iam_role.root_test_IamRole_6CDC2D16.name}",
+ },
+ },
+ "aws_iam_role_policy_attachment": {
+ "root_test_IamRolePolicyAttachment_1102A28A": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/IamRolePolicyAttachment",
+ "uniqueId": "root_test_IamRolePolicyAttachment_1102A28A",
+ },
+ },
+ "policy_arn": "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ "role": "\${aws_iam_role.root_test_IamRole_6CDC2D16.name}",
+ },
+ },
+ "aws_lambda_function": {
+ "root_test_AAE85061": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/Default",
+ "uniqueId": "root_test_AAE85061",
+ },
+ },
+ "environment": {
+ "variables": {
+ "QUEUE_URL_de2218c1": "\${aws_sqs_queue.root_Test_Another_cloudQueue_02574A51.url}",
+ "WING_FUNCTION_NAME": "test-c8b6eece",
+ },
+ },
+ "function_name": "test-c8b6eece",
+ "handler": "index.handler",
+ "publish": true,
+ "role": "\${aws_iam_role.root_test_IamRole_6CDC2D16.arn}",
+ "runtime": "nodejs16.x",
+ "s3_bucket": "\${aws_s3_bucket.root_test_Code_2D131EC2.bucket}",
+ "s3_key": "\${aws_s3_object.root_test_S3Object_A16CD789.key}",
+ "timeout": 30,
+ },
+ },
+ "aws_s3_bucket": {
+ "root_test_Code_2D131EC2": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/Code",
+ "uniqueId": "root_test_Code_2D131EC2",
+ },
+ },
+ "bucket_prefix": "code-c883c33b-",
+ },
+ },
+ "aws_s3_object": {
+ "root_test_S3Object_A16CD789": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/S3Object",
+ "uniqueId": "root_test_S3Object_A16CD789",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_test_Code_2D131EC2.bucket}",
+ "key": "",
+ },
+ },
+ },
+}
+`;
+
+exports[`inflight_ref_resource_sub_method.w > wing compile --target tf-aws > preflight.js 1`] = `
+"const $stdlib = require('@winglang/sdk');
+const $outdir = process.env.WINGSDK_SYNTH_DIR ?? \\".\\";
+
+function __app(target) {
+ switch (target) {
+ case \\"sim\\":
+ return $stdlib.sim.App;
+ case \\"tfaws\\":
+ case \\"tf-aws\\":
+ return $stdlib.tfaws.App;
+ case \\"tf-gcp\\":
+ return $stdlib.tfgcp.App;
+ case \\"tf-azure\\":
+ return $stdlib.tfazure.App;
+ default:
+ throw new Error(\`Unknown WING_TARGET value: \\"\${process.env.WING_TARGET ?? \\"\\"}\\"\`);
+ }
+}
+const $App = __app(process.env.WING_TARGET);
+
+const cloud = require('@winglang/sdk').cloud;
+class MyApp extends $App {
+constructor() {
+ super({ outdir: $outdir, name: \\"inflight_ref_resource_sub_method\\", plugins: $plugins });
+
+ class Another extends $stdlib.core.Resource {
+ constructor(scope, id, ) {
+ super(scope, id);
+ {
+ this.my_queue = this.node.root.newAbstract(\\"@winglang/sdk.cloud.Queue\\",this,\\"cloud.Queue\\");
+ }
+ }
+
+ _toInflight() {
+ const my_queue_client = this._lift(this.my_queue);
+ const self_client_path = require('path').resolve(__dirname, \\"clients/Another.inflight.js\\").replace(/\\\\\\\\/g, \\"/\\");
+ return $stdlib.core.NodeJsCode.fromInline(\`(new (require(\\"\${self_client_path}\\")).Another_inflight({my_queue: \${my_queue_client}}))\`);
+ }
+ }
+ Another._annotateInflight(\\"inflight_returns_resource\\", {\\"this.my_queue\\": { ops: [] }});
+ class Test extends $stdlib.core.Resource {
+ constructor(scope, id, ) {
+ super(scope, id);
+ {
+ this.another = new Another(this,\\"Another\\");
+ }
+ }
+
+ _toInflight() {
+ const another_client = this._lift(this.another);
+ const self_client_path = require('path').resolve(__dirname, \\"clients/Test.inflight.js\\").replace(/\\\\\\\\/g, \\"/\\");
+ return $stdlib.core.NodeJsCode.fromInline(\`(new (require(\\"\${self_client_path}\\")).Test_inflight({another: \${another_client}}))\`);
+ }
+ }
+ Test._annotateInflight(\\"test\\", {\\"this.another\\": { ops: [\\"inflight_returns_resource\\"] }});
+ const f = new Test(this,\\"Test\\");
+ this.node.root.newAbstract(\\"@winglang/sdk.cloud.Function\\",this,\\"test\\",new $stdlib.core.Inflight(this, \\"$Inflight1\\", {
+ code: $stdlib.core.NodeJsCode.fromFile(require('path').resolve(__dirname, \\"proc.80a17b6f758da66f2a7690bf5a9478936a9921da3421819b7a8bf7e1cfde82ed/index.js\\").replace(/\\\\\\\\/g, \\"/\\")),
+ bindings: {
+ f: {
+ obj: f,
+ ops: [\\"test\\"]
+ },
+ }
+ }));
+}
+}
+new MyApp().synth();"
+`;
+
+exports[`inflight_ref_resource_userdefined.w > wing compile --target tf-aws > Another.inflight.js 1`] = `
+"export class Another_inflight {
+constructor({ }) {
+
+
+}
+async func() {
+ {
+ return \\"hello\\";
+}
+}}"
+`;
+
+exports[`inflight_ref_resource_userdefined.w > wing compile --target tf-aws > Test.inflight.js 1`] = `
+"export class Test_inflight {
+constructor({ another }) {
+
+ this.another = another;
+}
+async test() {
+ {
+ const res = (await this.another.func());
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(res === \\"hello\\")'\`)})((res === \\"hello\\"))};
+}
+}}"
+`;
+
+exports[`inflight_ref_resource_userdefined.w > wing compile --target tf-aws > index.js 1`] = `
+"async handle() { const { f } = this; {
+ (await f.test());
+} };"
+`;
+
+exports[`inflight_ref_resource_userdefined.w > wing compile --target tf-aws > main.tf.json 1`] = `
+{
+ "//": {
+ "metadata": {
+ "backend": "local",
+ "stackName": "root",
+ "version": "0.15.2",
+ },
+ "outputs": {},
+ },
+ "provider": {
+ "aws": [
+ {},
+ ],
+ },
+ "resource": {
+ "aws_iam_role": {
+ "root_test_IamRole_6CDC2D16": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/IamRole",
+ "uniqueId": "root_test_IamRole_6CDC2D16",
+ },
+ },
+ "assume_role_policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":\\"sts:AssumeRole\\",\\"Principal\\":{\\"Service\\":\\"lambda.amazonaws.com\\"},\\"Effect\\":\\"Allow\\"}]}",
+ },
+ },
+ "aws_iam_role_policy": {
+ "root_test_IamRolePolicy_474A6820": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/IamRolePolicy",
+ "uniqueId": "root_test_IamRolePolicy_474A6820",
+ },
+ },
+ "policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Effect\\":\\"Allow\\",\\"Action\\":\\"none:null\\",\\"Resource\\":\\"*\\"}]}",
+ "role": "\${aws_iam_role.root_test_IamRole_6CDC2D16.name}",
+ },
+ },
+ "aws_iam_role_policy_attachment": {
+ "root_test_IamRolePolicyAttachment_1102A28A": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/IamRolePolicyAttachment",
+ "uniqueId": "root_test_IamRolePolicyAttachment_1102A28A",
+ },
+ },
+ "policy_arn": "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ "role": "\${aws_iam_role.root_test_IamRole_6CDC2D16.name}",
+ },
+ },
+ "aws_lambda_function": {
+ "root_test_AAE85061": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/Default",
+ "uniqueId": "root_test_AAE85061",
+ },
+ },
+ "environment": {
+ "variables": {
+ "WING_FUNCTION_NAME": "test-c8b6eece",
+ },
+ },
+ "function_name": "test-c8b6eece",
+ "handler": "index.handler",
+ "publish": true,
+ "role": "\${aws_iam_role.root_test_IamRole_6CDC2D16.arn}",
+ "runtime": "nodejs16.x",
+ "s3_bucket": "\${aws_s3_bucket.root_test_Code_2D131EC2.bucket}",
+ "s3_key": "\${aws_s3_object.root_test_S3Object_A16CD789.key}",
+ "timeout": 30,
+ },
+ },
+ "aws_s3_bucket": {
+ "root_test_Code_2D131EC2": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/Code",
+ "uniqueId": "root_test_Code_2D131EC2",
+ },
+ },
+ "bucket_prefix": "code-c883c33b-",
+ },
+ },
+ "aws_s3_object": {
+ "root_test_S3Object_A16CD789": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/S3Object",
+ "uniqueId": "root_test_S3Object_A16CD789",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_test_Code_2D131EC2.bucket}",
+ "key": "",
+ },
+ },
+ },
+}
+`;
+
+exports[`inflight_ref_resource_userdefined.w > wing compile --target tf-aws > preflight.js 1`] = `
+"const $stdlib = require('@winglang/sdk');
+const $outdir = process.env.WINGSDK_SYNTH_DIR ?? \\".\\";
+
+function __app(target) {
+ switch (target) {
+ case \\"sim\\":
+ return $stdlib.sim.App;
+ case \\"tfaws\\":
+ case \\"tf-aws\\":
+ return $stdlib.tfaws.App;
+ case \\"tf-gcp\\":
+ return $stdlib.tfgcp.App;
+ case \\"tf-azure\\":
+ return $stdlib.tfazure.App;
+ default:
+ throw new Error(\`Unknown WING_TARGET value: \\"\${process.env.WING_TARGET ?? \\"\\"}\\"\`);
+ }
+}
+const $App = __app(process.env.WING_TARGET);
+
+const cloud = require('@winglang/sdk').cloud;
+class MyApp extends $App {
+constructor() {
+ super({ outdir: $outdir, name: \\"inflight_ref_resource_userdefined\\", plugins: $plugins });
+
+ class Another extends $stdlib.core.Resource {
+ constructor(scope, id, ) {
+ super(scope, id);
+ {
+ }
+ }
+
+ _toInflight() {
+
+ const self_client_path = require('path').resolve(__dirname, \\"clients/Another.inflight.js\\").replace(/\\\\\\\\/g, \\"/\\");
+ return $stdlib.core.NodeJsCode.fromInline(\`(new (require(\\"\${self_client_path}\\")).Another_inflight({}))\`);
+ }
+ }
+ Another._annotateInflight(\\"func\\", {});
+ class Test extends $stdlib.core.Resource {
+ constructor(scope, id, ) {
+ super(scope, id);
+ {
+ this.another = new Another(this,\\"Another\\");
+ }
+ }
+
+ _toInflight() {
+ const another_client = this._lift(this.another);
+ const self_client_path = require('path').resolve(__dirname, \\"clients/Test.inflight.js\\").replace(/\\\\\\\\/g, \\"/\\");
+ return $stdlib.core.NodeJsCode.fromInline(\`(new (require(\\"\${self_client_path}\\")).Test_inflight({another: \${another_client}}))\`);
+ }
+ }
+ Test._annotateInflight(\\"test\\", {\\"this.another\\": { ops: [\\"func\\"] }});
+ const f = new Test(this,\\"Test\\");
+ this.node.root.newAbstract(\\"@winglang/sdk.cloud.Function\\",this,\\"test\\",new $stdlib.core.Inflight(this, \\"$Inflight1\\", {
+ code: $stdlib.core.NodeJsCode.fromFile(require('path').resolve(__dirname, \\"proc.80a17b6f758da66f2a7690bf5a9478936a9921da3421819b7a8bf7e1cfde82ed/index.js\\").replace(/\\\\\\\\/g, \\"/\\")),
+ bindings: {
+ f: {
+ obj: f,
+ ops: [\\"test\\"]
+ },
+ }
+ }));
+}
+}
+new MyApp().synth();"
+`;
+
+exports[`inflight_ref_unknown_op.w > wing compile --target tf-aws > Test.inflight.js 1`] = `
+"export class Test_inflight {
+constructor({ b }) {
+
+ this.b = b;
+}
+async test() {
+ {
+ const x = this.b;
+ (await x.put(\\"hello\\",\\"world\\"));
+}
+}}"
+`;
+
+exports[`inflight_ref_unknown_op.w > wing compile --target tf-aws > index.js 1`] = `
+"async handle() { const { f } = this; {
+ (await f.test());
+} };"
+`;
+
+exports[`inflight_ref_unknown_op.w > wing compile --target tf-aws > main.tf.json 1`] = `
+{
+ "//": {
+ "metadata": {
+ "backend": "local",
+ "stackName": "root",
+ "version": "0.15.2",
+ },
+ "outputs": {},
+ },
+ "provider": {
+ "aws": [
+ {},
+ ],
+ },
+ "resource": {
+ "aws_iam_role": {
+ "root_test_IamRole_6CDC2D16": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/IamRole",
+ "uniqueId": "root_test_IamRole_6CDC2D16",
+ },
+ },
+ "assume_role_policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":\\"sts:AssumeRole\\",\\"Principal\\":{\\"Service\\":\\"lambda.amazonaws.com\\"},\\"Effect\\":\\"Allow\\"}]}",
+ },
+ },
+ "aws_iam_role_policy": {
+ "root_test_IamRolePolicy_474A6820": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/IamRolePolicy",
+ "uniqueId": "root_test_IamRolePolicy_474A6820",
+ },
+ },
+ "policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Effect\\":\\"Allow\\",\\"Action\\":\\"none:null\\",\\"Resource\\":\\"*\\"}]}",
+ "role": "\${aws_iam_role.root_test_IamRole_6CDC2D16.name}",
+ },
+ },
+ "aws_iam_role_policy_attachment": {
+ "root_test_IamRolePolicyAttachment_1102A28A": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/IamRolePolicyAttachment",
+ "uniqueId": "root_test_IamRolePolicyAttachment_1102A28A",
+ },
+ },
+ "policy_arn": "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ "role": "\${aws_iam_role.root_test_IamRole_6CDC2D16.name}",
+ },
+ },
+ "aws_lambda_function": {
+ "root_test_AAE85061": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/Default",
+ "uniqueId": "root_test_AAE85061",
+ },
+ },
+ "environment": {
+ "variables": {
+ "BUCKET_NAME_7f08500e": "\${aws_s3_bucket.root_Test_cloudBucket_8208F150.bucket}",
+ "WING_FUNCTION_NAME": "test-c8b6eece",
+ },
+ },
+ "function_name": "test-c8b6eece",
+ "handler": "index.handler",
+ "publish": true,
+ "role": "\${aws_iam_role.root_test_IamRole_6CDC2D16.arn}",
+ "runtime": "nodejs16.x",
+ "s3_bucket": "\${aws_s3_bucket.root_test_Code_2D131EC2.bucket}",
+ "s3_key": "\${aws_s3_object.root_test_S3Object_A16CD789.key}",
+ "timeout": 30,
+ },
+ },
+ "aws_s3_bucket": {
+ "root_Test_cloudBucket_8208F150": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/Test/cloud.Bucket/Default",
+ "uniqueId": "root_Test_cloudBucket_8208F150",
+ },
+ },
+ "bucket_prefix": "cloud-bucket-c88130da-",
+ },
+ "root_test_Code_2D131EC2": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/Code",
+ "uniqueId": "root_test_Code_2D131EC2",
+ },
+ },
+ "bucket_prefix": "code-c883c33b-",
+ },
+ },
+ "aws_s3_bucket_public_access_block": {
+ "root_Test_cloudBucket_PublicAccessBlock_94819ECF": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/Test/cloud.Bucket/PublicAccessBlock",
+ "uniqueId": "root_Test_cloudBucket_PublicAccessBlock_94819ECF",
+ },
+ },
+ "block_public_acls": true,
+ "block_public_policy": true,
+ "bucket": "\${aws_s3_bucket.root_Test_cloudBucket_8208F150.bucket}",
+ "ignore_public_acls": true,
+ "restrict_public_buckets": true,
+ },
+ },
+ "aws_s3_bucket_server_side_encryption_configuration": {
+ "root_Test_cloudBucket_Encryption_CC613733": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/Test/cloud.Bucket/Encryption",
+ "uniqueId": "root_Test_cloudBucket_Encryption_CC613733",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_Test_cloudBucket_8208F150.bucket}",
+ "rule": [
+ {
+ "apply_server_side_encryption_by_default": {
+ "sse_algorithm": "AES256",
+ },
+ },
+ ],
+ },
+ },
+ "aws_s3_object": {
+ "root_test_S3Object_A16CD789": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/S3Object",
+ "uniqueId": "root_test_S3Object_A16CD789",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_test_Code_2D131EC2.bucket}",
+ "key": "",
+ },
+ },
+ },
+}
+`;
+
+exports[`inflight_ref_unknown_op.w > wing compile --target tf-aws > preflight.js 1`] = `
+"const $stdlib = require('@winglang/sdk');
+const $outdir = process.env.WINGSDK_SYNTH_DIR ?? \\".\\";
+
+function __app(target) {
+ switch (target) {
+ case \\"sim\\":
+ return $stdlib.sim.App;
+ case \\"tfaws\\":
+ case \\"tf-aws\\":
+ return $stdlib.tfaws.App;
+ case \\"tf-gcp\\":
+ return $stdlib.tfgcp.App;
+ case \\"tf-azure\\":
+ return $stdlib.tfazure.App;
+ default:
+ throw new Error(\`Unknown WING_TARGET value: \\"\${process.env.WING_TARGET ?? \\"\\"}\\"\`);
+ }
+}
+const $App = __app(process.env.WING_TARGET);
+
+const cloud = require('@winglang/sdk').cloud;
+class MyApp extends $App {
+constructor() {
+ super({ outdir: $outdir, name: \\"inflight_ref_unknown_op\\", plugins: $plugins });
+
+ class Test extends $stdlib.core.Resource {
+ constructor(scope, id, ) {
+ super(scope, id);
+ {
+ this.b = this.node.root.newAbstract(\\"@winglang/sdk.cloud.Bucket\\",this,\\"cloud.Bucket\\");
+ }
+ }
+
+ _toInflight() {
+ const b_client = this._lift(this.b);
+ const self_client_path = require('path').resolve(__dirname, \\"clients/Test.inflight.js\\").replace(/\\\\\\\\/g, \\"/\\");
+ return $stdlib.core.NodeJsCode.fromInline(\`(new (require(\\"\${self_client_path}\\")).Test_inflight({b: \${b_client}}))\`);
+ }
+ }
+ Test._annotateInflight(\\"test\\", {\\"this.b\\": { ops: [] }});
+ const f = new Test(this,\\"Test\\");
+ this.node.root.newAbstract(\\"@winglang/sdk.cloud.Function\\",this,\\"test\\",new $stdlib.core.Inflight(this, \\"$Inflight1\\", {
+ code: $stdlib.core.NodeJsCode.fromFile(require('path').resolve(__dirname, \\"proc.80a17b6f758da66f2a7690bf5a9478936a9921da3421819b7a8bf7e1cfde82ed/index.js\\").replace(/\\\\\\\\/g, \\"/\\")),
+ bindings: {
+ f: {
+ obj: f,
+ ops: [\\"test\\"]
+ },
+ }
+ }));
+}
+}
+new MyApp().synth();"
+`;
+
+exports[`json.w > wing compile --target tf-aws > main.tf.json 1`] = `
+{
+ "//": {
+ "metadata": {
+ "backend": "local",
+ "stackName": "root",
+ "version": "0.15.2",
+ },
+ "outputs": {},
+ },
+ "provider": {
+ "aws": [
+ {},
+ ],
+ },
+}
+`;
+
+exports[`json.w > wing compile --target tf-aws > preflight.js 1`] = `
+"const $stdlib = require('@winglang/sdk');
+const $outdir = process.env.WINGSDK_SYNTH_DIR ?? \\".\\";
+
+function __app(target) {
+ switch (target) {
+ case \\"sim\\":
+ return $stdlib.sim.App;
+ case \\"tfaws\\":
+ case \\"tf-aws\\":
+ return $stdlib.tfaws.App;
+ case \\"tf-gcp\\":
+ return $stdlib.tfgcp.App;
+ case \\"tf-azure\\":
+ return $stdlib.tfazure.App;
+ default:
+ throw new Error(\`Unknown WING_TARGET value: \\"\${process.env.WING_TARGET ?? \\"\\"}\\"\`);
+ }
+}
+const $App = __app(process.env.WING_TARGET);
+
+class MyApp extends $App {
+constructor() {
+ super({ outdir: $outdir, name: \\"json\\", plugins: $plugins });
+
+ const json_number = 123;
+ const json_bool = true;
+ const json_array = [1, 2, 3];
+ const json_obj = Object.freeze({\\"boom\\":123});
+ const json_mut_obj = {\\"boom boom\\":{\\"hello\\":1233},\\"hello\\":123,\\"world\\":[1, \\"cat\\", 3]};
+ const message = \\"Coolness\\";
+ ((obj, args) => { obj[args[0]] = args[1]; })(json_mut_obj, [\\"hello\\",message]);
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((json_mut_obj)[\\"hello\\"] === message)'\`)})(((json_mut_obj)[\\"hello\\"] === message))};
+ const some_number = 999;
+ const some_json = {\\"x\\":some_number};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((some_json)[\\"x\\"] === some_number)'\`)})(((some_json)[\\"x\\"] === some_number))};
+ ((obj, args) => { obj[args[0]] = args[1]; })(some_json, [\\"x\\",111]);
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((some_json)[\\"x\\"] === 111)'\`)})(((some_json)[\\"x\\"] === 111))};
+ const x = Object.freeze({\\"cool\\":\\"beans\\"});
+ const nested_json = {\\"a\\":\\"hello\\",\\"b\\":{\\"c\\":\\"world\\",\\"d\\":{\\"bar\\":123,\\"foo\\":\\"foo\\"}}};
+ ((obj, args) => { obj[args[0]] = args[1]; })(((nested_json)[\\"b\\"])[\\"d\\"], [\\"foo\\",\\"tastic\\"]);
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((((nested_json)[\\"b\\"])[\\"d\\"])[\\"foo\\"] === \\"tastic\\")'\`)})(((((nested_json)[\\"b\\"])[\\"d\\"])[\\"foo\\"] === \\"tastic\\"))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((((nested_json)[\\"b\\"])[\\"d\\"])[\\"bar\\"] === 123)'\`)})(((((nested_json)[\\"b\\"])[\\"d\\"])[\\"bar\\"] === 123))};
+ const arr = [1, 2, \\"buckle\\", \\"my\\", \\"shoe\\", 3, 4, [\\"shut\\", \\"the\\", \\"door\\"]];
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((arr)[0] === 1)'\`)})(((arr)[0] === 1))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((arr)[2] === \\"buckle\\")'\`)})(((arr)[2] === \\"buckle\\"))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(((arr)[7])[0] === \\"shut\\")'\`)})((((arr)[7])[0] === \\"shut\\"))};
+}
+}
+new MyApp().synth();"
+`;
+
+exports[`json_bucket.w > wing compile --target tf-aws > index.js 1`] = `
+"async handle(msg) { const { b, file_name } = this; {
+ const x = (await b.getJson(file_name));
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(((((x)[\\"persons\\"])[0])[\\"fears\\"])[1] === \\"failure\\")'\`)})((((((x)[\\"persons\\"])[0])[\\"fears\\"])[1] === \\"failure\\"))};
+} };"
+`;
+
+exports[`json_bucket.w > wing compile --target tf-aws > index.js 2`] = `
+"async handle(msg) { const { b, file_name, get_json, j } = this; {
+ (await b.putJson(file_name,j));
+ (await get_json.invoke(msg));
+} };"
+`;
+
+exports[`json_bucket.w > wing compile --target tf-aws > main.tf.json 1`] = `
+{
+ "//": {
+ "metadata": {
+ "backend": "local",
+ "stackName": "root",
+ "version": "0.15.2",
+ },
+ "outputs": {},
+ },
+ "provider": {
+ "aws": [
+ {},
+ ],
+ },
+ "resource": {
+ "aws_iam_role": {
+ "root_cloudFunction_IamRole_DAEC3578": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Function/IamRole",
+ "uniqueId": "root_cloudFunction_IamRole_DAEC3578",
+ },
+ },
+ "assume_role_policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":\\"sts:AssumeRole\\",\\"Principal\\":{\\"Service\\":\\"lambda.amazonaws.com\\"},\\"Effect\\":\\"Allow\\"}]}",
+ },
+ "root_testput_IamRole_1BBF32A6": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:put/IamRole",
+ "uniqueId": "root_testput_IamRole_1BBF32A6",
+ },
+ },
+ "assume_role_policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":\\"sts:AssumeRole\\",\\"Principal\\":{\\"Service\\":\\"lambda.amazonaws.com\\"},\\"Effect\\":\\"Allow\\"}]}",
+ },
+ },
+ "aws_iam_role_policy": {
+ "root_cloudFunction_IamRolePolicy_AAE6C0C0": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Function/IamRolePolicy",
+ "uniqueId": "root_cloudFunction_IamRolePolicy_AAE6C0C0",
+ },
+ },
+ "policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":[\\"s3:PutObject*\\",\\"s3:Abort*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}\\",\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:GetObject*\\",\\"s3:GetBucket*\\",\\"s3:List*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}\\",\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:GetObject*\\",\\"s3:GetBucket*\\",\\"s3:List*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}\\",\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:DeleteObject*\\",\\"s3:DeleteObjectVersion*\\",\\"s3:PutLifecycleConfiguration*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}\\",\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}/*\\"],\\"Effect\\":\\"Allow\\"}]}",
+ "role": "\${aws_iam_role.root_cloudFunction_IamRole_DAEC3578.name}",
+ },
+ "root_testput_IamRolePolicy_98659F09": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:put/IamRolePolicy",
+ "uniqueId": "root_testput_IamRolePolicy_98659F09",
+ },
+ },
+ "policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":[\\"s3:PutObject*\\",\\"s3:Abort*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}\\",\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:GetObject*\\",\\"s3:GetBucket*\\",\\"s3:List*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}\\",\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:GetObject*\\",\\"s3:GetBucket*\\",\\"s3:List*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}\\",\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:DeleteObject*\\",\\"s3:DeleteObjectVersion*\\",\\"s3:PutLifecycleConfiguration*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}\\",\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"lambda:InvokeFunction\\"],\\"Resource\\":[\\"\${aws_lambda_function.root_cloudFunction_6A57BA0A.arn}\\"],\\"Effect\\":\\"Allow\\"}]}",
+ "role": "\${aws_iam_role.root_testput_IamRole_1BBF32A6.name}",
+ },
+ },
+ "aws_iam_role_policy_attachment": {
+ "root_cloudFunction_IamRolePolicyAttachment_FC3D9E7C": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Function/IamRolePolicyAttachment",
+ "uniqueId": "root_cloudFunction_IamRolePolicyAttachment_FC3D9E7C",
+ },
+ },
+ "policy_arn": "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ "role": "\${aws_iam_role.root_cloudFunction_IamRole_DAEC3578.name}",
+ },
+ "root_testput_IamRolePolicyAttachment_E73FB6BB": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:put/IamRolePolicyAttachment",
+ "uniqueId": "root_testput_IamRolePolicyAttachment_E73FB6BB",
+ },
+ },
+ "policy_arn": "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ "role": "\${aws_iam_role.root_testput_IamRole_1BBF32A6.name}",
+ },
+ },
+ "aws_lambda_function": {
+ "root_cloudFunction_6A57BA0A": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Function/Default",
+ "uniqueId": "root_cloudFunction_6A57BA0A",
+ },
+ },
+ "environment": {
+ "variables": {
+ "BUCKET_NAME_d755b447": "\${aws_s3_bucket.root_cloudBucket_4F3C4F53.bucket}",
+ "WING_FUNCTION_NAME": "cloud-Function-c8d2eca1",
+ },
+ },
+ "function_name": "cloud-Function-c8d2eca1",
+ "handler": "index.handler",
+ "publish": true,
+ "role": "\${aws_iam_role.root_cloudFunction_IamRole_DAEC3578.arn}",
+ "runtime": "nodejs16.x",
+ "s3_bucket": "\${aws_s3_bucket.root_cloudFunction_Code_2F6A7948.bucket}",
+ "s3_key": "\${aws_s3_object.root_cloudFunction_S3Object_C8435368.key}",
+ "timeout": 30,
+ },
+ "root_testput_449428F9": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:put/Default",
+ "uniqueId": "root_testput_449428F9",
+ },
+ },
+ "environment": {
+ "variables": {
+ "BUCKET_NAME_d755b447": "\${aws_s3_bucket.root_cloudBucket_4F3C4F53.bucket}",
+ "FUNCTION_NAME_5bb84dfa": "\${aws_lambda_function.root_cloudFunction_6A57BA0A.arn}",
+ "WING_FUNCTION_NAME": "test-put-c899ce9b",
+ },
+ },
+ "function_name": "test-put-c899ce9b",
+ "handler": "index.handler",
+ "publish": true,
+ "role": "\${aws_iam_role.root_testput_IamRole_1BBF32A6.arn}",
+ "runtime": "nodejs16.x",
+ "s3_bucket": "\${aws_s3_bucket.root_testput_Code_DE7653AD.bucket}",
+ "s3_key": "\${aws_s3_object.root_testput_S3Object_30BF1DDD.key}",
+ "timeout": 30,
+ },
+ },
+ "aws_s3_bucket": {
+ "root_cloudBucket_4F3C4F53": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Bucket/Default",
+ "uniqueId": "root_cloudBucket_4F3C4F53",
+ },
+ },
+ "bucket_prefix": "cloud-bucket-c87175e7-",
+ },
+ "root_cloudFunction_Code_2F6A7948": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Function/Code",
+ "uniqueId": "root_cloudFunction_Code_2F6A7948",
+ },
+ },
+ "bucket_prefix": "code-c8d4206f-",
+ },
+ "root_testput_Code_DE7653AD": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:put/Code",
+ "uniqueId": "root_testput_Code_DE7653AD",
+ },
+ },
+ "bucket_prefix": "code-c8ab7128-",
+ },
+ },
+ "aws_s3_bucket_public_access_block": {
+ "root_cloudBucket_PublicAccessBlock_319C1C2E": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Bucket/PublicAccessBlock",
+ "uniqueId": "root_cloudBucket_PublicAccessBlock_319C1C2E",
+ },
+ },
+ "block_public_acls": true,
+ "block_public_policy": true,
+ "bucket": "\${aws_s3_bucket.root_cloudBucket_4F3C4F53.bucket}",
+ "ignore_public_acls": true,
+ "restrict_public_buckets": true,
+ },
+ },
+ "aws_s3_bucket_server_side_encryption_configuration": {
+ "root_cloudBucket_Encryption_8ED0CD9C": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Bucket/Encryption",
+ "uniqueId": "root_cloudBucket_Encryption_8ED0CD9C",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_cloudBucket_4F3C4F53.bucket}",
+ "rule": [
+ {
+ "apply_server_side_encryption_by_default": {
+ "sse_algorithm": "AES256",
+ },
+ },
+ ],
+ },
+ },
+ "aws_s3_object": {
+ "root_cloudFunction_S3Object_C8435368": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Function/S3Object",
+ "uniqueId": "root_cloudFunction_S3Object_C8435368",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_cloudFunction_Code_2F6A7948.bucket}",
+ "key": "",
+ },
+ },
+ },
+}
+`;
+
+exports[`json_bucket.w > wing compile --target tf-aws > preflight.js 1`] = `
+"const $stdlib = require('@winglang/sdk');
+const $outdir = process.env.WINGSDK_SYNTH_DIR ?? \\".\\";
+
+function __app(target) {
+ switch (target) {
+ case \\"sim\\":
+ return $stdlib.sim.App;
+ case \\"tfaws\\":
+ case \\"tf-aws\\":
+ return $stdlib.tfaws.App;
+ case \\"tf-gcp\\":
+ return $stdlib.tfgcp.App;
+ case \\"tf-azure\\":
+ return $stdlib.tfazure.App;
+ default:
+ throw new Error(\`Unknown WING_TARGET value: \\"\${process.env.WING_TARGET ?? \\"\\"}\\"\`);
+ }
+}
+const $App = __app(process.env.WING_TARGET);
+
+const cloud = require('@winglang/sdk').cloud;
+class MyApp extends $App {
+constructor() {
+ super({ outdir: $outdir, name: \\"json_bucket\\", plugins: $plugins });
+
+ const b = this.node.root.newAbstract(\\"@winglang/sdk.cloud.Bucket\\",this,\\"cloud.Bucket\\");
+ const file_name = \\"file.json\\";
+ const j = Object.freeze({\\"persons\\":[{\\"age\\":30,\\"fears\\":[\\"heights\\", \\"failure\\"],\\"name\\":\\"hasan\\"}]});
+ const get_json = this.node.root.newAbstract(\\"@winglang/sdk.cloud.Function\\",this,\\"cloud.Function\\",new $stdlib.core.Inflight(this, \\"$Inflight1\\", {
+ code: $stdlib.core.NodeJsCode.fromFile(require('path').resolve(__dirname, \\"proc.1dabd42192b8d28a57f44a84b644a18eb6fedb868257af123181c0ecec2c2a70/index.js\\").replace(/\\\\\\\\/g, \\"/\\")),
+ bindings: {
+ b: {
+ obj: b,
+ ops: [\\"delete\\",\\"get\\",\\"get_json\\",\\"list\\",\\"put\\",\\"put_json\\"]
+ },
+ file_name: {
+ obj: file_name,
+ ops: []
+ },
+ }
+ }));
+ this.node.root.newAbstract(\\"@winglang/sdk.cloud.Function\\",this,\\"test:put\\",new $stdlib.core.Inflight(this, \\"$Inflight2\\", {
+ code: $stdlib.core.NodeJsCode.fromFile(require('path').resolve(__dirname, \\"proc.742d4f24b17fb7f7f831acbd15487b30d36ad90d44229b79672a09f910cb6619/index.js\\").replace(/\\\\\\\\/g, \\"/\\")),
+ bindings: {
+ b: {
+ obj: b,
+ ops: [\\"delete\\",\\"get\\",\\"get_json\\",\\"list\\",\\"put\\",\\"put_json\\"]
+ },
+ file_name: {
+ obj: file_name,
+ ops: []
+ },
+ get_json: {
+ obj: get_json,
+ ops: [\\"invoke\\"]
+ },
+ j: {
+ obj: j,
+ ops: []
+ },
+ }
+ }));
+}
+}
+new MyApp().synth();"
+`;
+
+exports[`mut_container_types.w > wing compile --target tf-aws > main.tf.json 1`] = `
+{
+ "//": {
+ "metadata": {
+ "backend": "local",
+ "stackName": "root",
+ "version": "0.15.2",
+ },
+ "outputs": {},
+ },
+ "provider": {
+ "aws": [
+ {},
+ ],
+ },
+ "resource": {
+ "aws_s3_bucket": {
+ "root_bucket1_3A77B9B4": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/bucket1/Default",
+ "uniqueId": "root_bucket1_3A77B9B4",
+ },
+ },
+ "bucket_prefix": "bucket1-c81ed215-",
+ },
+ "root_bucket2_E39F70EE": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/bucket2/Default",
+ "uniqueId": "root_bucket2_E39F70EE",
+ },
+ },
+ "bucket_prefix": "bucket2-c83a0be6-",
+ },
+ "root_bucket3_A0C568EA": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/bucket3/Default",
+ "uniqueId": "root_bucket3_A0C568EA",
+ },
+ },
+ "bucket_prefix": "bucket3-c8b6c706-",
+ },
+ },
+ "aws_s3_bucket_public_access_block": {
+ "root_bucket1_PublicAccessBlock_6C5071C0": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/bucket1/PublicAccessBlock",
+ "uniqueId": "root_bucket1_PublicAccessBlock_6C5071C0",
+ },
+ },
+ "block_public_acls": true,
+ "block_public_policy": true,
+ "bucket": "\${aws_s3_bucket.root_bucket1_3A77B9B4.bucket}",
+ "ignore_public_acls": true,
+ "restrict_public_buckets": true,
+ },
+ "root_bucket2_PublicAccessBlock_BC328E84": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/bucket2/PublicAccessBlock",
+ "uniqueId": "root_bucket2_PublicAccessBlock_BC328E84",
+ },
+ },
+ "block_public_acls": true,
+ "block_public_policy": true,
+ "bucket": "\${aws_s3_bucket.root_bucket2_E39F70EE.bucket}",
+ "ignore_public_acls": true,
+ "restrict_public_buckets": true,
+ },
+ "root_bucket3_PublicAccessBlock_CF2593D4": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/bucket3/PublicAccessBlock",
+ "uniqueId": "root_bucket3_PublicAccessBlock_CF2593D4",
+ },
+ },
+ "block_public_acls": true,
+ "block_public_policy": true,
+ "bucket": "\${aws_s3_bucket.root_bucket3_A0C568EA.bucket}",
+ "ignore_public_acls": true,
+ "restrict_public_buckets": true,
+ },
+ },
+ "aws_s3_bucket_server_side_encryption_configuration": {
+ "root_bucket1_Encryption_33CABC1A": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/bucket1/Encryption",
+ "uniqueId": "root_bucket1_Encryption_33CABC1A",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_bucket1_3A77B9B4.bucket}",
+ "rule": [
+ {
+ "apply_server_side_encryption_by_default": {
+ "sse_algorithm": "AES256",
+ },
+ },
+ ],
+ },
+ "root_bucket2_Encryption_A83E82F9": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/bucket2/Encryption",
+ "uniqueId": "root_bucket2_Encryption_A83E82F9",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_bucket2_E39F70EE.bucket}",
+ "rule": [
+ {
+ "apply_server_side_encryption_by_default": {
+ "sse_algorithm": "AES256",
+ },
+ },
+ ],
+ },
+ "root_bucket3_Encryption_A2A51E22": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/bucket3/Encryption",
+ "uniqueId": "root_bucket3_Encryption_A2A51E22",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_bucket3_A0C568EA.bucket}",
+ "rule": [
+ {
+ "apply_server_side_encryption_by_default": {
+ "sse_algorithm": "AES256",
+ },
+ },
+ ],
+ },
+ },
+ },
+}
+`;
+
+exports[`mut_container_types.w > wing compile --target tf-aws > preflight.js 1`] = `
+"const $stdlib = require('@winglang/sdk');
+const $outdir = process.env.WINGSDK_SYNTH_DIR ?? \\".\\";
+
+function __app(target) {
+ switch (target) {
+ case \\"sim\\":
+ return $stdlib.sim.App;
+ case \\"tfaws\\":
+ case \\"tf-aws\\":
+ return $stdlib.tfaws.App;
+ case \\"tf-gcp\\":
+ return $stdlib.tfgcp.App;
+ case \\"tf-azure\\":
+ return $stdlib.tfazure.App;
+ default:
+ throw new Error(\`Unknown WING_TARGET value: \\"\${process.env.WING_TARGET ?? \\"\\"}\\"\`);
+ }
+}
+const $App = __app(process.env.WING_TARGET);
+
+const cloud = require('@winglang/sdk').cloud;
+class MyApp extends $App {
+constructor() {
+ super({ outdir: $outdir, name: \\"mut_container_types\\", plugins: $plugins });
+
+ const bucket1 = this.node.root.newAbstract(\\"@winglang/sdk.cloud.Bucket\\",this,\\"bucket1\\");
+ const bucket2 = this.node.root.newAbstract(\\"@winglang/sdk.cloud.Bucket\\",this,\\"bucket2\\");
+ const bucket3 = this.node.root.newAbstract(\\"@winglang/sdk.cloud.Bucket\\",this,\\"bucket3\\");
+ const arr1 = [\\"a\\", \\"b\\", \\"c\\"];
+ const arr2 = [1, 2, 3];
+ const arr3 = [bucket1, bucket2];
+ const arr4 = arr1;
+ (arr1.push(\\"a\\"));
+ (arr2.push(4));
+ (arr3.push(bucket3));
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((arr2.pop()) === 4)'\`)})(((arr2.pop()) === 4))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(arr1.length === 4)'\`)})((arr1.length === 4))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((arr4.at(0)) === \\"a\\")'\`)})(((arr4.at(0)) === \\"a\\"))};
+ const s1 = new Set([1, 2, 3, 3]);
+ const s2 = new Set([\\"hello\\", \\"world\\", \\"hello\\"]);
+ const s3 = new Set([bucket1, bucket2, bucket2]);
+ (s1.add(5));
+ (s2.add(\\"bye\\"));
+ (s3.add(bucket3));
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(s2.has(\\"bye\\"))'\`)})((s2.has(\\"bye\\")))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(s2.has(\\"hello\\"))'\`)})((s2.has(\\"hello\\")))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(s3.has(bucket2))'\`)})((s3.has(bucket2)))};
+ const m1 = {\\"hello\\":\\"world\\"};
+ const m2 = {\\"hello\\":123};
+ const m3 = {\\"b1\\":bucket1,\\"b2\\":bucket2};
+ const m4 = m1;
+ const m5 = {\\"goodbye\\":\\"world\\"};
+ const m6 = {\\"a\\":m1,\\"b\\":m5};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(\\"hello\\" in (m1))'\`)})((\\"hello\\" in (m1)))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(Object.keys(m2).length === 1)'\`)})((Object.keys(m2).length === 1))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((m3)[\\"b1\\"] === bucket1)'\`)})(((m3)[\\"b1\\"] === bucket1))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(Object.keys(m4).length === 1)'\`)})((Object.keys(m4).length === 1))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(((m6)[\\"a\\"])[\\"hello\\"] === \\"world\\")'\`)})((((m6)[\\"a\\"])[\\"hello\\"] === \\"world\\"))};
+ ((obj, args) => { obj[args[0]] = args[1]; })(m1, [\\"hello\\",\\"goodbye\\"]);
+ ((obj, args) => { obj[args[0]] = args[1]; })(m6, [\\"a\\",{\\"foo\\":\\"bar\\"}]);
+ ((map) => { for(const k in map){delete map[k]}; })(m2);
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(Object.keys(m2).length === 0)'\`)})((Object.keys(m2).length === 0))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((m1)[\\"hello\\"] === \\"goodbye\\")'\`)})(((m1)[\\"hello\\"] === \\"goodbye\\"))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(((m6)[\\"a\\"])[\\"foo\\"] === \\"bar\\")'\`)})((((m6)[\\"a\\"])[\\"foo\\"] === \\"bar\\"))};
+}
+}
+new MyApp().synth();"
+`;
+
+exports[`primitive_methods.w > wing compile --target tf-aws > main.tf.json 1`] = `
+{
+ "//": {
+ "metadata": {
+ "backend": "local",
+ "stackName": "root",
+ "version": "0.15.2",
+ },
+ "outputs": {},
+ },
+ "provider": {
+ "aws": [
+ {},
+ ],
+ },
+}
+`;
+
+exports[`primitive_methods.w > wing compile --target tf-aws > preflight.js 1`] = `
+"const $stdlib = require('@winglang/sdk');
+const $outdir = process.env.WINGSDK_SYNTH_DIR ?? \\".\\";
+
+function __app(target) {
+ switch (target) {
+ case \\"sim\\":
+ return $stdlib.sim.App;
+ case \\"tfaws\\":
+ case \\"tf-aws\\":
+ return $stdlib.tfaws.App;
+ case \\"tf-gcp\\":
+ return $stdlib.tfgcp.App;
+ case \\"tf-azure\\":
+ return $stdlib.tfazure.App;
+ default:
+ throw new Error(\`Unknown WING_TARGET value: \\"\${process.env.WING_TARGET ?? \\"\\"}\\"\`);
+ }
+}
+const $App = __app(process.env.WING_TARGET);
+
+class MyApp extends $App {
+constructor() {
+ super({ outdir: $outdir, name: \\"primitive_methods\\", plugins: $plugins });
+
+ const dur = $stdlib.std.Duration.fromSeconds(60);
+ const dur2 = $stdlib.std.Duration.fromSeconds(600);
+ const f = (d) => {
+ {
+ }
+ };
+ const stringy = \`\${dur.minutes}:\${dur.seconds}\`;
+ {console.log(stringy)};
+ if ((stringy.includes(\\"60\\") && (((stringy.split(\\":\\")).at(0)) === \\"60\\"))) {
+ {console.log(\`\${stringy.length}!\`)};
+ }
+}
+}
+new MyApp().synth();"
+`;
+
+exports[`print.w > wing compile --target tf-aws > index.js 1`] = `
+"async handle() { const { } = this; {
+ {console.log(\\"inflight print 2.1\\")};
+ {console.log(\\"inflight print 2.2\\")};
+} };"
+`;
+
+exports[`print.w > wing compile --target tf-aws > index.js 2`] = `
+"async handle() { const { } = this; {
+ {console.log(\\"inflight print 1.1\\")};
+ {console.log(\\"inflight print 1.2\\")};
+} };"
+`;
+
+exports[`print.w > wing compile --target tf-aws > main.tf.json 1`] = `
+{
+ "//": {
+ "metadata": {
+ "backend": "local",
+ "stackName": "root",
+ "version": "0.15.2",
+ },
+ "outputs": {},
+ },
+ "provider": {
+ "aws": [
+ {},
+ ],
+ },
+ "resource": {
+ "aws_iam_role": {
+ "root_testprint1_IamRole_AC783F9C": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:print1/IamRole",
+ "uniqueId": "root_testprint1_IamRole_AC783F9C",
+ },
+ },
+ "assume_role_policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":\\"sts:AssumeRole\\",\\"Principal\\":{\\"Service\\":\\"lambda.amazonaws.com\\"},\\"Effect\\":\\"Allow\\"}]}",
+ },
+ "root_testprint2_IamRole_1A5A4191": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:print2/IamRole",
+ "uniqueId": "root_testprint2_IamRole_1A5A4191",
+ },
+ },
+ "assume_role_policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":\\"sts:AssumeRole\\",\\"Principal\\":{\\"Service\\":\\"lambda.amazonaws.com\\"},\\"Effect\\":\\"Allow\\"}]}",
+ },
+ },
+ "aws_iam_role_policy": {
+ "root_testprint1_IamRolePolicy_806AD6C3": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:print1/IamRolePolicy",
+ "uniqueId": "root_testprint1_IamRolePolicy_806AD6C3",
+ },
+ },
+ "policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Effect\\":\\"Allow\\",\\"Action\\":\\"none:null\\",\\"Resource\\":\\"*\\"}]}",
+ "role": "\${aws_iam_role.root_testprint1_IamRole_AC783F9C.name}",
+ },
+ "root_testprint2_IamRolePolicy_D459BDAF": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:print2/IamRolePolicy",
+ "uniqueId": "root_testprint2_IamRolePolicy_D459BDAF",
+ },
+ },
+ "policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Effect\\":\\"Allow\\",\\"Action\\":\\"none:null\\",\\"Resource\\":\\"*\\"}]}",
+ "role": "\${aws_iam_role.root_testprint2_IamRole_1A5A4191.name}",
+ },
+ },
+ "aws_iam_role_policy_attachment": {
+ "root_testprint1_IamRolePolicyAttachment_E361420B": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:print1/IamRolePolicyAttachment",
+ "uniqueId": "root_testprint1_IamRolePolicyAttachment_E361420B",
+ },
+ },
+ "policy_arn": "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ "role": "\${aws_iam_role.root_testprint1_IamRole_AC783F9C.name}",
+ },
+ "root_testprint2_IamRolePolicyAttachment_00548F9A": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:print2/IamRolePolicyAttachment",
+ "uniqueId": "root_testprint2_IamRolePolicyAttachment_00548F9A",
+ },
+ },
+ "policy_arn": "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ "role": "\${aws_iam_role.root_testprint2_IamRole_1A5A4191.name}",
+ },
+ },
+ "aws_lambda_function": {
+ "root_testprint1_86EB7ADD": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:print1/Default",
+ "uniqueId": "root_testprint1_86EB7ADD",
+ },
+ },
+ "environment": {
+ "variables": {
+ "WING_FUNCTION_NAME": "test-print1-c85e6495",
+ },
+ },
+ "function_name": "test-print1-c85e6495",
+ "handler": "index.handler",
+ "publish": true,
+ "role": "\${aws_iam_role.root_testprint1_IamRole_AC783F9C.arn}",
+ "runtime": "nodejs16.x",
+ "s3_bucket": "\${aws_s3_bucket.root_testprint1_Code_EF1D7786.bucket}",
+ "s3_key": "\${aws_s3_object.root_testprint1_S3Object_BF976A20.key}",
+ "timeout": 30,
+ },
+ "root_testprint2_C35721E6": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:print2/Default",
+ "uniqueId": "root_testprint2_C35721E6",
+ },
+ },
+ "environment": {
+ "variables": {
+ "WING_FUNCTION_NAME": "test-print2-c864b24f",
+ },
+ },
+ "function_name": "test-print2-c864b24f",
+ "handler": "index.handler",
+ "publish": true,
+ "role": "\${aws_iam_role.root_testprint2_IamRole_1A5A4191.arn}",
+ "runtime": "nodejs16.x",
+ "s3_bucket": "\${aws_s3_bucket.root_testprint2_Code_0F714597.bucket}",
+ "s3_key": "\${aws_s3_object.root_testprint2_S3Object_22A6E03D.key}",
+ "timeout": 30,
+ },
+ },
+ "aws_s3_bucket": {
+ "root_testprint1_Code_EF1D7786": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:print1/Code",
+ "uniqueId": "root_testprint1_Code_EF1D7786",
+ },
+ },
+ "bucket_prefix": "code-c8dcf8b8-",
+ },
+ "root_testprint2_Code_0F714597": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:print2/Code",
+ "uniqueId": "root_testprint2_Code_0F714597",
+ },
+ },
+ "bucket_prefix": "code-c8d35efe-",
+ },
+ },
+ "aws_s3_object": {
+ "root_testprint1_S3Object_BF976A20": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:print1/S3Object",
+ "uniqueId": "root_testprint1_S3Object_BF976A20",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_testprint1_Code_EF1D7786.bucket}",
+ "key": "",
+ },
+ },
+ },
+}
+`;
+
+exports[`print.w > wing compile --target tf-aws > preflight.js 1`] = `
+"const $stdlib = require('@winglang/sdk');
+const $outdir = process.env.WINGSDK_SYNTH_DIR ?? \\".\\";
+
+function __app(target) {
+ switch (target) {
+ case \\"sim\\":
+ return $stdlib.sim.App;
+ case \\"tfaws\\":
+ case \\"tf-aws\\":
+ return $stdlib.tfaws.App;
+ case \\"tf-gcp\\":
+ return $stdlib.tfgcp.App;
+ case \\"tf-azure\\":
+ return $stdlib.tfazure.App;
+ default:
+ throw new Error(\`Unknown WING_TARGET value: \\"\${process.env.WING_TARGET ?? \\"\\"}\\"\`);
+ }
+}
+const $App = __app(process.env.WING_TARGET);
+
+const cloud = require('@winglang/sdk').cloud;
+class MyApp extends $App {
+constructor() {
+ super({ outdir: $outdir, name: \\"print\\", plugins: $plugins });
+
+ {console.log(\\"preflight print\\")};
+ this.node.root.newAbstract(\\"@winglang/sdk.cloud.Function\\",this,\\"test:print1\\",new $stdlib.core.Inflight(this, \\"$Inflight1\\", {
+ code: $stdlib.core.NodeJsCode.fromFile(require('path').resolve(__dirname, \\"proc.5d5065e7d4d5abb68575b6b618fc014e76b4159c3240fef327354a5900bb9fa6/index.js\\").replace(/\\\\\\\\/g, \\"/\\")),
+ bindings: {
+ }
+ }));
+ this.node.root.newAbstract(\\"@winglang/sdk.cloud.Function\\",this,\\"test:print2\\",new $stdlib.core.Inflight(this, \\"$Inflight2\\", {
+ code: $stdlib.core.NodeJsCode.fromFile(require('path').resolve(__dirname, \\"proc.44e74a6db41cb5fd5b35696592c6a747e9831b228b4d1ce62b6e65f43dee835d/index.js\\").replace(/\\\\\\\\/g, \\"/\\")),
+ bindings: {
+ }
+ }));
+}
+}
+new MyApp().synth();"
+`;
+
+exports[`reassignment.w > wing compile --target tf-aws > R.inflight.js 1`] = `
+"export class R_inflight {
+constructor({ f1 }) {
+
+ this.f1 = f1;
+}
+}"
+`;
+
+exports[`reassignment.w > wing compile --target tf-aws > main.tf.json 1`] = `
+{
+ "//": {
+ "metadata": {
+ "backend": "local",
+ "stackName": "root",
+ "version": "0.15.2",
+ },
+ "outputs": {},
+ },
+ "provider": {
+ "aws": [
+ {},
+ ],
+ },
+}
+`;
+
+exports[`reassignment.w > wing compile --target tf-aws > preflight.js 1`] = `
+"const $stdlib = require('@winglang/sdk');
+const $outdir = process.env.WINGSDK_SYNTH_DIR ?? \\".\\";
+
+function __app(target) {
+ switch (target) {
+ case \\"sim\\":
+ return $stdlib.sim.App;
+ case \\"tfaws\\":
+ case \\"tf-aws\\":
+ return $stdlib.tfaws.App;
+ case \\"tf-gcp\\":
+ return $stdlib.tfgcp.App;
+ case \\"tf-azure\\":
+ return $stdlib.tfazure.App;
+ default:
+ throw new Error(\`Unknown WING_TARGET value: \\"\${process.env.WING_TARGET ?? \\"\\"}\\"\`);
+ }
+}
+const $App = __app(process.env.WING_TARGET);
+
+class MyApp extends $App {
+constructor() {
+ super({ outdir: $outdir, name: \\"reassignment\\", plugins: $plugins });
+
+ class R extends $stdlib.core.Resource {
+ constructor(scope, id, ) {
+ super(scope, id);
+ {
+ if (true) {
+ this.f = 1;
+ this.f1 = 0;
+ }
+ }
+ }
+ inc() {
+ {
+ this.f = (this.f + 1);
+ }
+ }
+ _toInflight() {
+ const f1_client = this._lift(this.f1);
+ const self_client_path = require('path').resolve(__dirname, \\"clients/R.inflight.js\\").replace(/\\\\\\\\/g, \\"/\\");
+ return $stdlib.core.NodeJsCode.fromInline(\`(new (require(\\"\${self_client_path}\\")).R_inflight({f1: \${f1_client}}))\`);
+ }
+ }
+
+ let x = 5;
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(x === 5)'\`)})((x === 5))};
+ x = (x + 1);
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(x === 6)'\`)})((x === 6))};
+ const r = new R(this,\\"R\\");
+ (r.inc());
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(r.f === 2)'\`)})((r.f === 2))};
+ const f = (arg) => {
+ {
+ arg = 0;
+ return arg;
+ }
+ };
+ const y = 1;
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((f(y)) === 0)'\`)})(((f(y)) === 0))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(y === 1)'\`)})((y === 1))};
+}
+}
+new MyApp().synth();"
+`;
+
+exports[`resource.w > wing compile --target tf-aws > Bar.inflight.js 1`] = `
+"export class Bar_inflight {
+constructor({ b, foo, name }) {
+
+ this.b = b;
+ this.foo = foo;
+ this.name = name;
+}
+async my_method() {
+ {
+ (await this.foo.foo_inc());
+ (await this.b.put(\\"foo\\",\`counter is: \${(await this.foo.foo_get())}\`));
+ return (await this.b.get(\\"foo\\"));
+}
+}}"
+`;
+
+exports[`resource.w > wing compile --target tf-aws > Foo.inflight.js 1`] = `
+"export class Foo_inflight {
+constructor({ c }) {
+
+ this.c = c;
+}
+async foo_inc() {
+ {
+ (await this.c.inc());
+}
+}
+async foo_get() {
+ {
+ return (await this.c.peek());
+}
+}}"
+`;
+
+exports[`resource.w > wing compile --target tf-aws > index.js 1`] = `
+"async handle() { const { bucket, res } = this; {
+ const s = (await res.my_method());
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(s === \\"counter is: 1\\")'\`)})((s === \\"counter is: 1\\"))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((await bucket.list()).length === 1)'\`)})(((await bucket.list()).length === 1))};
+} };"
+`;
+
+exports[`resource.w > wing compile --target tf-aws > main.tf.json 1`] = `
+{
+ "//": {
+ "metadata": {
+ "backend": "local",
+ "stackName": "root",
+ "version": "0.15.2",
+ },
+ "outputs": {},
+ },
+ "provider": {
+ "aws": [
+ {},
+ ],
+ },
+ "resource": {
+ "aws_dynamodb_table": {
+ "root_Bar_Foo_cloudCounter_616CF239": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/Bar/Foo/cloud.Counter/Default",
+ "uniqueId": "root_Bar_Foo_cloudCounter_616CF239",
+ },
+ },
+ "attribute": [
+ {
+ "name": "id",
+ "type": "S",
+ },
+ ],
+ "billing_mode": "PAY_PER_REQUEST",
+ "hash_key": "id",
+ "name": "wing-counter-cloud.Counter-c8ef80ad",
+ },
+ },
+ "aws_iam_role": {
+ "root_test_IamRole_6CDC2D16": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/IamRole",
+ "uniqueId": "root_test_IamRole_6CDC2D16",
+ },
+ },
+ "assume_role_policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":\\"sts:AssumeRole\\",\\"Principal\\":{\\"Service\\":\\"lambda.amazonaws.com\\"},\\"Effect\\":\\"Allow\\"}]}",
+ },
+ },
+ "aws_iam_role_policy": {
+ "root_test_IamRolePolicy_474A6820": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/IamRolePolicy",
+ "uniqueId": "root_test_IamRolePolicy_474A6820",
+ },
+ },
+ "policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":[\\"s3:PutObject*\\",\\"s3:Abort*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}\\",\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:GetObject*\\",\\"s3:GetBucket*\\",\\"s3:List*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}\\",\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:GetObject*\\",\\"s3:GetBucket*\\",\\"s3:List*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}\\",\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:DeleteObject*\\",\\"s3:DeleteObjectVersion*\\",\\"s3:PutLifecycleConfiguration*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}\\",\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"dynamodb:UpdateItem\\"],\\"Resource\\":\\"\${aws_dynamodb_table.root_Bar_Foo_cloudCounter_616CF239.arn}\\",\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"dynamodb:GetItem\\"],\\"Resource\\":\\"\${aws_dynamodb_table.root_Bar_Foo_cloudCounter_616CF239.arn}\\",\\"Effect\\":\\"Allow\\"}]}",
+ "role": "\${aws_iam_role.root_test_IamRole_6CDC2D16.name}",
+ },
+ },
+ "aws_iam_role_policy_attachment": {
+ "root_test_IamRolePolicyAttachment_1102A28A": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/IamRolePolicyAttachment",
+ "uniqueId": "root_test_IamRolePolicyAttachment_1102A28A",
+ },
+ },
+ "policy_arn": "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ "role": "\${aws_iam_role.root_test_IamRole_6CDC2D16.name}",
+ },
+ },
+ "aws_lambda_function": {
+ "root_test_AAE85061": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/Default",
+ "uniqueId": "root_test_AAE85061",
+ },
+ },
+ "environment": {
+ "variables": {
+ "BUCKET_NAME_d755b447": "\${aws_s3_bucket.root_cloudBucket_4F3C4F53.bucket}",
+ "DYNAMODB_TABLE_NAME_c7446906": "\${aws_dynamodb_table.root_Bar_Foo_cloudCounter_616CF239.name}",
+ "WING_FUNCTION_NAME": "test-c8b6eece",
+ },
+ },
+ "function_name": "test-c8b6eece",
+ "handler": "index.handler",
+ "publish": true,
+ "role": "\${aws_iam_role.root_test_IamRole_6CDC2D16.arn}",
+ "runtime": "nodejs16.x",
+ "s3_bucket": "\${aws_s3_bucket.root_test_Code_2D131EC2.bucket}",
+ "s3_key": "\${aws_s3_object.root_test_S3Object_A16CD789.key}",
+ "timeout": 30,
+ },
+ },
+ "aws_s3_bucket": {
+ "root_cloudBucket_4F3C4F53": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Bucket/Default",
+ "uniqueId": "root_cloudBucket_4F3C4F53",
+ },
+ },
+ "bucket_prefix": "cloud-bucket-c87175e7-",
+ },
+ "root_test_Code_2D131EC2": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/Code",
+ "uniqueId": "root_test_Code_2D131EC2",
+ },
+ },
+ "bucket_prefix": "code-c883c33b-",
+ },
+ },
+ "aws_s3_bucket_public_access_block": {
+ "root_cloudBucket_PublicAccessBlock_319C1C2E": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Bucket/PublicAccessBlock",
+ "uniqueId": "root_cloudBucket_PublicAccessBlock_319C1C2E",
+ },
+ },
+ "block_public_acls": true,
+ "block_public_policy": true,
+ "bucket": "\${aws_s3_bucket.root_cloudBucket_4F3C4F53.bucket}",
+ "ignore_public_acls": true,
+ "restrict_public_buckets": true,
+ },
+ },
+ "aws_s3_bucket_server_side_encryption_configuration": {
+ "root_cloudBucket_Encryption_8ED0CD9C": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Bucket/Encryption",
+ "uniqueId": "root_cloudBucket_Encryption_8ED0CD9C",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_cloudBucket_4F3C4F53.bucket}",
+ "rule": [
+ {
+ "apply_server_side_encryption_by_default": {
+ "sse_algorithm": "AES256",
+ },
+ },
+ ],
+ },
+ },
+ "aws_s3_object": {
+ "root_test_S3Object_A16CD789": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/S3Object",
+ "uniqueId": "root_test_S3Object_A16CD789",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_test_Code_2D131EC2.bucket}",
+ "key": "",
+ },
+ },
+ },
+}
+`;
+
+exports[`resource.w > wing compile --target tf-aws > preflight.js 1`] = `
+"const $stdlib = require('@winglang/sdk');
+const $outdir = process.env.WINGSDK_SYNTH_DIR ?? \\".\\";
+
+function __app(target) {
+ switch (target) {
+ case \\"sim\\":
+ return $stdlib.sim.App;
+ case \\"tfaws\\":
+ case \\"tf-aws\\":
+ return $stdlib.tfaws.App;
+ case \\"tf-gcp\\":
+ return $stdlib.tfgcp.App;
+ case \\"tf-azure\\":
+ return $stdlib.tfazure.App;
+ default:
+ throw new Error(\`Unknown WING_TARGET value: \\"\${process.env.WING_TARGET ?? \\"\\"}\\"\`);
+ }
+}
+const $App = __app(process.env.WING_TARGET);
+
+const cloud = require('@winglang/sdk').cloud;
+class MyApp extends $App {
+constructor() {
+ super({ outdir: $outdir, name: \\"resource\\", plugins: $plugins });
+
+ class Foo extends $stdlib.core.Resource {
+ constructor(scope, id, ) {
+ super(scope, id);
+ {
+ this.c = this.node.root.newAbstract(\\"@winglang/sdk.cloud.Counter\\",this,\\"cloud.Counter\\");
+ }
+ }
+
+ _toInflight() {
+ const c_client = this._lift(this.c);
+ const self_client_path = require('path').resolve(__dirname, \\"clients/Foo.inflight.js\\").replace(/\\\\\\\\/g, \\"/\\");
+ return $stdlib.core.NodeJsCode.fromInline(\`(new (require(\\"\${self_client_path}\\")).Foo_inflight({c: \${c_client}}))\`);
+ }
+ }
+ Foo._annotateInflight(\\"foo_inc\\", {\\"this.c\\": { ops: [\\"inc\\"] }});
+ Foo._annotateInflight(\\"foo_get\\", {\\"this.c\\": { ops: [\\"peek\\"] }});
+ class Bar extends $stdlib.core.Resource {
+ constructor(scope, id, name, b) {
+ super(scope, id);
+ {
+ this.name = name;
+ this.b = b;
+ this.foo = new Foo(this,\\"Foo\\");
+ }
+ }
+
+ _toInflight() {
+ const b_client = this._lift(this.b);
+ const foo_client = this._lift(this.foo);
+ const name_client = this._lift(this.name);
+ const self_client_path = require('path').resolve(__dirname, \\"clients/Bar.inflight.js\\").replace(/\\\\\\\\/g, \\"/\\");
+ return $stdlib.core.NodeJsCode.fromInline(\`(new (require(\\"\${self_client_path}\\")).Bar_inflight({b: \${b_client}, foo: \${foo_client}, name: \${name_client}}))\`);
+ }
+ }
+ Bar._annotateInflight(\\"my_method\\", {\\"this.b\\": { ops: [\\"get\\",\\"put\\"] },\\"this.foo\\": { ops: [\\"foo_get\\",\\"foo_inc\\"] }});
+ const bucket = this.node.root.newAbstract(\\"@winglang/sdk.cloud.Bucket\\",this,\\"cloud.Bucket\\");
+ const res = new Bar(this,\\"Bar\\",\\"Arr\\",bucket);
+ this.node.root.newAbstract(\\"@winglang/sdk.cloud.Function\\",this,\\"test\\",new $stdlib.core.Inflight(this, \\"$Inflight1\\", {
+ code: $stdlib.core.NodeJsCode.fromFile(require('path').resolve(__dirname, \\"proc.e50bc85b13df379286b4aa72aa88788422e26d9146adbc9bba989a8a59253a73/index.js\\").replace(/\\\\\\\\/g, \\"/\\")),
+ bindings: {
+ bucket: {
+ obj: bucket,
+ ops: [\\"delete\\",\\"get\\",\\"get_json\\",\\"list\\",\\"put\\",\\"put_json\\"]
+ },
+ res: {
+ obj: res,
+ ops: [\\"my_method\\"]
+ },
+ }
+ }));
+}
+}
+new MyApp().synth();"
+`;
+
+exports[`statements_if.w > wing compile --target tf-aws > index.js 1`] = `
+"async handle(s) { const { } = this; {
+ if (true) {
+ const x = 2;
+ if ((true && ((x + 2) === 4))) {
+ if ((true && ((x + 3) === 4))) {
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: 'false'\`)})(false)};
+ } else if ((true && ((x + 3) === 6))) {
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: 'false'\`)})(false)};
+ } else if ((false || ((x + 3) === 5))) {
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: 'true'\`)})(true)};
+ } else {
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: 'false'\`)})(false)};
+ }
+ } else {
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: 'false'\`)})(false)};
+ }
+ }
+} };"
+`;
+
+exports[`statements_if.w > wing compile --target tf-aws > main.tf.json 1`] = `
+{
+ "//": {
+ "metadata": {
+ "backend": "local",
+ "stackName": "root",
+ "version": "0.15.2",
+ },
+ "outputs": {},
+ },
+ "provider": {
+ "aws": [
+ {},
+ ],
+ },
+ "resource": {
+ "aws_iam_role": {
+ "root_test_IamRole_6CDC2D16": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/IamRole",
+ "uniqueId": "root_test_IamRole_6CDC2D16",
+ },
+ },
+ "assume_role_policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":\\"sts:AssumeRole\\",\\"Principal\\":{\\"Service\\":\\"lambda.amazonaws.com\\"},\\"Effect\\":\\"Allow\\"}]}",
+ },
+ },
+ "aws_iam_role_policy": {
+ "root_test_IamRolePolicy_474A6820": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/IamRolePolicy",
+ "uniqueId": "root_test_IamRolePolicy_474A6820",
+ },
+ },
+ "policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Effect\\":\\"Allow\\",\\"Action\\":\\"none:null\\",\\"Resource\\":\\"*\\"}]}",
+ "role": "\${aws_iam_role.root_test_IamRole_6CDC2D16.name}",
+ },
+ },
+ "aws_iam_role_policy_attachment": {
+ "root_test_IamRolePolicyAttachment_1102A28A": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/IamRolePolicyAttachment",
+ "uniqueId": "root_test_IamRolePolicyAttachment_1102A28A",
+ },
+ },
+ "policy_arn": "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ "role": "\${aws_iam_role.root_test_IamRole_6CDC2D16.name}",
+ },
+ },
+ "aws_lambda_function": {
+ "root_test_AAE85061": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/Default",
+ "uniqueId": "root_test_AAE85061",
+ },
+ },
+ "environment": {
+ "variables": {
+ "WING_FUNCTION_NAME": "test-c8b6eece",
+ },
+ },
+ "function_name": "test-c8b6eece",
+ "handler": "index.handler",
+ "publish": true,
+ "role": "\${aws_iam_role.root_test_IamRole_6CDC2D16.arn}",
+ "runtime": "nodejs16.x",
+ "s3_bucket": "\${aws_s3_bucket.root_test_Code_2D131EC2.bucket}",
+ "s3_key": "\${aws_s3_object.root_test_S3Object_A16CD789.key}",
+ "timeout": 30,
+ },
+ },
+ "aws_s3_bucket": {
+ "root_test_Code_2D131EC2": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/Code",
+ "uniqueId": "root_test_Code_2D131EC2",
+ },
+ },
+ "bucket_prefix": "code-c883c33b-",
+ },
+ },
+ "aws_s3_object": {
+ "root_test_S3Object_A16CD789": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/S3Object",
+ "uniqueId": "root_test_S3Object_A16CD789",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_test_Code_2D131EC2.bucket}",
+ "key": "",
+ },
+ },
+ },
+}
+`;
+
+exports[`statements_if.w > wing compile --target tf-aws > preflight.js 1`] = `
+"const $stdlib = require('@winglang/sdk');
+const $outdir = process.env.WINGSDK_SYNTH_DIR ?? \\".\\";
+
+function __app(target) {
+ switch (target) {
+ case \\"sim\\":
+ return $stdlib.sim.App;
+ case \\"tfaws\\":
+ case \\"tf-aws\\":
+ return $stdlib.tfaws.App;
+ case \\"tf-gcp\\":
+ return $stdlib.tfgcp.App;
+ case \\"tf-azure\\":
+ return $stdlib.tfazure.App;
+ default:
+ throw new Error(\`Unknown WING_TARGET value: \\"\${process.env.WING_TARGET ?? \\"\\"}\\"\`);
+ }
+}
+const $App = __app(process.env.WING_TARGET);
+
+const cloud = require('@winglang/sdk').cloud;
+class MyApp extends $App {
+constructor() {
+ super({ outdir: $outdir, name: \\"statements_if\\", plugins: $plugins });
+
+ if (true) {
+ const x = 2;
+ const f = false;
+ if ((true && ((x + 2) === 4))) {
+ if ((true && ((x + 3) === 4))) {
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: 'false'\`)})(false)};
+ } else if ((true && ((x + 3) === 6))) {
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: 'false'\`)})(false)};
+ } else if ((false || ((x + 3) === 5))) {
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: 'true'\`)})(true)};
+ } else if ((!f)) {
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(!(!(!f)))'\`)})((!(!(!f))))};
+ } else {
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: 'false'\`)})(false)};
+ }
+ } else {
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: 'false'\`)})(false)};
+ }
+ }
+ this.node.root.newAbstract(\\"@winglang/sdk.cloud.Function\\",this,\\"test\\",new $stdlib.core.Inflight(this, \\"$Inflight1\\", {
+ code: $stdlib.core.NodeJsCode.fromFile(require('path').resolve(__dirname, \\"proc.09c5e24751d9ba1246f91518f2f7f5c5d1102a09d0b1acff479ae27ad134090f/index.js\\").replace(/\\\\\\\\/g, \\"/\\")),
+ bindings: {
+ }
+ }));
+}
+}
+new MyApp().synth();"
+`;
+
+exports[`statements_variable_declarations.w > wing compile --target tf-aws > main.tf.json 1`] = `
+{
+ "//": {
+ "metadata": {
+ "backend": "local",
+ "stackName": "root",
+ "version": "0.15.2",
+ },
+ "outputs": {},
+ },
+ "provider": {
+ "aws": [
+ {},
+ ],
+ },
+}
+`;
+
+exports[`statements_variable_declarations.w > wing compile --target tf-aws > preflight.js 1`] = `
+"const $stdlib = require('@winglang/sdk');
+const $outdir = process.env.WINGSDK_SYNTH_DIR ?? \\".\\";
+
+function __app(target) {
+ switch (target) {
+ case \\"sim\\":
+ return $stdlib.sim.App;
+ case \\"tfaws\\":
+ case \\"tf-aws\\":
+ return $stdlib.tfaws.App;
+ case \\"tf-gcp\\":
+ return $stdlib.tfgcp.App;
+ case \\"tf-azure\\":
+ return $stdlib.tfazure.App;
+ default:
+ throw new Error(\`Unknown WING_TARGET value: \\"\${process.env.WING_TARGET ?? \\"\\"}\\"\`);
+ }
+}
+const $App = __app(process.env.WING_TARGET);
+
+class MyApp extends $App {
+constructor() {
+ super({ outdir: $outdir, name: \\"statements_variable_declarations\\", plugins: $plugins });
+
+ const x = 2;
+ const y = x;
+}
+}
+new MyApp().synth();"
+`;
+
+exports[`static_members.w > wing compile --target tf-aws > Foo.inflight.js 1`] = `
+"export class Foo_inflight {
+constructor({ instance_field }) {
+
+ this.instance_field = instance_field;
+}
+async static get_123() {
+ {
+ return 123;
+}
+}}"
+`;
+
+exports[`static_members.w > wing compile --target tf-aws > index.js 1`] = `
+"async handle(s) { const { } = this; {
+ class InflightClass
+ {
+ constructor() {
+ {
+ }
+ }
+
+ inflight_method() {
+ {
+ return \\"Inflight method\\";
+ }
+ }
+ static static_inflight_method() {
+ {
+ return \\"Static inflight method\\";
+ }
+ }
+ }
+ const inflight_class = new InflightClass();
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((await inflight_class.inflight_method()) === \\"Inflight method\\")'\`)})(((await inflight_class.inflight_method()) === \\"Inflight method\\"))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((await InflightClass.static_inflight_method()) === \\"Static inflight method\\")'\`)})(((await InflightClass.static_inflight_method()) === \\"Static inflight method\\"))};
+} };"
+`;
+
+exports[`static_members.w > wing compile --target tf-aws > main.tf.json 1`] = `
+{
+ "//": {
+ "metadata": {
+ "backend": "local",
+ "stackName": "root",
+ "version": "0.15.2",
+ },
+ "outputs": {},
+ },
+ "provider": {
+ "aws": [
+ {},
+ ],
+ },
+ "resource": {
+ "aws_iam_role": {
+ "root_test_IamRole_6CDC2D16": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/IamRole",
+ "uniqueId": "root_test_IamRole_6CDC2D16",
+ },
+ },
+ "assume_role_policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":\\"sts:AssumeRole\\",\\"Principal\\":{\\"Service\\":\\"lambda.amazonaws.com\\"},\\"Effect\\":\\"Allow\\"}]}",
+ },
+ },
+ "aws_iam_role_policy": {
+ "root_test_IamRolePolicy_474A6820": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/IamRolePolicy",
+ "uniqueId": "root_test_IamRolePolicy_474A6820",
+ },
+ },
+ "policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Effect\\":\\"Allow\\",\\"Action\\":\\"none:null\\",\\"Resource\\":\\"*\\"}]}",
+ "role": "\${aws_iam_role.root_test_IamRole_6CDC2D16.name}",
+ },
+ },
+ "aws_iam_role_policy_attachment": {
+ "root_test_IamRolePolicyAttachment_1102A28A": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/IamRolePolicyAttachment",
+ "uniqueId": "root_test_IamRolePolicyAttachment_1102A28A",
+ },
+ },
+ "policy_arn": "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ "role": "\${aws_iam_role.root_test_IamRole_6CDC2D16.name}",
+ },
+ },
+ "aws_lambda_function": {
+ "root_test_AAE85061": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/Default",
+ "uniqueId": "root_test_AAE85061",
+ },
+ },
+ "environment": {
+ "variables": {
+ "WING_FUNCTION_NAME": "test-c8b6eece",
+ },
+ },
+ "function_name": "test-c8b6eece",
+ "handler": "index.handler",
+ "publish": true,
+ "role": "\${aws_iam_role.root_test_IamRole_6CDC2D16.arn}",
+ "runtime": "nodejs16.x",
+ "s3_bucket": "\${aws_s3_bucket.root_test_Code_2D131EC2.bucket}",
+ "s3_key": "\${aws_s3_object.root_test_S3Object_A16CD789.key}",
+ "timeout": 30,
+ },
+ },
+ "aws_s3_bucket": {
+ "root_test_Code_2D131EC2": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/Code",
+ "uniqueId": "root_test_Code_2D131EC2",
+ },
+ },
+ "bucket_prefix": "code-c883c33b-",
+ },
+ },
+ "aws_s3_object": {
+ "root_test_S3Object_A16CD789": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test/S3Object",
+ "uniqueId": "root_test_S3Object_A16CD789",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_test_Code_2D131EC2.bucket}",
+ "key": "",
+ },
+ },
+ },
+}
+`;
+
+exports[`static_members.w > wing compile --target tf-aws > preflight.js 1`] = `
+"const $stdlib = require('@winglang/sdk');
+const $outdir = process.env.WINGSDK_SYNTH_DIR ?? \\".\\";
+
+function __app(target) {
+ switch (target) {
+ case \\"sim\\":
+ return $stdlib.sim.App;
+ case \\"tfaws\\":
+ case \\"tf-aws\\":
+ return $stdlib.tfaws.App;
+ case \\"tf-gcp\\":
+ return $stdlib.tfgcp.App;
+ case \\"tf-azure\\":
+ return $stdlib.tfazure.App;
+ default:
+ throw new Error(\`Unknown WING_TARGET value: \\"\${process.env.WING_TARGET ?? \\"\\"}\\"\`);
+ }
+}
+const $App = __app(process.env.WING_TARGET);
+
+const cloud = require('@winglang/sdk').cloud;
+class MyApp extends $App {
+constructor() {
+ super({ outdir: $outdir, name: \\"static_members\\", plugins: $plugins });
+
+ class Foo extends $stdlib.core.Resource {
+ constructor(scope, id, ) {
+ super(scope, id);
+ {
+ this.instance_field = 100;
+ }
+ }
+ static m() {
+ {
+ return 99;
+ }
+ }
+ _toInflight() {
+ const instance_field_client = this._lift(this.instance_field);
+ const self_client_path = require('path').resolve(__dirname, \\"clients/Foo.inflight.js\\").replace(/\\\\\\\\/g, \\"/\\");
+ return $stdlib.core.NodeJsCode.fromInline(\`(new (require(\\"\${self_client_path}\\")).Foo_inflight({instance_field: \${instance_field_client}}))\`);
+ }
+ }
+ Foo._annotateInflight(\\"get_123\\", {});
+ const foo = new Foo(this,\\"Foo\\");
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(foo.instance_field === 100)'\`)})((foo.instance_field === 100))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((Foo.m()) === 99)'\`)})(((Foo.m()) === 99))};
+ this.node.root.newAbstract(\\"@winglang/sdk.cloud.Function\\",this,\\"test\\",new $stdlib.core.Inflight(this, \\"$Inflight1\\", {
+ code: $stdlib.core.NodeJsCode.fromFile(require('path').resolve(__dirname, \\"proc.8b58045c72709175549d51937a233ff65ac5e5aa12e83837daf5ea7baf9f224b/index.js\\").replace(/\\\\\\\\/g, \\"/\\")),
+ bindings: {
+ }
+ }));
+}
+}
+new MyApp().synth();"
+`;
+
+exports[`std_containers.w > wing compile --target tf-aws > main.tf.json 1`] = `
+{
+ "//": {
+ "metadata": {
+ "backend": "local",
+ "stackName": "root",
+ "version": "0.15.2",
+ },
+ "outputs": {},
+ },
+ "provider": {
+ "aws": [
+ {},
+ ],
+ },
+}
+`;
+
+exports[`std_containers.w > wing compile --target tf-aws > preflight.js 1`] = `
+"const $stdlib = require('@winglang/sdk');
+const $outdir = process.env.WINGSDK_SYNTH_DIR ?? \\".\\";
+
+function __app(target) {
+ switch (target) {
+ case \\"sim\\":
+ return $stdlib.sim.App;
+ case \\"tfaws\\":
+ case \\"tf-aws\\":
+ return $stdlib.tfaws.App;
+ case \\"tf-gcp\\":
+ return $stdlib.tfgcp.App;
+ case \\"tf-azure\\":
+ return $stdlib.tfazure.App;
+ default:
+ throw new Error(\`Unknown WING_TARGET value: \\"\${process.env.WING_TARGET ?? \\"\\"}\\"\`);
+ }
+}
+const $App = __app(process.env.WING_TARGET);
+
+class MyApp extends $App {
+constructor() {
+ super({ outdir: $outdir, name: \\"std_containers\\", plugins: $plugins });
+
+ const s_array = Object.freeze([\\"one\\", \\"two\\"]);
+ const mut_array = [...(s_array)];
+ (mut_array.push(\\"three\\"));
+ const immut_array = Object.freeze([...(mut_array)]);
+ const s = (s_array.at(1));
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(s === \\"two\\")'\`)})((s === \\"two\\"))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((s_array.at(1)) === \\"two\\")'\`)})(((s_array.at(1)) === \\"two\\"))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(s_array.length === 2)'\`)})((s_array.length === 2))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(immut_array.length === 3)'\`)})((immut_array.length === 3))};
+ const s_array2 = Object.freeze([\\"if\\", \\"you\\", \\"build\\", \\"it\\"]);
+ const s_array3 = Object.freeze([\\"he\\", \\"will\\", \\"come\\", \\"for\\", \\"you\\"]);
+ const merged_array = (s_array2.concat(s_array3));
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(merged_array.length === 9)'\`)})((merged_array.length === 9))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((merged_array.at(5)) === \\"will\\")'\`)})(((merged_array.at(5)) === \\"will\\"))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: 'merged_array.includes(\\"build\\")'\`)})(merged_array.includes(\\"build\\"))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(!merged_array.includes(\\"bring\\"))'\`)})((!merged_array.includes(\\"bring\\")))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(merged_array.indexOf(\\"you\\") === 1)'\`)})((merged_array.indexOf(\\"you\\") === 1))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((merged_array.join(\\" \\")) === \\"if you build it he will come for you\\")'\`)})(((merged_array.join(\\" \\")) === \\"if you build it he will come for you\\"))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((merged_array.join()) === \\"if,you,build,it,he,will,come,for,you\\")'\`)})(((merged_array.join()) === \\"if,you,build,it,he,will,come,for,you\\"))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(merged_array.lastIndexOf(\\"you\\") === 8)'\`)})((merged_array.lastIndexOf(\\"you\\") === 8))};
+ const mut_array2 = [\\"how\\", \\"does\\", \\"that\\", \\"look\\"];
+ const merged_mut_array = (mut_array.concat(mut_array2));
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(merged_mut_array.length === 7)'\`)})((merged_mut_array.length === 7))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((merged_mut_array.at(5)) === \\"that\\")'\`)})(((merged_mut_array.at(5)) === \\"that\\"))};
+ const s_set = Object.freeze(new Set([\\"one\\", \\"two\\"]));
+ const mut_set = new Set(s_set);
+ (mut_set.add(\\"three\\"));
+ const immut_set = Object.freeze(new Set(mut_set));
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(s_set.has(\\"one\\"))'\`)})((s_set.has(\\"one\\")))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(s_set.size === 2)'\`)})((s_set.size === 2))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(immut_set.size === 3)'\`)})((immut_set.size === 3))};
+ const s_map = Object.freeze({\\"one\\":1,\\"two\\":2});
+ const nested_map = Object.freeze({\\"a\\":Object.freeze({\\"b\\":Object.freeze({\\"c\\":\\"hello\\"})})});
+ const mut_map = {...(s_map)};
+ ((obj, args) => { obj[args[0]] = args[1]; })(mut_map, [\\"five\\",5]);
+ const immut_map = Object.freeze({...(mut_map)});
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((s_map)[\\"one\\"] === 1)'\`)})(((s_map)[\\"one\\"] === 1))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(Object.keys(s_map).length === 2)'\`)})((Object.keys(s_map).length === 2))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(Object.keys(immut_map).length === 3)'\`)})((Object.keys(immut_map).length === 3))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((((nested_map)[\\"a\\"])[\\"b\\"])[\\"c\\"] === \\"hello\\")'\`)})(((((nested_map)[\\"a\\"])[\\"b\\"])[\\"c\\"] === \\"hello\\"))};
+}
+}
+new MyApp().synth();"
+`;
+
+exports[`std_string.w > wing compile --target tf-aws > index.js 1`] = `
+"async handle() { const { s1, s2 } = this; {
+ {console.log(\`index of \\\\\\"s\\\\\\" in s1 is \${s1.indexOf(\\"s\\")}\`)};
+ {console.log((await (await s1.split(\\" \\")).at(1)))};
+ {console.log((await s1.concat(s2)))};
+} };"
+`;
+
+exports[`std_string.w > wing compile --target tf-aws > main.tf.json 1`] = `
+{
+ "//": {
+ "metadata": {
+ "backend": "local",
+ "stackName": "root",
+ "version": "0.15.2",
+ },
+ "outputs": {},
+ },
+ "provider": {
+ "aws": [
+ {},
+ ],
+ },
+ "resource": {
+ "aws_iam_role": {
+ "root_teststring_IamRole_A23B11BC": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:string/IamRole",
+ "uniqueId": "root_teststring_IamRole_A23B11BC",
+ },
+ },
+ "assume_role_policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":\\"sts:AssumeRole\\",\\"Principal\\":{\\"Service\\":\\"lambda.amazonaws.com\\"},\\"Effect\\":\\"Allow\\"}]}",
+ },
+ },
+ "aws_iam_role_policy": {
+ "root_teststring_IamRolePolicy_E68C254E": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:string/IamRolePolicy",
+ "uniqueId": "root_teststring_IamRolePolicy_E68C254E",
+ },
+ },
+ "policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Effect\\":\\"Allow\\",\\"Action\\":\\"none:null\\",\\"Resource\\":\\"*\\"}]}",
+ "role": "\${aws_iam_role.root_teststring_IamRole_A23B11BC.name}",
+ },
+ },
+ "aws_iam_role_policy_attachment": {
+ "root_teststring_IamRolePolicyAttachment_CF9D26FE": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:string/IamRolePolicyAttachment",
+ "uniqueId": "root_teststring_IamRolePolicyAttachment_CF9D26FE",
+ },
+ },
+ "policy_arn": "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ "role": "\${aws_iam_role.root_teststring_IamRole_A23B11BC.name}",
+ },
+ },
+ "aws_lambda_function": {
+ "root_teststring_0FD8A9C3": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:string/Default",
+ "uniqueId": "root_teststring_0FD8A9C3",
+ },
+ },
+ "environment": {
+ "variables": {
+ "WING_FUNCTION_NAME": "test-string-c8b12930",
+ },
+ },
+ "function_name": "test-string-c8b12930",
+ "handler": "index.handler",
+ "publish": true,
+ "role": "\${aws_iam_role.root_teststring_IamRole_A23B11BC.arn}",
+ "runtime": "nodejs16.x",
+ "s3_bucket": "\${aws_s3_bucket.root_teststring_Code_042172E8.bucket}",
+ "s3_key": "\${aws_s3_object.root_teststring_S3Object_9049C921.key}",
+ "timeout": 30,
+ },
+ },
+ "aws_s3_bucket": {
+ "root_teststring_Code_042172E8": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:string/Code",
+ "uniqueId": "root_teststring_Code_042172E8",
+ },
+ },
+ "bucket_prefix": "code-c8c4d274-",
+ },
+ },
+ "aws_s3_object": {
+ "root_teststring_S3Object_9049C921": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:string/S3Object",
+ "uniqueId": "root_teststring_S3Object_9049C921",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_teststring_Code_042172E8.bucket}",
+ "key": "",
+ },
+ },
+ },
+}
+`;
+
+exports[`std_string.w > wing compile --target tf-aws > preflight.js 1`] = `
+"const $stdlib = require('@winglang/sdk');
+const $outdir = process.env.WINGSDK_SYNTH_DIR ?? \\".\\";
+
+function __app(target) {
+ switch (target) {
+ case \\"sim\\":
+ return $stdlib.sim.App;
+ case \\"tfaws\\":
+ case \\"tf-aws\\":
+ return $stdlib.tfaws.App;
+ case \\"tf-gcp\\":
+ return $stdlib.tfgcp.App;
+ case \\"tf-azure\\":
+ return $stdlib.tfazure.App;
+ default:
+ throw new Error(\`Unknown WING_TARGET value: \\"\${process.env.WING_TARGET ?? \\"\\"}\\"\`);
+ }
+}
+const $App = __app(process.env.WING_TARGET);
+
+const cloud = require('@winglang/sdk').cloud;
+class MyApp extends $App {
+constructor() {
+ super({ outdir: $outdir, name: \\"std_string\\", plugins: $plugins });
+
+ const s1 = \\"some string\\";
+ const s2 = \\"s are immutable\\";
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(s1.length === 11)'\`)})((s1.length === 11))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((s1.at(7)) === \\"r\\")'\`)})(((s1.at(7)) === \\"r\\"))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((s1.concat(s2)) === \\"some strings are immutable\\")'\`)})(((s1.concat(s2)) === \\"some strings are immutable\\"))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: 's1.includes(\\"some\\")'\`)})(s1.includes(\\"some\\"))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(!\\"some\\".includes(s1))'\`)})((!\\"some\\".includes(s1)))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: 's1.endsWith(\\"string\\")'\`)})(s1.endsWith(\\"string\\"))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(s1.indexOf(\\"s\\") === 0)'\`)})((s1.indexOf(\\"s\\") === 0))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(\\"Some String\\".toLocaleLowerCase() === \\"some string\\")'\`)})((\\"Some String\\".toLocaleLowerCase() === \\"some string\\"))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(((s1.split(\\" \\")).at(0)) === \\"some\\")'\`)})((((s1.split(\\" \\")).at(0)) === \\"some\\"))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: 's1.startsWith(\\"some\\")'\`)})(s1.startsWith(\\"some\\"))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((s1.substring(5)) === \\"string\\")'\`)})(((s1.substring(5)) === \\"string\\"))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((s1.substring(5,7)) === \\"st\\")'\`)})(((s1.substring(5,7)) === \\"st\\"))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((\\" some string \\".trim()) === \\"some string\\")'\`)})(((\\" some string \\".trim()) === \\"some string\\"))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(\\"Some String\\".toLocaleUpperCase() === \\"SOME STRING\\")'\`)})((\\"Some String\\".toLocaleUpperCase() === \\"SOME STRING\\"))};
+ this.node.root.newAbstract(\\"@winglang/sdk.cloud.Function\\",this,\\"test:string\\",new $stdlib.core.Inflight(this, \\"$Inflight1\\", {
+ code: $stdlib.core.NodeJsCode.fromFile(require('path').resolve(__dirname, \\"proc.0fb01e81c63b003d77d6245e36ba84561e3e2d3268e69a7c975f81cfe7565fac/index.js\\").replace(/\\\\\\\\/g, \\"/\\")),
+ bindings: {
+ s1: {
+ obj: s1,
+ ops: []
+ },
+ s2: {
+ obj: s2,
+ ops: []
+ },
+ }
+ }));
+}
+}
+new MyApp().synth();"
+`;
+
+exports[`test_bucket.w > wing compile --target tf-aws > index.js 1`] = `
+"async handle(_) { const { b } = this; {
+ (await b.put(\\"hello.txt\\",\\"world\\"));
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((await b.get(\\"hello.txt\\")) === \\"world\\")'\`)})(((await b.get(\\"hello.txt\\")) === \\"world\\"))};
+} };"
+`;
+
+exports[`test_bucket.w > wing compile --target tf-aws > index.js 2`] = `
+"async handle(_) { const { b } = this; {
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((await b.list()).length === 0)'\`)})(((await b.list()).length === 0))};
+ (await b.put(\\"hello.txt\\",\\"world\\"));
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((await b.list()).length === 1)'\`)})(((await b.list()).length === 1))};
+} };"
+`;
+
+exports[`test_bucket.w > wing compile --target tf-aws > main.tf.json 1`] = `
+{
+ "//": {
+ "metadata": {
+ "backend": "local",
+ "stackName": "root",
+ "version": "0.15.2",
+ },
+ "outputs": {},
+ },
+ "provider": {
+ "aws": [
+ {},
+ ],
+ },
+ "resource": {
+ "aws_iam_role": {
+ "root_testget_IamRole_DD77F38A": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:get/IamRole",
+ "uniqueId": "root_testget_IamRole_DD77F38A",
+ },
+ },
+ "assume_role_policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":\\"sts:AssumeRole\\",\\"Principal\\":{\\"Service\\":\\"lambda.amazonaws.com\\"},\\"Effect\\":\\"Allow\\"}]}",
+ },
+ "root_testput_IamRole_1BBF32A6": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:put/IamRole",
+ "uniqueId": "root_testput_IamRole_1BBF32A6",
+ },
+ },
+ "assume_role_policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":\\"sts:AssumeRole\\",\\"Principal\\":{\\"Service\\":\\"lambda.amazonaws.com\\"},\\"Effect\\":\\"Allow\\"}]}",
+ },
+ },
+ "aws_iam_role_policy": {
+ "root_testget_IamRolePolicy_2CFB696B": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:get/IamRolePolicy",
+ "uniqueId": "root_testget_IamRolePolicy_2CFB696B",
+ },
+ },
+ "policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":[\\"s3:PutObject*\\",\\"s3:Abort*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}\\",\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:GetObject*\\",\\"s3:GetBucket*\\",\\"s3:List*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}\\",\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:GetObject*\\",\\"s3:GetBucket*\\",\\"s3:List*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}\\",\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:DeleteObject*\\",\\"s3:DeleteObjectVersion*\\",\\"s3:PutLifecycleConfiguration*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}\\",\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}/*\\"],\\"Effect\\":\\"Allow\\"}]}",
+ "role": "\${aws_iam_role.root_testget_IamRole_DD77F38A.name}",
+ },
+ "root_testput_IamRolePolicy_98659F09": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:put/IamRolePolicy",
+ "uniqueId": "root_testput_IamRolePolicy_98659F09",
+ },
+ },
+ "policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":[\\"s3:PutObject*\\",\\"s3:Abort*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}\\",\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:GetObject*\\",\\"s3:GetBucket*\\",\\"s3:List*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}\\",\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:GetObject*\\",\\"s3:GetBucket*\\",\\"s3:List*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}\\",\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:DeleteObject*\\",\\"s3:DeleteObjectVersion*\\",\\"s3:PutLifecycleConfiguration*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}\\",\\"\${aws_s3_bucket.root_cloudBucket_4F3C4F53.arn}/*\\"],\\"Effect\\":\\"Allow\\"}]}",
+ "role": "\${aws_iam_role.root_testput_IamRole_1BBF32A6.name}",
+ },
+ },
+ "aws_iam_role_policy_attachment": {
+ "root_testget_IamRolePolicyAttachment_1BD905A8": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:get/IamRolePolicyAttachment",
+ "uniqueId": "root_testget_IamRolePolicyAttachment_1BD905A8",
+ },
+ },
+ "policy_arn": "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ "role": "\${aws_iam_role.root_testget_IamRole_DD77F38A.name}",
+ },
+ "root_testput_IamRolePolicyAttachment_E73FB6BB": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:put/IamRolePolicyAttachment",
+ "uniqueId": "root_testput_IamRolePolicyAttachment_E73FB6BB",
+ },
+ },
+ "policy_arn": "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ "role": "\${aws_iam_role.root_testput_IamRole_1BBF32A6.name}",
+ },
+ },
+ "aws_lambda_function": {
+ "root_testget_D2443E25": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:get/Default",
+ "uniqueId": "root_testget_D2443E25",
+ },
+ },
+ "environment": {
+ "variables": {
+ "BUCKET_NAME_d755b447": "\${aws_s3_bucket.root_cloudBucket_4F3C4F53.bucket}",
+ "WING_FUNCTION_NAME": "test-get-c8e58069",
+ },
+ },
+ "function_name": "test-get-c8e58069",
+ "handler": "index.handler",
+ "publish": true,
+ "role": "\${aws_iam_role.root_testget_IamRole_DD77F38A.arn}",
+ "runtime": "nodejs16.x",
+ "s3_bucket": "\${aws_s3_bucket.root_testget_Code_EC989716.bucket}",
+ "s3_key": "\${aws_s3_object.root_testget_S3Object_071392B9.key}",
+ "timeout": 30,
+ },
+ "root_testput_449428F9": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:put/Default",
+ "uniqueId": "root_testput_449428F9",
+ },
+ },
+ "environment": {
+ "variables": {
+ "BUCKET_NAME_d755b447": "\${aws_s3_bucket.root_cloudBucket_4F3C4F53.bucket}",
+ "WING_FUNCTION_NAME": "test-put-c899ce9b",
+ },
+ },
+ "function_name": "test-put-c899ce9b",
+ "handler": "index.handler",
+ "publish": true,
+ "role": "\${aws_iam_role.root_testput_IamRole_1BBF32A6.arn}",
+ "runtime": "nodejs16.x",
+ "s3_bucket": "\${aws_s3_bucket.root_testput_Code_DE7653AD.bucket}",
+ "s3_key": "\${aws_s3_object.root_testput_S3Object_30BF1DDD.key}",
+ "timeout": 30,
+ },
+ },
+ "aws_s3_bucket": {
+ "root_cloudBucket_4F3C4F53": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Bucket/Default",
+ "uniqueId": "root_cloudBucket_4F3C4F53",
+ },
+ },
+ "bucket_prefix": "cloud-bucket-c87175e7-",
+ },
+ "root_testget_Code_EC989716": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:get/Code",
+ "uniqueId": "root_testget_Code_EC989716",
+ },
+ },
+ "bucket_prefix": "code-c8071909-",
+ },
+ "root_testput_Code_DE7653AD": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:put/Code",
+ "uniqueId": "root_testput_Code_DE7653AD",
+ },
+ },
+ "bucket_prefix": "code-c8ab7128-",
+ },
+ },
+ "aws_s3_bucket_public_access_block": {
+ "root_cloudBucket_PublicAccessBlock_319C1C2E": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Bucket/PublicAccessBlock",
+ "uniqueId": "root_cloudBucket_PublicAccessBlock_319C1C2E",
+ },
+ },
+ "block_public_acls": true,
+ "block_public_policy": true,
+ "bucket": "\${aws_s3_bucket.root_cloudBucket_4F3C4F53.bucket}",
+ "ignore_public_acls": true,
+ "restrict_public_buckets": true,
+ },
+ },
+ "aws_s3_bucket_server_side_encryption_configuration": {
+ "root_cloudBucket_Encryption_8ED0CD9C": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Bucket/Encryption",
+ "uniqueId": "root_cloudBucket_Encryption_8ED0CD9C",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_cloudBucket_4F3C4F53.bucket}",
+ "rule": [
+ {
+ "apply_server_side_encryption_by_default": {
+ "sse_algorithm": "AES256",
+ },
+ },
+ ],
+ },
+ },
+ "aws_s3_object": {
+ "root_testget_S3Object_071392B9": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:get/S3Object",
+ "uniqueId": "root_testget_S3Object_071392B9",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_testget_Code_EC989716.bucket}",
+ "key": "",
+ },
+ },
+ },
+}
+`;
+
+exports[`test_bucket.w > wing compile --target tf-aws > preflight.js 1`] = `
+"const $stdlib = require('@winglang/sdk');
+const $outdir = process.env.WINGSDK_SYNTH_DIR ?? \\".\\";
+
+function __app(target) {
+ switch (target) {
+ case \\"sim\\":
+ return $stdlib.sim.App;
+ case \\"tfaws\\":
+ case \\"tf-aws\\":
+ return $stdlib.tfaws.App;
+ case \\"tf-gcp\\":
+ return $stdlib.tfgcp.App;
+ case \\"tf-azure\\":
+ return $stdlib.tfazure.App;
+ default:
+ throw new Error(\`Unknown WING_TARGET value: \\"\${process.env.WING_TARGET ?? \\"\\"}\\"\`);
+ }
+}
+const $App = __app(process.env.WING_TARGET);
+
+const cloud = require('@winglang/sdk').cloud;
+class MyApp extends $App {
+constructor() {
+ super({ outdir: $outdir, name: \\"test_bucket\\", plugins: $plugins });
+
+ const b = this.node.root.newAbstract(\\"@winglang/sdk.cloud.Bucket\\",this,\\"cloud.Bucket\\");
+ this.node.root.newAbstract(\\"@winglang/sdk.cloud.Function\\",this,\\"test:put\\",new $stdlib.core.Inflight(this, \\"$Inflight1\\", {
+ code: $stdlib.core.NodeJsCode.fromFile(require('path').resolve(__dirname, \\"proc.9f10a129b90bc1328dcb1e6194e3902931d1011d95e46825362ef5b06ec17380/index.js\\").replace(/\\\\\\\\/g, \\"/\\")),
+ bindings: {
+ b: {
+ obj: b,
+ ops: [\\"delete\\",\\"get\\",\\"get_json\\",\\"list\\",\\"put\\",\\"put_json\\"]
+ },
+ }
+ }));
+ this.node.root.newAbstract(\\"@winglang/sdk.cloud.Function\\",this,\\"test:get\\",new $stdlib.core.Inflight(this, \\"$Inflight2\\", {
+ code: $stdlib.core.NodeJsCode.fromFile(require('path').resolve(__dirname, \\"proc.1b9abefaef8ce4230db863000273d2c12bacb97e33ac10e6c8b50341e415fdac/index.js\\").replace(/\\\\\\\\/g, \\"/\\")),
+ bindings: {
+ b: {
+ obj: b,
+ ops: [\\"delete\\",\\"get\\",\\"get_json\\",\\"list\\",\\"put\\",\\"put_json\\"]
+ },
+ }
+ }));
+}
+}
+new MyApp().synth();"
+`;
+
+exports[`try_catch.w > wing compile --target tf-aws > main.tf.json 1`] = `
+{
+ "//": {
+ "metadata": {
+ "backend": "local",
+ "stackName": "root",
+ "version": "0.15.2",
+ },
+ "outputs": {},
+ },
+ "provider": {
+ "aws": [
+ {},
+ ],
+ },
+}
+`;
+
+exports[`try_catch.w > wing compile --target tf-aws > preflight.js 1`] = `
+"const $stdlib = require('@winglang/sdk');
+const $outdir = process.env.WINGSDK_SYNTH_DIR ?? \\".\\";
+
+function __app(target) {
+ switch (target) {
+ case \\"sim\\":
+ return $stdlib.sim.App;
+ case \\"tfaws\\":
+ case \\"tf-aws\\":
+ return $stdlib.tfaws.App;
+ case \\"tf-gcp\\":
+ return $stdlib.tfgcp.App;
+ case \\"tf-azure\\":
+ return $stdlib.tfazure.App;
+ default:
+ throw new Error(\`Unknown WING_TARGET value: \\"\${process.env.WING_TARGET ?? \\"\\"}\\"\`);
+ }
+}
+const $App = __app(process.env.WING_TARGET);
+
+class MyApp extends $App {
+constructor() {
+ super({ outdir: $outdir, name: \\"try_catch\\", plugins: $plugins });
+
+ let x = \\"\\";
+ try {
+ {
+ {((msg) => {throw new Error(msg)})(\\"hello\\")};
+ x = \\"no way I got here\\";
+ }
+ } catch ($error_e) {
+ const e = $error_e.message;
+ {
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(e === \\"hello\\")'\`)})((e === \\"hello\\"))};
+ x = \\"caught\\";
+ }
+ } finally {
+ {
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(x === \\"caught\\")'\`)})((x === \\"caught\\"))};
+ x = \\"finally\\";
+ };
+ }
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(x === \\"finally\\")'\`)})((x === \\"finally\\"))};
+ try {
+ {
+ x = \\"I got here\\";
+ }
+ } catch ($error_e) {
+ const e = $error_e.message;
+ {
+ x = \\"caught\\";
+ }
+ } finally {
+ {
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(x === \\"I got here\\")'\`)})((x === \\"I got here\\"))};
+ x = \\"finally\\";
+ };
+ }
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(x === \\"finally\\")'\`)})((x === \\"finally\\"))};
+ try {
+ {
+ {((msg) => {throw new Error(msg)})(\\"hello\\")};
+ }
+ } catch {
+
+
+ } finally {
+ {
+ x = \\"finally with no catch\\";
+ };
+ }
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(x === \\"finally with no catch\\")'\`)})((x === \\"finally with no catch\\"))};
+ try {
+ {
+ }
+ } catch {
+
+
+ } finally {
+ {
+ x = \\"finally with no catch and no exception\\";
+ };
+ }
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(x === \\"finally with no catch and no exception\\")'\`)})((x === \\"finally with no catch and no exception\\"))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((( () => {
+ {
+ try {
+ {
+ }
+ } catch {
+
+
+ } finally {
+ {
+ return 1;
+ };
+ }
+ }
+ })()) === 1)'\`)})(((( () => {
+ {
+ try {
+ {
+ }
+ } catch {
+
+
+ } finally {
+ {
+ return 1;
+ };
+ }
+ }
+ })()) === 1))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((( () => {
+ {
+ try {
+ {
+ {((msg) => {throw new Error(msg)})(\\"\\")};
+ }
+ } catch {
+
+ {
+ return 2;
+ }
+ } finally {
+
+ }
+ }
+ })()) === 2)'\`)})(((( () => {
+ {
+ try {
+ {
+ {((msg) => {throw new Error(msg)})(\\"\\")};
+ }
+ } catch {
+
+ {
+ return 2;
+ }
+ } finally {
+
+ }
+ }
+ })()) === 2))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((( () => {
+ {
+ try {
+ {
+ return 3;
+ }
+ } catch {
+
+
+ } finally {
+ {
+ };
+ }
+ }
+ })()) === 3)'\`)})(((( () => {
+ {
+ try {
+ {
+ return 3;
+ }
+ } catch {
+
+
+ } finally {
+ {
+ };
+ }
+ }
+ })()) === 3))};
+}
+}
+new MyApp().synth();"
+`;
+
+exports[`user-defined-resources-captures.w > wing compile --target tf-aws > MyResource.inflight.js 1`] = `
+"export class MyResource_inflight {
+constructor({ array_of_queues, array_of_str, map_of_num, my_bool, my_num, my_resource, my_str, set_of_str }) {
+
+ this.array_of_queues = array_of_queues;
+ this.array_of_str = array_of_str;
+ this.map_of_num = map_of_num;
+ this.my_bool = my_bool;
+ this.my_num = my_num;
+ this.my_resource = my_resource;
+ this.my_str = my_str;
+ this.set_of_str = set_of_str;
+}
+async capture_resource() {
+ {
+ (await this.my_resource.put(\\"f1.txt\\",\\"f1\\"));
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((await this.my_resource.get(\\"f1.txt\\")) === \\"f1\\")'\`)})(((await this.my_resource.get(\\"f1.txt\\")) === \\"f1\\"))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((await this.my_resource.list()).length === 1)'\`)})(((await this.my_resource.list()).length === 1))};
+}
+}
+async capture_primitives() {
+ {
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(this.my_str === \\"my_string\\")'\`)})((this.my_str === \\"my_string\\"))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(this.my_num === 42)'\`)})((this.my_num === 42))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(this.my_bool === true)'\`)})((this.my_bool === true))};
+}
+}
+async capture_array() {
+ {
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(this.array_of_str.length === 2)'\`)})((this.array_of_str.length === 2))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((await this.array_of_str.at(0)) === \\"s1\\")'\`)})(((await this.array_of_str.at(0)) === \\"s1\\"))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((await this.array_of_str.at(1)) === \\"s2\\")'\`)})(((await this.array_of_str.at(1)) === \\"s2\\"))};
+}
+}
+async capture_map() {
+ {
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((this.map_of_num)[\\"k1\\"] === 11)'\`)})(((this.map_of_num)[\\"k1\\"] === 11))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '((this.map_of_num)[\\"k2\\"] === 22)'\`)})(((this.map_of_num)[\\"k2\\"] === 22))};
+}
+}
+async capture_set() {
+ {
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(await this.set_of_str.has(\\"s1\\"))'\`)})((await this.set_of_str.has(\\"s1\\")))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(await this.set_of_str.has(\\"s2\\"))'\`)})((await this.set_of_str.has(\\"s2\\")))};
+ {((cond) => {if (!cond) throw new Error(\`assertion failed: '(!(await this.set_of_str.has(\\"s3\\")))'\`)})((!(await this.set_of_str.has(\\"s3\\"))))};
+}
+}
+async capture_array_of_queues() {
+ {
+ (await (await this.array_of_queues.at(0)).push(\\"q1\\"));
+ (await (await this.array_of_queues.at(1)).push(\\"q2\\"));
+}
+}}"
+`;
+
+exports[`user-defined-resources-captures.w > wing compile --target tf-aws > index.js 1`] = `
+"async handle() { const { r } = this; {
+ (await r.capture_array_of_queues());
+} };"
+`;
+
+exports[`user-defined-resources-captures.w > wing compile --target tf-aws > index.js 2`] = `
+"async handle() { const { r } = this; {
+ (await r.capture_primitives());
+} };"
+`;
+
+exports[`user-defined-resources-captures.w > wing compile --target tf-aws > index.js 3`] = `
+"async handle() { const { r } = this; {
+ (await r.capture_map());
+} };"
+`;
+
+exports[`user-defined-resources-captures.w > wing compile --target tf-aws > index.js 4`] = `
+"async handle() { const { r } = this; {
+ (await r.capture_resource());
+} };"
+`;
+
+exports[`user-defined-resources-captures.w > wing compile --target tf-aws > index.js 5`] = `
+"async handle() { const { r } = this; {
+ (await r.capture_set());
+} };"
+`;
+
+exports[`user-defined-resources-captures.w > wing compile --target tf-aws > index.js 6`] = `
+"async handle() { const { r } = this; {
+ (await r.capture_array());
+} };"
+`;
+
+exports[`user-defined-resources-captures.w > wing compile --target tf-aws > main.tf.json 1`] = `
+{
+ "//": {
+ "metadata": {
+ "backend": "local",
+ "stackName": "root",
+ "version": "0.15.2",
+ },
+ "outputs": {},
+ },
+ "provider": {
+ "aws": [
+ {},
+ ],
+ },
+ "resource": {
+ "aws_iam_role": {
+ "root_testcapturearray_IamRole_0E03D456": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:capture_array/IamRole",
+ "uniqueId": "root_testcapturearray_IamRole_0E03D456",
+ },
+ },
+ "assume_role_policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":\\"sts:AssumeRole\\",\\"Principal\\":{\\"Service\\":\\"lambda.amazonaws.com\\"},\\"Effect\\":\\"Allow\\"}]}",
+ },
+ "root_testcapturearrayofqueues_IamRole_223C9195": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:capture_array_of_queues/IamRole",
+ "uniqueId": "root_testcapturearrayofqueues_IamRole_223C9195",
+ },
+ },
+ "assume_role_policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":\\"sts:AssumeRole\\",\\"Principal\\":{\\"Service\\":\\"lambda.amazonaws.com\\"},\\"Effect\\":\\"Allow\\"}]}",
+ },
+ "root_testcapturemap_IamRole_1B5F9F5E": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:capture_map/IamRole",
+ "uniqueId": "root_testcapturemap_IamRole_1B5F9F5E",
+ },
+ },
+ "assume_role_policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":\\"sts:AssumeRole\\",\\"Principal\\":{\\"Service\\":\\"lambda.amazonaws.com\\"},\\"Effect\\":\\"Allow\\"}]}",
+ },
+ "root_testcaptureprimitives_IamRole_67F1EAC9": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:capture_primitives/IamRole",
+ "uniqueId": "root_testcaptureprimitives_IamRole_67F1EAC9",
+ },
+ },
+ "assume_role_policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":\\"sts:AssumeRole\\",\\"Principal\\":{\\"Service\\":\\"lambda.amazonaws.com\\"},\\"Effect\\":\\"Allow\\"}]}",
+ },
+ "root_testcaptureresource_IamRole_69F520A4": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:capture_resource/IamRole",
+ "uniqueId": "root_testcaptureresource_IamRole_69F520A4",
+ },
+ },
+ "assume_role_policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":\\"sts:AssumeRole\\",\\"Principal\\":{\\"Service\\":\\"lambda.amazonaws.com\\"},\\"Effect\\":\\"Allow\\"}]}",
+ },
+ "root_testcaptureset_IamRole_1FCDC76B": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:capture_set/IamRole",
+ "uniqueId": "root_testcaptureset_IamRole_1FCDC76B",
+ },
+ },
+ "assume_role_policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":\\"sts:AssumeRole\\",\\"Principal\\":{\\"Service\\":\\"lambda.amazonaws.com\\"},\\"Effect\\":\\"Allow\\"}]}",
+ },
+ },
+ "aws_iam_role_policy": {
+ "root_testcapturearray_IamRolePolicy_FBEBD531": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:capture_array/IamRolePolicy",
+ "uniqueId": "root_testcapturearray_IamRolePolicy_FBEBD531",
+ },
+ },
+ "policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":[\\"s3:PutObject*\\",\\"s3:Abort*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_MyResource_cloudBucket_AF30D75E.arn}\\",\\"\${aws_s3_bucket.root_MyResource_cloudBucket_AF30D75E.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:GetObject*\\",\\"s3:GetBucket*\\",\\"s3:List*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_MyResource_cloudBucket_AF30D75E.arn}\\",\\"\${aws_s3_bucket.root_MyResource_cloudBucket_AF30D75E.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:GetObject*\\",\\"s3:GetBucket*\\",\\"s3:List*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_MyResource_cloudBucket_AF30D75E.arn}\\",\\"\${aws_s3_bucket.root_MyResource_cloudBucket_AF30D75E.arn}/*\\"],\\"Effect\\":\\"Allow\\"}]}",
+ "role": "\${aws_iam_role.root_testcapturearray_IamRole_0E03D456.name}",
+ },
+ "root_testcapturearrayofqueues_IamRolePolicy_C28D32CE": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:capture_array_of_queues/IamRolePolicy",
+ "uniqueId": "root_testcapturearrayofqueues_IamRolePolicy_C28D32CE",
+ },
+ },
+ "policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":[\\"s3:PutObject*\\",\\"s3:Abort*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_MyResource_cloudBucket_AF30D75E.arn}\\",\\"\${aws_s3_bucket.root_MyResource_cloudBucket_AF30D75E.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:GetObject*\\",\\"s3:GetBucket*\\",\\"s3:List*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_MyResource_cloudBucket_AF30D75E.arn}\\",\\"\${aws_s3_bucket.root_MyResource_cloudBucket_AF30D75E.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:GetObject*\\",\\"s3:GetBucket*\\",\\"s3:List*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_MyResource_cloudBucket_AF30D75E.arn}\\",\\"\${aws_s3_bucket.root_MyResource_cloudBucket_AF30D75E.arn}/*\\"],\\"Effect\\":\\"Allow\\"}]}",
+ "role": "\${aws_iam_role.root_testcapturearrayofqueues_IamRole_223C9195.name}",
+ },
+ "root_testcapturemap_IamRolePolicy_8E51A860": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:capture_map/IamRolePolicy",
+ "uniqueId": "root_testcapturemap_IamRolePolicy_8E51A860",
+ },
+ },
+ "policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":[\\"s3:PutObject*\\",\\"s3:Abort*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_MyResource_cloudBucket_AF30D75E.arn}\\",\\"\${aws_s3_bucket.root_MyResource_cloudBucket_AF30D75E.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:GetObject*\\",\\"s3:GetBucket*\\",\\"s3:List*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_MyResource_cloudBucket_AF30D75E.arn}\\",\\"\${aws_s3_bucket.root_MyResource_cloudBucket_AF30D75E.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:GetObject*\\",\\"s3:GetBucket*\\",\\"s3:List*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_MyResource_cloudBucket_AF30D75E.arn}\\",\\"\${aws_s3_bucket.root_MyResource_cloudBucket_AF30D75E.arn}/*\\"],\\"Effect\\":\\"Allow\\"}]}",
+ "role": "\${aws_iam_role.root_testcapturemap_IamRole_1B5F9F5E.name}",
+ },
+ "root_testcaptureprimitives_IamRolePolicy_E3C1E921": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:capture_primitives/IamRolePolicy",
+ "uniqueId": "root_testcaptureprimitives_IamRolePolicy_E3C1E921",
+ },
+ },
+ "policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":[\\"s3:PutObject*\\",\\"s3:Abort*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_MyResource_cloudBucket_AF30D75E.arn}\\",\\"\${aws_s3_bucket.root_MyResource_cloudBucket_AF30D75E.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:GetObject*\\",\\"s3:GetBucket*\\",\\"s3:List*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_MyResource_cloudBucket_AF30D75E.arn}\\",\\"\${aws_s3_bucket.root_MyResource_cloudBucket_AF30D75E.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:GetObject*\\",\\"s3:GetBucket*\\",\\"s3:List*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_MyResource_cloudBucket_AF30D75E.arn}\\",\\"\${aws_s3_bucket.root_MyResource_cloudBucket_AF30D75E.arn}/*\\"],\\"Effect\\":\\"Allow\\"}]}",
+ "role": "\${aws_iam_role.root_testcaptureprimitives_IamRole_67F1EAC9.name}",
+ },
+ "root_testcaptureresource_IamRolePolicy_86C59E76": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:capture_resource/IamRolePolicy",
+ "uniqueId": "root_testcaptureresource_IamRolePolicy_86C59E76",
+ },
+ },
+ "policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":[\\"s3:PutObject*\\",\\"s3:Abort*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_MyResource_cloudBucket_AF30D75E.arn}\\",\\"\${aws_s3_bucket.root_MyResource_cloudBucket_AF30D75E.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:GetObject*\\",\\"s3:GetBucket*\\",\\"s3:List*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_MyResource_cloudBucket_AF30D75E.arn}\\",\\"\${aws_s3_bucket.root_MyResource_cloudBucket_AF30D75E.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:GetObject*\\",\\"s3:GetBucket*\\",\\"s3:List*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_MyResource_cloudBucket_AF30D75E.arn}\\",\\"\${aws_s3_bucket.root_MyResource_cloudBucket_AF30D75E.arn}/*\\"],\\"Effect\\":\\"Allow\\"}]}",
+ "role": "\${aws_iam_role.root_testcaptureresource_IamRole_69F520A4.name}",
+ },
+ "root_testcaptureset_IamRolePolicy_D409E226": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:capture_set/IamRolePolicy",
+ "uniqueId": "root_testcaptureset_IamRolePolicy_D409E226",
+ },
+ },
+ "policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":[\\"s3:PutObject*\\",\\"s3:Abort*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_MyResource_cloudBucket_AF30D75E.arn}\\",\\"\${aws_s3_bucket.root_MyResource_cloudBucket_AF30D75E.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:GetObject*\\",\\"s3:GetBucket*\\",\\"s3:List*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_MyResource_cloudBucket_AF30D75E.arn}\\",\\"\${aws_s3_bucket.root_MyResource_cloudBucket_AF30D75E.arn}/*\\"],\\"Effect\\":\\"Allow\\"},{\\"Action\\":[\\"s3:GetObject*\\",\\"s3:GetBucket*\\",\\"s3:List*\\"],\\"Resource\\":[\\"\${aws_s3_bucket.root_MyResource_cloudBucket_AF30D75E.arn}\\",\\"\${aws_s3_bucket.root_MyResource_cloudBucket_AF30D75E.arn}/*\\"],\\"Effect\\":\\"Allow\\"}]}",
+ "role": "\${aws_iam_role.root_testcaptureset_IamRole_1FCDC76B.name}",
+ },
+ },
+ "aws_iam_role_policy_attachment": {
+ "root_testcapturearray_IamRolePolicyAttachment_C9E8AD0C": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:capture_array/IamRolePolicyAttachment",
+ "uniqueId": "root_testcapturearray_IamRolePolicyAttachment_C9E8AD0C",
+ },
+ },
+ "policy_arn": "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ "role": "\${aws_iam_role.root_testcapturearray_IamRole_0E03D456.name}",
+ },
+ "root_testcapturearrayofqueues_IamRolePolicyAttachment_35651451": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:capture_array_of_queues/IamRolePolicyAttachment",
+ "uniqueId": "root_testcapturearrayofqueues_IamRolePolicyAttachment_35651451",
+ },
+ },
+ "policy_arn": "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ "role": "\${aws_iam_role.root_testcapturearrayofqueues_IamRole_223C9195.name}",
+ },
+ "root_testcapturemap_IamRolePolicyAttachment_CF9F2BD2": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:capture_map/IamRolePolicyAttachment",
+ "uniqueId": "root_testcapturemap_IamRolePolicyAttachment_CF9F2BD2",
+ },
+ },
+ "policy_arn": "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ "role": "\${aws_iam_role.root_testcapturemap_IamRole_1B5F9F5E.name}",
+ },
+ "root_testcaptureprimitives_IamRolePolicyAttachment_962C5CDE": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:capture_primitives/IamRolePolicyAttachment",
+ "uniqueId": "root_testcaptureprimitives_IamRolePolicyAttachment_962C5CDE",
+ },
+ },
+ "policy_arn": "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ "role": "\${aws_iam_role.root_testcaptureprimitives_IamRole_67F1EAC9.name}",
+ },
+ "root_testcaptureresource_IamRolePolicyAttachment_5E6259D6": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:capture_resource/IamRolePolicyAttachment",
+ "uniqueId": "root_testcaptureresource_IamRolePolicyAttachment_5E6259D6",
+ },
+ },
+ "policy_arn": "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ "role": "\${aws_iam_role.root_testcaptureresource_IamRole_69F520A4.name}",
+ },
+ "root_testcaptureset_IamRolePolicyAttachment_69E9E796": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:capture_set/IamRolePolicyAttachment",
+ "uniqueId": "root_testcaptureset_IamRolePolicyAttachment_69E9E796",
+ },
+ },
+ "policy_arn": "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ "role": "\${aws_iam_role.root_testcaptureset_IamRole_1FCDC76B.name}",
+ },
+ },
+ "aws_lambda_function": {
+ "root_testcapturearray_85E4D097": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:capture_array/Default",
+ "uniqueId": "root_testcapturearray_85E4D097",
+ },
+ },
+ "environment": {
+ "variables": {
+ "BUCKET_NAME_51ee81c0": "\${aws_s3_bucket.root_MyResource_cloudBucket_AF30D75E.bucket}",
+ "QUEUE_URL_409f9855": "\${aws_sqs_queue.root_MyResource_q2_A7C72267.url}",
+ "QUEUE_URL_5a2f5a6e": "\${aws_sqs_queue.root_MyResource_q1_3171D68C.url}",
+ "WING_FUNCTION_NAME": "test-capture_array-c84da7f0",
+ },
+ },
+ "function_name": "test-capture_array-c84da7f0",
+ "handler": "index.handler",
+ "publish": true,
+ "role": "\${aws_iam_role.root_testcapturearray_IamRole_0E03D456.arn}",
+ "runtime": "nodejs16.x",
+ "s3_bucket": "\${aws_s3_bucket.root_testcapturearray_Code_013E59DB.bucket}",
+ "s3_key": "\${aws_s3_object.root_testcapturearray_S3Object_56C01E37.key}",
+ "timeout": 30,
+ },
+ "root_testcapturearrayofqueues_B444E46D": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:capture_array_of_queues/Default",
+ "uniqueId": "root_testcapturearrayofqueues_B444E46D",
+ },
+ },
+ "environment": {
+ "variables": {
+ "BUCKET_NAME_51ee81c0": "\${aws_s3_bucket.root_MyResource_cloudBucket_AF30D75E.bucket}",
+ "QUEUE_URL_409f9855": "\${aws_sqs_queue.root_MyResource_q2_A7C72267.url}",
+ "QUEUE_URL_5a2f5a6e": "\${aws_sqs_queue.root_MyResource_q1_3171D68C.url}",
+ "WING_FUNCTION_NAME": "test-capture_array_of_queues-c8f52b65",
+ },
+ },
+ "function_name": "test-capture_array_of_queues-c8f52b65",
+ "handler": "index.handler",
+ "publish": true,
+ "role": "\${aws_iam_role.root_testcapturearrayofqueues_IamRole_223C9195.arn}",
+ "runtime": "nodejs16.x",
+ "s3_bucket": "\${aws_s3_bucket.root_testcapturearrayofqueues_Code_D7325F27.bucket}",
+ "s3_key": "\${aws_s3_object.root_testcapturearrayofqueues_S3Object_C899E4CF.key}",
+ "timeout": 30,
+ },
+ "root_testcapturemap_7AEC532C": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:capture_map/Default",
+ "uniqueId": "root_testcapturemap_7AEC532C",
+ },
+ },
+ "environment": {
+ "variables": {
+ "BUCKET_NAME_51ee81c0": "\${aws_s3_bucket.root_MyResource_cloudBucket_AF30D75E.bucket}",
+ "QUEUE_URL_409f9855": "\${aws_sqs_queue.root_MyResource_q2_A7C72267.url}",
+ "QUEUE_URL_5a2f5a6e": "\${aws_sqs_queue.root_MyResource_q1_3171D68C.url}",
+ "WING_FUNCTION_NAME": "test-capture_map-c8002cff",
+ },
+ },
+ "function_name": "test-capture_map-c8002cff",
+ "handler": "index.handler",
+ "publish": true,
+ "role": "\${aws_iam_role.root_testcapturemap_IamRole_1B5F9F5E.arn}",
+ "runtime": "nodejs16.x",
+ "s3_bucket": "\${aws_s3_bucket.root_testcapturemap_Code_5F6F5256.bucket}",
+ "s3_key": "\${aws_s3_object.root_testcapturemap_S3Object_3618C235.key}",
+ "timeout": 30,
+ },
+ "root_testcaptureprimitives_11A0A604": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:capture_primitives/Default",
+ "uniqueId": "root_testcaptureprimitives_11A0A604",
+ },
+ },
+ "environment": {
+ "variables": {
+ "BUCKET_NAME_51ee81c0": "\${aws_s3_bucket.root_MyResource_cloudBucket_AF30D75E.bucket}",
+ "QUEUE_URL_409f9855": "\${aws_sqs_queue.root_MyResource_q2_A7C72267.url}",
+ "QUEUE_URL_5a2f5a6e": "\${aws_sqs_queue.root_MyResource_q1_3171D68C.url}",
+ "WING_FUNCTION_NAME": "test-capture_primitives-c8a111ce",
+ },
+ },
+ "function_name": "test-capture_primitives-c8a111ce",
+ "handler": "index.handler",
+ "publish": true,
+ "role": "\${aws_iam_role.root_testcaptureprimitives_IamRole_67F1EAC9.arn}",
+ "runtime": "nodejs16.x",
+ "s3_bucket": "\${aws_s3_bucket.root_testcaptureprimitives_Code_966F0D4F.bucket}",
+ "s3_key": "\${aws_s3_object.root_testcaptureprimitives_S3Object_FC670079.key}",
+ "timeout": 30,
+ },
+ "root_testcaptureresource_369B2B56": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:capture_resource/Default",
+ "uniqueId": "root_testcaptureresource_369B2B56",
+ },
+ },
+ "environment": {
+ "variables": {
+ "BUCKET_NAME_51ee81c0": "\${aws_s3_bucket.root_MyResource_cloudBucket_AF30D75E.bucket}",
+ "QUEUE_URL_409f9855": "\${aws_sqs_queue.root_MyResource_q2_A7C72267.url}",
+ "QUEUE_URL_5a2f5a6e": "\${aws_sqs_queue.root_MyResource_q1_3171D68C.url}",
+ "WING_FUNCTION_NAME": "test-capture_resource-c829c6e3",
+ },
+ },
+ "function_name": "test-capture_resource-c829c6e3",
+ "handler": "index.handler",
+ "publish": true,
+ "role": "\${aws_iam_role.root_testcaptureresource_IamRole_69F520A4.arn}",
+ "runtime": "nodejs16.x",
+ "s3_bucket": "\${aws_s3_bucket.root_testcaptureresource_Code_EC29DF7A.bucket}",
+ "s3_key": "\${aws_s3_object.root_testcaptureresource_S3Object_3988F6DC.key}",
+ "timeout": 30,
+ },
+ "root_testcaptureset_140F1255": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:capture_set/Default",
+ "uniqueId": "root_testcaptureset_140F1255",
+ },
+ },
+ "environment": {
+ "variables": {
+ "BUCKET_NAME_51ee81c0": "\${aws_s3_bucket.root_MyResource_cloudBucket_AF30D75E.bucket}",
+ "QUEUE_URL_409f9855": "\${aws_sqs_queue.root_MyResource_q2_A7C72267.url}",
+ "QUEUE_URL_5a2f5a6e": "\${aws_sqs_queue.root_MyResource_q1_3171D68C.url}",
+ "WING_FUNCTION_NAME": "test-capture_set-c849421f",
+ },
+ },
+ "function_name": "test-capture_set-c849421f",
+ "handler": "index.handler",
+ "publish": true,
+ "role": "\${aws_iam_role.root_testcaptureset_IamRole_1FCDC76B.arn}",
+ "runtime": "nodejs16.x",
+ "s3_bucket": "\${aws_s3_bucket.root_testcaptureset_Code_E2484ABD.bucket}",
+ "s3_key": "\${aws_s3_object.root_testcaptureset_S3Object_86C9A729.key}",
+ "timeout": 30,
+ },
+ },
+ "aws_s3_bucket": {
+ "root_MyResource_cloudBucket_AF30D75E": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/MyResource/cloud.Bucket/Default",
+ "uniqueId": "root_MyResource_cloudBucket_AF30D75E",
+ },
+ },
+ "bucket_prefix": "cloud-bucket-c8f3d54f-",
+ },
+ "root_testcapturearray_Code_013E59DB": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:capture_array/Code",
+ "uniqueId": "root_testcapturearray_Code_013E59DB",
+ },
+ },
+ "bucket_prefix": "code-c87e637c-",
+ },
+ "root_testcapturearrayofqueues_Code_D7325F27": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:capture_array_of_queues/Code",
+ "uniqueId": "root_testcapturearrayofqueues_Code_D7325F27",
+ },
+ },
+ "bucket_prefix": "code-c8433a86-",
+ },
+ "root_testcapturemap_Code_5F6F5256": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:capture_map/Code",
+ "uniqueId": "root_testcapturemap_Code_5F6F5256",
+ },
+ },
+ "bucket_prefix": "code-c80e6a8e-",
+ },
+ "root_testcaptureprimitives_Code_966F0D4F": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:capture_primitives/Code",
+ "uniqueId": "root_testcaptureprimitives_Code_966F0D4F",
+ },
+ },
+ "bucket_prefix": "code-c83bb55b-",
+ },
+ "root_testcaptureresource_Code_EC29DF7A": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:capture_resource/Code",
+ "uniqueId": "root_testcaptureresource_Code_EC29DF7A",
+ },
+ },
+ "bucket_prefix": "code-c8b99a85-",
+ },
+ "root_testcaptureset_Code_E2484ABD": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:capture_set/Code",
+ "uniqueId": "root_testcaptureset_Code_E2484ABD",
+ },
+ },
+ "bucket_prefix": "code-c8c60189-",
+ },
+ },
+ "aws_s3_bucket_public_access_block": {
+ "root_MyResource_cloudBucket_PublicAccessBlock_953F0137": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/MyResource/cloud.Bucket/PublicAccessBlock",
+ "uniqueId": "root_MyResource_cloudBucket_PublicAccessBlock_953F0137",
+ },
+ },
+ "block_public_acls": true,
+ "block_public_policy": true,
+ "bucket": "\${aws_s3_bucket.root_MyResource_cloudBucket_AF30D75E.bucket}",
+ "ignore_public_acls": true,
+ "restrict_public_buckets": true,
+ },
+ },
+ "aws_s3_bucket_server_side_encryption_configuration": {
+ "root_MyResource_cloudBucket_Encryption_1E1FD60D": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/MyResource/cloud.Bucket/Encryption",
+ "uniqueId": "root_MyResource_cloudBucket_Encryption_1E1FD60D",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_MyResource_cloudBucket_AF30D75E.bucket}",
+ "rule": [
+ {
+ "apply_server_side_encryption_by_default": {
+ "sse_algorithm": "AES256",
+ },
+ },
+ ],
+ },
+ },
+ "aws_s3_object": {
+ "root_testcapturearray_S3Object_56C01E37": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/test:capture_array/S3Object",
+ "uniqueId": "root_testcapturearray_S3Object_56C01E37",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_testcapturearray_Code_013E59DB.bucket}",
+ "key": "",
+ },
+ },
+ },
+}
+`;
+
+exports[`user-defined-resources-captures.w > wing compile --target tf-aws > preflight.js 1`] = `
+"const $stdlib = require('@winglang/sdk');
+const $outdir = process.env.WINGSDK_SYNTH_DIR ?? \\".\\";
+
+function __app(target) {
+ switch (target) {
+ case \\"sim\\":
+ return $stdlib.sim.App;
+ case \\"tfaws\\":
+ case \\"tf-aws\\":
+ return $stdlib.tfaws.App;
+ case \\"tf-gcp\\":
+ return $stdlib.tfgcp.App;
+ case \\"tf-azure\\":
+ return $stdlib.tfazure.App;
+ default:
+ throw new Error(\`Unknown WING_TARGET value: \\"\${process.env.WING_TARGET ?? \\"\\"}\\"\`);
+ }
+}
+const $App = __app(process.env.WING_TARGET);
+
+const cloud = require('@winglang/sdk').cloud;
+class MyApp extends $App {
+constructor() {
+ super({ outdir: $outdir, name: \\"user-defined-resources-captures\\", plugins: $plugins });
+
+ class MyResource extends $stdlib.core.Resource {
+ constructor(scope, id, ) {
+ super(scope, id);
+ {
+ this.my_resource = this.node.root.newAbstract(\\"@winglang/sdk.cloud.Bucket\\",this,\\"cloud.Bucket\\");
+ this.my_str = \\"my_string\\";
+ this.my_num = 42;
+ this.my_bool = true;
+ this.array_of_str = Object.freeze([\\"s1\\", \\"s2\\"]);
+ this.map_of_num = Object.freeze({\\"k1\\":11,\\"k2\\":22});
+ this.set_of_str = Object.freeze(new Set([\\"s1\\", \\"s2\\", \\"s1\\"]));
+ this.array_of_queues = Object.freeze([this.node.root.newAbstract(\\"@winglang/sdk.cloud.Queue\\",this,\\"q1\\"), this.node.root.newAbstract(\\"@winglang/sdk.cloud.Queue\\",this,\\"q2\\")]);
+ }
+ }
+
+ _toInflight() {
+ const array_of_queues_client = this._lift(this.array_of_queues);
+ const array_of_str_client = this._lift(this.array_of_str);
+ const map_of_num_client = this._lift(this.map_of_num);
+ const my_bool_client = this._lift(this.my_bool);
+ const my_num_client = this._lift(this.my_num);
+ const my_resource_client = this._lift(this.my_resource);
+ const my_str_client = this._lift(this.my_str);
+ const set_of_str_client = this._lift(this.set_of_str);
+ const self_client_path = require('path').resolve(__dirname, \\"clients/MyResource.inflight.js\\").replace(/\\\\\\\\/g, \\"/\\");
+ return $stdlib.core.NodeJsCode.fromInline(\`(new (require(\\"\${self_client_path}\\")).MyResource_inflight({array_of_queues: \${array_of_queues_client}, array_of_str: \${array_of_str_client}, map_of_num: \${map_of_num_client}, my_bool: \${my_bool_client}, my_num: \${my_num_client}, my_resource: \${my_resource_client}, my_str: \${my_str_client}, set_of_str: \${set_of_str_client}}))\`);
+ }
+ }
+ MyResource._annotateInflight(\\"capture_resource\\", {\\"this.my_resource\\": { ops: [\\"get\\",\\"list\\",\\"put\\"] }});
+ MyResource._annotateInflight(\\"capture_primitives\\", {\\"this.my_bool\\": { ops: [] },\\"this.my_num\\": { ops: [] },\\"this.my_str\\": { ops: [] }});
+ MyResource._annotateInflight(\\"capture_array\\", {\\"this.array_of_str\\": { ops: [\\"at\\",\\"length\\"] }});
+ MyResource._annotateInflight(\\"capture_map\\", {\\"this.map_of_num\\": { ops: [\\"get\\"] }});
+ MyResource._annotateInflight(\\"capture_set\\", {\\"this.set_of_str\\": { ops: [\\"has\\"] }});
+ MyResource._annotateInflight(\\"capture_array_of_queues\\", {\\"this.array_of_queues\\": { ops: [\\"at\\"] }});
+ const r = new MyResource(this,\\"MyResource\\");
+ this.node.root.newAbstract(\\"@winglang/sdk.cloud.Function\\",this,\\"test:capture_resource\\",new $stdlib.core.Inflight(this, \\"$Inflight1\\", {
+ code: $stdlib.core.NodeJsCode.fromFile(require('path').resolve(__dirname, \\"proc.b5e7bd6cc9f6c741c4f0afa8adc0208ccee08e6297495b1fbe29db8afb6ee789/index.js\\").replace(/\\\\\\\\/g, \\"/\\")),
+ bindings: {
+ r: {
+ obj: r,
+ ops: [\\"capture_array\\",\\"capture_array_of_queues\\",\\"capture_map\\",\\"capture_primitives\\",\\"capture_resource\\",\\"capture_set\\"]
+ },
+ }
+ }));
+ this.node.root.newAbstract(\\"@winglang/sdk.cloud.Function\\",this,\\"test:capture_primitives\\",new $stdlib.core.Inflight(this, \\"$Inflight2\\", {
+ code: $stdlib.core.NodeJsCode.fromFile(require('path').resolve(__dirname, \\"proc.1814d20e284e4a33aff014ce4391d7da7998b0cd7db8ebee477a5400763bbe7b/index.js\\").replace(/\\\\\\\\/g, \\"/\\")),
+ bindings: {
+ r: {
+ obj: r,
+ ops: [\\"capture_array\\",\\"capture_array_of_queues\\",\\"capture_map\\",\\"capture_primitives\\",\\"capture_resource\\",\\"capture_set\\"]
+ },
+ }
+ }));
+ this.node.root.newAbstract(\\"@winglang/sdk.cloud.Function\\",this,\\"test:capture_array\\",new $stdlib.core.Inflight(this, \\"$Inflight3\\", {
+ code: $stdlib.core.NodeJsCode.fromFile(require('path').resolve(__dirname, \\"proc.c341832069b7b13603626bc26227d936f0a7d7b7da45751e3666d6f4e7fa599a/index.js\\").replace(/\\\\\\\\/g, \\"/\\")),
+ bindings: {
+ r: {
+ obj: r,
+ ops: [\\"capture_array\\",\\"capture_array_of_queues\\",\\"capture_map\\",\\"capture_primitives\\",\\"capture_resource\\",\\"capture_set\\"]
+ },
+ }
+ }));
+ this.node.root.newAbstract(\\"@winglang/sdk.cloud.Function\\",this,\\"test:capture_map\\",new $stdlib.core.Inflight(this, \\"$Inflight4\\", {
+ code: $stdlib.core.NodeJsCode.fromFile(require('path').resolve(__dirname, \\"proc.7235e8fbf10f106318ff9c22489e4e955483c8de6b39df0dbf143fdfa4691109/index.js\\").replace(/\\\\\\\\/g, \\"/\\")),
+ bindings: {
+ r: {
+ obj: r,
+ ops: [\\"capture_array\\",\\"capture_array_of_queues\\",\\"capture_map\\",\\"capture_primitives\\",\\"capture_resource\\",\\"capture_set\\"]
+ },
+ }
+ }));
+ this.node.root.newAbstract(\\"@winglang/sdk.cloud.Function\\",this,\\"test:capture_set\\",new $stdlib.core.Inflight(this, \\"$Inflight5\\", {
+ code: $stdlib.core.NodeJsCode.fromFile(require('path').resolve(__dirname, \\"proc.b7df534fba155b498841a75f4610f6bb576ee00e2fbe6869317adf3718597864/index.js\\").replace(/\\\\\\\\/g, \\"/\\")),
+ bindings: {
+ r: {
+ obj: r,
+ ops: [\\"capture_array\\",\\"capture_array_of_queues\\",\\"capture_map\\",\\"capture_primitives\\",\\"capture_resource\\",\\"capture_set\\"]
+ },
+ }
+ }));
+ this.node.root.newAbstract(\\"@winglang/sdk.cloud.Function\\",this,\\"test:capture_array_of_queues\\",new $stdlib.core.Inflight(this, \\"$Inflight6\\", {
+ code: $stdlib.core.NodeJsCode.fromFile(require('path').resolve(__dirname, \\"proc.179eef1ca19aa2bf908a3113209c3d8b96c23bac7bc35f1d6381c0f5cd2ec603/index.js\\").replace(/\\\\\\\\/g, \\"/\\")),
+ bindings: {
+ r: {
+ obj: r,
+ ops: [\\"capture_array\\",\\"capture_array_of_queues\\",\\"capture_map\\",\\"capture_primitives\\",\\"capture_resource\\",\\"capture_set\\"]
+ },
+ }
+ }));
+}
+}
+new MyApp().synth();"
+`;
+
+exports[`while.w > wing compile --target tf-aws > main.tf.json 1`] = `
+{
+ "//": {
+ "metadata": {
+ "backend": "local",
+ "stackName": "root",
+ "version": "0.15.2",
+ },
+ "outputs": {},
+ },
+ "provider": {
+ "aws": [
+ {},
+ ],
+ },
+}
+`;
+
+exports[`while.w > wing compile --target tf-aws > preflight.js 1`] = `
+"const $stdlib = require('@winglang/sdk');
+const $outdir = process.env.WINGSDK_SYNTH_DIR ?? \\".\\";
+
+function __app(target) {
+ switch (target) {
+ case \\"sim\\":
+ return $stdlib.sim.App;
+ case \\"tfaws\\":
+ case \\"tf-aws\\":
+ return $stdlib.tfaws.App;
+ case \\"tf-gcp\\":
+ return $stdlib.tfgcp.App;
+ case \\"tf-azure\\":
+ return $stdlib.tfazure.App;
+ default:
+ throw new Error(\`Unknown WING_TARGET value: \\"\${process.env.WING_TARGET ?? \\"\\"}\\"\`);
+ }
+}
+const $App = __app(process.env.WING_TARGET);
+
+class MyApp extends $App {
+constructor() {
+ super({ outdir: $outdir, name: \\"while\\", plugins: $plugins });
+
+ while (false) {
+ const x = 1;
+ }
+ const y = 123;
+ while ((y < 0)) {
+ const x = 1;
+ }
+}
+}
+new MyApp().synth();"
+`;
+
+exports[`while_loop_await.w > wing compile --target tf-aws > index.js 1`] = `
+"async handle(j) { const { } = this; {
+ return (j + 1);
+} };"
+`;
+
+exports[`while_loop_await.w > wing compile --target tf-aws > index.js 2`] = `
+"async handle(body) { const { } = this; {
+ const i = 0;
+ while (((await iterator(i)) < 3)) {
+ {console.log(\`\${i}\`)};
+ }
+} };"
+`;
+
+exports[`while_loop_await.w > wing compile --target tf-aws > main.tf.json 1`] = `
+{
+ "//": {
+ "metadata": {
+ "backend": "local",
+ "stackName": "root",
+ "version": "0.15.2",
+ },
+ "outputs": {},
+ },
+ "provider": {
+ "aws": [
+ {},
+ ],
+ },
+ "resource": {
+ "aws_iam_role": {
+ "root_cloudQueueOnMessageb3f3d188_IamRole_2EDE9980": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Queue-OnMessage-b3f3d188/IamRole",
+ "uniqueId": "root_cloudQueueOnMessageb3f3d188_IamRole_2EDE9980",
+ },
+ },
+ "assume_role_policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":\\"sts:AssumeRole\\",\\"Principal\\":{\\"Service\\":\\"lambda.amazonaws.com\\"},\\"Effect\\":\\"Allow\\"}]}",
+ },
+ },
+ "aws_iam_role_policy": {
+ "root_cloudQueueOnMessageb3f3d188_IamRolePolicy_F06A54DE": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Queue-OnMessage-b3f3d188/IamRolePolicy",
+ "uniqueId": "root_cloudQueueOnMessageb3f3d188_IamRolePolicy_F06A54DE",
+ },
+ },
+ "policy": "{\\"Version\\":\\"2012-10-17\\",\\"Statement\\":[{\\"Action\\":[\\"sqs:ReceiveMessage\\",\\"sqs:ChangeMessageVisibility\\",\\"sqs:GetQueueUrl\\",\\"sqs:DeleteMessage\\",\\"sqs:GetQueueAttributes\\"],\\"Resource\\":\\"\${aws_sqs_queue.root_cloudQueue_E3597F7A.arn}\\",\\"Effect\\":\\"Allow\\"}]}",
+ "role": "\${aws_iam_role.root_cloudQueueOnMessageb3f3d188_IamRole_2EDE9980.name}",
+ },
+ },
+ "aws_iam_role_policy_attachment": {
+ "root_cloudQueueOnMessageb3f3d188_IamRolePolicyAttachment_6D0B5E93": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Queue-OnMessage-b3f3d188/IamRolePolicyAttachment",
+ "uniqueId": "root_cloudQueueOnMessageb3f3d188_IamRolePolicyAttachment_6D0B5E93",
+ },
+ },
+ "policy_arn": "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
+ "role": "\${aws_iam_role.root_cloudQueueOnMessageb3f3d188_IamRole_2EDE9980.name}",
+ },
+ },
+ "aws_lambda_event_source_mapping": {
+ "root_cloudQueue_EventSourceMapping_A2041279": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Queue/EventSourceMapping",
+ "uniqueId": "root_cloudQueue_EventSourceMapping_A2041279",
+ },
+ },
+ "batch_size": 1,
+ "event_source_arn": "\${aws_sqs_queue.root_cloudQueue_E3597F7A.arn}",
+ "function_name": "\${aws_lambda_function.root_cloudQueueOnMessageb3f3d188_29346340.function_name}",
+ },
+ },
+ "aws_lambda_function": {
+ "root_cloudQueueOnMessageb3f3d188_29346340": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Queue-OnMessage-b3f3d188/Default",
+ "uniqueId": "root_cloudQueueOnMessageb3f3d188_29346340",
+ },
+ },
+ "environment": {
+ "variables": {
+ "WING_FUNCTION_NAME": "cloud-Queue-OnMessage-b3f3d188-c87e2d03",
+ },
+ },
+ "function_name": "cloud-Queue-OnMessage-b3f3d188-c87e2d03",
+ "handler": "index.handler",
+ "publish": true,
+ "role": "\${aws_iam_role.root_cloudQueueOnMessageb3f3d188_IamRole_2EDE9980.arn}",
+ "runtime": "nodejs16.x",
+ "s3_bucket": "\${aws_s3_bucket.root_cloudQueueOnMessageb3f3d188_Code_4D451A84.bucket}",
+ "s3_key": "\${aws_s3_object.root_cloudQueueOnMessageb3f3d188_S3Object_18BDF7F0.key}",
+ "timeout": 30,
+ },
+ },
+ "aws_s3_bucket": {
+ "root_cloudQueueOnMessageb3f3d188_Code_4D451A84": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Queue-OnMessage-b3f3d188/Code",
+ "uniqueId": "root_cloudQueueOnMessageb3f3d188_Code_4D451A84",
+ },
+ },
+ "bucket_prefix": "code-c8b6a338-",
+ },
+ },
+ "aws_s3_object": {
+ "root_cloudQueueOnMessageb3f3d188_S3Object_18BDF7F0": {
+ "//": {
+ "metadata": {
+ "path": "root/Default/cloud.Queue-OnMessage-b3f3d188/S3Object",
+ "uniqueId": "root_cloudQueueOnMessageb3f3d188_S3Object_18BDF7F0",
+ },
+ },
+ "bucket": "\${aws_s3_bucket.root_cloudQueueOnMessageb3f3d188_Code_4D451A84.bucket}",
+ "key": "",
+ },
+ },
+ },
+}
+`;
+
+exports[`while_loop_await.w > wing compile --target tf-aws > preflight.js 1`] = `
+"const $stdlib = require('@winglang/sdk');
+const $outdir = process.env.WINGSDK_SYNTH_DIR ?? \\".\\";
+
+function __app(target) {
+ switch (target) {
+ case \\"sim\\":
+ return $stdlib.sim.App;
+ case \\"tfaws\\":
+ case \\"tf-aws\\":
+ return $stdlib.tfaws.App;
+ case \\"tf-gcp\\":
+ return $stdlib.tfgcp.App;
+ case \\"tf-azure\\":
+ return $stdlib.tfazure.App;
+ default:
+ throw new Error(\`Unknown WING_TARGET value: \\"\${process.env.WING_TARGET ?? \\"\\"}\\"\`);
+ }
+}
+const $App = __app(process.env.WING_TARGET);
+
+const cloud = require('@winglang/sdk').cloud;
+class MyApp extends $App {
+constructor() {
+ super({ outdir: $outdir, name: \\"while_loop_await\\", plugins: $plugins });
+
+ const queue = this.node.root.newAbstract(\\"@winglang/sdk.cloud.Queue\\",this,\\"cloud.Queue\\");
+ const iterator = new $stdlib.core.Inflight(this, \\"$Inflight1\\", {
+ code: $stdlib.core.NodeJsCode.fromFile(require('path').resolve(__dirname, \\"proc.82d0059fdbaebaab6d1be68f497052f9d5b8662f4333952a6e9ad55f564e0c97/index.js\\").replace(/\\\\\\\\/g, \\"/\\")),
+ bindings: {
+ }
+ });
+ const handler = new $stdlib.core.Inflight(this, \\"$Inflight2\\", {
+ code: $stdlib.core.NodeJsCode.fromFile(require('path').resolve(__dirname, \\"proc.f259e8d1edc5d47946ec1a1f3aa23e59fe550255ec12b899cffb307ecf525df6/index.js\\").replace(/\\\\\\\\/g, \\"/\\")),
+ bindings: {
+ }
+ });
+ (queue.onMessage(handler));
+}
+}
+new MyApp().synth();"
+`;
diff --git a/tools/hangar/src/__snapshots__/invalid.test.ts.snap b/tools/hangar/src/__snapshots__/invalid.test.ts.snap
new file mode 100644
index 00000000000..3b6cfc958d1
--- /dev/null
+++ b/tools/hangar/src/__snapshots__/invalid.test.ts.snap
@@ -0,0 +1,260 @@
+// Vitest Snapshot v1
+
+exports[`access_hidden_namespace.w > wing test (--target sim) - invalid > stderr 1`] = `
+"Compilation failed with 1 error(s)
+Error at ../../../../examples/tests/invalid/access_hidden_namespace.w:8:5 | Unknown symbol \\"core\\""
+`;
+
+exports[`access_static_from_instance.w > wing test (--target sim) - invalid > stderr 1`] = `
+"Compilation failed with 7 error(s)
+Error at ../../../../examples/tests/invalid/access_static_from_instance.w:4:3 | Static class fields not supported yet, see https://github.com/winglang/wing/issues/1668
+Error at ../../../../examples/tests/invalid/access_static_from_instance.w:7:5 | Unknown symbol \\"this\\"
+Error at ../../../../examples/tests/invalid/access_static_from_instance.w:7:5 | Variable this.instance_field is not reassignable
+Error at ../../../../examples/tests/invalid/access_static_from_instance.w:8:5 | Unknown symbol \\"this\\"
+Error at ../../../../examples/tests/invalid/access_static_from_instance.w:8:5 | Variable this.f is not reassignable
+Error at ../../../../examples/tests/invalid/access_static_from_instance.w:19:5 | Cannot access static property \\"f\\" from instance
+Error at ../../../../examples/tests/invalid/access_static_from_instance.w:20:5 | Cannot access static property \\"m\\" from instance"
+`;
+
+exports[`bring.w > wing test (--target sim) - invalid > stderr 1`] = `
+"Compilation failed with 1 error(s)
+Error at ../../../../examples/tests/invalid/bring.w:1:1 | Redundant bring of \\"std\\""
+`;
+
+exports[`bring_jsii.w > wing test (--target sim) - invalid > stderr 1`] = `
+"Compilation failed with 2 error(s)
+Error at ../../../../examples/tests/invalid/bring_jsii.w:1:1 | bring \\"jsii-code-samples\\" must be assigned to an identifier (e.g. bring \\"foo\\" as foo)
+Error at ../../../../examples/tests/invalid/bring_jsii.w:4:1 | Cannot find module \\"foobar\\" in source directory"
+`;
+
+exports[`capture_mutables.w > wing test (--target sim) - invalid > stderr 1`] = `
+"Compilation failed with 5 error(s)
+Error at ../../../../examples/tests/invalid/capture_mutables.w:8:10 | Cannot reference 'a' of type 'MutArray' from an inflight context
+Error at ../../../../examples/tests/invalid/capture_mutables.w:10:10 | Cannot reference 's' of type 'MutSet' from an inflight context
+Error at ../../../../examples/tests/invalid/capture_mutables.w:12:10 | Cannot reference 'm' of type 'MutMap' from an inflight context
+Error at ../../../../examples/tests/invalid/capture_mutables.w:14:10 | Cannot reference 'a_cloned' of type 'MutArray' from an inflight context
+Error at ../../../../examples/tests/invalid/capture_mutables.w:14:19 | Unknown symbol \\"size\\""
+`;
+
+exports[`capture_reassignable.w > wing test (--target sim) - invalid > stderr 1`] = `
+"Compilation failed with 1 error(s)
+Error at ../../../../examples/tests/invalid/capture_reassignable.w:6:17 | Cannot capture a reassignable variable \\"x\\""
+`;
+
+exports[`cloud_function_expects_inflight.w > wing test (--target sim) - invalid > stderr 1`] = `
+"Compilation failed with 1 error(s)
+Error at ../../../../examples/tests/invalid/cloud_function_expects_inflight.w:3:20 | Expected type to be \\"inflight (any): any\\", but got \\"preflight (str): str\\" instead"
+`;
+
+exports[`container_types.w > wing test (--target sim) - invalid > stderr 1`] = `
+"Compilation failed with 17 error(s)
+Error at ../../../../examples/tests/invalid/container_types.w:2:28 | Expected type to be \\"num\\", but got \\"str\\" instead
+Error at ../../../../examples/tests/invalid/container_types.w:3:12 | Expected \\"Set\\" type, found \\"Array\\"
+Error at ../../../../examples/tests/invalid/container_types.w:5:24 | Expected type to be \\"Array\\", but got \\"Array\\" instead
+Error at ../../../../examples/tests/invalid/container_types.w:6:6 | Unknown symbol \\"some_random_method\\"
+Error at ../../../../examples/tests/invalid/container_types.w:9:32 | Expected type to be \\"num\\", but got \\"str\\" instead
+Error at ../../../../examples/tests/invalid/container_types.w:10:20 | Expected expression
+Error at ../../../../examples/tests/invalid/container_types.w:10:24 | Unknown parser error.
+Error at ../../../../examples/tests/invalid/container_types.w:10:28 | Unknown parser error.
+Error at ../../../../examples/tests/invalid/container_types.w:10:40 | Unknown parser error.
+Error at ../../../../examples/tests/invalid/container_types.w:12:20 | Expected type to be \\"Map\\", but got \\"Map\\" instead
+Error at ../../../../examples/tests/invalid/container_types.w:12:26 | Unknown symbol \\"some_random_method\\"
+Error at ../../../../examples/tests/invalid/container_types.w:15:24 | Expected type to be \\"num\\", but got \\"str\\" instead
+Error at ../../../../examples/tests/invalid/container_types.w:16:10 | Expected \\"Array\\" type, found \\"Set\\"
+Error at ../../../../examples/tests/invalid/container_types.w:17:20 | Expected type to be \\"Set\\", but got \\"Array\\" instead
+Error at ../../../../examples/tests/invalid/container_types.w:17:24 | Expected type to be \\"num\\", but got \\"str\\" instead
+Error at ../../../../examples/tests/invalid/container_types.w:19:20 | Expected type to be \\"Set\\", but got \\"Set\\" instead
+Error at ../../../../examples/tests/invalid/container_types.w:20:4 | Unknown symbol \\"some_random_method\\""
+`;
+
+exports[`enums.w > wing test (--target sim) - invalid > stderr 1`] = `
+"Compilation failed with 2 error(s)
+Error at ../../../../examples/tests/invalid/enums.w:5:21 | Enum \\"SomeEnum\\" does not contain value \\"FOUR\\"
+Error at ../../../../examples/tests/invalid/enums.w:8:11 | Expression must be a class or resource instance to access property \\"TWO\\", instead found type \\"SomeEnum\\""
+`;
+
+exports[`for_loop.w > wing test (--target sim) - invalid > stderr 1`] = `
+"Compilation failed with 1 error(s)
+Error at ../../../../examples/tests/invalid/for_loop.w:5:13 | Unable to iterate over \\"Bucket\\""
+`;
+
+exports[`immutable_container_types.w > wing test (--target sim) - invalid > stderr 1`] = `
+"Compilation failed with 1 error(s)
+Error at ../../../../examples/tests/invalid/immutable_container_types.w:3:4 | Unknown symbol \\"set\\""
+`;
+
+exports[`impl_interface.w > wing test (--target sim) - invalid > stderr 1`] = `
+"Compilation failed with 2 error(s)
+Error at ../../../../examples/tests/invalid/impl_interface.w:3:10 | Resource \\"A (at ../../../../examples/tests/invalid/impl_interface.w:3:10)\\" does not implement method \\"handle\\" of interface \\"cloud.IQueueOnMessageHandler\\"
+Error at ../../../../examples/tests/invalid/impl_interface.w:8:10 | Expected type to be \\"inflight (IQueueOnMessageHandler, str): void\\", but got \\"inflight (B): void\\" instead"
+`;
+
+exports[`inflight_in_class.w > wing test (--target sim) - invalid > stderr 1`] = `
+"Compilation failed with 1 error(s)
+Error at ../../../../examples/tests/invalid/inflight_in_class.w:3:3 | Class cannot have inflight fields"
+`;
+
+exports[`inflight_ref_invalid.w > wing test (--target sim) - invalid > stderr 1`] = `
+"Compilation failed with 2 error(s)
+Error at ../../../../examples/tests/invalid/inflight_ref_invalid.w:12:19 | Unable to reference \\"this.reassignable\\" from inflight method \\"test\\" because it is reassignable (\\"var\\")
+Error at ../../../../examples/tests/invalid/inflight_ref_invalid.w:14:16 | Unable to reference \\"this.mut_array\\" from inflight method \\"test\\" because type MutArray is not capturable"
+`;
+
+exports[`inflight_ref_resource_sub_field.w > wing test (--target sim) - invalid > stderr 1`] = `
+"Compilation failed with 1 error(s)
+Error at ../../../../examples/tests/invalid/inflight_ref_resource_sub_field.w:26:10 | Unable to reference \\"my_queue.push\\" from inflight method \\"test\\" because it is not an inflight method"
+`;
+
+exports[`json.w > wing test (--target sim) - invalid > stderr 1`] = `
+"Compilation failed with 7 error(s)
+Error at ../../../../examples/tests/invalid/json.w:5:14 | Expected type to be \\"str\\", but got \\"Json\\" instead
+Error at ../../../../examples/tests/invalid/json.w:7:14 | Expected type to be \\"num\\", but got \\"Json\\" instead
+Error at ../../../../examples/tests/invalid/json.w:9:15 | Expected type to be \\"bool\\", but got \\"Json\\" instead
+Error at ../../../../examples/tests/invalid/json.w:11:19 | Expected type to be \\"Map\\", but got \\"Json\\" instead
+Error at ../../../../examples/tests/invalid/json.w:13:20 | Expected type to be \\"Set\\", but got \\"Json\\" instead
+Error at ../../../../examples/tests/invalid/json.w:15:21 | Expected type to be \\"Array\\", but got \\"Json\\" instead
+Error at ../../../../examples/tests/invalid/json.w:20:14 | Unknown symbol \\"set\\""
+`;
+
+exports[`missing_semicolon.w > wing test (--target sim) - invalid > stderr 1`] = `
+"Compilation failed with 4 error(s)
+Error at ../../../../examples/tests/invalid/missing_semicolon.w:7:1 | Expected expression
+Error at ../../../../examples/tests/invalid/missing_semicolon.w:11:1 | Unknown parser error.
+Error at ../../../../examples/tests/invalid/missing_semicolon.w:16:24 | ';' expected.
+Error at ../../../../examples/tests/invalid/missing_semicolon.w:19:28 | '}' expected."
+`;
+
+exports[`mut_container_types.w > wing test (--target sim) - invalid > stderr 1`] = `
+"Compilation failed with 14 error(s)
+Error at ../../../../examples/tests/invalid/mut_container_types.w:2:29 | Expected type to be \\"num\\", but got \\"str\\" instead
+Error at ../../../../examples/tests/invalid/mut_container_types.w:3:12 | Expected \\"Set\\" type, found \\"MutArray\\"
+Error at ../../../../examples/tests/invalid/mut_container_types.w:4:27 | Expected type to be \\"MutArray\\", but got \\"Array\\" instead
+Error at ../../../../examples/tests/invalid/mut_container_types.w:6:27 | Expected type to be \\"MutArray\\", but got \\"MutArray\\" instead
+Error at ../../../../examples/tests/invalid/mut_container_types.w:7:6 | Unknown symbol \\"some_method\\"
+Error at ../../../../examples/tests/invalid/mut_container_types.w:10:25 | Expected type to be \\"num\\", but got \\"str\\" instead
+Error at ../../../../examples/tests/invalid/mut_container_types.w:11:10 | Expected \\"Array\\" type, found \\"MutSet\\"
+Error at ../../../../examples/tests/invalid/mut_container_types.w:12:23 | Expected type to be \\"MutSet\\", but got \\"Set\\" instead
+Error at ../../../../examples/tests/invalid/mut_container_types.w:14:23 | Expected type to be \\"MutSet\\", but got \\"MutSet\\" instead
+Error at ../../../../examples/tests/invalid/mut_container_types.w:15:4 | Unknown symbol \\"some_method\\"
+Error at ../../../../examples/tests/invalid/mut_container_types.w:18:31 | Expected type to be \\"num\\", but got \\"str\\" instead
+Error at ../../../../examples/tests/invalid/mut_container_types.w:20:10 | Expected \\"Array\\" type, found \\"MutMap\\"
+Error at ../../../../examples/tests/invalid/mut_container_types.w:22:23 | Expected type to be \\"MutMap\\", but got \\"Map\\" instead
+Error at ../../../../examples/tests/invalid/mut_container_types.w:25:23 | Expected type to be \\"MutMap\\", but got \\"MutMap\\" instead"
+`;
+
+exports[`optional_invoke.w > wing test (--target sim) - invalid > stderr 1`] = `
+"Compilation failed with 5 error(s)
+Error at ../../../../examples/tests/invalid/optional_invoke.w:3:1 | Unknown parser error.
+Error at ../../../../examples/tests/invalid/optional_invoke.w:3:10 | Unknown parser error.
+Error at ../../../../examples/tests/invalid/optional_invoke.w:3:21 | Expected expression
+Error at ../../../../examples/tests/invalid/optional_invoke.w:7:1 | Unknown parser error.
+Error at ../../../../examples/tests/invalid/optional_invoke.w:8:1 | Unknown symbol \\"f\\""
+`;
+
+exports[`optionals.w > wing test (--target sim) - invalid > stderr 1`] = `
+"Compilation failed with 3 error(s)
+Error at ../../../../examples/tests/invalid/optionals.w:1:1 | Unknown parser error.
+Error at ../../../../examples/tests/invalid/optionals.w:1:10 | Unknown parser error.
+Error at ../../../../examples/tests/invalid/optionals.w:6:1 | Unknown symbol \\"f\\""
+`;
+
+exports[`primitives.w > wing test (--target sim) - invalid > stderr 1`] = `
+"Compilation failed with 4 error(s)
+Error at ../../../../examples/tests/invalid/primitives.w:5:7 | Unexpected expression \\"structured_access_expression\\"
+Error at ../../../../examples/tests/invalid/primitives.w:9:16 | Unknown symbol \\"blabla\\"
+Error at ../../../../examples/tests/invalid/primitives.w:11:5 | Unknown symbol \\"push\\"
+Error at ../../../../examples/tests/invalid/primitives.w:13:14 | Expected type to be \\"str\\", but got \\"num\\" instead"
+`;
+
+exports[`reassign_to_nonreassignable.w > wing test (--target sim) - invalid > stderr 1`] = `
+"Compilation failed with 4 error(s)
+Error at ../../../../examples/tests/invalid/reassign_to_nonreassignable.w:3:1 | Variable x is not reassignable
+Error at ../../../../examples/tests/invalid/reassign_to_nonreassignable.w:13:5 | Variable this.f is not reassignable
+Error at ../../../../examples/tests/invalid/reassign_to_nonreassignable.w:19:3 | Variable arg is not reassignable
+Error at ../../../../examples/tests/invalid/reassign_to_nonreassignable.w:21:2 | ';' expected."
+`;
+
+exports[`resource_access_field_as_method.w > wing test (--target sim) - invalid > stderr 1`] = `
+"Compilation failed with 1 error(s)
+Error at ../../../../examples/tests/invalid/resource_access_field_as_method.w:8:1 | should be a function or method"
+`;
+
+exports[`resource_inflight.w > wing test (--target sim) - invalid > stderr 1`] = `
+"Compilation failed with 1 error(s)
+Error | Cannot create the resource \\"Bucket (at src/cloud/bucket.ts:27:1)\\" in inflight phase"
+`;
+
+exports[`sorted_errors_no_span.w > wing test (--target sim) - invalid > stderr 1`] = `
+"Compilation failed with 6 error(s)
+Error | Class c (at ../../../../examples/tests/invalid/sorted_errors_no_span.w:3:7)'s parent \\"any\\" is not a class
+Error | Class e (at ../../../../examples/tests/invalid/sorted_errors_no_span.w:7:7)'s parent \\"any\\" is not a class
+Error at ../../../../examples/tests/invalid/sorted_errors_no_span.w:1:14 | Expected type to be \\"num\\", but got \\"str\\" instead
+Error at ../../../../examples/tests/invalid/sorted_errors_no_span.w:3:17 | Expected b (at ../../../../examples/tests/invalid/sorted_errors_no_span.w:3:17) to be a type but it's a variable
+Error at ../../../../examples/tests/invalid/sorted_errors_no_span.w:6:14 | Expected type to be \\"num\\", but got \\"str\\" instead
+Error at ../../../../examples/tests/invalid/sorted_errors_no_span.w:7:17 | Expected b (at ../../../../examples/tests/invalid/sorted_errors_no_span.w:7:17) to be a type but it's a variable"
+`;
+
+exports[`statements_if.w > wing test (--target sim) - invalid > stderr 1`] = `
+"Compilation failed with 3 error(s)
+Error at ../../../../examples/tests/invalid/statements_if.w:2:1 | Unexpected unary operator \\"--\\"
+Error at ../../../../examples/tests/invalid/statements_if.w:5:5 | Expected type to be \\"bool\\", but got \\"num\\" instead
+Error at ../../../../examples/tests/invalid/statements_if.w:8:5 | Expected type to be \\"bool\\", but got \\"num\\" instead"
+`;
+
+exports[`struct_expansion.w > wing test (--target sim) - invalid > stderr 1`] = `
+"Compilation failed with 6 error(s)
+Error at ../../../../examples/tests/invalid/struct_expansion.w:3:15 | \\"bublic\\" is not a field of \\"BucketProps\\"
+Error at ../../../../examples/tests/invalid/struct_expansion.w:4:15 | Expected between 0 and 1 arguments but got 2 when instantiating \\"Bucket\\"
+Error at ../../../../examples/tests/invalid/struct_expansion.w:4:32 | Expected type to be \\"BucketProps?\\", but got \\"num\\" instead
+Error at ../../../../examples/tests/invalid/struct_expansion.w:6:15 | Expected expression
+Error at ../../../../examples/tests/invalid/struct_expansion.w:7:15 | Unknown parser error.
+Error at ../../../../examples/tests/invalid/struct_expansion.w:11:3 | Unknown symbol \\"handler\\""
+`;
+
+exports[`try_no_catch_or_finally.w > wing test (--target sim) - invalid > stderr 1`] = `
+"Compilation failed with 1 error(s)
+Error at ../../../../examples/tests/invalid/try_no_catch_or_finally.w:1:1 | Missing \`catch\` or \`finally\` blocks for this try statement"
+`;
+
+exports[`types_strings_arithmetic.w > wing test (--target sim) - invalid > stderr 1`] = `
+"Compilation failed with 5 error(s)
+Error at ../../../../examples/tests/invalid/types_strings_arithmetic.w:1:10 | Expected type to be \\"num\\", but got \\"str\\" instead
+Error at ../../../../examples/tests/invalid/types_strings_arithmetic.w:1:16 | Expected type to be \\"num\\", but got \\"str\\" instead
+Error at ../../../../examples/tests/invalid/types_strings_arithmetic.w:4:14 | Expected type to be \\"num\\", but got \\"str\\" instead
+Error at ../../../../examples/tests/invalid/types_strings_arithmetic.w:7:10 | Expected type to be \\"num\\", but got \\"str\\" instead
+Error at ../../../../examples/tests/invalid/types_strings_arithmetic.w:13:10 | Expected type to be \\"num\\", but got \\"str\\" instead"
+`;
+
+exports[`unimplemented_grammar.w > wing test (--target sim) - invalid > stderr 1`] = `
+"Compilation failed with 5 error(s)
+Error at ../../../../examples/tests/invalid/unimplemented_grammar.w:1:8 | builtin \\"void\\" is not supported yet see https://github.com/winglang/wing/issues/432
+Error at ../../../../examples/tests/invalid/unimplemented_grammar.w:2:8 | builtin \\"any\\" is not supported yet see https://github.com/winglang/wing/issues/434
+Error at ../../../../examples/tests/invalid/unimplemented_grammar.w:3:20 | builtin container type \\"Promise\\" is not supported yet see https://github.com/winglang/wing/issues/529
+Error at ../../../../examples/tests/invalid/unimplemented_grammar.w:4:9 | expression \\"defer_expression\\" is not supported yet see https://github.com/winglang/wing/issues/116
+Error at ../../../../examples/tests/invalid/unimplemented_grammar.w:5:9 | expression \\"await_expression\\" is not supported yet see https://github.com/winglang/wing/issues/116"
+`;
+
+exports[`unknown_symbol.w > wing test (--target sim) - invalid > stderr 1`] = `
+"Compilation failed with 3 error(s)
+Error at ../../../../examples/tests/invalid/unknown_symbol.w:3:18 | Unknown symbol \\"clod\\"
+Error at ../../../../examples/tests/invalid/unknown_symbol.w:6:13 | Unknown symbol \\"y\\"
+Error at ../../../../examples/tests/invalid/unknown_symbol.w:17:25 | Unknown symbol \\"method_which_is_not_part_of_bucket_api\\""
+`;
+
+exports[`use_before_defined.w > wing test (--target sim) - invalid > stderr 1`] = `
+"Compilation failed with 2 error(s)
+Error at ../../../../examples/tests/invalid/use_before_defined.w:1:10 | Unknown symbol \\"y\\"
+Error at ../../../../examples/tests/invalid/use_before_defined.w:5:12 | Symbol \\"x\\" used before being defined"
+`;
+
+exports[`variable_scoping.w > wing test (--target sim) - invalid > stderr 1`] = `
+"Compilation failed with 1 error(s)
+Error at ../../../../examples/tests/invalid/variable_scoping.w:6:11 | Unknown symbol \\"x\\""
+`;
+
+exports[`void_in_expression_position.w > wing test (--target sim) - invalid > stderr 1`] = `
+"Compilation failed with 3 error(s)
+Error at ../../../../examples/tests/invalid/void_in_expression_position.w:1:1 | Expression must be a class or resource instance to access property \\"get\\", instead found type \\"void\\"
+Error at ../../../../examples/tests/invalid/void_in_expression_position.w:7:13 | Expected type to be \\"num\\", but got \\"void\\" instead
+Error at ../../../../examples/tests/invalid/void_in_expression_position.w:11:5 | Cannot assign expression of type \\"void\\" to a variable"
+`;
diff --git a/tools/hangar/src/__snapshots__/test.test.ts.snap b/tools/hangar/src/__snapshots__/test.test.ts.snap
new file mode 100644
index 00000000000..5bed4e19d09
--- /dev/null
+++ b/tools/hangar/src/__snapshots__/test.test.ts.snap
@@ -0,0 +1,148 @@
+// Vitest Snapshot v1
+
+exports[`anon_function.w > wing test --target sim > stdout 1`] = `
+"1
+2
+3
+pass ─ anon_function.w (no tests)"
+`;
+
+exports[`asynchronous_model_implicit_await_in_functions.w > wing test --target sim > stdout 1`] = `"pass ─ asynchronous_model_implicit_await_in_functions.w (no tests)"`;
+
+exports[`bring_cdktf.w > wing test --target sim > stdout 1`] = `"pass ─ bring_cdktf.w (no tests)"`;
+
+exports[`bring_fs.w > wing test --target sim > stdout 1`] = `"pass ─ bring_fs.w (no tests)"`;
+
+exports[`bring_jsii.w > wing test --target sim > stdout 1`] = `"pass ─ bring_jsii.w » root/test:say_hello"`;
+
+exports[`bring_jsii_path.w > wing test --target sim > stdout 1`] = `"pass ─ bring_jsii_path.w » root/test:say_hello"`;
+
+exports[`bring_projen.w > wing test --target sim > stdout 1`] = `"pass ─ bring_projen.w (no tests)"`;
+
+exports[`bucket_keys.w > wing test --target sim > stdout 1`] = `"pass ─ bucket_keys.w » root/test"`;
+
+exports[`capture_containers.w > wing test --target sim > stdout 1`] = `"pass ─ capture_containers.w » root/test"`;
+
+exports[`capture_containers_of_resources.w > wing test --target sim > stdout 1`] = `"pass ─ capture_containers_of_resources.w » root/test"`;
+
+exports[`capture_in_binary.w > wing test --target sim > stdout 1`] = `"pass ─ capture_in_binary.w » root/test"`;
+
+exports[`capture_primitives.w > wing test --target sim > stdout 1`] = `"pass ─ capture_primitives.w (no tests)"`;
+
+exports[`capture_resource_and_data.w > wing test --target sim > stdout 1`] = `"pass ─ capture_resource_and_data.w » root/test"`;
+
+exports[`capture_resource_with_no_inflight.w > wing test --target sim > stdout 1`] = `"pass ─ capture_resource_with_no_inflight.w » root/test"`;
+
+exports[`captures.w > wing test --target sim > stdout 1`] = `"pass ─ captures.w (no tests)"`;
+
+exports[`container_types.w > wing test --target sim > stdout 1`] = `"pass ─ container_types.w (no tests)"`;
+
+exports[`enums.w > wing test --target sim > stdout 1`] = `"pass ─ enums.w (no tests)"`;
+
+exports[`expressions_binary_operators.w > wing test --target sim > stdout 1`] = `"pass ─ expressions_binary_operators.w (no tests)"`;
+
+exports[`expressions_string_interpolation.w > wing test --target sim > stdout 1`] = `"pass ─ expressions_string_interpolation.w (no tests)"`;
+
+exports[`file_counter.w > wing test --target sim > stdout 1`] = `"pass ─ file_counter.w (no tests)"`;
+
+exports[`for_loop.w > wing test --target sim > stdout 1`] = `
+"wing: 1
+wing: 2
+wing: 3
+lang: 1
+lang: 2
+lang: 3
+dang: 1
+dang: 2
+dang: 3
+pass ─ for_loop.w (no tests)"
+`;
+
+exports[`forward_decl.w > wing test --target sim > stdout 1`] = `
+"hi
+pass ─ forward_decl.w (no tests)"
+`;
+
+exports[`hello.w > wing test --target sim > stdout 1`] = `"pass ─ hello.w (no tests)"`;
+
+exports[`identical_inflights.w > wing test --target sim > stdout 1`] = `"pass ─ identical_inflights.w (no tests)"`;
+
+exports[`impl_interface.w > wing test --target sim > stdout 1`] = `"pass ─ impl_interface.w (no tests)"`;
+
+exports[`inflight_ref_external.w > wing test --target sim > stdout 1`] = `"pass ─ inflight_ref_external.w » root/test"`;
+
+exports[`inflight_ref_inflight_field.w > wing test --target sim > stdout 1`] = `"pass ─ inflight_ref_inflight_field.w » root/test"`;
+
+exports[`inflight_ref_primitive.w > wing test --target sim > stdout 1`] = `"pass ─ inflight_ref_primitive.w » root/test"`;
+
+exports[`inflight_ref_resource.w > wing test --target sim > stdout 1`] = `"pass ─ inflight_ref_resource.w » root/test"`;
+
+exports[`inflight_ref_resource_collection.w > wing test --target sim > stdout 1`] = `"pass ─ inflight_ref_resource_collection.w » root/test"`;
+
+exports[`inflight_ref_resource_field.w > wing test --target sim > stdout 1`] = `"pass ─ inflight_ref_resource_field.w » root/test"`;
+
+exports[`inflight_ref_resource_sub_method.w > wing test --target sim > stdout 1`] = `"pass ─ inflight_ref_resource_sub_method.w » root/test"`;
+
+exports[`inflight_ref_resource_userdefined.w > wing test --target sim > stdout 1`] = `"pass ─ inflight_ref_resource_userdefined.w » root/test"`;
+
+exports[`inflight_ref_unknown_op.w > wing test --target sim > stdout 1`] = `"pass ─ inflight_ref_unknown_op.w » root/test"`;
+
+exports[`json.w > wing test --target sim > stdout 1`] = `"pass ─ json.w (no tests)"`;
+
+exports[`json_bucket.w > wing test --target sim > stdout 1`] = `"pass ─ json_bucket.w » root/test:put"`;
+
+exports[`mut_container_types.w > wing test --target sim > stdout 1`] = `"pass ─ mut_container_types.w (no tests)"`;
+
+exports[`primitive_methods.w > wing test --target sim > stdout 1`] = `
+"1:60
+pass ─ primitive_methods.w (no tests)"
+`;
+
+exports[`print.w > wing test --target sim > stdout 1`] = `
+"preflight print
+pass ┌ print.w » root/test:print1
+ │ inflight print 1.1
+ └ inflight print 1.2
+pass ┌ print.w » root/test:print2
+ │ inflight print 2.1
+ └ inflight print 2.2"
+`;
+
+exports[`reassignment.w > wing test --target sim > stdout 1`] = `"pass ─ reassignment.w (no tests)"`;
+
+exports[`resource.w > wing test --target sim > stdout 1`] = `"pass ─ resource.w » root/test"`;
+
+exports[`statements_if.w > wing test --target sim > stdout 1`] = `"pass ─ statements_if.w » root/test"`;
+
+exports[`statements_variable_declarations.w > wing test --target sim > stdout 1`] = `"pass ─ statements_variable_declarations.w (no tests)"`;
+
+exports[`static_members.w > wing test --target sim > stdout 1`] = `"pass ─ static_members.w » root/test"`;
+
+exports[`std_containers.w > wing test --target sim > stdout 1`] = `"pass ─ std_containers.w (no tests)"`;
+
+exports[`std_string.w > wing test --target sim > stdout 1`] = `
+"pass ┌ std_string.w » root/test:string
+ │ index of \\"s\\" in s1 is 0
+ │ string
+ └ some strings are immutable"
+`;
+
+exports[`test_bucket.w > wing test --target sim > stdout 1`] = `
+"pass ─ test_bucket.w » root/test:get
+pass ─ test_bucket.w » root/test:put"
+`;
+
+exports[`try_catch.w > wing test --target sim > stdout 1`] = `"pass ─ try_catch.w (no tests)"`;
+
+exports[`user-defined-resources-captures.w > wing test --target sim > stdout 1`] = `
+"pass ─ user-defined-resources-captures.w » root/test:capture_array
+pass ─ user-defined-resources-captures.w » root/test:capture_array_of_queues
+pass ─ user-defined-resources-captures.w » root/test:capture_map
+pass ─ user-defined-resources-captures.w » root/test:capture_primitives
+pass ─ user-defined-resources-captures.w » root/test:capture_resource
+pass ─ user-defined-resources-captures.w » root/test:capture_set "
+`;
+
+exports[`while.w > wing test --target sim > stdout 1`] = `"pass ─ while.w (no tests)"`;
+
+exports[`while_loop_await.w > wing test --target sim > stdout 1`] = `"pass ─ while_loop_await.w (no tests)"`;
diff --git a/tools/hangar/src/test_corpus/valid/impl_interface.w.test.ts b/tools/hangar/src/test_corpus/valid/impl_interface.w.test.ts
new file mode 100644
index 00000000000..db338bd4534
--- /dev/null
+++ b/tools/hangar/src/test_corpus/valid/impl_interface.w.test.ts
@@ -0,0 +1,12 @@
+// This file is generated by tools/hangar/src/generate_tests.ts
+
+import { test } from "vitest";
+import { compileTest, testTest } from "../../generated_test_targets";
+
+test.concurrent("wing compile -t tf-aws", async ({ expect }) => {
+ await compileTest(expect, "impl_interface.w");
+});
+
+test.concurrent("wing test", async ({ expect }) => {
+ await testTest(expect, "impl_interface.w");
+});
\ No newline at end of file