@Override public boolean isSubtypeOf(TypeBinding otherType) { if (equalsEquals(this, otherType)) return true; switch (otherType.kind()) { case Binding.ARRAY_TYPE : ArrayBinding otherArray = (ArrayBinding) otherType; if (otherArray.leafComponentType.isBaseType()) return false; // relying on the fact that all equal arrays are identical if (this.dimensions == otherArray.dimensions) return this.leafComponentType.isSubtypeOf(otherArray.leafComponentType); if (this.dimensions < otherArray.dimensions) return false; // cannot assign 'String[]' into 'Object[][]' but can assign 'byte[][]' into 'Object[]' break; case Binding.BASE_TYPE : return false; } switch (otherType.leafComponentType().id) { case TypeIds.T_JavaLangObject : case TypeIds.T_JavaLangCloneable : case TypeIds.T_JavaIoSerializable : return true; } return false; }
@Override public boolean isSubtypeOf(TypeBinding otherType) { if (equalsEquals(this, otherType)) return true; switch (otherType.kind()) { case Binding.ARRAY_TYPE : ArrayBinding otherArray = (ArrayBinding) otherType; if (otherArray.leafComponentType.isBaseType()) return false; // relying on the fact that all equal arrays are identical if (this.dimensions == otherArray.dimensions) return this.leafComponentType.isSubtypeOf(otherArray.leafComponentType); if (this.dimensions < otherArray.dimensions) return false; // cannot assign 'String[]' into 'Object[][]' but can assign 'byte[][]' into 'Object[]' break; case Binding.BASE_TYPE : return false; } switch (otherType.leafComponentType().id) { case TypeIds.T_JavaLangObject : case TypeIds.T_JavaLangCloneable : case TypeIds.T_JavaIoSerializable : return true; } return false; }
@Override public boolean isSubtypeOf(TypeBinding otherType) { if (equalsEquals(this, otherType)) return true; switch (otherType.kind()) { case Binding.ARRAY_TYPE : ArrayBinding otherArray = (ArrayBinding) otherType; if (otherArray.leafComponentType.isBaseType()) return false; // relying on the fact that all equal arrays are identical if (this.dimensions == otherArray.dimensions) return this.leafComponentType.isSubtypeOf(otherArray.leafComponentType); if (this.dimensions < otherArray.dimensions) return false; // cannot assign 'String[]' into 'Object[][]' but can assign 'byte[][]' into 'Object[]' break; case Binding.BASE_TYPE : return false; } switch (otherType.leafComponentType().id) { case TypeIds.T_JavaLangObject : case TypeIds.T_JavaLangCloneable : case TypeIds.T_JavaIoSerializable : return true; } return false; }
@Override public boolean isSubtypeOf(TypeBinding otherType) { if (equalsEquals(this, otherType)) return true; switch (otherType.kind()) { case Binding.ARRAY_TYPE : ArrayBinding otherArray = (ArrayBinding) otherType; if (otherArray.leafComponentType.isBaseType()) return false; // relying on the fact that all equal arrays are identical if (this.dimensions == otherArray.dimensions) return this.leafComponentType.isSubtypeOf(otherArray.leafComponentType); if (this.dimensions < otherArray.dimensions) return false; // cannot assign 'String[]' into 'Object[][]' but can assign 'byte[][]' into 'Object[]' break; case Binding.BASE_TYPE : return false; } switch (otherType.leafComponentType().id) { case TypeIds.T_JavaLangObject : case TypeIds.T_JavaLangCloneable : case TypeIds.T_JavaIoSerializable : return true; } return false; }
@Override public boolean isSubtypeOf(TypeBinding otherType) { if (equalsEquals(this, otherType)) return true; switch (otherType.kind()) { case Binding.ARRAY_TYPE : ArrayBinding otherArray = (ArrayBinding) otherType; if (otherArray.leafComponentType.isBaseType()) return false; // relying on the fact that all equal arrays are identical if (this.dimensions == otherArray.dimensions) return this.leafComponentType.isSubtypeOf(otherArray.leafComponentType); if (this.dimensions < otherArray.dimensions) return false; // cannot assign 'String[]' into 'Object[][]' but can assign 'byte[][]' into 'Object[]' break; case Binding.BASE_TYPE : return false; } switch (otherType.leafComponentType().id) { case TypeIds.T_JavaLangObject : case TypeIds.T_JavaLangCloneable : case TypeIds.T_JavaIoSerializable : return true; } return false; }
@Override public boolean isSubtypeOf(TypeBinding otherType) { if (equalsEquals(this, otherType)) return true; switch (otherType.kind()) { case Binding.ARRAY_TYPE : ArrayBinding otherArray = (ArrayBinding) otherType; if (otherArray.leafComponentType.isBaseType()) return false; // relying on the fact that all equal arrays are identical if (this.dimensions == otherArray.dimensions) return this.leafComponentType.isSubtypeOf(otherArray.leafComponentType); if (this.dimensions < otherArray.dimensions) return false; // cannot assign 'String[]' into 'Object[][]' but can assign 'byte[][]' into 'Object[]' break; case Binding.BASE_TYPE : return false; } switch (otherType.leafComponentType().id) { case TypeIds.T_JavaLangObject : case TypeIds.T_JavaLangCloneable : case TypeIds.T_JavaIoSerializable : return true; } return false; }
@Override public boolean isSubtypeOf(TypeBinding otherType) { if (equalsEquals(this, otherType)) return true; switch (otherType.kind()) { case Binding.ARRAY_TYPE : ArrayBinding otherArray = (ArrayBinding) otherType; if (otherArray.leafComponentType.isBaseType()) return false; // relying on the fact that all equal arrays are identical if (this.dimensions == otherArray.dimensions) return this.leafComponentType.isSubtypeOf(otherArray.leafComponentType); if (this.dimensions < otherArray.dimensions) return false; // cannot assign 'String[]' into 'Object[][]' but can assign 'byte[][]' into 'Object[]' break; case Binding.BASE_TYPE : return false; } switch (otherType.leafComponentType().id) { case TypeIds.T_JavaLangObject : case TypeIds.T_JavaLangCloneable : case TypeIds.T_JavaIoSerializable : return true; } return false; }
@Override public boolean isSubtypeOf(TypeBinding otherType, boolean simulatingBugJDK8026527) { if (equalsEquals(this, otherType)) return true;
public boolean isCompatibleWith(TypeBinding otherType, Scope captureScope) { if (equalsEquals(this, otherType)) return true;
public boolean isCompatibleWith(TypeBinding otherType, Scope captureScope) { if (equalsEquals(this, otherType)) return true;
public boolean isCompatibleWith(TypeBinding otherType, Scope captureScope) { if (equalsEquals(this, otherType)) return true;
public boolean isCompatibleWith(TypeBinding otherType, Scope captureScope) { if (equalsEquals(this, otherType)) return true;
public boolean isCompatibleWith(TypeBinding otherType, Scope captureScope) { if (equalsEquals(this, otherType)) return true;
public boolean isCompatibleWith(TypeBinding otherType, Scope captureScope) { if (equalsEquals(this, otherType)) return true;
public boolean isCompatibleWith(TypeBinding otherType, Scope captureScope) { if (equalsEquals(this, otherType)) return true;
@Override public boolean isCompatibleWith(TypeBinding otherType, Scope captureScope) { if (equalsEquals(this, otherType)) return true;