diff --git a/Source/NSObject.m b/Source/NSObject.m index 7c7e898dd..2b6e9fd01 100644 --- a/Source/NSObject.m +++ b/Source/NSObject.m @@ -158,7 +158,7 @@ BOOL NSDecrementExtraRefCountWasZero(id anObject) return (class_get_instance_method(self, aSelector) != METHOD_NULL); } -- (BOOL) conformsToProtocol: (Protocol*)aProtocol ++ (BOOL) conformsToProtocol: (Protocol*)aProtocol { int i; struct objc_protocol_list* proto_list; @@ -168,7 +168,7 @@ BOOL NSDecrementExtraRefCountWasZero(id anObject) { for (i=0; i < proto_list->count; i++) { - if ([proto_list->list[i] conformsTo: aProtocol]) + if ([proto_list->list[i] conformsToProtocol: aProtocol]) return YES; } } @@ -179,6 +179,11 @@ BOOL NSDecrementExtraRefCountWasZero(id anObject) return NO; } +- (BOOL) conformsToProtocol: (Protocol*)aProtocol +{ + return [[self class] conformsToProtocol:aProtocol]; +} + + (IMP) instanceMethodForSelector: (SEL)aSelector { return method_get_imp(class_get_instance_method(self, aSelector)); @@ -441,6 +446,11 @@ BOOL NSDecrementExtraRefCountWasZero(id anObject) return [self conformsToProtocol:aProtocol]; } +- (BOOL) conformsTo: (Protocol*)aProtocol +{ + return [self conformsToProtocol:aProtocol]; +} + - (retval_t)performv:(SEL)aSel :(arglist_t)argFrame { return objc_msg_sendv(self, aSel, argFrame);