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
#include <stdint.h>

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

#if __has_feature(objc_arc)

# define OBJC_BRIDGE __bridge
#else

# define OBJC_BRIDGE
#endif

typedef struct objc_class *Class;
typedef struct objc_object *id;
typedef const struct objc_selector *SEL;
typedef signed char BOOL;







>


>







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

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

struct objc_super {
	id self;
	Class cls;
};

struct objc_method {
	struct objc_selector sel;
	IMP imp;
};







|







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 {
	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
#else
} Protocol;
#endif

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

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








|







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;
	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
{
	return class_getName(object_getClass(obj));
}

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

	return (cls->info & OBJC_CLASS_INFO_METACLASS);
}


#undef OBJC_BRIDGE

#endif







|




>



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 = (OBJC_BRIDGE struct objc_class*)cls_;

	return (cls->info & OBJC_CLASS_INFO_METACLASS);
}

#undef OBJC_UNSAFE_UNRETAINED
#undef OBJC_BRIDGE

#endif