diff options
author | Nicola Pero <nicola.pero@meta-innovation.com> | 2010-12-24 15:32:25 +0000 |
---|---|---|
committer | Nicola Pero <nicola@gcc.gnu.org> | 2010-12-24 15:32:25 +0000 |
commit | 877bf1953af3383597ad4f76971539e5e05c6d31 (patch) | |
tree | 446ade8fb58c3ae9ed224c5430645dbb30deddb2 /libobjc/objc | |
parent | eb277bf19cea73ab2ca031fdb650013d666529f6 (diff) | |
download | gcc-877bf1953af3383597ad4f76971539e5e05c6d31.zip gcc-877bf1953af3383597ad4f76971539e5e05c6d31.tar.gz gcc-877bf1953af3383597ad4f76971539e5e05c6d31.tar.bz2 |
In libobjc/: 2010-12-24 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2010-12-24 Nicola Pero <nicola.pero@meta-innovation.com>
* objc/runtime.h (class_conformsToProtocol,
class_copyProtocolList): Updated documentation.
In gcc/testsuite/:
2010-12-24 Nicola Pero <nicola.pero@meta-innovation.com>
* obj-c.dg/gnu-api-2-class.m: Test that class_conformsToProtocol()
does not check the superclasses.
* obj-c++.dg/gnu-api-2-class.mm: Same change.
From-SVN: r168226
Diffstat (limited to 'libobjc/objc')
-rw-r--r-- | libobjc/objc/runtime.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/libobjc/objc/runtime.h b/libobjc/objc/runtime.h index 8d38015..7ad46dc 100644 --- a/libobjc/objc/runtime.h +++ b/libobjc/objc/runtime.h @@ -768,7 +768,11 @@ objc_EXPORT Protocol **objc_copyProtocolList (unsigned int *numberOfReturnedProt objc_EXPORT BOOL class_addProtocol (Class class_, Protocol *protocol); /* Return YES if the class 'class_' conforms to Protocol 'protocol', - and NO if not. */ + and NO if not. This function does not check superclasses; if you + want to check for superclasses (in the way that [NSObject + +conformsToProtocol:] does) you need to iterate over the class + hierarchy using class_getSuperclass(), and call + class_conformsToProtocol() for each of them. */ objc_EXPORT BOOL class_conformsToProtocol (Class class_, Protocol *protocol); /* Return all the protocols that the class conforms to. The return @@ -777,7 +781,9 @@ objc_EXPORT BOOL class_conformsToProtocol (Class class_, Protocol *protocol); class. It does not include protocols adopted by superclasses. The list is terminated by NULL. Optionally, if you pass a non-NULL 'numberOfReturnedProtocols' pointer, the unsigned int that it - points to will be filled with the number of protocols returned. */ + points to will be filled with the number of protocols returned. + This function does not return protocols that superclasses conform + to. */ objc_EXPORT Protocol **class_copyProtocolList (Class class_, unsigned int *numberOfReturnedProtocols); /* Return YES if protocol 'protocol' conforms to protocol |