ObjFW  Check-in [7cab5285df]

Overview
Comment:Export structs for ivar introspection.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 7cab5285df61b1c7d66b67d668b279cc3f5058054c843bf7c9dc8624e2c10441
User & Date: js on 2012-07-17 19:44:58
Other Links: manifest | tags
Context
2012-07-17
23:59
Add ivar introspection for the ObjFW runtime. check-in: 82b9b5f7c8 user: js tags: trunk
19:44
Export structs for ivar introspection. check-in: 7cab5285df user: js tags: trunk
01:11
MinGW fixes, mainly workaround for broken strtod. check-in: 91dc019442 user: js tags: trunk
Changes

Modified src/runtime/runtime.h from [10b66bd071] to [557d11af3b].

27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
struct objc_class {
	Class isa;
	Class superclass;
	const char *name;
	unsigned long version;
	unsigned long info;
	unsigned long instance_size;
	void *ivars;
	struct objc_method_list *methodlist;
	struct objc_sparsearray *dtable;
	Class *subclass_list;
	void *sibling_class;
	struct objc_protocol_list *protocols;
	void *gc_object_type;
	unsigned long abi_version;







|







27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
struct objc_class {
	Class isa;
	Class superclass;
	const char *name;
	unsigned long version;
	unsigned long info;
	unsigned long instance_size;
	struct objc_ivar_list *ivars;
	struct objc_method_list *methodlist;
	struct objc_sparsearray *dtable;
	Class *subclass_list;
	void *sibling_class;
	struct objc_protocol_list *protocols;
	void *gc_object_type;
	unsigned long abi_version;
71
72
73
74
75
76
77











78
79
80
81
82
83
84
struct objc_category {
	const char *category_name;
	const char *class_name;
	struct objc_method_list *instance_methods;
	struct objc_method_list *class_methods;
	struct objc_protocol_list *protocols;
};












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







>
>
>
>
>
>
>
>
>
>
>







71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
struct objc_category {
	const char *category_name;
	const char *class_name;
	struct objc_method_list *instance_methods;
	struct objc_method_list *class_methods;
	struct objc_protocol_list *protocols;
};

struct objc_ivar {
	const char *name;
	const char *type;
	unsigned offset;
};

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

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