ObjFW  Diff

Differences From Artifact [802118dfd1]:

To Artifact [b190fb62d1]:


19
20
21
22
23
24
25

26
27

28
29
30
31
32
33
34
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36







+


+







#include <stdint.h>

#ifndef __has_feature
# define __has_feature(x) 0
#endif

#if __has_feature(objc_arc)
# define OBJC_UNSAFE_UNRETAINED __unsafe_unretained
# define OBJC_BRIDGE __bridge
#else
# define OBJC_UNSAFE_UNRETAINED
# define OBJC_BRIDGE
#endif

typedef struct objc_class *Class;
typedef struct objc_object *id;
typedef const struct objc_selector *SEL;
typedef signed char BOOL;
69
70
71
72
73
74
75
76

77
78
79
80
81
82
83
71
72
73
74
75
76
77

78
79
80
81
82
83
84
85







-
+








struct objc_selector {
	uintptr_t uid;
	const char *types;
};

struct objc_super {
	id self;
	OBJC_UNSAFE_UNRETAINED id self;
	Class cls;
};

struct objc_method {
	struct objc_selector sel;
	IMP imp;
};
150
151
152
153
154
155
156
157

158
159
160
161
162
163
164
152
153
154
155
156
157
158

159
160
161
162
163
164
165
166







-
+







#else
} Protocol;
#endif

struct objc_protocol_list {
	struct objc_protocol_list *next;
	long count;
	Protocol *list[1];
	OBJC_UNSAFE_UNRETAINED Protocol *list[1];
};

#define Nil (Class)0
#define nil (id)0
#define YES (BOOL)1
#define NO  (BOOL)0

218
219
220
221
222
223
224
225

226
227
228
229

230
231
232
220
221
222
223
224
225
226

227
228
229
230
231
232
233
234
235







-
+




+



{
	return class_getName(object_getClass(obj));
}

static inline BOOL
class_isMetaClass(Class cls_)
{
	struct objc_class *cls = (struct objc_class*)cls_;
	struct objc_class *cls = (OBJC_BRIDGE struct objc_class*)cls_;

	return (cls->info & OBJC_CLASS_INFO_METACLASS);
}

#undef OBJC_UNSAFE_UNRETAINED
#undef OBJC_BRIDGE

#endif