913 public boolean isCastable(Type t, Type s, Warner warn) { |
913 public boolean isCastable(Type t, Type s, Warner warn) { |
914 if (t == s) |
914 if (t == s) |
915 return true; |
915 return true; |
916 |
916 |
917 if (t.isPrimitive() != s.isPrimitive()) |
917 if (t.isPrimitive() != s.isPrimitive()) |
918 return allowBoxing && isConvertible(t, s, warn); |
918 return allowBoxing && (isConvertible(t, s, warn) || isConvertible(s, t, warn)); |
919 |
919 |
920 if (warn != warnStack.head) { |
920 if (warn != warnStack.head) { |
921 try { |
921 try { |
922 warnStack = warnStack.prepend(warn); |
922 warnStack = warnStack.prepend(warn); |
923 return isCastable.visit(t,s); |
923 return isCastable.visit(t,s); |