compile: casts ('isa' and 'as') with nullable info
[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 void **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 void **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 void **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 void **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 void **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 void **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 void **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 void **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 void **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 void **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 void **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 void **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 void **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 void **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 void **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 void **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 val_t variable[4];
158 void **closurevariable = NULL;
159 trace.prev = tracehead; tracehead = &trace;
160 trace.file = LOCATE_compiling_base;
161 variable[0] = self;
162 variable[3] = NEW_Array_array___Array___init(); /*new Array[String]*/
163 variable[2] = variable[3];
164 variable[3] = variable[0];
165 variable[3] = ATTR_compiling_base___CompilerVisitor____ctx(variable[3]) /*CompilerVisitor::_ctx*/;
166 variable[3] = CALL_compiling_base___CContext___decls(variable[3])(variable[3]) /*CContext::decls*/;
167 CALL_abstract_collection___IndexedCollection___append( variable[2] /*out*/)( variable[2] /*out*/, variable[3]) /*IndexedCollection::append*/;
168 variable[3] = variable[0];
169 variable[3] = ATTR_compiling_base___CompilerVisitor____ctx(variable[3]) /*CompilerVisitor::_ctx*/;
170 variable[3] = CALL_compiling_base___CContext___instrs(variable[3])(variable[3]) /*CContext::instrs*/;
171 CALL_abstract_collection___IndexedCollection___append( variable[2] /*out*/)( variable[2] /*out*/, variable[3]) /*IndexedCollection::append*/;
172 variable[3] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
173 CALL_abstract_collection___SimpleCollection___add( variable[2] /*out*/)( variable[2] /*out*/, variable[3]) /*AbstractArray::add*/;
174 variable[3] = NEW_String_string___String___with_native(BOX_NativeString("\n"), TAG_Int(1)); /*new String*/
175 variable[3] = CALL_string___Collection___join( variable[2] /*out*/)( variable[2] /*out*/, variable[3]) /*Collection::join*/;
176 variable[1] = variable[3];
177 goto return_label0;
178 return_label0: while(false);
179 tracehead = trace.prev;
180 return variable[1];
181 }
182 void compiling_base___CompilerVisitor___add_decl(val_t self, val_t param0) {
183 struct trace_t trace = {NULL, NULL, 38, LOCATE_compiling_base___CompilerVisitor___add_decl};
184 val_t variable[6];
185 void **closurevariable = NULL;
186 trace.prev = tracehead; tracehead = &trace;
187 trace.file = LOCATE_compiling_base;
188 variable[0] = self;
189 variable[1] = param0;
190 variable[3] = variable[0];
191 variable[3] = ATTR_compiling_base___CompilerVisitor____indent_level(variable[3]) /*CompilerVisitor::_indent_level*/;
192 variable[3] = TAG_Bool(UNTAG_Int(variable[3])>=UNTAG_Int( TAG_Int(8)));
193 if (UNTAG_Bool(variable[3])) { /*if*/
194 variable[3] = variable[0];
195 variable[3] = ATTR_compiling_base___CompilerVisitor____ctx(variable[3]) /*CompilerVisitor::_ctx*/;
196 variable[3] = CALL_compiling_base___CContext___decls(variable[3])(variable[3]) /*CContext::decls*/;
197 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("\t\t"), TAG_Int(2)); /*new String*/
198 variable[4] = CALL_string___String_____plus(variable[4])(variable[4], variable[1] /*s*/) /*String::+*/;
199 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
200 } else { /*if*/
201 variable[3] = variable[0];
202 variable[3] = ATTR_compiling_base___CompilerVisitor____ctx(variable[3]) /*CompilerVisitor::_ctx*/;
203 variable[3] = CALL_compiling_base___CContext___decls(variable[3])(variable[3]) /*CContext::decls*/;
204 variable[4] = NEW_String_string___String___with_native(BOX_NativeString(" "), TAG_Int(2)); /*new String*/
205 variable[5] = variable[0];
206 variable[5] = ATTR_compiling_base___CompilerVisitor____indent_level(variable[5]) /*CompilerVisitor::_indent_level*/;
207 variable[4] = CALL_string___String_____star(variable[4])(variable[4], variable[5]) /*String::**/;
208 variable[4] = CALL_string___String_____plus(variable[4])(variable[4], variable[1] /*s*/) /*String::+*/;
209 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
210 }
211 return_label1: while(false);
212 tracehead = trace.prev;
213 return;
214 }
215 void compiling_base___CompilerVisitor___add_instr(val_t self, val_t param0) {
216 struct trace_t trace = {NULL, NULL, 48, LOCATE_compiling_base___CompilerVisitor___add_instr};
217 val_t variable[6];
218 void **closurevariable = NULL;
219 trace.prev = tracehead; tracehead = &trace;
220 trace.file = LOCATE_compiling_base;
221 variable[0] = self;
222 variable[1] = param0;
223 variable[3] = variable[0];
224 variable[3] = ATTR_compiling_base___CompilerVisitor____indent_level(variable[3]) /*CompilerVisitor::_indent_level*/;
225 variable[3] = TAG_Bool(UNTAG_Int(variable[3])>=UNTAG_Int( TAG_Int(8)));
226 if (UNTAG_Bool(variable[3])) { /*if*/
227 variable[3] = variable[0];
228 variable[3] = ATTR_compiling_base___CompilerVisitor____ctx(variable[3]) /*CompilerVisitor::_ctx*/;
229 variable[3] = CALL_compiling_base___CContext___instrs(variable[3])(variable[3]) /*CContext::instrs*/;
230 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("\t\t"), TAG_Int(2)); /*new String*/
231 variable[4] = CALL_string___String_____plus(variable[4])(variable[4], variable[1] /*s*/) /*String::+*/;
232 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
233 } else { /*if*/
234 variable[3] = variable[0];
235 variable[3] = ATTR_compiling_base___CompilerVisitor____ctx(variable[3]) /*CompilerVisitor::_ctx*/;
236 variable[3] = CALL_compiling_base___CContext___instrs(variable[3])(variable[3]) /*CContext::instrs*/;
237 variable[4] = NEW_String_string___String___with_native(BOX_NativeString(" "), TAG_Int(2)); /*new String*/
238 variable[5] = variable[0];
239 variable[5] = ATTR_compiling_base___CompilerVisitor____indent_level(variable[5]) /*CompilerVisitor::_indent_level*/;
240 variable[4] = CALL_string___String_____star(variable[4])(variable[4], variable[5]) /*String::**/;
241 variable[4] = CALL_string___String_____plus(variable[4])(variable[4], variable[1] /*s*/) /*String::+*/;
242 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
243 }
244 return_label2: while(false);
245 tracehead = trace.prev;
246 return;
247 }
248 val_t compiling_base___CompilerVisitor___new_number(val_t self) {
249 struct trace_t trace = {NULL, NULL, 58, LOCATE_compiling_base___CompilerVisitor___new_number};
250 val_t variable[5];
251 void **closurevariable = NULL;
252 trace.prev = tracehead; tracehead = &trace;
253 trace.file = LOCATE_compiling_base;
254 variable[0] = self;
255 variable[3] = variable[0];
256 variable[3] = ATTR_compiling_base___CompilerVisitor____number_cpt(variable[3]) /*CompilerVisitor::_number_cpt*/;
257 variable[2] = variable[3];
258 variable[3] = variable[0];
259 variable[4] = TAG_Int(UNTAG_Int( variable[2] /*res*/)+UNTAG_Int( TAG_Int(1)));
260 ATTR_compiling_base___CompilerVisitor____number_cpt(variable[3]) /*CompilerVisitor::_number_cpt*/ = variable[4];
261 variable[1] = variable[2] /*res*/;
262 goto return_label3;
263 return_label3: while(false);
264 tracehead = trace.prev;
265 return variable[1];
266 }
267 void compiling_base___CompilerVisitor___indent(val_t self) {
268 struct trace_t trace = {NULL, NULL, 68, LOCATE_compiling_base___CompilerVisitor___indent};
269 val_t variable[3];
270 void **closurevariable = NULL;
271 trace.prev = tracehead; tracehead = &trace;
272 trace.file = LOCATE_compiling_base;
273 variable[0] = self;
274 variable[2] = variable[0];
275 ATTR_compiling_base___CompilerVisitor____indent_level(variable[2]) /*CompilerVisitor::_indent_level*/ = TAG_Int(UNTAG_Int(ATTR_compiling_base___CompilerVisitor____indent_level(variable[2]) /*CompilerVisitor::_indent_level*/)+UNTAG_Int( TAG_Int(1)));
276 return_label4: while(false);
277 tracehead = trace.prev;
278 return;
279 }
280 void compiling_base___CompilerVisitor___unindent(val_t self) {
281 struct trace_t trace = {NULL, NULL, 72, LOCATE_compiling_base___CompilerVisitor___unindent};
282 val_t variable[3];
283 void **closurevariable = NULL;
284 trace.prev = tracehead; tracehead = &trace;
285 trace.file = LOCATE_compiling_base;
286 variable[0] = self;
287 variable[2] = variable[0];
288 ATTR_compiling_base___CompilerVisitor____indent_level(variable[2]) /*CompilerVisitor::_indent_level*/ = TAG_Int(UNTAG_Int(ATTR_compiling_base___CompilerVisitor____indent_level(variable[2]) /*CompilerVisitor::_indent_level*/)-UNTAG_Int( TAG_Int(1)));
289 variable[2] = variable[0];
290 variable[2] = ATTR_compiling_base___CompilerVisitor____indent_level(variable[2]) /*CompilerVisitor::_indent_level*/;
291 variable[2] = TAG_Bool(UNTAG_Int(variable[2])<UNTAG_Int( TAG_Int(0)));
292 if (UNTAG_Bool(variable[2])) { /*if*/
293 variable[2] = variable[0];
294 ATTR_compiling_base___CompilerVisitor____indent_level(variable[2]) /*CompilerVisitor::_indent_level*/ = TAG_Int(0);
295 }
296 return_label5: while(false);
297 tracehead = trace.prev;
298 return;
299 }
300 val_t compiling_base___CompilerVisitor___module(val_t self) {
301 struct trace_t trace = {NULL, NULL, 89, LOCATE_compiling_base___CompilerVisitor___module};
302 val_t *variable = NULL;
303 void **closurevariable = NULL;
304 trace.prev = tracehead; tracehead = &trace;
305 trace.file = LOCATE_compiling_base;
306 tracehead = trace.prev;
307 return ATTR_compiling_base___CompilerVisitor____module( self) /*CompilerVisitor::_module*/;
308 }
309 void compiling_base___CompilerVisitor___module__eq(val_t self, val_t param0) {
310 struct trace_t trace = {NULL, NULL, 89, LOCATE_compiling_base___CompilerVisitor___module__eq};
311 val_t *variable = NULL;
312 void **closurevariable = NULL;
313 trace.prev = tracehead; tracehead = &trace;
314 trace.file = LOCATE_compiling_base;
315 ATTR_compiling_base___CompilerVisitor____module( self) /*CompilerVisitor::_module*/ = param0;
316 tracehead = trace.prev;
317 return;
318 }
319 val_t compiling_base___CompilerVisitor___ctx(val_t self) {
320 struct trace_t trace = {NULL, NULL, 92, LOCATE_compiling_base___CompilerVisitor___ctx};
321 val_t *variable = NULL;
322 void **closurevariable = NULL;
323 trace.prev = tracehead; tracehead = &trace;
324 trace.file = LOCATE_compiling_base;
325 tracehead = trace.prev;
326 return ATTR_compiling_base___CompilerVisitor____ctx( self) /*CompilerVisitor::_ctx*/;
327 }
328 void compiling_base___CompilerVisitor___ctx__eq(val_t self, val_t param0) {
329 struct trace_t trace = {NULL, NULL, 92, LOCATE_compiling_base___CompilerVisitor___ctx__eq};
330 val_t *variable = NULL;
331 void **closurevariable = NULL;
332 trace.prev = tracehead; tracehead = &trace;
333 trace.file = LOCATE_compiling_base;
334 ATTR_compiling_base___CompilerVisitor____ctx( self) /*CompilerVisitor::_ctx*/ = param0;
335 tracehead = trace.prev;
336 return;
337 }
338 val_t compiling_base___CompilerVisitor___indent_level(val_t self) {
339 struct trace_t trace = {NULL, NULL, 95, LOCATE_compiling_base___CompilerVisitor___indent_level};
340 val_t *variable = NULL;
341 void **closurevariable = NULL;
342 trace.prev = tracehead; tracehead = &trace;
343 trace.file = LOCATE_compiling_base;
344 tracehead = trace.prev;
345 return ATTR_compiling_base___CompilerVisitor____indent_level( self) /*CompilerVisitor::_indent_level*/;
346 }
347 void compiling_base___CompilerVisitor___indent_level__eq(val_t self, val_t param0) {
348 struct trace_t trace = {NULL, NULL, 95, LOCATE_compiling_base___CompilerVisitor___indent_level__eq};
349 val_t *variable = NULL;
350 void **closurevariable = NULL;
351 trace.prev = tracehead; tracehead = &trace;
352 trace.file = LOCATE_compiling_base;
353 ATTR_compiling_base___CompilerVisitor____indent_level( self) /*CompilerVisitor::_indent_level*/ = param0;
354 tracehead = trace.prev;
355 return;
356 }
357 val_t compiling_base___CompilerVisitor___tc(val_t self) {
358 struct trace_t trace = {NULL, NULL, 98, LOCATE_compiling_base___CompilerVisitor___tc};
359 val_t *variable = NULL;
360 void **closurevariable = NULL;
361 trace.prev = tracehead; tracehead = &trace;
362 trace.file = LOCATE_compiling_base;
363 tracehead = trace.prev;
364 return ATTR_compiling_base___CompilerVisitor____tc( self) /*CompilerVisitor::_tc*/;
365 }
366 void compiling_base___CompilerVisitor___tc__eq(val_t self, val_t param0) {
367 struct trace_t trace = {NULL, NULL, 98, LOCATE_compiling_base___CompilerVisitor___tc__eq};
368 val_t *variable = NULL;
369 void **closurevariable = NULL;
370 trace.prev = tracehead; tracehead = &trace;
371 trace.file = LOCATE_compiling_base;
372 ATTR_compiling_base___CompilerVisitor____tc( self) /*CompilerVisitor::_tc*/ = param0;
373 tracehead = trace.prev;
374 return;
375 }
376 void compiling_base___CompilerVisitor___init(val_t self, val_t param0, int* init_table) {
377 struct trace_t trace = {NULL, NULL, 101, LOCATE_compiling_base___CompilerVisitor___init};
378 val_t variable[4];
379 void **closurevariable = NULL;
380 trace.prev = tracehead; tracehead = &trace;
381 trace.file = LOCATE_compiling_base;
382 variable[0] = self;
383 variable[1] = param0;
384 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_CompilerVisitor].i]) return;
385 variable[3] = variable[0];
386 ATTR_compiling_base___CompilerVisitor____module(variable[3]) /*CompilerVisitor::_module*/ = variable[1] /*module*/;
387 return_label6: while(false);
388 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_CompilerVisitor].i] = 1;
389 tracehead = trace.prev;
390 return;
391 }
392 val_t compiling_base___CContext___decls(val_t self) {
393 struct trace_t trace = {NULL, NULL, 108, LOCATE_compiling_base___CContext___decls};
394 val_t *variable = NULL;
395 void **closurevariable = NULL;
396 trace.prev = tracehead; tracehead = &trace;
397 trace.file = LOCATE_compiling_base;
398 tracehead = trace.prev;
399 return ATTR_compiling_base___CContext____decls( self) /*CContext::_decls*/;
400 }
401 val_t compiling_base___CContext___instrs(val_t self) {
402 struct trace_t trace = {NULL, NULL, 109, LOCATE_compiling_base___CContext___instrs};
403 val_t *variable = NULL;
404 void **closurevariable = NULL;
405 trace.prev = tracehead; tracehead = &trace;
406 trace.file = LOCATE_compiling_base;
407 tracehead = trace.prev;
408 return ATTR_compiling_base___CContext____instrs( self) /*CContext::_instrs*/;
409 }
410 void compiling_base___CContext___append(val_t self, val_t param0) {
411 struct trace_t trace = {NULL, NULL, 111, LOCATE_compiling_base___CContext___append};
412 val_t variable[5];
413 void **closurevariable = NULL;
414 trace.prev = tracehead; tracehead = &trace;
415 trace.file = LOCATE_compiling_base;
416 variable[0] = self;
417 variable[1] = param0;
418 variable[3] = variable[0];
419 variable[3] = ATTR_compiling_base___CContext____instrs(variable[3]) /*CContext::_instrs*/;
420 variable[4] = CALL_compiling_base___CContext___decls( variable[1] /*c*/)( variable[1] /*c*/) /*CContext::decls*/;
421 CALL_abstract_collection___IndexedCollection___append(variable[3])(variable[3], variable[4]) /*IndexedCollection::append*/;
422 variable[3] = variable[0];
423 variable[3] = ATTR_compiling_base___CContext____instrs(variable[3]) /*CContext::_instrs*/;
424 variable[4] = CALL_compiling_base___CContext___instrs( variable[1] /*c*/)( variable[1] /*c*/) /*CContext::instrs*/;
425 CALL_abstract_collection___IndexedCollection___append(variable[3])(variable[3], variable[4]) /*IndexedCollection::append*/;
426 return_label7: while(false);
427 tracehead = trace.prev;
428 return;
429 }
430 void compiling_base___CContext___merge(val_t self, val_t param0) {
431 struct trace_t trace = {NULL, NULL, 117, LOCATE_compiling_base___CContext___merge};
432 val_t variable[5];
433 void **closurevariable = NULL;
434 trace.prev = tracehead; tracehead = &trace;
435 trace.file = LOCATE_compiling_base;
436 variable[0] = self;
437 variable[1] = param0;
438 variable[3] = variable[0];
439 variable[3] = ATTR_compiling_base___CContext____decls(variable[3]) /*CContext::_decls*/;
440 variable[4] = CALL_compiling_base___CContext___decls( variable[1] /*c*/)( variable[1] /*c*/) /*CContext::decls*/;
441 CALL_abstract_collection___IndexedCollection___append(variable[3])(variable[3], variable[4]) /*IndexedCollection::append*/;
442 variable[3] = variable[0];
443 variable[3] = ATTR_compiling_base___CContext____instrs(variable[3]) /*CContext::_instrs*/;
444 variable[4] = CALL_compiling_base___CContext___instrs( variable[1] /*c*/)( variable[1] /*c*/) /*CContext::instrs*/;
445 CALL_abstract_collection___IndexedCollection___append(variable[3])(variable[3], variable[4]) /*IndexedCollection::append*/;
446 return_label8: while(false);
447 tracehead = trace.prev;
448 return;
449 }
450 void compiling_base___CContext___init(val_t self, int* init_table) {
451 struct trace_t trace = {NULL, NULL, 123, LOCATE_compiling_base___CContext___init};
452 val_t variable[2];
453 void **closurevariable = NULL;
454 trace.prev = tracehead; tracehead = &trace;
455 trace.file = LOCATE_compiling_base;
456 variable[0] = self;
457 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_CContext].i]) return;
458 return_label9: while(false);
459 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_CContext].i] = 1;
460 tracehead = trace.prev;
461 return;
462 }
463 val_t compiling_base___MMGlobalProperty___meth_call(val_t self) {
464 struct trace_t trace = {NULL, NULL, 127, LOCATE_compiling_base___MMGlobalProperty___meth_call};
465 val_t variable[9];
466 void **closurevariable = NULL;
467 trace.prev = tracehead; tracehead = &trace;
468 trace.file = LOCATE_compiling_base;
469 variable[0] = self;
470 variable[2] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
471 variable[3] = NEW_String_string___String___with_native(BOX_NativeString("CALL_"), TAG_Int(5)); /*new String*/
472 variable[4] = variable[3];
473 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[4]) /*AbstractArray::add*/;
474 variable[5] = variable[0];
475 variable[5] = CALL_abstractmetamodel___MMGlobalProperty___intro(variable[5])(variable[5]) /*MMGlobalProperty::intro*/;
476 variable[5] = CALL_compiling_base___MMLocalProperty___cname(variable[5])(variable[5]) /*MMLocalProperty::cname*/;
477 variable[6] = variable[5];
478 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[6]) /*AbstractArray::add*/;
479 variable[7] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
480 variable[8] = variable[7];
481 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[8]) /*AbstractArray::add*/;
482 variable[2] = CALL_string___Object___to_s(variable[2])(variable[2]) /*Object::to_s*/;
483 variable[1] = variable[2];
484 goto return_label10;
485 return_label10: while(false);
486 tracehead = trace.prev;
487 return variable[1];
488 }
489 val_t compiling_base___MMGlobalProperty___attr_access(val_t self) {
490 struct trace_t trace = {NULL, NULL, 133, LOCATE_compiling_base___MMGlobalProperty___attr_access};
491 val_t variable[9];
492 void **closurevariable = NULL;
493 trace.prev = tracehead; tracehead = &trace;
494 trace.file = LOCATE_compiling_base;
495 variable[0] = self;
496 variable[2] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
497 variable[3] = NEW_String_string___String___with_native(BOX_NativeString("ATTR_"), TAG_Int(5)); /*new String*/
498 variable[4] = variable[3];
499 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[4]) /*AbstractArray::add*/;
500 variable[5] = variable[0];
501 variable[5] = CALL_abstractmetamodel___MMGlobalProperty___intro(variable[5])(variable[5]) /*MMGlobalProperty::intro*/;
502 variable[5] = CALL_compiling_base___MMLocalProperty___cname(variable[5])(variable[5]) /*MMLocalProperty::cname*/;
503 variable[6] = variable[5];
504 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[6]) /*AbstractArray::add*/;
505 variable[7] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
506 variable[8] = variable[7];
507 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[8]) /*AbstractArray::add*/;
508 variable[2] = CALL_string___Object___to_s(variable[2])(variable[2]) /*Object::to_s*/;
509 variable[1] = variable[2];
510 goto return_label11;
511 return_label11: while(false);
512 tracehead = trace.prev;
513 return variable[1];
514 }
515 val_t compiling_base___MMGlobalClass___id_id(val_t self) {
516 struct trace_t trace = {NULL, NULL, 141, LOCATE_compiling_base___MMGlobalClass___id_id};
517 val_t variable[9];
518 void **closurevariable = NULL;
519 trace.prev = tracehead; tracehead = &trace;
520 trace.file = LOCATE_compiling_base;
521 variable[0] = self;
522 variable[2] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
523 variable[3] = NEW_String_string___String___with_native(BOX_NativeString("ID_"), TAG_Int(3)); /*new String*/
524 variable[4] = variable[3];
525 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[4]) /*AbstractArray::add*/;
526 variable[5] = variable[0];
527 variable[5] = CALL_abstractmetamodel___MMGlobalClass___intro(variable[5])(variable[5]) /*MMGlobalClass::intro*/;
528 variable[5] = CALL_abstractmetamodel___MMLocalClass___name(variable[5])(variable[5]) /*MMLocalClass::name*/;
529 variable[6] = variable[5];
530 variable[6] = CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/;
531 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[6]) /*AbstractArray::add*/;
532 variable[7] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
533 variable[8] = variable[7];
534 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[8]) /*AbstractArray::add*/;
535 variable[2] = CALL_string___Object___to_s(variable[2])(variable[2]) /*Object::to_s*/;
536 variable[1] = variable[2];
537 goto return_label12;
538 return_label12: while(false);
539 tracehead = trace.prev;
540 return variable[1];
541 }
542 val_t compiling_base___MMGlobalClass___color_id(val_t self) {
543 struct trace_t trace = {NULL, NULL, 147, LOCATE_compiling_base___MMGlobalClass___color_id};
544 val_t variable[9];
545 void **closurevariable = NULL;
546 trace.prev = tracehead; tracehead = &trace;
547 trace.file = LOCATE_compiling_base;
548 variable[0] = self;
549 variable[2] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
550 variable[3] = NEW_String_string___String___with_native(BOX_NativeString("COLOR_"), TAG_Int(6)); /*new String*/
551 variable[4] = variable[3];
552 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[4]) /*AbstractArray::add*/;
553 variable[5] = variable[0];
554 variable[5] = CALL_abstractmetamodel___MMGlobalClass___intro(variable[5])(variable[5]) /*MMGlobalClass::intro*/;
555 variable[5] = CALL_abstractmetamodel___MMLocalClass___name(variable[5])(variable[5]) /*MMLocalClass::name*/;
556 variable[6] = variable[5];
557 variable[6] = CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/;
558 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[6]) /*AbstractArray::add*/;
559 variable[7] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
560 variable[8] = variable[7];
561 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[8]) /*AbstractArray::add*/;
562 variable[2] = CALL_string___Object___to_s(variable[2])(variable[2]) /*Object::to_s*/;
563 variable[1] = variable[2];
564 goto return_label13;
565 return_label13: while(false);
566 tracehead = trace.prev;
567 return variable[1];
568 }
569 val_t compiling_base___MMGlobalClass___init_table_pos_id(val_t self) {
570 struct trace_t trace = {NULL, NULL, 153, LOCATE_compiling_base___MMGlobalClass___init_table_pos_id};
571 val_t variable[9];
572 void **closurevariable = NULL;
573 trace.prev = tracehead; tracehead = &trace;
574 trace.file = LOCATE_compiling_base;
575 variable[0] = self;
576 variable[2] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
577 variable[3] = NEW_String_string___String___with_native(BOX_NativeString("INIT_TABLE_POS_"), TAG_Int(15)); /*new String*/
578 variable[4] = variable[3];
579 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[4]) /*AbstractArray::add*/;
580 variable[5] = variable[0];
581 variable[5] = CALL_abstractmetamodel___MMGlobalClass___intro(variable[5])(variable[5]) /*MMGlobalClass::intro*/;
582 variable[5] = CALL_abstractmetamodel___MMLocalClass___name(variable[5])(variable[5]) /*MMLocalClass::name*/;
583 variable[6] = variable[5];
584 variable[6] = CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/;
585 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[6]) /*AbstractArray::add*/;
586 variable[7] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
587 variable[8] = variable[7];
588 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[8]) /*AbstractArray::add*/;
589 variable[2] = CALL_string___Object___to_s(variable[2])(variable[2]) /*Object::to_s*/;
590 variable[1] = variable[2];
591 goto return_label14;
592 return_label14: while(false);
593 tracehead = trace.prev;
594 return variable[1];
595 }
596 val_t compiling_base___MMLocalClass___primitive_info(val_t self) {
597 struct trace_t trace = {NULL, NULL, 167, LOCATE_compiling_base___MMLocalClass___primitive_info};
598 static val_t once_value_16; static int once_bool_16; /* Once value for variable[3]*/
599 val_t variable[8];
600 void **closurevariable = NULL;
601 trace.prev = tracehead; tracehead = &trace;
602 trace.file = LOCATE_compiling_base;
603 variable[0] = self;
604 variable[2] = variable[0];
605 variable[2] = ATTR_compiling_base___MMLocalClass____primitive_info_b(variable[2]) /*MMLocalClass::_primitive_info_b*/;
606 variable[2] = TAG_Bool((variable[2])==( TAG_Bool(true)));
607 if (UNTAG_Bool(variable[2])) { /*if*/
608 variable[2] = variable[0];
609 variable[2] = ATTR_compiling_base___MMLocalClass____primitive_info_cache(variable[2]) /*MMLocalClass::_primitive_info_cache*/;
610 variable[1] = variable[2];
611 goto return_label15;
612 }
613 if (once_bool_16) variable[3] = once_value_16;
614 else {
615 variable[3] = variable[0];
616 variable[3] = CALL_compiling_base___MMLocalClass___primitive_ctypes(variable[3])(variable[3]) /*MMLocalClass::primitive_ctypes*/;
617 once_value_16 = variable[3];
618 once_bool_16 = true;
619 }
620 variable[2] = variable[3];
621 variable[3] = variable[0];
622 variable[3] = CALL_abstractmetamodel___MMLocalClass___name(variable[3])(variable[3]) /*MMLocalClass::name*/;
623 variable[3] = CALL_abstract_collection___Map___has_key( variable[2] /*ctypes*/)( variable[2] /*ctypes*/, variable[3]) /*CoupleMap::has_key*/;
624 if (UNTAG_Bool(variable[3])) { /*if*/
625 variable[3] = variable[0];
626 variable[4] = variable[0];
627 variable[4] = CALL_abstractmetamodel___MMLocalClass___name(variable[4])(variable[4]) /*MMLocalClass::name*/;
628 variable[4] = CALL_abstract_collection___Map_____bra( variable[2] /*ctypes*/)( variable[2] /*ctypes*/, variable[4]) /*CoupleMap::[]*/;
629 ATTR_compiling_base___MMLocalClass____primitive_info_cache(variable[3]) /*MMLocalClass::_primitive_info_cache*/ = variable[4];
630 variable[3] = variable[0];
631 ATTR_compiling_base___MMLocalClass____primitive_info_b(variable[3]) /*MMLocalClass::_primitive_info_b*/ = TAG_Bool(true);
632 variable[3] = variable[0];
633 variable[3] = ATTR_compiling_base___MMLocalClass____primitive_info_cache(variable[3]) /*MMLocalClass::_primitive_info_cache*/;
634 variable[1] = variable[3];
635 goto return_label15;
636 }
637 variable[4] = CALL_abstract_collection___Collection___iterator( variable[2] /*ctypes*/)( variable[2] /*ctypes*/) /*HashMap::iterator*/;
638 variable[3] = variable[4];
639 while (true) { /*while*/
640 variable[4] = CALL_abstract_collection___Iterator___is_ok( variable[3] /*i*/)( variable[3] /*i*/) /*HashMapIterator::is_ok*/;
641 if (!UNTAG_Bool(variable[4])) break; /* while*/
642 variable[5] = CALL_abstract_collection___MapIterator___key( variable[3] /*i*/)( variable[3] /*i*/) /*HashMapIterator::key*/;
643 variable[4] = variable[5];
644 variable[5] = variable[0];
645 variable[5] = CALL_abstractmetamodel___MMLocalClass___module(variable[5])(variable[5]) /*MMLocalClass::module*/;
646 variable[5] = CALL_abstractmetamodel___MMModule___has_global_class_named(variable[5])(variable[5], variable[4] /*n*/) /*MMModule::has_global_class_named*/;
647 if (UNTAG_Bool(variable[5])) { /*if*/
648 variable[6] = variable[0];
649 variable[6] = CALL_abstractmetamodel___MMLocalClass___module(variable[6])(variable[6]) /*MMLocalClass::module*/;
650 variable[6] = CALL_abstractmetamodel___MMModule___class_by_name(variable[6])(variable[6], variable[4] /*n*/) /*MMModule::class_by_name*/;
651 variable[5] = variable[6];
652 variable[6] = variable[0];
653 variable[6] = CALL_abstractmetamodel___MMLocalClass___cshe(variable[6])(variable[6]) /*MMLocalClass::cshe*/;
654 variable[6] = CALL_partial_order___PartialOrderElement_____l(variable[6])(variable[6], variable[5] /*c*/) /*PartialOrderElement::<*/;
655 if (UNTAG_Bool(variable[6])) { /*if*/
656 variable[6] = variable[0];
657 variable[7] = CALL_abstract_collection___Iterator___item( variable[3] /*i*/)( variable[3] /*i*/) /*HashMapIterator::item*/;
658 ATTR_compiling_base___MMLocalClass____primitive_info_cache(variable[6]) /*MMLocalClass::_primitive_info_cache*/ = variable[7];
659 variable[6] = variable[0];
660 ATTR_compiling_base___MMLocalClass____primitive_info_b(variable[6]) /*MMLocalClass::_primitive_info_b*/ = TAG_Bool(true);
661 variable[6] = variable[0];
662 variable[6] = ATTR_compiling_base___MMLocalClass____primitive_info_cache(variable[6]) /*MMLocalClass::_primitive_info_cache*/;
663 variable[1] = variable[6];
664 goto return_label15;
665 }
666 }
667 CALL_abstract_collection___Iterator___next( variable[3] /*i*/)( variable[3] /*i*/) /*HashMapIterator::next*/;
668 continue_17: while(0);
669 }
670 break_17: while(0);
671 variable[4] = variable[0];
672 ATTR_compiling_base___MMLocalClass____primitive_info_b(variable[4]) /*MMLocalClass::_primitive_info_b*/ = TAG_Bool(true);
673 variable[1] = NIT_NULL /*null*/;
674 goto return_label15;
675 return_label15: while(false);
676 tracehead = trace.prev;
677 return variable[1];
678 }
679 val_t compiling_base___MMLocalClass___primitive_ctypes(val_t self) {
680 struct trace_t trace = {NULL, NULL, 197, LOCATE_compiling_base___MMLocalClass___primitive_ctypes};
681 val_t variable[16];
682 void **closurevariable = NULL;
683 trace.prev = tracehead; tracehead = &trace;
684 trace.file = LOCATE_compiling_base;
685 variable[0] = self;
686 variable[3] = NEW_HashMap_hash___HashMap___init(); /*new HashMap[Symbol, PrimitiveInfo]*/
687 variable[2] = variable[3];
688 variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(7)); /*new Array[String]*/
689 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("Int"), TAG_Int(3)); /*new String*/
690 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
691 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("Char"), TAG_Int(4)); /*new String*/
692 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[6]) /*AbstractArray::add*/;
693 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("Bool"), TAG_Int(4)); /*new String*/
694 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[7]) /*AbstractArray::add*/;
695 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("Float"), TAG_Int(5)); /*new String*/
696 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[8]) /*AbstractArray::add*/;
697 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("NativeString"), TAG_Int(12)); /*new String*/
698 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[9]) /*AbstractArray::add*/;
699 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("NativeArray"), TAG_Int(11)); /*new String*/
700 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[10]) /*AbstractArray::add*/;
701 variable[11] = NEW_String_string___String___with_native(BOX_NativeString("Pointer"), TAG_Int(7)); /*new String*/
702 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[11]) /*AbstractArray::add*/;
703 variable[3] = variable[4];
704 variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(7)); /*new Array[Bool]*/
705 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], TAG_Bool(true)) /*AbstractArray::add*/;
706 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], TAG_Bool(true)) /*AbstractArray::add*/;
707 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], TAG_Bool(true)) /*AbstractArray::add*/;
708 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], TAG_Bool(false)) /*AbstractArray::add*/;
709 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], TAG_Bool(false)) /*AbstractArray::add*/;
710 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], TAG_Bool(false)) /*AbstractArray::add*/;
711 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], TAG_Bool(false)) /*AbstractArray::add*/;
712 variable[4] = variable[5];
713 variable[6] = NEW_Array_array___Array___with_capacity(TAG_Int(7)); /*new Array[String]*/
714 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("bigint"), TAG_Int(6)); /*new String*/
715 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
716 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("char"), TAG_Int(4)); /*new String*/
717 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[8]) /*AbstractArray::add*/;
718 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("int"), TAG_Int(3)); /*new String*/
719 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[9]) /*AbstractArray::add*/;
720 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("float"), TAG_Int(5)); /*new String*/
721 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[10]) /*AbstractArray::add*/;
722 variable[11] = NEW_String_string___String___with_native(BOX_NativeString("char *"), TAG_Int(6)); /*new String*/
723 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[11]) /*AbstractArray::add*/;
724 variable[12] = NEW_String_string___String___with_native(BOX_NativeString("val_t *"), TAG_Int(7)); /*new String*/
725 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[12]) /*AbstractArray::add*/;
726 variable[13] = NEW_String_string___String___with_native(BOX_NativeString("void *"), TAG_Int(6)); /*new String*/
727 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[13]) /*AbstractArray::add*/;
728 variable[5] = variable[6];
729 variable[6] = CALL_abstract_collection___Collection___length( variable[3] /*pnames*/)( variable[3] /*pnames*/) /*AbstractArray::length*/;
730 variable[7] = NEW_Range_range___Range___without_last( TAG_Int(0), variable[6]); /*new Range[Int]*/
731 variable[6] = variable[7];
732 variable[6] = CALL_abstract_collection___Collection___iterator(variable[6])(variable[6]) /*Range::iterator*/;
733 while (true) { /*for*/
734 variable[7] = CALL_abstract_collection___Iterator___is_ok(variable[6])(variable[6]) /*Iterator::is_ok*/;
735 if (!UNTAG_Bool(variable[7])) break; /*for*/
736 variable[7] = CALL_abstract_collection___Iterator___item(variable[6])(variable[6]) /*Iterator::item*/;
737 variable[8] = variable[7];
738 variable[10] = variable[3] /*pnames*/;
739 variable[11] = variable[8] /*i*/;
740 variable[13] = TAG_Bool(UNTAG_Int( variable[11] /*index*/)>=UNTAG_Int( TAG_Int(0)));
741 variable[14] = variable[13];
742 if (UNTAG_Bool(variable[14])) { /* and */
743 variable[14] = variable[10];
744 variable[14] = ATTR_array___AbstractArray____length(variable[14]) /*AbstractArray::_length*/;
745 variable[14] = TAG_Bool(UNTAG_Int( variable[11] /*index*/)<UNTAG_Int(variable[14]));
746 }
747 variable[13] = variable[14];
748 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, 229); nit_exit(1);}
749 variable[13] = variable[10];
750 variable[13] = ATTR_array___Array____items(variable[13]) /*Array::_items*/;
751 variable[13] = UNBOX_NativeArray(variable[13])[UNTAG_Int( variable[11] /*index*/)];
752 variable[12] = variable[13];
753 goto return_label20;
754 return_label20: while(false);
755 variable[10] = variable[12];
756 variable[10] = CALL_symbol___String___to_symbol(variable[10])(variable[10]) /*String::to_symbol*/;
757 variable[9] = variable[10];
758 variable[11] = NEW_PrimitiveInfo_compiling_base___PrimitiveInfo___init(); /*new PrimitiveInfo*/
759 variable[10] = variable[11];
760 CALL_compiling_base___PrimitiveInfo___name__eq( variable[10] /*pi*/)( variable[10] /*pi*/, variable[9] /*n*/) /*PrimitiveInfo::name=*/;
761 variable[11] = variable[4] /*tagged*/;
762 variable[12] = variable[8] /*i*/;
763 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
764 variable[15] = variable[14];
765 if (UNTAG_Bool(variable[15])) { /* and */
766 variable[15] = variable[11];
767 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
768 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
769 }
770 variable[14] = variable[15];
771 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, 229); nit_exit(1);}
772 variable[14] = variable[11];
773 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
774 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
775 variable[13] = variable[14];
776 goto return_label21;
777 return_label21: while(false);
778 variable[11] = variable[13];
779 CALL_compiling_base___PrimitiveInfo___tagged__eq( variable[10] /*pi*/)( variable[10] /*pi*/, variable[11]) /*PrimitiveInfo::tagged=*/;
780 variable[11] = variable[5] /*cnames*/;
781 variable[12] = variable[8] /*i*/;
782 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
783 variable[15] = variable[14];
784 if (UNTAG_Bool(variable[15])) { /* and */
785 variable[15] = variable[11];
786 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
787 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
788 }
789 variable[14] = variable[15];
790 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, 229); nit_exit(1);}
791 variable[14] = variable[11];
792 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
793 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
794 variable[13] = variable[14];
795 goto return_label22;
796 return_label22: while(false);
797 variable[11] = variable[13];
798 CALL_compiling_base___PrimitiveInfo___cname__eq( variable[10] /*pi*/)( variable[10] /*pi*/, variable[11]) /*PrimitiveInfo::cname=*/;
799 CALL_abstract_collection___Map_____braeq( variable[2] /*res*/)( variable[2] /*res*/, variable[9] /*n*/, variable[10] /*pi*/) /*HashMap::[]=*/;
800 continue_19: while(0);
801 CALL_abstract_collection___Iterator___next(variable[6])(variable[6]) /*Iterator::next*/;
802 }
803 break_19: while(0);
804 variable[1] = variable[2] /*res*/;
805 goto return_label18;
806 return_label18: while(false);
807 tracehead = trace.prev;
808 return variable[1];
809 }
810 val_t compiling_base___PrimitiveInfo___name(val_t self) {
811 struct trace_t trace = {NULL, NULL, 218, LOCATE_compiling_base___PrimitiveInfo___name};
812 val_t *variable = NULL;
813 void **closurevariable = NULL;
814 trace.prev = tracehead; tracehead = &trace;
815 trace.file = LOCATE_compiling_base;
816 tracehead = trace.prev;
817 return ATTR_compiling_base___PrimitiveInfo____name( self) /*PrimitiveInfo::_name*/;
818 }
819 void compiling_base___PrimitiveInfo___name__eq(val_t self, val_t param0) {
820 struct trace_t trace = {NULL, NULL, 218, LOCATE_compiling_base___PrimitiveInfo___name__eq};
821 val_t *variable = NULL;
822 void **closurevariable = NULL;
823 trace.prev = tracehead; tracehead = &trace;
824 trace.file = LOCATE_compiling_base;
825 ATTR_compiling_base___PrimitiveInfo____name( self) /*PrimitiveInfo::_name*/ = param0;
826 tracehead = trace.prev;
827 return;
828 }
829 val_t compiling_base___PrimitiveInfo___tagged(val_t self) {
830 struct trace_t trace = {NULL, NULL, 221, LOCATE_compiling_base___PrimitiveInfo___tagged};
831 val_t *variable = NULL;
832 void **closurevariable = NULL;
833 trace.prev = tracehead; tracehead = &trace;
834 trace.file = LOCATE_compiling_base;
835 tracehead = trace.prev;
836 return ATTR_compiling_base___PrimitiveInfo____tagged( self) /*PrimitiveInfo::_tagged*/;
837 }
838 void compiling_base___PrimitiveInfo___tagged__eq(val_t self, val_t param0) {
839 struct trace_t trace = {NULL, NULL, 221, LOCATE_compiling_base___PrimitiveInfo___tagged__eq};
840 val_t *variable = NULL;
841 void **closurevariable = NULL;
842 trace.prev = tracehead; tracehead = &trace;
843 trace.file = LOCATE_compiling_base;
844 ATTR_compiling_base___PrimitiveInfo____tagged( self) /*PrimitiveInfo::_tagged*/ = param0;
845 tracehead = trace.prev;
846 return;
847 }
848 val_t compiling_base___PrimitiveInfo___cname(val_t self) {
849 struct trace_t trace = {NULL, NULL, 224, LOCATE_compiling_base___PrimitiveInfo___cname};
850 val_t *variable = NULL;
851 void **closurevariable = NULL;
852 trace.prev = tracehead; tracehead = &trace;
853 trace.file = LOCATE_compiling_base;
854 tracehead = trace.prev;
855 return ATTR_compiling_base___PrimitiveInfo____cname( self) /*PrimitiveInfo::_cname*/;
856 }
857 void compiling_base___PrimitiveInfo___cname__eq(val_t self, val_t param0) {
858 struct trace_t trace = {NULL, NULL, 224, LOCATE_compiling_base___PrimitiveInfo___cname__eq};
859 val_t *variable = NULL;
860 void **closurevariable = NULL;
861 trace.prev = tracehead; tracehead = &trace;
862 trace.file = LOCATE_compiling_base;
863 ATTR_compiling_base___PrimitiveInfo____cname( self) /*PrimitiveInfo::_cname*/ = param0;
864 tracehead = trace.prev;
865 return;
866 }
867 void compiling_base___PrimitiveInfo___init(val_t self, int* init_table) {
868 struct trace_t trace = {NULL, NULL, 227, LOCATE_compiling_base___PrimitiveInfo___init};
869 val_t variable[2];
870 void **closurevariable = NULL;
871 trace.prev = tracehead; tracehead = &trace;
872 trace.file = LOCATE_compiling_base;
873 variable[0] = self;
874 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_PrimitiveInfo].i]) return;
875 return_label23: while(false);
876 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_PrimitiveInfo].i] = 1;
877 tracehead = trace.prev;
878 return;
879 }
880 val_t compiling_base___MMType___cname(val_t self) {
881 struct trace_t trace = {NULL, NULL, 231, LOCATE_compiling_base___MMType___cname};
882 val_t variable[4];
883 void **closurevariable = NULL;
884 trace.prev = tracehead; tracehead = &trace;
885 trace.file = LOCATE_compiling_base;
886 variable[0] = self;
887 variable[3] = variable[0];
888 variable[3] = CALL_static_type___MMType___local_class(variable[3])(variable[3]) /*MMType::local_class*/;
889 variable[3] = CALL_compiling_base___MMLocalClass___primitive_info(variable[3])(variable[3]) /*MMLocalClass::primitive_info*/;
890 variable[2] = variable[3];
891 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::==*/)))));
892 if (UNTAG_Bool(variable[3])) { /*if*/
893 variable[3] = NEW_String_string___String___with_native(BOX_NativeString("val_t"), TAG_Int(5)); /*new String*/
894 variable[1] = variable[3];
895 goto return_label24;
896 } else { /*if*/
897 variable[3] = CALL_compiling_base___PrimitiveInfo___cname( variable[2] /*pi*/)( variable[2] /*pi*/) /*PrimitiveInfo::cname*/;
898 variable[1] = variable[3];
899 goto return_label24;
900 }
901 return_label24: while(false);
902 tracehead = trace.prev;
903 return variable[1];
904 }
905 val_t compiling_base___MMType___default_cvalue(val_t self) {
906 struct trace_t trace = {NULL, NULL, 242, LOCATE_compiling_base___MMType___default_cvalue};
907 val_t variable[14];
908 void **closurevariable = NULL;
909 trace.prev = tracehead; tracehead = &trace;
910 trace.file = LOCATE_compiling_base;
911 variable[0] = self;
912 variable[3] = variable[0];
913 variable[3] = CALL_static_type___MMType___local_class(variable[3])(variable[3]) /*MMType::local_class*/;
914 variable[3] = CALL_compiling_base___MMLocalClass___primitive_info(variable[3])(variable[3]) /*MMLocalClass::primitive_info*/;
915 variable[2] = variable[3];
916 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::==*/)))))));
917 variable[4] = variable[3];
918 if (UNTAG_Bool(variable[4])) { /* and */
919 variable[4] = CALL_compiling_base___PrimitiveInfo___tagged( variable[2] /*pi*/)( variable[2] /*pi*/) /*PrimitiveInfo::tagged*/;
920 }
921 variable[3] = variable[4];
922 if (UNTAG_Bool(variable[3])) { /*if*/
923 variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
924 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("TAG_"), TAG_Int(4)); /*new String*/
925 variable[5] = variable[4];
926 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[5]) /*AbstractArray::add*/;
927 variable[6] = variable[0];
928 variable[6] = CALL_static_type___MMType___local_class(variable[6])(variable[6]) /*MMType::local_class*/;
929 variable[6] = CALL_abstractmetamodel___MMLocalClass___name(variable[6])(variable[6]) /*MMLocalClass::name*/;
930 variable[7] = variable[6];
931 variable[7] = CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/;
932 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[7]) /*AbstractArray::add*/;
933 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("(("), TAG_Int(2)); /*new String*/
934 variable[9] = variable[8];
935 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[9]) /*AbstractArray::add*/;
936 variable[10] = CALL_compiling_base___PrimitiveInfo___cname( variable[2] /*pi*/)( variable[2] /*pi*/) /*PrimitiveInfo::cname*/;
937 variable[11] = variable[10];
938 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[11]) /*AbstractArray::add*/;
939 variable[12] = NEW_String_string___String___with_native(BOX_NativeString(")0)"), TAG_Int(3)); /*new String*/
940 variable[13] = variable[12];
941 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[13]) /*AbstractArray::add*/;
942 variable[3] = CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/;
943 variable[1] = variable[3];
944 goto return_label25;
945 } else { /*if*/
946 variable[3] = NEW_String_string___String___with_native(BOX_NativeString("NIT_NULL"), TAG_Int(8)); /*new String*/
947 variable[1] = variable[3];
948 goto return_label25;
949 }
950 return_label25: while(false);
951 tracehead = trace.prev;
952 return variable[1];
953 }
954 val_t compiling_base___MMType___boxtype(val_t self, val_t param0) {
955 struct trace_t trace = {NULL, NULL, 254, LOCATE_compiling_base___MMType___boxtype};
956 val_t variable[14];
957 void **closurevariable = NULL;
958 trace.prev = tracehead; tracehead = &trace;
959 trace.file = LOCATE_compiling_base;
960 variable[0] = self;
961 variable[1] = param0;
962 variable[4] = variable[0];
963 variable[4] = CALL_static_type___MMType___local_class(variable[4])(variable[4]) /*MMType::local_class*/;
964 variable[4] = CALL_compiling_base___MMLocalClass___primitive_info(variable[4])(variable[4]) /*MMLocalClass::primitive_info*/;
965 variable[3] = variable[4];
966 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::==*/)))));
967 if (UNTAG_Bool(variable[4])) { /*if*/
968 variable[2] = variable[1] /*s*/;
969 goto return_label26;
970 } else { /*if*/
971 variable[4] = CALL_compiling_base___PrimitiveInfo___tagged( variable[3] /*pi*/)( variable[3] /*pi*/) /*PrimitiveInfo::tagged*/;
972 if (UNTAG_Bool(variable[4])) { /*if*/
973 variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
974 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("TAG_"), TAG_Int(4)); /*new String*/
975 variable[6] = variable[5];
976 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[6]) /*AbstractArray::add*/;
977 variable[7] = variable[0];
978 variable[7] = CALL_static_type___MMType___local_class(variable[7])(variable[7]) /*MMType::local_class*/;
979 variable[7] = CALL_abstractmetamodel___MMLocalClass___name(variable[7])(variable[7]) /*MMLocalClass::name*/;
980 variable[8] = variable[7];
981 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
982 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[8]) /*AbstractArray::add*/;
983 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
984 variable[10] = variable[9];
985 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[10]) /*AbstractArray::add*/;
986 variable[11] = variable[1] /*s*/;
987 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[11]) /*AbstractArray::add*/;
988 variable[12] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
989 variable[13] = variable[12];
990 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[13]) /*AbstractArray::add*/;
991 variable[4] = CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/;
992 variable[2] = variable[4];
993 goto return_label26;
994 } else { /*if*/
995 variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
996 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("BOX_"), TAG_Int(4)); /*new String*/
997 variable[6] = variable[5];
998 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[6]) /*AbstractArray::add*/;
999 variable[7] = variable[0];
1000 variable[7] = CALL_static_type___MMType___local_class(variable[7])(variable[7]) /*MMType::local_class*/;
1001 variable[7] = CALL_abstractmetamodel___MMLocalClass___name(variable[7])(variable[7]) /*MMLocalClass::name*/;
1002 variable[8] = variable[7];
1003 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
1004 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[8]) /*AbstractArray::add*/;
1005 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
1006 variable[10] = variable[9];
1007 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[10]) /*AbstractArray::add*/;
1008 variable[11] = variable[1] /*s*/;
1009 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[11]) /*AbstractArray::add*/;
1010 variable[12] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
1011 variable[13] = variable[12];
1012 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[13]) /*AbstractArray::add*/;
1013 variable[4] = CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/;
1014 variable[2] = variable[4];
1015 goto return_label26;
1016 }
1017 }
1018 return_label26: while(false);
1019 tracehead = trace.prev;
1020 return variable[2];
1021 }
1022 val_t compiling_base___MMType___unboxtype(val_t self, val_t param0) {
1023 struct trace_t trace = {NULL, NULL, 268, LOCATE_compiling_base___MMType___unboxtype};
1024 val_t variable[14];
1025 void **closurevariable = NULL;
1026 trace.prev = tracehead; tracehead = &trace;
1027 trace.file = LOCATE_compiling_base;
1028 variable[0] = self;
1029 variable[1] = param0;
1030 variable[4] = variable[0];
1031 variable[4] = CALL_static_type___MMType___local_class(variable[4])(variable[4]) /*MMType::local_class*/;
1032 variable[4] = CALL_compiling_base___MMLocalClass___primitive_info(variable[4])(variable[4]) /*MMLocalClass::primitive_info*/;
1033 variable[3] = variable[4];
1034 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::==*/)))));
1035 if (UNTAG_Bool(variable[4])) { /*if*/
1036 variable[2] = variable[1] /*s*/;
1037 goto return_label27;
1038 } else { /*if*/
1039 variable[4] = CALL_compiling_base___PrimitiveInfo___tagged( variable[3] /*pi*/)( variable[3] /*pi*/) /*PrimitiveInfo::tagged*/;
1040 if (UNTAG_Bool(variable[4])) { /*if*/
1041 variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
1042 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("UNTAG_"), TAG_Int(6)); /*new String*/
1043 variable[6] = variable[5];
1044 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[6]) /*AbstractArray::add*/;
1045 variable[7] = variable[0];
1046 variable[7] = CALL_static_type___MMType___local_class(variable[7])(variable[7]) /*MMType::local_class*/;
1047 variable[7] = CALL_abstractmetamodel___MMLocalClass___name(variable[7])(variable[7]) /*MMLocalClass::name*/;
1048 variable[8] = variable[7];
1049 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
1050 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[8]) /*AbstractArray::add*/;
1051 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
1052 variable[10] = variable[9];
1053 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[10]) /*AbstractArray::add*/;
1054 variable[11] = variable[1] /*s*/;
1055 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[11]) /*AbstractArray::add*/;
1056 variable[12] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
1057 variable[13] = variable[12];
1058 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[13]) /*AbstractArray::add*/;
1059 variable[4] = CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/;
1060 variable[2] = variable[4];
1061 goto return_label27;
1062 } else { /*if*/
1063 variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
1064 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("UNBOX_"), TAG_Int(6)); /*new String*/
1065 variable[6] = variable[5];
1066 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[6]) /*AbstractArray::add*/;
1067 variable[7] = variable[0];
1068 variable[7] = CALL_static_type___MMType___local_class(variable[7])(variable[7]) /*MMType::local_class*/;
1069 variable[7] = CALL_abstractmetamodel___MMLocalClass___name(variable[7])(variable[7]) /*MMLocalClass::name*/;
1070 variable[8] = variable[7];
1071 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
1072 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[8]) /*AbstractArray::add*/;
1073 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
1074 variable[10] = variable[9];
1075 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[10]) /*AbstractArray::add*/;
1076 variable[11] = variable[1] /*s*/;
1077 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[11]) /*AbstractArray::add*/;
1078 variable[12] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
1079 variable[13] = variable[12];
1080 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[13]) /*AbstractArray::add*/;
1081 variable[4] = CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/;
1082 variable[2] = variable[4];
1083 goto return_label27;
1084 }
1085 }
1086 return_label27: while(false);
1087 tracehead = trace.prev;
1088 return variable[2];
1089 }
1090 val_t compiling_base___MMLocalProperty___cname(val_t self) {
1091 struct trace_t trace = {NULL, NULL, 287, LOCATE_compiling_base___MMLocalProperty___cname};
1092 val_t variable[8];
1093 void **closurevariable = NULL;
1094 trace.prev = tracehead; tracehead = &trace;
1095 trace.file = LOCATE_compiling_base;
1096 variable[0] = self;
1097 variable[2] = variable[0];
1098 variable[2] = ATTR_compiling_base___MMLocalProperty____cname_cache(variable[2]) /*MMLocalProperty::_cname_cache*/;
1099 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::==*/)));
1100 if (UNTAG_Bool(variable[2])) { /*if*/
1101 variable[2] = variable[0];
1102 variable[3] = variable[0];
1103 variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[Symbol]*/
1104 variable[5] = variable[0];
1105 variable[5] = CALL_abstractmetamodel___MMLocalProperty___module(variable[5])(variable[5]) /*MMLocalProperty::module*/;
1106 variable[5] = CALL_abstractmetamodel___MMModule___name(variable[5])(variable[5]) /*MMModule::name*/;
1107 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
1108 variable[6] = variable[0];
1109 variable[6] = CALL_abstractmetamodel___MMLocalProperty___local_class(variable[6])(variable[6]) /*MMLocalProperty::local_class*/;
1110 variable[6] = CALL_abstractmetamodel___MMLocalClass___name(variable[6])(variable[6]) /*MMLocalClass::name*/;
1111 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[6]) /*AbstractArray::add*/;
1112 variable[7] = variable[0];
1113 variable[7] = CALL_abstractmetamodel___MMLocalProperty___name(variable[7])(variable[7]) /*MMLocalProperty::name*/;
1114 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[7]) /*AbstractArray::add*/;
1115 variable[3] = CALL_utils___Object___cmangle(variable[3])(variable[3], variable[4]) /*Object::cmangle*/;
1116 ATTR_compiling_base___MMLocalProperty____cname_cache(variable[2]) /*MMLocalProperty::_cname_cache*/ = variable[3];
1117 }
1118 variable[2] = variable[0];
1119 variable[2] = ATTR_compiling_base___MMLocalProperty____cname_cache(variable[2]) /*MMLocalProperty::_cname_cache*/;
1120 variable[1] = variable[2];
1121 goto return_label28;
1122 return_label28: while(false);
1123 tracehead = trace.prev;
1124 return variable[1];
1125 }
1126 val_t compiling_base___MMLocalProperty___super_meth_call(val_t self) {
1127 struct trace_t trace = {NULL, NULL, 296, LOCATE_compiling_base___MMLocalProperty___super_meth_call};
1128 val_t variable[9];
1129 void **closurevariable = NULL;
1130 trace.prev = tracehead; tracehead = &trace;
1131 trace.file = LOCATE_compiling_base;
1132 variable[0] = self;
1133 variable[2] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
1134 variable[3] = NEW_String_string___String___with_native(BOX_NativeString("CALL_SUPER_"), TAG_Int(11)); /*new String*/
1135 variable[4] = variable[3];
1136 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[4]) /*AbstractArray::add*/;
1137 variable[5] = variable[0];
1138 variable[5] = CALL_compiling_base___MMLocalProperty___cname(variable[5])(variable[5]) /*MMLocalProperty::cname*/;
1139 variable[6] = variable[5];
1140 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[6]) /*AbstractArray::add*/;
1141 variable[7] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1142 variable[8] = variable[7];
1143 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[8]) /*AbstractArray::add*/;
1144 variable[2] = CALL_string___Object___to_s(variable[2])(variable[2]) /*Object::to_s*/;
1145 variable[1] = variable[2];
1146 goto return_label29;
1147 return_label29: while(false);
1148 tracehead = trace.prev;
1149 return variable[1];
1150 }