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
, 26, LOCATE_abstractmetamodel___MMContext___init
};
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
, 28, LOCATE_abstractmetamodel___MMContext___module_hierarchy
};
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
, 31, LOCATE_abstractmetamodel___MMContext___class_hierarchy
};
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
, 38, LOCATE_abstractmetamodel___MMContext___modules
};
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
, 41, LOCATE_abstractmetamodel___MMContext___add_module
};
35 trace
.prev
= tracehead
; tracehead
= &trace
;
38 variable2
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1
/*supers*/ == NIT_NULL
/*null*/) || (( variable1
/*supers*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable1
/*supers*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable1
/*supers*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable1
/*supers*/,COLOR_kernel___Object_____eqeq
))( variable1
/*supers*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
39 if (!UNTAG_Bool(variable2
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMContext___add_module
, LOCATE_abstractmetamodel
, 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*/) /*Object::==*/)))))));
46 if (!UNTAG_Bool(variable2
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMContext___add_module
, LOCATE_abstractmetamodel
, 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*/) /*AbstractArray::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
, 51, LOCATE_abstractmetamodel___MMContext___add_global_class
};
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*/) /*AbstractArray::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
, 54, LOCATE_abstractmetamodel___MMContext___add_local_class
};
77 trace
.prev
= tracehead
; tracehead
= &trace
;
80 variable2
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1
/*sup*/ == NIT_NULL
/*null*/) || (( variable1
/*sup*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable1
/*sup*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable1
/*sup*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable1
/*sup*/,COLOR_kernel___Object_____eqeq
))( variable1
/*sup*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
81 if (!UNTAG_Bool(variable2
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMContext___add_local_class
, LOCATE_abstractmetamodel
, 57); nit_exit(1);}
82 variable3
= NEW_array___Array___init(); /*new Array[E]*/
83 variable2
= variable3
;
84 variable4
= NEW_array___Array___init(); /*new Array[E]*/
85 variable3
= variable4
;
86 variable4
= ((array___AbstractArray___iterator_t
)CALL( variable1
/*sup*/,COLOR_abstract_collection___Collection___iterator
))( variable1
/*sup*/) /*AbstractArray::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*/) /*AbstractArray::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
) /*AbstractArray::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*/) /*AbstractArray::has*/;
103 if (UNTAG_Bool(variable8
)) { /*if*/
106 ((array___AbstractArray___add_t
)CALL( variable2
/*csup*/,COLOR_abstract_collection___SimpleCollection___add
))( variable2
/*csup*/, variable7
/*ss*/) /*AbstractArray::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
, 77, LOCATE_abstractmetamodel___MMDirectory___name
};
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
, 80, LOCATE_abstractmetamodel___MMDirectory___path
};
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
, 83, LOCATE_abstractmetamodel___MMDirectory___parent
};
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
, 87, LOCATE_abstractmetamodel___MMDirectory___owner
};
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
, 87, LOCATE_abstractmetamodel___MMDirectory___owner__eq
};
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
, 90, LOCATE_abstractmetamodel___MMDirectory___modules
};
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
, 93, LOCATE_abstractmetamodel___MMDirectory___add_module
};
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", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMDirectory___add_module
, LOCATE_abstractmetamodel
, 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
, 100, LOCATE_abstractmetamodel___MMDirectory___dhe
};
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
, 103, LOCATE_abstractmetamodel___MMDirectory___init
};
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
, 109, LOCATE_abstractmetamodel___MMDirectory___full_name_for
};
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
, 117, LOCATE_abstractmetamodel___MMModule___context
};
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
, 120, LOCATE_abstractmetamodel___MMModule___name
};
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
, 123, LOCATE_abstractmetamodel___MMModule___full_name
};
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
, 126, LOCATE_abstractmetamodel___MMModule___directory
};
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
, 129, LOCATE_abstractmetamodel___MMModule___mhe
};
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
, 132, LOCATE_abstractmetamodel___MMModule___global_classes
};
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
, 135, LOCATE_abstractmetamodel___MMModule___local_classes
};
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
, 138, LOCATE_abstractmetamodel___MMModule___class_specialization_hierarchy
};
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
, 150, LOCATE_abstractmetamodel___MMModule___explicit_imported_modules
};
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
, 159, LOCATE_abstractmetamodel___MMModule___init
};
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*/) /*Object::==*/)))));
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
, 172, LOCATE_abstractmetamodel___MMModule___add_super_module
};
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*/) /*SimpleCollection::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*/) /*SimpleCollection::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
) /*SimpleCollection::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
) /*SimpleCollection::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
) /*SimpleCollection::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*/) /*SimpleCollection::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
) /*SimpleCollection::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
) /*SimpleCollection::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*/) /*SimpleCollection::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
) /*SimpleCollection::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
) /*SimpleCollection::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
, 196, LOCATE_abstractmetamodel___MMModule___visibility_for
};
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
) /*Object::==*/)))));
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*/) /*Collection::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*/) /*Collection::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*/) /*Collection::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
, 215, LOCATE_abstractmetamodel___MMModule_____bra
};
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*/) /*Object::==*/)))))));
413 if (!UNTAG_Bool(variable1
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMModule_____bra
, LOCATE_abstractmetamodel
, 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*/) /*Object::==*/)))))));
415 if (!UNTAG_Bool(variable1
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMModule_____bra
, LOCATE_abstractmetamodel
, 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
, 227, LOCATE_abstractmetamodel___MMModule___add_local_class
};
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*/) /*AbstractArray::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
, 234, LOCATE_abstractmetamodel___MMModule___class_by_name
};
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
, 240, LOCATE_abstractmetamodel___MMModule___has_global_class_named
};
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
, 246, LOCATE_abstractmetamodel___MMModule___global_class_named
};
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
, 257, LOCATE_abstractmetamodel___MMModule___to_s
};
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
, 259, LOCATE_abstractmetamodel___MMModule___set_supers_class
};
507 trace
.prev
= tracehead
; tracehead
= &trace
;
510 variable2
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1
/*supers*/ == NIT_NULL
/*null*/) || (( variable1
/*supers*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable1
/*supers*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable1
/*supers*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable1
/*supers*/,COLOR_kernel___Object_____eqeq
))( variable1
/*supers*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
511 if (!UNTAG_Bool(variable2
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMModule___set_supers_class
, LOCATE_abstractmetamodel
, 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
) /*Collection::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*/) /*SimpleCollection::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
, 270, LOCATE_abstractmetamodel___MMModule___register_global_class
};
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*/) /*Object::==*/)))))));
537 if (!UNTAG_Bool(variable1
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMModule___register_global_class
, LOCATE_abstractmetamodel
, 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
, 279, LOCATE_abstractmetamodel___MMGlobalClass___intro
};
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
, 282, LOCATE_abstractmetamodel___MMGlobalClass___class_refinement_hierarchy
};
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
, 286, LOCATE_abstractmetamodel___MMGlobalClass___init
};
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
, 293, LOCATE_abstractmetamodel___MMGlobalClass___name
};
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
, 299, LOCATE_abstractmetamodel___MMGlobalClass___module
};
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
, 305, LOCATE_abstractmetamodel___MMGlobalClass___to_s
};
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
, 310, LOCATE_abstractmetamodel___MMGlobalClass___register_local_class
};
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*/) /*Object::==*/)))))));
615 if (!UNTAG_Bool(variable1
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMGlobalClass___register_local_class
, LOCATE_abstractmetamodel
, 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*/) /*Object::==*/)))));
618 if (!UNTAG_Bool(variable1
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMGlobalClass___register_local_class
, LOCATE_abstractmetamodel
, 314); nit_exit(1);}
619 variable2
= NEW_array___Array___init(); /*new Array[E]*/
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*/) /*AbstractArray::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
, 324, LOCATE_abstractmetamodel___MMGlobalClass___is_interface
};
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
, 324, LOCATE_abstractmetamodel___MMGlobalClass___is_interface__eq
};
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
, 327, LOCATE_abstractmetamodel___MMGlobalClass___is_abstract
};
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
, 327, LOCATE_abstractmetamodel___MMGlobalClass___is_abstract__eq
};
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
, 330, LOCATE_abstractmetamodel___MMGlobalClass___is_universal
};
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
, 330, LOCATE_abstractmetamodel___MMGlobalClass___is_universal__eq
};
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
, 333, LOCATE_abstractmetamodel___MMGlobalClass___visibility_level
};
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
, 333, LOCATE_abstractmetamodel___MMGlobalClass___visibility_level__eq
};
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
, 341, LOCATE_abstractmetamodel___MMLocalClass___name
};
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
, 344, LOCATE_abstractmetamodel___MMLocalClass___arity
};
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
, 348, LOCATE_abstractmetamodel___MMLocalClass___module
};
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
, 351, LOCATE_abstractmetamodel___MMLocalClass___abstract
};
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
, 351, LOCATE_abstractmetamodel___MMLocalClass___abstract__eq
};
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
, 354, LOCATE_abstractmetamodel___MMLocalClass___global
};
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
, 357, LOCATE_abstractmetamodel___MMLocalClass___crhe
};
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
, 360, LOCATE_abstractmetamodel___MMLocalClass___cshe
};
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
, 363, LOCATE_abstractmetamodel___MMLocalClass___che
};
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
, 366, LOCATE_abstractmetamodel___MMLocalClass___local_property_by_global
};
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
, 369, LOCATE_abstractmetamodel___MMLocalClass___global_properties
};
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
, 372, LOCATE_abstractmetamodel___MMLocalClass___properties_by_name
};
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
, 375, LOCATE_abstractmetamodel___MMLocalClass___init
};
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
, 382, LOCATE_abstractmetamodel___MMLocalClass___for_module
};
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
, 388, LOCATE_abstractmetamodel___MMLocalClass___new_global
};
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*/) /*AbstractArray::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
, 397, LOCATE_abstractmetamodel___MMLocalClass___set_global
};
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*/) /*Object::==*/)))))));
827 if (!UNTAG_Bool(variable1
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMLocalClass___set_global
, LOCATE_abstractmetamodel
, 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
, 408, LOCATE_abstractmetamodel___MMLocalClass___has_global_property_by_name
};
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
) && ((((kernel___Object_____eqeq_t
)CALL( variable1
/*props*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable1
/*props*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable1
/*props*/,COLOR_kernel___Object_____eqeq
))( variable1
/*props*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
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
, 416, LOCATE_abstractmetamodel___MMLocalClass___get_property_by_name
};
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*/) /*AbstractArray::==*/)));
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*/) /*AbstractArray::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*/) /*IndexedCollection::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
, 427, LOCATE_abstractmetamodel___MMLocalClass___attribute
};
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
, 434, LOCATE_abstractmetamodel___MMLocalClass___method
};
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*/) /*Object::==*/)))))));
903 if (!UNTAG_Bool(variable1
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMLocalClass___method
, LOCATE_abstractmetamodel
, 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
) && ((((kernel___Object_____eqeq_t
)CALL( variable1
/*props*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable1
/*props*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable1
/*props*/,COLOR_kernel___Object_____eqeq
))( variable1
/*props*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
908 if (UNTAG_Bool(variable2
)) { /*if*/
909 variable2
= ((abstract_collection___IndexedCollection___first_t
)CALL( variable1
/*props*/,COLOR_abstract_collection___Collection___first
))( variable1
/*props*/) /*IndexedCollection::first*/;
910 variable1
= variable2
;
913 variable1
= NIT_NULL
/*null*/;
915 return_label33
: while(false);
916 tracehead
= trace
.prev
;
919 val_t
abstractmetamodel___MMLocalClass___select_method(val_t self
, val_t param0
) {
920 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel
, 447, LOCATE_abstractmetamodel___MMLocalClass___select_method
};
925 trace
.prev
= tracehead
; tracehead
= &trace
;
927 variable1
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0
/*name*/ == NIT_NULL
/*null*/) || (( variable0
/*name*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable0
/*name*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable0
/*name*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable0
/*name*/,COLOR_kernel___Object_____eqeq
))( variable0
/*name*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
928 if (!UNTAG_Bool(variable1
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMLocalClass___select_method
, LOCATE_abstractmetamodel
, 451); nit_exit(1);}
929 variable2
= ((abstractmetamodel___MMLocalClass___method_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass___method
))( self
, variable0
/*name*/) /*MMLocalClass::method*/;
930 variable1
= variable2
;
931 variable2
= TAG_Bool(( variable1
/*gp*/ == NIT_NULL
/*null*/) || (( variable1
/*gp*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable1
/*gp*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable1
/*gp*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable1
/*gp*/,COLOR_kernel___Object_____eqeq
))( variable1
/*gp*/, NIT_NULL
/*null*/) /*Object::==*/)))));
932 if (UNTAG_Bool(variable2
)) { /*if*/
933 variable1
= NIT_NULL
/*null*/;
936 variable3
= ((abstractmetamodel___MMLocalClass_____bra_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass_____bra
))( self
, variable1
/*gp*/) /*MMLocalClass::[]*/;
937 variable2
= variable3
;
938 variable3
= TAG_Bool(( variable2
/*res*/==NIT_NULL
) || VAL_ISA( variable2
/*res*/, COLOR_MMMethod
, ID_MMMethod
)) /*cast MMMethod*/;
939 if (!UNTAG_Bool(variable3
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMLocalClass___select_method
, LOCATE_abstractmetamodel
, 455); nit_exit(1);}
940 variable1
= variable2
/*res*/;
942 return_label34
: while(false);
943 tracehead
= trace
.prev
;
946 val_t
abstractmetamodel___MMLocalClass___select_attribute(val_t self
, val_t param0
) {
947 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel
, 459, LOCATE_abstractmetamodel___MMLocalClass___select_attribute
};
952 trace
.prev
= tracehead
; tracehead
= &trace
;
954 variable1
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0
/*name*/ == NIT_NULL
/*null*/) || (( variable0
/*name*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable0
/*name*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable0
/*name*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable0
/*name*/,COLOR_kernel___Object_____eqeq
))( variable0
/*name*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
955 if (!UNTAG_Bool(variable1
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMLocalClass___select_attribute
, LOCATE_abstractmetamodel
, 463); nit_exit(1);}
956 variable2
= ((abstractmetamodel___MMLocalClass___attribute_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass___attribute
))( self
, variable0
/*name*/) /*MMLocalClass::attribute*/;
957 variable1
= variable2
;
958 variable2
= TAG_Bool(( variable1
/*gp*/ == NIT_NULL
/*null*/) || (( variable1
/*gp*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable1
/*gp*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable1
/*gp*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable1
/*gp*/,COLOR_kernel___Object_____eqeq
))( variable1
/*gp*/, NIT_NULL
/*null*/) /*Object::==*/)))));
959 if (UNTAG_Bool(variable2
)) { /*if*/
960 variable1
= NIT_NULL
/*null*/;
963 variable3
= ((abstractmetamodel___MMLocalClass_____bra_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass_____bra
))( self
, variable1
/*gp*/) /*MMLocalClass::[]*/;
964 variable2
= variable3
;
965 variable3
= TAG_Bool(( variable2
/*res*/==NIT_NULL
) || VAL_ISA( variable2
/*res*/, COLOR_MMAttribute
, ID_MMAttribute
)) /*cast MMAttribute*/;
966 if (!UNTAG_Bool(variable3
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMLocalClass___select_attribute
, LOCATE_abstractmetamodel
, 467); nit_exit(1);}
967 variable1
= variable2
/*res*/;
969 return_label35
: while(false);
970 tracehead
= trace
.prev
;
973 val_t
abstractmetamodel___MMLocalClass___super_methods_named(val_t self
, val_t param0
) {
974 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel
, 471, LOCATE_abstractmetamodel___MMLocalClass___super_methods_named
};
982 trace
.prev
= tracehead
; tracehead
= &trace
;
984 variable2
= NEW_array___Array___init(); /*new Array[E]*/
985 variable1
= variable2
;
986 variable2
= ((abstractmetamodel___MMLocalClass___cshe_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass___cshe
))( self
) /*MMLocalClass::cshe*/;
987 variable2
= ((partial_order___PartialOrderElement___greaters_t
)CALL(variable2
,COLOR_partial_order___PartialOrderElement___greaters
))(variable2
) /*PartialOrderElement::greaters*/;
988 variable2
= ((abstract_collection___Collection___iterator_t
)CALL(variable2
,COLOR_abstract_collection___Collection___iterator
))(variable2
) /*Collection::iterator*/;
989 while (true) { /*for*/
990 variable3
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___is_ok
))(variable2
) /*Iterator::is_ok*/;
991 if (!UNTAG_Bool(variable3
)) break; /*for*/
992 variable3
= ((abstract_collection___Iterator___item_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___item
))(variable2
) /*Iterator::item*/;
993 variable5
= ((abstractmetamodel___MMLocalClass___method_t
)CALL( variable3
/*c*/,COLOR_abstractmetamodel___MMLocalClass___method
))( variable3
/*c*/, variable0
/*n*/) /*MMLocalClass::method*/;
994 variable4
= variable5
;
995 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*/) /*Object::==*/)))));
996 if (UNTAG_Bool(variable5
)) { /*if*/
999 ((array___AbstractArray___add_t
)CALL( variable1
/*classes*/,COLOR_abstract_collection___SimpleCollection___add
))( variable1
/*classes*/, variable3
/*c*/) /*AbstractArray::add*/;
1000 continue_37
: while(0);
1001 ((abstract_collection___Iterator___next_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___next
))(variable2
) /*Iterator::next*/;
1004 variable2
= ((abstractmetamodel___MMLocalClass___cshe_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass___cshe
))( self
) /*MMLocalClass::cshe*/;
1005 variable2
= ((partial_order___PartialOrderElement___order_t
)CALL(variable2
,COLOR_partial_order___PartialOrderElement___order
))(variable2
) /*PartialOrderElement::order*/;
1006 variable2
= ((partial_order___PartialOrder___select_smallests_t
)CALL(variable2
,COLOR_partial_order___PartialOrder___select_smallests
))(variable2
, variable1
/*classes*/) /*PartialOrder::select_smallests*/;
1007 variable1
= variable2
/*classes=*/;
1008 variable3
= NEW_array___Array___init(); /*new Array[E]*/
1009 variable2
= variable3
;
1010 variable3
= ((array___AbstractArray___iterator_t
)CALL( variable1
/*classes*/,COLOR_abstract_collection___Collection___iterator
))( variable1
/*classes*/) /*AbstractArray::iterator*/;
1011 while (true) { /*for*/
1012 variable4
= ((array___ArrayIterator___is_ok_t
)CALL(variable3
,COLOR_abstract_collection___Iterator___is_ok
))(variable3
) /*ArrayIterator::is_ok*/;
1013 if (!UNTAG_Bool(variable4
)) break; /*for*/
1014 variable4
= ((array___ArrayIterator___item_t
)CALL(variable3
,COLOR_abstract_collection___Iterator___item
))(variable3
) /*ArrayIterator::item*/;
1015 variable6
= ((abstractmetamodel___MMLocalClass___method_t
)CALL( variable4
/*c*/,COLOR_abstractmetamodel___MMLocalClass___method
))( variable4
/*c*/, variable0
/*n*/) /*MMLocalClass::method*/;
1016 variable5
= variable6
;
1017 variable6
= ((abstractmetamodel___MMLocalClass_____bra_t
)CALL( variable4
/*c*/,COLOR_abstractmetamodel___MMLocalClass_____bra
))( variable4
/*c*/, variable5
/*g*/) /*MMLocalClass::[]*/;
1018 ((array___AbstractArray___add_t
)CALL( variable2
/*res*/,COLOR_abstract_collection___SimpleCollection___add
))( variable2
/*res*/, variable6
) /*AbstractArray::add*/;
1019 continue_38
: while(0);
1020 ((array___ArrayIterator___next_t
)CALL(variable3
,COLOR_abstract_collection___Iterator___next
))(variable3
) /*ArrayIterator::next*/;
1023 variable1
= variable2
/*res*/;
1024 goto return_label36
;
1025 return_label36
: while(false);
1026 tracehead
= trace
.prev
;
1029 void abstractmetamodel___MMLocalClass___register_local_property(val_t self
, val_t param0
) {
1030 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel
, 491, LOCATE_abstractmetamodel___MMLocalClass___register_local_property
};
1034 trace
.prev
= tracehead
; tracehead
= &trace
;
1036 variable1
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable0
/*p*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable0
/*p*/) /*MMLocalProperty::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*/) /*Object::==*/)))))));
1038 if (!UNTAG_Bool(variable1
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMLocalClass___register_local_property
, LOCATE_abstractmetamodel
, 494); nit_exit(1);}
1039 variable1
= ATTR_abstractmetamodel___MMLocalClass____local_property_by_global( self
) /*MMLocalClass::_local_property_by_global*/;
1040 variable2
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable0
/*p*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable0
/*p*/) /*MMLocalProperty::global*/;
1041 variable1
= ((abstract_collection___Map___has_key_t
)CALL(variable1
,COLOR_abstract_collection___Map___has_key
))(variable1
, variable2
) /*Map::has_key*/;
1042 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable1
)))) { /*if*/
1043 variable1
= ATTR_abstractmetamodel___MMLocalClass____local_property_by_global( self
) /*MMLocalClass::_local_property_by_global*/;
1044 variable2
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable0
/*p*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable0
/*p*/) /*MMLocalProperty::global*/;
1045 ((abstract_collection___Map_____braeq_t
)CALL(variable1
,COLOR_abstract_collection___Map_____braeq
))(variable1
, variable2
, variable0
/*p*/) /*Map::[]=*/;
1047 tracehead
= trace
.prev
;
1050 void abstractmetamodel___MMLocalClass___register_global_property(val_t self
, val_t param0
) {
1051 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel
, 501, LOCATE_abstractmetamodel___MMLocalClass___register_global_property
};
1058 trace
.prev
= tracehead
; tracehead
= &trace
;
1060 variable2
= ((abstractmetamodel___MMGlobalProperty___intro_t
)CALL( variable0
/*glob*/,COLOR_abstractmetamodel___MMGlobalProperty___intro
))( variable0
/*glob*/) /*MMGlobalProperty::intro*/;
1061 variable1
= variable2
;
1062 variable3
= ((abstractmetamodel___MMLocalProperty___name_t
)CALL( variable1
/*prop*/,COLOR_abstractmetamodel___MMLocalProperty___name
))( variable1
/*prop*/) /*MMLocalProperty::name*/;
1063 variable2
= variable3
;
1064 variable4
= ATTR_abstractmetamodel___MMLocalClass____properties_by_name( self
) /*MMLocalClass::_properties_by_name*/;
1065 variable4
= ((abstract_collection___Map_____bra_t
)CALL(variable4
,COLOR_abstract_collection___Map_____bra
))(variable4
, variable2
/*name*/) /*Map::[]*/;
1066 variable3
= variable4
;
1067 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*/) /*AbstractArray::==*/)));
1068 if (UNTAG_Bool(variable4
)) { /*if*/
1069 variable4
= ATTR_abstractmetamodel___MMLocalClass____properties_by_name( self
) /*MMLocalClass::_properties_by_name*/;
1070 variable5
= NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
1071 ((array___AbstractArray___add_t
)CALL(variable5
,COLOR_abstract_collection___SimpleCollection___add
))(variable5
, variable0
/*glob*/) /*AbstractArray::add*/;
1072 ((abstract_collection___Map_____braeq_t
)CALL(variable4
,COLOR_abstract_collection___Map_____braeq
))(variable4
, variable2
/*name*/, variable5
) /*Map::[]=*/;
1074 variable4
= ATTR_abstractmetamodel___MMLocalClass____properties_by_name( self
) /*MMLocalClass::_properties_by_name*/;
1075 variable4
= ((abstract_collection___Map_____bra_t
)CALL(variable4
,COLOR_abstract_collection___Map_____bra
))(variable4
, variable2
/*name*/) /*Map::[]*/;
1076 ((array___AbstractArray___add_t
)CALL(variable4
,COLOR_abstract_collection___SimpleCollection___add
))(variable4
, variable0
/*glob*/) /*AbstractArray::add*/;
1078 variable4
= ATTR_abstractmetamodel___MMLocalClass____global_properties( self
) /*MMLocalClass::_global_properties*/;
1079 ((abstract_collection___SimpleCollection___add_t
)CALL(variable4
,COLOR_abstract_collection___SimpleCollection___add
))(variable4
, variable0
/*glob*/) /*SimpleCollection::add*/;
1080 ((abstractmetamodel___MMLocalClass___register_local_property_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass___register_local_property
))( self
, variable1
/*prop*/) /*MMLocalClass::register_local_property*/;
1081 tracehead
= trace
.prev
;
1084 val_t
abstractmetamodel___MMLocalClass_____bra(val_t self
, val_t param0
) {
1085 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel
, 516, LOCATE_abstractmetamodel___MMLocalClass_____bra
};
1088 trace
.prev
= tracehead
; tracehead
= &trace
;
1090 variable1
= ATTR_abstractmetamodel___MMLocalClass____local_property_by_global( self
) /*MMLocalClass::_local_property_by_global*/;
1091 variable1
= TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1
== NIT_NULL
/*null*/) || ((variable1
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable1
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))(variable1
, NIT_NULL
/*null*/) /*Object::==*/)))))));
1092 if (!UNTAG_Bool(variable1
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMLocalClass_____bra
, LOCATE_abstractmetamodel
, 519); nit_exit(1);}
1093 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*/) /*Object::==*/)))))));
1094 if (!UNTAG_Bool(variable1
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMLocalClass_____bra
, LOCATE_abstractmetamodel
, 520); nit_exit(1);}
1095 variable1
= ATTR_abstractmetamodel___MMLocalClass____local_property_by_global( self
) /*MMLocalClass::_local_property_by_global*/;
1096 variable1
= ((abstract_collection___Map___has_key_t
)CALL(variable1
,COLOR_abstract_collection___Map___has_key
))(variable1
, variable0
/*glob*/) /*Map::has_key*/;
1097 if (UNTAG_Bool(variable1
)) { /*if*/
1098 variable1
= ATTR_abstractmetamodel___MMLocalClass____local_property_by_global( self
) /*MMLocalClass::_local_property_by_global*/;
1099 variable1
= ((abstract_collection___Map_____bra_t
)CALL(variable1
,COLOR_abstract_collection___Map_____bra
))(variable1
, variable0
/*glob*/) /*Map::[]*/;
1100 goto return_label41
;
1102 variable1
= NIT_NULL
/*null*/;
1103 goto return_label41
;
1104 return_label41
: while(false);
1105 tracehead
= trace
.prev
;
1108 val_t
abstractmetamodel___MMLocalClass___context(val_t self
) {
1109 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel
, 527, LOCATE_abstractmetamodel___MMLocalClass___context
};
1111 trace
.prev
= tracehead
; tracehead
= &trace
;
1112 variable0
= ((abstractmetamodel___MMLocalClass___module_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass___module
))( self
) /*MMLocalClass::module*/;
1113 variable0
= ((abstractmetamodel___MMModule___context_t
)CALL(variable0
,COLOR_abstractmetamodel___MMModule___context
))(variable0
) /*MMModule::context*/;
1114 goto return_label42
;
1115 return_label42
: while(false);
1116 tracehead
= trace
.prev
;
1119 val_t
abstractmetamodel___MMLocalClass___to_s(val_t self
) {
1120 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel
, 530, LOCATE_abstractmetamodel___MMLocalClass___to_s
};
1122 trace
.prev
= tracehead
; tracehead
= &trace
;
1123 variable0
= ATTR_abstractmetamodel___MMLocalClass____name( self
) /*MMLocalClass::_name*/;
1124 variable0
= ((symbol___Symbol___to_s_t
)CALL(variable0
,COLOR_string___Object___to_s
))(variable0
) /*Symbol::to_s*/;
1125 goto return_label43
;
1126 return_label43
: while(false);
1127 tracehead
= trace
.prev
;
1130 val_t
abstractmetamodel___MMGlobalProperty___intro(val_t self
) {
1131 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel
, 540, LOCATE_abstractmetamodel___MMGlobalProperty___intro
};
1132 trace
.prev
= tracehead
; tracehead
= &trace
;
1133 tracehead
= trace
.prev
;
1134 return ATTR_abstractmetamodel___MMGlobalProperty____intro( self
) /*MMGlobalProperty::_intro*/;
1136 val_t
abstractmetamodel___MMGlobalProperty___local_class(val_t self
) {
1137 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel
, 543, LOCATE_abstractmetamodel___MMGlobalProperty___local_class
};
1139 trace
.prev
= tracehead
; tracehead
= &trace
;
1140 variable0
= ((abstractmetamodel___MMGlobalProperty___intro_t
)CALL( self
,COLOR_abstractmetamodel___MMGlobalProperty___intro
))( self
) /*MMGlobalProperty::intro*/;
1141 variable0
= ((abstractmetamodel___MMLocalProperty___local_class_t
)CALL(variable0
,COLOR_abstractmetamodel___MMLocalProperty___local_class
))(variable0
) /*MMLocalProperty::local_class*/;
1142 goto return_label44
;
1143 return_label44
: while(false);
1144 tracehead
= trace
.prev
;
1147 val_t
abstractmetamodel___MMGlobalProperty___property_hierarchy(val_t self
) {
1148 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel
, 549, LOCATE_abstractmetamodel___MMGlobalProperty___property_hierarchy
};
1149 trace
.prev
= tracehead
; tracehead
= &trace
;
1150 tracehead
= trace
.prev
;
1151 return ATTR_abstractmetamodel___MMGlobalProperty____property_hierarchy( self
) /*MMGlobalProperty::_property_hierarchy*/;
1153 void abstractmetamodel___MMGlobalProperty___init(val_t self
, val_t param0
, int* init_table
) {
1154 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel
, 552, LOCATE_abstractmetamodel___MMGlobalProperty___init
};
1157 trace
.prev
= tracehead
; tracehead
= &trace
;
1159 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMGlobalProperty
].i
]) return;
1160 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*/) /*Object::==*/)))))));
1161 if (!UNTAG_Bool(variable1
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMGlobalProperty___init
, LOCATE_abstractmetamodel
, 555); nit_exit(1);}
1162 variable1
= NEW_partial_order___PartialOrder___init(); /*new PartialOrder[E]*/
1163 ATTR_abstractmetamodel___MMGlobalProperty____property_hierarchy( self
) /*MMGlobalProperty::_property_hierarchy*/ = variable1
;
1164 ATTR_abstractmetamodel___MMGlobalProperty____intro( self
) /*MMGlobalProperty::_intro*/ = variable0
/*p*/;
1165 variable1
= NEW_array___Array___init(); /*new Array[E]*/
1166 ((abstractmetamodel___MMGlobalProperty___add_local_property_t
)CALL( self
,COLOR_abstractmetamodel___MMGlobalProperty___add_local_property
))( self
, variable0
/*p*/, variable1
) /*MMGlobalProperty::add_local_property*/;
1167 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMGlobalProperty
].i
] = 1;
1168 tracehead
= trace
.prev
;
1171 val_t
abstractmetamodel___MMGlobalProperty___to_s(val_t self
) {
1172 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel
, 563, LOCATE_abstractmetamodel___MMGlobalProperty___to_s
};
1174 trace
.prev
= tracehead
; tracehead
= &trace
;
1175 variable0
= ((abstractmetamodel___MMGlobalProperty___intro_t
)CALL( self
,COLOR_abstractmetamodel___MMGlobalProperty___intro
))( self
) /*MMGlobalProperty::intro*/;
1176 variable0
= ((abstractmetamodel___MMLocalProperty___full_name_t
)CALL(variable0
,COLOR_abstractmetamodel___MMLocalProperty___full_name
))(variable0
) /*MMLocalProperty::full_name*/;
1177 goto return_label46
;
1178 return_label46
: while(false);
1179 tracehead
= trace
.prev
;
1182 void abstractmetamodel___MMGlobalProperty___add_local_property(val_t self
, val_t param0
, val_t param1
) {
1183 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel
, 565, LOCATE_abstractmetamodel___MMGlobalProperty___add_local_property
};
1187 trace
.prev
= tracehead
; tracehead
= &trace
;
1190 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*/) /*Object::==*/)))))));
1191 if (!UNTAG_Bool(variable2
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMGlobalProperty___add_local_property
, LOCATE_abstractmetamodel
, 568); nit_exit(1);}
1192 variable2
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1
/*sup*/ == NIT_NULL
/*null*/) || (( variable1
/*sup*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable1
/*sup*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable1
/*sup*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable1
/*sup*/,COLOR_kernel___Object_____eqeq
))( variable1
/*sup*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
1193 if (!UNTAG_Bool(variable2
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMGlobalProperty___add_local_property
, LOCATE_abstractmetamodel
, 569); nit_exit(1);}
1194 variable2
= ATTR_abstractmetamodel___MMGlobalProperty____property_hierarchy( self
) /*MMGlobalProperty::_property_hierarchy*/;
1195 variable2
= ((partial_order___PartialOrder___add_t
)CALL(variable2
,COLOR_partial_order___PartialOrder___add
))(variable2
, variable0
/*i*/, variable1
/*sup*/) /*PartialOrder::add*/;
1196 ATTR_abstractmetamodel___MMLocalProperty____prhe( variable0
/*i*/) /*MMLocalProperty::_prhe*/ = variable2
;
1197 tracehead
= trace
.prev
;
1200 val_t
abstractmetamodel___MMGlobalProperty___is_attribute(val_t self
) {
1201 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel
, 573, LOCATE_abstractmetamodel___MMGlobalProperty___is_attribute
};
1203 trace
.prev
= tracehead
; tracehead
= &trace
;
1204 variable0
= ((abstractmetamodel___MMGlobalProperty___intro_t
)CALL( self
,COLOR_abstractmetamodel___MMGlobalProperty___intro
))( self
) /*MMGlobalProperty::intro*/;
1205 variable0
= TAG_Bool((variable0
==NIT_NULL
) || VAL_ISA(variable0
, COLOR_MMAttribute
, ID_MMAttribute
)) /*cast MMAttribute*/;
1206 goto return_label48
;
1207 return_label48
: while(false);
1208 tracehead
= trace
.prev
;
1211 val_t
abstractmetamodel___MMGlobalProperty___is_method(val_t self
) {
1212 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel
, 576, LOCATE_abstractmetamodel___MMGlobalProperty___is_method
};
1214 trace
.prev
= tracehead
; tracehead
= &trace
;
1215 variable0
= ((abstractmetamodel___MMGlobalProperty___intro_t
)CALL( self
,COLOR_abstractmetamodel___MMGlobalProperty___intro
))( self
) /*MMGlobalProperty::intro*/;
1216 variable0
= TAG_Bool((variable0
==NIT_NULL
) || VAL_ISA(variable0
, COLOR_MMMethod
, ID_MMMethod
)) /*cast MMMethod*/;
1217 goto return_label49
;
1218 return_label49
: while(false);
1219 tracehead
= trace
.prev
;
1222 val_t
abstractmetamodel___MMGlobalProperty___is_init(val_t self
) {
1223 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel
, 579, LOCATE_abstractmetamodel___MMGlobalProperty___is_init
};
1224 trace
.prev
= tracehead
; tracehead
= &trace
;
1225 tracehead
= trace
.prev
;
1226 return ATTR_abstractmetamodel___MMGlobalProperty____is_init( self
) /*MMGlobalProperty::_is_init*/;
1228 void abstractmetamodel___MMGlobalProperty___is_init__eq(val_t self
, val_t param0
) {
1229 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel
, 579, LOCATE_abstractmetamodel___MMGlobalProperty___is_init__eq
};
1230 trace
.prev
= tracehead
; tracehead
= &trace
;
1231 ATTR_abstractmetamodel___MMGlobalProperty____is_init( self
) /*MMGlobalProperty::_is_init*/ = param0
;
1232 tracehead
= trace
.prev
;
1235 val_t
abstractmetamodel___MMGlobalProperty___visibility_level(val_t self
) {
1236 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel
, 582, LOCATE_abstractmetamodel___MMGlobalProperty___visibility_level
};
1237 trace
.prev
= tracehead
; tracehead
= &trace
;
1238 tracehead
= trace
.prev
;
1239 return ATTR_abstractmetamodel___MMGlobalProperty____visibility_level( self
) /*MMGlobalProperty::_visibility_level*/;
1241 void abstractmetamodel___MMGlobalProperty___visibility_level__eq(val_t self
, val_t param0
) {
1242 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel
, 582, LOCATE_abstractmetamodel___MMGlobalProperty___visibility_level__eq
};
1243 trace
.prev
= tracehead
; tracehead
= &trace
;
1244 ATTR_abstractmetamodel___MMGlobalProperty____visibility_level( self
) /*MMGlobalProperty::_visibility_level*/ = param0
;
1245 tracehead
= trace
.prev
;
1248 val_t
abstractmetamodel___MMLocalProperty___name(val_t self
) {
1249 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel
, 591, LOCATE_abstractmetamodel___MMLocalProperty___name
};
1250 trace
.prev
= tracehead
; tracehead
= &trace
;
1251 tracehead
= trace
.prev
;
1252 return ATTR_abstractmetamodel___MMLocalProperty____name( self
) /*MMLocalProperty::_name*/;
1254 val_t
abstractmetamodel___MMLocalProperty___local_class(val_t self
) {
1255 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel
, 594, LOCATE_abstractmetamodel___MMLocalProperty___local_class
};
1256 trace
.prev
= tracehead
; tracehead
= &trace
;
1257 tracehead
= trace
.prev
;
1258 return ATTR_abstractmetamodel___MMLocalProperty____local_class( self
) /*MMLocalProperty::_local_class*/;
1260 val_t
abstractmetamodel___MMLocalProperty___global(val_t self
) {
1261 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel
, 597, LOCATE_abstractmetamodel___MMLocalProperty___global
};
1262 trace
.prev
= tracehead
; tracehead
= &trace
;
1263 tracehead
= trace
.prev
;
1264 return ATTR_abstractmetamodel___MMLocalProperty____global( self
) /*MMLocalProperty::_global*/;
1266 val_t
abstractmetamodel___MMLocalProperty___prhe(val_t self
) {
1267 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel
, 600, LOCATE_abstractmetamodel___MMLocalProperty___prhe
};
1268 trace
.prev
= tracehead
; tracehead
= &trace
;
1269 tracehead
= trace
.prev
;
1270 return ATTR_abstractmetamodel___MMLocalProperty____prhe( self
) /*MMLocalProperty::_prhe*/;
1272 val_t
abstractmetamodel___MMLocalProperty___module(val_t self
) {
1273 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel
, 603, LOCATE_abstractmetamodel___MMLocalProperty___module
};
1275 trace
.prev
= tracehead
; tracehead
= &trace
;
1276 variable0
= ATTR_abstractmetamodel___MMLocalProperty____local_class( self
) /*MMLocalProperty::_local_class*/;
1277 variable0
= ((abstractmetamodel___MMLocalClass___module_t
)CALL(variable0
,COLOR_abstractmetamodel___MMLocalClass___module
))(variable0
) /*MMLocalClass::module*/;
1278 goto return_label50
;
1279 return_label50
: while(false);
1280 tracehead
= trace
.prev
;
1283 val_t
abstractmetamodel___MMLocalProperty___full_name(val_t self
) {
1284 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel
, 606, LOCATE_abstractmetamodel___MMLocalProperty___full_name
};
1300 trace
.prev
= tracehead
; tracehead
= &trace
;
1301 variable0
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalProperty___global
))( self
) /*MMLocalProperty::global*/;
1302 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*/) /*Object::==*/)))));
1303 if (UNTAG_Bool(variable0
)) { /*if*/
1304 variable0
= NEW_string___String___init(); /*new String*/
1305 variable1
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1306 variable2
= variable1
;
1307 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable2
) /*String::append*/;
1308 variable3
= ((abstractmetamodel___MMLocalProperty___local_class_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalProperty___local_class
))( self
) /*MMLocalProperty::local_class*/;
1309 variable3
= ((abstractmetamodel___MMLocalClass___module_t
)CALL(variable3
,COLOR_abstractmetamodel___MMLocalClass___module
))(variable3
) /*MMLocalClass::module*/;
1310 variable4
= variable3
;
1311 variable4
= ((string___String___to_s_t
)CALL(variable4
,COLOR_string___Object___to_s
))(variable4
) /*String::to_s*/;
1312 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable4
) /*String::append*/;
1313 variable5
= NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
1314 variable6
= variable5
;
1315 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable6
) /*String::append*/;
1316 variable7
= ((abstractmetamodel___MMLocalProperty___local_class_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalProperty___local_class
))( self
) /*MMLocalProperty::local_class*/;
1317 variable8
= variable7
;
1318 variable8
= ((string___String___to_s_t
)CALL(variable8
,COLOR_string___Object___to_s
))(variable8
) /*String::to_s*/;
1319 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable8
) /*String::append*/;
1320 variable9
= NEW_string___String___with_native(BOX_NativeString("::(?::"), TAG_Int(6)); /*new String*/
1321 variable10
= variable9
;
1322 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable10
) /*String::append*/;
1323 variable11
= ((abstractmetamodel___MMLocalProperty___name_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalProperty___name
))( self
) /*MMLocalProperty::name*/;
1324 variable12
= variable11
;
1325 variable12
= ((string___String___to_s_t
)CALL(variable12
,COLOR_string___Object___to_s
))(variable12
) /*String::to_s*/;
1326 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable12
) /*String::append*/;
1327 variable13
= NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
1328 variable14
= variable13
;
1329 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable14
) /*String::append*/;
1330 goto return_label51
;
1332 variable0
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalProperty___global
))( self
) /*MMLocalProperty::global*/;
1333 variable0
= ((abstractmetamodel___MMGlobalProperty___intro_t
)CALL(variable0
,COLOR_abstractmetamodel___MMGlobalProperty___intro
))(variable0
) /*MMGlobalProperty::intro*/;
1334 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
) /*Object::==*/)))));
1335 if (UNTAG_Bool(variable0
)) { /*if*/
1336 variable0
= NEW_string___String___init(); /*new String*/
1337 variable1
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1338 variable2
= variable1
;
1339 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable2
) /*String::append*/;
1340 variable3
= ((abstractmetamodel___MMLocalProperty___local_class_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalProperty___local_class
))( self
) /*MMLocalProperty::local_class*/;
1341 variable3
= ((abstractmetamodel___MMLocalClass___module_t
)CALL(variable3
,COLOR_abstractmetamodel___MMLocalClass___module
))(variable3
) /*MMLocalClass::module*/;
1342 variable4
= variable3
;
1343 variable4
= ((string___String___to_s_t
)CALL(variable4
,COLOR_string___Object___to_s
))(variable4
) /*String::to_s*/;
1344 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable4
) /*String::append*/;
1345 variable5
= NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
1346 variable6
= variable5
;
1347 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable6
) /*String::append*/;
1348 variable7
= ((abstractmetamodel___MMLocalProperty___local_class_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalProperty___local_class
))( self
) /*MMLocalProperty::local_class*/;
1349 variable8
= variable7
;
1350 variable8
= ((string___String___to_s_t
)CALL(variable8
,COLOR_string___Object___to_s
))(variable8
) /*String::to_s*/;
1351 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable8
) /*String::append*/;
1352 variable9
= NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
1353 variable10
= variable9
;
1354 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable10
) /*String::append*/;
1355 variable11
= ((abstractmetamodel___MMLocalProperty___name_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalProperty___name
))( self
) /*MMLocalProperty::name*/;
1356 variable12
= variable11
;
1357 variable12
= ((string___String___to_s_t
)CALL(variable12
,COLOR_string___Object___to_s
))(variable12
) /*String::to_s*/;
1358 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable12
) /*String::append*/;
1359 variable13
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1360 variable14
= variable13
;
1361 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable14
) /*String::append*/;
1362 goto return_label51
;
1364 variable0
= NEW_string___String___init(); /*new String*/
1365 variable1
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1366 variable2
= variable1
;
1367 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable2
) /*String::append*/;
1368 variable3
= ((abstractmetamodel___MMLocalProperty___local_class_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalProperty___local_class
))( self
) /*MMLocalProperty::local_class*/;
1369 variable3
= ((abstractmetamodel___MMLocalClass___module_t
)CALL(variable3
,COLOR_abstractmetamodel___MMLocalClass___module
))(variable3
) /*MMLocalClass::module*/;
1370 variable4
= variable3
;
1371 variable4
= ((string___String___to_s_t
)CALL(variable4
,COLOR_string___Object___to_s
))(variable4
) /*String::to_s*/;
1372 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable4
) /*String::append*/;
1373 variable5
= NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
1374 variable6
= variable5
;
1375 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable6
) /*String::append*/;
1376 variable7
= ((abstractmetamodel___MMLocalProperty___local_class_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalProperty___local_class
))( self
) /*MMLocalProperty::local_class*/;
1377 variable8
= variable7
;
1378 variable8
= ((string___String___to_s_t
)CALL(variable8
,COLOR_string___Object___to_s
))(variable8
) /*String::to_s*/;
1379 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable8
) /*String::append*/;
1380 variable9
= NEW_string___String___with_native(BOX_NativeString("::("), TAG_Int(3)); /*new String*/
1381 variable10
= variable9
;
1382 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable10
) /*String::append*/;
1383 variable11
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalProperty___global
))( self
) /*MMLocalProperty::global*/;
1384 variable11
= ((abstractmetamodel___MMGlobalProperty___intro_t
)CALL(variable11
,COLOR_abstractmetamodel___MMGlobalProperty___intro
))(variable11
) /*MMGlobalProperty::intro*/;
1385 variable11
= ((abstractmetamodel___MMLocalProperty___full_name_t
)CALL(variable11
,COLOR_abstractmetamodel___MMLocalProperty___full_name
))(variable11
) /*MMLocalProperty::full_name*/;
1386 variable12
= variable11
;
1387 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable12
) /*String::append*/;
1388 variable13
= NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
1389 variable14
= variable13
;
1390 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable14
) /*String::append*/;
1391 goto return_label51
;
1394 return_label51
: while(false);
1395 tracehead
= trace
.prev
;
1398 void abstractmetamodel___MMLocalProperty___set_global(val_t self
, val_t param0
) {
1399 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel
, 618, LOCATE_abstractmetamodel___MMLocalProperty___set_global
};
1402 trace
.prev
= tracehead
; tracehead
= &trace
;
1404 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*/) /*Object::==*/)))))));
1405 if (!UNTAG_Bool(variable1
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMLocalProperty___set_global
, LOCATE_abstractmetamodel
, 621); nit_exit(1);}
1406 ATTR_abstractmetamodel___MMLocalProperty____global( self
) /*MMLocalProperty::_global*/ = variable0
/*g*/;
1407 variable1
= ATTR_abstractmetamodel___MMLocalProperty____local_class( self
) /*MMLocalProperty::_local_class*/;
1408 ((abstractmetamodel___MMLocalClass___register_local_property_t
)CALL(variable1
,COLOR_abstractmetamodel___MMLocalClass___register_local_property
))(variable1
, self
) /*MMLocalClass::register_local_property*/;
1409 tracehead
= trace
.prev
;
1412 void abstractmetamodel___MMLocalProperty___new_global(val_t self
) {
1413 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel
, 626, LOCATE_abstractmetamodel___MMLocalProperty___new_global
};
1416 trace
.prev
= tracehead
; tracehead
= &trace
;
1417 variable0
= ATTR_abstractmetamodel___MMLocalProperty____global( self
) /*MMLocalProperty::_global*/;
1418 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*/) /*Object::==*/)))));
1419 if (!UNTAG_Bool(variable0
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMLocalProperty___new_global
, LOCATE_abstractmetamodel
, 629); nit_exit(1);}
1420 variable0
= NEW_abstractmetamodel___MMGlobalProperty___init( self
); /*new MMGlobalProperty*/
1421 ATTR_abstractmetamodel___MMLocalProperty____global( self
) /*MMLocalProperty::_global*/ = variable0
;
1422 variable0
= ATTR_abstractmetamodel___MMLocalProperty____local_class( self
) /*MMLocalProperty::_local_class*/;
1423 variable1
= ATTR_abstractmetamodel___MMLocalProperty____global( self
) /*MMLocalProperty::_global*/;
1424 ((abstractmetamodel___MMLocalClass___register_global_property_t
)CALL(variable0
,COLOR_abstractmetamodel___MMLocalClass___register_global_property
))(variable0
, variable1
) /*MMLocalClass::register_global_property*/;
1425 tracehead
= trace
.prev
;
1428 val_t
abstractmetamodel___MMLocalProperty___to_s(val_t self
) {
1429 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel
, 634, LOCATE_abstractmetamodel___MMLocalProperty___to_s
};
1431 trace
.prev
= tracehead
; tracehead
= &trace
;
1432 variable0
= ((abstractmetamodel___MMLocalProperty___name_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalProperty___name
))( self
) /*MMLocalProperty::name*/;
1433 variable0
= ((symbol___Symbol___to_s_t
)CALL(variable0
,COLOR_string___Object___to_s
))(variable0
) /*Symbol::to_s*/;
1434 goto return_label54
;
1435 return_label54
: while(false);
1436 tracehead
= trace
.prev
;
1439 val_t
abstractmetamodel___MMLocalProperty___need_super(val_t self
) {
1440 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel
, 636, LOCATE_abstractmetamodel___MMLocalProperty___need_super
};
1441 trace
.prev
= tracehead
; tracehead
= &trace
;
1442 tracehead
= trace
.prev
;
1443 return ATTR_abstractmetamodel___MMLocalProperty____need_super( self
) /*MMLocalProperty::_need_super*/;
1445 void abstractmetamodel___MMLocalProperty___need_super__eq(val_t self
, val_t param0
) {
1446 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel
, 636, LOCATE_abstractmetamodel___MMLocalProperty___need_super__eq
};
1447 trace
.prev
= tracehead
; tracehead
= &trace
;
1448 ATTR_abstractmetamodel___MMLocalProperty____need_super( self
) /*MMLocalProperty::_need_super*/ = param0
;
1449 tracehead
= trace
.prev
;
1452 void abstractmetamodel___MMLocalProperty___init(val_t self
, val_t param0
, val_t param1
, int* init_table
) {
1453 struct trace_t trace
= {NULL
, LOCATE_abstractmetamodel
, 639, LOCATE_abstractmetamodel___MMLocalProperty___init
};
1456 trace
.prev
= tracehead
; tracehead
= &trace
;
1459 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMLocalProperty
].i
]) return;
1460 ATTR_abstractmetamodel___MMLocalProperty____name( self
) /*MMLocalProperty::_name*/ = variable0
/*n*/;
1461 ATTR_abstractmetamodel___MMLocalProperty____local_class( self
) /*MMLocalProperty::_local_class*/ = variable1
/*bc*/;
1462 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMLocalProperty
].i
] = 1;
1463 tracehead
= trace
.prev
;