@@ -88,6 +88,59 @@ module.exports = grammar({
88
88
[ $ . argument_list , $ . record_pattern_body ] ,
89
89
] ,
90
90
91
+ reserved : {
92
+ global : $ => [
93
+ 'abstract' ,
94
+ 'assert' ,
95
+ 'boolean' ,
96
+ 'break' ,
97
+ 'byte' ,
98
+ 'case' ,
99
+ 'catch' ,
100
+ 'char' ,
101
+ 'class' ,
102
+ 'continue' ,
103
+ 'default' ,
104
+ 'do' ,
105
+ 'double' ,
106
+ 'else' ,
107
+ 'enum' ,
108
+ 'extends' ,
109
+ 'final' ,
110
+ 'finally' ,
111
+ 'float' ,
112
+ 'for' ,
113
+ 'if' ,
114
+ 'implements' ,
115
+ 'import' ,
116
+ 'instanceof' ,
117
+ 'int' ,
118
+ 'interface' ,
119
+ 'long' ,
120
+ 'native' ,
121
+ 'new' ,
122
+ 'package' ,
123
+ 'private' ,
124
+ 'protected' ,
125
+ 'public' ,
126
+ 'return' ,
127
+ 'short' ,
128
+ 'static' ,
129
+ 'strictfp' ,
130
+ 'super' ,
131
+ 'switch' ,
132
+ 'synchronized' ,
133
+ 'this' ,
134
+ 'throw' ,
135
+ 'throws' ,
136
+ 'transient' ,
137
+ 'try' ,
138
+ 'void' ,
139
+ 'volatile' ,
140
+ 'while' ,
141
+ ] ,
142
+ } ,
143
+
91
144
word : $ => $ . identifier ,
92
145
93
146
rules : {
@@ -256,7 +309,6 @@ module.exports = grammar({
256
309
assignment_expression : $ => prec . right ( PREC . ASSIGN , seq (
257
310
field ( 'left' , choice (
258
311
$ . identifier ,
259
- $ . _reserved_identifier ,
260
312
$ . field_access ,
261
313
$ . array_access ,
262
314
) ) ,
@@ -301,23 +353,25 @@ module.exports = grammar({
301
353
choice (
302
354
seq (
303
355
field ( 'right' , $ . _type ) ,
304
- optional ( field ( 'name' , choice ( $ . identifier , $ . _reserved_identifier ) ) ) ,
356
+ optional ( field ( 'name' , $ . identifier ) ) ,
305
357
) ,
306
358
field ( 'pattern' , $ . record_pattern ) ,
307
359
) ,
308
360
) ) ,
309
361
310
362
lambda_expression : $ => seq (
311
363
field ( 'parameters' , choice (
312
- $ . identifier , $ . formal_parameters , $ . inferred_parameters , $ . _reserved_identifier ,
364
+ $ . identifier ,
365
+ $ . formal_parameters ,
366
+ $ . inferred_parameters ,
313
367
) ) ,
314
368
'->' ,
315
369
field ( 'body' , choice ( $ . expression , $ . block ) ) ,
316
370
) ,
317
371
318
372
inferred_parameters : $ => seq (
319
373
'(' ,
320
- commaSep1 ( choice ( $ . identifier , $ . _reserved_identifier ) ) ,
374
+ commaSep1 ( $ . identifier ) ,
321
375
')' ,
322
376
) ,
323
377
@@ -355,7 +409,6 @@ module.exports = grammar({
355
409
$ . class_literal ,
356
410
$ . this ,
357
411
$ . identifier ,
358
- $ . _reserved_identifier ,
359
412
$ . parenthesized_expression ,
360
413
$ . object_creation_expression ,
361
414
$ . field_access ,
@@ -415,7 +468,7 @@ module.exports = grammar({
415
468
$ . super ,
416
469
) ) ,
417
470
'.' ,
418
- field ( 'field' , choice ( $ . identifier , $ . _reserved_identifier , $ . this ) ) ,
471
+ field ( 'field' , choice ( $ . identifier , $ . this ) ) ,
419
472
) ,
420
473
421
474
template_expression : $ => seq (
@@ -433,7 +486,7 @@ module.exports = grammar({
433
486
434
487
method_invocation : $ => seq (
435
488
choice (
436
- field ( 'name' , choice ( $ . identifier , $ . _reserved_identifier ) ) ,
489
+ field ( 'name' , $ . identifier ) ,
437
490
seq (
438
491
field ( 'object' , choice ( $ . primary_expression , $ . super ) ) ,
439
492
'.' ,
@@ -442,7 +495,7 @@ module.exports = grammar({
442
495
'.' ,
443
496
) ) ,
444
497
field ( 'type_arguments' , optional ( $ . type_arguments ) ) ,
445
- field ( 'name' , choice ( $ . identifier , $ . _reserved_identifier ) ) ,
498
+ field ( 'name' , $ . identifier ) ,
446
499
) ,
447
500
) ,
448
501
field ( 'arguments' , $ . argument_list ) ,
@@ -519,14 +572,14 @@ module.exports = grammar({
519
572
$ . type_pattern ,
520
573
$ . record_pattern ,
521
574
) ,
522
- type_pattern : $ => seq ( $ . _unannotated_type , choice ( $ . identifier , $ . _reserved_identifier ) ) ,
523
- record_pattern : $ => seq ( choice ( $ . identifier , $ . _reserved_identifier , $ . generic_type ) , $ . record_pattern_body ) ,
575
+ type_pattern : $ => seq ( $ . _unannotated_type , $ . identifier ) ,
576
+ record_pattern : $ => seq ( choice ( $ . identifier , $ . generic_type ) , $ . record_pattern_body ) ,
524
577
record_pattern_body : $ => seq ( '(' , commaSep ( choice ( $ . record_pattern_component , $ . record_pattern ) ) , ')' ) ,
525
578
record_pattern_component : $ => choice (
526
579
$ . underscore_pattern ,
527
580
seq (
528
581
$ . _unannotated_type ,
529
- choice ( $ . identifier , $ . _reserved_identifier ) ,
582
+ $ . identifier ,
530
583
) ,
531
584
) ,
532
585
@@ -999,11 +1052,7 @@ module.exports = grammar({
999
1052
';' ,
1000
1053
) ,
1001
1054
1002
- _name : $ => choice (
1003
- $ . identifier ,
1004
- $ . _reserved_identifier ,
1005
- $ . scoped_identifier ,
1006
- ) ,
1055
+ _name : $ => choice ( $ . identifier , $ . scoped_identifier ) ,
1007
1056
1008
1057
scoped_identifier : $ => seq (
1009
1058
field ( 'scope' , $ . _name ) ,
@@ -1052,7 +1101,7 @@ module.exports = grammar({
1052
1101
annotation_type_element_declaration : $ => seq (
1053
1102
optional ( $ . modifiers ) ,
1054
1103
field ( 'type' , $ . _unannotated_type ) ,
1055
- field ( 'name' , choice ( $ . identifier , $ . _reserved_identifier ) ) ,
1104
+ field ( 'name' , $ . identifier ) ,
1056
1105
'(' , ')' ,
1057
1106
field ( 'dimensions' , optional ( $ . dimensions ) ) ,
1058
1107
optional ( $ . _default_value ) ,
@@ -1111,7 +1160,10 @@ module.exports = grammar({
1111
1160
) ,
1112
1161
1113
1162
_variable_declarator_id : $ => seq (
1114
- field ( 'name' , choice ( $ . identifier , $ . _reserved_identifier , $ . underscore_pattern ) ) ,
1163
+ field ( 'name' , choice (
1164
+ $ . identifier ,
1165
+ $ . underscore_pattern ,
1166
+ ) ) ,
1115
1167
field ( 'dimensions' , optional ( $ . dimensions ) ) ,
1116
1168
) ,
1117
1169
@@ -1206,7 +1258,7 @@ module.exports = grammar({
1206
1258
) ,
1207
1259
1208
1260
_method_declarator : $ => seq (
1209
- field ( 'name' , choice ( $ . identifier , $ . _reserved_identifier ) ) ,
1261
+ field ( 'name' , $ . identifier ) ,
1210
1262
field ( 'parameters' , $ . formal_parameters ) ,
1211
1263
field ( 'dimensions' , optional ( $ . dimensions ) ) ,
1212
1264
) ,
@@ -1266,18 +1318,6 @@ module.exports = grammar({
1266
1318
field ( 'body' , $ . block ) ,
1267
1319
) ,
1268
1320
1269
- _reserved_identifier : $ => prec ( - 3 , alias (
1270
- choice (
1271
- 'open' ,
1272
- 'module' ,
1273
- 'record' ,
1274
- 'with' ,
1275
- 'yield' ,
1276
- 'sealed' ,
1277
- ) ,
1278
- $ . identifier ,
1279
- ) ) ,
1280
-
1281
1321
this : _ => 'this' ,
1282
1322
1283
1323
super : _ => 'super' ,
0 commit comments