javac bug: java.lang.AssertionError: unexpected type: <nulltype>

Mark Mahieu markmahieu at gmail.com
Tue Nov 9 19:21:54 PST 2010


Hi,

Couldn't see any mention of this yet - compiling the following class triggers an AssertionError in javac.  I'm using the latest code from hg (lambda/lambda/langtools).

 	class Bang {
		
		interface Foo<T> {
			T foo(T a, T b);
		}

		Foo<? extends String> f = #{ a, b -> a };
	}


	java.lang.AssertionError: unexpected type: <nulltype>
	        at com.sun.tools.javac.tree.TreeMaker.Type(TreeMaker.java:711)
	        at com.sun.tools.javac.comp.Attr$2.inst(Attr.java:2225)
	        at com.sun.tools.javac.comp.Infer.instantiateExpr(Infer.java:333)
	        at com.sun.tools.javac.comp.Check.instantiatePoly(Check.java:453)
	        at com.sun.tools.javac.comp.Check.checkType(Check.java:412)
	        at com.sun.tools.javac.comp.Check.checkType(Check.java:405)
	        at com.sun.tools.javac.comp.Attr.visitLambda(Attr.java:2142)
	        at com.sun.tools.javac.tree.JCTree$JCLambda.accept(JCTree.java:1497)
	        at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:457)
	        at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:475)
	        at com.sun.tools.javac.comp.Attr.attribExpr(Attr.java:479)
	        at com.sun.tools.javac.comp.Attr.visitVarDef(Attr.java:877)
	        at com.sun.tools.javac.tree.JCTree$JCVariableDecl.accept(JCTree.java:745)
	        at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:457)
	        at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:475)
	        at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:510)
	        at com.sun.tools.javac.comp.Attr.attribClassBody(Attr.java:3719)
	        at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:3642)
	        at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:3578)
	        at com.sun.tools.javac.main.JavaCompiler.attribute(JavaCompiler.java:1153)
	        at com.sun.tools.javac.main.JavaCompiler.compile2(JavaCompiler.java:843)
	        at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:802)
	        at com.sun.tools.javac.main.Main.compile(Main.java:418)
	        at com.sun.tools.javac.main.Main.compile(Main.java:336)
	        at com.sun.tools.javac.main.Main.compile(Main.java:327)
	        at com.sun.tools.javac.Main.compile(Main.java:82)
	        at com.sun.tools.javac.Main.main(Main.java:67)


Cheers,

Mark



More information about the lambda-dev mailing list