diff -r 1408af4cd8b0 -r 573ceb23beeb src/share/classes/com/sun/tools/javac/code/Type.java --- a/src/share/classes/com/sun/tools/javac/code/Type.java Thu Oct 04 13:04:53 2012 +0100 +++ b/src/share/classes/com/sun/tools/javac/code/Type.java Fri Oct 05 14:35:24 2012 +0100 @@ -1220,9 +1220,13 @@ } public UndetVar(TypeVar origin, Types types) { + this(origin, types, true); + } + + public UndetVar(TypeVar origin, Types types, boolean includeBounds) { super(UNDETVAR, origin); bounds = new EnumMap>(InferenceBound.class); - bounds.put(InferenceBound.UPPER, types.getBounds(origin)); + bounds.put(InferenceBound.UPPER, includeBounds ? types.getBounds(origin) : List.nil()); bounds.put(InferenceBound.LOWER, List.nil()); bounds.put(InferenceBound.EQ, List.nil()); }