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 struct WBT_
**closurevariable
= NULL
;
7 trace
.prev
= tracehead
; tracehead
= &trace
;
8 trace
.file
= LOCATE_compiling_global
;
9 /* Register variable[0]: Local variable */
11 /* Register variable[1]: Local variable */
13 /* Register variable[2]: Method return value and escape marker */
14 /* Register variable[3]: Result */
15 variable
[3] = ATTR_compiling_global___ColorContext____colors(variable
[0]) /*ColorContext::_colors*/;
16 /* Register variable[3]: Result */
17 variable
[3] = CALL_abstract_collection___MapRead_____bra(variable
[3])(variable
[3], variable
[1] /*e*/) /*CoupleMap::[]*/;
18 variable
[2] = variable
[3];
20 return_label0
: while(false);
21 tracehead
= trace
.prev
;
24 val_t
compiling_global___ColorContext___has_color(val_t self
, val_t param0
) {
25 struct trace_t trace
= {NULL
, NULL
, 34, LOCATE_compiling_global___ColorContext___has_color
};
27 struct WBT_
**closurevariable
= NULL
;
28 trace
.prev
= tracehead
; tracehead
= &trace
;
29 trace
.file
= LOCATE_compiling_global
;
30 /* Register variable[0]: Local variable */
32 /* Register variable[1]: Local variable */
34 /* Register variable[2]: Method return value and escape marker */
35 /* Register variable[3]: Result */
36 variable
[3] = ATTR_compiling_global___ColorContext____colors(variable
[0]) /*ColorContext::_colors*/;
37 /* Register variable[3]: Result */
38 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::==*/)))))));
39 /* Ensure var variable[3]: Left 'and' operand*/
40 if (UNTAG_Bool(variable
[3])) { /* and */
41 /* Register variable[3]: Result */
42 variable
[3] = ATTR_compiling_global___ColorContext____colors(variable
[0]) /*ColorContext::_colors*/;
43 /* Register variable[3]: Result */
44 variable
[3] = CALL_abstract_collection___MapRead___has_key(variable
[3])(variable
[3], variable
[1] /*e*/) /*CoupleMap::has_key*/;
46 /* Register variable[3]: Result */
47 variable
[2] = variable
[3];
49 return_label1
: while(false);
50 tracehead
= trace
.prev
;
53 void compiling_global___ColorContext___color__eq(val_t self
, val_t param0
, val_t param1
) {
54 struct trace_t trace
= {NULL
, NULL
, 40, LOCATE_compiling_global___ColorContext___color__eq
};
56 struct WBT_
**closurevariable
= NULL
;
57 trace
.prev
= tracehead
; tracehead
= &trace
;
58 trace
.file
= LOCATE_compiling_global
;
59 /* Register variable[0]: Local variable */
61 /* Register variable[1]: Local variable */
63 /* Register variable[2]: Local variable */
65 /* Register variable[3]: Method return value and escape marker */
66 /* Register variable[4]: Result */
67 variable
[4] = ATTR_compiling_global___ColorContext____colors(variable
[0]) /*ColorContext::_colors*/;
68 /* Register variable[4]: Result */
69 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::==*/)))));
70 if (UNTAG_Bool(variable
[4])) { /*if*/
71 /* Register variable[4]: Result */
72 variable
[4] = NEW_HashMap_hash___HashMap___init() /*new HashMap[TableElt, Int]*/;
73 ATTR_compiling_global___ColorContext____colors(variable
[0]) /*ColorContext::_colors*/ = variable
[4];
75 /* Register variable[4]: Result */
76 variable
[4] = ATTR_compiling_global___ColorContext____colors(variable
[0]) /*ColorContext::_colors*/;
77 CALL_abstract_collection___Map_____braeq(variable
[4])(variable
[4], variable
[1] /*e*/, variable
[2] /*c*/) /*HashMap::[]=*/;
78 /* Register variable[4]: Local variable */
79 variable
[4] = variable
[2] /*c*/;
80 /* Register variable[5]: Result */
81 variable
[5] = CALL_compiling_global___TableElt___length( variable
[1] /*e*/)( variable
[1] /*e*/) /*TableElt::length*/;
82 /* Register variable[5]: Result */
83 variable
[5] = NEW_Range_range___Range___without_last( TAG_Int(0), variable
[5]) /*new Range[Int]*/;
84 /* Register variable[5]: For iterator */
85 variable
[5] = CALL_abstract_collection___Collection___iterator(variable
[5])(variable
[5]) /*Range::iterator*/;
86 while (true) { /*for*/
87 /* Register variable[6]: For 'is_ok' result */
88 variable
[6] = CALL_abstract_collection___Iterator___is_ok(variable
[5])(variable
[5]) /*Iterator::is_ok*/;
89 if (!UNTAG_Bool(variable
[6])) break; /*for*/
90 variable
[6] = CALL_abstract_collection___Iterator___item(variable
[5])(variable
[5]) /*Iterator::item*/ /* Ensure var: For item*/;
91 /* Register variable[7]: Local variable */
92 variable
[7] = variable
[6];
93 /* Register variable[8]: Result */
94 variable
[8] = ATTR_compiling_global___ColorContext____colors(variable
[0]) /*ColorContext::_colors*/;
95 /* Register variable[9]: Result */
96 variable
[9] = CALL_compiling_global___TableElt___item( variable
[1] /*e*/)( variable
[1] /*e*/, variable
[7] /*i*/) /*TableElt::item*/;
97 CALL_abstract_collection___Map_____braeq(variable
[8])(variable
[8], variable
[9], variable
[4] /*idx*/) /*HashMap::[]=*/;
98 /* Register variable[8]: Result */
99 variable
[8] = TAG_Int(UNTAG_Int( variable
[4] /*idx*/)+UNTAG_Int( TAG_Int(1)));
100 variable
[4] = variable
[8] /*idx=*/;
101 continue_3
: while(0);
102 CALL_abstract_collection___Iterator___next(variable
[5])(variable
[5]) /*Iterator::next*/;
105 return_label2
: while(false);
106 tracehead
= trace
.prev
;
109 void compiling_global___ColorContext___init(val_t self
, int* init_table
) {
110 struct trace_t trace
= {NULL
, NULL
, 0, LOCATE_compiling_global___ColorContext___init
};
111 val_t
*variable
= NULL
;
112 struct WBT_
**closurevariable
= NULL
;
113 trace
.prev
= tracehead
; tracehead
= &trace
;
114 trace
.file
= LOCATE_compiling_global
;
115 tracehead
= trace
.prev
;
118 val_t
compiling_global___GlobalAnalysis___compiled_classes(val_t self
) {
119 struct trace_t trace
= {NULL
, NULL
, 56, LOCATE_compiling_global___GlobalAnalysis___compiled_classes
};
120 val_t
*variable
= NULL
;
121 struct WBT_
**closurevariable
= NULL
;
122 trace
.prev
= tracehead
; tracehead
= &trace
;
123 trace
.file
= LOCATE_compiling_global
;
124 tracehead
= trace
.prev
;
125 return ATTR_compiling_global___GlobalAnalysis____compiled_classes( self
) /*GlobalAnalysis::_compiled_classes*/;
127 val_t
compiling_global___GlobalAnalysis___module(val_t self
) {
128 struct trace_t trace
= {NULL
, NULL
, 59, LOCATE_compiling_global___GlobalAnalysis___module
};
129 val_t
*variable
= NULL
;
130 struct WBT_
**closurevariable
= NULL
;
131 trace
.prev
= tracehead
; tracehead
= &trace
;
132 trace
.file
= LOCATE_compiling_global
;
133 tracehead
= trace
.prev
;
134 return ATTR_compiling_global___GlobalAnalysis____module( self
) /*GlobalAnalysis::_module*/;
136 val_t
compiling_global___GlobalAnalysis___max_class_table_length(val_t self
) {
137 struct trace_t trace
= {NULL
, NULL
, 62, LOCATE_compiling_global___GlobalAnalysis___max_class_table_length
};
138 val_t
*variable
= NULL
;
139 struct WBT_
**closurevariable
= NULL
;
140 trace
.prev
= tracehead
; tracehead
= &trace
;
141 trace
.file
= LOCATE_compiling_global
;
142 tracehead
= trace
.prev
;
143 return ATTR_compiling_global___GlobalAnalysis____max_class_table_length( self
) /*GlobalAnalysis::_max_class_table_length*/;
145 void compiling_global___GlobalAnalysis___max_class_table_length__eq(val_t self
, val_t param0
) {
146 struct trace_t trace
= {NULL
, NULL
, 62, LOCATE_compiling_global___GlobalAnalysis___max_class_table_length__eq
};
147 val_t
*variable
= NULL
;
148 struct WBT_
**closurevariable
= NULL
;
149 trace
.prev
= tracehead
; tracehead
= &trace
;
150 trace
.file
= LOCATE_compiling_global
;
151 ATTR_compiling_global___GlobalAnalysis____max_class_table_length( self
) /*GlobalAnalysis::_max_class_table_length*/ = param0
;
152 tracehead
= trace
.prev
;
155 void compiling_global___GlobalAnalysis___init(val_t self
, val_t param0
, int* init_table
) {
156 struct trace_t trace
= {NULL
, NULL
, 65, LOCATE_compiling_global___GlobalAnalysis___init
};
158 struct WBT_
**closurevariable
= NULL
;
159 trace
.prev
= tracehead
; tracehead
= &trace
;
160 trace
.file
= LOCATE_compiling_global
;
161 /* Register variable[0]: Local variable */
163 /* Register variable[1]: Local variable */
164 variable
[1] = param0
;
165 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_GlobalAnalysis
].i
]) return;
166 /* Register variable[2]: Method return value and escape marker */
167 ATTR_compiling_global___GlobalAnalysis____module(variable
[0]) /*GlobalAnalysis::_module*/ = variable
[1] /*module*/;
168 return_label4
: while(false);
169 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_GlobalAnalysis
].i
] = 1;
170 tracehead
= trace
.prev
;
173 val_t
compiling_global___GlobalCompilerVisitor___global_analysis(val_t self
) {
174 struct trace_t trace
= {NULL
, NULL
, 73, LOCATE_compiling_global___GlobalCompilerVisitor___global_analysis
};
175 val_t
*variable
= NULL
;
176 struct WBT_
**closurevariable
= NULL
;
177 trace
.prev
= tracehead
; tracehead
= &trace
;
178 trace
.file
= LOCATE_compiling_global
;
179 tracehead
= trace
.prev
;
180 return ATTR_compiling_global___GlobalCompilerVisitor____global_analysis( self
) /*GlobalCompilerVisitor::_global_analysis*/;
182 void compiling_global___GlobalCompilerVisitor___init(val_t self
, val_t param0
, val_t param1
, val_t param2
, int* init_table
) {
183 struct trace_t trace
= {NULL
, NULL
, 75, LOCATE_compiling_global___GlobalCompilerVisitor___init
};
185 struct WBT_
**closurevariable
= NULL
;
186 trace
.prev
= tracehead
; tracehead
= &trace
;
187 trace
.file
= LOCATE_compiling_global
;
188 /* Register variable[0]: Local variable */
190 /* Register variable[1]: Local variable */
191 variable
[1] = param0
;
192 /* Register variable[2]: Local variable */
193 variable
[2] = param1
;
194 /* Register variable[3]: Local variable */
195 variable
[3] = param2
;
196 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_GlobalCompilerVisitor
].i
]) return;
197 /* Register variable[4]: Method return value and escape marker */
198 CALL_compiling_base___CompilerVisitor___init(variable
[0])(variable
[0], variable
[1] /*m*/, variable
[2] /*tc*/, init_table
/*YYY*/) /*CompilerVisitor::init*/;
199 ATTR_compiling_global___GlobalCompilerVisitor____global_analysis(variable
[0]) /*GlobalCompilerVisitor::_global_analysis*/ = variable
[3] /*ga*/;
200 return_label5
: while(false);
201 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_GlobalCompilerVisitor
].i
] = 1;
202 tracehead
= trace
.prev
;
205 val_t
compiling_global___CompiledClass___local_class(val_t self
) {
206 struct trace_t trace
= {NULL
, NULL
, 85, LOCATE_compiling_global___CompiledClass___local_class
};
207 val_t
*variable
= NULL
;
208 struct WBT_
**closurevariable
= NULL
;
209 trace
.prev
= tracehead
; tracehead
= &trace
;
210 trace
.file
= LOCATE_compiling_global
;
211 tracehead
= trace
.prev
;
212 return ATTR_compiling_global___CompiledClass____local_class( self
) /*CompiledClass::_local_class*/;
214 val_t
compiling_global___CompiledClass___id(val_t self
) {
215 struct trace_t trace
= {NULL
, NULL
, 88, LOCATE_compiling_global___CompiledClass___id
};
216 val_t
*variable
= NULL
;
217 struct WBT_
**closurevariable
= NULL
;
218 trace
.prev
= tracehead
; tracehead
= &trace
;
219 trace
.file
= LOCATE_compiling_global
;
220 tracehead
= trace
.prev
;
221 return ATTR_compiling_global___CompiledClass____id( self
) /*CompiledClass::_id*/;
223 void compiling_global___CompiledClass___id__eq(val_t self
, val_t param0
) {
224 struct trace_t trace
= {NULL
, NULL
, 88, LOCATE_compiling_global___CompiledClass___id__eq
};
225 val_t
*variable
= NULL
;
226 struct WBT_
**closurevariable
= NULL
;
227 trace
.prev
= tracehead
; tracehead
= &trace
;
228 trace
.file
= LOCATE_compiling_global
;
229 ATTR_compiling_global___CompiledClass____id( self
) /*CompiledClass::_id*/ = param0
;
230 tracehead
= trace
.prev
;
233 val_t
compiling_global___CompiledClass___class_table(val_t self
) {
234 struct trace_t trace
= {NULL
, NULL
, 91, LOCATE_compiling_global___CompiledClass___class_table
};
235 val_t
*variable
= NULL
;
236 struct WBT_
**closurevariable
= NULL
;
237 trace
.prev
= tracehead
; tracehead
= &trace
;
238 trace
.file
= LOCATE_compiling_global
;
239 tracehead
= trace
.prev
;
240 return ATTR_compiling_global___CompiledClass____class_table( self
) /*CompiledClass::_class_table*/;
242 val_t
compiling_global___CompiledClass___instance_table(val_t self
) {
243 struct trace_t trace
= {NULL
, NULL
, 94, LOCATE_compiling_global___CompiledClass___instance_table
};
244 val_t
*variable
= NULL
;
245 struct WBT_
**closurevariable
= NULL
;
246 trace
.prev
= tracehead
; tracehead
= &trace
;
247 trace
.file
= LOCATE_compiling_global
;
248 tracehead
= trace
.prev
;
249 return ATTR_compiling_global___CompiledClass____instance_table( self
) /*CompiledClass::_instance_table*/;
251 val_t
compiling_global___CompiledClass___class_layout(val_t self
) {
252 struct trace_t trace
= {NULL
, NULL
, 97, LOCATE_compiling_global___CompiledClass___class_layout
};
253 val_t
*variable
= NULL
;
254 struct WBT_
**closurevariable
= NULL
;
255 trace
.prev
= tracehead
; tracehead
= &trace
;
256 trace
.file
= LOCATE_compiling_global
;
257 tracehead
= trace
.prev
;
258 return ATTR_compiling_global___CompiledClass____class_layout( self
) /*CompiledClass::_class_layout*/;
260 val_t
compiling_global___CompiledClass___instance_layout(val_t self
) {
261 struct trace_t trace
= {NULL
, NULL
, 100, LOCATE_compiling_global___CompiledClass___instance_layout
};
262 val_t
*variable
= NULL
;
263 struct WBT_
**closurevariable
= NULL
;
264 trace
.prev
= tracehead
; tracehead
= &trace
;
265 trace
.file
= LOCATE_compiling_global
;
266 tracehead
= trace
.prev
;
267 return ATTR_compiling_global___CompiledClass____instance_layout( self
) /*CompiledClass::_instance_layout*/;
269 void compiling_global___CompiledClass___init(val_t self
, val_t param0
, int* init_table
) {
270 struct trace_t trace
= {NULL
, NULL
, 103, LOCATE_compiling_global___CompiledClass___init
};
272 struct WBT_
**closurevariable
= NULL
;
273 trace
.prev
= tracehead
; tracehead
= &trace
;
274 trace
.file
= LOCATE_compiling_global
;
275 /* Register variable[0]: Local variable */
277 /* Register variable[1]: Local variable */
278 variable
[1] = param0
;
279 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_CompiledClass
].i
]) return;
280 /* Register variable[2]: Method return value and escape marker */
281 ATTR_compiling_global___CompiledClass____local_class(variable
[0]) /*CompiledClass::_local_class*/ = variable
[1] /*c*/;
282 return_label6
: while(false);
283 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_CompiledClass
].i
] = 1;
284 tracehead
= trace
.prev
;
287 val_t
compiling_global___MMSrcLocalClass___class_color_pos(val_t self
) {
288 struct trace_t trace
= {NULL
, NULL
, 107, LOCATE_compiling_global___MMSrcLocalClass___class_color_pos
};
289 val_t
*variable
= NULL
;
290 struct WBT_
**closurevariable
= NULL
;
291 trace
.prev
= tracehead
; tracehead
= &trace
;
292 trace
.file
= LOCATE_compiling_global
;
293 tracehead
= trace
.prev
;
294 return ATTR_compiling_global___MMSrcLocalClass____class_color_pos( self
) /*MMSrcLocalClass::_class_color_pos*/;
296 val_t
compiling_global___MMSrcLocalClass___class_layout(val_t self
) {
297 struct trace_t trace
= {NULL
, NULL
, 110, LOCATE_compiling_global___MMSrcLocalClass___class_layout
};
298 val_t
*variable
= NULL
;
299 struct WBT_
**closurevariable
= NULL
;
300 trace
.prev
= tracehead
; tracehead
= &trace
;
301 trace
.file
= LOCATE_compiling_global
;
302 tracehead
= trace
.prev
;
303 return ATTR_compiling_global___MMSrcLocalClass____class_layout( self
) /*MMSrcLocalClass::_class_layout*/;
305 val_t
compiling_global___MMSrcLocalClass___instance_layout(val_t self
) {
306 struct trace_t trace
= {NULL
, NULL
, 113, LOCATE_compiling_global___MMSrcLocalClass___instance_layout
};
307 val_t
*variable
= NULL
;
308 struct WBT_
**closurevariable
= NULL
;
309 trace
.prev
= tracehead
; tracehead
= &trace
;
310 trace
.file
= LOCATE_compiling_global
;
311 tracehead
= trace
.prev
;
312 return ATTR_compiling_global___MMSrcLocalClass____instance_layout( self
) /*MMSrcLocalClass::_instance_layout*/;
314 void compiling_global___MMSrcLocalClass___build_layout_in(val_t self
, val_t param0
, val_t param1
) {
315 struct trace_t trace
= {NULL
, NULL
, 116, LOCATE_compiling_global___MMSrcLocalClass___build_layout_in
};
317 struct WBT_
**closurevariable
= NULL
;
318 trace
.prev
= tracehead
; tracehead
= &trace
;
319 trace
.file
= LOCATE_compiling_global
;
320 /* Register variable[0]: Local variable */
322 /* Register variable[1]: Local variable */
323 variable
[1] = param0
;
324 /* Register variable[2]: Local variable */
325 variable
[2] = param1
;
326 /* Register variable[3]: Method return value and escape marker */
327 /* Register variable[4]: Local variable */
328 /* Register variable[5]: Result */
329 variable
[5] = ATTR_compiling_global___MMSrcLocalClass____class_layout(variable
[0]) /*MMSrcLocalClass::_class_layout*/;
330 variable
[4] = variable
[5];
331 /* Register variable[5]: Local variable */
332 /* Register variable[6]: Result */
333 variable
[6] = ATTR_compiling_global___MMSrcLocalClass____instance_layout(variable
[0]) /*MMSrcLocalClass::_instance_layout*/;
334 variable
[5] = variable
[6];
335 /* Register variable[6]: Result */
336 variable
[6] = CALL_abstractmetamodel___MMLocalClass___global(variable
[0])(variable
[0]) /*MMLocalClass::global*/;
337 /* Register variable[6]: Result */
338 variable
[6] = CALL_abstractmetamodel___MMGlobalClass___intro(variable
[6])(variable
[6]) /*MMGlobalClass::intro*/;
339 /* Register variable[6]: Result */
340 variable
[6] = TAG_Bool((variable
[6] == variable
[0]) || ((variable
[6] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[6])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[6],variable
[0])):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[6])(variable
[6], variable
[0]) /*Object::==*/)))));
341 if (UNTAG_Bool(variable
[6])) { /*if*/
342 /* Register variable[6]: Result */
343 variable
[6] = NEW_TableEltClassId_compiling_global___AbsTableEltClass___init(variable
[0]) /*new TableEltClassId*/;
344 CALL_abstract_collection___SimpleCollection___add( variable
[2] /*module_table*/)( variable
[2] /*module_table*/, variable
[6]) /*AbstractArray::add*/;
345 /* Register variable[6]: Result */
346 variable
[6] = NEW_TableEltClassColor_compiling_global___AbsTableEltClass___init(variable
[0]) /*new TableEltClassColor*/;
347 ATTR_compiling_global___MMSrcLocalClass____class_color_pos(variable
[0]) /*MMSrcLocalClass::_class_color_pos*/ = variable
[6];
348 /* Register variable[6]: Result */
349 variable
[6] = ATTR_compiling_global___MMSrcLocalClass____class_color_pos(variable
[0]) /*MMSrcLocalClass::_class_color_pos*/;
350 CALL_abstract_collection___SimpleCollection___add( variable
[2] /*module_table*/)( variable
[2] /*module_table*/, variable
[6]) /*AbstractArray::add*/;
351 /* Register variable[6]: Result */
352 variable
[6] = NEW_TableEltClassInitTable_compiling_global___AbsTableEltClass___init(variable
[0]) /*new TableEltClassInitTable*/;
353 CALL_abstract_collection___SimpleCollection___add( variable
[4] /*clt*/)( variable
[4] /*clt*/, variable
[6]) /*AbstractArray::add*/;
355 /* Register variable[6]: Result */
356 variable
[6] = CALL_syntax_base___MMSrcLocalClass___src_local_properties(variable
[0])(variable
[0]) /*MMSrcLocalClass::src_local_properties*/;
357 /* Register variable[6]: For iterator */
358 variable
[6] = CALL_abstract_collection___Collection___iterator(variable
[6])(variable
[6]) /*MapRead::iterator*/;
359 while (true) { /*for*/
360 /* Register variable[7]: For 'is_ok' result */
361 variable
[7] = CALL_abstract_collection___Iterator___is_ok(variable
[6])(variable
[6]) /*Iterator::is_ok*/;
362 if (!UNTAG_Bool(variable
[7])) break; /*for*/
363 variable
[7] = CALL_abstract_collection___Iterator___item(variable
[6])(variable
[6]) /*Iterator::item*/ /* Ensure var: For item*/;
364 /* Register variable[8]: Local variable */
365 variable
[8] = variable
[7];
366 /* Register variable[9]: Local variable */
367 /* Register variable[10]: Result */
368 variable
[10] = CALL_abstractmetamodel___MMLocalProperty___global( variable
[8] /*p*/)( variable
[8] /*p*/) /*MMLocalProperty::global*/;
369 variable
[9] = variable
[10];
370 /* Register variable[10]: Result */
371 variable
[10] = CALL_abstractmetamodel___MMGlobalProperty___intro( variable
[9] /*pg*/)( variable
[9] /*pg*/) /*MMGlobalProperty::intro*/;
372 /* Register variable[10]: Result */
373 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::==*/)))));
374 if (UNTAG_Bool(variable
[10])) { /*if*/
375 /* Register variable[10]: Result */
376 variable
[10] = TAG_Bool(( variable
[8] /*p*/==NIT_NULL
) || VAL_ISA( variable
[8] /*p*/, COLOR_MMSrcAttribute
, ID_MMSrcAttribute
)) /*cast MMSrcAttribute*/;
377 if (UNTAG_Bool(variable
[10])) { /*if*/
378 /* Register variable[10]: Result */
379 variable
[10] = NEW_TableEltAttr_compiling_global___TableEltProp___init( variable
[8] /*p*/) /*new TableEltAttr*/;
380 CALL_abstract_collection___SimpleCollection___add( variable
[5] /*ilt*/)( variable
[5] /*ilt*/, variable
[10]) /*AbstractArray::add*/;
382 /* Register variable[10]: Result */
383 variable
[10] = TAG_Bool(( variable
[8] /*p*/==NIT_NULL
) || VAL_ISA( variable
[8] /*p*/, COLOR_MMSrcMethod
, ID_MMSrcMethod
)) /*cast MMSrcMethod*/;
384 if (UNTAG_Bool(variable
[10])) { /*if*/
385 /* Register variable[10]: Result */
386 variable
[10] = NEW_TableEltMeth_compiling_global___TableEltProp___init( variable
[8] /*p*/) /*new TableEltMeth*/;
387 CALL_abstract_collection___SimpleCollection___add( variable
[4] /*clt*/)( variable
[4] /*clt*/, variable
[10]) /*AbstractArray::add*/;
391 /* Register variable[10]: Result */
392 variable
[10] = TAG_Bool(( variable
[8] /*p*/==NIT_NULL
) || VAL_ISA( variable
[8] /*p*/, COLOR_MMSrcMethod
, ID_MMSrcMethod
)) /*cast MMSrcMethod*/;
393 /* Ensure var variable[10]: Left 'and' operand*/
394 if (UNTAG_Bool(variable
[10])) { /* and */
395 /* Register variable[10]: Result */
396 variable
[10] = CALL_abstractmetamodel___MMLocalProperty___need_super( variable
[8] /*p*/)( variable
[8] /*p*/) /*MMLocalProperty::need_super*/;
398 /* Register variable[10]: Result */
399 if (UNTAG_Bool(variable
[10])) { /*if*/
400 /* Register variable[10]: Result */
401 variable
[10] = NEW_TableEltSuper_compiling_global___TableEltProp___init( variable
[8] /*p*/) /*new TableEltSuper*/;
402 CALL_abstract_collection___SimpleCollection___add( variable
[4] /*clt*/)( variable
[4] /*clt*/, variable
[10]) /*AbstractArray::add*/;
404 continue_8
: while(0);
405 CALL_abstract_collection___Iterator___next(variable
[6])(variable
[6]) /*Iterator::next*/;
408 /* Register variable[6]: Result */
409 variable
[6] = CALL_abstract_collection___Collection___is_empty( variable
[5] /*ilt*/)( variable
[5] /*ilt*/) /*AbstractArrayRead::is_empty*/;
410 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable
[6])))) { /*if*/
411 /* Register variable[6]: Local variable */
412 /* Register variable[7]: Result */
413 variable
[7] = NEW_ModuleTableEltGroup_compiling_global___AbsTableElt___init() /*new ModuleTableEltGroup*/;
414 variable
[6] = variable
[7];
415 /* Register variable[7]: Result */
416 variable
[7] = CALL_compiling_global___ModuleTableEltGroup___elements( variable
[6] /*teg*/)( variable
[6] /*teg*/) /*ModuleTableEltGroup::elements*/;
417 CALL_abstract_collection___IndexedCollection___append(variable
[7])(variable
[7], variable
[5] /*ilt*/) /*IndexedCollection::append*/;
418 CALL_abstract_collection___SimpleCollection___add( variable
[2] /*module_table*/)( variable
[2] /*module_table*/, variable
[6] /*teg*/) /*AbstractArray::add*/;
420 /* Register variable[6]: Result */
421 variable
[6] = CALL_abstract_collection___Collection___is_empty( variable
[4] /*clt*/)( variable
[4] /*clt*/) /*AbstractArrayRead::is_empty*/;
422 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable
[6])))) { /*if*/
423 /* Register variable[6]: Local variable */
424 /* Register variable[7]: Result */
425 variable
[7] = NEW_ModuleTableEltGroup_compiling_global___AbsTableElt___init() /*new ModuleTableEltGroup*/;
426 variable
[6] = variable
[7];
427 /* Register variable[7]: Result */
428 variable
[7] = CALL_compiling_global___ModuleTableEltGroup___elements( variable
[6] /*teg*/)( variable
[6] /*teg*/) /*ModuleTableEltGroup::elements*/;
429 CALL_abstract_collection___IndexedCollection___append(variable
[7])(variable
[7], variable
[4] /*clt*/) /*IndexedCollection::append*/;
430 CALL_abstract_collection___SimpleCollection___add( variable
[2] /*module_table*/)( variable
[2] /*module_table*/, variable
[6] /*teg*/) /*AbstractArray::add*/;
432 return_label7
: while(false);
433 tracehead
= trace
.prev
;
436 void compiling_global___MMSrcModule___local_analysis(val_t self
, val_t param0
) {
437 struct trace_t trace
= {NULL
, NULL
, 160, LOCATE_compiling_global___MMSrcModule___local_analysis
};
439 struct WBT_
**closurevariable
= NULL
;
440 trace
.prev
= tracehead
; tracehead
= &trace
;
441 trace
.file
= LOCATE_compiling_global
;
442 /* Register variable[0]: Local variable */
444 /* Register variable[1]: Local variable */
445 variable
[1] = param0
;
446 /* Register variable[2]: Method return value and escape marker */
447 /* Register variable[3]: Result */
448 variable
[3] = CALL_syntax_base___MMSrcModule___src_local_classes(variable
[0])(variable
[0]) /*MMSrcModule::src_local_classes*/;
449 /* Register variable[3]: For iterator */
450 variable
[3] = CALL_abstract_collection___Collection___iterator(variable
[3])(variable
[3]) /*MapRead::iterator*/;
451 while (true) { /*for*/
452 /* Register variable[4]: For 'is_ok' result */
453 variable
[4] = CALL_abstract_collection___Iterator___is_ok(variable
[3])(variable
[3]) /*Iterator::is_ok*/;
454 if (!UNTAG_Bool(variable
[4])) break; /*for*/
455 variable
[4] = CALL_abstract_collection___Iterator___item(variable
[3])(variable
[3]) /*Iterator::item*/ /* Ensure var: For item*/;
456 /* Register variable[5]: Local variable */
457 variable
[5] = variable
[4];
458 /* Register variable[6]: Result */
459 variable
[6] = ATTR_compiling_global___MMSrcModule____local_table(variable
[0]) /*MMSrcModule::_local_table*/;
460 CALL_compiling_global___MMSrcLocalClass___build_layout_in( variable
[5] /*c*/)( variable
[5] /*c*/, variable
[1] /*tc*/, variable
[6]) /*MMSrcLocalClass::build_layout_in*/;
461 continue_10
: while(0);
462 CALL_abstract_collection___Iterator___next(variable
[3])(variable
[3]) /*Iterator::next*/;
465 return_label9
: while(false);
466 tracehead
= trace
.prev
;
469 val_t
compiling_global___MMSrcModule___global_analysis(val_t self
, val_t param0
) {
470 struct trace_t trace
= {NULL
, NULL
, 168, LOCATE_compiling_global___MMSrcModule___global_analysis
};
472 struct WBT_
**closurevariable
= NULL
;
473 trace
.prev
= tracehead
; tracehead
= &trace
;
474 trace
.file
= LOCATE_compiling_global
;
475 /* Register variable[0]: Local variable */
477 /* Register variable[1]: Local variable */
478 variable
[1] = param0
;
479 /* Register variable[2]: Method return value and escape marker */
480 /* Register variable[3]: Local variable */
481 /* Register variable[4]: Result */
482 variable
[4] = NEW_GlobalAnalysis_compiling_global___GlobalAnalysis___init(variable
[0]) /*new GlobalAnalysis*/;
483 variable
[3] = variable
[4];
484 /* Register variable[4]: Local variable */
485 /* Register variable[5]: Result */
486 variable
[5] = NEW_Array_array___Array___init() /*new Array[MMLocalClass]*/;
487 variable
[4] = variable
[5];
488 /* Register variable[5]: Local variable */
489 /* Register variable[6]: Result */
490 variable
[6] = NEW_HashSet_hash___HashSet___init() /*new HashSet[MMGlobalProperty]*/;
491 variable
[5] = variable
[6];
492 /* Register variable[6]: Local variable */
493 /* Register variable[7]: Result */
494 variable
[7] = NEW_Array_array___Array___init() /*new Array[TableElt]*/;
495 variable
[6] = variable
[7];
496 /* Register variable[7]: Local variable */
497 /* Register variable[8]: Result */
498 variable
[8] = NEW_Array_array___Array___init() /*new Array[TableElt]*/;
499 variable
[7] = variable
[8];
500 /* Register variable[8]: Result */
501 variable
[8] = NEW_TableEltClassSelfId_compiling_global___AbsTableElt___init() /*new TableEltClassSelfId*/;
502 CALL_abstract_collection___SimpleCollection___add( variable
[6] /*ctab*/)( variable
[6] /*ctab*/, variable
[8]) /*AbstractArray::add*/;
503 /* Register variable[8]: Result */
504 variable
[8] = NEW_TableEltVftPointer_compiling_global___AbsTableElt___init() /*new TableEltVftPointer*/;
505 CALL_abstract_collection___SimpleCollection___add( variable
[7] /*itab*/)( variable
[7] /*itab*/, variable
[8]) /*AbstractArray::add*/;
506 /* Register variable[8]: Local variable */
507 /* Register variable[9]: Result */
508 variable
[9] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
509 variable
[8] = variable
[9];
510 /* Register variable[9]: Local variable */
511 variable
[9] = TAG_Int(3);
512 /* Register variable[10]: Local variable */
513 /* Register variable[11]: Result */
514 variable
[11] = NEW_Array_array___Array___init() /*new Array[MMLocalClass]*/;
515 variable
[10] = variable
[11];
516 /* Register variable[11]: Result */
517 variable
[11] = CALL_abstractmetamodel___MMModule___local_classes(variable
[0])(variable
[0]) /*MMModule::local_classes*/;
518 /* Register variable[11]: For iterator */
519 variable
[11] = CALL_abstract_collection___Collection___iterator(variable
[11])(variable
[11]) /*AbstractArrayRead::iterator*/;
520 while (true) { /*for*/
521 /* Register variable[12]: For 'is_ok' result */
522 variable
[12] = CALL_abstract_collection___Iterator___is_ok(variable
[11])(variable
[11]) /*ArrayIterator::is_ok*/;
523 if (!UNTAG_Bool(variable
[12])) break; /*for*/
524 variable
[12] = CALL_abstract_collection___Iterator___item(variable
[11])(variable
[11]) /*ArrayIterator::item*/ /* Ensure var: For item*/;
525 /* Register variable[13]: Local variable */
526 variable
[13] = variable
[12];
527 CALL_inheritance___MMLocalClass___compute_super_classes( variable
[13] /*c*/)( variable
[13] /*c*/) /*MMLocalClass::compute_super_classes*/;
528 CALL_abstract_collection___SimpleCollection___add( variable
[10] /*classes*/)( variable
[10] /*classes*/, variable
[13] /*c*/) /*AbstractArray::add*/;
529 continue_12
: while(0);
530 CALL_abstract_collection___Iterator___next(variable
[11])(variable
[11]) /*ArrayIterator::next*/;
533 /* Register variable[11]: Result */
534 variable
[11] = NEW_ClassSorter_compiling_global___ClassSorter___init() /*new ClassSorter*/;
535 CALL_sorter___AbstractSorter___sort(variable
[11])(variable
[11], variable
[10] /*classes*/) /*AbstractSorter::sort*/;
536 /* Register variable[11]: For iterator */
537 variable
[11] = CALL_abstract_collection___Collection___iterator( variable
[10] /*classes*/)( variable
[10] /*classes*/) /*AbstractArrayRead::iterator*/;
538 while (true) { /*for*/
539 /* Register variable[12]: For 'is_ok' result */
540 variable
[12] = CALL_abstract_collection___Iterator___is_ok(variable
[11])(variable
[11]) /*ArrayIterator::is_ok*/;
541 if (!UNTAG_Bool(variable
[12])) break; /*for*/
542 variable
[12] = CALL_abstract_collection___Iterator___item(variable
[11])(variable
[11]) /*ArrayIterator::item*/ /* Ensure var: For item*/;
543 /* Register variable[13]: Local variable */
544 variable
[13] = variable
[12];
545 CALL_inheritance___MMLocalClass___compute_ancestors( variable
[13] /*c*/)( variable
[13] /*c*/) /*MMLocalClass::compute_ancestors*/;
546 CALL_inheritance___MMLocalClass___inherit_global_properties( variable
[13] /*c*/)( variable
[13] /*c*/) /*MMLocalClass::inherit_global_properties*/;
547 /* Register variable[14]: Local variable */
548 /* Register variable[15]: Result */
549 variable
[15] = NEW_CompiledClass_compiling_global___CompiledClass___init( variable
[13] /*c*/) /*new CompiledClass*/;
550 variable
[14] = variable
[15];
551 /* Register variable[15]: Result */
552 variable
[15] = CALL_compiling_global___GlobalAnalysis___compiled_classes( variable
[3] /*ga*/)( variable
[3] /*ga*/) /*GlobalAnalysis::compiled_classes*/;
553 /* Register variable[16]: Result */
554 variable
[16] = CALL_abstractmetamodel___MMLocalClass___global( variable
[13] /*c*/)( variable
[13] /*c*/) /*MMLocalClass::global*/;
555 CALL_abstract_collection___Map_____braeq(variable
[15])(variable
[15], variable
[16], variable
[14] /*cc*/) /*HashMap::[]=*/;
556 /* Register variable[15]: Local variable */
557 /* Register variable[16]: Result */
558 variable
[16] = CALL_abstractmetamodel___MMLocalClass___global( variable
[13] /*c*/)( variable
[13] /*c*/) /*MMLocalClass::global*/;
559 variable
[15] = variable
[16];
560 /* Register variable[16]: Local variable */
561 /* Register variable[17]: Result */
562 variable
[17] = CALL_abstractmetamodel___MMGlobalClass___module( variable
[15] /*gc*/)( variable
[15] /*gc*/) /*MMGlobalClass::module*/;
563 variable
[16] = variable
[17];
564 /* Register variable[17]: Result */
565 variable
[17] = CALL_compiling_base___MMLocalClass___primitive_info( variable
[13] /*c*/)( variable
[13] /*c*/) /*MMLocalClass::primitive_info*/;
566 /* Register variable[17]: Result */
567 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::==*/)))))));
568 if (UNTAG_Bool(variable
[17])) { /*if*/
569 CALL_compiling_global___CompiledClass___id__eq( variable
[14] /*cc*/)( variable
[14] /*cc*/, variable
[8] /*pclassid*/) /*CompiledClass::id=*/;
570 /* Register variable[17]: Result */
571 variable
[17] = TAG_Int(UNTAG_Int( variable
[8] /*pclassid*/)-UNTAG_Int( TAG_Int(4)));
572 variable
[8] = variable
[17] /*pclassid=*/;
574 CALL_compiling_global___CompiledClass___id__eq( variable
[14] /*cc*/)( variable
[14] /*cc*/, variable
[9] /*classid*/) /*CompiledClass::id=*/;
575 /* Register variable[17]: Result */
576 variable
[17] = TAG_Int(UNTAG_Int( variable
[9] /*classid*/)+UNTAG_Int( TAG_Int(4)));
577 variable
[9] = variable
[17] /*classid=*/;
579 /* Register variable[17]: Result */
580 variable
[17] = CALL_abstractmetamodel___MMLocalClass___cshe( variable
[13] /*c*/)( variable
[13] /*c*/) /*MMLocalClass::cshe*/;
581 /* Register variable[17]: Result */
582 variable
[17] = CALL_partial_order___PartialOrderElement___direct_smallers(variable
[17])(variable
[17]) /*PartialOrderElement::direct_smallers*/;
583 /* Register variable[17]: Result */
584 variable
[17] = CALL_abstract_collection___Collection___is_empty(variable
[17])(variable
[17]) /*AbstractArrayRead::is_empty*/;
585 if (UNTAG_Bool(variable
[17])) { /*if*/
586 CALL_abstract_collection___SimpleCollection___add( variable
[4] /*smallest_classes*/)( variable
[4] /*smallest_classes*/, variable
[13] /*c*/) /*AbstractArray::add*/;
588 /* Register variable[17]: Local variable */
589 /* Register variable[18]: Result */
590 variable
[18] = CALL_abstractmetamodel___MMLocalClass___global( variable
[13] /*c*/)( variable
[13] /*c*/) /*MMLocalClass::global*/;
591 /* Register variable[18]: Result */
592 variable
[18] = CALL_abstractmetamodel___MMGlobalClass___intro(variable
[18])(variable
[18]) /*MMGlobalClass::intro*/;
593 variable
[17] = variable
[18];
594 /* Register variable[18]: Result */
595 variable
[18] = TAG_Bool(( variable
[17] /*bc*/==NIT_NULL
) || VAL_ISA( variable
[17] /*bc*/, COLOR_MMSrcLocalClass
, ID_MMSrcLocalClass
)) /*cast MMSrcLocalClass*/;
596 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
, 220); nit_exit(1);}
597 /* Register variable[18]: Result */
598 variable
[18] = CALL_compiling_global___MMSrcLocalClass___class_color_pos( variable
[17] /*bc*/)( variable
[17] /*bc*/) /*MMSrcLocalClass::class_color_pos*/;
599 CALL_abstract_collection___SimpleCollection___add( variable
[6] /*ctab*/)( variable
[6] /*ctab*/, variable
[18]) /*AbstractArray::add*/;
600 continue_13
: while(0);
601 CALL_abstract_collection___Iterator___next(variable
[11])(variable
[11]) /*ArrayIterator::next*/;
604 /* Register variable[11]: Local variable */
605 /* Register variable[12]: Result */
606 variable
[12] = NEW_HashSet_hash___HashSet___init() /*new HashSet[MMLocalClass]*/;
607 variable
[11] = variable
[12];
608 /* Register variable[12]: Local variable */
609 /* Register variable[13]: Result */
610 variable
[13] = NEW_HashSet_hash___HashSet___init() /*new HashSet[MMLocalClass]*/;
611 variable
[12] = variable
[13];
612 /* Register variable[13]: For iterator */
613 variable
[13] = CALL_abstract_collection___Collection___iterator( variable
[4] /*smallest_classes*/)( variable
[4] /*smallest_classes*/) /*AbstractArrayRead::iterator*/;
614 while (true) { /*for*/
615 /* Register variable[14]: For 'is_ok' result */
616 variable
[14] = CALL_abstract_collection___Iterator___is_ok(variable
[13])(variable
[13]) /*ArrayIterator::is_ok*/;
617 if (!UNTAG_Bool(variable
[14])) break; /*for*/
618 variable
[14] = CALL_abstract_collection___Iterator___item(variable
[13])(variable
[13]) /*ArrayIterator::item*/ /* Ensure var: For item*/;
619 /* Register variable[15]: Local variable */
620 variable
[15] = variable
[14];
621 while (true) { /*while*/
622 /* Register variable[16]: Result */
623 variable
[16] = CALL_abstractmetamodel___MMLocalClass___cshe( variable
[15] /*c*/)( variable
[15] /*c*/) /*MMLocalClass::cshe*/;
624 /* Register variable[16]: Result */
625 variable
[16] = CALL_partial_order___PartialOrderElement___direct_greaters(variable
[16])(variable
[16]) /*PartialOrderElement::direct_greaters*/;
626 /* Register variable[16]: Result */
627 variable
[16] = CALL_abstract_collection___Collection___length(variable
[16])(variable
[16]) /*AbstractArrayRead::length*/;
628 /* Register variable[16]: Result */
629 variable
[16] = TAG_Bool((variable
[16])==( TAG_Int(1)));
630 if (!UNTAG_Bool(variable
[16])) break; /* while*/
631 /* Register variable[16]: Result */
632 variable
[16] = CALL_abstractmetamodel___MMLocalClass___cshe( variable
[15] /*c*/)( variable
[15] /*c*/) /*MMLocalClass::cshe*/;
633 /* Register variable[16]: Result */
634 variable
[16] = CALL_partial_order___PartialOrderElement___direct_greaters(variable
[16])(variable
[16]) /*PartialOrderElement::direct_greaters*/;
635 /* Register variable[16]: Result */
636 variable
[16] = CALL_abstract_collection___Collection___first(variable
[16])(variable
[16]) /*IndexedCollectionRead::first*/;
637 variable
[15] = variable
[16] /*c=*/;
638 continue_15
: while(0);
641 CALL_abstract_collection___SimpleCollection___add( variable
[11] /*crown_classes*/)( variable
[11] /*crown_classes*/, variable
[15] /*c*/) /*HashSet::add*/;
642 /* Register variable[16]: Result */
643 variable
[16] = CALL_abstractmetamodel___MMLocalClass___cshe( variable
[15] /*c*/)( variable
[15] /*c*/) /*MMLocalClass::cshe*/;
644 /* Register variable[16]: Result */
645 variable
[16] = CALL_partial_order___PartialOrderElement___greaters_and_self(variable
[16])(variable
[16]) /*PartialOrderElement::greaters_and_self*/;
646 CALL_abstract_collection___SimpleCollection___add_all( variable
[12] /*core_classes*/)( variable
[12] /*core_classes*/, variable
[16]) /*SimpleCollection::add_all*/;
647 continue_14
: while(0);
648 CALL_abstract_collection___Iterator___next(variable
[13])(variable
[13]) /*ArrayIterator::next*/;
651 CALL_compiling_global___MMSrcModule___colorize(variable
[0])(variable
[0], variable
[3] /*ga*/, variable
[6] /*ctab*/, variable
[11] /*crown_classes*/, TAG_Int(0)) /*MMSrcModule::colorize*/;
652 /* Register variable[13]: Local variable */
653 variable
[13] = TAG_Int(0);
654 /* Register variable[14]: For iterator */
655 variable
[14] = CALL_abstract_collection___Collection___iterator( variable
[10] /*classes*/)( variable
[10] /*classes*/) /*AbstractArrayRead::iterator*/;
656 while (true) { /*for*/
657 /* Register variable[15]: For 'is_ok' result */
658 variable
[15] = CALL_abstract_collection___Iterator___is_ok(variable
[14])(variable
[14]) /*ArrayIterator::is_ok*/;
659 if (!UNTAG_Bool(variable
[15])) break; /*for*/
660 variable
[15] = CALL_abstract_collection___Iterator___item(variable
[14])(variable
[14]) /*ArrayIterator::item*/ /* Ensure var: For item*/;
661 /* Register variable[16]: Local variable */
662 variable
[16] = variable
[15];
663 /* Register variable[17]: Local variable */
664 /* Register variable[18]: Result */
665 variable
[18] = CALL_compiling_global___GlobalAnalysis___compiled_classes( variable
[3] /*ga*/)( variable
[3] /*ga*/) /*GlobalAnalysis::compiled_classes*/;
666 /* Register variable[19]: Result */
667 variable
[19] = CALL_abstractmetamodel___MMLocalClass___global( variable
[16] /*c*/)( variable
[16] /*c*/) /*MMLocalClass::global*/;
668 /* Register variable[18]: Result */
669 variable
[18] = CALL_abstract_collection___MapRead_____bra(variable
[18])(variable
[18], variable
[19]) /*CoupleMap::[]*/;
670 variable
[17] = variable
[18];
671 /* Register variable[18]: Result */
672 variable
[18] = CALL_abstract_collection___Collection___has( variable
[12] /*core_classes*/)( variable
[12] /*core_classes*/, variable
[16] /*c*/) /*HashSet::has*/;
673 if (UNTAG_Bool(variable
[18])) { /*if*/
674 /* Register variable[18]: Result */
675 variable
[18] = CALL_compiling_global___CompiledClass___class_table( variable
[17] /*cc*/)( variable
[17] /*cc*/) /*CompiledClass::class_table*/;
676 CALL_compiling_global___MMSrcModule___build_tables_in(variable
[0])(variable
[0], variable
[18], variable
[3] /*ga*/, variable
[16] /*c*/, variable
[6] /*ctab*/) /*MMSrcModule::build_tables_in*/;
677 /* Register variable[18]: Result */
678 variable
[18] = CALL_compiling_global___CompiledClass___class_table( variable
[17] /*cc*/)( variable
[17] /*cc*/) /*CompiledClass::class_table*/;
679 /* Register variable[18]: Result */
680 variable
[18] = CALL_abstract_collection___Collection___length(variable
[18])(variable
[18]) /*AbstractArrayRead::length*/;
681 /* Register variable[18]: Result */
682 variable
[18] = TAG_Bool(UNTAG_Int( variable
[13] /*maxcolor*/)<UNTAG_Int(variable
[18]));
683 if (UNTAG_Bool(variable
[18])) { /*if*/
684 /* Register variable[18]: Result */
685 variable
[18] = CALL_compiling_global___CompiledClass___class_table( variable
[17] /*cc*/)( variable
[17] /*cc*/) /*CompiledClass::class_table*/;
686 /* Register variable[18]: Result */
687 variable
[18] = CALL_abstract_collection___Collection___length(variable
[18])(variable
[18]) /*AbstractArrayRead::length*/;
688 variable
[13] = variable
[18] /*maxcolor=*/;
691 /* Register variable[18]: Local variable */
692 /* Register variable[19]: Result */
693 variable
[19] = CALL_abstractmetamodel___MMLocalClass___cshe( variable
[16] /*c*/)( variable
[16] /*c*/) /*MMLocalClass::cshe*/;
694 /* Register variable[19]: Result */
695 variable
[19] = CALL_partial_order___PartialOrderElement___direct_greaters(variable
[19])(variable
[19]) /*PartialOrderElement::direct_greaters*/;
696 /* Register variable[19]: Result */
697 variable
[19] = CALL_abstract_collection___Collection___first(variable
[19])(variable
[19]) /*IndexedCollectionRead::first*/;
698 variable
[18] = variable
[19];
699 /* Register variable[19]: Local variable */
700 /* Register variable[20]: Result */
701 variable
[20] = CALL_compiling_global___GlobalAnalysis___compiled_classes( variable
[3] /*ga*/)( variable
[3] /*ga*/) /*GlobalAnalysis::compiled_classes*/;
702 /* Register variable[21]: Result */
703 variable
[21] = CALL_abstractmetamodel___MMLocalClass___global( variable
[18] /*sc*/)( variable
[18] /*sc*/) /*MMLocalClass::global*/;
704 /* Register variable[20]: Result */
705 variable
[20] = CALL_abstract_collection___MapRead_____bra(variable
[20])(variable
[20], variable
[21]) /*CoupleMap::[]*/;
706 variable
[19] = variable
[20];
707 /* Register variable[20]: Result */
708 variable
[20] = CALL_compiling_global___CompiledClass___class_table( variable
[17] /*cc*/)( variable
[17] /*cc*/) /*CompiledClass::class_table*/;
709 /* Register variable[20]: Result */
710 variable
[20] = CALL_abstract_collection___Collection___is_empty(variable
[20])(variable
[20]) /*AbstractArrayRead::is_empty*/;
711 if (!UNTAG_Bool(variable
[20])) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_compiling_global___MMSrcModule___global_analysis
, LOCATE_compiling_global
, 251); nit_exit(1);}
712 /* Register variable[20]: Result */
713 variable
[20] = CALL_compiling_global___CompiledClass___class_table( variable
[17] /*cc*/)( variable
[17] /*cc*/) /*CompiledClass::class_table*/;
714 /* Register variable[21]: Result */
715 variable
[21] = CALL_compiling_global___CompiledClass___class_table( variable
[19] /*scc*/)( variable
[19] /*scc*/) /*CompiledClass::class_table*/;
716 CALL_abstract_collection___SimpleCollection___add_all(variable
[20])(variable
[20], variable
[21]) /*SimpleCollection::add_all*/;
717 /* Register variable[20]: Local variable */
718 /* Register variable[21]: Result */
719 variable
[21] = CALL_abstractmetamodel___MMLocalClass___global( variable
[16] /*c*/)( variable
[16] /*c*/) /*MMLocalClass::global*/;
720 /* Register variable[21]: Result */
721 variable
[21] = CALL_abstractmetamodel___MMGlobalClass___intro(variable
[21])(variable
[21]) /*MMGlobalClass::intro*/;
722 variable
[20] = variable
[21];
723 /* Register variable[21]: Result */
724 variable
[21] = TAG_Bool(( variable
[20] /*bc*/==NIT_NULL
) || VAL_ISA( variable
[20] /*bc*/, COLOR_MMSrcLocalClass
, ID_MMSrcLocalClass
)) /*cast MMSrcLocalClass*/;
725 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
, 254); nit_exit(1);}
726 /* Register variable[21]: Local variable */
727 /* Register variable[22]: Result */
728 variable
[22] = CALL_compiling_global___MMSrcLocalClass___class_color_pos( variable
[20] /*bc*/)( variable
[20] /*bc*/) /*MMSrcLocalClass::class_color_pos*/;
729 variable
[21] = variable
[22];
730 /* Register variable[22]: Local variable */
731 /* Register variable[23]: Result */
732 variable
[23] = CALL_compiling_global___CompiledClass___class_table( variable
[17] /*cc*/)( variable
[17] /*cc*/) /*CompiledClass::class_table*/;
733 /* Register variable[23]: Result */
734 variable
[23] = CALL_abstract_collection___Collection___length(variable
[23])(variable
[23]) /*AbstractArrayRead::length*/;
735 variable
[22] = variable
[23];
736 CALL_compiling_global___ColorContext___color__eq( variable
[3] /*ga*/)( variable
[3] /*ga*/, variable
[21] /*colpos*/, variable
[22] /*colposcolor*/) /*ColorContext::color=*/;
737 /* Register variable[23]: Result */
738 variable
[23] = CALL_compiling_global___CompiledClass___class_table( variable
[17] /*cc*/)( variable
[17] /*cc*/) /*CompiledClass::class_table*/;
739 CALL_abstract_collection___SimpleCollection___add(variable
[23])(variable
[23], variable
[21] /*colpos*/) /*AbstractArray::add*/;
740 /* Register variable[23]: Result */
741 variable
[23] = TAG_Bool(UNTAG_Int( variable
[13] /*maxcolor*/)<UNTAG_Int( variable
[22] /*colposcolor*/));
742 if (UNTAG_Bool(variable
[23])) { /*if*/
743 variable
[13] = variable
[22] /*colposcolor*/ /*maxcolor=*/;
746 continue_16
: while(0);
747 CALL_abstract_collection___Iterator___next(variable
[14])(variable
[14]) /*ArrayIterator::next*/;
750 /* Register variable[14]: Result */
751 variable
[14] = TAG_Int(UNTAG_Int( variable
[13] /*maxcolor*/)+UNTAG_Int( TAG_Int(1)));
752 CALL_compiling_global___GlobalAnalysis___max_class_table_length__eq( variable
[3] /*ga*/)( variable
[3] /*ga*/, variable
[14]) /*GlobalAnalysis::max_class_table_length=*/;
753 /* Register variable[14]: For iterator */
754 variable
[14] = CALL_abstract_collection___Collection___iterator( variable
[10] /*classes*/)( variable
[10] /*classes*/) /*AbstractArrayRead::iterator*/;
755 while (true) { /*for*/
756 /* Register variable[15]: For 'is_ok' result */
757 variable
[15] = CALL_abstract_collection___Iterator___is_ok(variable
[14])(variable
[14]) /*ArrayIterator::is_ok*/;
758 if (!UNTAG_Bool(variable
[15])) break; /*for*/
759 variable
[15] = CALL_abstract_collection___Iterator___item(variable
[14])(variable
[14]) /*ArrayIterator::item*/ /* Ensure var: For item*/;
760 /* Register variable[16]: Local variable */
761 variable
[16] = variable
[15];
762 /* Register variable[17]: Local variable */
763 /* Register variable[18]: Result */
764 variable
[18] = CALL_compiling_global___GlobalAnalysis___compiled_classes( variable
[3] /*ga*/)( variable
[3] /*ga*/) /*GlobalAnalysis::compiled_classes*/;
765 /* Register variable[19]: Result */
766 variable
[19] = CALL_abstractmetamodel___MMLocalClass___global( variable
[16] /*c*/)( variable
[16] /*c*/) /*MMLocalClass::global*/;
767 /* Register variable[18]: Result */
768 variable
[18] = CALL_abstract_collection___MapRead_____bra(variable
[18])(variable
[18], variable
[19]) /*CoupleMap::[]*/;
769 variable
[17] = variable
[18];
770 /* Register variable[18]: Local variable */
771 /* Register variable[19]: Result */
772 variable
[19] = CALL_compiling_global___CompiledClass___class_layout( variable
[17] /*cc*/)( variable
[17] /*cc*/) /*CompiledClass::class_layout*/;
773 variable
[18] = variable
[19];
774 /* Register variable[19]: Local variable */
775 /* Register variable[20]: Result */
776 variable
[20] = CALL_compiling_global___CompiledClass___instance_layout( variable
[17] /*cc*/)( variable
[17] /*cc*/) /*CompiledClass::instance_layout*/;
777 variable
[19] = variable
[20];
778 /* Register variable[20]: Result */
779 variable
[20] = CALL_abstractmetamodel___MMLocalClass___crhe( variable
[16] /*c*/)( variable
[16] /*c*/) /*MMLocalClass::crhe*/;
780 /* Register variable[20]: Result */
781 variable
[20] = CALL_partial_order___PartialOrderElement___greaters_and_self(variable
[20])(variable
[20]) /*PartialOrderElement::greaters_and_self*/;
782 /* Register variable[20]: For iterator */
783 variable
[20] = CALL_abstract_collection___Collection___iterator(variable
[20])(variable
[20]) /*Collection::iterator*/;
784 while (true) { /*for*/
785 /* Register variable[21]: For 'is_ok' result */
786 variable
[21] = CALL_abstract_collection___Iterator___is_ok(variable
[20])(variable
[20]) /*Iterator::is_ok*/;
787 if (!UNTAG_Bool(variable
[21])) break; /*for*/
788 variable
[21] = CALL_abstract_collection___Iterator___item(variable
[20])(variable
[20]) /*Iterator::item*/ /* Ensure var: For item*/;
789 /* Register variable[22]: Local variable */
790 variable
[22] = variable
[21];
791 /* Register variable[23]: Result */
792 variable
[23] = TAG_Bool(( variable
[22] /*sc*/==NIT_NULL
) || VAL_ISA( variable
[22] /*sc*/, COLOR_MMSrcLocalClass
, ID_MMSrcLocalClass
)) /*cast MMSrcLocalClass*/;
793 if (UNTAG_Bool(variable
[23])) { /*if*/
794 /* Register variable[23]: Result */
795 variable
[23] = CALL_compiling_global___MMSrcLocalClass___class_layout( variable
[22] /*sc*/)( variable
[22] /*sc*/) /*MMSrcLocalClass::class_layout*/;
796 CALL_compiling_global___TableEltComposite___add( variable
[18] /*cte*/)( variable
[18] /*cte*/, variable
[22] /*sc*/, variable
[23]) /*TableEltComposite::add*/;
797 /* Register variable[23]: Result */
798 variable
[23] = CALL_compiling_global___MMSrcLocalClass___instance_layout( variable
[22] /*sc*/)( variable
[22] /*sc*/) /*MMSrcLocalClass::instance_layout*/;
799 CALL_compiling_global___TableEltComposite___add( variable
[19] /*ite*/)( variable
[19] /*ite*/, variable
[22] /*sc*/, variable
[23]) /*TableEltComposite::add*/;
801 continue_18
: while(0);
802 CALL_abstract_collection___Iterator___next(variable
[20])(variable
[20]) /*Iterator::next*/;
805 /* Register variable[20]: Result */
806 variable
[20] = CALL_abstract_collection___Collection___has( variable
[12] /*core_classes*/)( variable
[12] /*core_classes*/, variable
[16] /*c*/) /*HashSet::has*/;
807 if (UNTAG_Bool(variable
[20])) { /*if*/
808 /* Register variable[20]: Result */
809 variable
[20] = CALL_compiling_global___TableElt___length( variable
[18] /*cte*/)( variable
[18] /*cte*/) /*TableEltComposite::length*/;
810 /* Register variable[20]: Result */
811 variable
[20] = TAG_Bool(UNTAG_Int(variable
[20])>UNTAG_Int( TAG_Int(0)));
812 if (UNTAG_Bool(variable
[20])) { /*if*/
813 CALL_abstract_collection___SimpleCollection___add( variable
[6] /*ctab*/)( variable
[6] /*ctab*/, variable
[18] /*cte*/) /*AbstractArray::add*/;
815 /* Register variable[20]: Result */
816 variable
[20] = CALL_compiling_global___TableElt___length( variable
[19] /*ite*/)( variable
[19] /*ite*/) /*TableEltComposite::length*/;
817 /* Register variable[20]: Result */
818 variable
[20] = TAG_Bool(UNTAG_Int(variable
[20])>UNTAG_Int( TAG_Int(0)));
819 if (UNTAG_Bool(variable
[20])) { /*if*/
820 CALL_abstract_collection___SimpleCollection___add( variable
[7] /*itab*/)( variable
[7] /*itab*/, variable
[19] /*ite*/) /*AbstractArray::add*/;
823 continue_17
: while(0);
824 CALL_abstract_collection___Iterator___next(variable
[14])(variable
[14]) /*ArrayIterator::next*/;
827 /* Register variable[14]: Result */
828 variable
[14] = TAG_Int(UNTAG_Int( variable
[13] /*maxcolor*/)+UNTAG_Int( TAG_Int(1)));
829 CALL_compiling_global___MMSrcModule___colorize(variable
[0])(variable
[0], variable
[3] /*ga*/, variable
[6] /*ctab*/, variable
[11] /*crown_classes*/, variable
[14]) /*MMSrcModule::colorize*/;
830 CALL_compiling_global___MMSrcModule___colorize(variable
[0])(variable
[0], variable
[3] /*ga*/, variable
[7] /*itab*/, variable
[11] /*crown_classes*/, TAG_Int(0)) /*MMSrcModule::colorize*/;
831 CALL_compiling_global___GlobalAnalysis___max_class_table_length__eq( variable
[3] /*ga*/)( variable
[3] /*ga*/, TAG_Int(0)) /*GlobalAnalysis::max_class_table_length=*/;
832 /* Register variable[14]: For iterator */
833 variable
[14] = CALL_abstract_collection___Collection___iterator( variable
[10] /*classes*/)( variable
[10] /*classes*/) /*AbstractArrayRead::iterator*/;
834 while (true) { /*for*/
835 /* Register variable[15]: For 'is_ok' result */
836 variable
[15] = CALL_abstract_collection___Iterator___is_ok(variable
[14])(variable
[14]) /*ArrayIterator::is_ok*/;
837 if (!UNTAG_Bool(variable
[15])) break; /*for*/
838 variable
[15] = CALL_abstract_collection___Iterator___item(variable
[14])(variable
[14]) /*ArrayIterator::item*/ /* Ensure var: For item*/;
839 /* Register variable[16]: Local variable */
840 variable
[16] = variable
[15];
841 /* Register variable[17]: Local variable */
842 /* Register variable[18]: Result */
843 variable
[18] = CALL_compiling_global___GlobalAnalysis___compiled_classes( variable
[3] /*ga*/)( variable
[3] /*ga*/) /*GlobalAnalysis::compiled_classes*/;
844 /* Register variable[19]: Result */
845 variable
[19] = CALL_abstractmetamodel___MMLocalClass___global( variable
[16] /*c*/)( variable
[16] /*c*/) /*MMLocalClass::global*/;
846 /* Register variable[18]: Result */
847 variable
[18] = CALL_abstract_collection___MapRead_____bra(variable
[18])(variable
[18], variable
[19]) /*CoupleMap::[]*/;
848 variable
[17] = variable
[18];
849 /* Register variable[18]: Result */
850 variable
[18] = CALL_abstract_collection___Collection___has( variable
[12] /*core_classes*/)( variable
[12] /*core_classes*/, variable
[16] /*c*/) /*HashSet::has*/;
851 if (UNTAG_Bool(variable
[18])) { /*if*/
852 /* Register variable[18]: Result */
853 variable
[18] = CALL_compiling_global___CompiledClass___class_table( variable
[17] /*cc*/)( variable
[17] /*cc*/) /*CompiledClass::class_table*/;
854 CALL_compiling_global___MMSrcModule___build_tables_in(variable
[0])(variable
[0], variable
[18], variable
[3] /*ga*/, variable
[16] /*c*/, variable
[6] /*ctab*/) /*MMSrcModule::build_tables_in*/;
855 /* Register variable[18]: Result */
856 variable
[18] = CALL_compiling_global___CompiledClass___instance_table( variable
[17] /*cc*/)( variable
[17] /*cc*/) /*CompiledClass::instance_table*/;
857 CALL_compiling_global___MMSrcModule___build_tables_in(variable
[0])(variable
[0], variable
[18], variable
[3] /*ga*/, variable
[16] /*c*/, variable
[7] /*itab*/) /*MMSrcModule::build_tables_in*/;
859 /* Register variable[18]: Local variable */
860 /* Register variable[19]: Result */
861 variable
[19] = CALL_abstractmetamodel___MMLocalClass___cshe( variable
[16] /*c*/)( variable
[16] /*c*/) /*MMLocalClass::cshe*/;
862 /* Register variable[19]: Result */
863 variable
[19] = CALL_partial_order___PartialOrderElement___direct_greaters(variable
[19])(variable
[19]) /*PartialOrderElement::direct_greaters*/;
864 /* Register variable[19]: Result */
865 variable
[19] = CALL_abstract_collection___Collection___first(variable
[19])(variable
[19]) /*IndexedCollectionRead::first*/;
866 variable
[18] = variable
[19];
867 /* Register variable[19]: Local variable */
868 /* Register variable[20]: Result */
869 variable
[20] = CALL_compiling_global___GlobalAnalysis___compiled_classes( variable
[3] /*ga*/)( variable
[3] /*ga*/) /*GlobalAnalysis::compiled_classes*/;
870 /* Register variable[21]: Result */
871 variable
[21] = CALL_abstractmetamodel___MMLocalClass___global( variable
[18] /*sc*/)( variable
[18] /*sc*/) /*MMLocalClass::global*/;
872 /* Register variable[20]: Result */
873 variable
[20] = CALL_abstract_collection___MapRead_____bra(variable
[20])(variable
[20], variable
[21]) /*CoupleMap::[]*/;
874 variable
[19] = variable
[20];
875 /* Register variable[20]: Result */
876 variable
[20] = CALL_compiling_global___CompiledClass___class_table( variable
[17] /*cc*/)( variable
[17] /*cc*/) /*CompiledClass::class_table*/;
877 CALL_abstract_collection___RemovableCollection___clear(variable
[20])(variable
[20]) /*AbstractArray::clear*/;
878 /* Register variable[20]: Result */
879 variable
[20] = CALL_compiling_global___CompiledClass___class_table( variable
[17] /*cc*/)( variable
[17] /*cc*/) /*CompiledClass::class_table*/;
880 /* Register variable[21]: Result */
881 variable
[21] = CALL_compiling_global___CompiledClass___class_table( variable
[19] /*scc*/)( variable
[19] /*scc*/) /*CompiledClass::class_table*/;
882 CALL_abstract_collection___SimpleCollection___add_all(variable
[20])(variable
[20], variable
[21]) /*SimpleCollection::add_all*/;
883 /* Register variable[20]: Local variable */
884 /* Register variable[21]: Result */
885 variable
[21] = CALL_abstractmetamodel___MMLocalClass___global( variable
[16] /*c*/)( variable
[16] /*c*/) /*MMLocalClass::global*/;
886 /* Register variable[21]: Result */
887 variable
[21] = CALL_abstractmetamodel___MMGlobalClass___intro(variable
[21])(variable
[21]) /*MMGlobalClass::intro*/;
888 variable
[20] = variable
[21];
889 /* Register variable[21]: Result */
890 variable
[21] = TAG_Bool(( variable
[20] /*bc*/==NIT_NULL
) || VAL_ISA( variable
[20] /*bc*/, COLOR_MMSrcLocalClass
, ID_MMSrcLocalClass
)) /*cast MMSrcLocalClass*/;
891 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
, 305); nit_exit(1);}
892 /* Register variable[21]: Local variable */
893 /* Register variable[22]: Result */
894 variable
[22] = CALL_compiling_global___MMSrcLocalClass___class_color_pos( variable
[20] /*bc*/)( variable
[20] /*bc*/) /*MMSrcLocalClass::class_color_pos*/;
895 variable
[21] = variable
[22];
896 /* Register variable[22]: Result */
897 variable
[22] = CALL_compiling_global___CompiledClass___class_table( variable
[17] /*cc*/)( variable
[17] /*cc*/) /*CompiledClass::class_table*/;
898 /* Register variable[23]: Result */
899 variable
[23] = CALL_compiling_global___ColorContext___color( variable
[3] /*ga*/)( variable
[3] /*ga*/, variable
[21] /*colpos*/) /*ColorContext::color*/;
900 CALL_abstract_collection___Map_____braeq(variable
[22])(variable
[22], variable
[23], variable
[21] /*colpos*/) /*Array::[]=*/;
901 while (true) { /*while*/
902 /* Register variable[22]: Result */
903 variable
[22] = CALL_compiling_global___CompiledClass___class_table( variable
[17] /*cc*/)( variable
[17] /*cc*/) /*CompiledClass::class_table*/;
904 /* Register variable[22]: Result */
905 variable
[22] = CALL_abstract_collection___Collection___length(variable
[22])(variable
[22]) /*AbstractArrayRead::length*/;
906 /* Register variable[22]: Result */
907 variable
[22] = TAG_Bool(UNTAG_Int(variable
[22])<=UNTAG_Int( variable
[13] /*maxcolor*/));
908 if (!UNTAG_Bool(variable
[22])) break; /* while*/
909 /* Register variable[22]: Result */
910 variable
[22] = CALL_compiling_global___CompiledClass___class_table( variable
[17] /*cc*/)( variable
[17] /*cc*/) /*CompiledClass::class_table*/;
911 CALL_abstract_collection___SimpleCollection___add(variable
[22])(variable
[22], NIT_NULL
/*null*/) /*AbstractArray::add*/;
912 continue_20
: while(0);
915 /* Register variable[22]: Result */
916 variable
[22] = CALL_compiling_global___CompiledClass___class_table( variable
[17] /*cc*/)( variable
[17] /*cc*/) /*CompiledClass::class_table*/;
917 /* Register variable[23]: Result */
918 variable
[23] = CALL_compiling_global___CompiledClass___class_layout( variable
[17] /*cc*/)( variable
[17] /*cc*/) /*CompiledClass::class_layout*/;
919 CALL_compiling_global___MMSrcModule___append_to_table(variable
[0])(variable
[0], variable
[3] /*ga*/, variable
[22], variable
[23]) /*MMSrcModule::append_to_table*/;
920 /* Register variable[22]: Result */
921 variable
[22] = CALL_compiling_global___CompiledClass___instance_table( variable
[17] /*cc*/)( variable
[17] /*cc*/) /*CompiledClass::instance_table*/;
922 /* Register variable[22]: Result */
923 variable
[22] = CALL_abstract_collection___Collection___is_empty(variable
[22])(variable
[22]) /*AbstractArrayRead::is_empty*/;
924 if (!UNTAG_Bool(variable
[22])) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_compiling_global___MMSrcModule___global_analysis
, LOCATE_compiling_global
, 312); nit_exit(1);}
925 /* Register variable[22]: Result */
926 variable
[22] = CALL_compiling_global___CompiledClass___instance_table( variable
[17] /*cc*/)( variable
[17] /*cc*/) /*CompiledClass::instance_table*/;
927 /* Register variable[23]: Result */
928 variable
[23] = CALL_compiling_global___CompiledClass___instance_table( variable
[19] /*scc*/)( variable
[19] /*scc*/) /*CompiledClass::instance_table*/;
929 CALL_abstract_collection___SimpleCollection___add_all(variable
[22])(variable
[22], variable
[23]) /*SimpleCollection::add_all*/;
930 /* Register variable[22]: Result */
931 variable
[22] = CALL_compiling_global___CompiledClass___instance_table( variable
[17] /*cc*/)( variable
[17] /*cc*/) /*CompiledClass::instance_table*/;
932 /* Register variable[23]: Result */
933 variable
[23] = CALL_compiling_global___CompiledClass___instance_layout( variable
[17] /*cc*/)( variable
[17] /*cc*/) /*CompiledClass::instance_layout*/;
934 CALL_compiling_global___MMSrcModule___append_to_table(variable
[0])(variable
[0], variable
[3] /*ga*/, variable
[22], variable
[23]) /*MMSrcModule::append_to_table*/;
936 continue_19
: while(0);
937 CALL_abstract_collection___Iterator___next(variable
[14])(variable
[14]) /*ArrayIterator::next*/;
940 variable
[2] = variable
[3] /*ga*/;
942 return_label11
: while(false);
943 tracehead
= trace
.prev
;
946 void compiling_global___MMSrcModule___append_to_table(val_t self
, val_t param0
, val_t param1
, val_t param2
) {
947 struct trace_t trace
= {NULL
, NULL
, 321, LOCATE_compiling_global___MMSrcModule___append_to_table
};
949 struct WBT_
**closurevariable
= NULL
;
950 trace
.prev
= tracehead
; tracehead
= &trace
;
951 trace
.file
= LOCATE_compiling_global
;
952 /* Register variable[0]: Local variable */
954 /* Register variable[1]: Local variable */
955 variable
[1] = param0
;
956 /* Register variable[2]: Local variable */
957 variable
[2] = param1
;
958 /* Register variable[3]: Local variable */
959 variable
[3] = param2
;
960 /* Register variable[4]: Method return value and escape marker */
961 /* Register variable[5]: Result */
962 variable
[5] = CALL_compiling_global___TableElt___length( variable
[3] /*cmp*/)( variable
[3] /*cmp*/) /*TableEltComposite::length*/;
963 /* Register variable[5]: Result */
964 variable
[5] = NEW_Range_range___Range___without_last( TAG_Int(0), variable
[5]) /*new Range[Int]*/;
965 /* Register variable[5]: For iterator */
966 variable
[5] = CALL_abstract_collection___Collection___iterator(variable
[5])(variable
[5]) /*Range::iterator*/;
967 while (true) { /*for*/
968 /* Register variable[6]: For 'is_ok' result */
969 variable
[6] = CALL_abstract_collection___Iterator___is_ok(variable
[5])(variable
[5]) /*Iterator::is_ok*/;
970 if (!UNTAG_Bool(variable
[6])) break; /*for*/
971 variable
[6] = CALL_abstract_collection___Iterator___item(variable
[5])(variable
[5]) /*Iterator::item*/ /* Ensure var: For item*/;
972 /* Register variable[7]: Local variable */
973 variable
[7] = variable
[6];
974 /* Register variable[8]: Local variable */
975 /* Register variable[9]: Result */
976 variable
[9] = CALL_compiling_global___TableElt___item( variable
[3] /*cmp*/)( variable
[3] /*cmp*/, variable
[7] /*j*/) /*TableEltComposite::item*/;
977 variable
[8] = variable
[9];
978 /* Register variable[9]: Result */
979 variable
[9] = CALL_abstract_collection___Collection___length( variable
[2] /*table*/)( variable
[2] /*table*/) /*AbstractArrayRead::length*/;
980 CALL_compiling_global___ColorContext___color__eq( variable
[1] /*cc*/)( variable
[1] /*cc*/, variable
[8] /*e*/, variable
[9]) /*ColorContext::color=*/;
981 CALL_abstract_collection___SimpleCollection___add( variable
[2] /*table*/)( variable
[2] /*table*/, variable
[8] /*e*/) /*AbstractArray::add*/;
982 continue_22
: while(0);
983 CALL_abstract_collection___Iterator___next(variable
[5])(variable
[5]) /*Iterator::next*/;
986 return_label21
: while(false);
987 tracehead
= trace
.prev
;
990 void compiling_global___MMSrcModule___build_tables_in(val_t self
, val_t param0
, val_t param1
, val_t param2
, val_t param3
) {
991 struct trace_t trace
= {NULL
, NULL
, 330, LOCATE_compiling_global___MMSrcModule___build_tables_in
};
993 struct WBT_
**closurevariable
= NULL
;
994 trace
.prev
= tracehead
; tracehead
= &trace
;
995 trace
.file
= LOCATE_compiling_global
;
996 /* Register variable[0]: Local variable */
998 /* Register variable[1]: Local variable */
999 variable
[1] = param0
;
1000 /* Register variable[2]: Local variable */
1001 variable
[2] = param1
;
1002 /* Register variable[3]: Local variable */
1003 variable
[3] = param2
;
1004 /* Register variable[4]: Local variable */
1005 variable
[4] = param3
;
1006 /* Register variable[5]: Method return value and escape marker */
1007 /* Register variable[6]: Local variable */
1008 /* Register variable[7]: Result */
1009 variable
[7] = NEW_HashMap_hash___HashMap___init() /*new HashMap[Int, TableElt]*/;
1010 variable
[6] = variable
[7];
1011 /* Register variable[7]: Local variable */
1012 variable
[7] = TAG_Int(0);
1013 /* Register variable[8]: For iterator */
1014 variable
[8] = CALL_abstract_collection___Collection___iterator( variable
[4] /*elts*/)( variable
[4] /*elts*/) /*AbstractArrayRead::iterator*/;
1015 while (true) { /*for*/
1016 /* Register variable[9]: For 'is_ok' result */
1017 variable
[9] = CALL_abstract_collection___Iterator___is_ok(variable
[8])(variable
[8]) /*ArrayIterator::is_ok*/;
1018 if (!UNTAG_Bool(variable
[9])) break; /*for*/
1019 variable
[9] = CALL_abstract_collection___Iterator___item(variable
[8])(variable
[8]) /*ArrayIterator::item*/ /* Ensure var: For item*/;
1020 /* Register variable[10]: Local variable */
1021 variable
[10] = variable
[9];
1022 /* Register variable[11]: Result */
1023 variable
[11] = CALL_compiling_global___TableElt___is_related_to( variable
[10] /*e*/)( variable
[10] /*e*/, variable
[3] /*c*/) /*TableElt::is_related_to*/;
1024 if (UNTAG_Bool(variable
[11])) { /*if*/
1025 /* Register variable[11]: Local variable */
1026 /* Register variable[12]: Result */
1027 variable
[12] = CALL_compiling_global___ColorContext___color( variable
[2] /*ga*/)( variable
[2] /*ga*/, variable
[10] /*e*/) /*ColorContext::color*/;
1028 variable
[11] = variable
[12];
1029 /* Register variable[12]: Local variable */
1030 /* Register variable[13]: Result */
1031 variable
[13] = CALL_compiling_global___TableElt___length( variable
[10] /*e*/)( variable
[10] /*e*/) /*TableElt::length*/;
1032 /* Register variable[13]: Result */
1033 variable
[13] = TAG_Int(UNTAG_Int( variable
[11] /*col*/)+UNTAG_Int(variable
[13]));
1034 variable
[12] = variable
[13];
1035 CALL_abstract_collection___Map_____braeq( variable
[6] /*tab*/)( variable
[6] /*tab*/, variable
[11] /*col*/, variable
[10] /*e*/) /*HashMap::[]=*/;
1036 /* Register variable[13]: Result */
1037 variable
[13] = TAG_Bool(UNTAG_Int( variable
[7] /*len*/)<UNTAG_Int( variable
[12] /*l*/));
1038 if (UNTAG_Bool(variable
[13])) { /*if*/
1039 variable
[7] = variable
[12] /*l*/ /*len=*/;
1042 continue_24
: while(0);
1043 CALL_abstract_collection___Iterator___next(variable
[8])(variable
[8]) /*ArrayIterator::next*/;
1046 /* Register variable[8]: Local variable */
1047 variable
[8] = TAG_Int(0);
1048 while (true) { /*while*/
1049 /* Register variable[9]: Result */
1050 variable
[9] = TAG_Bool(UNTAG_Int( variable
[8] /*i*/)<UNTAG_Int( variable
[7] /*len*/));
1051 if (!UNTAG_Bool(variable
[9])) break; /* while*/
1052 /* Register variable[9]: Result */
1053 variable
[9] = CALL_abstract_collection___MapRead___has_key( variable
[6] /*tab*/)( variable
[6] /*tab*/, variable
[8] /*i*/) /*CoupleMap::has_key*/;
1054 if (UNTAG_Bool(variable
[9])) { /*if*/
1055 /* Register variable[9]: Local variable */
1056 /* Register variable[10]: Result */
1057 variable
[10] = CALL_abstract_collection___MapRead_____bra( variable
[6] /*tab*/)( variable
[6] /*tab*/, variable
[8] /*i*/) /*CoupleMap::[]*/;
1058 variable
[9] = variable
[10];
1059 /* Register variable[10]: Result */
1060 variable
[10] = CALL_compiling_global___TableElt___length( variable
[9] /*e*/)( variable
[9] /*e*/) /*TableElt::length*/;
1061 /* Register variable[10]: Result */
1062 variable
[10] = NEW_Range_range___Range___without_last( TAG_Int(0), variable
[10]) /*new Range[Int]*/;
1063 /* Register variable[10]: For iterator */
1064 variable
[10] = CALL_abstract_collection___Collection___iterator(variable
[10])(variable
[10]) /*Range::iterator*/;
1065 while (true) { /*for*/
1066 /* Register variable[11]: For 'is_ok' result */
1067 variable
[11] = CALL_abstract_collection___Iterator___is_ok(variable
[10])(variable
[10]) /*Iterator::is_ok*/;
1068 if (!UNTAG_Bool(variable
[11])) break; /*for*/
1069 variable
[11] = CALL_abstract_collection___Iterator___item(variable
[10])(variable
[10]) /*Iterator::item*/ /* Ensure var: For item*/;
1070 /* Register variable[12]: Local variable */
1071 variable
[12] = variable
[11];
1072 /* Register variable[13]: Result */
1073 variable
[13] = CALL_compiling_global___TableElt___item( variable
[9] /*e*/)( variable
[9] /*e*/, variable
[12] /*j*/) /*TableElt::item*/;
1074 CALL_abstract_collection___Map_____braeq( variable
[1] /*table*/)( variable
[1] /*table*/, variable
[8] /*i*/, variable
[13]) /*Array::[]=*/;
1075 /* Register variable[13]: Result */
1076 variable
[13] = TAG_Int(UNTAG_Int( variable
[8] /*i*/)+UNTAG_Int( TAG_Int(1)));
1077 variable
[8] = variable
[13] /*i=*/;
1078 continue_26
: while(0);
1079 CALL_abstract_collection___Iterator___next(variable
[10])(variable
[10]) /*Iterator::next*/;
1083 CALL_abstract_collection___Map_____braeq( variable
[1] /*table*/)( variable
[1] /*table*/, variable
[8] /*i*/, NIT_NULL
/*null*/) /*Array::[]=*/;
1084 /* Register variable[9]: Result */
1085 variable
[9] = TAG_Int(UNTAG_Int( variable
[8] /*i*/)+UNTAG_Int( TAG_Int(1)));
1086 variable
[8] = variable
[9] /*i=*/;
1088 continue_25
: while(0);
1091 return_label23
: while(false);
1092 tracehead
= trace
.prev
;
1095 void compiling_global___MMSrcModule___colorize(val_t self
, val_t param0
, val_t param1
, val_t param2
, val_t param3
) {
1096 struct trace_t trace
= {NULL
, NULL
, 359, LOCATE_compiling_global___MMSrcModule___colorize
};
1098 struct WBT_
**closurevariable
= NULL
;
1099 trace
.prev
= tracehead
; tracehead
= &trace
;
1100 trace
.file
= LOCATE_compiling_global
;
1101 /* Register variable[0]: Local variable */
1103 /* Register variable[1]: Local variable */
1104 variable
[1] = param0
;
1105 /* Register variable[2]: Local variable */
1106 variable
[2] = param1
;
1107 /* Register variable[3]: Local variable */
1108 variable
[3] = param2
;
1109 /* Register variable[4]: Local variable */
1110 variable
[4] = param3
;
1111 /* Register variable[5]: Method return value and escape marker */
1112 /* Register variable[6]: Local variable */
1113 /* Register variable[7]: Result */
1114 variable
[7] = NEW_HashMap_hash___HashMap___init() /*new HashMap[Int, Array[TableElt]]*/;
1115 variable
[6] = variable
[7];
1116 /* Register variable[7]: Local variable */
1117 /* Register variable[8]: Result */
1118 variable
[8] = NEW_Array_array___Array___init() /*new Array[MMLocalClass]*/;
1119 variable
[7] = variable
[8];
1120 /* Register variable[8]: For iterator */
1121 variable
[8] = CALL_abstract_collection___Collection___iterator( variable
[2] /*elts*/)( variable
[2] /*elts*/) /*AbstractArrayRead::iterator*/;
1122 while (true) { /*for*/
1123 /* Register variable[9]: For 'is_ok' result */
1124 variable
[9] = CALL_abstract_collection___Iterator___is_ok(variable
[8])(variable
[8]) /*ArrayIterator::is_ok*/;
1125 if (!UNTAG_Bool(variable
[9])) break; /*for*/
1126 variable
[9] = CALL_abstract_collection___Iterator___item(variable
[8])(variable
[8]) /*ArrayIterator::item*/ /* Ensure var: For item*/;
1127 /* Register variable[10]: Local variable */
1128 variable
[10] = variable
[9];
1129 /* Register variable[11]: Local variable */
1130 /* Register variable[12]: Result */
1131 variable
[12] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
1132 variable
[11] = variable
[12];
1133 /* Register variable[12]: Local variable */
1134 /* Register variable[13]: Result */
1135 variable
[13] = CALL_compiling_global___TableElt___length( variable
[10] /*e*/)( variable
[10] /*e*/) /*TableElt::length*/;
1136 variable
[12] = variable
[13];
1137 /* Register variable[13]: Result */
1138 variable
[13] = CALL_compiling_global___ColorContext___has_color( variable
[1] /*ga*/)( variable
[1] /*ga*/, variable
[10] /*e*/) /*ColorContext::has_color*/;
1139 if (UNTAG_Bool(variable
[13])) { /*if*/
1140 /* Register variable[13]: Result */
1141 variable
[13] = CALL_compiling_global___ColorContext___color( variable
[1] /*ga*/)( variable
[1] /*ga*/, variable
[10] /*e*/) /*ColorContext::color*/;
1142 variable
[11] = variable
[13] /*color=*/;
1144 CALL_abstract_collection___RemovableCollection___clear( variable
[7] /*rel_classes*/)( variable
[7] /*rel_classes*/) /*AbstractArray::clear*/;
1145 /* Register variable[13]: For iterator */
1146 variable
[13] = CALL_abstract_collection___Collection___iterator( variable
[3] /*classes*/)( variable
[3] /*classes*/) /*Collection::iterator*/;
1147 while (true) { /*for*/
1148 /* Register variable[14]: For 'is_ok' result */
1149 variable
[14] = CALL_abstract_collection___Iterator___is_ok(variable
[13])(variable
[13]) /*Iterator::is_ok*/;
1150 if (!UNTAG_Bool(variable
[14])) break; /*for*/
1151 variable
[14] = CALL_abstract_collection___Iterator___item(variable
[13])(variable
[13]) /*Iterator::item*/ /* Ensure var: For item*/;
1152 /* Register variable[15]: Local variable */
1153 variable
[15] = variable
[14];
1154 /* Register variable[16]: Result */
1155 variable
[16] = CALL_compiling_global___TableElt___is_related_to( variable
[10] /*e*/)( variable
[10] /*e*/, variable
[15] /*c*/) /*TableElt::is_related_to*/;
1156 if (UNTAG_Bool(variable
[16])) { /*if*/
1157 CALL_abstract_collection___SimpleCollection___add( variable
[7] /*rel_classes*/)( variable
[7] /*rel_classes*/, variable
[15] /*c*/) /*AbstractArray::add*/;
1159 continue_29
: while(0);
1160 CALL_abstract_collection___Iterator___next(variable
[13])(variable
[13]) /*Iterator::next*/;
1163 /* Register variable[13]: Local variable */
1164 variable
[13] = variable
[4] /*startcolor*/;
1165 while (true) { /*while*/
1166 /* Register variable[14]: Result */
1167 variable
[14] = TAG_Bool(( variable
[13] /*trycolor*/)!=( variable
[11] /*color*/));
1168 if (!UNTAG_Bool(variable
[14])) break; /* while*/
1169 variable
[11] = variable
[13] /*trycolor*/ /*color=*/;
1170 /* Register variable[14]: For iterator */
1171 variable
[14] = CALL_abstract_collection___Collection___iterator( variable
[7] /*rel_classes*/)( variable
[7] /*rel_classes*/) /*AbstractArrayRead::iterator*/;
1172 while (true) { /*for*/
1173 /* Register variable[15]: For 'is_ok' result */
1174 variable
[15] = CALL_abstract_collection___Iterator___is_ok(variable
[14])(variable
[14]) /*ArrayIterator::is_ok*/;
1175 if (!UNTAG_Bool(variable
[15])) break; /*for*/
1176 variable
[15] = CALL_abstract_collection___Iterator___item(variable
[14])(variable
[14]) /*ArrayIterator::item*/ /* Ensure var: For item*/;
1177 /* Register variable[16]: Local variable */
1178 variable
[16] = variable
[15];
1179 /* Register variable[17]: Local variable */
1180 variable
[17] = TAG_Int(0);
1181 while (true) { /*while*/
1182 /* Register variable[18]: Result */
1183 variable
[18] = TAG_Bool(UNTAG_Int( variable
[17] /*idx*/)<UNTAG_Int( variable
[12] /*len*/));
1184 if (!UNTAG_Bool(variable
[18])) break; /* while*/
1185 /* Register variable[18]: Result */
1186 variable
[18] = TAG_Int(UNTAG_Int( variable
[13] /*trycolor*/)+UNTAG_Int( variable
[17] /*idx*/));
1187 /* Register variable[18]: Result */
1188 variable
[18] = CALL_abstract_collection___MapRead___has_key( variable
[6] /*colors*/)( variable
[6] /*colors*/, variable
[18]) /*CoupleMap::has_key*/;
1189 /* Ensure var variable[18]: Left 'and' operand*/
1190 if (UNTAG_Bool(variable
[18])) { /* and */
1191 /* Register variable[18]: Result */
1192 variable
[18] = TAG_Int(UNTAG_Int( variable
[13] /*trycolor*/)+UNTAG_Int( variable
[17] /*idx*/));
1193 /* Register variable[18]: Result */
1194 variable
[18] = CALL_abstract_collection___MapRead_____bra( variable
[6] /*colors*/)( variable
[6] /*colors*/, variable
[18]) /*CoupleMap::[]*/;
1195 /* Register variable[18]: Result */
1196 variable
[18] = CALL_compiling_global___MMSrcModule___free_color(variable
[0])(variable
[0], variable
[18], variable
[16] /*c*/) /*MMSrcModule::free_color*/;
1197 variable
[18] = TAG_Bool(!UNTAG_Bool(variable
[18]));
1199 /* Register variable[18]: Result */
1200 if (UNTAG_Bool(variable
[18])) { /*if*/
1201 /* Register variable[18]: Result */
1202 variable
[18] = TAG_Int(UNTAG_Int( variable
[13] /*trycolor*/)+UNTAG_Int( variable
[17] /*idx*/));
1203 /* Register variable[18]: Result */
1204 variable
[18] = TAG_Int(UNTAG_Int(variable
[18])+UNTAG_Int( TAG_Int(1)));
1205 variable
[13] = variable
[18] /*trycolor=*/;
1206 variable
[17] = TAG_Int(0) /*idx=*/;
1208 /* Register variable[18]: Result */
1209 variable
[18] = TAG_Int(UNTAG_Int( variable
[17] /*idx*/)+UNTAG_Int( TAG_Int(1)));
1210 variable
[17] = variable
[18] /*idx=*/;
1212 continue_32
: while(0);
1215 continue_31
: while(0);
1216 CALL_abstract_collection___Iterator___next(variable
[14])(variable
[14]) /*ArrayIterator::next*/;
1219 continue_30
: while(0);
1222 CALL_compiling_global___ColorContext___color__eq( variable
[1] /*ga*/)( variable
[1] /*ga*/, variable
[10] /*e*/, variable
[11] /*color*/) /*ColorContext::color=*/;
1224 /* Register variable[13]: Result */
1225 variable
[13] = NEW_Range_range___Range___without_last( TAG_Int(0), variable
[12] /*len*/) /*new Range[Int]*/;
1226 /* Register variable[13]: For iterator */
1227 variable
[13] = CALL_abstract_collection___Collection___iterator(variable
[13])(variable
[13]) /*Range::iterator*/;
1228 while (true) { /*for*/
1229 /* Register variable[14]: For 'is_ok' result */
1230 variable
[14] = CALL_abstract_collection___Iterator___is_ok(variable
[13])(variable
[13]) /*Iterator::is_ok*/;
1231 if (!UNTAG_Bool(variable
[14])) break; /*for*/
1232 variable
[14] = CALL_abstract_collection___Iterator___item(variable
[13])(variable
[13]) /*Iterator::item*/ /* Ensure var: For item*/;
1233 /* Register variable[15]: Local variable */
1234 variable
[15] = variable
[14];
1235 /* Register variable[16]: Result */
1236 variable
[16] = TAG_Int(UNTAG_Int( variable
[11] /*color*/)+UNTAG_Int( variable
[15] /*idx*/));
1237 /* Register variable[16]: Result */
1238 variable
[16] = CALL_abstract_collection___MapRead___has_key( variable
[6] /*colors*/)( variable
[6] /*colors*/, variable
[16]) /*CoupleMap::has_key*/;
1239 if (UNTAG_Bool(variable
[16])) { /*if*/
1240 /* Register variable[16]: Result */
1241 variable
[16] = TAG_Int(UNTAG_Int( variable
[11] /*color*/)+UNTAG_Int( variable
[15] /*idx*/));
1242 /* Register variable[16]: Result */
1243 variable
[16] = CALL_abstract_collection___MapRead_____bra( variable
[6] /*colors*/)( variable
[6] /*colors*/, variable
[16]) /*CoupleMap::[]*/;
1244 CALL_abstract_collection___SimpleCollection___add(variable
[16])(variable
[16], variable
[10] /*e*/) /*AbstractArray::add*/;
1246 /* Register variable[16]: Result */
1247 variable
[16] = TAG_Int(UNTAG_Int( variable
[11] /*color*/)+UNTAG_Int( variable
[15] /*idx*/));
1248 variable
[17] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[TableElt]*/ /* Ensure var: Literal array*/;
1249 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[10] /*e*/) /*AbstractArray::add*/;
1250 /* Register variable[17]: Result */
1251 CALL_abstract_collection___Map_____braeq( variable
[6] /*colors*/)( variable
[6] /*colors*/, variable
[16], variable
[17]) /*HashMap::[]=*/;
1253 continue_33
: while(0);
1254 CALL_abstract_collection___Iterator___next(variable
[13])(variable
[13]) /*Iterator::next*/;
1257 continue_28
: while(0);
1258 CALL_abstract_collection___Iterator___next(variable
[8])(variable
[8]) /*ArrayIterator::next*/;
1261 return_label27
: while(false);
1262 tracehead
= trace
.prev
;
1265 val_t
compiling_global___MMSrcModule___free_color(val_t self
, val_t param0
, val_t param1
) {
1266 struct trace_t trace
= {NULL
, NULL
, 403, LOCATE_compiling_global___MMSrcModule___free_color
};
1268 struct WBT_
**closurevariable
= NULL
;
1269 trace
.prev
= tracehead
; tracehead
= &trace
;
1270 trace
.file
= LOCATE_compiling_global
;
1271 /* Register variable[0]: Local variable */
1273 /* Register variable[1]: Local variable */
1274 variable
[1] = param0
;
1275 /* Register variable[2]: Local variable */
1276 variable
[2] = param1
;
1277 /* Register variable[3]: Method return value and escape marker */
1278 /* Register variable[4]: For iterator */
1279 variable
[4] = CALL_abstract_collection___Collection___iterator( variable
[1] /*es*/)( variable
[1] /*es*/) /*AbstractArrayRead::iterator*/;
1280 while (true) { /*for*/
1281 /* Register variable[5]: For 'is_ok' result */
1282 variable
[5] = CALL_abstract_collection___Iterator___is_ok(variable
[4])(variable
[4]) /*ArrayIterator::is_ok*/;
1283 if (!UNTAG_Bool(variable
[5])) break; /*for*/
1284 variable
[5] = CALL_abstract_collection___Iterator___item(variable
[4])(variable
[4]) /*ArrayIterator::item*/ /* Ensure var: For item*/;
1285 /* Register variable[6]: Local variable */
1286 variable
[6] = variable
[5];
1287 /* Register variable[7]: Result */
1288 variable
[7] = CALL_compiling_global___TableElt___is_related_to( variable
[6] /*e2*/)( variable
[6] /*e2*/, variable
[2] /*c*/) /*TableElt::is_related_to*/;
1289 if (UNTAG_Bool(variable
[7])) { /*if*/
1290 variable
[3] = TAG_Bool(false);
1291 goto return_label34
;
1293 continue_35
: while(0);
1294 CALL_abstract_collection___Iterator___next(variable
[4])(variable
[4]) /*ArrayIterator::next*/;
1297 variable
[3] = TAG_Bool(true);
1298 goto return_label34
;
1299 return_label34
: while(false);
1300 tracehead
= trace
.prev
;
1303 void compiling_global___MMSrcModule___compile_tables_to_c(val_t self
, val_t param0
) {
1304 struct trace_t trace
= {NULL
, NULL
, 413, LOCATE_compiling_global___MMSrcModule___compile_tables_to_c
};
1305 static val_t once_value_39
= NIT_NULL
; /* Once value for string variable[4]*/
1306 static val_t once_value_41
= NIT_NULL
; /* Once value for string variable[5]*/
1307 static val_t once_value_42
= NIT_NULL
; /* Once value for string variable[6]*/
1308 static val_t once_value_43
= NIT_NULL
; /* Once value for string variable[7]*/
1309 static val_t once_value_44
= NIT_NULL
; /* Once value for string variable[8]*/
1310 static val_t once_value_45
= NIT_NULL
; /* Once value for string variable[8]*/
1311 static val_t once_value_46
= NIT_NULL
; /* Once value for string variable[7]*/
1312 static val_t once_value_47
= NIT_NULL
; /* Once value for string variable[4]*/
1314 struct WBT_
**closurevariable
= NULL
;
1315 trace
.prev
= tracehead
; tracehead
= &trace
;
1316 trace
.file
= LOCATE_compiling_global
;
1317 /* Register variable[0]: Local variable */
1319 /* Register variable[1]: Local variable */
1320 variable
[1] = param0
;
1321 /* Register variable[2]: Method return value and escape marker */
1322 /* Register variable[3]: Result */
1323 variable
[3] = CALL_abstractmetamodel___MMModule___mhe(variable
[0])(variable
[0]) /*MMModule::mhe*/;
1324 /* Register variable[3]: Result */
1325 variable
[3] = CALL_partial_order___PartialOrderElement___greaters_and_self(variable
[3])(variable
[3]) /*PartialOrderElement::greaters_and_self*/;
1326 /* Register variable[3]: For iterator */
1327 variable
[3] = CALL_abstract_collection___Collection___iterator(variable
[3])(variable
[3]) /*Collection::iterator*/;
1328 while (true) { /*for*/
1329 /* Register variable[4]: For 'is_ok' result */
1330 variable
[4] = CALL_abstract_collection___Iterator___is_ok(variable
[3])(variable
[3]) /*Iterator::is_ok*/;
1331 if (!UNTAG_Bool(variable
[4])) break; /*for*/
1332 variable
[4] = CALL_abstract_collection___Iterator___item(variable
[3])(variable
[3]) /*Iterator::item*/ /* Ensure var: For item*/;
1333 /* Register variable[5]: Local variable */
1334 variable
[5] = variable
[4];
1335 /* Register variable[6]: Result */
1336 variable
[6] = TAG_Bool(( variable
[5] /*m*/==NIT_NULL
) || VAL_ISA( variable
[5] /*m*/, COLOR_MMSrcModule
, ID_MMSrcModule
)) /*cast MMSrcModule*/;
1337 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);}
1338 CALL_compiling_global___MMSrcModule___compile_local_table_to_c( variable
[5] /*m*/)( variable
[5] /*m*/, variable
[1] /*v*/) /*MMSrcModule::compile_local_table_to_c*/;
1339 continue_37
: while(0);
1340 CALL_abstract_collection___Iterator___next(variable
[3])(variable
[3]) /*Iterator::next*/;
1343 /* Register variable[3]: Result */
1344 variable
[3] = CALL_abstractmetamodel___MMModule___local_classes(variable
[0])(variable
[0]) /*MMModule::local_classes*/;
1345 /* Register variable[3]: For iterator */
1346 variable
[3] = CALL_abstract_collection___Collection___iterator(variable
[3])(variable
[3]) /*AbstractArrayRead::iterator*/;
1347 while (true) { /*for*/
1348 /* Register variable[4]: For 'is_ok' result */
1349 variable
[4] = CALL_abstract_collection___Iterator___is_ok(variable
[3])(variable
[3]) /*ArrayIterator::is_ok*/;
1350 if (!UNTAG_Bool(variable
[4])) break; /*for*/
1351 variable
[4] = CALL_abstract_collection___Iterator___item(variable
[3])(variable
[3]) /*ArrayIterator::item*/ /* Ensure var: For item*/;
1352 /* Register variable[5]: Local variable */
1353 variable
[5] = variable
[4];
1354 CALL_compiling_global___MMLocalClass___compile_tables_to_c( variable
[5] /*c*/)( variable
[5] /*c*/, variable
[1] /*v*/) /*MMLocalClass::compile_tables_to_c*/;
1355 continue_38
: while(0);
1356 CALL_abstract_collection___Iterator___next(variable
[3])(variable
[3]) /*ArrayIterator::next*/;
1359 /* Register variable[3]: Local variable */
1360 /* Register variable[4]: Once String constant */
1361 if (once_value_39
!= NIT_NULL
) variable
[4] = once_value_39
;
1363 variable
[4] = NEW_String_string___String___with_native(BOX_NativeString("classtable_t TAG2VFT[4] = {NULL"), TAG_Int(31)) /*new String*/;
1364 once_value_39
= variable
[4];
1366 /* Register variable[4]: Result */
1367 /* Register variable[4]: Result */
1368 variable
[4] = NEW_Buffer_string___Buffer___from(variable
[4]) /*new Buffer*/;
1369 variable
[3] = variable
[4];
1370 variable
[4] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Literal array*/;
1371 /* Register variable[5]: Once String constant */
1372 if (once_value_41
!= NIT_NULL
) variable
[5] = once_value_41
;
1374 variable
[5] = NEW_String_string___String___with_native(BOX_NativeString("Int"), TAG_Int(3)) /*new String*/;
1375 once_value_41
= variable
[5];
1377 /* Register variable[5]: Result */
1378 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], variable
[5]) /*AbstractArray::add*/;
1379 /* Register variable[6]: Once String constant */
1380 if (once_value_42
!= NIT_NULL
) variable
[6] = once_value_42
;
1382 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString("Char"), TAG_Int(4)) /*new String*/;
1383 once_value_42
= variable
[6];
1385 /* Register variable[6]: Result */
1386 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], variable
[6]) /*AbstractArray::add*/;
1387 /* Register variable[7]: Once String constant */
1388 if (once_value_43
!= NIT_NULL
) variable
[7] = once_value_43
;
1390 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString("Bool"), TAG_Int(4)) /*new String*/;
1391 once_value_43
= variable
[7];
1393 /* Register variable[7]: Result */
1394 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], variable
[7]) /*AbstractArray::add*/;
1395 /* Register variable[4]: Result */
1396 /* Register variable[4]: For iterator */
1397 variable
[4] = CALL_abstract_collection___Collection___iterator(variable
[4])(variable
[4]) /*AbstractArrayRead::iterator*/;
1398 while (true) { /*for*/
1399 /* Register variable[5]: For 'is_ok' result */
1400 variable
[5] = CALL_abstract_collection___Iterator___is_ok(variable
[4])(variable
[4]) /*ArrayIterator::is_ok*/;
1401 if (!UNTAG_Bool(variable
[5])) break; /*for*/
1402 variable
[5] = CALL_abstract_collection___Iterator___item(variable
[4])(variable
[4]) /*ArrayIterator::item*/ /* Ensure var: For item*/;
1403 /* Register variable[6]: Local variable */
1404 variable
[6] = variable
[5];
1405 /* Register variable[7]: Result */
1406 variable
[7] = CALL_symbol___String___to_symbol( variable
[6] /*t*/)( variable
[6] /*t*/) /*String::to_symbol*/;
1407 /* Register variable[7]: Result */
1408 variable
[7] = CALL_abstractmetamodel___MMModule___has_global_class_named(variable
[0])(variable
[0], variable
[7]) /*MMModule::has_global_class_named*/;
1409 if (UNTAG_Bool(variable
[7])) { /*if*/
1410 variable
[7] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
1411 /* Register variable[8]: Once String constant */
1412 if (once_value_44
!= NIT_NULL
) variable
[8] = once_value_44
;
1414 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString(", (const classtable_t)VFT_"), TAG_Int(26)) /*new String*/;
1415 once_value_44
= variable
[8];
1417 /* Register variable[8]: Result */
1418 /* Ensure var variable[8]: super-string element*/
1419 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[8]) /*AbstractArray::add*/;
1420 variable
[8] = variable
[6] /*t*/ /* Ensure var: super-string element*/;
1421 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[8]) /*AbstractArray::add*/;
1422 /* Register variable[8]: Once String constant */
1423 if (once_value_45
!= NIT_NULL
) variable
[8] = once_value_45
;
1425 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
1426 once_value_45
= variable
[8];
1428 /* Register variable[8]: Result */
1429 /* Ensure var variable[8]: super-string element*/
1430 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[8]) /*AbstractArray::add*/;
1431 /* Register variable[7]: Result */
1432 variable
[7] = CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/;
1433 CALL_abstract_collection___IndexedCollection___append( variable
[3] /*s*/)( variable
[3] /*s*/, variable
[7]) /*Buffer::append*/;
1435 /* Register variable[7]: Once String constant */
1436 if (once_value_46
!= NIT_NULL
) variable
[7] = once_value_46
;
1438 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString(", NULL"), TAG_Int(6)) /*new String*/;
1439 once_value_46
= variable
[7];
1441 /* Register variable[7]: Result */
1442 CALL_abstract_collection___IndexedCollection___append( variable
[3] /*s*/)( variable
[3] /*s*/, variable
[7]) /*Buffer::append*/;
1444 continue_40
: while(0);
1445 CALL_abstract_collection___Iterator___next(variable
[4])(variable
[4]) /*ArrayIterator::next*/;
1448 /* Register variable[4]: Once String constant */
1449 if (once_value_47
!= NIT_NULL
) variable
[4] = once_value_47
;
1451 variable
[4] = NEW_String_string___String___with_native(BOX_NativeString("};"), TAG_Int(2)) /*new String*/;
1452 once_value_47
= variable
[4];
1454 /* Register variable[4]: Result */
1455 CALL_abstract_collection___IndexedCollection___append( variable
[3] /*s*/)( variable
[3] /*s*/, variable
[4]) /*Buffer::append*/;
1456 /* Register variable[4]: Result */
1457 variable
[4] = CALL_string___Object___to_s( variable
[3] /*s*/)( variable
[3] /*s*/) /*Buffer::to_s*/;
1458 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[4]) /*CompilerVisitor::add_instr*/;
1459 return_label36
: while(false);
1460 tracehead
= trace
.prev
;
1463 void compiling_global___MMSrcModule___declare_class_tables_to_c(val_t self
, val_t param0
) {
1464 struct trace_t trace
= {NULL
, NULL
, 436, LOCATE_compiling_global___MMSrcModule___declare_class_tables_to_c
};
1466 struct WBT_
**closurevariable
= NULL
;
1467 trace
.prev
= tracehead
; tracehead
= &trace
;
1468 trace
.file
= LOCATE_compiling_global
;
1469 /* Register variable[0]: Local variable */
1471 /* Register variable[1]: Local variable */
1472 variable
[1] = param0
;
1473 /* Register variable[2]: Method return value and escape marker */
1474 /* Register variable[3]: Result */
1475 variable
[3] = CALL_abstractmetamodel___MMModule___local_classes(variable
[0])(variable
[0]) /*MMModule::local_classes*/;
1476 /* Register variable[3]: For iterator */
1477 variable
[3] = CALL_abstract_collection___Collection___iterator(variable
[3])(variable
[3]) /*AbstractArrayRead::iterator*/;
1478 while (true) { /*for*/
1479 /* Register variable[4]: For 'is_ok' result */
1480 variable
[4] = CALL_abstract_collection___Iterator___is_ok(variable
[3])(variable
[3]) /*ArrayIterator::is_ok*/;
1481 if (!UNTAG_Bool(variable
[4])) break; /*for*/
1482 variable
[4] = CALL_abstract_collection___Iterator___item(variable
[3])(variable
[3]) /*ArrayIterator::item*/ /* Ensure var: For item*/;
1483 /* Register variable[5]: Local variable */
1484 variable
[5] = variable
[4];
1485 /* Register variable[6]: Result */
1486 variable
[6] = CALL_abstractmetamodel___MMLocalClass___global( variable
[5] /*c*/)( variable
[5] /*c*/) /*MMLocalClass::global*/;
1487 /* Register variable[6]: Result */
1488 variable
[6] = CALL_abstractmetamodel___MMGlobalClass___module(variable
[6])(variable
[6]) /*MMGlobalClass::module*/;
1489 /* Register variable[6]: Result */
1490 variable
[6] = TAG_Bool((variable
[6] == variable
[0]) || ((variable
[6] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[6])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[6],variable
[0])):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[6])(variable
[6], variable
[0]) /*Object::==*/)))));
1491 if (UNTAG_Bool(variable
[6])) { /*if*/
1492 CALL_compiling_global___MMLocalClass___declare_tables_to_c( variable
[5] /*c*/)( variable
[5] /*c*/, variable
[1] /*v*/) /*MMLocalClass::declare_tables_to_c*/;
1494 continue_49
: while(0);
1495 CALL_abstract_collection___Iterator___next(variable
[3])(variable
[3]) /*ArrayIterator::next*/;
1498 return_label48
: while(false);
1499 tracehead
= trace
.prev
;
1502 void compiling_global___MMSrcModule___compile_main_part(val_t self
, val_t param0
) {
1503 struct trace_t trace
= {NULL
, NULL
, 446, LOCATE_compiling_global___MMSrcModule___compile_main_part
};
1504 static val_t once_value_51
= NIT_NULL
; /* Once value for string variable[3]*/
1505 static val_t once_value_52
= NIT_NULL
; /* Once value for string variable[3]*/
1506 static val_t once_value_53
= NIT_NULL
; /* Once value for string variable[3]*/
1507 static val_t once_value_54
; static int once_bool_54
; /* Once value for variable[4]*/
1508 static val_t once_value_55
= NIT_NULL
; /* Once value for string variable[4]*/
1509 static val_t once_value_56
= NIT_NULL
; /* Once value for string variable[4]*/
1510 static val_t once_value_57
; static int once_bool_57
; /* Once value for variable[6]*/
1511 static val_t once_value_58
= NIT_NULL
; /* Once value for string variable[6]*/
1512 static val_t once_value_59
= NIT_NULL
; /* Once value for string variable[6]*/
1513 static val_t once_value_60
= NIT_NULL
; /* Once value for string variable[6]*/
1514 static val_t once_value_61
= NIT_NULL
; /* Once value for string variable[7]*/
1515 static val_t once_value_62
= NIT_NULL
; /* Once value for string variable[7]*/
1516 static val_t once_value_63
= NIT_NULL
; /* Once value for string variable[4]*/
1517 static val_t once_value_64
= NIT_NULL
; /* Once value for string variable[4]*/
1519 struct WBT_
**closurevariable
= NULL
;
1520 trace
.prev
= tracehead
; tracehead
= &trace
;
1521 trace
.file
= LOCATE_compiling_global
;
1522 /* Register variable[0]: Local variable */
1524 /* Register variable[1]: Local variable */
1525 variable
[1] = param0
;
1526 /* Register variable[2]: Method return value and escape marker */
1527 /* Register variable[3]: Once String constant */
1528 if (once_value_51
!= NIT_NULL
) variable
[3] = once_value_51
;
1530 variable
[3] = NEW_String_string___String___with_native(BOX_NativeString("int main(int argc, char **argv) {"), TAG_Int(33)) /*new String*/;
1531 once_value_51
= variable
[3];
1533 /* Register variable[3]: Result */
1534 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[3]) /*CompilerVisitor::add_instr*/;
1535 CALL_compiling_base___CompilerVisitor___indent( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::indent*/;
1536 /* Register variable[3]: Once String constant */
1537 if (once_value_52
!= NIT_NULL
) variable
[3] = once_value_52
;
1539 variable
[3] = NEW_String_string___String___with_native(BOX_NativeString("prepare_signals();"), TAG_Int(18)) /*new String*/;
1540 once_value_52
= variable
[3];
1542 /* Register variable[3]: Result */
1543 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[3]) /*CompilerVisitor::add_instr*/;
1544 /* Register variable[3]: Once String constant */
1545 if (once_value_53
!= NIT_NULL
) variable
[3] = once_value_53
;
1547 variable
[3] = NEW_String_string___String___with_native(BOX_NativeString("glob_argc = argc; glob_argv = argv;"), TAG_Int(35)) /*new String*/;
1548 once_value_53
= variable
[3];
1550 /* Register variable[3]: Result */
1551 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[3]) /*CompilerVisitor::add_instr*/;
1552 /* Register variable[3]: Local variable */
1553 /* Register variable[4]: Once expression result */
1554 if (once_bool_54
) variable
[4] = once_value_54
;
1556 /* Register variable[4]: Once String constant */
1557 if (once_value_55
!= NIT_NULL
) variable
[4] = once_value_55
;
1559 variable
[4] = NEW_String_string___String___with_native(BOX_NativeString("Sys"), TAG_Int(3)) /*new String*/;
1560 once_value_55
= variable
[4];
1562 /* Register variable[4]: Result */
1563 /* Register variable[4]: Result */
1564 variable
[4] = CALL_symbol___String___to_symbol(variable
[4])(variable
[4]) /*String::to_symbol*/;
1565 once_value_54
= variable
[4];
1566 once_bool_54
= true;
1568 /* Register variable[4]: Result */
1569 variable
[3] = variable
[4];
1570 /* Register variable[4]: Result */
1571 variable
[4] = CALL_abstractmetamodel___MMModule___has_global_class_named(variable
[0])(variable
[0], variable
[3] /*sysname*/) /*MMModule::has_global_class_named*/;
1572 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable
[4])))) { /*if*/
1573 /* Register variable[4]: Once String constant */
1574 if (once_value_56
!= NIT_NULL
) variable
[4] = once_value_56
;
1576 variable
[4] = NEW_String_string___String___with_native(BOX_NativeString("No main"), TAG_Int(7)) /*new String*/;
1577 once_value_56
= variable
[4];
1579 /* Register variable[4]: Result */
1580 CALL_file___Object___print(variable
[0])(variable
[0], variable
[4]) /*Object::print*/;
1582 /* Register variable[4]: Local variable */
1583 /* Register variable[5]: Result */
1584 variable
[5] = CALL_abstractmetamodel___MMModule___class_by_name(variable
[0])(variable
[0], variable
[3] /*sysname*/) /*MMModule::class_by_name*/;
1585 variable
[4] = variable
[5];
1586 /* Register variable[5]: Local variable */
1587 /* Register variable[6]: Once expression result */
1588 if (once_bool_57
) variable
[6] = once_value_57
;
1590 /* Register variable[6]: Once String constant */
1591 if (once_value_58
!= NIT_NULL
) variable
[6] = once_value_58
;
1593 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString("main"), TAG_Int(4)) /*new String*/;
1594 once_value_58
= variable
[6];
1596 /* Register variable[6]: Result */
1597 /* Register variable[6]: Result */
1598 variable
[6] = CALL_symbol___String___to_symbol(variable
[6])(variable
[6]) /*String::to_symbol*/;
1599 once_value_57
= variable
[6];
1600 once_bool_57
= true;
1602 /* Register variable[6]: Result */
1603 /* Register variable[6]: Result */
1604 variable
[6] = CALL_abstractmetamodel___MMLocalClass___select_method( variable
[4] /*sys*/)( variable
[4] /*sys*/, variable
[6]) /*MMLocalClass::select_method*/;
1605 variable
[5] = variable
[6];
1606 /* Register variable[6]: Result */
1607 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::==*/)))));
1608 if (UNTAG_Bool(variable
[6])) { /*if*/
1609 /* Register variable[6]: Once String constant */
1610 if (once_value_59
!= NIT_NULL
) variable
[6] = once_value_59
;
1612 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString("No main"), TAG_Int(7)) /*new String*/;
1613 once_value_59
= variable
[6];
1615 /* Register variable[6]: Result */
1616 CALL_file___Object___print(variable
[0])(variable
[0], variable
[6]) /*Object::print*/;
1618 /* Register variable[6]: Once String constant */
1619 if (once_value_60
!= NIT_NULL
) variable
[6] = once_value_60
;
1621 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString("G_sys = NEW_Sys();"), TAG_Int(18)) /*new String*/;
1622 once_value_60
= variable
[6];
1624 /* Register variable[6]: Result */
1625 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[6]) /*CompilerVisitor::add_instr*/;
1626 variable
[6] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
1627 /* Register variable[7]: Once String constant */
1628 if (once_value_61
!= NIT_NULL
) variable
[7] = once_value_61
;
1630 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
1631 once_value_61
= variable
[7];
1633 /* Register variable[7]: Result */
1634 /* Ensure var variable[7]: super-string element*/
1635 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
1636 /* Register variable[7]: Result */
1637 variable
[7] = CALL_compiling_base___MMLocalProperty___cname( variable
[5] /*mainm*/)( variable
[5] /*mainm*/) /*MMLocalProperty::cname*/;
1638 /* Ensure var variable[7]: super-string element*/
1639 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
1640 /* Register variable[7]: Once String constant */
1641 if (once_value_62
!= NIT_NULL
) variable
[7] = once_value_62
;
1643 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString("(G_sys);"), TAG_Int(8)) /*new String*/;
1644 once_value_62
= variable
[7];
1646 /* Register variable[7]: Result */
1647 /* Ensure var variable[7]: super-string element*/
1648 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
1649 /* Register variable[6]: Result */
1650 variable
[6] = CALL_string___Object___to_s(variable
[6])(variable
[6]) /*Object::to_s*/;
1651 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[6]) /*CompilerVisitor::add_instr*/;
1654 /* Register variable[4]: Once String constant */
1655 if (once_value_63
!= NIT_NULL
) variable
[4] = once_value_63
;
1657 variable
[4] = NEW_String_string___String___with_native(BOX_NativeString("return 0;"), TAG_Int(9)) /*new String*/;
1658 once_value_63
= variable
[4];
1660 /* Register variable[4]: Result */
1661 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[4]) /*CompilerVisitor::add_instr*/;
1662 CALL_compiling_base___CompilerVisitor___unindent( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::unindent*/;
1663 /* Register variable[4]: Once String constant */
1664 if (once_value_64
!= NIT_NULL
) variable
[4] = once_value_64
;
1666 variable
[4] = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)) /*new String*/;
1667 once_value_64
= variable
[4];
1669 /* Register variable[4]: Result */
1670 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[4]) /*CompilerVisitor::add_instr*/;
1671 return_label50
: while(false);
1672 tracehead
= trace
.prev
;
1675 void compiling_global___MMSrcModule___compile_mod_to_c(val_t self
, val_t param0
) {
1676 struct trace_t trace
= {NULL
, NULL
, 473, LOCATE_compiling_global___MMSrcModule___compile_mod_to_c
};
1677 static val_t once_value_66
= NIT_NULL
; /* Once value for string variable[4]*/
1678 static val_t once_value_67
= NIT_NULL
; /* Once value for string variable[4]*/
1679 static val_t once_value_68
= NIT_NULL
; /* Once value for string variable[4]*/
1680 static val_t once_value_69
= NIT_NULL
; /* Once value for string variable[4]*/
1681 static val_t once_value_71
= NIT_NULL
; /* Once value for string variable[9]*/
1682 static val_t once_value_72
= NIT_NULL
; /* Once value for string variable[9]*/
1683 static val_t once_value_73
= NIT_NULL
; /* Once value for string variable[9]*/
1684 static val_t once_value_74
= NIT_NULL
; /* Once value for string variable[9]*/
1685 static val_t once_value_75
= NIT_NULL
; /* Once value for string variable[9]*/
1686 static val_t once_value_79
= NIT_NULL
; /* Once value for string variable[16]*/
1687 static val_t once_value_80
= NIT_NULL
; /* Once value for string variable[16]*/
1688 static val_t once_value_81
= NIT_NULL
; /* Once value for string variable[13]*/
1689 static val_t once_value_82
= NIT_NULL
; /* Once value for string variable[13]*/
1690 static val_t once_value_83
= NIT_NULL
; /* Once value for string variable[13]*/
1691 static val_t once_value_84
= NIT_NULL
; /* Once value for string variable[13]*/
1692 static val_t once_value_85
= NIT_NULL
; /* Once value for string variable[13]*/
1694 struct WBT_
**closurevariable
= NULL
;
1695 trace
.prev
= tracehead
; tracehead
= &trace
;
1696 trace
.file
= LOCATE_compiling_global
;
1697 /* Register variable[0]: Local variable */
1699 /* Register variable[1]: Local variable */
1700 variable
[1] = param0
;
1701 /* Register variable[2]: Method return value and escape marker */
1702 variable
[3] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
1703 /* Register variable[4]: Once String constant */
1704 if (once_value_66
!= NIT_NULL
) variable
[4] = once_value_66
;
1706 variable
[4] = NEW_String_string___String___with_native(BOX_NativeString("extern const char *LOCATE_"), TAG_Int(26)) /*new String*/;
1707 once_value_66
= variable
[4];
1709 /* Register variable[4]: Result */
1710 /* Ensure var variable[4]: super-string element*/
1711 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[4]) /*AbstractArray::add*/;
1712 /* Register variable[4]: Result */
1713 variable
[4] = CALL_abstractmetamodel___MMModule___name(variable
[0])(variable
[0]) /*MMModule::name*/;
1714 /* Ensure var variable[4]: super-string element*/
1715 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], CALL_string___Object___to_s(variable
[4])(variable
[4]) /*Object::to_s*/) /*AbstractArray::add*/;
1716 /* Register variable[4]: Once String constant */
1717 if (once_value_67
!= NIT_NULL
) variable
[4] = once_value_67
;
1719 variable
[4] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
1720 once_value_67
= variable
[4];
1722 /* Register variable[4]: Result */
1723 /* Ensure var variable[4]: super-string element*/
1724 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[4]) /*AbstractArray::add*/;
1725 /* Register variable[3]: Result */
1726 variable
[3] = CALL_string___Object___to_s(variable
[3])(variable
[3]) /*Object::to_s*/;
1727 CALL_compiling_base___CompilerVisitor___add_decl( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[3]) /*CompilerVisitor::add_decl*/;
1728 /* Register variable[3]: Result */
1729 variable
[3] = CALL_compiling_base___CompilerVisitor___tc( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::tc*/;
1730 /* Register variable[3]: Result */
1731 variable
[3] = CALL_compiling_base___ToolContext___global(variable
[3])(variable
[3]) /*ToolContext::global*/;
1732 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable
[3])))) { /*if*/
1733 variable
[3] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
1734 /* Register variable[4]: Once String constant */
1735 if (once_value_68
!= NIT_NULL
) variable
[4] = once_value_68
;
1737 variable
[4] = NEW_String_string___String___with_native(BOX_NativeString("extern const int SFT_"), TAG_Int(21)) /*new String*/;
1738 once_value_68
= variable
[4];
1740 /* Register variable[4]: Result */
1741 /* Ensure var variable[4]: super-string element*/
1742 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[4]) /*AbstractArray::add*/;
1743 /* Register variable[4]: Result */
1744 variable
[4] = CALL_abstractmetamodel___MMModule___name(variable
[0])(variable
[0]) /*MMModule::name*/;
1745 /* Ensure var variable[4]: super-string element*/
1746 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], CALL_string___Object___to_s(variable
[4])(variable
[4]) /*Object::to_s*/) /*AbstractArray::add*/;
1747 /* Register variable[4]: Once String constant */
1748 if (once_value_69
!= NIT_NULL
) variable
[4] = once_value_69
;
1750 variable
[4] = NEW_String_string___String___with_native(BOX_NativeString("[];"), TAG_Int(3)) /*new String*/;
1751 once_value_69
= variable
[4];
1753 /* Register variable[4]: Result */
1754 /* Ensure var variable[4]: super-string element*/
1755 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[4]) /*AbstractArray::add*/;
1756 /* Register variable[3]: Result */
1757 variable
[3] = CALL_string___Object___to_s(variable
[3])(variable
[3]) /*Object::to_s*/;
1758 CALL_compiling_base___CompilerVisitor___add_decl( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[3]) /*CompilerVisitor::add_decl*/;
1760 /* Register variable[3]: Local variable */
1761 variable
[3] = TAG_Int(0);
1762 /* Register variable[4]: Result */
1763 variable
[4] = ATTR_compiling_global___MMSrcModule____local_table(variable
[0]) /*MMSrcModule::_local_table*/;
1764 /* Register variable[4]: For iterator */
1765 variable
[4] = CALL_abstract_collection___Collection___iterator(variable
[4])(variable
[4]) /*AbstractArrayRead::iterator*/;
1766 while (true) { /*for*/
1767 /* Register variable[5]: For 'is_ok' result */
1768 variable
[5] = CALL_abstract_collection___Iterator___is_ok(variable
[4])(variable
[4]) /*ArrayIterator::is_ok*/;
1769 if (!UNTAG_Bool(variable
[5])) break; /*for*/
1770 variable
[5] = CALL_abstract_collection___Iterator___item(variable
[4])(variable
[4]) /*ArrayIterator::item*/ /* Ensure var: For item*/;
1771 /* Register variable[6]: Local variable */
1772 variable
[6] = variable
[5];
1773 /* Register variable[7]: Local variable */
1774 /*variable[7] is variable value*/
1775 /* Register variable[8]: Result */
1776 variable
[8] = CALL_compiling_base___CompilerVisitor___tc( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::tc*/;
1777 /* Register variable[8]: Result */
1778 variable
[8] = CALL_compiling_base___ToolContext___global(variable
[8])(variable
[8]) /*ToolContext::global*/;
1779 if (UNTAG_Bool(variable
[8])) { /*if*/
1780 variable
[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
1781 /* Register variable[9]: Once String constant */
1782 if (once_value_71
!= NIT_NULL
) variable
[9] = once_value_71
;
1784 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
1785 once_value_71
= variable
[9];
1787 /* Register variable[9]: Result */
1788 /* Ensure var variable[9]: super-string element*/
1789 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
1790 /* Register variable[9]: Result */
1791 variable
[9] = CALL_compiling_global___GlobalCompilerVisitor___global_analysis( variable
[1] /*v*/)( variable
[1] /*v*/) /*GlobalCompilerVisitor::global_analysis*/;
1792 /* Register variable[9]: Result */
1793 variable
[9] = CALL_compiling_global___ModuleTableElt___value( variable
[6] /*e*/)( variable
[6] /*e*/, variable
[9]) /*ModuleTableElt::value*/;
1794 /* Ensure var variable[9]: super-string element*/
1795 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
1796 /* Register variable[9]: Once String constant */
1797 if (once_value_72
!= NIT_NULL
) variable
[9] = once_value_72
;
1799 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
1800 once_value_72
= variable
[9];
1802 /* Register variable[9]: Result */
1803 /* Ensure var variable[9]: super-string element*/
1804 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
1805 /* Register variable[8]: Result */
1806 variable
[8] = CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/;
1807 variable
[7] = variable
[8] /*value=*/;
1809 variable
[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
1810 /* Register variable[9]: Once String constant */
1811 if (once_value_73
!= NIT_NULL
) variable
[9] = once_value_73
;
1813 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("SFT_"), TAG_Int(4)) /*new String*/;
1814 once_value_73
= variable
[9];
1816 /* Register variable[9]: Result */
1817 /* Ensure var variable[9]: super-string element*/
1818 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
1819 /* Register variable[9]: Result */
1820 variable
[9] = CALL_abstractmetamodel___MMModule___name(variable
[0])(variable
[0]) /*MMModule::name*/;
1821 /* Ensure var variable[9]: super-string element*/
1822 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/) /*AbstractArray::add*/;
1823 /* Register variable[9]: Once String constant */
1824 if (once_value_74
!= NIT_NULL
) variable
[9] = once_value_74
;
1826 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("["), TAG_Int(1)) /*new String*/;
1827 once_value_74
= variable
[9];
1829 /* Register variable[9]: Result */
1830 /* Ensure var variable[9]: super-string element*/
1831 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
1832 variable
[9] = variable
[3] /*i*/ /* Ensure var: super-string element*/;
1833 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/) /*AbstractArray::add*/;
1834 /* Register variable[9]: Once String constant */
1835 if (once_value_75
!= NIT_NULL
) variable
[9] = once_value_75
;
1837 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("]"), TAG_Int(1)) /*new String*/;
1838 once_value_75
= variable
[9];
1840 /* Register variable[9]: Result */
1841 /* Ensure var variable[9]: super-string element*/
1842 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
1843 /* Register variable[8]: Result */
1844 variable
[8] = CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/;
1845 variable
[7] = variable
[8] /*value=*/;
1846 /* Register variable[8]: Result */
1847 variable
[8] = TAG_Int(UNTAG_Int( variable
[3] /*i*/)+UNTAG_Int( TAG_Int(1)));
1848 variable
[3] = variable
[8] /*i=*/;
1850 CALL_compiling_global___AbsTableElt___compile_macros( variable
[6] /*e*/)( variable
[6] /*e*/, variable
[1] /*v*/, variable
[7] /*value*/) /*AbsTableElt::compile_macros*/;
1851 continue_70
: while(0);
1852 CALL_abstract_collection___Iterator___next(variable
[4])(variable
[4]) /*ArrayIterator::next*/;
1855 /* Register variable[4]: Result */
1856 variable
[4] = CALL_syntax_base___MMSrcModule___src_local_classes(variable
[0])(variable
[0]) /*MMSrcModule::src_local_classes*/;
1857 /* Register variable[4]: For iterator */
1858 variable
[4] = CALL_abstract_collection___Collection___iterator(variable
[4])(variable
[4]) /*MapRead::iterator*/;
1859 while (true) { /*for*/
1860 /* Register variable[5]: For 'is_ok' result */
1861 variable
[5] = CALL_abstract_collection___Iterator___is_ok(variable
[4])(variable
[4]) /*Iterator::is_ok*/;
1862 if (!UNTAG_Bool(variable
[5])) break; /*for*/
1863 variable
[5] = CALL_abstract_collection___Iterator___item(variable
[4])(variable
[4]) /*Iterator::item*/ /* Ensure var: For item*/;
1864 /* Register variable[6]: Local variable */
1865 variable
[6] = variable
[5];
1866 /* Register variable[7]: Result */
1867 variable
[7] = CALL_abstractmetamodel___MMLocalClass___global_properties( variable
[6] /*c*/)( variable
[6] /*c*/) /*MMLocalClass::global_properties*/;
1868 /* Register variable[7]: For iterator */
1869 variable
[7] = CALL_abstract_collection___Collection___iterator(variable
[7])(variable
[7]) /*Collection::iterator*/;
1870 while (true) { /*for*/
1871 /* Register variable[8]: For 'is_ok' result */
1872 variable
[8] = CALL_abstract_collection___Iterator___is_ok(variable
[7])(variable
[7]) /*Iterator::is_ok*/;
1873 if (!UNTAG_Bool(variable
[8])) break; /*for*/
1874 variable
[8] = CALL_abstract_collection___Iterator___item(variable
[7])(variable
[7]) /*Iterator::item*/ /* Ensure var: For item*/;
1875 /* Register variable[9]: Local variable */
1876 variable
[9] = variable
[8];
1877 /* Register variable[10]: Local variable */
1878 /* Register variable[11]: Result */
1879 variable
[11] = CALL_abstractmetamodel___MMLocalClass_____bra( variable
[6] /*c*/)( variable
[6] /*c*/, variable
[9] /*pg*/) /*MMLocalClass::[]*/;
1880 variable
[10] = variable
[11];
1881 /* Register variable[11]: Result */
1882 variable
[11] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[10] /*p*/)( variable
[10] /*p*/) /*MMLocalProperty::local_class*/;
1883 /* Register variable[11]: Result */
1884 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::==*/)))));
1885 if (UNTAG_Bool(variable
[11])) { /*if*/
1886 CALL_compiling_methods___MMLocalProperty___compile_property_to_c( variable
[10] /*p*/)( variable
[10] /*p*/, variable
[1] /*v*/) /*MMLocalProperty::compile_property_to_c*/;
1888 /* Register variable[11]: Result */
1889 variable
[11] = CALL_abstractmetamodel___MMGlobalProperty___is_init_for( variable
[9] /*pg*/)( variable
[9] /*pg*/, variable
[6] /*c*/) /*MMGlobalProperty::is_init_for*/;
1890 if (UNTAG_Bool(variable
[11])) { /*if*/
1891 /* Register variable[11]: Local variable */
1892 /* Register variable[12]: Result */
1893 variable
[12] = NEW_Array_array___Array___init() /*new Array[String]*/;
1894 variable
[11] = variable
[12];
1895 /* Register variable[12]: Result */
1896 variable
[12] = CALL_static_type___MMLocalProperty___signature( variable
[10] /*p*/)( variable
[10] /*p*/) /*MMLocalProperty::signature*/;
1897 /* Register variable[12]: Result */
1898 variable
[12] = CALL_static_type___MMSignature___arity(variable
[12])(variable
[12]) /*MMSignature::arity*/;
1899 /* Register variable[12]: Result */
1900 variable
[12] = NEW_Range_range___Range___without_last( TAG_Int(0), variable
[12]) /*new Range[Int]*/;
1901 /* Register variable[12]: For iterator */
1902 variable
[12] = CALL_abstract_collection___Collection___iterator(variable
[12])(variable
[12]) /*Range::iterator*/;
1903 while (true) { /*for*/
1904 /* Register variable[13]: For 'is_ok' result */
1905 variable
[13] = CALL_abstract_collection___Iterator___is_ok(variable
[12])(variable
[12]) /*Iterator::is_ok*/;
1906 if (!UNTAG_Bool(variable
[13])) break; /*for*/
1907 variable
[13] = CALL_abstract_collection___Iterator___item(variable
[12])(variable
[12]) /*Iterator::item*/ /* Ensure var: For item*/;
1908 /* Register variable[14]: Local variable */
1909 variable
[14] = variable
[13];
1910 variable
[15] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
1911 /* Register variable[16]: Once String constant */
1912 if (once_value_79
!= NIT_NULL
) variable
[16] = once_value_79
;
1914 variable
[16] = NEW_String_string___String___with_native(BOX_NativeString("val_t p"), TAG_Int(7)) /*new String*/;
1915 once_value_79
= variable
[16];
1917 /* Register variable[16]: Result */
1918 /* Ensure var variable[16]: super-string element*/
1919 CALL_abstract_collection___SimpleCollection___add(variable
[15])(variable
[15], variable
[16]) /*AbstractArray::add*/;
1920 variable
[16] = variable
[14] /*i*/ /* Ensure var: super-string element*/;
1921 CALL_abstract_collection___SimpleCollection___add(variable
[15])(variable
[15], CALL_string___Object___to_s(variable
[16])(variable
[16]) /*Object::to_s*/) /*AbstractArray::add*/;
1922 /* Register variable[16]: Once String constant */
1923 if (once_value_80
!= NIT_NULL
) variable
[16] = once_value_80
;
1925 variable
[16] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
1926 once_value_80
= variable
[16];
1928 /* Register variable[16]: Result */
1929 /* Ensure var variable[16]: super-string element*/
1930 CALL_abstract_collection___SimpleCollection___add(variable
[15])(variable
[15], variable
[16]) /*AbstractArray::add*/;
1931 /* Register variable[15]: Result */
1932 variable
[15] = CALL_string___Object___to_s(variable
[15])(variable
[15]) /*Object::to_s*/;
1933 CALL_abstract_collection___SimpleCollection___add( variable
[11] /*params*/)( variable
[11] /*params*/, variable
[15]) /*AbstractArray::add*/;
1934 continue_78
: while(0);
1935 CALL_abstract_collection___Iterator___next(variable
[12])(variable
[12]) /*Iterator::next*/;
1938 variable
[12] = NEW_Array_array___Array___with_capacity(TAG_Int(7)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
1939 /* Register variable[13]: Once String constant */
1940 if (once_value_81
!= NIT_NULL
) variable
[13] = once_value_81
;
1942 variable
[13] = NEW_String_string___String___with_native(BOX_NativeString("val_t NEW_"), TAG_Int(10)) /*new String*/;
1943 once_value_81
= variable
[13];
1945 /* Register variable[13]: Result */
1946 /* Ensure var variable[13]: super-string element*/
1947 CALL_abstract_collection___SimpleCollection___add(variable
[12])(variable
[12], variable
[13]) /*AbstractArray::add*/;
1948 variable
[13] = variable
[6] /*c*/ /* Ensure var: super-string element*/;
1949 CALL_abstract_collection___SimpleCollection___add(variable
[12])(variable
[12], CALL_string___Object___to_s(variable
[13])(variable
[13]) /*Object::to_s*/) /*AbstractArray::add*/;
1950 /* Register variable[13]: Once String constant */
1951 if (once_value_82
!= NIT_NULL
) variable
[13] = once_value_82
;
1953 variable
[13] = NEW_String_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)) /*new String*/;
1954 once_value_82
= variable
[13];
1956 /* Register variable[13]: Result */
1957 /* Ensure var variable[13]: super-string element*/
1958 CALL_abstract_collection___SimpleCollection___add(variable
[12])(variable
[12], variable
[13]) /*AbstractArray::add*/;
1959 /* Register variable[13]: Result */
1960 variable
[13] = CALL_abstractmetamodel___MMLocalProperty___global( variable
[10] /*p*/)( variable
[10] /*p*/) /*MMLocalProperty::global*/;
1961 /* Register variable[13]: Result */
1962 variable
[13] = CALL_abstractmetamodel___MMGlobalProperty___intro(variable
[13])(variable
[13]) /*MMGlobalProperty::intro*/;
1963 /* Register variable[13]: Result */
1964 variable
[13] = CALL_compiling_base___MMLocalProperty___cname(variable
[13])(variable
[13]) /*MMLocalProperty::cname*/;
1965 /* Ensure var variable[13]: super-string element*/
1966 CALL_abstract_collection___SimpleCollection___add(variable
[12])(variable
[12], variable
[13]) /*AbstractArray::add*/;
1967 /* Register variable[13]: Once String constant */
1968 if (once_value_83
!= NIT_NULL
) variable
[13] = once_value_83
;
1970 variable
[13] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)) /*new String*/;
1971 once_value_83
= variable
[13];
1973 /* Register variable[13]: Result */
1974 /* Ensure var variable[13]: super-string element*/
1975 CALL_abstract_collection___SimpleCollection___add(variable
[12])(variable
[12], variable
[13]) /*AbstractArray::add*/;
1976 /* Register variable[13]: Once String constant */
1977 if (once_value_84
!= NIT_NULL
) variable
[13] = once_value_84
;
1979 variable
[13] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)) /*new String*/;
1980 once_value_84
= variable
[13];
1982 /* Register variable[13]: Result */
1983 /* Register variable[13]: Result */
1984 variable
[13] = CALL_string___Collection___join( variable
[11] /*params*/)( variable
[11] /*params*/, variable
[13]) /*Collection::join*/;
1985 /* Ensure var variable[13]: super-string element*/
1986 CALL_abstract_collection___SimpleCollection___add(variable
[12])(variable
[12], variable
[13]) /*AbstractArray::add*/;
1987 /* Register variable[13]: Once String constant */
1988 if (once_value_85
!= NIT_NULL
) variable
[13] = once_value_85
;
1990 variable
[13] = NEW_String_string___String___with_native(BOX_NativeString(");"), TAG_Int(2)) /*new String*/;
1991 once_value_85
= variable
[13];
1993 /* Register variable[13]: Result */
1994 /* Ensure var variable[13]: super-string element*/
1995 CALL_abstract_collection___SimpleCollection___add(variable
[12])(variable
[12], variable
[13]) /*AbstractArray::add*/;
1996 /* Register variable[12]: Result */
1997 variable
[12] = CALL_string___Object___to_s(variable
[12])(variable
[12]) /*Object::to_s*/;
1998 CALL_compiling_base___CompilerVisitor___add_decl( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[12]) /*CompilerVisitor::add_decl*/;
2000 continue_77
: while(0);
2001 CALL_abstract_collection___Iterator___next(variable
[7])(variable
[7]) /*Iterator::next*/;
2004 continue_76
: while(0);
2005 CALL_abstract_collection___Iterator___next(variable
[4])(variable
[4]) /*Iterator::next*/;
2008 return_label65
: while(false);
2009 tracehead
= trace
.prev
;
2012 void compiling_global___MMSrcModule___compile_local_table_to_c(val_t self
, val_t param0
) {
2013 struct trace_t trace
= {NULL
, NULL
, 509, LOCATE_compiling_global___MMSrcModule___compile_local_table_to_c
};
2014 static val_t once_value_87
= NIT_NULL
; /* Once value for string variable[4]*/
2015 static val_t once_value_88
= NIT_NULL
; /* Once value for string variable[4]*/
2016 static val_t once_value_89
= NIT_NULL
; /* Once value for string variable[4]*/
2017 static val_t once_value_90
= NIT_NULL
; /* Once value for string variable[4]*/
2018 static val_t once_value_91
= NIT_NULL
; /* Once value for string variable[4]*/
2019 static val_t once_value_92
= NIT_NULL
; /* Once value for string variable[4]*/
2020 static val_t once_value_94
= NIT_NULL
; /* Once value for string variable[7]*/
2021 static val_t once_value_95
= NIT_NULL
; /* Once value for string variable[3]*/
2023 struct WBT_
**closurevariable
= NULL
;
2024 trace
.prev
= tracehead
; tracehead
= &trace
;
2025 trace
.file
= LOCATE_compiling_global
;
2026 /* Register variable[0]: Local variable */
2028 /* Register variable[1]: Local variable */
2029 variable
[1] = param0
;
2030 /* Register variable[2]: Method return value and escape marker */
2031 variable
[3] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
2032 /* Register variable[4]: Once String constant */
2033 if (once_value_87
!= NIT_NULL
) variable
[4] = once_value_87
;
2035 variable
[4] = NEW_String_string___String___with_native(BOX_NativeString("const char *LOCATE_"), TAG_Int(19)) /*new String*/;
2036 once_value_87
= variable
[4];
2038 /* Register variable[4]: Result */
2039 /* Ensure var variable[4]: super-string element*/
2040 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[4]) /*AbstractArray::add*/;
2041 /* Register variable[4]: Result */
2042 variable
[4] = CALL_abstractmetamodel___MMModule___name(variable
[0])(variable
[0]) /*MMModule::name*/;
2043 /* Ensure var variable[4]: super-string element*/
2044 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], CALL_string___Object___to_s(variable
[4])(variable
[4]) /*Object::to_s*/) /*AbstractArray::add*/;
2045 /* Register variable[4]: Once String constant */
2046 if (once_value_88
!= NIT_NULL
) variable
[4] = once_value_88
;
2048 variable
[4] = NEW_String_string___String___with_native(BOX_NativeString(" = \""), TAG_Int(4)) /*new String*/;
2049 once_value_88
= variable
[4];
2051 /* Register variable[4]: Result */
2052 /* Ensure var variable[4]: super-string element*/
2053 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[4]) /*AbstractArray::add*/;
2054 /* Register variable[4]: Result */
2055 variable
[4] = CALL_abstractmetamodel___MMModule___filename(variable
[0])(variable
[0]) /*MMModule::filename*/;
2056 /* Ensure var variable[4]: super-string element*/
2057 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[4]) /*AbstractArray::add*/;
2058 /* Register variable[4]: Once String constant */
2059 if (once_value_89
!= NIT_NULL
) variable
[4] = once_value_89
;
2061 variable
[4] = NEW_String_string___String___with_native(BOX_NativeString("\";"), TAG_Int(2)) /*new String*/;
2062 once_value_89
= variable
[4];
2064 /* Register variable[4]: Result */
2065 /* Ensure var variable[4]: super-string element*/
2066 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[4]) /*AbstractArray::add*/;
2067 /* Register variable[3]: Result */
2068 variable
[3] = CALL_string___Object___to_s(variable
[3])(variable
[3]) /*Object::to_s*/;
2069 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[3]) /*CompilerVisitor::add_instr*/;
2070 /* Register variable[3]: Result */
2071 variable
[3] = CALL_compiling_base___CompilerVisitor___tc( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::tc*/;
2072 /* Register variable[3]: Result */
2073 variable
[3] = CALL_compiling_base___ToolContext___global(variable
[3])(variable
[3]) /*ToolContext::global*/;
2074 /* Ensure var variable[3]: Left 'or' operand*/
2075 if (!UNTAG_Bool(variable
[3])) { /* or */
2076 /* Register variable[3]: Result */
2077 variable
[3] = ATTR_compiling_global___MMSrcModule____local_table(variable
[0]) /*MMSrcModule::_local_table*/;
2078 /* Register variable[3]: Result */
2079 variable
[3] = CALL_abstract_collection___Collection___is_empty(variable
[3])(variable
[3]) /*AbstractArrayRead::is_empty*/;
2081 /* Register variable[3]: Result */
2082 if (UNTAG_Bool(variable
[3])) { /*if*/
2083 goto return_label86
;
2085 variable
[3] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
2086 /* Register variable[4]: Once String constant */
2087 if (once_value_90
!= NIT_NULL
) variable
[4] = once_value_90
;
2089 variable
[4] = NEW_String_string___String___with_native(BOX_NativeString("const int SFT_"), TAG_Int(14)) /*new String*/;
2090 once_value_90
= variable
[4];
2092 /* Register variable[4]: Result */
2093 /* Ensure var variable[4]: super-string element*/
2094 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[4]) /*AbstractArray::add*/;
2095 /* Register variable[4]: Result */
2096 variable
[4] = CALL_abstractmetamodel___MMModule___name(variable
[0])(variable
[0]) /*MMModule::name*/;
2097 /* Ensure var variable[4]: super-string element*/
2098 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], CALL_string___Object___to_s(variable
[4])(variable
[4]) /*Object::to_s*/) /*AbstractArray::add*/;
2099 /* Register variable[4]: Once String constant */
2100 if (once_value_91
!= NIT_NULL
) variable
[4] = once_value_91
;
2102 variable
[4] = NEW_String_string___String___with_native(BOX_NativeString("["), TAG_Int(1)) /*new String*/;
2103 once_value_91
= variable
[4];
2105 /* Register variable[4]: Result */
2106 /* Ensure var variable[4]: super-string element*/
2107 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[4]) /*AbstractArray::add*/;
2108 /* Register variable[4]: Result */
2109 variable
[4] = ATTR_compiling_global___MMSrcModule____local_table(variable
[0]) /*MMSrcModule::_local_table*/;
2110 /* Register variable[4]: Result */
2111 variable
[4] = CALL_abstract_collection___Collection___length(variable
[4])(variable
[4]) /*AbstractArrayRead::length*/;
2112 /* Ensure var variable[4]: super-string element*/
2113 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], CALL_string___Object___to_s(variable
[4])(variable
[4]) /*Object::to_s*/) /*AbstractArray::add*/;
2114 /* Register variable[4]: Once String constant */
2115 if (once_value_92
!= NIT_NULL
) variable
[4] = once_value_92
;
2117 variable
[4] = NEW_String_string___String___with_native(BOX_NativeString("] = {"), TAG_Int(5)) /*new String*/;
2118 once_value_92
= variable
[4];
2120 /* Register variable[4]: Result */
2121 /* Ensure var variable[4]: super-string element*/
2122 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[4]) /*AbstractArray::add*/;
2123 /* Register variable[3]: Result */
2124 variable
[3] = CALL_string___Object___to_s(variable
[3])(variable
[3]) /*Object::to_s*/;
2125 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[3]) /*CompilerVisitor::add_instr*/;
2126 CALL_compiling_base___CompilerVisitor___indent( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::indent*/;
2127 /* Register variable[3]: Result */
2128 variable
[3] = ATTR_compiling_global___MMSrcModule____local_table(variable
[0]) /*MMSrcModule::_local_table*/;
2129 /* Register variable[3]: For iterator */
2130 variable
[3] = CALL_abstract_collection___Collection___iterator(variable
[3])(variable
[3]) /*AbstractArrayRead::iterator*/;
2131 while (true) { /*for*/
2132 /* Register variable[4]: For 'is_ok' result */
2133 variable
[4] = CALL_abstract_collection___Iterator___is_ok(variable
[3])(variable
[3]) /*ArrayIterator::is_ok*/;
2134 if (!UNTAG_Bool(variable
[4])) break; /*for*/
2135 variable
[4] = CALL_abstract_collection___Iterator___item(variable
[3])(variable
[3]) /*ArrayIterator::item*/ /* Ensure var: For item*/;
2136 /* Register variable[5]: Local variable */
2137 variable
[5] = variable
[4];
2138 /* Register variable[6]: Result */
2139 variable
[6] = CALL_compiling_global___GlobalCompilerVisitor___global_analysis( variable
[1] /*v*/)( variable
[1] /*v*/) /*GlobalCompilerVisitor::global_analysis*/;
2140 /* Register variable[6]: Result */
2141 variable
[6] = CALL_compiling_global___ModuleTableElt___value( variable
[5] /*e*/)( variable
[5] /*e*/, variable
[6]) /*ModuleTableElt::value*/;
2142 /* Register variable[7]: Once String constant */
2143 if (once_value_94
!= NIT_NULL
) variable
[7] = once_value_94
;
2145 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString(","), TAG_Int(1)) /*new String*/;
2146 once_value_94
= variable
[7];
2148 /* Register variable[7]: Result */
2149 /* Register variable[6]: Result */
2150 variable
[6] = CALL_string___String_____plus(variable
[6])(variable
[6], variable
[7]) /*String::+*/;
2151 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[6]) /*CompilerVisitor::add_instr*/;
2152 continue_93
: while(0);
2153 CALL_abstract_collection___Iterator___next(variable
[3])(variable
[3]) /*ArrayIterator::next*/;
2156 CALL_compiling_base___CompilerVisitor___unindent( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::unindent*/;
2157 /* Register variable[3]: Once String constant */
2158 if (once_value_95
!= NIT_NULL
) variable
[3] = once_value_95
;
2160 variable
[3] = NEW_String_string___String___with_native(BOX_NativeString("};"), TAG_Int(2)) /*new String*/;
2161 once_value_95
= variable
[3];
2163 /* Register variable[3]: Result */
2164 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[3]) /*CompilerVisitor::add_instr*/;
2165 return_label86
: while(false);
2166 tracehead
= trace
.prev
;
2169 void compiling_global___AbsTableElt___compile_macros(val_t self
, val_t param0
, val_t param1
) {
2170 struct trace_t trace
= {NULL
, NULL
, 532, LOCATE_compiling_global___AbsTableElt___compile_macros
};
2171 val_t
*variable
= NULL
;
2172 struct WBT_
**closurevariable
= NULL
;
2173 trace
.prev
= tracehead
; tracehead
= &trace
;
2174 trace
.file
= LOCATE_compiling_global
;
2175 fprintf(stderr
, "Deferred method called");
2176 fprintf(stderr
, " (%s:%d)\n", LOCATE_compiling_global
, 532);
2178 tracehead
= trace
.prev
;
2181 void compiling_global___AbsTableElt___init(val_t self
, int* init_table
) {
2182 struct trace_t trace
= {NULL
, NULL
, 0, LOCATE_compiling_global___AbsTableElt___init
};
2183 val_t
*variable
= NULL
;
2184 struct WBT_
**closurevariable
= NULL
;
2185 trace
.prev
= tracehead
; tracehead
= &trace
;
2186 trace
.file
= LOCATE_compiling_global
;
2187 tracehead
= trace
.prev
;
2190 val_t
compiling_global___TableElt___is_related_to(val_t self
, val_t param0
) {
2191 struct trace_t trace
= {NULL
, NULL
, 540, LOCATE_compiling_global___TableElt___is_related_to
};
2192 val_t
*variable
= NULL
;
2193 struct WBT_
**closurevariable
= NULL
;
2194 trace
.prev
= tracehead
; tracehead
= &trace
;
2195 trace
.file
= LOCATE_compiling_global
;
2196 fprintf(stderr
, "Deferred method called");
2197 fprintf(stderr
, " (%s:%d)\n", LOCATE_compiling_global
, 540);
2199 tracehead
= trace
.prev
;
2202 val_t
compiling_global___TableElt___length(val_t self
) {
2203 struct trace_t trace
= {NULL
, NULL
, 543, LOCATE_compiling_global___TableElt___length
};
2205 struct WBT_
**closurevariable
= NULL
;
2206 trace
.prev
= tracehead
; tracehead
= &trace
;
2207 trace
.file
= LOCATE_compiling_global
;
2208 /* Register variable[0]: Local variable */
2210 /* Register variable[1]: Method return value and escape marker */
2211 variable
[1] = TAG_Int(1);
2212 goto return_label96
;
2213 return_label96
: while(false);
2214 tracehead
= trace
.prev
;
2217 val_t
compiling_global___TableElt___item(val_t self
, val_t param0
) {
2218 struct trace_t trace
= {NULL
, NULL
, 546, LOCATE_compiling_global___TableElt___item
};
2220 struct WBT_
**closurevariable
= NULL
;
2221 trace
.prev
= tracehead
; tracehead
= &trace
;
2222 trace
.file
= LOCATE_compiling_global
;
2223 /* Register variable[0]: Local variable */
2225 /* Register variable[1]: Local variable */
2226 variable
[1] = param0
;
2227 /* Register variable[2]: Method return value and escape marker */
2228 variable
[2] = variable
[0];
2229 goto return_label97
;
2230 return_label97
: while(false);
2231 tracehead
= trace
.prev
;
2234 val_t
compiling_global___TableElt___compile_to_c(val_t self
, val_t param0
, val_t param1
) {
2235 struct trace_t trace
= {NULL
, NULL
, 549, LOCATE_compiling_global___TableElt___compile_to_c
};
2236 val_t
*variable
= NULL
;
2237 struct WBT_
**closurevariable
= NULL
;
2238 trace
.prev
= tracehead
; tracehead
= &trace
;
2239 trace
.file
= LOCATE_compiling_global
;
2240 fprintf(stderr
, "Deferred method called");
2241 fprintf(stderr
, " (%s:%d)\n", LOCATE_compiling_global
, 549);
2243 tracehead
= trace
.prev
;
2246 val_t
compiling_global___ModuleTableElt___value(val_t self
, val_t param0
) {
2247 struct trace_t trace
= {NULL
, NULL
, 557, LOCATE_compiling_global___ModuleTableElt___value
};
2248 val_t
*variable
= NULL
;
2249 struct WBT_
**closurevariable
= NULL
;
2250 trace
.prev
= tracehead
; tracehead
= &trace
;
2251 trace
.file
= LOCATE_compiling_global
;
2252 fprintf(stderr
, "Deferred method called");
2253 fprintf(stderr
, " (%s:%d)\n", LOCATE_compiling_global
, 557);
2255 tracehead
= trace
.prev
;
2258 void compiling_global___ModuleTableEltGroup___compile_macros(val_t self
, val_t param0
, val_t param1
) {
2259 struct trace_t trace
= {NULL
, NULL
, 567, LOCATE_compiling_global___ModuleTableEltGroup___compile_macros
};
2260 static val_t once_value_100
= NIT_NULL
; /* Once value for string variable[9]*/
2261 static val_t once_value_101
= NIT_NULL
; /* Once value for string variable[9]*/
2262 static val_t once_value_102
= NIT_NULL
; /* Once value for string variable[9]*/
2264 struct WBT_
**closurevariable
= NULL
;
2265 trace
.prev
= tracehead
; tracehead
= &trace
;
2266 trace
.file
= LOCATE_compiling_global
;
2267 /* Register variable[0]: Local variable */
2269 /* Register variable[1]: Local variable */
2270 variable
[1] = param0
;
2271 /* Register variable[2]: Local variable */
2272 variable
[2] = param1
;
2273 /* Register variable[3]: Method return value and escape marker */
2274 /* Register variable[4]: Local variable */
2275 variable
[4] = TAG_Int(0);
2276 /* Register variable[5]: Result */
2277 variable
[5] = ATTR_compiling_global___ModuleTableEltGroup____elements(variable
[0]) /*ModuleTableEltGroup::_elements*/;
2278 /* Register variable[5]: For iterator */
2279 variable
[5] = CALL_abstract_collection___Collection___iterator(variable
[5])(variable
[5]) /*AbstractArrayRead::iterator*/;
2280 while (true) { /*for*/
2281 /* Register variable[6]: For 'is_ok' result */
2282 variable
[6] = CALL_abstract_collection___Iterator___is_ok(variable
[5])(variable
[5]) /*ArrayIterator::is_ok*/;
2283 if (!UNTAG_Bool(variable
[6])) break; /*for*/
2284 variable
[6] = CALL_abstract_collection___Iterator___item(variable
[5])(variable
[5]) /*ArrayIterator::item*/ /* Ensure var: For item*/;
2285 /* Register variable[7]: Local variable */
2286 variable
[7] = variable
[6];
2287 variable
[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
2288 /* Register variable[9]: Once String constant */
2289 if (once_value_100
!= NIT_NULL
) variable
[9] = once_value_100
;
2291 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
2292 once_value_100
= variable
[9];
2294 /* Register variable[9]: Result */
2295 /* Ensure var variable[9]: super-string element*/
2296 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
2297 variable
[9] = variable
[2] /*value*/ /* Ensure var: super-string element*/;
2298 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
2299 /* Register variable[9]: Once String constant */
2300 if (once_value_101
!= NIT_NULL
) variable
[9] = once_value_101
;
2302 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(" + "), TAG_Int(3)) /*new String*/;
2303 once_value_101
= variable
[9];
2305 /* Register variable[9]: Result */
2306 /* Ensure var variable[9]: super-string element*/
2307 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
2308 variable
[9] = variable
[4] /*i*/ /* Ensure var: super-string element*/;
2309 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/) /*AbstractArray::add*/;
2310 /* Register variable[9]: Once String constant */
2311 if (once_value_102
!= NIT_NULL
) variable
[9] = once_value_102
;
2313 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
2314 once_value_102
= variable
[9];
2316 /* Register variable[9]: Result */
2317 /* Ensure var variable[9]: super-string element*/
2318 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
2319 /* Register variable[8]: Result */
2320 variable
[8] = CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/;
2321 CALL_compiling_global___AbsTableElt___compile_macros( variable
[7] /*e*/)( variable
[7] /*e*/, variable
[1] /*v*/, variable
[8]) /*AbsTableElt::compile_macros*/;
2322 variable
[4] = TAG_Int(UNTAG_Int(variable
[4])+UNTAG_Int( TAG_Int(1))) /*i*/;
2323 continue_99
: while(0);
2324 CALL_abstract_collection___Iterator___next(variable
[5])(variable
[5]) /*ArrayIterator::next*/;
2327 return_label98
: while(false);
2328 tracehead
= trace
.prev
;
2331 val_t
compiling_global___ModuleTableEltGroup___value(val_t self
, val_t param0
) {
2332 struct trace_t trace
= {NULL
, NULL
, 566, LOCATE_compiling_global___ModuleTableEltGroup___value
};
2333 static val_t once_value_104
= NIT_NULL
; /* Once value for string variable[4]*/
2334 static val_t once_value_105
= NIT_NULL
; /* Once value for string variable[4]*/
2336 struct WBT_
**closurevariable
= NULL
;
2337 trace
.prev
= tracehead
; tracehead
= &trace
;
2338 trace
.file
= LOCATE_compiling_global
;
2339 /* Register variable[0]: Local variable */
2341 /* Register variable[1]: Local variable */
2342 variable
[1] = param0
;
2343 /* Register variable[2]: Method return value and escape marker */
2344 variable
[3] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
2345 /* Register variable[4]: Once String constant */
2346 if (once_value_104
!= NIT_NULL
) variable
[4] = once_value_104
;
2348 variable
[4] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
2349 once_value_104
= variable
[4];
2351 /* Register variable[4]: Result */
2352 /* Ensure var variable[4]: super-string element*/
2353 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[4]) /*AbstractArray::add*/;
2354 /* Register variable[4]: Result */
2355 variable
[4] = ATTR_compiling_global___ModuleTableEltGroup____elements(variable
[0]) /*ModuleTableEltGroup::_elements*/;
2356 /* Register variable[4]: Result */
2357 variable
[4] = CALL_abstract_collection___Collection___first(variable
[4])(variable
[4]) /*IndexedCollectionRead::first*/;
2358 /* Register variable[4]: Result */
2359 variable
[4] = CALL_compiling_global___ColorContext___color( variable
[1] /*ga*/)( variable
[1] /*ga*/, variable
[4]) /*ColorContext::color*/;
2360 /* Ensure var variable[4]: super-string element*/
2361 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], CALL_string___Object___to_s(variable
[4])(variable
[4]) /*Object::to_s*/) /*AbstractArray::add*/;
2362 /* Register variable[4]: Once String constant */
2363 if (once_value_105
!= NIT_NULL
) variable
[4] = once_value_105
;
2365 variable
[4] = NEW_String_string___String___with_native(BOX_NativeString(" /* Group of ? */"), TAG_Int(17)) /*new String*/;
2366 once_value_105
= variable
[4];
2368 /* Register variable[4]: Result */
2369 /* Ensure var variable[4]: super-string element*/
2370 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[4]) /*AbstractArray::add*/;
2371 /* Register variable[3]: Result */
2372 variable
[3] = CALL_string___Object___to_s(variable
[3])(variable
[3]) /*Object::to_s*/;
2373 variable
[2] = variable
[3];
2374 goto return_label103
;
2375 return_label103
: while(false);
2376 tracehead
= trace
.prev
;
2379 val_t
compiling_global___ModuleTableEltGroup___elements(val_t self
) {
2380 struct trace_t trace
= {NULL
, NULL
, 564, LOCATE_compiling_global___ModuleTableEltGroup___elements
};
2381 val_t
*variable
= NULL
;
2382 struct WBT_
**closurevariable
= NULL
;
2383 trace
.prev
= tracehead
; tracehead
= &trace
;
2384 trace
.file
= LOCATE_compiling_global
;
2385 tracehead
= trace
.prev
;
2386 return ATTR_compiling_global___ModuleTableEltGroup____elements( self
) /*ModuleTableEltGroup::_elements*/;
2388 void compiling_global___TableEltProp___init(val_t self
, val_t param0
, int* init_table
) {
2389 struct trace_t trace
= {NULL
, NULL
, 582, LOCATE_compiling_global___TableEltProp___init
};
2391 struct WBT_
**closurevariable
= NULL
;
2392 trace
.prev
= tracehead
; tracehead
= &trace
;
2393 trace
.file
= LOCATE_compiling_global
;
2394 /* Register variable[0]: Local variable */
2396 /* Register variable[1]: Local variable */
2397 variable
[1] = param0
;
2398 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_TableEltProp
].i
]) return;
2399 /* Register variable[2]: Method return value and escape marker */
2400 ATTR_compiling_global___TableEltProp____property(variable
[0]) /*TableEltProp::_property*/ = variable
[1] /*p*/;
2401 return_label106
: while(false);
2402 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_TableEltProp
].i
] = 1;
2403 tracehead
= trace
.prev
;
2406 void compiling_global___TableEltMeth___compile_macros(val_t self
, val_t param0
, val_t param1
) {
2407 struct trace_t trace
= {NULL
, NULL
, 591, LOCATE_compiling_global___TableEltMeth___compile_macros
};
2408 static val_t once_value_108
= NIT_NULL
; /* Once value for string variable[6]*/
2409 static val_t once_value_109
= NIT_NULL
; /* Once value for string variable[6]*/
2410 static val_t once_value_110
= NIT_NULL
; /* Once value for string variable[6]*/
2411 static val_t once_value_111
= NIT_NULL
; /* Once value for string variable[6]*/
2413 struct WBT_
**closurevariable
= NULL
;
2414 trace
.prev
= tracehead
; tracehead
= &trace
;
2415 trace
.file
= LOCATE_compiling_global
;
2416 /* Register variable[0]: Local variable */
2418 /* Register variable[1]: Local variable */
2419 variable
[1] = param0
;
2420 /* Register variable[2]: Local variable */
2421 variable
[2] = param1
;
2422 /* Register variable[3]: Method return value and escape marker */
2423 /* Register variable[4]: Local variable */
2424 /* Register variable[5]: Result */
2425 variable
[5] = ATTR_compiling_global___TableEltProp____property(variable
[0]) /*TableEltProp::_property*/;
2426 /* Register variable[5]: Result */
2427 variable
[5] = CALL_abstractmetamodel___MMLocalProperty___global(variable
[5])(variable
[5]) /*MMLocalProperty::global*/;
2428 variable
[4] = variable
[5];
2429 variable
[5] = NEW_Array_array___Array___with_capacity(TAG_Int(7)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
2430 /* Register variable[6]: Once String constant */
2431 if (once_value_108
!= NIT_NULL
) variable
[6] = once_value_108
;
2433 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString("#define "), TAG_Int(8)) /*new String*/;
2434 once_value_108
= variable
[6];
2436 /* Register variable[6]: Result */
2437 /* Ensure var variable[6]: super-string element*/
2438 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[6]) /*AbstractArray::add*/;
2439 /* Register variable[6]: Result */
2440 variable
[6] = CALL_compiling_base___MMGlobalProperty___meth_call( variable
[4] /*pg*/)( variable
[4] /*pg*/) /*MMGlobalProperty::meth_call*/;
2441 /* Ensure var variable[6]: super-string element*/
2442 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[6]) /*AbstractArray::add*/;
2443 /* Register variable[6]: Once String constant */
2444 if (once_value_109
!= NIT_NULL
) variable
[6] = once_value_109
;
2446 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString("(recv) (("), TAG_Int(9)) /*new String*/;
2447 once_value_109
= variable
[6];
2449 /* Register variable[6]: Result */
2450 /* Ensure var variable[6]: super-string element*/
2451 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[6]) /*AbstractArray::add*/;
2452 /* Register variable[6]: Result */
2453 variable
[6] = CALL_abstractmetamodel___MMGlobalProperty___intro( variable
[4] /*pg*/)( variable
[4] /*pg*/) /*MMGlobalProperty::intro*/;
2454 /* Register variable[6]: Result */
2455 variable
[6] = CALL_compiling_base___MMLocalProperty___cname(variable
[6])(variable
[6]) /*MMLocalProperty::cname*/;
2456 /* Ensure var variable[6]: super-string element*/
2457 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[6]) /*AbstractArray::add*/;
2458 /* Register variable[6]: Once String constant */
2459 if (once_value_110
!= NIT_NULL
) variable
[6] = once_value_110
;
2461 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString("_t)CALL((recv), ("), TAG_Int(17)) /*new String*/;
2462 once_value_110
= variable
[6];
2464 /* Register variable[6]: Result */
2465 /* Ensure var variable[6]: super-string element*/
2466 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[6]) /*AbstractArray::add*/;
2467 variable
[6] = variable
[2] /*value*/ /* Ensure var: super-string element*/;
2468 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[6]) /*AbstractArray::add*/;
2469 /* Register variable[6]: Once String constant */
2470 if (once_value_111
!= NIT_NULL
) variable
[6] = once_value_111
;
2472 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString(")))"), TAG_Int(3)) /*new String*/;
2473 once_value_111
= variable
[6];
2475 /* Register variable[6]: Result */
2476 /* Ensure var variable[6]: super-string element*/
2477 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[6]) /*AbstractArray::add*/;
2478 /* Register variable[5]: Result */
2479 variable
[5] = CALL_string___Object___to_s(variable
[5])(variable
[5]) /*Object::to_s*/;
2480 CALL_compiling_base___CompilerVisitor___add_decl( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[5]) /*CompilerVisitor::add_decl*/;
2481 return_label107
: while(false);
2482 tracehead
= trace
.prev
;
2485 val_t
compiling_global___TableEltMeth___compile_to_c(val_t self
, val_t param0
, val_t param1
) {
2486 struct trace_t trace
= {NULL
, NULL
, 597, LOCATE_compiling_global___TableEltMeth___compile_to_c
};
2488 struct WBT_
**closurevariable
= NULL
;
2489 trace
.prev
= tracehead
; tracehead
= &trace
;
2490 trace
.file
= LOCATE_compiling_global
;
2491 /* Register variable[0]: Local variable */
2493 /* Register variable[1]: Local variable */
2494 variable
[1] = param0
;
2495 /* Register variable[2]: Local variable */
2496 variable
[2] = param1
;
2497 /* Register variable[3]: Method return value and escape marker */
2498 /* Register variable[4]: Local variable */
2499 /* Register variable[5]: Result */
2500 variable
[5] = ATTR_compiling_global___TableEltProp____property(variable
[0]) /*TableEltProp::_property*/;
2501 /* Register variable[5]: Result */
2502 variable
[5] = CALL_abstractmetamodel___MMLocalProperty___global(variable
[5])(variable
[5]) /*MMLocalProperty::global*/;
2503 /* Register variable[5]: Result */
2504 variable
[5] = CALL_abstractmetamodel___MMLocalClass_____bra( variable
[2] /*c*/)( variable
[2] /*c*/, variable
[5]) /*MMLocalClass::[]*/;
2505 variable
[4] = variable
[5];
2506 /* Register variable[5]: Result */
2507 variable
[5] = CALL_compiling_base___MMLocalProperty___cname( variable
[4] /*p*/)( variable
[4] /*p*/) /*MMLocalProperty::cname*/;
2508 variable
[3] = variable
[5];
2509 goto return_label112
;
2510 return_label112
: while(false);
2511 tracehead
= trace
.prev
;
2514 void compiling_global___TableEltSuper___compile_macros(val_t self
, val_t param0
, val_t param1
) {
2515 struct trace_t trace
= {NULL
, NULL
, 607, LOCATE_compiling_global___TableEltSuper___compile_macros
};
2516 static val_t once_value_114
= NIT_NULL
; /* Once value for string variable[6]*/
2517 static val_t once_value_115
= NIT_NULL
; /* Once value for string variable[6]*/
2518 static val_t once_value_116
= NIT_NULL
; /* Once value for string variable[6]*/
2519 static val_t once_value_117
= NIT_NULL
; /* Once value for string variable[6]*/
2521 struct WBT_
**closurevariable
= NULL
;
2522 trace
.prev
= tracehead
; tracehead
= &trace
;
2523 trace
.file
= LOCATE_compiling_global
;
2524 /* Register variable[0]: Local variable */
2526 /* Register variable[1]: Local variable */
2527 variable
[1] = param0
;
2528 /* Register variable[2]: Local variable */
2529 variable
[2] = param1
;
2530 /* Register variable[3]: Method return value and escape marker */
2531 /* Register variable[4]: Local variable */
2532 /* Register variable[5]: Result */
2533 variable
[5] = ATTR_compiling_global___TableEltProp____property(variable
[0]) /*TableEltProp::_property*/;
2534 variable
[4] = variable
[5];
2535 variable
[5] = NEW_Array_array___Array___with_capacity(TAG_Int(7)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
2536 /* Register variable[6]: Once String constant */
2537 if (once_value_114
!= NIT_NULL
) variable
[6] = once_value_114
;
2539 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString("#define "), TAG_Int(8)) /*new String*/;
2540 once_value_114
= variable
[6];
2542 /* Register variable[6]: Result */
2543 /* Ensure var variable[6]: super-string element*/
2544 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[6]) /*AbstractArray::add*/;
2545 /* Register variable[6]: Result */
2546 variable
[6] = CALL_compiling_base___MMLocalProperty___super_meth_call( variable
[4] /*p*/)( variable
[4] /*p*/) /*MMLocalProperty::super_meth_call*/;
2547 /* Ensure var variable[6]: super-string element*/
2548 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[6]) /*AbstractArray::add*/;
2549 /* Register variable[6]: Once String constant */
2550 if (once_value_115
!= NIT_NULL
) variable
[6] = once_value_115
;
2552 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString("(recv) (("), TAG_Int(9)) /*new String*/;
2553 once_value_115
= variable
[6];
2555 /* Register variable[6]: Result */
2556 /* Ensure var variable[6]: super-string element*/
2557 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[6]) /*AbstractArray::add*/;
2558 /* Register variable[6]: Result */
2559 variable
[6] = CALL_compiling_base___MMLocalProperty___cname( variable
[4] /*p*/)( variable
[4] /*p*/) /*MMLocalProperty::cname*/;
2560 /* Ensure var variable[6]: super-string element*/
2561 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[6]) /*AbstractArray::add*/;
2562 /* Register variable[6]: Once String constant */
2563 if (once_value_116
!= NIT_NULL
) variable
[6] = once_value_116
;
2565 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString("_t)CALL((recv), ("), TAG_Int(17)) /*new String*/;
2566 once_value_116
= variable
[6];
2568 /* Register variable[6]: Result */
2569 /* Ensure var variable[6]: super-string element*/
2570 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[6]) /*AbstractArray::add*/;
2571 variable
[6] = variable
[2] /*value*/ /* Ensure var: super-string element*/;
2572 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[6]) /*AbstractArray::add*/;
2573 /* Register variable[6]: Once String constant */
2574 if (once_value_117
!= NIT_NULL
) variable
[6] = once_value_117
;
2576 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString(")))"), TAG_Int(3)) /*new String*/;
2577 once_value_117
= variable
[6];
2579 /* Register variable[6]: Result */
2580 /* Ensure var variable[6]: super-string element*/
2581 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[6]) /*AbstractArray::add*/;
2582 /* Register variable[5]: Result */
2583 variable
[5] = CALL_string___Object___to_s(variable
[5])(variable
[5]) /*Object::to_s*/;
2584 CALL_compiling_base___CompilerVisitor___add_decl( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[5]) /*CompilerVisitor::add_decl*/;
2585 return_label113
: while(false);
2586 tracehead
= trace
.prev
;
2589 val_t
compiling_global___TableEltSuper___compile_to_c(val_t self
, val_t param0
, val_t param1
) {
2590 struct trace_t trace
= {NULL
, NULL
, 613, LOCATE_compiling_global___TableEltSuper___compile_to_c
};
2592 struct WBT_
**closurevariable
= NULL
;
2593 trace
.prev
= tracehead
; tracehead
= &trace
;
2594 trace
.file
= LOCATE_compiling_global
;
2595 /* Register variable[0]: Local variable */
2597 /* Register variable[1]: Local variable */
2598 variable
[1] = param0
;
2599 /* Register variable[2]: Local variable */
2600 variable
[2] = param1
;
2601 /* Register variable[3]: Method return value and escape marker */
2602 /* Register variable[4]: Local variable */
2603 /* Register variable[5]: Result */
2604 variable
[5] = ATTR_compiling_global___TableEltProp____property(variable
[0]) /*TableEltProp::_property*/;
2605 /* Register variable[5]: Result */
2606 variable
[5] = CALL_abstractmetamodel___MMLocalProperty___local_class(variable
[5])(variable
[5]) /*MMLocalProperty::local_class*/;
2607 variable
[4] = variable
[5];
2608 /* Register variable[5]: Local variable */
2609 /* Register variable[6]: Result */
2610 variable
[6] = ATTR_compiling_global___TableEltProp____property(variable
[0]) /*TableEltProp::_property*/;
2611 /* Register variable[6]: Result */
2612 variable
[6] = CALL_abstractmetamodel___MMLocalProperty___global(variable
[6])(variable
[6]) /*MMLocalProperty::global*/;
2613 variable
[5] = variable
[6];
2614 /* Register variable[6]: Local variable */
2615 /* Register variable[7]: Result */
2616 variable
[7] = CALL_abstractmetamodel___MMLocalClass___che( variable
[2] /*c*/)( variable
[2] /*c*/) /*MMLocalClass::che*/;
2617 /* Register variable[7]: Result */
2618 variable
[7] = CALL_partial_order___PartialOrderElement___linear_extension(variable
[7])(variable
[7]) /*PartialOrderElement::linear_extension*/;
2619 variable
[6] = variable
[7];
2620 /* Register variable[7]: Local variable */
2621 variable
[7] = TAG_Bool(false);
2622 /* Register variable[8]: For iterator */
2623 variable
[8] = CALL_abstract_collection___Collection___iterator( variable
[6] /*lin*/)( variable
[6] /*lin*/) /*AbstractArrayRead::iterator*/;
2624 while (true) { /*for*/
2625 /* Register variable[9]: For 'is_ok' result */
2626 variable
[9] = CALL_abstract_collection___Iterator___is_ok(variable
[8])(variable
[8]) /*ArrayIterator::is_ok*/;
2627 if (!UNTAG_Bool(variable
[9])) break; /*for*/
2628 variable
[9] = CALL_abstract_collection___Iterator___item(variable
[8])(variable
[8]) /*ArrayIterator::item*/ /* Ensure var: For item*/;
2629 /* Register variable[10]: Local variable */
2630 variable
[10] = variable
[9];
2631 /* Register variable[11]: Result */
2632 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::==*/)))));
2633 if (UNTAG_Bool(variable
[11])) { /*if*/
2634 variable
[7] = TAG_Bool(true) /*found=*/;
2636 variable
[11] = variable
[7] /*found*/ /* Ensure var: Left 'and' operand*/;
2637 if (UNTAG_Bool(variable
[11])) { /* and */
2638 /* Register variable[11]: Result */
2639 variable
[11] = CALL_abstractmetamodel___MMLocalClass___che( variable
[2] /*c*/)( variable
[2] /*c*/) /*MMLocalClass::che*/;
2640 /* Register variable[11]: Result */
2641 variable
[11] = CALL_partial_order___PartialOrderElement_____l(variable
[11])(variable
[11], variable
[10] /*s*/) /*PartialOrderElement::<*/;
2643 /* Register variable[11]: Result */
2644 if (UNTAG_Bool(variable
[11])) { /*if*/
2645 /* Register variable[11]: Result */
2646 variable
[11] = CALL_abstractmetamodel___MMLocalClass___has_global_property( variable
[10] /*s*/)( variable
[10] /*s*/, variable
[5] /*g*/) /*MMLocalClass::has_global_property*/;
2647 if (UNTAG_Bool(variable
[11])) { /*if*/
2648 /* Register variable[11]: Result */
2649 variable
[11] = CALL_abstractmetamodel___MMLocalClass_____bra( variable
[10] /*s*/)( variable
[10] /*s*/, variable
[5] /*g*/) /*MMLocalClass::[]*/;
2650 /* Register variable[11]: Result */
2651 variable
[11] = CALL_compiling_base___MMLocalProperty___cname(variable
[11])(variable
[11]) /*MMLocalProperty::cname*/;
2652 variable
[3] = variable
[11];
2653 goto return_label118
;
2657 continue_119
: while(0);
2658 CALL_abstract_collection___Iterator___next(variable
[8])(variable
[8]) /*ArrayIterator::next*/;
2660 break_119
: while(0);
2661 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
, 630); nit_exit(1);}
2662 variable
[3] = NIT_NULL
/*null*/;
2663 goto return_label118
;
2664 return_label118
: while(false);
2665 tracehead
= trace
.prev
;
2668 void compiling_global___TableEltAttr___compile_macros(val_t self
, val_t param0
, val_t param1
) {
2669 struct trace_t trace
= {NULL
, NULL
, 638, LOCATE_compiling_global___TableEltAttr___compile_macros
};
2670 static val_t once_value_121
= NIT_NULL
; /* Once value for string variable[6]*/
2671 static val_t once_value_122
= NIT_NULL
; /* Once value for string variable[6]*/
2672 static val_t once_value_123
= NIT_NULL
; /* Once value for string variable[6]*/
2674 struct WBT_
**closurevariable
= NULL
;
2675 trace
.prev
= tracehead
; tracehead
= &trace
;
2676 trace
.file
= LOCATE_compiling_global
;
2677 /* Register variable[0]: Local variable */
2679 /* Register variable[1]: Local variable */
2680 variable
[1] = param0
;
2681 /* Register variable[2]: Local variable */
2682 variable
[2] = param1
;
2683 /* Register variable[3]: Method return value and escape marker */
2684 /* Register variable[4]: Local variable */
2685 /* Register variable[5]: Result */
2686 variable
[5] = ATTR_compiling_global___TableEltProp____property(variable
[0]) /*TableEltProp::_property*/;
2687 /* Register variable[5]: Result */
2688 variable
[5] = CALL_abstractmetamodel___MMLocalProperty___global(variable
[5])(variable
[5]) /*MMLocalProperty::global*/;
2689 variable
[4] = variable
[5];
2690 variable
[5] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
2691 /* Register variable[6]: Once String constant */
2692 if (once_value_121
!= NIT_NULL
) variable
[6] = once_value_121
;
2694 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString("#define "), TAG_Int(8)) /*new String*/;
2695 once_value_121
= variable
[6];
2697 /* Register variable[6]: Result */
2698 /* Ensure var variable[6]: super-string element*/
2699 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[6]) /*AbstractArray::add*/;
2700 /* Register variable[6]: Result */
2701 variable
[6] = CALL_compiling_base___MMGlobalProperty___attr_access( variable
[4] /*pg*/)( variable
[4] /*pg*/) /*MMGlobalProperty::attr_access*/;
2702 /* Ensure var variable[6]: super-string element*/
2703 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[6]) /*AbstractArray::add*/;
2704 /* Register variable[6]: Once String constant */
2705 if (once_value_122
!= NIT_NULL
) variable
[6] = once_value_122
;
2707 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString("(recv) ATTR(recv, ("), TAG_Int(19)) /*new String*/;
2708 once_value_122
= variable
[6];
2710 /* Register variable[6]: Result */
2711 /* Ensure var variable[6]: super-string element*/
2712 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[6]) /*AbstractArray::add*/;
2713 variable
[6] = variable
[2] /*value*/ /* Ensure var: super-string element*/;
2714 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[6]) /*AbstractArray::add*/;
2715 /* Register variable[6]: Once String constant */
2716 if (once_value_123
!= NIT_NULL
) variable
[6] = once_value_123
;
2718 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
2719 once_value_123
= variable
[6];
2721 /* Register variable[6]: Result */
2722 /* Ensure var variable[6]: super-string element*/
2723 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[6]) /*AbstractArray::add*/;
2724 /* Register variable[5]: Result */
2725 variable
[5] = CALL_string___Object___to_s(variable
[5])(variable
[5]) /*Object::to_s*/;
2726 CALL_compiling_base___CompilerVisitor___add_decl( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[5]) /*CompilerVisitor::add_decl*/;
2727 return_label120
: while(false);
2728 tracehead
= trace
.prev
;
2731 val_t
compiling_global___TableEltAttr___compile_to_c(val_t self
, val_t param0
, val_t param1
) {
2732 struct trace_t trace
= {NULL
, NULL
, 644, LOCATE_compiling_global___TableEltAttr___compile_to_c
};
2733 static val_t once_value_125
= NIT_NULL
; /* Once value for string variable[7]*/
2734 static val_t once_value_126
= NIT_NULL
; /* Once value for string variable[7]*/
2735 static val_t once_value_127
= NIT_NULL
; /* Once value for string variable[7]*/
2736 static val_t once_value_128
= NIT_NULL
; /* Once value for string variable[7]*/
2738 struct WBT_
**closurevariable
= NULL
;
2739 trace
.prev
= tracehead
; tracehead
= &trace
;
2740 trace
.file
= LOCATE_compiling_global
;
2741 /* Register variable[0]: Local variable */
2743 /* Register variable[1]: Local variable */
2744 variable
[1] = param0
;
2745 /* Register variable[2]: Local variable */
2746 variable
[2] = param1
;
2747 /* Register variable[3]: Method return value and escape marker */
2748 /* Register variable[4]: Local variable */
2749 /* Register variable[5]: Result */
2750 variable
[5] = CALL_compiling_global___GlobalCompilerVisitor___global_analysis( variable
[1] /*v*/)( variable
[1] /*v*/) /*GlobalCompilerVisitor::global_analysis*/;
2751 variable
[4] = variable
[5];
2752 /* Register variable[5]: Local variable */
2753 /* Register variable[6]: Result */
2754 variable
[6] = ATTR_compiling_global___TableEltProp____property(variable
[0]) /*TableEltProp::_property*/;
2755 /* Register variable[6]: Result */
2756 variable
[6] = CALL_abstractmetamodel___MMLocalProperty___global(variable
[6])(variable
[6]) /*MMLocalProperty::global*/;
2757 /* Register variable[6]: Result */
2758 variable
[6] = CALL_abstractmetamodel___MMLocalClass_____bra( variable
[2] /*c*/)( variable
[2] /*c*/, variable
[6]) /*MMLocalClass::[]*/;
2759 variable
[5] = variable
[6];
2760 variable
[6] = NEW_Array_array___Array___with_capacity(TAG_Int(7)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
2761 /* Register variable[7]: Once String constant */
2762 if (once_value_125
!= NIT_NULL
) variable
[7] = once_value_125
;
2764 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString("/* "), TAG_Int(3)) /*new String*/;
2765 once_value_125
= variable
[7];
2767 /* Register variable[7]: Result */
2768 /* Ensure var variable[7]: super-string element*/
2769 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
2770 /* Register variable[7]: Result */
2771 variable
[7] = CALL_compiling_global___ColorContext___color( variable
[4] /*ga*/)( variable
[4] /*ga*/, variable
[0]) /*ColorContext::color*/;
2772 /* Ensure var variable[7]: super-string element*/
2773 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/) /*AbstractArray::add*/;
2774 /* Register variable[7]: Once String constant */
2775 if (once_value_126
!= NIT_NULL
) variable
[7] = once_value_126
;
2777 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString(": Attribute "), TAG_Int(12)) /*new String*/;
2778 once_value_126
= variable
[7];
2780 /* Register variable[7]: Result */
2781 /* Ensure var variable[7]: super-string element*/
2782 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
2783 variable
[7] = variable
[2] /*c*/ /* Ensure var: super-string element*/;
2784 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/) /*AbstractArray::add*/;
2785 /* Register variable[7]: Once String constant */
2786 if (once_value_127
!= NIT_NULL
) variable
[7] = once_value_127
;
2788 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)) /*new String*/;
2789 once_value_127
= variable
[7];
2791 /* Register variable[7]: Result */
2792 /* Ensure var variable[7]: super-string element*/
2793 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
2794 variable
[7] = variable
[5] /*p*/ /* Ensure var: super-string element*/;
2795 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/) /*AbstractArray::add*/;
2796 /* Register variable[7]: Once String constant */
2797 if (once_value_128
!= NIT_NULL
) variable
[7] = once_value_128
;
2799 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString(" */"), TAG_Int(3)) /*new String*/;
2800 once_value_128
= variable
[7];
2802 /* Register variable[7]: Result */
2803 /* Ensure var variable[7]: super-string element*/
2804 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
2805 /* Register variable[6]: Result */
2806 variable
[6] = CALL_string___Object___to_s(variable
[6])(variable
[6]) /*Object::to_s*/;
2807 variable
[3] = variable
[6];
2808 goto return_label124
;
2809 return_label124
: while(false);
2810 tracehead
= trace
.prev
;
2813 void compiling_global___AbsTableEltClass___compile_macros(val_t self
, val_t param0
, val_t param1
) {
2814 struct trace_t trace
= {NULL
, NULL
, 666, LOCATE_compiling_global___AbsTableEltClass___compile_macros
};
2815 static val_t once_value_130
= NIT_NULL
; /* Once value for string variable[5]*/
2816 static val_t once_value_131
= NIT_NULL
; /* Once value for string variable[5]*/
2817 static val_t once_value_132
= NIT_NULL
; /* Once value for string variable[5]*/
2819 struct WBT_
**closurevariable
= NULL
;
2820 trace
.prev
= tracehead
; tracehead
= &trace
;
2821 trace
.file
= LOCATE_compiling_global
;
2822 /* Register variable[0]: Local variable */
2824 /* Register variable[1]: Local variable */
2825 variable
[1] = param0
;
2826 /* Register variable[2]: Local variable */
2827 variable
[2] = param1
;
2828 /* Register variable[3]: Method return value and escape marker */
2829 variable
[4] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
2830 /* Register variable[5]: Once String constant */
2831 if (once_value_130
!= NIT_NULL
) variable
[5] = once_value_130
;
2833 variable
[5] = NEW_String_string___String___with_native(BOX_NativeString("#define "), TAG_Int(8)) /*new String*/;
2834 once_value_130
= variable
[5];
2836 /* Register variable[5]: Result */
2837 /* Ensure var variable[5]: super-string element*/
2838 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], variable
[5]) /*AbstractArray::add*/;
2839 /* Register variable[5]: Result */
2840 variable
[5] = CALL_compiling_global___AbsTableEltClass___symbol(variable
[0])(variable
[0]) /*AbsTableEltClass::symbol*/;
2841 /* Ensure var variable[5]: super-string element*/
2842 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], variable
[5]) /*AbstractArray::add*/;
2843 /* Register variable[5]: Once String constant */
2844 if (once_value_131
!= NIT_NULL
) variable
[5] = once_value_131
;
2846 variable
[5] = NEW_String_string___String___with_native(BOX_NativeString(" ("), TAG_Int(2)) /*new String*/;
2847 once_value_131
= variable
[5];
2849 /* Register variable[5]: Result */
2850 /* Ensure var variable[5]: super-string element*/
2851 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], variable
[5]) /*AbstractArray::add*/;
2852 variable
[5] = variable
[2] /*value*/ /* Ensure var: super-string element*/;
2853 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], variable
[5]) /*AbstractArray::add*/;
2854 /* Register variable[5]: Once String constant */
2855 if (once_value_132
!= NIT_NULL
) variable
[5] = once_value_132
;
2857 variable
[5] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)) /*new String*/;
2858 once_value_132
= variable
[5];
2860 /* Register variable[5]: Result */
2861 /* Ensure var variable[5]: super-string element*/
2862 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], variable
[5]) /*AbstractArray::add*/;
2863 /* Register variable[4]: Result */
2864 variable
[4] = CALL_string___Object___to_s(variable
[4])(variable
[4]) /*Object::to_s*/;
2865 CALL_compiling_base___CompilerVisitor___add_decl( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[4]) /*CompilerVisitor::add_decl*/;
2866 return_label129
: while(false);
2867 tracehead
= trace
.prev
;
2870 void compiling_global___AbsTableEltClass___init(val_t self
, val_t param0
, int* init_table
) {
2871 struct trace_t trace
= {NULL
, NULL
, 658, LOCATE_compiling_global___AbsTableEltClass___init
};
2873 struct WBT_
**closurevariable
= NULL
;
2874 trace
.prev
= tracehead
; tracehead
= &trace
;
2875 trace
.file
= LOCATE_compiling_global
;
2876 /* Register variable[0]: Local variable */
2878 /* Register variable[1]: Local variable */
2879 variable
[1] = param0
;
2880 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_AbsTableEltClass
].i
]) return;
2881 /* Register variable[2]: Method return value and escape marker */
2882 ATTR_compiling_global___AbsTableEltClass____local_class(variable
[0]) /*AbsTableEltClass::_local_class*/ = variable
[1] /*c*/;
2883 return_label133
: while(false);
2884 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_AbsTableEltClass
].i
] = 1;
2885 tracehead
= trace
.prev
;
2888 val_t
compiling_global___AbsTableEltClass___symbol(val_t self
) {
2889 struct trace_t trace
= {NULL
, NULL
, 663, LOCATE_compiling_global___AbsTableEltClass___symbol
};
2890 val_t
*variable
= NULL
;
2891 struct WBT_
**closurevariable
= NULL
;
2892 trace
.prev
= tracehead
; tracehead
= &trace
;
2893 trace
.file
= LOCATE_compiling_global
;
2894 fprintf(stderr
, "Deferred method called");
2895 fprintf(stderr
, " (%s:%d)\n", LOCATE_compiling_global
, 663);
2897 tracehead
= trace
.prev
;
2900 val_t
compiling_global___TableEltClass___is_related_to(val_t self
, val_t param0
) {
2901 struct trace_t trace
= {NULL
, NULL
, 676, LOCATE_compiling_global___TableEltClass___is_related_to
};
2903 struct WBT_
**closurevariable
= NULL
;
2904 trace
.prev
= tracehead
; tracehead
= &trace
;
2905 trace
.file
= LOCATE_compiling_global
;
2906 /* Register variable[0]: Local variable */
2908 /* Register variable[1]: Local variable */
2909 variable
[1] = param0
;
2910 /* Register variable[2]: Method return value and escape marker */
2911 /* Register variable[3]: Local variable */
2912 /* Register variable[4]: Result */
2913 variable
[4] = CALL_abstractmetamodel___MMLocalClass___module( variable
[1] /*c*/)( variable
[1] /*c*/) /*MMLocalClass::module*/;
2914 /* Register variable[5]: Result */
2915 variable
[5] = ATTR_compiling_global___AbsTableEltClass____local_class(variable
[0]) /*AbsTableEltClass::_local_class*/;
2916 /* Register variable[5]: Result */
2917 variable
[5] = CALL_abstractmetamodel___MMLocalClass___global(variable
[5])(variable
[5]) /*MMLocalClass::global*/;
2918 /* Register variable[4]: Result */
2919 variable
[4] = CALL_abstractmetamodel___MMModule_____bra(variable
[4])(variable
[4], variable
[5]) /*MMModule::[]*/;
2920 variable
[3] = variable
[4];
2921 /* Register variable[4]: Result */
2922 variable
[4] = CALL_abstractmetamodel___MMLocalClass___cshe( variable
[1] /*c*/)( variable
[1] /*c*/) /*MMLocalClass::cshe*/;
2923 /* Register variable[4]: Result */
2924 variable
[4] = CALL_partial_order___PartialOrderElement_____leq(variable
[4])(variable
[4], variable
[3] /*bc*/) /*PartialOrderElement::<=*/;
2925 variable
[2] = variable
[4];
2926 goto return_label134
;
2927 return_label134
: while(false);
2928 tracehead
= trace
.prev
;
2931 val_t
compiling_global___TableEltClassId___value(val_t self
, val_t param0
) {
2932 struct trace_t trace
= {NULL
, NULL
, 689, LOCATE_compiling_global___TableEltClassId___value
};
2933 static val_t once_value_136
= NIT_NULL
; /* Once value for string variable[4]*/
2934 static val_t once_value_137
= NIT_NULL
; /* Once value for string variable[4]*/
2935 static val_t once_value_138
= NIT_NULL
; /* Once value for string variable[4]*/
2937 struct WBT_
**closurevariable
= NULL
;
2938 trace
.prev
= tracehead
; tracehead
= &trace
;
2939 trace
.file
= LOCATE_compiling_global
;
2940 /* Register variable[0]: Local variable */
2942 /* Register variable[1]: Local variable */
2943 variable
[1] = param0
;
2944 /* Register variable[2]: Method return value and escape marker */
2945 variable
[3] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
2946 /* Register variable[4]: Once String constant */
2947 if (once_value_136
!= NIT_NULL
) variable
[4] = once_value_136
;
2949 variable
[4] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
2950 once_value_136
= variable
[4];
2952 /* Register variable[4]: Result */
2953 /* Ensure var variable[4]: super-string element*/
2954 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[4]) /*AbstractArray::add*/;
2955 /* Register variable[4]: Result */
2956 variable
[4] = CALL_compiling_global___GlobalAnalysis___compiled_classes( variable
[1] /*ga*/)( variable
[1] /*ga*/) /*GlobalAnalysis::compiled_classes*/;
2957 /* Register variable[5]: Result */
2958 variable
[5] = ATTR_compiling_global___AbsTableEltClass____local_class(variable
[0]) /*AbsTableEltClass::_local_class*/;
2959 /* Register variable[5]: Result */
2960 variable
[5] = CALL_abstractmetamodel___MMLocalClass___global(variable
[5])(variable
[5]) /*MMLocalClass::global*/;
2961 /* Register variable[4]: Result */
2962 variable
[4] = CALL_abstract_collection___MapRead_____bra(variable
[4])(variable
[4], variable
[5]) /*CoupleMap::[]*/;
2963 /* Register variable[4]: Result */
2964 variable
[4] = CALL_compiling_global___CompiledClass___id(variable
[4])(variable
[4]) /*CompiledClass::id*/;
2965 /* Ensure var variable[4]: super-string element*/
2966 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], CALL_string___Object___to_s(variable
[4])(variable
[4]) /*Object::to_s*/) /*AbstractArray::add*/;
2967 /* Register variable[4]: Once String constant */
2968 if (once_value_137
!= NIT_NULL
) variable
[4] = once_value_137
;
2970 variable
[4] = NEW_String_string___String___with_native(BOX_NativeString(" /* Id of "), TAG_Int(10)) /*new String*/;
2971 once_value_137
= variable
[4];
2973 /* Register variable[4]: Result */
2974 /* Ensure var variable[4]: super-string element*/
2975 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[4]) /*AbstractArray::add*/;
2976 /* Register variable[4]: Result */
2977 variable
[4] = ATTR_compiling_global___AbsTableEltClass____local_class(variable
[0]) /*AbsTableEltClass::_local_class*/;
2978 /* Ensure var variable[4]: super-string element*/
2979 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], CALL_string___Object___to_s(variable
[4])(variable
[4]) /*Object::to_s*/) /*AbstractArray::add*/;
2980 /* Register variable[4]: Once String constant */
2981 if (once_value_138
!= NIT_NULL
) variable
[4] = once_value_138
;
2983 variable
[4] = NEW_String_string___String___with_native(BOX_NativeString(" */"), TAG_Int(3)) /*new String*/;
2984 once_value_138
= variable
[4];
2986 /* Register variable[4]: Result */
2987 /* Ensure var variable[4]: super-string element*/
2988 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[4]) /*AbstractArray::add*/;
2989 /* Register variable[3]: Result */
2990 variable
[3] = CALL_string___Object___to_s(variable
[3])(variable
[3]) /*Object::to_s*/;
2991 variable
[2] = variable
[3];
2992 goto return_label135
;
2993 return_label135
: while(false);
2994 tracehead
= trace
.prev
;
2997 val_t
compiling_global___TableEltClassId___symbol(val_t self
) {
2998 struct trace_t trace
= {NULL
, NULL
, 687, LOCATE_compiling_global___TableEltClassId___symbol
};
3000 struct WBT_
**closurevariable
= NULL
;
3001 trace
.prev
= tracehead
; tracehead
= &trace
;
3002 trace
.file
= LOCATE_compiling_global
;
3003 /* Register variable[0]: Local variable */
3005 /* Register variable[1]: Method return value and escape marker */
3006 /* Register variable[2]: Result */
3007 variable
[2] = ATTR_compiling_global___AbsTableEltClass____local_class(variable
[0]) /*AbsTableEltClass::_local_class*/;
3008 /* Register variable[2]: Result */
3009 variable
[2] = CALL_abstractmetamodel___MMLocalClass___global(variable
[2])(variable
[2]) /*MMLocalClass::global*/;
3010 /* Register variable[2]: Result */
3011 variable
[2] = CALL_compiling_base___MMGlobalClass___id_id(variable
[2])(variable
[2]) /*MMGlobalClass::id_id*/;
3012 variable
[1] = variable
[2];
3013 goto return_label139
;
3014 return_label139
: while(false);
3015 tracehead
= trace
.prev
;
3018 val_t
compiling_global___TableEltClassInitTable___compile_to_c(val_t self
, val_t param0
, val_t param1
) {
3019 struct trace_t trace
= {NULL
, NULL
, 700, LOCATE_compiling_global___TableEltClassInitTable___compile_to_c
};
3020 static val_t once_value_143
= NIT_NULL
; /* Once value for string variable[9]*/
3021 static val_t once_value_144
= NIT_NULL
; /* Once value for string variable[9]*/
3022 static val_t once_value_145
= NIT_NULL
; /* Once value for string variable[9]*/
3023 static val_t once_value_146
= NIT_NULL
; /* Once value for string variable[9]*/
3024 static val_t once_value_147
= NIT_NULL
; /* Once value for string variable[9]*/
3026 struct WBT_
**closurevariable
= NULL
;
3027 trace
.prev
= tracehead
; tracehead
= &trace
;
3028 trace
.file
= LOCATE_compiling_global
;
3029 /* Register variable[0]: Local variable */
3031 /* Register variable[1]: Local variable */
3032 variable
[1] = param0
;
3033 /* Register variable[2]: Local variable */
3034 variable
[2] = param1
;
3035 /* Register variable[3]: Method return value and escape marker */
3036 /* Register variable[4]: Local variable */
3037 /* Register variable[5]: Result */
3038 variable
[5] = CALL_compiling_global___GlobalCompilerVisitor___global_analysis( variable
[1] /*v*/)( variable
[1] /*v*/) /*GlobalCompilerVisitor::global_analysis*/;
3039 variable
[4] = variable
[5];
3040 /* Register variable[5]: Local variable */
3041 /* Register variable[6]: Result */
3042 variable
[6] = CALL_compiling_global___GlobalAnalysis___compiled_classes( variable
[4] /*ga*/)( variable
[4] /*ga*/) /*GlobalAnalysis::compiled_classes*/;
3043 /* Register variable[7]: Result */
3044 variable
[7] = ATTR_compiling_global___AbsTableEltClass____local_class(variable
[0]) /*AbsTableEltClass::_local_class*/;
3045 /* Register variable[7]: Result */
3046 variable
[7] = CALL_abstractmetamodel___MMLocalClass___global(variable
[7])(variable
[7]) /*MMLocalClass::global*/;
3047 /* Register variable[6]: Result */
3048 variable
[6] = CALL_abstract_collection___MapRead_____bra(variable
[6])(variable
[6], variable
[7]) /*CoupleMap::[]*/;
3049 variable
[5] = variable
[6];
3050 /* Register variable[6]: Local variable */
3051 /* Register variable[7]: Result */
3052 variable
[7] = CALL_abstractmetamodel___MMLocalClass___cshe( variable
[2] /*c*/)( variable
[2] /*c*/) /*MMLocalClass::cshe*/;
3053 /* Register variable[7]: Result */
3054 variable
[7] = CALL_partial_order___PartialOrderElement___reverse_linear_extension(variable
[7])(variable
[7]) /*PartialOrderElement::reverse_linear_extension*/;
3055 variable
[6] = variable
[7];
3056 /* Register variable[7]: Local variable */
3057 variable
[7] = TAG_Int(0);
3058 while (true) { /*while*/
3059 /* Register variable[8]: Local variable */
3060 variable
[8] = variable
[6] /*linext*/;
3061 /* Register variable[9]: Local variable */
3062 variable
[9] = variable
[7] /*i*/;
3063 /* Register variable[10]: Method return value and escape marker */
3064 /* Register variable[11]: Result */
3065 variable
[11] = TAG_Bool(UNTAG_Int( variable
[9] /*index*/)>=UNTAG_Int( TAG_Int(0)));
3066 /* Ensure var variable[11]: Left 'and' operand*/
3067 if (UNTAG_Bool(variable
[11])) { /* and */
3068 /* Register variable[11]: Result */
3069 variable
[11] = ATTR_array___AbstractArrayRead____length(variable
[8]) /*AbstractArrayRead::_length*/;
3070 /* Register variable[11]: Result */
3071 variable
[11] = TAG_Bool(UNTAG_Int( variable
[9] /*index*/)<UNTAG_Int(variable
[11]));
3073 /* Register variable[11]: Result */
3074 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
, 234); nit_exit(1);}
3075 /* Register variable[11]: Result */
3076 variable
[11] = ATTR_array___Array____items(variable
[8]) /*Array::_items*/;
3077 /* Register variable[11]: Result */
3078 variable
[11] = UNBOX_NativeArray(variable
[11])[UNTAG_Int( variable
[9] /*index*/)];
3079 variable
[10] = variable
[11];
3080 goto return_label142
;
3081 return_label142
: while(false);
3082 /* Register variable[8]: Result */
3083 variable
[8] = variable
[10];
3084 /* Register variable[8]: Result */
3085 variable
[8] = CALL_abstractmetamodel___MMLocalClass___global(variable
[8])(variable
[8]) /*MMLocalClass::global*/;
3086 /* Register variable[9]: Result */
3087 variable
[9] = ATTR_compiling_global___AbsTableEltClass____local_class(variable
[0]) /*AbsTableEltClass::_local_class*/;
3088 /* Register variable[9]: Result */
3089 variable
[9] = CALL_abstractmetamodel___MMLocalClass___global(variable
[9])(variable
[9]) /*MMLocalClass::global*/;
3090 /* Register variable[8]: Result */
3091 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::==*/)))))));
3092 if (!UNTAG_Bool(variable
[8])) break; /* while*/
3093 variable
[7] = TAG_Int(UNTAG_Int(variable
[7])+UNTAG_Int( TAG_Int(1))) /*i*/;
3094 continue_141
: while(0);
3096 break_141
: while(0);
3097 variable
[8] = NEW_Array_array___Array___with_capacity(TAG_Int(9)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
3098 /* Register variable[9]: Once String constant */
3099 if (once_value_143
!= NIT_NULL
) variable
[9] = once_value_143
;
3101 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
3102 once_value_143
= variable
[9];
3104 /* Register variable[9]: Result */
3105 /* Ensure var variable[9]: super-string element*/
3106 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
3107 variable
[9] = variable
[7] /*i*/ /* Ensure var: super-string element*/;
3108 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/) /*AbstractArray::add*/;
3109 /* Register variable[9]: Once String constant */
3110 if (once_value_144
!= NIT_NULL
) variable
[9] = once_value_144
;
3112 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(" /* "), TAG_Int(4)) /*new String*/;
3113 once_value_144
= variable
[9];
3115 /* Register variable[9]: Result */
3116 /* Ensure var variable[9]: super-string element*/
3117 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
3118 /* Register variable[9]: Result */
3119 variable
[9] = CALL_compiling_global___ColorContext___color( variable
[4] /*ga*/)( variable
[4] /*ga*/, variable
[0]) /*ColorContext::color*/;
3120 /* Ensure var variable[9]: super-string element*/
3121 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/) /*AbstractArray::add*/;
3122 /* Register variable[9]: Once String constant */
3123 if (once_value_145
!= NIT_NULL
) variable
[9] = once_value_145
;
3125 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(": "), TAG_Int(2)) /*new String*/;
3126 once_value_145
= variable
[9];
3128 /* Register variable[9]: Result */
3129 /* Ensure var variable[9]: super-string element*/
3130 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
3131 variable
[9] = variable
[2] /*c*/ /* Ensure var: super-string element*/;
3132 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/) /*AbstractArray::add*/;
3133 /* Register variable[9]: Once String constant */
3134 if (once_value_146
!= NIT_NULL
) variable
[9] = once_value_146
;
3136 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(" < "), TAG_Int(3)) /*new String*/;
3137 once_value_146
= variable
[9];
3139 /* Register variable[9]: Result */
3140 /* Ensure var variable[9]: super-string element*/
3141 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
3142 /* Register variable[9]: Result */
3143 variable
[9] = CALL_compiling_global___CompiledClass___local_class( variable
[5] /*cc*/)( variable
[5] /*cc*/) /*CompiledClass::local_class*/;
3144 /* Ensure var variable[9]: super-string element*/
3145 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/) /*AbstractArray::add*/;
3146 /* Register variable[9]: Once String constant */
3147 if (once_value_147
!= NIT_NULL
) variable
[9] = once_value_147
;
3149 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(": superclass init_table position */"), TAG_Int(35)) /*new String*/;
3150 once_value_147
= variable
[9];
3152 /* Register variable[9]: Result */
3153 /* Ensure var variable[9]: super-string element*/
3154 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
3155 /* Register variable[8]: Result */
3156 variable
[8] = CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/;
3157 variable
[3] = variable
[8];
3158 goto return_label140
;
3159 return_label140
: while(false);
3160 tracehead
= trace
.prev
;
3163 val_t
compiling_global___TableEltClassInitTable___symbol(val_t self
) {
3164 struct trace_t trace
= {NULL
, NULL
, 698, LOCATE_compiling_global___TableEltClassInitTable___symbol
};
3166 struct WBT_
**closurevariable
= NULL
;
3167 trace
.prev
= tracehead
; tracehead
= &trace
;
3168 trace
.file
= LOCATE_compiling_global
;
3169 /* Register variable[0]: Local variable */
3171 /* Register variable[1]: Method return value and escape marker */
3172 /* Register variable[2]: Result */
3173 variable
[2] = ATTR_compiling_global___AbsTableEltClass____local_class(variable
[0]) /*AbsTableEltClass::_local_class*/;
3174 /* Register variable[2]: Result */
3175 variable
[2] = CALL_abstractmetamodel___MMLocalClass___global(variable
[2])(variable
[2]) /*MMLocalClass::global*/;
3176 /* Register variable[2]: Result */
3177 variable
[2] = CALL_compiling_base___MMGlobalClass___init_table_pos_id(variable
[2])(variable
[2]) /*MMGlobalClass::init_table_pos_id*/;
3178 variable
[1] = variable
[2];
3179 goto return_label148
;
3180 return_label148
: while(false);
3181 tracehead
= trace
.prev
;
3184 val_t
compiling_global___TableEltClassColor___compile_to_c(val_t self
, val_t param0
, val_t param1
) {
3185 struct trace_t trace
= {NULL
, NULL
, 727, LOCATE_compiling_global___TableEltClassColor___compile_to_c
};
3186 static val_t once_value_150
= NIT_NULL
; /* Once value for string variable[7]*/
3187 static val_t once_value_151
= NIT_NULL
; /* Once value for string variable[7]*/
3188 static val_t once_value_152
= NIT_NULL
; /* Once value for string variable[7]*/
3189 static val_t once_value_153
= NIT_NULL
; /* Once value for string variable[7]*/
3190 static val_t once_value_154
= NIT_NULL
; /* Once value for string variable[7]*/
3192 struct WBT_
**closurevariable
= NULL
;
3193 trace
.prev
= tracehead
; tracehead
= &trace
;
3194 trace
.file
= LOCATE_compiling_global
;
3195 /* Register variable[0]: Local variable */
3197 /* Register variable[1]: Local variable */
3198 variable
[1] = param0
;
3199 /* Register variable[2]: Local variable */
3200 variable
[2] = param1
;
3201 /* Register variable[3]: Method return value and escape marker */
3202 /* Register variable[4]: Local variable */
3203 /* Register variable[5]: Result */
3204 variable
[5] = CALL_compiling_global___GlobalCompilerVisitor___global_analysis( variable
[1] /*v*/)( variable
[1] /*v*/) /*GlobalCompilerVisitor::global_analysis*/;
3205 variable
[4] = variable
[5];
3206 /* Register variable[5]: Local variable */
3207 /* Register variable[6]: Result */
3208 variable
[6] = CALL_compiling_global___GlobalAnalysis___compiled_classes( variable
[4] /*ga*/)( variable
[4] /*ga*/) /*GlobalAnalysis::compiled_classes*/;
3209 /* Register variable[7]: Result */
3210 variable
[7] = ATTR_compiling_global___AbsTableEltClass____local_class(variable
[0]) /*AbsTableEltClass::_local_class*/;
3211 /* Register variable[7]: Result */
3212 variable
[7] = CALL_abstractmetamodel___MMLocalClass___global(variable
[7])(variable
[7]) /*MMLocalClass::global*/;
3213 /* Register variable[6]: Result */
3214 variable
[6] = CALL_abstract_collection___MapRead_____bra(variable
[6])(variable
[6], variable
[7]) /*CoupleMap::[]*/;
3215 variable
[5] = variable
[6];
3216 variable
[6] = NEW_Array_array___Array___with_capacity(TAG_Int(9)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
3217 /* Register variable[7]: Once String constant */
3218 if (once_value_150
!= NIT_NULL
) variable
[7] = once_value_150
;
3220 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
3221 once_value_150
= variable
[7];
3223 /* Register variable[7]: Result */
3224 /* Ensure var variable[7]: super-string element*/
3225 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
3226 /* Register variable[7]: Result */
3227 variable
[7] = CALL_compiling_global___CompiledClass___id( variable
[5] /*cc*/)( variable
[5] /*cc*/) /*CompiledClass::id*/;
3228 /* Ensure var variable[7]: super-string element*/
3229 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/) /*AbstractArray::add*/;
3230 /* Register variable[7]: Once String constant */
3231 if (once_value_151
!= NIT_NULL
) variable
[7] = once_value_151
;
3233 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString(" /* "), TAG_Int(4)) /*new String*/;
3234 once_value_151
= variable
[7];
3236 /* Register variable[7]: Result */
3237 /* Ensure var variable[7]: super-string element*/
3238 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
3239 /* Register variable[7]: Result */
3240 variable
[7] = CALL_compiling_global___ColorContext___color( variable
[4] /*ga*/)( variable
[4] /*ga*/, variable
[0]) /*ColorContext::color*/;
3241 /* Ensure var variable[7]: super-string element*/
3242 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/) /*AbstractArray::add*/;
3243 /* Register variable[7]: Once String constant */
3244 if (once_value_152
!= NIT_NULL
) variable
[7] = once_value_152
;
3246 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString(": "), TAG_Int(2)) /*new String*/;
3247 once_value_152
= variable
[7];
3249 /* Register variable[7]: Result */
3250 /* Ensure var variable[7]: super-string element*/
3251 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
3252 variable
[7] = variable
[2] /*c*/ /* Ensure var: super-string element*/;
3253 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/) /*AbstractArray::add*/;
3254 /* Register variable[7]: Once String constant */
3255 if (once_value_153
!= NIT_NULL
) variable
[7] = once_value_153
;
3257 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString(" < "), TAG_Int(3)) /*new String*/;
3258 once_value_153
= variable
[7];
3260 /* Register variable[7]: Result */
3261 /* Ensure var variable[7]: super-string element*/
3262 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
3263 /* Register variable[7]: Result */
3264 variable
[7] = CALL_compiling_global___CompiledClass___local_class( variable
[5] /*cc*/)( variable
[5] /*cc*/) /*CompiledClass::local_class*/;
3265 /* Ensure var variable[7]: super-string element*/
3266 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/) /*AbstractArray::add*/;
3267 /* Register variable[7]: Once String constant */
3268 if (once_value_154
!= NIT_NULL
) variable
[7] = once_value_154
;
3270 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString(": superclass typecheck marker */"), TAG_Int(32)) /*new String*/;
3271 once_value_154
= variable
[7];
3273 /* Register variable[7]: Result */
3274 /* Ensure var variable[7]: super-string element*/
3275 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
3276 /* Register variable[6]: Result */
3277 variable
[6] = CALL_string___Object___to_s(variable
[6])(variable
[6]) /*Object::to_s*/;
3278 variable
[3] = variable
[6];
3279 goto return_label149
;
3280 return_label149
: while(false);
3281 tracehead
= trace
.prev
;
3284 val_t
compiling_global___TableEltClassColor___symbol(val_t self
) {
3285 struct trace_t trace
= {NULL
, NULL
, 720, LOCATE_compiling_global___TableEltClassColor___symbol
};
3287 struct WBT_
**closurevariable
= NULL
;
3288 trace
.prev
= tracehead
; tracehead
= &trace
;
3289 trace
.file
= LOCATE_compiling_global
;
3290 /* Register variable[0]: Local variable */
3292 /* Register variable[1]: Method return value and escape marker */
3293 /* Register variable[2]: Result */
3294 variable
[2] = ATTR_compiling_global___AbsTableEltClass____local_class(variable
[0]) /*AbsTableEltClass::_local_class*/;
3295 /* Register variable[2]: Result */
3296 variable
[2] = CALL_abstractmetamodel___MMLocalClass___global(variable
[2])(variable
[2]) /*MMLocalClass::global*/;
3297 /* Register variable[2]: Result */
3298 variable
[2] = CALL_compiling_base___MMGlobalClass___color_id(variable
[2])(variable
[2]) /*MMGlobalClass::color_id*/;
3299 variable
[1] = variable
[2];
3300 goto return_label155
;
3301 return_label155
: while(false);
3302 tracehead
= trace
.prev
;
3305 val_t
compiling_global___TableEltClassColor___value(val_t self
, val_t param0
) {
3306 struct trace_t trace
= {NULL
, NULL
, 722, LOCATE_compiling_global___TableEltClassColor___value
};
3307 static val_t once_value_157
= NIT_NULL
; /* Once value for string variable[4]*/
3308 static val_t once_value_158
= NIT_NULL
; /* Once value for string variable[4]*/
3309 static val_t once_value_159
= NIT_NULL
; /* Once value for string variable[4]*/
3311 struct WBT_
**closurevariable
= NULL
;
3312 trace
.prev
= tracehead
; tracehead
= &trace
;
3313 trace
.file
= LOCATE_compiling_global
;
3314 /* Register variable[0]: Local variable */
3316 /* Register variable[1]: Local variable */
3317 variable
[1] = param0
;
3318 /* Register variable[2]: Method return value and escape marker */
3319 variable
[3] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
3320 /* Register variable[4]: Once String constant */
3321 if (once_value_157
!= NIT_NULL
) variable
[4] = once_value_157
;
3323 variable
[4] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
3324 once_value_157
= variable
[4];
3326 /* Register variable[4]: Result */
3327 /* Ensure var variable[4]: super-string element*/
3328 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[4]) /*AbstractArray::add*/;
3329 /* Register variable[4]: Result */
3330 variable
[4] = CALL_compiling_global___ColorContext___color( variable
[1] /*ga*/)( variable
[1] /*ga*/, variable
[0]) /*ColorContext::color*/;
3331 /* Ensure var variable[4]: super-string element*/
3332 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], CALL_string___Object___to_s(variable
[4])(variable
[4]) /*Object::to_s*/) /*AbstractArray::add*/;
3333 /* Register variable[4]: Once String constant */
3334 if (once_value_158
!= NIT_NULL
) variable
[4] = once_value_158
;
3336 variable
[4] = NEW_String_string___String___with_native(BOX_NativeString(" /* Color of "), TAG_Int(13)) /*new String*/;
3337 once_value_158
= variable
[4];
3339 /* Register variable[4]: Result */
3340 /* Ensure var variable[4]: super-string element*/
3341 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[4]) /*AbstractArray::add*/;
3342 /* Register variable[4]: Result */
3343 variable
[4] = ATTR_compiling_global___AbsTableEltClass____local_class(variable
[0]) /*AbsTableEltClass::_local_class*/;
3344 /* Ensure var variable[4]: super-string element*/
3345 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], CALL_string___Object___to_s(variable
[4])(variable
[4]) /*Object::to_s*/) /*AbstractArray::add*/;
3346 /* Register variable[4]: Once String constant */
3347 if (once_value_159
!= NIT_NULL
) variable
[4] = once_value_159
;
3349 variable
[4] = NEW_String_string___String___with_native(BOX_NativeString(" */"), TAG_Int(3)) /*new String*/;
3350 once_value_159
= variable
[4];
3352 /* Register variable[4]: Result */
3353 /* Ensure var variable[4]: super-string element*/
3354 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[4]) /*AbstractArray::add*/;
3355 /* Register variable[3]: Result */
3356 variable
[3] = CALL_string___Object___to_s(variable
[3])(variable
[3]) /*Object::to_s*/;
3357 variable
[2] = variable
[3];
3358 goto return_label156
;
3359 return_label156
: while(false);
3360 tracehead
= trace
.prev
;
3363 val_t
compiling_global___TableEltComposite___is_related_to(val_t self
, val_t param0
) {
3364 struct trace_t trace
= {NULL
, NULL
, 742, LOCATE_compiling_global___TableEltComposite___is_related_to
};
3366 struct WBT_
**closurevariable
= NULL
;
3367 trace
.prev
= tracehead
; tracehead
= &trace
;
3368 trace
.file
= LOCATE_compiling_global
;
3369 /* Register variable[0]: Local variable */
3371 /* Register variable[1]: Local variable */
3372 variable
[1] = param0
;
3373 /* Register variable[2]: Method return value and escape marker */
3374 /* Register variable[3]: Result */
3375 variable
[3] = CALL_abstractmetamodel___MMLocalClass___cshe( variable
[1] /*c*/)( variable
[1] /*c*/) /*MMLocalClass::cshe*/;
3376 /* Register variable[4]: Result */
3377 variable
[4] = ATTR_compiling_global___TableEltComposite____cc(variable
[0]) /*TableEltComposite::_cc*/;
3378 /* Register variable[4]: Result */
3379 variable
[4] = CALL_compiling_global___CompiledClass___local_class(variable
[4])(variable
[4]) /*CompiledClass::local_class*/;
3380 /* Register variable[3]: Result */
3381 variable
[3] = CALL_partial_order___PartialOrderElement_____leq(variable
[3])(variable
[3], variable
[4]) /*PartialOrderElement::<=*/;
3382 variable
[2] = variable
[3];
3383 goto return_label160
;
3384 return_label160
: while(false);
3385 tracehead
= trace
.prev
;
3388 val_t
compiling_global___TableEltComposite___length(val_t self
) {
3389 struct trace_t trace
= {NULL
, NULL
, 741, LOCATE_compiling_global___TableEltComposite___length
};
3391 struct WBT_
**closurevariable
= NULL
;
3392 trace
.prev
= tracehead
; tracehead
= &trace
;
3393 trace
.file
= LOCATE_compiling_global
;
3394 /* Register variable[0]: Local variable */
3396 /* Register variable[1]: Method return value and escape marker */
3397 /* Register variable[2]: Result */
3398 variable
[2] = ATTR_compiling_global___TableEltComposite____table(variable
[0]) /*TableEltComposite::_table*/;
3399 /* Register variable[2]: Result */
3400 variable
[2] = CALL_abstract_collection___Collection___length(variable
[2])(variable
[2]) /*AbstractArrayRead::length*/;
3401 variable
[1] = variable
[2];
3402 goto return_label161
;
3403 return_label161
: while(false);
3404 tracehead
= trace
.prev
;
3407 val_t
compiling_global___TableEltComposite___item(val_t self
, val_t param0
) {
3408 struct trace_t trace
= {NULL
, NULL
, 750, LOCATE_compiling_global___TableEltComposite___item
};
3410 struct WBT_
**closurevariable
= NULL
;
3411 trace
.prev
= tracehead
; tracehead
= &trace
;
3412 trace
.file
= LOCATE_compiling_global
;
3413 /* Register variable[0]: Local variable */
3415 /* Register variable[1]: Local variable */
3416 variable
[1] = param0
;
3417 /* Register variable[2]: Method return value and escape marker */
3418 /* Register variable[3]: Result */
3419 variable
[3] = ATTR_compiling_global___TableEltComposite____table(variable
[0]) /*TableEltComposite::_table*/;
3420 /* Register variable[4]: Local variable */
3421 variable
[4] = variable
[3];
3422 /* Register variable[5]: Local variable */
3423 variable
[5] = variable
[1] /*i*/;
3424 /* Register variable[6]: Method return value and escape marker */
3425 /* Register variable[7]: Result */
3426 variable
[7] = TAG_Bool(UNTAG_Int( variable
[5] /*index*/)>=UNTAG_Int( TAG_Int(0)));
3427 /* Ensure var variable[7]: Left 'and' operand*/
3428 if (UNTAG_Bool(variable
[7])) { /* and */
3429 /* Register variable[7]: Result */
3430 variable
[7] = ATTR_array___AbstractArrayRead____length(variable
[4]) /*AbstractArrayRead::_length*/;
3431 /* Register variable[7]: Result */
3432 variable
[7] = TAG_Bool(UNTAG_Int( variable
[5] /*index*/)<UNTAG_Int(variable
[7]));
3434 /* Register variable[7]: Result */
3435 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
, 234); nit_exit(1);}
3436 /* Register variable[7]: Result */
3437 variable
[7] = ATTR_array___Array____items(variable
[4]) /*Array::_items*/;
3438 /* Register variable[7]: Result */
3439 variable
[7] = UNBOX_NativeArray(variable
[7])[UNTAG_Int( variable
[5] /*index*/)];
3440 variable
[6] = variable
[7];
3441 goto return_label163
;
3442 return_label163
: while(false);
3443 /* Register variable[3]: Result */
3444 variable
[3] = variable
[6];
3445 variable
[2] = variable
[3];
3446 goto return_label162
;
3447 return_label162
: while(false);
3448 tracehead
= trace
.prev
;
3451 val_t
compiling_global___TableEltComposite___compile_to_c(val_t self
, val_t param0
, val_t param1
) {
3452 struct trace_t trace
= {NULL
, NULL
, 752, LOCATE_compiling_global___TableEltComposite___compile_to_c
};
3454 struct WBT_
**closurevariable
= NULL
;
3455 trace
.prev
= tracehead
; tracehead
= &trace
;
3456 trace
.file
= LOCATE_compiling_global
;
3457 /* Register variable[0]: Local variable */
3459 /* Register variable[1]: Local variable */
3460 variable
[1] = param0
;
3461 /* Register variable[2]: Local variable */
3462 variable
[2] = param1
;
3463 /* Register variable[3]: Method return value and escape marker */
3464 fprintf(stderr
, "Aborted"); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_compiling_global___TableEltComposite___compile_to_c
, LOCATE_compiling_global
, 752); nit_exit(1);
3465 return_label164
: while(false);
3466 tracehead
= trace
.prev
;
3469 void compiling_global___TableEltComposite___add(val_t self
, val_t param0
, val_t param1
) {
3470 struct trace_t trace
= {NULL
, NULL
, 744, LOCATE_compiling_global___TableEltComposite___add
};
3472 struct WBT_
**closurevariable
= NULL
;
3473 trace
.prev
= tracehead
; tracehead
= &trace
;
3474 trace
.file
= LOCATE_compiling_global
;
3475 /* Register variable[0]: Local variable */
3477 /* Register variable[1]: Local variable */
3478 variable
[1] = param0
;
3479 /* Register variable[2]: Local variable */
3480 variable
[2] = param1
;
3481 /* Register variable[3]: Method return value and escape marker */
3482 /* Register variable[4]: Result */
3483 variable
[4] = ATTR_compiling_global___TableEltComposite____offsets(variable
[0]) /*TableEltComposite::_offsets*/;
3484 /* Register variable[5]: Result */
3485 variable
[5] = ATTR_compiling_global___TableEltComposite____table(variable
[0]) /*TableEltComposite::_table*/;
3486 /* Register variable[5]: Result */
3487 variable
[5] = CALL_abstract_collection___Collection___length(variable
[5])(variable
[5]) /*AbstractArrayRead::length*/;
3488 CALL_abstract_collection___Map_____braeq(variable
[4])(variable
[4], variable
[1] /*c*/, variable
[5]) /*HashMap::[]=*/;
3489 /* Register variable[4]: Result */
3490 variable
[4] = ATTR_compiling_global___TableEltComposite____table(variable
[0]) /*TableEltComposite::_table*/;
3491 CALL_abstract_collection___IndexedCollection___append(variable
[4])(variable
[4], variable
[2] /*tab*/) /*IndexedCollection::append*/;
3492 return_label165
: while(false);
3493 tracehead
= trace
.prev
;
3496 void compiling_global___TableEltComposite___init(val_t self
, val_t param0
, int* init_table
) {
3497 struct trace_t trace
= {NULL
, NULL
, 754, LOCATE_compiling_global___TableEltComposite___init
};
3499 struct WBT_
**closurevariable
= NULL
;
3500 trace
.prev
= tracehead
; tracehead
= &trace
;
3501 trace
.file
= LOCATE_compiling_global
;
3502 /* Register variable[0]: Local variable */
3504 /* Register variable[1]: Local variable */
3505 variable
[1] = param0
;
3506 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_TableEltComposite
].i
]) return;
3507 /* Register variable[2]: Method return value and escape marker */
3508 ATTR_compiling_global___TableEltComposite____cc(variable
[0]) /*TableEltComposite::_cc*/ = variable
[1] /*cc*/;
3509 /* Register variable[3]: Result */
3510 variable
[3] = NEW_Array_array___Array___init() /*new Array[TableElt]*/;
3511 ATTR_compiling_global___TableEltComposite____table(variable
[0]) /*TableEltComposite::_table*/ = variable
[3];
3512 /* Register variable[3]: Result */
3513 variable
[3] = NEW_HashMap_hash___HashMap___init() /*new HashMap[MMLocalClass, Int]*/;
3514 ATTR_compiling_global___TableEltComposite____offsets(variable
[0]) /*TableEltComposite::_offsets*/ = variable
[3];
3515 return_label166
: while(false);
3516 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_TableEltComposite
].i
] = 1;
3517 tracehead
= trace
.prev
;
3520 val_t
compiling_global___TableEltClassSelfId___is_related_to(val_t self
, val_t param0
) {
3521 struct trace_t trace
= {NULL
, NULL
, 765, LOCATE_compiling_global___TableEltClassSelfId___is_related_to
};
3523 struct WBT_
**closurevariable
= NULL
;
3524 trace
.prev
= tracehead
; tracehead
= &trace
;
3525 trace
.file
= LOCATE_compiling_global
;
3526 /* Register variable[0]: Local variable */
3528 /* Register variable[1]: Local variable */
3529 variable
[1] = param0
;
3530 /* Register variable[2]: Method return value and escape marker */
3531 variable
[2] = TAG_Bool(true);
3532 goto return_label167
;
3533 return_label167
: while(false);
3534 tracehead
= trace
.prev
;
3537 val_t
compiling_global___TableEltClassSelfId___compile_to_c(val_t self
, val_t param0
, val_t param1
) {
3538 struct trace_t trace
= {NULL
, NULL
, 766, LOCATE_compiling_global___TableEltClassSelfId___compile_to_c
};
3539 static val_t once_value_169
= NIT_NULL
; /* Once value for string variable[6]*/
3540 static val_t once_value_170
= NIT_NULL
; /* Once value for string variable[6]*/
3541 static val_t once_value_171
= NIT_NULL
; /* Once value for string variable[6]*/
3543 struct WBT_
**closurevariable
= NULL
;
3544 trace
.prev
= tracehead
; tracehead
= &trace
;
3545 trace
.file
= LOCATE_compiling_global
;
3546 /* Register variable[0]: Local variable */
3548 /* Register variable[1]: Local variable */
3549 variable
[1] = param0
;
3550 /* Register variable[2]: Local variable */
3551 variable
[2] = param1
;
3552 /* Register variable[3]: Method return value and escape marker */
3553 /* Register variable[4]: Local variable */
3554 /* Register variable[5]: Result */
3555 variable
[5] = CALL_compiling_global___GlobalCompilerVisitor___global_analysis( variable
[1] /*v*/)( variable
[1] /*v*/) /*GlobalCompilerVisitor::global_analysis*/;
3556 variable
[4] = variable
[5];
3557 variable
[5] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
3558 /* Register variable[6]: Once String constant */
3559 if (once_value_169
!= NIT_NULL
) variable
[6] = once_value_169
;
3561 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
3562 once_value_169
= variable
[6];
3564 /* Register variable[6]: Result */
3565 /* Ensure var variable[6]: super-string element*/
3566 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[6]) /*AbstractArray::add*/;
3567 /* Register variable[6]: Result */
3568 variable
[6] = CALL_compiling_global___GlobalCompilerVisitor___global_analysis( variable
[1] /*v*/)( variable
[1] /*v*/) /*GlobalCompilerVisitor::global_analysis*/;
3569 /* Register variable[6]: Result */
3570 variable
[6] = CALL_compiling_global___GlobalAnalysis___compiled_classes(variable
[6])(variable
[6]) /*GlobalAnalysis::compiled_classes*/;
3571 /* Register variable[7]: Result */
3572 variable
[7] = CALL_abstractmetamodel___MMLocalClass___global( variable
[2] /*c*/)( variable
[2] /*c*/) /*MMLocalClass::global*/;
3573 /* Register variable[6]: Result */
3574 variable
[6] = CALL_abstract_collection___MapRead_____bra(variable
[6])(variable
[6], variable
[7]) /*CoupleMap::[]*/;
3575 /* Register variable[6]: Result */
3576 variable
[6] = CALL_compiling_global___CompiledClass___id(variable
[6])(variable
[6]) /*CompiledClass::id*/;
3577 /* Ensure var variable[6]: super-string element*/
3578 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], CALL_string___Object___to_s(variable
[6])(variable
[6]) /*Object::to_s*/) /*AbstractArray::add*/;
3579 /* Register variable[6]: Once String constant */
3580 if (once_value_170
!= NIT_NULL
) variable
[6] = once_value_170
;
3582 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString(" /* "), TAG_Int(4)) /*new String*/;
3583 once_value_170
= variable
[6];
3585 /* Register variable[6]: Result */
3586 /* Ensure var variable[6]: super-string element*/
3587 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[6]) /*AbstractArray::add*/;
3588 /* Register variable[6]: Result */
3589 variable
[6] = CALL_compiling_global___ColorContext___color( variable
[4] /*ga*/)( variable
[4] /*ga*/, variable
[0]) /*ColorContext::color*/;
3590 /* Ensure var variable[6]: super-string element*/
3591 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], CALL_string___Object___to_s(variable
[6])(variable
[6]) /*Object::to_s*/) /*AbstractArray::add*/;
3592 /* Register variable[6]: Once String constant */
3593 if (once_value_171
!= NIT_NULL
) variable
[6] = once_value_171
;
3595 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString(": Identity */"), TAG_Int(13)) /*new String*/;
3596 once_value_171
= variable
[6];
3598 /* Register variable[6]: Result */
3599 /* Ensure var variable[6]: super-string element*/
3600 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[6]) /*AbstractArray::add*/;
3601 /* Register variable[5]: Result */
3602 variable
[5] = CALL_string___Object___to_s(variable
[5])(variable
[5]) /*Object::to_s*/;
3603 variable
[3] = variable
[5];
3604 goto return_label168
;
3605 return_label168
: while(false);
3606 tracehead
= trace
.prev
;
3609 val_t
compiling_global___TableEltVftPointer___is_related_to(val_t self
, val_t param0
) {
3610 struct trace_t trace
= {NULL
, NULL
, 776, LOCATE_compiling_global___TableEltVftPointer___is_related_to
};
3612 struct WBT_
**closurevariable
= NULL
;
3613 trace
.prev
= tracehead
; tracehead
= &trace
;
3614 trace
.file
= LOCATE_compiling_global
;
3615 /* Register variable[0]: Local variable */
3617 /* Register variable[1]: Local variable */
3618 variable
[1] = param0
;
3619 /* Register variable[2]: Method return value and escape marker */
3620 variable
[2] = TAG_Bool(true);
3621 goto return_label172
;
3622 return_label172
: while(false);
3623 tracehead
= trace
.prev
;
3626 val_t
compiling_global___TableEltVftPointer___compile_to_c(val_t self
, val_t param0
, val_t param1
) {
3627 struct trace_t trace
= {NULL
, NULL
, 777, LOCATE_compiling_global___TableEltVftPointer___compile_to_c
};
3628 static val_t once_value_174
= NIT_NULL
; /* Once value for string variable[6]*/
3629 static val_t once_value_175
= NIT_NULL
; /* Once value for string variable[6]*/
3631 struct WBT_
**closurevariable
= NULL
;
3632 trace
.prev
= tracehead
; tracehead
= &trace
;
3633 trace
.file
= LOCATE_compiling_global
;
3634 /* Register variable[0]: Local variable */
3636 /* Register variable[1]: Local variable */
3637 variable
[1] = param0
;
3638 /* Register variable[2]: Local variable */
3639 variable
[2] = param1
;
3640 /* Register variable[3]: Method return value and escape marker */
3641 /* Register variable[4]: Local variable */
3642 /* Register variable[5]: Result */
3643 variable
[5] = CALL_compiling_global___GlobalCompilerVisitor___global_analysis( variable
[1] /*v*/)( variable
[1] /*v*/) /*GlobalCompilerVisitor::global_analysis*/;
3644 variable
[4] = variable
[5];
3645 variable
[5] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
3646 /* Register variable[6]: Once String constant */
3647 if (once_value_174
!= NIT_NULL
) variable
[6] = once_value_174
;
3649 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString("/* "), TAG_Int(3)) /*new String*/;
3650 once_value_174
= variable
[6];
3652 /* Register variable[6]: Result */
3653 /* Ensure var variable[6]: super-string element*/
3654 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[6]) /*AbstractArray::add*/;
3655 /* Register variable[6]: Result */
3656 variable
[6] = CALL_compiling_global___ColorContext___color( variable
[4] /*ga*/)( variable
[4] /*ga*/, variable
[0]) /*ColorContext::color*/;
3657 /* Ensure var variable[6]: super-string element*/
3658 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], CALL_string___Object___to_s(variable
[6])(variable
[6]) /*Object::to_s*/) /*AbstractArray::add*/;
3659 /* Register variable[6]: Once String constant */
3660 if (once_value_175
!= NIT_NULL
) variable
[6] = once_value_175
;
3662 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString(": Pointer to the classtable */"), TAG_Int(30)) /*new String*/;
3663 once_value_175
= variable
[6];
3665 /* Register variable[6]: Result */
3666 /* Ensure var variable[6]: super-string element*/
3667 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[6]) /*AbstractArray::add*/;
3668 /* Register variable[5]: Result */
3669 variable
[5] = CALL_string___Object___to_s(variable
[5])(variable
[5]) /*Object::to_s*/;
3670 variable
[3] = variable
[5];
3671 goto return_label173
;
3672 return_label173
: while(false);
3673 tracehead
= trace
.prev
;
3676 val_t
compiling_global___ClassSorter___compare(val_t self
, val_t param0
, val_t param1
) {
3677 struct trace_t trace
= {NULL
, NULL
, 790, LOCATE_compiling_global___ClassSorter___compare
};
3679 struct WBT_
**closurevariable
= NULL
;
3680 trace
.prev
= tracehead
; tracehead
= &trace
;
3681 trace
.file
= LOCATE_compiling_global
;
3682 /* Register variable[0]: Local variable */
3684 /* Register variable[1]: Local variable */
3685 variable
[1] = param0
;
3686 /* Register variable[2]: Local variable */
3687 variable
[2] = param1
;
3688 /* Register variable[3]: Method return value and escape marker */
3689 /* Register variable[4]: Result */
3690 variable
[4] = CALL_compiling_global___MMLocalClass___compare( variable
[1] /*a*/)( variable
[1] /*a*/, variable
[2] /*b*/) /*MMLocalClass::compare*/;
3691 variable
[3] = variable
[4];
3692 goto return_label176
;
3693 return_label176
: while(false);
3694 tracehead
= trace
.prev
;
3697 void compiling_global___ClassSorter___init(val_t self
, int* init_table
) {
3698 struct trace_t trace
= {NULL
, NULL
, 791, LOCATE_compiling_global___ClassSorter___init
};
3700 struct WBT_
**closurevariable
= NULL
;
3701 trace
.prev
= tracehead
; tracehead
= &trace
;
3702 trace
.file
= LOCATE_compiling_global
;
3703 /* Register variable[0]: Local variable */
3705 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_ClassSorter
].i
]) return;
3706 /* Register variable[1]: Method return value and escape marker */
3707 return_label177
: while(false);
3708 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_ClassSorter
].i
] = 1;
3709 tracehead
= trace
.prev
;
3712 val_t
compiling_global___MMLocalClass___compare(val_t self
, val_t param0
) {
3713 struct trace_t trace
= {NULL
, NULL
, 795, LOCATE_compiling_global___MMLocalClass___compare
};
3715 struct WBT_
**closurevariable
= NULL
;
3716 trace
.prev
= tracehead
; tracehead
= &trace
;
3717 trace
.file
= LOCATE_compiling_global
;
3718 /* Register variable[0]: Local variable */
3720 /* Register variable[1]: Local variable */
3721 variable
[1] = param0
;
3722 /* Register variable[2]: Method return value and escape marker */
3723 /* Register variable[3]: Local variable */
3724 variable
[3] = variable
[0];
3725 /* Register variable[4]: Result */
3726 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::==*/)))));
3727 if (UNTAG_Bool(variable
[4])) { /*if*/
3728 variable
[2] = TAG_Int(0);
3729 goto return_label178
;
3731 /* Register variable[4]: Result */
3732 variable
[4] = CALL_abstractmetamodel___MMLocalClass___module( variable
[3] /*a*/)( variable
[3] /*a*/) /*MMLocalClass::module*/;
3733 /* Register variable[4]: Result */
3734 variable
[4] = CALL_abstractmetamodel___MMModule___mhe(variable
[4])(variable
[4]) /*MMModule::mhe*/;
3735 /* Register variable[5]: Result */
3736 variable
[5] = CALL_abstractmetamodel___MMLocalClass___module( variable
[1] /*b*/)( variable
[1] /*b*/) /*MMLocalClass::module*/;
3737 /* Register variable[4]: Result */
3738 variable
[4] = CALL_partial_order___PartialOrderElement_____l(variable
[4])(variable
[4], variable
[5]) /*PartialOrderElement::<*/;
3739 if (UNTAG_Bool(variable
[4])) { /*if*/
3740 variable
[2] = TAG_Int(1);
3741 goto return_label178
;
3743 /* Register variable[4]: Result */
3744 variable
[4] = CALL_abstractmetamodel___MMLocalClass___module( variable
[1] /*b*/)( variable
[1] /*b*/) /*MMLocalClass::module*/;
3745 /* Register variable[4]: Result */
3746 variable
[4] = CALL_abstractmetamodel___MMModule___mhe(variable
[4])(variable
[4]) /*MMModule::mhe*/;
3747 /* Register variable[5]: Result */
3748 variable
[5] = CALL_abstractmetamodel___MMLocalClass___module( variable
[3] /*a*/)( variable
[3] /*a*/) /*MMLocalClass::module*/;
3749 /* Register variable[4]: Result */
3750 variable
[4] = CALL_partial_order___PartialOrderElement_____l(variable
[4])(variable
[4], variable
[5]) /*PartialOrderElement::<*/;
3751 if (UNTAG_Bool(variable
[4])) { /*if*/
3752 /* Register variable[4]: Result */
3753 variable
[4] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
3754 variable
[2] = variable
[4];
3755 goto return_label178
;
3759 /* Register variable[4]: Local variable */
3760 /* Register variable[5]: Result */
3761 variable
[5] = CALL_abstractmetamodel___MMLocalClass___cshe( variable
[3] /*a*/)( variable
[3] /*a*/) /*MMLocalClass::cshe*/;
3762 /* Register variable[5]: Result */
3763 variable
[5] = CALL_partial_order___PartialOrderElement___rank(variable
[5])(variable
[5]) /*PartialOrderElement::rank*/;
3764 variable
[4] = variable
[5];
3765 /* Register variable[5]: Local variable */
3766 /* Register variable[6]: Result */
3767 variable
[6] = CALL_abstractmetamodel___MMLocalClass___cshe( variable
[1] /*b*/)( variable
[1] /*b*/) /*MMLocalClass::cshe*/;
3768 /* Register variable[6]: Result */
3769 variable
[6] = CALL_partial_order___PartialOrderElement___rank(variable
[6])(variable
[6]) /*PartialOrderElement::rank*/;
3770 variable
[5] = variable
[6];
3771 /* Register variable[6]: Result */
3772 variable
[6] = TAG_Bool(UNTAG_Int( variable
[4] /*ar*/)>UNTAG_Int( variable
[5] /*br*/));
3773 if (UNTAG_Bool(variable
[6])) { /*if*/
3774 variable
[2] = TAG_Int(1);
3775 goto return_label178
;
3777 /* Register variable[6]: Result */
3778 variable
[6] = TAG_Bool(UNTAG_Int( variable
[5] /*br*/)>UNTAG_Int( variable
[4] /*ar*/));
3779 if (UNTAG_Bool(variable
[6])) { /*if*/
3780 /* Register variable[6]: Result */
3781 variable
[6] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
3782 variable
[2] = variable
[6];
3783 goto return_label178
;
3785 /* Register variable[6]: Result */
3786 variable
[6] = CALL_abstractmetamodel___MMLocalClass___name( variable
[1] /*b*/)( variable
[1] /*b*/) /*MMLocalClass::name*/;
3787 /* Register variable[6]: Result */
3788 variable
[6] = CALL_string___Object___to_s(variable
[6])(variable
[6]) /*Symbol::to_s*/;
3789 /* Register variable[7]: Result */
3790 variable
[7] = CALL_abstractmetamodel___MMLocalClass___name( variable
[3] /*a*/)( variable
[3] /*a*/) /*MMLocalClass::name*/;
3791 /* Register variable[7]: Result */
3792 variable
[7] = CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Symbol::to_s*/;
3793 /* Register variable[6]: Result */
3794 variable
[6] = CALL_kernel___Comparable_____leqg(variable
[6])(variable
[6], variable
[7]) /*Comparable::<=>*/;
3795 variable
[2] = variable
[6];
3796 goto return_label178
;
3799 return_label178
: while(false);
3800 tracehead
= trace
.prev
;
3803 void compiling_global___MMLocalClass___declare_tables_to_c(val_t self
, val_t param0
) {
3804 struct trace_t trace
= {NULL
, NULL
, 817, LOCATE_compiling_global___MMLocalClass___declare_tables_to_c
};
3805 static val_t once_value_180
= NIT_NULL
; /* Once value for string variable[3]*/
3806 static val_t once_value_181
= NIT_NULL
; /* Once value for string variable[5]*/
3807 static val_t once_value_182
= NIT_NULL
; /* Once value for string variable[5]*/
3808 static val_t once_value_183
= NIT_NULL
; /* Once value for string variable[7]*/
3809 static val_t once_value_184
= NIT_NULL
; /* Once value for string variable[7]*/
3810 static val_t once_value_185
= NIT_NULL
; /* Once value for string variable[7]*/
3811 static val_t once_value_186
= NIT_NULL
; /* Once value for string variable[7]*/
3812 static val_t once_value_187
= NIT_NULL
; /* Once value for string variable[7]*/
3813 static val_t once_value_188
= NIT_NULL
; /* Once value for string variable[7]*/
3814 static val_t once_value_189
= NIT_NULL
; /* Once value for string variable[7]*/
3815 static val_t once_value_190
= NIT_NULL
; /* Once value for string variable[7]*/
3816 static val_t once_value_191
= NIT_NULL
; /* Once value for string variable[7]*/
3817 static val_t once_value_192
= NIT_NULL
; /* Once value for string variable[7]*/
3818 static val_t once_value_193
= NIT_NULL
; /* Once value for string variable[7]*/
3820 struct WBT_
**closurevariable
= NULL
;
3821 trace
.prev
= tracehead
; tracehead
= &trace
;
3822 trace
.file
= LOCATE_compiling_global
;
3823 /* Register variable[0]: Local variable */
3825 /* Register variable[1]: Local variable */
3826 variable
[1] = param0
;
3827 /* Register variable[2]: Method return value and escape marker */
3828 /* Register variable[3]: Once String constant */
3829 if (once_value_180
!= NIT_NULL
) variable
[3] = once_value_180
;
3831 variable
[3] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
3832 once_value_180
= variable
[3];
3834 /* Register variable[3]: Result */
3835 CALL_compiling_base___CompilerVisitor___add_decl( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[3]) /*CompilerVisitor::add_decl*/;
3836 /* Register variable[3]: Local variable */
3837 /* Register variable[4]: Result */
3838 variable
[4] = CALL_compiling_base___MMLocalClass___primitive_info(variable
[0])(variable
[0]) /*MMLocalClass::primitive_info*/;
3839 variable
[3] = variable
[4];
3840 variable
[4] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
3841 /* Register variable[5]: Once String constant */
3842 if (once_value_181
!= NIT_NULL
) variable
[5] = once_value_181
;
3844 variable
[5] = NEW_String_string___String___with_native(BOX_NativeString("extern const classtable_elt_t VFT_"), TAG_Int(34)) /*new String*/;
3845 once_value_181
= variable
[5];
3847 /* Register variable[5]: Result */
3848 /* Ensure var variable[5]: super-string element*/
3849 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], variable
[5]) /*AbstractArray::add*/;
3850 /* Register variable[5]: Result */
3851 variable
[5] = CALL_abstractmetamodel___MMLocalClass___name(variable
[0])(variable
[0]) /*MMLocalClass::name*/;
3852 /* Ensure var variable[5]: super-string element*/
3853 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], CALL_string___Object___to_s(variable
[5])(variable
[5]) /*Object::to_s*/) /*AbstractArray::add*/;
3854 /* Register variable[5]: Once String constant */
3855 if (once_value_182
!= NIT_NULL
) variable
[5] = once_value_182
;
3857 variable
[5] = NEW_String_string___String___with_native(BOX_NativeString("[];"), TAG_Int(3)) /*new String*/;
3858 once_value_182
= variable
[5];
3860 /* Register variable[5]: Result */
3861 /* Ensure var variable[5]: super-string element*/
3862 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], variable
[5]) /*AbstractArray::add*/;
3863 /* Register variable[4]: Result */
3864 variable
[4] = CALL_string___Object___to_s(variable
[4])(variable
[4]) /*Object::to_s*/;
3865 CALL_compiling_base___CompilerVisitor___add_decl( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[4]) /*CompilerVisitor::add_decl*/;
3866 /* Register variable[4]: Result */
3867 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::==*/)))));
3868 if (UNTAG_Bool(variable
[4])) { /*if*/
3870 /* Register variable[4]: Result */
3871 variable
[4] = CALL_compiling_base___PrimitiveInfo___tagged( variable
[3] /*pi*/)( variable
[3] /*pi*/) /*PrimitiveInfo::tagged*/;
3872 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable
[4])))) { /*if*/
3873 /* Register variable[4]: Local variable */
3874 /* Register variable[5]: Result */
3875 variable
[5] = CALL_compiling_base___PrimitiveInfo___cname( variable
[3] /*pi*/)( variable
[3] /*pi*/) /*PrimitiveInfo::cname*/;
3876 variable
[4] = variable
[5];
3877 /* Register variable[5]: Local variable */
3878 variable
[6] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
3879 /* Register variable[7]: Once String constant */
3880 if (once_value_183
!= NIT_NULL
) variable
[7] = once_value_183
;
3882 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString("struct TBOX_"), TAG_Int(12)) /*new String*/;
3883 once_value_183
= variable
[7];
3885 /* Register variable[7]: Result */
3886 /* Ensure var variable[7]: super-string element*/
3887 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
3888 /* Register variable[7]: Result */
3889 variable
[7] = CALL_abstractmetamodel___MMLocalClass___name(variable
[0])(variable
[0]) /*MMLocalClass::name*/;
3890 /* Ensure var variable[7]: super-string element*/
3891 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/) /*AbstractArray::add*/;
3892 /* Register variable[7]: Once String constant */
3893 if (once_value_184
!= NIT_NULL
) variable
[7] = once_value_184
;
3895 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
3896 once_value_184
= variable
[7];
3898 /* Register variable[7]: Result */
3899 /* Ensure var variable[7]: super-string element*/
3900 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
3901 /* Register variable[6]: Result */
3902 variable
[6] = CALL_string___Object___to_s(variable
[6])(variable
[6]) /*Object::to_s*/;
3903 variable
[5] = variable
[6];
3904 variable
[6] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
3905 /* Register variable[7]: Once String constant */
3906 if (once_value_185
!= NIT_NULL
) variable
[7] = once_value_185
;
3908 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
3909 once_value_185
= variable
[7];
3911 /* Register variable[7]: Result */
3912 /* Ensure var variable[7]: super-string element*/
3913 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
3914 variable
[7] = variable
[5] /*tbox*/ /* Ensure var: super-string element*/;
3915 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
3916 /* Register variable[7]: Once String constant */
3917 if (once_value_186
!= NIT_NULL
) variable
[7] = once_value_186
;
3919 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString(" { const classtable_elt_t * vft; "), TAG_Int(33)) /*new String*/;
3920 once_value_186
= variable
[7];
3922 /* Register variable[7]: Result */
3923 /* Ensure var variable[7]: super-string element*/
3924 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
3925 variable
[7] = variable
[4] /*t*/ /* Ensure var: super-string element*/;
3926 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
3927 /* Register variable[7]: Once String constant */
3928 if (once_value_187
!= NIT_NULL
) variable
[7] = once_value_187
;
3930 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString(" val;};"), TAG_Int(7)) /*new String*/;
3931 once_value_187
= variable
[7];
3933 /* Register variable[7]: Result */
3934 /* Ensure var variable[7]: super-string element*/
3935 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
3936 /* Register variable[6]: Result */
3937 variable
[6] = CALL_string___Object___to_s(variable
[6])(variable
[6]) /*Object::to_s*/;
3938 CALL_compiling_base___CompilerVisitor___add_decl( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[6]) /*CompilerVisitor::add_decl*/;
3939 variable
[6] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
3940 /* Register variable[7]: Once String constant */
3941 if (once_value_188
!= NIT_NULL
) variable
[7] = once_value_188
;
3943 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString("val_t BOX_"), TAG_Int(10)) /*new String*/;
3944 once_value_188
= variable
[7];
3946 /* Register variable[7]: Result */
3947 /* Ensure var variable[7]: super-string element*/
3948 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
3949 /* Register variable[7]: Result */
3950 variable
[7] = CALL_abstractmetamodel___MMLocalClass___name(variable
[0])(variable
[0]) /*MMLocalClass::name*/;
3951 /* Ensure var variable[7]: super-string element*/
3952 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/) /*AbstractArray::add*/;
3953 /* Register variable[7]: Once String constant */
3954 if (once_value_189
!= NIT_NULL
) variable
[7] = once_value_189
;
3956 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)) /*new String*/;
3957 once_value_189
= variable
[7];
3959 /* Register variable[7]: Result */
3960 /* Ensure var variable[7]: super-string element*/
3961 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
3962 variable
[7] = variable
[4] /*t*/ /* Ensure var: super-string element*/;
3963 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
3964 /* Register variable[7]: Once String constant */
3965 if (once_value_190
!= NIT_NULL
) variable
[7] = once_value_190
;
3967 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString(" val);"), TAG_Int(6)) /*new String*/;
3968 once_value_190
= variable
[7];
3970 /* Register variable[7]: Result */
3971 /* Ensure var variable[7]: super-string element*/
3972 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
3973 /* Register variable[6]: Result */
3974 variable
[6] = CALL_string___Object___to_s(variable
[6])(variable
[6]) /*Object::to_s*/;
3975 CALL_compiling_base___CompilerVisitor___add_decl( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[6]) /*CompilerVisitor::add_decl*/;
3976 variable
[6] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
3977 /* Register variable[7]: Once String constant */
3978 if (once_value_191
!= NIT_NULL
) variable
[7] = once_value_191
;
3980 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString("#define UNBOX_"), TAG_Int(14)) /*new String*/;
3981 once_value_191
= variable
[7];
3983 /* Register variable[7]: Result */
3984 /* Ensure var variable[7]: super-string element*/
3985 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
3986 /* Register variable[7]: Result */
3987 variable
[7] = CALL_abstractmetamodel___MMLocalClass___name(variable
[0])(variable
[0]) /*MMLocalClass::name*/;
3988 /* Ensure var variable[7]: super-string element*/
3989 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/) /*AbstractArray::add*/;
3990 /* Register variable[7]: Once String constant */
3991 if (once_value_192
!= NIT_NULL
) variable
[7] = once_value_192
;
3993 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString("(x) ((("), TAG_Int(7)) /*new String*/;
3994 once_value_192
= variable
[7];
3996 /* Register variable[7]: Result */
3997 /* Ensure var variable[7]: super-string element*/
3998 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
3999 variable
[7] = variable
[5] /*tbox*/ /* Ensure var: super-string element*/;
4000 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
4001 /* Register variable[7]: Once String constant */
4002 if (once_value_193
!= NIT_NULL
) variable
[7] = once_value_193
;
4004 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString(" *)(VAL2OBJ(x)))->val)"), TAG_Int(22)) /*new String*/;
4005 once_value_193
= variable
[7];
4007 /* Register variable[7]: Result */
4008 /* Ensure var variable[7]: super-string element*/
4009 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
4010 /* Register variable[6]: Result */
4011 variable
[6] = CALL_string___Object___to_s(variable
[6])(variable
[6]) /*Object::to_s*/;
4012 CALL_compiling_base___CompilerVisitor___add_decl( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[6]) /*CompilerVisitor::add_decl*/;
4015 return_label179
: while(false);
4016 tracehead
= trace
.prev
;
4019 void compiling_global___MMLocalClass___compile_tables_to_c(val_t self
, val_t param0
) {
4020 struct trace_t trace
= {NULL
, NULL
, 834, LOCATE_compiling_global___MMLocalClass___compile_tables_to_c
};
4021 static val_t once_value_195
= NIT_NULL
; /* Once value for string variable[7]*/
4022 static val_t once_value_196
= NIT_NULL
; /* Once value for string variable[7]*/
4023 static val_t once_value_197
= NIT_NULL
; /* Once value for string variable[7]*/
4024 static val_t once_value_199
= NIT_NULL
; /* Once value for string variable[9]*/
4025 static val_t once_value_200
= NIT_NULL
; /* Once value for string variable[10]*/
4026 static val_t once_value_201
= NIT_NULL
; /* Once value for string variable[10]*/
4027 static val_t once_value_202
= NIT_NULL
; /* Once value for string variable[6]*/
4028 static val_t once_value_203
= NIT_NULL
; /* Once value for string variable[6]*/
4029 static val_t once_value_205
= NIT_NULL
; /* Once value for string variable[10]*/
4030 static val_t once_value_206
= NIT_NULL
; /* Once value for string variable[10]*/
4031 static val_t once_value_207
= NIT_NULL
; /* Once value for string variable[10]*/
4032 static val_t once_value_208
= NIT_NULL
; /* Once value for string variable[9]*/
4033 static val_t once_value_209
= NIT_NULL
; /* Once value for string variable[12]*/
4034 static val_t once_value_210
= NIT_NULL
; /* Once value for string variable[13]*/
4035 static val_t once_value_211
= NIT_NULL
; /* Once value for string variable[13]*/
4036 static val_t once_value_212
= NIT_NULL
; /* Once value for string variable[13]*/
4037 static val_t once_value_213
= NIT_NULL
; /* Once value for string variable[13]*/
4038 static val_t once_value_214
= NIT_NULL
; /* Once value for string variable[12]*/
4039 static val_t once_value_216
= NIT_NULL
; /* Once value for string variable[21]*/
4040 static val_t once_value_217
= NIT_NULL
; /* Once value for string variable[21]*/
4041 static val_t once_value_218
= NIT_NULL
; /* Once value for string variable[21]*/
4042 static val_t once_value_219
= NIT_NULL
; /* Once value for string variable[12]*/
4043 static val_t once_value_220
= NIT_NULL
; /* Once value for string variable[12]*/
4044 static val_t once_value_221
= NIT_NULL
; /* Once value for string variable[14]*/
4045 static val_t once_value_222
= NIT_NULL
; /* Once value for string variable[14]*/
4046 static val_t once_value_223
= NIT_NULL
; /* Once value for string variable[13]*/
4047 static val_t once_value_225
= NIT_NULL
; /* Once value for string variable[20]*/
4048 static val_t once_value_226
= NIT_NULL
; /* Once value for string variable[20]*/
4049 static val_t once_value_227
= NIT_NULL
; /* Once value for string variable[20]*/
4050 static val_t once_value_228
= NIT_NULL
; /* Once value for string variable[14]*/
4051 static val_t once_value_229
= NIT_NULL
; /* Once value for string variable[17]*/
4052 static val_t once_value_230
= NIT_NULL
; /* Once value for string variable[17]*/
4053 static val_t once_value_231
= NIT_NULL
; /* Once value for string variable[17]*/
4054 static val_t once_value_232
= NIT_NULL
; /* Once value for string variable[17]*/
4055 static val_t once_value_234
= NIT_NULL
; /* Once value for string variable[23]*/
4056 static val_t once_value_236
= NIT_NULL
; /* Once value for string variable[26]*/
4057 static val_t once_value_237
= NIT_NULL
; /* Once value for string variable[26]*/
4058 static val_t once_value_238
= NIT_NULL
; /* Once value for string variable[26]*/
4059 static val_t once_value_239
= NIT_NULL
; /* Once value for string variable[26]*/
4060 static val_t once_value_240
= NIT_NULL
; /* Once value for string variable[22]*/
4061 static val_t once_value_241
= NIT_NULL
; /* Once value for string variable[24]*/
4062 static val_t once_value_242
= NIT_NULL
; /* Once value for string variable[24]*/
4063 static val_t once_value_243
= NIT_NULL
; /* Once value for string variable[24]*/
4064 static val_t once_value_244
= NIT_NULL
; /* Once value for string variable[24]*/
4065 static val_t once_value_245
= NIT_NULL
; /* Once value for string variable[24]*/
4066 static val_t once_value_246
= NIT_NULL
; /* Once value for string variable[24]*/
4067 static val_t once_value_247
= NIT_NULL
; /* Once value for string variable[24]*/
4068 static val_t once_value_248
= NIT_NULL
; /* Once value for string variable[24]*/
4069 static val_t once_value_249
= NIT_NULL
; /* Once value for string variable[24]*/
4070 static val_t once_value_250
= NIT_NULL
; /* Once value for string variable[24]*/
4071 static val_t once_value_251
= NIT_NULL
; /* Once value for string variable[24]*/
4072 static val_t once_value_252
= NIT_NULL
; /* Once value for string variable[24]*/
4073 static val_t once_value_253
= NIT_NULL
; /* Once value for string variable[24]*/
4074 static val_t once_value_254
= NIT_NULL
; /* Once value for string variable[24]*/
4075 static val_t once_value_255
= NIT_NULL
; /* Once value for string variable[24]*/
4076 static val_t once_value_256
= NIT_NULL
; /* Once value for string variable[23]*/
4077 static val_t once_value_257
= NIT_NULL
; /* Once value for string variable[23]*/
4078 static val_t once_value_258
= NIT_NULL
; /* Once value for string variable[11]*/
4079 static val_t once_value_259
= NIT_NULL
; /* Once value for string variable[11]*/
4080 static val_t once_value_260
= NIT_NULL
; /* Once value for string variable[11]*/
4081 static val_t once_value_261
= NIT_NULL
; /* Once value for string variable[11]*/
4082 static val_t once_value_262
= NIT_NULL
; /* Once value for string variable[11]*/
4083 static val_t once_value_263
= NIT_NULL
; /* Once value for string variable[11]*/
4084 static val_t once_value_264
= NIT_NULL
; /* Once value for string variable[11]*/
4085 static val_t once_value_265
= NIT_NULL
; /* Once value for string variable[11]*/
4086 static val_t once_value_266
= NIT_NULL
; /* Once value for string variable[11]*/
4087 static val_t once_value_267
= NIT_NULL
; /* Once value for string variable[11]*/
4088 static val_t once_value_268
= NIT_NULL
; /* Once value for string variable[11]*/
4089 static val_t once_value_269
= NIT_NULL
; /* Once value for string variable[10]*/
4090 static val_t once_value_270
= NIT_NULL
; /* Once value for string variable[10]*/
4091 static val_t once_value_271
= NIT_NULL
; /* Once value for string variable[10]*/
4093 struct WBT_
**closurevariable
= NULL
;
4094 trace
.prev
= tracehead
; tracehead
= &trace
;
4095 trace
.file
= LOCATE_compiling_global
;
4096 /* Register variable[0]: Local variable */
4098 /* Register variable[1]: Local variable */
4099 variable
[1] = param0
;
4100 /* Register variable[2]: Method return value and escape marker */
4101 /* Register variable[3]: Local variable */
4102 /* Register variable[4]: Result */
4103 variable
[4] = CALL_compiling_global___GlobalCompilerVisitor___global_analysis( variable
[1] /*v*/)( variable
[1] /*v*/) /*GlobalCompilerVisitor::global_analysis*/;
4104 /* Register variable[4]: Result */
4105 variable
[4] = CALL_compiling_global___GlobalAnalysis___compiled_classes(variable
[4])(variable
[4]) /*GlobalAnalysis::compiled_classes*/;
4106 /* Register variable[5]: Result */
4107 variable
[5] = CALL_abstractmetamodel___MMLocalClass___global(variable
[0])(variable
[0]) /*MMLocalClass::global*/;
4108 /* Register variable[4]: Result */
4109 variable
[4] = CALL_abstract_collection___MapRead_____bra(variable
[4])(variable
[4], variable
[5]) /*CoupleMap::[]*/;
4110 variable
[3] = variable
[4];
4111 /* Register variable[4]: Local variable */
4112 /* Register variable[5]: Result */
4113 variable
[5] = CALL_compiling_global___CompiledClass___class_table( variable
[3] /*cc*/)( variable
[3] /*cc*/) /*CompiledClass::class_table*/;
4114 variable
[4] = variable
[5];
4115 /* Register variable[5]: Local variable */
4116 /* Register variable[6]: Result */
4117 variable
[6] = CALL_abstract_collection___Collection___length( variable
[4] /*ctab*/)( variable
[4] /*ctab*/) /*AbstractArrayRead::length*/;
4118 variable
[5] = variable
[6];
4119 /* Register variable[6]: Result */
4120 variable
[6] = CALL_compiling_global___GlobalCompilerVisitor___global_analysis( variable
[1] /*v*/)( variable
[1] /*v*/) /*GlobalCompilerVisitor::global_analysis*/;
4121 /* Register variable[6]: Result */
4122 variable
[6] = CALL_compiling_global___GlobalAnalysis___max_class_table_length(variable
[6])(variable
[6]) /*GlobalAnalysis::max_class_table_length*/;
4123 /* Register variable[7]: Result */
4124 variable
[7] = CALL_abstract_collection___Collection___length( variable
[4] /*ctab*/)( variable
[4] /*ctab*/) /*AbstractArrayRead::length*/;
4125 /* Register variable[6]: Result */
4126 variable
[6] = TAG_Bool(UNTAG_Int(variable
[6])>UNTAG_Int(variable
[7]));
4127 if (UNTAG_Bool(variable
[6])) { /*if*/
4128 /* Register variable[6]: Result */
4129 variable
[6] = CALL_compiling_global___GlobalCompilerVisitor___global_analysis( variable
[1] /*v*/)( variable
[1] /*v*/) /*GlobalCompilerVisitor::global_analysis*/;
4130 /* Register variable[6]: Result */
4131 variable
[6] = CALL_compiling_global___GlobalAnalysis___max_class_table_length(variable
[6])(variable
[6]) /*GlobalAnalysis::max_class_table_length*/;
4132 variable
[5] = variable
[6] /*clen=*/;
4134 variable
[6] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
4135 /* Register variable[7]: Once String constant */
4136 if (once_value_195
!= NIT_NULL
) variable
[7] = once_value_195
;
4138 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString("const classtable_elt_t VFT_"), TAG_Int(27)) /*new String*/;
4139 once_value_195
= variable
[7];
4141 /* Register variable[7]: Result */
4142 /* Ensure var variable[7]: super-string element*/
4143 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
4144 /* Register variable[7]: Result */
4145 variable
[7] = CALL_abstractmetamodel___MMLocalClass___name(variable
[0])(variable
[0]) /*MMLocalClass::name*/;
4146 /* Ensure var variable[7]: super-string element*/
4147 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/) /*AbstractArray::add*/;
4148 /* Register variable[7]: Once String constant */
4149 if (once_value_196
!= NIT_NULL
) variable
[7] = once_value_196
;
4151 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString("["), TAG_Int(1)) /*new String*/;
4152 once_value_196
= variable
[7];
4154 /* Register variable[7]: Result */
4155 /* Ensure var variable[7]: super-string element*/
4156 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
4157 variable
[7] = variable
[5] /*clen*/ /* Ensure var: super-string element*/;
4158 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/) /*AbstractArray::add*/;
4159 /* Register variable[7]: Once String constant */
4160 if (once_value_197
!= NIT_NULL
) variable
[7] = once_value_197
;
4162 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString("] = {"), TAG_Int(5)) /*new String*/;
4163 once_value_197
= variable
[7];
4165 /* Register variable[7]: Result */
4166 /* Ensure var variable[7]: super-string element*/
4167 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
4168 /* Register variable[6]: Result */
4169 variable
[6] = CALL_string___Object___to_s(variable
[6])(variable
[6]) /*Object::to_s*/;
4170 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[6]) /*CompilerVisitor::add_instr*/;
4171 CALL_compiling_base___CompilerVisitor___indent( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::indent*/;
4172 /* Register variable[6]: For iterator */
4173 variable
[6] = CALL_abstract_collection___Collection___iterator( variable
[4] /*ctab*/)( variable
[4] /*ctab*/) /*AbstractArrayRead::iterator*/;
4174 while (true) { /*for*/
4175 /* Register variable[7]: For 'is_ok' result */
4176 variable
[7] = CALL_abstract_collection___Iterator___is_ok(variable
[6])(variable
[6]) /*ArrayIterator::is_ok*/;
4177 if (!UNTAG_Bool(variable
[7])) break; /*for*/
4178 variable
[7] = CALL_abstract_collection___Iterator___item(variable
[6])(variable
[6]) /*ArrayIterator::item*/ /* Ensure var: For item*/;
4179 /* Register variable[8]: Local variable */
4180 variable
[8] = variable
[7];
4181 /* Register variable[9]: Result */
4182 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::==*/)))));
4183 if (UNTAG_Bool(variable
[9])) { /*if*/
4184 /* Register variable[9]: Once String constant */
4185 if (once_value_199
!= NIT_NULL
) variable
[9] = once_value_199
;
4187 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("{0} /* Class Hole :( */,"), TAG_Int(24)) /*new String*/;
4188 once_value_199
= variable
[9];
4190 /* Register variable[9]: Result */
4191 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[9]) /*CompilerVisitor::add_instr*/;
4193 variable
[9] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
4194 /* Register variable[10]: Once String constant */
4195 if (once_value_200
!= NIT_NULL
) variable
[10] = once_value_200
;
4197 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString("{(bigint) "), TAG_Int(10)) /*new String*/;
4198 once_value_200
= variable
[10];
4200 /* Register variable[10]: Result */
4201 /* Ensure var variable[10]: super-string element*/
4202 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[10]) /*AbstractArray::add*/;
4203 /* Register variable[10]: Result */
4204 variable
[10] = CALL_compiling_global___TableElt___compile_to_c( variable
[8] /*e*/)( variable
[8] /*e*/, variable
[1] /*v*/, variable
[0]) /*TableElt::compile_to_c*/;
4205 /* Ensure var variable[10]: super-string element*/
4206 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[10]) /*AbstractArray::add*/;
4207 /* Register variable[10]: Once String constant */
4208 if (once_value_201
!= NIT_NULL
) variable
[10] = once_value_201
;
4210 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString("},"), TAG_Int(2)) /*new String*/;
4211 once_value_201
= variable
[10];
4213 /* Register variable[10]: Result */
4214 /* Ensure var variable[10]: super-string element*/
4215 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[10]) /*AbstractArray::add*/;
4216 /* Register variable[9]: Result */
4217 variable
[9] = CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/;
4218 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[9]) /*CompilerVisitor::add_instr*/;
4220 continue_198
: while(0);
4221 CALL_abstract_collection___Iterator___next(variable
[6])(variable
[6]) /*ArrayIterator::next*/;
4223 break_198
: while(0);
4224 /* Register variable[6]: Result */
4225 variable
[6] = CALL_abstract_collection___Collection___length( variable
[4] /*ctab*/)( variable
[4] /*ctab*/) /*AbstractArrayRead::length*/;
4226 /* Register variable[6]: Result */
4227 variable
[6] = TAG_Bool(UNTAG_Int( variable
[5] /*clen*/)>UNTAG_Int(variable
[6]));
4228 if (UNTAG_Bool(variable
[6])) { /*if*/
4229 /* Register variable[6]: Once String constant */
4230 if (once_value_202
!= NIT_NULL
) variable
[6] = once_value_202
;
4232 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString("{0},"), TAG_Int(4)) /*new String*/;
4233 once_value_202
= variable
[6];
4235 /* Register variable[6]: Result */
4236 /* Register variable[7]: Result */
4237 variable
[7] = CALL_abstract_collection___Collection___length( variable
[4] /*ctab*/)( variable
[4] /*ctab*/) /*AbstractArrayRead::length*/;
4238 /* Register variable[7]: Result */
4239 variable
[7] = TAG_Int(UNTAG_Int( variable
[5] /*clen*/)-UNTAG_Int(variable
[7]));
4240 /* Register variable[6]: Result */
4241 variable
[6] = CALL_string___String_____star(variable
[6])(variable
[6], variable
[7]) /*String::**/;
4242 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[6]) /*CompilerVisitor::add_instr*/;
4244 CALL_compiling_base___CompilerVisitor___unindent( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::unindent*/;
4245 /* Register variable[6]: Once String constant */
4246 if (once_value_203
!= NIT_NULL
) variable
[6] = once_value_203
;
4248 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString("};"), TAG_Int(2)) /*new String*/;
4249 once_value_203
= variable
[6];
4251 /* Register variable[6]: Result */
4252 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[6]) /*CompilerVisitor::add_instr*/;
4253 /* Register variable[6]: Local variable */
4254 /* Register variable[7]: Result */
4255 variable
[7] = CALL_compiling_global___CompiledClass___instance_table( variable
[3] /*cc*/)( variable
[3] /*cc*/) /*CompiledClass::instance_table*/;
4256 variable
[6] = variable
[7];
4257 /* Register variable[7]: For iterator */
4258 variable
[7] = CALL_abstract_collection___Collection___iterator( variable
[6] /*itab*/)( variable
[6] /*itab*/) /*AbstractArrayRead::iterator*/;
4259 while (true) { /*for*/
4260 /* Register variable[8]: For 'is_ok' result */
4261 variable
[8] = CALL_abstract_collection___Iterator___is_ok(variable
[7])(variable
[7]) /*ArrayIterator::is_ok*/;
4262 if (!UNTAG_Bool(variable
[8])) break; /*for*/
4263 variable
[8] = CALL_abstract_collection___Iterator___item(variable
[7])(variable
[7]) /*ArrayIterator::item*/ /* Ensure var: For item*/;
4264 /* Register variable[9]: Local variable */
4265 variable
[9] = variable
[8];
4266 /* Register variable[10]: Result */
4267 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::==*/)))));
4268 if (UNTAG_Bool(variable
[10])) { /*if*/
4269 /* Register variable[10]: Once String constant */
4270 if (once_value_205
!= NIT_NULL
) variable
[10] = once_value_205
;
4272 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString("/* Instance Hole :( */"), TAG_Int(22)) /*new String*/;
4273 once_value_205
= variable
[10];
4275 /* Register variable[10]: Result */
4276 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[10]) /*CompilerVisitor::add_instr*/;
4278 /* Register variable[10]: Result */
4279 variable
[10] = CALL_compiling_global___TableElt___compile_to_c( variable
[9] /*e*/)( variable
[9] /*e*/, variable
[1] /*v*/, variable
[0]) /*TableElt::compile_to_c*/;
4280 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[10]) /*CompilerVisitor::add_instr*/;
4282 continue_204
: while(0);
4283 CALL_abstract_collection___Iterator___next(variable
[7])(variable
[7]) /*ArrayIterator::next*/;
4285 break_204
: while(0);
4286 /* Register variable[7]: Local variable */
4287 /* Register variable[8]: Result */
4288 variable
[8] = CALL_compiling_base___MMLocalClass___primitive_info(variable
[0])(variable
[0]) /*MMLocalClass::primitive_info*/;
4289 variable
[7] = variable
[8];
4290 /* Register variable[8]: Result */
4291 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::==*/)))));
4292 if (UNTAG_Bool(variable
[8])) { /*if*/
4293 /* Register variable[8]: Result */
4294 variable
[8] = NEW_CFunctionContext_compiling_methods___CFunctionContext___init( variable
[1] /*v*/) /*new CFunctionContext*/;
4295 CALL_compiling_methods___CompilerVisitor___cfc__eq( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[8]) /*CompilerVisitor::cfc=*/;
4296 /* Register variable[8]: Result */
4297 variable
[8] = NEW_NitMethodContext_compiling_methods___NitMethodContext___init( NIT_NULL
/*null*/) /*new NitMethodContext*/;
4298 CALL_compiling_methods___CompilerVisitor___nmc__eq( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[8]) /*CompilerVisitor::nmc=*/;
4299 /* Register variable[8]: Local variable */
4300 variable
[9] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
4301 /* Register variable[10]: Once String constant */
4302 if (once_value_206
!= NIT_NULL
) variable
[10] = once_value_206
;
4304 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString("val_t NEW_"), TAG_Int(10)) /*new String*/;
4305 once_value_206
= variable
[10];
4307 /* Register variable[10]: Result */
4308 /* Ensure var variable[10]: super-string element*/
4309 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[10]) /*AbstractArray::add*/;
4310 /* Register variable[10]: Result */
4311 variable
[10] = CALL_abstractmetamodel___MMLocalClass___name(variable
[0])(variable
[0]) /*MMLocalClass::name*/;
4312 /* Ensure var variable[10]: super-string element*/
4313 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], CALL_string___Object___to_s(variable
[10])(variable
[10]) /*Object::to_s*/) /*AbstractArray::add*/;
4314 /* Register variable[10]: Once String constant */
4315 if (once_value_207
!= NIT_NULL
) variable
[10] = once_value_207
;
4317 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString("(void)"), TAG_Int(6)) /*new String*/;
4318 once_value_207
= variable
[10];
4320 /* Register variable[10]: Result */
4321 /* Ensure var variable[10]: super-string element*/
4322 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[10]) /*AbstractArray::add*/;
4323 /* Register variable[9]: Result */
4324 variable
[9] = CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/;
4325 variable
[8] = variable
[9];
4326 /* Register variable[9]: Once String constant */
4327 if (once_value_208
!= NIT_NULL
) variable
[9] = once_value_208
;
4329 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(" {"), TAG_Int(2)) /*new String*/;
4330 once_value_208
= variable
[9];
4332 /* Register variable[9]: Result */
4333 /* Register variable[9]: Result */
4334 variable
[9] = CALL_string___String_____plus( variable
[8] /*s*/)( variable
[8] /*s*/, variable
[9]) /*String::+*/;
4335 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[9]) /*CompilerVisitor::add_instr*/;
4336 CALL_compiling_base___CompilerVisitor___indent( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::indent*/;
4337 /* Register variable[9]: Local variable */
4338 /* Register variable[10]: Result */
4339 variable
[10] = CALL_compiling_base___CompilerVisitor___ctx( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::ctx*/;
4340 variable
[9] = variable
[10];
4341 /* Register variable[10]: Result */
4342 variable
[10] = NEW_CContext_compiling_base___CContext___init() /*new CContext*/;
4343 CALL_compiling_base___CompilerVisitor___ctx__eq( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[10]) /*CompilerVisitor::ctx=*/;
4344 /* Register variable[10]: Local variable */
4345 /* Register variable[11]: Result */
4346 variable
[11] = NEW_ParamVariable_syntax_base___ParamVariable___init( NIT_NULL
/*null*/, NIT_NULL
/*null*/) /*new ParamVariable*/;
4347 variable
[10] = variable
[11];
4348 /* Register variable[11]: Local variable */
4349 /* Register variable[12]: Result */
4350 variable
[12] = CALL_compiling_methods___CompilerVisitor___cfc( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::cfc*/;
4351 /* Register variable[12]: Result */
4352 variable
[12] = CALL_compiling_methods___CFunctionContext___register_variable(variable
[12])(variable
[12], variable
[10] /*self_var*/) /*CFunctionContext::register_variable*/;
4353 variable
[11] = variable
[12];
4354 /* Register variable[12]: Result */
4355 variable
[12] = CALL_compiling_methods___CompilerVisitor___nmc( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::nmc*/;
4356 variable
[13] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[ParamVariable]*/ /* Ensure var: Literal array*/;
4357 CALL_abstract_collection___SimpleCollection___add(variable
[13])(variable
[13], variable
[10] /*self_var*/) /*AbstractArray::add*/;
4358 /* Register variable[13]: Result */
4359 CALL_compiling_methods___NitMethodContext___method_params__eq(variable
[12])(variable
[12], variable
[13]) /*NitMethodContext::method_params=*/;
4360 /* Register variable[12]: Once String constant */
4361 if (once_value_209
!= NIT_NULL
) variable
[12] = once_value_209
;
4363 variable
[12] = NEW_String_string___String___with_native(BOX_NativeString("obj_t obj;"), TAG_Int(10)) /*new String*/;
4364 once_value_209
= variable
[12];
4366 /* Register variable[12]: Result */
4367 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[12]) /*CompilerVisitor::add_instr*/;
4368 variable
[12] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
4369 /* Register variable[13]: Once String constant */
4370 if (once_value_210
!= NIT_NULL
) variable
[13] = once_value_210
;
4372 variable
[13] = NEW_String_string___String___with_native(BOX_NativeString("obj = alloc(sizeof(val_t) * "), TAG_Int(28)) /*new String*/;
4373 once_value_210
= variable
[13];
4375 /* Register variable[13]: Result */
4376 /* Ensure var variable[13]: super-string element*/
4377 CALL_abstract_collection___SimpleCollection___add(variable
[12])(variable
[12], variable
[13]) /*AbstractArray::add*/;
4378 /* Register variable[13]: Result */
4379 variable
[13] = CALL_abstract_collection___Collection___length( variable
[6] /*itab*/)( variable
[6] /*itab*/) /*AbstractArrayRead::length*/;
4380 /* Ensure var variable[13]: super-string element*/
4381 CALL_abstract_collection___SimpleCollection___add(variable
[12])(variable
[12], CALL_string___Object___to_s(variable
[13])(variable
[13]) /*Object::to_s*/) /*AbstractArray::add*/;
4382 /* Register variable[13]: Once String constant */
4383 if (once_value_211
!= NIT_NULL
) variable
[13] = once_value_211
;
4385 variable
[13] = NEW_String_string___String___with_native(BOX_NativeString(");"), TAG_Int(2)) /*new String*/;
4386 once_value_211
= variable
[13];
4388 /* Register variable[13]: Result */
4389 /* Ensure var variable[13]: super-string element*/
4390 CALL_abstract_collection___SimpleCollection___add(variable
[12])(variable
[12], variable
[13]) /*AbstractArray::add*/;
4391 /* Register variable[12]: Result */
4392 variable
[12] = CALL_string___Object___to_s(variable
[12])(variable
[12]) /*Object::to_s*/;
4393 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[12]) /*CompilerVisitor::add_instr*/;
4394 variable
[12] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
4395 /* Register variable[13]: Once String constant */
4396 if (once_value_212
!= NIT_NULL
) variable
[13] = once_value_212
;
4398 variable
[13] = NEW_String_string___String___with_native(BOX_NativeString("obj->vft = (classtable_elt_t*)VFT_"), TAG_Int(34)) /*new String*/;
4399 once_value_212
= variable
[13];
4401 /* Register variable[13]: Result */
4402 /* Ensure var variable[13]: super-string element*/
4403 CALL_abstract_collection___SimpleCollection___add(variable
[12])(variable
[12], variable
[13]) /*AbstractArray::add*/;
4404 /* Register variable[13]: Result */
4405 variable
[13] = CALL_abstractmetamodel___MMLocalClass___name(variable
[0])(variable
[0]) /*MMLocalClass::name*/;
4406 /* Ensure var variable[13]: super-string element*/
4407 CALL_abstract_collection___SimpleCollection___add(variable
[12])(variable
[12], CALL_string___Object___to_s(variable
[13])(variable
[13]) /*Object::to_s*/) /*AbstractArray::add*/;
4408 /* Register variable[13]: Once String constant */
4409 if (once_value_213
!= NIT_NULL
) variable
[13] = once_value_213
;
4411 variable
[13] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
4412 once_value_213
= variable
[13];
4414 /* Register variable[13]: Result */
4415 /* Ensure var variable[13]: super-string element*/
4416 CALL_abstract_collection___SimpleCollection___add(variable
[12])(variable
[12], variable
[13]) /*AbstractArray::add*/;
4417 /* Register variable[12]: Result */
4418 variable
[12] = CALL_string___Object___to_s(variable
[12])(variable
[12]) /*Object::to_s*/;
4419 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[12]) /*CompilerVisitor::add_instr*/;
4420 /* Register variable[12]: Once String constant */
4421 if (once_value_214
!= NIT_NULL
) variable
[12] = once_value_214
;
4423 variable
[12] = NEW_String_string___String___with_native(BOX_NativeString("OBJ2VAL(obj)"), TAG_Int(12)) /*new String*/;
4424 once_value_214
= variable
[12];
4426 /* Register variable[12]: Result */
4427 CALL_compiling_methods___CompilerVisitor___add_assignment( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[11] /*self_var_cname*/, variable
[12]) /*CompilerVisitor::add_assignment*/;
4428 /* Register variable[12]: Result */
4429 variable
[12] = CALL_abstractmetamodel___MMLocalClass___global_properties(variable
[0])(variable
[0]) /*MMLocalClass::global_properties*/;
4430 /* Register variable[12]: For iterator */
4431 variable
[12] = CALL_abstract_collection___Collection___iterator(variable
[12])(variable
[12]) /*Collection::iterator*/;
4432 while (true) { /*for*/
4433 /* Register variable[13]: For 'is_ok' result */
4434 variable
[13] = CALL_abstract_collection___Iterator___is_ok(variable
[12])(variable
[12]) /*Iterator::is_ok*/;
4435 if (!UNTAG_Bool(variable
[13])) break; /*for*/
4436 variable
[13] = CALL_abstract_collection___Iterator___item(variable
[12])(variable
[12]) /*Iterator::item*/ /* Ensure var: For item*/;
4437 /* Register variable[14]: Local variable */
4438 variable
[14] = variable
[13];
4439 /* Register variable[15]: Local variable */
4440 /* Register variable[16]: Result */
4441 variable
[16] = CALL_abstractmetamodel___MMLocalClass_____bra(variable
[0])(variable
[0], variable
[14] /*g*/) /*MMLocalClass::[]*/;
4442 variable
[15] = variable
[16];
4443 /* Register variable[16]: Local variable */
4444 /* Register variable[17]: Result */
4445 variable
[17] = CALL_static_type___MMLocalProperty___signature( variable
[15] /*p*/)( variable
[15] /*p*/) /*MMLocalProperty::signature*/;
4446 /* Register variable[17]: Result */
4447 variable
[17] = CALL_static_type___MMSignature___return_type(variable
[17])(variable
[17]) /*MMSignature::return_type*/;
4448 variable
[16] = variable
[17];
4449 /* Register variable[17]: Result */
4450 variable
[17] = TAG_Bool(( variable
[15] /*p*/==NIT_NULL
) || VAL_ISA( variable
[15] /*p*/, COLOR_MMAttribute
, ID_MMAttribute
)) /*cast MMAttribute*/;
4451 /* Ensure var variable[17]: Left 'and' operand*/
4452 if (UNTAG_Bool(variable
[17])) { /* and */
4453 /* Register variable[17]: Result */
4454 variable
[17] = 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::==*/)))))));
4456 /* Register variable[17]: Result */
4457 if (UNTAG_Bool(variable
[17])) { /*if*/
4458 /* Register variable[17]: Result */
4459 variable
[17] = TAG_Bool(( variable
[15] /*p*/==NIT_NULL
) || VAL_ISA( variable
[15] /*p*/, COLOR_MMSrcAttribute
, ID_MMSrcAttribute
)) /*cast MMSrcAttribute*/;
4460 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
, 891); nit_exit(1);}
4461 /* Register variable[17]: Local variable */
4462 /* Register variable[18]: Result */
4463 variable
[18] = CALL_syntax_base___MMLocalProperty___node( variable
[15] /*p*/)( variable
[15] /*p*/) /*MMSrcAttribute::node*/;
4464 variable
[17] = variable
[18];
4465 /* Register variable[18]: Result */
4466 variable
[18] = TAG_Bool(( variable
[17] /*np*/==NIT_NULL
) || VAL_ISA( variable
[17] /*np*/, COLOR_AAttrPropdef
, ID_AAttrPropdef
)) /*cast AAttrPropdef*/;
4467 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
, 893); nit_exit(1);}
4468 /* Register variable[18]: Local variable */
4469 /* Register variable[19]: Result */
4470 variable
[19] = CALL_parser_nodes___AAttrPropdef___n_expr( variable
[17] /*np*/)( variable
[17] /*np*/) /*AAttrPropdef::n_expr*/;
4471 variable
[18] = variable
[19];
4472 /* Register variable[19]: Result */
4473 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::==*/)))))));
4474 if (UNTAG_Bool(variable
[19])) { /*if*/
4475 /* Register variable[19]: Local variable */
4476 /* Register variable[20]: Result */
4477 variable
[20] = CALL_compiling_methods___PExpr___compile_expr( variable
[18] /*ne*/)( variable
[18] /*ne*/, variable
[1] /*v*/) /*PExpr::compile_expr*/;
4478 variable
[19] = variable
[20];
4479 variable
[20] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
4480 /* Register variable[21]: Once String constant */
4481 if (once_value_216
!= NIT_NULL
) variable
[21] = once_value_216
;
4483 variable
[21] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
4484 once_value_216
= variable
[21];
4486 /* Register variable[21]: Result */
4487 /* Ensure var variable[21]: super-string element*/
4488 CALL_abstract_collection___SimpleCollection___add(variable
[20])(variable
[20], variable
[21]) /*AbstractArray::add*/;
4489 /* Register variable[21]: Result */
4490 variable
[21] = CALL_abstractmetamodel___MMLocalProperty___global( variable
[15] /*p*/)( variable
[15] /*p*/) /*MMLocalProperty::global*/;
4491 /* Register variable[21]: Result */
4492 variable
[21] = CALL_compiling_base___MMGlobalProperty___attr_access(variable
[21])(variable
[21]) /*MMGlobalProperty::attr_access*/;
4493 /* Ensure var variable[21]: super-string element*/
4494 CALL_abstract_collection___SimpleCollection___add(variable
[20])(variable
[20], variable
[21]) /*AbstractArray::add*/;
4495 /* Register variable[21]: Once String constant */
4496 if (once_value_217
!= NIT_NULL
) variable
[21] = once_value_217
;
4498 variable
[21] = NEW_String_string___String___with_native(BOX_NativeString("(obj) = "), TAG_Int(8)) /*new String*/;
4499 once_value_217
= variable
[21];
4501 /* Register variable[21]: Result */
4502 /* Ensure var variable[21]: super-string element*/
4503 CALL_abstract_collection___SimpleCollection___add(variable
[20])(variable
[20], variable
[21]) /*AbstractArray::add*/;
4504 variable
[21] = variable
[19] /*e*/ /* Ensure var: super-string element*/;
4505 CALL_abstract_collection___SimpleCollection___add(variable
[20])(variable
[20], variable
[21]) /*AbstractArray::add*/;
4506 /* Register variable[21]: Once String constant */
4507 if (once_value_218
!= NIT_NULL
) variable
[21] = once_value_218
;
4509 variable
[21] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
4510 once_value_218
= variable
[21];
4512 /* Register variable[21]: Result */
4513 /* Ensure var variable[21]: super-string element*/
4514 CALL_abstract_collection___SimpleCollection___add(variable
[20])(variable
[20], variable
[21]) /*AbstractArray::add*/;
4515 /* Register variable[20]: Result */
4516 variable
[20] = CALL_string___Object___to_s(variable
[20])(variable
[20]) /*Object::to_s*/;
4517 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[20]) /*CompilerVisitor::add_instr*/;
4520 continue_215
: while(0);
4521 CALL_abstract_collection___Iterator___next(variable
[12])(variable
[12]) /*Iterator::next*/;
4523 break_215
: while(0);
4524 /* Register variable[12]: Once String constant */
4525 if (once_value_219
!= NIT_NULL
) variable
[12] = once_value_219
;
4527 variable
[12] = NEW_String_string___String___with_native(BOX_NativeString("return OBJ2VAL(obj);"), TAG_Int(20)) /*new String*/;
4528 once_value_219
= variable
[12];
4530 /* Register variable[12]: Result */
4531 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[12]) /*CompilerVisitor::add_instr*/;
4532 /* Register variable[12]: Result */
4533 variable
[12] = CALL_compiling_methods___CompilerVisitor___cfc( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::cfc*/;
4534 CALL_compiling_methods___CFunctionContext___generate_var_decls(variable
[12])(variable
[12]) /*CFunctionContext::generate_var_decls*/;
4535 /* Register variable[12]: Result */
4536 variable
[12] = CALL_compiling_base___CompilerVisitor___ctx( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::ctx*/;
4537 CALL_compiling_base___CContext___append( variable
[9] /*ctx_old*/)( variable
[9] /*ctx_old*/, variable
[12]) /*CContext::append*/;
4538 CALL_compiling_base___CompilerVisitor___ctx__eq( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[9] /*ctx_old*/) /*CompilerVisitor::ctx=*/;
4539 CALL_compiling_base___CompilerVisitor___unindent( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::unindent*/;
4540 /* Register variable[12]: Once String constant */
4541 if (once_value_220
!= NIT_NULL
) variable
[12] = once_value_220
;
4543 variable
[12] = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)) /*new String*/;
4544 once_value_220
= variable
[12];
4546 /* Register variable[12]: Result */
4547 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[12]) /*CompilerVisitor::add_instr*/;
4548 /* Register variable[12]: Local variable */
4549 variable
[13] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
4550 /* Register variable[14]: Once String constant */
4551 if (once_value_221
!= NIT_NULL
) variable
[14] = once_value_221
;
4553 variable
[14] = NEW_String_string___String___with_native(BOX_NativeString("void CHECKNEW_"), TAG_Int(14)) /*new String*/;
4554 once_value_221
= variable
[14];
4556 /* Register variable[14]: Result */
4557 /* Ensure var variable[14]: super-string element*/
4558 CALL_abstract_collection___SimpleCollection___add(variable
[13])(variable
[13], variable
[14]) /*AbstractArray::add*/;
4559 /* Register variable[14]: Result */
4560 variable
[14] = CALL_abstractmetamodel___MMLocalClass___name(variable
[0])(variable
[0]) /*MMLocalClass::name*/;
4561 /* Ensure var variable[14]: super-string element*/
4562 CALL_abstract_collection___SimpleCollection___add(variable
[13])(variable
[13], CALL_string___Object___to_s(variable
[14])(variable
[14]) /*Object::to_s*/) /*AbstractArray::add*/;
4563 /* Register variable[14]: Once String constant */
4564 if (once_value_222
!= NIT_NULL
) variable
[14] = once_value_222
;
4566 variable
[14] = NEW_String_string___String___with_native(BOX_NativeString("(val_t self, char *from)"), TAG_Int(24)) /*new String*/;
4567 once_value_222
= variable
[14];
4569 /* Register variable[14]: Result */
4570 /* Ensure var variable[14]: super-string element*/
4571 CALL_abstract_collection___SimpleCollection___add(variable
[13])(variable
[13], variable
[14]) /*AbstractArray::add*/;
4572 /* Register variable[13]: Result */
4573 variable
[13] = CALL_string___Object___to_s(variable
[13])(variable
[13]) /*Object::to_s*/;
4574 variable
[12] = variable
[13];
4575 /* Register variable[13]: Once String constant */
4576 if (once_value_223
!= NIT_NULL
) variable
[13] = once_value_223
;
4578 variable
[13] = NEW_String_string___String___with_native(BOX_NativeString(" {"), TAG_Int(2)) /*new String*/;
4579 once_value_223
= variable
[13];
4581 /* Register variable[13]: Result */
4582 /* Register variable[13]: Result */
4583 variable
[13] = CALL_string___String_____plus( variable
[12] /*s*/)( variable
[12] /*s*/, variable
[13]) /*String::+*/;
4584 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[13]) /*CompilerVisitor::add_instr*/;
4585 CALL_compiling_base___CompilerVisitor___indent( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::indent*/;
4586 /* Register variable[13]: Local variable */
4587 /* Register variable[14]: Result */
4588 variable
[14] = CALL_compiling_base___CompilerVisitor___ctx( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::ctx*/;
4589 variable
[13] = variable
[14];
4590 /* Register variable[14]: Result */
4591 variable
[14] = NEW_CContext_compiling_base___CContext___init() /*new CContext*/;
4592 CALL_compiling_base___CompilerVisitor___ctx__eq( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[14]) /*CompilerVisitor::ctx=*/;
4593 /* Register variable[14]: Result */
4594 variable
[14] = CALL_abstractmetamodel___MMLocalClass___global_properties(variable
[0])(variable
[0]) /*MMLocalClass::global_properties*/;
4595 /* Register variable[14]: For iterator */
4596 variable
[14] = CALL_abstract_collection___Collection___iterator(variable
[14])(variable
[14]) /*Collection::iterator*/;
4597 while (true) { /*for*/
4598 /* Register variable[15]: For 'is_ok' result */
4599 variable
[15] = CALL_abstract_collection___Iterator___is_ok(variable
[14])(variable
[14]) /*Iterator::is_ok*/;
4600 if (!UNTAG_Bool(variable
[15])) break; /*for*/
4601 variable
[15] = CALL_abstract_collection___Iterator___item(variable
[14])(variable
[14]) /*Iterator::item*/ /* Ensure var: For item*/;
4602 /* Register variable[16]: Local variable */
4603 variable
[16] = variable
[15];
4604 /* Register variable[17]: Local variable */
4605 /* Register variable[18]: Result */
4606 variable
[18] = CALL_abstractmetamodel___MMLocalClass_____bra(variable
[0])(variable
[0], variable
[16] /*g*/) /*MMLocalClass::[]*/;
4607 variable
[17] = variable
[18];
4608 /* Register variable[18]: Local variable */
4609 /* Register variable[19]: Result */
4610 variable
[19] = CALL_static_type___MMLocalProperty___signature( variable
[17] /*p*/)( variable
[17] /*p*/) /*MMLocalProperty::signature*/;
4611 /* Register variable[19]: Result */
4612 variable
[19] = CALL_static_type___MMSignature___return_type(variable
[19])(variable
[19]) /*MMSignature::return_type*/;
4613 variable
[18] = variable
[19];
4614 /* Register variable[19]: Result */
4615 variable
[19] = TAG_Bool(( variable
[17] /*p*/==NIT_NULL
) || VAL_ISA( variable
[17] /*p*/, COLOR_MMAttribute
, ID_MMAttribute
)) /*cast MMAttribute*/;
4616 /* Ensure var variable[19]: Left 'and' operand*/
4617 if (UNTAG_Bool(variable
[19])) { /* and */
4618 /* Register variable[19]: Result */
4619 variable
[19] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[18] /*t*/ == NIT_NULL
/*null*/) || (( variable
[18] /*t*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[18] /*t*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[18] /*t*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[18] /*t*/)( variable
[18] /*t*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
4621 /* Register variable[19]: Result */
4622 /* Ensure var variable[19]: Left 'and' operand*/
4623 if (UNTAG_Bool(variable
[19])) { /* and */
4624 /* Register variable[19]: Result */
4625 variable
[19] = CALL_static_type___MMType___is_nullable( variable
[18] /*t*/)( variable
[18] /*t*/) /*MMType::is_nullable*/;
4626 variable
[19] = TAG_Bool(!UNTAG_Bool(variable
[19]));
4628 /* Register variable[19]: Result */
4629 /* Ensure var variable[19]: Left 'and' operand*/
4630 if (UNTAG_Bool(variable
[19])) { /* and */
4631 /* Register variable[19]: Result */
4632 variable
[19] = CALL_compiling_base___CompilerVisitor___tc( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::tc*/;
4633 /* Register variable[19]: Result */
4634 variable
[19] = CALL_mmloader___ToolContext___opt_warn(variable
[19])(variable
[19]) /*ToolContext::opt_warn*/;
4635 /* Register variable[19]: Result */
4636 variable
[19] = CALL_opts___Option___value(variable
[19])(variable
[19]) /*Option::value*/;
4637 /* Register variable[19]: Result */
4638 variable
[19] = TAG_Bool(UNTAG_Int(variable
[19])>UNTAG_Int( TAG_Int(0)));
4640 /* Register variable[19]: Result */
4641 if (UNTAG_Bool(variable
[19])) { /*if*/
4642 variable
[19] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
4643 /* Register variable[20]: Once String constant */
4644 if (once_value_225
!= NIT_NULL
) variable
[20] = once_value_225
;
4646 variable
[20] = NEW_String_string___String___with_native(BOX_NativeString("if ("), TAG_Int(4)) /*new String*/;
4647 once_value_225
= variable
[20];
4649 /* Register variable[20]: Result */
4650 /* Ensure var variable[20]: super-string element*/
4651 CALL_abstract_collection___SimpleCollection___add(variable
[19])(variable
[19], variable
[20]) /*AbstractArray::add*/;
4652 /* Register variable[20]: Result */
4653 variable
[20] = CALL_abstractmetamodel___MMLocalProperty___global( variable
[17] /*p*/)( variable
[17] /*p*/) /*MMLocalProperty::global*/;
4654 /* Register variable[20]: Result */
4655 variable
[20] = CALL_compiling_base___MMGlobalProperty___attr_access(variable
[20])(variable
[20]) /*MMGlobalProperty::attr_access*/;
4656 /* Ensure var variable[20]: super-string element*/
4657 CALL_abstract_collection___SimpleCollection___add(variable
[19])(variable
[19], variable
[20]) /*AbstractArray::add*/;
4658 /* Register variable[20]: Once String constant */
4659 if (once_value_226
!= NIT_NULL
) variable
[20] = once_value_226
;
4661 variable
[20] = NEW_String_string___String___with_native(BOX_NativeString("(self) == NIT_NULL) fprintf(stderr, \"Uninitialized attribute %s at %s.\\n\", \""), TAG_Int(76)) /*new String*/;
4662 once_value_226
= variable
[20];
4664 /* Register variable[20]: Result */
4665 /* Ensure var variable[20]: super-string element*/
4666 CALL_abstract_collection___SimpleCollection___add(variable
[19])(variable
[19], variable
[20]) /*AbstractArray::add*/;
4667 /* Register variable[20]: Result */
4668 variable
[20] = CALL_abstractmetamodel___MMLocalProperty___full_name( variable
[17] /*p*/)( variable
[17] /*p*/) /*MMLocalProperty::full_name*/;
4669 /* Ensure var variable[20]: super-string element*/
4670 CALL_abstract_collection___SimpleCollection___add(variable
[19])(variable
[19], variable
[20]) /*AbstractArray::add*/;
4671 /* Register variable[20]: Once String constant */
4672 if (once_value_227
!= NIT_NULL
) variable
[20] = once_value_227
;
4674 variable
[20] = NEW_String_string___String___with_native(BOX_NativeString("\", from);"), TAG_Int(9)) /*new String*/;
4675 once_value_227
= variable
[20];
4677 /* Register variable[20]: Result */
4678 /* Ensure var variable[20]: super-string element*/
4679 CALL_abstract_collection___SimpleCollection___add(variable
[19])(variable
[19], variable
[20]) /*AbstractArray::add*/;
4680 /* Register variable[19]: Result */
4681 variable
[19] = CALL_string___Object___to_s(variable
[19])(variable
[19]) /*Object::to_s*/;
4682 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[19]) /*CompilerVisitor::add_instr*/;
4684 continue_224
: while(0);
4685 CALL_abstract_collection___Iterator___next(variable
[14])(variable
[14]) /*Iterator::next*/;
4687 break_224
: while(0);
4688 /* Register variable[14]: Result */
4689 variable
[14] = CALL_compiling_base___CompilerVisitor___ctx( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::ctx*/;
4690 CALL_compiling_base___CContext___append( variable
[13] /*ctx_old*/)( variable
[13] /*ctx_old*/, variable
[14]) /*CContext::append*/;
4691 CALL_compiling_base___CompilerVisitor___ctx__eq( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[13] /*ctx_old*/) /*CompilerVisitor::ctx=*/;
4692 CALL_compiling_base___CompilerVisitor___unindent( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::unindent*/;
4693 /* Register variable[14]: Once String constant */
4694 if (once_value_228
!= NIT_NULL
) variable
[14] = once_value_228
;
4696 variable
[14] = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)) /*new String*/;
4697 once_value_228
= variable
[14];
4699 /* Register variable[14]: Result */
4700 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[14]) /*CompilerVisitor::add_instr*/;
4701 /* Register variable[14]: Local variable */
4702 /* Register variable[15]: Result */
4703 variable
[15] = CALL_abstractmetamodel___MMLocalClass___cshe(variable
[0])(variable
[0]) /*MMLocalClass::cshe*/;
4704 /* Register variable[15]: Result */
4705 variable
[15] = CALL_partial_order___PartialOrderElement___greaters(variable
[15])(variable
[15]) /*PartialOrderElement::greaters*/;
4706 /* Register variable[15]: Result */
4707 variable
[15] = CALL_abstract_collection___Collection___length(variable
[15])(variable
[15]) /*Collection::length*/;
4708 /* Register variable[15]: Result */
4709 variable
[15] = TAG_Int(UNTAG_Int(variable
[15])+UNTAG_Int( TAG_Int(1)));
4710 variable
[14] = variable
[15];
4711 /* Register variable[15]: Local variable */
4712 variable
[16] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
4713 /* Register variable[17]: Once String constant */
4714 if (once_value_229
!= NIT_NULL
) variable
[17] = once_value_229
;
4716 variable
[17] = NEW_String_string___String___with_native(BOX_NativeString("int init_table["), TAG_Int(15)) /*new String*/;
4717 once_value_229
= variable
[17];
4719 /* Register variable[17]: Result */
4720 /* Ensure var variable[17]: super-string element*/
4721 CALL_abstract_collection___SimpleCollection___add(variable
[16])(variable
[16], variable
[17]) /*AbstractArray::add*/;
4722 variable
[17] = variable
[14] /*init_table_size*/ /* Ensure var: super-string element*/;
4723 CALL_abstract_collection___SimpleCollection___add(variable
[16])(variable
[16], CALL_string___Object___to_s(variable
[17])(variable
[17]) /*Object::to_s*/) /*AbstractArray::add*/;
4724 /* Register variable[17]: Once String constant */
4725 if (once_value_230
!= NIT_NULL
) variable
[17] = once_value_230
;
4727 variable
[17] = NEW_String_string___String___with_native(BOX_NativeString("] = {0"), TAG_Int(6)) /*new String*/;
4728 once_value_230
= variable
[17];
4730 /* Register variable[17]: Result */
4731 /* Ensure var variable[17]: super-string element*/
4732 CALL_abstract_collection___SimpleCollection___add(variable
[16])(variable
[16], variable
[17]) /*AbstractArray::add*/;
4733 /* Register variable[17]: Once String constant */
4734 if (once_value_231
!= NIT_NULL
) variable
[17] = once_value_231
;
4736 variable
[17] = NEW_String_string___String___with_native(BOX_NativeString(", 0"), TAG_Int(3)) /*new String*/;
4737 once_value_231
= variable
[17];
4739 /* Register variable[17]: Result */
4740 /* Register variable[18]: Result */
4741 variable
[18] = TAG_Int(UNTAG_Int( variable
[14] /*init_table_size*/)-UNTAG_Int( TAG_Int(1)));
4742 /* Register variable[17]: Result */
4743 variable
[17] = CALL_string___String_____star(variable
[17])(variable
[17], variable
[18]) /*String::**/;
4744 /* Ensure var variable[17]: super-string element*/
4745 CALL_abstract_collection___SimpleCollection___add(variable
[16])(variable
[16], variable
[17]) /*AbstractArray::add*/;
4746 /* Register variable[17]: Once String constant */
4747 if (once_value_232
!= NIT_NULL
) variable
[17] = once_value_232
;
4749 variable
[17] = NEW_String_string___String___with_native(BOX_NativeString("};"), TAG_Int(2)) /*new String*/;
4750 once_value_232
= variable
[17];
4752 /* Register variable[17]: Result */
4753 /* Ensure var variable[17]: super-string element*/
4754 CALL_abstract_collection___SimpleCollection___add(variable
[16])(variable
[16], variable
[17]) /*AbstractArray::add*/;
4755 /* Register variable[16]: Result */
4756 variable
[16] = CALL_string___Object___to_s(variable
[16])(variable
[16]) /*Object::to_s*/;
4757 variable
[15] = variable
[16];
4758 /* Register variable[16]: Result */
4759 variable
[16] = CALL_abstractmetamodel___MMLocalClass___global_properties(variable
[0])(variable
[0]) /*MMLocalClass::global_properties*/;
4760 /* Register variable[16]: For iterator */
4761 variable
[16] = CALL_abstract_collection___Collection___iterator(variable
[16])(variable
[16]) /*Collection::iterator*/;
4762 while (true) { /*for*/
4763 /* Register variable[17]: For 'is_ok' result */
4764 variable
[17] = CALL_abstract_collection___Iterator___is_ok(variable
[16])(variable
[16]) /*Iterator::is_ok*/;
4765 if (!UNTAG_Bool(variable
[17])) break; /*for*/
4766 variable
[17] = CALL_abstract_collection___Iterator___item(variable
[16])(variable
[16]) /*Iterator::item*/ /* Ensure var: For item*/;
4767 /* Register variable[18]: Local variable */
4768 variable
[18] = variable
[17];
4769 /* Register variable[19]: Local variable */
4770 /* Register variable[20]: Result */
4771 variable
[20] = CALL_abstractmetamodel___MMLocalClass_____bra(variable
[0])(variable
[0], variable
[18] /*g*/) /*MMLocalClass::[]*/;
4772 variable
[19] = variable
[20];
4773 /* Register variable[20]: Result */
4774 variable
[20] = CALL_abstractmetamodel___MMLocalProperty___global( variable
[19] /*p*/)( variable
[19] /*p*/) /*MMLocalProperty::global*/;
4775 /* Register variable[20]: Result */
4776 variable
[20] = CALL_abstractmetamodel___MMGlobalProperty___is_init_for(variable
[20])(variable
[20], variable
[0]) /*MMGlobalProperty::is_init_for*/;
4777 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable
[20])))) { /*if*/
4780 /* Register variable[20]: Local variable */
4781 /* Register variable[21]: Result */
4782 variable
[21] = NEW_Array_array___Array___init() /*new Array[String]*/;
4783 variable
[20] = variable
[21];
4784 /* Register variable[21]: Local variable */
4785 variable
[22] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[String]*/ /* Ensure var: Literal array*/;
4786 /* Register variable[23]: Once String constant */
4787 if (once_value_234
!= NIT_NULL
) variable
[23] = once_value_234
;
4789 variable
[23] = NEW_String_string___String___with_native(BOX_NativeString("self"), TAG_Int(4)) /*new String*/;
4790 once_value_234
= variable
[23];
4792 /* Register variable[23]: Result */
4793 CALL_abstract_collection___SimpleCollection___add(variable
[22])(variable
[22], variable
[23]) /*AbstractArray::add*/;
4794 /* Register variable[22]: Result */
4795 variable
[21] = variable
[22];
4796 /* Register variable[22]: Result */
4797 variable
[22] = CALL_static_type___MMLocalProperty___signature( variable
[19] /*p*/)( variable
[19] /*p*/) /*MMLocalProperty::signature*/;
4798 /* Register variable[22]: Result */
4799 variable
[22] = CALL_static_type___MMSignature___arity(variable
[22])(variable
[22]) /*MMSignature::arity*/;
4800 /* Register variable[22]: Result */
4801 variable
[22] = NEW_Range_range___Range___without_last( TAG_Int(0), variable
[22]) /*new Range[Int]*/;
4802 /* Register variable[22]: For iterator */
4803 variable
[22] = CALL_abstract_collection___Collection___iterator(variable
[22])(variable
[22]) /*Range::iterator*/;
4804 while (true) { /*for*/
4805 /* Register variable[23]: For 'is_ok' result */
4806 variable
[23] = CALL_abstract_collection___Iterator___is_ok(variable
[22])(variable
[22]) /*Iterator::is_ok*/;
4807 if (!UNTAG_Bool(variable
[23])) break; /*for*/
4808 variable
[23] = CALL_abstract_collection___Iterator___item(variable
[22])(variable
[22]) /*Iterator::item*/ /* Ensure var: For item*/;
4809 /* Register variable[24]: Local variable */
4810 variable
[24] = variable
[23];
4811 variable
[25] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
4812 /* Register variable[26]: Once String constant */
4813 if (once_value_236
!= NIT_NULL
) variable
[26] = once_value_236
;
4815 variable
[26] = NEW_String_string___String___with_native(BOX_NativeString("val_t p"), TAG_Int(7)) /*new String*/;
4816 once_value_236
= variable
[26];
4818 /* Register variable[26]: Result */
4819 /* Ensure var variable[26]: super-string element*/
4820 CALL_abstract_collection___SimpleCollection___add(variable
[25])(variable
[25], variable
[26]) /*AbstractArray::add*/;
4821 variable
[26] = variable
[24] /*i*/ /* Ensure var: super-string element*/;
4822 CALL_abstract_collection___SimpleCollection___add(variable
[25])(variable
[25], CALL_string___Object___to_s(variable
[26])(variable
[26]) /*Object::to_s*/) /*AbstractArray::add*/;
4823 /* Register variable[26]: Once String constant */
4824 if (once_value_237
!= NIT_NULL
) variable
[26] = once_value_237
;
4826 variable
[26] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
4827 once_value_237
= variable
[26];
4829 /* Register variable[26]: Result */
4830 /* Ensure var variable[26]: super-string element*/
4831 CALL_abstract_collection___SimpleCollection___add(variable
[25])(variable
[25], variable
[26]) /*AbstractArray::add*/;
4832 /* Register variable[25]: Result */
4833 variable
[25] = CALL_string___Object___to_s(variable
[25])(variable
[25]) /*Object::to_s*/;
4834 CALL_abstract_collection___SimpleCollection___add( variable
[20] /*params*/)( variable
[20] /*params*/, variable
[25]) /*AbstractArray::add*/;
4835 variable
[25] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
4836 /* Register variable[26]: Once String constant */
4837 if (once_value_238
!= NIT_NULL
) variable
[26] = once_value_238
;
4839 variable
[26] = NEW_String_string___String___with_native(BOX_NativeString("p"), TAG_Int(1)) /*new String*/;
4840 once_value_238
= variable
[26];
4842 /* Register variable[26]: Result */
4843 /* Ensure var variable[26]: super-string element*/
4844 CALL_abstract_collection___SimpleCollection___add(variable
[25])(variable
[25], variable
[26]) /*AbstractArray::add*/;
4845 variable
[26] = variable
[24] /*i*/ /* Ensure var: super-string element*/;
4846 CALL_abstract_collection___SimpleCollection___add(variable
[25])(variable
[25], CALL_string___Object___to_s(variable
[26])(variable
[26]) /*Object::to_s*/) /*AbstractArray::add*/;
4847 /* Register variable[26]: Once String constant */
4848 if (once_value_239
!= NIT_NULL
) variable
[26] = once_value_239
;
4850 variable
[26] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
4851 once_value_239
= variable
[26];
4853 /* Register variable[26]: Result */
4854 /* Ensure var variable[26]: super-string element*/
4855 CALL_abstract_collection___SimpleCollection___add(variable
[25])(variable
[25], variable
[26]) /*AbstractArray::add*/;
4856 /* Register variable[25]: Result */
4857 variable
[25] = CALL_string___Object___to_s(variable
[25])(variable
[25]) /*Object::to_s*/;
4858 CALL_abstract_collection___SimpleCollection___add( variable
[21] /*args*/)( variable
[21] /*args*/, variable
[25]) /*AbstractArray::add*/;
4859 continue_235
: while(0);
4860 CALL_abstract_collection___Iterator___next(variable
[22])(variable
[22]) /*Iterator::next*/;
4862 break_235
: while(0);
4863 /* Register variable[22]: Once String constant */
4864 if (once_value_240
!= NIT_NULL
) variable
[22] = once_value_240
;
4866 variable
[22] = NEW_String_string___String___with_native(BOX_NativeString("init_table"), TAG_Int(10)) /*new String*/;
4867 once_value_240
= variable
[22];
4869 /* Register variable[22]: Result */
4870 CALL_abstract_collection___SimpleCollection___add( variable
[21] /*args*/)( variable
[21] /*args*/, variable
[22]) /*AbstractArray::add*/;
4871 /* Register variable[22]: Local variable */
4872 variable
[23] = NEW_Array_array___Array___with_capacity(TAG_Int(7)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
4873 /* Register variable[24]: Once String constant */
4874 if (once_value_241
!= NIT_NULL
) variable
[24] = once_value_241
;
4876 variable
[24] = NEW_String_string___String___with_native(BOX_NativeString("val_t NEW_"), TAG_Int(10)) /*new String*/;
4877 once_value_241
= variable
[24];
4879 /* Register variable[24]: Result */
4880 /* Ensure var variable[24]: super-string element*/
4881 CALL_abstract_collection___SimpleCollection___add(variable
[23])(variable
[23], variable
[24]) /*AbstractArray::add*/;
4882 /* Ensure var variable[0]: super-string element*/
4883 CALL_abstract_collection___SimpleCollection___add(variable
[23])(variable
[23], CALL_string___Object___to_s(variable
[0])(variable
[0]) /*Object::to_s*/) /*AbstractArray::add*/;
4884 /* Register variable[24]: Once String constant */
4885 if (once_value_242
!= NIT_NULL
) variable
[24] = once_value_242
;
4887 variable
[24] = NEW_String_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)) /*new String*/;
4888 once_value_242
= variable
[24];
4890 /* Register variable[24]: Result */
4891 /* Ensure var variable[24]: super-string element*/
4892 CALL_abstract_collection___SimpleCollection___add(variable
[23])(variable
[23], variable
[24]) /*AbstractArray::add*/;
4893 /* Register variable[24]: Result */
4894 variable
[24] = CALL_abstractmetamodel___MMLocalProperty___global( variable
[19] /*p*/)( variable
[19] /*p*/) /*MMLocalProperty::global*/;
4895 /* Register variable[24]: Result */
4896 variable
[24] = CALL_abstractmetamodel___MMGlobalProperty___intro(variable
[24])(variable
[24]) /*MMGlobalProperty::intro*/;
4897 /* Register variable[24]: Result */
4898 variable
[24] = CALL_compiling_base___MMLocalProperty___cname(variable
[24])(variable
[24]) /*MMLocalProperty::cname*/;
4899 /* Ensure var variable[24]: super-string element*/
4900 CALL_abstract_collection___SimpleCollection___add(variable
[23])(variable
[23], variable
[24]) /*AbstractArray::add*/;
4901 /* Register variable[24]: Once String constant */
4902 if (once_value_243
!= NIT_NULL
) variable
[24] = once_value_243
;
4904 variable
[24] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)) /*new String*/;
4905 once_value_243
= variable
[24];
4907 /* Register variable[24]: Result */
4908 /* Ensure var variable[24]: super-string element*/
4909 CALL_abstract_collection___SimpleCollection___add(variable
[23])(variable
[23], variable
[24]) /*AbstractArray::add*/;
4910 /* Register variable[24]: Once String constant */
4911 if (once_value_244
!= NIT_NULL
) variable
[24] = once_value_244
;
4913 variable
[24] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)) /*new String*/;
4914 once_value_244
= variable
[24];
4916 /* Register variable[24]: Result */
4917 /* Register variable[24]: Result */
4918 variable
[24] = CALL_string___Collection___join( variable
[20] /*params*/)( variable
[20] /*params*/, variable
[24]) /*Collection::join*/;
4919 /* Ensure var variable[24]: super-string element*/
4920 CALL_abstract_collection___SimpleCollection___add(variable
[23])(variable
[23], variable
[24]) /*AbstractArray::add*/;
4921 /* Register variable[24]: Once String constant */
4922 if (once_value_245
!= NIT_NULL
) variable
[24] = once_value_245
;
4924 variable
[24] = NEW_String_string___String___with_native(BOX_NativeString(") {"), TAG_Int(3)) /*new String*/;
4925 once_value_245
= variable
[24];
4927 /* Register variable[24]: Result */
4928 /* Ensure var variable[24]: super-string element*/
4929 CALL_abstract_collection___SimpleCollection___add(variable
[23])(variable
[23], variable
[24]) /*AbstractArray::add*/;
4930 /* Register variable[23]: Result */
4931 variable
[23] = CALL_string___Object___to_s(variable
[23])(variable
[23]) /*Object::to_s*/;
4932 variable
[22] = variable
[23];
4933 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[22] /*s*/) /*CompilerVisitor::add_instr*/;
4934 CALL_compiling_base___CompilerVisitor___indent( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::indent*/;
4935 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[15] /*init_table_decl*/) /*CompilerVisitor::add_instr*/;
4936 variable
[23] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
4937 /* Register variable[24]: Once String constant */
4938 if (once_value_246
!= NIT_NULL
) variable
[24] = once_value_246
;
4940 variable
[24] = NEW_String_string___String___with_native(BOX_NativeString("val_t self = NEW_"), TAG_Int(17)) /*new String*/;
4941 once_value_246
= variable
[24];
4943 /* Register variable[24]: Result */
4944 /* Ensure var variable[24]: super-string element*/
4945 CALL_abstract_collection___SimpleCollection___add(variable
[23])(variable
[23], variable
[24]) /*AbstractArray::add*/;
4946 /* Register variable[24]: Result */
4947 variable
[24] = CALL_abstractmetamodel___MMLocalClass___name(variable
[0])(variable
[0]) /*MMLocalClass::name*/;
4948 /* Ensure var variable[24]: super-string element*/
4949 CALL_abstract_collection___SimpleCollection___add(variable
[23])(variable
[23], CALL_string___Object___to_s(variable
[24])(variable
[24]) /*Object::to_s*/) /*AbstractArray::add*/;
4950 /* Register variable[24]: Once String constant */
4951 if (once_value_247
!= NIT_NULL
) variable
[24] = once_value_247
;
4953 variable
[24] = NEW_String_string___String___with_native(BOX_NativeString("();"), TAG_Int(3)) /*new String*/;
4954 once_value_247
= variable
[24];
4956 /* Register variable[24]: Result */
4957 /* Ensure var variable[24]: super-string element*/
4958 CALL_abstract_collection___SimpleCollection___add(variable
[23])(variable
[23], variable
[24]) /*AbstractArray::add*/;
4959 /* Register variable[23]: Result */
4960 variable
[23] = CALL_string___Object___to_s(variable
[23])(variable
[23]) /*Object::to_s*/;
4961 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[23]) /*CompilerVisitor::add_instr*/;
4962 variable
[23] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
4963 /* Register variable[24]: Once String constant */
4964 if (once_value_248
!= NIT_NULL
) variable
[24] = once_value_248
;
4966 variable
[24] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
4967 once_value_248
= variable
[24];
4969 /* Register variable[24]: Result */
4970 /* Ensure var variable[24]: super-string element*/
4971 CALL_abstract_collection___SimpleCollection___add(variable
[23])(variable
[23], variable
[24]) /*AbstractArray::add*/;
4972 /* Register variable[24]: Result */
4973 variable
[24] = CALL_compiling_base___MMLocalProperty___cname( variable
[19] /*p*/)( variable
[19] /*p*/) /*MMLocalProperty::cname*/;
4974 /* Ensure var variable[24]: super-string element*/
4975 CALL_abstract_collection___SimpleCollection___add(variable
[23])(variable
[23], variable
[24]) /*AbstractArray::add*/;
4976 /* Register variable[24]: Once String constant */
4977 if (once_value_249
!= NIT_NULL
) variable
[24] = once_value_249
;
4979 variable
[24] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)) /*new String*/;
4980 once_value_249
= variable
[24];
4982 /* Register variable[24]: Result */
4983 /* Ensure var variable[24]: super-string element*/
4984 CALL_abstract_collection___SimpleCollection___add(variable
[23])(variable
[23], variable
[24]) /*AbstractArray::add*/;
4985 /* Register variable[24]: Once String constant */
4986 if (once_value_250
!= NIT_NULL
) variable
[24] = once_value_250
;
4988 variable
[24] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)) /*new String*/;
4989 once_value_250
= variable
[24];
4991 /* Register variable[24]: Result */
4992 /* Register variable[24]: Result */
4993 variable
[24] = CALL_string___Collection___join( variable
[21] /*args*/)( variable
[21] /*args*/, variable
[24]) /*Collection::join*/;
4994 /* Ensure var variable[24]: super-string element*/
4995 CALL_abstract_collection___SimpleCollection___add(variable
[23])(variable
[23], variable
[24]) /*AbstractArray::add*/;
4996 /* Register variable[24]: Once String constant */
4997 if (once_value_251
!= NIT_NULL
) variable
[24] = once_value_251
;
4999 variable
[24] = NEW_String_string___String___with_native(BOX_NativeString(");"), TAG_Int(2)) /*new String*/;
5000 once_value_251
= variable
[24];
5002 /* Register variable[24]: Result */
5003 /* Ensure var variable[24]: super-string element*/
5004 CALL_abstract_collection___SimpleCollection___add(variable
[23])(variable
[23], variable
[24]) /*AbstractArray::add*/;
5005 /* Register variable[23]: Result */
5006 variable
[23] = CALL_string___Object___to_s(variable
[23])(variable
[23]) /*Object::to_s*/;
5007 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[23]) /*CompilerVisitor::add_instr*/;
5008 variable
[23] = NEW_Array_array___Array___with_capacity(TAG_Int(7)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
5009 /* Register variable[24]: Once String constant */
5010 if (once_value_252
!= NIT_NULL
) variable
[24] = once_value_252
;
5012 variable
[24] = NEW_String_string___String___with_native(BOX_NativeString("CHECKNEW_"), TAG_Int(9)) /*new String*/;
5013 once_value_252
= variable
[24];
5015 /* Register variable[24]: Result */
5016 /* Ensure var variable[24]: super-string element*/
5017 CALL_abstract_collection___SimpleCollection___add(variable
[23])(variable
[23], variable
[24]) /*AbstractArray::add*/;
5018 /* Register variable[24]: Result */
5019 variable
[24] = CALL_abstractmetamodel___MMLocalClass___name(variable
[0])(variable
[0]) /*MMLocalClass::name*/;
5020 /* Ensure var variable[24]: super-string element*/
5021 CALL_abstract_collection___SimpleCollection___add(variable
[23])(variable
[23], CALL_string___Object___to_s(variable
[24])(variable
[24]) /*Object::to_s*/) /*AbstractArray::add*/;
5022 /* Register variable[24]: Once String constant */
5023 if (once_value_253
!= NIT_NULL
) variable
[24] = once_value_253
;
5025 variable
[24] = NEW_String_string___String___with_native(BOX_NativeString("(self, \""), TAG_Int(8)) /*new String*/;
5026 once_value_253
= variable
[24];
5028 /* Register variable[24]: Result */
5029 /* Ensure var variable[24]: super-string element*/
5030 CALL_abstract_collection___SimpleCollection___add(variable
[23])(variable
[23], variable
[24]) /*AbstractArray::add*/;
5031 /* Register variable[24]: Result */
5032 variable
[24] = CALL_abstractmetamodel___MMLocalProperty___full_name( variable
[19] /*p*/)( variable
[19] /*p*/) /*MMLocalProperty::full_name*/;
5033 /* Ensure var variable[24]: super-string element*/
5034 CALL_abstract_collection___SimpleCollection___add(variable
[23])(variable
[23], variable
[24]) /*AbstractArray::add*/;
5035 /* Register variable[24]: Once String constant */
5036 if (once_value_254
!= NIT_NULL
) variable
[24] = once_value_254
;
5038 variable
[24] = NEW_String_string___String___with_native(BOX_NativeString(" for "), TAG_Int(5)) /*new String*/;
5039 once_value_254
= variable
[24];
5041 /* Register variable[24]: Result */
5042 /* Ensure var variable[24]: super-string element*/
5043 CALL_abstract_collection___SimpleCollection___add(variable
[23])(variable
[23], variable
[24]) /*AbstractArray::add*/;
5044 /* Ensure var variable[0]: super-string element*/
5045 CALL_abstract_collection___SimpleCollection___add(variable
[23])(variable
[23], CALL_string___Object___to_s(variable
[0])(variable
[0]) /*Object::to_s*/) /*AbstractArray::add*/;
5046 /* Register variable[24]: Once String constant */
5047 if (once_value_255
!= NIT_NULL
) variable
[24] = once_value_255
;
5049 variable
[24] = NEW_String_string___String___with_native(BOX_NativeString("\");"), TAG_Int(3)) /*new String*/;
5050 once_value_255
= variable
[24];
5052 /* Register variable[24]: Result */
5053 /* Ensure var variable[24]: super-string element*/
5054 CALL_abstract_collection___SimpleCollection___add(variable
[23])(variable
[23], variable
[24]) /*AbstractArray::add*/;
5055 /* Register variable[23]: Result */
5056 variable
[23] = CALL_string___Object___to_s(variable
[23])(variable
[23]) /*Object::to_s*/;
5057 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[23]) /*CompilerVisitor::add_instr*/;
5058 /* Register variable[23]: Once String constant */
5059 if (once_value_256
!= NIT_NULL
) variable
[23] = once_value_256
;
5061 variable
[23] = NEW_String_string___String___with_native(BOX_NativeString("return self;"), TAG_Int(12)) /*new String*/;
5062 once_value_256
= variable
[23];
5064 /* Register variable[23]: Result */
5065 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[23]) /*CompilerVisitor::add_instr*/;
5066 CALL_compiling_base___CompilerVisitor___unindent( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::unindent*/;
5067 /* Register variable[23]: Once String constant */
5068 if (once_value_257
!= NIT_NULL
) variable
[23] = once_value_257
;
5070 variable
[23] = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)) /*new String*/;
5071 once_value_257
= variable
[23];
5073 /* Register variable[23]: Result */
5074 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[23]) /*CompilerVisitor::add_instr*/;
5075 continue_233
: while(0);
5076 CALL_abstract_collection___Iterator___next(variable
[16])(variable
[16]) /*Iterator::next*/;
5078 break_233
: while(0);
5080 /* Register variable[8]: Result */
5081 variable
[8] = CALL_compiling_base___PrimitiveInfo___tagged( variable
[7] /*pi*/)( variable
[7] /*pi*/) /*PrimitiveInfo::tagged*/;
5082 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable
[8])))) { /*if*/
5083 /* Register variable[8]: Local variable */
5084 /* Register variable[9]: Result */
5085 variable
[9] = CALL_compiling_base___PrimitiveInfo___cname( variable
[7] /*pi*/)( variable
[7] /*pi*/) /*PrimitiveInfo::cname*/;
5086 variable
[8] = variable
[9];
5087 /* Register variable[9]: Local variable */
5088 variable
[10] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
5089 /* Register variable[11]: Once String constant */
5090 if (once_value_258
!= NIT_NULL
) variable
[11] = once_value_258
;
5092 variable
[11] = NEW_String_string___String___with_native(BOX_NativeString("struct TBOX_"), TAG_Int(12)) /*new String*/;
5093 once_value_258
= variable
[11];
5095 /* Register variable[11]: Result */
5096 /* Ensure var variable[11]: super-string element*/
5097 CALL_abstract_collection___SimpleCollection___add(variable
[10])(variable
[10], variable
[11]) /*AbstractArray::add*/;
5098 /* Register variable[11]: Result */
5099 variable
[11] = CALL_abstractmetamodel___MMLocalClass___name(variable
[0])(variable
[0]) /*MMLocalClass::name*/;
5100 /* Ensure var variable[11]: super-string element*/
5101 CALL_abstract_collection___SimpleCollection___add(variable
[10])(variable
[10], CALL_string___Object___to_s(variable
[11])(variable
[11]) /*Object::to_s*/) /*AbstractArray::add*/;
5102 /* Register variable[11]: Once String constant */
5103 if (once_value_259
!= NIT_NULL
) variable
[11] = once_value_259
;
5105 variable
[11] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
5106 once_value_259
= variable
[11];
5108 /* Register variable[11]: Result */
5109 /* Ensure var variable[11]: super-string element*/
5110 CALL_abstract_collection___SimpleCollection___add(variable
[10])(variable
[10], variable
[11]) /*AbstractArray::add*/;
5111 /* Register variable[10]: Result */
5112 variable
[10] = CALL_string___Object___to_s(variable
[10])(variable
[10]) /*Object::to_s*/;
5113 variable
[9] = variable
[10];
5114 variable
[10] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
5115 /* Register variable[11]: Once String constant */
5116 if (once_value_260
!= NIT_NULL
) variable
[11] = once_value_260
;
5118 variable
[11] = NEW_String_string___String___with_native(BOX_NativeString("val_t BOX_"), TAG_Int(10)) /*new String*/;
5119 once_value_260
= variable
[11];
5121 /* Register variable[11]: Result */
5122 /* Ensure var variable[11]: super-string element*/
5123 CALL_abstract_collection___SimpleCollection___add(variable
[10])(variable
[10], variable
[11]) /*AbstractArray::add*/;
5124 /* Register variable[11]: Result */
5125 variable
[11] = CALL_abstractmetamodel___MMLocalClass___name(variable
[0])(variable
[0]) /*MMLocalClass::name*/;
5126 /* Ensure var variable[11]: super-string element*/
5127 CALL_abstract_collection___SimpleCollection___add(variable
[10])(variable
[10], CALL_string___Object___to_s(variable
[11])(variable
[11]) /*Object::to_s*/) /*AbstractArray::add*/;
5128 /* Register variable[11]: Once String constant */
5129 if (once_value_261
!= NIT_NULL
) variable
[11] = once_value_261
;
5131 variable
[11] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)) /*new String*/;
5132 once_value_261
= variable
[11];
5134 /* Register variable[11]: Result */
5135 /* Ensure var variable[11]: super-string element*/
5136 CALL_abstract_collection___SimpleCollection___add(variable
[10])(variable
[10], variable
[11]) /*AbstractArray::add*/;
5137 variable
[11] = variable
[8] /*t*/ /* Ensure var: super-string element*/;
5138 CALL_abstract_collection___SimpleCollection___add(variable
[10])(variable
[10], variable
[11]) /*AbstractArray::add*/;
5139 /* Register variable[11]: Once String constant */
5140 if (once_value_262
!= NIT_NULL
) variable
[11] = once_value_262
;
5142 variable
[11] = NEW_String_string___String___with_native(BOX_NativeString(" val) {"), TAG_Int(7)) /*new String*/;
5143 once_value_262
= variable
[11];
5145 /* Register variable[11]: Result */
5146 /* Ensure var variable[11]: super-string element*/
5147 CALL_abstract_collection___SimpleCollection___add(variable
[10])(variable
[10], variable
[11]) /*AbstractArray::add*/;
5148 /* Register variable[10]: Result */
5149 variable
[10] = CALL_string___Object___to_s(variable
[10])(variable
[10]) /*Object::to_s*/;
5150 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[10]) /*CompilerVisitor::add_instr*/;
5151 CALL_compiling_base___CompilerVisitor___indent( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::indent*/;
5152 variable
[10] = NEW_Array_array___Array___with_capacity(TAG_Int(7)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
5153 /* Register variable[11]: Once String constant */
5154 if (once_value_263
!= NIT_NULL
) variable
[11] = once_value_263
;
5156 variable
[11] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
5157 once_value_263
= variable
[11];
5159 /* Register variable[11]: Result */
5160 /* Ensure var variable[11]: super-string element*/
5161 CALL_abstract_collection___SimpleCollection___add(variable
[10])(variable
[10], variable
[11]) /*AbstractArray::add*/;
5162 variable
[11] = variable
[9] /*tbox*/ /* Ensure var: super-string element*/;
5163 CALL_abstract_collection___SimpleCollection___add(variable
[10])(variable
[10], variable
[11]) /*AbstractArray::add*/;
5164 /* Register variable[11]: Once String constant */
5165 if (once_value_264
!= NIT_NULL
) variable
[11] = once_value_264
;
5167 variable
[11] = NEW_String_string___String___with_native(BOX_NativeString(" *box = ("), TAG_Int(9)) /*new String*/;
5168 once_value_264
= variable
[11];
5170 /* Register variable[11]: Result */
5171 /* Ensure var variable[11]: super-string element*/
5172 CALL_abstract_collection___SimpleCollection___add(variable
[10])(variable
[10], variable
[11]) /*AbstractArray::add*/;
5173 variable
[11] = variable
[9] /*tbox*/ /* Ensure var: super-string element*/;
5174 CALL_abstract_collection___SimpleCollection___add(variable
[10])(variable
[10], variable
[11]) /*AbstractArray::add*/;
5175 /* Register variable[11]: Once String constant */
5176 if (once_value_265
!= NIT_NULL
) variable
[11] = once_value_265
;
5178 variable
[11] = NEW_String_string___String___with_native(BOX_NativeString("*)alloc(sizeof("), TAG_Int(15)) /*new String*/;
5179 once_value_265
= variable
[11];
5181 /* Register variable[11]: Result */
5182 /* Ensure var variable[11]: super-string element*/
5183 CALL_abstract_collection___SimpleCollection___add(variable
[10])(variable
[10], variable
[11]) /*AbstractArray::add*/;
5184 variable
[11] = variable
[9] /*tbox*/ /* Ensure var: super-string element*/;
5185 CALL_abstract_collection___SimpleCollection___add(variable
[10])(variable
[10], variable
[11]) /*AbstractArray::add*/;
5186 /* Register variable[11]: Once String constant */
5187 if (once_value_266
!= NIT_NULL
) variable
[11] = once_value_266
;
5189 variable
[11] = NEW_String_string___String___with_native(BOX_NativeString("));"), TAG_Int(3)) /*new String*/;
5190 once_value_266
= variable
[11];
5192 /* Register variable[11]: Result */
5193 /* Ensure var variable[11]: super-string element*/
5194 CALL_abstract_collection___SimpleCollection___add(variable
[10])(variable
[10], variable
[11]) /*AbstractArray::add*/;
5195 /* Register variable[10]: Result */
5196 variable
[10] = CALL_string___Object___to_s(variable
[10])(variable
[10]) /*Object::to_s*/;
5197 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[10]) /*CompilerVisitor::add_instr*/;
5198 variable
[10] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
5199 /* Register variable[11]: Once String constant */
5200 if (once_value_267
!= NIT_NULL
) variable
[11] = once_value_267
;
5202 variable
[11] = NEW_String_string___String___with_native(BOX_NativeString("box->vft = VFT_"), TAG_Int(15)) /*new String*/;
5203 once_value_267
= variable
[11];
5205 /* Register variable[11]: Result */
5206 /* Ensure var variable[11]: super-string element*/
5207 CALL_abstract_collection___SimpleCollection___add(variable
[10])(variable
[10], variable
[11]) /*AbstractArray::add*/;
5208 /* Register variable[11]: Result */
5209 variable
[11] = CALL_abstractmetamodel___MMLocalClass___name(variable
[0])(variable
[0]) /*MMLocalClass::name*/;
5210 /* Ensure var variable[11]: super-string element*/
5211 CALL_abstract_collection___SimpleCollection___add(variable
[10])(variable
[10], CALL_string___Object___to_s(variable
[11])(variable
[11]) /*Object::to_s*/) /*AbstractArray::add*/;
5212 /* Register variable[11]: Once String constant */
5213 if (once_value_268
!= NIT_NULL
) variable
[11] = once_value_268
;
5215 variable
[11] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
5216 once_value_268
= variable
[11];
5218 /* Register variable[11]: Result */
5219 /* Ensure var variable[11]: super-string element*/
5220 CALL_abstract_collection___SimpleCollection___add(variable
[10])(variable
[10], variable
[11]) /*AbstractArray::add*/;
5221 /* Register variable[10]: Result */
5222 variable
[10] = CALL_string___Object___to_s(variable
[10])(variable
[10]) /*Object::to_s*/;
5223 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[10]) /*CompilerVisitor::add_instr*/;
5224 /* Register variable[10]: Once String constant */
5225 if (once_value_269
!= NIT_NULL
) variable
[10] = once_value_269
;
5227 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString("box->val = val;"), TAG_Int(15)) /*new String*/;
5228 once_value_269
= variable
[10];
5230 /* Register variable[10]: Result */
5231 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[10]) /*CompilerVisitor::add_instr*/;
5232 /* Register variable[10]: Once String constant */
5233 if (once_value_270
!= NIT_NULL
) variable
[10] = once_value_270
;
5235 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString("return OBJ2VAL(box);"), TAG_Int(20)) /*new String*/;
5236 once_value_270
= variable
[10];
5238 /* Register variable[10]: Result */
5239 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[10]) /*CompilerVisitor::add_instr*/;
5240 CALL_compiling_base___CompilerVisitor___unindent( variable
[1] /*v*/)( variable
[1] /*v*/) /*CompilerVisitor::unindent*/;
5241 /* Register variable[10]: Once String constant */
5242 if (once_value_271
!= NIT_NULL
) variable
[10] = once_value_271
;
5244 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)) /*new String*/;
5245 once_value_271
= variable
[10];
5247 /* Register variable[10]: Result */
5248 CALL_compiling_base___CompilerVisitor___add_instr( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[10]) /*CompilerVisitor::add_instr*/;
5251 return_label194
: while(false);
5252 tracehead
= trace
.prev
;