1 /* This C file is generated by NIT to compile module abstracttool. */
2 #include "abstracttool._sep.h"
3 static const char LOCATE_abstracttool___AbstractCompiler___init
[] = "abstracttool::AbstractCompiler::init";
4 void abstracttool___AbstractCompiler___init(val_t p0
, val_t p1
, int* init_table
){
5 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_abstracttool___AbstractCompiler
].i
;
6 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
8 if (init_table
[itpos0
]) return;
9 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10 fra
.me
.file
= LOCATE_abstracttool
;
12 fra
.me
.meth
= LOCATE_abstracttool___AbstractCompiler___init
;
15 fra
.me
.nitni_local_ref_head
= NULL
;
16 fra
.me
.REG
[0] = NIT_NULL
;
17 fra
.me
.REG
[1] = NIT_NULL
;
18 fra
.me
.REG
[2] = NIT_NULL
;
21 /* abstracttool.nit:29 */
22 fra
.me
.REG
[2] = fra
.me
.REG
[0];
23 /* abstracttool.nit:31 */
24 ATTR_abstracttool___AbstractCompiler____tool_name(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
25 /* abstracttool.nit:32 */
26 CALL_toolcontext___ToolContext___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
27 /* abstracttool.nit:33 */
28 fra
.me
.REG
[0] = NEW_SrcModuleLoader_syntax___SrcModuleLoader___init();
29 CALL_mmloader___ToolContext___register_loader(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
30 stack_frame_head
= fra
.me
.prev
;
31 init_table
[itpos0
] = 1;
34 static const char LOCATE_abstracttool___AbstractCompiler___tool_name
[] = "abstracttool::AbstractCompiler::tool_name";
35 val_t
abstracttool___AbstractCompiler___tool_name(val_t p0
){
36 struct {struct stack_frame_t me
;} fra
;
39 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
40 fra
.me
.file
= LOCATE_abstracttool
;
42 fra
.me
.meth
= LOCATE_abstracttool___AbstractCompiler___tool_name
;
45 fra
.me
.nitni_local_ref_head
= NULL
;
46 fra
.me
.REG
[0] = NIT_NULL
;
48 /* abstracttool.nit:36 */
49 REGB0
= TAG_Bool(ATTR_abstracttool___AbstractCompiler____tool_name(fra
.me
.REG
[0])!=NIT_NULL
);
50 if (UNTAG_Bool(REGB0
)) {
52 nit_abort("Uninitialized attribute %s", "_tool_name", LOCATE_abstracttool
, 36);
54 fra
.me
.REG
[0] = ATTR_abstracttool___AbstractCompiler____tool_name(fra
.me
.REG
[0]);
55 stack_frame_head
= fra
.me
.prev
;
58 static const char LOCATE_abstracttool___AbstractCompiler___exec_cmd_line
[] = "abstracttool::AbstractCompiler::exec_cmd_line";
59 void abstracttool___AbstractCompiler___exec_cmd_line(val_t p0
){
60 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
67 static val_t once_value_1
; /* Once value */
68 static val_t once_value_2
; /* Once value */
69 static val_t once_value_3
; /* Once value */
70 static val_t once_value_4
; /* Once value */
71 static val_t once_value_5
; /* Once value */
72 static val_t once_value_6
; /* Once value */
73 static val_t once_value_7
; /* Once value */
74 static val_t once_value_8
; /* Once value */
75 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
76 fra
.me
.file
= LOCATE_abstracttool
;
78 fra
.me
.meth
= LOCATE_abstracttool___AbstractCompiler___exec_cmd_line
;
81 fra
.me
.nitni_local_ref_head
= NULL
;
82 fra
.me
.REG
[0] = NIT_NULL
;
83 fra
.me
.REG
[1] = NIT_NULL
;
84 fra
.me
.REG
[2] = NIT_NULL
;
85 fra
.me
.REG
[3] = NIT_NULL
;
87 /* abstracttool.nit:42 */
88 CALL_toolcontext___ToolContext___process_options(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
89 /* abstracttool.nit:44 */
90 fra
.me
.REG
[1] = CALL_toolcontext___ToolContext___opt_version(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
91 fra
.me
.REG
[1] = CALL_opts___Option___value(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
92 if (UNTAG_Bool(fra
.me
.REG
[1])) {
93 /* abstracttool.nit:45 */
95 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
97 fra
.me
.REG
[2] = BOX_NativeString("");
99 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
100 once_value_1
= fra
.me
.REG
[2];
101 register_static_object(&once_value_1
);
102 } else fra
.me
.REG
[2] = once_value_1
;
103 fra
.me
.REG
[2] = fra
.me
.REG
[2];
104 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
105 fra
.me
.REG
[2] = CALL_abstracttool___AbstractCompiler___tool_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
106 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
108 fra
.me
.REG
[2] = BOX_NativeString(" version ");
110 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
111 once_value_2
= fra
.me
.REG
[2];
112 register_static_object(&once_value_2
);
113 } else fra
.me
.REG
[2] = once_value_2
;
114 fra
.me
.REG
[2] = fra
.me
.REG
[2];
115 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
116 fra
.me
.REG
[2] = CALL_nit_version___Object___nit_version(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
117 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
119 fra
.me
.REG
[2] = BOX_NativeString("");
121 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
122 once_value_3
= fra
.me
.REG
[2];
123 register_static_object(&once_value_3
);
124 } else fra
.me
.REG
[2] = once_value_3
;
125 fra
.me
.REG
[2] = fra
.me
.REG
[2];
126 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
127 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
128 CALL_standard___file___Object___print(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
129 /* abstracttool.nit:46 */
131 CALL_standard___kernel___Object___exit(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
133 /* abstracttool.nit:49 */
134 fra
.me
.REG
[1] = CALL_toolcontext___ToolContext___opt_help(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
135 fra
.me
.REG
[1] = CALL_opts___Option___value(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
136 if (UNTAG_Bool(fra
.me
.REG
[1])) {
137 /* abstracttool.nit:50 */
139 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
141 fra
.me
.REG
[2] = BOX_NativeString("usage: ");
143 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
144 once_value_4
= fra
.me
.REG
[2];
145 register_static_object(&once_value_4
);
146 } else fra
.me
.REG
[2] = once_value_4
;
147 fra
.me
.REG
[2] = fra
.me
.REG
[2];
148 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
149 fra
.me
.REG
[2] = CALL_abstracttool___AbstractCompiler___tool_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
150 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
152 fra
.me
.REG
[2] = BOX_NativeString(" [options] file...");
154 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
155 once_value_5
= fra
.me
.REG
[2];
156 register_static_object(&once_value_5
);
157 } else fra
.me
.REG
[2] = once_value_5
;
158 fra
.me
.REG
[2] = fra
.me
.REG
[2];
159 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
160 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
161 CALL_standard___file___Object___print(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
162 /* abstracttool.nit:51 */
163 fra
.me
.REG
[1] = CALL_toolcontext___ToolContext___option_context(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
164 CALL_opts___OptionContext___usage(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
165 /* abstracttool.nit:52 */
167 CALL_standard___kernel___Object___exit(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
169 /* abstracttool.nit:55 */
170 fra
.me
.REG
[1] = CALL_toolcontext___ToolContext___option_context(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
171 fra
.me
.REG
[1] = CALL_opts___OptionContext___rest(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
172 /* ../lib/standard/collection/array.nit:24 */
173 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
174 if (UNTAG_Bool(REGB0
)) {
176 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
178 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
179 /* abstracttool.nit:55 */
181 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
182 if (UNTAG_Bool(REGB2
)) {
184 /* ../lib/standard/kernel.nit:230 */
185 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
186 /* abstracttool.nit:55 */
189 if (UNTAG_Bool(REGB2
)) {
190 /* abstracttool.nit:56 */
192 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
194 fra
.me
.REG
[2] = BOX_NativeString("usage: ");
196 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB2
);
197 once_value_6
= fra
.me
.REG
[2];
198 register_static_object(&once_value_6
);
199 } else fra
.me
.REG
[2] = once_value_6
;
200 fra
.me
.REG
[2] = fra
.me
.REG
[2];
201 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
202 fra
.me
.REG
[2] = CALL_abstracttool___AbstractCompiler___tool_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
203 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
205 fra
.me
.REG
[2] = BOX_NativeString(" [options] file...");
207 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB2
);
208 once_value_7
= fra
.me
.REG
[2];
209 register_static_object(&once_value_7
);
210 } else fra
.me
.REG
[2] = once_value_7
;
211 fra
.me
.REG
[2] = fra
.me
.REG
[2];
212 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
213 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
214 CALL_standard___file___Object___print(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
215 /* abstracttool.nit:57 */
216 fra
.me
.REG
[1] = CALL_toolcontext___ToolContext___option_context(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
217 CALL_opts___OptionContext___usage(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
218 /* abstracttool.nit:58 */
220 CALL_standard___kernel___Object___exit(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB2
);
222 /* abstracttool.nit:61 */
223 fra
.me
.REG
[1] = CALL_toolcontext___ToolContext___option_context(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
224 fra
.me
.REG
[1] = CALL_opts___OptionContext___rest(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
225 /* abstracttool.nit:62 */
226 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___init();
227 /* abstracttool.nit:63 */
229 fra
.me
.REG
[3] = BOX_NativeString("Syntax analysis");
231 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB2
);
232 once_value_8
= fra
.me
.REG
[3];
233 register_static_object(&once_value_8
);
234 } else fra
.me
.REG
[3] = once_value_8
;
235 fra
.me
.REG
[3] = fra
.me
.REG
[3];
237 CALL_toolcontext___ToolContext___info(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3], REGB2
);
238 /* abstracttool.nit:64 */
240 /* ../lib/standard/collection/array.nit:24 */
241 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
242 if (UNTAG_Bool(REGB1
)) {
244 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
246 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
247 /* ../lib/standard/kernel.nit:355 */
249 REGB0
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
250 if (UNTAG_Bool(REGB0
)) {
252 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
254 /* ../lib/standard/kernel.nit:235 */
255 REGB0
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB1
));
256 /* ../lib/standard/kernel.nit:355 */
257 if (UNTAG_Bool(REGB0
)) {
258 /* abstracttool.nit:64 */
260 /* ../lib/standard/collection/array.nit:278 */
261 fra
.me
.REG
[3] = fra
.me
.REG
[1];
262 /* ../lib/standard/collection/array.nit:280 */
264 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
265 if (UNTAG_Bool(REGB4
)) {
267 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
269 /* ../lib/standard/kernel.nit:236 */
270 REGB3
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB3
));
271 /* ../lib/standard/collection/array.nit:280 */
272 if (UNTAG_Bool(REGB3
)) {
273 REGB3
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
274 if (UNTAG_Bool(REGB3
)) {
276 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
278 REGB3
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
279 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
280 if (UNTAG_Bool(REGB4
)) {
282 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
284 /* ../lib/standard/kernel.nit:235 */
285 REGB3
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB3
));
287 /* ../lib/standard/collection/array.nit:280 */
291 if (UNTAG_Bool(REGB3
)) {
293 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
295 /* ../lib/standard/collection/array.nit:281 */
296 fra
.me
.REG
[3] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[3]);
297 REGB3
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
298 if (UNTAG_Bool(REGB3
)) {
299 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
301 /* ../lib/standard/collection/array.nit:718 */
302 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[3])->val
[UNTAG_Int(REGB0
)];
303 /* ../lib/standard/collection/array.nit:281 */
306 /* abstracttool.nit:65 */
307 fra
.me
.REG
[3] = CALL_mmloader___ToolContext___get_module_from_filename(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
308 /* abstracttool.nit:66 */
309 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
310 /* ../lib/standard/kernel.nit:357 */
312 /* ../lib/standard/kernel.nit:238 */
313 REGB0
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB0
));
314 /* ../lib/standard/kernel.nit:357 */
317 /* ../lib/standard/kernel.nit:355 */
322 /* abstracttool.nit:68 */
323 fra
.me
.REG
[1] = CALL_toolcontext___ToolContext___opt_log(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
324 fra
.me
.REG
[1] = CALL_opts___Option___value(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
325 if (UNTAG_Bool(fra
.me
.REG
[1])) {
326 /* abstracttool.nit:69 */
327 CALL_abstracttool___AbstractCompiler___dump_context_info(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
329 /* abstracttool.nit:72 */
330 REGB2
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
331 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
332 if (UNTAG_Bool(REGB2
)) {
333 fra
.me
.REG
[1] = CALL_mmloader___ToolContext___opt_only_metamodel(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
334 fra
.me
.REG
[1] = CALL_opts___Option___value(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
335 REGB2
= TAG_Bool(!UNTAG_Bool(fra
.me
.REG
[1]));
340 if (UNTAG_Bool(REGB2
)) {
341 fra
.me
.REG
[1] = CALL_mmloader___ToolContext___opt_only_parse(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
342 fra
.me
.REG
[1] = CALL_opts___Option___value(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
343 REGB2
= TAG_Bool(!UNTAG_Bool(fra
.me
.REG
[1]));
348 if (UNTAG_Bool(REGB2
)) {
349 /* abstracttool.nit:73 */
350 CALL_abstracttool___AbstractCompiler___perform_work(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
352 stack_frame_head
= fra
.me
.prev
;
355 static const char LOCATE_abstracttool___AbstractCompiler___perform_work
[] = "abstracttool::AbstractCompiler::perform_work";
356 void abstracttool___AbstractCompiler___perform_work(val_t p0
, val_t p1
){
357 struct {struct stack_frame_t me
;} fra
;
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___perform_work
;
363 fra
.me
.has_broke
= 0;
365 fra
.me
.nitni_local_ref_head
= NULL
;
366 /* abstracttool.nit:77 */
367 nit_abort("Deferred method called", NULL
, LOCATE_abstracttool
, 77);
368 stack_frame_head
= fra
.me
.prev
;
371 static const char LOCATE_abstracttool___AbstractCompiler___dump_context_info
[] = "abstracttool::AbstractCompiler::dump_context_info";
372 void abstracttool___AbstractCompiler___dump_context_info(val_t p0
){
373 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
376 static val_t once_value_2
; /* Once value */
377 static val_t once_value_3
; /* Once value */
378 static val_t once_value_4
; /* Once value */
379 static val_t once_value_5
; /* Once value */
380 static val_t once_value_6
; /* Once value */
381 static val_t once_value_7
; /* Once value */
382 static val_t once_value_8
; /* Once value */
383 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
384 fra
.me
.file
= LOCATE_abstracttool
;
386 fra
.me
.meth
= LOCATE_abstracttool___AbstractCompiler___dump_context_info
;
387 fra
.me
.has_broke
= 0;
389 fra
.me
.nitni_local_ref_head
= NULL
;
390 fra
.me
.REG
[0] = NIT_NULL
;
391 fra
.me
.REG
[1] = NIT_NULL
;
392 fra
.me
.REG
[2] = NIT_NULL
;
393 fra
.me
.REG
[3] = NIT_NULL
;
394 fra
.me
.REG
[4] = NIT_NULL
;
396 /* abstracttool.nit:81 */
397 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMContext___module_hierarchy(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
398 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
));
399 /* abstracttool.nit:84 */
400 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___init();
401 /* abstracttool.nit:85 */
402 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMContext___module_hierarchy(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
403 CALL_standard___collection___abstract_collection___SimpleCollection___add_all(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
404 /* abstracttool.nit:86 */
405 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMContext___module_hierarchy(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
406 fra
.me
.REG
[1] = CALL_metamodel___partial_order___PartialOrder___select_smallests(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
408 fra
.me
.REG
[2] = BOX_NativeString("-");
410 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
411 once_value_2
= fra
.me
.REG
[2];
412 register_static_object(&once_value_2
);
413 } else fra
.me
.REG
[2] = once_value_2
;
414 fra
.me
.REG
[2] = fra
.me
.REG
[2];
415 fra
.me
.REG
[2] = CALL_standard___string___Collection___join(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
416 /* abstracttool.nit:88 */
418 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
420 fra
.me
.REG
[3] = BOX_NativeString("");
422 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
423 once_value_3
= fra
.me
.REG
[3];
424 register_static_object(&once_value_3
);
425 } else fra
.me
.REG
[3] = once_value_3
;
426 fra
.me
.REG
[3] = fra
.me
.REG
[3];
427 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
428 fra
.me
.REG
[3] = CALL_toolcontext___ToolContext___log_directory(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
429 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
431 fra
.me
.REG
[3] = BOX_NativeString("/");
433 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
434 once_value_4
= fra
.me
.REG
[3];
435 register_static_object(&once_value_4
);
436 } else fra
.me
.REG
[3] = once_value_4
;
437 fra
.me
.REG
[3] = fra
.me
.REG
[3];
438 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
439 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
441 fra
.me
.REG
[3] = BOX_NativeString(".full_class_hierarchy.new.dot");
443 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
444 once_value_5
= fra
.me
.REG
[3];
445 register_static_object(&once_value_5
);
446 } else fra
.me
.REG
[3] = once_value_5
;
447 fra
.me
.REG
[3] = fra
.me
.REG
[3];
448 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
449 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
450 fra
.me
.REG
[1] = NEW_OFStream_standard___file___OFStream___open(fra
.me
.REG
[1]);
451 /* abstracttool.nit:89 */
452 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMContext___class_hierarchy(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
453 fra
.me
.REG
[3] = CALL_metamodel___partial_order___PartialOrder___to_dot(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
454 CALL_standard___stream___OStream___write(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
455 /* abstracttool.nit:90 */
456 CALL_standard___stream___IOS___close(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
457 /* abstracttool.nit:92 */
459 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
461 fra
.me
.REG
[4] = BOX_NativeString("");
463 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
464 once_value_6
= fra
.me
.REG
[4];
465 register_static_object(&once_value_6
);
466 } else fra
.me
.REG
[4] = once_value_6
;
467 fra
.me
.REG
[4] = fra
.me
.REG
[4];
468 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
469 fra
.me
.REG
[4] = CALL_toolcontext___ToolContext___log_directory(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
470 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
472 fra
.me
.REG
[4] = BOX_NativeString("/");
474 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
475 once_value_7
= fra
.me
.REG
[4];
476 register_static_object(&once_value_7
);
477 } else fra
.me
.REG
[4] = once_value_7
;
478 fra
.me
.REG
[4] = fra
.me
.REG
[4];
479 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
480 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
482 fra
.me
.REG
[2] = BOX_NativeString(".module_hierarchy.new.dot");
484 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
485 once_value_8
= fra
.me
.REG
[2];
486 register_static_object(&once_value_8
);
487 } else fra
.me
.REG
[2] = once_value_8
;
488 fra
.me
.REG
[2] = fra
.me
.REG
[2];
489 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
490 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
491 fra
.me
.REG
[3] = NEW_OFStream_standard___file___OFStream___open(fra
.me
.REG
[3]);
492 fra
.me
.REG
[1] = fra
.me
.REG
[3];
493 /* abstracttool.nit:93 */
494 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMContext___module_hierarchy(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
495 fra
.me
.REG
[0] = CALL_metamodel___partial_order___PartialOrder___to_dot(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
496 CALL_standard___stream___OStream___write(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
497 /* abstracttool.nit:94 */
498 CALL_standard___stream___IOS___close(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
499 stack_frame_head
= fra
.me
.prev
;
502 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
){
503 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
506 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
507 fra
.me
.file
= LOCATE_abstracttool
;
509 fra
.me
.meth
= LOCATE_abstracttool___AbstractCompiler___dump_context_info
;
510 fra
.me
.has_broke
= 0;
512 fra
.me
.nitni_local_ref_head
= NULL
;
513 fra
.me
.REG
[0] = NIT_NULL
;
514 fra
.me
.REG
[1] = NIT_NULL
;
515 fra
.me
.closure_ctx
= closctx_param
;
516 fra
.me
.closure_funs
= CREG
;
519 /* abstracttool.nit:82 */
520 fra
.me
.REG
[1] = CALL_toolcontext___ToolContext___log_directory(closctx
->REG
[0])(closctx
->REG
[0]);
521 CALL_abstracttool___MMModule___dump_module_info(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
522 stack_frame_head
= fra
.me
.prev
;
525 static const char LOCATE_abstracttool___MMModule___dump_module_info
[] = "abstracttool::MMModule::dump_module_info";
526 void abstracttool___MMModule___dump_module_info(val_t p0
, val_t p1
){
527 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
530 static val_t once_value_1
; /* Once value */
531 static val_t once_value_2
; /* Once value */
532 static val_t once_value_3
; /* Once value */
533 static val_t once_value_4
; /* Once value */
534 static val_t once_value_5
; /* Once value */
535 static val_t once_value_6
; /* Once value */
536 static val_t once_value_7
; /* Once value */
537 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
538 fra
.me
.file
= LOCATE_abstracttool
;
540 fra
.me
.meth
= LOCATE_abstracttool___MMModule___dump_module_info
;
541 fra
.me
.has_broke
= 0;
543 fra
.me
.nitni_local_ref_head
= NULL
;
544 fra
.me
.REG
[0] = NIT_NULL
;
545 fra
.me
.REG
[1] = NIT_NULL
;
546 fra
.me
.REG
[2] = NIT_NULL
;
547 fra
.me
.REG
[3] = NIT_NULL
;
548 fra
.me
.REG
[4] = NIT_NULL
;
551 /* abstracttool.nit:101 */
553 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
555 fra
.me
.REG
[3] = BOX_NativeString("");
557 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
558 once_value_1
= fra
.me
.REG
[3];
559 register_static_object(&once_value_1
);
560 } else fra
.me
.REG
[3] = once_value_1
;
561 fra
.me
.REG
[3] = fra
.me
.REG
[3];
562 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
563 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
565 fra
.me
.REG
[1] = BOX_NativeString("/");
567 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
568 once_value_2
= fra
.me
.REG
[1];
569 register_static_object(&once_value_2
);
570 } else fra
.me
.REG
[1] = once_value_2
;
571 fra
.me
.REG
[1] = fra
.me
.REG
[1];
572 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
573 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMModule___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
574 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
575 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
577 fra
.me
.REG
[1] = BOX_NativeString("");
579 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
580 once_value_3
= fra
.me
.REG
[1];
581 register_static_object(&once_value_3
);
582 } else fra
.me
.REG
[1] = once_value_3
;
583 fra
.me
.REG
[1] = fra
.me
.REG
[1];
584 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
585 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
586 /* abstracttool.nit:102 */
588 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
590 fra
.me
.REG
[3] = BOX_NativeString("");
592 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
593 once_value_4
= fra
.me
.REG
[3];
594 register_static_object(&once_value_4
);
595 } else fra
.me
.REG
[3] = once_value_4
;
596 fra
.me
.REG
[3] = fra
.me
.REG
[3];
597 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
598 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
600 fra
.me
.REG
[3] = BOX_NativeString(".class_hierarchy.new.dot");
602 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
603 once_value_5
= fra
.me
.REG
[3];
604 register_static_object(&once_value_5
);
605 } else fra
.me
.REG
[3] = once_value_5
;
606 fra
.me
.REG
[3] = fra
.me
.REG
[3];
607 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
608 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
609 fra
.me
.REG
[1] = NEW_OFStream_standard___file___OFStream___open(fra
.me
.REG
[1]);
610 /* abstracttool.nit:103 */
611 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMModule___class_specialization_hierarchy(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
612 fra
.me
.REG
[3] = CALL_metamodel___partial_order___PartialOrder___to_dot(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
613 CALL_standard___stream___OStream___write(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
614 /* abstracttool.nit:104 */
615 CALL_standard___stream___IOS___close(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
616 /* abstracttool.nit:106 */
618 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
620 fra
.me
.REG
[4] = BOX_NativeString("");
622 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
623 once_value_6
= fra
.me
.REG
[4];
624 register_static_object(&once_value_6
);
625 } else fra
.me
.REG
[4] = once_value_6
;
626 fra
.me
.REG
[4] = fra
.me
.REG
[4];
627 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
628 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
630 fra
.me
.REG
[2] = BOX_NativeString(".properties.log");
632 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
633 once_value_7
= fra
.me
.REG
[2];
634 register_static_object(&once_value_7
);
635 } else fra
.me
.REG
[2] = once_value_7
;
636 fra
.me
.REG
[2] = fra
.me
.REG
[2];
637 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
638 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
639 fra
.me
.REG
[3] = NEW_OFStream_standard___file___OFStream___open(fra
.me
.REG
[3]);
640 fra
.me
.REG
[1] = fra
.me
.REG
[3];
641 /* abstracttool.nit:107 */
642 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMModule___local_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
643 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
));
644 /* abstracttool.nit:111 */
645 CALL_standard___stream___IOS___close(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
646 stack_frame_head
= fra
.me
.prev
;
649 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
){
650 struct {struct stack_frame_t me
;} fra
;
654 static val_t once_value_9
; /* Once value */
655 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
656 fra
.me
.file
= LOCATE_abstracttool
;
658 fra
.me
.meth
= LOCATE_abstracttool___MMModule___dump_module_info
;
659 fra
.me
.has_broke
= 0;
661 fra
.me
.nitni_local_ref_head
= NULL
;
662 fra
.me
.REG
[0] = NIT_NULL
;
663 fra
.me
.closure_ctx
= closctx_param
;
664 fra
.me
.closure_funs
= CREG
;
667 /* abstracttool.nit:108 */
668 CALL_abstracttool___MMLocalClass___dump_properties(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1]);
669 /* abstracttool.nit:109 */
671 fra
.me
.REG
[0] = BOX_NativeString("\n");
673 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
674 once_value_9
= fra
.me
.REG
[0];
675 register_static_object(&once_value_9
);
676 } else fra
.me
.REG
[0] = once_value_9
;
677 fra
.me
.REG
[0] = fra
.me
.REG
[0];
678 CALL_standard___stream___OStream___write(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[0]);
679 stack_frame_head
= fra
.me
.prev
;
682 static const char LOCATE_abstracttool___MMLocalClass___dump_properties
[] = "abstracttool::MMLocalClass::dump_properties";
683 void abstracttool___MMLocalClass___dump_properties(val_t p0
, val_t p1
){
684 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
689 static val_t once_value_1
; /* Once value */
690 static val_t once_value_2
; /* Once value */
691 static val_t once_value_3
; /* Once value */
692 static val_t once_value_4
; /* Once value */
693 static val_t once_value_9
; /* Once value */
694 static val_t once_value_10
; /* Once value */
695 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
696 fra
.me
.file
= LOCATE_abstracttool
;
698 fra
.me
.meth
= LOCATE_abstracttool___MMLocalClass___dump_properties
;
699 fra
.me
.has_broke
= 0;
701 fra
.me
.nitni_local_ref_head
= NULL
;
702 fra
.me
.REG
[0] = NIT_NULL
;
703 fra
.me
.REG
[1] = NIT_NULL
;
704 fra
.me
.REG
[2] = NIT_NULL
;
705 fra
.me
.REG
[3] = NIT_NULL
;
708 /* abstracttool.nit:118 */
710 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
712 fra
.me
.REG
[3] = BOX_NativeString("class ");
714 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
715 once_value_1
= fra
.me
.REG
[3];
716 register_static_object(&once_value_1
);
717 } else fra
.me
.REG
[3] = once_value_1
;
718 fra
.me
.REG
[3] = fra
.me
.REG
[3];
719 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
720 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
721 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
723 fra
.me
.REG
[3] = BOX_NativeString("\n");
725 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
726 once_value_2
= fra
.me
.REG
[3];
727 register_static_object(&once_value_2
);
728 } else fra
.me
.REG
[3] = once_value_2
;
729 fra
.me
.REG
[3] = fra
.me
.REG
[3];
730 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
731 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
732 CALL_standard___stream___OStream___write(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
733 /* abstracttool.nit:119 */
734 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
735 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalClass___visibility_level(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
737 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
738 if (UNTAG_Bool(REGB2
)) {
740 /* ../lib/standard/kernel.nit:230 */
741 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
742 /* abstracttool.nit:119 */
745 if (UNTAG_Bool(REGB2
)) {
746 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
747 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
748 REGB2
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[0],fra
.me
.REG
[2]));
749 if (UNTAG_Bool(REGB2
)) {
751 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
754 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
759 if (UNTAG_Bool(REGB2
)) {
760 /* abstracttool.nit:120 */
762 fra
.me
.REG
[2] = BOX_NativeString("\tclass not visible in this module\n");
764 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB2
);
765 once_value_3
= fra
.me
.REG
[2];
766 register_static_object(&once_value_3
);
767 } else fra
.me
.REG
[2] = once_value_3
;
768 fra
.me
.REG
[2] = fra
.me
.REG
[2];
769 CALL_standard___stream___OStream___write(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
771 /* abstracttool.nit:121 */
772 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___mmmodule(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
773 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
774 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMGlobalClass___mmmodule(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
775 REGB2
= CALL_metamodel___abstractmetamodel___MMModule___visibility_for(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
777 REGB0
= TAG_Bool(IS_EQUAL_OO(REGB2
,REGB1
));
778 if (UNTAG_Bool(REGB0
)) {
780 /* ../lib/standard/kernel.nit:230 */
781 REGB1
= TAG_Bool((REGB2
)==(REGB1
));
782 /* abstracttool.nit:121 */
785 if (UNTAG_Bool(REGB0
)) {
786 /* abstracttool.nit:122 */
788 fra
.me
.REG
[3] = BOX_NativeString("\tclass is defined later in the hierarchy\n");
790 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
791 once_value_4
= fra
.me
.REG
[3];
792 register_static_object(&once_value_4
);
793 } else fra
.me
.REG
[3] = once_value_4
;
794 fra
.me
.REG
[3] = fra
.me
.REG
[3];
795 CALL_standard___stream___OStream___write(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
797 /* abstracttool.nit:124 */
798 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___global_properties(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
799 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
));
802 /* abstracttool.nit:129 */
804 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
806 fra
.me
.REG
[2] = BOX_NativeString("end # ");
808 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
809 once_value_9
= fra
.me
.REG
[2];
810 register_static_object(&once_value_9
);
811 } else fra
.me
.REG
[2] = once_value_9
;
812 fra
.me
.REG
[2] = fra
.me
.REG
[2];
813 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
814 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
815 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
816 if (!once_value_10
) {
817 fra
.me
.REG
[0] = BOX_NativeString("\n");
819 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
820 once_value_10
= fra
.me
.REG
[0];
821 register_static_object(&once_value_10
);
822 } else fra
.me
.REG
[0] = once_value_10
;
823 fra
.me
.REG
[0] = fra
.me
.REG
[0];
824 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
825 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
826 CALL_standard___stream___OStream___write(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
827 stack_frame_head
= fra
.me
.prev
;
830 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
){
831 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
835 static val_t once_value_6
; /* Once value */
836 static val_t once_value_7
; /* Once value */
837 static val_t once_value_8
; /* Once value */
838 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
839 fra
.me
.file
= LOCATE_abstracttool
;
841 fra
.me
.meth
= LOCATE_abstracttool___MMLocalClass___dump_properties
;
842 fra
.me
.has_broke
= 0;
844 fra
.me
.nitni_local_ref_head
= NULL
;
845 fra
.me
.REG
[0] = NIT_NULL
;
846 fra
.me
.REG
[1] = NIT_NULL
;
847 fra
.me
.REG
[2] = NIT_NULL
;
848 fra
.me
.closure_ctx
= closctx_param
;
849 fra
.me
.closure_funs
= CREG
;
852 /* abstracttool.nit:125 */
853 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalClass_____bra(closctx
->REG
[0])(closctx
->REG
[0], fra
.me
.REG
[0]);
854 /* abstracttool.nit:126 */
856 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
858 fra
.me
.REG
[2] = BOX_NativeString("\t");
860 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
861 once_value_6
= fra
.me
.REG
[2];
862 register_static_object(&once_value_6
);
863 } else fra
.me
.REG
[2] = once_value_6
;
864 fra
.me
.REG
[2] = fra
.me
.REG
[2];
865 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
866 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
867 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
869 fra
.me
.REG
[2] = BOX_NativeString("");
871 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
872 once_value_7
= fra
.me
.REG
[2];
873 register_static_object(&once_value_7
);
874 } else fra
.me
.REG
[2] = once_value_7
;
875 fra
.me
.REG
[2] = fra
.me
.REG
[2];
876 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
877 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMLocalClass___get_type(closctx
->REG
[0])(closctx
->REG
[0]);
878 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMLocalProperty___signature_for(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
879 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
880 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
882 fra
.me
.REG
[2] = BOX_NativeString("\n");
884 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
885 once_value_8
= fra
.me
.REG
[2];
886 register_static_object(&once_value_8
);
887 } else fra
.me
.REG
[2] = once_value_8
;
888 fra
.me
.REG
[2] = fra
.me
.REG
[2];
889 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
890 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
891 CALL_standard___stream___OStream___write(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[1]);
892 stack_frame_head
= fra
.me
.prev
;