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
 * 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;



	if (class->super_class != Nil)
		update_dtable(class->super_class);

	for (iter = class->methods; iter != NULL; iter = iter->method_next) {

		int i;

		for (i = 0; i < iter->method_count; i++)


			sarray_at_put_safe(class->dtable,
			    (sidx)iter->method_list[i].method_name->sel_id,
			    iter->method_list[i].method_imp);
	}
}
#endif

@implementation OFObject
+ (void)load
{







>

>
|
|


>



>
>
|
|
|







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;
	    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)methods[i].method_name->sel_id,
				    methods[i].method_imp);
	}
}
#endif

@implementation OFObject
+ (void)load
{