c_src: regenerate with soft nullable handling
[nit.git] / c_src / compiling_base._sep.c
1 /* This C file is generated by NIT to compile module compiling_base. */
2 #include "compiling_base._sep.h"
3 val_t compiling_base___ToolContext___global(val_t self) {
4 struct trace_t trace = {NULL, NULL, 24, LOCATE_compiling_base___ToolContext___global};
5 val_t *variable = NULL;
6 struct WBT_ **closurevariable = NULL;
7 trace.prev = tracehead; tracehead = &trace;
8 trace.file = LOCATE_compiling_base;
9 tracehead = trace.prev;
10 return ATTR_compiling_base___ToolContext____global( self) /*ToolContext::_global*/;
11 }
12 void compiling_base___ToolContext___global__eq(val_t self, val_t param0) {
13 struct trace_t trace = {NULL, NULL, 24, LOCATE_compiling_base___ToolContext___global__eq};
14 val_t *variable = NULL;
15 struct WBT_ **closurevariable = NULL;
16 trace.prev = tracehead; tracehead = &trace;
17 trace.file = LOCATE_compiling_base;
18 ATTR_compiling_base___ToolContext____global( self) /*ToolContext::_global*/ = param0;
19 tracehead = trace.prev;
20 return;
21 }
22 val_t compiling_base___ToolContext___compdir(val_t self) {
23 struct trace_t trace = {NULL, NULL, 25, LOCATE_compiling_base___ToolContext___compdir};
24 val_t *variable = NULL;
25 struct WBT_ **closurevariable = NULL;
26 trace.prev = tracehead; tracehead = &trace;
27 trace.file = LOCATE_compiling_base;
28 tracehead = trace.prev;
29 return ATTR_compiling_base___ToolContext____compdir( self) /*ToolContext::_compdir*/;
30 }
31 void compiling_base___ToolContext___compdir__eq(val_t self, val_t param0) {
32 struct trace_t trace = {NULL, NULL, 25, LOCATE_compiling_base___ToolContext___compdir__eq};
33 val_t *variable = NULL;
34 struct WBT_ **closurevariable = NULL;
35 trace.prev = tracehead; tracehead = &trace;
36 trace.file = LOCATE_compiling_base;
37 ATTR_compiling_base___ToolContext____compdir( self) /*ToolContext::_compdir*/ = param0;
38 tracehead = trace.prev;
39 return;
40 }
41 val_t compiling_base___ToolContext___clibdir(val_t self) {
42 struct trace_t trace = {NULL, NULL, 26, LOCATE_compiling_base___ToolContext___clibdir};
43 val_t *variable = NULL;
44 struct WBT_ **closurevariable = NULL;
45 trace.prev = tracehead; tracehead = &trace;
46 trace.file = LOCATE_compiling_base;
47 tracehead = trace.prev;
48 return ATTR_compiling_base___ToolContext____clibdir( self) /*ToolContext::_clibdir*/;
49 }
50 void compiling_base___ToolContext___clibdir__eq(val_t self, val_t param0) {
51 struct trace_t trace = {NULL, NULL, 26, LOCATE_compiling_base___ToolContext___clibdir__eq};
52 val_t *variable = NULL;
53 struct WBT_ **closurevariable = NULL;
54 trace.prev = tracehead; tracehead = &trace;
55 trace.file = LOCATE_compiling_base;
56 ATTR_compiling_base___ToolContext____clibdir( self) /*ToolContext::_clibdir*/ = param0;
57 tracehead = trace.prev;
58 return;
59 }
60 val_t compiling_base___ToolContext___bindir(val_t self) {
61 struct trace_t trace = {NULL, NULL, 27, LOCATE_compiling_base___ToolContext___bindir};
62 val_t *variable = NULL;
63 struct WBT_ **closurevariable = NULL;
64 trace.prev = tracehead; tracehead = &trace;
65 trace.file = LOCATE_compiling_base;
66 tracehead = trace.prev;
67 return ATTR_compiling_base___ToolContext____bindir( self) /*ToolContext::_bindir*/;
68 }
69 void compiling_base___ToolContext___bindir__eq(val_t self, val_t param0) {
70 struct trace_t trace = {NULL, NULL, 27, LOCATE_compiling_base___ToolContext___bindir__eq};
71 val_t *variable = NULL;
72 struct WBT_ **closurevariable = NULL;
73 trace.prev = tracehead; tracehead = &trace;
74 trace.file = LOCATE_compiling_base;
75 ATTR_compiling_base___ToolContext____bindir( self) /*ToolContext::_bindir*/ = param0;
76 tracehead = trace.prev;
77 return;
78 }
79 val_t compiling_base___ToolContext___output_file(val_t self) {
80 struct trace_t trace = {NULL, NULL, 28, LOCATE_compiling_base___ToolContext___output_file};
81 val_t *variable = NULL;
82 struct WBT_ **closurevariable = NULL;
83 trace.prev = tracehead; tracehead = &trace;
84 trace.file = LOCATE_compiling_base;
85 tracehead = trace.prev;
86 return ATTR_compiling_base___ToolContext____output_file( self) /*ToolContext::_output_file*/;
87 }
88 void compiling_base___ToolContext___output_file__eq(val_t self, val_t param0) {
89 struct trace_t trace = {NULL, NULL, 28, LOCATE_compiling_base___ToolContext___output_file__eq};
90 val_t *variable = NULL;
91 struct WBT_ **closurevariable = NULL;
92 trace.prev = tracehead; tracehead = &trace;
93 trace.file = LOCATE_compiling_base;
94 ATTR_compiling_base___ToolContext____output_file( self) /*ToolContext::_output_file*/ = param0;
95 tracehead = trace.prev;
96 return;
97 }
98 val_t compiling_base___ToolContext___boost(val_t self) {
99 struct trace_t trace = {NULL, NULL, 29, LOCATE_compiling_base___ToolContext___boost};
100 val_t *variable = NULL;
101 struct WBT_ **closurevariable = NULL;
102 trace.prev = tracehead; tracehead = &trace;
103 trace.file = LOCATE_compiling_base;
104 tracehead = trace.prev;
105 return ATTR_compiling_base___ToolContext____boost( self) /*ToolContext::_boost*/;
106 }
107 void compiling_base___ToolContext___boost__eq(val_t self, val_t param0) {
108 struct trace_t trace = {NULL, NULL, 29, LOCATE_compiling_base___ToolContext___boost__eq};
109 val_t *variable = NULL;
110 struct WBT_ **closurevariable = NULL;
111 trace.prev = tracehead; tracehead = &trace;
112 trace.file = LOCATE_compiling_base;
113 ATTR_compiling_base___ToolContext____boost( self) /*ToolContext::_boost*/ = param0;
114 tracehead = trace.prev;
115 return;
116 }
117 val_t compiling_base___ToolContext___no_cc(val_t self) {
118 struct trace_t trace = {NULL, NULL, 30, LOCATE_compiling_base___ToolContext___no_cc};
119 val_t *variable = NULL;
120 struct WBT_ **closurevariable = NULL;
121 trace.prev = tracehead; tracehead = &trace;
122 trace.file = LOCATE_compiling_base;
123 tracehead = trace.prev;
124 return ATTR_compiling_base___ToolContext____no_cc( self) /*ToolContext::_no_cc*/;
125 }
126 void compiling_base___ToolContext___no_cc__eq(val_t self, val_t param0) {
127 struct trace_t trace = {NULL, NULL, 30, LOCATE_compiling_base___ToolContext___no_cc__eq};
128 val_t *variable = NULL;
129 struct WBT_ **closurevariable = NULL;
130 trace.prev = tracehead; tracehead = &trace;
131 trace.file = LOCATE_compiling_base;
132 ATTR_compiling_base___ToolContext____no_cc( self) /*ToolContext::_no_cc*/ = param0;
133 tracehead = trace.prev;
134 return;
135 }
136 val_t compiling_base___ToolContext___ext_prefix(val_t self) {
137 struct trace_t trace = {NULL, NULL, 31, LOCATE_compiling_base___ToolContext___ext_prefix};
138 val_t *variable = NULL;
139 struct WBT_ **closurevariable = NULL;
140 trace.prev = tracehead; tracehead = &trace;
141 trace.file = LOCATE_compiling_base;
142 tracehead = trace.prev;
143 return ATTR_compiling_base___ToolContext____ext_prefix( self) /*ToolContext::_ext_prefix*/;
144 }
145 void compiling_base___ToolContext___ext_prefix__eq(val_t self, val_t param0) {
146 struct trace_t trace = {NULL, NULL, 31, LOCATE_compiling_base___ToolContext___ext_prefix__eq};
147 val_t *variable = NULL;
148 struct WBT_ **closurevariable = NULL;
149 trace.prev = tracehead; tracehead = &trace;
150 trace.file = LOCATE_compiling_base;
151 ATTR_compiling_base___ToolContext____ext_prefix( self) /*ToolContext::_ext_prefix*/ = param0;
152 tracehead = trace.prev;
153 return;
154 }
155 val_t compiling_base___CompilerVisitor___to_s(val_t self) {
156 struct trace_t trace = {NULL, NULL, 79, LOCATE_compiling_base___CompilerVisitor___to_s};
157 static val_t once_value_1 = NIT_NULL; /* Once value for string variable[3]*/
158 static val_t once_value_2 = NIT_NULL; /* Once value for string variable[3]*/
159 val_t variable[4];
160 struct WBT_ **closurevariable = NULL;
161 trace.prev = tracehead; tracehead = &trace;
162 trace.file = LOCATE_compiling_base;
163 /* Register variable[0]: Local variable */
164 variable[0] = self;
165 /* Register variable[1]: Method return value and escape marker */
166 /* Register variable[2]: Local variable */
167 /* Register variable[3]: Result */
168 variable[3] = NEW_Array_array___Array___init() /*new Array[String]*/;
169 variable[2] = variable[3];
170 /* Register variable[3]: Result */
171 variable[3] = ATTR_compiling_base___CompilerVisitor____ctx(variable[0]) /*CompilerVisitor::_ctx*/;
172 /* Register variable[3]: Result */
173 variable[3] = CALL_compiling_base___CContext___decls(variable[3])(variable[3]) /*CContext::decls*/;
174 CALL_abstract_collection___IndexedCollection___append( variable[2] /*out*/)( variable[2] /*out*/, variable[3]) /*IndexedCollection::append*/;
175 /* Register variable[3]: Result */
176 variable[3] = ATTR_compiling_base___CompilerVisitor____ctx(variable[0]) /*CompilerVisitor::_ctx*/;
177 /* Register variable[3]: Result */
178 variable[3] = CALL_compiling_base___CContext___instrs(variable[3])(variable[3]) /*CContext::instrs*/;
179 CALL_abstract_collection___IndexedCollection___append( variable[2] /*out*/)( variable[2] /*out*/, variable[3]) /*IndexedCollection::append*/;
180 /* Register variable[3]: Once String constant */
181 if (once_value_1 != NIT_NULL) variable[3] = once_value_1;
182 else {
183 variable[3] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
184 once_value_1 = variable[3];
185 }
186 /* Register variable[3]: Result */
187 CALL_abstract_collection___SimpleCollection___add( variable[2] /*out*/)( variable[2] /*out*/, variable[3]) /*AbstractArray::add*/;
188 /* Register variable[3]: Once String constant */
189 if (once_value_2 != NIT_NULL) variable[3] = once_value_2;
190 else {
191 variable[3] = NEW_String_string___String___with_native(BOX_NativeString("\n"), TAG_Int(1)) /*new String*/;
192 once_value_2 = variable[3];
193 }
194 /* Register variable[3]: Result */
195 /* Register variable[3]: Result */
196 variable[3] = CALL_string___Collection___join( variable[2] /*out*/)( variable[2] /*out*/, variable[3]) /*Collection::join*/;
197 variable[1] = variable[3];
198 goto return_label0;
199 return_label0: while(false);
200 tracehead = trace.prev;
201 return variable[1];
202 }
203 void compiling_base___CompilerVisitor___add_decl(val_t self, val_t param0) {
204 struct trace_t trace = {NULL, NULL, 38, LOCATE_compiling_base___CompilerVisitor___add_decl};
205 static val_t once_value_4 = NIT_NULL; /* Once value for string variable[4]*/
206 static val_t once_value_5 = NIT_NULL; /* Once value for string variable[4]*/
207 val_t variable[6];
208 struct WBT_ **closurevariable = NULL;
209 trace.prev = tracehead; tracehead = &trace;
210 trace.file = LOCATE_compiling_base;
211 /* Register variable[0]: Local variable */
212 variable[0] = self;
213 /* Register variable[1]: Local variable */
214 variable[1] = param0;
215 /* Register variable[2]: Method return value and escape marker */
216 /* Register variable[3]: Result */
217 variable[3] = ATTR_compiling_base___CompilerVisitor____indent_level(variable[0]) /*CompilerVisitor::_indent_level*/;
218 /* Register variable[3]: Result */
219 variable[3] = TAG_Bool(UNTAG_Int(variable[3])>=UNTAG_Int( TAG_Int(8)));
220 if (UNTAG_Bool(variable[3])) { /*if*/
221 /* Register variable[3]: Result */
222 variable[3] = ATTR_compiling_base___CompilerVisitor____ctx(variable[0]) /*CompilerVisitor::_ctx*/;
223 /* Register variable[3]: Result */
224 variable[3] = CALL_compiling_base___CContext___decls(variable[3])(variable[3]) /*CContext::decls*/;
225 /* Register variable[4]: Once String constant */
226 if (once_value_4 != NIT_NULL) variable[4] = once_value_4;
227 else {
228 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("\t\t"), TAG_Int(2)) /*new String*/;
229 once_value_4 = variable[4];
230 }
231 /* Register variable[4]: Result */
232 /* Register variable[4]: Result */
233 variable[4] = CALL_string___String_____plus(variable[4])(variable[4], variable[1] /*s*/) /*String::+*/;
234 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
235 } else { /*if*/
236 /* Register variable[3]: Result */
237 variable[3] = ATTR_compiling_base___CompilerVisitor____ctx(variable[0]) /*CompilerVisitor::_ctx*/;
238 /* Register variable[3]: Result */
239 variable[3] = CALL_compiling_base___CContext___decls(variable[3])(variable[3]) /*CContext::decls*/;
240 /* Register variable[4]: Once String constant */
241 if (once_value_5 != NIT_NULL) variable[4] = once_value_5;
242 else {
243 variable[4] = NEW_String_string___String___with_native(BOX_NativeString(" "), TAG_Int(2)) /*new String*/;
244 once_value_5 = variable[4];
245 }
246 /* Register variable[4]: Result */
247 /* Register variable[5]: Result */
248 variable[5] = ATTR_compiling_base___CompilerVisitor____indent_level(variable[0]) /*CompilerVisitor::_indent_level*/;
249 /* Register variable[4]: Result */
250 variable[4] = CALL_string___String_____star(variable[4])(variable[4], variable[5]) /*String::**/;
251 /* Register variable[4]: Result */
252 variable[4] = CALL_string___String_____plus(variable[4])(variable[4], variable[1] /*s*/) /*String::+*/;
253 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
254 }
255 return_label3: while(false);
256 tracehead = trace.prev;
257 return;
258 }
259 void compiling_base___CompilerVisitor___add_instr(val_t self, val_t param0) {
260 struct trace_t trace = {NULL, NULL, 48, LOCATE_compiling_base___CompilerVisitor___add_instr};
261 static val_t once_value_7 = NIT_NULL; /* Once value for string variable[4]*/
262 static val_t once_value_8 = NIT_NULL; /* Once value for string variable[4]*/
263 val_t variable[6];
264 struct WBT_ **closurevariable = NULL;
265 trace.prev = tracehead; tracehead = &trace;
266 trace.file = LOCATE_compiling_base;
267 /* Register variable[0]: Local variable */
268 variable[0] = self;
269 /* Register variable[1]: Local variable */
270 variable[1] = param0;
271 /* Register variable[2]: Method return value and escape marker */
272 /* Register variable[3]: Result */
273 variable[3] = ATTR_compiling_base___CompilerVisitor____indent_level(variable[0]) /*CompilerVisitor::_indent_level*/;
274 /* Register variable[3]: Result */
275 variable[3] = TAG_Bool(UNTAG_Int(variable[3])>=UNTAG_Int( TAG_Int(8)));
276 if (UNTAG_Bool(variable[3])) { /*if*/
277 /* Register variable[3]: Result */
278 variable[3] = ATTR_compiling_base___CompilerVisitor____ctx(variable[0]) /*CompilerVisitor::_ctx*/;
279 /* Register variable[3]: Result */
280 variable[3] = CALL_compiling_base___CContext___instrs(variable[3])(variable[3]) /*CContext::instrs*/;
281 /* Register variable[4]: Once String constant */
282 if (once_value_7 != NIT_NULL) variable[4] = once_value_7;
283 else {
284 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("\t\t"), TAG_Int(2)) /*new String*/;
285 once_value_7 = variable[4];
286 }
287 /* Register variable[4]: Result */
288 /* Register variable[4]: Result */
289 variable[4] = CALL_string___String_____plus(variable[4])(variable[4], variable[1] /*s*/) /*String::+*/;
290 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
291 } else { /*if*/
292 /* Register variable[3]: Result */
293 variable[3] = ATTR_compiling_base___CompilerVisitor____ctx(variable[0]) /*CompilerVisitor::_ctx*/;
294 /* Register variable[3]: Result */
295 variable[3] = CALL_compiling_base___CContext___instrs(variable[3])(variable[3]) /*CContext::instrs*/;
296 /* Register variable[4]: Once String constant */
297 if (once_value_8 != NIT_NULL) variable[4] = once_value_8;
298 else {
299 variable[4] = NEW_String_string___String___with_native(BOX_NativeString(" "), TAG_Int(2)) /*new String*/;
300 once_value_8 = variable[4];
301 }
302 /* Register variable[4]: Result */
303 /* Register variable[5]: Result */
304 variable[5] = ATTR_compiling_base___CompilerVisitor____indent_level(variable[0]) /*CompilerVisitor::_indent_level*/;
305 /* Register variable[4]: Result */
306 variable[4] = CALL_string___String_____star(variable[4])(variable[4], variable[5]) /*String::**/;
307 /* Register variable[4]: Result */
308 variable[4] = CALL_string___String_____plus(variable[4])(variable[4], variable[1] /*s*/) /*String::+*/;
309 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
310 }
311 return_label6: while(false);
312 tracehead = trace.prev;
313 return;
314 }
315 val_t compiling_base___CompilerVisitor___new_number(val_t self) {
316 struct trace_t trace = {NULL, NULL, 58, LOCATE_compiling_base___CompilerVisitor___new_number};
317 val_t variable[4];
318 struct WBT_ **closurevariable = NULL;
319 trace.prev = tracehead; tracehead = &trace;
320 trace.file = LOCATE_compiling_base;
321 /* Register variable[0]: Local variable */
322 variable[0] = self;
323 /* Register variable[1]: Method return value and escape marker */
324 /* Register variable[2]: Local variable */
325 /* Register variable[3]: Result */
326 variable[3] = ATTR_compiling_base___CompilerVisitor____number_cpt(variable[0]) /*CompilerVisitor::_number_cpt*/;
327 variable[2] = variable[3];
328 /* Register variable[3]: Result */
329 variable[3] = TAG_Int(UNTAG_Int( variable[2] /*res*/)+UNTAG_Int( TAG_Int(1)));
330 ATTR_compiling_base___CompilerVisitor____number_cpt(variable[0]) /*CompilerVisitor::_number_cpt*/ = variable[3];
331 variable[1] = variable[2] /*res*/;
332 goto return_label9;
333 return_label9: while(false);
334 tracehead = trace.prev;
335 return variable[1];
336 }
337 void compiling_base___CompilerVisitor___indent(val_t self) {
338 struct trace_t trace = {NULL, NULL, 68, LOCATE_compiling_base___CompilerVisitor___indent};
339 val_t variable[2];
340 struct WBT_ **closurevariable = NULL;
341 trace.prev = tracehead; tracehead = &trace;
342 trace.file = LOCATE_compiling_base;
343 /* Register variable[0]: Local variable */
344 variable[0] = self;
345 /* Register variable[1]: Method return value and escape marker */
346 ATTR_compiling_base___CompilerVisitor____indent_level(variable[0]) /*CompilerVisitor::_indent_level*/ = TAG_Int(UNTAG_Int(ATTR_compiling_base___CompilerVisitor____indent_level(variable[0]) /*CompilerVisitor::_indent_level*/)+UNTAG_Int( TAG_Int(1)));
347 return_label10: while(false);
348 tracehead = trace.prev;
349 return;
350 }
351 void compiling_base___CompilerVisitor___unindent(val_t self) {
352 struct trace_t trace = {NULL, NULL, 72, LOCATE_compiling_base___CompilerVisitor___unindent};
353 val_t variable[3];
354 struct WBT_ **closurevariable = NULL;
355 trace.prev = tracehead; tracehead = &trace;
356 trace.file = LOCATE_compiling_base;
357 /* Register variable[0]: Local variable */
358 variable[0] = self;
359 /* Register variable[1]: Method return value and escape marker */
360 ATTR_compiling_base___CompilerVisitor____indent_level(variable[0]) /*CompilerVisitor::_indent_level*/ = TAG_Int(UNTAG_Int(ATTR_compiling_base___CompilerVisitor____indent_level(variable[0]) /*CompilerVisitor::_indent_level*/)-UNTAG_Int( TAG_Int(1)));
361 /* Register variable[2]: Result */
362 variable[2] = ATTR_compiling_base___CompilerVisitor____indent_level(variable[0]) /*CompilerVisitor::_indent_level*/;
363 /* Register variable[2]: Result */
364 variable[2] = TAG_Bool(UNTAG_Int(variable[2])<UNTAG_Int( TAG_Int(0)));
365 if (UNTAG_Bool(variable[2])) { /*if*/
366 ATTR_compiling_base___CompilerVisitor____indent_level(variable[0]) /*CompilerVisitor::_indent_level*/ = TAG_Int(0);
367 }
368 return_label11: while(false);
369 tracehead = trace.prev;
370 return;
371 }
372 val_t compiling_base___CompilerVisitor___module(val_t self) {
373 struct trace_t trace = {NULL, NULL, 89, LOCATE_compiling_base___CompilerVisitor___module};
374 val_t *variable = NULL;
375 struct WBT_ **closurevariable = NULL;
376 trace.prev = tracehead; tracehead = &trace;
377 trace.file = LOCATE_compiling_base;
378 tracehead = trace.prev;
379 return ATTR_compiling_base___CompilerVisitor____module( self) /*CompilerVisitor::_module*/;
380 }
381 val_t compiling_base___CompilerVisitor___ctx(val_t self) {
382 struct trace_t trace = {NULL, NULL, 92, LOCATE_compiling_base___CompilerVisitor___ctx};
383 val_t *variable = NULL;
384 struct WBT_ **closurevariable = NULL;
385 trace.prev = tracehead; tracehead = &trace;
386 trace.file = LOCATE_compiling_base;
387 tracehead = trace.prev;
388 return ATTR_compiling_base___CompilerVisitor____ctx( self) /*CompilerVisitor::_ctx*/;
389 }
390 void compiling_base___CompilerVisitor___ctx__eq(val_t self, val_t param0) {
391 struct trace_t trace = {NULL, NULL, 92, LOCATE_compiling_base___CompilerVisitor___ctx__eq};
392 val_t *variable = NULL;
393 struct WBT_ **closurevariable = NULL;
394 trace.prev = tracehead; tracehead = &trace;
395 trace.file = LOCATE_compiling_base;
396 ATTR_compiling_base___CompilerVisitor____ctx( self) /*CompilerVisitor::_ctx*/ = param0;
397 tracehead = trace.prev;
398 return;
399 }
400 val_t compiling_base___CompilerVisitor___indent_level(val_t self) {
401 struct trace_t trace = {NULL, NULL, 95, LOCATE_compiling_base___CompilerVisitor___indent_level};
402 val_t *variable = NULL;
403 struct WBT_ **closurevariable = NULL;
404 trace.prev = tracehead; tracehead = &trace;
405 trace.file = LOCATE_compiling_base;
406 tracehead = trace.prev;
407 return ATTR_compiling_base___CompilerVisitor____indent_level( self) /*CompilerVisitor::_indent_level*/;
408 }
409 void compiling_base___CompilerVisitor___indent_level__eq(val_t self, val_t param0) {
410 struct trace_t trace = {NULL, NULL, 95, LOCATE_compiling_base___CompilerVisitor___indent_level__eq};
411 val_t *variable = NULL;
412 struct WBT_ **closurevariable = NULL;
413 trace.prev = tracehead; tracehead = &trace;
414 trace.file = LOCATE_compiling_base;
415 ATTR_compiling_base___CompilerVisitor____indent_level( self) /*CompilerVisitor::_indent_level*/ = param0;
416 tracehead = trace.prev;
417 return;
418 }
419 val_t compiling_base___CompilerVisitor___tc(val_t self) {
420 struct trace_t trace = {NULL, NULL, 98, LOCATE_compiling_base___CompilerVisitor___tc};
421 val_t *variable = NULL;
422 struct WBT_ **closurevariable = NULL;
423 trace.prev = tracehead; tracehead = &trace;
424 trace.file = LOCATE_compiling_base;
425 tracehead = trace.prev;
426 return ATTR_compiling_base___CompilerVisitor____tc( self) /*CompilerVisitor::_tc*/;
427 }
428 void compiling_base___CompilerVisitor___init(val_t self, val_t param0, val_t param1, int* init_table) {
429 struct trace_t trace = {NULL, NULL, 101, LOCATE_compiling_base___CompilerVisitor___init};
430 val_t variable[4];
431 struct WBT_ **closurevariable = NULL;
432 trace.prev = tracehead; tracehead = &trace;
433 trace.file = LOCATE_compiling_base;
434 /* Register variable[0]: Local variable */
435 variable[0] = self;
436 /* Register variable[1]: Local variable */
437 variable[1] = param0;
438 /* Register variable[2]: Local variable */
439 variable[2] = param1;
440 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_CompilerVisitor].i]) return;
441 /* Register variable[3]: Method return value and escape marker */
442 ATTR_compiling_base___CompilerVisitor____module(variable[0]) /*CompilerVisitor::_module*/ = variable[1] /*module*/;
443 ATTR_compiling_base___CompilerVisitor____tc(variable[0]) /*CompilerVisitor::_tc*/ = variable[2] /*tc*/;
444 return_label12: while(false);
445 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_CompilerVisitor].i] = 1;
446 tracehead = trace.prev;
447 return;
448 }
449 val_t compiling_base___CContext___decls(val_t self) {
450 struct trace_t trace = {NULL, NULL, 112, LOCATE_compiling_base___CContext___decls};
451 val_t *variable = NULL;
452 struct WBT_ **closurevariable = NULL;
453 trace.prev = tracehead; tracehead = &trace;
454 trace.file = LOCATE_compiling_base;
455 tracehead = trace.prev;
456 return ATTR_compiling_base___CContext____decls( self) /*CContext::_decls*/;
457 }
458 val_t compiling_base___CContext___instrs(val_t self) {
459 struct trace_t trace = {NULL, NULL, 113, LOCATE_compiling_base___CContext___instrs};
460 val_t *variable = NULL;
461 struct WBT_ **closurevariable = NULL;
462 trace.prev = tracehead; tracehead = &trace;
463 trace.file = LOCATE_compiling_base;
464 tracehead = trace.prev;
465 return ATTR_compiling_base___CContext____instrs( self) /*CContext::_instrs*/;
466 }
467 void compiling_base___CContext___append(val_t self, val_t param0) {
468 struct trace_t trace = {NULL, NULL, 115, LOCATE_compiling_base___CContext___append};
469 val_t variable[5];
470 struct WBT_ **closurevariable = NULL;
471 trace.prev = tracehead; tracehead = &trace;
472 trace.file = LOCATE_compiling_base;
473 /* Register variable[0]: Local variable */
474 variable[0] = self;
475 /* Register variable[1]: Local variable */
476 variable[1] = param0;
477 /* Register variable[2]: Method return value and escape marker */
478 /* Register variable[3]: Result */
479 variable[3] = ATTR_compiling_base___CContext____instrs(variable[0]) /*CContext::_instrs*/;
480 /* Register variable[4]: Result */
481 variable[4] = CALL_compiling_base___CContext___decls( variable[1] /*c*/)( variable[1] /*c*/) /*CContext::decls*/;
482 CALL_abstract_collection___IndexedCollection___append(variable[3])(variable[3], variable[4]) /*IndexedCollection::append*/;
483 /* Register variable[3]: Result */
484 variable[3] = ATTR_compiling_base___CContext____instrs(variable[0]) /*CContext::_instrs*/;
485 /* Register variable[4]: Result */
486 variable[4] = CALL_compiling_base___CContext___instrs( variable[1] /*c*/)( variable[1] /*c*/) /*CContext::instrs*/;
487 CALL_abstract_collection___IndexedCollection___append(variable[3])(variable[3], variable[4]) /*IndexedCollection::append*/;
488 return_label13: while(false);
489 tracehead = trace.prev;
490 return;
491 }
492 void compiling_base___CContext___merge(val_t self, val_t param0) {
493 struct trace_t trace = {NULL, NULL, 121, LOCATE_compiling_base___CContext___merge};
494 val_t variable[5];
495 struct WBT_ **closurevariable = NULL;
496 trace.prev = tracehead; tracehead = &trace;
497 trace.file = LOCATE_compiling_base;
498 /* Register variable[0]: Local variable */
499 variable[0] = self;
500 /* Register variable[1]: Local variable */
501 variable[1] = param0;
502 /* Register variable[2]: Method return value and escape marker */
503 /* Register variable[3]: Result */
504 variable[3] = ATTR_compiling_base___CContext____decls(variable[0]) /*CContext::_decls*/;
505 /* Register variable[4]: Result */
506 variable[4] = CALL_compiling_base___CContext___decls( variable[1] /*c*/)( variable[1] /*c*/) /*CContext::decls*/;
507 CALL_abstract_collection___IndexedCollection___append(variable[3])(variable[3], variable[4]) /*IndexedCollection::append*/;
508 /* Register variable[3]: Result */
509 variable[3] = ATTR_compiling_base___CContext____instrs(variable[0]) /*CContext::_instrs*/;
510 /* Register variable[4]: Result */
511 variable[4] = CALL_compiling_base___CContext___instrs( variable[1] /*c*/)( variable[1] /*c*/) /*CContext::instrs*/;
512 CALL_abstract_collection___IndexedCollection___append(variable[3])(variable[3], variable[4]) /*IndexedCollection::append*/;
513 return_label14: while(false);
514 tracehead = trace.prev;
515 return;
516 }
517 void compiling_base___CContext___init(val_t self, int* init_table) {
518 struct trace_t trace = {NULL, NULL, 127, LOCATE_compiling_base___CContext___init};
519 val_t variable[2];
520 struct WBT_ **closurevariable = NULL;
521 trace.prev = tracehead; tracehead = &trace;
522 trace.file = LOCATE_compiling_base;
523 /* Register variable[0]: Local variable */
524 variable[0] = self;
525 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_CContext].i]) return;
526 /* Register variable[1]: Method return value and escape marker */
527 return_label15: while(false);
528 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_CContext].i] = 1;
529 tracehead = trace.prev;
530 return;
531 }
532 val_t compiling_base___MMGlobalProperty___meth_call(val_t self) {
533 struct trace_t trace = {NULL, NULL, 131, LOCATE_compiling_base___MMGlobalProperty___meth_call};
534 static val_t once_value_17 = NIT_NULL; /* Once value for string variable[3]*/
535 static val_t once_value_18 = NIT_NULL; /* Once value for string variable[3]*/
536 val_t variable[4];
537 struct WBT_ **closurevariable = NULL;
538 trace.prev = tracehead; tracehead = &trace;
539 trace.file = LOCATE_compiling_base;
540 /* Register variable[0]: Local variable */
541 variable[0] = self;
542 /* Register variable[1]: Method return value and escape marker */
543 variable[2] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
544 /* Register variable[3]: Once String constant */
545 if (once_value_17 != NIT_NULL) variable[3] = once_value_17;
546 else {
547 variable[3] = NEW_String_string___String___with_native(BOX_NativeString("CALL_"), TAG_Int(5)) /*new String*/;
548 once_value_17 = variable[3];
549 }
550 /* Register variable[3]: Result */
551 /* Ensure var variable[3]: super-string element*/
552 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[3]) /*AbstractArray::add*/;
553 /* Register variable[3]: Result */
554 variable[3] = CALL_abstractmetamodel___MMGlobalProperty___intro(variable[0])(variable[0]) /*MMGlobalProperty::intro*/;
555 /* Register variable[3]: Result */
556 variable[3] = CALL_compiling_base___MMLocalProperty___cname(variable[3])(variable[3]) /*MMLocalProperty::cname*/;
557 /* Ensure var variable[3]: super-string element*/
558 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[3]) /*AbstractArray::add*/;
559 /* Register variable[3]: Once String constant */
560 if (once_value_18 != NIT_NULL) variable[3] = once_value_18;
561 else {
562 variable[3] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
563 once_value_18 = variable[3];
564 }
565 /* Register variable[3]: Result */
566 /* Ensure var variable[3]: super-string element*/
567 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[3]) /*AbstractArray::add*/;
568 /* Register variable[2]: Result */
569 variable[2] = CALL_string___Object___to_s(variable[2])(variable[2]) /*Object::to_s*/;
570 variable[1] = variable[2];
571 goto return_label16;
572 return_label16: while(false);
573 tracehead = trace.prev;
574 return variable[1];
575 }
576 val_t compiling_base___MMGlobalProperty___attr_access(val_t self) {
577 struct trace_t trace = {NULL, NULL, 137, LOCATE_compiling_base___MMGlobalProperty___attr_access};
578 static val_t once_value_20 = NIT_NULL; /* Once value for string variable[3]*/
579 static val_t once_value_21 = NIT_NULL; /* Once value for string variable[3]*/
580 val_t variable[4];
581 struct WBT_ **closurevariable = NULL;
582 trace.prev = tracehead; tracehead = &trace;
583 trace.file = LOCATE_compiling_base;
584 /* Register variable[0]: Local variable */
585 variable[0] = self;
586 /* Register variable[1]: Method return value and escape marker */
587 variable[2] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
588 /* Register variable[3]: Once String constant */
589 if (once_value_20 != NIT_NULL) variable[3] = once_value_20;
590 else {
591 variable[3] = NEW_String_string___String___with_native(BOX_NativeString("ATTR_"), TAG_Int(5)) /*new String*/;
592 once_value_20 = variable[3];
593 }
594 /* Register variable[3]: Result */
595 /* Ensure var variable[3]: super-string element*/
596 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[3]) /*AbstractArray::add*/;
597 /* Register variable[3]: Result */
598 variable[3] = CALL_abstractmetamodel___MMGlobalProperty___intro(variable[0])(variable[0]) /*MMGlobalProperty::intro*/;
599 /* Register variable[3]: Result */
600 variable[3] = CALL_compiling_base___MMLocalProperty___cname(variable[3])(variable[3]) /*MMLocalProperty::cname*/;
601 /* Ensure var variable[3]: super-string element*/
602 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[3]) /*AbstractArray::add*/;
603 /* Register variable[3]: Once String constant */
604 if (once_value_21 != NIT_NULL) variable[3] = once_value_21;
605 else {
606 variable[3] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
607 once_value_21 = variable[3];
608 }
609 /* Register variable[3]: Result */
610 /* Ensure var variable[3]: super-string element*/
611 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[3]) /*AbstractArray::add*/;
612 /* Register variable[2]: Result */
613 variable[2] = CALL_string___Object___to_s(variable[2])(variable[2]) /*Object::to_s*/;
614 variable[1] = variable[2];
615 goto return_label19;
616 return_label19: while(false);
617 tracehead = trace.prev;
618 return variable[1];
619 }
620 val_t compiling_base___MMGlobalClass___id_id(val_t self) {
621 struct trace_t trace = {NULL, NULL, 145, LOCATE_compiling_base___MMGlobalClass___id_id};
622 static val_t once_value_23 = NIT_NULL; /* Once value for string variable[3]*/
623 static val_t once_value_24 = NIT_NULL; /* Once value for string variable[3]*/
624 val_t variable[4];
625 struct WBT_ **closurevariable = NULL;
626 trace.prev = tracehead; tracehead = &trace;
627 trace.file = LOCATE_compiling_base;
628 /* Register variable[0]: Local variable */
629 variable[0] = self;
630 /* Register variable[1]: Method return value and escape marker */
631 variable[2] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
632 /* Register variable[3]: Once String constant */
633 if (once_value_23 != NIT_NULL) variable[3] = once_value_23;
634 else {
635 variable[3] = NEW_String_string___String___with_native(BOX_NativeString("ID_"), TAG_Int(3)) /*new String*/;
636 once_value_23 = variable[3];
637 }
638 /* Register variable[3]: Result */
639 /* Ensure var variable[3]: super-string element*/
640 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[3]) /*AbstractArray::add*/;
641 /* Register variable[3]: Result */
642 variable[3] = CALL_abstractmetamodel___MMGlobalClass___intro(variable[0])(variable[0]) /*MMGlobalClass::intro*/;
643 /* Register variable[3]: Result */
644 variable[3] = CALL_abstractmetamodel___MMLocalClass___name(variable[3])(variable[3]) /*MMLocalClass::name*/;
645 /* Ensure var variable[3]: super-string element*/
646 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/) /*AbstractArray::add*/;
647 /* Register variable[3]: Once String constant */
648 if (once_value_24 != NIT_NULL) variable[3] = once_value_24;
649 else {
650 variable[3] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
651 once_value_24 = variable[3];
652 }
653 /* Register variable[3]: Result */
654 /* Ensure var variable[3]: super-string element*/
655 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[3]) /*AbstractArray::add*/;
656 /* Register variable[2]: Result */
657 variable[2] = CALL_string___Object___to_s(variable[2])(variable[2]) /*Object::to_s*/;
658 variable[1] = variable[2];
659 goto return_label22;
660 return_label22: while(false);
661 tracehead = trace.prev;
662 return variable[1];
663 }
664 val_t compiling_base___MMGlobalClass___color_id(val_t self) {
665 struct trace_t trace = {NULL, NULL, 151, LOCATE_compiling_base___MMGlobalClass___color_id};
666 static val_t once_value_26 = NIT_NULL; /* Once value for string variable[3]*/
667 static val_t once_value_27 = NIT_NULL; /* Once value for string variable[3]*/
668 val_t variable[4];
669 struct WBT_ **closurevariable = NULL;
670 trace.prev = tracehead; tracehead = &trace;
671 trace.file = LOCATE_compiling_base;
672 /* Register variable[0]: Local variable */
673 variable[0] = self;
674 /* Register variable[1]: Method return value and escape marker */
675 variable[2] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
676 /* Register variable[3]: Once String constant */
677 if (once_value_26 != NIT_NULL) variable[3] = once_value_26;
678 else {
679 variable[3] = NEW_String_string___String___with_native(BOX_NativeString("COLOR_"), TAG_Int(6)) /*new String*/;
680 once_value_26 = variable[3];
681 }
682 /* Register variable[3]: Result */
683 /* Ensure var variable[3]: super-string element*/
684 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[3]) /*AbstractArray::add*/;
685 /* Register variable[3]: Result */
686 variable[3] = CALL_abstractmetamodel___MMGlobalClass___intro(variable[0])(variable[0]) /*MMGlobalClass::intro*/;
687 /* Register variable[3]: Result */
688 variable[3] = CALL_abstractmetamodel___MMLocalClass___name(variable[3])(variable[3]) /*MMLocalClass::name*/;
689 /* Ensure var variable[3]: super-string element*/
690 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/) /*AbstractArray::add*/;
691 /* Register variable[3]: Once String constant */
692 if (once_value_27 != NIT_NULL) variable[3] = once_value_27;
693 else {
694 variable[3] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
695 once_value_27 = variable[3];
696 }
697 /* Register variable[3]: Result */
698 /* Ensure var variable[3]: super-string element*/
699 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[3]) /*AbstractArray::add*/;
700 /* Register variable[2]: Result */
701 variable[2] = CALL_string___Object___to_s(variable[2])(variable[2]) /*Object::to_s*/;
702 variable[1] = variable[2];
703 goto return_label25;
704 return_label25: while(false);
705 tracehead = trace.prev;
706 return variable[1];
707 }
708 val_t compiling_base___MMGlobalClass___init_table_pos_id(val_t self) {
709 struct trace_t trace = {NULL, NULL, 157, LOCATE_compiling_base___MMGlobalClass___init_table_pos_id};
710 static val_t once_value_29 = NIT_NULL; /* Once value for string variable[3]*/
711 static val_t once_value_30 = NIT_NULL; /* Once value for string variable[3]*/
712 val_t variable[4];
713 struct WBT_ **closurevariable = NULL;
714 trace.prev = tracehead; tracehead = &trace;
715 trace.file = LOCATE_compiling_base;
716 /* Register variable[0]: Local variable */
717 variable[0] = self;
718 /* Register variable[1]: Method return value and escape marker */
719 variable[2] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
720 /* Register variable[3]: Once String constant */
721 if (once_value_29 != NIT_NULL) variable[3] = once_value_29;
722 else {
723 variable[3] = NEW_String_string___String___with_native(BOX_NativeString("INIT_TABLE_POS_"), TAG_Int(15)) /*new String*/;
724 once_value_29 = variable[3];
725 }
726 /* Register variable[3]: Result */
727 /* Ensure var variable[3]: super-string element*/
728 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[3]) /*AbstractArray::add*/;
729 /* Register variable[3]: Result */
730 variable[3] = CALL_abstractmetamodel___MMGlobalClass___intro(variable[0])(variable[0]) /*MMGlobalClass::intro*/;
731 /* Register variable[3]: Result */
732 variable[3] = CALL_abstractmetamodel___MMLocalClass___name(variable[3])(variable[3]) /*MMLocalClass::name*/;
733 /* Ensure var variable[3]: super-string element*/
734 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/) /*AbstractArray::add*/;
735 /* Register variable[3]: Once String constant */
736 if (once_value_30 != NIT_NULL) variable[3] = once_value_30;
737 else {
738 variable[3] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
739 once_value_30 = variable[3];
740 }
741 /* Register variable[3]: Result */
742 /* Ensure var variable[3]: super-string element*/
743 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[3]) /*AbstractArray::add*/;
744 /* Register variable[2]: Result */
745 variable[2] = CALL_string___Object___to_s(variable[2])(variable[2]) /*Object::to_s*/;
746 variable[1] = variable[2];
747 goto return_label28;
748 return_label28: while(false);
749 tracehead = trace.prev;
750 return variable[1];
751 }
752 val_t compiling_base___MMLocalClass___primitive_info(val_t self) {
753 struct trace_t trace = {NULL, NULL, 171, LOCATE_compiling_base___MMLocalClass___primitive_info};
754 static val_t once_value_32; static int once_bool_32; /* Once value for variable[3]*/
755 val_t variable[7];
756 struct WBT_ **closurevariable = NULL;
757 trace.prev = tracehead; tracehead = &trace;
758 trace.file = LOCATE_compiling_base;
759 /* Register variable[0]: Local variable */
760 variable[0] = self;
761 /* Register variable[1]: Method return value and escape marker */
762 /* Register variable[2]: Result */
763 variable[2] = ATTR_compiling_base___MMLocalClass____primitive_info_b(variable[0]) /*MMLocalClass::_primitive_info_b*/;
764 /* Register variable[2]: Result */
765 variable[2] = TAG_Bool((variable[2])==( TAG_Bool(true)));
766 if (UNTAG_Bool(variable[2])) { /*if*/
767 /* Register variable[2]: Result */
768 variable[2] = ATTR_compiling_base___MMLocalClass____primitive_info_cache(variable[0]) /*MMLocalClass::_primitive_info_cache*/;
769 variable[1] = variable[2];
770 goto return_label31;
771 }
772 /* Register variable[2]: Local variable */
773 /* Register variable[3]: Once expression result */
774 if (once_bool_32) variable[3] = once_value_32;
775 else {
776 /* Register variable[3]: Result */
777 variable[3] = CALL_compiling_base___MMLocalClass___primitive_ctypes(variable[0])(variable[0]) /*MMLocalClass::primitive_ctypes*/;
778 once_value_32 = variable[3];
779 once_bool_32 = true;
780 }
781 /* Register variable[3]: Result */
782 variable[2] = variable[3];
783 /* Register variable[3]: Result */
784 variable[3] = CALL_abstractmetamodel___MMLocalClass___name(variable[0])(variable[0]) /*MMLocalClass::name*/;
785 /* Register variable[3]: Result */
786 variable[3] = CALL_abstract_collection___MapRead___has_key( variable[2] /*ctypes*/)( variable[2] /*ctypes*/, variable[3]) /*CoupleMap::has_key*/;
787 if (UNTAG_Bool(variable[3])) { /*if*/
788 /* Register variable[3]: Result */
789 variable[3] = CALL_abstractmetamodel___MMLocalClass___name(variable[0])(variable[0]) /*MMLocalClass::name*/;
790 /* Register variable[3]: Result */
791 variable[3] = CALL_abstract_collection___MapRead_____bra( variable[2] /*ctypes*/)( variable[2] /*ctypes*/, variable[3]) /*CoupleMap::[]*/;
792 ATTR_compiling_base___MMLocalClass____primitive_info_cache(variable[0]) /*MMLocalClass::_primitive_info_cache*/ = variable[3];
793 ATTR_compiling_base___MMLocalClass____primitive_info_b(variable[0]) /*MMLocalClass::_primitive_info_b*/ = TAG_Bool(true);
794 /* Register variable[3]: Result */
795 variable[3] = ATTR_compiling_base___MMLocalClass____primitive_info_cache(variable[0]) /*MMLocalClass::_primitive_info_cache*/;
796 variable[1] = variable[3];
797 goto return_label31;
798 }
799 /* Register variable[3]: Local variable */
800 /* Register variable[4]: Result */
801 variable[4] = CALL_abstract_collection___Collection___iterator( variable[2] /*ctypes*/)( variable[2] /*ctypes*/) /*HashMap::iterator*/;
802 variable[3] = variable[4];
803 while (true) { /*while*/
804 /* Register variable[4]: Result */
805 variable[4] = CALL_abstract_collection___Iterator___is_ok( variable[3] /*i*/)( variable[3] /*i*/) /*HashMapIterator::is_ok*/;
806 if (!UNTAG_Bool(variable[4])) break; /* while*/
807 /* Register variable[4]: Local variable */
808 /* Register variable[5]: Result */
809 variable[5] = CALL_abstract_collection___MapIterator___key( variable[3] /*i*/)( variable[3] /*i*/) /*HashMapIterator::key*/;
810 variable[4] = variable[5];
811 /* Register variable[5]: Result */
812 variable[5] = CALL_abstractmetamodel___MMLocalClass___module(variable[0])(variable[0]) /*MMLocalClass::module*/;
813 /* Register variable[5]: Result */
814 variable[5] = CALL_abstractmetamodel___MMModule___has_global_class_named(variable[5])(variable[5], variable[4] /*n*/) /*MMModule::has_global_class_named*/;
815 if (UNTAG_Bool(variable[5])) { /*if*/
816 /* Register variable[5]: Local variable */
817 /* Register variable[6]: Result */
818 variable[6] = CALL_abstractmetamodel___MMLocalClass___module(variable[0])(variable[0]) /*MMLocalClass::module*/;
819 /* Register variable[6]: Result */
820 variable[6] = CALL_abstractmetamodel___MMModule___class_by_name(variable[6])(variable[6], variable[4] /*n*/) /*MMModule::class_by_name*/;
821 variable[5] = variable[6];
822 /* Register variable[6]: Result */
823 variable[6] = CALL_abstractmetamodel___MMLocalClass___cshe(variable[0])(variable[0]) /*MMLocalClass::cshe*/;
824 /* Register variable[6]: Result */
825 variable[6] = CALL_partial_order___PartialOrderElement_____l(variable[6])(variable[6], variable[5] /*c*/) /*PartialOrderElement::<*/;
826 if (UNTAG_Bool(variable[6])) { /*if*/
827 /* Register variable[6]: Result */
828 variable[6] = CALL_abstract_collection___Iterator___item( variable[3] /*i*/)( variable[3] /*i*/) /*HashMapIterator::item*/;
829 ATTR_compiling_base___MMLocalClass____primitive_info_cache(variable[0]) /*MMLocalClass::_primitive_info_cache*/ = variable[6];
830 ATTR_compiling_base___MMLocalClass____primitive_info_b(variable[0]) /*MMLocalClass::_primitive_info_b*/ = TAG_Bool(true);
831 /* Register variable[6]: Result */
832 variable[6] = ATTR_compiling_base___MMLocalClass____primitive_info_cache(variable[0]) /*MMLocalClass::_primitive_info_cache*/;
833 variable[1] = variable[6];
834 goto return_label31;
835 }
836 }
837 CALL_abstract_collection___Iterator___next( variable[3] /*i*/)( variable[3] /*i*/) /*HashMapIterator::next*/;
838 continue_33: while(0);
839 }
840 break_33: while(0);
841 ATTR_compiling_base___MMLocalClass____primitive_info_b(variable[0]) /*MMLocalClass::_primitive_info_b*/ = TAG_Bool(true);
842 variable[1] = NIT_NULL /*null*/;
843 goto return_label31;
844 return_label31: while(false);
845 tracehead = trace.prev;
846 return variable[1];
847 }
848 val_t compiling_base___MMLocalClass___primitive_ctypes(val_t self) {
849 struct trace_t trace = {NULL, NULL, 201, LOCATE_compiling_base___MMLocalClass___primitive_ctypes};
850 static val_t once_value_35 = NIT_NULL; /* Once value for string variable[5]*/
851 static val_t once_value_36 = NIT_NULL; /* Once value for string variable[6]*/
852 static val_t once_value_37 = NIT_NULL; /* Once value for string variable[7]*/
853 static val_t once_value_38 = NIT_NULL; /* Once value for string variable[8]*/
854 static val_t once_value_39 = NIT_NULL; /* Once value for string variable[9]*/
855 static val_t once_value_40 = NIT_NULL; /* Once value for string variable[10]*/
856 static val_t once_value_41 = NIT_NULL; /* Once value for string variable[11]*/
857 static val_t once_value_42 = NIT_NULL; /* Once value for string variable[7]*/
858 static val_t once_value_43 = NIT_NULL; /* Once value for string variable[8]*/
859 static val_t once_value_44 = NIT_NULL; /* Once value for string variable[9]*/
860 static val_t once_value_45 = NIT_NULL; /* Once value for string variable[10]*/
861 static val_t once_value_46 = NIT_NULL; /* Once value for string variable[11]*/
862 static val_t once_value_47 = NIT_NULL; /* Once value for string variable[12]*/
863 static val_t once_value_48 = NIT_NULL; /* Once value for string variable[13]*/
864 val_t variable[16];
865 struct WBT_ **closurevariable = NULL;
866 trace.prev = tracehead; tracehead = &trace;
867 trace.file = LOCATE_compiling_base;
868 /* Register variable[0]: Local variable */
869 variable[0] = self;
870 /* Register variable[1]: Method return value and escape marker */
871 /* Register variable[2]: Local variable */
872 /* Register variable[3]: Result */
873 variable[3] = NEW_HashMap_hash___HashMap___init() /*new HashMap[Symbol, PrimitiveInfo]*/;
874 variable[2] = variable[3];
875 /* Register variable[3]: Local variable */
876 variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(7)) /*new Array[String]*/ /* Ensure var: Literal array*/;
877 /* Register variable[5]: Once String constant */
878 if (once_value_35 != NIT_NULL) variable[5] = once_value_35;
879 else {
880 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("Int"), TAG_Int(3)) /*new String*/;
881 once_value_35 = variable[5];
882 }
883 /* Register variable[5]: Result */
884 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
885 /* Register variable[6]: Once String constant */
886 if (once_value_36 != NIT_NULL) variable[6] = once_value_36;
887 else {
888 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("Char"), TAG_Int(4)) /*new String*/;
889 once_value_36 = variable[6];
890 }
891 /* Register variable[6]: Result */
892 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[6]) /*AbstractArray::add*/;
893 /* Register variable[7]: Once String constant */
894 if (once_value_37 != NIT_NULL) variable[7] = once_value_37;
895 else {
896 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("Bool"), TAG_Int(4)) /*new String*/;
897 once_value_37 = variable[7];
898 }
899 /* Register variable[7]: Result */
900 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[7]) /*AbstractArray::add*/;
901 /* Register variable[8]: Once String constant */
902 if (once_value_38 != NIT_NULL) variable[8] = once_value_38;
903 else {
904 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("Float"), TAG_Int(5)) /*new String*/;
905 once_value_38 = variable[8];
906 }
907 /* Register variable[8]: Result */
908 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[8]) /*AbstractArray::add*/;
909 /* Register variable[9]: Once String constant */
910 if (once_value_39 != NIT_NULL) variable[9] = once_value_39;
911 else {
912 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("NativeString"), TAG_Int(12)) /*new String*/;
913 once_value_39 = variable[9];
914 }
915 /* Register variable[9]: Result */
916 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[9]) /*AbstractArray::add*/;
917 /* Register variable[10]: Once String constant */
918 if (once_value_40 != NIT_NULL) variable[10] = once_value_40;
919 else {
920 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("NativeArray"), TAG_Int(11)) /*new String*/;
921 once_value_40 = variable[10];
922 }
923 /* Register variable[10]: Result */
924 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[10]) /*AbstractArray::add*/;
925 /* Register variable[11]: Once String constant */
926 if (once_value_41 != NIT_NULL) variable[11] = once_value_41;
927 else {
928 variable[11] = NEW_String_string___String___with_native(BOX_NativeString("Pointer"), TAG_Int(7)) /*new String*/;
929 once_value_41 = variable[11];
930 }
931 /* Register variable[11]: Result */
932 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[11]) /*AbstractArray::add*/;
933 /* Register variable[4]: Result */
934 variable[3] = variable[4];
935 /* Register variable[4]: Local variable */
936 variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(7)) /*new Array[Bool]*/ /* Ensure var: Literal array*/;
937 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], TAG_Bool(true)) /*AbstractArray::add*/;
938 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], TAG_Bool(true)) /*AbstractArray::add*/;
939 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], TAG_Bool(true)) /*AbstractArray::add*/;
940 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], TAG_Bool(false)) /*AbstractArray::add*/;
941 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], TAG_Bool(false)) /*AbstractArray::add*/;
942 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], TAG_Bool(false)) /*AbstractArray::add*/;
943 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], TAG_Bool(false)) /*AbstractArray::add*/;
944 /* Register variable[5]: Result */
945 variable[4] = variable[5];
946 /* Register variable[5]: Local variable */
947 variable[6] = NEW_Array_array___Array___with_capacity(TAG_Int(7)) /*new Array[String]*/ /* Ensure var: Literal array*/;
948 /* Register variable[7]: Once String constant */
949 if (once_value_42 != NIT_NULL) variable[7] = once_value_42;
950 else {
951 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("bigint"), TAG_Int(6)) /*new String*/;
952 once_value_42 = variable[7];
953 }
954 /* Register variable[7]: Result */
955 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
956 /* Register variable[8]: Once String constant */
957 if (once_value_43 != NIT_NULL) variable[8] = once_value_43;
958 else {
959 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("char"), TAG_Int(4)) /*new String*/;
960 once_value_43 = variable[8];
961 }
962 /* Register variable[8]: Result */
963 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[8]) /*AbstractArray::add*/;
964 /* Register variable[9]: Once String constant */
965 if (once_value_44 != NIT_NULL) variable[9] = once_value_44;
966 else {
967 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("int"), TAG_Int(3)) /*new String*/;
968 once_value_44 = variable[9];
969 }
970 /* Register variable[9]: Result */
971 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[9]) /*AbstractArray::add*/;
972 /* Register variable[10]: Once String constant */
973 if (once_value_45 != NIT_NULL) variable[10] = once_value_45;
974 else {
975 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("float"), TAG_Int(5)) /*new String*/;
976 once_value_45 = variable[10];
977 }
978 /* Register variable[10]: Result */
979 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[10]) /*AbstractArray::add*/;
980 /* Register variable[11]: Once String constant */
981 if (once_value_46 != NIT_NULL) variable[11] = once_value_46;
982 else {
983 variable[11] = NEW_String_string___String___with_native(BOX_NativeString("char *"), TAG_Int(6)) /*new String*/;
984 once_value_46 = variable[11];
985 }
986 /* Register variable[11]: Result */
987 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[11]) /*AbstractArray::add*/;
988 /* Register variable[12]: Once String constant */
989 if (once_value_47 != NIT_NULL) variable[12] = once_value_47;
990 else {
991 variable[12] = NEW_String_string___String___with_native(BOX_NativeString("val_t *"), TAG_Int(7)) /*new String*/;
992 once_value_47 = variable[12];
993 }
994 /* Register variable[12]: Result */
995 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[12]) /*AbstractArray::add*/;
996 /* Register variable[13]: Once String constant */
997 if (once_value_48 != NIT_NULL) variable[13] = once_value_48;
998 else {
999 variable[13] = NEW_String_string___String___with_native(BOX_NativeString("void *"), TAG_Int(6)) /*new String*/;
1000 once_value_48 = variable[13];
1001 }
1002 /* Register variable[13]: Result */
1003 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[13]) /*AbstractArray::add*/;
1004 /* Register variable[6]: Result */
1005 variable[5] = variable[6];
1006 /* Register variable[6]: Result */
1007 variable[6] = CALL_abstract_collection___Collection___length( variable[3] /*pnames*/)( variable[3] /*pnames*/) /*AbstractArrayRead::length*/;
1008 /* Register variable[6]: Result */
1009 variable[6] = NEW_Range_range___Range___without_last( TAG_Int(0), variable[6]) /*new Range[Int]*/;
1010 /* Register variable[6]: For iterator */
1011 variable[6] = CALL_abstract_collection___Collection___iterator(variable[6])(variable[6]) /*Range::iterator*/;
1012 while (true) { /*for*/
1013 /* Register variable[7]: For 'is_ok' result */
1014 variable[7] = CALL_abstract_collection___Iterator___is_ok(variable[6])(variable[6]) /*Iterator::is_ok*/;
1015 if (!UNTAG_Bool(variable[7])) break; /*for*/
1016 variable[7] = CALL_abstract_collection___Iterator___item(variable[6])(variable[6]) /*Iterator::item*/ /* Ensure var: For item*/;
1017 /* Register variable[8]: Local variable */
1018 variable[8] = variable[7];
1019 /* Register variable[9]: Local variable */
1020 /* Register variable[10]: Local variable */
1021 variable[10] = variable[3] /*pnames*/;
1022 /* Register variable[11]: Local variable */
1023 variable[11] = variable[8] /*i*/;
1024 /* Register variable[12]: Method return value and escape marker */
1025 /* Register variable[13]: Result */
1026 variable[13] = TAG_Bool(UNTAG_Int( variable[11] /*index*/)>=UNTAG_Int( TAG_Int(0)));
1027 /* Ensure var variable[13]: Left 'and' operand*/
1028 if (UNTAG_Bool(variable[13])) { /* and */
1029 /* Register variable[13]: Result */
1030 variable[13] = ATTR_array___AbstractArrayRead____length(variable[10]) /*AbstractArrayRead::_length*/;
1031 /* Register variable[13]: Result */
1032 variable[13] = TAG_Bool(UNTAG_Int( variable[11] /*index*/)<UNTAG_Int(variable[13]));
1033 }
1034 /* Register variable[13]: Result */
1035 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_base, 234); nit_exit(1);}
1036 /* Register variable[13]: Result */
1037 variable[13] = ATTR_array___Array____items(variable[10]) /*Array::_items*/;
1038 /* Register variable[13]: Result */
1039 variable[13] = UNBOX_NativeArray(variable[13])[UNTAG_Int( variable[11] /*index*/)];
1040 variable[12] = variable[13];
1041 goto return_label50;
1042 return_label50: while(false);
1043 /* Register variable[10]: Result */
1044 variable[10] = variable[12];
1045 /* Register variable[10]: Result */
1046 variable[10] = CALL_symbol___String___to_symbol(variable[10])(variable[10]) /*String::to_symbol*/;
1047 variable[9] = variable[10];
1048 /* Register variable[10]: Local variable */
1049 /* Register variable[11]: Local variable */
1050 variable[11] = variable[4] /*tagged*/;
1051 /* Register variable[12]: Local variable */
1052 variable[12] = variable[8] /*i*/;
1053 /* Register variable[13]: Method return value and escape marker */
1054 /* Register variable[14]: Result */
1055 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
1056 /* Ensure var variable[14]: Left 'and' operand*/
1057 if (UNTAG_Bool(variable[14])) { /* and */
1058 /* Register variable[14]: Result */
1059 variable[14] = ATTR_array___AbstractArrayRead____length(variable[11]) /*AbstractArrayRead::_length*/;
1060 /* Register variable[14]: Result */
1061 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[14]));
1062 }
1063 /* Register variable[14]: Result */
1064 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_base, 234); nit_exit(1);}
1065 /* Register variable[14]: Result */
1066 variable[14] = ATTR_array___Array____items(variable[11]) /*Array::_items*/;
1067 /* Register variable[14]: Result */
1068 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
1069 variable[13] = variable[14];
1070 goto return_label51;
1071 return_label51: while(false);
1072 /* Register variable[11]: Result */
1073 variable[11] = variable[13];
1074 /* Register variable[12]: Local variable */
1075 variable[12] = variable[5] /*cnames*/;
1076 /* Register variable[13]: Local variable */
1077 variable[13] = variable[8] /*i*/;
1078 /* Register variable[14]: Method return value and escape marker */
1079 /* Register variable[15]: Result */
1080 variable[15] = TAG_Bool(UNTAG_Int( variable[13] /*index*/)>=UNTAG_Int( TAG_Int(0)));
1081 /* Ensure var variable[15]: Left 'and' operand*/
1082 if (UNTAG_Bool(variable[15])) { /* and */
1083 /* Register variable[15]: Result */
1084 variable[15] = ATTR_array___AbstractArrayRead____length(variable[12]) /*AbstractArrayRead::_length*/;
1085 /* Register variable[15]: Result */
1086 variable[15] = TAG_Bool(UNTAG_Int( variable[13] /*index*/)<UNTAG_Int(variable[15]));
1087 }
1088 /* Register variable[15]: Result */
1089 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_base, 234); nit_exit(1);}
1090 /* Register variable[15]: Result */
1091 variable[15] = ATTR_array___Array____items(variable[12]) /*Array::_items*/;
1092 /* Register variable[15]: Result */
1093 variable[15] = UNBOX_NativeArray(variable[15])[UNTAG_Int( variable[13] /*index*/)];
1094 variable[14] = variable[15];
1095 goto return_label52;
1096 return_label52: while(false);
1097 /* Register variable[12]: Result */
1098 variable[12] = variable[14];
1099 /* Register variable[11]: Result */
1100 variable[11] = NEW_PrimitiveInfo_compiling_base___PrimitiveInfo___init( variable[9] /*n*/, variable[11], variable[12]) /*new PrimitiveInfo*/;
1101 variable[10] = variable[11];
1102 CALL_abstract_collection___Map_____braeq( variable[2] /*res*/)( variable[2] /*res*/, variable[9] /*n*/, variable[10] /*pi*/) /*HashMap::[]=*/;
1103 continue_49: while(0);
1104 CALL_abstract_collection___Iterator___next(variable[6])(variable[6]) /*Iterator::next*/;
1105 }
1106 break_49: while(0);
1107 variable[1] = variable[2] /*res*/;
1108 goto return_label34;
1109 return_label34: while(false);
1110 tracehead = trace.prev;
1111 return variable[1];
1112 }
1113 val_t compiling_base___PrimitiveInfo___name(val_t self) {
1114 struct trace_t trace = {NULL, NULL, 219, LOCATE_compiling_base___PrimitiveInfo___name};
1115 val_t *variable = NULL;
1116 struct WBT_ **closurevariable = NULL;
1117 trace.prev = tracehead; tracehead = &trace;
1118 trace.file = LOCATE_compiling_base;
1119 tracehead = trace.prev;
1120 return ATTR_compiling_base___PrimitiveInfo____name( self) /*PrimitiveInfo::_name*/;
1121 }
1122 val_t compiling_base___PrimitiveInfo___tagged(val_t self) {
1123 struct trace_t trace = {NULL, NULL, 222, LOCATE_compiling_base___PrimitiveInfo___tagged};
1124 val_t *variable = NULL;
1125 struct WBT_ **closurevariable = NULL;
1126 trace.prev = tracehead; tracehead = &trace;
1127 trace.file = LOCATE_compiling_base;
1128 tracehead = trace.prev;
1129 return ATTR_compiling_base___PrimitiveInfo____tagged( self) /*PrimitiveInfo::_tagged*/;
1130 }
1131 val_t compiling_base___PrimitiveInfo___cname(val_t self) {
1132 struct trace_t trace = {NULL, NULL, 225, LOCATE_compiling_base___PrimitiveInfo___cname};
1133 val_t *variable = NULL;
1134 struct WBT_ **closurevariable = NULL;
1135 trace.prev = tracehead; tracehead = &trace;
1136 trace.file = LOCATE_compiling_base;
1137 tracehead = trace.prev;
1138 return ATTR_compiling_base___PrimitiveInfo____cname( self) /*PrimitiveInfo::_cname*/;
1139 }
1140 void compiling_base___PrimitiveInfo___init(val_t self, val_t param0, val_t param1, val_t param2, int* init_table) {
1141 struct trace_t trace = {NULL, NULL, 228, LOCATE_compiling_base___PrimitiveInfo___init};
1142 val_t variable[5];
1143 struct WBT_ **closurevariable = NULL;
1144 trace.prev = tracehead; tracehead = &trace;
1145 trace.file = LOCATE_compiling_base;
1146 /* Register variable[0]: Local variable */
1147 variable[0] = self;
1148 /* Register variable[1]: Local variable */
1149 variable[1] = param0;
1150 /* Register variable[2]: Local variable */
1151 variable[2] = param1;
1152 /* Register variable[3]: Local variable */
1153 variable[3] = param2;
1154 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_PrimitiveInfo].i]) return;
1155 /* Register variable[4]: Method return value and escape marker */
1156 ATTR_compiling_base___PrimitiveInfo____name(variable[0]) /*PrimitiveInfo::_name*/ = variable[1] /*n*/;
1157 ATTR_compiling_base___PrimitiveInfo____tagged(variable[0]) /*PrimitiveInfo::_tagged*/ = variable[2] /*t*/;
1158 ATTR_compiling_base___PrimitiveInfo____cname(variable[0]) /*PrimitiveInfo::_cname*/ = variable[3] /*c*/;
1159 return_label53: while(false);
1160 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_PrimitiveInfo].i] = 1;
1161 tracehead = trace.prev;
1162 return;
1163 }
1164 val_t compiling_base___MMType___cname(val_t self) {
1165 struct trace_t trace = {NULL, NULL, 237, LOCATE_compiling_base___MMType___cname};
1166 static val_t once_value_55 = NIT_NULL; /* Once value for string variable[3]*/
1167 val_t variable[4];
1168 struct WBT_ **closurevariable = NULL;
1169 trace.prev = tracehead; tracehead = &trace;
1170 trace.file = LOCATE_compiling_base;
1171 /* Register variable[0]: Local variable */
1172 variable[0] = self;
1173 /* Register variable[1]: Method return value and escape marker */
1174 /* Register variable[2]: Local variable */
1175 /* Register variable[3]: Result */
1176 variable[3] = CALL_static_type___MMType___local_class(variable[0])(variable[0]) /*MMType::local_class*/;
1177 /* Register variable[3]: Result */
1178 variable[3] = CALL_compiling_base___MMLocalClass___primitive_info(variable[3])(variable[3]) /*MMLocalClass::primitive_info*/;
1179 variable[2] = variable[3];
1180 /* Register variable[3]: Result */
1181 variable[3] = TAG_Bool(( variable[2] /*pi*/ == NIT_NULL /*null*/) || (( variable[2] /*pi*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[2] /*pi*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[2] /*pi*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[2] /*pi*/)( variable[2] /*pi*/, NIT_NULL /*null*/) /*Object::==*/)))));
1182 if (UNTAG_Bool(variable[3])) { /*if*/
1183 /* Register variable[3]: Once String constant */
1184 if (once_value_55 != NIT_NULL) variable[3] = once_value_55;
1185 else {
1186 variable[3] = NEW_String_string___String___with_native(BOX_NativeString("val_t"), TAG_Int(5)) /*new String*/;
1187 once_value_55 = variable[3];
1188 }
1189 /* Register variable[3]: Result */
1190 variable[1] = variable[3];
1191 goto return_label54;
1192 } else { /*if*/
1193 /* Register variable[3]: Result */
1194 variable[3] = CALL_compiling_base___PrimitiveInfo___cname( variable[2] /*pi*/)( variable[2] /*pi*/) /*PrimitiveInfo::cname*/;
1195 variable[1] = variable[3];
1196 goto return_label54;
1197 }
1198 return_label54: while(false);
1199 tracehead = trace.prev;
1200 return variable[1];
1201 }
1202 val_t compiling_base___MMType___default_cvalue(val_t self) {
1203 struct trace_t trace = {NULL, NULL, 248, LOCATE_compiling_base___MMType___default_cvalue};
1204 static val_t once_value_57 = NIT_NULL; /* Once value for string variable[4]*/
1205 static val_t once_value_58 = NIT_NULL; /* Once value for string variable[4]*/
1206 static val_t once_value_59 = NIT_NULL; /* Once value for string variable[4]*/
1207 static val_t once_value_60 = NIT_NULL; /* Once value for string variable[3]*/
1208 val_t variable[5];
1209 struct WBT_ **closurevariable = NULL;
1210 trace.prev = tracehead; tracehead = &trace;
1211 trace.file = LOCATE_compiling_base;
1212 /* Register variable[0]: Local variable */
1213 variable[0] = self;
1214 /* Register variable[1]: Method return value and escape marker */
1215 /* Register variable[2]: Local variable */
1216 /* Register variable[3]: Result */
1217 variable[3] = CALL_static_type___MMType___local_class(variable[0])(variable[0]) /*MMType::local_class*/;
1218 /* Register variable[3]: Result */
1219 variable[3] = CALL_compiling_base___MMLocalClass___primitive_info(variable[3])(variable[3]) /*MMLocalClass::primitive_info*/;
1220 variable[2] = variable[3];
1221 /* Register variable[3]: Result */
1222 variable[3] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[2] /*pi*/ == NIT_NULL /*null*/) || (( variable[2] /*pi*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[2] /*pi*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[2] /*pi*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[2] /*pi*/)( variable[2] /*pi*/, NIT_NULL /*null*/) /*Object::==*/)))))));
1223 /* Ensure var variable[3]: Left 'and' operand*/
1224 if (UNTAG_Bool(variable[3])) { /* and */
1225 /* Register variable[3]: Result */
1226 variable[3] = CALL_compiling_base___PrimitiveInfo___tagged( variable[2] /*pi*/)( variable[2] /*pi*/) /*PrimitiveInfo::tagged*/;
1227 }
1228 /* Register variable[3]: Result */
1229 if (UNTAG_Bool(variable[3])) { /*if*/
1230 variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
1231 /* Register variable[4]: Once String constant */
1232 if (once_value_57 != NIT_NULL) variable[4] = once_value_57;
1233 else {
1234 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("TAG_"), TAG_Int(4)) /*new String*/;
1235 once_value_57 = variable[4];
1236 }
1237 /* Register variable[4]: Result */
1238 /* Ensure var variable[4]: super-string element*/
1239 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
1240 /* Register variable[4]: Result */
1241 variable[4] = CALL_static_type___MMType___local_class(variable[0])(variable[0]) /*MMType::local_class*/;
1242 /* Register variable[4]: Result */
1243 variable[4] = CALL_abstractmetamodel___MMLocalClass___name(variable[4])(variable[4]) /*MMLocalClass::name*/;
1244 /* Ensure var variable[4]: super-string element*/
1245 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/) /*AbstractArray::add*/;
1246 /* Register variable[4]: Once String constant */
1247 if (once_value_58 != NIT_NULL) variable[4] = once_value_58;
1248 else {
1249 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("(("), TAG_Int(2)) /*new String*/;
1250 once_value_58 = variable[4];
1251 }
1252 /* Register variable[4]: Result */
1253 /* Ensure var variable[4]: super-string element*/
1254 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
1255 /* Register variable[4]: Result */
1256 variable[4] = CALL_compiling_base___PrimitiveInfo___cname( variable[2] /*pi*/)( variable[2] /*pi*/) /*PrimitiveInfo::cname*/;
1257 /* Ensure var variable[4]: super-string element*/
1258 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
1259 /* Register variable[4]: Once String constant */
1260 if (once_value_59 != NIT_NULL) variable[4] = once_value_59;
1261 else {
1262 variable[4] = NEW_String_string___String___with_native(BOX_NativeString(")0)"), TAG_Int(3)) /*new String*/;
1263 once_value_59 = variable[4];
1264 }
1265 /* Register variable[4]: Result */
1266 /* Ensure var variable[4]: super-string element*/
1267 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
1268 /* Register variable[3]: Result */
1269 variable[3] = CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/;
1270 variable[1] = variable[3];
1271 goto return_label56;
1272 } else { /*if*/
1273 /* Register variable[3]: Once String constant */
1274 if (once_value_60 != NIT_NULL) variable[3] = once_value_60;
1275 else {
1276 variable[3] = NEW_String_string___String___with_native(BOX_NativeString("NIT_NULL"), TAG_Int(8)) /*new String*/;
1277 once_value_60 = variable[3];
1278 }
1279 /* Register variable[3]: Result */
1280 variable[1] = variable[3];
1281 goto return_label56;
1282 }
1283 return_label56: while(false);
1284 tracehead = trace.prev;
1285 return variable[1];
1286 }
1287 val_t compiling_base___MMType___boxtype(val_t self, val_t param0) {
1288 struct trace_t trace = {NULL, NULL, 260, LOCATE_compiling_base___MMType___boxtype};
1289 static val_t once_value_62 = NIT_NULL; /* Once value for string variable[5]*/
1290 static val_t once_value_63 = NIT_NULL; /* Once value for string variable[5]*/
1291 static val_t once_value_64 = NIT_NULL; /* Once value for string variable[5]*/
1292 static val_t once_value_65 = NIT_NULL; /* Once value for string variable[5]*/
1293 static val_t once_value_66 = NIT_NULL; /* Once value for string variable[5]*/
1294 static val_t once_value_67 = NIT_NULL; /* Once value for string variable[5]*/
1295 val_t variable[6];
1296 struct WBT_ **closurevariable = NULL;
1297 trace.prev = tracehead; tracehead = &trace;
1298 trace.file = LOCATE_compiling_base;
1299 /* Register variable[0]: Local variable */
1300 variable[0] = self;
1301 /* Register variable[1]: Local variable */
1302 variable[1] = param0;
1303 /* Register variable[2]: Method return value and escape marker */
1304 /* Register variable[3]: Local variable */
1305 /* Register variable[4]: Result */
1306 variable[4] = CALL_static_type___MMType___local_class(variable[0])(variable[0]) /*MMType::local_class*/;
1307 /* Register variable[4]: Result */
1308 variable[4] = CALL_compiling_base___MMLocalClass___primitive_info(variable[4])(variable[4]) /*MMLocalClass::primitive_info*/;
1309 variable[3] = variable[4];
1310 /* Register variable[4]: Result */
1311 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::==*/)))));
1312 if (UNTAG_Bool(variable[4])) { /*if*/
1313 variable[2] = variable[1] /*s*/;
1314 goto return_label61;
1315 } else { /*if*/
1316 /* Register variable[4]: Result */
1317 variable[4] = CALL_compiling_base___PrimitiveInfo___tagged( variable[3] /*pi*/)( variable[3] /*pi*/) /*PrimitiveInfo::tagged*/;
1318 if (UNTAG_Bool(variable[4])) { /*if*/
1319 variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
1320 /* Register variable[5]: Once String constant */
1321 if (once_value_62 != NIT_NULL) variable[5] = once_value_62;
1322 else {
1323 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("TAG_"), TAG_Int(4)) /*new String*/;
1324 once_value_62 = variable[5];
1325 }
1326 /* Register variable[5]: Result */
1327 /* Ensure var variable[5]: super-string element*/
1328 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
1329 /* Register variable[5]: Result */
1330 variable[5] = CALL_static_type___MMType___local_class(variable[0])(variable[0]) /*MMType::local_class*/;
1331 /* Register variable[5]: Result */
1332 variable[5] = CALL_abstractmetamodel___MMLocalClass___name(variable[5])(variable[5]) /*MMLocalClass::name*/;
1333 /* Ensure var variable[5]: super-string element*/
1334 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/) /*AbstractArray::add*/;
1335 /* Register variable[5]: Once String constant */
1336 if (once_value_63 != NIT_NULL) variable[5] = once_value_63;
1337 else {
1338 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)) /*new String*/;
1339 once_value_63 = variable[5];
1340 }
1341 /* Register variable[5]: Result */
1342 /* Ensure var variable[5]: super-string element*/
1343 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
1344 variable[5] = variable[1] /*s*/ /* Ensure var: super-string element*/;
1345 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
1346 /* Register variable[5]: Once String constant */
1347 if (once_value_64 != NIT_NULL) variable[5] = once_value_64;
1348 else {
1349 variable[5] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)) /*new String*/;
1350 once_value_64 = variable[5];
1351 }
1352 /* Register variable[5]: Result */
1353 /* Ensure var variable[5]: super-string element*/
1354 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
1355 /* Register variable[4]: Result */
1356 variable[4] = CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/;
1357 variable[2] = variable[4];
1358 goto return_label61;
1359 } else { /*if*/
1360 variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
1361 /* Register variable[5]: Once String constant */
1362 if (once_value_65 != NIT_NULL) variable[5] = once_value_65;
1363 else {
1364 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("BOX_"), TAG_Int(4)) /*new String*/;
1365 once_value_65 = variable[5];
1366 }
1367 /* Register variable[5]: Result */
1368 /* Ensure var variable[5]: super-string element*/
1369 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
1370 /* Register variable[5]: Result */
1371 variable[5] = CALL_static_type___MMType___local_class(variable[0])(variable[0]) /*MMType::local_class*/;
1372 /* Register variable[5]: Result */
1373 variable[5] = CALL_abstractmetamodel___MMLocalClass___name(variable[5])(variable[5]) /*MMLocalClass::name*/;
1374 /* Ensure var variable[5]: super-string element*/
1375 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/) /*AbstractArray::add*/;
1376 /* Register variable[5]: Once String constant */
1377 if (once_value_66 != NIT_NULL) variable[5] = once_value_66;
1378 else {
1379 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)) /*new String*/;
1380 once_value_66 = variable[5];
1381 }
1382 /* Register variable[5]: Result */
1383 /* Ensure var variable[5]: super-string element*/
1384 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
1385 variable[5] = variable[1] /*s*/ /* Ensure var: super-string element*/;
1386 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
1387 /* Register variable[5]: Once String constant */
1388 if (once_value_67 != NIT_NULL) variable[5] = once_value_67;
1389 else {
1390 variable[5] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)) /*new String*/;
1391 once_value_67 = variable[5];
1392 }
1393 /* Register variable[5]: Result */
1394 /* Ensure var variable[5]: super-string element*/
1395 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
1396 /* Register variable[4]: Result */
1397 variable[4] = CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/;
1398 variable[2] = variable[4];
1399 goto return_label61;
1400 }
1401 }
1402 return_label61: while(false);
1403 tracehead = trace.prev;
1404 return variable[2];
1405 }
1406 val_t compiling_base___MMType___unboxtype(val_t self, val_t param0) {
1407 struct trace_t trace = {NULL, NULL, 274, LOCATE_compiling_base___MMType___unboxtype};
1408 static val_t once_value_69 = NIT_NULL; /* Once value for string variable[5]*/
1409 static val_t once_value_70 = NIT_NULL; /* Once value for string variable[5]*/
1410 static val_t once_value_71 = NIT_NULL; /* Once value for string variable[5]*/
1411 static val_t once_value_72 = NIT_NULL; /* Once value for string variable[5]*/
1412 static val_t once_value_73 = NIT_NULL; /* Once value for string variable[5]*/
1413 static val_t once_value_74 = NIT_NULL; /* Once value for string variable[5]*/
1414 val_t variable[6];
1415 struct WBT_ **closurevariable = NULL;
1416 trace.prev = tracehead; tracehead = &trace;
1417 trace.file = LOCATE_compiling_base;
1418 /* Register variable[0]: Local variable */
1419 variable[0] = self;
1420 /* Register variable[1]: Local variable */
1421 variable[1] = param0;
1422 /* Register variable[2]: Method return value and escape marker */
1423 /* Register variable[3]: Local variable */
1424 /* Register variable[4]: Result */
1425 variable[4] = CALL_static_type___MMType___local_class(variable[0])(variable[0]) /*MMType::local_class*/;
1426 /* Register variable[4]: Result */
1427 variable[4] = CALL_compiling_base___MMLocalClass___primitive_info(variable[4])(variable[4]) /*MMLocalClass::primitive_info*/;
1428 variable[3] = variable[4];
1429 /* Register variable[4]: Result */
1430 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::==*/)))));
1431 if (UNTAG_Bool(variable[4])) { /*if*/
1432 variable[2] = variable[1] /*s*/;
1433 goto return_label68;
1434 } else { /*if*/
1435 /* Register variable[4]: Result */
1436 variable[4] = CALL_compiling_base___PrimitiveInfo___tagged( variable[3] /*pi*/)( variable[3] /*pi*/) /*PrimitiveInfo::tagged*/;
1437 if (UNTAG_Bool(variable[4])) { /*if*/
1438 variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
1439 /* Register variable[5]: Once String constant */
1440 if (once_value_69 != NIT_NULL) variable[5] = once_value_69;
1441 else {
1442 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("UNTAG_"), TAG_Int(6)) /*new String*/;
1443 once_value_69 = variable[5];
1444 }
1445 /* Register variable[5]: Result */
1446 /* Ensure var variable[5]: super-string element*/
1447 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
1448 /* Register variable[5]: Result */
1449 variable[5] = CALL_static_type___MMType___local_class(variable[0])(variable[0]) /*MMType::local_class*/;
1450 /* Register variable[5]: Result */
1451 variable[5] = CALL_abstractmetamodel___MMLocalClass___name(variable[5])(variable[5]) /*MMLocalClass::name*/;
1452 /* Ensure var variable[5]: super-string element*/
1453 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/) /*AbstractArray::add*/;
1454 /* Register variable[5]: Once String constant */
1455 if (once_value_70 != NIT_NULL) variable[5] = once_value_70;
1456 else {
1457 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)) /*new String*/;
1458 once_value_70 = variable[5];
1459 }
1460 /* Register variable[5]: Result */
1461 /* Ensure var variable[5]: super-string element*/
1462 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
1463 variable[5] = variable[1] /*s*/ /* Ensure var: super-string element*/;
1464 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
1465 /* Register variable[5]: Once String constant */
1466 if (once_value_71 != NIT_NULL) variable[5] = once_value_71;
1467 else {
1468 variable[5] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)) /*new String*/;
1469 once_value_71 = variable[5];
1470 }
1471 /* Register variable[5]: Result */
1472 /* Ensure var variable[5]: super-string element*/
1473 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
1474 /* Register variable[4]: Result */
1475 variable[4] = CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/;
1476 variable[2] = variable[4];
1477 goto return_label68;
1478 } else { /*if*/
1479 variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
1480 /* Register variable[5]: Once String constant */
1481 if (once_value_72 != NIT_NULL) variable[5] = once_value_72;
1482 else {
1483 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("UNBOX_"), TAG_Int(6)) /*new String*/;
1484 once_value_72 = variable[5];
1485 }
1486 /* Register variable[5]: Result */
1487 /* Ensure var variable[5]: super-string element*/
1488 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
1489 /* Register variable[5]: Result */
1490 variable[5] = CALL_static_type___MMType___local_class(variable[0])(variable[0]) /*MMType::local_class*/;
1491 /* Register variable[5]: Result */
1492 variable[5] = CALL_abstractmetamodel___MMLocalClass___name(variable[5])(variable[5]) /*MMLocalClass::name*/;
1493 /* Ensure var variable[5]: super-string element*/
1494 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/) /*AbstractArray::add*/;
1495 /* Register variable[5]: Once String constant */
1496 if (once_value_73 != NIT_NULL) variable[5] = once_value_73;
1497 else {
1498 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)) /*new String*/;
1499 once_value_73 = variable[5];
1500 }
1501 /* Register variable[5]: Result */
1502 /* Ensure var variable[5]: super-string element*/
1503 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
1504 variable[5] = variable[1] /*s*/ /* Ensure var: super-string element*/;
1505 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
1506 /* Register variable[5]: Once String constant */
1507 if (once_value_74 != NIT_NULL) variable[5] = once_value_74;
1508 else {
1509 variable[5] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)) /*new String*/;
1510 once_value_74 = variable[5];
1511 }
1512 /* Register variable[5]: Result */
1513 /* Ensure var variable[5]: super-string element*/
1514 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
1515 /* Register variable[4]: Result */
1516 variable[4] = CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/;
1517 variable[2] = variable[4];
1518 goto return_label68;
1519 }
1520 }
1521 return_label68: while(false);
1522 tracehead = trace.prev;
1523 return variable[2];
1524 }
1525 val_t compiling_base___MMLocalProperty___cname(val_t self) {
1526 struct trace_t trace = {NULL, NULL, 293, LOCATE_compiling_base___MMLocalProperty___cname};
1527 val_t variable[6];
1528 struct WBT_ **closurevariable = NULL;
1529 trace.prev = tracehead; tracehead = &trace;
1530 trace.file = LOCATE_compiling_base;
1531 /* Register variable[0]: Local variable */
1532 variable[0] = self;
1533 /* Register variable[1]: Method return value and escape marker */
1534 /* Register variable[2]: Result */
1535 variable[2] = ATTR_compiling_base___MMLocalProperty____cname_cache(variable[0]) /*MMLocalProperty::_cname_cache*/;
1536 /* Register variable[2]: Result */
1537 variable[2] = TAG_Bool((variable[2] == NIT_NULL /*null*/) || ((variable[2] != NIT_NULL) && UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[2])(variable[2], NIT_NULL /*null*/) /*String::==*/)));
1538 if (UNTAG_Bool(variable[2])) { /*if*/
1539 variable[2] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[Symbol]*/ /* Ensure var: Literal array*/;
1540 /* Register variable[3]: Result */
1541 variable[3] = CALL_abstractmetamodel___MMLocalProperty___module(variable[0])(variable[0]) /*MMLocalProperty::module*/;
1542 /* Register variable[3]: Result */
1543 variable[3] = CALL_abstractmetamodel___MMModule___name(variable[3])(variable[3]) /*MMModule::name*/;
1544 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[3]) /*AbstractArray::add*/;
1545 /* Register variable[4]: Result */
1546 variable[4] = CALL_abstractmetamodel___MMLocalProperty___local_class(variable[0])(variable[0]) /*MMLocalProperty::local_class*/;
1547 /* Register variable[4]: Result */
1548 variable[4] = CALL_abstractmetamodel___MMLocalClass___name(variable[4])(variable[4]) /*MMLocalClass::name*/;
1549 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[4]) /*AbstractArray::add*/;
1550 /* Register variable[5]: Result */
1551 variable[5] = CALL_abstractmetamodel___MMLocalProperty___name(variable[0])(variable[0]) /*MMLocalProperty::name*/;
1552 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[5]) /*AbstractArray::add*/;
1553 /* Register variable[2]: Result */
1554 /* Register variable[2]: Result */
1555 variable[2] = CALL_utils___Object___cmangle(variable[0])(variable[0], variable[2]) /*Object::cmangle*/;
1556 ATTR_compiling_base___MMLocalProperty____cname_cache(variable[0]) /*MMLocalProperty::_cname_cache*/ = variable[2];
1557 }
1558 /* Register variable[2]: Result */
1559 variable[2] = ATTR_compiling_base___MMLocalProperty____cname_cache(variable[0]) /*MMLocalProperty::_cname_cache*/;
1560 variable[1] = variable[2];
1561 goto return_label75;
1562 return_label75: while(false);
1563 tracehead = trace.prev;
1564 return variable[1];
1565 }
1566 val_t compiling_base___MMLocalProperty___super_meth_call(val_t self) {
1567 struct trace_t trace = {NULL, NULL, 302, LOCATE_compiling_base___MMLocalProperty___super_meth_call};
1568 static val_t once_value_77 = NIT_NULL; /* Once value for string variable[3]*/
1569 static val_t once_value_78 = NIT_NULL; /* Once value for string variable[3]*/
1570 val_t variable[4];
1571 struct WBT_ **closurevariable = NULL;
1572 trace.prev = tracehead; tracehead = &trace;
1573 trace.file = LOCATE_compiling_base;
1574 /* Register variable[0]: Local variable */
1575 variable[0] = self;
1576 /* Register variable[1]: Method return value and escape marker */
1577 variable[2] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
1578 /* Register variable[3]: Once String constant */
1579 if (once_value_77 != NIT_NULL) variable[3] = once_value_77;
1580 else {
1581 variable[3] = NEW_String_string___String___with_native(BOX_NativeString("CALL_SUPER_"), TAG_Int(11)) /*new String*/;
1582 once_value_77 = variable[3];
1583 }
1584 /* Register variable[3]: Result */
1585 /* Ensure var variable[3]: super-string element*/
1586 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[3]) /*AbstractArray::add*/;
1587 /* Register variable[3]: Result */
1588 variable[3] = CALL_compiling_base___MMLocalProperty___cname(variable[0])(variable[0]) /*MMLocalProperty::cname*/;
1589 /* Ensure var variable[3]: super-string element*/
1590 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[3]) /*AbstractArray::add*/;
1591 /* Register variable[3]: Once String constant */
1592 if (once_value_78 != NIT_NULL) variable[3] = once_value_78;
1593 else {
1594 variable[3] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
1595 once_value_78 = variable[3];
1596 }
1597 /* Register variable[3]: Result */
1598 /* Ensure var variable[3]: super-string element*/
1599 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[3]) /*AbstractArray::add*/;
1600 /* Register variable[2]: Result */
1601 variable[2] = CALL_string___Object___to_s(variable[2])(variable[2]) /*Object::to_s*/;
1602 variable[1] = variable[2];
1603 goto return_label76;
1604 return_label76: while(false);
1605 tracehead = trace.prev;
1606 return variable[1];
1607 }