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
;
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
.nitni_local_ref_head
= NULL
;
15 fra
.me
.REG
[0] = NIT_NULL
;
16 fra
.me
.REG
[1] = NIT_NULL
;
17 fra
.me
.REG
[2] = NIT_NULL
;
20 /* abstracttool.nit:29 */
21 fra
.me
.REG
[2] = fra
.me
.REG
[0];
22 /* abstracttool.nit:31 */
23 ATTR_abstracttool___AbstractCompiler____tool_name(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
24 /* abstracttool.nit:32 */
25 CALL_toolcontext___ToolContext___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
26 /* abstracttool.nit:33 */
27 fra
.me
.REG
[0] = NEW_SrcModuleLoader_syntax___SrcModuleLoader___init();
28 CALL_mmloader___ToolContext___register_loader(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
29 stack_frame_head
= fra
.me
.prev
;
30 init_table
[itpos0
] = 1;
33 val_t
abstracttool___AbstractCompiler___tool_name(val_t p0
){
34 struct {struct stack_frame_t me
;} fra
;
37 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
38 fra
.me
.file
= LOCATE_abstracttool
;
40 fra
.me
.meth
= LOCATE_abstracttool___AbstractCompiler___tool_name
;
43 fra
.me
.nitni_local_ref_head
= NULL
;
44 fra
.me
.REG
[0] = NIT_NULL
;
46 /* abstracttool.nit:36 */
47 REGB0
= TAG_Bool(ATTR_abstracttool___AbstractCompiler____tool_name(fra
.me
.REG
[0])!=NIT_NULL
);
48 if (UNTAG_Bool(REGB0
)) {
50 nit_abort("Uninitialized attribute %s", "_tool_name", LOCATE_abstracttool
, 36);
52 fra
.me
.REG
[0] = ATTR_abstracttool___AbstractCompiler____tool_name(fra
.me
.REG
[0]);
53 stack_frame_head
= fra
.me
.prev
;
56 void abstracttool___AbstractCompiler___exec_cmd_line(val_t p0
){
57 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
64 static val_t once_value_1
; /* Once value */
65 static val_t once_value_2
; /* Once value */
66 static val_t once_value_3
; /* Once value */
67 static val_t once_value_4
; /* Once value */
68 static val_t once_value_5
; /* Once value */
69 static val_t once_value_6
; /* Once value */
70 static val_t once_value_7
; /* Once value */
71 static val_t once_value_8
; /* Once value */
72 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
73 fra
.me
.file
= LOCATE_abstracttool
;
75 fra
.me
.meth
= LOCATE_abstracttool___AbstractCompiler___exec_cmd_line
;
78 fra
.me
.nitni_local_ref_head
= NULL
;
79 fra
.me
.REG
[0] = NIT_NULL
;
80 fra
.me
.REG
[1] = NIT_NULL
;
81 fra
.me
.REG
[2] = NIT_NULL
;
82 fra
.me
.REG
[3] = NIT_NULL
;
84 /* abstracttool.nit:42 */
85 CALL_toolcontext___ToolContext___process_options(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
86 /* abstracttool.nit:44 */
87 fra
.me
.REG
[1] = CALL_toolcontext___ToolContext___opt_version(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
88 fra
.me
.REG
[1] = CALL_opts___Option___value(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
89 if (UNTAG_Bool(fra
.me
.REG
[1])) {
90 /* abstracttool.nit:45 */
92 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
94 fra
.me
.REG
[2] = BOX_NativeString("");
96 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
97 once_value_1
= fra
.me
.REG
[2];
98 register_static_object(&once_value_1
);
99 } else fra
.me
.REG
[2] = once_value_1
;
100 fra
.me
.REG
[2] = fra
.me
.REG
[2];
101 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
102 fra
.me
.REG
[2] = CALL_abstracttool___AbstractCompiler___tool_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
103 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
105 fra
.me
.REG
[2] = BOX_NativeString(" version ");
107 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
108 once_value_2
= fra
.me
.REG
[2];
109 register_static_object(&once_value_2
);
110 } else fra
.me
.REG
[2] = once_value_2
;
111 fra
.me
.REG
[2] = fra
.me
.REG
[2];
112 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
113 fra
.me
.REG
[2] = CALL_nit_version___Object___nit_version(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
114 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
116 fra
.me
.REG
[2] = BOX_NativeString("");
118 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
119 once_value_3
= fra
.me
.REG
[2];
120 register_static_object(&once_value_3
);
121 } else fra
.me
.REG
[2] = once_value_3
;
122 fra
.me
.REG
[2] = fra
.me
.REG
[2];
123 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
124 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
125 CALL_standard___file___Object___print(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
126 /* abstracttool.nit:46 */
128 CALL_standard___kernel___Object___exit(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
130 /* abstracttool.nit:49 */
131 fra
.me
.REG
[1] = CALL_toolcontext___ToolContext___opt_help(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
132 fra
.me
.REG
[1] = CALL_opts___Option___value(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
133 if (UNTAG_Bool(fra
.me
.REG
[1])) {
134 /* abstracttool.nit:50 */
136 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
138 fra
.me
.REG
[2] = BOX_NativeString("usage: ");
140 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
141 once_value_4
= fra
.me
.REG
[2];
142 register_static_object(&once_value_4
);
143 } else fra
.me
.REG
[2] = once_value_4
;
144 fra
.me
.REG
[2] = fra
.me
.REG
[2];
145 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
146 fra
.me
.REG
[2] = CALL_abstracttool___AbstractCompiler___tool_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
147 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
149 fra
.me
.REG
[2] = BOX_NativeString(" [options] file...");
151 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
152 once_value_5
= fra
.me
.REG
[2];
153 register_static_object(&once_value_5
);
154 } else fra
.me
.REG
[2] = once_value_5
;
155 fra
.me
.REG
[2] = fra
.me
.REG
[2];
156 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
157 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
158 CALL_standard___file___Object___print(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
159 /* abstracttool.nit:51 */
160 fra
.me
.REG
[1] = CALL_toolcontext___ToolContext___option_context(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
161 CALL_opts___OptionContext___usage(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
162 /* abstracttool.nit:52 */
164 CALL_standard___kernel___Object___exit(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
166 /* abstracttool.nit:55 */
167 fra
.me
.REG
[1] = CALL_toolcontext___ToolContext___option_context(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
168 fra
.me
.REG
[1] = CALL_opts___OptionContext___rest(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
169 /* ../lib/standard/collection/array.nit:24 */
170 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
171 if (UNTAG_Bool(REGB0
)) {
173 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
175 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
176 /* abstracttool.nit:55 */
178 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
179 if (UNTAG_Bool(REGB2
)) {
181 /* ../lib/standard/kernel.nit:227 */
182 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
183 /* abstracttool.nit:55 */
186 if (UNTAG_Bool(REGB2
)) {
187 /* abstracttool.nit:56 */
189 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
191 fra
.me
.REG
[2] = BOX_NativeString("usage: ");
193 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB2
);
194 once_value_6
= fra
.me
.REG
[2];
195 register_static_object(&once_value_6
);
196 } else fra
.me
.REG
[2] = once_value_6
;
197 fra
.me
.REG
[2] = fra
.me
.REG
[2];
198 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
199 fra
.me
.REG
[2] = CALL_abstracttool___AbstractCompiler___tool_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
200 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
202 fra
.me
.REG
[2] = BOX_NativeString(" [options] file...");
204 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB2
);
205 once_value_7
= fra
.me
.REG
[2];
206 register_static_object(&once_value_7
);
207 } else fra
.me
.REG
[2] = once_value_7
;
208 fra
.me
.REG
[2] = fra
.me
.REG
[2];
209 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
210 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
211 CALL_standard___file___Object___print(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
212 /* abstracttool.nit:57 */
213 fra
.me
.REG
[1] = CALL_toolcontext___ToolContext___option_context(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
214 CALL_opts___OptionContext___usage(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
215 /* abstracttool.nit:58 */
217 CALL_standard___kernel___Object___exit(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB2
);
219 /* abstracttool.nit:61 */
220 fra
.me
.REG
[1] = CALL_toolcontext___ToolContext___option_context(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
221 fra
.me
.REG
[1] = CALL_opts___OptionContext___rest(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
222 /* abstracttool.nit:62 */
223 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___init();
224 /* abstracttool.nit:63 */
226 fra
.me
.REG
[3] = BOX_NativeString("Syntax analysis");
228 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB2
);
229 once_value_8
= fra
.me
.REG
[3];
230 register_static_object(&once_value_8
);
231 } else fra
.me
.REG
[3] = once_value_8
;
232 fra
.me
.REG
[3] = fra
.me
.REG
[3];
234 CALL_toolcontext___ToolContext___info(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3], REGB2
);
235 /* abstracttool.nit:64 */
237 /* ../lib/standard/collection/array.nit:24 */
238 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
239 if (UNTAG_Bool(REGB1
)) {
241 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
243 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
244 /* ../lib/standard/kernel.nit:352 */
246 REGB0
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
247 if (UNTAG_Bool(REGB0
)) {
249 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
251 /* ../lib/standard/kernel.nit:232 */
252 REGB0
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB1
));
253 /* ../lib/standard/kernel.nit:352 */
254 if (UNTAG_Bool(REGB0
)) {
255 /* abstracttool.nit:64 */
257 /* ../lib/standard/collection/array.nit:278 */
258 fra
.me
.REG
[3] = fra
.me
.REG
[1];
259 /* ../lib/standard/collection/array.nit:280 */
261 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
262 if (UNTAG_Bool(REGB4
)) {
264 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
266 /* ../lib/standard/kernel.nit:233 */
267 REGB3
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB3
));
268 /* ../lib/standard/collection/array.nit:280 */
269 if (UNTAG_Bool(REGB3
)) {
270 REGB3
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
271 if (UNTAG_Bool(REGB3
)) {
273 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
275 REGB3
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
276 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
277 if (UNTAG_Bool(REGB4
)) {
279 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
281 /* ../lib/standard/kernel.nit:232 */
282 REGB3
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB3
));
284 /* ../lib/standard/collection/array.nit:280 */
285 REGB4
= TAG_Bool(false);
288 if (UNTAG_Bool(REGB3
)) {
290 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
292 /* ../lib/standard/collection/array.nit:281 */
293 fra
.me
.REG
[3] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[3]);
294 REGB3
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
295 if (UNTAG_Bool(REGB3
)) {
296 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
298 /* ../lib/standard/collection/array.nit:718 */
299 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[3])->val
[UNTAG_Int(REGB0
)];
300 /* ../lib/standard/collection/array.nit:281 */
303 /* abstracttool.nit:65 */
304 fra
.me
.REG
[3] = CALL_mmloader___ToolContext___get_module_from_filename(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
305 /* abstracttool.nit:66 */
306 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
307 /* ../lib/standard/kernel.nit:354 */
309 /* ../lib/standard/kernel.nit:235 */
310 REGB0
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB0
));
311 /* ../lib/standard/kernel.nit:354 */
314 /* ../lib/standard/kernel.nit:352 */
319 /* abstracttool.nit:68 */
320 fra
.me
.REG
[1] = CALL_toolcontext___ToolContext___opt_log(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 if (UNTAG_Bool(fra
.me
.REG
[1])) {
323 /* abstracttool.nit:69 */
324 CALL_abstracttool___AbstractCompiler___dump_context_info(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
326 /* abstracttool.nit:72 */
327 REGB2
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
328 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
329 if (UNTAG_Bool(REGB2
)) {
330 fra
.me
.REG
[1] = CALL_mmloader___ToolContext___opt_only_metamodel(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
331 fra
.me
.REG
[1] = CALL_opts___Option___value(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
332 REGB2
= TAG_Bool(!UNTAG_Bool(fra
.me
.REG
[1]));
334 REGB1
= TAG_Bool(false);
337 if (UNTAG_Bool(REGB2
)) {
338 fra
.me
.REG
[1] = CALL_mmloader___ToolContext___opt_only_parse(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
339 fra
.me
.REG
[1] = CALL_opts___Option___value(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
340 REGB2
= TAG_Bool(!UNTAG_Bool(fra
.me
.REG
[1]));
342 REGB1
= TAG_Bool(false);
345 if (UNTAG_Bool(REGB2
)) {
346 /* abstracttool.nit:73 */
347 CALL_abstracttool___AbstractCompiler___perform_work(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
349 stack_frame_head
= fra
.me
.prev
;
352 void abstracttool___AbstractCompiler___perform_work(val_t p0
, val_t p1
){
353 struct {struct stack_frame_t me
;} fra
;
355 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
356 fra
.me
.file
= LOCATE_abstracttool
;
358 fra
.me
.meth
= LOCATE_abstracttool___AbstractCompiler___perform_work
;
359 fra
.me
.has_broke
= 0;
361 fra
.me
.nitni_local_ref_head
= NULL
;
362 /* abstracttool.nit:77 */
363 nit_abort("Deferred method called", NULL
, LOCATE_abstracttool
, 77);
364 stack_frame_head
= fra
.me
.prev
;
367 void abstracttool___AbstractCompiler___dump_context_info(val_t p0
){
368 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
371 static val_t once_value_2
; /* Once value */
372 static val_t once_value_3
; /* Once value */
373 static val_t once_value_4
; /* Once value */
374 static val_t once_value_5
; /* Once value */
375 static val_t once_value_6
; /* Once value */
376 static val_t once_value_7
; /* Once value */
377 static val_t once_value_8
; /* Once value */
378 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
379 fra
.me
.file
= LOCATE_abstracttool
;
381 fra
.me
.meth
= LOCATE_abstracttool___AbstractCompiler___dump_context_info
;
382 fra
.me
.has_broke
= 0;
384 fra
.me
.nitni_local_ref_head
= NULL
;
385 fra
.me
.REG
[0] = NIT_NULL
;
386 fra
.me
.REG
[1] = NIT_NULL
;
387 fra
.me
.REG
[2] = NIT_NULL
;
388 fra
.me
.REG
[3] = NIT_NULL
;
389 fra
.me
.REG
[4] = NIT_NULL
;
391 /* abstracttool.nit:81 */
392 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMContext___module_hierarchy(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
393 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
));
394 /* abstracttool.nit:84 */
395 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___init();
396 /* abstracttool.nit:85 */
397 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMContext___module_hierarchy(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
398 CALL_standard___collection___abstract_collection___SimpleCollection___add_all(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
399 /* abstracttool.nit:86 */
400 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMContext___module_hierarchy(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
401 fra
.me
.REG
[1] = CALL_metamodel___partial_order___PartialOrder___select_smallests(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
403 fra
.me
.REG
[2] = BOX_NativeString("-");
405 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
406 once_value_2
= fra
.me
.REG
[2];
407 register_static_object(&once_value_2
);
408 } else fra
.me
.REG
[2] = once_value_2
;
409 fra
.me
.REG
[2] = fra
.me
.REG
[2];
410 fra
.me
.REG
[2] = CALL_standard___string___Collection___join(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
411 /* abstracttool.nit:88 */
413 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
415 fra
.me
.REG
[3] = BOX_NativeString("");
417 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
418 once_value_3
= fra
.me
.REG
[3];
419 register_static_object(&once_value_3
);
420 } else fra
.me
.REG
[3] = once_value_3
;
421 fra
.me
.REG
[3] = fra
.me
.REG
[3];
422 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
423 fra
.me
.REG
[3] = CALL_toolcontext___ToolContext___log_directory(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
424 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
426 fra
.me
.REG
[3] = BOX_NativeString("/");
428 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
429 once_value_4
= fra
.me
.REG
[3];
430 register_static_object(&once_value_4
);
431 } else fra
.me
.REG
[3] = once_value_4
;
432 fra
.me
.REG
[3] = fra
.me
.REG
[3];
433 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
434 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
436 fra
.me
.REG
[3] = BOX_NativeString(".full_class_hierarchy.new.dot");
438 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
439 once_value_5
= fra
.me
.REG
[3];
440 register_static_object(&once_value_5
);
441 } else fra
.me
.REG
[3] = once_value_5
;
442 fra
.me
.REG
[3] = fra
.me
.REG
[3];
443 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
444 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
445 fra
.me
.REG
[1] = NEW_OFStream_standard___file___OFStream___open(fra
.me
.REG
[1]);
446 /* abstracttool.nit:89 */
447 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMContext___class_hierarchy(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
448 fra
.me
.REG
[3] = CALL_metamodel___partial_order___PartialOrder___to_dot(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
449 CALL_standard___stream___OStream___write(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
450 /* abstracttool.nit:90 */
451 CALL_standard___stream___IOS___close(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
452 /* abstracttool.nit:92 */
454 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
456 fra
.me
.REG
[4] = BOX_NativeString("");
458 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
459 once_value_6
= fra
.me
.REG
[4];
460 register_static_object(&once_value_6
);
461 } else fra
.me
.REG
[4] = once_value_6
;
462 fra
.me
.REG
[4] = fra
.me
.REG
[4];
463 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
464 fra
.me
.REG
[4] = CALL_toolcontext___ToolContext___log_directory(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
465 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
467 fra
.me
.REG
[4] = BOX_NativeString("/");
469 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
470 once_value_7
= fra
.me
.REG
[4];
471 register_static_object(&once_value_7
);
472 } else fra
.me
.REG
[4] = once_value_7
;
473 fra
.me
.REG
[4] = fra
.me
.REG
[4];
474 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
475 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
477 fra
.me
.REG
[2] = BOX_NativeString(".module_hierarchy.new.dot");
479 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
480 once_value_8
= fra
.me
.REG
[2];
481 register_static_object(&once_value_8
);
482 } else fra
.me
.REG
[2] = once_value_8
;
483 fra
.me
.REG
[2] = fra
.me
.REG
[2];
484 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
485 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
486 fra
.me
.REG
[3] = NEW_OFStream_standard___file___OFStream___open(fra
.me
.REG
[3]);
487 fra
.me
.REG
[1] = fra
.me
.REG
[3];
488 /* abstracttool.nit:93 */
489 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMContext___module_hierarchy(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
490 fra
.me
.REG
[0] = CALL_metamodel___partial_order___PartialOrder___to_dot(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
491 CALL_standard___stream___OStream___write(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
492 /* abstracttool.nit:94 */
493 CALL_standard___stream___IOS___close(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
494 stack_frame_head
= fra
.me
.prev
;
497 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
){
498 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
501 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
502 fra
.me
.file
= LOCATE_abstracttool
;
504 fra
.me
.meth
= LOCATE_abstracttool___AbstractCompiler___dump_context_info
;
505 fra
.me
.has_broke
= 0;
507 fra
.me
.nitni_local_ref_head
= NULL
;
508 fra
.me
.REG
[0] = NIT_NULL
;
509 fra
.me
.REG
[1] = NIT_NULL
;
510 fra
.me
.closure_ctx
= closctx_param
;
511 fra
.me
.closure_funs
= CREG
;
514 /* abstracttool.nit:82 */
515 fra
.me
.REG
[1] = CALL_toolcontext___ToolContext___log_directory(closctx
->REG
[0])(closctx
->REG
[0]);
516 CALL_abstracttool___MMModule___dump_module_info(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
517 stack_frame_head
= fra
.me
.prev
;
520 void abstracttool___MMModule___dump_module_info(val_t p0
, val_t p1
){
521 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
524 static val_t once_value_1
; /* Once value */
525 static val_t once_value_2
; /* Once value */
526 static val_t once_value_3
; /* Once value */
527 static val_t once_value_4
; /* Once value */
528 static val_t once_value_5
; /* Once value */
529 static val_t once_value_6
; /* Once value */
530 static val_t once_value_7
; /* Once value */
531 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
532 fra
.me
.file
= LOCATE_abstracttool
;
534 fra
.me
.meth
= LOCATE_abstracttool___MMModule___dump_module_info
;
535 fra
.me
.has_broke
= 0;
537 fra
.me
.nitni_local_ref_head
= NULL
;
538 fra
.me
.REG
[0] = NIT_NULL
;
539 fra
.me
.REG
[1] = NIT_NULL
;
540 fra
.me
.REG
[2] = NIT_NULL
;
541 fra
.me
.REG
[3] = NIT_NULL
;
542 fra
.me
.REG
[4] = NIT_NULL
;
545 /* abstracttool.nit:101 */
547 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
549 fra
.me
.REG
[3] = BOX_NativeString("");
551 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
552 once_value_1
= fra
.me
.REG
[3];
553 register_static_object(&once_value_1
);
554 } else fra
.me
.REG
[3] = once_value_1
;
555 fra
.me
.REG
[3] = fra
.me
.REG
[3];
556 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
557 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
559 fra
.me
.REG
[1] = BOX_NativeString("/");
561 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
562 once_value_2
= fra
.me
.REG
[1];
563 register_static_object(&once_value_2
);
564 } else fra
.me
.REG
[1] = once_value_2
;
565 fra
.me
.REG
[1] = fra
.me
.REG
[1];
566 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
567 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMModule___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
568 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
569 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
571 fra
.me
.REG
[1] = BOX_NativeString("");
573 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
574 once_value_3
= fra
.me
.REG
[1];
575 register_static_object(&once_value_3
);
576 } else fra
.me
.REG
[1] = once_value_3
;
577 fra
.me
.REG
[1] = fra
.me
.REG
[1];
578 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
579 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
580 /* abstracttool.nit:102 */
582 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
584 fra
.me
.REG
[3] = BOX_NativeString("");
586 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
587 once_value_4
= fra
.me
.REG
[3];
588 register_static_object(&once_value_4
);
589 } else fra
.me
.REG
[3] = once_value_4
;
590 fra
.me
.REG
[3] = fra
.me
.REG
[3];
591 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
592 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
594 fra
.me
.REG
[3] = BOX_NativeString(".class_hierarchy.new.dot");
596 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
597 once_value_5
= fra
.me
.REG
[3];
598 register_static_object(&once_value_5
);
599 } else fra
.me
.REG
[3] = once_value_5
;
600 fra
.me
.REG
[3] = fra
.me
.REG
[3];
601 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
602 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
603 fra
.me
.REG
[1] = NEW_OFStream_standard___file___OFStream___open(fra
.me
.REG
[1]);
604 /* abstracttool.nit:103 */
605 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMModule___class_specialization_hierarchy(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
606 fra
.me
.REG
[3] = CALL_metamodel___partial_order___PartialOrder___to_dot(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
607 CALL_standard___stream___OStream___write(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
608 /* abstracttool.nit:104 */
609 CALL_standard___stream___IOS___close(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
610 /* abstracttool.nit:106 */
612 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
614 fra
.me
.REG
[4] = BOX_NativeString("");
616 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
617 once_value_6
= fra
.me
.REG
[4];
618 register_static_object(&once_value_6
);
619 } else fra
.me
.REG
[4] = once_value_6
;
620 fra
.me
.REG
[4] = fra
.me
.REG
[4];
621 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
622 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
624 fra
.me
.REG
[2] = BOX_NativeString(".properties.log");
626 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
627 once_value_7
= fra
.me
.REG
[2];
628 register_static_object(&once_value_7
);
629 } else fra
.me
.REG
[2] = once_value_7
;
630 fra
.me
.REG
[2] = fra
.me
.REG
[2];
631 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
632 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
633 fra
.me
.REG
[3] = NEW_OFStream_standard___file___OFStream___open(fra
.me
.REG
[3]);
634 fra
.me
.REG
[1] = fra
.me
.REG
[3];
635 /* abstracttool.nit:107 */
636 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMModule___local_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
637 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
));
638 /* abstracttool.nit:111 */
639 CALL_standard___stream___IOS___close(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
640 stack_frame_head
= fra
.me
.prev
;
643 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
){
644 struct {struct stack_frame_t me
;} fra
;
648 static val_t once_value_9
; /* Once value */
649 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
650 fra
.me
.file
= LOCATE_abstracttool
;
652 fra
.me
.meth
= LOCATE_abstracttool___MMModule___dump_module_info
;
653 fra
.me
.has_broke
= 0;
655 fra
.me
.nitni_local_ref_head
= NULL
;
656 fra
.me
.REG
[0] = NIT_NULL
;
657 fra
.me
.closure_ctx
= closctx_param
;
658 fra
.me
.closure_funs
= CREG
;
661 /* abstracttool.nit:108 */
662 CALL_abstracttool___MMLocalClass___dump_properties(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1]);
663 /* abstracttool.nit:109 */
665 fra
.me
.REG
[0] = BOX_NativeString("\n");
667 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
668 once_value_9
= fra
.me
.REG
[0];
669 register_static_object(&once_value_9
);
670 } else fra
.me
.REG
[0] = once_value_9
;
671 fra
.me
.REG
[0] = fra
.me
.REG
[0];
672 CALL_standard___stream___OStream___write(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[0]);
673 stack_frame_head
= fra
.me
.prev
;
676 void abstracttool___MMLocalClass___dump_properties(val_t p0
, val_t p1
){
677 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
682 static val_t once_value_1
; /* Once value */
683 static val_t once_value_2
; /* Once value */
684 static val_t once_value_3
; /* Once value */
685 static val_t once_value_4
; /* Once value */
686 static val_t once_value_9
; /* Once value */
687 static val_t once_value_10
; /* Once value */
688 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
689 fra
.me
.file
= LOCATE_abstracttool
;
691 fra
.me
.meth
= LOCATE_abstracttool___MMLocalClass___dump_properties
;
692 fra
.me
.has_broke
= 0;
694 fra
.me
.nitni_local_ref_head
= NULL
;
695 fra
.me
.REG
[0] = NIT_NULL
;
696 fra
.me
.REG
[1] = NIT_NULL
;
697 fra
.me
.REG
[2] = NIT_NULL
;
698 fra
.me
.REG
[3] = NIT_NULL
;
701 /* abstracttool.nit:118 */
703 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
705 fra
.me
.REG
[3] = BOX_NativeString("class ");
707 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
708 once_value_1
= fra
.me
.REG
[3];
709 register_static_object(&once_value_1
);
710 } else fra
.me
.REG
[3] = once_value_1
;
711 fra
.me
.REG
[3] = fra
.me
.REG
[3];
712 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
713 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
714 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
716 fra
.me
.REG
[3] = BOX_NativeString("\n");
718 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
719 once_value_2
= fra
.me
.REG
[3];
720 register_static_object(&once_value_2
);
721 } else fra
.me
.REG
[3] = once_value_2
;
722 fra
.me
.REG
[3] = fra
.me
.REG
[3];
723 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
724 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
725 CALL_standard___stream___OStream___write(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
726 /* abstracttool.nit:119 */
727 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
728 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalClass___visibility_level(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
730 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
731 if (UNTAG_Bool(REGB2
)) {
733 /* ../lib/standard/kernel.nit:227 */
734 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
735 /* abstracttool.nit:119 */
738 if (UNTAG_Bool(REGB2
)) {
739 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
740 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
741 REGB2
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[0],fra
.me
.REG
[2]));
742 if (UNTAG_Bool(REGB2
)) {
744 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
747 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
749 REGB1
= TAG_Bool(false);
752 if (UNTAG_Bool(REGB2
)) {
753 /* abstracttool.nit:120 */
755 fra
.me
.REG
[2] = BOX_NativeString("\tclass not visible in this module\n");
757 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB2
);
758 once_value_3
= fra
.me
.REG
[2];
759 register_static_object(&once_value_3
);
760 } else fra
.me
.REG
[2] = once_value_3
;
761 fra
.me
.REG
[2] = fra
.me
.REG
[2];
762 CALL_standard___stream___OStream___write(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
764 /* abstracttool.nit:121 */
765 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___mmmodule(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
766 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
767 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMGlobalClass___mmmodule(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
768 REGB2
= CALL_metamodel___abstractmetamodel___MMModule___visibility_for(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
770 REGB0
= TAG_Bool(IS_EQUAL_OO(REGB2
,REGB1
));
771 if (UNTAG_Bool(REGB0
)) {
773 /* ../lib/standard/kernel.nit:227 */
774 REGB1
= TAG_Bool((REGB2
)==(REGB1
));
775 /* abstracttool.nit:121 */
778 if (UNTAG_Bool(REGB0
)) {
779 /* abstracttool.nit:122 */
781 fra
.me
.REG
[3] = BOX_NativeString("\tclass is defined later in the hierarchy\n");
783 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
784 once_value_4
= fra
.me
.REG
[3];
785 register_static_object(&once_value_4
);
786 } else fra
.me
.REG
[3] = once_value_4
;
787 fra
.me
.REG
[3] = fra
.me
.REG
[3];
788 CALL_standard___stream___OStream___write(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
790 /* abstracttool.nit:124 */
791 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___global_properties(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
792 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
));
795 /* abstracttool.nit:129 */
797 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
799 fra
.me
.REG
[2] = BOX_NativeString("end # ");
801 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
802 once_value_9
= fra
.me
.REG
[2];
803 register_static_object(&once_value_9
);
804 } else fra
.me
.REG
[2] = once_value_9
;
805 fra
.me
.REG
[2] = fra
.me
.REG
[2];
806 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
807 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(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 if (!once_value_10
) {
810 fra
.me
.REG
[0] = BOX_NativeString("\n");
812 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
813 once_value_10
= fra
.me
.REG
[0];
814 register_static_object(&once_value_10
);
815 } else fra
.me
.REG
[0] = once_value_10
;
816 fra
.me
.REG
[0] = fra
.me
.REG
[0];
817 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
818 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
819 CALL_standard___stream___OStream___write(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
820 stack_frame_head
= fra
.me
.prev
;
823 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
){
824 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
828 static val_t once_value_6
; /* Once value */
829 static val_t once_value_7
; /* Once value */
830 static val_t once_value_8
; /* Once value */
831 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
832 fra
.me
.file
= LOCATE_abstracttool
;
834 fra
.me
.meth
= LOCATE_abstracttool___MMLocalClass___dump_properties
;
835 fra
.me
.has_broke
= 0;
837 fra
.me
.nitni_local_ref_head
= NULL
;
838 fra
.me
.REG
[0] = NIT_NULL
;
839 fra
.me
.REG
[1] = NIT_NULL
;
840 fra
.me
.REG
[2] = NIT_NULL
;
841 fra
.me
.closure_ctx
= closctx_param
;
842 fra
.me
.closure_funs
= CREG
;
845 /* abstracttool.nit:125 */
846 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalClass_____bra(closctx
->REG
[0])(closctx
->REG
[0], fra
.me
.REG
[0]);
847 /* abstracttool.nit:126 */
849 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
851 fra
.me
.REG
[2] = BOX_NativeString("\t");
853 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
854 once_value_6
= fra
.me
.REG
[2];
855 register_static_object(&once_value_6
);
856 } else fra
.me
.REG
[2] = once_value_6
;
857 fra
.me
.REG
[2] = fra
.me
.REG
[2];
858 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
859 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
860 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
862 fra
.me
.REG
[2] = BOX_NativeString("");
864 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
865 once_value_7
= fra
.me
.REG
[2];
866 register_static_object(&once_value_7
);
867 } else fra
.me
.REG
[2] = once_value_7
;
868 fra
.me
.REG
[2] = fra
.me
.REG
[2];
869 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
870 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMLocalClass___get_type(closctx
->REG
[0])(closctx
->REG
[0]);
871 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMLocalProperty___signature_for(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
872 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
873 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
875 fra
.me
.REG
[2] = BOX_NativeString("\n");
877 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
878 once_value_8
= fra
.me
.REG
[2];
879 register_static_object(&once_value_8
);
880 } else fra
.me
.REG
[2] = once_value_8
;
881 fra
.me
.REG
[2] = fra
.me
.REG
[2];
882 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
883 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
884 CALL_standard___stream___OStream___write(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[1]);
885 stack_frame_head
= fra
.me
.prev
;