new c_src
[nit.git] / c_src / abstracttool._sep.c
1 /* This C file is generated by NIT to compile module abstracttool. */
2 #include "abstracttool._sep.h"
3 void abstracttool___AbstractCompiler___init(val_t self, int* init_table) {
4 struct trace_t trace = {NULL, NULL, 28, LOCATE_abstracttool___AbstractCompiler___init};
5 val_t variable[4];
6 void **closurevariable = NULL;
7 trace.prev = tracehead; tracehead = &trace;
8 trace.file = LOCATE_abstracttool;
9 variable[0] = self;
10 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_AbstractCompiler].i]) return;
11 CALL_mmloader___ToolContext___init(variable[0])(variable[0], init_table /*YYY*/) /*ToolContext::init*/;
12 variable[2] = variable[0];
13 variable[3] = NEW_SrcModuleLoader_syntax___SrcModuleLoader___init(); /*new SrcModuleLoader*/
14 CALL_mmloader___ToolContext___register_loader(variable[2])(variable[2], variable[3]) /*ToolContext::register_loader*/;
15 return_label0: while(false);
16 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_AbstractCompiler].i] = 1;
17 tracehead = trace.prev;
18 return;
19 }
20 void abstracttool___AbstractCompiler___exec_cmd_line(val_t self) {
21 struct trace_t trace = {NULL, NULL, 34, LOCATE_abstracttool___AbstractCompiler___exec_cmd_line};
22 val_t variable[14];
23 void **closurevariable = NULL;
24 trace.prev = tracehead; tracehead = &trace;
25 trace.file = LOCATE_abstracttool;
26 variable[0] = self;
27 variable[2] = variable[0];
28 CALL_mmloader___ToolContext___process_options(variable[2])(variable[2]) /*ToolContext::process_options*/;
29 variable[2] = variable[0];
30 variable[2] = CALL_mmloader___ToolContext___opt_help(variable[2])(variable[2]) /*ToolContext::opt_help*/;
31 variable[2] = CALL_opts___Option___value(variable[2])(variable[2]) /*Option::value*/;
32 if (UNTAG_Bool(variable[2])) { /*if*/
33 variable[2] = variable[0];
34 variable[2] = CALL_mmloader___ToolContext___option_context(variable[2])(variable[2]) /*ToolContext::option_context*/;
35 CALL_opts___OptionContext___usage(variable[2])(variable[2]) /*OptionContext::usage*/;
36 variable[2] = variable[0];
37 exit(UNTAG_Int( TAG_Int(0)));
38 }
39 variable[2] = variable[0];
40 variable[2] = CALL_mmloader___ToolContext___option_context(variable[2])(variable[2]) /*ToolContext::option_context*/;
41 variable[2] = CALL_opts___OptionContext___rest(variable[2])(variable[2]) /*OptionContext::rest*/;
42 variable[2] = CALL_abstract_collection___Collection___length(variable[2])(variable[2]) /*AbstractArray::length*/;
43 variable[2] = TAG_Bool((variable[2])==( TAG_Int(0)));
44 if (UNTAG_Bool(variable[2])) { /*if*/
45 variable[2] = variable[0];
46 variable[2] = CALL_mmloader___ToolContext___option_context(variable[2])(variable[2]) /*ToolContext::option_context*/;
47 CALL_opts___OptionContext___usage(variable[2])(variable[2]) /*OptionContext::usage*/;
48 variable[2] = variable[0];
49 exit(UNTAG_Int( TAG_Int(1)));
50 }
51 variable[3] = variable[0];
52 variable[3] = CALL_mmloader___ToolContext___option_context(variable[3])(variable[3]) /*ToolContext::option_context*/;
53 variable[3] = CALL_opts___OptionContext___rest(variable[3])(variable[3]) /*OptionContext::rest*/;
54 variable[2] = variable[3];
55 variable[4] = NEW_Array_array___Array___init(); /*new Array[MMModule]*/
56 variable[3] = variable[4];
57 variable[4] = CALL_abstract_collection___Collection___length( variable[2] /*rest*/)( variable[2] /*rest*/) /*AbstractArray::length*/;
58 variable[5] = NEW_Range_range___Range___without_last( TAG_Int(0), variable[4]); /*new Range[Int]*/
59 variable[4] = variable[5];
60 variable[4] = CALL_abstract_collection___Collection___iterator(variable[4])(variable[4]) /*Range::iterator*/;
61 while (true) { /*for*/
62 variable[5] = CALL_abstract_collection___Iterator___is_ok(variable[4])(variable[4]) /*Iterator::is_ok*/;
63 if (!UNTAG_Bool(variable[5])) break; /*for*/
64 variable[5] = CALL_abstract_collection___Iterator___item(variable[4])(variable[4]) /*Iterator::item*/;
65 variable[6] = variable[5];
66 variable[8] = variable[0];
67 variable[9] = variable[2] /*rest*/;
68 variable[10] = variable[6] /*i*/;
69 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
70 variable[13] = variable[12];
71 if (UNTAG_Bool(variable[13])) { /* and */
72 variable[13] = variable[9];
73 variable[13] = ATTR_array___AbstractArray____length(variable[13]) /*AbstractArray::_length*/;
74 variable[13] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[13]));
75 }
76 variable[12] = variable[13];
77 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_abstracttool, 229); nit_exit(1);}
78 variable[12] = variable[9];
79 variable[12] = ATTR_array___Array____items(variable[12]) /*Array::_items*/;
80 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
81 variable[11] = variable[12];
82 goto return_label3;
83 return_label3: while(false);
84 variable[9] = variable[11];
85 variable[8] = CALL_mmloader___ToolContext___get_module_from_filename(variable[8])(variable[8], variable[9]) /*ToolContext::get_module_from_filename*/;
86 variable[7] = variable[8];
87 CALL_abstract_collection___SimpleCollection___add( variable[3] /*to_do*/)( variable[3] /*to_do*/, variable[7] /*mod*/) /*AbstractArray::add*/;
88 continue_2: while(0);
89 CALL_abstract_collection___Iterator___next(variable[4])(variable[4]) /*Iterator::next*/;
90 }
91 break_2: while(0);
92 variable[4] = variable[0];
93 variable[4] = CALL_mmloader___ToolContext___opt_log(variable[4])(variable[4]) /*ToolContext::opt_log*/;
94 variable[4] = CALL_opts___Option___value(variable[4])(variable[4]) /*Option::value*/;
95 if (UNTAG_Bool(variable[4])) { /*if*/
96 variable[4] = variable[0];
97 CALL_abstracttool___AbstractCompiler___dump_context_info(variable[4])(variable[4]) /*AbstractCompiler::dump_context_info*/;
98 }
99 variable[4] = CALL_abstract_collection___Collection___is_empty( variable[3] /*to_do*/)( variable[3] /*to_do*/) /*AbstractArray::is_empty*/;
100 variable[4] = TAG_Bool(!UNTAG_Bool(variable[4]));
101 if (UNTAG_Bool(variable[4])) { /* and */
102 variable[4] = variable[0];
103 variable[4] = CALL_mmloader___ToolContext___opt_only_metamodel(variable[4])(variable[4]) /*ToolContext::opt_only_metamodel*/;
104 variable[4] = CALL_opts___Option___value(variable[4])(variable[4]) /*Option::value*/;
105 variable[4] = TAG_Bool(!UNTAG_Bool(variable[4]));
106 }
107 variable[5] = variable[4];
108 if (UNTAG_Bool(variable[5])) { /* and */
109 variable[5] = variable[0];
110 variable[5] = CALL_mmloader___ToolContext___opt_only_parse(variable[5])(variable[5]) /*ToolContext::opt_only_parse*/;
111 variable[5] = CALL_opts___Option___value(variable[5])(variable[5]) /*Option::value*/;
112 variable[5] = TAG_Bool(!UNTAG_Bool(variable[5]));
113 }
114 variable[4] = variable[5];
115 if (UNTAG_Bool(variable[4])) { /*if*/
116 variable[4] = variable[0];
117 CALL_abstracttool___AbstractCompiler___perform_work(variable[4])(variable[4], variable[3] /*to_do*/) /*AbstractCompiler::perform_work*/;
118 }
119 return_label1: while(false);
120 tracehead = trace.prev;
121 return;
122 }
123 void abstracttool___AbstractCompiler___perform_work(val_t self, val_t param0) {
124 struct trace_t trace = {NULL, NULL, 63, LOCATE_abstracttool___AbstractCompiler___perform_work};
125 val_t *variable = NULL;
126 void **closurevariable = NULL;
127 trace.prev = tracehead; tracehead = &trace;
128 trace.file = LOCATE_abstracttool;
129 fprintf(stderr, "Deferred method called");
130 fprintf(stderr, " (%s:%d)\n", LOCATE_abstracttool, 63);
131 nit_exit(1);
132 tracehead = trace.prev;
133 return;
134 }
135 void abstracttool___AbstractCompiler___dump_context_info(val_t self) {
136 struct trace_t trace = {NULL, NULL, 65, LOCATE_abstracttool___AbstractCompiler___dump_context_info};
137 val_t variable[11];
138 void **closurevariable = NULL;
139 trace.prev = tracehead; tracehead = &trace;
140 trace.file = LOCATE_abstracttool;
141 variable[0] = self;
142 variable[2] = variable[0];
143 variable[2] = CALL_abstractmetamodel___MMContext___module_hierarchy(variable[2])(variable[2]) /*MMContext::module_hierarchy*/;
144 variable[2] = CALL_abstract_collection___Collection___iterator(variable[2])(variable[2]) /*PartialOrder::iterator*/;
145 while (true) { /*for*/
146 variable[3] = CALL_abstract_collection___Iterator___is_ok(variable[2])(variable[2]) /*Iterator::is_ok*/;
147 if (!UNTAG_Bool(variable[3])) break; /*for*/
148 variable[3] = CALL_abstract_collection___Iterator___item(variable[2])(variable[2]) /*Iterator::item*/;
149 variable[4] = variable[3];
150 CALL_abstracttool___MMModule___dump_module_info( variable[4] /*mod*/)( variable[4] /*mod*/) /*MMModule::dump_module_info*/;
151 continue_5: while(0);
152 CALL_abstract_collection___Iterator___next(variable[2])(variable[2]) /*Iterator::next*/;
153 }
154 break_5: while(0);
155 variable[3] = NEW_Array_array___Array___init(); /*new Array[MMModule]*/
156 variable[2] = variable[3];
157 variable[3] = variable[0];
158 variable[3] = CALL_abstractmetamodel___MMContext___module_hierarchy(variable[3])(variable[3]) /*MMContext::module_hierarchy*/;
159 CALL_abstract_collection___SimpleCollection___add_all( variable[2] /*tab*/)( variable[2] /*tab*/, variable[3]) /*SimpleCollection::add_all*/;
160 variable[4] = variable[0];
161 variable[4] = CALL_abstractmetamodel___MMContext___module_hierarchy(variable[4])(variable[4]) /*MMContext::module_hierarchy*/;
162 variable[4] = CALL_partial_order___PartialOrder___select_smallests(variable[4])(variable[4], variable[2] /*tab*/) /*PartialOrder::select_smallests*/;
163 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("-"), TAG_Int(1)); /*new String*/
164 variable[4] = CALL_string___Collection___join(variable[4])(variable[4], variable[5]) /*Collection::join*/;
165 variable[3] = variable[4];
166 variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
167 variable[6] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
168 variable[7] = variable[6];
169 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[7]) /*AbstractArray::add*/;
170 variable[8] = variable[3] /*name*/;
171 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[8]) /*AbstractArray::add*/;
172 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(".full_class_hierarchy.new.dot"), TAG_Int(29)); /*new String*/
173 variable[10] = variable[9];
174 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[10]) /*AbstractArray::add*/;
175 variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
176 variable[6] = NEW_OFStream_file___OFStream___open(variable[5]); /*new OFStream*/
177 variable[5] = variable[6];
178 variable[4] = variable[5];
179 variable[5] = variable[0];
180 variable[5] = CALL_abstractmetamodel___MMContext___class_hierarchy(variable[5])(variable[5]) /*MMContext::class_hierarchy*/;
181 variable[5] = CALL_partial_order___PartialOrder___to_dot(variable[5])(variable[5]) /*PartialOrder::to_dot*/;
182 CALL_stream___OStream___write( variable[4] /*f*/)( variable[4] /*f*/, variable[5]) /*OFStream::write*/;
183 CALL_stream___IOS___close( variable[4] /*f*/)( variable[4] /*f*/) /*OFStream::close*/;
184 variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
185 variable[6] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
186 variable[7] = variable[6];
187 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[7]) /*AbstractArray::add*/;
188 variable[8] = variable[3] /*name*/;
189 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[8]) /*AbstractArray::add*/;
190 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(".module_hierarchy.new.dot"), TAG_Int(25)); /*new String*/
191 variable[10] = variable[9];
192 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[10]) /*AbstractArray::add*/;
193 variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
194 variable[6] = NEW_OFStream_file___OFStream___open(variable[5]); /*new OFStream*/
195 variable[5] = variable[6];
196 variable[4] = variable[5] /*f=*/;
197 variable[5] = variable[0];
198 variable[5] = CALL_abstractmetamodel___MMContext___module_hierarchy(variable[5])(variable[5]) /*MMContext::module_hierarchy*/;
199 variable[5] = CALL_partial_order___PartialOrder___to_dot(variable[5])(variable[5]) /*PartialOrder::to_dot*/;
200 CALL_stream___OStream___write( variable[4] /*f*/)( variable[4] /*f*/, variable[5]) /*OFStream::write*/;
201 CALL_stream___IOS___close( variable[4] /*f*/)( variable[4] /*f*/) /*OFStream::close*/;
202 return_label4: while(false);
203 tracehead = trace.prev;
204 return;
205 }
206 void abstracttool___MMModule___dump_module_info(val_t self) {
207 struct trace_t trace = {NULL, NULL, 85, LOCATE_abstracttool___MMModule___dump_module_info};
208 val_t variable[14];
209 void **closurevariable = NULL;
210 trace.prev = tracehead; tracehead = &trace;
211 trace.file = LOCATE_abstracttool;
212 variable[0] = self;
213 variable[3] = variable[0];
214 variable[3] = CALL_mmloader___MMModule___filename(variable[3])(variable[3]) /*MMModule::filename*/;
215 variable[3] = CALL_file___String___file_path(variable[3])(variable[3]) /*String::file_path*/;
216 variable[2] = variable[3];
217 variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
218 variable[5] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
219 variable[6] = variable[5];
220 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[6]) /*AbstractArray::add*/;
221 variable[7] = variable[2] /*p*/;
222 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[7]) /*AbstractArray::add*/;
223 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
224 variable[9] = variable[8];
225 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[9]) /*AbstractArray::add*/;
226 variable[10] = variable[0];
227 variable[10] = CALL_abstractmetamodel___MMModule___name(variable[10])(variable[10]) /*MMModule::name*/;
228 variable[11] = variable[10];
229 variable[11] = CALL_string___Object___to_s(variable[11])(variable[11]) /*Object::to_s*/;
230 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[11]) /*AbstractArray::add*/;
231 variable[12] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
232 variable[13] = variable[12];
233 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[13]) /*AbstractArray::add*/;
234 variable[4] = CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/;
235 variable[3] = variable[4];
236 variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
237 variable[6] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
238 variable[7] = variable[6];
239 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[7]) /*AbstractArray::add*/;
240 variable[8] = variable[3] /*fname*/;
241 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[8]) /*AbstractArray::add*/;
242 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(".class_hierarchy.new.dot"), TAG_Int(24)); /*new String*/
243 variable[10] = variable[9];
244 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[10]) /*AbstractArray::add*/;
245 variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
246 variable[6] = NEW_OFStream_file___OFStream___open(variable[5]); /*new OFStream*/
247 variable[5] = variable[6];
248 variable[4] = variable[5];
249 variable[5] = variable[0];
250 variable[5] = CALL_abstractmetamodel___MMModule___class_specialization_hierarchy(variable[5])(variable[5]) /*MMModule::class_specialization_hierarchy*/;
251 variable[5] = CALL_partial_order___PartialOrder___to_dot(variable[5])(variable[5]) /*PartialOrder::to_dot*/;
252 CALL_stream___OStream___write( variable[4] /*f*/)( variable[4] /*f*/, variable[5]) /*OFStream::write*/;
253 CALL_stream___IOS___close( variable[4] /*f*/)( variable[4] /*f*/) /*OFStream::close*/;
254 variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
255 variable[6] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
256 variable[7] = variable[6];
257 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[7]) /*AbstractArray::add*/;
258 variable[8] = variable[3] /*fname*/;
259 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[8]) /*AbstractArray::add*/;
260 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(".properties.log"), TAG_Int(15)); /*new String*/
261 variable[10] = variable[9];
262 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[10]) /*AbstractArray::add*/;
263 variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
264 variable[6] = NEW_OFStream_file___OFStream___open(variable[5]); /*new OFStream*/
265 variable[5] = variable[6];
266 variable[4] = variable[5] /*f=*/;
267 variable[5] = variable[0];
268 variable[5] = CALL_abstractmetamodel___MMModule___local_classes(variable[5])(variable[5]) /*MMModule::local_classes*/;
269 variable[5] = CALL_abstract_collection___Collection___iterator(variable[5])(variable[5]) /*AbstractArray::iterator*/;
270 while (true) { /*for*/
271 variable[6] = CALL_abstract_collection___Iterator___is_ok(variable[5])(variable[5]) /*ArrayIterator::is_ok*/;
272 if (!UNTAG_Bool(variable[6])) break; /*for*/
273 variable[6] = CALL_abstract_collection___Iterator___item(variable[5])(variable[5]) /*ArrayIterator::item*/;
274 variable[7] = variable[6];
275 CALL_abstracttool___MMLocalClass___dump_properties( variable[7] /*cla*/)( variable[7] /*cla*/, variable[4] /*f*/) /*MMLocalClass::dump_properties*/;
276 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("\n"), TAG_Int(1)); /*new String*/
277 CALL_stream___OStream___write( variable[4] /*f*/)( variable[4] /*f*/, variable[8]) /*OFStream::write*/;
278 continue_7: while(0);
279 CALL_abstract_collection___Iterator___next(variable[5])(variable[5]) /*ArrayIterator::next*/;
280 }
281 break_7: while(0);
282 CALL_stream___IOS___close( variable[4] /*f*/)( variable[4] /*f*/) /*OFStream::close*/;
283 return_label6: while(false);
284 tracehead = trace.prev;
285 return;
286 }
287 void abstracttool___MMLocalClass___dump_properties(val_t self, val_t param0) {
288 struct trace_t trace = {NULL, NULL, 103, LOCATE_abstracttool___MMLocalClass___dump_properties};
289 val_t variable[17];
290 void **closurevariable = NULL;
291 trace.prev = tracehead; tracehead = &trace;
292 trace.file = LOCATE_abstracttool;
293 variable[0] = self;
294 variable[1] = param0;
295 variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
296 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("class "), TAG_Int(6)); /*new String*/
297 variable[5] = variable[4];
298 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[5]) /*AbstractArray::add*/;
299 variable[6] = variable[0];
300 variable[7] = variable[6];
301 variable[7] = CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/;
302 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[7]) /*AbstractArray::add*/;
303 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("\n"), TAG_Int(1)); /*new String*/
304 variable[9] = variable[8];
305 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[9]) /*AbstractArray::add*/;
306 variable[3] = CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/;
307 CALL_stream___OStream___write( variable[1] /*file*/)( variable[1] /*file*/, variable[3]) /*OStream::write*/;
308 variable[3] = variable[0];
309 variable[3] = CALL_abstractmetamodel___MMLocalClass___global_properties(variable[3])(variable[3]) /*MMLocalClass::global_properties*/;
310 variable[3] = CALL_abstract_collection___Collection___iterator(variable[3])(variable[3]) /*Collection::iterator*/;
311 while (true) { /*for*/
312 variable[4] = CALL_abstract_collection___Iterator___is_ok(variable[3])(variable[3]) /*Iterator::is_ok*/;
313 if (!UNTAG_Bool(variable[4])) break; /*for*/
314 variable[4] = CALL_abstract_collection___Iterator___item(variable[3])(variable[3]) /*Iterator::item*/;
315 variable[5] = variable[4];
316 variable[7] = variable[0];
317 variable[7] = CALL_abstractmetamodel___MMLocalClass_____bra(variable[7])(variable[7], variable[5] /*p*/) /*MMLocalClass::[]*/;
318 variable[6] = variable[7];
319 variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
320 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("\t"), TAG_Int(1)); /*new String*/
321 variable[9] = variable[8];
322 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[9]) /*AbstractArray::add*/;
323 variable[10] = variable[6] /*lp*/;
324 variable[10] = CALL_string___Object___to_s(variable[10])(variable[10]) /*Object::to_s*/;
325 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[10]) /*AbstractArray::add*/;
326 variable[11] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
327 variable[12] = variable[11];
328 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[12]) /*AbstractArray::add*/;
329 variable[13] = variable[0];
330 variable[13] = CALL_static_type___MMLocalClass___get_type(variable[13])(variable[13]) /*MMLocalClass::get_type*/;
331 variable[13] = CALL_static_type___MMLocalProperty___signature_for( variable[6] /*lp*/)( variable[6] /*lp*/, variable[13]) /*MMLocalProperty::signature_for*/;
332 variable[14] = variable[13];
333 variable[14] = CALL_string___Object___to_s(variable[14])(variable[14]) /*Object::to_s*/;
334 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[14]) /*AbstractArray::add*/;
335 variable[15] = NEW_String_string___String___with_native(BOX_NativeString("\n"), TAG_Int(1)); /*new String*/
336 variable[16] = variable[15];
337 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[16]) /*AbstractArray::add*/;
338 variable[7] = CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/;
339 CALL_stream___OStream___write( variable[1] /*file*/)( variable[1] /*file*/, variable[7]) /*OStream::write*/;
340 continue_9: while(0);
341 CALL_abstract_collection___Iterator___next(variable[3])(variable[3]) /*Iterator::next*/;
342 }
343 break_9: while(0);
344 variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
345 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("end # "), TAG_Int(6)); /*new String*/
346 variable[5] = variable[4];
347 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[5]) /*AbstractArray::add*/;
348 variable[6] = variable[0];
349 variable[7] = variable[6];
350 variable[7] = CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/;
351 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[7]) /*AbstractArray::add*/;
352 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("\n"), TAG_Int(1)); /*new String*/
353 variable[9] = variable[8];
354 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[9]) /*AbstractArray::add*/;
355 variable[3] = CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/;
356 CALL_stream___OStream___write( variable[1] /*file*/)( variable[1] /*file*/, variable[3]) /*OStream::write*/;
357 return_label8: while(false);
358 tracehead = trace.prev;
359 return;
360 }