94799f1dae458afe66fe83147d293dfe25e4d84b
[nit.git] / c_src / compiling_global._sep.c
1 /* This C file is generated by NIT to compile module compiling_global. */
2 #include "compiling_global._sep.h"
3 val_t compiling_global___ColorContext___color(val_t self, val_t param0) {
4 struct trace_t trace = {NULL, NULL, 28, LOCATE_compiling_global___ColorContext___color};
5 val_t variable[4];
6 void **closurevariable = NULL;
7 trace.prev = tracehead; tracehead = &trace;
8 trace.file = LOCATE_compiling_global;
9 variable[0] = self;
10 variable[1] = param0;
11 variable[3] = variable[0];
12 variable[3] = ATTR_compiling_global___ColorContext____colors(variable[3]) /*ColorContext::_colors*/;
13 variable[3] = ((abstract_collection___CoupleMap_____bra_t)CALL(variable[3],COLOR_abstract_collection___Map_____bra))(variable[3], variable[1] /*e*/) /*CoupleMap::[]*/;
14 variable[2] = variable[3];
15 goto return_label0;
16 return_label0: while(false);
17 tracehead = trace.prev;
18 return variable[2];
19 }
20 val_t compiling_global___ColorContext___has_color(val_t self, val_t param0) {
21 struct trace_t trace = {NULL, NULL, 34, LOCATE_compiling_global___ColorContext___has_color};
22 val_t variable[5];
23 void **closurevariable = NULL;
24 trace.prev = tracehead; tracehead = &trace;
25 trace.file = LOCATE_compiling_global;
26 variable[0] = self;
27 variable[1] = param0;
28 variable[3] = variable[0];
29 variable[3] = ATTR_compiling_global___ColorContext____colors(variable[3]) /*ColorContext::_colors*/;
30 variable[3] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[3] == NIT_NULL /*null*/) || ((variable[3] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[3],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[3], NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[3],COLOR_kernel___Object_____eqeq))(variable[3], NIT_NULL /*null*/) /*Object::==*/)))))));
31 variable[4] = variable[3];
32 if (UNTAG_Bool(variable[4])) { /* and */
33 variable[4] = variable[0];
34 variable[4] = ATTR_compiling_global___ColorContext____colors(variable[4]) /*ColorContext::_colors*/;
35 variable[4] = ((abstract_collection___CoupleMap___has_key_t)CALL(variable[4],COLOR_abstract_collection___Map___has_key))(variable[4], variable[1] /*e*/) /*CoupleMap::has_key*/;
36 }
37 variable[3] = variable[4];
38 variable[2] = variable[3];
39 goto return_label1;
40 return_label1: while(false);
41 tracehead = trace.prev;
42 return variable[2];
43 }
44 void compiling_global___ColorContext___color__eq(val_t self, val_t param0, val_t param1) {
45 struct trace_t trace = {NULL, NULL, 40, LOCATE_compiling_global___ColorContext___color__eq};
46 val_t variable[10];
47 void **closurevariable = NULL;
48 trace.prev = tracehead; tracehead = &trace;
49 trace.file = LOCATE_compiling_global;
50 variable[0] = self;
51 variable[1] = param0;
52 variable[2] = param1;
53 variable[4] = variable[0];
54 variable[4] = ATTR_compiling_global___ColorContext____colors(variable[4]) /*ColorContext::_colors*/;
55 variable[4] = TAG_Bool((variable[4] == NIT_NULL /*null*/) || ((variable[4] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[4],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[4], NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[4],COLOR_kernel___Object_____eqeq))(variable[4], NIT_NULL /*null*/) /*Object::==*/)))));
56 if (UNTAG_Bool(variable[4])) { /*if*/
57 variable[4] = variable[0];
58 variable[5] = NEW_HashMap_hash___HashMap___init(); /*new HashMap[TableElt, Int]*/
59 ATTR_compiling_global___ColorContext____colors(variable[4]) /*ColorContext::_colors*/ = variable[5];
60 }
61 variable[4] = variable[0];
62 variable[4] = ATTR_compiling_global___ColorContext____colors(variable[4]) /*ColorContext::_colors*/;
63 ((hash___HashMap_____braeq_t)CALL(variable[4],COLOR_abstract_collection___Map_____braeq))(variable[4], variable[1] /*e*/, variable[2] /*c*/) /*HashMap::[]=*/;
64 variable[4] = variable[2] /*c*/;
65 variable[5] = ((compiling_global___TableElt___length_t)CALL( variable[1] /*e*/,COLOR_compiling_global___TableElt___length))( variable[1] /*e*/) /*TableElt::length*/;
66 variable[6] = NEW_Range_range___Range___without_last( TAG_Int(0), variable[5]); /*new Range[Int]*/
67 variable[5] = variable[6];
68 variable[5] = ((range___Range___iterator_t)CALL(variable[5],COLOR_abstract_collection___Collection___iterator))(variable[5]) /*Range::iterator*/;
69 while (true) { /*for*/
70 variable[6] = ((abstract_collection___Iterator___is_ok_t)CALL(variable[5],COLOR_abstract_collection___Iterator___is_ok))(variable[5]) /*Iterator::is_ok*/;
71 if (!UNTAG_Bool(variable[6])) break; /*for*/
72 variable[6] = ((abstract_collection___Iterator___item_t)CALL(variable[5],COLOR_abstract_collection___Iterator___item))(variable[5]) /*Iterator::item*/;
73 variable[7] = variable[6];
74 variable[8] = variable[0];
75 variable[8] = ATTR_compiling_global___ColorContext____colors(variable[8]) /*ColorContext::_colors*/;
76 variable[9] = ((compiling_global___TableElt___item_t)CALL( variable[1] /*e*/,COLOR_compiling_global___TableElt___item))( variable[1] /*e*/, variable[7] /*i*/) /*TableElt::item*/;
77 ((hash___HashMap_____braeq_t)CALL(variable[8],COLOR_abstract_collection___Map_____braeq))(variable[8], variable[9], variable[4] /*idx*/) /*HashMap::[]=*/;
78 variable[8] = TAG_Int(UNTAG_Int( variable[4] /*idx*/)+UNTAG_Int( TAG_Int(1)));
79 variable[4] = variable[8] /*idx=*/;
80 continue_3: while(0);
81 ((abstract_collection___Iterator___next_t)CALL(variable[5],COLOR_abstract_collection___Iterator___next))(variable[5]) /*Iterator::next*/;
82 }
83 break_3: while(0);
84 return_label2: while(false);
85 tracehead = trace.prev;
86 return;
87 }
88 void compiling_global___ColorContext___init(val_t self, int* init_table) {
89 struct trace_t trace = {NULL, NULL, 0, LOCATE_compiling_global___ColorContext___init};
90 val_t *variable = NULL;
91 void **closurevariable = NULL;
92 trace.prev = tracehead; tracehead = &trace;
93 trace.file = LOCATE_compiling_global;
94 tracehead = trace.prev;
95 return;
96 }
97 val_t compiling_global___GlobalAnalysis___compiled_classes(val_t self) {
98 struct trace_t trace = {NULL, NULL, 56, LOCATE_compiling_global___GlobalAnalysis___compiled_classes};
99 val_t *variable = NULL;
100 void **closurevariable = NULL;
101 trace.prev = tracehead; tracehead = &trace;
102 trace.file = LOCATE_compiling_global;
103 tracehead = trace.prev;
104 return ATTR_compiling_global___GlobalAnalysis____compiled_classes( self) /*GlobalAnalysis::_compiled_classes*/;
105 }
106 val_t compiling_global___GlobalAnalysis___module(val_t self) {
107 struct trace_t trace = {NULL, NULL, 59, LOCATE_compiling_global___GlobalAnalysis___module};
108 val_t *variable = NULL;
109 void **closurevariable = NULL;
110 trace.prev = tracehead; tracehead = &trace;
111 trace.file = LOCATE_compiling_global;
112 tracehead = trace.prev;
113 return ATTR_compiling_global___GlobalAnalysis____module( self) /*GlobalAnalysis::_module*/;
114 }
115 val_t compiling_global___GlobalAnalysis___max_class_table_length(val_t self) {
116 struct trace_t trace = {NULL, NULL, 62, LOCATE_compiling_global___GlobalAnalysis___max_class_table_length};
117 val_t *variable = NULL;
118 void **closurevariable = NULL;
119 trace.prev = tracehead; tracehead = &trace;
120 trace.file = LOCATE_compiling_global;
121 tracehead = trace.prev;
122 return ATTR_compiling_global___GlobalAnalysis____max_class_table_length( self) /*GlobalAnalysis::_max_class_table_length*/;
123 }
124 void compiling_global___GlobalAnalysis___max_class_table_length__eq(val_t self, val_t param0) {
125 struct trace_t trace = {NULL, NULL, 62, LOCATE_compiling_global___GlobalAnalysis___max_class_table_length__eq};
126 val_t *variable = NULL;
127 void **closurevariable = NULL;
128 trace.prev = tracehead; tracehead = &trace;
129 trace.file = LOCATE_compiling_global;
130 ATTR_compiling_global___GlobalAnalysis____max_class_table_length( self) /*GlobalAnalysis::_max_class_table_length*/ = param0;
131 tracehead = trace.prev;
132 return;
133 }
134 void compiling_global___GlobalAnalysis___init(val_t self, val_t param0, int* init_table) {
135 struct trace_t trace = {NULL, NULL, 65, LOCATE_compiling_global___GlobalAnalysis___init};
136 val_t variable[5];
137 void **closurevariable = NULL;
138 trace.prev = tracehead; tracehead = &trace;
139 trace.file = LOCATE_compiling_global;
140 variable[0] = self;
141 variable[1] = param0;
142 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_GlobalAnalysis].i]) return;
143 variable[3] = variable[0];
144 variable[4] = NEW_HashMap_hash___HashMap___init(); /*new HashMap[MMGlobalClass, CompiledClass]*/
145 ATTR_compiling_global___GlobalAnalysis____compiled_classes(variable[3]) /*GlobalAnalysis::_compiled_classes*/ = variable[4];
146 variable[3] = variable[0];
147 ATTR_compiling_global___GlobalAnalysis____module(variable[3]) /*GlobalAnalysis::_module*/ = variable[1] /*module*/;
148 return_label4: while(false);
149 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_GlobalAnalysis].i] = 1;
150 tracehead = trace.prev;
151 return;
152 }
153 val_t compiling_global___CompilerVisitor___global_analysis(val_t self) {
154 struct trace_t trace = {NULL, NULL, 73, LOCATE_compiling_global___CompilerVisitor___global_analysis};
155 val_t *variable = NULL;
156 void **closurevariable = NULL;
157 trace.prev = tracehead; tracehead = &trace;
158 trace.file = LOCATE_compiling_global;
159 tracehead = trace.prev;
160 return ATTR_compiling_global___CompilerVisitor____global_analysis( self) /*CompilerVisitor::_global_analysis*/;
161 }
162 void compiling_global___CompilerVisitor___global_analysis__eq(val_t self, val_t param0) {
163 struct trace_t trace = {NULL, NULL, 73, LOCATE_compiling_global___CompilerVisitor___global_analysis__eq};
164 val_t *variable = NULL;
165 void **closurevariable = NULL;
166 trace.prev = tracehead; tracehead = &trace;
167 trace.file = LOCATE_compiling_global;
168 ATTR_compiling_global___CompilerVisitor____global_analysis( self) /*CompilerVisitor::_global_analysis*/ = param0;
169 tracehead = trace.prev;
170 return;
171 }
172 val_t compiling_global___CompiledClass___local_class(val_t self) {
173 struct trace_t trace = {NULL, NULL, 80, LOCATE_compiling_global___CompiledClass___local_class};
174 val_t *variable = NULL;
175 void **closurevariable = NULL;
176 trace.prev = tracehead; tracehead = &trace;
177 trace.file = LOCATE_compiling_global;
178 tracehead = trace.prev;
179 return ATTR_compiling_global___CompiledClass____local_class( self) /*CompiledClass::_local_class*/;
180 }
181 val_t compiling_global___CompiledClass___id(val_t self) {
182 struct trace_t trace = {NULL, NULL, 83, LOCATE_compiling_global___CompiledClass___id};
183 val_t *variable = NULL;
184 void **closurevariable = NULL;
185 trace.prev = tracehead; tracehead = &trace;
186 trace.file = LOCATE_compiling_global;
187 tracehead = trace.prev;
188 return ATTR_compiling_global___CompiledClass____id( self) /*CompiledClass::_id*/;
189 }
190 void compiling_global___CompiledClass___id__eq(val_t self, val_t param0) {
191 struct trace_t trace = {NULL, NULL, 83, LOCATE_compiling_global___CompiledClass___id__eq};
192 val_t *variable = NULL;
193 void **closurevariable = NULL;
194 trace.prev = tracehead; tracehead = &trace;
195 trace.file = LOCATE_compiling_global;
196 ATTR_compiling_global___CompiledClass____id( self) /*CompiledClass::_id*/ = param0;
197 tracehead = trace.prev;
198 return;
199 }
200 val_t compiling_global___CompiledClass___class_table(val_t self) {
201 struct trace_t trace = {NULL, NULL, 86, LOCATE_compiling_global___CompiledClass___class_table};
202 val_t *variable = NULL;
203 void **closurevariable = NULL;
204 trace.prev = tracehead; tracehead = &trace;
205 trace.file = LOCATE_compiling_global;
206 tracehead = trace.prev;
207 return ATTR_compiling_global___CompiledClass____class_table( self) /*CompiledClass::_class_table*/;
208 }
209 void compiling_global___CompiledClass___class_table__eq(val_t self, val_t param0) {
210 struct trace_t trace = {NULL, NULL, 86, LOCATE_compiling_global___CompiledClass___class_table__eq};
211 val_t *variable = NULL;
212 void **closurevariable = NULL;
213 trace.prev = tracehead; tracehead = &trace;
214 trace.file = LOCATE_compiling_global;
215 ATTR_compiling_global___CompiledClass____class_table( self) /*CompiledClass::_class_table*/ = param0;
216 tracehead = trace.prev;
217 return;
218 }
219 val_t compiling_global___CompiledClass___instance_table(val_t self) {
220 struct trace_t trace = {NULL, NULL, 89, LOCATE_compiling_global___CompiledClass___instance_table};
221 val_t *variable = NULL;
222 void **closurevariable = NULL;
223 trace.prev = tracehead; tracehead = &trace;
224 trace.file = LOCATE_compiling_global;
225 tracehead = trace.prev;
226 return ATTR_compiling_global___CompiledClass____instance_table( self) /*CompiledClass::_instance_table*/;
227 }
228 void compiling_global___CompiledClass___instance_table__eq(val_t self, val_t param0) {
229 struct trace_t trace = {NULL, NULL, 89, LOCATE_compiling_global___CompiledClass___instance_table__eq};
230 val_t *variable = NULL;
231 void **closurevariable = NULL;
232 trace.prev = tracehead; tracehead = &trace;
233 trace.file = LOCATE_compiling_global;
234 ATTR_compiling_global___CompiledClass____instance_table( self) /*CompiledClass::_instance_table*/ = param0;
235 tracehead = trace.prev;
236 return;
237 }
238 val_t compiling_global___CompiledClass___class_layout(val_t self) {
239 struct trace_t trace = {NULL, NULL, 92, LOCATE_compiling_global___CompiledClass___class_layout};
240 val_t *variable = NULL;
241 void **closurevariable = NULL;
242 trace.prev = tracehead; tracehead = &trace;
243 trace.file = LOCATE_compiling_global;
244 tracehead = trace.prev;
245 return ATTR_compiling_global___CompiledClass____class_layout( self) /*CompiledClass::_class_layout*/;
246 }
247 void compiling_global___CompiledClass___class_layout__eq(val_t self, val_t param0) {
248 struct trace_t trace = {NULL, NULL, 92, LOCATE_compiling_global___CompiledClass___class_layout__eq};
249 val_t *variable = NULL;
250 void **closurevariable = NULL;
251 trace.prev = tracehead; tracehead = &trace;
252 trace.file = LOCATE_compiling_global;
253 ATTR_compiling_global___CompiledClass____class_layout( self) /*CompiledClass::_class_layout*/ = param0;
254 tracehead = trace.prev;
255 return;
256 }
257 val_t compiling_global___CompiledClass___instance_layout(val_t self) {
258 struct trace_t trace = {NULL, NULL, 95, LOCATE_compiling_global___CompiledClass___instance_layout};
259 val_t *variable = NULL;
260 void **closurevariable = NULL;
261 trace.prev = tracehead; tracehead = &trace;
262 trace.file = LOCATE_compiling_global;
263 tracehead = trace.prev;
264 return ATTR_compiling_global___CompiledClass____instance_layout( self) /*CompiledClass::_instance_layout*/;
265 }
266 void compiling_global___CompiledClass___instance_layout__eq(val_t self, val_t param0) {
267 struct trace_t trace = {NULL, NULL, 95, LOCATE_compiling_global___CompiledClass___instance_layout__eq};
268 val_t *variable = NULL;
269 void **closurevariable = NULL;
270 trace.prev = tracehead; tracehead = &trace;
271 trace.file = LOCATE_compiling_global;
272 ATTR_compiling_global___CompiledClass____instance_layout( self) /*CompiledClass::_instance_layout*/ = param0;
273 tracehead = trace.prev;
274 return;
275 }
276 void compiling_global___CompiledClass___init(val_t self, val_t param0, int* init_table) {
277 struct trace_t trace = {NULL, NULL, 98, LOCATE_compiling_global___CompiledClass___init};
278 val_t variable[4];
279 void **closurevariable = NULL;
280 trace.prev = tracehead; tracehead = &trace;
281 trace.file = LOCATE_compiling_global;
282 variable[0] = self;
283 variable[1] = param0;
284 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_CompiledClass].i]) return;
285 variable[3] = variable[0];
286 ATTR_compiling_global___CompiledClass____local_class(variable[3]) /*CompiledClass::_local_class*/ = variable[1] /*c*/;
287 return_label5: while(false);
288 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_CompiledClass].i] = 1;
289 tracehead = trace.prev;
290 return;
291 }
292 val_t compiling_global___MMGlobalProperty___pos_of(val_t self) {
293 struct trace_t trace = {NULL, NULL, 102, LOCATE_compiling_global___MMGlobalProperty___pos_of};
294 val_t *variable = NULL;
295 void **closurevariable = NULL;
296 trace.prev = tracehead; tracehead = &trace;
297 trace.file = LOCATE_compiling_global;
298 tracehead = trace.prev;
299 return ATTR_compiling_global___MMGlobalProperty____pos_of( self) /*MMGlobalProperty::_pos_of*/;
300 }
301 void compiling_global___MMGlobalProperty___pos_of__eq(val_t self, val_t param0) {
302 struct trace_t trace = {NULL, NULL, 102, LOCATE_compiling_global___MMGlobalProperty___pos_of__eq};
303 val_t *variable = NULL;
304 void **closurevariable = NULL;
305 trace.prev = tracehead; tracehead = &trace;
306 trace.file = LOCATE_compiling_global;
307 ATTR_compiling_global___MMGlobalProperty____pos_of( self) /*MMGlobalProperty::_pos_of*/ = param0;
308 tracehead = trace.prev;
309 return;
310 }
311 val_t compiling_global___MMSrcLocalClass___base_attr_pos(val_t self) {
312 struct trace_t trace = {NULL, NULL, 108, LOCATE_compiling_global___MMSrcLocalClass___base_attr_pos};
313 val_t *variable = NULL;
314 void **closurevariable = NULL;
315 trace.prev = tracehead; tracehead = &trace;
316 trace.file = LOCATE_compiling_global;
317 tracehead = trace.prev;
318 return ATTR_compiling_global___MMSrcLocalClass____base_attr_pos( self) /*MMSrcLocalClass::_base_attr_pos*/;
319 }
320 val_t compiling_global___MMSrcLocalClass___class_color_pos(val_t self) {
321 struct trace_t trace = {NULL, NULL, 111, LOCATE_compiling_global___MMSrcLocalClass___class_color_pos};
322 val_t *variable = NULL;
323 void **closurevariable = NULL;
324 trace.prev = tracehead; tracehead = &trace;
325 trace.file = LOCATE_compiling_global;
326 tracehead = trace.prev;
327 return ATTR_compiling_global___MMSrcLocalClass____class_color_pos( self) /*MMSrcLocalClass::_class_color_pos*/;
328 }
329 val_t compiling_global___MMSrcLocalClass___class_layout(val_t self) {
330 struct trace_t trace = {NULL, NULL, 114, LOCATE_compiling_global___MMSrcLocalClass___class_layout};
331 val_t *variable = NULL;
332 void **closurevariable = NULL;
333 trace.prev = tracehead; tracehead = &trace;
334 trace.file = LOCATE_compiling_global;
335 tracehead = trace.prev;
336 return ATTR_compiling_global___MMSrcLocalClass____class_layout( self) /*MMSrcLocalClass::_class_layout*/;
337 }
338 val_t compiling_global___MMSrcLocalClass___instance_layout(val_t self) {
339 struct trace_t trace = {NULL, NULL, 117, LOCATE_compiling_global___MMSrcLocalClass___instance_layout};
340 val_t *variable = NULL;
341 void **closurevariable = NULL;
342 trace.prev = tracehead; tracehead = &trace;
343 trace.file = LOCATE_compiling_global;
344 tracehead = trace.prev;
345 return ATTR_compiling_global___MMSrcLocalClass____instance_layout( self) /*MMSrcLocalClass::_instance_layout*/;
346 }
347 void compiling_global___MMSrcLocalClass___build_layout_in(val_t self, val_t param0, val_t param1) {
348 struct trace_t trace = {NULL, NULL, 120, LOCATE_compiling_global___MMSrcLocalClass___build_layout_in};
349 val_t variable[14];
350 void **closurevariable = NULL;
351 trace.prev = tracehead; tracehead = &trace;
352 trace.file = LOCATE_compiling_global;
353 variable[0] = self;
354 variable[1] = param0;
355 variable[2] = param1;
356 variable[5] = NEW_Array_array___Array___init(); /*new Array[MMGlobalProperty]*/
357 variable[4] = variable[5];
358 variable[6] = NEW_Array_array___Array___init(); /*new Array[MMGlobalProperty]*/
359 variable[5] = variable[6];
360 variable[7] = NEW_Array_array___Array___init(); /*new Array[LocalTableElt]*/
361 variable[6] = variable[7];
362 variable[7] = variable[0];
363 ATTR_compiling_global___MMSrcLocalClass____class_layout(variable[7]) /*MMSrcLocalClass::_class_layout*/ = variable[6] /*clt*/;
364 variable[8] = NEW_Array_array___Array___init(); /*new Array[LocalTableElt]*/
365 variable[7] = variable[8];
366 variable[8] = variable[0];
367 ATTR_compiling_global___MMSrcLocalClass____instance_layout(variable[8]) /*MMSrcLocalClass::_instance_layout*/ = variable[7] /*ilt*/;
368 variable[8] = variable[0];
369 variable[8] = ((abstractmetamodel___MMLocalClass___global_t)CALL(variable[8],COLOR_abstractmetamodel___MMLocalClass___global))(variable[8]) /*MMLocalClass::global*/;
370 variable[8] = ((abstractmetamodel___MMGlobalClass___intro_t)CALL(variable[8],COLOR_abstractmetamodel___MMGlobalClass___intro))(variable[8]) /*MMGlobalClass::intro*/;
371 variable[9] = variable[0];
372 variable[8] = TAG_Bool((variable[8] == variable[9]) || ((variable[8] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[8],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[8],variable[9])):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[8],COLOR_kernel___Object_____eqeq))(variable[8], variable[9]) /*Object::==*/)))));
373 if (UNTAG_Bool(variable[8])) { /*if*/
374 variable[8] = variable[0];
375 variable[9] = NEW_TableEltClassIdPos_compiling_global___TableEltClassIdPos___init(variable[8]); /*new TableEltClassIdPos*/
376 variable[8] = variable[9];
377 ((array___AbstractArray___add_t)CALL( variable[2] /*module_table*/,COLOR_abstract_collection___SimpleCollection___add))( variable[2] /*module_table*/, variable[8]) /*AbstractArray::add*/;
378 variable[8] = variable[0];
379 variable[9] = variable[0];
380 variable[10] = NEW_TableEltClassColorPos_compiling_global___TableEltClassColorPos___init(variable[9]); /*new TableEltClassColorPos*/
381 variable[9] = variable[10];
382 ATTR_compiling_global___MMSrcLocalClass____class_color_pos(variable[8]) /*MMSrcLocalClass::_class_color_pos*/ = variable[9];
383 variable[8] = variable[0];
384 variable[8] = ATTR_compiling_global___MMSrcLocalClass____class_color_pos(variable[8]) /*MMSrcLocalClass::_class_color_pos*/;
385 ((array___AbstractArray___add_t)CALL( variable[2] /*module_table*/,COLOR_abstract_collection___SimpleCollection___add))( variable[2] /*module_table*/, variable[8]) /*AbstractArray::add*/;
386 variable[8] = variable[0];
387 variable[9] = NEW_TableEltClassInitTablePos_compiling_global___TableEltClassInitTablePos___init(variable[8]); /*new TableEltClassInitTablePos*/
388 variable[8] = variable[9];
389 ((array___AbstractArray___add_t)CALL( variable[6] /*clt*/,COLOR_abstract_collection___SimpleCollection___add))( variable[6] /*clt*/, variable[8]) /*AbstractArray::add*/;
390 }
391 variable[8] = variable[0];
392 variable[8] = ((syntax_base___MMSrcLocalClass___src_local_properties_t)CALL(variable[8],COLOR_syntax_base___MMSrcLocalClass___src_local_properties))(variable[8]) /*MMSrcLocalClass::src_local_properties*/;
393 variable[8] = ((abstract_collection___Map___iterator_t)CALL(variable[8],COLOR_abstract_collection___Collection___iterator))(variable[8]) /*Map::iterator*/;
394 while (true) { /*for*/
395 variable[9] = ((abstract_collection___Iterator___is_ok_t)CALL(variable[8],COLOR_abstract_collection___Iterator___is_ok))(variable[8]) /*Iterator::is_ok*/;
396 if (!UNTAG_Bool(variable[9])) break; /*for*/
397 variable[9] = ((abstract_collection___Iterator___item_t)CALL(variable[8],COLOR_abstract_collection___Iterator___item))(variable[8]) /*Iterator::item*/;
398 variable[10] = variable[9];
399 variable[12] = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable[10] /*p*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable[10] /*p*/) /*MMLocalProperty::global*/;
400 variable[11] = variable[12];
401 variable[12] = ((abstractmetamodel___MMGlobalProperty___intro_t)CALL( variable[11] /*pg*/,COLOR_abstractmetamodel___MMGlobalProperty___intro))( variable[11] /*pg*/) /*MMGlobalProperty::intro*/;
402 variable[12] = TAG_Bool((variable[12] == variable[10] /*p*/) || ((variable[12] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[12],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[12], variable[10] /*p*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[12],COLOR_kernel___Object_____eqeq))(variable[12], variable[10] /*p*/) /*Object::==*/)))));
403 if (UNTAG_Bool(variable[12])) { /*if*/
404 variable[12] = TAG_Bool(( variable[10] /*p*/==NIT_NULL) || VAL_ISA( variable[10] /*p*/, COLOR_MMSrcAttribute, ID_MMSrcAttribute)) /*cast MMSrcAttribute*/;
405 if (UNTAG_Bool(variable[12])) { /*if*/
406 variable[12] = ((array___AbstractArray___length_t)CALL( variable[5] /*intro_attributes*/,COLOR_abstract_collection___Collection___length))( variable[5] /*intro_attributes*/) /*AbstractArray::length*/;
407 ((compiling_global___MMGlobalProperty___pos_of__eq_t)CALL( variable[11] /*pg*/,COLOR_compiling_global___MMGlobalProperty___pos_of__eq))( variable[11] /*pg*/, variable[12]) /*MMGlobalProperty::pos_of=*/;
408 ((array___AbstractArray___add_t)CALL( variable[5] /*intro_attributes*/,COLOR_abstract_collection___SimpleCollection___add))( variable[5] /*intro_attributes*/, variable[11] /*pg*/) /*AbstractArray::add*/;
409 variable[12] = NEW_TableEltAttrPos_compiling_global___TableEltAttrPos___init( variable[10] /*p*/); /*new TableEltAttrPos*/
410 ((array___AbstractArray___add_t)CALL( variable[7] /*ilt*/,COLOR_abstract_collection___SimpleCollection___add))( variable[7] /*ilt*/, variable[12]) /*AbstractArray::add*/;
411 } else { /*if*/
412 variable[12] = TAG_Bool(( variable[10] /*p*/==NIT_NULL) || VAL_ISA( variable[10] /*p*/, COLOR_MMSrcMethod, ID_MMSrcMethod)) /*cast MMSrcMethod*/;
413 if (UNTAG_Bool(variable[12])) { /*if*/
414 variable[12] = ((array___AbstractArray___length_t)CALL( variable[4] /*intro_methods*/,COLOR_abstract_collection___Collection___length))( variable[4] /*intro_methods*/) /*AbstractArray::length*/;
415 ((compiling_global___MMGlobalProperty___pos_of__eq_t)CALL( variable[11] /*pg*/,COLOR_compiling_global___MMGlobalProperty___pos_of__eq))( variable[11] /*pg*/, variable[12]) /*MMGlobalProperty::pos_of=*/;
416 ((array___AbstractArray___add_t)CALL( variable[4] /*intro_methods*/,COLOR_abstract_collection___SimpleCollection___add))( variable[4] /*intro_methods*/, variable[11] /*pg*/) /*AbstractArray::add*/;
417 variable[12] = NEW_TableEltMethPos_compiling_global___TableEltMethPos___init( variable[10] /*p*/); /*new TableEltMethPos*/
418 ((array___AbstractArray___add_t)CALL( variable[6] /*clt*/,COLOR_abstract_collection___SimpleCollection___add))( variable[6] /*clt*/, variable[12]) /*AbstractArray::add*/;
419 }
420 }
421 }
422 variable[12] = TAG_Bool(( variable[10] /*p*/==NIT_NULL) || VAL_ISA( variable[10] /*p*/, COLOR_MMSrcMethod, ID_MMSrcMethod)) /*cast MMSrcMethod*/;
423 variable[13] = variable[12];
424 if (UNTAG_Bool(variable[13])) { /* and */
425 variable[13] = ((abstractmetamodel___MMLocalProperty___need_super_t)CALL( variable[10] /*p*/,COLOR_abstractmetamodel___MMLocalProperty___need_super))( variable[10] /*p*/) /*MMLocalProperty::need_super*/;
426 }
427 variable[12] = variable[13];
428 if (UNTAG_Bool(variable[12])) { /*if*/
429 variable[12] = NEW_TableEltSuperPos_compiling_global___TableEltSuperPos___init( variable[10] /*p*/); /*new TableEltSuperPos*/
430 ((array___AbstractArray___add_t)CALL( variable[6] /*clt*/,COLOR_abstract_collection___SimpleCollection___add))( variable[6] /*clt*/, variable[12]) /*AbstractArray::add*/;
431 }
432 continue_7: while(0);
433 ((abstract_collection___Iterator___next_t)CALL(variable[8],COLOR_abstract_collection___Iterator___next))(variable[8]) /*Iterator::next*/;
434 }
435 break_7: while(0);
436 variable[8] = ((compiling_base___ToolContext___attr_sim_t)CALL( variable[1] /*tc*/,COLOR_compiling_base___ToolContext___attr_sim))( variable[1] /*tc*/) /*ToolContext::attr_sim*/;
437 variable[9] = variable[8];
438 if (UNTAG_Bool(variable[9])) { /* and */
439 variable[9] = ((array___AbstractArray___is_empty_t)CALL( variable[5] /*intro_attributes*/,COLOR_abstract_collection___Collection___is_empty))( variable[5] /*intro_attributes*/) /*AbstractArray::is_empty*/;
440 variable[9] = TAG_Bool(!UNTAG_Bool(variable[9]));
441 }
442 variable[8] = variable[9];
443 if (UNTAG_Bool(variable[8])) { /*if*/
444 variable[8] = variable[0];
445 variable[9] = variable[0];
446 variable[10] = NEW_TableEltBaseAttrPos_compiling_global___TableEltBaseAttrPos___init(variable[9]); /*new TableEltBaseAttrPos*/
447 variable[9] = variable[10];
448 ATTR_compiling_global___MMSrcLocalClass____base_attr_pos(variable[8]) /*MMSrcLocalClass::_base_attr_pos*/ = variable[9];
449 variable[8] = variable[0];
450 variable[8] = ATTR_compiling_global___MMSrcLocalClass____base_attr_pos(variable[8]) /*MMSrcLocalClass::_base_attr_pos*/;
451 ((array___AbstractArray___add_t)CALL( variable[6] /*clt*/,COLOR_abstract_collection___SimpleCollection___add))( variable[6] /*clt*/, variable[8]) /*AbstractArray::add*/;
452 } else { /*if*/
453 ((abstract_collection___IndexedCollection___append_t)CALL( variable[2] /*module_table*/,COLOR_abstract_collection___IndexedCollection___append))( variable[2] /*module_table*/, variable[7] /*ilt*/) /*IndexedCollection::append*/;
454 }
455 ((abstract_collection___IndexedCollection___append_t)CALL( variable[2] /*module_table*/,COLOR_abstract_collection___IndexedCollection___append))( variable[2] /*module_table*/, variable[6] /*clt*/) /*IndexedCollection::append*/;
456 return_label6: while(false);
457 tracehead = trace.prev;
458 return;
459 }
460 void compiling_global___MMSrcModule___local_analysis(val_t self, val_t param0) {
461 struct trace_t trace = {NULL, NULL, 168, LOCATE_compiling_global___MMSrcModule___local_analysis};
462 val_t variable[7];
463 void **closurevariable = NULL;
464 trace.prev = tracehead; tracehead = &trace;
465 trace.file = LOCATE_compiling_global;
466 variable[0] = self;
467 variable[1] = param0;
468 variable[4] = NEW_Array_array___Array___init(); /*new Array[LocalTableElt]*/
469 variable[3] = variable[4];
470 variable[4] = variable[0];
471 ATTR_compiling_global___MMSrcModule____local_table(variable[4]) /*MMSrcModule::_local_table*/ = variable[3] /*lt*/;
472 variable[4] = variable[0];
473 variable[4] = ((syntax_base___MMSrcModule___src_local_classes_t)CALL(variable[4],COLOR_syntax_base___MMSrcModule___src_local_classes))(variable[4]) /*MMSrcModule::src_local_classes*/;
474 variable[4] = ((abstract_collection___Map___iterator_t)CALL(variable[4],COLOR_abstract_collection___Collection___iterator))(variable[4]) /*Map::iterator*/;
475 while (true) { /*for*/
476 variable[5] = ((abstract_collection___Iterator___is_ok_t)CALL(variable[4],COLOR_abstract_collection___Iterator___is_ok))(variable[4]) /*Iterator::is_ok*/;
477 if (!UNTAG_Bool(variable[5])) break; /*for*/
478 variable[5] = ((abstract_collection___Iterator___item_t)CALL(variable[4],COLOR_abstract_collection___Iterator___item))(variable[4]) /*Iterator::item*/;
479 variable[6] = variable[5];
480 ((compiling_global___MMSrcLocalClass___build_layout_in_t)CALL( variable[6] /*c*/,COLOR_compiling_global___MMSrcLocalClass___build_layout_in))( variable[6] /*c*/, variable[1] /*tc*/, variable[3] /*lt*/) /*MMSrcLocalClass::build_layout_in*/;
481 continue_9: while(0);
482 ((abstract_collection___Iterator___next_t)CALL(variable[4],COLOR_abstract_collection___Iterator___next))(variable[4]) /*Iterator::next*/;
483 }
484 break_9: while(0);
485 return_label8: while(false);
486 tracehead = trace.prev;
487 return;
488 }
489 val_t compiling_global___MMSrcModule___global_analysis(val_t self, val_t param0) {
490 struct trace_t trace = {NULL, NULL, 178, LOCATE_compiling_global___MMSrcModule___global_analysis};
491 val_t variable[25];
492 void **closurevariable = NULL;
493 trace.prev = tracehead; tracehead = &trace;
494 trace.file = LOCATE_compiling_global;
495 variable[0] = self;
496 variable[1] = param0;
497 variable[4] = variable[0];
498 variable[5] = NEW_GlobalAnalysis_compiling_global___GlobalAnalysis___init(variable[4]); /*new GlobalAnalysis*/
499 variable[4] = variable[5];
500 variable[3] = variable[4];
501 variable[5] = NEW_Array_array___Array___init(); /*new Array[MMLocalClass]*/
502 variable[4] = variable[5];
503 variable[6] = NEW_HashSet_hash___HashSet___init(); /*new HashSet[MMGlobalProperty]*/
504 variable[5] = variable[6];
505 variable[7] = NEW_Array_array___Array___init(); /*new Array[TableElt]*/
506 variable[6] = variable[7];
507 variable[8] = NEW_Array_array___Array___init(); /*new Array[TableElt]*/
508 variable[7] = variable[8];
509 variable[8] = NEW_TableEltClassSelfId_compiling_global___TableEltClassSelfId___init(); /*new TableEltClassSelfId*/
510 ((array___AbstractArray___add_t)CALL( variable[6] /*ctab*/,COLOR_abstract_collection___SimpleCollection___add))( variable[6] /*ctab*/, variable[8]) /*AbstractArray::add*/;
511 variable[8] = NEW_TableEltVftPointer_compiling_global___TableEltVftPointer___init(); /*new TableEltVftPointer*/
512 ((array___AbstractArray___add_t)CALL( variable[7] /*itab*/,COLOR_abstract_collection___SimpleCollection___add))( variable[7] /*itab*/, variable[8]) /*AbstractArray::add*/;
513 variable[9] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
514 variable[8] = variable[9];
515 variable[9] = TAG_Int(3);
516 variable[11] = NEW_Array_array___Array___init(); /*new Array[MMLocalClass]*/
517 variable[10] = variable[11];
518 variable[11] = variable[0];
519 variable[11] = ((abstractmetamodel___MMModule___local_classes_t)CALL(variable[11],COLOR_abstractmetamodel___MMModule___local_classes))(variable[11]) /*MMModule::local_classes*/;
520 variable[11] = ((array___AbstractArray___iterator_t)CALL(variable[11],COLOR_abstract_collection___Collection___iterator))(variable[11]) /*AbstractArray::iterator*/;
521 while (true) { /*for*/
522 variable[12] = ((array___ArrayIterator___is_ok_t)CALL(variable[11],COLOR_abstract_collection___Iterator___is_ok))(variable[11]) /*ArrayIterator::is_ok*/;
523 if (!UNTAG_Bool(variable[12])) break; /*for*/
524 variable[12] = ((array___ArrayIterator___item_t)CALL(variable[11],COLOR_abstract_collection___Iterator___item))(variable[11]) /*ArrayIterator::item*/;
525 variable[13] = variable[12];
526 ((inheritance___MMLocalClass___compute_super_classes_t)CALL( variable[13] /*c*/,COLOR_inheritance___MMLocalClass___compute_super_classes))( variable[13] /*c*/) /*MMLocalClass::compute_super_classes*/;
527 ((array___AbstractArray___add_t)CALL( variable[10] /*classes*/,COLOR_abstract_collection___SimpleCollection___add))( variable[10] /*classes*/, variable[13] /*c*/) /*AbstractArray::add*/;
528 continue_11: while(0);
529 ((array___ArrayIterator___next_t)CALL(variable[11],COLOR_abstract_collection___Iterator___next))(variable[11]) /*ArrayIterator::next*/;
530 }
531 break_11: while(0);
532 variable[11] = NEW_ClassSorter_compiling_global___ClassSorter___init(); /*new ClassSorter*/
533 ((sorter___AbstractSorter___sort_t)CALL(variable[11],COLOR_sorter___AbstractSorter___sort))(variable[11], variable[10] /*classes*/) /*AbstractSorter::sort*/;
534 variable[11] = ((array___AbstractArray___iterator_t)CALL( variable[10] /*classes*/,COLOR_abstract_collection___Collection___iterator))( variable[10] /*classes*/) /*AbstractArray::iterator*/;
535 while (true) { /*for*/
536 variable[12] = ((array___ArrayIterator___is_ok_t)CALL(variable[11],COLOR_abstract_collection___Iterator___is_ok))(variable[11]) /*ArrayIterator::is_ok*/;
537 if (!UNTAG_Bool(variable[12])) break; /*for*/
538 variable[12] = ((array___ArrayIterator___item_t)CALL(variable[11],COLOR_abstract_collection___Iterator___item))(variable[11]) /*ArrayIterator::item*/;
539 variable[13] = variable[12];
540 ((inheritance___MMLocalClass___compute_ancestors_t)CALL( variable[13] /*c*/,COLOR_inheritance___MMLocalClass___compute_ancestors))( variable[13] /*c*/) /*MMLocalClass::compute_ancestors*/;
541 ((inheritance___MMLocalClass___inherit_global_properties_t)CALL( variable[13] /*c*/,COLOR_inheritance___MMLocalClass___inherit_global_properties))( variable[13] /*c*/) /*MMLocalClass::inherit_global_properties*/;
542 variable[15] = NEW_CompiledClass_compiling_global___CompiledClass___init( variable[13] /*c*/); /*new CompiledClass*/
543 variable[14] = variable[15];
544 variable[15] = ((compiling_global___GlobalAnalysis___compiled_classes_t)CALL( variable[3] /*ga*/,COLOR_compiling_global___GlobalAnalysis___compiled_classes))( variable[3] /*ga*/) /*GlobalAnalysis::compiled_classes*/;
545 variable[16] = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable[13] /*c*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable[13] /*c*/) /*MMLocalClass::global*/;
546 ((hash___HashMap_____braeq_t)CALL(variable[15],COLOR_abstract_collection___Map_____braeq))(variable[15], variable[16], variable[14] /*cc*/) /*HashMap::[]=*/;
547 variable[16] = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable[13] /*c*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable[13] /*c*/) /*MMLocalClass::global*/;
548 variable[15] = variable[16];
549 variable[17] = ((abstractmetamodel___MMGlobalClass___module_t)CALL( variable[15] /*gc*/,COLOR_abstractmetamodel___MMGlobalClass___module))( variable[15] /*gc*/) /*MMGlobalClass::module*/;
550 variable[16] = variable[17];
551 variable[17] = ((compiling_base___MMLocalClass___primitive_info_t)CALL( variable[13] /*c*/,COLOR_compiling_base___MMLocalClass___primitive_info))( variable[13] /*c*/) /*MMLocalClass::primitive_info*/;
552 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[17] == NIT_NULL /*null*/) || ((variable[17] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[17],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[17], NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[17],COLOR_kernel___Object_____eqeq))(variable[17], NIT_NULL /*null*/) /*Object::==*/)))))));
553 if (UNTAG_Bool(variable[17])) { /*if*/
554 ((compiling_global___CompiledClass___id__eq_t)CALL( variable[14] /*cc*/,COLOR_compiling_global___CompiledClass___id__eq))( variable[14] /*cc*/, variable[8] /*pclassid*/) /*CompiledClass::id=*/;
555 variable[17] = TAG_Int(UNTAG_Int( variable[8] /*pclassid*/)-UNTAG_Int( TAG_Int(4)));
556 variable[8] = variable[17] /*pclassid=*/;
557 } else { /*if*/
558 ((compiling_global___CompiledClass___id__eq_t)CALL( variable[14] /*cc*/,COLOR_compiling_global___CompiledClass___id__eq))( variable[14] /*cc*/, variable[9] /*classid*/) /*CompiledClass::id=*/;
559 variable[17] = TAG_Int(UNTAG_Int( variable[9] /*classid*/)+UNTAG_Int( TAG_Int(4)));
560 variable[9] = variable[17] /*classid=*/;
561 }
562 variable[17] = ((abstractmetamodel___MMLocalClass___cshe_t)CALL( variable[13] /*c*/,COLOR_abstractmetamodel___MMLocalClass___cshe))( variable[13] /*c*/) /*MMLocalClass::cshe*/;
563 variable[17] = ((partial_order___PartialOrderElement___direct_smallers_t)CALL(variable[17],COLOR_partial_order___PartialOrderElement___direct_smallers))(variable[17]) /*PartialOrderElement::direct_smallers*/;
564 variable[17] = ((array___AbstractArray___is_empty_t)CALL(variable[17],COLOR_abstract_collection___Collection___is_empty))(variable[17]) /*AbstractArray::is_empty*/;
565 if (UNTAG_Bool(variable[17])) { /*if*/
566 ((array___AbstractArray___add_t)CALL( variable[4] /*smallest_classes*/,COLOR_abstract_collection___SimpleCollection___add))( variable[4] /*smallest_classes*/, variable[13] /*c*/) /*AbstractArray::add*/;
567 }
568 variable[18] = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable[13] /*c*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable[13] /*c*/) /*MMLocalClass::global*/;
569 variable[18] = ((abstractmetamodel___MMGlobalClass___intro_t)CALL(variable[18],COLOR_abstractmetamodel___MMGlobalClass___intro))(variable[18]) /*MMGlobalClass::intro*/;
570 variable[17] = variable[18];
571 variable[18] = TAG_Bool(( variable[17] /*bc*/==NIT_NULL) || VAL_ISA( variable[17] /*bc*/, COLOR_MMSrcLocalClass, ID_MMSrcLocalClass)) /*cast MMSrcLocalClass*/;
572 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_global___MMSrcModule___global_analysis, LOCATE_compiling_global, 230); nit_exit(1);}
573 variable[18] = ((compiling_global___MMSrcLocalClass___class_color_pos_t)CALL( variable[17] /*bc*/,COLOR_compiling_global___MMSrcLocalClass___class_color_pos))( variable[17] /*bc*/) /*MMSrcLocalClass::class_color_pos*/;
574 ((array___AbstractArray___add_t)CALL( variable[6] /*ctab*/,COLOR_abstract_collection___SimpleCollection___add))( variable[6] /*ctab*/, variable[18]) /*AbstractArray::add*/;
575 continue_12: while(0);
576 ((array___ArrayIterator___next_t)CALL(variable[11],COLOR_abstract_collection___Iterator___next))(variable[11]) /*ArrayIterator::next*/;
577 }
578 break_12: while(0);
579 variable[12] = NEW_HashSet_hash___HashSet___init(); /*new HashSet[MMLocalClass]*/
580 variable[11] = variable[12];
581 variable[13] = NEW_HashSet_hash___HashSet___init(); /*new HashSet[MMLocalClass]*/
582 variable[12] = variable[13];
583 variable[13] = ((array___AbstractArray___iterator_t)CALL( variable[4] /*smallest_classes*/,COLOR_abstract_collection___Collection___iterator))( variable[4] /*smallest_classes*/) /*AbstractArray::iterator*/;
584 while (true) { /*for*/
585 variable[14] = ((array___ArrayIterator___is_ok_t)CALL(variable[13],COLOR_abstract_collection___Iterator___is_ok))(variable[13]) /*ArrayIterator::is_ok*/;
586 if (!UNTAG_Bool(variable[14])) break; /*for*/
587 variable[14] = ((array___ArrayIterator___item_t)CALL(variable[13],COLOR_abstract_collection___Iterator___item))(variable[13]) /*ArrayIterator::item*/;
588 variable[15] = variable[14];
589 while (true) { /*while*/
590 variable[16] = ((abstractmetamodel___MMLocalClass___cshe_t)CALL( variable[15] /*c*/,COLOR_abstractmetamodel___MMLocalClass___cshe))( variable[15] /*c*/) /*MMLocalClass::cshe*/;
591 variable[16] = ((partial_order___PartialOrderElement___direct_greaters_t)CALL(variable[16],COLOR_partial_order___PartialOrderElement___direct_greaters))(variable[16]) /*PartialOrderElement::direct_greaters*/;
592 variable[16] = ((array___AbstractArray___length_t)CALL(variable[16],COLOR_abstract_collection___Collection___length))(variable[16]) /*AbstractArray::length*/;
593 variable[16] = TAG_Bool((variable[16])==( TAG_Int(1)));
594 if (!UNTAG_Bool(variable[16])) break; /* while*/
595 variable[16] = ((abstractmetamodel___MMLocalClass___cshe_t)CALL( variable[15] /*c*/,COLOR_abstractmetamodel___MMLocalClass___cshe))( variable[15] /*c*/) /*MMLocalClass::cshe*/;
596 variable[16] = ((partial_order___PartialOrderElement___direct_greaters_t)CALL(variable[16],COLOR_partial_order___PartialOrderElement___direct_greaters))(variable[16]) /*PartialOrderElement::direct_greaters*/;
597 variable[16] = ((abstract_collection___IndexedCollection___first_t)CALL(variable[16],COLOR_abstract_collection___Collection___first))(variable[16]) /*IndexedCollection::first*/;
598 variable[15] = variable[16] /*c=*/;
599 continue_14: while(0);
600 }
601 break_14: while(0);
602 ((hash___HashSet___add_t)CALL( variable[11] /*crown_classes*/,COLOR_abstract_collection___SimpleCollection___add))( variable[11] /*crown_classes*/, variable[15] /*c*/) /*HashSet::add*/;
603 variable[16] = ((abstractmetamodel___MMLocalClass___cshe_t)CALL( variable[15] /*c*/,COLOR_abstractmetamodel___MMLocalClass___cshe))( variable[15] /*c*/) /*MMLocalClass::cshe*/;
604 variable[16] = ((partial_order___PartialOrderElement___greaters_and_self_t)CALL(variable[16],COLOR_partial_order___PartialOrderElement___greaters_and_self))(variable[16]) /*PartialOrderElement::greaters_and_self*/;
605 ((abstract_collection___SimpleCollection___add_all_t)CALL( variable[12] /*core_classes*/,COLOR_abstract_collection___SimpleCollection___add_all))( variable[12] /*core_classes*/, variable[16]) /*SimpleCollection::add_all*/;
606 continue_13: while(0);
607 ((array___ArrayIterator___next_t)CALL(variable[13],COLOR_abstract_collection___Iterator___next))(variable[13]) /*ArrayIterator::next*/;
608 }
609 break_13: while(0);
610 variable[13] = variable[0];
611 ((compiling_global___MMSrcModule___colorize_t)CALL(variable[13],COLOR_compiling_global___MMSrcModule___colorize))(variable[13], variable[3] /*ga*/, variable[6] /*ctab*/, variable[11] /*crown_classes*/, TAG_Int(0)) /*MMSrcModule::colorize*/;
612 variable[13] = TAG_Int(0);
613 variable[14] = ((array___AbstractArray___iterator_t)CALL( variable[10] /*classes*/,COLOR_abstract_collection___Collection___iterator))( variable[10] /*classes*/) /*AbstractArray::iterator*/;
614 while (true) { /*for*/
615 variable[15] = ((array___ArrayIterator___is_ok_t)CALL(variable[14],COLOR_abstract_collection___Iterator___is_ok))(variable[14]) /*ArrayIterator::is_ok*/;
616 if (!UNTAG_Bool(variable[15])) break; /*for*/
617 variable[15] = ((array___ArrayIterator___item_t)CALL(variable[14],COLOR_abstract_collection___Iterator___item))(variable[14]) /*ArrayIterator::item*/;
618 variable[16] = variable[15];
619 variable[18] = ((compiling_global___GlobalAnalysis___compiled_classes_t)CALL( variable[3] /*ga*/,COLOR_compiling_global___GlobalAnalysis___compiled_classes))( variable[3] /*ga*/) /*GlobalAnalysis::compiled_classes*/;
620 variable[19] = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable[16] /*c*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable[16] /*c*/) /*MMLocalClass::global*/;
621 variable[18] = ((abstract_collection___CoupleMap_____bra_t)CALL(variable[18],COLOR_abstract_collection___Map_____bra))(variable[18], variable[19]) /*CoupleMap::[]*/;
622 variable[17] = variable[18];
623 variable[18] = ((hash___HashSet___has_t)CALL( variable[12] /*core_classes*/,COLOR_abstract_collection___Collection___has))( variable[12] /*core_classes*/, variable[16] /*c*/) /*HashSet::has*/;
624 if (UNTAG_Bool(variable[18])) { /*if*/
625 variable[18] = variable[0];
626 variable[18] = ((compiling_global___MMSrcModule___build_tables_t)CALL(variable[18],COLOR_compiling_global___MMSrcModule___build_tables))(variable[18], variable[3] /*ga*/, variable[16] /*c*/, variable[6] /*ctab*/) /*MMSrcModule::build_tables*/;
627 ((compiling_global___CompiledClass___class_table__eq_t)CALL( variable[17] /*cc*/,COLOR_compiling_global___CompiledClass___class_table__eq))( variable[17] /*cc*/, variable[18]) /*CompiledClass::class_table=*/;
628 variable[18] = ((compiling_global___CompiledClass___class_table_t)CALL( variable[17] /*cc*/,COLOR_compiling_global___CompiledClass___class_table))( variable[17] /*cc*/) /*CompiledClass::class_table*/;
629 variable[18] = ((array___AbstractArray___length_t)CALL(variable[18],COLOR_abstract_collection___Collection___length))(variable[18]) /*AbstractArray::length*/;
630 variable[18] = TAG_Bool(UNTAG_Int( variable[13] /*maxcolor*/)<UNTAG_Int(variable[18]));
631 if (UNTAG_Bool(variable[18])) { /*if*/
632 variable[18] = ((compiling_global___CompiledClass___class_table_t)CALL( variable[17] /*cc*/,COLOR_compiling_global___CompiledClass___class_table))( variable[17] /*cc*/) /*CompiledClass::class_table*/;
633 variable[18] = ((array___AbstractArray___length_t)CALL(variable[18],COLOR_abstract_collection___Collection___length))(variable[18]) /*AbstractArray::length*/;
634 variable[13] = variable[18] /*maxcolor=*/;
635 }
636 } else { /*if*/
637 variable[19] = ((abstractmetamodel___MMLocalClass___cshe_t)CALL( variable[16] /*c*/,COLOR_abstractmetamodel___MMLocalClass___cshe))( variable[16] /*c*/) /*MMLocalClass::cshe*/;
638 variable[19] = ((partial_order___PartialOrderElement___direct_greaters_t)CALL(variable[19],COLOR_partial_order___PartialOrderElement___direct_greaters))(variable[19]) /*PartialOrderElement::direct_greaters*/;
639 variable[19] = ((abstract_collection___IndexedCollection___first_t)CALL(variable[19],COLOR_abstract_collection___Collection___first))(variable[19]) /*IndexedCollection::first*/;
640 variable[18] = variable[19];
641 variable[20] = ((compiling_global___GlobalAnalysis___compiled_classes_t)CALL( variable[3] /*ga*/,COLOR_compiling_global___GlobalAnalysis___compiled_classes))( variable[3] /*ga*/) /*GlobalAnalysis::compiled_classes*/;
642 variable[21] = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable[18] /*sc*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable[18] /*sc*/) /*MMLocalClass::global*/;
643 variable[20] = ((abstract_collection___CoupleMap_____bra_t)CALL(variable[20],COLOR_abstract_collection___Map_____bra))(variable[20], variable[21]) /*CoupleMap::[]*/;
644 variable[19] = variable[20];
645 variable[20] = ((compiling_global___CompiledClass___class_table_t)CALL( variable[19] /*scc*/,COLOR_compiling_global___CompiledClass___class_table))( variable[19] /*scc*/) /*CompiledClass::class_table*/;
646 variable[20] = ((array___Collection___to_a_t)CALL(variable[20],COLOR_array___Collection___to_a))(variable[20]) /*Collection::to_a*/;
647 ((compiling_global___CompiledClass___class_table__eq_t)CALL( variable[17] /*cc*/,COLOR_compiling_global___CompiledClass___class_table__eq))( variable[17] /*cc*/, variable[20]) /*CompiledClass::class_table=*/;
648 variable[21] = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable[16] /*c*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable[16] /*c*/) /*MMLocalClass::global*/;
649 variable[21] = ((abstractmetamodel___MMGlobalClass___intro_t)CALL(variable[21],COLOR_abstractmetamodel___MMGlobalClass___intro))(variable[21]) /*MMGlobalClass::intro*/;
650 variable[20] = variable[21];
651 variable[21] = TAG_Bool(( variable[20] /*bc*/==NIT_NULL) || VAL_ISA( variable[20] /*bc*/, COLOR_MMSrcLocalClass, ID_MMSrcLocalClass)) /*cast MMSrcLocalClass*/;
652 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_global___MMSrcModule___global_analysis, LOCATE_compiling_global, 263); nit_exit(1);}
653 variable[22] = ((compiling_global___MMSrcLocalClass___class_color_pos_t)CALL( variable[20] /*bc*/,COLOR_compiling_global___MMSrcLocalClass___class_color_pos))( variable[20] /*bc*/) /*MMSrcLocalClass::class_color_pos*/;
654 variable[21] = variable[22];
655 variable[23] = ((compiling_global___CompiledClass___class_table_t)CALL( variable[17] /*cc*/,COLOR_compiling_global___CompiledClass___class_table))( variable[17] /*cc*/) /*CompiledClass::class_table*/;
656 variable[23] = ((array___AbstractArray___length_t)CALL(variable[23],COLOR_abstract_collection___Collection___length))(variable[23]) /*AbstractArray::length*/;
657 variable[22] = variable[23];
658 ((compiling_global___ColorContext___color__eq_t)CALL( variable[3] /*ga*/,COLOR_compiling_global___ColorContext___color__eq))( variable[3] /*ga*/, variable[21] /*colpos*/, variable[22] /*colposcolor*/) /*ColorContext::color=*/;
659 variable[23] = ((compiling_global___CompiledClass___class_table_t)CALL( variable[17] /*cc*/,COLOR_compiling_global___CompiledClass___class_table))( variable[17] /*cc*/) /*CompiledClass::class_table*/;
660 ((array___AbstractArray___add_t)CALL(variable[23],COLOR_abstract_collection___SimpleCollection___add))(variable[23], variable[21] /*colpos*/) /*AbstractArray::add*/;
661 variable[23] = TAG_Bool(UNTAG_Int( variable[13] /*maxcolor*/)<UNTAG_Int( variable[22] /*colposcolor*/));
662 if (UNTAG_Bool(variable[23])) { /*if*/
663 variable[13] = variable[22] /*colposcolor*/ /*maxcolor=*/;
664 }
665 }
666 continue_15: while(0);
667 ((array___ArrayIterator___next_t)CALL(variable[14],COLOR_abstract_collection___Iterator___next))(variable[14]) /*ArrayIterator::next*/;
668 }
669 break_15: while(0);
670 variable[14] = TAG_Int(UNTAG_Int( variable[13] /*maxcolor*/)+UNTAG_Int( TAG_Int(1)));
671 ((compiling_global___GlobalAnalysis___max_class_table_length__eq_t)CALL( variable[3] /*ga*/,COLOR_compiling_global___GlobalAnalysis___max_class_table_length__eq))( variable[3] /*ga*/, variable[14]) /*GlobalAnalysis::max_class_table_length=*/;
672 variable[14] = ((array___AbstractArray___iterator_t)CALL( variable[10] /*classes*/,COLOR_abstract_collection___Collection___iterator))( variable[10] /*classes*/) /*AbstractArray::iterator*/;
673 while (true) { /*for*/
674 variable[15] = ((array___ArrayIterator___is_ok_t)CALL(variable[14],COLOR_abstract_collection___Iterator___is_ok))(variable[14]) /*ArrayIterator::is_ok*/;
675 if (!UNTAG_Bool(variable[15])) break; /*for*/
676 variable[15] = ((array___ArrayIterator___item_t)CALL(variable[14],COLOR_abstract_collection___Iterator___item))(variable[14]) /*ArrayIterator::item*/;
677 variable[16] = variable[15];
678 variable[18] = ((compiling_global___GlobalAnalysis___compiled_classes_t)CALL( variable[3] /*ga*/,COLOR_compiling_global___GlobalAnalysis___compiled_classes))( variable[3] /*ga*/) /*GlobalAnalysis::compiled_classes*/;
679 variable[19] = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable[16] /*c*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable[16] /*c*/) /*MMLocalClass::global*/;
680 variable[18] = ((abstract_collection___CoupleMap_____bra_t)CALL(variable[18],COLOR_abstract_collection___Map_____bra))(variable[18], variable[19]) /*CoupleMap::[]*/;
681 variable[17] = variable[18];
682 variable[19] = NEW_TableEltComposite_compiling_global___TableEltComposite___init( variable[17] /*cc*/); /*new TableEltComposite*/
683 variable[18] = variable[19];
684 variable[20] = NEW_TableEltComposite_compiling_global___TableEltComposite___init( variable[17] /*cc*/); /*new TableEltComposite*/
685 variable[19] = variable[20];
686 variable[20] = ((abstractmetamodel___MMLocalClass___crhe_t)CALL( variable[16] /*c*/,COLOR_abstractmetamodel___MMLocalClass___crhe))( variable[16] /*c*/) /*MMLocalClass::crhe*/;
687 variable[20] = ((partial_order___PartialOrderElement___greaters_and_self_t)CALL(variable[20],COLOR_partial_order___PartialOrderElement___greaters_and_self))(variable[20]) /*PartialOrderElement::greaters_and_self*/;
688 variable[20] = ((abstract_collection___Collection___iterator_t)CALL(variable[20],COLOR_abstract_collection___Collection___iterator))(variable[20]) /*Collection::iterator*/;
689 while (true) { /*for*/
690 variable[21] = ((abstract_collection___Iterator___is_ok_t)CALL(variable[20],COLOR_abstract_collection___Iterator___is_ok))(variable[20]) /*Iterator::is_ok*/;
691 if (!UNTAG_Bool(variable[21])) break; /*for*/
692 variable[21] = ((abstract_collection___Iterator___item_t)CALL(variable[20],COLOR_abstract_collection___Iterator___item))(variable[20]) /*Iterator::item*/;
693 variable[22] = variable[21];
694 variable[23] = TAG_Bool(( variable[22] /*sc*/==NIT_NULL) || VAL_ISA( variable[22] /*sc*/, COLOR_MMSrcLocalClass, ID_MMSrcLocalClass)) /*cast MMSrcLocalClass*/;
695 if (UNTAG_Bool(variable[23])) { /*if*/
696 variable[23] = ((compiling_global___MMSrcLocalClass___class_layout_t)CALL( variable[22] /*sc*/,COLOR_compiling_global___MMSrcLocalClass___class_layout))( variable[22] /*sc*/) /*MMSrcLocalClass::class_layout*/;
697 ((compiling_global___TableEltComposite___add_t)CALL( variable[18] /*cte*/,COLOR_compiling_global___TableEltComposite___add))( variable[18] /*cte*/, variable[22] /*sc*/, variable[23]) /*TableEltComposite::add*/;
698 variable[23] = ((compiling_global___MMSrcLocalClass___instance_layout_t)CALL( variable[22] /*sc*/,COLOR_compiling_global___MMSrcLocalClass___instance_layout))( variable[22] /*sc*/) /*MMSrcLocalClass::instance_layout*/;
699 ((compiling_global___TableEltComposite___add_t)CALL( variable[19] /*ite*/,COLOR_compiling_global___TableEltComposite___add))( variable[19] /*ite*/, variable[22] /*sc*/, variable[23]) /*TableEltComposite::add*/;
700 }
701 ((compiling_global___CompiledClass___class_layout__eq_t)CALL( variable[17] /*cc*/,COLOR_compiling_global___CompiledClass___class_layout__eq))( variable[17] /*cc*/, variable[18] /*cte*/) /*CompiledClass::class_layout=*/;
702 ((compiling_global___CompiledClass___instance_layout__eq_t)CALL( variable[17] /*cc*/,COLOR_compiling_global___CompiledClass___instance_layout__eq))( variable[17] /*cc*/, variable[19] /*ite*/) /*CompiledClass::instance_layout=*/;
703 continue_17: while(0);
704 ((abstract_collection___Iterator___next_t)CALL(variable[20],COLOR_abstract_collection___Iterator___next))(variable[20]) /*Iterator::next*/;
705 }
706 break_17: while(0);
707 variable[20] = ((hash___HashSet___has_t)CALL( variable[12] /*core_classes*/,COLOR_abstract_collection___Collection___has))( variable[12] /*core_classes*/, variable[16] /*c*/) /*HashSet::has*/;
708 if (UNTAG_Bool(variable[20])) { /*if*/
709 variable[20] = ((compiling_global___TableEltComposite___length_t)CALL( variable[18] /*cte*/,COLOR_compiling_global___TableElt___length))( variable[18] /*cte*/) /*TableEltComposite::length*/;
710 variable[20] = TAG_Bool(UNTAG_Int(variable[20])>UNTAG_Int( TAG_Int(0)));
711 if (UNTAG_Bool(variable[20])) { /*if*/
712 ((array___AbstractArray___add_t)CALL( variable[6] /*ctab*/,COLOR_abstract_collection___SimpleCollection___add))( variable[6] /*ctab*/, variable[18] /*cte*/) /*AbstractArray::add*/;
713 }
714 variable[20] = ((compiling_base___ToolContext___attr_sim_t)CALL( variable[1] /*cctx*/,COLOR_compiling_base___ToolContext___attr_sim))( variable[1] /*cctx*/) /*ToolContext::attr_sim*/;
715 variable[20] = TAG_Bool(!UNTAG_Bool(variable[20]));
716 if (UNTAG_Bool(variable[20])) { /* and */
717 variable[20] = ((compiling_global___TableEltComposite___length_t)CALL( variable[19] /*ite*/,COLOR_compiling_global___TableElt___length))( variable[19] /*ite*/) /*TableEltComposite::length*/;
718 variable[20] = TAG_Bool(UNTAG_Int(variable[20])>UNTAG_Int( TAG_Int(0)));
719 }
720 if (UNTAG_Bool(variable[20])) { /*if*/
721 ((array___AbstractArray___add_t)CALL( variable[7] /*itab*/,COLOR_abstract_collection___SimpleCollection___add))( variable[7] /*itab*/, variable[19] /*ite*/) /*AbstractArray::add*/;
722 }
723 }
724 continue_16: while(0);
725 ((array___ArrayIterator___next_t)CALL(variable[14],COLOR_abstract_collection___Iterator___next))(variable[14]) /*ArrayIterator::next*/;
726 }
727 break_16: while(0);
728 variable[14] = variable[0];
729 variable[15] = TAG_Int(UNTAG_Int( variable[13] /*maxcolor*/)+UNTAG_Int( TAG_Int(1)));
730 ((compiling_global___MMSrcModule___colorize_t)CALL(variable[14],COLOR_compiling_global___MMSrcModule___colorize))(variable[14], variable[3] /*ga*/, variable[6] /*ctab*/, variable[11] /*crown_classes*/, variable[15]) /*MMSrcModule::colorize*/;
731 variable[14] = variable[0];
732 ((compiling_global___MMSrcModule___colorize_t)CALL(variable[14],COLOR_compiling_global___MMSrcModule___colorize))(variable[14], variable[3] /*ga*/, variable[7] /*itab*/, variable[11] /*crown_classes*/, TAG_Int(0)) /*MMSrcModule::colorize*/;
733 ((compiling_global___GlobalAnalysis___max_class_table_length__eq_t)CALL( variable[3] /*ga*/,COLOR_compiling_global___GlobalAnalysis___max_class_table_length__eq))( variable[3] /*ga*/, TAG_Int(0)) /*GlobalAnalysis::max_class_table_length=*/;
734 variable[14] = ((array___AbstractArray___iterator_t)CALL( variable[10] /*classes*/,COLOR_abstract_collection___Collection___iterator))( variable[10] /*classes*/) /*AbstractArray::iterator*/;
735 while (true) { /*for*/
736 variable[15] = ((array___ArrayIterator___is_ok_t)CALL(variable[14],COLOR_abstract_collection___Iterator___is_ok))(variable[14]) /*ArrayIterator::is_ok*/;
737 if (!UNTAG_Bool(variable[15])) break; /*for*/
738 variable[15] = ((array___ArrayIterator___item_t)CALL(variable[14],COLOR_abstract_collection___Iterator___item))(variable[14]) /*ArrayIterator::item*/;
739 variable[16] = variable[15];
740 variable[18] = ((compiling_global___GlobalAnalysis___compiled_classes_t)CALL( variable[3] /*ga*/,COLOR_compiling_global___GlobalAnalysis___compiled_classes))( variable[3] /*ga*/) /*GlobalAnalysis::compiled_classes*/;
741 variable[19] = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable[16] /*c*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable[16] /*c*/) /*MMLocalClass::global*/;
742 variable[18] = ((abstract_collection___CoupleMap_____bra_t)CALL(variable[18],COLOR_abstract_collection___Map_____bra))(variable[18], variable[19]) /*CoupleMap::[]*/;
743 variable[17] = variable[18];
744 variable[18] = ((hash___HashSet___has_t)CALL( variable[12] /*core_classes*/,COLOR_abstract_collection___Collection___has))( variable[12] /*core_classes*/, variable[16] /*c*/) /*HashSet::has*/;
745 if (UNTAG_Bool(variable[18])) { /*if*/
746 variable[18] = variable[0];
747 variable[18] = ((compiling_global___MMSrcModule___build_tables_t)CALL(variable[18],COLOR_compiling_global___MMSrcModule___build_tables))(variable[18], variable[3] /*ga*/, variable[16] /*c*/, variable[6] /*ctab*/) /*MMSrcModule::build_tables*/;
748 ((compiling_global___CompiledClass___class_table__eq_t)CALL( variable[17] /*cc*/,COLOR_compiling_global___CompiledClass___class_table__eq))( variable[17] /*cc*/, variable[18]) /*CompiledClass::class_table=*/;
749 variable[18] = variable[0];
750 variable[18] = ((compiling_global___MMSrcModule___build_tables_t)CALL(variable[18],COLOR_compiling_global___MMSrcModule___build_tables))(variable[18], variable[3] /*ga*/, variable[16] /*c*/, variable[7] /*itab*/) /*MMSrcModule::build_tables*/;
751 ((compiling_global___CompiledClass___instance_table__eq_t)CALL( variable[17] /*cc*/,COLOR_compiling_global___CompiledClass___instance_table__eq))( variable[17] /*cc*/, variable[18]) /*CompiledClass::instance_table=*/;
752 } else { /*if*/
753 variable[19] = ((abstractmetamodel___MMLocalClass___cshe_t)CALL( variable[16] /*c*/,COLOR_abstractmetamodel___MMLocalClass___cshe))( variable[16] /*c*/) /*MMLocalClass::cshe*/;
754 variable[19] = ((partial_order___PartialOrderElement___direct_greaters_t)CALL(variable[19],COLOR_partial_order___PartialOrderElement___direct_greaters))(variable[19]) /*PartialOrderElement::direct_greaters*/;
755 variable[19] = ((abstract_collection___IndexedCollection___first_t)CALL(variable[19],COLOR_abstract_collection___Collection___first))(variable[19]) /*IndexedCollection::first*/;
756 variable[18] = variable[19];
757 variable[20] = ((compiling_global___GlobalAnalysis___compiled_classes_t)CALL( variable[3] /*ga*/,COLOR_compiling_global___GlobalAnalysis___compiled_classes))( variable[3] /*ga*/) /*GlobalAnalysis::compiled_classes*/;
758 variable[21] = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable[18] /*sc*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable[18] /*sc*/) /*MMLocalClass::global*/;
759 variable[20] = ((abstract_collection___CoupleMap_____bra_t)CALL(variable[20],COLOR_abstract_collection___Map_____bra))(variable[20], variable[21]) /*CoupleMap::[]*/;
760 variable[19] = variable[20];
761 variable[20] = ((compiling_global___CompiledClass___class_table_t)CALL( variable[19] /*scc*/,COLOR_compiling_global___CompiledClass___class_table))( variable[19] /*scc*/) /*CompiledClass::class_table*/;
762 variable[20] = ((array___Collection___to_a_t)CALL(variable[20],COLOR_array___Collection___to_a))(variable[20]) /*Collection::to_a*/;
763 ((compiling_global___CompiledClass___class_table__eq_t)CALL( variable[17] /*cc*/,COLOR_compiling_global___CompiledClass___class_table__eq))( variable[17] /*cc*/, variable[20]) /*CompiledClass::class_table=*/;
764 variable[21] = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable[16] /*c*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable[16] /*c*/) /*MMLocalClass::global*/;
765 variable[21] = ((abstractmetamodel___MMGlobalClass___intro_t)CALL(variable[21],COLOR_abstractmetamodel___MMGlobalClass___intro))(variable[21]) /*MMGlobalClass::intro*/;
766 variable[20] = variable[21];
767 variable[21] = TAG_Bool(( variable[20] /*bc*/==NIT_NULL) || VAL_ISA( variable[20] /*bc*/, COLOR_MMSrcLocalClass, ID_MMSrcLocalClass)) /*cast MMSrcLocalClass*/;
768 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_global___MMSrcModule___global_analysis, LOCATE_compiling_global, 315); nit_exit(1);}
769 variable[22] = ((compiling_global___MMSrcLocalClass___class_color_pos_t)CALL( variable[20] /*bc*/,COLOR_compiling_global___MMSrcLocalClass___class_color_pos))( variable[20] /*bc*/) /*MMSrcLocalClass::class_color_pos*/;
770 variable[21] = variable[22];
771 variable[22] = ((compiling_global___CompiledClass___class_table_t)CALL( variable[17] /*cc*/,COLOR_compiling_global___CompiledClass___class_table))( variable[17] /*cc*/) /*CompiledClass::class_table*/;
772 variable[23] = ((compiling_global___ColorContext___color_t)CALL( variable[3] /*ga*/,COLOR_compiling_global___ColorContext___color))( variable[3] /*ga*/, variable[21] /*colpos*/) /*ColorContext::color*/;
773 ((array___Array_____braeq_t)CALL(variable[22],COLOR_abstract_collection___Map_____braeq))(variable[22], variable[23], variable[21] /*colpos*/) /*Array::[]=*/;
774 while (true) { /*while*/
775 variable[22] = ((compiling_global___CompiledClass___class_table_t)CALL( variable[17] /*cc*/,COLOR_compiling_global___CompiledClass___class_table))( variable[17] /*cc*/) /*CompiledClass::class_table*/;
776 variable[22] = ((array___AbstractArray___length_t)CALL(variable[22],COLOR_abstract_collection___Collection___length))(variable[22]) /*AbstractArray::length*/;
777 variable[22] = TAG_Bool(UNTAG_Int(variable[22])<=UNTAG_Int( variable[13] /*maxcolor*/));
778 if (!UNTAG_Bool(variable[22])) break; /* while*/
779 variable[22] = ((compiling_global___CompiledClass___class_table_t)CALL( variable[17] /*cc*/,COLOR_compiling_global___CompiledClass___class_table))( variable[17] /*cc*/) /*CompiledClass::class_table*/;
780 ((array___AbstractArray___add_t)CALL(variable[22],COLOR_abstract_collection___SimpleCollection___add))(variable[22], NIT_NULL /*null*/) /*AbstractArray::add*/;
781 continue_19: while(0);
782 }
783 break_19: while(0);
784 variable[22] = variable[0];
785 variable[23] = ((compiling_global___CompiledClass___class_table_t)CALL( variable[17] /*cc*/,COLOR_compiling_global___CompiledClass___class_table))( variable[17] /*cc*/) /*CompiledClass::class_table*/;
786 variable[24] = ((compiling_global___CompiledClass___class_layout_t)CALL( variable[17] /*cc*/,COLOR_compiling_global___CompiledClass___class_layout))( variable[17] /*cc*/) /*CompiledClass::class_layout*/;
787 ((compiling_global___MMSrcModule___append_to_table_t)CALL(variable[22],COLOR_compiling_global___MMSrcModule___append_to_table))(variable[22], variable[3] /*ga*/, variable[23], variable[24]) /*MMSrcModule::append_to_table*/;
788 variable[22] = ((compiling_global___CompiledClass___instance_table_t)CALL( variable[19] /*scc*/,COLOR_compiling_global___CompiledClass___instance_table))( variable[19] /*scc*/) /*CompiledClass::instance_table*/;
789 variable[22] = ((array___Collection___to_a_t)CALL(variable[22],COLOR_array___Collection___to_a))(variable[22]) /*Collection::to_a*/;
790 ((compiling_global___CompiledClass___instance_table__eq_t)CALL( variable[17] /*cc*/,COLOR_compiling_global___CompiledClass___instance_table__eq))( variable[17] /*cc*/, variable[22]) /*CompiledClass::instance_table=*/;
791 variable[22] = variable[0];
792 variable[23] = ((compiling_global___CompiledClass___instance_table_t)CALL( variable[17] /*cc*/,COLOR_compiling_global___CompiledClass___instance_table))( variable[17] /*cc*/) /*CompiledClass::instance_table*/;
793 variable[24] = ((compiling_global___CompiledClass___instance_layout_t)CALL( variable[17] /*cc*/,COLOR_compiling_global___CompiledClass___instance_layout))( variable[17] /*cc*/) /*CompiledClass::instance_layout*/;
794 ((compiling_global___MMSrcModule___append_to_table_t)CALL(variable[22],COLOR_compiling_global___MMSrcModule___append_to_table))(variable[22], variable[3] /*ga*/, variable[23], variable[24]) /*MMSrcModule::append_to_table*/;
795 }
796 variable[18] = ((compiling_base___ToolContext___attr_sim_t)CALL( variable[1] /*cctx*/,COLOR_compiling_base___ToolContext___attr_sim))( variable[1] /*cctx*/) /*ToolContext::attr_sim*/;
797 if (UNTAG_Bool(variable[18])) { /*if*/
798 variable[18] = variable[0];
799 variable[18] = ((compiling_global___MMSrcModule___build_tables_t)CALL(variable[18],COLOR_compiling_global___MMSrcModule___build_tables))(variable[18], variable[3] /*ga*/, variable[16] /*c*/, variable[7] /*itab*/) /*MMSrcModule::build_tables*/;
800 ((compiling_global___CompiledClass___instance_table__eq_t)CALL( variable[17] /*cc*/,COLOR_compiling_global___CompiledClass___instance_table__eq))( variable[17] /*cc*/, variable[18]) /*CompiledClass::instance_table=*/;
801 variable[18] = ((abstractmetamodel___MMLocalClass___cshe_t)CALL( variable[16] /*c*/,COLOR_abstractmetamodel___MMLocalClass___cshe))( variable[16] /*c*/) /*MMLocalClass::cshe*/;
802 variable[18] = ((partial_order___PartialOrderElement___greaters_and_self_t)CALL(variable[18],COLOR_partial_order___PartialOrderElement___greaters_and_self))(variable[18]) /*PartialOrderElement::greaters_and_self*/;
803 variable[18] = ((abstract_collection___Collection___iterator_t)CALL(variable[18],COLOR_abstract_collection___Collection___iterator))(variable[18]) /*Collection::iterator*/;
804 while (true) { /*for*/
805 variable[19] = ((abstract_collection___Iterator___is_ok_t)CALL(variable[18],COLOR_abstract_collection___Iterator___is_ok))(variable[18]) /*Iterator::is_ok*/;
806 if (!UNTAG_Bool(variable[19])) break; /*for*/
807 variable[19] = ((abstract_collection___Iterator___item_t)CALL(variable[18],COLOR_abstract_collection___Iterator___item))(variable[18]) /*Iterator::item*/;
808 variable[20] = variable[19];
809 variable[22] = ((compiling_global___GlobalAnalysis___compiled_classes_t)CALL( variable[3] /*ga*/,COLOR_compiling_global___GlobalAnalysis___compiled_classes))( variable[3] /*ga*/) /*GlobalAnalysis::compiled_classes*/;
810 variable[23] = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable[20] /*sc*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable[20] /*sc*/) /*MMLocalClass::global*/;
811 variable[22] = ((abstract_collection___CoupleMap_____bra_t)CALL(variable[22],COLOR_abstract_collection___Map_____bra))(variable[22], variable[23]) /*CoupleMap::[]*/;
812 variable[21] = variable[22];
813 variable[22] = variable[0];
814 variable[23] = ((compiling_global___CompiledClass___instance_table_t)CALL( variable[17] /*cc*/,COLOR_compiling_global___CompiledClass___instance_table))( variable[17] /*cc*/) /*CompiledClass::instance_table*/;
815 variable[24] = ((compiling_global___CompiledClass___instance_layout_t)CALL( variable[21] /*scc*/,COLOR_compiling_global___CompiledClass___instance_layout))( variable[21] /*scc*/) /*CompiledClass::instance_layout*/;
816 ((compiling_global___MMSrcModule___append_to_table_t)CALL(variable[22],COLOR_compiling_global___MMSrcModule___append_to_table))(variable[22], variable[17] /*cc*/, variable[23], variable[24]) /*MMSrcModule::append_to_table*/;
817 continue_20: while(0);
818 ((abstract_collection___Iterator___next_t)CALL(variable[18],COLOR_abstract_collection___Iterator___next))(variable[18]) /*Iterator::next*/;
819 }
820 break_20: while(0);
821 }
822 continue_18: while(0);
823 ((array___ArrayIterator___next_t)CALL(variable[14],COLOR_abstract_collection___Iterator___next))(variable[14]) /*ArrayIterator::next*/;
824 }
825 break_18: while(0);
826 variable[2] = variable[3] /*ga*/;
827 goto return_label10;
828 return_label10: while(false);
829 tracehead = trace.prev;
830 return variable[2];
831 }
832 void compiling_global___MMSrcModule___append_to_table(val_t self, val_t param0, val_t param1, val_t param2) {
833 struct trace_t trace = {NULL, NULL, 338, LOCATE_compiling_global___MMSrcModule___append_to_table};
834 val_t variable[10];
835 void **closurevariable = NULL;
836 trace.prev = tracehead; tracehead = &trace;
837 trace.file = LOCATE_compiling_global;
838 variable[0] = self;
839 variable[1] = param0;
840 variable[2] = param1;
841 variable[3] = param2;
842 variable[5] = ((compiling_global___TableEltComposite___length_t)CALL( variable[3] /*cmp*/,COLOR_compiling_global___TableElt___length))( variable[3] /*cmp*/) /*TableEltComposite::length*/;
843 variable[6] = NEW_Range_range___Range___without_last( TAG_Int(0), variable[5]); /*new Range[Int]*/
844 variable[5] = variable[6];
845 variable[5] = ((range___Range___iterator_t)CALL(variable[5],COLOR_abstract_collection___Collection___iterator))(variable[5]) /*Range::iterator*/;
846 while (true) { /*for*/
847 variable[6] = ((abstract_collection___Iterator___is_ok_t)CALL(variable[5],COLOR_abstract_collection___Iterator___is_ok))(variable[5]) /*Iterator::is_ok*/;
848 if (!UNTAG_Bool(variable[6])) break; /*for*/
849 variable[6] = ((abstract_collection___Iterator___item_t)CALL(variable[5],COLOR_abstract_collection___Iterator___item))(variable[5]) /*Iterator::item*/;
850 variable[7] = variable[6];
851 variable[9] = ((compiling_global___TableEltComposite___item_t)CALL( variable[3] /*cmp*/,COLOR_compiling_global___TableElt___item))( variable[3] /*cmp*/, variable[7] /*j*/) /*TableEltComposite::item*/;
852 variable[8] = variable[9];
853 variable[9] = ((array___AbstractArray___length_t)CALL( variable[2] /*table*/,COLOR_abstract_collection___Collection___length))( variable[2] /*table*/) /*AbstractArray::length*/;
854 ((compiling_global___ColorContext___color__eq_t)CALL( variable[1] /*cc*/,COLOR_compiling_global___ColorContext___color__eq))( variable[1] /*cc*/, variable[8] /*e*/, variable[9]) /*ColorContext::color=*/;
855 ((array___AbstractArray___add_t)CALL( variable[2] /*table*/,COLOR_abstract_collection___SimpleCollection___add))( variable[2] /*table*/, variable[8] /*e*/) /*AbstractArray::add*/;
856 continue_22: while(0);
857 ((abstract_collection___Iterator___next_t)CALL(variable[5],COLOR_abstract_collection___Iterator___next))(variable[5]) /*Iterator::next*/;
858 }
859 break_22: while(0);
860 return_label21: while(false);
861 tracehead = trace.prev;
862 return;
863 }
864 val_t compiling_global___MMSrcModule___build_tables(val_t self, val_t param0, val_t param1, val_t param2) {
865 struct trace_t trace = {NULL, NULL, 347, LOCATE_compiling_global___MMSrcModule___build_tables};
866 val_t variable[14];
867 void **closurevariable = NULL;
868 trace.prev = tracehead; tracehead = &trace;
869 trace.file = LOCATE_compiling_global;
870 variable[0] = self;
871 variable[1] = param0;
872 variable[2] = param1;
873 variable[3] = param2;
874 variable[6] = NEW_HashMap_hash___HashMap___init(); /*new HashMap[Int, TableElt]*/
875 variable[5] = variable[6];
876 variable[6] = TAG_Int(0);
877 variable[7] = ((array___AbstractArray___iterator_t)CALL( variable[3] /*elts*/,COLOR_abstract_collection___Collection___iterator))( variable[3] /*elts*/) /*AbstractArray::iterator*/;
878 while (true) { /*for*/
879 variable[8] = ((array___ArrayIterator___is_ok_t)CALL(variable[7],COLOR_abstract_collection___Iterator___is_ok))(variable[7]) /*ArrayIterator::is_ok*/;
880 if (!UNTAG_Bool(variable[8])) break; /*for*/
881 variable[8] = ((array___ArrayIterator___item_t)CALL(variable[7],COLOR_abstract_collection___Iterator___item))(variable[7]) /*ArrayIterator::item*/;
882 variable[9] = variable[8];
883 variable[10] = ((compiling_global___TableElt___is_related_to_t)CALL( variable[9] /*e*/,COLOR_compiling_global___TableElt___is_related_to))( variable[9] /*e*/, variable[2] /*c*/) /*TableElt::is_related_to*/;
884 if (UNTAG_Bool(variable[10])) { /*if*/
885 variable[11] = ((compiling_global___ColorContext___color_t)CALL( variable[1] /*ga*/,COLOR_compiling_global___ColorContext___color))( variable[1] /*ga*/, variable[9] /*e*/) /*ColorContext::color*/;
886 variable[10] = variable[11];
887 variable[12] = ((compiling_global___TableElt___length_t)CALL( variable[9] /*e*/,COLOR_compiling_global___TableElt___length))( variable[9] /*e*/) /*TableElt::length*/;
888 variable[12] = TAG_Int(UNTAG_Int( variable[10] /*col*/)+UNTAG_Int(variable[12]));
889 variable[11] = variable[12];
890 ((hash___HashMap_____braeq_t)CALL( variable[5] /*tab*/,COLOR_abstract_collection___Map_____braeq))( variable[5] /*tab*/, variable[10] /*col*/, variable[9] /*e*/) /*HashMap::[]=*/;
891 variable[12] = TAG_Bool(UNTAG_Int( variable[6] /*len*/)<UNTAG_Int( variable[11] /*l*/));
892 if (UNTAG_Bool(variable[12])) { /*if*/
893 variable[6] = variable[11] /*l*/ /*len=*/;
894 }
895 }
896 continue_24: while(0);
897 ((array___ArrayIterator___next_t)CALL(variable[7],COLOR_abstract_collection___Iterator___next))(variable[7]) /*ArrayIterator::next*/;
898 }
899 break_24: while(0);
900 variable[8] = NEW_Array_array___Array___init(); /*new Array[TableElt]*/
901 variable[7] = variable[8];
902 variable[8] = TAG_Int(0);
903 while (true) { /*while*/
904 variable[9] = TAG_Bool(UNTAG_Int( variable[8] /*i*/)<UNTAG_Int( variable[6] /*len*/));
905 if (!UNTAG_Bool(variable[9])) break; /* while*/
906 variable[9] = ((abstract_collection___CoupleMap___has_key_t)CALL( variable[5] /*tab*/,COLOR_abstract_collection___Map___has_key))( variable[5] /*tab*/, variable[8] /*i*/) /*CoupleMap::has_key*/;
907 if (UNTAG_Bool(variable[9])) { /*if*/
908 variable[10] = ((abstract_collection___CoupleMap_____bra_t)CALL( variable[5] /*tab*/,COLOR_abstract_collection___Map_____bra))( variable[5] /*tab*/, variable[8] /*i*/) /*CoupleMap::[]*/;
909 variable[9] = variable[10];
910 variable[10] = ((compiling_global___TableElt___length_t)CALL( variable[9] /*e*/,COLOR_compiling_global___TableElt___length))( variable[9] /*e*/) /*TableElt::length*/;
911 variable[11] = NEW_Range_range___Range___without_last( TAG_Int(0), variable[10]); /*new Range[Int]*/
912 variable[10] = variable[11];
913 variable[10] = ((range___Range___iterator_t)CALL(variable[10],COLOR_abstract_collection___Collection___iterator))(variable[10]) /*Range::iterator*/;
914 while (true) { /*for*/
915 variable[11] = ((abstract_collection___Iterator___is_ok_t)CALL(variable[10],COLOR_abstract_collection___Iterator___is_ok))(variable[10]) /*Iterator::is_ok*/;
916 if (!UNTAG_Bool(variable[11])) break; /*for*/
917 variable[11] = ((abstract_collection___Iterator___item_t)CALL(variable[10],COLOR_abstract_collection___Iterator___item))(variable[10]) /*Iterator::item*/;
918 variable[12] = variable[11];
919 variable[13] = ((compiling_global___TableElt___item_t)CALL( variable[9] /*e*/,COLOR_compiling_global___TableElt___item))( variable[9] /*e*/, variable[12] /*j*/) /*TableElt::item*/;
920 ((array___Array_____braeq_t)CALL( variable[7] /*res*/,COLOR_abstract_collection___Map_____braeq))( variable[7] /*res*/, variable[8] /*i*/, variable[13]) /*Array::[]=*/;
921 variable[13] = TAG_Int(UNTAG_Int( variable[8] /*i*/)+UNTAG_Int( TAG_Int(1)));
922 variable[8] = variable[13] /*i=*/;
923 continue_26: while(0);
924 ((abstract_collection___Iterator___next_t)CALL(variable[10],COLOR_abstract_collection___Iterator___next))(variable[10]) /*Iterator::next*/;
925 }
926 break_26: while(0);
927 } else { /*if*/
928 ((array___Array_____braeq_t)CALL( variable[7] /*res*/,COLOR_abstract_collection___Map_____braeq))( variable[7] /*res*/, variable[8] /*i*/, NIT_NULL /*null*/) /*Array::[]=*/;
929 variable[9] = TAG_Int(UNTAG_Int( variable[8] /*i*/)+UNTAG_Int( TAG_Int(1)));
930 variable[8] = variable[9] /*i=*/;
931 }
932 continue_25: while(0);
933 }
934 break_25: while(0);
935 variable[4] = variable[7] /*res*/;
936 goto return_label23;
937 return_label23: while(false);
938 tracehead = trace.prev;
939 return variable[4];
940 }
941 void compiling_global___MMSrcModule___colorize(val_t self, val_t param0, val_t param1, val_t param2, val_t param3) {
942 struct trace_t trace = {NULL, NULL, 378, LOCATE_compiling_global___MMSrcModule___colorize};
943 val_t variable[21];
944 void **closurevariable = NULL;
945 trace.prev = tracehead; tracehead = &trace;
946 trace.file = LOCATE_compiling_global;
947 variable[0] = self;
948 variable[1] = param0;
949 variable[2] = param1;
950 variable[3] = param2;
951 variable[4] = param3;
952 variable[7] = NEW_HashMap_hash___HashMap___init(); /*new HashMap[Int, Array[TableElt]]*/
953 variable[6] = variable[7];
954 variable[8] = NEW_Array_array___Array___init(); /*new Array[MMLocalClass]*/
955 variable[7] = variable[8];
956 variable[8] = ((array___AbstractArray___iterator_t)CALL( variable[2] /*elts*/,COLOR_abstract_collection___Collection___iterator))( variable[2] /*elts*/) /*AbstractArray::iterator*/;
957 while (true) { /*for*/
958 variable[9] = ((array___ArrayIterator___is_ok_t)CALL(variable[8],COLOR_abstract_collection___Iterator___is_ok))(variable[8]) /*ArrayIterator::is_ok*/;
959 if (!UNTAG_Bool(variable[9])) break; /*for*/
960 variable[9] = ((array___ArrayIterator___item_t)CALL(variable[8],COLOR_abstract_collection___Iterator___item))(variable[8]) /*ArrayIterator::item*/;
961 variable[10] = variable[9];
962 variable[12] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
963 variable[11] = variable[12];
964 variable[13] = ((compiling_global___TableElt___length_t)CALL( variable[10] /*e*/,COLOR_compiling_global___TableElt___length))( variable[10] /*e*/) /*TableElt::length*/;
965 variable[12] = variable[13];
966 variable[13] = ((compiling_global___ColorContext___has_color_t)CALL( variable[1] /*ga*/,COLOR_compiling_global___ColorContext___has_color))( variable[1] /*ga*/, variable[10] /*e*/) /*ColorContext::has_color*/;
967 if (UNTAG_Bool(variable[13])) { /*if*/
968 variable[13] = ((compiling_global___ColorContext___color_t)CALL( variable[1] /*ga*/,COLOR_compiling_global___ColorContext___color))( variable[1] /*ga*/, variable[10] /*e*/) /*ColorContext::color*/;
969 variable[11] = variable[13] /*color=*/;
970 } else { /*if*/
971 ((array___AbstractArray___clear_t)CALL( variable[7] /*rel_classes*/,COLOR_abstract_collection___RemovableCollection___clear))( variable[7] /*rel_classes*/) /*AbstractArray::clear*/;
972 variable[13] = ((abstract_collection___Collection___iterator_t)CALL( variable[3] /*classes*/,COLOR_abstract_collection___Collection___iterator))( variable[3] /*classes*/) /*Collection::iterator*/;
973 while (true) { /*for*/
974 variable[14] = ((abstract_collection___Iterator___is_ok_t)CALL(variable[13],COLOR_abstract_collection___Iterator___is_ok))(variable[13]) /*Iterator::is_ok*/;
975 if (!UNTAG_Bool(variable[14])) break; /*for*/
976 variable[14] = ((abstract_collection___Iterator___item_t)CALL(variable[13],COLOR_abstract_collection___Iterator___item))(variable[13]) /*Iterator::item*/;
977 variable[15] = variable[14];
978 variable[16] = ((compiling_global___TableElt___is_related_to_t)CALL( variable[10] /*e*/,COLOR_compiling_global___TableElt___is_related_to))( variable[10] /*e*/, variable[15] /*c*/) /*TableElt::is_related_to*/;
979 if (UNTAG_Bool(variable[16])) { /*if*/
980 ((array___AbstractArray___add_t)CALL( variable[7] /*rel_classes*/,COLOR_abstract_collection___SimpleCollection___add))( variable[7] /*rel_classes*/, variable[15] /*c*/) /*AbstractArray::add*/;
981 }
982 continue_29: while(0);
983 ((abstract_collection___Iterator___next_t)CALL(variable[13],COLOR_abstract_collection___Iterator___next))(variable[13]) /*Iterator::next*/;
984 }
985 break_29: while(0);
986 variable[13] = variable[4] /*startcolor*/;
987 while (true) { /*while*/
988 variable[14] = TAG_Bool(( variable[13] /*trycolor*/)!=( variable[11] /*color*/));
989 if (!UNTAG_Bool(variable[14])) break; /* while*/
990 variable[11] = variable[13] /*trycolor*/ /*color=*/;
991 variable[14] = ((array___AbstractArray___iterator_t)CALL( variable[7] /*rel_classes*/,COLOR_abstract_collection___Collection___iterator))( variable[7] /*rel_classes*/) /*AbstractArray::iterator*/;
992 while (true) { /*for*/
993 variable[15] = ((array___ArrayIterator___is_ok_t)CALL(variable[14],COLOR_abstract_collection___Iterator___is_ok))(variable[14]) /*ArrayIterator::is_ok*/;
994 if (!UNTAG_Bool(variable[15])) break; /*for*/
995 variable[15] = ((array___ArrayIterator___item_t)CALL(variable[14],COLOR_abstract_collection___Iterator___item))(variable[14]) /*ArrayIterator::item*/;
996 variable[16] = variable[15];
997 variable[17] = TAG_Int(0);
998 while (true) { /*while*/
999 variable[18] = TAG_Bool(UNTAG_Int( variable[17] /*idx*/)<UNTAG_Int( variable[12] /*len*/));
1000 if (!UNTAG_Bool(variable[18])) break; /* while*/
1001 variable[18] = TAG_Int(UNTAG_Int( variable[13] /*trycolor*/)+UNTAG_Int( variable[17] /*idx*/));
1002 variable[18] = ((abstract_collection___CoupleMap___has_key_t)CALL( variable[6] /*colors*/,COLOR_abstract_collection___Map___has_key))( variable[6] /*colors*/, variable[18]) /*CoupleMap::has_key*/;
1003 variable[19] = variable[18];
1004 if (UNTAG_Bool(variable[19])) { /* and */
1005 variable[19] = variable[0];
1006 variable[20] = TAG_Int(UNTAG_Int( variable[13] /*trycolor*/)+UNTAG_Int( variable[17] /*idx*/));
1007 variable[20] = ((abstract_collection___CoupleMap_____bra_t)CALL( variable[6] /*colors*/,COLOR_abstract_collection___Map_____bra))( variable[6] /*colors*/, variable[20]) /*CoupleMap::[]*/;
1008 variable[19] = ((compiling_global___MMSrcModule___free_color_t)CALL(variable[19],COLOR_compiling_global___MMSrcModule___free_color))(variable[19], variable[20], variable[16] /*c*/) /*MMSrcModule::free_color*/;
1009 variable[19] = TAG_Bool(!UNTAG_Bool(variable[19]));
1010 }
1011 variable[18] = variable[19];
1012 if (UNTAG_Bool(variable[18])) { /*if*/
1013 variable[18] = TAG_Int(UNTAG_Int( variable[13] /*trycolor*/)+UNTAG_Int( variable[17] /*idx*/));
1014 variable[18] = TAG_Int(UNTAG_Int(variable[18])+UNTAG_Int( TAG_Int(1)));
1015 variable[13] = variable[18] /*trycolor=*/;
1016 variable[17] = TAG_Int(0) /*idx=*/;
1017 } else { /*if*/
1018 variable[18] = TAG_Int(UNTAG_Int( variable[17] /*idx*/)+UNTAG_Int( TAG_Int(1)));
1019 variable[17] = variable[18] /*idx=*/;
1020 }
1021 continue_32: while(0);
1022 }
1023 break_32: while(0);
1024 continue_31: while(0);
1025 ((array___ArrayIterator___next_t)CALL(variable[14],COLOR_abstract_collection___Iterator___next))(variable[14]) /*ArrayIterator::next*/;
1026 }
1027 break_31: while(0);
1028 continue_30: while(0);
1029 }
1030 break_30: while(0);
1031 ((compiling_global___ColorContext___color__eq_t)CALL( variable[1] /*ga*/,COLOR_compiling_global___ColorContext___color__eq))( variable[1] /*ga*/, variable[10] /*e*/, variable[11] /*color*/) /*ColorContext::color=*/;
1032 }
1033 variable[13] = NEW_Range_range___Range___without_last( TAG_Int(0), variable[12] /*len*/); /*new Range[Int]*/
1034 variable[13] = ((range___Range___iterator_t)CALL(variable[13],COLOR_abstract_collection___Collection___iterator))(variable[13]) /*Range::iterator*/;
1035 while (true) { /*for*/
1036 variable[14] = ((abstract_collection___Iterator___is_ok_t)CALL(variable[13],COLOR_abstract_collection___Iterator___is_ok))(variable[13]) /*Iterator::is_ok*/;
1037 if (!UNTAG_Bool(variable[14])) break; /*for*/
1038 variable[14] = ((abstract_collection___Iterator___item_t)CALL(variable[13],COLOR_abstract_collection___Iterator___item))(variable[13]) /*Iterator::item*/;
1039 variable[15] = variable[14];
1040 variable[16] = TAG_Int(UNTAG_Int( variable[11] /*color*/)+UNTAG_Int( variable[15] /*idx*/));
1041 variable[16] = ((abstract_collection___CoupleMap___has_key_t)CALL( variable[6] /*colors*/,COLOR_abstract_collection___Map___has_key))( variable[6] /*colors*/, variable[16]) /*CoupleMap::has_key*/;
1042 if (UNTAG_Bool(variable[16])) { /*if*/
1043 variable[16] = TAG_Int(UNTAG_Int( variable[11] /*color*/)+UNTAG_Int( variable[15] /*idx*/));
1044 variable[16] = ((abstract_collection___CoupleMap_____bra_t)CALL( variable[6] /*colors*/,COLOR_abstract_collection___Map_____bra))( variable[6] /*colors*/, variable[16]) /*CoupleMap::[]*/;
1045 ((array___AbstractArray___add_t)CALL(variable[16],COLOR_abstract_collection___SimpleCollection___add))(variable[16], variable[10] /*e*/) /*AbstractArray::add*/;
1046 } else { /*if*/
1047 variable[16] = TAG_Int(UNTAG_Int( variable[11] /*color*/)+UNTAG_Int( variable[15] /*idx*/));
1048 variable[17] = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[TableElt]*/
1049 ((array___AbstractArray___add_t)CALL(variable[17],COLOR_abstract_collection___SimpleCollection___add))(variable[17], variable[10] /*e*/) /*AbstractArray::add*/;
1050 ((hash___HashMap_____braeq_t)CALL( variable[6] /*colors*/,COLOR_abstract_collection___Map_____braeq))( variable[6] /*colors*/, variable[16], variable[17]) /*HashMap::[]=*/;
1051 }
1052 continue_33: while(0);
1053 ((abstract_collection___Iterator___next_t)CALL(variable[13],COLOR_abstract_collection___Iterator___next))(variable[13]) /*Iterator::next*/;
1054 }
1055 break_33: while(0);
1056 continue_28: while(0);
1057 ((array___ArrayIterator___next_t)CALL(variable[8],COLOR_abstract_collection___Iterator___next))(variable[8]) /*ArrayIterator::next*/;
1058 }
1059 break_28: while(0);
1060 return_label27: while(false);
1061 tracehead = trace.prev;
1062 return;
1063 }
1064 val_t compiling_global___MMSrcModule___free_color(val_t self, val_t param0, val_t param1) {
1065 struct trace_t trace = {NULL, NULL, 422, LOCATE_compiling_global___MMSrcModule___free_color};
1066 val_t variable[8];
1067 void **closurevariable = NULL;
1068 trace.prev = tracehead; tracehead = &trace;
1069 trace.file = LOCATE_compiling_global;
1070 variable[0] = self;
1071 variable[1] = param0;
1072 variable[2] = param1;
1073 variable[4] = ((array___AbstractArray___iterator_t)CALL( variable[1] /*es*/,COLOR_abstract_collection___Collection___iterator))( variable[1] /*es*/) /*AbstractArray::iterator*/;
1074 while (true) { /*for*/
1075 variable[5] = ((array___ArrayIterator___is_ok_t)CALL(variable[4],COLOR_abstract_collection___Iterator___is_ok))(variable[4]) /*ArrayIterator::is_ok*/;
1076 if (!UNTAG_Bool(variable[5])) break; /*for*/
1077 variable[5] = ((array___ArrayIterator___item_t)CALL(variable[4],COLOR_abstract_collection___Iterator___item))(variable[4]) /*ArrayIterator::item*/;
1078 variable[6] = variable[5];
1079 variable[7] = ((compiling_global___TableElt___is_related_to_t)CALL( variable[6] /*e2*/,COLOR_compiling_global___TableElt___is_related_to))( variable[6] /*e2*/, variable[2] /*c*/) /*TableElt::is_related_to*/;
1080 if (UNTAG_Bool(variable[7])) { /*if*/
1081 variable[3] = TAG_Bool(false);
1082 goto return_label34;
1083 }
1084 continue_35: while(0);
1085 ((array___ArrayIterator___next_t)CALL(variable[4],COLOR_abstract_collection___Iterator___next))(variable[4]) /*ArrayIterator::next*/;
1086 }
1087 break_35: while(0);
1088 variable[3] = TAG_Bool(true);
1089 goto return_label34;
1090 return_label34: while(false);
1091 tracehead = trace.prev;
1092 return variable[3];
1093 }
1094 void compiling_global___MMSrcModule___compile_tables_to_c(val_t self, val_t param0) {
1095 struct trace_t trace = {NULL, NULL, 432, LOCATE_compiling_global___MMSrcModule___compile_tables_to_c};
1096 val_t variable[13];
1097 void **closurevariable = NULL;
1098 trace.prev = tracehead; tracehead = &trace;
1099 trace.file = LOCATE_compiling_global;
1100 variable[0] = self;
1101 variable[1] = param0;
1102 variable[3] = variable[0];
1103 variable[3] = ((abstractmetamodel___MMModule___mhe_t)CALL(variable[3],COLOR_abstractmetamodel___MMModule___mhe))(variable[3]) /*MMModule::mhe*/;
1104 variable[3] = ((partial_order___PartialOrderElement___greaters_and_self_t)CALL(variable[3],COLOR_partial_order___PartialOrderElement___greaters_and_self))(variable[3]) /*PartialOrderElement::greaters_and_self*/;
1105 variable[3] = ((abstract_collection___Collection___iterator_t)CALL(variable[3],COLOR_abstract_collection___Collection___iterator))(variable[3]) /*Collection::iterator*/;
1106 while (true) { /*for*/
1107 variable[4] = ((abstract_collection___Iterator___is_ok_t)CALL(variable[3],COLOR_abstract_collection___Iterator___is_ok))(variable[3]) /*Iterator::is_ok*/;
1108 if (!UNTAG_Bool(variable[4])) break; /*for*/
1109 variable[4] = ((abstract_collection___Iterator___item_t)CALL(variable[3],COLOR_abstract_collection___Iterator___item))(variable[3]) /*Iterator::item*/;
1110 variable[5] = variable[4];
1111 variable[6] = TAG_Bool(( variable[5] /*m*/==NIT_NULL) || VAL_ISA( variable[5] /*m*/, COLOR_MMSrcModule, ID_MMSrcModule)) /*cast MMSrcModule*/;
1112 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_global___MMSrcModule___compile_tables_to_c, LOCATE_compiling_global, 436); nit_exit(1);}
1113 ((compiling_global___MMSrcModule___compile_local_table_to_c_t)CALL( variable[5] /*m*/,COLOR_compiling_global___MMSrcModule___compile_local_table_to_c))( variable[5] /*m*/, variable[1] /*v*/) /*MMSrcModule::compile_local_table_to_c*/;
1114 continue_37: while(0);
1115 ((abstract_collection___Iterator___next_t)CALL(variable[3],COLOR_abstract_collection___Iterator___next))(variable[3]) /*Iterator::next*/;
1116 }
1117 break_37: while(0);
1118 variable[3] = variable[0];
1119 variable[3] = ((abstractmetamodel___MMModule___local_classes_t)CALL(variable[3],COLOR_abstractmetamodel___MMModule___local_classes))(variable[3]) /*MMModule::local_classes*/;
1120 variable[3] = ((array___AbstractArray___iterator_t)CALL(variable[3],COLOR_abstract_collection___Collection___iterator))(variable[3]) /*AbstractArray::iterator*/;
1121 while (true) { /*for*/
1122 variable[4] = ((array___ArrayIterator___is_ok_t)CALL(variable[3],COLOR_abstract_collection___Iterator___is_ok))(variable[3]) /*ArrayIterator::is_ok*/;
1123 if (!UNTAG_Bool(variable[4])) break; /*for*/
1124 variable[4] = ((array___ArrayIterator___item_t)CALL(variable[3],COLOR_abstract_collection___Iterator___item))(variable[3]) /*ArrayIterator::item*/;
1125 variable[5] = variable[4];
1126 ((compiling_global___MMLocalClass___compile_tables_to_c_t)CALL( variable[5] /*c*/,COLOR_compiling_global___MMLocalClass___compile_tables_to_c))( variable[5] /*c*/, variable[1] /*v*/) /*MMLocalClass::compile_tables_to_c*/;
1127 continue_38: while(0);
1128 ((array___ArrayIterator___next_t)CALL(variable[3],COLOR_abstract_collection___Iterator___next))(variable[3]) /*ArrayIterator::next*/;
1129 }
1130 break_38: while(0);
1131 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("classtable_t TAG2VFT[4] = {NULL"), TAG_Int(31)); /*new String*/
1132 variable[3] = variable[4];
1133 variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
1134 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("Int"), TAG_Int(3)); /*new String*/
1135 ((array___AbstractArray___add_t)CALL(variable[4],COLOR_abstract_collection___SimpleCollection___add))(variable[4], variable[5]) /*AbstractArray::add*/;
1136 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("Char"), TAG_Int(4)); /*new String*/
1137 ((array___AbstractArray___add_t)CALL(variable[4],COLOR_abstract_collection___SimpleCollection___add))(variable[4], variable[6]) /*AbstractArray::add*/;
1138 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("Bool"), TAG_Int(4)); /*new String*/
1139 ((array___AbstractArray___add_t)CALL(variable[4],COLOR_abstract_collection___SimpleCollection___add))(variable[4], variable[7]) /*AbstractArray::add*/;
1140 variable[4] = ((array___AbstractArray___iterator_t)CALL(variable[4],COLOR_abstract_collection___Collection___iterator))(variable[4]) /*AbstractArray::iterator*/;
1141 while (true) { /*for*/
1142 variable[5] = ((array___ArrayIterator___is_ok_t)CALL(variable[4],COLOR_abstract_collection___Iterator___is_ok))(variable[4]) /*ArrayIterator::is_ok*/;
1143 if (!UNTAG_Bool(variable[5])) break; /*for*/
1144 variable[5] = ((array___ArrayIterator___item_t)CALL(variable[4],COLOR_abstract_collection___Iterator___item))(variable[4]) /*ArrayIterator::item*/;
1145 variable[6] = variable[5];
1146 variable[7] = variable[0];
1147 variable[8] = ((symbol___String___to_symbol_t)CALL( variable[6] /*t*/,COLOR_symbol___String___to_symbol))( variable[6] /*t*/) /*String::to_symbol*/;
1148 variable[7] = ((abstractmetamodel___MMModule___has_global_class_named_t)CALL(variable[7],COLOR_abstractmetamodel___MMModule___has_global_class_named))(variable[7], variable[8]) /*MMModule::has_global_class_named*/;
1149 if (UNTAG_Bool(variable[7])) { /*if*/
1150 variable[7] = NEW_String_string___String___init(); /*new String*/
1151 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(", (const classtable_t)VFT_"), TAG_Int(26)); /*new String*/
1152 variable[9] = variable[8];
1153 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[9]) /*String::append*/;
1154 variable[10] = variable[6] /*t*/;
1155 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[10]) /*String::append*/;
1156 variable[11] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1157 variable[12] = variable[11];
1158 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[12]) /*String::append*/;
1159 ((string___String___append_t)CALL( variable[3] /*s*/,COLOR_abstract_collection___IndexedCollection___append))( variable[3] /*s*/, variable[7]) /*String::append*/;
1160 } else { /*if*/
1161 variable[7] = NEW_String_string___String___with_native(BOX_NativeString(", NULL"), TAG_Int(6)); /*new String*/
1162 ((string___String___append_t)CALL( variable[3] /*s*/,COLOR_abstract_collection___IndexedCollection___append))( variable[3] /*s*/, variable[7]) /*String::append*/;
1163 }
1164 continue_39: while(0);
1165 ((array___ArrayIterator___next_t)CALL(variable[4],COLOR_abstract_collection___Iterator___next))(variable[4]) /*ArrayIterator::next*/;
1166 }
1167 break_39: while(0);
1168 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("};"), TAG_Int(2)); /*new String*/
1169 ((string___String___append_t)CALL( variable[3] /*s*/,COLOR_abstract_collection___IndexedCollection___append))( variable[3] /*s*/, variable[4]) /*String::append*/;
1170 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable[1] /*v*/, variable[3] /*s*/) /*CompilerVisitor::add_instr*/;
1171 return_label36: while(false);
1172 tracehead = trace.prev;
1173 return;
1174 }
1175 void compiling_global___MMSrcModule___declare_class_tables_to_c(val_t self, val_t param0) {
1176 struct trace_t trace = {NULL, NULL, 455, LOCATE_compiling_global___MMSrcModule___declare_class_tables_to_c};
1177 val_t variable[8];
1178 void **closurevariable = NULL;
1179 trace.prev = tracehead; tracehead = &trace;
1180 trace.file = LOCATE_compiling_global;
1181 variable[0] = self;
1182 variable[1] = param0;
1183 variable[3] = variable[0];
1184 variable[3] = ((abstractmetamodel___MMModule___local_classes_t)CALL(variable[3],COLOR_abstractmetamodel___MMModule___local_classes))(variable[3]) /*MMModule::local_classes*/;
1185 variable[3] = ((array___AbstractArray___iterator_t)CALL(variable[3],COLOR_abstract_collection___Collection___iterator))(variable[3]) /*AbstractArray::iterator*/;
1186 while (true) { /*for*/
1187 variable[4] = ((array___ArrayIterator___is_ok_t)CALL(variable[3],COLOR_abstract_collection___Iterator___is_ok))(variable[3]) /*ArrayIterator::is_ok*/;
1188 if (!UNTAG_Bool(variable[4])) break; /*for*/
1189 variable[4] = ((array___ArrayIterator___item_t)CALL(variable[3],COLOR_abstract_collection___Iterator___item))(variable[3]) /*ArrayIterator::item*/;
1190 variable[5] = variable[4];
1191 variable[6] = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable[5] /*c*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable[5] /*c*/) /*MMLocalClass::global*/;
1192 variable[6] = ((abstractmetamodel___MMGlobalClass___module_t)CALL(variable[6],COLOR_abstractmetamodel___MMGlobalClass___module))(variable[6]) /*MMGlobalClass::module*/;
1193 variable[7] = variable[0];
1194 variable[6] = TAG_Bool((variable[6] == variable[7]) || ((variable[6] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[6],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[6],variable[7])):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[6],COLOR_kernel___Object_____eqeq))(variable[6], variable[7]) /*Object::==*/)))));
1195 if (UNTAG_Bool(variable[6])) { /*if*/
1196 ((compiling_global___MMLocalClass___declare_tables_to_c_t)CALL( variable[5] /*c*/,COLOR_compiling_global___MMLocalClass___declare_tables_to_c))( variable[5] /*c*/, variable[1] /*v*/) /*MMLocalClass::declare_tables_to_c*/;
1197 }
1198 continue_41: while(0);
1199 ((array___ArrayIterator___next_t)CALL(variable[3],COLOR_abstract_collection___Iterator___next))(variable[3]) /*ArrayIterator::next*/;
1200 }
1201 break_41: while(0);
1202 return_label40: while(false);
1203 tracehead = trace.prev;
1204 return;
1205 }
1206 void compiling_global___MMSrcModule___compile_main_part(val_t self, val_t param0) {
1207 struct trace_t trace = {NULL, NULL, 465, LOCATE_compiling_global___MMSrcModule___compile_main_part};
1208 static val_t once_value_43; static int once_bool_43; /* Once value for variable[4]*/
1209 static val_t once_value_44; static int once_bool_44; /* Once value for variable[6]*/
1210 val_t variable[13];
1211 void **closurevariable = NULL;
1212 trace.prev = tracehead; tracehead = &trace;
1213 trace.file = LOCATE_compiling_global;
1214 variable[0] = self;
1215 variable[1] = param0;
1216 variable[3] = NEW_String_string___String___with_native(BOX_NativeString("int main(int argc, char **argv) {"), TAG_Int(33)); /*new String*/
1217 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable[1] /*v*/, variable[3]) /*CompilerVisitor::add_instr*/;
1218 ((compiling_base___CompilerVisitor___indent_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___indent))( variable[1] /*v*/) /*CompilerVisitor::indent*/;
1219 variable[3] = NEW_String_string___String___with_native(BOX_NativeString("prepare_signals();"), TAG_Int(18)); /*new String*/
1220 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable[1] /*v*/, variable[3]) /*CompilerVisitor::add_instr*/;
1221 variable[3] = NEW_String_string___String___with_native(BOX_NativeString("glob_argc = argc; glob_argv = argv;"), TAG_Int(35)); /*new String*/
1222 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable[1] /*v*/, variable[3]) /*CompilerVisitor::add_instr*/;
1223 if (once_bool_43) variable[4] = once_value_43;
1224 else {
1225 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("Sys"), TAG_Int(3)); /*new String*/
1226 variable[4] = ((symbol___String___to_symbol_t)CALL(variable[4],COLOR_symbol___String___to_symbol))(variable[4]) /*String::to_symbol*/;
1227 once_value_43 = variable[4];
1228 once_bool_43 = true;
1229 }
1230 variable[3] = variable[4];
1231 variable[4] = variable[0];
1232 variable[4] = ((abstractmetamodel___MMModule___has_global_class_named_t)CALL(variable[4],COLOR_abstractmetamodel___MMModule___has_global_class_named))(variable[4], variable[3] /*sysname*/) /*MMModule::has_global_class_named*/;
1233 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable[4])))) { /*if*/
1234 variable[4] = variable[0];
1235 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("No main"), TAG_Int(7)); /*new String*/
1236 ((file___Object___print_t)CALL(variable[4],COLOR_file___Object___print))(variable[4], variable[5]) /*Object::print*/;
1237 } else { /*if*/
1238 variable[5] = variable[0];
1239 variable[5] = ((abstractmetamodel___MMModule___class_by_name_t)CALL(variable[5],COLOR_abstractmetamodel___MMModule___class_by_name))(variable[5], variable[3] /*sysname*/) /*MMModule::class_by_name*/;
1240 variable[4] = variable[5];
1241 if (once_bool_44) variable[6] = once_value_44;
1242 else {
1243 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("main"), TAG_Int(4)); /*new String*/
1244 variable[6] = ((symbol___String___to_symbol_t)CALL(variable[6],COLOR_symbol___String___to_symbol))(variable[6]) /*String::to_symbol*/;
1245 once_value_44 = variable[6];
1246 once_bool_44 = true;
1247 }
1248 variable[6] = ((abstractmetamodel___MMLocalClass___select_method_t)CALL( variable[4] /*sys*/,COLOR_abstractmetamodel___MMLocalClass___select_method))( variable[4] /*sys*/, variable[6]) /*MMLocalClass::select_method*/;
1249 variable[5] = variable[6];
1250 variable[6] = TAG_Bool(( variable[5] /*mainm*/ == NIT_NULL /*null*/) || (( variable[5] /*mainm*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[5] /*mainm*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[5] /*mainm*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[5] /*mainm*/,COLOR_kernel___Object_____eqeq))( variable[5] /*mainm*/, NIT_NULL /*null*/) /*Object::==*/)))));
1251 if (UNTAG_Bool(variable[6])) { /*if*/
1252 variable[6] = variable[0];
1253 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("No main"), TAG_Int(7)); /*new String*/
1254 ((file___Object___print_t)CALL(variable[6],COLOR_file___Object___print))(variable[6], variable[7]) /*Object::print*/;
1255 } else { /*if*/
1256 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("G_sys = NEW_Sys();"), TAG_Int(18)); /*new String*/
1257 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable[1] /*v*/, variable[6]) /*CompilerVisitor::add_instr*/;
1258 variable[6] = NEW_String_string___String___init(); /*new String*/
1259 variable[7] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1260 variable[8] = variable[7];
1261 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[8]) /*String::append*/;
1262 variable[9] = ((compiling_base___MMLocalProperty___cname_t)CALL( variable[5] /*mainm*/,COLOR_compiling_base___MMLocalProperty___cname))( variable[5] /*mainm*/) /*MMLocalProperty::cname*/;
1263 variable[10] = variable[9];
1264 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[10]) /*String::append*/;
1265 variable[11] = NEW_String_string___String___with_native(BOX_NativeString("(G_sys);"), TAG_Int(8)); /*new String*/
1266 variable[12] = variable[11];
1267 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[12]) /*String::append*/;
1268 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable[1] /*v*/, variable[6]) /*CompilerVisitor::add_instr*/;
1269 }
1270 }
1271 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("return 0;"), TAG_Int(9)); /*new String*/
1272 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable[1] /*v*/, variable[4]) /*CompilerVisitor::add_instr*/;
1273 ((compiling_base___CompilerVisitor___unindent_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___unindent))( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
1274 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
1275 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable[1] /*v*/, variable[4]) /*CompilerVisitor::add_instr*/;
1276 return_label42: while(false);
1277 tracehead = trace.prev;
1278 return;
1279 }
1280 void compiling_global___MMSrcModule___compile_mod_to_c(val_t self, val_t param0) {
1281 struct trace_t trace = {NULL, NULL, 492, LOCATE_compiling_global___MMSrcModule___compile_mod_to_c};
1282 val_t variable[27];
1283 void **closurevariable = NULL;
1284 trace.prev = tracehead; tracehead = &trace;
1285 trace.file = LOCATE_compiling_global;
1286 variable[0] = self;
1287 variable[1] = param0;
1288 variable[3] = NEW_String_string___String___init(); /*new String*/
1289 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("extern const char *LOCATE_"), TAG_Int(26)); /*new String*/
1290 variable[5] = variable[4];
1291 ((string___String___append_t)CALL(variable[3],COLOR_abstract_collection___IndexedCollection___append))(variable[3], variable[5]) /*String::append*/;
1292 variable[6] = variable[0];
1293 variable[6] = ((abstractmetamodel___MMModule___name_t)CALL(variable[6],COLOR_abstractmetamodel___MMModule___name))(variable[6]) /*MMModule::name*/;
1294 variable[7] = variable[6];
1295 variable[7] = ((string___String___to_s_t)CALL(variable[7],COLOR_string___Object___to_s))(variable[7]) /*String::to_s*/;
1296 ((string___String___append_t)CALL(variable[3],COLOR_abstract_collection___IndexedCollection___append))(variable[3], variable[7]) /*String::append*/;
1297 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
1298 variable[9] = variable[8];
1299 ((string___String___append_t)CALL(variable[3],COLOR_abstract_collection___IndexedCollection___append))(variable[3], variable[9]) /*String::append*/;
1300 ((compiling_base___CompilerVisitor___add_decl_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___add_decl))( variable[1] /*v*/, variable[3]) /*CompilerVisitor::add_decl*/;
1301 variable[3] = ((compiling_base___CompilerVisitor___tc_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___tc))( variable[1] /*v*/) /*CompilerVisitor::tc*/;
1302 variable[3] = ((compiling_base___ToolContext___global_t)CALL(variable[3],COLOR_compiling_base___ToolContext___global))(variable[3]) /*ToolContext::global*/;
1303 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable[3])))) { /*if*/
1304 variable[3] = NEW_String_string___String___init(); /*new String*/
1305 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("extern const int SFT_"), TAG_Int(21)); /*new String*/
1306 variable[5] = variable[4];
1307 ((string___String___append_t)CALL(variable[3],COLOR_abstract_collection___IndexedCollection___append))(variable[3], variable[5]) /*String::append*/;
1308 variable[6] = variable[0];
1309 variable[6] = ((abstractmetamodel___MMModule___name_t)CALL(variable[6],COLOR_abstractmetamodel___MMModule___name))(variable[6]) /*MMModule::name*/;
1310 variable[7] = variable[6];
1311 variable[7] = ((string___String___to_s_t)CALL(variable[7],COLOR_string___Object___to_s))(variable[7]) /*String::to_s*/;
1312 ((string___String___append_t)CALL(variable[3],COLOR_abstract_collection___IndexedCollection___append))(variable[3], variable[7]) /*String::append*/;
1313 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("[];"), TAG_Int(3)); /*new String*/
1314 variable[9] = variable[8];
1315 ((string___String___append_t)CALL(variable[3],COLOR_abstract_collection___IndexedCollection___append))(variable[3], variable[9]) /*String::append*/;
1316 ((compiling_base___CompilerVisitor___add_decl_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___add_decl))( variable[1] /*v*/, variable[3]) /*CompilerVisitor::add_decl*/;
1317 }
1318 variable[3] = TAG_Int(0);
1319 variable[4] = variable[0];
1320 variable[4] = ATTR_compiling_global___MMSrcModule____local_table(variable[4]) /*MMSrcModule::_local_table*/;
1321 variable[4] = ((array___AbstractArray___iterator_t)CALL(variable[4],COLOR_abstract_collection___Collection___iterator))(variable[4]) /*AbstractArray::iterator*/;
1322 while (true) { /*for*/
1323 variable[5] = ((array___ArrayIterator___is_ok_t)CALL(variable[4],COLOR_abstract_collection___Iterator___is_ok))(variable[4]) /*ArrayIterator::is_ok*/;
1324 if (!UNTAG_Bool(variable[5])) break; /*for*/
1325 variable[5] = ((array___ArrayIterator___item_t)CALL(variable[4],COLOR_abstract_collection___Iterator___item))(variable[4]) /*ArrayIterator::item*/;
1326 variable[6] = variable[5];
1327 variable[7] = ((compiling_base___CompilerVisitor___tc_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___tc))( variable[1] /*v*/) /*CompilerVisitor::tc*/;
1328 variable[7] = ((compiling_base___ToolContext___global_t)CALL(variable[7],COLOR_compiling_base___ToolContext___global))(variable[7]) /*ToolContext::global*/;
1329 if (UNTAG_Bool(variable[7])) { /*if*/
1330 variable[7] = NEW_String_string___String___init(); /*new String*/
1331 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("#define "), TAG_Int(8)); /*new String*/
1332 variable[9] = variable[8];
1333 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[9]) /*String::append*/;
1334 variable[10] = ((compiling_global___LocalTableElt___symbol_t)CALL( variable[6] /*e*/,COLOR_compiling_global___LocalTableElt___symbol))( variable[6] /*e*/) /*LocalTableElt::symbol*/;
1335 variable[11] = variable[10];
1336 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[11]) /*String::append*/;
1337 variable[12] = NEW_String_string___String___with_native(BOX_NativeString(" "), TAG_Int(1)); /*new String*/
1338 variable[13] = variable[12];
1339 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[13]) /*String::append*/;
1340 variable[14] = ((compiling_global___CompilerVisitor___global_analysis_t)CALL( variable[1] /*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis))( variable[1] /*v*/) /*CompilerVisitor::global_analysis*/;
1341 variable[14] = ((compiling_global___LocalTableElt___value_t)CALL( variable[6] /*e*/,COLOR_compiling_global___LocalTableElt___value))( variable[6] /*e*/, variable[14]) /*LocalTableElt::value*/;
1342 variable[15] = variable[14];
1343 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[15]) /*String::append*/;
1344 variable[16] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1345 variable[17] = variable[16];
1346 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[17]) /*String::append*/;
1347 ((compiling_base___CompilerVisitor___add_decl_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___add_decl))( variable[1] /*v*/, variable[7]) /*CompilerVisitor::add_decl*/;
1348 } else { /*if*/
1349 variable[7] = NEW_String_string___String___init(); /*new String*/
1350 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("#define "), TAG_Int(8)); /*new String*/
1351 variable[9] = variable[8];
1352 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[9]) /*String::append*/;
1353 variable[10] = ((compiling_global___LocalTableElt___symbol_t)CALL( variable[6] /*e*/,COLOR_compiling_global___LocalTableElt___symbol))( variable[6] /*e*/) /*LocalTableElt::symbol*/;
1354 variable[11] = variable[10];
1355 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[11]) /*String::append*/;
1356 variable[12] = NEW_String_string___String___with_native(BOX_NativeString(" SFT_"), TAG_Int(5)); /*new String*/
1357 variable[13] = variable[12];
1358 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[13]) /*String::append*/;
1359 variable[14] = variable[0];
1360 variable[14] = ((abstractmetamodel___MMModule___name_t)CALL(variable[14],COLOR_abstractmetamodel___MMModule___name))(variable[14]) /*MMModule::name*/;
1361 variable[15] = variable[14];
1362 variable[15] = ((string___String___to_s_t)CALL(variable[15],COLOR_string___Object___to_s))(variable[15]) /*String::to_s*/;
1363 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[15]) /*String::append*/;
1364 variable[16] = NEW_String_string___String___with_native(BOX_NativeString("["), TAG_Int(1)); /*new String*/
1365 variable[17] = variable[16];
1366 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[17]) /*String::append*/;
1367 variable[18] = variable[3] /*i*/;
1368 variable[18] = ((string___String___to_s_t)CALL(variable[18],COLOR_string___Object___to_s))(variable[18]) /*String::to_s*/;
1369 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[18]) /*String::append*/;
1370 variable[19] = NEW_String_string___String___with_native(BOX_NativeString("]"), TAG_Int(1)); /*new String*/
1371 variable[20] = variable[19];
1372 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[20]) /*String::append*/;
1373 ((compiling_base___CompilerVisitor___add_decl_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___add_decl))( variable[1] /*v*/, variable[7]) /*CompilerVisitor::add_decl*/;
1374 variable[7] = TAG_Int(UNTAG_Int( variable[3] /*i*/)+UNTAG_Int( TAG_Int(1)));
1375 variable[3] = variable[7] /*i=*/;
1376 }
1377 continue_46: while(0);
1378 ((array___ArrayIterator___next_t)CALL(variable[4],COLOR_abstract_collection___Iterator___next))(variable[4]) /*ArrayIterator::next*/;
1379 }
1380 break_46: while(0);
1381 variable[4] = variable[0];
1382 variable[4] = ((syntax_base___MMSrcModule___src_local_classes_t)CALL(variable[4],COLOR_syntax_base___MMSrcModule___src_local_classes))(variable[4]) /*MMSrcModule::src_local_classes*/;
1383 variable[4] = ((abstract_collection___Map___iterator_t)CALL(variable[4],COLOR_abstract_collection___Collection___iterator))(variable[4]) /*Map::iterator*/;
1384 while (true) { /*for*/
1385 variable[5] = ((abstract_collection___Iterator___is_ok_t)CALL(variable[4],COLOR_abstract_collection___Iterator___is_ok))(variable[4]) /*Iterator::is_ok*/;
1386 if (!UNTAG_Bool(variable[5])) break; /*for*/
1387 variable[5] = ((abstract_collection___Iterator___item_t)CALL(variable[4],COLOR_abstract_collection___Iterator___item))(variable[4]) /*Iterator::item*/;
1388 variable[6] = variable[5];
1389 variable[7] = ((abstractmetamodel___MMLocalClass___global_properties_t)CALL( variable[6] /*c*/,COLOR_abstractmetamodel___MMLocalClass___global_properties))( variable[6] /*c*/) /*MMLocalClass::global_properties*/;
1390 variable[7] = ((abstract_collection___Collection___iterator_t)CALL(variable[7],COLOR_abstract_collection___Collection___iterator))(variable[7]) /*Collection::iterator*/;
1391 while (true) { /*for*/
1392 variable[8] = ((abstract_collection___Iterator___is_ok_t)CALL(variable[7],COLOR_abstract_collection___Iterator___is_ok))(variable[7]) /*Iterator::is_ok*/;
1393 if (!UNTAG_Bool(variable[8])) break; /*for*/
1394 variable[8] = ((abstract_collection___Iterator___item_t)CALL(variable[7],COLOR_abstract_collection___Iterator___item))(variable[7]) /*Iterator::item*/;
1395 variable[9] = variable[8];
1396 variable[11] = ((inheritance___MMLocalClass_____bra_t)CALL( variable[6] /*c*/,COLOR_abstractmetamodel___MMLocalClass_____bra))( variable[6] /*c*/, variable[9] /*pg*/) /*MMLocalClass::[]*/;
1397 variable[10] = variable[11];
1398 variable[11] = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable[10] /*p*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable[10] /*p*/) /*MMLocalProperty::local_class*/;
1399 variable[11] = TAG_Bool((variable[11] == variable[6] /*c*/) || ((variable[11] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[11],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[11], variable[6] /*c*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[11],COLOR_kernel___Object_____eqeq))(variable[11], variable[6] /*c*/) /*Object::==*/)))));
1400 if (UNTAG_Bool(variable[11])) { /*if*/
1401 variable[11] = ((abstractmetamodel___MMGlobalProperty___intro_t)CALL( variable[9] /*pg*/,COLOR_abstractmetamodel___MMGlobalProperty___intro))( variable[9] /*pg*/) /*MMGlobalProperty::intro*/;
1402 variable[11] = TAG_Bool((variable[11] == variable[10] /*p*/) || ((variable[11] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[11],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[11], variable[10] /*p*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[11],COLOR_kernel___Object_____eqeq))(variable[11], variable[10] /*p*/) /*Object::==*/)))));
1403 variable[12] = variable[11];
1404 if (UNTAG_Bool(variable[12])) { /* and */
1405 variable[12] = TAG_Bool(( variable[10] /*p*/==NIT_NULL) || VAL_ISA( variable[10] /*p*/, COLOR_MMAttribute, ID_MMAttribute)) /*cast MMAttribute*/;
1406 }
1407 variable[11] = variable[12];
1408 if (UNTAG_Bool(variable[11])) { /*if*/
1409 variable[11] = ((compiling_base___CompilerVisitor___tc_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___tc))( variable[1] /*v*/) /*CompilerVisitor::tc*/;
1410 variable[11] = ((compiling_base___ToolContext___attr_sim_t)CALL(variable[11],COLOR_compiling_base___ToolContext___attr_sim))(variable[11]) /*ToolContext::attr_sim*/;
1411 if (UNTAG_Bool(variable[11])) { /*if*/
1412 variable[12] = ((abstractmetamodel___MMGlobalProperty___local_class_t)CALL( variable[9] /*pg*/,COLOR_abstractmetamodel___MMGlobalProperty___local_class))( variable[9] /*pg*/) /*MMGlobalProperty::local_class*/;
1413 variable[11] = variable[12];
1414 variable[12] = TAG_Bool(( variable[11] /*bc*/==NIT_NULL) || VAL_ISA( variable[11] /*bc*/, COLOR_MMSrcLocalClass, ID_MMSrcLocalClass)) /*cast MMSrcLocalClass*/;
1415 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_global___MMSrcModule___compile_mod_to_c, LOCATE_compiling_global, 515); nit_exit(1);}
1416 variable[13] = ((compiling_global___MMSrcLocalClass___base_attr_pos_t)CALL( variable[11] /*bc*/,COLOR_compiling_global___MMSrcLocalClass___base_attr_pos))( variable[11] /*bc*/) /*MMSrcLocalClass::base_attr_pos*/;
1417 variable[13] = ((compiling_global___TableEltBaseAttrPos___symbol_t)CALL(variable[13],COLOR_compiling_global___LocalTableElt___symbol))(variable[13]) /*TableEltBaseAttrPos::symbol*/;
1418 variable[12] = variable[13];
1419 variable[13] = NEW_String_string___String___init(); /*new String*/
1420 variable[14] = NEW_String_string___String___with_native(BOX_NativeString("#define "), TAG_Int(8)); /*new String*/
1421 variable[15] = variable[14];
1422 ((string___String___append_t)CALL(variable[13],COLOR_abstract_collection___IndexedCollection___append))(variable[13], variable[15]) /*String::append*/;
1423 variable[16] = ((compiling_base___MMGlobalProperty___attr_access_t)CALL( variable[9] /*pg*/,COLOR_compiling_base___MMGlobalProperty___attr_access))( variable[9] /*pg*/) /*MMGlobalProperty::attr_access*/;
1424 variable[17] = variable[16];
1425 ((string___String___append_t)CALL(variable[13],COLOR_abstract_collection___IndexedCollection___append))(variable[13], variable[17]) /*String::append*/;
1426 variable[18] = NEW_String_string___String___with_native(BOX_NativeString("(recv) ATTRS(recv, "), TAG_Int(19)); /*new String*/
1427 variable[19] = variable[18];
1428 ((string___String___append_t)CALL(variable[13],COLOR_abstract_collection___IndexedCollection___append))(variable[13], variable[19]) /*String::append*/;
1429 variable[20] = variable[12] /*s*/;
1430 ((string___String___append_t)CALL(variable[13],COLOR_abstract_collection___IndexedCollection___append))(variable[13], variable[20]) /*String::append*/;
1431 variable[21] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
1432 variable[22] = variable[21];
1433 ((string___String___append_t)CALL(variable[13],COLOR_abstract_collection___IndexedCollection___append))(variable[13], variable[22]) /*String::append*/;
1434 variable[23] = ((compiling_global___MMGlobalProperty___pos_of_t)CALL( variable[9] /*pg*/,COLOR_compiling_global___MMGlobalProperty___pos_of))( variable[9] /*pg*/) /*MMGlobalProperty::pos_of*/;
1435 variable[24] = variable[23];
1436 variable[24] = ((string___String___to_s_t)CALL(variable[24],COLOR_string___Object___to_s))(variable[24]) /*String::to_s*/;
1437 ((string___String___append_t)CALL(variable[13],COLOR_abstract_collection___IndexedCollection___append))(variable[13], variable[24]) /*String::append*/;
1438 variable[25] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
1439 variable[26] = variable[25];
1440 ((string___String___append_t)CALL(variable[13],COLOR_abstract_collection___IndexedCollection___append))(variable[13], variable[26]) /*String::append*/;
1441 ((compiling_base___CompilerVisitor___add_decl_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___add_decl))( variable[1] /*v*/, variable[13]) /*CompilerVisitor::add_decl*/;
1442 } else { /*if*/
1443 variable[11] = NEW_String_string___String___init(); /*new String*/
1444 variable[12] = NEW_String_string___String___with_native(BOX_NativeString("#define "), TAG_Int(8)); /*new String*/
1445 variable[13] = variable[12];
1446 ((string___String___append_t)CALL(variable[11],COLOR_abstract_collection___IndexedCollection___append))(variable[11], variable[13]) /*String::append*/;
1447 variable[14] = ((compiling_base___MMGlobalProperty___attr_access_t)CALL( variable[9] /*pg*/,COLOR_compiling_base___MMGlobalProperty___attr_access))( variable[9] /*pg*/) /*MMGlobalProperty::attr_access*/;
1448 variable[15] = variable[14];
1449 ((string___String___append_t)CALL(variable[11],COLOR_abstract_collection___IndexedCollection___append))(variable[11], variable[15]) /*String::append*/;
1450 variable[16] = NEW_String_string___String___with_native(BOX_NativeString("(recv) ATTR(recv, "), TAG_Int(18)); /*new String*/
1451 variable[17] = variable[16];
1452 ((string___String___append_t)CALL(variable[11],COLOR_abstract_collection___IndexedCollection___append))(variable[11], variable[17]) /*String::append*/;
1453 variable[18] = ((compiling_base___MMGlobalProperty___color_id_t)CALL( variable[9] /*pg*/,COLOR_compiling_base___MMGlobalProperty___color_id))( variable[9] /*pg*/) /*MMGlobalProperty::color_id*/;
1454 variable[19] = variable[18];
1455 ((string___String___append_t)CALL(variable[11],COLOR_abstract_collection___IndexedCollection___append))(variable[11], variable[19]) /*String::append*/;
1456 variable[20] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
1457 variable[21] = variable[20];
1458 ((string___String___append_t)CALL(variable[11],COLOR_abstract_collection___IndexedCollection___append))(variable[11], variable[21]) /*String::append*/;
1459 ((compiling_base___CompilerVisitor___add_decl_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___add_decl))( variable[1] /*v*/, variable[11]) /*CompilerVisitor::add_decl*/;
1460 }
1461 }
1462 ((compiling_methods___MMLocalProperty___compile_property_to_c_t)CALL( variable[10] /*p*/,COLOR_compiling_methods___MMLocalProperty___compile_property_to_c))( variable[10] /*p*/, variable[1] /*v*/) /*MMLocalProperty::compile_property_to_c*/;
1463 }
1464 variable[11] = ((abstractmetamodel___MMGlobalProperty___is_init_for_t)CALL( variable[9] /*pg*/,COLOR_abstractmetamodel___MMGlobalProperty___is_init_for))( variable[9] /*pg*/, variable[6] /*c*/) /*MMGlobalProperty::is_init_for*/;
1465 if (UNTAG_Bool(variable[11])) { /*if*/
1466 variable[12] = NEW_Array_array___Array___init(); /*new Array[String]*/
1467 variable[11] = variable[12];
1468 variable[12] = ((static_type___MMLocalProperty___signature_t)CALL( variable[10] /*p*/,COLOR_static_type___MMLocalProperty___signature))( variable[10] /*p*/) /*MMLocalProperty::signature*/;
1469 variable[12] = ((static_type___MMSignature___arity_t)CALL(variable[12],COLOR_static_type___MMSignature___arity))(variable[12]) /*MMSignature::arity*/;
1470 variable[13] = NEW_Range_range___Range___without_last( TAG_Int(0), variable[12]); /*new Range[Int]*/
1471 variable[12] = variable[13];
1472 variable[12] = ((range___Range___iterator_t)CALL(variable[12],COLOR_abstract_collection___Collection___iterator))(variable[12]) /*Range::iterator*/;
1473 while (true) { /*for*/
1474 variable[13] = ((abstract_collection___Iterator___is_ok_t)CALL(variable[12],COLOR_abstract_collection___Iterator___is_ok))(variable[12]) /*Iterator::is_ok*/;
1475 if (!UNTAG_Bool(variable[13])) break; /*for*/
1476 variable[13] = ((abstract_collection___Iterator___item_t)CALL(variable[12],COLOR_abstract_collection___Iterator___item))(variable[12]) /*Iterator::item*/;
1477 variable[14] = variable[13];
1478 variable[15] = NEW_String_string___String___init(); /*new String*/
1479 variable[16] = NEW_String_string___String___with_native(BOX_NativeString("val_t p"), TAG_Int(7)); /*new String*/
1480 variable[17] = variable[16];
1481 ((string___String___append_t)CALL(variable[15],COLOR_abstract_collection___IndexedCollection___append))(variable[15], variable[17]) /*String::append*/;
1482 variable[18] = variable[14] /*i*/;
1483 variable[18] = ((string___String___to_s_t)CALL(variable[18],COLOR_string___Object___to_s))(variable[18]) /*String::to_s*/;
1484 ((string___String___append_t)CALL(variable[15],COLOR_abstract_collection___IndexedCollection___append))(variable[15], variable[18]) /*String::append*/;
1485 variable[19] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1486 variable[20] = variable[19];
1487 ((string___String___append_t)CALL(variable[15],COLOR_abstract_collection___IndexedCollection___append))(variable[15], variable[20]) /*String::append*/;
1488 ((array___AbstractArray___add_t)CALL( variable[11] /*params*/,COLOR_abstract_collection___SimpleCollection___add))( variable[11] /*params*/, variable[15]) /*AbstractArray::add*/;
1489 continue_49: while(0);
1490 ((abstract_collection___Iterator___next_t)CALL(variable[12],COLOR_abstract_collection___Iterator___next))(variable[12]) /*Iterator::next*/;
1491 }
1492 break_49: while(0);
1493 variable[12] = NEW_String_string___String___init(); /*new String*/
1494 variable[13] = NEW_String_string___String___with_native(BOX_NativeString("val_t NEW_"), TAG_Int(10)); /*new String*/
1495 variable[14] = variable[13];
1496 ((string___String___append_t)CALL(variable[12],COLOR_abstract_collection___IndexedCollection___append))(variable[12], variable[14]) /*String::append*/;
1497 variable[15] = variable[6] /*c*/;
1498 variable[15] = ((string___String___to_s_t)CALL(variable[15],COLOR_string___Object___to_s))(variable[15]) /*String::to_s*/;
1499 ((string___String___append_t)CALL(variable[12],COLOR_abstract_collection___IndexedCollection___append))(variable[12], variable[15]) /*String::append*/;
1500 variable[16] = NEW_String_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
1501 variable[17] = variable[16];
1502 ((string___String___append_t)CALL(variable[12],COLOR_abstract_collection___IndexedCollection___append))(variable[12], variable[17]) /*String::append*/;
1503 variable[18] = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable[10] /*p*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable[10] /*p*/) /*MMLocalProperty::global*/;
1504 variable[18] = ((abstractmetamodel___MMGlobalProperty___intro_t)CALL(variable[18],COLOR_abstractmetamodel___MMGlobalProperty___intro))(variable[18]) /*MMGlobalProperty::intro*/;
1505 variable[18] = ((compiling_base___MMLocalProperty___cname_t)CALL(variable[18],COLOR_compiling_base___MMLocalProperty___cname))(variable[18]) /*MMLocalProperty::cname*/;
1506 variable[19] = variable[18];
1507 ((string___String___append_t)CALL(variable[12],COLOR_abstract_collection___IndexedCollection___append))(variable[12], variable[19]) /*String::append*/;
1508 variable[20] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
1509 variable[21] = variable[20];
1510 ((string___String___append_t)CALL(variable[12],COLOR_abstract_collection___IndexedCollection___append))(variable[12], variable[21]) /*String::append*/;
1511 variable[22] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
1512 variable[22] = ((string___Collection___join_t)CALL( variable[11] /*params*/,COLOR_string___Collection___join))( variable[11] /*params*/, variable[22]) /*Collection::join*/;
1513 variable[23] = variable[22];
1514 ((string___String___append_t)CALL(variable[12],COLOR_abstract_collection___IndexedCollection___append))(variable[12], variable[23]) /*String::append*/;
1515 variable[24] = NEW_String_string___String___with_native(BOX_NativeString(");"), TAG_Int(2)); /*new String*/
1516 variable[25] = variable[24];
1517 ((string___String___append_t)CALL(variable[12],COLOR_abstract_collection___IndexedCollection___append))(variable[12], variable[25]) /*String::append*/;
1518 ((compiling_base___CompilerVisitor___add_decl_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___add_decl))( variable[1] /*v*/, variable[12]) /*CompilerVisitor::add_decl*/;
1519 }
1520 continue_48: while(0);
1521 ((abstract_collection___Iterator___next_t)CALL(variable[7],COLOR_abstract_collection___Iterator___next))(variable[7]) /*Iterator::next*/;
1522 }
1523 break_48: while(0);
1524 continue_47: while(0);
1525 ((abstract_collection___Iterator___next_t)CALL(variable[4],COLOR_abstract_collection___Iterator___next))(variable[4]) /*Iterator::next*/;
1526 }
1527 break_47: while(0);
1528 return_label45: while(false);
1529 tracehead = trace.prev;
1530 return;
1531 }
1532 void compiling_global___MMSrcModule___compile_local_table_to_c(val_t self, val_t param0) {
1533 struct trace_t trace = {NULL, NULL, 536, LOCATE_compiling_global___MMSrcModule___compile_local_table_to_c};
1534 val_t variable[14];
1535 void **closurevariable = NULL;
1536 trace.prev = tracehead; tracehead = &trace;
1537 trace.file = LOCATE_compiling_global;
1538 variable[0] = self;
1539 variable[1] = param0;
1540 variable[3] = NEW_String_string___String___init(); /*new String*/
1541 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("const char *LOCATE_"), TAG_Int(19)); /*new String*/
1542 variable[5] = variable[4];
1543 ((string___String___append_t)CALL(variable[3],COLOR_abstract_collection___IndexedCollection___append))(variable[3], variable[5]) /*String::append*/;
1544 variable[6] = variable[0];
1545 variable[6] = ((abstractmetamodel___MMModule___name_t)CALL(variable[6],COLOR_abstractmetamodel___MMModule___name))(variable[6]) /*MMModule::name*/;
1546 variable[7] = variable[6];
1547 variable[7] = ((string___String___to_s_t)CALL(variable[7],COLOR_string___Object___to_s))(variable[7]) /*String::to_s*/;
1548 ((string___String___append_t)CALL(variable[3],COLOR_abstract_collection___IndexedCollection___append))(variable[3], variable[7]) /*String::append*/;
1549 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(" = \""), TAG_Int(4)); /*new String*/
1550 variable[9] = variable[8];
1551 ((string___String___append_t)CALL(variable[3],COLOR_abstract_collection___IndexedCollection___append))(variable[3], variable[9]) /*String::append*/;
1552 variable[10] = variable[0];
1553 variable[10] = ((mmloader___MMModule___filename_t)CALL(variable[10],COLOR_mmloader___MMModule___filename))(variable[10]) /*MMModule::filename*/;
1554 variable[11] = variable[10];
1555 ((string___String___append_t)CALL(variable[3],COLOR_abstract_collection___IndexedCollection___append))(variable[3], variable[11]) /*String::append*/;
1556 variable[12] = NEW_String_string___String___with_native(BOX_NativeString("\";"), TAG_Int(2)); /*new String*/
1557 variable[13] = variable[12];
1558 ((string___String___append_t)CALL(variable[3],COLOR_abstract_collection___IndexedCollection___append))(variable[3], variable[13]) /*String::append*/;
1559 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable[1] /*v*/, variable[3]) /*CompilerVisitor::add_instr*/;
1560 variable[3] = ((compiling_base___CompilerVisitor___tc_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___tc))( variable[1] /*v*/) /*CompilerVisitor::tc*/;
1561 variable[3] = ((compiling_base___ToolContext___global_t)CALL(variable[3],COLOR_compiling_base___ToolContext___global))(variable[3]) /*ToolContext::global*/;
1562 variable[4] = variable[3];
1563 if (!UNTAG_Bool(variable[4])) { /* or */
1564 variable[4] = variable[0];
1565 variable[4] = ATTR_compiling_global___MMSrcModule____local_table(variable[4]) /*MMSrcModule::_local_table*/;
1566 variable[4] = ((array___AbstractArray___is_empty_t)CALL(variable[4],COLOR_abstract_collection___Collection___is_empty))(variable[4]) /*AbstractArray::is_empty*/;
1567 }
1568 variable[3] = variable[4];
1569 if (UNTAG_Bool(variable[3])) { /*if*/
1570 goto return_label50;
1571 }
1572 variable[3] = NEW_String_string___String___init(); /*new String*/
1573 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("const int SFT_"), TAG_Int(14)); /*new String*/
1574 variable[5] = variable[4];
1575 ((string___String___append_t)CALL(variable[3],COLOR_abstract_collection___IndexedCollection___append))(variable[3], variable[5]) /*String::append*/;
1576 variable[6] = variable[0];
1577 variable[6] = ((abstractmetamodel___MMModule___name_t)CALL(variable[6],COLOR_abstractmetamodel___MMModule___name))(variable[6]) /*MMModule::name*/;
1578 variable[7] = variable[6];
1579 variable[7] = ((string___String___to_s_t)CALL(variable[7],COLOR_string___Object___to_s))(variable[7]) /*String::to_s*/;
1580 ((string___String___append_t)CALL(variable[3],COLOR_abstract_collection___IndexedCollection___append))(variable[3], variable[7]) /*String::append*/;
1581 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("["), TAG_Int(1)); /*new String*/
1582 variable[9] = variable[8];
1583 ((string___String___append_t)CALL(variable[3],COLOR_abstract_collection___IndexedCollection___append))(variable[3], variable[9]) /*String::append*/;
1584 variable[10] = variable[0];
1585 variable[10] = ATTR_compiling_global___MMSrcModule____local_table(variable[10]) /*MMSrcModule::_local_table*/;
1586 variable[10] = ((array___AbstractArray___length_t)CALL(variable[10],COLOR_abstract_collection___Collection___length))(variable[10]) /*AbstractArray::length*/;
1587 variable[11] = variable[10];
1588 variable[11] = ((string___String___to_s_t)CALL(variable[11],COLOR_string___Object___to_s))(variable[11]) /*String::to_s*/;
1589 ((string___String___append_t)CALL(variable[3],COLOR_abstract_collection___IndexedCollection___append))(variable[3], variable[11]) /*String::append*/;
1590 variable[12] = NEW_String_string___String___with_native(BOX_NativeString("] = {"), TAG_Int(5)); /*new String*/
1591 variable[13] = variable[12];
1592 ((string___String___append_t)CALL(variable[3],COLOR_abstract_collection___IndexedCollection___append))(variable[3], variable[13]) /*String::append*/;
1593 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable[1] /*v*/, variable[3]) /*CompilerVisitor::add_instr*/;
1594 ((compiling_base___CompilerVisitor___indent_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___indent))( variable[1] /*v*/) /*CompilerVisitor::indent*/;
1595 variable[3] = variable[0];
1596 variable[3] = ATTR_compiling_global___MMSrcModule____local_table(variable[3]) /*MMSrcModule::_local_table*/;
1597 variable[3] = ((array___AbstractArray___iterator_t)CALL(variable[3],COLOR_abstract_collection___Collection___iterator))(variable[3]) /*AbstractArray::iterator*/;
1598 while (true) { /*for*/
1599 variable[4] = ((array___ArrayIterator___is_ok_t)CALL(variable[3],COLOR_abstract_collection___Iterator___is_ok))(variable[3]) /*ArrayIterator::is_ok*/;
1600 if (!UNTAG_Bool(variable[4])) break; /*for*/
1601 variable[4] = ((array___ArrayIterator___item_t)CALL(variable[3],COLOR_abstract_collection___Iterator___item))(variable[3]) /*ArrayIterator::item*/;
1602 variable[5] = variable[4];
1603 variable[6] = ((compiling_global___CompilerVisitor___global_analysis_t)CALL( variable[1] /*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis))( variable[1] /*v*/) /*CompilerVisitor::global_analysis*/;
1604 variable[6] = ((compiling_global___LocalTableElt___value_t)CALL( variable[5] /*e*/,COLOR_compiling_global___LocalTableElt___value))( variable[5] /*e*/, variable[6]) /*LocalTableElt::value*/;
1605 variable[7] = NEW_String_string___String___with_native(BOX_NativeString(","), TAG_Int(1)); /*new String*/
1606 variable[6] = ((string___String_____plus_t)CALL(variable[6],COLOR_string___String_____plus))(variable[6], variable[7]) /*String::+*/;
1607 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable[1] /*v*/, variable[6]) /*CompilerVisitor::add_instr*/;
1608 continue_51: while(0);
1609 ((array___ArrayIterator___next_t)CALL(variable[3],COLOR_abstract_collection___Iterator___next))(variable[3]) /*ArrayIterator::next*/;
1610 }
1611 break_51: while(0);
1612 ((compiling_base___CompilerVisitor___unindent_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___unindent))( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
1613 variable[3] = NEW_String_string___String___with_native(BOX_NativeString("};"), TAG_Int(2)); /*new String*/
1614 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable[1] /*v*/, variable[3]) /*CompilerVisitor::add_instr*/;
1615 return_label50: while(false);
1616 tracehead = trace.prev;
1617 return;
1618 }
1619 val_t compiling_global___TableElt___is_related_to(val_t self, val_t param0) {
1620 struct trace_t trace = {NULL, NULL, 556, LOCATE_compiling_global___TableElt___is_related_to};
1621 val_t *variable = NULL;
1622 void **closurevariable = NULL;
1623 trace.prev = tracehead; tracehead = &trace;
1624 trace.file = LOCATE_compiling_global;
1625 fprintf(stderr, "Deferred method called");
1626 fprintf(stderr, " (%s:%d)\n", LOCATE_compiling_global, 556);
1627 nit_exit(1);
1628 tracehead = trace.prev;
1629 return NIT_NULL;
1630 }
1631 val_t compiling_global___TableElt___length(val_t self) {
1632 struct trace_t trace = {NULL, NULL, 557, LOCATE_compiling_global___TableElt___length};
1633 val_t variable[2];
1634 void **closurevariable = NULL;
1635 trace.prev = tracehead; tracehead = &trace;
1636 trace.file = LOCATE_compiling_global;
1637 variable[0] = self;
1638 variable[1] = TAG_Int(1);
1639 goto return_label52;
1640 return_label52: while(false);
1641 tracehead = trace.prev;
1642 return variable[1];
1643 }
1644 val_t compiling_global___TableElt___item(val_t self, val_t param0) {
1645 struct trace_t trace = {NULL, NULL, 558, LOCATE_compiling_global___TableElt___item};
1646 val_t variable[4];
1647 void **closurevariable = NULL;
1648 trace.prev = tracehead; tracehead = &trace;
1649 trace.file = LOCATE_compiling_global;
1650 variable[0] = self;
1651 variable[1] = param0;
1652 variable[3] = variable[0];
1653 variable[2] = variable[3];
1654 goto return_label53;
1655 return_label53: while(false);
1656 tracehead = trace.prev;
1657 return variable[2];
1658 }
1659 val_t compiling_global___TableElt___compile_to_c(val_t self, val_t param0, val_t param1) {
1660 struct trace_t trace = {NULL, NULL, 559, LOCATE_compiling_global___TableElt___compile_to_c};
1661 val_t *variable = NULL;
1662 void **closurevariable = NULL;
1663 trace.prev = tracehead; tracehead = &trace;
1664 trace.file = LOCATE_compiling_global;
1665 fprintf(stderr, "Deferred method called");
1666 fprintf(stderr, " (%s:%d)\n", LOCATE_compiling_global, 559);
1667 nit_exit(1);
1668 tracehead = trace.prev;
1669 return NIT_NULL;
1670 }
1671 void compiling_global___TableElt___init(val_t self, int* init_table) {
1672 struct trace_t trace = {NULL, NULL, 0, LOCATE_compiling_global___TableElt___init};
1673 val_t *variable = NULL;
1674 void **closurevariable = NULL;
1675 trace.prev = tracehead; tracehead = &trace;
1676 trace.file = LOCATE_compiling_global;
1677 tracehead = trace.prev;
1678 return;
1679 }
1680 val_t compiling_global___LocalTableElt___symbol(val_t self) {
1681 struct trace_t trace = {NULL, NULL, 564, LOCATE_compiling_global___LocalTableElt___symbol};
1682 val_t *variable = NULL;
1683 void **closurevariable = NULL;
1684 trace.prev = tracehead; tracehead = &trace;
1685 trace.file = LOCATE_compiling_global;
1686 fprintf(stderr, "Deferred method called");
1687 fprintf(stderr, " (%s:%d)\n", LOCATE_compiling_global, 564);
1688 nit_exit(1);
1689 tracehead = trace.prev;
1690 return NIT_NULL;
1691 }
1692 val_t compiling_global___LocalTableElt___value(val_t self, val_t param0) {
1693 struct trace_t trace = {NULL, NULL, 565, LOCATE_compiling_global___LocalTableElt___value};
1694 val_t *variable = NULL;
1695 void **closurevariable = NULL;
1696 trace.prev = tracehead; tracehead = &trace;
1697 trace.file = LOCATE_compiling_global;
1698 fprintf(stderr, "Deferred method called");
1699 fprintf(stderr, " (%s:%d)\n", LOCATE_compiling_global, 565);
1700 nit_exit(1);
1701 tracehead = trace.prev;
1702 return NIT_NULL;
1703 }
1704 val_t compiling_global___TableEltPropPos___symbol(val_t self) {
1705 struct trace_t trace = {NULL, NULL, 571, LOCATE_compiling_global___TableEltPropPos___symbol};
1706 val_t variable[3];
1707 void **closurevariable = NULL;
1708 trace.prev = tracehead; tracehead = &trace;
1709 trace.file = LOCATE_compiling_global;
1710 variable[0] = self;
1711 variable[2] = variable[0];
1712 variable[2] = ATTR_compiling_global___TableEltPropPos____property(variable[2]) /*TableEltPropPos::_property*/;
1713 variable[2] = ((abstractmetamodel___MMLocalProperty___global_t)CALL(variable[2],COLOR_abstractmetamodel___MMLocalProperty___global))(variable[2]) /*MMLocalProperty::global*/;
1714 variable[2] = ((compiling_base___MMGlobalProperty___color_id_t)CALL(variable[2],COLOR_compiling_base___MMGlobalProperty___color_id))(variable[2]) /*MMGlobalProperty::color_id*/;
1715 variable[1] = variable[2];
1716 goto return_label54;
1717 return_label54: while(false);
1718 tracehead = trace.prev;
1719 return variable[1];
1720 }
1721 val_t compiling_global___TableEltPropPos___value(val_t self, val_t param0) {
1722 struct trace_t trace = {NULL, NULL, 572, LOCATE_compiling_global___TableEltPropPos___value};
1723 val_t variable[14];
1724 void **closurevariable = NULL;
1725 trace.prev = tracehead; tracehead = &trace;
1726 trace.file = LOCATE_compiling_global;
1727 variable[0] = self;
1728 variable[1] = param0;
1729 variable[3] = NEW_String_string___String___init(); /*new String*/
1730 variable[4] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1731 variable[5] = variable[4];
1732 ((string___String___append_t)CALL(variable[3],COLOR_abstract_collection___IndexedCollection___append))(variable[3], variable[5]) /*String::append*/;
1733 variable[6] = variable[0];
1734 variable[6] = ((compiling_global___ColorContext___color_t)CALL( variable[1] /*ga*/,COLOR_compiling_global___ColorContext___color))( variable[1] /*ga*/, variable[6]) /*ColorContext::color*/;
1735 variable[7] = variable[6];
1736 variable[7] = ((string___String___to_s_t)CALL(variable[7],COLOR_string___Object___to_s))(variable[7]) /*String::to_s*/;
1737 ((string___String___append_t)CALL(variable[3],COLOR_abstract_collection___IndexedCollection___append))(variable[3], variable[7]) /*String::append*/;
1738 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(" /* Property "), TAG_Int(13)); /*new String*/
1739 variable[9] = variable[8];
1740 ((string___String___append_t)CALL(variable[3],COLOR_abstract_collection___IndexedCollection___append))(variable[3], variable[9]) /*String::append*/;
1741 variable[10] = variable[0];
1742 variable[10] = ATTR_compiling_global___TableEltPropPos____property(variable[10]) /*TableEltPropPos::_property*/;
1743 variable[11] = variable[10];
1744 variable[11] = ((string___String___to_s_t)CALL(variable[11],COLOR_string___Object___to_s))(variable[11]) /*String::to_s*/;
1745 ((string___String___append_t)CALL(variable[3],COLOR_abstract_collection___IndexedCollection___append))(variable[3], variable[11]) /*String::append*/;
1746 variable[12] = NEW_String_string___String___with_native(BOX_NativeString(" */"), TAG_Int(3)); /*new String*/
1747 variable[13] = variable[12];
1748 ((string___String___append_t)CALL(variable[3],COLOR_abstract_collection___IndexedCollection___append))(variable[3], variable[13]) /*String::append*/;
1749 variable[2] = variable[3];
1750 goto return_label55;
1751 return_label55: while(false);
1752 tracehead = trace.prev;
1753 return variable[2];
1754 }
1755 void compiling_global___TableEltPropPos___init(val_t self, val_t param0, int* init_table) {
1756 struct trace_t trace = {NULL, NULL, 574, LOCATE_compiling_global___TableEltPropPos___init};
1757 val_t variable[4];
1758 void **closurevariable = NULL;
1759 trace.prev = tracehead; tracehead = &trace;
1760 trace.file = LOCATE_compiling_global;
1761 variable[0] = self;
1762 variable[1] = param0;
1763 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TableEltPropPos].i]) return;
1764 variable[3] = variable[0];
1765 ATTR_compiling_global___TableEltPropPos____property(variable[3]) /*TableEltPropPos::_property*/ = variable[1] /*p*/;
1766 return_label56: while(false);
1767 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TableEltPropPos].i] = 1;
1768 tracehead = trace.prev;
1769 return;
1770 }
1771 val_t compiling_global___TableEltMethPos___compile_to_c(val_t self, val_t param0, val_t param1) {
1772 struct trace_t trace = {NULL, NULL, 582, LOCATE_compiling_global___TableEltMethPos___compile_to_c};
1773 val_t variable[6];
1774 void **closurevariable = NULL;
1775 trace.prev = tracehead; tracehead = &trace;
1776 trace.file = LOCATE_compiling_global;
1777 variable[0] = self;
1778 variable[1] = param0;
1779 variable[2] = param1;
1780 variable[5] = variable[0];
1781 variable[5] = ATTR_compiling_global___TableEltPropPos____property(variable[5]) /*TableEltPropPos::_property*/;
1782 variable[5] = ((abstractmetamodel___MMLocalProperty___global_t)CALL(variable[5],COLOR_abstractmetamodel___MMLocalProperty___global))(variable[5]) /*MMLocalProperty::global*/;
1783 variable[5] = ((inheritance___MMLocalClass_____bra_t)CALL( variable[2] /*c*/,COLOR_abstractmetamodel___MMLocalClass_____bra))( variable[2] /*c*/, variable[5]) /*MMLocalClass::[]*/;
1784 variable[4] = variable[5];
1785 variable[5] = ((compiling_base___MMLocalProperty___cname_t)CALL( variable[4] /*p*/,COLOR_compiling_base___MMLocalProperty___cname))( variable[4] /*p*/) /*MMLocalProperty::cname*/;
1786 variable[3] = variable[5];
1787 goto return_label57;
1788 return_label57: while(false);
1789 tracehead = trace.prev;
1790 return variable[3];
1791 }
1792 void compiling_global___TableEltMethPos___init(val_t self, val_t param0, int* init_table) {
1793 struct trace_t trace = {NULL, NULL, 587, LOCATE_compiling_global___TableEltMethPos___init};
1794 val_t variable[3];
1795 void **closurevariable = NULL;
1796 trace.prev = tracehead; tracehead = &trace;
1797 trace.file = LOCATE_compiling_global;
1798 variable[0] = self;
1799 variable[1] = param0;
1800 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TableEltMethPos].i]) return;
1801 ((compiling_global___TableEltPropPos___init_t)CALL(variable[0],COLOR_compiling_global___TableEltPropPos___init))(variable[0], variable[1], init_table /*YYY*/) /*TableEltPropPos::init*/;
1802 return_label58: while(false);
1803 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TableEltMethPos].i] = 1;
1804 tracehead = trace.prev;
1805 return;
1806 }
1807 val_t compiling_global___TableEltSuperPos___compile_to_c(val_t self, val_t param0, val_t param1) {
1808 struct trace_t trace = {NULL, NULL, 593, LOCATE_compiling_global___TableEltSuperPos___compile_to_c};
1809 val_t variable[13];
1810 void **closurevariable = NULL;
1811 trace.prev = tracehead; tracehead = &trace;
1812 trace.file = LOCATE_compiling_global;
1813 variable[0] = self;
1814 variable[1] = param0;
1815 variable[2] = param1;
1816 variable[5] = variable[0];
1817 variable[5] = ATTR_compiling_global___TableEltPropPos____property(variable[5]) /*TableEltPropPos::_property*/;
1818 variable[5] = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL(variable[5],COLOR_abstractmetamodel___MMLocalProperty___local_class))(variable[5]) /*MMLocalProperty::local_class*/;
1819 variable[4] = variable[5];
1820 variable[6] = variable[0];
1821 variable[6] = ATTR_compiling_global___TableEltPropPos____property(variable[6]) /*TableEltPropPos::_property*/;
1822 variable[6] = ((abstractmetamodel___MMLocalProperty___global_t)CALL(variable[6],COLOR_abstractmetamodel___MMLocalProperty___global))(variable[6]) /*MMLocalProperty::global*/;
1823 variable[5] = variable[6];
1824 variable[7] = ((abstractmetamodel___MMLocalClass___che_t)CALL( variable[2] /*c*/,COLOR_abstractmetamodel___MMLocalClass___che))( variable[2] /*c*/) /*MMLocalClass::che*/;
1825 variable[7] = ((partial_order___PartialOrderElement___linear_extension_t)CALL(variable[7],COLOR_partial_order___PartialOrderElement___linear_extension))(variable[7]) /*PartialOrderElement::linear_extension*/;
1826 variable[6] = variable[7];
1827 variable[7] = TAG_Bool(false);
1828 variable[8] = ((array___AbstractArray___iterator_t)CALL( variable[6] /*lin*/,COLOR_abstract_collection___Collection___iterator))( variable[6] /*lin*/) /*AbstractArray::iterator*/;
1829 while (true) { /*for*/
1830 variable[9] = ((array___ArrayIterator___is_ok_t)CALL(variable[8],COLOR_abstract_collection___Iterator___is_ok))(variable[8]) /*ArrayIterator::is_ok*/;
1831 if (!UNTAG_Bool(variable[9])) break; /*for*/
1832 variable[9] = ((array___ArrayIterator___item_t)CALL(variable[8],COLOR_abstract_collection___Iterator___item))(variable[8]) /*ArrayIterator::item*/;
1833 variable[10] = variable[9];
1834 variable[11] = TAG_Bool(( variable[10] /*s*/ == variable[4] /*pc*/) || (( variable[10] /*s*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[10] /*s*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*s*/, variable[4] /*pc*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[10] /*s*/,COLOR_kernel___Object_____eqeq))( variable[10] /*s*/, variable[4] /*pc*/) /*Object::==*/)))));
1835 if (UNTAG_Bool(variable[11])) { /*if*/
1836 variable[7] = TAG_Bool(true) /*found=*/;
1837 } else { /*if*/
1838 variable[11] = variable[7] /*found*/;
1839 if (UNTAG_Bool(variable[11])) { /* and */
1840 variable[11] = ((abstractmetamodel___MMLocalClass___che_t)CALL( variable[2] /*c*/,COLOR_abstractmetamodel___MMLocalClass___che))( variable[2] /*c*/) /*MMLocalClass::che*/;
1841 variable[11] = ((partial_order___PartialOrderElement_____l_t)CALL(variable[11],COLOR_partial_order___PartialOrderElement_____l))(variable[11], variable[10] /*s*/) /*PartialOrderElement::<*/;
1842 }
1843 if (UNTAG_Bool(variable[11])) { /*if*/
1844 variable[12] = ((inheritance___MMLocalClass_____bra_t)CALL( variable[10] /*s*/,COLOR_abstractmetamodel___MMLocalClass_____bra))( variable[10] /*s*/, variable[5] /*g*/) /*MMLocalClass::[]*/;
1845 variable[11] = variable[12];
1846 variable[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[11] /*p*/ == NIT_NULL /*null*/) || (( variable[11] /*p*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[11] /*p*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*p*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[11] /*p*/,COLOR_kernel___Object_____eqeq))( variable[11] /*p*/, NIT_NULL /*null*/) /*Object::==*/)))))));
1847 if (UNTAG_Bool(variable[12])) { /*if*/
1848 variable[12] = ((compiling_base___MMLocalProperty___cname_t)CALL( variable[11] /*p*/,COLOR_compiling_base___MMLocalProperty___cname))( variable[11] /*p*/) /*MMLocalProperty::cname*/;
1849 variable[3] = variable[12];
1850 goto return_label59;
1851 }
1852 }
1853 }
1854 continue_60: while(0);
1855 ((array___ArrayIterator___next_t)CALL(variable[8],COLOR_abstract_collection___Iterator___next))(variable[8]) /*ArrayIterator::next*/;
1856 }
1857 break_60: while(0);
1858 if (!UNTAG_Bool( TAG_Bool(false))) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_global___TableEltSuperPos___compile_to_c, LOCATE_compiling_global, 611); nit_exit(1);}
1859 variable[3] = NIT_NULL /*null*/;
1860 goto return_label59;
1861 return_label59: while(false);
1862 tracehead = trace.prev;
1863 return variable[3];
1864 }
1865 val_t compiling_global___TableEltSuperPos___symbol(val_t self) {
1866 struct trace_t trace = {NULL, NULL, 592, LOCATE_compiling_global___TableEltSuperPos___symbol};
1867 val_t variable[3];
1868 void **closurevariable = NULL;
1869 trace.prev = tracehead; tracehead = &trace;
1870 trace.file = LOCATE_compiling_global;
1871 variable[0] = self;
1872 variable[2] = variable[0];
1873 variable[2] = ATTR_compiling_global___TableEltPropPos____property(variable[2]) /*TableEltPropPos::_property*/;
1874 variable[2] = ((compiling_base___MMLocalProperty___color_id_for_super_t)CALL(variable[2],COLOR_compiling_base___MMLocalProperty___color_id_for_super))(variable[2]) /*MMLocalProperty::color_id_for_super*/;
1875 variable[1] = variable[2];
1876 goto return_label61;
1877 return_label61: while(false);
1878 tracehead = trace.prev;
1879 return variable[1];
1880 }
1881 void compiling_global___TableEltSuperPos___init(val_t self, val_t param0, int* init_table) {
1882 struct trace_t trace = {NULL, NULL, 615, LOCATE_compiling_global___TableEltSuperPos___init};
1883 val_t variable[3];
1884 void **closurevariable = NULL;
1885 trace.prev = tracehead; tracehead = &trace;
1886 trace.file = LOCATE_compiling_global;
1887 variable[0] = self;
1888 variable[1] = param0;
1889 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TableEltSuperPos].i]) return;
1890 ((compiling_global___TableEltPropPos___init_t)CALL(variable[0],COLOR_compiling_global___TableEltPropPos___init))(variable[0], variable[1], init_table /*YYY*/) /*TableEltPropPos::init*/;
1891 return_label62: while(false);
1892 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TableEltSuperPos].i] = 1;
1893 tracehead = trace.prev;
1894 return;
1895 }
1896 val_t compiling_global___TableEltAttrPos___compile_to_c(val_t self, val_t param0, val_t param1) {
1897 struct trace_t trace = {NULL, NULL, 620, LOCATE_compiling_global___TableEltAttrPos___compile_to_c};
1898 val_t variable[19];
1899 void **closurevariable = NULL;
1900 trace.prev = tracehead; tracehead = &trace;
1901 trace.file = LOCATE_compiling_global;
1902 variable[0] = self;
1903 variable[1] = param0;
1904 variable[2] = param1;
1905 variable[5] = ((compiling_global___CompilerVisitor___global_analysis_t)CALL( variable[1] /*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis))( variable[1] /*v*/) /*CompilerVisitor::global_analysis*/;
1906 variable[4] = variable[5];
1907 variable[6] = variable[0];
1908 variable[6] = ATTR_compiling_global___TableEltPropPos____property(variable[6]) /*TableEltPropPos::_property*/;
1909 variable[6] = ((abstractmetamodel___MMLocalProperty___global_t)CALL(variable[6],COLOR_abstractmetamodel___MMLocalProperty___global))(variable[6]) /*MMLocalProperty::global*/;
1910 variable[6] = ((inheritance___MMLocalClass_____bra_t)CALL( variable[2] /*c*/,COLOR_abstractmetamodel___MMLocalClass_____bra))( variable[2] /*c*/, variable[6]) /*MMLocalClass::[]*/;
1911 variable[5] = variable[6];
1912 variable[6] = NEW_String_string___String___init(); /*new String*/
1913 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("/* "), TAG_Int(3)); /*new String*/
1914 variable[8] = variable[7];
1915 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[8]) /*String::append*/;
1916 variable[9] = variable[0];
1917 variable[9] = ((compiling_global___ColorContext___color_t)CALL( variable[4] /*ga*/,COLOR_compiling_global___ColorContext___color))( variable[4] /*ga*/, variable[9]) /*ColorContext::color*/;
1918 variable[10] = variable[9];
1919 variable[10] = ((string___String___to_s_t)CALL(variable[10],COLOR_string___Object___to_s))(variable[10]) /*String::to_s*/;
1920 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[10]) /*String::append*/;
1921 variable[11] = NEW_String_string___String___with_native(BOX_NativeString(": Attribute "), TAG_Int(12)); /*new String*/
1922 variable[12] = variable[11];
1923 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[12]) /*String::append*/;
1924 variable[13] = variable[2] /*c*/;
1925 variable[13] = ((string___String___to_s_t)CALL(variable[13],COLOR_string___Object___to_s))(variable[13]) /*String::to_s*/;
1926 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[13]) /*String::append*/;
1927 variable[14] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
1928 variable[15] = variable[14];
1929 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[15]) /*String::append*/;
1930 variable[16] = variable[5] /*p*/;
1931 variable[16] = ((string___String___to_s_t)CALL(variable[16],COLOR_string___Object___to_s))(variable[16]) /*String::to_s*/;
1932 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[16]) /*String::append*/;
1933 variable[17] = NEW_String_string___String___with_native(BOX_NativeString(" */"), TAG_Int(3)); /*new String*/
1934 variable[18] = variable[17];
1935 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[18]) /*String::append*/;
1936 variable[3] = variable[6];
1937 goto return_label63;
1938 return_label63: while(false);
1939 tracehead = trace.prev;
1940 return variable[3];
1941 }
1942 void compiling_global___TableEltAttrPos___init(val_t self, val_t param0, int* init_table) {
1943 struct trace_t trace = {NULL, NULL, 627, LOCATE_compiling_global___TableEltAttrPos___init};
1944 val_t variable[3];
1945 void **closurevariable = NULL;
1946 trace.prev = tracehead; tracehead = &trace;
1947 trace.file = LOCATE_compiling_global;
1948 variable[0] = self;
1949 variable[1] = param0;
1950 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TableEltAttrPos].i]) return;
1951 ((compiling_global___TableEltPropPos___init_t)CALL(variable[0],COLOR_compiling_global___TableEltPropPos___init))(variable[0], variable[1], init_table /*YYY*/) /*TableEltPropPos::init*/;
1952 return_label64: while(false);
1953 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TableEltAttrPos].i] = 1;
1954 tracehead = trace.prev;
1955 return;
1956 }
1957 val_t compiling_global___TableEltClassPos___is_related_to(val_t self, val_t param0) {
1958 struct trace_t trace = {NULL, NULL, 633, LOCATE_compiling_global___TableEltClassPos___is_related_to};
1959 val_t variable[6];
1960 void **closurevariable = NULL;
1961 trace.prev = tracehead; tracehead = &trace;
1962 trace.file = LOCATE_compiling_global;
1963 variable[0] = self;
1964 variable[1] = param0;
1965 variable[4] = ((abstractmetamodel___MMLocalClass___module_t)CALL( variable[1] /*c*/,COLOR_abstractmetamodel___MMLocalClass___module))( variable[1] /*c*/) /*MMLocalClass::module*/;
1966 variable[5] = variable[0];
1967 variable[5] = ATTR_compiling_global___TableEltClassPos____local_class(variable[5]) /*TableEltClassPos::_local_class*/;
1968 variable[5] = ((abstractmetamodel___MMLocalClass___global_t)CALL(variable[5],COLOR_abstractmetamodel___MMLocalClass___global))(variable[5]) /*MMLocalClass::global*/;
1969 variable[4] = ((abstractmetamodel___MMModule_____bra_t)CALL(variable[4],COLOR_abstractmetamodel___MMModule_____bra))(variable[4], variable[5]) /*MMModule::[]*/;
1970 variable[3] = variable[4];
1971 variable[4] = ((abstractmetamodel___MMLocalClass___cshe_t)CALL( variable[1] /*c*/,COLOR_abstractmetamodel___MMLocalClass___cshe))( variable[1] /*c*/) /*MMLocalClass::cshe*/;
1972 variable[4] = ((partial_order___PartialOrderElement_____leq_t)CALL(variable[4],COLOR_partial_order___PartialOrderElement_____leq))(variable[4], variable[3] /*bc*/) /*PartialOrderElement::<=*/;
1973 variable[2] = variable[4];
1974 goto return_label65;
1975 return_label65: while(false);
1976 tracehead = trace.prev;
1977 return variable[2];
1978 }
1979 void compiling_global___TableEltClassPos___init(val_t self, val_t param0, int* init_table) {
1980 struct trace_t trace = {NULL, NULL, 639, LOCATE_compiling_global___TableEltClassPos___init};
1981 val_t variable[4];
1982 void **closurevariable = NULL;
1983 trace.prev = tracehead; tracehead = &trace;
1984 trace.file = LOCATE_compiling_global;
1985 variable[0] = self;
1986 variable[1] = param0;
1987 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TableEltClassPos].i]) return;
1988 variable[3] = variable[0];
1989 ATTR_compiling_global___TableEltClassPos____local_class(variable[3]) /*TableEltClassPos::_local_class*/ = variable[1] /*c*/;
1990 return_label66: while(false);
1991 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TableEltClassPos].i] = 1;
1992 tracehead = trace.prev;
1993 return;
1994 }
1995 val_t compiling_global___TableEltClassIdPos___symbol(val_t self) {
1996 struct trace_t trace = {NULL, NULL, 647, LOCATE_compiling_global___TableEltClassIdPos___symbol};
1997 val_t variable[3];
1998 void **closurevariable = NULL;
1999 trace.prev = tracehead; tracehead = &trace;
2000 trace.file = LOCATE_compiling_global;
2001 variable[0] = self;
2002 variable[2] = variable[0];
2003 variable[2] = ATTR_compiling_global___TableEltClassPos____local_class(variable[2]) /*TableEltClassPos::_local_class*/;
2004 variable[2] = ((abstractmetamodel___MMLocalClass___global_t)CALL(variable[2],COLOR_abstractmetamodel___MMLocalClass___global))(variable[2]) /*MMLocalClass::global*/;
2005 variable[2] = ((compiling_base___MMGlobalClass___id_id_t)CALL(variable[2],COLOR_compiling_base___MMGlobalClass___id_id))(variable[2]) /*MMGlobalClass::id_id*/;
2006 variable[1] = variable[2];
2007 goto return_label67;
2008 return_label67: while(false);
2009 tracehead = trace.prev;
2010 return variable[1];
2011 }
2012 val_t compiling_global___TableEltClassIdPos___value(val_t self, val_t param0) {
2013 struct trace_t trace = {NULL, NULL, 648, LOCATE_compiling_global___TableEltClassIdPos___value};
2014 val_t variable[14];
2015 void **closurevariable = NULL;
2016 trace.prev = tracehead; tracehead = &trace;
2017 trace.file = LOCATE_compiling_global;
2018 variable[0] = self;
2019 variable[1] = param0;
2020 variable[3] = NEW_String_string___String___init(); /*new String*/
2021 variable[4] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2022 variable[5] = variable[4];
2023 ((string___String___append_t)CALL(variable[3],COLOR_abstract_collection___IndexedCollection___append))(variable[3], variable[5]) /*String::append*/;
2024 variable[6] = ((compiling_global___GlobalAnalysis___compiled_classes_t)CALL( variable[1] /*ga*/,COLOR_compiling_global___GlobalAnalysis___compiled_classes))( variable[1] /*ga*/) /*GlobalAnalysis::compiled_classes*/;
2025 variable[7] = variable[0];
2026 variable[7] = ATTR_compiling_global___TableEltClassPos____local_class(variable[7]) /*TableEltClassPos::_local_class*/;
2027 variable[7] = ((abstractmetamodel___MMLocalClass___global_t)CALL(variable[7],COLOR_abstractmetamodel___MMLocalClass___global))(variable[7]) /*MMLocalClass::global*/;
2028 variable[6] = ((abstract_collection___CoupleMap_____bra_t)CALL(variable[6],COLOR_abstract_collection___Map_____bra))(variable[6], variable[7]) /*CoupleMap::[]*/;
2029 variable[6] = ((compiling_global___CompiledClass___id_t)CALL(variable[6],COLOR_compiling_global___CompiledClass___id))(variable[6]) /*CompiledClass::id*/;
2030 variable[7] = variable[6];
2031 variable[7] = ((string___String___to_s_t)CALL(variable[7],COLOR_string___Object___to_s))(variable[7]) /*String::to_s*/;
2032 ((string___String___append_t)CALL(variable[3],COLOR_abstract_collection___IndexedCollection___append))(variable[3], variable[7]) /*String::append*/;
2033 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(" /* Id of "), TAG_Int(10)); /*new String*/
2034 variable[9] = variable[8];
2035 ((string___String___append_t)CALL(variable[3],COLOR_abstract_collection___IndexedCollection___append))(variable[3], variable[9]) /*String::append*/;
2036 variable[10] = variable[0];
2037 variable[10] = ATTR_compiling_global___TableEltClassPos____local_class(variable[10]) /*TableEltClassPos::_local_class*/;
2038 variable[11] = variable[10];
2039 variable[11] = ((string___String___to_s_t)CALL(variable[11],COLOR_string___Object___to_s))(variable[11]) /*String::to_s*/;
2040 ((string___String___append_t)CALL(variable[3],COLOR_abstract_collection___IndexedCollection___append))(variable[3], variable[11]) /*String::append*/;
2041 variable[12] = NEW_String_string___String___with_native(BOX_NativeString(" */"), TAG_Int(3)); /*new String*/
2042 variable[13] = variable[12];
2043 ((string___String___append_t)CALL(variable[3],COLOR_abstract_collection___IndexedCollection___append))(variable[3], variable[13]) /*String::append*/;
2044 variable[2] = variable[3];
2045 goto return_label68;
2046 return_label68: while(false);
2047 tracehead = trace.prev;
2048 return variable[2];
2049 }
2050 void compiling_global___TableEltClassIdPos___init(val_t self, val_t param0, int* init_table) {
2051 struct trace_t trace = {NULL, NULL, 653, LOCATE_compiling_global___TableEltClassIdPos___init};
2052 val_t variable[3];
2053 void **closurevariable = NULL;
2054 trace.prev = tracehead; tracehead = &trace;
2055 trace.file = LOCATE_compiling_global;
2056 variable[0] = self;
2057 variable[1] = param0;
2058 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TableEltClassIdPos].i]) return;
2059 ((compiling_global___TableEltClassPos___init_t)CALL(variable[0],COLOR_compiling_global___TableEltClassPos___init))(variable[0], variable[1], init_table /*YYY*/) /*TableEltClassPos::init*/;
2060 return_label69: while(false);
2061 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TableEltClassIdPos].i] = 1;
2062 tracehead = trace.prev;
2063 return;
2064 }
2065 val_t compiling_global___TableEltClassInitTablePos___compile_to_c(val_t self, val_t param0, val_t param1) {
2066 struct trace_t trace = {NULL, NULL, 663, LOCATE_compiling_global___TableEltClassInitTablePos___compile_to_c};
2067 val_t variable[25];
2068 void **closurevariable = NULL;
2069 trace.prev = tracehead; tracehead = &trace;
2070 trace.file = LOCATE_compiling_global;
2071 variable[0] = self;
2072 variable[1] = param0;
2073 variable[2] = param1;
2074 variable[5] = ((compiling_global___CompilerVisitor___global_analysis_t)CALL( variable[1] /*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis))( variable[1] /*v*/) /*CompilerVisitor::global_analysis*/;
2075 variable[4] = variable[5];
2076 variable[6] = ((compiling_global___GlobalAnalysis___compiled_classes_t)CALL( variable[4] /*ga*/,COLOR_compiling_global___GlobalAnalysis___compiled_classes))( variable[4] /*ga*/) /*GlobalAnalysis::compiled_classes*/;
2077 variable[7] = variable[0];
2078 variable[7] = ATTR_compiling_global___TableEltClassPos____local_class(variable[7]) /*TableEltClassPos::_local_class*/;
2079 variable[7] = ((abstractmetamodel___MMLocalClass___global_t)CALL(variable[7],COLOR_abstractmetamodel___MMLocalClass___global))(variable[7]) /*MMLocalClass::global*/;
2080 variable[6] = ((abstract_collection___CoupleMap_____bra_t)CALL(variable[6],COLOR_abstract_collection___Map_____bra))(variable[6], variable[7]) /*CoupleMap::[]*/;
2081 variable[5] = variable[6];
2082 variable[7] = ((abstractmetamodel___MMLocalClass___cshe_t)CALL( variable[2] /*c*/,COLOR_abstractmetamodel___MMLocalClass___cshe))( variable[2] /*c*/) /*MMLocalClass::cshe*/;
2083 variable[7] = ((partial_order___PartialOrderElement___reverse_linear_extension_t)CALL(variable[7],COLOR_partial_order___PartialOrderElement___reverse_linear_extension))(variable[7]) /*PartialOrderElement::reverse_linear_extension*/;
2084 variable[6] = variable[7];
2085 variable[7] = TAG_Int(0);
2086 while (true) { /*while*/
2087 variable[8] = variable[6] /*linext*/;
2088 variable[9] = variable[7] /*i*/;
2089 variable[11] = TAG_Bool(UNTAG_Int( variable[9] /*index*/)>=UNTAG_Int( TAG_Int(0)));
2090 variable[12] = variable[11];
2091 if (UNTAG_Bool(variable[12])) { /* and */
2092 variable[12] = variable[8];
2093 variable[12] = ATTR_array___AbstractArray____length(variable[12]) /*AbstractArray::_length*/;
2094 variable[12] = TAG_Bool(UNTAG_Int( variable[9] /*index*/)<UNTAG_Int(variable[12]));
2095 }
2096 variable[11] = variable[12];
2097 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_global, 229); nit_exit(1);}
2098 variable[11] = variable[8];
2099 variable[11] = ATTR_array___Array____items(variable[11]) /*Array::_items*/;
2100 variable[11] = UNBOX_NativeArray(variable[11])[UNTAG_Int( variable[9] /*index*/)];
2101 variable[10] = variable[11];
2102 goto return_label72;
2103 return_label72: while(false);
2104 variable[8] = variable[10];
2105 variable[8] = ((abstractmetamodel___MMLocalClass___global_t)CALL(variable[8],COLOR_abstractmetamodel___MMLocalClass___global))(variable[8]) /*MMLocalClass::global*/;
2106 variable[9] = variable[0];
2107 variable[9] = ATTR_compiling_global___TableEltClassPos____local_class(variable[9]) /*TableEltClassPos::_local_class*/;
2108 variable[9] = ((abstractmetamodel___MMLocalClass___global_t)CALL(variable[9],COLOR_abstractmetamodel___MMLocalClass___global))(variable[9]) /*MMLocalClass::global*/;
2109 variable[8] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[8] == variable[9]) || ((variable[8] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[8],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[8],variable[9])):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[8],COLOR_kernel___Object_____eqeq))(variable[8], variable[9]) /*Object::==*/)))))));
2110 if (!UNTAG_Bool(variable[8])) break; /* while*/
2111 variable[7] = TAG_Int(UNTAG_Int(variable[7])+UNTAG_Int( TAG_Int(1))) /*i*/;
2112 continue_71: while(0);
2113 }
2114 break_71: while(0);
2115 variable[8] = NEW_String_string___String___init(); /*new String*/
2116 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2117 variable[10] = variable[9];
2118 ((string___String___append_t)CALL(variable[8],COLOR_abstract_collection___IndexedCollection___append))(variable[8], variable[10]) /*String::append*/;
2119 variable[11] = variable[7] /*i*/;
2120 variable[11] = ((string___String___to_s_t)CALL(variable[11],COLOR_string___Object___to_s))(variable[11]) /*String::to_s*/;
2121 ((string___String___append_t)CALL(variable[8],COLOR_abstract_collection___IndexedCollection___append))(variable[8], variable[11]) /*String::append*/;
2122 variable[12] = NEW_String_string___String___with_native(BOX_NativeString(" /* "), TAG_Int(4)); /*new String*/
2123 variable[13] = variable[12];
2124 ((string___String___append_t)CALL(variable[8],COLOR_abstract_collection___IndexedCollection___append))(variable[8], variable[13]) /*String::append*/;
2125 variable[14] = variable[0];
2126 variable[14] = ((compiling_global___ColorContext___color_t)CALL( variable[4] /*ga*/,COLOR_compiling_global___ColorContext___color))( variable[4] /*ga*/, variable[14]) /*ColorContext::color*/;
2127 variable[15] = variable[14];
2128 variable[15] = ((string___String___to_s_t)CALL(variable[15],COLOR_string___Object___to_s))(variable[15]) /*String::to_s*/;
2129 ((string___String___append_t)CALL(variable[8],COLOR_abstract_collection___IndexedCollection___append))(variable[8], variable[15]) /*String::append*/;
2130 variable[16] = NEW_String_string___String___with_native(BOX_NativeString(": "), TAG_Int(2)); /*new String*/
2131 variable[17] = variable[16];
2132 ((string___String___append_t)CALL(variable[8],COLOR_abstract_collection___IndexedCollection___append))(variable[8], variable[17]) /*String::append*/;
2133 variable[18] = variable[2] /*c*/;
2134 variable[18] = ((string___String___to_s_t)CALL(variable[18],COLOR_string___Object___to_s))(variable[18]) /*String::to_s*/;
2135 ((string___String___append_t)CALL(variable[8],COLOR_abstract_collection___IndexedCollection___append))(variable[8], variable[18]) /*String::append*/;
2136 variable[19] = NEW_String_string___String___with_native(BOX_NativeString(" < "), TAG_Int(3)); /*new String*/
2137 variable[20] = variable[19];
2138 ((string___String___append_t)CALL(variable[8],COLOR_abstract_collection___IndexedCollection___append))(variable[8], variable[20]) /*String::append*/;
2139 variable[21] = ((compiling_global___CompiledClass___local_class_t)CALL( variable[5] /*cc*/,COLOR_compiling_global___CompiledClass___local_class))( variable[5] /*cc*/) /*CompiledClass::local_class*/;
2140 variable[22] = variable[21];
2141 variable[22] = ((string___String___to_s_t)CALL(variable[22],COLOR_string___Object___to_s))(variable[22]) /*String::to_s*/;
2142 ((string___String___append_t)CALL(variable[8],COLOR_abstract_collection___IndexedCollection___append))(variable[8], variable[22]) /*String::append*/;
2143 variable[23] = NEW_String_string___String___with_native(BOX_NativeString(": superclass init_table position */"), TAG_Int(35)); /*new String*/
2144 variable[24] = variable[23];
2145 ((string___String___append_t)CALL(variable[8],COLOR_abstract_collection___IndexedCollection___append))(variable[8], variable[24]) /*String::append*/;
2146 variable[3] = variable[8];
2147 goto return_label70;
2148 return_label70: while(false);
2149 tracehead = trace.prev;
2150 return variable[3];
2151 }
2152 val_t compiling_global___TableEltClassInitTablePos___symbol(val_t self) {
2153 struct trace_t trace = {NULL, NULL, 658, LOCATE_compiling_global___TableEltClassInitTablePos___symbol};
2154 val_t variable[3];
2155 void **closurevariable = NULL;
2156 trace.prev = tracehead; tracehead = &trace;
2157 trace.file = LOCATE_compiling_global;
2158 variable[0] = self;
2159 variable[2] = variable[0];
2160 variable[2] = ATTR_compiling_global___TableEltClassPos____local_class(variable[2]) /*TableEltClassPos::_local_class*/;
2161 variable[2] = ((abstractmetamodel___MMLocalClass___global_t)CALL(variable[2],COLOR_abstractmetamodel___MMLocalClass___global))(variable[2]) /*MMLocalClass::global*/;
2162 variable[2] = ((compiling_base___MMGlobalClass___init_table_pos_id_t)CALL(variable[2],COLOR_compiling_base___MMGlobalClass___init_table_pos_id))(variable[2]) /*MMGlobalClass::init_table_pos_id*/;
2163 variable[1] = variable[2];
2164 goto return_label73;
2165 return_label73: while(false);
2166 tracehead = trace.prev;
2167 return variable[1];
2168 }
2169 val_t compiling_global___TableEltClassInitTablePos___value(val_t self, val_t param0) {
2170 struct trace_t trace = {NULL, NULL, 659, LOCATE_compiling_global___TableEltClassInitTablePos___value};
2171 val_t variable[14];
2172 void **closurevariable = NULL;
2173 trace.prev = tracehead; tracehead = &trace;
2174 trace.file = LOCATE_compiling_global;
2175 variable[0] = self;
2176 variable[1] = param0;
2177 variable[3] = NEW_String_string___String___init(); /*new String*/
2178 variable[4] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2179 variable[5] = variable[4];
2180 ((string___String___append_t)CALL(variable[3],COLOR_abstract_collection___IndexedCollection___append))(variable[3], variable[5]) /*String::append*/;
2181 variable[6] = variable[0];
2182 variable[6] = ((compiling_global___ColorContext___color_t)CALL( variable[1] /*ga*/,COLOR_compiling_global___ColorContext___color))( variable[1] /*ga*/, variable[6]) /*ColorContext::color*/;
2183 variable[7] = variable[6];
2184 variable[7] = ((string___String___to_s_t)CALL(variable[7],COLOR_string___Object___to_s))(variable[7]) /*String::to_s*/;
2185 ((string___String___append_t)CALL(variable[3],COLOR_abstract_collection___IndexedCollection___append))(variable[3], variable[7]) /*String::append*/;
2186 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(" /* Color of "), TAG_Int(13)); /*new String*/
2187 variable[9] = variable[8];
2188 ((string___String___append_t)CALL(variable[3],COLOR_abstract_collection___IndexedCollection___append))(variable[3], variable[9]) /*String::append*/;
2189 variable[10] = variable[0];
2190 variable[10] = ATTR_compiling_global___TableEltClassPos____local_class(variable[10]) /*TableEltClassPos::_local_class*/;
2191 variable[11] = variable[10];
2192 variable[11] = ((string___String___to_s_t)CALL(variable[11],COLOR_string___Object___to_s))(variable[11]) /*String::to_s*/;
2193 ((string___String___append_t)CALL(variable[3],COLOR_abstract_collection___IndexedCollection___append))(variable[3], variable[11]) /*String::append*/;
2194 variable[12] = NEW_String_string___String___with_native(BOX_NativeString(" */"), TAG_Int(3)); /*new String*/
2195 variable[13] = variable[12];
2196 ((string___String___append_t)CALL(variable[3],COLOR_abstract_collection___IndexedCollection___append))(variable[3], variable[13]) /*String::append*/;
2197 variable[2] = variable[3];
2198 goto return_label74;
2199 return_label74: while(false);
2200 tracehead = trace.prev;
2201 return variable[2];
2202 }
2203 void compiling_global___TableEltClassInitTablePos___init(val_t self, val_t param0, int* init_table) {
2204 struct trace_t trace = {NULL, NULL, 675, LOCATE_compiling_global___TableEltClassInitTablePos___init};
2205 val_t variable[3];
2206 void **closurevariable = NULL;
2207 trace.prev = tracehead; tracehead = &trace;
2208 trace.file = LOCATE_compiling_global;
2209 variable[0] = self;
2210 variable[1] = param0;
2211 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TableEltClassInitTablePos].i]) return;
2212 ((compiling_global___TableEltClassPos___init_t)CALL(variable[0],COLOR_compiling_global___TableEltClassPos___init))(variable[0], variable[1], init_table /*YYY*/) /*TableEltClassPos::init*/;
2213 return_label75: while(false);
2214 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TableEltClassInitTablePos].i] = 1;
2215 tracehead = trace.prev;
2216 return;
2217 }
2218 val_t compiling_global___TableEltClassColorPos___compile_to_c(val_t self, val_t param0, val_t param1) {
2219 struct trace_t trace = {NULL, NULL, 685, LOCATE_compiling_global___TableEltClassColorPos___compile_to_c};
2220 val_t variable[24];
2221 void **closurevariable = NULL;
2222 trace.prev = tracehead; tracehead = &trace;
2223 trace.file = LOCATE_compiling_global;
2224 variable[0] = self;
2225 variable[1] = param0;
2226 variable[2] = param1;
2227 variable[5] = ((compiling_global___CompilerVisitor___global_analysis_t)CALL( variable[1] /*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis))( variable[1] /*v*/) /*CompilerVisitor::global_analysis*/;
2228 variable[4] = variable[5];
2229 variable[6] = ((compiling_global___GlobalAnalysis___compiled_classes_t)CALL( variable[4] /*ga*/,COLOR_compiling_global___GlobalAnalysis___compiled_classes))( variable[4] /*ga*/) /*GlobalAnalysis::compiled_classes*/;
2230 variable[7] = variable[0];
2231 variable[7] = ATTR_compiling_global___TableEltClassPos____local_class(variable[7]) /*TableEltClassPos::_local_class*/;
2232 variable[7] = ((abstractmetamodel___MMLocalClass___global_t)CALL(variable[7],COLOR_abstractmetamodel___MMLocalClass___global))(variable[7]) /*MMLocalClass::global*/;
2233 variable[6] = ((abstract_collection___CoupleMap_____bra_t)CALL(variable[6],COLOR_abstract_collection___Map_____bra))(variable[6], variable[7]) /*CoupleMap::[]*/;
2234 variable[5] = variable[6];
2235 variable[6] = NEW_String_string___String___init(); /*new String*/
2236 variable[7] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2237 variable[8] = variable[7];
2238 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[8]) /*String::append*/;
2239 variable[9] = ((compiling_global___CompiledClass___id_t)CALL( variable[5] /*cc*/,COLOR_compiling_global___CompiledClass___id))( variable[5] /*cc*/) /*CompiledClass::id*/;
2240 variable[10] = variable[9];
2241 variable[10] = ((string___String___to_s_t)CALL(variable[10],COLOR_string___Object___to_s))(variable[10]) /*String::to_s*/;
2242 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[10]) /*String::append*/;
2243 variable[11] = NEW_String_string___String___with_native(BOX_NativeString(" /* "), TAG_Int(4)); /*new String*/
2244 variable[12] = variable[11];
2245 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[12]) /*String::append*/;
2246 variable[13] = variable[0];
2247 variable[13] = ((compiling_global___ColorContext___color_t)CALL( variable[4] /*ga*/,COLOR_compiling_global___ColorContext___color))( variable[4] /*ga*/, variable[13]) /*ColorContext::color*/;
2248 variable[14] = variable[13];
2249 variable[14] = ((string___String___to_s_t)CALL(variable[14],COLOR_string___Object___to_s))(variable[14]) /*String::to_s*/;
2250 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[14]) /*String::append*/;
2251 variable[15] = NEW_String_string___String___with_native(BOX_NativeString(": "), TAG_Int(2)); /*new String*/
2252 variable[16] = variable[15];
2253 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[16]) /*String::append*/;
2254 variable[17] = variable[2] /*c*/;
2255 variable[17] = ((string___String___to_s_t)CALL(variable[17],COLOR_string___Object___to_s))(variable[17]) /*String::to_s*/;
2256 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[17]) /*String::append*/;
2257 variable[18] = NEW_String_string___String___with_native(BOX_NativeString(" < "), TAG_Int(3)); /*new String*/
2258 variable[19] = variable[18];
2259 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[19]) /*String::append*/;
2260 variable[20] = ((compiling_global___CompiledClass___local_class_t)CALL( variable[5] /*cc*/,COLOR_compiling_global___CompiledClass___local_class))( variable[5] /*cc*/) /*CompiledClass::local_class*/;
2261 variable[21] = variable[20];
2262 variable[21] = ((string___String___to_s_t)CALL(variable[21],COLOR_string___Object___to_s))(variable[21]) /*String::to_s*/;
2263 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[21]) /*String::append*/;
2264 variable[22] = NEW_String_string___String___with_native(BOX_NativeString(": superclass typecheck marker */"), TAG_Int(32)); /*new String*/
2265 variable[23] = variable[22];
2266 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[23]) /*String::append*/;
2267 variable[3] = variable[6];
2268 goto return_label76;
2269 return_label76: while(false);
2270 tracehead = trace.prev;
2271 return variable[3];
2272 }
2273 val_t compiling_global___TableEltClassColorPos___symbol(val_t self) {
2274 struct trace_t trace = {NULL, NULL, 680, LOCATE_compiling_global___TableEltClassColorPos___symbol};
2275 val_t variable[3];
2276 void **closurevariable = NULL;
2277 trace.prev = tracehead; tracehead = &trace;
2278 trace.file = LOCATE_compiling_global;
2279 variable[0] = self;
2280 variable[2] = variable[0];
2281 variable[2] = ATTR_compiling_global___TableEltClassPos____local_class(variable[2]) /*TableEltClassPos::_local_class*/;
2282 variable[2] = ((abstractmetamodel___MMLocalClass___global_t)CALL(variable[2],COLOR_abstractmetamodel___MMLocalClass___global))(variable[2]) /*MMLocalClass::global*/;
2283 variable[2] = ((compiling_base___MMGlobalClass___color_id_t)CALL(variable[2],COLOR_compiling_base___MMGlobalClass___color_id))(variable[2]) /*MMGlobalClass::color_id*/;
2284 variable[1] = variable[2];
2285 goto return_label77;
2286 return_label77: while(false);
2287 tracehead = trace.prev;
2288 return variable[1];
2289 }
2290 val_t compiling_global___TableEltClassColorPos___value(val_t self, val_t param0) {
2291 struct trace_t trace = {NULL, NULL, 681, LOCATE_compiling_global___TableEltClassColorPos___value};
2292 val_t variable[14];
2293 void **closurevariable = NULL;
2294 trace.prev = tracehead; tracehead = &trace;
2295 trace.file = LOCATE_compiling_global;
2296 variable[0] = self;
2297 variable[1] = param0;
2298 variable[3] = NEW_String_string___String___init(); /*new String*/
2299 variable[4] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2300 variable[5] = variable[4];
2301 ((string___String___append_t)CALL(variable[3],COLOR_abstract_collection___IndexedCollection___append))(variable[3], variable[5]) /*String::append*/;
2302 variable[6] = variable[0];
2303 variable[6] = ((compiling_global___ColorContext___color_t)CALL( variable[1] /*ga*/,COLOR_compiling_global___ColorContext___color))( variable[1] /*ga*/, variable[6]) /*ColorContext::color*/;
2304 variable[7] = variable[6];
2305 variable[7] = ((string___String___to_s_t)CALL(variable[7],COLOR_string___Object___to_s))(variable[7]) /*String::to_s*/;
2306 ((string___String___append_t)CALL(variable[3],COLOR_abstract_collection___IndexedCollection___append))(variable[3], variable[7]) /*String::append*/;
2307 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(" /* Color of "), TAG_Int(13)); /*new String*/
2308 variable[9] = variable[8];
2309 ((string___String___append_t)CALL(variable[3],COLOR_abstract_collection___IndexedCollection___append))(variable[3], variable[9]) /*String::append*/;
2310 variable[10] = variable[0];
2311 variable[10] = ATTR_compiling_global___TableEltClassPos____local_class(variable[10]) /*TableEltClassPos::_local_class*/;
2312 variable[11] = variable[10];
2313 variable[11] = ((string___String___to_s_t)CALL(variable[11],COLOR_string___Object___to_s))(variable[11]) /*String::to_s*/;
2314 ((string___String___append_t)CALL(variable[3],COLOR_abstract_collection___IndexedCollection___append))(variable[3], variable[11]) /*String::append*/;
2315 variable[12] = NEW_String_string___String___with_native(BOX_NativeString(" */"), TAG_Int(3)); /*new String*/
2316 variable[13] = variable[12];
2317 ((string___String___append_t)CALL(variable[3],COLOR_abstract_collection___IndexedCollection___append))(variable[3], variable[13]) /*String::append*/;
2318 variable[2] = variable[3];
2319 goto return_label78;
2320 return_label78: while(false);
2321 tracehead = trace.prev;
2322 return variable[2];
2323 }
2324 void compiling_global___TableEltClassColorPos___init(val_t self, val_t param0, int* init_table) {
2325 struct trace_t trace = {NULL, NULL, 692, LOCATE_compiling_global___TableEltClassColorPos___init};
2326 val_t variable[3];
2327 void **closurevariable = NULL;
2328 trace.prev = tracehead; tracehead = &trace;
2329 trace.file = LOCATE_compiling_global;
2330 variable[0] = self;
2331 variable[1] = param0;
2332 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TableEltClassColorPos].i]) return;
2333 ((compiling_global___TableEltClassPos___init_t)CALL(variable[0],COLOR_compiling_global___TableEltClassPos___init))(variable[0], variable[1], init_table /*YYY*/) /*TableEltClassPos::init*/;
2334 return_label79: while(false);
2335 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TableEltClassColorPos].i] = 1;
2336 tracehead = trace.prev;
2337 return;
2338 }
2339 val_t compiling_global___TableEltBaseAttrPos___compile_to_c(val_t self, val_t param0, val_t param1) {
2340 struct trace_t trace = {NULL, NULL, 704, LOCATE_compiling_global___TableEltBaseAttrPos___compile_to_c};
2341 val_t variable[28];
2342 void **closurevariable = NULL;
2343 trace.prev = tracehead; tracehead = &trace;
2344 trace.file = LOCATE_compiling_global;
2345 variable[0] = self;
2346 variable[1] = param0;
2347 variable[2] = param1;
2348 variable[5] = ((compiling_global___CompilerVisitor___global_analysis_t)CALL( variable[1] /*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis))( variable[1] /*v*/) /*CompilerVisitor::global_analysis*/;
2349 variable[4] = variable[5];
2350 variable[6] = ((compiling_global___GlobalAnalysis___compiled_classes_t)CALL( variable[4] /*ga*/,COLOR_compiling_global___GlobalAnalysis___compiled_classes))( variable[4] /*ga*/) /*GlobalAnalysis::compiled_classes*/;
2351 variable[7] = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable[2] /*c*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable[2] /*c*/) /*MMLocalClass::global*/;
2352 variable[6] = ((abstract_collection___CoupleMap_____bra_t)CALL(variable[6],COLOR_abstract_collection___Map_____bra))(variable[6], variable[7]) /*CoupleMap::[]*/;
2353 variable[5] = variable[6];
2354 variable[6] = NEW_String_string___String___init(); /*new String*/
2355 variable[7] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2356 variable[8] = variable[7];
2357 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[8]) /*String::append*/;
2358 variable[9] = variable[0];
2359 variable[9] = ATTR_compiling_global___TableEltBaseAttrPos____local_class(variable[9]) /*TableEltBaseAttrPos::_local_class*/;
2360 variable[9] = ((compiling_global___MMSrcLocalClass___instance_layout_t)CALL(variable[9],COLOR_compiling_global___MMSrcLocalClass___instance_layout))(variable[9]) /*MMSrcLocalClass::instance_layout*/;
2361 variable[9] = ((abstract_collection___IndexedCollection___first_t)CALL(variable[9],COLOR_abstract_collection___Collection___first))(variable[9]) /*IndexedCollection::first*/;
2362 variable[9] = ((compiling_global___ColorContext___color_t)CALL( variable[5] /*cc*/,COLOR_compiling_global___ColorContext___color))( variable[5] /*cc*/, variable[9]) /*ColorContext::color*/;
2363 variable[10] = variable[9];
2364 variable[10] = ((string___String___to_s_t)CALL(variable[10],COLOR_string___Object___to_s))(variable[10]) /*String::to_s*/;
2365 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[10]) /*String::append*/;
2366 variable[11] = NEW_String_string___String___with_native(BOX_NativeString(" /* "), TAG_Int(4)); /*new String*/
2367 variable[12] = variable[11];
2368 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[12]) /*String::append*/;
2369 variable[13] = variable[0];
2370 variable[13] = ((compiling_global___ColorContext___color_t)CALL( variable[4] /*ga*/,COLOR_compiling_global___ColorContext___color))( variable[4] /*ga*/, variable[13]) /*ColorContext::color*/;
2371 variable[14] = variable[13];
2372 variable[14] = ((string___String___to_s_t)CALL(variable[14],COLOR_string___Object___to_s))(variable[14]) /*String::to_s*/;
2373 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[14]) /*String::append*/;
2374 variable[15] = NEW_String_string___String___with_native(BOX_NativeString(": Base attribut offset of "), TAG_Int(26)); /*new String*/
2375 variable[16] = variable[15];
2376 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[16]) /*String::append*/;
2377 variable[17] = variable[0];
2378 variable[17] = ATTR_compiling_global___TableEltBaseAttrPos____local_class(variable[17]) /*TableEltBaseAttrPos::_local_class*/;
2379 variable[17] = ((abstractmetamodel___MMLocalClass___module_t)CALL(variable[17],COLOR_abstractmetamodel___MMLocalClass___module))(variable[17]) /*MMLocalClass::module*/;
2380 variable[18] = variable[17];
2381 variable[18] = ((string___String___to_s_t)CALL(variable[18],COLOR_string___Object___to_s))(variable[18]) /*String::to_s*/;
2382 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[18]) /*String::append*/;
2383 variable[19] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
2384 variable[20] = variable[19];
2385 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[20]) /*String::append*/;
2386 variable[21] = variable[0];
2387 variable[21] = ATTR_compiling_global___TableEltBaseAttrPos____local_class(variable[21]) /*TableEltBaseAttrPos::_local_class*/;
2388 variable[22] = variable[21];
2389 variable[22] = ((string___String___to_s_t)CALL(variable[22],COLOR_string___Object___to_s))(variable[22]) /*String::to_s*/;
2390 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[22]) /*String::append*/;
2391 variable[23] = NEW_String_string___String___with_native(BOX_NativeString(" in "), TAG_Int(4)); /*new String*/
2392 variable[24] = variable[23];
2393 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[24]) /*String::append*/;
2394 variable[25] = variable[2] /*c*/;
2395 variable[25] = ((string___String___to_s_t)CALL(variable[25],COLOR_string___Object___to_s))(variable[25]) /*String::to_s*/;
2396 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[25]) /*String::append*/;
2397 variable[26] = NEW_String_string___String___with_native(BOX_NativeString(" */"), TAG_Int(3)); /*new String*/
2398 variable[27] = variable[26];
2399 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[27]) /*String::append*/;
2400 variable[3] = variable[6];
2401 goto return_label80;
2402 return_label80: while(false);
2403 tracehead = trace.prev;
2404 return variable[3];
2405 }
2406 val_t compiling_global___TableEltBaseAttrPos___symbol(val_t self) {
2407 struct trace_t trace = {NULL, NULL, 698, LOCATE_compiling_global___TableEltBaseAttrPos___symbol};
2408 val_t variable[13];
2409 void **closurevariable = NULL;
2410 trace.prev = tracehead; tracehead = &trace;
2411 trace.file = LOCATE_compiling_global;
2412 variable[0] = self;
2413 variable[2] = NEW_String_string___String___init(); /*new String*/
2414 variable[3] = NEW_String_string___String___with_native(BOX_NativeString("COLOR_"), TAG_Int(6)); /*new String*/
2415 variable[4] = variable[3];
2416 ((string___String___append_t)CALL(variable[2],COLOR_abstract_collection___IndexedCollection___append))(variable[2], variable[4]) /*String::append*/;
2417 variable[5] = variable[0];
2418 variable[5] = ATTR_compiling_global___TableEltBaseAttrPos____local_class(variable[5]) /*TableEltBaseAttrPos::_local_class*/;
2419 variable[5] = ((abstractmetamodel___MMLocalClass___module_t)CALL(variable[5],COLOR_abstractmetamodel___MMLocalClass___module))(variable[5]) /*MMLocalClass::module*/;
2420 variable[6] = variable[5];
2421 variable[6] = ((string___String___to_s_t)CALL(variable[6],COLOR_string___Object___to_s))(variable[6]) /*String::to_s*/;
2422 ((string___String___append_t)CALL(variable[2],COLOR_abstract_collection___IndexedCollection___append))(variable[2], variable[6]) /*String::append*/;
2423 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
2424 variable[8] = variable[7];
2425 ((string___String___append_t)CALL(variable[2],COLOR_abstract_collection___IndexedCollection___append))(variable[2], variable[8]) /*String::append*/;
2426 variable[9] = variable[0];
2427 variable[9] = ATTR_compiling_global___TableEltBaseAttrPos____local_class(variable[9]) /*TableEltBaseAttrPos::_local_class*/;
2428 variable[9] = ((abstractmetamodel___MMLocalClass___name_t)CALL(variable[9],COLOR_abstractmetamodel___MMLocalClass___name))(variable[9]) /*MMLocalClass::name*/;
2429 variable[10] = variable[9];
2430 variable[10] = ((string___String___to_s_t)CALL(variable[10],COLOR_string___Object___to_s))(variable[10]) /*String::to_s*/;
2431 ((string___String___append_t)CALL(variable[2],COLOR_abstract_collection___IndexedCollection___append))(variable[2], variable[10]) /*String::append*/;
2432 variable[11] = NEW_String_string___String___with_native(BOX_NativeString("_BASEATTR"), TAG_Int(9)); /*new String*/
2433 variable[12] = variable[11];
2434 ((string___String___append_t)CALL(variable[2],COLOR_abstract_collection___IndexedCollection___append))(variable[2], variable[12]) /*String::append*/;
2435 variable[1] = variable[2];
2436 goto return_label81;
2437 return_label81: while(false);
2438 tracehead = trace.prev;
2439 return variable[1];
2440 }
2441 val_t compiling_global___TableEltBaseAttrPos___value(val_t self, val_t param0) {
2442 struct trace_t trace = {NULL, NULL, 699, LOCATE_compiling_global___TableEltBaseAttrPos___value};
2443 val_t variable[14];
2444 void **closurevariable = NULL;
2445 trace.prev = tracehead; tracehead = &trace;
2446 trace.file = LOCATE_compiling_global;
2447 variable[0] = self;
2448 variable[1] = param0;
2449 variable[3] = NEW_String_string___String___init(); /*new String*/
2450 variable[4] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2451 variable[5] = variable[4];
2452 ((string___String___append_t)CALL(variable[3],COLOR_abstract_collection___IndexedCollection___append))(variable[3], variable[5]) /*String::append*/;
2453 variable[6] = variable[0];
2454 variable[6] = ((compiling_global___ColorContext___color_t)CALL( variable[1] /*ga*/,COLOR_compiling_global___ColorContext___color))( variable[1] /*ga*/, variable[6]) /*ColorContext::color*/;
2455 variable[7] = variable[6];
2456 variable[7] = ((string___String___to_s_t)CALL(variable[7],COLOR_string___Object___to_s))(variable[7]) /*String::to_s*/;
2457 ((string___String___append_t)CALL(variable[3],COLOR_abstract_collection___IndexedCollection___append))(variable[3], variable[7]) /*String::append*/;
2458 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(" /* BaseAttrPos of "), TAG_Int(19)); /*new String*/
2459 variable[9] = variable[8];
2460 ((string___String___append_t)CALL(variable[3],COLOR_abstract_collection___IndexedCollection___append))(variable[3], variable[9]) /*String::append*/;
2461 variable[10] = variable[0];
2462 variable[10] = ATTR_compiling_global___TableEltBaseAttrPos____local_class(variable[10]) /*TableEltBaseAttrPos::_local_class*/;
2463 variable[11] = variable[10];
2464 variable[11] = ((string___String___to_s_t)CALL(variable[11],COLOR_string___Object___to_s))(variable[11]) /*String::to_s*/;
2465 ((string___String___append_t)CALL(variable[3],COLOR_abstract_collection___IndexedCollection___append))(variable[3], variable[11]) /*String::append*/;
2466 variable[12] = NEW_String_string___String___with_native(BOX_NativeString(" */"), TAG_Int(3)); /*new String*/
2467 variable[13] = variable[12];
2468 ((string___String___append_t)CALL(variable[3],COLOR_abstract_collection___IndexedCollection___append))(variable[3], variable[13]) /*String::append*/;
2469 variable[2] = variable[3];
2470 goto return_label82;
2471 return_label82: while(false);
2472 tracehead = trace.prev;
2473 return variable[2];
2474 }
2475 void compiling_global___TableEltBaseAttrPos___init(val_t self, val_t param0, int* init_table) {
2476 struct trace_t trace = {NULL, NULL, 711, LOCATE_compiling_global___TableEltBaseAttrPos___init};
2477 val_t variable[4];
2478 void **closurevariable = NULL;
2479 trace.prev = tracehead; tracehead = &trace;
2480 trace.file = LOCATE_compiling_global;
2481 variable[0] = self;
2482 variable[1] = param0;
2483 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TableEltBaseAttrPos].i]) return;
2484 variable[3] = variable[0];
2485 ATTR_compiling_global___TableEltBaseAttrPos____local_class(variable[3]) /*TableEltBaseAttrPos::_local_class*/ = variable[1] /*c*/;
2486 return_label83: while(false);
2487 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TableEltBaseAttrPos].i] = 1;
2488 tracehead = trace.prev;
2489 return;
2490 }
2491 val_t compiling_global___TableEltComposite___is_related_to(val_t self, val_t param0) {
2492 struct trace_t trace = {NULL, NULL, 723, LOCATE_compiling_global___TableEltComposite___is_related_to};
2493 val_t variable[5];
2494 void **closurevariable = NULL;
2495 trace.prev = tracehead; tracehead = &trace;
2496 trace.file = LOCATE_compiling_global;
2497 variable[0] = self;
2498 variable[1] = param0;
2499 variable[3] = ((abstractmetamodel___MMLocalClass___cshe_t)CALL( variable[1] /*c*/,COLOR_abstractmetamodel___MMLocalClass___cshe))( variable[1] /*c*/) /*MMLocalClass::cshe*/;
2500 variable[4] = variable[0];
2501 variable[4] = ATTR_compiling_global___TableEltComposite____cc(variable[4]) /*TableEltComposite::_cc*/;
2502 variable[4] = ((compiling_global___CompiledClass___local_class_t)CALL(variable[4],COLOR_compiling_global___CompiledClass___local_class))(variable[4]) /*CompiledClass::local_class*/;
2503 variable[3] = ((partial_order___PartialOrderElement_____leq_t)CALL(variable[3],COLOR_partial_order___PartialOrderElement_____leq))(variable[3], variable[4]) /*PartialOrderElement::<=*/;
2504 variable[2] = variable[3];
2505 goto return_label84;
2506 return_label84: while(false);
2507 tracehead = trace.prev;
2508 return variable[2];
2509 }
2510 val_t compiling_global___TableEltComposite___length(val_t self) {
2511 struct trace_t trace = {NULL, NULL, 722, LOCATE_compiling_global___TableEltComposite___length};
2512 val_t variable[3];
2513 void **closurevariable = NULL;
2514 trace.prev = tracehead; tracehead = &trace;
2515 trace.file = LOCATE_compiling_global;
2516 variable[0] = self;
2517 variable[2] = variable[0];
2518 variable[2] = ATTR_compiling_global___TableEltComposite____table(variable[2]) /*TableEltComposite::_table*/;
2519 variable[2] = ((array___AbstractArray___length_t)CALL(variable[2],COLOR_abstract_collection___Collection___length))(variable[2]) /*AbstractArray::length*/;
2520 variable[1] = variable[2];
2521 goto return_label85;
2522 return_label85: while(false);
2523 tracehead = trace.prev;
2524 return variable[1];
2525 }
2526 val_t compiling_global___TableEltComposite___item(val_t self, val_t param0) {
2527 struct trace_t trace = {NULL, NULL, 731, LOCATE_compiling_global___TableEltComposite___item};
2528 val_t variable[9];
2529 void **closurevariable = NULL;
2530 trace.prev = tracehead; tracehead = &trace;
2531 trace.file = LOCATE_compiling_global;
2532 variable[0] = self;
2533 variable[1] = param0;
2534 variable[3] = variable[0];
2535 variable[3] = ATTR_compiling_global___TableEltComposite____table(variable[3]) /*TableEltComposite::_table*/;
2536 variable[4] = variable[3];
2537 variable[5] = variable[1] /*i*/;
2538 variable[7] = TAG_Bool(UNTAG_Int( variable[5] /*index*/)>=UNTAG_Int( TAG_Int(0)));
2539 variable[8] = variable[7];
2540 if (UNTAG_Bool(variable[8])) { /* and */
2541 variable[8] = variable[4];
2542 variable[8] = ATTR_array___AbstractArray____length(variable[8]) /*AbstractArray::_length*/;
2543 variable[8] = TAG_Bool(UNTAG_Int( variable[5] /*index*/)<UNTAG_Int(variable[8]));
2544 }
2545 variable[7] = variable[8];
2546 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_global, 229); nit_exit(1);}
2547 variable[7] = variable[4];
2548 variable[7] = ATTR_array___Array____items(variable[7]) /*Array::_items*/;
2549 variable[7] = UNBOX_NativeArray(variable[7])[UNTAG_Int( variable[5] /*index*/)];
2550 variable[6] = variable[7];
2551 goto return_label87;
2552 return_label87: while(false);
2553 variable[3] = variable[6];
2554 variable[2] = variable[3];
2555 goto return_label86;
2556 return_label86: while(false);
2557 tracehead = trace.prev;
2558 return variable[2];
2559 }
2560 val_t compiling_global___TableEltComposite___compile_to_c(val_t self, val_t param0, val_t param1) {
2561 struct trace_t trace = {NULL, NULL, 733, LOCATE_compiling_global___TableEltComposite___compile_to_c};
2562 val_t variable[4];
2563 void **closurevariable = NULL;
2564 trace.prev = tracehead; tracehead = &trace;
2565 trace.file = LOCATE_compiling_global;
2566 variable[0] = self;
2567 variable[1] = param0;
2568 variable[2] = param1;
2569 fprintf(stderr, "Aborted"); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_global___TableEltComposite___compile_to_c, LOCATE_compiling_global, 733); nit_exit(1);
2570 return_label88: while(false);
2571 tracehead = trace.prev;
2572 return variable[3];
2573 }
2574 void compiling_global___TableEltComposite___add(val_t self, val_t param0, val_t param1) {
2575 struct trace_t trace = {NULL, NULL, 725, LOCATE_compiling_global___TableEltComposite___add};
2576 val_t variable[6];
2577 void **closurevariable = NULL;
2578 trace.prev = tracehead; tracehead = &trace;
2579 trace.file = LOCATE_compiling_global;
2580 variable[0] = self;
2581 variable[1] = param0;
2582 variable[2] = param1;
2583 variable[4] = variable[0];
2584 variable[4] = ATTR_compiling_global___TableEltComposite____offsets(variable[4]) /*TableEltComposite::_offsets*/;
2585 variable[5] = variable[0];
2586 variable[5] = ATTR_compiling_global___TableEltComposite____table(variable[5]) /*TableEltComposite::_table*/;
2587 variable[5] = ((array___AbstractArray___length_t)CALL(variable[5],COLOR_abstract_collection___Collection___length))(variable[5]) /*AbstractArray::length*/;
2588 ((hash___HashMap_____braeq_t)CALL(variable[4],COLOR_abstract_collection___Map_____braeq))(variable[4], variable[1] /*c*/, variable[5]) /*HashMap::[]=*/;
2589 variable[4] = variable[0];
2590 variable[4] = ATTR_compiling_global___TableEltComposite____table(variable[4]) /*TableEltComposite::_table*/;
2591 ((abstract_collection___IndexedCollection___append_t)CALL(variable[4],COLOR_abstract_collection___IndexedCollection___append))(variable[4], variable[2] /*tab*/) /*IndexedCollection::append*/;
2592 return_label89: while(false);
2593 tracehead = trace.prev;
2594 return;
2595 }
2596 void compiling_global___TableEltComposite___init(val_t self, val_t param0, int* init_table) {
2597 struct trace_t trace = {NULL, NULL, 735, LOCATE_compiling_global___TableEltComposite___init};
2598 val_t variable[5];
2599 void **closurevariable = NULL;
2600 trace.prev = tracehead; tracehead = &trace;
2601 trace.file = LOCATE_compiling_global;
2602 variable[0] = self;
2603 variable[1] = param0;
2604 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TableEltComposite].i]) return;
2605 variable[3] = variable[0];
2606 ATTR_compiling_global___TableEltComposite____cc(variable[3]) /*TableEltComposite::_cc*/ = variable[1] /*cc*/;
2607 variable[3] = variable[0];
2608 variable[4] = NEW_Array_array___Array___init(); /*new Array[LocalTableElt]*/
2609 ATTR_compiling_global___TableEltComposite____table(variable[3]) /*TableEltComposite::_table*/ = variable[4];
2610 variable[3] = variable[0];
2611 variable[4] = NEW_HashMap_hash___HashMap___init(); /*new HashMap[MMLocalClass, Int]*/
2612 ATTR_compiling_global___TableEltComposite____offsets(variable[3]) /*TableEltComposite::_offsets*/ = variable[4];
2613 return_label90: while(false);
2614 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TableEltComposite].i] = 1;
2615 tracehead = trace.prev;
2616 return;
2617 }
2618 val_t compiling_global___TableEltClassSelfId___is_related_to(val_t self, val_t param0) {
2619 struct trace_t trace = {NULL, NULL, 745, LOCATE_compiling_global___TableEltClassSelfId___is_related_to};
2620 val_t variable[3];
2621 void **closurevariable = NULL;
2622 trace.prev = tracehead; tracehead = &trace;
2623 trace.file = LOCATE_compiling_global;
2624 variable[0] = self;
2625 variable[1] = param0;
2626 variable[2] = TAG_Bool(true);
2627 goto return_label91;
2628 return_label91: while(false);
2629 tracehead = trace.prev;
2630 return variable[2];
2631 }
2632 val_t compiling_global___TableEltClassSelfId___compile_to_c(val_t self, val_t param0, val_t param1) {
2633 struct trace_t trace = {NULL, NULL, 746, LOCATE_compiling_global___TableEltClassSelfId___compile_to_c};
2634 val_t variable[16];
2635 void **closurevariable = NULL;
2636 trace.prev = tracehead; tracehead = &trace;
2637 trace.file = LOCATE_compiling_global;
2638 variable[0] = self;
2639 variable[1] = param0;
2640 variable[2] = param1;
2641 variable[5] = ((compiling_global___CompilerVisitor___global_analysis_t)CALL( variable[1] /*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis))( variable[1] /*v*/) /*CompilerVisitor::global_analysis*/;
2642 variable[4] = variable[5];
2643 variable[5] = NEW_String_string___String___init(); /*new String*/
2644 variable[6] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2645 variable[7] = variable[6];
2646 ((string___String___append_t)CALL(variable[5],COLOR_abstract_collection___IndexedCollection___append))(variable[5], variable[7]) /*String::append*/;
2647 variable[8] = ((compiling_global___CompilerVisitor___global_analysis_t)CALL( variable[1] /*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis))( variable[1] /*v*/) /*CompilerVisitor::global_analysis*/;
2648 variable[8] = ((compiling_global___GlobalAnalysis___compiled_classes_t)CALL(variable[8],COLOR_compiling_global___GlobalAnalysis___compiled_classes))(variable[8]) /*GlobalAnalysis::compiled_classes*/;
2649 variable[9] = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable[2] /*c*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable[2] /*c*/) /*MMLocalClass::global*/;
2650 variable[8] = ((abstract_collection___CoupleMap_____bra_t)CALL(variable[8],COLOR_abstract_collection___Map_____bra))(variable[8], variable[9]) /*CoupleMap::[]*/;
2651 variable[8] = ((compiling_global___CompiledClass___id_t)CALL(variable[8],COLOR_compiling_global___CompiledClass___id))(variable[8]) /*CompiledClass::id*/;
2652 variable[9] = variable[8];
2653 variable[9] = ((string___String___to_s_t)CALL(variable[9],COLOR_string___Object___to_s))(variable[9]) /*String::to_s*/;
2654 ((string___String___append_t)CALL(variable[5],COLOR_abstract_collection___IndexedCollection___append))(variable[5], variable[9]) /*String::append*/;
2655 variable[10] = NEW_String_string___String___with_native(BOX_NativeString(" /* "), TAG_Int(4)); /*new String*/
2656 variable[11] = variable[10];
2657 ((string___String___append_t)CALL(variable[5],COLOR_abstract_collection___IndexedCollection___append))(variable[5], variable[11]) /*String::append*/;
2658 variable[12] = variable[0];
2659 variable[12] = ((compiling_global___ColorContext___color_t)CALL( variable[4] /*ga*/,COLOR_compiling_global___ColorContext___color))( variable[4] /*ga*/, variable[12]) /*ColorContext::color*/;
2660 variable[13] = variable[12];
2661 variable[13] = ((string___String___to_s_t)CALL(variable[13],COLOR_string___Object___to_s))(variable[13]) /*String::to_s*/;
2662 ((string___String___append_t)CALL(variable[5],COLOR_abstract_collection___IndexedCollection___append))(variable[5], variable[13]) /*String::append*/;
2663 variable[14] = NEW_String_string___String___with_native(BOX_NativeString(": Identity */"), TAG_Int(13)); /*new String*/
2664 variable[15] = variable[14];
2665 ((string___String___append_t)CALL(variable[5],COLOR_abstract_collection___IndexedCollection___append))(variable[5], variable[15]) /*String::append*/;
2666 variable[3] = variable[5];
2667 goto return_label92;
2668 return_label92: while(false);
2669 tracehead = trace.prev;
2670 return variable[3];
2671 }
2672 void compiling_global___TableEltClassSelfId___init(val_t self, int* init_table) {
2673 struct trace_t trace = {NULL, NULL, 752, LOCATE_compiling_global___TableEltClassSelfId___init};
2674 val_t variable[2];
2675 void **closurevariable = NULL;
2676 trace.prev = tracehead; tracehead = &trace;
2677 trace.file = LOCATE_compiling_global;
2678 variable[0] = self;
2679 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TableEltClassSelfId].i]) return;
2680 return_label93: while(false);
2681 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TableEltClassSelfId].i] = 1;
2682 tracehead = trace.prev;
2683 return;
2684 }
2685 val_t compiling_global___TableEltVftPointer___is_related_to(val_t self, val_t param0) {
2686 struct trace_t trace = {NULL, NULL, 757, LOCATE_compiling_global___TableEltVftPointer___is_related_to};
2687 val_t variable[3];
2688 void **closurevariable = NULL;
2689 trace.prev = tracehead; tracehead = &trace;
2690 trace.file = LOCATE_compiling_global;
2691 variable[0] = self;
2692 variable[1] = param0;
2693 variable[2] = TAG_Bool(true);
2694 goto return_label94;
2695 return_label94: while(false);
2696 tracehead = trace.prev;
2697 return variable[2];
2698 }
2699 val_t compiling_global___TableEltVftPointer___compile_to_c(val_t self, val_t param0, val_t param1) {
2700 struct trace_t trace = {NULL, NULL, 758, LOCATE_compiling_global___TableEltVftPointer___compile_to_c};
2701 val_t variable[12];
2702 void **closurevariable = NULL;
2703 trace.prev = tracehead; tracehead = &trace;
2704 trace.file = LOCATE_compiling_global;
2705 variable[0] = self;
2706 variable[1] = param0;
2707 variable[2] = param1;
2708 variable[5] = ((compiling_global___CompilerVisitor___global_analysis_t)CALL( variable[1] /*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis))( variable[1] /*v*/) /*CompilerVisitor::global_analysis*/;
2709 variable[4] = variable[5];
2710 variable[5] = NEW_String_string___String___init(); /*new String*/
2711 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("/* "), TAG_Int(3)); /*new String*/
2712 variable[7] = variable[6];
2713 ((string___String___append_t)CALL(variable[5],COLOR_abstract_collection___IndexedCollection___append))(variable[5], variable[7]) /*String::append*/;
2714 variable[8] = variable[0];
2715 variable[8] = ((compiling_global___ColorContext___color_t)CALL( variable[4] /*ga*/,COLOR_compiling_global___ColorContext___color))( variable[4] /*ga*/, variable[8]) /*ColorContext::color*/;
2716 variable[9] = variable[8];
2717 variable[9] = ((string___String___to_s_t)CALL(variable[9],COLOR_string___Object___to_s))(variable[9]) /*String::to_s*/;
2718 ((string___String___append_t)CALL(variable[5],COLOR_abstract_collection___IndexedCollection___append))(variable[5], variable[9]) /*String::append*/;
2719 variable[10] = NEW_String_string___String___with_native(BOX_NativeString(": Pointer to the classtable */"), TAG_Int(30)); /*new String*/
2720 variable[11] = variable[10];
2721 ((string___String___append_t)CALL(variable[5],COLOR_abstract_collection___IndexedCollection___append))(variable[5], variable[11]) /*String::append*/;
2722 variable[3] = variable[5];
2723 goto return_label95;
2724 return_label95: while(false);
2725 tracehead = trace.prev;
2726 return variable[3];
2727 }
2728 void compiling_global___TableEltVftPointer___init(val_t self, int* init_table) {
2729 struct trace_t trace = {NULL, NULL, 764, LOCATE_compiling_global___TableEltVftPointer___init};
2730 val_t variable[2];
2731 void **closurevariable = NULL;
2732 trace.prev = tracehead; tracehead = &trace;
2733 trace.file = LOCATE_compiling_global;
2734 variable[0] = self;
2735 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TableEltVftPointer].i]) return;
2736 return_label96: while(false);
2737 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_TableEltVftPointer].i] = 1;
2738 tracehead = trace.prev;
2739 return;
2740 }
2741 val_t compiling_global___ClassSorter___compare(val_t self, val_t param0, val_t param1) {
2742 struct trace_t trace = {NULL, NULL, 771, LOCATE_compiling_global___ClassSorter___compare};
2743 val_t variable[5];
2744 void **closurevariable = NULL;
2745 trace.prev = tracehead; tracehead = &trace;
2746 trace.file = LOCATE_compiling_global;
2747 variable[0] = self;
2748 variable[1] = param0;
2749 variable[2] = param1;
2750 variable[4] = ((compiling_global___MMLocalClass___compare_t)CALL( variable[1] /*a*/,COLOR_compiling_global___MMLocalClass___compare))( variable[1] /*a*/, variable[2] /*b*/) /*MMLocalClass::compare*/;
2751 variable[3] = variable[4];
2752 goto return_label97;
2753 return_label97: while(false);
2754 tracehead = trace.prev;
2755 return variable[3];
2756 }
2757 void compiling_global___ClassSorter___init(val_t self, int* init_table) {
2758 struct trace_t trace = {NULL, NULL, 772, LOCATE_compiling_global___ClassSorter___init};
2759 val_t variable[2];
2760 void **closurevariable = NULL;
2761 trace.prev = tracehead; tracehead = &trace;
2762 trace.file = LOCATE_compiling_global;
2763 variable[0] = self;
2764 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ClassSorter].i]) return;
2765 return_label98: while(false);
2766 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ClassSorter].i] = 1;
2767 tracehead = trace.prev;
2768 return;
2769 }
2770 val_t compiling_global___MMLocalClass___compare(val_t self, val_t param0) {
2771 struct trace_t trace = {NULL, NULL, 776, LOCATE_compiling_global___MMLocalClass___compare};
2772 val_t variable[8];
2773 void **closurevariable = NULL;
2774 trace.prev = tracehead; tracehead = &trace;
2775 trace.file = LOCATE_compiling_global;
2776 variable[0] = self;
2777 variable[1] = param0;
2778 variable[4] = variable[0];
2779 variable[3] = variable[4];
2780 variable[4] = TAG_Bool(( variable[3] /*a*/ == variable[1] /*b*/) || (( variable[3] /*a*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[3] /*a*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[3] /*a*/, variable[1] /*b*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[3] /*a*/,COLOR_kernel___Object_____eqeq))( variable[3] /*a*/, variable[1] /*b*/) /*Object::==*/)))));
2781 if (UNTAG_Bool(variable[4])) { /*if*/
2782 variable[2] = TAG_Int(0);
2783 goto return_label99;
2784 } else { /*if*/
2785 variable[4] = ((abstractmetamodel___MMLocalClass___module_t)CALL( variable[3] /*a*/,COLOR_abstractmetamodel___MMLocalClass___module))( variable[3] /*a*/) /*MMLocalClass::module*/;
2786 variable[4] = ((abstractmetamodel___MMModule___mhe_t)CALL(variable[4],COLOR_abstractmetamodel___MMModule___mhe))(variable[4]) /*MMModule::mhe*/;
2787 variable[5] = ((abstractmetamodel___MMLocalClass___module_t)CALL( variable[1] /*b*/,COLOR_abstractmetamodel___MMLocalClass___module))( variable[1] /*b*/) /*MMLocalClass::module*/;
2788 variable[4] = ((partial_order___PartialOrderElement_____l_t)CALL(variable[4],COLOR_partial_order___PartialOrderElement_____l))(variable[4], variable[5]) /*PartialOrderElement::<*/;
2789 if (UNTAG_Bool(variable[4])) { /*if*/
2790 variable[2] = TAG_Int(1);
2791 goto return_label99;
2792 } else { /*if*/
2793 variable[4] = ((abstractmetamodel___MMLocalClass___module_t)CALL( variable[1] /*b*/,COLOR_abstractmetamodel___MMLocalClass___module))( variable[1] /*b*/) /*MMLocalClass::module*/;
2794 variable[4] = ((abstractmetamodel___MMModule___mhe_t)CALL(variable[4],COLOR_abstractmetamodel___MMModule___mhe))(variable[4]) /*MMModule::mhe*/;
2795 variable[5] = ((abstractmetamodel___MMLocalClass___module_t)CALL( variable[3] /*a*/,COLOR_abstractmetamodel___MMLocalClass___module))( variable[3] /*a*/) /*MMLocalClass::module*/;
2796 variable[4] = ((partial_order___PartialOrderElement_____l_t)CALL(variable[4],COLOR_partial_order___PartialOrderElement_____l))(variable[4], variable[5]) /*PartialOrderElement::<*/;
2797 if (UNTAG_Bool(variable[4])) { /*if*/
2798 variable[4] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
2799 variable[2] = variable[4];
2800 goto return_label99;
2801 }
2802 }
2803 }
2804 variable[5] = ((abstractmetamodel___MMLocalClass___cshe_t)CALL( variable[3] /*a*/,COLOR_abstractmetamodel___MMLocalClass___cshe))( variable[3] /*a*/) /*MMLocalClass::cshe*/;
2805 variable[5] = ((partial_order___PartialOrderElement___rank_t)CALL(variable[5],COLOR_partial_order___PartialOrderElement___rank))(variable[5]) /*PartialOrderElement::rank*/;
2806 variable[4] = variable[5];
2807 variable[6] = ((abstractmetamodel___MMLocalClass___cshe_t)CALL( variable[1] /*b*/,COLOR_abstractmetamodel___MMLocalClass___cshe))( variable[1] /*b*/) /*MMLocalClass::cshe*/;
2808 variable[6] = ((partial_order___PartialOrderElement___rank_t)CALL(variable[6],COLOR_partial_order___PartialOrderElement___rank))(variable[6]) /*PartialOrderElement::rank*/;
2809 variable[5] = variable[6];
2810 variable[6] = TAG_Bool(UNTAG_Int( variable[4] /*ar*/)>UNTAG_Int( variable[5] /*br*/));
2811 if (UNTAG_Bool(variable[6])) { /*if*/
2812 variable[2] = TAG_Int(1);
2813 goto return_label99;
2814 } else { /*if*/
2815 variable[6] = TAG_Bool(UNTAG_Int( variable[5] /*br*/)>UNTAG_Int( variable[4] /*ar*/));
2816 if (UNTAG_Bool(variable[6])) { /*if*/
2817 variable[6] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
2818 variable[2] = variable[6];
2819 goto return_label99;
2820 } else { /*if*/
2821 variable[6] = ((abstractmetamodel___MMLocalClass___name_t)CALL( variable[1] /*b*/,COLOR_abstractmetamodel___MMLocalClass___name))( variable[1] /*b*/) /*MMLocalClass::name*/;
2822 variable[6] = ((symbol___Symbol___to_s_t)CALL(variable[6],COLOR_string___Object___to_s))(variable[6]) /*Symbol::to_s*/;
2823 variable[7] = ((abstractmetamodel___MMLocalClass___name_t)CALL( variable[3] /*a*/,COLOR_abstractmetamodel___MMLocalClass___name))( variable[3] /*a*/) /*MMLocalClass::name*/;
2824 variable[7] = ((symbol___Symbol___to_s_t)CALL(variable[7],COLOR_string___Object___to_s))(variable[7]) /*Symbol::to_s*/;
2825 variable[6] = ((kernel___Comparable_____leqg_t)CALL(variable[6],COLOR_kernel___Comparable_____leqg))(variable[6], variable[7]) /*Comparable::<=>*/;
2826 variable[2] = variable[6];
2827 goto return_label99;
2828 }
2829 }
2830 return_label99: while(false);
2831 tracehead = trace.prev;
2832 return variable[2];
2833 }
2834 void compiling_global___MMLocalClass___declare_tables_to_c(val_t self, val_t param0) {
2835 struct trace_t trace = {NULL, NULL, 798, LOCATE_compiling_global___MMLocalClass___declare_tables_to_c};
2836 val_t variable[16];
2837 void **closurevariable = NULL;
2838 trace.prev = tracehead; tracehead = &trace;
2839 trace.file = LOCATE_compiling_global;
2840 variable[0] = self;
2841 variable[1] = param0;
2842 variable[3] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2843 ((compiling_base___CompilerVisitor___add_decl_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___add_decl))( variable[1] /*v*/, variable[3]) /*CompilerVisitor::add_decl*/;
2844 variable[4] = variable[0];
2845 variable[4] = ((compiling_base___MMLocalClass___primitive_info_t)CALL(variable[4],COLOR_compiling_base___MMLocalClass___primitive_info))(variable[4]) /*MMLocalClass::primitive_info*/;
2846 variable[3] = variable[4];
2847 variable[4] = NEW_String_string___String___init(); /*new String*/
2848 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("extern const classtable_elt_t VFT_"), TAG_Int(34)); /*new String*/
2849 variable[6] = variable[5];
2850 ((string___String___append_t)CALL(variable[4],COLOR_abstract_collection___IndexedCollection___append))(variable[4], variable[6]) /*String::append*/;
2851 variable[7] = variable[0];
2852 variable[7] = ((abstractmetamodel___MMLocalClass___name_t)CALL(variable[7],COLOR_abstractmetamodel___MMLocalClass___name))(variable[7]) /*MMLocalClass::name*/;
2853 variable[8] = variable[7];
2854 variable[8] = ((string___String___to_s_t)CALL(variable[8],COLOR_string___Object___to_s))(variable[8]) /*String::to_s*/;
2855 ((string___String___append_t)CALL(variable[4],COLOR_abstract_collection___IndexedCollection___append))(variable[4], variable[8]) /*String::append*/;
2856 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("[];"), TAG_Int(3)); /*new String*/
2857 variable[10] = variable[9];
2858 ((string___String___append_t)CALL(variable[4],COLOR_abstract_collection___IndexedCollection___append))(variable[4], variable[10]) /*String::append*/;
2859 ((compiling_base___CompilerVisitor___add_decl_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___add_decl))( variable[1] /*v*/, variable[4]) /*CompilerVisitor::add_decl*/;
2860 variable[4] = TAG_Bool(( variable[3] /*pi*/ == NIT_NULL /*null*/) || (( variable[3] /*pi*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[3] /*pi*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[3] /*pi*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[3] /*pi*/,COLOR_kernel___Object_____eqeq))( variable[3] /*pi*/, NIT_NULL /*null*/) /*Object::==*/)))));
2861 if (UNTAG_Bool(variable[4])) { /*if*/
2862 } else { /*if*/
2863 variable[4] = ((compiling_base___PrimitiveInfo___tagged_t)CALL( variable[3] /*pi*/,COLOR_compiling_base___PrimitiveInfo___tagged))( variable[3] /*pi*/) /*PrimitiveInfo::tagged*/;
2864 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable[4])))) { /*if*/
2865 variable[5] = ((compiling_base___PrimitiveInfo___cname_t)CALL( variable[3] /*pi*/,COLOR_compiling_base___PrimitiveInfo___cname))( variable[3] /*pi*/) /*PrimitiveInfo::cname*/;
2866 variable[4] = variable[5];
2867 variable[6] = NEW_String_string___String___init(); /*new String*/
2868 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("struct TBOX_"), TAG_Int(12)); /*new String*/
2869 variable[8] = variable[7];
2870 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[8]) /*String::append*/;
2871 variable[9] = variable[0];
2872 variable[9] = ((abstractmetamodel___MMLocalClass___name_t)CALL(variable[9],COLOR_abstractmetamodel___MMLocalClass___name))(variable[9]) /*MMLocalClass::name*/;
2873 variable[10] = variable[9];
2874 variable[10] = ((string___String___to_s_t)CALL(variable[10],COLOR_string___Object___to_s))(variable[10]) /*String::to_s*/;
2875 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[10]) /*String::append*/;
2876 variable[11] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2877 variable[12] = variable[11];
2878 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[12]) /*String::append*/;
2879 variable[5] = variable[6];
2880 variable[6] = NEW_String_string___String___init(); /*new String*/
2881 variable[7] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2882 variable[8] = variable[7];
2883 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[8]) /*String::append*/;
2884 variable[9] = variable[5] /*tbox*/;
2885 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[9]) /*String::append*/;
2886 variable[10] = NEW_String_string___String___with_native(BOX_NativeString(" { const classtable_elt_t * vft; "), TAG_Int(33)); /*new String*/
2887 variable[11] = variable[10];
2888 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[11]) /*String::append*/;
2889 variable[12] = variable[4] /*t*/;
2890 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[12]) /*String::append*/;
2891 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(" val;};"), TAG_Int(7)); /*new String*/
2892 variable[14] = variable[13];
2893 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[14]) /*String::append*/;
2894 ((compiling_base___CompilerVisitor___add_decl_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___add_decl))( variable[1] /*v*/, variable[6]) /*CompilerVisitor::add_decl*/;
2895 variable[6] = NEW_String_string___String___init(); /*new String*/
2896 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("val_t BOX_"), TAG_Int(10)); /*new String*/
2897 variable[8] = variable[7];
2898 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[8]) /*String::append*/;
2899 variable[9] = variable[0];
2900 variable[9] = ((abstractmetamodel___MMLocalClass___name_t)CALL(variable[9],COLOR_abstractmetamodel___MMLocalClass___name))(variable[9]) /*MMLocalClass::name*/;
2901 variable[10] = variable[9];
2902 variable[10] = ((string___String___to_s_t)CALL(variable[10],COLOR_string___Object___to_s))(variable[10]) /*String::to_s*/;
2903 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[10]) /*String::append*/;
2904 variable[11] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
2905 variable[12] = variable[11];
2906 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[12]) /*String::append*/;
2907 variable[13] = variable[4] /*t*/;
2908 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[13]) /*String::append*/;
2909 variable[14] = NEW_String_string___String___with_native(BOX_NativeString(" val);"), TAG_Int(6)); /*new String*/
2910 variable[15] = variable[14];
2911 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[15]) /*String::append*/;
2912 ((compiling_base___CompilerVisitor___add_decl_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___add_decl))( variable[1] /*v*/, variable[6]) /*CompilerVisitor::add_decl*/;
2913 variable[6] = NEW_String_string___String___init(); /*new String*/
2914 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("#define UNBOX_"), TAG_Int(14)); /*new String*/
2915 variable[8] = variable[7];
2916 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[8]) /*String::append*/;
2917 variable[9] = variable[0];
2918 variable[9] = ((abstractmetamodel___MMLocalClass___name_t)CALL(variable[9],COLOR_abstractmetamodel___MMLocalClass___name))(variable[9]) /*MMLocalClass::name*/;
2919 variable[10] = variable[9];
2920 variable[10] = ((string___String___to_s_t)CALL(variable[10],COLOR_string___Object___to_s))(variable[10]) /*String::to_s*/;
2921 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[10]) /*String::append*/;
2922 variable[11] = NEW_String_string___String___with_native(BOX_NativeString("(x) ((("), TAG_Int(7)); /*new String*/
2923 variable[12] = variable[11];
2924 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[12]) /*String::append*/;
2925 variable[13] = variable[5] /*tbox*/;
2926 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[13]) /*String::append*/;
2927 variable[14] = NEW_String_string___String___with_native(BOX_NativeString(" *)(VAL2OBJ(x)))->val)"), TAG_Int(22)); /*new String*/
2928 variable[15] = variable[14];
2929 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[15]) /*String::append*/;
2930 ((compiling_base___CompilerVisitor___add_decl_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___add_decl))( variable[1] /*v*/, variable[6]) /*CompilerVisitor::add_decl*/;
2931 }
2932 }
2933 return_label100: while(false);
2934 tracehead = trace.prev;
2935 return;
2936 }
2937 void compiling_global___MMLocalClass___compile_tables_to_c(val_t self, val_t param0) {
2938 struct trace_t trace = {NULL, NULL, 815, LOCATE_compiling_global___MMLocalClass___compile_tables_to_c};
2939 val_t variable[36];
2940 void **closurevariable = NULL;
2941 trace.prev = tracehead; tracehead = &trace;
2942 trace.file = LOCATE_compiling_global;
2943 variable[0] = self;
2944 variable[1] = param0;
2945 variable[4] = ((compiling_global___CompilerVisitor___global_analysis_t)CALL( variable[1] /*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis))( variable[1] /*v*/) /*CompilerVisitor::global_analysis*/;
2946 variable[4] = ((compiling_global___GlobalAnalysis___compiled_classes_t)CALL(variable[4],COLOR_compiling_global___GlobalAnalysis___compiled_classes))(variable[4]) /*GlobalAnalysis::compiled_classes*/;
2947 variable[5] = variable[0];
2948 variable[5] = ((abstractmetamodel___MMLocalClass___global_t)CALL(variable[5],COLOR_abstractmetamodel___MMLocalClass___global))(variable[5]) /*MMLocalClass::global*/;
2949 variable[4] = ((abstract_collection___CoupleMap_____bra_t)CALL(variable[4],COLOR_abstract_collection___Map_____bra))(variable[4], variable[5]) /*CoupleMap::[]*/;
2950 variable[3] = variable[4];
2951 variable[5] = ((compiling_global___CompiledClass___class_table_t)CALL( variable[3] /*cc*/,COLOR_compiling_global___CompiledClass___class_table))( variable[3] /*cc*/) /*CompiledClass::class_table*/;
2952 variable[4] = variable[5];
2953 variable[6] = ((array___AbstractArray___length_t)CALL( variable[4] /*ctab*/,COLOR_abstract_collection___Collection___length))( variable[4] /*ctab*/) /*AbstractArray::length*/;
2954 variable[5] = variable[6];
2955 variable[6] = ((compiling_global___CompilerVisitor___global_analysis_t)CALL( variable[1] /*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis))( variable[1] /*v*/) /*CompilerVisitor::global_analysis*/;
2956 variable[6] = ((compiling_global___GlobalAnalysis___max_class_table_length_t)CALL(variable[6],COLOR_compiling_global___GlobalAnalysis___max_class_table_length))(variable[6]) /*GlobalAnalysis::max_class_table_length*/;
2957 variable[7] = ((array___AbstractArray___length_t)CALL( variable[4] /*ctab*/,COLOR_abstract_collection___Collection___length))( variable[4] /*ctab*/) /*AbstractArray::length*/;
2958 variable[6] = TAG_Bool(UNTAG_Int(variable[6])>UNTAG_Int(variable[7]));
2959 if (UNTAG_Bool(variable[6])) { /*if*/
2960 variable[6] = ((compiling_global___CompilerVisitor___global_analysis_t)CALL( variable[1] /*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis))( variable[1] /*v*/) /*CompilerVisitor::global_analysis*/;
2961 variable[6] = ((compiling_global___GlobalAnalysis___max_class_table_length_t)CALL(variable[6],COLOR_compiling_global___GlobalAnalysis___max_class_table_length))(variable[6]) /*GlobalAnalysis::max_class_table_length*/;
2962 variable[5] = variable[6] /*clen=*/;
2963 }
2964 variable[6] = NEW_String_string___String___init(); /*new String*/
2965 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("const classtable_elt_t VFT_"), TAG_Int(27)); /*new String*/
2966 variable[8] = variable[7];
2967 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[8]) /*String::append*/;
2968 variable[9] = variable[0];
2969 variable[9] = ((abstractmetamodel___MMLocalClass___name_t)CALL(variable[9],COLOR_abstractmetamodel___MMLocalClass___name))(variable[9]) /*MMLocalClass::name*/;
2970 variable[10] = variable[9];
2971 variable[10] = ((string___String___to_s_t)CALL(variable[10],COLOR_string___Object___to_s))(variable[10]) /*String::to_s*/;
2972 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[10]) /*String::append*/;
2973 variable[11] = NEW_String_string___String___with_native(BOX_NativeString("["), TAG_Int(1)); /*new String*/
2974 variable[12] = variable[11];
2975 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[12]) /*String::append*/;
2976 variable[13] = variable[5] /*clen*/;
2977 variable[13] = ((string___String___to_s_t)CALL(variable[13],COLOR_string___Object___to_s))(variable[13]) /*String::to_s*/;
2978 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[13]) /*String::append*/;
2979 variable[14] = NEW_String_string___String___with_native(BOX_NativeString("] = {"), TAG_Int(5)); /*new String*/
2980 variable[15] = variable[14];
2981 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[15]) /*String::append*/;
2982 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable[1] /*v*/, variable[6]) /*CompilerVisitor::add_instr*/;
2983 ((compiling_base___CompilerVisitor___indent_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___indent))( variable[1] /*v*/) /*CompilerVisitor::indent*/;
2984 variable[6] = ((array___AbstractArray___iterator_t)CALL( variable[4] /*ctab*/,COLOR_abstract_collection___Collection___iterator))( variable[4] /*ctab*/) /*AbstractArray::iterator*/;
2985 while (true) { /*for*/
2986 variable[7] = ((array___ArrayIterator___is_ok_t)CALL(variable[6],COLOR_abstract_collection___Iterator___is_ok))(variable[6]) /*ArrayIterator::is_ok*/;
2987 if (!UNTAG_Bool(variable[7])) break; /*for*/
2988 variable[7] = ((array___ArrayIterator___item_t)CALL(variable[6],COLOR_abstract_collection___Iterator___item))(variable[6]) /*ArrayIterator::item*/;
2989 variable[8] = variable[7];
2990 variable[9] = TAG_Bool(( variable[8] /*e*/ == NIT_NULL /*null*/) || (( variable[8] /*e*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[8] /*e*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*e*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[8] /*e*/,COLOR_kernel___Object_____eqeq))( variable[8] /*e*/, NIT_NULL /*null*/) /*Object::==*/)))));
2991 if (UNTAG_Bool(variable[9])) { /*if*/
2992 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("{0} /* Class Hole :( */,"), TAG_Int(24)); /*new String*/
2993 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable[1] /*v*/, variable[9]) /*CompilerVisitor::add_instr*/;
2994 } else { /*if*/
2995 variable[9] = NEW_String_string___String___init(); /*new String*/
2996 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("{(bigint) "), TAG_Int(10)); /*new String*/
2997 variable[11] = variable[10];
2998 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[11]) /*String::append*/;
2999 variable[12] = variable[0];
3000 variable[12] = ((compiling_global___TableElt___compile_to_c_t)CALL( variable[8] /*e*/,COLOR_compiling_global___TableElt___compile_to_c))( variable[8] /*e*/, variable[1] /*v*/, variable[12]) /*TableElt::compile_to_c*/;
3001 variable[13] = variable[12];
3002 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[13]) /*String::append*/;
3003 variable[14] = NEW_String_string___String___with_native(BOX_NativeString("},"), TAG_Int(2)); /*new String*/
3004 variable[15] = variable[14];
3005 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[15]) /*String::append*/;
3006 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable[1] /*v*/, variable[9]) /*CompilerVisitor::add_instr*/;
3007 }
3008 continue_102: while(0);
3009 ((array___ArrayIterator___next_t)CALL(variable[6],COLOR_abstract_collection___Iterator___next))(variable[6]) /*ArrayIterator::next*/;
3010 }
3011 break_102: while(0);
3012 variable[6] = ((array___AbstractArray___length_t)CALL( variable[4] /*ctab*/,COLOR_abstract_collection___Collection___length))( variable[4] /*ctab*/) /*AbstractArray::length*/;
3013 variable[6] = TAG_Bool(UNTAG_Int( variable[5] /*clen*/)>UNTAG_Int(variable[6]));
3014 if (UNTAG_Bool(variable[6])) { /*if*/
3015 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("{0},"), TAG_Int(4)); /*new String*/
3016 variable[7] = ((array___AbstractArray___length_t)CALL( variable[4] /*ctab*/,COLOR_abstract_collection___Collection___length))( variable[4] /*ctab*/) /*AbstractArray::length*/;
3017 variable[7] = TAG_Int(UNTAG_Int( variable[5] /*clen*/)-UNTAG_Int(variable[7]));
3018 variable[6] = ((string___String_____star_t)CALL(variable[6],COLOR_string___String_____star))(variable[6], variable[7]) /*String::**/;
3019 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable[1] /*v*/, variable[6]) /*CompilerVisitor::add_instr*/;
3020 }
3021 ((compiling_base___CompilerVisitor___unindent_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___unindent))( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
3022 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("};"), TAG_Int(2)); /*new String*/
3023 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable[1] /*v*/, variable[6]) /*CompilerVisitor::add_instr*/;
3024 variable[7] = ((compiling_global___CompiledClass___instance_table_t)CALL( variable[3] /*cc*/,COLOR_compiling_global___CompiledClass___instance_table))( variable[3] /*cc*/) /*CompiledClass::instance_table*/;
3025 variable[6] = variable[7];
3026 variable[7] = ((array___AbstractArray___iterator_t)CALL( variable[6] /*itab*/,COLOR_abstract_collection___Collection___iterator))( variable[6] /*itab*/) /*AbstractArray::iterator*/;
3027 while (true) { /*for*/
3028 variable[8] = ((array___ArrayIterator___is_ok_t)CALL(variable[7],COLOR_abstract_collection___Iterator___is_ok))(variable[7]) /*ArrayIterator::is_ok*/;
3029 if (!UNTAG_Bool(variable[8])) break; /*for*/
3030 variable[8] = ((array___ArrayIterator___item_t)CALL(variable[7],COLOR_abstract_collection___Iterator___item))(variable[7]) /*ArrayIterator::item*/;
3031 variable[9] = variable[8];
3032 variable[10] = TAG_Bool(( variable[9] /*e*/ == NIT_NULL /*null*/) || (( variable[9] /*e*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[9] /*e*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[9] /*e*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[9] /*e*/,COLOR_kernel___Object_____eqeq))( variable[9] /*e*/, NIT_NULL /*null*/) /*Object::==*/)))));
3033 if (UNTAG_Bool(variable[10])) { /*if*/
3034 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("/* Instance Hole :( */"), TAG_Int(22)); /*new String*/
3035 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable[1] /*v*/, variable[10]) /*CompilerVisitor::add_instr*/;
3036 } else { /*if*/
3037 variable[10] = variable[0];
3038 variable[10] = ((compiling_global___TableElt___compile_to_c_t)CALL( variable[9] /*e*/,COLOR_compiling_global___TableElt___compile_to_c))( variable[9] /*e*/, variable[1] /*v*/, variable[10]) /*TableElt::compile_to_c*/;
3039 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable[1] /*v*/, variable[10]) /*CompilerVisitor::add_instr*/;
3040 }
3041 continue_103: while(0);
3042 ((array___ArrayIterator___next_t)CALL(variable[7],COLOR_abstract_collection___Iterator___next))(variable[7]) /*ArrayIterator::next*/;
3043 }
3044 break_103: while(0);
3045 variable[8] = variable[0];
3046 variable[8] = ((compiling_base___MMLocalClass___primitive_info_t)CALL(variable[8],COLOR_compiling_base___MMLocalClass___primitive_info))(variable[8]) /*MMLocalClass::primitive_info*/;
3047 variable[7] = variable[8];
3048 variable[8] = TAG_Bool(( variable[7] /*pi*/ == NIT_NULL /*null*/) || (( variable[7] /*pi*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[7] /*pi*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[7] /*pi*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[7] /*pi*/,COLOR_kernel___Object_____eqeq))( variable[7] /*pi*/, NIT_NULL /*null*/) /*Object::==*/)))));
3049 if (UNTAG_Bool(variable[8])) { /*if*/
3050 variable[8] = NEW_CFunctionContext_compiling_methods___CFunctionContext___init( variable[1] /*v*/); /*new CFunctionContext*/
3051 ((compiling_methods___CompilerVisitor___cfc__eq_t)CALL( variable[1] /*v*/,COLOR_compiling_methods___CompilerVisitor___cfc__eq))( variable[1] /*v*/, variable[8]) /*CompilerVisitor::cfc=*/;
3052 variable[8] = NEW_NitMethodContext_compiling_methods___NitMethodContext___init( NIT_NULL /*null*/); /*new NitMethodContext*/
3053 ((compiling_methods___CompilerVisitor___nmc__eq_t)CALL( variable[1] /*v*/,COLOR_compiling_methods___CompilerVisitor___nmc__eq))( variable[1] /*v*/, variable[8]) /*CompilerVisitor::nmc=*/;
3054 variable[9] = NEW_String_string___String___init(); /*new String*/
3055 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("val_t NEW_"), TAG_Int(10)); /*new String*/
3056 variable[11] = variable[10];
3057 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[11]) /*String::append*/;
3058 variable[12] = variable[0];
3059 variable[12] = ((abstractmetamodel___MMLocalClass___name_t)CALL(variable[12],COLOR_abstractmetamodel___MMLocalClass___name))(variable[12]) /*MMLocalClass::name*/;
3060 variable[13] = variable[12];
3061 variable[13] = ((string___String___to_s_t)CALL(variable[13],COLOR_string___Object___to_s))(variable[13]) /*String::to_s*/;
3062 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[13]) /*String::append*/;
3063 variable[14] = NEW_String_string___String___with_native(BOX_NativeString("(void)"), TAG_Int(6)); /*new String*/
3064 variable[15] = variable[14];
3065 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[15]) /*String::append*/;
3066 variable[8] = variable[9];
3067 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(" {"), TAG_Int(2)); /*new String*/
3068 variable[9] = ((string___String_____plus_t)CALL( variable[8] /*s*/,COLOR_string___String_____plus))( variable[8] /*s*/, variable[9]) /*String::+*/;
3069 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable[1] /*v*/, variable[9]) /*CompilerVisitor::add_instr*/;
3070 ((compiling_base___CompilerVisitor___indent_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___indent))( variable[1] /*v*/) /*CompilerVisitor::indent*/;
3071 variable[10] = ((compiling_base___CompilerVisitor___ctx_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___ctx))( variable[1] /*v*/) /*CompilerVisitor::ctx*/;
3072 variable[9] = variable[10];
3073 variable[10] = NEW_CContext_compiling_base___CContext___init(); /*new CContext*/
3074 ((compiling_base___CompilerVisitor___ctx__eq_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___ctx__eq))( variable[1] /*v*/, variable[10]) /*CompilerVisitor::ctx=*/;
3075 variable[11] = NEW_ParamVariable_syntax_base___ParamVariable___init( NIT_NULL /*null*/, NIT_NULL /*null*/); /*new ParamVariable*/
3076 variable[10] = variable[11];
3077 variable[12] = ((compiling_methods___CompilerVisitor___cfc_t)CALL( variable[1] /*v*/,COLOR_compiling_methods___CompilerVisitor___cfc))( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
3078 variable[12] = ((compiling_methods___CFunctionContext___register_variable_t)CALL(variable[12],COLOR_compiling_methods___CFunctionContext___register_variable))(variable[12], variable[10] /*self_var*/) /*CFunctionContext::register_variable*/;
3079 variable[11] = variable[12];
3080 variable[12] = ((compiling_methods___CompilerVisitor___nmc_t)CALL( variable[1] /*v*/,COLOR_compiling_methods___CompilerVisitor___nmc))( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
3081 variable[13] = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[ParamVariable]*/
3082 ((array___AbstractArray___add_t)CALL(variable[13],COLOR_abstract_collection___SimpleCollection___add))(variable[13], variable[10] /*self_var*/) /*AbstractArray::add*/;
3083 ((compiling_methods___NitMethodContext___method_params__eq_t)CALL(variable[12],COLOR_compiling_methods___NitMethodContext___method_params__eq))(variable[12], variable[13]) /*NitMethodContext::method_params=*/;
3084 variable[12] = NEW_String_string___String___with_native(BOX_NativeString("obj_t obj;"), TAG_Int(10)); /*new String*/
3085 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable[1] /*v*/, variable[12]) /*CompilerVisitor::add_instr*/;
3086 variable[12] = NEW_String_string___String___init(); /*new String*/
3087 variable[13] = NEW_String_string___String___with_native(BOX_NativeString("obj = alloc(sizeof(val_t) * "), TAG_Int(28)); /*new String*/
3088 variable[14] = variable[13];
3089 ((string___String___append_t)CALL(variable[12],COLOR_abstract_collection___IndexedCollection___append))(variable[12], variable[14]) /*String::append*/;
3090 variable[15] = ((array___AbstractArray___length_t)CALL( variable[6] /*itab*/,COLOR_abstract_collection___Collection___length))( variable[6] /*itab*/) /*AbstractArray::length*/;
3091 variable[16] = variable[15];
3092 variable[16] = ((string___String___to_s_t)CALL(variable[16],COLOR_string___Object___to_s))(variable[16]) /*String::to_s*/;
3093 ((string___String___append_t)CALL(variable[12],COLOR_abstract_collection___IndexedCollection___append))(variable[12], variable[16]) /*String::append*/;
3094 variable[17] = NEW_String_string___String___with_native(BOX_NativeString(");"), TAG_Int(2)); /*new String*/
3095 variable[18] = variable[17];
3096 ((string___String___append_t)CALL(variable[12],COLOR_abstract_collection___IndexedCollection___append))(variable[12], variable[18]) /*String::append*/;
3097 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable[1] /*v*/, variable[12]) /*CompilerVisitor::add_instr*/;
3098 variable[12] = NEW_String_string___String___init(); /*new String*/
3099 variable[13] = NEW_String_string___String___with_native(BOX_NativeString("obj->vft = (classtable_elt_t*)VFT_"), TAG_Int(34)); /*new String*/
3100 variable[14] = variable[13];
3101 ((string___String___append_t)CALL(variable[12],COLOR_abstract_collection___IndexedCollection___append))(variable[12], variable[14]) /*String::append*/;
3102 variable[15] = variable[0];
3103 variable[15] = ((abstractmetamodel___MMLocalClass___name_t)CALL(variable[15],COLOR_abstractmetamodel___MMLocalClass___name))(variable[15]) /*MMLocalClass::name*/;
3104 variable[16] = variable[15];
3105 variable[16] = ((string___String___to_s_t)CALL(variable[16],COLOR_string___Object___to_s))(variable[16]) /*String::to_s*/;
3106 ((string___String___append_t)CALL(variable[12],COLOR_abstract_collection___IndexedCollection___append))(variable[12], variable[16]) /*String::append*/;
3107 variable[17] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
3108 variable[18] = variable[17];
3109 ((string___String___append_t)CALL(variable[12],COLOR_abstract_collection___IndexedCollection___append))(variable[12], variable[18]) /*String::append*/;
3110 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable[1] /*v*/, variable[12]) /*CompilerVisitor::add_instr*/;
3111 variable[12] = NEW_String_string___String___with_native(BOX_NativeString("OBJ2VAL(obj)"), TAG_Int(12)); /*new String*/
3112 ((compiling_methods___CompilerVisitor___add_assignment_t)CALL( variable[1] /*v*/,COLOR_compiling_methods___CompilerVisitor___add_assignment))( variable[1] /*v*/, variable[11] /*self_var_cname*/, variable[12]) /*CompilerVisitor::add_assignment*/;
3113 variable[12] = variable[0];
3114 variable[12] = ((abstractmetamodel___MMLocalClass___global_properties_t)CALL(variable[12],COLOR_abstractmetamodel___MMLocalClass___global_properties))(variable[12]) /*MMLocalClass::global_properties*/;
3115 variable[12] = ((abstract_collection___Collection___iterator_t)CALL(variable[12],COLOR_abstract_collection___Collection___iterator))(variable[12]) /*Collection::iterator*/;
3116 while (true) { /*for*/
3117 variable[13] = ((abstract_collection___Iterator___is_ok_t)CALL(variable[12],COLOR_abstract_collection___Iterator___is_ok))(variable[12]) /*Iterator::is_ok*/;
3118 if (!UNTAG_Bool(variable[13])) break; /*for*/
3119 variable[13] = ((abstract_collection___Iterator___item_t)CALL(variable[12],COLOR_abstract_collection___Iterator___item))(variable[12]) /*Iterator::item*/;
3120 variable[14] = variable[13];
3121 variable[16] = variable[0];
3122 variable[16] = ((inheritance___MMLocalClass_____bra_t)CALL(variable[16],COLOR_abstractmetamodel___MMLocalClass_____bra))(variable[16], variable[14] /*g*/) /*MMLocalClass::[]*/;
3123 variable[15] = variable[16];
3124 variable[17] = ((static_type___MMLocalProperty___signature_t)CALL( variable[15] /*p*/,COLOR_static_type___MMLocalProperty___signature))( variable[15] /*p*/) /*MMLocalProperty::signature*/;
3125 variable[17] = ((static_type___MMSignature___return_type_t)CALL(variable[17],COLOR_static_type___MMSignature___return_type))(variable[17]) /*MMSignature::return_type*/;
3126 variable[16] = variable[17];
3127 variable[17] = TAG_Bool(( variable[15] /*p*/==NIT_NULL) || VAL_ISA( variable[15] /*p*/, COLOR_MMAttribute, ID_MMAttribute)) /*cast MMAttribute*/;
3128 variable[18] = variable[17];
3129 if (UNTAG_Bool(variable[18])) { /* and */
3130 variable[18] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[16] /*t*/ == NIT_NULL /*null*/) || (( variable[16] /*t*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[16] /*t*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[16] /*t*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[16] /*t*/,COLOR_kernel___Object_____eqeq))( variable[16] /*t*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3131 }
3132 variable[17] = variable[18];
3133 if (UNTAG_Bool(variable[17])) { /*if*/
3134 variable[17] = TAG_Bool(( variable[15] /*p*/==NIT_NULL) || VAL_ISA( variable[15] /*p*/, COLOR_MMSrcAttribute, ID_MMSrcAttribute)) /*cast MMSrcAttribute*/;
3135 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_global___MMLocalClass___compile_tables_to_c, LOCATE_compiling_global, 872); nit_exit(1);}
3136 variable[18] = ((syntax_base___MMSrcAttribute___node_t)CALL( variable[15] /*p*/,COLOR_syntax_base___MMLocalProperty___node))( variable[15] /*p*/) /*MMSrcAttribute::node*/;
3137 variable[17] = variable[18];
3138 variable[18] = TAG_Bool(( variable[17] /*np*/==NIT_NULL) || VAL_ISA( variable[17] /*np*/, COLOR_AAttrPropdef, ID_AAttrPropdef)) /*cast AAttrPropdef*/;
3139 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_global___MMLocalClass___compile_tables_to_c, LOCATE_compiling_global, 874); nit_exit(1);}
3140 variable[19] = ((parser_nodes___AAttrPropdef___n_expr_t)CALL( variable[17] /*np*/,COLOR_parser_nodes___AAttrPropdef___n_expr))( variable[17] /*np*/) /*AAttrPropdef::n_expr*/;
3141 variable[18] = variable[19];
3142 variable[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[18] /*ne*/ == NIT_NULL /*null*/) || (( variable[18] /*ne*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[18] /*ne*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[18] /*ne*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[18] /*ne*/,COLOR_kernel___Object_____eqeq))( variable[18] /*ne*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3143 if (UNTAG_Bool(variable[19])) { /*if*/
3144 variable[20] = ((compiling_methods___PExpr___compile_expr_t)CALL( variable[18] /*ne*/,COLOR_compiling_methods___PExpr___compile_expr))( variable[18] /*ne*/, variable[1] /*v*/) /*PExpr::compile_expr*/;
3145 variable[19] = variable[20];
3146 variable[20] = NEW_String_string___String___init(); /*new String*/
3147 variable[21] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
3148 variable[22] = variable[21];
3149 ((string___String___append_t)CALL(variable[20],COLOR_abstract_collection___IndexedCollection___append))(variable[20], variable[22]) /*String::append*/;
3150 variable[23] = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable[15] /*p*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable[15] /*p*/) /*MMLocalProperty::global*/;
3151 variable[23] = ((compiling_base___MMGlobalProperty___attr_access_t)CALL(variable[23],COLOR_compiling_base___MMGlobalProperty___attr_access))(variable[23]) /*MMGlobalProperty::attr_access*/;
3152 variable[24] = variable[23];
3153 ((string___String___append_t)CALL(variable[20],COLOR_abstract_collection___IndexedCollection___append))(variable[20], variable[24]) /*String::append*/;
3154 variable[25] = NEW_String_string___String___with_native(BOX_NativeString("(obj) = "), TAG_Int(8)); /*new String*/
3155 variable[26] = variable[25];
3156 ((string___String___append_t)CALL(variable[20],COLOR_abstract_collection___IndexedCollection___append))(variable[20], variable[26]) /*String::append*/;
3157 variable[27] = variable[19] /*e*/;
3158 ((string___String___append_t)CALL(variable[20],COLOR_abstract_collection___IndexedCollection___append))(variable[20], variable[27]) /*String::append*/;
3159 variable[28] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
3160 variable[29] = variable[28];
3161 ((string___String___append_t)CALL(variable[20],COLOR_abstract_collection___IndexedCollection___append))(variable[20], variable[29]) /*String::append*/;
3162 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable[1] /*v*/, variable[20]) /*CompilerVisitor::add_instr*/;
3163 } else { /*if*/
3164 variable[20] = ((static_type___MMType___local_class_t)CALL( variable[16] /*t*/,COLOR_static_type___MMType___local_class))( variable[16] /*t*/) /*MMType::local_class*/;
3165 variable[20] = ((compiling_base___MMLocalClass___primitive_info_t)CALL(variable[20],COLOR_compiling_base___MMLocalClass___primitive_info))(variable[20]) /*MMLocalClass::primitive_info*/;
3166 variable[19] = variable[20];
3167 variable[20] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[19] /*pi*/ == NIT_NULL /*null*/) || (( variable[19] /*pi*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[19] /*pi*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[19] /*pi*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[19] /*pi*/,COLOR_kernel___Object_____eqeq))( variable[19] /*pi*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3168 variable[21] = variable[20];
3169 if (UNTAG_Bool(variable[21])) { /* and */
3170 variable[21] = ((compiling_base___PrimitiveInfo___tagged_t)CALL( variable[19] /*pi*/,COLOR_compiling_base___PrimitiveInfo___tagged))( variable[19] /*pi*/) /*PrimitiveInfo::tagged*/;
3171 }
3172 variable[20] = variable[21];
3173 if (UNTAG_Bool(variable[20])) { /*if*/
3174 variable[21] = ((compiling_base___MMType___default_cvalue_t)CALL( variable[16] /*t*/,COLOR_compiling_base___MMType___default_cvalue))( variable[16] /*t*/) /*MMType::default_cvalue*/;
3175 variable[20] = variable[21];
3176 variable[21] = NEW_String_string___String___init(); /*new String*/
3177 variable[22] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
3178 variable[23] = variable[22];
3179 ((string___String___append_t)CALL(variable[21],COLOR_abstract_collection___IndexedCollection___append))(variable[21], variable[23]) /*String::append*/;
3180 variable[24] = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable[15] /*p*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable[15] /*p*/) /*MMLocalProperty::global*/;
3181 variable[24] = ((compiling_base___MMGlobalProperty___attr_access_t)CALL(variable[24],COLOR_compiling_base___MMGlobalProperty___attr_access))(variable[24]) /*MMGlobalProperty::attr_access*/;
3182 variable[25] = variable[24];
3183 ((string___String___append_t)CALL(variable[21],COLOR_abstract_collection___IndexedCollection___append))(variable[21], variable[25]) /*String::append*/;
3184 variable[26] = NEW_String_string___String___with_native(BOX_NativeString("(obj) = "), TAG_Int(8)); /*new String*/
3185 variable[27] = variable[26];
3186 ((string___String___append_t)CALL(variable[21],COLOR_abstract_collection___IndexedCollection___append))(variable[21], variable[27]) /*String::append*/;
3187 variable[28] = variable[20] /*default*/;
3188 ((string___String___append_t)CALL(variable[21],COLOR_abstract_collection___IndexedCollection___append))(variable[21], variable[28]) /*String::append*/;
3189 variable[29] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
3190 variable[30] = variable[29];
3191 ((string___String___append_t)CALL(variable[21],COLOR_abstract_collection___IndexedCollection___append))(variable[21], variable[30]) /*String::append*/;
3192 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable[1] /*v*/, variable[21]) /*CompilerVisitor::add_instr*/;
3193 }
3194 }
3195 }
3196 continue_104: while(0);
3197 ((abstract_collection___Iterator___next_t)CALL(variable[12],COLOR_abstract_collection___Iterator___next))(variable[12]) /*Iterator::next*/;
3198 }
3199 break_104: while(0);
3200 variable[12] = NEW_String_string___String___with_native(BOX_NativeString("return OBJ2VAL(obj);"), TAG_Int(20)); /*new String*/
3201 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable[1] /*v*/, variable[12]) /*CompilerVisitor::add_instr*/;
3202 variable[12] = ((compiling_methods___CompilerVisitor___cfc_t)CALL( variable[1] /*v*/,COLOR_compiling_methods___CompilerVisitor___cfc))( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
3203 ((compiling_methods___CFunctionContext___generate_var_decls_t)CALL(variable[12],COLOR_compiling_methods___CFunctionContext___generate_var_decls))(variable[12]) /*CFunctionContext::generate_var_decls*/;
3204 variable[12] = ((compiling_base___CompilerVisitor___ctx_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___ctx))( variable[1] /*v*/) /*CompilerVisitor::ctx*/;
3205 ((compiling_base___CContext___append_t)CALL( variable[9] /*ctx_old*/,COLOR_compiling_base___CContext___append))( variable[9] /*ctx_old*/, variable[12]) /*CContext::append*/;
3206 ((compiling_base___CompilerVisitor___ctx__eq_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___ctx__eq))( variable[1] /*v*/, variable[9] /*ctx_old*/) /*CompilerVisitor::ctx=*/;
3207 ((compiling_base___CompilerVisitor___unindent_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___unindent))( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
3208 variable[12] = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
3209 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable[1] /*v*/, variable[12]) /*CompilerVisitor::add_instr*/;
3210 variable[13] = variable[0];
3211 variable[13] = ((abstractmetamodel___MMLocalClass___cshe_t)CALL(variable[13],COLOR_abstractmetamodel___MMLocalClass___cshe))(variable[13]) /*MMLocalClass::cshe*/;
3212 variable[13] = ((partial_order___PartialOrderElement___greaters_t)CALL(variable[13],COLOR_partial_order___PartialOrderElement___greaters))(variable[13]) /*PartialOrderElement::greaters*/;
3213 variable[13] = ((abstract_collection___Collection___length_t)CALL(variable[13],COLOR_abstract_collection___Collection___length))(variable[13]) /*Collection::length*/;
3214 variable[13] = TAG_Int(UNTAG_Int(variable[13])+UNTAG_Int( TAG_Int(1)));
3215 variable[12] = variable[13];
3216 variable[14] = NEW_String_string___String___init(); /*new String*/
3217 variable[15] = NEW_String_string___String___with_native(BOX_NativeString("int init_table["), TAG_Int(15)); /*new String*/
3218 variable[16] = variable[15];
3219 ((string___String___append_t)CALL(variable[14],COLOR_abstract_collection___IndexedCollection___append))(variable[14], variable[16]) /*String::append*/;
3220 variable[17] = variable[12] /*init_table_size*/;
3221 variable[17] = ((string___String___to_s_t)CALL(variable[17],COLOR_string___Object___to_s))(variable[17]) /*String::to_s*/;
3222 ((string___String___append_t)CALL(variable[14],COLOR_abstract_collection___IndexedCollection___append))(variable[14], variable[17]) /*String::append*/;
3223 variable[18] = NEW_String_string___String___with_native(BOX_NativeString("] = {0"), TAG_Int(6)); /*new String*/
3224 variable[19] = variable[18];
3225 ((string___String___append_t)CALL(variable[14],COLOR_abstract_collection___IndexedCollection___append))(variable[14], variable[19]) /*String::append*/;
3226 variable[20] = NEW_String_string___String___with_native(BOX_NativeString(", 0"), TAG_Int(3)); /*new String*/
3227 variable[21] = TAG_Int(UNTAG_Int( variable[12] /*init_table_size*/)-UNTAG_Int( TAG_Int(1)));
3228 variable[20] = ((string___String_____star_t)CALL(variable[20],COLOR_string___String_____star))(variable[20], variable[21]) /*String::**/;
3229 variable[21] = variable[20];
3230 ((string___String___append_t)CALL(variable[14],COLOR_abstract_collection___IndexedCollection___append))(variable[14], variable[21]) /*String::append*/;
3231 variable[22] = NEW_String_string___String___with_native(BOX_NativeString("};"), TAG_Int(2)); /*new String*/
3232 variable[23] = variable[22];
3233 ((string___String___append_t)CALL(variable[14],COLOR_abstract_collection___IndexedCollection___append))(variable[14], variable[23]) /*String::append*/;
3234 variable[13] = variable[14];
3235 variable[14] = variable[0];
3236 variable[14] = ((abstractmetamodel___MMLocalClass___global_properties_t)CALL(variable[14],COLOR_abstractmetamodel___MMLocalClass___global_properties))(variable[14]) /*MMLocalClass::global_properties*/;
3237 variable[14] = ((abstract_collection___Collection___iterator_t)CALL(variable[14],COLOR_abstract_collection___Collection___iterator))(variable[14]) /*Collection::iterator*/;
3238 while (true) { /*for*/
3239 variable[15] = ((abstract_collection___Iterator___is_ok_t)CALL(variable[14],COLOR_abstract_collection___Iterator___is_ok))(variable[14]) /*Iterator::is_ok*/;
3240 if (!UNTAG_Bool(variable[15])) break; /*for*/
3241 variable[15] = ((abstract_collection___Iterator___item_t)CALL(variable[14],COLOR_abstract_collection___Iterator___item))(variable[14]) /*Iterator::item*/;
3242 variable[16] = variable[15];
3243 variable[18] = variable[0];
3244 variable[18] = ((inheritance___MMLocalClass_____bra_t)CALL(variable[18],COLOR_abstractmetamodel___MMLocalClass_____bra))(variable[18], variable[16] /*g*/) /*MMLocalClass::[]*/;
3245 variable[17] = variable[18];
3246 variable[18] = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable[17] /*p*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable[17] /*p*/) /*MMLocalProperty::global*/;
3247 variable[19] = variable[0];
3248 variable[18] = ((abstractmetamodel___MMGlobalProperty___is_init_for_t)CALL(variable[18],COLOR_abstractmetamodel___MMGlobalProperty___is_init_for))(variable[18], variable[19]) /*MMGlobalProperty::is_init_for*/;
3249 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable[18])))) { /*if*/
3250 goto continue_105;
3251 }
3252 variable[19] = NEW_Array_array___Array___init(); /*new Array[String]*/
3253 variable[18] = variable[19];
3254 variable[20] = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[String]*/
3255 variable[21] = NEW_String_string___String___with_native(BOX_NativeString("self"), TAG_Int(4)); /*new String*/
3256 ((array___AbstractArray___add_t)CALL(variable[20],COLOR_abstract_collection___SimpleCollection___add))(variable[20], variable[21]) /*AbstractArray::add*/;
3257 variable[19] = variable[20];
3258 variable[20] = ((static_type___MMLocalProperty___signature_t)CALL( variable[17] /*p*/,COLOR_static_type___MMLocalProperty___signature))( variable[17] /*p*/) /*MMLocalProperty::signature*/;
3259 variable[20] = ((static_type___MMSignature___arity_t)CALL(variable[20],COLOR_static_type___MMSignature___arity))(variable[20]) /*MMSignature::arity*/;
3260 variable[21] = NEW_Range_range___Range___without_last( TAG_Int(0), variable[20]); /*new Range[Int]*/
3261 variable[20] = variable[21];
3262 variable[20] = ((range___Range___iterator_t)CALL(variable[20],COLOR_abstract_collection___Collection___iterator))(variable[20]) /*Range::iterator*/;
3263 while (true) { /*for*/
3264 variable[21] = ((abstract_collection___Iterator___is_ok_t)CALL(variable[20],COLOR_abstract_collection___Iterator___is_ok))(variable[20]) /*Iterator::is_ok*/;
3265 if (!UNTAG_Bool(variable[21])) break; /*for*/
3266 variable[21] = ((abstract_collection___Iterator___item_t)CALL(variable[20],COLOR_abstract_collection___Iterator___item))(variable[20]) /*Iterator::item*/;
3267 variable[22] = variable[21];
3268 variable[23] = NEW_String_string___String___init(); /*new String*/
3269 variable[24] = NEW_String_string___String___with_native(BOX_NativeString("val_t p"), TAG_Int(7)); /*new String*/
3270 variable[25] = variable[24];
3271 ((string___String___append_t)CALL(variable[23],COLOR_abstract_collection___IndexedCollection___append))(variable[23], variable[25]) /*String::append*/;
3272 variable[26] = variable[22] /*i*/;
3273 variable[26] = ((string___String___to_s_t)CALL(variable[26],COLOR_string___Object___to_s))(variable[26]) /*String::to_s*/;
3274 ((string___String___append_t)CALL(variable[23],COLOR_abstract_collection___IndexedCollection___append))(variable[23], variable[26]) /*String::append*/;
3275 variable[27] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
3276 variable[28] = variable[27];
3277 ((string___String___append_t)CALL(variable[23],COLOR_abstract_collection___IndexedCollection___append))(variable[23], variable[28]) /*String::append*/;
3278 ((array___AbstractArray___add_t)CALL( variable[18] /*params*/,COLOR_abstract_collection___SimpleCollection___add))( variable[18] /*params*/, variable[23]) /*AbstractArray::add*/;
3279 variable[23] = NEW_String_string___String___init(); /*new String*/
3280 variable[24] = NEW_String_string___String___with_native(BOX_NativeString("p"), TAG_Int(1)); /*new String*/
3281 variable[25] = variable[24];
3282 ((string___String___append_t)CALL(variable[23],COLOR_abstract_collection___IndexedCollection___append))(variable[23], variable[25]) /*String::append*/;
3283 variable[26] = variable[22] /*i*/;
3284 variable[26] = ((string___String___to_s_t)CALL(variable[26],COLOR_string___Object___to_s))(variable[26]) /*String::to_s*/;
3285 ((string___String___append_t)CALL(variable[23],COLOR_abstract_collection___IndexedCollection___append))(variable[23], variable[26]) /*String::append*/;
3286 variable[27] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
3287 variable[28] = variable[27];
3288 ((string___String___append_t)CALL(variable[23],COLOR_abstract_collection___IndexedCollection___append))(variable[23], variable[28]) /*String::append*/;
3289 ((array___AbstractArray___add_t)CALL( variable[19] /*args*/,COLOR_abstract_collection___SimpleCollection___add))( variable[19] /*args*/, variable[23]) /*AbstractArray::add*/;
3290 continue_106: while(0);
3291 ((abstract_collection___Iterator___next_t)CALL(variable[20],COLOR_abstract_collection___Iterator___next))(variable[20]) /*Iterator::next*/;
3292 }
3293 break_106: while(0);
3294 variable[20] = NEW_String_string___String___with_native(BOX_NativeString("init_table"), TAG_Int(10)); /*new String*/
3295 ((array___AbstractArray___add_t)CALL( variable[19] /*args*/,COLOR_abstract_collection___SimpleCollection___add))( variable[19] /*args*/, variable[20]) /*AbstractArray::add*/;
3296 variable[21] = NEW_String_string___String___init(); /*new String*/
3297 variable[22] = NEW_String_string___String___with_native(BOX_NativeString("val_t NEW_"), TAG_Int(10)); /*new String*/
3298 variable[23] = variable[22];
3299 ((string___String___append_t)CALL(variable[21],COLOR_abstract_collection___IndexedCollection___append))(variable[21], variable[23]) /*String::append*/;
3300 variable[24] = variable[0];
3301 variable[25] = variable[24];
3302 variable[25] = ((string___String___to_s_t)CALL(variable[25],COLOR_string___Object___to_s))(variable[25]) /*String::to_s*/;
3303 ((string___String___append_t)CALL(variable[21],COLOR_abstract_collection___IndexedCollection___append))(variable[21], variable[25]) /*String::append*/;
3304 variable[26] = NEW_String_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
3305 variable[27] = variable[26];
3306 ((string___String___append_t)CALL(variable[21],COLOR_abstract_collection___IndexedCollection___append))(variable[21], variable[27]) /*String::append*/;
3307 variable[28] = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable[17] /*p*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable[17] /*p*/) /*MMLocalProperty::global*/;
3308 variable[28] = ((abstractmetamodel___MMGlobalProperty___intro_t)CALL(variable[28],COLOR_abstractmetamodel___MMGlobalProperty___intro))(variable[28]) /*MMGlobalProperty::intro*/;
3309 variable[28] = ((compiling_base___MMLocalProperty___cname_t)CALL(variable[28],COLOR_compiling_base___MMLocalProperty___cname))(variable[28]) /*MMLocalProperty::cname*/;
3310 variable[29] = variable[28];
3311 ((string___String___append_t)CALL(variable[21],COLOR_abstract_collection___IndexedCollection___append))(variable[21], variable[29]) /*String::append*/;
3312 variable[30] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
3313 variable[31] = variable[30];
3314 ((string___String___append_t)CALL(variable[21],COLOR_abstract_collection___IndexedCollection___append))(variable[21], variable[31]) /*String::append*/;
3315 variable[32] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
3316 variable[32] = ((string___Collection___join_t)CALL( variable[18] /*params*/,COLOR_string___Collection___join))( variable[18] /*params*/, variable[32]) /*Collection::join*/;
3317 variable[33] = variable[32];
3318 ((string___String___append_t)CALL(variable[21],COLOR_abstract_collection___IndexedCollection___append))(variable[21], variable[33]) /*String::append*/;
3319 variable[34] = NEW_String_string___String___with_native(BOX_NativeString(") {"), TAG_Int(3)); /*new String*/
3320 variable[35] = variable[34];
3321 ((string___String___append_t)CALL(variable[21],COLOR_abstract_collection___IndexedCollection___append))(variable[21], variable[35]) /*String::append*/;
3322 variable[20] = variable[21];
3323 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable[1] /*v*/, variable[20] /*s*/) /*CompilerVisitor::add_instr*/;
3324 ((compiling_base___CompilerVisitor___indent_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___indent))( variable[1] /*v*/) /*CompilerVisitor::indent*/;
3325 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable[1] /*v*/, variable[13] /*init_table_decl*/) /*CompilerVisitor::add_instr*/;
3326 variable[21] = NEW_String_string___String___init(); /*new String*/
3327 variable[22] = NEW_String_string___String___with_native(BOX_NativeString("val_t self = NEW_"), TAG_Int(17)); /*new String*/
3328 variable[23] = variable[22];
3329 ((string___String___append_t)CALL(variable[21],COLOR_abstract_collection___IndexedCollection___append))(variable[21], variable[23]) /*String::append*/;
3330 variable[24] = variable[0];
3331 variable[24] = ((abstractmetamodel___MMLocalClass___name_t)CALL(variable[24],COLOR_abstractmetamodel___MMLocalClass___name))(variable[24]) /*MMLocalClass::name*/;
3332 variable[25] = variable[24];
3333 variable[25] = ((string___String___to_s_t)CALL(variable[25],COLOR_string___Object___to_s))(variable[25]) /*String::to_s*/;
3334 ((string___String___append_t)CALL(variable[21],COLOR_abstract_collection___IndexedCollection___append))(variable[21], variable[25]) /*String::append*/;
3335 variable[26] = NEW_String_string___String___with_native(BOX_NativeString("();"), TAG_Int(3)); /*new String*/
3336 variable[27] = variable[26];
3337 ((string___String___append_t)CALL(variable[21],COLOR_abstract_collection___IndexedCollection___append))(variable[21], variable[27]) /*String::append*/;
3338 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable[1] /*v*/, variable[21]) /*CompilerVisitor::add_instr*/;
3339 variable[21] = NEW_String_string___String___init(); /*new String*/
3340 variable[22] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
3341 variable[23] = variable[22];
3342 ((string___String___append_t)CALL(variable[21],COLOR_abstract_collection___IndexedCollection___append))(variable[21], variable[23]) /*String::append*/;
3343 variable[24] = ((compiling_base___MMLocalProperty___cname_t)CALL( variable[17] /*p*/,COLOR_compiling_base___MMLocalProperty___cname))( variable[17] /*p*/) /*MMLocalProperty::cname*/;
3344 variable[25] = variable[24];
3345 ((string___String___append_t)CALL(variable[21],COLOR_abstract_collection___IndexedCollection___append))(variable[21], variable[25]) /*String::append*/;
3346 variable[26] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
3347 variable[27] = variable[26];
3348 ((string___String___append_t)CALL(variable[21],COLOR_abstract_collection___IndexedCollection___append))(variable[21], variable[27]) /*String::append*/;
3349 variable[28] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
3350 variable[28] = ((string___Collection___join_t)CALL( variable[19] /*args*/,COLOR_string___Collection___join))( variable[19] /*args*/, variable[28]) /*Collection::join*/;
3351 variable[29] = variable[28];
3352 ((string___String___append_t)CALL(variable[21],COLOR_abstract_collection___IndexedCollection___append))(variable[21], variable[29]) /*String::append*/;
3353 variable[30] = NEW_String_string___String___with_native(BOX_NativeString(");"), TAG_Int(2)); /*new String*/
3354 variable[31] = variable[30];
3355 ((string___String___append_t)CALL(variable[21],COLOR_abstract_collection___IndexedCollection___append))(variable[21], variable[31]) /*String::append*/;
3356 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable[1] /*v*/, variable[21]) /*CompilerVisitor::add_instr*/;
3357 variable[21] = NEW_String_string___String___with_native(BOX_NativeString("return self;"), TAG_Int(12)); /*new String*/
3358 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable[1] /*v*/, variable[21]) /*CompilerVisitor::add_instr*/;
3359 ((compiling_base___CompilerVisitor___unindent_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___unindent))( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
3360 variable[21] = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
3361 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable[1] /*v*/, variable[21]) /*CompilerVisitor::add_instr*/;
3362 continue_105: while(0);
3363 ((abstract_collection___Iterator___next_t)CALL(variable[14],COLOR_abstract_collection___Iterator___next))(variable[14]) /*Iterator::next*/;
3364 }
3365 break_105: while(0);
3366 } else { /*if*/
3367 variable[8] = ((compiling_base___PrimitiveInfo___tagged_t)CALL( variable[7] /*pi*/,COLOR_compiling_base___PrimitiveInfo___tagged))( variable[7] /*pi*/) /*PrimitiveInfo::tagged*/;
3368 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable[8])))) { /*if*/
3369 variable[9] = ((compiling_base___PrimitiveInfo___cname_t)CALL( variable[7] /*pi*/,COLOR_compiling_base___PrimitiveInfo___cname))( variable[7] /*pi*/) /*PrimitiveInfo::cname*/;
3370 variable[8] = variable[9];
3371 variable[10] = NEW_String_string___String___init(); /*new String*/
3372 variable[11] = NEW_String_string___String___with_native(BOX_NativeString("struct TBOX_"), TAG_Int(12)); /*new String*/
3373 variable[12] = variable[11];
3374 ((string___String___append_t)CALL(variable[10],COLOR_abstract_collection___IndexedCollection___append))(variable[10], variable[12]) /*String::append*/;
3375 variable[13] = variable[0];
3376 variable[13] = ((abstractmetamodel___MMLocalClass___name_t)CALL(variable[13],COLOR_abstractmetamodel___MMLocalClass___name))(variable[13]) /*MMLocalClass::name*/;
3377 variable[14] = variable[13];
3378 variable[14] = ((string___String___to_s_t)CALL(variable[14],COLOR_string___Object___to_s))(variable[14]) /*String::to_s*/;
3379 ((string___String___append_t)CALL(variable[10],COLOR_abstract_collection___IndexedCollection___append))(variable[10], variable[14]) /*String::append*/;
3380 variable[15] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
3381 variable[16] = variable[15];
3382 ((string___String___append_t)CALL(variable[10],COLOR_abstract_collection___IndexedCollection___append))(variable[10], variable[16]) /*String::append*/;
3383 variable[9] = variable[10];
3384 variable[10] = NEW_String_string___String___init(); /*new String*/
3385 variable[11] = NEW_String_string___String___with_native(BOX_NativeString("val_t BOX_"), TAG_Int(10)); /*new String*/
3386 variable[12] = variable[11];
3387 ((string___String___append_t)CALL(variable[10],COLOR_abstract_collection___IndexedCollection___append))(variable[10], variable[12]) /*String::append*/;
3388 variable[13] = variable[0];
3389 variable[13] = ((abstractmetamodel___MMLocalClass___name_t)CALL(variable[13],COLOR_abstractmetamodel___MMLocalClass___name))(variable[13]) /*MMLocalClass::name*/;
3390 variable[14] = variable[13];
3391 variable[14] = ((string___String___to_s_t)CALL(variable[14],COLOR_string___Object___to_s))(variable[14]) /*String::to_s*/;
3392 ((string___String___append_t)CALL(variable[10],COLOR_abstract_collection___IndexedCollection___append))(variable[10], variable[14]) /*String::append*/;
3393 variable[15] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
3394 variable[16] = variable[15];
3395 ((string___String___append_t)CALL(variable[10],COLOR_abstract_collection___IndexedCollection___append))(variable[10], variable[16]) /*String::append*/;
3396 variable[17] = variable[8] /*t*/;
3397 ((string___String___append_t)CALL(variable[10],COLOR_abstract_collection___IndexedCollection___append))(variable[10], variable[17]) /*String::append*/;
3398 variable[18] = NEW_String_string___String___with_native(BOX_NativeString(" val) {"), TAG_Int(7)); /*new String*/
3399 variable[19] = variable[18];
3400 ((string___String___append_t)CALL(variable[10],COLOR_abstract_collection___IndexedCollection___append))(variable[10], variable[19]) /*String::append*/;
3401 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable[1] /*v*/, variable[10]) /*CompilerVisitor::add_instr*/;
3402 ((compiling_base___CompilerVisitor___indent_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___indent))( variable[1] /*v*/) /*CompilerVisitor::indent*/;
3403 variable[10] = NEW_String_string___String___init(); /*new String*/
3404 variable[11] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
3405 variable[12] = variable[11];
3406 ((string___String___append_t)CALL(variable[10],COLOR_abstract_collection___IndexedCollection___append))(variable[10], variable[12]) /*String::append*/;
3407 variable[13] = variable[9] /*tbox*/;
3408 ((string___String___append_t)CALL(variable[10],COLOR_abstract_collection___IndexedCollection___append))(variable[10], variable[13]) /*String::append*/;
3409 variable[14] = NEW_String_string___String___with_native(BOX_NativeString(" *box = ("), TAG_Int(9)); /*new String*/
3410 variable[15] = variable[14];
3411 ((string___String___append_t)CALL(variable[10],COLOR_abstract_collection___IndexedCollection___append))(variable[10], variable[15]) /*String::append*/;
3412 variable[16] = variable[9] /*tbox*/;
3413 ((string___String___append_t)CALL(variable[10],COLOR_abstract_collection___IndexedCollection___append))(variable[10], variable[16]) /*String::append*/;
3414 variable[17] = NEW_String_string___String___with_native(BOX_NativeString("*)alloc(sizeof("), TAG_Int(15)); /*new String*/
3415 variable[18] = variable[17];
3416 ((string___String___append_t)CALL(variable[10],COLOR_abstract_collection___IndexedCollection___append))(variable[10], variable[18]) /*String::append*/;
3417 variable[19] = variable[9] /*tbox*/;
3418 ((string___String___append_t)CALL(variable[10],COLOR_abstract_collection___IndexedCollection___append))(variable[10], variable[19]) /*String::append*/;
3419 variable[20] = NEW_String_string___String___with_native(BOX_NativeString("));"), TAG_Int(3)); /*new String*/
3420 variable[21] = variable[20];
3421 ((string___String___append_t)CALL(variable[10],COLOR_abstract_collection___IndexedCollection___append))(variable[10], variable[21]) /*String::append*/;
3422 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable[1] /*v*/, variable[10]) /*CompilerVisitor::add_instr*/;
3423 variable[10] = NEW_String_string___String___init(); /*new String*/
3424 variable[11] = NEW_String_string___String___with_native(BOX_NativeString("box->vft = VFT_"), TAG_Int(15)); /*new String*/
3425 variable[12] = variable[11];
3426 ((string___String___append_t)CALL(variable[10],COLOR_abstract_collection___IndexedCollection___append))(variable[10], variable[12]) /*String::append*/;
3427 variable[13] = variable[0];
3428 variable[13] = ((abstractmetamodel___MMLocalClass___name_t)CALL(variable[13],COLOR_abstractmetamodel___MMLocalClass___name))(variable[13]) /*MMLocalClass::name*/;
3429 variable[14] = variable[13];
3430 variable[14] = ((string___String___to_s_t)CALL(variable[14],COLOR_string___Object___to_s))(variable[14]) /*String::to_s*/;
3431 ((string___String___append_t)CALL(variable[10],COLOR_abstract_collection___IndexedCollection___append))(variable[10], variable[14]) /*String::append*/;
3432 variable[15] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
3433 variable[16] = variable[15];
3434 ((string___String___append_t)CALL(variable[10],COLOR_abstract_collection___IndexedCollection___append))(variable[10], variable[16]) /*String::append*/;
3435 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable[1] /*v*/, variable[10]) /*CompilerVisitor::add_instr*/;
3436 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("box->val = val;"), TAG_Int(15)); /*new String*/
3437 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable[1] /*v*/, variable[10]) /*CompilerVisitor::add_instr*/;
3438 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("return OBJ2VAL(box);"), TAG_Int(20)); /*new String*/
3439 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable[1] /*v*/, variable[10]) /*CompilerVisitor::add_instr*/;
3440 ((compiling_base___CompilerVisitor___unindent_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___unindent))( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
3441 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
3442 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable[1] /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable[1] /*v*/, variable[10]) /*CompilerVisitor::add_instr*/;
3443 }
3444 }
3445 return_label101: while(false);
3446 tracehead = trace.prev;
3447 return;
3448 }