Differences From Artifact [35cbcdf16d]:
- File
src/runtime/runtime.h
— part of check-in
[4e40a57efa]
at
2017-04-02 15:30:03
on branch trunk
— Make __objc_exec_class() take a void*
This is necessary for ObjC++ with GCC, as otherwise, this generates an
error. Since the objc_abi_module struct is private anyway, there is not
much reason to have the argument of that type. (user: js, size: 7045) [annotate] [blame] [check-ins using]
To Artifact [bd21f431a6]:
- File
src/runtime/runtime.h
— part of check-in
[4af49a13c3]
at
2017-05-07 20:10:13
on branch trunk
— Small code style change
Casts are now written like types in variable declarations. (user: js, size: 7068) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
49 50 51 52 53 54 55 | #endif #define Nil (Class)0 #define nil (id)0 #define YES (BOOL)1 #define NO (BOOL)0 | | | | | 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | #endif #define Nil (Class)0 #define nil (id)0 #define YES (BOOL)1 #define NO (BOOL)0 typedef struct objc_class *Class; typedef struct objc_object *id; typedef const struct objc_selector *SEL; typedef signed char BOOL; typedef id (*IMP)(id, SEL, ...); typedef void (*objc_uncaught_exception_handler)(id); struct objc_class { Class isa; Class superclass; |
︙ | ︙ | |||
194 195 196 197 198 199 200 | long count; Protocol *OBJC_UNSAFE_UNRETAINED list[1]; }; #ifdef __cplusplus extern "C" { #endif | | | | | | | | | | | | | | | | | | | | | | | | | | 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 | long count; Protocol *OBJC_UNSAFE_UNRETAINED list[1]; }; #ifdef __cplusplus extern "C" { #endif extern SEL sel_registerName(const char *); extern const char *sel_getName(SEL); extern bool sel_isEqual(SEL, SEL); extern Class objc_allocateClassPair(Class, const char *, size_t); extern void objc_registerClassPair(Class); extern id objc_lookUpClass(const char *); extern id objc_getClass(const char *); extern id objc_getRequiredClass(const char *); extern unsigned int objc_getClassList(Class *, unsigned int); extern Class *objc_copyClassList(unsigned int *); extern bool class_isMetaClass(Class); extern const char *class_getName(Class); extern Class class_getSuperclass(Class); extern unsigned long class_getInstanceSize(Class); extern bool class_respondsToSelector(Class, SEL); extern bool class_conformsToProtocol(Class, Protocol *); extern IMP class_getMethodImplementation(Class, SEL); extern IMP class_getMethodImplementation_stret(Class, SEL); extern const char *class_getMethodTypeEncoding(Class, SEL); extern bool class_addMethod(Class, SEL, IMP, const char *); extern IMP class_replaceMethod(Class, SEL, IMP, const char *); extern Class object_getClass(id); extern Class object_setClass(id, Class); extern const char *object_getClassName(id); extern const char *protocol_getName(Protocol *); extern bool protocol_isEqual(Protocol *, Protocol *); extern bool protocol_conformsToProtocol(Protocol *, Protocol *); extern void objc_exit(void); extern objc_uncaught_exception_handler objc_setUncaughtExceptionHandler( objc_uncaught_exception_handler); extern void objc_setForwardHandler(IMP, IMP); extern id objc_autorelease(id); extern void *objc_autoreleasePoolPush(void); extern void objc_autoreleasePoolPop(void *); extern id _objc_rootAutorelease(id); extern void objc_zero_weak_references(id); /* * Used by the compiler, but can also be called manually. * * These declarations are also required to prevent Clang's implicit * declarations which include __declspec(dllimport) on Windows. */ struct objc_abi_module; extern void __objc_exec_class(void *); extern IMP objc_msg_lookup(id, SEL); extern IMP objc_msg_lookup_stret(id, SEL); extern IMP objc_msg_lookup_super(struct objc_super *, SEL); extern IMP objc_msg_lookup_super_stret(struct objc_super *, SEL); extern void objc_exception_throw(id); extern int objc_sync_enter(id); extern int objc_sync_exit(id); extern id objc_getProperty(id, SEL, ptrdiff_t, BOOL); extern void objc_setProperty(id, SEL, ptrdiff_t, id, BOOL, signed char); extern void objc_getPropertyStruct(void *, const void *, ptrdiff_t, BOOL, BOOL); extern void objc_setPropertyStruct(void *, const void *, ptrdiff_t, BOOL, BOOL); extern void objc_enumerationMutation(id); extern void objc_setEnumerationMutationHandler(void (*handler)(id)); #ifdef __cplusplus } #endif #undef OBJC_UNSAFE_UNRETAINED #undef OBJC_ROOT_CLASS #endif |