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_AbstractCompiler
].i
;
5 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
7 if (init_table
[itpos0
]) return;
8 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9 fra
.me
.file
= LOCATE_abstracttool
;
11 fra
.me
.meth
= LOCATE_abstracttool___AbstractCompiler___init
;
14 fra
.me
.REG
[0] = NIT_NULL
;
15 fra
.me
.REG
[1] = NIT_NULL
;
16 fra
.me
.REG
[2] = NIT_NULL
;
19 fra
.me
.REG
[2] = fra
.me
.REG
[0];
20 /* ./abstracttool.nit:31 */
21 ATTR_abstracttool___AbstractCompiler____tool_name(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
22 /* ./abstracttool.nit:32 */
23 CALL_mmloader___ToolContext___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
24 fra
.me
.REG
[0] = NEW_SrcModuleLoader_syntax___SrcModuleLoader___init();
25 /* ./abstracttool.nit:33 */
26 CALL_mmloader___ToolContext___register_loader(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
27 stack_frame_head
= fra
.me
.prev
;
28 init_table
[itpos0
] = 1;
31 val_t
abstracttool___AbstractCompiler___tool_name(val_t p0
){
32 struct {struct stack_frame_t me
;} fra
;
35 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
36 fra
.me
.file
= LOCATE_abstracttool
;
38 fra
.me
.meth
= LOCATE_abstracttool___AbstractCompiler___tool_name
;
41 fra
.me
.REG
[0] = NIT_NULL
;
43 REGB0
= TAG_Bool(ATTR_abstracttool___AbstractCompiler____tool_name(fra
.me
.REG
[0])!=NIT_NULL
);
44 /* ./abstracttool.nit:36 */
45 if (UNTAG_Bool(REGB0
)) {
47 fprintf(stderr
, "Uninitialized attribute %s", "_tool_name");
48 fprintf(stderr
, " (%s:%d)\n", LOCATE_abstracttool
, 36);
51 fra
.me
.REG
[0] = ATTR_abstracttool___AbstractCompiler____tool_name(fra
.me
.REG
[0]);
52 stack_frame_head
= fra
.me
.prev
;
55 void abstracttool___AbstractCompiler___exec_cmd_line(val_t p0
){
56 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
61 static val_t once_value_1
; /* Once value */
62 static val_t once_value_2
; /* Once value */
63 static val_t once_value_3
; /* Once value */
64 static val_t once_value_4
; /* Once value */
65 static val_t once_value_5
; /* Once value */
66 static val_t once_value_6
; /* Once value */
67 static val_t once_value_7
; /* Once value */
68 static val_t once_value_8
; /* Once value */
69 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
70 fra
.me
.file
= LOCATE_abstracttool
;
72 fra
.me
.meth
= LOCATE_abstracttool___AbstractCompiler___exec_cmd_line
;
75 fra
.me
.REG
[0] = NIT_NULL
;
76 fra
.me
.REG
[1] = NIT_NULL
;
77 fra
.me
.REG
[2] = NIT_NULL
;
78 fra
.me
.REG
[3] = NIT_NULL
;
79 fra
.me
.REG
[4] = NIT_NULL
;
81 /* ./abstracttool.nit:42 */
82 CALL_mmloader___ToolContext___process_options(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
83 fra
.me
.REG
[1] = CALL_mmloader___ToolContext___opt_version(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
84 fra
.me
.REG
[1] = CALL_opts___Option___value(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
85 /* ./abstracttool.nit:44 */
86 if (UNTAG_Bool(fra
.me
.REG
[1])) {
88 fra
.me
.REG
[1] = NEW_Array_array___Array___with_capacity(REGB0
);
89 /* ./abstracttool.nit:45 */
91 fra
.me
.REG
[2] = BOX_NativeString("");
93 fra
.me
.REG
[2] = NEW_String_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 array___Array___add(fra
.me
.REG
[1], fra
.me
.REG
[2]);
98 fra
.me
.REG
[2] = CALL_abstracttool___AbstractCompiler___tool_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
99 array___Array___add(fra
.me
.REG
[1], fra
.me
.REG
[2]);
101 fra
.me
.REG
[2] = BOX_NativeString(" version ");
103 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
104 once_value_2
= fra
.me
.REG
[2];
105 register_static_object(&once_value_2
);
106 } else fra
.me
.REG
[2] = once_value_2
;
107 array___Array___add(fra
.me
.REG
[1], fra
.me
.REG
[2]);
108 fra
.me
.REG
[2] = CALL_nit_version___Object___nit_version(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
109 array___Array___add(fra
.me
.REG
[1], fra
.me
.REG
[2]);
111 fra
.me
.REG
[2] = BOX_NativeString("");
113 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
114 once_value_3
= fra
.me
.REG
[2];
115 register_static_object(&once_value_3
);
116 } else fra
.me
.REG
[2] = once_value_3
;
117 array___Array___add(fra
.me
.REG
[1], fra
.me
.REG
[2]);
118 fra
.me
.REG
[1] = CALL_string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
119 CALL_file___Object___print(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
121 /* ./abstracttool.nit:46 */
122 CALL_kernel___Object___exit(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
124 fra
.me
.REG
[1] = CALL_mmloader___ToolContext___opt_help(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
125 fra
.me
.REG
[1] = CALL_opts___Option___value(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
126 /* ./abstracttool.nit:49 */
127 if (UNTAG_Bool(fra
.me
.REG
[1])) {
129 fra
.me
.REG
[1] = NEW_Array_array___Array___with_capacity(REGB0
);
130 /* ./abstracttool.nit:50 */
132 fra
.me
.REG
[2] = BOX_NativeString("usage: ");
134 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
135 once_value_4
= fra
.me
.REG
[2];
136 register_static_object(&once_value_4
);
137 } else fra
.me
.REG
[2] = once_value_4
;
138 array___Array___add(fra
.me
.REG
[1], fra
.me
.REG
[2]);
139 fra
.me
.REG
[2] = CALL_abstracttool___AbstractCompiler___tool_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
140 array___Array___add(fra
.me
.REG
[1], fra
.me
.REG
[2]);
142 fra
.me
.REG
[2] = BOX_NativeString(" [options] file...");
144 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
145 once_value_5
= fra
.me
.REG
[2];
146 register_static_object(&once_value_5
);
147 } else fra
.me
.REG
[2] = once_value_5
;
148 array___Array___add(fra
.me
.REG
[1], fra
.me
.REG
[2]);
149 fra
.me
.REG
[1] = CALL_string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
150 CALL_file___Object___print(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
151 fra
.me
.REG
[1] = CALL_mmloader___ToolContext___option_context(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
152 /* ./abstracttool.nit:51 */
153 CALL_opts___OptionContext___usage(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
155 /* ./abstracttool.nit:52 */
156 CALL_kernel___Object___exit(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
158 fra
.me
.REG
[1] = CALL_mmloader___ToolContext___option_context(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
159 fra
.me
.REG
[1] = CALL_opts___OptionContext___rest(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
160 REGB0
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
161 /* ./../lib/standard//collection//array.nit:23 */
162 if (UNTAG_Bool(REGB0
)) {
164 fprintf(stderr
, "Uninitialized attribute %s", "_length");
165 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
168 REGB0
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1]);
170 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
171 /* ./abstracttool.nit:55 */
172 if (UNTAG_Bool(REGB2
)) {
174 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
176 /* ./abstracttool.nit:55 */
178 if (UNTAG_Bool(REGB2
)) {
180 fra
.me
.REG
[1] = NEW_Array_array___Array___with_capacity(REGB2
);
181 /* ./abstracttool.nit:56 */
183 fra
.me
.REG
[2] = BOX_NativeString("usage: ");
185 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB2
);
186 once_value_6
= fra
.me
.REG
[2];
187 register_static_object(&once_value_6
);
188 } else fra
.me
.REG
[2] = once_value_6
;
189 array___Array___add(fra
.me
.REG
[1], fra
.me
.REG
[2]);
190 fra
.me
.REG
[2] = CALL_abstracttool___AbstractCompiler___tool_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
191 array___Array___add(fra
.me
.REG
[1], fra
.me
.REG
[2]);
193 fra
.me
.REG
[2] = BOX_NativeString(" [options] file...");
195 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB2
);
196 once_value_7
= fra
.me
.REG
[2];
197 register_static_object(&once_value_7
);
198 } else fra
.me
.REG
[2] = once_value_7
;
199 array___Array___add(fra
.me
.REG
[1], fra
.me
.REG
[2]);
200 fra
.me
.REG
[1] = CALL_string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
201 CALL_file___Object___print(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
202 fra
.me
.REG
[1] = CALL_mmloader___ToolContext___option_context(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
203 /* ./abstracttool.nit:57 */
204 CALL_opts___OptionContext___usage(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
206 /* ./abstracttool.nit:58 */
207 CALL_kernel___Object___exit(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB2
);
209 fra
.me
.REG
[1] = CALL_mmloader___ToolContext___option_context(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
210 fra
.me
.REG
[1] = CALL_opts___OptionContext___rest(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
211 fra
.me
.REG
[2] = NEW_Array_array___Array___init();
212 /* ./abstracttool.nit:63 */
214 fra
.me
.REG
[3] = BOX_NativeString("Syntax analysis");
216 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB2
);
217 once_value_8
= fra
.me
.REG
[3];
218 register_static_object(&once_value_8
);
219 } else fra
.me
.REG
[3] = once_value_8
;
221 CALL_mmloader___ToolContext___info(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3], REGB2
);
223 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
224 /* ./../lib/standard//collection//array.nit:23 */
225 if (UNTAG_Bool(REGB1
)) {
227 fprintf(stderr
, "Uninitialized attribute %s", "_length");
228 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
231 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1]);
232 fra
.me
.REG
[3] = NEW_Range_range___Range___without_last(REGB2
, REGB1
);
233 fra
.me
.REG
[3] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
234 /* ./abstracttool.nit:64 */
236 REGB1
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
237 if (UNTAG_Bool(REGB1
)) {
238 REGB1
= CALL_abstract_collection___Iterator___item(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
239 fra
.me
.REG
[4] = fra
.me
.REG
[1];
241 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
242 /* ./../lib/standard//collection//array.nit:233 */
243 if (UNTAG_Bool(REGB2
)) {
244 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
245 if (UNTAG_Bool(REGB2
)) {
247 fprintf(stderr
, "Uninitialized attribute %s", "_length");
248 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 233);
251 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4]);
252 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
253 /* ./../lib/standard//collection//array.nit:233 */
255 REGB0
= TAG_Bool(false);
258 if (UNTAG_Bool(REGB2
)) {
260 fprintf(stderr
, "Assert %s failed", "'index'");
261 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 233);
264 fra
.me
.REG
[4] = ATTR_array___Array____items(fra
.me
.REG
[4]);
265 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
266 /* ./../lib/standard//collection//array.nit:234 */
267 if (UNTAG_Bool(REGB2
)) {
268 fprintf(stderr
, "Reciever is null");
269 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 234);
272 fra
.me
.REG
[4] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB1
)];
273 /* ./../lib/standard//collection//array.nit:234 */
276 fra
.me
.REG
[4] = CALL_mmloader___ToolContext___get_module_from_filename(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
277 /* ./abstracttool.nit:66 */
278 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[4]);
280 /* ./abstracttool.nit:64 */
283 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
286 fra
.me
.REG
[3] = CALL_mmloader___ToolContext___opt_log(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
287 fra
.me
.REG
[3] = CALL_opts___Option___value(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
288 /* ./abstracttool.nit:68 */
289 if (UNTAG_Bool(fra
.me
.REG
[3])) {
290 /* ./abstracttool.nit:69 */
291 CALL_abstracttool___AbstractCompiler___dump_context_info(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
293 REGB1
= CALL_abstract_collection___Collection___is_empty(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
294 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
295 /* ./abstracttool.nit:72 */
296 if (UNTAG_Bool(REGB1
)) {
297 fra
.me
.REG
[3] = CALL_mmloader___ToolContext___opt_only_metamodel(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
298 fra
.me
.REG
[3] = CALL_opts___Option___value(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
299 REGB1
= TAG_Bool(!UNTAG_Bool(fra
.me
.REG
[3]));
301 REGB2
= TAG_Bool(false);
304 if (UNTAG_Bool(REGB1
)) {
305 fra
.me
.REG
[3] = CALL_mmloader___ToolContext___opt_only_parse(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
306 fra
.me
.REG
[3] = CALL_opts___Option___value(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
307 REGB1
= TAG_Bool(!UNTAG_Bool(fra
.me
.REG
[3]));
309 REGB2
= TAG_Bool(false);
312 if (UNTAG_Bool(REGB1
)) {
313 /* ./abstracttool.nit:73 */
314 CALL_abstracttool___AbstractCompiler___perform_work(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
316 stack_frame_head
= fra
.me
.prev
;
319 void abstracttool___AbstractCompiler___perform_work(val_t p0
, val_t p1
){
320 struct {struct stack_frame_t me
;} fra
;
322 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
323 fra
.me
.file
= LOCATE_abstracttool
;
325 fra
.me
.meth
= LOCATE_abstracttool___AbstractCompiler___perform_work
;
326 fra
.me
.has_broke
= 0;
328 /* ./abstracttool.nit:77 */
329 fprintf(stderr
, "Deferred method called");
330 fprintf(stderr
, " (%s:%d)\n", LOCATE_abstracttool
, 77);
332 stack_frame_head
= fra
.me
.prev
;
335 void abstracttool___AbstractCompiler___dump_context_info(val_t p0
){
336 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
339 static val_t once_value_2
; /* Once value */
340 static val_t once_value_3
; /* Once value */
341 static val_t once_value_4
; /* Once value */
342 static val_t once_value_5
; /* Once value */
343 static val_t once_value_6
; /* Once value */
344 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
345 fra
.me
.file
= LOCATE_abstracttool
;
347 fra
.me
.meth
= LOCATE_abstracttool___AbstractCompiler___dump_context_info
;
348 fra
.me
.has_broke
= 0;
350 fra
.me
.REG
[0] = NIT_NULL
;
351 fra
.me
.REG
[1] = NIT_NULL
;
352 fra
.me
.REG
[2] = NIT_NULL
;
353 fra
.me
.REG
[3] = NIT_NULL
;
354 fra
.me
.REG
[4] = NIT_NULL
;
356 fra
.me
.REG
[1] = CALL_abstractmetamodel___MMContext___module_hierarchy(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
357 fra
.me
.REG
[1] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
358 /* ./abstracttool.nit:81 */
360 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
361 if (UNTAG_Bool(REGB0
)) {
362 fra
.me
.REG
[2] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
363 /* ./abstracttool.nit:82 */
364 CALL_abstracttool___MMModule___dump_module_info(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
366 /* ./abstracttool.nit:81 */
369 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
372 fra
.me
.REG
[1] = NEW_Array_array___Array___init();
373 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMContext___module_hierarchy(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
374 /* ./abstracttool.nit:85 */
375 CALL_abstract_collection___SimpleCollection___add_all(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
376 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMContext___module_hierarchy(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
377 fra
.me
.REG
[1] = CALL_partial_order___PartialOrder___select_smallests(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
378 /* ./abstracttool.nit:86 */
380 fra
.me
.REG
[2] = BOX_NativeString("-");
382 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
383 once_value_2
= fra
.me
.REG
[2];
384 register_static_object(&once_value_2
);
385 } else fra
.me
.REG
[2] = once_value_2
;
386 fra
.me
.REG
[2] = CALL_string___Collection___join(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
388 fra
.me
.REG
[1] = NEW_Array_array___Array___with_capacity(REGB0
);
389 /* ./abstracttool.nit:88 */
391 fra
.me
.REG
[3] = BOX_NativeString("");
393 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
394 once_value_3
= fra
.me
.REG
[3];
395 register_static_object(&once_value_3
);
396 } else fra
.me
.REG
[3] = once_value_3
;
397 array___Array___add(fra
.me
.REG
[1], fra
.me
.REG
[3]);
398 array___Array___add(fra
.me
.REG
[1], fra
.me
.REG
[2]);
400 fra
.me
.REG
[3] = BOX_NativeString(".full_class_hierarchy.new.dot");
402 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
403 once_value_4
= fra
.me
.REG
[3];
404 register_static_object(&once_value_4
);
405 } else fra
.me
.REG
[3] = once_value_4
;
406 array___Array___add(fra
.me
.REG
[1], fra
.me
.REG
[3]);
407 fra
.me
.REG
[1] = CALL_string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
408 fra
.me
.REG
[1] = NEW_OFStream_file___OFStream___open(fra
.me
.REG
[1]);
409 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMContext___class_hierarchy(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
410 fra
.me
.REG
[3] = CALL_partial_order___PartialOrder___to_dot(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
411 /* ./abstracttool.nit:89 */
412 CALL_stream___OStream___write(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
413 /* ./abstracttool.nit:90 */
414 CALL_stream___IOS___close(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
416 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
417 /* ./abstracttool.nit:92 */
419 fra
.me
.REG
[4] = BOX_NativeString("");
421 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
422 once_value_5
= fra
.me
.REG
[4];
423 register_static_object(&once_value_5
);
424 } else fra
.me
.REG
[4] = once_value_5
;
425 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[4]);
426 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[2]);
428 fra
.me
.REG
[2] = BOX_NativeString(".module_hierarchy.new.dot");
430 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
431 once_value_6
= fra
.me
.REG
[2];
432 register_static_object(&once_value_6
);
433 } else fra
.me
.REG
[2] = once_value_6
;
434 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[2]);
435 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
436 fra
.me
.REG
[3] = NEW_OFStream_file___OFStream___open(fra
.me
.REG
[3]);
437 fra
.me
.REG
[1] = fra
.me
.REG
[3];
438 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMContext___module_hierarchy(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
439 fra
.me
.REG
[0] = CALL_partial_order___PartialOrder___to_dot(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
440 /* ./abstracttool.nit:93 */
441 CALL_stream___OStream___write(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
442 /* ./abstracttool.nit:94 */
443 CALL_stream___IOS___close(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
444 stack_frame_head
= fra
.me
.prev
;
447 void abstracttool___MMModule___dump_module_info(val_t p0
){
448 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
451 static val_t once_value_1
; /* Once value */
452 static val_t once_value_2
; /* Once value */
453 static val_t once_value_3
; /* Once value */
454 static val_t once_value_4
; /* Once value */
455 static val_t once_value_5
; /* Once value */
456 static val_t once_value_6
; /* Once value */
457 static val_t once_value_7
; /* Once value */
458 static val_t once_value_8
; /* Once value */
459 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
460 fra
.me
.file
= LOCATE_abstracttool
;
462 fra
.me
.meth
= LOCATE_abstracttool___MMModule___dump_module_info
;
463 fra
.me
.has_broke
= 0;
465 fra
.me
.REG
[0] = NIT_NULL
;
466 fra
.me
.REG
[1] = NIT_NULL
;
467 fra
.me
.REG
[2] = NIT_NULL
;
468 fra
.me
.REG
[3] = NIT_NULL
;
469 fra
.me
.REG
[4] = NIT_NULL
;
471 fra
.me
.REG
[1] = CALL_abstractmetamodel___MMModule___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
472 fra
.me
.REG
[1] = CALL_location___Location___file(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
473 fra
.me
.REG
[1] = CALL_file___String___file_path(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
475 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
476 /* ./abstracttool.nit:102 */
478 fra
.me
.REG
[3] = BOX_NativeString("");
480 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
481 once_value_1
= fra
.me
.REG
[3];
482 register_static_object(&once_value_1
);
483 } else fra
.me
.REG
[3] = once_value_1
;
484 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
485 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[1]);
487 fra
.me
.REG
[1] = BOX_NativeString("/");
489 fra
.me
.REG
[1] = NEW_String_string___String___with_native(fra
.me
.REG
[1], REGB0
);
490 once_value_2
= fra
.me
.REG
[1];
491 register_static_object(&once_value_2
);
492 } else fra
.me
.REG
[1] = once_value_2
;
493 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[1]);
494 fra
.me
.REG
[1] = CALL_abstractmetamodel___MMModule___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
495 fra
.me
.REG
[1] = CALL_string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
496 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[1]);
498 fra
.me
.REG
[1] = BOX_NativeString("");
500 fra
.me
.REG
[1] = NEW_String_string___String___with_native(fra
.me
.REG
[1], REGB0
);
501 once_value_3
= fra
.me
.REG
[1];
502 register_static_object(&once_value_3
);
503 } else fra
.me
.REG
[1] = once_value_3
;
504 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[1]);
505 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
507 fra
.me
.REG
[1] = NEW_Array_array___Array___with_capacity(REGB0
);
508 /* ./abstracttool.nit:103 */
510 fra
.me
.REG
[3] = BOX_NativeString("");
512 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
513 once_value_4
= fra
.me
.REG
[3];
514 register_static_object(&once_value_4
);
515 } else fra
.me
.REG
[3] = once_value_4
;
516 array___Array___add(fra
.me
.REG
[1], fra
.me
.REG
[3]);
517 array___Array___add(fra
.me
.REG
[1], fra
.me
.REG
[2]);
519 fra
.me
.REG
[3] = BOX_NativeString(".class_hierarchy.new.dot");
521 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
522 once_value_5
= fra
.me
.REG
[3];
523 register_static_object(&once_value_5
);
524 } else fra
.me
.REG
[3] = once_value_5
;
525 array___Array___add(fra
.me
.REG
[1], fra
.me
.REG
[3]);
526 fra
.me
.REG
[1] = CALL_string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
527 fra
.me
.REG
[1] = NEW_OFStream_file___OFStream___open(fra
.me
.REG
[1]);
528 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMModule___class_specialization_hierarchy(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
529 fra
.me
.REG
[3] = CALL_partial_order___PartialOrder___to_dot(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
530 /* ./abstracttool.nit:104 */
531 CALL_stream___OStream___write(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
532 /* ./abstracttool.nit:105 */
533 CALL_stream___IOS___close(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
535 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
536 /* ./abstracttool.nit:107 */
538 fra
.me
.REG
[4] = BOX_NativeString("");
540 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
541 once_value_6
= fra
.me
.REG
[4];
542 register_static_object(&once_value_6
);
543 } else fra
.me
.REG
[4] = once_value_6
;
544 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[4]);
545 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[2]);
547 fra
.me
.REG
[2] = BOX_NativeString(".properties.log");
549 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
550 once_value_7
= fra
.me
.REG
[2];
551 register_static_object(&once_value_7
);
552 } else fra
.me
.REG
[2] = once_value_7
;
553 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[2]);
554 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
555 fra
.me
.REG
[3] = NEW_OFStream_file___OFStream___open(fra
.me
.REG
[3]);
556 fra
.me
.REG
[1] = fra
.me
.REG
[3];
557 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMModule___local_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
558 fra
.me
.REG
[0] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
559 /* ./abstracttool.nit:108 */
561 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
562 if (UNTAG_Bool(REGB0
)) {
563 fra
.me
.REG
[3] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
564 /* ./abstracttool.nit:109 */
565 CALL_abstracttool___MMLocalClass___dump_properties(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
566 /* ./abstracttool.nit:110 */
568 fra
.me
.REG
[3] = BOX_NativeString("\n");
570 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
571 once_value_8
= fra
.me
.REG
[3];
572 register_static_object(&once_value_8
);
573 } else fra
.me
.REG
[3] = once_value_8
;
574 CALL_stream___OStream___write(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
576 /* ./abstracttool.nit:108 */
579 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
582 /* ./abstracttool.nit:112 */
583 CALL_stream___IOS___close(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
584 stack_frame_head
= fra
.me
.prev
;
587 void abstracttool___MMLocalClass___dump_properties(val_t p0
, val_t p1
){
588 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
591 static val_t once_value_1
; /* Once value */
592 static val_t once_value_2
; /* Once value */
593 static val_t once_value_3
; /* Once value */
594 static val_t once_value_4
; /* Once value */
595 static val_t once_value_5
; /* Once value */
596 static val_t once_value_7
; /* Once value */
597 static val_t once_value_8
; /* Once value */
598 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
599 fra
.me
.file
= LOCATE_abstracttool
;
601 fra
.me
.meth
= LOCATE_abstracttool___MMLocalClass___dump_properties
;
602 fra
.me
.has_broke
= 0;
604 fra
.me
.REG
[0] = NIT_NULL
;
605 fra
.me
.REG
[1] = NIT_NULL
;
606 fra
.me
.REG
[2] = NIT_NULL
;
607 fra
.me
.REG
[3] = NIT_NULL
;
608 fra
.me
.REG
[4] = NIT_NULL
;
609 fra
.me
.REG
[5] = NIT_NULL
;
613 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
614 /* ./abstracttool.nit:119 */
616 fra
.me
.REG
[3] = BOX_NativeString("class ");
618 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
619 once_value_1
= fra
.me
.REG
[3];
620 register_static_object(&once_value_1
);
621 } else fra
.me
.REG
[3] = once_value_1
;
622 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
623 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
624 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
626 fra
.me
.REG
[3] = BOX_NativeString("\n");
628 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
629 once_value_2
= fra
.me
.REG
[3];
630 register_static_object(&once_value_2
);
631 } else fra
.me
.REG
[3] = once_value_2
;
632 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
633 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
634 CALL_stream___OStream___write(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
635 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMLocalClass___global_properties(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
636 fra
.me
.REG
[2] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
637 /* ./abstracttool.nit:120 */
639 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
640 if (UNTAG_Bool(REGB0
)) {
641 fra
.me
.REG
[3] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
642 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalClass_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
644 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB0
);
645 /* ./abstracttool.nit:122 */
647 fra
.me
.REG
[5] = BOX_NativeString("\t");
649 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
650 once_value_3
= fra
.me
.REG
[5];
651 register_static_object(&once_value_3
);
652 } else fra
.me
.REG
[5] = once_value_3
;
653 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[5]);
654 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
655 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[5]);
657 fra
.me
.REG
[5] = BOX_NativeString("");
659 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
660 once_value_4
= fra
.me
.REG
[5];
661 register_static_object(&once_value_4
);
662 } else fra
.me
.REG
[5] = once_value_4
;
663 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[5]);
664 fra
.me
.REG
[5] = CALL_static_type___MMLocalClass___get_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
665 fra
.me
.REG
[5] = CALL_static_type___MMLocalProperty___signature_for(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
666 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
667 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[5]);
669 fra
.me
.REG
[5] = BOX_NativeString("\n");
671 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
672 once_value_5
= fra
.me
.REG
[5];
673 register_static_object(&once_value_5
);
674 } else fra
.me
.REG
[5] = once_value_5
;
675 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[5]);
676 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
677 CALL_stream___OStream___write(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
679 /* ./abstracttool.nit:120 */
682 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
686 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
687 /* ./abstracttool.nit:124 */
689 fra
.me
.REG
[4] = BOX_NativeString("end # ");
691 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
692 once_value_7
= fra
.me
.REG
[4];
693 register_static_object(&once_value_7
);
694 } else fra
.me
.REG
[4] = once_value_7
;
695 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[4]);
696 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
697 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
699 fra
.me
.REG
[0] = BOX_NativeString("\n");
701 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
702 once_value_8
= fra
.me
.REG
[0];
703 register_static_object(&once_value_8
);
704 } else fra
.me
.REG
[0] = once_value_8
;
705 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
706 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
707 CALL_stream___OStream___write(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
708 stack_frame_head
= fra
.me
.prev
;