Merge branch 'lib' into wip
[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 p0, val_t p1, int* init_table){
4 int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_abstracttool___AbstractCompiler].i;
5 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
6 val_t tmp;
7 if (init_table[itpos0]) return;
8 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9 fra.me.file = LOCATE_abstracttool;
10 fra.me.line = 29;
11 fra.me.meth = LOCATE_abstracttool___AbstractCompiler___init;
12 fra.me.has_broke = 0;
13 fra.me.REG_size = 3;
14 fra.me.REG[0] = NIT_NULL;
15 fra.me.REG[1] = NIT_NULL;
16 fra.me.REG[2] = NIT_NULL;
17 fra.me.REG[0] = p0;
18 fra.me.REG[1] = p1;
19 /* ./abstracttool.nit:29 */
20 fra.me.REG[2] = fra.me.REG[0];
21 /* ./abstracttool.nit:31 */
22 ATTR_abstracttool___AbstractCompiler____tool_name(fra.me.REG[2]) = fra.me.REG[1];
23 /* ./abstracttool.nit:32 */
24 CALL_mmloader___ToolContext___init(fra.me.REG[0])(fra.me.REG[0], init_table);
25 /* ./abstracttool.nit:33 */
26 fra.me.REG[0] = NEW_SrcModuleLoader_syntax___SrcModuleLoader___init();
27 CALL_mmloader___ToolContext___register_loader(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
28 stack_frame_head = fra.me.prev;
29 init_table[itpos0] = 1;
30 return;
31 }
32 val_t abstracttool___AbstractCompiler___tool_name(val_t p0){
33 struct {struct stack_frame_t me;} fra;
34 val_t REGB0;
35 val_t tmp;
36 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37 fra.me.file = LOCATE_abstracttool;
38 fra.me.line = 36;
39 fra.me.meth = LOCATE_abstracttool___AbstractCompiler___tool_name;
40 fra.me.has_broke = 0;
41 fra.me.REG_size = 1;
42 fra.me.REG[0] = NIT_NULL;
43 fra.me.REG[0] = p0;
44 /* ./abstracttool.nit:36 */
45 REGB0 = TAG_Bool(ATTR_abstracttool___AbstractCompiler____tool_name(fra.me.REG[0])!=NIT_NULL);
46 if (UNTAG_Bool(REGB0)) {
47 } else {
48 nit_abort("Uninitialized attribute %s", "_tool_name", LOCATE_abstracttool, 36);
49 }
50 fra.me.REG[0] = ATTR_abstracttool___AbstractCompiler____tool_name(fra.me.REG[0]);
51 stack_frame_head = fra.me.prev;
52 return fra.me.REG[0];
53 }
54 void abstracttool___AbstractCompiler___exec_cmd_line(val_t p0){
55 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
56 val_t REGB0;
57 val_t REGB1;
58 val_t REGB2;
59 val_t REGB3;
60 val_t REGB4;
61 val_t tmp;
62 static val_t once_value_1; /* Once value */
63 static val_t once_value_2; /* Once value */
64 static val_t once_value_3; /* Once value */
65 static val_t once_value_4; /* Once value */
66 static val_t once_value_5; /* Once value */
67 static val_t once_value_6; /* Once value */
68 static val_t once_value_7; /* Once value */
69 static val_t once_value_8; /* Once value */
70 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
71 fra.me.file = LOCATE_abstracttool;
72 fra.me.line = 40;
73 fra.me.meth = LOCATE_abstracttool___AbstractCompiler___exec_cmd_line;
74 fra.me.has_broke = 0;
75 fra.me.REG_size = 4;
76 fra.me.REG[0] = NIT_NULL;
77 fra.me.REG[1] = NIT_NULL;
78 fra.me.REG[2] = NIT_NULL;
79 fra.me.REG[3] = NIT_NULL;
80 fra.me.REG[0] = p0;
81 /* ./abstracttool.nit:42 */
82 CALL_mmloader___ToolContext___process_options(fra.me.REG[0])(fra.me.REG[0]);
83 /* ./abstracttool.nit:44 */
84 fra.me.REG[1] = CALL_mmloader___ToolContext___opt_version(fra.me.REG[0])(fra.me.REG[0]);
85 fra.me.REG[1] = CALL_opts___Option___value(fra.me.REG[1])(fra.me.REG[1]);
86 if (UNTAG_Bool(fra.me.REG[1])) {
87 /* ./abstracttool.nit:45 */
88 REGB0 = TAG_Int(5);
89 fra.me.REG[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
90 if (!once_value_1) {
91 fra.me.REG[2] = BOX_NativeString("");
92 REGB0 = TAG_Int(0);
93 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
94 once_value_1 = fra.me.REG[2];
95 register_static_object(&once_value_1);
96 } else fra.me.REG[2] = once_value_1;
97 fra.me.REG[2] = fra.me.REG[2];
98 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
99 fra.me.REG[2] = CALL_abstracttool___AbstractCompiler___tool_name(fra.me.REG[0])(fra.me.REG[0]);
100 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
101 if (!once_value_2) {
102 fra.me.REG[2] = BOX_NativeString(" version ");
103 REGB0 = TAG_Int(9);
104 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
105 once_value_2 = fra.me.REG[2];
106 register_static_object(&once_value_2);
107 } else fra.me.REG[2] = once_value_2;
108 fra.me.REG[2] = fra.me.REG[2];
109 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
110 fra.me.REG[2] = CALL_nit_version___Object___nit_version(fra.me.REG[0])(fra.me.REG[0]);
111 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
112 if (!once_value_3) {
113 fra.me.REG[2] = BOX_NativeString("");
114 REGB0 = TAG_Int(0);
115 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
116 once_value_3 = fra.me.REG[2];
117 register_static_object(&once_value_3);
118 } else fra.me.REG[2] = once_value_3;
119 fra.me.REG[2] = fra.me.REG[2];
120 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
121 fra.me.REG[1] = CALL_standard___string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
122 CALL_standard___file___Object___print(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
123 /* ./abstracttool.nit:46 */
124 REGB0 = TAG_Int(0);
125 CALL_standard___kernel___Object___exit(fra.me.REG[0])(fra.me.REG[0], REGB0);
126 }
127 /* ./abstracttool.nit:49 */
128 fra.me.REG[1] = CALL_mmloader___ToolContext___opt_help(fra.me.REG[0])(fra.me.REG[0]);
129 fra.me.REG[1] = CALL_opts___Option___value(fra.me.REG[1])(fra.me.REG[1]);
130 if (UNTAG_Bool(fra.me.REG[1])) {
131 /* ./abstracttool.nit:50 */
132 REGB0 = TAG_Int(3);
133 fra.me.REG[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
134 if (!once_value_4) {
135 fra.me.REG[2] = BOX_NativeString("usage: ");
136 REGB0 = TAG_Int(7);
137 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
138 once_value_4 = fra.me.REG[2];
139 register_static_object(&once_value_4);
140 } else fra.me.REG[2] = once_value_4;
141 fra.me.REG[2] = fra.me.REG[2];
142 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
143 fra.me.REG[2] = CALL_abstracttool___AbstractCompiler___tool_name(fra.me.REG[0])(fra.me.REG[0]);
144 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
145 if (!once_value_5) {
146 fra.me.REG[2] = BOX_NativeString(" [options] file...");
147 REGB0 = TAG_Int(18);
148 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
149 once_value_5 = fra.me.REG[2];
150 register_static_object(&once_value_5);
151 } else fra.me.REG[2] = once_value_5;
152 fra.me.REG[2] = fra.me.REG[2];
153 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
154 fra.me.REG[1] = CALL_standard___string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
155 CALL_standard___file___Object___print(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
156 /* ./abstracttool.nit:51 */
157 fra.me.REG[1] = CALL_mmloader___ToolContext___option_context(fra.me.REG[0])(fra.me.REG[0]);
158 CALL_opts___OptionContext___usage(fra.me.REG[1])(fra.me.REG[1]);
159 /* ./abstracttool.nit:52 */
160 REGB0 = TAG_Int(0);
161 CALL_standard___kernel___Object___exit(fra.me.REG[0])(fra.me.REG[0], REGB0);
162 }
163 /* ./abstracttool.nit:55 */
164 fra.me.REG[1] = CALL_mmloader___ToolContext___option_context(fra.me.REG[0])(fra.me.REG[0]);
165 fra.me.REG[1] = CALL_opts___OptionContext___rest(fra.me.REG[1])(fra.me.REG[1]);
166 /* ./../lib/standard//collection//array.nit:23 */
167 REGB0 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
168 if (UNTAG_Bool(REGB0)) {
169 } else {
170 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 23);
171 }
172 REGB0 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1]);
173 /* ./abstracttool.nit:55 */
174 REGB1 = TAG_Int(0);
175 REGB2 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1));
176 if (UNTAG_Bool(REGB2)) {
177 } else {
178 /* ./../lib/standard//kernel.nit:210 */
179 REGB1 = TAG_Bool((REGB0)==(REGB1));
180 /* ./abstracttool.nit:55 */
181 REGB2 = REGB1;
182 }
183 if (UNTAG_Bool(REGB2)) {
184 /* ./abstracttool.nit:56 */
185 REGB2 = TAG_Int(3);
186 fra.me.REG[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2);
187 if (!once_value_6) {
188 fra.me.REG[2] = BOX_NativeString("usage: ");
189 REGB2 = TAG_Int(7);
190 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB2);
191 once_value_6 = fra.me.REG[2];
192 register_static_object(&once_value_6);
193 } else fra.me.REG[2] = once_value_6;
194 fra.me.REG[2] = fra.me.REG[2];
195 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
196 fra.me.REG[2] = CALL_abstracttool___AbstractCompiler___tool_name(fra.me.REG[0])(fra.me.REG[0]);
197 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
198 if (!once_value_7) {
199 fra.me.REG[2] = BOX_NativeString(" [options] file...");
200 REGB2 = TAG_Int(18);
201 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB2);
202 once_value_7 = fra.me.REG[2];
203 register_static_object(&once_value_7);
204 } else fra.me.REG[2] = once_value_7;
205 fra.me.REG[2] = fra.me.REG[2];
206 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
207 fra.me.REG[1] = CALL_standard___string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
208 CALL_standard___file___Object___print(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
209 /* ./abstracttool.nit:57 */
210 fra.me.REG[1] = CALL_mmloader___ToolContext___option_context(fra.me.REG[0])(fra.me.REG[0]);
211 CALL_opts___OptionContext___usage(fra.me.REG[1])(fra.me.REG[1]);
212 /* ./abstracttool.nit:58 */
213 REGB2 = TAG_Int(1);
214 CALL_standard___kernel___Object___exit(fra.me.REG[0])(fra.me.REG[0], REGB2);
215 }
216 /* ./abstracttool.nit:61 */
217 fra.me.REG[1] = CALL_mmloader___ToolContext___option_context(fra.me.REG[0])(fra.me.REG[0]);
218 fra.me.REG[1] = CALL_opts___OptionContext___rest(fra.me.REG[1])(fra.me.REG[1]);
219 /* ./abstracttool.nit:62 */
220 fra.me.REG[2] = NEW_Array_standard___collection___array___Array___init();
221 /* ./abstracttool.nit:63 */
222 if (!once_value_8) {
223 fra.me.REG[3] = BOX_NativeString("Syntax analysis");
224 REGB2 = TAG_Int(15);
225 fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB2);
226 once_value_8 = fra.me.REG[3];
227 register_static_object(&once_value_8);
228 } else fra.me.REG[3] = once_value_8;
229 fra.me.REG[3] = fra.me.REG[3];
230 REGB2 = TAG_Int(1);
231 CALL_mmloader___ToolContext___info(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3], REGB2);
232 /* ./abstracttool.nit:64 */
233 REGB2 = TAG_Int(0);
234 /* ./../lib/standard//collection//array.nit:23 */
235 REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
236 if (UNTAG_Bool(REGB1)) {
237 } else {
238 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 23);
239 }
240 REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1]);
241 /* ./../lib/standard//kernel.nit:335 */
242 while(1) {
243 REGB0 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2), VTID_standard___kernel___Comparable___OTHER(REGB2))) /*cast OTHER*/;
244 if (UNTAG_Bool(REGB0)) {
245 } else {
246 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
247 }
248 /* ./../lib/standard//kernel.nit:215 */
249 REGB0 = TAG_Bool(UNTAG_Int(REGB2)<UNTAG_Int(REGB1));
250 /* ./../lib/standard//kernel.nit:335 */
251 if (UNTAG_Bool(REGB0)) {
252 /* ./abstracttool.nit:64 */
253 REGB0 = REGB2;
254 /* ./../lib/standard//collection//array.nit:241 */
255 fra.me.REG[3] = fra.me.REG[1];
256 /* ./../lib/standard//collection//array.nit:243 */
257 REGB3 = TAG_Int(0);
258 REGB4 = TAG_Bool(VAL_ISA(REGB3, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
259 if (UNTAG_Bool(REGB4)) {
260 } else {
261 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
262 }
263 /* ./../lib/standard//kernel.nit:216 */
264 REGB3 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB3));
265 /* ./../lib/standard//collection//array.nit:243 */
266 if (UNTAG_Bool(REGB3)) {
267 REGB3 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[3])!=NIT_NULL);
268 if (UNTAG_Bool(REGB3)) {
269 } else {
270 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
271 }
272 REGB3 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[3]);
273 REGB4 = TAG_Bool(VAL_ISA(REGB3, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
274 if (UNTAG_Bool(REGB4)) {
275 } else {
276 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
277 }
278 /* ./../lib/standard//kernel.nit:215 */
279 REGB3 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB3));
280 } else {
281 /* ./../lib/standard//collection//array.nit:243 */
282 REGB4 = TAG_Bool(false);
283 REGB3 = REGB4;
284 }
285 if (UNTAG_Bool(REGB3)) {
286 } else {
287 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array, 243);
288 }
289 /* ./../lib/standard//collection//array.nit:244 */
290 fra.me.REG[3] = ATTR_standard___collection___array___Array____items(fra.me.REG[3]);
291 REGB3 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
292 if (UNTAG_Bool(REGB3)) {
293 nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
294 }
295 /* ./../lib/standard//collection//array.nit:652 */
296 fra.me.REG[3] = ((Nit_NativeArray)fra.me.REG[3])->val[UNTAG_Int(REGB0)];
297 /* ./../lib/standard//collection//array.nit:244 */
298 goto label9;
299 label9: while(0);
300 /* ./abstracttool.nit:65 */
301 fra.me.REG[3] = CALL_mmloader___ToolContext___get_module_from_filename(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
302 /* ./abstracttool.nit:66 */
303 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
304 /* ./../lib/standard//kernel.nit:337 */
305 REGB0 = TAG_Int(1);
306 /* ./../lib/standard//kernel.nit:218 */
307 REGB0 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB0));
308 /* ./../lib/standard//kernel.nit:337 */
309 REGB2 = REGB0;
310 } else {
311 /* ./../lib/standard//kernel.nit:335 */
312 goto label10;
313 }
314 }
315 label10: while(0);
316 /* ./abstracttool.nit:68 */
317 fra.me.REG[1] = CALL_mmloader___ToolContext___opt_log(fra.me.REG[0])(fra.me.REG[0]);
318 fra.me.REG[1] = CALL_opts___Option___value(fra.me.REG[1])(fra.me.REG[1]);
319 if (UNTAG_Bool(fra.me.REG[1])) {
320 /* ./abstracttool.nit:69 */
321 CALL_abstracttool___AbstractCompiler___dump_context_info(fra.me.REG[0])(fra.me.REG[0]);
322 }
323 /* ./abstracttool.nit:72 */
324 REGB2 = CALL_standard___collection___abstract_collection___Collection___is_empty(fra.me.REG[2])(fra.me.REG[2]);
325 REGB2 = TAG_Bool(!UNTAG_Bool(REGB2));
326 if (UNTAG_Bool(REGB2)) {
327 fra.me.REG[1] = CALL_mmloader___ToolContext___opt_only_metamodel(fra.me.REG[0])(fra.me.REG[0]);
328 fra.me.REG[1] = CALL_opts___Option___value(fra.me.REG[1])(fra.me.REG[1]);
329 REGB2 = TAG_Bool(!UNTAG_Bool(fra.me.REG[1]));
330 } else {
331 REGB1 = TAG_Bool(false);
332 REGB2 = REGB1;
333 }
334 if (UNTAG_Bool(REGB2)) {
335 fra.me.REG[1] = CALL_mmloader___ToolContext___opt_only_parse(fra.me.REG[0])(fra.me.REG[0]);
336 fra.me.REG[1] = CALL_opts___Option___value(fra.me.REG[1])(fra.me.REG[1]);
337 REGB2 = TAG_Bool(!UNTAG_Bool(fra.me.REG[1]));
338 } else {
339 REGB1 = TAG_Bool(false);
340 REGB2 = REGB1;
341 }
342 if (UNTAG_Bool(REGB2)) {
343 /* ./abstracttool.nit:73 */
344 CALL_abstracttool___AbstractCompiler___perform_work(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
345 }
346 stack_frame_head = fra.me.prev;
347 return;
348 }
349 void abstracttool___AbstractCompiler___perform_work(val_t p0, val_t p1){
350 struct {struct stack_frame_t me;} fra;
351 val_t tmp;
352 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
353 fra.me.file = LOCATE_abstracttool;
354 fra.me.line = 77;
355 fra.me.meth = LOCATE_abstracttool___AbstractCompiler___perform_work;
356 fra.me.has_broke = 0;
357 fra.me.REG_size = 0;
358 /* ./abstracttool.nit:77 */
359 nit_abort("Deferred method called", NULL, LOCATE_abstracttool, 77);
360 stack_frame_head = fra.me.prev;
361 return;
362 }
363 void abstracttool___AbstractCompiler___dump_context_info(val_t p0){
364 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
365 val_t REGB0;
366 val_t tmp;
367 static val_t once_value_2; /* Once value */
368 static val_t once_value_3; /* Once value */
369 static val_t once_value_4; /* Once value */
370 static val_t once_value_5; /* Once value */
371 static val_t once_value_6; /* Once value */
372 static val_t once_value_7; /* Once value */
373 static val_t once_value_8; /* Once value */
374 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
375 fra.me.file = LOCATE_abstracttool;
376 fra.me.line = 79;
377 fra.me.meth = LOCATE_abstracttool___AbstractCompiler___dump_context_info;
378 fra.me.has_broke = 0;
379 fra.me.REG_size = 5;
380 fra.me.REG[0] = NIT_NULL;
381 fra.me.REG[1] = NIT_NULL;
382 fra.me.REG[2] = NIT_NULL;
383 fra.me.REG[3] = NIT_NULL;
384 fra.me.REG[4] = NIT_NULL;
385 fra.me.REG[0] = p0;
386 /* ./abstracttool.nit:81 */
387 fra.me.REG[1] = CALL_metamodel___abstractmetamodel___MMContext___module_hierarchy(fra.me.REG[0])(fra.me.REG[0]);
388 CALL_standard___collection___abstract_collection___Collection___iterate(fra.me.REG[1])(fra.me.REG[1], (&(fra.me)), ((fun_t)OC_abstracttool___AbstractCompiler___dump_context_info_1));
389 /* ./abstracttool.nit:84 */
390 fra.me.REG[1] = NEW_Array_standard___collection___array___Array___init();
391 /* ./abstracttool.nit:85 */
392 fra.me.REG[2] = CALL_metamodel___abstractmetamodel___MMContext___module_hierarchy(fra.me.REG[0])(fra.me.REG[0]);
393 CALL_standard___collection___abstract_collection___SimpleCollection___add_all(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
394 /* ./abstracttool.nit:86 */
395 fra.me.REG[2] = CALL_metamodel___abstractmetamodel___MMContext___module_hierarchy(fra.me.REG[0])(fra.me.REG[0]);
396 fra.me.REG[1] = CALL_metamodel___partial_order___PartialOrder___select_smallests(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
397 if (!once_value_2) {
398 fra.me.REG[2] = BOX_NativeString("-");
399 REGB0 = TAG_Int(1);
400 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
401 once_value_2 = fra.me.REG[2];
402 register_static_object(&once_value_2);
403 } else fra.me.REG[2] = once_value_2;
404 fra.me.REG[2] = fra.me.REG[2];
405 fra.me.REG[2] = CALL_standard___string___Collection___join(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
406 /* ./abstracttool.nit:88 */
407 REGB0 = TAG_Int(5);
408 fra.me.REG[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
409 if (!once_value_3) {
410 fra.me.REG[3] = BOX_NativeString("");
411 REGB0 = TAG_Int(0);
412 fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB0);
413 once_value_3 = fra.me.REG[3];
414 register_static_object(&once_value_3);
415 } else fra.me.REG[3] = once_value_3;
416 fra.me.REG[3] = fra.me.REG[3];
417 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
418 fra.me.REG[3] = CALL_mmloader___ToolContext___log_directory(fra.me.REG[0])(fra.me.REG[0]);
419 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
420 if (!once_value_4) {
421 fra.me.REG[3] = BOX_NativeString("/");
422 REGB0 = TAG_Int(1);
423 fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB0);
424 once_value_4 = fra.me.REG[3];
425 register_static_object(&once_value_4);
426 } else fra.me.REG[3] = once_value_4;
427 fra.me.REG[3] = fra.me.REG[3];
428 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
429 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
430 if (!once_value_5) {
431 fra.me.REG[3] = BOX_NativeString(".full_class_hierarchy.new.dot");
432 REGB0 = TAG_Int(29);
433 fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB0);
434 once_value_5 = fra.me.REG[3];
435 register_static_object(&once_value_5);
436 } else fra.me.REG[3] = once_value_5;
437 fra.me.REG[3] = fra.me.REG[3];
438 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
439 fra.me.REG[1] = CALL_standard___string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
440 fra.me.REG[1] = NEW_OFStream_standard___file___OFStream___open(fra.me.REG[1]);
441 /* ./abstracttool.nit:89 */
442 fra.me.REG[3] = CALL_metamodel___abstractmetamodel___MMContext___class_hierarchy(fra.me.REG[0])(fra.me.REG[0]);
443 fra.me.REG[3] = CALL_metamodel___partial_order___PartialOrder___to_dot(fra.me.REG[3])(fra.me.REG[3]);
444 CALL_standard___stream___OStream___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
445 /* ./abstracttool.nit:90 */
446 CALL_standard___stream___IOS___close(fra.me.REG[1])(fra.me.REG[1]);
447 /* ./abstracttool.nit:92 */
448 REGB0 = TAG_Int(5);
449 fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
450 if (!once_value_6) {
451 fra.me.REG[4] = BOX_NativeString("");
452 REGB0 = TAG_Int(0);
453 fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB0);
454 once_value_6 = fra.me.REG[4];
455 register_static_object(&once_value_6);
456 } else fra.me.REG[4] = once_value_6;
457 fra.me.REG[4] = fra.me.REG[4];
458 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
459 fra.me.REG[4] = CALL_mmloader___ToolContext___log_directory(fra.me.REG[0])(fra.me.REG[0]);
460 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
461 if (!once_value_7) {
462 fra.me.REG[4] = BOX_NativeString("/");
463 REGB0 = TAG_Int(1);
464 fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB0);
465 once_value_7 = fra.me.REG[4];
466 register_static_object(&once_value_7);
467 } else fra.me.REG[4] = once_value_7;
468 fra.me.REG[4] = fra.me.REG[4];
469 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
470 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
471 if (!once_value_8) {
472 fra.me.REG[2] = BOX_NativeString(".module_hierarchy.new.dot");
473 REGB0 = TAG_Int(25);
474 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
475 once_value_8 = fra.me.REG[2];
476 register_static_object(&once_value_8);
477 } else fra.me.REG[2] = once_value_8;
478 fra.me.REG[2] = fra.me.REG[2];
479 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
480 fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
481 fra.me.REG[3] = NEW_OFStream_standard___file___OFStream___open(fra.me.REG[3]);
482 fra.me.REG[1] = fra.me.REG[3];
483 /* ./abstracttool.nit:93 */
484 fra.me.REG[0] = CALL_metamodel___abstractmetamodel___MMContext___module_hierarchy(fra.me.REG[0])(fra.me.REG[0]);
485 fra.me.REG[0] = CALL_metamodel___partial_order___PartialOrder___to_dot(fra.me.REG[0])(fra.me.REG[0]);
486 CALL_standard___stream___OStream___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
487 /* ./abstracttool.nit:94 */
488 CALL_standard___stream___IOS___close(fra.me.REG[1])(fra.me.REG[1]);
489 stack_frame_head = fra.me.prev;
490 return;
491 }
492 void OC_abstracttool___AbstractCompiler___dump_context_info_1(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0){
493 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
494 fun_t CREG[1];
495 val_t tmp;
496 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
497 fra.me.file = LOCATE_abstracttool;
498 fra.me.line = 0;
499 fra.me.meth = LOCATE_abstracttool___AbstractCompiler___dump_context_info;
500 fra.me.has_broke = 0;
501 fra.me.REG_size = 2;
502 fra.me.REG[0] = NIT_NULL;
503 fra.me.REG[1] = NIT_NULL;
504 fra.me.closure_ctx = closctx_param;
505 fra.me.closure_funs = CREG;
506 fra.me.REG[0] = p0;
507 CREG[0] = clos_fun0;
508 /* ./abstracttool.nit:82 */
509 fra.me.REG[1] = CALL_mmloader___ToolContext___log_directory(closctx->REG[0])(closctx->REG[0]);
510 CALL_abstracttool___MMModule___dump_module_info(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
511 stack_frame_head = fra.me.prev;
512 return;
513 }
514 void abstracttool___MMModule___dump_module_info(val_t p0, val_t p1){
515 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
516 val_t REGB0;
517 val_t tmp;
518 static val_t once_value_1; /* Once value */
519 static val_t once_value_2; /* Once value */
520 static val_t once_value_3; /* Once value */
521 static val_t once_value_4; /* Once value */
522 static val_t once_value_5; /* Once value */
523 static val_t once_value_6; /* Once value */
524 static val_t once_value_7; /* Once value */
525 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
526 fra.me.file = LOCATE_abstracttool;
527 fra.me.line = 99;
528 fra.me.meth = LOCATE_abstracttool___MMModule___dump_module_info;
529 fra.me.has_broke = 0;
530 fra.me.REG_size = 5;
531 fra.me.REG[0] = NIT_NULL;
532 fra.me.REG[1] = NIT_NULL;
533 fra.me.REG[2] = NIT_NULL;
534 fra.me.REG[3] = NIT_NULL;
535 fra.me.REG[4] = NIT_NULL;
536 fra.me.REG[0] = p0;
537 fra.me.REG[1] = p1;
538 /* ./abstracttool.nit:101 */
539 REGB0 = TAG_Int(5);
540 fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
541 if (!once_value_1) {
542 fra.me.REG[3] = BOX_NativeString("");
543 REGB0 = TAG_Int(0);
544 fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB0);
545 once_value_1 = fra.me.REG[3];
546 register_static_object(&once_value_1);
547 } else fra.me.REG[3] = once_value_1;
548 fra.me.REG[3] = fra.me.REG[3];
549 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
550 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
551 if (!once_value_2) {
552 fra.me.REG[1] = BOX_NativeString("/");
553 REGB0 = TAG_Int(1);
554 fra.me.REG[1] = NEW_String_standard___string___String___with_native(fra.me.REG[1], REGB0);
555 once_value_2 = fra.me.REG[1];
556 register_static_object(&once_value_2);
557 } else fra.me.REG[1] = once_value_2;
558 fra.me.REG[1] = fra.me.REG[1];
559 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
560 fra.me.REG[1] = CALL_metamodel___abstractmetamodel___MMModule___name(fra.me.REG[0])(fra.me.REG[0]);
561 fra.me.REG[1] = CALL_standard___string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
562 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
563 if (!once_value_3) {
564 fra.me.REG[1] = BOX_NativeString("");
565 REGB0 = TAG_Int(0);
566 fra.me.REG[1] = NEW_String_standard___string___String___with_native(fra.me.REG[1], REGB0);
567 once_value_3 = fra.me.REG[1];
568 register_static_object(&once_value_3);
569 } else fra.me.REG[1] = once_value_3;
570 fra.me.REG[1] = fra.me.REG[1];
571 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
572 fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
573 /* ./abstracttool.nit:102 */
574 REGB0 = TAG_Int(3);
575 fra.me.REG[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
576 if (!once_value_4) {
577 fra.me.REG[3] = BOX_NativeString("");
578 REGB0 = TAG_Int(0);
579 fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB0);
580 once_value_4 = fra.me.REG[3];
581 register_static_object(&once_value_4);
582 } else fra.me.REG[3] = once_value_4;
583 fra.me.REG[3] = fra.me.REG[3];
584 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
585 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
586 if (!once_value_5) {
587 fra.me.REG[3] = BOX_NativeString(".class_hierarchy.new.dot");
588 REGB0 = TAG_Int(24);
589 fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB0);
590 once_value_5 = fra.me.REG[3];
591 register_static_object(&once_value_5);
592 } else fra.me.REG[3] = once_value_5;
593 fra.me.REG[3] = fra.me.REG[3];
594 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
595 fra.me.REG[1] = CALL_standard___string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
596 fra.me.REG[1] = NEW_OFStream_standard___file___OFStream___open(fra.me.REG[1]);
597 /* ./abstracttool.nit:103 */
598 fra.me.REG[3] = CALL_metamodel___abstractmetamodel___MMModule___class_specialization_hierarchy(fra.me.REG[0])(fra.me.REG[0]);
599 fra.me.REG[3] = CALL_metamodel___partial_order___PartialOrder___to_dot(fra.me.REG[3])(fra.me.REG[3]);
600 CALL_standard___stream___OStream___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
601 /* ./abstracttool.nit:104 */
602 CALL_standard___stream___IOS___close(fra.me.REG[1])(fra.me.REG[1]);
603 /* ./abstracttool.nit:106 */
604 REGB0 = TAG_Int(3);
605 fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
606 if (!once_value_6) {
607 fra.me.REG[4] = BOX_NativeString("");
608 REGB0 = TAG_Int(0);
609 fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB0);
610 once_value_6 = fra.me.REG[4];
611 register_static_object(&once_value_6);
612 } else fra.me.REG[4] = once_value_6;
613 fra.me.REG[4] = fra.me.REG[4];
614 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
615 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
616 if (!once_value_7) {
617 fra.me.REG[2] = BOX_NativeString(".properties.log");
618 REGB0 = TAG_Int(15);
619 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
620 once_value_7 = fra.me.REG[2];
621 register_static_object(&once_value_7);
622 } else fra.me.REG[2] = once_value_7;
623 fra.me.REG[2] = fra.me.REG[2];
624 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
625 fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
626 fra.me.REG[3] = NEW_OFStream_standard___file___OFStream___open(fra.me.REG[3]);
627 fra.me.REG[1] = fra.me.REG[3];
628 /* ./abstracttool.nit:107 */
629 fra.me.REG[0] = CALL_metamodel___abstractmetamodel___MMModule___local_classes(fra.me.REG[0])(fra.me.REG[0]);
630 CALL_standard___collection___abstract_collection___Collection___iterate(fra.me.REG[0])(fra.me.REG[0], (&(fra.me)), ((fun_t)OC_abstracttool___MMModule___dump_module_info_8));
631 /* ./abstracttool.nit:111 */
632 CALL_standard___stream___IOS___close(fra.me.REG[1])(fra.me.REG[1]);
633 stack_frame_head = fra.me.prev;
634 return;
635 }
636 void OC_abstracttool___MMModule___dump_module_info_8(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0){
637 struct {struct stack_frame_t me;} fra;
638 val_t REGB0;
639 fun_t CREG[1];
640 val_t tmp;
641 static val_t once_value_9; /* Once value */
642 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
643 fra.me.file = LOCATE_abstracttool;
644 fra.me.line = 0;
645 fra.me.meth = LOCATE_abstracttool___MMModule___dump_module_info;
646 fra.me.has_broke = 0;
647 fra.me.REG_size = 1;
648 fra.me.REG[0] = NIT_NULL;
649 fra.me.closure_ctx = closctx_param;
650 fra.me.closure_funs = CREG;
651 fra.me.REG[0] = p0;
652 CREG[0] = clos_fun0;
653 /* ./abstracttool.nit:108 */
654 CALL_abstracttool___MMLocalClass___dump_properties(fra.me.REG[0])(fra.me.REG[0], closctx->REG[1]);
655 /* ./abstracttool.nit:109 */
656 if (!once_value_9) {
657 fra.me.REG[0] = BOX_NativeString("\n");
658 REGB0 = TAG_Int(1);
659 fra.me.REG[0] = NEW_String_standard___string___String___with_native(fra.me.REG[0], REGB0);
660 once_value_9 = fra.me.REG[0];
661 register_static_object(&once_value_9);
662 } else fra.me.REG[0] = once_value_9;
663 fra.me.REG[0] = fra.me.REG[0];
664 CALL_standard___stream___OStream___write(closctx->REG[1])(closctx->REG[1], fra.me.REG[0]);
665 stack_frame_head = fra.me.prev;
666 return;
667 }
668 void abstracttool___MMLocalClass___dump_properties(val_t p0, val_t p1){
669 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
670 val_t REGB0;
671 val_t REGB1;
672 val_t REGB2;
673 val_t tmp;
674 static val_t once_value_1; /* Once value */
675 static val_t once_value_2; /* Once value */
676 static val_t once_value_3; /* Once value */
677 static val_t once_value_4; /* Once value */
678 static val_t once_value_9; /* Once value */
679 static val_t once_value_10; /* Once value */
680 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
681 fra.me.file = LOCATE_abstracttool;
682 fra.me.line = 116;
683 fra.me.meth = LOCATE_abstracttool___MMLocalClass___dump_properties;
684 fra.me.has_broke = 0;
685 fra.me.REG_size = 4;
686 fra.me.REG[0] = NIT_NULL;
687 fra.me.REG[1] = NIT_NULL;
688 fra.me.REG[2] = NIT_NULL;
689 fra.me.REG[3] = NIT_NULL;
690 fra.me.REG[0] = p0;
691 fra.me.REG[1] = p1;
692 /* ./abstracttool.nit:118 */
693 REGB0 = TAG_Int(3);
694 fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
695 if (!once_value_1) {
696 fra.me.REG[3] = BOX_NativeString("class ");
697 REGB0 = TAG_Int(6);
698 fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB0);
699 once_value_1 = fra.me.REG[3];
700 register_static_object(&once_value_1);
701 } else fra.me.REG[3] = once_value_1;
702 fra.me.REG[3] = fra.me.REG[3];
703 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
704 fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
705 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
706 if (!once_value_2) {
707 fra.me.REG[3] = BOX_NativeString("\n");
708 REGB0 = TAG_Int(1);
709 fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB0);
710 once_value_2 = fra.me.REG[3];
711 register_static_object(&once_value_2);
712 } else fra.me.REG[3] = once_value_2;
713 fra.me.REG[3] = fra.me.REG[3];
714 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
715 fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
716 CALL_standard___stream___OStream___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
717 /* ./abstracttool.nit:119 */
718 fra.me.REG[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra.me.REG[0])(fra.me.REG[0]);
719 REGB0 = CALL_metamodel___abstractmetamodel___MMGlobalClass___visibility_level(fra.me.REG[2])(fra.me.REG[2]);
720 REGB1 = TAG_Int(3);
721 REGB2 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1));
722 if (UNTAG_Bool(REGB2)) {
723 } else {
724 /* ./../lib/standard//kernel.nit:210 */
725 REGB1 = TAG_Bool((REGB0)==(REGB1));
726 /* ./abstracttool.nit:119 */
727 REGB2 = REGB1;
728 }
729 if (UNTAG_Bool(REGB2)) {
730 fra.me.REG[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra.me.REG[0])(fra.me.REG[0]);
731 fra.me.REG[2] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra.me.REG[2])(fra.me.REG[2]);
732 REGB2 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[0],fra.me.REG[2]));
733 if (UNTAG_Bool(REGB2)) {
734 } else {
735 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
736 REGB2 = REGB1;
737 }
738 REGB2 = TAG_Bool(!UNTAG_Bool(REGB2));
739 } else {
740 REGB1 = TAG_Bool(false);
741 REGB2 = REGB1;
742 }
743 if (UNTAG_Bool(REGB2)) {
744 /* ./abstracttool.nit:120 */
745 if (!once_value_3) {
746 fra.me.REG[2] = BOX_NativeString("\tclass not visible in this module\n");
747 REGB2 = TAG_Int(34);
748 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB2);
749 once_value_3 = fra.me.REG[2];
750 register_static_object(&once_value_3);
751 } else fra.me.REG[2] = once_value_3;
752 fra.me.REG[2] = fra.me.REG[2];
753 CALL_standard___stream___OStream___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
754 } else {
755 /* ./abstracttool.nit:121 */
756 fra.me.REG[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___mmmodule(fra.me.REG[0])(fra.me.REG[0]);
757 fra.me.REG[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra.me.REG[0])(fra.me.REG[0]);
758 fra.me.REG[3] = CALL_metamodel___abstractmetamodel___MMGlobalClass___mmmodule(fra.me.REG[3])(fra.me.REG[3]);
759 REGB2 = CALL_metamodel___abstractmetamodel___MMModule___visibility_for(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
760 REGB1 = TAG_Int(0);
761 REGB0 = TAG_Bool(IS_EQUAL_OO(REGB2,REGB1));
762 if (UNTAG_Bool(REGB0)) {
763 } else {
764 /* ./../lib/standard//kernel.nit:210 */
765 REGB1 = TAG_Bool((REGB2)==(REGB1));
766 /* ./abstracttool.nit:121 */
767 REGB0 = REGB1;
768 }
769 if (UNTAG_Bool(REGB0)) {
770 /* ./abstracttool.nit:122 */
771 if (!once_value_4) {
772 fra.me.REG[3] = BOX_NativeString("\tclass is defined later in the hierarchy\n");
773 REGB0 = TAG_Int(41);
774 fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB0);
775 once_value_4 = fra.me.REG[3];
776 register_static_object(&once_value_4);
777 } else fra.me.REG[3] = once_value_4;
778 fra.me.REG[3] = fra.me.REG[3];
779 CALL_standard___stream___OStream___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
780 } else {
781 /* ./abstracttool.nit:124 */
782 fra.me.REG[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___global_properties(fra.me.REG[0])(fra.me.REG[0]);
783 CALL_standard___collection___abstract_collection___Collection___iterate(fra.me.REG[3])(fra.me.REG[3], (&(fra.me)), ((fun_t)OC_abstracttool___MMLocalClass___dump_properties_5));
784 }
785 }
786 /* ./abstracttool.nit:129 */
787 REGB0 = TAG_Int(3);
788 fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
789 if (!once_value_9) {
790 fra.me.REG[2] = BOX_NativeString("end # ");
791 REGB0 = TAG_Int(6);
792 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
793 once_value_9 = fra.me.REG[2];
794 register_static_object(&once_value_9);
795 } else fra.me.REG[2] = once_value_9;
796 fra.me.REG[2] = fra.me.REG[2];
797 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
798 fra.me.REG[0] = CALL_standard___string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
799 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
800 if (!once_value_10) {
801 fra.me.REG[0] = BOX_NativeString("\n");
802 REGB0 = TAG_Int(1);
803 fra.me.REG[0] = NEW_String_standard___string___String___with_native(fra.me.REG[0], REGB0);
804 once_value_10 = fra.me.REG[0];
805 register_static_object(&once_value_10);
806 } else fra.me.REG[0] = once_value_10;
807 fra.me.REG[0] = fra.me.REG[0];
808 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
809 fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
810 CALL_standard___stream___OStream___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
811 stack_frame_head = fra.me.prev;
812 return;
813 }
814 void OC_abstracttool___MMLocalClass___dump_properties_5(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0){
815 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
816 val_t REGB0;
817 fun_t CREG[1];
818 val_t tmp;
819 static val_t once_value_6; /* Once value */
820 static val_t once_value_7; /* Once value */
821 static val_t once_value_8; /* Once value */
822 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
823 fra.me.file = LOCATE_abstracttool;
824 fra.me.line = 0;
825 fra.me.meth = LOCATE_abstracttool___MMLocalClass___dump_properties;
826 fra.me.has_broke = 0;
827 fra.me.REG_size = 3;
828 fra.me.REG[0] = NIT_NULL;
829 fra.me.REG[1] = NIT_NULL;
830 fra.me.REG[2] = NIT_NULL;
831 fra.me.closure_ctx = closctx_param;
832 fra.me.closure_funs = CREG;
833 fra.me.REG[0] = p0;
834 CREG[0] = clos_fun0;
835 /* ./abstracttool.nit:125 */
836 fra.me.REG[0] = CALL_metamodel___abstractmetamodel___MMLocalClass_____bra(closctx->REG[0])(closctx->REG[0], fra.me.REG[0]);
837 /* ./abstracttool.nit:126 */
838 REGB0 = TAG_Int(5);
839 fra.me.REG[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
840 if (!once_value_6) {
841 fra.me.REG[2] = BOX_NativeString("\t");
842 REGB0 = TAG_Int(1);
843 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
844 once_value_6 = fra.me.REG[2];
845 register_static_object(&once_value_6);
846 } else fra.me.REG[2] = once_value_6;
847 fra.me.REG[2] = fra.me.REG[2];
848 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
849 fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
850 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
851 if (!once_value_7) {
852 fra.me.REG[2] = BOX_NativeString("");
853 REGB0 = TAG_Int(0);
854 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
855 once_value_7 = fra.me.REG[2];
856 register_static_object(&once_value_7);
857 } else fra.me.REG[2] = once_value_7;
858 fra.me.REG[2] = fra.me.REG[2];
859 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
860 fra.me.REG[2] = CALL_metamodel___static_type___MMLocalClass___get_type(closctx->REG[0])(closctx->REG[0]);
861 fra.me.REG[2] = CALL_metamodel___static_type___MMLocalProperty___signature_for(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
862 fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
863 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
864 if (!once_value_8) {
865 fra.me.REG[2] = BOX_NativeString("\n");
866 REGB0 = TAG_Int(1);
867 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
868 once_value_8 = fra.me.REG[2];
869 register_static_object(&once_value_8);
870 } else fra.me.REG[2] = once_value_8;
871 fra.me.REG[2] = fra.me.REG[2];
872 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
873 fra.me.REG[1] = CALL_standard___string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
874 CALL_standard___stream___OStream___write(closctx->REG[1])(closctx->REG[1], fra.me.REG[1]);
875 stack_frame_head = fra.me.prev;
876 return;
877 }