Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 287648 | Differences between
and this patch

Collapse All | Expand All

(-)grammar/java.g (-22 / +108 lines)
Lines 178-185 Link Here
178
Goal ::= '>>' Initializer
178
Goal ::= '>>' Initializer
179
-- error recovery
179
-- error recovery
180
-- Modifiersopt is used to properly consume a header and exit the rule reduction at the end of the parse() method
180
-- Modifiersopt is used to properly consume a header and exit the rule reduction at the end of the parse() method
181
Goal ::= '>>>' Header1 Modifiersopt
181
Goal ::= '>>>' Header1
182
Goal ::= '!' Header2 Modifiersopt
182
Goal ::= '!' Header2
183
Goal ::= '*' BlockStatements
183
Goal ::= '*' BlockStatements
184
Goal ::= '*' CatchHeader
184
Goal ::= '*' CatchHeader
185
-- JDOM
185
-- JDOM
Lines 213-221 Link Here
213
BooleanLiteral -> false
213
BooleanLiteral -> false
214
/:$readableName BooleanLiteral:/
214
/:$readableName BooleanLiteral:/
215
215
216
Type ::= PrimitiveType
216
Type ::= UnannotatedType
217
Type ::= OneOrMoreAnnotations UnannotatedType
218
219
UnannotatedType ::= PrimitiveType
217
/.$putCase consumePrimitiveType(); $break ./
220
/.$putCase consumePrimitiveType(); $break ./
218
Type -> ReferenceType
221
UnannotatedType -> ReferenceType
219
/:$readableName Type:/
222
/:$readableName Type:/
220
223
221
PrimitiveType -> NumericType
224
PrimitiveType -> NumericType
Lines 282-287 Link Here
282
/:$readableName ArrayType:/
285
/:$readableName ArrayType:/
283
286
284
ClassType -> ClassOrInterfaceType
287
ClassType -> ClassOrInterfaceType
288
ClassType ::= OneOrMoreAnnotations ClassOrInterfaceType
285
/:$readableName ClassType:/
289
/:$readableName ClassType:/
286
290
287
--------------------------------------------------------------
291
--------------------------------------------------------------
Lines 483-489 Link Here
483
/.$putCase consumeInterfaceTypeList(); $break ./
487
/.$putCase consumeInterfaceTypeList(); $break ./
484
/:$readableName InterfaceTypeList:/
488
/:$readableName InterfaceTypeList:/
485
489
486
InterfaceType ::= ClassOrInterfaceType
490
InterfaceType ::= Annotationsopt ClassOrInterfaceType
487
/.$putCase consumeInterfaceType(); $break ./
491
/.$putCase consumeInterfaceType(); $break ./
488
/:$readableName InterfaceType:/
492
/:$readableName InterfaceType:/
489
493
Lines 548-554 Link Here
548
--    | 'transient'
552
--    | 'transient'
549
--    | 'volatile'
553
--    | 'volatile'
550
554
551
FieldDeclaration ::= Modifiersopt Type VariableDeclarators ';'
555
FieldDeclaration ::= Modifiersopt UnannotatedType VariableDeclarators ';'
552
/.$putCase consumeFieldDeclaration(); $break ./
556
/.$putCase consumeFieldDeclaration(); $break ./
553
/:$readableName FieldDeclaration:/
557
/:$readableName FieldDeclaration:/
554
558
Lines 619-625 Link Here
619
623
620
MethodHeaderName ::= Modifiersopt TypeParameters Type 'Identifier' '('
624
MethodHeaderName ::= Modifiersopt TypeParameters Type 'Identifier' '('
621
/.$putCase consumeMethodHeaderNameWithTypeParameters(false); $break ./
625
/.$putCase consumeMethodHeaderNameWithTypeParameters(false); $break ./
622
MethodHeaderName ::= Modifiersopt Type 'Identifier' '('
626
MethodHeaderName ::= Modifiersopt UnannotatedType 'Identifier' '('
623
/.$putCase consumeMethodHeaderName(false); $break ./
627
/.$putCase consumeMethodHeaderName(false); $break ./
624
/:$readableName MethodHeaderName:/
628
/:$readableName MethodHeaderName:/
625
629
Lines 628-634 Link Here
628
/:$readableName ):/
632
/:$readableName ):/
629
/:$recovery_template ):/
633
/:$recovery_template ):/
630
634
631
MethodHeaderExtendedDims ::= Dimsopt
635
MethodHeaderExtendedDims ::= DimsoptAnnotsopt
632
/.$putCase consumeMethodHeaderExtendedDims(); $break ./
636
/.$putCase consumeMethodHeaderExtendedDims(); $break ./
633
/:$readableName MethodHeaderExtendedDims:/
637
/:$readableName MethodHeaderExtendedDims:/
634
638
Lines 636-642 Link Here
636
/.$putCase consumeMethodHeaderThrowsClause(); $break ./
640
/.$putCase consumeMethodHeaderThrowsClause(); $break ./
637
/:$readableName MethodHeaderThrowsClause:/
641
/:$readableName MethodHeaderThrowsClause:/
638
642
639
ConstructorHeader ::= ConstructorHeaderName FormalParameterListopt MethodHeaderRightParen MethodHeaderThrowsClauseopt
643
ConstructorHeader ::= ConstructorHeaderName FormalParameterListopt MethodHeaderRightParen Annotationsopt MethodHeaderThrowsClauseopt
640
/.$putCase consumeConstructorHeader(); $break ./
644
/.$putCase consumeConstructorHeader(); $break ./
641
/:$readableName ConstructorDeclaration:/
645
/:$readableName ConstructorDeclaration:/
642
646
Lines 652-660 Link Here
652
/:$readableName FormalParameterList:/
656
/:$readableName FormalParameterList:/
653
657
654
--1.1 feature
658
--1.1 feature
655
FormalParameter ::= Modifiersopt Type VariableDeclaratorId
659
--FormalParameter ::= Modifiersopt Type VariableDeclaratorId
660
--FormalParameter ::= Modifiersopt Type '...' VariableDeclaratorId
661
--The above rules have been rewritten along the lines of CastExpression
662
--to avoid the conflicts resulting from jsr308 changes.
663
FormalParameter ::= Modifiersopt PrimitiveType DimsoptAnnotsopt VariableDeclaratorId
664
/.$putCase consumeFormalParameter(false); $break ./
665
FormalParameter ::= Modifiersopt PrimitiveType DimsoptAnnotsopt '...' VariableDeclaratorId
666
/.$putCase consumeFormalParameter(true); $break ./
667
FormalParameter ::= Modifiersopt Name DimsoptAnnotsopt VariableDeclaratorId
668
/.$putCase consumeFormalParameter(false); $break ./
669
FormalParameter ::= Modifiersopt Name DimsoptAnnotsopt '...' VariableDeclaratorId
670
/.$putCase consumeFormalParameter(true); $break ./
671
FormalParameter ::= Modifiersopt Name TypeArguments DimsoptAnnotsopt VariableDeclaratorId
656
/.$putCase consumeFormalParameter(false); $break ./
672
/.$putCase consumeFormalParameter(false); $break ./
657
FormalParameter ::= Modifiersopt Type '...' VariableDeclaratorId
673
FormalParameter ::= Modifiersopt Name TypeArguments DimsoptAnnotsopt '...' VariableDeclaratorId
674
/.$putCase consumeFormalParameter(true); $break ./
675
FormalParameter ::= Modifiersopt Name TypeArguments '.' ClassOrInterfaceType DimsoptAnnotsopt VariableDeclaratorId
676
/.$putCase consumeFormalParameter(false); $break ./
677
FormalParameter ::= Modifiersopt Name TypeArguments '.' ClassOrInterfaceType DimsoptAnnotsopt '...' VariableDeclaratorId
658
/.$putCase consumeFormalParameter(true); $break ./
678
/.$putCase consumeFormalParameter(true); $break ./
659
/:$readableName FormalParameter:/
679
/:$readableName FormalParameter:/
660
/:$compliance 1.5:/
680
/:$compliance 1.5:/
Lines 865-877 Link Here
865
/.$putCase consumeLocalVariableDeclarationStatement(); $break ./
885
/.$putCase consumeLocalVariableDeclarationStatement(); $break ./
866
/:$readableName LocalVariableDeclarationStatement:/
886
/:$readableName LocalVariableDeclarationStatement:/
867
887
868
LocalVariableDeclaration ::= Type PushModifiers VariableDeclarators
888
LocalVariableDeclaration ::= UnannotatedType PushModifiers VariableDeclarators
869
/.$putCase consumeLocalVariableDeclaration(); $break ./
889
/.$putCase consumeLocalVariableDeclaration(); $break ./
870
-- 1.1 feature
890
-- 1.1 feature
871
-- The modifiers part of this rule makes the grammar more permissive. 
891
-- The modifiers part of this rule makes the grammar more permissive. 
872
-- The only modifier here is final. We put Modifiers to allow multiple modifiers
892
-- The only modifier here is final. We put Modifiers to allow multiple modifiers
873
-- This will require to check the validity of the modifier
893
-- This will require to check the validity of the modifier
874
LocalVariableDeclaration ::= Modifiers Type PushRealModifiers VariableDeclarators
894
LocalVariableDeclaration ::= Modifiers UnannotatedType PushRealModifiers VariableDeclarators
875
/.$putCase consumeLocalVariableDeclaration(); $break ./
895
/.$putCase consumeLocalVariableDeclaration(); $break ./
876
/:$readableName LocalVariableDeclaration:/
896
/:$readableName LocalVariableDeclaration:/
877
897
Lines 1217-1242 Link Here
1217
/.$putCase consumeArgumentList(); $break ./
1237
/.$putCase consumeArgumentList(); $break ./
1218
/:$readableName ArgumentList:/
1238
/:$readableName ArgumentList:/
1219
1239
1220
ArrayCreationHeader ::= 'new' PrimitiveType DimWithOrWithOutExprs
1240
ArrayCreationHeader ::= 'new' Annotationsopt PrimitiveType DimWithOrWithOutExprs
1221
/.$putCase consumeArrayCreationHeader(); $break ./
1241
/.$putCase consumeArrayCreationHeader(); $break ./
1222
1242
1223
ArrayCreationHeader ::= 'new' ClassOrInterfaceType DimWithOrWithOutExprs
1243
ArrayCreationHeader ::= 'new' ClassOrInterfaceType DimWithOrWithOutExprs
1224
/.$putCase consumeArrayCreationHeader(); $break ./
1244
/.$putCase consumeArrayCreationHeader(); $break ./
1245
ArrayCreationHeader ::= 'new' OneOrMoreAnnotations ClassOrInterfaceType DimWithOrWithOutExprs
1246
/.$putCase consumeArrayCreationHeader(); $break ./
1225
/:$readableName ArrayCreationHeader:/
1247
/:$readableName ArrayCreationHeader:/
1226
1248
1227
ArrayCreationWithoutArrayInitializer ::= 'new' PrimitiveType DimWithOrWithOutExprs
1249
ArrayCreationWithoutArrayInitializer ::= 'new' PrimitiveType DimWithOrWithOutExprs
1228
/.$putCase consumeArrayCreationExpressionWithoutInitializer(); $break ./
1250
/.$putCase consumeArrayCreationExpressionWithoutInitializer(); $break ./
1251
ArrayCreationWithoutArrayInitializer ::= 'new' OneOrMoreAnnotations PrimitiveType DimWithOrWithOutExprs
1252
/.$putCase consumeArrayCreationExpressionWithoutInitializer(); $break ./
1229
/:$readableName ArrayCreationWithoutArrayInitializer:/
1253
/:$readableName ArrayCreationWithoutArrayInitializer:/
1230
1254
1231
ArrayCreationWithArrayInitializer ::= 'new' PrimitiveType DimWithOrWithOutExprs ArrayInitializer
1255
ArrayCreationWithArrayInitializer ::= 'new' PrimitiveType DimWithOrWithOutExprs ArrayInitializer
1232
/.$putCase consumeArrayCreationExpressionWithInitializer(); $break ./
1256
/.$putCase consumeArrayCreationExpressionWithInitializer(); $break ./
1257
ArrayCreationWithArrayInitializer ::= 'new' OneOrMoreAnnotations PrimitiveType DimWithOrWithOutExprs ArrayInitializer
1258
/.$putCase consumeArrayCreationExpressionWithInitializer(); $break ./
1233
/:$readableName ArrayCreationWithArrayInitializer:/
1259
/:$readableName ArrayCreationWithArrayInitializer:/
1234
1260
1235
ArrayCreationWithoutArrayInitializer ::= 'new' ClassOrInterfaceType DimWithOrWithOutExprs
1261
ArrayCreationWithoutArrayInitializer ::= 'new' ClassOrInterfaceType DimWithOrWithOutExprs
1236
/.$putCase consumeArrayCreationExpressionWithoutInitializer(); $break ./
1262
/.$putCase consumeArrayCreationExpressionWithoutInitializer(); $break ./
1263
ArrayCreationWithoutArrayInitializer ::= 'new' OneOrMoreAnnotations ClassOrInterfaceType DimWithOrWithOutExprs
1264
/.$putCase consumeArrayCreationExpressionWithoutInitializer(); $break ./
1237
1265
1238
ArrayCreationWithArrayInitializer ::= 'new' ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer
1266
ArrayCreationWithArrayInitializer ::= 'new' ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer
1239
/.$putCase consumeArrayCreationExpressionWithInitializer(); $break ./
1267
/.$putCase consumeArrayCreationExpressionWithInitializer(); $break ./
1268
ArrayCreationWithArrayInitializer ::= 'new' OneOrMoreAnnotations ClassOrInterfaceType DimWithOrWithOutExprs ArrayInitializer
1269
/.$putCase consumeArrayCreationExpressionWithInitializer(); $break ./
1240
1270
1241
DimWithOrWithOutExprs ::= DimWithOrWithOutExpr
1271
DimWithOrWithOutExprs ::= DimWithOrWithOutExpr
1242
DimWithOrWithOutExprs ::= DimWithOrWithOutExprs DimWithOrWithOutExpr
1272
DimWithOrWithOutExprs ::= DimWithOrWithOutExprs DimWithOrWithOutExpr
Lines 1249-1254 Link Here
1249
/:$readableName Dimension:/
1279
/:$readableName Dimension:/
1250
-- -----------------------------------------------
1280
-- -----------------------------------------------
1251
1281
1282
-- jsr 308
1283
1284
DimsoptAnnotsopt -> $empty
1285
DimsoptAnnotsopt -> DimsAnnotLoop
1286
DimsAnnotLoop ::= OneDimOrAnnot
1287
DimsAnnotLoop ::= DimsAnnotLoop OneDimOrAnnot
1288
1289
OneDimOrAnnot -> Annotation
1290
OneDimOrAnnot -> '[' ']'
1291
1292
Annotationsopt ::= $empty
1293
Annotationsopt -> OneOrMoreAnnotations
1294
OneOrMoreAnnotations -> Annotation
1295
OneOrMoreAnnotations ::= OneOrMoreAnnotations Annotation
1296
1252
Dims ::= DimsLoop
1297
Dims ::= DimsLoop
1253
/. $putCase consumeDims(); $break ./
1298
/. $putCase consumeDims(); $break ./
1254
/:$readableName Dimensions:/
1299
/:$readableName Dimensions:/
Lines 1258-1263 Link Here
1258
OneDimLoop ::= '[' ']'
1303
OneDimLoop ::= '[' ']'
1259
/. $putCase consumeOneDimLoop(); $break ./
1304
/. $putCase consumeOneDimLoop(); $break ./
1260
/:$readableName Dimension:/
1305
/:$readableName Dimension:/
1306
OneDimLoop ::= OneOrMoreAnnotations '[' ']'
1261
1307
1262
FieldAccess ::= Primary '.' 'Identifier'
1308
FieldAccess ::= Primary '.' 'Identifier'
1263
/.$putCase consumeFieldAccess(false); $break ./
1309
/.$putCase consumeFieldAccess(false); $break ./
Lines 1340-1353 Link Here
1340
1386
1341
CastExpression ::= PushLPAREN PrimitiveType Dimsopt PushRPAREN InsideCastExpression UnaryExpression
1387
CastExpression ::= PushLPAREN PrimitiveType Dimsopt PushRPAREN InsideCastExpression UnaryExpression
1342
/.$putCase consumeCastExpressionWithPrimitiveType(); $break ./
1388
/.$putCase consumeCastExpressionWithPrimitiveType(); $break ./
1389
CastExpression ::= PushLPAREN OneOrMoreAnnotations PrimitiveType Dimsopt PushRPAREN InsideCastExpression UnaryExpression
1390
/.$putCase consumeCastExpressionWithPrimitiveType(); $break ./
1343
CastExpression ::= PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus
1391
CastExpression ::= PushLPAREN Name OnlyTypeArgumentsForCastExpression Dimsopt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus
1344
/.$putCase consumeCastExpressionWithGenericsArray(); $break ./
1392
/.$putCase consumeCastExpressionWithGenericsArray(); $break ./
1393
CastExpression ::= PushLPAREN OneOrMoreAnnotations Name OnlyTypeArgumentsForCastExpression Dimsopt PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus
1394
/.$putCase consumeCastExpressionWithGenericsArray(); $break ./
1345
CastExpression ::= PushLPAREN Name OnlyTypeArgumentsForCastExpression '.' ClassOrInterfaceType Dimsopt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus
1395
CastExpression ::= PushLPAREN Name OnlyTypeArgumentsForCastExpression '.' ClassOrInterfaceType Dimsopt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus
1346
/.$putCase consumeCastExpressionWithQualifiedGenericsArray(); $break ./
1396
/.$putCase consumeCastExpressionWithQualifiedGenericsArray(); $break ./
1397
CastExpression ::= PushLPAREN OneOrMoreAnnotations Name OnlyTypeArgumentsForCastExpression '.' ClassOrInterfaceType Dimsopt PushRPAREN InsideCastExpressionWithQualifiedGenerics UnaryExpressionNotPlusMinus
1398
/.$putCase consumeCastExpressionWithQualifiedGenericsArray(); $break ./
1347
CastExpression ::= PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus
1399
CastExpression ::= PushLPAREN Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus
1348
/.$putCase consumeCastExpressionLL1(); $break ./
1400
/.$putCase consumeCastExpressionLL1(); $break ./
1401
CastExpression ::= PushLPAREN OneOrMoreAnnotations Name PushRPAREN InsideCastExpressionLL1 UnaryExpressionNotPlusMinus
1402
/.$putCase consumeCastExpressionLL1(); $break ./
1349
CastExpression ::= PushLPAREN Name Dims PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus
1403
CastExpression ::= PushLPAREN Name Dims PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus
1350
/.$putCase consumeCastExpressionWithNameArray(); $break ./
1404
/.$putCase consumeCastExpressionWithNameArray(); $break ./
1405
CastExpression ::= PushLPAREN OneOrMoreAnnotations Name Dims PushRPAREN InsideCastExpression UnaryExpressionNotPlusMinus
1406
/.$putCase consumeCastExpressionWithNameArray(); $break ./
1351
/:$readableName CastExpression:/
1407
/:$readableName CastExpression:/
1352
1408
1353
OnlyTypeArgumentsForCastExpression ::= OnlyTypeArguments
1409
OnlyTypeArgumentsForCastExpression ::= OnlyTypeArguments
Lines 1401-1407 Link Here
1401
/:$readableName Expression:/
1457
/:$readableName Expression:/
1402
1458
1403
InstanceofExpression -> RelationalExpression
1459
InstanceofExpression -> RelationalExpression
1404
InstanceofExpression ::= InstanceofExpression 'instanceof' ReferenceType
1460
InstanceofExpression ::= InstanceofExpression 'instanceof' Annotationsopt ReferenceType
1405
/.$putCase consumeInstanceOfExpression(); $break ./
1461
/.$putCase consumeInstanceOfExpression(); $break ./
1406
/:$readableName Expression:/
1462
/:$readableName Expression:/
1407
1463
Lines 1666-1676 Link Here
1666
/.$putCase consumeEnhancedForStatement(); $break ./
1722
/.$putCase consumeEnhancedForStatement(); $break ./
1667
/:$readableName EnhancedForStatementNoShortIf:/
1723
/:$readableName EnhancedForStatementNoShortIf:/
1668
1724
1669
EnhancedForStatementHeaderInit ::= 'for' '(' Type PushModifiers Identifier Dimsopt
1725
EnhancedForStatementHeaderInit ::= 'for' '(' UnannotatedType PushModifiers Identifier Dimsopt
1670
/.$putCase consumeEnhancedForStatementHeaderInit(false); $break ./
1726
/.$putCase consumeEnhancedForStatementHeaderInit(false); $break ./
1671
/:$readableName EnhancedForStatementHeaderInit:/
1727
/:$readableName EnhancedForStatementHeaderInit:/
1672
1728
1673
EnhancedForStatementHeaderInit ::= 'for' '(' Modifiers Type PushRealModifiers Identifier Dimsopt
1729
EnhancedForStatementHeaderInit ::= 'for' '(' Modifiers UnannotatedType PushRealModifiers Identifier Dimsopt
1674
/.$putCase consumeEnhancedForStatementHeaderInit(true); $break ./
1730
/.$putCase consumeEnhancedForStatementHeaderInit(true); $break ./
1675
/:$readableName EnhancedForStatementHeaderInit:/
1731
/:$readableName EnhancedForStatementHeaderInit:/
1676
1732
Lines 1730-1735 Link Here
1730
TypeArgument ::= ReferenceType
1786
TypeArgument ::= ReferenceType
1731
/.$putCase consumeTypeArgument(); $break ./
1787
/.$putCase consumeTypeArgument(); $break ./
1732
/:$compliance 1.5:/
1788
/:$compliance 1.5:/
1789
TypeArgument ::= OneOrMoreAnnotations ReferenceType
1790
/.$putCase consumeTypeArgument(); $break ./
1791
/:$compliance 1.5:/
1733
TypeArgument -> Wildcard
1792
TypeArgument -> Wildcard
1734
/:$readableName TypeArgument:/
1793
/:$readableName TypeArgument:/
1735
/:$compliance 1.5:/
1794
/:$compliance 1.5:/
Lines 1743-1750 Link Here
1743
ReferenceType1 ::= ReferenceType '>'
1802
ReferenceType1 ::= ReferenceType '>'
1744
/.$putCase consumeReferenceType1(); $break ./
1803
/.$putCase consumeReferenceType1(); $break ./
1745
/:$compliance 1.5:/
1804
/:$compliance 1.5:/
1805
ReferenceType1 ::= OneOrMoreAnnotations ReferenceType '>'
1806
/.$putCase consumeReferenceType1(); $break ./
1807
/:$compliance 1.5:/
1746
ReferenceType1 ::= ClassOrInterface '<' TypeArgumentList2
1808
ReferenceType1 ::= ClassOrInterface '<' TypeArgumentList2
1747
/.$putCase consumeTypeArgumentReferenceType1(); $break ./
1809
/.$putCase consumeTypeArgumentReferenceType1(); $break ./
1810
ReferenceType1 ::= OneOrMoreAnnotations ClassOrInterface '<' TypeArgumentList2
1811
/.$putCase consumeTypeArgumentReferenceType1(); $break ./
1748
/:$readableName ReferenceType1:/
1812
/:$readableName ReferenceType1:/
1749
/:$compliance 1.5:/
1813
/:$compliance 1.5:/
1750
1814
Lines 1764-1771 Link Here
1764
ReferenceType2 ::= ReferenceType '>>'
1828
ReferenceType2 ::= ReferenceType '>>'
1765
/.$putCase consumeReferenceType2(); $break ./
1829
/.$putCase consumeReferenceType2(); $break ./
1766
/:$compliance 1.5:/
1830
/:$compliance 1.5:/
1831
ReferenceType2 ::= OneOrMoreAnnotations ReferenceType '>>'
1832
/.$putCase consumeReferenceType2(); $break ./
1833
/:$compliance 1.5:/
1767
ReferenceType2 ::= ClassOrInterface '<' TypeArgumentList3
1834
ReferenceType2 ::= ClassOrInterface '<' TypeArgumentList3
1768
/.$putCase consumeTypeArgumentReferenceType2(); $break ./
1835
/.$putCase consumeTypeArgumentReferenceType2(); $break ./
1836
ReferenceType2 ::= OneOrMoreAnnotations ClassOrInterface '<' TypeArgumentList3
1837
/.$putCase consumeTypeArgumentReferenceType2(); $break ./
1769
/:$readableName ReferenceType2:/
1838
/:$readableName ReferenceType2:/
1770
/:$compliance 1.5:/
1839
/:$compliance 1.5:/
1771
1840
Lines 1782-1787 Link Here
1782
1851
1783
ReferenceType3 ::= ReferenceType '>>>'
1852
ReferenceType3 ::= ReferenceType '>>>'
1784
/.$putCase consumeReferenceType3(); $break ./
1853
/.$putCase consumeReferenceType3(); $break ./
1854
ReferenceType3 ::= OneOrMoreAnnotations ReferenceType '>>>'
1855
/.$putCase consumeReferenceType3(); $break ./
1785
/:$readableName ReferenceType3:/
1856
/:$readableName ReferenceType3:/
1786
/:$compliance 1.5:/
1857
/:$compliance 1.5:/
1787
1858
Lines 1796-1803 Link Here
1796
WildcardBounds ::= 'extends' ReferenceType
1867
WildcardBounds ::= 'extends' ReferenceType
1797
/.$putCase consumeWildcardBoundsExtends(); $break ./
1868
/.$putCase consumeWildcardBoundsExtends(); $break ./
1798
/:$compliance 1.5:/
1869
/:$compliance 1.5:/
1870
WildcardBounds ::= 'extends' OneOrMoreAnnotations ReferenceType
1871
/.$putCase consumeWildcardBoundsExtends(); $break ./
1872
/:$compliance 1.5:/
1799
WildcardBounds ::= 'super' ReferenceType
1873
WildcardBounds ::= 'super' ReferenceType
1800
/.$putCase consumeWildcardBoundsSuper(); $break ./
1874
/.$putCase consumeWildcardBoundsSuper(); $break ./
1875
WildcardBounds ::= 'super' OneOrMoreAnnotations ReferenceType
1876
/.$putCase consumeWildcardBoundsSuper(); $break ./
1801
/:$readableName WildcardBounds:/
1877
/:$readableName WildcardBounds:/
1802
/:$compliance 1.5:/
1878
/:$compliance 1.5:/
1803
1879
Lines 1849-1855 Link Here
1849
/:$readableName WildcardBound3:/
1925
/:$readableName WildcardBound3:/
1850
/:$compliance 1.5:/
1926
/:$compliance 1.5:/
1851
1927
1852
TypeParameterHeader ::= Identifier
1928
TypeParameterHeader ::= Annotationsopt Identifier
1853
/.$putCase consumeTypeParameterHeader(); $break ./
1929
/.$putCase consumeTypeParameterHeader(); $break ./
1854
/:$readableName TypeParameter:/
1930
/:$readableName TypeParameter:/
1855
/:$compliance 1.5:/
1931
/:$compliance 1.5:/
Lines 1871-1878 Link Here
1871
TypeParameter ::= TypeParameterHeader 'extends' ReferenceType
1947
TypeParameter ::= TypeParameterHeader 'extends' ReferenceType
1872
/.$putCase consumeTypeParameterWithExtends(); $break ./
1948
/.$putCase consumeTypeParameterWithExtends(); $break ./
1873
/:$compliance 1.5:/
1949
/:$compliance 1.5:/
1950
TypeParameter ::= TypeParameterHeader 'extends' OneOrMoreAnnotations ReferenceType
1951
/.$putCase consumeTypeParameterWithExtends(); $break ./
1952
/:$compliance 1.5:/
1874
TypeParameter ::= TypeParameterHeader 'extends' ReferenceType AdditionalBoundList
1953
TypeParameter ::= TypeParameterHeader 'extends' ReferenceType AdditionalBoundList
1875
/.$putCase consumeTypeParameterWithExtendsAndBounds(); $break ./
1954
/.$putCase consumeTypeParameterWithExtendsAndBounds(); $break ./
1955
TypeParameter ::= TypeParameterHeader 'extends' OneOrMoreAnnotations ReferenceType AdditionalBoundList
1956
/.$putCase consumeTypeParameterWithExtendsAndBounds(); $break ./
1876
/:$readableName TypeParameter:/
1957
/:$readableName TypeParameter:/
1877
/:$compliance 1.5:/
1958
/:$compliance 1.5:/
1878
1959
Lines 1884-1889 Link Here
1884
1965
1885
AdditionalBound ::= '&' ReferenceType
1966
AdditionalBound ::= '&' ReferenceType
1886
/.$putCase consumeAdditionalBound(); $break ./
1967
/.$putCase consumeAdditionalBound(); $break ./
1968
AdditionalBound ::= '&' OneOrMoreAnnotations ReferenceType
1969
/.$putCase consumeAdditionalBound(); $break ./
1887
/:$readableName AdditionalBound:/
1970
/:$readableName AdditionalBound:/
1888
/:$compliance 1.5:/
1971
/:$compliance 1.5:/
1889
1972
Lines 1902-1907 Link Here
1902
/:$compliance 1.5:/
1985
/:$compliance 1.5:/
1903
TypeParameter1 ::= TypeParameterHeader 'extends' ReferenceType AdditionalBoundList1
1986
TypeParameter1 ::= TypeParameterHeader 'extends' ReferenceType AdditionalBoundList1
1904
/.$putCase consumeTypeParameter1WithExtendsAndBounds(); $break ./
1987
/.$putCase consumeTypeParameter1WithExtendsAndBounds(); $break ./
1988
TypeParameter1 ::= TypeParameterHeader 'extends' OneOrMoreAnnotations ReferenceType AdditionalBoundList1
1989
/.$putCase consumeTypeParameter1WithExtendsAndBounds(); $break ./
1905
/:$readableName TypeParameter1:/
1990
/:$readableName TypeParameter1:/
1906
/:$compliance 1.5:/
1991
/:$compliance 1.5:/
1907
1992
Lines 2003-2011 Link Here
2003
/:$readableName Expression:/
2088
/:$readableName Expression:/
2004
2089
2005
InstanceofExpression_NotName -> RelationalExpression_NotName
2090
InstanceofExpression_NotName -> RelationalExpression_NotName
2006
InstanceofExpression_NotName ::= Name 'instanceof' ReferenceType
2091
InstanceofExpression_NotName ::= Name 'instanceof' Annotationsopt ReferenceType
2007
/.$putCase consumeInstanceOfExpressionWithName(); $break ./
2092
/.$putCase consumeInstanceOfExpressionWithName(); $break ./
2008
InstanceofExpression_NotName  ::= InstanceofExpression_NotName 'instanceof' ReferenceType
2093
InstanceofExpression_NotName  ::= InstanceofExpression_NotName 'instanceof' Annotationsopt ReferenceType
2009
/.$putCase consumeInstanceOfExpression(); $break ./
2094
/.$putCase consumeInstanceOfExpression(); $break ./
2010
/:$readableName Expression:/
2095
/:$readableName Expression:/
2011
2096
Lines 2119-2125 Link Here
2119
2204
2120
AnnotationMethodHeaderName ::= Modifiersopt TypeParameters Type 'Identifier' '('
2205
AnnotationMethodHeaderName ::= Modifiersopt TypeParameters Type 'Identifier' '('
2121
/.$putCase consumeMethodHeaderNameWithTypeParameters(true); $break ./
2206
/.$putCase consumeMethodHeaderNameWithTypeParameters(true); $break ./
2122
AnnotationMethodHeaderName ::= Modifiersopt Type 'Identifier' '('
2207
AnnotationMethodHeaderName ::= Modifiersopt UnannotatedType 'Identifier' '('
2123
/.$putCase consumeMethodHeaderName(true); $break ./
2208
/.$putCase consumeMethodHeaderName(true); $break ./
2124
/:$readableName MethodHeaderName:/
2209
/:$readableName MethodHeaderName:/
2125
/:$compliance 1.5:/
2210
/:$compliance 1.5:/
Lines 2262-2268 Link Here
2262
RecoveryMethodHeaderName ::= Modifiersopt TypeParameters Type 'Identifier' '('
2347
RecoveryMethodHeaderName ::= Modifiersopt TypeParameters Type 'Identifier' '('
2263
/.$putCase consumeRecoveryMethodHeaderNameWithTypeParameters(); $break ./
2348
/.$putCase consumeRecoveryMethodHeaderNameWithTypeParameters(); $break ./
2264
/:$compliance 1.5:/
2349
/:$compliance 1.5:/
2265
RecoveryMethodHeaderName ::= Modifiersopt Type 'Identifier' '('
2350
RecoveryMethodHeaderName ::= Modifiersopt UnannotatedType 'Identifier' '('
2266
/.$putCase consumeRecoveryMethodHeaderName(); $break ./
2351
/.$putCase consumeRecoveryMethodHeaderName(); $break ./
2267
/:$readableName MethodHeaderName:/
2352
/:$readableName MethodHeaderName:/
2268
2353
Lines 2331-2333 Link Here
2331
2416
2332
$end
2417
$end
2333
-- need a carriage return after the $end
2418
-- need a carriage return after the $end
2419

Return to bug 287648