comparison graal/com.oracle.max.graal.nodes/src/com/oracle/max/graal/nodes/type/StampFactory.java @ 4645:eb2c6d2a0098

let StampFactory.alwaysDistinct(...) handle interface types
author Lukas Stadler <lukas.stadler@jku.at>
date Mon, 20 Feb 2012 14:25:32 +0100
parents c148bec9398a
children 2f2c6347fce4
comparison
equal deleted inserted replaced
4644:d39cc9734e92 4645:eb2c6d2a0098
99 } else if (other.declaredType() == null || declaredType() == null) { 99 } else if (other.declaredType() == null || declaredType() == null) {
100 // We have no type information for one of the values. 100 // We have no type information for one of the values.
101 return false; 101 return false;
102 } else if (other.nonNull() || nonNull()) { 102 } else if (other.nonNull() || nonNull()) {
103 // One of the two values cannot be null. 103 // One of the two values cannot be null.
104 return !other.declaredType().isSubtypeOf(declaredType()) && !declaredType().isSubtypeOf(other.declaredType()); 104 return !other.declaredType().isInterface() && !declaredType().isInterface() && !other.declaredType().isSubtypeOf(declaredType()) && !declaredType().isSubtypeOf(other.declaredType());
105 } else { 105 } else {
106 // Both values may be null. 106 // Both values may be null.
107 return false; 107 return false;
108 } 108 }
109 } 109 }