Correct name from "type_constructor" to "data_constructor" (#16)

pull/204/head
Jonathan Arnett 2022-02-26 12:20:54 +07:00 committed by GitHub
parent 5cb387020c
commit cfcbca3f8f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 240 additions and 240 deletions

@ -562,16 +562,16 @@ module.exports = grammar({
public_opaque_type_definition: ($) =>
seq("pub", "opaque", "type", $._custom_type_definition),
_custom_type_definition: ($) =>
seq($.type_name, "{", $.type_constructors, "}"),
type_constructors: ($) => repeat1($.type_constructor),
type_constructor: ($) =>
seq($.type_name, "{", $.data_constructors, "}"),
data_constructors: ($) => repeat1($.data_constructor),
data_constructor: ($) =>
seq(
field("name", $.type_identifier),
optional(field("arguments", $.type_constructor_arguments))
optional(field("arguments", $.data_constructor_arguments))
),
type_constructor_arguments: ($) =>
seq("(", optional(series_of($.type_constructor_argument, ",")), ")"),
type_constructor_argument: ($) =>
data_constructor_arguments: ($) =>
seq("(", optional(series_of($.data_constructor_argument, ",")), ")"),
data_constructor_argument: ($) =>
seq(optional(seq(field("label", $.label), ":")), field("value", $._type)),
/* Type aliases */

@ -37,12 +37,12 @@
(type_name
name: (type_identifier) @name)) @definition.type
(public_type_definition
(type_constructors
(type_constructor
(data_constructors
(data_constructor
name: (type_identifier) @name))) @definition.type
(type_definition
(type_constructors
(type_constructor
(data_constructors
(data_constructor
name: (type_identifier) @name))) @definition.type
(external_type
(type_name

18
src/grammar.json vendored

@ -4935,7 +4935,7 @@
},
{
"type": "SYMBOL",
"name": "type_constructors"
"name": "data_constructors"
},
{
"type": "STRING",
@ -4943,14 +4943,14 @@
}
]
},
"type_constructors": {
"data_constructors": {
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "type_constructor"
"name": "data_constructor"
}
},
"type_constructor": {
"data_constructor": {
"type": "SEQ",
"members": [
{
@ -4969,7 +4969,7 @@
"name": "arguments",
"content": {
"type": "SYMBOL",
"name": "type_constructor_arguments"
"name": "data_constructor_arguments"
}
},
{
@ -4979,7 +4979,7 @@
}
]
},
"type_constructor_arguments": {
"data_constructor_arguments": {
"type": "SEQ",
"members": [
{
@ -4994,7 +4994,7 @@
"members": [
{
"type": "SYMBOL",
"name": "type_constructor_argument"
"name": "data_constructor_argument"
},
{
"type": "REPEAT",
@ -5007,7 +5007,7 @@
},
{
"type": "SYMBOL",
"name": "type_constructor_argument"
"name": "data_constructor_argument"
}
]
}
@ -5037,7 +5037,7 @@
}
]
},
"type_constructor_argument": {
"data_constructor_argument": {
"type": "SEQ",
"members": [
{

202
src/node-types.json vendored

@ -1395,6 +1395,104 @@
}
}
},
{
"type": "data_constructor",
"named": true,
"fields": {
"arguments": {
"multiple": false,
"required": false,
"types": [
{
"type": "data_constructor_arguments",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "type_identifier",
"named": true
}
]
}
}
},
{
"type": "data_constructor_argument",
"named": true,
"fields": {
"label": {
"multiple": false,
"required": false,
"types": [
{
"type": "label",
"named": true
}
]
},
"value": {
"multiple": false,
"required": true,
"types": [
{
"type": "function_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type",
"named": true
},
{
"type": "type_hole",
"named": true
},
{
"type": "type_var",
"named": true
}
]
}
}
},
{
"type": "data_constructor_arguments",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "data_constructor_argument",
"named": true
}
]
}
},
{
"type": "data_constructors",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "data_constructor",
"named": true
}
]
}
},
{
"type": "discard",
"named": true,
@ -2730,7 +2828,7 @@
"required": true,
"types": [
{
"type": "type_constructors",
"type": "data_constructors",
"named": true
},
{
@ -2784,7 +2882,7 @@
"required": true,
"types": [
{
"type": "type_constructors",
"type": "data_constructors",
"named": true
},
{
@ -3912,104 +4010,6 @@
]
}
},
{
"type": "type_constructor",
"named": true,
"fields": {
"arguments": {
"multiple": false,
"required": false,
"types": [
{
"type": "type_constructor_arguments",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "type_identifier",
"named": true
}
]
}
}
},
{
"type": "type_constructor_argument",
"named": true,
"fields": {
"label": {
"multiple": false,
"required": false,
"types": [
{
"type": "label",
"named": true
}
]
},
"value": {
"multiple": false,
"required": true,
"types": [
{
"type": "function_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type",
"named": true
},
{
"type": "type_hole",
"named": true
},
{
"type": "type_var",
"named": true
}
]
}
}
},
{
"type": "type_constructor_arguments",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "type_constructor_argument",
"named": true
}
]
}
},
{
"type": "type_constructors",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "type_constructor",
"named": true
}
]
}
},
{
"type": "type_definition",
"named": true,
@ -4019,7 +4019,7 @@
"required": true,
"types": [
{
"type": "type_constructors",
"type": "data_constructors",
"named": true
},
{

110
src/parser.c vendored

@ -221,10 +221,10 @@ enum {
sym_public_type_definition = 194,
sym_public_opaque_type_definition = 195,
sym__custom_type_definition = 196,
sym_type_constructors = 197,
sym_type_constructor = 198,
sym_type_constructor_arguments = 199,
sym_type_constructor_argument = 200,
sym_data_constructors = 197,
sym_data_constructor = 198,
sym_data_constructor_arguments = 199,
sym_data_constructor_argument = 200,
sym_type_alias = 201,
sym_public_type_alias = 202,
sym_public_opaque_type_alias = 203,
@ -275,8 +275,8 @@ enum {
aux_sym_record_pattern_arguments_repeat1 = 248,
aux_sym__pattern_bit_string_repeat1 = 249,
aux_sym_pattern_bit_string_segment_options_repeat1 = 250,
aux_sym_type_constructors_repeat1 = 251,
aux_sym_type_constructor_arguments_repeat1 = 252,
aux_sym_data_constructors_repeat1 = 251,
aux_sym_data_constructor_arguments_repeat1 = 252,
aux_sym_string_repeat1 = 253,
aux_sym_tuple_type_repeat1 = 254,
aux_sym_type_arguments_repeat1 = 255,
@ -483,10 +483,10 @@ static const char * const ts_symbol_names[] = {
[sym_public_type_definition] = "public_type_definition",
[sym_public_opaque_type_definition] = "public_opaque_type_definition",
[sym__custom_type_definition] = "_custom_type_definition",
[sym_type_constructors] = "type_constructors",
[sym_type_constructor] = "type_constructor",
[sym_type_constructor_arguments] = "type_constructor_arguments",
[sym_type_constructor_argument] = "type_constructor_argument",
[sym_data_constructors] = "data_constructors",
[sym_data_constructor] = "data_constructor",
[sym_data_constructor_arguments] = "data_constructor_arguments",
[sym_data_constructor_argument] = "data_constructor_argument",
[sym_type_alias] = "type_alias",
[sym_public_type_alias] = "public_type_alias",
[sym_public_opaque_type_alias] = "public_opaque_type_alias",
@ -537,8 +537,8 @@ static const char * const ts_symbol_names[] = {
[aux_sym_record_pattern_arguments_repeat1] = "record_pattern_arguments_repeat1",
[aux_sym__pattern_bit_string_repeat1] = "_pattern_bit_string_repeat1",
[aux_sym_pattern_bit_string_segment_options_repeat1] = "pattern_bit_string_segment_options_repeat1",
[aux_sym_type_constructors_repeat1] = "type_constructors_repeat1",
[aux_sym_type_constructor_arguments_repeat1] = "type_constructor_arguments_repeat1",
[aux_sym_data_constructors_repeat1] = "data_constructors_repeat1",
[aux_sym_data_constructor_arguments_repeat1] = "data_constructor_arguments_repeat1",
[aux_sym_string_repeat1] = "string_repeat1",
[aux_sym_tuple_type_repeat1] = "tuple_type_repeat1",
[aux_sym_type_arguments_repeat1] = "type_arguments_repeat1",
@ -745,10 +745,10 @@ static const TSSymbol ts_symbol_map[] = {
[sym_public_type_definition] = sym_public_type_definition,
[sym_public_opaque_type_definition] = sym_public_opaque_type_definition,
[sym__custom_type_definition] = sym__custom_type_definition,
[sym_type_constructors] = sym_type_constructors,
[sym_type_constructor] = sym_type_constructor,
[sym_type_constructor_arguments] = sym_type_constructor_arguments,
[sym_type_constructor_argument] = sym_type_constructor_argument,
[sym_data_constructors] = sym_data_constructors,
[sym_data_constructor] = sym_data_constructor,
[sym_data_constructor_arguments] = sym_data_constructor_arguments,
[sym_data_constructor_argument] = sym_data_constructor_argument,
[sym_type_alias] = sym_type_alias,
[sym_public_type_alias] = sym_public_type_alias,
[sym_public_opaque_type_alias] = sym_public_opaque_type_alias,
@ -799,8 +799,8 @@ static const TSSymbol ts_symbol_map[] = {
[aux_sym_record_pattern_arguments_repeat1] = aux_sym_record_pattern_arguments_repeat1,
[aux_sym__pattern_bit_string_repeat1] = aux_sym__pattern_bit_string_repeat1,
[aux_sym_pattern_bit_string_segment_options_repeat1] = aux_sym_pattern_bit_string_segment_options_repeat1,
[aux_sym_type_constructors_repeat1] = aux_sym_type_constructors_repeat1,
[aux_sym_type_constructor_arguments_repeat1] = aux_sym_type_constructor_arguments_repeat1,
[aux_sym_data_constructors_repeat1] = aux_sym_data_constructors_repeat1,
[aux_sym_data_constructor_arguments_repeat1] = aux_sym_data_constructor_arguments_repeat1,
[aux_sym_string_repeat1] = aux_sym_string_repeat1,
[aux_sym_tuple_type_repeat1] = aux_sym_tuple_type_repeat1,
[aux_sym_type_arguments_repeat1] = aux_sym_type_arguments_repeat1,
@ -1598,19 +1598,19 @@ static const TSSymbolMetadata ts_symbol_metadata[] = {
.visible = false,
.named = true,
},
[sym_type_constructors] = {
[sym_data_constructors] = {
.visible = true,
.named = true,
},
[sym_type_constructor] = {
[sym_data_constructor] = {
.visible = true,
.named = true,
},
[sym_type_constructor_arguments] = {
[sym_data_constructor_arguments] = {
.visible = true,
.named = true,
},
[sym_type_constructor_argument] = {
[sym_data_constructor_argument] = {
.visible = true,
.named = true,
},
@ -1814,11 +1814,11 @@ static const TSSymbolMetadata ts_symbol_metadata[] = {
.visible = false,
.named = false,
},
[aux_sym_type_constructors_repeat1] = {
[aux_sym_data_constructors_repeat1] = {
.visible = false,
.named = false,
},
[aux_sym_type_constructor_arguments_repeat1] = {
[aux_sym_data_constructor_arguments_repeat1] = {
.visible = false,
.named = false,
},
@ -29974,7 +29974,7 @@ static const uint16_t ts_small_parse_table[] = {
ACTIONS(1086), 1,
sym__name,
STATE(978), 1,
sym_type_constructor_argument,
sym_data_constructor_argument,
STATE(1061), 1,
sym_identifier,
STATE(1071), 1,
@ -30033,7 +30033,7 @@ static const uint16_t ts_small_parse_table[] = {
ACTIONS(1088), 1,
anon_sym_RPAREN,
STATE(978), 1,
sym_type_constructor_argument,
sym_data_constructor_argument,
STATE(1061), 1,
sym_identifier,
STATE(1071), 1,
@ -30067,7 +30067,7 @@ static const uint16_t ts_small_parse_table[] = {
ACTIONS(1090), 1,
anon_sym_RPAREN,
STATE(874), 1,
sym_type_constructor_argument,
sym_data_constructor_argument,
STATE(1061), 1,
sym_identifier,
STATE(1071), 1,
@ -30341,7 +30341,7 @@ static const uint16_t ts_small_parse_table[] = {
ACTIONS(1086), 1,
sym__name,
STATE(978), 1,
sym_type_constructor_argument,
sym_data_constructor_argument,
STATE(1061), 1,
sym_identifier,
STATE(1071), 1,
@ -35311,13 +35311,13 @@ static const uint16_t ts_small_parse_table[] = {
STATE(758), 1,
sym_type_identifier,
STATE(1016), 1,
sym_type_constructors,
sym_data_constructors,
ACTIONS(5), 2,
sym_statement_comment,
sym_comment,
STATE(714), 2,
sym_type_constructor,
aux_sym_type_constructors_repeat1,
sym_data_constructor,
aux_sym_data_constructors_repeat1,
[37263] = 6,
ACTIONS(3), 1,
sym_module_comment,
@ -35331,8 +35331,8 @@ static const uint16_t ts_small_parse_table[] = {
sym_statement_comment,
sym_comment,
STATE(731), 2,
sym_type_constructor,
aux_sym_type_constructors_repeat1,
sym_data_constructor,
aux_sym_data_constructors_repeat1,
[37284] = 5,
ACTIONS(3), 1,
sym_module_comment,
@ -35485,13 +35485,13 @@ static const uint16_t ts_small_parse_table[] = {
STATE(758), 1,
sym_type_identifier,
STATE(1088), 1,
sym_type_constructors,
sym_data_constructors,
ACTIONS(5), 2,
sym_statement_comment,
sym_comment,
STATE(714), 2,
sym_type_constructor,
aux_sym_type_constructors_repeat1,
sym_data_constructor,
aux_sym_data_constructors_repeat1,
[37503] = 5,
ACTIONS(3), 1,
sym_module_comment,
@ -35572,8 +35572,8 @@ static const uint16_t ts_small_parse_table[] = {
sym_statement_comment,
sym_comment,
STATE(731), 2,
sym_type_constructor,
aux_sym_type_constructors_repeat1,
sym_data_constructor,
aux_sym_data_constructors_repeat1,
[37613] = 7,
ACTIONS(3), 1,
sym_module_comment,
@ -35925,7 +35925,7 @@ static const uint16_t ts_small_parse_table[] = {
ACTIONS(1608), 1,
anon_sym_LPAREN,
STATE(965), 1,
sym_type_constructor_arguments,
sym_data_constructor_arguments,
ACTIONS(5), 2,
sym_statement_comment,
sym_comment,
@ -36309,7 +36309,7 @@ static const uint16_t ts_small_parse_table[] = {
ACTIONS(1702), 1,
anon_sym_RPAREN,
STATE(790), 1,
aux_sym_type_constructor_arguments_repeat1,
aux_sym_data_constructor_arguments_repeat1,
ACTIONS(5), 2,
sym_statement_comment,
sym_comment,
@ -36698,7 +36698,7 @@ static const uint16_t ts_small_parse_table[] = {
ACTIONS(1798), 1,
anon_sym_COMMA,
STATE(790), 1,
aux_sym_type_constructor_arguments_repeat1,
aux_sym_data_constructor_arguments_repeat1,
ACTIONS(5), 2,
sym_statement_comment,
sym_comment,
@ -37281,7 +37281,7 @@ static const uint16_t ts_small_parse_table[] = {
ACTIONS(1940), 1,
anon_sym_RPAREN,
STATE(824), 1,
aux_sym_type_constructor_arguments_repeat1,
aux_sym_data_constructor_arguments_repeat1,
ACTIONS(5), 2,
sym_statement_comment,
sym_comment,
@ -41061,7 +41061,7 @@ static const TSParseActionEntry ts_parse_actions[] = {
[1475] = {.entry = {.count = 1, .reusable = false}}, SHIFT(710),
[1477] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_clause_pattern, 1, .production_id = 43),
[1479] = {.entry = {.count = 1, .reusable = true}}, SHIFT(336),
[1481] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_constructors, 1),
[1481] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_data_constructors, 1),
[1483] = {.entry = {.count = 1, .reusable = true}}, SHIFT(296),
[1485] = {.entry = {.count = 1, .reusable = true}}, SHIFT(539),
[1487] = {.entry = {.count = 1, .reusable = false}}, SHIFT(47),
@ -41084,8 +41084,8 @@ static const TSParseActionEntry ts_parse_actions[] = {
[1524] = {.entry = {.count = 1, .reusable = true}}, SHIFT(339),
[1526] = {.entry = {.count = 1, .reusable = false}}, SHIFT(634),
[1528] = {.entry = {.count = 1, .reusable = false}}, SHIFT(734),
[1530] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_constructors_repeat1, 2),
[1532] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_constructors_repeat1, 2), SHIFT_REPEAT(170),
[1530] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_data_constructors_repeat1, 2),
[1532] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_data_constructors_repeat1, 2), SHIFT_REPEAT(170),
[1535] = {.entry = {.count = 1, .reusable = true}}, SHIFT(310),
[1537] = {.entry = {.count = 3, .reusable = true}}, REDUCE(sym__maybe_tuple_expression, 1), REDUCE(sym__maybe_record_expression, 1), SHIFT(952),
[1541] = {.entry = {.count = 1, .reusable = false}}, SHIFT(622),
@ -41118,7 +41118,7 @@ static const TSParseActionEntry ts_parse_actions[] = {
[1600] = {.entry = {.count = 1, .reusable = true}}, SHIFT(335),
[1602] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constant_bit_string_segment_options, 1),
[1604] = {.entry = {.count = 1, .reusable = true}}, SHIFT(249),
[1606] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_constructor, 1, .production_id = 6),
[1606] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_data_constructor, 1, .production_id = 6),
[1608] = {.entry = {.count = 1, .reusable = true}}, SHIFT(441),
[1610] = {.entry = {.count = 1, .reusable = true}}, SHIFT(443),
[1612] = {.entry = {.count = 1, .reusable = false}}, SHIFT(443),
@ -41162,8 +41162,8 @@ static const TSParseActionEntry ts_parse_actions[] = {
[1692] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_type_repeat1, 2), SHIFT_REPEAT(488),
[1695] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tuple_type_repeat1, 2),
[1697] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_pattern_argument, 3, .production_id = 59),
[1699] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_constructor_arguments_repeat1, 2), SHIFT_REPEAT(450),
[1702] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_constructor_arguments_repeat1, 2),
[1699] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_data_constructor_arguments_repeat1, 2), SHIFT_REPEAT(450),
[1702] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_data_constructor_arguments_repeat1, 2),
[1704] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6),
[1706] = {.entry = {.count = 1, .reusable = true}}, SHIFT(475),
[1708] = {.entry = {.count = 1, .reusable = true}}, SHIFT(841),
@ -41318,7 +41318,7 @@ static const TSParseActionEntry ts_parse_actions[] = {
[2016] = {.entry = {.count = 1, .reusable = true}}, SHIFT(447),
[2018] = {.entry = {.count = 1, .reusable = true}}, SHIFT(506),
[2020] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constant_record_argument, 1, .production_id = 16),
[2022] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_constructor_arguments, 5),
[2022] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_data_constructor_arguments, 5),
[2024] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16),
[2026] = {.entry = {.count = 1, .reusable = true}}, SHIFT(693),
[2028] = {.entry = {.count = 1, .reusable = true}}, SHIFT(935),
@ -41328,9 +41328,9 @@ static const TSParseActionEntry ts_parse_actions[] = {
[2036] = {.entry = {.count = 1, .reusable = true}}, SHIFT(478),
[2038] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36),
[2040] = {.entry = {.count = 1, .reusable = true}}, SHIFT(480),
[2042] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_constructor_arguments, 2),
[2042] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_data_constructor_arguments, 2),
[2044] = {.entry = {.count = 1, .reusable = true}}, SHIFT(548),
[2046] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_constructor_argument, 1, .production_id = 16),
[2046] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_data_constructor_argument, 1, .production_id = 16),
[2048] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1014),
[2050] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_spread, 1),
[2052] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34),
@ -41354,7 +41354,7 @@ static const TSParseActionEntry ts_parse_actions[] = {
[2088] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_external_function_parameter, 1, .production_id = 19),
[2090] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unqualified_import, 3, .production_id = 28),
[2092] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_bit_string_segment, 3, .production_id = 29),
[2094] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_constructor, 2, .production_id = 17),
[2094] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_data_constructor, 2, .production_id = 17),
[2096] = {.entry = {.count = 1, .reusable = true}}, SHIFT(952),
[2098] = {.entry = {.count = 1, .reusable = true}}, SHIFT(473),
[2100] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constant_bit_string_segment, 3, .production_id = 29),
@ -41362,10 +41362,10 @@ static const TSParseActionEntry ts_parse_actions[] = {
[2104] = {.entry = {.count = 1, .reusable = true}}, SHIFT(904),
[2106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(436),
[2108] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_bit_string_segment, 3, .production_id = 51),
[2110] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_constructor_argument, 3, .production_id = 36),
[2112] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_constructor_arguments, 4),
[2110] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_data_constructor_argument, 3, .production_id = 36),
[2112] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_data_constructor_arguments, 4),
[2114] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_external_function_parameter, 3, .production_id = 30),
[2116] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_constructor_arguments, 3),
[2116] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_data_constructor_arguments, 3),
[2118] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_parameter, 1),
[2120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7),
[2122] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_parameters, 5),

@ -13,17 +13,17 @@ type NamedBox(inner_type) { Box(String, inner: inner_type) }
(type_definition
(type_name
name: (type_identifier))
(type_constructors
(type_constructor
(data_constructors
(data_constructor
name: (type_identifier))))
(type_definition
(type_name
name: (type_identifier))
(type_constructors
(type_constructor
(data_constructors
(data_constructor
name: (type_identifier)
arguments: (type_constructor_arguments
(type_constructor_argument
arguments: (data_constructor_arguments
(data_constructor_argument
value: (type
name: (type_identifier)))))))
(type_definition
@ -31,11 +31,11 @@ type NamedBox(inner_type) { Box(String, inner: inner_type) }
name: (type_identifier)
parameters: (type_parameters
(type_parameter)))
(type_constructors
(type_constructor
(data_constructors
(data_constructor
name: (type_identifier)
arguments: (type_constructor_arguments
(type_constructor_argument
arguments: (data_constructor_arguments
(data_constructor_argument
label: (label)
value: (type_var))))))
(type_definition
@ -43,14 +43,14 @@ type NamedBox(inner_type) { Box(String, inner: inner_type) }
name: (type_identifier)
parameters: (type_parameters
(type_parameter)))
(type_constructors
(type_constructor
(data_constructors
(data_constructor
name: (type_identifier)
arguments: (type_constructor_arguments
(type_constructor_argument
arguments: (data_constructor_arguments
(data_constructor_argument
value: (type
name: (type_identifier)))
(type_constructor_argument
(data_constructor_argument
label: (label)
value: (type_var)))))))
@ -88,15 +88,15 @@ type Boring {
(type_definition
(type_name
name: (type_identifier))
(type_constructors
(type_constructor
(data_constructors
(data_constructor
name: (type_identifier)
arguments: (type_constructor_arguments
(type_constructor_argument
arguments: (data_constructor_arguments
(data_constructor_argument
label: (label)
value: (type
name: (type_identifier)))
(type_constructor_argument
(data_constructor_argument
label: (label)
value: (type
name: (type_identifier)))))))
@ -104,26 +104,26 @@ type Boring {
(type_name
name: (type_identifier)
parameters: (type_parameters))
(type_constructors
(type_constructor
(data_constructors
(data_constructor
name: (type_identifier)
arguments: (type_constructor_arguments
(type_constructor_argument
arguments: (data_constructor_arguments
(data_constructor_argument
label: (label)
value: (type
name: (type_identifier)))
(type_constructor_argument
(data_constructor_argument
label: (label)
value: (type
name: (type_identifier)))))
(type_constructor
(data_constructor
name: (type_identifier)
arguments: (type_constructor_arguments
(type_constructor_argument
arguments: (data_constructor_arguments
(data_constructor_argument
label: (label)
value: (type
name: (type_identifier)))
(type_constructor_argument
(data_constructor_argument
label: (label)
value: (type
name: (type_identifier)))))))
@ -133,32 +133,32 @@ type Boring {
parameters: (type_parameters
(type_parameter)
(type_parameter)))
(type_constructors
(type_constructor
(data_constructors
(data_constructor
name: (type_identifier)
arguments: (type_constructor_arguments
(type_constructor_argument
arguments: (data_constructor_arguments
(data_constructor_argument
value: (type_var))))
(type_constructor
(data_constructor
name: (type_identifier)
arguments: (type_constructor_arguments
(type_constructor_argument
arguments: (data_constructor_arguments
(data_constructor_argument
value: (type_var))))))
(type_definition
(type_name
name: (type_identifier))
(type_constructors
(type_constructor
(data_constructors
(data_constructor
name: (type_identifier))
(type_constructor
(data_constructor
name: (type_identifier))
(type_constructor
(data_constructor
name: (type_identifier))))
(type_definition
(type_name
name: (type_identifier))
(type_constructors
(type_constructor
(data_constructors
(data_constructor
name: (type_identifier)))))
================================================================================
@ -179,26 +179,26 @@ pub type Animal(name, cuteness) {
parameters: (type_parameters
(type_parameter)
(type_parameter)))
(type_constructors
(type_constructor
(data_constructors
(data_constructor
name: (type_identifier)
arguments: (type_constructor_arguments
(type_constructor_argument
arguments: (data_constructor_arguments
(data_constructor_argument
label: (label)
value: (type
name: (type_identifier)))
(type_constructor_argument
(data_constructor_argument
label: (label)
value: (type
name: (type_identifier)))))
(type_constructor
(data_constructor
name: (type_identifier)
arguments: (type_constructor_arguments
(type_constructor_argument
arguments: (data_constructor_arguments
(data_constructor_argument
label: (label)
value: (type
name: (type_identifier)))
(type_constructor_argument
(data_constructor_argument
label: (label)
value: (type
name: (type_identifier))))))))
@ -221,26 +221,26 @@ pub opaque type Animal(name, cuteness) {
parameters: (type_parameters
(type_parameter)
(type_parameter)))
(type_constructors
(type_constructor
(data_constructors
(data_constructor
name: (type_identifier)
arguments: (type_constructor_arguments
(type_constructor_argument
arguments: (data_constructor_arguments
(data_constructor_argument
label: (label)
value: (type
name: (type_identifier)))
(type_constructor_argument
(data_constructor_argument
label: (label)
value: (type
name: (type_identifier)))))
(type_constructor
(data_constructor
name: (type_identifier)
arguments: (type_constructor_arguments
(type_constructor_argument
arguments: (data_constructor_arguments
(data_constructor_argument
label: (label)
value: (type
name: (type_identifier)))
(type_constructor_argument
(data_constructor_argument
label: (label)
value: (type
name: (type_identifier))))))))

@ -262,11 +262,11 @@ fn foo(a,) {
(type_definition
(type_name
(type_identifier))
(type_constructors
(type_constructor
(data_constructors
(data_constructor
(type_identifier)
(type_constructor_arguments
(type_constructor_argument
(data_constructor_arguments
(data_constructor_argument
(label)
(type
(type_identifier)))))))