Fixed [NSObject +conformsToProtocol:] and [NSObject -conformsToProtocol:]

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31769 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
nicola 2010-12-24 15:37:06 +00:00
parent b84001b073
commit fb481f5fc8
2 changed files with 21 additions and 2 deletions

View file

@ -1298,7 +1298,18 @@ objc_create_block_classes_as_subclasses_of(Class super) __attribute__((weak));
*/
+ (BOOL) conformsToProtocol: (Protocol*)aProtocol
{
return class_conformsToProtocol(self, aProtocol);
Class c;
/* Iterate over the current class and all the superclasses. */
for (c = self; c != Nil; c = class_getSuperclass (c))
{
if (class_conformsToProtocol(c, aProtocol))
{
return YES;
}
}
return NO;
}
/**
@ -1307,7 +1318,7 @@ objc_create_block_classes_as_subclasses_of(Class super) __attribute__((weak));
*/
- (BOOL) conformsToProtocol: (Protocol*)aProtocol
{
return class_conformsToProtocol([self class], aProtocol);
return [[self class] conformsToProtocol: aProtocol];
}
/**