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:335 */
92 /* ./../lib/standard//kernel.nit:215 */
93 REGB3
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
94 /* ./../lib/standard//kernel.nit:335 */
95 if (UNTAG_Bool(REGB3
)) {
96 /* ./compiling//table_computation.nit:46 */
98 /* ./compiling//table_computation.nit:47 */
99 REGB4
= TAG_Bool(ATTR_compiling___table_computation___ColorContext____colors(fra
.me
.REG
[0])!=NIT_NULL
);
100 if (UNTAG_Bool(REGB4
)) {
102 nit_abort("Uninitialized attribute %s", "_colors", LOCATE_compiling___table_computation
, 47);
104 fra
.me
.REG
[2] = ATTR_compiling___table_computation___ColorContext____colors(fra
.me
.REG
[0]);
105 fra
.me
.REG
[3] = CALL_compiling___table_computation___TableElt___item(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB3
);
106 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], REGB0
);
107 /* ./compiling//table_computation.nit:48 */
109 /* ./../lib/standard//kernel.nit:218 */
110 REGB3
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB3
));
111 /* ./compiling//table_computation.nit:48 */
113 /* ./../lib/standard//kernel.nit:337 */
115 /* ./../lib/standard//kernel.nit:218 */
116 REGB3
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB3
));
117 /* ./../lib/standard//kernel.nit:337 */
120 /* ./../lib/standard//kernel.nit:335 */
125 stack_frame_head
= fra
.me
.prev
;
128 void compiling___table_computation___ColorContext___init(val_t p0
, int* init_table
){
129 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_compiling___table_computation___ColorContext
].i
;
130 struct {struct stack_frame_t me
;} fra
;
132 if (init_table
[itpos0
]) return;
133 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
134 fra
.me
.file
= LOCATE_compiling___table_computation
;
136 fra
.me
.meth
= LOCATE_compiling___table_computation___ColorContext___init
;
137 fra
.me
.has_broke
= 0;
139 stack_frame_head
= fra
.me
.prev
;
140 init_table
[itpos0
] = 1;
143 val_t
compiling___table_computation___TableInformation___max_class_table_length(val_t p0
){
144 struct {struct stack_frame_t me
;} fra
;
147 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
148 fra
.me
.file
= LOCATE_compiling___table_computation
;
150 fra
.me
.meth
= LOCATE_compiling___table_computation___TableInformation___max_class_table_length
;
151 fra
.me
.has_broke
= 0;
153 fra
.me
.REG
[0] = NIT_NULL
;
155 /* ./compiling//table_computation.nit:56 */
156 REGB0
= TAG_Bool(ATTR_compiling___table_computation___TableInformation____max_class_table_length(fra
.me
.REG
[0])!=NIT_NULL
);
157 if (UNTAG_Bool(REGB0
)) {
159 nit_abort("Uninitialized attribute %s", "_max_class_table_length", LOCATE_compiling___table_computation
, 56);
161 REGB0
= ATTR_compiling___table_computation___TableInformation____max_class_table_length(fra
.me
.REG
[0]);
162 stack_frame_head
= fra
.me
.prev
;
165 void compiling___table_computation___TableInformation___max_class_table_length__eq(val_t p0
, val_t p1
){
166 struct {struct stack_frame_t me
;} fra
;
169 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
170 fra
.me
.file
= LOCATE_compiling___table_computation
;
172 fra
.me
.meth
= LOCATE_compiling___table_computation___TableInformation___max_class_table_length__eq
;
173 fra
.me
.has_broke
= 0;
175 fra
.me
.REG
[0] = NIT_NULL
;
178 /* ./compiling//table_computation.nit:56 */
179 ATTR_compiling___table_computation___TableInformation____max_class_table_length(fra
.me
.REG
[0]) = REGB0
;
180 stack_frame_head
= fra
.me
.prev
;
183 val_t
compiling___table_computation___CompiledClass___local_class(val_t p0
){
184 struct {struct stack_frame_t me
;} fra
;
187 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
188 fra
.me
.file
= LOCATE_compiling___table_computation
;
190 fra
.me
.meth
= LOCATE_compiling___table_computation___CompiledClass___local_class
;
191 fra
.me
.has_broke
= 0;
193 fra
.me
.REG
[0] = NIT_NULL
;
195 /* ./compiling//table_computation.nit:63 */
196 REGB0
= TAG_Bool(ATTR_compiling___table_computation___CompiledClass____local_class(fra
.me
.REG
[0])!=NIT_NULL
);
197 if (UNTAG_Bool(REGB0
)) {
199 nit_abort("Uninitialized attribute %s", "_local_class", LOCATE_compiling___table_computation
, 63);
201 fra
.me
.REG
[0] = ATTR_compiling___table_computation___CompiledClass____local_class(fra
.me
.REG
[0]);
202 stack_frame_head
= fra
.me
.prev
;
203 return fra
.me
.REG
[0];
205 val_t
compiling___table_computation___CompiledClass___id(val_t p0
){
206 struct {struct stack_frame_t me
;} fra
;
209 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
210 fra
.me
.file
= LOCATE_compiling___table_computation
;
212 fra
.me
.meth
= LOCATE_compiling___table_computation___CompiledClass___id
;
213 fra
.me
.has_broke
= 0;
215 fra
.me
.REG
[0] = NIT_NULL
;
217 /* ./compiling//table_computation.nit:66 */
218 REGB0
= TAG_Bool(ATTR_compiling___table_computation___CompiledClass____id(fra
.me
.REG
[0])!=NIT_NULL
);
219 if (UNTAG_Bool(REGB0
)) {
221 nit_abort("Uninitialized attribute %s", "_id", LOCATE_compiling___table_computation
, 66);
223 REGB0
= ATTR_compiling___table_computation___CompiledClass____id(fra
.me
.REG
[0]);
224 stack_frame_head
= fra
.me
.prev
;
227 void compiling___table_computation___CompiledClass___id__eq(val_t p0
, val_t p1
){
228 struct {struct stack_frame_t me
;} fra
;
231 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
232 fra
.me
.file
= LOCATE_compiling___table_computation
;
234 fra
.me
.meth
= LOCATE_compiling___table_computation___CompiledClass___id__eq
;
235 fra
.me
.has_broke
= 0;
237 fra
.me
.REG
[0] = NIT_NULL
;
240 /* ./compiling//table_computation.nit:66 */
241 ATTR_compiling___table_computation___CompiledClass____id(fra
.me
.REG
[0]) = REGB0
;
242 stack_frame_head
= fra
.me
.prev
;
245 val_t
compiling___table_computation___CompiledClass___class_table(val_t p0
){
246 struct {struct stack_frame_t me
;} fra
;
249 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
250 fra
.me
.file
= LOCATE_compiling___table_computation
;
252 fra
.me
.meth
= LOCATE_compiling___table_computation___CompiledClass___class_table
;
253 fra
.me
.has_broke
= 0;
255 fra
.me
.REG
[0] = NIT_NULL
;
257 /* ./compiling//table_computation.nit:69 */
258 REGB0
= TAG_Bool(ATTR_compiling___table_computation___CompiledClass____class_table(fra
.me
.REG
[0])!=NIT_NULL
);
259 if (UNTAG_Bool(REGB0
)) {
261 nit_abort("Uninitialized attribute %s", "_class_table", LOCATE_compiling___table_computation
, 69);
263 fra
.me
.REG
[0] = ATTR_compiling___table_computation___CompiledClass____class_table(fra
.me
.REG
[0]);
264 stack_frame_head
= fra
.me
.prev
;
265 return fra
.me
.REG
[0];
267 val_t
compiling___table_computation___CompiledClass___instance_table(val_t p0
){
268 struct {struct stack_frame_t me
;} fra
;
271 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
272 fra
.me
.file
= LOCATE_compiling___table_computation
;
274 fra
.me
.meth
= LOCATE_compiling___table_computation___CompiledClass___instance_table
;
275 fra
.me
.has_broke
= 0;
277 fra
.me
.REG
[0] = NIT_NULL
;
279 /* ./compiling//table_computation.nit:72 */
280 REGB0
= TAG_Bool(ATTR_compiling___table_computation___CompiledClass____instance_table(fra
.me
.REG
[0])!=NIT_NULL
);
281 if (UNTAG_Bool(REGB0
)) {
283 nit_abort("Uninitialized attribute %s", "_instance_table", LOCATE_compiling___table_computation
, 72);
285 fra
.me
.REG
[0] = ATTR_compiling___table_computation___CompiledClass____instance_table(fra
.me
.REG
[0]);
286 stack_frame_head
= fra
.me
.prev
;
287 return fra
.me
.REG
[0];
289 val_t
compiling___table_computation___CompiledClass___class_layout(val_t p0
){
290 struct {struct stack_frame_t me
;} fra
;
293 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
294 fra
.me
.file
= LOCATE_compiling___table_computation
;
296 fra
.me
.meth
= LOCATE_compiling___table_computation___CompiledClass___class_layout
;
297 fra
.me
.has_broke
= 0;
299 fra
.me
.REG
[0] = NIT_NULL
;
301 /* ./compiling//table_computation.nit:75 */
302 REGB0
= TAG_Bool(ATTR_compiling___table_computation___CompiledClass____class_layout(fra
.me
.REG
[0])!=NIT_NULL
);
303 if (UNTAG_Bool(REGB0
)) {
305 nit_abort("Uninitialized attribute %s", "_class_layout", LOCATE_compiling___table_computation
, 75);
307 fra
.me
.REG
[0] = ATTR_compiling___table_computation___CompiledClass____class_layout(fra
.me
.REG
[0]);
308 stack_frame_head
= fra
.me
.prev
;
309 return fra
.me
.REG
[0];
311 void compiling___table_computation___CompiledClass___class_layout__eq(val_t p0
, val_t p1
){
312 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
314 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
315 fra
.me
.file
= LOCATE_compiling___table_computation
;
317 fra
.me
.meth
= LOCATE_compiling___table_computation___CompiledClass___class_layout__eq
;
318 fra
.me
.has_broke
= 0;
320 fra
.me
.REG
[0] = NIT_NULL
;
321 fra
.me
.REG
[1] = NIT_NULL
;
324 /* ./compiling//table_computation.nit:75 */
325 ATTR_compiling___table_computation___CompiledClass____class_layout(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
326 stack_frame_head
= fra
.me
.prev
;
329 val_t
compiling___table_computation___CompiledClass___instance_layout(val_t p0
){
330 struct {struct stack_frame_t me
;} fra
;
333 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
334 fra
.me
.file
= LOCATE_compiling___table_computation
;
336 fra
.me
.meth
= LOCATE_compiling___table_computation___CompiledClass___instance_layout
;
337 fra
.me
.has_broke
= 0;
339 fra
.me
.REG
[0] = NIT_NULL
;
341 /* ./compiling//table_computation.nit:78 */
342 REGB0
= TAG_Bool(ATTR_compiling___table_computation___CompiledClass____instance_layout(fra
.me
.REG
[0])!=NIT_NULL
);
343 if (UNTAG_Bool(REGB0
)) {
345 nit_abort("Uninitialized attribute %s", "_instance_layout", LOCATE_compiling___table_computation
, 78);
347 fra
.me
.REG
[0] = ATTR_compiling___table_computation___CompiledClass____instance_layout(fra
.me
.REG
[0]);
348 stack_frame_head
= fra
.me
.prev
;
349 return fra
.me
.REG
[0];
351 void compiling___table_computation___CompiledClass___instance_layout__eq(val_t p0
, val_t p1
){
352 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
354 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
355 fra
.me
.file
= LOCATE_compiling___table_computation
;
357 fra
.me
.meth
= LOCATE_compiling___table_computation___CompiledClass___instance_layout__eq
;
358 fra
.me
.has_broke
= 0;
360 fra
.me
.REG
[0] = NIT_NULL
;
361 fra
.me
.REG
[1] = NIT_NULL
;
364 /* ./compiling//table_computation.nit:78 */
365 ATTR_compiling___table_computation___CompiledClass____instance_layout(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
366 stack_frame_head
= fra
.me
.prev
;
369 void compiling___table_computation___CompiledClass___init(val_t p0
, val_t p1
, int* init_table
){
370 int itpos1
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_compiling___table_computation___CompiledClass
].i
;
371 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
373 if (init_table
[itpos1
]) return;
374 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
375 fra
.me
.file
= LOCATE_compiling___table_computation
;
377 fra
.me
.meth
= LOCATE_compiling___table_computation___CompiledClass___init
;
378 fra
.me
.has_broke
= 0;
380 fra
.me
.REG
[0] = NIT_NULL
;
381 fra
.me
.REG
[1] = NIT_NULL
;
382 fra
.me
.REG
[2] = NIT_NULL
;
385 /* ./compiling//table_computation.nit:81 */
386 fra
.me
.REG
[2] = fra
.me
.REG
[0];
387 CALL_compiling___table_computation___ColorContext___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
388 ATTR_compiling___table_computation___CompiledClass____local_class(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
389 stack_frame_head
= fra
.me
.prev
;
390 init_table
[itpos1
] = 1;
393 val_t
compiling___table_computation___MMConcreteClass___class_color_pos(val_t p0
){
394 struct {struct stack_frame_t me
;} fra
;
397 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
398 fra
.me
.file
= LOCATE_compiling___table_computation
;
400 fra
.me
.meth
= LOCATE_compiling___table_computation___MMConcreteClass___class_color_pos
;
401 fra
.me
.has_broke
= 0;
403 fra
.me
.REG
[0] = NIT_NULL
;
405 /* ./compiling//table_computation.nit:86 */
406 fra
.me
.REG
[0] = ATTR_compiling___table_computation___MMConcreteClass____class_color_pos(fra
.me
.REG
[0]);
407 REGB0
= TAG_Bool(fra
.me
.REG
[0]!=NIT_NULL
);
408 if (UNTAG_Bool(REGB0
)) {
410 nit_abort("Cast failed", NULL
, LOCATE_compiling___table_computation
, 86);
414 stack_frame_head
= fra
.me
.prev
;
415 return fra
.me
.REG
[0];
417 val_t
compiling___table_computation___MMConcreteClass___class_layout(val_t p0
){
418 struct {struct stack_frame_t me
;} fra
;
421 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
422 fra
.me
.file
= LOCATE_compiling___table_computation
;
424 fra
.me
.meth
= LOCATE_compiling___table_computation___MMConcreteClass___class_layout
;
425 fra
.me
.has_broke
= 0;
427 fra
.me
.REG
[0] = NIT_NULL
;
429 /* ./compiling//table_computation.nit:89 */
430 REGB0
= TAG_Bool(ATTR_compiling___table_computation___MMConcreteClass____class_layout(fra
.me
.REG
[0])!=NIT_NULL
);
431 if (UNTAG_Bool(REGB0
)) {
433 nit_abort("Uninitialized attribute %s", "_class_layout", LOCATE_compiling___table_computation
, 89);
435 fra
.me
.REG
[0] = ATTR_compiling___table_computation___MMConcreteClass____class_layout(fra
.me
.REG
[0]);
436 stack_frame_head
= fra
.me
.prev
;
437 return fra
.me
.REG
[0];
439 val_t
compiling___table_computation___MMConcreteClass___instance_layout(val_t p0
){
440 struct {struct stack_frame_t me
;} fra
;
443 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
444 fra
.me
.file
= LOCATE_compiling___table_computation
;
446 fra
.me
.meth
= LOCATE_compiling___table_computation___MMConcreteClass___instance_layout
;
447 fra
.me
.has_broke
= 0;
449 fra
.me
.REG
[0] = NIT_NULL
;
451 /* ./compiling//table_computation.nit:92 */
452 REGB0
= TAG_Bool(ATTR_compiling___table_computation___MMConcreteClass____instance_layout(fra
.me
.REG
[0])!=NIT_NULL
);
453 if (UNTAG_Bool(REGB0
)) {
455 nit_abort("Uninitialized attribute %s", "_instance_layout", LOCATE_compiling___table_computation
, 92);
457 fra
.me
.REG
[0] = ATTR_compiling___table_computation___MMConcreteClass____instance_layout(fra
.me
.REG
[0]);
458 stack_frame_head
= fra
.me
.prev
;
459 return fra
.me
.REG
[0];
461 void compiling___table_computation___MMConcreteClass___build_layout_in(val_t p0
, val_t p1
){
462 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
466 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
467 fra
.me
.file
= LOCATE_compiling___table_computation
;
469 fra
.me
.meth
= LOCATE_compiling___table_computation___MMConcreteClass___build_layout_in
;
470 fra
.me
.has_broke
= 0;
472 fra
.me
.REG
[0] = NIT_NULL
;
473 fra
.me
.REG
[1] = NIT_NULL
;
474 fra
.me
.REG
[2] = NIT_NULL
;
475 fra
.me
.REG
[3] = NIT_NULL
;
476 fra
.me
.REG
[4] = NIT_NULL
;
479 /* ./compiling//table_computation.nit:98 */
480 REGB0
= TAG_Bool(ATTR_compiling___table_computation___MMConcreteClass____class_layout(fra
.me
.REG
[0])!=NIT_NULL
);
481 if (UNTAG_Bool(REGB0
)) {
483 nit_abort("Uninitialized attribute %s", "_class_layout", LOCATE_compiling___table_computation
, 98);
485 fra
.me
.REG
[2] = ATTR_compiling___table_computation___MMConcreteClass____class_layout(fra
.me
.REG
[0]);
486 /* ./compiling//table_computation.nit:99 */
487 REGB0
= TAG_Bool(ATTR_compiling___table_computation___MMConcreteClass____instance_layout(fra
.me
.REG
[0])!=NIT_NULL
);
488 if (UNTAG_Bool(REGB0
)) {
490 nit_abort("Uninitialized attribute %s", "_instance_layout", LOCATE_compiling___table_computation
, 99);
492 fra
.me
.REG
[3] = ATTR_compiling___table_computation___MMConcreteClass____instance_layout(fra
.me
.REG
[0]);
493 /* ./compiling//table_computation.nit:101 */
494 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
495 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
496 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[4],fra
.me
.REG
[0]));
497 if (UNTAG_Bool(REGB0
)) {
499 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
502 if (UNTAG_Bool(REGB0
)) {
503 /* ./compiling//table_computation.nit:102 */
504 fra
.me
.REG
[4] = NEW_TableEltClassId_compiling___table_computation___AbsTableEltClass___init(fra
.me
.REG
[0]);
505 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
506 /* ./compiling//table_computation.nit:103 */
507 fra
.me
.REG
[4] = NEW_TableEltClassColor_compiling___table_computation___AbsTableEltClass___init(fra
.me
.REG
[0]);
508 /* ./compiling//table_computation.nit:104 */
509 ATTR_compiling___table_computation___MMConcreteClass____class_color_pos(fra
.me
.REG
[0]) = fra
.me
.REG
[4];
510 /* ./compiling//table_computation.nit:105 */
511 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
512 /* ./compiling//table_computation.nit:106 */
513 fra
.me
.REG
[4] = NEW_TableEltClassInitTable_compiling___table_computation___AbsTableEltClass___init(fra
.me
.REG
[0]);
514 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
516 /* ./compiling//table_computation.nit:108 */
517 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalClass___local_local_properties(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
518 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[0])(fra
.me
.REG
[0], (&(fra
.me
)), ((fun_t
)OC_compiling___table_computation___MMConcreteClass___build_layout_in_1
));
519 /* ./compiling//table_computation.nit:122 */
520 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
521 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
522 if (UNTAG_Bool(REGB0
)) {
523 /* ./compiling//table_computation.nit:123 */
524 fra
.me
.REG
[0] = NEW_ModuleTableEltGroup_compiling___table_computation___AbsTableElt___init();
525 /* ./compiling//table_computation.nit:124 */
526 fra
.me
.REG
[4] = CALL_compiling___table_computation___ModuleTableEltGroup___elements(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
527 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
528 /* ./compiling//table_computation.nit:125 */
529 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
531 /* ./compiling//table_computation.nit:128 */
532 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
533 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
534 if (UNTAG_Bool(REGB0
)) {
535 /* ./compiling//table_computation.nit:129 */
536 fra
.me
.REG
[0] = NEW_ModuleTableEltGroup_compiling___table_computation___AbsTableElt___init();
537 /* ./compiling//table_computation.nit:130 */
538 fra
.me
.REG
[3] = CALL_compiling___table_computation___ModuleTableEltGroup___elements(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
539 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
540 /* ./compiling//table_computation.nit:131 */
541 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
543 stack_frame_head
= fra
.me
.prev
;
546 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
){
547 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
552 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
553 fra
.me
.file
= LOCATE_compiling___table_computation
;
555 fra
.me
.meth
= LOCATE_compiling___table_computation___MMConcreteClass___build_layout_in
;
556 fra
.me
.has_broke
= 0;
558 fra
.me
.REG
[0] = NIT_NULL
;
559 fra
.me
.REG
[1] = NIT_NULL
;
560 fra
.me
.closure_ctx
= closctx_param
;
561 fra
.me
.closure_funs
= CREG
;
564 /* ./compiling//table_computation.nit:109 */
565 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
566 /* ./compiling//table_computation.nit:110 */
567 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___intro(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
568 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[1],fra
.me
.REG
[0]));
569 if (UNTAG_Bool(REGB0
)) {
571 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
574 if (UNTAG_Bool(REGB0
)) {
575 /* ./compiling//table_computation.nit:111 */
576 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_metamodel___abstractmetamodel___MMAttribute
, ID_metamodel___abstractmetamodel___MMAttribute
)) /*cast MMAttribute*/;
577 if (UNTAG_Bool(REGB0
)) {
578 /* ./compiling//table_computation.nit:112 */
579 fra
.me
.REG
[1] = NEW_TableEltAttr_compiling___table_computation___TableEltProp___init(fra
.me
.REG
[0]);
580 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[3])(closctx
->REG
[3], fra
.me
.REG
[1]);
582 /* ./compiling//table_computation.nit:113 */
583 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_metamodel___abstractmetamodel___MMMethod
, ID_metamodel___abstractmetamodel___MMMethod
)) /*cast MMMethod*/;
584 if (UNTAG_Bool(REGB0
)) {
585 /* ./compiling//table_computation.nit:114 */
586 fra
.me
.REG
[1] = NEW_TableEltMeth_compiling___table_computation___TableEltProp___init(fra
.me
.REG
[0]);
587 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[2])(closctx
->REG
[2], fra
.me
.REG
[1]);
591 /* ./compiling//table_computation.nit:117 */
592 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_metamodel___abstractmetamodel___MMMethod
, ID_metamodel___abstractmetamodel___MMMethod
)) /*cast MMMethod*/;
593 if (UNTAG_Bool(REGB0
)) {
594 REGB0
= CALL_metamodel___abstractmetamodel___MMLocalProperty___need_super(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
596 REGB1
= TAG_Bool(false);
599 if (UNTAG_Bool(REGB0
)) {
600 /* ./compiling//table_computation.nit:118 */
601 fra
.me
.REG
[0] = NEW_TableEltSuper_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
[0]);
604 stack_frame_head
= fra
.me
.prev
;
607 val_t
compiling___table_computation___Program___table_information(val_t p0
){
608 struct {struct stack_frame_t me
;} fra
;
611 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
612 fra
.me
.file
= LOCATE_compiling___table_computation
;
614 fra
.me
.meth
= LOCATE_compiling___table_computation___Program___table_information
;
615 fra
.me
.has_broke
= 0;
617 fra
.me
.REG
[0] = NIT_NULL
;
619 /* ./compiling//table_computation.nit:137 */
620 REGB0
= TAG_Bool(ATTR_compiling___table_computation___Program____table_information(fra
.me
.REG
[0])!=NIT_NULL
);
621 if (UNTAG_Bool(REGB0
)) {
623 nit_abort("Uninitialized attribute %s", "_table_information", LOCATE_compiling___table_computation
, 137);
625 fra
.me
.REG
[0] = ATTR_compiling___table_computation___Program____table_information(fra
.me
.REG
[0]);
626 stack_frame_head
= fra
.me
.prev
;
627 return fra
.me
.REG
[0];
629 val_t
compiling___table_computation___Program___compiled_classes(val_t p0
){
630 struct {struct stack_frame_t me
;} fra
;
633 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
634 fra
.me
.file
= LOCATE_compiling___table_computation
;
636 fra
.me
.meth
= LOCATE_compiling___table_computation___Program___compiled_classes
;
637 fra
.me
.has_broke
= 0;
639 fra
.me
.REG
[0] = NIT_NULL
;
641 /* ./compiling//table_computation.nit:140 */
642 REGB0
= TAG_Bool(ATTR_compiling___table_computation___Program____compiled_classes(fra
.me
.REG
[0])!=NIT_NULL
);
643 if (UNTAG_Bool(REGB0
)) {
645 nit_abort("Uninitialized attribute %s", "_compiled_classes", LOCATE_compiling___table_computation
, 140);
647 fra
.me
.REG
[0] = ATTR_compiling___table_computation___Program____compiled_classes(fra
.me
.REG
[0]);
648 stack_frame_head
= fra
.me
.prev
;
649 return fra
.me
.REG
[0];
651 void compiling___table_computation___Program___do_table_computation(val_t p0
){
652 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
655 static val_t once_value_1
; /* Once value */
656 static val_t once_value_5
; /* Once value */
657 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
658 fra
.me
.file
= LOCATE_compiling___table_computation
;
660 fra
.me
.meth
= LOCATE_compiling___table_computation___Program___do_table_computation
;
661 fra
.me
.has_broke
= 0;
663 fra
.me
.REG
[0] = NIT_NULL
;
664 fra
.me
.REG
[1] = NIT_NULL
;
665 fra
.me
.REG
[2] = NIT_NULL
;
667 /* ./compiling//table_computation.nit:145 */
668 fra
.me
.REG
[1] = CALL_program___Program___tc(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
670 fra
.me
.REG
[2] = BOX_NativeString("Building tables");
672 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
673 once_value_1
= fra
.me
.REG
[2];
674 register_static_object(&once_value_1
);
675 } else fra
.me
.REG
[2] = once_value_1
;
676 fra
.me
.REG
[2] = fra
.me
.REG
[2];
678 CALL_mmloader___ToolContext___info(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2], REGB0
);
679 /* ./compiling//table_computation.nit:146 */
680 fra
.me
.REG
[2] = CALL_program___Program___main_module(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
681 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMModule___mhe(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
682 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
683 if (UNTAG_Bool(REGB0
)) {
684 nit_abort("Reciever is null", NULL
, LOCATE_compiling___table_computation
, 146);
686 fra
.me
.REG
[2] = CALL_metamodel___partial_order___PartialOrderElement___greaters_and_self(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
687 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
));
688 /* ./compiling//table_computation.nit:151 */
689 fra
.me
.REG
[2] = CALL_program___Program___tc(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
691 fra
.me
.REG
[1] = BOX_NativeString("Merging all tables");
693 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
694 once_value_5
= fra
.me
.REG
[1];
695 register_static_object(&once_value_5
);
696 } else fra
.me
.REG
[1] = once_value_5
;
697 fra
.me
.REG
[1] = fra
.me
.REG
[1];
699 CALL_mmloader___ToolContext___info(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1], REGB0
);
700 /* ./compiling//table_computation.nit:152 */
701 CALL_compiling___table_computation___Program___do_global_table_analysis(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
702 stack_frame_head
= fra
.me
.prev
;
705 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
){
706 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
710 static val_t once_value_3
; /* Once value */
711 static val_t once_value_4
; /* Once value */
712 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
713 fra
.me
.file
= LOCATE_compiling___table_computation
;
715 fra
.me
.meth
= LOCATE_compiling___table_computation___Program___do_table_computation
;
716 fra
.me
.has_broke
= 0;
718 fra
.me
.REG
[0] = NIT_NULL
;
719 fra
.me
.REG
[1] = NIT_NULL
;
720 fra
.me
.REG
[2] = NIT_NULL
;
721 fra
.me
.REG
[3] = NIT_NULL
;
722 fra
.me
.closure_ctx
= closctx_param
;
723 fra
.me
.closure_funs
= CREG
;
726 /* ./compiling//table_computation.nit:147 */
727 fra
.me
.REG
[1] = CALL_program___Program___tc(closctx
->REG
[0])(closctx
->REG
[0]);
729 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
731 fra
.me
.REG
[3] = BOX_NativeString("Building tables for module: ");
733 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
734 once_value_3
= fra
.me
.REG
[3];
735 register_static_object(&once_value_3
);
736 } else fra
.me
.REG
[3] = once_value_3
;
737 fra
.me
.REG
[3] = fra
.me
.REG
[3];
738 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
739 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMModule___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
740 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
741 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
743 fra
.me
.REG
[3] = BOX_NativeString("");
745 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
746 once_value_4
= fra
.me
.REG
[3];
747 register_static_object(&once_value_4
);
748 } else fra
.me
.REG
[3] = once_value_4
;
749 fra
.me
.REG
[3] = fra
.me
.REG
[3];
750 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
751 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
753 CALL_mmloader___ToolContext___info(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2], REGB0
);
754 /* ./compiling//table_computation.nit:148 */
755 CALL_compiling___table_computation___MMModule___local_analysis(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
756 stack_frame_head
= fra
.me
.prev
;
759 void compiling___table_computation___Program___do_global_table_analysis(val_t p0
){
760 struct {struct stack_frame_t me
; val_t MORE_REG
[11];} fra
;
767 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
768 fra
.me
.file
= LOCATE_compiling___table_computation
;
770 fra
.me
.meth
= LOCATE_compiling___table_computation___Program___do_global_table_analysis
;
771 fra
.me
.has_broke
= 0;
772 fra
.me
.REG_size
= 12;
773 fra
.me
.REG
[0] = NIT_NULL
;
774 fra
.me
.REG
[1] = NIT_NULL
;
775 fra
.me
.REG
[2] = NIT_NULL
;
776 fra
.me
.REG
[3] = NIT_NULL
;
777 fra
.me
.REG
[4] = NIT_NULL
;
778 fra
.me
.REG
[5] = NIT_NULL
;
779 fra
.me
.REG
[6] = NIT_NULL
;
780 fra
.me
.REG
[7] = NIT_NULL
;
781 fra
.me
.REG
[8] = NIT_NULL
;
782 fra
.me
.REG
[9] = NIT_NULL
;
783 fra
.me
.REG
[10] = NIT_NULL
;
784 fra
.me
.REG
[11] = NIT_NULL
;
786 /* ./compiling//table_computation.nit:158 */
787 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___init();
788 /* ./compiling//table_computation.nit:159 */
789 fra
.me
.REG
[2] = NEW_HashSet_standard___collection___hash_collection___HashSet___init();
790 /* ./compiling//table_computation.nit:160 */
791 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___init();
792 /* ./compiling//table_computation.nit:161 */
793 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___init();
794 /* ./compiling//table_computation.nit:163 */
795 fra
.me
.REG
[4] = NEW_TableEltClassSelfId_compiling___table_computation___AbsTableElt___init();
796 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
797 /* ./compiling//table_computation.nit:164 */
798 fra
.me
.REG
[4] = NEW_TableEltClassObjectSize_compiling___table_computation___AbsTableElt___init();
799 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
800 /* ./compiling//table_computation.nit:165 */
801 fra
.me
.REG
[4] = NEW_TableEltClassSelfName_compiling___table_computation___AbsTableElt___init();
802 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
803 /* ./compiling//table_computation.nit:166 */
804 fra
.me
.REG
[4] = NEW_TableEltVftPointer_compiling___table_computation___AbsTableElt___init();
805 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
806 /* ./compiling//table_computation.nit:167 */
807 fra
.me
.REG
[4] = NEW_TableEltObjectId_compiling___table_computation___AbsTableElt___init();
808 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
809 /* ./compiling//table_computation.nit:169 */
811 /* ./../lib/standard//kernel.nit:219 */
812 REGB0
= TAG_Int(-UNTAG_Int(REGB0
));
813 /* ./compiling//table_computation.nit:170 */
815 /* ./compiling//table_computation.nit:173 */
816 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___init();
817 /* ./compiling//table_computation.nit:174 */
818 fra
.me
.REG
[5] = CALL_program___Program___main_module(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
819 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMModule___local_classes(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
820 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
));
821 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
));
822 /* ./../lib/standard//collection//array.nit:231 */
823 fra
.me
.REG
[5] = fra
.me
.REG
[4];
824 /* ./../lib/standard//collection//array.nit:234 */
826 /* ./../lib/standard//collection//array.nit:235 */
827 REGB3
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
828 if (UNTAG_Bool(REGB3
)) {
830 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 235);
832 REGB3
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
833 /* ./../lib/standard//collection//array.nit:236 */
834 fra
.me
.REG
[6] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[5]);
835 /* ./../lib/standard//collection//array.nit:237 */
837 /* ./../lib/standard//collection//array.nit:23 */
838 REGB3
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
839 if (UNTAG_Bool(REGB3
)) {
841 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
843 REGB3
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
844 /* ./../lib/standard//kernel.nit:215 */
845 REGB3
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB3
));
846 /* ./../lib/standard//collection//array.nit:237 */
847 if (UNTAG_Bool(REGB3
)) {
848 /* ./../lib/standard//collection//array.nit:238 */
849 REGB3
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
850 if (UNTAG_Bool(REGB3
)) {
851 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 238);
853 /* ./../lib/standard//collection//array.nit:654 */
854 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB2
)];
855 /* ./compiling//table_computation.nit:179 */
856 fra
.me
.REG
[8] = NEW_CompiledClass_compiling___table_computation___CompiledClass___init(fra
.me
.REG
[7]);
857 /* ./compiling//table_computation.nit:180 */
858 fra
.me
.REG
[9] = CALL_compiling___table_computation___Program___compiled_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
859 fra
.me
.REG
[10] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
860 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10], fra
.me
.REG
[8]);
861 /* ./compiling//table_computation.nit:184 */
862 fra
.me
.REG
[10] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
863 /* ./compiling//table_computation.nit:185 */
864 fra
.me
.REG
[10] = CALL_metamodel___abstractmetamodel___MMGlobalClass___mmmodule(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
865 /* ./compiling//table_computation.nit:186 */
866 fra
.me
.REG
[10] = CALL_primitive_info___MMLocalClass___primitive_info(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
867 REGB3
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
868 if (UNTAG_Bool(REGB3
)) {
870 REGB4
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
871 if (UNTAG_Bool(REGB4
)) {
872 REGB4
= TAG_Bool(false);
875 REGB4
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[10])(fra
.me
.REG
[10], NIT_NULL
);
879 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
880 if (UNTAG_Bool(REGB3
)) {
881 /* ./compiling//table_computation.nit:187 */
882 CALL_compiling___table_computation___CompiledClass___id__eq(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB0
);
883 /* ./compiling//table_computation.nit:188 */
885 /* ./../lib/standard//kernel.nit:220 */
886 REGB3
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB3
));
887 /* ./compiling//table_computation.nit:188 */
890 /* ./compiling//table_computation.nit:190 */
891 CALL_compiling___table_computation___CompiledClass___id__eq(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB1
);
892 /* ./compiling//table_computation.nit:191 */
894 /* ./../lib/standard//kernel.nit:218 */
895 REGB3
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB3
));
896 /* ./compiling//table_computation.nit:191 */
899 /* ./compiling//table_computation.nit:195 */
900 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
901 fra
.me
.REG
[8] = CALL_metamodel___partial_order___PartialOrderElement___direct_smallers(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
902 REGB3
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
903 if (UNTAG_Bool(REGB3
)) {
904 /* ./compiling//table_computation.nit:196 */
905 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[7]);
907 /* ./compiling//table_computation.nit:200 */
908 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
909 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
910 /* ./compiling//table_computation.nit:201 */
911 REGB3
= TAG_Bool(VAL_ISA(fra
.me
.REG
[7], COLOR_metamodel___abstractmetamodel___MMConcreteClass
, ID_metamodel___abstractmetamodel___MMConcreteClass
)) /*cast MMConcreteClass*/;
912 if (UNTAG_Bool(REGB3
)) {
914 nit_abort("Assert failed", NULL
, LOCATE_compiling___table_computation
, 201);
916 /* ./compiling//table_computation.nit:202 */
917 fra
.me
.REG
[7] = CALL_compiling___table_computation___MMConcreteClass___class_color_pos(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
918 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[7]);
919 /* ./../lib/standard//collection//array.nit:239 */
921 /* ./../lib/standard//kernel.nit:218 */
922 REGB3
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB3
));
923 /* ./../lib/standard//collection//array.nit:239 */
926 /* ./../lib/standard//collection//array.nit:237 */
931 /* ./compiling//table_computation.nit:206 */
932 fra
.me
.REG
[6] = NEW_HashSet_standard___collection___hash_collection___HashSet___init();
933 /* ./compiling//table_computation.nit:207 */
934 fra
.me
.REG
[5] = NEW_HashSet_standard___collection___hash_collection___HashSet___init();
935 /* ./../lib/standard//collection//array.nit:234 */
937 /* ./../lib/standard//collection//array.nit:235 */
938 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
939 if (UNTAG_Bool(REGB1
)) {
941 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 235);
943 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
944 /* ./../lib/standard//collection//array.nit:236 */
945 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[1]);
946 /* ./../lib/standard//collection//array.nit:237 */
948 /* ./../lib/standard//collection//array.nit:23 */
949 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
950 if (UNTAG_Bool(REGB1
)) {
952 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
954 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
955 /* ./../lib/standard//kernel.nit:215 */
956 REGB1
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB1
));
957 /* ./../lib/standard//collection//array.nit:237 */
958 if (UNTAG_Bool(REGB1
)) {
959 /* ./../lib/standard//collection//array.nit:238 */
960 REGB1
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
961 if (UNTAG_Bool(REGB1
)) {
962 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 238);
964 /* ./../lib/standard//collection//array.nit:654 */
965 fra
.me
.REG
[8] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB2
)];
966 /* ./compiling//table_computation.nit:209 */
968 fra
.me
.REG
[10] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
969 fra
.me
.REG
[10] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
970 /* ./../lib/standard//collection//array.nit:23 */
971 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[10])!=NIT_NULL
);
972 if (UNTAG_Bool(REGB1
)) {
974 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
976 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[10]);
977 /* ./compiling//table_computation.nit:209 */
979 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB0
));
980 if (UNTAG_Bool(REGB3
)) {
982 /* ./../lib/standard//kernel.nit:210 */
983 REGB0
= TAG_Bool((REGB1
)==(REGB0
));
984 /* ./compiling//table_computation.nit:209 */
987 if (UNTAG_Bool(REGB3
)) {
988 /* ./compiling//table_computation.nit:210 */
989 fra
.me
.REG
[10] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
990 fra
.me
.REG
[10] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
991 fra
.me
.REG
[10] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
992 fra
.me
.REG
[8] = fra
.me
.REG
[10];
994 /* ./compiling//table_computation.nit:209 */
999 /* ./compiling//table_computation.nit:212 */
1000 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[8]);
1001 /* ./compiling//table_computation.nit:213 */
1002 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1003 fra
.me
.REG
[8] = CALL_metamodel___partial_order___PartialOrderElement___greaters_and_self(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1004 CALL_standard___collection___abstract_collection___SimpleCollection___add_all(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[8]);
1005 /* ./../lib/standard//collection//array.nit:239 */
1007 /* ./../lib/standard//kernel.nit:218 */
1008 REGB3
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB3
));
1009 /* ./../lib/standard//collection//array.nit:239 */
1012 /* ./../lib/standard//collection//array.nit:237 */
1017 /* ./compiling//table_computation.nit:218 */
1019 CALL_compiling___table_computation___Program___colorize(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2], fra
.me
.REG
[6], REGB2
);
1020 /* ./compiling//table_computation.nit:221 */
1022 /* ./../lib/standard//collection//array.nit:231 */
1023 fra
.me
.REG
[7] = fra
.me
.REG
[4];
1024 /* ./../lib/standard//collection//array.nit:234 */
1026 /* ./../lib/standard//collection//array.nit:235 */
1027 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
1028 if (UNTAG_Bool(REGB0
)) {
1030 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 235);
1032 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
1033 /* ./../lib/standard//collection//array.nit:236 */
1034 fra
.me
.REG
[1] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
1035 /* ./../lib/standard//collection//array.nit:237 */
1037 /* ./../lib/standard//collection//array.nit:23 */
1038 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
1039 if (UNTAG_Bool(REGB0
)) {
1041 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
1043 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
1044 /* ./../lib/standard//kernel.nit:215 */
1045 REGB0
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB0
));
1046 /* ./../lib/standard//collection//array.nit:237 */
1047 if (UNTAG_Bool(REGB0
)) {
1048 /* ./../lib/standard//collection//array.nit:238 */
1049 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1050 if (UNTAG_Bool(REGB0
)) {
1051 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 238);
1053 /* ./../lib/standard//collection//array.nit:654 */
1054 fra
.me
.REG
[8] = ((Nit_NativeArray
)fra
.me
.REG
[1])->val
[UNTAG_Int(REGB3
)];
1055 /* ./compiling//table_computation.nit:223 */
1056 fra
.me
.REG
[10] = CALL_compiling___table_computation___Program___compiled_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1057 fra
.me
.REG
[9] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1058 fra
.me
.REG
[9] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[9]);
1059 /* ./compiling//table_computation.nit:224 */
1060 REGB0
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[8]);
1061 if (UNTAG_Bool(REGB0
)) {
1062 /* ./compiling//table_computation.nit:226 */
1063 fra
.me
.REG
[10] = CALL_compiling___table_computation___CompiledClass___class_table(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1064 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]);
1065 /* ./compiling//table_computation.nit:227 */
1066 fra
.me
.REG
[10] = CALL_compiling___table_computation___CompiledClass___class_table(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1067 /* ./../lib/standard//collection//array.nit:23 */
1068 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[10])!=NIT_NULL
);
1069 if (UNTAG_Bool(REGB0
)) {
1071 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
1073 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[10]);
1074 /* ./../lib/standard//kernel.nit:215 */
1075 REGB0
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB0
));
1076 /* ./compiling//table_computation.nit:227 */
1077 if (UNTAG_Bool(REGB0
)) {
1078 fra
.me
.REG
[10] = CALL_compiling___table_computation___CompiledClass___class_table(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1079 /* ./../lib/standard//collection//array.nit:23 */
1080 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[10])!=NIT_NULL
);
1081 if (UNTAG_Bool(REGB0
)) {
1083 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
1085 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[10]);
1086 /* ./compiling//table_computation.nit:227 */
1090 /* ./compiling//table_computation.nit:230 */
1091 fra
.me
.REG
[10] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1092 fra
.me
.REG
[10] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1093 fra
.me
.REG
[10] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1094 /* ./compiling//table_computation.nit:231 */
1095 fra
.me
.REG
[11] = CALL_compiling___table_computation___Program___compiled_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1096 fra
.me
.REG
[10] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1097 fra
.me
.REG
[10] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[10]);
1098 /* ./compiling//table_computation.nit:232 */
1099 fra
.me
.REG
[11] = CALL_compiling___table_computation___CompiledClass___class_table(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1100 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
1101 if (UNTAG_Bool(REGB0
)) {
1103 nit_abort("Assert failed", NULL
, LOCATE_compiling___table_computation
, 232);
1105 /* ./compiling//table_computation.nit:233 */
1106 fra
.me
.REG
[11] = CALL_compiling___table_computation___CompiledClass___class_table(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1107 fra
.me
.REG
[10] = CALL_compiling___table_computation___CompiledClass___class_table(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1108 CALL_standard___collection___abstract_collection___SimpleCollection___add_all(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[10]);
1109 /* ./compiling//table_computation.nit:234 */
1110 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1111 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1112 /* ./compiling//table_computation.nit:235 */
1113 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[8], COLOR_metamodel___abstractmetamodel___MMConcreteClass
, ID_metamodel___abstractmetamodel___MMConcreteClass
)) /*cast MMConcreteClass*/;
1114 if (UNTAG_Bool(REGB0
)) {
1116 nit_abort("Assert failed", NULL
, LOCATE_compiling___table_computation
, 235);
1118 /* ./compiling//table_computation.nit:236 */
1119 fra
.me
.REG
[8] = CALL_compiling___table_computation___MMConcreteClass___class_color_pos(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1120 /* ./compiling//table_computation.nit:237 */
1121 fra
.me
.REG
[10] = CALL_compiling___table_computation___CompiledClass___class_table(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1122 /* ./../lib/standard//collection//array.nit:23 */
1123 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[10])!=NIT_NULL
);
1124 if (UNTAG_Bool(REGB0
)) {
1126 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
1128 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[10]);
1129 /* ./compiling//table_computation.nit:238 */
1130 fra
.me
.REG
[10] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1131 CALL_compiling___table_computation___ColorContext___color__eq(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8], REGB0
);
1132 /* ./compiling//table_computation.nit:239 */
1133 fra
.me
.REG
[9] = CALL_compiling___table_computation___CompiledClass___class_table(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1134 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[8]);
1135 /* ./../lib/standard//kernel.nit:215 */
1136 REGB1
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB0
));
1137 /* ./compiling//table_computation.nit:240 */
1138 if (UNTAG_Bool(REGB1
)) {
1142 /* ./../lib/standard//collection//array.nit:239 */
1144 /* ./../lib/standard//kernel.nit:218 */
1145 REGB0
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB0
));
1146 /* ./../lib/standard//collection//array.nit:239 */
1149 /* ./../lib/standard//collection//array.nit:237 */
1154 /* ./compiling//table_computation.nit:243 */
1155 fra
.me
.REG
[1] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1157 /* ./../lib/standard//kernel.nit:218 */
1158 REGB3
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB3
));
1159 /* ./compiling//table_computation.nit:243 */
1160 CALL_compiling___table_computation___TableInformation___max_class_table_length__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB3
);
1161 /* ./../lib/standard//collection//array.nit:231 */
1162 fra
.me
.REG
[1] = fra
.me
.REG
[4];
1163 /* ./../lib/standard//collection//array.nit:234 */
1165 /* ./../lib/standard//collection//array.nit:235 */
1166 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1167 if (UNTAG_Bool(REGB0
)) {
1169 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 235);
1171 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1172 /* ./../lib/standard//collection//array.nit:236 */
1173 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[1]);
1174 /* ./../lib/standard//collection//array.nit:237 */
1176 /* ./../lib/standard//collection//array.nit:23 */
1177 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1178 if (UNTAG_Bool(REGB0
)) {
1180 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
1182 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1183 /* ./../lib/standard//kernel.nit:215 */
1184 REGB0
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB0
));
1185 /* ./../lib/standard//collection//array.nit:237 */
1186 if (UNTAG_Bool(REGB0
)) {
1187 /* ./../lib/standard//collection//array.nit:238 */
1188 REGB0
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
1189 if (UNTAG_Bool(REGB0
)) {
1190 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 238);
1192 /* ./../lib/standard//collection//array.nit:654 */
1193 fra
.me
.REG
[8] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB3
)];
1194 /* ./compiling//table_computation.nit:247 */
1195 fra
.me
.REG
[9] = CALL_compiling___table_computation___Program___compiled_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1196 fra
.me
.REG
[10] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1197 fra
.me
.REG
[10] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
1198 /* ./compiling//table_computation.nit:248 */
1199 fra
.me
.REG
[9] = CALL_compiling___table_computation___CompiledClass___class_layout(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1200 /* ./compiling//table_computation.nit:249 */
1201 fra
.me
.REG
[10] = CALL_compiling___table_computation___CompiledClass___instance_layout(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1202 /* ./compiling//table_computation.nit:250 */
1203 fra
.me
.REG
[11] = CALL_metamodel___abstractmetamodel___MMLocalClass___crhe(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1204 fra
.me
.REG
[11] = CALL_metamodel___partial_order___PartialOrderElement___greaters_and_self(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
1205 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
));
1206 /* ./compiling//table_computation.nit:257 */
1207 REGB0
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[8]);
1208 if (UNTAG_Bool(REGB0
)) {
1209 /* ./compiling//table_computation.nit:258 */
1210 REGB0
= CALL_compiling___table_computation___TableElt___length(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1212 /* ./../lib/standard//kernel.nit:217 */
1213 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(REGB1
));
1214 /* ./compiling//table_computation.nit:258 */
1215 if (UNTAG_Bool(REGB1
)) {
1216 /* ./compiling//table_computation.nit:259 */
1217 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[9]);
1219 /* ./compiling//table_computation.nit:261 */
1220 REGB1
= CALL_compiling___table_computation___TableElt___length(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1222 /* ./../lib/standard//kernel.nit:217 */
1223 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)>UNTAG_Int(REGB0
));
1224 /* ./compiling//table_computation.nit:261 */
1225 if (UNTAG_Bool(REGB0
)) {
1226 /* ./compiling//table_computation.nit:262 */
1227 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[10]);
1230 /* ./../lib/standard//collection//array.nit:239 */
1232 /* ./../lib/standard//kernel.nit:218 */
1233 REGB0
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB0
));
1234 /* ./../lib/standard//collection//array.nit:239 */
1237 /* ./../lib/standard//collection//array.nit:237 */
1242 /* ./compiling//table_computation.nit:268 */
1244 /* ./../lib/standard//kernel.nit:218 */
1245 REGB3
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB3
));
1246 /* ./compiling//table_computation.nit:268 */
1247 CALL_compiling___table_computation___Program___colorize(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2], fra
.me
.REG
[6], REGB3
);
1248 /* ./compiling//table_computation.nit:269 */
1250 CALL_compiling___table_computation___Program___colorize(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3], fra
.me
.REG
[6], REGB3
);
1251 /* ./compiling//table_computation.nit:272 */
1252 fra
.me
.REG
[6] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1254 CALL_compiling___table_computation___TableInformation___max_class_table_length__eq(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB3
);
1255 /* ./../lib/standard//collection//array.nit:234 */
1257 /* ./../lib/standard//collection//array.nit:235 */
1258 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
1259 if (UNTAG_Bool(REGB0
)) {
1261 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 235);
1263 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
1264 /* ./../lib/standard//collection//array.nit:236 */
1265 fra
.me
.REG
[6] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[4]);
1266 /* ./../lib/standard//collection//array.nit:237 */
1268 /* ./../lib/standard//collection//array.nit:23 */
1269 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
1270 if (UNTAG_Bool(REGB0
)) {
1272 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
1274 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
1275 /* ./../lib/standard//kernel.nit:215 */
1276 REGB0
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB0
));
1277 /* ./../lib/standard//collection//array.nit:237 */
1278 if (UNTAG_Bool(REGB0
)) {
1279 /* ./../lib/standard//collection//array.nit:238 */
1280 REGB0
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
1281 if (UNTAG_Bool(REGB0
)) {
1282 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 238);
1284 /* ./../lib/standard//collection//array.nit:654 */
1285 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB3
)];
1286 /* ./compiling//table_computation.nit:274 */
1287 fra
.me
.REG
[1] = CALL_compiling___table_computation___Program___compiled_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1288 fra
.me
.REG
[10] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1289 fra
.me
.REG
[10] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[10]);
1290 /* ./compiling//table_computation.nit:275 */
1291 REGB0
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[7]);
1292 if (UNTAG_Bool(REGB0
)) {
1293 /* ./compiling//table_computation.nit:277 */
1294 fra
.me
.REG
[1] = CALL_compiling___table_computation___CompiledClass___class_table(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1295 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]);
1296 /* ./compiling//table_computation.nit:278 */
1297 fra
.me
.REG
[1] = CALL_compiling___table_computation___CompiledClass___instance_table(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1298 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]);
1300 /* ./compiling//table_computation.nit:281 */
1301 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1302 fra
.me
.REG
[1] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1303 fra
.me
.REG
[1] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1304 /* ./compiling//table_computation.nit:282 */
1305 fra
.me
.REG
[9] = CALL_compiling___table_computation___Program___compiled_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1306 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1307 fra
.me
.REG
[1] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[1]);
1308 /* ./compiling//table_computation.nit:283 */
1309 fra
.me
.REG
[9] = CALL_compiling___table_computation___CompiledClass___class_table(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1310 CALL_standard___collection___abstract_collection___RemovableCollection___clear(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1311 /* ./compiling//table_computation.nit:284 */
1312 fra
.me
.REG
[9] = CALL_compiling___table_computation___CompiledClass___class_table(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1313 fra
.me
.REG
[8] = CALL_compiling___table_computation___CompiledClass___class_table(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1314 CALL_standard___collection___abstract_collection___SimpleCollection___add_all(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[8]);
1315 /* ./compiling//table_computation.nit:285 */
1316 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1317 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1318 /* ./compiling//table_computation.nit:286 */
1319 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[7], COLOR_metamodel___abstractmetamodel___MMConcreteClass
, ID_metamodel___abstractmetamodel___MMConcreteClass
)) /*cast MMConcreteClass*/;
1320 if (UNTAG_Bool(REGB0
)) {
1322 nit_abort("Assert failed", NULL
, LOCATE_compiling___table_computation
, 286);
1324 /* ./compiling//table_computation.nit:287 */
1325 fra
.me
.REG
[7] = CALL_compiling___table_computation___MMConcreteClass___class_color_pos(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1326 /* ./compiling//table_computation.nit:288 */
1327 fra
.me
.REG
[8] = CALL_compiling___table_computation___CompiledClass___class_table(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1328 fra
.me
.REG
[9] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1329 REGB0
= CALL_compiling___table_computation___ColorContext___color(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[7]);
1330 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB0
, fra
.me
.REG
[7]);
1331 /* ./compiling//table_computation.nit:289 */
1333 fra
.me
.REG
[7] = CALL_compiling___table_computation___CompiledClass___class_table(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1334 /* ./../lib/standard//collection//array.nit:23 */
1335 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
1336 if (UNTAG_Bool(REGB0
)) {
1338 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
1340 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
1341 /* ./../lib/standard//kernel.nit:214 */
1342 REGB0
= TAG_Bool(UNTAG_Int(REGB0
)<=UNTAG_Int(REGB2
));
1343 /* ./compiling//table_computation.nit:289 */
1344 if (UNTAG_Bool(REGB0
)) {
1345 /* ./compiling//table_computation.nit:290 */
1346 fra
.me
.REG
[7] = CALL_compiling___table_computation___CompiledClass___class_table(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1347 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], NIT_NULL
);
1349 /* ./compiling//table_computation.nit:289 */
1354 /* ./compiling//table_computation.nit:292 */
1355 fra
.me
.REG
[7] = CALL_compiling___table_computation___CompiledClass___class_table(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1356 fra
.me
.REG
[8] = CALL_compiling___table_computation___CompiledClass___class_layout(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1357 CALL_compiling___table_computation___Program___append_to_table(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[7], fra
.me
.REG
[8]);
1358 /* ./compiling//table_computation.nit:293 */
1359 fra
.me
.REG
[8] = CALL_compiling___table_computation___CompiledClass___instance_table(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1360 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1361 if (UNTAG_Bool(REGB0
)) {
1363 nit_abort("Assert failed", NULL
, LOCATE_compiling___table_computation
, 293);
1365 /* ./compiling//table_computation.nit:294 */
1366 fra
.me
.REG
[8] = CALL_compiling___table_computation___CompiledClass___instance_table(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1367 fra
.me
.REG
[1] = CALL_compiling___table_computation___CompiledClass___instance_table(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1368 CALL_standard___collection___abstract_collection___SimpleCollection___add_all(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[1]);
1369 /* ./compiling//table_computation.nit:295 */
1370 fra
.me
.REG
[1] = CALL_compiling___table_computation___CompiledClass___instance_table(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1371 fra
.me
.REG
[10] = CALL_compiling___table_computation___CompiledClass___instance_layout(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1372 CALL_compiling___table_computation___Program___append_to_table(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[10]);
1374 /* ./../lib/standard//collection//array.nit:239 */
1376 /* ./../lib/standard//kernel.nit:218 */
1377 REGB0
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB0
));
1378 /* ./../lib/standard//collection//array.nit:239 */
1381 /* ./../lib/standard//collection//array.nit:237 */
1386 stack_frame_head
= fra
.me
.prev
;
1389 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
){
1390 struct {struct stack_frame_t me
;} fra
;
1393 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1394 fra
.me
.file
= LOCATE_compiling___table_computation
;
1396 fra
.me
.meth
= LOCATE_compiling___table_computation___Program___do_global_table_analysis
;
1397 fra
.me
.has_broke
= 0;
1398 fra
.me
.REG_size
= 1;
1399 fra
.me
.REG
[0] = NIT_NULL
;
1400 fra
.me
.closure_ctx
= closctx_param
;
1401 fra
.me
.closure_funs
= CREG
;
1403 CREG
[0] = clos_fun0
;
1404 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[4])(closctx
->REG
[4], fra
.me
.REG
[0]);
1405 stack_frame_head
= fra
.me
.prev
;
1408 val_t
OC_compiling___table_computation___Program___do_global_table_analysis_2(struct stack_frame_t
*closctx
, val_t p0
, val_t p1
){
1409 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1412 /* ./compiling//table_computation.nit:175 */
1413 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1414 fra
.me
.file
= LOCATE_compiling___table_computation
;
1416 fra
.me
.meth
= LOCATE_compiling___table_computation___Program___do_global_table_analysis
;
1417 fra
.me
.has_broke
= 0;
1418 fra
.me
.REG_size
= 2;
1419 fra
.me
.REG
[0] = NIT_NULL
;
1420 fra
.me
.REG
[1] = NIT_NULL
;
1423 REGB0
= CALL_metamodel___abstractmetamodel___MMLocalClass___total_order_compare(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1426 stack_frame_head
= fra
.me
.prev
;
1429 void OC_compiling___table_computation___Program___do_global_table_analysis_8(struct stack_frame_t
*closctx
, val_t p0
){
1430 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1433 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1434 fra
.me
.file
= LOCATE_compiling___table_computation
;
1436 fra
.me
.meth
= LOCATE_compiling___table_computation___Program___do_global_table_analysis
;
1437 fra
.me
.has_broke
= 0;
1438 fra
.me
.REG_size
= 2;
1439 fra
.me
.REG
[0] = NIT_NULL
;
1440 fra
.me
.REG
[1] = NIT_NULL
;
1442 /* ./compiling//table_computation.nit:251 */
1443 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_metamodel___abstractmetamodel___MMConcreteClass
, ID_metamodel___abstractmetamodel___MMConcreteClass
)) /*cast MMConcreteClass*/;
1444 if (UNTAG_Bool(REGB0
)) {
1445 /* ./compiling//table_computation.nit:252 */
1446 fra
.me
.REG
[1] = CALL_compiling___table_computation___MMConcreteClass___class_layout(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1447 CALL_compiling___table_computation___TableEltComposite___add(closctx
->REG
[9])(closctx
->REG
[9], fra
.me
.REG
[0], fra
.me
.REG
[1]);
1448 /* ./compiling//table_computation.nit:253 */
1449 fra
.me
.REG
[1] = CALL_compiling___table_computation___MMConcreteClass___instance_layout(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1450 CALL_compiling___table_computation___TableEltComposite___add(closctx
->REG
[10])(closctx
->REG
[10], fra
.me
.REG
[0], fra
.me
.REG
[1]);
1452 stack_frame_head
= fra
.me
.prev
;
1455 void compiling___table_computation___Program___colorize(val_t p0
, val_t p1
, val_t p2
, val_t p3
){
1456 struct {struct stack_frame_t me
; val_t MORE_REG
[10];} fra
;
1467 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1468 fra
.me
.file
= LOCATE_compiling___table_computation
;
1470 fra
.me
.meth
= LOCATE_compiling___table_computation___Program___colorize
;
1471 fra
.me
.has_broke
= 0;
1472 fra
.me
.REG_size
= 11;
1473 fra
.me
.REG
[0] = NIT_NULL
;
1474 fra
.me
.REG
[1] = NIT_NULL
;
1475 fra
.me
.REG
[2] = NIT_NULL
;
1476 fra
.me
.REG
[3] = NIT_NULL
;
1477 fra
.me
.REG
[4] = NIT_NULL
;
1478 fra
.me
.REG
[5] = NIT_NULL
;
1479 fra
.me
.REG
[6] = NIT_NULL
;
1480 fra
.me
.REG
[7] = NIT_NULL
;
1481 fra
.me
.REG
[8] = NIT_NULL
;
1482 fra
.me
.REG
[9] = NIT_NULL
;
1483 fra
.me
.REG
[10] = NIT_NULL
;
1488 /* ./compiling//table_computation.nit:303 */
1489 fra
.me
.REG
[3] = NEW_HashMap_standard___collection___hash_collection___HashMap___init();
1490 /* ./compiling//table_computation.nit:304 */
1491 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___init();
1492 /* ./../lib/standard//collection//array.nit:234 */
1494 /* ./../lib/standard//collection//array.nit:235 */
1495 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1496 if (UNTAG_Bool(REGB2
)) {
1498 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 235);
1500 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1501 /* ./../lib/standard//collection//array.nit:236 */
1502 fra
.me
.REG
[5] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[1]);
1503 /* ./../lib/standard//collection//array.nit:237 */
1505 /* ./../lib/standard//collection//array.nit:23 */
1506 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1507 if (UNTAG_Bool(REGB2
)) {
1509 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
1511 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1512 /* ./../lib/standard//kernel.nit:215 */
1513 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
1514 /* ./../lib/standard//collection//array.nit:237 */
1515 if (UNTAG_Bool(REGB2
)) {
1516 /* ./../lib/standard//collection//array.nit:238 */
1517 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
1518 if (UNTAG_Bool(REGB2
)) {
1519 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 238);
1521 /* ./../lib/standard//collection//array.nit:654 */
1522 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB1
)];
1523 /* ./compiling//table_computation.nit:306 */
1525 /* ./../lib/standard//kernel.nit:219 */
1526 REGB2
= TAG_Int(-UNTAG_Int(REGB2
));
1527 /* ./compiling//table_computation.nit:307 */
1528 REGB3
= CALL_compiling___table_computation___TableElt___length(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1529 /* ./compiling//table_computation.nit:308 */
1530 fra
.me
.REG
[7] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1531 REGB4
= CALL_compiling___table_computation___ColorContext___has_color(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
1532 if (UNTAG_Bool(REGB4
)) {
1533 /* ./compiling//table_computation.nit:309 */
1534 fra
.me
.REG
[7] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1535 REGB4
= CALL_compiling___table_computation___ColorContext___color(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
1538 /* ./compiling//table_computation.nit:311 */
1539 CALL_standard___collection___abstract_collection___RemovableCollection___clear(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1540 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
));
1541 /* ./compiling//table_computation.nit:317 */
1543 /* ./compiling//table_computation.nit:318 */
1545 REGB5
= TAG_Bool(IS_EQUAL_OO(REGB4
,REGB2
));
1546 if (UNTAG_Bool(REGB5
)) {
1548 /* ./../lib/standard//kernel.nit:210 */
1549 REGB6
= TAG_Bool((REGB4
)==(REGB2
));
1550 /* ./compiling//table_computation.nit:318 */
1553 REGB5
= TAG_Bool(!UNTAG_Bool(REGB5
));
1554 if (UNTAG_Bool(REGB5
)) {
1555 /* ./compiling//table_computation.nit:319 */
1557 /* ./../lib/standard//collection//array.nit:231 */
1558 fra
.me
.REG
[7] = fra
.me
.REG
[4];
1559 /* ./../lib/standard//collection//array.nit:234 */
1561 /* ./../lib/standard//collection//array.nit:235 */
1562 REGB6
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
1563 if (UNTAG_Bool(REGB6
)) {
1565 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 235);
1567 REGB6
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
1568 /* ./../lib/standard//collection//array.nit:236 */
1569 fra
.me
.REG
[8] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
1570 /* ./../lib/standard//collection//array.nit:237 */
1572 /* ./../lib/standard//collection//array.nit:23 */
1573 REGB6
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
1574 if (UNTAG_Bool(REGB6
)) {
1576 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
1578 REGB6
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
1579 /* ./../lib/standard//kernel.nit:215 */
1580 REGB6
= TAG_Bool(UNTAG_Int(REGB5
)<UNTAG_Int(REGB6
));
1581 /* ./../lib/standard//collection//array.nit:237 */
1582 if (UNTAG_Bool(REGB6
)) {
1583 /* ./../lib/standard//collection//array.nit:238 */
1584 REGB6
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
1585 if (UNTAG_Bool(REGB6
)) {
1586 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 238);
1588 /* ./../lib/standard//collection//array.nit:654 */
1589 fra
.me
.REG
[9] = ((Nit_NativeArray
)fra
.me
.REG
[8])->val
[UNTAG_Int(REGB5
)];
1590 /* ./compiling//table_computation.nit:321 */
1592 /* ./compiling//table_computation.nit:322 */
1594 /* ./../lib/standard//kernel.nit:215 */
1595 REGB7
= TAG_Bool(UNTAG_Int(REGB6
)<UNTAG_Int(REGB3
));
1596 /* ./compiling//table_computation.nit:322 */
1597 if (UNTAG_Bool(REGB7
)) {
1598 /* ./../lib/standard//kernel.nit:218 */
1599 REGB7
= TAG_Int(UNTAG_Int(REGB4
)+UNTAG_Int(REGB6
));
1600 /* ./compiling//table_computation.nit:323 */
1601 REGB7
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB7
);
1602 if (UNTAG_Bool(REGB7
)) {
1603 /* ./../lib/standard//kernel.nit:218 */
1604 REGB7
= TAG_Int(UNTAG_Int(REGB4
)+UNTAG_Int(REGB6
));
1605 /* ./compiling//table_computation.nit:323 */
1606 fra
.me
.REG
[10] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB7
);
1607 REGB7
= CALL_compiling___table_computation___Program___free_color(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[10], fra
.me
.REG
[9]);
1608 REGB7
= TAG_Bool(!UNTAG_Bool(REGB7
));
1610 REGB8
= TAG_Bool(false);
1613 if (UNTAG_Bool(REGB7
)) {
1614 /* ./../lib/standard//kernel.nit:218 */
1615 REGB7
= TAG_Int(UNTAG_Int(REGB4
)+UNTAG_Int(REGB6
));
1616 /* ./compiling//table_computation.nit:324 */
1618 /* ./../lib/standard//kernel.nit:218 */
1619 REGB8
= TAG_Int(UNTAG_Int(REGB7
)+UNTAG_Int(REGB8
));
1620 /* ./compiling//table_computation.nit:324 */
1622 /* ./compiling//table_computation.nit:325 */
1626 /* ./compiling//table_computation.nit:327 */
1628 /* ./../lib/standard//kernel.nit:218 */
1629 REGB8
= TAG_Int(UNTAG_Int(REGB6
)+UNTAG_Int(REGB8
));
1630 /* ./compiling//table_computation.nit:327 */
1634 /* ./compiling//table_computation.nit:322 */
1639 /* ./../lib/standard//collection//array.nit:239 */
1641 /* ./../lib/standard//kernel.nit:218 */
1642 REGB6
= TAG_Int(UNTAG_Int(REGB5
)+UNTAG_Int(REGB6
));
1643 /* ./../lib/standard//collection//array.nit:239 */
1646 /* ./../lib/standard//collection//array.nit:237 */
1652 /* ./compiling//table_computation.nit:318 */
1657 /* ./compiling//table_computation.nit:332 */
1658 fra
.me
.REG
[8] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1659 CALL_compiling___table_computation___ColorContext___color__eq(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[6], REGB2
);
1661 /* ./compiling//table_computation.nit:334 */
1663 /* ./../lib/standard//kernel.nit:335 */
1665 /* ./../lib/standard//kernel.nit:215 */
1666 REGB5
= TAG_Bool(UNTAG_Int(REGB4
)<UNTAG_Int(REGB3
));
1667 /* ./../lib/standard//kernel.nit:335 */
1668 if (UNTAG_Bool(REGB5
)) {
1669 /* ./compiling//table_computation.nit:334 */
1671 /* ./../lib/standard//kernel.nit:218 */
1672 REGB6
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB5
));
1673 /* ./compiling//table_computation.nit:335 */
1674 REGB6
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB6
);
1675 if (UNTAG_Bool(REGB6
)) {
1676 /* ./../lib/standard//kernel.nit:218 */
1677 REGB6
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB5
));
1678 /* ./compiling//table_computation.nit:336 */
1679 fra
.me
.REG
[8] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB6
);
1680 REGB6
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
1681 if (UNTAG_Bool(REGB6
)) {
1682 nit_abort("Reciever is null", NULL
, LOCATE_compiling___table_computation
, 336);
1684 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[6]);
1686 /* ./../lib/standard//kernel.nit:218 */
1687 REGB5
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB5
));
1688 /* ./compiling//table_computation.nit:338 */
1690 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB6
);
1691 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[6]);
1692 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB5
, fra
.me
.REG
[8]);
1694 /* ./../lib/standard//kernel.nit:337 */
1696 /* ./../lib/standard//kernel.nit:218 */
1697 REGB5
= TAG_Int(UNTAG_Int(REGB4
)+UNTAG_Int(REGB5
));
1698 /* ./../lib/standard//kernel.nit:337 */
1701 /* ./../lib/standard//kernel.nit:335 */
1706 /* ./../lib/standard//collection//array.nit:239 */
1708 /* ./../lib/standard//kernel.nit:218 */
1709 REGB4
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB4
));
1710 /* ./../lib/standard//collection//array.nit:239 */
1713 /* ./../lib/standard//collection//array.nit:237 */
1718 stack_frame_head
= fra
.me
.prev
;
1721 void OC_compiling___table_computation___Program___colorize_1(struct stack_frame_t
*closctx
, val_t p0
){
1722 struct {struct stack_frame_t me
;} fra
;
1725 /* ./compiling//table_computation.nit:312 */
1726 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1727 fra
.me
.file
= LOCATE_compiling___table_computation
;
1729 fra
.me
.meth
= LOCATE_compiling___table_computation___Program___colorize
;
1730 fra
.me
.has_broke
= 0;
1731 fra
.me
.REG_size
= 1;
1732 fra
.me
.REG
[0] = NIT_NULL
;
1734 /* ./compiling//table_computation.nit:313 */
1735 REGB0
= CALL_compiling___table_computation___TableElt___is_related_to(closctx
->REG
[6])(closctx
->REG
[6], fra
.me
.REG
[0]);
1736 if (UNTAG_Bool(REGB0
)) {
1737 /* ./compiling//table_computation.nit:314 */
1738 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[4])(closctx
->REG
[4], fra
.me
.REG
[0]);
1740 stack_frame_head
= fra
.me
.prev
;
1743 val_t
compiling___table_computation___Program___free_color(val_t p0
, val_t p1
, val_t p2
){
1744 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1749 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1750 fra
.me
.file
= LOCATE_compiling___table_computation
;
1752 fra
.me
.meth
= LOCATE_compiling___table_computation___Program___free_color
;
1753 fra
.me
.has_broke
= 0;
1754 fra
.me
.REG_size
= 4;
1755 fra
.me
.REG
[0] = NIT_NULL
;
1756 fra
.me
.REG
[1] = NIT_NULL
;
1757 fra
.me
.REG
[2] = NIT_NULL
;
1758 fra
.me
.REG
[3] = NIT_NULL
;
1762 /* ./../lib/standard//collection//array.nit:234 */
1764 /* ./../lib/standard//collection//array.nit:235 */
1765 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1766 if (UNTAG_Bool(REGB1
)) {
1768 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 235);
1770 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1771 /* ./../lib/standard//collection//array.nit:236 */
1772 fra
.me
.REG
[0] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[1]);
1773 /* ./../lib/standard//collection//array.nit:237 */
1775 /* ./../lib/standard//collection//array.nit:23 */
1776 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1777 if (UNTAG_Bool(REGB1
)) {
1779 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
1781 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1782 /* ./../lib/standard//kernel.nit:215 */
1783 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1784 /* ./../lib/standard//collection//array.nit:237 */
1785 if (UNTAG_Bool(REGB1
)) {
1786 /* ./../lib/standard//collection//array.nit:238 */
1787 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1788 if (UNTAG_Bool(REGB1
)) {
1789 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 238);
1791 /* ./../lib/standard//collection//array.nit:654 */
1792 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[0])->val
[UNTAG_Int(REGB0
)];
1793 /* ./compiling//table_computation.nit:347 */
1794 REGB1
= CALL_compiling___table_computation___TableElt___is_related_to(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
1795 if (UNTAG_Bool(REGB1
)) {
1796 /* ./compiling//table_computation.nit:348 */
1797 REGB1
= TAG_Bool(false);
1800 /* ./../lib/standard//collection//array.nit:239 */
1802 /* ./../lib/standard//kernel.nit:218 */
1803 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
1804 /* ./../lib/standard//collection//array.nit:239 */
1807 /* ./../lib/standard//collection//array.nit:237 */
1812 /* ./compiling//table_computation.nit:351 */
1813 REGB0
= TAG_Bool(true);
1817 stack_frame_head
= fra
.me
.prev
;
1820 void compiling___table_computation___Program___append_to_table(val_t p0
, val_t p1
, val_t p2
){
1821 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
1826 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1827 fra
.me
.file
= LOCATE_compiling___table_computation
;
1829 fra
.me
.meth
= LOCATE_compiling___table_computation___Program___append_to_table
;
1830 fra
.me
.has_broke
= 0;
1831 fra
.me
.REG_size
= 5;
1832 fra
.me
.REG
[0] = NIT_NULL
;
1833 fra
.me
.REG
[1] = NIT_NULL
;
1834 fra
.me
.REG
[2] = NIT_NULL
;
1835 fra
.me
.REG
[3] = NIT_NULL
;
1836 fra
.me
.REG
[4] = NIT_NULL
;
1840 /* ./compiling//table_computation.nit:356 */
1842 REGB1
= CALL_compiling___table_computation___TableElt___length(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1843 /* ./../lib/standard//kernel.nit:335 */
1845 /* ./../lib/standard//kernel.nit:215 */
1846 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1847 /* ./../lib/standard//kernel.nit:335 */
1848 if (UNTAG_Bool(REGB2
)) {
1849 /* ./compiling//table_computation.nit:356 */
1851 /* ./compiling//table_computation.nit:357 */
1852 fra
.me
.REG
[3] = CALL_compiling___table_computation___TableElt___item(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB2
);
1853 /* ./compiling//table_computation.nit:358 */
1854 fra
.me
.REG
[4] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1855 /* ./../lib/standard//collection//array.nit:23 */
1856 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1857 if (UNTAG_Bool(REGB2
)) {
1859 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
1861 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1862 /* ./compiling//table_computation.nit:358 */
1863 CALL_compiling___table_computation___ColorContext___color__eq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3], REGB2
);
1864 /* ./compiling//table_computation.nit:359 */
1865 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1866 /* ./../lib/standard//kernel.nit:337 */
1868 /* ./../lib/standard//kernel.nit:218 */
1869 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
1870 /* ./../lib/standard//kernel.nit:337 */
1873 /* ./../lib/standard//kernel.nit:335 */
1878 stack_frame_head
= fra
.me
.prev
;
1881 void compiling___table_computation___Program___build_tables_in(val_t p0
, val_t p1
, val_t p2
, val_t p3
){
1882 struct {struct stack_frame_t me
; val_t MORE_REG
[7];} fra
;
1889 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1890 fra
.me
.file
= LOCATE_compiling___table_computation
;
1892 fra
.me
.meth
= LOCATE_compiling___table_computation___Program___build_tables_in
;
1893 fra
.me
.has_broke
= 0;
1894 fra
.me
.REG_size
= 8;
1895 fra
.me
.REG
[0] = NIT_NULL
;
1896 fra
.me
.REG
[1] = NIT_NULL
;
1897 fra
.me
.REG
[2] = NIT_NULL
;
1898 fra
.me
.REG
[3] = NIT_NULL
;
1899 fra
.me
.REG
[4] = NIT_NULL
;
1900 fra
.me
.REG
[5] = NIT_NULL
;
1901 fra
.me
.REG
[6] = NIT_NULL
;
1902 fra
.me
.REG
[7] = NIT_NULL
;
1907 /* ./compiling//table_computation.nit:365 */
1908 fra
.me
.REG
[4] = NEW_HashMap_standard___collection___hash_collection___HashMap___init();
1909 /* ./compiling//table_computation.nit:366 */
1911 /* ./../lib/standard//collection//array.nit:234 */
1913 /* ./../lib/standard//collection//array.nit:235 */
1914 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1915 if (UNTAG_Bool(REGB2
)) {
1917 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 235);
1919 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1920 /* ./../lib/standard//collection//array.nit:236 */
1921 fra
.me
.REG
[5] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[3]);
1922 /* ./../lib/standard//collection//array.nit:237 */
1924 /* ./../lib/standard//collection//array.nit:23 */
1925 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1926 if (UNTAG_Bool(REGB2
)) {
1928 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
1930 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1931 /* ./../lib/standard//kernel.nit:215 */
1932 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
1933 /* ./../lib/standard//collection//array.nit:237 */
1934 if (UNTAG_Bool(REGB2
)) {
1935 /* ./../lib/standard//collection//array.nit:238 */
1936 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
1937 if (UNTAG_Bool(REGB2
)) {
1938 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 238);
1940 /* ./../lib/standard//collection//array.nit:654 */
1941 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB1
)];
1942 /* ./compiling//table_computation.nit:368 */
1943 REGB2
= CALL_compiling___table_computation___TableElt___is_related_to(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
1944 if (UNTAG_Bool(REGB2
)) {
1945 /* ./compiling//table_computation.nit:369 */
1946 fra
.me
.REG
[7] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1947 REGB2
= CALL_compiling___table_computation___ColorContext___color(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
1948 /* ./compiling//table_computation.nit:370 */
1949 REGB3
= CALL_compiling___table_computation___TableElt___length(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1950 /* ./../lib/standard//kernel.nit:218 */
1951 REGB3
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB3
));
1952 /* ./compiling//table_computation.nit:371 */
1953 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB2
, fra
.me
.REG
[6]);
1954 /* ./../lib/standard//kernel.nit:215 */
1955 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB3
));
1956 /* ./compiling//table_computation.nit:372 */
1957 if (UNTAG_Bool(REGB2
)) {
1958 /* ./compiling//table_computation.nit:373 */
1962 /* ./../lib/standard//collection//array.nit:239 */
1964 /* ./../lib/standard//kernel.nit:218 */
1965 REGB3
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB3
));
1966 /* ./../lib/standard//collection//array.nit:239 */
1969 /* ./../lib/standard//collection//array.nit:237 */
1974 /* ./compiling//table_computation.nit:377 */
1976 /* ./compiling//table_computation.nit:378 */
1978 /* ./../lib/standard//kernel.nit:215 */
1979 REGB3
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB0
));
1980 /* ./compiling//table_computation.nit:378 */
1981 if (UNTAG_Bool(REGB3
)) {
1982 /* ./compiling//table_computation.nit:379 */
1983 REGB3
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB1
);
1984 if (UNTAG_Bool(REGB3
)) {
1985 /* ./compiling//table_computation.nit:380 */
1986 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB1
);
1987 /* ./compiling//table_computation.nit:381 */
1989 REGB2
= CALL_compiling___table_computation___TableElt___length(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1990 /* ./../lib/standard//kernel.nit:335 */
1992 /* ./../lib/standard//kernel.nit:215 */
1993 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB2
));
1994 /* ./../lib/standard//kernel.nit:335 */
1995 if (UNTAG_Bool(REGB4
)) {
1996 /* ./compiling//table_computation.nit:381 */
1998 /* ./compiling//table_computation.nit:382 */
1999 fra
.me
.REG
[2] = CALL_compiling___table_computation___TableElt___item(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB4
);
2000 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB1
, fra
.me
.REG
[2]);
2001 /* ./compiling//table_computation.nit:383 */
2003 /* ./../lib/standard//kernel.nit:218 */
2004 REGB4
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB4
));
2005 /* ./compiling//table_computation.nit:383 */
2007 /* ./../lib/standard//kernel.nit:337 */
2009 /* ./../lib/standard//kernel.nit:218 */
2010 REGB4
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB4
));
2011 /* ./../lib/standard//kernel.nit:337 */
2014 /* ./../lib/standard//kernel.nit:335 */
2020 /* ./compiling//table_computation.nit:386 */
2021 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB1
, NIT_NULL
);
2022 /* ./compiling//table_computation.nit:387 */
2024 /* ./../lib/standard//kernel.nit:218 */
2025 REGB3
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB3
));
2026 /* ./compiling//table_computation.nit:387 */
2030 /* ./compiling//table_computation.nit:378 */
2035 stack_frame_head
= fra
.me
.prev
;
2038 val_t
compiling___table_computation___MMModule___local_table(val_t p0
){
2039 struct {struct stack_frame_t me
;} fra
;
2042 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2043 fra
.me
.file
= LOCATE_compiling___table_computation
;
2045 fra
.me
.meth
= LOCATE_compiling___table_computation___MMModule___local_table
;
2046 fra
.me
.has_broke
= 0;
2047 fra
.me
.REG_size
= 1;
2048 fra
.me
.REG
[0] = NIT_NULL
;
2050 /* ./compiling//table_computation.nit:394 */
2051 REGB0
= TAG_Bool(ATTR_compiling___table_computation___MMModule____local_table(fra
.me
.REG
[0])!=NIT_NULL
);
2052 if (UNTAG_Bool(REGB0
)) {
2054 nit_abort("Uninitialized attribute %s", "_local_table", LOCATE_compiling___table_computation
, 394);
2056 fra
.me
.REG
[0] = ATTR_compiling___table_computation___MMModule____local_table(fra
.me
.REG
[0]);
2057 stack_frame_head
= fra
.me
.prev
;
2058 return fra
.me
.REG
[0];
2060 void compiling___table_computation___MMModule___local_analysis(val_t p0
){
2061 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2063 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2064 fra
.me
.file
= LOCATE_compiling___table_computation
;
2066 fra
.me
.meth
= LOCATE_compiling___table_computation___MMModule___local_analysis
;
2067 fra
.me
.has_broke
= 0;
2068 fra
.me
.REG_size
= 2;
2069 fra
.me
.REG
[0] = NIT_NULL
;
2070 fra
.me
.REG
[1] = NIT_NULL
;
2072 /* ./compiling//table_computation.nit:400 */
2073 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMModule___local_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2074 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
));
2075 stack_frame_head
= fra
.me
.prev
;
2078 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
){
2079 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2083 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2084 fra
.me
.file
= LOCATE_compiling___table_computation
;
2086 fra
.me
.meth
= LOCATE_compiling___table_computation___MMModule___local_analysis
;
2087 fra
.me
.has_broke
= 0;
2088 fra
.me
.REG_size
= 2;
2089 fra
.me
.REG
[0] = NIT_NULL
;
2090 fra
.me
.REG
[1] = NIT_NULL
;
2091 fra
.me
.closure_ctx
= closctx_param
;
2092 fra
.me
.closure_funs
= CREG
;
2094 CREG
[0] = clos_fun0
;
2095 /* ./compiling//table_computation.nit:401 */
2096 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_metamodel___abstractmetamodel___MMConcreteClass
, ID_metamodel___abstractmetamodel___MMConcreteClass
)) /*cast MMConcreteClass*/;
2097 if (UNTAG_Bool(REGB0
)) {
2098 /* ./compiling//table_computation.nit:402 */
2099 REGB0
= TAG_Bool(ATTR_compiling___table_computation___MMModule____local_table(closctx
->REG
[0])!=NIT_NULL
);
2100 if (UNTAG_Bool(REGB0
)) {
2102 nit_abort("Uninitialized attribute %s", "_local_table", LOCATE_compiling___table_computation
, 402);
2104 fra
.me
.REG
[1] = ATTR_compiling___table_computation___MMModule____local_table(closctx
->REG
[0]);
2105 CALL_compiling___table_computation___MMConcreteClass___build_layout_in(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2107 stack_frame_head
= fra
.me
.prev
;
2110 void compiling___table_computation___AbsTableElt___init(val_t p0
, int* init_table
){
2111 int itpos2
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_compiling___table_computation___AbsTableElt
].i
;
2112 struct {struct stack_frame_t me
;} fra
;
2114 if (init_table
[itpos2
]) return;
2115 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2116 fra
.me
.file
= LOCATE_compiling___table_computation
;
2118 fra
.me
.meth
= LOCATE_compiling___table_computation___AbsTableElt___init
;
2119 fra
.me
.has_broke
= 0;
2120 fra
.me
.REG_size
= 0;
2121 stack_frame_head
= fra
.me
.prev
;
2122 init_table
[itpos2
] = 1;
2125 val_t
compiling___table_computation___TableElt___is_related_to(val_t p0
, val_t p1
){
2126 struct {struct stack_frame_t me
;} fra
;
2128 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2129 fra
.me
.file
= LOCATE_compiling___table_computation
;
2131 fra
.me
.meth
= LOCATE_compiling___table_computation___TableElt___is_related_to
;
2132 fra
.me
.has_broke
= 0;
2133 fra
.me
.REG_size
= 0;
2134 /* ./compiling//table_computation.nit:418 */
2135 nit_abort("Deferred method called", NULL
, LOCATE_compiling___table_computation
, 418);
2136 stack_frame_head
= fra
.me
.prev
;
2139 val_t
compiling___table_computation___TableElt___length(val_t p0
){
2140 struct {struct stack_frame_t me
;} fra
;
2143 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2144 fra
.me
.file
= LOCATE_compiling___table_computation
;
2146 fra
.me
.meth
= LOCATE_compiling___table_computation___TableElt___length
;
2147 fra
.me
.has_broke
= 0;
2148 fra
.me
.REG_size
= 1;
2149 fra
.me
.REG
[0] = NIT_NULL
;
2151 /* ./compiling//table_computation.nit:422 */
2155 stack_frame_head
= fra
.me
.prev
;
2158 val_t
compiling___table_computation___TableElt___item(val_t p0
, val_t p1
){
2159 struct {struct stack_frame_t me
;} fra
;
2162 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2163 fra
.me
.file
= LOCATE_compiling___table_computation
;
2165 fra
.me
.meth
= LOCATE_compiling___table_computation___TableElt___item
;
2166 fra
.me
.has_broke
= 0;
2167 fra
.me
.REG_size
= 1;
2168 fra
.me
.REG
[0] = NIT_NULL
;
2171 /* ./compiling//table_computation.nit:425 */
2174 stack_frame_head
= fra
.me
.prev
;
2175 return fra
.me
.REG
[0];
2177 val_t
compiling___table_computation___ModuleTableEltGroup___elements(val_t p0
){
2178 struct {struct stack_frame_t me
;} fra
;
2181 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2182 fra
.me
.file
= LOCATE_compiling___table_computation
;
2184 fra
.me
.meth
= LOCATE_compiling___table_computation___ModuleTableEltGroup___elements
;
2185 fra
.me
.has_broke
= 0;
2186 fra
.me
.REG_size
= 1;
2187 fra
.me
.REG
[0] = NIT_NULL
;
2189 /* ./compiling//table_computation.nit:437 */
2190 REGB0
= TAG_Bool(ATTR_compiling___table_computation___ModuleTableEltGroup____elements(fra
.me
.REG
[0])!=NIT_NULL
);
2191 if (UNTAG_Bool(REGB0
)) {
2193 nit_abort("Uninitialized attribute %s", "_elements", LOCATE_compiling___table_computation
, 437);
2195 fra
.me
.REG
[0] = ATTR_compiling___table_computation___ModuleTableEltGroup____elements(fra
.me
.REG
[0]);
2196 stack_frame_head
= fra
.me
.prev
;
2197 return fra
.me
.REG
[0];
2199 val_t
compiling___table_computation___TableEltProp___property(val_t p0
){
2200 struct {struct stack_frame_t me
;} fra
;
2203 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2204 fra
.me
.file
= LOCATE_compiling___table_computation
;
2206 fra
.me
.meth
= LOCATE_compiling___table_computation___TableEltProp___property
;
2207 fra
.me
.has_broke
= 0;
2208 fra
.me
.REG_size
= 1;
2209 fra
.me
.REG
[0] = NIT_NULL
;
2211 /* ./compiling//table_computation.nit:443 */
2212 REGB0
= TAG_Bool(ATTR_compiling___table_computation___TableEltProp____property(fra
.me
.REG
[0])!=NIT_NULL
);
2213 if (UNTAG_Bool(REGB0
)) {
2215 nit_abort("Uninitialized attribute %s", "_property", LOCATE_compiling___table_computation
, 443);
2217 fra
.me
.REG
[0] = ATTR_compiling___table_computation___TableEltProp____property(fra
.me
.REG
[0]);
2218 stack_frame_head
= fra
.me
.prev
;
2219 return fra
.me
.REG
[0];
2221 void compiling___table_computation___TableEltProp___init(val_t p0
, val_t p1
, int* init_table
){
2222 int itpos3
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_compiling___table_computation___TableEltProp
].i
;
2223 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2225 if (init_table
[itpos3
]) return;
2226 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2227 fra
.me
.file
= LOCATE_compiling___table_computation
;
2229 fra
.me
.meth
= LOCATE_compiling___table_computation___TableEltProp___init
;
2230 fra
.me
.has_broke
= 0;
2231 fra
.me
.REG_size
= 2;
2232 fra
.me
.REG
[0] = NIT_NULL
;
2233 fra
.me
.REG
[1] = NIT_NULL
;
2236 /* ./compiling//table_computation.nit:447 */
2237 ATTR_compiling___table_computation___TableEltProp____property(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2238 stack_frame_head
= fra
.me
.prev
;
2239 init_table
[itpos3
] = 1;
2242 val_t
compiling___table_computation___AbsTableEltClass___local_class(val_t p0
){
2243 struct {struct stack_frame_t me
;} fra
;
2246 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2247 fra
.me
.file
= LOCATE_compiling___table_computation
;
2249 fra
.me
.meth
= LOCATE_compiling___table_computation___AbsTableEltClass___local_class
;
2250 fra
.me
.has_broke
= 0;
2251 fra
.me
.REG_size
= 1;
2252 fra
.me
.REG
[0] = NIT_NULL
;
2254 /* ./compiling//table_computation.nit:469 */
2255 REGB0
= TAG_Bool(ATTR_compiling___table_computation___AbsTableEltClass____local_class(fra
.me
.REG
[0])!=NIT_NULL
);
2256 if (UNTAG_Bool(REGB0
)) {
2258 nit_abort("Uninitialized attribute %s", "_local_class", LOCATE_compiling___table_computation
, 469);
2260 fra
.me
.REG
[0] = ATTR_compiling___table_computation___AbsTableEltClass____local_class(fra
.me
.REG
[0]);
2261 stack_frame_head
= fra
.me
.prev
;
2262 return fra
.me
.REG
[0];
2264 void compiling___table_computation___AbsTableEltClass___init(val_t p0
, val_t p1
, int* init_table
){
2265 int itpos4
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_compiling___table_computation___AbsTableEltClass
].i
;
2266 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
2268 if (init_table
[itpos4
]) return;
2269 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2270 fra
.me
.file
= LOCATE_compiling___table_computation
;
2272 fra
.me
.meth
= LOCATE_compiling___table_computation___AbsTableEltClass___init
;
2273 fra
.me
.has_broke
= 0;
2274 fra
.me
.REG_size
= 3;
2275 fra
.me
.REG
[0] = NIT_NULL
;
2276 fra
.me
.REG
[1] = NIT_NULL
;
2277 fra
.me
.REG
[2] = NIT_NULL
;
2280 /* ./compiling//table_computation.nit:472 */
2281 fra
.me
.REG
[2] = fra
.me
.REG
[0];
2282 CALL_compiling___table_computation___AbsTableElt___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
2283 /* ./compiling//table_computation.nit:474 */
2284 ATTR_compiling___table_computation___AbsTableEltClass____local_class(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
2285 stack_frame_head
= fra
.me
.prev
;
2286 init_table
[itpos4
] = 1;
2289 val_t
compiling___table_computation___TableEltClass___is_related_to(val_t p0
, val_t p1
){
2290 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
2293 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2294 fra
.me
.file
= LOCATE_compiling___table_computation
;
2296 fra
.me
.meth
= LOCATE_compiling___table_computation___TableEltClass___is_related_to
;
2297 fra
.me
.has_broke
= 0;
2298 fra
.me
.REG_size
= 3;
2299 fra
.me
.REG
[0] = NIT_NULL
;
2300 fra
.me
.REG
[1] = NIT_NULL
;
2301 fra
.me
.REG
[2] = NIT_NULL
;
2304 /* ./compiling//table_computation.nit:484 */
2305 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2306 REGB0
= TAG_Bool(ATTR_compiling___table_computation___AbsTableEltClass____local_class(fra
.me
.REG
[0])!=NIT_NULL
);
2307 if (UNTAG_Bool(REGB0
)) {
2309 nit_abort("Uninitialized attribute %s", "_local_class", LOCATE_compiling___table_computation
, 484);
2311 fra
.me
.REG
[0] = ATTR_compiling___table_computation___AbsTableEltClass____local_class(fra
.me
.REG
[0]);
2312 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2313 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMModule_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2314 /* ./compiling//table_computation.nit:485 */
2315 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2316 REGB0
= CALL_metamodel___partial_order___PartialOrderElement_____leq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2319 stack_frame_head
= fra
.me
.prev
;
2322 val_t
compiling___table_computation___TableEltComposite___length(val_t p0
){
2323 struct {struct stack_frame_t me
;} fra
;
2326 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2327 fra
.me
.file
= LOCATE_compiling___table_computation
;
2329 fra
.me
.meth
= LOCATE_compiling___table_computation___TableEltComposite___length
;
2330 fra
.me
.has_broke
= 0;
2331 fra
.me
.REG_size
= 1;
2332 fra
.me
.REG
[0] = NIT_NULL
;
2334 /* ./compiling//table_computation.nit:515 */
2335 REGB0
= TAG_Bool(ATTR_compiling___table_computation___TableEltComposite____table(fra
.me
.REG
[0])!=NIT_NULL
);
2336 if (UNTAG_Bool(REGB0
)) {
2338 nit_abort("Uninitialized attribute %s", "_table", LOCATE_compiling___table_computation
, 515);
2340 fra
.me
.REG
[0] = ATTR_compiling___table_computation___TableEltComposite____table(fra
.me
.REG
[0]);
2341 /* ./../lib/standard//collection//array.nit:23 */
2342 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
2343 if (UNTAG_Bool(REGB0
)) {
2345 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
2347 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
2348 /* ./compiling//table_computation.nit:515 */
2351 stack_frame_head
= fra
.me
.prev
;
2354 val_t
compiling___table_computation___TableEltComposite___is_related_to(val_t p0
, val_t p1
){
2355 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2358 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2359 fra
.me
.file
= LOCATE_compiling___table_computation
;
2361 fra
.me
.meth
= LOCATE_compiling___table_computation___TableEltComposite___is_related_to
;
2362 fra
.me
.has_broke
= 0;
2363 fra
.me
.REG_size
= 2;
2364 fra
.me
.REG
[0] = NIT_NULL
;
2365 fra
.me
.REG
[1] = NIT_NULL
;
2368 /* ./compiling//table_computation.nit:516 */
2369 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2370 REGB0
= TAG_Bool(ATTR_compiling___table_computation___TableEltComposite____cc(fra
.me
.REG
[0])!=NIT_NULL
);
2371 if (UNTAG_Bool(REGB0
)) {
2373 nit_abort("Uninitialized attribute %s", "_cc", LOCATE_compiling___table_computation
, 516);
2375 fra
.me
.REG
[0] = ATTR_compiling___table_computation___TableEltComposite____cc(fra
.me
.REG
[0]);
2376 fra
.me
.REG
[0] = CALL_compiling___table_computation___CompiledClass___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2377 REGB0
= CALL_metamodel___partial_order___PartialOrderElement_____leq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2380 stack_frame_head
= fra
.me
.prev
;
2383 void compiling___table_computation___TableEltComposite___add(val_t p0
, val_t p1
, val_t p2
){
2384 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
2387 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2388 fra
.me
.file
= LOCATE_compiling___table_computation
;
2390 fra
.me
.meth
= LOCATE_compiling___table_computation___TableEltComposite___add
;
2391 fra
.me
.has_broke
= 0;
2392 fra
.me
.REG_size
= 5;
2393 fra
.me
.REG
[0] = NIT_NULL
;
2394 fra
.me
.REG
[1] = NIT_NULL
;
2395 fra
.me
.REG
[2] = NIT_NULL
;
2396 fra
.me
.REG
[3] = NIT_NULL
;
2397 fra
.me
.REG
[4] = NIT_NULL
;
2401 /* ./compiling//table_computation.nit:520 */
2402 REGB0
= TAG_Bool(ATTR_compiling___table_computation___TableEltComposite____offsets(fra
.me
.REG
[0])!=NIT_NULL
);
2403 if (UNTAG_Bool(REGB0
)) {
2405 nit_abort("Uninitialized attribute %s", "_offsets", LOCATE_compiling___table_computation
, 520);
2407 fra
.me
.REG
[3] = ATTR_compiling___table_computation___TableEltComposite____offsets(fra
.me
.REG
[0]);
2408 REGB0
= TAG_Bool(ATTR_compiling___table_computation___TableEltComposite____table(fra
.me
.REG
[0])!=NIT_NULL
);
2409 if (UNTAG_Bool(REGB0
)) {
2411 nit_abort("Uninitialized attribute %s", "_table", LOCATE_compiling___table_computation
, 520);
2413 fra
.me
.REG
[4] = ATTR_compiling___table_computation___TableEltComposite____table(fra
.me
.REG
[0]);
2414 /* ./../lib/standard//collection//array.nit:23 */
2415 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
2416 if (UNTAG_Bool(REGB0
)) {
2418 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
2420 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
2421 /* ./compiling//table_computation.nit:520 */
2422 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1], REGB0
);
2423 /* ./compiling//table_computation.nit:521 */
2424 REGB0
= TAG_Bool(ATTR_compiling___table_computation___TableEltComposite____table(fra
.me
.REG
[0])!=NIT_NULL
);
2425 if (UNTAG_Bool(REGB0
)) {
2427 nit_abort("Uninitialized attribute %s", "_table", LOCATE_compiling___table_computation
, 521);
2429 fra
.me
.REG
[0] = ATTR_compiling___table_computation___TableEltComposite____table(fra
.me
.REG
[0]);
2430 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
2431 stack_frame_head
= fra
.me
.prev
;
2434 val_t
compiling___table_computation___TableEltComposite___item(val_t p0
, val_t p1
){
2435 struct {struct stack_frame_t me
;} fra
;
2440 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2441 fra
.me
.file
= LOCATE_compiling___table_computation
;
2443 fra
.me
.meth
= LOCATE_compiling___table_computation___TableEltComposite___item
;
2444 fra
.me
.has_broke
= 0;
2445 fra
.me
.REG_size
= 1;
2446 fra
.me
.REG
[0] = NIT_NULL
;
2449 /* ./compiling//table_computation.nit:524 */
2450 REGB1
= TAG_Bool(ATTR_compiling___table_computation___TableEltComposite____table(fra
.me
.REG
[0])!=NIT_NULL
);
2451 if (UNTAG_Bool(REGB1
)) {
2453 nit_abort("Uninitialized attribute %s", "_table", LOCATE_compiling___table_computation
, 524);
2455 fra
.me
.REG
[0] = ATTR_compiling___table_computation___TableEltComposite____table(fra
.me
.REG
[0]);
2456 /* ./../lib/standard//collection//array.nit:245 */
2458 /* ./../lib/standard//kernel.nit:216 */
2459 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
2460 /* ./../lib/standard//collection//array.nit:245 */
2461 if (UNTAG_Bool(REGB1
)) {
2462 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
2463 if (UNTAG_Bool(REGB1
)) {
2465 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 245);
2467 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
2468 /* ./../lib/standard//kernel.nit:215 */
2469 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
2471 /* ./../lib/standard//collection//array.nit:245 */
2472 REGB2
= TAG_Bool(false);
2475 if (UNTAG_Bool(REGB1
)) {
2477 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 245);
2479 /* ./../lib/standard//collection//array.nit:246 */
2480 fra
.me
.REG
[0] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[0]);
2481 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
2482 if (UNTAG_Bool(REGB1
)) {
2483 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 246);
2485 /* ./../lib/standard//collection//array.nit:654 */
2486 fra
.me
.REG
[0] = ((Nit_NativeArray
)fra
.me
.REG
[0])->val
[UNTAG_Int(REGB0
)];
2487 /* ./../lib/standard//collection//array.nit:246 */
2490 /* ./compiling//table_computation.nit:524 */
2493 stack_frame_head
= fra
.me
.prev
;
2494 return fra
.me
.REG
[0];
2496 void compiling___table_computation___TableEltComposite___init(val_t p0
, val_t p1
, int* init_table
){
2497 int itpos5
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_compiling___table_computation___TableEltComposite
].i
;
2498 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2500 if (init_table
[itpos5
]) return;
2501 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2502 fra
.me
.file
= LOCATE_compiling___table_computation
;
2504 fra
.me
.meth
= LOCATE_compiling___table_computation___TableEltComposite___init
;
2505 fra
.me
.has_broke
= 0;
2506 fra
.me
.REG_size
= 2;
2507 fra
.me
.REG
[0] = NIT_NULL
;
2508 fra
.me
.REG
[1] = NIT_NULL
;
2511 /* ./compiling//table_computation.nit:528 */
2512 ATTR_compiling___table_computation___TableEltComposite____cc(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2513 /* ./compiling//table_computation.nit:529 */
2514 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___init();
2515 ATTR_compiling___table_computation___TableEltComposite____table(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2516 /* ./compiling//table_computation.nit:530 */
2517 fra
.me
.REG
[1] = NEW_HashMap_standard___collection___hash_collection___HashMap___init();
2518 ATTR_compiling___table_computation___TableEltComposite____offsets(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2519 stack_frame_head
= fra
.me
.prev
;
2520 init_table
[itpos5
] = 1;
2523 val_t
compiling___table_computation___TableEltClassSelfId___is_related_to(val_t p0
, val_t p1
){
2524 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2527 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2528 fra
.me
.file
= LOCATE_compiling___table_computation
;
2530 fra
.me
.meth
= LOCATE_compiling___table_computation___TableEltClassSelfId___is_related_to
;
2531 fra
.me
.has_broke
= 0;
2532 fra
.me
.REG_size
= 2;
2533 fra
.me
.REG
[0] = NIT_NULL
;
2534 fra
.me
.REG
[1] = NIT_NULL
;
2537 /* ./compiling//table_computation.nit:537 */
2538 REGB0
= TAG_Bool(true);
2541 stack_frame_head
= fra
.me
.prev
;
2544 val_t
compiling___table_computation___TableEltClassSelfName___is_related_to(val_t p0
, val_t p1
){
2545 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2548 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2549 fra
.me
.file
= LOCATE_compiling___table_computation
;
2551 fra
.me
.meth
= LOCATE_compiling___table_computation___TableEltClassSelfName___is_related_to
;
2552 fra
.me
.has_broke
= 0;
2553 fra
.me
.REG_size
= 2;
2554 fra
.me
.REG
[0] = NIT_NULL
;
2555 fra
.me
.REG
[1] = NIT_NULL
;
2558 /* ./compiling//table_computation.nit:543 */
2559 REGB0
= TAG_Bool(true);
2562 stack_frame_head
= fra
.me
.prev
;
2565 val_t
compiling___table_computation___TableEltClassObjectSize___is_related_to(val_t p0
, val_t p1
){
2566 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2569 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2570 fra
.me
.file
= LOCATE_compiling___table_computation
;
2572 fra
.me
.meth
= LOCATE_compiling___table_computation___TableEltClassObjectSize___is_related_to
;
2573 fra
.me
.has_broke
= 0;
2574 fra
.me
.REG_size
= 2;
2575 fra
.me
.REG
[0] = NIT_NULL
;
2576 fra
.me
.REG
[1] = NIT_NULL
;
2579 /* ./compiling//table_computation.nit:549 */
2580 REGB0
= TAG_Bool(true);
2583 stack_frame_head
= fra
.me
.prev
;
2586 val_t
compiling___table_computation___TableEltObjectId___is_related_to(val_t p0
, val_t p1
){
2587 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2590 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2591 fra
.me
.file
= LOCATE_compiling___table_computation
;
2593 fra
.me
.meth
= LOCATE_compiling___table_computation___TableEltObjectId___is_related_to
;
2594 fra
.me
.has_broke
= 0;
2595 fra
.me
.REG_size
= 2;
2596 fra
.me
.REG
[0] = NIT_NULL
;
2597 fra
.me
.REG
[1] = NIT_NULL
;
2600 /* ./compiling//table_computation.nit:555 */
2601 REGB0
= TAG_Bool(true);
2604 stack_frame_head
= fra
.me
.prev
;
2607 val_t
compiling___table_computation___TableEltVftPointer___is_related_to(val_t p0
, val_t p1
){
2608 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2611 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2612 fra
.me
.file
= LOCATE_compiling___table_computation
;
2614 fra
.me
.meth
= LOCATE_compiling___table_computation___TableEltVftPointer___is_related_to
;
2615 fra
.me
.has_broke
= 0;
2616 fra
.me
.REG_size
= 2;
2617 fra
.me
.REG
[0] = NIT_NULL
;
2618 fra
.me
.REG
[1] = NIT_NULL
;
2621 /* ./compiling//table_computation.nit:561 */
2622 REGB0
= TAG_Bool(true);
2625 stack_frame_head
= fra
.me
.prev
;