BOOL CKSubclassOverridesInstanceMethod()

in RenderCore/Utilities/CKInternalHelpers.mm [15:29]


BOOL CKSubclassOverridesInstanceMethod(Class superclass, Class subclass, SEL selector) noexcept
{
  if (![subclass isSubclassOfClass:superclass]) {
    return NO;
  }
  Method superclassMethod = class_getInstanceMethod(superclass, selector);
  Method subclassMethod = class_getInstanceMethod(subclass, selector);
  IMP superclassIMP = superclassMethod ? method_getImplementation(superclassMethod) : NULL;
  IMP subclassIMP = subclassMethod ? method_getImplementation(subclassMethod) : NULL;
  if (superclassIMP == NULL) {
    return NO;
  }

  return (superclassIMP != subclassIMP);
}