@ Override public boolean isUnknownType ( ) { // If the object is unknown now, check the supertype again, // because it might have been resolved since the last check. if ( unknown ) { ObjectType implicitProto = getImplicitPrototype ( ) ; if ( implicitProto == null || implicitProto . isNativeObjectType ( ) ) { unknown = false ; for ( ObjectType interfaceType : getCtorExtendedInterfaces ( ) ) { if ( interfaceType . isUnknownType ( ) ) { unknown = true ; break ; } } } else { unknown = implicitProto . isUnknownType ( ) ; } } return unknown ; }
We treat this as the unknown type if any of its implicit prototype properties is unknown .