Differences From Artifact [8577ac8d70]:
- File
src/runtime/ObjFW-RT.h
— part of check-in
[636098dbdd]
at
2017-07-24 20:33:00
on branch trunk
— runtime: Don't depend on platform.h in ObjFW-RT.h
platform.h does not get installed to the ObjFW-RT include directory. (user: js, size: 8708) [annotate] [blame] [check-ins using]
To Artifact [6c5a7458b9]:
- File src/runtime/ObjFW-RT.h — part of check-in [f37b373a95] at 2017-10-01 14:14:28 on branch 0.90 — Backport nullability fixes from master (user: js, size: 8394) [annotate] [blame] [check-ins using]
| ︙ | ︙ | |||
45 46 47 48 49 50 51 | # endif #endif #if !__has_feature(objc_arc) && !defined(__unsafe_unretained) # define __unsafe_unretained #endif | | | | | | 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
# endif
#endif
#if !__has_feature(objc_arc) && !defined(__unsafe_unretained)
# define __unsafe_unretained
#endif
#define Nil (Class _Null_unspecified)0
#define nil (id _Null_unspecified)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 _Nullable (*IMP)(id _Nonnull, SEL _Nonnull, ...);
typedef void (*objc_uncaught_exception_handler)(id _Nullable);
typedef void (*objc_enumeration_mutation_handler)(id _Nonnull);
struct objc_class {
Class _Nonnull isa;
Class _Nullable superclass;
const char *_Nonnull name;
unsigned long version;
unsigned long info;
long instance_size;
struct objc_ivar_list *_Nullable ivars;
struct objc_method_list *_Nullable methodlist;
struct objc_dtable *_Nonnull dtable;
Class _Nullable *_Nullable subclass_list;
void *_Nullable sibling_class;
struct objc_protocol_list *_Nullable protocols;
void *_Nullable gc_object_type;
unsigned long abi_version;
int32_t *_Nonnull *_Nullable ivar_offsets;
struct objc_property_list *_Nullable properties;
};
|
| ︙ | ︙ | |||
195 196 197 198 199 200 201 |
struct objc_protocol_list {
struct objc_protocol_list *_Nullable next;
long count;
Protocol *__unsafe_unretained _Nonnull list[1];
};
| < | | | 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 |
struct objc_protocol_list {
struct objc_protocol_list *_Nullable next;
long count;
Protocol *__unsafe_unretained _Nonnull list[1];
};
#ifdef __cplusplus
extern "C" {
#endif
extern SEL _Nonnull sel_registerName(const char *_Nonnull);
extern const char *_Nonnull sel_getName(SEL _Nonnull);
extern bool sel_isEqual(SEL _Nonnull, SEL _Nonnull);
extern Class _Nonnull objc_allocateClassPair(Class _Nullable,
const char *_Nonnull, size_t);
extern void objc_registerClassPair(Class _Nonnull);
extern unsigned int objc_getClassList(Class _Nonnull *_Nullable, unsigned int);
|
| ︙ | ︙ | |||
225 226 227 228 229 230 231 |
SEL _Nonnull);
extern bool class_addMethod(Class _Nonnull, SEL _Nonnull, IMP _Nonnull,
const char *_Nullable);
extern IMP _Nullable class_replaceMethod(Class _Nonnull, SEL _Nonnull,
IMP _Nonnull, const char *_Nullable);
extern Class _Nullable object_getClass(id _Nullable);
extern Class _Nullable object_setClass(id _Nullable, Class _Nonnull);
| | < | < < < < < < < < < < < < < < < < < < | 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 |
SEL _Nonnull);
extern bool class_addMethod(Class _Nonnull, SEL _Nonnull, IMP _Nonnull,
const char *_Nullable);
extern IMP _Nullable class_replaceMethod(Class _Nonnull, SEL _Nonnull,
IMP _Nonnull, const char *_Nullable);
extern Class _Nullable object_getClass(id _Nullable);
extern Class _Nullable object_setClass(id _Nullable, Class _Nonnull);
extern const char *_Nullable object_getClassName(id _Nullable);
extern const char *_Nonnull protocol_getName(Protocol *_Nonnull);
extern bool protocol_isEqual(Protocol *_Nonnull, Protocol *_Nonnull);
extern bool protocol_conformsToProtocol(Protocol *_Nonnull, Protocol *_Nonnull);
extern void objc_exit(void);
extern _Nullable objc_uncaught_exception_handler
objc_setUncaughtExceptionHandler(
objc_uncaught_exception_handler _Nullable);
extern void objc_setForwardHandler(IMP _Nullable, IMP _Nullable);
extern void objc_setEnumerationMutationHandler(
objc_enumeration_mutation_handler _Nullable);
extern void objc_zero_weak_references(id _Nonnull);
/*
* Used by the compiler, but can also be called manually.
*
* They need to be in the glue code for the MorphOS library.
*
* These declarations are also required to prevent Clang's implicit
* declarations which include __declspec(dllimport) on Windows.
|
| ︙ | ︙ |