@@ -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