src/share/classes/com/sun/tools/javac/code/Types.java
Print this page
*** 1315,1324 ****
--- 1315,1339 ----
}
return ts.isEmpty() && ss.isEmpty();
}
// </editor-fold>
+ /**
+ * Can t and s be compared for equality?
+ *
+ */
+ public boolean isEqualityComparable(Type s, Type t, Warner warn) {
+ boolean tPrimitive = t.isPrimitive();
+ boolean sPrimitive = s.isPrimitive();
+ if (tPrimitive && sPrimitive) {
+ return isSubtype(s, t) || isSubtype(t, s);
+ } else if (!tPrimitive && !sPrimitive) {
+ return isCastable(s, t, warn) || isCastable(t, s, warn);
+ } else
+ return false;
+ }
+
// <editor-fold defaultstate="collapsed" desc="isCastable">
public boolean isCastable(Type t, Type s) {
return isCastable(t, s, noWarnings);
}