30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
# include <sys/syspage.h>
#endif
#import "OFObject.h"
#import "OFTimer.h"
#import "OFThread.h"
#import "OFRunLoop.h"
#import "OFAllocFailedException.h"
#import "OFEnumerationMutationException.h"
#import "OFInitializationFailedException.h"
#import "OFInvalidArgumentException.h"
#import "OFMemoryNotPartOfObjectException.h"
#import "OFNotImplementedException.h"
|
>
|
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
# include <sys/syspage.h>
#endif
#import "OFObject.h"
#import "OFTimer.h"
#import "OFThread.h"
#import "OFRunLoop.h"
#import "OFAutoreleasePool.h"
#import "OFAllocFailedException.h"
#import "OFEnumerationMutationException.h"
#import "OFInitializationFailedException.h"
#import "OFInvalidArgumentException.h"
#import "OFMemoryNotPartOfObjectException.h"
#import "OFNotImplementedException.h"
|
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
|
id (*imp)(id, SEL, id) =
(id(*)(id, SEL, id))[self methodForSelector: selector];
return imp(self, selector, object);
}
- (id)performSelector: (SEL)selector
withObject: (id)object
withObject: (id)otherObject
{
id (*imp)(id, SEL, id, id) =
(id(*)(id, SEL, id, id))[self methodForSelector: selector];
return imp(self, selector, object, otherObject);
}
- (void)performSelector: (SEL)selector
afterDelay: (double)delay
{
void *pool = objc_autoreleasePoolPush();
|
|
|
|
|
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
|
id (*imp)(id, SEL, id) =
(id(*)(id, SEL, id))[self methodForSelector: selector];
return imp(self, selector, object);
}
- (id)performSelector: (SEL)selector
withObject: (id)object1
withObject: (id)object2
{
id (*imp)(id, SEL, id, id) =
(id(*)(id, SEL, id, id))[self methodForSelector: selector];
return imp(self, selector, object1, object2);
}
- (void)performSelector: (SEL)selector
afterDelay: (double)delay
{
void *pool = objc_autoreleasePoolPush();
|
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
|
if (--PRE_IVAR->retainCount == 0)
[self dealloc];
#endif
}
- autorelease
{
return _objc_rootAutorelease(self);
}
- self
{
return self;
}
|
|
|
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
|
if (--PRE_IVAR->retainCount == 0)
[self dealloc];
#endif
}
- autorelease
{
return of_autorelease(self);
}
- self
{
return self;
}
|