1 #include "compiling_global._sep.h"
2 val_t
compiling_global___ColorContext___color(val_t self
, val_t param0
) {
3 struct trace_t trace
= {NULL
, "compiling_global::ColorContext::color (src/compiling//compiling_global.nit:28,2--31:18)"};
6 trace
.prev
= tracehead
; tracehead
= &trace
;
8 variable1
= ATTR_compiling_global___ColorContext____colors( self
) /*ColorContext::_colors*/;
9 variable1
= ((abstract_collection___CoupleMap_____bra_t
)CALL(variable1
,COLOR_abstract_collection___Map_____bra
))(variable1
, variable0
/*e*/) /*HashMap::[]*/;
11 return_label0
: while(false);
12 tracehead
= trace
.prev
;
15 val_t
compiling_global___ColorContext___has_color(val_t self
, val_t param0
) {
16 struct trace_t trace
= {NULL
, "compiling_global::ColorContext::has_color (src/compiling//compiling_global.nit:34,2--37:46)"};
20 trace
.prev
= tracehead
; tracehead
= &trace
;
22 variable1
= ATTR_compiling_global___ColorContext____colors( self
) /*ColorContext::_colors*/;
23 variable1
= TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1
== NIT_NULL
/*null*/) || ((variable1
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable1
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))(variable1
, NIT_NULL
/*null*/) /*HashMap::==*/)))))));
24 variable2
= variable1
;
25 if (UNTAG_Bool(variable2
)) { /* and */
26 variable2
= ATTR_compiling_global___ColorContext____colors( self
) /*ColorContext::_colors*/;
27 variable2
= ((abstract_collection___CoupleMap___has_key_t
)CALL(variable2
,COLOR_abstract_collection___Map___has_key
))(variable2
, variable0
/*e*/) /*HashMap::has_key*/;
29 variable1
= variable2
;
31 return_label1
: while(false);
32 tracehead
= trace
.prev
;
35 void compiling_global___ColorContext___color__eq(val_t self
, val_t param0
, val_t param1
) {
36 struct trace_t trace
= {NULL
, "compiling_global::ColorContext::color= (src/compiling//compiling_global.nit:40,2--48:16)"};
44 trace
.prev
= tracehead
; tracehead
= &trace
;
47 variable2
= ATTR_compiling_global___ColorContext____colors( self
) /*ColorContext::_colors*/;
48 variable2
= TAG_Bool((variable2
== NIT_NULL
/*null*/) || ((variable2
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable2
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))(variable2
, NIT_NULL
/*null*/) /*HashMap::==*/)))));
49 if (UNTAG_Bool(variable2
)) { /*if*/
50 variable2
= NEW_hash___HashMap___init(); /*new HashMap[TableElt, Int]*/
51 ATTR_compiling_global___ColorContext____colors( self
) /*ColorContext::_colors*/ = variable2
;
53 variable2
= ATTR_compiling_global___ColorContext____colors( self
) /*ColorContext::_colors*/;
54 ((hash___HashMap_____braeq_t
)CALL(variable2
,COLOR_abstract_collection___Map_____braeq
))(variable2
, variable0
/*e*/, variable1
/*c*/) /*HashMap::[]=*/;
55 variable2
= variable1
/*c*/;
56 variable3
= ((compiling_global___TableElt___length_t
)CALL( variable0
/*e*/,COLOR_compiling_global___TableElt___length
))( variable0
/*e*/) /*TableElt::length*/;
57 variable4
= NEW_range___Range___without_last( TAG_Int(0), variable3
); /*new Range[Int]*/
58 variable3
= variable4
;
59 variable3
= ((range___Range___iterator_t
)CALL(variable3
,COLOR_abstract_collection___Collection___iterator
))(variable3
) /*Range::iterator*/;
60 while (true) { /*for*/
61 variable4
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable3
,COLOR_abstract_collection___Iterator___is_ok
))(variable3
) /*Iterator::is_ok*/;
62 if (!UNTAG_Bool(variable4
)) break; /*for*/
63 variable4
= ((abstract_collection___Iterator___item_t
)CALL(variable3
,COLOR_abstract_collection___Iterator___item
))(variable3
) /*Iterator::item*/;
64 variable5
= ATTR_compiling_global___ColorContext____colors( self
) /*ColorContext::_colors*/;
65 variable6
= ((compiling_global___TableElt___item_t
)CALL( variable0
/*e*/,COLOR_compiling_global___TableElt___item
))( variable0
/*e*/, variable4
/*i*/) /*TableElt::item*/;
66 ((hash___HashMap_____braeq_t
)CALL(variable5
,COLOR_abstract_collection___Map_____braeq
))(variable5
, variable6
, variable2
/*idx*/) /*HashMap::[]=*/;
67 variable5
= TAG_Int(UNTAG_Int( variable2
/*idx*/)+UNTAG_Int( TAG_Int(1)));
68 variable2
= variable5
/*idx=*/;
70 ((abstract_collection___Iterator___next_t
)CALL(variable3
,COLOR_abstract_collection___Iterator___next
))(variable3
) /*Iterator::next*/;
73 tracehead
= trace
.prev
;
76 val_t
compiling_global___GlobalAnalysis___compiled_classes(val_t self
) {
77 struct trace_t trace
= {NULL
, "compiling_global::GlobalAnalysis::compiled_classes (src/compiling//compiling_global.nit:56,2--57:70)"};
78 trace
.prev
= tracehead
; tracehead
= &trace
;
79 tracehead
= trace
.prev
;
80 return ATTR_compiling_global___GlobalAnalysis____compiled_classes( self
) /*GlobalAnalysis::_compiled_classes*/;
82 val_t
compiling_global___GlobalAnalysis___module(val_t self
) {
83 struct trace_t trace
= {NULL
, "compiling_global::GlobalAnalysis::module (src/compiling//compiling_global.nit:59,2--60:32)"};
84 trace
.prev
= tracehead
; tracehead
= &trace
;
85 tracehead
= trace
.prev
;
86 return ATTR_compiling_global___GlobalAnalysis____module( self
) /*GlobalAnalysis::_module*/;
88 val_t
compiling_global___GlobalAnalysis___max_class_table_length(val_t self
) {
89 struct trace_t trace
= {NULL
, "compiling_global::GlobalAnalysis::max_class_table_length (src/compiling//compiling_global.nit:62,2--63:52)"};
90 trace
.prev
= tracehead
; tracehead
= &trace
;
91 tracehead
= trace
.prev
;
92 return ATTR_compiling_global___GlobalAnalysis____max_class_table_length( self
) /*GlobalAnalysis::_max_class_table_length*/;
94 void compiling_global___GlobalAnalysis___max_class_table_length__eq(val_t self
, val_t param0
) {
95 struct trace_t trace
= {NULL
, "compiling_global::GlobalAnalysis::max_class_table_length= (src/compiling//compiling_global.nit:62,2--63:52)"};
96 trace
.prev
= tracehead
; tracehead
= &trace
;
97 ATTR_compiling_global___GlobalAnalysis____max_class_table_length( self
) /*GlobalAnalysis::_max_class_table_length*/ = param0
;
98 tracehead
= trace
.prev
;
101 void compiling_global___GlobalAnalysis___init(val_t self
, val_t param0
, int* init_table
) {
102 struct trace_t trace
= {NULL
, "compiling_global::GlobalAnalysis::init (src/compiling//compiling_global.nit:65,2--68:18)"};
105 trace
.prev
= tracehead
; tracehead
= &trace
;
107 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_GlobalAnalysis
].i
]) return;
108 variable1
= NEW_hash___HashMap___init(); /*new HashMap[MMGlobalClass, CompiledClass]*/
109 ATTR_compiling_global___GlobalAnalysis____compiled_classes( self
) /*GlobalAnalysis::_compiled_classes*/ = variable1
;
110 ATTR_compiling_global___GlobalAnalysis____module( self
) /*GlobalAnalysis::_module*/ = variable0
/*module*/;
111 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_GlobalAnalysis
].i
] = 1;
112 tracehead
= trace
.prev
;
115 val_t
compiling_global___CompilerVisitor___global_analysis(val_t self
) {
116 struct trace_t trace
= {NULL
, "compiling_global::CompilerVisitor::global_analysis (src/compiling//compiling_global.nit:73,2--74:56)"};
117 trace
.prev
= tracehead
; tracehead
= &trace
;
118 tracehead
= trace
.prev
;
119 return ATTR_compiling_global___CompilerVisitor____global_analysis( self
) /*CompilerVisitor::_global_analysis*/;
121 void compiling_global___CompilerVisitor___global_analysis__eq(val_t self
, val_t param0
) {
122 struct trace_t trace
= {NULL
, "compiling_global::CompilerVisitor::global_analysis= (src/compiling//compiling_global.nit:73,2--74:56)"};
123 trace
.prev
= tracehead
; tracehead
= &trace
;
124 ATTR_compiling_global___CompilerVisitor____global_analysis( self
) /*CompilerVisitor::_global_analysis*/ = param0
;
125 tracehead
= trace
.prev
;
128 val_t
compiling_global___CompiledClass___local_class(val_t self
) {
129 struct trace_t trace
= {NULL
, "compiling_global::CompiledClass::local_class (src/compiling//compiling_global.nit:80,2--81:41)"};
130 trace
.prev
= tracehead
; tracehead
= &trace
;
131 tracehead
= trace
.prev
;
132 return ATTR_compiling_global___CompiledClass____local_class( self
) /*CompiledClass::_local_class*/;
134 val_t
compiling_global___CompiledClass___id(val_t self
) {
135 struct trace_t trace
= {NULL
, "compiling_global::CompiledClass::id (src/compiling//compiling_global.nit:83,2--84:32)"};
136 trace
.prev
= tracehead
; tracehead
= &trace
;
137 tracehead
= trace
.prev
;
138 return ATTR_compiling_global___CompiledClass____id( self
) /*CompiledClass::_id*/;
140 void compiling_global___CompiledClass___id__eq(val_t self
, val_t param0
) {
141 struct trace_t trace
= {NULL
, "compiling_global::CompiledClass::id= (src/compiling//compiling_global.nit:83,2--84:32)"};
142 trace
.prev
= tracehead
; tracehead
= &trace
;
143 ATTR_compiling_global___CompiledClass____id( self
) /*CompiledClass::_id*/ = param0
;
144 tracehead
= trace
.prev
;
147 val_t
compiling_global___CompiledClass___class_table(val_t self
) {
148 struct trace_t trace
= {NULL
, "compiling_global::CompiledClass::class_table (src/compiling//compiling_global.nit:86,2--87:52)"};
149 trace
.prev
= tracehead
; tracehead
= &trace
;
150 tracehead
= trace
.prev
;
151 return ATTR_compiling_global___CompiledClass____class_table( self
) /*CompiledClass::_class_table*/;
153 void compiling_global___CompiledClass___class_table__eq(val_t self
, val_t param0
) {
154 struct trace_t trace
= {NULL
, "compiling_global::CompiledClass::class_table= (src/compiling//compiling_global.nit:86,2--87:52)"};
155 trace
.prev
= tracehead
; tracehead
= &trace
;
156 ATTR_compiling_global___CompiledClass____class_table( self
) /*CompiledClass::_class_table*/ = param0
;
157 tracehead
= trace
.prev
;
160 val_t
compiling_global___CompiledClass___instance_table(val_t self
) {
161 struct trace_t trace
= {NULL
, "compiling_global::CompiledClass::instance_table (src/compiling//compiling_global.nit:89,2--90:55)"};
162 trace
.prev
= tracehead
; tracehead
= &trace
;
163 tracehead
= trace
.prev
;
164 return ATTR_compiling_global___CompiledClass____instance_table( self
) /*CompiledClass::_instance_table*/;
166 void compiling_global___CompiledClass___instance_table__eq(val_t self
, val_t param0
) {
167 struct trace_t trace
= {NULL
, "compiling_global::CompiledClass::instance_table= (src/compiling//compiling_global.nit:89,2--90:55)"};
168 trace
.prev
= tracehead
; tracehead
= &trace
;
169 ATTR_compiling_global___CompiledClass____instance_table( self
) /*CompiledClass::_instance_table*/ = param0
;
170 tracehead
= trace
.prev
;
173 val_t
compiling_global___CompiledClass___class_layout(val_t self
) {
174 struct trace_t trace
= {NULL
, "compiling_global::CompiledClass::class_layout (src/compiling//compiling_global.nit:92,2--93:56)"};
175 trace
.prev
= tracehead
; tracehead
= &trace
;
176 tracehead
= trace
.prev
;
177 return ATTR_compiling_global___CompiledClass____class_layout( self
) /*CompiledClass::_class_layout*/;
179 void compiling_global___CompiledClass___class_layout__eq(val_t self
, val_t param0
) {
180 struct trace_t trace
= {NULL
, "compiling_global::CompiledClass::class_layout= (src/compiling//compiling_global.nit:92,2--93:56)"};
181 trace
.prev
= tracehead
; tracehead
= &trace
;
182 ATTR_compiling_global___CompiledClass____class_layout( self
) /*CompiledClass::_class_layout*/ = param0
;
183 tracehead
= trace
.prev
;
186 val_t
compiling_global___CompiledClass___instance_layout(val_t self
) {
187 struct trace_t trace
= {NULL
, "compiling_global::CompiledClass::instance_layout (src/compiling//compiling_global.nit:95,2--96:59)"};
188 trace
.prev
= tracehead
; tracehead
= &trace
;
189 tracehead
= trace
.prev
;
190 return ATTR_compiling_global___CompiledClass____instance_layout( self
) /*CompiledClass::_instance_layout*/;
192 void compiling_global___CompiledClass___instance_layout__eq(val_t self
, val_t param0
) {
193 struct trace_t trace
= {NULL
, "compiling_global::CompiledClass::instance_layout= (src/compiling//compiling_global.nit:95,2--96:59)"};
194 trace
.prev
= tracehead
; tracehead
= &trace
;
195 ATTR_compiling_global___CompiledClass____instance_layout( self
) /*CompiledClass::_instance_layout*/ = param0
;
196 tracehead
= trace
.prev
;
199 void compiling_global___CompiledClass___init(val_t self
, val_t param0
, int* init_table
) {
200 struct trace_t trace
= {NULL
, "compiling_global::CompiledClass::init (src/compiling//compiling_global.nit:98,2--42)"};
202 trace
.prev
= tracehead
; tracehead
= &trace
;
204 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_CompiledClass
].i
]) return;
205 ATTR_compiling_global___CompiledClass____local_class( self
) /*CompiledClass::_local_class*/ = variable0
/*c*/;
206 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_CompiledClass
].i
] = 1;
207 tracehead
= trace
.prev
;
210 val_t
compiling_global___MMGlobalProperty___pos_of(val_t self
) {
211 struct trace_t trace
= {NULL
, "compiling_global::MMGlobalProperty::pos_of (src/compiling//compiling_global.nit:102,2--104:36)"};
212 trace
.prev
= tracehead
; tracehead
= &trace
;
213 tracehead
= trace
.prev
;
214 return ATTR_compiling_global___MMGlobalProperty____pos_of( self
) /*MMGlobalProperty::_pos_of*/;
216 void compiling_global___MMGlobalProperty___pos_of__eq(val_t self
, val_t param0
) {
217 struct trace_t trace
= {NULL
, "compiling_global::MMGlobalProperty::pos_of= (src/compiling//compiling_global.nit:102,2--104:36)"};
218 trace
.prev
= tracehead
; tracehead
= &trace
;
219 ATTR_compiling_global___MMGlobalProperty____pos_of( self
) /*MMGlobalProperty::_pos_of*/ = param0
;
220 tracehead
= trace
.prev
;
223 val_t
compiling_global___MMSrcLocalClass___base_attr_pos(val_t self
) {
224 struct trace_t trace
= {NULL
, "compiling_global::MMSrcLocalClass::base_attr_pos (src/compiling//compiling_global.nit:108,2--109:50)"};
225 trace
.prev
= tracehead
; tracehead
= &trace
;
226 tracehead
= trace
.prev
;
227 return ATTR_compiling_global___MMSrcLocalClass____base_attr_pos( self
) /*MMSrcLocalClass::_base_attr_pos*/;
229 val_t
compiling_global___MMSrcLocalClass___class_color_pos(val_t self
) {
230 struct trace_t trace
= {NULL
, "compiling_global::MMSrcLocalClass::class_color_pos (src/compiling//compiling_global.nit:111,2--112:54)"};
231 trace
.prev
= tracehead
; tracehead
= &trace
;
232 tracehead
= trace
.prev
;
233 return ATTR_compiling_global___MMSrcLocalClass____class_color_pos( self
) /*MMSrcLocalClass::_class_color_pos*/;
235 val_t
compiling_global___MMSrcLocalClass___class_layout(val_t self
) {
236 struct trace_t trace
= {NULL
, "compiling_global::MMSrcLocalClass::class_layout (src/compiling//compiling_global.nit:114,2--115:49)"};
237 trace
.prev
= tracehead
; tracehead
= &trace
;
238 tracehead
= trace
.prev
;
239 return ATTR_compiling_global___MMSrcLocalClass____class_layout( self
) /*MMSrcLocalClass::_class_layout*/;
241 val_t
compiling_global___MMSrcLocalClass___instance_layout(val_t self
) {
242 struct trace_t trace
= {NULL
, "compiling_global::MMSrcLocalClass::instance_layout (src/compiling//compiling_global.nit:117,2--118:52)"};
243 trace
.prev
= tracehead
; tracehead
= &trace
;
244 tracehead
= trace
.prev
;
245 return ATTR_compiling_global___MMSrcLocalClass____instance_layout( self
) /*MMSrcLocalClass::_instance_layout*/;
247 void compiling_global___MMSrcLocalClass___build_layout_in(val_t self
, val_t param0
, val_t param1
) {
248 struct trace_t trace
= {NULL
, "compiling_global::MMSrcLocalClass::build_layout_in (src/compiling//compiling_global.nit:120,2--160:25)"};
260 trace
.prev
= tracehead
; tracehead
= &trace
;
263 variable3
= NEW_array___Array___init(); /*new Array[MMGlobalProperty]*/
264 variable2
= variable3
;
265 variable4
= NEW_array___Array___init(); /*new Array[MMGlobalProperty]*/
266 variable3
= variable4
;
267 variable5
= NEW_array___Array___init(); /*new Array[LocalTableElt]*/
268 variable4
= variable5
;
269 ATTR_compiling_global___MMSrcLocalClass____class_layout( self
) /*MMSrcLocalClass::_class_layout*/ = variable4
/*clt*/;
270 variable6
= NEW_array___Array___init(); /*new Array[LocalTableElt]*/
271 variable5
= variable6
;
272 ATTR_compiling_global___MMSrcLocalClass____instance_layout( self
) /*MMSrcLocalClass::_instance_layout*/ = variable5
/*ilt*/;
273 variable6
= ((abstractmetamodel___MMLocalClass___global_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass___global
))( self
) /*MMSrcLocalClass::global*/;
274 variable6
= ((abstractmetamodel___MMGlobalClass___intro_t
)CALL(variable6
,COLOR_abstractmetamodel___MMGlobalClass___intro
))(variable6
) /*MMGlobalClass::intro*/;
275 variable6
= TAG_Bool((variable6
== self
) || ((variable6
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable6
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable6
, self
)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable6
,COLOR_kernel___Object_____eqeq
))(variable6
, self
) /*MMLocalClass::==*/)))));
276 if (UNTAG_Bool(variable6
)) { /*if*/
277 variable6
= NEW_compiling_global___TableEltClassIdPos___init( self
); /*new TableEltClassIdPos*/
278 ((array___AbstractArray___add_t
)CALL( variable1
/*module_table*/,COLOR_abstract_collection___SimpleCollection___add
))( variable1
/*module_table*/, variable6
) /*Array::add*/;
279 variable6
= NEW_compiling_global___TableEltClassColorPos___init( self
); /*new TableEltClassColorPos*/
280 ATTR_compiling_global___MMSrcLocalClass____class_color_pos( self
) /*MMSrcLocalClass::_class_color_pos*/ = variable6
;
281 variable6
= ATTR_compiling_global___MMSrcLocalClass____class_color_pos( self
) /*MMSrcLocalClass::_class_color_pos*/;
282 ((array___AbstractArray___add_t
)CALL( variable1
/*module_table*/,COLOR_abstract_collection___SimpleCollection___add
))( variable1
/*module_table*/, variable6
) /*Array::add*/;
283 variable6
= NEW_compiling_global___TableEltClassInitTablePos___init( self
); /*new TableEltClassInitTablePos*/
284 ((array___AbstractArray___add_t
)CALL( variable4
/*clt*/,COLOR_abstract_collection___SimpleCollection___add
))( variable4
/*clt*/, variable6
) /*Array::add*/;
286 variable6
= ((syntax_base___MMSrcLocalClass___src_local_properties_t
)CALL( self
,COLOR_syntax_base___MMSrcLocalClass___src_local_properties
))( self
) /*MMSrcLocalClass::src_local_properties*/;
287 variable6
= ((abstract_collection___Map___iterator_t
)CALL(variable6
,COLOR_abstract_collection___Collection___iterator
))(variable6
) /*Map::iterator*/;
288 while (true) { /*for*/
289 variable7
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable6
,COLOR_abstract_collection___Iterator___is_ok
))(variable6
) /*MapIterator::is_ok*/;
290 if (!UNTAG_Bool(variable7
)) break; /*for*/
291 variable7
= ((abstract_collection___Iterator___item_t
)CALL(variable6
,COLOR_abstract_collection___Iterator___item
))(variable6
) /*MapIterator::item*/;
292 variable9
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable7
/*p*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable7
/*p*/) /*MMSrcLocalProperty::global*/;
293 variable8
= variable9
;
294 variable9
= ((abstractmetamodel___MMGlobalProperty___intro_t
)CALL( variable8
/*pg*/,COLOR_abstractmetamodel___MMGlobalProperty___intro
))( variable8
/*pg*/) /*MMGlobalProperty::intro*/;
295 variable9
= TAG_Bool((variable9
== variable7
/*p*/) || ((variable9
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable9
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable9
, variable7
/*p*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable9
,COLOR_kernel___Object_____eqeq
))(variable9
, variable7
/*p*/) /*MMConcreteProperty::==*/)))));
296 if (UNTAG_Bool(variable9
)) { /*if*/
297 variable9
= TAG_Bool(( variable7
/*p*/==NIT_NULL
) || VAL_ISA( variable7
/*p*/, COLOR_MMSrcAttribute
, ID_MMSrcAttribute
)) /*cast MMSrcAttribute*/;
298 if (UNTAG_Bool(variable9
)) { /*if*/
299 variable9
= ((array___AbstractArray___length_t
)CALL( variable3
/*intro_attributes*/,COLOR_abstract_collection___Collection___length
))( variable3
/*intro_attributes*/) /*Array::length*/;
300 ((compiling_global___MMGlobalProperty___pos_of__eq_t
)CALL( variable8
/*pg*/,COLOR_compiling_global___MMGlobalProperty___pos_of__eq
))( variable8
/*pg*/, variable9
) /*MMGlobalProperty::pos_of=*/;
301 ((array___AbstractArray___add_t
)CALL( variable3
/*intro_attributes*/,COLOR_abstract_collection___SimpleCollection___add
))( variable3
/*intro_attributes*/, variable8
/*pg*/) /*Array::add*/;
302 variable9
= NEW_compiling_global___TableEltAttrPos___init( variable7
/*p*/); /*new TableEltAttrPos*/
303 ((array___AbstractArray___add_t
)CALL( variable5
/*ilt*/,COLOR_abstract_collection___SimpleCollection___add
))( variable5
/*ilt*/, variable9
) /*Array::add*/;
305 variable9
= TAG_Bool(( variable7
/*p*/==NIT_NULL
) || VAL_ISA( variable7
/*p*/, COLOR_MMSrcMethod
, ID_MMSrcMethod
)) /*cast MMSrcMethod*/;
306 if (UNTAG_Bool(variable9
)) { /*if*/
307 variable9
= ((array___AbstractArray___length_t
)CALL( variable2
/*intro_methods*/,COLOR_abstract_collection___Collection___length
))( variable2
/*intro_methods*/) /*Array::length*/;
308 ((compiling_global___MMGlobalProperty___pos_of__eq_t
)CALL( variable8
/*pg*/,COLOR_compiling_global___MMGlobalProperty___pos_of__eq
))( variable8
/*pg*/, variable9
) /*MMGlobalProperty::pos_of=*/;
309 ((array___AbstractArray___add_t
)CALL( variable2
/*intro_methods*/,COLOR_abstract_collection___SimpleCollection___add
))( variable2
/*intro_methods*/, variable8
/*pg*/) /*Array::add*/;
310 variable9
= NEW_compiling_global___TableEltMethPos___init( variable7
/*p*/); /*new TableEltMethPos*/
311 ((array___AbstractArray___add_t
)CALL( variable4
/*clt*/,COLOR_abstract_collection___SimpleCollection___add
))( variable4
/*clt*/, variable9
) /*Array::add*/;
315 variable9
= TAG_Bool(( variable7
/*p*/==NIT_NULL
) || VAL_ISA( variable7
/*p*/, COLOR_MMSrcMethod
, ID_MMSrcMethod
)) /*cast MMSrcMethod*/;
316 variable10
= variable9
;
317 if (UNTAG_Bool(variable10
)) { /* and */
318 variable10
= ((abstractmetamodel___MMConcreteProperty___need_super_t
)CALL( variable7
/*p*/,COLOR_abstractmetamodel___MMConcreteProperty___need_super
))( variable7
/*p*/) /*MMSrcMethod::need_super*/;
320 variable9
= variable10
;
321 if (UNTAG_Bool(variable9
)) { /*if*/
322 variable9
= NEW_compiling_global___TableEltSuperPos___init( variable7
/*p*/); /*new TableEltSuperPos*/
323 ((array___AbstractArray___add_t
)CALL( variable4
/*clt*/,COLOR_abstract_collection___SimpleCollection___add
))( variable4
/*clt*/, variable9
) /*Array::add*/;
325 continue_7
: while(0);
326 ((abstract_collection___Iterator___next_t
)CALL(variable6
,COLOR_abstract_collection___Iterator___next
))(variable6
) /*MapIterator::next*/;
329 variable6
= ((compiling_base___ToolContext___attr_sim_t
)CALL( variable0
/*tc*/,COLOR_compiling_base___ToolContext___attr_sim
))( variable0
/*tc*/) /*ToolContext::attr_sim*/;
330 variable7
= variable6
;
331 if (UNTAG_Bool(variable7
)) { /* and */
332 variable7
= ((array___AbstractArray___is_empty_t
)CALL( variable3
/*intro_attributes*/,COLOR_abstract_collection___Collection___is_empty
))( variable3
/*intro_attributes*/) /*Array::is_empty*/;
333 variable7
= TAG_Bool(!UNTAG_Bool(variable7
));
335 variable6
= variable7
;
336 if (UNTAG_Bool(variable6
)) { /*if*/
337 variable6
= NEW_compiling_global___TableEltBaseAttrPos___init( self
); /*new TableEltBaseAttrPos*/
338 ATTR_compiling_global___MMSrcLocalClass____base_attr_pos( self
) /*MMSrcLocalClass::_base_attr_pos*/ = variable6
;
339 variable6
= ATTR_compiling_global___MMSrcLocalClass____base_attr_pos( self
) /*MMSrcLocalClass::_base_attr_pos*/;
340 ((array___AbstractArray___add_t
)CALL( variable4
/*clt*/,COLOR_abstract_collection___SimpleCollection___add
))( variable4
/*clt*/, variable6
) /*Array::add*/;
342 ((abstract_collection___IndexedCollection___append_t
)CALL( variable1
/*module_table*/,COLOR_abstract_collection___IndexedCollection___append
))( variable1
/*module_table*/, variable5
/*ilt*/) /*Array::append*/;
344 ((abstract_collection___IndexedCollection___append_t
)CALL( variable1
/*module_table*/,COLOR_abstract_collection___IndexedCollection___append
))( variable1
/*module_table*/, variable4
/*clt*/) /*Array::append*/;
345 tracehead
= trace
.prev
;
348 void compiling_global___MMSrcModule___local_analysis(val_t self
, val_t param0
) {
349 struct trace_t trace
= {NULL
, "compiling_global::MMSrcModule::local_analysis (src/compiling//compiling_global.nit:168,2--174:27)"};
354 trace
.prev
= tracehead
; tracehead
= &trace
;
356 variable2
= NEW_array___Array___init(); /*new Array[LocalTableElt]*/
357 variable1
= variable2
;
358 ATTR_compiling_global___MMSrcModule____local_table( self
) /*MMSrcModule::_local_table*/ = variable1
/*lt*/;
359 variable2
= ((syntax_base___MMSrcModule___src_local_classes_t
)CALL( self
,COLOR_syntax_base___MMSrcModule___src_local_classes
))( self
) /*MMSrcModule::src_local_classes*/;
360 variable2
= ((abstract_collection___Map___iterator_t
)CALL(variable2
,COLOR_abstract_collection___Collection___iterator
))(variable2
) /*Map::iterator*/;
361 while (true) { /*for*/
362 variable3
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___is_ok
))(variable2
) /*MapIterator::is_ok*/;
363 if (!UNTAG_Bool(variable3
)) break; /*for*/
364 variable3
= ((abstract_collection___Iterator___item_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___item
))(variable2
) /*MapIterator::item*/;
365 ((compiling_global___MMSrcLocalClass___build_layout_in_t
)CALL( variable3
/*c*/,COLOR_compiling_global___MMSrcLocalClass___build_layout_in
))( variable3
/*c*/, variable0
/*tc*/, variable1
/*lt*/) /*MMSrcLocalClass::build_layout_in*/;
366 continue_9
: while(0);
367 ((abstract_collection___Iterator___next_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___next
))(variable2
) /*MapIterator::next*/;
370 tracehead
= trace
.prev
;
373 val_t
compiling_global___MMSrcModule___global_analysis(val_t self
, val_t param0
) {
374 struct trace_t trace
= {NULL
, "compiling_global::MMSrcModule::global_analysis (src/compiling//compiling_global.nit:178,2--335:11)"};
396 trace
.prev
= tracehead
; tracehead
= &trace
;
398 variable2
= NEW_compiling_global___GlobalAnalysis___init( self
); /*new GlobalAnalysis*/
399 variable1
= variable2
;
400 variable3
= NEW_array___Array___init(); /*new Array[MMLocalClass]*/
401 variable2
= variable3
;
402 variable4
= NEW_hash___HashSet___init(); /*new HashSet[MMGlobalProperty]*/
403 variable3
= variable4
;
404 variable5
= NEW_array___Array___init(); /*new Array[TableElt]*/
405 variable4
= variable5
;
406 variable6
= NEW_array___Array___init(); /*new Array[TableElt]*/
407 variable5
= variable6
;
408 variable6
= NEW_compiling_global___TableEltClassSelfId___init(); /*new TableEltClassSelfId*/
409 ((array___AbstractArray___add_t
)CALL( variable4
/*ctab*/,COLOR_abstract_collection___SimpleCollection___add
))( variable4
/*ctab*/, variable6
) /*Array::add*/;
410 variable6
= NEW_compiling_global___TableEltVftPointer___init(); /*new TableEltVftPointer*/
411 ((array___AbstractArray___add_t
)CALL( variable5
/*itab*/,COLOR_abstract_collection___SimpleCollection___add
))( variable5
/*itab*/, variable6
) /*Array::add*/;
412 variable7
= TAG_Int(-UNTAG_Int( TAG_Int(1)));
413 variable6
= variable7
;
414 variable7
= TAG_Int(3);
415 variable9
= NEW_array___Array___init(); /*new Array[MMLocalClass]*/
416 variable8
= variable9
;
417 variable9
= ((abstractmetamodel___MMModule___local_classes_t
)CALL( self
,COLOR_abstractmetamodel___MMModule___local_classes
))( self
) /*MMSrcModule::local_classes*/;
418 variable9
= ((array___AbstractArray___iterator_t
)CALL(variable9
,COLOR_abstract_collection___Collection___iterator
))(variable9
) /*Array::iterator*/;
419 while (true) { /*for*/
420 variable10
= ((array___ArrayIterator___is_ok_t
)CALL(variable9
,COLOR_abstract_collection___Iterator___is_ok
))(variable9
) /*ArrayIterator::is_ok*/;
421 if (!UNTAG_Bool(variable10
)) break; /*for*/
422 variable10
= ((array___ArrayIterator___item_t
)CALL(variable9
,COLOR_abstract_collection___Iterator___item
))(variable9
) /*ArrayIterator::item*/;
423 ((inheritance___MMLocalClass___compute_super_classes_t
)CALL( variable10
/*c*/,COLOR_inheritance___MMLocalClass___compute_super_classes
))( variable10
/*c*/) /*MMLocalClass::compute_super_classes*/;
424 ((array___AbstractArray___add_t
)CALL( variable8
/*classes*/,COLOR_abstract_collection___SimpleCollection___add
))( variable8
/*classes*/, variable10
/*c*/) /*Array::add*/;
425 continue_11
: while(0);
426 ((array___ArrayIterator___next_t
)CALL(variable9
,COLOR_abstract_collection___Iterator___next
))(variable9
) /*ArrayIterator::next*/;
429 variable9
= NEW_compiling_global___ClassSorter___init(); /*new ClassSorter*/
430 ((sorter___AbstractSorter___sort_t
)CALL(variable9
,COLOR_sorter___AbstractSorter___sort
))(variable9
, variable8
/*classes*/) /*ClassSorter::sort*/;
431 variable9
= ((array___AbstractArray___iterator_t
)CALL( variable8
/*classes*/,COLOR_abstract_collection___Collection___iterator
))( variable8
/*classes*/) /*Array::iterator*/;
432 while (true) { /*for*/
433 variable10
= ((array___ArrayIterator___is_ok_t
)CALL(variable9
,COLOR_abstract_collection___Iterator___is_ok
))(variable9
) /*ArrayIterator::is_ok*/;
434 if (!UNTAG_Bool(variable10
)) break; /*for*/
435 variable10
= ((array___ArrayIterator___item_t
)CALL(variable9
,COLOR_abstract_collection___Iterator___item
))(variable9
) /*ArrayIterator::item*/;
436 ((inheritance___MMLocalClass___compute_ancestors_t
)CALL( variable10
/*c*/,COLOR_inheritance___MMLocalClass___compute_ancestors
))( variable10
/*c*/) /*MMLocalClass::compute_ancestors*/;
437 ((inheritance___MMLocalClass___inherit_global_properties_t
)CALL( variable10
/*c*/,COLOR_inheritance___MMLocalClass___inherit_global_properties
))( variable10
/*c*/) /*MMLocalClass::inherit_global_properties*/;
438 variable12
= NEW_compiling_global___CompiledClass___init( variable10
/*c*/); /*new CompiledClass*/
439 variable11
= variable12
;
440 variable12
= ((compiling_global___GlobalAnalysis___compiled_classes_t
)CALL( variable1
/*ga*/,COLOR_compiling_global___GlobalAnalysis___compiled_classes
))( variable1
/*ga*/) /*GlobalAnalysis::compiled_classes*/;
441 variable13
= ((abstractmetamodel___MMLocalClass___global_t
)CALL( variable10
/*c*/,COLOR_abstractmetamodel___MMLocalClass___global
))( variable10
/*c*/) /*MMLocalClass::global*/;
442 ((hash___HashMap_____braeq_t
)CALL(variable12
,COLOR_abstract_collection___Map_____braeq
))(variable12
, variable13
, variable11
/*cc*/) /*HashMap::[]=*/;
443 variable13
= ((abstractmetamodel___MMLocalClass___global_t
)CALL( variable10
/*c*/,COLOR_abstractmetamodel___MMLocalClass___global
))( variable10
/*c*/) /*MMLocalClass::global*/;
444 variable12
= variable13
;
445 variable14
= ((abstractmetamodel___MMGlobalClass___module_t
)CALL( variable12
/*gc*/,COLOR_abstractmetamodel___MMGlobalClass___module
))( variable12
/*gc*/) /*MMGlobalClass::module*/;
446 variable13
= variable14
;
447 variable14
= ((compiling_base___MMLocalClass___primitive_info_t
)CALL( variable10
/*c*/,COLOR_compiling_base___MMLocalClass___primitive_info
))( variable10
/*c*/) /*MMLocalClass::primitive_info*/;
448 variable14
= TAG_Bool(!UNTAG_Bool(TAG_Bool((variable14
== NIT_NULL
/*null*/) || ((variable14
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable14
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable14
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable14
,COLOR_kernel___Object_____eqeq
))(variable14
, NIT_NULL
/*null*/) /*PrimitiveInfo::==*/)))))));
449 if (UNTAG_Bool(variable14
)) { /*if*/
450 ((compiling_global___CompiledClass___id__eq_t
)CALL( variable11
/*cc*/,COLOR_compiling_global___CompiledClass___id__eq
))( variable11
/*cc*/, variable6
/*pclassid*/) /*CompiledClass::id=*/;
451 variable14
= TAG_Int(UNTAG_Int( variable6
/*pclassid*/)-UNTAG_Int( TAG_Int(4)));
452 variable6
= variable14
/*pclassid=*/;
454 ((compiling_global___CompiledClass___id__eq_t
)CALL( variable11
/*cc*/,COLOR_compiling_global___CompiledClass___id__eq
))( variable11
/*cc*/, variable7
/*classid*/) /*CompiledClass::id=*/;
455 variable14
= TAG_Int(UNTAG_Int( variable7
/*classid*/)+UNTAG_Int( TAG_Int(4)));
456 variable7
= variable14
/*classid=*/;
458 variable14
= ((abstractmetamodel___MMLocalClass___cshe_t
)CALL( variable10
/*c*/,COLOR_abstractmetamodel___MMLocalClass___cshe
))( variable10
/*c*/) /*MMLocalClass::cshe*/;
459 variable14
= ((partial_order___PartialOrderElement___direct_smallers_t
)CALL(variable14
,COLOR_partial_order___PartialOrderElement___direct_smallers
))(variable14
) /*PartialOrderElement::direct_smallers*/;
460 variable14
= ((array___AbstractArray___is_empty_t
)CALL(variable14
,COLOR_abstract_collection___Collection___is_empty
))(variable14
) /*Array::is_empty*/;
461 if (UNTAG_Bool(variable14
)) { /*if*/
462 ((array___AbstractArray___add_t
)CALL( variable2
/*smallest_classes*/,COLOR_abstract_collection___SimpleCollection___add
))( variable2
/*smallest_classes*/, variable10
/*c*/) /*Array::add*/;
464 variable15
= ((abstractmetamodel___MMLocalClass___global_t
)CALL( variable10
/*c*/,COLOR_abstractmetamodel___MMLocalClass___global
))( variable10
/*c*/) /*MMLocalClass::global*/;
465 variable15
= ((abstractmetamodel___MMGlobalClass___intro_t
)CALL(variable15
,COLOR_abstractmetamodel___MMGlobalClass___intro
))(variable15
) /*MMGlobalClass::intro*/;
466 variable14
= variable15
;
467 variable15
= TAG_Bool(( variable14
/*bc*/==NIT_NULL
) || VAL_ISA( variable14
/*bc*/, COLOR_MMSrcLocalClass
, ID_MMSrcLocalClass
)) /*cast MMSrcLocalClass*/;
468 if (!UNTAG_Bool(variable15
)) { fprintf(stderr
, "Assert failed: src/compiling//compiling_global.nit:230,4--32\n"); nit_exit(1);}
469 variable15
= ((compiling_global___MMSrcLocalClass___class_color_pos_t
)CALL( variable14
/*bc*/,COLOR_compiling_global___MMSrcLocalClass___class_color_pos
))( variable14
/*bc*/) /*MMSrcLocalClass::class_color_pos*/;
470 ((array___AbstractArray___add_t
)CALL( variable4
/*ctab*/,COLOR_abstract_collection___SimpleCollection___add
))( variable4
/*ctab*/, variable15
) /*Array::add*/;
471 continue_12
: while(0);
472 ((array___ArrayIterator___next_t
)CALL(variable9
,COLOR_abstract_collection___Iterator___next
))(variable9
) /*ArrayIterator::next*/;
475 variable10
= NEW_hash___HashSet___init(); /*new HashSet[MMLocalClass]*/
476 variable9
= variable10
;
477 variable11
= NEW_hash___HashSet___init(); /*new HashSet[MMLocalClass]*/
478 variable10
= variable11
;
479 variable11
= ((array___AbstractArray___iterator_t
)CALL( variable2
/*smallest_classes*/,COLOR_abstract_collection___Collection___iterator
))( variable2
/*smallest_classes*/) /*Array::iterator*/;
480 while (true) { /*for*/
481 variable12
= ((array___ArrayIterator___is_ok_t
)CALL(variable11
,COLOR_abstract_collection___Iterator___is_ok
))(variable11
) /*ArrayIterator::is_ok*/;
482 if (!UNTAG_Bool(variable12
)) break; /*for*/
483 variable12
= ((array___ArrayIterator___item_t
)CALL(variable11
,COLOR_abstract_collection___Iterator___item
))(variable11
) /*ArrayIterator::item*/;
484 while (true) { /*while*/
485 variable13
= ((abstractmetamodel___MMLocalClass___cshe_t
)CALL( variable12
/*c*/,COLOR_abstractmetamodel___MMLocalClass___cshe
))( variable12
/*c*/) /*MMLocalClass::cshe*/;
486 variable13
= ((partial_order___PartialOrderElement___direct_greaters_t
)CALL(variable13
,COLOR_partial_order___PartialOrderElement___direct_greaters
))(variable13
) /*PartialOrderElement::direct_greaters*/;
487 variable13
= ((array___AbstractArray___length_t
)CALL(variable13
,COLOR_abstract_collection___Collection___length
))(variable13
) /*Array::length*/;
488 variable13
= TAG_Bool((variable13
)==( TAG_Int(1)));
489 if (!UNTAG_Bool(variable13
)) break; /* while*/
490 variable13
= ((abstractmetamodel___MMLocalClass___cshe_t
)CALL( variable12
/*c*/,COLOR_abstractmetamodel___MMLocalClass___cshe
))( variable12
/*c*/) /*MMLocalClass::cshe*/;
491 variable13
= ((partial_order___PartialOrderElement___direct_greaters_t
)CALL(variable13
,COLOR_partial_order___PartialOrderElement___direct_greaters
))(variable13
) /*PartialOrderElement::direct_greaters*/;
492 variable13
= ((abstract_collection___IndexedCollection___first_t
)CALL(variable13
,COLOR_abstract_collection___Collection___first
))(variable13
) /*Array::first*/;
493 variable12
= variable13
/*c=*/;
494 continue_14
: while(0);
497 ((hash___HashSet___add_t
)CALL( variable9
/*crown_classes*/,COLOR_abstract_collection___SimpleCollection___add
))( variable9
/*crown_classes*/, variable12
/*c*/) /*HashSet::add*/;
498 variable13
= ((abstractmetamodel___MMLocalClass___cshe_t
)CALL( variable12
/*c*/,COLOR_abstractmetamodel___MMLocalClass___cshe
))( variable12
/*c*/) /*MMLocalClass::cshe*/;
499 variable13
= ((partial_order___PartialOrderElement___greaters_and_self_t
)CALL(variable13
,COLOR_partial_order___PartialOrderElement___greaters_and_self
))(variable13
) /*PartialOrderElement::greaters_and_self*/;
500 ((abstract_collection___SimpleCollection___add_all_t
)CALL( variable10
/*core_classes*/,COLOR_abstract_collection___SimpleCollection___add_all
))( variable10
/*core_classes*/, variable13
) /*HashSet::add_all*/;
501 continue_13
: while(0);
502 ((array___ArrayIterator___next_t
)CALL(variable11
,COLOR_abstract_collection___Iterator___next
))(variable11
) /*ArrayIterator::next*/;
505 ((compiling_global___MMSrcModule___colorize_t
)CALL( self
,COLOR_compiling_global___MMSrcModule___colorize
))( self
, variable1
/*ga*/, variable4
/*ctab*/, variable9
/*crown_classes*/, TAG_Int(0)) /*MMSrcModule::colorize*/;
506 variable11
= TAG_Int(0);
507 variable12
= ((array___AbstractArray___iterator_t
)CALL( variable8
/*classes*/,COLOR_abstract_collection___Collection___iterator
))( variable8
/*classes*/) /*Array::iterator*/;
508 while (true) { /*for*/
509 variable13
= ((array___ArrayIterator___is_ok_t
)CALL(variable12
,COLOR_abstract_collection___Iterator___is_ok
))(variable12
) /*ArrayIterator::is_ok*/;
510 if (!UNTAG_Bool(variable13
)) break; /*for*/
511 variable13
= ((array___ArrayIterator___item_t
)CALL(variable12
,COLOR_abstract_collection___Iterator___item
))(variable12
) /*ArrayIterator::item*/;
512 variable15
= ((compiling_global___GlobalAnalysis___compiled_classes_t
)CALL( variable1
/*ga*/,COLOR_compiling_global___GlobalAnalysis___compiled_classes
))( variable1
/*ga*/) /*GlobalAnalysis::compiled_classes*/;
513 variable16
= ((abstractmetamodel___MMLocalClass___global_t
)CALL( variable13
/*c*/,COLOR_abstractmetamodel___MMLocalClass___global
))( variable13
/*c*/) /*MMLocalClass::global*/;
514 variable15
= ((abstract_collection___CoupleMap_____bra_t
)CALL(variable15
,COLOR_abstract_collection___Map_____bra
))(variable15
, variable16
) /*HashMap::[]*/;
515 variable14
= variable15
;
516 variable15
= ((hash___HashSet___has_t
)CALL( variable10
/*core_classes*/,COLOR_abstract_collection___Collection___has
))( variable10
/*core_classes*/, variable13
/*c*/) /*HashSet::has*/;
517 if (UNTAG_Bool(variable15
)) { /*if*/
518 variable15
= ((compiling_global___MMSrcModule___build_tables_t
)CALL( self
,COLOR_compiling_global___MMSrcModule___build_tables
))( self
, variable1
/*ga*/, variable13
/*c*/, variable4
/*ctab*/) /*MMSrcModule::build_tables*/;
519 ((compiling_global___CompiledClass___class_table__eq_t
)CALL( variable14
/*cc*/,COLOR_compiling_global___CompiledClass___class_table__eq
))( variable14
/*cc*/, variable15
) /*CompiledClass::class_table=*/;
520 variable15
= ((compiling_global___CompiledClass___class_table_t
)CALL( variable14
/*cc*/,COLOR_compiling_global___CompiledClass___class_table
))( variable14
/*cc*/) /*CompiledClass::class_table*/;
521 variable15
= ((array___AbstractArray___length_t
)CALL(variable15
,COLOR_abstract_collection___Collection___length
))(variable15
) /*Array::length*/;
522 variable15
= TAG_Bool(UNTAG_Int( variable11
/*maxcolor*/)<UNTAG_Int(variable15
));
523 if (UNTAG_Bool(variable15
)) { /*if*/
524 variable15
= ((compiling_global___CompiledClass___class_table_t
)CALL( variable14
/*cc*/,COLOR_compiling_global___CompiledClass___class_table
))( variable14
/*cc*/) /*CompiledClass::class_table*/;
525 variable15
= ((array___AbstractArray___length_t
)CALL(variable15
,COLOR_abstract_collection___Collection___length
))(variable15
) /*Array::length*/;
526 variable11
= variable15
/*maxcolor=*/;
529 variable16
= ((abstractmetamodel___MMLocalClass___cshe_t
)CALL( variable13
/*c*/,COLOR_abstractmetamodel___MMLocalClass___cshe
))( variable13
/*c*/) /*MMLocalClass::cshe*/;
530 variable16
= ((partial_order___PartialOrderElement___direct_greaters_t
)CALL(variable16
,COLOR_partial_order___PartialOrderElement___direct_greaters
))(variable16
) /*PartialOrderElement::direct_greaters*/;
531 variable16
= ((abstract_collection___IndexedCollection___first_t
)CALL(variable16
,COLOR_abstract_collection___Collection___first
))(variable16
) /*Array::first*/;
532 variable15
= variable16
;
533 variable17
= ((compiling_global___GlobalAnalysis___compiled_classes_t
)CALL( variable1
/*ga*/,COLOR_compiling_global___GlobalAnalysis___compiled_classes
))( variable1
/*ga*/) /*GlobalAnalysis::compiled_classes*/;
534 variable18
= ((abstractmetamodel___MMLocalClass___global_t
)CALL( variable15
/*sc*/,COLOR_abstractmetamodel___MMLocalClass___global
))( variable15
/*sc*/) /*MMLocalClass::global*/;
535 variable17
= ((abstract_collection___CoupleMap_____bra_t
)CALL(variable17
,COLOR_abstract_collection___Map_____bra
))(variable17
, variable18
) /*HashMap::[]*/;
536 variable16
= variable17
;
537 variable17
= ((compiling_global___CompiledClass___class_table_t
)CALL( variable16
/*scc*/,COLOR_compiling_global___CompiledClass___class_table
))( variable16
/*scc*/) /*CompiledClass::class_table*/;
538 variable17
= ((array___Collection___to_a_t
)CALL(variable17
,COLOR_array___Collection___to_a
))(variable17
) /*Array::to_a*/;
539 ((compiling_global___CompiledClass___class_table__eq_t
)CALL( variable14
/*cc*/,COLOR_compiling_global___CompiledClass___class_table__eq
))( variable14
/*cc*/, variable17
) /*CompiledClass::class_table=*/;
540 variable18
= ((abstractmetamodel___MMLocalClass___global_t
)CALL( variable13
/*c*/,COLOR_abstractmetamodel___MMLocalClass___global
))( variable13
/*c*/) /*MMLocalClass::global*/;
541 variable18
= ((abstractmetamodel___MMGlobalClass___intro_t
)CALL(variable18
,COLOR_abstractmetamodel___MMGlobalClass___intro
))(variable18
) /*MMGlobalClass::intro*/;
542 variable17
= variable18
;
543 variable18
= TAG_Bool(( variable17
/*bc*/==NIT_NULL
) || VAL_ISA( variable17
/*bc*/, COLOR_MMSrcLocalClass
, ID_MMSrcLocalClass
)) /*cast MMSrcLocalClass*/;
544 if (!UNTAG_Bool(variable18
)) { fprintf(stderr
, "Assert failed: src/compiling//compiling_global.nit:263,5--33\n"); nit_exit(1);}
545 variable19
= ((compiling_global___MMSrcLocalClass___class_color_pos_t
)CALL( variable17
/*bc*/,COLOR_compiling_global___MMSrcLocalClass___class_color_pos
))( variable17
/*bc*/) /*MMSrcLocalClass::class_color_pos*/;
546 variable18
= variable19
;
547 variable20
= ((compiling_global___CompiledClass___class_table_t
)CALL( variable14
/*cc*/,COLOR_compiling_global___CompiledClass___class_table
))( variable14
/*cc*/) /*CompiledClass::class_table*/;
548 variable20
= ((array___AbstractArray___length_t
)CALL(variable20
,COLOR_abstract_collection___Collection___length
))(variable20
) /*Array::length*/;
549 variable19
= variable20
;
550 ((compiling_global___ColorContext___color__eq_t
)CALL( variable1
/*ga*/,COLOR_compiling_global___ColorContext___color__eq
))( variable1
/*ga*/, variable18
/*colpos*/, variable19
/*colposcolor*/) /*GlobalAnalysis::color=*/;
551 variable20
= ((compiling_global___CompiledClass___class_table_t
)CALL( variable14
/*cc*/,COLOR_compiling_global___CompiledClass___class_table
))( variable14
/*cc*/) /*CompiledClass::class_table*/;
552 ((array___AbstractArray___add_t
)CALL(variable20
,COLOR_abstract_collection___SimpleCollection___add
))(variable20
, variable18
/*colpos*/) /*Array::add*/;
553 variable20
= TAG_Bool(UNTAG_Int( variable11
/*maxcolor*/)<UNTAG_Int( variable19
/*colposcolor*/));
554 if (UNTAG_Bool(variable20
)) { /*if*/
555 variable11
= variable19
/*colposcolor*/ /*maxcolor=*/;
558 continue_15
: while(0);
559 ((array___ArrayIterator___next_t
)CALL(variable12
,COLOR_abstract_collection___Iterator___next
))(variable12
) /*ArrayIterator::next*/;
562 variable12
= TAG_Int(UNTAG_Int( variable11
/*maxcolor*/)+UNTAG_Int( TAG_Int(1)));
563 ((compiling_global___GlobalAnalysis___max_class_table_length__eq_t
)CALL( variable1
/*ga*/,COLOR_compiling_global___GlobalAnalysis___max_class_table_length__eq
))( variable1
/*ga*/, variable12
) /*GlobalAnalysis::max_class_table_length=*/;
564 variable12
= ((array___AbstractArray___iterator_t
)CALL( variable8
/*classes*/,COLOR_abstract_collection___Collection___iterator
))( variable8
/*classes*/) /*Array::iterator*/;
565 while (true) { /*for*/
566 variable13
= ((array___ArrayIterator___is_ok_t
)CALL(variable12
,COLOR_abstract_collection___Iterator___is_ok
))(variable12
) /*ArrayIterator::is_ok*/;
567 if (!UNTAG_Bool(variable13
)) break; /*for*/
568 variable13
= ((array___ArrayIterator___item_t
)CALL(variable12
,COLOR_abstract_collection___Iterator___item
))(variable12
) /*ArrayIterator::item*/;
569 variable15
= ((compiling_global___GlobalAnalysis___compiled_classes_t
)CALL( variable1
/*ga*/,COLOR_compiling_global___GlobalAnalysis___compiled_classes
))( variable1
/*ga*/) /*GlobalAnalysis::compiled_classes*/;
570 variable16
= ((abstractmetamodel___MMLocalClass___global_t
)CALL( variable13
/*c*/,COLOR_abstractmetamodel___MMLocalClass___global
))( variable13
/*c*/) /*MMLocalClass::global*/;
571 variable15
= ((abstract_collection___CoupleMap_____bra_t
)CALL(variable15
,COLOR_abstract_collection___Map_____bra
))(variable15
, variable16
) /*HashMap::[]*/;
572 variable14
= variable15
;
573 variable16
= NEW_compiling_global___TableEltComposite___init( variable14
/*cc*/); /*new TableEltComposite*/
574 variable15
= variable16
;
575 variable17
= NEW_compiling_global___TableEltComposite___init( variable14
/*cc*/); /*new TableEltComposite*/
576 variable16
= variable17
;
577 variable17
= ((abstractmetamodel___MMLocalClass___crhe_t
)CALL( variable13
/*c*/,COLOR_abstractmetamodel___MMLocalClass___crhe
))( variable13
/*c*/) /*MMLocalClass::crhe*/;
578 variable17
= ((partial_order___PartialOrderElement___greaters_and_self_t
)CALL(variable17
,COLOR_partial_order___PartialOrderElement___greaters_and_self
))(variable17
) /*PartialOrderElement::greaters_and_self*/;
579 variable17
= ((abstract_collection___Collection___iterator_t
)CALL(variable17
,COLOR_abstract_collection___Collection___iterator
))(variable17
) /*Collection::iterator*/;
580 while (true) { /*for*/
581 variable18
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable17
,COLOR_abstract_collection___Iterator___is_ok
))(variable17
) /*Iterator::is_ok*/;
582 if (!UNTAG_Bool(variable18
)) break; /*for*/
583 variable18
= ((abstract_collection___Iterator___item_t
)CALL(variable17
,COLOR_abstract_collection___Iterator___item
))(variable17
) /*Iterator::item*/;
584 variable19
= TAG_Bool(( variable18
/*sc*/==NIT_NULL
) || VAL_ISA( variable18
/*sc*/, COLOR_MMSrcLocalClass
, ID_MMSrcLocalClass
)) /*cast MMSrcLocalClass*/;
585 if (UNTAG_Bool(variable19
)) { /*if*/
586 variable19
= ((compiling_global___MMSrcLocalClass___class_layout_t
)CALL( variable18
/*sc*/,COLOR_compiling_global___MMSrcLocalClass___class_layout
))( variable18
/*sc*/) /*MMSrcLocalClass::class_layout*/;
587 ((compiling_global___TableEltComposite___add_t
)CALL( variable15
/*cte*/,COLOR_compiling_global___TableEltComposite___add
))( variable15
/*cte*/, variable18
/*sc*/, variable19
) /*TableEltComposite::add*/;
588 variable19
= ((compiling_global___MMSrcLocalClass___instance_layout_t
)CALL( variable18
/*sc*/,COLOR_compiling_global___MMSrcLocalClass___instance_layout
))( variable18
/*sc*/) /*MMSrcLocalClass::instance_layout*/;
589 ((compiling_global___TableEltComposite___add_t
)CALL( variable16
/*ite*/,COLOR_compiling_global___TableEltComposite___add
))( variable16
/*ite*/, variable18
/*sc*/, variable19
) /*TableEltComposite::add*/;
591 ((compiling_global___CompiledClass___class_layout__eq_t
)CALL( variable14
/*cc*/,COLOR_compiling_global___CompiledClass___class_layout__eq
))( variable14
/*cc*/, variable15
/*cte*/) /*CompiledClass::class_layout=*/;
592 ((compiling_global___CompiledClass___instance_layout__eq_t
)CALL( variable14
/*cc*/,COLOR_compiling_global___CompiledClass___instance_layout__eq
))( variable14
/*cc*/, variable16
/*ite*/) /*CompiledClass::instance_layout=*/;
593 continue_17
: while(0);
594 ((abstract_collection___Iterator___next_t
)CALL(variable17
,COLOR_abstract_collection___Iterator___next
))(variable17
) /*Iterator::next*/;
597 variable17
= ((hash___HashSet___has_t
)CALL( variable10
/*core_classes*/,COLOR_abstract_collection___Collection___has
))( variable10
/*core_classes*/, variable13
/*c*/) /*HashSet::has*/;
598 if (UNTAG_Bool(variable17
)) { /*if*/
599 variable17
= ((compiling_global___TableEltComposite___length_t
)CALL( variable15
/*cte*/,COLOR_compiling_global___TableElt___length
))( variable15
/*cte*/) /*TableEltComposite::length*/;
600 variable17
= TAG_Bool(UNTAG_Int(variable17
)>UNTAG_Int( TAG_Int(0)));
601 if (UNTAG_Bool(variable17
)) { /*if*/
602 ((array___AbstractArray___add_t
)CALL( variable4
/*ctab*/,COLOR_abstract_collection___SimpleCollection___add
))( variable4
/*ctab*/, variable15
/*cte*/) /*Array::add*/;
604 variable17
= ((compiling_base___ToolContext___attr_sim_t
)CALL( variable0
/*cctx*/,COLOR_compiling_base___ToolContext___attr_sim
))( variable0
/*cctx*/) /*ToolContext::attr_sim*/;
605 variable17
= TAG_Bool(!UNTAG_Bool(variable17
));
606 if (UNTAG_Bool(variable17
)) { /* and */
607 variable17
= ((compiling_global___TableEltComposite___length_t
)CALL( variable16
/*ite*/,COLOR_compiling_global___TableElt___length
))( variable16
/*ite*/) /*TableEltComposite::length*/;
608 variable17
= TAG_Bool(UNTAG_Int(variable17
)>UNTAG_Int( TAG_Int(0)));
610 if (UNTAG_Bool(variable17
)) { /*if*/
611 ((array___AbstractArray___add_t
)CALL( variable5
/*itab*/,COLOR_abstract_collection___SimpleCollection___add
))( variable5
/*itab*/, variable16
/*ite*/) /*Array::add*/;
614 continue_16
: while(0);
615 ((array___ArrayIterator___next_t
)CALL(variable12
,COLOR_abstract_collection___Iterator___next
))(variable12
) /*ArrayIterator::next*/;
618 variable12
= TAG_Int(UNTAG_Int( variable11
/*maxcolor*/)+UNTAG_Int( TAG_Int(1)));
619 ((compiling_global___MMSrcModule___colorize_t
)CALL( self
,COLOR_compiling_global___MMSrcModule___colorize
))( self
, variable1
/*ga*/, variable4
/*ctab*/, variable9
/*crown_classes*/, variable12
) /*MMSrcModule::colorize*/;
620 ((compiling_global___MMSrcModule___colorize_t
)CALL( self
,COLOR_compiling_global___MMSrcModule___colorize
))( self
, variable1
/*ga*/, variable5
/*itab*/, variable9
/*crown_classes*/, TAG_Int(0)) /*MMSrcModule::colorize*/;
621 ((compiling_global___GlobalAnalysis___max_class_table_length__eq_t
)CALL( variable1
/*ga*/,COLOR_compiling_global___GlobalAnalysis___max_class_table_length__eq
))( variable1
/*ga*/, TAG_Int(0)) /*GlobalAnalysis::max_class_table_length=*/;
622 variable12
= ((array___AbstractArray___iterator_t
)CALL( variable8
/*classes*/,COLOR_abstract_collection___Collection___iterator
))( variable8
/*classes*/) /*Array::iterator*/;
623 while (true) { /*for*/
624 variable13
= ((array___ArrayIterator___is_ok_t
)CALL(variable12
,COLOR_abstract_collection___Iterator___is_ok
))(variable12
) /*ArrayIterator::is_ok*/;
625 if (!UNTAG_Bool(variable13
)) break; /*for*/
626 variable13
= ((array___ArrayIterator___item_t
)CALL(variable12
,COLOR_abstract_collection___Iterator___item
))(variable12
) /*ArrayIterator::item*/;
627 variable15
= ((compiling_global___GlobalAnalysis___compiled_classes_t
)CALL( variable1
/*ga*/,COLOR_compiling_global___GlobalAnalysis___compiled_classes
))( variable1
/*ga*/) /*GlobalAnalysis::compiled_classes*/;
628 variable16
= ((abstractmetamodel___MMLocalClass___global_t
)CALL( variable13
/*c*/,COLOR_abstractmetamodel___MMLocalClass___global
))( variable13
/*c*/) /*MMLocalClass::global*/;
629 variable15
= ((abstract_collection___CoupleMap_____bra_t
)CALL(variable15
,COLOR_abstract_collection___Map_____bra
))(variable15
, variable16
) /*HashMap::[]*/;
630 variable14
= variable15
;
631 variable15
= ((hash___HashSet___has_t
)CALL( variable10
/*core_classes*/,COLOR_abstract_collection___Collection___has
))( variable10
/*core_classes*/, variable13
/*c*/) /*HashSet::has*/;
632 if (UNTAG_Bool(variable15
)) { /*if*/
633 variable15
= ((compiling_global___MMSrcModule___build_tables_t
)CALL( self
,COLOR_compiling_global___MMSrcModule___build_tables
))( self
, variable1
/*ga*/, variable13
/*c*/, variable4
/*ctab*/) /*MMSrcModule::build_tables*/;
634 ((compiling_global___CompiledClass___class_table__eq_t
)CALL( variable14
/*cc*/,COLOR_compiling_global___CompiledClass___class_table__eq
))( variable14
/*cc*/, variable15
) /*CompiledClass::class_table=*/;
635 variable15
= ((compiling_global___MMSrcModule___build_tables_t
)CALL( self
,COLOR_compiling_global___MMSrcModule___build_tables
))( self
, variable1
/*ga*/, variable13
/*c*/, variable5
/*itab*/) /*MMSrcModule::build_tables*/;
636 ((compiling_global___CompiledClass___instance_table__eq_t
)CALL( variable14
/*cc*/,COLOR_compiling_global___CompiledClass___instance_table__eq
))( variable14
/*cc*/, variable15
) /*CompiledClass::instance_table=*/;
638 variable16
= ((abstractmetamodel___MMLocalClass___cshe_t
)CALL( variable13
/*c*/,COLOR_abstractmetamodel___MMLocalClass___cshe
))( variable13
/*c*/) /*MMLocalClass::cshe*/;
639 variable16
= ((partial_order___PartialOrderElement___direct_greaters_t
)CALL(variable16
,COLOR_partial_order___PartialOrderElement___direct_greaters
))(variable16
) /*PartialOrderElement::direct_greaters*/;
640 variable16
= ((abstract_collection___IndexedCollection___first_t
)CALL(variable16
,COLOR_abstract_collection___Collection___first
))(variable16
) /*Array::first*/;
641 variable15
= variable16
;
642 variable17
= ((compiling_global___GlobalAnalysis___compiled_classes_t
)CALL( variable1
/*ga*/,COLOR_compiling_global___GlobalAnalysis___compiled_classes
))( variable1
/*ga*/) /*GlobalAnalysis::compiled_classes*/;
643 variable18
= ((abstractmetamodel___MMLocalClass___global_t
)CALL( variable15
/*sc*/,COLOR_abstractmetamodel___MMLocalClass___global
))( variable15
/*sc*/) /*MMLocalClass::global*/;
644 variable17
= ((abstract_collection___CoupleMap_____bra_t
)CALL(variable17
,COLOR_abstract_collection___Map_____bra
))(variable17
, variable18
) /*HashMap::[]*/;
645 variable16
= variable17
;
646 variable17
= ((compiling_global___CompiledClass___class_table_t
)CALL( variable16
/*scc*/,COLOR_compiling_global___CompiledClass___class_table
))( variable16
/*scc*/) /*CompiledClass::class_table*/;
647 variable17
= ((array___Collection___to_a_t
)CALL(variable17
,COLOR_array___Collection___to_a
))(variable17
) /*Array::to_a*/;
648 ((compiling_global___CompiledClass___class_table__eq_t
)CALL( variable14
/*cc*/,COLOR_compiling_global___CompiledClass___class_table__eq
))( variable14
/*cc*/, variable17
) /*CompiledClass::class_table=*/;
649 variable18
= ((abstractmetamodel___MMLocalClass___global_t
)CALL( variable13
/*c*/,COLOR_abstractmetamodel___MMLocalClass___global
))( variable13
/*c*/) /*MMLocalClass::global*/;
650 variable18
= ((abstractmetamodel___MMGlobalClass___intro_t
)CALL(variable18
,COLOR_abstractmetamodel___MMGlobalClass___intro
))(variable18
) /*MMGlobalClass::intro*/;
651 variable17
= variable18
;
652 variable18
= TAG_Bool(( variable17
/*bc*/==NIT_NULL
) || VAL_ISA( variable17
/*bc*/, COLOR_MMSrcLocalClass
, ID_MMSrcLocalClass
)) /*cast MMSrcLocalClass*/;
653 if (!UNTAG_Bool(variable18
)) { fprintf(stderr
, "Assert failed: src/compiling//compiling_global.nit:315,5--33\n"); nit_exit(1);}
654 variable19
= ((compiling_global___MMSrcLocalClass___class_color_pos_t
)CALL( variable17
/*bc*/,COLOR_compiling_global___MMSrcLocalClass___class_color_pos
))( variable17
/*bc*/) /*MMSrcLocalClass::class_color_pos*/;
655 variable18
= variable19
;
656 variable19
= ((compiling_global___CompiledClass___class_table_t
)CALL( variable14
/*cc*/,COLOR_compiling_global___CompiledClass___class_table
))( variable14
/*cc*/) /*CompiledClass::class_table*/;
657 variable20
= ((compiling_global___ColorContext___color_t
)CALL( variable1
/*ga*/,COLOR_compiling_global___ColorContext___color
))( variable1
/*ga*/, variable18
/*colpos*/) /*GlobalAnalysis::color*/;
658 ((array___Array_____braeq_t
)CALL(variable19
,COLOR_abstract_collection___Map_____braeq
))(variable19
, variable20
, variable18
/*colpos*/) /*Array::[]=*/;
659 while (true) { /*while*/
660 variable19
= ((compiling_global___CompiledClass___class_table_t
)CALL( variable14
/*cc*/,COLOR_compiling_global___CompiledClass___class_table
))( variable14
/*cc*/) /*CompiledClass::class_table*/;
661 variable19
= ((array___AbstractArray___length_t
)CALL(variable19
,COLOR_abstract_collection___Collection___length
))(variable19
) /*Array::length*/;
662 variable19
= TAG_Bool(UNTAG_Int(variable19
)<=UNTAG_Int( variable11
/*maxcolor*/));
663 if (!UNTAG_Bool(variable19
)) break; /* while*/
664 variable19
= ((compiling_global___CompiledClass___class_table_t
)CALL( variable14
/*cc*/,COLOR_compiling_global___CompiledClass___class_table
))( variable14
/*cc*/) /*CompiledClass::class_table*/;
665 ((array___AbstractArray___add_t
)CALL(variable19
,COLOR_abstract_collection___SimpleCollection___add
))(variable19
, NIT_NULL
/*null*/) /*Array::add*/;
666 continue_19
: while(0);
669 variable19
= ((compiling_global___CompiledClass___class_table_t
)CALL( variable14
/*cc*/,COLOR_compiling_global___CompiledClass___class_table
))( variable14
/*cc*/) /*CompiledClass::class_table*/;
670 variable20
= ((compiling_global___CompiledClass___class_layout_t
)CALL( variable14
/*cc*/,COLOR_compiling_global___CompiledClass___class_layout
))( variable14
/*cc*/) /*CompiledClass::class_layout*/;
671 ((compiling_global___MMSrcModule___append_to_table_t
)CALL( self
,COLOR_compiling_global___MMSrcModule___append_to_table
))( self
, variable1
/*ga*/, variable19
, variable20
) /*MMSrcModule::append_to_table*/;
672 variable19
= ((compiling_global___CompiledClass___instance_table_t
)CALL( variable16
/*scc*/,COLOR_compiling_global___CompiledClass___instance_table
))( variable16
/*scc*/) /*CompiledClass::instance_table*/;
673 variable19
= ((array___Collection___to_a_t
)CALL(variable19
,COLOR_array___Collection___to_a
))(variable19
) /*Array::to_a*/;
674 ((compiling_global___CompiledClass___instance_table__eq_t
)CALL( variable14
/*cc*/,COLOR_compiling_global___CompiledClass___instance_table__eq
))( variable14
/*cc*/, variable19
) /*CompiledClass::instance_table=*/;
675 variable19
= ((compiling_global___CompiledClass___instance_table_t
)CALL( variable14
/*cc*/,COLOR_compiling_global___CompiledClass___instance_table
))( variable14
/*cc*/) /*CompiledClass::instance_table*/;
676 variable20
= ((compiling_global___CompiledClass___instance_layout_t
)CALL( variable14
/*cc*/,COLOR_compiling_global___CompiledClass___instance_layout
))( variable14
/*cc*/) /*CompiledClass::instance_layout*/;
677 ((compiling_global___MMSrcModule___append_to_table_t
)CALL( self
,COLOR_compiling_global___MMSrcModule___append_to_table
))( self
, variable1
/*ga*/, variable19
, variable20
) /*MMSrcModule::append_to_table*/;
679 variable15
= ((compiling_base___ToolContext___attr_sim_t
)CALL( variable0
/*cctx*/,COLOR_compiling_base___ToolContext___attr_sim
))( variable0
/*cctx*/) /*ToolContext::attr_sim*/;
680 if (UNTAG_Bool(variable15
)) { /*if*/
681 variable15
= ((compiling_global___MMSrcModule___build_tables_t
)CALL( self
,COLOR_compiling_global___MMSrcModule___build_tables
))( self
, variable1
/*ga*/, variable13
/*c*/, variable5
/*itab*/) /*MMSrcModule::build_tables*/;
682 ((compiling_global___CompiledClass___instance_table__eq_t
)CALL( variable14
/*cc*/,COLOR_compiling_global___CompiledClass___instance_table__eq
))( variable14
/*cc*/, variable15
) /*CompiledClass::instance_table=*/;
683 variable15
= ((abstractmetamodel___MMLocalClass___cshe_t
)CALL( variable13
/*c*/,COLOR_abstractmetamodel___MMLocalClass___cshe
))( variable13
/*c*/) /*MMLocalClass::cshe*/;
684 variable15
= ((partial_order___PartialOrderElement___greaters_and_self_t
)CALL(variable15
,COLOR_partial_order___PartialOrderElement___greaters_and_self
))(variable15
) /*PartialOrderElement::greaters_and_self*/;
685 variable15
= ((abstract_collection___Collection___iterator_t
)CALL(variable15
,COLOR_abstract_collection___Collection___iterator
))(variable15
) /*Collection::iterator*/;
686 while (true) { /*for*/
687 variable16
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable15
,COLOR_abstract_collection___Iterator___is_ok
))(variable15
) /*Iterator::is_ok*/;
688 if (!UNTAG_Bool(variable16
)) break; /*for*/
689 variable16
= ((abstract_collection___Iterator___item_t
)CALL(variable15
,COLOR_abstract_collection___Iterator___item
))(variable15
) /*Iterator::item*/;
690 variable18
= ((compiling_global___GlobalAnalysis___compiled_classes_t
)CALL( variable1
/*ga*/,COLOR_compiling_global___GlobalAnalysis___compiled_classes
))( variable1
/*ga*/) /*GlobalAnalysis::compiled_classes*/;
691 variable19
= ((abstractmetamodel___MMLocalClass___global_t
)CALL( variable16
/*sc*/,COLOR_abstractmetamodel___MMLocalClass___global
))( variable16
/*sc*/) /*MMLocalClass::global*/;
692 variable18
= ((abstract_collection___CoupleMap_____bra_t
)CALL(variable18
,COLOR_abstract_collection___Map_____bra
))(variable18
, variable19
) /*HashMap::[]*/;
693 variable17
= variable18
;
694 variable18
= ((compiling_global___CompiledClass___instance_table_t
)CALL( variable14
/*cc*/,COLOR_compiling_global___CompiledClass___instance_table
))( variable14
/*cc*/) /*CompiledClass::instance_table*/;
695 variable19
= ((compiling_global___CompiledClass___instance_layout_t
)CALL( variable17
/*scc*/,COLOR_compiling_global___CompiledClass___instance_layout
))( variable17
/*scc*/) /*CompiledClass::instance_layout*/;
696 ((compiling_global___MMSrcModule___append_to_table_t
)CALL( self
,COLOR_compiling_global___MMSrcModule___append_to_table
))( self
, variable14
/*cc*/, variable18
, variable19
) /*MMSrcModule::append_to_table*/;
697 continue_20
: while(0);
698 ((abstract_collection___Iterator___next_t
)CALL(variable15
,COLOR_abstract_collection___Iterator___next
))(variable15
) /*Iterator::next*/;
702 continue_18
: while(0);
703 ((array___ArrayIterator___next_t
)CALL(variable12
,COLOR_abstract_collection___Iterator___next
))(variable12
) /*ArrayIterator::next*/;
706 variable1
= variable1
/*ga*/;
708 return_label10
: while(false);
709 tracehead
= trace
.prev
;
712 void compiling_global___MMSrcModule___append_to_table(val_t self
, val_t param0
, val_t param1
, val_t param2
) {
713 struct trace_t trace
= {NULL
, "compiling_global::MMSrcModule::append_to_table (src/compiling//compiling_global.nit:338,2--343:14)"};
721 trace
.prev
= tracehead
; tracehead
= &trace
;
725 variable3
= ((compiling_global___TableEltComposite___length_t
)CALL( variable2
/*cmp*/,COLOR_compiling_global___TableElt___length
))( variable2
/*cmp*/) /*TableEltComposite::length*/;
726 variable4
= NEW_range___Range___without_last( TAG_Int(0), variable3
); /*new Range[Int]*/
727 variable3
= variable4
;
728 variable3
= ((range___Range___iterator_t
)CALL(variable3
,COLOR_abstract_collection___Collection___iterator
))(variable3
) /*Range::iterator*/;
729 while (true) { /*for*/
730 variable4
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable3
,COLOR_abstract_collection___Iterator___is_ok
))(variable3
) /*Iterator::is_ok*/;
731 if (!UNTAG_Bool(variable4
)) break; /*for*/
732 variable4
= ((abstract_collection___Iterator___item_t
)CALL(variable3
,COLOR_abstract_collection___Iterator___item
))(variable3
) /*Iterator::item*/;
733 variable6
= ((compiling_global___TableEltComposite___item_t
)CALL( variable2
/*cmp*/,COLOR_compiling_global___TableElt___item
))( variable2
/*cmp*/, variable4
/*j*/) /*TableEltComposite::item*/;
734 variable5
= variable6
;
735 variable6
= ((array___AbstractArray___length_t
)CALL( variable1
/*table*/,COLOR_abstract_collection___Collection___length
))( variable1
/*table*/) /*Array::length*/;
736 ((compiling_global___ColorContext___color__eq_t
)CALL( variable0
/*cc*/,COLOR_compiling_global___ColorContext___color__eq
))( variable0
/*cc*/, variable5
/*e*/, variable6
) /*ColorContext::color=*/;
737 ((array___AbstractArray___add_t
)CALL( variable1
/*table*/,COLOR_abstract_collection___SimpleCollection___add
))( variable1
/*table*/, variable5
/*e*/) /*Array::add*/;
738 continue_22
: while(0);
739 ((abstract_collection___Iterator___next_t
)CALL(variable3
,COLOR_abstract_collection___Iterator___next
))(variable3
) /*Iterator::next*/;
742 tracehead
= trace
.prev
;
745 val_t
compiling_global___MMSrcModule___build_tables(val_t self
, val_t param0
, val_t param1
, val_t param2
) {
746 struct trace_t trace
= {NULL
, "compiling_global::MMSrcModule::build_tables (src/compiling//compiling_global.nit:347,2--375:12)"};
758 trace
.prev
= tracehead
; tracehead
= &trace
;
762 variable4
= NEW_hash___HashMap___init(); /*new HashMap[Int, TableElt]*/
763 variable3
= variable4
;
764 variable4
= TAG_Int(0);
765 variable5
= ((array___AbstractArray___iterator_t
)CALL( variable2
/*elts*/,COLOR_abstract_collection___Collection___iterator
))( variable2
/*elts*/) /*Array::iterator*/;
766 while (true) { /*for*/
767 variable6
= ((array___ArrayIterator___is_ok_t
)CALL(variable5
,COLOR_abstract_collection___Iterator___is_ok
))(variable5
) /*ArrayIterator::is_ok*/;
768 if (!UNTAG_Bool(variable6
)) break; /*for*/
769 variable6
= ((array___ArrayIterator___item_t
)CALL(variable5
,COLOR_abstract_collection___Iterator___item
))(variable5
) /*ArrayIterator::item*/;
770 variable7
= ((compiling_global___TableElt___is_related_to_t
)CALL( variable6
/*e*/,COLOR_compiling_global___TableElt___is_related_to
))( variable6
/*e*/, variable1
/*c*/) /*TableElt::is_related_to*/;
771 if (UNTAG_Bool(variable7
)) { /*if*/
772 variable8
= ((compiling_global___ColorContext___color_t
)CALL( variable0
/*ga*/,COLOR_compiling_global___ColorContext___color
))( variable0
/*ga*/, variable6
/*e*/) /*GlobalAnalysis::color*/;
773 variable7
= variable8
;
774 variable9
= ((compiling_global___TableElt___length_t
)CALL( variable6
/*e*/,COLOR_compiling_global___TableElt___length
))( variable6
/*e*/) /*TableElt::length*/;
775 variable9
= TAG_Int(UNTAG_Int( variable7
/*col*/)+UNTAG_Int(variable9
));
776 variable8
= variable9
;
777 ((hash___HashMap_____braeq_t
)CALL( variable3
/*tab*/,COLOR_abstract_collection___Map_____braeq
))( variable3
/*tab*/, variable7
/*col*/, variable6
/*e*/) /*HashMap::[]=*/;
778 variable9
= TAG_Bool(UNTAG_Int( variable4
/*len*/)<UNTAG_Int( variable8
/*l*/));
779 if (UNTAG_Bool(variable9
)) { /*if*/
780 variable4
= variable8
/*l*/ /*len=*/;
783 continue_24
: while(0);
784 ((array___ArrayIterator___next_t
)CALL(variable5
,COLOR_abstract_collection___Iterator___next
))(variable5
) /*ArrayIterator::next*/;
787 variable6
= NEW_array___Array___init(); /*new Array[TableElt]*/
788 variable5
= variable6
;
789 variable6
= TAG_Int(0);
790 while (true) { /*while*/
791 variable7
= TAG_Bool(UNTAG_Int( variable6
/*i*/)<UNTAG_Int( variable4
/*len*/));
792 if (!UNTAG_Bool(variable7
)) break; /* while*/
793 variable7
= ((abstract_collection___CoupleMap___has_key_t
)CALL( variable3
/*tab*/,COLOR_abstract_collection___Map___has_key
))( variable3
/*tab*/, variable6
/*i*/) /*HashMap::has_key*/;
794 if (UNTAG_Bool(variable7
)) { /*if*/
795 variable8
= ((abstract_collection___CoupleMap_____bra_t
)CALL( variable3
/*tab*/,COLOR_abstract_collection___Map_____bra
))( variable3
/*tab*/, variable6
/*i*/) /*HashMap::[]*/;
796 variable7
= variable8
;
797 variable8
= ((compiling_global___TableElt___length_t
)CALL( variable7
/*e*/,COLOR_compiling_global___TableElt___length
))( variable7
/*e*/) /*TableElt::length*/;
798 variable9
= NEW_range___Range___without_last( TAG_Int(0), variable8
); /*new Range[Int]*/
799 variable8
= variable9
;
800 variable8
= ((range___Range___iterator_t
)CALL(variable8
,COLOR_abstract_collection___Collection___iterator
))(variable8
) /*Range::iterator*/;
801 while (true) { /*for*/
802 variable9
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable8
,COLOR_abstract_collection___Iterator___is_ok
))(variable8
) /*Iterator::is_ok*/;
803 if (!UNTAG_Bool(variable9
)) break; /*for*/
804 variable9
= ((abstract_collection___Iterator___item_t
)CALL(variable8
,COLOR_abstract_collection___Iterator___item
))(variable8
) /*Iterator::item*/;
805 variable10
= ((compiling_global___TableElt___item_t
)CALL( variable7
/*e*/,COLOR_compiling_global___TableElt___item
))( variable7
/*e*/, variable9
/*j*/) /*TableElt::item*/;
806 ((array___Array_____braeq_t
)CALL( variable5
/*res*/,COLOR_abstract_collection___Map_____braeq
))( variable5
/*res*/, variable6
/*i*/, variable10
) /*Array::[]=*/;
807 variable10
= TAG_Int(UNTAG_Int( variable6
/*i*/)+UNTAG_Int( TAG_Int(1)));
808 variable6
= variable10
/*i=*/;
809 continue_26
: while(0);
810 ((abstract_collection___Iterator___next_t
)CALL(variable8
,COLOR_abstract_collection___Iterator___next
))(variable8
) /*Iterator::next*/;
814 ((array___Array_____braeq_t
)CALL( variable5
/*res*/,COLOR_abstract_collection___Map_____braeq
))( variable5
/*res*/, variable6
/*i*/, NIT_NULL
/*null*/) /*Array::[]=*/;
815 variable7
= TAG_Int(UNTAG_Int( variable6
/*i*/)+UNTAG_Int( TAG_Int(1)));
816 variable6
= variable7
/*i=*/;
818 continue_25
: while(0);
821 variable3
= variable5
/*res*/;
823 return_label23
: while(false);
824 tracehead
= trace
.prev
;
827 void compiling_global___MMSrcModule___colorize(val_t self
, val_t param0
, val_t param1
, val_t param2
, val_t param3
) {
828 struct trace_t trace
= {NULL
, "compiling_global::MMSrcModule::colorize (src/compiling//compiling_global.nit:378,2--416:29)"};
845 trace
.prev
= tracehead
; tracehead
= &trace
;
850 variable5
= NEW_hash___HashMap___init(); /*new HashMap[Int, Array[TableElt]]*/
851 variable4
= variable5
;
852 variable6
= NEW_array___Array___init(); /*new Array[MMLocalClass]*/
853 variable5
= variable6
;
854 variable6
= ((array___AbstractArray___iterator_t
)CALL( variable1
/*elts*/,COLOR_abstract_collection___Collection___iterator
))( variable1
/*elts*/) /*Array::iterator*/;
855 while (true) { /*for*/
856 variable7
= ((array___ArrayIterator___is_ok_t
)CALL(variable6
,COLOR_abstract_collection___Iterator___is_ok
))(variable6
) /*ArrayIterator::is_ok*/;
857 if (!UNTAG_Bool(variable7
)) break; /*for*/
858 variable7
= ((array___ArrayIterator___item_t
)CALL(variable6
,COLOR_abstract_collection___Iterator___item
))(variable6
) /*ArrayIterator::item*/;
859 variable9
= TAG_Int(-UNTAG_Int( TAG_Int(1)));
860 variable8
= variable9
;
861 variable10
= ((compiling_global___TableElt___length_t
)CALL( variable7
/*e*/,COLOR_compiling_global___TableElt___length
))( variable7
/*e*/) /*TableElt::length*/;
862 variable9
= variable10
;
863 variable10
= ((compiling_global___ColorContext___has_color_t
)CALL( variable0
/*ga*/,COLOR_compiling_global___ColorContext___has_color
))( variable0
/*ga*/, variable7
/*e*/) /*GlobalAnalysis::has_color*/;
864 if (UNTAG_Bool(variable10
)) { /*if*/
865 variable10
= ((compiling_global___ColorContext___color_t
)CALL( variable0
/*ga*/,COLOR_compiling_global___ColorContext___color
))( variable0
/*ga*/, variable7
/*e*/) /*GlobalAnalysis::color*/;
866 variable8
= variable10
/*color=*/;
868 ((array___AbstractArray___clear_t
)CALL( variable5
/*rel_classes*/,COLOR_abstract_collection___RemovableCollection___clear
))( variable5
/*rel_classes*/) /*Array::clear*/;
869 variable10
= ((abstract_collection___Collection___iterator_t
)CALL( variable2
/*classes*/,COLOR_abstract_collection___Collection___iterator
))( variable2
/*classes*/) /*Collection::iterator*/;
870 while (true) { /*for*/
871 variable11
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable10
,COLOR_abstract_collection___Iterator___is_ok
))(variable10
) /*Iterator::is_ok*/;
872 if (!UNTAG_Bool(variable11
)) break; /*for*/
873 variable11
= ((abstract_collection___Iterator___item_t
)CALL(variable10
,COLOR_abstract_collection___Iterator___item
))(variable10
) /*Iterator::item*/;
874 variable12
= ((compiling_global___TableElt___is_related_to_t
)CALL( variable7
/*e*/,COLOR_compiling_global___TableElt___is_related_to
))( variable7
/*e*/, variable11
/*c*/) /*TableElt::is_related_to*/;
875 if (UNTAG_Bool(variable12
)) { /*if*/
876 ((array___AbstractArray___add_t
)CALL( variable5
/*rel_classes*/,COLOR_abstract_collection___SimpleCollection___add
))( variable5
/*rel_classes*/, variable11
/*c*/) /*Array::add*/;
878 continue_29
: while(0);
879 ((abstract_collection___Iterator___next_t
)CALL(variable10
,COLOR_abstract_collection___Iterator___next
))(variable10
) /*Iterator::next*/;
882 variable10
= variable3
/*startcolor*/;
883 while (true) { /*while*/
884 variable11
= TAG_Bool(( variable10
/*trycolor*/)!=( variable8
/*color*/));
885 if (!UNTAG_Bool(variable11
)) break; /* while*/
886 variable8
= variable10
/*trycolor*/ /*color=*/;
887 variable11
= ((array___AbstractArray___iterator_t
)CALL( variable5
/*rel_classes*/,COLOR_abstract_collection___Collection___iterator
))( variable5
/*rel_classes*/) /*Array::iterator*/;
888 while (true) { /*for*/
889 variable12
= ((array___ArrayIterator___is_ok_t
)CALL(variable11
,COLOR_abstract_collection___Iterator___is_ok
))(variable11
) /*ArrayIterator::is_ok*/;
890 if (!UNTAG_Bool(variable12
)) break; /*for*/
891 variable12
= ((array___ArrayIterator___item_t
)CALL(variable11
,COLOR_abstract_collection___Iterator___item
))(variable11
) /*ArrayIterator::item*/;
892 variable13
= TAG_Int(0);
893 while (true) { /*while*/
894 variable14
= TAG_Bool(UNTAG_Int( variable13
/*idx*/)<UNTAG_Int( variable9
/*len*/));
895 if (!UNTAG_Bool(variable14
)) break; /* while*/
896 variable14
= TAG_Int(UNTAG_Int( variable10
/*trycolor*/)+UNTAG_Int( variable13
/*idx*/));
897 variable14
= ((abstract_collection___CoupleMap___has_key_t
)CALL( variable4
/*colors*/,COLOR_abstract_collection___Map___has_key
))( variable4
/*colors*/, variable14
) /*HashMap::has_key*/;
898 variable15
= variable14
;
899 if (UNTAG_Bool(variable15
)) { /* and */
900 variable15
= TAG_Int(UNTAG_Int( variable10
/*trycolor*/)+UNTAG_Int( variable13
/*idx*/));
901 variable15
= ((abstract_collection___CoupleMap_____bra_t
)CALL( variable4
/*colors*/,COLOR_abstract_collection___Map_____bra
))( variable4
/*colors*/, variable15
) /*HashMap::[]*/;
902 variable15
= ((compiling_global___MMSrcModule___free_color_t
)CALL( self
,COLOR_compiling_global___MMSrcModule___free_color
))( self
, variable15
, variable12
/*c*/) /*MMSrcModule::free_color*/;
903 variable15
= TAG_Bool(!UNTAG_Bool(variable15
));
905 variable14
= variable15
;
906 if (UNTAG_Bool(variable14
)) { /*if*/
907 variable14
= TAG_Int(UNTAG_Int( variable10
/*trycolor*/)+UNTAG_Int( variable13
/*idx*/));
908 variable14
= TAG_Int(UNTAG_Int(variable14
)+UNTAG_Int( TAG_Int(1)));
909 variable10
= variable14
/*trycolor=*/;
910 variable13
= TAG_Int(0) /*idx=*/;
912 variable14
= TAG_Int(UNTAG_Int( variable13
/*idx*/)+UNTAG_Int( TAG_Int(1)));
913 variable13
= variable14
/*idx=*/;
915 continue_32
: while(0);
918 continue_31
: while(0);
919 ((array___ArrayIterator___next_t
)CALL(variable11
,COLOR_abstract_collection___Iterator___next
))(variable11
) /*ArrayIterator::next*/;
922 continue_30
: while(0);
925 ((compiling_global___ColorContext___color__eq_t
)CALL( variable0
/*ga*/,COLOR_compiling_global___ColorContext___color__eq
))( variable0
/*ga*/, variable7
/*e*/, variable8
/*color*/) /*GlobalAnalysis::color=*/;
927 variable10
= NEW_range___Range___without_last( TAG_Int(0), variable9
/*len*/); /*new Range[Int]*/
928 variable10
= ((range___Range___iterator_t
)CALL(variable10
,COLOR_abstract_collection___Collection___iterator
))(variable10
) /*Range::iterator*/;
929 while (true) { /*for*/
930 variable11
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable10
,COLOR_abstract_collection___Iterator___is_ok
))(variable10
) /*Iterator::is_ok*/;
931 if (!UNTAG_Bool(variable11
)) break; /*for*/
932 variable11
= ((abstract_collection___Iterator___item_t
)CALL(variable10
,COLOR_abstract_collection___Iterator___item
))(variable10
) /*Iterator::item*/;
933 variable12
= TAG_Int(UNTAG_Int( variable8
/*color*/)+UNTAG_Int( variable11
/*idx*/));
934 variable12
= ((abstract_collection___CoupleMap___has_key_t
)CALL( variable4
/*colors*/,COLOR_abstract_collection___Map___has_key
))( variable4
/*colors*/, variable12
) /*HashMap::has_key*/;
935 if (UNTAG_Bool(variable12
)) { /*if*/
936 variable12
= TAG_Int(UNTAG_Int( variable8
/*color*/)+UNTAG_Int( variable11
/*idx*/));
937 variable12
= ((abstract_collection___CoupleMap_____bra_t
)CALL( variable4
/*colors*/,COLOR_abstract_collection___Map_____bra
))( variable4
/*colors*/, variable12
) /*HashMap::[]*/;
938 ((array___AbstractArray___add_t
)CALL(variable12
,COLOR_abstract_collection___SimpleCollection___add
))(variable12
, variable7
/*e*/) /*Array::add*/;
940 variable12
= TAG_Int(UNTAG_Int( variable8
/*color*/)+UNTAG_Int( variable11
/*idx*/));
941 variable13
= NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[TableElt]*/
942 ((array___AbstractArray___add_t
)CALL(variable13
,COLOR_abstract_collection___SimpleCollection___add
))(variable13
, variable7
/*e*/) /*Array::add*/;
943 ((hash___HashMap_____braeq_t
)CALL( variable4
/*colors*/,COLOR_abstract_collection___Map_____braeq
))( variable4
/*colors*/, variable12
, variable13
) /*HashMap::[]=*/;
945 continue_33
: while(0);
946 ((abstract_collection___Iterator___next_t
)CALL(variable10
,COLOR_abstract_collection___Iterator___next
))(variable10
) /*Iterator::next*/;
949 continue_28
: while(0);
950 ((array___ArrayIterator___next_t
)CALL(variable6
,COLOR_abstract_collection___Iterator___next
))(variable6
) /*ArrayIterator::next*/;
953 tracehead
= trace
.prev
;
956 val_t
compiling_global___MMSrcModule___free_color(val_t self
, val_t param0
, val_t param1
) {
957 struct trace_t trace
= {NULL
, "compiling_global::MMSrcModule::free_color (src/compiling//compiling_global.nit:422,2--429:13)"};
963 trace
.prev
= tracehead
; tracehead
= &trace
;
966 variable2
= ((array___AbstractArray___iterator_t
)CALL( variable0
/*es*/,COLOR_abstract_collection___Collection___iterator
))( variable0
/*es*/) /*Array::iterator*/;
967 while (true) { /*for*/
968 variable3
= ((array___ArrayIterator___is_ok_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___is_ok
))(variable2
) /*ArrayIterator::is_ok*/;
969 if (!UNTAG_Bool(variable3
)) break; /*for*/
970 variable3
= ((array___ArrayIterator___item_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___item
))(variable2
) /*ArrayIterator::item*/;
971 variable4
= ((compiling_global___TableElt___is_related_to_t
)CALL( variable3
/*e2*/,COLOR_compiling_global___TableElt___is_related_to
))( variable3
/*e2*/, variable1
/*c*/) /*TableElt::is_related_to*/;
972 if (UNTAG_Bool(variable4
)) { /*if*/
973 variable2
= TAG_Bool(false);
976 continue_35
: while(0);
977 ((array___ArrayIterator___next_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___next
))(variable2
) /*ArrayIterator::next*/;
980 variable2
= TAG_Bool(true);
982 return_label34
: while(false);
983 tracehead
= trace
.prev
;
986 void compiling_global___MMSrcModule___compile_tables_to_c(val_t self
, val_t param0
) {
987 struct trace_t trace
= {NULL
, "compiling_global::MMSrcModule::compile_tables_to_c (src/compiling//compiling_global.nit:432,2--452:15)"};
998 trace
.prev
= tracehead
; tracehead
= &trace
;
1000 variable1
= ((abstractmetamodel___MMModule___mhe_t
)CALL( self
,COLOR_abstractmetamodel___MMModule___mhe
))( self
) /*MMSrcModule::mhe*/;
1001 variable1
= ((partial_order___PartialOrderElement___greaters_and_self_t
)CALL(variable1
,COLOR_partial_order___PartialOrderElement___greaters_and_self
))(variable1
) /*PartialOrderElement::greaters_and_self*/;
1002 variable1
= ((abstract_collection___Collection___iterator_t
)CALL(variable1
,COLOR_abstract_collection___Collection___iterator
))(variable1
) /*Collection::iterator*/;
1003 while (true) { /*for*/
1004 variable2
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___is_ok
))(variable1
) /*Iterator::is_ok*/;
1005 if (!UNTAG_Bool(variable2
)) break; /*for*/
1006 variable2
= ((abstract_collection___Iterator___item_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___item
))(variable1
) /*Iterator::item*/;
1007 variable3
= TAG_Bool(( variable2
/*m*/==NIT_NULL
) || VAL_ISA( variable2
/*m*/, COLOR_MMSrcModule
, ID_MMSrcModule
)) /*cast MMSrcModule*/;
1008 if (!UNTAG_Bool(variable3
)) { fprintf(stderr
, "Assert failed: src/compiling//compiling_global.nit:436,4--27\n"); nit_exit(1);}
1009 ((compiling_global___MMSrcModule___compile_local_table_to_c_t
)CALL( variable2
/*m*/,COLOR_compiling_global___MMSrcModule___compile_local_table_to_c
))( variable2
/*m*/, variable0
/*v*/) /*MMSrcModule::compile_local_table_to_c*/;
1010 continue_37
: while(0);
1011 ((abstract_collection___Iterator___next_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___next
))(variable1
) /*Iterator::next*/;
1014 variable1
= ((abstractmetamodel___MMModule___local_classes_t
)CALL( self
,COLOR_abstractmetamodel___MMModule___local_classes
))( self
) /*MMSrcModule::local_classes*/;
1015 variable1
= ((array___AbstractArray___iterator_t
)CALL(variable1
,COLOR_abstract_collection___Collection___iterator
))(variable1
) /*Array::iterator*/;
1016 while (true) { /*for*/
1017 variable2
= ((array___ArrayIterator___is_ok_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___is_ok
))(variable1
) /*ArrayIterator::is_ok*/;
1018 if (!UNTAG_Bool(variable2
)) break; /*for*/
1019 variable2
= ((array___ArrayIterator___item_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___item
))(variable1
) /*ArrayIterator::item*/;
1020 ((compiling_global___MMLocalClass___compile_tables_to_c_t
)CALL( variable2
/*c*/,COLOR_compiling_global___MMLocalClass___compile_tables_to_c
))( variable2
/*c*/, variable0
/*v*/) /*MMLocalClass::compile_tables_to_c*/;
1021 continue_38
: while(0);
1022 ((array___ArrayIterator___next_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___next
))(variable1
) /*ArrayIterator::next*/;
1025 variable2
= NEW_string___String___with_native(BOX_NativeString("classtable_t TAG2VFT[4] = {NULL"), TAG_Int(31)); /*new String*/
1026 variable1
= variable2
;
1027 variable2
= NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
1028 variable3
= NEW_string___String___with_native(BOX_NativeString("Int"), TAG_Int(3)); /*new String*/
1029 ((array___AbstractArray___add_t
)CALL(variable2
,COLOR_abstract_collection___SimpleCollection___add
))(variable2
, variable3
) /*Array::add*/;
1030 variable4
= NEW_string___String___with_native(BOX_NativeString("Char"), TAG_Int(4)); /*new String*/
1031 ((array___AbstractArray___add_t
)CALL(variable2
,COLOR_abstract_collection___SimpleCollection___add
))(variable2
, variable4
) /*Array::add*/;
1032 variable5
= NEW_string___String___with_native(BOX_NativeString("Bool"), TAG_Int(4)); /*new String*/
1033 ((array___AbstractArray___add_t
)CALL(variable2
,COLOR_abstract_collection___SimpleCollection___add
))(variable2
, variable5
) /*Array::add*/;
1034 variable2
= ((array___AbstractArray___iterator_t
)CALL(variable2
,COLOR_abstract_collection___Collection___iterator
))(variable2
) /*Array::iterator*/;
1035 while (true) { /*for*/
1036 variable3
= ((array___ArrayIterator___is_ok_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___is_ok
))(variable2
) /*ArrayIterator::is_ok*/;
1037 if (!UNTAG_Bool(variable3
)) break; /*for*/
1038 variable3
= ((array___ArrayIterator___item_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___item
))(variable2
) /*ArrayIterator::item*/;
1039 variable4
= ((symbol___String___to_symbol_t
)CALL( variable3
/*t*/,COLOR_symbol___String___to_symbol
))( variable3
/*t*/) /*String::to_symbol*/;
1040 variable4
= ((abstractmetamodel___MMModule___has_global_class_named_t
)CALL( self
,COLOR_abstractmetamodel___MMModule___has_global_class_named
))( self
, variable4
) /*MMSrcModule::has_global_class_named*/;
1041 if (UNTAG_Bool(variable4
)) { /*if*/
1042 variable4
= NEW_string___String___init(); /*new String*/
1043 variable5
= NEW_string___String___with_native(BOX_NativeString(", (const classtable_t)VFT_"), TAG_Int(26)); /*new String*/
1044 variable6
= variable5
;
1045 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable6
) /*String::append*/;
1046 variable7
= variable3
/*t*/;
1047 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable7
) /*String::append*/;
1048 variable8
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1049 variable9
= variable8
;
1050 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable9
) /*String::append*/;
1051 ((string___String___append_t
)CALL( variable1
/*s*/,COLOR_abstract_collection___IndexedCollection___append
))( variable1
/*s*/, variable4
) /*String::append*/;
1053 variable4
= NEW_string___String___with_native(BOX_NativeString(", NULL"), TAG_Int(6)); /*new String*/
1054 ((string___String___append_t
)CALL( variable1
/*s*/,COLOR_abstract_collection___IndexedCollection___append
))( variable1
/*s*/, variable4
) /*String::append*/;
1056 continue_39
: while(0);
1057 ((array___ArrayIterator___next_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___next
))(variable2
) /*ArrayIterator::next*/;
1060 variable2
= NEW_string___String___with_native(BOX_NativeString("};"), TAG_Int(2)); /*new String*/
1061 ((string___String___append_t
)CALL( variable1
/*s*/,COLOR_abstract_collection___IndexedCollection___append
))( variable1
/*s*/, variable2
) /*String::append*/;
1062 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable1
/*s*/) /*CompilerVisitor::add_instr*/;
1063 tracehead
= trace
.prev
;
1066 void compiling_global___MMSrcModule___declare_class_tables_to_c(val_t self
, val_t param0
) {
1067 struct trace_t trace
= {NULL
, "compiling_global::MMSrcModule::declare_class_tables_to_c (src/compiling//compiling_global.nit:455,2--460:27)"};
1072 trace
.prev
= tracehead
; tracehead
= &trace
;
1074 variable1
= ((abstractmetamodel___MMModule___local_classes_t
)CALL( self
,COLOR_abstractmetamodel___MMModule___local_classes
))( self
) /*MMSrcModule::local_classes*/;
1075 variable1
= ((array___AbstractArray___iterator_t
)CALL(variable1
,COLOR_abstract_collection___Collection___iterator
))(variable1
) /*Array::iterator*/;
1076 while (true) { /*for*/
1077 variable2
= ((array___ArrayIterator___is_ok_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___is_ok
))(variable1
) /*ArrayIterator::is_ok*/;
1078 if (!UNTAG_Bool(variable2
)) break; /*for*/
1079 variable2
= ((array___ArrayIterator___item_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___item
))(variable1
) /*ArrayIterator::item*/;
1080 variable3
= ((abstractmetamodel___MMLocalClass___global_t
)CALL( variable2
/*c*/,COLOR_abstractmetamodel___MMLocalClass___global
))( variable2
/*c*/) /*MMLocalClass::global*/;
1081 variable3
= ((abstractmetamodel___MMGlobalClass___module_t
)CALL(variable3
,COLOR_abstractmetamodel___MMGlobalClass___module
))(variable3
) /*MMGlobalClass::module*/;
1082 variable3
= TAG_Bool((variable3
== self
) || ((variable3
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable3
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable3
, self
)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable3
,COLOR_kernel___Object_____eqeq
))(variable3
, self
) /*MMModule::==*/)))));
1083 if (UNTAG_Bool(variable3
)) { /*if*/
1084 ((compiling_global___MMLocalClass___declare_tables_to_c_t
)CALL( variable2
/*c*/,COLOR_compiling_global___MMLocalClass___declare_tables_to_c
))( variable2
/*c*/, variable0
/*v*/) /*MMLocalClass::declare_tables_to_c*/;
1086 continue_41
: while(0);
1087 ((array___ArrayIterator___next_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___next
))(variable1
) /*ArrayIterator::next*/;
1090 tracehead
= trace
.prev
;
1093 void compiling_global___MMSrcModule___compile_main_part(val_t self
, val_t param0
) {
1094 struct trace_t trace
= {NULL
, "compiling_global::MMSrcModule::compile_main_part (src/compiling//compiling_global.nit:465,2--490:17)"};
1098 static val_t once_value_variable2_43
; static int once_bool_variable2_43
;
1101 static val_t once_value_variable4_44
; static int once_bool_variable4_44
;
1102 static val_t once_value_variable4_45
; static int once_bool_variable4_45
;
1109 trace
.prev
= tracehead
; tracehead
= &trace
;
1111 variable1
= NEW_string___String___with_native(BOX_NativeString("int main(int argc, char **argv) {"), TAG_Int(33)); /*new String*/
1112 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable1
) /*CompilerVisitor::add_instr*/;
1113 ((compiling_base___CompilerVisitor___indent_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___indent
))( variable0
/*v*/) /*CompilerVisitor::indent*/;
1114 variable1
= NEW_string___String___with_native(BOX_NativeString("prepare_signals();"), TAG_Int(18)); /*new String*/
1115 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable1
) /*CompilerVisitor::add_instr*/;
1116 variable1
= NEW_string___String___with_native(BOX_NativeString("glob_argc = argc; glob_argv = argv;"), TAG_Int(35)); /*new String*/
1117 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable1
) /*CompilerVisitor::add_instr*/;
1118 if (once_bool_variable2_43
) variable2
= once_value_variable2_43
;
1120 variable2
= NEW_string___String___with_native(BOX_NativeString("Sys"), TAG_Int(3)); /*new String*/
1121 variable2
= ((symbol___String___to_symbol_t
)CALL(variable2
,COLOR_symbol___String___to_symbol
))(variable2
) /*String::to_symbol*/;
1122 once_value_variable2_43
= variable2
;
1123 once_bool_variable2_43
= true;
1125 variable1
= variable2
;
1126 variable2
= ((abstractmetamodel___MMModule___has_global_class_named_t
)CALL( self
,COLOR_abstractmetamodel___MMModule___has_global_class_named
))( self
, variable1
/*sysname*/) /*MMSrcModule::has_global_class_named*/;
1127 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable2
)))) { /*if*/
1128 variable2
= NEW_string___String___with_native(BOX_NativeString("No main"), TAG_Int(7)); /*new String*/
1129 ((file___Object___print_t
)CALL( self
,COLOR_file___Object___print
))( self
, variable2
) /*MMSrcModule::print*/;
1131 variable3
= ((abstractmetamodel___MMModule___class_by_name_t
)CALL( self
,COLOR_abstractmetamodel___MMModule___class_by_name
))( self
, variable1
/*sysname*/) /*MMSrcModule::class_by_name*/;
1132 variable3
= ((genericity___MMLocalClass___get_type_t
)CALL(variable3
,COLOR_static_type___MMLocalClass___get_type
))(variable3
) /*MMLocalClass::get_type*/;
1133 variable2
= variable3
;
1134 if (once_bool_variable4_44
) variable4
= once_value_variable4_44
;
1136 variable4
= NEW_string___String___with_native(BOX_NativeString("init"), TAG_Int(4)); /*new String*/
1137 variable4
= ((symbol___String___to_symbol_t
)CALL(variable4
,COLOR_symbol___String___to_symbol
))(variable4
) /*String::to_symbol*/;
1138 once_value_variable4_44
= variable4
;
1139 once_bool_variable4_44
= true;
1141 variable4
= ((static_type___MMType___select_method_t
)CALL( variable2
/*sys*/,COLOR_static_type___MMType___select_method
))( variable2
/*sys*/, variable4
) /*MMType::select_method*/;
1142 variable3
= variable4
;
1143 variable4
= TAG_Bool(( variable3
/*main*/ == NIT_NULL
/*null*/) || (( variable3
/*main*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable3
/*main*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable3
/*main*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable3
/*main*/,COLOR_kernel___Object_____eqeq
))( variable3
/*main*/, NIT_NULL
/*null*/) /*MMMethod::==*/)))));
1144 if (UNTAG_Bool(variable4
)) { /*if*/
1145 if (once_bool_variable4_45
) variable4
= once_value_variable4_45
;
1147 variable4
= NEW_string___String___with_native(BOX_NativeString("main"), TAG_Int(4)); /*new String*/
1148 variable4
= ((symbol___String___to_symbol_t
)CALL(variable4
,COLOR_symbol___String___to_symbol
))(variable4
) /*String::to_symbol*/;
1149 once_value_variable4_45
= variable4
;
1150 once_bool_variable4_45
= true;
1152 variable4
= ((static_type___MMType___select_method_t
)CALL( variable2
/*sys*/,COLOR_static_type___MMType___select_method
))( variable2
/*sys*/, variable4
) /*MMType::select_method*/;
1153 variable3
= variable4
/*main=*/;
1155 variable4
= TAG_Bool(( variable3
/*main*/ == NIT_NULL
/*null*/) || (( variable3
/*main*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable3
/*main*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable3
/*main*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable3
/*main*/,COLOR_kernel___Object_____eqeq
))( variable3
/*main*/, NIT_NULL
/*null*/) /*MMMethod::==*/)))));
1156 if (UNTAG_Bool(variable4
)) { /*if*/
1157 variable4
= NEW_string___String___with_native(BOX_NativeString("No main"), TAG_Int(7)); /*new String*/
1158 ((file___Object___print_t
)CALL( self
,COLOR_file___Object___print
))( self
, variable4
) /*MMSrcModule::print*/;
1160 variable4
= NEW_string___String___with_native(BOX_NativeString("G_sys = NEW_Sys();"), TAG_Int(18)); /*new String*/
1161 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable4
) /*CompilerVisitor::add_instr*/;
1162 variable4
= NEW_string___String___init(); /*new String*/
1163 variable5
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1164 variable6
= variable5
;
1165 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable6
) /*String::append*/;
1166 variable7
= ((compiling_base___MMLocalProperty___cname_t
)CALL( variable3
/*main*/,COLOR_compiling_base___MMLocalProperty___cname
))( variable3
/*main*/) /*MMMethod::cname*/;
1167 variable8
= variable7
;
1168 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable8
) /*String::append*/;
1169 variable9
= NEW_string___String___with_native(BOX_NativeString("(G_sys);"), TAG_Int(8)); /*new String*/
1170 variable10
= variable9
;
1171 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable10
) /*String::append*/;
1172 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable4
) /*CompilerVisitor::add_instr*/;
1175 variable2
= NEW_string___String___with_native(BOX_NativeString("return 0;"), TAG_Int(9)); /*new String*/
1176 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable2
) /*CompilerVisitor::add_instr*/;
1177 ((compiling_base___CompilerVisitor___unindent_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___unindent
))( variable0
/*v*/) /*CompilerVisitor::unindent*/;
1178 variable2
= NEW_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
1179 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable2
) /*CompilerVisitor::add_instr*/;
1180 tracehead
= trace
.prev
;
1183 void compiling_global___MMSrcModule___compile_mod_to_c(val_t self
, val_t param0
) {
1184 struct trace_t trace
= {NULL
, "compiling_global::MMSrcModule::compile_mod_to_c (src/compiling//compiling_global.nit:493,2--522:29)"};
1208 trace
.prev
= tracehead
; tracehead
= &trace
;
1210 variable1
= ((compiling_base___CompilerVisitor___tc_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___tc
))( variable0
/*v*/) /*CompilerVisitor::tc*/;
1211 variable1
= ((compiling_base___ToolContext___global_t
)CALL(variable1
,COLOR_compiling_base___ToolContext___global
))(variable1
) /*ToolContext::global*/;
1212 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable1
)))) { /*if*/
1213 variable1
= NEW_string___String___init(); /*new String*/
1214 variable2
= NEW_string___String___with_native(BOX_NativeString("extern const int SFT_"), TAG_Int(21)); /*new String*/
1215 variable3
= variable2
;
1216 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable3
) /*String::append*/;
1217 variable4
= ((abstractmetamodel___MMModule___name_t
)CALL( self
,COLOR_abstractmetamodel___MMModule___name
))( self
) /*MMSrcModule::name*/;
1218 variable5
= variable4
;
1219 variable5
= ((string___String___to_s_t
)CALL(variable5
,COLOR_string___Object___to_s
))(variable5
) /*String::to_s*/;
1220 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable5
) /*String::append*/;
1221 variable6
= NEW_string___String___with_native(BOX_NativeString("[];"), TAG_Int(3)); /*new String*/
1222 variable7
= variable6
;
1223 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable7
) /*String::append*/;
1224 ((compiling_base___CompilerVisitor___add_decl_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_decl
))( variable0
/*v*/, variable1
) /*CompilerVisitor::add_decl*/;
1226 variable1
= TAG_Int(0);
1227 variable2
= ATTR_compiling_global___MMSrcModule____local_table( self
) /*MMSrcModule::_local_table*/;
1228 variable2
= ((array___AbstractArray___iterator_t
)CALL(variable2
,COLOR_abstract_collection___Collection___iterator
))(variable2
) /*Array::iterator*/;
1229 while (true) { /*for*/
1230 variable3
= ((array___ArrayIterator___is_ok_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___is_ok
))(variable2
) /*ArrayIterator::is_ok*/;
1231 if (!UNTAG_Bool(variable3
)) break; /*for*/
1232 variable3
= ((array___ArrayIterator___item_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___item
))(variable2
) /*ArrayIterator::item*/;
1233 variable4
= ((compiling_base___CompilerVisitor___tc_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___tc
))( variable0
/*v*/) /*CompilerVisitor::tc*/;
1234 variable4
= ((compiling_base___ToolContext___global_t
)CALL(variable4
,COLOR_compiling_base___ToolContext___global
))(variable4
) /*ToolContext::global*/;
1235 if (UNTAG_Bool(variable4
)) { /*if*/
1236 variable4
= NEW_string___String___init(); /*new String*/
1237 variable5
= NEW_string___String___with_native(BOX_NativeString("#define "), TAG_Int(8)); /*new String*/
1238 variable6
= variable5
;
1239 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable6
) /*String::append*/;
1240 variable7
= ((compiling_global___LocalTableElt___symbol_t
)CALL( variable3
/*e*/,COLOR_compiling_global___LocalTableElt___symbol
))( variable3
/*e*/) /*LocalTableElt::symbol*/;
1241 variable8
= variable7
;
1242 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable8
) /*String::append*/;
1243 variable9
= NEW_string___String___with_native(BOX_NativeString(" "), TAG_Int(1)); /*new String*/
1244 variable10
= variable9
;
1245 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable10
) /*String::append*/;
1246 variable11
= ((compiling_global___CompilerVisitor___global_analysis_t
)CALL( variable0
/*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis
))( variable0
/*v*/) /*CompilerVisitor::global_analysis*/;
1247 variable11
= ((compiling_global___LocalTableElt___value_t
)CALL( variable3
/*e*/,COLOR_compiling_global___LocalTableElt___value
))( variable3
/*e*/, variable11
) /*LocalTableElt::value*/;
1248 variable12
= variable11
;
1249 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable12
) /*String::append*/;
1250 variable13
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1251 variable14
= variable13
;
1252 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable14
) /*String::append*/;
1253 ((compiling_base___CompilerVisitor___add_decl_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_decl
))( variable0
/*v*/, variable4
) /*CompilerVisitor::add_decl*/;
1255 variable4
= NEW_string___String___init(); /*new String*/
1256 variable5
= NEW_string___String___with_native(BOX_NativeString("#define "), TAG_Int(8)); /*new String*/
1257 variable6
= variable5
;
1258 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable6
) /*String::append*/;
1259 variable7
= ((compiling_global___LocalTableElt___symbol_t
)CALL( variable3
/*e*/,COLOR_compiling_global___LocalTableElt___symbol
))( variable3
/*e*/) /*LocalTableElt::symbol*/;
1260 variable8
= variable7
;
1261 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable8
) /*String::append*/;
1262 variable9
= NEW_string___String___with_native(BOX_NativeString(" SFT_"), TAG_Int(5)); /*new String*/
1263 variable10
= variable9
;
1264 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable10
) /*String::append*/;
1265 variable11
= ((abstractmetamodel___MMModule___name_t
)CALL( self
,COLOR_abstractmetamodel___MMModule___name
))( self
) /*MMSrcModule::name*/;
1266 variable12
= variable11
;
1267 variable12
= ((string___String___to_s_t
)CALL(variable12
,COLOR_string___Object___to_s
))(variable12
) /*String::to_s*/;
1268 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable12
) /*String::append*/;
1269 variable13
= NEW_string___String___with_native(BOX_NativeString("["), TAG_Int(1)); /*new String*/
1270 variable14
= variable13
;
1271 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable14
) /*String::append*/;
1272 variable15
= variable1
/*i*/;
1273 variable15
= ((string___String___to_s_t
)CALL(variable15
,COLOR_string___Object___to_s
))(variable15
) /*String::to_s*/;
1274 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable15
) /*String::append*/;
1275 variable16
= NEW_string___String___with_native(BOX_NativeString("]"), TAG_Int(1)); /*new String*/
1276 variable17
= variable16
;
1277 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable17
) /*String::append*/;
1278 ((compiling_base___CompilerVisitor___add_decl_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_decl
))( variable0
/*v*/, variable4
) /*CompilerVisitor::add_decl*/;
1279 variable4
= TAG_Int(UNTAG_Int( variable1
/*i*/)+UNTAG_Int( TAG_Int(1)));
1280 variable1
= variable4
/*i=*/;
1282 continue_47
: while(0);
1283 ((array___ArrayIterator___next_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___next
))(variable2
) /*ArrayIterator::next*/;
1286 variable2
= ((syntax_base___MMSrcModule___src_local_classes_t
)CALL( self
,COLOR_syntax_base___MMSrcModule___src_local_classes
))( self
) /*MMSrcModule::src_local_classes*/;
1287 variable2
= ((abstract_collection___Map___iterator_t
)CALL(variable2
,COLOR_abstract_collection___Collection___iterator
))(variable2
) /*Map::iterator*/;
1288 while (true) { /*for*/
1289 variable3
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___is_ok
))(variable2
) /*MapIterator::is_ok*/;
1290 if (!UNTAG_Bool(variable3
)) break; /*for*/
1291 variable3
= ((abstract_collection___Iterator___item_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___item
))(variable2
) /*MapIterator::item*/;
1292 variable4
= ((syntax_base___MMSrcLocalClass___src_local_properties_t
)CALL( variable3
/*c*/,COLOR_syntax_base___MMSrcLocalClass___src_local_properties
))( variable3
/*c*/) /*MMSrcLocalClass::src_local_properties*/;
1293 variable4
= ((abstract_collection___Map___iterator_t
)CALL(variable4
,COLOR_abstract_collection___Collection___iterator
))(variable4
) /*Map::iterator*/;
1294 while (true) { /*for*/
1295 variable5
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable4
,COLOR_abstract_collection___Iterator___is_ok
))(variable4
) /*MapIterator::is_ok*/;
1296 if (!UNTAG_Bool(variable5
)) break; /*for*/
1297 variable5
= ((abstract_collection___Iterator___item_t
)CALL(variable4
,COLOR_abstract_collection___Iterator___item
))(variable4
) /*MapIterator::item*/;
1298 variable7
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable5
/*p*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable5
/*p*/) /*MMSrcLocalProperty::global*/;
1299 variable6
= variable7
;
1300 variable7
= ((abstractmetamodel___MMGlobalProperty___intro_t
)CALL( variable6
/*pg*/,COLOR_abstractmetamodel___MMGlobalProperty___intro
))( variable6
/*pg*/) /*MMGlobalProperty::intro*/;
1301 variable7
= TAG_Bool((variable7
== variable5
/*p*/) || ((variable7
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable7
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable7
, variable5
/*p*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable7
,COLOR_kernel___Object_____eqeq
))(variable7
, variable5
/*p*/) /*MMConcreteProperty::==*/)))));
1302 variable8
= variable7
;
1303 if (UNTAG_Bool(variable8
)) { /* and */
1304 variable8
= TAG_Bool(( variable5
/*p*/==NIT_NULL
) || VAL_ISA( variable5
/*p*/, COLOR_MMAttribute
, ID_MMAttribute
)) /*cast MMAttribute*/;
1306 variable7
= variable8
;
1307 if (UNTAG_Bool(variable7
)) { /*if*/
1308 variable7
= ((compiling_base___CompilerVisitor___tc_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___tc
))( variable0
/*v*/) /*CompilerVisitor::tc*/;
1309 variable7
= ((compiling_base___ToolContext___attr_sim_t
)CALL(variable7
,COLOR_compiling_base___ToolContext___attr_sim
))(variable7
) /*ToolContext::attr_sim*/;
1310 if (UNTAG_Bool(variable7
)) { /*if*/
1311 variable8
= ((abstractmetamodel___MMGlobalProperty___local_class_t
)CALL( variable6
/*pg*/,COLOR_abstractmetamodel___MMGlobalProperty___local_class
))( variable6
/*pg*/) /*MMGlobalProperty::local_class*/;
1312 variable7
= variable8
;
1313 variable8
= TAG_Bool(( variable7
/*bc*/==NIT_NULL
) || VAL_ISA( variable7
/*bc*/, COLOR_MMSrcLocalClass
, ID_MMSrcLocalClass
)) /*cast MMSrcLocalClass*/;
1314 if (!UNTAG_Bool(variable8
)) { fprintf(stderr
, "Assert failed: src/compiling//compiling_global.nit:514,7--35\n"); nit_exit(1);}
1315 variable9
= ((compiling_global___MMSrcLocalClass___base_attr_pos_t
)CALL( variable7
/*bc*/,COLOR_compiling_global___MMSrcLocalClass___base_attr_pos
))( variable7
/*bc*/) /*MMSrcLocalClass::base_attr_pos*/;
1316 variable9
= ((compiling_global___TableEltBaseAttrPos___symbol_t
)CALL(variable9
,COLOR_compiling_global___LocalTableElt___symbol
))(variable9
) /*TableEltBaseAttrPos::symbol*/;
1317 variable8
= variable9
;
1318 variable9
= NEW_string___String___init(); /*new String*/
1319 variable10
= NEW_string___String___with_native(BOX_NativeString("#define "), TAG_Int(8)); /*new String*/
1320 variable11
= variable10
;
1321 ((string___String___append_t
)CALL(variable9
,COLOR_abstract_collection___IndexedCollection___append
))(variable9
, variable11
) /*String::append*/;
1322 variable12
= ((compiling_base___MMGlobalProperty___attr_access_t
)CALL( variable6
/*pg*/,COLOR_compiling_base___MMGlobalProperty___attr_access
))( variable6
/*pg*/) /*MMGlobalProperty::attr_access*/;
1323 variable13
= variable12
;
1324 ((string___String___append_t
)CALL(variable9
,COLOR_abstract_collection___IndexedCollection___append
))(variable9
, variable13
) /*String::append*/;
1325 variable14
= NEW_string___String___with_native(BOX_NativeString("(recv) ATTRS(recv, "), TAG_Int(19)); /*new String*/
1326 variable15
= variable14
;
1327 ((string___String___append_t
)CALL(variable9
,COLOR_abstract_collection___IndexedCollection___append
))(variable9
, variable15
) /*String::append*/;
1328 variable16
= variable8
/*s*/;
1329 ((string___String___append_t
)CALL(variable9
,COLOR_abstract_collection___IndexedCollection___append
))(variable9
, variable16
) /*String::append*/;
1330 variable17
= NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
1331 variable18
= variable17
;
1332 ((string___String___append_t
)CALL(variable9
,COLOR_abstract_collection___IndexedCollection___append
))(variable9
, variable18
) /*String::append*/;
1333 variable19
= ((compiling_global___MMGlobalProperty___pos_of_t
)CALL( variable6
/*pg*/,COLOR_compiling_global___MMGlobalProperty___pos_of
))( variable6
/*pg*/) /*MMGlobalProperty::pos_of*/;
1334 variable20
= variable19
;
1335 variable20
= ((string___String___to_s_t
)CALL(variable20
,COLOR_string___Object___to_s
))(variable20
) /*String::to_s*/;
1336 ((string___String___append_t
)CALL(variable9
,COLOR_abstract_collection___IndexedCollection___append
))(variable9
, variable20
) /*String::append*/;
1337 variable21
= NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
1338 variable22
= variable21
;
1339 ((string___String___append_t
)CALL(variable9
,COLOR_abstract_collection___IndexedCollection___append
))(variable9
, variable22
) /*String::append*/;
1340 ((compiling_base___CompilerVisitor___add_decl_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_decl
))( variable0
/*v*/, variable9
) /*CompilerVisitor::add_decl*/;
1342 variable7
= NEW_string___String___init(); /*new String*/
1343 variable8
= NEW_string___String___with_native(BOX_NativeString("#define "), TAG_Int(8)); /*new String*/
1344 variable9
= variable8
;
1345 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable9
) /*String::append*/;
1346 variable10
= ((compiling_base___MMGlobalProperty___attr_access_t
)CALL( variable6
/*pg*/,COLOR_compiling_base___MMGlobalProperty___attr_access
))( variable6
/*pg*/) /*MMGlobalProperty::attr_access*/;
1347 variable11
= variable10
;
1348 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable11
) /*String::append*/;
1349 variable12
= NEW_string___String___with_native(BOX_NativeString("(recv) ATTR(recv, "), TAG_Int(18)); /*new String*/
1350 variable13
= variable12
;
1351 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable13
) /*String::append*/;
1352 variable14
= ((compiling_base___MMGlobalProperty___color_id_t
)CALL( variable6
/*pg*/,COLOR_compiling_base___MMGlobalProperty___color_id
))( variable6
/*pg*/) /*MMGlobalProperty::color_id*/;
1353 variable15
= variable14
;
1354 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable15
) /*String::append*/;
1355 variable16
= NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
1356 variable17
= variable16
;
1357 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable17
) /*String::append*/;
1358 ((compiling_base___CompilerVisitor___add_decl_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_decl
))( variable0
/*v*/, variable7
) /*CompilerVisitor::add_decl*/;
1361 variable7
= TAG_Bool(( variable5
/*p*/==NIT_NULL
) || VAL_ISA( variable5
/*p*/, COLOR_MMSrcLocalProperty
, ID_MMSrcLocalProperty
)) /*cast MMSrcLocalProperty*/;
1362 if (!UNTAG_Bool(variable7
)) { fprintf(stderr
, "Assert failed: src/compiling//compiling_global.nit:521,5--35\n"); nit_exit(1);}
1363 ((compiling_methods___MMSrcLocalProperty___compile_property_to_c_t
)CALL( variable5
/*p*/,COLOR_compiling_methods___MMSrcLocalProperty___compile_property_to_c
))( variable5
/*p*/, variable0
/*v*/) /*MMSrcLocalProperty::compile_property_to_c*/;
1364 continue_49
: while(0);
1365 ((abstract_collection___Iterator___next_t
)CALL(variable4
,COLOR_abstract_collection___Iterator___next
))(variable4
) /*MapIterator::next*/;
1368 continue_48
: while(0);
1369 ((abstract_collection___Iterator___next_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___next
))(variable2
) /*MapIterator::next*/;
1372 tracehead
= trace
.prev
;
1375 void compiling_global___MMSrcModule___compile_local_table_to_c(val_t self
, val_t param0
) {
1376 struct trace_t trace
= {NULL
, "compiling_global::MMSrcModule::compile_local_table_to_c (src/compiling//compiling_global.nit:527,2--540:19)"};
1389 trace
.prev
= tracehead
; tracehead
= &trace
;
1391 variable1
= ((compiling_base___CompilerVisitor___tc_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___tc
))( variable0
/*v*/) /*CompilerVisitor::tc*/;
1392 variable1
= ((compiling_base___ToolContext___global_t
)CALL(variable1
,COLOR_compiling_base___ToolContext___global
))(variable1
) /*ToolContext::global*/;
1393 variable2
= variable1
;
1394 if (!UNTAG_Bool(variable2
)) { /* or */
1395 variable2
= ATTR_compiling_global___MMSrcModule____local_table( self
) /*MMSrcModule::_local_table*/;
1396 variable2
= ((array___AbstractArray___is_empty_t
)CALL(variable2
,COLOR_abstract_collection___Collection___is_empty
))(variable2
) /*Array::is_empty*/;
1398 variable1
= variable2
;
1399 if (UNTAG_Bool(variable1
)) { /*if*/
1400 goto return_label50
;
1402 variable1
= NEW_string___String___init(); /*new String*/
1403 variable2
= NEW_string___String___with_native(BOX_NativeString("const int SFT_"), TAG_Int(14)); /*new String*/
1404 variable3
= variable2
;
1405 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable3
) /*String::append*/;
1406 variable4
= ((abstractmetamodel___MMModule___name_t
)CALL( self
,COLOR_abstractmetamodel___MMModule___name
))( self
) /*MMSrcModule::name*/;
1407 variable5
= variable4
;
1408 variable5
= ((string___String___to_s_t
)CALL(variable5
,COLOR_string___Object___to_s
))(variable5
) /*String::to_s*/;
1409 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable5
) /*String::append*/;
1410 variable6
= NEW_string___String___with_native(BOX_NativeString("["), TAG_Int(1)); /*new String*/
1411 variable7
= variable6
;
1412 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable7
) /*String::append*/;
1413 variable8
= ATTR_compiling_global___MMSrcModule____local_table( self
) /*MMSrcModule::_local_table*/;
1414 variable8
= ((array___AbstractArray___length_t
)CALL(variable8
,COLOR_abstract_collection___Collection___length
))(variable8
) /*Array::length*/;
1415 variable9
= variable8
;
1416 variable9
= ((string___String___to_s_t
)CALL(variable9
,COLOR_string___Object___to_s
))(variable9
) /*String::to_s*/;
1417 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable9
) /*String::append*/;
1418 variable10
= NEW_string___String___with_native(BOX_NativeString("] = {"), TAG_Int(5)); /*new String*/
1419 variable11
= variable10
;
1420 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable11
) /*String::append*/;
1421 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable1
) /*CompilerVisitor::add_instr*/;
1422 ((compiling_base___CompilerVisitor___indent_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___indent
))( variable0
/*v*/) /*CompilerVisitor::indent*/;
1423 variable1
= ATTR_compiling_global___MMSrcModule____local_table( self
) /*MMSrcModule::_local_table*/;
1424 variable1
= ((array___AbstractArray___iterator_t
)CALL(variable1
,COLOR_abstract_collection___Collection___iterator
))(variable1
) /*Array::iterator*/;
1425 while (true) { /*for*/
1426 variable2
= ((array___ArrayIterator___is_ok_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___is_ok
))(variable1
) /*ArrayIterator::is_ok*/;
1427 if (!UNTAG_Bool(variable2
)) break; /*for*/
1428 variable2
= ((array___ArrayIterator___item_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___item
))(variable1
) /*ArrayIterator::item*/;
1429 variable3
= ((compiling_global___CompilerVisitor___global_analysis_t
)CALL( variable0
/*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis
))( variable0
/*v*/) /*CompilerVisitor::global_analysis*/;
1430 variable3
= ((compiling_global___LocalTableElt___value_t
)CALL( variable2
/*e*/,COLOR_compiling_global___LocalTableElt___value
))( variable2
/*e*/, variable3
) /*LocalTableElt::value*/;
1431 variable4
= NEW_string___String___with_native(BOX_NativeString(","), TAG_Int(1)); /*new String*/
1432 variable3
= ((string___String_____plus_t
)CALL(variable3
,COLOR_string___String_____plus
))(variable3
, variable4
) /*String::+*/;
1433 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable3
) /*CompilerVisitor::add_instr*/;
1434 continue_51
: while(0);
1435 ((array___ArrayIterator___next_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___next
))(variable1
) /*ArrayIterator::next*/;
1438 ((compiling_base___CompilerVisitor___unindent_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___unindent
))( variable0
/*v*/) /*CompilerVisitor::unindent*/;
1439 variable1
= NEW_string___String___with_native(BOX_NativeString("};"), TAG_Int(2)); /*new String*/
1440 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable1
) /*CompilerVisitor::add_instr*/;
1441 return_label50
: while(false);
1442 tracehead
= trace
.prev
;
1445 val_t
compiling_global___TableElt___is_related_to(val_t self
, val_t param0
) {
1446 struct trace_t trace
= {NULL
, "compiling_global::TableElt::is_related_to (src/compiling//compiling_global.nit:545,2--42)"};
1447 trace
.prev
= tracehead
; tracehead
= &trace
;
1448 fprintf(stderr
, "Deferred method is_related_to called (src/compiling//compiling_global.nit:545,2)\n");
1450 tracehead
= trace
.prev
;
1453 val_t
compiling_global___TableElt___length(val_t self
) {
1454 struct trace_t trace
= {NULL
, "compiling_global::TableElt::length (src/compiling//compiling_global.nit:546,2--29)"};
1456 trace
.prev
= tracehead
; tracehead
= &trace
;
1457 variable0
= TAG_Int(1);
1458 goto return_label52
;
1459 return_label52
: while(false);
1460 tracehead
= trace
.prev
;
1463 val_t
compiling_global___TableElt___item(val_t self
, val_t param0
) {
1464 struct trace_t trace
= {NULL
, "compiling_global::TableElt::item (src/compiling//compiling_global.nit:547,2--43)"};
1467 trace
.prev
= tracehead
; tracehead
= &trace
;
1470 goto return_label53
;
1471 return_label53
: while(false);
1472 tracehead
= trace
.prev
;
1475 val_t
compiling_global___TableElt___compile_to_c(val_t self
, val_t param0
, val_t param1
) {
1476 struct trace_t trace
= {NULL
, "compiling_global::TableElt::compile_to_c (src/compiling//compiling_global.nit:548,2--63)"};
1477 trace
.prev
= tracehead
; tracehead
= &trace
;
1478 fprintf(stderr
, "Deferred method compile_to_c called (src/compiling//compiling_global.nit:548,2)\n");
1480 tracehead
= trace
.prev
;
1483 val_t
compiling_global___LocalTableElt___symbol(val_t self
) {
1484 struct trace_t trace
= {NULL
, "compiling_global::LocalTableElt::symbol (src/compiling//compiling_global.nit:553,2--20)"};
1485 trace
.prev
= tracehead
; tracehead
= &trace
;
1486 fprintf(stderr
, "Deferred method symbol called (src/compiling//compiling_global.nit:553,2)\n");
1488 tracehead
= trace
.prev
;
1491 val_t
compiling_global___LocalTableElt___value(val_t self
, val_t param0
) {
1492 struct trace_t trace
= {NULL
, "compiling_global::LocalTableElt::value (src/compiling//compiling_global.nit:554,2--39)"};
1493 trace
.prev
= tracehead
; tracehead
= &trace
;
1494 fprintf(stderr
, "Deferred method value called (src/compiling//compiling_global.nit:554,2)\n");
1496 tracehead
= trace
.prev
;
1499 val_t
compiling_global___TableEltPropPos___symbol(val_t self
) {
1500 struct trace_t trace
= {NULL
, "compiling_global::TableEltPropPos::symbol (src/compiling//compiling_global.nit:560,2--54)"};
1502 trace
.prev
= tracehead
; tracehead
= &trace
;
1503 variable0
= ATTR_compiling_global___TableEltPropPos____property( self
) /*TableEltPropPos::_property*/;
1504 variable0
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL(variable0
,COLOR_abstractmetamodel___MMLocalProperty___global
))(variable0
) /*MMSrcLocalProperty::global*/;
1505 variable0
= ((compiling_base___MMGlobalProperty___color_id_t
)CALL(variable0
,COLOR_compiling_base___MMGlobalProperty___color_id
))(variable0
) /*MMGlobalProperty::color_id*/;
1506 goto return_label54
;
1507 return_label54
: while(false);
1508 tracehead
= trace
.prev
;
1511 val_t
compiling_global___TableEltPropPos___value(val_t self
, val_t param0
) {
1512 struct trace_t trace
= {NULL
, "compiling_global::TableEltPropPos::value (src/compiling//compiling_global.nit:561,2--77)"};
1525 trace
.prev
= tracehead
; tracehead
= &trace
;
1527 variable1
= NEW_string___String___init(); /*new String*/
1528 variable2
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1529 variable3
= variable2
;
1530 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable3
) /*String::append*/;
1531 variable4
= ((compiling_global___ColorContext___color_t
)CALL( variable0
/*ga*/,COLOR_compiling_global___ColorContext___color
))( variable0
/*ga*/, self
) /*GlobalAnalysis::color*/;
1532 variable5
= variable4
;
1533 variable5
= ((string___String___to_s_t
)CALL(variable5
,COLOR_string___Object___to_s
))(variable5
) /*String::to_s*/;
1534 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable5
) /*String::append*/;
1535 variable6
= NEW_string___String___with_native(BOX_NativeString(" /* Property "), TAG_Int(13)); /*new String*/
1536 variable7
= variable6
;
1537 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable7
) /*String::append*/;
1538 variable8
= ATTR_compiling_global___TableEltPropPos____property( self
) /*TableEltPropPos::_property*/;
1539 variable9
= variable8
;
1540 variable9
= ((string___String___to_s_t
)CALL(variable9
,COLOR_string___Object___to_s
))(variable9
) /*String::to_s*/;
1541 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable9
) /*String::append*/;
1542 variable10
= NEW_string___String___with_native(BOX_NativeString(" */"), TAG_Int(3)); /*new String*/
1543 variable11
= variable10
;
1544 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable11
) /*String::append*/;
1545 goto return_label55
;
1546 return_label55
: while(false);
1547 tracehead
= trace
.prev
;
1550 void compiling_global___TableEltPropPos___init(val_t self
, val_t param0
, int* init_table
) {
1551 struct trace_t trace
= {NULL
, "compiling_global::TableEltPropPos::init (src/compiling//compiling_global.nit:563,2--565:15)"};
1553 trace
.prev
= tracehead
; tracehead
= &trace
;
1555 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TableEltPropPos
].i
]) return;
1556 ATTR_compiling_global___TableEltPropPos____property( self
) /*TableEltPropPos::_property*/ = variable0
/*p*/;
1557 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TableEltPropPos
].i
] = 1;
1558 tracehead
= trace
.prev
;
1561 val_t
compiling_global___TableEltMethPos___compile_to_c(val_t self
, val_t param0
, val_t param1
) {
1562 struct trace_t trace
= {NULL
, "compiling_global::TableEltMethPos::compile_to_c (src/compiling//compiling_global.nit:571,2--574:16)"};
1567 trace
.prev
= tracehead
; tracehead
= &trace
;
1570 variable3
= ATTR_compiling_global___TableEltPropPos____property( self
) /*TableEltMethPos::_property*/;
1571 variable3
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL(variable3
,COLOR_abstractmetamodel___MMLocalProperty___global
))(variable3
) /*MMSrcLocalProperty::global*/;
1572 variable3
= ((inheritance___MMLocalClass_____bra_t
)CALL( variable1
/*c*/,COLOR_abstractmetamodel___MMLocalClass_____bra
))( variable1
/*c*/, variable3
) /*MMLocalClass::[]*/;
1573 variable2
= variable3
;
1574 variable3
= ((compiling_base___MMLocalProperty___cname_t
)CALL( variable2
/*p*/,COLOR_compiling_base___MMLocalProperty___cname
))( variable2
/*p*/) /*MMLocalProperty::cname*/;
1575 variable2
= variable3
;
1576 goto return_label57
;
1577 return_label57
: while(false);
1578 tracehead
= trace
.prev
;
1581 void compiling_global___TableEltMethPos___init(val_t self
, val_t param0
, int* init_table
) {
1582 struct trace_t trace
= {NULL
, "compiling_global::TableEltMethPos::init (src/compiling//compiling_global.nit:576,2--17)"};
1584 trace
.prev
= tracehead
; tracehead
= &trace
;
1586 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TableEltMethPos
].i
]) return;
1587 ((compiling_global___TableEltPropPos___init_t
)CALL( self
,COLOR_compiling_global___TableEltPropPos___init
))( self
, param0
, init_table
/*YYY*/) /*TableEltPropPos::init*/;
1588 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TableEltMethPos
].i
] = 1;
1589 tracehead
= trace
.prev
;
1592 val_t
compiling_global___TableEltSuperPos___symbol(val_t self
) {
1593 struct trace_t trace
= {NULL
, "compiling_global::TableEltSuperPos::symbol (src/compiling//compiling_global.nit:581,2--57)"};
1595 trace
.prev
= tracehead
; tracehead
= &trace
;
1596 variable0
= ATTR_compiling_global___TableEltPropPos____property( self
) /*TableEltSuperPos::_property*/;
1597 variable0
= ((compiling_base___MMLocalProperty___color_id_for_super_t
)CALL(variable0
,COLOR_compiling_base___MMLocalProperty___color_id_for_super
))(variable0
) /*MMSrcLocalProperty::color_id_for_super*/;
1598 goto return_label59
;
1599 return_label59
: while(false);
1600 tracehead
= trace
.prev
;
1603 val_t
compiling_global___TableEltSuperPos___compile_to_c(val_t self
, val_t param0
, val_t param1
) {
1604 struct trace_t trace
= {NULL
, "compiling_global::TableEltSuperPos::compile_to_c (src/compiling//compiling_global.nit:582,2--601:13)"};
1616 trace
.prev
= tracehead
; tracehead
= &trace
;
1619 variable3
= ATTR_compiling_global___TableEltPropPos____property( self
) /*TableEltSuperPos::_property*/;
1620 variable3
= ((abstractmetamodel___MMLocalProperty___local_class_t
)CALL(variable3
,COLOR_abstractmetamodel___MMLocalProperty___local_class
))(variable3
) /*MMSrcLocalProperty::local_class*/;
1621 variable2
= variable3
;
1622 variable4
= ATTR_compiling_global___TableEltPropPos____property( self
) /*TableEltSuperPos::_property*/;
1623 variable4
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL(variable4
,COLOR_abstractmetamodel___MMLocalProperty___global
))(variable4
) /*MMSrcLocalProperty::global*/;
1624 variable3
= variable4
;
1625 variable5
= ((abstractmetamodel___MMLocalClass___che_t
)CALL( variable1
/*c*/,COLOR_abstractmetamodel___MMLocalClass___che
))( variable1
/*c*/) /*MMLocalClass::che*/;
1626 variable5
= ((partial_order___PartialOrderElement___linear_extension_t
)CALL(variable5
,COLOR_partial_order___PartialOrderElement___linear_extension
))(variable5
) /*PartialOrderElement::linear_extension*/;
1627 variable4
= variable5
;
1628 variable5
= TAG_Bool(false);
1629 variable6
= ((array___AbstractArray___iterator_t
)CALL( variable4
/*lin*/,COLOR_abstract_collection___Collection___iterator
))( variable4
/*lin*/) /*Array::iterator*/;
1630 while (true) { /*for*/
1631 variable7
= ((array___ArrayIterator___is_ok_t
)CALL(variable6
,COLOR_abstract_collection___Iterator___is_ok
))(variable6
) /*ArrayIterator::is_ok*/;
1632 if (!UNTAG_Bool(variable7
)) break; /*for*/
1633 variable7
= ((array___ArrayIterator___item_t
)CALL(variable6
,COLOR_abstract_collection___Iterator___item
))(variable6
) /*ArrayIterator::item*/;
1634 variable8
= TAG_Bool(( variable7
/*s*/ == variable2
/*pc*/) || (( variable7
/*s*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable7
/*s*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable7
/*s*/, variable2
/*pc*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable7
/*s*/,COLOR_kernel___Object_____eqeq
))( variable7
/*s*/, variable2
/*pc*/) /*MMLocalClass::==*/)))));
1635 if (UNTAG_Bool(variable8
)) { /*if*/
1636 variable5
= TAG_Bool(true) /*found=*/;
1638 variable8
= variable5
/*found*/;
1639 if (UNTAG_Bool(variable8
)) { /* and */
1640 variable8
= ((abstractmetamodel___MMLocalClass___che_t
)CALL( variable1
/*c*/,COLOR_abstractmetamodel___MMLocalClass___che
))( variable1
/*c*/) /*MMLocalClass::che*/;
1641 variable8
= ((partial_order___PartialOrderElement_____l_t
)CALL(variable8
,COLOR_partial_order___PartialOrderElement_____l
))(variable8
, variable7
/*s*/) /*PartialOrderElement::<*/;
1643 if (UNTAG_Bool(variable8
)) { /*if*/
1644 variable9
= ((inheritance___MMLocalClass_____bra_t
)CALL( variable7
/*s*/,COLOR_abstractmetamodel___MMLocalClass_____bra
))( variable7
/*s*/, variable3
/*g*/) /*MMLocalClass::[]*/;
1645 variable8
= variable9
;
1646 variable9
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8
/*p*/ == NIT_NULL
/*null*/) || (( variable8
/*p*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable8
/*p*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable8
/*p*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable8
/*p*/,COLOR_kernel___Object_____eqeq
))( variable8
/*p*/, NIT_NULL
/*null*/) /*MMLocalProperty::==*/)))))));
1647 variable10
= variable9
;
1648 if (UNTAG_Bool(variable10
)) { /* and */
1649 variable10
= TAG_Bool(( variable8
/*p*/==NIT_NULL
) || VAL_ISA( variable8
/*p*/, COLOR_MMConcreteProperty
, ID_MMConcreteProperty
)) /*cast MMConcreteProperty*/;
1651 variable9
= variable10
;
1652 if (UNTAG_Bool(variable9
)) { /*if*/
1653 variable9
= ((compiling_base___MMLocalProperty___cname_t
)CALL( variable8
/*p*/,COLOR_compiling_base___MMLocalProperty___cname
))( variable8
/*p*/) /*MMConcreteProperty::cname*/;
1654 variable2
= variable9
;
1655 goto return_label60
;
1659 continue_61
: while(0);
1660 ((array___ArrayIterator___next_t
)CALL(variable6
,COLOR_abstract_collection___Iterator___next
))(variable6
) /*ArrayIterator::next*/;
1663 if (!UNTAG_Bool( TAG_Bool(false))) { fprintf(stderr
, "Assert failed: src/compiling//compiling_global.nit:600,3--14\n"); nit_exit(1);}
1664 variable2
= NIT_NULL
/*null*/;
1665 goto return_label60
;
1666 return_label60
: while(false);
1667 tracehead
= trace
.prev
;
1670 void compiling_global___TableEltSuperPos___init(val_t self
, val_t param0
, int* init_table
) {
1671 struct trace_t trace
= {NULL
, "compiling_global::TableEltSuperPos::init (src/compiling//compiling_global.nit:604,2--17)"};
1673 trace
.prev
= tracehead
; tracehead
= &trace
;
1675 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TableEltSuperPos
].i
]) return;
1676 ((compiling_global___TableEltPropPos___init_t
)CALL( self
,COLOR_compiling_global___TableEltPropPos___init
))( self
, param0
, init_table
/*YYY*/) /*TableEltPropPos::init*/;
1677 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TableEltSuperPos
].i
] = 1;
1678 tracehead
= trace
.prev
;
1681 val_t
compiling_global___TableEltAttrPos___compile_to_c(val_t self
, val_t param0
, val_t param1
) {
1682 struct trace_t trace
= {NULL
, "compiling_global::TableEltAttrPos::compile_to_c (src/compiling//compiling_global.nit:609,2--613:53)"};
1700 trace
.prev
= tracehead
; tracehead
= &trace
;
1703 variable3
= ((compiling_global___CompilerVisitor___global_analysis_t
)CALL( variable0
/*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis
))( variable0
/*v*/) /*CompilerVisitor::global_analysis*/;
1704 variable2
= variable3
;
1705 variable4
= ATTR_compiling_global___TableEltPropPos____property( self
) /*TableEltAttrPos::_property*/;
1706 variable4
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL(variable4
,COLOR_abstractmetamodel___MMLocalProperty___global
))(variable4
) /*MMSrcLocalProperty::global*/;
1707 variable4
= ((inheritance___MMLocalClass_____bra_t
)CALL( variable1
/*c*/,COLOR_abstractmetamodel___MMLocalClass_____bra
))( variable1
/*c*/, variable4
) /*MMLocalClass::[]*/;
1708 variable3
= variable4
;
1709 variable4
= NEW_string___String___init(); /*new String*/
1710 variable5
= NEW_string___String___with_native(BOX_NativeString("/* "), TAG_Int(3)); /*new String*/
1711 variable6
= variable5
;
1712 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable6
) /*String::append*/;
1713 variable7
= ((compiling_global___ColorContext___color_t
)CALL( variable2
/*ga*/,COLOR_compiling_global___ColorContext___color
))( variable2
/*ga*/, self
) /*GlobalAnalysis::color*/;
1714 variable8
= variable7
;
1715 variable8
= ((string___String___to_s_t
)CALL(variable8
,COLOR_string___Object___to_s
))(variable8
) /*String::to_s*/;
1716 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable8
) /*String::append*/;
1717 variable9
= NEW_string___String___with_native(BOX_NativeString(": Attribute "), TAG_Int(12)); /*new String*/
1718 variable10
= variable9
;
1719 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable10
) /*String::append*/;
1720 variable11
= variable1
/*c*/;
1721 variable11
= ((string___String___to_s_t
)CALL(variable11
,COLOR_string___Object___to_s
))(variable11
) /*String::to_s*/;
1722 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable11
) /*String::append*/;
1723 variable12
= NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
1724 variable13
= variable12
;
1725 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable13
) /*String::append*/;
1726 variable14
= variable3
/*p*/;
1727 variable14
= ((string___String___to_s_t
)CALL(variable14
,COLOR_string___Object___to_s
))(variable14
) /*String::to_s*/;
1728 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable14
) /*String::append*/;
1729 variable15
= NEW_string___String___with_native(BOX_NativeString(" */"), TAG_Int(3)); /*new String*/
1730 variable16
= variable15
;
1731 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable16
) /*String::append*/;
1732 variable2
= variable4
;
1733 goto return_label63
;
1734 return_label63
: while(false);
1735 tracehead
= trace
.prev
;
1738 void compiling_global___TableEltAttrPos___init(val_t self
, val_t param0
, int* init_table
) {
1739 struct trace_t trace
= {NULL
, "compiling_global::TableEltAttrPos::init (src/compiling//compiling_global.nit:616,2--17)"};
1741 trace
.prev
= tracehead
; tracehead
= &trace
;
1743 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TableEltAttrPos
].i
]) return;
1744 ((compiling_global___TableEltPropPos___init_t
)CALL( self
,COLOR_compiling_global___TableEltPropPos___init
))( self
, param0
, init_table
/*YYY*/) /*TableEltPropPos::init*/;
1745 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TableEltAttrPos
].i
] = 1;
1746 tracehead
= trace
.prev
;
1749 val_t
compiling_global___TableEltClassPos___is_related_to(val_t self
, val_t param0
) {
1750 struct trace_t trace
= {NULL
, "compiling_global::TableEltClassPos::is_related_to (src/compiling//compiling_global.nit:622,2--625:21)"};
1755 trace
.prev
= tracehead
; tracehead
= &trace
;
1757 variable2
= ((abstractmetamodel___MMLocalClass___module_t
)CALL( variable0
/*c*/,COLOR_abstractmetamodel___MMLocalClass___module
))( variable0
/*c*/) /*MMLocalClass::module*/;
1758 variable3
= ATTR_compiling_global___TableEltClassPos____local_class( self
) /*TableEltClassPos::_local_class*/;
1759 variable3
= ((abstractmetamodel___MMLocalClass___global_t
)CALL(variable3
,COLOR_abstractmetamodel___MMLocalClass___global
))(variable3
) /*MMLocalClass::global*/;
1760 variable2
= ((abstractmetamodel___MMModule_____bra_t
)CALL(variable2
,COLOR_abstractmetamodel___MMModule_____bra
))(variable2
, variable3
) /*MMModule::[]*/;
1761 variable1
= variable2
;
1762 variable2
= ((abstractmetamodel___MMLocalClass___cshe_t
)CALL( variable0
/*c*/,COLOR_abstractmetamodel___MMLocalClass___cshe
))( variable0
/*c*/) /*MMLocalClass::cshe*/;
1763 variable2
= ((partial_order___PartialOrderElement_____leq_t
)CALL(variable2
,COLOR_partial_order___PartialOrderElement_____leq
))(variable2
, variable1
/*bc*/) /*PartialOrderElement::<=*/;
1764 variable1
= variable2
;
1765 goto return_label65
;
1766 return_label65
: while(false);
1767 tracehead
= trace
.prev
;
1770 void compiling_global___TableEltClassPos___init(val_t self
, val_t param0
, int* init_table
) {
1771 struct trace_t trace
= {NULL
, "compiling_global::TableEltClassPos::init (src/compiling//compiling_global.nit:628,2--630:18)"};
1773 trace
.prev
= tracehead
; tracehead
= &trace
;
1775 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TableEltClassPos
].i
]) return;
1776 ATTR_compiling_global___TableEltClassPos____local_class( self
) /*TableEltClassPos::_local_class*/ = variable0
/*c*/;
1777 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TableEltClassPos
].i
] = 1;
1778 tracehead
= trace
.prev
;
1781 val_t
compiling_global___TableEltClassIdPos___symbol(val_t self
) {
1782 struct trace_t trace
= {NULL
, "compiling_global::TableEltClassIdPos::symbol (src/compiling//compiling_global.nit:636,2--54)"};
1784 trace
.prev
= tracehead
; tracehead
= &trace
;
1785 variable0
= ATTR_compiling_global___TableEltClassPos____local_class( self
) /*TableEltClassIdPos::_local_class*/;
1786 variable0
= ((abstractmetamodel___MMLocalClass___global_t
)CALL(variable0
,COLOR_abstractmetamodel___MMLocalClass___global
))(variable0
) /*MMLocalClass::global*/;
1787 variable0
= ((compiling_base___MMGlobalClass___id_id_t
)CALL(variable0
,COLOR_compiling_base___MMGlobalClass___id_id
))(variable0
) /*MMGlobalClass::id_id*/;
1788 goto return_label67
;
1789 return_label67
: while(false);
1790 tracehead
= trace
.prev
;
1793 val_t
compiling_global___TableEltClassIdPos___value(val_t self
, val_t param0
) {
1794 struct trace_t trace
= {NULL
, "compiling_global::TableEltClassIdPos::value (src/compiling//compiling_global.nit:637,2--639:83)"};
1807 trace
.prev
= tracehead
; tracehead
= &trace
;
1809 variable1
= NEW_string___String___init(); /*new String*/
1810 variable2
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1811 variable3
= variable2
;
1812 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable3
) /*String::append*/;
1813 variable4
= ((compiling_global___GlobalAnalysis___compiled_classes_t
)CALL( variable0
/*ga*/,COLOR_compiling_global___GlobalAnalysis___compiled_classes
))( variable0
/*ga*/) /*GlobalAnalysis::compiled_classes*/;
1814 variable5
= ATTR_compiling_global___TableEltClassPos____local_class( self
) /*TableEltClassIdPos::_local_class*/;
1815 variable5
= ((abstractmetamodel___MMLocalClass___global_t
)CALL(variable5
,COLOR_abstractmetamodel___MMLocalClass___global
))(variable5
) /*MMLocalClass::global*/;
1816 variable4
= ((abstract_collection___CoupleMap_____bra_t
)CALL(variable4
,COLOR_abstract_collection___Map_____bra
))(variable4
, variable5
) /*HashMap::[]*/;
1817 variable4
= ((compiling_global___CompiledClass___id_t
)CALL(variable4
,COLOR_compiling_global___CompiledClass___id
))(variable4
) /*CompiledClass::id*/;
1818 variable5
= variable4
;
1819 variable5
= ((string___String___to_s_t
)CALL(variable5
,COLOR_string___Object___to_s
))(variable5
) /*String::to_s*/;
1820 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable5
) /*String::append*/;
1821 variable6
= NEW_string___String___with_native(BOX_NativeString(" /* Id of "), TAG_Int(10)); /*new String*/
1822 variable7
= variable6
;
1823 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable7
) /*String::append*/;
1824 variable8
= ATTR_compiling_global___TableEltClassPos____local_class( self
) /*TableEltClassIdPos::_local_class*/;
1825 variable9
= variable8
;
1826 variable9
= ((string___String___to_s_t
)CALL(variable9
,COLOR_string___Object___to_s
))(variable9
) /*String::to_s*/;
1827 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable9
) /*String::append*/;
1828 variable10
= NEW_string___String___with_native(BOX_NativeString(" */"), TAG_Int(3)); /*new String*/
1829 variable11
= variable10
;
1830 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable11
) /*String::append*/;
1831 goto return_label68
;
1832 return_label68
: while(false);
1833 tracehead
= trace
.prev
;
1836 void compiling_global___TableEltClassIdPos___init(val_t self
, val_t param0
, int* init_table
) {
1837 struct trace_t trace
= {NULL
, "compiling_global::TableEltClassIdPos::init (src/compiling//compiling_global.nit:642,2--17)"};
1839 trace
.prev
= tracehead
; tracehead
= &trace
;
1841 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TableEltClassIdPos
].i
]) return;
1842 ((compiling_global___TableEltClassPos___init_t
)CALL( self
,COLOR_compiling_global___TableEltClassPos___init
))( self
, param0
, init_table
/*YYY*/) /*TableEltClassPos::init*/;
1843 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TableEltClassIdPos
].i
] = 1;
1844 tracehead
= trace
.prev
;
1847 val_t
compiling_global___TableEltClassInitTablePos___symbol(val_t self
) {
1848 struct trace_t trace
= {NULL
, "compiling_global::TableEltClassInitTablePos::symbol (src/compiling//compiling_global.nit:647,2--66)"};
1850 trace
.prev
= tracehead
; tracehead
= &trace
;
1851 variable0
= ATTR_compiling_global___TableEltClassPos____local_class( self
) /*TableEltClassInitTablePos::_local_class*/;
1852 variable0
= ((abstractmetamodel___MMLocalClass___global_t
)CALL(variable0
,COLOR_abstractmetamodel___MMLocalClass___global
))(variable0
) /*MMLocalClass::global*/;
1853 variable0
= ((compiling_base___MMGlobalClass___init_table_pos_id_t
)CALL(variable0
,COLOR_compiling_base___MMGlobalClass___init_table_pos_id
))(variable0
) /*MMGlobalClass::init_table_pos_id*/;
1854 goto return_label70
;
1855 return_label70
: while(false);
1856 tracehead
= trace
.prev
;
1859 val_t
compiling_global___TableEltClassInitTablePos___value(val_t self
, val_t param0
) {
1860 struct trace_t trace
= {NULL
, "compiling_global::TableEltClassInitTablePos::value (src/compiling//compiling_global.nit:648,2--650:57)"};
1873 trace
.prev
= tracehead
; tracehead
= &trace
;
1875 variable1
= NEW_string___String___init(); /*new String*/
1876 variable2
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1877 variable3
= variable2
;
1878 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable3
) /*String::append*/;
1879 variable4
= ((compiling_global___ColorContext___color_t
)CALL( variable0
/*ga*/,COLOR_compiling_global___ColorContext___color
))( variable0
/*ga*/, self
) /*GlobalAnalysis::color*/;
1880 variable5
= variable4
;
1881 variable5
= ((string___String___to_s_t
)CALL(variable5
,COLOR_string___Object___to_s
))(variable5
) /*String::to_s*/;
1882 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable5
) /*String::append*/;
1883 variable6
= NEW_string___String___with_native(BOX_NativeString(" /* Color of "), TAG_Int(13)); /*new String*/
1884 variable7
= variable6
;
1885 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable7
) /*String::append*/;
1886 variable8
= ATTR_compiling_global___TableEltClassPos____local_class( self
) /*TableEltClassInitTablePos::_local_class*/;
1887 variable9
= variable8
;
1888 variable9
= ((string___String___to_s_t
)CALL(variable9
,COLOR_string___Object___to_s
))(variable9
) /*String::to_s*/;
1889 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable9
) /*String::append*/;
1890 variable10
= NEW_string___String___with_native(BOX_NativeString(" */"), TAG_Int(3)); /*new String*/
1891 variable11
= variable10
;
1892 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable11
) /*String::append*/;
1893 goto return_label71
;
1894 return_label71
: while(false);
1895 tracehead
= trace
.prev
;
1898 val_t
compiling_global___TableEltClassInitTablePos___compile_to_c(val_t self
, val_t param0
, val_t param1
) {
1899 struct trace_t trace
= {NULL
, "compiling_global::TableEltClassInitTablePos::compile_to_c (src/compiling//compiling_global.nit:652,2--661:93)"};
1923 trace
.prev
= tracehead
; tracehead
= &trace
;
1926 variable3
= ((compiling_global___CompilerVisitor___global_analysis_t
)CALL( variable0
/*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis
))( variable0
/*v*/) /*CompilerVisitor::global_analysis*/;
1927 variable2
= variable3
;
1928 variable4
= ((compiling_global___GlobalAnalysis___compiled_classes_t
)CALL( variable2
/*ga*/,COLOR_compiling_global___GlobalAnalysis___compiled_classes
))( variable2
/*ga*/) /*GlobalAnalysis::compiled_classes*/;
1929 variable5
= ATTR_compiling_global___TableEltClassPos____local_class( self
) /*TableEltClassInitTablePos::_local_class*/;
1930 variable5
= ((abstractmetamodel___MMLocalClass___global_t
)CALL(variable5
,COLOR_abstractmetamodel___MMLocalClass___global
))(variable5
) /*MMLocalClass::global*/;
1931 variable4
= ((abstract_collection___CoupleMap_____bra_t
)CALL(variable4
,COLOR_abstract_collection___Map_____bra
))(variable4
, variable5
) /*HashMap::[]*/;
1932 variable3
= variable4
;
1933 variable5
= ((abstractmetamodel___MMLocalClass___cshe_t
)CALL( variable1
/*c*/,COLOR_abstractmetamodel___MMLocalClass___cshe
))( variable1
/*c*/) /*MMLocalClass::cshe*/;
1934 variable5
= ((partial_order___PartialOrderElement___reverse_linear_extension_t
)CALL(variable5
,COLOR_partial_order___PartialOrderElement___reverse_linear_extension
))(variable5
) /*PartialOrderElement::reverse_linear_extension*/;
1935 variable4
= variable5
;
1936 variable5
= TAG_Int(0);
1937 while (true) { /*while*/
1938 variable6
= variable5
/*i*/;
1939 variable7
= TAG_Bool(UNTAG_Int( variable6
/*index*/)>=UNTAG_Int( TAG_Int(0)));
1940 variable8
= variable7
;
1941 if (UNTAG_Bool(variable8
)) { /* and */
1942 variable8
= ATTR_array___AbstractArray____length( variable4
/*linext*/) /*Array::_length*/;
1943 variable8
= TAG_Bool(UNTAG_Int( variable6
/*index*/)<UNTAG_Int(variable8
));
1945 variable7
= variable8
;
1946 if (!UNTAG_Bool(variable7
)) { fprintf(stderr
, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
1947 variable7
= ATTR_array___Array____items( variable4
/*linext*/) /*Array::_items*/;
1948 variable7
= UNBOX_NativeArray(variable7
)[UNTAG_Int( variable6
/*index*/)];
1949 goto return_label74
;
1950 return_label74
: while(false);
1951 variable6
= variable7
;
1952 variable6
= ((abstractmetamodel___MMLocalClass___global_t
)CALL(variable6
,COLOR_abstractmetamodel___MMLocalClass___global
))(variable6
) /*MMLocalClass::global*/;
1953 variable7
= ATTR_compiling_global___TableEltClassPos____local_class( self
) /*TableEltClassInitTablePos::_local_class*/;
1954 variable7
= ((abstractmetamodel___MMLocalClass___global_t
)CALL(variable7
,COLOR_abstractmetamodel___MMLocalClass___global
))(variable7
) /*MMLocalClass::global*/;
1955 variable6
= TAG_Bool(!UNTAG_Bool(TAG_Bool((variable6
== variable7
) || ((variable6
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable6
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable6
,variable7
)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable6
,COLOR_kernel___Object_____eqeq
))(variable6
, variable7
) /*MMGlobalClass::==*/)))))));
1956 if (!UNTAG_Bool(variable6
)) break; /* while*/
1957 variable5
= TAG_Int(UNTAG_Int(variable5
)+UNTAG_Int( TAG_Int(1))) /*i*/;
1958 continue_73
: while(0);
1961 variable6
= NEW_string___String___init(); /*new String*/
1962 variable7
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1963 variable8
= variable7
;
1964 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable8
) /*String::append*/;
1965 variable9
= variable5
/*i*/;
1966 variable9
= ((string___String___to_s_t
)CALL(variable9
,COLOR_string___Object___to_s
))(variable9
) /*String::to_s*/;
1967 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable9
) /*String::append*/;
1968 variable10
= NEW_string___String___with_native(BOX_NativeString(" /* "), TAG_Int(4)); /*new String*/
1969 variable11
= variable10
;
1970 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable11
) /*String::append*/;
1971 variable12
= ((compiling_global___ColorContext___color_t
)CALL( variable2
/*ga*/,COLOR_compiling_global___ColorContext___color
))( variable2
/*ga*/, self
) /*GlobalAnalysis::color*/;
1972 variable13
= variable12
;
1973 variable13
= ((string___String___to_s_t
)CALL(variable13
,COLOR_string___Object___to_s
))(variable13
) /*String::to_s*/;
1974 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable13
) /*String::append*/;
1975 variable14
= NEW_string___String___with_native(BOX_NativeString(": "), TAG_Int(2)); /*new String*/
1976 variable15
= variable14
;
1977 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable15
) /*String::append*/;
1978 variable16
= variable1
/*c*/;
1979 variable16
= ((string___String___to_s_t
)CALL(variable16
,COLOR_string___Object___to_s
))(variable16
) /*String::to_s*/;
1980 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable16
) /*String::append*/;
1981 variable17
= NEW_string___String___with_native(BOX_NativeString(" < "), TAG_Int(3)); /*new String*/
1982 variable18
= variable17
;
1983 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable18
) /*String::append*/;
1984 variable19
= ((compiling_global___CompiledClass___local_class_t
)CALL( variable3
/*cc*/,COLOR_compiling_global___CompiledClass___local_class
))( variable3
/*cc*/) /*CompiledClass::local_class*/;
1985 variable20
= variable19
;
1986 variable20
= ((string___String___to_s_t
)CALL(variable20
,COLOR_string___Object___to_s
))(variable20
) /*String::to_s*/;
1987 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable20
) /*String::append*/;
1988 variable21
= NEW_string___String___with_native(BOX_NativeString(": superclass init_table position */"), TAG_Int(35)); /*new String*/
1989 variable22
= variable21
;
1990 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable22
) /*String::append*/;
1991 variable2
= variable6
;
1992 goto return_label72
;
1993 return_label72
: while(false);
1994 tracehead
= trace
.prev
;
1997 void compiling_global___TableEltClassInitTablePos___init(val_t self
, val_t param0
, int* init_table
) {
1998 struct trace_t trace
= {NULL
, "compiling_global::TableEltClassInitTablePos::init (src/compiling//compiling_global.nit:664,2--17)"};
2000 trace
.prev
= tracehead
; tracehead
= &trace
;
2002 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TableEltClassInitTablePos
].i
]) return;
2003 ((compiling_global___TableEltClassPos___init_t
)CALL( self
,COLOR_compiling_global___TableEltClassPos___init
))( self
, param0
, init_table
/*YYY*/) /*TableEltClassPos::init*/;
2004 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TableEltClassInitTablePos
].i
] = 1;
2005 tracehead
= trace
.prev
;
2008 val_t
compiling_global___TableEltClassColorPos___symbol(val_t self
) {
2009 struct trace_t trace
= {NULL
, "compiling_global::TableEltClassColorPos::symbol (src/compiling//compiling_global.nit:669,2--57)"};
2011 trace
.prev
= tracehead
; tracehead
= &trace
;
2012 variable0
= ATTR_compiling_global___TableEltClassPos____local_class( self
) /*TableEltClassColorPos::_local_class*/;
2013 variable0
= ((abstractmetamodel___MMLocalClass___global_t
)CALL(variable0
,COLOR_abstractmetamodel___MMLocalClass___global
))(variable0
) /*MMLocalClass::global*/;
2014 variable0
= ((compiling_base___MMGlobalClass___color_id_t
)CALL(variable0
,COLOR_compiling_base___MMGlobalClass___color_id
))(variable0
) /*MMGlobalClass::color_id*/;
2015 goto return_label76
;
2016 return_label76
: while(false);
2017 tracehead
= trace
.prev
;
2020 val_t
compiling_global___TableEltClassColorPos___value(val_t self
, val_t param0
) {
2021 struct trace_t trace
= {NULL
, "compiling_global::TableEltClassColorPos::value (src/compiling//compiling_global.nit:670,2--672:57)"};
2034 trace
.prev
= tracehead
; tracehead
= &trace
;
2036 variable1
= NEW_string___String___init(); /*new String*/
2037 variable2
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2038 variable3
= variable2
;
2039 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable3
) /*String::append*/;
2040 variable4
= ((compiling_global___ColorContext___color_t
)CALL( variable0
/*ga*/,COLOR_compiling_global___ColorContext___color
))( variable0
/*ga*/, self
) /*GlobalAnalysis::color*/;
2041 variable5
= variable4
;
2042 variable5
= ((string___String___to_s_t
)CALL(variable5
,COLOR_string___Object___to_s
))(variable5
) /*String::to_s*/;
2043 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable5
) /*String::append*/;
2044 variable6
= NEW_string___String___with_native(BOX_NativeString(" /* Color of "), TAG_Int(13)); /*new String*/
2045 variable7
= variable6
;
2046 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable7
) /*String::append*/;
2047 variable8
= ATTR_compiling_global___TableEltClassPos____local_class( self
) /*TableEltClassColorPos::_local_class*/;
2048 variable9
= variable8
;
2049 variable9
= ((string___String___to_s_t
)CALL(variable9
,COLOR_string___Object___to_s
))(variable9
) /*String::to_s*/;
2050 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable9
) /*String::append*/;
2051 variable10
= NEW_string___String___with_native(BOX_NativeString(" */"), TAG_Int(3)); /*new String*/
2052 variable11
= variable10
;
2053 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable11
) /*String::append*/;
2054 goto return_label77
;
2055 return_label77
: while(false);
2056 tracehead
= trace
.prev
;
2059 val_t
compiling_global___TableEltClassColorPos___compile_to_c(val_t self
, val_t param0
, val_t param1
) {
2060 struct trace_t trace
= {NULL
, "compiling_global::TableEltClassColorPos::compile_to_c (src/compiling//compiling_global.nit:674,2--678:94)"};
2083 trace
.prev
= tracehead
; tracehead
= &trace
;
2086 variable3
= ((compiling_global___CompilerVisitor___global_analysis_t
)CALL( variable0
/*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis
))( variable0
/*v*/) /*CompilerVisitor::global_analysis*/;
2087 variable2
= variable3
;
2088 variable4
= ((compiling_global___GlobalAnalysis___compiled_classes_t
)CALL( variable2
/*ga*/,COLOR_compiling_global___GlobalAnalysis___compiled_classes
))( variable2
/*ga*/) /*GlobalAnalysis::compiled_classes*/;
2089 variable5
= ATTR_compiling_global___TableEltClassPos____local_class( self
) /*TableEltClassColorPos::_local_class*/;
2090 variable5
= ((abstractmetamodel___MMLocalClass___global_t
)CALL(variable5
,COLOR_abstractmetamodel___MMLocalClass___global
))(variable5
) /*MMLocalClass::global*/;
2091 variable4
= ((abstract_collection___CoupleMap_____bra_t
)CALL(variable4
,COLOR_abstract_collection___Map_____bra
))(variable4
, variable5
) /*HashMap::[]*/;
2092 variable3
= variable4
;
2093 variable4
= NEW_string___String___init(); /*new String*/
2094 variable5
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2095 variable6
= variable5
;
2096 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable6
) /*String::append*/;
2097 variable7
= ((compiling_global___CompiledClass___id_t
)CALL( variable3
/*cc*/,COLOR_compiling_global___CompiledClass___id
))( variable3
/*cc*/) /*CompiledClass::id*/;
2098 variable8
= variable7
;
2099 variable8
= ((string___String___to_s_t
)CALL(variable8
,COLOR_string___Object___to_s
))(variable8
) /*String::to_s*/;
2100 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable8
) /*String::append*/;
2101 variable9
= NEW_string___String___with_native(BOX_NativeString(" /* "), TAG_Int(4)); /*new String*/
2102 variable10
= variable9
;
2103 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable10
) /*String::append*/;
2104 variable11
= ((compiling_global___ColorContext___color_t
)CALL( variable2
/*ga*/,COLOR_compiling_global___ColorContext___color
))( variable2
/*ga*/, self
) /*GlobalAnalysis::color*/;
2105 variable12
= variable11
;
2106 variable12
= ((string___String___to_s_t
)CALL(variable12
,COLOR_string___Object___to_s
))(variable12
) /*String::to_s*/;
2107 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable12
) /*String::append*/;
2108 variable13
= NEW_string___String___with_native(BOX_NativeString(": "), TAG_Int(2)); /*new String*/
2109 variable14
= variable13
;
2110 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable14
) /*String::append*/;
2111 variable15
= variable1
/*c*/;
2112 variable15
= ((string___String___to_s_t
)CALL(variable15
,COLOR_string___Object___to_s
))(variable15
) /*String::to_s*/;
2113 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable15
) /*String::append*/;
2114 variable16
= NEW_string___String___with_native(BOX_NativeString(" < "), TAG_Int(3)); /*new String*/
2115 variable17
= variable16
;
2116 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable17
) /*String::append*/;
2117 variable18
= ((compiling_global___CompiledClass___local_class_t
)CALL( variable3
/*cc*/,COLOR_compiling_global___CompiledClass___local_class
))( variable3
/*cc*/) /*CompiledClass::local_class*/;
2118 variable19
= variable18
;
2119 variable19
= ((string___String___to_s_t
)CALL(variable19
,COLOR_string___Object___to_s
))(variable19
) /*String::to_s*/;
2120 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable19
) /*String::append*/;
2121 variable20
= NEW_string___String___with_native(BOX_NativeString(": superclass typecheck marker */"), TAG_Int(32)); /*new String*/
2122 variable21
= variable20
;
2123 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable21
) /*String::append*/;
2124 variable2
= variable4
;
2125 goto return_label78
;
2126 return_label78
: while(false);
2127 tracehead
= trace
.prev
;
2130 void compiling_global___TableEltClassColorPos___init(val_t self
, val_t param0
, int* init_table
) {
2131 struct trace_t trace
= {NULL
, "compiling_global::TableEltClassColorPos::init (src/compiling//compiling_global.nit:681,2--17)"};
2133 trace
.prev
= tracehead
; tracehead
= &trace
;
2135 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TableEltClassColorPos
].i
]) return;
2136 ((compiling_global___TableEltClassPos___init_t
)CALL( self
,COLOR_compiling_global___TableEltClassPos___init
))( self
, param0
, init_table
/*YYY*/) /*TableEltClassPos::init*/;
2137 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TableEltClassColorPos
].i
] = 1;
2138 tracehead
= trace
.prev
;
2141 val_t
compiling_global___TableEltBaseAttrPos___symbol(val_t self
) {
2142 struct trace_t trace
= {NULL
, "compiling_global::TableEltBaseAttrPos::symbol (src/compiling//compiling_global.nit:687,2--87)"};
2154 trace
.prev
= tracehead
; tracehead
= &trace
;
2155 variable0
= NEW_string___String___init(); /*new String*/
2156 variable1
= NEW_string___String___with_native(BOX_NativeString("COLOR_"), TAG_Int(6)); /*new String*/
2157 variable2
= variable1
;
2158 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable2
) /*String::append*/;
2159 variable3
= ATTR_compiling_global___TableEltBaseAttrPos____local_class( self
) /*TableEltBaseAttrPos::_local_class*/;
2160 variable3
= ((abstractmetamodel___MMLocalClass___module_t
)CALL(variable3
,COLOR_abstractmetamodel___MMLocalClass___module
))(variable3
) /*MMSrcLocalClass::module*/;
2161 variable4
= variable3
;
2162 variable4
= ((string___String___to_s_t
)CALL(variable4
,COLOR_string___Object___to_s
))(variable4
) /*String::to_s*/;
2163 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable4
) /*String::append*/;
2164 variable5
= NEW_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
2165 variable6
= variable5
;
2166 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable6
) /*String::append*/;
2167 variable7
= ATTR_compiling_global___TableEltBaseAttrPos____local_class( self
) /*TableEltBaseAttrPos::_local_class*/;
2168 variable7
= ((abstractmetamodel___MMLocalClass___name_t
)CALL(variable7
,COLOR_abstractmetamodel___MMLocalClass___name
))(variable7
) /*MMSrcLocalClass::name*/;
2169 variable8
= variable7
;
2170 variable8
= ((string___String___to_s_t
)CALL(variable8
,COLOR_string___Object___to_s
))(variable8
) /*String::to_s*/;
2171 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable8
) /*String::append*/;
2172 variable9
= NEW_string___String___with_native(BOX_NativeString("_BASEATTR"), TAG_Int(9)); /*new String*/
2173 variable10
= variable9
;
2174 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable10
) /*String::append*/;
2175 goto return_label80
;
2176 return_label80
: while(false);
2177 tracehead
= trace
.prev
;
2180 val_t
compiling_global___TableEltBaseAttrPos___value(val_t self
, val_t param0
) {
2181 struct trace_t trace
= {NULL
, "compiling_global::TableEltBaseAttrPos::value (src/compiling//compiling_global.nit:688,2--690:63)"};
2194 trace
.prev
= tracehead
; tracehead
= &trace
;
2196 variable1
= NEW_string___String___init(); /*new String*/
2197 variable2
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2198 variable3
= variable2
;
2199 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable3
) /*String::append*/;
2200 variable4
= ((compiling_global___ColorContext___color_t
)CALL( variable0
/*ga*/,COLOR_compiling_global___ColorContext___color
))( variable0
/*ga*/, self
) /*GlobalAnalysis::color*/;
2201 variable5
= variable4
;
2202 variable5
= ((string___String___to_s_t
)CALL(variable5
,COLOR_string___Object___to_s
))(variable5
) /*String::to_s*/;
2203 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable5
) /*String::append*/;
2204 variable6
= NEW_string___String___with_native(BOX_NativeString(" /* BaseAttrPos of "), TAG_Int(19)); /*new String*/
2205 variable7
= variable6
;
2206 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable7
) /*String::append*/;
2207 variable8
= ATTR_compiling_global___TableEltBaseAttrPos____local_class( self
) /*TableEltBaseAttrPos::_local_class*/;
2208 variable9
= variable8
;
2209 variable9
= ((string___String___to_s_t
)CALL(variable9
,COLOR_string___Object___to_s
))(variable9
) /*String::to_s*/;
2210 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable9
) /*String::append*/;
2211 variable10
= NEW_string___String___with_native(BOX_NativeString(" */"), TAG_Int(3)); /*new String*/
2212 variable11
= variable10
;
2213 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable11
) /*String::append*/;
2214 goto return_label81
;
2215 return_label81
: while(false);
2216 tracehead
= trace
.prev
;
2219 val_t
compiling_global___TableEltBaseAttrPos___compile_to_c(val_t self
, val_t param0
, val_t param1
) {
2220 struct trace_t trace
= {NULL
, "compiling_global::TableEltBaseAttrPos::compile_to_c (src/compiling//compiling_global.nit:693,2--697:150)"};
2247 trace
.prev
= tracehead
; tracehead
= &trace
;
2250 variable3
= ((compiling_global___CompilerVisitor___global_analysis_t
)CALL( variable0
/*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis
))( variable0
/*v*/) /*CompilerVisitor::global_analysis*/;
2251 variable2
= variable3
;
2252 variable4
= ((compiling_global___GlobalAnalysis___compiled_classes_t
)CALL( variable2
/*ga*/,COLOR_compiling_global___GlobalAnalysis___compiled_classes
))( variable2
/*ga*/) /*GlobalAnalysis::compiled_classes*/;
2253 variable5
= ((abstractmetamodel___MMLocalClass___global_t
)CALL( variable1
/*c*/,COLOR_abstractmetamodel___MMLocalClass___global
))( variable1
/*c*/) /*MMLocalClass::global*/;
2254 variable4
= ((abstract_collection___CoupleMap_____bra_t
)CALL(variable4
,COLOR_abstract_collection___Map_____bra
))(variable4
, variable5
) /*HashMap::[]*/;
2255 variable3
= variable4
;
2256 variable4
= NEW_string___String___init(); /*new String*/
2257 variable5
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2258 variable6
= variable5
;
2259 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable6
) /*String::append*/;
2260 variable7
= ATTR_compiling_global___TableEltBaseAttrPos____local_class( self
) /*TableEltBaseAttrPos::_local_class*/;
2261 variable7
= ((compiling_global___MMSrcLocalClass___instance_layout_t
)CALL(variable7
,COLOR_compiling_global___MMSrcLocalClass___instance_layout
))(variable7
) /*MMSrcLocalClass::instance_layout*/;
2262 variable7
= ((abstract_collection___IndexedCollection___first_t
)CALL(variable7
,COLOR_abstract_collection___Collection___first
))(variable7
) /*Array::first*/;
2263 variable7
= ((compiling_global___ColorContext___color_t
)CALL( variable3
/*cc*/,COLOR_compiling_global___ColorContext___color
))( variable3
/*cc*/, variable7
) /*CompiledClass::color*/;
2264 variable8
= variable7
;
2265 variable8
= ((string___String___to_s_t
)CALL(variable8
,COLOR_string___Object___to_s
))(variable8
) /*String::to_s*/;
2266 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable8
) /*String::append*/;
2267 variable9
= NEW_string___String___with_native(BOX_NativeString(" /* "), TAG_Int(4)); /*new String*/
2268 variable10
= variable9
;
2269 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable10
) /*String::append*/;
2270 variable11
= ((compiling_global___ColorContext___color_t
)CALL( variable2
/*ga*/,COLOR_compiling_global___ColorContext___color
))( variable2
/*ga*/, self
) /*GlobalAnalysis::color*/;
2271 variable12
= variable11
;
2272 variable12
= ((string___String___to_s_t
)CALL(variable12
,COLOR_string___Object___to_s
))(variable12
) /*String::to_s*/;
2273 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable12
) /*String::append*/;
2274 variable13
= NEW_string___String___with_native(BOX_NativeString(": Base attribut offset of "), TAG_Int(26)); /*new String*/
2275 variable14
= variable13
;
2276 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable14
) /*String::append*/;
2277 variable15
= ATTR_compiling_global___TableEltBaseAttrPos____local_class( self
) /*TableEltBaseAttrPos::_local_class*/;
2278 variable15
= ((abstractmetamodel___MMLocalClass___module_t
)CALL(variable15
,COLOR_abstractmetamodel___MMLocalClass___module
))(variable15
) /*MMSrcLocalClass::module*/;
2279 variable16
= variable15
;
2280 variable16
= ((string___String___to_s_t
)CALL(variable16
,COLOR_string___Object___to_s
))(variable16
) /*String::to_s*/;
2281 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable16
) /*String::append*/;
2282 variable17
= NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
2283 variable18
= variable17
;
2284 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable18
) /*String::append*/;
2285 variable19
= ATTR_compiling_global___TableEltBaseAttrPos____local_class( self
) /*TableEltBaseAttrPos::_local_class*/;
2286 variable20
= variable19
;
2287 variable20
= ((string___String___to_s_t
)CALL(variable20
,COLOR_string___Object___to_s
))(variable20
) /*String::to_s*/;
2288 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable20
) /*String::append*/;
2289 variable21
= NEW_string___String___with_native(BOX_NativeString(" in "), TAG_Int(4)); /*new String*/
2290 variable22
= variable21
;
2291 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable22
) /*String::append*/;
2292 variable23
= variable1
/*c*/;
2293 variable23
= ((string___String___to_s_t
)CALL(variable23
,COLOR_string___Object___to_s
))(variable23
) /*String::to_s*/;
2294 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable23
) /*String::append*/;
2295 variable24
= NEW_string___String___with_native(BOX_NativeString(" */"), TAG_Int(3)); /*new String*/
2296 variable25
= variable24
;
2297 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable25
) /*String::append*/;
2298 variable2
= variable4
;
2299 goto return_label82
;
2300 return_label82
: while(false);
2301 tracehead
= trace
.prev
;
2304 void compiling_global___TableEltBaseAttrPos___init(val_t self
, val_t param0
, int* init_table
) {
2305 struct trace_t trace
= {NULL
, "compiling_global::TableEltBaseAttrPos::init (src/compiling//compiling_global.nit:700,2--702:18)"};
2307 trace
.prev
= tracehead
; tracehead
= &trace
;
2309 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TableEltBaseAttrPos
].i
]) return;
2310 ATTR_compiling_global___TableEltBaseAttrPos____local_class( self
) /*TableEltBaseAttrPos::_local_class*/ = variable0
/*c*/;
2311 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TableEltBaseAttrPos
].i
] = 1;
2312 tracehead
= trace
.prev
;
2315 val_t
compiling_global___TableEltComposite___length(val_t self
) {
2316 struct trace_t trace
= {NULL
, "compiling_global::TableEltComposite::length (src/compiling//compiling_global.nit:711,2--42)"};
2318 trace
.prev
= tracehead
; tracehead
= &trace
;
2319 variable0
= ATTR_compiling_global___TableEltComposite____table( self
) /*TableEltComposite::_table*/;
2320 variable0
= ((array___AbstractArray___length_t
)CALL(variable0
,COLOR_abstract_collection___Collection___length
))(variable0
) /*Array::length*/;
2321 goto return_label84
;
2322 return_label84
: while(false);
2323 tracehead
= trace
.prev
;
2326 val_t
compiling_global___TableEltComposite___is_related_to(val_t self
, val_t param0
) {
2327 struct trace_t trace
= {NULL
, "compiling_global::TableEltComposite::is_related_to (src/compiling//compiling_global.nit:712,2--64)"};
2331 trace
.prev
= tracehead
; tracehead
= &trace
;
2333 variable1
= ((abstractmetamodel___MMLocalClass___cshe_t
)CALL( variable0
/*c*/,COLOR_abstractmetamodel___MMLocalClass___cshe
))( variable0
/*c*/) /*MMLocalClass::cshe*/;
2334 variable2
= ATTR_compiling_global___TableEltComposite____cc( self
) /*TableEltComposite::_cc*/;
2335 variable2
= ((compiling_global___CompiledClass___local_class_t
)CALL(variable2
,COLOR_compiling_global___CompiledClass___local_class
))(variable2
) /*CompiledClass::local_class*/;
2336 variable1
= ((partial_order___PartialOrderElement_____leq_t
)CALL(variable1
,COLOR_partial_order___PartialOrderElement_____leq
))(variable1
, variable2
) /*PartialOrderElement::<=*/;
2337 goto return_label85
;
2338 return_label85
: while(false);
2339 tracehead
= trace
.prev
;
2342 void compiling_global___TableEltComposite___add(val_t self
, val_t param0
, val_t param1
) {
2343 struct trace_t trace
= {NULL
, "compiling_global::TableEltComposite::add (src/compiling//compiling_global.nit:714,2--717:19)"};
2348 trace
.prev
= tracehead
; tracehead
= &trace
;
2351 variable2
= ATTR_compiling_global___TableEltComposite____offsets( self
) /*TableEltComposite::_offsets*/;
2352 variable3
= ATTR_compiling_global___TableEltComposite____table( self
) /*TableEltComposite::_table*/;
2353 variable3
= ((array___AbstractArray___length_t
)CALL(variable3
,COLOR_abstract_collection___Collection___length
))(variable3
) /*Array::length*/;
2354 ((hash___HashMap_____braeq_t
)CALL(variable2
,COLOR_abstract_collection___Map_____braeq
))(variable2
, variable0
/*c*/, variable3
) /*HashMap::[]=*/;
2355 variable2
= ATTR_compiling_global___TableEltComposite____table( self
) /*TableEltComposite::_table*/;
2356 ((abstract_collection___IndexedCollection___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable1
/*tab*/) /*Array::append*/;
2357 tracehead
= trace
.prev
;
2360 val_t
compiling_global___TableEltComposite___item(val_t self
, val_t param0
) {
2361 struct trace_t trace
= {NULL
, "compiling_global::TableEltComposite::item (src/compiling//compiling_global.nit:720,2--38)"};
2367 trace
.prev
= tracehead
; tracehead
= &trace
;
2369 variable1
= ATTR_compiling_global___TableEltComposite____table( self
) /*TableEltComposite::_table*/;
2370 variable2
= variable0
/*i*/;
2371 variable3
= TAG_Bool(UNTAG_Int( variable2
/*index*/)>=UNTAG_Int( TAG_Int(0)));
2372 variable4
= variable3
;
2373 if (UNTAG_Bool(variable4
)) { /* and */
2374 variable4
= variable1
;
2375 variable4
= ATTR_array___AbstractArray____length(variable4
) /*Array::_length*/;
2376 variable4
= TAG_Bool(UNTAG_Int( variable2
/*index*/)<UNTAG_Int(variable4
));
2378 variable3
= variable4
;
2379 if (!UNTAG_Bool(variable3
)) { fprintf(stderr
, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
2380 variable3
= variable1
;
2381 variable3
= ATTR_array___Array____items(variable3
) /*Array::_items*/;
2382 variable3
= UNBOX_NativeArray(variable3
)[UNTAG_Int( variable2
/*index*/)];
2383 goto return_label88
;
2384 return_label88
: while(false);
2385 variable1
= variable3
;
2386 goto return_label87
;
2387 return_label87
: while(false);
2388 tracehead
= trace
.prev
;
2391 val_t
compiling_global___TableEltComposite___compile_to_c(val_t self
, val_t param0
, val_t param1
) {
2392 struct trace_t trace
= {NULL
, "compiling_global::TableEltComposite::compile_to_c (src/compiling//compiling_global.nit:722,2--39)"};
2396 trace
.prev
= tracehead
; tracehead
= &trace
;
2399 fprintf(stderr
, "Aborted: src/compiling//compiling_global.nit:722,35--39\n"); nit_exit(1);
2400 tracehead
= trace
.prev
;
2403 void compiling_global___TableEltComposite___init(val_t self
, val_t param0
, int* init_table
) {
2404 struct trace_t trace
= {NULL
, "compiling_global::TableEltComposite::init (src/compiling//compiling_global.nit:724,2--728:42)"};
2407 trace
.prev
= tracehead
; tracehead
= &trace
;
2409 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TableEltComposite
].i
]) return;
2410 ATTR_compiling_global___TableEltComposite____cc( self
) /*TableEltComposite::_cc*/ = variable0
/*cc*/;
2411 variable1
= NEW_array___Array___init(); /*new Array[LocalTableElt]*/
2412 ATTR_compiling_global___TableEltComposite____table( self
) /*TableEltComposite::_table*/ = variable1
;
2413 variable1
= NEW_hash___HashMap___init(); /*new HashMap[MMLocalClass, Int]*/
2414 ATTR_compiling_global___TableEltComposite____offsets( self
) /*TableEltComposite::_offsets*/ = variable1
;
2415 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TableEltComposite
].i
] = 1;
2416 tracehead
= trace
.prev
;
2419 val_t
compiling_global___TableEltClassSelfId___is_related_to(val_t self
, val_t param0
) {
2420 struct trace_t trace
= {NULL
, "compiling_global::TableEltClassSelfId::is_related_to (src/compiling//compiling_global.nit:734,2--43)"};
2423 trace
.prev
= tracehead
; tracehead
= &trace
;
2425 variable1
= TAG_Bool(true);
2426 goto return_label91
;
2427 return_label91
: while(false);
2428 tracehead
= trace
.prev
;
2431 val_t
compiling_global___TableEltClassSelfId___compile_to_c(val_t self
, val_t param0
, val_t param1
) {
2432 struct trace_t trace
= {NULL
, "compiling_global::TableEltClassSelfId::compile_to_c (src/compiling//compiling_global.nit:735,2--738:93)"};
2447 trace
.prev
= tracehead
; tracehead
= &trace
;
2450 variable3
= ((compiling_global___CompilerVisitor___global_analysis_t
)CALL( variable0
/*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis
))( variable0
/*v*/) /*CompilerVisitor::global_analysis*/;
2451 variable2
= variable3
;
2452 variable3
= NEW_string___String___init(); /*new String*/
2453 variable4
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2454 variable5
= variable4
;
2455 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable5
) /*String::append*/;
2456 variable6
= ((compiling_global___CompilerVisitor___global_analysis_t
)CALL( variable0
/*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis
))( variable0
/*v*/) /*CompilerVisitor::global_analysis*/;
2457 variable6
= ((compiling_global___GlobalAnalysis___compiled_classes_t
)CALL(variable6
,COLOR_compiling_global___GlobalAnalysis___compiled_classes
))(variable6
) /*GlobalAnalysis::compiled_classes*/;
2458 variable7
= ((abstractmetamodel___MMLocalClass___global_t
)CALL( variable1
/*c*/,COLOR_abstractmetamodel___MMLocalClass___global
))( variable1
/*c*/) /*MMLocalClass::global*/;
2459 variable6
= ((abstract_collection___CoupleMap_____bra_t
)CALL(variable6
,COLOR_abstract_collection___Map_____bra
))(variable6
, variable7
) /*HashMap::[]*/;
2460 variable6
= ((compiling_global___CompiledClass___id_t
)CALL(variable6
,COLOR_compiling_global___CompiledClass___id
))(variable6
) /*CompiledClass::id*/;
2461 variable7
= variable6
;
2462 variable7
= ((string___String___to_s_t
)CALL(variable7
,COLOR_string___Object___to_s
))(variable7
) /*String::to_s*/;
2463 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable7
) /*String::append*/;
2464 variable8
= NEW_string___String___with_native(BOX_NativeString(" /* "), TAG_Int(4)); /*new String*/
2465 variable9
= variable8
;
2466 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable9
) /*String::append*/;
2467 variable10
= ((compiling_global___ColorContext___color_t
)CALL( variable2
/*ga*/,COLOR_compiling_global___ColorContext___color
))( variable2
/*ga*/, self
) /*GlobalAnalysis::color*/;
2468 variable11
= variable10
;
2469 variable11
= ((string___String___to_s_t
)CALL(variable11
,COLOR_string___Object___to_s
))(variable11
) /*String::to_s*/;
2470 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable11
) /*String::append*/;
2471 variable12
= NEW_string___String___with_native(BOX_NativeString(": Identity */"), TAG_Int(13)); /*new String*/
2472 variable13
= variable12
;
2473 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable13
) /*String::append*/;
2474 variable2
= variable3
;
2475 goto return_label92
;
2476 return_label92
: while(false);
2477 tracehead
= trace
.prev
;
2480 void compiling_global___TableEltClassSelfId___init(val_t self
, int* init_table
) {
2481 struct trace_t trace
= {NULL
, "compiling_global::TableEltClassSelfId::init (src/compiling//compiling_global.nit:741,2--5)"};
2482 trace
.prev
= tracehead
; tracehead
= &trace
;
2483 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TableEltClassSelfId
].i
]) return;
2484 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TableEltClassSelfId
].i
] = 1;
2485 tracehead
= trace
.prev
;
2488 val_t
compiling_global___TableEltVftPointer___is_related_to(val_t self
, val_t param0
) {
2489 struct trace_t trace
= {NULL
, "compiling_global::TableEltVftPointer::is_related_to (src/compiling//compiling_global.nit:746,2--43)"};
2492 trace
.prev
= tracehead
; tracehead
= &trace
;
2494 variable1
= TAG_Bool(true);
2495 goto return_label94
;
2496 return_label94
: while(false);
2497 tracehead
= trace
.prev
;
2500 val_t
compiling_global___TableEltVftPointer___compile_to_c(val_t self
, val_t param0
, val_t param1
) {
2501 struct trace_t trace
= {NULL
, "compiling_global::TableEltVftPointer::compile_to_c (src/compiling//compiling_global.nit:747,2--750:60)"};
2512 trace
.prev
= tracehead
; tracehead
= &trace
;
2515 variable3
= ((compiling_global___CompilerVisitor___global_analysis_t
)CALL( variable0
/*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis
))( variable0
/*v*/) /*CompilerVisitor::global_analysis*/;
2516 variable2
= variable3
;
2517 variable3
= NEW_string___String___init(); /*new String*/
2518 variable4
= NEW_string___String___with_native(BOX_NativeString("/* "), TAG_Int(3)); /*new String*/
2519 variable5
= variable4
;
2520 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable5
) /*String::append*/;
2521 variable6
= ((compiling_global___ColorContext___color_t
)CALL( variable2
/*ga*/,COLOR_compiling_global___ColorContext___color
))( variable2
/*ga*/, self
) /*GlobalAnalysis::color*/;
2522 variable7
= variable6
;
2523 variable7
= ((string___String___to_s_t
)CALL(variable7
,COLOR_string___Object___to_s
))(variable7
) /*String::to_s*/;
2524 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable7
) /*String::append*/;
2525 variable8
= NEW_string___String___with_native(BOX_NativeString(": Pointer to the classtable */"), TAG_Int(30)); /*new String*/
2526 variable9
= variable8
;
2527 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable9
) /*String::append*/;
2528 variable2
= variable3
;
2529 goto return_label95
;
2530 return_label95
: while(false);
2531 tracehead
= trace
.prev
;
2534 void compiling_global___TableEltVftPointer___init(val_t self
, int* init_table
) {
2535 struct trace_t trace
= {NULL
, "compiling_global::TableEltVftPointer::init (src/compiling//compiling_global.nit:753,2--5)"};
2536 trace
.prev
= tracehead
; tracehead
= &trace
;
2537 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TableEltVftPointer
].i
]) return;
2538 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TableEltVftPointer
].i
] = 1;
2539 tracehead
= trace
.prev
;
2542 val_t
compiling_global___ClassSorter___compare(val_t self
, val_t param0
, val_t param1
) {
2543 struct trace_t trace
= {NULL
, "compiling_global::ClassSorter::compare (src/compiling//compiling_global.nit:760,2--47)"};
2547 trace
.prev
= tracehead
; tracehead
= &trace
;
2550 variable2
= ((compiling_global___MMLocalClass___compare_t
)CALL( variable0
/*a*/,COLOR_compiling_global___MMLocalClass___compare
))( variable0
/*a*/, variable1
/*b*/) /*MMLocalClass::compare*/;
2551 goto return_label97
;
2552 return_label97
: while(false);
2553 tracehead
= trace
.prev
;
2556 void compiling_global___ClassSorter___init(val_t self
, int* init_table
) {
2557 struct trace_t trace
= {NULL
, "compiling_global::ClassSorter::init (src/compiling//compiling_global.nit:761,2--5)"};
2558 trace
.prev
= tracehead
; tracehead
= &trace
;
2559 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_ClassSorter
].i
]) return;
2560 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_ClassSorter
].i
] = 1;
2561 tracehead
= trace
.prev
;
2564 val_t
compiling_global___MMLocalClass___compare(val_t self
, val_t param0
) {
2565 struct trace_t trace
= {NULL
, "compiling_global::MMLocalClass::compare (src/compiling//compiling_global.nit:765,2--783:37)"};
2572 trace
.prev
= tracehead
; tracehead
= &trace
;
2575 variable2
= TAG_Bool(( variable1
/*a*/ == variable0
/*b*/) || (( variable1
/*a*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable1
/*a*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable1
/*a*/, variable0
/*b*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable1
/*a*/,COLOR_kernel___Object_____eqeq
))( variable1
/*a*/, variable0
/*b*/) /*MMLocalClass::==*/)))));
2576 if (UNTAG_Bool(variable2
)) { /*if*/
2577 variable1
= TAG_Int(0);
2578 goto return_label99
;
2580 variable2
= ((abstractmetamodel___MMLocalClass___module_t
)CALL( variable1
/*a*/,COLOR_abstractmetamodel___MMLocalClass___module
))( variable1
/*a*/) /*MMLocalClass::module*/;
2581 variable2
= ((abstractmetamodel___MMModule___mhe_t
)CALL(variable2
,COLOR_abstractmetamodel___MMModule___mhe
))(variable2
) /*MMModule::mhe*/;
2582 variable3
= ((abstractmetamodel___MMLocalClass___module_t
)CALL( variable0
/*b*/,COLOR_abstractmetamodel___MMLocalClass___module
))( variable0
/*b*/) /*MMLocalClass::module*/;
2583 variable2
= ((partial_order___PartialOrderElement_____l_t
)CALL(variable2
,COLOR_partial_order___PartialOrderElement_____l
))(variable2
, variable3
) /*PartialOrderElement::<*/;
2584 if (UNTAG_Bool(variable2
)) { /*if*/
2585 variable1
= TAG_Int(1);
2586 goto return_label99
;
2588 variable2
= ((abstractmetamodel___MMLocalClass___module_t
)CALL( variable0
/*b*/,COLOR_abstractmetamodel___MMLocalClass___module
))( variable0
/*b*/) /*MMLocalClass::module*/;
2589 variable2
= ((abstractmetamodel___MMModule___mhe_t
)CALL(variable2
,COLOR_abstractmetamodel___MMModule___mhe
))(variable2
) /*MMModule::mhe*/;
2590 variable3
= ((abstractmetamodel___MMLocalClass___module_t
)CALL( variable1
/*a*/,COLOR_abstractmetamodel___MMLocalClass___module
))( variable1
/*a*/) /*MMLocalClass::module*/;
2591 variable2
= ((partial_order___PartialOrderElement_____l_t
)CALL(variable2
,COLOR_partial_order___PartialOrderElement_____l
))(variable2
, variable3
) /*PartialOrderElement::<*/;
2592 if (UNTAG_Bool(variable2
)) { /*if*/
2593 variable2
= TAG_Int(-UNTAG_Int( TAG_Int(1)));
2594 variable1
= variable2
;
2595 goto return_label99
;
2599 variable3
= ((abstractmetamodel___MMLocalClass___cshe_t
)CALL( variable1
/*a*/,COLOR_abstractmetamodel___MMLocalClass___cshe
))( variable1
/*a*/) /*MMLocalClass::cshe*/;
2600 variable3
= ((partial_order___PartialOrderElement___rank_t
)CALL(variable3
,COLOR_partial_order___PartialOrderElement___rank
))(variable3
) /*PartialOrderElement::rank*/;
2601 variable2
= variable3
;
2602 variable4
= ((abstractmetamodel___MMLocalClass___cshe_t
)CALL( variable0
/*b*/,COLOR_abstractmetamodel___MMLocalClass___cshe
))( variable0
/*b*/) /*MMLocalClass::cshe*/;
2603 variable4
= ((partial_order___PartialOrderElement___rank_t
)CALL(variable4
,COLOR_partial_order___PartialOrderElement___rank
))(variable4
) /*PartialOrderElement::rank*/;
2604 variable3
= variable4
;
2605 variable4
= TAG_Bool(UNTAG_Int( variable2
/*ar*/)>UNTAG_Int( variable3
/*br*/));
2606 if (UNTAG_Bool(variable4
)) { /*if*/
2607 variable1
= TAG_Int(1);
2608 goto return_label99
;
2610 variable4
= TAG_Bool(UNTAG_Int( variable3
/*br*/)>UNTAG_Int( variable2
/*ar*/));
2611 if (UNTAG_Bool(variable4
)) { /*if*/
2612 variable4
= TAG_Int(-UNTAG_Int( TAG_Int(1)));
2613 variable1
= variable4
;
2614 goto return_label99
;
2616 variable4
= ((abstractmetamodel___MMLocalClass___name_t
)CALL( variable0
/*b*/,COLOR_abstractmetamodel___MMLocalClass___name
))( variable0
/*b*/) /*MMLocalClass::name*/;
2617 variable4
= ((symbol___Symbol___to_s_t
)CALL(variable4
,COLOR_string___Object___to_s
))(variable4
) /*Symbol::to_s*/;
2618 variable5
= ((abstractmetamodel___MMLocalClass___name_t
)CALL( variable1
/*a*/,COLOR_abstractmetamodel___MMLocalClass___name
))( variable1
/*a*/) /*MMLocalClass::name*/;
2619 variable5
= ((symbol___Symbol___to_s_t
)CALL(variable5
,COLOR_string___Object___to_s
))(variable5
) /*Symbol::to_s*/;
2620 variable4
= ((kernel___Comparable_____leqg_t
)CALL(variable4
,COLOR_kernel___Comparable_____leqg
))(variable4
, variable5
) /*String::<=>*/;
2621 variable1
= variable4
;
2622 goto return_label99
;
2625 return_label99
: while(false);
2626 tracehead
= trace
.prev
;
2629 void compiling_global___MMLocalClass___declare_tables_to_c(val_t self
, val_t param0
) {
2630 struct trace_t trace
= {NULL
, "compiling_global::MMLocalClass::declare_tables_to_c (src/compiling//compiling_global.nit:787,2--800:71)"};
2645 trace
.prev
= tracehead
; tracehead
= &trace
;
2647 variable1
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2648 ((compiling_base___CompilerVisitor___add_decl_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_decl
))( variable0
/*v*/, variable1
) /*CompilerVisitor::add_decl*/;
2649 variable2
= ((compiling_base___MMLocalClass___primitive_info_t
)CALL( self
,COLOR_compiling_base___MMLocalClass___primitive_info
))( self
) /*MMLocalClass::primitive_info*/;
2650 variable1
= variable2
;
2651 variable2
= NEW_string___String___init(); /*new String*/
2652 variable3
= NEW_string___String___with_native(BOX_NativeString("extern const classtable_elt_t VFT_"), TAG_Int(34)); /*new String*/
2653 variable4
= variable3
;
2654 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable4
) /*String::append*/;
2655 variable5
= ((abstractmetamodel___MMLocalClass___name_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass___name
))( self
) /*MMLocalClass::name*/;
2656 variable6
= variable5
;
2657 variable6
= ((string___String___to_s_t
)CALL(variable6
,COLOR_string___Object___to_s
))(variable6
) /*String::to_s*/;
2658 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable6
) /*String::append*/;
2659 variable7
= NEW_string___String___with_native(BOX_NativeString("[];"), TAG_Int(3)); /*new String*/
2660 variable8
= variable7
;
2661 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable8
) /*String::append*/;
2662 ((compiling_base___CompilerVisitor___add_decl_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_decl
))( variable0
/*v*/, variable2
) /*CompilerVisitor::add_decl*/;
2663 variable2
= TAG_Bool(( variable1
/*pi*/ == NIT_NULL
/*null*/) || (( variable1
/*pi*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable1
/*pi*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable1
/*pi*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable1
/*pi*/,COLOR_kernel___Object_____eqeq
))( variable1
/*pi*/, NIT_NULL
/*null*/) /*PrimitiveInfo::==*/)))));
2664 if (UNTAG_Bool(variable2
)) { /*if*/
2666 variable2
= ((compiling_base___PrimitiveInfo___tagged_t
)CALL( variable1
/*pi*/,COLOR_compiling_base___PrimitiveInfo___tagged
))( variable1
/*pi*/) /*PrimitiveInfo::tagged*/;
2667 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable2
)))) { /*if*/
2668 variable3
= ((compiling_base___PrimitiveInfo___cname_t
)CALL( variable1
/*pi*/,COLOR_compiling_base___PrimitiveInfo___cname
))( variable1
/*pi*/) /*PrimitiveInfo::cname*/;
2669 variable2
= variable3
;
2670 variable4
= NEW_string___String___init(); /*new String*/
2671 variable5
= NEW_string___String___with_native(BOX_NativeString("struct TBOX_"), TAG_Int(12)); /*new String*/
2672 variable6
= variable5
;
2673 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable6
) /*String::append*/;
2674 variable7
= ((abstractmetamodel___MMLocalClass___name_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass___name
))( self
) /*MMLocalClass::name*/;
2675 variable8
= variable7
;
2676 variable8
= ((string___String___to_s_t
)CALL(variable8
,COLOR_string___Object___to_s
))(variable8
) /*String::to_s*/;
2677 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable8
) /*String::append*/;
2678 variable9
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2679 variable10
= variable9
;
2680 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable10
) /*String::append*/;
2681 variable3
= variable4
;
2682 variable4
= NEW_string___String___init(); /*new String*/
2683 variable5
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2684 variable6
= variable5
;
2685 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable6
) /*String::append*/;
2686 variable7
= variable3
/*tbox*/;
2687 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable7
) /*String::append*/;
2688 variable8
= NEW_string___String___with_native(BOX_NativeString(" { const classtable_elt_t * vft; "), TAG_Int(33)); /*new String*/
2689 variable9
= variable8
;
2690 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable9
) /*String::append*/;
2691 variable10
= variable2
/*t*/;
2692 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable10
) /*String::append*/;
2693 variable11
= NEW_string___String___with_native(BOX_NativeString(" val;};"), TAG_Int(7)); /*new String*/
2694 variable12
= variable11
;
2695 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable12
) /*String::append*/;
2696 ((compiling_base___CompilerVisitor___add_decl_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_decl
))( variable0
/*v*/, variable4
) /*CompilerVisitor::add_decl*/;
2697 variable4
= NEW_string___String___init(); /*new String*/
2698 variable5
= NEW_string___String___with_native(BOX_NativeString("val_t BOX_"), TAG_Int(10)); /*new String*/
2699 variable6
= variable5
;
2700 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable6
) /*String::append*/;
2701 variable7
= ((abstractmetamodel___MMLocalClass___name_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass___name
))( self
) /*MMLocalClass::name*/;
2702 variable8
= variable7
;
2703 variable8
= ((string___String___to_s_t
)CALL(variable8
,COLOR_string___Object___to_s
))(variable8
) /*String::to_s*/;
2704 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable8
) /*String::append*/;
2705 variable9
= NEW_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
2706 variable10
= variable9
;
2707 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable10
) /*String::append*/;
2708 variable11
= variable2
/*t*/;
2709 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable11
) /*String::append*/;
2710 variable12
= NEW_string___String___with_native(BOX_NativeString(" val);"), TAG_Int(6)); /*new String*/
2711 variable13
= variable12
;
2712 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable13
) /*String::append*/;
2713 ((compiling_base___CompilerVisitor___add_decl_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_decl
))( variable0
/*v*/, variable4
) /*CompilerVisitor::add_decl*/;
2714 variable4
= NEW_string___String___init(); /*new String*/
2715 variable5
= NEW_string___String___with_native(BOX_NativeString("#define UNBOX_"), TAG_Int(14)); /*new String*/
2716 variable6
= variable5
;
2717 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable6
) /*String::append*/;
2718 variable7
= ((abstractmetamodel___MMLocalClass___name_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass___name
))( self
) /*MMLocalClass::name*/;
2719 variable8
= variable7
;
2720 variable8
= ((string___String___to_s_t
)CALL(variable8
,COLOR_string___Object___to_s
))(variable8
) /*String::to_s*/;
2721 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable8
) /*String::append*/;
2722 variable9
= NEW_string___String___with_native(BOX_NativeString("(x) ((("), TAG_Int(7)); /*new String*/
2723 variable10
= variable9
;
2724 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable10
) /*String::append*/;
2725 variable11
= variable3
/*tbox*/;
2726 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable11
) /*String::append*/;
2727 variable12
= NEW_string___String___with_native(BOX_NativeString(" *)(VAL2OBJ(x)))->val)"), TAG_Int(22)); /*new String*/
2728 variable13
= variable12
;
2729 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable13
) /*String::append*/;
2730 ((compiling_base___CompilerVisitor___add_decl_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_decl
))( variable0
/*v*/, variable4
) /*CompilerVisitor::add_decl*/;
2733 tracehead
= trace
.prev
;
2736 void compiling_global___MMLocalClass___compile_tables_to_c(val_t self
, val_t param0
) {
2737 struct trace_t trace
= {NULL
, "compiling_global::MMLocalClass::compile_tables_to_c (src/compiling//compiling_global.nit:804,2--913:18)"};
2765 trace
.prev
= tracehead
; tracehead
= &trace
;
2767 variable2
= ((compiling_global___CompilerVisitor___global_analysis_t
)CALL( variable0
/*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis
))( variable0
/*v*/) /*CompilerVisitor::global_analysis*/;
2768 variable2
= ((compiling_global___GlobalAnalysis___compiled_classes_t
)CALL(variable2
,COLOR_compiling_global___GlobalAnalysis___compiled_classes
))(variable2
) /*GlobalAnalysis::compiled_classes*/;
2769 variable3
= ((abstractmetamodel___MMLocalClass___global_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass___global
))( self
) /*MMLocalClass::global*/;
2770 variable2
= ((abstract_collection___CoupleMap_____bra_t
)CALL(variable2
,COLOR_abstract_collection___Map_____bra
))(variable2
, variable3
) /*HashMap::[]*/;
2771 variable1
= variable2
;
2772 variable3
= ((compiling_global___CompiledClass___class_table_t
)CALL( variable1
/*cc*/,COLOR_compiling_global___CompiledClass___class_table
))( variable1
/*cc*/) /*CompiledClass::class_table*/;
2773 variable2
= variable3
;
2774 variable4
= ((array___AbstractArray___length_t
)CALL( variable2
/*ctab*/,COLOR_abstract_collection___Collection___length
))( variable2
/*ctab*/) /*Array::length*/;
2775 variable3
= variable4
;
2776 variable4
= ((compiling_global___CompilerVisitor___global_analysis_t
)CALL( variable0
/*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis
))( variable0
/*v*/) /*CompilerVisitor::global_analysis*/;
2777 variable4
= ((compiling_global___GlobalAnalysis___max_class_table_length_t
)CALL(variable4
,COLOR_compiling_global___GlobalAnalysis___max_class_table_length
))(variable4
) /*GlobalAnalysis::max_class_table_length*/;
2778 variable5
= ((array___AbstractArray___length_t
)CALL( variable2
/*ctab*/,COLOR_abstract_collection___Collection___length
))( variable2
/*ctab*/) /*Array::length*/;
2779 variable4
= TAG_Bool(UNTAG_Int(variable4
)>UNTAG_Int(variable5
));
2780 if (UNTAG_Bool(variable4
)) { /*if*/
2781 variable4
= ((compiling_global___CompilerVisitor___global_analysis_t
)CALL( variable0
/*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis
))( variable0
/*v*/) /*CompilerVisitor::global_analysis*/;
2782 variable4
= ((compiling_global___GlobalAnalysis___max_class_table_length_t
)CALL(variable4
,COLOR_compiling_global___GlobalAnalysis___max_class_table_length
))(variable4
) /*GlobalAnalysis::max_class_table_length*/;
2783 variable3
= variable4
/*clen=*/;
2785 variable4
= NEW_string___String___init(); /*new String*/
2786 variable5
= NEW_string___String___with_native(BOX_NativeString("const classtable_elt_t VFT_"), TAG_Int(27)); /*new String*/
2787 variable6
= variable5
;
2788 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable6
) /*String::append*/;
2789 variable7
= ((abstractmetamodel___MMLocalClass___name_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass___name
))( self
) /*MMLocalClass::name*/;
2790 variable8
= variable7
;
2791 variable8
= ((string___String___to_s_t
)CALL(variable8
,COLOR_string___Object___to_s
))(variable8
) /*String::to_s*/;
2792 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable8
) /*String::append*/;
2793 variable9
= NEW_string___String___with_native(BOX_NativeString("["), TAG_Int(1)); /*new String*/
2794 variable10
= variable9
;
2795 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable10
) /*String::append*/;
2796 variable11
= variable3
/*clen*/;
2797 variable11
= ((string___String___to_s_t
)CALL(variable11
,COLOR_string___Object___to_s
))(variable11
) /*String::to_s*/;
2798 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable11
) /*String::append*/;
2799 variable12
= NEW_string___String___with_native(BOX_NativeString("] = {"), TAG_Int(5)); /*new String*/
2800 variable13
= variable12
;
2801 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable13
) /*String::append*/;
2802 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable4
) /*CompilerVisitor::add_instr*/;
2803 ((compiling_base___CompilerVisitor___indent_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___indent
))( variable0
/*v*/) /*CompilerVisitor::indent*/;
2804 variable4
= ((array___AbstractArray___iterator_t
)CALL( variable2
/*ctab*/,COLOR_abstract_collection___Collection___iterator
))( variable2
/*ctab*/) /*Array::iterator*/;
2805 while (true) { /*for*/
2806 variable5
= ((array___ArrayIterator___is_ok_t
)CALL(variable4
,COLOR_abstract_collection___Iterator___is_ok
))(variable4
) /*ArrayIterator::is_ok*/;
2807 if (!UNTAG_Bool(variable5
)) break; /*for*/
2808 variable5
= ((array___ArrayIterator___item_t
)CALL(variable4
,COLOR_abstract_collection___Iterator___item
))(variable4
) /*ArrayIterator::item*/;
2809 variable6
= TAG_Bool(( variable5
/*e*/ == NIT_NULL
/*null*/) || (( variable5
/*e*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable5
/*e*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable5
/*e*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable5
/*e*/,COLOR_kernel___Object_____eqeq
))( variable5
/*e*/, NIT_NULL
/*null*/) /*TableElt::==*/)))));
2810 if (UNTAG_Bool(variable6
)) { /*if*/
2811 variable6
= NEW_string___String___with_native(BOX_NativeString("{0} /* Class Hole :( */,"), TAG_Int(24)); /*new String*/
2812 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable6
) /*CompilerVisitor::add_instr*/;
2814 variable6
= NEW_string___String___init(); /*new String*/
2815 variable7
= NEW_string___String___with_native(BOX_NativeString("{(int) "), TAG_Int(7)); /*new String*/
2816 variable8
= variable7
;
2817 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable8
) /*String::append*/;
2818 variable9
= ((compiling_global___TableElt___compile_to_c_t
)CALL( variable5
/*e*/,COLOR_compiling_global___TableElt___compile_to_c
))( variable5
/*e*/, variable0
/*v*/, self
) /*TableElt::compile_to_c*/;
2819 variable10
= variable9
;
2820 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable10
) /*String::append*/;
2821 variable11
= NEW_string___String___with_native(BOX_NativeString("},"), TAG_Int(2)); /*new String*/
2822 variable12
= variable11
;
2823 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable12
) /*String::append*/;
2824 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable6
) /*CompilerVisitor::add_instr*/;
2826 continue_102
: while(0);
2827 ((array___ArrayIterator___next_t
)CALL(variable4
,COLOR_abstract_collection___Iterator___next
))(variable4
) /*ArrayIterator::next*/;
2829 break_102
: while(0);
2830 variable4
= ((array___AbstractArray___length_t
)CALL( variable2
/*ctab*/,COLOR_abstract_collection___Collection___length
))( variable2
/*ctab*/) /*Array::length*/;
2831 variable4
= TAG_Bool(UNTAG_Int( variable3
/*clen*/)>UNTAG_Int(variable4
));
2832 if (UNTAG_Bool(variable4
)) { /*if*/
2833 variable4
= NEW_string___String___with_native(BOX_NativeString("{0},"), TAG_Int(4)); /*new String*/
2834 variable5
= ((array___AbstractArray___length_t
)CALL( variable2
/*ctab*/,COLOR_abstract_collection___Collection___length
))( variable2
/*ctab*/) /*Array::length*/;
2835 variable5
= TAG_Int(UNTAG_Int( variable3
/*clen*/)-UNTAG_Int(variable5
));
2836 variable4
= ((string___String_____star_t
)CALL(variable4
,COLOR_string___String_____star
))(variable4
, variable5
) /*String::**/;
2837 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable4
) /*CompilerVisitor::add_instr*/;
2839 ((compiling_base___CompilerVisitor___unindent_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___unindent
))( variable0
/*v*/) /*CompilerVisitor::unindent*/;
2840 variable4
= NEW_string___String___with_native(BOX_NativeString("};"), TAG_Int(2)); /*new String*/
2841 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable4
) /*CompilerVisitor::add_instr*/;
2842 variable5
= ((compiling_global___CompiledClass___instance_table_t
)CALL( variable1
/*cc*/,COLOR_compiling_global___CompiledClass___instance_table
))( variable1
/*cc*/) /*CompiledClass::instance_table*/;
2843 variable4
= variable5
;
2844 variable5
= ((array___AbstractArray___iterator_t
)CALL( variable4
/*itab*/,COLOR_abstract_collection___Collection___iterator
))( variable4
/*itab*/) /*Array::iterator*/;
2845 while (true) { /*for*/
2846 variable6
= ((array___ArrayIterator___is_ok_t
)CALL(variable5
,COLOR_abstract_collection___Iterator___is_ok
))(variable5
) /*ArrayIterator::is_ok*/;
2847 if (!UNTAG_Bool(variable6
)) break; /*for*/
2848 variable6
= ((array___ArrayIterator___item_t
)CALL(variable5
,COLOR_abstract_collection___Iterator___item
))(variable5
) /*ArrayIterator::item*/;
2849 variable7
= TAG_Bool(( variable6
/*e*/ == NIT_NULL
/*null*/) || (( variable6
/*e*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable6
/*e*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable6
/*e*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable6
/*e*/,COLOR_kernel___Object_____eqeq
))( variable6
/*e*/, NIT_NULL
/*null*/) /*TableElt::==*/)))));
2850 if (UNTAG_Bool(variable7
)) { /*if*/
2851 variable7
= NEW_string___String___with_native(BOX_NativeString("/* Instance Hole :( */"), TAG_Int(22)); /*new String*/
2852 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable7
) /*CompilerVisitor::add_instr*/;
2854 variable7
= ((compiling_global___TableElt___compile_to_c_t
)CALL( variable6
/*e*/,COLOR_compiling_global___TableElt___compile_to_c
))( variable6
/*e*/, variable0
/*v*/, self
) /*TableElt::compile_to_c*/;
2855 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable7
) /*CompilerVisitor::add_instr*/;
2857 continue_103
: while(0);
2858 ((array___ArrayIterator___next_t
)CALL(variable5
,COLOR_abstract_collection___Iterator___next
))(variable5
) /*ArrayIterator::next*/;
2860 break_103
: while(0);
2861 variable6
= ((compiling_base___MMLocalClass___primitive_info_t
)CALL( self
,COLOR_compiling_base___MMLocalClass___primitive_info
))( self
) /*MMLocalClass::primitive_info*/;
2862 variable5
= variable6
;
2863 variable6
= TAG_Bool(( variable5
/*pi*/ == NIT_NULL
/*null*/) || (( variable5
/*pi*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable5
/*pi*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable5
/*pi*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable5
/*pi*/,COLOR_kernel___Object_____eqeq
))( variable5
/*pi*/, NIT_NULL
/*null*/) /*PrimitiveInfo::==*/)))));
2864 if (UNTAG_Bool(variable6
)) { /*if*/
2865 ((compiling_methods___CompilerVisitor___clear_t
)CALL( variable0
/*v*/,COLOR_compiling_methods___CompilerVisitor___clear
))( variable0
/*v*/) /*CompilerVisitor::clear*/;
2866 variable7
= NEW_string___String___init(); /*new String*/
2867 variable8
= NEW_string___String___with_native(BOX_NativeString("val_t NEW_"), TAG_Int(10)); /*new String*/
2868 variable9
= variable8
;
2869 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable9
) /*String::append*/;
2870 variable10
= ((abstractmetamodel___MMLocalClass___name_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass___name
))( self
) /*MMLocalClass::name*/;
2871 variable11
= variable10
;
2872 variable11
= ((string___String___to_s_t
)CALL(variable11
,COLOR_string___Object___to_s
))(variable11
) /*String::to_s*/;
2873 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable11
) /*String::append*/;
2874 variable12
= NEW_string___String___with_native(BOX_NativeString("(void)"), TAG_Int(6)); /*new String*/
2875 variable13
= variable12
;
2876 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable13
) /*String::append*/;
2877 variable6
= variable7
;
2878 variable7
= NEW_string___String___with_native(BOX_NativeString(" {"), TAG_Int(2)); /*new String*/
2879 variable7
= ((string___String_____plus_t
)CALL( variable6
/*s*/,COLOR_string___String_____plus
))( variable6
/*s*/, variable7
) /*String::+*/;
2880 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable7
) /*CompilerVisitor::add_instr*/;
2881 ((compiling_base___CompilerVisitor___indent_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___indent
))( variable0
/*v*/) /*CompilerVisitor::indent*/;
2882 variable8
= ((compiling_base___CompilerVisitor___ctx_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___ctx
))( variable0
/*v*/) /*CompilerVisitor::ctx*/;
2883 variable7
= variable8
;
2884 variable8
= NEW_compiling_base___CContext___init(); /*new CContext*/
2885 ((compiling_base___CompilerVisitor___ctx__eq_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___ctx__eq
))( variable0
/*v*/, variable8
) /*CompilerVisitor::ctx=*/;
2886 variable8
= NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[String]*/
2887 variable9
= NEW_string___String___with_native(BOX_NativeString("OBJ2VAL(obj)"), TAG_Int(12)); /*new String*/
2888 ((array___AbstractArray___add_t
)CALL(variable8
,COLOR_abstract_collection___SimpleCollection___add
))(variable8
, variable9
) /*Array::add*/;
2889 ((compiling_methods___CompilerVisitor___method_params__eq_t
)CALL( variable0
/*v*/,COLOR_compiling_methods___CompilerVisitor___method_params__eq
))( variable0
/*v*/, variable8
) /*CompilerVisitor::method_params=*/;
2890 variable8
= NEW_string___String___with_native(BOX_NativeString("obj_t obj;"), TAG_Int(10)); /*new String*/
2891 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable8
) /*CompilerVisitor::add_instr*/;
2892 variable8
= NEW_string___String___init(); /*new String*/
2893 variable9
= NEW_string___String___with_native(BOX_NativeString("obj = alloc(sizeof(val_t) * "), TAG_Int(28)); /*new String*/
2894 variable10
= variable9
;
2895 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable10
) /*String::append*/;
2896 variable11
= ((array___AbstractArray___length_t
)CALL( variable4
/*itab*/,COLOR_abstract_collection___Collection___length
))( variable4
/*itab*/) /*Array::length*/;
2897 variable12
= variable11
;
2898 variable12
= ((string___String___to_s_t
)CALL(variable12
,COLOR_string___Object___to_s
))(variable12
) /*String::to_s*/;
2899 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable12
) /*String::append*/;
2900 variable13
= NEW_string___String___with_native(BOX_NativeString(");"), TAG_Int(2)); /*new String*/
2901 variable14
= variable13
;
2902 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable14
) /*String::append*/;
2903 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable8
) /*CompilerVisitor::add_instr*/;
2904 variable8
= NEW_string___String___init(); /*new String*/
2905 variable9
= NEW_string___String___with_native(BOX_NativeString("obj->vft = (classtable_elt_t*)VFT_"), TAG_Int(34)); /*new String*/
2906 variable10
= variable9
;
2907 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable10
) /*String::append*/;
2908 variable11
= ((abstractmetamodel___MMLocalClass___name_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass___name
))( self
) /*MMLocalClass::name*/;
2909 variable12
= variable11
;
2910 variable12
= ((string___String___to_s_t
)CALL(variable12
,COLOR_string___Object___to_s
))(variable12
) /*String::to_s*/;
2911 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable12
) /*String::append*/;
2912 variable13
= NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
2913 variable14
= variable13
;
2914 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable14
) /*String::append*/;
2915 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable8
) /*CompilerVisitor::add_instr*/;
2916 variable8
= ((abstractmetamodel___MMLocalClass___global_properties_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass___global_properties
))( self
) /*MMLocalClass::global_properties*/;
2917 variable8
= ((abstract_collection___Collection___iterator_t
)CALL(variable8
,COLOR_abstract_collection___Collection___iterator
))(variable8
) /*Set::iterator*/;
2918 while (true) { /*for*/
2919 variable9
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable8
,COLOR_abstract_collection___Iterator___is_ok
))(variable8
) /*Iterator::is_ok*/;
2920 if (!UNTAG_Bool(variable9
)) break; /*for*/
2921 variable9
= ((abstract_collection___Iterator___item_t
)CALL(variable8
,COLOR_abstract_collection___Iterator___item
))(variable8
) /*Iterator::item*/;
2922 variable11
= ((inheritance___MMLocalClass_____bra_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass_____bra
))( self
, variable9
/*g*/) /*MMLocalClass::[]*/;
2923 variable10
= variable11
;
2924 variable12
= ((genericity___MMLocalProperty___signature_t
)CALL( variable10
/*p*/,COLOR_static_type___MMLocalProperty___signature
))( variable10
/*p*/) /*MMLocalProperty::signature*/;
2925 variable12
= ((static_type___MMSignature___return_type_t
)CALL(variable12
,COLOR_static_type___MMSignature___return_type
))(variable12
) /*MMSignature::return_type*/;
2926 variable11
= variable12
;
2927 variable12
= TAG_Bool(( variable10
/*p*/==NIT_NULL
) || VAL_ISA( variable10
/*p*/, COLOR_MMAttribute
, ID_MMAttribute
)) /*cast MMAttribute*/;
2928 variable13
= variable12
;
2929 if (UNTAG_Bool(variable13
)) { /* and */
2930 variable13
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11
/*t*/ == NIT_NULL
/*null*/) || (( variable11
/*t*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable11
/*t*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable11
/*t*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable11
/*t*/,COLOR_kernel___Object_____eqeq
))( variable11
/*t*/, NIT_NULL
/*null*/) /*MMType::==*/)))))));
2932 variable12
= variable13
;
2933 if (UNTAG_Bool(variable12
)) { /*if*/
2934 variable13
= ((abstractmetamodel___MMLocalProperty___concrete_property_t
)CALL( variable10
/*p*/,COLOR_abstractmetamodel___MMLocalProperty___concrete_property
))( variable10
/*p*/) /*MMAttribute::concrete_property*/;
2935 variable12
= variable13
;
2936 variable13
= TAG_Bool(( variable12
/*pi*/==NIT_NULL
) || VAL_ISA( variable12
/*pi*/, COLOR_MMSrcAttribute
, ID_MMSrcAttribute
)) /*cast MMSrcAttribute*/;
2937 if (!UNTAG_Bool(variable13
)) { fprintf(stderr
, "Assert failed: src/compiling//compiling_global.nit:857,6--33\n"); nit_exit(1);}
2938 variable14
= ((syntax_base___MMSrcLocalProperty___node_t
)CALL( variable12
/*pi*/,COLOR_syntax_base___MMSrcLocalProperty___node
))( variable12
/*pi*/) /*MMSrcAttribute::node*/;
2939 variable13
= variable14
;
2940 variable14
= TAG_Bool(( variable13
/*np*/==NIT_NULL
) || VAL_ISA( variable13
/*np*/, COLOR_AAttrPropdef
, ID_AAttrPropdef
)) /*cast AAttrPropdef*/;
2941 if (!UNTAG_Bool(variable14
)) { fprintf(stderr
, "Assert failed: src/compiling//compiling_global.nit:859,6--31\n"); nit_exit(1);}
2942 variable15
= ((parser_nodes___AAttrPropdef___n_expr_t
)CALL( variable13
/*np*/,COLOR_parser_nodes___AAttrPropdef___n_expr
))( variable13
/*np*/) /*AAttrPropdef::n_expr*/;
2943 variable14
= variable15
;
2944 variable15
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14
/*ne*/ == NIT_NULL
/*null*/) || (( variable14
/*ne*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable14
/*ne*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable14
/*ne*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable14
/*ne*/,COLOR_kernel___Object_____eqeq
))( variable14
/*ne*/, NIT_NULL
/*null*/) /*PExpr::==*/)))))));
2945 if (UNTAG_Bool(variable15
)) { /*if*/
2946 variable16
= ((compiling_methods___PExpr___compile_expr_t
)CALL( variable14
/*ne*/,COLOR_compiling_methods___PExpr___compile_expr
))( variable14
/*ne*/, variable0
/*v*/) /*PExpr::compile_expr*/;
2947 variable15
= variable16
;
2948 variable16
= NEW_string___String___init(); /*new String*/
2949 variable17
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2950 variable18
= variable17
;
2951 ((string___String___append_t
)CALL(variable16
,COLOR_abstract_collection___IndexedCollection___append
))(variable16
, variable18
) /*String::append*/;
2952 variable19
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable10
/*p*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable10
/*p*/) /*MMAttribute::global*/;
2953 variable19
= ((compiling_base___MMGlobalProperty___attr_access_t
)CALL(variable19
,COLOR_compiling_base___MMGlobalProperty___attr_access
))(variable19
) /*MMGlobalProperty::attr_access*/;
2954 variable20
= variable19
;
2955 ((string___String___append_t
)CALL(variable16
,COLOR_abstract_collection___IndexedCollection___append
))(variable16
, variable20
) /*String::append*/;
2956 variable21
= NEW_string___String___with_native(BOX_NativeString("(obj) = "), TAG_Int(8)); /*new String*/
2957 variable22
= variable21
;
2958 ((string___String___append_t
)CALL(variable16
,COLOR_abstract_collection___IndexedCollection___append
))(variable16
, variable22
) /*String::append*/;
2959 variable23
= variable15
/*e*/;
2960 ((string___String___append_t
)CALL(variable16
,COLOR_abstract_collection___IndexedCollection___append
))(variable16
, variable23
) /*String::append*/;
2961 variable24
= NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
2962 variable25
= variable24
;
2963 ((string___String___append_t
)CALL(variable16
,COLOR_abstract_collection___IndexedCollection___append
))(variable16
, variable25
) /*String::append*/;
2964 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable16
) /*CompilerVisitor::add_instr*/;
2966 variable16
= ((static_type___MMType___local_class_t
)CALL( variable11
/*t*/,COLOR_static_type___MMType___local_class
))( variable11
/*t*/) /*MMType::local_class*/;
2967 variable16
= ((compiling_base___MMLocalClass___primitive_info_t
)CALL(variable16
,COLOR_compiling_base___MMLocalClass___primitive_info
))(variable16
) /*MMLocalClass::primitive_info*/;
2968 variable15
= variable16
;
2969 variable16
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable15
/*pi*/ == NIT_NULL
/*null*/) || (( variable15
/*pi*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable15
/*pi*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable15
/*pi*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable15
/*pi*/,COLOR_kernel___Object_____eqeq
))( variable15
/*pi*/, NIT_NULL
/*null*/) /*PrimitiveInfo::==*/)))))));
2970 variable17
= variable16
;
2971 if (UNTAG_Bool(variable17
)) { /* and */
2972 variable17
= ((compiling_base___PrimitiveInfo___tagged_t
)CALL( variable15
/*pi*/,COLOR_compiling_base___PrimitiveInfo___tagged
))( variable15
/*pi*/) /*PrimitiveInfo::tagged*/;
2974 variable16
= variable17
;
2975 if (UNTAG_Bool(variable16
)) { /*if*/
2976 variable17
= ((compiling_base___MMType___default_cvalue_t
)CALL( variable11
/*t*/,COLOR_compiling_base___MMType___default_cvalue
))( variable11
/*t*/) /*MMType::default_cvalue*/;
2977 variable16
= variable17
;
2978 variable17
= NEW_string___String___init(); /*new String*/
2979 variable18
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2980 variable19
= variable18
;
2981 ((string___String___append_t
)CALL(variable17
,COLOR_abstract_collection___IndexedCollection___append
))(variable17
, variable19
) /*String::append*/;
2982 variable20
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable10
/*p*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable10
/*p*/) /*MMAttribute::global*/;
2983 variable20
= ((compiling_base___MMGlobalProperty___attr_access_t
)CALL(variable20
,COLOR_compiling_base___MMGlobalProperty___attr_access
))(variable20
) /*MMGlobalProperty::attr_access*/;
2984 variable21
= variable20
;
2985 ((string___String___append_t
)CALL(variable17
,COLOR_abstract_collection___IndexedCollection___append
))(variable17
, variable21
) /*String::append*/;
2986 variable22
= NEW_string___String___with_native(BOX_NativeString("(obj) = "), TAG_Int(8)); /*new String*/
2987 variable23
= variable22
;
2988 ((string___String___append_t
)CALL(variable17
,COLOR_abstract_collection___IndexedCollection___append
))(variable17
, variable23
) /*String::append*/;
2989 variable24
= variable16
/*default*/;
2990 ((string___String___append_t
)CALL(variable17
,COLOR_abstract_collection___IndexedCollection___append
))(variable17
, variable24
) /*String::append*/;
2991 variable25
= NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
2992 variable26
= variable25
;
2993 ((string___String___append_t
)CALL(variable17
,COLOR_abstract_collection___IndexedCollection___append
))(variable17
, variable26
) /*String::append*/;
2994 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable17
) /*CompilerVisitor::add_instr*/;
2998 continue_104
: while(0);
2999 ((abstract_collection___Iterator___next_t
)CALL(variable8
,COLOR_abstract_collection___Iterator___next
))(variable8
) /*Iterator::next*/;
3001 break_104
: while(0);
3002 variable8
= NEW_string___String___with_native(BOX_NativeString("return OBJ2VAL(obj);"), TAG_Int(20)); /*new String*/
3003 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable8
) /*CompilerVisitor::add_instr*/;
3004 variable8
= ((compiling_base___CompilerVisitor___ctx_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___ctx
))( variable0
/*v*/) /*CompilerVisitor::ctx*/;
3005 ((compiling_base___CContext___append_t
)CALL( variable7
/*ctx_old*/,COLOR_compiling_base___CContext___append
))( variable7
/*ctx_old*/, variable8
) /*CContext::append*/;
3006 ((compiling_base___CompilerVisitor___ctx__eq_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___ctx__eq
))( variable0
/*v*/, variable7
/*ctx_old*/) /*CompilerVisitor::ctx=*/;
3007 ((compiling_base___CompilerVisitor___unindent_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___unindent
))( variable0
/*v*/) /*CompilerVisitor::unindent*/;
3008 variable8
= NEW_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
3009 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable8
) /*CompilerVisitor::add_instr*/;
3010 variable9
= ((abstractmetamodel___MMLocalClass___cshe_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass___cshe
))( self
) /*MMLocalClass::cshe*/;
3011 variable9
= ((partial_order___PartialOrderElement___greaters_t
)CALL(variable9
,COLOR_partial_order___PartialOrderElement___greaters
))(variable9
) /*PartialOrderElement::greaters*/;
3012 variable9
= ((abstract_collection___Collection___length_t
)CALL(variable9
,COLOR_abstract_collection___Collection___length
))(variable9
) /*Set::length*/;
3013 variable9
= TAG_Int(UNTAG_Int(variable9
)+UNTAG_Int( TAG_Int(1)));
3014 variable8
= variable9
;
3015 variable10
= NEW_string___String___init(); /*new String*/
3016 variable11
= NEW_string___String___with_native(BOX_NativeString("int init_table["), TAG_Int(15)); /*new String*/
3017 variable12
= variable11
;
3018 ((string___String___append_t
)CALL(variable10
,COLOR_abstract_collection___IndexedCollection___append
))(variable10
, variable12
) /*String::append*/;
3019 variable13
= variable8
/*init_table_size*/;
3020 variable13
= ((string___String___to_s_t
)CALL(variable13
,COLOR_string___Object___to_s
))(variable13
) /*String::to_s*/;
3021 ((string___String___append_t
)CALL(variable10
,COLOR_abstract_collection___IndexedCollection___append
))(variable10
, variable13
) /*String::append*/;
3022 variable14
= NEW_string___String___with_native(BOX_NativeString("] = {0"), TAG_Int(6)); /*new String*/
3023 variable15
= variable14
;
3024 ((string___String___append_t
)CALL(variable10
,COLOR_abstract_collection___IndexedCollection___append
))(variable10
, variable15
) /*String::append*/;
3025 variable16
= NEW_string___String___with_native(BOX_NativeString(", 0"), TAG_Int(3)); /*new String*/
3026 variable17
= TAG_Int(UNTAG_Int( variable8
/*init_table_size*/)-UNTAG_Int( TAG_Int(1)));
3027 variable16
= ((string___String_____star_t
)CALL(variable16
,COLOR_string___String_____star
))(variable16
, variable17
) /*String::**/;
3028 variable17
= variable16
;
3029 ((string___String___append_t
)CALL(variable10
,COLOR_abstract_collection___IndexedCollection___append
))(variable10
, variable17
) /*String::append*/;
3030 variable18
= NEW_string___String___with_native(BOX_NativeString("};"), TAG_Int(2)); /*new String*/
3031 variable19
= variable18
;
3032 ((string___String___append_t
)CALL(variable10
,COLOR_abstract_collection___IndexedCollection___append
))(variable10
, variable19
) /*String::append*/;
3033 variable9
= variable10
;
3034 variable10
= ((abstractmetamodel___MMLocalClass___global_properties_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass___global_properties
))( self
) /*MMLocalClass::global_properties*/;
3035 variable10
= ((abstract_collection___Collection___iterator_t
)CALL(variable10
,COLOR_abstract_collection___Collection___iterator
))(variable10
) /*Set::iterator*/;
3036 while (true) { /*for*/
3037 variable11
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable10
,COLOR_abstract_collection___Iterator___is_ok
))(variable10
) /*Iterator::is_ok*/;
3038 if (!UNTAG_Bool(variable11
)) break; /*for*/
3039 variable11
= ((abstract_collection___Iterator___item_t
)CALL(variable10
,COLOR_abstract_collection___Iterator___item
))(variable10
) /*Iterator::item*/;
3040 variable13
= ((inheritance___MMLocalClass_____bra_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass_____bra
))( self
, variable11
/*g*/) /*MMLocalClass::[]*/;
3041 variable12
= variable13
;
3042 variable13
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable12
/*p*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable12
/*p*/) /*MMLocalProperty::global*/;
3043 variable13
= ((abstractmetamodel___MMGlobalProperty___is_init_t
)CALL(variable13
,COLOR_abstractmetamodel___MMGlobalProperty___is_init
))(variable13
) /*MMGlobalProperty::is_init*/;
3044 variable13
= TAG_Bool(!UNTAG_Bool(variable13
));
3045 if (!UNTAG_Bool(variable13
)) { /* or */
3046 variable13
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable12
/*p*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable12
/*p*/) /*MMLocalProperty::global*/;
3047 variable13
= ((abstractmetamodel___MMGlobalProperty___intro_t
)CALL(variable13
,COLOR_abstractmetamodel___MMGlobalProperty___intro
))(variable13
) /*MMGlobalProperty::intro*/;
3048 variable13
= ((abstractmetamodel___MMLocalProperty___local_class_t
)CALL(variable13
,COLOR_abstractmetamodel___MMLocalProperty___local_class
))(variable13
) /*MMConcreteProperty::local_class*/;
3049 variable13
= ((abstractmetamodel___MMLocalClass___global_t
)CALL(variable13
,COLOR_abstractmetamodel___MMLocalClass___global
))(variable13
) /*MMLocalClass::global*/;
3050 variable14
= ((abstractmetamodel___MMLocalClass___global_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass___global
))( self
) /*MMLocalClass::global*/;
3051 variable13
= TAG_Bool(!UNTAG_Bool(TAG_Bool((variable13
== variable14
) || ((variable13
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable13
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable13
,variable14
)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable13
,COLOR_kernel___Object_____eqeq
))(variable13
, variable14
) /*MMGlobalClass::==*/)))))));
3053 if (UNTAG_Bool(variable13
)) { /*if*/
3056 ((compiling_methods___CompilerVisitor___clear_t
)CALL( variable0
/*v*/,COLOR_compiling_methods___CompilerVisitor___clear
))( variable0
/*v*/) /*CompilerVisitor::clear*/;
3057 variable14
= NEW_array___Array___init(); /*new Array[String]*/
3058 variable13
= variable14
;
3059 variable15
= NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[String]*/
3060 variable16
= NEW_string___String___with_native(BOX_NativeString("self"), TAG_Int(4)); /*new String*/
3061 ((array___AbstractArray___add_t
)CALL(variable15
,COLOR_abstract_collection___SimpleCollection___add
))(variable15
, variable16
) /*Array::add*/;
3062 variable14
= variable15
;
3063 variable15
= ((genericity___MMLocalProperty___signature_t
)CALL( variable12
/*p*/,COLOR_static_type___MMLocalProperty___signature
))( variable12
/*p*/) /*MMLocalProperty::signature*/;
3064 variable15
= ((static_type___MMSignature___arity_t
)CALL(variable15
,COLOR_static_type___MMSignature___arity
))(variable15
) /*MMSignature::arity*/;
3065 variable16
= NEW_range___Range___without_last( TAG_Int(0), variable15
); /*new Range[Int]*/
3066 variable15
= variable16
;
3067 variable15
= ((range___Range___iterator_t
)CALL(variable15
,COLOR_abstract_collection___Collection___iterator
))(variable15
) /*Range::iterator*/;
3068 while (true) { /*for*/
3069 variable16
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable15
,COLOR_abstract_collection___Iterator___is_ok
))(variable15
) /*Iterator::is_ok*/;
3070 if (!UNTAG_Bool(variable16
)) break; /*for*/
3071 variable16
= ((abstract_collection___Iterator___item_t
)CALL(variable15
,COLOR_abstract_collection___Iterator___item
))(variable15
) /*Iterator::item*/;
3072 variable17
= NEW_string___String___init(); /*new String*/
3073 variable18
= NEW_string___String___with_native(BOX_NativeString("val_t p"), TAG_Int(7)); /*new String*/
3074 variable19
= variable18
;
3075 ((string___String___append_t
)CALL(variable17
,COLOR_abstract_collection___IndexedCollection___append
))(variable17
, variable19
) /*String::append*/;
3076 variable20
= variable16
/*i*/;
3077 variable20
= ((string___String___to_s_t
)CALL(variable20
,COLOR_string___Object___to_s
))(variable20
) /*String::to_s*/;
3078 ((string___String___append_t
)CALL(variable17
,COLOR_abstract_collection___IndexedCollection___append
))(variable17
, variable20
) /*String::append*/;
3079 variable21
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
3080 variable22
= variable21
;
3081 ((string___String___append_t
)CALL(variable17
,COLOR_abstract_collection___IndexedCollection___append
))(variable17
, variable22
) /*String::append*/;
3082 ((array___AbstractArray___add_t
)CALL( variable13
/*params*/,COLOR_abstract_collection___SimpleCollection___add
))( variable13
/*params*/, variable17
) /*Array::add*/;
3083 variable17
= NEW_string___String___init(); /*new String*/
3084 variable18
= NEW_string___String___with_native(BOX_NativeString("p"), TAG_Int(1)); /*new String*/
3085 variable19
= variable18
;
3086 ((string___String___append_t
)CALL(variable17
,COLOR_abstract_collection___IndexedCollection___append
))(variable17
, variable19
) /*String::append*/;
3087 variable20
= variable16
/*i*/;
3088 variable20
= ((string___String___to_s_t
)CALL(variable20
,COLOR_string___Object___to_s
))(variable20
) /*String::to_s*/;
3089 ((string___String___append_t
)CALL(variable17
,COLOR_abstract_collection___IndexedCollection___append
))(variable17
, variable20
) /*String::append*/;
3090 variable21
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
3091 variable22
= variable21
;
3092 ((string___String___append_t
)CALL(variable17
,COLOR_abstract_collection___IndexedCollection___append
))(variable17
, variable22
) /*String::append*/;
3093 ((array___AbstractArray___add_t
)CALL( variable14
/*args*/,COLOR_abstract_collection___SimpleCollection___add
))( variable14
/*args*/, variable17
) /*Array::add*/;
3094 continue_106
: while(0);
3095 ((abstract_collection___Iterator___next_t
)CALL(variable15
,COLOR_abstract_collection___Iterator___next
))(variable15
) /*Iterator::next*/;
3097 break_106
: while(0);
3098 variable15
= NEW_string___String___with_native(BOX_NativeString("init_table"), TAG_Int(10)); /*new String*/
3099 ((array___AbstractArray___add_t
)CALL( variable14
/*args*/,COLOR_abstract_collection___SimpleCollection___add
))( variable14
/*args*/, variable15
) /*Array::add*/;
3100 variable16
= NEW_string___String___init(); /*new String*/
3101 variable17
= NEW_string___String___with_native(BOX_NativeString("val_t NEW_"), TAG_Int(10)); /*new String*/
3102 variable18
= variable17
;
3103 ((string___String___append_t
)CALL(variable16
,COLOR_abstract_collection___IndexedCollection___append
))(variable16
, variable18
) /*String::append*/;
3104 variable19
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable12
/*p*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable12
/*p*/) /*MMLocalProperty::global*/;
3105 variable19
= ((abstractmetamodel___MMGlobalProperty___intro_t
)CALL(variable19
,COLOR_abstractmetamodel___MMGlobalProperty___intro
))(variable19
) /*MMGlobalProperty::intro*/;
3106 variable19
= ((compiling_base___MMLocalProperty___cname_t
)CALL(variable19
,COLOR_compiling_base___MMLocalProperty___cname
))(variable19
) /*MMConcreteProperty::cname*/;
3107 variable20
= variable19
;
3108 ((string___String___append_t
)CALL(variable16
,COLOR_abstract_collection___IndexedCollection___append
))(variable16
, variable20
) /*String::append*/;
3109 variable21
= NEW_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
3110 variable22
= variable21
;
3111 ((string___String___append_t
)CALL(variable16
,COLOR_abstract_collection___IndexedCollection___append
))(variable16
, variable22
) /*String::append*/;
3112 variable23
= NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
3113 variable23
= ((string___Collection___join_t
)CALL( variable13
/*params*/,COLOR_string___Collection___join
))( variable13
/*params*/, variable23
) /*Array::join*/;
3114 variable24
= variable23
;
3115 ((string___String___append_t
)CALL(variable16
,COLOR_abstract_collection___IndexedCollection___append
))(variable16
, variable24
) /*String::append*/;
3116 variable25
= NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
3117 variable26
= variable25
;
3118 ((string___String___append_t
)CALL(variable16
,COLOR_abstract_collection___IndexedCollection___append
))(variable16
, variable26
) /*String::append*/;
3119 variable15
= variable16
;
3120 variable16
= NEW_string___String___with_native(BOX_NativeString(" {"), TAG_Int(2)); /*new String*/
3121 variable16
= ((string___String_____plus_t
)CALL( variable15
/*s*/,COLOR_string___String_____plus
))( variable15
/*s*/, variable16
) /*String::+*/;
3122 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable16
) /*CompilerVisitor::add_instr*/;
3123 ((compiling_base___CompilerVisitor___indent_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___indent
))( variable0
/*v*/) /*CompilerVisitor::indent*/;
3124 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable9
/*init_table_decl*/) /*CompilerVisitor::add_instr*/;
3125 variable16
= NEW_string___String___init(); /*new String*/
3126 variable17
= NEW_string___String___with_native(BOX_NativeString("val_t self = NEW_"), TAG_Int(17)); /*new String*/
3127 variable18
= variable17
;
3128 ((string___String___append_t
)CALL(variable16
,COLOR_abstract_collection___IndexedCollection___append
))(variable16
, variable18
) /*String::append*/;
3129 variable19
= ((abstractmetamodel___MMLocalClass___name_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass___name
))( self
) /*MMLocalClass::name*/;
3130 variable20
= variable19
;
3131 variable20
= ((string___String___to_s_t
)CALL(variable20
,COLOR_string___Object___to_s
))(variable20
) /*String::to_s*/;
3132 ((string___String___append_t
)CALL(variable16
,COLOR_abstract_collection___IndexedCollection___append
))(variable16
, variable20
) /*String::append*/;
3133 variable21
= NEW_string___String___with_native(BOX_NativeString("();"), TAG_Int(3)); /*new String*/
3134 variable22
= variable21
;
3135 ((string___String___append_t
)CALL(variable16
,COLOR_abstract_collection___IndexedCollection___append
))(variable16
, variable22
) /*String::append*/;
3136 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable16
) /*CompilerVisitor::add_instr*/;
3137 variable16
= NEW_string___String___init(); /*new String*/
3138 variable17
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
3139 variable18
= variable17
;
3140 ((string___String___append_t
)CALL(variable16
,COLOR_abstract_collection___IndexedCollection___append
))(variable16
, variable18
) /*String::append*/;
3141 variable19
= ((abstractmetamodel___MMLocalProperty___concrete_property_t
)CALL( variable12
/*p*/,COLOR_abstractmetamodel___MMLocalProperty___concrete_property
))( variable12
/*p*/) /*MMLocalProperty::concrete_property*/;
3142 variable19
= ((compiling_base___MMLocalProperty___cname_t
)CALL(variable19
,COLOR_compiling_base___MMLocalProperty___cname
))(variable19
) /*MMConcreteProperty::cname*/;
3143 variable20
= variable19
;
3144 ((string___String___append_t
)CALL(variable16
,COLOR_abstract_collection___IndexedCollection___append
))(variable16
, variable20
) /*String::append*/;
3145 variable21
= NEW_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
3146 variable22
= variable21
;
3147 ((string___String___append_t
)CALL(variable16
,COLOR_abstract_collection___IndexedCollection___append
))(variable16
, variable22
) /*String::append*/;
3148 variable23
= NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
3149 variable23
= ((string___Collection___join_t
)CALL( variable14
/*args*/,COLOR_string___Collection___join
))( variable14
/*args*/, variable23
) /*Array::join*/;
3150 variable24
= variable23
;
3151 ((string___String___append_t
)CALL(variable16
,COLOR_abstract_collection___IndexedCollection___append
))(variable16
, variable24
) /*String::append*/;
3152 variable25
= NEW_string___String___with_native(BOX_NativeString(");"), TAG_Int(2)); /*new String*/
3153 variable26
= variable25
;
3154 ((string___String___append_t
)CALL(variable16
,COLOR_abstract_collection___IndexedCollection___append
))(variable16
, variable26
) /*String::append*/;
3155 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable16
) /*CompilerVisitor::add_instr*/;
3156 variable16
= NEW_string___String___with_native(BOX_NativeString("return self;"), TAG_Int(12)); /*new String*/
3157 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable16
) /*CompilerVisitor::add_instr*/;
3158 ((compiling_base___CompilerVisitor___unindent_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___unindent
))( variable0
/*v*/) /*CompilerVisitor::unindent*/;
3159 variable16
= NEW_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
3160 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable16
) /*CompilerVisitor::add_instr*/;
3161 continue_105
: while(0);
3162 ((abstract_collection___Iterator___next_t
)CALL(variable10
,COLOR_abstract_collection___Iterator___next
))(variable10
) /*Iterator::next*/;
3164 break_105
: while(0);
3166 variable6
= ((compiling_base___PrimitiveInfo___tagged_t
)CALL( variable5
/*pi*/,COLOR_compiling_base___PrimitiveInfo___tagged
))( variable5
/*pi*/) /*PrimitiveInfo::tagged*/;
3167 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable6
)))) { /*if*/
3168 variable7
= ((compiling_base___PrimitiveInfo___cname_t
)CALL( variable5
/*pi*/,COLOR_compiling_base___PrimitiveInfo___cname
))( variable5
/*pi*/) /*PrimitiveInfo::cname*/;
3169 variable6
= variable7
;
3170 variable8
= NEW_string___String___init(); /*new String*/
3171 variable9
= NEW_string___String___with_native(BOX_NativeString("struct TBOX_"), TAG_Int(12)); /*new String*/
3172 variable10
= variable9
;
3173 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable10
) /*String::append*/;
3174 variable11
= ((abstractmetamodel___MMLocalClass___name_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass___name
))( self
) /*MMLocalClass::name*/;
3175 variable12
= variable11
;
3176 variable12
= ((string___String___to_s_t
)CALL(variable12
,COLOR_string___Object___to_s
))(variable12
) /*String::to_s*/;
3177 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable12
) /*String::append*/;
3178 variable13
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
3179 variable14
= variable13
;
3180 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable14
) /*String::append*/;
3181 variable7
= variable8
;
3182 variable8
= NEW_string___String___init(); /*new String*/
3183 variable9
= NEW_string___String___with_native(BOX_NativeString("val_t BOX_"), TAG_Int(10)); /*new String*/
3184 variable10
= variable9
;
3185 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable10
) /*String::append*/;
3186 variable11
= ((abstractmetamodel___MMLocalClass___name_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass___name
))( self
) /*MMLocalClass::name*/;
3187 variable12
= variable11
;
3188 variable12
= ((string___String___to_s_t
)CALL(variable12
,COLOR_string___Object___to_s
))(variable12
) /*String::to_s*/;
3189 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable12
) /*String::append*/;
3190 variable13
= NEW_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
3191 variable14
= variable13
;
3192 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable14
) /*String::append*/;
3193 variable15
= variable6
/*t*/;
3194 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable15
) /*String::append*/;
3195 variable16
= NEW_string___String___with_native(BOX_NativeString(" val) {"), TAG_Int(7)); /*new String*/
3196 variable17
= variable16
;
3197 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable17
) /*String::append*/;
3198 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable8
) /*CompilerVisitor::add_instr*/;
3199 ((compiling_base___CompilerVisitor___indent_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___indent
))( variable0
/*v*/) /*CompilerVisitor::indent*/;
3200 variable8
= NEW_string___String___init(); /*new String*/
3201 variable9
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
3202 variable10
= variable9
;
3203 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable10
) /*String::append*/;
3204 variable11
= variable7
/*tbox*/;
3205 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable11
) /*String::append*/;
3206 variable12
= NEW_string___String___with_native(BOX_NativeString(" *box = ("), TAG_Int(9)); /*new String*/
3207 variable13
= variable12
;
3208 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable13
) /*String::append*/;
3209 variable14
= variable7
/*tbox*/;
3210 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable14
) /*String::append*/;
3211 variable15
= NEW_string___String___with_native(BOX_NativeString("*)alloc(sizeof("), TAG_Int(15)); /*new String*/
3212 variable16
= variable15
;
3213 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable16
) /*String::append*/;
3214 variable17
= variable7
/*tbox*/;
3215 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable17
) /*String::append*/;
3216 variable18
= NEW_string___String___with_native(BOX_NativeString("));"), TAG_Int(3)); /*new String*/
3217 variable19
= variable18
;
3218 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable19
) /*String::append*/;
3219 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable8
) /*CompilerVisitor::add_instr*/;
3220 variable8
= NEW_string___String___init(); /*new String*/
3221 variable9
= NEW_string___String___with_native(BOX_NativeString("box->vft = VFT_"), TAG_Int(15)); /*new String*/
3222 variable10
= variable9
;
3223 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable10
) /*String::append*/;
3224 variable11
= ((abstractmetamodel___MMLocalClass___name_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass___name
))( self
) /*MMLocalClass::name*/;
3225 variable12
= variable11
;
3226 variable12
= ((string___String___to_s_t
)CALL(variable12
,COLOR_string___Object___to_s
))(variable12
) /*String::to_s*/;
3227 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable12
) /*String::append*/;
3228 variable13
= NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
3229 variable14
= variable13
;
3230 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable14
) /*String::append*/;
3231 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable8
) /*CompilerVisitor::add_instr*/;
3232 variable8
= NEW_string___String___with_native(BOX_NativeString("box->val = val;"), TAG_Int(15)); /*new String*/
3233 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable8
) /*CompilerVisitor::add_instr*/;
3234 variable8
= NEW_string___String___with_native(BOX_NativeString("return OBJ2VAL(box);"), TAG_Int(20)); /*new String*/
3235 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable8
) /*CompilerVisitor::add_instr*/;
3236 ((compiling_base___CompilerVisitor___unindent_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___unindent
))( variable0
/*v*/) /*CompilerVisitor::unindent*/;
3237 variable8
= NEW_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
3238 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable8
) /*CompilerVisitor::add_instr*/;
3241 tracehead
= trace
.prev
;