1 #include "abstractmetamodel._sep.h"
2 void abstractmetamodel___MMContext___init(val_t self
, int* init_table
) {
3 struct trace_t trace
= {NULL
, "abstractmetamodel::MMContext::init (src/metamodel//abstractmetamodel.nit:26,2--5)"};
4 trace
.prev
= tracehead
; tracehead
= &trace
;
5 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMContext
].i
]) return;
6 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMContext
].i
] = 1;
7 tracehead
= trace
.prev
;
10 val_t
abstractmetamodel___MMContext___module_hierarchy(val_t self
) {
11 struct trace_t trace
= {NULL
, "abstractmetamodel::MMContext::module_hierarchy (src/metamodel//abstractmetamodel.nit:28,2--29:84)"};
12 trace
.prev
= tracehead
; tracehead
= &trace
;
13 tracehead
= trace
.prev
;
14 return ATTR_abstractmetamodel___MMContext____module_hierarchy( self
) /*MMContext::_module_hierarchy*/;
16 val_t
abstractmetamodel___MMContext___class_hierarchy(val_t self
) {
17 struct trace_t trace
= {NULL
, "abstractmetamodel::MMContext::class_hierarchy (src/metamodel//abstractmetamodel.nit:31,2--33:91)"};
18 trace
.prev
= tracehead
; tracehead
= &trace
;
19 tracehead
= trace
.prev
;
20 return ATTR_abstractmetamodel___MMContext____class_hierarchy( self
) /*MMContext::_class_hierarchy*/;
22 val_t
abstractmetamodel___MMContext___modules(val_t self
) {
23 struct trace_t trace
= {NULL
, "abstractmetamodel::MMContext::modules (src/metamodel//abstractmetamodel.nit:38,2--39:61)"};
24 trace
.prev
= tracehead
; tracehead
= &trace
;
25 tracehead
= trace
.prev
;
26 return ATTR_abstractmetamodel___MMContext____modules( self
) /*MMContext::_modules*/;
28 void abstractmetamodel___MMContext___add_module(val_t self
, val_t param0
, val_t param1
) {
29 struct trace_t trace
= {NULL
, "abstractmetamodel::MMContext::add_module (src/metamodel//abstractmetamodel.nit:41,2--48:40)"};
34 trace
.prev
= tracehead
; tracehead
= &trace
;
37 variable2
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1
/*supers*/ == NIT_NULL
/*null*/) || (( variable1
/*supers*/ != NIT_NULL
) && UNTAG_Bool(((array___AbstractArray_____eqeq_t
)CALL( variable1
/*supers*/,COLOR_kernel___Object_____eqeq
))( variable1
/*supers*/, NIT_NULL
/*null*/) /*Array::==*/)))));
38 if (!UNTAG_Bool(variable2
)) { fprintf(stderr
, "Assert failed: src/metamodel//abstractmetamodel.nit:44,3--23\n"); nit_exit(1);}
39 variable2
= ATTR_abstractmetamodel___MMContext____module_hierarchy( self
) /*MMContext::_module_hierarchy*/;
40 variable3
= ATTR_abstractmetamodel___MMContext____module_hierarchy( self
) /*MMContext::_module_hierarchy*/;
41 variable3
= ((partial_order___PartialOrder___select_smallests_t
)CALL(variable3
,COLOR_partial_order___PartialOrder___select_smallests
))(variable3
, variable1
/*supers*/) /*PartialOrder::select_smallests*/;
42 ((partial_order___PartialOrder___add_t
)CALL(variable2
,COLOR_partial_order___PartialOrder___add
))(variable2
, variable0
/*module*/, variable3
) /*PartialOrder::add*/;
43 variable2
= ((abstractmetamodel___MMModule___name_t
)CALL( variable0
/*module*/,COLOR_abstractmetamodel___MMModule___name
))( variable0
/*module*/) /*MMModule::name*/;
44 variable2
= TAG_Bool(!UNTAG_Bool(TAG_Bool((variable2
== NIT_NULL
/*null*/) || ((variable2
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable2
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))(variable2
, NIT_NULL
/*null*/) /*Symbol::==*/)))))));
45 if (!UNTAG_Bool(variable2
)) { fprintf(stderr
, "Assert failed: src/metamodel//abstractmetamodel.nit:46,3--28\n"); nit_exit(1);}
46 variable2
= ATTR_abstractmetamodel___MMContext____modules( self
) /*MMContext::_modules*/;
47 ((array___AbstractArray___add_t
)CALL(variable2
,COLOR_abstract_collection___SimpleCollection___add
))(variable2
, variable0
/*module*/) /*Array::add*/;
48 variable2
= ATTR_abstractmetamodel___MMContext____module_hierarchy( self
) /*MMContext::_module_hierarchy*/;
49 variable2
= ((partial_order___PartialOrder_____bra_t
)CALL(variable2
,COLOR_partial_order___PartialOrder_____bra
))(variable2
, variable0
/*module*/) /*PartialOrder::[]*/;
50 ATTR_abstractmetamodel___MMModule____mhe( variable0
/*module*/) /*MMModule::_mhe*/ = variable2
;
51 tracehead
= trace
.prev
;
54 void abstractmetamodel___MMContext___add_global_class(val_t self
, val_t param0
) {
55 struct trace_t trace
= {NULL
, "abstractmetamodel::MMContext::add_global_class (src/metamodel//abstractmetamodel.nit:51,2--52:73)"};
58 trace
.prev
= tracehead
; tracehead
= &trace
;
60 variable1
= ATTR_abstractmetamodel___MMContext____global_classes( self
) /*MMContext::_global_classes*/;
61 ((array___AbstractArray___add_t
)CALL(variable1
,COLOR_abstract_collection___SimpleCollection___add
))(variable1
, variable0
/*c*/) /*Array::add*/;
62 tracehead
= trace
.prev
;
65 void abstractmetamodel___MMContext___add_local_class(val_t self
, val_t param0
, val_t param1
) {
66 struct trace_t trace
= {NULL
, "abstractmetamodel::MMContext::add_local_class (src/metamodel//abstractmetamodel.nit:54,2--71:14)"};
76 trace
.prev
= tracehead
; tracehead
= &trace
;
79 variable2
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1
/*sup*/ == NIT_NULL
/*null*/) || (( variable1
/*sup*/ != NIT_NULL
) && UNTAG_Bool(((array___AbstractArray_____eqeq_t
)CALL( variable1
/*sup*/,COLOR_kernel___Object_____eqeq
))( variable1
/*sup*/, NIT_NULL
/*null*/) /*Array::==*/)))));
80 if (!UNTAG_Bool(variable2
)) { fprintf(stderr
, "Assert failed: src/metamodel//abstractmetamodel.nit:57,3--20\n"); nit_exit(1);}
81 variable3
= NEW_array___Array___init(); /*new Array[MMLocalClass]*/
82 variable2
= variable3
;
83 variable4
= NEW_array___Array___init(); /*new Array[String]*/
84 variable3
= variable4
;
85 variable4
= ((array___AbstractArray___iterator_t
)CALL( variable1
/*sup*/,COLOR_abstract_collection___Collection___iterator
))( variable1
/*sup*/) /*Array::iterator*/;
86 while (true) { /*for*/
87 variable5
= ((array___ArrayIterator___is_ok_t
)CALL(variable4
,COLOR_abstract_collection___Iterator___is_ok
))(variable4
) /*ArrayIterator::is_ok*/;
88 if (!UNTAG_Bool(variable5
)) break; /*for*/
89 variable5
= ((array___ArrayIterator___item_t
)CALL(variable4
,COLOR_abstract_collection___Iterator___item
))(variable4
) /*ArrayIterator::item*/;
90 variable6
= TAG_Bool(( variable5
/*s*/==NIT_NULL
) || VAL_ISA( variable5
/*s*/, COLOR_MMConcreteClass
, ID_MMConcreteClass
)) /*cast MMConcreteClass*/;
91 if (UNTAG_Bool(variable6
)) { /*if*/
92 ((array___AbstractArray___add_t
)CALL( variable2
/*csup*/,COLOR_abstract_collection___SimpleCollection___add
))( variable2
/*csup*/, variable5
/*s*/) /*Array::add*/;
94 variable6
= ((abstractmetamodel___MMLocalClass___che_t
)CALL( variable5
/*s*/,COLOR_abstractmetamodel___MMLocalClass___che
))( variable5
/*s*/) /*MMLocalClass::che*/;
95 variable6
= ((partial_order___PartialOrderElement___direct_greaters_t
)CALL(variable6
,COLOR_partial_order___PartialOrderElement___direct_greaters
))(variable6
) /*PartialOrderElement::direct_greaters*/;
96 variable6
= ((array___AbstractArray___iterator_t
)CALL(variable6
,COLOR_abstract_collection___Collection___iterator
))(variable6
) /*Array::iterator*/;
97 while (true) { /*for*/
98 variable7
= ((array___ArrayIterator___is_ok_t
)CALL(variable6
,COLOR_abstract_collection___Iterator___is_ok
))(variable6
) /*ArrayIterator::is_ok*/;
99 if (!UNTAG_Bool(variable7
)) break; /*for*/
100 variable7
= ((array___ArrayIterator___item_t
)CALL(variable6
,COLOR_abstract_collection___Iterator___item
))(variable6
) /*ArrayIterator::item*/;
101 variable8
= ((array___AbstractArray___has_t
)CALL( variable2
/*csup*/,COLOR_abstract_collection___Collection___has
))( variable2
/*csup*/, variable7
/*ss*/) /*Array::has*/;
102 if (UNTAG_Bool(variable8
)) { /*if*/
105 ((array___AbstractArray___add_t
)CALL( variable2
/*csup*/,COLOR_abstract_collection___SimpleCollection___add
))( variable2
/*csup*/, variable7
/*ss*/) /*Array::add*/;
106 continue_5
: while(0);
107 ((array___ArrayIterator___next_t
)CALL(variable6
,COLOR_abstract_collection___Iterator___next
))(variable6
) /*ArrayIterator::next*/;
111 continue_4
: while(0);
112 ((array___ArrayIterator___next_t
)CALL(variable4
,COLOR_abstract_collection___Iterator___next
))(variable4
) /*ArrayIterator::next*/;
115 variable5
= ATTR_abstractmetamodel___MMContext____class_hierarchy( self
) /*MMContext::_class_hierarchy*/;
116 variable5
= ((partial_order___PartialOrder___add_t
)CALL(variable5
,COLOR_partial_order___PartialOrder___add
))(variable5
, variable0
/*c*/, variable2
/*csup*/) /*PartialOrder::add*/;
117 variable4
= variable5
;
118 ATTR_abstractmetamodel___MMLocalClass____che( variable0
/*c*/) /*MMLocalClass::_che*/ = variable4
/*che*/;
119 tracehead
= trace
.prev
;
122 val_t
abstractmetamodel___MMDirectory___name(val_t self
) {
123 struct trace_t trace
= {NULL
, "abstractmetamodel::MMDirectory::name (src/metamodel//abstractmetamodel.nit:77,2--78:28)"};
124 trace
.prev
= tracehead
; tracehead
= &trace
;
125 tracehead
= trace
.prev
;
126 return ATTR_abstractmetamodel___MMDirectory____name( self
) /*MMDirectory::_name*/;
128 val_t
abstractmetamodel___MMDirectory___path(val_t self
) {
129 struct trace_t trace
= {NULL
, "abstractmetamodel::MMDirectory::path (src/metamodel//abstractmetamodel.nit:80,2--81:28)"};
130 trace
.prev
= tracehead
; tracehead
= &trace
;
131 tracehead
= trace
.prev
;
132 return ATTR_abstractmetamodel___MMDirectory____path( self
) /*MMDirectory::_path*/;
134 val_t
abstractmetamodel___MMDirectory___parent(val_t self
) {
135 struct trace_t trace
= {NULL
, "abstractmetamodel::MMDirectory::parent (src/metamodel//abstractmetamodel.nit:83,2--85:35)"};
136 trace
.prev
= tracehead
; tracehead
= &trace
;
137 tracehead
= trace
.prev
;
138 return ATTR_abstractmetamodel___MMDirectory____parent( self
) /*MMDirectory::_parent*/;
140 val_t
abstractmetamodel___MMDirectory___owner(val_t self
) {
141 struct trace_t trace
= {NULL
, "abstractmetamodel::MMDirectory::owner (src/metamodel//abstractmetamodel.nit:87,2--88:40)"};
142 trace
.prev
= tracehead
; tracehead
= &trace
;
143 tracehead
= trace
.prev
;
144 return ATTR_abstractmetamodel___MMDirectory____owner( self
) /*MMDirectory::_owner*/;
146 void abstractmetamodel___MMDirectory___owner__eq(val_t self
, val_t param0
) {
147 struct trace_t trace
= {NULL
, "abstractmetamodel::MMDirectory::owner= (src/metamodel//abstractmetamodel.nit:87,2--88:40)"};
148 trace
.prev
= tracehead
; tracehead
= &trace
;
149 ATTR_abstractmetamodel___MMDirectory____owner( self
) /*MMDirectory::_owner*/ = param0
;
150 tracehead
= trace
.prev
;
153 val_t
abstractmetamodel___MMDirectory___modules(val_t self
) {
154 struct trace_t trace
= {NULL
, "abstractmetamodel::MMDirectory::modules (src/metamodel//abstractmetamodel.nit:90,2--91:77)"};
155 trace
.prev
= tracehead
; tracehead
= &trace
;
156 tracehead
= trace
.prev
;
157 return ATTR_abstractmetamodel___MMDirectory____modules( self
) /*MMDirectory::_modules*/;
159 void abstractmetamodel___MMDirectory___add_module(val_t self
, val_t param0
) {
160 struct trace_t trace
= {NULL
, "abstractmetamodel::MMDirectory::add_module (src/metamodel//abstractmetamodel.nit:93,2--97:32)"};
164 trace
.prev
= tracehead
; tracehead
= &trace
;
166 variable1
= ATTR_abstractmetamodel___MMDirectory____modules( self
) /*MMDirectory::_modules*/;
167 variable2
= ((abstractmetamodel___MMModule___name_t
)CALL( variable0
/*module*/,COLOR_abstractmetamodel___MMModule___name
))( variable0
/*module*/) /*MMModule::name*/;
168 variable1
= ((abstract_collection___Map___has_key_t
)CALL(variable1
,COLOR_abstract_collection___Map___has_key
))(variable1
, variable2
) /*Map::has_key*/;
169 if (!UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable1
)))) { fprintf(stderr
, "Assert failed: src/metamodel//abstractmetamodel.nit:96,3--41\n"); nit_exit(1);}
170 variable1
= ATTR_abstractmetamodel___MMDirectory____modules( self
) /*MMDirectory::_modules*/;
171 variable2
= ((abstractmetamodel___MMModule___name_t
)CALL( variable0
/*module*/,COLOR_abstractmetamodel___MMModule___name
))( variable0
/*module*/) /*MMModule::name*/;
172 ((abstract_collection___Map_____braeq_t
)CALL(variable1
,COLOR_abstract_collection___Map_____braeq
))(variable1
, variable2
, variable0
/*module*/) /*Map::[]=*/;
173 tracehead
= trace
.prev
;
176 val_t
abstractmetamodel___MMDirectory___dhe(val_t self
) {
177 struct trace_t trace
= {NULL
, "abstractmetamodel::MMDirectory::dhe (src/metamodel//abstractmetamodel.nit:100,2--101:52)"};
178 trace
.prev
= tracehead
; tracehead
= &trace
;
179 tracehead
= trace
.prev
;
180 return ATTR_abstractmetamodel___MMDirectory____dhe( self
) /*MMDirectory::_dhe*/;
182 void abstractmetamodel___MMDirectory___init(val_t self
, val_t param0
, val_t param1
, val_t param2
, int* init_table
) {
183 struct trace_t trace
= {NULL
, "abstractmetamodel::MMDirectory::init (src/metamodel//abstractmetamodel.nit:103,2--106:18)"};
187 trace
.prev
= tracehead
; tracehead
= &trace
;
191 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMDirectory
].i
]) return;
192 ATTR_abstractmetamodel___MMDirectory____name( self
) /*MMDirectory::_name*/ = variable0
/*name*/;
193 ATTR_abstractmetamodel___MMDirectory____path( self
) /*MMDirectory::_path*/ = variable1
/*path*/;
194 ATTR_abstractmetamodel___MMDirectory____parent( self
) /*MMDirectory::_parent*/ = variable2
/*parent*/;
195 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMDirectory
].i
] = 1;
196 tracehead
= trace
.prev
;
199 val_t
abstractmetamodel___MMDirectory___full_name_for(val_t self
, val_t param0
) {
200 struct trace_t trace
= {NULL
, "abstractmetamodel::MMDirectory::full_name_for (src/metamodel//abstractmetamodel.nit:109,2--111:41)"};
212 trace
.prev
= tracehead
; tracehead
= &trace
;
214 variable1
= NEW_string___String___init(); /*new String*/
215 variable2
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
216 variable3
= variable2
;
217 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable3
) /*String::append*/;
218 variable4
= ((abstractmetamodel___MMDirectory___name_t
)CALL( self
,COLOR_abstractmetamodel___MMDirectory___name
))( self
) /*MMDirectory::name*/;
219 variable5
= variable4
;
220 variable5
= ((string___String___to_s_t
)CALL(variable5
,COLOR_string___Object___to_s
))(variable5
) /*String::to_s*/;
221 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable5
) /*String::append*/;
222 variable6
= NEW_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
223 variable7
= variable6
;
224 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable7
) /*String::append*/;
225 variable8
= variable0
/*module_name*/;
226 variable8
= ((string___String___to_s_t
)CALL(variable8
,COLOR_string___Object___to_s
))(variable8
) /*String::to_s*/;
227 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable8
) /*String::append*/;
228 variable9
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
229 variable10
= variable9
;
230 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable10
) /*String::append*/;
231 variable1
= ((symbol___String___to_symbol_t
)CALL(variable1
,COLOR_symbol___String___to_symbol
))(variable1
) /*String::to_symbol*/;
233 return_label8
: while(false);
234 tracehead
= trace
.prev
;
237 val_t
abstractmetamodel___MMModule___context(val_t self
) {
238 struct trace_t trace
= {NULL
, "abstractmetamodel::MMModule::context (src/metamodel//abstractmetamodel.nit:117,2--118:34)"};
239 trace
.prev
= tracehead
; tracehead
= &trace
;
240 tracehead
= trace
.prev
;
241 return ATTR_abstractmetamodel___MMModule____context( self
) /*MMModule::_context*/;
243 val_t
abstractmetamodel___MMModule___name(val_t self
) {
244 struct trace_t trace
= {NULL
, "abstractmetamodel::MMModule::name (src/metamodel//abstractmetamodel.nit:120,2--121:28)"};
245 trace
.prev
= tracehead
; tracehead
= &trace
;
246 tracehead
= trace
.prev
;
247 return ATTR_abstractmetamodel___MMModule____name( self
) /*MMModule::_name*/;
249 val_t
abstractmetamodel___MMModule___full_name(val_t self
) {
250 struct trace_t trace
= {NULL
, "abstractmetamodel::MMModule::full_name (src/metamodel//abstractmetamodel.nit:123,2--124:33)"};
251 trace
.prev
= tracehead
; tracehead
= &trace
;
252 tracehead
= trace
.prev
;
253 return ATTR_abstractmetamodel___MMModule____full_name( self
) /*MMModule::_full_name*/;
255 val_t
abstractmetamodel___MMModule___directory(val_t self
) {
256 struct trace_t trace
= {NULL
, "abstractmetamodel::MMModule::directory (src/metamodel//abstractmetamodel.nit:126,2--127:38)"};
257 trace
.prev
= tracehead
; tracehead
= &trace
;
258 tracehead
= trace
.prev
;
259 return ATTR_abstractmetamodel___MMModule____directory( self
) /*MMModule::_directory*/;
261 val_t
abstractmetamodel___MMModule___mhe(val_t self
) {
262 struct trace_t trace
= {NULL
, "abstractmetamodel::MMModule::mhe (src/metamodel//abstractmetamodel.nit:129,2--130:49)"};
263 trace
.prev
= tracehead
; tracehead
= &trace
;
264 tracehead
= trace
.prev
;
265 return ATTR_abstractmetamodel___MMModule____mhe( self
) /*MMModule::_mhe*/;
267 val_t
abstractmetamodel___MMModule___global_classes(val_t self
) {
268 struct trace_t trace
= {NULL
, "abstractmetamodel::MMModule::global_classes (src/metamodel//abstractmetamodel.nit:132,2--133:78)"};
269 trace
.prev
= tracehead
; tracehead
= &trace
;
270 tracehead
= trace
.prev
;
271 return ATTR_abstractmetamodel___MMModule____global_classes( self
) /*MMModule::_global_classes*/;
273 val_t
abstractmetamodel___MMModule___local_classes(val_t self
) {
274 struct trace_t trace
= {NULL
, "abstractmetamodel::MMModule::local_classes (src/metamodel//abstractmetamodel.nit:135,2--136:75)"};
275 trace
.prev
= tracehead
; tracehead
= &trace
;
276 tracehead
= trace
.prev
;
277 return ATTR_abstractmetamodel___MMModule____local_classes( self
) /*MMModule::_local_classes*/;
279 val_t
abstractmetamodel___MMModule___class_specialization_hierarchy(val_t self
) {
280 struct trace_t trace
= {NULL
, "abstractmetamodel::MMModule::class_specialization_hierarchy (src/metamodel//abstractmetamodel.nit:138,2--139:106)"};
281 trace
.prev
= tracehead
; tracehead
= &trace
;
282 tracehead
= trace
.prev
;
283 return ATTR_abstractmetamodel___MMModule____class_specialization_hierarchy( self
) /*MMModule::_class_specialization_hierarchy*/;
285 val_t
abstractmetamodel___MMModule___explicit_imported_modules(val_t self
) {
286 struct trace_t trace
= {NULL
, "abstractmetamodel::MMModule::explicit_imported_modules (src/metamodel//abstractmetamodel.nit:150,2--151:79)"};
287 trace
.prev
= tracehead
; tracehead
= &trace
;
288 tracehead
= trace
.prev
;
289 return ATTR_abstractmetamodel___MMModule____explicit_imported_modules( self
) /*MMModule::_explicit_imported_modules*/;
291 void abstractmetamodel___MMModule___init(val_t self
, val_t param0
, val_t param1
, val_t param2
, int* init_table
) {
292 struct trace_t trace
= {NULL
, "abstractmetamodel::MMModule::init (src/metamodel//abstractmetamodel.nit:159,2--168:38)"};
297 trace
.prev
= tracehead
; tracehead
= &trace
;
301 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMModule
].i
]) return;
302 ATTR_abstractmetamodel___MMModule____name( self
) /*MMModule::_name*/ = variable0
/*name*/;
303 ATTR_abstractmetamodel___MMModule____directory( self
) /*MMModule::_directory*/ = variable1
/*dir*/;
304 ATTR_abstractmetamodel___MMModule____context( self
) /*MMModule::_context*/ = variable2
/*context*/;
305 variable3
= TAG_Bool(( variable1
/*dir*/ == NIT_NULL
/*null*/) || (( variable1
/*dir*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable1
/*dir*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable1
/*dir*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable1
/*dir*/,COLOR_kernel___Object_____eqeq
))( variable1
/*dir*/, NIT_NULL
/*null*/) /*MMDirectory::==*/)))));
306 if (UNTAG_Bool(variable3
)) { /*if*/
307 ATTR_abstractmetamodel___MMModule____full_name( self
) /*MMModule::_full_name*/ = variable0
/*name*/;
309 variable3
= ((abstractmetamodel___MMDirectory___full_name_for_t
)CALL( variable1
/*dir*/,COLOR_abstractmetamodel___MMDirectory___full_name_for
))( variable1
/*dir*/, variable0
/*name*/) /*MMDirectory::full_name_for*/;
310 ATTR_abstractmetamodel___MMModule____full_name( self
) /*MMModule::_full_name*/ = variable3
;
312 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMModule
].i
] = 1;
313 tracehead
= trace
.prev
;
316 void abstractmetamodel___MMModule___add_super_module(val_t self
, val_t param0
, val_t param1
) {
317 struct trace_t trace
= {NULL
, "abstractmetamodel::MMModule::add_super_module (src/metamodel//abstractmetamodel.nit:172,2--191:45)"};
322 trace
.prev
= tracehead
; tracehead
= &trace
;
325 variable2
= ATTR_abstractmetamodel___MMModule____explicit_imported_modules( self
) /*MMModule::_explicit_imported_modules*/;
326 ((abstract_collection___SimpleCollection___add_t
)CALL(variable2
,COLOR_abstract_collection___SimpleCollection___add
))(variable2
, variable0
/*m*/) /*Set::add*/;
327 variable2
= TAG_Bool(( variable1
/*visibility_level*/)==( TAG_Int(0)));
328 if (UNTAG_Bool(variable2
)) { /*if*/
329 variable2
= ATTR_abstractmetamodel___MMModule____intrude_modules( self
) /*MMModule::_intrude_modules*/;
330 ((abstract_collection___SimpleCollection___add_t
)CALL(variable2
,COLOR_abstract_collection___SimpleCollection___add
))(variable2
, variable0
/*m*/) /*Set::add*/;
331 variable2
= ATTR_abstractmetamodel___MMModule____intrude_modules( self
) /*MMModule::_intrude_modules*/;
332 variable3
= ATTR_abstractmetamodel___MMModule____intrude_modules( variable0
/*m*/) /*MMModule::_intrude_modules*/;
333 ((abstract_collection___SimpleCollection___add_all_t
)CALL(variable2
,COLOR_abstract_collection___SimpleCollection___add_all
))(variable2
, variable3
) /*Set::add_all*/;
334 variable2
= ATTR_abstractmetamodel___MMModule____public_modules( self
) /*MMModule::_public_modules*/;
335 variable3
= ATTR_abstractmetamodel___MMModule____public_modules( variable0
/*m*/) /*MMModule::_public_modules*/;
336 ((abstract_collection___SimpleCollection___add_all_t
)CALL(variable2
,COLOR_abstract_collection___SimpleCollection___add_all
))(variable2
, variable3
) /*Set::add_all*/;
337 variable2
= ATTR_abstractmetamodel___MMModule____private_modules( self
) /*MMModule::_private_modules*/;
338 variable3
= ATTR_abstractmetamodel___MMModule____private_modules( variable0
/*m*/) /*MMModule::_private_modules*/;
339 ((abstract_collection___SimpleCollection___add_all_t
)CALL(variable2
,COLOR_abstract_collection___SimpleCollection___add_all
))(variable2
, variable3
) /*Set::add_all*/;
341 variable2
= TAG_Bool(( variable1
/*visibility_level*/)==( TAG_Int(1)));
342 if (UNTAG_Bool(variable2
)) { /*if*/
343 variable2
= ATTR_abstractmetamodel___MMModule____public_modules( self
) /*MMModule::_public_modules*/;
344 ((abstract_collection___SimpleCollection___add_t
)CALL(variable2
,COLOR_abstract_collection___SimpleCollection___add
))(variable2
, variable0
/*m*/) /*Set::add*/;
345 variable2
= ATTR_abstractmetamodel___MMModule____public_modules( self
) /*MMModule::_public_modules*/;
346 variable3
= ATTR_abstractmetamodel___MMModule____intrude_modules( variable0
/*m*/) /*MMModule::_intrude_modules*/;
347 ((abstract_collection___SimpleCollection___add_all_t
)CALL(variable2
,COLOR_abstract_collection___SimpleCollection___add_all
))(variable2
, variable3
) /*Set::add_all*/;
348 variable2
= ATTR_abstractmetamodel___MMModule____public_modules( self
) /*MMModule::_public_modules*/;
349 variable3
= ATTR_abstractmetamodel___MMModule____public_modules( variable0
/*m*/) /*MMModule::_public_modules*/;
350 ((abstract_collection___SimpleCollection___add_all_t
)CALL(variable2
,COLOR_abstract_collection___SimpleCollection___add_all
))(variable2
, variable3
) /*Set::add_all*/;
352 variable2
= ATTR_abstractmetamodel___MMModule____private_modules( self
) /*MMModule::_private_modules*/;
353 ((abstract_collection___SimpleCollection___add_t
)CALL(variable2
,COLOR_abstract_collection___SimpleCollection___add
))(variable2
, variable0
/*m*/) /*Set::add*/;
354 variable2
= ATTR_abstractmetamodel___MMModule____private_modules( self
) /*MMModule::_private_modules*/;
355 variable3
= ATTR_abstractmetamodel___MMModule____intrude_modules( variable0
/*m*/) /*MMModule::_intrude_modules*/;
356 ((abstract_collection___SimpleCollection___add_all_t
)CALL(variable2
,COLOR_abstract_collection___SimpleCollection___add_all
))(variable2
, variable3
) /*Set::add_all*/;
357 variable2
= ATTR_abstractmetamodel___MMModule____private_modules( self
) /*MMModule::_private_modules*/;
358 variable3
= ATTR_abstractmetamodel___MMModule____public_modules( variable0
/*m*/) /*MMModule::_public_modules*/;
359 ((abstract_collection___SimpleCollection___add_all_t
)CALL(variable2
,COLOR_abstract_collection___SimpleCollection___add_all
))(variable2
, variable3
) /*Set::add_all*/;
362 tracehead
= trace
.prev
;
365 val_t
abstractmetamodel___MMModule___visibility_for(val_t self
, val_t param0
) {
366 struct trace_t trace
= {NULL
, "abstractmetamodel::MMModule::visibility_for (src/metamodel//abstractmetamodel.nit:196,2--210:11)"};
370 trace
.prev
= tracehead
; tracehead
= &trace
;
372 variable1
= TAG_Bool(( variable0
/*m*/ == self
) || (( variable0
/*m*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable0
/*m*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable0
/*m*/, self
)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable0
/*m*/,COLOR_kernel___Object_____eqeq
))( variable0
/*m*/, self
) /*MMModule::==*/)))));
373 variable2
= variable1
;
374 if (!UNTAG_Bool(variable2
)) { /* or */
375 variable2
= ATTR_abstractmetamodel___MMModule____intrude_modules( self
) /*MMModule::_intrude_modules*/;
376 variable2
= ((abstract_collection___Collection___has_t
)CALL(variable2
,COLOR_abstract_collection___Collection___has
))(variable2
, variable0
/*m*/) /*Set::has*/;
378 variable1
= variable2
;
379 if (UNTAG_Bool(variable1
)) { /*if*/
380 variable1
= TAG_Int(3);
383 variable1
= ATTR_abstractmetamodel___MMModule____public_modules( self
) /*MMModule::_public_modules*/;
384 variable1
= ((abstract_collection___Collection___has_t
)CALL(variable1
,COLOR_abstract_collection___Collection___has
))(variable1
, variable0
/*m*/) /*Set::has*/;
385 if (UNTAG_Bool(variable1
)) { /*if*/
386 variable1
= TAG_Int(2);
389 variable1
= ATTR_abstractmetamodel___MMModule____private_modules( self
) /*MMModule::_private_modules*/;
390 variable1
= ((abstract_collection___Collection___has_t
)CALL(variable1
,COLOR_abstract_collection___Collection___has
))(variable1
, variable0
/*m*/) /*Set::has*/;
391 if (UNTAG_Bool(variable1
)) { /*if*/
392 variable1
= TAG_Int(1);
395 variable1
= TAG_Int(0);
400 return_label11
: while(false);
401 tracehead
= trace
.prev
;
404 val_t
abstractmetamodel___MMModule_____bra(val_t self
, val_t param0
) {
405 struct trace_t trace
= {NULL
, "abstractmetamodel::MMModule::[] (src/metamodel//abstractmetamodel.nit:215,2--223:14)"};
408 trace
.prev
= tracehead
; tracehead
= &trace
;
410 variable1
= ATTR_abstractmetamodel___MMModule____local_class_by_global( self
) /*MMModule::_local_class_by_global*/;
411 variable1
= TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1
== NIT_NULL
/*null*/) || ((variable1
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable1
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))(variable1
, NIT_NULL
/*null*/) /*Map::==*/)))))));
412 if (!UNTAG_Bool(variable1
)) { fprintf(stderr
, "Assert failed: src/metamodel//abstractmetamodel.nit:218,3--39\n"); nit_exit(1);}
413 variable1
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0
/*c*/ == NIT_NULL
/*null*/) || (( variable0
/*c*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable0
/*c*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable0
/*c*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable0
/*c*/,COLOR_kernel___Object_____eqeq
))( variable0
/*c*/, NIT_NULL
/*null*/) /*MMGlobalClass::==*/)))))));
414 if (!UNTAG_Bool(variable1
)) { fprintf(stderr
, "Assert failed: src/metamodel//abstractmetamodel.nit:219,3--18\n"); nit_exit(1);}
415 variable1
= ATTR_abstractmetamodel___MMModule____local_class_by_global( self
) /*MMModule::_local_class_by_global*/;
416 variable1
= ((abstract_collection___Map___has_key_t
)CALL(variable1
,COLOR_abstract_collection___Map___has_key
))(variable1
, variable0
/*c*/) /*Map::has_key*/;
417 if (UNTAG_Bool(variable1
)) { /*if*/
418 variable1
= ATTR_abstractmetamodel___MMModule____local_class_by_global( self
) /*MMModule::_local_class_by_global*/;
419 variable1
= ((abstract_collection___Map_____bra_t
)CALL(variable1
,COLOR_abstract_collection___Map_____bra
))(variable1
, variable0
/*c*/) /*Map::[]*/;
422 variable1
= NIT_NULL
/*null*/;
425 return_label12
: while(false);
426 tracehead
= trace
.prev
;
429 void abstractmetamodel___MMModule___add_local_class(val_t self
, val_t param0
) {
430 struct trace_t trace
= {NULL
, "abstractmetamodel::MMModule::add_local_class (src/metamodel//abstractmetamodel.nit:227,2--231:22)"};
433 trace
.prev
= tracehead
; tracehead
= &trace
;
435 ATTR_abstractmetamodel___MMLocalClass____module( variable0
/*c*/) /*MMLocalClass::_module*/ = self
;
436 variable1
= ATTR_abstractmetamodel___MMModule____local_classes( self
) /*MMModule::_local_classes*/;
437 ((array___AbstractArray___add_t
)CALL(variable1
,COLOR_abstract_collection___SimpleCollection___add
))(variable1
, variable0
/*c*/) /*Array::add*/;
438 tracehead
= trace
.prev
;
441 val_t
abstractmetamodel___MMModule___class_by_name(val_t self
, val_t param0
) {
442 struct trace_t trace
= {NULL
, "abstractmetamodel::MMModule::class_by_name (src/metamodel//abstractmetamodel.nit:234,2--237:37)"};
445 trace
.prev
= tracehead
; tracehead
= &trace
;
447 variable1
= ATTR_abstractmetamodel___MMModule____global_class_by_name( self
) /*MMModule::_global_class_by_name*/;
448 variable1
= ((abstract_collection___Map_____bra_t
)CALL(variable1
,COLOR_abstract_collection___Map_____bra
))(variable1
, variable0
/*n*/) /*Map::[]*/;
449 variable1
= ((abstractmetamodel___MMModule_____bra_t
)CALL( self
,COLOR_abstractmetamodel___MMModule_____bra
))( self
, variable1
) /*MMModule::[]*/;
451 return_label14
: while(false);
452 tracehead
= trace
.prev
;
455 val_t
abstractmetamodel___MMModule___has_global_class_named(val_t self
, val_t param0
) {
456 struct trace_t trace
= {NULL
, "abstractmetamodel::MMModule::has_global_class_named (src/metamodel//abstractmetamodel.nit:240,2--243:40)"};
459 trace
.prev
= tracehead
; tracehead
= &trace
;
461 variable1
= ATTR_abstractmetamodel___MMModule____global_class_by_name( self
) /*MMModule::_global_class_by_name*/;
462 variable1
= ((abstract_collection___Map___has_key_t
)CALL(variable1
,COLOR_abstract_collection___Map___has_key
))(variable1
, variable0
/*n*/) /*Map::has_key*/;
464 return_label15
: while(false);
465 tracehead
= trace
.prev
;
468 val_t
abstractmetamodel___MMModule___global_class_named(val_t self
, val_t param0
) {
469 struct trace_t trace
= {NULL
, "abstractmetamodel::MMModule::global_class_named (src/metamodel//abstractmetamodel.nit:246,2--253:14)"};
472 trace
.prev
= tracehead
; tracehead
= &trace
;
474 variable1
= ATTR_abstractmetamodel___MMModule____global_class_by_name( self
) /*MMModule::_global_class_by_name*/;
475 variable1
= ((abstract_collection___Map___has_key_t
)CALL(variable1
,COLOR_abstract_collection___Map___has_key
))(variable1
, variable0
/*n*/) /*Map::has_key*/;
476 if (UNTAG_Bool(variable1
)) { /*if*/
477 variable1
= ATTR_abstractmetamodel___MMModule____global_class_by_name( self
) /*MMModule::_global_class_by_name*/;
478 variable1
= ((abstract_collection___Map_____bra_t
)CALL(variable1
,COLOR_abstract_collection___Map_____bra
))(variable1
, variable0
/*n*/) /*Map::[]*/;
481 variable1
= NIT_NULL
/*null*/;
484 return_label16
: while(false);
485 tracehead
= trace
.prev
;
488 val_t
abstractmetamodel___MMModule___to_s(val_t self
) {
489 struct trace_t trace
= {NULL
, "abstractmetamodel::MMModule::to_s (src/metamodel//abstractmetamodel.nit:257,2--36)"};
491 trace
.prev
= tracehead
; tracehead
= &trace
;
492 variable0
= ((abstractmetamodel___MMModule___name_t
)CALL( self
,COLOR_abstractmetamodel___MMModule___name
))( self
) /*MMModule::name*/;
493 variable0
= ((symbol___Symbol___to_s_t
)CALL(variable0
,COLOR_string___Object___to_s
))(variable0
) /*Symbol::to_s*/;
495 return_label17
: while(false);
496 tracehead
= trace
.prev
;
499 void abstractmetamodel___MMModule___set_supers_class(val_t self
, val_t param0
, val_t param1
) {
500 struct trace_t trace
= {NULL
, "abstractmetamodel::MMModule::set_supers_class (src/metamodel//abstractmetamodel.nit:259,2--267:35)"};
506 trace
.prev
= tracehead
; tracehead
= &trace
;
509 variable2
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1
/*supers*/ == NIT_NULL
/*null*/) || (( variable1
/*supers*/ != NIT_NULL
) && UNTAG_Bool(((array___AbstractArray_____eqeq_t
)CALL( variable1
/*supers*/,COLOR_kernel___Object_____eqeq
))( variable1
/*supers*/, NIT_NULL
/*null*/) /*Array::==*/)))));
510 if (!UNTAG_Bool(variable2
)) { fprintf(stderr
, "Assert failed: src/metamodel//abstractmetamodel.nit:262,3--23\n"); nit_exit(1);}
511 variable3
= ATTR_abstractmetamodel___MMModule____class_specialization_hierarchy( self
) /*MMModule::_class_specialization_hierarchy*/;
512 variable3
= ((partial_order___PartialOrder___select_smallests_t
)CALL(variable3
,COLOR_partial_order___PartialOrder___select_smallests
))(variable3
, variable1
/*supers*/) /*PartialOrder::select_smallests*/;
513 variable2
= variable3
;
514 variable3
= ATTR_abstractmetamodel___MMModule____class_specialization_hierarchy( self
) /*MMModule::_class_specialization_hierarchy*/;
515 variable3
= ((partial_order___PartialOrder___add_t
)CALL(variable3
,COLOR_partial_order___PartialOrder___add
))(variable3
, variable0
/*c*/, variable2
/*tab*/) /*PartialOrder::add*/;
516 ATTR_abstractmetamodel___MMLocalClass____cshe( variable0
/*c*/) /*MMLocalClass::_cshe*/ = variable3
;
517 variable4
= ((abstractmetamodel___MMLocalClass___crhe_t
)CALL( variable0
/*c*/,COLOR_abstractmetamodel___MMLocalClass___crhe
))( variable0
/*c*/) /*MMLocalClass::crhe*/;
518 variable4
= ((partial_order___PartialOrderElement___direct_greaters_t
)CALL(variable4
,COLOR_partial_order___PartialOrderElement___direct_greaters
))(variable4
) /*PartialOrderElement::direct_greaters*/;
519 variable4
= ((array___Collection___to_a_t
)CALL(variable4
,COLOR_array___Collection___to_a
))(variable4
) /*Array::to_a*/;
520 variable3
= variable4
;
521 ((abstract_collection___SimpleCollection___add_all_t
)CALL( variable3
/*tab_all*/,COLOR_abstract_collection___SimpleCollection___add_all
))( variable3
/*tab_all*/, variable2
/*tab*/) /*Array::add_all*/;
522 variable4
= ((abstractmetamodel___MMModule___context_t
)CALL( self
,COLOR_abstractmetamodel___MMModule___context
))( self
) /*MMModule::context*/;
523 ((abstractmetamodel___MMContext___add_local_class_t
)CALL(variable4
,COLOR_abstractmetamodel___MMContext___add_local_class
))(variable4
, variable0
/*c*/, variable3
/*tab_all*/) /*MMContext::add_local_class*/;
524 tracehead
= trace
.prev
;
527 void abstractmetamodel___MMModule___register_global_class(val_t self
, val_t param0
) {
528 struct trace_t trace
= {NULL
, "abstractmetamodel::MMModule::register_global_class (src/metamodel//abstractmetamodel.nit:270,2--274:38)"};
532 trace
.prev
= tracehead
; tracehead
= &trace
;
534 variable1
= ((abstractmetamodel___MMLocalClass___global_t
)CALL( variable0
/*c*/,COLOR_abstractmetamodel___MMLocalClass___global
))( variable0
/*c*/) /*MMLocalClass::global*/;
535 variable1
= TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1
== NIT_NULL
/*null*/) || ((variable1
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable1
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))(variable1
, NIT_NULL
/*null*/) /*MMGlobalClass::==*/)))))));
536 if (!UNTAG_Bool(variable1
)) { fprintf(stderr
, "Assert failed: src/metamodel//abstractmetamodel.nit:273,3--25\n"); nit_exit(1);}
537 variable1
= ATTR_abstractmetamodel___MMModule____local_class_by_global( self
) /*MMModule::_local_class_by_global*/;
538 variable2
= ((abstractmetamodel___MMLocalClass___global_t
)CALL( variable0
/*c*/,COLOR_abstractmetamodel___MMLocalClass___global
))( variable0
/*c*/) /*MMLocalClass::global*/;
539 ((abstract_collection___Map_____braeq_t
)CALL(variable1
,COLOR_abstract_collection___Map_____braeq
))(variable1
, variable2
, variable0
/*c*/) /*Map::[]=*/;
540 tracehead
= trace
.prev
;
543 val_t
abstractmetamodel___MMGlobalClass___intro(val_t self
) {
544 struct trace_t trace
= {NULL
, "abstractmetamodel::MMGlobalClass::intro (src/metamodel//abstractmetamodel.nit:279,2--280:35)"};
545 trace
.prev
= tracehead
; tracehead
= &trace
;
546 tracehead
= trace
.prev
;
547 return ATTR_abstractmetamodel___MMGlobalClass____intro( self
) /*MMGlobalClass::_intro*/;
549 val_t
abstractmetamodel___MMGlobalClass___class_refinement_hierarchy(val_t self
) {
550 struct trace_t trace
= {NULL
, "abstractmetamodel::MMGlobalClass::class_refinement_hierarchy (src/metamodel//abstractmetamodel.nit:282,2--284:102)"};
551 trace
.prev
= tracehead
; tracehead
= &trace
;
552 tracehead
= trace
.prev
;
553 return ATTR_abstractmetamodel___MMGlobalClass____class_refinement_hierarchy( self
) /*MMGlobalClass::_class_refinement_hierarchy*/;
555 void abstractmetamodel___MMGlobalClass___init(val_t self
, val_t param0
, int* init_table
) {
556 struct trace_t trace
= {NULL
, "abstractmetamodel::MMGlobalClass::init (src/metamodel//abstractmetamodel.nit:286,2--290:33)"};
559 trace
.prev
= tracehead
; tracehead
= &trace
;
561 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMGlobalClass
].i
]) return;
562 ATTR_abstractmetamodel___MMGlobalClass____intro( self
) /*MMGlobalClass::_intro*/ = variable0
/*c*/;
563 variable1
= ((abstractmetamodel___MMLocalClass___context_t
)CALL( variable0
/*c*/,COLOR_abstractmetamodel___MMLocalClass___context
))( variable0
/*c*/) /*MMLocalClass::context*/;
564 ((abstractmetamodel___MMContext___add_global_class_t
)CALL(variable1
,COLOR_abstractmetamodel___MMContext___add_global_class
))(variable1
, self
) /*MMContext::add_global_class*/;
565 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMGlobalClass
].i
] = 1;
566 tracehead
= trace
.prev
;
569 val_t
abstractmetamodel___MMGlobalClass___name(val_t self
) {
570 struct trace_t trace
= {NULL
, "abstractmetamodel::MMGlobalClass::name (src/metamodel//abstractmetamodel.nit:293,2--296:19)"};
572 trace
.prev
= tracehead
; tracehead
= &trace
;
573 variable0
= ((abstractmetamodel___MMGlobalClass___intro_t
)CALL( self
,COLOR_abstractmetamodel___MMGlobalClass___intro
))( self
) /*MMGlobalClass::intro*/;
574 variable0
= ((abstractmetamodel___MMLocalClass___name_t
)CALL(variable0
,COLOR_abstractmetamodel___MMLocalClass___name
))(variable0
) /*MMLocalClass::name*/;
576 return_label21
: while(false);
577 tracehead
= trace
.prev
;
580 val_t
abstractmetamodel___MMGlobalClass___module(val_t self
) {
581 struct trace_t trace
= {NULL
, "abstractmetamodel::MMGlobalClass::module (src/metamodel//abstractmetamodel.nit:299,2--302:21)"};
583 trace
.prev
= tracehead
; tracehead
= &trace
;
584 variable0
= ((abstractmetamodel___MMGlobalClass___intro_t
)CALL( self
,COLOR_abstractmetamodel___MMGlobalClass___intro
))( self
) /*MMGlobalClass::intro*/;
585 variable0
= ((abstractmetamodel___MMLocalClass___module_t
)CALL(variable0
,COLOR_abstractmetamodel___MMLocalClass___module
))(variable0
) /*MMLocalClass::module*/;
587 return_label22
: while(false);
588 tracehead
= trace
.prev
;
591 val_t
abstractmetamodel___MMGlobalClass___to_s(val_t self
) {
592 struct trace_t trace
= {NULL
, "abstractmetamodel::MMGlobalClass::to_s (src/metamodel//abstractmetamodel.nit:305,2--307:19)"};
594 trace
.prev
= tracehead
; tracehead
= &trace
;
595 variable0
= ((abstractmetamodel___MMGlobalClass___intro_t
)CALL( self
,COLOR_abstractmetamodel___MMGlobalClass___intro
))( self
) /*MMGlobalClass::intro*/;
596 variable0
= ((abstractmetamodel___MMLocalClass___to_s_t
)CALL(variable0
,COLOR_string___Object___to_s
))(variable0
) /*MMLocalClass::to_s*/;
598 return_label23
: while(false);
599 tracehead
= trace
.prev
;
602 void abstractmetamodel___MMGlobalClass___register_local_class(val_t self
, val_t param0
) {
603 struct trace_t trace
= {NULL
, "abstractmetamodel::MMGlobalClass::register_local_class (src/metamodel//abstractmetamodel.nit:310,2--321:50)"};
610 trace
.prev
= tracehead
; tracehead
= &trace
;
612 variable1
= ((abstractmetamodel___MMLocalClass___module_t
)CALL( variable0
/*c*/,COLOR_abstractmetamodel___MMLocalClass___module
))( variable0
/*c*/) /*MMLocalClass::module*/;
613 variable1
= TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1
== NIT_NULL
/*null*/) || ((variable1
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable1
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))(variable1
, NIT_NULL
/*null*/) /*MMModule::==*/)))))));
614 if (!UNTAG_Bool(variable1
)) { fprintf(stderr
, "Assert failed: src/metamodel//abstractmetamodel.nit:313,3--25\n"); nit_exit(1);}
615 variable1
= ((abstractmetamodel___MMLocalClass___crhe_t
)CALL( variable0
/*c*/,COLOR_abstractmetamodel___MMLocalClass___crhe
))( variable0
/*c*/) /*MMLocalClass::crhe*/;
616 variable1
= TAG_Bool((variable1
== NIT_NULL
/*null*/) || ((variable1
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable1
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))(variable1
, NIT_NULL
/*null*/) /*PartialOrderElement::==*/)))));
617 if (!UNTAG_Bool(variable1
)) { fprintf(stderr
, "Assert failed: src/metamodel//abstractmetamodel.nit:314,3--23\n"); nit_exit(1);}
618 variable2
= NEW_array___Array___init(); /*new Array[MMLocalClass]*/
619 variable1
= variable2
;
620 variable2
= ((abstractmetamodel___MMGlobalClass___class_refinement_hierarchy_t
)CALL( self
,COLOR_abstractmetamodel___MMGlobalClass___class_refinement_hierarchy
))( self
) /*MMGlobalClass::class_refinement_hierarchy*/;
621 variable2
= ((partial_order___PartialOrder___iterator_t
)CALL(variable2
,COLOR_abstract_collection___Collection___iterator
))(variable2
) /*PartialOrder::iterator*/;
622 while (true) { /*for*/
623 variable3
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___is_ok
))(variable2
) /*Iterator::is_ok*/;
624 if (!UNTAG_Bool(variable3
)) break; /*for*/
625 variable3
= ((abstract_collection___Iterator___item_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___item
))(variable2
) /*Iterator::item*/;
626 variable4
= ((abstractmetamodel___MMLocalClass___module_t
)CALL( variable0
/*c*/,COLOR_abstractmetamodel___MMLocalClass___module
))( variable0
/*c*/) /*MMLocalClass::module*/;
627 variable4
= ((abstractmetamodel___MMModule___mhe_t
)CALL(variable4
,COLOR_abstractmetamodel___MMModule___mhe
))(variable4
) /*MMModule::mhe*/;
628 variable5
= ((abstractmetamodel___MMLocalClass___module_t
)CALL( variable3
/*s*/,COLOR_abstractmetamodel___MMLocalClass___module
))( variable3
/*s*/) /*MMLocalClass::module*/;
629 variable4
= ((partial_order___PartialOrderElement_____l_t
)CALL(variable4
,COLOR_partial_order___PartialOrderElement_____l
))(variable4
, variable5
) /*PartialOrderElement::<*/;
630 variable5
= variable4
;
631 if (UNTAG_Bool(variable5
)) { /* and */
632 variable5
= TAG_Bool(( variable3
/*s*/==NIT_NULL
) || VAL_ISA( variable3
/*s*/, COLOR_MMConcreteClass
, ID_MMConcreteClass
)) /*cast MMConcreteClass*/;
634 variable4
= variable5
;
635 if (UNTAG_Bool(variable4
)) { /*if*/
636 ((array___AbstractArray___add_t
)CALL( variable1
/*sup*/,COLOR_abstract_collection___SimpleCollection___add
))( variable1
/*sup*/, variable3
/*s*/) /*Array::add*/;
638 continue_25
: while(0);
639 ((abstract_collection___Iterator___next_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___next
))(variable2
) /*Iterator::next*/;
642 variable2
= ATTR_abstractmetamodel___MMGlobalClass____class_refinement_hierarchy( self
) /*MMGlobalClass::_class_refinement_hierarchy*/;
643 variable2
= ((partial_order___PartialOrder___add_t
)CALL(variable2
,COLOR_partial_order___PartialOrder___add
))(variable2
, variable0
/*c*/, variable1
/*sup*/) /*PartialOrder::add*/;
644 ATTR_abstractmetamodel___MMLocalClass____crhe( variable0
/*c*/) /*MMLocalClass::_crhe*/ = variable2
;
645 tracehead
= trace
.prev
;
648 val_t
abstractmetamodel___MMGlobalClass___is_interface(val_t self
) {
649 struct trace_t trace
= {NULL
, "abstractmetamodel::MMGlobalClass::is_interface (src/metamodel//abstractmetamodel.nit:324,2--325:43)"};
650 trace
.prev
= tracehead
; tracehead
= &trace
;
651 tracehead
= trace
.prev
;
652 return ATTR_abstractmetamodel___MMGlobalClass____is_interface( self
) /*MMGlobalClass::_is_interface*/;
654 void abstractmetamodel___MMGlobalClass___is_interface__eq(val_t self
, val_t param0
) {
655 struct trace_t trace
= {NULL
, "abstractmetamodel::MMGlobalClass::is_interface= (src/metamodel//abstractmetamodel.nit:324,2--325:43)"};
656 trace
.prev
= tracehead
; tracehead
= &trace
;
657 ATTR_abstractmetamodel___MMGlobalClass____is_interface( self
) /*MMGlobalClass::_is_interface*/ = param0
;
658 tracehead
= trace
.prev
;
661 val_t
abstractmetamodel___MMGlobalClass___is_abstract(val_t self
) {
662 struct trace_t trace
= {NULL
, "abstractmetamodel::MMGlobalClass::is_abstract (src/metamodel//abstractmetamodel.nit:327,2--328:42)"};
663 trace
.prev
= tracehead
; tracehead
= &trace
;
664 tracehead
= trace
.prev
;
665 return ATTR_abstractmetamodel___MMGlobalClass____is_abstract( self
) /*MMGlobalClass::_is_abstract*/;
667 void abstractmetamodel___MMGlobalClass___is_abstract__eq(val_t self
, val_t param0
) {
668 struct trace_t trace
= {NULL
, "abstractmetamodel::MMGlobalClass::is_abstract= (src/metamodel//abstractmetamodel.nit:327,2--328:42)"};
669 trace
.prev
= tracehead
; tracehead
= &trace
;
670 ATTR_abstractmetamodel___MMGlobalClass____is_abstract( self
) /*MMGlobalClass::_is_abstract*/ = param0
;
671 tracehead
= trace
.prev
;
674 val_t
abstractmetamodel___MMGlobalClass___is_universal(val_t self
) {
675 struct trace_t trace
= {NULL
, "abstractmetamodel::MMGlobalClass::is_universal (src/metamodel//abstractmetamodel.nit:330,2--331:43)"};
676 trace
.prev
= tracehead
; tracehead
= &trace
;
677 tracehead
= trace
.prev
;
678 return ATTR_abstractmetamodel___MMGlobalClass____is_universal( self
) /*MMGlobalClass::_is_universal*/;
680 void abstractmetamodel___MMGlobalClass___is_universal__eq(val_t self
, val_t param0
) {
681 struct trace_t trace
= {NULL
, "abstractmetamodel::MMGlobalClass::is_universal= (src/metamodel//abstractmetamodel.nit:330,2--331:43)"};
682 trace
.prev
= tracehead
; tracehead
= &trace
;
683 ATTR_abstractmetamodel___MMGlobalClass____is_universal( self
) /*MMGlobalClass::_is_universal*/ = param0
;
684 tracehead
= trace
.prev
;
687 val_t
abstractmetamodel___MMGlobalClass___visibility_level(val_t self
) {
688 struct trace_t trace
= {NULL
, "abstractmetamodel::MMGlobalClass::visibility_level (src/metamodel//abstractmetamodel.nit:333,2--336:46)"};
689 trace
.prev
= tracehead
; tracehead
= &trace
;
690 tracehead
= trace
.prev
;
691 return ATTR_abstractmetamodel___MMGlobalClass____visibility_level( self
) /*MMGlobalClass::_visibility_level*/;
693 void abstractmetamodel___MMGlobalClass___visibility_level__eq(val_t self
, val_t param0
) {
694 struct trace_t trace
= {NULL
, "abstractmetamodel::MMGlobalClass::visibility_level= (src/metamodel//abstractmetamodel.nit:333,2--336:46)"};
695 trace
.prev
= tracehead
; tracehead
= &trace
;
696 ATTR_abstractmetamodel___MMGlobalClass____visibility_level( self
) /*MMGlobalClass::_visibility_level*/ = param0
;
697 tracehead
= trace
.prev
;
700 val_t
abstractmetamodel___MMLocalClass___name(val_t self
) {
701 struct trace_t trace
= {NULL
, "abstractmetamodel::MMLocalClass::name (src/metamodel//abstractmetamodel.nit:341,2--342:35)"};
702 trace
.prev
= tracehead
; tracehead
= &trace
;
703 tracehead
= trace
.prev
;
704 return ATTR_abstractmetamodel___MMLocalClass____name( self
) /*MMLocalClass::_name*/;
706 val_t
abstractmetamodel___MMLocalClass___arity(val_t self
) {
707 struct trace_t trace
= {NULL
, "abstractmetamodel::MMLocalClass::arity (src/metamodel//abstractmetamodel.nit:344,2--346:27)"};
708 trace
.prev
= tracehead
; tracehead
= &trace
;
709 tracehead
= trace
.prev
;
710 return ATTR_abstractmetamodel___MMLocalClass____arity( self
) /*MMLocalClass::_arity*/;
712 val_t
abstractmetamodel___MMLocalClass___module(val_t self
) {
713 struct trace_t trace
= {NULL
, "abstractmetamodel::MMLocalClass::module (src/metamodel//abstractmetamodel.nit:348,2--349:32)"};
714 trace
.prev
= tracehead
; tracehead
= &trace
;
715 tracehead
= trace
.prev
;
716 return ATTR_abstractmetamodel___MMLocalClass____module( self
) /*MMLocalClass::_module*/;
718 val_t
abstractmetamodel___MMLocalClass___abstract(val_t self
) {
719 struct trace_t trace
= {NULL
, "abstractmetamodel::MMLocalClass::abstract (src/metamodel//abstractmetamodel.nit:351,2--352:39)"};
720 trace
.prev
= tracehead
; tracehead
= &trace
;
721 tracehead
= trace
.prev
;
722 return ATTR_abstractmetamodel___MMLocalClass____abstract( self
) /*MMLocalClass::_abstract*/;
724 void abstractmetamodel___MMLocalClass___abstract__eq(val_t self
, val_t param0
) {
725 struct trace_t trace
= {NULL
, "abstractmetamodel::MMLocalClass::abstract= (src/metamodel//abstractmetamodel.nit:351,2--352:39)"};
726 trace
.prev
= tracehead
; tracehead
= &trace
;
727 ATTR_abstractmetamodel___MMLocalClass____abstract( self
) /*MMLocalClass::_abstract*/ = param0
;
728 tracehead
= trace
.prev
;
731 val_t
abstractmetamodel___MMLocalClass___global(val_t self
) {
732 struct trace_t trace
= {NULL
, "abstractmetamodel::MMLocalClass::global (src/metamodel//abstractmetamodel.nit:354,2--355:37)"};
733 trace
.prev
= tracehead
; tracehead
= &trace
;
734 tracehead
= trace
.prev
;
735 return ATTR_abstractmetamodel___MMLocalClass____global( self
) /*MMLocalClass::_global*/;
737 val_t
abstractmetamodel___MMLocalClass___crhe(val_t self
) {
738 struct trace_t trace
= {NULL
, "abstractmetamodel::MMLocalClass::crhe (src/metamodel//abstractmetamodel.nit:357,2--358:54)"};
739 trace
.prev
= tracehead
; tracehead
= &trace
;
740 tracehead
= trace
.prev
;
741 return ATTR_abstractmetamodel___MMLocalClass____crhe( self
) /*MMLocalClass::_crhe*/;
743 val_t
abstractmetamodel___MMLocalClass___cshe(val_t self
) {
744 struct trace_t trace
= {NULL
, "abstractmetamodel::MMLocalClass::cshe (src/metamodel//abstractmetamodel.nit:360,2--361:54)"};
745 trace
.prev
= tracehead
; tracehead
= &trace
;
746 tracehead
= trace
.prev
;
747 return ATTR_abstractmetamodel___MMLocalClass____cshe( self
) /*MMLocalClass::_cshe*/;
749 val_t
abstractmetamodel___MMLocalClass___che(val_t self
) {
750 struct trace_t trace
= {NULL
, "abstractmetamodel::MMLocalClass::che (src/metamodel//abstractmetamodel.nit:363,2--364:53)"};
751 trace
.prev
= tracehead
; tracehead
= &trace
;
752 tracehead
= trace
.prev
;
753 return ATTR_abstractmetamodel___MMLocalClass____che( self
) /*MMLocalClass::_che*/;
755 val_t
abstractmetamodel___MMLocalClass___local_property_by_global(val_t self
) {
756 struct trace_t trace
= {NULL
, "abstractmetamodel::MMLocalClass::local_property_by_global (src/metamodel//abstractmetamodel.nit:366,2--367:79)"};
757 trace
.prev
= tracehead
; tracehead
= &trace
;
758 tracehead
= trace
.prev
;
759 return ATTR_abstractmetamodel___MMLocalClass____local_property_by_global( self
) /*MMLocalClass::_local_property_by_global*/;
761 val_t
abstractmetamodel___MMLocalClass___global_properties(val_t self
) {
762 struct trace_t trace
= {NULL
, "abstractmetamodel::MMLocalClass::global_properties (src/metamodel//abstractmetamodel.nit:369,2--370:55)"};
763 trace
.prev
= tracehead
; tracehead
= &trace
;
764 tracehead
= trace
.prev
;
765 return ATTR_abstractmetamodel___MMLocalClass____global_properties( self
) /*MMLocalClass::_global_properties*/;
767 val_t
abstractmetamodel___MMLocalClass___properties_by_name(val_t self
) {
768 struct trace_t trace
= {NULL
, "abstractmetamodel::MMLocalClass::properties_by_name (src/metamodel//abstractmetamodel.nit:372,2--373:70)"};
769 trace
.prev
= tracehead
; tracehead
= &trace
;
770 tracehead
= trace
.prev
;
771 return ATTR_abstractmetamodel___MMLocalClass____properties_by_name( self
) /*MMLocalClass::_properties_by_name*/;
773 void abstractmetamodel___MMLocalClass___init(val_t self
, val_t param0
, val_t param1
, int* init_table
) {
774 struct trace_t trace
= {NULL
, "abstractmetamodel::MMLocalClass::init (src/metamodel//abstractmetamodel.nit:375,2--379:16)"};
777 trace
.prev
= tracehead
; tracehead
= &trace
;
780 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMLocalClass
].i
]) return;
781 ATTR_abstractmetamodel___MMLocalClass____name( self
) /*MMLocalClass::_name*/ = variable0
/*name*/;
782 ATTR_abstractmetamodel___MMLocalClass____arity( self
) /*MMLocalClass::_arity*/ = variable1
/*arity*/;
783 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMLocalClass
].i
] = 1;
784 tracehead
= trace
.prev
;
787 val_t
abstractmetamodel___MMLocalClass___for_module(val_t self
, val_t param0
) {
788 struct trace_t trace
= {NULL
, "abstractmetamodel::MMLocalClass::for_module (src/metamodel//abstractmetamodel.nit:382,2--385:17)"};
791 trace
.prev
= tracehead
; tracehead
= &trace
;
793 variable1
= ((abstractmetamodel___MMLocalClass___global_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass___global
))( self
) /*MMLocalClass::global*/;
794 variable1
= ((abstractmetamodel___MMModule_____bra_t
)CALL( variable0
/*m*/,COLOR_abstractmetamodel___MMModule_____bra
))( variable0
/*m*/, variable1
) /*MMModule::[]*/;
796 return_label27
: while(false);
797 tracehead
= trace
.prev
;
800 void abstractmetamodel___MMLocalClass___new_global(val_t self
) {
801 struct trace_t trace
= {NULL
, "abstractmetamodel::MMLocalClass::new_global (src/metamodel//abstractmetamodel.nit:388,2--394:14)"};
805 trace
.prev
= tracehead
; tracehead
= &trace
;
806 variable1
= NEW_abstractmetamodel___MMGlobalClass___init( self
); /*new MMGlobalClass*/
807 variable0
= variable1
;
808 variable1
= ATTR_abstractmetamodel___MMLocalClass____module( self
) /*MMLocalClass::_module*/;
809 variable1
= ATTR_abstractmetamodel___MMModule____global_classes(variable1
) /*MMModule::_global_classes*/;
810 ((array___AbstractArray___add_t
)CALL(variable1
,COLOR_abstract_collection___SimpleCollection___add
))(variable1
, variable0
/*g*/) /*Array::add*/;
811 variable1
= ATTR_abstractmetamodel___MMLocalClass____module( self
) /*MMLocalClass::_module*/;
812 variable1
= ATTR_abstractmetamodel___MMModule____global_class_by_name(variable1
) /*MMModule::_global_class_by_name*/;
813 variable2
= ((abstractmetamodel___MMLocalClass___name_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass___name
))( self
) /*MMLocalClass::name*/;
814 ((abstract_collection___Map_____braeq_t
)CALL(variable1
,COLOR_abstract_collection___Map_____braeq
))(variable1
, variable2
, variable0
/*g*/) /*Map::[]=*/;
815 ((abstractmetamodel___MMLocalClass___set_global_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass___set_global
))( self
, variable0
/*g*/) /*MMLocalClass::set_global*/;
816 tracehead
= trace
.prev
;
819 void abstractmetamodel___MMLocalClass___set_global(val_t self
, val_t param0
) {
820 struct trace_t trace
= {NULL
, "abstractmetamodel::MMLocalClass::set_global (src/metamodel//abstractmetamodel.nit:397,2--405:36)"};
823 trace
.prev
= tracehead
; tracehead
= &trace
;
825 variable1
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0
/*g*/ == NIT_NULL
/*null*/) || (( variable0
/*g*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable0
/*g*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable0
/*g*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable0
/*g*/,COLOR_kernel___Object_____eqeq
))( variable0
/*g*/, NIT_NULL
/*null*/) /*MMGlobalClass::==*/)))))));
826 if (!UNTAG_Bool(variable1
)) { fprintf(stderr
, "Assert failed: src/metamodel//abstractmetamodel.nit:402,3--18\n"); nit_exit(1);}
827 ATTR_abstractmetamodel___MMLocalClass____global( self
) /*MMLocalClass::_global*/ = variable0
/*g*/;
828 variable1
= ATTR_abstractmetamodel___MMLocalClass____global( self
) /*MMLocalClass::_global*/;
829 ((abstractmetamodel___MMGlobalClass___register_local_class_t
)CALL(variable1
,COLOR_abstractmetamodel___MMGlobalClass___register_local_class
))(variable1
, self
) /*MMGlobalClass::register_local_class*/;
830 variable1
= ATTR_abstractmetamodel___MMLocalClass____module( self
) /*MMLocalClass::_module*/;
831 ((abstractmetamodel___MMModule___register_global_class_t
)CALL(variable1
,COLOR_abstractmetamodel___MMModule___register_global_class
))(variable1
, self
) /*MMModule::register_global_class*/;
832 tracehead
= trace
.prev
;
835 val_t
abstractmetamodel___MMLocalClass___has_global_property_by_name(val_t self
, val_t param0
) {
836 struct trace_t trace
= {NULL
, "abstractmetamodel::MMLocalClass::has_global_property_by_name (src/metamodel//abstractmetamodel.nit:408,2--413:22)"};
840 trace
.prev
= tracehead
; tracehead
= &trace
;
842 variable2
= ATTR_abstractmetamodel___MMLocalClass____properties_by_name( self
) /*MMLocalClass::_properties_by_name*/;
843 variable2
= ((abstract_collection___Map_____bra_t
)CALL(variable2
,COLOR_abstract_collection___Map_____bra
))(variable2
, variable0
/*n*/) /*Map::[]*/;
844 variable1
= variable2
;
845 variable2
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1
/*props*/ == NIT_NULL
/*null*/) || (( variable1
/*props*/ != NIT_NULL
) && UNTAG_Bool(((array___AbstractArray_____eqeq_t
)CALL( variable1
/*props*/,COLOR_kernel___Object_____eqeq
))( variable1
/*props*/, NIT_NULL
/*null*/) /*Array::==*/)))));
846 variable1
= variable2
;
848 return_label30
: while(false);
849 tracehead
= trace
.prev
;
852 val_t
abstractmetamodel___MMLocalClass___get_property_by_name(val_t self
, val_t param0
) {
853 struct trace_t trace
= {NULL
, "abstractmetamodel::MMLocalClass::get_property_by_name (src/metamodel//abstractmetamodel.nit:416,2--424:20)"};
858 trace
.prev
= tracehead
; tracehead
= &trace
;
860 variable2
= ATTR_abstractmetamodel___MMLocalClass____properties_by_name( self
) /*MMLocalClass::_properties_by_name*/;
861 variable2
= ((abstract_collection___Map_____bra_t
)CALL(variable2
,COLOR_abstract_collection___Map_____bra
))(variable2
, variable0
/*n*/) /*Map::[]*/;
862 variable1
= variable2
;
863 variable2
= TAG_Bool(( variable1
/*props*/ == NIT_NULL
/*null*/) || (( variable1
/*props*/ != NIT_NULL
) && UNTAG_Bool(((array___AbstractArray_____eqeq_t
)CALL( variable1
/*props*/,COLOR_kernel___Object_____eqeq
))( variable1
/*props*/, NIT_NULL
/*null*/) /*Array::==*/)));
864 variable3
= variable2
;
865 if (!UNTAG_Bool(variable3
)) { /* or */
866 variable3
= ((array___AbstractArray___length_t
)CALL( variable1
/*props*/,COLOR_abstract_collection___Collection___length
))( variable1
/*props*/) /*Array::length*/;
867 variable3
= TAG_Bool(UNTAG_Int(variable3
)>UNTAG_Int( TAG_Int(1)));
869 variable2
= variable3
;
870 if (UNTAG_Bool(variable2
)) { /*if*/
871 variable1
= NIT_NULL
/*null*/;
874 variable2
= ((abstract_collection___IndexedCollection___first_t
)CALL( variable1
/*props*/,COLOR_abstract_collection___Collection___first
))( variable1
/*props*/) /*Array::first*/;
875 variable1
= variable2
;
877 return_label31
: while(false);
878 tracehead
= trace
.prev
;
881 val_t
abstractmetamodel___MMLocalClass___attribute(val_t self
, val_t param0
) {
882 struct trace_t trace
= {NULL
, "abstractmetamodel::MMLocalClass::attribute (src/metamodel//abstractmetamodel.nit:427,2--431:31)"};
885 trace
.prev
= tracehead
; tracehead
= &trace
;
887 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*/;
889 return_label32
: while(false);
890 tracehead
= trace
.prev
;
893 val_t
abstractmetamodel___MMLocalClass___method(val_t self
, val_t param0
) {
894 struct trace_t trace
= {NULL
, "abstractmetamodel::MMLocalClass::method (src/metamodel//abstractmetamodel.nit:434,2--444:13)"};
898 trace
.prev
= tracehead
; tracehead
= &trace
;
900 variable1
= ATTR_abstractmetamodel___MMLocalClass____properties_by_name( self
) /*MMLocalClass::_properties_by_name*/;
901 variable1
= TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1
== NIT_NULL
/*null*/) || ((variable1
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable1
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))(variable1
, NIT_NULL
/*null*/) /*Map::==*/)))))));
902 if (!UNTAG_Bool(variable1
)) { fprintf(stderr
, "Assert failed: src/metamodel//abstractmetamodel.nit:438,3--36\n"); nit_exit(1);}
903 variable2
= ATTR_abstractmetamodel___MMLocalClass____properties_by_name( self
) /*MMLocalClass::_properties_by_name*/;
904 variable2
= ((abstract_collection___Map_____bra_t
)CALL(variable2
,COLOR_abstract_collection___Map_____bra
))(variable2
, variable0
/*na*/) /*Map::[]*/;
905 variable1
= variable2
;
906 variable2
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1
/*props*/ == NIT_NULL
/*null*/) || (( variable1
/*props*/ != NIT_NULL
) && UNTAG_Bool(((array___AbstractArray_____eqeq_t
)CALL( variable1
/*props*/,COLOR_kernel___Object_____eqeq
))( variable1
/*props*/, NIT_NULL
/*null*/) /*Array::==*/)))));
907 if (UNTAG_Bool(variable2
)) { /*if*/
908 variable2
= ((abstract_collection___IndexedCollection___first_t
)CALL( variable1
/*props*/,COLOR_abstract_collection___Collection___first
))( variable1
/*props*/) /*Array::first*/;
909 variable1
= variable2
;
912 variable1
= NIT_NULL
/*null*/;
914 return_label33
: while(false);
915 tracehead
= trace
.prev
;
918 val_t
abstractmetamodel___MMLocalClass___super_methods_named(val_t self
, val_t param0
) {
919 struct trace_t trace
= {NULL
, "abstractmetamodel::MMLocalClass::super_methods_named (src/metamodel//abstractmetamodel.nit:447,2--464:12)"};
927 trace
.prev
= tracehead
; tracehead
= &trace
;
929 variable2
= NEW_array___Array___init(); /*new Array[MMLocalClass]*/
930 variable1
= variable2
;
931 variable2
= ((abstractmetamodel___MMLocalClass___cshe_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass___cshe
))( self
) /*MMLocalClass::cshe*/;
932 variable2
= ((partial_order___PartialOrderElement___greaters_t
)CALL(variable2
,COLOR_partial_order___PartialOrderElement___greaters
))(variable2
) /*PartialOrderElement::greaters*/;
933 variable2
= ((abstract_collection___Collection___iterator_t
)CALL(variable2
,COLOR_abstract_collection___Collection___iterator
))(variable2
) /*Set::iterator*/;
934 while (true) { /*for*/
935 variable3
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___is_ok
))(variable2
) /*Iterator::is_ok*/;
936 if (!UNTAG_Bool(variable3
)) break; /*for*/
937 variable3
= ((abstract_collection___Iterator___item_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___item
))(variable2
) /*Iterator::item*/;
938 variable5
= ((abstractmetamodel___MMLocalClass___method_t
)CALL( variable3
/*c*/,COLOR_abstractmetamodel___MMLocalClass___method
))( variable3
/*c*/, variable0
/*n*/) /*MMLocalClass::method*/;
939 variable4
= variable5
;
940 variable5
= TAG_Bool(( variable4
/*g*/ == NIT_NULL
/*null*/) || (( variable4
/*g*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable4
/*g*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable4
/*g*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable4
/*g*/,COLOR_kernel___Object_____eqeq
))( variable4
/*g*/, NIT_NULL
/*null*/) /*MMGlobalProperty::==*/)))));
941 if (UNTAG_Bool(variable5
)) { /*if*/
944 ((array___AbstractArray___add_t
)CALL( variable1
/*classes*/,COLOR_abstract_collection___SimpleCollection___add
))( variable1
/*classes*/, variable3
/*c*/) /*Array::add*/;
945 continue_35
: while(0);
946 ((abstract_collection___Iterator___next_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___next
))(variable2
) /*Iterator::next*/;
949 variable2
= ((abstractmetamodel___MMLocalClass___cshe_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass___cshe
))( self
) /*MMLocalClass::cshe*/;
950 variable2
= ((partial_order___PartialOrderElement___order_t
)CALL(variable2
,COLOR_partial_order___PartialOrderElement___order
))(variable2
) /*PartialOrderElement::order*/;
951 variable2
= ((partial_order___PartialOrder___select_smallests_t
)CALL(variable2
,COLOR_partial_order___PartialOrder___select_smallests
))(variable2
, variable1
/*classes*/) /*PartialOrder::select_smallests*/;
952 variable1
= variable2
/*classes=*/;
953 variable3
= NEW_array___Array___init(); /*new Array[MMLocalProperty]*/
954 variable2
= variable3
;
955 variable3
= ((array___AbstractArray___iterator_t
)CALL( variable1
/*classes*/,COLOR_abstract_collection___Collection___iterator
))( variable1
/*classes*/) /*Array::iterator*/;
956 while (true) { /*for*/
957 variable4
= ((array___ArrayIterator___is_ok_t
)CALL(variable3
,COLOR_abstract_collection___Iterator___is_ok
))(variable3
) /*ArrayIterator::is_ok*/;
958 if (!UNTAG_Bool(variable4
)) break; /*for*/
959 variable4
= ((array___ArrayIterator___item_t
)CALL(variable3
,COLOR_abstract_collection___Iterator___item
))(variable3
) /*ArrayIterator::item*/;
960 variable6
= ((abstractmetamodel___MMLocalClass___method_t
)CALL( variable4
/*c*/,COLOR_abstractmetamodel___MMLocalClass___method
))( variable4
/*c*/, variable0
/*n*/) /*MMLocalClass::method*/;
961 variable5
= variable6
;
962 variable6
= ((abstractmetamodel___MMLocalClass_____bra_t
)CALL( variable4
/*c*/,COLOR_abstractmetamodel___MMLocalClass_____bra
))( variable4
/*c*/, variable5
/*g*/) /*MMLocalClass::[]*/;
963 ((array___AbstractArray___add_t
)CALL( variable2
/*res*/,COLOR_abstract_collection___SimpleCollection___add
))( variable2
/*res*/, variable6
) /*Array::add*/;
964 continue_36
: while(0);
965 ((array___ArrayIterator___next_t
)CALL(variable3
,COLOR_abstract_collection___Iterator___next
))(variable3
) /*ArrayIterator::next*/;
968 variable1
= variable2
/*res*/;
970 return_label34
: while(false);
971 tracehead
= trace
.prev
;
974 void abstractmetamodel___MMLocalClass___register_local_property(val_t self
, val_t param0
) {
975 struct trace_t trace
= {NULL
, "abstractmetamodel::MMLocalClass::register_local_property (src/metamodel//abstractmetamodel.nit:467,2--473:42)"};
979 trace
.prev
= tracehead
; tracehead
= &trace
;
981 variable1
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable0
/*p*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable0
/*p*/) /*MMLocalProperty::global*/;
982 variable1
= TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1
== NIT_NULL
/*null*/) || ((variable1
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable1
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))(variable1
, NIT_NULL
/*null*/) /*MMGlobalProperty::==*/)))))));
983 if (!UNTAG_Bool(variable1
)) { fprintf(stderr
, "Assert failed: src/metamodel//abstractmetamodel.nit:470,3--25\n"); nit_exit(1);}
984 variable1
= ATTR_abstractmetamodel___MMLocalClass____local_property_by_global( self
) /*MMLocalClass::_local_property_by_global*/;
985 variable2
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable0
/*p*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable0
/*p*/) /*MMLocalProperty::global*/;
986 variable1
= ((abstract_collection___Map___has_key_t
)CALL(variable1
,COLOR_abstract_collection___Map___has_key
))(variable1
, variable2
) /*Map::has_key*/;
987 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable1
)))) { /*if*/
988 variable1
= ATTR_abstractmetamodel___MMLocalClass____local_property_by_global( self
) /*MMLocalClass::_local_property_by_global*/;
989 variable2
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable0
/*p*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable0
/*p*/) /*MMLocalProperty::global*/;
990 ((abstract_collection___Map_____braeq_t
)CALL(variable1
,COLOR_abstract_collection___Map_____braeq
))(variable1
, variable2
, variable0
/*p*/) /*Map::[]=*/;
992 tracehead
= trace
.prev
;
995 void abstractmetamodel___MMLocalClass___register_global_property(val_t self
, val_t param0
) {
996 struct trace_t trace
= {NULL
, "abstractmetamodel::MMLocalClass::register_global_property (src/metamodel//abstractmetamodel.nit:477,2--489:30)"};
1003 trace
.prev
= tracehead
; tracehead
= &trace
;
1005 variable2
= ((abstractmetamodel___MMGlobalProperty___intro_t
)CALL( variable0
/*glob*/,COLOR_abstractmetamodel___MMGlobalProperty___intro
))( variable0
/*glob*/) /*MMGlobalProperty::intro*/;
1006 variable1
= variable2
;
1007 variable3
= ((abstractmetamodel___MMLocalProperty___name_t
)CALL( variable1
/*prop*/,COLOR_abstractmetamodel___MMLocalProperty___name
))( variable1
/*prop*/) /*MMConcreteProperty::name*/;
1008 variable2
= variable3
;
1009 variable4
= ATTR_abstractmetamodel___MMLocalClass____properties_by_name( self
) /*MMLocalClass::_properties_by_name*/;
1010 variable4
= ((abstract_collection___Map_____bra_t
)CALL(variable4
,COLOR_abstract_collection___Map_____bra
))(variable4
, variable2
/*name*/) /*Map::[]*/;
1011 variable3
= variable4
;
1012 variable4
= TAG_Bool(( variable3
/*props*/ == NIT_NULL
/*null*/) || (( variable3
/*props*/ != NIT_NULL
) && UNTAG_Bool(((array___AbstractArray_____eqeq_t
)CALL( variable3
/*props*/,COLOR_kernel___Object_____eqeq
))( variable3
/*props*/, NIT_NULL
/*null*/) /*Array::==*/)));
1013 if (UNTAG_Bool(variable4
)) { /*if*/
1014 variable4
= ATTR_abstractmetamodel___MMLocalClass____properties_by_name( self
) /*MMLocalClass::_properties_by_name*/;
1015 variable5
= NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[MMGlobalProperty]*/
1016 ((array___AbstractArray___add_t
)CALL(variable5
,COLOR_abstract_collection___SimpleCollection___add
))(variable5
, variable0
/*glob*/) /*Array::add*/;
1017 ((abstract_collection___Map_____braeq_t
)CALL(variable4
,COLOR_abstract_collection___Map_____braeq
))(variable4
, variable2
/*name*/, variable5
) /*Map::[]=*/;
1019 variable4
= ATTR_abstractmetamodel___MMLocalClass____properties_by_name( self
) /*MMLocalClass::_properties_by_name*/;
1020 variable4
= ((abstract_collection___Map_____bra_t
)CALL(variable4
,COLOR_abstract_collection___Map_____bra
))(variable4
, variable2
/*name*/) /*Map::[]*/;
1021 ((array___AbstractArray___add_t
)CALL(variable4
,COLOR_abstract_collection___SimpleCollection___add
))(variable4
, variable0
/*glob*/) /*Array::add*/;
1023 variable4
= ATTR_abstractmetamodel___MMLocalClass____global_properties( self
) /*MMLocalClass::_global_properties*/;
1024 ((abstract_collection___SimpleCollection___add_t
)CALL(variable4
,COLOR_abstract_collection___SimpleCollection___add
))(variable4
, variable0
/*glob*/) /*Set::add*/;
1025 ((abstractmetamodel___MMLocalClass___register_local_property_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass___register_local_property
))( self
, variable1
/*prop*/) /*MMLocalClass::register_local_property*/;
1026 tracehead
= trace
.prev
;
1029 val_t
abstractmetamodel___MMLocalClass_____bra(val_t self
, val_t param0
) {
1030 struct trace_t trace
= {NULL
, "abstractmetamodel::MMLocalClass::[] (src/metamodel//abstractmetamodel.nit:492,2--500:13)"};
1033 trace
.prev
= tracehead
; tracehead
= &trace
;
1035 variable1
= ATTR_abstractmetamodel___MMLocalClass____local_property_by_global( self
) /*MMLocalClass::_local_property_by_global*/;
1036 variable1
= TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1
== NIT_NULL
/*null*/) || ((variable1
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable1
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))(variable1
, NIT_NULL
/*null*/) /*Map::==*/)))))));
1037 if (!UNTAG_Bool(variable1
)) { fprintf(stderr
, "Assert failed: src/metamodel//abstractmetamodel.nit:495,3--42\n"); nit_exit(1);}
1038 variable1
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0
/*glob*/ == NIT_NULL
/*null*/) || (( variable0
/*glob*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable0
/*glob*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable0
/*glob*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable0
/*glob*/,COLOR_kernel___Object_____eqeq
))( variable0
/*glob*/, NIT_NULL
/*null*/) /*MMGlobalProperty::==*/)))))));
1039 if (!UNTAG_Bool(variable1
)) { fprintf(stderr
, "Assert failed: src/metamodel//abstractmetamodel.nit:496,3--21\n"); nit_exit(1);}
1040 variable1
= ATTR_abstractmetamodel___MMLocalClass____local_property_by_global( self
) /*MMLocalClass::_local_property_by_global*/;
1041 variable1
= ((abstract_collection___Map___has_key_t
)CALL(variable1
,COLOR_abstract_collection___Map___has_key
))(variable1
, variable0
/*glob*/) /*Map::has_key*/;
1042 if (UNTAG_Bool(variable1
)) { /*if*/
1043 variable1
= ATTR_abstractmetamodel___MMLocalClass____local_property_by_global( self
) /*MMLocalClass::_local_property_by_global*/;
1044 variable1
= ((abstract_collection___Map_____bra_t
)CALL(variable1
,COLOR_abstract_collection___Map_____bra
))(variable1
, variable0
/*glob*/) /*Map::[]*/;
1045 goto return_label39
;
1047 variable1
= NIT_NULL
/*null*/;
1048 goto return_label39
;
1049 return_label39
: while(false);
1050 tracehead
= trace
.prev
;
1053 val_t
abstractmetamodel___MMLocalClass___context(val_t self
) {
1054 struct trace_t trace
= {NULL
, "abstractmetamodel::MMLocalClass::context (src/metamodel//abstractmetamodel.nit:503,2--504:49)"};
1056 trace
.prev
= tracehead
; tracehead
= &trace
;
1057 variable0
= ((abstractmetamodel___MMLocalClass___module_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalClass___module
))( self
) /*MMLocalClass::module*/;
1058 variable0
= ((abstractmetamodel___MMModule___context_t
)CALL(variable0
,COLOR_abstractmetamodel___MMModule___context
))(variable0
) /*MMModule::context*/;
1059 goto return_label40
;
1060 return_label40
: while(false);
1061 tracehead
= trace
.prev
;
1064 val_t
abstractmetamodel___MMLocalClass___to_s(val_t self
) {
1065 struct trace_t trace
= {NULL
, "abstractmetamodel::MMLocalClass::to_s (src/metamodel//abstractmetamodel.nit:506,2--508:19)"};
1067 trace
.prev
= tracehead
; tracehead
= &trace
;
1068 variable0
= ATTR_abstractmetamodel___MMLocalClass____name( self
) /*MMLocalClass::_name*/;
1069 variable0
= ((symbol___Symbol___to_s_t
)CALL(variable0
,COLOR_string___Object___to_s
))(variable0
) /*Symbol::to_s*/;
1070 goto return_label41
;
1071 return_label41
: while(false);
1072 tracehead
= trace
.prev
;
1075 val_t
abstractmetamodel___MMGlobalProperty___intro(val_t self
) {
1076 struct trace_t trace
= {NULL
, "abstractmetamodel::MMGlobalProperty::intro (src/metamodel//abstractmetamodel.nit:516,2--517:41)"};
1077 trace
.prev
= tracehead
; tracehead
= &trace
;
1078 tracehead
= trace
.prev
;
1079 return ATTR_abstractmetamodel___MMGlobalProperty____intro( self
) /*MMGlobalProperty::_intro*/;
1081 val_t
abstractmetamodel___MMGlobalProperty___local_class(val_t self
) {
1082 struct trace_t trace
= {NULL
, "abstractmetamodel::MMGlobalProperty::local_class (src/metamodel//abstractmetamodel.nit:519,2--522:27)"};
1084 trace
.prev
= tracehead
; tracehead
= &trace
;
1085 variable0
= ((abstractmetamodel___MMGlobalProperty___intro_t
)CALL( self
,COLOR_abstractmetamodel___MMGlobalProperty___intro
))( self
) /*MMGlobalProperty::intro*/;
1086 variable0
= ((abstractmetamodel___MMLocalProperty___local_class_t
)CALL(variable0
,COLOR_abstractmetamodel___MMLocalProperty___local_class
))(variable0
) /*MMConcreteProperty::local_class*/;
1087 goto return_label42
;
1088 return_label42
: while(false);
1089 tracehead
= trace
.prev
;
1092 val_t
abstractmetamodel___MMGlobalProperty___concrete_property_hierarchy(val_t self
) {
1093 struct trace_t trace
= {NULL
, "abstractmetamodel::MMGlobalProperty::concrete_property_hierarchy (src/metamodel//abstractmetamodel.nit:525,2--526:115)"};
1094 trace
.prev
= tracehead
; tracehead
= &trace
;
1095 tracehead
= trace
.prev
;
1096 return ATTR_abstractmetamodel___MMGlobalProperty____concrete_property_hierarchy( self
) /*MMGlobalProperty::_concrete_property_hierarchy*/;
1098 void abstractmetamodel___MMGlobalProperty___init(val_t self
, val_t param0
, int* init_table
) {
1099 struct trace_t trace
= {NULL
, "abstractmetamodel::MMGlobalProperty::init (src/metamodel//abstractmetamodel.nit:528,2--537:55)"};
1102 trace
.prev
= tracehead
; tracehead
= &trace
;
1104 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMGlobalProperty
].i
]) return;
1105 variable1
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0
/*p*/ == NIT_NULL
/*null*/) || (( variable0
/*p*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable0
/*p*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable0
/*p*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable0
/*p*/,COLOR_kernel___Object_____eqeq
))( variable0
/*p*/, NIT_NULL
/*null*/) /*MMConcreteProperty::==*/)))))));
1106 if (!UNTAG_Bool(variable1
)) { fprintf(stderr
, "Assert failed: src/metamodel//abstractmetamodel.nit:531,3--18\n"); nit_exit(1);}
1107 variable1
= ((abstractmetamodel___MMLocalProperty___concrete_property_t
)CALL( variable0
/*p*/,COLOR_abstractmetamodel___MMLocalProperty___concrete_property
))( variable0
/*p*/) /*MMConcreteProperty::concrete_property*/;
1108 variable1
= TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1
== NIT_NULL
/*null*/) || ((variable1
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable1
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))(variable1
, NIT_NULL
/*null*/) /*MMConcreteProperty::==*/)))))));
1109 if (!UNTAG_Bool(variable1
)) { fprintf(stderr
, "Assert failed: src/metamodel//abstractmetamodel.nit:532,3--36\n"); nit_exit(1);}
1110 variable1
= NEW_partial_order___PartialOrder___init(); /*new PartialOrder[MMConcreteProperty]*/
1111 ATTR_abstractmetamodel___MMGlobalProperty____concrete_property_hierarchy( self
) /*MMGlobalProperty::_concrete_property_hierarchy*/ = variable1
;
1112 ATTR_abstractmetamodel___MMGlobalProperty____intro( self
) /*MMGlobalProperty::_intro*/ = variable0
/*p*/;
1113 variable1
= NEW_array___Array___init(); /*new Array[MMConcreteProperty]*/
1114 ((abstractmetamodel___MMGlobalProperty___add_concrete_property_t
)CALL( self
,COLOR_abstractmetamodel___MMGlobalProperty___add_concrete_property
))( self
, variable0
/*p*/, variable1
) /*MMGlobalProperty::add_concrete_property*/;
1115 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMGlobalProperty
].i
] = 1;
1116 tracehead
= trace
.prev
;
1119 val_t
abstractmetamodel___MMGlobalProperty___to_s(val_t self
) {
1120 struct trace_t trace
= {NULL
, "abstractmetamodel::MMGlobalProperty::to_s (src/metamodel//abstractmetamodel.nit:540,2--42)"};
1122 trace
.prev
= tracehead
; tracehead
= &trace
;
1123 variable0
= ((abstractmetamodel___MMGlobalProperty___intro_t
)CALL( self
,COLOR_abstractmetamodel___MMGlobalProperty___intro
))( self
) /*MMGlobalProperty::intro*/;
1124 variable0
= ((abstractmetamodel___MMLocalProperty___full_name_t
)CALL(variable0
,COLOR_abstractmetamodel___MMLocalProperty___full_name
))(variable0
) /*MMConcreteProperty::full_name*/;
1125 goto return_label44
;
1126 return_label44
: while(false);
1127 tracehead
= trace
.prev
;
1130 void abstractmetamodel___MMGlobalProperty___add_concrete_property(val_t self
, val_t param0
, val_t param1
) {
1131 struct trace_t trace
= {NULL
, "abstractmetamodel::MMGlobalProperty::add_concrete_property (src/metamodel//abstractmetamodel.nit:542,2--547:51)"};
1135 trace
.prev
= tracehead
; tracehead
= &trace
;
1138 variable2
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0
/*i*/ == NIT_NULL
/*null*/) || (( variable0
/*i*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable0
/*i*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable0
/*i*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable0
/*i*/,COLOR_kernel___Object_____eqeq
))( variable0
/*i*/, NIT_NULL
/*null*/) /*MMConcreteProperty::==*/)))))));
1139 if (!UNTAG_Bool(variable2
)) { fprintf(stderr
, "Assert failed: src/metamodel//abstractmetamodel.nit:545,3--18\n"); nit_exit(1);}
1140 variable2
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1
/*sup*/ == NIT_NULL
/*null*/) || (( variable1
/*sup*/ != NIT_NULL
) && UNTAG_Bool(((array___AbstractArray_____eqeq_t
)CALL( variable1
/*sup*/,COLOR_kernel___Object_____eqeq
))( variable1
/*sup*/, NIT_NULL
/*null*/) /*Array::==*/)))));
1141 if (!UNTAG_Bool(variable2
)) { fprintf(stderr
, "Assert failed: src/metamodel//abstractmetamodel.nit:546,3--20\n"); nit_exit(1);}
1142 variable2
= ATTR_abstractmetamodel___MMGlobalProperty____concrete_property_hierarchy( self
) /*MMGlobalProperty::_concrete_property_hierarchy*/;
1143 variable2
= ((partial_order___PartialOrder___add_t
)CALL(variable2
,COLOR_partial_order___PartialOrder___add
))(variable2
, variable0
/*i*/, variable1
/*sup*/) /*PartialOrder::add*/;
1144 ATTR_abstractmetamodel___MMConcreteProperty____cprhe( variable0
/*i*/) /*MMConcreteProperty::_cprhe*/ = variable2
;
1145 tracehead
= trace
.prev
;
1148 val_t
abstractmetamodel___MMGlobalProperty___is_attribute(val_t self
) {
1149 struct trace_t trace
= {NULL
, "abstractmetamodel::MMGlobalProperty::is_attribute (src/metamodel//abstractmetamodel.nit:550,2--551:56)"};
1151 trace
.prev
= tracehead
; tracehead
= &trace
;
1152 variable0
= ((abstractmetamodel___MMGlobalProperty___intro_t
)CALL( self
,COLOR_abstractmetamodel___MMGlobalProperty___intro
))( self
) /*MMGlobalProperty::intro*/;
1153 variable0
= TAG_Bool((variable0
==NIT_NULL
) || VAL_ISA(variable0
, COLOR_MMAttribute
, ID_MMAttribute
)) /*cast MMAttribute*/;
1154 goto return_label46
;
1155 return_label46
: while(false);
1156 tracehead
= trace
.prev
;
1159 val_t
abstractmetamodel___MMGlobalProperty___is_method(val_t self
) {
1160 struct trace_t trace
= {NULL
, "abstractmetamodel::MMGlobalProperty::is_method (src/metamodel//abstractmetamodel.nit:553,2--554:50)"};
1162 trace
.prev
= tracehead
; tracehead
= &trace
;
1163 variable0
= ((abstractmetamodel___MMGlobalProperty___intro_t
)CALL( self
,COLOR_abstractmetamodel___MMGlobalProperty___intro
))( self
) /*MMGlobalProperty::intro*/;
1164 variable0
= TAG_Bool((variable0
==NIT_NULL
) || VAL_ISA(variable0
, COLOR_MMMethod
, ID_MMMethod
)) /*cast MMMethod*/;
1165 goto return_label47
;
1166 return_label47
: while(false);
1167 tracehead
= trace
.prev
;
1170 val_t
abstractmetamodel___MMGlobalProperty___is_init(val_t self
) {
1171 struct trace_t trace
= {NULL
, "abstractmetamodel::MMGlobalProperty::is_init (src/metamodel//abstractmetamodel.nit:556,2--557:38)"};
1172 trace
.prev
= tracehead
; tracehead
= &trace
;
1173 tracehead
= trace
.prev
;
1174 return ATTR_abstractmetamodel___MMGlobalProperty____is_init( self
) /*MMGlobalProperty::_is_init*/;
1176 void abstractmetamodel___MMGlobalProperty___is_init__eq(val_t self
, val_t param0
) {
1177 struct trace_t trace
= {NULL
, "abstractmetamodel::MMGlobalProperty::is_init= (src/metamodel//abstractmetamodel.nit:556,2--557:38)"};
1178 trace
.prev
= tracehead
; tracehead
= &trace
;
1179 ATTR_abstractmetamodel___MMGlobalProperty____is_init( self
) /*MMGlobalProperty::_is_init*/ = param0
;
1180 tracehead
= trace
.prev
;
1183 val_t
abstractmetamodel___MMGlobalProperty___visibility_level(val_t self
) {
1184 struct trace_t trace
= {NULL
, "abstractmetamodel::MMGlobalProperty::visibility_level (src/metamodel//abstractmetamodel.nit:559,2--563:46)"};
1185 trace
.prev
= tracehead
; tracehead
= &trace
;
1186 tracehead
= trace
.prev
;
1187 return ATTR_abstractmetamodel___MMGlobalProperty____visibility_level( self
) /*MMGlobalProperty::_visibility_level*/;
1189 void abstractmetamodel___MMGlobalProperty___visibility_level__eq(val_t self
, val_t param0
) {
1190 struct trace_t trace
= {NULL
, "abstractmetamodel::MMGlobalProperty::visibility_level= (src/metamodel//abstractmetamodel.nit:559,2--563:46)"};
1191 trace
.prev
= tracehead
; tracehead
= &trace
;
1192 ATTR_abstractmetamodel___MMGlobalProperty____visibility_level( self
) /*MMGlobalProperty::_visibility_level*/ = param0
;
1193 tracehead
= trace
.prev
;
1196 val_t
abstractmetamodel___MMLocalProperty___name(val_t self
) {
1197 struct trace_t trace
= {NULL
, "abstractmetamodel::MMLocalProperty::name (src/metamodel//abstractmetamodel.nit:569,2--570:28)"};
1198 trace
.prev
= tracehead
; tracehead
= &trace
;
1199 tracehead
= trace
.prev
;
1200 return ATTR_abstractmetamodel___MMLocalProperty____name( self
) /*MMLocalProperty::_name*/;
1202 val_t
abstractmetamodel___MMLocalProperty___local_class(val_t self
) {
1203 struct trace_t trace
= {NULL
, "abstractmetamodel::MMLocalProperty::local_class (src/metamodel//abstractmetamodel.nit:572,2--573:41)"};
1204 trace
.prev
= tracehead
; tracehead
= &trace
;
1205 tracehead
= trace
.prev
;
1206 return ATTR_abstractmetamodel___MMLocalProperty____local_class( self
) /*MMLocalProperty::_local_class*/;
1208 val_t
abstractmetamodel___MMLocalProperty___global(val_t self
) {
1209 struct trace_t trace
= {NULL
, "abstractmetamodel::MMLocalProperty::global (src/metamodel//abstractmetamodel.nit:575,2--576:40)"};
1210 trace
.prev
= tracehead
; tracehead
= &trace
;
1211 tracehead
= trace
.prev
;
1212 return ATTR_abstractmetamodel___MMLocalProperty____global( self
) /*MMLocalProperty::_global*/;
1214 val_t
abstractmetamodel___MMLocalProperty___super_prop(val_t self
) {
1215 struct trace_t trace
= {NULL
, "abstractmetamodel::MMLocalProperty::super_prop (src/metamodel//abstractmetamodel.nit:578,2--580:43)"};
1216 trace
.prev
= tracehead
; tracehead
= &trace
;
1217 tracehead
= trace
.prev
;
1218 return ATTR_abstractmetamodel___MMLocalProperty____super_prop( self
) /*MMLocalProperty::_super_prop*/;
1220 val_t
abstractmetamodel___MMLocalProperty___concrete_property(val_t self
) {
1221 struct trace_t trace
= {NULL
, "abstractmetamodel::MMLocalProperty::concrete_property (src/metamodel//abstractmetamodel.nit:582,2--584:53)"};
1222 trace
.prev
= tracehead
; tracehead
= &trace
;
1223 tracehead
= trace
.prev
;
1224 return ATTR_abstractmetamodel___MMLocalProperty____concrete_property( self
) /*MMLocalProperty::_concrete_property*/;
1226 val_t
abstractmetamodel___MMLocalProperty___module(val_t self
) {
1227 struct trace_t trace
= {NULL
, "abstractmetamodel::MMLocalProperty::module (src/metamodel//abstractmetamodel.nit:586,2--587:52)"};
1229 trace
.prev
= tracehead
; tracehead
= &trace
;
1230 variable0
= ATTR_abstractmetamodel___MMLocalProperty____local_class( self
) /*MMLocalProperty::_local_class*/;
1231 variable0
= ((abstractmetamodel___MMLocalClass___module_t
)CALL(variable0
,COLOR_abstractmetamodel___MMLocalClass___module
))(variable0
) /*MMLocalClass::module*/;
1232 goto return_label48
;
1233 return_label48
: while(false);
1234 tracehead
= trace
.prev
;
1237 val_t
abstractmetamodel___MMLocalProperty___full_name(val_t self
) {
1238 struct trace_t trace
= {NULL
, "abstractmetamodel::MMLocalProperty::full_name (src/metamodel//abstractmetamodel.nit:589,2--597:75)"};
1254 trace
.prev
= tracehead
; tracehead
= &trace
;
1255 variable0
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalProperty___global
))( self
) /*MMLocalProperty::global*/;
1256 variable0
= TAG_Bool((variable0
== NIT_NULL
/*null*/) || ((variable0
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable0
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable0
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable0
,COLOR_kernel___Object_____eqeq
))(variable0
, NIT_NULL
/*null*/) /*MMGlobalProperty::==*/)))));
1257 if (UNTAG_Bool(variable0
)) { /*if*/
1258 variable0
= NEW_string___String___init(); /*new String*/
1259 variable1
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1260 variable2
= variable1
;
1261 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable2
) /*String::append*/;
1262 variable3
= ((abstractmetamodel___MMLocalProperty___local_class_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalProperty___local_class
))( self
) /*MMLocalProperty::local_class*/;
1263 variable3
= ((abstractmetamodel___MMLocalClass___module_t
)CALL(variable3
,COLOR_abstractmetamodel___MMLocalClass___module
))(variable3
) /*MMLocalClass::module*/;
1264 variable4
= variable3
;
1265 variable4
= ((string___String___to_s_t
)CALL(variable4
,COLOR_string___Object___to_s
))(variable4
) /*String::to_s*/;
1266 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable4
) /*String::append*/;
1267 variable5
= NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
1268 variable6
= variable5
;
1269 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable6
) /*String::append*/;
1270 variable7
= ((abstractmetamodel___MMLocalProperty___local_class_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalProperty___local_class
))( self
) /*MMLocalProperty::local_class*/;
1271 variable8
= variable7
;
1272 variable8
= ((string___String___to_s_t
)CALL(variable8
,COLOR_string___Object___to_s
))(variable8
) /*String::to_s*/;
1273 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable8
) /*String::append*/;
1274 variable9
= NEW_string___String___with_native(BOX_NativeString("::(?::"), TAG_Int(6)); /*new String*/
1275 variable10
= variable9
;
1276 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable10
) /*String::append*/;
1277 variable11
= ((abstractmetamodel___MMLocalProperty___name_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalProperty___name
))( self
) /*MMLocalProperty::name*/;
1278 variable12
= variable11
;
1279 variable12
= ((string___String___to_s_t
)CALL(variable12
,COLOR_string___Object___to_s
))(variable12
) /*String::to_s*/;
1280 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable12
) /*String::append*/;
1281 variable13
= NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
1282 variable14
= variable13
;
1283 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable14
) /*String::append*/;
1284 goto return_label49
;
1286 variable0
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalProperty___global
))( self
) /*MMLocalProperty::global*/;
1287 variable0
= ((abstractmetamodel___MMGlobalProperty___intro_t
)CALL(variable0
,COLOR_abstractmetamodel___MMGlobalProperty___intro
))(variable0
) /*MMGlobalProperty::intro*/;
1288 variable0
= TAG_Bool((variable0
== self
) || ((variable0
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable0
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable0
, self
)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable0
,COLOR_kernel___Object_____eqeq
))(variable0
, self
) /*MMConcreteProperty::==*/)))));
1289 if (UNTAG_Bool(variable0
)) { /*if*/
1290 variable0
= NEW_string___String___init(); /*new String*/
1291 variable1
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1292 variable2
= variable1
;
1293 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable2
) /*String::append*/;
1294 variable3
= ((abstractmetamodel___MMLocalProperty___local_class_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalProperty___local_class
))( self
) /*MMLocalProperty::local_class*/;
1295 variable3
= ((abstractmetamodel___MMLocalClass___module_t
)CALL(variable3
,COLOR_abstractmetamodel___MMLocalClass___module
))(variable3
) /*MMLocalClass::module*/;
1296 variable4
= variable3
;
1297 variable4
= ((string___String___to_s_t
)CALL(variable4
,COLOR_string___Object___to_s
))(variable4
) /*String::to_s*/;
1298 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable4
) /*String::append*/;
1299 variable5
= NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
1300 variable6
= variable5
;
1301 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable6
) /*String::append*/;
1302 variable7
= ((abstractmetamodel___MMLocalProperty___local_class_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalProperty___local_class
))( self
) /*MMLocalProperty::local_class*/;
1303 variable8
= variable7
;
1304 variable8
= ((string___String___to_s_t
)CALL(variable8
,COLOR_string___Object___to_s
))(variable8
) /*String::to_s*/;
1305 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable8
) /*String::append*/;
1306 variable9
= NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
1307 variable10
= variable9
;
1308 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable10
) /*String::append*/;
1309 variable11
= ((abstractmetamodel___MMLocalProperty___name_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalProperty___name
))( self
) /*MMLocalProperty::name*/;
1310 variable12
= variable11
;
1311 variable12
= ((string___String___to_s_t
)CALL(variable12
,COLOR_string___Object___to_s
))(variable12
) /*String::to_s*/;
1312 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable12
) /*String::append*/;
1313 variable13
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1314 variable14
= variable13
;
1315 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable14
) /*String::append*/;
1316 goto return_label49
;
1318 variable0
= NEW_string___String___init(); /*new String*/
1319 variable1
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1320 variable2
= variable1
;
1321 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable2
) /*String::append*/;
1322 variable3
= ((abstractmetamodel___MMLocalProperty___local_class_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalProperty___local_class
))( self
) /*MMLocalProperty::local_class*/;
1323 variable3
= ((abstractmetamodel___MMLocalClass___module_t
)CALL(variable3
,COLOR_abstractmetamodel___MMLocalClass___module
))(variable3
) /*MMLocalClass::module*/;
1324 variable4
= variable3
;
1325 variable4
= ((string___String___to_s_t
)CALL(variable4
,COLOR_string___Object___to_s
))(variable4
) /*String::to_s*/;
1326 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable4
) /*String::append*/;
1327 variable5
= NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
1328 variable6
= variable5
;
1329 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable6
) /*String::append*/;
1330 variable7
= ((abstractmetamodel___MMLocalProperty___local_class_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalProperty___local_class
))( self
) /*MMLocalProperty::local_class*/;
1331 variable8
= variable7
;
1332 variable8
= ((string___String___to_s_t
)CALL(variable8
,COLOR_string___Object___to_s
))(variable8
) /*String::to_s*/;
1333 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable8
) /*String::append*/;
1334 variable9
= NEW_string___String___with_native(BOX_NativeString("::("), TAG_Int(3)); /*new String*/
1335 variable10
= variable9
;
1336 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable10
) /*String::append*/;
1337 variable11
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalProperty___global
))( self
) /*MMLocalProperty::global*/;
1338 variable11
= ((abstractmetamodel___MMGlobalProperty___intro_t
)CALL(variable11
,COLOR_abstractmetamodel___MMGlobalProperty___intro
))(variable11
) /*MMGlobalProperty::intro*/;
1339 variable11
= ((abstractmetamodel___MMLocalProperty___full_name_t
)CALL(variable11
,COLOR_abstractmetamodel___MMLocalProperty___full_name
))(variable11
) /*MMConcreteProperty::full_name*/;
1340 variable12
= variable11
;
1341 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable12
) /*String::append*/;
1342 variable13
= NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
1343 variable14
= variable13
;
1344 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable14
) /*String::append*/;
1345 goto return_label49
;
1348 return_label49
: while(false);
1349 tracehead
= trace
.prev
;
1352 void abstractmetamodel___MMLocalProperty___set_global(val_t self
, val_t param0
) {
1353 struct trace_t trace
= {NULL
, "abstractmetamodel::MMLocalProperty::set_global (src/metamodel//abstractmetamodel.nit:601,2--606:43)"};
1356 trace
.prev
= tracehead
; tracehead
= &trace
;
1358 variable1
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0
/*g*/ == NIT_NULL
/*null*/) || (( variable0
/*g*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable0
/*g*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable0
/*g*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable0
/*g*/,COLOR_kernel___Object_____eqeq
))( variable0
/*g*/, NIT_NULL
/*null*/) /*MMGlobalProperty::==*/)))))));
1359 if (!UNTAG_Bool(variable1
)) { fprintf(stderr
, "Assert failed: src/metamodel//abstractmetamodel.nit:604,3--18\n"); nit_exit(1);}
1360 ATTR_abstractmetamodel___MMLocalProperty____global( self
) /*MMLocalProperty::_global*/ = variable0
/*g*/;
1361 variable1
= ATTR_abstractmetamodel___MMLocalProperty____local_class( self
) /*MMLocalProperty::_local_class*/;
1362 ((abstractmetamodel___MMLocalClass___register_local_property_t
)CALL(variable1
,COLOR_abstractmetamodel___MMLocalClass___register_local_property
))(variable1
, self
) /*MMLocalClass::register_local_property*/;
1363 tracehead
= trace
.prev
;
1366 val_t
abstractmetamodel___MMLocalProperty___to_s(val_t self
) {
1367 struct trace_t trace
= {NULL
, "abstractmetamodel::MMLocalProperty::to_s (src/metamodel//abstractmetamodel.nit:609,2--36)"};
1369 trace
.prev
= tracehead
; tracehead
= &trace
;
1370 variable0
= ((abstractmetamodel___MMLocalProperty___name_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalProperty___name
))( self
) /*MMLocalProperty::name*/;
1371 variable0
= ((symbol___Symbol___to_s_t
)CALL(variable0
,COLOR_string___Object___to_s
))(variable0
) /*Symbol::to_s*/;
1372 goto return_label51
;
1373 return_label51
: while(false);
1374 tracehead
= trace
.prev
;
1377 void abstractmetamodel___MMLocalProperty___init(val_t self
, val_t param0
, val_t param1
, val_t param2
, int* init_table
) {
1378 struct trace_t trace
= {NULL
, "abstractmetamodel::MMLocalProperty::init (src/metamodel//abstractmetamodel.nit:611,2--615:25)"};
1382 trace
.prev
= tracehead
; tracehead
= &trace
;
1386 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMLocalProperty
].i
]) return;
1387 ATTR_abstractmetamodel___MMLocalProperty____name( self
) /*MMLocalProperty::_name*/ = variable0
/*n*/;
1388 ATTR_abstractmetamodel___MMLocalProperty____local_class( self
) /*MMLocalProperty::_local_class*/ = variable1
/*bc*/;
1389 ATTR_abstractmetamodel___MMLocalProperty____concrete_property( self
) /*MMLocalProperty::_concrete_property*/ = variable2
/*i*/;
1390 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMLocalProperty
].i
] = 1;
1391 tracehead
= trace
.prev
;
1394 val_t
abstractmetamodel___MMConcreteProperty___cprhe(val_t self
) {
1395 struct trace_t trace
= {NULL
, "abstractmetamodel::MMConcreteProperty::cprhe (src/metamodel//abstractmetamodel.nit:637,2--638:61)"};
1396 trace
.prev
= tracehead
; tracehead
= &trace
;
1397 tracehead
= trace
.prev
;
1398 return ATTR_abstractmetamodel___MMConcreteProperty____cprhe( self
) /*MMConcreteProperty::_cprhe*/;
1400 val_t
abstractmetamodel___MMConcreteProperty___need_super(val_t self
) {
1401 struct trace_t trace
= {NULL
, "abstractmetamodel::MMConcreteProperty::need_super (src/metamodel//abstractmetamodel.nit:640,2--641:41)"};
1402 trace
.prev
= tracehead
; tracehead
= &trace
;
1403 tracehead
= trace
.prev
;
1404 return ATTR_abstractmetamodel___MMConcreteProperty____need_super( self
) /*MMConcreteProperty::_need_super*/;
1406 void abstractmetamodel___MMConcreteProperty___need_super__eq(val_t self
, val_t param0
) {
1407 struct trace_t trace
= {NULL
, "abstractmetamodel::MMConcreteProperty::need_super= (src/metamodel//abstractmetamodel.nit:640,2--641:41)"};
1408 trace
.prev
= tracehead
; tracehead
= &trace
;
1409 ATTR_abstractmetamodel___MMConcreteProperty____need_super( self
) /*MMConcreteProperty::_need_super*/ = param0
;
1410 tracehead
= trace
.prev
;
1413 void abstractmetamodel___MMConcreteProperty___new_global(val_t self
) {
1414 struct trace_t trace
= {NULL
, "abstractmetamodel::MMConcreteProperty::new_global (src/metamodel//abstractmetamodel.nit:643,2--648:47)"};
1417 trace
.prev
= tracehead
; tracehead
= &trace
;
1418 variable0
= ATTR_abstractmetamodel___MMLocalProperty____global( self
) /*MMConcreteProperty::_global*/;
1419 variable0
= TAG_Bool((variable0
== NIT_NULL
/*null*/) || ((variable0
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable0
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable0
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable0
,COLOR_kernel___Object_____eqeq
))(variable0
, NIT_NULL
/*null*/) /*MMGlobalProperty::==*/)))));
1420 if (!UNTAG_Bool(variable0
)) { fprintf(stderr
, "Assert failed: src/metamodel//abstractmetamodel.nit:646,3--24\n"); nit_exit(1);}
1421 variable0
= NEW_abstractmetamodel___MMGlobalProperty___init( self
); /*new MMGlobalProperty*/
1422 ATTR_abstractmetamodel___MMLocalProperty____global( self
) /*MMConcreteProperty::_global*/ = variable0
;
1423 variable0
= ATTR_abstractmetamodel___MMLocalProperty____local_class( self
) /*MMConcreteProperty::_local_class*/;
1424 variable1
= ATTR_abstractmetamodel___MMLocalProperty____global( self
) /*MMConcreteProperty::_global*/;
1425 ((abstractmetamodel___MMLocalClass___register_global_property_t
)CALL(variable0
,COLOR_abstractmetamodel___MMLocalClass___register_global_property
))(variable0
, variable1
) /*MMLocalClass::register_global_property*/;
1426 tracehead
= trace
.prev
;