1 /* This C file is generated by NIT to compile module compiling_global. */
2 #include "compiling_global._sep.h"
3 val_t
compiling_global___ColorContext___color(val_t self
, val_t param0
) {
4 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 28, LOCATE_compiling_global___ColorContext___color
};
7 trace
.prev
= tracehead
; tracehead
= &trace
;
9 variable1
= ATTR_compiling_global___ColorContext____colors( self
) /*ColorContext::_colors*/;
10 variable1
= ((abstract_collection___CoupleMap_____bra_t
)CALL(variable1
,COLOR_abstract_collection___Map_____bra
))(variable1
, variable0
/*e*/) /*CoupleMap::[]*/;
12 return_label0
: while(false);
13 tracehead
= trace
.prev
;
16 val_t
compiling_global___ColorContext___has_color(val_t self
, val_t param0
) {
17 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 34, LOCATE_compiling_global___ColorContext___has_color
};
21 trace
.prev
= tracehead
; tracehead
= &trace
;
23 variable1
= ATTR_compiling_global___ColorContext____colors( self
) /*ColorContext::_colors*/;
24 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*/) /*Object::==*/)))))));
25 variable2
= variable1
;
26 if (UNTAG_Bool(variable2
)) { /* and */
27 variable2
= ATTR_compiling_global___ColorContext____colors( self
) /*ColorContext::_colors*/;
28 variable2
= ((abstract_collection___CoupleMap___has_key_t
)CALL(variable2
,COLOR_abstract_collection___Map___has_key
))(variable2
, variable0
/*e*/) /*CoupleMap::has_key*/;
30 variable1
= variable2
;
32 return_label1
: while(false);
33 tracehead
= trace
.prev
;
36 void compiling_global___ColorContext___color__eq(val_t self
, val_t param0
, val_t param1
) {
37 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 40, LOCATE_compiling_global___ColorContext___color__eq
};
45 trace
.prev
= tracehead
; tracehead
= &trace
;
48 variable2
= ATTR_compiling_global___ColorContext____colors( self
) /*ColorContext::_colors*/;
49 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*/) /*Object::==*/)))));
50 if (UNTAG_Bool(variable2
)) { /*if*/
51 variable2
= NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
52 ATTR_compiling_global___ColorContext____colors( self
) /*ColorContext::_colors*/ = variable2
;
54 variable2
= ATTR_compiling_global___ColorContext____colors( self
) /*ColorContext::_colors*/;
55 ((hash___HashMap_____braeq_t
)CALL(variable2
,COLOR_abstract_collection___Map_____braeq
))(variable2
, variable0
/*e*/, variable1
/*c*/) /*HashMap::[]=*/;
56 variable2
= variable1
/*c*/;
57 variable3
= ((compiling_global___TableElt___length_t
)CALL( variable0
/*e*/,COLOR_compiling_global___TableElt___length
))( variable0
/*e*/) /*TableElt::length*/;
58 variable4
= NEW_range___Range___without_last( TAG_Int(0), variable3
); /*new Range[E]*/
59 variable3
= variable4
;
60 variable3
= ((range___Range___iterator_t
)CALL(variable3
,COLOR_abstract_collection___Collection___iterator
))(variable3
) /*Range::iterator*/;
61 while (true) { /*for*/
62 variable4
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable3
,COLOR_abstract_collection___Iterator___is_ok
))(variable3
) /*Iterator::is_ok*/;
63 if (!UNTAG_Bool(variable4
)) break; /*for*/
64 variable4
= ((abstract_collection___Iterator___item_t
)CALL(variable3
,COLOR_abstract_collection___Iterator___item
))(variable3
) /*Iterator::item*/;
65 variable5
= ATTR_compiling_global___ColorContext____colors( self
) /*ColorContext::_colors*/;
66 variable6
= ((compiling_global___TableElt___item_t
)CALL( variable0
/*e*/,COLOR_compiling_global___TableElt___item
))( variable0
/*e*/, variable4
/*i*/) /*TableElt::item*/;
67 ((hash___HashMap_____braeq_t
)CALL(variable5
,COLOR_abstract_collection___Map_____braeq
))(variable5
, variable6
, variable2
/*idx*/) /*HashMap::[]=*/;
68 variable5
= TAG_Int(UNTAG_Int( variable2
/*idx*/)+UNTAG_Int( TAG_Int(1)));
69 variable2
= variable5
/*idx=*/;
71 ((abstract_collection___Iterator___next_t
)CALL(variable3
,COLOR_abstract_collection___Iterator___next
))(variable3
) /*Iterator::next*/;
74 tracehead
= trace
.prev
;
77 val_t
compiling_global___GlobalAnalysis___compiled_classes(val_t self
) {
78 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 56, LOCATE_compiling_global___GlobalAnalysis___compiled_classes
};
79 trace
.prev
= tracehead
; tracehead
= &trace
;
80 tracehead
= trace
.prev
;
81 return ATTR_compiling_global___GlobalAnalysis____compiled_classes( self
) /*GlobalAnalysis::_compiled_classes*/;
83 val_t
compiling_global___GlobalAnalysis___module(val_t self
) {
84 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 59, LOCATE_compiling_global___GlobalAnalysis___module
};
85 trace
.prev
= tracehead
; tracehead
= &trace
;
86 tracehead
= trace
.prev
;
87 return ATTR_compiling_global___GlobalAnalysis____module( self
) /*GlobalAnalysis::_module*/;
89 val_t
compiling_global___GlobalAnalysis___max_class_table_length(val_t self
) {
90 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 62, LOCATE_compiling_global___GlobalAnalysis___max_class_table_length
};
91 trace
.prev
= tracehead
; tracehead
= &trace
;
92 tracehead
= trace
.prev
;
93 return ATTR_compiling_global___GlobalAnalysis____max_class_table_length( self
) /*GlobalAnalysis::_max_class_table_length*/;
95 void compiling_global___GlobalAnalysis___max_class_table_length__eq(val_t self
, val_t param0
) {
96 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 62, LOCATE_compiling_global___GlobalAnalysis___max_class_table_length__eq
};
97 trace
.prev
= tracehead
; tracehead
= &trace
;
98 ATTR_compiling_global___GlobalAnalysis____max_class_table_length( self
) /*GlobalAnalysis::_max_class_table_length*/ = param0
;
99 tracehead
= trace
.prev
;
102 void compiling_global___GlobalAnalysis___init(val_t self
, val_t param0
, int* init_table
) {
103 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 65, LOCATE_compiling_global___GlobalAnalysis___init
};
106 trace
.prev
= tracehead
; tracehead
= &trace
;
108 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_GlobalAnalysis
].i
]) return;
109 variable1
= NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
110 ATTR_compiling_global___GlobalAnalysis____compiled_classes( self
) /*GlobalAnalysis::_compiled_classes*/ = variable1
;
111 ATTR_compiling_global___GlobalAnalysis____module( self
) /*GlobalAnalysis::_module*/ = variable0
/*module*/;
112 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_GlobalAnalysis
].i
] = 1;
113 tracehead
= trace
.prev
;
116 val_t
compiling_global___CompilerVisitor___global_analysis(val_t self
) {
117 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 73, LOCATE_compiling_global___CompilerVisitor___global_analysis
};
118 trace
.prev
= tracehead
; tracehead
= &trace
;
119 tracehead
= trace
.prev
;
120 return ATTR_compiling_global___CompilerVisitor____global_analysis( self
) /*CompilerVisitor::_global_analysis*/;
122 void compiling_global___CompilerVisitor___global_analysis__eq(val_t self
, val_t param0
) {
123 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 73, LOCATE_compiling_global___CompilerVisitor___global_analysis__eq
};
124 trace
.prev
= tracehead
; tracehead
= &trace
;
125 ATTR_compiling_global___CompilerVisitor____global_analysis( self
) /*CompilerVisitor::_global_analysis*/ = param0
;
126 tracehead
= trace
.prev
;
129 val_t
compiling_global___CompiledClass___local_class(val_t self
) {
130 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 80, LOCATE_compiling_global___CompiledClass___local_class
};
131 trace
.prev
= tracehead
; tracehead
= &trace
;
132 tracehead
= trace
.prev
;
133 return ATTR_compiling_global___CompiledClass____local_class( self
) /*CompiledClass::_local_class*/;
135 val_t
compiling_global___CompiledClass___id(val_t self
) {
136 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 83, LOCATE_compiling_global___CompiledClass___id
};
137 trace
.prev
= tracehead
; tracehead
= &trace
;
138 tracehead
= trace
.prev
;
139 return ATTR_compiling_global___CompiledClass____id( self
) /*CompiledClass::_id*/;
141 void compiling_global___CompiledClass___id__eq(val_t self
, val_t param0
) {
142 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 83, LOCATE_compiling_global___CompiledClass___id__eq
};
143 trace
.prev
= tracehead
; tracehead
= &trace
;
144 ATTR_compiling_global___CompiledClass____id( self
) /*CompiledClass::_id*/ = param0
;
145 tracehead
= trace
.prev
;
148 val_t
compiling_global___CompiledClass___class_table(val_t self
) {
149 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 86, LOCATE_compiling_global___CompiledClass___class_table
};
150 trace
.prev
= tracehead
; tracehead
= &trace
;
151 tracehead
= trace
.prev
;
152 return ATTR_compiling_global___CompiledClass____class_table( self
) /*CompiledClass::_class_table*/;
154 void compiling_global___CompiledClass___class_table__eq(val_t self
, val_t param0
) {
155 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 86, LOCATE_compiling_global___CompiledClass___class_table__eq
};
156 trace
.prev
= tracehead
; tracehead
= &trace
;
157 ATTR_compiling_global___CompiledClass____class_table( self
) /*CompiledClass::_class_table*/ = param0
;
158 tracehead
= trace
.prev
;
161 val_t
compiling_global___CompiledClass___instance_table(val_t self
) {
162 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 89, LOCATE_compiling_global___CompiledClass___instance_table
};
163 trace
.prev
= tracehead
; tracehead
= &trace
;
164 tracehead
= trace
.prev
;
165 return ATTR_compiling_global___CompiledClass____instance_table( self
) /*CompiledClass::_instance_table*/;
167 void compiling_global___CompiledClass___instance_table__eq(val_t self
, val_t param0
) {
168 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 89, LOCATE_compiling_global___CompiledClass___instance_table__eq
};
169 trace
.prev
= tracehead
; tracehead
= &trace
;
170 ATTR_compiling_global___CompiledClass____instance_table( self
) /*CompiledClass::_instance_table*/ = param0
;
171 tracehead
= trace
.prev
;
174 val_t
compiling_global___CompiledClass___class_layout(val_t self
) {
175 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 92, LOCATE_compiling_global___CompiledClass___class_layout
};
176 trace
.prev
= tracehead
; tracehead
= &trace
;
177 tracehead
= trace
.prev
;
178 return ATTR_compiling_global___CompiledClass____class_layout( self
) /*CompiledClass::_class_layout*/;
180 void compiling_global___CompiledClass___class_layout__eq(val_t self
, val_t param0
) {
181 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 92, LOCATE_compiling_global___CompiledClass___class_layout__eq
};
182 trace
.prev
= tracehead
; tracehead
= &trace
;
183 ATTR_compiling_global___CompiledClass____class_layout( self
) /*CompiledClass::_class_layout*/ = param0
;
184 tracehead
= trace
.prev
;
187 val_t
compiling_global___CompiledClass___instance_layout(val_t self
) {
188 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 95, LOCATE_compiling_global___CompiledClass___instance_layout
};
189 trace
.prev
= tracehead
; tracehead
= &trace
;
190 tracehead
= trace
.prev
;
191 return ATTR_compiling_global___CompiledClass____instance_layout( self
) /*CompiledClass::_instance_layout*/;
193 void compiling_global___CompiledClass___instance_layout__eq(val_t self
, val_t param0
) {
194 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 95, LOCATE_compiling_global___CompiledClass___instance_layout__eq
};
195 trace
.prev
= tracehead
; tracehead
= &trace
;
196 ATTR_compiling_global___CompiledClass____instance_layout( self
) /*CompiledClass::_instance_layout*/ = param0
;
197 tracehead
= trace
.prev
;
200 void compiling_global___CompiledClass___init(val_t self
, val_t param0
, int* init_table
) {
201 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 98, LOCATE_compiling_global___CompiledClass___init
};
203 trace
.prev
= tracehead
; tracehead
= &trace
;
205 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_CompiledClass
].i
]) return;
206 ATTR_compiling_global___CompiledClass____local_class( self
) /*CompiledClass::_local_class*/ = variable0
/*c*/;
207 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_CompiledClass
].i
] = 1;
208 tracehead
= trace
.prev
;
211 val_t
compiling_global___MMGlobalProperty___pos_of(val_t self
) {
212 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 102, LOCATE_compiling_global___MMGlobalProperty___pos_of
};
213 trace
.prev
= tracehead
; tracehead
= &trace
;
214 tracehead
= trace
.prev
;
215 return ATTR_compiling_global___MMGlobalProperty____pos_of( self
) /*MMGlobalProperty::_pos_of*/;
217 void compiling_global___MMGlobalProperty___pos_of__eq(val_t self
, val_t param0
) {
218 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 102, LOCATE_compiling_global___MMGlobalProperty___pos_of__eq
};
219 trace
.prev
= tracehead
; tracehead
= &trace
;
220 ATTR_compiling_global___MMGlobalProperty____pos_of( self
) /*MMGlobalProperty::_pos_of*/ = param0
;
221 tracehead
= trace
.prev
;
224 val_t
compiling_global___MMSrcLocalClass___base_attr_pos(val_t self
) {
225 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 108, LOCATE_compiling_global___MMSrcLocalClass___base_attr_pos
};
226 trace
.prev
= tracehead
; tracehead
= &trace
;
227 tracehead
= trace
.prev
;
228 return ATTR_compiling_global___MMSrcLocalClass____base_attr_pos( self
) /*MMSrcLocalClass::_base_attr_pos*/;
230 val_t
compiling_global___MMSrcLocalClass___class_color_pos(val_t self
) {
231 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 111, LOCATE_compiling_global___MMSrcLocalClass___class_color_pos
};
232 trace
.prev
= tracehead
; tracehead
= &trace
;
233 tracehead
= trace
.prev
;
234 return ATTR_compiling_global___MMSrcLocalClass____class_color_pos( self
) /*MMSrcLocalClass::_class_color_pos*/;
236 val_t
compiling_global___MMSrcLocalClass___class_layout(val_t self
) {
237 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 114, LOCATE_compiling_global___MMSrcLocalClass___class_layout
};
238 trace
.prev
= tracehead
; tracehead
= &trace
;
239 tracehead
= trace
.prev
;
240 return ATTR_compiling_global___MMSrcLocalClass____class_layout( self
) /*MMSrcLocalClass::_class_layout*/;
242 val_t
compiling_global___MMSrcLocalClass___instance_layout(val_t self
) {
243 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 117, LOCATE_compiling_global___MMSrcLocalClass___instance_layout
};
244 trace
.prev
= tracehead
; tracehead
= &trace
;
245 tracehead
= trace
.prev
;
246 return ATTR_compiling_global___MMSrcLocalClass____instance_layout( self
) /*MMSrcLocalClass::_instance_layout*/;
248 void compiling_global___MMSrcLocalClass___build_layout_in(val_t self
, val_t param0
, val_t param1
) {
249 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 120, LOCATE_compiling_global___MMSrcLocalClass___build_layout_in
};
261 trace
.prev
= tracehead
; tracehead
= &trace
;
264 variable3
= NEW_array___Array___init(); /*new Array[E]*/
265 variable2
= variable3
;
266 variable4
= NEW_array___Array___init(); /*new Array[E]*/
267 variable3
= variable4
;
268 variable5
= NEW_array___Array___init(); /*new Array[E]*/
269 variable4
= variable5
;
270 ATTR_compiling_global___MMSrcLocalClass____class_layout( self
) /*MMSrcLocalClass::_class_layout*/ = variable4
/*clt*/;
271 variable6
= NEW_array___Array___init(); /*new Array[E]*/
272 variable5
= variable6
;
273 ATTR_compiling_global___MMSrcLocalClass____instance_layout( self
) /*MMSrcLocalClass::_instance_layout*/ = variable5
/*ilt*/;
274 variable6
= ((abstractmetamodel___MMLocalClass___global_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass___global
))( self
) /*MMLocalClass::global*/;
275 variable6
= ((abstractmetamodel___MMGlobalClass___intro_t
)CALL(variable6
,COLOR_abstractmetamodel___MMGlobalClass___intro
))(variable6
) /*MMGlobalClass::intro*/;
276 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
) /*Object::==*/)))));
277 if (UNTAG_Bool(variable6
)) { /*if*/
278 variable6
= NEW_compiling_global___TableEltClassIdPos___init( self
); /*new TableEltClassIdPos*/
279 ((array___AbstractArray___add_t
)CALL( variable1
/*module_table*/,COLOR_abstract_collection___SimpleCollection___add
))( variable1
/*module_table*/, variable6
) /*AbstractArray::add*/;
280 variable6
= NEW_compiling_global___TableEltClassColorPos___init( self
); /*new TableEltClassColorPos*/
281 ATTR_compiling_global___MMSrcLocalClass____class_color_pos( self
) /*MMSrcLocalClass::_class_color_pos*/ = variable6
;
282 variable6
= ATTR_compiling_global___MMSrcLocalClass____class_color_pos( self
) /*MMSrcLocalClass::_class_color_pos*/;
283 ((array___AbstractArray___add_t
)CALL( variable1
/*module_table*/,COLOR_abstract_collection___SimpleCollection___add
))( variable1
/*module_table*/, variable6
) /*AbstractArray::add*/;
284 variable6
= NEW_compiling_global___TableEltClassInitTablePos___init( self
); /*new TableEltClassInitTablePos*/
285 ((array___AbstractArray___add_t
)CALL( variable4
/*clt*/,COLOR_abstract_collection___SimpleCollection___add
))( variable4
/*clt*/, variable6
) /*AbstractArray::add*/;
287 variable6
= ((syntax_base___MMSrcLocalClass___src_local_properties_t
)CALL( self
,COLOR_syntax_base___MMSrcLocalClass___src_local_properties
))( self
) /*MMSrcLocalClass::src_local_properties*/;
288 variable6
= ((abstract_collection___Map___iterator_t
)CALL(variable6
,COLOR_abstract_collection___Collection___iterator
))(variable6
) /*Map::iterator*/;
289 while (true) { /*for*/
290 variable7
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable6
,COLOR_abstract_collection___Iterator___is_ok
))(variable6
) /*Iterator::is_ok*/;
291 if (!UNTAG_Bool(variable7
)) break; /*for*/
292 variable7
= ((abstract_collection___Iterator___item_t
)CALL(variable6
,COLOR_abstract_collection___Iterator___item
))(variable6
) /*Iterator::item*/;
293 variable9
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable7
/*p*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable7
/*p*/) /*MMLocalProperty::global*/;
294 variable8
= variable9
;
295 variable9
= ((abstractmetamodel___MMGlobalProperty___intro_t
)CALL( variable8
/*pg*/,COLOR_abstractmetamodel___MMGlobalProperty___intro
))( variable8
/*pg*/) /*MMGlobalProperty::intro*/;
296 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*/) /*Object::==*/)))));
297 if (UNTAG_Bool(variable9
)) { /*if*/
298 variable9
= TAG_Bool(( variable7
/*p*/==NIT_NULL
) || VAL_ISA( variable7
/*p*/, COLOR_MMSrcAttribute
, ID_MMSrcAttribute
)) /*cast MMSrcAttribute*/;
299 if (UNTAG_Bool(variable9
)) { /*if*/
300 variable9
= ((array___AbstractArray___length_t
)CALL( variable3
/*intro_attributes*/,COLOR_abstract_collection___Collection___length
))( variable3
/*intro_attributes*/) /*AbstractArray::length*/;
301 ((compiling_global___MMGlobalProperty___pos_of__eq_t
)CALL( variable8
/*pg*/,COLOR_compiling_global___MMGlobalProperty___pos_of__eq
))( variable8
/*pg*/, variable9
) /*MMGlobalProperty::pos_of=*/;
302 ((array___AbstractArray___add_t
)CALL( variable3
/*intro_attributes*/,COLOR_abstract_collection___SimpleCollection___add
))( variable3
/*intro_attributes*/, variable8
/*pg*/) /*AbstractArray::add*/;
303 variable9
= NEW_compiling_global___TableEltAttrPos___init( variable7
/*p*/); /*new TableEltAttrPos*/
304 ((array___AbstractArray___add_t
)CALL( variable5
/*ilt*/,COLOR_abstract_collection___SimpleCollection___add
))( variable5
/*ilt*/, variable9
) /*AbstractArray::add*/;
306 variable9
= TAG_Bool(( variable7
/*p*/==NIT_NULL
) || VAL_ISA( variable7
/*p*/, COLOR_MMSrcMethod
, ID_MMSrcMethod
)) /*cast MMSrcMethod*/;
307 if (UNTAG_Bool(variable9
)) { /*if*/
308 variable9
= ((array___AbstractArray___length_t
)CALL( variable2
/*intro_methods*/,COLOR_abstract_collection___Collection___length
))( variable2
/*intro_methods*/) /*AbstractArray::length*/;
309 ((compiling_global___MMGlobalProperty___pos_of__eq_t
)CALL( variable8
/*pg*/,COLOR_compiling_global___MMGlobalProperty___pos_of__eq
))( variable8
/*pg*/, variable9
) /*MMGlobalProperty::pos_of=*/;
310 ((array___AbstractArray___add_t
)CALL( variable2
/*intro_methods*/,COLOR_abstract_collection___SimpleCollection___add
))( variable2
/*intro_methods*/, variable8
/*pg*/) /*AbstractArray::add*/;
311 variable9
= NEW_compiling_global___TableEltMethPos___init( variable7
/*p*/); /*new TableEltMethPos*/
312 ((array___AbstractArray___add_t
)CALL( variable4
/*clt*/,COLOR_abstract_collection___SimpleCollection___add
))( variable4
/*clt*/, variable9
) /*AbstractArray::add*/;
316 variable9
= TAG_Bool(( variable7
/*p*/==NIT_NULL
) || VAL_ISA( variable7
/*p*/, COLOR_MMSrcMethod
, ID_MMSrcMethod
)) /*cast MMSrcMethod*/;
317 variable10
= variable9
;
318 if (UNTAG_Bool(variable10
)) { /* and */
319 variable10
= ((abstractmetamodel___MMLocalProperty___need_super_t
)CALL( variable7
/*p*/,COLOR_abstractmetamodel___MMLocalProperty___need_super
))( variable7
/*p*/) /*MMLocalProperty::need_super*/;
321 variable9
= variable10
;
322 if (UNTAG_Bool(variable9
)) { /*if*/
323 variable9
= NEW_compiling_global___TableEltSuperPos___init( variable7
/*p*/); /*new TableEltSuperPos*/
324 ((array___AbstractArray___add_t
)CALL( variable4
/*clt*/,COLOR_abstract_collection___SimpleCollection___add
))( variable4
/*clt*/, variable9
) /*AbstractArray::add*/;
326 continue_7
: while(0);
327 ((abstract_collection___Iterator___next_t
)CALL(variable6
,COLOR_abstract_collection___Iterator___next
))(variable6
) /*Iterator::next*/;
330 variable6
= ((compiling_base___ToolContext___attr_sim_t
)CALL( variable0
/*tc*/,COLOR_compiling_base___ToolContext___attr_sim
))( variable0
/*tc*/) /*ToolContext::attr_sim*/;
331 variable7
= variable6
;
332 if (UNTAG_Bool(variable7
)) { /* and */
333 variable7
= ((array___AbstractArray___is_empty_t
)CALL( variable3
/*intro_attributes*/,COLOR_abstract_collection___Collection___is_empty
))( variable3
/*intro_attributes*/) /*AbstractArray::is_empty*/;
334 variable7
= TAG_Bool(!UNTAG_Bool(variable7
));
336 variable6
= variable7
;
337 if (UNTAG_Bool(variable6
)) { /*if*/
338 variable6
= NEW_compiling_global___TableEltBaseAttrPos___init( self
); /*new TableEltBaseAttrPos*/
339 ATTR_compiling_global___MMSrcLocalClass____base_attr_pos( self
) /*MMSrcLocalClass::_base_attr_pos*/ = variable6
;
340 variable6
= ATTR_compiling_global___MMSrcLocalClass____base_attr_pos( self
) /*MMSrcLocalClass::_base_attr_pos*/;
341 ((array___AbstractArray___add_t
)CALL( variable4
/*clt*/,COLOR_abstract_collection___SimpleCollection___add
))( variable4
/*clt*/, variable6
) /*AbstractArray::add*/;
343 ((abstract_collection___IndexedCollection___append_t
)CALL( variable1
/*module_table*/,COLOR_abstract_collection___IndexedCollection___append
))( variable1
/*module_table*/, variable5
/*ilt*/) /*IndexedCollection::append*/;
345 ((abstract_collection___IndexedCollection___append_t
)CALL( variable1
/*module_table*/,COLOR_abstract_collection___IndexedCollection___append
))( variable1
/*module_table*/, variable4
/*clt*/) /*IndexedCollection::append*/;
346 tracehead
= trace
.prev
;
349 void compiling_global___MMSrcModule___local_analysis(val_t self
, val_t param0
) {
350 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 168, LOCATE_compiling_global___MMSrcModule___local_analysis
};
355 trace
.prev
= tracehead
; tracehead
= &trace
;
357 variable2
= NEW_array___Array___init(); /*new Array[E]*/
358 variable1
= variable2
;
359 ATTR_compiling_global___MMSrcModule____local_table( self
) /*MMSrcModule::_local_table*/ = variable1
/*lt*/;
360 variable2
= ((syntax_base___MMSrcModule___src_local_classes_t
)CALL( self
,COLOR_syntax_base___MMSrcModule___src_local_classes
))( self
) /*MMSrcModule::src_local_classes*/;
361 variable2
= ((abstract_collection___Map___iterator_t
)CALL(variable2
,COLOR_abstract_collection___Collection___iterator
))(variable2
) /*Map::iterator*/;
362 while (true) { /*for*/
363 variable3
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___is_ok
))(variable2
) /*Iterator::is_ok*/;
364 if (!UNTAG_Bool(variable3
)) break; /*for*/
365 variable3
= ((abstract_collection___Iterator___item_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___item
))(variable2
) /*Iterator::item*/;
366 ((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*/;
367 continue_9
: while(0);
368 ((abstract_collection___Iterator___next_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___next
))(variable2
) /*Iterator::next*/;
371 tracehead
= trace
.prev
;
374 val_t
compiling_global___MMSrcModule___global_analysis(val_t self
, val_t param0
) {
375 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 178, LOCATE_compiling_global___MMSrcModule___global_analysis
};
397 trace
.prev
= tracehead
; tracehead
= &trace
;
399 variable2
= NEW_compiling_global___GlobalAnalysis___init( self
); /*new GlobalAnalysis*/
400 variable1
= variable2
;
401 variable3
= NEW_array___Array___init(); /*new Array[E]*/
402 variable2
= variable3
;
403 variable4
= NEW_hash___HashSet___init(); /*new HashSet[E]*/
404 variable3
= variable4
;
405 variable5
= NEW_array___Array___init(); /*new Array[E]*/
406 variable4
= variable5
;
407 variable6
= NEW_array___Array___init(); /*new Array[E]*/
408 variable5
= variable6
;
409 variable6
= NEW_compiling_global___TableEltClassSelfId___init(); /*new TableEltClassSelfId*/
410 ((array___AbstractArray___add_t
)CALL( variable4
/*ctab*/,COLOR_abstract_collection___SimpleCollection___add
))( variable4
/*ctab*/, variable6
) /*AbstractArray::add*/;
411 variable6
= NEW_compiling_global___TableEltVftPointer___init(); /*new TableEltVftPointer*/
412 ((array___AbstractArray___add_t
)CALL( variable5
/*itab*/,COLOR_abstract_collection___SimpleCollection___add
))( variable5
/*itab*/, variable6
) /*AbstractArray::add*/;
413 variable7
= TAG_Int(-UNTAG_Int( TAG_Int(1)));
414 variable6
= variable7
;
415 variable7
= TAG_Int(3);
416 variable9
= NEW_array___Array___init(); /*new Array[E]*/
417 variable8
= variable9
;
418 variable9
= ((abstractmetamodel___MMModule___local_classes_t
)CALL( self
,COLOR_abstractmetamodel___MMModule___local_classes
))( self
) /*MMModule::local_classes*/;
419 variable9
= ((array___AbstractArray___iterator_t
)CALL(variable9
,COLOR_abstract_collection___Collection___iterator
))(variable9
) /*AbstractArray::iterator*/;
420 while (true) { /*for*/
421 variable10
= ((array___ArrayIterator___is_ok_t
)CALL(variable9
,COLOR_abstract_collection___Iterator___is_ok
))(variable9
) /*ArrayIterator::is_ok*/;
422 if (!UNTAG_Bool(variable10
)) break; /*for*/
423 variable10
= ((array___ArrayIterator___item_t
)CALL(variable9
,COLOR_abstract_collection___Iterator___item
))(variable9
) /*ArrayIterator::item*/;
424 ((inheritance___MMLocalClass___compute_super_classes_t
)CALL( variable10
/*c*/,COLOR_inheritance___MMLocalClass___compute_super_classes
))( variable10
/*c*/) /*MMLocalClass::compute_super_classes*/;
425 ((array___AbstractArray___add_t
)CALL( variable8
/*classes*/,COLOR_abstract_collection___SimpleCollection___add
))( variable8
/*classes*/, variable10
/*c*/) /*AbstractArray::add*/;
426 continue_11
: while(0);
427 ((array___ArrayIterator___next_t
)CALL(variable9
,COLOR_abstract_collection___Iterator___next
))(variable9
) /*ArrayIterator::next*/;
430 variable9
= NEW_compiling_global___ClassSorter___init(); /*new ClassSorter*/
431 ((sorter___AbstractSorter___sort_t
)CALL(variable9
,COLOR_sorter___AbstractSorter___sort
))(variable9
, variable8
/*classes*/) /*AbstractSorter::sort*/;
432 variable9
= ((array___AbstractArray___iterator_t
)CALL( variable8
/*classes*/,COLOR_abstract_collection___Collection___iterator
))( variable8
/*classes*/) /*AbstractArray::iterator*/;
433 while (true) { /*for*/
434 variable10
= ((array___ArrayIterator___is_ok_t
)CALL(variable9
,COLOR_abstract_collection___Iterator___is_ok
))(variable9
) /*ArrayIterator::is_ok*/;
435 if (!UNTAG_Bool(variable10
)) break; /*for*/
436 variable10
= ((array___ArrayIterator___item_t
)CALL(variable9
,COLOR_abstract_collection___Iterator___item
))(variable9
) /*ArrayIterator::item*/;
437 ((inheritance___MMLocalClass___compute_ancestors_t
)CALL( variable10
/*c*/,COLOR_inheritance___MMLocalClass___compute_ancestors
))( variable10
/*c*/) /*MMLocalClass::compute_ancestors*/;
438 ((inheritance___MMLocalClass___inherit_global_properties_t
)CALL( variable10
/*c*/,COLOR_inheritance___MMLocalClass___inherit_global_properties
))( variable10
/*c*/) /*MMLocalClass::inherit_global_properties*/;
439 variable12
= NEW_compiling_global___CompiledClass___init( variable10
/*c*/); /*new CompiledClass*/
440 variable11
= variable12
;
441 variable12
= ((compiling_global___GlobalAnalysis___compiled_classes_t
)CALL( variable1
/*ga*/,COLOR_compiling_global___GlobalAnalysis___compiled_classes
))( variable1
/*ga*/) /*GlobalAnalysis::compiled_classes*/;
442 variable13
= ((abstractmetamodel___MMLocalClass___global_t
)CALL( variable10
/*c*/,COLOR_abstractmetamodel___MMLocalClass___global
))( variable10
/*c*/) /*MMLocalClass::global*/;
443 ((hash___HashMap_____braeq_t
)CALL(variable12
,COLOR_abstract_collection___Map_____braeq
))(variable12
, variable13
, variable11
/*cc*/) /*HashMap::[]=*/;
444 variable13
= ((abstractmetamodel___MMLocalClass___global_t
)CALL( variable10
/*c*/,COLOR_abstractmetamodel___MMLocalClass___global
))( variable10
/*c*/) /*MMLocalClass::global*/;
445 variable12
= variable13
;
446 variable14
= ((abstractmetamodel___MMGlobalClass___module_t
)CALL( variable12
/*gc*/,COLOR_abstractmetamodel___MMGlobalClass___module
))( variable12
/*gc*/) /*MMGlobalClass::module*/;
447 variable13
= variable14
;
448 variable14
= ((compiling_base___MMLocalClass___primitive_info_t
)CALL( variable10
/*c*/,COLOR_compiling_base___MMLocalClass___primitive_info
))( variable10
/*c*/) /*MMLocalClass::primitive_info*/;
449 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*/) /*Object::==*/)))))));
450 if (UNTAG_Bool(variable14
)) { /*if*/
451 ((compiling_global___CompiledClass___id__eq_t
)CALL( variable11
/*cc*/,COLOR_compiling_global___CompiledClass___id__eq
))( variable11
/*cc*/, variable6
/*pclassid*/) /*CompiledClass::id=*/;
452 variable14
= TAG_Int(UNTAG_Int( variable6
/*pclassid*/)-UNTAG_Int( TAG_Int(4)));
453 variable6
= variable14
/*pclassid=*/;
455 ((compiling_global___CompiledClass___id__eq_t
)CALL( variable11
/*cc*/,COLOR_compiling_global___CompiledClass___id__eq
))( variable11
/*cc*/, variable7
/*classid*/) /*CompiledClass::id=*/;
456 variable14
= TAG_Int(UNTAG_Int( variable7
/*classid*/)+UNTAG_Int( TAG_Int(4)));
457 variable7
= variable14
/*classid=*/;
459 variable14
= ((abstractmetamodel___MMLocalClass___cshe_t
)CALL( variable10
/*c*/,COLOR_abstractmetamodel___MMLocalClass___cshe
))( variable10
/*c*/) /*MMLocalClass::cshe*/;
460 variable14
= ((partial_order___PartialOrderElement___direct_smallers_t
)CALL(variable14
,COLOR_partial_order___PartialOrderElement___direct_smallers
))(variable14
) /*PartialOrderElement::direct_smallers*/;
461 variable14
= ((array___AbstractArray___is_empty_t
)CALL(variable14
,COLOR_abstract_collection___Collection___is_empty
))(variable14
) /*AbstractArray::is_empty*/;
462 if (UNTAG_Bool(variable14
)) { /*if*/
463 ((array___AbstractArray___add_t
)CALL( variable2
/*smallest_classes*/,COLOR_abstract_collection___SimpleCollection___add
))( variable2
/*smallest_classes*/, variable10
/*c*/) /*AbstractArray::add*/;
465 variable15
= ((abstractmetamodel___MMLocalClass___global_t
)CALL( variable10
/*c*/,COLOR_abstractmetamodel___MMLocalClass___global
))( variable10
/*c*/) /*MMLocalClass::global*/;
466 variable15
= ((abstractmetamodel___MMGlobalClass___intro_t
)CALL(variable15
,COLOR_abstractmetamodel___MMGlobalClass___intro
))(variable15
) /*MMGlobalClass::intro*/;
467 variable14
= variable15
;
468 variable15
= TAG_Bool(( variable14
/*bc*/==NIT_NULL
) || VAL_ISA( variable14
/*bc*/, COLOR_MMSrcLocalClass
, ID_MMSrcLocalClass
)) /*cast MMSrcLocalClass*/;
469 if (!UNTAG_Bool(variable15
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_compiling_global___MMSrcModule___global_analysis
, LOCATE_compiling_global
, 230); nit_exit(1);}
470 variable15
= ((compiling_global___MMSrcLocalClass___class_color_pos_t
)CALL( variable14
/*bc*/,COLOR_compiling_global___MMSrcLocalClass___class_color_pos
))( variable14
/*bc*/) /*MMSrcLocalClass::class_color_pos*/;
471 ((array___AbstractArray___add_t
)CALL( variable4
/*ctab*/,COLOR_abstract_collection___SimpleCollection___add
))( variable4
/*ctab*/, variable15
) /*AbstractArray::add*/;
472 continue_12
: while(0);
473 ((array___ArrayIterator___next_t
)CALL(variable9
,COLOR_abstract_collection___Iterator___next
))(variable9
) /*ArrayIterator::next*/;
476 variable10
= NEW_hash___HashSet___init(); /*new HashSet[E]*/
477 variable9
= variable10
;
478 variable11
= NEW_hash___HashSet___init(); /*new HashSet[E]*/
479 variable10
= variable11
;
480 variable11
= ((array___AbstractArray___iterator_t
)CALL( variable2
/*smallest_classes*/,COLOR_abstract_collection___Collection___iterator
))( variable2
/*smallest_classes*/) /*AbstractArray::iterator*/;
481 while (true) { /*for*/
482 variable12
= ((array___ArrayIterator___is_ok_t
)CALL(variable11
,COLOR_abstract_collection___Iterator___is_ok
))(variable11
) /*ArrayIterator::is_ok*/;
483 if (!UNTAG_Bool(variable12
)) break; /*for*/
484 variable12
= ((array___ArrayIterator___item_t
)CALL(variable11
,COLOR_abstract_collection___Iterator___item
))(variable11
) /*ArrayIterator::item*/;
485 while (true) { /*while*/
486 variable13
= ((abstractmetamodel___MMLocalClass___cshe_t
)CALL( variable12
/*c*/,COLOR_abstractmetamodel___MMLocalClass___cshe
))( variable12
/*c*/) /*MMLocalClass::cshe*/;
487 variable13
= ((partial_order___PartialOrderElement___direct_greaters_t
)CALL(variable13
,COLOR_partial_order___PartialOrderElement___direct_greaters
))(variable13
) /*PartialOrderElement::direct_greaters*/;
488 variable13
= ((array___AbstractArray___length_t
)CALL(variable13
,COLOR_abstract_collection___Collection___length
))(variable13
) /*AbstractArray::length*/;
489 variable13
= TAG_Bool((variable13
)==( TAG_Int(1)));
490 if (!UNTAG_Bool(variable13
)) break; /* while*/
491 variable13
= ((abstractmetamodel___MMLocalClass___cshe_t
)CALL( variable12
/*c*/,COLOR_abstractmetamodel___MMLocalClass___cshe
))( variable12
/*c*/) /*MMLocalClass::cshe*/;
492 variable13
= ((partial_order___PartialOrderElement___direct_greaters_t
)CALL(variable13
,COLOR_partial_order___PartialOrderElement___direct_greaters
))(variable13
) /*PartialOrderElement::direct_greaters*/;
493 variable13
= ((abstract_collection___IndexedCollection___first_t
)CALL(variable13
,COLOR_abstract_collection___Collection___first
))(variable13
) /*IndexedCollection::first*/;
494 variable12
= variable13
/*c=*/;
495 continue_14
: while(0);
498 ((hash___HashSet___add_t
)CALL( variable9
/*crown_classes*/,COLOR_abstract_collection___SimpleCollection___add
))( variable9
/*crown_classes*/, variable12
/*c*/) /*HashSet::add*/;
499 variable13
= ((abstractmetamodel___MMLocalClass___cshe_t
)CALL( variable12
/*c*/,COLOR_abstractmetamodel___MMLocalClass___cshe
))( variable12
/*c*/) /*MMLocalClass::cshe*/;
500 variable13
= ((partial_order___PartialOrderElement___greaters_and_self_t
)CALL(variable13
,COLOR_partial_order___PartialOrderElement___greaters_and_self
))(variable13
) /*PartialOrderElement::greaters_and_self*/;
501 ((abstract_collection___SimpleCollection___add_all_t
)CALL( variable10
/*core_classes*/,COLOR_abstract_collection___SimpleCollection___add_all
))( variable10
/*core_classes*/, variable13
) /*SimpleCollection::add_all*/;
502 continue_13
: while(0);
503 ((array___ArrayIterator___next_t
)CALL(variable11
,COLOR_abstract_collection___Iterator___next
))(variable11
) /*ArrayIterator::next*/;
506 ((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*/;
507 variable11
= TAG_Int(0);
508 variable12
= ((array___AbstractArray___iterator_t
)CALL( variable8
/*classes*/,COLOR_abstract_collection___Collection___iterator
))( variable8
/*classes*/) /*AbstractArray::iterator*/;
509 while (true) { /*for*/
510 variable13
= ((array___ArrayIterator___is_ok_t
)CALL(variable12
,COLOR_abstract_collection___Iterator___is_ok
))(variable12
) /*ArrayIterator::is_ok*/;
511 if (!UNTAG_Bool(variable13
)) break; /*for*/
512 variable13
= ((array___ArrayIterator___item_t
)CALL(variable12
,COLOR_abstract_collection___Iterator___item
))(variable12
) /*ArrayIterator::item*/;
513 variable15
= ((compiling_global___GlobalAnalysis___compiled_classes_t
)CALL( variable1
/*ga*/,COLOR_compiling_global___GlobalAnalysis___compiled_classes
))( variable1
/*ga*/) /*GlobalAnalysis::compiled_classes*/;
514 variable16
= ((abstractmetamodel___MMLocalClass___global_t
)CALL( variable13
/*c*/,COLOR_abstractmetamodel___MMLocalClass___global
))( variable13
/*c*/) /*MMLocalClass::global*/;
515 variable15
= ((abstract_collection___CoupleMap_____bra_t
)CALL(variable15
,COLOR_abstract_collection___Map_____bra
))(variable15
, variable16
) /*CoupleMap::[]*/;
516 variable14
= variable15
;
517 variable15
= ((hash___HashSet___has_t
)CALL( variable10
/*core_classes*/,COLOR_abstract_collection___Collection___has
))( variable10
/*core_classes*/, variable13
/*c*/) /*HashSet::has*/;
518 if (UNTAG_Bool(variable15
)) { /*if*/
519 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*/;
520 ((compiling_global___CompiledClass___class_table__eq_t
)CALL( variable14
/*cc*/,COLOR_compiling_global___CompiledClass___class_table__eq
))( variable14
/*cc*/, variable15
) /*CompiledClass::class_table=*/;
521 variable15
= ((compiling_global___CompiledClass___class_table_t
)CALL( variable14
/*cc*/,COLOR_compiling_global___CompiledClass___class_table
))( variable14
/*cc*/) /*CompiledClass::class_table*/;
522 variable15
= ((array___AbstractArray___length_t
)CALL(variable15
,COLOR_abstract_collection___Collection___length
))(variable15
) /*AbstractArray::length*/;
523 variable15
= TAG_Bool(UNTAG_Int( variable11
/*maxcolor*/)<UNTAG_Int(variable15
));
524 if (UNTAG_Bool(variable15
)) { /*if*/
525 variable15
= ((compiling_global___CompiledClass___class_table_t
)CALL( variable14
/*cc*/,COLOR_compiling_global___CompiledClass___class_table
))( variable14
/*cc*/) /*CompiledClass::class_table*/;
526 variable15
= ((array___AbstractArray___length_t
)CALL(variable15
,COLOR_abstract_collection___Collection___length
))(variable15
) /*AbstractArray::length*/;
527 variable11
= variable15
/*maxcolor=*/;
530 variable16
= ((abstractmetamodel___MMLocalClass___cshe_t
)CALL( variable13
/*c*/,COLOR_abstractmetamodel___MMLocalClass___cshe
))( variable13
/*c*/) /*MMLocalClass::cshe*/;
531 variable16
= ((partial_order___PartialOrderElement___direct_greaters_t
)CALL(variable16
,COLOR_partial_order___PartialOrderElement___direct_greaters
))(variable16
) /*PartialOrderElement::direct_greaters*/;
532 variable16
= ((abstract_collection___IndexedCollection___first_t
)CALL(variable16
,COLOR_abstract_collection___Collection___first
))(variable16
) /*IndexedCollection::first*/;
533 variable15
= variable16
;
534 variable17
= ((compiling_global___GlobalAnalysis___compiled_classes_t
)CALL( variable1
/*ga*/,COLOR_compiling_global___GlobalAnalysis___compiled_classes
))( variable1
/*ga*/) /*GlobalAnalysis::compiled_classes*/;
535 variable18
= ((abstractmetamodel___MMLocalClass___global_t
)CALL( variable15
/*sc*/,COLOR_abstractmetamodel___MMLocalClass___global
))( variable15
/*sc*/) /*MMLocalClass::global*/;
536 variable17
= ((abstract_collection___CoupleMap_____bra_t
)CALL(variable17
,COLOR_abstract_collection___Map_____bra
))(variable17
, variable18
) /*CoupleMap::[]*/;
537 variable16
= variable17
;
538 variable17
= ((compiling_global___CompiledClass___class_table_t
)CALL( variable16
/*scc*/,COLOR_compiling_global___CompiledClass___class_table
))( variable16
/*scc*/) /*CompiledClass::class_table*/;
539 variable17
= ((array___Collection___to_a_t
)CALL(variable17
,COLOR_array___Collection___to_a
))(variable17
) /*Collection::to_a*/;
540 ((compiling_global___CompiledClass___class_table__eq_t
)CALL( variable14
/*cc*/,COLOR_compiling_global___CompiledClass___class_table__eq
))( variable14
/*cc*/, variable17
) /*CompiledClass::class_table=*/;
541 variable18
= ((abstractmetamodel___MMLocalClass___global_t
)CALL( variable13
/*c*/,COLOR_abstractmetamodel___MMLocalClass___global
))( variable13
/*c*/) /*MMLocalClass::global*/;
542 variable18
= ((abstractmetamodel___MMGlobalClass___intro_t
)CALL(variable18
,COLOR_abstractmetamodel___MMGlobalClass___intro
))(variable18
) /*MMGlobalClass::intro*/;
543 variable17
= variable18
;
544 variable18
= TAG_Bool(( variable17
/*bc*/==NIT_NULL
) || VAL_ISA( variable17
/*bc*/, COLOR_MMSrcLocalClass
, ID_MMSrcLocalClass
)) /*cast MMSrcLocalClass*/;
545 if (!UNTAG_Bool(variable18
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_compiling_global___MMSrcModule___global_analysis
, LOCATE_compiling_global
, 263); nit_exit(1);}
546 variable19
= ((compiling_global___MMSrcLocalClass___class_color_pos_t
)CALL( variable17
/*bc*/,COLOR_compiling_global___MMSrcLocalClass___class_color_pos
))( variable17
/*bc*/) /*MMSrcLocalClass::class_color_pos*/;
547 variable18
= variable19
;
548 variable20
= ((compiling_global___CompiledClass___class_table_t
)CALL( variable14
/*cc*/,COLOR_compiling_global___CompiledClass___class_table
))( variable14
/*cc*/) /*CompiledClass::class_table*/;
549 variable20
= ((array___AbstractArray___length_t
)CALL(variable20
,COLOR_abstract_collection___Collection___length
))(variable20
) /*AbstractArray::length*/;
550 variable19
= variable20
;
551 ((compiling_global___ColorContext___color__eq_t
)CALL( variable1
/*ga*/,COLOR_compiling_global___ColorContext___color__eq
))( variable1
/*ga*/, variable18
/*colpos*/, variable19
/*colposcolor*/) /*ColorContext::color=*/;
552 variable20
= ((compiling_global___CompiledClass___class_table_t
)CALL( variable14
/*cc*/,COLOR_compiling_global___CompiledClass___class_table
))( variable14
/*cc*/) /*CompiledClass::class_table*/;
553 ((array___AbstractArray___add_t
)CALL(variable20
,COLOR_abstract_collection___SimpleCollection___add
))(variable20
, variable18
/*colpos*/) /*AbstractArray::add*/;
554 variable20
= TAG_Bool(UNTAG_Int( variable11
/*maxcolor*/)<UNTAG_Int( variable19
/*colposcolor*/));
555 if (UNTAG_Bool(variable20
)) { /*if*/
556 variable11
= variable19
/*colposcolor*/ /*maxcolor=*/;
559 continue_15
: while(0);
560 ((array___ArrayIterator___next_t
)CALL(variable12
,COLOR_abstract_collection___Iterator___next
))(variable12
) /*ArrayIterator::next*/;
563 variable12
= TAG_Int(UNTAG_Int( variable11
/*maxcolor*/)+UNTAG_Int( TAG_Int(1)));
564 ((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=*/;
565 variable12
= ((array___AbstractArray___iterator_t
)CALL( variable8
/*classes*/,COLOR_abstract_collection___Collection___iterator
))( variable8
/*classes*/) /*AbstractArray::iterator*/;
566 while (true) { /*for*/
567 variable13
= ((array___ArrayIterator___is_ok_t
)CALL(variable12
,COLOR_abstract_collection___Iterator___is_ok
))(variable12
) /*ArrayIterator::is_ok*/;
568 if (!UNTAG_Bool(variable13
)) break; /*for*/
569 variable13
= ((array___ArrayIterator___item_t
)CALL(variable12
,COLOR_abstract_collection___Iterator___item
))(variable12
) /*ArrayIterator::item*/;
570 variable15
= ((compiling_global___GlobalAnalysis___compiled_classes_t
)CALL( variable1
/*ga*/,COLOR_compiling_global___GlobalAnalysis___compiled_classes
))( variable1
/*ga*/) /*GlobalAnalysis::compiled_classes*/;
571 variable16
= ((abstractmetamodel___MMLocalClass___global_t
)CALL( variable13
/*c*/,COLOR_abstractmetamodel___MMLocalClass___global
))( variable13
/*c*/) /*MMLocalClass::global*/;
572 variable15
= ((abstract_collection___CoupleMap_____bra_t
)CALL(variable15
,COLOR_abstract_collection___Map_____bra
))(variable15
, variable16
) /*CoupleMap::[]*/;
573 variable14
= variable15
;
574 variable16
= NEW_compiling_global___TableEltComposite___init( variable14
/*cc*/); /*new TableEltComposite*/
575 variable15
= variable16
;
576 variable17
= NEW_compiling_global___TableEltComposite___init( variable14
/*cc*/); /*new TableEltComposite*/
577 variable16
= variable17
;
578 variable17
= ((abstractmetamodel___MMLocalClass___crhe_t
)CALL( variable13
/*c*/,COLOR_abstractmetamodel___MMLocalClass___crhe
))( variable13
/*c*/) /*MMLocalClass::crhe*/;
579 variable17
= ((partial_order___PartialOrderElement___greaters_and_self_t
)CALL(variable17
,COLOR_partial_order___PartialOrderElement___greaters_and_self
))(variable17
) /*PartialOrderElement::greaters_and_self*/;
580 variable17
= ((abstract_collection___Collection___iterator_t
)CALL(variable17
,COLOR_abstract_collection___Collection___iterator
))(variable17
) /*Collection::iterator*/;
581 while (true) { /*for*/
582 variable18
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable17
,COLOR_abstract_collection___Iterator___is_ok
))(variable17
) /*Iterator::is_ok*/;
583 if (!UNTAG_Bool(variable18
)) break; /*for*/
584 variable18
= ((abstract_collection___Iterator___item_t
)CALL(variable17
,COLOR_abstract_collection___Iterator___item
))(variable17
) /*Iterator::item*/;
585 variable19
= TAG_Bool(( variable18
/*sc*/==NIT_NULL
) || VAL_ISA( variable18
/*sc*/, COLOR_MMSrcLocalClass
, ID_MMSrcLocalClass
)) /*cast MMSrcLocalClass*/;
586 if (UNTAG_Bool(variable19
)) { /*if*/
587 variable19
= ((compiling_global___MMSrcLocalClass___class_layout_t
)CALL( variable18
/*sc*/,COLOR_compiling_global___MMSrcLocalClass___class_layout
))( variable18
/*sc*/) /*MMSrcLocalClass::class_layout*/;
588 ((compiling_global___TableEltComposite___add_t
)CALL( variable15
/*cte*/,COLOR_compiling_global___TableEltComposite___add
))( variable15
/*cte*/, variable18
/*sc*/, variable19
) /*TableEltComposite::add*/;
589 variable19
= ((compiling_global___MMSrcLocalClass___instance_layout_t
)CALL( variable18
/*sc*/,COLOR_compiling_global___MMSrcLocalClass___instance_layout
))( variable18
/*sc*/) /*MMSrcLocalClass::instance_layout*/;
590 ((compiling_global___TableEltComposite___add_t
)CALL( variable16
/*ite*/,COLOR_compiling_global___TableEltComposite___add
))( variable16
/*ite*/, variable18
/*sc*/, variable19
) /*TableEltComposite::add*/;
592 ((compiling_global___CompiledClass___class_layout__eq_t
)CALL( variable14
/*cc*/,COLOR_compiling_global___CompiledClass___class_layout__eq
))( variable14
/*cc*/, variable15
/*cte*/) /*CompiledClass::class_layout=*/;
593 ((compiling_global___CompiledClass___instance_layout__eq_t
)CALL( variable14
/*cc*/,COLOR_compiling_global___CompiledClass___instance_layout__eq
))( variable14
/*cc*/, variable16
/*ite*/) /*CompiledClass::instance_layout=*/;
594 continue_17
: while(0);
595 ((abstract_collection___Iterator___next_t
)CALL(variable17
,COLOR_abstract_collection___Iterator___next
))(variable17
) /*Iterator::next*/;
598 variable17
= ((hash___HashSet___has_t
)CALL( variable10
/*core_classes*/,COLOR_abstract_collection___Collection___has
))( variable10
/*core_classes*/, variable13
/*c*/) /*HashSet::has*/;
599 if (UNTAG_Bool(variable17
)) { /*if*/
600 variable17
= ((compiling_global___TableEltComposite___length_t
)CALL( variable15
/*cte*/,COLOR_compiling_global___TableElt___length
))( variable15
/*cte*/) /*TableEltComposite::length*/;
601 variable17
= TAG_Bool(UNTAG_Int(variable17
)>UNTAG_Int( TAG_Int(0)));
602 if (UNTAG_Bool(variable17
)) { /*if*/
603 ((array___AbstractArray___add_t
)CALL( variable4
/*ctab*/,COLOR_abstract_collection___SimpleCollection___add
))( variable4
/*ctab*/, variable15
/*cte*/) /*AbstractArray::add*/;
605 variable17
= ((compiling_base___ToolContext___attr_sim_t
)CALL( variable0
/*cctx*/,COLOR_compiling_base___ToolContext___attr_sim
))( variable0
/*cctx*/) /*ToolContext::attr_sim*/;
606 variable17
= TAG_Bool(!UNTAG_Bool(variable17
));
607 if (UNTAG_Bool(variable17
)) { /* and */
608 variable17
= ((compiling_global___TableEltComposite___length_t
)CALL( variable16
/*ite*/,COLOR_compiling_global___TableElt___length
))( variable16
/*ite*/) /*TableEltComposite::length*/;
609 variable17
= TAG_Bool(UNTAG_Int(variable17
)>UNTAG_Int( TAG_Int(0)));
611 if (UNTAG_Bool(variable17
)) { /*if*/
612 ((array___AbstractArray___add_t
)CALL( variable5
/*itab*/,COLOR_abstract_collection___SimpleCollection___add
))( variable5
/*itab*/, variable16
/*ite*/) /*AbstractArray::add*/;
615 continue_16
: while(0);
616 ((array___ArrayIterator___next_t
)CALL(variable12
,COLOR_abstract_collection___Iterator___next
))(variable12
) /*ArrayIterator::next*/;
619 variable12
= TAG_Int(UNTAG_Int( variable11
/*maxcolor*/)+UNTAG_Int( TAG_Int(1)));
620 ((compiling_global___MMSrcModule___colorize_t
)CALL( self
,COLOR_compiling_global___MMSrcModule___colorize
))( self
, variable1
/*ga*/, variable4
/*ctab*/, variable9
/*crown_classes*/, variable12
) /*MMSrcModule::colorize*/;
621 ((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*/;
622 ((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=*/;
623 variable12
= ((array___AbstractArray___iterator_t
)CALL( variable8
/*classes*/,COLOR_abstract_collection___Collection___iterator
))( variable8
/*classes*/) /*AbstractArray::iterator*/;
624 while (true) { /*for*/
625 variable13
= ((array___ArrayIterator___is_ok_t
)CALL(variable12
,COLOR_abstract_collection___Iterator___is_ok
))(variable12
) /*ArrayIterator::is_ok*/;
626 if (!UNTAG_Bool(variable13
)) break; /*for*/
627 variable13
= ((array___ArrayIterator___item_t
)CALL(variable12
,COLOR_abstract_collection___Iterator___item
))(variable12
) /*ArrayIterator::item*/;
628 variable15
= ((compiling_global___GlobalAnalysis___compiled_classes_t
)CALL( variable1
/*ga*/,COLOR_compiling_global___GlobalAnalysis___compiled_classes
))( variable1
/*ga*/) /*GlobalAnalysis::compiled_classes*/;
629 variable16
= ((abstractmetamodel___MMLocalClass___global_t
)CALL( variable13
/*c*/,COLOR_abstractmetamodel___MMLocalClass___global
))( variable13
/*c*/) /*MMLocalClass::global*/;
630 variable15
= ((abstract_collection___CoupleMap_____bra_t
)CALL(variable15
,COLOR_abstract_collection___Map_____bra
))(variable15
, variable16
) /*CoupleMap::[]*/;
631 variable14
= variable15
;
632 variable15
= ((hash___HashSet___has_t
)CALL( variable10
/*core_classes*/,COLOR_abstract_collection___Collection___has
))( variable10
/*core_classes*/, variable13
/*c*/) /*HashSet::has*/;
633 if (UNTAG_Bool(variable15
)) { /*if*/
634 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*/;
635 ((compiling_global___CompiledClass___class_table__eq_t
)CALL( variable14
/*cc*/,COLOR_compiling_global___CompiledClass___class_table__eq
))( variable14
/*cc*/, variable15
) /*CompiledClass::class_table=*/;
636 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*/;
637 ((compiling_global___CompiledClass___instance_table__eq_t
)CALL( variable14
/*cc*/,COLOR_compiling_global___CompiledClass___instance_table__eq
))( variable14
/*cc*/, variable15
) /*CompiledClass::instance_table=*/;
639 variable16
= ((abstractmetamodel___MMLocalClass___cshe_t
)CALL( variable13
/*c*/,COLOR_abstractmetamodel___MMLocalClass___cshe
))( variable13
/*c*/) /*MMLocalClass::cshe*/;
640 variable16
= ((partial_order___PartialOrderElement___direct_greaters_t
)CALL(variable16
,COLOR_partial_order___PartialOrderElement___direct_greaters
))(variable16
) /*PartialOrderElement::direct_greaters*/;
641 variable16
= ((abstract_collection___IndexedCollection___first_t
)CALL(variable16
,COLOR_abstract_collection___Collection___first
))(variable16
) /*IndexedCollection::first*/;
642 variable15
= variable16
;
643 variable17
= ((compiling_global___GlobalAnalysis___compiled_classes_t
)CALL( variable1
/*ga*/,COLOR_compiling_global___GlobalAnalysis___compiled_classes
))( variable1
/*ga*/) /*GlobalAnalysis::compiled_classes*/;
644 variable18
= ((abstractmetamodel___MMLocalClass___global_t
)CALL( variable15
/*sc*/,COLOR_abstractmetamodel___MMLocalClass___global
))( variable15
/*sc*/) /*MMLocalClass::global*/;
645 variable17
= ((abstract_collection___CoupleMap_____bra_t
)CALL(variable17
,COLOR_abstract_collection___Map_____bra
))(variable17
, variable18
) /*CoupleMap::[]*/;
646 variable16
= variable17
;
647 variable17
= ((compiling_global___CompiledClass___class_table_t
)CALL( variable16
/*scc*/,COLOR_compiling_global___CompiledClass___class_table
))( variable16
/*scc*/) /*CompiledClass::class_table*/;
648 variable17
= ((array___Collection___to_a_t
)CALL(variable17
,COLOR_array___Collection___to_a
))(variable17
) /*Collection::to_a*/;
649 ((compiling_global___CompiledClass___class_table__eq_t
)CALL( variable14
/*cc*/,COLOR_compiling_global___CompiledClass___class_table__eq
))( variable14
/*cc*/, variable17
) /*CompiledClass::class_table=*/;
650 variable18
= ((abstractmetamodel___MMLocalClass___global_t
)CALL( variable13
/*c*/,COLOR_abstractmetamodel___MMLocalClass___global
))( variable13
/*c*/) /*MMLocalClass::global*/;
651 variable18
= ((abstractmetamodel___MMGlobalClass___intro_t
)CALL(variable18
,COLOR_abstractmetamodel___MMGlobalClass___intro
))(variable18
) /*MMGlobalClass::intro*/;
652 variable17
= variable18
;
653 variable18
= TAG_Bool(( variable17
/*bc*/==NIT_NULL
) || VAL_ISA( variable17
/*bc*/, COLOR_MMSrcLocalClass
, ID_MMSrcLocalClass
)) /*cast MMSrcLocalClass*/;
654 if (!UNTAG_Bool(variable18
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_compiling_global___MMSrcModule___global_analysis
, LOCATE_compiling_global
, 315); nit_exit(1);}
655 variable19
= ((compiling_global___MMSrcLocalClass___class_color_pos_t
)CALL( variable17
/*bc*/,COLOR_compiling_global___MMSrcLocalClass___class_color_pos
))( variable17
/*bc*/) /*MMSrcLocalClass::class_color_pos*/;
656 variable18
= variable19
;
657 variable19
= ((compiling_global___CompiledClass___class_table_t
)CALL( variable14
/*cc*/,COLOR_compiling_global___CompiledClass___class_table
))( variable14
/*cc*/) /*CompiledClass::class_table*/;
658 variable20
= ((compiling_global___ColorContext___color_t
)CALL( variable1
/*ga*/,COLOR_compiling_global___ColorContext___color
))( variable1
/*ga*/, variable18
/*colpos*/) /*ColorContext::color*/;
659 ((array___Array_____braeq_t
)CALL(variable19
,COLOR_abstract_collection___Map_____braeq
))(variable19
, variable20
, variable18
/*colpos*/) /*Array::[]=*/;
660 while (true) { /*while*/
661 variable19
= ((compiling_global___CompiledClass___class_table_t
)CALL( variable14
/*cc*/,COLOR_compiling_global___CompiledClass___class_table
))( variable14
/*cc*/) /*CompiledClass::class_table*/;
662 variable19
= ((array___AbstractArray___length_t
)CALL(variable19
,COLOR_abstract_collection___Collection___length
))(variable19
) /*AbstractArray::length*/;
663 variable19
= TAG_Bool(UNTAG_Int(variable19
)<=UNTAG_Int( variable11
/*maxcolor*/));
664 if (!UNTAG_Bool(variable19
)) break; /* while*/
665 variable19
= ((compiling_global___CompiledClass___class_table_t
)CALL( variable14
/*cc*/,COLOR_compiling_global___CompiledClass___class_table
))( variable14
/*cc*/) /*CompiledClass::class_table*/;
666 ((array___AbstractArray___add_t
)CALL(variable19
,COLOR_abstract_collection___SimpleCollection___add
))(variable19
, NIT_NULL
/*null*/) /*AbstractArray::add*/;
667 continue_19
: while(0);
670 variable19
= ((compiling_global___CompiledClass___class_table_t
)CALL( variable14
/*cc*/,COLOR_compiling_global___CompiledClass___class_table
))( variable14
/*cc*/) /*CompiledClass::class_table*/;
671 variable20
= ((compiling_global___CompiledClass___class_layout_t
)CALL( variable14
/*cc*/,COLOR_compiling_global___CompiledClass___class_layout
))( variable14
/*cc*/) /*CompiledClass::class_layout*/;
672 ((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*/;
673 variable19
= ((compiling_global___CompiledClass___instance_table_t
)CALL( variable16
/*scc*/,COLOR_compiling_global___CompiledClass___instance_table
))( variable16
/*scc*/) /*CompiledClass::instance_table*/;
674 variable19
= ((array___Collection___to_a_t
)CALL(variable19
,COLOR_array___Collection___to_a
))(variable19
) /*Collection::to_a*/;
675 ((compiling_global___CompiledClass___instance_table__eq_t
)CALL( variable14
/*cc*/,COLOR_compiling_global___CompiledClass___instance_table__eq
))( variable14
/*cc*/, variable19
) /*CompiledClass::instance_table=*/;
676 variable19
= ((compiling_global___CompiledClass___instance_table_t
)CALL( variable14
/*cc*/,COLOR_compiling_global___CompiledClass___instance_table
))( variable14
/*cc*/) /*CompiledClass::instance_table*/;
677 variable20
= ((compiling_global___CompiledClass___instance_layout_t
)CALL( variable14
/*cc*/,COLOR_compiling_global___CompiledClass___instance_layout
))( variable14
/*cc*/) /*CompiledClass::instance_layout*/;
678 ((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*/;
680 variable15
= ((compiling_base___ToolContext___attr_sim_t
)CALL( variable0
/*cctx*/,COLOR_compiling_base___ToolContext___attr_sim
))( variable0
/*cctx*/) /*ToolContext::attr_sim*/;
681 if (UNTAG_Bool(variable15
)) { /*if*/
682 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*/;
683 ((compiling_global___CompiledClass___instance_table__eq_t
)CALL( variable14
/*cc*/,COLOR_compiling_global___CompiledClass___instance_table__eq
))( variable14
/*cc*/, variable15
) /*CompiledClass::instance_table=*/;
684 variable15
= ((abstractmetamodel___MMLocalClass___cshe_t
)CALL( variable13
/*c*/,COLOR_abstractmetamodel___MMLocalClass___cshe
))( variable13
/*c*/) /*MMLocalClass::cshe*/;
685 variable15
= ((partial_order___PartialOrderElement___greaters_and_self_t
)CALL(variable15
,COLOR_partial_order___PartialOrderElement___greaters_and_self
))(variable15
) /*PartialOrderElement::greaters_and_self*/;
686 variable15
= ((abstract_collection___Collection___iterator_t
)CALL(variable15
,COLOR_abstract_collection___Collection___iterator
))(variable15
) /*Collection::iterator*/;
687 while (true) { /*for*/
688 variable16
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable15
,COLOR_abstract_collection___Iterator___is_ok
))(variable15
) /*Iterator::is_ok*/;
689 if (!UNTAG_Bool(variable16
)) break; /*for*/
690 variable16
= ((abstract_collection___Iterator___item_t
)CALL(variable15
,COLOR_abstract_collection___Iterator___item
))(variable15
) /*Iterator::item*/;
691 variable18
= ((compiling_global___GlobalAnalysis___compiled_classes_t
)CALL( variable1
/*ga*/,COLOR_compiling_global___GlobalAnalysis___compiled_classes
))( variable1
/*ga*/) /*GlobalAnalysis::compiled_classes*/;
692 variable19
= ((abstractmetamodel___MMLocalClass___global_t
)CALL( variable16
/*sc*/,COLOR_abstractmetamodel___MMLocalClass___global
))( variable16
/*sc*/) /*MMLocalClass::global*/;
693 variable18
= ((abstract_collection___CoupleMap_____bra_t
)CALL(variable18
,COLOR_abstract_collection___Map_____bra
))(variable18
, variable19
) /*CoupleMap::[]*/;
694 variable17
= variable18
;
695 variable18
= ((compiling_global___CompiledClass___instance_table_t
)CALL( variable14
/*cc*/,COLOR_compiling_global___CompiledClass___instance_table
))( variable14
/*cc*/) /*CompiledClass::instance_table*/;
696 variable19
= ((compiling_global___CompiledClass___instance_layout_t
)CALL( variable17
/*scc*/,COLOR_compiling_global___CompiledClass___instance_layout
))( variable17
/*scc*/) /*CompiledClass::instance_layout*/;
697 ((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*/;
698 continue_20
: while(0);
699 ((abstract_collection___Iterator___next_t
)CALL(variable15
,COLOR_abstract_collection___Iterator___next
))(variable15
) /*Iterator::next*/;
703 continue_18
: while(0);
704 ((array___ArrayIterator___next_t
)CALL(variable12
,COLOR_abstract_collection___Iterator___next
))(variable12
) /*ArrayIterator::next*/;
707 variable1
= variable1
/*ga*/;
709 return_label10
: while(false);
710 tracehead
= trace
.prev
;
713 void compiling_global___MMSrcModule___append_to_table(val_t self
, val_t param0
, val_t param1
, val_t param2
) {
714 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 338, LOCATE_compiling_global___MMSrcModule___append_to_table
};
722 trace
.prev
= tracehead
; tracehead
= &trace
;
726 variable3
= ((compiling_global___TableEltComposite___length_t
)CALL( variable2
/*cmp*/,COLOR_compiling_global___TableElt___length
))( variable2
/*cmp*/) /*TableEltComposite::length*/;
727 variable4
= NEW_range___Range___without_last( TAG_Int(0), variable3
); /*new Range[E]*/
728 variable3
= variable4
;
729 variable3
= ((range___Range___iterator_t
)CALL(variable3
,COLOR_abstract_collection___Collection___iterator
))(variable3
) /*Range::iterator*/;
730 while (true) { /*for*/
731 variable4
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable3
,COLOR_abstract_collection___Iterator___is_ok
))(variable3
) /*Iterator::is_ok*/;
732 if (!UNTAG_Bool(variable4
)) break; /*for*/
733 variable4
= ((abstract_collection___Iterator___item_t
)CALL(variable3
,COLOR_abstract_collection___Iterator___item
))(variable3
) /*Iterator::item*/;
734 variable6
= ((compiling_global___TableEltComposite___item_t
)CALL( variable2
/*cmp*/,COLOR_compiling_global___TableElt___item
))( variable2
/*cmp*/, variable4
/*j*/) /*TableEltComposite::item*/;
735 variable5
= variable6
;
736 variable6
= ((array___AbstractArray___length_t
)CALL( variable1
/*table*/,COLOR_abstract_collection___Collection___length
))( variable1
/*table*/) /*AbstractArray::length*/;
737 ((compiling_global___ColorContext___color__eq_t
)CALL( variable0
/*cc*/,COLOR_compiling_global___ColorContext___color__eq
))( variable0
/*cc*/, variable5
/*e*/, variable6
) /*ColorContext::color=*/;
738 ((array___AbstractArray___add_t
)CALL( variable1
/*table*/,COLOR_abstract_collection___SimpleCollection___add
))( variable1
/*table*/, variable5
/*e*/) /*AbstractArray::add*/;
739 continue_22
: while(0);
740 ((abstract_collection___Iterator___next_t
)CALL(variable3
,COLOR_abstract_collection___Iterator___next
))(variable3
) /*Iterator::next*/;
743 tracehead
= trace
.prev
;
746 val_t
compiling_global___MMSrcModule___build_tables(val_t self
, val_t param0
, val_t param1
, val_t param2
) {
747 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 347, LOCATE_compiling_global___MMSrcModule___build_tables
};
759 trace
.prev
= tracehead
; tracehead
= &trace
;
763 variable4
= NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
764 variable3
= variable4
;
765 variable4
= TAG_Int(0);
766 variable5
= ((array___AbstractArray___iterator_t
)CALL( variable2
/*elts*/,COLOR_abstract_collection___Collection___iterator
))( variable2
/*elts*/) /*AbstractArray::iterator*/;
767 while (true) { /*for*/
768 variable6
= ((array___ArrayIterator___is_ok_t
)CALL(variable5
,COLOR_abstract_collection___Iterator___is_ok
))(variable5
) /*ArrayIterator::is_ok*/;
769 if (!UNTAG_Bool(variable6
)) break; /*for*/
770 variable6
= ((array___ArrayIterator___item_t
)CALL(variable5
,COLOR_abstract_collection___Iterator___item
))(variable5
) /*ArrayIterator::item*/;
771 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*/;
772 if (UNTAG_Bool(variable7
)) { /*if*/
773 variable8
= ((compiling_global___ColorContext___color_t
)CALL( variable0
/*ga*/,COLOR_compiling_global___ColorContext___color
))( variable0
/*ga*/, variable6
/*e*/) /*ColorContext::color*/;
774 variable7
= variable8
;
775 variable9
= ((compiling_global___TableElt___length_t
)CALL( variable6
/*e*/,COLOR_compiling_global___TableElt___length
))( variable6
/*e*/) /*TableElt::length*/;
776 variable9
= TAG_Int(UNTAG_Int( variable7
/*col*/)+UNTAG_Int(variable9
));
777 variable8
= variable9
;
778 ((hash___HashMap_____braeq_t
)CALL( variable3
/*tab*/,COLOR_abstract_collection___Map_____braeq
))( variable3
/*tab*/, variable7
/*col*/, variable6
/*e*/) /*HashMap::[]=*/;
779 variable9
= TAG_Bool(UNTAG_Int( variable4
/*len*/)<UNTAG_Int( variable8
/*l*/));
780 if (UNTAG_Bool(variable9
)) { /*if*/
781 variable4
= variable8
/*l*/ /*len=*/;
784 continue_24
: while(0);
785 ((array___ArrayIterator___next_t
)CALL(variable5
,COLOR_abstract_collection___Iterator___next
))(variable5
) /*ArrayIterator::next*/;
788 variable6
= NEW_array___Array___init(); /*new Array[E]*/
789 variable5
= variable6
;
790 variable6
= TAG_Int(0);
791 while (true) { /*while*/
792 variable7
= TAG_Bool(UNTAG_Int( variable6
/*i*/)<UNTAG_Int( variable4
/*len*/));
793 if (!UNTAG_Bool(variable7
)) break; /* while*/
794 variable7
= ((abstract_collection___CoupleMap___has_key_t
)CALL( variable3
/*tab*/,COLOR_abstract_collection___Map___has_key
))( variable3
/*tab*/, variable6
/*i*/) /*CoupleMap::has_key*/;
795 if (UNTAG_Bool(variable7
)) { /*if*/
796 variable8
= ((abstract_collection___CoupleMap_____bra_t
)CALL( variable3
/*tab*/,COLOR_abstract_collection___Map_____bra
))( variable3
/*tab*/, variable6
/*i*/) /*CoupleMap::[]*/;
797 variable7
= variable8
;
798 variable8
= ((compiling_global___TableElt___length_t
)CALL( variable7
/*e*/,COLOR_compiling_global___TableElt___length
))( variable7
/*e*/) /*TableElt::length*/;
799 variable9
= NEW_range___Range___without_last( TAG_Int(0), variable8
); /*new Range[E]*/
800 variable8
= variable9
;
801 variable8
= ((range___Range___iterator_t
)CALL(variable8
,COLOR_abstract_collection___Collection___iterator
))(variable8
) /*Range::iterator*/;
802 while (true) { /*for*/
803 variable9
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable8
,COLOR_abstract_collection___Iterator___is_ok
))(variable8
) /*Iterator::is_ok*/;
804 if (!UNTAG_Bool(variable9
)) break; /*for*/
805 variable9
= ((abstract_collection___Iterator___item_t
)CALL(variable8
,COLOR_abstract_collection___Iterator___item
))(variable8
) /*Iterator::item*/;
806 variable10
= ((compiling_global___TableElt___item_t
)CALL( variable7
/*e*/,COLOR_compiling_global___TableElt___item
))( variable7
/*e*/, variable9
/*j*/) /*TableElt::item*/;
807 ((array___Array_____braeq_t
)CALL( variable5
/*res*/,COLOR_abstract_collection___Map_____braeq
))( variable5
/*res*/, variable6
/*i*/, variable10
) /*Array::[]=*/;
808 variable10
= TAG_Int(UNTAG_Int( variable6
/*i*/)+UNTAG_Int( TAG_Int(1)));
809 variable6
= variable10
/*i=*/;
810 continue_26
: while(0);
811 ((abstract_collection___Iterator___next_t
)CALL(variable8
,COLOR_abstract_collection___Iterator___next
))(variable8
) /*Iterator::next*/;
815 ((array___Array_____braeq_t
)CALL( variable5
/*res*/,COLOR_abstract_collection___Map_____braeq
))( variable5
/*res*/, variable6
/*i*/, NIT_NULL
/*null*/) /*Array::[]=*/;
816 variable7
= TAG_Int(UNTAG_Int( variable6
/*i*/)+UNTAG_Int( TAG_Int(1)));
817 variable6
= variable7
/*i=*/;
819 continue_25
: while(0);
822 variable3
= variable5
/*res*/;
824 return_label23
: while(false);
825 tracehead
= trace
.prev
;
828 void compiling_global___MMSrcModule___colorize(val_t self
, val_t param0
, val_t param1
, val_t param2
, val_t param3
) {
829 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 378, LOCATE_compiling_global___MMSrcModule___colorize
};
846 trace
.prev
= tracehead
; tracehead
= &trace
;
851 variable5
= NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
852 variable4
= variable5
;
853 variable6
= NEW_array___Array___init(); /*new Array[E]*/
854 variable5
= variable6
;
855 variable6
= ((array___AbstractArray___iterator_t
)CALL( variable1
/*elts*/,COLOR_abstract_collection___Collection___iterator
))( variable1
/*elts*/) /*AbstractArray::iterator*/;
856 while (true) { /*for*/
857 variable7
= ((array___ArrayIterator___is_ok_t
)CALL(variable6
,COLOR_abstract_collection___Iterator___is_ok
))(variable6
) /*ArrayIterator::is_ok*/;
858 if (!UNTAG_Bool(variable7
)) break; /*for*/
859 variable7
= ((array___ArrayIterator___item_t
)CALL(variable6
,COLOR_abstract_collection___Iterator___item
))(variable6
) /*ArrayIterator::item*/;
860 variable9
= TAG_Int(-UNTAG_Int( TAG_Int(1)));
861 variable8
= variable9
;
862 variable10
= ((compiling_global___TableElt___length_t
)CALL( variable7
/*e*/,COLOR_compiling_global___TableElt___length
))( variable7
/*e*/) /*TableElt::length*/;
863 variable9
= variable10
;
864 variable10
= ((compiling_global___ColorContext___has_color_t
)CALL( variable0
/*ga*/,COLOR_compiling_global___ColorContext___has_color
))( variable0
/*ga*/, variable7
/*e*/) /*ColorContext::has_color*/;
865 if (UNTAG_Bool(variable10
)) { /*if*/
866 variable10
= ((compiling_global___ColorContext___color_t
)CALL( variable0
/*ga*/,COLOR_compiling_global___ColorContext___color
))( variable0
/*ga*/, variable7
/*e*/) /*ColorContext::color*/;
867 variable8
= variable10
/*color=*/;
869 ((array___AbstractArray___clear_t
)CALL( variable5
/*rel_classes*/,COLOR_abstract_collection___RemovableCollection___clear
))( variable5
/*rel_classes*/) /*AbstractArray::clear*/;
870 variable10
= ((abstract_collection___Collection___iterator_t
)CALL( variable2
/*classes*/,COLOR_abstract_collection___Collection___iterator
))( variable2
/*classes*/) /*Collection::iterator*/;
871 while (true) { /*for*/
872 variable11
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable10
,COLOR_abstract_collection___Iterator___is_ok
))(variable10
) /*Iterator::is_ok*/;
873 if (!UNTAG_Bool(variable11
)) break; /*for*/
874 variable11
= ((abstract_collection___Iterator___item_t
)CALL(variable10
,COLOR_abstract_collection___Iterator___item
))(variable10
) /*Iterator::item*/;
875 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*/;
876 if (UNTAG_Bool(variable12
)) { /*if*/
877 ((array___AbstractArray___add_t
)CALL( variable5
/*rel_classes*/,COLOR_abstract_collection___SimpleCollection___add
))( variable5
/*rel_classes*/, variable11
/*c*/) /*AbstractArray::add*/;
879 continue_29
: while(0);
880 ((abstract_collection___Iterator___next_t
)CALL(variable10
,COLOR_abstract_collection___Iterator___next
))(variable10
) /*Iterator::next*/;
883 variable10
= variable3
/*startcolor*/;
884 while (true) { /*while*/
885 variable11
= TAG_Bool(( variable10
/*trycolor*/)!=( variable8
/*color*/));
886 if (!UNTAG_Bool(variable11
)) break; /* while*/
887 variable8
= variable10
/*trycolor*/ /*color=*/;
888 variable11
= ((array___AbstractArray___iterator_t
)CALL( variable5
/*rel_classes*/,COLOR_abstract_collection___Collection___iterator
))( variable5
/*rel_classes*/) /*AbstractArray::iterator*/;
889 while (true) { /*for*/
890 variable12
= ((array___ArrayIterator___is_ok_t
)CALL(variable11
,COLOR_abstract_collection___Iterator___is_ok
))(variable11
) /*ArrayIterator::is_ok*/;
891 if (!UNTAG_Bool(variable12
)) break; /*for*/
892 variable12
= ((array___ArrayIterator___item_t
)CALL(variable11
,COLOR_abstract_collection___Iterator___item
))(variable11
) /*ArrayIterator::item*/;
893 variable13
= TAG_Int(0);
894 while (true) { /*while*/
895 variable14
= TAG_Bool(UNTAG_Int( variable13
/*idx*/)<UNTAG_Int( variable9
/*len*/));
896 if (!UNTAG_Bool(variable14
)) break; /* while*/
897 variable14
= TAG_Int(UNTAG_Int( variable10
/*trycolor*/)+UNTAG_Int( variable13
/*idx*/));
898 variable14
= ((abstract_collection___CoupleMap___has_key_t
)CALL( variable4
/*colors*/,COLOR_abstract_collection___Map___has_key
))( variable4
/*colors*/, variable14
) /*CoupleMap::has_key*/;
899 variable15
= variable14
;
900 if (UNTAG_Bool(variable15
)) { /* and */
901 variable15
= TAG_Int(UNTAG_Int( variable10
/*trycolor*/)+UNTAG_Int( variable13
/*idx*/));
902 variable15
= ((abstract_collection___CoupleMap_____bra_t
)CALL( variable4
/*colors*/,COLOR_abstract_collection___Map_____bra
))( variable4
/*colors*/, variable15
) /*CoupleMap::[]*/;
903 variable15
= ((compiling_global___MMSrcModule___free_color_t
)CALL( self
,COLOR_compiling_global___MMSrcModule___free_color
))( self
, variable15
, variable12
/*c*/) /*MMSrcModule::free_color*/;
904 variable15
= TAG_Bool(!UNTAG_Bool(variable15
));
906 variable14
= variable15
;
907 if (UNTAG_Bool(variable14
)) { /*if*/
908 variable14
= TAG_Int(UNTAG_Int( variable10
/*trycolor*/)+UNTAG_Int( variable13
/*idx*/));
909 variable14
= TAG_Int(UNTAG_Int(variable14
)+UNTAG_Int( TAG_Int(1)));
910 variable10
= variable14
/*trycolor=*/;
911 variable13
= TAG_Int(0) /*idx=*/;
913 variable14
= TAG_Int(UNTAG_Int( variable13
/*idx*/)+UNTAG_Int( TAG_Int(1)));
914 variable13
= variable14
/*idx=*/;
916 continue_32
: while(0);
919 continue_31
: while(0);
920 ((array___ArrayIterator___next_t
)CALL(variable11
,COLOR_abstract_collection___Iterator___next
))(variable11
) /*ArrayIterator::next*/;
923 continue_30
: while(0);
926 ((compiling_global___ColorContext___color__eq_t
)CALL( variable0
/*ga*/,COLOR_compiling_global___ColorContext___color__eq
))( variable0
/*ga*/, variable7
/*e*/, variable8
/*color*/) /*ColorContext::color=*/;
928 variable10
= NEW_range___Range___without_last( TAG_Int(0), variable9
/*len*/); /*new Range[E]*/
929 variable10
= ((range___Range___iterator_t
)CALL(variable10
,COLOR_abstract_collection___Collection___iterator
))(variable10
) /*Range::iterator*/;
930 while (true) { /*for*/
931 variable11
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable10
,COLOR_abstract_collection___Iterator___is_ok
))(variable10
) /*Iterator::is_ok*/;
932 if (!UNTAG_Bool(variable11
)) break; /*for*/
933 variable11
= ((abstract_collection___Iterator___item_t
)CALL(variable10
,COLOR_abstract_collection___Iterator___item
))(variable10
) /*Iterator::item*/;
934 variable12
= TAG_Int(UNTAG_Int( variable8
/*color*/)+UNTAG_Int( variable11
/*idx*/));
935 variable12
= ((abstract_collection___CoupleMap___has_key_t
)CALL( variable4
/*colors*/,COLOR_abstract_collection___Map___has_key
))( variable4
/*colors*/, variable12
) /*CoupleMap::has_key*/;
936 if (UNTAG_Bool(variable12
)) { /*if*/
937 variable12
= TAG_Int(UNTAG_Int( variable8
/*color*/)+UNTAG_Int( variable11
/*idx*/));
938 variable12
= ((abstract_collection___CoupleMap_____bra_t
)CALL( variable4
/*colors*/,COLOR_abstract_collection___Map_____bra
))( variable4
/*colors*/, variable12
) /*CoupleMap::[]*/;
939 ((array___AbstractArray___add_t
)CALL(variable12
,COLOR_abstract_collection___SimpleCollection___add
))(variable12
, variable7
/*e*/) /*AbstractArray::add*/;
941 variable12
= TAG_Int(UNTAG_Int( variable8
/*color*/)+UNTAG_Int( variable11
/*idx*/));
942 variable13
= NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
943 ((array___AbstractArray___add_t
)CALL(variable13
,COLOR_abstract_collection___SimpleCollection___add
))(variable13
, variable7
/*e*/) /*AbstractArray::add*/;
944 ((hash___HashMap_____braeq_t
)CALL( variable4
/*colors*/,COLOR_abstract_collection___Map_____braeq
))( variable4
/*colors*/, variable12
, variable13
) /*HashMap::[]=*/;
946 continue_33
: while(0);
947 ((abstract_collection___Iterator___next_t
)CALL(variable10
,COLOR_abstract_collection___Iterator___next
))(variable10
) /*Iterator::next*/;
950 continue_28
: while(0);
951 ((array___ArrayIterator___next_t
)CALL(variable6
,COLOR_abstract_collection___Iterator___next
))(variable6
) /*ArrayIterator::next*/;
954 tracehead
= trace
.prev
;
957 val_t
compiling_global___MMSrcModule___free_color(val_t self
, val_t param0
, val_t param1
) {
958 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 422, LOCATE_compiling_global___MMSrcModule___free_color
};
964 trace
.prev
= tracehead
; tracehead
= &trace
;
967 variable2
= ((array___AbstractArray___iterator_t
)CALL( variable0
/*es*/,COLOR_abstract_collection___Collection___iterator
))( variable0
/*es*/) /*AbstractArray::iterator*/;
968 while (true) { /*for*/
969 variable3
= ((array___ArrayIterator___is_ok_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___is_ok
))(variable2
) /*ArrayIterator::is_ok*/;
970 if (!UNTAG_Bool(variable3
)) break; /*for*/
971 variable3
= ((array___ArrayIterator___item_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___item
))(variable2
) /*ArrayIterator::item*/;
972 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*/;
973 if (UNTAG_Bool(variable4
)) { /*if*/
974 variable2
= TAG_Bool(false);
977 continue_35
: while(0);
978 ((array___ArrayIterator___next_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___next
))(variable2
) /*ArrayIterator::next*/;
981 variable2
= TAG_Bool(true);
983 return_label34
: while(false);
984 tracehead
= trace
.prev
;
987 void compiling_global___MMSrcModule___compile_tables_to_c(val_t self
, val_t param0
) {
988 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 432, LOCATE_compiling_global___MMSrcModule___compile_tables_to_c
};
999 trace
.prev
= tracehead
; tracehead
= &trace
;
1001 variable1
= ((abstractmetamodel___MMModule___mhe_t
)CALL( self
,COLOR_abstractmetamodel___MMModule___mhe
))( self
) /*MMModule::mhe*/;
1002 variable1
= ((partial_order___PartialOrderElement___greaters_and_self_t
)CALL(variable1
,COLOR_partial_order___PartialOrderElement___greaters_and_self
))(variable1
) /*PartialOrderElement::greaters_and_self*/;
1003 variable1
= ((abstract_collection___Collection___iterator_t
)CALL(variable1
,COLOR_abstract_collection___Collection___iterator
))(variable1
) /*Collection::iterator*/;
1004 while (true) { /*for*/
1005 variable2
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___is_ok
))(variable1
) /*Iterator::is_ok*/;
1006 if (!UNTAG_Bool(variable2
)) break; /*for*/
1007 variable2
= ((abstract_collection___Iterator___item_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___item
))(variable1
) /*Iterator::item*/;
1008 variable3
= TAG_Bool(( variable2
/*m*/==NIT_NULL
) || VAL_ISA( variable2
/*m*/, COLOR_MMSrcModule
, ID_MMSrcModule
)) /*cast MMSrcModule*/;
1009 if (!UNTAG_Bool(variable3
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_compiling_global___MMSrcModule___compile_tables_to_c
, LOCATE_compiling_global
, 436); nit_exit(1);}
1010 ((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*/;
1011 continue_37
: while(0);
1012 ((abstract_collection___Iterator___next_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___next
))(variable1
) /*Iterator::next*/;
1015 variable1
= ((abstractmetamodel___MMModule___local_classes_t
)CALL( self
,COLOR_abstractmetamodel___MMModule___local_classes
))( self
) /*MMModule::local_classes*/;
1016 variable1
= ((array___AbstractArray___iterator_t
)CALL(variable1
,COLOR_abstract_collection___Collection___iterator
))(variable1
) /*AbstractArray::iterator*/;
1017 while (true) { /*for*/
1018 variable2
= ((array___ArrayIterator___is_ok_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___is_ok
))(variable1
) /*ArrayIterator::is_ok*/;
1019 if (!UNTAG_Bool(variable2
)) break; /*for*/
1020 variable2
= ((array___ArrayIterator___item_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___item
))(variable1
) /*ArrayIterator::item*/;
1021 ((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*/;
1022 continue_38
: while(0);
1023 ((array___ArrayIterator___next_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___next
))(variable1
) /*ArrayIterator::next*/;
1026 variable2
= NEW_string___String___with_native(BOX_NativeString("classtable_t TAG2VFT[4] = {NULL"), TAG_Int(31)); /*new String*/
1027 variable1
= variable2
;
1028 variable2
= NEW_array___Array___with_capacity(TAG_Int(3)); /*new Array[E]*/
1029 variable3
= NEW_string___String___with_native(BOX_NativeString("Int"), TAG_Int(3)); /*new String*/
1030 ((array___AbstractArray___add_t
)CALL(variable2
,COLOR_abstract_collection___SimpleCollection___add
))(variable2
, variable3
) /*AbstractArray::add*/;
1031 variable4
= NEW_string___String___with_native(BOX_NativeString("Char"), TAG_Int(4)); /*new String*/
1032 ((array___AbstractArray___add_t
)CALL(variable2
,COLOR_abstract_collection___SimpleCollection___add
))(variable2
, variable4
) /*AbstractArray::add*/;
1033 variable5
= NEW_string___String___with_native(BOX_NativeString("Bool"), TAG_Int(4)); /*new String*/
1034 ((array___AbstractArray___add_t
)CALL(variable2
,COLOR_abstract_collection___SimpleCollection___add
))(variable2
, variable5
) /*AbstractArray::add*/;
1035 variable2
= ((array___AbstractArray___iterator_t
)CALL(variable2
,COLOR_abstract_collection___Collection___iterator
))(variable2
) /*AbstractArray::iterator*/;
1036 while (true) { /*for*/
1037 variable3
= ((array___ArrayIterator___is_ok_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___is_ok
))(variable2
) /*ArrayIterator::is_ok*/;
1038 if (!UNTAG_Bool(variable3
)) break; /*for*/
1039 variable3
= ((array___ArrayIterator___item_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___item
))(variable2
) /*ArrayIterator::item*/;
1040 variable4
= ((symbol___String___to_symbol_t
)CALL( variable3
/*t*/,COLOR_symbol___String___to_symbol
))( variable3
/*t*/) /*String::to_symbol*/;
1041 variable4
= ((abstractmetamodel___MMModule___has_global_class_named_t
)CALL( self
,COLOR_abstractmetamodel___MMModule___has_global_class_named
))( self
, variable4
) /*MMModule::has_global_class_named*/;
1042 if (UNTAG_Bool(variable4
)) { /*if*/
1043 variable4
= NEW_string___String___init(); /*new String*/
1044 variable5
= NEW_string___String___with_native(BOX_NativeString(", (const classtable_t)VFT_"), TAG_Int(26)); /*new String*/
1045 variable6
= variable5
;
1046 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable6
) /*String::append*/;
1047 variable7
= variable3
/*t*/;
1048 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable7
) /*String::append*/;
1049 variable8
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1050 variable9
= variable8
;
1051 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable9
) /*String::append*/;
1052 ((string___String___append_t
)CALL( variable1
/*s*/,COLOR_abstract_collection___IndexedCollection___append
))( variable1
/*s*/, variable4
) /*String::append*/;
1054 variable4
= NEW_string___String___with_native(BOX_NativeString(", NULL"), TAG_Int(6)); /*new String*/
1055 ((string___String___append_t
)CALL( variable1
/*s*/,COLOR_abstract_collection___IndexedCollection___append
))( variable1
/*s*/, variable4
) /*String::append*/;
1057 continue_39
: while(0);
1058 ((array___ArrayIterator___next_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___next
))(variable2
) /*ArrayIterator::next*/;
1061 variable2
= NEW_string___String___with_native(BOX_NativeString("};"), TAG_Int(2)); /*new String*/
1062 ((string___String___append_t
)CALL( variable1
/*s*/,COLOR_abstract_collection___IndexedCollection___append
))( variable1
/*s*/, variable2
) /*String::append*/;
1063 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable1
/*s*/) /*CompilerVisitor::add_instr*/;
1064 tracehead
= trace
.prev
;
1067 void compiling_global___MMSrcModule___declare_class_tables_to_c(val_t self
, val_t param0
) {
1068 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 455, LOCATE_compiling_global___MMSrcModule___declare_class_tables_to_c
};
1073 trace
.prev
= tracehead
; tracehead
= &trace
;
1075 variable1
= ((abstractmetamodel___MMModule___local_classes_t
)CALL( self
,COLOR_abstractmetamodel___MMModule___local_classes
))( self
) /*MMModule::local_classes*/;
1076 variable1
= ((array___AbstractArray___iterator_t
)CALL(variable1
,COLOR_abstract_collection___Collection___iterator
))(variable1
) /*AbstractArray::iterator*/;
1077 while (true) { /*for*/
1078 variable2
= ((array___ArrayIterator___is_ok_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___is_ok
))(variable1
) /*ArrayIterator::is_ok*/;
1079 if (!UNTAG_Bool(variable2
)) break; /*for*/
1080 variable2
= ((array___ArrayIterator___item_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___item
))(variable1
) /*ArrayIterator::item*/;
1081 variable3
= ((abstractmetamodel___MMLocalClass___global_t
)CALL( variable2
/*c*/,COLOR_abstractmetamodel___MMLocalClass___global
))( variable2
/*c*/) /*MMLocalClass::global*/;
1082 variable3
= ((abstractmetamodel___MMGlobalClass___module_t
)CALL(variable3
,COLOR_abstractmetamodel___MMGlobalClass___module
))(variable3
) /*MMGlobalClass::module*/;
1083 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
) /*Object::==*/)))));
1084 if (UNTAG_Bool(variable3
)) { /*if*/
1085 ((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*/;
1087 continue_41
: while(0);
1088 ((array___ArrayIterator___next_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___next
))(variable1
) /*ArrayIterator::next*/;
1091 tracehead
= trace
.prev
;
1094 void compiling_global___MMSrcModule___compile_main_part(val_t self
, val_t param0
) {
1095 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 465, LOCATE_compiling_global___MMSrcModule___compile_main_part
};
1099 static val_t once_value_variable2_43
; static int once_bool_variable2_43
;
1102 static val_t once_value_variable4_44
; static int once_bool_variable4_44
;
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*/) /*MMModule::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
) /*Object::print*/;
1131 variable3
= ((abstractmetamodel___MMModule___class_by_name_t
)CALL( self
,COLOR_abstractmetamodel___MMModule___class_by_name
))( self
, variable1
/*sysname*/) /*MMModule::class_by_name*/;
1132 variable2
= variable3
;
1133 if (once_bool_variable4_44
) variable4
= once_value_variable4_44
;
1135 variable4
= NEW_string___String___with_native(BOX_NativeString("main"), TAG_Int(4)); /*new String*/
1136 variable4
= ((symbol___String___to_symbol_t
)CALL(variable4
,COLOR_symbol___String___to_symbol
))(variable4
) /*String::to_symbol*/;
1137 once_value_variable4_44
= variable4
;
1138 once_bool_variable4_44
= true;
1140 variable4
= ((abstractmetamodel___MMLocalClass___select_method_t
)CALL( variable2
/*sys*/,COLOR_abstractmetamodel___MMLocalClass___select_method
))( variable2
/*sys*/, variable4
) /*MMLocalClass::select_method*/;
1141 variable3
= variable4
;
1142 variable4
= TAG_Bool(( variable3
/*mainm*/ == NIT_NULL
/*null*/) || (( variable3
/*mainm*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable3
/*mainm*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable3
/*mainm*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable3
/*mainm*/,COLOR_kernel___Object_____eqeq
))( variable3
/*mainm*/, NIT_NULL
/*null*/) /*Object::==*/)))));
1143 if (UNTAG_Bool(variable4
)) { /*if*/
1144 variable4
= NEW_string___String___with_native(BOX_NativeString("No main"), TAG_Int(7)); /*new String*/
1145 ((file___Object___print_t
)CALL( self
,COLOR_file___Object___print
))( self
, variable4
) /*Object::print*/;
1147 variable4
= NEW_string___String___with_native(BOX_NativeString("G_sys = NEW_Sys();"), TAG_Int(18)); /*new String*/
1148 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable4
) /*CompilerVisitor::add_instr*/;
1149 variable4
= NEW_string___String___init(); /*new String*/
1150 variable5
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1151 variable6
= variable5
;
1152 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable6
) /*String::append*/;
1153 variable7
= ((compiling_base___MMLocalProperty___cname_t
)CALL( variable3
/*mainm*/,COLOR_compiling_base___MMLocalProperty___cname
))( variable3
/*mainm*/) /*MMLocalProperty::cname*/;
1154 variable8
= variable7
;
1155 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable8
) /*String::append*/;
1156 variable9
= NEW_string___String___with_native(BOX_NativeString("(G_sys);"), TAG_Int(8)); /*new String*/
1157 variable10
= variable9
;
1158 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable10
) /*String::append*/;
1159 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable4
) /*CompilerVisitor::add_instr*/;
1162 variable2
= NEW_string___String___with_native(BOX_NativeString("return 0;"), TAG_Int(9)); /*new String*/
1163 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable2
) /*CompilerVisitor::add_instr*/;
1164 ((compiling_base___CompilerVisitor___unindent_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___unindent
))( variable0
/*v*/) /*CompilerVisitor::unindent*/;
1165 variable2
= NEW_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
1166 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable2
) /*CompilerVisitor::add_instr*/;
1167 tracehead
= trace
.prev
;
1170 void compiling_global___MMSrcModule___compile_mod_to_c(val_t self
, val_t param0
) {
1171 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 492, LOCATE_compiling_global___MMSrcModule___compile_mod_to_c
};
1195 trace
.prev
= tracehead
; tracehead
= &trace
;
1197 variable1
= NEW_string___String___init(); /*new String*/
1198 variable2
= NEW_string___String___with_native(BOX_NativeString("#define LOCATE_"), TAG_Int(15)); /*new String*/
1199 variable3
= variable2
;
1200 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable3
) /*String::append*/;
1201 variable4
= ((abstractmetamodel___MMModule___name_t
)CALL( self
,COLOR_abstractmetamodel___MMModule___name
))( self
) /*MMModule::name*/;
1202 variable5
= variable4
;
1203 variable5
= ((string___String___to_s_t
)CALL(variable5
,COLOR_string___Object___to_s
))(variable5
) /*String::to_s*/;
1204 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable5
) /*String::append*/;
1205 variable6
= NEW_string___String___with_native(BOX_NativeString(" \""), TAG_Int(2)); /*new String*/
1206 variable7
= variable6
;
1207 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable7
) /*String::append*/;
1208 variable8
= ((mmloader___MMModule___filename_t
)CALL( self
,COLOR_mmloader___MMModule___filename
))( self
) /*MMModule::filename*/;
1209 variable9
= variable8
;
1210 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable9
) /*String::append*/;
1211 variable10
= NEW_string___String___with_native(BOX_NativeString("\""), TAG_Int(1)); /*new String*/
1212 variable11
= variable10
;
1213 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable11
) /*String::append*/;
1214 ((compiling_base___CompilerVisitor___add_decl_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_decl
))( variable0
/*v*/, variable1
) /*CompilerVisitor::add_decl*/;
1215 variable1
= ((compiling_base___CompilerVisitor___tc_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___tc
))( variable0
/*v*/) /*CompilerVisitor::tc*/;
1216 variable1
= ((compiling_base___ToolContext___global_t
)CALL(variable1
,COLOR_compiling_base___ToolContext___global
))(variable1
) /*ToolContext::global*/;
1217 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable1
)))) { /*if*/
1218 variable1
= NEW_string___String___init(); /*new String*/
1219 variable2
= NEW_string___String___with_native(BOX_NativeString("extern const int SFT_"), TAG_Int(21)); /*new String*/
1220 variable3
= variable2
;
1221 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable3
) /*String::append*/;
1222 variable4
= ((abstractmetamodel___MMModule___name_t
)CALL( self
,COLOR_abstractmetamodel___MMModule___name
))( self
) /*MMModule::name*/;
1223 variable5
= variable4
;
1224 variable5
= ((string___String___to_s_t
)CALL(variable5
,COLOR_string___Object___to_s
))(variable5
) /*String::to_s*/;
1225 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable5
) /*String::append*/;
1226 variable6
= NEW_string___String___with_native(BOX_NativeString("[];"), TAG_Int(3)); /*new String*/
1227 variable7
= variable6
;
1228 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable7
) /*String::append*/;
1229 ((compiling_base___CompilerVisitor___add_decl_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_decl
))( variable0
/*v*/, variable1
) /*CompilerVisitor::add_decl*/;
1231 variable1
= TAG_Int(0);
1232 variable2
= ATTR_compiling_global___MMSrcModule____local_table( self
) /*MMSrcModule::_local_table*/;
1233 variable2
= ((array___AbstractArray___iterator_t
)CALL(variable2
,COLOR_abstract_collection___Collection___iterator
))(variable2
) /*AbstractArray::iterator*/;
1234 while (true) { /*for*/
1235 variable3
= ((array___ArrayIterator___is_ok_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___is_ok
))(variable2
) /*ArrayIterator::is_ok*/;
1236 if (!UNTAG_Bool(variable3
)) break; /*for*/
1237 variable3
= ((array___ArrayIterator___item_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___item
))(variable2
) /*ArrayIterator::item*/;
1238 variable4
= ((compiling_base___CompilerVisitor___tc_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___tc
))( variable0
/*v*/) /*CompilerVisitor::tc*/;
1239 variable4
= ((compiling_base___ToolContext___global_t
)CALL(variable4
,COLOR_compiling_base___ToolContext___global
))(variable4
) /*ToolContext::global*/;
1240 if (UNTAG_Bool(variable4
)) { /*if*/
1241 variable4
= NEW_string___String___init(); /*new String*/
1242 variable5
= NEW_string___String___with_native(BOX_NativeString("#define "), TAG_Int(8)); /*new String*/
1243 variable6
= variable5
;
1244 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable6
) /*String::append*/;
1245 variable7
= ((compiling_global___LocalTableElt___symbol_t
)CALL( variable3
/*e*/,COLOR_compiling_global___LocalTableElt___symbol
))( variable3
/*e*/) /*LocalTableElt::symbol*/;
1246 variable8
= variable7
;
1247 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable8
) /*String::append*/;
1248 variable9
= NEW_string___String___with_native(BOX_NativeString(" "), TAG_Int(1)); /*new String*/
1249 variable10
= variable9
;
1250 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable10
) /*String::append*/;
1251 variable11
= ((compiling_global___CompilerVisitor___global_analysis_t
)CALL( variable0
/*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis
))( variable0
/*v*/) /*CompilerVisitor::global_analysis*/;
1252 variable11
= ((compiling_global___LocalTableElt___value_t
)CALL( variable3
/*e*/,COLOR_compiling_global___LocalTableElt___value
))( variable3
/*e*/, variable11
) /*LocalTableElt::value*/;
1253 variable12
= variable11
;
1254 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable12
) /*String::append*/;
1255 variable13
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1256 variable14
= variable13
;
1257 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable14
) /*String::append*/;
1258 ((compiling_base___CompilerVisitor___add_decl_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_decl
))( variable0
/*v*/, variable4
) /*CompilerVisitor::add_decl*/;
1260 variable4
= NEW_string___String___init(); /*new String*/
1261 variable5
= NEW_string___String___with_native(BOX_NativeString("#define "), TAG_Int(8)); /*new String*/
1262 variable6
= variable5
;
1263 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable6
) /*String::append*/;
1264 variable7
= ((compiling_global___LocalTableElt___symbol_t
)CALL( variable3
/*e*/,COLOR_compiling_global___LocalTableElt___symbol
))( variable3
/*e*/) /*LocalTableElt::symbol*/;
1265 variable8
= variable7
;
1266 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable8
) /*String::append*/;
1267 variable9
= NEW_string___String___with_native(BOX_NativeString(" SFT_"), TAG_Int(5)); /*new String*/
1268 variable10
= variable9
;
1269 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable10
) /*String::append*/;
1270 variable11
= ((abstractmetamodel___MMModule___name_t
)CALL( self
,COLOR_abstractmetamodel___MMModule___name
))( self
) /*MMModule::name*/;
1271 variable12
= variable11
;
1272 variable12
= ((string___String___to_s_t
)CALL(variable12
,COLOR_string___Object___to_s
))(variable12
) /*String::to_s*/;
1273 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable12
) /*String::append*/;
1274 variable13
= NEW_string___String___with_native(BOX_NativeString("["), TAG_Int(1)); /*new String*/
1275 variable14
= variable13
;
1276 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable14
) /*String::append*/;
1277 variable15
= variable1
/*i*/;
1278 variable15
= ((string___String___to_s_t
)CALL(variable15
,COLOR_string___Object___to_s
))(variable15
) /*String::to_s*/;
1279 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable15
) /*String::append*/;
1280 variable16
= NEW_string___String___with_native(BOX_NativeString("]"), TAG_Int(1)); /*new String*/
1281 variable17
= variable16
;
1282 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable17
) /*String::append*/;
1283 ((compiling_base___CompilerVisitor___add_decl_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_decl
))( variable0
/*v*/, variable4
) /*CompilerVisitor::add_decl*/;
1284 variable4
= TAG_Int(UNTAG_Int( variable1
/*i*/)+UNTAG_Int( TAG_Int(1)));
1285 variable1
= variable4
/*i=*/;
1287 continue_46
: while(0);
1288 ((array___ArrayIterator___next_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___next
))(variable2
) /*ArrayIterator::next*/;
1291 variable2
= ((syntax_base___MMSrcModule___src_local_classes_t
)CALL( self
,COLOR_syntax_base___MMSrcModule___src_local_classes
))( self
) /*MMSrcModule::src_local_classes*/;
1292 variable2
= ((abstract_collection___Map___iterator_t
)CALL(variable2
,COLOR_abstract_collection___Collection___iterator
))(variable2
) /*Map::iterator*/;
1293 while (true) { /*for*/
1294 variable3
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___is_ok
))(variable2
) /*Iterator::is_ok*/;
1295 if (!UNTAG_Bool(variable3
)) break; /*for*/
1296 variable3
= ((abstract_collection___Iterator___item_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___item
))(variable2
) /*Iterator::item*/;
1297 variable4
= ((syntax_base___MMSrcLocalClass___src_local_properties_t
)CALL( variable3
/*c*/,COLOR_syntax_base___MMSrcLocalClass___src_local_properties
))( variable3
/*c*/) /*MMSrcLocalClass::src_local_properties*/;
1298 variable4
= ((abstract_collection___Map___iterator_t
)CALL(variable4
,COLOR_abstract_collection___Collection___iterator
))(variable4
) /*Map::iterator*/;
1299 while (true) { /*for*/
1300 variable5
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable4
,COLOR_abstract_collection___Iterator___is_ok
))(variable4
) /*Iterator::is_ok*/;
1301 if (!UNTAG_Bool(variable5
)) break; /*for*/
1302 variable5
= ((abstract_collection___Iterator___item_t
)CALL(variable4
,COLOR_abstract_collection___Iterator___item
))(variable4
) /*Iterator::item*/;
1303 variable7
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable5
/*p*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable5
/*p*/) /*MMLocalProperty::global*/;
1304 variable6
= variable7
;
1305 variable7
= ((abstractmetamodel___MMGlobalProperty___intro_t
)CALL( variable6
/*pg*/,COLOR_abstractmetamodel___MMGlobalProperty___intro
))( variable6
/*pg*/) /*MMGlobalProperty::intro*/;
1306 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*/) /*Object::==*/)))));
1307 variable8
= variable7
;
1308 if (UNTAG_Bool(variable8
)) { /* and */
1309 variable8
= TAG_Bool(( variable5
/*p*/==NIT_NULL
) || VAL_ISA( variable5
/*p*/, COLOR_MMAttribute
, ID_MMAttribute
)) /*cast MMAttribute*/;
1311 variable7
= variable8
;
1312 if (UNTAG_Bool(variable7
)) { /*if*/
1313 variable7
= ((compiling_base___CompilerVisitor___tc_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___tc
))( variable0
/*v*/) /*CompilerVisitor::tc*/;
1314 variable7
= ((compiling_base___ToolContext___attr_sim_t
)CALL(variable7
,COLOR_compiling_base___ToolContext___attr_sim
))(variable7
) /*ToolContext::attr_sim*/;
1315 if (UNTAG_Bool(variable7
)) { /*if*/
1316 variable8
= ((abstractmetamodel___MMGlobalProperty___local_class_t
)CALL( variable6
/*pg*/,COLOR_abstractmetamodel___MMGlobalProperty___local_class
))( variable6
/*pg*/) /*MMGlobalProperty::local_class*/;
1317 variable7
= variable8
;
1318 variable8
= TAG_Bool(( variable7
/*bc*/==NIT_NULL
) || VAL_ISA( variable7
/*bc*/, COLOR_MMSrcLocalClass
, ID_MMSrcLocalClass
)) /*cast MMSrcLocalClass*/;
1319 if (!UNTAG_Bool(variable8
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_compiling_global___MMSrcModule___compile_mod_to_c
, LOCATE_compiling_global
, 514); nit_exit(1);}
1320 variable9
= ((compiling_global___MMSrcLocalClass___base_attr_pos_t
)CALL( variable7
/*bc*/,COLOR_compiling_global___MMSrcLocalClass___base_attr_pos
))( variable7
/*bc*/) /*MMSrcLocalClass::base_attr_pos*/;
1321 variable9
= ((compiling_global___TableEltBaseAttrPos___symbol_t
)CALL(variable9
,COLOR_compiling_global___LocalTableElt___symbol
))(variable9
) /*TableEltBaseAttrPos::symbol*/;
1322 variable8
= variable9
;
1323 variable9
= NEW_string___String___init(); /*new String*/
1324 variable10
= NEW_string___String___with_native(BOX_NativeString("#define "), TAG_Int(8)); /*new String*/
1325 variable11
= variable10
;
1326 ((string___String___append_t
)CALL(variable9
,COLOR_abstract_collection___IndexedCollection___append
))(variable9
, variable11
) /*String::append*/;
1327 variable12
= ((compiling_base___MMGlobalProperty___attr_access_t
)CALL( variable6
/*pg*/,COLOR_compiling_base___MMGlobalProperty___attr_access
))( variable6
/*pg*/) /*MMGlobalProperty::attr_access*/;
1328 variable13
= variable12
;
1329 ((string___String___append_t
)CALL(variable9
,COLOR_abstract_collection___IndexedCollection___append
))(variable9
, variable13
) /*String::append*/;
1330 variable14
= NEW_string___String___with_native(BOX_NativeString("(recv) ATTRS(recv, "), TAG_Int(19)); /*new String*/
1331 variable15
= variable14
;
1332 ((string___String___append_t
)CALL(variable9
,COLOR_abstract_collection___IndexedCollection___append
))(variable9
, variable15
) /*String::append*/;
1333 variable16
= variable8
/*s*/;
1334 ((string___String___append_t
)CALL(variable9
,COLOR_abstract_collection___IndexedCollection___append
))(variable9
, variable16
) /*String::append*/;
1335 variable17
= NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
1336 variable18
= variable17
;
1337 ((string___String___append_t
)CALL(variable9
,COLOR_abstract_collection___IndexedCollection___append
))(variable9
, variable18
) /*String::append*/;
1338 variable19
= ((compiling_global___MMGlobalProperty___pos_of_t
)CALL( variable6
/*pg*/,COLOR_compiling_global___MMGlobalProperty___pos_of
))( variable6
/*pg*/) /*MMGlobalProperty::pos_of*/;
1339 variable20
= variable19
;
1340 variable20
= ((string___String___to_s_t
)CALL(variable20
,COLOR_string___Object___to_s
))(variable20
) /*String::to_s*/;
1341 ((string___String___append_t
)CALL(variable9
,COLOR_abstract_collection___IndexedCollection___append
))(variable9
, variable20
) /*String::append*/;
1342 variable21
= NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
1343 variable22
= variable21
;
1344 ((string___String___append_t
)CALL(variable9
,COLOR_abstract_collection___IndexedCollection___append
))(variable9
, variable22
) /*String::append*/;
1345 ((compiling_base___CompilerVisitor___add_decl_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_decl
))( variable0
/*v*/, variable9
) /*CompilerVisitor::add_decl*/;
1347 variable7
= NEW_string___String___init(); /*new String*/
1348 variable8
= NEW_string___String___with_native(BOX_NativeString("#define "), TAG_Int(8)); /*new String*/
1349 variable9
= variable8
;
1350 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable9
) /*String::append*/;
1351 variable10
= ((compiling_base___MMGlobalProperty___attr_access_t
)CALL( variable6
/*pg*/,COLOR_compiling_base___MMGlobalProperty___attr_access
))( variable6
/*pg*/) /*MMGlobalProperty::attr_access*/;
1352 variable11
= variable10
;
1353 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable11
) /*String::append*/;
1354 variable12
= NEW_string___String___with_native(BOX_NativeString("(recv) ATTR(recv, "), TAG_Int(18)); /*new String*/
1355 variable13
= variable12
;
1356 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable13
) /*String::append*/;
1357 variable14
= ((compiling_base___MMGlobalProperty___color_id_t
)CALL( variable6
/*pg*/,COLOR_compiling_base___MMGlobalProperty___color_id
))( variable6
/*pg*/) /*MMGlobalProperty::color_id*/;
1358 variable15
= variable14
;
1359 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable15
) /*String::append*/;
1360 variable16
= NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
1361 variable17
= variable16
;
1362 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable17
) /*String::append*/;
1363 ((compiling_base___CompilerVisitor___add_decl_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_decl
))( variable0
/*v*/, variable7
) /*CompilerVisitor::add_decl*/;
1366 ((compiling_methods___MMLocalProperty___compile_property_to_c_t
)CALL( variable5
/*p*/,COLOR_compiling_methods___MMLocalProperty___compile_property_to_c
))( variable5
/*p*/, variable0
/*v*/) /*MMLocalProperty::compile_property_to_c*/;
1367 continue_48
: while(0);
1368 ((abstract_collection___Iterator___next_t
)CALL(variable4
,COLOR_abstract_collection___Iterator___next
))(variable4
) /*Iterator::next*/;
1371 continue_47
: while(0);
1372 ((abstract_collection___Iterator___next_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___next
))(variable2
) /*Iterator::next*/;
1375 tracehead
= trace
.prev
;
1378 void compiling_global___MMSrcModule___compile_local_table_to_c(val_t self
, val_t param0
) {
1379 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 526, LOCATE_compiling_global___MMSrcModule___compile_local_table_to_c
};
1392 trace
.prev
= tracehead
; tracehead
= &trace
;
1394 variable1
= ((compiling_base___CompilerVisitor___tc_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___tc
))( variable0
/*v*/) /*CompilerVisitor::tc*/;
1395 variable1
= ((compiling_base___ToolContext___global_t
)CALL(variable1
,COLOR_compiling_base___ToolContext___global
))(variable1
) /*ToolContext::global*/;
1396 variable2
= variable1
;
1397 if (!UNTAG_Bool(variable2
)) { /* or */
1398 variable2
= ATTR_compiling_global___MMSrcModule____local_table( self
) /*MMSrcModule::_local_table*/;
1399 variable2
= ((array___AbstractArray___is_empty_t
)CALL(variable2
,COLOR_abstract_collection___Collection___is_empty
))(variable2
) /*AbstractArray::is_empty*/;
1401 variable1
= variable2
;
1402 if (UNTAG_Bool(variable1
)) { /*if*/
1403 goto return_label49
;
1405 variable1
= NEW_string___String___init(); /*new String*/
1406 variable2
= NEW_string___String___with_native(BOX_NativeString("const int SFT_"), TAG_Int(14)); /*new String*/
1407 variable3
= variable2
;
1408 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable3
) /*String::append*/;
1409 variable4
= ((abstractmetamodel___MMModule___name_t
)CALL( self
,COLOR_abstractmetamodel___MMModule___name
))( self
) /*MMModule::name*/;
1410 variable5
= variable4
;
1411 variable5
= ((string___String___to_s_t
)CALL(variable5
,COLOR_string___Object___to_s
))(variable5
) /*String::to_s*/;
1412 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable5
) /*String::append*/;
1413 variable6
= NEW_string___String___with_native(BOX_NativeString("["), TAG_Int(1)); /*new String*/
1414 variable7
= variable6
;
1415 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable7
) /*String::append*/;
1416 variable8
= ATTR_compiling_global___MMSrcModule____local_table( self
) /*MMSrcModule::_local_table*/;
1417 variable8
= ((array___AbstractArray___length_t
)CALL(variable8
,COLOR_abstract_collection___Collection___length
))(variable8
) /*AbstractArray::length*/;
1418 variable9
= variable8
;
1419 variable9
= ((string___String___to_s_t
)CALL(variable9
,COLOR_string___Object___to_s
))(variable9
) /*String::to_s*/;
1420 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable9
) /*String::append*/;
1421 variable10
= NEW_string___String___with_native(BOX_NativeString("] = {"), TAG_Int(5)); /*new String*/
1422 variable11
= variable10
;
1423 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable11
) /*String::append*/;
1424 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable1
) /*CompilerVisitor::add_instr*/;
1425 ((compiling_base___CompilerVisitor___indent_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___indent
))( variable0
/*v*/) /*CompilerVisitor::indent*/;
1426 variable1
= ATTR_compiling_global___MMSrcModule____local_table( self
) /*MMSrcModule::_local_table*/;
1427 variable1
= ((array___AbstractArray___iterator_t
)CALL(variable1
,COLOR_abstract_collection___Collection___iterator
))(variable1
) /*AbstractArray::iterator*/;
1428 while (true) { /*for*/
1429 variable2
= ((array___ArrayIterator___is_ok_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___is_ok
))(variable1
) /*ArrayIterator::is_ok*/;
1430 if (!UNTAG_Bool(variable2
)) break; /*for*/
1431 variable2
= ((array___ArrayIterator___item_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___item
))(variable1
) /*ArrayIterator::item*/;
1432 variable3
= ((compiling_global___CompilerVisitor___global_analysis_t
)CALL( variable0
/*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis
))( variable0
/*v*/) /*CompilerVisitor::global_analysis*/;
1433 variable3
= ((compiling_global___LocalTableElt___value_t
)CALL( variable2
/*e*/,COLOR_compiling_global___LocalTableElt___value
))( variable2
/*e*/, variable3
) /*LocalTableElt::value*/;
1434 variable4
= NEW_string___String___with_native(BOX_NativeString(","), TAG_Int(1)); /*new String*/
1435 variable3
= ((string___String_____plus_t
)CALL(variable3
,COLOR_string___String_____plus
))(variable3
, variable4
) /*String::+*/;
1436 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable3
) /*CompilerVisitor::add_instr*/;
1437 continue_50
: while(0);
1438 ((array___ArrayIterator___next_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___next
))(variable1
) /*ArrayIterator::next*/;
1441 ((compiling_base___CompilerVisitor___unindent_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___unindent
))( variable0
/*v*/) /*CompilerVisitor::unindent*/;
1442 variable1
= NEW_string___String___with_native(BOX_NativeString("};"), TAG_Int(2)); /*new String*/
1443 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable1
) /*CompilerVisitor::add_instr*/;
1444 return_label49
: while(false);
1445 tracehead
= trace
.prev
;
1448 val_t
compiling_global___TableElt___is_related_to(val_t self
, val_t param0
) {
1449 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 544, LOCATE_compiling_global___TableElt___is_related_to
};
1450 trace
.prev
= tracehead
; tracehead
= &trace
;
1451 fprintf(stderr
, "Deferred method %s called");
1452 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_compiling_global___MMSrcModule___compile_local_table_to_c
, LOCATE_compiling_global
, 544);
1454 tracehead
= trace
.prev
;
1457 val_t
compiling_global___TableElt___length(val_t self
) {
1458 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 545, LOCATE_compiling_global___TableElt___length
};
1460 trace
.prev
= tracehead
; tracehead
= &trace
;
1461 variable0
= TAG_Int(1);
1462 goto return_label51
;
1463 return_label51
: while(false);
1464 tracehead
= trace
.prev
;
1467 val_t
compiling_global___TableElt___item(val_t self
, val_t param0
) {
1468 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 546, LOCATE_compiling_global___TableElt___item
};
1471 trace
.prev
= tracehead
; tracehead
= &trace
;
1474 goto return_label52
;
1475 return_label52
: while(false);
1476 tracehead
= trace
.prev
;
1479 val_t
compiling_global___TableElt___compile_to_c(val_t self
, val_t param0
, val_t param1
) {
1480 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 547, LOCATE_compiling_global___TableElt___compile_to_c
};
1481 trace
.prev
= tracehead
; tracehead
= &trace
;
1482 fprintf(stderr
, "Deferred method %s called");
1483 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_compiling_global___TableElt___item
, LOCATE_compiling_global
, 547);
1485 tracehead
= trace
.prev
;
1488 val_t
compiling_global___LocalTableElt___symbol(val_t self
) {
1489 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 552, LOCATE_compiling_global___LocalTableElt___symbol
};
1490 trace
.prev
= tracehead
; tracehead
= &trace
;
1491 fprintf(stderr
, "Deferred method %s called");
1492 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_compiling_global___TableElt___item
, LOCATE_compiling_global
, 552);
1494 tracehead
= trace
.prev
;
1497 val_t
compiling_global___LocalTableElt___value(val_t self
, val_t param0
) {
1498 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 553, LOCATE_compiling_global___LocalTableElt___value
};
1499 trace
.prev
= tracehead
; tracehead
= &trace
;
1500 fprintf(stderr
, "Deferred method %s called");
1501 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_compiling_global___TableElt___item
, LOCATE_compiling_global
, 553);
1503 tracehead
= trace
.prev
;
1506 val_t
compiling_global___TableEltPropPos___symbol(val_t self
) {
1507 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 559, LOCATE_compiling_global___TableEltPropPos___symbol
};
1509 trace
.prev
= tracehead
; tracehead
= &trace
;
1510 variable0
= ATTR_compiling_global___TableEltPropPos____property( self
) /*TableEltPropPos::_property*/;
1511 variable0
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL(variable0
,COLOR_abstractmetamodel___MMLocalProperty___global
))(variable0
) /*MMLocalProperty::global*/;
1512 variable0
= ((compiling_base___MMGlobalProperty___color_id_t
)CALL(variable0
,COLOR_compiling_base___MMGlobalProperty___color_id
))(variable0
) /*MMGlobalProperty::color_id*/;
1513 goto return_label53
;
1514 return_label53
: while(false);
1515 tracehead
= trace
.prev
;
1518 val_t
compiling_global___TableEltPropPos___value(val_t self
, val_t param0
) {
1519 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 560, LOCATE_compiling_global___TableEltPropPos___value
};
1532 trace
.prev
= tracehead
; tracehead
= &trace
;
1534 variable1
= NEW_string___String___init(); /*new String*/
1535 variable2
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1536 variable3
= variable2
;
1537 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable3
) /*String::append*/;
1538 variable4
= ((compiling_global___ColorContext___color_t
)CALL( variable0
/*ga*/,COLOR_compiling_global___ColorContext___color
))( variable0
/*ga*/, self
) /*ColorContext::color*/;
1539 variable5
= variable4
;
1540 variable5
= ((string___String___to_s_t
)CALL(variable5
,COLOR_string___Object___to_s
))(variable5
) /*String::to_s*/;
1541 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable5
) /*String::append*/;
1542 variable6
= NEW_string___String___with_native(BOX_NativeString(" /* Property "), TAG_Int(13)); /*new String*/
1543 variable7
= variable6
;
1544 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable7
) /*String::append*/;
1545 variable8
= ATTR_compiling_global___TableEltPropPos____property( self
) /*TableEltPropPos::_property*/;
1546 variable9
= variable8
;
1547 variable9
= ((string___String___to_s_t
)CALL(variable9
,COLOR_string___Object___to_s
))(variable9
) /*String::to_s*/;
1548 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable9
) /*String::append*/;
1549 variable10
= NEW_string___String___with_native(BOX_NativeString(" */"), TAG_Int(3)); /*new String*/
1550 variable11
= variable10
;
1551 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable11
) /*String::append*/;
1552 goto return_label54
;
1553 return_label54
: while(false);
1554 tracehead
= trace
.prev
;
1557 void compiling_global___TableEltPropPos___init(val_t self
, val_t param0
, int* init_table
) {
1558 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 562, LOCATE_compiling_global___TableEltPropPos___init
};
1560 trace
.prev
= tracehead
; tracehead
= &trace
;
1562 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TableEltPropPos
].i
]) return;
1563 ATTR_compiling_global___TableEltPropPos____property( self
) /*TableEltPropPos::_property*/ = variable0
/*p*/;
1564 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TableEltPropPos
].i
] = 1;
1565 tracehead
= trace
.prev
;
1568 val_t
compiling_global___TableEltMethPos___compile_to_c(val_t self
, val_t param0
, val_t param1
) {
1569 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 570, LOCATE_compiling_global___TableEltMethPos___compile_to_c
};
1574 trace
.prev
= tracehead
; tracehead
= &trace
;
1577 variable3
= ATTR_compiling_global___TableEltPropPos____property( self
) /*TableEltPropPos::_property*/;
1578 variable3
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL(variable3
,COLOR_abstractmetamodel___MMLocalProperty___global
))(variable3
) /*MMLocalProperty::global*/;
1579 variable3
= ((inheritance___MMLocalClass_____bra_t
)CALL( variable1
/*c*/,COLOR_abstractmetamodel___MMLocalClass_____bra
))( variable1
/*c*/, variable3
) /*MMLocalClass::[]*/;
1580 variable2
= variable3
;
1581 variable3
= ((compiling_base___MMLocalProperty___cname_t
)CALL( variable2
/*p*/,COLOR_compiling_base___MMLocalProperty___cname
))( variable2
/*p*/) /*MMLocalProperty::cname*/;
1582 variable2
= variable3
;
1583 goto return_label56
;
1584 return_label56
: while(false);
1585 tracehead
= trace
.prev
;
1588 void compiling_global___TableEltMethPos___init(val_t self
, val_t param0
, int* init_table
) {
1589 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 575, LOCATE_compiling_global___TableEltMethPos___init
};
1591 trace
.prev
= tracehead
; tracehead
= &trace
;
1593 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TableEltMethPos
].i
]) return;
1594 ((compiling_global___TableEltPropPos___init_t
)CALL( self
,COLOR_compiling_global___TableEltPropPos___init
))( self
, param0
, init_table
/*YYY*/) /*TableEltPropPos::init*/;
1595 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TableEltMethPos
].i
] = 1;
1596 tracehead
= trace
.prev
;
1599 val_t
compiling_global___TableEltSuperPos___symbol(val_t self
) {
1600 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 580, LOCATE_compiling_global___TableEltSuperPos___symbol
};
1602 trace
.prev
= tracehead
; tracehead
= &trace
;
1603 variable0
= ATTR_compiling_global___TableEltPropPos____property( self
) /*TableEltPropPos::_property*/;
1604 variable0
= ((compiling_base___MMLocalProperty___color_id_for_super_t
)CALL(variable0
,COLOR_compiling_base___MMLocalProperty___color_id_for_super
))(variable0
) /*MMLocalProperty::color_id_for_super*/;
1605 goto return_label58
;
1606 return_label58
: while(false);
1607 tracehead
= trace
.prev
;
1610 val_t
compiling_global___TableEltSuperPos___compile_to_c(val_t self
, val_t param0
, val_t param1
) {
1611 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 581, LOCATE_compiling_global___TableEltSuperPos___compile_to_c
};
1622 trace
.prev
= tracehead
; tracehead
= &trace
;
1625 variable3
= ATTR_compiling_global___TableEltPropPos____property( self
) /*TableEltPropPos::_property*/;
1626 variable3
= ((abstractmetamodel___MMLocalProperty___local_class_t
)CALL(variable3
,COLOR_abstractmetamodel___MMLocalProperty___local_class
))(variable3
) /*MMLocalProperty::local_class*/;
1627 variable2
= variable3
;
1628 variable4
= ATTR_compiling_global___TableEltPropPos____property( self
) /*TableEltPropPos::_property*/;
1629 variable4
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL(variable4
,COLOR_abstractmetamodel___MMLocalProperty___global
))(variable4
) /*MMLocalProperty::global*/;
1630 variable3
= variable4
;
1631 variable5
= ((abstractmetamodel___MMLocalClass___che_t
)CALL( variable1
/*c*/,COLOR_abstractmetamodel___MMLocalClass___che
))( variable1
/*c*/) /*MMLocalClass::che*/;
1632 variable5
= ((partial_order___PartialOrderElement___linear_extension_t
)CALL(variable5
,COLOR_partial_order___PartialOrderElement___linear_extension
))(variable5
) /*PartialOrderElement::linear_extension*/;
1633 variable4
= variable5
;
1634 variable5
= TAG_Bool(false);
1635 variable6
= ((array___AbstractArray___iterator_t
)CALL( variable4
/*lin*/,COLOR_abstract_collection___Collection___iterator
))( variable4
/*lin*/) /*AbstractArray::iterator*/;
1636 while (true) { /*for*/
1637 variable7
= ((array___ArrayIterator___is_ok_t
)CALL(variable6
,COLOR_abstract_collection___Iterator___is_ok
))(variable6
) /*ArrayIterator::is_ok*/;
1638 if (!UNTAG_Bool(variable7
)) break; /*for*/
1639 variable7
= ((array___ArrayIterator___item_t
)CALL(variable6
,COLOR_abstract_collection___Iterator___item
))(variable6
) /*ArrayIterator::item*/;
1640 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*/) /*Object::==*/)))));
1641 if (UNTAG_Bool(variable8
)) { /*if*/
1642 variable5
= TAG_Bool(true) /*found=*/;
1644 variable8
= variable5
/*found*/;
1645 if (UNTAG_Bool(variable8
)) { /* and */
1646 variable8
= ((abstractmetamodel___MMLocalClass___che_t
)CALL( variable1
/*c*/,COLOR_abstractmetamodel___MMLocalClass___che
))( variable1
/*c*/) /*MMLocalClass::che*/;
1647 variable8
= ((partial_order___PartialOrderElement_____l_t
)CALL(variable8
,COLOR_partial_order___PartialOrderElement_____l
))(variable8
, variable7
/*s*/) /*PartialOrderElement::<*/;
1649 if (UNTAG_Bool(variable8
)) { /*if*/
1650 variable9
= ((inheritance___MMLocalClass_____bra_t
)CALL( variable7
/*s*/,COLOR_abstractmetamodel___MMLocalClass_____bra
))( variable7
/*s*/, variable3
/*g*/) /*MMLocalClass::[]*/;
1651 variable8
= variable9
;
1652 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*/) /*Object::==*/)))))));
1653 if (UNTAG_Bool(variable9
)) { /*if*/
1654 variable9
= ((compiling_base___MMLocalProperty___cname_t
)CALL( variable8
/*p*/,COLOR_compiling_base___MMLocalProperty___cname
))( variable8
/*p*/) /*MMLocalProperty::cname*/;
1655 variable2
= variable9
;
1656 goto return_label59
;
1660 continue_60
: while(0);
1661 ((array___ArrayIterator___next_t
)CALL(variable6
,COLOR_abstract_collection___Iterator___next
))(variable6
) /*ArrayIterator::next*/;
1664 if (!UNTAG_Bool( TAG_Bool(false))) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_compiling_global___TableEltSuperPos___compile_to_c
, LOCATE_compiling_global
, 599); nit_exit(1);}
1665 variable2
= NIT_NULL
/*null*/;
1666 goto return_label59
;
1667 return_label59
: while(false);
1668 tracehead
= trace
.prev
;
1671 void compiling_global___TableEltSuperPos___init(val_t self
, val_t param0
, int* init_table
) {
1672 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 603, LOCATE_compiling_global___TableEltSuperPos___init
};
1674 trace
.prev
= tracehead
; tracehead
= &trace
;
1676 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TableEltSuperPos
].i
]) return;
1677 ((compiling_global___TableEltPropPos___init_t
)CALL( self
,COLOR_compiling_global___TableEltPropPos___init
))( self
, param0
, init_table
/*YYY*/) /*TableEltPropPos::init*/;
1678 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TableEltSuperPos
].i
] = 1;
1679 tracehead
= trace
.prev
;
1682 val_t
compiling_global___TableEltAttrPos___compile_to_c(val_t self
, val_t param0
, val_t param1
) {
1683 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 608, LOCATE_compiling_global___TableEltAttrPos___compile_to_c
};
1701 trace
.prev
= tracehead
; tracehead
= &trace
;
1704 variable3
= ((compiling_global___CompilerVisitor___global_analysis_t
)CALL( variable0
/*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis
))( variable0
/*v*/) /*CompilerVisitor::global_analysis*/;
1705 variable2
= variable3
;
1706 variable4
= ATTR_compiling_global___TableEltPropPos____property( self
) /*TableEltPropPos::_property*/;
1707 variable4
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL(variable4
,COLOR_abstractmetamodel___MMLocalProperty___global
))(variable4
) /*MMLocalProperty::global*/;
1708 variable4
= ((inheritance___MMLocalClass_____bra_t
)CALL( variable1
/*c*/,COLOR_abstractmetamodel___MMLocalClass_____bra
))( variable1
/*c*/, variable4
) /*MMLocalClass::[]*/;
1709 variable3
= variable4
;
1710 variable4
= NEW_string___String___init(); /*new String*/
1711 variable5
= NEW_string___String___with_native(BOX_NativeString("/* "), TAG_Int(3)); /*new String*/
1712 variable6
= variable5
;
1713 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable6
) /*String::append*/;
1714 variable7
= ((compiling_global___ColorContext___color_t
)CALL( variable2
/*ga*/,COLOR_compiling_global___ColorContext___color
))( variable2
/*ga*/, self
) /*ColorContext::color*/;
1715 variable8
= variable7
;
1716 variable8
= ((string___String___to_s_t
)CALL(variable8
,COLOR_string___Object___to_s
))(variable8
) /*String::to_s*/;
1717 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable8
) /*String::append*/;
1718 variable9
= NEW_string___String___with_native(BOX_NativeString(": Attribute "), TAG_Int(12)); /*new String*/
1719 variable10
= variable9
;
1720 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable10
) /*String::append*/;
1721 variable11
= variable1
/*c*/;
1722 variable11
= ((string___String___to_s_t
)CALL(variable11
,COLOR_string___Object___to_s
))(variable11
) /*String::to_s*/;
1723 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable11
) /*String::append*/;
1724 variable12
= NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
1725 variable13
= variable12
;
1726 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable13
) /*String::append*/;
1727 variable14
= variable3
/*p*/;
1728 variable14
= ((string___String___to_s_t
)CALL(variable14
,COLOR_string___Object___to_s
))(variable14
) /*String::to_s*/;
1729 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable14
) /*String::append*/;
1730 variable15
= NEW_string___String___with_native(BOX_NativeString(" */"), TAG_Int(3)); /*new String*/
1731 variable16
= variable15
;
1732 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable16
) /*String::append*/;
1733 variable2
= variable4
;
1734 goto return_label62
;
1735 return_label62
: while(false);
1736 tracehead
= trace
.prev
;
1739 void compiling_global___TableEltAttrPos___init(val_t self
, val_t param0
, int* init_table
) {
1740 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 615, LOCATE_compiling_global___TableEltAttrPos___init
};
1742 trace
.prev
= tracehead
; tracehead
= &trace
;
1744 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TableEltAttrPos
].i
]) return;
1745 ((compiling_global___TableEltPropPos___init_t
)CALL( self
,COLOR_compiling_global___TableEltPropPos___init
))( self
, param0
, init_table
/*YYY*/) /*TableEltPropPos::init*/;
1746 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TableEltAttrPos
].i
] = 1;
1747 tracehead
= trace
.prev
;
1750 val_t
compiling_global___TableEltClassPos___is_related_to(val_t self
, val_t param0
) {
1751 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 621, LOCATE_compiling_global___TableEltClassPos___is_related_to
};
1756 trace
.prev
= tracehead
; tracehead
= &trace
;
1758 variable2
= ((abstractmetamodel___MMLocalClass___module_t
)CALL( variable0
/*c*/,COLOR_abstractmetamodel___MMLocalClass___module
))( variable0
/*c*/) /*MMLocalClass::module*/;
1759 variable3
= ATTR_compiling_global___TableEltClassPos____local_class( self
) /*TableEltClassPos::_local_class*/;
1760 variable3
= ((abstractmetamodel___MMLocalClass___global_t
)CALL(variable3
,COLOR_abstractmetamodel___MMLocalClass___global
))(variable3
) /*MMLocalClass::global*/;
1761 variable2
= ((abstractmetamodel___MMModule_____bra_t
)CALL(variable2
,COLOR_abstractmetamodel___MMModule_____bra
))(variable2
, variable3
) /*MMModule::[]*/;
1762 variable1
= variable2
;
1763 variable2
= ((abstractmetamodel___MMLocalClass___cshe_t
)CALL( variable0
/*c*/,COLOR_abstractmetamodel___MMLocalClass___cshe
))( variable0
/*c*/) /*MMLocalClass::cshe*/;
1764 variable2
= ((partial_order___PartialOrderElement_____leq_t
)CALL(variable2
,COLOR_partial_order___PartialOrderElement_____leq
))(variable2
, variable1
/*bc*/) /*PartialOrderElement::<=*/;
1765 variable1
= variable2
;
1766 goto return_label64
;
1767 return_label64
: while(false);
1768 tracehead
= trace
.prev
;
1771 void compiling_global___TableEltClassPos___init(val_t self
, val_t param0
, int* init_table
) {
1772 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 627, LOCATE_compiling_global___TableEltClassPos___init
};
1774 trace
.prev
= tracehead
; tracehead
= &trace
;
1776 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TableEltClassPos
].i
]) return;
1777 ATTR_compiling_global___TableEltClassPos____local_class( self
) /*TableEltClassPos::_local_class*/ = variable0
/*c*/;
1778 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TableEltClassPos
].i
] = 1;
1779 tracehead
= trace
.prev
;
1782 val_t
compiling_global___TableEltClassIdPos___symbol(val_t self
) {
1783 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 635, LOCATE_compiling_global___TableEltClassIdPos___symbol
};
1785 trace
.prev
= tracehead
; tracehead
= &trace
;
1786 variable0
= ATTR_compiling_global___TableEltClassPos____local_class( self
) /*TableEltClassPos::_local_class*/;
1787 variable0
= ((abstractmetamodel___MMLocalClass___global_t
)CALL(variable0
,COLOR_abstractmetamodel___MMLocalClass___global
))(variable0
) /*MMLocalClass::global*/;
1788 variable0
= ((compiling_base___MMGlobalClass___id_id_t
)CALL(variable0
,COLOR_compiling_base___MMGlobalClass___id_id
))(variable0
) /*MMGlobalClass::id_id*/;
1789 goto return_label66
;
1790 return_label66
: while(false);
1791 tracehead
= trace
.prev
;
1794 val_t
compiling_global___TableEltClassIdPos___value(val_t self
, val_t param0
) {
1795 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 636, LOCATE_compiling_global___TableEltClassIdPos___value
};
1808 trace
.prev
= tracehead
; tracehead
= &trace
;
1810 variable1
= NEW_string___String___init(); /*new String*/
1811 variable2
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1812 variable3
= variable2
;
1813 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable3
) /*String::append*/;
1814 variable4
= ((compiling_global___GlobalAnalysis___compiled_classes_t
)CALL( variable0
/*ga*/,COLOR_compiling_global___GlobalAnalysis___compiled_classes
))( variable0
/*ga*/) /*GlobalAnalysis::compiled_classes*/;
1815 variable5
= ATTR_compiling_global___TableEltClassPos____local_class( self
) /*TableEltClassPos::_local_class*/;
1816 variable5
= ((abstractmetamodel___MMLocalClass___global_t
)CALL(variable5
,COLOR_abstractmetamodel___MMLocalClass___global
))(variable5
) /*MMLocalClass::global*/;
1817 variable4
= ((abstract_collection___CoupleMap_____bra_t
)CALL(variable4
,COLOR_abstract_collection___Map_____bra
))(variable4
, variable5
) /*CoupleMap::[]*/;
1818 variable4
= ((compiling_global___CompiledClass___id_t
)CALL(variable4
,COLOR_compiling_global___CompiledClass___id
))(variable4
) /*CompiledClass::id*/;
1819 variable5
= variable4
;
1820 variable5
= ((string___String___to_s_t
)CALL(variable5
,COLOR_string___Object___to_s
))(variable5
) /*String::to_s*/;
1821 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable5
) /*String::append*/;
1822 variable6
= NEW_string___String___with_native(BOX_NativeString(" /* Id of "), TAG_Int(10)); /*new String*/
1823 variable7
= variable6
;
1824 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable7
) /*String::append*/;
1825 variable8
= ATTR_compiling_global___TableEltClassPos____local_class( self
) /*TableEltClassPos::_local_class*/;
1826 variable9
= variable8
;
1827 variable9
= ((string___String___to_s_t
)CALL(variable9
,COLOR_string___Object___to_s
))(variable9
) /*String::to_s*/;
1828 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable9
) /*String::append*/;
1829 variable10
= NEW_string___String___with_native(BOX_NativeString(" */"), TAG_Int(3)); /*new String*/
1830 variable11
= variable10
;
1831 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable11
) /*String::append*/;
1832 goto return_label67
;
1833 return_label67
: while(false);
1834 tracehead
= trace
.prev
;
1837 void compiling_global___TableEltClassIdPos___init(val_t self
, val_t param0
, int* init_table
) {
1838 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 641, LOCATE_compiling_global___TableEltClassIdPos___init
};
1840 trace
.prev
= tracehead
; tracehead
= &trace
;
1842 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TableEltClassIdPos
].i
]) return;
1843 ((compiling_global___TableEltClassPos___init_t
)CALL( self
,COLOR_compiling_global___TableEltClassPos___init
))( self
, param0
, init_table
/*YYY*/) /*TableEltClassPos::init*/;
1844 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TableEltClassIdPos
].i
] = 1;
1845 tracehead
= trace
.prev
;
1848 val_t
compiling_global___TableEltClassInitTablePos___symbol(val_t self
) {
1849 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 646, LOCATE_compiling_global___TableEltClassInitTablePos___symbol
};
1851 trace
.prev
= tracehead
; tracehead
= &trace
;
1852 variable0
= ATTR_compiling_global___TableEltClassPos____local_class( self
) /*TableEltClassPos::_local_class*/;
1853 variable0
= ((abstractmetamodel___MMLocalClass___global_t
)CALL(variable0
,COLOR_abstractmetamodel___MMLocalClass___global
))(variable0
) /*MMLocalClass::global*/;
1854 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*/;
1855 goto return_label69
;
1856 return_label69
: while(false);
1857 tracehead
= trace
.prev
;
1860 val_t
compiling_global___TableEltClassInitTablePos___value(val_t self
, val_t param0
) {
1861 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 647, LOCATE_compiling_global___TableEltClassInitTablePos___value
};
1874 trace
.prev
= tracehead
; tracehead
= &trace
;
1876 variable1
= NEW_string___String___init(); /*new String*/
1877 variable2
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1878 variable3
= variable2
;
1879 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable3
) /*String::append*/;
1880 variable4
= ((compiling_global___ColorContext___color_t
)CALL( variable0
/*ga*/,COLOR_compiling_global___ColorContext___color
))( variable0
/*ga*/, self
) /*ColorContext::color*/;
1881 variable5
= variable4
;
1882 variable5
= ((string___String___to_s_t
)CALL(variable5
,COLOR_string___Object___to_s
))(variable5
) /*String::to_s*/;
1883 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable5
) /*String::append*/;
1884 variable6
= NEW_string___String___with_native(BOX_NativeString(" /* Color of "), TAG_Int(13)); /*new String*/
1885 variable7
= variable6
;
1886 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable7
) /*String::append*/;
1887 variable8
= ATTR_compiling_global___TableEltClassPos____local_class( self
) /*TableEltClassPos::_local_class*/;
1888 variable9
= variable8
;
1889 variable9
= ((string___String___to_s_t
)CALL(variable9
,COLOR_string___Object___to_s
))(variable9
) /*String::to_s*/;
1890 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable9
) /*String::append*/;
1891 variable10
= NEW_string___String___with_native(BOX_NativeString(" */"), TAG_Int(3)); /*new String*/
1892 variable11
= variable10
;
1893 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable11
) /*String::append*/;
1894 goto return_label70
;
1895 return_label70
: while(false);
1896 tracehead
= trace
.prev
;
1899 val_t
compiling_global___TableEltClassInitTablePos___compile_to_c(val_t self
, val_t param0
, val_t param1
) {
1900 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 651, LOCATE_compiling_global___TableEltClassInitTablePos___compile_to_c
};
1924 trace
.prev
= tracehead
; tracehead
= &trace
;
1927 variable3
= ((compiling_global___CompilerVisitor___global_analysis_t
)CALL( variable0
/*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis
))( variable0
/*v*/) /*CompilerVisitor::global_analysis*/;
1928 variable2
= variable3
;
1929 variable4
= ((compiling_global___GlobalAnalysis___compiled_classes_t
)CALL( variable2
/*ga*/,COLOR_compiling_global___GlobalAnalysis___compiled_classes
))( variable2
/*ga*/) /*GlobalAnalysis::compiled_classes*/;
1930 variable5
= ATTR_compiling_global___TableEltClassPos____local_class( self
) /*TableEltClassPos::_local_class*/;
1931 variable5
= ((abstractmetamodel___MMLocalClass___global_t
)CALL(variable5
,COLOR_abstractmetamodel___MMLocalClass___global
))(variable5
) /*MMLocalClass::global*/;
1932 variable4
= ((abstract_collection___CoupleMap_____bra_t
)CALL(variable4
,COLOR_abstract_collection___Map_____bra
))(variable4
, variable5
) /*CoupleMap::[]*/;
1933 variable3
= variable4
;
1934 variable5
= ((abstractmetamodel___MMLocalClass___cshe_t
)CALL( variable1
/*c*/,COLOR_abstractmetamodel___MMLocalClass___cshe
))( variable1
/*c*/) /*MMLocalClass::cshe*/;
1935 variable5
= ((partial_order___PartialOrderElement___reverse_linear_extension_t
)CALL(variable5
,COLOR_partial_order___PartialOrderElement___reverse_linear_extension
))(variable5
) /*PartialOrderElement::reverse_linear_extension*/;
1936 variable4
= variable5
;
1937 variable5
= TAG_Int(0);
1938 while (true) { /*while*/
1939 variable6
= variable5
/*i*/;
1940 variable7
= TAG_Bool(UNTAG_Int( variable6
/*index*/)>=UNTAG_Int( TAG_Int(0)));
1941 variable8
= variable7
;
1942 if (UNTAG_Bool(variable8
)) { /* and */
1943 variable8
= ATTR_array___AbstractArray____length( variable4
/*linext*/) /*AbstractArray::_length*/;
1944 variable8
= TAG_Bool(UNTAG_Int( variable6
/*index*/)<UNTAG_Int(variable8
));
1946 variable7
= variable8
;
1947 if (!UNTAG_Bool(variable7
)) { fprintf(stderr
, "Assert%s failed", " 'index' "); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_array___Array_____bra
, LOCATE_compiling_global
, 229); nit_exit(1);}
1948 variable7
= ATTR_array___Array____items( variable4
/*linext*/) /*Array::_items*/;
1949 variable7
= UNBOX_NativeArray(variable7
)[UNTAG_Int( variable6
/*index*/)];
1950 goto return_label73
;
1951 return_label73
: while(false);
1952 variable6
= variable7
;
1953 variable6
= ((abstractmetamodel___MMLocalClass___global_t
)CALL(variable6
,COLOR_abstractmetamodel___MMLocalClass___global
))(variable6
) /*MMLocalClass::global*/;
1954 variable7
= ATTR_compiling_global___TableEltClassPos____local_class( self
) /*TableEltClassPos::_local_class*/;
1955 variable7
= ((abstractmetamodel___MMLocalClass___global_t
)CALL(variable7
,COLOR_abstractmetamodel___MMLocalClass___global
))(variable7
) /*MMLocalClass::global*/;
1956 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
) /*Object::==*/)))))));
1957 if (!UNTAG_Bool(variable6
)) break; /* while*/
1958 variable5
= TAG_Int(UNTAG_Int(variable5
)+UNTAG_Int( TAG_Int(1))) /*i*/;
1959 continue_72
: while(0);
1962 variable6
= NEW_string___String___init(); /*new String*/
1963 variable7
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1964 variable8
= variable7
;
1965 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable8
) /*String::append*/;
1966 variable9
= variable5
/*i*/;
1967 variable9
= ((string___String___to_s_t
)CALL(variable9
,COLOR_string___Object___to_s
))(variable9
) /*String::to_s*/;
1968 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable9
) /*String::append*/;
1969 variable10
= NEW_string___String___with_native(BOX_NativeString(" /* "), TAG_Int(4)); /*new String*/
1970 variable11
= variable10
;
1971 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable11
) /*String::append*/;
1972 variable12
= ((compiling_global___ColorContext___color_t
)CALL( variable2
/*ga*/,COLOR_compiling_global___ColorContext___color
))( variable2
/*ga*/, self
) /*ColorContext::color*/;
1973 variable13
= variable12
;
1974 variable13
= ((string___String___to_s_t
)CALL(variable13
,COLOR_string___Object___to_s
))(variable13
) /*String::to_s*/;
1975 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable13
) /*String::append*/;
1976 variable14
= NEW_string___String___with_native(BOX_NativeString(": "), TAG_Int(2)); /*new String*/
1977 variable15
= variable14
;
1978 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable15
) /*String::append*/;
1979 variable16
= variable1
/*c*/;
1980 variable16
= ((string___String___to_s_t
)CALL(variable16
,COLOR_string___Object___to_s
))(variable16
) /*String::to_s*/;
1981 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable16
) /*String::append*/;
1982 variable17
= NEW_string___String___with_native(BOX_NativeString(" < "), TAG_Int(3)); /*new String*/
1983 variable18
= variable17
;
1984 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable18
) /*String::append*/;
1985 variable19
= ((compiling_global___CompiledClass___local_class_t
)CALL( variable3
/*cc*/,COLOR_compiling_global___CompiledClass___local_class
))( variable3
/*cc*/) /*CompiledClass::local_class*/;
1986 variable20
= variable19
;
1987 variable20
= ((string___String___to_s_t
)CALL(variable20
,COLOR_string___Object___to_s
))(variable20
) /*String::to_s*/;
1988 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable20
) /*String::append*/;
1989 variable21
= NEW_string___String___with_native(BOX_NativeString(": superclass init_table position */"), TAG_Int(35)); /*new String*/
1990 variable22
= variable21
;
1991 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable22
) /*String::append*/;
1992 variable2
= variable6
;
1993 goto return_label71
;
1994 return_label71
: while(false);
1995 tracehead
= trace
.prev
;
1998 void compiling_global___TableEltClassInitTablePos___init(val_t self
, val_t param0
, int* init_table
) {
1999 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 663, LOCATE_compiling_global___TableEltClassInitTablePos___init
};
2001 trace
.prev
= tracehead
; tracehead
= &trace
;
2003 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TableEltClassInitTablePos
].i
]) return;
2004 ((compiling_global___TableEltClassPos___init_t
)CALL( self
,COLOR_compiling_global___TableEltClassPos___init
))( self
, param0
, init_table
/*YYY*/) /*TableEltClassPos::init*/;
2005 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TableEltClassInitTablePos
].i
] = 1;
2006 tracehead
= trace
.prev
;
2009 val_t
compiling_global___TableEltClassColorPos___symbol(val_t self
) {
2010 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 668, LOCATE_compiling_global___TableEltClassColorPos___symbol
};
2012 trace
.prev
= tracehead
; tracehead
= &trace
;
2013 variable0
= ATTR_compiling_global___TableEltClassPos____local_class( self
) /*TableEltClassPos::_local_class*/;
2014 variable0
= ((abstractmetamodel___MMLocalClass___global_t
)CALL(variable0
,COLOR_abstractmetamodel___MMLocalClass___global
))(variable0
) /*MMLocalClass::global*/;
2015 variable0
= ((compiling_base___MMGlobalClass___color_id_t
)CALL(variable0
,COLOR_compiling_base___MMGlobalClass___color_id
))(variable0
) /*MMGlobalClass::color_id*/;
2016 goto return_label75
;
2017 return_label75
: while(false);
2018 tracehead
= trace
.prev
;
2021 val_t
compiling_global___TableEltClassColorPos___value(val_t self
, val_t param0
) {
2022 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 669, LOCATE_compiling_global___TableEltClassColorPos___value
};
2035 trace
.prev
= tracehead
; tracehead
= &trace
;
2037 variable1
= NEW_string___String___init(); /*new String*/
2038 variable2
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2039 variable3
= variable2
;
2040 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable3
) /*String::append*/;
2041 variable4
= ((compiling_global___ColorContext___color_t
)CALL( variable0
/*ga*/,COLOR_compiling_global___ColorContext___color
))( variable0
/*ga*/, self
) /*ColorContext::color*/;
2042 variable5
= variable4
;
2043 variable5
= ((string___String___to_s_t
)CALL(variable5
,COLOR_string___Object___to_s
))(variable5
) /*String::to_s*/;
2044 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable5
) /*String::append*/;
2045 variable6
= NEW_string___String___with_native(BOX_NativeString(" /* Color of "), TAG_Int(13)); /*new String*/
2046 variable7
= variable6
;
2047 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable7
) /*String::append*/;
2048 variable8
= ATTR_compiling_global___TableEltClassPos____local_class( self
) /*TableEltClassPos::_local_class*/;
2049 variable9
= variable8
;
2050 variable9
= ((string___String___to_s_t
)CALL(variable9
,COLOR_string___Object___to_s
))(variable9
) /*String::to_s*/;
2051 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable9
) /*String::append*/;
2052 variable10
= NEW_string___String___with_native(BOX_NativeString(" */"), TAG_Int(3)); /*new String*/
2053 variable11
= variable10
;
2054 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable11
) /*String::append*/;
2055 goto return_label76
;
2056 return_label76
: while(false);
2057 tracehead
= trace
.prev
;
2060 val_t
compiling_global___TableEltClassColorPos___compile_to_c(val_t self
, val_t param0
, val_t param1
) {
2061 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 673, LOCATE_compiling_global___TableEltClassColorPos___compile_to_c
};
2084 trace
.prev
= tracehead
; tracehead
= &trace
;
2087 variable3
= ((compiling_global___CompilerVisitor___global_analysis_t
)CALL( variable0
/*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis
))( variable0
/*v*/) /*CompilerVisitor::global_analysis*/;
2088 variable2
= variable3
;
2089 variable4
= ((compiling_global___GlobalAnalysis___compiled_classes_t
)CALL( variable2
/*ga*/,COLOR_compiling_global___GlobalAnalysis___compiled_classes
))( variable2
/*ga*/) /*GlobalAnalysis::compiled_classes*/;
2090 variable5
= ATTR_compiling_global___TableEltClassPos____local_class( self
) /*TableEltClassPos::_local_class*/;
2091 variable5
= ((abstractmetamodel___MMLocalClass___global_t
)CALL(variable5
,COLOR_abstractmetamodel___MMLocalClass___global
))(variable5
) /*MMLocalClass::global*/;
2092 variable4
= ((abstract_collection___CoupleMap_____bra_t
)CALL(variable4
,COLOR_abstract_collection___Map_____bra
))(variable4
, variable5
) /*CoupleMap::[]*/;
2093 variable3
= variable4
;
2094 variable4
= NEW_string___String___init(); /*new String*/
2095 variable5
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2096 variable6
= variable5
;
2097 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable6
) /*String::append*/;
2098 variable7
= ((compiling_global___CompiledClass___id_t
)CALL( variable3
/*cc*/,COLOR_compiling_global___CompiledClass___id
))( variable3
/*cc*/) /*CompiledClass::id*/;
2099 variable8
= variable7
;
2100 variable8
= ((string___String___to_s_t
)CALL(variable8
,COLOR_string___Object___to_s
))(variable8
) /*String::to_s*/;
2101 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable8
) /*String::append*/;
2102 variable9
= NEW_string___String___with_native(BOX_NativeString(" /* "), TAG_Int(4)); /*new String*/
2103 variable10
= variable9
;
2104 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable10
) /*String::append*/;
2105 variable11
= ((compiling_global___ColorContext___color_t
)CALL( variable2
/*ga*/,COLOR_compiling_global___ColorContext___color
))( variable2
/*ga*/, self
) /*ColorContext::color*/;
2106 variable12
= variable11
;
2107 variable12
= ((string___String___to_s_t
)CALL(variable12
,COLOR_string___Object___to_s
))(variable12
) /*String::to_s*/;
2108 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable12
) /*String::append*/;
2109 variable13
= NEW_string___String___with_native(BOX_NativeString(": "), TAG_Int(2)); /*new String*/
2110 variable14
= variable13
;
2111 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable14
) /*String::append*/;
2112 variable15
= variable1
/*c*/;
2113 variable15
= ((string___String___to_s_t
)CALL(variable15
,COLOR_string___Object___to_s
))(variable15
) /*String::to_s*/;
2114 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable15
) /*String::append*/;
2115 variable16
= NEW_string___String___with_native(BOX_NativeString(" < "), TAG_Int(3)); /*new String*/
2116 variable17
= variable16
;
2117 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable17
) /*String::append*/;
2118 variable18
= ((compiling_global___CompiledClass___local_class_t
)CALL( variable3
/*cc*/,COLOR_compiling_global___CompiledClass___local_class
))( variable3
/*cc*/) /*CompiledClass::local_class*/;
2119 variable19
= variable18
;
2120 variable19
= ((string___String___to_s_t
)CALL(variable19
,COLOR_string___Object___to_s
))(variable19
) /*String::to_s*/;
2121 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable19
) /*String::append*/;
2122 variable20
= NEW_string___String___with_native(BOX_NativeString(": superclass typecheck marker */"), TAG_Int(32)); /*new String*/
2123 variable21
= variable20
;
2124 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable21
) /*String::append*/;
2125 variable2
= variable4
;
2126 goto return_label77
;
2127 return_label77
: while(false);
2128 tracehead
= trace
.prev
;
2131 void compiling_global___TableEltClassColorPos___init(val_t self
, val_t param0
, int* init_table
) {
2132 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 680, LOCATE_compiling_global___TableEltClassColorPos___init
};
2134 trace
.prev
= tracehead
; tracehead
= &trace
;
2136 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TableEltClassColorPos
].i
]) return;
2137 ((compiling_global___TableEltClassPos___init_t
)CALL( self
,COLOR_compiling_global___TableEltClassPos___init
))( self
, param0
, init_table
/*YYY*/) /*TableEltClassPos::init*/;
2138 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TableEltClassColorPos
].i
] = 1;
2139 tracehead
= trace
.prev
;
2142 val_t
compiling_global___TableEltBaseAttrPos___symbol(val_t self
) {
2143 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 686, LOCATE_compiling_global___TableEltBaseAttrPos___symbol
};
2155 trace
.prev
= tracehead
; tracehead
= &trace
;
2156 variable0
= NEW_string___String___init(); /*new String*/
2157 variable1
= NEW_string___String___with_native(BOX_NativeString("COLOR_"), TAG_Int(6)); /*new String*/
2158 variable2
= variable1
;
2159 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable2
) /*String::append*/;
2160 variable3
= ATTR_compiling_global___TableEltBaseAttrPos____local_class( self
) /*TableEltBaseAttrPos::_local_class*/;
2161 variable3
= ((abstractmetamodel___MMLocalClass___module_t
)CALL(variable3
,COLOR_abstractmetamodel___MMLocalClass___module
))(variable3
) /*MMLocalClass::module*/;
2162 variable4
= variable3
;
2163 variable4
= ((string___String___to_s_t
)CALL(variable4
,COLOR_string___Object___to_s
))(variable4
) /*String::to_s*/;
2164 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable4
) /*String::append*/;
2165 variable5
= NEW_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
2166 variable6
= variable5
;
2167 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable6
) /*String::append*/;
2168 variable7
= ATTR_compiling_global___TableEltBaseAttrPos____local_class( self
) /*TableEltBaseAttrPos::_local_class*/;
2169 variable7
= ((abstractmetamodel___MMLocalClass___name_t
)CALL(variable7
,COLOR_abstractmetamodel___MMLocalClass___name
))(variable7
) /*MMLocalClass::name*/;
2170 variable8
= variable7
;
2171 variable8
= ((string___String___to_s_t
)CALL(variable8
,COLOR_string___Object___to_s
))(variable8
) /*String::to_s*/;
2172 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable8
) /*String::append*/;
2173 variable9
= NEW_string___String___with_native(BOX_NativeString("_BASEATTR"), TAG_Int(9)); /*new String*/
2174 variable10
= variable9
;
2175 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable10
) /*String::append*/;
2176 goto return_label79
;
2177 return_label79
: while(false);
2178 tracehead
= trace
.prev
;
2181 val_t
compiling_global___TableEltBaseAttrPos___value(val_t self
, val_t param0
) {
2182 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 687, LOCATE_compiling_global___TableEltBaseAttrPos___value
};
2195 trace
.prev
= tracehead
; tracehead
= &trace
;
2197 variable1
= NEW_string___String___init(); /*new String*/
2198 variable2
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2199 variable3
= variable2
;
2200 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable3
) /*String::append*/;
2201 variable4
= ((compiling_global___ColorContext___color_t
)CALL( variable0
/*ga*/,COLOR_compiling_global___ColorContext___color
))( variable0
/*ga*/, self
) /*ColorContext::color*/;
2202 variable5
= variable4
;
2203 variable5
= ((string___String___to_s_t
)CALL(variable5
,COLOR_string___Object___to_s
))(variable5
) /*String::to_s*/;
2204 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable5
) /*String::append*/;
2205 variable6
= NEW_string___String___with_native(BOX_NativeString(" /* BaseAttrPos of "), TAG_Int(19)); /*new String*/
2206 variable7
= variable6
;
2207 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable7
) /*String::append*/;
2208 variable8
= ATTR_compiling_global___TableEltBaseAttrPos____local_class( self
) /*TableEltBaseAttrPos::_local_class*/;
2209 variable9
= variable8
;
2210 variable9
= ((string___String___to_s_t
)CALL(variable9
,COLOR_string___Object___to_s
))(variable9
) /*String::to_s*/;
2211 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable9
) /*String::append*/;
2212 variable10
= NEW_string___String___with_native(BOX_NativeString(" */"), TAG_Int(3)); /*new String*/
2213 variable11
= variable10
;
2214 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable11
) /*String::append*/;
2215 goto return_label80
;
2216 return_label80
: while(false);
2217 tracehead
= trace
.prev
;
2220 val_t
compiling_global___TableEltBaseAttrPos___compile_to_c(val_t self
, val_t param0
, val_t param1
) {
2221 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 692, LOCATE_compiling_global___TableEltBaseAttrPos___compile_to_c
};
2248 trace
.prev
= tracehead
; tracehead
= &trace
;
2251 variable3
= ((compiling_global___CompilerVisitor___global_analysis_t
)CALL( variable0
/*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis
))( variable0
/*v*/) /*CompilerVisitor::global_analysis*/;
2252 variable2
= variable3
;
2253 variable4
= ((compiling_global___GlobalAnalysis___compiled_classes_t
)CALL( variable2
/*ga*/,COLOR_compiling_global___GlobalAnalysis___compiled_classes
))( variable2
/*ga*/) /*GlobalAnalysis::compiled_classes*/;
2254 variable5
= ((abstractmetamodel___MMLocalClass___global_t
)CALL( variable1
/*c*/,COLOR_abstractmetamodel___MMLocalClass___global
))( variable1
/*c*/) /*MMLocalClass::global*/;
2255 variable4
= ((abstract_collection___CoupleMap_____bra_t
)CALL(variable4
,COLOR_abstract_collection___Map_____bra
))(variable4
, variable5
) /*CoupleMap::[]*/;
2256 variable3
= variable4
;
2257 variable4
= NEW_string___String___init(); /*new String*/
2258 variable5
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2259 variable6
= variable5
;
2260 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable6
) /*String::append*/;
2261 variable7
= ATTR_compiling_global___TableEltBaseAttrPos____local_class( self
) /*TableEltBaseAttrPos::_local_class*/;
2262 variable7
= ((compiling_global___MMSrcLocalClass___instance_layout_t
)CALL(variable7
,COLOR_compiling_global___MMSrcLocalClass___instance_layout
))(variable7
) /*MMSrcLocalClass::instance_layout*/;
2263 variable7
= ((abstract_collection___IndexedCollection___first_t
)CALL(variable7
,COLOR_abstract_collection___Collection___first
))(variable7
) /*IndexedCollection::first*/;
2264 variable7
= ((compiling_global___ColorContext___color_t
)CALL( variable3
/*cc*/,COLOR_compiling_global___ColorContext___color
))( variable3
/*cc*/, variable7
) /*ColorContext::color*/;
2265 variable8
= variable7
;
2266 variable8
= ((string___String___to_s_t
)CALL(variable8
,COLOR_string___Object___to_s
))(variable8
) /*String::to_s*/;
2267 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable8
) /*String::append*/;
2268 variable9
= NEW_string___String___with_native(BOX_NativeString(" /* "), TAG_Int(4)); /*new String*/
2269 variable10
= variable9
;
2270 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable10
) /*String::append*/;
2271 variable11
= ((compiling_global___ColorContext___color_t
)CALL( variable2
/*ga*/,COLOR_compiling_global___ColorContext___color
))( variable2
/*ga*/, self
) /*ColorContext::color*/;
2272 variable12
= variable11
;
2273 variable12
= ((string___String___to_s_t
)CALL(variable12
,COLOR_string___Object___to_s
))(variable12
) /*String::to_s*/;
2274 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable12
) /*String::append*/;
2275 variable13
= NEW_string___String___with_native(BOX_NativeString(": Base attribut offset of "), TAG_Int(26)); /*new String*/
2276 variable14
= variable13
;
2277 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable14
) /*String::append*/;
2278 variable15
= ATTR_compiling_global___TableEltBaseAttrPos____local_class( self
) /*TableEltBaseAttrPos::_local_class*/;
2279 variable15
= ((abstractmetamodel___MMLocalClass___module_t
)CALL(variable15
,COLOR_abstractmetamodel___MMLocalClass___module
))(variable15
) /*MMLocalClass::module*/;
2280 variable16
= variable15
;
2281 variable16
= ((string___String___to_s_t
)CALL(variable16
,COLOR_string___Object___to_s
))(variable16
) /*String::to_s*/;
2282 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable16
) /*String::append*/;
2283 variable17
= NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
2284 variable18
= variable17
;
2285 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable18
) /*String::append*/;
2286 variable19
= ATTR_compiling_global___TableEltBaseAttrPos____local_class( self
) /*TableEltBaseAttrPos::_local_class*/;
2287 variable20
= variable19
;
2288 variable20
= ((string___String___to_s_t
)CALL(variable20
,COLOR_string___Object___to_s
))(variable20
) /*String::to_s*/;
2289 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable20
) /*String::append*/;
2290 variable21
= NEW_string___String___with_native(BOX_NativeString(" in "), TAG_Int(4)); /*new String*/
2291 variable22
= variable21
;
2292 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable22
) /*String::append*/;
2293 variable23
= variable1
/*c*/;
2294 variable23
= ((string___String___to_s_t
)CALL(variable23
,COLOR_string___Object___to_s
))(variable23
) /*String::to_s*/;
2295 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable23
) /*String::append*/;
2296 variable24
= NEW_string___String___with_native(BOX_NativeString(" */"), TAG_Int(3)); /*new String*/
2297 variable25
= variable24
;
2298 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable25
) /*String::append*/;
2299 variable2
= variable4
;
2300 goto return_label81
;
2301 return_label81
: while(false);
2302 tracehead
= trace
.prev
;
2305 void compiling_global___TableEltBaseAttrPos___init(val_t self
, val_t param0
, int* init_table
) {
2306 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 699, LOCATE_compiling_global___TableEltBaseAttrPos___init
};
2308 trace
.prev
= tracehead
; tracehead
= &trace
;
2310 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TableEltBaseAttrPos
].i
]) return;
2311 ATTR_compiling_global___TableEltBaseAttrPos____local_class( self
) /*TableEltBaseAttrPos::_local_class*/ = variable0
/*c*/;
2312 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TableEltBaseAttrPos
].i
] = 1;
2313 tracehead
= trace
.prev
;
2316 val_t
compiling_global___TableEltComposite___length(val_t self
) {
2317 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 710, LOCATE_compiling_global___TableEltComposite___length
};
2319 trace
.prev
= tracehead
; tracehead
= &trace
;
2320 variable0
= ATTR_compiling_global___TableEltComposite____table( self
) /*TableEltComposite::_table*/;
2321 variable0
= ((array___AbstractArray___length_t
)CALL(variable0
,COLOR_abstract_collection___Collection___length
))(variable0
) /*AbstractArray::length*/;
2322 goto return_label83
;
2323 return_label83
: while(false);
2324 tracehead
= trace
.prev
;
2327 val_t
compiling_global___TableEltComposite___is_related_to(val_t self
, val_t param0
) {
2328 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 711, LOCATE_compiling_global___TableEltComposite___is_related_to
};
2332 trace
.prev
= tracehead
; tracehead
= &trace
;
2334 variable1
= ((abstractmetamodel___MMLocalClass___cshe_t
)CALL( variable0
/*c*/,COLOR_abstractmetamodel___MMLocalClass___cshe
))( variable0
/*c*/) /*MMLocalClass::cshe*/;
2335 variable2
= ATTR_compiling_global___TableEltComposite____cc( self
) /*TableEltComposite::_cc*/;
2336 variable2
= ((compiling_global___CompiledClass___local_class_t
)CALL(variable2
,COLOR_compiling_global___CompiledClass___local_class
))(variable2
) /*CompiledClass::local_class*/;
2337 variable1
= ((partial_order___PartialOrderElement_____leq_t
)CALL(variable1
,COLOR_partial_order___PartialOrderElement_____leq
))(variable1
, variable2
) /*PartialOrderElement::<=*/;
2338 goto return_label84
;
2339 return_label84
: while(false);
2340 tracehead
= trace
.prev
;
2343 void compiling_global___TableEltComposite___add(val_t self
, val_t param0
, val_t param1
) {
2344 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 713, LOCATE_compiling_global___TableEltComposite___add
};
2349 trace
.prev
= tracehead
; tracehead
= &trace
;
2352 variable2
= ATTR_compiling_global___TableEltComposite____offsets( self
) /*TableEltComposite::_offsets*/;
2353 variable3
= ATTR_compiling_global___TableEltComposite____table( self
) /*TableEltComposite::_table*/;
2354 variable3
= ((array___AbstractArray___length_t
)CALL(variable3
,COLOR_abstract_collection___Collection___length
))(variable3
) /*AbstractArray::length*/;
2355 ((hash___HashMap_____braeq_t
)CALL(variable2
,COLOR_abstract_collection___Map_____braeq
))(variable2
, variable0
/*c*/, variable3
) /*HashMap::[]=*/;
2356 variable2
= ATTR_compiling_global___TableEltComposite____table( self
) /*TableEltComposite::_table*/;
2357 ((abstract_collection___IndexedCollection___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable1
/*tab*/) /*IndexedCollection::append*/;
2358 tracehead
= trace
.prev
;
2361 val_t
compiling_global___TableEltComposite___item(val_t self
, val_t param0
) {
2362 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 719, LOCATE_compiling_global___TableEltComposite___item
};
2368 trace
.prev
= tracehead
; tracehead
= &trace
;
2370 variable1
= ATTR_compiling_global___TableEltComposite____table( self
) /*TableEltComposite::_table*/;
2371 variable2
= variable0
/*i*/;
2372 variable3
= TAG_Bool(UNTAG_Int( variable2
/*index*/)>=UNTAG_Int( TAG_Int(0)));
2373 variable4
= variable3
;
2374 if (UNTAG_Bool(variable4
)) { /* and */
2375 variable4
= variable1
;
2376 variable4
= ATTR_array___AbstractArray____length(variable4
) /*AbstractArray::_length*/;
2377 variable4
= TAG_Bool(UNTAG_Int( variable2
/*index*/)<UNTAG_Int(variable4
));
2379 variable3
= variable4
;
2380 if (!UNTAG_Bool(variable3
)) { fprintf(stderr
, "Assert%s failed", " 'index' "); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_array___Array_____bra
, LOCATE_compiling_global
, 229); nit_exit(1);}
2381 variable3
= variable1
;
2382 variable3
= ATTR_array___Array____items(variable3
) /*Array::_items*/;
2383 variable3
= UNBOX_NativeArray(variable3
)[UNTAG_Int( variable2
/*index*/)];
2384 goto return_label87
;
2385 return_label87
: while(false);
2386 variable1
= variable3
;
2387 goto return_label86
;
2388 return_label86
: while(false);
2389 tracehead
= trace
.prev
;
2392 val_t
compiling_global___TableEltComposite___compile_to_c(val_t self
, val_t param0
, val_t param1
) {
2393 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 721, LOCATE_compiling_global___TableEltComposite___compile_to_c
};
2397 trace
.prev
= tracehead
; tracehead
= &trace
;
2400 fprintf(stderr
, "Aborted"); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_compiling_global___TableEltComposite___compile_to_c
, LOCATE_compiling_global
, 721); nit_exit(1);
2401 tracehead
= trace
.prev
;
2404 void compiling_global___TableEltComposite___init(val_t self
, val_t param0
, int* init_table
) {
2405 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 723, LOCATE_compiling_global___TableEltComposite___init
};
2408 trace
.prev
= tracehead
; tracehead
= &trace
;
2410 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TableEltComposite
].i
]) return;
2411 ATTR_compiling_global___TableEltComposite____cc( self
) /*TableEltComposite::_cc*/ = variable0
/*cc*/;
2412 variable1
= NEW_array___Array___init(); /*new Array[E]*/
2413 ATTR_compiling_global___TableEltComposite____table( self
) /*TableEltComposite::_table*/ = variable1
;
2414 variable1
= NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
2415 ATTR_compiling_global___TableEltComposite____offsets( self
) /*TableEltComposite::_offsets*/ = variable1
;
2416 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TableEltComposite
].i
] = 1;
2417 tracehead
= trace
.prev
;
2420 val_t
compiling_global___TableEltClassSelfId___is_related_to(val_t self
, val_t param0
) {
2421 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 733, LOCATE_compiling_global___TableEltClassSelfId___is_related_to
};
2424 trace
.prev
= tracehead
; tracehead
= &trace
;
2426 variable1
= TAG_Bool(true);
2427 goto return_label90
;
2428 return_label90
: while(false);
2429 tracehead
= trace
.prev
;
2432 val_t
compiling_global___TableEltClassSelfId___compile_to_c(val_t self
, val_t param0
, val_t param1
) {
2433 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 734, LOCATE_compiling_global___TableEltClassSelfId___compile_to_c
};
2448 trace
.prev
= tracehead
; tracehead
= &trace
;
2451 variable3
= ((compiling_global___CompilerVisitor___global_analysis_t
)CALL( variable0
/*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis
))( variable0
/*v*/) /*CompilerVisitor::global_analysis*/;
2452 variable2
= variable3
;
2453 variable3
= NEW_string___String___init(); /*new String*/
2454 variable4
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2455 variable5
= variable4
;
2456 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable5
) /*String::append*/;
2457 variable6
= ((compiling_global___CompilerVisitor___global_analysis_t
)CALL( variable0
/*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis
))( variable0
/*v*/) /*CompilerVisitor::global_analysis*/;
2458 variable6
= ((compiling_global___GlobalAnalysis___compiled_classes_t
)CALL(variable6
,COLOR_compiling_global___GlobalAnalysis___compiled_classes
))(variable6
) /*GlobalAnalysis::compiled_classes*/;
2459 variable7
= ((abstractmetamodel___MMLocalClass___global_t
)CALL( variable1
/*c*/,COLOR_abstractmetamodel___MMLocalClass___global
))( variable1
/*c*/) /*MMLocalClass::global*/;
2460 variable6
= ((abstract_collection___CoupleMap_____bra_t
)CALL(variable6
,COLOR_abstract_collection___Map_____bra
))(variable6
, variable7
) /*CoupleMap::[]*/;
2461 variable6
= ((compiling_global___CompiledClass___id_t
)CALL(variable6
,COLOR_compiling_global___CompiledClass___id
))(variable6
) /*CompiledClass::id*/;
2462 variable7
= variable6
;
2463 variable7
= ((string___String___to_s_t
)CALL(variable7
,COLOR_string___Object___to_s
))(variable7
) /*String::to_s*/;
2464 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable7
) /*String::append*/;
2465 variable8
= NEW_string___String___with_native(BOX_NativeString(" /* "), TAG_Int(4)); /*new String*/
2466 variable9
= variable8
;
2467 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable9
) /*String::append*/;
2468 variable10
= ((compiling_global___ColorContext___color_t
)CALL( variable2
/*ga*/,COLOR_compiling_global___ColorContext___color
))( variable2
/*ga*/, self
) /*ColorContext::color*/;
2469 variable11
= variable10
;
2470 variable11
= ((string___String___to_s_t
)CALL(variable11
,COLOR_string___Object___to_s
))(variable11
) /*String::to_s*/;
2471 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable11
) /*String::append*/;
2472 variable12
= NEW_string___String___with_native(BOX_NativeString(": Identity */"), TAG_Int(13)); /*new String*/
2473 variable13
= variable12
;
2474 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable13
) /*String::append*/;
2475 variable2
= variable3
;
2476 goto return_label91
;
2477 return_label91
: while(false);
2478 tracehead
= trace
.prev
;
2481 void compiling_global___TableEltClassSelfId___init(val_t self
, int* init_table
) {
2482 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 740, LOCATE_compiling_global___TableEltClassSelfId___init
};
2483 trace
.prev
= tracehead
; tracehead
= &trace
;
2484 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TableEltClassSelfId
].i
]) return;
2485 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TableEltClassSelfId
].i
] = 1;
2486 tracehead
= trace
.prev
;
2489 val_t
compiling_global___TableEltVftPointer___is_related_to(val_t self
, val_t param0
) {
2490 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 745, LOCATE_compiling_global___TableEltVftPointer___is_related_to
};
2493 trace
.prev
= tracehead
; tracehead
= &trace
;
2495 variable1
= TAG_Bool(true);
2496 goto return_label93
;
2497 return_label93
: while(false);
2498 tracehead
= trace
.prev
;
2501 val_t
compiling_global___TableEltVftPointer___compile_to_c(val_t self
, val_t param0
, val_t param1
) {
2502 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 746, LOCATE_compiling_global___TableEltVftPointer___compile_to_c
};
2513 trace
.prev
= tracehead
; tracehead
= &trace
;
2516 variable3
= ((compiling_global___CompilerVisitor___global_analysis_t
)CALL( variable0
/*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis
))( variable0
/*v*/) /*CompilerVisitor::global_analysis*/;
2517 variable2
= variable3
;
2518 variable3
= NEW_string___String___init(); /*new String*/
2519 variable4
= NEW_string___String___with_native(BOX_NativeString("/* "), TAG_Int(3)); /*new String*/
2520 variable5
= variable4
;
2521 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable5
) /*String::append*/;
2522 variable6
= ((compiling_global___ColorContext___color_t
)CALL( variable2
/*ga*/,COLOR_compiling_global___ColorContext___color
))( variable2
/*ga*/, self
) /*ColorContext::color*/;
2523 variable7
= variable6
;
2524 variable7
= ((string___String___to_s_t
)CALL(variable7
,COLOR_string___Object___to_s
))(variable7
) /*String::to_s*/;
2525 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable7
) /*String::append*/;
2526 variable8
= NEW_string___String___with_native(BOX_NativeString(": Pointer to the classtable */"), TAG_Int(30)); /*new String*/
2527 variable9
= variable8
;
2528 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable9
) /*String::append*/;
2529 variable2
= variable3
;
2530 goto return_label94
;
2531 return_label94
: while(false);
2532 tracehead
= trace
.prev
;
2535 void compiling_global___TableEltVftPointer___init(val_t self
, int* init_table
) {
2536 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 752, LOCATE_compiling_global___TableEltVftPointer___init
};
2537 trace
.prev
= tracehead
; tracehead
= &trace
;
2538 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TableEltVftPointer
].i
]) return;
2539 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TableEltVftPointer
].i
] = 1;
2540 tracehead
= trace
.prev
;
2543 val_t
compiling_global___ClassSorter___compare(val_t self
, val_t param0
, val_t param1
) {
2544 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 759, LOCATE_compiling_global___ClassSorter___compare
};
2548 trace
.prev
= tracehead
; tracehead
= &trace
;
2551 variable2
= ((compiling_global___MMLocalClass___compare_t
)CALL( variable0
/*a*/,COLOR_compiling_global___MMLocalClass___compare
))( variable0
/*a*/, variable1
/*b*/) /*MMLocalClass::compare*/;
2552 goto return_label96
;
2553 return_label96
: while(false);
2554 tracehead
= trace
.prev
;
2557 void compiling_global___ClassSorter___init(val_t self
, int* init_table
) {
2558 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 760, LOCATE_compiling_global___ClassSorter___init
};
2559 trace
.prev
= tracehead
; tracehead
= &trace
;
2560 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_ClassSorter
].i
]) return;
2561 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_ClassSorter
].i
] = 1;
2562 tracehead
= trace
.prev
;
2565 val_t
compiling_global___MMLocalClass___compare(val_t self
, val_t param0
) {
2566 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 764, LOCATE_compiling_global___MMLocalClass___compare
};
2573 trace
.prev
= tracehead
; tracehead
= &trace
;
2576 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*/) /*Object::==*/)))));
2577 if (UNTAG_Bool(variable2
)) { /*if*/
2578 variable1
= TAG_Int(0);
2579 goto return_label98
;
2581 variable2
= ((abstractmetamodel___MMLocalClass___module_t
)CALL( variable1
/*a*/,COLOR_abstractmetamodel___MMLocalClass___module
))( variable1
/*a*/) /*MMLocalClass::module*/;
2582 variable2
= ((abstractmetamodel___MMModule___mhe_t
)CALL(variable2
,COLOR_abstractmetamodel___MMModule___mhe
))(variable2
) /*MMModule::mhe*/;
2583 variable3
= ((abstractmetamodel___MMLocalClass___module_t
)CALL( variable0
/*b*/,COLOR_abstractmetamodel___MMLocalClass___module
))( variable0
/*b*/) /*MMLocalClass::module*/;
2584 variable2
= ((partial_order___PartialOrderElement_____l_t
)CALL(variable2
,COLOR_partial_order___PartialOrderElement_____l
))(variable2
, variable3
) /*PartialOrderElement::<*/;
2585 if (UNTAG_Bool(variable2
)) { /*if*/
2586 variable1
= TAG_Int(1);
2587 goto return_label98
;
2589 variable2
= ((abstractmetamodel___MMLocalClass___module_t
)CALL( variable0
/*b*/,COLOR_abstractmetamodel___MMLocalClass___module
))( variable0
/*b*/) /*MMLocalClass::module*/;
2590 variable2
= ((abstractmetamodel___MMModule___mhe_t
)CALL(variable2
,COLOR_abstractmetamodel___MMModule___mhe
))(variable2
) /*MMModule::mhe*/;
2591 variable3
= ((abstractmetamodel___MMLocalClass___module_t
)CALL( variable1
/*a*/,COLOR_abstractmetamodel___MMLocalClass___module
))( variable1
/*a*/) /*MMLocalClass::module*/;
2592 variable2
= ((partial_order___PartialOrderElement_____l_t
)CALL(variable2
,COLOR_partial_order___PartialOrderElement_____l
))(variable2
, variable3
) /*PartialOrderElement::<*/;
2593 if (UNTAG_Bool(variable2
)) { /*if*/
2594 variable2
= TAG_Int(-UNTAG_Int( TAG_Int(1)));
2595 variable1
= variable2
;
2596 goto return_label98
;
2600 variable3
= ((abstractmetamodel___MMLocalClass___cshe_t
)CALL( variable1
/*a*/,COLOR_abstractmetamodel___MMLocalClass___cshe
))( variable1
/*a*/) /*MMLocalClass::cshe*/;
2601 variable3
= ((partial_order___PartialOrderElement___rank_t
)CALL(variable3
,COLOR_partial_order___PartialOrderElement___rank
))(variable3
) /*PartialOrderElement::rank*/;
2602 variable2
= variable3
;
2603 variable4
= ((abstractmetamodel___MMLocalClass___cshe_t
)CALL( variable0
/*b*/,COLOR_abstractmetamodel___MMLocalClass___cshe
))( variable0
/*b*/) /*MMLocalClass::cshe*/;
2604 variable4
= ((partial_order___PartialOrderElement___rank_t
)CALL(variable4
,COLOR_partial_order___PartialOrderElement___rank
))(variable4
) /*PartialOrderElement::rank*/;
2605 variable3
= variable4
;
2606 variable4
= TAG_Bool(UNTAG_Int( variable2
/*ar*/)>UNTAG_Int( variable3
/*br*/));
2607 if (UNTAG_Bool(variable4
)) { /*if*/
2608 variable1
= TAG_Int(1);
2609 goto return_label98
;
2611 variable4
= TAG_Bool(UNTAG_Int( variable3
/*br*/)>UNTAG_Int( variable2
/*ar*/));
2612 if (UNTAG_Bool(variable4
)) { /*if*/
2613 variable4
= TAG_Int(-UNTAG_Int( TAG_Int(1)));
2614 variable1
= variable4
;
2615 goto return_label98
;
2617 variable4
= ((abstractmetamodel___MMLocalClass___name_t
)CALL( variable0
/*b*/,COLOR_abstractmetamodel___MMLocalClass___name
))( variable0
/*b*/) /*MMLocalClass::name*/;
2618 variable4
= ((symbol___Symbol___to_s_t
)CALL(variable4
,COLOR_string___Object___to_s
))(variable4
) /*Symbol::to_s*/;
2619 variable5
= ((abstractmetamodel___MMLocalClass___name_t
)CALL( variable1
/*a*/,COLOR_abstractmetamodel___MMLocalClass___name
))( variable1
/*a*/) /*MMLocalClass::name*/;
2620 variable5
= ((symbol___Symbol___to_s_t
)CALL(variable5
,COLOR_string___Object___to_s
))(variable5
) /*Symbol::to_s*/;
2621 variable4
= ((kernel___Comparable_____leqg_t
)CALL(variable4
,COLOR_kernel___Comparable_____leqg
))(variable4
, variable5
) /*Comparable::<=>*/;
2622 variable1
= variable4
;
2623 goto return_label98
;
2626 return_label98
: while(false);
2627 tracehead
= trace
.prev
;
2630 void compiling_global___MMLocalClass___declare_tables_to_c(val_t self
, val_t param0
) {
2631 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 786, LOCATE_compiling_global___MMLocalClass___declare_tables_to_c
};
2646 trace
.prev
= tracehead
; tracehead
= &trace
;
2648 variable1
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2649 ((compiling_base___CompilerVisitor___add_decl_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_decl
))( variable0
/*v*/, variable1
) /*CompilerVisitor::add_decl*/;
2650 variable2
= ((compiling_base___MMLocalClass___primitive_info_t
)CALL( self
,COLOR_compiling_base___MMLocalClass___primitive_info
))( self
) /*MMLocalClass::primitive_info*/;
2651 variable1
= variable2
;
2652 variable2
= NEW_string___String___init(); /*new String*/
2653 variable3
= NEW_string___String___with_native(BOX_NativeString("extern const classtable_elt_t VFT_"), TAG_Int(34)); /*new String*/
2654 variable4
= variable3
;
2655 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable4
) /*String::append*/;
2656 variable5
= ((abstractmetamodel___MMLocalClass___name_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass___name
))( self
) /*MMLocalClass::name*/;
2657 variable6
= variable5
;
2658 variable6
= ((string___String___to_s_t
)CALL(variable6
,COLOR_string___Object___to_s
))(variable6
) /*String::to_s*/;
2659 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable6
) /*String::append*/;
2660 variable7
= NEW_string___String___with_native(BOX_NativeString("[];"), TAG_Int(3)); /*new String*/
2661 variable8
= variable7
;
2662 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable8
) /*String::append*/;
2663 ((compiling_base___CompilerVisitor___add_decl_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_decl
))( variable0
/*v*/, variable2
) /*CompilerVisitor::add_decl*/;
2664 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*/) /*Object::==*/)))));
2665 if (UNTAG_Bool(variable2
)) { /*if*/
2667 variable2
= ((compiling_base___PrimitiveInfo___tagged_t
)CALL( variable1
/*pi*/,COLOR_compiling_base___PrimitiveInfo___tagged
))( variable1
/*pi*/) /*PrimitiveInfo::tagged*/;
2668 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable2
)))) { /*if*/
2669 variable3
= ((compiling_base___PrimitiveInfo___cname_t
)CALL( variable1
/*pi*/,COLOR_compiling_base___PrimitiveInfo___cname
))( variable1
/*pi*/) /*PrimitiveInfo::cname*/;
2670 variable2
= variable3
;
2671 variable4
= NEW_string___String___init(); /*new String*/
2672 variable5
= NEW_string___String___with_native(BOX_NativeString("struct TBOX_"), TAG_Int(12)); /*new String*/
2673 variable6
= variable5
;
2674 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable6
) /*String::append*/;
2675 variable7
= ((abstractmetamodel___MMLocalClass___name_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass___name
))( self
) /*MMLocalClass::name*/;
2676 variable8
= variable7
;
2677 variable8
= ((string___String___to_s_t
)CALL(variable8
,COLOR_string___Object___to_s
))(variable8
) /*String::to_s*/;
2678 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable8
) /*String::append*/;
2679 variable9
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2680 variable10
= variable9
;
2681 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable10
) /*String::append*/;
2682 variable3
= variable4
;
2683 variable4
= NEW_string___String___init(); /*new String*/
2684 variable5
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2685 variable6
= variable5
;
2686 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable6
) /*String::append*/;
2687 variable7
= variable3
/*tbox*/;
2688 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable7
) /*String::append*/;
2689 variable8
= NEW_string___String___with_native(BOX_NativeString(" { const classtable_elt_t * vft; "), TAG_Int(33)); /*new String*/
2690 variable9
= variable8
;
2691 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable9
) /*String::append*/;
2692 variable10
= variable2
/*t*/;
2693 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable10
) /*String::append*/;
2694 variable11
= NEW_string___String___with_native(BOX_NativeString(" val;};"), TAG_Int(7)); /*new String*/
2695 variable12
= variable11
;
2696 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable12
) /*String::append*/;
2697 ((compiling_base___CompilerVisitor___add_decl_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_decl
))( variable0
/*v*/, variable4
) /*CompilerVisitor::add_decl*/;
2698 variable4
= NEW_string___String___init(); /*new String*/
2699 variable5
= NEW_string___String___with_native(BOX_NativeString("val_t BOX_"), TAG_Int(10)); /*new String*/
2700 variable6
= variable5
;
2701 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable6
) /*String::append*/;
2702 variable7
= ((abstractmetamodel___MMLocalClass___name_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass___name
))( self
) /*MMLocalClass::name*/;
2703 variable8
= variable7
;
2704 variable8
= ((string___String___to_s_t
)CALL(variable8
,COLOR_string___Object___to_s
))(variable8
) /*String::to_s*/;
2705 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable8
) /*String::append*/;
2706 variable9
= NEW_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
2707 variable10
= variable9
;
2708 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable10
) /*String::append*/;
2709 variable11
= variable2
/*t*/;
2710 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable11
) /*String::append*/;
2711 variable12
= NEW_string___String___with_native(BOX_NativeString(" val);"), TAG_Int(6)); /*new String*/
2712 variable13
= variable12
;
2713 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable13
) /*String::append*/;
2714 ((compiling_base___CompilerVisitor___add_decl_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_decl
))( variable0
/*v*/, variable4
) /*CompilerVisitor::add_decl*/;
2715 variable4
= NEW_string___String___init(); /*new String*/
2716 variable5
= NEW_string___String___with_native(BOX_NativeString("#define UNBOX_"), TAG_Int(14)); /*new String*/
2717 variable6
= variable5
;
2718 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable6
) /*String::append*/;
2719 variable7
= ((abstractmetamodel___MMLocalClass___name_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass___name
))( self
) /*MMLocalClass::name*/;
2720 variable8
= variable7
;
2721 variable8
= ((string___String___to_s_t
)CALL(variable8
,COLOR_string___Object___to_s
))(variable8
) /*String::to_s*/;
2722 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable8
) /*String::append*/;
2723 variable9
= NEW_string___String___with_native(BOX_NativeString("(x) ((("), TAG_Int(7)); /*new String*/
2724 variable10
= variable9
;
2725 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable10
) /*String::append*/;
2726 variable11
= variable3
/*tbox*/;
2727 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable11
) /*String::append*/;
2728 variable12
= NEW_string___String___with_native(BOX_NativeString(" *)(VAL2OBJ(x)))->val)"), TAG_Int(22)); /*new String*/
2729 variable13
= variable12
;
2730 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable13
) /*String::append*/;
2731 ((compiling_base___CompilerVisitor___add_decl_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_decl
))( variable0
/*v*/, variable4
) /*CompilerVisitor::add_decl*/;
2734 tracehead
= trace
.prev
;
2737 void compiling_global___MMLocalClass___compile_tables_to_c(val_t self
, val_t param0
) {
2738 struct trace_t trace
= {NULL
, LOCATE_compiling_global
, 803, LOCATE_compiling_global___MMLocalClass___compile_tables_to_c
};
2766 trace
.prev
= tracehead
; tracehead
= &trace
;
2768 variable2
= ((compiling_global___CompilerVisitor___global_analysis_t
)CALL( variable0
/*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis
))( variable0
/*v*/) /*CompilerVisitor::global_analysis*/;
2769 variable2
= ((compiling_global___GlobalAnalysis___compiled_classes_t
)CALL(variable2
,COLOR_compiling_global___GlobalAnalysis___compiled_classes
))(variable2
) /*GlobalAnalysis::compiled_classes*/;
2770 variable3
= ((abstractmetamodel___MMLocalClass___global_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass___global
))( self
) /*MMLocalClass::global*/;
2771 variable2
= ((abstract_collection___CoupleMap_____bra_t
)CALL(variable2
,COLOR_abstract_collection___Map_____bra
))(variable2
, variable3
) /*CoupleMap::[]*/;
2772 variable1
= variable2
;
2773 variable3
= ((compiling_global___CompiledClass___class_table_t
)CALL( variable1
/*cc*/,COLOR_compiling_global___CompiledClass___class_table
))( variable1
/*cc*/) /*CompiledClass::class_table*/;
2774 variable2
= variable3
;
2775 variable4
= ((array___AbstractArray___length_t
)CALL( variable2
/*ctab*/,COLOR_abstract_collection___Collection___length
))( variable2
/*ctab*/) /*AbstractArray::length*/;
2776 variable3
= variable4
;
2777 variable4
= ((compiling_global___CompilerVisitor___global_analysis_t
)CALL( variable0
/*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis
))( variable0
/*v*/) /*CompilerVisitor::global_analysis*/;
2778 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*/;
2779 variable5
= ((array___AbstractArray___length_t
)CALL( variable2
/*ctab*/,COLOR_abstract_collection___Collection___length
))( variable2
/*ctab*/) /*AbstractArray::length*/;
2780 variable4
= TAG_Bool(UNTAG_Int(variable4
)>UNTAG_Int(variable5
));
2781 if (UNTAG_Bool(variable4
)) { /*if*/
2782 variable4
= ((compiling_global___CompilerVisitor___global_analysis_t
)CALL( variable0
/*v*/,COLOR_compiling_global___CompilerVisitor___global_analysis
))( variable0
/*v*/) /*CompilerVisitor::global_analysis*/;
2783 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*/;
2784 variable3
= variable4
/*clen=*/;
2786 variable4
= NEW_string___String___init(); /*new String*/
2787 variable5
= NEW_string___String___with_native(BOX_NativeString("const classtable_elt_t VFT_"), TAG_Int(27)); /*new String*/
2788 variable6
= variable5
;
2789 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable6
) /*String::append*/;
2790 variable7
= ((abstractmetamodel___MMLocalClass___name_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass___name
))( self
) /*MMLocalClass::name*/;
2791 variable8
= variable7
;
2792 variable8
= ((string___String___to_s_t
)CALL(variable8
,COLOR_string___Object___to_s
))(variable8
) /*String::to_s*/;
2793 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable8
) /*String::append*/;
2794 variable9
= NEW_string___String___with_native(BOX_NativeString("["), TAG_Int(1)); /*new String*/
2795 variable10
= variable9
;
2796 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable10
) /*String::append*/;
2797 variable11
= variable3
/*clen*/;
2798 variable11
= ((string___String___to_s_t
)CALL(variable11
,COLOR_string___Object___to_s
))(variable11
) /*String::to_s*/;
2799 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable11
) /*String::append*/;
2800 variable12
= NEW_string___String___with_native(BOX_NativeString("] = {"), TAG_Int(5)); /*new String*/
2801 variable13
= variable12
;
2802 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable13
) /*String::append*/;
2803 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable4
) /*CompilerVisitor::add_instr*/;
2804 ((compiling_base___CompilerVisitor___indent_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___indent
))( variable0
/*v*/) /*CompilerVisitor::indent*/;
2805 variable4
= ((array___AbstractArray___iterator_t
)CALL( variable2
/*ctab*/,COLOR_abstract_collection___Collection___iterator
))( variable2
/*ctab*/) /*AbstractArray::iterator*/;
2806 while (true) { /*for*/
2807 variable5
= ((array___ArrayIterator___is_ok_t
)CALL(variable4
,COLOR_abstract_collection___Iterator___is_ok
))(variable4
) /*ArrayIterator::is_ok*/;
2808 if (!UNTAG_Bool(variable5
)) break; /*for*/
2809 variable5
= ((array___ArrayIterator___item_t
)CALL(variable4
,COLOR_abstract_collection___Iterator___item
))(variable4
) /*ArrayIterator::item*/;
2810 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*/) /*Object::==*/)))));
2811 if (UNTAG_Bool(variable6
)) { /*if*/
2812 variable6
= NEW_string___String___with_native(BOX_NativeString("{0} /* Class Hole :( */,"), TAG_Int(24)); /*new String*/
2813 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable6
) /*CompilerVisitor::add_instr*/;
2815 variable6
= NEW_string___String___init(); /*new String*/
2816 variable7
= NEW_string___String___with_native(BOX_NativeString("{(bigint) "), TAG_Int(10)); /*new String*/
2817 variable8
= variable7
;
2818 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable8
) /*String::append*/;
2819 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*/;
2820 variable10
= variable9
;
2821 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable10
) /*String::append*/;
2822 variable11
= NEW_string___String___with_native(BOX_NativeString("},"), TAG_Int(2)); /*new String*/
2823 variable12
= variable11
;
2824 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable12
) /*String::append*/;
2825 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable6
) /*CompilerVisitor::add_instr*/;
2827 continue_101
: while(0);
2828 ((array___ArrayIterator___next_t
)CALL(variable4
,COLOR_abstract_collection___Iterator___next
))(variable4
) /*ArrayIterator::next*/;
2830 break_101
: while(0);
2831 variable4
= ((array___AbstractArray___length_t
)CALL( variable2
/*ctab*/,COLOR_abstract_collection___Collection___length
))( variable2
/*ctab*/) /*AbstractArray::length*/;
2832 variable4
= TAG_Bool(UNTAG_Int( variable3
/*clen*/)>UNTAG_Int(variable4
));
2833 if (UNTAG_Bool(variable4
)) { /*if*/
2834 variable4
= NEW_string___String___with_native(BOX_NativeString("{0},"), TAG_Int(4)); /*new String*/
2835 variable5
= ((array___AbstractArray___length_t
)CALL( variable2
/*ctab*/,COLOR_abstract_collection___Collection___length
))( variable2
/*ctab*/) /*AbstractArray::length*/;
2836 variable5
= TAG_Int(UNTAG_Int( variable3
/*clen*/)-UNTAG_Int(variable5
));
2837 variable4
= ((string___String_____star_t
)CALL(variable4
,COLOR_string___String_____star
))(variable4
, variable5
) /*String::**/;
2838 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable4
) /*CompilerVisitor::add_instr*/;
2840 ((compiling_base___CompilerVisitor___unindent_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___unindent
))( variable0
/*v*/) /*CompilerVisitor::unindent*/;
2841 variable4
= NEW_string___String___with_native(BOX_NativeString("};"), TAG_Int(2)); /*new String*/
2842 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable4
) /*CompilerVisitor::add_instr*/;
2843 variable5
= ((compiling_global___CompiledClass___instance_table_t
)CALL( variable1
/*cc*/,COLOR_compiling_global___CompiledClass___instance_table
))( variable1
/*cc*/) /*CompiledClass::instance_table*/;
2844 variable4
= variable5
;
2845 variable5
= ((array___AbstractArray___iterator_t
)CALL( variable4
/*itab*/,COLOR_abstract_collection___Collection___iterator
))( variable4
/*itab*/) /*AbstractArray::iterator*/;
2846 while (true) { /*for*/
2847 variable6
= ((array___ArrayIterator___is_ok_t
)CALL(variable5
,COLOR_abstract_collection___Iterator___is_ok
))(variable5
) /*ArrayIterator::is_ok*/;
2848 if (!UNTAG_Bool(variable6
)) break; /*for*/
2849 variable6
= ((array___ArrayIterator___item_t
)CALL(variable5
,COLOR_abstract_collection___Iterator___item
))(variable5
) /*ArrayIterator::item*/;
2850 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*/) /*Object::==*/)))));
2851 if (UNTAG_Bool(variable7
)) { /*if*/
2852 variable7
= NEW_string___String___with_native(BOX_NativeString("/* Instance Hole :( */"), TAG_Int(22)); /*new String*/
2853 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable7
) /*CompilerVisitor::add_instr*/;
2855 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*/;
2856 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable7
) /*CompilerVisitor::add_instr*/;
2858 continue_102
: while(0);
2859 ((array___ArrayIterator___next_t
)CALL(variable5
,COLOR_abstract_collection___Iterator___next
))(variable5
) /*ArrayIterator::next*/;
2861 break_102
: while(0);
2862 variable6
= ((compiling_base___MMLocalClass___primitive_info_t
)CALL( self
,COLOR_compiling_base___MMLocalClass___primitive_info
))( self
) /*MMLocalClass::primitive_info*/;
2863 variable5
= variable6
;
2864 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*/) /*Object::==*/)))));
2865 if (UNTAG_Bool(variable6
)) { /*if*/
2866 ((compiling_methods___CompilerVisitor___clear_t
)CALL( variable0
/*v*/,COLOR_compiling_methods___CompilerVisitor___clear
))( variable0
/*v*/) /*CompilerVisitor::clear*/;
2867 variable7
= NEW_string___String___init(); /*new String*/
2868 variable8
= NEW_string___String___with_native(BOX_NativeString("val_t NEW_"), TAG_Int(10)); /*new String*/
2869 variable9
= variable8
;
2870 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable9
) /*String::append*/;
2871 variable10
= ((abstractmetamodel___MMLocalClass___name_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass___name
))( self
) /*MMLocalClass::name*/;
2872 variable11
= variable10
;
2873 variable11
= ((string___String___to_s_t
)CALL(variable11
,COLOR_string___Object___to_s
))(variable11
) /*String::to_s*/;
2874 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable11
) /*String::append*/;
2875 variable12
= NEW_string___String___with_native(BOX_NativeString("(void)"), TAG_Int(6)); /*new String*/
2876 variable13
= variable12
;
2877 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable13
) /*String::append*/;
2878 variable6
= variable7
;
2879 variable7
= NEW_string___String___with_native(BOX_NativeString(" {"), TAG_Int(2)); /*new String*/
2880 variable7
= ((string___String_____plus_t
)CALL( variable6
/*s*/,COLOR_string___String_____plus
))( variable6
/*s*/, variable7
) /*String::+*/;
2881 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable7
) /*CompilerVisitor::add_instr*/;
2882 ((compiling_base___CompilerVisitor___indent_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___indent
))( variable0
/*v*/) /*CompilerVisitor::indent*/;
2883 variable8
= ((compiling_base___CompilerVisitor___ctx_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___ctx
))( variable0
/*v*/) /*CompilerVisitor::ctx*/;
2884 variable7
= variable8
;
2885 variable8
= NEW_compiling_base___CContext___init(); /*new CContext*/
2886 ((compiling_base___CompilerVisitor___ctx__eq_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___ctx__eq
))( variable0
/*v*/, variable8
) /*CompilerVisitor::ctx=*/;
2887 variable8
= NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
2888 variable9
= NEW_string___String___with_native(BOX_NativeString("OBJ2VAL(obj)"), TAG_Int(12)); /*new String*/
2889 ((array___AbstractArray___add_t
)CALL(variable8
,COLOR_abstract_collection___SimpleCollection___add
))(variable8
, variable9
) /*AbstractArray::add*/;
2890 ((compiling_methods___CompilerVisitor___method_params__eq_t
)CALL( variable0
/*v*/,COLOR_compiling_methods___CompilerVisitor___method_params__eq
))( variable0
/*v*/, variable8
) /*CompilerVisitor::method_params=*/;
2891 variable8
= NEW_string___String___with_native(BOX_NativeString("obj_t obj;"), TAG_Int(10)); /*new String*/
2892 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable8
) /*CompilerVisitor::add_instr*/;
2893 variable8
= NEW_string___String___init(); /*new String*/
2894 variable9
= NEW_string___String___with_native(BOX_NativeString("obj = alloc(sizeof(val_t) * "), TAG_Int(28)); /*new String*/
2895 variable10
= variable9
;
2896 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable10
) /*String::append*/;
2897 variable11
= ((array___AbstractArray___length_t
)CALL( variable4
/*itab*/,COLOR_abstract_collection___Collection___length
))( variable4
/*itab*/) /*AbstractArray::length*/;
2898 variable12
= variable11
;
2899 variable12
= ((string___String___to_s_t
)CALL(variable12
,COLOR_string___Object___to_s
))(variable12
) /*String::to_s*/;
2900 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable12
) /*String::append*/;
2901 variable13
= NEW_string___String___with_native(BOX_NativeString(");"), TAG_Int(2)); /*new String*/
2902 variable14
= variable13
;
2903 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable14
) /*String::append*/;
2904 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable8
) /*CompilerVisitor::add_instr*/;
2905 variable8
= NEW_string___String___init(); /*new String*/
2906 variable9
= NEW_string___String___with_native(BOX_NativeString("obj->vft = (classtable_elt_t*)VFT_"), TAG_Int(34)); /*new String*/
2907 variable10
= variable9
;
2908 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable10
) /*String::append*/;
2909 variable11
= ((abstractmetamodel___MMLocalClass___name_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass___name
))( self
) /*MMLocalClass::name*/;
2910 variable12
= variable11
;
2911 variable12
= ((string___String___to_s_t
)CALL(variable12
,COLOR_string___Object___to_s
))(variable12
) /*String::to_s*/;
2912 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable12
) /*String::append*/;
2913 variable13
= NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
2914 variable14
= variable13
;
2915 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable14
) /*String::append*/;
2916 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable8
) /*CompilerVisitor::add_instr*/;
2917 variable8
= ((abstractmetamodel___MMLocalClass___global_properties_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass___global_properties
))( self
) /*MMLocalClass::global_properties*/;
2918 variable8
= ((abstract_collection___Collection___iterator_t
)CALL(variable8
,COLOR_abstract_collection___Collection___iterator
))(variable8
) /*Collection::iterator*/;
2919 while (true) { /*for*/
2920 variable9
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable8
,COLOR_abstract_collection___Iterator___is_ok
))(variable8
) /*Iterator::is_ok*/;
2921 if (!UNTAG_Bool(variable9
)) break; /*for*/
2922 variable9
= ((abstract_collection___Iterator___item_t
)CALL(variable8
,COLOR_abstract_collection___Iterator___item
))(variable8
) /*Iterator::item*/;
2923 variable11
= ((inheritance___MMLocalClass_____bra_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass_____bra
))( self
, variable9
/*g*/) /*MMLocalClass::[]*/;
2924 variable10
= variable11
;
2925 variable12
= ((static_type___MMLocalProperty___signature_t
)CALL( variable10
/*p*/,COLOR_static_type___MMLocalProperty___signature
))( variable10
/*p*/) /*MMLocalProperty::signature*/;
2926 variable12
= ((static_type___MMSignature___return_type_t
)CALL(variable12
,COLOR_static_type___MMSignature___return_type
))(variable12
) /*MMSignature::return_type*/;
2927 variable11
= variable12
;
2928 variable12
= TAG_Bool(( variable10
/*p*/==NIT_NULL
) || VAL_ISA( variable10
/*p*/, COLOR_MMAttribute
, ID_MMAttribute
)) /*cast MMAttribute*/;
2929 variable13
= variable12
;
2930 if (UNTAG_Bool(variable13
)) { /* and */
2931 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*/) /*Object::==*/)))))));
2933 variable12
= variable13
;
2934 if (UNTAG_Bool(variable12
)) { /*if*/
2935 variable12
= TAG_Bool(( variable10
/*p*/==NIT_NULL
) || VAL_ISA( variable10
/*p*/, COLOR_MMSrcAttribute
, ID_MMSrcAttribute
)) /*cast MMSrcAttribute*/;
2936 if (!UNTAG_Bool(variable12
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_compiling_global___MMLocalClass___compile_tables_to_c
, LOCATE_compiling_global
, 855); nit_exit(1);}
2937 variable13
= ((syntax_base___MMSrcAttribute___node_t
)CALL( variable10
/*p*/,COLOR_syntax_base___MMLocalProperty___node
))( variable10
/*p*/) /*MMSrcAttribute::node*/;
2938 variable12
= variable13
;
2939 variable13
= TAG_Bool(( variable12
/*np*/==NIT_NULL
) || VAL_ISA( variable12
/*np*/, COLOR_AAttrPropdef
, ID_AAttrPropdef
)) /*cast AAttrPropdef*/;
2940 if (!UNTAG_Bool(variable13
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_compiling_global___MMLocalClass___compile_tables_to_c
, LOCATE_compiling_global
, 857); nit_exit(1);}
2941 variable14
= ((parser_nodes___AAttrPropdef___n_expr_t
)CALL( variable12
/*np*/,COLOR_parser_nodes___AAttrPropdef___n_expr
))( variable12
/*np*/) /*AAttrPropdef::n_expr*/;
2942 variable13
= variable14
;
2943 variable14
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13
/*ne*/ == NIT_NULL
/*null*/) || (( variable13
/*ne*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable13
/*ne*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable13
/*ne*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable13
/*ne*/,COLOR_kernel___Object_____eqeq
))( variable13
/*ne*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
2944 if (UNTAG_Bool(variable14
)) { /*if*/
2945 variable15
= ((compiling_methods___PExpr___compile_expr_t
)CALL( variable13
/*ne*/,COLOR_compiling_methods___PExpr___compile_expr
))( variable13
/*ne*/, variable0
/*v*/) /*PExpr::compile_expr*/;
2946 variable14
= variable15
;
2947 variable15
= NEW_string___String___init(); /*new String*/
2948 variable16
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2949 variable17
= variable16
;
2950 ((string___String___append_t
)CALL(variable15
,COLOR_abstract_collection___IndexedCollection___append
))(variable15
, variable17
) /*String::append*/;
2951 variable18
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable10
/*p*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable10
/*p*/) /*MMLocalProperty::global*/;
2952 variable18
= ((compiling_base___MMGlobalProperty___attr_access_t
)CALL(variable18
,COLOR_compiling_base___MMGlobalProperty___attr_access
))(variable18
) /*MMGlobalProperty::attr_access*/;
2953 variable19
= variable18
;
2954 ((string___String___append_t
)CALL(variable15
,COLOR_abstract_collection___IndexedCollection___append
))(variable15
, variable19
) /*String::append*/;
2955 variable20
= NEW_string___String___with_native(BOX_NativeString("(obj) = "), TAG_Int(8)); /*new String*/
2956 variable21
= variable20
;
2957 ((string___String___append_t
)CALL(variable15
,COLOR_abstract_collection___IndexedCollection___append
))(variable15
, variable21
) /*String::append*/;
2958 variable22
= variable14
/*e*/;
2959 ((string___String___append_t
)CALL(variable15
,COLOR_abstract_collection___IndexedCollection___append
))(variable15
, variable22
) /*String::append*/;
2960 variable23
= NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
2961 variable24
= variable23
;
2962 ((string___String___append_t
)CALL(variable15
,COLOR_abstract_collection___IndexedCollection___append
))(variable15
, variable24
) /*String::append*/;
2963 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable15
) /*CompilerVisitor::add_instr*/;
2965 variable15
= ((static_type___MMType___local_class_t
)CALL( variable11
/*t*/,COLOR_static_type___MMType___local_class
))( variable11
/*t*/) /*MMType::local_class*/;
2966 variable15
= ((compiling_base___MMLocalClass___primitive_info_t
)CALL(variable15
,COLOR_compiling_base___MMLocalClass___primitive_info
))(variable15
) /*MMLocalClass::primitive_info*/;
2967 variable14
= variable15
;
2968 variable15
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14
/*pi*/ == NIT_NULL
/*null*/) || (( variable14
/*pi*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable14
/*pi*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable14
/*pi*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable14
/*pi*/,COLOR_kernel___Object_____eqeq
))( variable14
/*pi*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
2969 variable16
= variable15
;
2970 if (UNTAG_Bool(variable16
)) { /* and */
2971 variable16
= ((compiling_base___PrimitiveInfo___tagged_t
)CALL( variable14
/*pi*/,COLOR_compiling_base___PrimitiveInfo___tagged
))( variable14
/*pi*/) /*PrimitiveInfo::tagged*/;
2973 variable15
= variable16
;
2974 if (UNTAG_Bool(variable15
)) { /*if*/
2975 variable16
= ((compiling_base___MMType___default_cvalue_t
)CALL( variable11
/*t*/,COLOR_compiling_base___MMType___default_cvalue
))( variable11
/*t*/) /*MMType::default_cvalue*/;
2976 variable15
= variable16
;
2977 variable16
= NEW_string___String___init(); /*new String*/
2978 variable17
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2979 variable18
= variable17
;
2980 ((string___String___append_t
)CALL(variable16
,COLOR_abstract_collection___IndexedCollection___append
))(variable16
, variable18
) /*String::append*/;
2981 variable19
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable10
/*p*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable10
/*p*/) /*MMLocalProperty::global*/;
2982 variable19
= ((compiling_base___MMGlobalProperty___attr_access_t
)CALL(variable19
,COLOR_compiling_base___MMGlobalProperty___attr_access
))(variable19
) /*MMGlobalProperty::attr_access*/;
2983 variable20
= variable19
;
2984 ((string___String___append_t
)CALL(variable16
,COLOR_abstract_collection___IndexedCollection___append
))(variable16
, variable20
) /*String::append*/;
2985 variable21
= NEW_string___String___with_native(BOX_NativeString("(obj) = "), TAG_Int(8)); /*new String*/
2986 variable22
= variable21
;
2987 ((string___String___append_t
)CALL(variable16
,COLOR_abstract_collection___IndexedCollection___append
))(variable16
, variable22
) /*String::append*/;
2988 variable23
= variable15
/*default*/;
2989 ((string___String___append_t
)CALL(variable16
,COLOR_abstract_collection___IndexedCollection___append
))(variable16
, variable23
) /*String::append*/;
2990 variable24
= NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
2991 variable25
= variable24
;
2992 ((string___String___append_t
)CALL(variable16
,COLOR_abstract_collection___IndexedCollection___append
))(variable16
, variable25
) /*String::append*/;
2993 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable16
) /*CompilerVisitor::add_instr*/;
2997 continue_103
: while(0);
2998 ((abstract_collection___Iterator___next_t
)CALL(variable8
,COLOR_abstract_collection___Iterator___next
))(variable8
) /*Iterator::next*/;
3000 break_103
: while(0);
3001 variable8
= NEW_string___String___with_native(BOX_NativeString("return OBJ2VAL(obj);"), TAG_Int(20)); /*new String*/
3002 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable8
) /*CompilerVisitor::add_instr*/;
3003 variable8
= ((compiling_base___CompilerVisitor___ctx_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___ctx
))( variable0
/*v*/) /*CompilerVisitor::ctx*/;
3004 ((compiling_base___CContext___append_t
)CALL( variable7
/*ctx_old*/,COLOR_compiling_base___CContext___append
))( variable7
/*ctx_old*/, variable8
) /*CContext::append*/;
3005 ((compiling_base___CompilerVisitor___ctx__eq_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___ctx__eq
))( variable0
/*v*/, variable7
/*ctx_old*/) /*CompilerVisitor::ctx=*/;
3006 ((compiling_base___CompilerVisitor___unindent_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___unindent
))( variable0
/*v*/) /*CompilerVisitor::unindent*/;
3007 variable8
= NEW_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
3008 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable8
) /*CompilerVisitor::add_instr*/;
3009 variable9
= ((abstractmetamodel___MMLocalClass___cshe_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass___cshe
))( self
) /*MMLocalClass::cshe*/;
3010 variable9
= ((partial_order___PartialOrderElement___greaters_t
)CALL(variable9
,COLOR_partial_order___PartialOrderElement___greaters
))(variable9
) /*PartialOrderElement::greaters*/;
3011 variable9
= ((abstract_collection___Collection___length_t
)CALL(variable9
,COLOR_abstract_collection___Collection___length
))(variable9
) /*Collection::length*/;
3012 variable9
= TAG_Int(UNTAG_Int(variable9
)+UNTAG_Int( TAG_Int(1)));
3013 variable8
= variable9
;
3014 variable10
= NEW_string___String___init(); /*new String*/
3015 variable11
= NEW_string___String___with_native(BOX_NativeString("int init_table["), TAG_Int(15)); /*new String*/
3016 variable12
= variable11
;
3017 ((string___String___append_t
)CALL(variable10
,COLOR_abstract_collection___IndexedCollection___append
))(variable10
, variable12
) /*String::append*/;
3018 variable13
= variable8
/*init_table_size*/;
3019 variable13
= ((string___String___to_s_t
)CALL(variable13
,COLOR_string___Object___to_s
))(variable13
) /*String::to_s*/;
3020 ((string___String___append_t
)CALL(variable10
,COLOR_abstract_collection___IndexedCollection___append
))(variable10
, variable13
) /*String::append*/;
3021 variable14
= NEW_string___String___with_native(BOX_NativeString("] = {0"), TAG_Int(6)); /*new String*/
3022 variable15
= variable14
;
3023 ((string___String___append_t
)CALL(variable10
,COLOR_abstract_collection___IndexedCollection___append
))(variable10
, variable15
) /*String::append*/;
3024 variable16
= NEW_string___String___with_native(BOX_NativeString(", 0"), TAG_Int(3)); /*new String*/
3025 variable17
= TAG_Int(UNTAG_Int( variable8
/*init_table_size*/)-UNTAG_Int( TAG_Int(1)));
3026 variable16
= ((string___String_____star_t
)CALL(variable16
,COLOR_string___String_____star
))(variable16
, variable17
) /*String::**/;
3027 variable17
= variable16
;
3028 ((string___String___append_t
)CALL(variable10
,COLOR_abstract_collection___IndexedCollection___append
))(variable10
, variable17
) /*String::append*/;
3029 variable18
= NEW_string___String___with_native(BOX_NativeString("};"), TAG_Int(2)); /*new String*/
3030 variable19
= variable18
;
3031 ((string___String___append_t
)CALL(variable10
,COLOR_abstract_collection___IndexedCollection___append
))(variable10
, variable19
) /*String::append*/;
3032 variable9
= variable10
;
3033 variable10
= ((abstractmetamodel___MMLocalClass___global_properties_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass___global_properties
))( self
) /*MMLocalClass::global_properties*/;
3034 variable10
= ((abstract_collection___Collection___iterator_t
)CALL(variable10
,COLOR_abstract_collection___Collection___iterator
))(variable10
) /*Collection::iterator*/;
3035 while (true) { /*for*/
3036 variable11
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable10
,COLOR_abstract_collection___Iterator___is_ok
))(variable10
) /*Iterator::is_ok*/;
3037 if (!UNTAG_Bool(variable11
)) break; /*for*/
3038 variable11
= ((abstract_collection___Iterator___item_t
)CALL(variable10
,COLOR_abstract_collection___Iterator___item
))(variable10
) /*Iterator::item*/;
3039 variable13
= ((inheritance___MMLocalClass_____bra_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass_____bra
))( self
, variable11
/*g*/) /*MMLocalClass::[]*/;
3040 variable12
= variable13
;
3041 variable13
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable12
/*p*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable12
/*p*/) /*MMLocalProperty::global*/;
3042 variable13
= ((abstractmetamodel___MMGlobalProperty___is_init_t
)CALL(variable13
,COLOR_abstractmetamodel___MMGlobalProperty___is_init
))(variable13
) /*MMGlobalProperty::is_init*/;
3043 variable13
= TAG_Bool(!UNTAG_Bool(variable13
));
3044 if (!UNTAG_Bool(variable13
)) { /* or */
3045 variable13
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable12
/*p*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable12
/*p*/) /*MMLocalProperty::global*/;
3046 variable13
= ((abstractmetamodel___MMGlobalProperty___intro_t
)CALL(variable13
,COLOR_abstractmetamodel___MMGlobalProperty___intro
))(variable13
) /*MMGlobalProperty::intro*/;
3047 variable13
= ((abstractmetamodel___MMLocalProperty___local_class_t
)CALL(variable13
,COLOR_abstractmetamodel___MMLocalProperty___local_class
))(variable13
) /*MMLocalProperty::local_class*/;
3048 variable13
= ((abstractmetamodel___MMLocalClass___global_t
)CALL(variable13
,COLOR_abstractmetamodel___MMLocalClass___global
))(variable13
) /*MMLocalClass::global*/;
3049 variable14
= ((abstractmetamodel___MMLocalClass___global_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass___global
))( self
) /*MMLocalClass::global*/;
3050 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
) /*Object::==*/)))))));
3052 if (UNTAG_Bool(variable13
)) { /*if*/
3055 ((compiling_methods___CompilerVisitor___clear_t
)CALL( variable0
/*v*/,COLOR_compiling_methods___CompilerVisitor___clear
))( variable0
/*v*/) /*CompilerVisitor::clear*/;
3056 variable14
= NEW_array___Array___init(); /*new Array[E]*/
3057 variable13
= variable14
;
3058 variable15
= NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
3059 variable16
= NEW_string___String___with_native(BOX_NativeString("self"), TAG_Int(4)); /*new String*/
3060 ((array___AbstractArray___add_t
)CALL(variable15
,COLOR_abstract_collection___SimpleCollection___add
))(variable15
, variable16
) /*AbstractArray::add*/;
3061 variable14
= variable15
;
3062 variable15
= ((static_type___MMLocalProperty___signature_t
)CALL( variable12
/*p*/,COLOR_static_type___MMLocalProperty___signature
))( variable12
/*p*/) /*MMLocalProperty::signature*/;
3063 variable15
= ((static_type___MMSignature___arity_t
)CALL(variable15
,COLOR_static_type___MMSignature___arity
))(variable15
) /*MMSignature::arity*/;
3064 variable16
= NEW_range___Range___without_last( TAG_Int(0), variable15
); /*new Range[E]*/
3065 variable15
= variable16
;
3066 variable15
= ((range___Range___iterator_t
)CALL(variable15
,COLOR_abstract_collection___Collection___iterator
))(variable15
) /*Range::iterator*/;
3067 while (true) { /*for*/
3068 variable16
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable15
,COLOR_abstract_collection___Iterator___is_ok
))(variable15
) /*Iterator::is_ok*/;
3069 if (!UNTAG_Bool(variable16
)) break; /*for*/
3070 variable16
= ((abstract_collection___Iterator___item_t
)CALL(variable15
,COLOR_abstract_collection___Iterator___item
))(variable15
) /*Iterator::item*/;
3071 variable17
= NEW_string___String___init(); /*new String*/
3072 variable18
= NEW_string___String___with_native(BOX_NativeString("val_t p"), TAG_Int(7)); /*new String*/
3073 variable19
= variable18
;
3074 ((string___String___append_t
)CALL(variable17
,COLOR_abstract_collection___IndexedCollection___append
))(variable17
, variable19
) /*String::append*/;
3075 variable20
= variable16
/*i*/;
3076 variable20
= ((string___String___to_s_t
)CALL(variable20
,COLOR_string___Object___to_s
))(variable20
) /*String::to_s*/;
3077 ((string___String___append_t
)CALL(variable17
,COLOR_abstract_collection___IndexedCollection___append
))(variable17
, variable20
) /*String::append*/;
3078 variable21
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
3079 variable22
= variable21
;
3080 ((string___String___append_t
)CALL(variable17
,COLOR_abstract_collection___IndexedCollection___append
))(variable17
, variable22
) /*String::append*/;
3081 ((array___AbstractArray___add_t
)CALL( variable13
/*params*/,COLOR_abstract_collection___SimpleCollection___add
))( variable13
/*params*/, variable17
) /*AbstractArray::add*/;
3082 variable17
= NEW_string___String___init(); /*new String*/
3083 variable18
= NEW_string___String___with_native(BOX_NativeString("p"), TAG_Int(1)); /*new String*/
3084 variable19
= variable18
;
3085 ((string___String___append_t
)CALL(variable17
,COLOR_abstract_collection___IndexedCollection___append
))(variable17
, variable19
) /*String::append*/;
3086 variable20
= variable16
/*i*/;
3087 variable20
= ((string___String___to_s_t
)CALL(variable20
,COLOR_string___Object___to_s
))(variable20
) /*String::to_s*/;
3088 ((string___String___append_t
)CALL(variable17
,COLOR_abstract_collection___IndexedCollection___append
))(variable17
, variable20
) /*String::append*/;
3089 variable21
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
3090 variable22
= variable21
;
3091 ((string___String___append_t
)CALL(variable17
,COLOR_abstract_collection___IndexedCollection___append
))(variable17
, variable22
) /*String::append*/;
3092 ((array___AbstractArray___add_t
)CALL( variable14
/*args*/,COLOR_abstract_collection___SimpleCollection___add
))( variable14
/*args*/, variable17
) /*AbstractArray::add*/;
3093 continue_105
: while(0);
3094 ((abstract_collection___Iterator___next_t
)CALL(variable15
,COLOR_abstract_collection___Iterator___next
))(variable15
) /*Iterator::next*/;
3096 break_105
: while(0);
3097 variable15
= NEW_string___String___with_native(BOX_NativeString("init_table"), TAG_Int(10)); /*new String*/
3098 ((array___AbstractArray___add_t
)CALL( variable14
/*args*/,COLOR_abstract_collection___SimpleCollection___add
))( variable14
/*args*/, variable15
) /*AbstractArray::add*/;
3099 variable16
= NEW_string___String___init(); /*new String*/
3100 variable17
= NEW_string___String___with_native(BOX_NativeString("val_t NEW_"), TAG_Int(10)); /*new String*/
3101 variable18
= variable17
;
3102 ((string___String___append_t
)CALL(variable16
,COLOR_abstract_collection___IndexedCollection___append
))(variable16
, variable18
) /*String::append*/;
3103 variable19
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable12
/*p*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable12
/*p*/) /*MMLocalProperty::global*/;
3104 variable19
= ((abstractmetamodel___MMGlobalProperty___intro_t
)CALL(variable19
,COLOR_abstractmetamodel___MMGlobalProperty___intro
))(variable19
) /*MMGlobalProperty::intro*/;
3105 variable19
= ((compiling_base___MMLocalProperty___cname_t
)CALL(variable19
,COLOR_compiling_base___MMLocalProperty___cname
))(variable19
) /*MMLocalProperty::cname*/;
3106 variable20
= variable19
;
3107 ((string___String___append_t
)CALL(variable16
,COLOR_abstract_collection___IndexedCollection___append
))(variable16
, variable20
) /*String::append*/;
3108 variable21
= NEW_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
3109 variable22
= variable21
;
3110 ((string___String___append_t
)CALL(variable16
,COLOR_abstract_collection___IndexedCollection___append
))(variable16
, variable22
) /*String::append*/;
3111 variable23
= NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
3112 variable23
= ((string___Collection___join_t
)CALL( variable13
/*params*/,COLOR_string___Collection___join
))( variable13
/*params*/, variable23
) /*Collection::join*/;
3113 variable24
= variable23
;
3114 ((string___String___append_t
)CALL(variable16
,COLOR_abstract_collection___IndexedCollection___append
))(variable16
, variable24
) /*String::append*/;
3115 variable25
= NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
3116 variable26
= variable25
;
3117 ((string___String___append_t
)CALL(variable16
,COLOR_abstract_collection___IndexedCollection___append
))(variable16
, variable26
) /*String::append*/;
3118 variable15
= variable16
;
3119 variable16
= NEW_string___String___with_native(BOX_NativeString(" {"), TAG_Int(2)); /*new String*/
3120 variable16
= ((string___String_____plus_t
)CALL( variable15
/*s*/,COLOR_string___String_____plus
))( variable15
/*s*/, variable16
) /*String::+*/;
3121 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable16
) /*CompilerVisitor::add_instr*/;
3122 ((compiling_base___CompilerVisitor___indent_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___indent
))( variable0
/*v*/) /*CompilerVisitor::indent*/;
3123 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable9
/*init_table_decl*/) /*CompilerVisitor::add_instr*/;
3124 variable16
= NEW_string___String___init(); /*new String*/
3125 variable17
= NEW_string___String___with_native(BOX_NativeString("val_t self = NEW_"), TAG_Int(17)); /*new String*/
3126 variable18
= variable17
;
3127 ((string___String___append_t
)CALL(variable16
,COLOR_abstract_collection___IndexedCollection___append
))(variable16
, variable18
) /*String::append*/;
3128 variable19
= ((abstractmetamodel___MMLocalClass___name_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass___name
))( self
) /*MMLocalClass::name*/;
3129 variable20
= variable19
;
3130 variable20
= ((string___String___to_s_t
)CALL(variable20
,COLOR_string___Object___to_s
))(variable20
) /*String::to_s*/;
3131 ((string___String___append_t
)CALL(variable16
,COLOR_abstract_collection___IndexedCollection___append
))(variable16
, variable20
) /*String::append*/;
3132 variable21
= NEW_string___String___with_native(BOX_NativeString("();"), TAG_Int(3)); /*new String*/
3133 variable22
= variable21
;
3134 ((string___String___append_t
)CALL(variable16
,COLOR_abstract_collection___IndexedCollection___append
))(variable16
, variable22
) /*String::append*/;
3135 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable16
) /*CompilerVisitor::add_instr*/;
3136 variable16
= NEW_string___String___init(); /*new String*/
3137 variable17
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
3138 variable18
= variable17
;
3139 ((string___String___append_t
)CALL(variable16
,COLOR_abstract_collection___IndexedCollection___append
))(variable16
, variable18
) /*String::append*/;
3140 variable19
= ((compiling_base___MMLocalProperty___cname_t
)CALL( variable12
/*p*/,COLOR_compiling_base___MMLocalProperty___cname
))( variable12
/*p*/) /*MMLocalProperty::cname*/;
3141 variable20
= variable19
;
3142 ((string___String___append_t
)CALL(variable16
,COLOR_abstract_collection___IndexedCollection___append
))(variable16
, variable20
) /*String::append*/;
3143 variable21
= NEW_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
3144 variable22
= variable21
;
3145 ((string___String___append_t
)CALL(variable16
,COLOR_abstract_collection___IndexedCollection___append
))(variable16
, variable22
) /*String::append*/;
3146 variable23
= NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
3147 variable23
= ((string___Collection___join_t
)CALL( variable14
/*args*/,COLOR_string___Collection___join
))( variable14
/*args*/, variable23
) /*Collection::join*/;
3148 variable24
= variable23
;
3149 ((string___String___append_t
)CALL(variable16
,COLOR_abstract_collection___IndexedCollection___append
))(variable16
, variable24
) /*String::append*/;
3150 variable25
= NEW_string___String___with_native(BOX_NativeString(");"), TAG_Int(2)); /*new String*/
3151 variable26
= variable25
;
3152 ((string___String___append_t
)CALL(variable16
,COLOR_abstract_collection___IndexedCollection___append
))(variable16
, variable26
) /*String::append*/;
3153 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable16
) /*CompilerVisitor::add_instr*/;
3154 variable16
= NEW_string___String___with_native(BOX_NativeString("return self;"), TAG_Int(12)); /*new String*/
3155 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable16
) /*CompilerVisitor::add_instr*/;
3156 ((compiling_base___CompilerVisitor___unindent_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___unindent
))( variable0
/*v*/) /*CompilerVisitor::unindent*/;
3157 variable16
= NEW_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
3158 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable16
) /*CompilerVisitor::add_instr*/;
3159 continue_104
: while(0);
3160 ((abstract_collection___Iterator___next_t
)CALL(variable10
,COLOR_abstract_collection___Iterator___next
))(variable10
) /*Iterator::next*/;
3162 break_104
: while(0);
3164 variable6
= ((compiling_base___PrimitiveInfo___tagged_t
)CALL( variable5
/*pi*/,COLOR_compiling_base___PrimitiveInfo___tagged
))( variable5
/*pi*/) /*PrimitiveInfo::tagged*/;
3165 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable6
)))) { /*if*/
3166 variable7
= ((compiling_base___PrimitiveInfo___cname_t
)CALL( variable5
/*pi*/,COLOR_compiling_base___PrimitiveInfo___cname
))( variable5
/*pi*/) /*PrimitiveInfo::cname*/;
3167 variable6
= variable7
;
3168 variable8
= NEW_string___String___init(); /*new String*/
3169 variable9
= NEW_string___String___with_native(BOX_NativeString("struct TBOX_"), TAG_Int(12)); /*new String*/
3170 variable10
= variable9
;
3171 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable10
) /*String::append*/;
3172 variable11
= ((abstractmetamodel___MMLocalClass___name_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass___name
))( self
) /*MMLocalClass::name*/;
3173 variable12
= variable11
;
3174 variable12
= ((string___String___to_s_t
)CALL(variable12
,COLOR_string___Object___to_s
))(variable12
) /*String::to_s*/;
3175 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable12
) /*String::append*/;
3176 variable13
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
3177 variable14
= variable13
;
3178 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable14
) /*String::append*/;
3179 variable7
= variable8
;
3180 variable8
= NEW_string___String___init(); /*new String*/
3181 variable9
= NEW_string___String___with_native(BOX_NativeString("val_t BOX_"), TAG_Int(10)); /*new String*/
3182 variable10
= variable9
;
3183 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable10
) /*String::append*/;
3184 variable11
= ((abstractmetamodel___MMLocalClass___name_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass___name
))( self
) /*MMLocalClass::name*/;
3185 variable12
= variable11
;
3186 variable12
= ((string___String___to_s_t
)CALL(variable12
,COLOR_string___Object___to_s
))(variable12
) /*String::to_s*/;
3187 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable12
) /*String::append*/;
3188 variable13
= NEW_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
3189 variable14
= variable13
;
3190 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable14
) /*String::append*/;
3191 variable15
= variable6
/*t*/;
3192 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable15
) /*String::append*/;
3193 variable16
= NEW_string___String___with_native(BOX_NativeString(" val) {"), TAG_Int(7)); /*new String*/
3194 variable17
= variable16
;
3195 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable17
) /*String::append*/;
3196 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable8
) /*CompilerVisitor::add_instr*/;
3197 ((compiling_base___CompilerVisitor___indent_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___indent
))( variable0
/*v*/) /*CompilerVisitor::indent*/;
3198 variable8
= NEW_string___String___init(); /*new String*/
3199 variable9
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
3200 variable10
= variable9
;
3201 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable10
) /*String::append*/;
3202 variable11
= variable7
/*tbox*/;
3203 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable11
) /*String::append*/;
3204 variable12
= NEW_string___String___with_native(BOX_NativeString(" *box = ("), TAG_Int(9)); /*new String*/
3205 variable13
= variable12
;
3206 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable13
) /*String::append*/;
3207 variable14
= variable7
/*tbox*/;
3208 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable14
) /*String::append*/;
3209 variable15
= NEW_string___String___with_native(BOX_NativeString("*)alloc(sizeof("), TAG_Int(15)); /*new String*/
3210 variable16
= variable15
;
3211 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable16
) /*String::append*/;
3212 variable17
= variable7
/*tbox*/;
3213 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable17
) /*String::append*/;
3214 variable18
= NEW_string___String___with_native(BOX_NativeString("));"), TAG_Int(3)); /*new String*/
3215 variable19
= variable18
;
3216 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable19
) /*String::append*/;
3217 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable8
) /*CompilerVisitor::add_instr*/;
3218 variable8
= NEW_string___String___init(); /*new String*/
3219 variable9
= NEW_string___String___with_native(BOX_NativeString("box->vft = VFT_"), TAG_Int(15)); /*new String*/
3220 variable10
= variable9
;
3221 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable10
) /*String::append*/;
3222 variable11
= ((abstractmetamodel___MMLocalClass___name_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass___name
))( self
) /*MMLocalClass::name*/;
3223 variable12
= variable11
;
3224 variable12
= ((string___String___to_s_t
)CALL(variable12
,COLOR_string___Object___to_s
))(variable12
) /*String::to_s*/;
3225 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable12
) /*String::append*/;
3226 variable13
= NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
3227 variable14
= variable13
;
3228 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable14
) /*String::append*/;
3229 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable8
) /*CompilerVisitor::add_instr*/;
3230 variable8
= NEW_string___String___with_native(BOX_NativeString("box->val = val;"), TAG_Int(15)); /*new String*/
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("return OBJ2VAL(box);"), TAG_Int(20)); /*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 ((compiling_base___CompilerVisitor___unindent_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___unindent
))( variable0
/*v*/) /*CompilerVisitor::unindent*/;
3235 variable8
= NEW_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
3236 ((compiling_base___CompilerVisitor___add_instr_t
)CALL( variable0
/*v*/,COLOR_compiling_base___CompilerVisitor___add_instr
))( variable0
/*v*/, variable8
) /*CompilerVisitor::add_instr*/;
3239 tracehead
= trace
.prev
;