diff options
author | Nicola Pero <nicola.pero@meta-innovation.com> | 2010-10-15 18:24:27 +0000 |
---|---|---|
committer | Nicola Pero <nicola@gcc.gnu.org> | 2010-10-15 18:24:27 +0000 |
commit | ae422ccd65c72f713ffb33319a8bc5436d8bc858 (patch) | |
tree | 6404e56954993f5feee47c733780ccc60be5b419 /libobjc/protocols.c | |
parent | e2e1d4d8c891c1e4b17681436afe98722862d241 (diff) | |
download | gcc-ae422ccd65c72f713ffb33319a8bc5436d8bc858.zip gcc-ae422ccd65c72f713ffb33319a8bc5436d8bc858.tar.gz gcc-ae422ccd65c72f713ffb33319a8bc5436d8bc858.tar.bz2 |
In libobjc/: 2010-10-15 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2010-10-15 Nicola Pero <nicola.pero@meta-innovation.com>
* Protocol.m: Include objc/runtime.h and
objc-private/module-abi-8.h instead of objc/objc-api.h. Do not
repeat Protocol's instance variables.
(struct objc_method_description_list): Do not define here.
([-conformsTo:]): Reimplemented on top of protocol_conformsTo().
([descriptionForInstanceMethod:]): Use sel_isEqual() to compare
selectors directly instead of getting names and then using strcmp.
([descriptionForClassMethod:]): Same change.
([-isEqual:]): Reimplemented on top of protocol_isEqual().
* protocols.c (protocol_getMethodDescription): Use sel_isEqual()
to compare selectors directly instead of getting names and then
using strcmp.
* objc/Protocol.h: Updated comments.
From-SVN: r165517
Diffstat (limited to 'libobjc/protocols.c')
-rw-r--r-- | libobjc/protocols.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/libobjc/protocols.c b/libobjc/protocols.c index d23d42d..421e566 100644 --- a/libobjc/protocols.c +++ b/libobjc/protocols.c @@ -358,7 +358,6 @@ struct objc_method_description protocol_getMethodDescription (Protocol *protocol BOOL instanceMethod) { struct objc_method_description no_result = { NULL, NULL }; - const char* selector_name; struct objc_method_description_list *methods; int i; @@ -372,8 +371,6 @@ struct objc_method_description protocol_getMethodDescription (Protocol *protocol if (protocol->class_pointer != objc_lookupClass ("Protocol")) return no_result; - selector_name = sel_getName (selector); - if (instanceMethod) methods = ((struct objc_protocol *)protocol)->instance_methods; else @@ -383,8 +380,12 @@ struct objc_method_description protocol_getMethodDescription (Protocol *protocol { for (i = 0; i < methods->count; i++) { + if (sel_isEqual (methods->list[i].name, selector)) + return methods->list[i]; + /* if (strcmp (sel_getName (methods->list[i].name), selector_name) == 0) return methods->list[i]; + */ } } |