NSInvocationInternal.h
1 #import <objc/message.h> 2 3 #import <Block_private.h> 4 5 @class NSMethodSignature; 6 7 // Needs to be at least as large as: 8 // - 4 ints (for r0-r3) 9 // - 2 longs (for rdx/rax) and two doubles (for xmm0/xmm1) 10 // - long double 11 // So, max(16, 16 + 16, 80) 12 #define RET_SIZE_ARGS 80 13 14 void __invoke__(void *send, void *retdata, marg_list args, size_t len, char rettype); 15 16 extern void _CF_forwarding_prep_0(); 17 extern void _CF_forwarding_prep_1(); 18 19 @interface NSInvocation (Internal) 20 + (instancetype)_invocationWithMethodSignature: (NSMethodSignature*)signature frame: (void*)frame; 21 - (instancetype)_initWithMethodSignature: (NSMethodSignature*)signature frame: (void*)frame; 22 - (void) invokeSuper; 23 - (void) invokeUsingIMP: (IMP) imp; 24 - (void **) _idxToArg: (NSUInteger) idx; 25 - (void) _addAttachedObject: (id) object; 26 @end