ObjFW  Diff

Differences From Artifact [1dc5e5a7d1]:

To Artifact [ec4f3dc978]:


130
131
132
133
134
135
136

137

138
139


140
141

142
143
144


145
146
147



148
149
150
151
152
153
154
130
131
132
133
134
135
136
137
138
139


140
141
142
143
144
145
146
147
148
149



150
151
152
153
154
155
156
157
158
159







+

+
-
-
+
+


+



+
+
-
-
-
+
+
+







 * dtable, but the old GNU runtime is that crappy that it even forces us to
 * touch it...
 */
static void
update_dtable(Class class)
{
	MethodList_t iter;
	Class subclass;

	for (subclass = class->subclass_list; subclass != Nil;
	if (class->super_class != Nil)
		update_dtable(class->super_class);
	    subclass = subclass->sibling_class)
		update_dtable(subclass);

	for (iter = class->methods; iter != NULL; iter = iter->method_next) {
		Method_t methods = iter->method_list;
		int i;

		for (i = 0; i < iter->method_count; i++)
			if (sarray_get_safe(class->dtable,
			    (sidx)methods[i].method_name->sel_id) != NULL)
			sarray_at_put_safe(class->dtable,
			    (sidx)iter->method_list[i].method_name->sel_id,
			    iter->method_list[i].method_imp);
				sarray_at_put_safe(class->dtable,
				    (sidx)methods[i].method_name->sel_id,
				    methods[i].method_imp);
	}
}
#endif

@implementation OFObject
+ (void)load
{