aboutsummaryrefslogtreecommitdiff
path: root/libobjc/protocols.c
diff options
context:
space:
mode:
authorNicola Pero <nicola.pero@meta-innovation.com>2010-10-15 18:24:27 +0000
committerNicola Pero <nicola@gcc.gnu.org>2010-10-15 18:24:27 +0000
commitae422ccd65c72f713ffb33319a8bc5436d8bc858 (patch)
tree6404e56954993f5feee47c733780ccc60be5b419 /libobjc/protocols.c
parente2e1d4d8c891c1e4b17681436afe98722862d241 (diff)
downloadgcc-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.c7
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];
+ */
}
}