Javac throws AssertionError(Unexpected intersection type) for CompoundTypeGenerics
bitter_fox
bitterfoxc at gmail.com
Mon Jan 9 01:41:29 PST 2012
Javac(Revision: 1245) throws AssertionError when I compile this program:
import java.util.*;
public class Test3
{
interface Marker1
{}
interface Marker2
{}
static class Object1 implements Marker1, Marker2
{}
static class Object2 implements Marker1, Marker2
{}
interface SAM1<RET, ARG1>
{
RET invoke(ARG1 arg1);
}
public static void main(String[] args)
{
Test3.test(Arrays.asList(new Object1(), new Object2()), e -> e);
}
public static <T> void test(Iterable<T> iterable, SAM1<T, T> sam)
{}
}
This is the StackTrace:
java.lang.AssertionError: Unexpected intersection type:
java.lang.Object&Main.M
arker1&Main.Marker2
at
com.sun.tools.javac.jvm.ClassWriter.enterInner(ClassWriter.java:895)
at
com.sun.tools.javac.jvm.ClassWriter.assembleClassSig(ClassWriter.java
:383)
at
com.sun.tools.javac.jvm.ClassWriter.assembleSig(ClassWriter.java:307)
at
com.sun.tools.javac.jvm.ClassWriter.assembleSig(ClassWriter.java:410)
at
com.sun.tools.javac.jvm.ClassWriter.assembleClassSig(ClassWriter.java
:402)
at
com.sun.tools.javac.jvm.ClassWriter.assembleSig(ClassWriter.java:307)
at
com.sun.tools.javac.jvm.ClassWriter.writeClassFile(ClassWriter.java:1
592)
at
com.sun.tools.javac.jvm.ClassWriter.writeClass(ClassWriter.java:1506)
at
com.sun.tools.javac.main.JavaCompiler.genCode(JavaCompiler.java:728)
at
com.sun.tools.javac.main.JavaCompiler.generate(JavaCompiler.java:1466
)
at
com.sun.tools.javac.main.JavaCompiler.generate(JavaCompiler.java:1434
)
at
com.sun.tools.javac.main.JavaCompiler.compile2(JavaCompiler.java:885)
at
com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:844)
at com.sun.tools.javac.main.Main.compile(Main.java:430)
at com.sun.tools.javac.main.Main.compile(Main.java:344)
at com.sun.tools.javac.main.Main.compile(Main.java:335)
at com.sun.tools.javac.Main.compile(Main.java:76)
at com.sun.tools.javac.Main.main(Main.java:61)
Was this problem already known?
Thank you,
bitter_fox
More information about the lambda-dev
mailing list