1 /* This C file is generated by NIT to compile module compiling___table_computation. */
2 #include "compiling___table_computation._sep.h"
3 val_t
compiling___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_compiling___table_computation
;
10 fra
.me
.meth
= LOCATE_compiling___table_computation___ColorContext___color
;
13 fra
.me
.REG
[0] = NIT_NULL
;
14 fra
.me
.REG
[1] = NIT_NULL
;
17 /* ./compiling//table_computation.nit:32 */
18 REGB0
= TAG_Bool(ATTR_compiling___table_computation___ColorContext____colors(fra
.me
.REG
[0])!=NIT_NULL
);
19 if (UNTAG_Bool(REGB0
)) {
21 nit_abort("Uninitialized attribute %s", "_colors", LOCATE_compiling___table_computation
, 32);
23 fra
.me
.REG
[0] = ATTR_compiling___table_computation___ColorContext____colors(fra
.me
.REG
[0]);
24 fra
.me
.REG
[1] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
25 REGB0
= fra
.me
.REG
[1];
28 stack_frame_head
= fra
.me
.prev
;
31 val_t
compiling___table_computation___ColorContext___has_color(val_t p0
, val_t p1
){
32 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
35 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
36 fra
.me
.file
= LOCATE_compiling___table_computation
;
38 fra
.me
.meth
= LOCATE_compiling___table_computation___ColorContext___has_color
;
41 fra
.me
.REG
[0] = NIT_NULL
;
42 fra
.me
.REG
[1] = NIT_NULL
;
45 /* ./compiling//table_computation.nit:38 */
46 REGB0
= TAG_Bool(ATTR_compiling___table_computation___ColorContext____colors(fra
.me
.REG
[0])!=NIT_NULL
);
47 if (UNTAG_Bool(REGB0
)) {
49 nit_abort("Uninitialized attribute %s", "_colors", LOCATE_compiling___table_computation
, 38);
51 fra
.me
.REG
[0] = ATTR_compiling___table_computation___ColorContext____colors(fra
.me
.REG
[0]);
52 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
55 stack_frame_head
= fra
.me
.prev
;
58 void compiling___table_computation___ColorContext___color__eq(val_t p0
, val_t p1
, val_t p2
){
59 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
66 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
67 fra
.me
.file
= LOCATE_compiling___table_computation
;
69 fra
.me
.meth
= LOCATE_compiling___table_computation___ColorContext___color__eq
;
72 fra
.me
.REG
[0] = NIT_NULL
;
73 fra
.me
.REG
[1] = NIT_NULL
;
74 fra
.me
.REG
[2] = NIT_NULL
;
75 fra
.me
.REG
[3] = NIT_NULL
;
79 /* ./compiling//table_computation.nit:44 */
80 REGB1
= TAG_Bool(ATTR_compiling___table_computation___ColorContext____colors(fra
.me
.REG
[0])!=NIT_NULL
);
81 if (UNTAG_Bool(REGB1
)) {
83 nit_abort("Uninitialized attribute %s", "_colors", LOCATE_compiling___table_computation
, 44);
85 fra
.me
.REG
[2] = ATTR_compiling___table_computation___ColorContext____colors(fra
.me
.REG
[0]);
86 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1], REGB0
);
87 /* ./compiling//table_computation.nit:46 */
89 REGB2
= CALL_compiling___table_computation___TableElt___length(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
90 /* ./../lib/standard//kernel.nit:352 */
92 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
93 if (UNTAG_Bool(REGB3
)) {
95 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
97 /* ./../lib/standard//kernel.nit:232 */
98 REGB3
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
99 /* ./../lib/standard//kernel.nit:352 */
100 if (UNTAG_Bool(REGB3
)) {
101 /* ./compiling//table_computation.nit:46 */
103 /* ./compiling//table_computation.nit:47 */
104 REGB4
= TAG_Bool(ATTR_compiling___table_computation___ColorContext____colors(fra
.me
.REG
[0])!=NIT_NULL
);
105 if (UNTAG_Bool(REGB4
)) {
107 nit_abort("Uninitialized attribute %s", "_colors", LOCATE_compiling___table_computation
, 47);
109 fra
.me
.REG
[2] = ATTR_compiling___table_computation___ColorContext____colors(fra
.me
.REG
[0]);
110 fra
.me
.REG
[3] = CALL_compiling___table_computation___TableElt___item(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB3
);
111 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], REGB0
);
112 /* ./compiling//table_computation.nit:48 */
114 /* ./../lib/standard//kernel.nit:235 */
115 REGB3
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB3
));
116 /* ./compiling//table_computation.nit:48 */
118 /* ./../lib/standard//kernel.nit:354 */
120 /* ./../lib/standard//kernel.nit:235 */
121 REGB3
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB3
));
122 /* ./../lib/standard//kernel.nit:354 */
125 /* ./../lib/standard//kernel.nit:352 */
130 stack_frame_head
= fra
.me
.prev
;
133 void compiling___table_computation___ColorContext___init(val_t p0
, int* init_table
){
134 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_compiling___table_computation___ColorContext
].i
;
135 struct {struct stack_frame_t me
;} fra
;
137 if (init_table
[itpos0
]) return;
138 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
139 fra
.me
.file
= LOCATE_compiling___table_computation
;
141 fra
.me
.meth
= LOCATE_compiling___table_computation___ColorContext___init
;
142 fra
.me
.has_broke
= 0;
144 stack_frame_head
= fra
.me
.prev
;
145 init_table
[itpos0
] = 1;
148 val_t
compiling___table_computation___TableInformation___max_class_table_length(val_t p0
){
149 struct {struct stack_frame_t me
;} fra
;
152 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
153 fra
.me
.file
= LOCATE_compiling___table_computation
;
155 fra
.me
.meth
= LOCATE_compiling___table_computation___TableInformation___max_class_table_length
;
156 fra
.me
.has_broke
= 0;
158 fra
.me
.REG
[0] = NIT_NULL
;
160 /* ./compiling//table_computation.nit:56 */
161 REGB0
= TAG_Bool(ATTR_compiling___table_computation___TableInformation____max_class_table_length(fra
.me
.REG
[0])!=NIT_NULL
);
162 if (UNTAG_Bool(REGB0
)) {
164 nit_abort("Uninitialized attribute %s", "_max_class_table_length", LOCATE_compiling___table_computation
, 56);
166 REGB0
= ATTR_compiling___table_computation___TableInformation____max_class_table_length(fra
.me
.REG
[0]);
167 stack_frame_head
= fra
.me
.prev
;
170 void compiling___table_computation___TableInformation___max_class_table_length__eq(val_t p0
, val_t p1
){
171 struct {struct stack_frame_t me
;} fra
;
174 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
175 fra
.me
.file
= LOCATE_compiling___table_computation
;
177 fra
.me
.meth
= LOCATE_compiling___table_computation___TableInformation___max_class_table_length__eq
;
178 fra
.me
.has_broke
= 0;
180 fra
.me
.REG
[0] = NIT_NULL
;
183 /* ./compiling//table_computation.nit:56 */
184 ATTR_compiling___table_computation___TableInformation____max_class_table_length(fra
.me
.REG
[0]) = REGB0
;
185 stack_frame_head
= fra
.me
.prev
;
188 val_t
compiling___table_computation___CompiledClass___local_class(val_t p0
){
189 struct {struct stack_frame_t me
;} fra
;
192 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
193 fra
.me
.file
= LOCATE_compiling___table_computation
;
195 fra
.me
.meth
= LOCATE_compiling___table_computation___CompiledClass___local_class
;
196 fra
.me
.has_broke
= 0;
198 fra
.me
.REG
[0] = NIT_NULL
;
200 /* ./compiling//table_computation.nit:63 */
201 REGB0
= TAG_Bool(ATTR_compiling___table_computation___CompiledClass____local_class(fra
.me
.REG
[0])!=NIT_NULL
);
202 if (UNTAG_Bool(REGB0
)) {
204 nit_abort("Uninitialized attribute %s", "_local_class", LOCATE_compiling___table_computation
, 63);
206 fra
.me
.REG
[0] = ATTR_compiling___table_computation___CompiledClass____local_class(fra
.me
.REG
[0]);
207 stack_frame_head
= fra
.me
.prev
;
208 return fra
.me
.REG
[0];
210 val_t
compiling___table_computation___CompiledClass___id(val_t p0
){
211 struct {struct stack_frame_t me
;} fra
;
214 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
215 fra
.me
.file
= LOCATE_compiling___table_computation
;
217 fra
.me
.meth
= LOCATE_compiling___table_computation___CompiledClass___id
;
218 fra
.me
.has_broke
= 0;
220 fra
.me
.REG
[0] = NIT_NULL
;
222 /* ./compiling//table_computation.nit:66 */
223 REGB0
= TAG_Bool(ATTR_compiling___table_computation___CompiledClass____id(fra
.me
.REG
[0])!=NIT_NULL
);
224 if (UNTAG_Bool(REGB0
)) {
226 nit_abort("Uninitialized attribute %s", "_id", LOCATE_compiling___table_computation
, 66);
228 REGB0
= ATTR_compiling___table_computation___CompiledClass____id(fra
.me
.REG
[0]);
229 stack_frame_head
= fra
.me
.prev
;
232 void compiling___table_computation___CompiledClass___id__eq(val_t p0
, val_t p1
){
233 struct {struct stack_frame_t me
;} fra
;
236 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
237 fra
.me
.file
= LOCATE_compiling___table_computation
;
239 fra
.me
.meth
= LOCATE_compiling___table_computation___CompiledClass___id__eq
;
240 fra
.me
.has_broke
= 0;
242 fra
.me
.REG
[0] = NIT_NULL
;
245 /* ./compiling//table_computation.nit:66 */
246 ATTR_compiling___table_computation___CompiledClass____id(fra
.me
.REG
[0]) = REGB0
;
247 stack_frame_head
= fra
.me
.prev
;
250 val_t
compiling___table_computation___CompiledClass___class_table(val_t p0
){
251 struct {struct stack_frame_t me
;} fra
;
254 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
255 fra
.me
.file
= LOCATE_compiling___table_computation
;
257 fra
.me
.meth
= LOCATE_compiling___table_computation___CompiledClass___class_table
;
258 fra
.me
.has_broke
= 0;
260 fra
.me
.REG
[0] = NIT_NULL
;
262 /* ./compiling//table_computation.nit:69 */
263 REGB0
= TAG_Bool(ATTR_compiling___table_computation___CompiledClass____class_table(fra
.me
.REG
[0])!=NIT_NULL
);
264 if (UNTAG_Bool(REGB0
)) {
266 nit_abort("Uninitialized attribute %s", "_class_table", LOCATE_compiling___table_computation
, 69);
268 fra
.me
.REG
[0] = ATTR_compiling___table_computation___CompiledClass____class_table(fra
.me
.REG
[0]);
269 stack_frame_head
= fra
.me
.prev
;
270 return fra
.me
.REG
[0];
272 val_t
compiling___table_computation___CompiledClass___instance_table(val_t p0
){
273 struct {struct stack_frame_t me
;} fra
;
276 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
277 fra
.me
.file
= LOCATE_compiling___table_computation
;
279 fra
.me
.meth
= LOCATE_compiling___table_computation___CompiledClass___instance_table
;
280 fra
.me
.has_broke
= 0;
282 fra
.me
.REG
[0] = NIT_NULL
;
284 /* ./compiling//table_computation.nit:72 */
285 REGB0
= TAG_Bool(ATTR_compiling___table_computation___CompiledClass____instance_table(fra
.me
.REG
[0])!=NIT_NULL
);
286 if (UNTAG_Bool(REGB0
)) {
288 nit_abort("Uninitialized attribute %s", "_instance_table", LOCATE_compiling___table_computation
, 72);
290 fra
.me
.REG
[0] = ATTR_compiling___table_computation___CompiledClass____instance_table(fra
.me
.REG
[0]);
291 stack_frame_head
= fra
.me
.prev
;
292 return fra
.me
.REG
[0];
294 val_t
compiling___table_computation___CompiledClass___class_layout(val_t p0
){
295 struct {struct stack_frame_t me
;} fra
;
298 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
299 fra
.me
.file
= LOCATE_compiling___table_computation
;
301 fra
.me
.meth
= LOCATE_compiling___table_computation___CompiledClass___class_layout
;
302 fra
.me
.has_broke
= 0;
304 fra
.me
.REG
[0] = NIT_NULL
;
306 /* ./compiling//table_computation.nit:75 */
307 REGB0
= TAG_Bool(ATTR_compiling___table_computation___CompiledClass____class_layout(fra
.me
.REG
[0])!=NIT_NULL
);
308 if (UNTAG_Bool(REGB0
)) {
310 nit_abort("Uninitialized attribute %s", "_class_layout", LOCATE_compiling___table_computation
, 75);
312 fra
.me
.REG
[0] = ATTR_compiling___table_computation___CompiledClass____class_layout(fra
.me
.REG
[0]);
313 stack_frame_head
= fra
.me
.prev
;
314 return fra
.me
.REG
[0];
316 void compiling___table_computation___CompiledClass___class_layout__eq(val_t p0
, val_t p1
){
317 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
319 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
320 fra
.me
.file
= LOCATE_compiling___table_computation
;
322 fra
.me
.meth
= LOCATE_compiling___table_computation___CompiledClass___class_layout__eq
;
323 fra
.me
.has_broke
= 0;
325 fra
.me
.REG
[0] = NIT_NULL
;
326 fra
.me
.REG
[1] = NIT_NULL
;
329 /* ./compiling//table_computation.nit:75 */
330 ATTR_compiling___table_computation___CompiledClass____class_layout(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
331 stack_frame_head
= fra
.me
.prev
;
334 val_t
compiling___table_computation___CompiledClass___instance_layout(val_t p0
){
335 struct {struct stack_frame_t me
;} fra
;
338 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
339 fra
.me
.file
= LOCATE_compiling___table_computation
;
341 fra
.me
.meth
= LOCATE_compiling___table_computation___CompiledClass___instance_layout
;
342 fra
.me
.has_broke
= 0;
344 fra
.me
.REG
[0] = NIT_NULL
;
346 /* ./compiling//table_computation.nit:78 */
347 REGB0
= TAG_Bool(ATTR_compiling___table_computation___CompiledClass____instance_layout(fra
.me
.REG
[0])!=NIT_NULL
);
348 if (UNTAG_Bool(REGB0
)) {
350 nit_abort("Uninitialized attribute %s", "_instance_layout", LOCATE_compiling___table_computation
, 78);
352 fra
.me
.REG
[0] = ATTR_compiling___table_computation___CompiledClass____instance_layout(fra
.me
.REG
[0]);
353 stack_frame_head
= fra
.me
.prev
;
354 return fra
.me
.REG
[0];
356 void compiling___table_computation___CompiledClass___instance_layout__eq(val_t p0
, val_t p1
){
357 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
359 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
360 fra
.me
.file
= LOCATE_compiling___table_computation
;
362 fra
.me
.meth
= LOCATE_compiling___table_computation___CompiledClass___instance_layout__eq
;
363 fra
.me
.has_broke
= 0;
365 fra
.me
.REG
[0] = NIT_NULL
;
366 fra
.me
.REG
[1] = NIT_NULL
;
369 /* ./compiling//table_computation.nit:78 */
370 ATTR_compiling___table_computation___CompiledClass____instance_layout(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
371 stack_frame_head
= fra
.me
.prev
;
374 void compiling___table_computation___CompiledClass___init(val_t p0
, val_t p1
, int* init_table
){
375 int itpos1
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_compiling___table_computation___CompiledClass
].i
;
376 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
378 if (init_table
[itpos1
]) return;
379 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
380 fra
.me
.file
= LOCATE_compiling___table_computation
;
382 fra
.me
.meth
= LOCATE_compiling___table_computation___CompiledClass___init
;
383 fra
.me
.has_broke
= 0;
385 fra
.me
.REG
[0] = NIT_NULL
;
386 fra
.me
.REG
[1] = NIT_NULL
;
387 fra
.me
.REG
[2] = NIT_NULL
;
390 /* ./compiling//table_computation.nit:81 */
391 fra
.me
.REG
[2] = fra
.me
.REG
[0];
392 CALL_compiling___table_computation___ColorContext___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
393 ATTR_compiling___table_computation___CompiledClass____local_class(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
394 stack_frame_head
= fra
.me
.prev
;
395 init_table
[itpos1
] = 1;
398 val_t
compiling___table_computation___MMConcreteClass___class_color_pos(val_t p0
){
399 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
402 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
403 fra
.me
.file
= LOCATE_compiling___table_computation
;
405 fra
.me
.meth
= LOCATE_compiling___table_computation___MMConcreteClass___class_color_pos
;
406 fra
.me
.has_broke
= 0;
408 fra
.me
.REG
[0] = NIT_NULL
;
409 fra
.me
.REG
[1] = NIT_NULL
;
411 /* ./compiling//table_computation.nit:85 */
412 fra
.me
.REG
[1] = fra
.me
.REG
[0];
413 /* ./compiling//table_computation.nit:86 */
414 fra
.me
.REG
[1] = ATTR_compiling___table_computation___MMConcreteClass____class_color_pos(fra
.me
.REG
[1]);
415 REGB0
= TAG_Bool(fra
.me
.REG
[1]!=NIT_NULL
);
416 if (UNTAG_Bool(REGB0
)) {
418 nit_abort("Cast failed", NULL
, LOCATE_compiling___table_computation
, 86);
422 stack_frame_head
= fra
.me
.prev
;
423 return fra
.me
.REG
[1];
425 val_t
compiling___table_computation___MMConcreteClass___class_layout(val_t p0
){
426 struct {struct stack_frame_t me
;} fra
;
429 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
430 fra
.me
.file
= LOCATE_compiling___table_computation
;
432 fra
.me
.meth
= LOCATE_compiling___table_computation___MMConcreteClass___class_layout
;
433 fra
.me
.has_broke
= 0;
435 fra
.me
.REG
[0] = NIT_NULL
;
437 /* ./compiling//table_computation.nit:89 */
438 REGB0
= TAG_Bool(ATTR_compiling___table_computation___MMConcreteClass____class_layout(fra
.me
.REG
[0])!=NIT_NULL
);
439 if (UNTAG_Bool(REGB0
)) {
441 nit_abort("Uninitialized attribute %s", "_class_layout", LOCATE_compiling___table_computation
, 89);
443 fra
.me
.REG
[0] = ATTR_compiling___table_computation___MMConcreteClass____class_layout(fra
.me
.REG
[0]);
444 stack_frame_head
= fra
.me
.prev
;
445 return fra
.me
.REG
[0];
447 val_t
compiling___table_computation___MMConcreteClass___instance_layout(val_t p0
){
448 struct {struct stack_frame_t me
;} fra
;
451 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
452 fra
.me
.file
= LOCATE_compiling___table_computation
;
454 fra
.me
.meth
= LOCATE_compiling___table_computation___MMConcreteClass___instance_layout
;
455 fra
.me
.has_broke
= 0;
457 fra
.me
.REG
[0] = NIT_NULL
;
459 /* ./compiling//table_computation.nit:92 */
460 REGB0
= TAG_Bool(ATTR_compiling___table_computation___MMConcreteClass____instance_layout(fra
.me
.REG
[0])!=NIT_NULL
);
461 if (UNTAG_Bool(REGB0
)) {
463 nit_abort("Uninitialized attribute %s", "_instance_layout", LOCATE_compiling___table_computation
, 92);
465 fra
.me
.REG
[0] = ATTR_compiling___table_computation___MMConcreteClass____instance_layout(fra
.me
.REG
[0]);
466 stack_frame_head
= fra
.me
.prev
;
467 return fra
.me
.REG
[0];
469 void compiling___table_computation___MMConcreteClass___build_layout_in(val_t p0
, val_t p1
){
470 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
474 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
475 fra
.me
.file
= LOCATE_compiling___table_computation
;
477 fra
.me
.meth
= LOCATE_compiling___table_computation___MMConcreteClass___build_layout_in
;
478 fra
.me
.has_broke
= 0;
480 fra
.me
.REG
[0] = NIT_NULL
;
481 fra
.me
.REG
[1] = NIT_NULL
;
482 fra
.me
.REG
[2] = NIT_NULL
;
483 fra
.me
.REG
[3] = NIT_NULL
;
484 fra
.me
.REG
[4] = NIT_NULL
;
487 /* ./compiling//table_computation.nit:98 */
488 REGB0
= TAG_Bool(ATTR_compiling___table_computation___MMConcreteClass____class_layout(fra
.me
.REG
[0])!=NIT_NULL
);
489 if (UNTAG_Bool(REGB0
)) {
491 nit_abort("Uninitialized attribute %s", "_class_layout", LOCATE_compiling___table_computation
, 98);
493 fra
.me
.REG
[2] = ATTR_compiling___table_computation___MMConcreteClass____class_layout(fra
.me
.REG
[0]);
494 /* ./compiling//table_computation.nit:99 */
495 REGB0
= TAG_Bool(ATTR_compiling___table_computation___MMConcreteClass____instance_layout(fra
.me
.REG
[0])!=NIT_NULL
);
496 if (UNTAG_Bool(REGB0
)) {
498 nit_abort("Uninitialized attribute %s", "_instance_layout", LOCATE_compiling___table_computation
, 99);
500 fra
.me
.REG
[3] = ATTR_compiling___table_computation___MMConcreteClass____instance_layout(fra
.me
.REG
[0]);
501 /* ./compiling//table_computation.nit:101 */
502 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
503 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
504 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[4],fra
.me
.REG
[0]));
505 if (UNTAG_Bool(REGB0
)) {
507 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
510 if (UNTAG_Bool(REGB0
)) {
511 /* ./compiling//table_computation.nit:102 */
512 fra
.me
.REG
[4] = NEW_TableEltClassId_compiling___table_computation___AbsTableEltClass___init(fra
.me
.REG
[0]);
513 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
514 /* ./compiling//table_computation.nit:103 */
515 fra
.me
.REG
[4] = NEW_TableEltClassColor_compiling___table_computation___AbsTableEltClass___init(fra
.me
.REG
[0]);
516 /* ./compiling//table_computation.nit:104 */
517 ATTR_compiling___table_computation___MMConcreteClass____class_color_pos(fra
.me
.REG
[0]) = fra
.me
.REG
[4];
518 /* ./compiling//table_computation.nit:105 */
519 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
520 /* ./compiling//table_computation.nit:106 */
521 fra
.me
.REG
[4] = NEW_TableEltClassInitTable_compiling___table_computation___AbsTableEltClass___init(fra
.me
.REG
[0]);
522 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
524 /* ./compiling//table_computation.nit:108 */
525 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___local_local_properties(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
526 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[4])(fra
.me
.REG
[4], (&(fra
.me
)), ((fun_t
)OC_compiling___table_computation___MMConcreteClass___build_layout_in_1
));
527 /* ./compiling//table_computation.nit:125 */
528 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
529 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
530 if (UNTAG_Bool(REGB0
)) {
531 /* ./compiling//table_computation.nit:126 */
532 fra
.me
.REG
[0] = NEW_ModuleTableEltGroup_compiling___table_computation___AbsTableElt___init();
533 /* ./compiling//table_computation.nit:127 */
534 fra
.me
.REG
[4] = CALL_compiling___table_computation___ModuleTableEltGroup___elements(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
535 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
536 /* ./compiling//table_computation.nit:128 */
537 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
539 /* ./compiling//table_computation.nit:131 */
540 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
541 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
542 if (UNTAG_Bool(REGB0
)) {
543 /* ./compiling//table_computation.nit:132 */
544 fra
.me
.REG
[0] = NEW_ModuleTableEltGroup_compiling___table_computation___AbsTableElt___init();
545 /* ./compiling//table_computation.nit:133 */
546 fra
.me
.REG
[3] = CALL_compiling___table_computation___ModuleTableEltGroup___elements(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
547 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
548 /* ./compiling//table_computation.nit:134 */
549 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
551 stack_frame_head
= fra
.me
.prev
;
554 void OC_compiling___table_computation___MMConcreteClass___build_layout_in_1(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
555 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
560 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
561 fra
.me
.file
= LOCATE_compiling___table_computation
;
563 fra
.me
.meth
= LOCATE_compiling___table_computation___MMConcreteClass___build_layout_in
;
564 fra
.me
.has_broke
= 0;
566 fra
.me
.REG
[0] = NIT_NULL
;
567 fra
.me
.REG
[1] = NIT_NULL
;
568 fra
.me
.closure_ctx
= closctx_param
;
569 fra
.me
.closure_funs
= CREG
;
572 /* ./compiling//table_computation.nit:109 */
573 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
574 /* ./compiling//table_computation.nit:110 */
575 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___intro(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
576 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[1],fra
.me
.REG
[0]));
577 if (UNTAG_Bool(REGB0
)) {
579 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
582 if (UNTAG_Bool(REGB0
)) {
583 /* ./compiling//table_computation.nit:111 */
584 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_metamodel___abstractmetamodel___MMAttribute
, ID_metamodel___abstractmetamodel___MMAttribute
)) /*cast MMAttribute*/;
585 if (UNTAG_Bool(REGB0
)) {
586 /* ./compiling//table_computation.nit:112 */
587 fra
.me
.REG
[1] = NEW_TableEltAttr_compiling___table_computation___TableEltProp___init(fra
.me
.REG
[0]);
588 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[3])(closctx
->REG
[3], fra
.me
.REG
[1]);
590 /* ./compiling//table_computation.nit:113 */
591 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_metamodel___abstractmetamodel___MMMethod
, ID_metamodel___abstractmetamodel___MMMethod
)) /*cast MMMethod*/;
592 if (UNTAG_Bool(REGB0
)) {
593 /* ./compiling//table_computation.nit:114 */
594 fra
.me
.REG
[1] = NEW_TableEltMeth_compiling___table_computation___TableEltProp___init(fra
.me
.REG
[0]);
595 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[2])(closctx
->REG
[2], fra
.me
.REG
[1]);
597 /* ./compiling//table_computation.nit:115 */
598 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_metamodel___virtualtype___MMTypeProperty
, ID_metamodel___virtualtype___MMTypeProperty
)) /*cast MMTypeProperty*/;
599 if (UNTAG_Bool(REGB0
)) {
600 /* ./compiling//table_computation.nit:116 */
601 fra
.me
.REG
[1] = NEW_TableEltVTClassId_compiling___table_computation___TableEltProp___init(fra
.me
.REG
[0]);
602 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[2])(closctx
->REG
[2], fra
.me
.REG
[1]);
603 /* ./compiling//table_computation.nit:117 */
604 fra
.me
.REG
[1] = NEW_TableEltVTClassColor_compiling___table_computation___TableEltProp___init(fra
.me
.REG
[0]);
605 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[2])(closctx
->REG
[2], fra
.me
.REG
[1]);
610 /* ./compiling//table_computation.nit:120 */
611 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_metamodel___abstractmetamodel___MMMethod
, ID_metamodel___abstractmetamodel___MMMethod
)) /*cast MMMethod*/;
612 if (UNTAG_Bool(REGB0
)) {
613 REGB0
= CALL_metamodel___abstractmetamodel___MMLocalProperty___need_super(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
615 REGB1
= TAG_Bool(false);
618 if (UNTAG_Bool(REGB0
)) {
619 /* ./compiling//table_computation.nit:121 */
620 fra
.me
.REG
[0] = NEW_TableEltSuper_compiling___table_computation___TableEltProp___init(fra
.me
.REG
[0]);
621 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[2])(closctx
->REG
[2], fra
.me
.REG
[0]);
623 stack_frame_head
= fra
.me
.prev
;
626 val_t
compiling___table_computation___Program___table_information(val_t p0
){
627 struct {struct stack_frame_t me
;} fra
;
630 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
631 fra
.me
.file
= LOCATE_compiling___table_computation
;
633 fra
.me
.meth
= LOCATE_compiling___table_computation___Program___table_information
;
634 fra
.me
.has_broke
= 0;
636 fra
.me
.REG
[0] = NIT_NULL
;
638 /* ./compiling//table_computation.nit:140 */
639 REGB0
= TAG_Bool(ATTR_compiling___table_computation___Program____table_information(fra
.me
.REG
[0])!=NIT_NULL
);
640 if (UNTAG_Bool(REGB0
)) {
642 nit_abort("Uninitialized attribute %s", "_table_information", LOCATE_compiling___table_computation
, 140);
644 fra
.me
.REG
[0] = ATTR_compiling___table_computation___Program____table_information(fra
.me
.REG
[0]);
645 stack_frame_head
= fra
.me
.prev
;
646 return fra
.me
.REG
[0];
648 val_t
compiling___table_computation___Program___compiled_classes(val_t p0
){
649 struct {struct stack_frame_t me
;} fra
;
652 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
653 fra
.me
.file
= LOCATE_compiling___table_computation
;
655 fra
.me
.meth
= LOCATE_compiling___table_computation___Program___compiled_classes
;
656 fra
.me
.has_broke
= 0;
658 fra
.me
.REG
[0] = NIT_NULL
;
660 /* ./compiling//table_computation.nit:143 */
661 REGB0
= TAG_Bool(ATTR_compiling___table_computation___Program____compiled_classes(fra
.me
.REG
[0])!=NIT_NULL
);
662 if (UNTAG_Bool(REGB0
)) {
664 nit_abort("Uninitialized attribute %s", "_compiled_classes", LOCATE_compiling___table_computation
, 143);
666 fra
.me
.REG
[0] = ATTR_compiling___table_computation___Program____compiled_classes(fra
.me
.REG
[0]);
667 stack_frame_head
= fra
.me
.prev
;
668 return fra
.me
.REG
[0];
670 void compiling___table_computation___Program___do_table_computation(val_t p0
){
671 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
674 static val_t once_value_1
; /* Once value */
675 static val_t once_value_5
; /* Once value */
676 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
677 fra
.me
.file
= LOCATE_compiling___table_computation
;
679 fra
.me
.meth
= LOCATE_compiling___table_computation___Program___do_table_computation
;
680 fra
.me
.has_broke
= 0;
682 fra
.me
.REG
[0] = NIT_NULL
;
683 fra
.me
.REG
[1] = NIT_NULL
;
684 fra
.me
.REG
[2] = NIT_NULL
;
686 /* ./compiling//table_computation.nit:148 */
687 fra
.me
.REG
[1] = CALL_program___Program___tc(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
689 fra
.me
.REG
[2] = BOX_NativeString("Building tables");
691 fra
.me
.REG
[2] = NEW_String_standard___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
;
695 fra
.me
.REG
[2] = fra
.me
.REG
[2];
697 CALL_mmloader___ToolContext___info(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2], REGB0
);
698 /* ./compiling//table_computation.nit:149 */
699 fra
.me
.REG
[2] = CALL_program___Program___main_module(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
700 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMModule___mhe(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
701 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
702 if (UNTAG_Bool(REGB0
)) {
703 nit_abort("Reciever is null", NULL
, LOCATE_compiling___table_computation
, 149);
705 fra
.me
.REG
[2] = CALL_metamodel___partial_order___PartialOrderElement___greaters_and_self(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
706 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[2])(fra
.me
.REG
[2], (&(fra
.me
)), ((fun_t
)OC_compiling___table_computation___Program___do_table_computation_2
));
707 /* ./compiling//table_computation.nit:154 */
708 fra
.me
.REG
[2] = CALL_program___Program___tc(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
710 fra
.me
.REG
[1] = BOX_NativeString("Merging all tables");
712 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
713 once_value_5
= fra
.me
.REG
[1];
714 register_static_object(&once_value_5
);
715 } else fra
.me
.REG
[1] = once_value_5
;
716 fra
.me
.REG
[1] = fra
.me
.REG
[1];
718 CALL_mmloader___ToolContext___info(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1], REGB0
);
719 /* ./compiling//table_computation.nit:155 */
720 CALL_compiling___table_computation___Program___do_global_table_analysis(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
721 stack_frame_head
= fra
.me
.prev
;
724 void OC_compiling___table_computation___Program___do_table_computation_2(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
725 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
729 static val_t once_value_3
; /* Once value */
730 static val_t once_value_4
; /* Once value */
731 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
732 fra
.me
.file
= LOCATE_compiling___table_computation
;
734 fra
.me
.meth
= LOCATE_compiling___table_computation___Program___do_table_computation
;
735 fra
.me
.has_broke
= 0;
737 fra
.me
.REG
[0] = NIT_NULL
;
738 fra
.me
.REG
[1] = NIT_NULL
;
739 fra
.me
.REG
[2] = NIT_NULL
;
740 fra
.me
.REG
[3] = NIT_NULL
;
741 fra
.me
.closure_ctx
= closctx_param
;
742 fra
.me
.closure_funs
= CREG
;
745 /* ./compiling//table_computation.nit:150 */
746 fra
.me
.REG
[1] = CALL_program___Program___tc(closctx
->REG
[0])(closctx
->REG
[0]);
748 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
750 fra
.me
.REG
[3] = BOX_NativeString("Building tables for module: ");
752 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
753 once_value_3
= fra
.me
.REG
[3];
754 register_static_object(&once_value_3
);
755 } else fra
.me
.REG
[3] = once_value_3
;
756 fra
.me
.REG
[3] = fra
.me
.REG
[3];
757 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
758 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMModule___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
759 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
760 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
762 fra
.me
.REG
[3] = BOX_NativeString("");
764 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
765 once_value_4
= fra
.me
.REG
[3];
766 register_static_object(&once_value_4
);
767 } else fra
.me
.REG
[3] = once_value_4
;
768 fra
.me
.REG
[3] = fra
.me
.REG
[3];
769 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
770 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
772 CALL_mmloader___ToolContext___info(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2], REGB0
);
773 /* ./compiling//table_computation.nit:151 */
774 CALL_compiling___table_computation___MMModule___local_analysis(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
775 stack_frame_head
= fra
.me
.prev
;
778 void compiling___table_computation___Program___do_global_table_analysis(val_t p0
){
779 struct {struct stack_frame_t me
; val_t MORE_REG
[11];} fra
;
786 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
787 fra
.me
.file
= LOCATE_compiling___table_computation
;
789 fra
.me
.meth
= LOCATE_compiling___table_computation___Program___do_global_table_analysis
;
790 fra
.me
.has_broke
= 0;
791 fra
.me
.REG_size
= 12;
792 fra
.me
.REG
[0] = NIT_NULL
;
793 fra
.me
.REG
[1] = NIT_NULL
;
794 fra
.me
.REG
[2] = NIT_NULL
;
795 fra
.me
.REG
[3] = NIT_NULL
;
796 fra
.me
.REG
[4] = NIT_NULL
;
797 fra
.me
.REG
[5] = NIT_NULL
;
798 fra
.me
.REG
[6] = NIT_NULL
;
799 fra
.me
.REG
[7] = NIT_NULL
;
800 fra
.me
.REG
[8] = NIT_NULL
;
801 fra
.me
.REG
[9] = NIT_NULL
;
802 fra
.me
.REG
[10] = NIT_NULL
;
803 fra
.me
.REG
[11] = NIT_NULL
;
805 /* ./compiling//table_computation.nit:161 */
806 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___init();
807 /* ./compiling//table_computation.nit:162 */
808 fra
.me
.REG
[2] = NEW_HashSet_standard___collection___hash_collection___HashSet___init();
809 /* ./compiling//table_computation.nit:163 */
810 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___init();
811 /* ./compiling//table_computation.nit:164 */
812 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___init();
813 /* ./compiling//table_computation.nit:166 */
814 fra
.me
.REG
[4] = NEW_TableEltClassSelfId_compiling___table_computation___AbsTableElt___init();
815 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
816 /* ./compiling//table_computation.nit:167 */
817 fra
.me
.REG
[4] = NEW_TableEltClassObjectSize_compiling___table_computation___AbsTableElt___init();
818 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
819 /* ./compiling//table_computation.nit:168 */
820 fra
.me
.REG
[4] = NEW_TableEltClassSelfName_compiling___table_computation___AbsTableElt___init();
821 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
822 /* ./compiling//table_computation.nit:169 */
823 fra
.me
.REG
[4] = NEW_TableEltVftPointer_compiling___table_computation___AbsTableElt___init();
824 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
825 /* ./compiling//table_computation.nit:170 */
826 fra
.me
.REG
[4] = NEW_TableEltObjectId_compiling___table_computation___AbsTableElt___init();
827 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
828 /* ./compiling//table_computation.nit:172 */
830 /* ./../lib/standard//kernel.nit:236 */
831 REGB0
= TAG_Int(-UNTAG_Int(REGB0
));
832 /* ./compiling//table_computation.nit:173 */
834 /* ./compiling//table_computation.nit:176 */
835 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___init();
836 /* ./compiling//table_computation.nit:177 */
837 fra
.me
.REG
[5] = CALL_program___Program___main_module(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
838 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMModule___local_classes(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
839 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[5])(fra
.me
.REG
[5], (&(fra
.me
)), ((fun_t
)OC_compiling___table_computation___Program___do_global_table_analysis_1
));
840 CALL_standard___collection___array___Array___sort(fra
.me
.REG
[4])(fra
.me
.REG
[4], (&(fra
.me
)), ((fun_t
)OC_compiling___table_computation___Program___do_global_table_analysis_2
));
841 /* ./../lib/standard//collection//array.nit:266 */
842 fra
.me
.REG
[5] = fra
.me
.REG
[4];
843 /* ./../lib/standard//collection//array.nit:269 */
845 /* ./../lib/standard//collection//array.nit:270 */
846 REGB3
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
847 if (UNTAG_Bool(REGB3
)) {
849 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
851 REGB3
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
852 /* ./../lib/standard//collection//array.nit:271 */
853 fra
.me
.REG
[6] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[5]);
854 /* ./../lib/standard//collection//array.nit:272 */
856 /* ./../lib/standard//collection//array.nit:24 */
857 REGB3
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
858 if (UNTAG_Bool(REGB3
)) {
860 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
862 REGB3
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
863 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
864 if (UNTAG_Bool(REGB4
)) {
866 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
868 /* ./../lib/standard//kernel.nit:232 */
869 REGB3
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB3
));
870 /* ./../lib/standard//collection//array.nit:272 */
871 if (UNTAG_Bool(REGB3
)) {
872 /* ./../lib/standard//collection//array.nit:273 */
873 REGB3
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
874 if (UNTAG_Bool(REGB3
)) {
875 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
877 /* ./../lib/standard//collection//array.nit:718 */
878 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB2
)];
879 /* ./compiling//table_computation.nit:182 */
880 fra
.me
.REG
[8] = NEW_CompiledClass_compiling___table_computation___CompiledClass___init(fra
.me
.REG
[7]);
881 /* ./compiling//table_computation.nit:183 */
882 fra
.me
.REG
[9] = CALL_compiling___table_computation___Program___compiled_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
883 fra
.me
.REG
[10] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
884 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10], fra
.me
.REG
[8]);
885 /* ./compiling//table_computation.nit:187 */
886 fra
.me
.REG
[10] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
887 /* ./compiling//table_computation.nit:188 */
888 fra
.me
.REG
[10] = CALL_metamodel___abstractmetamodel___MMGlobalClass___mmmodule(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
889 /* ./compiling//table_computation.nit:189 */
890 fra
.me
.REG
[10] = CALL_primitive_info___MMLocalClass___primitive_info(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
891 REGB3
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
892 if (UNTAG_Bool(REGB3
)) {
894 REGB4
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
895 if (UNTAG_Bool(REGB4
)) {
896 REGB4
= TAG_Bool(false);
899 REGB4
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[10])(fra
.me
.REG
[10], NIT_NULL
);
903 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
904 if (UNTAG_Bool(REGB3
)) {
905 /* ./compiling//table_computation.nit:190 */
906 CALL_compiling___table_computation___CompiledClass___id__eq(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB0
);
907 /* ./compiling//table_computation.nit:191 */
909 /* ./../lib/standard//kernel.nit:237 */
910 REGB3
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB3
));
911 /* ./compiling//table_computation.nit:191 */
914 /* ./compiling//table_computation.nit:193 */
915 CALL_compiling___table_computation___CompiledClass___id__eq(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB1
);
916 /* ./compiling//table_computation.nit:194 */
918 /* ./../lib/standard//kernel.nit:235 */
919 REGB3
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB3
));
920 /* ./compiling//table_computation.nit:194 */
923 /* ./compiling//table_computation.nit:198 */
924 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
925 fra
.me
.REG
[8] = CALL_metamodel___partial_order___PartialOrderElement___direct_smallers(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
926 REGB3
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
927 if (UNTAG_Bool(REGB3
)) {
928 /* ./compiling//table_computation.nit:199 */
929 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[7]);
931 /* ./compiling//table_computation.nit:203 */
932 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
933 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
934 /* ./compiling//table_computation.nit:204 */
935 REGB3
= TAG_Bool(VAL_ISA(fra
.me
.REG
[7], COLOR_metamodel___abstractmetamodel___MMConcreteClass
, ID_metamodel___abstractmetamodel___MMConcreteClass
)) /*cast MMConcreteClass*/;
936 if (UNTAG_Bool(REGB3
)) {
938 nit_abort("Assert failed", NULL
, LOCATE_compiling___table_computation
, 204);
940 /* ./compiling//table_computation.nit:205 */
941 fra
.me
.REG
[7] = CALL_compiling___table_computation___MMConcreteClass___class_color_pos(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
942 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[7]);
943 /* ./../lib/standard//collection//array.nit:274 */
945 /* ./../lib/standard//kernel.nit:235 */
946 REGB3
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB3
));
947 /* ./../lib/standard//collection//array.nit:274 */
950 /* ./../lib/standard//collection//array.nit:272 */
955 /* ./compiling//table_computation.nit:209 */
956 fra
.me
.REG
[6] = NEW_HashSet_standard___collection___hash_collection___HashSet___init();
957 /* ./compiling//table_computation.nit:210 */
958 fra
.me
.REG
[5] = NEW_HashSet_standard___collection___hash_collection___HashSet___init();
959 /* ./../lib/standard//collection//array.nit:269 */
961 /* ./../lib/standard//collection//array.nit:270 */
962 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
963 if (UNTAG_Bool(REGB1
)) {
965 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
967 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
968 /* ./../lib/standard//collection//array.nit:271 */
969 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[1]);
970 /* ./../lib/standard//collection//array.nit:272 */
972 /* ./../lib/standard//collection//array.nit:24 */
973 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
974 if (UNTAG_Bool(REGB1
)) {
976 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
978 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
979 REGB0
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
980 if (UNTAG_Bool(REGB0
)) {
982 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
984 /* ./../lib/standard//kernel.nit:232 */
985 REGB1
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB1
));
986 /* ./../lib/standard//collection//array.nit:272 */
987 if (UNTAG_Bool(REGB1
)) {
988 /* ./../lib/standard//collection//array.nit:273 */
989 REGB1
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
990 if (UNTAG_Bool(REGB1
)) {
991 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
993 /* ./../lib/standard//collection//array.nit:718 */
994 fra
.me
.REG
[8] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB2
)];
995 /* ./compiling//table_computation.nit:212 */
997 fra
.me
.REG
[10] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
998 fra
.me
.REG
[10] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
999 /* ./../lib/standard//collection//array.nit:24 */
1000 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[10])!=NIT_NULL
);
1001 if (UNTAG_Bool(REGB1
)) {
1003 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1005 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[10]);
1006 /* ./compiling//table_computation.nit:212 */
1008 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB0
));
1009 if (UNTAG_Bool(REGB3
)) {
1011 /* ./../lib/standard//kernel.nit:227 */
1012 REGB0
= TAG_Bool((REGB1
)==(REGB0
));
1013 /* ./compiling//table_computation.nit:212 */
1016 if (UNTAG_Bool(REGB3
)) {
1017 /* ./compiling//table_computation.nit:213 */
1018 fra
.me
.REG
[10] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1019 fra
.me
.REG
[10] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1020 fra
.me
.REG
[10] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1021 fra
.me
.REG
[8] = fra
.me
.REG
[10];
1023 /* ./compiling//table_computation.nit:212 */
1028 /* ./compiling//table_computation.nit:215 */
1029 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[8]);
1030 /* ./compiling//table_computation.nit:216 */
1031 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1032 fra
.me
.REG
[8] = CALL_metamodel___partial_order___PartialOrderElement___greaters_and_self(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1033 CALL_standard___collection___abstract_collection___SimpleCollection___add_all(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[8]);
1034 /* ./../lib/standard//collection//array.nit:274 */
1036 /* ./../lib/standard//kernel.nit:235 */
1037 REGB3
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB3
));
1038 /* ./../lib/standard//collection//array.nit:274 */
1041 /* ./../lib/standard//collection//array.nit:272 */
1046 /* ./compiling//table_computation.nit:221 */
1048 CALL_compiling___table_computation___Program___colorize(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2], fra
.me
.REG
[6], REGB2
);
1049 /* ./compiling//table_computation.nit:224 */
1051 /* ./../lib/standard//collection//array.nit:266 */
1052 fra
.me
.REG
[7] = fra
.me
.REG
[4];
1053 /* ./../lib/standard//collection//array.nit:269 */
1055 /* ./../lib/standard//collection//array.nit:270 */
1056 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
1057 if (UNTAG_Bool(REGB0
)) {
1059 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
1061 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
1062 /* ./../lib/standard//collection//array.nit:271 */
1063 fra
.me
.REG
[1] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
1064 /* ./../lib/standard//collection//array.nit:272 */
1066 /* ./../lib/standard//collection//array.nit:24 */
1067 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
1068 if (UNTAG_Bool(REGB0
)) {
1070 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1072 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
1073 REGB1
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
1074 if (UNTAG_Bool(REGB1
)) {
1076 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1078 /* ./../lib/standard//kernel.nit:232 */
1079 REGB0
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB0
));
1080 /* ./../lib/standard//collection//array.nit:272 */
1081 if (UNTAG_Bool(REGB0
)) {
1082 /* ./../lib/standard//collection//array.nit:273 */
1083 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1084 if (UNTAG_Bool(REGB0
)) {
1085 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
1087 /* ./../lib/standard//collection//array.nit:718 */
1088 fra
.me
.REG
[8] = ((Nit_NativeArray
)fra
.me
.REG
[1])->val
[UNTAG_Int(REGB3
)];
1089 /* ./compiling//table_computation.nit:226 */
1090 fra
.me
.REG
[10] = CALL_compiling___table_computation___Program___compiled_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1091 fra
.me
.REG
[9] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1092 fra
.me
.REG
[9] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[9]);
1093 /* ./compiling//table_computation.nit:227 */
1094 REGB0
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[8]);
1095 if (UNTAG_Bool(REGB0
)) {
1096 /* ./compiling//table_computation.nit:229 */
1097 fra
.me
.REG
[10] = CALL_compiling___table_computation___CompiledClass___class_table(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1098 CALL_compiling___table_computation___Program___build_tables_in(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[10], fra
.me
.REG
[8], fra
.me
.REG
[2]);
1099 /* ./compiling//table_computation.nit:230 */
1100 fra
.me
.REG
[10] = CALL_compiling___table_computation___CompiledClass___class_table(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1101 /* ./../lib/standard//collection//array.nit:24 */
1102 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[10])!=NIT_NULL
);
1103 if (UNTAG_Bool(REGB0
)) {
1105 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1107 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[10]);
1108 REGB1
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
1109 if (UNTAG_Bool(REGB1
)) {
1111 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1113 /* ./../lib/standard//kernel.nit:232 */
1114 REGB0
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB0
));
1115 /* ./compiling//table_computation.nit:230 */
1116 if (UNTAG_Bool(REGB0
)) {
1117 fra
.me
.REG
[10] = CALL_compiling___table_computation___CompiledClass___class_table(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1118 /* ./../lib/standard//collection//array.nit:24 */
1119 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[10])!=NIT_NULL
);
1120 if (UNTAG_Bool(REGB0
)) {
1122 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1124 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[10]);
1125 /* ./compiling//table_computation.nit:230 */
1129 /* ./compiling//table_computation.nit:233 */
1130 fra
.me
.REG
[10] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1131 fra
.me
.REG
[10] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1132 fra
.me
.REG
[10] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1133 /* ./compiling//table_computation.nit:234 */
1134 fra
.me
.REG
[11] = CALL_compiling___table_computation___Program___compiled_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1135 fra
.me
.REG
[10] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1136 fra
.me
.REG
[10] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[10]);
1137 /* ./compiling//table_computation.nit:235 */
1138 fra
.me
.REG
[11] = CALL_compiling___table_computation___CompiledClass___class_table(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1139 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
1140 if (UNTAG_Bool(REGB0
)) {
1142 nit_abort("Assert failed", NULL
, LOCATE_compiling___table_computation
, 235);
1144 /* ./compiling//table_computation.nit:236 */
1145 fra
.me
.REG
[11] = CALL_compiling___table_computation___CompiledClass___class_table(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1146 fra
.me
.REG
[10] = CALL_compiling___table_computation___CompiledClass___class_table(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1147 CALL_standard___collection___abstract_collection___SimpleCollection___add_all(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[10]);
1148 /* ./compiling//table_computation.nit:237 */
1149 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1150 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1151 /* ./compiling//table_computation.nit:238 */
1152 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[8], COLOR_metamodel___abstractmetamodel___MMConcreteClass
, ID_metamodel___abstractmetamodel___MMConcreteClass
)) /*cast MMConcreteClass*/;
1153 if (UNTAG_Bool(REGB0
)) {
1155 nit_abort("Assert failed", NULL
, LOCATE_compiling___table_computation
, 238);
1157 /* ./compiling//table_computation.nit:239 */
1158 fra
.me
.REG
[8] = CALL_compiling___table_computation___MMConcreteClass___class_color_pos(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1159 /* ./compiling//table_computation.nit:240 */
1160 fra
.me
.REG
[10] = CALL_compiling___table_computation___CompiledClass___class_table(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1161 /* ./../lib/standard//collection//array.nit:24 */
1162 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[10])!=NIT_NULL
);
1163 if (UNTAG_Bool(REGB0
)) {
1165 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1167 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[10]);
1168 /* ./compiling//table_computation.nit:241 */
1169 fra
.me
.REG
[10] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1170 CALL_compiling___table_computation___ColorContext___color__eq(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8], REGB0
);
1171 /* ./compiling//table_computation.nit:242 */
1172 fra
.me
.REG
[9] = CALL_compiling___table_computation___CompiledClass___class_table(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1173 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[8]);
1174 REGB1
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
1175 if (UNTAG_Bool(REGB1
)) {
1177 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1179 /* ./../lib/standard//kernel.nit:232 */
1180 REGB1
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB0
));
1181 /* ./compiling//table_computation.nit:243 */
1182 if (UNTAG_Bool(REGB1
)) {
1186 /* ./../lib/standard//collection//array.nit:274 */
1188 /* ./../lib/standard//kernel.nit:235 */
1189 REGB0
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB0
));
1190 /* ./../lib/standard//collection//array.nit:274 */
1193 /* ./../lib/standard//collection//array.nit:272 */
1198 /* ./compiling//table_computation.nit:246 */
1199 fra
.me
.REG
[1] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1201 /* ./../lib/standard//kernel.nit:235 */
1202 REGB3
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB3
));
1203 /* ./compiling//table_computation.nit:246 */
1204 CALL_compiling___table_computation___TableInformation___max_class_table_length__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB3
);
1205 /* ./../lib/standard//collection//array.nit:266 */
1206 fra
.me
.REG
[1] = fra
.me
.REG
[4];
1207 /* ./../lib/standard//collection//array.nit:269 */
1209 /* ./../lib/standard//collection//array.nit:270 */
1210 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1211 if (UNTAG_Bool(REGB0
)) {
1213 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
1215 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1216 /* ./../lib/standard//collection//array.nit:271 */
1217 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[1]);
1218 /* ./../lib/standard//collection//array.nit:272 */
1220 /* ./../lib/standard//collection//array.nit:24 */
1221 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1222 if (UNTAG_Bool(REGB0
)) {
1224 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1226 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1227 REGB1
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
1228 if (UNTAG_Bool(REGB1
)) {
1230 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1232 /* ./../lib/standard//kernel.nit:232 */
1233 REGB0
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB0
));
1234 /* ./../lib/standard//collection//array.nit:272 */
1235 if (UNTAG_Bool(REGB0
)) {
1236 /* ./../lib/standard//collection//array.nit:273 */
1237 REGB0
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
1238 if (UNTAG_Bool(REGB0
)) {
1239 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
1241 /* ./../lib/standard//collection//array.nit:718 */
1242 fra
.me
.REG
[8] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB3
)];
1243 /* ./compiling//table_computation.nit:250 */
1244 fra
.me
.REG
[9] = CALL_compiling___table_computation___Program___compiled_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1245 fra
.me
.REG
[10] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1246 fra
.me
.REG
[10] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
1247 /* ./compiling//table_computation.nit:251 */
1248 fra
.me
.REG
[9] = CALL_compiling___table_computation___CompiledClass___class_layout(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1249 /* ./compiling//table_computation.nit:252 */
1250 fra
.me
.REG
[10] = CALL_compiling___table_computation___CompiledClass___instance_layout(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1251 /* ./compiling//table_computation.nit:253 */
1252 fra
.me
.REG
[11] = CALL_metamodel___abstractmetamodel___MMLocalClass___crhe(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1253 fra
.me
.REG
[11] = CALL_metamodel___partial_order___PartialOrderElement___greaters_and_self(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
1254 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[11])(fra
.me
.REG
[11], (&(fra
.me
)), ((fun_t
)OC_compiling___table_computation___Program___do_global_table_analysis_8
));
1255 /* ./compiling//table_computation.nit:260 */
1256 REGB0
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[8]);
1257 if (UNTAG_Bool(REGB0
)) {
1258 /* ./compiling//table_computation.nit:261 */
1259 REGB0
= CALL_compiling___table_computation___TableElt___length(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1261 REGB4
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1262 if (UNTAG_Bool(REGB4
)) {
1264 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1266 /* ./../lib/standard//kernel.nit:234 */
1267 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(REGB1
));
1268 /* ./compiling//table_computation.nit:261 */
1269 if (UNTAG_Bool(REGB1
)) {
1270 /* ./compiling//table_computation.nit:262 */
1271 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[9]);
1273 /* ./compiling//table_computation.nit:264 */
1274 REGB1
= CALL_compiling___table_computation___TableElt___length(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1276 REGB4
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1277 if (UNTAG_Bool(REGB4
)) {
1279 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1281 /* ./../lib/standard//kernel.nit:234 */
1282 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)>UNTAG_Int(REGB0
));
1283 /* ./compiling//table_computation.nit:264 */
1284 if (UNTAG_Bool(REGB0
)) {
1285 /* ./compiling//table_computation.nit:265 */
1286 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[10]);
1289 /* ./../lib/standard//collection//array.nit:274 */
1291 /* ./../lib/standard//kernel.nit:235 */
1292 REGB0
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB0
));
1293 /* ./../lib/standard//collection//array.nit:274 */
1296 /* ./../lib/standard//collection//array.nit:272 */
1301 /* ./compiling//table_computation.nit:271 */
1303 /* ./../lib/standard//kernel.nit:235 */
1304 REGB3
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB3
));
1305 /* ./compiling//table_computation.nit:271 */
1306 CALL_compiling___table_computation___Program___colorize(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2], fra
.me
.REG
[6], REGB3
);
1307 /* ./compiling//table_computation.nit:272 */
1309 CALL_compiling___table_computation___Program___colorize(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3], fra
.me
.REG
[6], REGB3
);
1310 /* ./compiling//table_computation.nit:275 */
1311 fra
.me
.REG
[6] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1313 CALL_compiling___table_computation___TableInformation___max_class_table_length__eq(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB3
);
1314 /* ./../lib/standard//collection//array.nit:269 */
1316 /* ./../lib/standard//collection//array.nit:270 */
1317 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
1318 if (UNTAG_Bool(REGB0
)) {
1320 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
1322 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
1323 /* ./../lib/standard//collection//array.nit:271 */
1324 fra
.me
.REG
[6] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[4]);
1325 /* ./../lib/standard//collection//array.nit:272 */
1327 /* ./../lib/standard//collection//array.nit:24 */
1328 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
1329 if (UNTAG_Bool(REGB0
)) {
1331 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1333 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
1334 REGB1
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
1335 if (UNTAG_Bool(REGB1
)) {
1337 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1339 /* ./../lib/standard//kernel.nit:232 */
1340 REGB0
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB0
));
1341 /* ./../lib/standard//collection//array.nit:272 */
1342 if (UNTAG_Bool(REGB0
)) {
1343 /* ./../lib/standard//collection//array.nit:273 */
1344 REGB0
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
1345 if (UNTAG_Bool(REGB0
)) {
1346 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
1348 /* ./../lib/standard//collection//array.nit:718 */
1349 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB3
)];
1350 /* ./compiling//table_computation.nit:277 */
1351 fra
.me
.REG
[1] = CALL_compiling___table_computation___Program___compiled_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1352 fra
.me
.REG
[10] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1353 fra
.me
.REG
[10] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[10]);
1354 /* ./compiling//table_computation.nit:278 */
1355 REGB0
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[7]);
1356 if (UNTAG_Bool(REGB0
)) {
1357 /* ./compiling//table_computation.nit:280 */
1358 fra
.me
.REG
[1] = CALL_compiling___table_computation___CompiledClass___class_table(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1359 CALL_compiling___table_computation___Program___build_tables_in(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[7], fra
.me
.REG
[2]);
1360 /* ./compiling//table_computation.nit:281 */
1361 fra
.me
.REG
[1] = CALL_compiling___table_computation___CompiledClass___instance_table(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1362 CALL_compiling___table_computation___Program___build_tables_in(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[7], fra
.me
.REG
[3]);
1364 /* ./compiling//table_computation.nit:284 */
1365 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1366 fra
.me
.REG
[1] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1367 fra
.me
.REG
[1] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1368 /* ./compiling//table_computation.nit:285 */
1369 fra
.me
.REG
[9] = CALL_compiling___table_computation___Program___compiled_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1370 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1371 fra
.me
.REG
[1] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[1]);
1372 /* ./compiling//table_computation.nit:286 */
1373 fra
.me
.REG
[9] = CALL_compiling___table_computation___CompiledClass___class_table(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1374 CALL_standard___collection___abstract_collection___RemovableCollection___clear(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1375 /* ./compiling//table_computation.nit:287 */
1376 fra
.me
.REG
[9] = CALL_compiling___table_computation___CompiledClass___class_table(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1377 fra
.me
.REG
[8] = CALL_compiling___table_computation___CompiledClass___class_table(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1378 CALL_standard___collection___abstract_collection___SimpleCollection___add_all(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[8]);
1379 /* ./compiling//table_computation.nit:288 */
1380 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1381 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1382 /* ./compiling//table_computation.nit:289 */
1383 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[7], COLOR_metamodel___abstractmetamodel___MMConcreteClass
, ID_metamodel___abstractmetamodel___MMConcreteClass
)) /*cast MMConcreteClass*/;
1384 if (UNTAG_Bool(REGB0
)) {
1386 nit_abort("Assert failed", NULL
, LOCATE_compiling___table_computation
, 289);
1388 /* ./compiling//table_computation.nit:290 */
1389 fra
.me
.REG
[7] = CALL_compiling___table_computation___MMConcreteClass___class_color_pos(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1390 /* ./compiling//table_computation.nit:291 */
1391 fra
.me
.REG
[8] = CALL_compiling___table_computation___CompiledClass___class_table(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1392 fra
.me
.REG
[9] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1393 REGB0
= CALL_compiling___table_computation___ColorContext___color(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[7]);
1394 CALL_standard___collection___abstract_collection___Sequence_____braeq(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB0
, fra
.me
.REG
[7]);
1395 /* ./compiling//table_computation.nit:292 */
1397 fra
.me
.REG
[7] = CALL_compiling___table_computation___CompiledClass___class_table(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1398 /* ./../lib/standard//collection//array.nit:24 */
1399 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
1400 if (UNTAG_Bool(REGB0
)) {
1402 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1404 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
1405 REGB1
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1406 if (UNTAG_Bool(REGB1
)) {
1408 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1410 /* ./../lib/standard//kernel.nit:231 */
1411 REGB0
= TAG_Bool(UNTAG_Int(REGB0
)<=UNTAG_Int(REGB2
));
1412 /* ./compiling//table_computation.nit:292 */
1413 if (UNTAG_Bool(REGB0
)) {
1414 /* ./compiling//table_computation.nit:293 */
1415 fra
.me
.REG
[7] = CALL_compiling___table_computation___CompiledClass___class_table(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1416 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], NIT_NULL
);
1418 /* ./compiling//table_computation.nit:292 */
1423 /* ./compiling//table_computation.nit:295 */
1424 fra
.me
.REG
[7] = CALL_compiling___table_computation___CompiledClass___class_table(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1425 fra
.me
.REG
[8] = CALL_compiling___table_computation___CompiledClass___class_layout(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1426 CALL_compiling___table_computation___Program___append_to_table(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[7], fra
.me
.REG
[8]);
1427 /* ./compiling//table_computation.nit:296 */
1428 fra
.me
.REG
[8] = CALL_compiling___table_computation___CompiledClass___instance_table(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1429 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1430 if (UNTAG_Bool(REGB0
)) {
1432 nit_abort("Assert failed", NULL
, LOCATE_compiling___table_computation
, 296);
1434 /* ./compiling//table_computation.nit:297 */
1435 fra
.me
.REG
[8] = CALL_compiling___table_computation___CompiledClass___instance_table(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1436 fra
.me
.REG
[1] = CALL_compiling___table_computation___CompiledClass___instance_table(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1437 CALL_standard___collection___abstract_collection___SimpleCollection___add_all(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[1]);
1438 /* ./compiling//table_computation.nit:298 */
1439 fra
.me
.REG
[1] = CALL_compiling___table_computation___CompiledClass___instance_table(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1440 fra
.me
.REG
[10] = CALL_compiling___table_computation___CompiledClass___instance_layout(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1441 CALL_compiling___table_computation___Program___append_to_table(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[10]);
1443 /* ./../lib/standard//collection//array.nit:274 */
1445 /* ./../lib/standard//kernel.nit:235 */
1446 REGB0
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB0
));
1447 /* ./../lib/standard//collection//array.nit:274 */
1450 /* ./../lib/standard//collection//array.nit:272 */
1455 stack_frame_head
= fra
.me
.prev
;
1458 void OC_compiling___table_computation___Program___do_global_table_analysis_1(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
1459 struct {struct stack_frame_t me
;} fra
;
1462 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1463 fra
.me
.file
= LOCATE_compiling___table_computation
;
1465 fra
.me
.meth
= LOCATE_compiling___table_computation___Program___do_global_table_analysis
;
1466 fra
.me
.has_broke
= 0;
1467 fra
.me
.REG_size
= 1;
1468 fra
.me
.REG
[0] = NIT_NULL
;
1469 fra
.me
.closure_ctx
= closctx_param
;
1470 fra
.me
.closure_funs
= CREG
;
1472 CREG
[0] = clos_fun0
;
1473 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[4])(closctx
->REG
[4], fra
.me
.REG
[0]);
1474 stack_frame_head
= fra
.me
.prev
;
1477 val_t
OC_compiling___table_computation___Program___do_global_table_analysis_2(struct stack_frame_t
*closctx
, val_t p0
, val_t p1
){
1478 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1481 /* ./compiling//table_computation.nit:178 */
1482 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1483 fra
.me
.file
= LOCATE_compiling___table_computation
;
1485 fra
.me
.meth
= LOCATE_compiling___table_computation___Program___do_global_table_analysis
;
1486 fra
.me
.has_broke
= 0;
1487 fra
.me
.REG_size
= 2;
1488 fra
.me
.REG
[0] = NIT_NULL
;
1489 fra
.me
.REG
[1] = NIT_NULL
;
1492 REGB0
= CALL_metamodel___abstractmetamodel___MMLocalClass___total_order_compare(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1495 stack_frame_head
= fra
.me
.prev
;
1498 void OC_compiling___table_computation___Program___do_global_table_analysis_8(struct stack_frame_t
*closctx
, val_t p0
){
1499 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1502 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1503 fra
.me
.file
= LOCATE_compiling___table_computation
;
1505 fra
.me
.meth
= LOCATE_compiling___table_computation___Program___do_global_table_analysis
;
1506 fra
.me
.has_broke
= 0;
1507 fra
.me
.REG_size
= 2;
1508 fra
.me
.REG
[0] = NIT_NULL
;
1509 fra
.me
.REG
[1] = NIT_NULL
;
1511 /* ./compiling//table_computation.nit:254 */
1512 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_metamodel___abstractmetamodel___MMConcreteClass
, ID_metamodel___abstractmetamodel___MMConcreteClass
)) /*cast MMConcreteClass*/;
1513 if (UNTAG_Bool(REGB0
)) {
1514 /* ./compiling//table_computation.nit:255 */
1515 fra
.me
.REG
[1] = CALL_compiling___table_computation___MMConcreteClass___class_layout(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1516 CALL_compiling___table_computation___TableEltComposite___add(closctx
->REG
[9])(closctx
->REG
[9], fra
.me
.REG
[0], fra
.me
.REG
[1]);
1517 /* ./compiling//table_computation.nit:256 */
1518 fra
.me
.REG
[1] = CALL_compiling___table_computation___MMConcreteClass___instance_layout(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1519 CALL_compiling___table_computation___TableEltComposite___add(closctx
->REG
[10])(closctx
->REG
[10], fra
.me
.REG
[0], fra
.me
.REG
[1]);
1521 stack_frame_head
= fra
.me
.prev
;
1524 void compiling___table_computation___Program___colorize(val_t p0
, val_t p1
, val_t p2
, val_t p3
){
1525 struct {struct stack_frame_t me
; val_t MORE_REG
[10];} fra
;
1536 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1537 fra
.me
.file
= LOCATE_compiling___table_computation
;
1539 fra
.me
.meth
= LOCATE_compiling___table_computation___Program___colorize
;
1540 fra
.me
.has_broke
= 0;
1541 fra
.me
.REG_size
= 11;
1542 fra
.me
.REG
[0] = NIT_NULL
;
1543 fra
.me
.REG
[1] = NIT_NULL
;
1544 fra
.me
.REG
[2] = NIT_NULL
;
1545 fra
.me
.REG
[3] = NIT_NULL
;
1546 fra
.me
.REG
[4] = NIT_NULL
;
1547 fra
.me
.REG
[5] = NIT_NULL
;
1548 fra
.me
.REG
[6] = NIT_NULL
;
1549 fra
.me
.REG
[7] = NIT_NULL
;
1550 fra
.me
.REG
[8] = NIT_NULL
;
1551 fra
.me
.REG
[9] = NIT_NULL
;
1552 fra
.me
.REG
[10] = NIT_NULL
;
1557 /* ./compiling//table_computation.nit:306 */
1558 fra
.me
.REG
[3] = NEW_HashMap_standard___collection___hash_collection___HashMap___init();
1559 /* ./compiling//table_computation.nit:307 */
1560 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___init();
1561 /* ./../lib/standard//collection//array.nit:269 */
1563 /* ./../lib/standard//collection//array.nit:270 */
1564 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1565 if (UNTAG_Bool(REGB2
)) {
1567 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
1569 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1570 /* ./../lib/standard//collection//array.nit:271 */
1571 fra
.me
.REG
[5] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[1]);
1572 /* ./../lib/standard//collection//array.nit:272 */
1574 /* ./../lib/standard//collection//array.nit:24 */
1575 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1576 if (UNTAG_Bool(REGB2
)) {
1578 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1580 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1581 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1582 if (UNTAG_Bool(REGB3
)) {
1584 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1586 /* ./../lib/standard//kernel.nit:232 */
1587 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
1588 /* ./../lib/standard//collection//array.nit:272 */
1589 if (UNTAG_Bool(REGB2
)) {
1590 /* ./../lib/standard//collection//array.nit:273 */
1591 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
1592 if (UNTAG_Bool(REGB2
)) {
1593 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
1595 /* ./../lib/standard//collection//array.nit:718 */
1596 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB1
)];
1597 /* ./compiling//table_computation.nit:309 */
1599 /* ./../lib/standard//kernel.nit:236 */
1600 REGB2
= TAG_Int(-UNTAG_Int(REGB2
));
1601 /* ./compiling//table_computation.nit:310 */
1602 REGB3
= CALL_compiling___table_computation___TableElt___length(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1603 /* ./compiling//table_computation.nit:311 */
1604 fra
.me
.REG
[7] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1605 REGB4
= CALL_compiling___table_computation___ColorContext___has_color(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
1606 if (UNTAG_Bool(REGB4
)) {
1607 /* ./compiling//table_computation.nit:312 */
1608 fra
.me
.REG
[7] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1609 REGB4
= CALL_compiling___table_computation___ColorContext___color(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
1612 /* ./compiling//table_computation.nit:314 */
1613 CALL_standard___collection___abstract_collection___RemovableCollection___clear(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1614 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[2])(fra
.me
.REG
[2], (&(fra
.me
)), ((fun_t
)OC_compiling___table_computation___Program___colorize_1
));
1615 /* ./compiling//table_computation.nit:320 */
1617 /* ./compiling//table_computation.nit:321 */
1619 REGB5
= TAG_Bool(IS_EQUAL_OO(REGB4
,REGB2
));
1620 if (UNTAG_Bool(REGB5
)) {
1622 /* ./../lib/standard//kernel.nit:227 */
1623 REGB6
= TAG_Bool((REGB4
)==(REGB2
));
1624 /* ./compiling//table_computation.nit:321 */
1627 REGB5
= TAG_Bool(!UNTAG_Bool(REGB5
));
1628 if (UNTAG_Bool(REGB5
)) {
1629 /* ./compiling//table_computation.nit:322 */
1631 /* ./../lib/standard//collection//array.nit:266 */
1632 fra
.me
.REG
[7] = fra
.me
.REG
[4];
1633 /* ./../lib/standard//collection//array.nit:269 */
1635 /* ./../lib/standard//collection//array.nit:270 */
1636 REGB6
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
1637 if (UNTAG_Bool(REGB6
)) {
1639 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
1641 REGB6
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
1642 /* ./../lib/standard//collection//array.nit:271 */
1643 fra
.me
.REG
[8] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
1644 /* ./../lib/standard//collection//array.nit:272 */
1646 /* ./../lib/standard//collection//array.nit:24 */
1647 REGB6
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
1648 if (UNTAG_Bool(REGB6
)) {
1650 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1652 REGB6
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
1653 REGB7
= TAG_Bool(VAL_ISA(REGB6
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB5
), VTID_standard___kernel___Comparable___OTHER(REGB5
))) /*cast OTHER*/;
1654 if (UNTAG_Bool(REGB7
)) {
1656 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1658 /* ./../lib/standard//kernel.nit:232 */
1659 REGB6
= TAG_Bool(UNTAG_Int(REGB5
)<UNTAG_Int(REGB6
));
1660 /* ./../lib/standard//collection//array.nit:272 */
1661 if (UNTAG_Bool(REGB6
)) {
1662 /* ./../lib/standard//collection//array.nit:273 */
1663 REGB6
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
1664 if (UNTAG_Bool(REGB6
)) {
1665 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
1667 /* ./../lib/standard//collection//array.nit:718 */
1668 fra
.me
.REG
[9] = ((Nit_NativeArray
)fra
.me
.REG
[8])->val
[UNTAG_Int(REGB5
)];
1669 /* ./compiling//table_computation.nit:324 */
1671 /* ./compiling//table_computation.nit:325 */
1673 REGB7
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB6
), VTID_standard___kernel___Comparable___OTHER(REGB6
))) /*cast OTHER*/;
1674 if (UNTAG_Bool(REGB7
)) {
1676 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1678 /* ./../lib/standard//kernel.nit:232 */
1679 REGB7
= TAG_Bool(UNTAG_Int(REGB6
)<UNTAG_Int(REGB3
));
1680 /* ./compiling//table_computation.nit:325 */
1681 if (UNTAG_Bool(REGB7
)) {
1682 /* ./../lib/standard//kernel.nit:235 */
1683 REGB7
= TAG_Int(UNTAG_Int(REGB4
)+UNTAG_Int(REGB6
));
1684 /* ./compiling//table_computation.nit:326 */
1685 REGB7
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB7
);
1686 if (UNTAG_Bool(REGB7
)) {
1687 /* ./../lib/standard//kernel.nit:235 */
1688 REGB7
= TAG_Int(UNTAG_Int(REGB4
)+UNTAG_Int(REGB6
));
1689 /* ./compiling//table_computation.nit:326 */
1690 fra
.me
.REG
[10] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB7
);
1691 REGB7
= CALL_compiling___table_computation___Program___free_color(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[10], fra
.me
.REG
[9]);
1692 REGB7
= TAG_Bool(!UNTAG_Bool(REGB7
));
1694 REGB8
= TAG_Bool(false);
1697 if (UNTAG_Bool(REGB7
)) {
1698 /* ./../lib/standard//kernel.nit:235 */
1699 REGB7
= TAG_Int(UNTAG_Int(REGB4
)+UNTAG_Int(REGB6
));
1700 /* ./compiling//table_computation.nit:327 */
1702 /* ./../lib/standard//kernel.nit:235 */
1703 REGB8
= TAG_Int(UNTAG_Int(REGB7
)+UNTAG_Int(REGB8
));
1704 /* ./compiling//table_computation.nit:327 */
1706 /* ./compiling//table_computation.nit:328 */
1710 /* ./compiling//table_computation.nit:330 */
1712 /* ./../lib/standard//kernel.nit:235 */
1713 REGB8
= TAG_Int(UNTAG_Int(REGB6
)+UNTAG_Int(REGB8
));
1714 /* ./compiling//table_computation.nit:330 */
1718 /* ./compiling//table_computation.nit:325 */
1723 /* ./../lib/standard//collection//array.nit:274 */
1725 /* ./../lib/standard//kernel.nit:235 */
1726 REGB6
= TAG_Int(UNTAG_Int(REGB5
)+UNTAG_Int(REGB6
));
1727 /* ./../lib/standard//collection//array.nit:274 */
1730 /* ./../lib/standard//collection//array.nit:272 */
1736 /* ./compiling//table_computation.nit:321 */
1741 /* ./compiling//table_computation.nit:335 */
1742 fra
.me
.REG
[8] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1743 CALL_compiling___table_computation___ColorContext___color__eq(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[6], REGB2
);
1745 /* ./compiling//table_computation.nit:337 */
1747 /* ./../lib/standard//kernel.nit:352 */
1749 REGB5
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB4
), VTID_standard___kernel___Comparable___OTHER(REGB4
))) /*cast OTHER*/;
1750 if (UNTAG_Bool(REGB5
)) {
1752 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1754 /* ./../lib/standard//kernel.nit:232 */
1755 REGB5
= TAG_Bool(UNTAG_Int(REGB4
)<UNTAG_Int(REGB3
));
1756 /* ./../lib/standard//kernel.nit:352 */
1757 if (UNTAG_Bool(REGB5
)) {
1758 /* ./compiling//table_computation.nit:337 */
1760 /* ./../lib/standard//kernel.nit:235 */
1761 REGB6
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB5
));
1762 /* ./compiling//table_computation.nit:338 */
1763 REGB6
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB6
);
1764 if (UNTAG_Bool(REGB6
)) {
1765 /* ./../lib/standard//kernel.nit:235 */
1766 REGB6
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB5
));
1767 /* ./compiling//table_computation.nit:339 */
1768 fra
.me
.REG
[8] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB6
);
1769 REGB6
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
1770 if (UNTAG_Bool(REGB6
)) {
1771 nit_abort("Reciever is null", NULL
, LOCATE_compiling___table_computation
, 339);
1773 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[6]);
1775 /* ./../lib/standard//kernel.nit:235 */
1776 REGB5
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB5
));
1777 /* ./compiling//table_computation.nit:341 */
1779 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB6
);
1780 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[6]);
1781 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB5
, fra
.me
.REG
[8]);
1783 /* ./../lib/standard//kernel.nit:354 */
1785 /* ./../lib/standard//kernel.nit:235 */
1786 REGB5
= TAG_Int(UNTAG_Int(REGB4
)+UNTAG_Int(REGB5
));
1787 /* ./../lib/standard//kernel.nit:354 */
1790 /* ./../lib/standard//kernel.nit:352 */
1795 /* ./../lib/standard//collection//array.nit:274 */
1797 /* ./../lib/standard//kernel.nit:235 */
1798 REGB4
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB4
));
1799 /* ./../lib/standard//collection//array.nit:274 */
1802 /* ./../lib/standard//collection//array.nit:272 */
1807 stack_frame_head
= fra
.me
.prev
;
1810 void OC_compiling___table_computation___Program___colorize_1(struct stack_frame_t
*closctx
, val_t p0
){
1811 struct {struct stack_frame_t me
;} fra
;
1814 /* ./compiling//table_computation.nit:315 */
1815 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1816 fra
.me
.file
= LOCATE_compiling___table_computation
;
1818 fra
.me
.meth
= LOCATE_compiling___table_computation___Program___colorize
;
1819 fra
.me
.has_broke
= 0;
1820 fra
.me
.REG_size
= 1;
1821 fra
.me
.REG
[0] = NIT_NULL
;
1823 /* ./compiling//table_computation.nit:316 */
1824 REGB0
= CALL_compiling___table_computation___TableElt___is_related_to(closctx
->REG
[6])(closctx
->REG
[6], fra
.me
.REG
[0]);
1825 if (UNTAG_Bool(REGB0
)) {
1826 /* ./compiling//table_computation.nit:317 */
1827 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[4])(closctx
->REG
[4], fra
.me
.REG
[0]);
1829 stack_frame_head
= fra
.me
.prev
;
1832 val_t
compiling___table_computation___Program___free_color(val_t p0
, val_t p1
, val_t p2
){
1833 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1838 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1839 fra
.me
.file
= LOCATE_compiling___table_computation
;
1841 fra
.me
.meth
= LOCATE_compiling___table_computation___Program___free_color
;
1842 fra
.me
.has_broke
= 0;
1843 fra
.me
.REG_size
= 4;
1844 fra
.me
.REG
[0] = NIT_NULL
;
1845 fra
.me
.REG
[1] = NIT_NULL
;
1846 fra
.me
.REG
[2] = NIT_NULL
;
1847 fra
.me
.REG
[3] = NIT_NULL
;
1851 /* ./../lib/standard//collection//array.nit:269 */
1853 /* ./../lib/standard//collection//array.nit:270 */
1854 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1855 if (UNTAG_Bool(REGB1
)) {
1857 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
1859 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1860 /* ./../lib/standard//collection//array.nit:271 */
1861 fra
.me
.REG
[0] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[1]);
1862 /* ./../lib/standard//collection//array.nit:272 */
1864 /* ./../lib/standard//collection//array.nit:24 */
1865 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1866 if (UNTAG_Bool(REGB1
)) {
1868 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1870 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1871 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1872 if (UNTAG_Bool(REGB2
)) {
1874 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1876 /* ./../lib/standard//kernel.nit:232 */
1877 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1878 /* ./../lib/standard//collection//array.nit:272 */
1879 if (UNTAG_Bool(REGB1
)) {
1880 /* ./../lib/standard//collection//array.nit:273 */
1881 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1882 if (UNTAG_Bool(REGB1
)) {
1883 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
1885 /* ./../lib/standard//collection//array.nit:718 */
1886 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[0])->val
[UNTAG_Int(REGB0
)];
1887 /* ./compiling//table_computation.nit:350 */
1888 REGB1
= CALL_compiling___table_computation___TableElt___is_related_to(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
1889 if (UNTAG_Bool(REGB1
)) {
1890 /* ./compiling//table_computation.nit:351 */
1891 REGB1
= TAG_Bool(false);
1894 /* ./../lib/standard//collection//array.nit:274 */
1896 /* ./../lib/standard//kernel.nit:235 */
1897 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
1898 /* ./../lib/standard//collection//array.nit:274 */
1901 /* ./../lib/standard//collection//array.nit:272 */
1906 /* ./compiling//table_computation.nit:354 */
1907 REGB0
= TAG_Bool(true);
1911 stack_frame_head
= fra
.me
.prev
;
1914 void compiling___table_computation___Program___append_to_table(val_t p0
, val_t p1
, val_t p2
){
1915 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
1920 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1921 fra
.me
.file
= LOCATE_compiling___table_computation
;
1923 fra
.me
.meth
= LOCATE_compiling___table_computation___Program___append_to_table
;
1924 fra
.me
.has_broke
= 0;
1925 fra
.me
.REG_size
= 5;
1926 fra
.me
.REG
[0] = NIT_NULL
;
1927 fra
.me
.REG
[1] = NIT_NULL
;
1928 fra
.me
.REG
[2] = NIT_NULL
;
1929 fra
.me
.REG
[3] = NIT_NULL
;
1930 fra
.me
.REG
[4] = NIT_NULL
;
1934 /* ./compiling//table_computation.nit:359 */
1936 REGB1
= CALL_compiling___table_computation___TableElt___length(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1937 /* ./../lib/standard//kernel.nit:352 */
1939 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1940 if (UNTAG_Bool(REGB2
)) {
1942 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1944 /* ./../lib/standard//kernel.nit:232 */
1945 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1946 /* ./../lib/standard//kernel.nit:352 */
1947 if (UNTAG_Bool(REGB2
)) {
1948 /* ./compiling//table_computation.nit:359 */
1950 /* ./compiling//table_computation.nit:360 */
1951 fra
.me
.REG
[3] = CALL_compiling___table_computation___TableElt___item(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB2
);
1952 /* ./compiling//table_computation.nit:361 */
1953 fra
.me
.REG
[4] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1954 /* ./../lib/standard//collection//array.nit:24 */
1955 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1956 if (UNTAG_Bool(REGB2
)) {
1958 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1960 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1961 /* ./compiling//table_computation.nit:361 */
1962 CALL_compiling___table_computation___ColorContext___color__eq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3], REGB2
);
1963 /* ./compiling//table_computation.nit:362 */
1964 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1965 /* ./../lib/standard//kernel.nit:354 */
1967 /* ./../lib/standard//kernel.nit:235 */
1968 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
1969 /* ./../lib/standard//kernel.nit:354 */
1972 /* ./../lib/standard//kernel.nit:352 */
1977 stack_frame_head
= fra
.me
.prev
;
1980 void compiling___table_computation___Program___build_tables_in(val_t p0
, val_t p1
, val_t p2
, val_t p3
){
1981 struct {struct stack_frame_t me
; val_t MORE_REG
[7];} fra
;
1988 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1989 fra
.me
.file
= LOCATE_compiling___table_computation
;
1991 fra
.me
.meth
= LOCATE_compiling___table_computation___Program___build_tables_in
;
1992 fra
.me
.has_broke
= 0;
1993 fra
.me
.REG_size
= 8;
1994 fra
.me
.REG
[0] = NIT_NULL
;
1995 fra
.me
.REG
[1] = NIT_NULL
;
1996 fra
.me
.REG
[2] = NIT_NULL
;
1997 fra
.me
.REG
[3] = NIT_NULL
;
1998 fra
.me
.REG
[4] = NIT_NULL
;
1999 fra
.me
.REG
[5] = NIT_NULL
;
2000 fra
.me
.REG
[6] = NIT_NULL
;
2001 fra
.me
.REG
[7] = NIT_NULL
;
2006 /* ./compiling//table_computation.nit:368 */
2007 fra
.me
.REG
[4] = NEW_HashMap_standard___collection___hash_collection___HashMap___init();
2008 /* ./compiling//table_computation.nit:369 */
2010 /* ./../lib/standard//collection//array.nit:269 */
2012 /* ./../lib/standard//collection//array.nit:270 */
2013 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
2014 if (UNTAG_Bool(REGB2
)) {
2016 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
2018 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
2019 /* ./../lib/standard//collection//array.nit:271 */
2020 fra
.me
.REG
[5] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[3]);
2021 /* ./../lib/standard//collection//array.nit:272 */
2023 /* ./../lib/standard//collection//array.nit:24 */
2024 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
2025 if (UNTAG_Bool(REGB2
)) {
2027 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
2029 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
2030 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
2031 if (UNTAG_Bool(REGB3
)) {
2033 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2035 /* ./../lib/standard//kernel.nit:232 */
2036 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
2037 /* ./../lib/standard//collection//array.nit:272 */
2038 if (UNTAG_Bool(REGB2
)) {
2039 /* ./../lib/standard//collection//array.nit:273 */
2040 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
2041 if (UNTAG_Bool(REGB2
)) {
2042 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
2044 /* ./../lib/standard//collection//array.nit:718 */
2045 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB1
)];
2046 /* ./compiling//table_computation.nit:371 */
2047 REGB2
= CALL_compiling___table_computation___TableElt___is_related_to(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
2048 if (UNTAG_Bool(REGB2
)) {
2049 /* ./compiling//table_computation.nit:372 */
2050 fra
.me
.REG
[7] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2051 REGB2
= CALL_compiling___table_computation___ColorContext___color(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
2052 /* ./compiling//table_computation.nit:373 */
2053 REGB3
= CALL_compiling___table_computation___TableElt___length(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
2054 /* ./../lib/standard//kernel.nit:235 */
2055 REGB3
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB3
));
2056 /* ./compiling//table_computation.nit:374 */
2057 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB2
, fra
.me
.REG
[6]);
2058 REGB2
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
2059 if (UNTAG_Bool(REGB2
)) {
2061 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2063 /* ./../lib/standard//kernel.nit:232 */
2064 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB3
));
2065 /* ./compiling//table_computation.nit:375 */
2066 if (UNTAG_Bool(REGB2
)) {
2067 /* ./compiling//table_computation.nit:376 */
2071 /* ./../lib/standard//collection//array.nit:274 */
2073 /* ./../lib/standard//kernel.nit:235 */
2074 REGB3
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB3
));
2075 /* ./../lib/standard//collection//array.nit:274 */
2078 /* ./../lib/standard//collection//array.nit:272 */
2083 /* ./compiling//table_computation.nit:380 */
2085 /* ./compiling//table_computation.nit:381 */
2087 REGB3
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
2088 if (UNTAG_Bool(REGB3
)) {
2090 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2092 /* ./../lib/standard//kernel.nit:232 */
2093 REGB3
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB0
));
2094 /* ./compiling//table_computation.nit:381 */
2095 if (UNTAG_Bool(REGB3
)) {
2096 /* ./compiling//table_computation.nit:382 */
2097 REGB3
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB1
);
2098 if (UNTAG_Bool(REGB3
)) {
2099 /* ./compiling//table_computation.nit:383 */
2100 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB1
);
2101 /* ./compiling//table_computation.nit:384 */
2103 REGB2
= CALL_compiling___table_computation___TableElt___length(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2104 /* ./../lib/standard//kernel.nit:352 */
2106 REGB4
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
2107 if (UNTAG_Bool(REGB4
)) {
2109 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2111 /* ./../lib/standard//kernel.nit:232 */
2112 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB2
));
2113 /* ./../lib/standard//kernel.nit:352 */
2114 if (UNTAG_Bool(REGB4
)) {
2115 /* ./compiling//table_computation.nit:384 */
2117 /* ./compiling//table_computation.nit:385 */
2118 fra
.me
.REG
[2] = CALL_compiling___table_computation___TableElt___item(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB4
);
2119 CALL_standard___collection___abstract_collection___Sequence_____braeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB1
, fra
.me
.REG
[2]);
2120 /* ./compiling//table_computation.nit:386 */
2122 /* ./../lib/standard//kernel.nit:235 */
2123 REGB4
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB4
));
2124 /* ./compiling//table_computation.nit:386 */
2126 /* ./../lib/standard//kernel.nit:354 */
2128 /* ./../lib/standard//kernel.nit:235 */
2129 REGB4
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB4
));
2130 /* ./../lib/standard//kernel.nit:354 */
2133 /* ./../lib/standard//kernel.nit:352 */
2139 /* ./compiling//table_computation.nit:389 */
2140 CALL_standard___collection___abstract_collection___Sequence_____braeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB1
, NIT_NULL
);
2141 /* ./compiling//table_computation.nit:390 */
2143 /* ./../lib/standard//kernel.nit:235 */
2144 REGB3
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB3
));
2145 /* ./compiling//table_computation.nit:390 */
2149 /* ./compiling//table_computation.nit:381 */
2154 stack_frame_head
= fra
.me
.prev
;
2157 val_t
compiling___table_computation___MMModule___local_table(val_t p0
){
2158 struct {struct stack_frame_t me
;} fra
;
2161 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2162 fra
.me
.file
= LOCATE_compiling___table_computation
;
2164 fra
.me
.meth
= LOCATE_compiling___table_computation___MMModule___local_table
;
2165 fra
.me
.has_broke
= 0;
2166 fra
.me
.REG_size
= 1;
2167 fra
.me
.REG
[0] = NIT_NULL
;
2169 /* ./compiling//table_computation.nit:397 */
2170 REGB0
= TAG_Bool(ATTR_compiling___table_computation___MMModule____local_table(fra
.me
.REG
[0])!=NIT_NULL
);
2171 if (UNTAG_Bool(REGB0
)) {
2173 nit_abort("Uninitialized attribute %s", "_local_table", LOCATE_compiling___table_computation
, 397);
2175 fra
.me
.REG
[0] = ATTR_compiling___table_computation___MMModule____local_table(fra
.me
.REG
[0]);
2176 stack_frame_head
= fra
.me
.prev
;
2177 return fra
.me
.REG
[0];
2179 void compiling___table_computation___MMModule___local_analysis(val_t p0
){
2180 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2182 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2183 fra
.me
.file
= LOCATE_compiling___table_computation
;
2185 fra
.me
.meth
= LOCATE_compiling___table_computation___MMModule___local_analysis
;
2186 fra
.me
.has_broke
= 0;
2187 fra
.me
.REG_size
= 2;
2188 fra
.me
.REG
[0] = NIT_NULL
;
2189 fra
.me
.REG
[1] = NIT_NULL
;
2191 /* ./compiling//table_computation.nit:403 */
2192 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMModule___local_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2193 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[1])(fra
.me
.REG
[1], (&(fra
.me
)), ((fun_t
)OC_compiling___table_computation___MMModule___local_analysis_1
));
2194 stack_frame_head
= fra
.me
.prev
;
2197 void OC_compiling___table_computation___MMModule___local_analysis_1(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
2198 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2202 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2203 fra
.me
.file
= LOCATE_compiling___table_computation
;
2205 fra
.me
.meth
= LOCATE_compiling___table_computation___MMModule___local_analysis
;
2206 fra
.me
.has_broke
= 0;
2207 fra
.me
.REG_size
= 2;
2208 fra
.me
.REG
[0] = NIT_NULL
;
2209 fra
.me
.REG
[1] = NIT_NULL
;
2210 fra
.me
.closure_ctx
= closctx_param
;
2211 fra
.me
.closure_funs
= CREG
;
2213 CREG
[0] = clos_fun0
;
2214 /* ./compiling//table_computation.nit:404 */
2215 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_metamodel___abstractmetamodel___MMConcreteClass
, ID_metamodel___abstractmetamodel___MMConcreteClass
)) /*cast MMConcreteClass*/;
2216 if (UNTAG_Bool(REGB0
)) {
2217 /* ./compiling//table_computation.nit:405 */
2218 REGB0
= TAG_Bool(ATTR_compiling___table_computation___MMModule____local_table(closctx
->REG
[0])!=NIT_NULL
);
2219 if (UNTAG_Bool(REGB0
)) {
2221 nit_abort("Uninitialized attribute %s", "_local_table", LOCATE_compiling___table_computation
, 405);
2223 fra
.me
.REG
[1] = ATTR_compiling___table_computation___MMModule____local_table(closctx
->REG
[0]);
2224 CALL_compiling___table_computation___MMConcreteClass___build_layout_in(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2226 stack_frame_head
= fra
.me
.prev
;
2229 void compiling___table_computation___AbsTableElt___init(val_t p0
, int* init_table
){
2230 int itpos2
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_compiling___table_computation___AbsTableElt
].i
;
2231 struct {struct stack_frame_t me
;} fra
;
2233 if (init_table
[itpos2
]) return;
2234 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2235 fra
.me
.file
= LOCATE_compiling___table_computation
;
2237 fra
.me
.meth
= LOCATE_compiling___table_computation___AbsTableElt___init
;
2238 fra
.me
.has_broke
= 0;
2239 fra
.me
.REG_size
= 0;
2240 stack_frame_head
= fra
.me
.prev
;
2241 init_table
[itpos2
] = 1;
2244 val_t
compiling___table_computation___TableElt___is_related_to(val_t p0
, val_t p1
){
2245 struct {struct stack_frame_t me
;} fra
;
2247 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2248 fra
.me
.file
= LOCATE_compiling___table_computation
;
2250 fra
.me
.meth
= LOCATE_compiling___table_computation___TableElt___is_related_to
;
2251 fra
.me
.has_broke
= 0;
2252 fra
.me
.REG_size
= 0;
2253 /* ./compiling//table_computation.nit:421 */
2254 nit_abort("Deferred method called", NULL
, LOCATE_compiling___table_computation
, 421);
2255 stack_frame_head
= fra
.me
.prev
;
2258 val_t
compiling___table_computation___TableElt___length(val_t p0
){
2259 struct {struct stack_frame_t me
;} fra
;
2262 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2263 fra
.me
.file
= LOCATE_compiling___table_computation
;
2265 fra
.me
.meth
= LOCATE_compiling___table_computation___TableElt___length
;
2266 fra
.me
.has_broke
= 0;
2267 fra
.me
.REG_size
= 1;
2268 fra
.me
.REG
[0] = NIT_NULL
;
2270 /* ./compiling//table_computation.nit:425 */
2274 stack_frame_head
= fra
.me
.prev
;
2277 val_t
compiling___table_computation___TableElt___item(val_t p0
, val_t p1
){
2278 struct {struct stack_frame_t me
;} fra
;
2281 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2282 fra
.me
.file
= LOCATE_compiling___table_computation
;
2284 fra
.me
.meth
= LOCATE_compiling___table_computation___TableElt___item
;
2285 fra
.me
.has_broke
= 0;
2286 fra
.me
.REG_size
= 1;
2287 fra
.me
.REG
[0] = NIT_NULL
;
2290 /* ./compiling//table_computation.nit:428 */
2293 stack_frame_head
= fra
.me
.prev
;
2294 return fra
.me
.REG
[0];
2296 val_t
compiling___table_computation___ModuleTableEltGroup___elements(val_t p0
){
2297 struct {struct stack_frame_t me
;} fra
;
2300 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2301 fra
.me
.file
= LOCATE_compiling___table_computation
;
2303 fra
.me
.meth
= LOCATE_compiling___table_computation___ModuleTableEltGroup___elements
;
2304 fra
.me
.has_broke
= 0;
2305 fra
.me
.REG_size
= 1;
2306 fra
.me
.REG
[0] = NIT_NULL
;
2308 /* ./compiling//table_computation.nit:440 */
2309 REGB0
= TAG_Bool(ATTR_compiling___table_computation___ModuleTableEltGroup____elements(fra
.me
.REG
[0])!=NIT_NULL
);
2310 if (UNTAG_Bool(REGB0
)) {
2312 nit_abort("Uninitialized attribute %s", "_elements", LOCATE_compiling___table_computation
, 440);
2314 fra
.me
.REG
[0] = ATTR_compiling___table_computation___ModuleTableEltGroup____elements(fra
.me
.REG
[0]);
2315 stack_frame_head
= fra
.me
.prev
;
2316 return fra
.me
.REG
[0];
2318 val_t
compiling___table_computation___TableEltProp___property(val_t p0
){
2319 struct {struct stack_frame_t me
;} fra
;
2322 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2323 fra
.me
.file
= LOCATE_compiling___table_computation
;
2325 fra
.me
.meth
= LOCATE_compiling___table_computation___TableEltProp___property
;
2326 fra
.me
.has_broke
= 0;
2327 fra
.me
.REG_size
= 1;
2328 fra
.me
.REG
[0] = NIT_NULL
;
2330 /* ./compiling//table_computation.nit:446 */
2331 REGB0
= TAG_Bool(ATTR_compiling___table_computation___TableEltProp____property(fra
.me
.REG
[0])!=NIT_NULL
);
2332 if (UNTAG_Bool(REGB0
)) {
2334 nit_abort("Uninitialized attribute %s", "_property", LOCATE_compiling___table_computation
, 446);
2336 fra
.me
.REG
[0] = ATTR_compiling___table_computation___TableEltProp____property(fra
.me
.REG
[0]);
2337 stack_frame_head
= fra
.me
.prev
;
2338 return fra
.me
.REG
[0];
2340 void compiling___table_computation___TableEltProp___init(val_t p0
, val_t p1
, int* init_table
){
2341 int itpos3
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_compiling___table_computation___TableEltProp
].i
;
2342 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2344 if (init_table
[itpos3
]) return;
2345 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2346 fra
.me
.file
= LOCATE_compiling___table_computation
;
2348 fra
.me
.meth
= LOCATE_compiling___table_computation___TableEltProp___init
;
2349 fra
.me
.has_broke
= 0;
2350 fra
.me
.REG_size
= 2;
2351 fra
.me
.REG
[0] = NIT_NULL
;
2352 fra
.me
.REG
[1] = NIT_NULL
;
2355 /* ./compiling//table_computation.nit:450 */
2356 ATTR_compiling___table_computation___TableEltProp____property(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2357 stack_frame_head
= fra
.me
.prev
;
2358 init_table
[itpos3
] = 1;
2361 val_t
compiling___table_computation___AbsTableEltClass___local_class(val_t p0
){
2362 struct {struct stack_frame_t me
;} fra
;
2365 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2366 fra
.me
.file
= LOCATE_compiling___table_computation
;
2368 fra
.me
.meth
= LOCATE_compiling___table_computation___AbsTableEltClass___local_class
;
2369 fra
.me
.has_broke
= 0;
2370 fra
.me
.REG_size
= 1;
2371 fra
.me
.REG
[0] = NIT_NULL
;
2373 /* ./compiling//table_computation.nit:482 */
2374 REGB0
= TAG_Bool(ATTR_compiling___table_computation___AbsTableEltClass____local_class(fra
.me
.REG
[0])!=NIT_NULL
);
2375 if (UNTAG_Bool(REGB0
)) {
2377 nit_abort("Uninitialized attribute %s", "_local_class", LOCATE_compiling___table_computation
, 482);
2379 fra
.me
.REG
[0] = ATTR_compiling___table_computation___AbsTableEltClass____local_class(fra
.me
.REG
[0]);
2380 stack_frame_head
= fra
.me
.prev
;
2381 return fra
.me
.REG
[0];
2383 void compiling___table_computation___AbsTableEltClass___init(val_t p0
, val_t p1
, int* init_table
){
2384 int itpos4
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_compiling___table_computation___AbsTableEltClass
].i
;
2385 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
2387 if (init_table
[itpos4
]) return;
2388 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2389 fra
.me
.file
= LOCATE_compiling___table_computation
;
2391 fra
.me
.meth
= LOCATE_compiling___table_computation___AbsTableEltClass___init
;
2392 fra
.me
.has_broke
= 0;
2393 fra
.me
.REG_size
= 3;
2394 fra
.me
.REG
[0] = NIT_NULL
;
2395 fra
.me
.REG
[1] = NIT_NULL
;
2396 fra
.me
.REG
[2] = NIT_NULL
;
2399 /* ./compiling//table_computation.nit:485 */
2400 fra
.me
.REG
[2] = fra
.me
.REG
[0];
2401 CALL_compiling___table_computation___AbsTableElt___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
2402 /* ./compiling//table_computation.nit:487 */
2403 ATTR_compiling___table_computation___AbsTableEltClass____local_class(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
2404 stack_frame_head
= fra
.me
.prev
;
2405 init_table
[itpos4
] = 1;
2408 val_t
compiling___table_computation___TableEltClass___is_related_to(val_t p0
, val_t p1
){
2409 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
2412 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2413 fra
.me
.file
= LOCATE_compiling___table_computation
;
2415 fra
.me
.meth
= LOCATE_compiling___table_computation___TableEltClass___is_related_to
;
2416 fra
.me
.has_broke
= 0;
2417 fra
.me
.REG_size
= 3;
2418 fra
.me
.REG
[0] = NIT_NULL
;
2419 fra
.me
.REG
[1] = NIT_NULL
;
2420 fra
.me
.REG
[2] = NIT_NULL
;
2423 /* ./compiling//table_computation.nit:497 */
2424 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2425 REGB0
= TAG_Bool(ATTR_compiling___table_computation___AbsTableEltClass____local_class(fra
.me
.REG
[0])!=NIT_NULL
);
2426 if (UNTAG_Bool(REGB0
)) {
2428 nit_abort("Uninitialized attribute %s", "_local_class", LOCATE_compiling___table_computation
, 497);
2430 fra
.me
.REG
[0] = ATTR_compiling___table_computation___AbsTableEltClass____local_class(fra
.me
.REG
[0]);
2431 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2432 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMModule_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2433 /* ./compiling//table_computation.nit:498 */
2434 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2435 REGB0
= CALL_metamodel___partial_order___PartialOrderElement_____leq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2438 stack_frame_head
= fra
.me
.prev
;
2441 val_t
compiling___table_computation___TableEltComposite___length(val_t p0
){
2442 struct {struct stack_frame_t me
;} fra
;
2445 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2446 fra
.me
.file
= LOCATE_compiling___table_computation
;
2448 fra
.me
.meth
= LOCATE_compiling___table_computation___TableEltComposite___length
;
2449 fra
.me
.has_broke
= 0;
2450 fra
.me
.REG_size
= 1;
2451 fra
.me
.REG
[0] = NIT_NULL
;
2453 /* ./compiling//table_computation.nit:528 */
2454 REGB0
= TAG_Bool(ATTR_compiling___table_computation___TableEltComposite____table(fra
.me
.REG
[0])!=NIT_NULL
);
2455 if (UNTAG_Bool(REGB0
)) {
2457 nit_abort("Uninitialized attribute %s", "_table", LOCATE_compiling___table_computation
, 528);
2459 fra
.me
.REG
[0] = ATTR_compiling___table_computation___TableEltComposite____table(fra
.me
.REG
[0]);
2460 /* ./../lib/standard//collection//array.nit:24 */
2461 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
2462 if (UNTAG_Bool(REGB0
)) {
2464 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
2466 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
2467 /* ./compiling//table_computation.nit:528 */
2470 stack_frame_head
= fra
.me
.prev
;
2473 val_t
compiling___table_computation___TableEltComposite___is_related_to(val_t p0
, val_t p1
){
2474 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2477 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2478 fra
.me
.file
= LOCATE_compiling___table_computation
;
2480 fra
.me
.meth
= LOCATE_compiling___table_computation___TableEltComposite___is_related_to
;
2481 fra
.me
.has_broke
= 0;
2482 fra
.me
.REG_size
= 2;
2483 fra
.me
.REG
[0] = NIT_NULL
;
2484 fra
.me
.REG
[1] = NIT_NULL
;
2487 /* ./compiling//table_computation.nit:529 */
2488 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2489 REGB0
= TAG_Bool(ATTR_compiling___table_computation___TableEltComposite____cc(fra
.me
.REG
[0])!=NIT_NULL
);
2490 if (UNTAG_Bool(REGB0
)) {
2492 nit_abort("Uninitialized attribute %s", "_cc", LOCATE_compiling___table_computation
, 529);
2494 fra
.me
.REG
[0] = ATTR_compiling___table_computation___TableEltComposite____cc(fra
.me
.REG
[0]);
2495 fra
.me
.REG
[0] = CALL_compiling___table_computation___CompiledClass___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2496 REGB0
= CALL_metamodel___partial_order___PartialOrderElement_____leq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2499 stack_frame_head
= fra
.me
.prev
;
2502 void compiling___table_computation___TableEltComposite___add(val_t p0
, val_t p1
, val_t p2
){
2503 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
2506 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2507 fra
.me
.file
= LOCATE_compiling___table_computation
;
2509 fra
.me
.meth
= LOCATE_compiling___table_computation___TableEltComposite___add
;
2510 fra
.me
.has_broke
= 0;
2511 fra
.me
.REG_size
= 5;
2512 fra
.me
.REG
[0] = NIT_NULL
;
2513 fra
.me
.REG
[1] = NIT_NULL
;
2514 fra
.me
.REG
[2] = NIT_NULL
;
2515 fra
.me
.REG
[3] = NIT_NULL
;
2516 fra
.me
.REG
[4] = NIT_NULL
;
2520 /* ./compiling//table_computation.nit:533 */
2521 REGB0
= TAG_Bool(ATTR_compiling___table_computation___TableEltComposite____offsets(fra
.me
.REG
[0])!=NIT_NULL
);
2522 if (UNTAG_Bool(REGB0
)) {
2524 nit_abort("Uninitialized attribute %s", "_offsets", LOCATE_compiling___table_computation
, 533);
2526 fra
.me
.REG
[3] = ATTR_compiling___table_computation___TableEltComposite____offsets(fra
.me
.REG
[0]);
2527 REGB0
= TAG_Bool(ATTR_compiling___table_computation___TableEltComposite____table(fra
.me
.REG
[0])!=NIT_NULL
);
2528 if (UNTAG_Bool(REGB0
)) {
2530 nit_abort("Uninitialized attribute %s", "_table", LOCATE_compiling___table_computation
, 533);
2532 fra
.me
.REG
[4] = ATTR_compiling___table_computation___TableEltComposite____table(fra
.me
.REG
[0]);
2533 /* ./../lib/standard//collection//array.nit:24 */
2534 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
2535 if (UNTAG_Bool(REGB0
)) {
2537 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
2539 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
2540 /* ./compiling//table_computation.nit:533 */
2541 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1], REGB0
);
2542 /* ./compiling//table_computation.nit:534 */
2543 REGB0
= TAG_Bool(ATTR_compiling___table_computation___TableEltComposite____table(fra
.me
.REG
[0])!=NIT_NULL
);
2544 if (UNTAG_Bool(REGB0
)) {
2546 nit_abort("Uninitialized attribute %s", "_table", LOCATE_compiling___table_computation
, 534);
2548 fra
.me
.REG
[0] = ATTR_compiling___table_computation___TableEltComposite____table(fra
.me
.REG
[0]);
2549 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
2550 stack_frame_head
= fra
.me
.prev
;
2553 val_t
compiling___table_computation___TableEltComposite___item(val_t p0
, val_t p1
){
2554 struct {struct stack_frame_t me
;} fra
;
2559 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2560 fra
.me
.file
= LOCATE_compiling___table_computation
;
2562 fra
.me
.meth
= LOCATE_compiling___table_computation___TableEltComposite___item
;
2563 fra
.me
.has_broke
= 0;
2564 fra
.me
.REG_size
= 1;
2565 fra
.me
.REG
[0] = NIT_NULL
;
2568 /* ./compiling//table_computation.nit:537 */
2569 REGB1
= TAG_Bool(ATTR_compiling___table_computation___TableEltComposite____table(fra
.me
.REG
[0])!=NIT_NULL
);
2570 if (UNTAG_Bool(REGB1
)) {
2572 nit_abort("Uninitialized attribute %s", "_table", LOCATE_compiling___table_computation
, 537);
2574 fra
.me
.REG
[0] = ATTR_compiling___table_computation___TableEltComposite____table(fra
.me
.REG
[0]);
2575 /* ./../lib/standard//collection//array.nit:280 */
2577 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
2578 if (UNTAG_Bool(REGB2
)) {
2580 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2582 /* ./../lib/standard//kernel.nit:233 */
2583 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
2584 /* ./../lib/standard//collection//array.nit:280 */
2585 if (UNTAG_Bool(REGB1
)) {
2586 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
2587 if (UNTAG_Bool(REGB1
)) {
2589 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
2591 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
2592 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
2593 if (UNTAG_Bool(REGB2
)) {
2595 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2597 /* ./../lib/standard//kernel.nit:232 */
2598 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
2600 /* ./../lib/standard//collection//array.nit:280 */
2601 REGB2
= TAG_Bool(false);
2604 if (UNTAG_Bool(REGB1
)) {
2606 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
2608 /* ./../lib/standard//collection//array.nit:281 */
2609 fra
.me
.REG
[0] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[0]);
2610 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
2611 if (UNTAG_Bool(REGB1
)) {
2612 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
2614 /* ./../lib/standard//collection//array.nit:718 */
2615 fra
.me
.REG
[0] = ((Nit_NativeArray
)fra
.me
.REG
[0])->val
[UNTAG_Int(REGB0
)];
2616 /* ./../lib/standard//collection//array.nit:281 */
2619 /* ./compiling//table_computation.nit:537 */
2622 stack_frame_head
= fra
.me
.prev
;
2623 return fra
.me
.REG
[0];
2625 void compiling___table_computation___TableEltComposite___init(val_t p0
, val_t p1
, int* init_table
){
2626 int itpos5
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_compiling___table_computation___TableEltComposite
].i
;
2627 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2629 if (init_table
[itpos5
]) return;
2630 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2631 fra
.me
.file
= LOCATE_compiling___table_computation
;
2633 fra
.me
.meth
= LOCATE_compiling___table_computation___TableEltComposite___init
;
2634 fra
.me
.has_broke
= 0;
2635 fra
.me
.REG_size
= 2;
2636 fra
.me
.REG
[0] = NIT_NULL
;
2637 fra
.me
.REG
[1] = NIT_NULL
;
2640 /* ./compiling//table_computation.nit:541 */
2641 ATTR_compiling___table_computation___TableEltComposite____cc(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2642 /* ./compiling//table_computation.nit:542 */
2643 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___init();
2644 ATTR_compiling___table_computation___TableEltComposite____table(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2645 /* ./compiling//table_computation.nit:543 */
2646 fra
.me
.REG
[1] = NEW_HashMap_standard___collection___hash_collection___HashMap___init();
2647 ATTR_compiling___table_computation___TableEltComposite____offsets(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2648 stack_frame_head
= fra
.me
.prev
;
2649 init_table
[itpos5
] = 1;
2652 val_t
compiling___table_computation___TableEltClassSelfId___is_related_to(val_t p0
, val_t p1
){
2653 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2656 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2657 fra
.me
.file
= LOCATE_compiling___table_computation
;
2659 fra
.me
.meth
= LOCATE_compiling___table_computation___TableEltClassSelfId___is_related_to
;
2660 fra
.me
.has_broke
= 0;
2661 fra
.me
.REG_size
= 2;
2662 fra
.me
.REG
[0] = NIT_NULL
;
2663 fra
.me
.REG
[1] = NIT_NULL
;
2666 /* ./compiling//table_computation.nit:550 */
2667 REGB0
= TAG_Bool(true);
2670 stack_frame_head
= fra
.me
.prev
;
2673 val_t
compiling___table_computation___TableEltClassSelfName___is_related_to(val_t p0
, val_t p1
){
2674 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2677 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2678 fra
.me
.file
= LOCATE_compiling___table_computation
;
2680 fra
.me
.meth
= LOCATE_compiling___table_computation___TableEltClassSelfName___is_related_to
;
2681 fra
.me
.has_broke
= 0;
2682 fra
.me
.REG_size
= 2;
2683 fra
.me
.REG
[0] = NIT_NULL
;
2684 fra
.me
.REG
[1] = NIT_NULL
;
2687 /* ./compiling//table_computation.nit:556 */
2688 REGB0
= TAG_Bool(true);
2691 stack_frame_head
= fra
.me
.prev
;
2694 val_t
compiling___table_computation___TableEltClassObjectSize___is_related_to(val_t p0
, val_t p1
){
2695 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2698 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2699 fra
.me
.file
= LOCATE_compiling___table_computation
;
2701 fra
.me
.meth
= LOCATE_compiling___table_computation___TableEltClassObjectSize___is_related_to
;
2702 fra
.me
.has_broke
= 0;
2703 fra
.me
.REG_size
= 2;
2704 fra
.me
.REG
[0] = NIT_NULL
;
2705 fra
.me
.REG
[1] = NIT_NULL
;
2708 /* ./compiling//table_computation.nit:562 */
2709 REGB0
= TAG_Bool(true);
2712 stack_frame_head
= fra
.me
.prev
;
2715 val_t
compiling___table_computation___TableEltObjectId___is_related_to(val_t p0
, val_t p1
){
2716 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2719 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2720 fra
.me
.file
= LOCATE_compiling___table_computation
;
2722 fra
.me
.meth
= LOCATE_compiling___table_computation___TableEltObjectId___is_related_to
;
2723 fra
.me
.has_broke
= 0;
2724 fra
.me
.REG_size
= 2;
2725 fra
.me
.REG
[0] = NIT_NULL
;
2726 fra
.me
.REG
[1] = NIT_NULL
;
2729 /* ./compiling//table_computation.nit:568 */
2730 REGB0
= TAG_Bool(true);
2733 stack_frame_head
= fra
.me
.prev
;
2736 val_t
compiling___table_computation___TableEltVftPointer___is_related_to(val_t p0
, val_t p1
){
2737 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2740 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2741 fra
.me
.file
= LOCATE_compiling___table_computation
;
2743 fra
.me
.meth
= LOCATE_compiling___table_computation___TableEltVftPointer___is_related_to
;
2744 fra
.me
.has_broke
= 0;
2745 fra
.me
.REG_size
= 2;
2746 fra
.me
.REG
[0] = NIT_NULL
;
2747 fra
.me
.REG
[1] = NIT_NULL
;
2750 /* ./compiling//table_computation.nit:574 */
2751 REGB0
= TAG_Bool(true);
2754 stack_frame_head
= fra
.me
.prev
;