boolean isAssignableTo()

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);
            }
        }
    }