1 /* This C file is generated by NIT to compile module compiling___table_computation. */
2 #include "compiling___table_computation._sep.h"
3 static const char LOCATE_compiling___table_computation___ColorContext___color
[] = "table_computation::ColorContext::color";
4 val_t
compiling___table_computation___ColorContext___color(val_t p0
, val_t p1
){
5 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
8 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9 fra
.me
.file
= LOCATE_compiling___table_computation
;
11 fra
.me
.meth
= LOCATE_compiling___table_computation___ColorContext___color
;
14 fra
.me
.nitni_local_ref_head
= NULL
;
15 fra
.me
.REG
[0] = NIT_NULL
;
16 fra
.me
.REG
[1] = NIT_NULL
;
19 /* compiling/table_computation.nit:32 */
20 REGB0
= TAG_Bool(ATTR_compiling___table_computation___ColorContext____colors(fra
.me
.REG
[0])!=NIT_NULL
);
21 if (UNTAG_Bool(REGB0
)) {
23 nit_abort("Uninitialized attribute %s", "_colors", LOCATE_compiling___table_computation
, 32);
25 fra
.me
.REG
[0] = ATTR_compiling___table_computation___ColorContext____colors(fra
.me
.REG
[0]);
26 fra
.me
.REG
[1] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
27 REGB0
= fra
.me
.REG
[1];
30 stack_frame_head
= fra
.me
.prev
;
33 static const char LOCATE_compiling___table_computation___ColorContext___has_color
[] = "table_computation::ColorContext::has_color";
34 val_t
compiling___table_computation___ColorContext___has_color(val_t p0
, val_t p1
){
35 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
38 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
39 fra
.me
.file
= LOCATE_compiling___table_computation
;
41 fra
.me
.meth
= LOCATE_compiling___table_computation___ColorContext___has_color
;
44 fra
.me
.nitni_local_ref_head
= NULL
;
45 fra
.me
.REG
[0] = NIT_NULL
;
46 fra
.me
.REG
[1] = NIT_NULL
;
49 /* compiling/table_computation.nit:38 */
50 REGB0
= TAG_Bool(ATTR_compiling___table_computation___ColorContext____colors(fra
.me
.REG
[0])!=NIT_NULL
);
51 if (UNTAG_Bool(REGB0
)) {
53 nit_abort("Uninitialized attribute %s", "_colors", LOCATE_compiling___table_computation
, 38);
55 fra
.me
.REG
[0] = ATTR_compiling___table_computation___ColorContext____colors(fra
.me
.REG
[0]);
56 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
59 stack_frame_head
= fra
.me
.prev
;
62 static const char LOCATE_compiling___table_computation___ColorContext___color__eq
[] = "table_computation::ColorContext::color=";
63 void compiling___table_computation___ColorContext___color__eq(val_t p0
, val_t p1
, val_t p2
){
64 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
71 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
72 fra
.me
.file
= LOCATE_compiling___table_computation
;
74 fra
.me
.meth
= LOCATE_compiling___table_computation___ColorContext___color__eq
;
77 fra
.me
.nitni_local_ref_head
= NULL
;
78 fra
.me
.REG
[0] = NIT_NULL
;
79 fra
.me
.REG
[1] = NIT_NULL
;
80 fra
.me
.REG
[2] = NIT_NULL
;
81 fra
.me
.REG
[3] = NIT_NULL
;
85 /* compiling/table_computation.nit:44 */
86 REGB1
= TAG_Bool(ATTR_compiling___table_computation___ColorContext____colors(fra
.me
.REG
[0])!=NIT_NULL
);
87 if (UNTAG_Bool(REGB1
)) {
89 nit_abort("Uninitialized attribute %s", "_colors", LOCATE_compiling___table_computation
, 44);
91 fra
.me
.REG
[2] = ATTR_compiling___table_computation___ColorContext____colors(fra
.me
.REG
[0]);
92 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1], REGB0
);
93 /* compiling/table_computation.nit:46 */
95 REGB2
= CALL_compiling___table_computation___TableElt___length(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
96 /* ../lib/standard/kernel.nit:355 */
98 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
99 if (UNTAG_Bool(REGB3
)) {
101 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
103 /* ../lib/standard/kernel.nit:235 */
104 REGB3
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
105 /* ../lib/standard/kernel.nit:355 */
106 if (UNTAG_Bool(REGB3
)) {
107 /* compiling/table_computation.nit:46 */
109 /* compiling/table_computation.nit:47 */
110 REGB4
= TAG_Bool(ATTR_compiling___table_computation___ColorContext____colors(fra
.me
.REG
[0])!=NIT_NULL
);
111 if (UNTAG_Bool(REGB4
)) {
113 nit_abort("Uninitialized attribute %s", "_colors", LOCATE_compiling___table_computation
, 47);
115 fra
.me
.REG
[2] = ATTR_compiling___table_computation___ColorContext____colors(fra
.me
.REG
[0]);
116 fra
.me
.REG
[3] = CALL_compiling___table_computation___TableElt___item(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB3
);
117 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], REGB0
);
118 /* compiling/table_computation.nit:48 */
120 /* ../lib/standard/kernel.nit:238 */
121 REGB3
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB3
));
122 /* compiling/table_computation.nit:48 */
124 /* ../lib/standard/kernel.nit:357 */
126 /* ../lib/standard/kernel.nit:238 */
127 REGB3
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB3
));
128 /* ../lib/standard/kernel.nit:357 */
131 /* ../lib/standard/kernel.nit:355 */
136 stack_frame_head
= fra
.me
.prev
;
139 static const char LOCATE_compiling___table_computation___ColorContext___init
[] = "table_computation::ColorContext::init";
140 void compiling___table_computation___ColorContext___init(val_t p0
, int* init_table
){
141 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_compiling___table_computation___ColorContext
].i
;
142 struct {struct stack_frame_t me
;} fra
;
144 if (init_table
[itpos0
]) return;
145 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
146 fra
.me
.file
= LOCATE_compiling___table_computation
;
148 fra
.me
.meth
= LOCATE_compiling___table_computation___ColorContext___init
;
149 fra
.me
.has_broke
= 0;
151 fra
.me
.nitni_local_ref_head
= NULL
;
152 stack_frame_head
= fra
.me
.prev
;
153 init_table
[itpos0
] = 1;
156 static const char LOCATE_compiling___table_computation___TableInformation___max_class_table_length
[] = "table_computation::TableInformation::max_class_table_length";
157 val_t
compiling___table_computation___TableInformation___max_class_table_length(val_t p0
){
158 struct {struct stack_frame_t me
;} fra
;
161 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
162 fra
.me
.file
= LOCATE_compiling___table_computation
;
164 fra
.me
.meth
= LOCATE_compiling___table_computation___TableInformation___max_class_table_length
;
165 fra
.me
.has_broke
= 0;
167 fra
.me
.nitni_local_ref_head
= NULL
;
168 fra
.me
.REG
[0] = NIT_NULL
;
170 /* compiling/table_computation.nit:56 */
171 REGB0
= TAG_Bool(ATTR_compiling___table_computation___TableInformation____max_class_table_length(fra
.me
.REG
[0])!=NIT_NULL
);
172 if (UNTAG_Bool(REGB0
)) {
174 nit_abort("Uninitialized attribute %s", "_max_class_table_length", LOCATE_compiling___table_computation
, 56);
176 REGB0
= ATTR_compiling___table_computation___TableInformation____max_class_table_length(fra
.me
.REG
[0]);
177 stack_frame_head
= fra
.me
.prev
;
180 static const char LOCATE_compiling___table_computation___TableInformation___max_class_table_length__eq
[] = "table_computation::TableInformation::max_class_table_length=";
181 void compiling___table_computation___TableInformation___max_class_table_length__eq(val_t p0
, val_t p1
){
182 struct {struct stack_frame_t me
;} fra
;
185 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
186 fra
.me
.file
= LOCATE_compiling___table_computation
;
188 fra
.me
.meth
= LOCATE_compiling___table_computation___TableInformation___max_class_table_length__eq
;
189 fra
.me
.has_broke
= 0;
191 fra
.me
.nitni_local_ref_head
= NULL
;
192 fra
.me
.REG
[0] = NIT_NULL
;
195 /* compiling/table_computation.nit:56 */
196 ATTR_compiling___table_computation___TableInformation____max_class_table_length(fra
.me
.REG
[0]) = REGB0
;
197 stack_frame_head
= fra
.me
.prev
;
200 static const char LOCATE_compiling___table_computation___CompiledClass___local_class
[] = "table_computation::CompiledClass::local_class";
201 val_t
compiling___table_computation___CompiledClass___local_class(val_t p0
){
202 struct {struct stack_frame_t me
;} fra
;
205 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
206 fra
.me
.file
= LOCATE_compiling___table_computation
;
208 fra
.me
.meth
= LOCATE_compiling___table_computation___CompiledClass___local_class
;
209 fra
.me
.has_broke
= 0;
211 fra
.me
.nitni_local_ref_head
= NULL
;
212 fra
.me
.REG
[0] = NIT_NULL
;
214 /* compiling/table_computation.nit:63 */
215 REGB0
= TAG_Bool(ATTR_compiling___table_computation___CompiledClass____local_class(fra
.me
.REG
[0])!=NIT_NULL
);
216 if (UNTAG_Bool(REGB0
)) {
218 nit_abort("Uninitialized attribute %s", "_local_class", LOCATE_compiling___table_computation
, 63);
220 fra
.me
.REG
[0] = ATTR_compiling___table_computation___CompiledClass____local_class(fra
.me
.REG
[0]);
221 stack_frame_head
= fra
.me
.prev
;
222 return fra
.me
.REG
[0];
224 static const char LOCATE_compiling___table_computation___CompiledClass___id
[] = "table_computation::CompiledClass::id";
225 val_t
compiling___table_computation___CompiledClass___id(val_t p0
){
226 struct {struct stack_frame_t me
;} fra
;
229 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
230 fra
.me
.file
= LOCATE_compiling___table_computation
;
232 fra
.me
.meth
= LOCATE_compiling___table_computation___CompiledClass___id
;
233 fra
.me
.has_broke
= 0;
235 fra
.me
.nitni_local_ref_head
= NULL
;
236 fra
.me
.REG
[0] = NIT_NULL
;
238 /* compiling/table_computation.nit:66 */
239 REGB0
= TAG_Bool(ATTR_compiling___table_computation___CompiledClass____id(fra
.me
.REG
[0])!=NIT_NULL
);
240 if (UNTAG_Bool(REGB0
)) {
242 nit_abort("Uninitialized attribute %s", "_id", LOCATE_compiling___table_computation
, 66);
244 REGB0
= ATTR_compiling___table_computation___CompiledClass____id(fra
.me
.REG
[0]);
245 stack_frame_head
= fra
.me
.prev
;
248 static const char LOCATE_compiling___table_computation___CompiledClass___id__eq
[] = "table_computation::CompiledClass::id=";
249 void compiling___table_computation___CompiledClass___id__eq(val_t p0
, val_t p1
){
250 struct {struct stack_frame_t me
;} fra
;
253 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
254 fra
.me
.file
= LOCATE_compiling___table_computation
;
256 fra
.me
.meth
= LOCATE_compiling___table_computation___CompiledClass___id__eq
;
257 fra
.me
.has_broke
= 0;
259 fra
.me
.nitni_local_ref_head
= NULL
;
260 fra
.me
.REG
[0] = NIT_NULL
;
263 /* compiling/table_computation.nit:66 */
264 ATTR_compiling___table_computation___CompiledClass____id(fra
.me
.REG
[0]) = REGB0
;
265 stack_frame_head
= fra
.me
.prev
;
268 static const char LOCATE_compiling___table_computation___CompiledClass___class_table
[] = "table_computation::CompiledClass::class_table";
269 val_t
compiling___table_computation___CompiledClass___class_table(val_t p0
){
270 struct {struct stack_frame_t me
;} fra
;
273 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
274 fra
.me
.file
= LOCATE_compiling___table_computation
;
276 fra
.me
.meth
= LOCATE_compiling___table_computation___CompiledClass___class_table
;
277 fra
.me
.has_broke
= 0;
279 fra
.me
.nitni_local_ref_head
= NULL
;
280 fra
.me
.REG
[0] = NIT_NULL
;
282 /* compiling/table_computation.nit:69 */
283 REGB0
= TAG_Bool(ATTR_compiling___table_computation___CompiledClass____class_table(fra
.me
.REG
[0])!=NIT_NULL
);
284 if (UNTAG_Bool(REGB0
)) {
286 nit_abort("Uninitialized attribute %s", "_class_table", LOCATE_compiling___table_computation
, 69);
288 fra
.me
.REG
[0] = ATTR_compiling___table_computation___CompiledClass____class_table(fra
.me
.REG
[0]);
289 stack_frame_head
= fra
.me
.prev
;
290 return fra
.me
.REG
[0];
292 static const char LOCATE_compiling___table_computation___CompiledClass___instance_table
[] = "table_computation::CompiledClass::instance_table";
293 val_t
compiling___table_computation___CompiledClass___instance_table(val_t p0
){
294 struct {struct stack_frame_t me
;} fra
;
297 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
298 fra
.me
.file
= LOCATE_compiling___table_computation
;
300 fra
.me
.meth
= LOCATE_compiling___table_computation___CompiledClass___instance_table
;
301 fra
.me
.has_broke
= 0;
303 fra
.me
.nitni_local_ref_head
= NULL
;
304 fra
.me
.REG
[0] = NIT_NULL
;
306 /* compiling/table_computation.nit:72 */
307 REGB0
= TAG_Bool(ATTR_compiling___table_computation___CompiledClass____instance_table(fra
.me
.REG
[0])!=NIT_NULL
);
308 if (UNTAG_Bool(REGB0
)) {
310 nit_abort("Uninitialized attribute %s", "_instance_table", LOCATE_compiling___table_computation
, 72);
312 fra
.me
.REG
[0] = ATTR_compiling___table_computation___CompiledClass____instance_table(fra
.me
.REG
[0]);
313 stack_frame_head
= fra
.me
.prev
;
314 return fra
.me
.REG
[0];
316 static const char LOCATE_compiling___table_computation___CompiledClass___class_layout
[] = "table_computation::CompiledClass::class_layout";
317 val_t
compiling___table_computation___CompiledClass___class_layout(val_t p0
){
318 struct {struct stack_frame_t me
;} fra
;
321 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
322 fra
.me
.file
= LOCATE_compiling___table_computation
;
324 fra
.me
.meth
= LOCATE_compiling___table_computation___CompiledClass___class_layout
;
325 fra
.me
.has_broke
= 0;
327 fra
.me
.nitni_local_ref_head
= NULL
;
328 fra
.me
.REG
[0] = NIT_NULL
;
330 /* compiling/table_computation.nit:75 */
331 REGB0
= TAG_Bool(ATTR_compiling___table_computation___CompiledClass____class_layout(fra
.me
.REG
[0])!=NIT_NULL
);
332 if (UNTAG_Bool(REGB0
)) {
334 nit_abort("Uninitialized attribute %s", "_class_layout", LOCATE_compiling___table_computation
, 75);
336 fra
.me
.REG
[0] = ATTR_compiling___table_computation___CompiledClass____class_layout(fra
.me
.REG
[0]);
337 stack_frame_head
= fra
.me
.prev
;
338 return fra
.me
.REG
[0];
340 static const char LOCATE_compiling___table_computation___CompiledClass___class_layout__eq
[] = "table_computation::CompiledClass::class_layout=";
341 void compiling___table_computation___CompiledClass___class_layout__eq(val_t p0
, val_t p1
){
342 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
344 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
345 fra
.me
.file
= LOCATE_compiling___table_computation
;
347 fra
.me
.meth
= LOCATE_compiling___table_computation___CompiledClass___class_layout__eq
;
348 fra
.me
.has_broke
= 0;
350 fra
.me
.nitni_local_ref_head
= NULL
;
351 fra
.me
.REG
[0] = NIT_NULL
;
352 fra
.me
.REG
[1] = NIT_NULL
;
355 /* compiling/table_computation.nit:75 */
356 ATTR_compiling___table_computation___CompiledClass____class_layout(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
357 stack_frame_head
= fra
.me
.prev
;
360 static const char LOCATE_compiling___table_computation___CompiledClass___instance_layout
[] = "table_computation::CompiledClass::instance_layout";
361 val_t
compiling___table_computation___CompiledClass___instance_layout(val_t p0
){
362 struct {struct stack_frame_t me
;} fra
;
365 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
366 fra
.me
.file
= LOCATE_compiling___table_computation
;
368 fra
.me
.meth
= LOCATE_compiling___table_computation___CompiledClass___instance_layout
;
369 fra
.me
.has_broke
= 0;
371 fra
.me
.nitni_local_ref_head
= NULL
;
372 fra
.me
.REG
[0] = NIT_NULL
;
374 /* compiling/table_computation.nit:78 */
375 REGB0
= TAG_Bool(ATTR_compiling___table_computation___CompiledClass____instance_layout(fra
.me
.REG
[0])!=NIT_NULL
);
376 if (UNTAG_Bool(REGB0
)) {
378 nit_abort("Uninitialized attribute %s", "_instance_layout", LOCATE_compiling___table_computation
, 78);
380 fra
.me
.REG
[0] = ATTR_compiling___table_computation___CompiledClass____instance_layout(fra
.me
.REG
[0]);
381 stack_frame_head
= fra
.me
.prev
;
382 return fra
.me
.REG
[0];
384 static const char LOCATE_compiling___table_computation___CompiledClass___instance_layout__eq
[] = "table_computation::CompiledClass::instance_layout=";
385 void compiling___table_computation___CompiledClass___instance_layout__eq(val_t p0
, val_t p1
){
386 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
388 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
389 fra
.me
.file
= LOCATE_compiling___table_computation
;
391 fra
.me
.meth
= LOCATE_compiling___table_computation___CompiledClass___instance_layout__eq
;
392 fra
.me
.has_broke
= 0;
394 fra
.me
.nitni_local_ref_head
= NULL
;
395 fra
.me
.REG
[0] = NIT_NULL
;
396 fra
.me
.REG
[1] = NIT_NULL
;
399 /* compiling/table_computation.nit:78 */
400 ATTR_compiling___table_computation___CompiledClass____instance_layout(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
401 stack_frame_head
= fra
.me
.prev
;
404 static const char LOCATE_compiling___table_computation___CompiledClass___init
[] = "table_computation::CompiledClass::init";
405 void compiling___table_computation___CompiledClass___init(val_t p0
, val_t p1
, int* init_table
){
406 int itpos1
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_compiling___table_computation___CompiledClass
].i
;
407 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
409 if (init_table
[itpos1
]) return;
410 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
411 fra
.me
.file
= LOCATE_compiling___table_computation
;
413 fra
.me
.meth
= LOCATE_compiling___table_computation___CompiledClass___init
;
414 fra
.me
.has_broke
= 0;
416 fra
.me
.nitni_local_ref_head
= NULL
;
417 fra
.me
.REG
[0] = NIT_NULL
;
418 fra
.me
.REG
[1] = NIT_NULL
;
419 fra
.me
.REG
[2] = NIT_NULL
;
422 /* compiling/table_computation.nit:81 */
423 fra
.me
.REG
[2] = fra
.me
.REG
[0];
424 CALL_compiling___table_computation___ColorContext___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
425 ATTR_compiling___table_computation___CompiledClass____local_class(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
426 stack_frame_head
= fra
.me
.prev
;
427 init_table
[itpos1
] = 1;
430 static const char LOCATE_compiling___table_computation___MMConcreteClass___class_color_pos
[] = "table_computation::MMConcreteClass::class_color_pos";
431 val_t
compiling___table_computation___MMConcreteClass___class_color_pos(val_t p0
){
432 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
435 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
436 fra
.me
.file
= LOCATE_compiling___table_computation
;
438 fra
.me
.meth
= LOCATE_compiling___table_computation___MMConcreteClass___class_color_pos
;
439 fra
.me
.has_broke
= 0;
441 fra
.me
.nitni_local_ref_head
= NULL
;
442 fra
.me
.REG
[0] = NIT_NULL
;
443 fra
.me
.REG
[1] = NIT_NULL
;
445 /* compiling/table_computation.nit:85 */
446 fra
.me
.REG
[1] = fra
.me
.REG
[0];
447 /* compiling/table_computation.nit:86 */
448 fra
.me
.REG
[1] = ATTR_compiling___table_computation___MMConcreteClass____class_color_pos(fra
.me
.REG
[1]);
449 REGB0
= TAG_Bool(fra
.me
.REG
[1]!=NIT_NULL
);
450 if (UNTAG_Bool(REGB0
)) {
452 nit_abort("Cast failed", NULL
, LOCATE_compiling___table_computation
, 86);
456 stack_frame_head
= fra
.me
.prev
;
457 return fra
.me
.REG
[1];
459 static const char LOCATE_compiling___table_computation___MMConcreteClass___class_layout
[] = "table_computation::MMConcreteClass::class_layout";
460 val_t
compiling___table_computation___MMConcreteClass___class_layout(val_t p0
){
461 struct {struct stack_frame_t me
;} fra
;
464 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
465 fra
.me
.file
= LOCATE_compiling___table_computation
;
467 fra
.me
.meth
= LOCATE_compiling___table_computation___MMConcreteClass___class_layout
;
468 fra
.me
.has_broke
= 0;
470 fra
.me
.nitni_local_ref_head
= NULL
;
471 fra
.me
.REG
[0] = NIT_NULL
;
473 /* compiling/table_computation.nit:89 */
474 REGB0
= TAG_Bool(ATTR_compiling___table_computation___MMConcreteClass____class_layout(fra
.me
.REG
[0])!=NIT_NULL
);
475 if (UNTAG_Bool(REGB0
)) {
477 nit_abort("Uninitialized attribute %s", "_class_layout", LOCATE_compiling___table_computation
, 89);
479 fra
.me
.REG
[0] = ATTR_compiling___table_computation___MMConcreteClass____class_layout(fra
.me
.REG
[0]);
480 stack_frame_head
= fra
.me
.prev
;
481 return fra
.me
.REG
[0];
483 static const char LOCATE_compiling___table_computation___MMConcreteClass___instance_layout
[] = "table_computation::MMConcreteClass::instance_layout";
484 val_t
compiling___table_computation___MMConcreteClass___instance_layout(val_t p0
){
485 struct {struct stack_frame_t me
;} fra
;
488 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
489 fra
.me
.file
= LOCATE_compiling___table_computation
;
491 fra
.me
.meth
= LOCATE_compiling___table_computation___MMConcreteClass___instance_layout
;
492 fra
.me
.has_broke
= 0;
494 fra
.me
.nitni_local_ref_head
= NULL
;
495 fra
.me
.REG
[0] = NIT_NULL
;
497 /* compiling/table_computation.nit:92 */
498 REGB0
= TAG_Bool(ATTR_compiling___table_computation___MMConcreteClass____instance_layout(fra
.me
.REG
[0])!=NIT_NULL
);
499 if (UNTAG_Bool(REGB0
)) {
501 nit_abort("Uninitialized attribute %s", "_instance_layout", LOCATE_compiling___table_computation
, 92);
503 fra
.me
.REG
[0] = ATTR_compiling___table_computation___MMConcreteClass____instance_layout(fra
.me
.REG
[0]);
504 stack_frame_head
= fra
.me
.prev
;
505 return fra
.me
.REG
[0];
507 static const char LOCATE_compiling___table_computation___MMConcreteClass___build_layout_in
[] = "table_computation::MMConcreteClass::build_layout_in";
508 void compiling___table_computation___MMConcreteClass___build_layout_in(val_t p0
, val_t p1
){
509 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
513 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
514 fra
.me
.file
= LOCATE_compiling___table_computation
;
516 fra
.me
.meth
= LOCATE_compiling___table_computation___MMConcreteClass___build_layout_in
;
517 fra
.me
.has_broke
= 0;
519 fra
.me
.nitni_local_ref_head
= NULL
;
520 fra
.me
.REG
[0] = NIT_NULL
;
521 fra
.me
.REG
[1] = NIT_NULL
;
522 fra
.me
.REG
[2] = NIT_NULL
;
523 fra
.me
.REG
[3] = NIT_NULL
;
524 fra
.me
.REG
[4] = NIT_NULL
;
527 /* compiling/table_computation.nit:98 */
528 REGB0
= TAG_Bool(ATTR_compiling___table_computation___MMConcreteClass____class_layout(fra
.me
.REG
[0])!=NIT_NULL
);
529 if (UNTAG_Bool(REGB0
)) {
531 nit_abort("Uninitialized attribute %s", "_class_layout", LOCATE_compiling___table_computation
, 98);
533 fra
.me
.REG
[2] = ATTR_compiling___table_computation___MMConcreteClass____class_layout(fra
.me
.REG
[0]);
534 /* compiling/table_computation.nit:99 */
535 REGB0
= TAG_Bool(ATTR_compiling___table_computation___MMConcreteClass____instance_layout(fra
.me
.REG
[0])!=NIT_NULL
);
536 if (UNTAG_Bool(REGB0
)) {
538 nit_abort("Uninitialized attribute %s", "_instance_layout", LOCATE_compiling___table_computation
, 99);
540 fra
.me
.REG
[3] = ATTR_compiling___table_computation___MMConcreteClass____instance_layout(fra
.me
.REG
[0]);
541 /* compiling/table_computation.nit:101 */
542 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
543 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
544 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[4],fra
.me
.REG
[0]));
545 if (UNTAG_Bool(REGB0
)) {
547 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
550 if (UNTAG_Bool(REGB0
)) {
551 /* compiling/table_computation.nit:102 */
552 fra
.me
.REG
[4] = NEW_TableEltClassId_compiling___table_computation___AbsTableEltClass___init(fra
.me
.REG
[0]);
553 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
554 /* compiling/table_computation.nit:103 */
555 fra
.me
.REG
[4] = NEW_TableEltClassColor_compiling___table_computation___AbsTableEltClass___init(fra
.me
.REG
[0]);
556 /* compiling/table_computation.nit:104 */
557 ATTR_compiling___table_computation___MMConcreteClass____class_color_pos(fra
.me
.REG
[0]) = fra
.me
.REG
[4];
558 /* compiling/table_computation.nit:105 */
559 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
560 /* compiling/table_computation.nit:106 */
561 fra
.me
.REG
[4] = NEW_TableEltClassInitTable_compiling___table_computation___AbsTableEltClass___init(fra
.me
.REG
[0]);
562 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
564 /* compiling/table_computation.nit:108 */
565 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___local_local_properties(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
566 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[4])(fra
.me
.REG
[4], (&(fra
.me
)), ((fun_t
)OC_compiling___table_computation___MMConcreteClass___build_layout_in_1
));
567 /* compiling/table_computation.nit:125 */
568 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
569 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
570 if (UNTAG_Bool(REGB0
)) {
571 /* compiling/table_computation.nit:126 */
572 fra
.me
.REG
[0] = NEW_ModuleTableEltGroup_compiling___table_computation___ModuleTableEltGroup___init();
573 /* compiling/table_computation.nit:127 */
574 fra
.me
.REG
[4] = CALL_compiling___table_computation___ModuleTableEltGroup___elements(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
575 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
576 /* compiling/table_computation.nit:128 */
577 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
579 /* compiling/table_computation.nit:131 */
580 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
581 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
582 if (UNTAG_Bool(REGB0
)) {
583 /* compiling/table_computation.nit:132 */
584 fra
.me
.REG
[0] = NEW_ModuleTableEltGroup_compiling___table_computation___ModuleTableEltGroup___init();
585 /* compiling/table_computation.nit:133 */
586 fra
.me
.REG
[3] = CALL_compiling___table_computation___ModuleTableEltGroup___elements(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
587 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
588 /* compiling/table_computation.nit:134 */
589 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
591 stack_frame_head
= fra
.me
.prev
;
594 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
){
595 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
600 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
601 fra
.me
.file
= LOCATE_compiling___table_computation
;
603 fra
.me
.meth
= LOCATE_compiling___table_computation___MMConcreteClass___build_layout_in
;
604 fra
.me
.has_broke
= 0;
606 fra
.me
.nitni_local_ref_head
= NULL
;
607 fra
.me
.REG
[0] = NIT_NULL
;
608 fra
.me
.REG
[1] = NIT_NULL
;
609 fra
.me
.closure_ctx
= closctx_param
;
610 fra
.me
.closure_funs
= CREG
;
613 /* compiling/table_computation.nit:109 */
614 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
615 /* compiling/table_computation.nit:110 */
616 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___intro(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
617 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[1],fra
.me
.REG
[0]));
618 if (UNTAG_Bool(REGB0
)) {
620 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
623 if (UNTAG_Bool(REGB0
)) {
624 /* compiling/table_computation.nit:111 */
625 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_metamodel___abstractmetamodel___MMAttribute
, ID_metamodel___abstractmetamodel___MMAttribute
)) /*cast MMAttribute*/;
626 if (UNTAG_Bool(REGB0
)) {
627 /* compiling/table_computation.nit:112 */
628 fra
.me
.REG
[1] = NEW_TableEltAttr_compiling___table_computation___TableEltProp___init(fra
.me
.REG
[0]);
629 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[3])(closctx
->REG
[3], fra
.me
.REG
[1]);
631 /* compiling/table_computation.nit:113 */
632 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_metamodel___abstractmetamodel___MMMethod
, ID_metamodel___abstractmetamodel___MMMethod
)) /*cast MMMethod*/;
633 if (UNTAG_Bool(REGB0
)) {
634 /* compiling/table_computation.nit:114 */
635 fra
.me
.REG
[1] = NEW_TableEltMeth_compiling___table_computation___TableEltProp___init(fra
.me
.REG
[0]);
636 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[2])(closctx
->REG
[2], fra
.me
.REG
[1]);
638 /* compiling/table_computation.nit:115 */
639 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_metamodel___virtualtype___MMTypeProperty
, ID_metamodel___virtualtype___MMTypeProperty
)) /*cast MMTypeProperty*/;
640 if (UNTAG_Bool(REGB0
)) {
641 /* compiling/table_computation.nit:116 */
642 fra
.me
.REG
[1] = NEW_TableEltVTClassId_compiling___table_computation___TableEltProp___init(fra
.me
.REG
[0]);
643 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[2])(closctx
->REG
[2], fra
.me
.REG
[1]);
644 /* compiling/table_computation.nit:117 */
645 fra
.me
.REG
[1] = NEW_TableEltVTClassColor_compiling___table_computation___TableEltProp___init(fra
.me
.REG
[0]);
646 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[2])(closctx
->REG
[2], fra
.me
.REG
[1]);
651 /* compiling/table_computation.nit:120 */
652 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_metamodel___abstractmetamodel___MMMethod
, ID_metamodel___abstractmetamodel___MMMethod
)) /*cast MMMethod*/;
653 if (UNTAG_Bool(REGB0
)) {
654 REGB0
= CALL_metamodel___abstractmetamodel___MMLocalProperty___need_super(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
659 if (UNTAG_Bool(REGB0
)) {
660 /* compiling/table_computation.nit:121 */
661 fra
.me
.REG
[0] = NEW_TableEltSuper_compiling___table_computation___TableEltProp___init(fra
.me
.REG
[0]);
662 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[2])(closctx
->REG
[2], fra
.me
.REG
[0]);
664 stack_frame_head
= fra
.me
.prev
;
667 static const char LOCATE_compiling___table_computation___Program___table_information
[] = "table_computation::Program::table_information";
668 val_t
compiling___table_computation___Program___table_information(val_t p0
){
669 struct {struct stack_frame_t me
;} fra
;
672 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
673 fra
.me
.file
= LOCATE_compiling___table_computation
;
675 fra
.me
.meth
= LOCATE_compiling___table_computation___Program___table_information
;
676 fra
.me
.has_broke
= 0;
678 fra
.me
.nitni_local_ref_head
= NULL
;
679 fra
.me
.REG
[0] = NIT_NULL
;
681 /* compiling/table_computation.nit:140 */
682 REGB0
= TAG_Bool(ATTR_compiling___table_computation___Program____table_information(fra
.me
.REG
[0])!=NIT_NULL
);
683 if (UNTAG_Bool(REGB0
)) {
685 nit_abort("Uninitialized attribute %s", "_table_information", LOCATE_compiling___table_computation
, 140);
687 fra
.me
.REG
[0] = ATTR_compiling___table_computation___Program____table_information(fra
.me
.REG
[0]);
688 stack_frame_head
= fra
.me
.prev
;
689 return fra
.me
.REG
[0];
691 static const char LOCATE_compiling___table_computation___Program___compiled_classes
[] = "table_computation::Program::compiled_classes";
692 val_t
compiling___table_computation___Program___compiled_classes(val_t p0
){
693 struct {struct stack_frame_t me
;} fra
;
696 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
697 fra
.me
.file
= LOCATE_compiling___table_computation
;
699 fra
.me
.meth
= LOCATE_compiling___table_computation___Program___compiled_classes
;
700 fra
.me
.has_broke
= 0;
702 fra
.me
.nitni_local_ref_head
= NULL
;
703 fra
.me
.REG
[0] = NIT_NULL
;
705 /* compiling/table_computation.nit:143 */
706 REGB0
= TAG_Bool(ATTR_compiling___table_computation___Program____compiled_classes(fra
.me
.REG
[0])!=NIT_NULL
);
707 if (UNTAG_Bool(REGB0
)) {
709 nit_abort("Uninitialized attribute %s", "_compiled_classes", LOCATE_compiling___table_computation
, 143);
711 fra
.me
.REG
[0] = ATTR_compiling___table_computation___Program____compiled_classes(fra
.me
.REG
[0]);
712 stack_frame_head
= fra
.me
.prev
;
713 return fra
.me
.REG
[0];
715 static const char LOCATE_compiling___table_computation___Program___do_table_computation
[] = "table_computation::Program::do_table_computation";
716 void compiling___table_computation___Program___do_table_computation(val_t p0
){
717 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
720 static val_t once_value_1
; /* Once value */
721 static val_t once_value_5
; /* Once value */
722 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
723 fra
.me
.file
= LOCATE_compiling___table_computation
;
725 fra
.me
.meth
= LOCATE_compiling___table_computation___Program___do_table_computation
;
726 fra
.me
.has_broke
= 0;
728 fra
.me
.nitni_local_ref_head
= NULL
;
729 fra
.me
.REG
[0] = NIT_NULL
;
730 fra
.me
.REG
[1] = NIT_NULL
;
731 fra
.me
.REG
[2] = NIT_NULL
;
733 /* compiling/table_computation.nit:148 */
734 fra
.me
.REG
[1] = CALL_program___Program___tc(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
736 fra
.me
.REG
[2] = BOX_NativeString("Building tables");
738 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
739 once_value_1
= fra
.me
.REG
[2];
740 register_static_object(&once_value_1
);
741 } else fra
.me
.REG
[2] = once_value_1
;
742 fra
.me
.REG
[2] = fra
.me
.REG
[2];
744 CALL_toolcontext___ToolContext___info(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2], REGB0
);
745 /* compiling/table_computation.nit:149 */
746 fra
.me
.REG
[2] = CALL_program___Program___main_module(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
747 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMModule___mhe(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
748 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
749 if (UNTAG_Bool(REGB0
)) {
750 nit_abort("Reciever is null", NULL
, LOCATE_compiling___table_computation
, 149);
752 fra
.me
.REG
[2] = CALL_metamodel___partial_order___PartialOrderElement___greaters_and_self(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
753 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
));
754 /* compiling/table_computation.nit:154 */
755 fra
.me
.REG
[2] = CALL_program___Program___tc(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
757 fra
.me
.REG
[1] = BOX_NativeString("Merging all tables");
759 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
760 once_value_5
= fra
.me
.REG
[1];
761 register_static_object(&once_value_5
);
762 } else fra
.me
.REG
[1] = once_value_5
;
763 fra
.me
.REG
[1] = fra
.me
.REG
[1];
765 CALL_toolcontext___ToolContext___info(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1], REGB0
);
766 /* compiling/table_computation.nit:155 */
767 CALL_compiling___table_computation___Program___do_global_table_analysis(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
768 stack_frame_head
= fra
.me
.prev
;
771 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
){
772 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
776 static val_t once_value_3
; /* Once value */
777 static val_t once_value_4
; /* Once value */
778 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
779 fra
.me
.file
= LOCATE_compiling___table_computation
;
781 fra
.me
.meth
= LOCATE_compiling___table_computation___Program___do_table_computation
;
782 fra
.me
.has_broke
= 0;
784 fra
.me
.nitni_local_ref_head
= NULL
;
785 fra
.me
.REG
[0] = NIT_NULL
;
786 fra
.me
.REG
[1] = NIT_NULL
;
787 fra
.me
.REG
[2] = NIT_NULL
;
788 fra
.me
.REG
[3] = NIT_NULL
;
789 fra
.me
.closure_ctx
= closctx_param
;
790 fra
.me
.closure_funs
= CREG
;
793 /* compiling/table_computation.nit:150 */
794 fra
.me
.REG
[1] = CALL_program___Program___tc(closctx
->REG
[0])(closctx
->REG
[0]);
796 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
798 fra
.me
.REG
[3] = BOX_NativeString("Building tables for module: ");
800 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
801 once_value_3
= fra
.me
.REG
[3];
802 register_static_object(&once_value_3
);
803 } else fra
.me
.REG
[3] = once_value_3
;
804 fra
.me
.REG
[3] = fra
.me
.REG
[3];
805 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
806 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMModule___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
807 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
808 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
810 fra
.me
.REG
[3] = BOX_NativeString("");
812 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
813 once_value_4
= fra
.me
.REG
[3];
814 register_static_object(&once_value_4
);
815 } else fra
.me
.REG
[3] = once_value_4
;
816 fra
.me
.REG
[3] = fra
.me
.REG
[3];
817 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
818 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
820 CALL_toolcontext___ToolContext___info(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2], REGB0
);
821 /* compiling/table_computation.nit:151 */
822 CALL_compiling___table_computation___MMModule___local_analysis(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
823 stack_frame_head
= fra
.me
.prev
;
826 static const char LOCATE_compiling___table_computation___Program___do_global_table_analysis
[] = "table_computation::Program::do_global_table_analysis";
827 void compiling___table_computation___Program___do_global_table_analysis(val_t p0
){
828 struct {struct stack_frame_t me
; val_t MORE_REG
[11];} fra
;
835 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
836 fra
.me
.file
= LOCATE_compiling___table_computation
;
838 fra
.me
.meth
= LOCATE_compiling___table_computation___Program___do_global_table_analysis
;
839 fra
.me
.has_broke
= 0;
840 fra
.me
.REG_size
= 12;
841 fra
.me
.nitni_local_ref_head
= NULL
;
842 fra
.me
.REG
[0] = NIT_NULL
;
843 fra
.me
.REG
[1] = NIT_NULL
;
844 fra
.me
.REG
[2] = NIT_NULL
;
845 fra
.me
.REG
[3] = NIT_NULL
;
846 fra
.me
.REG
[4] = NIT_NULL
;
847 fra
.me
.REG
[5] = NIT_NULL
;
848 fra
.me
.REG
[6] = NIT_NULL
;
849 fra
.me
.REG
[7] = NIT_NULL
;
850 fra
.me
.REG
[8] = NIT_NULL
;
851 fra
.me
.REG
[9] = NIT_NULL
;
852 fra
.me
.REG
[10] = NIT_NULL
;
853 fra
.me
.REG
[11] = NIT_NULL
;
855 /* compiling/table_computation.nit:161 */
856 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___init();
857 /* compiling/table_computation.nit:162 */
858 fra
.me
.REG
[2] = NEW_HashSet_standard___collection___hash_collection___HashSet___init();
859 /* compiling/table_computation.nit:163 */
860 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___init();
861 /* compiling/table_computation.nit:164 */
862 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___init();
863 /* compiling/table_computation.nit:166 */
864 fra
.me
.REG
[4] = NEW_TableEltClassSelfId_compiling___table_computation___TableEltClassSelfId___init();
865 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
866 /* compiling/table_computation.nit:167 */
867 fra
.me
.REG
[4] = NEW_TableEltClassObjectSize_compiling___table_computation___TableEltClassObjectSize___init();
868 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
869 /* compiling/table_computation.nit:168 */
870 fra
.me
.REG
[4] = NEW_TableEltClassSelfName_compiling___table_computation___TableEltClassSelfName___init();
871 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
872 /* compiling/table_computation.nit:169 */
873 fra
.me
.REG
[4] = NEW_TableEltVftPointer_compiling___table_computation___TableEltVftPointer___init();
874 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
875 /* compiling/table_computation.nit:170 */
876 fra
.me
.REG
[4] = NEW_TableEltObjectId_compiling___table_computation___TableEltObjectId___init();
877 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
878 /* compiling/table_computation.nit:172 */
880 /* ../lib/standard/kernel.nit:239 */
881 REGB0
= TAG_Int(-UNTAG_Int(REGB0
));
882 /* compiling/table_computation.nit:173 */
884 /* compiling/table_computation.nit:176 */
885 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___init();
886 /* compiling/table_computation.nit:177 */
887 fra
.me
.REG
[5] = CALL_program___Program___main_module(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
888 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMModule___local_classes(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
889 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
));
890 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
));
891 /* ../lib/standard/collection/array.nit:266 */
892 fra
.me
.REG
[5] = fra
.me
.REG
[4];
893 /* ../lib/standard/collection/array.nit:269 */
895 /* ../lib/standard/collection/array.nit:270 */
896 REGB3
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
897 if (UNTAG_Bool(REGB3
)) {
899 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
901 REGB3
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
902 /* ../lib/standard/collection/array.nit:271 */
903 fra
.me
.REG
[6] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[5]);
904 /* ../lib/standard/collection/array.nit:272 */
906 /* ../lib/standard/collection/array.nit:24 */
907 REGB3
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
908 if (UNTAG_Bool(REGB3
)) {
910 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
912 REGB3
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
913 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
914 if (UNTAG_Bool(REGB4
)) {
916 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
918 /* ../lib/standard/kernel.nit:235 */
919 REGB3
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB3
));
920 /* ../lib/standard/collection/array.nit:272 */
921 if (UNTAG_Bool(REGB3
)) {
922 /* ../lib/standard/collection/array.nit:273 */
923 REGB3
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
924 if (UNTAG_Bool(REGB3
)) {
925 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
927 /* ../lib/standard/collection/array.nit:718 */
928 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB2
)];
929 /* compiling/table_computation.nit:182 */
930 fra
.me
.REG
[8] = NEW_CompiledClass_compiling___table_computation___CompiledClass___init(fra
.me
.REG
[7]);
931 /* compiling/table_computation.nit:183 */
932 fra
.me
.REG
[9] = CALL_compiling___table_computation___Program___compiled_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
933 fra
.me
.REG
[10] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
934 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10], fra
.me
.REG
[8]);
935 /* compiling/table_computation.nit:187 */
936 fra
.me
.REG
[10] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
937 /* compiling/table_computation.nit:188 */
938 fra
.me
.REG
[10] = CALL_metamodel___abstractmetamodel___MMGlobalClass___mmmodule(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
939 /* compiling/table_computation.nit:189 */
940 fra
.me
.REG
[10] = CALL_primitive_info___MMLocalClass___primitive_info(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
941 REGB3
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
942 if (UNTAG_Bool(REGB3
)) {
944 REGB4
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
945 if (UNTAG_Bool(REGB4
)) {
949 REGB4
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[10])(fra
.me
.REG
[10], NIT_NULL
);
953 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
954 if (UNTAG_Bool(REGB3
)) {
955 /* compiling/table_computation.nit:190 */
956 CALL_compiling___table_computation___CompiledClass___id__eq(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB0
);
957 /* compiling/table_computation.nit:191 */
959 /* ../lib/standard/kernel.nit:240 */
960 REGB3
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB3
));
961 /* compiling/table_computation.nit:191 */
964 /* compiling/table_computation.nit:193 */
965 CALL_compiling___table_computation___CompiledClass___id__eq(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB1
);
966 /* compiling/table_computation.nit:194 */
968 /* ../lib/standard/kernel.nit:238 */
969 REGB3
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB3
));
970 /* compiling/table_computation.nit:194 */
973 /* compiling/table_computation.nit:198 */
974 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
975 fra
.me
.REG
[8] = CALL_metamodel___partial_order___PartialOrderElement___direct_smallers(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
976 REGB3
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
977 if (UNTAG_Bool(REGB3
)) {
978 /* compiling/table_computation.nit:199 */
979 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[7]);
981 /* compiling/table_computation.nit:203 */
982 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
983 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
984 /* compiling/table_computation.nit:204 */
985 REGB3
= TAG_Bool(VAL_ISA(fra
.me
.REG
[7], COLOR_metamodel___abstractmetamodel___MMConcreteClass
, ID_metamodel___abstractmetamodel___MMConcreteClass
)) /*cast MMConcreteClass*/;
986 if (UNTAG_Bool(REGB3
)) {
988 nit_abort("Assert failed", NULL
, LOCATE_compiling___table_computation
, 204);
990 /* compiling/table_computation.nit:205 */
991 fra
.me
.REG
[7] = CALL_compiling___table_computation___MMConcreteClass___class_color_pos(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
992 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[7]);
993 /* ../lib/standard/collection/array.nit:274 */
995 /* ../lib/standard/kernel.nit:238 */
996 REGB3
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB3
));
997 /* ../lib/standard/collection/array.nit:274 */
1000 /* ../lib/standard/collection/array.nit:272 */
1005 /* compiling/table_computation.nit:209 */
1006 fra
.me
.REG
[6] = NEW_HashSet_standard___collection___hash_collection___HashSet___init();
1007 /* compiling/table_computation.nit:210 */
1008 fra
.me
.REG
[5] = NEW_HashSet_standard___collection___hash_collection___HashSet___init();
1009 /* ../lib/standard/collection/array.nit:269 */
1011 /* ../lib/standard/collection/array.nit:270 */
1012 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1013 if (UNTAG_Bool(REGB1
)) {
1015 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
1017 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1018 /* ../lib/standard/collection/array.nit:271 */
1019 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[1]);
1020 /* ../lib/standard/collection/array.nit:272 */
1022 /* ../lib/standard/collection/array.nit:24 */
1023 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1024 if (UNTAG_Bool(REGB1
)) {
1026 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1028 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1029 REGB0
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
1030 if (UNTAG_Bool(REGB0
)) {
1032 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1034 /* ../lib/standard/kernel.nit:235 */
1035 REGB1
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB1
));
1036 /* ../lib/standard/collection/array.nit:272 */
1037 if (UNTAG_Bool(REGB1
)) {
1038 /* ../lib/standard/collection/array.nit:273 */
1039 REGB1
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
1040 if (UNTAG_Bool(REGB1
)) {
1041 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
1043 /* ../lib/standard/collection/array.nit:718 */
1044 fra
.me
.REG
[8] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB2
)];
1045 /* compiling/table_computation.nit:212 */
1047 fra
.me
.REG
[10] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1048 fra
.me
.REG
[10] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1049 /* ../lib/standard/collection/array.nit:24 */
1050 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[10])!=NIT_NULL
);
1051 if (UNTAG_Bool(REGB1
)) {
1053 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1055 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[10]);
1056 /* compiling/table_computation.nit:212 */
1058 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB0
));
1059 if (UNTAG_Bool(REGB3
)) {
1061 /* ../lib/standard/kernel.nit:230 */
1062 REGB0
= TAG_Bool((REGB1
)==(REGB0
));
1063 /* compiling/table_computation.nit:212 */
1066 if (UNTAG_Bool(REGB3
)) {
1067 /* compiling/table_computation.nit:213 */
1068 fra
.me
.REG
[10] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1069 fra
.me
.REG
[10] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1070 fra
.me
.REG
[10] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1071 fra
.me
.REG
[8] = fra
.me
.REG
[10];
1073 /* compiling/table_computation.nit:212 */
1078 /* compiling/table_computation.nit:215 */
1079 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[8]);
1080 /* compiling/table_computation.nit:216 */
1081 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1082 fra
.me
.REG
[8] = CALL_metamodel___partial_order___PartialOrderElement___greaters_and_self(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1083 CALL_standard___collection___abstract_collection___SimpleCollection___add_all(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[8]);
1084 /* ../lib/standard/collection/array.nit:274 */
1086 /* ../lib/standard/kernel.nit:238 */
1087 REGB3
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB3
));
1088 /* ../lib/standard/collection/array.nit:274 */
1091 /* ../lib/standard/collection/array.nit:272 */
1096 /* compiling/table_computation.nit:221 */
1098 CALL_compiling___table_computation___Program___colorize(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2], fra
.me
.REG
[6], REGB2
);
1099 /* compiling/table_computation.nit:224 */
1101 /* ../lib/standard/collection/array.nit:266 */
1102 fra
.me
.REG
[7] = fra
.me
.REG
[4];
1103 /* ../lib/standard/collection/array.nit:269 */
1105 /* ../lib/standard/collection/array.nit:270 */
1106 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
1107 if (UNTAG_Bool(REGB0
)) {
1109 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
1111 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
1112 /* ../lib/standard/collection/array.nit:271 */
1113 fra
.me
.REG
[1] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
1114 /* ../lib/standard/collection/array.nit:272 */
1116 /* ../lib/standard/collection/array.nit:24 */
1117 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
1118 if (UNTAG_Bool(REGB0
)) {
1120 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1122 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
1123 REGB1
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
1124 if (UNTAG_Bool(REGB1
)) {
1126 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1128 /* ../lib/standard/kernel.nit:235 */
1129 REGB0
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB0
));
1130 /* ../lib/standard/collection/array.nit:272 */
1131 if (UNTAG_Bool(REGB0
)) {
1132 /* ../lib/standard/collection/array.nit:273 */
1133 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1134 if (UNTAG_Bool(REGB0
)) {
1135 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
1137 /* ../lib/standard/collection/array.nit:718 */
1138 fra
.me
.REG
[8] = ((Nit_NativeArray
)fra
.me
.REG
[1])->val
[UNTAG_Int(REGB3
)];
1139 /* compiling/table_computation.nit:226 */
1140 fra
.me
.REG
[10] = CALL_compiling___table_computation___Program___compiled_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1141 fra
.me
.REG
[9] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1142 fra
.me
.REG
[9] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[9]);
1143 /* compiling/table_computation.nit:227 */
1144 REGB0
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[8]);
1145 if (UNTAG_Bool(REGB0
)) {
1146 /* compiling/table_computation.nit:229 */
1147 fra
.me
.REG
[10] = CALL_compiling___table_computation___CompiledClass___class_table(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1148 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]);
1149 /* compiling/table_computation.nit:230 */
1150 fra
.me
.REG
[10] = CALL_compiling___table_computation___CompiledClass___class_table(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1151 /* ../lib/standard/collection/array.nit:24 */
1152 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[10])!=NIT_NULL
);
1153 if (UNTAG_Bool(REGB0
)) {
1155 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1157 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[10]);
1158 REGB1
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
1159 if (UNTAG_Bool(REGB1
)) {
1161 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1163 /* ../lib/standard/kernel.nit:235 */
1164 REGB0
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB0
));
1165 /* compiling/table_computation.nit:230 */
1166 if (UNTAG_Bool(REGB0
)) {
1167 fra
.me
.REG
[10] = CALL_compiling___table_computation___CompiledClass___class_table(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1168 /* ../lib/standard/collection/array.nit:24 */
1169 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[10])!=NIT_NULL
);
1170 if (UNTAG_Bool(REGB0
)) {
1172 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1174 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[10]);
1175 /* compiling/table_computation.nit:230 */
1179 /* compiling/table_computation.nit:233 */
1180 fra
.me
.REG
[10] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1181 fra
.me
.REG
[10] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1182 fra
.me
.REG
[10] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1183 /* compiling/table_computation.nit:234 */
1184 fra
.me
.REG
[11] = CALL_compiling___table_computation___Program___compiled_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1185 fra
.me
.REG
[10] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1186 fra
.me
.REG
[10] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[10]);
1187 /* compiling/table_computation.nit:235 */
1188 fra
.me
.REG
[11] = CALL_compiling___table_computation___CompiledClass___class_table(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1189 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
1190 if (UNTAG_Bool(REGB0
)) {
1192 nit_abort("Assert failed", NULL
, LOCATE_compiling___table_computation
, 235);
1194 /* compiling/table_computation.nit:236 */
1195 fra
.me
.REG
[11] = CALL_compiling___table_computation___CompiledClass___class_table(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1196 fra
.me
.REG
[10] = CALL_compiling___table_computation___CompiledClass___class_table(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1197 CALL_standard___collection___abstract_collection___SimpleCollection___add_all(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[10]);
1198 /* compiling/table_computation.nit:237 */
1199 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1200 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1201 /* compiling/table_computation.nit:238 */
1202 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[8], COLOR_metamodel___abstractmetamodel___MMConcreteClass
, ID_metamodel___abstractmetamodel___MMConcreteClass
)) /*cast MMConcreteClass*/;
1203 if (UNTAG_Bool(REGB0
)) {
1205 nit_abort("Assert failed", NULL
, LOCATE_compiling___table_computation
, 238);
1207 /* compiling/table_computation.nit:239 */
1208 fra
.me
.REG
[8] = CALL_compiling___table_computation___MMConcreteClass___class_color_pos(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1209 /* compiling/table_computation.nit:240 */
1210 fra
.me
.REG
[10] = CALL_compiling___table_computation___CompiledClass___class_table(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1211 /* ../lib/standard/collection/array.nit:24 */
1212 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[10])!=NIT_NULL
);
1213 if (UNTAG_Bool(REGB0
)) {
1215 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1217 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[10]);
1218 /* compiling/table_computation.nit:241 */
1219 fra
.me
.REG
[10] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1220 CALL_compiling___table_computation___ColorContext___color__eq(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8], REGB0
);
1221 /* compiling/table_computation.nit:242 */
1222 fra
.me
.REG
[9] = CALL_compiling___table_computation___CompiledClass___class_table(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1223 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[8]);
1224 REGB1
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
1225 if (UNTAG_Bool(REGB1
)) {
1227 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1229 /* ../lib/standard/kernel.nit:235 */
1230 REGB1
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB0
));
1231 /* compiling/table_computation.nit:243 */
1232 if (UNTAG_Bool(REGB1
)) {
1236 /* ../lib/standard/collection/array.nit:274 */
1238 /* ../lib/standard/kernel.nit:238 */
1239 REGB0
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB0
));
1240 /* ../lib/standard/collection/array.nit:274 */
1243 /* ../lib/standard/collection/array.nit:272 */
1248 /* compiling/table_computation.nit:246 */
1249 fra
.me
.REG
[1] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1251 /* ../lib/standard/kernel.nit:238 */
1252 REGB3
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB3
));
1253 /* compiling/table_computation.nit:246 */
1254 CALL_compiling___table_computation___TableInformation___max_class_table_length__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB3
);
1255 /* ../lib/standard/collection/array.nit:266 */
1256 fra
.me
.REG
[1] = fra
.me
.REG
[4];
1257 /* ../lib/standard/collection/array.nit:269 */
1259 /* ../lib/standard/collection/array.nit:270 */
1260 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1261 if (UNTAG_Bool(REGB0
)) {
1263 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
1265 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1266 /* ../lib/standard/collection/array.nit:271 */
1267 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[1]);
1268 /* ../lib/standard/collection/array.nit:272 */
1270 /* ../lib/standard/collection/array.nit:24 */
1271 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1272 if (UNTAG_Bool(REGB0
)) {
1274 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1276 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1277 REGB1
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
1278 if (UNTAG_Bool(REGB1
)) {
1280 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1282 /* ../lib/standard/kernel.nit:235 */
1283 REGB0
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB0
));
1284 /* ../lib/standard/collection/array.nit:272 */
1285 if (UNTAG_Bool(REGB0
)) {
1286 /* ../lib/standard/collection/array.nit:273 */
1287 REGB0
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
1288 if (UNTAG_Bool(REGB0
)) {
1289 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
1291 /* ../lib/standard/collection/array.nit:718 */
1292 fra
.me
.REG
[8] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB3
)];
1293 /* compiling/table_computation.nit:250 */
1294 fra
.me
.REG
[9] = CALL_compiling___table_computation___Program___compiled_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1295 fra
.me
.REG
[10] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1296 fra
.me
.REG
[10] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
1297 /* compiling/table_computation.nit:251 */
1298 fra
.me
.REG
[9] = CALL_compiling___table_computation___CompiledClass___class_layout(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1299 /* compiling/table_computation.nit:252 */
1300 fra
.me
.REG
[10] = CALL_compiling___table_computation___CompiledClass___instance_layout(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1301 /* compiling/table_computation.nit:253 */
1302 fra
.me
.REG
[11] = CALL_metamodel___abstractmetamodel___MMLocalClass___crhe(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1303 fra
.me
.REG
[11] = CALL_metamodel___partial_order___PartialOrderElement___greaters_and_self(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
1304 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
));
1305 /* compiling/table_computation.nit:260 */
1306 REGB0
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[8]);
1307 if (UNTAG_Bool(REGB0
)) {
1308 /* compiling/table_computation.nit:261 */
1309 REGB0
= CALL_compiling___table_computation___TableElt___length(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1311 REGB4
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1312 if (UNTAG_Bool(REGB4
)) {
1314 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1316 /* ../lib/standard/kernel.nit:237 */
1317 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(REGB1
));
1318 /* compiling/table_computation.nit:261 */
1319 if (UNTAG_Bool(REGB1
)) {
1320 /* compiling/table_computation.nit:262 */
1321 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[9]);
1323 /* compiling/table_computation.nit:264 */
1324 REGB1
= CALL_compiling___table_computation___TableElt___length(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1326 REGB4
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1327 if (UNTAG_Bool(REGB4
)) {
1329 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1331 /* ../lib/standard/kernel.nit:237 */
1332 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)>UNTAG_Int(REGB0
));
1333 /* compiling/table_computation.nit:264 */
1334 if (UNTAG_Bool(REGB0
)) {
1335 /* compiling/table_computation.nit:265 */
1336 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[10]);
1339 /* ../lib/standard/collection/array.nit:274 */
1341 /* ../lib/standard/kernel.nit:238 */
1342 REGB0
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB0
));
1343 /* ../lib/standard/collection/array.nit:274 */
1346 /* ../lib/standard/collection/array.nit:272 */
1351 /* compiling/table_computation.nit:271 */
1353 /* ../lib/standard/kernel.nit:238 */
1354 REGB3
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB3
));
1355 /* compiling/table_computation.nit:271 */
1356 CALL_compiling___table_computation___Program___colorize(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2], fra
.me
.REG
[6], REGB3
);
1357 /* compiling/table_computation.nit:272 */
1359 CALL_compiling___table_computation___Program___colorize(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3], fra
.me
.REG
[6], REGB3
);
1360 /* compiling/table_computation.nit:275 */
1361 fra
.me
.REG
[6] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1363 CALL_compiling___table_computation___TableInformation___max_class_table_length__eq(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB3
);
1364 /* ../lib/standard/collection/array.nit:269 */
1366 /* ../lib/standard/collection/array.nit:270 */
1367 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
1368 if (UNTAG_Bool(REGB0
)) {
1370 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
1372 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
1373 /* ../lib/standard/collection/array.nit:271 */
1374 fra
.me
.REG
[6] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[4]);
1375 /* ../lib/standard/collection/array.nit:272 */
1377 /* ../lib/standard/collection/array.nit:24 */
1378 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
1379 if (UNTAG_Bool(REGB0
)) {
1381 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1383 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
1384 REGB1
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
1385 if (UNTAG_Bool(REGB1
)) {
1387 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1389 /* ../lib/standard/kernel.nit:235 */
1390 REGB0
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB0
));
1391 /* ../lib/standard/collection/array.nit:272 */
1392 if (UNTAG_Bool(REGB0
)) {
1393 /* ../lib/standard/collection/array.nit:273 */
1394 REGB0
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
1395 if (UNTAG_Bool(REGB0
)) {
1396 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
1398 /* ../lib/standard/collection/array.nit:718 */
1399 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB3
)];
1400 /* compiling/table_computation.nit:277 */
1401 fra
.me
.REG
[1] = CALL_compiling___table_computation___Program___compiled_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1402 fra
.me
.REG
[10] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1403 fra
.me
.REG
[10] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[10]);
1404 /* compiling/table_computation.nit:278 */
1405 REGB0
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[7]);
1406 if (UNTAG_Bool(REGB0
)) {
1407 /* compiling/table_computation.nit:280 */
1408 fra
.me
.REG
[1] = CALL_compiling___table_computation___CompiledClass___class_table(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1409 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]);
1410 /* compiling/table_computation.nit:281 */
1411 fra
.me
.REG
[1] = CALL_compiling___table_computation___CompiledClass___instance_table(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1412 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]);
1414 /* compiling/table_computation.nit:284 */
1415 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1416 fra
.me
.REG
[1] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1417 fra
.me
.REG
[1] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1418 /* compiling/table_computation.nit:285 */
1419 fra
.me
.REG
[9] = CALL_compiling___table_computation___Program___compiled_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1420 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1421 fra
.me
.REG
[1] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[1]);
1422 /* compiling/table_computation.nit:286 */
1423 fra
.me
.REG
[9] = CALL_compiling___table_computation___CompiledClass___class_table(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1424 CALL_standard___collection___abstract_collection___RemovableCollection___clear(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1425 /* compiling/table_computation.nit:287 */
1426 fra
.me
.REG
[9] = CALL_compiling___table_computation___CompiledClass___class_table(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1427 fra
.me
.REG
[8] = CALL_compiling___table_computation___CompiledClass___class_table(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1428 CALL_standard___collection___abstract_collection___SimpleCollection___add_all(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[8]);
1429 /* compiling/table_computation.nit:288 */
1430 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1431 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1432 /* compiling/table_computation.nit:289 */
1433 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[7], COLOR_metamodel___abstractmetamodel___MMConcreteClass
, ID_metamodel___abstractmetamodel___MMConcreteClass
)) /*cast MMConcreteClass*/;
1434 if (UNTAG_Bool(REGB0
)) {
1436 nit_abort("Assert failed", NULL
, LOCATE_compiling___table_computation
, 289);
1438 /* compiling/table_computation.nit:290 */
1439 fra
.me
.REG
[7] = CALL_compiling___table_computation___MMConcreteClass___class_color_pos(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1440 /* compiling/table_computation.nit:291 */
1441 fra
.me
.REG
[8] = CALL_compiling___table_computation___CompiledClass___class_table(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1442 fra
.me
.REG
[9] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1443 REGB0
= CALL_compiling___table_computation___ColorContext___color(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[7]);
1444 CALL_standard___collection___abstract_collection___Sequence_____braeq(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB0
, fra
.me
.REG
[7]);
1445 /* compiling/table_computation.nit:292 */
1447 fra
.me
.REG
[7] = CALL_compiling___table_computation___CompiledClass___class_table(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1448 /* ../lib/standard/collection/array.nit:24 */
1449 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
1450 if (UNTAG_Bool(REGB0
)) {
1452 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1454 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
1455 REGB1
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1456 if (UNTAG_Bool(REGB1
)) {
1458 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1460 /* ../lib/standard/kernel.nit:234 */
1461 REGB0
= TAG_Bool(UNTAG_Int(REGB0
)<=UNTAG_Int(REGB2
));
1462 /* compiling/table_computation.nit:292 */
1463 if (UNTAG_Bool(REGB0
)) {
1464 /* compiling/table_computation.nit:293 */
1465 fra
.me
.REG
[7] = CALL_compiling___table_computation___CompiledClass___class_table(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1466 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], NIT_NULL
);
1468 /* compiling/table_computation.nit:292 */
1473 /* compiling/table_computation.nit:295 */
1474 fra
.me
.REG
[7] = CALL_compiling___table_computation___CompiledClass___class_table(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1475 fra
.me
.REG
[8] = CALL_compiling___table_computation___CompiledClass___class_layout(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1476 CALL_compiling___table_computation___Program___append_to_table(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[7], fra
.me
.REG
[8]);
1477 /* compiling/table_computation.nit:296 */
1478 fra
.me
.REG
[8] = CALL_compiling___table_computation___CompiledClass___instance_table(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1479 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1480 if (UNTAG_Bool(REGB0
)) {
1482 nit_abort("Assert failed", NULL
, LOCATE_compiling___table_computation
, 296);
1484 /* compiling/table_computation.nit:297 */
1485 fra
.me
.REG
[8] = CALL_compiling___table_computation___CompiledClass___instance_table(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1486 fra
.me
.REG
[1] = CALL_compiling___table_computation___CompiledClass___instance_table(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1487 CALL_standard___collection___abstract_collection___SimpleCollection___add_all(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[1]);
1488 /* compiling/table_computation.nit:298 */
1489 fra
.me
.REG
[1] = CALL_compiling___table_computation___CompiledClass___instance_table(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1490 fra
.me
.REG
[10] = CALL_compiling___table_computation___CompiledClass___instance_layout(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1491 CALL_compiling___table_computation___Program___append_to_table(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[10]);
1493 /* ../lib/standard/collection/array.nit:274 */
1495 /* ../lib/standard/kernel.nit:238 */
1496 REGB0
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB0
));
1497 /* ../lib/standard/collection/array.nit:274 */
1500 /* ../lib/standard/collection/array.nit:272 */
1505 stack_frame_head
= fra
.me
.prev
;
1508 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
){
1509 struct {struct stack_frame_t me
;} fra
;
1512 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1513 fra
.me
.file
= LOCATE_compiling___table_computation
;
1515 fra
.me
.meth
= LOCATE_compiling___table_computation___Program___do_global_table_analysis
;
1516 fra
.me
.has_broke
= 0;
1517 fra
.me
.REG_size
= 1;
1518 fra
.me
.nitni_local_ref_head
= NULL
;
1519 fra
.me
.REG
[0] = NIT_NULL
;
1520 fra
.me
.closure_ctx
= closctx_param
;
1521 fra
.me
.closure_funs
= CREG
;
1523 CREG
[0] = clos_fun0
;
1524 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[4])(closctx
->REG
[4], fra
.me
.REG
[0]);
1525 stack_frame_head
= fra
.me
.prev
;
1528 val_t
OC_compiling___table_computation___Program___do_global_table_analysis_2(struct stack_frame_t
*closctx
, val_t p0
, val_t p1
){
1529 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1532 /* compiling/table_computation.nit:178 */
1533 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1534 fra
.me
.file
= LOCATE_compiling___table_computation
;
1536 fra
.me
.meth
= LOCATE_compiling___table_computation___Program___do_global_table_analysis
;
1537 fra
.me
.has_broke
= 0;
1538 fra
.me
.REG_size
= 2;
1539 fra
.me
.nitni_local_ref_head
= NULL
;
1540 fra
.me
.REG
[0] = NIT_NULL
;
1541 fra
.me
.REG
[1] = NIT_NULL
;
1544 REGB0
= CALL_metamodel___abstractmetamodel___MMLocalClass___total_order_compare(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1547 stack_frame_head
= fra
.me
.prev
;
1550 void OC_compiling___table_computation___Program___do_global_table_analysis_8(struct stack_frame_t
*closctx
, val_t p0
){
1551 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1554 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1555 fra
.me
.file
= LOCATE_compiling___table_computation
;
1557 fra
.me
.meth
= LOCATE_compiling___table_computation___Program___do_global_table_analysis
;
1558 fra
.me
.has_broke
= 0;
1559 fra
.me
.REG_size
= 2;
1560 fra
.me
.nitni_local_ref_head
= NULL
;
1561 fra
.me
.REG
[0] = NIT_NULL
;
1562 fra
.me
.REG
[1] = NIT_NULL
;
1564 /* compiling/table_computation.nit:254 */
1565 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_metamodel___abstractmetamodel___MMConcreteClass
, ID_metamodel___abstractmetamodel___MMConcreteClass
)) /*cast MMConcreteClass*/;
1566 if (UNTAG_Bool(REGB0
)) {
1567 /* compiling/table_computation.nit:255 */
1568 fra
.me
.REG
[1] = CALL_compiling___table_computation___MMConcreteClass___class_layout(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1569 CALL_compiling___table_computation___TableEltComposite___add(closctx
->REG
[9])(closctx
->REG
[9], fra
.me
.REG
[0], fra
.me
.REG
[1]);
1570 /* compiling/table_computation.nit:256 */
1571 fra
.me
.REG
[1] = CALL_compiling___table_computation___MMConcreteClass___instance_layout(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1572 CALL_compiling___table_computation___TableEltComposite___add(closctx
->REG
[10])(closctx
->REG
[10], fra
.me
.REG
[0], fra
.me
.REG
[1]);
1574 stack_frame_head
= fra
.me
.prev
;
1577 static const char LOCATE_compiling___table_computation___Program___colorize
[] = "table_computation::Program::colorize";
1578 void compiling___table_computation___Program___colorize(val_t p0
, val_t p1
, val_t p2
, val_t p3
){
1579 struct {struct stack_frame_t me
; val_t MORE_REG
[10];} fra
;
1590 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1591 fra
.me
.file
= LOCATE_compiling___table_computation
;
1593 fra
.me
.meth
= LOCATE_compiling___table_computation___Program___colorize
;
1594 fra
.me
.has_broke
= 0;
1595 fra
.me
.REG_size
= 11;
1596 fra
.me
.nitni_local_ref_head
= NULL
;
1597 fra
.me
.REG
[0] = NIT_NULL
;
1598 fra
.me
.REG
[1] = NIT_NULL
;
1599 fra
.me
.REG
[2] = NIT_NULL
;
1600 fra
.me
.REG
[3] = NIT_NULL
;
1601 fra
.me
.REG
[4] = NIT_NULL
;
1602 fra
.me
.REG
[5] = NIT_NULL
;
1603 fra
.me
.REG
[6] = NIT_NULL
;
1604 fra
.me
.REG
[7] = NIT_NULL
;
1605 fra
.me
.REG
[8] = NIT_NULL
;
1606 fra
.me
.REG
[9] = NIT_NULL
;
1607 fra
.me
.REG
[10] = NIT_NULL
;
1612 /* compiling/table_computation.nit:306 */
1613 fra
.me
.REG
[3] = NEW_HashMap_standard___collection___hash_collection___HashMap___init();
1614 /* compiling/table_computation.nit:307 */
1615 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___init();
1616 /* ../lib/standard/collection/array.nit:269 */
1618 /* ../lib/standard/collection/array.nit:270 */
1619 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1620 if (UNTAG_Bool(REGB2
)) {
1622 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
1624 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1625 /* ../lib/standard/collection/array.nit:271 */
1626 fra
.me
.REG
[5] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[1]);
1627 /* ../lib/standard/collection/array.nit:272 */
1629 /* ../lib/standard/collection/array.nit:24 */
1630 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1631 if (UNTAG_Bool(REGB2
)) {
1633 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1635 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1636 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1637 if (UNTAG_Bool(REGB3
)) {
1639 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1641 /* ../lib/standard/kernel.nit:235 */
1642 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
1643 /* ../lib/standard/collection/array.nit:272 */
1644 if (UNTAG_Bool(REGB2
)) {
1645 /* ../lib/standard/collection/array.nit:273 */
1646 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
1647 if (UNTAG_Bool(REGB2
)) {
1648 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
1650 /* ../lib/standard/collection/array.nit:718 */
1651 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB1
)];
1652 /* compiling/table_computation.nit:309 */
1654 /* ../lib/standard/kernel.nit:239 */
1655 REGB2
= TAG_Int(-UNTAG_Int(REGB2
));
1656 /* compiling/table_computation.nit:310 */
1657 REGB3
= CALL_compiling___table_computation___TableElt___length(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1658 /* compiling/table_computation.nit:311 */
1659 fra
.me
.REG
[7] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1660 REGB4
= CALL_compiling___table_computation___ColorContext___has_color(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
1661 if (UNTAG_Bool(REGB4
)) {
1662 /* compiling/table_computation.nit:312 */
1663 fra
.me
.REG
[7] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1664 REGB4
= CALL_compiling___table_computation___ColorContext___color(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
1667 /* compiling/table_computation.nit:314 */
1668 CALL_standard___collection___abstract_collection___RemovableCollection___clear(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1669 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
));
1670 /* compiling/table_computation.nit:320 */
1672 /* compiling/table_computation.nit:321 */
1674 REGB5
= TAG_Bool(IS_EQUAL_OO(REGB4
,REGB2
));
1675 if (UNTAG_Bool(REGB5
)) {
1677 /* ../lib/standard/kernel.nit:230 */
1678 REGB6
= TAG_Bool((REGB4
)==(REGB2
));
1679 /* compiling/table_computation.nit:321 */
1682 REGB5
= TAG_Bool(!UNTAG_Bool(REGB5
));
1683 if (UNTAG_Bool(REGB5
)) {
1684 /* compiling/table_computation.nit:322 */
1686 /* ../lib/standard/collection/array.nit:266 */
1687 fra
.me
.REG
[7] = fra
.me
.REG
[4];
1688 /* ../lib/standard/collection/array.nit:269 */
1690 /* ../lib/standard/collection/array.nit:270 */
1691 REGB6
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
1692 if (UNTAG_Bool(REGB6
)) {
1694 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
1696 REGB6
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
1697 /* ../lib/standard/collection/array.nit:271 */
1698 fra
.me
.REG
[8] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
1699 /* ../lib/standard/collection/array.nit:272 */
1701 /* ../lib/standard/collection/array.nit:24 */
1702 REGB6
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
1703 if (UNTAG_Bool(REGB6
)) {
1705 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1707 REGB6
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
1708 REGB7
= TAG_Bool(VAL_ISA(REGB6
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB5
), VTID_standard___kernel___Comparable___OTHER(REGB5
))) /*cast OTHER*/;
1709 if (UNTAG_Bool(REGB7
)) {
1711 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1713 /* ../lib/standard/kernel.nit:235 */
1714 REGB6
= TAG_Bool(UNTAG_Int(REGB5
)<UNTAG_Int(REGB6
));
1715 /* ../lib/standard/collection/array.nit:272 */
1716 if (UNTAG_Bool(REGB6
)) {
1717 /* ../lib/standard/collection/array.nit:273 */
1718 REGB6
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
1719 if (UNTAG_Bool(REGB6
)) {
1720 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
1722 /* ../lib/standard/collection/array.nit:718 */
1723 fra
.me
.REG
[9] = ((Nit_NativeArray
)fra
.me
.REG
[8])->val
[UNTAG_Int(REGB5
)];
1724 /* compiling/table_computation.nit:324 */
1726 /* compiling/table_computation.nit:325 */
1728 REGB7
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB6
), VTID_standard___kernel___Comparable___OTHER(REGB6
))) /*cast OTHER*/;
1729 if (UNTAG_Bool(REGB7
)) {
1731 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1733 /* ../lib/standard/kernel.nit:235 */
1734 REGB7
= TAG_Bool(UNTAG_Int(REGB6
)<UNTAG_Int(REGB3
));
1735 /* compiling/table_computation.nit:325 */
1736 if (UNTAG_Bool(REGB7
)) {
1737 /* ../lib/standard/kernel.nit:238 */
1738 REGB7
= TAG_Int(UNTAG_Int(REGB4
)+UNTAG_Int(REGB6
));
1739 /* compiling/table_computation.nit:326 */
1740 REGB7
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB7
);
1741 if (UNTAG_Bool(REGB7
)) {
1742 /* ../lib/standard/kernel.nit:238 */
1743 REGB7
= TAG_Int(UNTAG_Int(REGB4
)+UNTAG_Int(REGB6
));
1744 /* compiling/table_computation.nit:326 */
1745 fra
.me
.REG
[10] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB7
);
1746 REGB7
= CALL_compiling___table_computation___Program___free_color(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[10], fra
.me
.REG
[9]);
1747 REGB7
= TAG_Bool(!UNTAG_Bool(REGB7
));
1749 REGB8
= TAG_Bool(0);
1752 if (UNTAG_Bool(REGB7
)) {
1753 /* ../lib/standard/kernel.nit:238 */
1754 REGB7
= TAG_Int(UNTAG_Int(REGB4
)+UNTAG_Int(REGB6
));
1755 /* compiling/table_computation.nit:327 */
1757 /* ../lib/standard/kernel.nit:238 */
1758 REGB8
= TAG_Int(UNTAG_Int(REGB7
)+UNTAG_Int(REGB8
));
1759 /* compiling/table_computation.nit:327 */
1761 /* compiling/table_computation.nit:328 */
1765 /* compiling/table_computation.nit:330 */
1767 /* ../lib/standard/kernel.nit:238 */
1768 REGB8
= TAG_Int(UNTAG_Int(REGB6
)+UNTAG_Int(REGB8
));
1769 /* compiling/table_computation.nit:330 */
1773 /* compiling/table_computation.nit:325 */
1778 /* ../lib/standard/collection/array.nit:274 */
1780 /* ../lib/standard/kernel.nit:238 */
1781 REGB6
= TAG_Int(UNTAG_Int(REGB5
)+UNTAG_Int(REGB6
));
1782 /* ../lib/standard/collection/array.nit:274 */
1785 /* ../lib/standard/collection/array.nit:272 */
1791 /* compiling/table_computation.nit:321 */
1796 /* compiling/table_computation.nit:335 */
1797 fra
.me
.REG
[8] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1798 CALL_compiling___table_computation___ColorContext___color__eq(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[6], REGB2
);
1800 /* compiling/table_computation.nit:337 */
1802 /* ../lib/standard/kernel.nit:355 */
1804 REGB5
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB4
), VTID_standard___kernel___Comparable___OTHER(REGB4
))) /*cast OTHER*/;
1805 if (UNTAG_Bool(REGB5
)) {
1807 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1809 /* ../lib/standard/kernel.nit:235 */
1810 REGB5
= TAG_Bool(UNTAG_Int(REGB4
)<UNTAG_Int(REGB3
));
1811 /* ../lib/standard/kernel.nit:355 */
1812 if (UNTAG_Bool(REGB5
)) {
1813 /* compiling/table_computation.nit:337 */
1815 /* ../lib/standard/kernel.nit:238 */
1816 REGB6
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB5
));
1817 /* compiling/table_computation.nit:338 */
1818 REGB6
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB6
);
1819 if (UNTAG_Bool(REGB6
)) {
1820 /* ../lib/standard/kernel.nit:238 */
1821 REGB6
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB5
));
1822 /* compiling/table_computation.nit:339 */
1823 fra
.me
.REG
[8] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB6
);
1824 REGB6
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
1825 if (UNTAG_Bool(REGB6
)) {
1826 nit_abort("Reciever is null", NULL
, LOCATE_compiling___table_computation
, 339);
1828 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[6]);
1830 /* ../lib/standard/kernel.nit:238 */
1831 REGB5
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB5
));
1832 /* compiling/table_computation.nit:341 */
1834 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB6
);
1835 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[6]);
1836 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB5
, fra
.me
.REG
[8]);
1838 /* ../lib/standard/kernel.nit:357 */
1840 /* ../lib/standard/kernel.nit:238 */
1841 REGB5
= TAG_Int(UNTAG_Int(REGB4
)+UNTAG_Int(REGB5
));
1842 /* ../lib/standard/kernel.nit:357 */
1845 /* ../lib/standard/kernel.nit:355 */
1850 /* ../lib/standard/collection/array.nit:274 */
1852 /* ../lib/standard/kernel.nit:238 */
1853 REGB4
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB4
));
1854 /* ../lib/standard/collection/array.nit:274 */
1857 /* ../lib/standard/collection/array.nit:272 */
1862 stack_frame_head
= fra
.me
.prev
;
1865 void OC_compiling___table_computation___Program___colorize_1(struct stack_frame_t
*closctx
, val_t p0
){
1866 struct {struct stack_frame_t me
;} fra
;
1869 /* compiling/table_computation.nit:315 */
1870 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1871 fra
.me
.file
= LOCATE_compiling___table_computation
;
1873 fra
.me
.meth
= LOCATE_compiling___table_computation___Program___colorize
;
1874 fra
.me
.has_broke
= 0;
1875 fra
.me
.REG_size
= 1;
1876 fra
.me
.nitni_local_ref_head
= NULL
;
1877 fra
.me
.REG
[0] = NIT_NULL
;
1879 /* compiling/table_computation.nit:316 */
1880 REGB0
= CALL_compiling___table_computation___TableElt___is_related_to(closctx
->REG
[6])(closctx
->REG
[6], fra
.me
.REG
[0]);
1881 if (UNTAG_Bool(REGB0
)) {
1882 /* compiling/table_computation.nit:317 */
1883 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[4])(closctx
->REG
[4], fra
.me
.REG
[0]);
1885 stack_frame_head
= fra
.me
.prev
;
1888 static const char LOCATE_compiling___table_computation___Program___free_color
[] = "table_computation::Program::free_color";
1889 val_t
compiling___table_computation___Program___free_color(val_t p0
, val_t p1
, val_t p2
){
1890 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1895 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1896 fra
.me
.file
= LOCATE_compiling___table_computation
;
1898 fra
.me
.meth
= LOCATE_compiling___table_computation___Program___free_color
;
1899 fra
.me
.has_broke
= 0;
1900 fra
.me
.REG_size
= 4;
1901 fra
.me
.nitni_local_ref_head
= NULL
;
1902 fra
.me
.REG
[0] = NIT_NULL
;
1903 fra
.me
.REG
[1] = NIT_NULL
;
1904 fra
.me
.REG
[2] = NIT_NULL
;
1905 fra
.me
.REG
[3] = NIT_NULL
;
1909 /* ../lib/standard/collection/array.nit:269 */
1911 /* ../lib/standard/collection/array.nit:270 */
1912 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1913 if (UNTAG_Bool(REGB1
)) {
1915 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
1917 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1918 /* ../lib/standard/collection/array.nit:271 */
1919 fra
.me
.REG
[0] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[1]);
1920 /* ../lib/standard/collection/array.nit:272 */
1922 /* ../lib/standard/collection/array.nit:24 */
1923 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1924 if (UNTAG_Bool(REGB1
)) {
1926 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1928 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1929 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1930 if (UNTAG_Bool(REGB2
)) {
1932 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1934 /* ../lib/standard/kernel.nit:235 */
1935 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1936 /* ../lib/standard/collection/array.nit:272 */
1937 if (UNTAG_Bool(REGB1
)) {
1938 /* ../lib/standard/collection/array.nit:273 */
1939 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1940 if (UNTAG_Bool(REGB1
)) {
1941 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
1943 /* ../lib/standard/collection/array.nit:718 */
1944 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[0])->val
[UNTAG_Int(REGB0
)];
1945 /* compiling/table_computation.nit:350 */
1946 REGB1
= CALL_compiling___table_computation___TableElt___is_related_to(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
1947 if (UNTAG_Bool(REGB1
)) {
1948 /* compiling/table_computation.nit:351 */
1949 REGB1
= TAG_Bool(0);
1952 /* ../lib/standard/collection/array.nit:274 */
1954 /* ../lib/standard/kernel.nit:238 */
1955 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
1956 /* ../lib/standard/collection/array.nit:274 */
1959 /* ../lib/standard/collection/array.nit:272 */
1964 /* compiling/table_computation.nit:354 */
1965 REGB0
= TAG_Bool(1);
1969 stack_frame_head
= fra
.me
.prev
;
1972 static const char LOCATE_compiling___table_computation___Program___append_to_table
[] = "table_computation::Program::append_to_table";
1973 void compiling___table_computation___Program___append_to_table(val_t p0
, val_t p1
, val_t p2
){
1974 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
1979 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1980 fra
.me
.file
= LOCATE_compiling___table_computation
;
1982 fra
.me
.meth
= LOCATE_compiling___table_computation___Program___append_to_table
;
1983 fra
.me
.has_broke
= 0;
1984 fra
.me
.REG_size
= 5;
1985 fra
.me
.nitni_local_ref_head
= NULL
;
1986 fra
.me
.REG
[0] = NIT_NULL
;
1987 fra
.me
.REG
[1] = NIT_NULL
;
1988 fra
.me
.REG
[2] = NIT_NULL
;
1989 fra
.me
.REG
[3] = NIT_NULL
;
1990 fra
.me
.REG
[4] = NIT_NULL
;
1994 /* compiling/table_computation.nit:359 */
1996 REGB1
= CALL_compiling___table_computation___TableElt___length(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1997 /* ../lib/standard/kernel.nit:355 */
1999 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
2000 if (UNTAG_Bool(REGB2
)) {
2002 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2004 /* ../lib/standard/kernel.nit:235 */
2005 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
2006 /* ../lib/standard/kernel.nit:355 */
2007 if (UNTAG_Bool(REGB2
)) {
2008 /* compiling/table_computation.nit:359 */
2010 /* compiling/table_computation.nit:360 */
2011 fra
.me
.REG
[3] = CALL_compiling___table_computation___TableElt___item(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB2
);
2012 /* compiling/table_computation.nit:361 */
2013 fra
.me
.REG
[4] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2014 /* ../lib/standard/collection/array.nit:24 */
2015 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
2016 if (UNTAG_Bool(REGB2
)) {
2018 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
2020 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
2021 /* compiling/table_computation.nit:361 */
2022 CALL_compiling___table_computation___ColorContext___color__eq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3], REGB2
);
2023 /* compiling/table_computation.nit:362 */
2024 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2025 /* ../lib/standard/kernel.nit:357 */
2027 /* ../lib/standard/kernel.nit:238 */
2028 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
2029 /* ../lib/standard/kernel.nit:357 */
2032 /* ../lib/standard/kernel.nit:355 */
2037 stack_frame_head
= fra
.me
.prev
;
2040 static const char LOCATE_compiling___table_computation___Program___build_tables_in
[] = "table_computation::Program::build_tables_in";
2041 void compiling___table_computation___Program___build_tables_in(val_t p0
, val_t p1
, val_t p2
, val_t p3
){
2042 struct {struct stack_frame_t me
; val_t MORE_REG
[7];} fra
;
2049 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2050 fra
.me
.file
= LOCATE_compiling___table_computation
;
2052 fra
.me
.meth
= LOCATE_compiling___table_computation___Program___build_tables_in
;
2053 fra
.me
.has_broke
= 0;
2054 fra
.me
.REG_size
= 8;
2055 fra
.me
.nitni_local_ref_head
= NULL
;
2056 fra
.me
.REG
[0] = NIT_NULL
;
2057 fra
.me
.REG
[1] = NIT_NULL
;
2058 fra
.me
.REG
[2] = NIT_NULL
;
2059 fra
.me
.REG
[3] = NIT_NULL
;
2060 fra
.me
.REG
[4] = NIT_NULL
;
2061 fra
.me
.REG
[5] = NIT_NULL
;
2062 fra
.me
.REG
[6] = NIT_NULL
;
2063 fra
.me
.REG
[7] = NIT_NULL
;
2068 /* compiling/table_computation.nit:368 */
2069 fra
.me
.REG
[4] = NEW_HashMap_standard___collection___hash_collection___HashMap___init();
2070 /* compiling/table_computation.nit:369 */
2072 /* ../lib/standard/collection/array.nit:269 */
2074 /* ../lib/standard/collection/array.nit:270 */
2075 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
2076 if (UNTAG_Bool(REGB2
)) {
2078 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
2080 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
2081 /* ../lib/standard/collection/array.nit:271 */
2082 fra
.me
.REG
[5] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[3]);
2083 /* ../lib/standard/collection/array.nit:272 */
2085 /* ../lib/standard/collection/array.nit:24 */
2086 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
2087 if (UNTAG_Bool(REGB2
)) {
2089 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
2091 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
2092 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
2093 if (UNTAG_Bool(REGB3
)) {
2095 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2097 /* ../lib/standard/kernel.nit:235 */
2098 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
2099 /* ../lib/standard/collection/array.nit:272 */
2100 if (UNTAG_Bool(REGB2
)) {
2101 /* ../lib/standard/collection/array.nit:273 */
2102 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
2103 if (UNTAG_Bool(REGB2
)) {
2104 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
2106 /* ../lib/standard/collection/array.nit:718 */
2107 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB1
)];
2108 /* compiling/table_computation.nit:371 */
2109 REGB2
= CALL_compiling___table_computation___TableElt___is_related_to(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
2110 if (UNTAG_Bool(REGB2
)) {
2111 /* compiling/table_computation.nit:372 */
2112 fra
.me
.REG
[7] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2113 REGB2
= CALL_compiling___table_computation___ColorContext___color(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
2114 /* compiling/table_computation.nit:373 */
2115 REGB3
= CALL_compiling___table_computation___TableElt___length(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
2116 /* ../lib/standard/kernel.nit:238 */
2117 REGB3
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB3
));
2118 /* compiling/table_computation.nit:374 */
2119 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB2
, fra
.me
.REG
[6]);
2120 REGB2
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
2121 if (UNTAG_Bool(REGB2
)) {
2123 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2125 /* ../lib/standard/kernel.nit:235 */
2126 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB3
));
2127 /* compiling/table_computation.nit:375 */
2128 if (UNTAG_Bool(REGB2
)) {
2129 /* compiling/table_computation.nit:376 */
2133 /* ../lib/standard/collection/array.nit:274 */
2135 /* ../lib/standard/kernel.nit:238 */
2136 REGB3
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB3
));
2137 /* ../lib/standard/collection/array.nit:274 */
2140 /* ../lib/standard/collection/array.nit:272 */
2145 /* compiling/table_computation.nit:380 */
2147 /* compiling/table_computation.nit:381 */
2149 REGB3
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
2150 if (UNTAG_Bool(REGB3
)) {
2152 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2154 /* ../lib/standard/kernel.nit:235 */
2155 REGB3
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB0
));
2156 /* compiling/table_computation.nit:381 */
2157 if (UNTAG_Bool(REGB3
)) {
2158 /* compiling/table_computation.nit:382 */
2159 REGB3
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB1
);
2160 if (UNTAG_Bool(REGB3
)) {
2161 /* compiling/table_computation.nit:383 */
2162 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB1
);
2163 /* compiling/table_computation.nit:384 */
2165 REGB2
= CALL_compiling___table_computation___TableElt___length(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2166 /* ../lib/standard/kernel.nit:355 */
2168 REGB4
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
2169 if (UNTAG_Bool(REGB4
)) {
2171 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2173 /* ../lib/standard/kernel.nit:235 */
2174 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB2
));
2175 /* ../lib/standard/kernel.nit:355 */
2176 if (UNTAG_Bool(REGB4
)) {
2177 /* compiling/table_computation.nit:384 */
2179 /* compiling/table_computation.nit:385 */
2180 fra
.me
.REG
[2] = CALL_compiling___table_computation___TableElt___item(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB4
);
2181 CALL_standard___collection___abstract_collection___Sequence_____braeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB1
, fra
.me
.REG
[2]);
2182 /* compiling/table_computation.nit:386 */
2184 /* ../lib/standard/kernel.nit:238 */
2185 REGB4
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB4
));
2186 /* compiling/table_computation.nit:386 */
2188 /* ../lib/standard/kernel.nit:357 */
2190 /* ../lib/standard/kernel.nit:238 */
2191 REGB4
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB4
));
2192 /* ../lib/standard/kernel.nit:357 */
2195 /* ../lib/standard/kernel.nit:355 */
2201 /* compiling/table_computation.nit:389 */
2202 CALL_standard___collection___abstract_collection___Sequence_____braeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB1
, NIT_NULL
);
2203 /* compiling/table_computation.nit:390 */
2205 /* ../lib/standard/kernel.nit:238 */
2206 REGB3
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB3
));
2207 /* compiling/table_computation.nit:390 */
2211 /* compiling/table_computation.nit:381 */
2216 stack_frame_head
= fra
.me
.prev
;
2219 static const char LOCATE_compiling___table_computation___MMModule___local_table
[] = "table_computation::MMModule::local_table";
2220 val_t
compiling___table_computation___MMModule___local_table(val_t p0
){
2221 struct {struct stack_frame_t me
;} fra
;
2224 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2225 fra
.me
.file
= LOCATE_compiling___table_computation
;
2227 fra
.me
.meth
= LOCATE_compiling___table_computation___MMModule___local_table
;
2228 fra
.me
.has_broke
= 0;
2229 fra
.me
.REG_size
= 1;
2230 fra
.me
.nitni_local_ref_head
= NULL
;
2231 fra
.me
.REG
[0] = NIT_NULL
;
2233 /* compiling/table_computation.nit:397 */
2234 REGB0
= TAG_Bool(ATTR_compiling___table_computation___MMModule____local_table(fra
.me
.REG
[0])!=NIT_NULL
);
2235 if (UNTAG_Bool(REGB0
)) {
2237 nit_abort("Uninitialized attribute %s", "_local_table", LOCATE_compiling___table_computation
, 397);
2239 fra
.me
.REG
[0] = ATTR_compiling___table_computation___MMModule____local_table(fra
.me
.REG
[0]);
2240 stack_frame_head
= fra
.me
.prev
;
2241 return fra
.me
.REG
[0];
2243 static const char LOCATE_compiling___table_computation___MMModule___local_analysis
[] = "table_computation::MMModule::local_analysis";
2244 void compiling___table_computation___MMModule___local_analysis(val_t p0
){
2245 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2247 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2248 fra
.me
.file
= LOCATE_compiling___table_computation
;
2250 fra
.me
.meth
= LOCATE_compiling___table_computation___MMModule___local_analysis
;
2251 fra
.me
.has_broke
= 0;
2252 fra
.me
.REG_size
= 2;
2253 fra
.me
.nitni_local_ref_head
= NULL
;
2254 fra
.me
.REG
[0] = NIT_NULL
;
2255 fra
.me
.REG
[1] = NIT_NULL
;
2257 /* compiling/table_computation.nit:403 */
2258 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMModule___local_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2259 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
));
2260 stack_frame_head
= fra
.me
.prev
;
2263 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
){
2264 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2268 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2269 fra
.me
.file
= LOCATE_compiling___table_computation
;
2271 fra
.me
.meth
= LOCATE_compiling___table_computation___MMModule___local_analysis
;
2272 fra
.me
.has_broke
= 0;
2273 fra
.me
.REG_size
= 2;
2274 fra
.me
.nitni_local_ref_head
= NULL
;
2275 fra
.me
.REG
[0] = NIT_NULL
;
2276 fra
.me
.REG
[1] = NIT_NULL
;
2277 fra
.me
.closure_ctx
= closctx_param
;
2278 fra
.me
.closure_funs
= CREG
;
2280 CREG
[0] = clos_fun0
;
2281 /* compiling/table_computation.nit:404 */
2282 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_metamodel___abstractmetamodel___MMConcreteClass
, ID_metamodel___abstractmetamodel___MMConcreteClass
)) /*cast MMConcreteClass*/;
2283 if (UNTAG_Bool(REGB0
)) {
2284 /* compiling/table_computation.nit:405 */
2285 REGB0
= TAG_Bool(ATTR_compiling___table_computation___MMModule____local_table(closctx
->REG
[0])!=NIT_NULL
);
2286 if (UNTAG_Bool(REGB0
)) {
2288 nit_abort("Uninitialized attribute %s", "_local_table", LOCATE_compiling___table_computation
, 405);
2290 fra
.me
.REG
[1] = ATTR_compiling___table_computation___MMModule____local_table(closctx
->REG
[0]);
2291 CALL_compiling___table_computation___MMConcreteClass___build_layout_in(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2293 stack_frame_head
= fra
.me
.prev
;
2296 static const char LOCATE_compiling___table_computation___TableElt___is_related_to
[] = "table_computation::TableElt::is_related_to";
2297 val_t
compiling___table_computation___TableElt___is_related_to(val_t p0
, val_t p1
){
2298 struct {struct stack_frame_t me
;} fra
;
2300 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2301 fra
.me
.file
= LOCATE_compiling___table_computation
;
2303 fra
.me
.meth
= LOCATE_compiling___table_computation___TableElt___is_related_to
;
2304 fra
.me
.has_broke
= 0;
2305 fra
.me
.REG_size
= 0;
2306 fra
.me
.nitni_local_ref_head
= NULL
;
2307 /* compiling/table_computation.nit:421 */
2308 nit_abort("Deferred method called", NULL
, LOCATE_compiling___table_computation
, 421);
2309 stack_frame_head
= fra
.me
.prev
;
2312 static const char LOCATE_compiling___table_computation___TableElt___length
[] = "table_computation::TableElt::length";
2313 val_t
compiling___table_computation___TableElt___length(val_t p0
){
2314 struct {struct stack_frame_t me
;} fra
;
2317 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2318 fra
.me
.file
= LOCATE_compiling___table_computation
;
2320 fra
.me
.meth
= LOCATE_compiling___table_computation___TableElt___length
;
2321 fra
.me
.has_broke
= 0;
2322 fra
.me
.REG_size
= 1;
2323 fra
.me
.nitni_local_ref_head
= NULL
;
2324 fra
.me
.REG
[0] = NIT_NULL
;
2326 /* compiling/table_computation.nit:425 */
2330 stack_frame_head
= fra
.me
.prev
;
2333 static const char LOCATE_compiling___table_computation___TableElt___item
[] = "table_computation::TableElt::item";
2334 val_t
compiling___table_computation___TableElt___item(val_t p0
, val_t p1
){
2335 struct {struct stack_frame_t me
;} fra
;
2338 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2339 fra
.me
.file
= LOCATE_compiling___table_computation
;
2341 fra
.me
.meth
= LOCATE_compiling___table_computation___TableElt___item
;
2342 fra
.me
.has_broke
= 0;
2343 fra
.me
.REG_size
= 1;
2344 fra
.me
.nitni_local_ref_head
= NULL
;
2345 fra
.me
.REG
[0] = NIT_NULL
;
2348 /* compiling/table_computation.nit:428 */
2351 stack_frame_head
= fra
.me
.prev
;
2352 return fra
.me
.REG
[0];
2354 static const char LOCATE_compiling___table_computation___ModuleTableEltGroup___elements
[] = "table_computation::ModuleTableEltGroup::elements";
2355 val_t
compiling___table_computation___ModuleTableEltGroup___elements(val_t p0
){
2356 struct {struct stack_frame_t me
;} fra
;
2359 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2360 fra
.me
.file
= LOCATE_compiling___table_computation
;
2362 fra
.me
.meth
= LOCATE_compiling___table_computation___ModuleTableEltGroup___elements
;
2363 fra
.me
.has_broke
= 0;
2364 fra
.me
.REG_size
= 1;
2365 fra
.me
.nitni_local_ref_head
= NULL
;
2366 fra
.me
.REG
[0] = NIT_NULL
;
2368 /* compiling/table_computation.nit:440 */
2369 REGB0
= TAG_Bool(ATTR_compiling___table_computation___ModuleTableEltGroup____elements(fra
.me
.REG
[0])!=NIT_NULL
);
2370 if (UNTAG_Bool(REGB0
)) {
2372 nit_abort("Uninitialized attribute %s", "_elements", LOCATE_compiling___table_computation
, 440);
2374 fra
.me
.REG
[0] = ATTR_compiling___table_computation___ModuleTableEltGroup____elements(fra
.me
.REG
[0]);
2375 stack_frame_head
= fra
.me
.prev
;
2376 return fra
.me
.REG
[0];
2378 static const char LOCATE_compiling___table_computation___ModuleTableEltGroup___init
[] = "table_computation::ModuleTableEltGroup::init";
2379 void compiling___table_computation___ModuleTableEltGroup___init(val_t p0
, int* init_table
){
2380 int itpos2
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_compiling___table_computation___ModuleTableEltGroup
].i
;
2381 struct {struct stack_frame_t me
;} fra
;
2383 if (init_table
[itpos2
]) return;
2384 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2385 fra
.me
.file
= LOCATE_compiling___table_computation
;
2387 fra
.me
.meth
= LOCATE_compiling___table_computation___ModuleTableEltGroup___init
;
2388 fra
.me
.has_broke
= 0;
2389 fra
.me
.REG_size
= 0;
2390 fra
.me
.nitni_local_ref_head
= NULL
;
2391 stack_frame_head
= fra
.me
.prev
;
2392 init_table
[itpos2
] = 1;
2395 static const char LOCATE_compiling___table_computation___TableEltProp___property
[] = "table_computation::TableEltProp::property";
2396 val_t
compiling___table_computation___TableEltProp___property(val_t p0
){
2397 struct {struct stack_frame_t me
;} fra
;
2400 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2401 fra
.me
.file
= LOCATE_compiling___table_computation
;
2403 fra
.me
.meth
= LOCATE_compiling___table_computation___TableEltProp___property
;
2404 fra
.me
.has_broke
= 0;
2405 fra
.me
.REG_size
= 1;
2406 fra
.me
.nitni_local_ref_head
= NULL
;
2407 fra
.me
.REG
[0] = NIT_NULL
;
2409 /* compiling/table_computation.nit:446 */
2410 REGB0
= TAG_Bool(ATTR_compiling___table_computation___TableEltProp____property(fra
.me
.REG
[0])!=NIT_NULL
);
2411 if (UNTAG_Bool(REGB0
)) {
2413 nit_abort("Uninitialized attribute %s", "_property", LOCATE_compiling___table_computation
, 446);
2415 fra
.me
.REG
[0] = ATTR_compiling___table_computation___TableEltProp____property(fra
.me
.REG
[0]);
2416 stack_frame_head
= fra
.me
.prev
;
2417 return fra
.me
.REG
[0];
2419 static const char LOCATE_compiling___table_computation___TableEltProp___init
[] = "table_computation::TableEltProp::init";
2420 void compiling___table_computation___TableEltProp___init(val_t p0
, val_t p1
, int* init_table
){
2421 int itpos3
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_compiling___table_computation___TableEltProp
].i
;
2422 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2424 if (init_table
[itpos3
]) return;
2425 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2426 fra
.me
.file
= LOCATE_compiling___table_computation
;
2428 fra
.me
.meth
= LOCATE_compiling___table_computation___TableEltProp___init
;
2429 fra
.me
.has_broke
= 0;
2430 fra
.me
.REG_size
= 2;
2431 fra
.me
.nitni_local_ref_head
= NULL
;
2432 fra
.me
.REG
[0] = NIT_NULL
;
2433 fra
.me
.REG
[1] = NIT_NULL
;
2436 /* compiling/table_computation.nit:450 */
2437 ATTR_compiling___table_computation___TableEltProp____property(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2438 stack_frame_head
= fra
.me
.prev
;
2439 init_table
[itpos3
] = 1;
2442 static const char LOCATE_compiling___table_computation___AbsTableEltClass___local_class
[] = "table_computation::AbsTableEltClass::local_class";
2443 val_t
compiling___table_computation___AbsTableEltClass___local_class(val_t p0
){
2444 struct {struct stack_frame_t me
;} fra
;
2447 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2448 fra
.me
.file
= LOCATE_compiling___table_computation
;
2450 fra
.me
.meth
= LOCATE_compiling___table_computation___AbsTableEltClass___local_class
;
2451 fra
.me
.has_broke
= 0;
2452 fra
.me
.REG_size
= 1;
2453 fra
.me
.nitni_local_ref_head
= NULL
;
2454 fra
.me
.REG
[0] = NIT_NULL
;
2456 /* compiling/table_computation.nit:482 */
2457 REGB0
= TAG_Bool(ATTR_compiling___table_computation___AbsTableEltClass____local_class(fra
.me
.REG
[0])!=NIT_NULL
);
2458 if (UNTAG_Bool(REGB0
)) {
2460 nit_abort("Uninitialized attribute %s", "_local_class", LOCATE_compiling___table_computation
, 482);
2462 fra
.me
.REG
[0] = ATTR_compiling___table_computation___AbsTableEltClass____local_class(fra
.me
.REG
[0]);
2463 stack_frame_head
= fra
.me
.prev
;
2464 return fra
.me
.REG
[0];
2466 static const char LOCATE_compiling___table_computation___AbsTableEltClass___init
[] = "table_computation::AbsTableEltClass::init";
2467 void compiling___table_computation___AbsTableEltClass___init(val_t p0
, val_t p1
, int* init_table
){
2468 int itpos4
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_compiling___table_computation___AbsTableEltClass
].i
;
2469 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2471 if (init_table
[itpos4
]) return;
2472 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2473 fra
.me
.file
= LOCATE_compiling___table_computation
;
2475 fra
.me
.meth
= LOCATE_compiling___table_computation___AbsTableEltClass___init
;
2476 fra
.me
.has_broke
= 0;
2477 fra
.me
.REG_size
= 2;
2478 fra
.me
.nitni_local_ref_head
= NULL
;
2479 fra
.me
.REG
[0] = NIT_NULL
;
2480 fra
.me
.REG
[1] = NIT_NULL
;
2483 /* compiling/table_computation.nit:487 */
2484 ATTR_compiling___table_computation___AbsTableEltClass____local_class(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2485 stack_frame_head
= fra
.me
.prev
;
2486 init_table
[itpos4
] = 1;
2489 static const char LOCATE_compiling___table_computation___TableEltClass___is_related_to
[] = "table_computation::TableEltClass::(table_computation::TableElt::is_related_to)";
2490 val_t
compiling___table_computation___TableEltClass___is_related_to(val_t p0
, val_t p1
){
2491 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
2494 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2495 fra
.me
.file
= LOCATE_compiling___table_computation
;
2497 fra
.me
.meth
= LOCATE_compiling___table_computation___TableEltClass___is_related_to
;
2498 fra
.me
.has_broke
= 0;
2499 fra
.me
.REG_size
= 3;
2500 fra
.me
.nitni_local_ref_head
= NULL
;
2501 fra
.me
.REG
[0] = NIT_NULL
;
2502 fra
.me
.REG
[1] = NIT_NULL
;
2503 fra
.me
.REG
[2] = NIT_NULL
;
2506 /* compiling/table_computation.nit:497 */
2507 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2508 REGB0
= TAG_Bool(ATTR_compiling___table_computation___AbsTableEltClass____local_class(fra
.me
.REG
[0])!=NIT_NULL
);
2509 if (UNTAG_Bool(REGB0
)) {
2511 nit_abort("Uninitialized attribute %s", "_local_class", LOCATE_compiling___table_computation
, 497);
2513 fra
.me
.REG
[0] = ATTR_compiling___table_computation___AbsTableEltClass____local_class(fra
.me
.REG
[0]);
2514 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2515 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMModule_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2516 /* compiling/table_computation.nit:498 */
2517 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2518 REGB0
= CALL_metamodel___partial_order___PartialOrderElement_____leq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2521 stack_frame_head
= fra
.me
.prev
;
2524 static const char LOCATE_compiling___table_computation___TableEltComposite___length
[] = "table_computation::TableEltComposite::(table_computation::TableElt::length)";
2525 val_t
compiling___table_computation___TableEltComposite___length(val_t p0
){
2526 struct {struct stack_frame_t me
;} fra
;
2529 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2530 fra
.me
.file
= LOCATE_compiling___table_computation
;
2532 fra
.me
.meth
= LOCATE_compiling___table_computation___TableEltComposite___length
;
2533 fra
.me
.has_broke
= 0;
2534 fra
.me
.REG_size
= 1;
2535 fra
.me
.nitni_local_ref_head
= NULL
;
2536 fra
.me
.REG
[0] = NIT_NULL
;
2538 /* compiling/table_computation.nit:528 */
2539 REGB0
= TAG_Bool(ATTR_compiling___table_computation___TableEltComposite____table(fra
.me
.REG
[0])!=NIT_NULL
);
2540 if (UNTAG_Bool(REGB0
)) {
2542 nit_abort("Uninitialized attribute %s", "_table", LOCATE_compiling___table_computation
, 528);
2544 fra
.me
.REG
[0] = ATTR_compiling___table_computation___TableEltComposite____table(fra
.me
.REG
[0]);
2545 /* ../lib/standard/collection/array.nit:24 */
2546 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
2547 if (UNTAG_Bool(REGB0
)) {
2549 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
2551 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
2552 /* compiling/table_computation.nit:528 */
2555 stack_frame_head
= fra
.me
.prev
;
2558 static const char LOCATE_compiling___table_computation___TableEltComposite___is_related_to
[] = "table_computation::TableEltComposite::(table_computation::TableElt::is_related_to)";
2559 val_t
compiling___table_computation___TableEltComposite___is_related_to(val_t p0
, val_t p1
){
2560 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2563 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2564 fra
.me
.file
= LOCATE_compiling___table_computation
;
2566 fra
.me
.meth
= LOCATE_compiling___table_computation___TableEltComposite___is_related_to
;
2567 fra
.me
.has_broke
= 0;
2568 fra
.me
.REG_size
= 2;
2569 fra
.me
.nitni_local_ref_head
= NULL
;
2570 fra
.me
.REG
[0] = NIT_NULL
;
2571 fra
.me
.REG
[1] = NIT_NULL
;
2574 /* compiling/table_computation.nit:529 */
2575 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2576 REGB0
= TAG_Bool(ATTR_compiling___table_computation___TableEltComposite____cc(fra
.me
.REG
[0])!=NIT_NULL
);
2577 if (UNTAG_Bool(REGB0
)) {
2579 nit_abort("Uninitialized attribute %s", "_cc", LOCATE_compiling___table_computation
, 529);
2581 fra
.me
.REG
[0] = ATTR_compiling___table_computation___TableEltComposite____cc(fra
.me
.REG
[0]);
2582 fra
.me
.REG
[0] = CALL_compiling___table_computation___CompiledClass___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2583 REGB0
= CALL_metamodel___partial_order___PartialOrderElement_____leq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2586 stack_frame_head
= fra
.me
.prev
;
2589 static const char LOCATE_compiling___table_computation___TableEltComposite___add
[] = "table_computation::TableEltComposite::add";
2590 void compiling___table_computation___TableEltComposite___add(val_t p0
, val_t p1
, val_t p2
){
2591 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
2594 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2595 fra
.me
.file
= LOCATE_compiling___table_computation
;
2597 fra
.me
.meth
= LOCATE_compiling___table_computation___TableEltComposite___add
;
2598 fra
.me
.has_broke
= 0;
2599 fra
.me
.REG_size
= 5;
2600 fra
.me
.nitni_local_ref_head
= NULL
;
2601 fra
.me
.REG
[0] = NIT_NULL
;
2602 fra
.me
.REG
[1] = NIT_NULL
;
2603 fra
.me
.REG
[2] = NIT_NULL
;
2604 fra
.me
.REG
[3] = NIT_NULL
;
2605 fra
.me
.REG
[4] = NIT_NULL
;
2609 /* compiling/table_computation.nit:533 */
2610 REGB0
= TAG_Bool(ATTR_compiling___table_computation___TableEltComposite____offsets(fra
.me
.REG
[0])!=NIT_NULL
);
2611 if (UNTAG_Bool(REGB0
)) {
2613 nit_abort("Uninitialized attribute %s", "_offsets", LOCATE_compiling___table_computation
, 533);
2615 fra
.me
.REG
[3] = ATTR_compiling___table_computation___TableEltComposite____offsets(fra
.me
.REG
[0]);
2616 REGB0
= TAG_Bool(ATTR_compiling___table_computation___TableEltComposite____table(fra
.me
.REG
[0])!=NIT_NULL
);
2617 if (UNTAG_Bool(REGB0
)) {
2619 nit_abort("Uninitialized attribute %s", "_table", LOCATE_compiling___table_computation
, 533);
2621 fra
.me
.REG
[4] = ATTR_compiling___table_computation___TableEltComposite____table(fra
.me
.REG
[0]);
2622 /* ../lib/standard/collection/array.nit:24 */
2623 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
2624 if (UNTAG_Bool(REGB0
)) {
2626 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
2628 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
2629 /* compiling/table_computation.nit:533 */
2630 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1], REGB0
);
2631 /* compiling/table_computation.nit:534 */
2632 REGB0
= TAG_Bool(ATTR_compiling___table_computation___TableEltComposite____table(fra
.me
.REG
[0])!=NIT_NULL
);
2633 if (UNTAG_Bool(REGB0
)) {
2635 nit_abort("Uninitialized attribute %s", "_table", LOCATE_compiling___table_computation
, 534);
2637 fra
.me
.REG
[0] = ATTR_compiling___table_computation___TableEltComposite____table(fra
.me
.REG
[0]);
2638 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
2639 stack_frame_head
= fra
.me
.prev
;
2642 static const char LOCATE_compiling___table_computation___TableEltComposite___item
[] = "table_computation::TableEltComposite::(table_computation::TableElt::item)";
2643 val_t
compiling___table_computation___TableEltComposite___item(val_t p0
, val_t p1
){
2644 struct {struct stack_frame_t me
;} fra
;
2649 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2650 fra
.me
.file
= LOCATE_compiling___table_computation
;
2652 fra
.me
.meth
= LOCATE_compiling___table_computation___TableEltComposite___item
;
2653 fra
.me
.has_broke
= 0;
2654 fra
.me
.REG_size
= 1;
2655 fra
.me
.nitni_local_ref_head
= NULL
;
2656 fra
.me
.REG
[0] = NIT_NULL
;
2659 /* compiling/table_computation.nit:537 */
2660 REGB1
= TAG_Bool(ATTR_compiling___table_computation___TableEltComposite____table(fra
.me
.REG
[0])!=NIT_NULL
);
2661 if (UNTAG_Bool(REGB1
)) {
2663 nit_abort("Uninitialized attribute %s", "_table", LOCATE_compiling___table_computation
, 537);
2665 fra
.me
.REG
[0] = ATTR_compiling___table_computation___TableEltComposite____table(fra
.me
.REG
[0]);
2666 /* ../lib/standard/collection/array.nit:280 */
2668 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
2669 if (UNTAG_Bool(REGB2
)) {
2671 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2673 /* ../lib/standard/kernel.nit:236 */
2674 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
2675 /* ../lib/standard/collection/array.nit:280 */
2676 if (UNTAG_Bool(REGB1
)) {
2677 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
2678 if (UNTAG_Bool(REGB1
)) {
2680 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
2682 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
2683 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
2684 if (UNTAG_Bool(REGB2
)) {
2686 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2688 /* ../lib/standard/kernel.nit:235 */
2689 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
2691 /* ../lib/standard/collection/array.nit:280 */
2692 REGB2
= TAG_Bool(0);
2695 if (UNTAG_Bool(REGB1
)) {
2697 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
2699 /* ../lib/standard/collection/array.nit:281 */
2700 fra
.me
.REG
[0] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[0]);
2701 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
2702 if (UNTAG_Bool(REGB1
)) {
2703 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
2705 /* ../lib/standard/collection/array.nit:718 */
2706 fra
.me
.REG
[0] = ((Nit_NativeArray
)fra
.me
.REG
[0])->val
[UNTAG_Int(REGB0
)];
2707 /* ../lib/standard/collection/array.nit:281 */
2710 /* compiling/table_computation.nit:537 */
2713 stack_frame_head
= fra
.me
.prev
;
2714 return fra
.me
.REG
[0];
2716 static const char LOCATE_compiling___table_computation___TableEltComposite___init
[] = "table_computation::TableEltComposite::init";
2717 void compiling___table_computation___TableEltComposite___init(val_t p0
, val_t p1
, int* init_table
){
2718 int itpos5
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_compiling___table_computation___TableEltComposite
].i
;
2719 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2721 if (init_table
[itpos5
]) return;
2722 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2723 fra
.me
.file
= LOCATE_compiling___table_computation
;
2725 fra
.me
.meth
= LOCATE_compiling___table_computation___TableEltComposite___init
;
2726 fra
.me
.has_broke
= 0;
2727 fra
.me
.REG_size
= 2;
2728 fra
.me
.nitni_local_ref_head
= NULL
;
2729 fra
.me
.REG
[0] = NIT_NULL
;
2730 fra
.me
.REG
[1] = NIT_NULL
;
2733 /* compiling/table_computation.nit:541 */
2734 ATTR_compiling___table_computation___TableEltComposite____cc(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2735 /* compiling/table_computation.nit:542 */
2736 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___init();
2737 ATTR_compiling___table_computation___TableEltComposite____table(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2738 /* compiling/table_computation.nit:543 */
2739 fra
.me
.REG
[1] = NEW_HashMap_standard___collection___hash_collection___HashMap___init();
2740 ATTR_compiling___table_computation___TableEltComposite____offsets(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2741 stack_frame_head
= fra
.me
.prev
;
2742 init_table
[itpos5
] = 1;
2745 static const char LOCATE_compiling___table_computation___TableEltClassSelfId___is_related_to
[] = "table_computation::TableEltClassSelfId::(table_computation::TableElt::is_related_to)";
2746 val_t
compiling___table_computation___TableEltClassSelfId___is_related_to(val_t p0
, val_t p1
){
2747 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2750 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2751 fra
.me
.file
= LOCATE_compiling___table_computation
;
2753 fra
.me
.meth
= LOCATE_compiling___table_computation___TableEltClassSelfId___is_related_to
;
2754 fra
.me
.has_broke
= 0;
2755 fra
.me
.REG_size
= 2;
2756 fra
.me
.nitni_local_ref_head
= NULL
;
2757 fra
.me
.REG
[0] = NIT_NULL
;
2758 fra
.me
.REG
[1] = NIT_NULL
;
2761 /* compiling/table_computation.nit:550 */
2762 REGB0
= TAG_Bool(1);
2765 stack_frame_head
= fra
.me
.prev
;
2768 static const char LOCATE_compiling___table_computation___TableEltClassSelfId___init
[] = "table_computation::TableEltClassSelfId::init";
2769 void compiling___table_computation___TableEltClassSelfId___init(val_t p0
, int* init_table
){
2770 int itpos6
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_compiling___table_computation___TableEltClassSelfId
].i
;
2771 struct {struct stack_frame_t me
;} fra
;
2773 if (init_table
[itpos6
]) return;
2774 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2775 fra
.me
.file
= LOCATE_compiling___table_computation
;
2777 fra
.me
.meth
= LOCATE_compiling___table_computation___TableEltClassSelfId___init
;
2778 fra
.me
.has_broke
= 0;
2779 fra
.me
.REG_size
= 0;
2780 fra
.me
.nitni_local_ref_head
= NULL
;
2781 stack_frame_head
= fra
.me
.prev
;
2782 init_table
[itpos6
] = 1;
2785 static const char LOCATE_compiling___table_computation___TableEltClassSelfName___is_related_to
[] = "table_computation::TableEltClassSelfName::(table_computation::TableElt::is_related_to)";
2786 val_t
compiling___table_computation___TableEltClassSelfName___is_related_to(val_t p0
, val_t p1
){
2787 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2790 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2791 fra
.me
.file
= LOCATE_compiling___table_computation
;
2793 fra
.me
.meth
= LOCATE_compiling___table_computation___TableEltClassSelfName___is_related_to
;
2794 fra
.me
.has_broke
= 0;
2795 fra
.me
.REG_size
= 2;
2796 fra
.me
.nitni_local_ref_head
= NULL
;
2797 fra
.me
.REG
[0] = NIT_NULL
;
2798 fra
.me
.REG
[1] = NIT_NULL
;
2801 /* compiling/table_computation.nit:556 */
2802 REGB0
= TAG_Bool(1);
2805 stack_frame_head
= fra
.me
.prev
;
2808 static const char LOCATE_compiling___table_computation___TableEltClassSelfName___init
[] = "table_computation::TableEltClassSelfName::init";
2809 void compiling___table_computation___TableEltClassSelfName___init(val_t p0
, int* init_table
){
2810 int itpos7
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_compiling___table_computation___TableEltClassSelfName
].i
;
2811 struct {struct stack_frame_t me
;} fra
;
2813 if (init_table
[itpos7
]) return;
2814 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2815 fra
.me
.file
= LOCATE_compiling___table_computation
;
2817 fra
.me
.meth
= LOCATE_compiling___table_computation___TableEltClassSelfName___init
;
2818 fra
.me
.has_broke
= 0;
2819 fra
.me
.REG_size
= 0;
2820 fra
.me
.nitni_local_ref_head
= NULL
;
2821 stack_frame_head
= fra
.me
.prev
;
2822 init_table
[itpos7
] = 1;
2825 static const char LOCATE_compiling___table_computation___TableEltClassObjectSize___is_related_to
[] = "table_computation::TableEltClassObjectSize::(table_computation::TableElt::is_related_to)";
2826 val_t
compiling___table_computation___TableEltClassObjectSize___is_related_to(val_t p0
, val_t p1
){
2827 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2830 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2831 fra
.me
.file
= LOCATE_compiling___table_computation
;
2833 fra
.me
.meth
= LOCATE_compiling___table_computation___TableEltClassObjectSize___is_related_to
;
2834 fra
.me
.has_broke
= 0;
2835 fra
.me
.REG_size
= 2;
2836 fra
.me
.nitni_local_ref_head
= NULL
;
2837 fra
.me
.REG
[0] = NIT_NULL
;
2838 fra
.me
.REG
[1] = NIT_NULL
;
2841 /* compiling/table_computation.nit:562 */
2842 REGB0
= TAG_Bool(1);
2845 stack_frame_head
= fra
.me
.prev
;
2848 static const char LOCATE_compiling___table_computation___TableEltClassObjectSize___init
[] = "table_computation::TableEltClassObjectSize::init";
2849 void compiling___table_computation___TableEltClassObjectSize___init(val_t p0
, int* init_table
){
2850 int itpos8
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_compiling___table_computation___TableEltClassObjectSize
].i
;
2851 struct {struct stack_frame_t me
;} fra
;
2853 if (init_table
[itpos8
]) return;
2854 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2855 fra
.me
.file
= LOCATE_compiling___table_computation
;
2857 fra
.me
.meth
= LOCATE_compiling___table_computation___TableEltClassObjectSize___init
;
2858 fra
.me
.has_broke
= 0;
2859 fra
.me
.REG_size
= 0;
2860 fra
.me
.nitni_local_ref_head
= NULL
;
2861 stack_frame_head
= fra
.me
.prev
;
2862 init_table
[itpos8
] = 1;
2865 static const char LOCATE_compiling___table_computation___TableEltObjectId___is_related_to
[] = "table_computation::TableEltObjectId::(table_computation::TableElt::is_related_to)";
2866 val_t
compiling___table_computation___TableEltObjectId___is_related_to(val_t p0
, val_t p1
){
2867 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2870 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2871 fra
.me
.file
= LOCATE_compiling___table_computation
;
2873 fra
.me
.meth
= LOCATE_compiling___table_computation___TableEltObjectId___is_related_to
;
2874 fra
.me
.has_broke
= 0;
2875 fra
.me
.REG_size
= 2;
2876 fra
.me
.nitni_local_ref_head
= NULL
;
2877 fra
.me
.REG
[0] = NIT_NULL
;
2878 fra
.me
.REG
[1] = NIT_NULL
;
2881 /* compiling/table_computation.nit:568 */
2882 REGB0
= TAG_Bool(1);
2885 stack_frame_head
= fra
.me
.prev
;
2888 static const char LOCATE_compiling___table_computation___TableEltObjectId___init
[] = "table_computation::TableEltObjectId::init";
2889 void compiling___table_computation___TableEltObjectId___init(val_t p0
, int* init_table
){
2890 int itpos9
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_compiling___table_computation___TableEltObjectId
].i
;
2891 struct {struct stack_frame_t me
;} fra
;
2893 if (init_table
[itpos9
]) return;
2894 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2895 fra
.me
.file
= LOCATE_compiling___table_computation
;
2897 fra
.me
.meth
= LOCATE_compiling___table_computation___TableEltObjectId___init
;
2898 fra
.me
.has_broke
= 0;
2899 fra
.me
.REG_size
= 0;
2900 fra
.me
.nitni_local_ref_head
= NULL
;
2901 stack_frame_head
= fra
.me
.prev
;
2902 init_table
[itpos9
] = 1;
2905 static const char LOCATE_compiling___table_computation___TableEltVftPointer___is_related_to
[] = "table_computation::TableEltVftPointer::(table_computation::TableElt::is_related_to)";
2906 val_t
compiling___table_computation___TableEltVftPointer___is_related_to(val_t p0
, val_t p1
){
2907 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2910 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2911 fra
.me
.file
= LOCATE_compiling___table_computation
;
2913 fra
.me
.meth
= LOCATE_compiling___table_computation___TableEltVftPointer___is_related_to
;
2914 fra
.me
.has_broke
= 0;
2915 fra
.me
.REG_size
= 2;
2916 fra
.me
.nitni_local_ref_head
= NULL
;
2917 fra
.me
.REG
[0] = NIT_NULL
;
2918 fra
.me
.REG
[1] = NIT_NULL
;
2921 /* compiling/table_computation.nit:574 */
2922 REGB0
= TAG_Bool(1);
2925 stack_frame_head
= fra
.me
.prev
;
2928 static const char LOCATE_compiling___table_computation___TableEltVftPointer___init
[] = "table_computation::TableEltVftPointer::init";
2929 void compiling___table_computation___TableEltVftPointer___init(val_t p0
, int* init_table
){
2930 int itpos10
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_compiling___table_computation___TableEltVftPointer
].i
;
2931 struct {struct stack_frame_t me
;} fra
;
2933 if (init_table
[itpos10
]) return;
2934 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2935 fra
.me
.file
= LOCATE_compiling___table_computation
;
2937 fra
.me
.meth
= LOCATE_compiling___table_computation___TableEltVftPointer___init
;
2938 fra
.me
.has_broke
= 0;
2939 fra
.me
.REG_size
= 0;
2940 fra
.me
.nitni_local_ref_head
= NULL
;
2941 stack_frame_head
= fra
.me
.prev
;
2942 init_table
[itpos10
] = 1;