diff -r 7182011ee8a6 -r d378f023c36d langtools/src/share/classes/com/sun/tools/javac/comp/Attr.java --- a/langtools/src/share/classes/com/sun/tools/javac/comp/Attr.java Tue Jan 13 13:28:20 2009 +0000 +++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Attr.java Tue Jan 13 13:28:42 2009 +0000 @@ -1457,7 +1457,7 @@ localEnv.info.varArgs = false; tree.constructor = rs.resolveConstructor( tree.pos(), localEnv, clazztype, argtypes, typeargtypes); - Type ctorType = checkMethod(clazztype, + tree.constructorType = checkMethod(clazztype, tree.constructor, localEnv, tree.args, @@ -1465,7 +1465,7 @@ typeargtypes, localEnv.info.varArgs); if (localEnv.info.varArgs) - assert ctorType.isErroneous() || tree.varargsElement != null; + assert tree.constructorType.isErroneous() || tree.varargsElement != null; } if (cdef != null) { @@ -1527,6 +1527,13 @@ typeargtypes, true, tree.varargsElement != null); assert sym.kind < AMBIGUOUS || tree.constructor.type.isErroneous(); tree.constructor = sym; + tree.constructorType = checkMethod(clazztype, + tree.constructor, + localEnv, + tree.args, + argtypes, + typeargtypes, + localEnv.info.varArgs); } if (tree.constructor != null && tree.constructor.kind == MTH)