Add required array element constraints

This commit is contained in:
2026-08-11 17:24:04 +09:00
parent 5a05da6fe4
commit 46b2b3b1b6
35 changed files with 6328 additions and 5042 deletions
+41
View File
@@ -95,6 +95,10 @@
"type": "SYMBOL",
"name": "object"
},
{
"type": "SYMBOL",
"name": "array_constraint"
},
{
"type": "SYMBOL",
"name": "array"
@@ -427,6 +431,43 @@
}
]
},
"array_constraint": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "["
},
{
"type": "STRING",
"value": "..."
},
{
"type": "FIELD",
"name": "element",
"content": {
"type": "SYMBOL",
"name": "_expression"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": "]"
}
]
},
"let_expression": {
"type": "SEQ",
"members": [
+160
View File
@@ -11,6 +11,10 @@
"type": "array",
"named": true
},
{
"type": "array_constraint",
"named": true
},
{
"type": "binary_expression",
"named": true
@@ -74,6 +78,86 @@
]
}
},
{
"type": "array_constraint",
"named": true,
"fields": {
"element": {
"multiple": false,
"required": true,
"types": [
{
"type": "array",
"named": true
},
{
"type": "array_constraint",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "call_expression",
"named": true
},
{
"type": "comparison_constraint",
"named": true
},
{
"type": "default_expression",
"named": true
},
{
"type": "function_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "import_expression",
"named": true
},
{
"type": "let_expression",
"named": true
},
{
"type": "literal",
"named": true
},
{
"type": "match_expression",
"named": true
},
{
"type": "object",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "path_expression",
"named": true
},
{
"type": "regex_literal",
"named": true
},
{
"type": "unary_expression",
"named": true
}
]
}
}
},
{
"type": "binary_expression",
"named": true,
@@ -86,6 +170,10 @@
"type": "array",
"named": true
},
{
"type": "array_constraint",
"named": true
},
{
"type": "binary_expression",
"named": true
@@ -222,6 +310,10 @@
"type": "array",
"named": true
},
{
"type": "array_constraint",
"named": true
},
{
"type": "binary_expression",
"named": true
@@ -303,6 +395,10 @@
"type": "array",
"named": true
},
{
"type": "array_constraint",
"named": true
},
{
"type": "binary_expression",
"named": true
@@ -374,6 +470,10 @@
"type": "array",
"named": true
},
{
"type": "array_constraint",
"named": true
},
{
"type": "binary_expression",
"named": true
@@ -471,6 +571,10 @@
"type": "array",
"named": true
},
{
"type": "array_constraint",
"named": true
},
{
"type": "binary_expression",
"named": true
@@ -547,6 +651,10 @@
"type": "array",
"named": true
},
{
"type": "array_constraint",
"named": true
},
{
"type": "binary_expression",
"named": true
@@ -617,6 +725,10 @@
"type": "array",
"named": true
},
{
"type": "array_constraint",
"named": true
},
{
"type": "binary_expression",
"named": true
@@ -703,6 +815,10 @@
"type": "array",
"named": true
},
{
"type": "array_constraint",
"named": true
},
{
"type": "binary_expression",
"named": true
@@ -794,6 +910,10 @@
"type": "array",
"named": true
},
{
"type": "array_constraint",
"named": true
},
{
"type": "binary_expression",
"named": true
@@ -896,6 +1016,10 @@
"type": "array",
"named": true
},
{
"type": "array_constraint",
"named": true
},
{
"type": "binary_expression",
"named": true
@@ -1009,6 +1133,10 @@
"type": "array",
"named": true
},
{
"type": "array_constraint",
"named": true
},
{
"type": "binary_expression",
"named": true
@@ -1083,6 +1211,10 @@
"type": "array",
"named": true
},
{
"type": "array_constraint",
"named": true
},
{
"type": "binary_expression",
"named": true
@@ -1159,6 +1291,10 @@
"type": "array",
"named": true
},
{
"type": "array_constraint",
"named": true
},
{
"type": "binary_expression",
"named": true
@@ -1260,6 +1396,10 @@
"type": "array",
"named": true
},
{
"type": "array_constraint",
"named": true
},
{
"type": "binary_expression",
"named": true
@@ -1346,6 +1486,10 @@
"type": "array",
"named": true
},
{
"type": "array_constraint",
"named": true
},
{
"type": "binary_expression",
"named": true
@@ -1431,6 +1575,10 @@
"type": "array",
"named": true
},
{
"type": "array_constraint",
"named": true
},
{
"type": "binary_expression",
"named": true
@@ -1507,6 +1655,10 @@
"type": "array",
"named": true
},
{
"type": "array_constraint",
"named": true
},
{
"type": "binary_expression",
"named": true
@@ -1586,6 +1738,10 @@
"type": "array",
"named": true
},
{
"type": "array_constraint",
"named": true
},
{
"type": "binary_expression",
"named": true
@@ -1712,6 +1868,10 @@
"type": ".",
"named": false
},
{
"type": "...",
"named": false
},
{
"type": "/",
"named": false
+5487 -4941
View File
File diff suppressed because it is too large Load Diff