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
};
6 void **closurevariable
= NULL
;
7 trace
.prev
= tracehead
; tracehead
= &trace
;
8 trace
.file
= LOCATE_compiling_global
;
11 variable
[3] = variable
[0];
12 variable
[3] = ATTR_compiling_global___ColorContext____colors(variable
[3]) /*ColorContext::_colors*/;
13 variable
[3] = CALL_abstract_collection___Map_____bra(variable
[3])(variable
[3], variable
[1] /*e*/) /*CoupleMap::[]*/;
14 variable
[2] = variable
[3];
16 return_label0
: while(false);
17 tracehead
= trace
.prev
;
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
};
23 void **closurevariable
= NULL
;
24 trace
.prev
= tracehead
; tracehead
= &trace
;
25 trace
.file
= LOCATE_compiling_global
;
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
) && ((CALL_kernel___Object_____eqeq(variable
[3])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[3], NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[3])(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] = CALL_abstract_collection___Map___has_key(variable
[4])(variable
[4], variable
[1] /*e*/) /*CoupleMap::has_key*/;
37 variable
[3] = variable
[4];
38 variable
[2] = variable
[3];
40 return_label1
: while(false);
41 tracehead
= trace
.prev
;
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
};
47 void **closurevariable
= NULL
;
48 trace
.prev
= tracehead
; tracehead
= &trace
;
49 trace
.file
= LOCATE_compiling_global
;
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
) && ((CALL_kernel___Object_____eqeq(variable
[4])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[4], NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[4])(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];
61 variable
[4] = variable
[0];
62 variable
[4] = ATTR_compiling_global___ColorContext____colors(variable
[4]) /*ColorContext::_colors*/;
63 CALL_abstract_collection___Map_____braeq(variable
[4])(variable
[4], variable
[1] /*e*/, variable
[2] /*c*/) /*HashMap::[]=*/;
64 variable
[4] = variable
[2] /*c*/;
65 variable
[5] = CALL_compiling_global___TableElt___length( variable
[1] /*e*/)( 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] = CALL_abstract_collection___Collection___iterator(variable
[5])(variable
[5]) /*Range::iterator*/;
69 while (true) { /*for*/
70 variable
[6] = CALL_abstract_collection___Iterator___is_ok(variable
[5])(variable
[5]) /*Iterator::is_ok*/;
71 if (!UNTAG_Bool(variable
[6])) break; /*for*/
72 variable
[6] = CALL_abstract_collection___Iterator___item(variable
[5])(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] = CALL_compiling_global___TableElt___item( variable
[1] /*e*/)( variable
[1] /*e*/, variable
[7] /*i*/) /*TableElt::item*/;
77 CALL_abstract_collection___Map_____braeq(variable
[8])(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=*/;
81 CALL_abstract_collection___Iterator___next(variable
[5])(variable
[5]) /*Iterator::next*/;
84 return_label2
: while(false);
85 tracehead
= trace
.prev
;
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
;
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*/;
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*/;
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*/;
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
;
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
};
137 void **closurevariable
= NULL
;
138 trace
.prev
= tracehead
; tracehead
= &trace
;
139 trace
.file
= LOCATE_compiling_global
;
141 variable
[1] = param0
;
142 if (init_table
[VAL2OBJ(variable
[0])->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(variable
[0])->vft
[INIT_TABLE_POS_GlobalAnalysis
].i
] = 1;
150 tracehead
= trace
.prev
;
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*/;
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
;
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*/;
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*/;
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
;
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*/;
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
;
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*/;
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
;
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*/;
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
;
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*/;
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
;
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
};
279 void **closurevariable
= NULL
;
280 trace
.prev
= tracehead
; tracehead
= &trace
;
281 trace
.file
= LOCATE_compiling_global
;
283 variable
[1] = param0
;
284 if (init_table
[VAL2OBJ(variable
[0])->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(variable
[0])->vft
[INIT_TABLE_POS_CompiledClass
].i
] = 1;
289 tracehead
= trace
.prev
;
292 val_t
compiling_global___MMSrcLocalClass___class_color_pos(val_t self
) {
293 struct trace_t trace
= {NULL
, NULL
, 102, LOCATE_compiling_global___MMSrcLocalClass___class_color_pos
};
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___MMSrcLocalClass____class_color_pos( self
) /*MMSrcLocalClass::_class_color_pos*/;
301 val_t
compiling_global___MMSrcLocalClass___class_layout(val_t self
) {
302 struct trace_t trace
= {NULL
, NULL
, 105, LOCATE_compiling_global___MMSrcLocalClass___class_layout
};
303 val_t
*variable
= NULL
;
304 void **closurevariable
= NULL
;
305 trace
.prev
= tracehead
; tracehead
= &trace
;
306 trace
.file
= LOCATE_compiling_global
;
307 tracehead
= trace
.prev
;
308 return ATTR_compiling_global___MMSrcLocalClass____class_layout( self
) /*MMSrcLocalClass::_class_layout*/;
310 val_t
compiling_global___MMSrcLocalClass___instance_layout(val_t self
) {
311 struct trace_t trace
= {NULL
, NULL
, 108, LOCATE_compiling_global___MMSrcLocalClass___instance_layout
};
312 val_t
*variable
= NULL
;
313 void **closurevariable
= NULL
;
314 trace
.prev
= tracehead
; tracehead
= &trace
;
315 trace
.file
= LOCATE_compiling_global
;
316 tracehead
= trace
.prev
;
317 return ATTR_compiling_global___MMSrcLocalClass____instance_layout( self
) /*MMSrcLocalClass::_instance_layout*/;
319 void compiling_global___MMSrcLocalClass___build_layout_in(val_t self
, val_t param0
, val_t param1
) {
320 struct trace_t trace
= {NULL
, NULL
, 111, LOCATE_compiling_global___MMSrcLocalClass___build_layout_in
};
322 void **closurevariable
= NULL
;
323 trace
.prev
= tracehead
; tracehead
= &trace
;
324 trace
.file
= LOCATE_compiling_global
;
326 variable
[1] = param0
;
327 variable
[2] = param1
;
328 variable
[5] = NEW_Array_array___Array___init(); /*new Array[TableElt]*/
329 variable
[4] = variable
[5];
330 variable
[5] = variable
[0];
331 ATTR_compiling_global___MMSrcLocalClass____class_layout(variable
[5]) /*MMSrcLocalClass::_class_layout*/ = variable
[4] /*clt*/;
332 variable
[6] = NEW_Array_array___Array___init(); /*new Array[TableElt]*/
333 variable
[5] = variable
[6];
334 variable
[6] = variable
[0];
335 ATTR_compiling_global___MMSrcLocalClass____instance_layout(variable
[6]) /*MMSrcLocalClass::_instance_layout*/ = variable
[5] /*ilt*/;
336 variable
[6] = variable
[0];
337 variable
[6] = CALL_abstractmetamodel___MMLocalClass___global(variable
[6])(variable
[6]) /*MMLocalClass::global*/;
338 variable
[6] = CALL_abstractmetamodel___MMGlobalClass___intro(variable
[6])(variable
[6]) /*MMGlobalClass::intro*/;
339 variable
[7] = variable
[0];
340 variable
[6] = TAG_Bool((variable
[6] == variable
[7]) || ((variable
[6] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[6])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[6],variable
[7])):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[6])(variable
[6], variable
[7]) /*Object::==*/)))));
341 if (UNTAG_Bool(variable
[6])) { /*if*/
342 variable
[6] = variable
[0];
343 variable
[7] = NEW_TableEltClassId_compiling_global___AbsTableEltClass___init(variable
[6]); /*new TableEltClassId*/
344 variable
[6] = variable
[7];
345 CALL_abstract_collection___SimpleCollection___add( variable
[2] /*module_table*/)( variable
[2] /*module_table*/, variable
[6]) /*AbstractArray::add*/;
346 variable
[6] = variable
[0];
347 variable
[7] = variable
[0];
348 variable
[8] = NEW_TableEltClassColor_compiling_global___AbsTableEltClass___init(variable
[7]); /*new TableEltClassColor*/
349 variable
[7] = variable
[8];
350 ATTR_compiling_global___MMSrcLocalClass____class_color_pos(variable
[6]) /*MMSrcLocalClass::_class_color_pos*/ = variable
[7];
351 variable
[6] = variable
[0];
352 variable
[6] = ATTR_compiling_global___MMSrcLocalClass____class_color_pos(variable
[6]) /*MMSrcLocalClass::_class_color_pos*/;
353 CALL_abstract_collection___SimpleCollection___add( variable
[2] /*module_table*/)( variable
[2] /*module_table*/, variable
[6]) /*AbstractArray::add*/;
354 variable
[6] = variable
[0];
355 variable
[7] = NEW_TableEltClassInitTable_compiling_global___AbsTableEltClass___init(variable
[6]); /*new TableEltClassInitTable*/
356 variable
[6] = variable
[7];
357 CALL_abstract_collection___SimpleCollection___add( variable
[4] /*clt*/)( variable
[4] /*clt*/, variable
[6]) /*AbstractArray::add*/;
359 variable
[6] = variable
[0];
360 variable
[6] = CALL_syntax_base___MMSrcLocalClass___src_local_properties(variable
[6])(variable
[6]) /*MMSrcLocalClass::src_local_properties*/;
361 variable
[6] = CALL_abstract_collection___Collection___iterator(variable
[6])(variable
[6]) /*Map::iterator*/;
362 while (true) { /*for*/
363 variable
[7] = CALL_abstract_collection___Iterator___is_ok(variable
[6])(variable
[6]) /*Iterator::is_ok*/;
364 if (!UNTAG_Bool(variable
[7])) break; /*for*/
365 variable
[7] = CALL_abstract_collection___Iterator___item(variable
[6])(variable
[6]) /*Iterator::item*/;
366 variable
[8] = variable
[7];
367 variable
[10] = CALL_abstractmetamodel___MMLocalProperty___global( variable
[8] /*p*/)( variable
[8] /*p*/) /*MMLocalProperty::global*/;
368 variable
[9] = variable
[10];
369 variable
[10] = CALL_abstractmetamodel___MMGlobalProperty___intro( variable
[9] /*pg*/)( variable
[9] /*pg*/) /*MMGlobalProperty::intro*/;
370 variable
[10] = TAG_Bool((variable
[10] == variable
[8] /*p*/) || ((variable
[10] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[10])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[10], variable
[8] /*p*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[10])(variable
[10], variable
[8] /*p*/) /*Object::==*/)))));
371 if (UNTAG_Bool(variable
[10])) { /*if*/
372 variable
[10] = TAG_Bool(( variable
[8] /*p*/==NIT_NULL
) || VAL_ISA( variable
[8] /*p*/, COLOR_MMSrcAttribute
, ID_MMSrcAttribute
)) /*cast MMSrcAttribute*/;
373 if (UNTAG_Bool(variable
[10])) { /*if*/
374 variable
[10] = NEW_TableEltAttr_compiling_global___TableEltProp___init( variable
[8] /*p*/); /*new TableEltAttr*/
375 CALL_abstract_collection___SimpleCollection___add( variable
[5] /*ilt*/)( variable
[5] /*ilt*/, variable
[10]) /*AbstractArray::add*/;
377 variable
[10] = TAG_Bool(( variable
[8] /*p*/==NIT_NULL
) || VAL_ISA( variable
[8] /*p*/, COLOR_MMSrcMethod
, ID_MMSrcMethod
)) /*cast MMSrcMethod*/;
378 if (UNTAG_Bool(variable
[10])) { /*if*/
379 variable
[10] = NEW_TableEltMeth_compiling_global___TableEltProp___init( variable
[8] /*p*/); /*new TableEltMeth*/
380 CALL_abstract_collection___SimpleCollection___add( variable
[4] /*clt*/)( variable
[4] /*clt*/, variable
[10]) /*AbstractArray::add*/;
384 variable
[10] = TAG_Bool(( variable
[8] /*p*/==NIT_NULL
) || VAL_ISA( variable
[8] /*p*/, COLOR_MMSrcMethod
, ID_MMSrcMethod
)) /*cast MMSrcMethod*/;
385 variable
[11] = variable
[10];
386 if (UNTAG_Bool(variable
[11])) { /* and */
387 variable
[11] = CALL_abstractmetamodel___MMLocalProperty___need_super( variable
[8] /*p*/)( variable
[8] /*p*/) /*MMLocalProperty::need_super*/;
389 variable
[10] = variable
[11];
390 if (UNTAG_Bool(variable
[10])) { /*if*/
391 variable
[10] = NEW_TableEltSuper_compiling_global___TableEltProp___init( variable
[8] /*p*/); /*new TableEltSuper*/
392 CALL_abstract_collection___SimpleCollection___add( variable
[4] /*clt*/)( variable
[4] /*clt*/, variable
[10]) /*AbstractArray::add*/;
394 continue_7
: while(0);
395 CALL_abstract_collection___Iterator___next(variable
[6])(variable
[6]) /*Iterator::next*/;
398 variable
[6] = CALL_abstract_collection___Collection___is_empty( variable
[5] /*ilt*/)( variable
[5] /*ilt*/) /*AbstractArray::is_empty*/;
399 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable
[6])))) { /*if*/
400 variable
[7] = NEW_ModuleTableEltGroup_compiling_global___AbsTableElt___init(); /*new ModuleTableEltGroup*/
401 variable
[6] = variable
[7];
402 variable
[7] = CALL_compiling_global___ModuleTableEltGroup___elements( variable
[6] /*teg*/)( variable
[6] /*teg*/) /*ModuleTableEltGroup::elements*/;
403 CALL_abstract_collection___IndexedCollection___append(variable
[7])(variable
[7], variable
[5] /*ilt*/) /*IndexedCollection::append*/;
404 CALL_abstract_collection___SimpleCollection___add( variable
[2] /*module_table*/)( variable
[2] /*module_table*/, variable
[6] /*teg*/) /*AbstractArray::add*/;
406 variable
[6] = CALL_abstract_collection___Collection___is_empty( variable
[4] /*clt*/)( variable
[4] /*clt*/) /*AbstractArray::is_empty*/;
407 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable
[6])))) { /*if*/
408 variable
[7] = NEW_ModuleTableEltGroup_compiling_global___AbsTableElt___init(); /*new ModuleTableEltGroup*/
409 variable
[6] = variable
[7];
410 variable
[7] = CALL_compiling_global___ModuleTableEltGroup___elements( variable
[6] /*teg*/)( variable
[6] /*teg*/) /*ModuleTableEltGroup::elements*/;
411 CALL_abstract_collection___IndexedCollection___append(variable
[7])(variable
[7], variable
[4] /*clt*/) /*IndexedCollection::append*/;
412 CALL_abstract_collection___SimpleCollection___add( variable
[2] /*module_table*/)( variable
[2] /*module_table*/, variable
[6] /*teg*/) /*AbstractArray::add*/;
414 return_label6
: while(false);
415 tracehead
= trace
.prev
;
418 void compiling_global___MMSrcModule___local_analysis(val_t self
, val_t param0
) {
419 struct trace_t trace
= {NULL
, NULL
, 157, LOCATE_compiling_global___MMSrcModule___local_analysis
};
421 void **closurevariable
= NULL
;
422 trace
.prev
= tracehead
; tracehead
= &trace
;
423 trace
.file
= LOCATE_compiling_global
;
425 variable
[1] = param0
;
426 variable
[4] = NEW_Array_array___Array___init(); /*new Array[ModuleTableElt]*/
427 variable
[3] = variable
[4];
428 variable
[4] = variable
[0];
429 ATTR_compiling_global___MMSrcModule____local_table(variable
[4]) /*MMSrcModule::_local_table*/ = variable
[3] /*lt*/;
430 variable
[4] = variable
[0];
431 variable
[4] = CALL_syntax_base___MMSrcModule___src_local_classes(variable
[4])(variable
[4]) /*MMSrcModule::src_local_classes*/;
432 variable
[4] = CALL_abstract_collection___Collection___iterator(variable
[4])(variable
[4]) /*Map::iterator*/;
433 while (true) { /*for*/
434 variable
[5] = CALL_abstract_collection___Iterator___is_ok(variable
[4])(variable
[4]) /*Iterator::is_ok*/;
435 if (!UNTAG_Bool(variable
[5])) break; /*for*/
436 variable
[5] = CALL_abstract_collection___Iterator___item(variable
[4])(variable
[4]) /*Iterator::item*/;
437 variable
[6] = variable
[5];
438 CALL_compiling_global___MMSrcLocalClass___build_layout_in( variable
[6] /*c*/)( variable
[6] /*c*/, variable
[1] /*tc*/, variable
[3] /*lt*/) /*MMSrcLocalClass::build_layout_in*/;
439 continue_9
: while(0);
440 CALL_abstract_collection___Iterator___next(variable
[4])(variable
[4]) /*Iterator::next*/;
443 return_label8
: while(false);
444 tracehead
= trace
.prev
;
447 val_t
compiling_global___MMSrcModule___global_analysis(val_t self
, val_t param0
) {
448 struct trace_t trace
= {NULL
, NULL
, 167, LOCATE_compiling_global___MMSrcModule___global_analysis
};
450 void **closurevariable
= NULL
;
451 trace
.prev
= tracehead
; tracehead
= &trace
;
452 trace
.file
= LOCATE_compiling_global
;
454 variable
[1] = param0
;
455 variable
[4] = variable
[0];
456 variable
[5] = NEW_GlobalAnalysis_compiling_global___GlobalAnalysis___init(variable
[4]); /*new GlobalAnalysis*/
457 variable
[4] = variable
[5];
458 variable
[3] = variable
[4];
459 variable
[5] = NEW_Array_array___Array___init(); /*new Array[MMLocalClass]*/
460 variable
[4] = variable
[5];
461 variable
[6] = NEW_HashSet_hash___HashSet___init(); /*new HashSet[MMGlobalProperty]*/
462 variable
[5] = variable
[6];
463 variable
[7] = NEW_Array_array___Array___init(); /*new Array[TableElt]*/
464 variable
[6] = variable
[7];
465 variable
[8] = NEW_Array_array___Array___init(); /*new Array[TableElt]*/
466 variable
[7] = variable
[8];
467 variable
[8] = NEW_TableEltClassSelfId_compiling_global___AbsTableElt___init(); /*new TableEltClassSelfId*/
468 CALL_abstract_collection___SimpleCollection___add( variable
[6] /*ctab*/)( variable
[6] /*ctab*/, variable
[8]) /*AbstractArray::add*/;
469 variable
[8] = NEW_TableEltVftPointer_compiling_global___AbsTableElt___init(); /*new TableEltVftPointer*/
470 CALL_abstract_collection___SimpleCollection___add( variable
[7] /*itab*/)( variable
[7] /*itab*/, variable
[8]) /*AbstractArray::add*/;
471 variable
[9] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
472 variable
[8] = variable
[9];
473 variable
[9] = TAG_Int(3);
474 variable
[11] = NEW_Array_array___Array___init(); /*new Array[MMLocalClass]*/
475 variable
[10] = variable
[11];
476 variable
[11] = variable
[0];
477 variable
[11] = CALL_abstractmetamodel___MMModule___local_classes(variable
[11])(variable
[11]) /*MMModule::local_classes*/;
478 variable
[11] = CALL_abstract_collection___Collection___iterator(variable
[11])(variable
[11]) /*AbstractArray::iterator*/;
479 while (true) { /*for*/
480 variable
[12] = CALL_abstract_collection___Iterator___is_ok(variable
[11])(variable
[11]) /*ArrayIterator::is_ok*/;
481 if (!UNTAG_Bool(variable
[12])) break; /*for*/
482 variable
[12] = CALL_abstract_collection___Iterator___item(variable
[11])(variable
[11]) /*ArrayIterator::item*/;
483 variable
[13] = variable
[12];
484 CALL_inheritance___MMLocalClass___compute_super_classes( variable
[13] /*c*/)( variable
[13] /*c*/) /*MMLocalClass::compute_super_classes*/;
485 CALL_abstract_collection___SimpleCollection___add( variable
[10] /*classes*/)( variable
[10] /*classes*/, variable
[13] /*c*/) /*AbstractArray::add*/;
486 continue_11
: while(0);
487 CALL_abstract_collection___Iterator___next(variable
[11])(variable
[11]) /*ArrayIterator::next*/;
490 variable
[11] = NEW_ClassSorter_compiling_global___ClassSorter___init(); /*new ClassSorter*/
491 CALL_sorter___AbstractSorter___sort(variable
[11])(variable
[11], variable
[10] /*classes*/) /*AbstractSorter::sort*/;
492 variable
[11] = CALL_abstract_collection___Collection___iterator( variable
[10] /*classes*/)( variable
[10] /*classes*/) /*AbstractArray::iterator*/;
493 while (true) { /*for*/
494 variable
[12] = CALL_abstract_collection___Iterator___is_ok(variable
[11])(variable
[11]) /*ArrayIterator::is_ok*/;
495 if (!UNTAG_Bool(variable
[12])) break; /*for*/
496 variable
[12] = CALL_abstract_collection___Iterator___item(variable
[11])(variable
[11]) /*ArrayIterator::item*/;
497 variable
[13] = variable
[12];
498 CALL_inheritance___MMLocalClass___compute_ancestors( variable
[13] /*c*/)( variable
[13] /*c*/) /*MMLocalClass::compute_ancestors*/;
499 CALL_inheritance___MMLocalClass___inherit_global_properties( variable
[13] /*c*/)( variable
[13] /*c*/) /*MMLocalClass::inherit_global_properties*/;
500 variable
[15] = NEW_CompiledClass_compiling_global___CompiledClass___init( variable
[13] /*c*/); /*new CompiledClass*/
501 variable
[14] = variable
[15];
502 variable
[15] = CALL_compiling_global___GlobalAnalysis___compiled_classes( variable
[3] /*ga*/)( variable
[3] /*ga*/) /*GlobalAnalysis::compiled_classes*/;
503 variable
[16] = CALL_abstractmetamodel___MMLocalClass___global( variable
[13] /*c*/)( variable
[13] /*c*/) /*MMLocalClass::global*/;
504 CALL_abstract_collection___Map_____braeq(variable
[15])(variable
[15], variable
[16], variable
[14] /*cc*/) /*HashMap::[]=*/;
505 variable
[16] = CALL_abstractmetamodel___MMLocalClass___global( variable
[13] /*c*/)( variable
[13] /*c*/) /*MMLocalClass::global*/;
506 variable
[15] = variable
[16];
507 variable
[17] = CALL_abstractmetamodel___MMGlobalClass___module( variable
[15] /*gc*/)( variable
[15] /*gc*/) /*MMGlobalClass::module*/;
508 variable
[16] = variable
[17];
509 variable
[17] = CALL_compiling_base___MMLocalClass___primitive_info( variable
[13] /*c*/)( variable
[13] /*c*/) /*MMLocalClass::primitive_info*/;
510 variable
[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[17] == NIT_NULL
/*null*/) || ((variable
[17] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[17])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[17], NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[17])(variable
[17], NIT_NULL
/*null*/) /*Object::==*/)))))));
511 if (UNTAG_Bool(variable
[17])) { /*if*/
512 CALL_compiling_global___CompiledClass___id__eq( variable
[14] /*cc*/)( variable
[14] /*cc*/, variable
[8] /*pclassid*/) /*CompiledClass::id=*/;
513 variable
[17] = TAG_Int(UNTAG_Int( variable
[8] /*pclassid*/)-UNTAG_Int( TAG_Int(4)));
514 variable
[8] = variable
[17] /*pclassid=*/;
516 CALL_compiling_global___CompiledClass___id__eq( variable
[14] /*cc*/)( variable
[14] /*cc*/, variable
[9] /*classid*/) /*CompiledClass::id=*/;
517 variable
[17] = TAG_Int(UNTAG_Int( variable
[9] /*classid*/)+UNTAG_Int( TAG_Int(4)));
518 variable
[9] = variable
[17] /*classid=*/;
520 variable
[17] = CALL_abstractmetamodel___MMLocalClass___cshe( variable
[13] /*c*/)( variable
[13] /*c*/) /*MMLocalClass::cshe*/;
521 variable
[17] = CALL_partial_order___PartialOrderElement___direct_smallers(variable
[17])(variable
[17]) /*PartialOrderElement::direct_smallers*/;
522 variable
[17] = CALL_abstract_collection___Collection___is_empty(variable
[17])(variable
[17]) /*AbstractArray::is_empty*/;
523 if (UNTAG_Bool(variable
[17])) { /*if*/
524 CALL_abstract_collection___SimpleCollection___add( variable
[4] /*smallest_classes*/)( variable
[4] /*smallest_classes*/, variable
[13] /*c*/) /*AbstractArray::add*/;
526 variable
[18] = CALL_abstractmetamodel___MMLocalClass___global( variable
[13] /*c*/)( variable
[13] /*c*/) /*MMLocalClass::global*/;
527 variable
[18] = CALL_abstractmetamodel___MMGlobalClass___intro(variable
[18])(variable
[18]) /*MMGlobalClass::intro*/;
528 variable
[17] = variable
[18];
529 variable
[18] = TAG_Bool(( variable
[17] /*bc*/==NIT_NULL
) || VAL_ISA( variable
[17] /*bc*/, COLOR_MMSrcLocalClass
, ID_MMSrcLocalClass
)) /*cast MMSrcLocalClass*/;
530 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
, 219); nit_exit(1);}
531 variable
[18] = CALL_compiling_global___MMSrcLocalClass___class_color_pos( variable
[17] /*bc*/)( variable
[17] /*bc*/) /*MMSrcLocalClass::class_color_pos*/;
532 CALL_abstract_collection___SimpleCollection___add( variable
[6] /*ctab*/)( variable
[6] /*ctab*/, variable
[18]) /*AbstractArray::add*/;
533 continue_12
: while(0);
534 CALL_abstract_collection___Iterator___next(variable
[11])(variable
[11]) /*ArrayIterator::next*/;
537 variable
[12] = NEW_HashSet_hash___HashSet___init(); /*new HashSet[MMLocalClass]*/
538 variable
[11] = variable
[12];
539 variable
[13] = NEW_HashSet_hash___HashSet___init(); /*new HashSet[MMLocalClass]*/
540 variable
[12] = variable
[13];
541 variable
[13] = CALL_abstract_collection___Collection___iterator( variable
[4] /*smallest_classes*/)( variable
[4] /*smallest_classes*/) /*AbstractArray::iterator*/;
542 while (true) { /*for*/
543 variable
[14] = CALL_abstract_collection___Iterator___is_ok(variable
[13])(variable
[13]) /*ArrayIterator::is_ok*/;
544 if (!UNTAG_Bool(variable
[14])) break; /*for*/
545 variable
[14] = CALL_abstract_collection___Iterator___item(variable
[13])(variable
[13]) /*ArrayIterator::item*/;
546 variable
[15] = variable
[14];
547 while (true) { /*while*/
548 variable
[16] = CALL_abstractmetamodel___MMLocalClass___cshe( variable
[15] /*c*/)( variable
[15] /*c*/) /*MMLocalClass::cshe*/;
549 variable
[16] = CALL_partial_order___PartialOrderElement___direct_greaters(variable
[16])(variable
[16]) /*PartialOrderElement::direct_greaters*/;
550 variable
[16] = CALL_abstract_collection___Collection___length(variable
[16])(variable
[16]) /*AbstractArray::length*/;
551 variable
[16] = TAG_Bool((variable
[16])==( TAG_Int(1)));
552 if (!UNTAG_Bool(variable
[16])) break; /* while*/
553 variable
[16] = CALL_abstractmetamodel___MMLocalClass___cshe( variable
[15] /*c*/)( variable
[15] /*c*/) /*MMLocalClass::cshe*/;
554 variable
[16] = CALL_partial_order___PartialOrderElement___direct_greaters(variable
[16])(variable
[16]) /*PartialOrderElement::direct_greaters*/;
555 variable
[16] = CALL_abstract_collection___Collection___first(variable
[16])(variable
[16]) /*IndexedCollection::first*/;
556 variable
[15] = variable
[16] /*c=*/;
557 continue_14
: while(0);
560 CALL_abstract_collection___SimpleCollection___add( variable
[11] /*crown_classes*/)( variable
[11] /*crown_classes*/, variable
[15] /*c*/) /*HashSet::add*/;
561 variable
[16] = CALL_abstractmetamodel___MMLocalClass___cshe( variable
[15] /*c*/)( variable
[15] /*c*/) /*MMLocalClass::cshe*/;
562 variable
[16] = CALL_partial_order___PartialOrderElement___greaters_and_self(variable
[16])(variable
[16]) /*PartialOrderElement::greaters_and_self*/;
563 CALL_abstract_collection___SimpleCollection___add_all( variable
[12] /*core_classes*/)( variable
[12] /*core_classes*/, variable
[16]) /*SimpleCollection::add_all*/;
564 continue_13
: while(0);
565 CALL_abstract_collection___Iterator___next(variable
[13])(variable
[13]) /*ArrayIterator::next*/;
568 variable
[13] = variable
[0];
569 CALL_compiling_global___MMSrcModule___colorize(variable
[13])(variable
[13], variable
[3] /*ga*/, variable
[6] /*ctab*/, variable
[11] /*crown_classes*/, TAG_Int(0)) /*MMSrcModule::colorize*/;
570 variable
[13] = TAG_Int(0);
571 variable
[14] = CALL_abstract_collection___Collection___iterator( variable
[10] /*classes*/)( variable
[10] /*classes*/) /*AbstractArray::iterator*/;
572 while (true) { /*for*/
573 variable
[15] = CALL_abstract_collection___Iterator___is_ok(variable
[14])(variable
[14]) /*ArrayIterator::is_ok*/;
574 if (!UNTAG_Bool(variable
[15])) break; /*for*/
575 variable
[15] = CALL_abstract_collection___Iterator___item(variable
[14])(variable
[14]) /*ArrayIterator::item*/;
576 variable
[16] = variable
[15];
577 variable
[18] = CALL_compiling_global___GlobalAnalysis___compiled_classes( variable
[3] /*ga*/)( variable
[3] /*ga*/) /*GlobalAnalysis::compiled_classes*/;
578 variable
[19] = CALL_abstractmetamodel___MMLocalClass___global( variable
[16] /*c*/)( variable
[16] /*c*/) /*MMLocalClass::global*/;
579 variable
[18] = CALL_abstract_collection___Map_____bra(variable
[18])(variable
[18], variable
[19]) /*CoupleMap::[]*/;
580 variable
[17] = variable
[18];
581 variable
[18] = CALL_abstract_collection___Collection___has( variable
[12] /*core_classes*/)( variable
[12] /*core_classes*/, variable
[16] /*c*/) /*HashSet::has*/;
582 if (UNTAG_Bool(variable
[18])) { /*if*/
583 variable
[18] = variable
[0];
584 variable
[18] = CALL_compiling_global___MMSrcModule___build_tables(variable
[18])(variable
[18], variable
[3] /*ga*/, variable
[16] /*c*/, variable
[6] /*ctab*/) /*MMSrcModule::build_tables*/;
585 CALL_compiling_global___CompiledClass___class_table__eq( variable
[17] /*cc*/)( variable
[17] /*cc*/, variable
[18]) /*CompiledClass::class_table=*/;
586 variable
[18] = CALL_compiling_global___CompiledClass___class_table( variable
[17] /*cc*/)( variable
[17] /*cc*/) /*CompiledClass::class_table*/;
587 variable
[18] = CALL_abstract_collection___Collection___length(variable
[18])(variable
[18]) /*AbstractArray::length*/;
588 variable
[18] = TAG_Bool(UNTAG_Int( variable
[13] /*maxcolor*/)<UNTAG_Int(variable
[18]));
589 if (UNTAG_Bool(variable
[18])) { /*if*/
590 variable
[18] = CALL_compiling_global___CompiledClass___class_table( variable
[17] /*cc*/)( variable
[17] /*cc*/) /*CompiledClass::class_table*/;
591 variable
[18] = CALL_abstract_collection___Collection___length(variable
[18])(variable
[18]) /*AbstractArray::length*/;
592 variable
[13] = variable
[18] /*maxcolor=*/;
595 variable
[19] = CALL_abstractmetamodel___MMLocalClass___cshe( variable
[16] /*c*/)( variable
[16] /*c*/) /*MMLocalClass::cshe*/;
596 variable
[19] = CALL_partial_order___PartialOrderElement___direct_greaters(variable
[19])(variable
[19]) /*PartialOrderElement::direct_greaters*/;
597 variable
[19] = CALL_abstract_collection___Collection___first(variable
[19])(variable
[19]) /*IndexedCollection::first*/;
598 variable
[18] = variable
[19];
599 variable
[20] = CALL_compiling_global___GlobalAnalysis___compiled_classes( variable
[3] /*ga*/)( variable
[3] /*ga*/) /*GlobalAnalysis::compiled_classes*/;
600 variable
[21] = CALL_abstractmetamodel___MMLocalClass___global( variable
[18] /*sc*/)( variable
[18] /*sc*/) /*MMLocalClass::global*/;
601 variable
[20] = CALL_abstract_collection___Map_____bra(variable
[20])(variable
[20], variable
[21]) /*CoupleMap::[]*/;
602 variable
[19] = variable
[20];
603 variable
[20] = CALL_compiling_global___CompiledClass___class_table( variable
[19] /*scc*/)( variable
[19] /*scc*/) /*CompiledClass::class_table*/;
604 variable
[20] = CALL_array___Collection___to_a(variable
[20])(variable
[20]) /*Collection::to_a*/;
605 CALL_compiling_global___CompiledClass___class_table__eq( variable
[17] /*cc*/)( variable
[17] /*cc*/, variable
[20]) /*CompiledClass::class_table=*/;
606 variable
[21] = CALL_abstractmetamodel___MMLocalClass___global( variable
[16] /*c*/)( variable
[16] /*c*/) /*MMLocalClass::global*/;
607 variable
[21] = CALL_abstractmetamodel___MMGlobalClass___intro(variable
[21])(variable
[21]) /*MMGlobalClass::intro*/;
608 variable
[20] = variable
[21];
609 variable
[21] = TAG_Bool(( variable
[20] /*bc*/==NIT_NULL
) || VAL_ISA( variable
[20] /*bc*/, COLOR_MMSrcLocalClass
, ID_MMSrcLocalClass
)) /*cast MMSrcLocalClass*/;
610 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
, 252); nit_exit(1);}
611 variable
[22] = CALL_compiling_global___MMSrcLocalClass___class_color_pos( variable
[20] /*bc*/)( variable
[20] /*bc*/) /*MMSrcLocalClass::class_color_pos*/;
612 variable
[21] = variable
[22];
613 variable
[23] = CALL_compiling_global___CompiledClass___class_table( variable
[17] /*cc*/)( variable
[17] /*cc*/) /*CompiledClass::class_table*/;
614 variable
[23] = CALL_abstract_collection___Collection___length(variable
[23])(variable
[23]) /*AbstractArray::length*/;
615 variable
[22] = variable
[23];
616 CALL_compiling_global___ColorContext___color__eq( variable
[3] /*ga*/)( variable
[3] /*ga*/, variable
[21] /*colpos*/, variable
[22] /*colposcolor*/) /*ColorContext::color=*/;
617 variable
[23] = CALL_compiling_global___CompiledClass___class_table( variable
[17] /*cc*/)( variable
[17] /*cc*/) /*CompiledClass::class_table*/;
618 CALL_abstract_collection___SimpleCollection___add(variable
[23])(variable
[23], variable
[21] /*colpos*/) /*AbstractArray::add*/;
619 variable
[23] = TAG_Bool(UNTAG_Int( variable
[13] /*maxcolor*/)<UNTAG_Int( variable
[22] /*colposcolor*/));
620 if (UNTAG_Bool(variable
[23])) { /*if*/
621 variable
[13] = variable
[22] /*colposcolor*/ /*maxcolor=*/;
624 continue_15
: while(0);
625 CALL_abstract_collection___Iterator___next(variable
[14])(variable
[14]) /*ArrayIterator::next*/;
628 variable
[14] = TAG_Int(UNTAG_Int( variable
[13] /*maxcolor*/)+UNTAG_Int( TAG_Int(1)));
629 CALL_compiling_global___GlobalAnalysis___max_class_table_length__eq( variable
[3] /*ga*/)( variable
[3] /*ga*/, variable
[14]) /*GlobalAnalysis::max_class_table_length=*/;
630 variable
[14] = CALL_abstract_collection___Collection___iterator( variable
[10] /*classes*/)( variable
[10] /*classes*/) /*AbstractArray::iterator*/;
631 while (true) { /*for*/
632 variable
[15] = CALL_abstract_collection___Iterator___is_ok(variable
[14])(variable
[14]) /*ArrayIterator::is_ok*/;
633 if (!UNTAG_Bool(variable
[15])) break; /*for*/
634 variable
[15] = CALL_abstract_collection___Iterator___item(variable
[14])(variable
[14]) /*ArrayIterator::item*/;
635 variable
[16] = variable
[15];
636 variable
[18] = CALL_compiling_global___GlobalAnalysis___compiled_classes( variable
[3] /*ga*/)( variable
[3] /*ga*/) /*GlobalAnalysis::compiled_classes*/;
637 variable
[19] = CALL_abstractmetamodel___MMLocalClass___global( variable
[16] /*c*/)( variable
[16] /*c*/) /*MMLocalClass::global*/;
638 variable
[18] = CALL_abstract_collection___Map_____bra(variable
[18])(variable
[18], variable
[19]) /*CoupleMap::[]*/;
639 variable
[17] = variable
[18];
640 variable
[19] = NEW_TableEltComposite_compiling_global___TableEltComposite___init( variable
[17] /*cc*/); /*new TableEltComposite*/
641 variable
[18] = variable
[19];
642 variable
[20] = NEW_TableEltComposite_compiling_global___TableEltComposite___init( variable
[17] /*cc*/); /*new TableEltComposite*/
643 variable
[19] = variable
[20];
644 variable
[20] = CALL_abstractmetamodel___MMLocalClass___crhe( variable
[16] /*c*/)( variable
[16] /*c*/) /*MMLocalClass::crhe*/;
645 variable
[20] = CALL_partial_order___PartialOrderElement___greaters_and_self(variable
[20])(variable
[20]) /*PartialOrderElement::greaters_and_self*/;
646 variable
[20] = CALL_abstract_collection___Collection___iterator(variable
[20])(variable
[20]) /*Collection::iterator*/;
647 while (true) { /*for*/
648 variable
[21] = CALL_abstract_collection___Iterator___is_ok(variable
[20])(variable
[20]) /*Iterator::is_ok*/;
649 if (!UNTAG_Bool(variable
[21])) break; /*for*/
650 variable
[21] = CALL_abstract_collection___Iterator___item(variable
[20])(variable
[20]) /*Iterator::item*/;
651 variable
[22] = variable
[21];
652 variable
[23] = TAG_Bool(( variable
[22] /*sc*/==NIT_NULL
) || VAL_ISA( variable
[22] /*sc*/, COLOR_MMSrcLocalClass
, ID_MMSrcLocalClass
)) /*cast MMSrcLocalClass*/;
653 if (UNTAG_Bool(variable
[23])) { /*if*/
654 variable
[23] = CALL_compiling_global___MMSrcLocalClass___class_layout( variable
[22] /*sc*/)( variable
[22] /*sc*/) /*MMSrcLocalClass::class_layout*/;
655 CALL_compiling_global___TableEltComposite___add( variable
[18] /*cte*/)( variable
[18] /*cte*/, variable
[22] /*sc*/, variable
[23]) /*TableEltComposite::add*/;
656 variable
[23] = CALL_compiling_global___MMSrcLocalClass___instance_layout( variable
[22] /*sc*/)( variable
[22] /*sc*/) /*MMSrcLocalClass::instance_layout*/;
657 CALL_compiling_global___TableEltComposite___add( variable
[19] /*ite*/)( variable
[19] /*ite*/, variable
[22] /*sc*/, variable
[23]) /*TableEltComposite::add*/;
659 CALL_compiling_global___CompiledClass___class_layout__eq( variable
[17] /*cc*/)( variable
[17] /*cc*/, variable
[18] /*cte*/) /*CompiledClass::class_layout=*/;
660 CALL_compiling_global___CompiledClass___instance_layout__eq( variable
[17] /*cc*/)( variable
[17] /*cc*/, variable
[19] /*ite*/) /*CompiledClass::instance_layout=*/;
661 continue_17
: while(0);
662 CALL_abstract_collection___Iterator___next(variable
[20])(variable
[20]) /*Iterator::next*/;
665 variable
[20] = CALL_abstract_collection___Collection___has( variable
[12] /*core_classes*/)( variable
[12] /*core_classes*/, variable
[16] /*c*/) /*HashSet::has*/;
666 if (UNTAG_Bool(variable
[20])) { /*if*/
667 variable
[20] = CALL_compiling_global___TableElt___length( variable
[18] /*cte*/)( variable
[18] /*cte*/) /*TableEltComposite::length*/;
668 variable
[20] = TAG_Bool(UNTAG_Int(variable
[20])>UNTAG_Int( TAG_Int(0)));
669 if (UNTAG_Bool(variable
[20])) { /*if*/
670 CALL_abstract_collection___SimpleCollection___add( variable
[6] /*ctab*/)( variable
[6] /*ctab*/, variable
[18] /*cte*/) /*AbstractArray::add*/;
672 variable
[20] = CALL_compiling_global___TableElt___length( variable
[19] /*ite*/)( variable
[19] /*ite*/) /*TableEltComposite::length*/;
673 variable
[20] = TAG_Bool(UNTAG_Int(variable
[20])>UNTAG_Int( TAG_Int(0)));
674 if (UNTAG_Bool(variable
[20])) { /*if*/
675 CALL_abstract_collection___SimpleCollection___add( variable
[7] /*itab*/)( variable
[7] /*itab*/, variable
[19] /*ite*/) /*AbstractArray::add*/;
678 continue_16
: while(0);
679 CALL_abstract_collection___Iterator___next(variable
[14])(variable
[14]) /*ArrayIterator::next*/;
682 variable
[14] = variable
[0];
683 variable
[15] = TAG_Int(UNTAG_Int( variable
[13] /*maxcolor*/)+UNTAG_Int( TAG_Int(1)));
684 CALL_compiling_global___MMSrcModule___colorize(variable
[14])(variable
[14], variable
[3] /*ga*/, variable
[6] /*ctab*/, variable
[11] /*crown_classes*/, variable
[15]) /*MMSrcModule::colorize*/;
685 variable
[14] = variable
[0];
686 CALL_compiling_global___MMSrcModule___colorize(variable
[14])(variable
[14], variable
[3] /*ga*/, variable
[7] /*itab*/, variable
[11] /*crown_classes*/, TAG_Int(0)) /*MMSrcModule::colorize*/;
687 CALL_compiling_global___GlobalAnalysis___max_class_table_length__eq( variable
[3] /*ga*/)( variable
[3] /*ga*/, TAG_Int(0)) /*GlobalAnalysis::max_class_table_length=*/;
688 variable
[14] = CALL_abstract_collection___Collection___iterator( variable
[10] /*classes*/)( variable
[10] /*classes*/) /*AbstractArray::iterator*/;
689 while (true) { /*for*/
690 variable
[15] = CALL_abstract_collection___Iterator___is_ok(variable
[14])(variable
[14]) /*ArrayIterator::is_ok*/;
691 if (!UNTAG_Bool(variable
[15])) break; /*for*/
692 variable
[15] = CALL_abstract_collection___Iterator___item(variable
[14])(variable
[14]) /*ArrayIterator::item*/;
693 variable
[16] = variable
[15];
694 variable
[18] = CALL_compiling_global___GlobalAnalysis___compiled_classes( variable
[3] /*ga*/)( variable
[3] /*ga*/) /*GlobalAnalysis::compiled_classes*/;
695 variable
[19] = CALL_abstractmetamodel___MMLocalClass___global( variable
[16] /*c*/)( variable
[16] /*c*/) /*MMLocalClass::global*/;
696 variable
[18] = CALL_abstract_collection___Map_____bra(variable
[18])(variable
[18], variable
[19]) /*CoupleMap::[]*/;
697 variable
[17] = variable
[18];
698 variable
[18] = CALL_abstract_collection___Collection___has( variable
[12] /*core_classes*/)( variable
[12] /*core_classes*/, variable
[16] /*c*/) /*HashSet::has*/;
699 if (UNTAG_Bool(variable
[18])) { /*if*/
700 variable
[18] = variable
[0];
701 variable
[18] = CALL_compiling_global___MMSrcModule___build_tables(variable
[18])(variable
[18], variable
[3] /*ga*/, variable
[16] /*c*/, variable
[6] /*ctab*/) /*MMSrcModule::build_tables*/;
702 CALL_compiling_global___CompiledClass___class_table__eq( variable
[17] /*cc*/)( variable
[17] /*cc*/, variable
[18]) /*CompiledClass::class_table=*/;
703 variable
[18] = variable
[0];
704 variable
[18] = CALL_compiling_global___MMSrcModule___build_tables(variable
[18])(variable
[18], variable
[3] /*ga*/, variable
[16] /*c*/, variable
[7] /*itab*/) /*MMSrcModule::build_tables*/;
705 CALL_compiling_global___CompiledClass___instance_table__eq( variable
[17] /*cc*/)( variable
[17] /*cc*/, variable
[18]) /*CompiledClass::instance_table=*/;
707 variable
[19] = CALL_abstractmetamodel___MMLocalClass___cshe( variable
[16] /*c*/)( variable
[16] /*c*/) /*MMLocalClass::cshe*/;
708 variable
[19] = CALL_partial_order___PartialOrderElement___direct_greaters(variable
[19])(variable
[19]) /*PartialOrderElement::direct_greaters*/;
709 variable
[19] = CALL_abstract_collection___Collection___first(variable
[19])(variable
[19]) /*IndexedCollection::first*/;
710 variable
[18] = variable
[19];
711 variable
[20] = CALL_compiling_global___GlobalAnalysis___compiled_classes( variable
[3] /*ga*/)( variable
[3] /*ga*/) /*GlobalAnalysis::compiled_classes*/;
712 variable
[21] = CALL_abstractmetamodel___MMLocalClass___global( variable
[18] /*sc*/)( variable
[18] /*sc*/) /*MMLocalClass::global*/;
713 variable
[20] = CALL_abstract_collection___Map_____bra(variable
[20])(variable
[20], variable
[21]) /*CoupleMap::[]*/;
714 variable
[19] = variable
[20];
715 variable
[20] = CALL_compiling_global___CompiledClass___class_table( variable
[19] /*scc*/)( variable
[19] /*scc*/) /*CompiledClass::class_table*/;
716 variable
[20] = CALL_array___Collection___to_a(variable
[20])(variable
[20]) /*Collection::to_a*/;
717 CALL_compiling_global___CompiledClass___class_table__eq( variable
[17] /*cc*/)( variable
[17] /*cc*/, variable
[20]) /*CompiledClass::class_table=*/;
718 variable
[21] = CALL_abstractmetamodel___MMLocalClass___global( variable
[16] /*c*/)( variable
[16] /*c*/) /*MMLocalClass::global*/;
719 variable
[21] = CALL_abstractmetamodel___MMGlobalClass___intro(variable
[21])(variable
[21]) /*MMGlobalClass::intro*/;
720 variable
[20] = variable
[21];
721 variable
[21] = TAG_Bool(( variable
[20] /*bc*/==NIT_NULL
) || VAL_ISA( variable
[20] /*bc*/, COLOR_MMSrcLocalClass
, ID_MMSrcLocalClass
)) /*cast MMSrcLocalClass*/;
722 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
, 304); nit_exit(1);}
723 variable
[22] = CALL_compiling_global___MMSrcLocalClass___class_color_pos( variable
[20] /*bc*/)( variable
[20] /*bc*/) /*MMSrcLocalClass::class_color_pos*/;
724 variable
[21] = variable
[22];
725 variable
[22] = CALL_compiling_global___CompiledClass___class_table( variable
[17] /*cc*/)( variable
[17] /*cc*/) /*CompiledClass::class_table*/;
726 variable
[23] = CALL_compiling_global___ColorContext___color( variable
[3] /*ga*/)( variable
[3] /*ga*/, variable
[21] /*colpos*/) /*ColorContext::color*/;
727 CALL_abstract_collection___Map_____braeq(variable
[22])(variable
[22], variable
[23], variable
[21] /*colpos*/) /*Array::[]=*/;
728 while (true) { /*while*/
729 variable
[22] = CALL_compiling_global___CompiledClass___class_table( variable
[17] /*cc*/)( variable
[17] /*cc*/) /*CompiledClass::class_table*/;
730 variable
[22] = CALL_abstract_collection___Collection___length(variable
[22])(variable
[22]) /*AbstractArray::length*/;
731 variable
[22] = TAG_Bool(UNTAG_Int(variable
[22])<=UNTAG_Int( variable
[13] /*maxcolor*/));
732 if (!UNTAG_Bool(variable
[22])) break; /* while*/
733 variable
[22] = CALL_compiling_global___CompiledClass___class_table( variable
[17] /*cc*/)( variable
[17] /*cc*/) /*CompiledClass::class_table*/;
734 CALL_abstract_collection___SimpleCollection___add(variable
[22])(variable
[22], NIT_NULL
/*null*/) /*AbstractArray::add*/;
735 continue_19
: while(0);
738 variable
[22] = variable
[0];
739 variable
[23] = CALL_compiling_global___CompiledClass___class_table( variable
[17] /*cc*/)( variable
[17] /*cc*/) /*CompiledClass::class_table*/;
740 variable
[24] = CALL_compiling_global___CompiledClass___class_layout( variable
[17] /*cc*/)( variable
[17] /*cc*/) /*CompiledClass::class_layout*/;
741 CALL_compiling_global___MMSrcModule___append_to_table(variable
[22])(variable
[22], variable
[3] /*ga*/, variable
[23], variable
[24]) /*MMSrcModule::append_to_table*/;
742 variable
[22] = CALL_compiling_global___CompiledClass___instance_table( variable
[19] /*scc*/)( variable
[19] /*scc*/) /*CompiledClass::instance_table*/;
743 variable
[22] = CALL_array___Collection___to_a(variable
[22])(variable
[22]) /*Collection::to_a*/;
744 CALL_compiling_global___CompiledClass___instance_table__eq( variable
[17] /*cc*/)( variable
[17] /*cc*/, variable
[22]) /*CompiledClass::instance_table=*/;
745 variable
[22] = variable
[0];
746 variable
[23] = CALL_compiling_global___CompiledClass___instance_table( variable
[17] /*cc*/)( variable
[17] /*cc*/) /*CompiledClass::instance_table*/;
747 variable
[24] = CALL_compiling_global___CompiledClass___instance_layout( variable
[17] /*cc*/)( variable
[17] /*cc*/) /*CompiledClass::instance_layout*/;
748 CALL_compiling_global___MMSrcModule___append_to_table(variable
[22])(variable
[22], variable
[3] /*ga*/, variable
[23], variable
[24]) /*MMSrcModule::append_to_table*/;
750 continue_18
: while(0);
751 CALL_abstract_collection___Iterator___next(variable
[14])(variable
[14]) /*ArrayIterator::next*/;
754 variable
[2] = variable
[3] /*ga*/;
756 return_label10
: while(false);
757 tracehead
= trace
.prev
;
760 void compiling_global___MMSrcModule___append_to_table(val_t self
, val_t param0
, val_t param1
, val_t param2
) {
761 struct trace_t trace
= {NULL
, NULL
, 319, LOCATE_compiling_global___MMSrcModule___append_to_table
};
763 void **closurevariable
= NULL
;
764 trace
.prev
= tracehead
; tracehead
= &trace
;
765 trace
.file
= LOCATE_compiling_global
;
767 variable
[1] = param0
;
768 variable
[2] = param1
;
769 variable
[3] = param2
;
770 variable
[5] = CALL_compiling_global___TableElt___length( variable
[3] /*cmp*/)( variable
[3] /*cmp*/) /*TableEltComposite::length*/;
771 variable
[6] = NEW_Range_range___Range___without_last( TAG_Int(0), variable
[5]); /*new Range[Int]*/
772 variable
[5] = variable
[6];
773 variable
[5] = CALL_abstract_collection___Collection___iterator(variable
[5])(variable
[5]) /*Range::iterator*/;
774 while (true) { /*for*/
775 variable
[6] = CALL_abstract_collection___Iterator___is_ok(variable
[5])(variable
[5]) /*Iterator::is_ok*/;
776 if (!UNTAG_Bool(variable
[6])) break; /*for*/
777 variable
[6] = CALL_abstract_collection___Iterator___item(variable
[5])(variable
[5]) /*Iterator::item*/;
778 variable
[7] = variable
[6];
779 variable
[9] = CALL_compiling_global___TableElt___item( variable
[3] /*cmp*/)( variable
[3] /*cmp*/, variable
[7] /*j*/) /*TableEltComposite::item*/;
780 variable
[8] = variable
[9];
781 variable
[9] = CALL_abstract_collection___Collection___length( variable
[2] /*table*/)( variable
[2] /*table*/) /*AbstractArray::length*/;
782 CALL_compiling_global___ColorContext___color__eq( variable
[1] /*cc*/)( variable
[1] /*cc*/, variable
[8] /*e*/, variable
[9]) /*ColorContext::color=*/;
783 CALL_abstract_collection___SimpleCollection___add( variable
[2] /*table*/)( variable
[2] /*table*/, variable
[8] /*e*/) /*AbstractArray::add*/;
784 continue_21
: while(0);
785 CALL_abstract_collection___Iterator___next(variable
[5])(variable
[5]) /*Iterator::next*/;
788 return_label20
: while(false);
789 tracehead
= trace
.prev
;
792 val_t
compiling_global___MMSrcModule___build_tables(val_t self
, val_t param0
, val_t param1
, val_t param2
) {
793 struct trace_t trace
= {NULL
, NULL
, 328, LOCATE_compiling_global___MMSrcModule___build_tables
};
795 void **closurevariable
= NULL
;
796 trace
.prev
= tracehead
; tracehead
= &trace
;
797 trace
.file
= LOCATE_compiling_global
;
799 variable
[1] = param0
;
800 variable
[2] = param1
;
801 variable
[3] = param2
;
802 variable
[6] = NEW_HashMap_hash___HashMap___init(); /*new HashMap[Int, TableElt]*/
803 variable
[5] = variable
[6];
804 variable
[6] = TAG_Int(0);
805 variable
[7] = CALL_abstract_collection___Collection___iterator( variable
[3] /*elts*/)( variable
[3] /*elts*/) /*AbstractArray::iterator*/;
806 while (true) { /*for*/
807 variable
[8] = CALL_abstract_collection___Iterator___is_ok(variable
[7])(variable
[7]) /*ArrayIterator::is_ok*/;
808 if (!UNTAG_Bool(variable
[8])) break; /*for*/
809 variable
[8] = CALL_abstract_collection___Iterator___item(variable
[7])(variable
[7]) /*ArrayIterator::item*/;
810 variable
[9] = variable
[8];
811 variable
[10] = CALL_compiling_global___TableElt___is_related_to( variable
[9] /*e*/)( variable
[9] /*e*/, variable
[2] /*c*/) /*TableElt::is_related_to*/;
812 if (UNTAG_Bool(variable
[10])) { /*if*/
813 variable
[11] = CALL_compiling_global___ColorContext___color( variable
[1] /*ga*/)( variable
[1] /*ga*/, variable
[9] /*e*/) /*ColorContext::color*/;
814 variable
[10] = variable
[11];
815 variable
[12] = CALL_compiling_global___TableElt___length( variable
[9] /*e*/)( variable
[9] /*e*/) /*TableElt::length*/;
816 variable
[12] = TAG_Int(UNTAG_Int( variable
[10] /*col*/)+UNTAG_Int(variable
[12]));
817 variable
[11] = variable
[12];
818 CALL_abstract_collection___Map_____braeq( variable
[5] /*tab*/)( variable
[5] /*tab*/, variable
[10] /*col*/, variable
[9] /*e*/) /*HashMap::[]=*/;
819 variable
[12] = TAG_Bool(UNTAG_Int( variable
[6] /*len*/)<UNTAG_Int( variable
[11] /*l*/));
820 if (UNTAG_Bool(variable
[12])) { /*if*/
821 variable
[6] = variable
[11] /*l*/ /*len=*/;
824 continue_23
: while(0);
825 CALL_abstract_collection___Iterator___next(variable
[7])(variable
[7]) /*ArrayIterator::next*/;
828 variable
[8] = NEW_Array_array___Array___init(); /*new Array[TableElt]*/
829 variable
[7] = variable
[8];
830 variable
[8] = TAG_Int(0);
831 while (true) { /*while*/
832 variable
[9] = TAG_Bool(UNTAG_Int( variable
[8] /*i*/)<UNTAG_Int( variable
[6] /*len*/));
833 if (!UNTAG_Bool(variable
[9])) break; /* while*/
834 variable
[9] = CALL_abstract_collection___Map___has_key( variable
[5] /*tab*/)( variable
[5] /*tab*/, variable
[8] /*i*/) /*CoupleMap::has_key*/;
835 if (UNTAG_Bool(variable
[9])) { /*if*/
836 variable
[10] = CALL_abstract_collection___Map_____bra( variable
[5] /*tab*/)( variable
[5] /*tab*/, variable
[8] /*i*/) /*CoupleMap::[]*/;
837 variable
[9] = variable
[10];
838 variable
[10] = CALL_compiling_global___TableElt___length( variable
[9] /*e*/)( variable
[9] /*e*/) /*TableElt::length*/;
839 variable
[11] = NEW_Range_range___Range___without_last( TAG_Int(0), variable
[10]); /*new Range[Int]*/
840 variable
[10] = variable
[11];
841 variable
[10] = CALL_abstract_collection___Collection___iterator(variable
[10])(variable
[10]) /*Range::iterator*/;
842 while (true) { /*for*/
843 variable
[11] = CALL_abstract_collection___Iterator___is_ok(variable
[10])(variable
[10]) /*Iterator::is_ok*/;
844 if (!UNTAG_Bool(variable
[11])) break; /*for*/
845 variable
[11] = CALL_abstract_collection___Iterator___item(variable
[10])(variable
[10]) /*Iterator::item*/;
846 variable
[12] = variable
[11];
847 variable
[13] = CALL_compiling_global___TableElt___item( variable
[9] /*e*/)( variable
[9] /*e*/, variable
[12] /*j*/) /*TableElt::item*/;
848 CALL_abstract_collection___Map_____braeq( variable
[7] /*res*/)( variable
[7] /*res*/, variable
[8] /*i*/, variable
[13]) /*Array::[]=*/;
849 variable
[13] = TAG_Int(UNTAG_Int( variable
[8] /*i*/)+UNTAG_Int( TAG_Int(1)));
850 variable
[8] = variable
[13] /*i=*/;
851 continue_25
: while(0);
852 CALL_abstract_collection___Iterator___next(variable
[10])(variable
[10]) /*Iterator::next*/;
856 CALL_abstract_collection___Map_____braeq( variable
[7] /*res*/)( variable
[7] /*res*/, variable
[8] /*i*/, NIT_NULL
/*null*/) /*Array::[]=*/;
857 variable
[9] = TAG_Int(UNTAG_Int( variable
[8] /*i*/)+UNTAG_Int( TAG_Int(1)));
858 variable
[8] = variable
[9] /*i=*/;
860 continue_24
: while(0);
863 variable
[4] = variable
[7] /*res*/;
865 return_label22
: while(false);
866 tracehead
= trace
.prev
;
869 void compiling_global___MMSrcModule___colorize(val_t self
, val_t param0
, val_t param1
, val_t param2
, val_t param3
) {
870 struct trace_t trace
= {NULL
, NULL
, 359, LOCATE_compiling_global___MMSrcModule___colorize
};
872 void **closurevariable
= NULL
;
873 trace
.prev
= tracehead
; tracehead
= &trace
;
874 trace
.file
= LOCATE_compiling_global
;
876 variable
[1] = param0
;
877 variable
[2] = param1
;
878 variable
[3] = param2
;
879 variable
[4] = param3
;
880 variable
[7] = NEW_HashMap_hash___HashMap___init(); /*new HashMap[Int, Array[TableElt]]*/
881 variable
[6] = variable
[7];
882 variable
[8] = NEW_Array_array___Array___init(); /*new Array[MMLocalClass]*/
883 variable
[7] = variable
[8];
884 variable
[8] = CALL_abstract_collection___Collection___iterator( variable
[2] /*elts*/)( variable
[2] /*elts*/) /*AbstractArray::iterator*/;
885 while (true) { /*for*/
886 variable
[9] = CALL_abstract_collection___Iterator___is_ok(variable
[8])(variable
[8]) /*ArrayIterator::is_ok*/;
887 if (!UNTAG_Bool(variable
[9])) break; /*for*/
888 variable
[9] = CALL_abstract_collection___Iterator___item(variable
[8])(variable
[8]) /*ArrayIterator::item*/;
889 variable
[10] = variable
[9];
890 variable
[12] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
891 variable
[11] = variable
[12];
892 variable
[13] = CALL_compiling_global___TableElt___length( variable
[10] /*e*/)( variable
[10] /*e*/) /*TableElt::length*/;
893 variable
[12] = variable
[13];
894 variable
[13] = CALL_compiling_global___ColorContext___has_color( variable
[1] /*ga*/)( variable
[1] /*ga*/, variable
[10] /*e*/) /*ColorContext::has_color*/;
895 if (UNTAG_Bool(variable
[13])) { /*if*/
896 variable
[13] = CALL_compiling_global___ColorContext___color( variable
[1] /*ga*/)( variable
[1] /*ga*/, variable
[10] /*e*/) /*ColorContext::color*/;
897 variable
[11] = variable
[13] /*color=*/;
899 CALL_abstract_collection___RemovableCollection___clear( variable
[7] /*rel_classes*/)( variable
[7] /*rel_classes*/) /*AbstractArray::clear*/;
900 variable
[13] = CALL_abstract_collection___Collection___iterator( variable
[3] /*classes*/)( variable
[3] /*classes*/) /*Collection::iterator*/;
901 while (true) { /*for*/
902 variable
[14] = CALL_abstract_collection___Iterator___is_ok(variable
[13])(variable
[13]) /*Iterator::is_ok*/;
903 if (!UNTAG_Bool(variable
[14])) break; /*for*/
904 variable
[14] = CALL_abstract_collection___Iterator___item(variable
[13])(variable
[13]) /*Iterator::item*/;
905 variable
[15] = variable
[14];
906 variable
[16] = CALL_compiling_global___TableElt___is_related_to( variable
[10] /*e*/)( variable
[10] /*e*/, variable
[15] /*c*/) /*TableElt::is_related_to*/;
907 if (UNTAG_Bool(variable
[16])) { /*if*/
908 CALL_abstract_collection___SimpleCollection___add( variable
[7] /*rel_classes*/)( variable
[7] /*rel_classes*/, variable
[15] /*c*/) /*AbstractArray::add*/;
910 continue_28
: while(0);
911 CALL_abstract_collection___Iterator___next(variable
[13])(variable
[13]) /*Iterator::next*/;
914 variable
[13] = variable
[4] /*startcolor*/;
915 while (true) { /*while*/
916 variable
[14] = TAG_Bool(( variable
[13] /*trycolor*/)!=( variable
[11] /*color*/));
917 if (!UNTAG_Bool(variable
[14])) break; /* while*/
918 variable
[11] = variable
[13] /*trycolor*/ /*color=*/;
919 variable
[14] = CALL_abstract_collection___Collection___iterator( variable
[7] /*rel_classes*/)( variable
[7] /*rel_classes*/) /*AbstractArray::iterator*/;
920 while (true) { /*for*/
921 variable
[15] = CALL_abstract_collection___Iterator___is_ok(variable
[14])(variable
[14]) /*ArrayIterator::is_ok*/;
922 if (!UNTAG_Bool(variable
[15])) break; /*for*/
923 variable
[15] = CALL_abstract_collection___Iterator___item(variable
[14])(variable
[14]) /*ArrayIterator::item*/;
924 variable
[16] = variable
[15];
925 variable
[17] = TAG_Int(0);
926 while (true) { /*while*/
927 variable
[18] = TAG_Bool(UNTAG_Int( variable
[17] /*idx*/)<UNTAG_Int( variable
[12] /*len*/));
928 if (!UNTAG_Bool(variable
[18])) break; /* while*/
929 variable
[18] = TAG_Int(UNTAG_Int( variable
[13] /*trycolor*/)+UNTAG_Int( variable
[17] /*idx*/));
930 variable
[18] = CALL_abstract_collection___Map___has_key( variable
[6] /*colors*/)( variable
[6] /*colors*/, variable
[18]) /*CoupleMap::has_key*/;
931 variable
[19] = variable
[18];
932 if (UNTAG_Bool(variable
[19])) { /* and */
933 variable
[19] = variable
[0];
934 variable
[20] = TAG_Int(UNTAG_Int( variable
[13] /*trycolor*/)+UNTAG_Int( variable
[17] /*idx*/));
935 variable
[20] = CALL_abstract_collection___Map_____bra( variable
[6] /*colors*/)( variable
[6] /*colors*/, variable
[20]) /*CoupleMap::[]*/;
936 variable
[19] = CALL_compiling_global___MMSrcModule___free_color(variable
[19])(variable
[19], variable
[20], variable
[16] /*c*/) /*MMSrcModule::free_color*/;
937 variable
[19] = TAG_Bool(!UNTAG_Bool(variable
[19]));
939 variable
[18] = variable
[19];
940 if (UNTAG_Bool(variable
[18])) { /*if*/
941 variable
[18] = TAG_Int(UNTAG_Int( variable
[13] /*trycolor*/)+UNTAG_Int( variable
[17] /*idx*/));
942 variable
[18] = TAG_Int(UNTAG_Int(variable
[18])+UNTAG_Int( TAG_Int(1)));
943 variable
[13] = variable
[18] /*trycolor=*/;
944 variable
[17] = TAG_Int(0) /*idx=*/;
946 variable
[18] = TAG_Int(UNTAG_Int( variable
[17] /*idx*/)+UNTAG_Int( TAG_Int(1)));
947 variable
[17] = variable
[18] /*idx=*/;
949 continue_31
: while(0);
952 continue_30
: while(0);
953 CALL_abstract_collection___Iterator___next(variable
[14])(variable
[14]) /*ArrayIterator::next*/;
956 continue_29
: while(0);
959 CALL_compiling_global___ColorContext___color__eq( variable
[1] /*ga*/)( variable
[1] /*ga*/, variable
[10] /*e*/, variable
[11] /*color*/) /*ColorContext::color=*/;
961 variable
[13] = NEW_Range_range___Range___without_last( TAG_Int(0), variable
[12] /*len*/); /*new Range[Int]*/
962 variable
[13] = CALL_abstract_collection___Collection___iterator(variable
[13])(variable
[13]) /*Range::iterator*/;
963 while (true) { /*for*/
964 variable
[14] = CALL_abstract_collection___Iterator___is_ok(variable
[13])(variable
[13]) /*Iterator::is_ok*/;
965 if (!UNTAG_Bool(variable
[14])) break; /*for*/
966 variable
[14] = CALL_abstract_collection___Iterator___item(variable
[13])(variable
[13]) /*Iterator::item*/;
967 variable
[15] = variable
[14];
968 variable
[16] = TAG_Int(UNTAG_Int( variable
[11] /*color*/)+UNTAG_Int( variable
[15] /*idx*/));
969 variable
[16] = CALL_abstract_collection___Map___has_key( variable
[6] /*colors*/)( variable
[6] /*colors*/, variable
[16]) /*CoupleMap::has_key*/;
970 if (UNTAG_Bool(variable
[16])) { /*if*/
971 variable
[16] = TAG_Int(UNTAG_Int( variable
[11] /*color*/)+UNTAG_Int( variable
[15] /*idx*/));
972 variable
[16] = CALL_abstract_collection___Map_____bra( variable
[6] /*colors*/)( variable
[6] /*colors*/, variable
[16]) /*CoupleMap::[]*/;
973 CALL_abstract_collection___SimpleCollection___add(variable
[16])(variable
[16], variable
[10] /*e*/) /*AbstractArray::add*/;
975 variable
[16] = TAG_Int(UNTAG_Int( variable
[11] /*color*/)+UNTAG_Int( variable
[15] /*idx*/));
976 variable
[17] = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[TableElt]*/
977 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[10] /*e*/) /*AbstractArray::add*/;
978 CALL_abstract_collection___Map_____braeq( variable
[6] /*colors*/)( variable
[6] /*colors*/, variable
[16], variable
[17]) /*HashMap::[]=*/;
980 continue_32
: while(0);
981 CALL_abstract_collection___Iterator___next(variable
[13])(variable
[13]) /*Iterator::next*/;
984 continue_27
: while(0);
985 CALL_abstract_collection___Iterator___next(variable
[8])(variable
[8]) /*ArrayIterator::next*/;
988 return_label26
: while(false);
989 tracehead
= trace
.prev
;
992 val_t
compiling_global___MMSrcModule___free_color(val_t self
, val_t param0
, val_t param1
) {
993 struct trace_t trace
= {NULL
, NULL
, 403, LOCATE_compiling_global___MMSrcModule___free_color
};
995 void **closurevariable
= NULL
;
996 trace
.prev
= tracehead
; tracehead
= &trace
;
997 trace
.file
= LOCATE_compiling_global
;
999 variable
[1] = param0
;
1000 variable
[2] = param1
;
1001 variable
[4] = CALL_abstract_collection___Collection___iterator( variable
[1] /*es*/)( variable
[1] /*es*/) /*AbstractArray::iterator*/;
1002 while (true) { /*for*/
1003 variable
[5] = CALL_abstract_collection___Iterator___is_ok(variable
[4])(variable
[4]) /*ArrayIterator::is_ok*/;
1004 if (!UNTAG_Bool(variable
[5])) break; /*for*/
1005 variable
[5] = CALL_abstract_collection___Iterator___item(variable
[4])(variable
[4]) /*ArrayIterator::item*/;
1006 variable
[6] = variable
[5];
1007 variable
[7] = CALL_compiling_global___TableElt___is_related_to( variable
[6] /*e2*/)( variable
[6] /*e2*/, variable
[2] /*c*/) /*TableElt::is_related_to*/;
1008 if (UNTAG_Bool(variable
[7])) { /*if*/
1009 variable
[3] = TAG_Bool(false);
1010 goto return_label33
;
1012 continue_34
: while(0);
1013 CALL_abstract_collection___Iterator___next(variable
[4])(variable
[4]) /*ArrayIterator::next*/;
1016 variable
[3] = TAG_Bool(true);
1017 goto return_label33
;
1018 return_label33
: while(false);
1019 tracehead
= trace
.prev
;
1022 void compiling_global___MMSrcModule___compile_tables_to_c(val_t self
, val_t param0
) {
1023 struct trace_t trace
= {NULL
, NULL
, 413, LOCATE_compiling_global___MMSrcModule___compile_tables_to_c
};
1025 void **closurevariable
= NULL
;
1026 trace
.prev
= tracehead
; tracehead
= &trace
;
1027 trace
.file
= LOCATE_compiling_global
;
1029 variable
[1] = param0
;
1030 variable
[3] = variable
[0];
1031 variable
[3] = CALL_abstractmetamodel___MMModule___mhe(variable
[3])(variable
[3]) /*MMModule::mhe*/;
1032 variable
[3] = CALL_partial_order___PartialOrderElement___greaters_and_self(variable
[3])(variable
[3]) /*PartialOrderElement::greaters_and_self*/;
1033 variable
[3] = CALL_abstract_collection___Collection___iterator(variable
[3])(variable
[3]) /*Collection::iterator*/;
1034 while (true) { /*for*/
1035 variable
[4] = CALL_abstract_collection___Iterator___is_ok(variable
[3])(variable
[3]) /*Iterator::is_ok*/;
1036 if (!UNTAG_Bool(variable
[4])) break; /*for*/
1037 variable
[4] = CALL_abstract_collection___Iterator___item(variable
[3])(variable
[3]) /*Iterator::item*/;
1038 variable
[5] = variable
[4];
1039 variable
[6] = TAG_Bool(( variable
[5] /*m*/==NIT_NULL
) || VAL_ISA( variable
[5] /*m*/, COLOR_MMSrcModule
, ID_MMSrcModule
)) /*cast MMSrcModule*/;
1040 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
, 417); nit_exit(1);}
1041 CALL_compiling_global___MMSrcModule___compile_local_table_to_c( variable
[5] /*m*/)( variable
[5] /*m*/, variable
[1] /*v*/) /*MMSrcModule::compile_local_table_to_c*/;
1042 continue_36
: while(0);
1043 CALL_abstract_collection___Iterator___next(variable
[3])(variable
[3]) /*Iterator::next*/;
1046 variable
[3] = variable
[0];
1047 variable
[3] = CALL_abstractmetamodel___MMModule___local_classes(variable
[3])(variable
[3]) /*MMModule::local_classes*/;
1048 variable
[3] = CALL_abstract_collection___Collection___iterator(variable
[3])(variable
[3]) /*AbstractArray::iterator*/;
1049 while (true) { /*for*/
1050 variable
[4] = CALL_abstract_collection___Iterator___is_ok(variable
[3])(variable
[3]) /*ArrayIterator::is_ok*/;
1051 if (!UNTAG_Bool(variable
[4])) break; /*for*/
1052 variable
[4] = CALL_abstract_collection___Iterator___item(variable
[3])(variable
[3]) /*ArrayIterator::item*/;
1053 variable
[5] = variable
[4];
1054 CALL_compiling_global___MMLocalClass___compile_tables_to_c( variable
[5] /*c*/)( variable
[5] /*c*/, variable
[1] /*v*/) /*MMLocalClass::compile_tables_to_c*/;
1055 continue_37
: while(0);
1056 CALL_abstract_collection___Iterator___next(variable
[3])(variable
[3]) /*ArrayIterator::next*/;
1059 variable
[4] = NEW_String_string___String___with_native(BOX_NativeString("classtable_t TAG2VFT[4] = {NULL"), TAG_Int(31)); /*new String*/
1060 variable
[3] = variable
[4];
1061 variable
[4] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
1062 variable
[5] = NEW_String_string___String___with_native(BOX_NativeString("Int"), TAG_Int(3)); /*new String*/
1063 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], variable
[5]) /*AbstractArray::add*/;
1064 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString("Char"), TAG_Int(4)); /*new String*/
1065 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], variable
[6]) /*AbstractArray::add*/;
1066 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString("Bool"), TAG_Int(4)); /*new String*/
1067 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], variable
[7]) /*AbstractArray::add*/;
1068 variable
[4] = CALL_abstract_collection___Collection___iterator(variable
[4])(variable
[4]) /*AbstractArray::iterator*/;
1069 while (true) { /*for*/
1070 variable
[5] = CALL_abstract_collection___Iterator___is_ok(variable
[4])(variable
[4]) /*ArrayIterator::is_ok*/;
1071 if (!UNTAG_Bool(variable
[5])) break; /*for*/
1072 variable
[5] = CALL_abstract_collection___Iterator___item(variable
[4])(variable
[4]) /*ArrayIterator::item*/;
1073 variable
[6] = variable
[5];
1074 variable
[7] = variable
[0];
1075 variable
[8] = CALL_symbol___String___to_symbol( variable
[6] /*t*/)( variable
[6] /*t*/) /*String::to_symbol*/;
1076 variable
[7] = CALL_abstractmetamodel___MMModule___has_global_class_named(variable
[7])(variable
[7], variable
[8]) /*MMModule::has_global_class_named*/;
1077 if (UNTAG_Bool(variable
[7])) { /*if*/
1078 variable
[7] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
1079 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString(", (const classtable_t)VFT_"), TAG_Int(26)); /*new String*/
1080 variable
[9] = variable
[8];
1081 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[9]) /*AbstractArray::add*/;
1082 variable
[10] = variable
[6] /*t*/;
1083 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[10]) /*AbstractArray::add*/;
1084 variable
[11] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1085 variable
[12] = variable
[11];
1086 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[12]) /*AbstractArray::add*/;
1087 variable
[7] = CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/;
1088 CALL_abstract_collection___IndexedCollection___append( variable
[3] /*s*/)( variable
[3] /*s*/, variable
[7]) /*String::append*/;
1090 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString(", NULL"), TAG_Int(6)); /*new String*/
1091 CALL_abstract_collection___IndexedCollection___append( variable
[3] /*s*/)( variable
[3] /*s*/, variable
[7]) /*String::append*/;
1093 continue_38
: while(0);
1094 CALL_abstract_collection___Iterator___next(variable
[4])(variable
[4]) /*ArrayIterator::next*/;
1097 variable
[4] = NEW_String_string___String___with_native(BOX_NativeString("};"), TAG_Int(2)); /*new String*/
1098 CALL_abstract_collection___IndexedCollection___append( variable
[3] /*s*/)( variable
[3] /*s*/, variable
[4]) /*String::append*/;
1099 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[3] /*s*/) /*CompilerVisitor::add_instr*/;
1100 return_label35
: while(false);
1101 tracehead
= trace
.prev
;
1104 void compiling_global___MMSrcModule___declare_class_tables_to_c(val_t self
, val_t param0
) {
1105 struct trace_t trace
= {NULL
, NULL
, 436, LOCATE_compiling_global___MMSrcModule___declare_class_tables_to_c
};
1107 void **closurevariable
= NULL
;
1108 trace
.prev
= tracehead
; tracehead
= &trace
;
1109 trace
.file
= LOCATE_compiling_global
;
1111 variable
[1] = param0
;
1112 variable
[3] = variable
[0];
1113 variable
[3] = CALL_abstractmetamodel___MMModule___local_classes(variable
[3])(variable
[3]) /*MMModule::local_classes*/;
1114 variable
[3] = CALL_abstract_collection___Collection___iterator(variable
[3])(variable
[3]) /*AbstractArray::iterator*/;
1115 while (true) { /*for*/
1116 variable
[4] = CALL_abstract_collection___Iterator___is_ok(variable
[3])(variable
[3]) /*ArrayIterator::is_ok*/;
1117 if (!UNTAG_Bool(variable
[4])) break; /*for*/
1118 variable
[4] = CALL_abstract_collection___Iterator___item(variable
[3])(variable
[3]) /*ArrayIterator::item*/;
1119 variable
[5] = variable
[4];
1120 variable
[6] = CALL_abstractmetamodel___MMLocalClass___global( variable
[5] /*c*/)( variable
[5] /*c*/) /*MMLocalClass::global*/;
1121 variable
[6] = CALL_abstractmetamodel___MMGlobalClass___module(variable
[6])(variable
[6]) /*MMGlobalClass::module*/;
1122 variable
[7] = variable
[0];
1123 variable
[6] = TAG_Bool((variable
[6] == variable
[7]) || ((variable
[6] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[6])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[6],variable
[7])):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[6])(variable
[6], variable
[7]) /*Object::==*/)))));
1124 if (UNTAG_Bool(variable
[6])) { /*if*/
1125 CALL_compiling_global___MMLocalClass___declare_tables_to_c( variable
[5] /*c*/)( variable
[5] /*c*/, variable
[1] /*v*/) /*MMLocalClass::declare_tables_to_c*/;
1127 continue_40
: while(0);
1128 CALL_abstract_collection___Iterator___next(variable
[3])(variable
[3]) /*ArrayIterator::next*/;
1131 return_label39
: while(false);
1132 tracehead
= trace
.prev
;
1135 void compiling_global___MMSrcModule___compile_main_part(val_t self
, val_t param0
) {
1136 struct trace_t trace
= {NULL
, NULL
, 446, LOCATE_compiling_global___MMSrcModule___compile_main_part
};
1137 static val_t once_value_42
; static int once_bool_42
; /* Once value for variable[4]*/
1138 static val_t once_value_43
; static int once_bool_43
; /* Once value for variable[6]*/
1140 void **closurevariable
= NULL
;
1141 trace
.prev
= tracehead
; tracehead
= &trace
;
1142 trace
.file
= LOCATE_compiling_global
;
1144 variable
[1] = param0
;
1145 variable
[3] = NEW_String_string___String___with_native(BOX_NativeString("int main(int argc, char **argv) {"), TAG_Int(33)); /*new String*/
1146 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[3]) /*CompilerVisitor::add_instr*/;
1147 CALL_compiling_base___CompilerVisitor___indent( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::indent*/;
1148 variable
[3] = NEW_String_string___String___with_native(BOX_NativeString("prepare_signals();"), TAG_Int(18)); /*new String*/
1149 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[3]) /*CompilerVisitor::add_instr*/;
1150 variable
[3] = NEW_String_string___String___with_native(BOX_NativeString("glob_argc = argc; glob_argv = argv;"), TAG_Int(35)); /*new String*/
1151 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[3]) /*CompilerVisitor::add_instr*/;
1152 if (once_bool_42
) variable
[4] = once_value_42
;
1154 variable
[4] = NEW_String_string___String___with_native(BOX_NativeString("Sys"), TAG_Int(3)); /*new String*/
1155 variable
[4] = CALL_symbol___String___to_symbol(variable
[4])(variable
[4]) /*String::to_symbol*/;
1156 once_value_42
= variable
[4];
1157 once_bool_42
= true;
1159 variable
[3] = variable
[4];
1160 variable
[4] = variable
[0];
1161 variable
[4] = CALL_abstractmetamodel___MMModule___has_global_class_named(variable
[4])(variable
[4], variable
[3] /*sysname*/) /*MMModule::has_global_class_named*/;
1162 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable
[4])))) { /*if*/
1163 variable
[4] = variable
[0];
1164 variable
[5] = NEW_String_string___String___with_native(BOX_NativeString("No main"), TAG_Int(7)); /*new String*/
1165 CALL_file___Object___print(variable
[4])(variable
[4], variable
[5]) /*Object::print*/;
1167 variable
[5] = variable
[0];
1168 variable
[5] = CALL_abstractmetamodel___MMModule___class_by_name(variable
[5])(variable
[5], variable
[3] /*sysname*/) /*MMModule::class_by_name*/;
1169 variable
[4] = variable
[5];
1170 if (once_bool_43
) variable
[6] = once_value_43
;
1172 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString("main"), TAG_Int(4)); /*new String*/
1173 variable
[6] = CALL_symbol___String___to_symbol(variable
[6])(variable
[6]) /*String::to_symbol*/;
1174 once_value_43
= variable
[6];
1175 once_bool_43
= true;
1177 variable
[6] = CALL_abstractmetamodel___MMLocalClass___select_method( variable
[4] /*sys*/)( variable
[4] /*sys*/, variable
[6]) /*MMLocalClass::select_method*/;
1178 variable
[5] = variable
[6];
1179 variable
[6] = TAG_Bool(( variable
[5] /*mainm*/ == NIT_NULL
/*null*/) || (( variable
[5] /*mainm*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[5] /*mainm*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[5] /*mainm*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[5] /*mainm*/)( variable
[5] /*mainm*/, NIT_NULL
/*null*/) /*Object::==*/)))));
1180 if (UNTAG_Bool(variable
[6])) { /*if*/
1181 variable
[6] = variable
[0];
1182 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString("No main"), TAG_Int(7)); /*new String*/
1183 CALL_file___Object___print(variable
[6])(variable
[6], variable
[7]) /*Object::print*/;
1185 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString("G_sys = NEW_Sys();"), TAG_Int(18)); /*new String*/
1186 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[6]) /*CompilerVisitor::add_instr*/;
1187 variable
[6] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
1188 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1189 variable
[8] = variable
[7];
1190 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[8]) /*AbstractArray::add*/;
1191 variable
[9] = CALL_compiling_base___MMLocalProperty___cname( variable
[5] /*mainm*/)( variable
[5] /*mainm*/) /*MMLocalProperty::cname*/;
1192 variable
[10] = variable
[9];
1193 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[10]) /*AbstractArray::add*/;
1194 variable
[11] = NEW_String_string___String___with_native(BOX_NativeString("(G_sys);"), TAG_Int(8)); /*new String*/
1195 variable
[12] = variable
[11];
1196 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[12]) /*AbstractArray::add*/;
1197 variable
[6] = CALL_string___Object___to_s(variable
[6])(variable
[6]) /*Object::to_s*/;
1198 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[6]) /*CompilerVisitor::add_instr*/;
1201 variable
[4] = NEW_String_string___String___with_native(BOX_NativeString("return 0;"), TAG_Int(9)); /*new String*/
1202 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[4]) /*CompilerVisitor::add_instr*/;
1203 CALL_compiling_base___CompilerVisitor___unindent( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::unindent*/;
1204 variable
[4] = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
1205 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[4]) /*CompilerVisitor::add_instr*/;
1206 return_label41
: while(false);
1207 tracehead
= trace
.prev
;
1210 void compiling_global___MMSrcModule___compile_mod_to_c(val_t self
, val_t param0
) {
1211 struct trace_t trace
= {NULL
, NULL
, 473, LOCATE_compiling_global___MMSrcModule___compile_mod_to_c
};
1213 void **closurevariable
= NULL
;
1214 trace
.prev
= tracehead
; tracehead
= &trace
;
1215 trace
.file
= LOCATE_compiling_global
;
1217 variable
[1] = param0
;
1218 variable
[3] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
1219 variable
[4] = NEW_String_string___String___with_native(BOX_NativeString("extern const char *LOCATE_"), TAG_Int(26)); /*new String*/
1220 variable
[5] = variable
[4];
1221 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[5]) /*AbstractArray::add*/;
1222 variable
[6] = variable
[0];
1223 variable
[6] = CALL_abstractmetamodel___MMModule___name(variable
[6])(variable
[6]) /*MMModule::name*/;
1224 variable
[7] = variable
[6];
1225 variable
[7] = CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/;
1226 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[7]) /*AbstractArray::add*/;
1227 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
1228 variable
[9] = variable
[8];
1229 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[9]) /*AbstractArray::add*/;
1230 variable
[3] = CALL_string___Object___to_s(variable
[3])(variable
[3]) /*Object::to_s*/;
1231 CALL_compiling_base___CompilerVisitor___add_decl( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[3]) /*CompilerVisitor::add_decl*/;
1232 variable
[3] = CALL_compiling_base___CompilerVisitor___tc( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::tc*/;
1233 variable
[3] = CALL_compiling_base___ToolContext___global(variable
[3])(variable
[3]) /*ToolContext::global*/;
1234 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable
[3])))) { /*if*/
1235 variable
[3] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
1236 variable
[4] = NEW_String_string___String___with_native(BOX_NativeString("extern const int SFT_"), TAG_Int(21)); /*new String*/
1237 variable
[5] = variable
[4];
1238 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[5]) /*AbstractArray::add*/;
1239 variable
[6] = variable
[0];
1240 variable
[6] = CALL_abstractmetamodel___MMModule___name(variable
[6])(variable
[6]) /*MMModule::name*/;
1241 variable
[7] = variable
[6];
1242 variable
[7] = CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/;
1243 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[7]) /*AbstractArray::add*/;
1244 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString("[];"), TAG_Int(3)); /*new String*/
1245 variable
[9] = variable
[8];
1246 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[9]) /*AbstractArray::add*/;
1247 variable
[3] = CALL_string___Object___to_s(variable
[3])(variable
[3]) /*Object::to_s*/;
1248 CALL_compiling_base___CompilerVisitor___add_decl( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[3]) /*CompilerVisitor::add_decl*/;
1250 variable
[3] = TAG_Int(0);
1251 variable
[4] = variable
[0];
1252 variable
[4] = ATTR_compiling_global___MMSrcModule____local_table(variable
[4]) /*MMSrcModule::_local_table*/;
1253 variable
[4] = CALL_abstract_collection___Collection___iterator(variable
[4])(variable
[4]) /*AbstractArray::iterator*/;
1254 while (true) { /*for*/
1255 variable
[5] = CALL_abstract_collection___Iterator___is_ok(variable
[4])(variable
[4]) /*ArrayIterator::is_ok*/;
1256 if (!UNTAG_Bool(variable
[5])) break; /*for*/
1257 variable
[5] = CALL_abstract_collection___Iterator___item(variable
[4])(variable
[4]) /*ArrayIterator::item*/;
1258 variable
[6] = variable
[5];
1259 /*variable[7] is variable value*/
1260 variable
[8] = CALL_compiling_base___CompilerVisitor___tc( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::tc*/;
1261 variable
[8] = CALL_compiling_base___ToolContext___global(variable
[8])(variable
[8]) /*ToolContext::global*/;
1262 if (UNTAG_Bool(variable
[8])) { /*if*/
1263 variable
[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
1264 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1265 variable
[10] = variable
[9];
1266 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[10]) /*AbstractArray::add*/;
1267 variable
[11] = CALL_compiling_global___CompilerVisitor___global_analysis( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::global_analysis*/;
1268 variable
[11] = CALL_compiling_global___ModuleTableElt___value( variable
[6] /*e*/)( variable
[6] /*e*/, variable
[11]) /*ModuleTableElt::value*/;
1269 variable
[12] = variable
[11];
1270 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[12]) /*AbstractArray::add*/;
1271 variable
[13] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1272 variable
[14] = variable
[13];
1273 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[14]) /*AbstractArray::add*/;
1274 variable
[8] = CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/;
1275 variable
[7] = variable
[8] /*value=*/;
1277 variable
[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
1278 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("SFT_"), TAG_Int(4)); /*new String*/
1279 variable
[10] = variable
[9];
1280 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[10]) /*AbstractArray::add*/;
1281 variable
[11] = variable
[0];
1282 variable
[11] = CALL_abstractmetamodel___MMModule___name(variable
[11])(variable
[11]) /*MMModule::name*/;
1283 variable
[12] = variable
[11];
1284 variable
[12] = CALL_string___Object___to_s(variable
[12])(variable
[12]) /*Object::to_s*/;
1285 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[12]) /*AbstractArray::add*/;
1286 variable
[13] = NEW_String_string___String___with_native(BOX_NativeString("["), TAG_Int(1)); /*new String*/
1287 variable
[14] = variable
[13];
1288 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[14]) /*AbstractArray::add*/;
1289 variable
[15] = variable
[3] /*i*/;
1290 variable
[15] = CALL_string___Object___to_s(variable
[15])(variable
[15]) /*Object::to_s*/;
1291 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[15]) /*AbstractArray::add*/;
1292 variable
[16] = NEW_String_string___String___with_native(BOX_NativeString("]"), TAG_Int(1)); /*new String*/
1293 variable
[17] = variable
[16];
1294 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[17]) /*AbstractArray::add*/;
1295 variable
[8] = CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/;
1296 variable
[7] = variable
[8] /*value=*/;
1297 variable
[8] = TAG_Int(UNTAG_Int( variable
[3] /*i*/)+UNTAG_Int( TAG_Int(1)));
1298 variable
[3] = variable
[8] /*i=*/;
1300 CALL_compiling_global___AbsTableElt___compile_macros( variable
[6] /*e*/)( variable
[6] /*e*/, variable
[1] /*v*/, variable
[7] /*value*/) /*AbsTableElt::compile_macros*/;
1301 continue_45
: while(0);
1302 CALL_abstract_collection___Iterator___next(variable
[4])(variable
[4]) /*ArrayIterator::next*/;
1305 variable
[4] = variable
[0];
1306 variable
[4] = CALL_syntax_base___MMSrcModule___src_local_classes(variable
[4])(variable
[4]) /*MMSrcModule::src_local_classes*/;
1307 variable
[4] = CALL_abstract_collection___Collection___iterator(variable
[4])(variable
[4]) /*Map::iterator*/;
1308 while (true) { /*for*/
1309 variable
[5] = CALL_abstract_collection___Iterator___is_ok(variable
[4])(variable
[4]) /*Iterator::is_ok*/;
1310 if (!UNTAG_Bool(variable
[5])) break; /*for*/
1311 variable
[5] = CALL_abstract_collection___Iterator___item(variable
[4])(variable
[4]) /*Iterator::item*/;
1312 variable
[6] = variable
[5];
1313 variable
[7] = CALL_abstractmetamodel___MMLocalClass___global_properties( variable
[6] /*c*/)( variable
[6] /*c*/) /*MMLocalClass::global_properties*/;
1314 variable
[7] = CALL_abstract_collection___Collection___iterator(variable
[7])(variable
[7]) /*Collection::iterator*/;
1315 while (true) { /*for*/
1316 variable
[8] = CALL_abstract_collection___Iterator___is_ok(variable
[7])(variable
[7]) /*Iterator::is_ok*/;
1317 if (!UNTAG_Bool(variable
[8])) break; /*for*/
1318 variable
[8] = CALL_abstract_collection___Iterator___item(variable
[7])(variable
[7]) /*Iterator::item*/;
1319 variable
[9] = variable
[8];
1320 variable
[11] = CALL_abstractmetamodel___MMLocalClass_____bra( variable
[6] /*c*/)( variable
[6] /*c*/, variable
[9] /*pg*/) /*MMLocalClass::[]*/;
1321 variable
[10] = variable
[11];
1322 variable
[11] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[10] /*p*/)( variable
[10] /*p*/) /*MMLocalProperty::local_class*/;
1323 variable
[11] = TAG_Bool((variable
[11] == variable
[6] /*c*/) || ((variable
[11] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[11])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[11], variable
[6] /*c*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[11])(variable
[11], variable
[6] /*c*/) /*Object::==*/)))));
1324 if (UNTAG_Bool(variable
[11])) { /*if*/
1325 CALL_compiling_methods___MMLocalProperty___compile_property_to_c( variable
[10] /*p*/)( variable
[10] /*p*/, variable
[1] /*v*/) /*MMLocalProperty::compile_property_to_c*/;
1327 variable
[11] = CALL_abstractmetamodel___MMGlobalProperty___is_init_for( variable
[9] /*pg*/)( variable
[9] /*pg*/, variable
[6] /*c*/) /*MMGlobalProperty::is_init_for*/;
1328 if (UNTAG_Bool(variable
[11])) { /*if*/
1329 variable
[12] = NEW_Array_array___Array___init(); /*new Array[String]*/
1330 variable
[11] = variable
[12];
1331 variable
[12] = CALL_static_type___MMLocalProperty___signature( variable
[10] /*p*/)( variable
[10] /*p*/) /*MMLocalProperty::signature*/;
1332 variable
[12] = CALL_static_type___MMSignature___arity(variable
[12])(variable
[12]) /*MMSignature::arity*/;
1333 variable
[13] = NEW_Range_range___Range___without_last( TAG_Int(0), variable
[12]); /*new Range[Int]*/
1334 variable
[12] = variable
[13];
1335 variable
[12] = CALL_abstract_collection___Collection___iterator(variable
[12])(variable
[12]) /*Range::iterator*/;
1336 while (true) { /*for*/
1337 variable
[13] = CALL_abstract_collection___Iterator___is_ok(variable
[12])(variable
[12]) /*Iterator::is_ok*/;
1338 if (!UNTAG_Bool(variable
[13])) break; /*for*/
1339 variable
[13] = CALL_abstract_collection___Iterator___item(variable
[12])(variable
[12]) /*Iterator::item*/;
1340 variable
[14] = variable
[13];
1341 variable
[15] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
1342 variable
[16] = NEW_String_string___String___with_native(BOX_NativeString("val_t p"), TAG_Int(7)); /*new String*/
1343 variable
[17] = variable
[16];
1344 CALL_abstract_collection___SimpleCollection___add(variable
[15])(variable
[15], variable
[17]) /*AbstractArray::add*/;
1345 variable
[18] = variable
[14] /*i*/;
1346 variable
[18] = CALL_string___Object___to_s(variable
[18])(variable
[18]) /*Object::to_s*/;
1347 CALL_abstract_collection___SimpleCollection___add(variable
[15])(variable
[15], variable
[18]) /*AbstractArray::add*/;
1348 variable
[19] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1349 variable
[20] = variable
[19];
1350 CALL_abstract_collection___SimpleCollection___add(variable
[15])(variable
[15], variable
[20]) /*AbstractArray::add*/;
1351 variable
[15] = CALL_string___Object___to_s(variable
[15])(variable
[15]) /*Object::to_s*/;
1352 CALL_abstract_collection___SimpleCollection___add( variable
[11] /*params*/)( variable
[11] /*params*/, variable
[15]) /*AbstractArray::add*/;
1353 continue_48
: while(0);
1354 CALL_abstract_collection___Iterator___next(variable
[12])(variable
[12]) /*Iterator::next*/;
1357 variable
[12] = NEW_Array_array___Array___with_capacity(TAG_Int(7)); /*new Array[String]*/
1358 variable
[13] = NEW_String_string___String___with_native(BOX_NativeString("val_t NEW_"), TAG_Int(10)); /*new String*/
1359 variable
[14] = variable
[13];
1360 CALL_abstract_collection___SimpleCollection___add(variable
[12])(variable
[12], variable
[14]) /*AbstractArray::add*/;
1361 variable
[15] = variable
[6] /*c*/;
1362 variable
[15] = CALL_string___Object___to_s(variable
[15])(variable
[15]) /*Object::to_s*/;
1363 CALL_abstract_collection___SimpleCollection___add(variable
[12])(variable
[12], variable
[15]) /*AbstractArray::add*/;
1364 variable
[16] = NEW_String_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
1365 variable
[17] = variable
[16];
1366 CALL_abstract_collection___SimpleCollection___add(variable
[12])(variable
[12], variable
[17]) /*AbstractArray::add*/;
1367 variable
[18] = CALL_abstractmetamodel___MMLocalProperty___global( variable
[10] /*p*/)( variable
[10] /*p*/) /*MMLocalProperty::global*/;
1368 variable
[18] = CALL_abstractmetamodel___MMGlobalProperty___intro(variable
[18])(variable
[18]) /*MMGlobalProperty::intro*/;
1369 variable
[18] = CALL_compiling_base___MMLocalProperty___cname(variable
[18])(variable
[18]) /*MMLocalProperty::cname*/;
1370 variable
[19] = variable
[18];
1371 CALL_abstract_collection___SimpleCollection___add(variable
[12])(variable
[12], variable
[19]) /*AbstractArray::add*/;
1372 variable
[20] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
1373 variable
[21] = variable
[20];
1374 CALL_abstract_collection___SimpleCollection___add(variable
[12])(variable
[12], variable
[21]) /*AbstractArray::add*/;
1375 variable
[22] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
1376 variable
[22] = CALL_string___Collection___join( variable
[11] /*params*/)( variable
[11] /*params*/, variable
[22]) /*Collection::join*/;
1377 variable
[23] = variable
[22];
1378 CALL_abstract_collection___SimpleCollection___add(variable
[12])(variable
[12], variable
[23]) /*AbstractArray::add*/;
1379 variable
[24] = NEW_String_string___String___with_native(BOX_NativeString(");"), TAG_Int(2)); /*new String*/
1380 variable
[25] = variable
[24];
1381 CALL_abstract_collection___SimpleCollection___add(variable
[12])(variable
[12], variable
[25]) /*AbstractArray::add*/;
1382 variable
[12] = CALL_string___Object___to_s(variable
[12])(variable
[12]) /*Object::to_s*/;
1383 CALL_compiling_base___CompilerVisitor___add_decl( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[12]) /*CompilerVisitor::add_decl*/;
1385 continue_47
: while(0);
1386 CALL_abstract_collection___Iterator___next(variable
[7])(variable
[7]) /*Iterator::next*/;
1389 continue_46
: while(0);
1390 CALL_abstract_collection___Iterator___next(variable
[4])(variable
[4]) /*Iterator::next*/;
1393 return_label44
: while(false);
1394 tracehead
= trace
.prev
;
1397 void compiling_global___MMSrcModule___compile_local_table_to_c(val_t self
, val_t param0
) {
1398 struct trace_t trace
= {NULL
, NULL
, 509, LOCATE_compiling_global___MMSrcModule___compile_local_table_to_c
};
1400 void **closurevariable
= NULL
;
1401 trace
.prev
= tracehead
; tracehead
= &trace
;
1402 trace
.file
= LOCATE_compiling_global
;
1404 variable
[1] = param0
;
1405 variable
[3] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
1406 variable
[4] = NEW_String_string___String___with_native(BOX_NativeString("const char *LOCATE_"), TAG_Int(19)); /*new String*/
1407 variable
[5] = variable
[4];
1408 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[5]) /*AbstractArray::add*/;
1409 variable
[6] = variable
[0];
1410 variable
[6] = CALL_abstractmetamodel___MMModule___name(variable
[6])(variable
[6]) /*MMModule::name*/;
1411 variable
[7] = variable
[6];
1412 variable
[7] = CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/;
1413 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[7]) /*AbstractArray::add*/;
1414 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString(" = \""), TAG_Int(4)); /*new String*/
1415 variable
[9] = variable
[8];
1416 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[9]) /*AbstractArray::add*/;
1417 variable
[10] = variable
[0];
1418 variable
[10] = CALL_mmloader___MMModule___filename(variable
[10])(variable
[10]) /*MMModule::filename*/;
1419 variable
[11] = variable
[10];
1420 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[11]) /*AbstractArray::add*/;
1421 variable
[12] = NEW_String_string___String___with_native(BOX_NativeString("\";"), TAG_Int(2)); /*new String*/
1422 variable
[13] = variable
[12];
1423 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[13]) /*AbstractArray::add*/;
1424 variable
[3] = CALL_string___Object___to_s(variable
[3])(variable
[3]) /*Object::to_s*/;
1425 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[3]) /*CompilerVisitor::add_instr*/;
1426 variable
[3] = CALL_compiling_base___CompilerVisitor___tc( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::tc*/;
1427 variable
[3] = CALL_compiling_base___ToolContext___global(variable
[3])(variable
[3]) /*ToolContext::global*/;
1428 variable
[4] = variable
[3];
1429 if (!UNTAG_Bool(variable
[4])) { /* or */
1430 variable
[4] = variable
[0];
1431 variable
[4] = ATTR_compiling_global___MMSrcModule____local_table(variable
[4]) /*MMSrcModule::_local_table*/;
1432 variable
[4] = CALL_abstract_collection___Collection___is_empty(variable
[4])(variable
[4]) /*AbstractArray::is_empty*/;
1434 variable
[3] = variable
[4];
1435 if (UNTAG_Bool(variable
[3])) { /*if*/
1436 goto return_label49
;
1438 variable
[3] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
1439 variable
[4] = NEW_String_string___String___with_native(BOX_NativeString("const int SFT_"), TAG_Int(14)); /*new String*/
1440 variable
[5] = variable
[4];
1441 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[5]) /*AbstractArray::add*/;
1442 variable
[6] = variable
[0];
1443 variable
[6] = CALL_abstractmetamodel___MMModule___name(variable
[6])(variable
[6]) /*MMModule::name*/;
1444 variable
[7] = variable
[6];
1445 variable
[7] = CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/;
1446 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[7]) /*AbstractArray::add*/;
1447 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString("["), TAG_Int(1)); /*new String*/
1448 variable
[9] = variable
[8];
1449 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[9]) /*AbstractArray::add*/;
1450 variable
[10] = variable
[0];
1451 variable
[10] = ATTR_compiling_global___MMSrcModule____local_table(variable
[10]) /*MMSrcModule::_local_table*/;
1452 variable
[10] = CALL_abstract_collection___Collection___length(variable
[10])(variable
[10]) /*AbstractArray::length*/;
1453 variable
[11] = variable
[10];
1454 variable
[11] = CALL_string___Object___to_s(variable
[11])(variable
[11]) /*Object::to_s*/;
1455 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[11]) /*AbstractArray::add*/;
1456 variable
[12] = NEW_String_string___String___with_native(BOX_NativeString("] = {"), TAG_Int(5)); /*new String*/
1457 variable
[13] = variable
[12];
1458 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[13]) /*AbstractArray::add*/;
1459 variable
[3] = CALL_string___Object___to_s(variable
[3])(variable
[3]) /*Object::to_s*/;
1460 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[3]) /*CompilerVisitor::add_instr*/;
1461 CALL_compiling_base___CompilerVisitor___indent( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::indent*/;
1462 variable
[3] = variable
[0];
1463 variable
[3] = ATTR_compiling_global___MMSrcModule____local_table(variable
[3]) /*MMSrcModule::_local_table*/;
1464 variable
[3] = CALL_abstract_collection___Collection___iterator(variable
[3])(variable
[3]) /*AbstractArray::iterator*/;
1465 while (true) { /*for*/
1466 variable
[4] = CALL_abstract_collection___Iterator___is_ok(variable
[3])(variable
[3]) /*ArrayIterator::is_ok*/;
1467 if (!UNTAG_Bool(variable
[4])) break; /*for*/
1468 variable
[4] = CALL_abstract_collection___Iterator___item(variable
[3])(variable
[3]) /*ArrayIterator::item*/;
1469 variable
[5] = variable
[4];
1470 variable
[6] = CALL_compiling_global___CompilerVisitor___global_analysis( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::global_analysis*/;
1471 variable
[6] = CALL_compiling_global___ModuleTableElt___value( variable
[5] /*e*/)( variable
[5] /*e*/, variable
[6]) /*ModuleTableElt::value*/;
1472 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString(","), TAG_Int(1)); /*new String*/
1473 variable
[6] = CALL_string___String_____plus(variable
[6])(variable
[6], variable
[7]) /*String::+*/;
1474 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[6]) /*CompilerVisitor::add_instr*/;
1475 continue_50
: while(0);
1476 CALL_abstract_collection___Iterator___next(variable
[3])(variable
[3]) /*ArrayIterator::next*/;
1479 CALL_compiling_base___CompilerVisitor___unindent( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::unindent*/;
1480 variable
[3] = NEW_String_string___String___with_native(BOX_NativeString("};"), TAG_Int(2)); /*new String*/
1481 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[3]) /*CompilerVisitor::add_instr*/;
1482 return_label49
: while(false);
1483 tracehead
= trace
.prev
;
1486 void compiling_global___AbsTableElt___compile_macros(val_t self
, val_t param0
, val_t param1
) {
1487 struct trace_t trace
= {NULL
, NULL
, 532, LOCATE_compiling_global___AbsTableElt___compile_macros
};
1488 val_t
*variable
= NULL
;
1489 void **closurevariable
= NULL
;
1490 trace
.prev
= tracehead
; tracehead
= &trace
;
1491 trace
.file
= LOCATE_compiling_global
;
1492 fprintf(stderr
, "Deferred method called");
1493 fprintf(stderr
, " (%s:%d)\n", LOCATE_compiling_global
, 532);
1495 tracehead
= trace
.prev
;
1498 void compiling_global___AbsTableElt___init(val_t self
, int* init_table
) {
1499 struct trace_t trace
= {NULL
, NULL
, 0, LOCATE_compiling_global___AbsTableElt___init
};
1500 val_t
*variable
= NULL
;
1501 void **closurevariable
= NULL
;
1502 trace
.prev
= tracehead
; tracehead
= &trace
;
1503 trace
.file
= LOCATE_compiling_global
;
1504 tracehead
= trace
.prev
;
1507 val_t
compiling_global___TableElt___is_related_to(val_t self
, val_t param0
) {
1508 struct trace_t trace
= {NULL
, NULL
, 540, LOCATE_compiling_global___TableElt___is_related_to
};
1509 val_t
*variable
= NULL
;
1510 void **closurevariable
= NULL
;
1511 trace
.prev
= tracehead
; tracehead
= &trace
;
1512 trace
.file
= LOCATE_compiling_global
;
1513 fprintf(stderr
, "Deferred method called");
1514 fprintf(stderr
, " (%s:%d)\n", LOCATE_compiling_global
, 540);
1516 tracehead
= trace
.prev
;
1519 val_t
compiling_global___TableElt___length(val_t self
) {
1520 struct trace_t trace
= {NULL
, NULL
, 543, LOCATE_compiling_global___TableElt___length
};
1522 void **closurevariable
= NULL
;
1523 trace
.prev
= tracehead
; tracehead
= &trace
;
1524 trace
.file
= LOCATE_compiling_global
;
1526 variable
[1] = TAG_Int(1);
1527 goto return_label51
;
1528 return_label51
: while(false);
1529 tracehead
= trace
.prev
;
1532 val_t
compiling_global___TableElt___item(val_t self
, val_t param0
) {
1533 struct trace_t trace
= {NULL
, NULL
, 546, LOCATE_compiling_global___TableElt___item
};
1535 void **closurevariable
= NULL
;
1536 trace
.prev
= tracehead
; tracehead
= &trace
;
1537 trace
.file
= LOCATE_compiling_global
;
1539 variable
[1] = param0
;
1540 variable
[3] = variable
[0];
1541 variable
[2] = variable
[3];
1542 goto return_label52
;
1543 return_label52
: while(false);
1544 tracehead
= trace
.prev
;
1547 val_t
compiling_global___TableElt___compile_to_c(val_t self
, val_t param0
, val_t param1
) {
1548 struct trace_t trace
= {NULL
, NULL
, 549, LOCATE_compiling_global___TableElt___compile_to_c
};
1549 val_t
*variable
= NULL
;
1550 void **closurevariable
= NULL
;
1551 trace
.prev
= tracehead
; tracehead
= &trace
;
1552 trace
.file
= LOCATE_compiling_global
;
1553 fprintf(stderr
, "Deferred method called");
1554 fprintf(stderr
, " (%s:%d)\n", LOCATE_compiling_global
, 549);
1556 tracehead
= trace
.prev
;
1559 val_t
compiling_global___ModuleTableElt___value(val_t self
, val_t param0
) {
1560 struct trace_t trace
= {NULL
, NULL
, 557, LOCATE_compiling_global___ModuleTableElt___value
};
1561 val_t
*variable
= NULL
;
1562 void **closurevariable
= NULL
;
1563 trace
.prev
= tracehead
; tracehead
= &trace
;
1564 trace
.file
= LOCATE_compiling_global
;
1565 fprintf(stderr
, "Deferred method called");
1566 fprintf(stderr
, " (%s:%d)\n", LOCATE_compiling_global
, 557);
1568 tracehead
= trace
.prev
;
1571 void compiling_global___ModuleTableEltGroup___compile_macros(val_t self
, val_t param0
, val_t param1
) {
1572 struct trace_t trace
= {NULL
, NULL
, 567, LOCATE_compiling_global___ModuleTableEltGroup___compile_macros
};
1574 void **closurevariable
= NULL
;
1575 trace
.prev
= tracehead
; tracehead
= &trace
;
1576 trace
.file
= LOCATE_compiling_global
;
1578 variable
[1] = param0
;
1579 variable
[2] = param1
;
1580 variable
[4] = TAG_Int(0);
1581 variable
[5] = variable
[0];
1582 variable
[5] = ATTR_compiling_global___ModuleTableEltGroup____elements(variable
[5]) /*ModuleTableEltGroup::_elements*/;
1583 variable
[5] = CALL_abstract_collection___Collection___iterator(variable
[5])(variable
[5]) /*AbstractArray::iterator*/;
1584 while (true) { /*for*/
1585 variable
[6] = CALL_abstract_collection___Iterator___is_ok(variable
[5])(variable
[5]) /*ArrayIterator::is_ok*/;
1586 if (!UNTAG_Bool(variable
[6])) break; /*for*/
1587 variable
[6] = CALL_abstract_collection___Iterator___item(variable
[5])(variable
[5]) /*ArrayIterator::item*/;
1588 variable
[7] = variable
[6];
1589 variable
[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
1590 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1591 variable
[10] = variable
[9];
1592 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[10]) /*AbstractArray::add*/;
1593 variable
[11] = variable
[2] /*value*/;
1594 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[11]) /*AbstractArray::add*/;
1595 variable
[12] = NEW_String_string___String___with_native(BOX_NativeString(" + "), TAG_Int(3)); /*new String*/
1596 variable
[13] = variable
[12];
1597 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[13]) /*AbstractArray::add*/;
1598 variable
[14] = variable
[4] /*i*/;
1599 variable
[14] = CALL_string___Object___to_s(variable
[14])(variable
[14]) /*Object::to_s*/;
1600 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[14]) /*AbstractArray::add*/;
1601 variable
[15] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1602 variable
[16] = variable
[15];
1603 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[16]) /*AbstractArray::add*/;
1604 variable
[8] = CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/;
1605 CALL_compiling_global___AbsTableElt___compile_macros( variable
[7] /*e*/)( variable
[7] /*e*/, variable
[1] /*v*/, variable
[8]) /*AbsTableElt::compile_macros*/;
1606 variable
[4] = TAG_Int(UNTAG_Int(variable
[4])+UNTAG_Int( TAG_Int(1))) /*i*/;
1607 continue_54
: while(0);
1608 CALL_abstract_collection___Iterator___next(variable
[5])(variable
[5]) /*ArrayIterator::next*/;
1611 return_label53
: while(false);
1612 tracehead
= trace
.prev
;
1615 val_t
compiling_global___ModuleTableEltGroup___value(val_t self
, val_t param0
) {
1616 struct trace_t trace
= {NULL
, NULL
, 566, LOCATE_compiling_global___ModuleTableEltGroup___value
};
1618 void **closurevariable
= NULL
;
1619 trace
.prev
= tracehead
; tracehead
= &trace
;
1620 trace
.file
= LOCATE_compiling_global
;
1622 variable
[1] = param0
;
1623 variable
[3] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
1624 variable
[4] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1625 variable
[5] = variable
[4];
1626 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[5]) /*AbstractArray::add*/;
1627 variable
[6] = variable
[0];
1628 variable
[6] = ATTR_compiling_global___ModuleTableEltGroup____elements(variable
[6]) /*ModuleTableEltGroup::_elements*/;
1629 variable
[6] = CALL_abstract_collection___Collection___first(variable
[6])(variable
[6]) /*IndexedCollection::first*/;
1630 variable
[6] = CALL_compiling_global___ColorContext___color( variable
[1] /*ga*/)( variable
[1] /*ga*/, variable
[6]) /*ColorContext::color*/;
1631 variable
[7] = variable
[6];
1632 variable
[7] = CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/;
1633 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[7]) /*AbstractArray::add*/;
1634 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString(" /* Group of ? */"), TAG_Int(17)); /*new String*/
1635 variable
[9] = variable
[8];
1636 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[9]) /*AbstractArray::add*/;
1637 variable
[3] = CALL_string___Object___to_s(variable
[3])(variable
[3]) /*Object::to_s*/;
1638 variable
[2] = variable
[3];
1639 goto return_label55
;
1640 return_label55
: while(false);
1641 tracehead
= trace
.prev
;
1644 val_t
compiling_global___ModuleTableEltGroup___elements(val_t self
) {
1645 struct trace_t trace
= {NULL
, NULL
, 564, LOCATE_compiling_global___ModuleTableEltGroup___elements
};
1646 val_t
*variable
= NULL
;
1647 void **closurevariable
= NULL
;
1648 trace
.prev
= tracehead
; tracehead
= &trace
;
1649 trace
.file
= LOCATE_compiling_global
;
1650 tracehead
= trace
.prev
;
1651 return ATTR_compiling_global___ModuleTableEltGroup____elements( self
) /*ModuleTableEltGroup::_elements*/;
1653 void compiling_global___TableEltProp___init(val_t self
, val_t param0
, int* init_table
) {
1654 struct trace_t trace
= {NULL
, NULL
, 582, LOCATE_compiling_global___TableEltProp___init
};
1656 void **closurevariable
= NULL
;
1657 trace
.prev
= tracehead
; tracehead
= &trace
;
1658 trace
.file
= LOCATE_compiling_global
;
1660 variable
[1] = param0
;
1661 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_TableEltProp
].i
]) return;
1662 variable
[3] = variable
[0];
1663 ATTR_compiling_global___TableEltProp____property(variable
[3]) /*TableEltProp::_property*/ = variable
[1] /*p*/;
1664 return_label56
: while(false);
1665 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_TableEltProp
].i
] = 1;
1666 tracehead
= trace
.prev
;
1669 void compiling_global___TableEltMeth___compile_macros(val_t self
, val_t param0
, val_t param1
) {
1670 struct trace_t trace
= {NULL
, NULL
, 591, LOCATE_compiling_global___TableEltMeth___compile_macros
};
1672 void **closurevariable
= NULL
;
1673 trace
.prev
= tracehead
; tracehead
= &trace
;
1674 trace
.file
= LOCATE_compiling_global
;
1676 variable
[1] = param0
;
1677 variable
[2] = param1
;
1678 variable
[5] = variable
[0];
1679 variable
[5] = ATTR_compiling_global___TableEltProp____property(variable
[5]) /*TableEltProp::_property*/;
1680 variable
[5] = CALL_abstractmetamodel___MMLocalProperty___global(variable
[5])(variable
[5]) /*MMLocalProperty::global*/;
1681 variable
[4] = variable
[5];
1682 variable
[5] = NEW_Array_array___Array___with_capacity(TAG_Int(7)); /*new Array[String]*/
1683 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString("#define "), TAG_Int(8)); /*new String*/
1684 variable
[7] = variable
[6];
1685 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[7]) /*AbstractArray::add*/;
1686 variable
[8] = CALL_compiling_base___MMGlobalProperty___meth_call( variable
[4] /*pg*/)( variable
[4] /*pg*/) /*MMGlobalProperty::meth_call*/;
1687 variable
[9] = variable
[8];
1688 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[9]) /*AbstractArray::add*/;
1689 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString("(recv) (("), TAG_Int(9)); /*new String*/
1690 variable
[11] = variable
[10];
1691 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[11]) /*AbstractArray::add*/;
1692 variable
[12] = CALL_abstractmetamodel___MMGlobalProperty___intro( variable
[4] /*pg*/)( variable
[4] /*pg*/) /*MMGlobalProperty::intro*/;
1693 variable
[12] = CALL_compiling_base___MMLocalProperty___cname(variable
[12])(variable
[12]) /*MMLocalProperty::cname*/;
1694 variable
[13] = variable
[12];
1695 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[13]) /*AbstractArray::add*/;
1696 variable
[14] = NEW_String_string___String___with_native(BOX_NativeString("_t)CALL((recv), ("), TAG_Int(17)); /*new String*/
1697 variable
[15] = variable
[14];
1698 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[15]) /*AbstractArray::add*/;
1699 variable
[16] = variable
[2] /*value*/;
1700 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[16]) /*AbstractArray::add*/;
1701 variable
[17] = NEW_String_string___String___with_native(BOX_NativeString(")))"), TAG_Int(3)); /*new String*/
1702 variable
[18] = variable
[17];
1703 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[18]) /*AbstractArray::add*/;
1704 variable
[5] = CALL_string___Object___to_s(variable
[5])(variable
[5]) /*Object::to_s*/;
1705 CALL_compiling_base___CompilerVisitor___add_decl( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[5]) /*CompilerVisitor::add_decl*/;
1706 return_label57
: while(false);
1707 tracehead
= trace
.prev
;
1710 val_t
compiling_global___TableEltMeth___compile_to_c(val_t self
, val_t param0
, val_t param1
) {
1711 struct trace_t trace
= {NULL
, NULL
, 597, LOCATE_compiling_global___TableEltMeth___compile_to_c
};
1713 void **closurevariable
= NULL
;
1714 trace
.prev
= tracehead
; tracehead
= &trace
;
1715 trace
.file
= LOCATE_compiling_global
;
1717 variable
[1] = param0
;
1718 variable
[2] = param1
;
1719 variable
[5] = variable
[0];
1720 variable
[5] = ATTR_compiling_global___TableEltProp____property(variable
[5]) /*TableEltProp::_property*/;
1721 variable
[5] = CALL_abstractmetamodel___MMLocalProperty___global(variable
[5])(variable
[5]) /*MMLocalProperty::global*/;
1722 variable
[5] = CALL_abstractmetamodel___MMLocalClass_____bra( variable
[2] /*c*/)( variable
[2] /*c*/, variable
[5]) /*MMLocalClass::[]*/;
1723 variable
[4] = variable
[5];
1724 variable
[5] = CALL_compiling_base___MMLocalProperty___cname( variable
[4] /*p*/)( variable
[4] /*p*/) /*MMLocalProperty::cname*/;
1725 variable
[3] = variable
[5];
1726 goto return_label58
;
1727 return_label58
: while(false);
1728 tracehead
= trace
.prev
;
1731 void compiling_global___TableEltSuper___compile_macros(val_t self
, val_t param0
, val_t param1
) {
1732 struct trace_t trace
= {NULL
, NULL
, 607, LOCATE_compiling_global___TableEltSuper___compile_macros
};
1734 void **closurevariable
= NULL
;
1735 trace
.prev
= tracehead
; tracehead
= &trace
;
1736 trace
.file
= LOCATE_compiling_global
;
1738 variable
[1] = param0
;
1739 variable
[2] = param1
;
1740 variable
[5] = variable
[0];
1741 variable
[5] = ATTR_compiling_global___TableEltProp____property(variable
[5]) /*TableEltProp::_property*/;
1742 variable
[4] = variable
[5];
1743 variable
[5] = NEW_Array_array___Array___with_capacity(TAG_Int(7)); /*new Array[String]*/
1744 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString("#define "), TAG_Int(8)); /*new String*/
1745 variable
[7] = variable
[6];
1746 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[7]) /*AbstractArray::add*/;
1747 variable
[8] = CALL_compiling_base___MMLocalProperty___super_meth_call( variable
[4] /*p*/)( variable
[4] /*p*/) /*MMLocalProperty::super_meth_call*/;
1748 variable
[9] = variable
[8];
1749 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[9]) /*AbstractArray::add*/;
1750 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString("(recv) (("), TAG_Int(9)); /*new String*/
1751 variable
[11] = variable
[10];
1752 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[11]) /*AbstractArray::add*/;
1753 variable
[12] = CALL_compiling_base___MMLocalProperty___cname( variable
[4] /*p*/)( variable
[4] /*p*/) /*MMLocalProperty::cname*/;
1754 variable
[13] = variable
[12];
1755 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[13]) /*AbstractArray::add*/;
1756 variable
[14] = NEW_String_string___String___with_native(BOX_NativeString("_t)CALL((recv), ("), TAG_Int(17)); /*new String*/
1757 variable
[15] = variable
[14];
1758 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[15]) /*AbstractArray::add*/;
1759 variable
[16] = variable
[2] /*value*/;
1760 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[16]) /*AbstractArray::add*/;
1761 variable
[17] = NEW_String_string___String___with_native(BOX_NativeString(")))"), TAG_Int(3)); /*new String*/
1762 variable
[18] = variable
[17];
1763 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[18]) /*AbstractArray::add*/;
1764 variable
[5] = CALL_string___Object___to_s(variable
[5])(variable
[5]) /*Object::to_s*/;
1765 CALL_compiling_base___CompilerVisitor___add_decl( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[5]) /*CompilerVisitor::add_decl*/;
1766 return_label59
: while(false);
1767 tracehead
= trace
.prev
;
1770 val_t
compiling_global___TableEltSuper___compile_to_c(val_t self
, val_t param0
, val_t param1
) {
1771 struct trace_t trace
= {NULL
, NULL
, 613, LOCATE_compiling_global___TableEltSuper___compile_to_c
};
1773 void **closurevariable
= NULL
;
1774 trace
.prev
= tracehead
; tracehead
= &trace
;
1775 trace
.file
= LOCATE_compiling_global
;
1777 variable
[1] = param0
;
1778 variable
[2] = param1
;
1779 variable
[5] = variable
[0];
1780 variable
[5] = ATTR_compiling_global___TableEltProp____property(variable
[5]) /*TableEltProp::_property*/;
1781 variable
[5] = CALL_abstractmetamodel___MMLocalProperty___local_class(variable
[5])(variable
[5]) /*MMLocalProperty::local_class*/;
1782 variable
[4] = variable
[5];
1783 variable
[6] = variable
[0];
1784 variable
[6] = ATTR_compiling_global___TableEltProp____property(variable
[6]) /*TableEltProp::_property*/;
1785 variable
[6] = CALL_abstractmetamodel___MMLocalProperty___global(variable
[6])(variable
[6]) /*MMLocalProperty::global*/;
1786 variable
[5] = variable
[6];
1787 variable
[7] = CALL_abstractmetamodel___MMLocalClass___che( variable
[2] /*c*/)( variable
[2] /*c*/) /*MMLocalClass::che*/;
1788 variable
[7] = CALL_partial_order___PartialOrderElement___linear_extension(variable
[7])(variable
[7]) /*PartialOrderElement::linear_extension*/;
1789 variable
[6] = variable
[7];
1790 variable
[7] = TAG_Bool(false);
1791 variable
[8] = CALL_abstract_collection___Collection___iterator( variable
[6] /*lin*/)( variable
[6] /*lin*/) /*AbstractArray::iterator*/;
1792 while (true) { /*for*/
1793 variable
[9] = CALL_abstract_collection___Iterator___is_ok(variable
[8])(variable
[8]) /*ArrayIterator::is_ok*/;
1794 if (!UNTAG_Bool(variable
[9])) break; /*for*/
1795 variable
[9] = CALL_abstract_collection___Iterator___item(variable
[8])(variable
[8]) /*ArrayIterator::item*/;
1796 variable
[10] = variable
[9];
1797 variable
[11] = TAG_Bool(( variable
[10] /*s*/ == variable
[4] /*pc*/) || (( variable
[10] /*s*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[10] /*s*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[10] /*s*/, variable
[4] /*pc*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[10] /*s*/)( variable
[10] /*s*/, variable
[4] /*pc*/) /*Object::==*/)))));
1798 if (UNTAG_Bool(variable
[11])) { /*if*/
1799 variable
[7] = TAG_Bool(true) /*found=*/;
1801 variable
[11] = variable
[7] /*found*/;
1802 if (UNTAG_Bool(variable
[11])) { /* and */
1803 variable
[11] = CALL_abstractmetamodel___MMLocalClass___che( variable
[2] /*c*/)( variable
[2] /*c*/) /*MMLocalClass::che*/;
1804 variable
[11] = CALL_partial_order___PartialOrderElement_____l(variable
[11])(variable
[11], variable
[10] /*s*/) /*PartialOrderElement::<*/;
1806 if (UNTAG_Bool(variable
[11])) { /*if*/
1807 variable
[12] = CALL_abstractmetamodel___MMLocalClass_____bra( variable
[10] /*s*/)( variable
[10] /*s*/, variable
[5] /*g*/) /*MMLocalClass::[]*/;
1808 variable
[11] = variable
[12];
1809 variable
[12] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[11] /*p*/ == NIT_NULL
/*null*/) || (( variable
[11] /*p*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[11] /*p*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[11] /*p*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[11] /*p*/)( variable
[11] /*p*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
1810 if (UNTAG_Bool(variable
[12])) { /*if*/
1811 variable
[12] = CALL_compiling_base___MMLocalProperty___cname( variable
[11] /*p*/)( variable
[11] /*p*/) /*MMLocalProperty::cname*/;
1812 variable
[3] = variable
[12];
1813 goto return_label60
;
1817 continue_61
: while(0);
1818 CALL_abstract_collection___Iterator___next(variable
[8])(variable
[8]) /*ArrayIterator::next*/;
1821 if (!UNTAG_Bool( TAG_Bool(false))) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_compiling_global___TableEltSuper___compile_to_c
, LOCATE_compiling_global
, 631); nit_exit(1);}
1822 variable
[3] = NIT_NULL
/*null*/;
1823 goto return_label60
;
1824 return_label60
: while(false);
1825 tracehead
= trace
.prev
;
1828 void compiling_global___TableEltAttr___compile_macros(val_t self
, val_t param0
, val_t param1
) {
1829 struct trace_t trace
= {NULL
, NULL
, 639, LOCATE_compiling_global___TableEltAttr___compile_macros
};
1831 void **closurevariable
= NULL
;
1832 trace
.prev
= tracehead
; tracehead
= &trace
;
1833 trace
.file
= LOCATE_compiling_global
;
1835 variable
[1] = param0
;
1836 variable
[2] = param1
;
1837 variable
[5] = variable
[0];
1838 variable
[5] = ATTR_compiling_global___TableEltProp____property(variable
[5]) /*TableEltProp::_property*/;
1839 variable
[5] = CALL_abstractmetamodel___MMLocalProperty___global(variable
[5])(variable
[5]) /*MMLocalProperty::global*/;
1840 variable
[4] = variable
[5];
1841 variable
[5] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
1842 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString("#define "), TAG_Int(8)); /*new String*/
1843 variable
[7] = variable
[6];
1844 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[7]) /*AbstractArray::add*/;
1845 variable
[8] = CALL_compiling_base___MMGlobalProperty___attr_access( variable
[4] /*pg*/)( variable
[4] /*pg*/) /*MMGlobalProperty::attr_access*/;
1846 variable
[9] = variable
[8];
1847 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[9]) /*AbstractArray::add*/;
1848 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString("(recv) ATTR(recv, ("), TAG_Int(19)); /*new String*/
1849 variable
[11] = variable
[10];
1850 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[11]) /*AbstractArray::add*/;
1851 variable
[12] = variable
[2] /*value*/;
1852 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[12]) /*AbstractArray::add*/;
1853 variable
[13] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
1854 variable
[14] = variable
[13];
1855 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[14]) /*AbstractArray::add*/;
1856 variable
[5] = CALL_string___Object___to_s(variable
[5])(variable
[5]) /*Object::to_s*/;
1857 CALL_compiling_base___CompilerVisitor___add_decl( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[5]) /*CompilerVisitor::add_decl*/;
1858 return_label62
: while(false);
1859 tracehead
= trace
.prev
;
1862 val_t
compiling_global___TableEltAttr___compile_to_c(val_t self
, val_t param0
, val_t param1
) {
1863 struct trace_t trace
= {NULL
, NULL
, 645, LOCATE_compiling_global___TableEltAttr___compile_to_c
};
1865 void **closurevariable
= NULL
;
1866 trace
.prev
= tracehead
; tracehead
= &trace
;
1867 trace
.file
= LOCATE_compiling_global
;
1869 variable
[1] = param0
;
1870 variable
[2] = param1
;
1871 variable
[5] = CALL_compiling_global___CompilerVisitor___global_analysis( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::global_analysis*/;
1872 variable
[4] = variable
[5];
1873 variable
[6] = variable
[0];
1874 variable
[6] = ATTR_compiling_global___TableEltProp____property(variable
[6]) /*TableEltProp::_property*/;
1875 variable
[6] = CALL_abstractmetamodel___MMLocalProperty___global(variable
[6])(variable
[6]) /*MMLocalProperty::global*/;
1876 variable
[6] = CALL_abstractmetamodel___MMLocalClass_____bra( variable
[2] /*c*/)( variable
[2] /*c*/, variable
[6]) /*MMLocalClass::[]*/;
1877 variable
[5] = variable
[6];
1878 variable
[6] = NEW_Array_array___Array___with_capacity(TAG_Int(7)); /*new Array[String]*/
1879 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString("/* "), TAG_Int(3)); /*new String*/
1880 variable
[8] = variable
[7];
1881 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[8]) /*AbstractArray::add*/;
1882 variable
[9] = variable
[0];
1883 variable
[9] = CALL_compiling_global___ColorContext___color( variable
[4] /*ga*/)( variable
[4] /*ga*/, variable
[9]) /*ColorContext::color*/;
1884 variable
[10] = variable
[9];
1885 variable
[10] = CALL_string___Object___to_s(variable
[10])(variable
[10]) /*Object::to_s*/;
1886 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[10]) /*AbstractArray::add*/;
1887 variable
[11] = NEW_String_string___String___with_native(BOX_NativeString(": Attribute "), TAG_Int(12)); /*new String*/
1888 variable
[12] = variable
[11];
1889 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[12]) /*AbstractArray::add*/;
1890 variable
[13] = variable
[2] /*c*/;
1891 variable
[13] = CALL_string___Object___to_s(variable
[13])(variable
[13]) /*Object::to_s*/;
1892 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[13]) /*AbstractArray::add*/;
1893 variable
[14] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
1894 variable
[15] = variable
[14];
1895 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[15]) /*AbstractArray::add*/;
1896 variable
[16] = variable
[5] /*p*/;
1897 variable
[16] = CALL_string___Object___to_s(variable
[16])(variable
[16]) /*Object::to_s*/;
1898 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[16]) /*AbstractArray::add*/;
1899 variable
[17] = NEW_String_string___String___with_native(BOX_NativeString(" */"), TAG_Int(3)); /*new String*/
1900 variable
[18] = variable
[17];
1901 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[18]) /*AbstractArray::add*/;
1902 variable
[6] = CALL_string___Object___to_s(variable
[6])(variable
[6]) /*Object::to_s*/;
1903 variable
[3] = variable
[6];
1904 goto return_label63
;
1905 return_label63
: while(false);
1906 tracehead
= trace
.prev
;
1909 void compiling_global___AbsTableEltClass___compile_macros(val_t self
, val_t param0
, val_t param1
) {
1910 struct trace_t trace
= {NULL
, NULL
, 667, LOCATE_compiling_global___AbsTableEltClass___compile_macros
};
1912 void **closurevariable
= NULL
;
1913 trace
.prev
= tracehead
; tracehead
= &trace
;
1914 trace
.file
= LOCATE_compiling_global
;
1916 variable
[1] = param0
;
1917 variable
[2] = param1
;
1918 variable
[4] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
1919 variable
[5] = NEW_String_string___String___with_native(BOX_NativeString("#define "), TAG_Int(8)); /*new String*/
1920 variable
[6] = variable
[5];
1921 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], variable
[6]) /*AbstractArray::add*/;
1922 variable
[7] = variable
[0];
1923 variable
[7] = CALL_compiling_global___AbsTableEltClass___symbol(variable
[7])(variable
[7]) /*AbsTableEltClass::symbol*/;
1924 variable
[8] = variable
[7];
1925 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], variable
[8]) /*AbstractArray::add*/;
1926 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(" ("), TAG_Int(2)); /*new String*/
1927 variable
[10] = variable
[9];
1928 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], variable
[10]) /*AbstractArray::add*/;
1929 variable
[11] = variable
[2] /*value*/;
1930 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], variable
[11]) /*AbstractArray::add*/;
1931 variable
[12] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
1932 variable
[13] = variable
[12];
1933 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], variable
[13]) /*AbstractArray::add*/;
1934 variable
[4] = CALL_string___Object___to_s(variable
[4])(variable
[4]) /*Object::to_s*/;
1935 CALL_compiling_base___CompilerVisitor___add_decl( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[4]) /*CompilerVisitor::add_decl*/;
1936 return_label64
: while(false);
1937 tracehead
= trace
.prev
;
1940 void compiling_global___AbsTableEltClass___init(val_t self
, val_t param0
, int* init_table
) {
1941 struct trace_t trace
= {NULL
, NULL
, 659, LOCATE_compiling_global___AbsTableEltClass___init
};
1943 void **closurevariable
= NULL
;
1944 trace
.prev
= tracehead
; tracehead
= &trace
;
1945 trace
.file
= LOCATE_compiling_global
;
1947 variable
[1] = param0
;
1948 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_AbsTableEltClass
].i
]) return;
1949 variable
[3] = variable
[0];
1950 ATTR_compiling_global___AbsTableEltClass____local_class(variable
[3]) /*AbsTableEltClass::_local_class*/ = variable
[1] /*c*/;
1951 return_label65
: while(false);
1952 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_AbsTableEltClass
].i
] = 1;
1953 tracehead
= trace
.prev
;
1956 val_t
compiling_global___AbsTableEltClass___symbol(val_t self
) {
1957 struct trace_t trace
= {NULL
, NULL
, 664, LOCATE_compiling_global___AbsTableEltClass___symbol
};
1958 val_t
*variable
= NULL
;
1959 void **closurevariable
= NULL
;
1960 trace
.prev
= tracehead
; tracehead
= &trace
;
1961 trace
.file
= LOCATE_compiling_global
;
1962 fprintf(stderr
, "Deferred method called");
1963 fprintf(stderr
, " (%s:%d)\n", LOCATE_compiling_global
, 664);
1965 tracehead
= trace
.prev
;
1968 val_t
compiling_global___TableEltClass___is_related_to(val_t self
, val_t param0
) {
1969 struct trace_t trace
= {NULL
, NULL
, 677, LOCATE_compiling_global___TableEltClass___is_related_to
};
1971 void **closurevariable
= NULL
;
1972 trace
.prev
= tracehead
; tracehead
= &trace
;
1973 trace
.file
= LOCATE_compiling_global
;
1975 variable
[1] = param0
;
1976 variable
[4] = CALL_abstractmetamodel___MMLocalClass___module( variable
[1] /*c*/)( variable
[1] /*c*/) /*MMLocalClass::module*/;
1977 variable
[5] = variable
[0];
1978 variable
[5] = ATTR_compiling_global___AbsTableEltClass____local_class(variable
[5]) /*AbsTableEltClass::_local_class*/;
1979 variable
[5] = CALL_abstractmetamodel___MMLocalClass___global(variable
[5])(variable
[5]) /*MMLocalClass::global*/;
1980 variable
[4] = CALL_abstractmetamodel___MMModule_____bra(variable
[4])(variable
[4], variable
[5]) /*MMModule::[]*/;
1981 variable
[3] = variable
[4];
1982 variable
[4] = CALL_abstractmetamodel___MMLocalClass___cshe( variable
[1] /*c*/)( variable
[1] /*c*/) /*MMLocalClass::cshe*/;
1983 variable
[4] = CALL_partial_order___PartialOrderElement_____leq(variable
[4])(variable
[4], variable
[3] /*bc*/) /*PartialOrderElement::<=*/;
1984 variable
[2] = variable
[4];
1985 goto return_label66
;
1986 return_label66
: while(false);
1987 tracehead
= trace
.prev
;
1990 val_t
compiling_global___TableEltClassId___value(val_t self
, val_t param0
) {
1991 struct trace_t trace
= {NULL
, NULL
, 690, LOCATE_compiling_global___TableEltClassId___value
};
1993 void **closurevariable
= NULL
;
1994 trace
.prev
= tracehead
; tracehead
= &trace
;
1995 trace
.file
= LOCATE_compiling_global
;
1997 variable
[1] = param0
;
1998 variable
[3] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
1999 variable
[4] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2000 variable
[5] = variable
[4];
2001 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[5]) /*AbstractArray::add*/;
2002 variable
[6] = CALL_compiling_global___GlobalAnalysis___compiled_classes( variable
[1] /*ga*/)( variable
[1] /*ga*/) /*GlobalAnalysis::compiled_classes*/;
2003 variable
[7] = variable
[0];
2004 variable
[7] = ATTR_compiling_global___AbsTableEltClass____local_class(variable
[7]) /*AbsTableEltClass::_local_class*/;
2005 variable
[7] = CALL_abstractmetamodel___MMLocalClass___global(variable
[7])(variable
[7]) /*MMLocalClass::global*/;
2006 variable
[6] = CALL_abstract_collection___Map_____bra(variable
[6])(variable
[6], variable
[7]) /*CoupleMap::[]*/;
2007 variable
[6] = CALL_compiling_global___CompiledClass___id(variable
[6])(variable
[6]) /*CompiledClass::id*/;
2008 variable
[7] = variable
[6];
2009 variable
[7] = CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/;
2010 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[7]) /*AbstractArray::add*/;
2011 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString(" /* Id of "), TAG_Int(10)); /*new String*/
2012 variable
[9] = variable
[8];
2013 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[9]) /*AbstractArray::add*/;
2014 variable
[10] = variable
[0];
2015 variable
[10] = ATTR_compiling_global___AbsTableEltClass____local_class(variable
[10]) /*AbsTableEltClass::_local_class*/;
2016 variable
[11] = variable
[10];
2017 variable
[11] = CALL_string___Object___to_s(variable
[11])(variable
[11]) /*Object::to_s*/;
2018 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[11]) /*AbstractArray::add*/;
2019 variable
[12] = NEW_String_string___String___with_native(BOX_NativeString(" */"), TAG_Int(3)); /*new String*/
2020 variable
[13] = variable
[12];
2021 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[13]) /*AbstractArray::add*/;
2022 variable
[3] = CALL_string___Object___to_s(variable
[3])(variable
[3]) /*Object::to_s*/;
2023 variable
[2] = variable
[3];
2024 goto return_label67
;
2025 return_label67
: while(false);
2026 tracehead
= trace
.prev
;
2029 val_t
compiling_global___TableEltClassId___symbol(val_t self
) {
2030 struct trace_t trace
= {NULL
, NULL
, 688, LOCATE_compiling_global___TableEltClassId___symbol
};
2032 void **closurevariable
= NULL
;
2033 trace
.prev
= tracehead
; tracehead
= &trace
;
2034 trace
.file
= LOCATE_compiling_global
;
2036 variable
[2] = variable
[0];
2037 variable
[2] = ATTR_compiling_global___AbsTableEltClass____local_class(variable
[2]) /*AbsTableEltClass::_local_class*/;
2038 variable
[2] = CALL_abstractmetamodel___MMLocalClass___global(variable
[2])(variable
[2]) /*MMLocalClass::global*/;
2039 variable
[2] = CALL_compiling_base___MMGlobalClass___id_id(variable
[2])(variable
[2]) /*MMGlobalClass::id_id*/;
2040 variable
[1] = variable
[2];
2041 goto return_label68
;
2042 return_label68
: while(false);
2043 tracehead
= trace
.prev
;
2046 val_t
compiling_global___TableEltClassInitTable___compile_to_c(val_t self
, val_t param0
, val_t param1
) {
2047 struct trace_t trace
= {NULL
, NULL
, 701, LOCATE_compiling_global___TableEltClassInitTable___compile_to_c
};
2049 void **closurevariable
= NULL
;
2050 trace
.prev
= tracehead
; tracehead
= &trace
;
2051 trace
.file
= LOCATE_compiling_global
;
2053 variable
[1] = param0
;
2054 variable
[2] = param1
;
2055 variable
[5] = CALL_compiling_global___CompilerVisitor___global_analysis( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::global_analysis*/;
2056 variable
[4] = variable
[5];
2057 variable
[6] = CALL_compiling_global___GlobalAnalysis___compiled_classes( variable
[4] /*ga*/)( variable
[4] /*ga*/) /*GlobalAnalysis::compiled_classes*/;
2058 variable
[7] = variable
[0];
2059 variable
[7] = ATTR_compiling_global___AbsTableEltClass____local_class(variable
[7]) /*AbsTableEltClass::_local_class*/;
2060 variable
[7] = CALL_abstractmetamodel___MMLocalClass___global(variable
[7])(variable
[7]) /*MMLocalClass::global*/;
2061 variable
[6] = CALL_abstract_collection___Map_____bra(variable
[6])(variable
[6], variable
[7]) /*CoupleMap::[]*/;
2062 variable
[5] = variable
[6];
2063 variable
[7] = CALL_abstractmetamodel___MMLocalClass___cshe( variable
[2] /*c*/)( variable
[2] /*c*/) /*MMLocalClass::cshe*/;
2064 variable
[7] = CALL_partial_order___PartialOrderElement___reverse_linear_extension(variable
[7])(variable
[7]) /*PartialOrderElement::reverse_linear_extension*/;
2065 variable
[6] = variable
[7];
2066 variable
[7] = TAG_Int(0);
2067 while (true) { /*while*/
2068 variable
[8] = variable
[6] /*linext*/;
2069 variable
[9] = variable
[7] /*i*/;
2070 variable
[11] = TAG_Bool(UNTAG_Int( variable
[9] /*index*/)>=UNTAG_Int( TAG_Int(0)));
2071 variable
[12] = variable
[11];
2072 if (UNTAG_Bool(variable
[12])) { /* and */
2073 variable
[12] = variable
[8];
2074 variable
[12] = ATTR_array___AbstractArray____length(variable
[12]) /*AbstractArray::_length*/;
2075 variable
[12] = TAG_Bool(UNTAG_Int( variable
[9] /*index*/)<UNTAG_Int(variable
[12]));
2077 variable
[11] = variable
[12];
2078 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);}
2079 variable
[11] = variable
[8];
2080 variable
[11] = ATTR_array___Array____items(variable
[11]) /*Array::_items*/;
2081 variable
[11] = UNBOX_NativeArray(variable
[11])[UNTAG_Int( variable
[9] /*index*/)];
2082 variable
[10] = variable
[11];
2083 goto return_label71
;
2084 return_label71
: while(false);
2085 variable
[8] = variable
[10];
2086 variable
[8] = CALL_abstractmetamodel___MMLocalClass___global(variable
[8])(variable
[8]) /*MMLocalClass::global*/;
2087 variable
[9] = variable
[0];
2088 variable
[9] = ATTR_compiling_global___AbsTableEltClass____local_class(variable
[9]) /*AbsTableEltClass::_local_class*/;
2089 variable
[9] = CALL_abstractmetamodel___MMLocalClass___global(variable
[9])(variable
[9]) /*MMLocalClass::global*/;
2090 variable
[8] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[8] == variable
[9]) || ((variable
[8] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[8])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[8],variable
[9])):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[8])(variable
[8], variable
[9]) /*Object::==*/)))))));
2091 if (!UNTAG_Bool(variable
[8])) break; /* while*/
2092 variable
[7] = TAG_Int(UNTAG_Int(variable
[7])+UNTAG_Int( TAG_Int(1))) /*i*/;
2093 continue_70
: while(0);
2096 variable
[8] = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[String]*/
2097 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2098 variable
[10] = variable
[9];
2099 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[10]) /*AbstractArray::add*/;
2100 variable
[11] = variable
[7] /*i*/;
2101 variable
[11] = CALL_string___Object___to_s(variable
[11])(variable
[11]) /*Object::to_s*/;
2102 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[11]) /*AbstractArray::add*/;
2103 variable
[12] = NEW_String_string___String___with_native(BOX_NativeString(" /* "), TAG_Int(4)); /*new String*/
2104 variable
[13] = variable
[12];
2105 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[13]) /*AbstractArray::add*/;
2106 variable
[14] = variable
[0];
2107 variable
[14] = CALL_compiling_global___ColorContext___color( variable
[4] /*ga*/)( variable
[4] /*ga*/, variable
[14]) /*ColorContext::color*/;
2108 variable
[15] = variable
[14];
2109 variable
[15] = CALL_string___Object___to_s(variable
[15])(variable
[15]) /*Object::to_s*/;
2110 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[15]) /*AbstractArray::add*/;
2111 variable
[16] = NEW_String_string___String___with_native(BOX_NativeString(": "), TAG_Int(2)); /*new String*/
2112 variable
[17] = variable
[16];
2113 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[17]) /*AbstractArray::add*/;
2114 variable
[18] = variable
[2] /*c*/;
2115 variable
[18] = CALL_string___Object___to_s(variable
[18])(variable
[18]) /*Object::to_s*/;
2116 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[18]) /*AbstractArray::add*/;
2117 variable
[19] = NEW_String_string___String___with_native(BOX_NativeString(" < "), TAG_Int(3)); /*new String*/
2118 variable
[20] = variable
[19];
2119 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[20]) /*AbstractArray::add*/;
2120 variable
[21] = CALL_compiling_global___CompiledClass___local_class( variable
[5] /*cc*/)( variable
[5] /*cc*/) /*CompiledClass::local_class*/;
2121 variable
[22] = variable
[21];
2122 variable
[22] = CALL_string___Object___to_s(variable
[22])(variable
[22]) /*Object::to_s*/;
2123 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[22]) /*AbstractArray::add*/;
2124 variable
[23] = NEW_String_string___String___with_native(BOX_NativeString(": superclass init_table position */"), TAG_Int(35)); /*new String*/
2125 variable
[24] = variable
[23];
2126 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[24]) /*AbstractArray::add*/;
2127 variable
[8] = CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/;
2128 variable
[3] = variable
[8];
2129 goto return_label69
;
2130 return_label69
: while(false);
2131 tracehead
= trace
.prev
;
2134 val_t
compiling_global___TableEltClassInitTable___symbol(val_t self
) {
2135 struct trace_t trace
= {NULL
, NULL
, 699, LOCATE_compiling_global___TableEltClassInitTable___symbol
};
2137 void **closurevariable
= NULL
;
2138 trace
.prev
= tracehead
; tracehead
= &trace
;
2139 trace
.file
= LOCATE_compiling_global
;
2141 variable
[2] = variable
[0];
2142 variable
[2] = ATTR_compiling_global___AbsTableEltClass____local_class(variable
[2]) /*AbsTableEltClass::_local_class*/;
2143 variable
[2] = CALL_abstractmetamodel___MMLocalClass___global(variable
[2])(variable
[2]) /*MMLocalClass::global*/;
2144 variable
[2] = CALL_compiling_base___MMGlobalClass___init_table_pos_id(variable
[2])(variable
[2]) /*MMGlobalClass::init_table_pos_id*/;
2145 variable
[1] = variable
[2];
2146 goto return_label72
;
2147 return_label72
: while(false);
2148 tracehead
= trace
.prev
;
2151 val_t
compiling_global___TableEltClassColor___compile_to_c(val_t self
, val_t param0
, val_t param1
) {
2152 struct trace_t trace
= {NULL
, NULL
, 728, LOCATE_compiling_global___TableEltClassColor___compile_to_c
};
2154 void **closurevariable
= NULL
;
2155 trace
.prev
= tracehead
; tracehead
= &trace
;
2156 trace
.file
= LOCATE_compiling_global
;
2158 variable
[1] = param0
;
2159 variable
[2] = param1
;
2160 variable
[5] = CALL_compiling_global___CompilerVisitor___global_analysis( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::global_analysis*/;
2161 variable
[4] = variable
[5];
2162 variable
[6] = CALL_compiling_global___GlobalAnalysis___compiled_classes( variable
[4] /*ga*/)( variable
[4] /*ga*/) /*GlobalAnalysis::compiled_classes*/;
2163 variable
[7] = variable
[0];
2164 variable
[7] = ATTR_compiling_global___AbsTableEltClass____local_class(variable
[7]) /*AbsTableEltClass::_local_class*/;
2165 variable
[7] = CALL_abstractmetamodel___MMLocalClass___global(variable
[7])(variable
[7]) /*MMLocalClass::global*/;
2166 variable
[6] = CALL_abstract_collection___Map_____bra(variable
[6])(variable
[6], variable
[7]) /*CoupleMap::[]*/;
2167 variable
[5] = variable
[6];
2168 variable
[6] = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[String]*/
2169 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2170 variable
[8] = variable
[7];
2171 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[8]) /*AbstractArray::add*/;
2172 variable
[9] = CALL_compiling_global___CompiledClass___id( variable
[5] /*cc*/)( variable
[5] /*cc*/) /*CompiledClass::id*/;
2173 variable
[10] = variable
[9];
2174 variable
[10] = CALL_string___Object___to_s(variable
[10])(variable
[10]) /*Object::to_s*/;
2175 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[10]) /*AbstractArray::add*/;
2176 variable
[11] = NEW_String_string___String___with_native(BOX_NativeString(" /* "), TAG_Int(4)); /*new String*/
2177 variable
[12] = variable
[11];
2178 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[12]) /*AbstractArray::add*/;
2179 variable
[13] = variable
[0];
2180 variable
[13] = CALL_compiling_global___ColorContext___color( variable
[4] /*ga*/)( variable
[4] /*ga*/, variable
[13]) /*ColorContext::color*/;
2181 variable
[14] = variable
[13];
2182 variable
[14] = CALL_string___Object___to_s(variable
[14])(variable
[14]) /*Object::to_s*/;
2183 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[14]) /*AbstractArray::add*/;
2184 variable
[15] = NEW_String_string___String___with_native(BOX_NativeString(": "), TAG_Int(2)); /*new String*/
2185 variable
[16] = variable
[15];
2186 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[16]) /*AbstractArray::add*/;
2187 variable
[17] = variable
[2] /*c*/;
2188 variable
[17] = CALL_string___Object___to_s(variable
[17])(variable
[17]) /*Object::to_s*/;
2189 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[17]) /*AbstractArray::add*/;
2190 variable
[18] = NEW_String_string___String___with_native(BOX_NativeString(" < "), TAG_Int(3)); /*new String*/
2191 variable
[19] = variable
[18];
2192 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[19]) /*AbstractArray::add*/;
2193 variable
[20] = CALL_compiling_global___CompiledClass___local_class( variable
[5] /*cc*/)( variable
[5] /*cc*/) /*CompiledClass::local_class*/;
2194 variable
[21] = variable
[20];
2195 variable
[21] = CALL_string___Object___to_s(variable
[21])(variable
[21]) /*Object::to_s*/;
2196 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[21]) /*AbstractArray::add*/;
2197 variable
[22] = NEW_String_string___String___with_native(BOX_NativeString(": superclass typecheck marker */"), TAG_Int(32)); /*new String*/
2198 variable
[23] = variable
[22];
2199 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[23]) /*AbstractArray::add*/;
2200 variable
[6] = CALL_string___Object___to_s(variable
[6])(variable
[6]) /*Object::to_s*/;
2201 variable
[3] = variable
[6];
2202 goto return_label73
;
2203 return_label73
: while(false);
2204 tracehead
= trace
.prev
;
2207 val_t
compiling_global___TableEltClassColor___symbol(val_t self
) {
2208 struct trace_t trace
= {NULL
, NULL
, 721, LOCATE_compiling_global___TableEltClassColor___symbol
};
2210 void **closurevariable
= NULL
;
2211 trace
.prev
= tracehead
; tracehead
= &trace
;
2212 trace
.file
= LOCATE_compiling_global
;
2214 variable
[2] = variable
[0];
2215 variable
[2] = ATTR_compiling_global___AbsTableEltClass____local_class(variable
[2]) /*AbsTableEltClass::_local_class*/;
2216 variable
[2] = CALL_abstractmetamodel___MMLocalClass___global(variable
[2])(variable
[2]) /*MMLocalClass::global*/;
2217 variable
[2] = CALL_compiling_base___MMGlobalClass___color_id(variable
[2])(variable
[2]) /*MMGlobalClass::color_id*/;
2218 variable
[1] = variable
[2];
2219 goto return_label74
;
2220 return_label74
: while(false);
2221 tracehead
= trace
.prev
;
2224 val_t
compiling_global___TableEltClassColor___value(val_t self
, val_t param0
) {
2225 struct trace_t trace
= {NULL
, NULL
, 723, LOCATE_compiling_global___TableEltClassColor___value
};
2227 void **closurevariable
= NULL
;
2228 trace
.prev
= tracehead
; tracehead
= &trace
;
2229 trace
.file
= LOCATE_compiling_global
;
2231 variable
[1] = param0
;
2232 variable
[3] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
2233 variable
[4] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2234 variable
[5] = variable
[4];
2235 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[5]) /*AbstractArray::add*/;
2236 variable
[6] = variable
[0];
2237 variable
[6] = CALL_compiling_global___ColorContext___color( variable
[1] /*ga*/)( variable
[1] /*ga*/, variable
[6]) /*ColorContext::color*/;
2238 variable
[7] = variable
[6];
2239 variable
[7] = CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/;
2240 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[7]) /*AbstractArray::add*/;
2241 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString(" /* Color of "), TAG_Int(13)); /*new String*/
2242 variable
[9] = variable
[8];
2243 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[9]) /*AbstractArray::add*/;
2244 variable
[10] = variable
[0];
2245 variable
[10] = ATTR_compiling_global___AbsTableEltClass____local_class(variable
[10]) /*AbsTableEltClass::_local_class*/;
2246 variable
[11] = variable
[10];
2247 variable
[11] = CALL_string___Object___to_s(variable
[11])(variable
[11]) /*Object::to_s*/;
2248 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[11]) /*AbstractArray::add*/;
2249 variable
[12] = NEW_String_string___String___with_native(BOX_NativeString(" */"), TAG_Int(3)); /*new String*/
2250 variable
[13] = variable
[12];
2251 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[13]) /*AbstractArray::add*/;
2252 variable
[3] = CALL_string___Object___to_s(variable
[3])(variable
[3]) /*Object::to_s*/;
2253 variable
[2] = variable
[3];
2254 goto return_label75
;
2255 return_label75
: while(false);
2256 tracehead
= trace
.prev
;
2259 val_t
compiling_global___TableEltComposite___is_related_to(val_t self
, val_t param0
) {
2260 struct trace_t trace
= {NULL
, NULL
, 743, LOCATE_compiling_global___TableEltComposite___is_related_to
};
2262 void **closurevariable
= NULL
;
2263 trace
.prev
= tracehead
; tracehead
= &trace
;
2264 trace
.file
= LOCATE_compiling_global
;
2266 variable
[1] = param0
;
2267 variable
[3] = CALL_abstractmetamodel___MMLocalClass___cshe( variable
[1] /*c*/)( variable
[1] /*c*/) /*MMLocalClass::cshe*/;
2268 variable
[4] = variable
[0];
2269 variable
[4] = ATTR_compiling_global___TableEltComposite____cc(variable
[4]) /*TableEltComposite::_cc*/;
2270 variable
[4] = CALL_compiling_global___CompiledClass___local_class(variable
[4])(variable
[4]) /*CompiledClass::local_class*/;
2271 variable
[3] = CALL_partial_order___PartialOrderElement_____leq(variable
[3])(variable
[3], variable
[4]) /*PartialOrderElement::<=*/;
2272 variable
[2] = variable
[3];
2273 goto return_label76
;
2274 return_label76
: while(false);
2275 tracehead
= trace
.prev
;
2278 val_t
compiling_global___TableEltComposite___length(val_t self
) {
2279 struct trace_t trace
= {NULL
, NULL
, 742, LOCATE_compiling_global___TableEltComposite___length
};
2281 void **closurevariable
= NULL
;
2282 trace
.prev
= tracehead
; tracehead
= &trace
;
2283 trace
.file
= LOCATE_compiling_global
;
2285 variable
[2] = variable
[0];
2286 variable
[2] = ATTR_compiling_global___TableEltComposite____table(variable
[2]) /*TableEltComposite::_table*/;
2287 variable
[2] = CALL_abstract_collection___Collection___length(variable
[2])(variable
[2]) /*AbstractArray::length*/;
2288 variable
[1] = variable
[2];
2289 goto return_label77
;
2290 return_label77
: while(false);
2291 tracehead
= trace
.prev
;
2294 val_t
compiling_global___TableEltComposite___item(val_t self
, val_t param0
) {
2295 struct trace_t trace
= {NULL
, NULL
, 751, LOCATE_compiling_global___TableEltComposite___item
};
2297 void **closurevariable
= NULL
;
2298 trace
.prev
= tracehead
; tracehead
= &trace
;
2299 trace
.file
= LOCATE_compiling_global
;
2301 variable
[1] = param0
;
2302 variable
[3] = variable
[0];
2303 variable
[3] = ATTR_compiling_global___TableEltComposite____table(variable
[3]) /*TableEltComposite::_table*/;
2304 variable
[4] = variable
[3];
2305 variable
[5] = variable
[1] /*i*/;
2306 variable
[7] = TAG_Bool(UNTAG_Int( variable
[5] /*index*/)>=UNTAG_Int( TAG_Int(0)));
2307 variable
[8] = variable
[7];
2308 if (UNTAG_Bool(variable
[8])) { /* and */
2309 variable
[8] = variable
[4];
2310 variable
[8] = ATTR_array___AbstractArray____length(variable
[8]) /*AbstractArray::_length*/;
2311 variable
[8] = TAG_Bool(UNTAG_Int( variable
[5] /*index*/)<UNTAG_Int(variable
[8]));
2313 variable
[7] = variable
[8];
2314 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);}
2315 variable
[7] = variable
[4];
2316 variable
[7] = ATTR_array___Array____items(variable
[7]) /*Array::_items*/;
2317 variable
[7] = UNBOX_NativeArray(variable
[7])[UNTAG_Int( variable
[5] /*index*/)];
2318 variable
[6] = variable
[7];
2319 goto return_label79
;
2320 return_label79
: while(false);
2321 variable
[3] = variable
[6];
2322 variable
[2] = variable
[3];
2323 goto return_label78
;
2324 return_label78
: while(false);
2325 tracehead
= trace
.prev
;
2328 val_t
compiling_global___TableEltComposite___compile_to_c(val_t self
, val_t param0
, val_t param1
) {
2329 struct trace_t trace
= {NULL
, NULL
, 753, LOCATE_compiling_global___TableEltComposite___compile_to_c
};
2331 void **closurevariable
= NULL
;
2332 trace
.prev
= tracehead
; tracehead
= &trace
;
2333 trace
.file
= LOCATE_compiling_global
;
2335 variable
[1] = param0
;
2336 variable
[2] = param1
;
2337 fprintf(stderr
, "Aborted"); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_compiling_global___TableEltComposite___compile_to_c
, LOCATE_compiling_global
, 753); nit_exit(1);
2338 return_label80
: while(false);
2339 tracehead
= trace
.prev
;
2342 void compiling_global___TableEltComposite___add(val_t self
, val_t param0
, val_t param1
) {
2343 struct trace_t trace
= {NULL
, NULL
, 745, LOCATE_compiling_global___TableEltComposite___add
};
2345 void **closurevariable
= NULL
;
2346 trace
.prev
= tracehead
; tracehead
= &trace
;
2347 trace
.file
= LOCATE_compiling_global
;
2349 variable
[1] = param0
;
2350 variable
[2] = param1
;
2351 variable
[4] = variable
[0];
2352 variable
[4] = ATTR_compiling_global___TableEltComposite____offsets(variable
[4]) /*TableEltComposite::_offsets*/;
2353 variable
[5] = variable
[0];
2354 variable
[5] = ATTR_compiling_global___TableEltComposite____table(variable
[5]) /*TableEltComposite::_table*/;
2355 variable
[5] = CALL_abstract_collection___Collection___length(variable
[5])(variable
[5]) /*AbstractArray::length*/;
2356 CALL_abstract_collection___Map_____braeq(variable
[4])(variable
[4], variable
[1] /*c*/, variable
[5]) /*HashMap::[]=*/;
2357 variable
[4] = variable
[0];
2358 variable
[4] = ATTR_compiling_global___TableEltComposite____table(variable
[4]) /*TableEltComposite::_table*/;
2359 CALL_abstract_collection___IndexedCollection___append(variable
[4])(variable
[4], variable
[2] /*tab*/) /*IndexedCollection::append*/;
2360 return_label81
: while(false);
2361 tracehead
= trace
.prev
;
2364 void compiling_global___TableEltComposite___init(val_t self
, val_t param0
, int* init_table
) {
2365 struct trace_t trace
= {NULL
, NULL
, 755, LOCATE_compiling_global___TableEltComposite___init
};
2367 void **closurevariable
= NULL
;
2368 trace
.prev
= tracehead
; tracehead
= &trace
;
2369 trace
.file
= LOCATE_compiling_global
;
2371 variable
[1] = param0
;
2372 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_TableEltComposite
].i
]) return;
2373 variable
[3] = variable
[0];
2374 ATTR_compiling_global___TableEltComposite____cc(variable
[3]) /*TableEltComposite::_cc*/ = variable
[1] /*cc*/;
2375 variable
[3] = variable
[0];
2376 variable
[4] = NEW_Array_array___Array___init(); /*new Array[TableElt]*/
2377 ATTR_compiling_global___TableEltComposite____table(variable
[3]) /*TableEltComposite::_table*/ = variable
[4];
2378 variable
[3] = variable
[0];
2379 variable
[4] = NEW_HashMap_hash___HashMap___init(); /*new HashMap[MMLocalClass, Int]*/
2380 ATTR_compiling_global___TableEltComposite____offsets(variable
[3]) /*TableEltComposite::_offsets*/ = variable
[4];
2381 return_label82
: while(false);
2382 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_TableEltComposite
].i
] = 1;
2383 tracehead
= trace
.prev
;
2386 val_t
compiling_global___TableEltClassSelfId___is_related_to(val_t self
, val_t param0
) {
2387 struct trace_t trace
= {NULL
, NULL
, 766, LOCATE_compiling_global___TableEltClassSelfId___is_related_to
};
2389 void **closurevariable
= NULL
;
2390 trace
.prev
= tracehead
; tracehead
= &trace
;
2391 trace
.file
= LOCATE_compiling_global
;
2393 variable
[1] = param0
;
2394 variable
[2] = TAG_Bool(true);
2395 goto return_label83
;
2396 return_label83
: while(false);
2397 tracehead
= trace
.prev
;
2400 val_t
compiling_global___TableEltClassSelfId___compile_to_c(val_t self
, val_t param0
, val_t param1
) {
2401 struct trace_t trace
= {NULL
, NULL
, 767, LOCATE_compiling_global___TableEltClassSelfId___compile_to_c
};
2403 void **closurevariable
= NULL
;
2404 trace
.prev
= tracehead
; tracehead
= &trace
;
2405 trace
.file
= LOCATE_compiling_global
;
2407 variable
[1] = param0
;
2408 variable
[2] = param1
;
2409 variable
[5] = CALL_compiling_global___CompilerVisitor___global_analysis( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::global_analysis*/;
2410 variable
[4] = variable
[5];
2411 variable
[5] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
2412 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2413 variable
[7] = variable
[6];
2414 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[7]) /*AbstractArray::add*/;
2415 variable
[8] = CALL_compiling_global___CompilerVisitor___global_analysis( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::global_analysis*/;
2416 variable
[8] = CALL_compiling_global___GlobalAnalysis___compiled_classes(variable
[8])(variable
[8]) /*GlobalAnalysis::compiled_classes*/;
2417 variable
[9] = CALL_abstractmetamodel___MMLocalClass___global( variable
[2] /*c*/)( variable
[2] /*c*/) /*MMLocalClass::global*/;
2418 variable
[8] = CALL_abstract_collection___Map_____bra(variable
[8])(variable
[8], variable
[9]) /*CoupleMap::[]*/;
2419 variable
[8] = CALL_compiling_global___CompiledClass___id(variable
[8])(variable
[8]) /*CompiledClass::id*/;
2420 variable
[9] = variable
[8];
2421 variable
[9] = CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/;
2422 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[9]) /*AbstractArray::add*/;
2423 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString(" /* "), TAG_Int(4)); /*new String*/
2424 variable
[11] = variable
[10];
2425 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[11]) /*AbstractArray::add*/;
2426 variable
[12] = variable
[0];
2427 variable
[12] = CALL_compiling_global___ColorContext___color( variable
[4] /*ga*/)( variable
[4] /*ga*/, variable
[12]) /*ColorContext::color*/;
2428 variable
[13] = variable
[12];
2429 variable
[13] = CALL_string___Object___to_s(variable
[13])(variable
[13]) /*Object::to_s*/;
2430 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[13]) /*AbstractArray::add*/;
2431 variable
[14] = NEW_String_string___String___with_native(BOX_NativeString(": Identity */"), TAG_Int(13)); /*new String*/
2432 variable
[15] = variable
[14];
2433 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[15]) /*AbstractArray::add*/;
2434 variable
[5] = CALL_string___Object___to_s(variable
[5])(variable
[5]) /*Object::to_s*/;
2435 variable
[3] = variable
[5];
2436 goto return_label84
;
2437 return_label84
: while(false);
2438 tracehead
= trace
.prev
;
2441 val_t
compiling_global___TableEltVftPointer___is_related_to(val_t self
, val_t param0
) {
2442 struct trace_t trace
= {NULL
, NULL
, 777, LOCATE_compiling_global___TableEltVftPointer___is_related_to
};
2444 void **closurevariable
= NULL
;
2445 trace
.prev
= tracehead
; tracehead
= &trace
;
2446 trace
.file
= LOCATE_compiling_global
;
2448 variable
[1] = param0
;
2449 variable
[2] = TAG_Bool(true);
2450 goto return_label85
;
2451 return_label85
: while(false);
2452 tracehead
= trace
.prev
;
2455 val_t
compiling_global___TableEltVftPointer___compile_to_c(val_t self
, val_t param0
, val_t param1
) {
2456 struct trace_t trace
= {NULL
, NULL
, 778, LOCATE_compiling_global___TableEltVftPointer___compile_to_c
};
2458 void **closurevariable
= NULL
;
2459 trace
.prev
= tracehead
; tracehead
= &trace
;
2460 trace
.file
= LOCATE_compiling_global
;
2462 variable
[1] = param0
;
2463 variable
[2] = param1
;
2464 variable
[5] = CALL_compiling_global___CompilerVisitor___global_analysis( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::global_analysis*/;
2465 variable
[4] = variable
[5];
2466 variable
[5] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
2467 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString("/* "), TAG_Int(3)); /*new String*/
2468 variable
[7] = variable
[6];
2469 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[7]) /*AbstractArray::add*/;
2470 variable
[8] = variable
[0];
2471 variable
[8] = CALL_compiling_global___ColorContext___color( variable
[4] /*ga*/)( variable
[4] /*ga*/, variable
[8]) /*ColorContext::color*/;
2472 variable
[9] = variable
[8];
2473 variable
[9] = CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/;
2474 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[9]) /*AbstractArray::add*/;
2475 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString(": Pointer to the classtable */"), TAG_Int(30)); /*new String*/
2476 variable
[11] = variable
[10];
2477 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[11]) /*AbstractArray::add*/;
2478 variable
[5] = CALL_string___Object___to_s(variable
[5])(variable
[5]) /*Object::to_s*/;
2479 variable
[3] = variable
[5];
2480 goto return_label86
;
2481 return_label86
: while(false);
2482 tracehead
= trace
.prev
;
2485 val_t
compiling_global___ClassSorter___compare(val_t self
, val_t param0
, val_t param1
) {
2486 struct trace_t trace
= {NULL
, NULL
, 791, LOCATE_compiling_global___ClassSorter___compare
};
2488 void **closurevariable
= NULL
;
2489 trace
.prev
= tracehead
; tracehead
= &trace
;
2490 trace
.file
= LOCATE_compiling_global
;
2492 variable
[1] = param0
;
2493 variable
[2] = param1
;
2494 variable
[4] = CALL_compiling_global___MMLocalClass___compare( variable
[1] /*a*/)( variable
[1] /*a*/, variable
[2] /*b*/) /*MMLocalClass::compare*/;
2495 variable
[3] = variable
[4];
2496 goto return_label87
;
2497 return_label87
: while(false);
2498 tracehead
= trace
.prev
;
2501 void compiling_global___ClassSorter___init(val_t self
, int* init_table
) {
2502 struct trace_t trace
= {NULL
, NULL
, 792, LOCATE_compiling_global___ClassSorter___init
};
2504 void **closurevariable
= NULL
;
2505 trace
.prev
= tracehead
; tracehead
= &trace
;
2506 trace
.file
= LOCATE_compiling_global
;
2508 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_ClassSorter
].i
]) return;
2509 return_label88
: while(false);
2510 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_ClassSorter
].i
] = 1;
2511 tracehead
= trace
.prev
;
2514 val_t
compiling_global___MMLocalClass___compare(val_t self
, val_t param0
) {
2515 struct trace_t trace
= {NULL
, NULL
, 796, LOCATE_compiling_global___MMLocalClass___compare
};
2517 void **closurevariable
= NULL
;
2518 trace
.prev
= tracehead
; tracehead
= &trace
;
2519 trace
.file
= LOCATE_compiling_global
;
2521 variable
[1] = param0
;
2522 variable
[4] = variable
[0];
2523 variable
[3] = variable
[4];
2524 variable
[4] = TAG_Bool(( variable
[3] /*a*/ == variable
[1] /*b*/) || (( variable
[3] /*a*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[3] /*a*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[3] /*a*/, variable
[1] /*b*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[3] /*a*/)( variable
[3] /*a*/, variable
[1] /*b*/) /*Object::==*/)))));
2525 if (UNTAG_Bool(variable
[4])) { /*if*/
2526 variable
[2] = TAG_Int(0);
2527 goto return_label89
;
2529 variable
[4] = CALL_abstractmetamodel___MMLocalClass___module( variable
[3] /*a*/)( variable
[3] /*a*/) /*MMLocalClass::module*/;
2530 variable
[4] = CALL_abstractmetamodel___MMModule___mhe(variable
[4])(variable
[4]) /*MMModule::mhe*/;
2531 variable
[5] = CALL_abstractmetamodel___MMLocalClass___module( variable
[1] /*b*/)( variable
[1] /*b*/) /*MMLocalClass::module*/;
2532 variable
[4] = CALL_partial_order___PartialOrderElement_____l(variable
[4])(variable
[4], variable
[5]) /*PartialOrderElement::<*/;
2533 if (UNTAG_Bool(variable
[4])) { /*if*/
2534 variable
[2] = TAG_Int(1);
2535 goto return_label89
;
2537 variable
[4] = CALL_abstractmetamodel___MMLocalClass___module( variable
[1] /*b*/)( variable
[1] /*b*/) /*MMLocalClass::module*/;
2538 variable
[4] = CALL_abstractmetamodel___MMModule___mhe(variable
[4])(variable
[4]) /*MMModule::mhe*/;
2539 variable
[5] = CALL_abstractmetamodel___MMLocalClass___module( variable
[3] /*a*/)( variable
[3] /*a*/) /*MMLocalClass::module*/;
2540 variable
[4] = CALL_partial_order___PartialOrderElement_____l(variable
[4])(variable
[4], variable
[5]) /*PartialOrderElement::<*/;
2541 if (UNTAG_Bool(variable
[4])) { /*if*/
2542 variable
[4] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
2543 variable
[2] = variable
[4];
2544 goto return_label89
;
2548 variable
[5] = CALL_abstractmetamodel___MMLocalClass___cshe( variable
[3] /*a*/)( variable
[3] /*a*/) /*MMLocalClass::cshe*/;
2549 variable
[5] = CALL_partial_order___PartialOrderElement___rank(variable
[5])(variable
[5]) /*PartialOrderElement::rank*/;
2550 variable
[4] = variable
[5];
2551 variable
[6] = CALL_abstractmetamodel___MMLocalClass___cshe( variable
[1] /*b*/)( variable
[1] /*b*/) /*MMLocalClass::cshe*/;
2552 variable
[6] = CALL_partial_order___PartialOrderElement___rank(variable
[6])(variable
[6]) /*PartialOrderElement::rank*/;
2553 variable
[5] = variable
[6];
2554 variable
[6] = TAG_Bool(UNTAG_Int( variable
[4] /*ar*/)>UNTAG_Int( variable
[5] /*br*/));
2555 if (UNTAG_Bool(variable
[6])) { /*if*/
2556 variable
[2] = TAG_Int(1);
2557 goto return_label89
;
2559 variable
[6] = TAG_Bool(UNTAG_Int( variable
[5] /*br*/)>UNTAG_Int( variable
[4] /*ar*/));
2560 if (UNTAG_Bool(variable
[6])) { /*if*/
2561 variable
[6] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
2562 variable
[2] = variable
[6];
2563 goto return_label89
;
2565 variable
[6] = CALL_abstractmetamodel___MMLocalClass___name( variable
[1] /*b*/)( variable
[1] /*b*/) /*MMLocalClass::name*/;
2566 variable
[6] = CALL_string___Object___to_s(variable
[6])(variable
[6]) /*Symbol::to_s*/;
2567 variable
[7] = CALL_abstractmetamodel___MMLocalClass___name( variable
[3] /*a*/)( variable
[3] /*a*/) /*MMLocalClass::name*/;
2568 variable
[7] = CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Symbol::to_s*/;
2569 variable
[6] = CALL_kernel___Comparable_____leqg(variable
[6])(variable
[6], variable
[7]) /*Comparable::<=>*/;
2570 variable
[2] = variable
[6];
2571 goto return_label89
;
2574 return_label89
: while(false);
2575 tracehead
= trace
.prev
;
2578 void compiling_global___MMLocalClass___declare_tables_to_c(val_t self
, val_t param0
) {
2579 struct trace_t trace
= {NULL
, NULL
, 818, LOCATE_compiling_global___MMLocalClass___declare_tables_to_c
};
2581 void **closurevariable
= NULL
;
2582 trace
.prev
= tracehead
; tracehead
= &trace
;
2583 trace
.file
= LOCATE_compiling_global
;
2585 variable
[1] = param0
;
2586 variable
[3] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2587 CALL_compiling_base___CompilerVisitor___add_decl( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[3]) /*CompilerVisitor::add_decl*/;
2588 variable
[4] = variable
[0];
2589 variable
[4] = CALL_compiling_base___MMLocalClass___primitive_info(variable
[4])(variable
[4]) /*MMLocalClass::primitive_info*/;
2590 variable
[3] = variable
[4];
2591 variable
[4] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
2592 variable
[5] = NEW_String_string___String___with_native(BOX_NativeString("extern const classtable_elt_t VFT_"), TAG_Int(34)); /*new String*/
2593 variable
[6] = variable
[5];
2594 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], variable
[6]) /*AbstractArray::add*/;
2595 variable
[7] = variable
[0];
2596 variable
[7] = CALL_abstractmetamodel___MMLocalClass___name(variable
[7])(variable
[7]) /*MMLocalClass::name*/;
2597 variable
[8] = variable
[7];
2598 variable
[8] = CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/;
2599 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], variable
[8]) /*AbstractArray::add*/;
2600 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("[];"), TAG_Int(3)); /*new String*/
2601 variable
[10] = variable
[9];
2602 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], variable
[10]) /*AbstractArray::add*/;
2603 variable
[4] = CALL_string___Object___to_s(variable
[4])(variable
[4]) /*Object::to_s*/;
2604 CALL_compiling_base___CompilerVisitor___add_decl( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[4]) /*CompilerVisitor::add_decl*/;
2605 variable
[4] = TAG_Bool(( variable
[3] /*pi*/ == NIT_NULL
/*null*/) || (( variable
[3] /*pi*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[3] /*pi*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[3] /*pi*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[3] /*pi*/)( variable
[3] /*pi*/, NIT_NULL
/*null*/) /*Object::==*/)))));
2606 if (UNTAG_Bool(variable
[4])) { /*if*/
2608 variable
[4] = CALL_compiling_base___PrimitiveInfo___tagged( variable
[3] /*pi*/)( variable
[3] /*pi*/) /*PrimitiveInfo::tagged*/;
2609 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable
[4])))) { /*if*/
2610 variable
[5] = CALL_compiling_base___PrimitiveInfo___cname( variable
[3] /*pi*/)( variable
[3] /*pi*/) /*PrimitiveInfo::cname*/;
2611 variable
[4] = variable
[5];
2612 variable
[6] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
2613 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString("struct TBOX_"), TAG_Int(12)); /*new String*/
2614 variable
[8] = variable
[7];
2615 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[8]) /*AbstractArray::add*/;
2616 variable
[9] = variable
[0];
2617 variable
[9] = CALL_abstractmetamodel___MMLocalClass___name(variable
[9])(variable
[9]) /*MMLocalClass::name*/;
2618 variable
[10] = variable
[9];
2619 variable
[10] = CALL_string___Object___to_s(variable
[10])(variable
[10]) /*Object::to_s*/;
2620 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[10]) /*AbstractArray::add*/;
2621 variable
[11] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2622 variable
[12] = variable
[11];
2623 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[12]) /*AbstractArray::add*/;
2624 variable
[6] = CALL_string___Object___to_s(variable
[6])(variable
[6]) /*Object::to_s*/;
2625 variable
[5] = variable
[6];
2626 variable
[6] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
2627 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2628 variable
[8] = variable
[7];
2629 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[8]) /*AbstractArray::add*/;
2630 variable
[9] = variable
[5] /*tbox*/;
2631 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[9]) /*AbstractArray::add*/;
2632 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString(" { const classtable_elt_t * vft; "), TAG_Int(33)); /*new String*/
2633 variable
[11] = variable
[10];
2634 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[11]) /*AbstractArray::add*/;
2635 variable
[12] = variable
[4] /*t*/;
2636 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[12]) /*AbstractArray::add*/;
2637 variable
[13] = NEW_String_string___String___with_native(BOX_NativeString(" val;};"), TAG_Int(7)); /*new String*/
2638 variable
[14] = variable
[13];
2639 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[14]) /*AbstractArray::add*/;
2640 variable
[6] = CALL_string___Object___to_s(variable
[6])(variable
[6]) /*Object::to_s*/;
2641 CALL_compiling_base___CompilerVisitor___add_decl( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[6]) /*CompilerVisitor::add_decl*/;
2642 variable
[6] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
2643 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString("val_t BOX_"), TAG_Int(10)); /*new String*/
2644 variable
[8] = variable
[7];
2645 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[8]) /*AbstractArray::add*/;
2646 variable
[9] = variable
[0];
2647 variable
[9] = CALL_abstractmetamodel___MMLocalClass___name(variable
[9])(variable
[9]) /*MMLocalClass::name*/;
2648 variable
[10] = variable
[9];
2649 variable
[10] = CALL_string___Object___to_s(variable
[10])(variable
[10]) /*Object::to_s*/;
2650 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[10]) /*AbstractArray::add*/;
2651 variable
[11] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
2652 variable
[12] = variable
[11];
2653 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[12]) /*AbstractArray::add*/;
2654 variable
[13] = variable
[4] /*t*/;
2655 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[13]) /*AbstractArray::add*/;
2656 variable
[14] = NEW_String_string___String___with_native(BOX_NativeString(" val);"), TAG_Int(6)); /*new String*/
2657 variable
[15] = variable
[14];
2658 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[15]) /*AbstractArray::add*/;
2659 variable
[6] = CALL_string___Object___to_s(variable
[6])(variable
[6]) /*Object::to_s*/;
2660 CALL_compiling_base___CompilerVisitor___add_decl( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[6]) /*CompilerVisitor::add_decl*/;
2661 variable
[6] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
2662 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString("#define UNBOX_"), TAG_Int(14)); /*new String*/
2663 variable
[8] = variable
[7];
2664 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[8]) /*AbstractArray::add*/;
2665 variable
[9] = variable
[0];
2666 variable
[9] = CALL_abstractmetamodel___MMLocalClass___name(variable
[9])(variable
[9]) /*MMLocalClass::name*/;
2667 variable
[10] = variable
[9];
2668 variable
[10] = CALL_string___Object___to_s(variable
[10])(variable
[10]) /*Object::to_s*/;
2669 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[10]) /*AbstractArray::add*/;
2670 variable
[11] = NEW_String_string___String___with_native(BOX_NativeString("(x) ((("), TAG_Int(7)); /*new String*/
2671 variable
[12] = variable
[11];
2672 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[12]) /*AbstractArray::add*/;
2673 variable
[13] = variable
[5] /*tbox*/;
2674 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[13]) /*AbstractArray::add*/;
2675 variable
[14] = NEW_String_string___String___with_native(BOX_NativeString(" *)(VAL2OBJ(x)))->val)"), TAG_Int(22)); /*new String*/
2676 variable
[15] = variable
[14];
2677 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[15]) /*AbstractArray::add*/;
2678 variable
[6] = CALL_string___Object___to_s(variable
[6])(variable
[6]) /*Object::to_s*/;
2679 CALL_compiling_base___CompilerVisitor___add_decl( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[6]) /*CompilerVisitor::add_decl*/;
2682 return_label90
: while(false);
2683 tracehead
= trace
.prev
;
2686 void compiling_global___MMLocalClass___compile_tables_to_c(val_t self
, val_t param0
) {
2687 struct trace_t trace
= {NULL
, NULL
, 835, LOCATE_compiling_global___MMLocalClass___compile_tables_to_c
};
2689 void **closurevariable
= NULL
;
2690 trace
.prev
= tracehead
; tracehead
= &trace
;
2691 trace
.file
= LOCATE_compiling_global
;
2693 variable
[1] = param0
;
2694 variable
[4] = CALL_compiling_global___CompilerVisitor___global_analysis( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::global_analysis*/;
2695 variable
[4] = CALL_compiling_global___GlobalAnalysis___compiled_classes(variable
[4])(variable
[4]) /*GlobalAnalysis::compiled_classes*/;
2696 variable
[5] = variable
[0];
2697 variable
[5] = CALL_abstractmetamodel___MMLocalClass___global(variable
[5])(variable
[5]) /*MMLocalClass::global*/;
2698 variable
[4] = CALL_abstract_collection___Map_____bra(variable
[4])(variable
[4], variable
[5]) /*CoupleMap::[]*/;
2699 variable
[3] = variable
[4];
2700 variable
[5] = CALL_compiling_global___CompiledClass___class_table( variable
[3] /*cc*/)( variable
[3] /*cc*/) /*CompiledClass::class_table*/;
2701 variable
[4] = variable
[5];
2702 variable
[6] = CALL_abstract_collection___Collection___length( variable
[4] /*ctab*/)( variable
[4] /*ctab*/) /*AbstractArray::length*/;
2703 variable
[5] = variable
[6];
2704 variable
[6] = CALL_compiling_global___CompilerVisitor___global_analysis( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::global_analysis*/;
2705 variable
[6] = CALL_compiling_global___GlobalAnalysis___max_class_table_length(variable
[6])(variable
[6]) /*GlobalAnalysis::max_class_table_length*/;
2706 variable
[7] = CALL_abstract_collection___Collection___length( variable
[4] /*ctab*/)( variable
[4] /*ctab*/) /*AbstractArray::length*/;
2707 variable
[6] = TAG_Bool(UNTAG_Int(variable
[6])>UNTAG_Int(variable
[7]));
2708 if (UNTAG_Bool(variable
[6])) { /*if*/
2709 variable
[6] = CALL_compiling_global___CompilerVisitor___global_analysis( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::global_analysis*/;
2710 variable
[6] = CALL_compiling_global___GlobalAnalysis___max_class_table_length(variable
[6])(variable
[6]) /*GlobalAnalysis::max_class_table_length*/;
2711 variable
[5] = variable
[6] /*clen=*/;
2713 variable
[6] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
2714 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString("const classtable_elt_t VFT_"), TAG_Int(27)); /*new String*/
2715 variable
[8] = variable
[7];
2716 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[8]) /*AbstractArray::add*/;
2717 variable
[9] = variable
[0];
2718 variable
[9] = CALL_abstractmetamodel___MMLocalClass___name(variable
[9])(variable
[9]) /*MMLocalClass::name*/;
2719 variable
[10] = variable
[9];
2720 variable
[10] = CALL_string___Object___to_s(variable
[10])(variable
[10]) /*Object::to_s*/;
2721 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[10]) /*AbstractArray::add*/;
2722 variable
[11] = NEW_String_string___String___with_native(BOX_NativeString("["), TAG_Int(1)); /*new String*/
2723 variable
[12] = variable
[11];
2724 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[12]) /*AbstractArray::add*/;
2725 variable
[13] = variable
[5] /*clen*/;
2726 variable
[13] = CALL_string___Object___to_s(variable
[13])(variable
[13]) /*Object::to_s*/;
2727 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[13]) /*AbstractArray::add*/;
2728 variable
[14] = NEW_String_string___String___with_native(BOX_NativeString("] = {"), TAG_Int(5)); /*new String*/
2729 variable
[15] = variable
[14];
2730 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[15]) /*AbstractArray::add*/;
2731 variable
[6] = CALL_string___Object___to_s(variable
[6])(variable
[6]) /*Object::to_s*/;
2732 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[6]) /*CompilerVisitor::add_instr*/;
2733 CALL_compiling_base___CompilerVisitor___indent( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::indent*/;
2734 variable
[6] = CALL_abstract_collection___Collection___iterator( variable
[4] /*ctab*/)( variable
[4] /*ctab*/) /*AbstractArray::iterator*/;
2735 while (true) { /*for*/
2736 variable
[7] = CALL_abstract_collection___Iterator___is_ok(variable
[6])(variable
[6]) /*ArrayIterator::is_ok*/;
2737 if (!UNTAG_Bool(variable
[7])) break; /*for*/
2738 variable
[7] = CALL_abstract_collection___Iterator___item(variable
[6])(variable
[6]) /*ArrayIterator::item*/;
2739 variable
[8] = variable
[7];
2740 variable
[9] = TAG_Bool(( variable
[8] /*e*/ == NIT_NULL
/*null*/) || (( variable
[8] /*e*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[8] /*e*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[8] /*e*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[8] /*e*/)( variable
[8] /*e*/, NIT_NULL
/*null*/) /*Object::==*/)))));
2741 if (UNTAG_Bool(variable
[9])) { /*if*/
2742 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("{0} /* Class Hole :( */,"), TAG_Int(24)); /*new String*/
2743 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[9]) /*CompilerVisitor::add_instr*/;
2745 variable
[9] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
2746 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString("{(bigint) "), TAG_Int(10)); /*new String*/
2747 variable
[11] = variable
[10];
2748 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[11]) /*AbstractArray::add*/;
2749 variable
[12] = variable
[0];
2750 variable
[12] = CALL_compiling_global___TableElt___compile_to_c( variable
[8] /*e*/)( variable
[8] /*e*/, variable
[1] /*v*/, variable
[12]) /*TableElt::compile_to_c*/;
2751 variable
[13] = variable
[12];
2752 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[13]) /*AbstractArray::add*/;
2753 variable
[14] = NEW_String_string___String___with_native(BOX_NativeString("},"), TAG_Int(2)); /*new String*/
2754 variable
[15] = variable
[14];
2755 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[15]) /*AbstractArray::add*/;
2756 variable
[9] = CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/;
2757 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[9]) /*CompilerVisitor::add_instr*/;
2759 continue_92
: while(0);
2760 CALL_abstract_collection___Iterator___next(variable
[6])(variable
[6]) /*ArrayIterator::next*/;
2763 variable
[6] = CALL_abstract_collection___Collection___length( variable
[4] /*ctab*/)( variable
[4] /*ctab*/) /*AbstractArray::length*/;
2764 variable
[6] = TAG_Bool(UNTAG_Int( variable
[5] /*clen*/)>UNTAG_Int(variable
[6]));
2765 if (UNTAG_Bool(variable
[6])) { /*if*/
2766 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString("{0},"), TAG_Int(4)); /*new String*/
2767 variable
[7] = CALL_abstract_collection___Collection___length( variable
[4] /*ctab*/)( variable
[4] /*ctab*/) /*AbstractArray::length*/;
2768 variable
[7] = TAG_Int(UNTAG_Int( variable
[5] /*clen*/)-UNTAG_Int(variable
[7]));
2769 variable
[6] = CALL_string___String_____star(variable
[6])(variable
[6], variable
[7]) /*String::**/;
2770 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[6]) /*CompilerVisitor::add_instr*/;
2772 CALL_compiling_base___CompilerVisitor___unindent( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::unindent*/;
2773 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString("};"), TAG_Int(2)); /*new String*/
2774 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[6]) /*CompilerVisitor::add_instr*/;
2775 variable
[7] = CALL_compiling_global___CompiledClass___instance_table( variable
[3] /*cc*/)( variable
[3] /*cc*/) /*CompiledClass::instance_table*/;
2776 variable
[6] = variable
[7];
2777 variable
[7] = CALL_abstract_collection___Collection___iterator( variable
[6] /*itab*/)( variable
[6] /*itab*/) /*AbstractArray::iterator*/;
2778 while (true) { /*for*/
2779 variable
[8] = CALL_abstract_collection___Iterator___is_ok(variable
[7])(variable
[7]) /*ArrayIterator::is_ok*/;
2780 if (!UNTAG_Bool(variable
[8])) break; /*for*/
2781 variable
[8] = CALL_abstract_collection___Iterator___item(variable
[7])(variable
[7]) /*ArrayIterator::item*/;
2782 variable
[9] = variable
[8];
2783 variable
[10] = TAG_Bool(( variable
[9] /*e*/ == NIT_NULL
/*null*/) || (( variable
[9] /*e*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[9] /*e*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[9] /*e*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[9] /*e*/)( variable
[9] /*e*/, NIT_NULL
/*null*/) /*Object::==*/)))));
2784 if (UNTAG_Bool(variable
[10])) { /*if*/
2785 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString("/* Instance Hole :( */"), TAG_Int(22)); /*new String*/
2786 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[10]) /*CompilerVisitor::add_instr*/;
2788 variable
[10] = variable
[0];
2789 variable
[10] = CALL_compiling_global___TableElt___compile_to_c( variable
[9] /*e*/)( variable
[9] /*e*/, variable
[1] /*v*/, variable
[10]) /*TableElt::compile_to_c*/;
2790 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[10]) /*CompilerVisitor::add_instr*/;
2792 continue_93
: while(0);
2793 CALL_abstract_collection___Iterator___next(variable
[7])(variable
[7]) /*ArrayIterator::next*/;
2796 variable
[8] = variable
[0];
2797 variable
[8] = CALL_compiling_base___MMLocalClass___primitive_info(variable
[8])(variable
[8]) /*MMLocalClass::primitive_info*/;
2798 variable
[7] = variable
[8];
2799 variable
[8] = TAG_Bool(( variable
[7] /*pi*/ == NIT_NULL
/*null*/) || (( variable
[7] /*pi*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[7] /*pi*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[7] /*pi*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[7] /*pi*/)( variable
[7] /*pi*/, NIT_NULL
/*null*/) /*Object::==*/)))));
2800 if (UNTAG_Bool(variable
[8])) { /*if*/
2801 variable
[8] = NEW_CFunctionContext_compiling_methods___CFunctionContext___init( variable
[1] /*v*/); /*new CFunctionContext*/
2802 CALL_compiling_methods___CompilerVisitor___cfc__eq( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[8]) /*CompilerVisitor::cfc=*/;
2803 variable
[8] = NEW_NitMethodContext_compiling_methods___NitMethodContext___init( NIT_NULL
/*null*/); /*new NitMethodContext*/
2804 CALL_compiling_methods___CompilerVisitor___nmc__eq( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[8]) /*CompilerVisitor::nmc=*/;
2805 variable
[9] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
2806 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString("val_t NEW_"), TAG_Int(10)); /*new String*/
2807 variable
[11] = variable
[10];
2808 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[11]) /*AbstractArray::add*/;
2809 variable
[12] = variable
[0];
2810 variable
[12] = CALL_abstractmetamodel___MMLocalClass___name(variable
[12])(variable
[12]) /*MMLocalClass::name*/;
2811 variable
[13] = variable
[12];
2812 variable
[13] = CALL_string___Object___to_s(variable
[13])(variable
[13]) /*Object::to_s*/;
2813 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[13]) /*AbstractArray::add*/;
2814 variable
[14] = NEW_String_string___String___with_native(BOX_NativeString("(void)"), TAG_Int(6)); /*new String*/
2815 variable
[15] = variable
[14];
2816 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[15]) /*AbstractArray::add*/;
2817 variable
[9] = CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/;
2818 variable
[8] = variable
[9];
2819 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(" {"), TAG_Int(2)); /*new String*/
2820 variable
[9] = CALL_string___String_____plus( variable
[8] /*s*/)( variable
[8] /*s*/, variable
[9]) /*String::+*/;
2821 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[9]) /*CompilerVisitor::add_instr*/;
2822 CALL_compiling_base___CompilerVisitor___indent( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::indent*/;
2823 variable
[10] = CALL_compiling_base___CompilerVisitor___ctx( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::ctx*/;
2824 variable
[9] = variable
[10];
2825 variable
[10] = NEW_CContext_compiling_base___CContext___init(); /*new CContext*/
2826 CALL_compiling_base___CompilerVisitor___ctx__eq( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[10]) /*CompilerVisitor::ctx=*/;
2827 variable
[11] = NEW_ParamVariable_syntax_base___ParamVariable___init( NIT_NULL
/*null*/, NIT_NULL
/*null*/); /*new ParamVariable*/
2828 variable
[10] = variable
[11];
2829 variable
[12] = CALL_compiling_methods___CompilerVisitor___cfc( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::cfc*/;
2830 variable
[12] = CALL_compiling_methods___CFunctionContext___register_variable(variable
[12])(variable
[12], variable
[10] /*self_var*/) /*CFunctionContext::register_variable*/;
2831 variable
[11] = variable
[12];
2832 variable
[12] = CALL_compiling_methods___CompilerVisitor___nmc( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::nmc*/;
2833 variable
[13] = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[ParamVariable]*/
2834 CALL_abstract_collection___SimpleCollection___add(variable
[13])(variable
[13], variable
[10] /*self_var*/) /*AbstractArray::add*/;
2835 CALL_compiling_methods___NitMethodContext___method_params__eq(variable
[12])(variable
[12], variable
[13]) /*NitMethodContext::method_params=*/;
2836 variable
[12] = NEW_String_string___String___with_native(BOX_NativeString("obj_t obj;"), TAG_Int(10)); /*new String*/
2837 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[12]) /*CompilerVisitor::add_instr*/;
2838 variable
[12] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
2839 variable
[13] = NEW_String_string___String___with_native(BOX_NativeString("obj = alloc(sizeof(val_t) * "), TAG_Int(28)); /*new String*/
2840 variable
[14] = variable
[13];
2841 CALL_abstract_collection___SimpleCollection___add(variable
[12])(variable
[12], variable
[14]) /*AbstractArray::add*/;
2842 variable
[15] = CALL_abstract_collection___Collection___length( variable
[6] /*itab*/)( variable
[6] /*itab*/) /*AbstractArray::length*/;
2843 variable
[16] = variable
[15];
2844 variable
[16] = CALL_string___Object___to_s(variable
[16])(variable
[16]) /*Object::to_s*/;
2845 CALL_abstract_collection___SimpleCollection___add(variable
[12])(variable
[12], variable
[16]) /*AbstractArray::add*/;
2846 variable
[17] = NEW_String_string___String___with_native(BOX_NativeString(");"), TAG_Int(2)); /*new String*/
2847 variable
[18] = variable
[17];
2848 CALL_abstract_collection___SimpleCollection___add(variable
[12])(variable
[12], variable
[18]) /*AbstractArray::add*/;
2849 variable
[12] = CALL_string___Object___to_s(variable
[12])(variable
[12]) /*Object::to_s*/;
2850 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[12]) /*CompilerVisitor::add_instr*/;
2851 variable
[12] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
2852 variable
[13] = NEW_String_string___String___with_native(BOX_NativeString("obj->vft = (classtable_elt_t*)VFT_"), TAG_Int(34)); /*new String*/
2853 variable
[14] = variable
[13];
2854 CALL_abstract_collection___SimpleCollection___add(variable
[12])(variable
[12], variable
[14]) /*AbstractArray::add*/;
2855 variable
[15] = variable
[0];
2856 variable
[15] = CALL_abstractmetamodel___MMLocalClass___name(variable
[15])(variable
[15]) /*MMLocalClass::name*/;
2857 variable
[16] = variable
[15];
2858 variable
[16] = CALL_string___Object___to_s(variable
[16])(variable
[16]) /*Object::to_s*/;
2859 CALL_abstract_collection___SimpleCollection___add(variable
[12])(variable
[12], variable
[16]) /*AbstractArray::add*/;
2860 variable
[17] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
2861 variable
[18] = variable
[17];
2862 CALL_abstract_collection___SimpleCollection___add(variable
[12])(variable
[12], variable
[18]) /*AbstractArray::add*/;
2863 variable
[12] = CALL_string___Object___to_s(variable
[12])(variable
[12]) /*Object::to_s*/;
2864 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[12]) /*CompilerVisitor::add_instr*/;
2865 variable
[12] = NEW_String_string___String___with_native(BOX_NativeString("OBJ2VAL(obj)"), TAG_Int(12)); /*new String*/
2866 CALL_compiling_methods___CompilerVisitor___add_assignment( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[11] /*self_var_cname*/, variable
[12]) /*CompilerVisitor::add_assignment*/;
2867 variable
[12] = variable
[0];
2868 variable
[12] = CALL_abstractmetamodel___MMLocalClass___global_properties(variable
[12])(variable
[12]) /*MMLocalClass::global_properties*/;
2869 variable
[12] = CALL_abstract_collection___Collection___iterator(variable
[12])(variable
[12]) /*Collection::iterator*/;
2870 while (true) { /*for*/
2871 variable
[13] = CALL_abstract_collection___Iterator___is_ok(variable
[12])(variable
[12]) /*Iterator::is_ok*/;
2872 if (!UNTAG_Bool(variable
[13])) break; /*for*/
2873 variable
[13] = CALL_abstract_collection___Iterator___item(variable
[12])(variable
[12]) /*Iterator::item*/;
2874 variable
[14] = variable
[13];
2875 variable
[16] = variable
[0];
2876 variable
[16] = CALL_abstractmetamodel___MMLocalClass_____bra(variable
[16])(variable
[16], variable
[14] /*g*/) /*MMLocalClass::[]*/;
2877 variable
[15] = variable
[16];
2878 variable
[17] = CALL_static_type___MMLocalProperty___signature( variable
[15] /*p*/)( variable
[15] /*p*/) /*MMLocalProperty::signature*/;
2879 variable
[17] = CALL_static_type___MMSignature___return_type(variable
[17])(variable
[17]) /*MMSignature::return_type*/;
2880 variable
[16] = variable
[17];
2881 variable
[17] = TAG_Bool(( variable
[15] /*p*/==NIT_NULL
) || VAL_ISA( variable
[15] /*p*/, COLOR_MMAttribute
, ID_MMAttribute
)) /*cast MMAttribute*/;
2882 variable
[18] = variable
[17];
2883 if (UNTAG_Bool(variable
[18])) { /* and */
2884 variable
[18] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[16] /*t*/ == NIT_NULL
/*null*/) || (( variable
[16] /*t*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[16] /*t*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[16] /*t*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[16] /*t*/)( variable
[16] /*t*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
2886 variable
[17] = variable
[18];
2887 if (UNTAG_Bool(variable
[17])) { /*if*/
2888 variable
[17] = TAG_Bool(( variable
[15] /*p*/==NIT_NULL
) || VAL_ISA( variable
[15] /*p*/, COLOR_MMSrcAttribute
, ID_MMSrcAttribute
)) /*cast MMSrcAttribute*/;
2889 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
, 892); nit_exit(1);}
2890 variable
[18] = CALL_syntax_base___MMLocalProperty___node( variable
[15] /*p*/)( variable
[15] /*p*/) /*MMSrcAttribute::node*/;
2891 variable
[17] = variable
[18];
2892 variable
[18] = TAG_Bool(( variable
[17] /*np*/==NIT_NULL
) || VAL_ISA( variable
[17] /*np*/, COLOR_AAttrPropdef
, ID_AAttrPropdef
)) /*cast AAttrPropdef*/;
2893 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
, 894); nit_exit(1);}
2894 variable
[19] = CALL_parser_nodes___AAttrPropdef___n_expr( variable
[17] /*np*/)( variable
[17] /*np*/) /*AAttrPropdef::n_expr*/;
2895 variable
[18] = variable
[19];
2896 variable
[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[18] /*ne*/ == NIT_NULL
/*null*/) || (( variable
[18] /*ne*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[18] /*ne*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[18] /*ne*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[18] /*ne*/)( variable
[18] /*ne*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
2897 if (UNTAG_Bool(variable
[19])) { /*if*/
2898 variable
[20] = CALL_compiling_methods___PExpr___compile_expr( variable
[18] /*ne*/)( variable
[18] /*ne*/, variable
[1] /*v*/) /*PExpr::compile_expr*/;
2899 variable
[19] = variable
[20];
2900 variable
[20] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
2901 variable
[21] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2902 variable
[22] = variable
[21];
2903 CALL_abstract_collection___SimpleCollection___add(variable
[20])(variable
[20], variable
[22]) /*AbstractArray::add*/;
2904 variable
[23] = CALL_abstractmetamodel___MMLocalProperty___global( variable
[15] /*p*/)( variable
[15] /*p*/) /*MMLocalProperty::global*/;
2905 variable
[23] = CALL_compiling_base___MMGlobalProperty___attr_access(variable
[23])(variable
[23]) /*MMGlobalProperty::attr_access*/;
2906 variable
[24] = variable
[23];
2907 CALL_abstract_collection___SimpleCollection___add(variable
[20])(variable
[20], variable
[24]) /*AbstractArray::add*/;
2908 variable
[25] = NEW_String_string___String___with_native(BOX_NativeString("(obj) = "), TAG_Int(8)); /*new String*/
2909 variable
[26] = variable
[25];
2910 CALL_abstract_collection___SimpleCollection___add(variable
[20])(variable
[20], variable
[26]) /*AbstractArray::add*/;
2911 variable
[27] = variable
[19] /*e*/;
2912 CALL_abstract_collection___SimpleCollection___add(variable
[20])(variable
[20], variable
[27]) /*AbstractArray::add*/;
2913 variable
[28] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
2914 variable
[29] = variable
[28];
2915 CALL_abstract_collection___SimpleCollection___add(variable
[20])(variable
[20], variable
[29]) /*AbstractArray::add*/;
2916 variable
[20] = CALL_string___Object___to_s(variable
[20])(variable
[20]) /*Object::to_s*/;
2917 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[20]) /*CompilerVisitor::add_instr*/;
2919 variable
[20] = CALL_static_type___MMType___local_class( variable
[16] /*t*/)( variable
[16] /*t*/) /*MMType::local_class*/;
2920 variable
[20] = CALL_compiling_base___MMLocalClass___primitive_info(variable
[20])(variable
[20]) /*MMLocalClass::primitive_info*/;
2921 variable
[19] = variable
[20];
2922 variable
[20] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[19] /*pi*/ == NIT_NULL
/*null*/) || (( variable
[19] /*pi*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[19] /*pi*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[19] /*pi*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[19] /*pi*/)( variable
[19] /*pi*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
2923 variable
[21] = variable
[20];
2924 if (UNTAG_Bool(variable
[21])) { /* and */
2925 variable
[21] = CALL_compiling_base___PrimitiveInfo___tagged( variable
[19] /*pi*/)( variable
[19] /*pi*/) /*PrimitiveInfo::tagged*/;
2927 variable
[20] = variable
[21];
2928 if (UNTAG_Bool(variable
[20])) { /*if*/
2929 variable
[21] = CALL_compiling_base___MMType___default_cvalue( variable
[16] /*t*/)( variable
[16] /*t*/) /*MMType::default_cvalue*/;
2930 variable
[20] = variable
[21];
2931 variable
[21] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
2932 variable
[22] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2933 variable
[23] = variable
[22];
2934 CALL_abstract_collection___SimpleCollection___add(variable
[21])(variable
[21], variable
[23]) /*AbstractArray::add*/;
2935 variable
[24] = CALL_abstractmetamodel___MMLocalProperty___global( variable
[15] /*p*/)( variable
[15] /*p*/) /*MMLocalProperty::global*/;
2936 variable
[24] = CALL_compiling_base___MMGlobalProperty___attr_access(variable
[24])(variable
[24]) /*MMGlobalProperty::attr_access*/;
2937 variable
[25] = variable
[24];
2938 CALL_abstract_collection___SimpleCollection___add(variable
[21])(variable
[21], variable
[25]) /*AbstractArray::add*/;
2939 variable
[26] = NEW_String_string___String___with_native(BOX_NativeString("(obj) = "), TAG_Int(8)); /*new String*/
2940 variable
[27] = variable
[26];
2941 CALL_abstract_collection___SimpleCollection___add(variable
[21])(variable
[21], variable
[27]) /*AbstractArray::add*/;
2942 variable
[28] = variable
[20] /*default*/;
2943 CALL_abstract_collection___SimpleCollection___add(variable
[21])(variable
[21], variable
[28]) /*AbstractArray::add*/;
2944 variable
[29] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
2945 variable
[30] = variable
[29];
2946 CALL_abstract_collection___SimpleCollection___add(variable
[21])(variable
[21], variable
[30]) /*AbstractArray::add*/;
2947 variable
[21] = CALL_string___Object___to_s(variable
[21])(variable
[21]) /*Object::to_s*/;
2948 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[21]) /*CompilerVisitor::add_instr*/;
2952 continue_94
: while(0);
2953 CALL_abstract_collection___Iterator___next(variable
[12])(variable
[12]) /*Iterator::next*/;
2956 variable
[12] = NEW_String_string___String___with_native(BOX_NativeString("return OBJ2VAL(obj);"), TAG_Int(20)); /*new String*/
2957 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[12]) /*CompilerVisitor::add_instr*/;
2958 variable
[12] = CALL_compiling_methods___CompilerVisitor___cfc( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::cfc*/;
2959 CALL_compiling_methods___CFunctionContext___generate_var_decls(variable
[12])(variable
[12]) /*CFunctionContext::generate_var_decls*/;
2960 variable
[12] = CALL_compiling_base___CompilerVisitor___ctx( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::ctx*/;
2961 CALL_compiling_base___CContext___append( variable
[9] /*ctx_old*/)( variable
[9] /*ctx_old*/, variable
[12]) /*CContext::append*/;
2962 CALL_compiling_base___CompilerVisitor___ctx__eq( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[9] /*ctx_old*/) /*CompilerVisitor::ctx=*/;
2963 CALL_compiling_base___CompilerVisitor___unindent( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::unindent*/;
2964 variable
[12] = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
2965 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[12]) /*CompilerVisitor::add_instr*/;
2966 variable
[13] = variable
[0];
2967 variable
[13] = CALL_abstractmetamodel___MMLocalClass___cshe(variable
[13])(variable
[13]) /*MMLocalClass::cshe*/;
2968 variable
[13] = CALL_partial_order___PartialOrderElement___greaters(variable
[13])(variable
[13]) /*PartialOrderElement::greaters*/;
2969 variable
[13] = CALL_abstract_collection___Collection___length(variable
[13])(variable
[13]) /*Collection::length*/;
2970 variable
[13] = TAG_Int(UNTAG_Int(variable
[13])+UNTAG_Int( TAG_Int(1)));
2971 variable
[12] = variable
[13];
2972 variable
[14] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
2973 variable
[15] = NEW_String_string___String___with_native(BOX_NativeString("int init_table["), TAG_Int(15)); /*new String*/
2974 variable
[16] = variable
[15];
2975 CALL_abstract_collection___SimpleCollection___add(variable
[14])(variable
[14], variable
[16]) /*AbstractArray::add*/;
2976 variable
[17] = variable
[12] /*init_table_size*/;
2977 variable
[17] = CALL_string___Object___to_s(variable
[17])(variable
[17]) /*Object::to_s*/;
2978 CALL_abstract_collection___SimpleCollection___add(variable
[14])(variable
[14], variable
[17]) /*AbstractArray::add*/;
2979 variable
[18] = NEW_String_string___String___with_native(BOX_NativeString("] = {0"), TAG_Int(6)); /*new String*/
2980 variable
[19] = variable
[18];
2981 CALL_abstract_collection___SimpleCollection___add(variable
[14])(variable
[14], variable
[19]) /*AbstractArray::add*/;
2982 variable
[20] = NEW_String_string___String___with_native(BOX_NativeString(", 0"), TAG_Int(3)); /*new String*/
2983 variable
[21] = TAG_Int(UNTAG_Int( variable
[12] /*init_table_size*/)-UNTAG_Int( TAG_Int(1)));
2984 variable
[20] = CALL_string___String_____star(variable
[20])(variable
[20], variable
[21]) /*String::**/;
2985 variable
[21] = variable
[20];
2986 CALL_abstract_collection___SimpleCollection___add(variable
[14])(variable
[14], variable
[21]) /*AbstractArray::add*/;
2987 variable
[22] = NEW_String_string___String___with_native(BOX_NativeString("};"), TAG_Int(2)); /*new String*/
2988 variable
[23] = variable
[22];
2989 CALL_abstract_collection___SimpleCollection___add(variable
[14])(variable
[14], variable
[23]) /*AbstractArray::add*/;
2990 variable
[14] = CALL_string___Object___to_s(variable
[14])(variable
[14]) /*Object::to_s*/;
2991 variable
[13] = variable
[14];
2992 variable
[14] = variable
[0];
2993 variable
[14] = CALL_abstractmetamodel___MMLocalClass___global_properties(variable
[14])(variable
[14]) /*MMLocalClass::global_properties*/;
2994 variable
[14] = CALL_abstract_collection___Collection___iterator(variable
[14])(variable
[14]) /*Collection::iterator*/;
2995 while (true) { /*for*/
2996 variable
[15] = CALL_abstract_collection___Iterator___is_ok(variable
[14])(variable
[14]) /*Iterator::is_ok*/;
2997 if (!UNTAG_Bool(variable
[15])) break; /*for*/
2998 variable
[15] = CALL_abstract_collection___Iterator___item(variable
[14])(variable
[14]) /*Iterator::item*/;
2999 variable
[16] = variable
[15];
3000 variable
[18] = variable
[0];
3001 variable
[18] = CALL_abstractmetamodel___MMLocalClass_____bra(variable
[18])(variable
[18], variable
[16] /*g*/) /*MMLocalClass::[]*/;
3002 variable
[17] = variable
[18];
3003 variable
[18] = CALL_abstractmetamodel___MMLocalProperty___global( variable
[17] /*p*/)( variable
[17] /*p*/) /*MMLocalProperty::global*/;
3004 variable
[19] = variable
[0];
3005 variable
[18] = CALL_abstractmetamodel___MMGlobalProperty___is_init_for(variable
[18])(variable
[18], variable
[19]) /*MMGlobalProperty::is_init_for*/;
3006 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable
[18])))) { /*if*/
3009 variable
[19] = NEW_Array_array___Array___init(); /*new Array[String]*/
3010 variable
[18] = variable
[19];
3011 variable
[20] = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[String]*/
3012 variable
[21] = NEW_String_string___String___with_native(BOX_NativeString("self"), TAG_Int(4)); /*new String*/
3013 CALL_abstract_collection___SimpleCollection___add(variable
[20])(variable
[20], variable
[21]) /*AbstractArray::add*/;
3014 variable
[19] = variable
[20];
3015 variable
[20] = CALL_static_type___MMLocalProperty___signature( variable
[17] /*p*/)( variable
[17] /*p*/) /*MMLocalProperty::signature*/;
3016 variable
[20] = CALL_static_type___MMSignature___arity(variable
[20])(variable
[20]) /*MMSignature::arity*/;
3017 variable
[21] = NEW_Range_range___Range___without_last( TAG_Int(0), variable
[20]); /*new Range[Int]*/
3018 variable
[20] = variable
[21];
3019 variable
[20] = CALL_abstract_collection___Collection___iterator(variable
[20])(variable
[20]) /*Range::iterator*/;
3020 while (true) { /*for*/
3021 variable
[21] = CALL_abstract_collection___Iterator___is_ok(variable
[20])(variable
[20]) /*Iterator::is_ok*/;
3022 if (!UNTAG_Bool(variable
[21])) break; /*for*/
3023 variable
[21] = CALL_abstract_collection___Iterator___item(variable
[20])(variable
[20]) /*Iterator::item*/;
3024 variable
[22] = variable
[21];
3025 variable
[23] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
3026 variable
[24] = NEW_String_string___String___with_native(BOX_NativeString("val_t p"), TAG_Int(7)); /*new String*/
3027 variable
[25] = variable
[24];
3028 CALL_abstract_collection___SimpleCollection___add(variable
[23])(variable
[23], variable
[25]) /*AbstractArray::add*/;
3029 variable
[26] = variable
[22] /*i*/;
3030 variable
[26] = CALL_string___Object___to_s(variable
[26])(variable
[26]) /*Object::to_s*/;
3031 CALL_abstract_collection___SimpleCollection___add(variable
[23])(variable
[23], variable
[26]) /*AbstractArray::add*/;
3032 variable
[27] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
3033 variable
[28] = variable
[27];
3034 CALL_abstract_collection___SimpleCollection___add(variable
[23])(variable
[23], variable
[28]) /*AbstractArray::add*/;
3035 variable
[23] = CALL_string___Object___to_s(variable
[23])(variable
[23]) /*Object::to_s*/;
3036 CALL_abstract_collection___SimpleCollection___add( variable
[18] /*params*/)( variable
[18] /*params*/, variable
[23]) /*AbstractArray::add*/;
3037 variable
[23] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
3038 variable
[24] = NEW_String_string___String___with_native(BOX_NativeString("p"), TAG_Int(1)); /*new String*/
3039 variable
[25] = variable
[24];
3040 CALL_abstract_collection___SimpleCollection___add(variable
[23])(variable
[23], variable
[25]) /*AbstractArray::add*/;
3041 variable
[26] = variable
[22] /*i*/;
3042 variable
[26] = CALL_string___Object___to_s(variable
[26])(variable
[26]) /*Object::to_s*/;
3043 CALL_abstract_collection___SimpleCollection___add(variable
[23])(variable
[23], variable
[26]) /*AbstractArray::add*/;
3044 variable
[27] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
3045 variable
[28] = variable
[27];
3046 CALL_abstract_collection___SimpleCollection___add(variable
[23])(variable
[23], variable
[28]) /*AbstractArray::add*/;
3047 variable
[23] = CALL_string___Object___to_s(variable
[23])(variable
[23]) /*Object::to_s*/;
3048 CALL_abstract_collection___SimpleCollection___add( variable
[19] /*args*/)( variable
[19] /*args*/, variable
[23]) /*AbstractArray::add*/;
3049 continue_96
: while(0);
3050 CALL_abstract_collection___Iterator___next(variable
[20])(variable
[20]) /*Iterator::next*/;
3053 variable
[20] = NEW_String_string___String___with_native(BOX_NativeString("init_table"), TAG_Int(10)); /*new String*/
3054 CALL_abstract_collection___SimpleCollection___add( variable
[19] /*args*/)( variable
[19] /*args*/, variable
[20]) /*AbstractArray::add*/;
3055 variable
[21] = NEW_Array_array___Array___with_capacity(TAG_Int(7)); /*new Array[String]*/
3056 variable
[22] = NEW_String_string___String___with_native(BOX_NativeString("val_t NEW_"), TAG_Int(10)); /*new String*/
3057 variable
[23] = variable
[22];
3058 CALL_abstract_collection___SimpleCollection___add(variable
[21])(variable
[21], variable
[23]) /*AbstractArray::add*/;
3059 variable
[24] = variable
[0];
3060 variable
[25] = variable
[24];
3061 variable
[25] = CALL_string___Object___to_s(variable
[25])(variable
[25]) /*Object::to_s*/;
3062 CALL_abstract_collection___SimpleCollection___add(variable
[21])(variable
[21], variable
[25]) /*AbstractArray::add*/;
3063 variable
[26] = NEW_String_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
3064 variable
[27] = variable
[26];
3065 CALL_abstract_collection___SimpleCollection___add(variable
[21])(variable
[21], variable
[27]) /*AbstractArray::add*/;
3066 variable
[28] = CALL_abstractmetamodel___MMLocalProperty___global( variable
[17] /*p*/)( variable
[17] /*p*/) /*MMLocalProperty::global*/;
3067 variable
[28] = CALL_abstractmetamodel___MMGlobalProperty___intro(variable
[28])(variable
[28]) /*MMGlobalProperty::intro*/;
3068 variable
[28] = CALL_compiling_base___MMLocalProperty___cname(variable
[28])(variable
[28]) /*MMLocalProperty::cname*/;
3069 variable
[29] = variable
[28];
3070 CALL_abstract_collection___SimpleCollection___add(variable
[21])(variable
[21], variable
[29]) /*AbstractArray::add*/;
3071 variable
[30] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
3072 variable
[31] = variable
[30];
3073 CALL_abstract_collection___SimpleCollection___add(variable
[21])(variable
[21], variable
[31]) /*AbstractArray::add*/;
3074 variable
[32] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
3075 variable
[32] = CALL_string___Collection___join( variable
[18] /*params*/)( variable
[18] /*params*/, variable
[32]) /*Collection::join*/;
3076 variable
[33] = variable
[32];
3077 CALL_abstract_collection___SimpleCollection___add(variable
[21])(variable
[21], variable
[33]) /*AbstractArray::add*/;
3078 variable
[34] = NEW_String_string___String___with_native(BOX_NativeString(") {"), TAG_Int(3)); /*new String*/
3079 variable
[35] = variable
[34];
3080 CALL_abstract_collection___SimpleCollection___add(variable
[21])(variable
[21], variable
[35]) /*AbstractArray::add*/;
3081 variable
[21] = CALL_string___Object___to_s(variable
[21])(variable
[21]) /*Object::to_s*/;
3082 variable
[20] = variable
[21];
3083 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[20] /*s*/) /*CompilerVisitor::add_instr*/;
3084 CALL_compiling_base___CompilerVisitor___indent( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::indent*/;
3085 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[13] /*init_table_decl*/) /*CompilerVisitor::add_instr*/;
3086 variable
[21] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
3087 variable
[22] = NEW_String_string___String___with_native(BOX_NativeString("val_t self = NEW_"), TAG_Int(17)); /*new String*/
3088 variable
[23] = variable
[22];
3089 CALL_abstract_collection___SimpleCollection___add(variable
[21])(variable
[21], variable
[23]) /*AbstractArray::add*/;
3090 variable
[24] = variable
[0];
3091 variable
[24] = CALL_abstractmetamodel___MMLocalClass___name(variable
[24])(variable
[24]) /*MMLocalClass::name*/;
3092 variable
[25] = variable
[24];
3093 variable
[25] = CALL_string___Object___to_s(variable
[25])(variable
[25]) /*Object::to_s*/;
3094 CALL_abstract_collection___SimpleCollection___add(variable
[21])(variable
[21], variable
[25]) /*AbstractArray::add*/;
3095 variable
[26] = NEW_String_string___String___with_native(BOX_NativeString("();"), TAG_Int(3)); /*new String*/
3096 variable
[27] = variable
[26];
3097 CALL_abstract_collection___SimpleCollection___add(variable
[21])(variable
[21], variable
[27]) /*AbstractArray::add*/;
3098 variable
[21] = CALL_string___Object___to_s(variable
[21])(variable
[21]) /*Object::to_s*/;
3099 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[21]) /*CompilerVisitor::add_instr*/;
3100 variable
[21] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
3101 variable
[22] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
3102 variable
[23] = variable
[22];
3103 CALL_abstract_collection___SimpleCollection___add(variable
[21])(variable
[21], variable
[23]) /*AbstractArray::add*/;
3104 variable
[24] = CALL_compiling_base___MMLocalProperty___cname( variable
[17] /*p*/)( variable
[17] /*p*/) /*MMLocalProperty::cname*/;
3105 variable
[25] = variable
[24];
3106 CALL_abstract_collection___SimpleCollection___add(variable
[21])(variable
[21], variable
[25]) /*AbstractArray::add*/;
3107 variable
[26] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
3108 variable
[27] = variable
[26];
3109 CALL_abstract_collection___SimpleCollection___add(variable
[21])(variable
[21], variable
[27]) /*AbstractArray::add*/;
3110 variable
[28] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
3111 variable
[28] = CALL_string___Collection___join( variable
[19] /*args*/)( variable
[19] /*args*/, variable
[28]) /*Collection::join*/;
3112 variable
[29] = variable
[28];
3113 CALL_abstract_collection___SimpleCollection___add(variable
[21])(variable
[21], variable
[29]) /*AbstractArray::add*/;
3114 variable
[30] = NEW_String_string___String___with_native(BOX_NativeString(");"), TAG_Int(2)); /*new String*/
3115 variable
[31] = variable
[30];
3116 CALL_abstract_collection___SimpleCollection___add(variable
[21])(variable
[21], variable
[31]) /*AbstractArray::add*/;
3117 variable
[21] = CALL_string___Object___to_s(variable
[21])(variable
[21]) /*Object::to_s*/;
3118 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[21]) /*CompilerVisitor::add_instr*/;
3119 variable
[21] = NEW_String_string___String___with_native(BOX_NativeString("return self;"), TAG_Int(12)); /*new String*/
3120 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[21]) /*CompilerVisitor::add_instr*/;
3121 CALL_compiling_base___CompilerVisitor___unindent( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::unindent*/;
3122 variable
[21] = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
3123 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[21]) /*CompilerVisitor::add_instr*/;
3124 continue_95
: while(0);
3125 CALL_abstract_collection___Iterator___next(variable
[14])(variable
[14]) /*Iterator::next*/;
3129 variable
[8] = CALL_compiling_base___PrimitiveInfo___tagged( variable
[7] /*pi*/)( variable
[7] /*pi*/) /*PrimitiveInfo::tagged*/;
3130 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable
[8])))) { /*if*/
3131 variable
[9] = CALL_compiling_base___PrimitiveInfo___cname( variable
[7] /*pi*/)( variable
[7] /*pi*/) /*PrimitiveInfo::cname*/;
3132 variable
[8] = variable
[9];
3133 variable
[10] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
3134 variable
[11] = NEW_String_string___String___with_native(BOX_NativeString("struct TBOX_"), TAG_Int(12)); /*new String*/
3135 variable
[12] = variable
[11];
3136 CALL_abstract_collection___SimpleCollection___add(variable
[10])(variable
[10], variable
[12]) /*AbstractArray::add*/;
3137 variable
[13] = variable
[0];
3138 variable
[13] = CALL_abstractmetamodel___MMLocalClass___name(variable
[13])(variable
[13]) /*MMLocalClass::name*/;
3139 variable
[14] = variable
[13];
3140 variable
[14] = CALL_string___Object___to_s(variable
[14])(variable
[14]) /*Object::to_s*/;
3141 CALL_abstract_collection___SimpleCollection___add(variable
[10])(variable
[10], variable
[14]) /*AbstractArray::add*/;
3142 variable
[15] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
3143 variable
[16] = variable
[15];
3144 CALL_abstract_collection___SimpleCollection___add(variable
[10])(variable
[10], variable
[16]) /*AbstractArray::add*/;
3145 variable
[10] = CALL_string___Object___to_s(variable
[10])(variable
[10]) /*Object::to_s*/;
3146 variable
[9] = variable
[10];
3147 variable
[10] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
3148 variable
[11] = NEW_String_string___String___with_native(BOX_NativeString("val_t BOX_"), TAG_Int(10)); /*new String*/
3149 variable
[12] = variable
[11];
3150 CALL_abstract_collection___SimpleCollection___add(variable
[10])(variable
[10], variable
[12]) /*AbstractArray::add*/;
3151 variable
[13] = variable
[0];
3152 variable
[13] = CALL_abstractmetamodel___MMLocalClass___name(variable
[13])(variable
[13]) /*MMLocalClass::name*/;
3153 variable
[14] = variable
[13];
3154 variable
[14] = CALL_string___Object___to_s(variable
[14])(variable
[14]) /*Object::to_s*/;
3155 CALL_abstract_collection___SimpleCollection___add(variable
[10])(variable
[10], variable
[14]) /*AbstractArray::add*/;
3156 variable
[15] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
3157 variable
[16] = variable
[15];
3158 CALL_abstract_collection___SimpleCollection___add(variable
[10])(variable
[10], variable
[16]) /*AbstractArray::add*/;
3159 variable
[17] = variable
[8] /*t*/;
3160 CALL_abstract_collection___SimpleCollection___add(variable
[10])(variable
[10], variable
[17]) /*AbstractArray::add*/;
3161 variable
[18] = NEW_String_string___String___with_native(BOX_NativeString(" val) {"), TAG_Int(7)); /*new String*/
3162 variable
[19] = variable
[18];
3163 CALL_abstract_collection___SimpleCollection___add(variable
[10])(variable
[10], variable
[19]) /*AbstractArray::add*/;
3164 variable
[10] = CALL_string___Object___to_s(variable
[10])(variable
[10]) /*Object::to_s*/;
3165 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[10]) /*CompilerVisitor::add_instr*/;
3166 CALL_compiling_base___CompilerVisitor___indent( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::indent*/;
3167 variable
[10] = NEW_Array_array___Array___with_capacity(TAG_Int(7)); /*new Array[String]*/
3168 variable
[11] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
3169 variable
[12] = variable
[11];
3170 CALL_abstract_collection___SimpleCollection___add(variable
[10])(variable
[10], variable
[12]) /*AbstractArray::add*/;
3171 variable
[13] = variable
[9] /*tbox*/;
3172 CALL_abstract_collection___SimpleCollection___add(variable
[10])(variable
[10], variable
[13]) /*AbstractArray::add*/;
3173 variable
[14] = NEW_String_string___String___with_native(BOX_NativeString(" *box = ("), TAG_Int(9)); /*new String*/
3174 variable
[15] = variable
[14];
3175 CALL_abstract_collection___SimpleCollection___add(variable
[10])(variable
[10], variable
[15]) /*AbstractArray::add*/;
3176 variable
[16] = variable
[9] /*tbox*/;
3177 CALL_abstract_collection___SimpleCollection___add(variable
[10])(variable
[10], variable
[16]) /*AbstractArray::add*/;
3178 variable
[17] = NEW_String_string___String___with_native(BOX_NativeString("*)alloc(sizeof("), TAG_Int(15)); /*new String*/
3179 variable
[18] = variable
[17];
3180 CALL_abstract_collection___SimpleCollection___add(variable
[10])(variable
[10], variable
[18]) /*AbstractArray::add*/;
3181 variable
[19] = variable
[9] /*tbox*/;
3182 CALL_abstract_collection___SimpleCollection___add(variable
[10])(variable
[10], variable
[19]) /*AbstractArray::add*/;
3183 variable
[20] = NEW_String_string___String___with_native(BOX_NativeString("));"), TAG_Int(3)); /*new String*/
3184 variable
[21] = variable
[20];
3185 CALL_abstract_collection___SimpleCollection___add(variable
[10])(variable
[10], variable
[21]) /*AbstractArray::add*/;
3186 variable
[10] = CALL_string___Object___to_s(variable
[10])(variable
[10]) /*Object::to_s*/;
3187 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[10]) /*CompilerVisitor::add_instr*/;
3188 variable
[10] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
3189 variable
[11] = NEW_String_string___String___with_native(BOX_NativeString("box->vft = VFT_"), TAG_Int(15)); /*new String*/
3190 variable
[12] = variable
[11];
3191 CALL_abstract_collection___SimpleCollection___add(variable
[10])(variable
[10], variable
[12]) /*AbstractArray::add*/;
3192 variable
[13] = variable
[0];
3193 variable
[13] = CALL_abstractmetamodel___MMLocalClass___name(variable
[13])(variable
[13]) /*MMLocalClass::name*/;
3194 variable
[14] = variable
[13];
3195 variable
[14] = CALL_string___Object___to_s(variable
[14])(variable
[14]) /*Object::to_s*/;
3196 CALL_abstract_collection___SimpleCollection___add(variable
[10])(variable
[10], variable
[14]) /*AbstractArray::add*/;
3197 variable
[15] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
3198 variable
[16] = variable
[15];
3199 CALL_abstract_collection___SimpleCollection___add(variable
[10])(variable
[10], variable
[16]) /*AbstractArray::add*/;
3200 variable
[10] = CALL_string___Object___to_s(variable
[10])(variable
[10]) /*Object::to_s*/;
3201 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[10]) /*CompilerVisitor::add_instr*/;
3202 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString("box->val = val;"), TAG_Int(15)); /*new String*/
3203 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[10]) /*CompilerVisitor::add_instr*/;
3204 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString("return OBJ2VAL(box);"), TAG_Int(20)); /*new String*/
3205 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[10]) /*CompilerVisitor::add_instr*/;
3206 CALL_compiling_base___CompilerVisitor___unindent( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::unindent*/;
3207 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
3208 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[10]) /*CompilerVisitor::add_instr*/;
3211 return_label91
: while(false);
3212 tracehead
= trace
.prev
;