in core/src/main/java/com/jetbrains/sa/jdi/ArrayTypeImpl.java [122:144]
boolean isAssignableTo(ReferenceTypeImpl destType) {
if (destType instanceof ArrayTypeImpl) {
try {
TypeImpl destComponentType = ((ArrayTypeImpl)destType).componentType();
return isComponentAssignable(destComponentType, componentType());
} catch (ClassNotLoadedException e) {
// One or both component types has not yet been
// loaded => can't assign
return false;
}
} else {
String typeName = destType.name();
if (destType instanceof InterfaceType) {
// Every array TypeImpl implements java.io.Serializable and
// java.lang.Cloneable. fixme in JVMDI-JDI, includes only
// Cloneable but not Serializable.
return vm.javaLangCloneable.equals(typeName) || vm.javaIoSerializable.equals(typeName);
} else {
// Only valid ClassTypeImpl assignee is Object
return vm.javaLangObject.equals(typeName);
}
}
}