use new runtime api directly to lookup selectors

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31182 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
rfm 2010-08-18 10:45:27 +00:00
parent 34f55e74fe
commit 871a3bfcfe

View file

@ -101,11 +101,11 @@ SetValueForKey(NSObject *self, id anObject, const char *key, unsigned size)
name = &buf[1]; // setKey: name = &buf[1]; // setKey:
type = NULL; type = NULL;
sel = GSSelectorFromName(name); sel = sel_getUid(name);
if (sel == 0 || [self respondsToSelector: sel] == NO) if (sel == 0 || [self respondsToSelector: sel] == NO)
{ {
name = buf; // _setKey: name = buf; // _setKey:
sel = GSSelectorFromName(name); sel = sel_getUid(name);
if (sel == 0 || [self respondsToSelector: sel] == NO) if (sel == 0 || [self respondsToSelector: sel] == NO)
{ {
sel = 0; sel = 0;
@ -170,19 +170,19 @@ static id ValueForKey(NSObject *self, const char *key, unsigned size)
buf[4] = hi; buf[4] = hi;
name = &buf[1]; // getKey name = &buf[1]; // getKey
sel = GSSelectorFromName(name); sel = sel_getUid(name);
if (sel == 0 || [self respondsToSelector: sel] == NO) if (sel == 0 || [self respondsToSelector: sel] == NO)
{ {
buf[4] = lo; buf[4] = lo;
name = &buf[4]; // key name = &buf[4]; // key
sel = GSSelectorFromName(name); sel = sel_getUid(name);
if (sel == 0 || [self respondsToSelector: sel] == NO) if (sel == 0 || [self respondsToSelector: sel] == NO)
{ {
buf[4] = hi; buf[4] = hi;
buf[3] = 's'; buf[3] = 's';
buf[2] = 'i'; buf[2] = 'i';
name = &buf[2]; // isKey name = &buf[2]; // isKey
sel = GSSelectorFromName(name); sel = sel_getUid(name);
if (sel == 0 || [self respondsToSelector: sel] == NO) if (sel == 0 || [self respondsToSelector: sel] == NO)
{ {
sel = 0; sel = 0;
@ -194,13 +194,13 @@ static id ValueForKey(NSObject *self, const char *key, unsigned size)
{ {
buf[4] = hi; buf[4] = hi;
name = buf; // _getKey name = buf; // _getKey
sel = GSSelectorFromName(name); sel = sel_getUid(name);
if (sel == 0 || [self respondsToSelector: sel] == NO) if (sel == 0 || [self respondsToSelector: sel] == NO)
{ {
buf[4] = lo; buf[4] = lo;
buf[3] = '_'; buf[3] = '_';
name = &buf[3]; // _key name = &buf[3]; // _key
sel = GSSelectorFromName(name); sel = sel_getUid(name);
if (sel == 0 || [self respondsToSelector: sel] == NO) if (sel == 0 || [self respondsToSelector: sel] == NO)
{ {
sel = 0; sel = 0;
@ -486,7 +486,7 @@ static id ValueForKey(NSObject *self, const char *key, unsigned size)
{ {
name[8] = toupper(name[8]); name[8] = toupper(name[8]);
} }
sel = GSSelectorFromName(name); sel = sel_getUid(name);
if (sel != 0 && [self respondsToSelector: sel] == YES) if (sel != 0 && [self respondsToSelector: sel] == YES)
{ {
imp = (BOOL (*)(id,SEL,id*,id*))[self methodForSelector: sel]; imp = (BOOL (*)(id,SEL,id*,id*))[self methodForSelector: sel];
@ -623,13 +623,13 @@ static id ValueForKey(NSObject *self, const char *key, unsigned size)
buf[4] = hi; buf[4] = hi;
name = buf; // _getKey name = buf; // _getKey
sel = GSSelectorFromName(name); sel = sel_getUid(name);
if (sel == 0 || [self respondsToSelector: sel] == NO) if (sel == 0 || [self respondsToSelector: sel] == NO)
{ {
buf[3] = '_'; buf[3] = '_';
buf[4] = lo; buf[4] = lo;
name = &buf[3]; // _key name = &buf[3]; // _key
sel = GSSelectorFromName(name); sel = sel_getUid(name);
if (sel == 0 || [self respondsToSelector: sel] == NO) if (sel == 0 || [self respondsToSelector: sel] == NO)
{ {
sel = 0; sel = 0;
@ -651,12 +651,12 @@ static id ValueForKey(NSObject *self, const char *key, unsigned size)
buf[3] = 't'; buf[3] = 't';
buf[4] = hi; buf[4] = hi;
name = &buf[1]; // getKey name = &buf[1]; // getKey
sel = GSSelectorFromName(name); sel = sel_getUid(name);
if (sel == 0 || [self respondsToSelector: sel] == NO) if (sel == 0 || [self respondsToSelector: sel] == NO)
{ {
buf[4] = lo; buf[4] = lo;
name = &buf[4]; // key name = &buf[4]; // key
sel = GSSelectorFromName(name); sel = sel_getUid(name);
if (sel == 0 || [self respondsToSelector: sel] == NO) if (sel == 0 || [self respondsToSelector: sel] == NO)
{ {
sel = 0; sel = 0;
@ -710,7 +710,7 @@ static id ValueForKey(NSObject *self, const char *key, unsigned size)
name = buf; // _setKey: name = buf; // _setKey:
type = NULL; type = NULL;
sel = GSSelectorFromName(name); sel = sel_getUid(name);
if (sel == 0 || [self respondsToSelector: sel] == NO) if (sel == 0 || [self respondsToSelector: sel] == NO)
{ {
sel = 0; sel = 0;
@ -732,7 +732,7 @@ static id ValueForKey(NSObject *self, const char *key, unsigned size)
buf[4] = hi; buf[4] = hi;
buf[3] = 't'; buf[3] = 't';
name = &buf[1]; // setKey: name = &buf[1]; // setKey:
sel = GSSelectorFromName(name); sel = sel_getUid(name);
if (sel == 0 || [self respondsToSelector: sel] == NO) if (sel == 0 || [self respondsToSelector: sel] == NO)
{ {
sel = 0; sel = 0;
@ -827,11 +827,11 @@ static id ValueForKey(NSObject *self, const char *key, unsigned size)
name = &buf[1]; // setKey: name = &buf[1]; // setKey:
type = NULL; type = NULL;
sel = GSSelectorFromName(name); sel = sel_getUid(name);
if (sel == 0 || [self respondsToSelector: sel] == NO) if (sel == 0 || [self respondsToSelector: sel] == NO)
{ {
name = buf; // _setKey: name = buf; // _setKey:
sel = GSSelectorFromName(name); sel = sel_getUid(name);
if (sel == 0 || [self respondsToSelector: sel] == NO) if (sel == 0 || [self respondsToSelector: sel] == NO)
{ {
sel = 0; sel = 0;