@@ -88,6 +88,59 @@ module.exports = grammar({
8888    [ $ . argument_list ,  $ . record_pattern_body ] , 
8989  ] , 
9090
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+ 
91144  word : $  =>  $ . identifier , 
92145
93146  rules : { 
@@ -256,7 +309,6 @@ module.exports = grammar({
256309    assignment_expression : $  =>  prec . right ( PREC . ASSIGN ,  seq ( 
257310      field ( 'left' ,  choice ( 
258311        $ . identifier , 
259-         $ . _reserved_identifier , 
260312        $ . field_access , 
261313        $ . array_access , 
262314      ) ) , 
@@ -301,23 +353,25 @@ module.exports = grammar({
301353      choice ( 
302354        seq ( 
303355          field ( 'right' ,  $ . _type ) , 
304-           optional ( field ( 'name' ,  choice ( $ . identifier ,   $ . _reserved_identifier ) ) ) , 
356+           optional ( field ( 'name' ,  $ . identifier ) ) , 
305357        ) , 
306358        field ( 'pattern' ,  $ . record_pattern ) , 
307359      ) , 
308360    ) ) , 
309361
310362    lambda_expression : $  =>  seq ( 
311363      field ( 'parameters' ,  choice ( 
312-         $ . identifier ,  $ . formal_parameters ,  $ . inferred_parameters ,  $ . _reserved_identifier , 
364+         $ . identifier , 
365+         $ . formal_parameters , 
366+         $ . inferred_parameters , 
313367      ) ) , 
314368      '->' , 
315369      field ( 'body' ,  choice ( $ . expression ,  $ . block ) ) , 
316370    ) , 
317371
318372    inferred_parameters : $  =>  seq ( 
319373      '(' , 
320-       commaSep1 ( choice ( $ . identifier ,   $ . _reserved_identifier ) ) , 
374+       commaSep1 ( $ . identifier ) , 
321375      ')' , 
322376    ) , 
323377
@@ -355,7 +409,6 @@ module.exports = grammar({
355409      $ . class_literal , 
356410      $ . this , 
357411      $ . identifier , 
358-       $ . _reserved_identifier , 
359412      $ . parenthesized_expression , 
360413      $ . object_creation_expression , 
361414      $ . field_access , 
@@ -415,7 +468,7 @@ module.exports = grammar({
415468        $ . super , 
416469      ) ) , 
417470      '.' , 
418-       field ( 'field' ,  choice ( $ . identifier ,  $ . _reserved_identifier ,   $ . this ) ) , 
471+       field ( 'field' ,  choice ( $ . identifier ,  $ . this ) ) , 
419472    ) , 
420473
421474    template_expression : $  =>  seq ( 
@@ -433,7 +486,7 @@ module.exports = grammar({
433486
434487    method_invocation : $  =>  seq ( 
435488      choice ( 
436-         field ( 'name' ,  choice ( $ . identifier ,   $ . _reserved_identifier ) ) , 
489+         field ( 'name' ,  $ . identifier ) , 
437490        seq ( 
438491          field ( 'object' ,  choice ( $ . primary_expression ,  $ . super ) ) , 
439492          '.' , 
@@ -442,7 +495,7 @@ module.exports = grammar({
442495            '.' , 
443496          ) ) , 
444497          field ( 'type_arguments' ,  optional ( $ . type_arguments ) ) , 
445-           field ( 'name' ,  choice ( $ . identifier ,   $ . _reserved_identifier ) ) , 
498+           field ( 'name' ,  $ . identifier ) , 
446499        ) , 
447500      ) , 
448501      field ( 'arguments' ,  $ . argument_list ) , 
@@ -519,14 +572,14 @@ module.exports = grammar({
519572      $ . type_pattern , 
520573      $ . record_pattern , 
521574    ) , 
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 ) , 
524577    record_pattern_body : $  =>  seq ( '(' ,  commaSep ( choice ( $ . record_pattern_component ,  $ . record_pattern ) ) ,  ')' ) , 
525578    record_pattern_component : $  =>  choice ( 
526579      $ . underscore_pattern , 
527580      seq ( 
528581        $ . _unannotated_type , 
529-         choice ( $ . identifier ,   $ . _reserved_identifier ) , 
582+         $ . identifier , 
530583      ) , 
531584    ) , 
532585
@@ -999,11 +1052,7 @@ module.exports = grammar({
9991052      ';' , 
10001053    ) , 
10011054
1002-     _name : $  =>  choice ( 
1003-       $ . identifier , 
1004-       $ . _reserved_identifier , 
1005-       $ . scoped_identifier , 
1006-     ) , 
1055+     _name : $  =>  choice ( $ . identifier ,  $ . scoped_identifier ) , 
10071056
10081057    scoped_identifier : $  =>  seq ( 
10091058      field ( 'scope' ,  $ . _name ) , 
@@ -1052,7 +1101,7 @@ module.exports = grammar({
10521101    annotation_type_element_declaration : $  =>  seq ( 
10531102      optional ( $ . modifiers ) , 
10541103      field ( 'type' ,  $ . _unannotated_type ) , 
1055-       field ( 'name' ,  choice ( $ . identifier ,   $ . _reserved_identifier ) ) , 
1104+       field ( 'name' ,  $ . identifier ) , 
10561105      '(' ,  ')' , 
10571106      field ( 'dimensions' ,  optional ( $ . dimensions ) ) , 
10581107      optional ( $ . _default_value ) , 
@@ -1111,7 +1160,10 @@ module.exports = grammar({
11111160    ) , 
11121161
11131162    _variable_declarator_id : $  =>  seq ( 
1114-       field ( 'name' ,  choice ( $ . identifier ,  $ . _reserved_identifier ,  $ . underscore_pattern ) ) , 
1163+       field ( 'name' ,  choice ( 
1164+         $ . identifier , 
1165+         $ . underscore_pattern , 
1166+       ) ) , 
11151167      field ( 'dimensions' ,  optional ( $ . dimensions ) ) , 
11161168    ) , 
11171169
@@ -1206,7 +1258,7 @@ module.exports = grammar({
12061258    ) , 
12071259
12081260    _method_declarator : $  =>  seq ( 
1209-       field ( 'name' ,  choice ( $ . identifier ,   $ . _reserved_identifier ) ) , 
1261+       field ( 'name' ,  $ . identifier ) , 
12101262      field ( 'parameters' ,  $ . formal_parameters ) , 
12111263      field ( 'dimensions' ,  optional ( $ . dimensions ) ) , 
12121264    ) , 
@@ -1266,18 +1318,6 @@ module.exports = grammar({
12661318      field ( 'body' ,  $ . block ) , 
12671319    ) , 
12681320
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- 
12811321    this : _  =>  'this' , 
12821322
12831323    super : _  =>  'super' , 
0 commit comments