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 /* ./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;
32 val_t
abstracttool___AbstractCompiler___tool_name(val_t p0
){
33 struct {struct stack_frame_t me
;} fra
;
36 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
37 fra
.me
.file
= LOCATE_abstracttool
;
39 fra
.me
.meth
= LOCATE_abstracttool___AbstractCompiler___tool_name
;
42 fra
.me
.REG
[0] = NIT_NULL
;
44 /* ./abstracttool.nit:36 */
45 REGB0
= TAG_Bool(ATTR_abstracttool___AbstractCompiler____tool_name(fra
.me
.REG
[0])!=NIT_NULL
);
46 if (UNTAG_Bool(REGB0
)) {
48 nit_abort("Uninitialized attribute %s", "_tool_name", LOCATE_abstracttool
, 36);
50 fra
.me
.REG
[0] = ATTR_abstracttool___AbstractCompiler____tool_name(fra
.me
.REG
[0]);
51 stack_frame_head
= fra
.me
.prev
;
54 void abstracttool___AbstractCompiler___exec_cmd_line(val_t p0
){
55 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
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
;
73 fra
.me
.meth
= LOCATE_abstracttool___AbstractCompiler___exec_cmd_line
;
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
;
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 */
89 fra
.me
.REG
[1] = NEW_Array_array___Array___with_capacity(REGB0
);
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 fra
.me
.REG
[2] = fra
.me
.REG
[2];
98 CALL_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
102 fra
.me
.REG
[2] = BOX_NativeString(" version ");
104 fra
.me
.REG
[2] = NEW_String_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
113 fra
.me
.REG
[2] = BOX_NativeString("");
115 fra
.me
.REG
[2] = NEW_String_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
121 fra
.me
.REG
[1] = CALL_string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
122 CALL_file___Object___print(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
123 /* ./abstracttool.nit:46 */
125 CALL_kernel___Object___exit(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
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 */
133 fra
.me
.REG
[1] = NEW_Array_array___Array___with_capacity(REGB0
);
135 fra
.me
.REG
[2] = BOX_NativeString("usage: ");
137 fra
.me
.REG
[2] = NEW_String_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
146 fra
.me
.REG
[2] = BOX_NativeString(" [options] file...");
148 fra
.me
.REG
[2] = NEW_String_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
154 fra
.me
.REG
[1] = CALL_string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
155 CALL_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 */
161 CALL_kernel___Object___exit(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
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_array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
168 if (UNTAG_Bool(REGB0
)) {
170 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
172 REGB0
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1]);
173 /* ./abstracttool.nit:55 */
175 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
176 if (UNTAG_Bool(REGB2
)) {
178 /* ./../lib/standard//kernel.nit:207 */
179 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
180 /* ./abstracttool.nit:55 */
183 if (UNTAG_Bool(REGB2
)) {
184 /* ./abstracttool.nit:56 */
186 fra
.me
.REG
[1] = NEW_Array_array___Array___with_capacity(REGB2
);
188 fra
.me
.REG
[2] = BOX_NativeString("usage: ");
190 fra
.me
.REG
[2] = NEW_String_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
199 fra
.me
.REG
[2] = BOX_NativeString(" [options] file...");
201 fra
.me
.REG
[2] = NEW_String_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
207 fra
.me
.REG
[1] = CALL_string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
208 CALL_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 */
214 CALL_kernel___Object___exit(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB2
);
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_array___Array___init();
221 /* ./abstracttool.nit:63 */
223 fra
.me
.REG
[3] = BOX_NativeString("Syntax analysis");
225 fra
.me
.REG
[3] = NEW_String_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];
231 CALL_mmloader___ToolContext___info(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3], REGB2
);
232 /* ./abstracttool.nit:64 */
234 /* ./../lib/standard//collection//array.nit:23 */
235 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
236 if (UNTAG_Bool(REGB1
)) {
238 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
240 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1]);
241 /* ./../lib/standard//kernel.nit:332 */
243 /* ./../lib/standard//kernel.nit:212 */
244 REGB0
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB1
));
245 /* ./../lib/standard//kernel.nit:332 */
246 if (UNTAG_Bool(REGB0
)) {
247 /* ./abstracttool.nit:64 */
249 /* ./../lib/standard//collection//array.nit:243 */
250 fra
.me
.REG
[3] = fra
.me
.REG
[1];
251 /* ./../lib/standard//collection//array.nit:245 */
253 /* ./../lib/standard//kernel.nit:213 */
254 REGB3
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB3
));
255 /* ./../lib/standard//collection//array.nit:245 */
256 if (UNTAG_Bool(REGB3
)) {
257 REGB3
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
258 if (UNTAG_Bool(REGB3
)) {
260 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
262 REGB3
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3]);
263 /* ./../lib/standard//kernel.nit:212 */
264 REGB3
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB3
));
266 /* ./../lib/standard//collection//array.nit:245 */
267 REGB4
= TAG_Bool(false);
270 if (UNTAG_Bool(REGB3
)) {
272 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
274 /* ./../lib/standard//collection//array.nit:246 */
275 fra
.me
.REG
[3] = ATTR_array___Array____items(fra
.me
.REG
[3]);
276 REGB3
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
277 if (UNTAG_Bool(REGB3
)) {
278 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
280 /* ./../lib/standard//collection//array.nit:654 */
281 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[3])->val
[UNTAG_Int(REGB0
)];
282 /* ./../lib/standard//collection//array.nit:246 */
285 /* ./abstracttool.nit:65 */
286 fra
.me
.REG
[3] = CALL_mmloader___ToolContext___get_module_from_filename(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
287 /* ./abstracttool.nit:66 */
288 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
289 /* ./../lib/standard//kernel.nit:334 */
291 /* ./../lib/standard//kernel.nit:215 */
292 REGB0
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB0
));
293 /* ./../lib/standard//kernel.nit:334 */
296 /* ./../lib/standard//kernel.nit:332 */
301 /* ./abstracttool.nit:68 */
302 fra
.me
.REG
[1] = CALL_mmloader___ToolContext___opt_log(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
303 fra
.me
.REG
[1] = CALL_opts___Option___value(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
304 if (UNTAG_Bool(fra
.me
.REG
[1])) {
305 /* ./abstracttool.nit:69 */
306 CALL_abstracttool___AbstractCompiler___dump_context_info(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
308 /* ./abstracttool.nit:72 */
309 REGB2
= CALL_abstract_collection___Collection___is_empty(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
310 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
311 if (UNTAG_Bool(REGB2
)) {
312 fra
.me
.REG
[1] = CALL_mmloader___ToolContext___opt_only_metamodel(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
313 fra
.me
.REG
[1] = CALL_opts___Option___value(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
314 REGB2
= TAG_Bool(!UNTAG_Bool(fra
.me
.REG
[1]));
316 REGB1
= TAG_Bool(false);
319 if (UNTAG_Bool(REGB2
)) {
320 fra
.me
.REG
[1] = CALL_mmloader___ToolContext___opt_only_parse(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
321 fra
.me
.REG
[1] = CALL_opts___Option___value(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
322 REGB2
= TAG_Bool(!UNTAG_Bool(fra
.me
.REG
[1]));
324 REGB1
= TAG_Bool(false);
327 if (UNTAG_Bool(REGB2
)) {
328 /* ./abstracttool.nit:73 */
329 CALL_abstracttool___AbstractCompiler___perform_work(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
331 stack_frame_head
= fra
.me
.prev
;
334 void abstracttool___AbstractCompiler___perform_work(val_t p0
, val_t p1
){
335 struct {struct stack_frame_t me
;} fra
;
337 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
338 fra
.me
.file
= LOCATE_abstracttool
;
340 fra
.me
.meth
= LOCATE_abstracttool___AbstractCompiler___perform_work
;
341 fra
.me
.has_broke
= 0;
343 /* ./abstracttool.nit:77 */
344 nit_abort("Deferred method called", NULL
, LOCATE_abstracttool
, 77);
345 stack_frame_head
= fra
.me
.prev
;
348 void abstracttool___AbstractCompiler___dump_context_info(val_t p0
){
349 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
352 static val_t once_value_2
; /* Once value */
353 static val_t once_value_3
; /* Once value */
354 static val_t once_value_4
; /* Once value */
355 static val_t once_value_5
; /* Once value */
356 static val_t once_value_6
; /* Once value */
357 static val_t once_value_7
; /* Once value */
358 static val_t once_value_8
; /* Once value */
359 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
360 fra
.me
.file
= LOCATE_abstracttool
;
362 fra
.me
.meth
= LOCATE_abstracttool___AbstractCompiler___dump_context_info
;
363 fra
.me
.has_broke
= 0;
365 fra
.me
.REG
[0] = NIT_NULL
;
366 fra
.me
.REG
[1] = NIT_NULL
;
367 fra
.me
.REG
[2] = NIT_NULL
;
368 fra
.me
.REG
[3] = NIT_NULL
;
369 fra
.me
.REG
[4] = NIT_NULL
;
371 /* ./abstracttool.nit:81 */
372 fra
.me
.REG
[1] = CALL_abstractmetamodel___MMContext___module_hierarchy(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
373 CALL_abstract_collection___Collection___iterate(fra
.me
.REG
[1])(fra
.me
.REG
[1], (&(fra
.me
)), ((fun_t
)OC_abstracttool___AbstractCompiler___dump_context_info_1
));
374 /* ./abstracttool.nit:84 */
375 fra
.me
.REG
[1] = NEW_Array_array___Array___init();
376 /* ./abstracttool.nit:85 */
377 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMContext___module_hierarchy(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
378 CALL_abstract_collection___SimpleCollection___add_all(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
379 /* ./abstracttool.nit:86 */
380 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMContext___module_hierarchy(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
381 fra
.me
.REG
[1] = CALL_partial_order___PartialOrder___select_smallests(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
383 fra
.me
.REG
[2] = BOX_NativeString("-");
385 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
386 once_value_2
= fra
.me
.REG
[2];
387 register_static_object(&once_value_2
);
388 } else fra
.me
.REG
[2] = once_value_2
;
389 fra
.me
.REG
[2] = fra
.me
.REG
[2];
390 fra
.me
.REG
[2] = CALL_string___Collection___join(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
391 /* ./abstracttool.nit:88 */
393 fra
.me
.REG
[1] = NEW_Array_array___Array___with_capacity(REGB0
);
395 fra
.me
.REG
[3] = BOX_NativeString("");
397 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
398 once_value_3
= fra
.me
.REG
[3];
399 register_static_object(&once_value_3
);
400 } else fra
.me
.REG
[3] = once_value_3
;
401 fra
.me
.REG
[3] = fra
.me
.REG
[3];
402 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
403 fra
.me
.REG
[3] = CALL_mmloader___ToolContext___log_directory(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
404 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
406 fra
.me
.REG
[3] = BOX_NativeString("/");
408 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
409 once_value_4
= fra
.me
.REG
[3];
410 register_static_object(&once_value_4
);
411 } else fra
.me
.REG
[3] = once_value_4
;
412 fra
.me
.REG
[3] = fra
.me
.REG
[3];
413 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
414 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
416 fra
.me
.REG
[3] = BOX_NativeString(".full_class_hierarchy.new.dot");
418 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
419 once_value_5
= fra
.me
.REG
[3];
420 register_static_object(&once_value_5
);
421 } else fra
.me
.REG
[3] = once_value_5
;
422 fra
.me
.REG
[3] = fra
.me
.REG
[3];
423 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
424 fra
.me
.REG
[1] = CALL_string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
425 fra
.me
.REG
[1] = NEW_OFStream_file___OFStream___open(fra
.me
.REG
[1]);
426 /* ./abstracttool.nit:89 */
427 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMContext___class_hierarchy(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
428 fra
.me
.REG
[3] = CALL_partial_order___PartialOrder___to_dot(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
429 CALL_stream___OStream___write(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
430 /* ./abstracttool.nit:90 */
431 CALL_stream___IOS___close(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
432 /* ./abstracttool.nit:92 */
434 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
436 fra
.me
.REG
[4] = BOX_NativeString("");
438 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
439 once_value_6
= fra
.me
.REG
[4];
440 register_static_object(&once_value_6
);
441 } else fra
.me
.REG
[4] = once_value_6
;
442 fra
.me
.REG
[4] = fra
.me
.REG
[4];
443 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
444 fra
.me
.REG
[4] = CALL_mmloader___ToolContext___log_directory(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
445 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
447 fra
.me
.REG
[4] = BOX_NativeString("/");
449 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
450 once_value_7
= fra
.me
.REG
[4];
451 register_static_object(&once_value_7
);
452 } else fra
.me
.REG
[4] = once_value_7
;
453 fra
.me
.REG
[4] = fra
.me
.REG
[4];
454 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
455 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
457 fra
.me
.REG
[2] = BOX_NativeString(".module_hierarchy.new.dot");
459 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
460 once_value_8
= fra
.me
.REG
[2];
461 register_static_object(&once_value_8
);
462 } else fra
.me
.REG
[2] = once_value_8
;
463 fra
.me
.REG
[2] = fra
.me
.REG
[2];
464 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
465 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
466 fra
.me
.REG
[3] = NEW_OFStream_file___OFStream___open(fra
.me
.REG
[3]);
467 fra
.me
.REG
[1] = fra
.me
.REG
[3];
468 /* ./abstracttool.nit:93 */
469 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMContext___module_hierarchy(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
470 fra
.me
.REG
[0] = CALL_partial_order___PartialOrder___to_dot(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
471 CALL_stream___OStream___write(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
472 /* ./abstracttool.nit:94 */
473 CALL_stream___IOS___close(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
474 stack_frame_head
= fra
.me
.prev
;
477 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
){
478 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
481 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
482 fra
.me
.file
= LOCATE_abstracttool
;
484 fra
.me
.meth
= LOCATE_abstracttool___AbstractCompiler___dump_context_info
;
485 fra
.me
.has_broke
= 0;
487 fra
.me
.REG
[0] = NIT_NULL
;
488 fra
.me
.REG
[1] = NIT_NULL
;
489 fra
.me
.closure_ctx
= closctx_param
;
490 fra
.me
.closure_funs
= CREG
;
493 /* ./abstracttool.nit:82 */
494 fra
.me
.REG
[1] = CALL_mmloader___ToolContext___log_directory(closctx
->REG
[0])(closctx
->REG
[0]);
495 CALL_abstracttool___MMModule___dump_module_info(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
496 stack_frame_head
= fra
.me
.prev
;
499 void abstracttool___MMModule___dump_module_info(val_t p0
, val_t p1
){
500 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
503 static val_t once_value_1
; /* Once value */
504 static val_t once_value_2
; /* Once value */
505 static val_t once_value_3
; /* Once value */
506 static val_t once_value_4
; /* Once value */
507 static val_t once_value_5
; /* Once value */
508 static val_t once_value_6
; /* Once value */
509 static val_t once_value_7
; /* Once value */
510 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
511 fra
.me
.file
= LOCATE_abstracttool
;
513 fra
.me
.meth
= LOCATE_abstracttool___MMModule___dump_module_info
;
514 fra
.me
.has_broke
= 0;
516 fra
.me
.REG
[0] = NIT_NULL
;
517 fra
.me
.REG
[1] = NIT_NULL
;
518 fra
.me
.REG
[2] = NIT_NULL
;
519 fra
.me
.REG
[3] = NIT_NULL
;
520 fra
.me
.REG
[4] = NIT_NULL
;
523 /* ./abstracttool.nit:101 */
525 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
527 fra
.me
.REG
[3] = BOX_NativeString("");
529 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
530 once_value_1
= fra
.me
.REG
[3];
531 register_static_object(&once_value_1
);
532 } else fra
.me
.REG
[3] = once_value_1
;
533 fra
.me
.REG
[3] = fra
.me
.REG
[3];
534 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
535 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
537 fra
.me
.REG
[1] = BOX_NativeString("/");
539 fra
.me
.REG
[1] = NEW_String_string___String___with_native(fra
.me
.REG
[1], REGB0
);
540 once_value_2
= fra
.me
.REG
[1];
541 register_static_object(&once_value_2
);
542 } else fra
.me
.REG
[1] = once_value_2
;
543 fra
.me
.REG
[1] = fra
.me
.REG
[1];
544 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
545 fra
.me
.REG
[1] = CALL_abstractmetamodel___MMModule___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
546 fra
.me
.REG
[1] = CALL_string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
547 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
549 fra
.me
.REG
[1] = BOX_NativeString("");
551 fra
.me
.REG
[1] = NEW_String_string___String___with_native(fra
.me
.REG
[1], REGB0
);
552 once_value_3
= fra
.me
.REG
[1];
553 register_static_object(&once_value_3
);
554 } else fra
.me
.REG
[1] = once_value_3
;
555 fra
.me
.REG
[1] = fra
.me
.REG
[1];
556 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
557 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
558 /* ./abstracttool.nit:102 */
560 fra
.me
.REG
[1] = NEW_Array_array___Array___with_capacity(REGB0
);
562 fra
.me
.REG
[3] = BOX_NativeString("");
564 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
565 once_value_4
= fra
.me
.REG
[3];
566 register_static_object(&once_value_4
);
567 } else fra
.me
.REG
[3] = once_value_4
;
568 fra
.me
.REG
[3] = fra
.me
.REG
[3];
569 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
570 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
572 fra
.me
.REG
[3] = BOX_NativeString(".class_hierarchy.new.dot");
574 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
575 once_value_5
= fra
.me
.REG
[3];
576 register_static_object(&once_value_5
);
577 } else fra
.me
.REG
[3] = once_value_5
;
578 fra
.me
.REG
[3] = fra
.me
.REG
[3];
579 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
580 fra
.me
.REG
[1] = CALL_string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
581 fra
.me
.REG
[1] = NEW_OFStream_file___OFStream___open(fra
.me
.REG
[1]);
582 /* ./abstracttool.nit:103 */
583 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMModule___class_specialization_hierarchy(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
584 fra
.me
.REG
[3] = CALL_partial_order___PartialOrder___to_dot(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
585 CALL_stream___OStream___write(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
586 /* ./abstracttool.nit:104 */
587 CALL_stream___IOS___close(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
588 /* ./abstracttool.nit:106 */
590 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
592 fra
.me
.REG
[4] = BOX_NativeString("");
594 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
595 once_value_6
= fra
.me
.REG
[4];
596 register_static_object(&once_value_6
);
597 } else fra
.me
.REG
[4] = once_value_6
;
598 fra
.me
.REG
[4] = fra
.me
.REG
[4];
599 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
600 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
602 fra
.me
.REG
[2] = BOX_NativeString(".properties.log");
604 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
605 once_value_7
= fra
.me
.REG
[2];
606 register_static_object(&once_value_7
);
607 } else fra
.me
.REG
[2] = once_value_7
;
608 fra
.me
.REG
[2] = fra
.me
.REG
[2];
609 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
610 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
611 fra
.me
.REG
[3] = NEW_OFStream_file___OFStream___open(fra
.me
.REG
[3]);
612 fra
.me
.REG
[1] = fra
.me
.REG
[3];
613 /* ./abstracttool.nit:107 */
614 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMModule___local_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
615 CALL_abstract_collection___Collection___iterate(fra
.me
.REG
[0])(fra
.me
.REG
[0], (&(fra
.me
)), ((fun_t
)OC_abstracttool___MMModule___dump_module_info_8
));
616 /* ./abstracttool.nit:111 */
617 CALL_stream___IOS___close(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
618 stack_frame_head
= fra
.me
.prev
;
621 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
){
622 struct {struct stack_frame_t me
;} fra
;
626 static val_t once_value_9
; /* Once value */
627 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
628 fra
.me
.file
= LOCATE_abstracttool
;
630 fra
.me
.meth
= LOCATE_abstracttool___MMModule___dump_module_info
;
631 fra
.me
.has_broke
= 0;
633 fra
.me
.REG
[0] = NIT_NULL
;
634 fra
.me
.closure_ctx
= closctx_param
;
635 fra
.me
.closure_funs
= CREG
;
638 /* ./abstracttool.nit:108 */
639 CALL_abstracttool___MMLocalClass___dump_properties(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1]);
640 /* ./abstracttool.nit:109 */
642 fra
.me
.REG
[0] = BOX_NativeString("\n");
644 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
645 once_value_9
= fra
.me
.REG
[0];
646 register_static_object(&once_value_9
);
647 } else fra
.me
.REG
[0] = once_value_9
;
648 fra
.me
.REG
[0] = fra
.me
.REG
[0];
649 CALL_stream___OStream___write(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[0]);
650 stack_frame_head
= fra
.me
.prev
;
653 void abstracttool___MMLocalClass___dump_properties(val_t p0
, val_t p1
){
654 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
659 static val_t once_value_1
; /* Once value */
660 static val_t once_value_2
; /* Once value */
661 static val_t once_value_3
; /* Once value */
662 static val_t once_value_4
; /* Once value */
663 static val_t once_value_9
; /* Once value */
664 static val_t once_value_10
; /* Once value */
665 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
666 fra
.me
.file
= LOCATE_abstracttool
;
668 fra
.me
.meth
= LOCATE_abstracttool___MMLocalClass___dump_properties
;
669 fra
.me
.has_broke
= 0;
671 fra
.me
.REG
[0] = NIT_NULL
;
672 fra
.me
.REG
[1] = NIT_NULL
;
673 fra
.me
.REG
[2] = NIT_NULL
;
674 fra
.me
.REG
[3] = NIT_NULL
;
677 /* ./abstracttool.nit:118 */
679 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
681 fra
.me
.REG
[3] = BOX_NativeString("class ");
683 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
684 once_value_1
= fra
.me
.REG
[3];
685 register_static_object(&once_value_1
);
686 } else fra
.me
.REG
[3] = once_value_1
;
687 fra
.me
.REG
[3] = fra
.me
.REG
[3];
688 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
689 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
690 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
692 fra
.me
.REG
[3] = BOX_NativeString("\n");
694 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
695 once_value_2
= fra
.me
.REG
[3];
696 register_static_object(&once_value_2
);
697 } else fra
.me
.REG
[3] = once_value_2
;
698 fra
.me
.REG
[3] = fra
.me
.REG
[3];
699 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
700 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
701 CALL_stream___OStream___write(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
702 /* ./abstracttool.nit:119 */
703 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
704 REGB0
= CALL_abstractmetamodel___MMGlobalClass___visibility_level(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
706 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
707 if (UNTAG_Bool(REGB2
)) {
709 /* ./../lib/standard//kernel.nit:207 */
710 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
711 /* ./abstracttool.nit:119 */
714 if (UNTAG_Bool(REGB2
)) {
715 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
716 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
717 REGB2
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[0],fra
.me
.REG
[2]));
718 if (UNTAG_Bool(REGB2
)) {
720 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
723 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
725 REGB1
= TAG_Bool(false);
728 if (UNTAG_Bool(REGB2
)) {
729 /* ./abstracttool.nit:120 */
731 fra
.me
.REG
[2] = BOX_NativeString("\tclass not visible in this module\n");
733 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB2
);
734 once_value_3
= fra
.me
.REG
[2];
735 register_static_object(&once_value_3
);
736 } else fra
.me
.REG
[2] = once_value_3
;
737 fra
.me
.REG
[2] = fra
.me
.REG
[2];
738 CALL_stream___OStream___write(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
740 /* ./abstracttool.nit:121 */
741 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMLocalClass___mmmodule(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
742 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
743 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMGlobalClass___mmmodule(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
744 REGB2
= CALL_abstractmetamodel___MMModule___visibility_for(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
746 REGB0
= TAG_Bool(IS_EQUAL_OO(REGB2
,REGB1
));
747 if (UNTAG_Bool(REGB0
)) {
749 /* ./../lib/standard//kernel.nit:207 */
750 REGB1
= TAG_Bool((REGB2
)==(REGB1
));
751 /* ./abstracttool.nit:121 */
754 if (UNTAG_Bool(REGB0
)) {
755 /* ./abstracttool.nit:122 */
757 fra
.me
.REG
[3] = BOX_NativeString("\tclass is defined later in the hierarchy\n");
759 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
760 once_value_4
= fra
.me
.REG
[3];
761 register_static_object(&once_value_4
);
762 } else fra
.me
.REG
[3] = once_value_4
;
763 fra
.me
.REG
[3] = fra
.me
.REG
[3];
764 CALL_stream___OStream___write(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
766 /* ./abstracttool.nit:124 */
767 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalClass___global_properties(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
768 CALL_abstract_collection___Collection___iterate(fra
.me
.REG
[3])(fra
.me
.REG
[3], (&(fra
.me
)), ((fun_t
)OC_abstracttool___MMLocalClass___dump_properties_5
));
771 /* ./abstracttool.nit:129 */
773 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
775 fra
.me
.REG
[2] = BOX_NativeString("end # ");
777 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
778 once_value_9
= fra
.me
.REG
[2];
779 register_static_object(&once_value_9
);
780 } else fra
.me
.REG
[2] = once_value_9
;
781 fra
.me
.REG
[2] = fra
.me
.REG
[2];
782 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
783 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
784 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
785 if (!once_value_10
) {
786 fra
.me
.REG
[0] = BOX_NativeString("\n");
788 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
789 once_value_10
= fra
.me
.REG
[0];
790 register_static_object(&once_value_10
);
791 } else fra
.me
.REG
[0] = once_value_10
;
792 fra
.me
.REG
[0] = fra
.me
.REG
[0];
793 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
794 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
795 CALL_stream___OStream___write(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
796 stack_frame_head
= fra
.me
.prev
;
799 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
){
800 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
804 static val_t once_value_6
; /* Once value */
805 static val_t once_value_7
; /* Once value */
806 static val_t once_value_8
; /* Once value */
807 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
808 fra
.me
.file
= LOCATE_abstracttool
;
810 fra
.me
.meth
= LOCATE_abstracttool___MMLocalClass___dump_properties
;
811 fra
.me
.has_broke
= 0;
813 fra
.me
.REG
[0] = NIT_NULL
;
814 fra
.me
.REG
[1] = NIT_NULL
;
815 fra
.me
.REG
[2] = NIT_NULL
;
816 fra
.me
.closure_ctx
= closctx_param
;
817 fra
.me
.closure_funs
= CREG
;
820 /* ./abstracttool.nit:125 */
821 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMLocalClass_____bra(closctx
->REG
[0])(closctx
->REG
[0], fra
.me
.REG
[0]);
822 /* ./abstracttool.nit:126 */
824 fra
.me
.REG
[1] = NEW_Array_array___Array___with_capacity(REGB0
);
826 fra
.me
.REG
[2] = BOX_NativeString("\t");
828 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
829 once_value_6
= fra
.me
.REG
[2];
830 register_static_object(&once_value_6
);
831 } else fra
.me
.REG
[2] = once_value_6
;
832 fra
.me
.REG
[2] = fra
.me
.REG
[2];
833 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
834 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
835 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
837 fra
.me
.REG
[2] = BOX_NativeString("");
839 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
840 once_value_7
= fra
.me
.REG
[2];
841 register_static_object(&once_value_7
);
842 } else fra
.me
.REG
[2] = once_value_7
;
843 fra
.me
.REG
[2] = fra
.me
.REG
[2];
844 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
845 fra
.me
.REG
[2] = CALL_static_type___MMLocalClass___get_type(closctx
->REG
[0])(closctx
->REG
[0]);
846 fra
.me
.REG
[2] = CALL_static_type___MMLocalProperty___signature_for(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
847 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
848 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
850 fra
.me
.REG
[2] = BOX_NativeString("\n");
852 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
853 once_value_8
= fra
.me
.REG
[2];
854 register_static_object(&once_value_8
);
855 } else fra
.me
.REG
[2] = once_value_8
;
856 fra
.me
.REG
[2] = fra
.me
.REG
[2];
857 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
858 fra
.me
.REG
[1] = CALL_string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
859 CALL_stream___OStream___write(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[1]);
860 stack_frame_head
= fra
.me
.prev
;