ObjFW  Diff

Differences From Artifact [557d11af3b]:

To Artifact [50de71845f]:


36
37
38
39
40
41
42
43










44
45
46
47
48
49
50
36
37
38
39
40
41
42

43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59







-
+
+
+
+
+
+
+
+
+
+







	struct objc_sparsearray *dtable;
	Class *subclass_list;
	void *sibling_class;
	struct objc_protocol_list *protocols;
	void *gc_object_type;
	unsigned long abi_version;
	void *ivar_offsets;
	void *properties;
	struct objc_property_list *properties;
};

enum objc_abi_class_info {
	OBJC_CLASS_INFO_CLASS	    = 0x001,
	OBJC_CLASS_INFO_METACLASS   = 0x002,
	OBJC_CLASS_INFO_NEW_ABI	    = 0x010,
	OBJC_CLASS_INFO_SETUP	    = 0x100,
	OBJC_CLASS_INFO_LOADED	    = 0x200,
	OBJC_CLASS_INFO_INITIALIZED = 0x400
};

struct objc_object {
	Class isa;
};

struct objc_selector {
82
83
84
85
86
87
88

























89
90
91
92
93
94
95
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129







+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+







	unsigned offset;
};

struct objc_ivar_list {
	unsigned count;
	struct objc_ivar ivars[1];
};

#define OBJC_PROPERTY_READONLY	0x01
#define OBJC_PROPERTY_GETTER	0x02
#define OBJC_PROPERTY_ASSIGN	0x04
#define OBJC_PROPERTY_READWRITE	0x08
#define OBJC_PROPERTY_RETAIN	0x10
#define OBJC_PROPERTY_COPY	0x20
#define OBJC_PROPERTY_NONATOMIC	0x40
#define OBJC_PROPERTY_SETTER	0x80

struct objc_property {
	const char *name;
	unsigned char attributes;
	BOOL synthesized;
	struct {
		const char *name;
		const char *type;
	} getter, setter;
};

struct objc_property_list {
	unsigned count;
	struct objc_property_list *next;
	struct objc_property properties[1];
};

#ifdef __OBJC__
@interface Protocol
{
@public
#else
typedef struct {