--- a/langtools/src/share/classes/com/sun/tools/javac/code/Types.java Tue Jan 13 13:27:14 2009 +0000
+++ b/langtools/src/share/classes/com/sun/tools/javac/code/Types.java Tue Jan 13 13:28:20 2009 +0000
@@ -880,12 +880,12 @@
if (warn != warnStack.head) {
try {
warnStack = warnStack.prepend(warn);
- return isCastable.visit(t, s);
+ return isCastable.visit(t,s);
} finally {
warnStack = warnStack.tail;
}
} else {
- return isCastable.visit(t, s);
+ return isCastable.visit(t,s);
}
}
// where
@@ -983,10 +983,10 @@
if (highSub != null) {
assert a.tsym == highSub.tsym && a.tsym == lowSub.tsym
: a.tsym + " != " + highSub.tsym + " != " + lowSub.tsym;
- if (!disjointTypes(aHigh.getTypeArguments(), highSub.getTypeArguments())
- && !disjointTypes(aHigh.getTypeArguments(), lowSub.getTypeArguments())
- && !disjointTypes(aLow.getTypeArguments(), highSub.getTypeArguments())
- && !disjointTypes(aLow.getTypeArguments(), lowSub.getTypeArguments())) {
+ if (!disjointTypes(aHigh.allparams(), highSub.allparams())
+ && !disjointTypes(aHigh.allparams(), lowSub.allparams())
+ && !disjointTypes(aLow.allparams(), highSub.allparams())
+ && !disjointTypes(aLow.allparams(), lowSub.allparams())) {
if (upcast ? giveWarning(a, highSub) || giveWarning(a, lowSub)
: giveWarning(highSub, a) || giveWarning(lowSub, a))
warnStack.head.warnUnchecked();
@@ -1197,6 +1197,7 @@
s = upperBound(s);
if (s.tag == TYPEVAR)
s = s.getUpperBound();
+
return !isSubtype(t, s);
}
// </editor-fold>
@@ -3189,7 +3190,7 @@
private boolean giveWarning(Type from, Type to) {
// To and from are (possibly different) parameterizations
// of the same class or interface
- return to.isParameterized() && !containsType(to.getTypeArguments(), from.getTypeArguments());
+ return to.isParameterized() && !containsType(to.allparams(), from.allparams());
}
private List<Type> superClosure(Type t, Type s) {