@apple/tree-sitter-pkl 0.16.0 → 0.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/CHANGELOG.adoc +40 -0
  2. package/Cargo.lock +1 -1
  3. package/Cargo.toml +1 -1
  4. package/Package.swift +24 -0
  5. package/README.md +42 -0
  6. package/bindings/c/tree-sitter-pkl.h +16 -0
  7. package/bindings/swift/TreeSitterPkl/pkl.h +16 -0
  8. package/grammar.js +147 -63
  9. package/package.json +3 -4
  10. package/queries/highlights.scm +3 -8
  11. package/queries/injections.scm +3 -3
  12. package/src/grammar.json +750 -353
  13. package/src/node-types.json +1768 -1043
  14. package/src/parser.c +45772 -50670
  15. package/src/scanner.c +60 -28
  16. package/src/tree_sitter/alloc.h +54 -0
  17. package/src/tree_sitter/array.h +290 -0
  18. package/src/tree_sitter/parser.h +54 -13
  19. package/test/corpus/basic/annotation.txt +243 -0
  20. package/test/corpus/basic/comments.txt +41 -0
  21. package/test/corpus/basic/shebangComment.txt +15 -0
  22. package/test/corpus/basic/types.txt +232 -0
  23. package/test/corpus/class/constModifier.txt +24 -0
  24. package/test/corpus/class/fixedModifier.txt +24 -0
  25. package/test/corpus/expr/binary.txt +109 -0
  26. package/test/corpus/expr/functionLiteral.txt +23 -0
  27. package/test/corpus/expr/if.txt +15 -0
  28. package/test/corpus/expr/import.txt +20 -0
  29. package/test/corpus/expr/let.txt +17 -0
  30. package/test/corpus/expr/new.txt +36 -0
  31. package/test/corpus/expr/qualifiedAccess.txt +95 -0
  32. package/test/corpus/expr/read.txt +29 -0
  33. package/test/corpus/expr/throw.txt +14 -0
  34. package/test/corpus/expr/trace.txt +14 -0
  35. package/test/corpus/module/moduleHeader1.txt +23 -0
  36. package/test/corpus/module/moduleHeader2.txt +29 -0
  37. package/test/corpus/module/moduleHeader3.error.txt +23 -0
  38. package/test/corpus/module/moduleHeader4.txt +34 -0
  39. package/test/corpus/module/moduleHeader5.txt +16 -0
  40. package/test/corpus/module/moduleHeader6.txt +17 -0
  41. package/test/corpus/number/underscores.txt +99 -0
  42. package/test/corpus/object/objectAmendChain.txt +38 -0
  43. package/test/corpus/object/objectElementsWithParens.txt +51 -0
  44. package/test/corpus/object/objectGenerator.txt +53 -0
  45. package/test/corpus/object/objectMember.txt +129 -0
  46. package/test/corpus/object/objectMemberPredicate.txt +41 -0
  47. package/test/corpus/object/objectSpread.txt +51 -0
  48. package/test/corpus/object/objectWhenGenerator.txt +71 -0
  49. package/test/corpus/string/customStringDelimiters.txt +397 -0
  50. package/test/corpus/string/missingDelimiter.txt +28 -0
  51. package/test/corpus/string/multiline.txt +39 -0
  52. package/test/corpus/string/multilineInterpolation.txt +102 -0
  53. package/test/corpus/string/simple.txt +13 -0
  54. package/test/corpus/string/singleLineEscapes.txt +64 -0
  55. package/test/corpus/string/singleLineInterpolation.txt +94 -0
  56. package/test/corpus/string/stringWithTwoSlashes.txt +20 -0
  57. package/README.adoc +0 -61
  58. package/src/synctests.ts +0 -44
@@ -311,7 +311,74 @@
311
311
  {
312
312
  "type": "binaryExpr",
313
313
  "named": true,
314
- "fields": {},
314
+ "fields": {
315
+ "operator": {
316
+ "multiple": false,
317
+ "required": true,
318
+ "types": [
319
+ {
320
+ "type": "!=",
321
+ "named": false
322
+ },
323
+ {
324
+ "type": "%",
325
+ "named": false
326
+ },
327
+ {
328
+ "type": "&&",
329
+ "named": false
330
+ },
331
+ {
332
+ "type": "*",
333
+ "named": false
334
+ },
335
+ {
336
+ "type": "+",
337
+ "named": false
338
+ },
339
+ {
340
+ "type": "-",
341
+ "named": false
342
+ },
343
+ {
344
+ "type": "/",
345
+ "named": false
346
+ },
347
+ {
348
+ "type": "<",
349
+ "named": false
350
+ },
351
+ {
352
+ "type": "<=",
353
+ "named": false
354
+ },
355
+ {
356
+ "type": "==",
357
+ "named": false
358
+ },
359
+ {
360
+ "type": ">",
361
+ "named": false
362
+ },
363
+ {
364
+ "type": ">=",
365
+ "named": false
366
+ },
367
+ {
368
+ "type": "|>",
369
+ "named": false
370
+ },
371
+ {
372
+ "type": "||",
373
+ "named": false
374
+ },
375
+ {
376
+ "type": "~/",
377
+ "named": false
378
+ }
379
+ ]
380
+ }
381
+ },
315
382
  "children": {
316
383
  "multiple": true,
317
384
  "required": true,
@@ -454,7 +521,22 @@
454
521
  {
455
522
  "type": "binaryExprRightAssoc",
456
523
  "named": true,
457
- "fields": {},
524
+ "fields": {
525
+ "operator": {
526
+ "multiple": false,
527
+ "required": true,
528
+ "types": [
529
+ {
530
+ "type": "**",
531
+ "named": false
532
+ },
533
+ {
534
+ "type": "??",
535
+ "named": false
536
+ }
537
+ ]
538
+ }
539
+ },
458
540
  "children": {
459
541
  "multiple": true,
460
542
  "required": true,
@@ -656,6 +738,10 @@
656
738
  "type": "binaryExprRightAssoc",
657
739
  "named": true
658
740
  },
741
+ {
742
+ "type": "docComment",
743
+ "named": true
744
+ },
659
745
  {
660
746
  "type": "falseLiteral",
661
747
  "named": true
@@ -807,6 +893,10 @@
807
893
  "type": "binaryExprRightAssoc",
808
894
  "named": true
809
895
  },
896
+ {
897
+ "type": "docComment",
898
+ "named": true
899
+ },
810
900
  {
811
901
  "type": "falseLiteral",
812
902
  "named": true
@@ -966,6 +1056,10 @@
966
1056
  "type": "classExtendsClause",
967
1057
  "named": true
968
1058
  },
1059
+ {
1060
+ "type": "docComment",
1061
+ "named": true
1062
+ },
969
1063
  {
970
1064
  "type": "identifier",
971
1065
  "named": true
@@ -982,22 +1076,7 @@
982
1076
  }
983
1077
  },
984
1078
  {
985
- "type": "extendsOrAmendsClause",
986
- "named": true,
987
- "fields": {},
988
- "children": {
989
- "multiple": false,
990
- "required": true,
991
- "types": [
992
- {
993
- "type": "stringConstant",
994
- "named": true
995
- }
996
- ]
997
- }
998
- },
999
- {
1000
- "type": "forGenerator",
1079
+ "type": "constrainedType",
1001
1080
  "named": true,
1002
1081
  "fields": {},
1003
1082
  "children": {
@@ -1024,10 +1103,6 @@
1024
1103
  "type": "floatLiteral",
1025
1104
  "named": true
1026
1105
  },
1027
- {
1028
- "type": "forGenerator",
1029
- "named": true
1030
- },
1031
1106
  {
1032
1107
  "type": "functionLiteral",
1033
1108
  "named": true
@@ -1077,35 +1152,197 @@
1077
1152
  "named": true
1078
1153
  },
1079
1154
  {
1080
- "type": "objectBody",
1155
+ "type": "objectLiteral",
1081
1156
  "named": true
1082
1157
  },
1083
1158
  {
1084
- "type": "objectElement",
1159
+ "type": "outerExpr",
1085
1160
  "named": true
1086
1161
  },
1087
1162
  {
1088
- "type": "objectEntry",
1163
+ "type": "parenthesizedExpr",
1089
1164
  "named": true
1090
1165
  },
1091
1166
  {
1092
- "type": "objectLiteral",
1167
+ "type": "propertyCallExpr",
1093
1168
  "named": true
1094
1169
  },
1095
1170
  {
1096
- "type": "objectMethod",
1171
+ "type": "readExpr",
1097
1172
  "named": true
1098
1173
  },
1099
1174
  {
1100
- "type": "objectPredicate",
1175
+ "type": "readGlobExpr",
1101
1176
  "named": true
1102
1177
  },
1103
1178
  {
1104
- "type": "objectProperty",
1179
+ "type": "readOrNullExpr",
1105
1180
  "named": true
1106
1181
  },
1107
1182
  {
1108
- "type": "objectSpread",
1183
+ "type": "slStringLiteral",
1184
+ "named": true
1185
+ },
1186
+ {
1187
+ "type": "subscriptExpr",
1188
+ "named": true
1189
+ },
1190
+ {
1191
+ "type": "thisExpr",
1192
+ "named": true
1193
+ },
1194
+ {
1195
+ "type": "throwExpr",
1196
+ "named": true
1197
+ },
1198
+ {
1199
+ "type": "traceExpr",
1200
+ "named": true
1201
+ },
1202
+ {
1203
+ "type": "trueLiteral",
1204
+ "named": true
1205
+ },
1206
+ {
1207
+ "type": "type",
1208
+ "named": true
1209
+ },
1210
+ {
1211
+ "type": "unaryExpr",
1212
+ "named": true
1213
+ },
1214
+ {
1215
+ "type": "variableExpr",
1216
+ "named": true
1217
+ },
1218
+ {
1219
+ "type": "variableObjectLiteral",
1220
+ "named": true
1221
+ }
1222
+ ]
1223
+ }
1224
+ },
1225
+ {
1226
+ "type": "declaredType",
1227
+ "named": true,
1228
+ "fields": {},
1229
+ "children": {
1230
+ "multiple": true,
1231
+ "required": true,
1232
+ "types": [
1233
+ {
1234
+ "type": "qualifiedIdentifier",
1235
+ "named": true
1236
+ },
1237
+ {
1238
+ "type": "typeArgumentList",
1239
+ "named": true
1240
+ }
1241
+ ]
1242
+ }
1243
+ },
1244
+ {
1245
+ "type": "docComment",
1246
+ "named": true,
1247
+ "fields": {}
1248
+ },
1249
+ {
1250
+ "type": "extendsOrAmendsClause",
1251
+ "named": true,
1252
+ "fields": {},
1253
+ "children": {
1254
+ "multiple": false,
1255
+ "required": true,
1256
+ "types": [
1257
+ {
1258
+ "type": "stringConstant",
1259
+ "named": true
1260
+ }
1261
+ ]
1262
+ }
1263
+ },
1264
+ {
1265
+ "type": "forGenerator",
1266
+ "named": true,
1267
+ "fields": {},
1268
+ "children": {
1269
+ "multiple": true,
1270
+ "required": true,
1271
+ "types": [
1272
+ {
1273
+ "type": "asExpr",
1274
+ "named": true
1275
+ },
1276
+ {
1277
+ "type": "binaryExpr",
1278
+ "named": true
1279
+ },
1280
+ {
1281
+ "type": "binaryExprRightAssoc",
1282
+ "named": true
1283
+ },
1284
+ {
1285
+ "type": "falseLiteral",
1286
+ "named": true
1287
+ },
1288
+ {
1289
+ "type": "floatLiteral",
1290
+ "named": true
1291
+ },
1292
+ {
1293
+ "type": "functionLiteral",
1294
+ "named": true
1295
+ },
1296
+ {
1297
+ "type": "ifExpr",
1298
+ "named": true
1299
+ },
1300
+ {
1301
+ "type": "importExpr",
1302
+ "named": true
1303
+ },
1304
+ {
1305
+ "type": "importGlobExpr",
1306
+ "named": true
1307
+ },
1308
+ {
1309
+ "type": "intLiteral",
1310
+ "named": true
1311
+ },
1312
+ {
1313
+ "type": "isExpr",
1314
+ "named": true
1315
+ },
1316
+ {
1317
+ "type": "letExpr",
1318
+ "named": true
1319
+ },
1320
+ {
1321
+ "type": "methodCallExpr",
1322
+ "named": true
1323
+ },
1324
+ {
1325
+ "type": "mlStringLiteral",
1326
+ "named": true
1327
+ },
1328
+ {
1329
+ "type": "moduleExpr",
1330
+ "named": true
1331
+ },
1332
+ {
1333
+ "type": "newExpr",
1334
+ "named": true
1335
+ },
1336
+ {
1337
+ "type": "nullLiteral",
1338
+ "named": true
1339
+ },
1340
+ {
1341
+ "type": "objectBody",
1342
+ "named": true
1343
+ },
1344
+ {
1345
+ "type": "objectLiteral",
1109
1346
  "named": true
1110
1347
  },
1111
1348
  {
@@ -1171,10 +1408,6 @@
1171
1408
  {
1172
1409
  "type": "variableObjectLiteral",
1173
1410
  "named": true
1174
- },
1175
- {
1176
- "type": "whenGenerator",
1177
- "named": true
1178
1411
  }
1179
1412
  ]
1180
1413
  }
@@ -1326,6 +1559,21 @@
1326
1559
  ]
1327
1560
  }
1328
1561
  },
1562
+ {
1563
+ "type": "functionLiteralType",
1564
+ "named": true,
1565
+ "fields": {},
1566
+ "children": {
1567
+ "multiple": true,
1568
+ "required": true,
1569
+ "types": [
1570
+ {
1571
+ "type": "type",
1572
+ "named": true
1573
+ }
1574
+ ]
1575
+ }
1576
+ },
1329
1577
  {
1330
1578
  "type": "ifExpr",
1331
1579
  "named": true,
@@ -1974,10 +2222,158 @@
1974
2222
  ]
1975
2223
  }
1976
2224
  },
2225
+ {
2226
+ "type": "lineComment",
2227
+ "named": true,
2228
+ "fields": {}
2229
+ },
1977
2230
  {
1978
2231
  "type": "methodCallExpr",
1979
2232
  "named": true,
1980
- "fields": {},
2233
+ "fields": {
2234
+ "receiver": {
2235
+ "multiple": false,
2236
+ "required": false,
2237
+ "types": [
2238
+ {
2239
+ "type": "asExpr",
2240
+ "named": true
2241
+ },
2242
+ {
2243
+ "type": "binaryExpr",
2244
+ "named": true
2245
+ },
2246
+ {
2247
+ "type": "binaryExprRightAssoc",
2248
+ "named": true
2249
+ },
2250
+ {
2251
+ "type": "falseLiteral",
2252
+ "named": true
2253
+ },
2254
+ {
2255
+ "type": "floatLiteral",
2256
+ "named": true
2257
+ },
2258
+ {
2259
+ "type": "functionLiteral",
2260
+ "named": true
2261
+ },
2262
+ {
2263
+ "type": "ifExpr",
2264
+ "named": true
2265
+ },
2266
+ {
2267
+ "type": "importExpr",
2268
+ "named": true
2269
+ },
2270
+ {
2271
+ "type": "importGlobExpr",
2272
+ "named": true
2273
+ },
2274
+ {
2275
+ "type": "intLiteral",
2276
+ "named": true
2277
+ },
2278
+ {
2279
+ "type": "isExpr",
2280
+ "named": true
2281
+ },
2282
+ {
2283
+ "type": "letExpr",
2284
+ "named": true
2285
+ },
2286
+ {
2287
+ "type": "methodCallExpr",
2288
+ "named": true
2289
+ },
2290
+ {
2291
+ "type": "mlStringLiteral",
2292
+ "named": true
2293
+ },
2294
+ {
2295
+ "type": "moduleExpr",
2296
+ "named": true
2297
+ },
2298
+ {
2299
+ "type": "newExpr",
2300
+ "named": true
2301
+ },
2302
+ {
2303
+ "type": "nullLiteral",
2304
+ "named": true
2305
+ },
2306
+ {
2307
+ "type": "objectLiteral",
2308
+ "named": true
2309
+ },
2310
+ {
2311
+ "type": "outerExpr",
2312
+ "named": true
2313
+ },
2314
+ {
2315
+ "type": "parenthesizedExpr",
2316
+ "named": true
2317
+ },
2318
+ {
2319
+ "type": "propertyCallExpr",
2320
+ "named": true
2321
+ },
2322
+ {
2323
+ "type": "readExpr",
2324
+ "named": true
2325
+ },
2326
+ {
2327
+ "type": "readGlobExpr",
2328
+ "named": true
2329
+ },
2330
+ {
2331
+ "type": "readOrNullExpr",
2332
+ "named": true
2333
+ },
2334
+ {
2335
+ "type": "slStringLiteral",
2336
+ "named": true
2337
+ },
2338
+ {
2339
+ "type": "subscriptExpr",
2340
+ "named": true
2341
+ },
2342
+ {
2343
+ "type": "super",
2344
+ "named": false
2345
+ },
2346
+ {
2347
+ "type": "thisExpr",
2348
+ "named": true
2349
+ },
2350
+ {
2351
+ "type": "throwExpr",
2352
+ "named": true
2353
+ },
2354
+ {
2355
+ "type": "traceExpr",
2356
+ "named": true
2357
+ },
2358
+ {
2359
+ "type": "trueLiteral",
2360
+ "named": true
2361
+ },
2362
+ {
2363
+ "type": "unaryExpr",
2364
+ "named": true
2365
+ },
2366
+ {
2367
+ "type": "variableExpr",
2368
+ "named": true
2369
+ },
2370
+ {
2371
+ "type": "variableObjectLiteral",
2372
+ "named": true
2373
+ }
2374
+ ]
2375
+ }
2376
+ },
1981
2377
  "children": {
1982
2378
  "multiple": true,
1983
2379
  "required": true,
@@ -1987,193 +2383,70 @@
1987
2383
  "named": true
1988
2384
  },
1989
2385
  {
1990
- "type": "asExpr",
2386
+ "type": "identifier",
1991
2387
  "named": true
1992
- },
2388
+ }
2389
+ ]
2390
+ }
2391
+ },
2392
+ {
2393
+ "type": "methodHeader",
2394
+ "named": true,
2395
+ "fields": {},
2396
+ "children": {
2397
+ "multiple": true,
2398
+ "required": true,
2399
+ "types": [
1993
2400
  {
1994
- "type": "binaryExpr",
2401
+ "type": "identifier",
1995
2402
  "named": true
1996
2403
  },
1997
2404
  {
1998
- "type": "binaryExprRightAssoc",
2405
+ "type": "modifier",
1999
2406
  "named": true
2000
2407
  },
2001
2408
  {
2002
- "type": "falseLiteral",
2409
+ "type": "parameterList",
2003
2410
  "named": true
2004
2411
  },
2005
2412
  {
2006
- "type": "floatLiteral",
2413
+ "type": "typeAnnotation",
2007
2414
  "named": true
2008
2415
  },
2009
2416
  {
2010
- "type": "functionLiteral",
2011
- "named": true
2012
- },
2013
- {
2014
- "type": "identifier",
2015
- "named": true
2016
- },
2017
- {
2018
- "type": "ifExpr",
2019
- "named": true
2020
- },
2021
- {
2022
- "type": "importExpr",
2023
- "named": true
2024
- },
2025
- {
2026
- "type": "importGlobExpr",
2027
- "named": true
2028
- },
2029
- {
2030
- "type": "intLiteral",
2031
- "named": true
2032
- },
2033
- {
2034
- "type": "isExpr",
2035
- "named": true
2036
- },
2037
- {
2038
- "type": "letExpr",
2039
- "named": true
2040
- },
2041
- {
2042
- "type": "methodCallExpr",
2043
- "named": true
2044
- },
2045
- {
2046
- "type": "mlStringLiteral",
2047
- "named": true
2048
- },
2049
- {
2050
- "type": "moduleExpr",
2051
- "named": true
2052
- },
2053
- {
2054
- "type": "newExpr",
2055
- "named": true
2056
- },
2057
- {
2058
- "type": "nullLiteral",
2059
- "named": true
2060
- },
2061
- {
2062
- "type": "objectLiteral",
2063
- "named": true
2064
- },
2065
- {
2066
- "type": "outerExpr",
2067
- "named": true
2068
- },
2069
- {
2070
- "type": "parenthesizedExpr",
2071
- "named": true
2072
- },
2073
- {
2074
- "type": "propertyCallExpr",
2075
- "named": true
2076
- },
2077
- {
2078
- "type": "readExpr",
2079
- "named": true
2080
- },
2081
- {
2082
- "type": "readGlobExpr",
2083
- "named": true
2084
- },
2085
- {
2086
- "type": "readOrNullExpr",
2087
- "named": true
2088
- },
2089
- {
2090
- "type": "slStringLiteral",
2091
- "named": true
2092
- },
2093
- {
2094
- "type": "subscriptExpr",
2095
- "named": true
2096
- },
2097
- {
2098
- "type": "thisExpr",
2099
- "named": true
2100
- },
2101
- {
2102
- "type": "throwExpr",
2103
- "named": true
2104
- },
2105
- {
2106
- "type": "traceExpr",
2107
- "named": true
2108
- },
2109
- {
2110
- "type": "trueLiteral",
2111
- "named": true
2112
- },
2113
- {
2114
- "type": "unaryExpr",
2115
- "named": true
2116
- },
2117
- {
2118
- "type": "variableExpr",
2119
- "named": true
2120
- },
2121
- {
2122
- "type": "variableObjectLiteral",
2417
+ "type": "typeParameterList",
2123
2418
  "named": true
2124
2419
  }
2125
2420
  ]
2126
2421
  }
2127
2422
  },
2128
2423
  {
2129
- "type": "methodHeader",
2424
+ "type": "mlStringLiteral",
2130
2425
  "named": true,
2131
2426
  "fields": {},
2132
2427
  "children": {
2133
2428
  "multiple": true,
2134
- "required": true,
2429
+ "required": false,
2135
2430
  "types": [
2136
2431
  {
2137
- "type": "identifier",
2138
- "named": true
2139
- },
2140
- {
2141
- "type": "modifier",
2142
- "named": true
2143
- },
2144
- {
2145
- "type": "parameterList",
2432
+ "type": "escapeSequence",
2146
2433
  "named": true
2147
2434
  },
2148
2435
  {
2149
- "type": "typeAnnotation",
2436
+ "type": "interpolationExpr",
2150
2437
  "named": true
2151
2438
  },
2152
2439
  {
2153
- "type": "typeParameterList",
2440
+ "type": "mlStringLiteralPart",
2154
2441
  "named": true
2155
2442
  }
2156
2443
  ]
2157
2444
  }
2158
2445
  },
2159
2446
  {
2160
- "type": "mlStringLiteral",
2447
+ "type": "mlStringLiteralPart",
2161
2448
  "named": true,
2162
- "fields": {},
2163
- "children": {
2164
- "multiple": true,
2165
- "required": false,
2166
- "types": [
2167
- {
2168
- "type": "escapeSequence",
2169
- "named": true
2170
- },
2171
- {
2172
- "type": "interpolationExpr",
2173
- "named": true
2174
- }
2175
- ]
2176
- }
2449
+ "fields": {}
2177
2450
  },
2178
2451
  {
2179
2452
  "type": "modifier",
@@ -2212,6 +2485,10 @@
2212
2485
  "type": "moduleHeader",
2213
2486
  "named": true
2214
2487
  },
2488
+ {
2489
+ "type": "shebangComment",
2490
+ "named": true
2491
+ },
2215
2492
  {
2216
2493
  "type": "typeAlias",
2217
2494
  "named": true
@@ -2255,6 +2532,10 @@
2255
2532
  "type": "annotation",
2256
2533
  "named": true
2257
2534
  },
2535
+ {
2536
+ "type": "docComment",
2537
+ "named": true
2538
+ },
2258
2539
  {
2259
2540
  "type": "extendsOrAmendsClause",
2260
2541
  "named": true
@@ -2285,6 +2566,21 @@
2285
2566
  ]
2286
2567
  }
2287
2568
  },
2569
+ {
2570
+ "type": "nullableType",
2571
+ "named": true,
2572
+ "fields": {},
2573
+ "children": {
2574
+ "multiple": false,
2575
+ "required": true,
2576
+ "types": [
2577
+ {
2578
+ "type": "type",
2579
+ "named": true
2580
+ }
2581
+ ]
2582
+ }
2583
+ },
2288
2584
  {
2289
2585
  "type": "objectBody",
2290
2586
  "named": true,
@@ -2489,6 +2785,298 @@
2489
2785
  {
2490
2786
  "type": "objectEntry",
2491
2787
  "named": true,
2788
+ "fields": {
2789
+ "key": {
2790
+ "multiple": false,
2791
+ "required": true,
2792
+ "types": [
2793
+ {
2794
+ "type": "asExpr",
2795
+ "named": true
2796
+ },
2797
+ {
2798
+ "type": "binaryExpr",
2799
+ "named": true
2800
+ },
2801
+ {
2802
+ "type": "binaryExprRightAssoc",
2803
+ "named": true
2804
+ },
2805
+ {
2806
+ "type": "falseLiteral",
2807
+ "named": true
2808
+ },
2809
+ {
2810
+ "type": "floatLiteral",
2811
+ "named": true
2812
+ },
2813
+ {
2814
+ "type": "functionLiteral",
2815
+ "named": true
2816
+ },
2817
+ {
2818
+ "type": "ifExpr",
2819
+ "named": true
2820
+ },
2821
+ {
2822
+ "type": "importExpr",
2823
+ "named": true
2824
+ },
2825
+ {
2826
+ "type": "importGlobExpr",
2827
+ "named": true
2828
+ },
2829
+ {
2830
+ "type": "intLiteral",
2831
+ "named": true
2832
+ },
2833
+ {
2834
+ "type": "isExpr",
2835
+ "named": true
2836
+ },
2837
+ {
2838
+ "type": "letExpr",
2839
+ "named": true
2840
+ },
2841
+ {
2842
+ "type": "methodCallExpr",
2843
+ "named": true
2844
+ },
2845
+ {
2846
+ "type": "mlStringLiteral",
2847
+ "named": true
2848
+ },
2849
+ {
2850
+ "type": "moduleExpr",
2851
+ "named": true
2852
+ },
2853
+ {
2854
+ "type": "newExpr",
2855
+ "named": true
2856
+ },
2857
+ {
2858
+ "type": "nullLiteral",
2859
+ "named": true
2860
+ },
2861
+ {
2862
+ "type": "objectLiteral",
2863
+ "named": true
2864
+ },
2865
+ {
2866
+ "type": "outerExpr",
2867
+ "named": true
2868
+ },
2869
+ {
2870
+ "type": "parenthesizedExpr",
2871
+ "named": true
2872
+ },
2873
+ {
2874
+ "type": "propertyCallExpr",
2875
+ "named": true
2876
+ },
2877
+ {
2878
+ "type": "readExpr",
2879
+ "named": true
2880
+ },
2881
+ {
2882
+ "type": "readGlobExpr",
2883
+ "named": true
2884
+ },
2885
+ {
2886
+ "type": "readOrNullExpr",
2887
+ "named": true
2888
+ },
2889
+ {
2890
+ "type": "slStringLiteral",
2891
+ "named": true
2892
+ },
2893
+ {
2894
+ "type": "subscriptExpr",
2895
+ "named": true
2896
+ },
2897
+ {
2898
+ "type": "thisExpr",
2899
+ "named": true
2900
+ },
2901
+ {
2902
+ "type": "throwExpr",
2903
+ "named": true
2904
+ },
2905
+ {
2906
+ "type": "traceExpr",
2907
+ "named": true
2908
+ },
2909
+ {
2910
+ "type": "trueLiteral",
2911
+ "named": true
2912
+ },
2913
+ {
2914
+ "type": "unaryExpr",
2915
+ "named": true
2916
+ },
2917
+ {
2918
+ "type": "variableExpr",
2919
+ "named": true
2920
+ },
2921
+ {
2922
+ "type": "variableObjectLiteral",
2923
+ "named": true
2924
+ }
2925
+ ]
2926
+ },
2927
+ "valueExpr": {
2928
+ "multiple": false,
2929
+ "required": false,
2930
+ "types": [
2931
+ {
2932
+ "type": "asExpr",
2933
+ "named": true
2934
+ },
2935
+ {
2936
+ "type": "binaryExpr",
2937
+ "named": true
2938
+ },
2939
+ {
2940
+ "type": "binaryExprRightAssoc",
2941
+ "named": true
2942
+ },
2943
+ {
2944
+ "type": "falseLiteral",
2945
+ "named": true
2946
+ },
2947
+ {
2948
+ "type": "floatLiteral",
2949
+ "named": true
2950
+ },
2951
+ {
2952
+ "type": "functionLiteral",
2953
+ "named": true
2954
+ },
2955
+ {
2956
+ "type": "ifExpr",
2957
+ "named": true
2958
+ },
2959
+ {
2960
+ "type": "importExpr",
2961
+ "named": true
2962
+ },
2963
+ {
2964
+ "type": "importGlobExpr",
2965
+ "named": true
2966
+ },
2967
+ {
2968
+ "type": "intLiteral",
2969
+ "named": true
2970
+ },
2971
+ {
2972
+ "type": "isExpr",
2973
+ "named": true
2974
+ },
2975
+ {
2976
+ "type": "letExpr",
2977
+ "named": true
2978
+ },
2979
+ {
2980
+ "type": "methodCallExpr",
2981
+ "named": true
2982
+ },
2983
+ {
2984
+ "type": "mlStringLiteral",
2985
+ "named": true
2986
+ },
2987
+ {
2988
+ "type": "moduleExpr",
2989
+ "named": true
2990
+ },
2991
+ {
2992
+ "type": "newExpr",
2993
+ "named": true
2994
+ },
2995
+ {
2996
+ "type": "nullLiteral",
2997
+ "named": true
2998
+ },
2999
+ {
3000
+ "type": "objectLiteral",
3001
+ "named": true
3002
+ },
3003
+ {
3004
+ "type": "outerExpr",
3005
+ "named": true
3006
+ },
3007
+ {
3008
+ "type": "parenthesizedExpr",
3009
+ "named": true
3010
+ },
3011
+ {
3012
+ "type": "propertyCallExpr",
3013
+ "named": true
3014
+ },
3015
+ {
3016
+ "type": "readExpr",
3017
+ "named": true
3018
+ },
3019
+ {
3020
+ "type": "readGlobExpr",
3021
+ "named": true
3022
+ },
3023
+ {
3024
+ "type": "readOrNullExpr",
3025
+ "named": true
3026
+ },
3027
+ {
3028
+ "type": "slStringLiteral",
3029
+ "named": true
3030
+ },
3031
+ {
3032
+ "type": "subscriptExpr",
3033
+ "named": true
3034
+ },
3035
+ {
3036
+ "type": "thisExpr",
3037
+ "named": true
3038
+ },
3039
+ {
3040
+ "type": "throwExpr",
3041
+ "named": true
3042
+ },
3043
+ {
3044
+ "type": "traceExpr",
3045
+ "named": true
3046
+ },
3047
+ {
3048
+ "type": "trueLiteral",
3049
+ "named": true
3050
+ },
3051
+ {
3052
+ "type": "unaryExpr",
3053
+ "named": true
3054
+ },
3055
+ {
3056
+ "type": "variableExpr",
3057
+ "named": true
3058
+ },
3059
+ {
3060
+ "type": "variableObjectLiteral",
3061
+ "named": true
3062
+ }
3063
+ ]
3064
+ }
3065
+ },
3066
+ "children": {
3067
+ "multiple": true,
3068
+ "required": false,
3069
+ "types": [
3070
+ {
3071
+ "type": "objectBody",
3072
+ "named": true
3073
+ }
3074
+ ]
3075
+ }
3076
+ },
3077
+ {
3078
+ "type": "objectLiteral",
3079
+ "named": true,
2492
3080
  "fields": {},
2493
3081
  "children": {
2494
3082
  "multiple": true,
@@ -2621,20 +3209,12 @@
2621
3209
  {
2622
3210
  "type": "unaryExpr",
2623
3211
  "named": true
2624
- },
2625
- {
2626
- "type": "variableExpr",
2627
- "named": true
2628
- },
2629
- {
2630
- "type": "variableObjectLiteral",
2631
- "named": true
2632
3212
  }
2633
3213
  ]
2634
3214
  }
2635
3215
  },
2636
3216
  {
2637
- "type": "objectLiteral",
3217
+ "type": "objectMethod",
2638
3218
  "named": true,
2639
3219
  "fields": {},
2640
3220
  "children": {
@@ -2693,6 +3273,10 @@
2693
3273
  "type": "methodCallExpr",
2694
3274
  "named": true
2695
3275
  },
3276
+ {
3277
+ "type": "methodHeader",
3278
+ "named": true
3279
+ },
2696
3280
  {
2697
3281
  "type": "mlStringLiteral",
2698
3282
  "named": true
@@ -2709,10 +3293,6 @@
2709
3293
  "type": "nullLiteral",
2710
3294
  "named": true
2711
3295
  },
2712
- {
2713
- "type": "objectBody",
2714
- "named": true
2715
- },
2716
3296
  {
2717
3297
  "type": "objectLiteral",
2718
3298
  "named": true
@@ -2768,12 +3348,312 @@
2768
3348
  {
2769
3349
  "type": "unaryExpr",
2770
3350
  "named": true
3351
+ },
3352
+ {
3353
+ "type": "variableExpr",
3354
+ "named": true
3355
+ },
3356
+ {
3357
+ "type": "variableObjectLiteral",
3358
+ "named": true
2771
3359
  }
2772
3360
  ]
2773
3361
  }
2774
3362
  },
2775
3363
  {
2776
- "type": "objectMethod",
3364
+ "type": "objectPredicate",
3365
+ "named": true,
3366
+ "fields": {
3367
+ "conditionExpr": {
3368
+ "multiple": false,
3369
+ "required": true,
3370
+ "types": [
3371
+ {
3372
+ "type": "asExpr",
3373
+ "named": true
3374
+ },
3375
+ {
3376
+ "type": "binaryExpr",
3377
+ "named": true
3378
+ },
3379
+ {
3380
+ "type": "binaryExprRightAssoc",
3381
+ "named": true
3382
+ },
3383
+ {
3384
+ "type": "falseLiteral",
3385
+ "named": true
3386
+ },
3387
+ {
3388
+ "type": "floatLiteral",
3389
+ "named": true
3390
+ },
3391
+ {
3392
+ "type": "functionLiteral",
3393
+ "named": true
3394
+ },
3395
+ {
3396
+ "type": "ifExpr",
3397
+ "named": true
3398
+ },
3399
+ {
3400
+ "type": "importExpr",
3401
+ "named": true
3402
+ },
3403
+ {
3404
+ "type": "importGlobExpr",
3405
+ "named": true
3406
+ },
3407
+ {
3408
+ "type": "intLiteral",
3409
+ "named": true
3410
+ },
3411
+ {
3412
+ "type": "isExpr",
3413
+ "named": true
3414
+ },
3415
+ {
3416
+ "type": "letExpr",
3417
+ "named": true
3418
+ },
3419
+ {
3420
+ "type": "methodCallExpr",
3421
+ "named": true
3422
+ },
3423
+ {
3424
+ "type": "mlStringLiteral",
3425
+ "named": true
3426
+ },
3427
+ {
3428
+ "type": "moduleExpr",
3429
+ "named": true
3430
+ },
3431
+ {
3432
+ "type": "newExpr",
3433
+ "named": true
3434
+ },
3435
+ {
3436
+ "type": "nullLiteral",
3437
+ "named": true
3438
+ },
3439
+ {
3440
+ "type": "objectLiteral",
3441
+ "named": true
3442
+ },
3443
+ {
3444
+ "type": "outerExpr",
3445
+ "named": true
3446
+ },
3447
+ {
3448
+ "type": "parenthesizedExpr",
3449
+ "named": true
3450
+ },
3451
+ {
3452
+ "type": "propertyCallExpr",
3453
+ "named": true
3454
+ },
3455
+ {
3456
+ "type": "readExpr",
3457
+ "named": true
3458
+ },
3459
+ {
3460
+ "type": "readGlobExpr",
3461
+ "named": true
3462
+ },
3463
+ {
3464
+ "type": "readOrNullExpr",
3465
+ "named": true
3466
+ },
3467
+ {
3468
+ "type": "slStringLiteral",
3469
+ "named": true
3470
+ },
3471
+ {
3472
+ "type": "subscriptExpr",
3473
+ "named": true
3474
+ },
3475
+ {
3476
+ "type": "thisExpr",
3477
+ "named": true
3478
+ },
3479
+ {
3480
+ "type": "throwExpr",
3481
+ "named": true
3482
+ },
3483
+ {
3484
+ "type": "traceExpr",
3485
+ "named": true
3486
+ },
3487
+ {
3488
+ "type": "trueLiteral",
3489
+ "named": true
3490
+ },
3491
+ {
3492
+ "type": "unaryExpr",
3493
+ "named": true
3494
+ },
3495
+ {
3496
+ "type": "variableExpr",
3497
+ "named": true
3498
+ },
3499
+ {
3500
+ "type": "variableObjectLiteral",
3501
+ "named": true
3502
+ }
3503
+ ]
3504
+ },
3505
+ "valueExpr": {
3506
+ "multiple": false,
3507
+ "required": false,
3508
+ "types": [
3509
+ {
3510
+ "type": "asExpr",
3511
+ "named": true
3512
+ },
3513
+ {
3514
+ "type": "binaryExpr",
3515
+ "named": true
3516
+ },
3517
+ {
3518
+ "type": "binaryExprRightAssoc",
3519
+ "named": true
3520
+ },
3521
+ {
3522
+ "type": "falseLiteral",
3523
+ "named": true
3524
+ },
3525
+ {
3526
+ "type": "floatLiteral",
3527
+ "named": true
3528
+ },
3529
+ {
3530
+ "type": "functionLiteral",
3531
+ "named": true
3532
+ },
3533
+ {
3534
+ "type": "ifExpr",
3535
+ "named": true
3536
+ },
3537
+ {
3538
+ "type": "importExpr",
3539
+ "named": true
3540
+ },
3541
+ {
3542
+ "type": "importGlobExpr",
3543
+ "named": true
3544
+ },
3545
+ {
3546
+ "type": "intLiteral",
3547
+ "named": true
3548
+ },
3549
+ {
3550
+ "type": "isExpr",
3551
+ "named": true
3552
+ },
3553
+ {
3554
+ "type": "letExpr",
3555
+ "named": true
3556
+ },
3557
+ {
3558
+ "type": "methodCallExpr",
3559
+ "named": true
3560
+ },
3561
+ {
3562
+ "type": "mlStringLiteral",
3563
+ "named": true
3564
+ },
3565
+ {
3566
+ "type": "moduleExpr",
3567
+ "named": true
3568
+ },
3569
+ {
3570
+ "type": "newExpr",
3571
+ "named": true
3572
+ },
3573
+ {
3574
+ "type": "nullLiteral",
3575
+ "named": true
3576
+ },
3577
+ {
3578
+ "type": "objectLiteral",
3579
+ "named": true
3580
+ },
3581
+ {
3582
+ "type": "outerExpr",
3583
+ "named": true
3584
+ },
3585
+ {
3586
+ "type": "parenthesizedExpr",
3587
+ "named": true
3588
+ },
3589
+ {
3590
+ "type": "propertyCallExpr",
3591
+ "named": true
3592
+ },
3593
+ {
3594
+ "type": "readExpr",
3595
+ "named": true
3596
+ },
3597
+ {
3598
+ "type": "readGlobExpr",
3599
+ "named": true
3600
+ },
3601
+ {
3602
+ "type": "readOrNullExpr",
3603
+ "named": true
3604
+ },
3605
+ {
3606
+ "type": "slStringLiteral",
3607
+ "named": true
3608
+ },
3609
+ {
3610
+ "type": "subscriptExpr",
3611
+ "named": true
3612
+ },
3613
+ {
3614
+ "type": "thisExpr",
3615
+ "named": true
3616
+ },
3617
+ {
3618
+ "type": "throwExpr",
3619
+ "named": true
3620
+ },
3621
+ {
3622
+ "type": "traceExpr",
3623
+ "named": true
3624
+ },
3625
+ {
3626
+ "type": "trueLiteral",
3627
+ "named": true
3628
+ },
3629
+ {
3630
+ "type": "unaryExpr",
3631
+ "named": true
3632
+ },
3633
+ {
3634
+ "type": "variableExpr",
3635
+ "named": true
3636
+ },
3637
+ {
3638
+ "type": "variableObjectLiteral",
3639
+ "named": true
3640
+ }
3641
+ ]
3642
+ }
3643
+ },
3644
+ "children": {
3645
+ "multiple": true,
3646
+ "required": false,
3647
+ "types": [
3648
+ {
3649
+ "type": "objectBody",
3650
+ "named": true
3651
+ }
3652
+ ]
3653
+ }
3654
+ },
3655
+ {
3656
+ "type": "objectProperty",
2777
3657
  "named": true,
2778
3658
  "fields": {},
2779
3659
  "children": {
@@ -2804,6 +3684,10 @@
2804
3684
  "type": "functionLiteral",
2805
3685
  "named": true
2806
3686
  },
3687
+ {
3688
+ "type": "identifier",
3689
+ "named": true
3690
+ },
2807
3691
  {
2808
3692
  "type": "ifExpr",
2809
3693
  "named": true
@@ -2833,11 +3717,11 @@
2833
3717
  "named": true
2834
3718
  },
2835
3719
  {
2836
- "type": "methodHeader",
3720
+ "type": "mlStringLiteral",
2837
3721
  "named": true
2838
3722
  },
2839
3723
  {
2840
- "type": "mlStringLiteral",
3724
+ "type": "modifier",
2841
3725
  "named": true
2842
3726
  },
2843
3727
  {
@@ -2852,6 +3736,10 @@
2852
3736
  "type": "nullLiteral",
2853
3737
  "named": true
2854
3738
  },
3739
+ {
3740
+ "type": "objectBody",
3741
+ "named": true
3742
+ },
2855
3743
  {
2856
3744
  "type": "objectLiteral",
2857
3745
  "named": true
@@ -2904,6 +3792,10 @@
2904
3792
  "type": "trueLiteral",
2905
3793
  "named": true
2906
3794
  },
3795
+ {
3796
+ "type": "typeAnnotation",
3797
+ "named": true
3798
+ },
2907
3799
  {
2908
3800
  "type": "unaryExpr",
2909
3801
  "named": true
@@ -2920,11 +3812,11 @@
2920
3812
  }
2921
3813
  },
2922
3814
  {
2923
- "type": "objectPredicate",
3815
+ "type": "objectSpread",
2924
3816
  "named": true,
2925
3817
  "fields": {},
2926
3818
  "children": {
2927
- "multiple": true,
3819
+ "multiple": false,
2928
3820
  "required": true,
2929
3821
  "types": [
2930
3822
  {
@@ -2995,10 +3887,6 @@
2995
3887
  "type": "nullLiteral",
2996
3888
  "named": true
2997
3889
  },
2998
- {
2999
- "type": "objectBody",
3000
- "named": true
3001
- },
3002
3890
  {
3003
3891
  "type": "objectLiteral",
3004
3892
  "named": true
@@ -3067,19 +3955,34 @@
3067
3955
  }
3068
3956
  },
3069
3957
  {
3070
- "type": "objectProperty",
3958
+ "type": "parameterList",
3071
3959
  "named": true,
3072
3960
  "fields": {},
3073
3961
  "children": {
3074
3962
  "multiple": true,
3075
- "required": true,
3963
+ "required": false,
3076
3964
  "types": [
3077
3965
  {
3078
- "type": "asExpr",
3966
+ "type": "typedIdentifier",
3079
3967
  "named": true
3080
- },
3081
- {
3082
- "type": "binaryExpr",
3968
+ }
3969
+ ]
3970
+ }
3971
+ },
3972
+ {
3973
+ "type": "parenthesizedExpr",
3974
+ "named": true,
3975
+ "fields": {},
3976
+ "children": {
3977
+ "multiple": false,
3978
+ "required": true,
3979
+ "types": [
3980
+ {
3981
+ "type": "asExpr",
3982
+ "named": true
3983
+ },
3984
+ {
3985
+ "type": "binaryExpr",
3083
3986
  "named": true
3084
3987
  },
3085
3988
  {
@@ -3098,10 +4001,6 @@
3098
4001
  "type": "functionLiteral",
3099
4002
  "named": true
3100
4003
  },
3101
- {
3102
- "type": "identifier",
3103
- "named": true
3104
- },
3105
4004
  {
3106
4005
  "type": "ifExpr",
3107
4006
  "named": true
@@ -3134,10 +4033,6 @@
3134
4033
  "type": "mlStringLiteral",
3135
4034
  "named": true
3136
4035
  },
3137
- {
3138
- "type": "modifier",
3139
- "named": true
3140
- },
3141
4036
  {
3142
4037
  "type": "moduleExpr",
3143
4038
  "named": true
@@ -3150,10 +4045,6 @@
3150
4045
  "type": "nullLiteral",
3151
4046
  "named": true
3152
4047
  },
3153
- {
3154
- "type": "objectBody",
3155
- "named": true
3156
- },
3157
4048
  {
3158
4049
  "type": "objectLiteral",
3159
4050
  "named": true
@@ -3206,10 +4097,6 @@
3206
4097
  "type": "trueLiteral",
3207
4098
  "named": true
3208
4099
  },
3209
- {
3210
- "type": "typeAnnotation",
3211
- "named": true
3212
- },
3213
4100
  {
3214
4101
  "type": "unaryExpr",
3215
4102
  "named": true
@@ -3226,7 +4113,205 @@
3226
4113
  }
3227
4114
  },
3228
4115
  {
3229
- "type": "objectSpread",
4116
+ "type": "parenthesizedType",
4117
+ "named": true,
4118
+ "fields": {},
4119
+ "children": {
4120
+ "multiple": false,
4121
+ "required": true,
4122
+ "types": [
4123
+ {
4124
+ "type": "type",
4125
+ "named": true
4126
+ }
4127
+ ]
4128
+ }
4129
+ },
4130
+ {
4131
+ "type": "propertyCallExpr",
4132
+ "named": true,
4133
+ "fields": {
4134
+ "err": {
4135
+ "multiple": false,
4136
+ "required": false,
4137
+ "types": [
4138
+ {
4139
+ "type": "\n",
4140
+ "named": false
4141
+ }
4142
+ ]
4143
+ },
4144
+ "receiver": {
4145
+ "multiple": false,
4146
+ "required": true,
4147
+ "types": [
4148
+ {
4149
+ "type": "asExpr",
4150
+ "named": true
4151
+ },
4152
+ {
4153
+ "type": "binaryExpr",
4154
+ "named": true
4155
+ },
4156
+ {
4157
+ "type": "binaryExprRightAssoc",
4158
+ "named": true
4159
+ },
4160
+ {
4161
+ "type": "falseLiteral",
4162
+ "named": true
4163
+ },
4164
+ {
4165
+ "type": "floatLiteral",
4166
+ "named": true
4167
+ },
4168
+ {
4169
+ "type": "functionLiteral",
4170
+ "named": true
4171
+ },
4172
+ {
4173
+ "type": "ifExpr",
4174
+ "named": true
4175
+ },
4176
+ {
4177
+ "type": "importExpr",
4178
+ "named": true
4179
+ },
4180
+ {
4181
+ "type": "importGlobExpr",
4182
+ "named": true
4183
+ },
4184
+ {
4185
+ "type": "intLiteral",
4186
+ "named": true
4187
+ },
4188
+ {
4189
+ "type": "isExpr",
4190
+ "named": true
4191
+ },
4192
+ {
4193
+ "type": "letExpr",
4194
+ "named": true
4195
+ },
4196
+ {
4197
+ "type": "methodCallExpr",
4198
+ "named": true
4199
+ },
4200
+ {
4201
+ "type": "mlStringLiteral",
4202
+ "named": true
4203
+ },
4204
+ {
4205
+ "type": "moduleExpr",
4206
+ "named": true
4207
+ },
4208
+ {
4209
+ "type": "newExpr",
4210
+ "named": true
4211
+ },
4212
+ {
4213
+ "type": "nullLiteral",
4214
+ "named": true
4215
+ },
4216
+ {
4217
+ "type": "objectLiteral",
4218
+ "named": true
4219
+ },
4220
+ {
4221
+ "type": "outerExpr",
4222
+ "named": true
4223
+ },
4224
+ {
4225
+ "type": "parenthesizedExpr",
4226
+ "named": true
4227
+ },
4228
+ {
4229
+ "type": "propertyCallExpr",
4230
+ "named": true
4231
+ },
4232
+ {
4233
+ "type": "readExpr",
4234
+ "named": true
4235
+ },
4236
+ {
4237
+ "type": "readGlobExpr",
4238
+ "named": true
4239
+ },
4240
+ {
4241
+ "type": "readOrNullExpr",
4242
+ "named": true
4243
+ },
4244
+ {
4245
+ "type": "slStringLiteral",
4246
+ "named": true
4247
+ },
4248
+ {
4249
+ "type": "subscriptExpr",
4250
+ "named": true
4251
+ },
4252
+ {
4253
+ "type": "super",
4254
+ "named": false
4255
+ },
4256
+ {
4257
+ "type": "thisExpr",
4258
+ "named": true
4259
+ },
4260
+ {
4261
+ "type": "throwExpr",
4262
+ "named": true
4263
+ },
4264
+ {
4265
+ "type": "traceExpr",
4266
+ "named": true
4267
+ },
4268
+ {
4269
+ "type": "trueLiteral",
4270
+ "named": true
4271
+ },
4272
+ {
4273
+ "type": "unaryExpr",
4274
+ "named": true
4275
+ },
4276
+ {
4277
+ "type": "variableExpr",
4278
+ "named": true
4279
+ },
4280
+ {
4281
+ "type": "variableObjectLiteral",
4282
+ "named": true
4283
+ }
4284
+ ]
4285
+ }
4286
+ },
4287
+ "children": {
4288
+ "multiple": false,
4289
+ "required": false,
4290
+ "types": [
4291
+ {
4292
+ "type": "identifier",
4293
+ "named": true
4294
+ }
4295
+ ]
4296
+ }
4297
+ },
4298
+ {
4299
+ "type": "qualifiedIdentifier",
4300
+ "named": true,
4301
+ "fields": {},
4302
+ "children": {
4303
+ "multiple": true,
4304
+ "required": true,
4305
+ "types": [
4306
+ {
4307
+ "type": "identifier",
4308
+ "named": true
4309
+ }
4310
+ ]
4311
+ }
4312
+ },
4313
+ {
4314
+ "type": "readExpr",
3230
4315
  "named": true,
3231
4316
  "fields": {},
3232
4317
  "children": {
@@ -3369,22 +4454,7 @@
3369
4454
  }
3370
4455
  },
3371
4456
  {
3372
- "type": "parameterList",
3373
- "named": true,
3374
- "fields": {},
3375
- "children": {
3376
- "multiple": true,
3377
- "required": false,
3378
- "types": [
3379
- {
3380
- "type": "typedIdentifier",
3381
- "named": true
3382
- }
3383
- ]
3384
- }
3385
- },
3386
- {
3387
- "type": "parenthesizedExpr",
4457
+ "type": "readGlobExpr",
3388
4458
  "named": true,
3389
4459
  "fields": {},
3390
4460
  "children": {
@@ -3527,11 +4597,11 @@
3527
4597
  }
3528
4598
  },
3529
4599
  {
3530
- "type": "propertyCallExpr",
4600
+ "type": "readOrNullExpr",
3531
4601
  "named": true,
3532
4602
  "fields": {},
3533
4603
  "children": {
3534
- "multiple": true,
4604
+ "multiple": false,
3535
4605
  "required": true,
3536
4606
  "types": [
3537
4607
  {
@@ -3558,10 +4628,6 @@
3558
4628
  "type": "functionLiteral",
3559
4629
  "named": true
3560
4630
  },
3561
- {
3562
- "type": "identifier",
3563
- "named": true
3564
- },
3565
4631
  {
3566
4632
  "type": "ifExpr",
3567
4633
  "named": true
@@ -3674,24 +4740,219 @@
3674
4740
  }
3675
4741
  },
3676
4742
  {
3677
- "type": "qualifiedIdentifier",
4743
+ "type": "shebangComment",
4744
+ "named": true,
4745
+ "fields": {}
4746
+ },
4747
+ {
4748
+ "type": "slStringLiteral",
3678
4749
  "named": true,
3679
4750
  "fields": {},
3680
4751
  "children": {
3681
4752
  "multiple": true,
3682
- "required": true,
4753
+ "required": false,
3683
4754
  "types": [
3684
4755
  {
3685
- "type": "identifier",
4756
+ "type": "escapeSequence",
4757
+ "named": true
4758
+ },
4759
+ {
4760
+ "type": "interpolationExpr",
4761
+ "named": true
4762
+ },
4763
+ {
4764
+ "type": "slStringLiteralPart",
3686
4765
  "named": true
3687
4766
  }
3688
4767
  ]
3689
4768
  }
3690
4769
  },
3691
4770
  {
3692
- "type": "readExpr",
4771
+ "type": "slStringLiteralPart",
4772
+ "named": true,
4773
+ "fields": {}
4774
+ },
4775
+ {
4776
+ "type": "stringConstant",
4777
+ "named": true,
4778
+ "fields": {},
4779
+ "children": {
4780
+ "multiple": true,
4781
+ "required": false,
4782
+ "types": [
4783
+ {
4784
+ "type": "escapeSequence",
4785
+ "named": true
4786
+ },
4787
+ {
4788
+ "type": "slStringLiteralPart",
4789
+ "named": true
4790
+ }
4791
+ ]
4792
+ }
4793
+ },
4794
+ {
4795
+ "type": "stringLiteralType",
3693
4796
  "named": true,
3694
4797
  "fields": {},
4798
+ "children": {
4799
+ "multiple": false,
4800
+ "required": true,
4801
+ "types": [
4802
+ {
4803
+ "type": "stringConstant",
4804
+ "named": true
4805
+ }
4806
+ ]
4807
+ }
4808
+ },
4809
+ {
4810
+ "type": "subscriptExpr",
4811
+ "named": true,
4812
+ "fields": {
4813
+ "receiver": {
4814
+ "multiple": false,
4815
+ "required": true,
4816
+ "types": [
4817
+ {
4818
+ "type": "asExpr",
4819
+ "named": true
4820
+ },
4821
+ {
4822
+ "type": "binaryExpr",
4823
+ "named": true
4824
+ },
4825
+ {
4826
+ "type": "binaryExprRightAssoc",
4827
+ "named": true
4828
+ },
4829
+ {
4830
+ "type": "falseLiteral",
4831
+ "named": true
4832
+ },
4833
+ {
4834
+ "type": "floatLiteral",
4835
+ "named": true
4836
+ },
4837
+ {
4838
+ "type": "functionLiteral",
4839
+ "named": true
4840
+ },
4841
+ {
4842
+ "type": "ifExpr",
4843
+ "named": true
4844
+ },
4845
+ {
4846
+ "type": "importExpr",
4847
+ "named": true
4848
+ },
4849
+ {
4850
+ "type": "importGlobExpr",
4851
+ "named": true
4852
+ },
4853
+ {
4854
+ "type": "intLiteral",
4855
+ "named": true
4856
+ },
4857
+ {
4858
+ "type": "isExpr",
4859
+ "named": true
4860
+ },
4861
+ {
4862
+ "type": "letExpr",
4863
+ "named": true
4864
+ },
4865
+ {
4866
+ "type": "methodCallExpr",
4867
+ "named": true
4868
+ },
4869
+ {
4870
+ "type": "mlStringLiteral",
4871
+ "named": true
4872
+ },
4873
+ {
4874
+ "type": "moduleExpr",
4875
+ "named": true
4876
+ },
4877
+ {
4878
+ "type": "newExpr",
4879
+ "named": true
4880
+ },
4881
+ {
4882
+ "type": "nullLiteral",
4883
+ "named": true
4884
+ },
4885
+ {
4886
+ "type": "objectLiteral",
4887
+ "named": true
4888
+ },
4889
+ {
4890
+ "type": "outerExpr",
4891
+ "named": true
4892
+ },
4893
+ {
4894
+ "type": "parenthesizedExpr",
4895
+ "named": true
4896
+ },
4897
+ {
4898
+ "type": "propertyCallExpr",
4899
+ "named": true
4900
+ },
4901
+ {
4902
+ "type": "readExpr",
4903
+ "named": true
4904
+ },
4905
+ {
4906
+ "type": "readGlobExpr",
4907
+ "named": true
4908
+ },
4909
+ {
4910
+ "type": "readOrNullExpr",
4911
+ "named": true
4912
+ },
4913
+ {
4914
+ "type": "slStringLiteral",
4915
+ "named": true
4916
+ },
4917
+ {
4918
+ "type": "subscriptExpr",
4919
+ "named": true
4920
+ },
4921
+ {
4922
+ "type": "super",
4923
+ "named": false
4924
+ },
4925
+ {
4926
+ "type": "thisExpr",
4927
+ "named": true
4928
+ },
4929
+ {
4930
+ "type": "throwExpr",
4931
+ "named": true
4932
+ },
4933
+ {
4934
+ "type": "traceExpr",
4935
+ "named": true
4936
+ },
4937
+ {
4938
+ "type": "trueLiteral",
4939
+ "named": true
4940
+ },
4941
+ {
4942
+ "type": "unaryExpr",
4943
+ "named": true
4944
+ },
4945
+ {
4946
+ "type": "variableExpr",
4947
+ "named": true
4948
+ },
4949
+ {
4950
+ "type": "variableObjectLiteral",
4951
+ "named": true
4952
+ }
4953
+ ]
4954
+ }
4955
+ },
3695
4956
  "children": {
3696
4957
  "multiple": false,
3697
4958
  "required": true,
@@ -3832,7 +5093,7 @@
3832
5093
  }
3833
5094
  },
3834
5095
  {
3835
- "type": "readGlobExpr",
5096
+ "type": "throwExpr",
3836
5097
  "named": true,
3837
5098
  "fields": {},
3838
5099
  "children": {
@@ -3975,7 +5236,7 @@
3975
5236
  }
3976
5237
  },
3977
5238
  {
3978
- "type": "readOrNullExpr",
5239
+ "type": "traceExpr",
3979
5240
  "named": true,
3980
5241
  "fields": {},
3981
5242
  "children": {
@@ -4118,668 +5379,105 @@
4118
5379
  }
4119
5380
  },
4120
5381
  {
4121
- "type": "slStringLiteral",
4122
- "named": true,
4123
- "fields": {},
4124
- "children": {
4125
- "multiple": true,
4126
- "required": false,
4127
- "types": [
4128
- {
4129
- "type": "escapeSequence",
4130
- "named": true
4131
- },
4132
- {
4133
- "type": "interpolationExpr",
4134
- "named": true
4135
- }
4136
- ]
4137
- }
4138
- },
4139
- {
4140
- "type": "stringConstant",
4141
- "named": true,
4142
- "fields": {},
4143
- "children": {
4144
- "multiple": true,
4145
- "required": false,
4146
- "types": [
4147
- {
4148
- "type": "escapeSequence",
4149
- "named": true
4150
- }
4151
- ]
4152
- }
4153
- },
4154
- {
4155
- "type": "subscriptExpr",
5382
+ "type": "type",
4156
5383
  "named": true,
4157
5384
  "fields": {},
4158
5385
  "children": {
4159
- "multiple": true,
5386
+ "multiple": false,
4160
5387
  "required": true,
4161
5388
  "types": [
4162
5389
  {
4163
- "type": "asExpr",
4164
- "named": true
4165
- },
4166
- {
4167
- "type": "binaryExpr",
5390
+ "type": "constrainedType",
4168
5391
  "named": true
4169
5392
  },
4170
5393
  {
4171
- "type": "binaryExprRightAssoc",
5394
+ "type": "declaredType",
4172
5395
  "named": true
4173
5396
  },
4174
5397
  {
4175
- "type": "falseLiteral",
5398
+ "type": "functionLiteralType",
4176
5399
  "named": true
4177
5400
  },
4178
5401
  {
4179
- "type": "floatLiteral",
5402
+ "type": "moduleType",
4180
5403
  "named": true
4181
5404
  },
4182
5405
  {
4183
- "type": "functionLiteral",
5406
+ "type": "nothingType",
4184
5407
  "named": true
4185
5408
  },
4186
5409
  {
4187
- "type": "ifExpr",
5410
+ "type": "nullableType",
4188
5411
  "named": true
4189
5412
  },
4190
5413
  {
4191
- "type": "importExpr",
5414
+ "type": "parenthesizedType",
4192
5415
  "named": true
4193
5416
  },
4194
5417
  {
4195
- "type": "importGlobExpr",
5418
+ "type": "stringLiteralType",
4196
5419
  "named": true
4197
5420
  },
4198
5421
  {
4199
- "type": "intLiteral",
5422
+ "type": "unionDefaultType",
4200
5423
  "named": true
4201
5424
  },
4202
5425
  {
4203
- "type": "isExpr",
5426
+ "type": "unionType",
4204
5427
  "named": true
4205
5428
  },
4206
5429
  {
4207
- "type": "letExpr",
5430
+ "type": "unknownType",
4208
5431
  "named": true
4209
- },
5432
+ }
5433
+ ]
5434
+ }
5435
+ },
5436
+ {
5437
+ "type": "typeAlias",
5438
+ "named": true,
5439
+ "fields": {},
5440
+ "children": {
5441
+ "multiple": true,
5442
+ "required": true,
5443
+ "types": [
4210
5444
  {
4211
- "type": "methodCallExpr",
5445
+ "type": "annotation",
4212
5446
  "named": true
4213
5447
  },
4214
5448
  {
4215
- "type": "mlStringLiteral",
5449
+ "type": "docComment",
4216
5450
  "named": true
4217
5451
  },
4218
5452
  {
4219
- "type": "moduleExpr",
5453
+ "type": "identifier",
4220
5454
  "named": true
4221
5455
  },
4222
5456
  {
4223
- "type": "newExpr",
5457
+ "type": "modifier",
4224
5458
  "named": true
4225
5459
  },
4226
5460
  {
4227
- "type": "nullLiteral",
5461
+ "type": "type",
4228
5462
  "named": true
4229
5463
  },
4230
5464
  {
4231
- "type": "objectLiteral",
5465
+ "type": "typeParameterList",
4232
5466
  "named": true
4233
- },
5467
+ }
5468
+ ]
5469
+ }
5470
+ },
5471
+ {
5472
+ "type": "typeAnnotation",
5473
+ "named": true,
5474
+ "fields": {},
5475
+ "children": {
5476
+ "multiple": false,
5477
+ "required": true,
5478
+ "types": [
4234
5479
  {
4235
- "type": "outerExpr",
4236
- "named": true
4237
- },
4238
- {
4239
- "type": "parenthesizedExpr",
4240
- "named": true
4241
- },
4242
- {
4243
- "type": "propertyCallExpr",
4244
- "named": true
4245
- },
4246
- {
4247
- "type": "readExpr",
4248
- "named": true
4249
- },
4250
- {
4251
- "type": "readGlobExpr",
4252
- "named": true
4253
- },
4254
- {
4255
- "type": "readOrNullExpr",
4256
- "named": true
4257
- },
4258
- {
4259
- "type": "slStringLiteral",
4260
- "named": true
4261
- },
4262
- {
4263
- "type": "subscriptExpr",
4264
- "named": true
4265
- },
4266
- {
4267
- "type": "thisExpr",
4268
- "named": true
4269
- },
4270
- {
4271
- "type": "throwExpr",
4272
- "named": true
4273
- },
4274
- {
4275
- "type": "traceExpr",
4276
- "named": true
4277
- },
4278
- {
4279
- "type": "trueLiteral",
4280
- "named": true
4281
- },
4282
- {
4283
- "type": "unaryExpr",
4284
- "named": true
4285
- },
4286
- {
4287
- "type": "variableExpr",
4288
- "named": true
4289
- },
4290
- {
4291
- "type": "variableObjectLiteral",
4292
- "named": true
4293
- }
4294
- ]
4295
- }
4296
- },
4297
- {
4298
- "type": "throwExpr",
4299
- "named": true,
4300
- "fields": {},
4301
- "children": {
4302
- "multiple": false,
4303
- "required": true,
4304
- "types": [
4305
- {
4306
- "type": "asExpr",
4307
- "named": true
4308
- },
4309
- {
4310
- "type": "binaryExpr",
4311
- "named": true
4312
- },
4313
- {
4314
- "type": "binaryExprRightAssoc",
4315
- "named": true
4316
- },
4317
- {
4318
- "type": "falseLiteral",
4319
- "named": true
4320
- },
4321
- {
4322
- "type": "floatLiteral",
4323
- "named": true
4324
- },
4325
- {
4326
- "type": "functionLiteral",
4327
- "named": true
4328
- },
4329
- {
4330
- "type": "ifExpr",
4331
- "named": true
4332
- },
4333
- {
4334
- "type": "importExpr",
4335
- "named": true
4336
- },
4337
- {
4338
- "type": "importGlobExpr",
4339
- "named": true
4340
- },
4341
- {
4342
- "type": "intLiteral",
4343
- "named": true
4344
- },
4345
- {
4346
- "type": "isExpr",
4347
- "named": true
4348
- },
4349
- {
4350
- "type": "letExpr",
4351
- "named": true
4352
- },
4353
- {
4354
- "type": "methodCallExpr",
4355
- "named": true
4356
- },
4357
- {
4358
- "type": "mlStringLiteral",
4359
- "named": true
4360
- },
4361
- {
4362
- "type": "moduleExpr",
4363
- "named": true
4364
- },
4365
- {
4366
- "type": "newExpr",
4367
- "named": true
4368
- },
4369
- {
4370
- "type": "nullLiteral",
4371
- "named": true
4372
- },
4373
- {
4374
- "type": "objectLiteral",
4375
- "named": true
4376
- },
4377
- {
4378
- "type": "outerExpr",
4379
- "named": true
4380
- },
4381
- {
4382
- "type": "parenthesizedExpr",
4383
- "named": true
4384
- },
4385
- {
4386
- "type": "propertyCallExpr",
4387
- "named": true
4388
- },
4389
- {
4390
- "type": "readExpr",
4391
- "named": true
4392
- },
4393
- {
4394
- "type": "readGlobExpr",
4395
- "named": true
4396
- },
4397
- {
4398
- "type": "readOrNullExpr",
4399
- "named": true
4400
- },
4401
- {
4402
- "type": "slStringLiteral",
4403
- "named": true
4404
- },
4405
- {
4406
- "type": "subscriptExpr",
4407
- "named": true
4408
- },
4409
- {
4410
- "type": "thisExpr",
4411
- "named": true
4412
- },
4413
- {
4414
- "type": "throwExpr",
4415
- "named": true
4416
- },
4417
- {
4418
- "type": "traceExpr",
4419
- "named": true
4420
- },
4421
- {
4422
- "type": "trueLiteral",
4423
- "named": true
4424
- },
4425
- {
4426
- "type": "unaryExpr",
4427
- "named": true
4428
- },
4429
- {
4430
- "type": "variableExpr",
4431
- "named": true
4432
- },
4433
- {
4434
- "type": "variableObjectLiteral",
4435
- "named": true
4436
- }
4437
- ]
4438
- }
4439
- },
4440
- {
4441
- "type": "traceExpr",
4442
- "named": true,
4443
- "fields": {},
4444
- "children": {
4445
- "multiple": false,
4446
- "required": true,
4447
- "types": [
4448
- {
4449
- "type": "asExpr",
4450
- "named": true
4451
- },
4452
- {
4453
- "type": "binaryExpr",
4454
- "named": true
4455
- },
4456
- {
4457
- "type": "binaryExprRightAssoc",
4458
- "named": true
4459
- },
4460
- {
4461
- "type": "falseLiteral",
4462
- "named": true
4463
- },
4464
- {
4465
- "type": "floatLiteral",
4466
- "named": true
4467
- },
4468
- {
4469
- "type": "functionLiteral",
4470
- "named": true
4471
- },
4472
- {
4473
- "type": "ifExpr",
4474
- "named": true
4475
- },
4476
- {
4477
- "type": "importExpr",
4478
- "named": true
4479
- },
4480
- {
4481
- "type": "importGlobExpr",
4482
- "named": true
4483
- },
4484
- {
4485
- "type": "intLiteral",
4486
- "named": true
4487
- },
4488
- {
4489
- "type": "isExpr",
4490
- "named": true
4491
- },
4492
- {
4493
- "type": "letExpr",
4494
- "named": true
4495
- },
4496
- {
4497
- "type": "methodCallExpr",
4498
- "named": true
4499
- },
4500
- {
4501
- "type": "mlStringLiteral",
4502
- "named": true
4503
- },
4504
- {
4505
- "type": "moduleExpr",
4506
- "named": true
4507
- },
4508
- {
4509
- "type": "newExpr",
4510
- "named": true
4511
- },
4512
- {
4513
- "type": "nullLiteral",
4514
- "named": true
4515
- },
4516
- {
4517
- "type": "objectLiteral",
4518
- "named": true
4519
- },
4520
- {
4521
- "type": "outerExpr",
4522
- "named": true
4523
- },
4524
- {
4525
- "type": "parenthesizedExpr",
4526
- "named": true
4527
- },
4528
- {
4529
- "type": "propertyCallExpr",
4530
- "named": true
4531
- },
4532
- {
4533
- "type": "readExpr",
4534
- "named": true
4535
- },
4536
- {
4537
- "type": "readGlobExpr",
4538
- "named": true
4539
- },
4540
- {
4541
- "type": "readOrNullExpr",
4542
- "named": true
4543
- },
4544
- {
4545
- "type": "slStringLiteral",
4546
- "named": true
4547
- },
4548
- {
4549
- "type": "subscriptExpr",
4550
- "named": true
4551
- },
4552
- {
4553
- "type": "thisExpr",
4554
- "named": true
4555
- },
4556
- {
4557
- "type": "throwExpr",
4558
- "named": true
4559
- },
4560
- {
4561
- "type": "traceExpr",
4562
- "named": true
4563
- },
4564
- {
4565
- "type": "trueLiteral",
4566
- "named": true
4567
- },
4568
- {
4569
- "type": "unaryExpr",
4570
- "named": true
4571
- },
4572
- {
4573
- "type": "variableExpr",
4574
- "named": true
4575
- },
4576
- {
4577
- "type": "variableObjectLiteral",
4578
- "named": true
4579
- }
4580
- ]
4581
- }
4582
- },
4583
- {
4584
- "type": "type",
4585
- "named": true,
4586
- "fields": {},
4587
- "children": {
4588
- "multiple": true,
4589
- "required": false,
4590
- "types": [
4591
- {
4592
- "type": "asExpr",
4593
- "named": true
4594
- },
4595
- {
4596
- "type": "binaryExpr",
4597
- "named": true
4598
- },
4599
- {
4600
- "type": "binaryExprRightAssoc",
4601
- "named": true
4602
- },
4603
- {
4604
- "type": "falseLiteral",
4605
- "named": true
4606
- },
4607
- {
4608
- "type": "floatLiteral",
4609
- "named": true
4610
- },
4611
- {
4612
- "type": "functionLiteral",
4613
- "named": true
4614
- },
4615
- {
4616
- "type": "ifExpr",
4617
- "named": true
4618
- },
4619
- {
4620
- "type": "importExpr",
4621
- "named": true
4622
- },
4623
- {
4624
- "type": "importGlobExpr",
4625
- "named": true
4626
- },
4627
- {
4628
- "type": "intLiteral",
4629
- "named": true
4630
- },
4631
- {
4632
- "type": "isExpr",
4633
- "named": true
4634
- },
4635
- {
4636
- "type": "letExpr",
4637
- "named": true
4638
- },
4639
- {
4640
- "type": "methodCallExpr",
4641
- "named": true
4642
- },
4643
- {
4644
- "type": "mlStringLiteral",
4645
- "named": true
4646
- },
4647
- {
4648
- "type": "moduleExpr",
4649
- "named": true
4650
- },
4651
- {
4652
- "type": "newExpr",
4653
- "named": true
4654
- },
4655
- {
4656
- "type": "nullLiteral",
4657
- "named": true
4658
- },
4659
- {
4660
- "type": "objectLiteral",
4661
- "named": true
4662
- },
4663
- {
4664
- "type": "outerExpr",
4665
- "named": true
4666
- },
4667
- {
4668
- "type": "parenthesizedExpr",
4669
- "named": true
4670
- },
4671
- {
4672
- "type": "propertyCallExpr",
4673
- "named": true
4674
- },
4675
- {
4676
- "type": "qualifiedIdentifier",
4677
- "named": true
4678
- },
4679
- {
4680
- "type": "readExpr",
4681
- "named": true
4682
- },
4683
- {
4684
- "type": "readGlobExpr",
4685
- "named": true
4686
- },
4687
- {
4688
- "type": "readOrNullExpr",
4689
- "named": true
4690
- },
4691
- {
4692
- "type": "slStringLiteral",
4693
- "named": true
4694
- },
4695
- {
4696
- "type": "stringConstant",
4697
- "named": true
4698
- },
4699
- {
4700
- "type": "subscriptExpr",
4701
- "named": true
4702
- },
4703
- {
4704
- "type": "thisExpr",
4705
- "named": true
4706
- },
4707
- {
4708
- "type": "throwExpr",
4709
- "named": true
4710
- },
4711
- {
4712
- "type": "traceExpr",
4713
- "named": true
4714
- },
4715
- {
4716
- "type": "trueLiteral",
4717
- "named": true
4718
- },
4719
- {
4720
- "type": "type",
4721
- "named": true
4722
- },
4723
- {
4724
- "type": "typeArgumentList",
4725
- "named": true
4726
- },
4727
- {
4728
- "type": "unaryExpr",
4729
- "named": true
4730
- },
4731
- {
4732
- "type": "variableExpr",
4733
- "named": true
4734
- },
4735
- {
4736
- "type": "variableObjectLiteral",
4737
- "named": true
4738
- }
4739
- ]
4740
- }
4741
- },
4742
- {
4743
- "type": "typeAlias",
4744
- "named": true,
4745
- "fields": {},
4746
- "children": {
4747
- "multiple": true,
4748
- "required": true,
4749
- "types": [
4750
- {
4751
- "type": "annotation",
4752
- "named": true
4753
- },
4754
- {
4755
- "type": "identifier",
4756
- "named": true
4757
- },
4758
- {
4759
- "type": "modifier",
4760
- "named": true
4761
- },
4762
- {
4763
- "type": "type",
4764
- "named": true
4765
- },
4766
- {
4767
- "type": "typeParameterList",
4768
- "named": true
4769
- }
4770
- ]
4771
- }
4772
- },
4773
- {
4774
- "type": "typeAnnotation",
4775
- "named": true,
4776
- "fields": {},
4777
- "children": {
4778
- "multiple": false,
4779
- "required": true,
4780
- "types": [
4781
- {
4782
- "type": "type",
5480
+ "type": "type",
4783
5481
  "named": true
4784
5482
  }
4785
5483
  ]
@@ -4993,7 +5691,7 @@
4993
5691
  }
4994
5692
  },
4995
5693
  {
4996
- "type": "variableExpr",
5694
+ "type": "unionDefaultType",
4997
5695
  "named": true,
4998
5696
  "fields": {},
4999
5697
  "children": {
@@ -5001,14 +5699,14 @@
5001
5699
  "required": true,
5002
5700
  "types": [
5003
5701
  {
5004
- "type": "identifier",
5702
+ "type": "type",
5005
5703
  "named": true
5006
5704
  }
5007
5705
  ]
5008
5706
  }
5009
5707
  },
5010
5708
  {
5011
- "type": "variableObjectLiteral",
5709
+ "type": "unionType",
5012
5710
  "named": true,
5013
5711
  "fields": {},
5014
5712
  "children": {
@@ -5016,18 +5714,29 @@
5016
5714
  "required": true,
5017
5715
  "types": [
5018
5716
  {
5019
- "type": "identifier",
5717
+ "type": "type",
5020
5718
  "named": true
5021
- },
5719
+ }
5720
+ ]
5721
+ }
5722
+ },
5723
+ {
5724
+ "type": "variableExpr",
5725
+ "named": true,
5726
+ "fields": {},
5727
+ "children": {
5728
+ "multiple": false,
5729
+ "required": true,
5730
+ "types": [
5022
5731
  {
5023
- "type": "objectBody",
5732
+ "type": "identifier",
5024
5733
  "named": true
5025
5734
  }
5026
5735
  ]
5027
5736
  }
5028
5737
  },
5029
5738
  {
5030
- "type": "whenGenerator",
5739
+ "type": "variableObjectLiteral",
5031
5740
  "named": true,
5032
5741
  "fields": {},
5033
5742
  "children": {
@@ -5035,176 +5744,184 @@
5035
5744
  "required": true,
5036
5745
  "types": [
5037
5746
  {
5038
- "type": "asExpr",
5039
- "named": true
5040
- },
5041
- {
5042
- "type": "binaryExpr",
5043
- "named": true
5044
- },
5045
- {
5046
- "type": "binaryExprRightAssoc",
5047
- "named": true
5048
- },
5049
- {
5050
- "type": "falseLiteral",
5051
- "named": true
5052
- },
5053
- {
5054
- "type": "floatLiteral",
5055
- "named": true
5056
- },
5057
- {
5058
- "type": "forGenerator",
5059
- "named": true
5060
- },
5061
- {
5062
- "type": "functionLiteral",
5063
- "named": true
5064
- },
5065
- {
5066
- "type": "ifExpr",
5067
- "named": true
5068
- },
5069
- {
5070
- "type": "importExpr",
5071
- "named": true
5072
- },
5073
- {
5074
- "type": "importGlobExpr",
5075
- "named": true
5076
- },
5077
- {
5078
- "type": "intLiteral",
5079
- "named": true
5080
- },
5081
- {
5082
- "type": "isExpr",
5083
- "named": true
5084
- },
5085
- {
5086
- "type": "letExpr",
5087
- "named": true
5088
- },
5089
- {
5090
- "type": "methodCallExpr",
5091
- "named": true
5092
- },
5093
- {
5094
- "type": "mlStringLiteral",
5095
- "named": true
5096
- },
5097
- {
5098
- "type": "moduleExpr",
5099
- "named": true
5100
- },
5101
- {
5102
- "type": "newExpr",
5103
- "named": true
5104
- },
5105
- {
5106
- "type": "nullLiteral",
5747
+ "type": "identifier",
5107
5748
  "named": true
5108
5749
  },
5109
5750
  {
5110
5751
  "type": "objectBody",
5111
5752
  "named": true
5112
- },
5113
- {
5114
- "type": "objectElement",
5115
- "named": true
5116
- },
5117
- {
5118
- "type": "objectEntry",
5119
- "named": true
5120
- },
5121
- {
5122
- "type": "objectLiteral",
5123
- "named": true
5124
- },
5125
- {
5126
- "type": "objectMethod",
5127
- "named": true
5128
- },
5129
- {
5130
- "type": "objectPredicate",
5131
- "named": true
5132
- },
5133
- {
5134
- "type": "objectProperty",
5135
- "named": true
5136
- },
5137
- {
5138
- "type": "objectSpread",
5139
- "named": true
5140
- },
5141
- {
5142
- "type": "outerExpr",
5143
- "named": true
5144
- },
5145
- {
5146
- "type": "parenthesizedExpr",
5147
- "named": true
5148
- },
5149
- {
5150
- "type": "propertyCallExpr",
5151
- "named": true
5152
- },
5153
- {
5154
- "type": "readExpr",
5155
- "named": true
5156
- },
5157
- {
5158
- "type": "readGlobExpr",
5159
- "named": true
5160
- },
5161
- {
5162
- "type": "readOrNullExpr",
5163
- "named": true
5164
- },
5165
- {
5166
- "type": "slStringLiteral",
5167
- "named": true
5168
- },
5169
- {
5170
- "type": "subscriptExpr",
5171
- "named": true
5172
- },
5173
- {
5174
- "type": "thisExpr",
5175
- "named": true
5176
- },
5177
- {
5178
- "type": "throwExpr",
5179
- "named": true
5180
- },
5181
- {
5182
- "type": "traceExpr",
5183
- "named": true
5184
- },
5185
- {
5186
- "type": "trueLiteral",
5187
- "named": true
5188
- },
5189
- {
5190
- "type": "unaryExpr",
5191
- "named": true
5192
- },
5193
- {
5194
- "type": "variableExpr",
5195
- "named": true
5196
- },
5197
- {
5198
- "type": "variableObjectLiteral",
5199
- "named": true
5200
- },
5201
- {
5202
- "type": "whenGenerator",
5203
- "named": true
5204
5753
  }
5205
5754
  ]
5206
5755
  }
5207
5756
  },
5757
+ {
5758
+ "type": "whenGenerator",
5759
+ "named": true,
5760
+ "fields": {
5761
+ "conditionExpr": {
5762
+ "multiple": false,
5763
+ "required": true,
5764
+ "types": [
5765
+ {
5766
+ "type": "asExpr",
5767
+ "named": true
5768
+ },
5769
+ {
5770
+ "type": "binaryExpr",
5771
+ "named": true
5772
+ },
5773
+ {
5774
+ "type": "binaryExprRightAssoc",
5775
+ "named": true
5776
+ },
5777
+ {
5778
+ "type": "falseLiteral",
5779
+ "named": true
5780
+ },
5781
+ {
5782
+ "type": "floatLiteral",
5783
+ "named": true
5784
+ },
5785
+ {
5786
+ "type": "functionLiteral",
5787
+ "named": true
5788
+ },
5789
+ {
5790
+ "type": "ifExpr",
5791
+ "named": true
5792
+ },
5793
+ {
5794
+ "type": "importExpr",
5795
+ "named": true
5796
+ },
5797
+ {
5798
+ "type": "importGlobExpr",
5799
+ "named": true
5800
+ },
5801
+ {
5802
+ "type": "intLiteral",
5803
+ "named": true
5804
+ },
5805
+ {
5806
+ "type": "isExpr",
5807
+ "named": true
5808
+ },
5809
+ {
5810
+ "type": "letExpr",
5811
+ "named": true
5812
+ },
5813
+ {
5814
+ "type": "methodCallExpr",
5815
+ "named": true
5816
+ },
5817
+ {
5818
+ "type": "mlStringLiteral",
5819
+ "named": true
5820
+ },
5821
+ {
5822
+ "type": "moduleExpr",
5823
+ "named": true
5824
+ },
5825
+ {
5826
+ "type": "newExpr",
5827
+ "named": true
5828
+ },
5829
+ {
5830
+ "type": "nullLiteral",
5831
+ "named": true
5832
+ },
5833
+ {
5834
+ "type": "objectLiteral",
5835
+ "named": true
5836
+ },
5837
+ {
5838
+ "type": "outerExpr",
5839
+ "named": true
5840
+ },
5841
+ {
5842
+ "type": "parenthesizedExpr",
5843
+ "named": true
5844
+ },
5845
+ {
5846
+ "type": "propertyCallExpr",
5847
+ "named": true
5848
+ },
5849
+ {
5850
+ "type": "readExpr",
5851
+ "named": true
5852
+ },
5853
+ {
5854
+ "type": "readGlobExpr",
5855
+ "named": true
5856
+ },
5857
+ {
5858
+ "type": "readOrNullExpr",
5859
+ "named": true
5860
+ },
5861
+ {
5862
+ "type": "slStringLiteral",
5863
+ "named": true
5864
+ },
5865
+ {
5866
+ "type": "subscriptExpr",
5867
+ "named": true
5868
+ },
5869
+ {
5870
+ "type": "thisExpr",
5871
+ "named": true
5872
+ },
5873
+ {
5874
+ "type": "throwExpr",
5875
+ "named": true
5876
+ },
5877
+ {
5878
+ "type": "traceExpr",
5879
+ "named": true
5880
+ },
5881
+ {
5882
+ "type": "trueLiteral",
5883
+ "named": true
5884
+ },
5885
+ {
5886
+ "type": "unaryExpr",
5887
+ "named": true
5888
+ },
5889
+ {
5890
+ "type": "variableExpr",
5891
+ "named": true
5892
+ },
5893
+ {
5894
+ "type": "variableObjectLiteral",
5895
+ "named": true
5896
+ }
5897
+ ]
5898
+ },
5899
+ "elseBody": {
5900
+ "multiple": false,
5901
+ "required": false,
5902
+ "types": [
5903
+ {
5904
+ "type": "objectBody",
5905
+ "named": true
5906
+ }
5907
+ ]
5908
+ },
5909
+ "thenBody": {
5910
+ "multiple": false,
5911
+ "required": true,
5912
+ "types": [
5913
+ {
5914
+ "type": "objectBody",
5915
+ "named": true
5916
+ }
5917
+ ]
5918
+ }
5919
+ }
5920
+ },
5921
+ {
5922
+ "type": "\n",
5923
+ "named": false
5924
+ },
5208
5925
  {
5209
5926
  "type": "!",
5210
5927
  "named": false
@@ -5273,6 +5990,10 @@
5273
5990
  "type": "\"######",
5274
5991
  "named": false
5275
5992
  },
5993
+ {
5994
+ "type": "#!",
5995
+ "named": false
5996
+ },
5276
5997
  {
5277
5998
  "type": "#\"",
5278
5999
  "named": false
@@ -5377,6 +6098,10 @@
5377
6098
  "type": "/",
5378
6099
  "named": false
5379
6100
  },
6101
+ {
6102
+ "type": "//$",
6103
+ "named": false
6104
+ },
5380
6105
  {
5381
6106
  "type": ":",
5382
6107
  "named": false
@@ -5421,6 +6146,10 @@
5421
6146
  "type": "@",
5422
6147
  "named": false
5423
6148
  },
6149
+ {
6150
+ "type": "[",
6151
+ "named": false
6152
+ },
5424
6153
  {
5425
6154
  "type": "[[",
5426
6155
  "named": false
@@ -5485,10 +6214,6 @@
5485
6214
  "type": "const",
5486
6215
  "named": false
5487
6216
  },
5488
- {
5489
- "type": "docComment",
5490
- "named": true
5491
- },
5492
6217
  {
5493
6218
  "type": "else",
5494
6219
  "named": false
@@ -5561,10 +6286,6 @@
5561
6286
  "type": "let",
5562
6287
  "named": false
5563
6288
  },
5564
- {
5565
- "type": "lineComment",
5566
- "named": true
5567
- },
5568
6289
  {
5569
6290
  "type": "local",
5570
6291
  "named": false
@@ -5573,13 +6294,17 @@
5573
6294
  "type": "module",
5574
6295
  "named": false
5575
6296
  },
6297
+ {
6298
+ "type": "moduleType",
6299
+ "named": true
6300
+ },
5576
6301
  {
5577
6302
  "type": "new",
5578
6303
  "named": false
5579
6304
  },
5580
6305
  {
5581
- "type": "nothing",
5582
- "named": false
6306
+ "type": "nothingType",
6307
+ "named": true
5583
6308
  },
5584
6309
  {
5585
6310
  "type": "nullLiteral",
@@ -5634,8 +6359,8 @@
5634
6359
  "named": false
5635
6360
  },
5636
6361
  {
5637
- "type": "unknown",
5638
- "named": false
6362
+ "type": "unknownType",
6363
+ "named": true
5639
6364
  },
5640
6365
  {
5641
6366
  "type": "when",