/** * Return whether a variable with this type declaration can be assigned a value with the specified * type declaration. For example: Object foo = new String(); // this is valid String foo = new * Object(); // this is invalid See "The Java Language Specification" 5.1.4 * * @see java.lang.Class#isAssignableFrom(java.lang.Class) */ boolean isAssignableFrom(MWTypeDeclaration other) { return this.isAssignableFrom(other.getType(), other.getDimensionality()); }
boolean mightBeAssignableTo(MWTypeDeclaration other) { return this.mightBeAssignableTo(other.getType(), other.getDimensionality()); }
boolean matches(MWTypeDeclaration other) { return (this.dimensionality == other.getDimensionality()) && (this.getType() == other.getType()); }