@@ -6,7 +6,7 @@ const { tokenMatcher } = require("chevrotain");
66// the dangling else is resolved by attaching an "else" block
77// to the nearest "if"
88function defineRules ( $ , t ) {
9- // https://docs.oracle.com/javase/specs/jls/se11 /html/jls-14.html#jls-Block
9+ // https://docs.oracle.com/javase/specs/jls/se16 /html/jls-14.html#jls-Block
1010 $ . RULE ( "block" , ( ) => {
1111 $ . CONSUME ( t . LCurly ) ;
1212 $ . OPTION ( ( ) => {
@@ -15,15 +15,15 @@ function defineRules($, t) {
1515 $ . CONSUME ( t . RCurly ) ;
1616 } ) ;
1717
18- // https://docs.oracle.com/javase/specs/jls/se11 /html/jls-14.html#jls-BlockStatements
18+ // https://docs.oracle.com/javase/specs/jls/se16 /html/jls-14.html#jls-BlockStatements
1919 $ . RULE ( "blockStatements" , ( ) => {
2020 $ . SUBRULE ( $ . blockStatement ) ;
2121 $ . MANY ( ( ) => {
2222 $ . SUBRULE2 ( $ . blockStatement ) ;
2323 } ) ;
2424 } ) ;
2525
26- // https://docs.oracle.com/javase/specs/jls/se11 /html/jls-14.html#jls-BlockStatement
26+ // https://docs.oracle.com/javase/specs/jls/se16 /html/jls-14.html#jls-BlockStatement
2727 $ . RULE ( "blockStatement" , ( ) => {
2828 const isLocalVariableDeclaration = this . BACKTRACK_LOOKAHEAD (
2929 $ . isLocalVariableDeclaration
@@ -44,13 +44,13 @@ function defineRules($, t) {
4444 ] ) ;
4545 } ) ;
4646
47- // https://docs.oracle.com/javase/specs/jls/se11 /html/jls-14.html#jls-LocalVariableDeclaration
47+ // https://docs.oracle.com/javase/specs/jls/se16 /html/jls-14.html#jls-LocalVariableDeclarationStatement
4848 $ . RULE ( "localVariableDeclarationStatement" , ( ) => {
4949 $ . SUBRULE ( $ . localVariableDeclaration ) ;
5050 $ . CONSUME ( t . Semicolon ) ;
5151 } ) ;
5252
53- // https://docs.oracle.com/javase/specs/jls/se11 /html/jls-14.html#jls-LocalVariableDeclaration
53+ // https://docs.oracle.com/javase/specs/jls/se16 /html/jls-14.html#jls-LocalVariableDeclaration
5454 $ . RULE ( "localVariableDeclaration" , ( ) => {
5555 $ . MANY ( ( ) => {
5656 $ . SUBRULE ( $ . variableModifier ) ;
@@ -59,7 +59,7 @@ function defineRules($, t) {
5959 $ . SUBRULE ( $ . variableDeclaratorList ) ;
6060 } ) ;
6161
62- // https://docs.oracle.com/javase/specs/jls/se11 /html/jls-14.html#jls-LocalVariableType
62+ // https://docs.oracle.com/javase/specs/jls/se16 /html/jls-14.html#jls-LocalVariableType
6363 $ . RULE ( "localVariableType" , ( ) => {
6464 $ . OR ( {
6565 DEF : [
@@ -70,7 +70,7 @@ function defineRules($, t) {
7070 } ) ;
7171 } ) ;
7272
73- // https://docs.oracle.com/javase/specs/jls/se11 /html/jls-14.html#jls-Statement
73+ // https://docs.oracle.com/javase/specs/jls/se16 /html/jls-14.html#jls-Statement
7474 $ . RULE ( "statement" , ( ) => {
7575 $ . OR ( {
7676 DEF : [
@@ -87,7 +87,7 @@ function defineRules($, t) {
8787 } ) ;
8888 } ) ;
8989
90- // https://docs.oracle.com/javase/specs/jls/se11 /html/jls-14.html#jls-StatementWithoutTrailingSubstatement
90+ // https://docs.oracle.com/javase/specs/jls/se16 /html/jls-14.html#jls-StatementWithoutTrailingSubstatement
9191 $ . RULE ( "statementWithoutTrailingSubstatement" , ( ) => {
9292 $ . OR ( {
9393 DEF : [
@@ -112,25 +112,25 @@ function defineRules($, t) {
112112 } ) ;
113113 } ) ;
114114
115- // https://docs.oracle.com/javase/specs/jls/se11 /html/jls-14.html#jls-EmptyStatement
115+ // https://docs.oracle.com/javase/specs/jls/se16 /html/jls-14.html#jls-EmptyStatement
116116 $ . RULE ( "emptyStatement" , ( ) => {
117117 $ . CONSUME ( t . Semicolon ) ;
118118 } ) ;
119119
120- // https://docs.oracle.com/javase/specs/jls/se11 /html/jls-14.html#jls-LabeledStatement
120+ // https://docs.oracle.com/javase/specs/jls/se16 /html/jls-14.html#jls-LabeledStatement
121121 $ . RULE ( "labeledStatement" , ( ) => {
122122 $ . CONSUME ( t . Identifier ) ;
123123 $ . CONSUME ( t . Colon ) ;
124124 $ . SUBRULE ( $ . statement ) ;
125125 } ) ;
126126
127- // https://docs.oracle.com/javase/specs/jls/se11 /html/jls-14.html#jls-ExpressionStatement
127+ // https://docs.oracle.com/javase/specs/jls/se16 /html/jls-14.html#jls-ExpressionStatement
128128 $ . RULE ( "expressionStatement" , ( ) => {
129129 $ . SUBRULE ( $ . statementExpression ) ;
130130 $ . CONSUME ( t . Semicolon ) ;
131131 } ) ;
132132
133- // https://docs.oracle.com/javase/specs/jls/se11 /html/jls-14.html#jls-StatementExpression
133+ // https://docs.oracle.com/javase/specs/jls/se16 /html/jls-14.html#jls-StatementExpression
134134 $ . RULE ( "statementExpression" , ( ) => {
135135 // Spec deviation: The many alternatives here were replaced with
136136 // the "expression" rule as it contains them all,
@@ -141,8 +141,8 @@ function defineRules($, t) {
141141 } ) ;
142142
143143 // Spec deviation: combined "IfThenStatement" and "IfThenElseStatement"
144- // https://docs.oracle.com/javase/specs/jls/se11 /html/jls-14.html#jls-IfThenStatement
145- // https://docs.oracle.com/javase/specs/jls/se11 /html/jls-14.html#jls-IfThenElseStatement
144+ // https://docs.oracle.com/javase/specs/jls/se16 /html/jls-14.html#jls-IfThenStatement
145+ // https://docs.oracle.com/javase/specs/jls/se16 /html/jls-14.html#jls-IfThenElseStatement
146146 $ . RULE ( "ifStatement" , ( ) => {
147147 $ . CONSUME ( t . If ) ;
148148 $ . CONSUME ( t . LBrace ) ;
@@ -155,7 +155,7 @@ function defineRules($, t) {
155155 } ) ;
156156 } ) ;
157157
158- // https://docs.oracle.com/javase/specs/jls/se11 /html/jls-14.html#jls-AssertStatement
158+ // https://docs.oracle.com/javase/specs/jls/se16 /html/jls-14.html#jls-AssertStatement
159159 $ . RULE ( "assertStatement" , ( ) => {
160160 $ . CONSUME ( t . Assert ) ;
161161 $ . SUBRULE ( $ . expression ) ;
@@ -166,7 +166,7 @@ function defineRules($, t) {
166166 $ . CONSUME ( t . Semicolon ) ;
167167 } ) ;
168168
169- // https://docs.oracle.com/javase/specs/jls/se11 /html/jls-14.html#jls-SwitchStatement
169+ // https://docs.oracle.com/javase/specs/jls/se16 /html/jls-14.html#jls-SwitchStatement
170170 $ . RULE ( "switchStatement" , ( ) => {
171171 $ . CONSUME ( t . Switch ) ;
172172 $ . CONSUME ( t . LBrace ) ;
@@ -175,7 +175,7 @@ function defineRules($, t) {
175175 $ . SUBRULE ( $ . switchBlock ) ;
176176 } ) ;
177177
178- // https://docs.oracle.com/javase/specs/jls/se11 /html/jls-14.html#jls-SwitchBlock
178+ // https://docs.oracle.com/javase/specs/jls/se16 /html/jls-14.html#jls-SwitchBlock
179179 $ . RULE ( "switchBlock" , ( ) => {
180180 $ . CONSUME ( t . LCurly ) ;
181181 $ . OR ( [
@@ -200,7 +200,7 @@ function defineRules($, t) {
200200 } ) ;
201201 } ) ;
202202
203- // https://docs.oracle.com/javase/specs/jls/se11 /html/jls-14.html#jls-SwitchLabel
203+ // https://docs.oracle.com/javase/specs/jls/se16 /html/jls-14.html#jls-SwitchLabel
204204 $ . RULE ( "switchLabel" , ( ) => {
205205 $ . OR ( [
206206 {
@@ -222,7 +222,7 @@ function defineRules($, t) {
222222 ] ) ;
223223 } ) ;
224224
225- // https://docs.oracle.com/javase/specs/jls/se15 /html/jls-14.html#jls-SwitchRule
225+ // https://docs.oracle.com/javase/specs/jls/se16 /html/jls-14.html#jls-SwitchRule
226226 $ . RULE ( "switchRule" , ( ) => {
227227 $ . SUBRULE ( $ . switchLabel ) ;
228228 $ . CONSUME ( t . Arrow ) ;
@@ -238,12 +238,12 @@ function defineRules($, t) {
238238 ] ) ;
239239 } ) ;
240240
241- // https://docs.oracle.com/javase/specs/jls/se11 /html/jls-14.html#jls-EnumConstantName
241+ // https://docs.oracle.com/javase/specs/jls/se16 /html/jls-14.html#jls-EnumConstantName
242242 $ . RULE ( "caseConstant" , ( ) => {
243243 $ . SUBRULE ( $ . ternaryExpression ) ;
244244 } ) ;
245245
246- // https://docs.oracle.com/javase/specs/jls/se11 /html/jls-14.html#jls-WhileStatement
246+ // https://docs.oracle.com/javase/specs/jls/se16 /html/jls-14.html#jls-WhileStatement
247247 $ . RULE ( "whileStatement" , ( ) => {
248248 $ . CONSUME ( t . While ) ;
249249 $ . CONSUME ( t . LBrace ) ;
@@ -252,7 +252,7 @@ function defineRules($, t) {
252252 $ . SUBRULE ( $ . statement ) ;
253253 } ) ;
254254
255- // https://docs.oracle.com/javase/specs/jls/se11 /html/jls-14.html#jls-DoStatement
255+ // https://docs.oracle.com/javase/specs/jls/se16 /html/jls-14.html#jls-DoStatement
256256 $ . RULE ( "doStatement" , ( ) => {
257257 $ . CONSUME ( t . Do ) ;
258258 $ . SUBRULE ( $ . statement ) ;
@@ -262,7 +262,7 @@ function defineRules($, t) {
262262 $ . CONSUME ( t . RBrace ) ;
263263 $ . CONSUME ( t . Semicolon ) ;
264264 } ) ;
265- // https://docs.oracle.com/javase/specs/jls/se11 /html/jls-14.html#jls-ForStatement
265+ // https://docs.oracle.com/javase/specs/jls/se16 /html/jls-14.html#jls-ForStatement
266266 $ . RULE ( "forStatement" , ( ) => {
267267 $ . OR ( [
268268 {
@@ -273,7 +273,7 @@ function defineRules($, t) {
273273 ] ) ;
274274 } ) ;
275275
276- // https://docs.oracle.com/javase/specs/jls/se11 /html/jls-14.html#jls-BasicForStatement
276+ // https://docs.oracle.com/javase/specs/jls/se16 /html/jls-14.html#jls-BasicForStatement
277277 $ . RULE ( "basicForStatement" , ( ) => {
278278 $ . CONSUME ( t . For ) ;
279279 $ . CONSUME ( t . LBrace ) ;
@@ -292,7 +292,7 @@ function defineRules($, t) {
292292 $ . SUBRULE ( $ . statement ) ;
293293 } ) ;
294294
295- // https://docs.oracle.com/javase/specs/jls/se11 /html/jls-14.html#jls-ForInit
295+ // https://docs.oracle.com/javase/specs/jls/se16 /html/jls-14.html#jls-ForInit
296296 $ . RULE ( "forInit" , ( ) => {
297297 $ . OR ( [
298298 {
@@ -303,12 +303,12 @@ function defineRules($, t) {
303303 ] ) ;
304304 } ) ;
305305
306- // https://docs.oracle.com/javase/specs/jls/se11 /html/jls-14.html#jls-ForUpdate
306+ // https://docs.oracle.com/javase/specs/jls/se16 /html/jls-14.html#jls-ForUpdate
307307 $ . RULE ( "forUpdate" , ( ) => {
308308 $ . SUBRULE ( $ . statementExpressionList ) ;
309309 } ) ;
310310
311- // https://docs.oracle.com/javase/specs/jls/se11 /html/jls-14.html#jls-StatementExpressionList
311+ // https://docs.oracle.com/javase/specs/jls/se16 /html/jls-14.html#jls-StatementExpressionList
312312 $ . RULE ( "statementExpressionList" , ( ) => {
313313 $ . SUBRULE ( $ . statementExpression ) ;
314314 $ . MANY ( ( ) => {
@@ -317,7 +317,7 @@ function defineRules($, t) {
317317 } ) ;
318318 } ) ;
319319
320- // https://docs.oracle.com/javase/specs/jls/se11 /html/jls-14.html#jls-EnhancedForStatement
320+ // https://docs.oracle.com/javase/specs/jls/se16 /html/jls-14.html#jls-EnhancedForStatement
321321 $ . RULE ( "enhancedForStatement" , ( ) => {
322322 $ . CONSUME ( t . For ) ;
323323 $ . CONSUME ( t . LBrace ) ;
@@ -332,7 +332,7 @@ function defineRules($, t) {
332332 $ . SUBRULE ( $ . statement ) ;
333333 } ) ;
334334
335- // https://docs.oracle.com/javase/specs/jls/se11 /html/jls-14.html#jls-BreakStatement
335+ // https://docs.oracle.com/javase/specs/jls/se16 /html/jls-14.html#jls-BreakStatement
336336 $ . RULE ( "breakStatement" , ( ) => {
337337 $ . CONSUME ( t . Break ) ;
338338 $ . OPTION ( ( ) => {
@@ -341,7 +341,7 @@ function defineRules($, t) {
341341 $ . CONSUME ( t . Semicolon ) ;
342342 } ) ;
343343
344- // https://docs.oracle.com/javase/specs/jls/se11 /html/jls-14.html#jls-ContinueStatement
344+ // https://docs.oracle.com/javase/specs/jls/se16 /html/jls-14.html#jls-ContinueStatement
345345 $ . RULE ( "continueStatement" , ( ) => {
346346 $ . CONSUME ( t . Continue ) ;
347347 $ . OPTION ( ( ) => {
@@ -350,7 +350,7 @@ function defineRules($, t) {
350350 $ . CONSUME ( t . Semicolon ) ;
351351 } ) ;
352352
353- // https://docs.oracle.com/javase/specs/jls/se11 /html/jls-14.html#jls-ReturnStatement
353+ // https://docs.oracle.com/javase/specs/jls/se16 /html/jls-14.html#jls-ReturnStatement
354354 $ . RULE ( "returnStatement" , ( ) => {
355355 $ . CONSUME ( t . Return ) ;
356356 $ . OPTION ( ( ) => {
@@ -359,14 +359,14 @@ function defineRules($, t) {
359359 $ . CONSUME ( t . Semicolon ) ;
360360 } ) ;
361361
362- // https://docs.oracle.com/javase/specs/jls/se11 /html/jls-14.html#jls-ThrowStatement
362+ // https://docs.oracle.com/javase/specs/jls/se16 /html/jls-14.html#jls-ThrowStatement
363363 $ . RULE ( "throwStatement" , ( ) => {
364364 $ . CONSUME ( t . Throw ) ;
365365 $ . SUBRULE ( $ . expression ) ;
366366 $ . CONSUME ( t . Semicolon ) ;
367367 } ) ;
368368
369- // https://docs.oracle.com/javase/specs/jls/se11 /html/jls-14.html#jls-SynchronizedStatement
369+ // https://docs.oracle.com/javase/specs/jls/se16 /html/jls-14.html#jls-SynchronizedStatement
370370 $ . RULE ( "synchronizedStatement" , ( ) => {
371371 $ . CONSUME ( t . Synchronized ) ;
372372 $ . CONSUME ( t . LBrace ) ;
@@ -375,7 +375,7 @@ function defineRules($, t) {
375375 $ . SUBRULE ( $ . block ) ;
376376 } ) ;
377377
378- // https://docs.oracle.com/javase/specs/jls/se11 /html/jls-14.html#jls-TryStatement
378+ // https://docs.oracle.com/javase/specs/jls/se16 /html/jls-14.html#jls-TryStatement
379379 $ . RULE ( "tryStatement" , ( ) => {
380380 $ . OR ( {
381381 DEF : [
@@ -402,15 +402,15 @@ function defineRules($, t) {
402402 } ) ;
403403 } ) ;
404404
405- // https://docs.oracle.com/javase/specs/jls/se11 /html/jls-14.html#jls-Catches
405+ // https://docs.oracle.com/javase/specs/jls/se16 /html/jls-14.html#jls-Catches
406406 $ . RULE ( "catches" , ( ) => {
407407 $ . SUBRULE ( $ . catchClause ) ;
408408 $ . MANY ( ( ) => {
409409 $ . SUBRULE2 ( $ . catchClause ) ;
410410 } ) ;
411411 } ) ;
412412
413- // https://docs.oracle.com/javase/specs/jls/se11 /html/jls-14.html#jls-CatchClause
413+ // https://docs.oracle.com/javase/specs/jls/se16 /html/jls-14.html#jls-CatchClause
414414 $ . RULE ( "catchClause" , ( ) => {
415415 $ . CONSUME ( t . Catch ) ;
416416 $ . CONSUME ( t . LBrace ) ;
@@ -419,7 +419,7 @@ function defineRules($, t) {
419419 $ . SUBRULE ( $ . block ) ;
420420 } ) ;
421421
422- // https://docs.oracle.com/javase/specs/jls/se11 /html/jls-14.html#jls-CatchFormalParameter
422+ // https://docs.oracle.com/javase/specs/jls/se16 /html/jls-14.html#jls-CatchFormalParameter
423423 $ . RULE ( "catchFormalParameter" , ( ) => {
424424 $ . MANY ( ( ) => {
425425 $ . SUBRULE ( $ . variableModifier ) ;
@@ -428,7 +428,7 @@ function defineRules($, t) {
428428 $ . SUBRULE ( $ . variableDeclaratorId ) ;
429429 } ) ;
430430
431- // https://docs.oracle.com/javase/specs/jls/se11 /html/jls-14.html#jls-CatchType
431+ // https://docs.oracle.com/javase/specs/jls/se16 /html/jls-14.html#jls-CatchType
432432 $ . RULE ( "catchType" , ( ) => {
433433 $ . SUBRULE ( $ . unannClassType ) ;
434434 $ . MANY ( ( ) => {
@@ -437,13 +437,13 @@ function defineRules($, t) {
437437 } ) ;
438438 } ) ;
439439
440- // https://docs.oracle.com/javase/specs/jls/se11 /html/jls-14.html#jls-Finally
440+ // https://docs.oracle.com/javase/specs/jls/se16 /html/jls-14.html#jls-Finally
441441 $ . RULE ( "finally" , ( ) => {
442442 $ . CONSUME ( t . Finally ) ;
443443 $ . SUBRULE ( $ . block ) ;
444444 } ) ;
445445
446- // https://docs.oracle.com/javase/specs/jls/se11 /html/jls-14.html#jls-TryWithResourcesStatement
446+ // https://docs.oracle.com/javase/specs/jls/se16 /html/jls-14.html#jls-TryWithResourcesStatement
447447 $ . RULE ( "tryWithResourcesStatement" , ( ) => {
448448 $ . CONSUME ( t . Try ) ;
449449 $ . SUBRULE ( $ . resourceSpecification ) ;
@@ -456,7 +456,7 @@ function defineRules($, t) {
456456 } ) ;
457457 } ) ;
458458
459- // https://docs.oracle.com/javase/specs/jls/se11 /html/jls-14.html#jls-ResourceSpecification
459+ // https://docs.oracle.com/javase/specs/jls/se16 /html/jls-14.html#jls-ResourceSpecification
460460 $ . RULE ( "resourceSpecification" , ( ) => {
461461 $ . CONSUME ( t . LBrace ) ;
462462 $ . SUBRULE ( $ . resourceList ) ;
@@ -466,7 +466,7 @@ function defineRules($, t) {
466466 $ . CONSUME ( t . RBrace ) ;
467467 } ) ;
468468
469- // https://docs.oracle.com/javase/specs/jls/se11 /html/jls-14.html#jls-ResourceList
469+ // https://docs.oracle.com/javase/specs/jls/se16 /html/jls-14.html#jls-ResourceList
470470 $ . RULE ( "resourceList" , ( ) => {
471471 $ . SUBRULE ( $ . resource ) ;
472472 $ . MANY ( {
@@ -478,7 +478,7 @@ function defineRules($, t) {
478478 } ) ;
479479 } ) ;
480480
481- // https://docs.oracle.com/javase/specs/jls/se11 /html/jls-14.html#jls-Resource
481+ // https://docs.oracle.com/javase/specs/jls/se16 /html/jls-14.html#jls-Resource
482482 $ . RULE ( "resource" , ( ) => {
483483 $ . OR ( [
484484 {
@@ -502,14 +502,14 @@ function defineRules($, t) {
502502 $ . SUBRULE ( $ . expression ) ;
503503 } ) ;
504504
505- // https://docs.oracle.com/javase/specs/jls/se15 /html/jls-14.html#jls-YieldStatement
505+ // https://docs.oracle.com/javase/specs/jls/se16 /html/jls-14.html#jls-YieldStatement
506506 $ . RULE ( "yieldStatement" , ( ) => {
507507 $ . CONSUME ( t . Yield ) ;
508508 $ . SUBRULE ( $ . expression ) ;
509509 $ . CONSUME ( t . Semicolon ) ;
510510 } ) ;
511511
512- // https://docs.oracle.com/javase/specs/jls/se11 /html/jls-14.html#jls-VariableAccess
512+ // https://docs.oracle.com/javase/specs/jls/se16 /html/jls-14.html#jls-VariableAccess
513513 $ . RULE ( "variableAccess" , ( ) => {
514514 // Spec Deviation: both "expressionName" and "fieldAccess" can be parsed
515515 // by the "primary" rule
0 commit comments