ni_nitdoc: added fast copy past utility to signatures.
[nit.git] / c_src / abstracttool._sep.c
1 /* This C file is generated by NIT to compile module abstracttool. */
2 #include "abstracttool._sep.h"
3 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;
7 val_t tmp;
8 if (init_table[itpos0]) return;
9 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10 fra.me.file = LOCATE_abstracttool;
11 fra.me.line = 29;
12 fra.me.meth = LOCATE_abstracttool___AbstractCompiler___init;
13 fra.me.has_broke = 0;
14 fra.me.REG_size = 3;
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;
19 fra.me.REG[0] = p0;
20 fra.me.REG[1] = p1;
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;
32 return;
33 }
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;
37 val_t REGB0;
38 val_t tmp;
39 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40 fra.me.file = LOCATE_abstracttool;
41 fra.me.line = 36;
42 fra.me.meth = LOCATE_abstracttool___AbstractCompiler___tool_name;
43 fra.me.has_broke = 0;
44 fra.me.REG_size = 1;
45 fra.me.nitni_local_ref_head = NULL;
46 fra.me.REG[0] = NIT_NULL;
47 fra.me.REG[0] = p0;
48 /* abstracttool.nit:36 */
49 REGB0 = TAG_Bool(ATTR_abstracttool___AbstractCompiler____tool_name(fra.me.REG[0])!=NIT_NULL);
50 if (UNTAG_Bool(REGB0)) {
51 } else {
52 nit_abort("Uninitialized attribute %s", "_tool_name", LOCATE_abstracttool, 36);
53 }
54 fra.me.REG[0] = ATTR_abstracttool___AbstractCompiler____tool_name(fra.me.REG[0]);
55 stack_frame_head = fra.me.prev;
56 return fra.me.REG[0];
57 }
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;
61 val_t REGB0;
62 val_t REGB1;
63 val_t REGB2;
64 val_t REGB3;
65 val_t REGB4;
66 val_t tmp;
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;
77 fra.me.line = 40;
78 fra.me.meth = LOCATE_abstracttool___AbstractCompiler___exec_cmd_line;
79 fra.me.has_broke = 0;
80 fra.me.REG_size = 4;
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;
86 fra.me.REG[0] = p0;
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 */
94 REGB0 = TAG_Int(5);
95 fra.me.REG[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
96 if (!once_value_1) {
97 fra.me.REG[2] = BOX_NativeString("");
98 REGB0 = TAG_Int(0);
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]);
107 if (!once_value_2) {
108 fra.me.REG[2] = BOX_NativeString(" version ");
109 REGB0 = TAG_Int(9);
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]);
118 if (!once_value_3) {
119 fra.me.REG[2] = BOX_NativeString("");
120 REGB0 = TAG_Int(0);
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 */
130 REGB0 = TAG_Int(0);
131 CALL_standard___kernel___Object___exit(fra.me.REG[0])(fra.me.REG[0], REGB0);
132 }
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 */
138 REGB0 = TAG_Int(3);
139 fra.me.REG[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
140 if (!once_value_4) {
141 fra.me.REG[2] = BOX_NativeString("usage: ");
142 REGB0 = TAG_Int(7);
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]);
151 if (!once_value_5) {
152 fra.me.REG[2] = BOX_NativeString(" [options] file...");
153 REGB0 = TAG_Int(18);
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 */
166 REGB0 = TAG_Int(0);
167 CALL_standard___kernel___Object___exit(fra.me.REG[0])(fra.me.REG[0], REGB0);
168 }
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)) {
175 } else {
176 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
177 }
178 REGB0 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1]);
179 /* abstracttool.nit:55 */
180 REGB1 = TAG_Int(0);
181 REGB2 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1));
182 if (UNTAG_Bool(REGB2)) {
183 } else {
184 /* ../lib/standard/kernel.nit:230 */
185 REGB1 = TAG_Bool((REGB0)==(REGB1));
186 /* abstracttool.nit:55 */
187 REGB2 = REGB1;
188 }
189 if (UNTAG_Bool(REGB2)) {
190 /* abstracttool.nit:56 */
191 REGB2 = TAG_Int(3);
192 fra.me.REG[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2);
193 if (!once_value_6) {
194 fra.me.REG[2] = BOX_NativeString("usage: ");
195 REGB2 = TAG_Int(7);
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]);
204 if (!once_value_7) {
205 fra.me.REG[2] = BOX_NativeString(" [options] file...");
206 REGB2 = TAG_Int(18);
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 */
219 REGB2 = TAG_Int(1);
220 CALL_standard___kernel___Object___exit(fra.me.REG[0])(fra.me.REG[0], REGB2);
221 }
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 */
228 if (!once_value_8) {
229 fra.me.REG[3] = BOX_NativeString("Syntax analysis");
230 REGB2 = TAG_Int(15);
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];
236 REGB2 = TAG_Int(1);
237 CALL_toolcontext___ToolContext___info(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3], REGB2);
238 /* abstracttool.nit:64 */
239 REGB2 = TAG_Int(0);
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)) {
243 } else {
244 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
245 }
246 REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1]);
247 /* ../lib/standard/kernel.nit:355 */
248 while(1) {
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)) {
251 } else {
252 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
253 }
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 */
259 REGB0 = REGB2;
260 /* ../lib/standard/collection/array.nit:278 */
261 fra.me.REG[3] = fra.me.REG[1];
262 /* ../lib/standard/collection/array.nit:280 */
263 REGB3 = TAG_Int(0);
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)) {
266 } else {
267 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
268 }
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)) {
275 } else {
276 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
277 }
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)) {
281 } else {
282 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
283 }
284 /* ../lib/standard/kernel.nit:235 */
285 REGB3 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB3));
286 } else {
287 /* ../lib/standard/collection/array.nit:280 */
288 REGB4 = TAG_Bool(0);
289 REGB3 = REGB4;
290 }
291 if (UNTAG_Bool(REGB3)) {
292 } else {
293 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
294 }
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);
300 }
301 /* ../lib/standard/collection/array.nit:724 */
302 fra.me.REG[3] = ((Nit_NativeArray)fra.me.REG[3])->val[UNTAG_Int(REGB0)];
303 /* ../lib/standard/collection/array.nit:281 */
304 goto label9;
305 label9: while(0);
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 */
311 REGB0 = TAG_Int(1);
312 /* ../lib/standard/kernel.nit:238 */
313 REGB0 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB0));
314 /* ../lib/standard/kernel.nit:357 */
315 REGB2 = REGB0;
316 } else {
317 /* ../lib/standard/kernel.nit:355 */
318 goto label10;
319 }
320 }
321 label10: while(0);
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]);
328 }
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]));
336 } else {
337 REGB1 = TAG_Bool(0);
338 REGB2 = REGB1;
339 }
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]));
344 } else {
345 REGB1 = TAG_Bool(0);
346 REGB2 = REGB1;
347 }
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]);
351 }
352 stack_frame_head = fra.me.prev;
353 return;
354 }
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;
358 val_t tmp;
359 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
360 fra.me.file = LOCATE_abstracttool;
361 fra.me.line = 77;
362 fra.me.meth = LOCATE_abstracttool___AbstractCompiler___perform_work;
363 fra.me.has_broke = 0;
364 fra.me.REG_size = 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;
369 return;
370 }
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;
374 val_t REGB0;
375 val_t tmp;
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;
385 fra.me.line = 79;
386 fra.me.meth = LOCATE_abstracttool___AbstractCompiler___dump_context_info;
387 fra.me.has_broke = 0;
388 fra.me.REG_size = 5;
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;
395 fra.me.REG[0] = p0;
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]);
407 if (!once_value_2) {
408 fra.me.REG[2] = BOX_NativeString("-");
409 REGB0 = TAG_Int(1);
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 */
417 REGB0 = TAG_Int(5);
418 fra.me.REG[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
419 if (!once_value_3) {
420 fra.me.REG[3] = BOX_NativeString("");
421 REGB0 = TAG_Int(0);
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]);
430 if (!once_value_4) {
431 fra.me.REG[3] = BOX_NativeString("/");
432 REGB0 = TAG_Int(1);
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]);
440 if (!once_value_5) {
441 fra.me.REG[3] = BOX_NativeString(".full_class_hierarchy.new.dot");
442 REGB0 = TAG_Int(29);
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 */
458 REGB0 = TAG_Int(5);
459 fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
460 if (!once_value_6) {
461 fra.me.REG[4] = BOX_NativeString("");
462 REGB0 = TAG_Int(0);
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]);
471 if (!once_value_7) {
472 fra.me.REG[4] = BOX_NativeString("/");
473 REGB0 = TAG_Int(1);
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]);
481 if (!once_value_8) {
482 fra.me.REG[2] = BOX_NativeString(".module_hierarchy.new.dot");
483 REGB0 = TAG_Int(25);
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;
500 return;
501 }
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;
504 fun_t CREG[1];
505 val_t tmp;
506 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
507 fra.me.file = LOCATE_abstracttool;
508 fra.me.line = 0;
509 fra.me.meth = LOCATE_abstracttool___AbstractCompiler___dump_context_info;
510 fra.me.has_broke = 0;
511 fra.me.REG_size = 2;
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;
517 fra.me.REG[0] = p0;
518 CREG[0] = clos_fun0;
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;
523 return;
524 }
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;
528 val_t REGB0;
529 val_t tmp;
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;
539 fra.me.line = 99;
540 fra.me.meth = LOCATE_abstracttool___MMModule___dump_module_info;
541 fra.me.has_broke = 0;
542 fra.me.REG_size = 5;
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;
549 fra.me.REG[0] = p0;
550 fra.me.REG[1] = p1;
551 /* abstracttool.nit:101 */
552 REGB0 = TAG_Int(5);
553 fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
554 if (!once_value_1) {
555 fra.me.REG[3] = BOX_NativeString("");
556 REGB0 = TAG_Int(0);
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]);
564 if (!once_value_2) {
565 fra.me.REG[1] = BOX_NativeString("/");
566 REGB0 = TAG_Int(1);
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]);
576 if (!once_value_3) {
577 fra.me.REG[1] = BOX_NativeString("");
578 REGB0 = TAG_Int(0);
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 */
587 REGB0 = TAG_Int(3);
588 fra.me.REG[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
589 if (!once_value_4) {
590 fra.me.REG[3] = BOX_NativeString("");
591 REGB0 = TAG_Int(0);
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]);
599 if (!once_value_5) {
600 fra.me.REG[3] = BOX_NativeString(".class_hierarchy.new.dot");
601 REGB0 = TAG_Int(24);
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 */
617 REGB0 = TAG_Int(3);
618 fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
619 if (!once_value_6) {
620 fra.me.REG[4] = BOX_NativeString("");
621 REGB0 = TAG_Int(0);
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]);
629 if (!once_value_7) {
630 fra.me.REG[2] = BOX_NativeString(".properties.log");
631 REGB0 = TAG_Int(15);
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;
647 return;
648 }
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;
651 val_t REGB0;
652 fun_t CREG[1];
653 val_t tmp;
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;
657 fra.me.line = 0;
658 fra.me.meth = LOCATE_abstracttool___MMModule___dump_module_info;
659 fra.me.has_broke = 0;
660 fra.me.REG_size = 1;
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;
665 fra.me.REG[0] = p0;
666 CREG[0] = clos_fun0;
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 */
670 if (!once_value_9) {
671 fra.me.REG[0] = BOX_NativeString("\n");
672 REGB0 = TAG_Int(1);
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;
680 return;
681 }
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;
685 val_t REGB0;
686 val_t REGB1;
687 val_t REGB2;
688 val_t tmp;
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;
697 fra.me.line = 116;
698 fra.me.meth = LOCATE_abstracttool___MMLocalClass___dump_properties;
699 fra.me.has_broke = 0;
700 fra.me.REG_size = 4;
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;
706 fra.me.REG[0] = p0;
707 fra.me.REG[1] = p1;
708 /* abstracttool.nit:118 */
709 REGB0 = TAG_Int(3);
710 fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
711 if (!once_value_1) {
712 fra.me.REG[3] = BOX_NativeString("class ");
713 REGB0 = TAG_Int(6);
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]);
722 if (!once_value_2) {
723 fra.me.REG[3] = BOX_NativeString("\n");
724 REGB0 = TAG_Int(1);
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]);
736 REGB1 = TAG_Int(3);
737 REGB2 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1));
738 if (UNTAG_Bool(REGB2)) {
739 } else {
740 /* ../lib/standard/kernel.nit:230 */
741 REGB1 = TAG_Bool((REGB0)==(REGB1));
742 /* abstracttool.nit:119 */
743 REGB2 = REGB1;
744 }
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)) {
750 } else {
751 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
752 REGB2 = REGB1;
753 }
754 REGB2 = TAG_Bool(!UNTAG_Bool(REGB2));
755 } else {
756 REGB1 = TAG_Bool(0);
757 REGB2 = REGB1;
758 }
759 if (UNTAG_Bool(REGB2)) {
760 /* abstracttool.nit:120 */
761 if (!once_value_3) {
762 fra.me.REG[2] = BOX_NativeString("\tclass not visible in this module\n");
763 REGB2 = TAG_Int(34);
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]);
770 } else {
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]);
776 REGB1 = TAG_Int(0);
777 REGB0 = TAG_Bool(IS_EQUAL_OO(REGB2,REGB1));
778 if (UNTAG_Bool(REGB0)) {
779 } else {
780 /* ../lib/standard/kernel.nit:230 */
781 REGB1 = TAG_Bool((REGB2)==(REGB1));
782 /* abstracttool.nit:121 */
783 REGB0 = REGB1;
784 }
785 if (UNTAG_Bool(REGB0)) {
786 /* abstracttool.nit:122 */
787 if (!once_value_4) {
788 fra.me.REG[3] = BOX_NativeString("\tclass is defined later in the hierarchy\n");
789 REGB0 = TAG_Int(41);
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]);
796 } else {
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));
800 }
801 }
802 /* abstracttool.nit:129 */
803 REGB0 = TAG_Int(3);
804 fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
805 if (!once_value_9) {
806 fra.me.REG[2] = BOX_NativeString("end # ");
807 REGB0 = TAG_Int(6);
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");
818 REGB0 = TAG_Int(1);
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;
828 return;
829 }
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;
832 val_t REGB0;
833 fun_t CREG[1];
834 val_t tmp;
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;
840 fra.me.line = 0;
841 fra.me.meth = LOCATE_abstracttool___MMLocalClass___dump_properties;
842 fra.me.has_broke = 0;
843 fra.me.REG_size = 3;
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;
850 fra.me.REG[0] = p0;
851 CREG[0] = clos_fun0;
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 */
855 REGB0 = TAG_Int(5);
856 fra.me.REG[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
857 if (!once_value_6) {
858 fra.me.REG[2] = BOX_NativeString("\t");
859 REGB0 = TAG_Int(1);
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]);
868 if (!once_value_7) {
869 fra.me.REG[2] = BOX_NativeString("");
870 REGB0 = TAG_Int(0);
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]);
881 if (!once_value_8) {
882 fra.me.REG[2] = BOX_NativeString("\n");
883 REGB0 = TAG_Int(1);
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;
893 return;
894 }
895 static const char LOCATE_abstracttool___AAnnotations___visit_all[] = "abstracttool::AAnnotations::(parser_prod::ANode::visit_all)";
896 void abstracttool___AAnnotations___visit_all(val_t p0, val_t p1){
897 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
898 val_t tmp;
899 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
900 fra.me.file = LOCATE_abstracttool;
901 fra.me.line = 134;
902 fra.me.meth = LOCATE_abstracttool___AAnnotations___visit_all;
903 fra.me.has_broke = 0;
904 fra.me.REG_size = 2;
905 fra.me.nitni_local_ref_head = NULL;
906 fra.me.REG[0] = NIT_NULL;
907 fra.me.REG[1] = NIT_NULL;
908 fra.me.REG[0] = p0;
909 fra.me.REG[1] = p1;
910 stack_frame_head = fra.me.prev;
911 return;
912 }