431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
|
struct objc_category **cats;
unsigned int i;
objc_global_mutex_lock();
for (ml = cls->methodlist; ml != NULL; ml = ml->next) {
for (i = 0; i < ml->count; i++) {
if (ml->methods[i].sel.uid == sel->uid) {
const char *ret = ml->methods[i].sel.types;
objc_global_mutex_unlock();
return ret;
}
}
}
|
|
|
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
|
struct objc_category **cats;
unsigned int i;
objc_global_mutex_lock();
for (ml = cls->methodlist; ml != NULL; ml = ml->next) {
for (i = 0; i < ml->count; i++) {
if (sel_isEqual((SEL)&ml->methods[i].sel, sel)) {
const char *ret = ml->methods[i].sel.types;
objc_global_mutex_unlock();
return ret;
}
}
}
|
458
459
460
461
462
463
464
465
466
467
468
469
470
471
|
}
}
}
}
objc_global_mutex_unlock();
return NULL;
}
IMP
class_replaceMethod(Class cls, SEL sel, IMP newimp, const char *types)
{
struct objc_method_list *ml;
|
>
>
>
|
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
|
}
}
}
}
objc_global_mutex_unlock();
if (cls->superclass != NULL)
return objc_get_type_encoding(cls->superclass, sel);
return NULL;
}
IMP
class_replaceMethod(Class cls, SEL sel, IMP newimp, const char *types)
{
struct objc_method_list *ml;
|