-
Bug
-
Resolution: Won't Fix
-
P2
-
7
-
generic
-
generic
The following mini tests cause the Java compiler(JDK 7 b76) to throw AssertionError.
--------------------------------------------------------
class A1 {
public void foo() {
for (int #"super" = 0; #"super"<2; #"super"++) {
}
}
}
--------------------------------------------------------
class A2 {
public void foo () {
int #"super" = 5;
switch (#"super") {
case 5: #"super"++; break;
default: break;
}
}
}
--------------------------------------------------------
The compiler throws the same error if change #"super" to #"this".
stack trace for A1:
An exception has occurred in the compiler (1.7.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: store unsupported: stack(int)
at com.sun.tools.javac.jvm.Items$Item.store(Items.java:212)
at com.sun.tools.javac.jvm.Items$AssignItem.drop(Items.java:715)
at com.sun.tools.javac.jvm.Gen.visitExec(Gen.java:1628)
at com.sun.tools.javac.tree.JCTree$JCExpressionStatement.accept(JCTree.java:1145)
at com.sun.tools.javac.jvm.Gen.genDef(Gen.java:683)
at com.sun.tools.javac.jvm.Gen.genStat(Gen.java:718)
at com.sun.tools.javac.jvm.Gen.genStat(Gen.java:704)
at com.sun.tools.javac.jvm.Gen.genStats(Gen.java:755)
at com.sun.tools.javac.jvm.Gen.genLoop(Gen.java:1081)
at com.sun.tools.javac.jvm.Gen.visitForLoop(Gen.java:1050)
at com.sun.tools.javac.tree.JCTree$JCForLoop.accept(JCTree.java:859)
at com.sun.tools.javac.jvm.Gen.genDef(Gen.java:683)
at com.sun.tools.javac.jvm.Gen.genStat(Gen.java:718)
at com.sun.tools.javac.jvm.Gen.genStat(Gen.java:704)
at com.sun.tools.javac.jvm.Gen.genStats(Gen.java:755)
at com.sun.tools.javac.jvm.Gen.visitBlock(Gen.java:1030)
at com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:768)
at com.sun.tools.javac.jvm.Gen.genDef(Gen.java:683)
at com.sun.tools.javac.jvm.Gen.genStat(Gen.java:718)
at com.sun.tools.javac.jvm.Gen.genMethod(Gen.java:911)
at com.sun.tools.javac.jvm.Gen.visitMethodDef(Gen.java:884)
at com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:655)
at com.sun.tools.javac.jvm.Gen.genDef(Gen.java:683)
at com.sun.tools.javac.jvm.Gen.genClass(Gen.java:2269)
at com.sun.tools.javac.main.JavaCompiler.genCode(JavaCompiler.java:695)
at com.sun.tools.javac.main.JavaCompiler.generate(JavaCompiler.java:1393)
at com.sun.tools.javac.main.JavaCompiler.generate(JavaCompiler.java:1361)
at com.sun.tools.javac.main.JavaCompiler.compile2(JavaCompiler.java:851)
at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:810)
at com.sun.tools.javac.main.Main.compile(Main.java:400)
at com.sun.tools.javac.main.Main.compile(Main.java:318)
at com.sun.tools.javac.main.Main.compile(Main.java:309)
at com.sun.tools.javac.Main.compile(Main.java:82)
at com.sun.tools.javac.Main.main(Main.java:67)
--------------------------------------------------------
class A1 {
public void foo() {
for (int #"super" = 0; #"super"<2; #"super"++) {
}
}
}
--------------------------------------------------------
class A2 {
public void foo () {
int #"super" = 5;
switch (#"super") {
case 5: #"super"++; break;
default: break;
}
}
}
--------------------------------------------------------
The compiler throws the same error if change #"super" to #"this".
stack trace for A1:
An exception has occurred in the compiler (1.7.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: store unsupported: stack(int)
at com.sun.tools.javac.jvm.Items$Item.store(Items.java:212)
at com.sun.tools.javac.jvm.Items$AssignItem.drop(Items.java:715)
at com.sun.tools.javac.jvm.Gen.visitExec(Gen.java:1628)
at com.sun.tools.javac.tree.JCTree$JCExpressionStatement.accept(JCTree.java:1145)
at com.sun.tools.javac.jvm.Gen.genDef(Gen.java:683)
at com.sun.tools.javac.jvm.Gen.genStat(Gen.java:718)
at com.sun.tools.javac.jvm.Gen.genStat(Gen.java:704)
at com.sun.tools.javac.jvm.Gen.genStats(Gen.java:755)
at com.sun.tools.javac.jvm.Gen.genLoop(Gen.java:1081)
at com.sun.tools.javac.jvm.Gen.visitForLoop(Gen.java:1050)
at com.sun.tools.javac.tree.JCTree$JCForLoop.accept(JCTree.java:859)
at com.sun.tools.javac.jvm.Gen.genDef(Gen.java:683)
at com.sun.tools.javac.jvm.Gen.genStat(Gen.java:718)
at com.sun.tools.javac.jvm.Gen.genStat(Gen.java:704)
at com.sun.tools.javac.jvm.Gen.genStats(Gen.java:755)
at com.sun.tools.javac.jvm.Gen.visitBlock(Gen.java:1030)
at com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:768)
at com.sun.tools.javac.jvm.Gen.genDef(Gen.java:683)
at com.sun.tools.javac.jvm.Gen.genStat(Gen.java:718)
at com.sun.tools.javac.jvm.Gen.genMethod(Gen.java:911)
at com.sun.tools.javac.jvm.Gen.visitMethodDef(Gen.java:884)
at com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:655)
at com.sun.tools.javac.jvm.Gen.genDef(Gen.java:683)
at com.sun.tools.javac.jvm.Gen.genClass(Gen.java:2269)
at com.sun.tools.javac.main.JavaCompiler.genCode(JavaCompiler.java:695)
at com.sun.tools.javac.main.JavaCompiler.generate(JavaCompiler.java:1393)
at com.sun.tools.javac.main.JavaCompiler.generate(JavaCompiler.java:1361)
at com.sun.tools.javac.main.JavaCompiler.compile2(JavaCompiler.java:851)
at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:810)
at com.sun.tools.javac.main.Main.compile(Main.java:400)
at com.sun.tools.javac.main.Main.compile(Main.java:318)
at com.sun.tools.javac.main.Main.compile(Main.java:309)
at com.sun.tools.javac.Main.compile(Main.java:82)
at com.sun.tools.javac.Main.main(Main.java:67)