1 /* This C file is generated by NIT to compile module abstractmetamodel. */
2 #include "abstractmetamodel._sep.h"
3 void abstractmetamodel___MMContext___init(val_t self
, int* init_table
) {
4 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMContext___init
, 26};
5 trace
.prev
= tracehead
; tracehead
= &trace
;
6 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMContext
].i
]) return;
7 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMContext
].i
] = 1;
8 tracehead
= trace
.prev
;
11 val_t
abstractmetamodel___MMContext___module_hierarchy(val_t self
) {
12 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMContext___module_hierarchy
, 28};
13 trace
.prev
= tracehead
; tracehead
= &trace
;
14 tracehead
= trace
.prev
;
15 return ATTR_abstractmetamodel___MMContext____module_hierarchy( self
) /*MMContext::_module_hierarchy*/;
17 val_t
abstractmetamodel___MMContext___class_hierarchy(val_t self
) {
18 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMContext___class_hierarchy
, 31};
19 trace
.prev
= tracehead
; tracehead
= &trace
;
20 tracehead
= trace
.prev
;
21 return ATTR_abstractmetamodel___MMContext____class_hierarchy( self
) /*MMContext::_class_hierarchy*/;
23 val_t
abstractmetamodel___MMContext___modules(val_t self
) {
24 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMContext___modules
, 38};
25 trace
.prev
= tracehead
; tracehead
= &trace
;
26 tracehead
= trace
.prev
;
27 return ATTR_abstractmetamodel___MMContext____modules( self
) /*MMContext::_modules*/;
29 void abstractmetamodel___MMContext___add_module(val_t self
, val_t param0
, val_t param1
) {
30 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMContext___add_module
, 41};
35 trace
.prev
= tracehead
; tracehead
= &trace
;
38 variable2
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1
/*supers*/ == NIT_NULL
/*null*/) || (( variable1
/*supers*/ != NIT_NULL
) && UNTAG_Bool(((array___AbstractArray_____eqeq_t
)CALL( variable1
/*supers*/,COLOR_kernel___Object_____eqeq
))( variable1
/*supers*/, NIT_NULL
/*null*/) /*Array::==*/)))));
39 if (!UNTAG_Bool(variable2
)) { fprintf(stderr
, "Assert%s failed (%s: %d)\n", "", LOCATE_abstractmetamodel___MMContext___add_module
, 44); nit_exit(1);}
40 variable2
= ATTR_abstractmetamodel___MMContext____module_hierarchy( self
) /*MMContext::_module_hierarchy*/;
41 variable3
= ATTR_abstractmetamodel___MMContext____module_hierarchy( self
) /*MMContext::_module_hierarchy*/;
42 variable3
= ((partial_order___PartialOrder___select_smallests_t
)CALL(variable3
,COLOR_partial_order___PartialOrder___select_smallests
))(variable3
, variable1
/*supers*/) /*PartialOrder::select_smallests*/;
43 ((partial_order___PartialOrder___add_t
)CALL(variable2
,COLOR_partial_order___PartialOrder___add
))(variable2
, variable0
/*module*/, variable3
) /*PartialOrder::add*/;
44 variable2
= ((abstractmetamodel___MMModule___name_t
)CALL( variable0
/*module*/,COLOR_abstractmetamodel___MMModule___name
))( variable0
/*module*/) /*MMModule::name*/;
45 variable2
= TAG_Bool(!UNTAG_Bool(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*/) /*Symbol::==*/)))))));
46 if (!UNTAG_Bool(variable2
)) { fprintf(stderr
, "Assert%s failed (%s: %d)\n", "", LOCATE_abstractmetamodel___MMContext___add_module
, 46); nit_exit(1);}
47 variable2
= ATTR_abstractmetamodel___MMContext____modules( self
) /*MMContext::_modules*/;
48 ((array___AbstractArray___add_t
)CALL(variable2
,COLOR_abstract_collection___SimpleCollection___add
))(variable2
, variable0
/*module*/) /*Array::add*/;
49 variable2
= ATTR_abstractmetamodel___MMContext____module_hierarchy( self
) /*MMContext::_module_hierarchy*/;
50 variable2
= ((partial_order___PartialOrder_____bra_t
)CALL(variable2
,COLOR_partial_order___PartialOrder_____bra
))(variable2
, variable0
/*module*/) /*PartialOrder::[]*/;
51 ATTR_abstractmetamodel___MMModule____mhe( variable0
/*module*/) /*MMModule::_mhe*/ = variable2
;
52 tracehead
= trace
.prev
;
55 void abstractmetamodel___MMContext___add_global_class(val_t self
, val_t param0
) {
56 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMContext___add_global_class
, 51};
59 trace
.prev
= tracehead
; tracehead
= &trace
;
61 variable1
= ATTR_abstractmetamodel___MMContext____global_classes( self
) /*MMContext::_global_classes*/;
62 ((array___AbstractArray___add_t
)CALL(variable1
,COLOR_abstract_collection___SimpleCollection___add
))(variable1
, variable0
/*c*/) /*Array::add*/;
63 tracehead
= trace
.prev
;
66 void abstractmetamodel___MMContext___add_local_class(val_t self
, val_t param0
, val_t param1
) {
67 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMContext___add_local_class
, 54};
77 trace
.prev
= tracehead
; tracehead
= &trace
;
80 variable2
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1
/*sup*/ == NIT_NULL
/*null*/) || (( variable1
/*sup*/ != NIT_NULL
) && UNTAG_Bool(((array___AbstractArray_____eqeq_t
)CALL( variable1
/*sup*/,COLOR_kernel___Object_____eqeq
))( variable1
/*sup*/, NIT_NULL
/*null*/) /*Array::==*/)))));
81 if (!UNTAG_Bool(variable2
)) { fprintf(stderr
, "Assert%s failed (%s: %d)\n", "", LOCATE_abstractmetamodel___MMContext___add_local_class
, 57); nit_exit(1);}
82 variable3
= NEW_array___Array___init(); /*new Array[MMLocalClass]*/
83 variable2
= variable3
;
84 variable4
= NEW_array___Array___init(); /*new Array[String]*/
85 variable3
= variable4
;
86 variable4
= ((array___AbstractArray___iterator_t
)CALL( variable1
/*sup*/,COLOR_abstract_collection___Collection___iterator
))( variable1
/*sup*/) /*Array::iterator*/;
87 while (true) { /*for*/
88 variable5
= ((array___ArrayIterator___is_ok_t
)CALL(variable4
,COLOR_abstract_collection___Iterator___is_ok
))(variable4
) /*ArrayIterator::is_ok*/;
89 if (!UNTAG_Bool(variable5
)) break; /*for*/
90 variable5
= ((array___ArrayIterator___item_t
)CALL(variable4
,COLOR_abstract_collection___Iterator___item
))(variable4
) /*ArrayIterator::item*/;
91 variable6
= TAG_Bool(( variable5
/*s*/==NIT_NULL
) || VAL_ISA( variable5
/*s*/, COLOR_MMConcreteClass
, ID_MMConcreteClass
)) /*cast MMConcreteClass*/;
92 if (UNTAG_Bool(variable6
)) { /*if*/
93 ((array___AbstractArray___add_t
)CALL( variable2
/*csup*/,COLOR_abstract_collection___SimpleCollection___add
))( variable2
/*csup*/, variable5
/*s*/) /*Array::add*/;
95 variable6
= ((abstractmetamodel___MMLocalClass___che_t
)CALL( variable5
/*s*/,COLOR_abstractmetamodel___MMLocalClass___che
))( variable5
/*s*/) /*MMLocalClass::che*/;
96 variable6
= ((partial_order___PartialOrderElement___direct_greaters_t
)CALL(variable6
,COLOR_partial_order___PartialOrderElement___direct_greaters
))(variable6
) /*PartialOrderElement::direct_greaters*/;
97 variable6
= ((array___AbstractArray___iterator_t
)CALL(variable6
,COLOR_abstract_collection___Collection___iterator
))(variable6
) /*Array::iterator*/;
98 while (true) { /*for*/
99 variable7
= ((array___ArrayIterator___is_ok_t
)CALL(variable6
,COLOR_abstract_collection___Iterator___is_ok
))(variable6
) /*ArrayIterator::is_ok*/;
100 if (!UNTAG_Bool(variable7
)) break; /*for*/
101 variable7
= ((array___ArrayIterator___item_t
)CALL(variable6
,COLOR_abstract_collection___Iterator___item
))(variable6
) /*ArrayIterator::item*/;
102 variable8
= ((array___AbstractArray___has_t
)CALL( variable2
/*csup*/,COLOR_abstract_collection___Collection___has
))( variable2
/*csup*/, variable7
/*ss*/) /*Array::has*/;
103 if (UNTAG_Bool(variable8
)) { /*if*/
106 ((array___AbstractArray___add_t
)CALL( variable2
/*csup*/,COLOR_abstract_collection___SimpleCollection___add
))( variable2
/*csup*/, variable7
/*ss*/) /*Array::add*/;
107 continue_5
: while(0);
108 ((array___ArrayIterator___next_t
)CALL(variable6
,COLOR_abstract_collection___Iterator___next
))(variable6
) /*ArrayIterator::next*/;
112 continue_4
: while(0);
113 ((array___ArrayIterator___next_t
)CALL(variable4
,COLOR_abstract_collection___Iterator___next
))(variable4
) /*ArrayIterator::next*/;
116 variable5
= ATTR_abstractmetamodel___MMContext____class_hierarchy( self
) /*MMContext::_class_hierarchy*/;
117 variable5
= ((partial_order___PartialOrder___add_t
)CALL(variable5
,COLOR_partial_order___PartialOrder___add
))(variable5
, variable0
/*c*/, variable2
/*csup*/) /*PartialOrder::add*/;
118 variable4
= variable5
;
119 ATTR_abstractmetamodel___MMLocalClass____che( variable0
/*c*/) /*MMLocalClass::_che*/ = variable4
/*che*/;
120 tracehead
= trace
.prev
;
123 val_t
abstractmetamodel___MMDirectory___name(val_t self
) {
124 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMDirectory___name
, 77};
125 trace
.prev
= tracehead
; tracehead
= &trace
;
126 tracehead
= trace
.prev
;
127 return ATTR_abstractmetamodel___MMDirectory____name( self
) /*MMDirectory::_name*/;
129 val_t
abstractmetamodel___MMDirectory___path(val_t self
) {
130 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMDirectory___path
, 80};
131 trace
.prev
= tracehead
; tracehead
= &trace
;
132 tracehead
= trace
.prev
;
133 return ATTR_abstractmetamodel___MMDirectory____path( self
) /*MMDirectory::_path*/;
135 val_t
abstractmetamodel___MMDirectory___parent(val_t self
) {
136 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMDirectory___parent
, 83};
137 trace
.prev
= tracehead
; tracehead
= &trace
;
138 tracehead
= trace
.prev
;
139 return ATTR_abstractmetamodel___MMDirectory____parent( self
) /*MMDirectory::_parent*/;
141 val_t
abstractmetamodel___MMDirectory___owner(val_t self
) {
142 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMDirectory___owner
, 87};
143 trace
.prev
= tracehead
; tracehead
= &trace
;
144 tracehead
= trace
.prev
;
145 return ATTR_abstractmetamodel___MMDirectory____owner( self
) /*MMDirectory::_owner*/;
147 void abstractmetamodel___MMDirectory___owner__eq(val_t self
, val_t param0
) {
148 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMDirectory___owner__eq
, 87};
149 trace
.prev
= tracehead
; tracehead
= &trace
;
150 ATTR_abstractmetamodel___MMDirectory____owner( self
) /*MMDirectory::_owner*/ = param0
;
151 tracehead
= trace
.prev
;
154 val_t
abstractmetamodel___MMDirectory___modules(val_t self
) {
155 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMDirectory___modules
, 90};
156 trace
.prev
= tracehead
; tracehead
= &trace
;
157 tracehead
= trace
.prev
;
158 return ATTR_abstractmetamodel___MMDirectory____modules( self
) /*MMDirectory::_modules*/;
160 void abstractmetamodel___MMDirectory___add_module(val_t self
, val_t param0
) {
161 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMDirectory___add_module
, 93};
165 trace
.prev
= tracehead
; tracehead
= &trace
;
167 variable1
= ATTR_abstractmetamodel___MMDirectory____modules( self
) /*MMDirectory::_modules*/;
168 variable2
= ((abstractmetamodel___MMModule___name_t
)CALL( variable0
/*module*/,COLOR_abstractmetamodel___MMModule___name
))( variable0
/*module*/) /*MMModule::name*/;
169 variable1
= ((abstract_collection___Map___has_key_t
)CALL(variable1
,COLOR_abstract_collection___Map___has_key
))(variable1
, variable2
) /*Map::has_key*/;
170 if (!UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable1
)))) { fprintf(stderr
, "Assert%s failed (%s: %d)\n", "", LOCATE_abstractmetamodel___MMDirectory___add_module
, 96); nit_exit(1);}
171 variable1
= ATTR_abstractmetamodel___MMDirectory____modules( self
) /*MMDirectory::_modules*/;
172 variable2
= ((abstractmetamodel___MMModule___name_t
)CALL( variable0
/*module*/,COLOR_abstractmetamodel___MMModule___name
))( variable0
/*module*/) /*MMModule::name*/;
173 ((abstract_collection___Map_____braeq_t
)CALL(variable1
,COLOR_abstract_collection___Map_____braeq
))(variable1
, variable2
, variable0
/*module*/) /*Map::[]=*/;
174 tracehead
= trace
.prev
;
177 val_t
abstractmetamodel___MMDirectory___dhe(val_t self
) {
178 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMDirectory___dhe
, 100};
179 trace
.prev
= tracehead
; tracehead
= &trace
;
180 tracehead
= trace
.prev
;
181 return ATTR_abstractmetamodel___MMDirectory____dhe( self
) /*MMDirectory::_dhe*/;
183 void abstractmetamodel___MMDirectory___init(val_t self
, val_t param0
, val_t param1
, val_t param2
, int* init_table
) {
184 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMDirectory___init
, 103};
188 trace
.prev
= tracehead
; tracehead
= &trace
;
192 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMDirectory
].i
]) return;
193 ATTR_abstractmetamodel___MMDirectory____name( self
) /*MMDirectory::_name*/ = variable0
/*name*/;
194 ATTR_abstractmetamodel___MMDirectory____path( self
) /*MMDirectory::_path*/ = variable1
/*path*/;
195 ATTR_abstractmetamodel___MMDirectory____parent( self
) /*MMDirectory::_parent*/ = variable2
/*parent*/;
196 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMDirectory
].i
] = 1;
197 tracehead
= trace
.prev
;
200 val_t
abstractmetamodel___MMDirectory___full_name_for(val_t self
, val_t param0
) {
201 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMDirectory___full_name_for
, 109};
213 trace
.prev
= tracehead
; tracehead
= &trace
;
215 variable1
= NEW_string___String___init(); /*new String*/
216 variable2
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
217 variable3
= variable2
;
218 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable3
) /*String::append*/;
219 variable4
= ((abstractmetamodel___MMDirectory___name_t
)CALL( self
,COLOR_abstractmetamodel___MMDirectory___name
))( self
) /*MMDirectory::name*/;
220 variable5
= variable4
;
221 variable5
= ((string___String___to_s_t
)CALL(variable5
,COLOR_string___Object___to_s
))(variable5
) /*String::to_s*/;
222 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable5
) /*String::append*/;
223 variable6
= NEW_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
224 variable7
= variable6
;
225 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable7
) /*String::append*/;
226 variable8
= variable0
/*module_name*/;
227 variable8
= ((string___String___to_s_t
)CALL(variable8
,COLOR_string___Object___to_s
))(variable8
) /*String::to_s*/;
228 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable8
) /*String::append*/;
229 variable9
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
230 variable10
= variable9
;
231 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable10
) /*String::append*/;
232 variable1
= ((symbol___String___to_symbol_t
)CALL(variable1
,COLOR_symbol___String___to_symbol
))(variable1
) /*String::to_symbol*/;
234 return_label8
: while(false);
235 tracehead
= trace
.prev
;
238 val_t
abstractmetamodel___MMModule___context(val_t self
) {
239 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMModule___context
, 117};
240 trace
.prev
= tracehead
; tracehead
= &trace
;
241 tracehead
= trace
.prev
;
242 return ATTR_abstractmetamodel___MMModule____context( self
) /*MMModule::_context*/;
244 val_t
abstractmetamodel___MMModule___name(val_t self
) {
245 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMModule___name
, 120};
246 trace
.prev
= tracehead
; tracehead
= &trace
;
247 tracehead
= trace
.prev
;
248 return ATTR_abstractmetamodel___MMModule____name( self
) /*MMModule::_name*/;
250 val_t
abstractmetamodel___MMModule___full_name(val_t self
) {
251 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMModule___full_name
, 123};
252 trace
.prev
= tracehead
; tracehead
= &trace
;
253 tracehead
= trace
.prev
;
254 return ATTR_abstractmetamodel___MMModule____full_name( self
) /*MMModule::_full_name*/;
256 val_t
abstractmetamodel___MMModule___directory(val_t self
) {
257 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMModule___directory
, 126};
258 trace
.prev
= tracehead
; tracehead
= &trace
;
259 tracehead
= trace
.prev
;
260 return ATTR_abstractmetamodel___MMModule____directory( self
) /*MMModule::_directory*/;
262 val_t
abstractmetamodel___MMModule___mhe(val_t self
) {
263 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMModule___mhe
, 129};
264 trace
.prev
= tracehead
; tracehead
= &trace
;
265 tracehead
= trace
.prev
;
266 return ATTR_abstractmetamodel___MMModule____mhe( self
) /*MMModule::_mhe*/;
268 val_t
abstractmetamodel___MMModule___global_classes(val_t self
) {
269 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMModule___global_classes
, 132};
270 trace
.prev
= tracehead
; tracehead
= &trace
;
271 tracehead
= trace
.prev
;
272 return ATTR_abstractmetamodel___MMModule____global_classes( self
) /*MMModule::_global_classes*/;
274 val_t
abstractmetamodel___MMModule___local_classes(val_t self
) {
275 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMModule___local_classes
, 135};
276 trace
.prev
= tracehead
; tracehead
= &trace
;
277 tracehead
= trace
.prev
;
278 return ATTR_abstractmetamodel___MMModule____local_classes( self
) /*MMModule::_local_classes*/;
280 val_t
abstractmetamodel___MMModule___class_specialization_hierarchy(val_t self
) {
281 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMModule___class_specialization_hierarchy
, 138};
282 trace
.prev
= tracehead
; tracehead
= &trace
;
283 tracehead
= trace
.prev
;
284 return ATTR_abstractmetamodel___MMModule____class_specialization_hierarchy( self
) /*MMModule::_class_specialization_hierarchy*/;
286 val_t
abstractmetamodel___MMModule___explicit_imported_modules(val_t self
) {
287 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMModule___explicit_imported_modules
, 150};
288 trace
.prev
= tracehead
; tracehead
= &trace
;
289 tracehead
= trace
.prev
;
290 return ATTR_abstractmetamodel___MMModule____explicit_imported_modules( self
) /*MMModule::_explicit_imported_modules*/;
292 void abstractmetamodel___MMModule___init(val_t self
, val_t param0
, val_t param1
, val_t param2
, int* init_table
) {
293 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMModule___init
, 159};
298 trace
.prev
= tracehead
; tracehead
= &trace
;
302 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMModule
].i
]) return;
303 ATTR_abstractmetamodel___MMModule____name( self
) /*MMModule::_name*/ = variable0
/*name*/;
304 ATTR_abstractmetamodel___MMModule____directory( self
) /*MMModule::_directory*/ = variable1
/*dir*/;
305 ATTR_abstractmetamodel___MMModule____context( self
) /*MMModule::_context*/ = variable2
/*context*/;
306 variable3
= TAG_Bool(( variable1
/*dir*/ == NIT_NULL
/*null*/) || (( variable1
/*dir*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable1
/*dir*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable1
/*dir*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable1
/*dir*/,COLOR_kernel___Object_____eqeq
))( variable1
/*dir*/, NIT_NULL
/*null*/) /*MMDirectory::==*/)))));
307 if (UNTAG_Bool(variable3
)) { /*if*/
308 ATTR_abstractmetamodel___MMModule____full_name( self
) /*MMModule::_full_name*/ = variable0
/*name*/;
310 variable3
= ((abstractmetamodel___MMDirectory___full_name_for_t
)CALL( variable1
/*dir*/,COLOR_abstractmetamodel___MMDirectory___full_name_for
))( variable1
/*dir*/, variable0
/*name*/) /*MMDirectory::full_name_for*/;
311 ATTR_abstractmetamodel___MMModule____full_name( self
) /*MMModule::_full_name*/ = variable3
;
313 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMModule
].i
] = 1;
314 tracehead
= trace
.prev
;
317 void abstractmetamodel___MMModule___add_super_module(val_t self
, val_t param0
, val_t param1
) {
318 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMModule___add_super_module
, 172};
323 trace
.prev
= tracehead
; tracehead
= &trace
;
326 variable2
= ATTR_abstractmetamodel___MMModule____explicit_imported_modules( self
) /*MMModule::_explicit_imported_modules*/;
327 ((abstract_collection___SimpleCollection___add_t
)CALL(variable2
,COLOR_abstract_collection___SimpleCollection___add
))(variable2
, variable0
/*m*/) /*Set::add*/;
328 variable2
= TAG_Bool(( variable1
/*visibility_level*/)==( TAG_Int(0)));
329 if (UNTAG_Bool(variable2
)) { /*if*/
330 variable2
= ATTR_abstractmetamodel___MMModule____intrude_modules( self
) /*MMModule::_intrude_modules*/;
331 ((abstract_collection___SimpleCollection___add_t
)CALL(variable2
,COLOR_abstract_collection___SimpleCollection___add
))(variable2
, variable0
/*m*/) /*Set::add*/;
332 variable2
= ATTR_abstractmetamodel___MMModule____intrude_modules( self
) /*MMModule::_intrude_modules*/;
333 variable3
= ATTR_abstractmetamodel___MMModule____intrude_modules( variable0
/*m*/) /*MMModule::_intrude_modules*/;
334 ((abstract_collection___SimpleCollection___add_all_t
)CALL(variable2
,COLOR_abstract_collection___SimpleCollection___add_all
))(variable2
, variable3
) /*Set::add_all*/;
335 variable2
= ATTR_abstractmetamodel___MMModule____public_modules( self
) /*MMModule::_public_modules*/;
336 variable3
= ATTR_abstractmetamodel___MMModule____public_modules( variable0
/*m*/) /*MMModule::_public_modules*/;
337 ((abstract_collection___SimpleCollection___add_all_t
)CALL(variable2
,COLOR_abstract_collection___SimpleCollection___add_all
))(variable2
, variable3
) /*Set::add_all*/;
338 variable2
= ATTR_abstractmetamodel___MMModule____private_modules( self
) /*MMModule::_private_modules*/;
339 variable3
= ATTR_abstractmetamodel___MMModule____private_modules( variable0
/*m*/) /*MMModule::_private_modules*/;
340 ((abstract_collection___SimpleCollection___add_all_t
)CALL(variable2
,COLOR_abstract_collection___SimpleCollection___add_all
))(variable2
, variable3
) /*Set::add_all*/;
342 variable2
= TAG_Bool(( variable1
/*visibility_level*/)==( TAG_Int(1)));
343 if (UNTAG_Bool(variable2
)) { /*if*/
344 variable2
= ATTR_abstractmetamodel___MMModule____public_modules( self
) /*MMModule::_public_modules*/;
345 ((abstract_collection___SimpleCollection___add_t
)CALL(variable2
,COLOR_abstract_collection___SimpleCollection___add
))(variable2
, variable0
/*m*/) /*Set::add*/;
346 variable2
= ATTR_abstractmetamodel___MMModule____public_modules( self
) /*MMModule::_public_modules*/;
347 variable3
= ATTR_abstractmetamodel___MMModule____intrude_modules( variable0
/*m*/) /*MMModule::_intrude_modules*/;
348 ((abstract_collection___SimpleCollection___add_all_t
)CALL(variable2
,COLOR_abstract_collection___SimpleCollection___add_all
))(variable2
, variable3
) /*Set::add_all*/;
349 variable2
= ATTR_abstractmetamodel___MMModule____public_modules( self
) /*MMModule::_public_modules*/;
350 variable3
= ATTR_abstractmetamodel___MMModule____public_modules( variable0
/*m*/) /*MMModule::_public_modules*/;
351 ((abstract_collection___SimpleCollection___add_all_t
)CALL(variable2
,COLOR_abstract_collection___SimpleCollection___add_all
))(variable2
, variable3
) /*Set::add_all*/;
353 variable2
= ATTR_abstractmetamodel___MMModule____private_modules( self
) /*MMModule::_private_modules*/;
354 ((abstract_collection___SimpleCollection___add_t
)CALL(variable2
,COLOR_abstract_collection___SimpleCollection___add
))(variable2
, variable0
/*m*/) /*Set::add*/;
355 variable2
= ATTR_abstractmetamodel___MMModule____private_modules( self
) /*MMModule::_private_modules*/;
356 variable3
= ATTR_abstractmetamodel___MMModule____intrude_modules( variable0
/*m*/) /*MMModule::_intrude_modules*/;
357 ((abstract_collection___SimpleCollection___add_all_t
)CALL(variable2
,COLOR_abstract_collection___SimpleCollection___add_all
))(variable2
, variable3
) /*Set::add_all*/;
358 variable2
= ATTR_abstractmetamodel___MMModule____private_modules( self
) /*MMModule::_private_modules*/;
359 variable3
= ATTR_abstractmetamodel___MMModule____public_modules( variable0
/*m*/) /*MMModule::_public_modules*/;
360 ((abstract_collection___SimpleCollection___add_all_t
)CALL(variable2
,COLOR_abstract_collection___SimpleCollection___add_all
))(variable2
, variable3
) /*Set::add_all*/;
363 tracehead
= trace
.prev
;
366 val_t
abstractmetamodel___MMModule___visibility_for(val_t self
, val_t param0
) {
367 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMModule___visibility_for
, 196};
371 trace
.prev
= tracehead
; tracehead
= &trace
;
373 variable1
= TAG_Bool(( variable0
/*m*/ == self
) || (( variable0
/*m*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable0
/*m*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable0
/*m*/, self
)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable0
/*m*/,COLOR_kernel___Object_____eqeq
))( variable0
/*m*/, self
) /*MMModule::==*/)))));
374 variable2
= variable1
;
375 if (!UNTAG_Bool(variable2
)) { /* or */
376 variable2
= ATTR_abstractmetamodel___MMModule____intrude_modules( self
) /*MMModule::_intrude_modules*/;
377 variable2
= ((abstract_collection___Collection___has_t
)CALL(variable2
,COLOR_abstract_collection___Collection___has
))(variable2
, variable0
/*m*/) /*Set::has*/;
379 variable1
= variable2
;
380 if (UNTAG_Bool(variable1
)) { /*if*/
381 variable1
= TAG_Int(3);
384 variable1
= ATTR_abstractmetamodel___MMModule____public_modules( self
) /*MMModule::_public_modules*/;
385 variable1
= ((abstract_collection___Collection___has_t
)CALL(variable1
,COLOR_abstract_collection___Collection___has
))(variable1
, variable0
/*m*/) /*Set::has*/;
386 if (UNTAG_Bool(variable1
)) { /*if*/
387 variable1
= TAG_Int(2);
390 variable1
= ATTR_abstractmetamodel___MMModule____private_modules( self
) /*MMModule::_private_modules*/;
391 variable1
= ((abstract_collection___Collection___has_t
)CALL(variable1
,COLOR_abstract_collection___Collection___has
))(variable1
, variable0
/*m*/) /*Set::has*/;
392 if (UNTAG_Bool(variable1
)) { /*if*/
393 variable1
= TAG_Int(1);
396 variable1
= TAG_Int(0);
401 return_label11
: while(false);
402 tracehead
= trace
.prev
;
405 val_t
abstractmetamodel___MMModule_____bra(val_t self
, val_t param0
) {
406 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMModule_____bra
, 215};
409 trace
.prev
= tracehead
; tracehead
= &trace
;
411 variable1
= ATTR_abstractmetamodel___MMModule____local_class_by_global( self
) /*MMModule::_local_class_by_global*/;
412 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*/) /*Map::==*/)))))));
413 if (!UNTAG_Bool(variable1
)) { fprintf(stderr
, "Assert%s failed (%s: %d)\n", "", LOCATE_abstractmetamodel___MMModule_____bra
, 218); nit_exit(1);}
414 variable1
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0
/*c*/ == NIT_NULL
/*null*/) || (( variable0
/*c*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable0
/*c*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable0
/*c*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable0
/*c*/,COLOR_kernel___Object_____eqeq
))( variable0
/*c*/, NIT_NULL
/*null*/) /*MMGlobalClass::==*/)))))));
415 if (!UNTAG_Bool(variable1
)) { fprintf(stderr
, "Assert%s failed (%s: %d)\n", "", LOCATE_abstractmetamodel___MMModule_____bra
, 219); nit_exit(1);}
416 variable1
= ATTR_abstractmetamodel___MMModule____local_class_by_global( self
) /*MMModule::_local_class_by_global*/;
417 variable1
= ((abstract_collection___Map___has_key_t
)CALL(variable1
,COLOR_abstract_collection___Map___has_key
))(variable1
, variable0
/*c*/) /*Map::has_key*/;
418 if (UNTAG_Bool(variable1
)) { /*if*/
419 variable1
= ATTR_abstractmetamodel___MMModule____local_class_by_global( self
) /*MMModule::_local_class_by_global*/;
420 variable1
= ((abstract_collection___Map_____bra_t
)CALL(variable1
,COLOR_abstract_collection___Map_____bra
))(variable1
, variable0
/*c*/) /*Map::[]*/;
423 variable1
= NIT_NULL
/*null*/;
426 return_label12
: while(false);
427 tracehead
= trace
.prev
;
430 void abstractmetamodel___MMModule___add_local_class(val_t self
, val_t param0
) {
431 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMModule___add_local_class
, 227};
434 trace
.prev
= tracehead
; tracehead
= &trace
;
436 ATTR_abstractmetamodel___MMLocalClass____module( variable0
/*c*/) /*MMLocalClass::_module*/ = self
;
437 variable1
= ATTR_abstractmetamodel___MMModule____local_classes( self
) /*MMModule::_local_classes*/;
438 ((array___AbstractArray___add_t
)CALL(variable1
,COLOR_abstract_collection___SimpleCollection___add
))(variable1
, variable0
/*c*/) /*Array::add*/;
439 tracehead
= trace
.prev
;
442 val_t
abstractmetamodel___MMModule___class_by_name(val_t self
, val_t param0
) {
443 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMModule___class_by_name
, 234};
446 trace
.prev
= tracehead
; tracehead
= &trace
;
448 variable1
= ATTR_abstractmetamodel___MMModule____global_class_by_name( self
) /*MMModule::_global_class_by_name*/;
449 variable1
= ((abstract_collection___Map_____bra_t
)CALL(variable1
,COLOR_abstract_collection___Map_____bra
))(variable1
, variable0
/*n*/) /*Map::[]*/;
450 variable1
= ((abstractmetamodel___MMModule_____bra_t
)CALL( self
,COLOR_abstractmetamodel___MMModule_____bra
))( self
, variable1
) /*MMModule::[]*/;
452 return_label14
: while(false);
453 tracehead
= trace
.prev
;
456 val_t
abstractmetamodel___MMModule___has_global_class_named(val_t self
, val_t param0
) {
457 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMModule___has_global_class_named
, 240};
460 trace
.prev
= tracehead
; tracehead
= &trace
;
462 variable1
= ATTR_abstractmetamodel___MMModule____global_class_by_name( self
) /*MMModule::_global_class_by_name*/;
463 variable1
= ((abstract_collection___Map___has_key_t
)CALL(variable1
,COLOR_abstract_collection___Map___has_key
))(variable1
, variable0
/*n*/) /*Map::has_key*/;
465 return_label15
: while(false);
466 tracehead
= trace
.prev
;
469 val_t
abstractmetamodel___MMModule___global_class_named(val_t self
, val_t param0
) {
470 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMModule___global_class_named
, 246};
473 trace
.prev
= tracehead
; tracehead
= &trace
;
475 variable1
= ATTR_abstractmetamodel___MMModule____global_class_by_name( self
) /*MMModule::_global_class_by_name*/;
476 variable1
= ((abstract_collection___Map___has_key_t
)CALL(variable1
,COLOR_abstract_collection___Map___has_key
))(variable1
, variable0
/*n*/) /*Map::has_key*/;
477 if (UNTAG_Bool(variable1
)) { /*if*/
478 variable1
= ATTR_abstractmetamodel___MMModule____global_class_by_name( self
) /*MMModule::_global_class_by_name*/;
479 variable1
= ((abstract_collection___Map_____bra_t
)CALL(variable1
,COLOR_abstract_collection___Map_____bra
))(variable1
, variable0
/*n*/) /*Map::[]*/;
482 variable1
= NIT_NULL
/*null*/;
485 return_label16
: while(false);
486 tracehead
= trace
.prev
;
489 val_t
abstractmetamodel___MMModule___to_s(val_t self
) {
490 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMModule___to_s
, 257};
492 trace
.prev
= tracehead
; tracehead
= &trace
;
493 variable0
= ((abstractmetamodel___MMModule___name_t
)CALL( self
,COLOR_abstractmetamodel___MMModule___name
))( self
) /*MMModule::name*/;
494 variable0
= ((symbol___Symbol___to_s_t
)CALL(variable0
,COLOR_string___Object___to_s
))(variable0
) /*Symbol::to_s*/;
496 return_label17
: while(false);
497 tracehead
= trace
.prev
;
500 void abstractmetamodel___MMModule___set_supers_class(val_t self
, val_t param0
, val_t param1
) {
501 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMModule___set_supers_class
, 259};
507 trace
.prev
= tracehead
; tracehead
= &trace
;
510 variable2
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1
/*supers*/ == NIT_NULL
/*null*/) || (( variable1
/*supers*/ != NIT_NULL
) && UNTAG_Bool(((array___AbstractArray_____eqeq_t
)CALL( variable1
/*supers*/,COLOR_kernel___Object_____eqeq
))( variable1
/*supers*/, NIT_NULL
/*null*/) /*Array::==*/)))));
511 if (!UNTAG_Bool(variable2
)) { fprintf(stderr
, "Assert%s failed (%s: %d)\n", "", LOCATE_abstractmetamodel___MMModule___set_supers_class
, 262); nit_exit(1);}
512 variable3
= ATTR_abstractmetamodel___MMModule____class_specialization_hierarchy( self
) /*MMModule::_class_specialization_hierarchy*/;
513 variable3
= ((partial_order___PartialOrder___select_smallests_t
)CALL(variable3
,COLOR_partial_order___PartialOrder___select_smallests
))(variable3
, variable1
/*supers*/) /*PartialOrder::select_smallests*/;
514 variable2
= variable3
;
515 variable3
= ATTR_abstractmetamodel___MMModule____class_specialization_hierarchy( self
) /*MMModule::_class_specialization_hierarchy*/;
516 variable3
= ((partial_order___PartialOrder___add_t
)CALL(variable3
,COLOR_partial_order___PartialOrder___add
))(variable3
, variable0
/*c*/, variable2
/*tab*/) /*PartialOrder::add*/;
517 ATTR_abstractmetamodel___MMLocalClass____cshe( variable0
/*c*/) /*MMLocalClass::_cshe*/ = variable3
;
518 variable4
= ((abstractmetamodel___MMLocalClass___crhe_t
)CALL( variable0
/*c*/,COLOR_abstractmetamodel___MMLocalClass___crhe
))( variable0
/*c*/) /*MMLocalClass::crhe*/;
519 variable4
= ((partial_order___PartialOrderElement___direct_greaters_t
)CALL(variable4
,COLOR_partial_order___PartialOrderElement___direct_greaters
))(variable4
) /*PartialOrderElement::direct_greaters*/;
520 variable4
= ((array___Collection___to_a_t
)CALL(variable4
,COLOR_array___Collection___to_a
))(variable4
) /*Array::to_a*/;
521 variable3
= variable4
;
522 ((abstract_collection___SimpleCollection___add_all_t
)CALL( variable3
/*tab_all*/,COLOR_abstract_collection___SimpleCollection___add_all
))( variable3
/*tab_all*/, variable2
/*tab*/) /*Array::add_all*/;
523 variable4
= ((abstractmetamodel___MMModule___context_t
)CALL( self
,COLOR_abstractmetamodel___MMModule___context
))( self
) /*MMModule::context*/;
524 ((abstractmetamodel___MMContext___add_local_class_t
)CALL(variable4
,COLOR_abstractmetamodel___MMContext___add_local_class
))(variable4
, variable0
/*c*/, variable3
/*tab_all*/) /*MMContext::add_local_class*/;
525 tracehead
= trace
.prev
;
528 void abstractmetamodel___MMModule___register_global_class(val_t self
, val_t param0
) {
529 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMModule___register_global_class
, 270};
533 trace
.prev
= tracehead
; tracehead
= &trace
;
535 variable1
= ((abstractmetamodel___MMLocalClass___global_t
)CALL( variable0
/*c*/,COLOR_abstractmetamodel___MMLocalClass___global
))( variable0
/*c*/) /*MMLocalClass::global*/;
536 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*/) /*MMGlobalClass::==*/)))))));
537 if (!UNTAG_Bool(variable1
)) { fprintf(stderr
, "Assert%s failed (%s: %d)\n", "", LOCATE_abstractmetamodel___MMModule___register_global_class
, 273); nit_exit(1);}
538 variable1
= ATTR_abstractmetamodel___MMModule____local_class_by_global( self
) /*MMModule::_local_class_by_global*/;
539 variable2
= ((abstractmetamodel___MMLocalClass___global_t
)CALL( variable0
/*c*/,COLOR_abstractmetamodel___MMLocalClass___global
))( variable0
/*c*/) /*MMLocalClass::global*/;
540 ((abstract_collection___Map_____braeq_t
)CALL(variable1
,COLOR_abstract_collection___Map_____braeq
))(variable1
, variable2
, variable0
/*c*/) /*Map::[]=*/;
541 tracehead
= trace
.prev
;
544 val_t
abstractmetamodel___MMGlobalClass___intro(val_t self
) {
545 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMGlobalClass___intro
, 279};
546 trace
.prev
= tracehead
; tracehead
= &trace
;
547 tracehead
= trace
.prev
;
548 return ATTR_abstractmetamodel___MMGlobalClass____intro( self
) /*MMGlobalClass::_intro*/;
550 val_t
abstractmetamodel___MMGlobalClass___class_refinement_hierarchy(val_t self
) {
551 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMGlobalClass___class_refinement_hierarchy
, 282};
552 trace
.prev
= tracehead
; tracehead
= &trace
;
553 tracehead
= trace
.prev
;
554 return ATTR_abstractmetamodel___MMGlobalClass____class_refinement_hierarchy( self
) /*MMGlobalClass::_class_refinement_hierarchy*/;
556 void abstractmetamodel___MMGlobalClass___init(val_t self
, val_t param0
, int* init_table
) {
557 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMGlobalClass___init
, 286};
560 trace
.prev
= tracehead
; tracehead
= &trace
;
562 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMGlobalClass
].i
]) return;
563 ATTR_abstractmetamodel___MMGlobalClass____intro( self
) /*MMGlobalClass::_intro*/ = variable0
/*c*/;
564 variable1
= ((abstractmetamodel___MMLocalClass___context_t
)CALL( variable0
/*c*/,COLOR_abstractmetamodel___MMLocalClass___context
))( variable0
/*c*/) /*MMLocalClass::context*/;
565 ((abstractmetamodel___MMContext___add_global_class_t
)CALL(variable1
,COLOR_abstractmetamodel___MMContext___add_global_class
))(variable1
, self
) /*MMContext::add_global_class*/;
566 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMGlobalClass
].i
] = 1;
567 tracehead
= trace
.prev
;
570 val_t
abstractmetamodel___MMGlobalClass___name(val_t self
) {
571 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMGlobalClass___name
, 293};
573 trace
.prev
= tracehead
; tracehead
= &trace
;
574 variable0
= ((abstractmetamodel___MMGlobalClass___intro_t
)CALL( self
,COLOR_abstractmetamodel___MMGlobalClass___intro
))( self
) /*MMGlobalClass::intro*/;
575 variable0
= ((abstractmetamodel___MMLocalClass___name_t
)CALL(variable0
,COLOR_abstractmetamodel___MMLocalClass___name
))(variable0
) /*MMLocalClass::name*/;
577 return_label21
: while(false);
578 tracehead
= trace
.prev
;
581 val_t
abstractmetamodel___MMGlobalClass___module(val_t self
) {
582 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMGlobalClass___module
, 299};
584 trace
.prev
= tracehead
; tracehead
= &trace
;
585 variable0
= ((abstractmetamodel___MMGlobalClass___intro_t
)CALL( self
,COLOR_abstractmetamodel___MMGlobalClass___intro
))( self
) /*MMGlobalClass::intro*/;
586 variable0
= ((abstractmetamodel___MMLocalClass___module_t
)CALL(variable0
,COLOR_abstractmetamodel___MMLocalClass___module
))(variable0
) /*MMLocalClass::module*/;
588 return_label22
: while(false);
589 tracehead
= trace
.prev
;
592 val_t
abstractmetamodel___MMGlobalClass___to_s(val_t self
) {
593 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMGlobalClass___to_s
, 305};
595 trace
.prev
= tracehead
; tracehead
= &trace
;
596 variable0
= ((abstractmetamodel___MMGlobalClass___intro_t
)CALL( self
,COLOR_abstractmetamodel___MMGlobalClass___intro
))( self
) /*MMGlobalClass::intro*/;
597 variable0
= ((abstractmetamodel___MMLocalClass___to_s_t
)CALL(variable0
,COLOR_string___Object___to_s
))(variable0
) /*MMLocalClass::to_s*/;
599 return_label23
: while(false);
600 tracehead
= trace
.prev
;
603 void abstractmetamodel___MMGlobalClass___register_local_class(val_t self
, val_t param0
) {
604 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMGlobalClass___register_local_class
, 310};
611 trace
.prev
= tracehead
; tracehead
= &trace
;
613 variable1
= ((abstractmetamodel___MMLocalClass___module_t
)CALL( variable0
/*c*/,COLOR_abstractmetamodel___MMLocalClass___module
))( variable0
/*c*/) /*MMLocalClass::module*/;
614 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*/) /*MMModule::==*/)))))));
615 if (!UNTAG_Bool(variable1
)) { fprintf(stderr
, "Assert%s failed (%s: %d)\n", "", LOCATE_abstractmetamodel___MMGlobalClass___register_local_class
, 313); nit_exit(1);}
616 variable1
= ((abstractmetamodel___MMLocalClass___crhe_t
)CALL( variable0
/*c*/,COLOR_abstractmetamodel___MMLocalClass___crhe
))( variable0
/*c*/) /*MMLocalClass::crhe*/;
617 variable1
= 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*/) /*PartialOrderElement::==*/)))));
618 if (!UNTAG_Bool(variable1
)) { fprintf(stderr
, "Assert%s failed (%s: %d)\n", "", LOCATE_abstractmetamodel___MMGlobalClass___register_local_class
, 314); nit_exit(1);}
619 variable2
= NEW_array___Array___init(); /*new Array[MMLocalClass]*/
620 variable1
= variable2
;
621 variable2
= ((abstractmetamodel___MMGlobalClass___class_refinement_hierarchy_t
)CALL( self
,COLOR_abstractmetamodel___MMGlobalClass___class_refinement_hierarchy
))( self
) /*MMGlobalClass::class_refinement_hierarchy*/;
622 variable2
= ((partial_order___PartialOrder___iterator_t
)CALL(variable2
,COLOR_abstract_collection___Collection___iterator
))(variable2
) /*PartialOrder::iterator*/;
623 while (true) { /*for*/
624 variable3
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___is_ok
))(variable2
) /*Iterator::is_ok*/;
625 if (!UNTAG_Bool(variable3
)) break; /*for*/
626 variable3
= ((abstract_collection___Iterator___item_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___item
))(variable2
) /*Iterator::item*/;
627 variable4
= ((abstractmetamodel___MMLocalClass___module_t
)CALL( variable0
/*c*/,COLOR_abstractmetamodel___MMLocalClass___module
))( variable0
/*c*/) /*MMLocalClass::module*/;
628 variable4
= ((abstractmetamodel___MMModule___mhe_t
)CALL(variable4
,COLOR_abstractmetamodel___MMModule___mhe
))(variable4
) /*MMModule::mhe*/;
629 variable5
= ((abstractmetamodel___MMLocalClass___module_t
)CALL( variable3
/*s*/,COLOR_abstractmetamodel___MMLocalClass___module
))( variable3
/*s*/) /*MMLocalClass::module*/;
630 variable4
= ((partial_order___PartialOrderElement_____l_t
)CALL(variable4
,COLOR_partial_order___PartialOrderElement_____l
))(variable4
, variable5
) /*PartialOrderElement::<*/;
631 variable5
= variable4
;
632 if (UNTAG_Bool(variable5
)) { /* and */
633 variable5
= TAG_Bool(( variable3
/*s*/==NIT_NULL
) || VAL_ISA( variable3
/*s*/, COLOR_MMConcreteClass
, ID_MMConcreteClass
)) /*cast MMConcreteClass*/;
635 variable4
= variable5
;
636 if (UNTAG_Bool(variable4
)) { /*if*/
637 ((array___AbstractArray___add_t
)CALL( variable1
/*sup*/,COLOR_abstract_collection___SimpleCollection___add
))( variable1
/*sup*/, variable3
/*s*/) /*Array::add*/;
639 continue_25
: while(0);
640 ((abstract_collection___Iterator___next_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___next
))(variable2
) /*Iterator::next*/;
643 variable2
= ATTR_abstractmetamodel___MMGlobalClass____class_refinement_hierarchy( self
) /*MMGlobalClass::_class_refinement_hierarchy*/;
644 variable2
= ((partial_order___PartialOrder___add_t
)CALL(variable2
,COLOR_partial_order___PartialOrder___add
))(variable2
, variable0
/*c*/, variable1
/*sup*/) /*PartialOrder::add*/;
645 ATTR_abstractmetamodel___MMLocalClass____crhe( variable0
/*c*/) /*MMLocalClass::_crhe*/ = variable2
;
646 tracehead
= trace
.prev
;
649 val_t
abstractmetamodel___MMGlobalClass___is_interface(val_t self
) {
650 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMGlobalClass___is_interface
, 324};
651 trace
.prev
= tracehead
; tracehead
= &trace
;
652 tracehead
= trace
.prev
;
653 return ATTR_abstractmetamodel___MMGlobalClass____is_interface( self
) /*MMGlobalClass::_is_interface*/;
655 void abstractmetamodel___MMGlobalClass___is_interface__eq(val_t self
, val_t param0
) {
656 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMGlobalClass___is_interface__eq
, 324};
657 trace
.prev
= tracehead
; tracehead
= &trace
;
658 ATTR_abstractmetamodel___MMGlobalClass____is_interface( self
) /*MMGlobalClass::_is_interface*/ = param0
;
659 tracehead
= trace
.prev
;
662 val_t
abstractmetamodel___MMGlobalClass___is_abstract(val_t self
) {
663 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMGlobalClass___is_abstract
, 327};
664 trace
.prev
= tracehead
; tracehead
= &trace
;
665 tracehead
= trace
.prev
;
666 return ATTR_abstractmetamodel___MMGlobalClass____is_abstract( self
) /*MMGlobalClass::_is_abstract*/;
668 void abstractmetamodel___MMGlobalClass___is_abstract__eq(val_t self
, val_t param0
) {
669 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMGlobalClass___is_abstract__eq
, 327};
670 trace
.prev
= tracehead
; tracehead
= &trace
;
671 ATTR_abstractmetamodel___MMGlobalClass____is_abstract( self
) /*MMGlobalClass::_is_abstract*/ = param0
;
672 tracehead
= trace
.prev
;
675 val_t
abstractmetamodel___MMGlobalClass___is_universal(val_t self
) {
676 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMGlobalClass___is_universal
, 330};
677 trace
.prev
= tracehead
; tracehead
= &trace
;
678 tracehead
= trace
.prev
;
679 return ATTR_abstractmetamodel___MMGlobalClass____is_universal( self
) /*MMGlobalClass::_is_universal*/;
681 void abstractmetamodel___MMGlobalClass___is_universal__eq(val_t self
, val_t param0
) {
682 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMGlobalClass___is_universal__eq
, 330};
683 trace
.prev
= tracehead
; tracehead
= &trace
;
684 ATTR_abstractmetamodel___MMGlobalClass____is_universal( self
) /*MMGlobalClass::_is_universal*/ = param0
;
685 tracehead
= trace
.prev
;
688 val_t
abstractmetamodel___MMGlobalClass___visibility_level(val_t self
) {
689 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMGlobalClass___visibility_level
, 333};
690 trace
.prev
= tracehead
; tracehead
= &trace
;
691 tracehead
= trace
.prev
;
692 return ATTR_abstractmetamodel___MMGlobalClass____visibility_level( self
) /*MMGlobalClass::_visibility_level*/;
694 void abstractmetamodel___MMGlobalClass___visibility_level__eq(val_t self
, val_t param0
) {
695 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMGlobalClass___visibility_level__eq
, 333};
696 trace
.prev
= tracehead
; tracehead
= &trace
;
697 ATTR_abstractmetamodel___MMGlobalClass____visibility_level( self
) /*MMGlobalClass::_visibility_level*/ = param0
;
698 tracehead
= trace
.prev
;
701 val_t
abstractmetamodel___MMLocalClass___name(val_t self
) {
702 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMLocalClass___name
, 341};
703 trace
.prev
= tracehead
; tracehead
= &trace
;
704 tracehead
= trace
.prev
;
705 return ATTR_abstractmetamodel___MMLocalClass____name( self
) /*MMLocalClass::_name*/;
707 val_t
abstractmetamodel___MMLocalClass___arity(val_t self
) {
708 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMLocalClass___arity
, 344};
709 trace
.prev
= tracehead
; tracehead
= &trace
;
710 tracehead
= trace
.prev
;
711 return ATTR_abstractmetamodel___MMLocalClass____arity( self
) /*MMLocalClass::_arity*/;
713 val_t
abstractmetamodel___MMLocalClass___module(val_t self
) {
714 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMLocalClass___module
, 348};
715 trace
.prev
= tracehead
; tracehead
= &trace
;
716 tracehead
= trace
.prev
;
717 return ATTR_abstractmetamodel___MMLocalClass____module( self
) /*MMLocalClass::_module*/;
719 val_t
abstractmetamodel___MMLocalClass___abstract(val_t self
) {
720 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMLocalClass___abstract
, 351};
721 trace
.prev
= tracehead
; tracehead
= &trace
;
722 tracehead
= trace
.prev
;
723 return ATTR_abstractmetamodel___MMLocalClass____abstract( self
) /*MMLocalClass::_abstract*/;
725 void abstractmetamodel___MMLocalClass___abstract__eq(val_t self
, val_t param0
) {
726 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMLocalClass___abstract__eq
, 351};
727 trace
.prev
= tracehead
; tracehead
= &trace
;
728 ATTR_abstractmetamodel___MMLocalClass____abstract( self
) /*MMLocalClass::_abstract*/ = param0
;
729 tracehead
= trace
.prev
;
732 val_t
abstractmetamodel___MMLocalClass___global(val_t self
) {
733 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMLocalClass___global
, 354};
734 trace
.prev
= tracehead
; tracehead
= &trace
;
735 tracehead
= trace
.prev
;
736 return ATTR_abstractmetamodel___MMLocalClass____global( self
) /*MMLocalClass::_global*/;
738 val_t
abstractmetamodel___MMLocalClass___crhe(val_t self
) {
739 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMLocalClass___crhe
, 357};
740 trace
.prev
= tracehead
; tracehead
= &trace
;
741 tracehead
= trace
.prev
;
742 return ATTR_abstractmetamodel___MMLocalClass____crhe( self
) /*MMLocalClass::_crhe*/;
744 val_t
abstractmetamodel___MMLocalClass___cshe(val_t self
) {
745 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMLocalClass___cshe
, 360};
746 trace
.prev
= tracehead
; tracehead
= &trace
;
747 tracehead
= trace
.prev
;
748 return ATTR_abstractmetamodel___MMLocalClass____cshe( self
) /*MMLocalClass::_cshe*/;
750 val_t
abstractmetamodel___MMLocalClass___che(val_t self
) {
751 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMLocalClass___che
, 363};
752 trace
.prev
= tracehead
; tracehead
= &trace
;
753 tracehead
= trace
.prev
;
754 return ATTR_abstractmetamodel___MMLocalClass____che( self
) /*MMLocalClass::_che*/;
756 val_t
abstractmetamodel___MMLocalClass___local_property_by_global(val_t self
) {
757 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMLocalClass___local_property_by_global
, 366};
758 trace
.prev
= tracehead
; tracehead
= &trace
;
759 tracehead
= trace
.prev
;
760 return ATTR_abstractmetamodel___MMLocalClass____local_property_by_global( self
) /*MMLocalClass::_local_property_by_global*/;
762 val_t
abstractmetamodel___MMLocalClass___global_properties(val_t self
) {
763 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMLocalClass___global_properties
, 369};
764 trace
.prev
= tracehead
; tracehead
= &trace
;
765 tracehead
= trace
.prev
;
766 return ATTR_abstractmetamodel___MMLocalClass____global_properties( self
) /*MMLocalClass::_global_properties*/;
768 val_t
abstractmetamodel___MMLocalClass___properties_by_name(val_t self
) {
769 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMLocalClass___properties_by_name
, 372};
770 trace
.prev
= tracehead
; tracehead
= &trace
;
771 tracehead
= trace
.prev
;
772 return ATTR_abstractmetamodel___MMLocalClass____properties_by_name( self
) /*MMLocalClass::_properties_by_name*/;
774 void abstractmetamodel___MMLocalClass___init(val_t self
, val_t param0
, val_t param1
, int* init_table
) {
775 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMLocalClass___init
, 375};
778 trace
.prev
= tracehead
; tracehead
= &trace
;
781 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMLocalClass
].i
]) return;
782 ATTR_abstractmetamodel___MMLocalClass____name( self
) /*MMLocalClass::_name*/ = variable0
/*name*/;
783 ATTR_abstractmetamodel___MMLocalClass____arity( self
) /*MMLocalClass::_arity*/ = variable1
/*arity*/;
784 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMLocalClass
].i
] = 1;
785 tracehead
= trace
.prev
;
788 val_t
abstractmetamodel___MMLocalClass___for_module(val_t self
, val_t param0
) {
789 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMLocalClass___for_module
, 382};
792 trace
.prev
= tracehead
; tracehead
= &trace
;
794 variable1
= ((abstractmetamodel___MMLocalClass___global_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass___global
))( self
) /*MMLocalClass::global*/;
795 variable1
= ((abstractmetamodel___MMModule_____bra_t
)CALL( variable0
/*m*/,COLOR_abstractmetamodel___MMModule_____bra
))( variable0
/*m*/, variable1
) /*MMModule::[]*/;
797 return_label27
: while(false);
798 tracehead
= trace
.prev
;
801 void abstractmetamodel___MMLocalClass___new_global(val_t self
) {
802 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMLocalClass___new_global
, 388};
806 trace
.prev
= tracehead
; tracehead
= &trace
;
807 variable1
= NEW_abstractmetamodel___MMGlobalClass___init( self
); /*new MMGlobalClass*/
808 variable0
= variable1
;
809 variable1
= ATTR_abstractmetamodel___MMLocalClass____module( self
) /*MMLocalClass::_module*/;
810 variable1
= ATTR_abstractmetamodel___MMModule____global_classes(variable1
) /*MMModule::_global_classes*/;
811 ((array___AbstractArray___add_t
)CALL(variable1
,COLOR_abstract_collection___SimpleCollection___add
))(variable1
, variable0
/*g*/) /*Array::add*/;
812 variable1
= ATTR_abstractmetamodel___MMLocalClass____module( self
) /*MMLocalClass::_module*/;
813 variable1
= ATTR_abstractmetamodel___MMModule____global_class_by_name(variable1
) /*MMModule::_global_class_by_name*/;
814 variable2
= ((abstractmetamodel___MMLocalClass___name_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass___name
))( self
) /*MMLocalClass::name*/;
815 ((abstract_collection___Map_____braeq_t
)CALL(variable1
,COLOR_abstract_collection___Map_____braeq
))(variable1
, variable2
, variable0
/*g*/) /*Map::[]=*/;
816 ((abstractmetamodel___MMLocalClass___set_global_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass___set_global
))( self
, variable0
/*g*/) /*MMLocalClass::set_global*/;
817 tracehead
= trace
.prev
;
820 void abstractmetamodel___MMLocalClass___set_global(val_t self
, val_t param0
) {
821 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMLocalClass___set_global
, 397};
824 trace
.prev
= tracehead
; tracehead
= &trace
;
826 variable1
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0
/*g*/ == NIT_NULL
/*null*/) || (( variable0
/*g*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable0
/*g*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable0
/*g*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable0
/*g*/,COLOR_kernel___Object_____eqeq
))( variable0
/*g*/, NIT_NULL
/*null*/) /*MMGlobalClass::==*/)))))));
827 if (!UNTAG_Bool(variable1
)) { fprintf(stderr
, "Assert%s failed (%s: %d)\n", "", LOCATE_abstractmetamodel___MMLocalClass___set_global
, 402); nit_exit(1);}
828 ATTR_abstractmetamodel___MMLocalClass____global( self
) /*MMLocalClass::_global*/ = variable0
/*g*/;
829 variable1
= ATTR_abstractmetamodel___MMLocalClass____global( self
) /*MMLocalClass::_global*/;
830 ((abstractmetamodel___MMGlobalClass___register_local_class_t
)CALL(variable1
,COLOR_abstractmetamodel___MMGlobalClass___register_local_class
))(variable1
, self
) /*MMGlobalClass::register_local_class*/;
831 variable1
= ATTR_abstractmetamodel___MMLocalClass____module( self
) /*MMLocalClass::_module*/;
832 ((abstractmetamodel___MMModule___register_global_class_t
)CALL(variable1
,COLOR_abstractmetamodel___MMModule___register_global_class
))(variable1
, self
) /*MMModule::register_global_class*/;
833 tracehead
= trace
.prev
;
836 val_t
abstractmetamodel___MMLocalClass___has_global_property_by_name(val_t self
, val_t param0
) {
837 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMLocalClass___has_global_property_by_name
, 408};
841 trace
.prev
= tracehead
; tracehead
= &trace
;
843 variable2
= ATTR_abstractmetamodel___MMLocalClass____properties_by_name( self
) /*MMLocalClass::_properties_by_name*/;
844 variable2
= ((abstract_collection___Map_____bra_t
)CALL(variable2
,COLOR_abstract_collection___Map_____bra
))(variable2
, variable0
/*n*/) /*Map::[]*/;
845 variable1
= variable2
;
846 variable2
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1
/*props*/ == NIT_NULL
/*null*/) || (( variable1
/*props*/ != NIT_NULL
) && UNTAG_Bool(((array___AbstractArray_____eqeq_t
)CALL( variable1
/*props*/,COLOR_kernel___Object_____eqeq
))( variable1
/*props*/, NIT_NULL
/*null*/) /*Array::==*/)))));
847 variable1
= variable2
;
849 return_label30
: while(false);
850 tracehead
= trace
.prev
;
853 val_t
abstractmetamodel___MMLocalClass___get_property_by_name(val_t self
, val_t param0
) {
854 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMLocalClass___get_property_by_name
, 416};
859 trace
.prev
= tracehead
; tracehead
= &trace
;
861 variable2
= ATTR_abstractmetamodel___MMLocalClass____properties_by_name( self
) /*MMLocalClass::_properties_by_name*/;
862 variable2
= ((abstract_collection___Map_____bra_t
)CALL(variable2
,COLOR_abstract_collection___Map_____bra
))(variable2
, variable0
/*n*/) /*Map::[]*/;
863 variable1
= variable2
;
864 variable2
= TAG_Bool(( variable1
/*props*/ == NIT_NULL
/*null*/) || (( variable1
/*props*/ != NIT_NULL
) && UNTAG_Bool(((array___AbstractArray_____eqeq_t
)CALL( variable1
/*props*/,COLOR_kernel___Object_____eqeq
))( variable1
/*props*/, NIT_NULL
/*null*/) /*Array::==*/)));
865 variable3
= variable2
;
866 if (!UNTAG_Bool(variable3
)) { /* or */
867 variable3
= ((array___AbstractArray___length_t
)CALL( variable1
/*props*/,COLOR_abstract_collection___Collection___length
))( variable1
/*props*/) /*Array::length*/;
868 variable3
= TAG_Bool(UNTAG_Int(variable3
)>UNTAG_Int( TAG_Int(1)));
870 variable2
= variable3
;
871 if (UNTAG_Bool(variable2
)) { /*if*/
872 variable1
= NIT_NULL
/*null*/;
875 variable2
= ((abstract_collection___IndexedCollection___first_t
)CALL( variable1
/*props*/,COLOR_abstract_collection___Collection___first
))( variable1
/*props*/) /*Array::first*/;
876 variable1
= variable2
;
878 return_label31
: while(false);
879 tracehead
= trace
.prev
;
882 val_t
abstractmetamodel___MMLocalClass___attribute(val_t self
, val_t param0
) {
883 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMLocalClass___attribute
, 427};
886 trace
.prev
= tracehead
; tracehead
= &trace
;
888 variable1
= ((abstractmetamodel___MMLocalClass___get_property_by_name_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass___get_property_by_name
))( self
, variable0
/*a*/) /*MMLocalClass::get_property_by_name*/;
890 return_label32
: while(false);
891 tracehead
= trace
.prev
;
894 val_t
abstractmetamodel___MMLocalClass___method(val_t self
, val_t param0
) {
895 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMLocalClass___method
, 434};
899 trace
.prev
= tracehead
; tracehead
= &trace
;
901 variable1
= ATTR_abstractmetamodel___MMLocalClass____properties_by_name( self
) /*MMLocalClass::_properties_by_name*/;
902 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*/) /*Map::==*/)))))));
903 if (!UNTAG_Bool(variable1
)) { fprintf(stderr
, "Assert%s failed (%s: %d)\n", "", LOCATE_abstractmetamodel___MMLocalClass___method
, 438); nit_exit(1);}
904 variable2
= ATTR_abstractmetamodel___MMLocalClass____properties_by_name( self
) /*MMLocalClass::_properties_by_name*/;
905 variable2
= ((abstract_collection___Map_____bra_t
)CALL(variable2
,COLOR_abstract_collection___Map_____bra
))(variable2
, variable0
/*na*/) /*Map::[]*/;
906 variable1
= variable2
;
907 variable2
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1
/*props*/ == NIT_NULL
/*null*/) || (( variable1
/*props*/ != NIT_NULL
) && UNTAG_Bool(((array___AbstractArray_____eqeq_t
)CALL( variable1
/*props*/,COLOR_kernel___Object_____eqeq
))( variable1
/*props*/, NIT_NULL
/*null*/) /*Array::==*/)))));
908 if (UNTAG_Bool(variable2
)) { /*if*/
909 variable2
= ((abstract_collection___IndexedCollection___first_t
)CALL( variable1
/*props*/,COLOR_abstract_collection___Collection___first
))( variable1
/*props*/) /*Array::first*/;
910 variable1
= variable2
;
913 variable1
= NIT_NULL
/*null*/;
915 return_label33
: while(false);
916 tracehead
= trace
.prev
;
919 val_t
abstractmetamodel___MMLocalClass___super_methods_named(val_t self
, val_t param0
) {
920 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMLocalClass___super_methods_named
, 447};
928 trace
.prev
= tracehead
; tracehead
= &trace
;
930 variable2
= NEW_array___Array___init(); /*new Array[MMLocalClass]*/
931 variable1
= variable2
;
932 variable2
= ((abstractmetamodel___MMLocalClass___cshe_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass___cshe
))( self
) /*MMLocalClass::cshe*/;
933 variable2
= ((partial_order___PartialOrderElement___greaters_t
)CALL(variable2
,COLOR_partial_order___PartialOrderElement___greaters
))(variable2
) /*PartialOrderElement::greaters*/;
934 variable2
= ((abstract_collection___Collection___iterator_t
)CALL(variable2
,COLOR_abstract_collection___Collection___iterator
))(variable2
) /*Set::iterator*/;
935 while (true) { /*for*/
936 variable3
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___is_ok
))(variable2
) /*Iterator::is_ok*/;
937 if (!UNTAG_Bool(variable3
)) break; /*for*/
938 variable3
= ((abstract_collection___Iterator___item_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___item
))(variable2
) /*Iterator::item*/;
939 variable5
= ((abstractmetamodel___MMLocalClass___method_t
)CALL( variable3
/*c*/,COLOR_abstractmetamodel___MMLocalClass___method
))( variable3
/*c*/, variable0
/*n*/) /*MMLocalClass::method*/;
940 variable4
= variable5
;
941 variable5
= TAG_Bool(( variable4
/*g*/ == NIT_NULL
/*null*/) || (( variable4
/*g*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable4
/*g*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable4
/*g*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable4
/*g*/,COLOR_kernel___Object_____eqeq
))( variable4
/*g*/, NIT_NULL
/*null*/) /*MMGlobalProperty::==*/)))));
942 if (UNTAG_Bool(variable5
)) { /*if*/
945 ((array___AbstractArray___add_t
)CALL( variable1
/*classes*/,COLOR_abstract_collection___SimpleCollection___add
))( variable1
/*classes*/, variable3
/*c*/) /*Array::add*/;
946 continue_35
: while(0);
947 ((abstract_collection___Iterator___next_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___next
))(variable2
) /*Iterator::next*/;
950 variable2
= ((abstractmetamodel___MMLocalClass___cshe_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass___cshe
))( self
) /*MMLocalClass::cshe*/;
951 variable2
= ((partial_order___PartialOrderElement___order_t
)CALL(variable2
,COLOR_partial_order___PartialOrderElement___order
))(variable2
) /*PartialOrderElement::order*/;
952 variable2
= ((partial_order___PartialOrder___select_smallests_t
)CALL(variable2
,COLOR_partial_order___PartialOrder___select_smallests
))(variable2
, variable1
/*classes*/) /*PartialOrder::select_smallests*/;
953 variable1
= variable2
/*classes=*/;
954 variable3
= NEW_array___Array___init(); /*new Array[MMLocalProperty]*/
955 variable2
= variable3
;
956 variable3
= ((array___AbstractArray___iterator_t
)CALL( variable1
/*classes*/,COLOR_abstract_collection___Collection___iterator
))( variable1
/*classes*/) /*Array::iterator*/;
957 while (true) { /*for*/
958 variable4
= ((array___ArrayIterator___is_ok_t
)CALL(variable3
,COLOR_abstract_collection___Iterator___is_ok
))(variable3
) /*ArrayIterator::is_ok*/;
959 if (!UNTAG_Bool(variable4
)) break; /*for*/
960 variable4
= ((array___ArrayIterator___item_t
)CALL(variable3
,COLOR_abstract_collection___Iterator___item
))(variable3
) /*ArrayIterator::item*/;
961 variable6
= ((abstractmetamodel___MMLocalClass___method_t
)CALL( variable4
/*c*/,COLOR_abstractmetamodel___MMLocalClass___method
))( variable4
/*c*/, variable0
/*n*/) /*MMLocalClass::method*/;
962 variable5
= variable6
;
963 variable6
= ((abstractmetamodel___MMLocalClass_____bra_t
)CALL( variable4
/*c*/,COLOR_abstractmetamodel___MMLocalClass_____bra
))( variable4
/*c*/, variable5
/*g*/) /*MMLocalClass::[]*/;
964 ((array___AbstractArray___add_t
)CALL( variable2
/*res*/,COLOR_abstract_collection___SimpleCollection___add
))( variable2
/*res*/, variable6
) /*Array::add*/;
965 continue_36
: while(0);
966 ((array___ArrayIterator___next_t
)CALL(variable3
,COLOR_abstract_collection___Iterator___next
))(variable3
) /*ArrayIterator::next*/;
969 variable1
= variable2
/*res*/;
971 return_label34
: while(false);
972 tracehead
= trace
.prev
;
975 void abstractmetamodel___MMLocalClass___register_local_property(val_t self
, val_t param0
) {
976 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMLocalClass___register_local_property
, 467};
980 trace
.prev
= tracehead
; tracehead
= &trace
;
982 variable1
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable0
/*p*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable0
/*p*/) /*MMLocalProperty::global*/;
983 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*/) /*MMGlobalProperty::==*/)))))));
984 if (!UNTAG_Bool(variable1
)) { fprintf(stderr
, "Assert%s failed (%s: %d)\n", "", LOCATE_abstractmetamodel___MMLocalClass___register_local_property
, 470); nit_exit(1);}
985 variable1
= ATTR_abstractmetamodel___MMLocalClass____local_property_by_global( self
) /*MMLocalClass::_local_property_by_global*/;
986 variable2
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable0
/*p*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable0
/*p*/) /*MMLocalProperty::global*/;
987 variable1
= ((abstract_collection___Map___has_key_t
)CALL(variable1
,COLOR_abstract_collection___Map___has_key
))(variable1
, variable2
) /*Map::has_key*/;
988 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable1
)))) { /*if*/
989 variable1
= ATTR_abstractmetamodel___MMLocalClass____local_property_by_global( self
) /*MMLocalClass::_local_property_by_global*/;
990 variable2
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable0
/*p*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable0
/*p*/) /*MMLocalProperty::global*/;
991 ((abstract_collection___Map_____braeq_t
)CALL(variable1
,COLOR_abstract_collection___Map_____braeq
))(variable1
, variable2
, variable0
/*p*/) /*Map::[]=*/;
993 tracehead
= trace
.prev
;
996 void abstractmetamodel___MMLocalClass___register_global_property(val_t self
, val_t param0
) {
997 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMLocalClass___register_global_property
, 477};
1004 trace
.prev
= tracehead
; tracehead
= &trace
;
1006 variable2
= ((abstractmetamodel___MMGlobalProperty___intro_t
)CALL( variable0
/*glob*/,COLOR_abstractmetamodel___MMGlobalProperty___intro
))( variable0
/*glob*/) /*MMGlobalProperty::intro*/;
1007 variable1
= variable2
;
1008 variable3
= ((abstractmetamodel___MMLocalProperty___name_t
)CALL( variable1
/*prop*/,COLOR_abstractmetamodel___MMLocalProperty___name
))( variable1
/*prop*/) /*MMConcreteProperty::name*/;
1009 variable2
= variable3
;
1010 variable4
= ATTR_abstractmetamodel___MMLocalClass____properties_by_name( self
) /*MMLocalClass::_properties_by_name*/;
1011 variable4
= ((abstract_collection___Map_____bra_t
)CALL(variable4
,COLOR_abstract_collection___Map_____bra
))(variable4
, variable2
/*name*/) /*Map::[]*/;
1012 variable3
= variable4
;
1013 variable4
= TAG_Bool(( variable3
/*props*/ == NIT_NULL
/*null*/) || (( variable3
/*props*/ != NIT_NULL
) && UNTAG_Bool(((array___AbstractArray_____eqeq_t
)CALL( variable3
/*props*/,COLOR_kernel___Object_____eqeq
))( variable3
/*props*/, NIT_NULL
/*null*/) /*Array::==*/)));
1014 if (UNTAG_Bool(variable4
)) { /*if*/
1015 variable4
= ATTR_abstractmetamodel___MMLocalClass____properties_by_name( self
) /*MMLocalClass::_properties_by_name*/;
1016 variable5
= NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[MMGlobalProperty]*/
1017 ((array___AbstractArray___add_t
)CALL(variable5
,COLOR_abstract_collection___SimpleCollection___add
))(variable5
, variable0
/*glob*/) /*Array::add*/;
1018 ((abstract_collection___Map_____braeq_t
)CALL(variable4
,COLOR_abstract_collection___Map_____braeq
))(variable4
, variable2
/*name*/, variable5
) /*Map::[]=*/;
1020 variable4
= ATTR_abstractmetamodel___MMLocalClass____properties_by_name( self
) /*MMLocalClass::_properties_by_name*/;
1021 variable4
= ((abstract_collection___Map_____bra_t
)CALL(variable4
,COLOR_abstract_collection___Map_____bra
))(variable4
, variable2
/*name*/) /*Map::[]*/;
1022 ((array___AbstractArray___add_t
)CALL(variable4
,COLOR_abstract_collection___SimpleCollection___add
))(variable4
, variable0
/*glob*/) /*Array::add*/;
1024 variable4
= ATTR_abstractmetamodel___MMLocalClass____global_properties( self
) /*MMLocalClass::_global_properties*/;
1025 ((abstract_collection___SimpleCollection___add_t
)CALL(variable4
,COLOR_abstract_collection___SimpleCollection___add
))(variable4
, variable0
/*glob*/) /*Set::add*/;
1026 ((abstractmetamodel___MMLocalClass___register_local_property_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass___register_local_property
))( self
, variable1
/*prop*/) /*MMLocalClass::register_local_property*/;
1027 tracehead
= trace
.prev
;
1030 val_t
abstractmetamodel___MMLocalClass_____bra(val_t self
, val_t param0
) {
1031 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMLocalClass_____bra
, 492};
1034 trace
.prev
= tracehead
; tracehead
= &trace
;
1036 variable1
= ATTR_abstractmetamodel___MMLocalClass____local_property_by_global( self
) /*MMLocalClass::_local_property_by_global*/;
1037 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*/) /*Map::==*/)))))));
1038 if (!UNTAG_Bool(variable1
)) { fprintf(stderr
, "Assert%s failed (%s: %d)\n", "", LOCATE_abstractmetamodel___MMLocalClass_____bra
, 495); nit_exit(1);}
1039 variable1
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0
/*glob*/ == NIT_NULL
/*null*/) || (( variable0
/*glob*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable0
/*glob*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable0
/*glob*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable0
/*glob*/,COLOR_kernel___Object_____eqeq
))( variable0
/*glob*/, NIT_NULL
/*null*/) /*MMGlobalProperty::==*/)))))));
1040 if (!UNTAG_Bool(variable1
)) { fprintf(stderr
, "Assert%s failed (%s: %d)\n", "", LOCATE_abstractmetamodel___MMLocalClass_____bra
, 496); nit_exit(1);}
1041 variable1
= ATTR_abstractmetamodel___MMLocalClass____local_property_by_global( self
) /*MMLocalClass::_local_property_by_global*/;
1042 variable1
= ((abstract_collection___Map___has_key_t
)CALL(variable1
,COLOR_abstract_collection___Map___has_key
))(variable1
, variable0
/*glob*/) /*Map::has_key*/;
1043 if (UNTAG_Bool(variable1
)) { /*if*/
1044 variable1
= ATTR_abstractmetamodel___MMLocalClass____local_property_by_global( self
) /*MMLocalClass::_local_property_by_global*/;
1045 variable1
= ((abstract_collection___Map_____bra_t
)CALL(variable1
,COLOR_abstract_collection___Map_____bra
))(variable1
, variable0
/*glob*/) /*Map::[]*/;
1046 goto return_label39
;
1048 variable1
= NIT_NULL
/*null*/;
1049 goto return_label39
;
1050 return_label39
: while(false);
1051 tracehead
= trace
.prev
;
1054 val_t
abstractmetamodel___MMLocalClass___context(val_t self
) {
1055 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMLocalClass___context
, 503};
1057 trace
.prev
= tracehead
; tracehead
= &trace
;
1058 variable0
= ((abstractmetamodel___MMLocalClass___module_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass___module
))( self
) /*MMLocalClass::module*/;
1059 variable0
= ((abstractmetamodel___MMModule___context_t
)CALL(variable0
,COLOR_abstractmetamodel___MMModule___context
))(variable0
) /*MMModule::context*/;
1060 goto return_label40
;
1061 return_label40
: while(false);
1062 tracehead
= trace
.prev
;
1065 val_t
abstractmetamodel___MMLocalClass___to_s(val_t self
) {
1066 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMLocalClass___to_s
, 506};
1068 trace
.prev
= tracehead
; tracehead
= &trace
;
1069 variable0
= ATTR_abstractmetamodel___MMLocalClass____name( self
) /*MMLocalClass::_name*/;
1070 variable0
= ((symbol___Symbol___to_s_t
)CALL(variable0
,COLOR_string___Object___to_s
))(variable0
) /*Symbol::to_s*/;
1071 goto return_label41
;
1072 return_label41
: while(false);
1073 tracehead
= trace
.prev
;
1076 val_t
abstractmetamodel___MMGlobalProperty___intro(val_t self
) {
1077 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMGlobalProperty___intro
, 516};
1078 trace
.prev
= tracehead
; tracehead
= &trace
;
1079 tracehead
= trace
.prev
;
1080 return ATTR_abstractmetamodel___MMGlobalProperty____intro( self
) /*MMGlobalProperty::_intro*/;
1082 val_t
abstractmetamodel___MMGlobalProperty___local_class(val_t self
) {
1083 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMGlobalProperty___local_class
, 519};
1085 trace
.prev
= tracehead
; tracehead
= &trace
;
1086 variable0
= ((abstractmetamodel___MMGlobalProperty___intro_t
)CALL( self
,COLOR_abstractmetamodel___MMGlobalProperty___intro
))( self
) /*MMGlobalProperty::intro*/;
1087 variable0
= ((abstractmetamodel___MMLocalProperty___local_class_t
)CALL(variable0
,COLOR_abstractmetamodel___MMLocalProperty___local_class
))(variable0
) /*MMConcreteProperty::local_class*/;
1088 goto return_label42
;
1089 return_label42
: while(false);
1090 tracehead
= trace
.prev
;
1093 val_t
abstractmetamodel___MMGlobalProperty___concrete_property_hierarchy(val_t self
) {
1094 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMGlobalProperty___concrete_property_hierarchy
, 525};
1095 trace
.prev
= tracehead
; tracehead
= &trace
;
1096 tracehead
= trace
.prev
;
1097 return ATTR_abstractmetamodel___MMGlobalProperty____concrete_property_hierarchy( self
) /*MMGlobalProperty::_concrete_property_hierarchy*/;
1099 void abstractmetamodel___MMGlobalProperty___init(val_t self
, val_t param0
, int* init_table
) {
1100 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMGlobalProperty___init
, 528};
1103 trace
.prev
= tracehead
; tracehead
= &trace
;
1105 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMGlobalProperty
].i
]) return;
1106 variable1
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0
/*p*/ == NIT_NULL
/*null*/) || (( variable0
/*p*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable0
/*p*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable0
/*p*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable0
/*p*/,COLOR_kernel___Object_____eqeq
))( variable0
/*p*/, NIT_NULL
/*null*/) /*MMConcreteProperty::==*/)))))));
1107 if (!UNTAG_Bool(variable1
)) { fprintf(stderr
, "Assert%s failed (%s: %d)\n", "", LOCATE_abstractmetamodel___MMGlobalProperty___init
, 531); nit_exit(1);}
1108 variable1
= ((abstractmetamodel___MMLocalProperty___concrete_property_t
)CALL( variable0
/*p*/,COLOR_abstractmetamodel___MMLocalProperty___concrete_property
))( variable0
/*p*/) /*MMConcreteProperty::concrete_property*/;
1109 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*/) /*MMConcreteProperty::==*/)))))));
1110 if (!UNTAG_Bool(variable1
)) { fprintf(stderr
, "Assert%s failed (%s: %d)\n", "", LOCATE_abstractmetamodel___MMGlobalProperty___init
, 532); nit_exit(1);}
1111 variable1
= NEW_partial_order___PartialOrder___init(); /*new PartialOrder[MMConcreteProperty]*/
1112 ATTR_abstractmetamodel___MMGlobalProperty____concrete_property_hierarchy( self
) /*MMGlobalProperty::_concrete_property_hierarchy*/ = variable1
;
1113 ATTR_abstractmetamodel___MMGlobalProperty____intro( self
) /*MMGlobalProperty::_intro*/ = variable0
/*p*/;
1114 variable1
= NEW_array___Array___init(); /*new Array[MMConcreteProperty]*/
1115 ((abstractmetamodel___MMGlobalProperty___add_concrete_property_t
)CALL( self
,COLOR_abstractmetamodel___MMGlobalProperty___add_concrete_property
))( self
, variable0
/*p*/, variable1
) /*MMGlobalProperty::add_concrete_property*/;
1116 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMGlobalProperty
].i
] = 1;
1117 tracehead
= trace
.prev
;
1120 val_t
abstractmetamodel___MMGlobalProperty___to_s(val_t self
) {
1121 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMGlobalProperty___to_s
, 540};
1123 trace
.prev
= tracehead
; tracehead
= &trace
;
1124 variable0
= ((abstractmetamodel___MMGlobalProperty___intro_t
)CALL( self
,COLOR_abstractmetamodel___MMGlobalProperty___intro
))( self
) /*MMGlobalProperty::intro*/;
1125 variable0
= ((abstractmetamodel___MMLocalProperty___full_name_t
)CALL(variable0
,COLOR_abstractmetamodel___MMLocalProperty___full_name
))(variable0
) /*MMConcreteProperty::full_name*/;
1126 goto return_label44
;
1127 return_label44
: while(false);
1128 tracehead
= trace
.prev
;
1131 void abstractmetamodel___MMGlobalProperty___add_concrete_property(val_t self
, val_t param0
, val_t param1
) {
1132 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMGlobalProperty___add_concrete_property
, 542};
1136 trace
.prev
= tracehead
; tracehead
= &trace
;
1139 variable2
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0
/*i*/ == NIT_NULL
/*null*/) || (( variable0
/*i*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable0
/*i*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable0
/*i*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable0
/*i*/,COLOR_kernel___Object_____eqeq
))( variable0
/*i*/, NIT_NULL
/*null*/) /*MMConcreteProperty::==*/)))))));
1140 if (!UNTAG_Bool(variable2
)) { fprintf(stderr
, "Assert%s failed (%s: %d)\n", "", LOCATE_abstractmetamodel___MMGlobalProperty___add_concrete_property
, 545); nit_exit(1);}
1141 variable2
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1
/*sup*/ == NIT_NULL
/*null*/) || (( variable1
/*sup*/ != NIT_NULL
) && UNTAG_Bool(((array___AbstractArray_____eqeq_t
)CALL( variable1
/*sup*/,COLOR_kernel___Object_____eqeq
))( variable1
/*sup*/, NIT_NULL
/*null*/) /*Array::==*/)))));
1142 if (!UNTAG_Bool(variable2
)) { fprintf(stderr
, "Assert%s failed (%s: %d)\n", "", LOCATE_abstractmetamodel___MMGlobalProperty___add_concrete_property
, 546); nit_exit(1);}
1143 variable2
= ATTR_abstractmetamodel___MMGlobalProperty____concrete_property_hierarchy( self
) /*MMGlobalProperty::_concrete_property_hierarchy*/;
1144 variable2
= ((partial_order___PartialOrder___add_t
)CALL(variable2
,COLOR_partial_order___PartialOrder___add
))(variable2
, variable0
/*i*/, variable1
/*sup*/) /*PartialOrder::add*/;
1145 ATTR_abstractmetamodel___MMConcreteProperty____cprhe( variable0
/*i*/) /*MMConcreteProperty::_cprhe*/ = variable2
;
1146 tracehead
= trace
.prev
;
1149 val_t
abstractmetamodel___MMGlobalProperty___is_attribute(val_t self
) {
1150 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMGlobalProperty___is_attribute
, 550};
1152 trace
.prev
= tracehead
; tracehead
= &trace
;
1153 variable0
= ((abstractmetamodel___MMGlobalProperty___intro_t
)CALL( self
,COLOR_abstractmetamodel___MMGlobalProperty___intro
))( self
) /*MMGlobalProperty::intro*/;
1154 variable0
= TAG_Bool((variable0
==NIT_NULL
) || VAL_ISA(variable0
, COLOR_MMAttribute
, ID_MMAttribute
)) /*cast MMAttribute*/;
1155 goto return_label46
;
1156 return_label46
: while(false);
1157 tracehead
= trace
.prev
;
1160 val_t
abstractmetamodel___MMGlobalProperty___is_method(val_t self
) {
1161 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMGlobalProperty___is_method
, 553};
1163 trace
.prev
= tracehead
; tracehead
= &trace
;
1164 variable0
= ((abstractmetamodel___MMGlobalProperty___intro_t
)CALL( self
,COLOR_abstractmetamodel___MMGlobalProperty___intro
))( self
) /*MMGlobalProperty::intro*/;
1165 variable0
= TAG_Bool((variable0
==NIT_NULL
) || VAL_ISA(variable0
, COLOR_MMMethod
, ID_MMMethod
)) /*cast MMMethod*/;
1166 goto return_label47
;
1167 return_label47
: while(false);
1168 tracehead
= trace
.prev
;
1171 val_t
abstractmetamodel___MMGlobalProperty___is_init(val_t self
) {
1172 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMGlobalProperty___is_init
, 556};
1173 trace
.prev
= tracehead
; tracehead
= &trace
;
1174 tracehead
= trace
.prev
;
1175 return ATTR_abstractmetamodel___MMGlobalProperty____is_init( self
) /*MMGlobalProperty::_is_init*/;
1177 void abstractmetamodel___MMGlobalProperty___is_init__eq(val_t self
, val_t param0
) {
1178 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMGlobalProperty___is_init__eq
, 556};
1179 trace
.prev
= tracehead
; tracehead
= &trace
;
1180 ATTR_abstractmetamodel___MMGlobalProperty____is_init( self
) /*MMGlobalProperty::_is_init*/ = param0
;
1181 tracehead
= trace
.prev
;
1184 val_t
abstractmetamodel___MMGlobalProperty___visibility_level(val_t self
) {
1185 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMGlobalProperty___visibility_level
, 559};
1186 trace
.prev
= tracehead
; tracehead
= &trace
;
1187 tracehead
= trace
.prev
;
1188 return ATTR_abstractmetamodel___MMGlobalProperty____visibility_level( self
) /*MMGlobalProperty::_visibility_level*/;
1190 void abstractmetamodel___MMGlobalProperty___visibility_level__eq(val_t self
, val_t param0
) {
1191 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMGlobalProperty___visibility_level__eq
, 559};
1192 trace
.prev
= tracehead
; tracehead
= &trace
;
1193 ATTR_abstractmetamodel___MMGlobalProperty____visibility_level( self
) /*MMGlobalProperty::_visibility_level*/ = param0
;
1194 tracehead
= trace
.prev
;
1197 val_t
abstractmetamodel___MMLocalProperty___name(val_t self
) {
1198 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMLocalProperty___name
, 569};
1199 trace
.prev
= tracehead
; tracehead
= &trace
;
1200 tracehead
= trace
.prev
;
1201 return ATTR_abstractmetamodel___MMLocalProperty____name( self
) /*MMLocalProperty::_name*/;
1203 val_t
abstractmetamodel___MMLocalProperty___local_class(val_t self
) {
1204 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMLocalProperty___local_class
, 572};
1205 trace
.prev
= tracehead
; tracehead
= &trace
;
1206 tracehead
= trace
.prev
;
1207 return ATTR_abstractmetamodel___MMLocalProperty____local_class( self
) /*MMLocalProperty::_local_class*/;
1209 val_t
abstractmetamodel___MMLocalProperty___global(val_t self
) {
1210 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMLocalProperty___global
, 575};
1211 trace
.prev
= tracehead
; tracehead
= &trace
;
1212 tracehead
= trace
.prev
;
1213 return ATTR_abstractmetamodel___MMLocalProperty____global( self
) /*MMLocalProperty::_global*/;
1215 val_t
abstractmetamodel___MMLocalProperty___super_prop(val_t self
) {
1216 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMLocalProperty___super_prop
, 578};
1217 trace
.prev
= tracehead
; tracehead
= &trace
;
1218 tracehead
= trace
.prev
;
1219 return ATTR_abstractmetamodel___MMLocalProperty____super_prop( self
) /*MMLocalProperty::_super_prop*/;
1221 val_t
abstractmetamodel___MMLocalProperty___concrete_property(val_t self
) {
1222 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMLocalProperty___concrete_property
, 582};
1223 trace
.prev
= tracehead
; tracehead
= &trace
;
1224 tracehead
= trace
.prev
;
1225 return ATTR_abstractmetamodel___MMLocalProperty____concrete_property( self
) /*MMLocalProperty::_concrete_property*/;
1227 val_t
abstractmetamodel___MMLocalProperty___module(val_t self
) {
1228 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMLocalProperty___module
, 586};
1230 trace
.prev
= tracehead
; tracehead
= &trace
;
1231 variable0
= ATTR_abstractmetamodel___MMLocalProperty____local_class( self
) /*MMLocalProperty::_local_class*/;
1232 variable0
= ((abstractmetamodel___MMLocalClass___module_t
)CALL(variable0
,COLOR_abstractmetamodel___MMLocalClass___module
))(variable0
) /*MMLocalClass::module*/;
1233 goto return_label48
;
1234 return_label48
: while(false);
1235 tracehead
= trace
.prev
;
1238 val_t
abstractmetamodel___MMLocalProperty___full_name(val_t self
) {
1239 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMLocalProperty___full_name
, 589};
1255 trace
.prev
= tracehead
; tracehead
= &trace
;
1256 variable0
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalProperty___global
))( self
) /*MMLocalProperty::global*/;
1257 variable0
= TAG_Bool((variable0
== NIT_NULL
/*null*/) || ((variable0
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable0
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable0
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable0
,COLOR_kernel___Object_____eqeq
))(variable0
, NIT_NULL
/*null*/) /*MMGlobalProperty::==*/)))));
1258 if (UNTAG_Bool(variable0
)) { /*if*/
1259 variable0
= NEW_string___String___init(); /*new String*/
1260 variable1
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1261 variable2
= variable1
;
1262 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable2
) /*String::append*/;
1263 variable3
= ((abstractmetamodel___MMLocalProperty___local_class_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalProperty___local_class
))( self
) /*MMLocalProperty::local_class*/;
1264 variable3
= ((abstractmetamodel___MMLocalClass___module_t
)CALL(variable3
,COLOR_abstractmetamodel___MMLocalClass___module
))(variable3
) /*MMLocalClass::module*/;
1265 variable4
= variable3
;
1266 variable4
= ((string___String___to_s_t
)CALL(variable4
,COLOR_string___Object___to_s
))(variable4
) /*String::to_s*/;
1267 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable4
) /*String::append*/;
1268 variable5
= NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
1269 variable6
= variable5
;
1270 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable6
) /*String::append*/;
1271 variable7
= ((abstractmetamodel___MMLocalProperty___local_class_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalProperty___local_class
))( self
) /*MMLocalProperty::local_class*/;
1272 variable8
= variable7
;
1273 variable8
= ((string___String___to_s_t
)CALL(variable8
,COLOR_string___Object___to_s
))(variable8
) /*String::to_s*/;
1274 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable8
) /*String::append*/;
1275 variable9
= NEW_string___String___with_native(BOX_NativeString("::(?::"), TAG_Int(6)); /*new String*/
1276 variable10
= variable9
;
1277 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable10
) /*String::append*/;
1278 variable11
= ((abstractmetamodel___MMLocalProperty___name_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalProperty___name
))( self
) /*MMLocalProperty::name*/;
1279 variable12
= variable11
;
1280 variable12
= ((string___String___to_s_t
)CALL(variable12
,COLOR_string___Object___to_s
))(variable12
) /*String::to_s*/;
1281 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable12
) /*String::append*/;
1282 variable13
= NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
1283 variable14
= variable13
;
1284 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable14
) /*String::append*/;
1285 goto return_label49
;
1287 variable0
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalProperty___global
))( self
) /*MMLocalProperty::global*/;
1288 variable0
= ((abstractmetamodel___MMGlobalProperty___intro_t
)CALL(variable0
,COLOR_abstractmetamodel___MMGlobalProperty___intro
))(variable0
) /*MMGlobalProperty::intro*/;
1289 variable0
= TAG_Bool((variable0
== self
) || ((variable0
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable0
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable0
, self
)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable0
,COLOR_kernel___Object_____eqeq
))(variable0
, self
) /*MMConcreteProperty::==*/)))));
1290 if (UNTAG_Bool(variable0
)) { /*if*/
1291 variable0
= NEW_string___String___init(); /*new String*/
1292 variable1
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1293 variable2
= variable1
;
1294 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable2
) /*String::append*/;
1295 variable3
= ((abstractmetamodel___MMLocalProperty___local_class_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalProperty___local_class
))( self
) /*MMLocalProperty::local_class*/;
1296 variable3
= ((abstractmetamodel___MMLocalClass___module_t
)CALL(variable3
,COLOR_abstractmetamodel___MMLocalClass___module
))(variable3
) /*MMLocalClass::module*/;
1297 variable4
= variable3
;
1298 variable4
= ((string___String___to_s_t
)CALL(variable4
,COLOR_string___Object___to_s
))(variable4
) /*String::to_s*/;
1299 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable4
) /*String::append*/;
1300 variable5
= NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
1301 variable6
= variable5
;
1302 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable6
) /*String::append*/;
1303 variable7
= ((abstractmetamodel___MMLocalProperty___local_class_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalProperty___local_class
))( self
) /*MMLocalProperty::local_class*/;
1304 variable8
= variable7
;
1305 variable8
= ((string___String___to_s_t
)CALL(variable8
,COLOR_string___Object___to_s
))(variable8
) /*String::to_s*/;
1306 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable8
) /*String::append*/;
1307 variable9
= NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
1308 variable10
= variable9
;
1309 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable10
) /*String::append*/;
1310 variable11
= ((abstractmetamodel___MMLocalProperty___name_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalProperty___name
))( self
) /*MMLocalProperty::name*/;
1311 variable12
= variable11
;
1312 variable12
= ((string___String___to_s_t
)CALL(variable12
,COLOR_string___Object___to_s
))(variable12
) /*String::to_s*/;
1313 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable12
) /*String::append*/;
1314 variable13
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1315 variable14
= variable13
;
1316 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable14
) /*String::append*/;
1317 goto return_label49
;
1319 variable0
= NEW_string___String___init(); /*new String*/
1320 variable1
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1321 variable2
= variable1
;
1322 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable2
) /*String::append*/;
1323 variable3
= ((abstractmetamodel___MMLocalProperty___local_class_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalProperty___local_class
))( self
) /*MMLocalProperty::local_class*/;
1324 variable3
= ((abstractmetamodel___MMLocalClass___module_t
)CALL(variable3
,COLOR_abstractmetamodel___MMLocalClass___module
))(variable3
) /*MMLocalClass::module*/;
1325 variable4
= variable3
;
1326 variable4
= ((string___String___to_s_t
)CALL(variable4
,COLOR_string___Object___to_s
))(variable4
) /*String::to_s*/;
1327 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable4
) /*String::append*/;
1328 variable5
= NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
1329 variable6
= variable5
;
1330 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable6
) /*String::append*/;
1331 variable7
= ((abstractmetamodel___MMLocalProperty___local_class_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalProperty___local_class
))( self
) /*MMLocalProperty::local_class*/;
1332 variable8
= variable7
;
1333 variable8
= ((string___String___to_s_t
)CALL(variable8
,COLOR_string___Object___to_s
))(variable8
) /*String::to_s*/;
1334 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable8
) /*String::append*/;
1335 variable9
= NEW_string___String___with_native(BOX_NativeString("::("), TAG_Int(3)); /*new String*/
1336 variable10
= variable9
;
1337 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable10
) /*String::append*/;
1338 variable11
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalProperty___global
))( self
) /*MMLocalProperty::global*/;
1339 variable11
= ((abstractmetamodel___MMGlobalProperty___intro_t
)CALL(variable11
,COLOR_abstractmetamodel___MMGlobalProperty___intro
))(variable11
) /*MMGlobalProperty::intro*/;
1340 variable11
= ((abstractmetamodel___MMLocalProperty___full_name_t
)CALL(variable11
,COLOR_abstractmetamodel___MMLocalProperty___full_name
))(variable11
) /*MMConcreteProperty::full_name*/;
1341 variable12
= variable11
;
1342 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable12
) /*String::append*/;
1343 variable13
= NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
1344 variable14
= variable13
;
1345 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable14
) /*String::append*/;
1346 goto return_label49
;
1349 return_label49
: while(false);
1350 tracehead
= trace
.prev
;
1353 void abstractmetamodel___MMLocalProperty___set_global(val_t self
, val_t param0
) {
1354 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMLocalProperty___set_global
, 601};
1357 trace
.prev
= tracehead
; tracehead
= &trace
;
1359 variable1
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0
/*g*/ == NIT_NULL
/*null*/) || (( variable0
/*g*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable0
/*g*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable0
/*g*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable0
/*g*/,COLOR_kernel___Object_____eqeq
))( variable0
/*g*/, NIT_NULL
/*null*/) /*MMGlobalProperty::==*/)))))));
1360 if (!UNTAG_Bool(variable1
)) { fprintf(stderr
, "Assert%s failed (%s: %d)\n", "", LOCATE_abstractmetamodel___MMLocalProperty___set_global
, 604); nit_exit(1);}
1361 ATTR_abstractmetamodel___MMLocalProperty____global( self
) /*MMLocalProperty::_global*/ = variable0
/*g*/;
1362 variable1
= ATTR_abstractmetamodel___MMLocalProperty____local_class( self
) /*MMLocalProperty::_local_class*/;
1363 ((abstractmetamodel___MMLocalClass___register_local_property_t
)CALL(variable1
,COLOR_abstractmetamodel___MMLocalClass___register_local_property
))(variable1
, self
) /*MMLocalClass::register_local_property*/;
1364 tracehead
= trace
.prev
;
1367 val_t
abstractmetamodel___MMLocalProperty___to_s(val_t self
) {
1368 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMLocalProperty___to_s
, 609};
1370 trace
.prev
= tracehead
; tracehead
= &trace
;
1371 variable0
= ((abstractmetamodel___MMLocalProperty___name_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalProperty___name
))( self
) /*MMLocalProperty::name*/;
1372 variable0
= ((symbol___Symbol___to_s_t
)CALL(variable0
,COLOR_string___Object___to_s
))(variable0
) /*Symbol::to_s*/;
1373 goto return_label51
;
1374 return_label51
: while(false);
1375 tracehead
= trace
.prev
;
1378 void abstractmetamodel___MMLocalProperty___init(val_t self
, val_t param0
, val_t param1
, val_t param2
, int* init_table
) {
1379 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMLocalProperty___init
, 611};
1383 trace
.prev
= tracehead
; tracehead
= &trace
;
1387 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMLocalProperty
].i
]) return;
1388 ATTR_abstractmetamodel___MMLocalProperty____name( self
) /*MMLocalProperty::_name*/ = variable0
/*n*/;
1389 ATTR_abstractmetamodel___MMLocalProperty____local_class( self
) /*MMLocalProperty::_local_class*/ = variable1
/*bc*/;
1390 ATTR_abstractmetamodel___MMLocalProperty____concrete_property( self
) /*MMLocalProperty::_concrete_property*/ = variable2
/*i*/;
1391 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMLocalProperty
].i
] = 1;
1392 tracehead
= trace
.prev
;
1395 val_t
abstractmetamodel___MMConcreteProperty___cprhe(val_t self
) {
1396 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMConcreteProperty___cprhe
, 637};
1397 trace
.prev
= tracehead
; tracehead
= &trace
;
1398 tracehead
= trace
.prev
;
1399 return ATTR_abstractmetamodel___MMConcreteProperty____cprhe( self
) /*MMConcreteProperty::_cprhe*/;
1401 val_t
abstractmetamodel___MMConcreteProperty___need_super(val_t self
) {
1402 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMConcreteProperty___need_super
, 640};
1403 trace
.prev
= tracehead
; tracehead
= &trace
;
1404 tracehead
= trace
.prev
;
1405 return ATTR_abstractmetamodel___MMConcreteProperty____need_super( self
) /*MMConcreteProperty::_need_super*/;
1407 void abstractmetamodel___MMConcreteProperty___need_super__eq(val_t self
, val_t param0
) {
1408 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMConcreteProperty___need_super__eq
, 640};
1409 trace
.prev
= tracehead
; tracehead
= &trace
;
1410 ATTR_abstractmetamodel___MMConcreteProperty____need_super( self
) /*MMConcreteProperty::_need_super*/ = param0
;
1411 tracehead
= trace
.prev
;
1414 void abstractmetamodel___MMConcreteProperty___new_global(val_t self
) {
1415 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel___MMConcreteProperty___new_global
, 643};
1418 trace
.prev
= tracehead
; tracehead
= &trace
;
1419 variable0
= ATTR_abstractmetamodel___MMLocalProperty____global( self
) /*MMConcreteProperty::_global*/;
1420 variable0
= TAG_Bool((variable0
== NIT_NULL
/*null*/) || ((variable0
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable0
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable0
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable0
,COLOR_kernel___Object_____eqeq
))(variable0
, NIT_NULL
/*null*/) /*MMGlobalProperty::==*/)))));
1421 if (!UNTAG_Bool(variable0
)) { fprintf(stderr
, "Assert%s failed (%s: %d)\n", "", LOCATE_abstractmetamodel___MMConcreteProperty___new_global
, 646); nit_exit(1);}
1422 variable0
= NEW_abstractmetamodel___MMGlobalProperty___init( self
); /*new MMGlobalProperty*/
1423 ATTR_abstractmetamodel___MMLocalProperty____global( self
) /*MMConcreteProperty::_global*/ = variable0
;
1424 variable0
= ATTR_abstractmetamodel___MMLocalProperty____local_class( self
) /*MMConcreteProperty::_local_class*/;
1425 variable1
= ATTR_abstractmetamodel___MMLocalProperty____global( self
) /*MMConcreteProperty::_global*/;
1426 ((abstractmetamodel___MMLocalClass___register_global_property_t
)CALL(variable0
,COLOR_abstractmetamodel___MMLocalClass___register_global_property
))(variable0
, variable1
) /*MMLocalClass::register_global_property*/;
1427 tracehead
= trace
.prev
;