1 /* This C file is generated by NIT to compile module table_computation. */
2 #include "table_computation._sep.h"
3 val_t
table_computation___ColorContext___color(val_t p0
, val_t p1
){
4 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
7 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8 fra
.me
.file
= LOCATE_table_computation
;
10 fra
.me
.meth
= LOCATE_table_computation___ColorContext___color
;
13 fra
.me
.REG
[0] = NIT_NULL
;
14 fra
.me
.REG
[1] = NIT_NULL
;
17 REGB0
= TAG_Bool(ATTR_table_computation___ColorContext____colors(fra
.me
.REG
[0])!=NIT_NULL
);
18 /* ./compiling//table_computation.nit:32 */
19 if (UNTAG_Bool(REGB0
)) {
21 fprintf(stderr
, "Uninitialized attribute %s", "_colors");
22 fprintf(stderr
, " (%s:%d)\n", LOCATE_table_computation
, 32);
25 fra
.me
.REG
[0] = ATTR_table_computation___ColorContext____colors(fra
.me
.REG
[0]);
26 fra
.me
.REG
[1] = CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
27 REGB0
= fra
.me
.REG
[1];
30 stack_frame_head
= fra
.me
.prev
;
33 val_t
table_computation___ColorContext___has_color(val_t p0
, val_t p1
){
34 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
37 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
38 fra
.me
.file
= LOCATE_table_computation
;
40 fra
.me
.meth
= LOCATE_table_computation___ColorContext___has_color
;
43 fra
.me
.REG
[0] = NIT_NULL
;
44 fra
.me
.REG
[1] = NIT_NULL
;
47 REGB0
= TAG_Bool(ATTR_table_computation___ColorContext____colors(fra
.me
.REG
[0])!=NIT_NULL
);
48 /* ./compiling//table_computation.nit:38 */
49 if (UNTAG_Bool(REGB0
)) {
51 fprintf(stderr
, "Uninitialized attribute %s", "_colors");
52 fprintf(stderr
, " (%s:%d)\n", LOCATE_table_computation
, 38);
55 fra
.me
.REG
[0] = ATTR_table_computation___ColorContext____colors(fra
.me
.REG
[0]);
56 REGB0
= CALL_abstract_collection___MapRead___has_key(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
59 stack_frame_head
= fra
.me
.prev
;
62 void table_computation___ColorContext___color__eq(val_t p0
, val_t p1
, val_t p2
){
63 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
68 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
69 fra
.me
.file
= LOCATE_table_computation
;
71 fra
.me
.meth
= LOCATE_table_computation___ColorContext___color__eq
;
74 fra
.me
.REG
[0] = NIT_NULL
;
75 fra
.me
.REG
[1] = NIT_NULL
;
76 fra
.me
.REG
[2] = NIT_NULL
;
77 fra
.me
.REG
[3] = NIT_NULL
;
78 fra
.me
.REG
[4] = NIT_NULL
;
82 REGB1
= TAG_Bool(ATTR_table_computation___ColorContext____colors(fra
.me
.REG
[0])!=NIT_NULL
);
83 /* ./compiling//table_computation.nit:44 */
84 if (UNTAG_Bool(REGB1
)) {
86 fprintf(stderr
, "Uninitialized attribute %s", "_colors");
87 fprintf(stderr
, " (%s:%d)\n", LOCATE_table_computation
, 44);
90 fra
.me
.REG
[2] = ATTR_table_computation___ColorContext____colors(fra
.me
.REG
[0]);
91 CALL_abstract_collection___Map_____braeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1], REGB0
);
93 REGB2
= CALL_table_computation___TableElt___length(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
94 fra
.me
.REG
[2] = NEW_Range_range___Range___without_last(REGB1
, REGB2
);
95 fra
.me
.REG
[2] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
96 /* ./compiling//table_computation.nit:46 */
98 REGB2
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
99 if (UNTAG_Bool(REGB2
)) {
100 REGB2
= CALL_abstract_collection___Iterator___item(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
101 REGB1
= TAG_Bool(ATTR_table_computation___ColorContext____colors(fra
.me
.REG
[0])!=NIT_NULL
);
102 /* ./compiling//table_computation.nit:47 */
103 if (UNTAG_Bool(REGB1
)) {
105 fprintf(stderr
, "Uninitialized attribute %s", "_colors");
106 fprintf(stderr
, " (%s:%d)\n", LOCATE_table_computation
, 47);
109 fra
.me
.REG
[3] = ATTR_table_computation___ColorContext____colors(fra
.me
.REG
[0]);
110 fra
.me
.REG
[4] = CALL_table_computation___TableElt___item(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB2
);
111 CALL_abstract_collection___Map_____braeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4], REGB0
);
113 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
115 /* ./compiling//table_computation.nit:48 */
117 /* ./compiling//table_computation.nit:46 */
120 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
123 stack_frame_head
= fra
.me
.prev
;
126 void table_computation___ColorContext___init(val_t p0
, int* init_table
){
127 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_ColorContext
].i
;
128 struct {struct stack_frame_t me
;} fra
;
130 if (init_table
[itpos0
]) return;
131 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
132 fra
.me
.file
= LOCATE_table_computation
;
134 fra
.me
.meth
= LOCATE_table_computation___ColorContext___init
;
135 fra
.me
.has_broke
= 0;
137 stack_frame_head
= fra
.me
.prev
;
138 init_table
[itpos0
] = 1;
141 val_t
table_computation___TableInformation___max_class_table_length(val_t p0
){
142 struct {struct stack_frame_t me
;} fra
;
145 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
146 fra
.me
.file
= LOCATE_table_computation
;
148 fra
.me
.meth
= LOCATE_table_computation___TableInformation___max_class_table_length
;
149 fra
.me
.has_broke
= 0;
151 fra
.me
.REG
[0] = NIT_NULL
;
153 REGB0
= TAG_Bool(ATTR_table_computation___TableInformation____max_class_table_length(fra
.me
.REG
[0])!=NIT_NULL
);
154 /* ./compiling//table_computation.nit:56 */
155 if (UNTAG_Bool(REGB0
)) {
157 fprintf(stderr
, "Uninitialized attribute %s", "_max_class_table_length");
158 fprintf(stderr
, " (%s:%d)\n", LOCATE_table_computation
, 56);
161 REGB0
= ATTR_table_computation___TableInformation____max_class_table_length(fra
.me
.REG
[0]);
162 stack_frame_head
= fra
.me
.prev
;
165 void table_computation___TableInformation___max_class_table_length__eq(val_t p0
, val_t p1
){
166 struct {struct stack_frame_t me
;} fra
;
169 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
170 fra
.me
.file
= LOCATE_table_computation
;
172 fra
.me
.meth
= LOCATE_table_computation___TableInformation___max_class_table_length__eq
;
173 fra
.me
.has_broke
= 0;
175 fra
.me
.REG
[0] = NIT_NULL
;
178 /* ./compiling//table_computation.nit:56 */
179 ATTR_table_computation___TableInformation____max_class_table_length(fra
.me
.REG
[0]) = REGB0
;
180 stack_frame_head
= fra
.me
.prev
;
183 val_t
table_computation___CompiledClass___local_class(val_t p0
){
184 struct {struct stack_frame_t me
;} fra
;
187 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
188 fra
.me
.file
= LOCATE_table_computation
;
190 fra
.me
.meth
= LOCATE_table_computation___CompiledClass___local_class
;
191 fra
.me
.has_broke
= 0;
193 fra
.me
.REG
[0] = NIT_NULL
;
195 REGB0
= TAG_Bool(ATTR_table_computation___CompiledClass____local_class(fra
.me
.REG
[0])!=NIT_NULL
);
196 /* ./compiling//table_computation.nit:63 */
197 if (UNTAG_Bool(REGB0
)) {
199 fprintf(stderr
, "Uninitialized attribute %s", "_local_class");
200 fprintf(stderr
, " (%s:%d)\n", LOCATE_table_computation
, 63);
203 fra
.me
.REG
[0] = ATTR_table_computation___CompiledClass____local_class(fra
.me
.REG
[0]);
204 stack_frame_head
= fra
.me
.prev
;
205 return fra
.me
.REG
[0];
207 val_t
table_computation___CompiledClass___id(val_t p0
){
208 struct {struct stack_frame_t me
;} fra
;
211 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
212 fra
.me
.file
= LOCATE_table_computation
;
214 fra
.me
.meth
= LOCATE_table_computation___CompiledClass___id
;
215 fra
.me
.has_broke
= 0;
217 fra
.me
.REG
[0] = NIT_NULL
;
219 REGB0
= TAG_Bool(ATTR_table_computation___CompiledClass____id(fra
.me
.REG
[0])!=NIT_NULL
);
220 /* ./compiling//table_computation.nit:66 */
221 if (UNTAG_Bool(REGB0
)) {
223 fprintf(stderr
, "Uninitialized attribute %s", "_id");
224 fprintf(stderr
, " (%s:%d)\n", LOCATE_table_computation
, 66);
227 REGB0
= ATTR_table_computation___CompiledClass____id(fra
.me
.REG
[0]);
228 stack_frame_head
= fra
.me
.prev
;
231 void table_computation___CompiledClass___id__eq(val_t p0
, val_t p1
){
232 struct {struct stack_frame_t me
;} fra
;
235 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
236 fra
.me
.file
= LOCATE_table_computation
;
238 fra
.me
.meth
= LOCATE_table_computation___CompiledClass___id__eq
;
239 fra
.me
.has_broke
= 0;
241 fra
.me
.REG
[0] = NIT_NULL
;
244 /* ./compiling//table_computation.nit:66 */
245 ATTR_table_computation___CompiledClass____id(fra
.me
.REG
[0]) = REGB0
;
246 stack_frame_head
= fra
.me
.prev
;
249 val_t
table_computation___CompiledClass___class_table(val_t p0
){
250 struct {struct stack_frame_t me
;} fra
;
253 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
254 fra
.me
.file
= LOCATE_table_computation
;
256 fra
.me
.meth
= LOCATE_table_computation___CompiledClass___class_table
;
257 fra
.me
.has_broke
= 0;
259 fra
.me
.REG
[0] = NIT_NULL
;
261 REGB0
= TAG_Bool(ATTR_table_computation___CompiledClass____class_table(fra
.me
.REG
[0])!=NIT_NULL
);
262 /* ./compiling//table_computation.nit:69 */
263 if (UNTAG_Bool(REGB0
)) {
265 fprintf(stderr
, "Uninitialized attribute %s", "_class_table");
266 fprintf(stderr
, " (%s:%d)\n", LOCATE_table_computation
, 69);
269 fra
.me
.REG
[0] = ATTR_table_computation___CompiledClass____class_table(fra
.me
.REG
[0]);
270 stack_frame_head
= fra
.me
.prev
;
271 return fra
.me
.REG
[0];
273 val_t
table_computation___CompiledClass___instance_table(val_t p0
){
274 struct {struct stack_frame_t me
;} fra
;
277 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
278 fra
.me
.file
= LOCATE_table_computation
;
280 fra
.me
.meth
= LOCATE_table_computation___CompiledClass___instance_table
;
281 fra
.me
.has_broke
= 0;
283 fra
.me
.REG
[0] = NIT_NULL
;
285 REGB0
= TAG_Bool(ATTR_table_computation___CompiledClass____instance_table(fra
.me
.REG
[0])!=NIT_NULL
);
286 /* ./compiling//table_computation.nit:72 */
287 if (UNTAG_Bool(REGB0
)) {
289 fprintf(stderr
, "Uninitialized attribute %s", "_instance_table");
290 fprintf(stderr
, " (%s:%d)\n", LOCATE_table_computation
, 72);
293 fra
.me
.REG
[0] = ATTR_table_computation___CompiledClass____instance_table(fra
.me
.REG
[0]);
294 stack_frame_head
= fra
.me
.prev
;
295 return fra
.me
.REG
[0];
297 val_t
table_computation___CompiledClass___class_layout(val_t p0
){
298 struct {struct stack_frame_t me
;} fra
;
301 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
302 fra
.me
.file
= LOCATE_table_computation
;
304 fra
.me
.meth
= LOCATE_table_computation___CompiledClass___class_layout
;
305 fra
.me
.has_broke
= 0;
307 fra
.me
.REG
[0] = NIT_NULL
;
309 REGB0
= TAG_Bool(ATTR_table_computation___CompiledClass____class_layout(fra
.me
.REG
[0])!=NIT_NULL
);
310 /* ./compiling//table_computation.nit:75 */
311 if (UNTAG_Bool(REGB0
)) {
313 fprintf(stderr
, "Uninitialized attribute %s", "_class_layout");
314 fprintf(stderr
, " (%s:%d)\n", LOCATE_table_computation
, 75);
317 fra
.me
.REG
[0] = ATTR_table_computation___CompiledClass____class_layout(fra
.me
.REG
[0]);
318 stack_frame_head
= fra
.me
.prev
;
319 return fra
.me
.REG
[0];
321 void table_computation___CompiledClass___class_layout__eq(val_t p0
, val_t p1
){
322 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
324 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
325 fra
.me
.file
= LOCATE_table_computation
;
327 fra
.me
.meth
= LOCATE_table_computation___CompiledClass___class_layout__eq
;
328 fra
.me
.has_broke
= 0;
330 fra
.me
.REG
[0] = NIT_NULL
;
331 fra
.me
.REG
[1] = NIT_NULL
;
334 /* ./compiling//table_computation.nit:75 */
335 ATTR_table_computation___CompiledClass____class_layout(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
336 stack_frame_head
= fra
.me
.prev
;
339 val_t
table_computation___CompiledClass___instance_layout(val_t p0
){
340 struct {struct stack_frame_t me
;} fra
;
343 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
344 fra
.me
.file
= LOCATE_table_computation
;
346 fra
.me
.meth
= LOCATE_table_computation___CompiledClass___instance_layout
;
347 fra
.me
.has_broke
= 0;
349 fra
.me
.REG
[0] = NIT_NULL
;
351 REGB0
= TAG_Bool(ATTR_table_computation___CompiledClass____instance_layout(fra
.me
.REG
[0])!=NIT_NULL
);
352 /* ./compiling//table_computation.nit:78 */
353 if (UNTAG_Bool(REGB0
)) {
355 fprintf(stderr
, "Uninitialized attribute %s", "_instance_layout");
356 fprintf(stderr
, " (%s:%d)\n", LOCATE_table_computation
, 78);
359 fra
.me
.REG
[0] = ATTR_table_computation___CompiledClass____instance_layout(fra
.me
.REG
[0]);
360 stack_frame_head
= fra
.me
.prev
;
361 return fra
.me
.REG
[0];
363 void table_computation___CompiledClass___instance_layout__eq(val_t p0
, val_t p1
){
364 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
366 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
367 fra
.me
.file
= LOCATE_table_computation
;
369 fra
.me
.meth
= LOCATE_table_computation___CompiledClass___instance_layout__eq
;
370 fra
.me
.has_broke
= 0;
372 fra
.me
.REG
[0] = NIT_NULL
;
373 fra
.me
.REG
[1] = NIT_NULL
;
376 /* ./compiling//table_computation.nit:78 */
377 ATTR_table_computation___CompiledClass____instance_layout(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
378 stack_frame_head
= fra
.me
.prev
;
381 void table_computation___CompiledClass___init(val_t p0
, val_t p1
, int* init_table
){
382 int itpos1
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_CompiledClass
].i
;
383 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
385 if (init_table
[itpos1
]) return;
386 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
387 fra
.me
.file
= LOCATE_table_computation
;
389 fra
.me
.meth
= LOCATE_table_computation___CompiledClass___init
;
390 fra
.me
.has_broke
= 0;
392 fra
.me
.REG
[0] = NIT_NULL
;
393 fra
.me
.REG
[1] = NIT_NULL
;
394 fra
.me
.REG
[2] = NIT_NULL
;
397 fra
.me
.REG
[2] = fra
.me
.REG
[0];
398 /* ./compiling//table_computation.nit:81 */
399 CALL_table_computation___ColorContext___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
400 ATTR_table_computation___CompiledClass____local_class(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
401 stack_frame_head
= fra
.me
.prev
;
402 init_table
[itpos1
] = 1;
405 val_t
table_computation___MMConcreteClass___class_color_pos(val_t p0
){
406 struct {struct stack_frame_t me
;} fra
;
409 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
410 fra
.me
.file
= LOCATE_table_computation
;
412 fra
.me
.meth
= LOCATE_table_computation___MMConcreteClass___class_color_pos
;
413 fra
.me
.has_broke
= 0;
415 fra
.me
.REG
[0] = NIT_NULL
;
417 fra
.me
.REG
[0] = ATTR_table_computation___MMConcreteClass____class_color_pos(fra
.me
.REG
[0]);
418 REGB0
= TAG_Bool(fra
.me
.REG
[0]!=NIT_NULL
);
419 /* ./compiling//table_computation.nit:86 */
420 if (UNTAG_Bool(REGB0
)) {
422 fprintf(stderr
, "Cast failed");
423 fprintf(stderr
, " (%s:%d)\n", LOCATE_table_computation
, 86);
428 stack_frame_head
= fra
.me
.prev
;
429 return fra
.me
.REG
[0];
431 val_t
table_computation___MMConcreteClass___class_layout(val_t p0
){
432 struct {struct stack_frame_t me
;} fra
;
435 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
436 fra
.me
.file
= LOCATE_table_computation
;
438 fra
.me
.meth
= LOCATE_table_computation___MMConcreteClass___class_layout
;
439 fra
.me
.has_broke
= 0;
441 fra
.me
.REG
[0] = NIT_NULL
;
443 REGB0
= TAG_Bool(ATTR_table_computation___MMConcreteClass____class_layout(fra
.me
.REG
[0])!=NIT_NULL
);
444 /* ./compiling//table_computation.nit:89 */
445 if (UNTAG_Bool(REGB0
)) {
447 fprintf(stderr
, "Uninitialized attribute %s", "_class_layout");
448 fprintf(stderr
, " (%s:%d)\n", LOCATE_table_computation
, 89);
451 fra
.me
.REG
[0] = ATTR_table_computation___MMConcreteClass____class_layout(fra
.me
.REG
[0]);
452 stack_frame_head
= fra
.me
.prev
;
453 return fra
.me
.REG
[0];
455 val_t
table_computation___MMConcreteClass___instance_layout(val_t p0
){
456 struct {struct stack_frame_t me
;} fra
;
459 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
460 fra
.me
.file
= LOCATE_table_computation
;
462 fra
.me
.meth
= LOCATE_table_computation___MMConcreteClass___instance_layout
;
463 fra
.me
.has_broke
= 0;
465 fra
.me
.REG
[0] = NIT_NULL
;
467 REGB0
= TAG_Bool(ATTR_table_computation___MMConcreteClass____instance_layout(fra
.me
.REG
[0])!=NIT_NULL
);
468 /* ./compiling//table_computation.nit:92 */
469 if (UNTAG_Bool(REGB0
)) {
471 fprintf(stderr
, "Uninitialized attribute %s", "_instance_layout");
472 fprintf(stderr
, " (%s:%d)\n", LOCATE_table_computation
, 92);
475 fra
.me
.REG
[0] = ATTR_table_computation___MMConcreteClass____instance_layout(fra
.me
.REG
[0]);
476 stack_frame_head
= fra
.me
.prev
;
477 return fra
.me
.REG
[0];
479 void table_computation___MMConcreteClass___build_layout_in(val_t p0
, val_t p1
, val_t p2
){
480 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
484 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
485 fra
.me
.file
= LOCATE_table_computation
;
487 fra
.me
.meth
= LOCATE_table_computation___MMConcreteClass___build_layout_in
;
488 fra
.me
.has_broke
= 0;
490 fra
.me
.REG
[0] = NIT_NULL
;
491 fra
.me
.REG
[1] = NIT_NULL
;
492 fra
.me
.REG
[2] = NIT_NULL
;
493 fra
.me
.REG
[3] = NIT_NULL
;
494 fra
.me
.REG
[4] = NIT_NULL
;
495 fra
.me
.REG
[5] = NIT_NULL
;
499 REGB0
= TAG_Bool(ATTR_table_computation___MMConcreteClass____class_layout(fra
.me
.REG
[0])!=NIT_NULL
);
500 /* ./compiling//table_computation.nit:98 */
501 if (UNTAG_Bool(REGB0
)) {
503 fprintf(stderr
, "Uninitialized attribute %s", "_class_layout");
504 fprintf(stderr
, " (%s:%d)\n", LOCATE_table_computation
, 98);
507 fra
.me
.REG
[1] = ATTR_table_computation___MMConcreteClass____class_layout(fra
.me
.REG
[0]);
508 REGB0
= TAG_Bool(ATTR_table_computation___MMConcreteClass____instance_layout(fra
.me
.REG
[0])!=NIT_NULL
);
509 /* ./compiling//table_computation.nit:99 */
510 if (UNTAG_Bool(REGB0
)) {
512 fprintf(stderr
, "Uninitialized attribute %s", "_instance_layout");
513 fprintf(stderr
, " (%s:%d)\n", LOCATE_table_computation
, 99);
516 fra
.me
.REG
[3] = ATTR_table_computation___MMConcreteClass____instance_layout(fra
.me
.REG
[0]);
517 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
518 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
519 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[4],fra
.me
.REG
[0]));
520 /* ./compiling//table_computation.nit:101 */
521 if (UNTAG_Bool(REGB0
)) {
523 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
526 if (UNTAG_Bool(REGB0
)) {
527 fra
.me
.REG
[4] = NEW_TableEltClassId_table_computation___AbsTableEltClass___init(fra
.me
.REG
[0]);
528 /* ./compiling//table_computation.nit:102 */
529 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[4]);
530 fra
.me
.REG
[4] = NEW_TableEltClassColor_table_computation___AbsTableEltClass___init(fra
.me
.REG
[0]);
531 /* ./compiling//table_computation.nit:104 */
532 ATTR_table_computation___MMConcreteClass____class_color_pos(fra
.me
.REG
[0]) = fra
.me
.REG
[4];
533 /* ./compiling//table_computation.nit:105 */
534 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[4]);
535 fra
.me
.REG
[4] = NEW_TableEltClassInitTable_table_computation___AbsTableEltClass___init(fra
.me
.REG
[0]);
536 /* ./compiling//table_computation.nit:106 */
537 array___Array___add(fra
.me
.REG
[1], fra
.me
.REG
[4]);
539 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMLocalClass___local_local_properties(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
540 fra
.me
.REG
[0] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
541 /* ./compiling//table_computation.nit:108 */
543 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
544 if (UNTAG_Bool(REGB0
)) {
545 fra
.me
.REG
[4] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
546 fra
.me
.REG
[5] = CALL_abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
547 fra
.me
.REG
[5] = CALL_abstractmetamodel___MMGlobalProperty___intro(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
548 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[5],fra
.me
.REG
[4]));
549 /* ./compiling//table_computation.nit:110 */
550 if (UNTAG_Bool(REGB0
)) {
552 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
555 if (UNTAG_Bool(REGB0
)) {
556 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[4], COLOR_MMAttribute
, ID_MMAttribute
)) /*cast MMAttribute*/;
557 /* ./compiling//table_computation.nit:111 */
558 if (UNTAG_Bool(REGB0
)) {
559 fra
.me
.REG
[5] = NEW_TableEltAttr_table_computation___TableEltProp___init(fra
.me
.REG
[4]);
560 /* ./compiling//table_computation.nit:112 */
561 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[5]);
563 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[4], COLOR_MMMethod
, ID_MMMethod
)) /*cast MMMethod*/;
564 /* ./compiling//table_computation.nit:113 */
565 if (UNTAG_Bool(REGB0
)) {
566 fra
.me
.REG
[5] = NEW_TableEltMeth_table_computation___TableEltProp___init(fra
.me
.REG
[4]);
567 /* ./compiling//table_computation.nit:114 */
568 array___Array___add(fra
.me
.REG
[1], fra
.me
.REG
[5]);
572 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[4], COLOR_MMMethod
, ID_MMMethod
)) /*cast MMMethod*/;
573 /* ./compiling//table_computation.nit:117 */
574 if (UNTAG_Bool(REGB0
)) {
575 REGB0
= CALL_abstractmetamodel___MMLocalProperty___need_super(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
577 REGB1
= TAG_Bool(false);
580 if (UNTAG_Bool(REGB0
)) {
581 fra
.me
.REG
[4] = NEW_TableEltSuper_table_computation___TableEltProp___init(fra
.me
.REG
[4]);
582 /* ./compiling//table_computation.nit:118 */
583 array___Array___add(fra
.me
.REG
[1], fra
.me
.REG
[4]);
586 /* ./compiling//table_computation.nit:108 */
589 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
592 REGB0
= CALL_abstract_collection___Collection___is_empty(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
593 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
594 /* ./compiling//table_computation.nit:122 */
595 if (UNTAG_Bool(REGB0
)) {
596 fra
.me
.REG
[0] = NEW_ModuleTableEltGroup_table_computation___AbsTableElt___init();
597 fra
.me
.REG
[4] = CALL_table_computation___ModuleTableEltGroup___elements(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
598 /* ./compiling//table_computation.nit:124 */
599 CALL_abstract_collection___Sequence___append(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
600 /* ./compiling//table_computation.nit:125 */
601 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
603 REGB0
= CALL_abstract_collection___Collection___is_empty(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
604 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
605 /* ./compiling//table_computation.nit:128 */
606 if (UNTAG_Bool(REGB0
)) {
607 fra
.me
.REG
[0] = NEW_ModuleTableEltGroup_table_computation___AbsTableElt___init();
608 fra
.me
.REG
[3] = CALL_table_computation___ModuleTableEltGroup___elements(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
609 /* ./compiling//table_computation.nit:130 */
610 CALL_abstract_collection___Sequence___append(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
611 /* ./compiling//table_computation.nit:131 */
612 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
614 stack_frame_head
= fra
.me
.prev
;
617 val_t
table_computation___Program___table_information(val_t p0
){
618 struct {struct stack_frame_t me
;} fra
;
621 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
622 fra
.me
.file
= LOCATE_table_computation
;
624 fra
.me
.meth
= LOCATE_table_computation___Program___table_information
;
625 fra
.me
.has_broke
= 0;
627 fra
.me
.REG
[0] = NIT_NULL
;
629 REGB0
= TAG_Bool(ATTR_table_computation___Program____table_information(fra
.me
.REG
[0])!=NIT_NULL
);
630 /* ./compiling//table_computation.nit:137 */
631 if (UNTAG_Bool(REGB0
)) {
633 fprintf(stderr
, "Uninitialized attribute %s", "_table_information");
634 fprintf(stderr
, " (%s:%d)\n", LOCATE_table_computation
, 137);
637 fra
.me
.REG
[0] = ATTR_table_computation___Program____table_information(fra
.me
.REG
[0]);
638 stack_frame_head
= fra
.me
.prev
;
639 return fra
.me
.REG
[0];
641 val_t
table_computation___Program___compiled_classes(val_t p0
){
642 struct {struct stack_frame_t me
;} fra
;
645 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
646 fra
.me
.file
= LOCATE_table_computation
;
648 fra
.me
.meth
= LOCATE_table_computation___Program___compiled_classes
;
649 fra
.me
.has_broke
= 0;
651 fra
.me
.REG
[0] = NIT_NULL
;
653 REGB0
= TAG_Bool(ATTR_table_computation___Program____compiled_classes(fra
.me
.REG
[0])!=NIT_NULL
);
654 /* ./compiling//table_computation.nit:140 */
655 if (UNTAG_Bool(REGB0
)) {
657 fprintf(stderr
, "Uninitialized attribute %s", "_compiled_classes");
658 fprintf(stderr
, " (%s:%d)\n", LOCATE_table_computation
, 140);
661 fra
.me
.REG
[0] = ATTR_table_computation___Program____compiled_classes(fra
.me
.REG
[0]);
662 stack_frame_head
= fra
.me
.prev
;
663 return fra
.me
.REG
[0];
665 void table_computation___Program___do_table_computation(val_t p0
, val_t p1
){
666 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
669 static val_t once_value_1
; /* Once value */
670 static val_t once_value_2
; /* Once value */
671 static val_t once_value_3
; /* Once value */
672 static val_t once_value_5
; /* Once value */
673 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
674 fra
.me
.file
= LOCATE_table_computation
;
676 fra
.me
.meth
= LOCATE_table_computation___Program___do_table_computation
;
677 fra
.me
.has_broke
= 0;
679 fra
.me
.REG
[0] = NIT_NULL
;
680 fra
.me
.REG
[1] = NIT_NULL
;
681 fra
.me
.REG
[2] = NIT_NULL
;
682 fra
.me
.REG
[3] = NIT_NULL
;
683 fra
.me
.REG
[4] = NIT_NULL
;
684 fra
.me
.REG
[5] = NIT_NULL
;
687 /* ./compiling//table_computation.nit:145 */
689 fra
.me
.REG
[2] = BOX_NativeString("Building tables");
691 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
692 once_value_1
= fra
.me
.REG
[2];
693 register_static_object(&once_value_1
);
694 } else fra
.me
.REG
[2] = once_value_1
;
696 CALL_mmloader___ToolContext___info(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2], REGB0
);
697 fra
.me
.REG
[2] = CALL_program___Program___module(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
698 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMModule___mhe(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
699 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
700 /* ./compiling//table_computation.nit:146 */
701 if (UNTAG_Bool(REGB0
)) {
702 fprintf(stderr
, "Reciever is null");
703 fprintf(stderr
, " (%s:%d)\n", LOCATE_table_computation
, 146);
706 fra
.me
.REG
[2] = CALL_partial_order___PartialOrderElement___greaters_and_self(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
707 fra
.me
.REG
[2] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
709 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
710 if (UNTAG_Bool(REGB0
)) {
711 fra
.me
.REG
[3] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
713 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB0
);
714 /* ./compiling//table_computation.nit:147 */
716 fra
.me
.REG
[5] = BOX_NativeString("Building tables for module: ");
718 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
719 once_value_2
= fra
.me
.REG
[5];
720 register_static_object(&once_value_2
);
721 } else fra
.me
.REG
[5] = once_value_2
;
722 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[5]);
723 fra
.me
.REG
[5] = CALL_abstractmetamodel___MMModule___name(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
724 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
725 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[5]);
727 fra
.me
.REG
[5] = BOX_NativeString("");
729 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
730 once_value_3
= fra
.me
.REG
[5];
731 register_static_object(&once_value_3
);
732 } else fra
.me
.REG
[5] = once_value_3
;
733 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[5]);
734 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
736 CALL_mmloader___ToolContext___info(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4], REGB0
);
737 /* ./compiling//table_computation.nit:148 */
738 CALL_table_computation___MMModule___local_analysis(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
740 /* ./compiling//table_computation.nit:146 */
743 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
746 /* ./compiling//table_computation.nit:151 */
748 fra
.me
.REG
[2] = BOX_NativeString("Merging all tables");
750 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
751 once_value_5
= fra
.me
.REG
[2];
752 register_static_object(&once_value_5
);
753 } else fra
.me
.REG
[2] = once_value_5
;
755 CALL_mmloader___ToolContext___info(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2], REGB0
);
756 /* ./compiling//table_computation.nit:152 */
757 CALL_table_computation___Program___do_global_analysis(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
758 stack_frame_head
= fra
.me
.prev
;
761 void table_computation___Program___do_global_analysis(val_t p0
, val_t p1
){
762 struct {struct stack_frame_t me
; val_t MORE_REG
[12];} fra
;
768 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
769 fra
.me
.file
= LOCATE_table_computation
;
771 fra
.me
.meth
= LOCATE_table_computation___Program___do_global_analysis
;
772 fra
.me
.has_broke
= 0;
773 fra
.me
.REG_size
= 13;
774 fra
.me
.REG
[0] = NIT_NULL
;
775 fra
.me
.REG
[1] = NIT_NULL
;
776 fra
.me
.REG
[2] = NIT_NULL
;
777 fra
.me
.REG
[3] = NIT_NULL
;
778 fra
.me
.REG
[4] = NIT_NULL
;
779 fra
.me
.REG
[5] = NIT_NULL
;
780 fra
.me
.REG
[6] = NIT_NULL
;
781 fra
.me
.REG
[7] = NIT_NULL
;
782 fra
.me
.REG
[8] = NIT_NULL
;
783 fra
.me
.REG
[9] = NIT_NULL
;
784 fra
.me
.REG
[10] = NIT_NULL
;
785 fra
.me
.REG
[11] = NIT_NULL
;
786 fra
.me
.REG
[12] = NIT_NULL
;
789 fra
.me
.REG
[1] = NEW_Array_array___Array___init();
790 fra
.me
.REG
[2] = NEW_HashSet_hash_collection___HashSet___init();
791 fra
.me
.REG
[2] = NEW_Array_array___Array___init();
792 fra
.me
.REG
[3] = NEW_Array_array___Array___init();
793 fra
.me
.REG
[4] = NEW_TableEltClassSelfId_table_computation___AbsTableElt___init();
794 /* ./compiling//table_computation.nit:164 */
795 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[4]);
796 fra
.me
.REG
[4] = NEW_TableEltClassObjectSize_table_computation___AbsTableElt___init();
797 /* ./compiling//table_computation.nit:165 */
798 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[4]);
799 fra
.me
.REG
[4] = NEW_TableEltVftPointer_table_computation___AbsTableElt___init();
800 /* ./compiling//table_computation.nit:166 */
801 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[4]);
802 fra
.me
.REG
[4] = NEW_TableEltObjectId_table_computation___AbsTableElt___init();
803 /* ./compiling//table_computation.nit:167 */
804 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[4]);
806 REGB0
= TAG_Int(-UNTAG_Int(REGB0
));
808 fra
.me
.REG
[4] = NEW_Array_array___Array___init();
809 fra
.me
.REG
[5] = CALL_program___Program___module(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
810 fra
.me
.REG
[5] = CALL_abstractmetamodel___MMModule___local_classes(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
811 fra
.me
.REG
[5] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
812 /* ./compiling//table_computation.nit:174 */
814 REGB2
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
815 if (UNTAG_Bool(REGB2
)) {
816 fra
.me
.REG
[6] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
817 /* ./compiling//table_computation.nit:175 */
818 CALL_inheritance___MMLocalClass___compute_super_classes(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
819 /* ./compiling//table_computation.nit:176 */
820 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[6]);
822 /* ./compiling//table_computation.nit:174 */
825 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
828 fra
.me
.REG
[5] = NEW_ClassSorter_table_computation___ClassSorter___init();
829 /* ./compiling//table_computation.nit:178 */
830 CALL_sorter___AbstractSorter___sort(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
831 fra
.me
.REG
[5] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
832 /* ./compiling//table_computation.nit:180 */
834 REGB2
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
835 if (UNTAG_Bool(REGB2
)) {
836 fra
.me
.REG
[6] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
837 /* ./compiling//table_computation.nit:182 */
838 CALL_inheritance___MMLocalClass___compute_ancestors(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
839 /* ./compiling//table_computation.nit:183 */
840 CALL_inheritance___MMLocalClass___inherit_global_properties(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
841 fra
.me
.REG
[7] = NEW_CompiledClass_table_computation___CompiledClass___init(fra
.me
.REG
[6]);
842 fra
.me
.REG
[8] = CALL_table_computation___Program___compiled_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
843 fra
.me
.REG
[9] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
844 /* ./compiling//table_computation.nit:187 */
845 CALL_abstract_collection___Map_____braeq(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9], fra
.me
.REG
[7]);
846 fra
.me
.REG
[9] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
847 fra
.me
.REG
[9] = CALL_abstractmetamodel___MMGlobalClass___module(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
848 fra
.me
.REG
[9] = CALL_primitive_info___MMLocalClass___primitive_info(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
849 REGB2
= TAG_Bool(fra
.me
.REG
[9]==NIT_NULL
);
850 /* ./compiling//table_computation.nit:193 */
851 if (UNTAG_Bool(REGB2
)) {
853 REGB3
= TAG_Bool(fra
.me
.REG
[9]==NIT_NULL
);
854 if (UNTAG_Bool(REGB3
)) {
855 REGB3
= TAG_Bool(false);
858 REGB3
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[9])(fra
.me
.REG
[9], NIT_NULL
);
862 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
863 if (UNTAG_Bool(REGB2
)) {
864 /* ./compiling//table_computation.nit:194 */
865 CALL_table_computation___CompiledClass___id__eq(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB0
);
867 REGB2
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB2
));
869 /* ./compiling//table_computation.nit:195 */
871 /* ./compiling//table_computation.nit:197 */
872 CALL_table_computation___CompiledClass___id__eq(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
874 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
876 /* ./compiling//table_computation.nit:198 */
878 fra
.me
.REG
[7] = CALL_abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
879 fra
.me
.REG
[7] = CALL_partial_order___PartialOrderElement___direct_smallers(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
880 REGB2
= CALL_abstract_collection___Collection___is_empty(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
881 /* ./compiling//table_computation.nit:202 */
882 if (UNTAG_Bool(REGB2
)) {
883 /* ./compiling//table_computation.nit:203 */
884 array___Array___add(fra
.me
.REG
[1], fra
.me
.REG
[6]);
886 fra
.me
.REG
[6] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
887 fra
.me
.REG
[6] = CALL_abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
888 REGB2
= TAG_Bool(VAL_ISA(fra
.me
.REG
[6], COLOR_MMConcreteClass
, ID_MMConcreteClass
)) /*cast MMConcreteClass*/;
889 /* ./compiling//table_computation.nit:208 */
890 if (UNTAG_Bool(REGB2
)) {
892 fprintf(stderr
, "Assert failed");
893 fprintf(stderr
, " (%s:%d)\n", LOCATE_table_computation
, 208);
896 fra
.me
.REG
[6] = CALL_table_computation___MMConcreteClass___class_color_pos(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
897 /* ./compiling//table_computation.nit:209 */
898 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[6]);
900 /* ./compiling//table_computation.nit:180 */
903 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
906 fra
.me
.REG
[5] = NEW_HashSet_hash_collection___HashSet___init();
907 fra
.me
.REG
[6] = NEW_HashSet_hash_collection___HashSet___init();
908 fra
.me
.REG
[1] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
909 /* ./compiling//table_computation.nit:215 */
911 REGB1
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
912 if (UNTAG_Bool(REGB1
)) {
913 fra
.me
.REG
[7] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
914 /* ./compiling//table_computation.nit:216 */
916 fra
.me
.REG
[9] = CALL_abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
917 fra
.me
.REG
[9] = CALL_partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
918 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[9])!=NIT_NULL
);
919 /* ./../lib/standard//collection//array.nit:23 */
920 if (UNTAG_Bool(REGB1
)) {
922 fprintf(stderr
, "Uninitialized attribute %s", "_length");
923 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
926 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[9]);
928 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB0
));
929 /* ./compiling//table_computation.nit:216 */
930 if (UNTAG_Bool(REGB2
)) {
932 REGB0
= TAG_Bool((REGB1
)==(REGB0
));
934 /* ./compiling//table_computation.nit:216 */
936 if (UNTAG_Bool(REGB2
)) {
937 fra
.me
.REG
[9] = CALL_abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
938 fra
.me
.REG
[9] = CALL_partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
939 fra
.me
.REG
[9] = CALL_abstract_collection___Collection___first(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
940 fra
.me
.REG
[7] = fra
.me
.REG
[9];
941 /* ./compiling//table_computation.nit:217 */
943 /* ./compiling//table_computation.nit:216 */
948 /* ./compiling//table_computation.nit:219 */
949 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[7]);
950 fra
.me
.REG
[7] = CALL_abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
951 fra
.me
.REG
[7] = CALL_partial_order___PartialOrderElement___greaters_and_self(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
952 /* ./compiling//table_computation.nit:220 */
953 CALL_abstract_collection___SimpleCollection___add_all(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
955 /* ./compiling//table_computation.nit:215 */
958 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
962 /* ./compiling//table_computation.nit:225 */
963 CALL_table_computation___Program___colorize(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2], fra
.me
.REG
[5], REGB2
);
965 fra
.me
.REG
[1] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
966 /* ./compiling//table_computation.nit:229 */
968 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
969 if (UNTAG_Bool(REGB0
)) {
970 fra
.me
.REG
[7] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
971 fra
.me
.REG
[9] = CALL_table_computation___Program___compiled_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
972 fra
.me
.REG
[8] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
973 fra
.me
.REG
[8] = CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[8]);
974 REGB0
= CALL_abstract_collection___Collection___has(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
975 /* ./compiling//table_computation.nit:231 */
976 if (UNTAG_Bool(REGB0
)) {
977 fra
.me
.REG
[9] = CALL_table_computation___CompiledClass___class_table(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
978 /* ./compiling//table_computation.nit:233 */
979 CALL_table_computation___Program___build_tables_in(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[9], fra
.me
.REG
[7], fra
.me
.REG
[2]);
980 fra
.me
.REG
[9] = CALL_table_computation___CompiledClass___class_table(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
981 REGB0
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[9])!=NIT_NULL
);
982 /* ./../lib/standard//collection//array.nit:23 */
983 if (UNTAG_Bool(REGB0
)) {
985 fprintf(stderr
, "Uninitialized attribute %s", "_length");
986 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
989 REGB0
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[9]);
990 REGB0
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB0
));
991 /* ./compiling//table_computation.nit:234 */
992 if (UNTAG_Bool(REGB0
)) {
993 fra
.me
.REG
[9] = CALL_table_computation___CompiledClass___class_table(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
994 REGB0
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[9])!=NIT_NULL
);
995 /* ./../lib/standard//collection//array.nit:23 */
996 if (UNTAG_Bool(REGB0
)) {
998 fprintf(stderr
, "Uninitialized attribute %s", "_length");
999 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
1002 REGB0
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[9]);
1004 /* ./compiling//table_computation.nit:234 */
1007 fra
.me
.REG
[9] = CALL_abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1008 fra
.me
.REG
[9] = CALL_partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1009 fra
.me
.REG
[9] = CALL_abstract_collection___Collection___first(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1010 fra
.me
.REG
[10] = CALL_table_computation___Program___compiled_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1011 fra
.me
.REG
[9] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1012 fra
.me
.REG
[9] = CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[9]);
1013 fra
.me
.REG
[10] = CALL_table_computation___CompiledClass___class_table(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1014 REGB0
= CALL_abstract_collection___Collection___is_empty(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1015 /* ./compiling//table_computation.nit:239 */
1016 if (UNTAG_Bool(REGB0
)) {
1018 fprintf(stderr
, "Assert failed");
1019 fprintf(stderr
, " (%s:%d)\n", LOCATE_table_computation
, 239);
1022 fra
.me
.REG
[10] = CALL_table_computation___CompiledClass___class_table(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1023 fra
.me
.REG
[9] = CALL_table_computation___CompiledClass___class_table(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1024 /* ./compiling//table_computation.nit:240 */
1025 CALL_abstract_collection___SimpleCollection___add_all(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[9]);
1026 fra
.me
.REG
[7] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1027 fra
.me
.REG
[7] = CALL_abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1028 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[7], COLOR_MMConcreteClass
, ID_MMConcreteClass
)) /*cast MMConcreteClass*/;
1029 /* ./compiling//table_computation.nit:242 */
1030 if (UNTAG_Bool(REGB0
)) {
1032 fprintf(stderr
, "Assert failed");
1033 fprintf(stderr
, " (%s:%d)\n", LOCATE_table_computation
, 242);
1036 fra
.me
.REG
[7] = CALL_table_computation___MMConcreteClass___class_color_pos(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1037 fra
.me
.REG
[9] = CALL_table_computation___CompiledClass___class_table(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1038 REGB0
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[9])!=NIT_NULL
);
1039 /* ./../lib/standard//collection//array.nit:23 */
1040 if (UNTAG_Bool(REGB0
)) {
1042 fprintf(stderr
, "Uninitialized attribute %s", "_length");
1043 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
1046 REGB0
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[9]);
1047 fra
.me
.REG
[9] = CALL_table_computation___Program___table_information(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1048 /* ./compiling//table_computation.nit:245 */
1049 CALL_table_computation___ColorContext___color__eq(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[7], REGB0
);
1050 fra
.me
.REG
[8] = CALL_table_computation___CompiledClass___class_table(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1051 /* ./compiling//table_computation.nit:246 */
1052 array___Array___add(fra
.me
.REG
[8], fra
.me
.REG
[7]);
1053 REGB1
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB0
));
1054 /* ./compiling//table_computation.nit:247 */
1055 if (UNTAG_Bool(REGB1
)) {
1060 /* ./compiling//table_computation.nit:229 */
1063 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1066 fra
.me
.REG
[1] = CALL_table_computation___Program___table_information(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1068 REGB0
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB0
));
1069 /* ./compiling//table_computation.nit:250 */
1070 CALL_table_computation___TableInformation___max_class_table_length__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
1071 fra
.me
.REG
[1] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1072 /* ./compiling//table_computation.nit:253 */
1074 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1075 if (UNTAG_Bool(REGB0
)) {
1076 fra
.me
.REG
[7] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1077 fra
.me
.REG
[8] = CALL_table_computation___Program___compiled_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1078 fra
.me
.REG
[9] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1079 fra
.me
.REG
[9] = CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
1080 fra
.me
.REG
[8] = CALL_table_computation___CompiledClass___class_layout(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1081 fra
.me
.REG
[9] = CALL_table_computation___CompiledClass___instance_layout(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1082 fra
.me
.REG
[10] = CALL_abstractmetamodel___MMLocalClass___crhe(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1083 fra
.me
.REG
[10] = CALL_partial_order___PartialOrderElement___greaters_and_self(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1084 fra
.me
.REG
[10] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1085 /* ./compiling//table_computation.nit:257 */
1087 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1088 if (UNTAG_Bool(REGB0
)) {
1089 fra
.me
.REG
[11] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1090 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[11], COLOR_MMConcreteClass
, ID_MMConcreteClass
)) /*cast MMConcreteClass*/;
1091 /* ./compiling//table_computation.nit:258 */
1092 if (UNTAG_Bool(REGB0
)) {
1093 fra
.me
.REG
[12] = CALL_table_computation___MMConcreteClass___class_layout(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
1094 /* ./compiling//table_computation.nit:259 */
1095 CALL_table_computation___TableEltComposite___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[11], fra
.me
.REG
[12]);
1096 fra
.me
.REG
[12] = CALL_table_computation___MMConcreteClass___instance_layout(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
1097 /* ./compiling//table_computation.nit:260 */
1098 CALL_table_computation___TableEltComposite___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[11], fra
.me
.REG
[12]);
1101 /* ./compiling//table_computation.nit:257 */
1104 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1107 REGB0
= CALL_abstract_collection___Collection___has(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
1108 /* ./compiling//table_computation.nit:264 */
1109 if (UNTAG_Bool(REGB0
)) {
1110 REGB0
= CALL_table_computation___TableElt___length(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1112 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(REGB1
));
1113 /* ./compiling//table_computation.nit:265 */
1114 if (UNTAG_Bool(REGB1
)) {
1115 /* ./compiling//table_computation.nit:266 */
1116 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[8]);
1118 REGB1
= CALL_table_computation___TableElt___length(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1120 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)>UNTAG_Int(REGB0
));
1121 /* ./compiling//table_computation.nit:268 */
1122 if (UNTAG_Bool(REGB0
)) {
1123 /* ./compiling//table_computation.nit:269 */
1124 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[9]);
1128 /* ./compiling//table_computation.nit:253 */
1131 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1135 REGB0
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB0
));
1136 /* ./compiling//table_computation.nit:275 */
1137 CALL_table_computation___Program___colorize(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2], fra
.me
.REG
[5], REGB0
);
1139 /* ./compiling//table_computation.nit:276 */
1140 CALL_table_computation___Program___colorize(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3], fra
.me
.REG
[5], REGB0
);
1141 fra
.me
.REG
[5] = CALL_table_computation___Program___table_information(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1143 /* ./compiling//table_computation.nit:279 */
1144 CALL_table_computation___TableInformation___max_class_table_length__eq(fra
.me
.REG
[5])(fra
.me
.REG
[5], REGB0
);
1145 fra
.me
.REG
[4] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1146 /* ./compiling//table_computation.nit:280 */
1148 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1149 if (UNTAG_Bool(REGB0
)) {
1150 fra
.me
.REG
[5] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1151 fra
.me
.REG
[1] = CALL_table_computation___Program___compiled_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1152 fra
.me
.REG
[9] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1153 fra
.me
.REG
[9] = CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[9]);
1154 REGB0
= CALL_abstract_collection___Collection___has(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
1155 /* ./compiling//table_computation.nit:282 */
1156 if (UNTAG_Bool(REGB0
)) {
1157 fra
.me
.REG
[1] = CALL_table_computation___CompiledClass___class_table(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1158 /* ./compiling//table_computation.nit:284 */
1159 CALL_table_computation___Program___build_tables_in(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[5], fra
.me
.REG
[2]);
1160 fra
.me
.REG
[1] = CALL_table_computation___CompiledClass___instance_table(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1161 /* ./compiling//table_computation.nit:285 */
1162 CALL_table_computation___Program___build_tables_in(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[5], fra
.me
.REG
[3]);
1164 fra
.me
.REG
[1] = CALL_abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1165 fra
.me
.REG
[1] = CALL_partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1166 fra
.me
.REG
[1] = CALL_abstract_collection___Collection___first(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1167 fra
.me
.REG
[8] = CALL_table_computation___Program___compiled_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1168 fra
.me
.REG
[1] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1169 fra
.me
.REG
[1] = CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[1]);
1170 fra
.me
.REG
[8] = CALL_table_computation___CompiledClass___class_table(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1171 /* ./compiling//table_computation.nit:290 */
1172 CALL_abstract_collection___RemovableCollection___clear(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1173 fra
.me
.REG
[8] = CALL_table_computation___CompiledClass___class_table(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1174 fra
.me
.REG
[7] = CALL_table_computation___CompiledClass___class_table(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1175 /* ./compiling//table_computation.nit:291 */
1176 CALL_abstract_collection___SimpleCollection___add_all(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
1177 fra
.me
.REG
[5] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1178 fra
.me
.REG
[5] = CALL_abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1179 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[5], COLOR_MMConcreteClass
, ID_MMConcreteClass
)) /*cast MMConcreteClass*/;
1180 /* ./compiling//table_computation.nit:293 */
1181 if (UNTAG_Bool(REGB0
)) {
1183 fprintf(stderr
, "Assert failed");
1184 fprintf(stderr
, " (%s:%d)\n", LOCATE_table_computation
, 293);
1187 fra
.me
.REG
[5] = CALL_table_computation___MMConcreteClass___class_color_pos(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1188 fra
.me
.REG
[7] = CALL_table_computation___CompiledClass___class_table(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1189 fra
.me
.REG
[8] = CALL_table_computation___Program___table_information(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1190 REGB0
= CALL_table_computation___ColorContext___color(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[5]);
1191 /* ./compiling//table_computation.nit:295 */
1192 CALL_abstract_collection___Map_____braeq(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB0
, fra
.me
.REG
[5]);
1193 /* ./compiling//table_computation.nit:296 */
1195 fra
.me
.REG
[5] = CALL_table_computation___CompiledClass___class_table(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1196 REGB0
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
1197 /* ./../lib/standard//collection//array.nit:23 */
1198 if (UNTAG_Bool(REGB0
)) {
1200 fprintf(stderr
, "Uninitialized attribute %s", "_length");
1201 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
1204 REGB0
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[5]);
1205 REGB0
= TAG_Bool(UNTAG_Int(REGB0
)<=UNTAG_Int(REGB2
));
1206 /* ./compiling//table_computation.nit:296 */
1207 if (UNTAG_Bool(REGB0
)) {
1208 fra
.me
.REG
[5] = CALL_table_computation___CompiledClass___class_table(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1209 /* ./compiling//table_computation.nit:297 */
1210 array___Array___add(fra
.me
.REG
[5], NIT_NULL
);
1212 /* ./compiling//table_computation.nit:296 */
1217 fra
.me
.REG
[5] = CALL_table_computation___CompiledClass___class_table(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1218 fra
.me
.REG
[7] = CALL_table_computation___CompiledClass___class_layout(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1219 /* ./compiling//table_computation.nit:299 */
1220 CALL_table_computation___Program___append_to_table(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5], fra
.me
.REG
[7]);
1221 fra
.me
.REG
[7] = CALL_table_computation___CompiledClass___instance_table(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1222 REGB0
= CALL_abstract_collection___Collection___is_empty(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1223 /* ./compiling//table_computation.nit:300 */
1224 if (UNTAG_Bool(REGB0
)) {
1226 fprintf(stderr
, "Assert failed");
1227 fprintf(stderr
, " (%s:%d)\n", LOCATE_table_computation
, 300);
1230 fra
.me
.REG
[7] = CALL_table_computation___CompiledClass___instance_table(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1231 fra
.me
.REG
[1] = CALL_table_computation___CompiledClass___instance_table(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1232 /* ./compiling//table_computation.nit:301 */
1233 CALL_abstract_collection___SimpleCollection___add_all(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[1]);
1234 fra
.me
.REG
[1] = CALL_table_computation___CompiledClass___instance_table(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1235 fra
.me
.REG
[9] = CALL_table_computation___CompiledClass___instance_layout(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1236 /* ./compiling//table_computation.nit:302 */
1237 CALL_table_computation___Program___append_to_table(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[9]);
1240 /* ./compiling//table_computation.nit:280 */
1243 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1246 stack_frame_head
= fra
.me
.prev
;
1249 void table_computation___Program___colorize(val_t p0
, val_t p1
, val_t p2
, val_t p3
){
1250 struct {struct stack_frame_t me
; val_t MORE_REG
[8];} fra
;
1259 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1260 fra
.me
.file
= LOCATE_table_computation
;
1262 fra
.me
.meth
= LOCATE_table_computation___Program___colorize
;
1263 fra
.me
.has_broke
= 0;
1264 fra
.me
.REG_size
= 9;
1265 fra
.me
.REG
[0] = NIT_NULL
;
1266 fra
.me
.REG
[1] = NIT_NULL
;
1267 fra
.me
.REG
[2] = NIT_NULL
;
1268 fra
.me
.REG
[3] = NIT_NULL
;
1269 fra
.me
.REG
[4] = NIT_NULL
;
1270 fra
.me
.REG
[5] = NIT_NULL
;
1271 fra
.me
.REG
[6] = NIT_NULL
;
1272 fra
.me
.REG
[7] = NIT_NULL
;
1273 fra
.me
.REG
[8] = NIT_NULL
;
1278 fra
.me
.REG
[3] = NEW_HashMap_hash_collection___HashMap___init();
1279 fra
.me
.REG
[4] = NEW_Array_array___Array___init();
1280 fra
.me
.REG
[1] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1281 /* ./compiling//table_computation.nit:312 */
1283 REGB1
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1284 if (UNTAG_Bool(REGB1
)) {
1285 fra
.me
.REG
[5] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1287 REGB1
= TAG_Int(-UNTAG_Int(REGB1
));
1288 REGB2
= CALL_table_computation___TableElt___length(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1289 fra
.me
.REG
[6] = CALL_table_computation___Program___table_information(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1290 REGB3
= CALL_table_computation___ColorContext___has_color(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
1291 /* ./compiling//table_computation.nit:315 */
1292 if (UNTAG_Bool(REGB3
)) {
1293 fra
.me
.REG
[6] = CALL_table_computation___Program___table_information(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1294 REGB3
= CALL_table_computation___ColorContext___color(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
1296 /* ./compiling//table_computation.nit:316 */
1298 /* ./compiling//table_computation.nit:318 */
1299 CALL_abstract_collection___RemovableCollection___clear(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1300 fra
.me
.REG
[6] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1301 /* ./compiling//table_computation.nit:319 */
1303 REGB3
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1304 if (UNTAG_Bool(REGB3
)) {
1305 fra
.me
.REG
[7] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1306 REGB3
= CALL_table_computation___TableElt___is_related_to(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[7]);
1307 /* ./compiling//table_computation.nit:320 */
1308 if (UNTAG_Bool(REGB3
)) {
1309 /* ./compiling//table_computation.nit:321 */
1310 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[7]);
1313 /* ./compiling//table_computation.nit:319 */
1316 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1320 /* ./compiling//table_computation.nit:325 */
1322 REGB4
= TAG_Bool(IS_EQUAL_OO(REGB3
,REGB1
));
1323 if (UNTAG_Bool(REGB4
)) {
1325 REGB5
= TAG_Bool((REGB3
)==(REGB1
));
1327 /* ./compiling//table_computation.nit:325 */
1329 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
1330 if (UNTAG_Bool(REGB4
)) {
1332 fra
.me
.REG
[6] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1333 /* ./compiling//table_computation.nit:327 */
1335 REGB4
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1336 if (UNTAG_Bool(REGB4
)) {
1337 fra
.me
.REG
[7] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1339 /* ./compiling//table_computation.nit:329 */
1341 REGB5
= TAG_Bool(UNTAG_Int(REGB4
)<UNTAG_Int(REGB2
));
1342 /* ./compiling//table_computation.nit:329 */
1343 if (UNTAG_Bool(REGB5
)) {
1344 REGB5
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB4
));
1345 REGB5
= CALL_abstract_collection___MapRead___has_key(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB5
);
1346 /* ./compiling//table_computation.nit:330 */
1347 if (UNTAG_Bool(REGB5
)) {
1348 REGB5
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB4
));
1349 fra
.me
.REG
[8] = CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB5
);
1350 REGB5
= CALL_table_computation___Program___free_color(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[8], fra
.me
.REG
[7]);
1351 REGB5
= TAG_Bool(!UNTAG_Bool(REGB5
));
1352 /* ./compiling//table_computation.nit:330 */
1354 REGB6
= TAG_Bool(false);
1357 if (UNTAG_Bool(REGB5
)) {
1358 REGB5
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB4
));
1360 REGB6
= TAG_Int(UNTAG_Int(REGB5
)+UNTAG_Int(REGB6
));
1364 /* ./compiling//table_computation.nit:332 */
1367 REGB6
= TAG_Int(UNTAG_Int(REGB4
)+UNTAG_Int(REGB6
));
1369 /* ./compiling//table_computation.nit:334 */
1372 /* ./compiling//table_computation.nit:329 */
1378 /* ./compiling//table_computation.nit:327 */
1381 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1385 /* ./compiling//table_computation.nit:325 */
1390 fra
.me
.REG
[6] = CALL_table_computation___Program___table_information(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1391 /* ./compiling//table_computation.nit:339 */
1392 CALL_table_computation___ColorContext___color__eq(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5], REGB1
);
1395 fra
.me
.REG
[6] = NEW_Range_range___Range___without_last(REGB3
, REGB2
);
1396 fra
.me
.REG
[6] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1397 /* ./compiling//table_computation.nit:341 */
1399 REGB2
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1400 if (UNTAG_Bool(REGB2
)) {
1401 REGB2
= CALL_abstract_collection___Iterator___item(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1402 REGB3
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
1403 REGB3
= CALL_abstract_collection___MapRead___has_key(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB3
);
1404 /* ./compiling//table_computation.nit:342 */
1405 if (UNTAG_Bool(REGB3
)) {
1406 REGB3
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
1407 fra
.me
.REG
[7] = CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB3
);
1408 REGB3
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
1409 /* ./compiling//table_computation.nit:343 */
1410 if (UNTAG_Bool(REGB3
)) {
1411 fprintf(stderr
, "Reciever is null");
1412 fprintf(stderr
, " (%s:%d)\n", LOCATE_table_computation
, 343);
1415 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[5]);
1417 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
1419 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB3
);
1420 /* ./compiling//table_computation.nit:345 */
1421 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[5]);
1422 CALL_abstract_collection___Map_____braeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB2
, fra
.me
.REG
[7]);
1425 /* ./compiling//table_computation.nit:341 */
1428 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1432 /* ./compiling//table_computation.nit:312 */
1435 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1438 stack_frame_head
= fra
.me
.prev
;
1441 val_t
table_computation___Program___free_color(val_t p0
, val_t p1
, val_t p2
){
1442 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1446 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1447 fra
.me
.file
= LOCATE_table_computation
;
1449 fra
.me
.meth
= LOCATE_table_computation___Program___free_color
;
1450 fra
.me
.has_broke
= 0;
1451 fra
.me
.REG_size
= 3;
1452 fra
.me
.REG
[0] = NIT_NULL
;
1453 fra
.me
.REG
[1] = NIT_NULL
;
1454 fra
.me
.REG
[2] = NIT_NULL
;
1458 fra
.me
.REG
[1] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1459 /* ./compiling//table_computation.nit:353 */
1461 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1462 if (UNTAG_Bool(REGB0
)) {
1463 fra
.me
.REG
[0] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1464 REGB0
= CALL_table_computation___TableElt___is_related_to(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
1465 /* ./compiling//table_computation.nit:354 */
1466 if (UNTAG_Bool(REGB0
)) {
1467 REGB0
= TAG_Bool(false);
1468 /* ./compiling//table_computation.nit:355 */
1472 /* ./compiling//table_computation.nit:353 */
1475 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1478 REGB1
= TAG_Bool(true);
1480 /* ./compiling//table_computation.nit:358 */
1483 stack_frame_head
= fra
.me
.prev
;
1486 void table_computation___Program___append_to_table(val_t p0
, val_t p1
, val_t p2
){
1487 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
1491 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1492 fra
.me
.file
= LOCATE_table_computation
;
1494 fra
.me
.meth
= LOCATE_table_computation___Program___append_to_table
;
1495 fra
.me
.has_broke
= 0;
1496 fra
.me
.REG_size
= 6;
1497 fra
.me
.REG
[0] = NIT_NULL
;
1498 fra
.me
.REG
[1] = NIT_NULL
;
1499 fra
.me
.REG
[2] = NIT_NULL
;
1500 fra
.me
.REG
[3] = NIT_NULL
;
1501 fra
.me
.REG
[4] = NIT_NULL
;
1502 fra
.me
.REG
[5] = NIT_NULL
;
1507 REGB1
= CALL_table_computation___TableElt___length(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1508 fra
.me
.REG
[3] = NEW_Range_range___Range___without_last(REGB0
, REGB1
);
1509 fra
.me
.REG
[3] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1510 /* ./compiling//table_computation.nit:363 */
1512 REGB1
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1513 if (UNTAG_Bool(REGB1
)) {
1514 REGB1
= CALL_abstract_collection___Iterator___item(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1515 fra
.me
.REG
[4] = CALL_table_computation___TableElt___item(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB1
);
1516 fra
.me
.REG
[5] = CALL_table_computation___Program___table_information(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1517 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1518 /* ./../lib/standard//collection//array.nit:23 */
1519 if (UNTAG_Bool(REGB1
)) {
1521 fprintf(stderr
, "Uninitialized attribute %s", "_length");
1522 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
1525 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1526 /* ./compiling//table_computation.nit:365 */
1527 CALL_table_computation___ColorContext___color__eq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4], REGB1
);
1528 /* ./compiling//table_computation.nit:366 */
1529 array___Array___add(fra
.me
.REG
[1], fra
.me
.REG
[4]);
1531 /* ./compiling//table_computation.nit:363 */
1534 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1537 stack_frame_head
= fra
.me
.prev
;
1540 void table_computation___Program___build_tables_in(val_t p0
, val_t p1
, val_t p2
, val_t p3
){
1541 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
1547 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1548 fra
.me
.file
= LOCATE_table_computation
;
1550 fra
.me
.meth
= LOCATE_table_computation___Program___build_tables_in
;
1551 fra
.me
.has_broke
= 0;
1552 fra
.me
.REG_size
= 7;
1553 fra
.me
.REG
[0] = NIT_NULL
;
1554 fra
.me
.REG
[1] = NIT_NULL
;
1555 fra
.me
.REG
[2] = NIT_NULL
;
1556 fra
.me
.REG
[3] = NIT_NULL
;
1557 fra
.me
.REG
[4] = NIT_NULL
;
1558 fra
.me
.REG
[5] = NIT_NULL
;
1559 fra
.me
.REG
[6] = NIT_NULL
;
1564 fra
.me
.REG
[4] = NEW_HashMap_hash_collection___HashMap___init();
1566 fra
.me
.REG
[3] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1567 /* ./compiling//table_computation.nit:374 */
1569 REGB1
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1570 if (UNTAG_Bool(REGB1
)) {
1571 fra
.me
.REG
[5] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1572 REGB1
= CALL_table_computation___TableElt___is_related_to(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[2]);
1573 /* ./compiling//table_computation.nit:375 */
1574 if (UNTAG_Bool(REGB1
)) {
1575 fra
.me
.REG
[6] = CALL_table_computation___Program___table_information(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1576 REGB1
= CALL_table_computation___ColorContext___color(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
1577 REGB2
= CALL_table_computation___TableElt___length(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1578 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
1579 /* ./compiling//table_computation.nit:378 */
1580 CALL_abstract_collection___Map_____braeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB1
, fra
.me
.REG
[5]);
1581 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB2
));
1582 /* ./compiling//table_computation.nit:379 */
1583 if (UNTAG_Bool(REGB1
)) {
1585 /* ./compiling//table_computation.nit:380 */
1589 /* ./compiling//table_computation.nit:374 */
1592 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1596 /* ./compiling//table_computation.nit:385 */
1598 REGB1
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB0
));
1599 /* ./compiling//table_computation.nit:385 */
1600 if (UNTAG_Bool(REGB1
)) {
1601 REGB1
= CALL_abstract_collection___MapRead___has_key(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB2
);
1602 /* ./compiling//table_computation.nit:386 */
1603 if (UNTAG_Bool(REGB1
)) {
1604 fra
.me
.REG
[3] = CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB2
);
1606 REGB3
= CALL_table_computation___TableElt___length(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1607 fra
.me
.REG
[0] = NEW_Range_range___Range___without_last(REGB1
, REGB3
);
1608 fra
.me
.REG
[0] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1609 /* ./compiling//table_computation.nit:388 */
1611 REGB3
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1612 if (UNTAG_Bool(REGB3
)) {
1613 REGB3
= CALL_abstract_collection___Iterator___item(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1614 fra
.me
.REG
[2] = CALL_table_computation___TableElt___item(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB3
);
1615 /* ./compiling//table_computation.nit:389 */
1616 CALL_abstract_collection___Map_____braeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB2
, fra
.me
.REG
[2]);
1618 REGB3
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB3
));
1620 /* ./compiling//table_computation.nit:390 */
1622 /* ./compiling//table_computation.nit:388 */
1625 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1629 /* ./compiling//table_computation.nit:393 */
1630 CALL_abstract_collection___Map_____braeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB2
, NIT_NULL
);
1632 REGB3
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB3
));
1634 /* ./compiling//table_computation.nit:394 */
1637 /* ./compiling//table_computation.nit:385 */
1642 stack_frame_head
= fra
.me
.prev
;
1645 val_t
table_computation___MMModule___local_table(val_t p0
){
1646 struct {struct stack_frame_t me
;} fra
;
1649 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1650 fra
.me
.file
= LOCATE_table_computation
;
1652 fra
.me
.meth
= LOCATE_table_computation___MMModule___local_table
;
1653 fra
.me
.has_broke
= 0;
1654 fra
.me
.REG_size
= 1;
1655 fra
.me
.REG
[0] = NIT_NULL
;
1657 REGB0
= TAG_Bool(ATTR_table_computation___MMModule____local_table(fra
.me
.REG
[0])!=NIT_NULL
);
1658 /* ./compiling//table_computation.nit:401 */
1659 if (UNTAG_Bool(REGB0
)) {
1661 fprintf(stderr
, "Uninitialized attribute %s", "_local_table");
1662 fprintf(stderr
, " (%s:%d)\n", LOCATE_table_computation
, 401);
1665 fra
.me
.REG
[0] = ATTR_table_computation___MMModule____local_table(fra
.me
.REG
[0]);
1666 stack_frame_head
= fra
.me
.prev
;
1667 return fra
.me
.REG
[0];
1669 void table_computation___MMModule___local_analysis(val_t p0
, val_t p1
){
1670 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
1673 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1674 fra
.me
.file
= LOCATE_table_computation
;
1676 fra
.me
.meth
= LOCATE_table_computation___MMModule___local_analysis
;
1677 fra
.me
.has_broke
= 0;
1678 fra
.me
.REG_size
= 5;
1679 fra
.me
.REG
[0] = NIT_NULL
;
1680 fra
.me
.REG
[1] = NIT_NULL
;
1681 fra
.me
.REG
[2] = NIT_NULL
;
1682 fra
.me
.REG
[3] = NIT_NULL
;
1683 fra
.me
.REG
[4] = NIT_NULL
;
1686 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMModule___local_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1687 fra
.me
.REG
[2] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1688 /* ./compiling//table_computation.nit:407 */
1690 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1691 if (UNTAG_Bool(REGB0
)) {
1692 fra
.me
.REG
[3] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1693 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[3], COLOR_MMConcreteClass
, ID_MMConcreteClass
)) /*cast MMConcreteClass*/;
1694 /* ./compiling//table_computation.nit:408 */
1695 if (UNTAG_Bool(REGB0
)) {
1696 REGB0
= TAG_Bool(ATTR_table_computation___MMModule____local_table(fra
.me
.REG
[0])!=NIT_NULL
);
1697 /* ./compiling//table_computation.nit:409 */
1698 if (UNTAG_Bool(REGB0
)) {
1700 fprintf(stderr
, "Uninitialized attribute %s", "_local_table");
1701 fprintf(stderr
, " (%s:%d)\n", LOCATE_table_computation
, 409);
1704 fra
.me
.REG
[4] = ATTR_table_computation___MMModule____local_table(fra
.me
.REG
[0]);
1705 CALL_table_computation___MMConcreteClass___build_layout_in(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1], fra
.me
.REG
[4]);
1708 /* ./compiling//table_computation.nit:407 */
1711 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1714 stack_frame_head
= fra
.me
.prev
;
1717 void table_computation___AbsTableElt___init(val_t p0
, int* init_table
){
1718 int itpos2
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_AbsTableElt
].i
;
1719 struct {struct stack_frame_t me
;} fra
;
1721 if (init_table
[itpos2
]) return;
1722 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1723 fra
.me
.file
= LOCATE_table_computation
;
1725 fra
.me
.meth
= LOCATE_table_computation___AbsTableElt___init
;
1726 fra
.me
.has_broke
= 0;
1727 fra
.me
.REG_size
= 0;
1728 stack_frame_head
= fra
.me
.prev
;
1729 init_table
[itpos2
] = 1;
1732 val_t
table_computation___TableElt___is_related_to(val_t p0
, val_t p1
){
1733 struct {struct stack_frame_t me
;} fra
;
1735 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1736 fra
.me
.file
= LOCATE_table_computation
;
1738 fra
.me
.meth
= LOCATE_table_computation___TableElt___is_related_to
;
1739 fra
.me
.has_broke
= 0;
1740 fra
.me
.REG_size
= 0;
1741 /* ./compiling//table_computation.nit:425 */
1742 fprintf(stderr
, "Deferred method called");
1743 fprintf(stderr
, " (%s:%d)\n", LOCATE_table_computation
, 425);
1745 stack_frame_head
= fra
.me
.prev
;
1748 val_t
table_computation___TableElt___length(val_t p0
){
1749 struct {struct stack_frame_t me
;} fra
;
1752 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1753 fra
.me
.file
= LOCATE_table_computation
;
1755 fra
.me
.meth
= LOCATE_table_computation___TableElt___length
;
1756 fra
.me
.has_broke
= 0;
1757 fra
.me
.REG_size
= 1;
1758 fra
.me
.REG
[0] = NIT_NULL
;
1761 /* ./compiling//table_computation.nit:429 */
1764 stack_frame_head
= fra
.me
.prev
;
1767 val_t
table_computation___TableElt___item(val_t p0
, val_t p1
){
1768 struct {struct stack_frame_t me
;} fra
;
1771 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1772 fra
.me
.file
= LOCATE_table_computation
;
1774 fra
.me
.meth
= LOCATE_table_computation___TableElt___item
;
1775 fra
.me
.has_broke
= 0;
1776 fra
.me
.REG_size
= 1;
1777 fra
.me
.REG
[0] = NIT_NULL
;
1780 /* ./compiling//table_computation.nit:432 */
1783 stack_frame_head
= fra
.me
.prev
;
1784 return fra
.me
.REG
[0];
1786 val_t
table_computation___ModuleTableEltGroup___elements(val_t p0
){
1787 struct {struct stack_frame_t me
;} fra
;
1790 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1791 fra
.me
.file
= LOCATE_table_computation
;
1793 fra
.me
.meth
= LOCATE_table_computation___ModuleTableEltGroup___elements
;
1794 fra
.me
.has_broke
= 0;
1795 fra
.me
.REG_size
= 1;
1796 fra
.me
.REG
[0] = NIT_NULL
;
1798 REGB0
= TAG_Bool(ATTR_table_computation___ModuleTableEltGroup____elements(fra
.me
.REG
[0])!=NIT_NULL
);
1799 /* ./compiling//table_computation.nit:444 */
1800 if (UNTAG_Bool(REGB0
)) {
1802 fprintf(stderr
, "Uninitialized attribute %s", "_elements");
1803 fprintf(stderr
, " (%s:%d)\n", LOCATE_table_computation
, 444);
1806 fra
.me
.REG
[0] = ATTR_table_computation___ModuleTableEltGroup____elements(fra
.me
.REG
[0]);
1807 stack_frame_head
= fra
.me
.prev
;
1808 return fra
.me
.REG
[0];
1810 val_t
table_computation___TableEltProp___property(val_t p0
){
1811 struct {struct stack_frame_t me
;} fra
;
1814 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1815 fra
.me
.file
= LOCATE_table_computation
;
1817 fra
.me
.meth
= LOCATE_table_computation___TableEltProp___property
;
1818 fra
.me
.has_broke
= 0;
1819 fra
.me
.REG_size
= 1;
1820 fra
.me
.REG
[0] = NIT_NULL
;
1822 REGB0
= TAG_Bool(ATTR_table_computation___TableEltProp____property(fra
.me
.REG
[0])!=NIT_NULL
);
1823 /* ./compiling//table_computation.nit:450 */
1824 if (UNTAG_Bool(REGB0
)) {
1826 fprintf(stderr
, "Uninitialized attribute %s", "_property");
1827 fprintf(stderr
, " (%s:%d)\n", LOCATE_table_computation
, 450);
1830 fra
.me
.REG
[0] = ATTR_table_computation___TableEltProp____property(fra
.me
.REG
[0]);
1831 stack_frame_head
= fra
.me
.prev
;
1832 return fra
.me
.REG
[0];
1834 void table_computation___TableEltProp___init(val_t p0
, val_t p1
, int* init_table
){
1835 int itpos3
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_TableEltProp
].i
;
1836 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1838 if (init_table
[itpos3
]) return;
1839 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1840 fra
.me
.file
= LOCATE_table_computation
;
1842 fra
.me
.meth
= LOCATE_table_computation___TableEltProp___init
;
1843 fra
.me
.has_broke
= 0;
1844 fra
.me
.REG_size
= 2;
1845 fra
.me
.REG
[0] = NIT_NULL
;
1846 fra
.me
.REG
[1] = NIT_NULL
;
1849 /* ./compiling//table_computation.nit:454 */
1850 ATTR_table_computation___TableEltProp____property(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1851 stack_frame_head
= fra
.me
.prev
;
1852 init_table
[itpos3
] = 1;
1855 val_t
table_computation___AbsTableEltClass___local_class(val_t p0
){
1856 struct {struct stack_frame_t me
;} fra
;
1859 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1860 fra
.me
.file
= LOCATE_table_computation
;
1862 fra
.me
.meth
= LOCATE_table_computation___AbsTableEltClass___local_class
;
1863 fra
.me
.has_broke
= 0;
1864 fra
.me
.REG_size
= 1;
1865 fra
.me
.REG
[0] = NIT_NULL
;
1867 REGB0
= TAG_Bool(ATTR_table_computation___AbsTableEltClass____local_class(fra
.me
.REG
[0])!=NIT_NULL
);
1868 /* ./compiling//table_computation.nit:476 */
1869 if (UNTAG_Bool(REGB0
)) {
1871 fprintf(stderr
, "Uninitialized attribute %s", "_local_class");
1872 fprintf(stderr
, " (%s:%d)\n", LOCATE_table_computation
, 476);
1875 fra
.me
.REG
[0] = ATTR_table_computation___AbsTableEltClass____local_class(fra
.me
.REG
[0]);
1876 stack_frame_head
= fra
.me
.prev
;
1877 return fra
.me
.REG
[0];
1879 void table_computation___AbsTableEltClass___init(val_t p0
, val_t p1
, int* init_table
){
1880 int itpos4
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_AbsTableEltClass
].i
;
1881 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1883 if (init_table
[itpos4
]) return;
1884 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1885 fra
.me
.file
= LOCATE_table_computation
;
1887 fra
.me
.meth
= LOCATE_table_computation___AbsTableEltClass___init
;
1888 fra
.me
.has_broke
= 0;
1889 fra
.me
.REG_size
= 3;
1890 fra
.me
.REG
[0] = NIT_NULL
;
1891 fra
.me
.REG
[1] = NIT_NULL
;
1892 fra
.me
.REG
[2] = NIT_NULL
;
1895 fra
.me
.REG
[2] = fra
.me
.REG
[0];
1896 /* ./compiling//table_computation.nit:479 */
1897 CALL_table_computation___AbsTableElt___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
1898 /* ./compiling//table_computation.nit:481 */
1899 ATTR_table_computation___AbsTableEltClass____local_class(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
1900 stack_frame_head
= fra
.me
.prev
;
1901 init_table
[itpos4
] = 1;
1904 val_t
table_computation___TableEltClass___is_related_to(val_t p0
, val_t p1
){
1905 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1908 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1909 fra
.me
.file
= LOCATE_table_computation
;
1911 fra
.me
.meth
= LOCATE_table_computation___TableEltClass___is_related_to
;
1912 fra
.me
.has_broke
= 0;
1913 fra
.me
.REG_size
= 3;
1914 fra
.me
.REG
[0] = NIT_NULL
;
1915 fra
.me
.REG
[1] = NIT_NULL
;
1916 fra
.me
.REG
[2] = NIT_NULL
;
1919 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMLocalClass___module(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1920 REGB0
= TAG_Bool(ATTR_table_computation___AbsTableEltClass____local_class(fra
.me
.REG
[0])!=NIT_NULL
);
1921 /* ./compiling//table_computation.nit:491 */
1922 if (UNTAG_Bool(REGB0
)) {
1924 fprintf(stderr
, "Uninitialized attribute %s", "_local_class");
1925 fprintf(stderr
, " (%s:%d)\n", LOCATE_table_computation
, 491);
1928 fra
.me
.REG
[0] = ATTR_table_computation___AbsTableEltClass____local_class(fra
.me
.REG
[0]);
1929 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1930 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMModule_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1931 fra
.me
.REG
[1] = CALL_abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1932 REGB0
= CALL_partial_order___PartialOrderElement_____leq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1933 /* ./compiling//table_computation.nit:492 */
1936 stack_frame_head
= fra
.me
.prev
;
1939 val_t
table_computation___TableEltComposite___is_related_to(val_t p0
, val_t p1
){
1940 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1943 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1944 fra
.me
.file
= LOCATE_table_computation
;
1946 fra
.me
.meth
= LOCATE_table_computation___TableEltComposite___is_related_to
;
1947 fra
.me
.has_broke
= 0;
1948 fra
.me
.REG_size
= 2;
1949 fra
.me
.REG
[0] = NIT_NULL
;
1950 fra
.me
.REG
[1] = NIT_NULL
;
1953 fra
.me
.REG
[1] = CALL_abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1954 REGB0
= TAG_Bool(ATTR_table_computation___TableEltComposite____cc(fra
.me
.REG
[0])!=NIT_NULL
);
1955 /* ./compiling//table_computation.nit:523 */
1956 if (UNTAG_Bool(REGB0
)) {
1958 fprintf(stderr
, "Uninitialized attribute %s", "_cc");
1959 fprintf(stderr
, " (%s:%d)\n", LOCATE_table_computation
, 523);
1962 fra
.me
.REG
[0] = ATTR_table_computation___TableEltComposite____cc(fra
.me
.REG
[0]);
1963 fra
.me
.REG
[0] = CALL_table_computation___CompiledClass___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1964 REGB0
= CALL_partial_order___PartialOrderElement_____leq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1967 stack_frame_head
= fra
.me
.prev
;
1970 val_t
table_computation___TableEltComposite___length(val_t p0
){
1971 struct {struct stack_frame_t me
;} fra
;
1974 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1975 fra
.me
.file
= LOCATE_table_computation
;
1977 fra
.me
.meth
= LOCATE_table_computation___TableEltComposite___length
;
1978 fra
.me
.has_broke
= 0;
1979 fra
.me
.REG_size
= 1;
1980 fra
.me
.REG
[0] = NIT_NULL
;
1982 REGB0
= TAG_Bool(ATTR_table_computation___TableEltComposite____table(fra
.me
.REG
[0])!=NIT_NULL
);
1983 /* ./compiling//table_computation.nit:522 */
1984 if (UNTAG_Bool(REGB0
)) {
1986 fprintf(stderr
, "Uninitialized attribute %s", "_table");
1987 fprintf(stderr
, " (%s:%d)\n", LOCATE_table_computation
, 522);
1990 fra
.me
.REG
[0] = ATTR_table_computation___TableEltComposite____table(fra
.me
.REG
[0]);
1991 REGB0
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1992 /* ./../lib/standard//collection//array.nit:23 */
1993 if (UNTAG_Bool(REGB0
)) {
1995 fprintf(stderr
, "Uninitialized attribute %s", "_length");
1996 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
1999 REGB0
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]);
2000 /* ./compiling//table_computation.nit:522 */
2003 stack_frame_head
= fra
.me
.prev
;
2006 val_t
table_computation___TableEltComposite___item(val_t p0
, val_t p1
){
2007 struct {struct stack_frame_t me
;} fra
;
2012 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2013 fra
.me
.file
= LOCATE_table_computation
;
2015 fra
.me
.meth
= LOCATE_table_computation___TableEltComposite___item
;
2016 fra
.me
.has_broke
= 0;
2017 fra
.me
.REG_size
= 1;
2018 fra
.me
.REG
[0] = NIT_NULL
;
2021 REGB1
= TAG_Bool(ATTR_table_computation___TableEltComposite____table(fra
.me
.REG
[0])!=NIT_NULL
);
2022 /* ./compiling//table_computation.nit:531 */
2023 if (UNTAG_Bool(REGB1
)) {
2025 fprintf(stderr
, "Uninitialized attribute %s", "_table");
2026 fprintf(stderr
, " (%s:%d)\n", LOCATE_table_computation
, 531);
2029 fra
.me
.REG
[0] = ATTR_table_computation___TableEltComposite____table(fra
.me
.REG
[0]);
2031 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
2032 /* ./../lib/standard//collection//array.nit:233 */
2033 if (UNTAG_Bool(REGB1
)) {
2034 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
2035 if (UNTAG_Bool(REGB1
)) {
2037 fprintf(stderr
, "Uninitialized attribute %s", "_length");
2038 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 233);
2041 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]);
2042 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
2043 /* ./../lib/standard//collection//array.nit:233 */
2045 REGB2
= TAG_Bool(false);
2048 if (UNTAG_Bool(REGB1
)) {
2050 fprintf(stderr
, "Assert %s failed", "'index'");
2051 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 233);
2054 fra
.me
.REG
[0] = ATTR_array___Array____items(fra
.me
.REG
[0]);
2055 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
2056 /* ./../lib/standard//collection//array.nit:234 */
2057 if (UNTAG_Bool(REGB1
)) {
2058 fprintf(stderr
, "Reciever is null");
2059 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 234);
2062 fra
.me
.REG
[0] = ((Nit_NativeArray
)fra
.me
.REG
[0])->val
[UNTAG_Int(REGB0
)];
2063 /* ./../lib/standard//collection//array.nit:234 */
2066 /* ./compiling//table_computation.nit:531 */
2069 stack_frame_head
= fra
.me
.prev
;
2070 return fra
.me
.REG
[0];
2072 void table_computation___TableEltComposite___add(val_t p0
, val_t p1
, val_t p2
){
2073 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
2076 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2077 fra
.me
.file
= LOCATE_table_computation
;
2079 fra
.me
.meth
= LOCATE_table_computation___TableEltComposite___add
;
2080 fra
.me
.has_broke
= 0;
2081 fra
.me
.REG_size
= 5;
2082 fra
.me
.REG
[0] = NIT_NULL
;
2083 fra
.me
.REG
[1] = NIT_NULL
;
2084 fra
.me
.REG
[2] = NIT_NULL
;
2085 fra
.me
.REG
[3] = NIT_NULL
;
2086 fra
.me
.REG
[4] = NIT_NULL
;
2090 REGB0
= TAG_Bool(ATTR_table_computation___TableEltComposite____offsets(fra
.me
.REG
[0])!=NIT_NULL
);
2091 /* ./compiling//table_computation.nit:527 */
2092 if (UNTAG_Bool(REGB0
)) {
2094 fprintf(stderr
, "Uninitialized attribute %s", "_offsets");
2095 fprintf(stderr
, " (%s:%d)\n", LOCATE_table_computation
, 527);
2098 fra
.me
.REG
[3] = ATTR_table_computation___TableEltComposite____offsets(fra
.me
.REG
[0]);
2099 REGB0
= TAG_Bool(ATTR_table_computation___TableEltComposite____table(fra
.me
.REG
[0])!=NIT_NULL
);
2100 if (UNTAG_Bool(REGB0
)) {
2102 fprintf(stderr
, "Uninitialized attribute %s", "_table");
2103 fprintf(stderr
, " (%s:%d)\n", LOCATE_table_computation
, 527);
2106 fra
.me
.REG
[4] = ATTR_table_computation___TableEltComposite____table(fra
.me
.REG
[0]);
2107 REGB0
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
2108 /* ./../lib/standard//collection//array.nit:23 */
2109 if (UNTAG_Bool(REGB0
)) {
2111 fprintf(stderr
, "Uninitialized attribute %s", "_length");
2112 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
2115 REGB0
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4]);
2116 /* ./compiling//table_computation.nit:527 */
2117 CALL_abstract_collection___Map_____braeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1], REGB0
);
2118 REGB0
= TAG_Bool(ATTR_table_computation___TableEltComposite____table(fra
.me
.REG
[0])!=NIT_NULL
);
2119 /* ./compiling//table_computation.nit:528 */
2120 if (UNTAG_Bool(REGB0
)) {
2122 fprintf(stderr
, "Uninitialized attribute %s", "_table");
2123 fprintf(stderr
, " (%s:%d)\n", LOCATE_table_computation
, 528);
2126 fra
.me
.REG
[0] = ATTR_table_computation___TableEltComposite____table(fra
.me
.REG
[0]);
2127 CALL_abstract_collection___Sequence___append(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
2128 stack_frame_head
= fra
.me
.prev
;
2131 void table_computation___TableEltComposite___init(val_t p0
, val_t p1
, int* init_table
){
2132 int itpos5
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_TableEltComposite
].i
;
2133 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2135 if (init_table
[itpos5
]) return;
2136 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2137 fra
.me
.file
= LOCATE_table_computation
;
2139 fra
.me
.meth
= LOCATE_table_computation___TableEltComposite___init
;
2140 fra
.me
.has_broke
= 0;
2141 fra
.me
.REG_size
= 2;
2142 fra
.me
.REG
[0] = NIT_NULL
;
2143 fra
.me
.REG
[1] = NIT_NULL
;
2146 /* ./compiling//table_computation.nit:535 */
2147 ATTR_table_computation___TableEltComposite____cc(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2148 fra
.me
.REG
[1] = NEW_Array_array___Array___init();
2149 /* ./compiling//table_computation.nit:536 */
2150 ATTR_table_computation___TableEltComposite____table(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2151 fra
.me
.REG
[1] = NEW_HashMap_hash_collection___HashMap___init();
2152 /* ./compiling//table_computation.nit:537 */
2153 ATTR_table_computation___TableEltComposite____offsets(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2154 stack_frame_head
= fra
.me
.prev
;
2155 init_table
[itpos5
] = 1;
2158 val_t
table_computation___TableEltClassSelfId___is_related_to(val_t p0
, val_t p1
){
2159 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2162 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2163 fra
.me
.file
= LOCATE_table_computation
;
2165 fra
.me
.meth
= LOCATE_table_computation___TableEltClassSelfId___is_related_to
;
2166 fra
.me
.has_broke
= 0;
2167 fra
.me
.REG_size
= 2;
2168 fra
.me
.REG
[0] = NIT_NULL
;
2169 fra
.me
.REG
[1] = NIT_NULL
;
2172 REGB0
= TAG_Bool(true);
2173 /* ./compiling//table_computation.nit:544 */
2176 stack_frame_head
= fra
.me
.prev
;
2179 val_t
table_computation___TableEltClassObjectSize___is_related_to(val_t p0
, val_t p1
){
2180 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2183 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2184 fra
.me
.file
= LOCATE_table_computation
;
2186 fra
.me
.meth
= LOCATE_table_computation___TableEltClassObjectSize___is_related_to
;
2187 fra
.me
.has_broke
= 0;
2188 fra
.me
.REG_size
= 2;
2189 fra
.me
.REG
[0] = NIT_NULL
;
2190 fra
.me
.REG
[1] = NIT_NULL
;
2193 REGB0
= TAG_Bool(true);
2194 /* ./compiling//table_computation.nit:550 */
2197 stack_frame_head
= fra
.me
.prev
;
2200 val_t
table_computation___TableEltObjectId___is_related_to(val_t p0
, val_t p1
){
2201 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2204 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2205 fra
.me
.file
= LOCATE_table_computation
;
2207 fra
.me
.meth
= LOCATE_table_computation___TableEltObjectId___is_related_to
;
2208 fra
.me
.has_broke
= 0;
2209 fra
.me
.REG_size
= 2;
2210 fra
.me
.REG
[0] = NIT_NULL
;
2211 fra
.me
.REG
[1] = NIT_NULL
;
2214 REGB0
= TAG_Bool(true);
2215 /* ./compiling//table_computation.nit:556 */
2218 stack_frame_head
= fra
.me
.prev
;
2221 val_t
table_computation___TableEltVftPointer___is_related_to(val_t p0
, val_t p1
){
2222 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2225 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2226 fra
.me
.file
= LOCATE_table_computation
;
2228 fra
.me
.meth
= LOCATE_table_computation___TableEltVftPointer___is_related_to
;
2229 fra
.me
.has_broke
= 0;
2230 fra
.me
.REG_size
= 2;
2231 fra
.me
.REG
[0] = NIT_NULL
;
2232 fra
.me
.REG
[1] = NIT_NULL
;
2235 REGB0
= TAG_Bool(true);
2236 /* ./compiling//table_computation.nit:562 */
2239 stack_frame_head
= fra
.me
.prev
;
2242 val_t
table_computation___ClassSorter___compare(val_t p0
, val_t p1
, val_t p2
){
2243 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
2246 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2247 fra
.me
.file
= LOCATE_table_computation
;
2249 fra
.me
.meth
= LOCATE_table_computation___ClassSorter___compare
;
2250 fra
.me
.has_broke
= 0;
2251 fra
.me
.REG_size
= 3;
2252 fra
.me
.REG
[0] = NIT_NULL
;
2253 fra
.me
.REG
[1] = NIT_NULL
;
2254 fra
.me
.REG
[2] = NIT_NULL
;
2258 REGB0
= CALL_table_computation___MMLocalClass___compare(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
2259 /* ./compiling//table_computation.nit:571 */
2262 stack_frame_head
= fra
.me
.prev
;
2265 void table_computation___ClassSorter___init(val_t p0
, int* init_table
){
2266 int itpos6
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_ClassSorter
].i
;
2267 struct {struct stack_frame_t me
;} fra
;
2269 if (init_table
[itpos6
]) return;
2270 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2271 fra
.me
.file
= LOCATE_table_computation
;
2273 fra
.me
.meth
= LOCATE_table_computation___ClassSorter___init
;
2274 fra
.me
.has_broke
= 0;
2275 fra
.me
.REG_size
= 1;
2276 fra
.me
.REG
[0] = NIT_NULL
;
2278 /* ./compiling//table_computation.nit:572 */
2279 CALL_sorter___AbstractSorter___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
2280 stack_frame_head
= fra
.me
.prev
;
2281 init_table
[itpos6
] = 1;
2284 val_t
table_computation___MMLocalClass___compare(val_t p0
, val_t p1
){
2285 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2291 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2292 fra
.me
.file
= LOCATE_table_computation
;
2294 fra
.me
.meth
= LOCATE_table_computation___MMLocalClass___compare
;
2295 fra
.me
.has_broke
= 0;
2296 fra
.me
.REG_size
= 4;
2297 fra
.me
.REG
[0] = NIT_NULL
;
2298 fra
.me
.REG
[1] = NIT_NULL
;
2299 fra
.me
.REG
[2] = NIT_NULL
;
2300 fra
.me
.REG
[3] = NIT_NULL
;
2303 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[0],fra
.me
.REG
[1]));
2304 /* ./compiling//table_computation.nit:580 */
2305 if (UNTAG_Bool(REGB0
)) {
2307 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2310 if (UNTAG_Bool(REGB0
)) {
2312 /* ./compiling//table_computation.nit:581 */
2315 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMLocalClass___module(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2316 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMModule___mhe(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2317 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalClass___module(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2318 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2319 /* ./compiling//table_computation.nit:582 */
2320 if (UNTAG_Bool(REGB1
)) {
2321 fprintf(stderr
, "Reciever is null");
2322 fprintf(stderr
, " (%s:%d)\n", LOCATE_table_computation
, 582);
2325 REGB1
= CALL_partial_order___PartialOrderElement_____l(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2326 if (UNTAG_Bool(REGB1
)) {
2329 /* ./compiling//table_computation.nit:583 */
2332 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalClass___module(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2333 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMModule___mhe(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2334 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMLocalClass___module(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2335 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2336 /* ./compiling//table_computation.nit:584 */
2337 if (UNTAG_Bool(REGB1
)) {
2338 fprintf(stderr
, "Reciever is null");
2339 fprintf(stderr
, " (%s:%d)\n", LOCATE_table_computation
, 584);
2342 REGB1
= CALL_partial_order___PartialOrderElement_____l(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
2343 if (UNTAG_Bool(REGB1
)) {
2345 REGB1
= TAG_Int(-UNTAG_Int(REGB1
));
2347 /* ./compiling//table_computation.nit:585 */
2352 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2353 REGB1
= CALL_partial_order___PartialOrderElement___rank(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2354 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2355 REGB2
= CALL_partial_order___PartialOrderElement___rank(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2356 REGB3
= TAG_Bool(UNTAG_Int(REGB1
)>UNTAG_Int(REGB2
));
2357 /* ./compiling//table_computation.nit:589 */
2358 if (UNTAG_Bool(REGB3
)) {
2361 /* ./compiling//table_computation.nit:590 */
2364 REGB1
= TAG_Bool(UNTAG_Int(REGB2
)>UNTAG_Int(REGB1
));
2365 /* ./compiling//table_computation.nit:591 */
2366 if (UNTAG_Bool(REGB1
)) {
2368 REGB1
= TAG_Int(-UNTAG_Int(REGB1
));
2370 /* ./compiling//table_computation.nit:592 */
2373 fra
.me
.REG
[1] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2374 fra
.me
.REG
[1] = CALL_string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2375 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2376 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2377 REGB1
= CALL_kernel___Comparable_____leqg(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2379 /* ./compiling//table_computation.nit:594 */
2384 stack_frame_head
= fra
.me
.prev
;