Bug 195551

Summary: Multi-valued annotation value; trailing , excepted - rejected by javac
Product: [Eclipse Project] JDT Reporter: Sebastian Davids <sdavids>
Component: CoreAssignee: JDT-Core-Inbox <jdt-core-inbox>
Status: RESOLVED DUPLICATE QA Contact:
Severity: normal    
Priority: P3    
Version: 3.3   
Target Milestone: 3.2   
Hardware: All   
OS: All   
Whiteboard:

Description Sebastian Davids CLA 2007-07-05 12:49:49 EDT
@@ Container.java @@

public @interface Container { Member[] value(); }

@@ Member.java @@

public @interface Member {}

@@ Test.java @@

@Container( { @Member, @Member })
class A {}

@Container( { @Member, })
class B {}

@Container( { @Member, @Member })
class C {}

@Container( { @Member, @Member, })
class D {}

@Container( { @Member, @Member, @Member })
class E {}

@Container( { @Member, @Member, @Member, })
class F {}

public class Test {}

@@@@

Above excepted by JDT compiler but rejected by javac:

$ javac *
Test.java:4: illegal start of expression
@Container( { @Member, })
                       ^
Test.java:10: illegal start of expression
@Container( { @Member, @Member, })
                                ^
Test.java:16: illegal start of expression
@Container( { @Member, @Member, @Member, })
                                         ^
3 errors
Comment 1 Olivier Thomann CLA 2007-07-05 12:56:57 EDT
AFAICT, this is a javac bug.
Closing as a dup of bug 138443.

*** This bug has been marked as a duplicate of bug 138443 ***