@dekobon/tree-sitter-groovy 0.4.0 → 0.6.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.
package/src/grammar.json CHANGED
@@ -107,6 +107,10 @@
107
107
  "type": "SYMBOL",
108
108
  "name": "try_statement"
109
109
  },
110
+ {
111
+ "type": "SYMBOL",
112
+ "name": "synchronized_statement"
113
+ },
110
114
  {
111
115
  "type": "SYMBOL",
112
116
  "name": "class_declaration"
@@ -183,8 +187,22 @@
183
187
  "type": "FIELD",
184
188
  "name": "argument",
185
189
  "content": {
186
- "type": "SYMBOL",
187
- "name": "_command_argument"
190
+ "type": "CHOICE",
191
+ "members": [
192
+ {
193
+ "type": "SYMBOL",
194
+ "name": "_command_argument"
195
+ },
196
+ {
197
+ "type": "ALIAS",
198
+ "content": {
199
+ "type": "SYMBOL",
200
+ "name": "_command_named_argument"
201
+ },
202
+ "named": true,
203
+ "value": "named_argument"
204
+ }
205
+ ]
188
206
  }
189
207
  },
190
208
  {
@@ -200,8 +218,31 @@
200
218
  "type": "FIELD",
201
219
  "name": "argument",
202
220
  "content": {
203
- "type": "SYMBOL",
204
- "name": "_command_argument"
221
+ "type": "CHOICE",
222
+ "members": [
223
+ {
224
+ "type": "ALIAS",
225
+ "content": {
226
+ "type": "SYMBOL",
227
+ "name": "_command_named_argument"
228
+ },
229
+ "named": true,
230
+ "value": "named_argument"
231
+ },
232
+ {
233
+ "type": "ALIAS",
234
+ "content": {
235
+ "type": "SYMBOL",
236
+ "name": "_command_continued_named_argument"
237
+ },
238
+ "named": true,
239
+ "value": "named_argument"
240
+ },
241
+ {
242
+ "type": "SYMBOL",
243
+ "name": "_expression"
244
+ }
245
+ ]
205
246
  }
206
247
  }
207
248
  ]
@@ -210,6 +251,64 @@
210
251
  ]
211
252
  }
212
253
  },
254
+ "_command_named_argument": {
255
+ "type": "SEQ",
256
+ "members": [
257
+ {
258
+ "type": "SYMBOL",
259
+ "name": "_command_named_key"
260
+ },
261
+ {
262
+ "type": "FIELD",
263
+ "name": "key",
264
+ "content": {
265
+ "type": "RESERVED",
266
+ "content": {
267
+ "type": "SYMBOL",
268
+ "name": "identifier"
269
+ },
270
+ "context_name": "property"
271
+ }
272
+ },
273
+ {
274
+ "type": "STRING",
275
+ "value": ":"
276
+ },
277
+ {
278
+ "type": "FIELD",
279
+ "name": "value",
280
+ "content": {
281
+ "type": "SYMBOL",
282
+ "name": "_expression"
283
+ }
284
+ }
285
+ ]
286
+ },
287
+ "_command_continued_named_argument": {
288
+ "type": "SEQ",
289
+ "members": [
290
+ {
291
+ "type": "FIELD",
292
+ "name": "key",
293
+ "content": {
294
+ "type": "SYMBOL",
295
+ "name": "identifier"
296
+ }
297
+ },
298
+ {
299
+ "type": "STRING",
300
+ "value": ":"
301
+ },
302
+ {
303
+ "type": "FIELD",
304
+ "name": "value",
305
+ "content": {
306
+ "type": "SYMBOL",
307
+ "name": "_expression"
308
+ }
309
+ }
310
+ ]
311
+ },
213
312
  "_command_argument": {
214
313
  "type": "CHOICE",
215
314
  "members": [
@@ -795,6 +894,39 @@
795
894
  }
796
895
  ]
797
896
  },
897
+ "synchronized_statement": {
898
+ "type": "SEQ",
899
+ "members": [
900
+ {
901
+ "type": "STRING",
902
+ "value": "synchronized"
903
+ },
904
+ {
905
+ "type": "STRING",
906
+ "value": "("
907
+ },
908
+ {
909
+ "type": "FIELD",
910
+ "name": "lock",
911
+ "content": {
912
+ "type": "SYMBOL",
913
+ "name": "_expression"
914
+ }
915
+ },
916
+ {
917
+ "type": "STRING",
918
+ "value": ")"
919
+ },
920
+ {
921
+ "type": "FIELD",
922
+ "name": "body",
923
+ "content": {
924
+ "type": "SYMBOL",
925
+ "name": "block"
926
+ }
927
+ }
928
+ ]
929
+ },
798
930
  "resource_specification": {
799
931
  "type": "SEQ",
800
932
  "members": [
@@ -847,12 +979,8 @@
847
979
  "type": "CHOICE",
848
980
  "members": [
849
981
  {
850
- "type": "FIELD",
851
- "name": "type",
852
- "content": {
853
- "type": "SYMBOL",
854
- "name": "_type"
855
- }
982
+ "type": "STRING",
983
+ "value": "final"
856
984
  },
857
985
  {
858
986
  "type": "BLANK"
@@ -860,12 +988,64 @@
860
988
  ]
861
989
  },
862
990
  {
863
- "type": "FIELD",
864
- "name": "name",
865
- "content": {
866
- "type": "SYMBOL",
867
- "name": "identifier"
868
- }
991
+ "type": "CHOICE",
992
+ "members": [
993
+ {
994
+ "type": "SEQ",
995
+ "members": [
996
+ {
997
+ "type": "CHOICE",
998
+ "members": [
999
+ {
1000
+ "type": "CHOICE",
1001
+ "members": [
1002
+ {
1003
+ "type": "STRING",
1004
+ "value": "def"
1005
+ },
1006
+ {
1007
+ "type": "STRING",
1008
+ "value": "var"
1009
+ },
1010
+ {
1011
+ "type": "FIELD",
1012
+ "name": "type",
1013
+ "content": {
1014
+ "type": "SYMBOL",
1015
+ "name": "_type"
1016
+ }
1017
+ }
1018
+ ]
1019
+ },
1020
+ {
1021
+ "type": "BLANK"
1022
+ }
1023
+ ]
1024
+ },
1025
+ {
1026
+ "type": "FIELD",
1027
+ "name": "name",
1028
+ "content": {
1029
+ "type": "SYMBOL",
1030
+ "name": "identifier"
1031
+ }
1032
+ }
1033
+ ]
1034
+ },
1035
+ {
1036
+ "type": "FIELD",
1037
+ "name": "name",
1038
+ "content": {
1039
+ "type": "ALIAS",
1040
+ "content": {
1041
+ "type": "STRING",
1042
+ "value": "var"
1043
+ },
1044
+ "named": true,
1045
+ "value": "identifier"
1046
+ }
1047
+ }
1048
+ ]
869
1049
  },
870
1050
  {
871
1051
  "type": "STRING",
@@ -921,21 +1101,8 @@
921
1101
  "type": "CHOICE",
922
1102
  "members": [
923
1103
  {
924
- "type": "FIELD",
925
- "name": "type",
926
- "content": {
927
- "type": "CHOICE",
928
- "members": [
929
- {
930
- "type": "SYMBOL",
931
- "name": "_type"
932
- },
933
- {
934
- "type": "SYMBOL",
935
- "name": "multi_type"
936
- }
937
- ]
938
- }
1104
+ "type": "STRING",
1105
+ "value": "final"
939
1106
  },
940
1107
  {
941
1108
  "type": "BLANK"
@@ -943,12 +1110,73 @@
943
1110
  ]
944
1111
  },
945
1112
  {
946
- "type": "FIELD",
947
- "name": "name",
948
- "content": {
949
- "type": "SYMBOL",
950
- "name": "identifier"
951
- }
1113
+ "type": "CHOICE",
1114
+ "members": [
1115
+ {
1116
+ "type": "SEQ",
1117
+ "members": [
1118
+ {
1119
+ "type": "CHOICE",
1120
+ "members": [
1121
+ {
1122
+ "type": "CHOICE",
1123
+ "members": [
1124
+ {
1125
+ "type": "STRING",
1126
+ "value": "def"
1127
+ },
1128
+ {
1129
+ "type": "STRING",
1130
+ "value": "var"
1131
+ },
1132
+ {
1133
+ "type": "FIELD",
1134
+ "name": "type",
1135
+ "content": {
1136
+ "type": "CHOICE",
1137
+ "members": [
1138
+ {
1139
+ "type": "SYMBOL",
1140
+ "name": "_type"
1141
+ },
1142
+ {
1143
+ "type": "SYMBOL",
1144
+ "name": "multi_type"
1145
+ }
1146
+ ]
1147
+ }
1148
+ }
1149
+ ]
1150
+ },
1151
+ {
1152
+ "type": "BLANK"
1153
+ }
1154
+ ]
1155
+ },
1156
+ {
1157
+ "type": "FIELD",
1158
+ "name": "name",
1159
+ "content": {
1160
+ "type": "SYMBOL",
1161
+ "name": "identifier"
1162
+ }
1163
+ }
1164
+ ]
1165
+ },
1166
+ {
1167
+ "type": "FIELD",
1168
+ "name": "name",
1169
+ "content": {
1170
+ "type": "ALIAS",
1171
+ "content": {
1172
+ "type": "STRING",
1173
+ "value": "var"
1174
+ },
1175
+ "named": true,
1176
+ "value": "identifier"
1177
+ }
1178
+ }
1179
+ ]
952
1180
  }
953
1181
  ]
954
1182
  },
@@ -1195,7 +1423,7 @@
1195
1423
  "members": [
1196
1424
  {
1197
1425
  "type": "SYMBOL",
1198
- "name": "permits_clause"
1426
+ "name": "super_interfaces"
1199
1427
  },
1200
1428
  {
1201
1429
  "type": "BLANK"
@@ -1203,15 +1431,27 @@
1203
1431
  ]
1204
1432
  },
1205
1433
  {
1206
- "type": "FIELD",
1207
- "name": "body",
1208
- "content": {
1209
- "type": "SYMBOL",
1210
- "name": "class_body"
1211
- }
1212
- }
1213
- ]
1214
- },
1434
+ "type": "CHOICE",
1435
+ "members": [
1436
+ {
1437
+ "type": "SYMBOL",
1438
+ "name": "permits_clause"
1439
+ },
1440
+ {
1441
+ "type": "BLANK"
1442
+ }
1443
+ ]
1444
+ },
1445
+ {
1446
+ "type": "FIELD",
1447
+ "name": "body",
1448
+ "content": {
1449
+ "type": "SYMBOL",
1450
+ "name": "class_body"
1451
+ }
1452
+ }
1453
+ ]
1454
+ },
1215
1455
  "interface_declaration": {
1216
1456
  "type": "SEQ",
1217
1457
  "members": [
@@ -1607,6 +1847,10 @@
1607
1847
  "type": "SYMBOL",
1608
1848
  "name": "_class_member"
1609
1849
  },
1850
+ {
1851
+ "type": "SYMBOL",
1852
+ "name": "block"
1853
+ },
1610
1854
  {
1611
1855
  "type": "STRING",
1612
1856
  "value": ";"
@@ -1642,6 +1886,26 @@
1642
1886
  {
1643
1887
  "type": "SYMBOL",
1644
1888
  "name": "enum_declaration"
1889
+ },
1890
+ {
1891
+ "type": "SYMBOL",
1892
+ "name": "class_declaration"
1893
+ },
1894
+ {
1895
+ "type": "SYMBOL",
1896
+ "name": "interface_declaration"
1897
+ },
1898
+ {
1899
+ "type": "SYMBOL",
1900
+ "name": "trait_declaration"
1901
+ },
1902
+ {
1903
+ "type": "SYMBOL",
1904
+ "name": "record_declaration"
1905
+ },
1906
+ {
1907
+ "type": "SYMBOL",
1908
+ "name": "annotation_type_declaration"
1645
1909
  }
1646
1910
  ]
1647
1911
  },
@@ -1704,6 +1968,82 @@
1704
1968
  ]
1705
1969
  }
1706
1970
  },
1971
+ "_modified_constructor_declaration": {
1972
+ "type": "PREC_DYNAMIC",
1973
+ "value": 4,
1974
+ "content": {
1975
+ "type": "PREC_RIGHT",
1976
+ "value": 3,
1977
+ "content": {
1978
+ "type": "SEQ",
1979
+ "members": [
1980
+ {
1981
+ "type": "REPEAT",
1982
+ "content": {
1983
+ "type": "SYMBOL",
1984
+ "name": "annotation"
1985
+ }
1986
+ },
1987
+ {
1988
+ "type": "REPEAT1",
1989
+ "content": {
1990
+ "type": "CHOICE",
1991
+ "members": [
1992
+ {
1993
+ "type": "STRING",
1994
+ "value": "public"
1995
+ },
1996
+ {
1997
+ "type": "STRING",
1998
+ "value": "private"
1999
+ },
2000
+ {
2001
+ "type": "STRING",
2002
+ "value": "protected"
2003
+ }
2004
+ ]
2005
+ }
2006
+ },
2007
+ {
2008
+ "type": "FIELD",
2009
+ "name": "name",
2010
+ "content": {
2011
+ "type": "SYMBOL",
2012
+ "name": "identifier"
2013
+ }
2014
+ },
2015
+ {
2016
+ "type": "FIELD",
2017
+ "name": "parameters",
2018
+ "content": {
2019
+ "type": "SYMBOL",
2020
+ "name": "formal_parameters"
2021
+ }
2022
+ },
2023
+ {
2024
+ "type": "CHOICE",
2025
+ "members": [
2026
+ {
2027
+ "type": "SYMBOL",
2028
+ "name": "throws_clause"
2029
+ },
2030
+ {
2031
+ "type": "BLANK"
2032
+ }
2033
+ ]
2034
+ },
2035
+ {
2036
+ "type": "FIELD",
2037
+ "name": "body",
2038
+ "content": {
2039
+ "type": "SYMBOL",
2040
+ "name": "block"
2041
+ }
2042
+ }
2043
+ ]
2044
+ }
2045
+ }
2046
+ },
1707
2047
  "static_initializer": {
1708
2048
  "type": "SEQ",
1709
2049
  "members": [
@@ -1726,7 +2066,7 @@
1726
2066
  "members": [
1727
2067
  {
1728
2068
  "type": "PREC_DYNAMIC",
1729
- "value": 1,
2069
+ "value": 4,
1730
2070
  "content": {
1731
2071
  "type": "SEQ",
1732
2072
  "members": [
@@ -1785,158 +2125,286 @@
1785
2125
  }
1786
2126
  },
1787
2127
  {
1788
- "type": "SEQ",
1789
- "members": [
1790
- {
1791
- "type": "REPEAT",
1792
- "content": {
1793
- "type": "SYMBOL",
1794
- "name": "annotation"
1795
- }
1796
- },
1797
- {
1798
- "type": "REPEAT1",
1799
- "content": {
1800
- "type": "SYMBOL",
1801
- "name": "_modifier"
1802
- }
1803
- },
1804
- {
1805
- "type": "SYMBOL",
1806
- "name": "variable_declarator"
1807
- },
1808
- {
1809
- "type": "REPEAT",
1810
- "content": {
1811
- "type": "SEQ",
1812
- "members": [
1813
- {
1814
- "type": "STRING",
1815
- "value": ","
1816
- },
1817
- {
1818
- "type": "SYMBOL",
1819
- "name": "variable_declarator"
1820
- }
1821
- ]
1822
- }
1823
- }
1824
- ]
1825
- }
1826
- ]
1827
- },
1828
- "method_declaration": {
1829
- "type": "PREC_RIGHT",
1830
- "value": 2,
1831
- "content": {
1832
- "type": "SEQ",
1833
- "members": [
1834
- {
1835
- "type": "REPEAT",
1836
- "content": {
1837
- "type": "SYMBOL",
1838
- "name": "annotation"
1839
- }
1840
- },
1841
- {
1842
- "type": "REPEAT",
1843
- "content": {
1844
- "type": "SYMBOL",
1845
- "name": "_modifier"
1846
- }
1847
- },
1848
- {
1849
- "type": "CHOICE",
2128
+ "type": "PREC_DYNAMIC",
2129
+ "value": -1,
2130
+ "content": {
2131
+ "type": "SEQ",
1850
2132
  "members": [
1851
2133
  {
1852
- "type": "FIELD",
1853
- "name": "type_parameters",
2134
+ "type": "REPEAT",
1854
2135
  "content": {
1855
2136
  "type": "SYMBOL",
1856
- "name": "method_type_parameters"
2137
+ "name": "annotation"
1857
2138
  }
1858
2139
  },
1859
2140
  {
1860
- "type": "BLANK"
1861
- }
1862
- ]
1863
- },
1864
- {
1865
- "type": "CHOICE",
1866
- "members": [
1867
- {
1868
- "type": "STRING",
1869
- "value": "def"
1870
- },
1871
- {
1872
- "type": "FIELD",
1873
- "name": "return_type",
2141
+ "type": "REPEAT1",
1874
2142
  "content": {
1875
2143
  "type": "SYMBOL",
1876
- "name": "_type"
2144
+ "name": "_modifier"
1877
2145
  }
1878
- }
1879
- ]
1880
- },
1881
- {
1882
- "type": "FIELD",
1883
- "name": "name",
1884
- "content": {
1885
- "type": "SYMBOL",
1886
- "name": "_property_name"
1887
- }
1888
- },
1889
- {
1890
- "type": "FIELD",
1891
- "name": "parameters",
1892
- "content": {
1893
- "type": "SYMBOL",
1894
- "name": "formal_parameters"
1895
- }
1896
- },
1897
- {
1898
- "type": "CHOICE",
1899
- "members": [
2146
+ },
1900
2147
  {
1901
2148
  "type": "SYMBOL",
1902
- "name": "throws_clause"
2149
+ "name": "variable_declarator"
1903
2150
  },
1904
2151
  {
1905
- "type": "BLANK"
1906
- }
1907
- ]
1908
- },
1909
- {
1910
- "type": "CHOICE",
1911
- "members": [
1912
- {
1913
- "type": "FIELD",
1914
- "name": "body",
2152
+ "type": "REPEAT",
1915
2153
  "content": {
1916
- "type": "SYMBOL",
1917
- "name": "block"
2154
+ "type": "SEQ",
2155
+ "members": [
2156
+ {
2157
+ "type": "STRING",
2158
+ "value": ","
2159
+ },
2160
+ {
2161
+ "type": "SYMBOL",
2162
+ "name": "variable_declarator"
2163
+ }
2164
+ ]
1918
2165
  }
1919
- },
1920
- {
1921
- "type": "BLANK"
1922
2166
  }
1923
2167
  ]
1924
2168
  }
1925
- ]
1926
- }
2169
+ }
2170
+ ]
1927
2171
  },
1928
- "method_type_parameters": {
1929
- "type": "SEQ",
1930
- "members": [
1931
- {
1932
- "type": "STRING",
1933
- "value": "<"
1934
- },
1935
- {
1936
- "type": "SYMBOL",
1937
- "name": "type_parameter"
1938
- },
1939
- {
2172
+ "method_declaration": {
2173
+ "type": "PREC_RIGHT",
2174
+ "value": 2,
2175
+ "content": {
2176
+ "type": "CHOICE",
2177
+ "members": [
2178
+ {
2179
+ "type": "PREC_DYNAMIC",
2180
+ "value": -1,
2181
+ "content": {
2182
+ "type": "SEQ",
2183
+ "members": [
2184
+ {
2185
+ "type": "REPEAT",
2186
+ "content": {
2187
+ "type": "SYMBOL",
2188
+ "name": "annotation"
2189
+ }
2190
+ },
2191
+ {
2192
+ "type": "CHOICE",
2193
+ "members": [
2194
+ {
2195
+ "type": "SEQ",
2196
+ "members": [
2197
+ {
2198
+ "type": "REPEAT",
2199
+ "content": {
2200
+ "type": "SYMBOL",
2201
+ "name": "_modifier"
2202
+ }
2203
+ },
2204
+ {
2205
+ "type": "CHOICE",
2206
+ "members": [
2207
+ {
2208
+ "type": "FIELD",
2209
+ "name": "type_parameters",
2210
+ "content": {
2211
+ "type": "SYMBOL",
2212
+ "name": "method_type_parameters"
2213
+ }
2214
+ },
2215
+ {
2216
+ "type": "BLANK"
2217
+ }
2218
+ ]
2219
+ },
2220
+ {
2221
+ "type": "CHOICE",
2222
+ "members": [
2223
+ {
2224
+ "type": "STRING",
2225
+ "value": "def"
2226
+ },
2227
+ {
2228
+ "type": "FIELD",
2229
+ "name": "return_type",
2230
+ "content": {
2231
+ "type": "SYMBOL",
2232
+ "name": "_type"
2233
+ }
2234
+ }
2235
+ ]
2236
+ }
2237
+ ]
2238
+ },
2239
+ {
2240
+ "type": "REPEAT1",
2241
+ "content": {
2242
+ "type": "SYMBOL",
2243
+ "name": "_modifier"
2244
+ }
2245
+ }
2246
+ ]
2247
+ },
2248
+ {
2249
+ "type": "FIELD",
2250
+ "name": "name",
2251
+ "content": {
2252
+ "type": "SYMBOL",
2253
+ "name": "_property_name"
2254
+ }
2255
+ },
2256
+ {
2257
+ "type": "FIELD",
2258
+ "name": "parameters",
2259
+ "content": {
2260
+ "type": "SYMBOL",
2261
+ "name": "formal_parameters"
2262
+ }
2263
+ },
2264
+ {
2265
+ "type": "CHOICE",
2266
+ "members": [
2267
+ {
2268
+ "type": "SYMBOL",
2269
+ "name": "throws_clause"
2270
+ },
2271
+ {
2272
+ "type": "BLANK"
2273
+ }
2274
+ ]
2275
+ }
2276
+ ]
2277
+ }
2278
+ },
2279
+ {
2280
+ "type": "PREC_DYNAMIC",
2281
+ "value": 3,
2282
+ "content": {
2283
+ "type": "SEQ",
2284
+ "members": [
2285
+ {
2286
+ "type": "SEQ",
2287
+ "members": [
2288
+ {
2289
+ "type": "REPEAT",
2290
+ "content": {
2291
+ "type": "SYMBOL",
2292
+ "name": "annotation"
2293
+ }
2294
+ },
2295
+ {
2296
+ "type": "CHOICE",
2297
+ "members": [
2298
+ {
2299
+ "type": "SEQ",
2300
+ "members": [
2301
+ {
2302
+ "type": "REPEAT",
2303
+ "content": {
2304
+ "type": "SYMBOL",
2305
+ "name": "_modifier"
2306
+ }
2307
+ },
2308
+ {
2309
+ "type": "CHOICE",
2310
+ "members": [
2311
+ {
2312
+ "type": "FIELD",
2313
+ "name": "type_parameters",
2314
+ "content": {
2315
+ "type": "SYMBOL",
2316
+ "name": "method_type_parameters"
2317
+ }
2318
+ },
2319
+ {
2320
+ "type": "BLANK"
2321
+ }
2322
+ ]
2323
+ },
2324
+ {
2325
+ "type": "CHOICE",
2326
+ "members": [
2327
+ {
2328
+ "type": "STRING",
2329
+ "value": "def"
2330
+ },
2331
+ {
2332
+ "type": "FIELD",
2333
+ "name": "return_type",
2334
+ "content": {
2335
+ "type": "SYMBOL",
2336
+ "name": "_type"
2337
+ }
2338
+ }
2339
+ ]
2340
+ }
2341
+ ]
2342
+ },
2343
+ {
2344
+ "type": "REPEAT1",
2345
+ "content": {
2346
+ "type": "SYMBOL",
2347
+ "name": "_modifier"
2348
+ }
2349
+ }
2350
+ ]
2351
+ },
2352
+ {
2353
+ "type": "FIELD",
2354
+ "name": "name",
2355
+ "content": {
2356
+ "type": "SYMBOL",
2357
+ "name": "_property_name"
2358
+ }
2359
+ },
2360
+ {
2361
+ "type": "FIELD",
2362
+ "name": "parameters",
2363
+ "content": {
2364
+ "type": "SYMBOL",
2365
+ "name": "formal_parameters"
2366
+ }
2367
+ },
2368
+ {
2369
+ "type": "CHOICE",
2370
+ "members": [
2371
+ {
2372
+ "type": "SYMBOL",
2373
+ "name": "throws_clause"
2374
+ },
2375
+ {
2376
+ "type": "BLANK"
2377
+ }
2378
+ ]
2379
+ }
2380
+ ]
2381
+ },
2382
+ {
2383
+ "type": "FIELD",
2384
+ "name": "body",
2385
+ "content": {
2386
+ "type": "SYMBOL",
2387
+ "name": "block"
2388
+ }
2389
+ }
2390
+ ]
2391
+ }
2392
+ }
2393
+ ]
2394
+ }
2395
+ },
2396
+ "method_type_parameters": {
2397
+ "type": "SEQ",
2398
+ "members": [
2399
+ {
2400
+ "type": "STRING",
2401
+ "value": "<"
2402
+ },
2403
+ {
2404
+ "type": "SYMBOL",
2405
+ "name": "type_parameter"
2406
+ },
2407
+ {
1940
2408
  "type": "REPEAT",
1941
2409
  "content": {
1942
2410
  "type": "SEQ",
@@ -2038,70 +2506,204 @@
2038
2506
  ]
2039
2507
  },
2040
2508
  "formal_parameter": {
2041
- "type": "SEQ",
2509
+ "type": "CHOICE",
2042
2510
  "members": [
2043
2511
  {
2044
- "type": "REPEAT",
2045
- "content": {
2046
- "type": "SYMBOL",
2047
- "name": "annotation"
2048
- }
2049
- },
2050
- {
2051
- "type": "CHOICE",
2512
+ "type": "SEQ",
2052
2513
  "members": [
2053
2514
  {
2054
- "type": "FIELD",
2055
- "name": "type",
2515
+ "type": "REPEAT",
2056
2516
  "content": {
2057
- "type": "CHOICE",
2058
- "members": [
2059
- {
2060
- "type": "SYMBOL",
2061
- "name": "_type"
2062
- },
2063
- {
2064
- "type": "SYMBOL",
2065
- "name": "varargs_type"
2066
- }
2067
- ]
2517
+ "type": "SYMBOL",
2518
+ "name": "annotation"
2068
2519
  }
2069
2520
  },
2070
2521
  {
2071
- "type": "BLANK"
2522
+ "type": "CHOICE",
2523
+ "members": [
2524
+ {
2525
+ "type": "STRING",
2526
+ "value": "final"
2527
+ },
2528
+ {
2529
+ "type": "BLANK"
2530
+ }
2531
+ ]
2532
+ },
2533
+ {
2534
+ "type": "CHOICE",
2535
+ "members": [
2536
+ {
2537
+ "type": "SEQ",
2538
+ "members": [
2539
+ {
2540
+ "type": "CHOICE",
2541
+ "members": [
2542
+ {
2543
+ "type": "CHOICE",
2544
+ "members": [
2545
+ {
2546
+ "type": "STRING",
2547
+ "value": "def"
2548
+ },
2549
+ {
2550
+ "type": "STRING",
2551
+ "value": "var"
2552
+ },
2553
+ {
2554
+ "type": "FIELD",
2555
+ "name": "type",
2556
+ "content": {
2557
+ "type": "CHOICE",
2558
+ "members": [
2559
+ {
2560
+ "type": "SYMBOL",
2561
+ "name": "_type"
2562
+ },
2563
+ {
2564
+ "type": "SYMBOL",
2565
+ "name": "varargs_type"
2566
+ }
2567
+ ]
2568
+ }
2569
+ }
2570
+ ]
2571
+ },
2572
+ {
2573
+ "type": "BLANK"
2574
+ }
2575
+ ]
2576
+ },
2577
+ {
2578
+ "type": "FIELD",
2579
+ "name": "name",
2580
+ "content": {
2581
+ "type": "SYMBOL",
2582
+ "name": "identifier"
2583
+ }
2584
+ }
2585
+ ]
2586
+ },
2587
+ {
2588
+ "type": "FIELD",
2589
+ "name": "name",
2590
+ "content": {
2591
+ "type": "ALIAS",
2592
+ "content": {
2593
+ "type": "STRING",
2594
+ "value": "var"
2595
+ },
2596
+ "named": true,
2597
+ "value": "identifier"
2598
+ }
2599
+ }
2600
+ ]
2601
+ },
2602
+ {
2603
+ "type": "CHOICE",
2604
+ "members": [
2605
+ {
2606
+ "type": "SEQ",
2607
+ "members": [
2608
+ {
2609
+ "type": "STRING",
2610
+ "value": "="
2611
+ },
2612
+ {
2613
+ "type": "FIELD",
2614
+ "name": "default",
2615
+ "content": {
2616
+ "type": "SYMBOL",
2617
+ "name": "_expression"
2618
+ }
2619
+ }
2620
+ ]
2621
+ },
2622
+ {
2623
+ "type": "BLANK"
2624
+ }
2625
+ ]
2072
2626
  }
2073
2627
  ]
2074
2628
  },
2075
2629
  {
2076
- "type": "FIELD",
2077
- "name": "name",
2078
- "content": {
2079
- "type": "SYMBOL",
2080
- "name": "identifier"
2081
- }
2082
- },
2083
- {
2084
- "type": "CHOICE",
2630
+ "type": "SEQ",
2085
2631
  "members": [
2086
2632
  {
2087
- "type": "SEQ",
2633
+ "type": "REPEAT1",
2634
+ "content": {
2635
+ "type": "SYMBOL",
2636
+ "name": "annotation"
2637
+ }
2638
+ },
2639
+ {
2640
+ "type": "CHOICE",
2088
2641
  "members": [
2089
- {
2090
- "type": "STRING",
2091
- "value": "="
2092
- },
2093
2642
  {
2094
2643
  "type": "FIELD",
2095
- "name": "default",
2644
+ "name": "name",
2096
2645
  "content": {
2097
- "type": "SYMBOL",
2098
- "name": "_expression"
2646
+ "type": "ALIAS",
2647
+ "content": {
2648
+ "type": "STRING",
2649
+ "value": "_"
2650
+ },
2651
+ "named": true,
2652
+ "value": "identifier"
2099
2653
  }
2654
+ },
2655
+ {
2656
+ "type": "SEQ",
2657
+ "members": [
2658
+ {
2659
+ "type": "FIELD",
2660
+ "name": "type",
2661
+ "content": {
2662
+ "type": "ALIAS",
2663
+ "content": {
2664
+ "type": "STRING",
2665
+ "value": "_"
2666
+ },
2667
+ "named": true,
2668
+ "value": "type_identifier"
2669
+ }
2670
+ },
2671
+ {
2672
+ "type": "FIELD",
2673
+ "name": "name",
2674
+ "content": {
2675
+ "type": "SYMBOL",
2676
+ "name": "identifier"
2677
+ }
2678
+ }
2679
+ ]
2100
2680
  }
2101
2681
  ]
2102
2682
  },
2103
2683
  {
2104
- "type": "BLANK"
2684
+ "type": "CHOICE",
2685
+ "members": [
2686
+ {
2687
+ "type": "SEQ",
2688
+ "members": [
2689
+ {
2690
+ "type": "STRING",
2691
+ "value": "="
2692
+ },
2693
+ {
2694
+ "type": "FIELD",
2695
+ "name": "default",
2696
+ "content": {
2697
+ "type": "SYMBOL",
2698
+ "name": "_expression"
2699
+ }
2700
+ }
2701
+ ]
2702
+ },
2703
+ {
2704
+ "type": "BLANK"
2705
+ }
2706
+ ]
2105
2707
  }
2106
2708
  ]
2107
2709
  }
@@ -2149,6 +2751,18 @@
2149
2751
  "name": "identifier"
2150
2752
  }
2151
2753
  },
2754
+ {
2755
+ "type": "CHOICE",
2756
+ "members": [
2757
+ {
2758
+ "type": "SYMBOL",
2759
+ "name": "super_interfaces"
2760
+ },
2761
+ {
2762
+ "type": "BLANK"
2763
+ }
2764
+ ]
2765
+ },
2152
2766
  {
2153
2767
  "type": "FIELD",
2154
2768
  "name": "body",
@@ -2230,6 +2844,10 @@
2230
2844
  "type": "SYMBOL",
2231
2845
  "name": "_class_member"
2232
2846
  },
2847
+ {
2848
+ "type": "SYMBOL",
2849
+ "name": "block"
2850
+ },
2233
2851
  {
2234
2852
  "type": "STRING",
2235
2853
  "value": ";"
@@ -2255,6 +2873,89 @@
2255
2873
  "type": "SYMBOL",
2256
2874
  "name": "_class_member"
2257
2875
  },
2876
+ {
2877
+ "type": "SYMBOL",
2878
+ "name": "block"
2879
+ },
2880
+ {
2881
+ "type": "STRING",
2882
+ "value": ";"
2883
+ }
2884
+ ]
2885
+ }
2886
+ }
2887
+ ]
2888
+ },
2889
+ {
2890
+ "type": "SEQ",
2891
+ "members": [
2892
+ {
2893
+ "type": "STRING",
2894
+ "value": ","
2895
+ },
2896
+ {
2897
+ "type": "CHOICE",
2898
+ "members": [
2899
+ {
2900
+ "type": "SYMBOL",
2901
+ "name": "method_declaration"
2902
+ },
2903
+ {
2904
+ "type": "SYMBOL",
2905
+ "name": "field_declaration"
2906
+ },
2907
+ {
2908
+ "type": "ALIAS",
2909
+ "content": {
2910
+ "type": "SYMBOL",
2911
+ "name": "_modified_constructor_declaration"
2912
+ },
2913
+ "named": true,
2914
+ "value": "constructor_declaration"
2915
+ },
2916
+ {
2917
+ "type": "SYMBOL",
2918
+ "name": "static_initializer"
2919
+ },
2920
+ {
2921
+ "type": "SYMBOL",
2922
+ "name": "enum_declaration"
2923
+ },
2924
+ {
2925
+ "type": "SYMBOL",
2926
+ "name": "class_declaration"
2927
+ },
2928
+ {
2929
+ "type": "SYMBOL",
2930
+ "name": "interface_declaration"
2931
+ },
2932
+ {
2933
+ "type": "SYMBOL",
2934
+ "name": "trait_declaration"
2935
+ },
2936
+ {
2937
+ "type": "SYMBOL",
2938
+ "name": "record_declaration"
2939
+ },
2940
+ {
2941
+ "type": "SYMBOL",
2942
+ "name": "annotation_type_declaration"
2943
+ }
2944
+ ]
2945
+ },
2946
+ {
2947
+ "type": "REPEAT",
2948
+ "content": {
2949
+ "type": "CHOICE",
2950
+ "members": [
2951
+ {
2952
+ "type": "SYMBOL",
2953
+ "name": "_class_member"
2954
+ },
2955
+ {
2956
+ "type": "SYMBOL",
2957
+ "name": "block"
2958
+ },
2258
2959
  {
2259
2960
  "type": "STRING",
2260
2961
  "value": ";"
@@ -2282,6 +2983,10 @@
2282
2983
  "type": "SYMBOL",
2283
2984
  "name": "_class_member"
2284
2985
  },
2986
+ {
2987
+ "type": "SYMBOL",
2988
+ "name": "block"
2989
+ },
2285
2990
  {
2286
2991
  "type": "STRING",
2287
2992
  "value": ";"
@@ -2298,88 +3003,198 @@
2298
3003
  ]
2299
3004
  },
2300
3005
  "enum_constant": {
2301
- "type": "PREC",
2302
- "value": 1,
2303
- "content": {
2304
- "type": "SEQ",
2305
- "members": [
2306
- {
2307
- "type": "FIELD",
2308
- "name": "name",
2309
- "content": {
2310
- "type": "SYMBOL",
2311
- "name": "identifier"
2312
- }
2313
- },
2314
- {
2315
- "type": "CHOICE",
3006
+ "type": "CHOICE",
3007
+ "members": [
3008
+ {
3009
+ "type": "PREC",
3010
+ "value": 1,
3011
+ "content": {
3012
+ "type": "SEQ",
2316
3013
  "members": [
3014
+ {
3015
+ "type": "REPEAT",
3016
+ "content": {
3017
+ "type": "SYMBOL",
3018
+ "name": "annotation"
3019
+ }
3020
+ },
2317
3021
  {
2318
3022
  "type": "FIELD",
2319
- "name": "arguments",
3023
+ "name": "name",
2320
3024
  "content": {
2321
3025
  "type": "SYMBOL",
2322
- "name": "argument_list"
3026
+ "name": "identifier"
2323
3027
  }
2324
3028
  },
2325
3029
  {
2326
- "type": "BLANK"
3030
+ "type": "CHOICE",
3031
+ "members": [
3032
+ {
3033
+ "type": "FIELD",
3034
+ "name": "arguments",
3035
+ "content": {
3036
+ "type": "SYMBOL",
3037
+ "name": "argument_list"
3038
+ }
3039
+ },
3040
+ {
3041
+ "type": "BLANK"
3042
+ }
3043
+ ]
2327
3044
  }
2328
3045
  ]
2329
3046
  }
2330
- ]
2331
- }
2332
- },
2333
- "record_declaration": {
2334
- "type": "PREC_RIGHT",
2335
- "value": 0,
2336
- "content": {
2337
- "type": "SEQ",
2338
- "members": [
2339
- {
2340
- "type": "REPEAT",
2341
- "content": {
2342
- "type": "SYMBOL",
2343
- "name": "annotation"
2344
- }
2345
- },
2346
- {
2347
- "type": "STRING",
2348
- "value": "record"
2349
- },
2350
- {
2351
- "type": "FIELD",
2352
- "name": "name",
2353
- "content": {
2354
- "type": "SYMBOL",
2355
- "name": "identifier"
2356
- }
2357
- },
2358
- {
2359
- "type": "FIELD",
2360
- "name": "components",
2361
- "content": {
2362
- "type": "SYMBOL",
2363
- "name": "record_components"
2364
- }
2365
- },
2366
- {
2367
- "type": "CHOICE",
3047
+ },
3048
+ {
3049
+ "type": "PREC",
3050
+ "value": -1,
3051
+ "content": {
3052
+ "type": "SEQ",
2368
3053
  "members": [
3054
+ {
3055
+ "type": "REPEAT",
3056
+ "content": {
3057
+ "type": "SYMBOL",
3058
+ "name": "annotation"
3059
+ }
3060
+ },
2369
3061
  {
2370
3062
  "type": "FIELD",
2371
- "name": "body",
3063
+ "name": "name",
2372
3064
  "content": {
3065
+ "type": "ALIAS",
3066
+ "content": {
3067
+ "type": "CHOICE",
3068
+ "members": [
3069
+ {
3070
+ "type": "STRING",
3071
+ "value": "sealed"
3072
+ },
3073
+ {
3074
+ "type": "STRING",
3075
+ "value": "trait"
3076
+ }
3077
+ ]
3078
+ },
3079
+ "named": true,
3080
+ "value": "identifier"
3081
+ }
3082
+ },
3083
+ {
3084
+ "type": "CHOICE",
3085
+ "members": [
3086
+ {
3087
+ "type": "FIELD",
3088
+ "name": "arguments",
3089
+ "content": {
3090
+ "type": "SYMBOL",
3091
+ "name": "argument_list"
3092
+ }
3093
+ },
3094
+ {
3095
+ "type": "BLANK"
3096
+ }
3097
+ ]
3098
+ }
3099
+ ]
3100
+ }
3101
+ }
3102
+ ]
3103
+ },
3104
+ "record_declaration": {
3105
+ "type": "PREC_DYNAMIC",
3106
+ "value": 1,
3107
+ "content": {
3108
+ "type": "PREC_RIGHT",
3109
+ "value": 0,
3110
+ "content": {
3111
+ "type": "SEQ",
3112
+ "members": [
3113
+ {
3114
+ "type": "REPEAT",
3115
+ "content": {
3116
+ "type": "SYMBOL",
3117
+ "name": "annotation"
3118
+ }
3119
+ },
3120
+ {
3121
+ "type": "REPEAT",
3122
+ "content": {
3123
+ "type": "SYMBOL",
3124
+ "name": "_modifier"
3125
+ }
3126
+ },
3127
+ {
3128
+ "type": "ALIAS",
3129
+ "content": {
3130
+ "type": "SYMBOL",
3131
+ "name": "_record_keyword"
3132
+ },
3133
+ "named": false,
3134
+ "value": "record"
3135
+ },
3136
+ {
3137
+ "type": "FIELD",
3138
+ "name": "name",
3139
+ "content": {
3140
+ "type": "SYMBOL",
3141
+ "name": "identifier"
3142
+ }
3143
+ },
3144
+ {
3145
+ "type": "CHOICE",
3146
+ "members": [
3147
+ {
3148
+ "type": "FIELD",
3149
+ "name": "type_parameters",
3150
+ "content": {
3151
+ "type": "SYMBOL",
3152
+ "name": "type_parameters"
3153
+ }
3154
+ },
3155
+ {
3156
+ "type": "BLANK"
3157
+ }
3158
+ ]
3159
+ },
3160
+ {
3161
+ "type": "FIELD",
3162
+ "name": "components",
3163
+ "content": {
3164
+ "type": "SYMBOL",
3165
+ "name": "record_components"
3166
+ }
3167
+ },
3168
+ {
3169
+ "type": "CHOICE",
3170
+ "members": [
3171
+ {
2373
3172
  "type": "SYMBOL",
2374
- "name": "class_body"
3173
+ "name": "super_interfaces"
3174
+ },
3175
+ {
3176
+ "type": "BLANK"
3177
+ }
3178
+ ]
3179
+ },
3180
+ {
3181
+ "type": "CHOICE",
3182
+ "members": [
3183
+ {
3184
+ "type": "FIELD",
3185
+ "name": "body",
3186
+ "content": {
3187
+ "type": "SYMBOL",
3188
+ "name": "class_body"
3189
+ }
3190
+ },
3191
+ {
3192
+ "type": "BLANK"
2375
3193
  }
2376
- },
2377
- {
2378
- "type": "BLANK"
2379
- }
2380
- ]
2381
- }
2382
- ]
3194
+ ]
3195
+ }
3196
+ ]
3197
+ }
2383
3198
  }
2384
3199
  },
2385
3200
  "record_components": {
@@ -2452,6 +3267,13 @@
2452
3267
  "package_declaration": {
2453
3268
  "type": "SEQ",
2454
3269
  "members": [
3270
+ {
3271
+ "type": "REPEAT",
3272
+ "content": {
3273
+ "type": "SYMBOL",
3274
+ "name": "annotation"
3275
+ }
3276
+ },
2455
3277
  {
2456
3278
  "type": "STRING",
2457
3279
  "value": "package"
@@ -2469,6 +3291,13 @@
2469
3291
  "import_declaration": {
2470
3292
  "type": "SEQ",
2471
3293
  "members": [
3294
+ {
3295
+ "type": "REPEAT",
3296
+ "content": {
3297
+ "type": "SYMBOL",
3298
+ "name": "annotation"
3299
+ }
3300
+ },
2472
3301
  {
2473
3302
  "type": "STRING",
2474
3303
  "value": "import"
@@ -2569,6 +3398,25 @@
2569
3398
  {
2570
3399
  "type": "SEQ",
2571
3400
  "members": [
3401
+ {
3402
+ "type": "REPEAT",
3403
+ "content": {
3404
+ "type": "SYMBOL",
3405
+ "name": "annotation"
3406
+ }
3407
+ },
3408
+ {
3409
+ "type": "CHOICE",
3410
+ "members": [
3411
+ {
3412
+ "type": "STRING",
3413
+ "value": "final"
3414
+ },
3415
+ {
3416
+ "type": "BLANK"
3417
+ }
3418
+ ]
3419
+ },
2572
3420
  {
2573
3421
  "type": "CHOICE",
2574
3422
  "members": [
@@ -2604,20 +3452,79 @@
2604
3452
  }
2605
3453
  ]
2606
3454
  },
3455
+ {
3456
+ "type": "PREC_DYNAMIC",
3457
+ "value": 1,
3458
+ "content": {
3459
+ "type": "SEQ",
3460
+ "members": [
3461
+ {
3462
+ "type": "REPEAT",
3463
+ "content": {
3464
+ "type": "SYMBOL",
3465
+ "name": "annotation"
3466
+ }
3467
+ },
3468
+ {
3469
+ "type": "CHOICE",
3470
+ "members": [
3471
+ {
3472
+ "type": "STRING",
3473
+ "value": "final"
3474
+ },
3475
+ {
3476
+ "type": "BLANK"
3477
+ }
3478
+ ]
3479
+ },
3480
+ {
3481
+ "type": "FIELD",
3482
+ "name": "type",
3483
+ "content": {
3484
+ "type": "SYMBOL",
3485
+ "name": "_type"
3486
+ }
3487
+ },
3488
+ {
3489
+ "type": "SYMBOL",
3490
+ "name": "_initialized_declarator"
3491
+ },
3492
+ {
3493
+ "type": "REPEAT",
3494
+ "content": {
3495
+ "type": "SEQ",
3496
+ "members": [
3497
+ {
3498
+ "type": "STRING",
3499
+ "value": ","
3500
+ },
3501
+ {
3502
+ "type": "SYMBOL",
3503
+ "name": "_initialized_declarator"
3504
+ }
3505
+ ]
3506
+ }
3507
+ }
3508
+ ]
3509
+ }
3510
+ },
2607
3511
  {
2608
3512
  "type": "SEQ",
2609
3513
  "members": [
2610
3514
  {
2611
- "type": "FIELD",
2612
- "name": "type",
3515
+ "type": "REPEAT",
2613
3516
  "content": {
2614
3517
  "type": "SYMBOL",
2615
- "name": "_type"
3518
+ "name": "annotation"
2616
3519
  }
2617
3520
  },
3521
+ {
3522
+ "type": "STRING",
3523
+ "value": "final"
3524
+ },
2618
3525
  {
2619
3526
  "type": "SYMBOL",
2620
- "name": "_initialized_declarator"
3527
+ "name": "variable_declarator"
2621
3528
  },
2622
3529
  {
2623
3530
  "type": "REPEAT",
@@ -2630,16 +3537,90 @@
2630
3537
  },
2631
3538
  {
2632
3539
  "type": "SYMBOL",
2633
- "name": "_initialized_declarator"
3540
+ "name": "variable_declarator"
2634
3541
  }
2635
3542
  ]
2636
3543
  }
2637
3544
  }
2638
3545
  ]
3546
+ },
3547
+ {
3548
+ "type": "PREC_DYNAMIC",
3549
+ "value": 2,
3550
+ "content": {
3551
+ "type": "SEQ",
3552
+ "members": [
3553
+ {
3554
+ "type": "REPEAT",
3555
+ "content": {
3556
+ "type": "SYMBOL",
3557
+ "name": "annotation"
3558
+ }
3559
+ },
3560
+ {
3561
+ "type": "STRING",
3562
+ "value": "final"
3563
+ },
3564
+ {
3565
+ "type": "FIELD",
3566
+ "name": "type",
3567
+ "content": {
3568
+ "type": "SYMBOL",
3569
+ "name": "_type"
3570
+ }
3571
+ },
3572
+ {
3573
+ "type": "FIELD",
3574
+ "name": "name",
3575
+ "content": {
3576
+ "type": "SYMBOL",
3577
+ "name": "identifier"
3578
+ }
3579
+ }
3580
+ ]
3581
+ }
3582
+ },
3583
+ {
3584
+ "type": "PREC_DYNAMIC",
3585
+ "value": 2,
3586
+ "content": {
3587
+ "type": "SEQ",
3588
+ "members": [
3589
+ {
3590
+ "type": "REPEAT1",
3591
+ "content": {
3592
+ "type": "SYMBOL",
3593
+ "name": "annotation"
3594
+ }
3595
+ },
3596
+ {
3597
+ "type": "ALIAS",
3598
+ "content": {
3599
+ "type": "SYMBOL",
3600
+ "name": "_placeholder_declarator"
3601
+ },
3602
+ "named": true,
3603
+ "value": "variable_declarator"
3604
+ }
3605
+ ]
3606
+ }
2639
3607
  }
2640
3608
  ]
2641
3609
  }
2642
3610
  },
3611
+ "_placeholder_declarator": {
3612
+ "type": "FIELD",
3613
+ "name": "name",
3614
+ "content": {
3615
+ "type": "ALIAS",
3616
+ "content": {
3617
+ "type": "STRING",
3618
+ "value": "_"
3619
+ },
3620
+ "named": true,
3621
+ "value": "identifier"
3622
+ }
3623
+ },
2643
3624
  "_initialized_declarator": {
2644
3625
  "type": "SEQ",
2645
3626
  "members": [
@@ -2813,6 +3794,18 @@
2813
3794
  "type": "STRING",
2814
3795
  "value": "("
2815
3796
  },
3797
+ {
3798
+ "type": "CHOICE",
3799
+ "members": [
3800
+ {
3801
+ "type": "STRING",
3802
+ "value": "final"
3803
+ },
3804
+ {
3805
+ "type": "BLANK"
3806
+ }
3807
+ ]
3808
+ },
2816
3809
  {
2817
3810
  "type": "CHOICE",
2818
3811
  "members": [
@@ -2891,8 +3884,55 @@
2891
3884
  ]
2892
3885
  },
2893
3886
  "expression_statement": {
2894
- "type": "SYMBOL",
2895
- "name": "_expression"
3887
+ "type": "CHOICE",
3888
+ "members": [
3889
+ {
3890
+ "type": "SYMBOL",
3891
+ "name": "_expression"
3892
+ },
3893
+ {
3894
+ "type": "ALIAS",
3895
+ "content": {
3896
+ "type": "SYMBOL",
3897
+ "name": "_statement_assignment"
3898
+ },
3899
+ "named": true,
3900
+ "value": "assignment_expression"
3901
+ }
3902
+ ]
3903
+ },
3904
+ "_statement_assignment": {
3905
+ "type": "PREC_RIGHT",
3906
+ "value": 1,
3907
+ "content": {
3908
+ "type": "SEQ",
3909
+ "members": [
3910
+ {
3911
+ "type": "FIELD",
3912
+ "name": "left",
3913
+ "content": {
3914
+ "type": "SYMBOL",
3915
+ "name": "identifier"
3916
+ }
3917
+ },
3918
+ {
3919
+ "type": "FIELD",
3920
+ "name": "operator",
3921
+ "content": {
3922
+ "type": "STRING",
3923
+ "value": "="
3924
+ }
3925
+ },
3926
+ {
3927
+ "type": "FIELD",
3928
+ "name": "right",
3929
+ "content": {
3930
+ "type": "SYMBOL",
3931
+ "name": "_expression"
3932
+ }
3933
+ }
3934
+ ]
3935
+ }
2896
3936
  },
2897
3937
  "_expression": {
2898
3938
  "type": "CHOICE",
@@ -3451,24 +4491,13 @@
3451
4491
  "type": "FIELD",
3452
4492
  "name": "operator",
3453
4493
  "content": {
3454
- "type": "TOKEN",
4494
+ "type": "ALIAS",
3455
4495
  "content": {
3456
- "type": "PREC",
3457
- "value": 1,
3458
- "content": {
3459
- "type": "SEQ",
3460
- "members": [
3461
- {
3462
- "type": "STRING",
3463
- "value": "!in"
3464
- },
3465
- {
3466
- "type": "PATTERN",
3467
- "value": "[ \\t\\r\\n\\[({]"
3468
- }
3469
- ]
3470
- }
3471
- }
4496
+ "type": "SYMBOL",
4497
+ "name": "_not_in"
4498
+ },
4499
+ "named": false,
4500
+ "value": "!in"
3472
4501
  }
3473
4502
  },
3474
4503
  {
@@ -3610,6 +4639,22 @@
3610
4639
  "type": "SYMBOL",
3611
4640
  "name": "argument_list"
3612
4641
  }
4642
+ },
4643
+ {
4644
+ "type": "CHOICE",
4645
+ "members": [
4646
+ {
4647
+ "type": "FIELD",
4648
+ "name": "body",
4649
+ "content": {
4650
+ "type": "SYMBOL",
4651
+ "name": "class_body"
4652
+ }
4653
+ },
4654
+ {
4655
+ "type": "BLANK"
4656
+ }
4657
+ ]
3613
4658
  }
3614
4659
  ]
3615
4660
  }
@@ -3675,37 +4720,88 @@
3675
4720
  ]
3676
4721
  },
3677
4722
  "parenthesized_type_cast": {
3678
- "type": "PREC_RIGHT",
3679
- "value": 14,
3680
- "content": {
3681
- "type": "SEQ",
3682
- "members": [
3683
- {
3684
- "type": "STRING",
3685
- "value": "("
3686
- },
3687
- {
3688
- "type": "FIELD",
3689
- "name": "type",
4723
+ "type": "CHOICE",
4724
+ "members": [
4725
+ {
4726
+ "type": "PREC_DYNAMIC",
4727
+ "value": 1,
4728
+ "content": {
4729
+ "type": "PREC_RIGHT",
4730
+ "value": 14,
3690
4731
  "content": {
3691
- "type": "SYMBOL",
3692
- "name": "_type"
4732
+ "type": "SEQ",
4733
+ "members": [
4734
+ {
4735
+ "type": "STRING",
4736
+ "value": "("
4737
+ },
4738
+ {
4739
+ "type": "FIELD",
4740
+ "name": "type",
4741
+ "content": {
4742
+ "type": "SYMBOL",
4743
+ "name": "_type"
4744
+ }
4745
+ },
4746
+ {
4747
+ "type": "ALIAS",
4748
+ "content": {
4749
+ "type": "SYMBOL",
4750
+ "name": "_cast_close"
4751
+ },
4752
+ "named": false,
4753
+ "value": ")"
4754
+ },
4755
+ {
4756
+ "type": "FIELD",
4757
+ "name": "value",
4758
+ "content": {
4759
+ "type": "SYMBOL",
4760
+ "name": "_expression"
4761
+ }
4762
+ }
4763
+ ]
3693
4764
  }
3694
- },
3695
- {
3696
- "type": "STRING",
3697
- "value": ")"
3698
- },
3699
- {
3700
- "type": "FIELD",
3701
- "name": "value",
4765
+ }
4766
+ },
4767
+ {
4768
+ "type": "PREC_DYNAMIC",
4769
+ "value": -1,
4770
+ "content": {
4771
+ "type": "PREC_RIGHT",
4772
+ "value": 14,
3702
4773
  "content": {
3703
- "type": "SYMBOL",
3704
- "name": "_expression"
4774
+ "type": "SEQ",
4775
+ "members": [
4776
+ {
4777
+ "type": "STRING",
4778
+ "value": "("
4779
+ },
4780
+ {
4781
+ "type": "FIELD",
4782
+ "name": "type",
4783
+ "content": {
4784
+ "type": "SYMBOL",
4785
+ "name": "_type"
4786
+ }
4787
+ },
4788
+ {
4789
+ "type": "STRING",
4790
+ "value": ")"
4791
+ },
4792
+ {
4793
+ "type": "FIELD",
4794
+ "name": "value",
4795
+ "content": {
4796
+ "type": "SYMBOL",
4797
+ "name": "_expression"
4798
+ }
4799
+ }
4800
+ ]
3705
4801
  }
3706
4802
  }
3707
- ]
3708
- }
4803
+ }
4804
+ ]
3709
4805
  },
3710
4806
  "_type": {
3711
4807
  "type": "CHOICE",
@@ -3783,7 +4879,12 @@
3783
4879
  "name": "_type"
3784
4880
  },
3785
4881
  {
3786
- "type": "STRING",
4882
+ "type": "ALIAS",
4883
+ "content": {
4884
+ "type": "SYMBOL",
4885
+ "name": "_subscript_open"
4886
+ },
4887
+ "named": false,
3787
4888
  "value": "["
3788
4889
  },
3789
4890
  {
@@ -4098,8 +5199,12 @@
4098
5199
  "type": "CHOICE",
4099
5200
  "members": [
4100
5201
  {
4101
- "type": "SYMBOL",
4102
- "name": "identifier"
5202
+ "type": "RESERVED",
5203
+ "content": {
5204
+ "type": "SYMBOL",
5205
+ "name": "identifier"
5206
+ },
5207
+ "context_name": "property"
4103
5208
  },
4104
5209
  {
4105
5210
  "type": "ALIAS",
@@ -4418,7 +5523,12 @@
4418
5523
  }
4419
5524
  },
4420
5525
  {
4421
- "type": "STRING",
5526
+ "type": "ALIAS",
5527
+ "content": {
5528
+ "type": "SYMBOL",
5529
+ "name": "_subscript_open"
5530
+ },
5531
+ "named": false,
4422
5532
  "value": "["
4423
5533
  },
4424
5534
  {
@@ -6027,89 +7137,278 @@
6027
7137
  }
6028
7138
  },
6029
7139
  {
6030
- "type": "STRING",
6031
- "value": "}"
6032
- }
6033
- ]
6034
- },
6035
- "closure_parameters": {
6036
- "type": "SEQ",
6037
- "members": [
6038
- {
6039
- "type": "CHOICE",
7140
+ "type": "STRING",
7141
+ "value": "}"
7142
+ }
7143
+ ]
7144
+ },
7145
+ "closure_parameters": {
7146
+ "type": "SEQ",
7147
+ "members": [
7148
+ {
7149
+ "type": "CHOICE",
7150
+ "members": [
7151
+ {
7152
+ "type": "SEQ",
7153
+ "members": [
7154
+ {
7155
+ "type": "SYMBOL",
7156
+ "name": "closure_parameter"
7157
+ },
7158
+ {
7159
+ "type": "REPEAT",
7160
+ "content": {
7161
+ "type": "SEQ",
7162
+ "members": [
7163
+ {
7164
+ "type": "STRING",
7165
+ "value": ","
7166
+ },
7167
+ {
7168
+ "type": "SYMBOL",
7169
+ "name": "closure_parameter"
7170
+ }
7171
+ ]
7172
+ }
7173
+ }
7174
+ ]
7175
+ },
7176
+ {
7177
+ "type": "BLANK"
7178
+ }
7179
+ ]
7180
+ },
7181
+ {
7182
+ "type": "STRING",
7183
+ "value": "->"
7184
+ }
7185
+ ]
7186
+ },
7187
+ "closure_parameter": {
7188
+ "type": "CHOICE",
7189
+ "members": [
7190
+ {
7191
+ "type": "SEQ",
7192
+ "members": [
7193
+ {
7194
+ "type": "REPEAT",
7195
+ "content": {
7196
+ "type": "SYMBOL",
7197
+ "name": "annotation"
7198
+ }
7199
+ },
7200
+ {
7201
+ "type": "CHOICE",
7202
+ "members": [
7203
+ {
7204
+ "type": "STRING",
7205
+ "value": "final"
7206
+ },
7207
+ {
7208
+ "type": "BLANK"
7209
+ }
7210
+ ]
7211
+ },
7212
+ {
7213
+ "type": "CHOICE",
7214
+ "members": [
7215
+ {
7216
+ "type": "SEQ",
7217
+ "members": [
7218
+ {
7219
+ "type": "CHOICE",
7220
+ "members": [
7221
+ {
7222
+ "type": "CHOICE",
7223
+ "members": [
7224
+ {
7225
+ "type": "STRING",
7226
+ "value": "def"
7227
+ },
7228
+ {
7229
+ "type": "STRING",
7230
+ "value": "var"
7231
+ },
7232
+ {
7233
+ "type": "FIELD",
7234
+ "name": "type",
7235
+ "content": {
7236
+ "type": "CHOICE",
7237
+ "members": [
7238
+ {
7239
+ "type": "SYMBOL",
7240
+ "name": "_type"
7241
+ },
7242
+ {
7243
+ "type": "SYMBOL",
7244
+ "name": "varargs_type"
7245
+ }
7246
+ ]
7247
+ }
7248
+ }
7249
+ ]
7250
+ },
7251
+ {
7252
+ "type": "BLANK"
7253
+ }
7254
+ ]
7255
+ },
7256
+ {
7257
+ "type": "FIELD",
7258
+ "name": "name",
7259
+ "content": {
7260
+ "type": "SYMBOL",
7261
+ "name": "identifier"
7262
+ }
7263
+ }
7264
+ ]
7265
+ },
7266
+ {
7267
+ "type": "FIELD",
7268
+ "name": "name",
7269
+ "content": {
7270
+ "type": "ALIAS",
7271
+ "content": {
7272
+ "type": "STRING",
7273
+ "value": "var"
7274
+ },
7275
+ "named": true,
7276
+ "value": "identifier"
7277
+ }
7278
+ }
7279
+ ]
7280
+ },
7281
+ {
7282
+ "type": "CHOICE",
7283
+ "members": [
7284
+ {
7285
+ "type": "SEQ",
7286
+ "members": [
7287
+ {
7288
+ "type": "STRING",
7289
+ "value": "="
7290
+ },
7291
+ {
7292
+ "type": "FIELD",
7293
+ "name": "default",
7294
+ "content": {
7295
+ "type": "SYMBOL",
7296
+ "name": "_expression"
7297
+ }
7298
+ }
7299
+ ]
7300
+ },
7301
+ {
7302
+ "type": "BLANK"
7303
+ }
7304
+ ]
7305
+ }
7306
+ ]
7307
+ },
7308
+ {
7309
+ "type": "SEQ",
6040
7310
  "members": [
6041
7311
  {
6042
- "type": "SEQ",
7312
+ "type": "REPEAT1",
7313
+ "content": {
7314
+ "type": "SYMBOL",
7315
+ "name": "annotation"
7316
+ }
7317
+ },
7318
+ {
7319
+ "type": "CHOICE",
6043
7320
  "members": [
6044
7321
  {
6045
- "type": "SYMBOL",
6046
- "name": "closure_parameter"
7322
+ "type": "FIELD",
7323
+ "name": "name",
7324
+ "content": {
7325
+ "type": "ALIAS",
7326
+ "content": {
7327
+ "type": "STRING",
7328
+ "value": "_"
7329
+ },
7330
+ "named": true,
7331
+ "value": "identifier"
7332
+ }
6047
7333
  },
6048
7334
  {
6049
- "type": "REPEAT",
6050
- "content": {
6051
- "type": "SEQ",
6052
- "members": [
6053
- {
6054
- "type": "STRING",
6055
- "value": ","
6056
- },
6057
- {
7335
+ "type": "SEQ",
7336
+ "members": [
7337
+ {
7338
+ "type": "FIELD",
7339
+ "name": "type",
7340
+ "content": {
7341
+ "type": "ALIAS",
7342
+ "content": {
7343
+ "type": "STRING",
7344
+ "value": "_"
7345
+ },
7346
+ "named": true,
7347
+ "value": "type_identifier"
7348
+ }
7349
+ },
7350
+ {
7351
+ "type": "FIELD",
7352
+ "name": "name",
7353
+ "content": {
6058
7354
  "type": "SYMBOL",
6059
- "name": "closure_parameter"
7355
+ "name": "identifier"
6060
7356
  }
6061
- ]
6062
- }
7357
+ }
7358
+ ]
6063
7359
  }
6064
7360
  ]
6065
7361
  },
6066
7362
  {
6067
- "type": "BLANK"
7363
+ "type": "CHOICE",
7364
+ "members": [
7365
+ {
7366
+ "type": "SEQ",
7367
+ "members": [
7368
+ {
7369
+ "type": "STRING",
7370
+ "value": "="
7371
+ },
7372
+ {
7373
+ "type": "FIELD",
7374
+ "name": "default",
7375
+ "content": {
7376
+ "type": "SYMBOL",
7377
+ "name": "_expression"
7378
+ }
7379
+ }
7380
+ ]
7381
+ },
7382
+ {
7383
+ "type": "BLANK"
7384
+ }
7385
+ ]
6068
7386
  }
6069
7387
  ]
6070
- },
6071
- {
6072
- "type": "STRING",
6073
- "value": "->"
6074
7388
  }
6075
7389
  ]
6076
7390
  },
6077
- "closure_parameter": {
7391
+ "list_literal": {
6078
7392
  "type": "SEQ",
6079
7393
  "members": [
6080
7394
  {
6081
7395
  "type": "CHOICE",
6082
7396
  "members": [
6083
7397
  {
6084
- "type": "FIELD",
6085
- "name": "type",
6086
- "content": {
6087
- "type": "SYMBOL",
6088
- "name": "_type"
6089
- }
7398
+ "type": "STRING",
7399
+ "value": "["
6090
7400
  },
6091
7401
  {
6092
- "type": "BLANK"
7402
+ "type": "ALIAS",
7403
+ "content": {
7404
+ "type": "SYMBOL",
7405
+ "name": "_subscript_open"
7406
+ },
7407
+ "named": false,
7408
+ "value": "["
6093
7409
  }
6094
7410
  ]
6095
7411
  },
6096
- {
6097
- "type": "FIELD",
6098
- "name": "name",
6099
- "content": {
6100
- "type": "SYMBOL",
6101
- "name": "identifier"
6102
- }
6103
- }
6104
- ]
6105
- },
6106
- "list_literal": {
6107
- "type": "SEQ",
6108
- "members": [
6109
- {
6110
- "type": "STRING",
6111
- "value": "["
6112
- },
6113
7412
  {
6114
7413
  "type": "CHOICE",
6115
7414
  "members": [
@@ -6165,8 +7464,22 @@
6165
7464
  "type": "SEQ",
6166
7465
  "members": [
6167
7466
  {
6168
- "type": "STRING",
6169
- "value": "["
7467
+ "type": "CHOICE",
7468
+ "members": [
7469
+ {
7470
+ "type": "STRING",
7471
+ "value": "["
7472
+ },
7473
+ {
7474
+ "type": "ALIAS",
7475
+ "content": {
7476
+ "type": "SYMBOL",
7477
+ "name": "_subscript_open"
7478
+ },
7479
+ "named": false,
7480
+ "value": "["
7481
+ }
7482
+ ]
6170
7483
  },
6171
7484
  {
6172
7485
  "type": "CHOICE",
@@ -6292,8 +7605,22 @@
6292
7605
  "name": "_expression"
6293
7606
  },
6294
7607
  {
6295
- "type": "STRING",
6296
- "value": ")"
7608
+ "type": "CHOICE",
7609
+ "members": [
7610
+ {
7611
+ "type": "STRING",
7612
+ "value": ")"
7613
+ },
7614
+ {
7615
+ "type": "ALIAS",
7616
+ "content": {
7617
+ "type": "SYMBOL",
7618
+ "name": "_cast_close"
7619
+ },
7620
+ "named": false,
7621
+ "value": ")"
7622
+ }
7623
+ ]
6297
7624
  }
6298
7625
  ]
6299
7626
  },
@@ -6453,6 +7780,10 @@
6453
7780
  },
6454
7781
  "named": true,
6455
7782
  "value": "string_fragment"
7783
+ },
7784
+ {
7785
+ "type": "SYMBOL",
7786
+ "name": "_string_body"
6456
7787
  }
6457
7788
  ]
6458
7789
  }
@@ -6594,6 +7925,10 @@
6594
7925
  },
6595
7926
  "named": true,
6596
7927
  "value": "string_fragment"
7928
+ },
7929
+ {
7930
+ "type": "SYMBOL",
7931
+ "name": "_string_body"
6597
7932
  }
6598
7933
  ]
6599
7934
  }
@@ -6650,27 +7985,48 @@
6650
7985
  "type": "CHOICE",
6651
7986
  "members": [
6652
7987
  {
6653
- "type": "ALIAS",
6654
- "content": {
6655
- "type": "SYMBOL",
6656
- "name": "_triple_gstring_text"
6657
- },
6658
- "named": true,
6659
- "value": "string_fragment"
6660
- },
6661
- {
6662
- "type": "SYMBOL",
6663
- "name": "gstring_dollar_interpolation"
6664
- },
6665
- {
6666
- "type": "SYMBOL",
6667
- "name": "gstring_brace_interpolation"
7988
+ "type": "CHOICE",
7989
+ "members": [
7990
+ {
7991
+ "type": "ALIAS",
7992
+ "content": {
7993
+ "type": "SYMBOL",
7994
+ "name": "_triple_gstring_text"
7995
+ },
7996
+ "named": true,
7997
+ "value": "string_fragment"
7998
+ },
7999
+ {
8000
+ "type": "SYMBOL",
8001
+ "name": "gstring_dollar_interpolation"
8002
+ },
8003
+ {
8004
+ "type": "SYMBOL",
8005
+ "name": "gstring_brace_interpolation"
8006
+ },
8007
+ {
8008
+ "type": "ALIAS",
8009
+ "content": {
8010
+ "type": "SYMBOL",
8011
+ "name": "_gstring_literal_dollar"
8012
+ },
8013
+ "named": true,
8014
+ "value": "string_fragment"
8015
+ },
8016
+ {
8017
+ "type": "SYMBOL",
8018
+ "name": "_string_body"
8019
+ }
8020
+ ]
6668
8021
  },
6669
8022
  {
6670
8023
  "type": "ALIAS",
6671
8024
  "content": {
6672
- "type": "SYMBOL",
6673
- "name": "_gstring_literal_dollar"
8025
+ "type": "IMMEDIATE_TOKEN",
8026
+ "content": {
8027
+ "type": "STRING",
8028
+ "value": "\""
8029
+ }
6674
8030
  },
6675
8031
  "named": true,
6676
8032
  "value": "string_fragment"
@@ -6704,11 +8060,11 @@
6704
8060
  },
6705
8061
  {
6706
8062
  "type": "PATTERN",
6707
- "value": "\"[^\"]"
8063
+ "value": "\"(\\\\[\\s\\S]|[^\"\\\\$])"
6708
8064
  },
6709
8065
  {
6710
8066
  "type": "PATTERN",
6711
- "value": "\"\"[^\"]"
8067
+ "value": "\"\"(\\\\[\\s\\S]|[^\"\\\\$])"
6712
8068
  }
6713
8069
  ]
6714
8070
  }
@@ -6736,7 +8092,7 @@
6736
8092
  "type": "IMMEDIATE_TOKEN",
6737
8093
  "content": {
6738
8094
  "type": "PATTERN",
6739
- "value": "\\$[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*"
8095
+ "value": "\\$(?:[A-Za-z_][A-Za-z_0-9]*(?:[\\p{L}\\p{Nl}\\p{Sc}\\p{Pc}\\p{Nd}\\p{Mn}\\p{Mc}--[\\x00-\\x7F]][A-Za-z_0-9[\\p{L}\\p{Nl}\\p{Sc}\\p{Pc}\\p{Nd}\\p{Mn}\\p{Mc}--[\\x00-\\x7F]]]*)?|[\\p{L}\\p{Nl}\\p{Sc}\\p{Pc}--[\\x00-\\x7F]][A-Za-z_0-9[\\p{L}\\p{Nl}\\p{Sc}\\p{Pc}\\p{Nd}\\p{Mn}\\p{Mc}--[\\x00-\\x7F]]]*)(?:\\.(?:[A-Za-z_][A-Za-z_0-9]*(?:[\\p{L}\\p{Nl}\\p{Sc}\\p{Pc}\\p{Nd}\\p{Mn}\\p{Mc}--[\\x00-\\x7F]][A-Za-z_0-9[\\p{L}\\p{Nl}\\p{Sc}\\p{Pc}\\p{Nd}\\p{Mn}\\p{Mc}--[\\x00-\\x7F]]]*)?|[\\p{L}\\p{Nl}\\p{Sc}\\p{Pc}--[\\x00-\\x7F]][A-Za-z_0-9[\\p{L}\\p{Nl}\\p{Sc}\\p{Pc}\\p{Nd}\\p{Mn}\\p{Mc}--[\\x00-\\x7F]]]*))*"
6740
8096
  }
6741
8097
  },
6742
8098
  "gstring_brace_interpolation": {
@@ -6776,27 +8132,48 @@
6776
8132
  "type": "CHOICE",
6777
8133
  "members": [
6778
8134
  {
6779
- "type": "ALIAS",
6780
- "content": {
6781
- "type": "SYMBOL",
6782
- "name": "_dollar_slashy_text"
6783
- },
6784
- "named": true,
6785
- "value": "string_fragment"
6786
- },
6787
- {
6788
- "type": "SYMBOL",
6789
- "name": "gstring_dollar_interpolation"
6790
- },
6791
- {
6792
- "type": "SYMBOL",
6793
- "name": "gstring_brace_interpolation"
8135
+ "type": "CHOICE",
8136
+ "members": [
8137
+ {
8138
+ "type": "ALIAS",
8139
+ "content": {
8140
+ "type": "SYMBOL",
8141
+ "name": "_dollar_slashy_text"
8142
+ },
8143
+ "named": true,
8144
+ "value": "string_fragment"
8145
+ },
8146
+ {
8147
+ "type": "SYMBOL",
8148
+ "name": "gstring_dollar_interpolation"
8149
+ },
8150
+ {
8151
+ "type": "SYMBOL",
8152
+ "name": "gstring_brace_interpolation"
8153
+ },
8154
+ {
8155
+ "type": "ALIAS",
8156
+ "content": {
8157
+ "type": "SYMBOL",
8158
+ "name": "_gstring_literal_dollar"
8159
+ },
8160
+ "named": true,
8161
+ "value": "string_fragment"
8162
+ },
8163
+ {
8164
+ "type": "SYMBOL",
8165
+ "name": "_string_body"
8166
+ }
8167
+ ]
6794
8168
  },
6795
8169
  {
6796
8170
  "type": "ALIAS",
6797
8171
  "content": {
6798
- "type": "SYMBOL",
6799
- "name": "_gstring_literal_dollar"
8172
+ "type": "IMMEDIATE_TOKEN",
8173
+ "content": {
8174
+ "type": "STRING",
8175
+ "value": "/"
8176
+ }
6800
8177
  },
6801
8178
  "named": true,
6802
8179
  "value": "string_fragment"
@@ -6826,7 +8203,7 @@
6826
8203
  },
6827
8204
  {
6828
8205
  "type": "PATTERN",
6829
- "value": "\\/[^$]"
8206
+ "value": "\\/+[^/$]"
6830
8207
  },
6831
8208
  {
6832
8209
  "type": "PATTERN",
@@ -6870,7 +8247,7 @@
6870
8247
  },
6871
8248
  "identifier": {
6872
8249
  "type": "PATTERN",
6873
- "value": "[A-Za-z_$][A-Za-z0-9_$]*"
8250
+ "value": "(?:[A-Za-z_$][A-Za-z_$0-9]*(?:[\\p{L}\\p{Nl}\\p{Sc}\\p{Pc}\\p{Nd}\\p{Mn}\\p{Mc}--[\\x00-\\x7F]][A-Za-z_$0-9[\\p{L}\\p{Nl}\\p{Sc}\\p{Pc}\\p{Nd}\\p{Mn}\\p{Mc}--[\\x00-\\x7F]]]*)?|[\\p{L}\\p{Nl}\\p{Sc}\\p{Pc}--[\\x00-\\x7F]][A-Za-z_$0-9[\\p{L}\\p{Nl}\\p{Sc}\\p{Pc}\\p{Nd}\\p{Mn}\\p{Mc}--[\\x00-\\x7F]]]*)"
6874
8251
  }
6875
8252
  },
6876
8253
  "extras": [
@@ -6878,6 +8255,10 @@
6878
8255
  "type": "PATTERN",
6879
8256
  "value": "\\s"
6880
8257
  },
8258
+ {
8259
+ "type": "PATTERN",
8260
+ "value": "\\\\\\r?\\n"
8261
+ },
6881
8262
  {
6882
8263
  "type": "SYMBOL",
6883
8264
  "name": "line_comment"
@@ -6892,6 +8273,10 @@
6892
8273
  }
6893
8274
  ],
6894
8275
  "conflicts": [
8276
+ [
8277
+ "_modifier",
8278
+ "local_variable_declaration"
8279
+ ],
6895
8280
  [
6896
8281
  "_expression",
6897
8282
  "_type"
@@ -6924,6 +8309,27 @@
6924
8309
  [
6925
8310
  "formal_parameter",
6926
8311
  "_expression"
8312
+ ],
8313
+ [
8314
+ "_modifier",
8315
+ "_modified_constructor_declaration"
8316
+ ],
8317
+ [
8318
+ "_modifier",
8319
+ "local_variable_declaration",
8320
+ "closure_parameter"
8321
+ ],
8322
+ [
8323
+ "_initialized_declarator",
8324
+ "closure_parameter"
8325
+ ],
8326
+ [
8327
+ "variable_declarator",
8328
+ "closure_parameter"
8329
+ ],
8330
+ [
8331
+ "_placeholder_declarator",
8332
+ "closure_parameter"
6927
8333
  ]
6928
8334
  ],
6929
8335
  "precedences": [],
@@ -6943,9 +8349,45 @@
6943
8349
  {
6944
8350
  "type": "SYMBOL",
6945
8351
  "name": "groovydoc_comment"
8352
+ },
8353
+ {
8354
+ "type": "SYMBOL",
8355
+ "name": "_record_keyword"
8356
+ },
8357
+ {
8358
+ "type": "SYMBOL",
8359
+ "name": "_command_named_key"
8360
+ },
8361
+ {
8362
+ "type": "SYMBOL",
8363
+ "name": "_subscript_open"
8364
+ },
8365
+ {
8366
+ "type": "SYMBOL",
8367
+ "name": "_cast_close"
8368
+ },
8369
+ {
8370
+ "type": "SYMBOL",
8371
+ "name": "_not_in"
8372
+ },
8373
+ {
8374
+ "type": "SYMBOL",
8375
+ "name": "_string_body"
8376
+ },
8377
+ {
8378
+ "type": "SYMBOL",
8379
+ "name": "_error_sentinel"
6946
8380
  }
6947
8381
  ],
6948
8382
  "inline": [],
6949
8383
  "supertypes": [],
6950
- "reserved": {}
8384
+ "reserved": {
8385
+ "global": [
8386
+ {
8387
+ "type": "STRING",
8388
+ "value": "new"
8389
+ }
8390
+ ],
8391
+ "property": []
8392
+ }
6951
8393
  }