test case related to AssertionError (8009360)

Steve Sides steve.sides at oracle.com
Mon Apr 8 11:12:42 PDT 2013


This came in as a webbug, seems like chasing the AssertionError around...

public class AnnotatedQualifiedThrows {
     class InnerException extends Exception { }
     void foo() throws @C AnnotatedQualifiedThrows. at C InnerException {    }
}

@Target(ElementType.TYPE_USE) @interface C { }


When compiled with jdk8 builds, it results in a NullPointerException, 
but when compiled with latest type-annotations build it results in an 
AssertionError:

---------- javac ----------
An exception has occurred in the compiler (1.8.0-ea). Please file a bug 
at the Java Developer Connection 
(http://java.sun.com/webapps/bugreport)  after checking the Bug Parade 
for duplicates. Include your program and the following diagnostic in 
your report.  Thank you.
java.lang.AssertionError: Can't annotate already annotated type: ({} :: 
AnnotatedQualifiedThrows.InnerException)
     at com.sun.tools.javac.util.Assert.error(Assert.java:133)
     at com.sun.tools.javac.util.Assert.check(Assert.java:94)
     at com.sun.tools.javac.code.Type$AnnotatedType.<init>(Type.java:1582)
     at com.sun.tools.javac.comp.Attr.visitAnnotatedType(Attr.java:3936)
     at 
com.sun.tools.javac.tree.JCTree$JCAnnotatedType.accept(JCTree.java:2353)
     at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:601)
     at com.sun.tools.javac.comp.Attr.attribType(Attr.java:639)
     at com.sun.tools.javac.comp.Attr.attribType(Attr.java:632)
     at com.sun.tools.javac.comp.MemberEnter.signature(MemberEnter.java:389)
     at 
com.sun.tools.javac.comp.MemberEnter.visitMethodDef(MemberEnter.java:555)
     at com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:770)
     at 
com.sun.tools.javac.comp.MemberEnter.memberEnter(MemberEnter.java:418)
     at 
com.sun.tools.javac.comp.MemberEnter.memberEnter(MemberEnter.java:430)
     at 
com.sun.tools.javac.comp.MemberEnter.finishClass(MemberEnter.java:440)
     at com.sun.tools.javac.comp.MemberEnter.finish(MemberEnter.java:1216)
     at com.sun.tools.javac.comp.MemberEnter.complete(MemberEnter.java:1036)
     at com.sun.tools.javac.code.Symbol.complete(Symbol.java:434)
     at 
com.sun.tools.javac.code.Symbol$ClassSymbol.complete(Symbol.java:883)
     at com.sun.tools.javac.comp.Enter.complete(Enter.java:495)
     at com.sun.tools.javac.comp.Enter.main(Enter.java:473)
     at 
com.sun.tools.javac.main.JavaCompiler.enterTrees(JavaCompiler.java:990)
     at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:865)
     at com.sun.tools.javac.main.Main.compile(Main.java:519)
     at com.sun.tools.javac.main.Main.compile(Main.java:376)
     at com.sun.tools.javac.main.Main.compile(Main.java:365)
     at com.sun.tools.javac.main.Main.compile(Main.java:356)
     at com.sun.tools.javac.Main.compile(Main.java:77)
     at com.sun.tools.javac.Main.main(Main.java:62)

Output completed (1 sec consumed)


More information about the type-annotations-dev mailing list