@dekobon/tree-sitter-groovy 0.2.2 → 0.4.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
@@ -918,21 +918,29 @@
918
918
  "type": "SEQ",
919
919
  "members": [
920
920
  {
921
- "type": "FIELD",
922
- "name": "type",
923
- "content": {
924
- "type": "CHOICE",
925
- "members": [
926
- {
927
- "type": "SYMBOL",
928
- "name": "_type"
929
- },
930
- {
931
- "type": "SYMBOL",
932
- "name": "multi_type"
921
+ "type": "CHOICE",
922
+ "members": [
923
+ {
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
+ ]
933
938
  }
934
- ]
935
- }
939
+ },
940
+ {
941
+ "type": "BLANK"
942
+ }
943
+ ]
936
944
  },
937
945
  {
938
946
  "type": "FIELD",
@@ -1630,6 +1638,10 @@
1630
1638
  {
1631
1639
  "type": "SYMBOL",
1632
1640
  "name": "static_initializer"
1641
+ },
1642
+ {
1643
+ "type": "SYMBOL",
1644
+ "name": "enum_declaration"
1633
1645
  }
1634
1646
  ]
1635
1647
  },
@@ -1710,58 +1722,106 @@
1710
1722
  ]
1711
1723
  },
1712
1724
  "field_declaration": {
1713
- "type": "SEQ",
1725
+ "type": "CHOICE",
1714
1726
  "members": [
1715
1727
  {
1716
- "type": "REPEAT",
1717
- "content": {
1718
- "type": "SYMBOL",
1719
- "name": "annotation"
1720
- }
1721
- },
1722
- {
1723
- "type": "REPEAT",
1728
+ "type": "PREC_DYNAMIC",
1729
+ "value": 1,
1724
1730
  "content": {
1725
- "type": "SYMBOL",
1726
- "name": "_modifier"
1731
+ "type": "SEQ",
1732
+ "members": [
1733
+ {
1734
+ "type": "REPEAT",
1735
+ "content": {
1736
+ "type": "SYMBOL",
1737
+ "name": "annotation"
1738
+ }
1739
+ },
1740
+ {
1741
+ "type": "REPEAT",
1742
+ "content": {
1743
+ "type": "SYMBOL",
1744
+ "name": "_modifier"
1745
+ }
1746
+ },
1747
+ {
1748
+ "type": "CHOICE",
1749
+ "members": [
1750
+ {
1751
+ "type": "STRING",
1752
+ "value": "def"
1753
+ },
1754
+ {
1755
+ "type": "FIELD",
1756
+ "name": "type",
1757
+ "content": {
1758
+ "type": "SYMBOL",
1759
+ "name": "_type"
1760
+ }
1761
+ }
1762
+ ]
1763
+ },
1764
+ {
1765
+ "type": "SYMBOL",
1766
+ "name": "variable_declarator"
1767
+ },
1768
+ {
1769
+ "type": "REPEAT",
1770
+ "content": {
1771
+ "type": "SEQ",
1772
+ "members": [
1773
+ {
1774
+ "type": "STRING",
1775
+ "value": ","
1776
+ },
1777
+ {
1778
+ "type": "SYMBOL",
1779
+ "name": "variable_declarator"
1780
+ }
1781
+ ]
1782
+ }
1783
+ }
1784
+ ]
1727
1785
  }
1728
1786
  },
1729
1787
  {
1730
- "type": "CHOICE",
1788
+ "type": "SEQ",
1731
1789
  "members": [
1732
1790
  {
1733
- "type": "STRING",
1734
- "value": "def"
1791
+ "type": "REPEAT",
1792
+ "content": {
1793
+ "type": "SYMBOL",
1794
+ "name": "annotation"
1795
+ }
1735
1796
  },
1736
1797
  {
1737
- "type": "FIELD",
1738
- "name": "type",
1798
+ "type": "REPEAT1",
1739
1799
  "content": {
1740
1800
  "type": "SYMBOL",
1741
- "name": "_type"
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
+ ]
1742
1822
  }
1743
1823
  }
1744
1824
  ]
1745
- },
1746
- {
1747
- "type": "SYMBOL",
1748
- "name": "variable_declarator"
1749
- },
1750
- {
1751
- "type": "REPEAT",
1752
- "content": {
1753
- "type": "SEQ",
1754
- "members": [
1755
- {
1756
- "type": "STRING",
1757
- "value": ","
1758
- },
1759
- {
1760
- "type": "SYMBOL",
1761
- "name": "variable_declarator"
1762
- }
1763
- ]
1764
- }
1765
1825
  }
1766
1826
  ]
1767
1827
  },
@@ -1980,6 +2040,13 @@
1980
2040
  "formal_parameter": {
1981
2041
  "type": "SEQ",
1982
2042
  "members": [
2043
+ {
2044
+ "type": "REPEAT",
2045
+ "content": {
2046
+ "type": "SYMBOL",
2047
+ "name": "annotation"
2048
+ }
2049
+ },
1983
2050
  {
1984
2051
  "type": "CHOICE",
1985
2052
  "members": [
@@ -2063,6 +2130,13 @@
2063
2130
  "name": "annotation"
2064
2131
  }
2065
2132
  },
2133
+ {
2134
+ "type": "REPEAT",
2135
+ "content": {
2136
+ "type": "SYMBOL",
2137
+ "name": "_modifier"
2138
+ }
2139
+ },
2066
2140
  {
2067
2141
  "type": "STRING",
2068
2142
  "value": "enum"
@@ -2122,8 +2196,75 @@
2122
2196
  "type": "CHOICE",
2123
2197
  "members": [
2124
2198
  {
2125
- "type": "STRING",
2126
- "value": ","
2199
+ "type": "CHOICE",
2200
+ "members": [
2201
+ {
2202
+ "type": "STRING",
2203
+ "value": ","
2204
+ },
2205
+ {
2206
+ "type": "SEQ",
2207
+ "members": [
2208
+ {
2209
+ "type": "CHOICE",
2210
+ "members": [
2211
+ {
2212
+ "type": "STRING",
2213
+ "value": ","
2214
+ },
2215
+ {
2216
+ "type": "BLANK"
2217
+ }
2218
+ ]
2219
+ },
2220
+ {
2221
+ "type": "STRING",
2222
+ "value": ";"
2223
+ },
2224
+ {
2225
+ "type": "REPEAT",
2226
+ "content": {
2227
+ "type": "CHOICE",
2228
+ "members": [
2229
+ {
2230
+ "type": "SYMBOL",
2231
+ "name": "_class_member"
2232
+ },
2233
+ {
2234
+ "type": "STRING",
2235
+ "value": ";"
2236
+ }
2237
+ ]
2238
+ }
2239
+ }
2240
+ ]
2241
+ },
2242
+ {
2243
+ "type": "SEQ",
2244
+ "members": [
2245
+ {
2246
+ "type": "SYMBOL",
2247
+ "name": "_class_member"
2248
+ },
2249
+ {
2250
+ "type": "REPEAT",
2251
+ "content": {
2252
+ "type": "CHOICE",
2253
+ "members": [
2254
+ {
2255
+ "type": "SYMBOL",
2256
+ "name": "_class_member"
2257
+ },
2258
+ {
2259
+ "type": "STRING",
2260
+ "value": ";"
2261
+ }
2262
+ ]
2263
+ }
2264
+ }
2265
+ ]
2266
+ }
2267
+ ]
2127
2268
  },
2128
2269
  {
2129
2270
  "type": "BLANK"
@@ -2133,40 +2274,20 @@
2133
2274
  ]
2134
2275
  },
2135
2276
  {
2136
- "type": "BLANK"
2137
- }
2138
- ]
2139
- },
2140
- {
2141
- "type": "CHOICE",
2142
- "members": [
2143
- {
2144
- "type": "SEQ",
2145
- "members": [
2146
- {
2147
- "type": "STRING",
2148
- "value": ";"
2149
- },
2150
- {
2151
- "type": "REPEAT",
2152
- "content": {
2153
- "type": "CHOICE",
2154
- "members": [
2155
- {
2156
- "type": "SYMBOL",
2157
- "name": "_class_member"
2158
- },
2159
- {
2160
- "type": "STRING",
2161
- "value": ";"
2162
- }
2163
- ]
2277
+ "type": "REPEAT",
2278
+ "content": {
2279
+ "type": "CHOICE",
2280
+ "members": [
2281
+ {
2282
+ "type": "SYMBOL",
2283
+ "name": "_class_member"
2284
+ },
2285
+ {
2286
+ "type": "STRING",
2287
+ "value": ";"
2164
2288
  }
2165
- }
2166
- ]
2167
- },
2168
- {
2169
- "type": "BLANK"
2289
+ ]
2290
+ }
2170
2291
  }
2171
2292
  ]
2172
2293
  },
@@ -2177,33 +2298,37 @@
2177
2298
  ]
2178
2299
  },
2179
2300
  "enum_constant": {
2180
- "type": "SEQ",
2181
- "members": [
2182
- {
2183
- "type": "FIELD",
2184
- "name": "name",
2185
- "content": {
2186
- "type": "SYMBOL",
2187
- "name": "identifier"
2188
- }
2189
- },
2190
- {
2191
- "type": "CHOICE",
2192
- "members": [
2193
- {
2194
- "type": "FIELD",
2195
- "name": "arguments",
2196
- "content": {
2197
- "type": "SYMBOL",
2198
- "name": "argument_list"
2199
- }
2200
- },
2201
- {
2202
- "type": "BLANK"
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"
2203
2312
  }
2204
- ]
2205
- }
2206
- ]
2313
+ },
2314
+ {
2315
+ "type": "CHOICE",
2316
+ "members": [
2317
+ {
2318
+ "type": "FIELD",
2319
+ "name": "arguments",
2320
+ "content": {
2321
+ "type": "SYMBOL",
2322
+ "name": "argument_list"
2323
+ }
2324
+ },
2325
+ {
2326
+ "type": "BLANK"
2327
+ }
2328
+ ]
2329
+ }
2330
+ ]
2331
+ }
2207
2332
  },
2208
2333
  "record_declaration": {
2209
2334
  "type": "PREC_RIGHT",
@@ -2688,6 +2813,31 @@
2688
2813
  "type": "STRING",
2689
2814
  "value": "("
2690
2815
  },
2816
+ {
2817
+ "type": "CHOICE",
2818
+ "members": [
2819
+ {
2820
+ "type": "CHOICE",
2821
+ "members": [
2822
+ {
2823
+ "type": "STRING",
2824
+ "value": "def"
2825
+ },
2826
+ {
2827
+ "type": "FIELD",
2828
+ "name": "type",
2829
+ "content": {
2830
+ "type": "SYMBOL",
2831
+ "name": "_type"
2832
+ }
2833
+ }
2834
+ ]
2835
+ },
2836
+ {
2837
+ "type": "BLANK"
2838
+ }
2839
+ ]
2840
+ },
2691
2841
  {
2692
2842
  "type": "FIELD",
2693
2843
  "name": "variable",
@@ -2697,8 +2847,17 @@
2697
2847
  }
2698
2848
  },
2699
2849
  {
2700
- "type": "STRING",
2701
- "value": "in"
2850
+ "type": "CHOICE",
2851
+ "members": [
2852
+ {
2853
+ "type": "STRING",
2854
+ "value": "in"
2855
+ },
2856
+ {
2857
+ "type": "STRING",
2858
+ "value": ":"
2859
+ }
2860
+ ]
2702
2861
  },
2703
2862
  {
2704
2863
  "type": "FIELD",
@@ -3426,8 +3585,22 @@
3426
3585
  "type": "FIELD",
3427
3586
  "name": "type",
3428
3587
  "content": {
3429
- "type": "SYMBOL",
3430
- "name": "_type"
3588
+ "type": "CHOICE",
3589
+ "members": [
3590
+ {
3591
+ "type": "SYMBOL",
3592
+ "name": "_type"
3593
+ },
3594
+ {
3595
+ "type": "ALIAS",
3596
+ "content": {
3597
+ "type": "SYMBOL",
3598
+ "name": "_diamond_type"
3599
+ },
3600
+ "named": true,
3601
+ "value": "generic_type"
3602
+ }
3603
+ ]
3431
3604
  }
3432
3605
  },
3433
3606
  {
@@ -3441,6 +3614,66 @@
3441
3614
  ]
3442
3615
  }
3443
3616
  },
3617
+ "_diamond_type": {
3618
+ "type": "PREC_RIGHT",
3619
+ "value": 2,
3620
+ "content": {
3621
+ "type": "SEQ",
3622
+ "members": [
3623
+ {
3624
+ "type": "FIELD",
3625
+ "name": "base",
3626
+ "content": {
3627
+ "type": "CHOICE",
3628
+ "members": [
3629
+ {
3630
+ "type": "ALIAS",
3631
+ "content": {
3632
+ "type": "SYMBOL",
3633
+ "name": "identifier"
3634
+ },
3635
+ "named": true,
3636
+ "value": "type_identifier"
3637
+ },
3638
+ {
3639
+ "type": "SYMBOL",
3640
+ "name": "qualified_type"
3641
+ }
3642
+ ]
3643
+ }
3644
+ },
3645
+ {
3646
+ "type": "FIELD",
3647
+ "name": "arguments",
3648
+ "content": {
3649
+ "type": "ALIAS",
3650
+ "content": {
3651
+ "type": "SYMBOL",
3652
+ "name": "_diamond_type_arguments"
3653
+ },
3654
+ "named": true,
3655
+ "value": "type_arguments"
3656
+ }
3657
+ }
3658
+ ]
3659
+ }
3660
+ },
3661
+ "_diamond_type_arguments": {
3662
+ "type": "SEQ",
3663
+ "members": [
3664
+ {
3665
+ "type": "IMMEDIATE_TOKEN",
3666
+ "content": {
3667
+ "type": "STRING",
3668
+ "value": "<"
3669
+ }
3670
+ },
3671
+ {
3672
+ "type": "STRING",
3673
+ "value": ">"
3674
+ }
3675
+ ]
3676
+ },
3444
3677
  "parenthesized_type_cast": {
3445
3678
  "type": "PREC_RIGHT",
3446
3679
  "value": 14,
@@ -3986,29 +4219,92 @@
3986
4219
  }
3987
4220
  },
3988
4221
  "method_invocation": {
3989
- "type": "PREC_LEFT",
3990
- "value": 17,
3991
- "content": {
3992
- "type": "SEQ",
3993
- "members": [
3994
- {
3995
- "type": "FIELD",
3996
- "name": "function",
3997
- "content": {
3998
- "type": "SYMBOL",
3999
- "name": "_expression"
4000
- }
4001
- },
4002
- {
4003
- "type": "FIELD",
4004
- "name": "arguments",
4005
- "content": {
4006
- "type": "SYMBOL",
4007
- "name": "argument_list"
4008
- }
4222
+ "type": "CHOICE",
4223
+ "members": [
4224
+ {
4225
+ "type": "PREC_LEFT",
4226
+ "value": 18,
4227
+ "content": {
4228
+ "type": "SEQ",
4229
+ "members": [
4230
+ {
4231
+ "type": "FIELD",
4232
+ "name": "function",
4233
+ "content": {
4234
+ "type": "SYMBOL",
4235
+ "name": "_expression"
4236
+ }
4237
+ },
4238
+ {
4239
+ "type": "FIELD",
4240
+ "name": "arguments",
4241
+ "content": {
4242
+ "type": "SYMBOL",
4243
+ "name": "argument_list"
4244
+ }
4245
+ },
4246
+ {
4247
+ "type": "FIELD",
4248
+ "name": "closure",
4249
+ "content": {
4250
+ "type": "SYMBOL",
4251
+ "name": "closure"
4252
+ }
4253
+ }
4254
+ ]
4009
4255
  }
4010
- ]
4011
- }
4256
+ },
4257
+ {
4258
+ "type": "PREC_LEFT",
4259
+ "value": 17,
4260
+ "content": {
4261
+ "type": "SEQ",
4262
+ "members": [
4263
+ {
4264
+ "type": "FIELD",
4265
+ "name": "function",
4266
+ "content": {
4267
+ "type": "SYMBOL",
4268
+ "name": "_expression"
4269
+ }
4270
+ },
4271
+ {
4272
+ "type": "FIELD",
4273
+ "name": "arguments",
4274
+ "content": {
4275
+ "type": "SYMBOL",
4276
+ "name": "argument_list"
4277
+ }
4278
+ }
4279
+ ]
4280
+ }
4281
+ },
4282
+ {
4283
+ "type": "PREC_LEFT",
4284
+ "value": 17,
4285
+ "content": {
4286
+ "type": "SEQ",
4287
+ "members": [
4288
+ {
4289
+ "type": "FIELD",
4290
+ "name": "function",
4291
+ "content": {
4292
+ "type": "SYMBOL",
4293
+ "name": "_expression"
4294
+ }
4295
+ },
4296
+ {
4297
+ "type": "FIELD",
4298
+ "name": "closure",
4299
+ "content": {
4300
+ "type": "SYMBOL",
4301
+ "name": "closure"
4302
+ }
4303
+ }
4304
+ ]
4305
+ }
4306
+ }
4307
+ ]
4012
4308
  },
4013
4309
  "argument_list": {
4014
4310
  "type": "SEQ",
@@ -6620,6 +6916,14 @@
6620
6916
  [
6621
6917
  "variable_declarator",
6622
6918
  "_property_name"
6919
+ ],
6920
+ [
6921
+ "variable_declarator",
6922
+ "_type"
6923
+ ],
6924
+ [
6925
+ "formal_parameter",
6926
+ "_expression"
6623
6927
  ]
6624
6928
  ],
6625
6929
  "precedences": [],