final boolean setPrototype(ObjectType prototype, Node propertyNode) {
    if (prototype == null) {
      return false;
    }
    // getInstanceType fails if the function is not a constructor
    if (isConstructor() && prototype == getInstanceType()) {
      return false;
    }
    return setPrototypeNoCheck(prototype, propertyNode);
  }
final boolean setPrototype ( ObjectType prototype , Node propertyNode ) { if ( prototype == null ) { return false ; } if ( isConstructor ( ) && prototype == getInstanceType ( ) ) { return false ; } return setPrototypeNoCheck ( prototype , propertyNode ) ; }
Sets the prototype.

@param prototype the prototype. If this value is {@code null} it will silently be discarded.