private static boolean hasMoreTagsToResolve(ObjectType objectType) {
    checkArgument(objectType.isUnknownType());
    FunctionType ctor = objectType.getConstructor();
    if (ctor != null) {
      // interface extends interfaces
      for (ObjectType interfaceType : ctor.getExtendedInterfaces()) {
        if (!interfaceType.isResolved()) {
          return true;
        }
      }
    }
    if (objectType.getImplicitPrototype() != null) {
      // constructor extends class
      return !objectType.getImplicitPrototype().isResolved();
    }
    return false;
  }
private static boolean hasMoreTagsToResolve ( ObjectType objectType ) { checkArgument ( objectType . isUnknownType ( ) ) ; FunctionType ctor = objectType . getConstructor ( ) ; if ( ctor != null ) { for ( ObjectType interfaceType : ctor . getExtendedInterfaces ( ) ) { if ( ! interfaceType . isResolved ( ) ) { return true ; } } } if ( objectType . getImplicitPrototype ( ) != null ) { return ! objectType . getImplicitPrototype ( ) . isResolved ( ) ; } return false ; }
Check whether a type is resolvable in the future
If this has a supertype that hasn't been resolved yet, then we can assume
this type will be OK once the super type resolves.
@param objectType
@return true if objectType is resolvable in the future