@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
package/src/grammar.json CHANGED
@@ -5,6 +5,18 @@
5
5
  "module": {
6
6
  "type": "SEQ",
7
7
  "members": [
8
+ {
9
+ "type": "CHOICE",
10
+ "members": [
11
+ {
12
+ "type": "SYMBOL",
13
+ "name": "shebangComment"
14
+ },
15
+ {
16
+ "type": "BLANK"
17
+ }
18
+ ]
19
+ },
8
20
  {
9
21
  "type": "CHOICE",
10
22
  "members": [
@@ -42,9 +54,34 @@
42
54
  }
43
55
  ]
44
56
  },
57
+ "shebangComment": {
58
+ "type": "SEQ",
59
+ "members": [
60
+ {
61
+ "type": "STRING",
62
+ "value": "#!"
63
+ },
64
+ {
65
+ "type": "PATTERN",
66
+ "value": ".*"
67
+ }
68
+ ]
69
+ },
45
70
  "moduleHeader": {
46
71
  "type": "SEQ",
47
72
  "members": [
73
+ {
74
+ "type": "CHOICE",
75
+ "members": [
76
+ {
77
+ "type": "SYMBOL",
78
+ "name": "docComment"
79
+ },
80
+ {
81
+ "type": "BLANK"
82
+ }
83
+ ]
84
+ },
48
85
  {
49
86
  "type": "REPEAT",
50
87
  "content": {
@@ -218,6 +255,18 @@
218
255
  "clazz": {
219
256
  "type": "SEQ",
220
257
  "members": [
258
+ {
259
+ "type": "CHOICE",
260
+ "members": [
261
+ {
262
+ "type": "SYMBOL",
263
+ "name": "docComment"
264
+ },
265
+ {
266
+ "type": "BLANK"
267
+ }
268
+ ]
269
+ },
221
270
  {
222
271
  "type": "REPEAT",
223
272
  "content": {
@@ -335,6 +384,18 @@
335
384
  "typeAlias": {
336
385
  "type": "SEQ",
337
386
  "members": [
387
+ {
388
+ "type": "CHOICE",
389
+ "members": [
390
+ {
391
+ "type": "SYMBOL",
392
+ "name": "docComment"
393
+ },
394
+ {
395
+ "type": "BLANK"
396
+ }
397
+ ]
398
+ },
338
399
  {
339
400
  "type": "REPEAT",
340
401
  "content": {
@@ -382,6 +443,18 @@
382
443
  "classProperty": {
383
444
  "type": "SEQ",
384
445
  "members": [
446
+ {
447
+ "type": "CHOICE",
448
+ "members": [
449
+ {
450
+ "type": "SYMBOL",
451
+ "name": "docComment"
452
+ },
453
+ {
454
+ "type": "BLANK"
455
+ }
456
+ ]
457
+ },
385
458
  {
386
459
  "type": "REPEAT",
387
460
  "content": {
@@ -456,6 +529,18 @@
456
529
  "classMethod": {
457
530
  "type": "SEQ",
458
531
  "members": [
532
+ {
533
+ "type": "CHOICE",
534
+ "members": [
535
+ {
536
+ "type": "SYMBOL",
537
+ "name": "docComment"
538
+ },
539
+ {
540
+ "type": "BLANK"
541
+ }
542
+ ]
543
+ },
459
544
  {
460
545
  "type": "REPEAT",
461
546
  "content": {
@@ -710,12 +795,16 @@
710
795
  "type": "SEQ",
711
796
  "members": [
712
797
  {
713
- "type": "SYMBOL",
714
- "name": "_open_entry_bracket"
798
+ "type": "STRING",
799
+ "value": "["
715
800
  },
716
801
  {
717
- "type": "SYMBOL",
718
- "name": "_expr"
802
+ "type": "FIELD",
803
+ "name": "key",
804
+ "content": {
805
+ "type": "SYMBOL",
806
+ "name": "_expr"
807
+ }
719
808
  },
720
809
  {
721
810
  "type": "STRING",
@@ -732,8 +821,12 @@
732
821
  "value": "="
733
822
  },
734
823
  {
735
- "type": "SYMBOL",
736
- "name": "_expr"
824
+ "type": "FIELD",
825
+ "name": "valueExpr",
826
+ "content": {
827
+ "type": "SYMBOL",
828
+ "name": "_expr"
829
+ }
737
830
  }
738
831
  ]
739
832
  },
@@ -769,8 +862,12 @@
769
862
  "value": "[["
770
863
  },
771
864
  {
772
- "type": "SYMBOL",
773
- "name": "_expr"
865
+ "type": "FIELD",
866
+ "name": "conditionExpr",
867
+ "content": {
868
+ "type": "SYMBOL",
869
+ "name": "_expr"
870
+ }
774
871
  },
775
872
  {
776
873
  "type": "STRING",
@@ -787,8 +884,12 @@
787
884
  "value": "="
788
885
  },
789
886
  {
790
- "type": "SYMBOL",
791
- "name": "_expr"
887
+ "type": "FIELD",
888
+ "name": "valueExpr",
889
+ "content": {
890
+ "type": "SYMBOL",
891
+ "name": "_expr"
892
+ }
792
893
  }
793
894
  ]
794
895
  },
@@ -852,17 +953,8 @@
852
953
  "value": ")"
853
954
  },
854
955
  {
855
- "type": "CHOICE",
856
- "members": [
857
- {
858
- "type": "SYMBOL",
859
- "name": "objectBody"
860
- },
861
- {
862
- "type": "SYMBOL",
863
- "name": "_objectMember"
864
- }
865
- ]
956
+ "type": "SYMBOL",
957
+ "name": "objectBody"
866
958
  }
867
959
  ]
868
960
  },
@@ -878,23 +970,47 @@
878
970
  "value": "("
879
971
  },
880
972
  {
881
- "type": "SYMBOL",
882
- "name": "_expr"
973
+ "type": "FIELD",
974
+ "name": "conditionExpr",
975
+ "content": {
976
+ "type": "SYMBOL",
977
+ "name": "_expr"
978
+ }
883
979
  },
884
980
  {
885
981
  "type": "STRING",
886
982
  "value": ")"
887
983
  },
984
+ {
985
+ "type": "FIELD",
986
+ "name": "thenBody",
987
+ "content": {
988
+ "type": "SYMBOL",
989
+ "name": "objectBody"
990
+ }
991
+ },
888
992
  {
889
993
  "type": "CHOICE",
890
994
  "members": [
891
995
  {
892
- "type": "SYMBOL",
893
- "name": "objectBody"
996
+ "type": "SEQ",
997
+ "members": [
998
+ {
999
+ "type": "STRING",
1000
+ "value": "else"
1001
+ },
1002
+ {
1003
+ "type": "FIELD",
1004
+ "name": "elseBody",
1005
+ "content": {
1006
+ "type": "SYMBOL",
1007
+ "name": "objectBody"
1008
+ }
1009
+ }
1010
+ ]
894
1011
  },
895
1012
  {
896
- "type": "SYMBOL",
897
- "name": "_objectMember"
1013
+ "type": "BLANK"
898
1014
  }
899
1015
  ]
900
1016
  }
@@ -973,211 +1089,262 @@
973
1089
  "type": "CHOICE",
974
1090
  "members": [
975
1091
  {
976
- "type": "STRING",
977
- "value": "unknown"
1092
+ "type": "ALIAS",
1093
+ "content": {
1094
+ "type": "STRING",
1095
+ "value": "unknown"
1096
+ },
1097
+ "named": true,
1098
+ "value": "unknownType"
978
1099
  },
979
1100
  {
980
- "type": "STRING",
981
- "value": "nothing"
1101
+ "type": "ALIAS",
1102
+ "content": {
1103
+ "type": "STRING",
1104
+ "value": "nothing"
1105
+ },
1106
+ "named": true,
1107
+ "value": "nothingType"
1108
+ },
1109
+ {
1110
+ "type": "ALIAS",
1111
+ "content": {
1112
+ "type": "STRING",
1113
+ "value": "module"
1114
+ },
1115
+ "named": true,
1116
+ "value": "moduleType"
982
1117
  },
983
1118
  {
984
1119
  "type": "SYMBOL",
985
- "name": "stringConstant"
1120
+ "name": "stringLiteralType"
986
1121
  },
987
1122
  {
988
- "type": "SEQ",
989
- "members": [
990
- {
991
- "type": "SYMBOL",
992
- "name": "qualifiedIdentifier"
993
- },
994
- {
995
- "type": "CHOICE",
996
- "members": [
997
- {
998
- "type": "SYMBOL",
999
- "name": "typeArgumentList"
1000
- },
1001
- {
1002
- "type": "BLANK"
1003
- }
1004
- ]
1005
- }
1006
- ]
1123
+ "type": "SYMBOL",
1124
+ "name": "declaredType"
1007
1125
  },
1008
1126
  {
1009
- "type": "SEQ",
1127
+ "type": "SYMBOL",
1128
+ "name": "parenthesizedType"
1129
+ },
1130
+ {
1131
+ "type": "SYMBOL",
1132
+ "name": "nullableType"
1133
+ },
1134
+ {
1135
+ "type": "SYMBOL",
1136
+ "name": "constrainedType"
1137
+ },
1138
+ {
1139
+ "type": "SYMBOL",
1140
+ "name": "unionType"
1141
+ },
1142
+ {
1143
+ "type": "SYMBOL",
1144
+ "name": "unionDefaultType"
1145
+ },
1146
+ {
1147
+ "type": "SYMBOL",
1148
+ "name": "functionLiteralType"
1149
+ }
1150
+ ]
1151
+ },
1152
+ "stringLiteralType": {
1153
+ "type": "SYMBOL",
1154
+ "name": "stringConstant"
1155
+ },
1156
+ "declaredType": {
1157
+ "type": "SEQ",
1158
+ "members": [
1159
+ {
1160
+ "type": "SYMBOL",
1161
+ "name": "qualifiedIdentifier"
1162
+ },
1163
+ {
1164
+ "type": "CHOICE",
1010
1165
  "members": [
1011
- {
1012
- "type": "STRING",
1013
- "value": "("
1014
- },
1015
1166
  {
1016
1167
  "type": "SYMBOL",
1017
- "name": "type"
1168
+ "name": "typeArgumentList"
1018
1169
  },
1019
1170
  {
1020
- "type": "STRING",
1021
- "value": ")"
1171
+ "type": "BLANK"
1022
1172
  }
1023
1173
  ]
1174
+ }
1175
+ ]
1176
+ },
1177
+ "parenthesizedType": {
1178
+ "type": "SEQ",
1179
+ "members": [
1180
+ {
1181
+ "type": "STRING",
1182
+ "value": "("
1024
1183
  },
1025
1184
  {
1026
- "type": "PREC",
1027
- "value": 5,
1028
- "content": {
1029
- "type": "SEQ",
1030
- "members": [
1031
- {
1032
- "type": "SYMBOL",
1033
- "name": "type"
1034
- },
1035
- {
1036
- "type": "STRING",
1037
- "value": "?"
1038
- }
1039
- ]
1185
+ "type": "SYMBOL",
1186
+ "name": "type"
1187
+ },
1188
+ {
1189
+ "type": "STRING",
1190
+ "value": ")"
1191
+ }
1192
+ ]
1193
+ },
1194
+ "nullableType": {
1195
+ "type": "PREC",
1196
+ "value": 5,
1197
+ "content": {
1198
+ "type": "SEQ",
1199
+ "members": [
1200
+ {
1201
+ "type": "SYMBOL",
1202
+ "name": "type"
1203
+ },
1204
+ {
1205
+ "type": "STRING",
1206
+ "value": "?"
1040
1207
  }
1208
+ ]
1209
+ }
1210
+ },
1211
+ "constrainedType": {
1212
+ "type": "SEQ",
1213
+ "members": [
1214
+ {
1215
+ "type": "SYMBOL",
1216
+ "name": "type"
1041
1217
  },
1042
1218
  {
1043
- "type": "SEQ",
1044
- "members": [
1045
- {
1046
- "type": "SYMBOL",
1047
- "name": "type"
1048
- },
1049
- {
1050
- "type": "STRING",
1051
- "value": "("
1052
- },
1053
- {
1054
- "type": "SEQ",
1055
- "members": [
1056
- {
1057
- "type": "SYMBOL",
1058
- "name": "_expr"
1059
- },
1060
- {
1061
- "type": "REPEAT",
1062
- "content": {
1063
- "type": "SEQ",
1064
- "members": [
1065
- {
1066
- "type": "STRING",
1067
- "value": ","
1068
- },
1069
- {
1070
- "type": "SYMBOL",
1071
- "name": "_expr"
1072
- }
1073
- ]
1074
- }
1075
- }
1076
- ]
1219
+ "type": "STRING",
1220
+ "value": "("
1221
+ },
1222
+ {
1223
+ "type": "SEQ",
1224
+ "members": [
1225
+ {
1226
+ "type": "SYMBOL",
1227
+ "name": "_expr"
1077
1228
  },
1078
1229
  {
1079
- "type": "STRING",
1080
- "value": ")"
1230
+ "type": "REPEAT",
1231
+ "content": {
1232
+ "type": "SEQ",
1233
+ "members": [
1234
+ {
1235
+ "type": "STRING",
1236
+ "value": ","
1237
+ },
1238
+ {
1239
+ "type": "SYMBOL",
1240
+ "name": "_expr"
1241
+ }
1242
+ ]
1243
+ }
1081
1244
  }
1082
1245
  ]
1083
1246
  },
1084
1247
  {
1085
- "type": "PREC_LEFT",
1086
- "value": -6,
1087
- "content": {
1088
- "type": "SEQ",
1089
- "members": [
1090
- {
1091
- "type": "SYMBOL",
1092
- "name": "type"
1093
- },
1094
- {
1095
- "type": "STRING",
1096
- "value": "|"
1097
- },
1098
- {
1099
- "type": "SYMBOL",
1100
- "name": "type"
1101
- }
1102
- ]
1248
+ "type": "STRING",
1249
+ "value": ")"
1250
+ }
1251
+ ]
1252
+ },
1253
+ "unionType": {
1254
+ "type": "PREC_LEFT",
1255
+ "value": -7,
1256
+ "content": {
1257
+ "type": "SEQ",
1258
+ "members": [
1259
+ {
1260
+ "type": "SYMBOL",
1261
+ "name": "type"
1262
+ },
1263
+ {
1264
+ "type": "STRING",
1265
+ "value": "|"
1266
+ },
1267
+ {
1268
+ "type": "SYMBOL",
1269
+ "name": "type"
1103
1270
  }
1104
- },
1105
- {
1106
- "type": "PREC",
1107
- "value": -7,
1108
- "content": {
1109
- "type": "SEQ",
1110
- "members": [
1111
- {
1112
- "type": "STRING",
1113
- "value": "*"
1114
- },
1115
- {
1116
- "type": "SYMBOL",
1117
- "name": "type"
1118
- }
1119
- ]
1271
+ ]
1272
+ }
1273
+ },
1274
+ "unionDefaultType": {
1275
+ "type": "PREC",
1276
+ "value": -6,
1277
+ "content": {
1278
+ "type": "SEQ",
1279
+ "members": [
1280
+ {
1281
+ "type": "STRING",
1282
+ "value": "*"
1283
+ },
1284
+ {
1285
+ "type": "SYMBOL",
1286
+ "name": "type"
1120
1287
  }
1121
- },
1122
- {
1123
- "type": "PREC",
1124
- "value": -5,
1125
- "content": {
1126
- "type": "SEQ",
1288
+ ]
1289
+ }
1290
+ },
1291
+ "functionLiteralType": {
1292
+ "type": "PREC",
1293
+ "value": -5,
1294
+ "content": {
1295
+ "type": "SEQ",
1296
+ "members": [
1297
+ {
1298
+ "type": "STRING",
1299
+ "value": "("
1300
+ },
1301
+ {
1302
+ "type": "CHOICE",
1127
1303
  "members": [
1128
1304
  {
1129
- "type": "STRING",
1130
- "value": "("
1131
- },
1132
- {
1133
- "type": "CHOICE",
1305
+ "type": "SEQ",
1134
1306
  "members": [
1135
1307
  {
1136
- "type": "SEQ",
1137
- "members": [
1138
- {
1139
- "type": "SYMBOL",
1140
- "name": "type"
1141
- },
1142
- {
1143
- "type": "REPEAT",
1144
- "content": {
1145
- "type": "SEQ",
1146
- "members": [
1147
- {
1148
- "type": "STRING",
1149
- "value": ","
1150
- },
1151
- {
1152
- "type": "SYMBOL",
1153
- "name": "type"
1154
- }
1155
- ]
1156
- }
1157
- }
1158
- ]
1308
+ "type": "SYMBOL",
1309
+ "name": "type"
1159
1310
  },
1160
1311
  {
1161
- "type": "BLANK"
1312
+ "type": "REPEAT",
1313
+ "content": {
1314
+ "type": "SEQ",
1315
+ "members": [
1316
+ {
1317
+ "type": "STRING",
1318
+ "value": ","
1319
+ },
1320
+ {
1321
+ "type": "SYMBOL",
1322
+ "name": "type"
1323
+ }
1324
+ ]
1325
+ }
1162
1326
  }
1163
1327
  ]
1164
1328
  },
1165
1329
  {
1166
- "type": "STRING",
1167
- "value": ")"
1168
- },
1169
- {
1170
- "type": "STRING",
1171
- "value": "->"
1172
- },
1173
- {
1174
- "type": "SYMBOL",
1175
- "name": "type"
1330
+ "type": "BLANK"
1176
1331
  }
1177
1332
  ]
1333
+ },
1334
+ {
1335
+ "type": "STRING",
1336
+ "value": ")"
1337
+ },
1338
+ {
1339
+ "type": "STRING",
1340
+ "value": "->"
1341
+ },
1342
+ {
1343
+ "type": "SYMBOL",
1344
+ "name": "type"
1178
1345
  }
1179
- }
1180
- ]
1346
+ ]
1347
+ }
1181
1348
  },
1182
1349
  "typeArgumentList": {
1183
1350
  "type": "SEQ",
@@ -1335,7 +1502,12 @@
1335
1502
  "type": "SEQ",
1336
1503
  "members": [
1337
1504
  {
1338
- "type": "STRING",
1505
+ "type": "ALIAS",
1506
+ "content": {
1507
+ "type": "SYMBOL",
1508
+ "name": "_open_argument_paren"
1509
+ },
1510
+ "named": false,
1339
1511
  "value": "("
1340
1512
  },
1341
1513
  {
@@ -1887,11 +2059,8 @@
1887
2059
  "type": "CHOICE",
1888
2060
  "members": [
1889
2061
  {
1890
- "type": "IMMEDIATE_TOKEN",
1891
- "content": {
1892
- "type": "PATTERN",
1893
- "value": "[^\"\\\\\\n\\r]+"
1894
- }
2062
+ "type": "SYMBOL",
2063
+ "name": "slStringLiteralPart"
1895
2064
  },
1896
2065
  {
1897
2066
  "type": "SYMBOL",
@@ -1919,8 +2088,13 @@
1919
2088
  "type": "CHOICE",
1920
2089
  "members": [
1921
2090
  {
1922
- "type": "SYMBOL",
1923
- "name": "_sl1_string_chars"
2091
+ "type": "ALIAS",
2092
+ "content": {
2093
+ "type": "SYMBOL",
2094
+ "name": "slStringLiteralPart1"
2095
+ },
2096
+ "named": true,
2097
+ "value": "slStringLiteralPart"
1924
2098
  },
1925
2099
  {
1926
2100
  "type": "ALIAS",
@@ -1958,11 +2132,8 @@
1958
2132
  "type": "CHOICE",
1959
2133
  "members": [
1960
2134
  {
1961
- "type": "IMMEDIATE_TOKEN",
1962
- "content": {
1963
- "type": "PATTERN",
1964
- "value": "[^\"\\\\\\n\\r]+"
1965
- }
2135
+ "type": "SYMBOL",
2136
+ "name": "slStringLiteralPart"
1966
2137
  },
1967
2138
  {
1968
2139
  "type": "SYMBOL",
@@ -1994,8 +2165,13 @@
1994
2165
  "type": "CHOICE",
1995
2166
  "members": [
1996
2167
  {
1997
- "type": "SYMBOL",
1998
- "name": "_sl1_string_chars"
2168
+ "type": "ALIAS",
2169
+ "content": {
2170
+ "type": "SYMBOL",
2171
+ "name": "slStringLiteralPart1"
2172
+ },
2173
+ "named": true,
2174
+ "value": "slStringLiteralPart"
1999
2175
  },
2000
2176
  {
2001
2177
  "type": "ALIAS",
@@ -2037,8 +2213,13 @@
2037
2213
  "type": "CHOICE",
2038
2214
  "members": [
2039
2215
  {
2040
- "type": "SYMBOL",
2041
- "name": "_sl2_string_chars"
2216
+ "type": "ALIAS",
2217
+ "content": {
2218
+ "type": "SYMBOL",
2219
+ "name": "slStringLiteralPart2"
2220
+ },
2221
+ "named": true,
2222
+ "value": "slStringLiteralPart"
2042
2223
  },
2043
2224
  {
2044
2225
  "type": "ALIAS",
@@ -2080,8 +2261,13 @@
2080
2261
  "type": "CHOICE",
2081
2262
  "members": [
2082
2263
  {
2083
- "type": "SYMBOL",
2084
- "name": "_sl3_string_chars"
2264
+ "type": "ALIAS",
2265
+ "content": {
2266
+ "type": "SYMBOL",
2267
+ "name": "slStringLiteralPart3"
2268
+ },
2269
+ "named": true,
2270
+ "value": "slStringLiteralPart"
2085
2271
  },
2086
2272
  {
2087
2273
  "type": "ALIAS",
@@ -2123,8 +2309,13 @@
2123
2309
  "type": "CHOICE",
2124
2310
  "members": [
2125
2311
  {
2126
- "type": "SYMBOL",
2127
- "name": "_sl4_string_chars"
2312
+ "type": "ALIAS",
2313
+ "content": {
2314
+ "type": "SYMBOL",
2315
+ "name": "slStringLiteralPart4"
2316
+ },
2317
+ "named": true,
2318
+ "value": "slStringLiteralPart"
2128
2319
  },
2129
2320
  {
2130
2321
  "type": "ALIAS",
@@ -2166,8 +2357,13 @@
2166
2357
  "type": "CHOICE",
2167
2358
  "members": [
2168
2359
  {
2169
- "type": "SYMBOL",
2170
- "name": "_sl5_string_chars"
2360
+ "type": "ALIAS",
2361
+ "content": {
2362
+ "type": "SYMBOL",
2363
+ "name": "slStringLiteralPart5"
2364
+ },
2365
+ "named": true,
2366
+ "value": "slStringLiteralPart"
2171
2367
  },
2172
2368
  {
2173
2369
  "type": "ALIAS",
@@ -2209,8 +2405,13 @@
2209
2405
  "type": "CHOICE",
2210
2406
  "members": [
2211
2407
  {
2212
- "type": "SYMBOL",
2213
- "name": "_sl6_string_chars"
2408
+ "type": "ALIAS",
2409
+ "content": {
2410
+ "type": "SYMBOL",
2411
+ "name": "slStringLiteralPart6"
2412
+ },
2413
+ "named": true,
2414
+ "value": "slStringLiteralPart"
2214
2415
  },
2215
2416
  {
2216
2417
  "type": "ALIAS",
@@ -2241,6 +2442,34 @@
2241
2442
  }
2242
2443
  ]
2243
2444
  },
2445
+ "slStringLiteralPart": {
2446
+ "type": "SYMBOL",
2447
+ "name": "_sl_string_chars"
2448
+ },
2449
+ "slStringLiteralPart1": {
2450
+ "type": "SYMBOL",
2451
+ "name": "_sl1_string_chars"
2452
+ },
2453
+ "slStringLiteralPart2": {
2454
+ "type": "SYMBOL",
2455
+ "name": "_sl2_string_chars"
2456
+ },
2457
+ "slStringLiteralPart3": {
2458
+ "type": "SYMBOL",
2459
+ "name": "_sl3_string_chars"
2460
+ },
2461
+ "slStringLiteralPart4": {
2462
+ "type": "SYMBOL",
2463
+ "name": "_sl4_string_chars"
2464
+ },
2465
+ "slStringLiteralPart5": {
2466
+ "type": "SYMBOL",
2467
+ "name": "_sl5_string_chars"
2468
+ },
2469
+ "slStringLiteralPart6": {
2470
+ "type": "SYMBOL",
2471
+ "name": "_sl6_string_chars"
2472
+ },
2244
2473
  "mlStringLiteral": {
2245
2474
  "type": "CHOICE",
2246
2475
  "members": [
@@ -2258,7 +2487,7 @@
2258
2487
  "members": [
2259
2488
  {
2260
2489
  "type": "SYMBOL",
2261
- "name": "_ml_string_chars"
2490
+ "name": "mlStringLiteralPart"
2262
2491
  },
2263
2492
  {
2264
2493
  "type": "SYMBOL",
@@ -2290,8 +2519,13 @@
2290
2519
  "type": "CHOICE",
2291
2520
  "members": [
2292
2521
  {
2293
- "type": "SYMBOL",
2294
- "name": "_ml1_string_chars"
2522
+ "type": "ALIAS",
2523
+ "content": {
2524
+ "type": "SYMBOL",
2525
+ "name": "mlStringLiteralPart1"
2526
+ },
2527
+ "named": true,
2528
+ "value": "mlStringLiteralPart"
2295
2529
  },
2296
2530
  {
2297
2531
  "type": "ALIAS",
@@ -2333,8 +2567,13 @@
2333
2567
  "type": "CHOICE",
2334
2568
  "members": [
2335
2569
  {
2336
- "type": "SYMBOL",
2337
- "name": "_ml2_string_chars"
2570
+ "type": "ALIAS",
2571
+ "content": {
2572
+ "type": "SYMBOL",
2573
+ "name": "mlStringLiteralPart2"
2574
+ },
2575
+ "named": true,
2576
+ "value": "mlStringLiteralPart"
2338
2577
  },
2339
2578
  {
2340
2579
  "type": "ALIAS",
@@ -2376,8 +2615,13 @@
2376
2615
  "type": "CHOICE",
2377
2616
  "members": [
2378
2617
  {
2379
- "type": "SYMBOL",
2380
- "name": "_ml3_string_chars"
2618
+ "type": "ALIAS",
2619
+ "content": {
2620
+ "type": "SYMBOL",
2621
+ "name": "mlStringLiteralPart3"
2622
+ },
2623
+ "named": true,
2624
+ "value": "mlStringLiteralPart"
2381
2625
  },
2382
2626
  {
2383
2627
  "type": "ALIAS",
@@ -2419,8 +2663,13 @@
2419
2663
  "type": "CHOICE",
2420
2664
  "members": [
2421
2665
  {
2422
- "type": "SYMBOL",
2423
- "name": "_ml4_string_chars"
2666
+ "type": "ALIAS",
2667
+ "content": {
2668
+ "type": "SYMBOL",
2669
+ "name": "mlStringLiteralPart4"
2670
+ },
2671
+ "named": true,
2672
+ "value": "mlStringLiteralPart"
2424
2673
  },
2425
2674
  {
2426
2675
  "type": "ALIAS",
@@ -2462,8 +2711,13 @@
2462
2711
  "type": "CHOICE",
2463
2712
  "members": [
2464
2713
  {
2465
- "type": "SYMBOL",
2466
- "name": "_ml5_string_chars"
2714
+ "type": "ALIAS",
2715
+ "content": {
2716
+ "type": "SYMBOL",
2717
+ "name": "mlStringLiteralPart5"
2718
+ },
2719
+ "named": true,
2720
+ "value": "mlStringLiteralPart"
2467
2721
  },
2468
2722
  {
2469
2723
  "type": "ALIAS",
@@ -2505,8 +2759,13 @@
2505
2759
  "type": "CHOICE",
2506
2760
  "members": [
2507
2761
  {
2508
- "type": "SYMBOL",
2509
- "name": "_ml6_string_chars"
2762
+ "type": "ALIAS",
2763
+ "content": {
2764
+ "type": "SYMBOL",
2765
+ "name": "mlStringLiteralPart6"
2766
+ },
2767
+ "named": true,
2768
+ "value": "mlStringLiteralPart"
2510
2769
  },
2511
2770
  {
2512
2771
  "type": "ALIAS",
@@ -2537,6 +2796,34 @@
2537
2796
  }
2538
2797
  ]
2539
2798
  },
2799
+ "mlStringLiteralPart": {
2800
+ "type": "SYMBOL",
2801
+ "name": "_ml_string_chars"
2802
+ },
2803
+ "mlStringLiteralPart1": {
2804
+ "type": "SYMBOL",
2805
+ "name": "_ml1_string_chars"
2806
+ },
2807
+ "mlStringLiteralPart2": {
2808
+ "type": "SYMBOL",
2809
+ "name": "_ml2_string_chars"
2810
+ },
2811
+ "mlStringLiteralPart3": {
2812
+ "type": "SYMBOL",
2813
+ "name": "_ml3_string_chars"
2814
+ },
2815
+ "mlStringLiteralPart4": {
2816
+ "type": "SYMBOL",
2817
+ "name": "_ml4_string_chars"
2818
+ },
2819
+ "mlStringLiteralPart5": {
2820
+ "type": "SYMBOL",
2821
+ "name": "_ml5_string_chars"
2822
+ },
2823
+ "mlStringLiteralPart6": {
2824
+ "type": "SYMBOL",
2825
+ "name": "_ml6_string_chars"
2826
+ },
2540
2827
  "escapeSequence": {
2541
2828
  "type": "IMMEDIATE_TOKEN",
2542
2829
  "content": {
@@ -2904,17 +3191,21 @@
2904
3191
  "type": "SEQ",
2905
3192
  "members": [
2906
3193
  {
2907
- "type": "CHOICE",
2908
- "members": [
2909
- {
2910
- "type": "STRING",
2911
- "value": "super"
2912
- },
2913
- {
2914
- "type": "SYMBOL",
2915
- "name": "_expr"
2916
- }
2917
- ]
3194
+ "type": "FIELD",
3195
+ "name": "receiver",
3196
+ "content": {
3197
+ "type": "CHOICE",
3198
+ "members": [
3199
+ {
3200
+ "type": "STRING",
3201
+ "value": "super"
3202
+ },
3203
+ {
3204
+ "type": "SYMBOL",
3205
+ "name": "_expr"
3206
+ }
3207
+ ]
3208
+ }
2918
3209
  },
2919
3210
  {
2920
3211
  "type": "CHOICE",
@@ -2949,16 +3240,33 @@
2949
3240
  "propertyCallExpr": {
2950
3241
  "type": "SEQ",
2951
3242
  "members": [
3243
+ {
3244
+ "type": "FIELD",
3245
+ "name": "receiver",
3246
+ "content": {
3247
+ "type": "CHOICE",
3248
+ "members": [
3249
+ {
3250
+ "type": "STRING",
3251
+ "value": "super"
3252
+ },
3253
+ {
3254
+ "type": "SYMBOL",
3255
+ "name": "_expr"
3256
+ }
3257
+ ]
3258
+ }
3259
+ },
2952
3260
  {
2953
3261
  "type": "CHOICE",
2954
3262
  "members": [
2955
3263
  {
2956
3264
  "type": "STRING",
2957
- "value": "super"
3265
+ "value": "."
2958
3266
  },
2959
3267
  {
2960
- "type": "SYMBOL",
2961
- "name": "_expr"
3268
+ "type": "STRING",
3269
+ "value": "?."
2962
3270
  }
2963
3271
  ]
2964
3272
  },
@@ -2966,18 +3274,18 @@
2966
3274
  "type": "CHOICE",
2967
3275
  "members": [
2968
3276
  {
2969
- "type": "STRING",
2970
- "value": "."
3277
+ "type": "SYMBOL",
3278
+ "name": "identifier"
2971
3279
  },
2972
3280
  {
2973
- "type": "STRING",
2974
- "value": "?."
3281
+ "type": "FIELD",
3282
+ "name": "err",
3283
+ "content": {
3284
+ "type": "STRING",
3285
+ "value": "\n"
3286
+ }
2975
3287
  }
2976
3288
  ]
2977
- },
2978
- {
2979
- "type": "SYMBOL",
2980
- "name": "identifier"
2981
3289
  }
2982
3290
  ]
2983
3291
  },
@@ -2985,21 +3293,30 @@
2985
3293
  "type": "SEQ",
2986
3294
  "members": [
2987
3295
  {
2988
- "type": "CHOICE",
2989
- "members": [
2990
- {
2991
- "type": "STRING",
2992
- "value": "super"
2993
- },
2994
- {
2995
- "type": "SYMBOL",
2996
- "name": "_expr"
2997
- }
2998
- ]
3296
+ "type": "FIELD",
3297
+ "name": "receiver",
3298
+ "content": {
3299
+ "type": "CHOICE",
3300
+ "members": [
3301
+ {
3302
+ "type": "STRING",
3303
+ "value": "super"
3304
+ },
3305
+ {
3306
+ "type": "SYMBOL",
3307
+ "name": "_expr"
3308
+ }
3309
+ ]
3310
+ }
2999
3311
  },
3000
3312
  {
3001
- "type": "SYMBOL",
3002
- "name": "_open_square_bracket"
3313
+ "type": "ALIAS",
3314
+ "content": {
3315
+ "type": "SYMBOL",
3316
+ "name": "_open_subscript_bracket"
3317
+ },
3318
+ "named": false,
3319
+ "value": "["
3003
3320
  },
3004
3321
  {
3005
3322
  "type": "SYMBOL",
@@ -3081,8 +3398,12 @@
3081
3398
  "name": "_expr"
3082
3399
  },
3083
3400
  {
3084
- "type": "STRING",
3085
- "value": "**"
3401
+ "type": "FIELD",
3402
+ "name": "operator",
3403
+ "content": {
3404
+ "type": "STRING",
3405
+ "value": "**"
3406
+ }
3086
3407
  },
3087
3408
  {
3088
3409
  "type": "SYMBOL",
@@ -3102,8 +3423,12 @@
3102
3423
  "name": "_expr"
3103
3424
  },
3104
3425
  {
3105
- "type": "STRING",
3106
- "value": "??"
3426
+ "type": "FIELD",
3427
+ "name": "operator",
3428
+ "content": {
3429
+ "type": "STRING",
3430
+ "value": "??"
3431
+ }
3107
3432
  },
3108
3433
  {
3109
3434
  "type": "SYMBOL",
@@ -3128,8 +3453,12 @@
3128
3453
  "name": "_expr"
3129
3454
  },
3130
3455
  {
3131
- "type": "STRING",
3132
- "value": "*"
3456
+ "type": "FIELD",
3457
+ "name": "operator",
3458
+ "content": {
3459
+ "type": "STRING",
3460
+ "value": "*"
3461
+ }
3133
3462
  },
3134
3463
  {
3135
3464
  "type": "SYMBOL",
@@ -3149,8 +3478,12 @@
3149
3478
  "name": "_expr"
3150
3479
  },
3151
3480
  {
3152
- "type": "STRING",
3153
- "value": "/"
3481
+ "type": "FIELD",
3482
+ "name": "operator",
3483
+ "content": {
3484
+ "type": "STRING",
3485
+ "value": "/"
3486
+ }
3154
3487
  },
3155
3488
  {
3156
3489
  "type": "SYMBOL",
@@ -3170,8 +3503,12 @@
3170
3503
  "name": "_expr"
3171
3504
  },
3172
3505
  {
3173
- "type": "STRING",
3174
- "value": "~/"
3506
+ "type": "FIELD",
3507
+ "name": "operator",
3508
+ "content": {
3509
+ "type": "STRING",
3510
+ "value": "~/"
3511
+ }
3175
3512
  },
3176
3513
  {
3177
3514
  "type": "SYMBOL",
@@ -3191,8 +3528,12 @@
3191
3528
  "name": "_expr"
3192
3529
  },
3193
3530
  {
3194
- "type": "STRING",
3195
- "value": "%"
3531
+ "type": "FIELD",
3532
+ "name": "operator",
3533
+ "content": {
3534
+ "type": "STRING",
3535
+ "value": "%"
3536
+ }
3196
3537
  },
3197
3538
  {
3198
3539
  "type": "SYMBOL",
@@ -3212,8 +3553,12 @@
3212
3553
  "name": "_expr"
3213
3554
  },
3214
3555
  {
3215
- "type": "STRING",
3216
- "value": "+"
3556
+ "type": "FIELD",
3557
+ "name": "operator",
3558
+ "content": {
3559
+ "type": "STRING",
3560
+ "value": "+"
3561
+ }
3217
3562
  },
3218
3563
  {
3219
3564
  "type": "SYMBOL",
@@ -3233,8 +3578,12 @@
3233
3578
  "name": "_expr"
3234
3579
  },
3235
3580
  {
3236
- "type": "STRING",
3237
- "value": "-"
3581
+ "type": "FIELD",
3582
+ "name": "operator",
3583
+ "content": {
3584
+ "type": "STRING",
3585
+ "value": "-"
3586
+ }
3238
3587
  },
3239
3588
  {
3240
3589
  "type": "SYMBOL",
@@ -3254,8 +3603,12 @@
3254
3603
  "name": "_expr"
3255
3604
  },
3256
3605
  {
3257
- "type": "STRING",
3258
- "value": "<"
3606
+ "type": "FIELD",
3607
+ "name": "operator",
3608
+ "content": {
3609
+ "type": "STRING",
3610
+ "value": "<"
3611
+ }
3259
3612
  },
3260
3613
  {
3261
3614
  "type": "SYMBOL",
@@ -3275,8 +3628,12 @@
3275
3628
  "name": "_expr"
3276
3629
  },
3277
3630
  {
3278
- "type": "STRING",
3279
- "value": "<="
3631
+ "type": "FIELD",
3632
+ "name": "operator",
3633
+ "content": {
3634
+ "type": "STRING",
3635
+ "value": "<="
3636
+ }
3280
3637
  },
3281
3638
  {
3282
3639
  "type": "SYMBOL",
@@ -3296,8 +3653,12 @@
3296
3653
  "name": "_expr"
3297
3654
  },
3298
3655
  {
3299
- "type": "STRING",
3300
- "value": ">="
3656
+ "type": "FIELD",
3657
+ "name": "operator",
3658
+ "content": {
3659
+ "type": "STRING",
3660
+ "value": ">="
3661
+ }
3301
3662
  },
3302
3663
  {
3303
3664
  "type": "SYMBOL",
@@ -3317,8 +3678,12 @@
3317
3678
  "name": "_expr"
3318
3679
  },
3319
3680
  {
3320
- "type": "STRING",
3321
- "value": ">"
3681
+ "type": "FIELD",
3682
+ "name": "operator",
3683
+ "content": {
3684
+ "type": "STRING",
3685
+ "value": ">"
3686
+ }
3322
3687
  },
3323
3688
  {
3324
3689
  "type": "SYMBOL",
@@ -3338,8 +3703,12 @@
3338
3703
  "name": "_expr"
3339
3704
  },
3340
3705
  {
3341
- "type": "STRING",
3342
- "value": "=="
3706
+ "type": "FIELD",
3707
+ "name": "operator",
3708
+ "content": {
3709
+ "type": "STRING",
3710
+ "value": "=="
3711
+ }
3343
3712
  },
3344
3713
  {
3345
3714
  "type": "SYMBOL",
@@ -3359,8 +3728,12 @@
3359
3728
  "name": "_expr"
3360
3729
  },
3361
3730
  {
3362
- "type": "STRING",
3363
- "value": "!="
3731
+ "type": "FIELD",
3732
+ "name": "operator",
3733
+ "content": {
3734
+ "type": "STRING",
3735
+ "value": "!="
3736
+ }
3364
3737
  },
3365
3738
  {
3366
3739
  "type": "SYMBOL",
@@ -3380,8 +3753,12 @@
3380
3753
  "name": "_expr"
3381
3754
  },
3382
3755
  {
3383
- "type": "STRING",
3384
- "value": "&&"
3756
+ "type": "FIELD",
3757
+ "name": "operator",
3758
+ "content": {
3759
+ "type": "STRING",
3760
+ "value": "&&"
3761
+ }
3385
3762
  },
3386
3763
  {
3387
3764
  "type": "SYMBOL",
@@ -3401,8 +3778,12 @@
3401
3778
  "name": "_expr"
3402
3779
  },
3403
3780
  {
3404
- "type": "STRING",
3405
- "value": "||"
3781
+ "type": "FIELD",
3782
+ "name": "operator",
3783
+ "content": {
3784
+ "type": "STRING",
3785
+ "value": "||"
3786
+ }
3406
3787
  },
3407
3788
  {
3408
3789
  "type": "SYMBOL",
@@ -3422,8 +3803,12 @@
3422
3803
  "name": "_expr"
3423
3804
  },
3424
3805
  {
3425
- "type": "STRING",
3426
- "value": "|>"
3806
+ "type": "FIELD",
3807
+ "name": "operator",
3808
+ "content": {
3809
+ "type": "STRING",
3810
+ "value": "|>"
3811
+ }
3427
3812
  },
3428
3813
  {
3429
3814
  "type": "SYMBOL",
@@ -3783,36 +4168,69 @@
3783
4168
  }
3784
4169
  },
3785
4170
  "lineComment": {
3786
- "type": "TOKEN",
3787
- "content": {
3788
- "type": "SEQ",
3789
- "members": [
3790
- {
3791
- "type": "STRING",
3792
- "value": "//"
3793
- },
3794
- {
3795
- "type": "PATTERN",
3796
- "value": ".*"
4171
+ "type": "CHOICE",
4172
+ "members": [
4173
+ {
4174
+ "type": "TOKEN",
4175
+ "content": {
4176
+ "type": "SEQ",
4177
+ "members": [
4178
+ {
4179
+ "type": "PATTERN",
4180
+ "value": "\\/\\/[^\\/]"
4181
+ },
4182
+ {
4183
+ "type": "PATTERN",
4184
+ "value": ".*"
4185
+ }
4186
+ ]
3797
4187
  }
3798
- ]
3799
- }
4188
+ },
4189
+ {
4190
+ "type": "STRING",
4191
+ "value": "//$"
4192
+ }
4193
+ ]
3800
4194
  },
3801
4195
  "docComment": {
3802
- "type": "TOKEN",
3803
- "content": {
3804
- "type": "SEQ",
3805
- "members": [
3806
- {
3807
- "type": "STRING",
3808
- "value": "///"
3809
- },
3810
- {
3811
- "type": "PATTERN",
3812
- "value": ".*"
4196
+ "type": "SEQ",
4197
+ "members": [
4198
+ {
4199
+ "type": "TOKEN",
4200
+ "content": {
4201
+ "type": "SEQ",
4202
+ "members": [
4203
+ {
4204
+ "type": "STRING",
4205
+ "value": "///"
4206
+ },
4207
+ {
4208
+ "type": "PATTERN",
4209
+ "value": ".*"
4210
+ }
4211
+ ]
3813
4212
  }
3814
- ]
3815
- }
4213
+ },
4214
+ {
4215
+ "type": "REPEAT",
4216
+ "content": {
4217
+ "type": "TOKEN",
4218
+ "content": {
4219
+ "type": "SEQ",
4220
+ "members": [
4221
+ {
4222
+ "type": "STRING",
4223
+ "value": "///"
4224
+ },
4225
+ {
4226
+ "type": "PATTERN",
4227
+ "value": ".*"
4228
+ }
4229
+ ]
4230
+ }
4231
+ }
4232
+ }
4233
+ ]
3816
4234
  },
3817
4235
  "blockComment": {
3818
4236
  "type": "TOKEN",
@@ -3842,11 +4260,11 @@
3842
4260
  },
3843
4261
  {
3844
4262
  "type": "SYMBOL",
3845
- "name": "docComment"
4263
+ "name": "blockComment"
3846
4264
  },
3847
4265
  {
3848
4266
  "type": "SYMBOL",
3849
- "name": "blockComment"
4267
+ "name": "shebangComment"
3850
4268
  },
3851
4269
  {
3852
4270
  "type": "PATTERN",
@@ -3854,30 +4272,6 @@
3854
4272
  }
3855
4273
  ],
3856
4274
  "conflicts": [
3857
- [
3858
- "objectProperty",
3859
- "subscriptExpr"
3860
- ],
3861
- [
3862
- "objectMethod",
3863
- "subscriptExpr"
3864
- ],
3865
- [
3866
- "objectEntry",
3867
- "subscriptExpr"
3868
- ],
3869
- [
3870
- "objectPredicate",
3871
- "subscriptExpr"
3872
- ],
3873
- [
3874
- "propertyCallExpr",
3875
- "methodCallExpr"
3876
- ],
3877
- [
3878
- "variableExpr",
3879
- "methodCallExpr"
3880
- ],
3881
4275
  [
3882
4276
  "variableExpr",
3883
4277
  "typedIdentifier"
@@ -3890,11 +4284,15 @@
3890
4284
  "qualifiedIdentifier"
3891
4285
  ],
3892
4286
  [
3893
- "type"
4287
+ "declaredType"
3894
4288
  ]
3895
4289
  ],
3896
4290
  "precedences": [],
3897
4291
  "externals": [
4292
+ {
4293
+ "type": "SYMBOL",
4294
+ "name": "_sl_string_chars"
4295
+ },
3898
4296
  {
3899
4297
  "type": "SYMBOL",
3900
4298
  "name": "_sl1_string_chars"
@@ -3949,14 +4347,13 @@
3949
4347
  },
3950
4348
  {
3951
4349
  "type": "SYMBOL",
3952
- "name": "_open_square_bracket"
4350
+ "name": "_open_subscript_bracket"
3953
4351
  },
3954
4352
  {
3955
4353
  "type": "SYMBOL",
3956
- "name": "_open_entry_bracket"
4354
+ "name": "_open_argument_paren"
3957
4355
  }
3958
4356
  ],
3959
4357
  "inline": [],
3960
4358
  "supertypes": []
3961
4359
  }
3962
-