-
Bug
-
Resolution: Fixed
-
P2
-
10
The following program crashes javac:
class TestLVTI {
static final Class<?> c = Object.class;
@Anno1(c)
void testAnno() {
}
}
@interface Anno1 {
Class<?> value();
}
Stacktrace is this:
An exception has occurred in the compiler (10-internal). Please file a bug against the Java compiler via the Java bug reporting page (http://bugreport.java.com) after checking the Bug Database (http://bugs.java.com) for duplicates. Include your program and the following diagnostic in your report. Thank you.
java.lang.ClassCastException: jdk.compiler/com.sun.tools.javac.tree.JCTree$JCIdent cannot be cast to jdk.compiler/com.sun.tools.javac.tree.JCTree$JCFieldAccess
at jdk.compiler/com.sun.tools.javac.comp.Annotate.getAnnotationClassValue(Annotate.java:633)
at jdk.compiler/com.sun.tools.javac.comp.Annotate.attributeAnnotationValue(Annotate.java:590)
at jdk.compiler/com.sun.tools.javac.comp.Annotate.attributeAnnotationNameValuePair(Annotate.java:511)
at jdk.compiler/com.sun.tools.javac.comp.Annotate.attributeAnnotationValues(Annotate.java:476)
at jdk.compiler/com.sun.tools.javac.comp.Annotate.attributeAnnotation(Annotate.java:411)
at jdk.compiler/com.sun.tools.javac.comp.Annotate.annotateNow(Annotate.java:337)
at jdk.compiler/com.sun.tools.javac.comp.Annotate.lambda$annotateLater$0(Annotate.java:263)
at jdk.compiler/com.sun.tools.javac.comp.Annotate.flush(Annotate.java:187)
at jdk.compiler/com.sun.tools.javac.comp.Annotate.unblockAnnotations(Annotate.java:140)
at jdk.compiler/com.sun.tools.javac.comp.Annotate.enterDone(Annotate.java:153)
at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.enterDone(JavaCompiler.java:1726)
at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.enterTrees(JavaCompiler.java:1056)
at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:925)
at jdk.compiler/com.sun.tools.javac.main.Main.compile(Main.java:305)
at jdk.compiler/com.sun.tools.javac.main.Main.compile(Main.java:165)
at jdk.compiler/com.sun.tools.javac.Main.compile(Main.java:55)
at jdk.compiler/com.sun.tools.javac.Main.main(Main.java:41)
Regression probably introduced inJDK-8181464.
class TestLVTI {
static final Class<?> c = Object.class;
@Anno1(c)
void testAnno() {
}
}
@interface Anno1 {
Class<?> value();
}
Stacktrace is this:
An exception has occurred in the compiler (10-internal). Please file a bug against the Java compiler via the Java bug reporting page (http://bugreport.java.com) after checking the Bug Database (http://bugs.java.com) for duplicates. Include your program and the following diagnostic in your report. Thank you.
java.lang.ClassCastException: jdk.compiler/com.sun.tools.javac.tree.JCTree$JCIdent cannot be cast to jdk.compiler/com.sun.tools.javac.tree.JCTree$JCFieldAccess
at jdk.compiler/com.sun.tools.javac.comp.Annotate.getAnnotationClassValue(Annotate.java:633)
at jdk.compiler/com.sun.tools.javac.comp.Annotate.attributeAnnotationValue(Annotate.java:590)
at jdk.compiler/com.sun.tools.javac.comp.Annotate.attributeAnnotationNameValuePair(Annotate.java:511)
at jdk.compiler/com.sun.tools.javac.comp.Annotate.attributeAnnotationValues(Annotate.java:476)
at jdk.compiler/com.sun.tools.javac.comp.Annotate.attributeAnnotation(Annotate.java:411)
at jdk.compiler/com.sun.tools.javac.comp.Annotate.annotateNow(Annotate.java:337)
at jdk.compiler/com.sun.tools.javac.comp.Annotate.lambda$annotateLater$0(Annotate.java:263)
at jdk.compiler/com.sun.tools.javac.comp.Annotate.flush(Annotate.java:187)
at jdk.compiler/com.sun.tools.javac.comp.Annotate.unblockAnnotations(Annotate.java:140)
at jdk.compiler/com.sun.tools.javac.comp.Annotate.enterDone(Annotate.java:153)
at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.enterDone(JavaCompiler.java:1726)
at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.enterTrees(JavaCompiler.java:1056)
at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:925)
at jdk.compiler/com.sun.tools.javac.main.Main.compile(Main.java:305)
at jdk.compiler/com.sun.tools.javac.main.Main.compile(Main.java:165)
at jdk.compiler/com.sun.tools.javac.Main.compile(Main.java:55)
at jdk.compiler/com.sun.tools.javac.Main.main(Main.java:41)
Regression probably introduced in
- relates to
-
JDK-8181464 Invalid lambda in annotation causes NPE in Lint.augment
-
- Resolved
-