diff --git a/ChangeLog b/ChangeLog index b76e5b5d9..3a54c8491 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2003-07-23 Richard Frith-Macdonald + + * Source/NSObject.m: Implement methodSignatureForSelector for zombies + 2003-07-22 Adam Fedor * Version 1.7.2 diff --git a/Source/NSObject.m b/Source/NSObject.m index 2f0d59fb4..db83a08ec 100644 --- a/Source/NSObject.m +++ b/Source/NSObject.m @@ -2279,6 +2279,7 @@ struct objc_method_description_list { @interface NSZombie - (retval_t) forward:(SEL)aSel :(arglist_t)argFrame; - (void) forwardInvocation: (NSInvocation*)anInvocation; +- (NSMethodSignature*) methodSignatureForSelector: (SEL)aSelector; @end @implementation NSZombie @@ -2301,5 +2302,20 @@ struct objc_method_description_list { [anInvocation setReturnValue: (void*)v]; return; } +- (NSMethodSignature*) methodSignatureForSelector: (SEL)aSelector +{ + Class c; + + if (allocationLock != 0) + { + objc_mutex_lock(allocationLock); + } + c = NSMapGet(zombieMap, (void*)self); + if (allocationLock != 0) + { + objc_mutex_unlock(allocationLock); + } + return [c instanceMethodSignatureForSelector: aSelector]; +} @end