1 /* This C file is generated by NIT to compile module abstractmetamodel. */
2 #include "abstractmetamodel._sep.h"
3 void abstractmetamodel___MMContext___init(val_t self
, int* init_table
) {
4 struct trace_t trace
= {NULL
, NULL
, 26, LOCATE_abstractmetamodel___MMContext___init
};
6 void **closurevariable
= NULL
;
7 trace
.prev
= tracehead
; tracehead
= &trace
;
8 trace
.file
= LOCATE_abstractmetamodel
;
10 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_MMContext
].i
]) return;
11 return_label0
: while(false);
12 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_MMContext
].i
] = 1;
13 tracehead
= trace
.prev
;
16 val_t
abstractmetamodel___MMContext___module_hierarchy(val_t self
) {
17 struct trace_t trace
= {NULL
, NULL
, 28, LOCATE_abstractmetamodel___MMContext___module_hierarchy
};
18 val_t
*variable
= NULL
;
19 void **closurevariable
= NULL
;
20 trace
.prev
= tracehead
; tracehead
= &trace
;
21 trace
.file
= LOCATE_abstractmetamodel
;
22 tracehead
= trace
.prev
;
23 return ATTR_abstractmetamodel___MMContext____module_hierarchy( self
) /*MMContext::_module_hierarchy*/;
25 val_t
abstractmetamodel___MMContext___class_hierarchy(val_t self
) {
26 struct trace_t trace
= {NULL
, NULL
, 31, LOCATE_abstractmetamodel___MMContext___class_hierarchy
};
27 val_t
*variable
= NULL
;
28 void **closurevariable
= NULL
;
29 trace
.prev
= tracehead
; tracehead
= &trace
;
30 trace
.file
= LOCATE_abstractmetamodel
;
31 tracehead
= trace
.prev
;
32 return ATTR_abstractmetamodel___MMContext____class_hierarchy( self
) /*MMContext::_class_hierarchy*/;
34 val_t
abstractmetamodel___MMContext___modules(val_t self
) {
35 struct trace_t trace
= {NULL
, NULL
, 38, LOCATE_abstractmetamodel___MMContext___modules
};
36 val_t
*variable
= NULL
;
37 void **closurevariable
= NULL
;
38 trace
.prev
= tracehead
; tracehead
= &trace
;
39 trace
.file
= LOCATE_abstractmetamodel
;
40 tracehead
= trace
.prev
;
41 return ATTR_abstractmetamodel___MMContext____modules( self
) /*MMContext::_modules*/;
43 void abstractmetamodel___MMContext___add_module(val_t self
, val_t param0
, val_t param1
) {
44 struct trace_t trace
= {NULL
, NULL
, 41, LOCATE_abstractmetamodel___MMContext___add_module
};
46 void **closurevariable
= NULL
;
47 trace
.prev
= tracehead
; tracehead
= &trace
;
48 trace
.file
= LOCATE_abstractmetamodel
;
52 variable
[4] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[2] /*supers*/ == NIT_NULL
/*null*/) || (( variable
[2] /*supers*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[2] /*supers*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[2] /*supers*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[2] /*supers*/)( variable
[2] /*supers*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
53 if (!UNTAG_Bool(variable
[4])) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMContext___add_module
, LOCATE_abstractmetamodel
, 44); nit_exit(1);}
54 variable
[4] = variable
[0];
55 variable
[4] = ATTR_abstractmetamodel___MMContext____module_hierarchy(variable
[4]) /*MMContext::_module_hierarchy*/;
56 variable
[5] = variable
[0];
57 variable
[5] = ATTR_abstractmetamodel___MMContext____module_hierarchy(variable
[5]) /*MMContext::_module_hierarchy*/;
58 variable
[5] = CALL_partial_order___PartialOrder___select_smallests(variable
[5])(variable
[5], variable
[2] /*supers*/) /*PartialOrder::select_smallests*/;
59 CALL_partial_order___PartialOrder___add(variable
[4])(variable
[4], variable
[1] /*module*/, variable
[5]) /*PartialOrder::add*/;
60 variable
[4] = CALL_abstractmetamodel___MMModule___name( variable
[1] /*module*/)( variable
[1] /*module*/) /*MMModule::name*/;
61 variable
[4] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[4] == NIT_NULL
/*null*/) || ((variable
[4] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[4])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[4], NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[4])(variable
[4], NIT_NULL
/*null*/) /*Object::==*/)))))));
62 if (!UNTAG_Bool(variable
[4])) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMContext___add_module
, LOCATE_abstractmetamodel
, 46); nit_exit(1);}
63 variable
[4] = variable
[0];
64 variable
[4] = ATTR_abstractmetamodel___MMContext____modules(variable
[4]) /*MMContext::_modules*/;
65 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], variable
[1] /*module*/) /*AbstractArray::add*/;
66 variable
[4] = variable
[0];
67 variable
[4] = ATTR_abstractmetamodel___MMContext____module_hierarchy(variable
[4]) /*MMContext::_module_hierarchy*/;
68 variable
[4] = CALL_partial_order___PartialOrder_____bra(variable
[4])(variable
[4], variable
[1] /*module*/) /*PartialOrder::[]*/;
69 ATTR_abstractmetamodel___MMModule____mhe( variable
[1] /*module*/) /*MMModule::_mhe*/ = variable
[4];
70 return_label1
: while(false);
71 tracehead
= trace
.prev
;
74 void abstractmetamodel___MMContext___add_global_class(val_t self
, val_t param0
) {
75 struct trace_t trace
= {NULL
, NULL
, 51, LOCATE_abstractmetamodel___MMContext___add_global_class
};
77 void **closurevariable
= NULL
;
78 trace
.prev
= tracehead
; tracehead
= &trace
;
79 trace
.file
= LOCATE_abstractmetamodel
;
82 variable
[3] = variable
[0];
83 variable
[3] = ATTR_abstractmetamodel___MMContext____global_classes(variable
[3]) /*MMContext::_global_classes*/;
84 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[1] /*c*/) /*AbstractArray::add*/;
85 return_label2
: while(false);
86 tracehead
= trace
.prev
;
89 void abstractmetamodel___MMContext___add_local_class(val_t self
, val_t param0
, val_t param1
) {
90 struct trace_t trace
= {NULL
, NULL
, 54, LOCATE_abstractmetamodel___MMContext___add_local_class
};
92 void **closurevariable
= NULL
;
93 trace
.prev
= tracehead
; tracehead
= &trace
;
94 trace
.file
= LOCATE_abstractmetamodel
;
98 variable
[4] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[2] /*sup*/ == NIT_NULL
/*null*/) || (( variable
[2] /*sup*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[2] /*sup*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[2] /*sup*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[2] /*sup*/)( variable
[2] /*sup*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
99 if (!UNTAG_Bool(variable
[4])) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMContext___add_local_class
, LOCATE_abstractmetamodel
, 57); nit_exit(1);}
100 variable
[5] = NEW_Array_array___Array___init(); /*new Array[MMLocalClass]*/
101 variable
[4] = variable
[5];
102 variable
[6] = NEW_Array_array___Array___init(); /*new Array[String]*/
103 variable
[5] = variable
[6];
104 variable
[6] = CALL_abstract_collection___Collection___iterator( variable
[2] /*sup*/)( variable
[2] /*sup*/) /*AbstractArray::iterator*/;
105 while (true) { /*for*/
106 variable
[7] = CALL_abstract_collection___Iterator___is_ok(variable
[6])(variable
[6]) /*ArrayIterator::is_ok*/;
107 if (!UNTAG_Bool(variable
[7])) break; /*for*/
108 variable
[7] = CALL_abstract_collection___Iterator___item(variable
[6])(variable
[6]) /*ArrayIterator::item*/;
109 variable
[8] = variable
[7];
110 variable
[9] = TAG_Bool(( variable
[8] /*s*/==NIT_NULL
) || VAL_ISA( variable
[8] /*s*/, COLOR_MMConcreteClass
, ID_MMConcreteClass
)) /*cast MMConcreteClass*/;
111 if (UNTAG_Bool(variable
[9])) { /*if*/
112 CALL_abstract_collection___SimpleCollection___add( variable
[4] /*csup*/)( variable
[4] /*csup*/, variable
[8] /*s*/) /*AbstractArray::add*/;
114 variable
[9] = CALL_abstractmetamodel___MMLocalClass___che( variable
[8] /*s*/)( variable
[8] /*s*/) /*MMLocalClass::che*/;
115 variable
[9] = CALL_partial_order___PartialOrderElement___direct_greaters(variable
[9])(variable
[9]) /*PartialOrderElement::direct_greaters*/;
116 variable
[9] = CALL_abstract_collection___Collection___iterator(variable
[9])(variable
[9]) /*AbstractArray::iterator*/;
117 while (true) { /*for*/
118 variable
[10] = CALL_abstract_collection___Iterator___is_ok(variable
[9])(variable
[9]) /*ArrayIterator::is_ok*/;
119 if (!UNTAG_Bool(variable
[10])) break; /*for*/
120 variable
[10] = CALL_abstract_collection___Iterator___item(variable
[9])(variable
[9]) /*ArrayIterator::item*/;
121 variable
[11] = variable
[10];
122 variable
[12] = CALL_abstract_collection___Collection___has( variable
[4] /*csup*/)( variable
[4] /*csup*/, variable
[11] /*ss*/) /*AbstractArray::has*/;
123 if (UNTAG_Bool(variable
[12])) { /*if*/
126 CALL_abstract_collection___SimpleCollection___add( variable
[4] /*csup*/)( variable
[4] /*csup*/, variable
[11] /*ss*/) /*AbstractArray::add*/;
127 continue_5
: while(0);
128 CALL_abstract_collection___Iterator___next(variable
[9])(variable
[9]) /*ArrayIterator::next*/;
132 continue_4
: while(0);
133 CALL_abstract_collection___Iterator___next(variable
[6])(variable
[6]) /*ArrayIterator::next*/;
136 variable
[7] = variable
[0];
137 variable
[7] = ATTR_abstractmetamodel___MMContext____class_hierarchy(variable
[7]) /*MMContext::_class_hierarchy*/;
138 variable
[7] = CALL_partial_order___PartialOrder___add(variable
[7])(variable
[7], variable
[1] /*c*/, variable
[4] /*csup*/) /*PartialOrder::add*/;
139 variable
[6] = variable
[7];
140 ATTR_abstractmetamodel___MMLocalClass____che( variable
[1] /*c*/) /*MMLocalClass::_che*/ = variable
[6] /*che*/;
141 return_label3
: while(false);
142 tracehead
= trace
.prev
;
145 val_t
abstractmetamodel___MMDirectory___name(val_t self
) {
146 struct trace_t trace
= {NULL
, NULL
, 77, LOCATE_abstractmetamodel___MMDirectory___name
};
147 val_t
*variable
= NULL
;
148 void **closurevariable
= NULL
;
149 trace
.prev
= tracehead
; tracehead
= &trace
;
150 trace
.file
= LOCATE_abstractmetamodel
;
151 tracehead
= trace
.prev
;
152 return ATTR_abstractmetamodel___MMDirectory____name( self
) /*MMDirectory::_name*/;
154 val_t
abstractmetamodel___MMDirectory___path(val_t self
) {
155 struct trace_t trace
= {NULL
, NULL
, 80, LOCATE_abstractmetamodel___MMDirectory___path
};
156 val_t
*variable
= NULL
;
157 void **closurevariable
= NULL
;
158 trace
.prev
= tracehead
; tracehead
= &trace
;
159 trace
.file
= LOCATE_abstractmetamodel
;
160 tracehead
= trace
.prev
;
161 return ATTR_abstractmetamodel___MMDirectory____path( self
) /*MMDirectory::_path*/;
163 val_t
abstractmetamodel___MMDirectory___parent(val_t self
) {
164 struct trace_t trace
= {NULL
, NULL
, 83, LOCATE_abstractmetamodel___MMDirectory___parent
};
165 val_t
*variable
= NULL
;
166 void **closurevariable
= NULL
;
167 trace
.prev
= tracehead
; tracehead
= &trace
;
168 trace
.file
= LOCATE_abstractmetamodel
;
169 tracehead
= trace
.prev
;
170 return ATTR_abstractmetamodel___MMDirectory____parent( self
) /*MMDirectory::_parent*/;
172 val_t
abstractmetamodel___MMDirectory___owner(val_t self
) {
173 struct trace_t trace
= {NULL
, NULL
, 87, LOCATE_abstractmetamodel___MMDirectory___owner
};
174 val_t
*variable
= NULL
;
175 void **closurevariable
= NULL
;
176 trace
.prev
= tracehead
; tracehead
= &trace
;
177 trace
.file
= LOCATE_abstractmetamodel
;
178 tracehead
= trace
.prev
;
179 return ATTR_abstractmetamodel___MMDirectory____owner( self
) /*MMDirectory::_owner*/;
181 void abstractmetamodel___MMDirectory___owner__eq(val_t self
, val_t param0
) {
182 struct trace_t trace
= {NULL
, NULL
, 87, LOCATE_abstractmetamodel___MMDirectory___owner__eq
};
183 val_t
*variable
= NULL
;
184 void **closurevariable
= NULL
;
185 trace
.prev
= tracehead
; tracehead
= &trace
;
186 trace
.file
= LOCATE_abstractmetamodel
;
187 ATTR_abstractmetamodel___MMDirectory____owner( self
) /*MMDirectory::_owner*/ = param0
;
188 tracehead
= trace
.prev
;
191 val_t
abstractmetamodel___MMDirectory___modules(val_t self
) {
192 struct trace_t trace
= {NULL
, NULL
, 90, LOCATE_abstractmetamodel___MMDirectory___modules
};
193 val_t
*variable
= NULL
;
194 void **closurevariable
= NULL
;
195 trace
.prev
= tracehead
; tracehead
= &trace
;
196 trace
.file
= LOCATE_abstractmetamodel
;
197 tracehead
= trace
.prev
;
198 return ATTR_abstractmetamodel___MMDirectory____modules( self
) /*MMDirectory::_modules*/;
200 void abstractmetamodel___MMDirectory___add_module(val_t self
, val_t param0
) {
201 struct trace_t trace
= {NULL
, NULL
, 93, LOCATE_abstractmetamodel___MMDirectory___add_module
};
203 void **closurevariable
= NULL
;
204 trace
.prev
= tracehead
; tracehead
= &trace
;
205 trace
.file
= LOCATE_abstractmetamodel
;
207 variable
[1] = param0
;
208 variable
[3] = variable
[0];
209 variable
[3] = ATTR_abstractmetamodel___MMDirectory____modules(variable
[3]) /*MMDirectory::_modules*/;
210 variable
[4] = CALL_abstractmetamodel___MMModule___name( variable
[1] /*module*/)( variable
[1] /*module*/) /*MMModule::name*/;
211 variable
[3] = CALL_abstract_collection___Map___has_key(variable
[3])(variable
[3], variable
[4]) /*Map::has_key*/;
212 if (!UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable
[3])))) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMDirectory___add_module
, LOCATE_abstractmetamodel
, 96); nit_exit(1);}
213 variable
[3] = variable
[0];
214 variable
[3] = ATTR_abstractmetamodel___MMDirectory____modules(variable
[3]) /*MMDirectory::_modules*/;
215 variable
[4] = CALL_abstractmetamodel___MMModule___name( variable
[1] /*module*/)( variable
[1] /*module*/) /*MMModule::name*/;
216 CALL_abstract_collection___Map_____braeq(variable
[3])(variable
[3], variable
[4], variable
[1] /*module*/) /*Map::[]=*/;
217 return_label6
: while(false);
218 tracehead
= trace
.prev
;
221 val_t
abstractmetamodel___MMDirectory___dhe(val_t self
) {
222 struct trace_t trace
= {NULL
, NULL
, 100, LOCATE_abstractmetamodel___MMDirectory___dhe
};
223 val_t
*variable
= NULL
;
224 void **closurevariable
= NULL
;
225 trace
.prev
= tracehead
; tracehead
= &trace
;
226 trace
.file
= LOCATE_abstractmetamodel
;
227 tracehead
= trace
.prev
;
228 return ATTR_abstractmetamodel___MMDirectory____dhe( self
) /*MMDirectory::_dhe*/;
230 void abstractmetamodel___MMDirectory___init(val_t self
, val_t param0
, val_t param1
, val_t param2
, int* init_table
) {
231 struct trace_t trace
= {NULL
, NULL
, 103, LOCATE_abstractmetamodel___MMDirectory___init
};
233 void **closurevariable
= NULL
;
234 trace
.prev
= tracehead
; tracehead
= &trace
;
235 trace
.file
= LOCATE_abstractmetamodel
;
237 variable
[1] = param0
;
238 variable
[2] = param1
;
239 variable
[3] = param2
;
240 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_MMDirectory
].i
]) return;
241 variable
[5] = variable
[0];
242 ATTR_abstractmetamodel___MMDirectory____name(variable
[5]) /*MMDirectory::_name*/ = variable
[1] /*name*/;
243 variable
[5] = variable
[0];
244 ATTR_abstractmetamodel___MMDirectory____path(variable
[5]) /*MMDirectory::_path*/ = variable
[2] /*path*/;
245 variable
[5] = variable
[0];
246 ATTR_abstractmetamodel___MMDirectory____parent(variable
[5]) /*MMDirectory::_parent*/ = variable
[3] /*parent*/;
247 return_label7
: while(false);
248 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_MMDirectory
].i
] = 1;
249 tracehead
= trace
.prev
;
252 val_t
abstractmetamodel___MMDirectory___full_name_for(val_t self
, val_t param0
) {
253 struct trace_t trace
= {NULL
, NULL
, 109, LOCATE_abstractmetamodel___MMDirectory___full_name_for
};
255 void **closurevariable
= NULL
;
256 trace
.prev
= tracehead
; tracehead
= &trace
;
257 trace
.file
= LOCATE_abstractmetamodel
;
259 variable
[1] = param0
;
260 variable
[3] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
261 variable
[4] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
262 variable
[5] = variable
[4];
263 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[5]) /*AbstractArray::add*/;
264 variable
[6] = variable
[0];
265 variable
[6] = CALL_abstractmetamodel___MMDirectory___name(variable
[6])(variable
[6]) /*MMDirectory::name*/;
266 variable
[7] = variable
[6];
267 variable
[7] = CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/;
268 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[7]) /*AbstractArray::add*/;
269 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
270 variable
[9] = variable
[8];
271 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[9]) /*AbstractArray::add*/;
272 variable
[10] = variable
[1] /*module_name*/;
273 variable
[10] = CALL_string___Object___to_s(variable
[10])(variable
[10]) /*Object::to_s*/;
274 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[10]) /*AbstractArray::add*/;
275 variable
[11] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
276 variable
[12] = variable
[11];
277 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[12]) /*AbstractArray::add*/;
278 variable
[3] = CALL_string___Object___to_s(variable
[3])(variable
[3]) /*Object::to_s*/;
279 variable
[3] = CALL_symbol___String___to_symbol(variable
[3])(variable
[3]) /*String::to_symbol*/;
280 variable
[2] = variable
[3];
282 return_label8
: while(false);
283 tracehead
= trace
.prev
;
286 val_t
abstractmetamodel___MMModule___to_s(val_t self
) {
287 struct trace_t trace
= {NULL
, NULL
, 257, LOCATE_abstractmetamodel___MMModule___to_s
};
289 void **closurevariable
= NULL
;
290 trace
.prev
= tracehead
; tracehead
= &trace
;
291 trace
.file
= LOCATE_abstractmetamodel
;
293 variable
[2] = variable
[0];
294 variable
[2] = CALL_abstractmetamodel___MMModule___name(variable
[2])(variable
[2]) /*MMModule::name*/;
295 variable
[2] = CALL_string___Object___to_s(variable
[2])(variable
[2]) /*Symbol::to_s*/;
296 variable
[1] = variable
[2];
298 return_label9
: while(false);
299 tracehead
= trace
.prev
;
302 val_t
abstractmetamodel___MMModule___context(val_t self
) {
303 struct trace_t trace
= {NULL
, NULL
, 117, LOCATE_abstractmetamodel___MMModule___context
};
304 val_t
*variable
= NULL
;
305 void **closurevariable
= NULL
;
306 trace
.prev
= tracehead
; tracehead
= &trace
;
307 trace
.file
= LOCATE_abstractmetamodel
;
308 tracehead
= trace
.prev
;
309 return ATTR_abstractmetamodel___MMModule____context( self
) /*MMModule::_context*/;
311 val_t
abstractmetamodel___MMModule___name(val_t self
) {
312 struct trace_t trace
= {NULL
, NULL
, 120, LOCATE_abstractmetamodel___MMModule___name
};
313 val_t
*variable
= NULL
;
314 void **closurevariable
= NULL
;
315 trace
.prev
= tracehead
; tracehead
= &trace
;
316 trace
.file
= LOCATE_abstractmetamodel
;
317 tracehead
= trace
.prev
;
318 return ATTR_abstractmetamodel___MMModule____name( self
) /*MMModule::_name*/;
320 val_t
abstractmetamodel___MMModule___full_name(val_t self
) {
321 struct trace_t trace
= {NULL
, NULL
, 123, LOCATE_abstractmetamodel___MMModule___full_name
};
322 val_t
*variable
= NULL
;
323 void **closurevariable
= NULL
;
324 trace
.prev
= tracehead
; tracehead
= &trace
;
325 trace
.file
= LOCATE_abstractmetamodel
;
326 tracehead
= trace
.prev
;
327 return ATTR_abstractmetamodel___MMModule____full_name( self
) /*MMModule::_full_name*/;
329 val_t
abstractmetamodel___MMModule___directory(val_t self
) {
330 struct trace_t trace
= {NULL
, NULL
, 126, LOCATE_abstractmetamodel___MMModule___directory
};
331 val_t
*variable
= NULL
;
332 void **closurevariable
= NULL
;
333 trace
.prev
= tracehead
; tracehead
= &trace
;
334 trace
.file
= LOCATE_abstractmetamodel
;
335 tracehead
= trace
.prev
;
336 return ATTR_abstractmetamodel___MMModule____directory( self
) /*MMModule::_directory*/;
338 val_t
abstractmetamodel___MMModule___mhe(val_t self
) {
339 struct trace_t trace
= {NULL
, NULL
, 129, LOCATE_abstractmetamodel___MMModule___mhe
};
340 val_t
*variable
= NULL
;
341 void **closurevariable
= NULL
;
342 trace
.prev
= tracehead
; tracehead
= &trace
;
343 trace
.file
= LOCATE_abstractmetamodel
;
344 tracehead
= trace
.prev
;
345 return ATTR_abstractmetamodel___MMModule____mhe( self
) /*MMModule::_mhe*/;
347 val_t
abstractmetamodel___MMModule___global_classes(val_t self
) {
348 struct trace_t trace
= {NULL
, NULL
, 132, LOCATE_abstractmetamodel___MMModule___global_classes
};
349 val_t
*variable
= NULL
;
350 void **closurevariable
= NULL
;
351 trace
.prev
= tracehead
; tracehead
= &trace
;
352 trace
.file
= LOCATE_abstractmetamodel
;
353 tracehead
= trace
.prev
;
354 return ATTR_abstractmetamodel___MMModule____global_classes( self
) /*MMModule::_global_classes*/;
356 val_t
abstractmetamodel___MMModule___local_classes(val_t self
) {
357 struct trace_t trace
= {NULL
, NULL
, 135, LOCATE_abstractmetamodel___MMModule___local_classes
};
358 val_t
*variable
= NULL
;
359 void **closurevariable
= NULL
;
360 trace
.prev
= tracehead
; tracehead
= &trace
;
361 trace
.file
= LOCATE_abstractmetamodel
;
362 tracehead
= trace
.prev
;
363 return ATTR_abstractmetamodel___MMModule____local_classes( self
) /*MMModule::_local_classes*/;
365 val_t
abstractmetamodel___MMModule___class_specialization_hierarchy(val_t self
) {
366 struct trace_t trace
= {NULL
, NULL
, 138, LOCATE_abstractmetamodel___MMModule___class_specialization_hierarchy
};
367 val_t
*variable
= NULL
;
368 void **closurevariable
= NULL
;
369 trace
.prev
= tracehead
; tracehead
= &trace
;
370 trace
.file
= LOCATE_abstractmetamodel
;
371 tracehead
= trace
.prev
;
372 return ATTR_abstractmetamodel___MMModule____class_specialization_hierarchy( self
) /*MMModule::_class_specialization_hierarchy*/;
374 val_t
abstractmetamodel___MMModule___explicit_imported_modules(val_t self
) {
375 struct trace_t trace
= {NULL
, NULL
, 150, LOCATE_abstractmetamodel___MMModule___explicit_imported_modules
};
376 val_t
*variable
= NULL
;
377 void **closurevariable
= NULL
;
378 trace
.prev
= tracehead
; tracehead
= &trace
;
379 trace
.file
= LOCATE_abstractmetamodel
;
380 tracehead
= trace
.prev
;
381 return ATTR_abstractmetamodel___MMModule____explicit_imported_modules( self
) /*MMModule::_explicit_imported_modules*/;
383 void abstractmetamodel___MMModule___init(val_t self
, val_t param0
, val_t param1
, val_t param2
, int* init_table
) {
384 struct trace_t trace
= {NULL
, NULL
, 159, LOCATE_abstractmetamodel___MMModule___init
};
386 void **closurevariable
= NULL
;
387 trace
.prev
= tracehead
; tracehead
= &trace
;
388 trace
.file
= LOCATE_abstractmetamodel
;
390 variable
[1] = param0
;
391 variable
[2] = param1
;
392 variable
[3] = param2
;
393 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_MMModule
].i
]) return;
394 variable
[5] = variable
[0];
395 ATTR_abstractmetamodel___MMModule____name(variable
[5]) /*MMModule::_name*/ = variable
[1] /*name*/;
396 variable
[5] = variable
[0];
397 ATTR_abstractmetamodel___MMModule____directory(variable
[5]) /*MMModule::_directory*/ = variable
[2] /*dir*/;
398 variable
[5] = variable
[0];
399 ATTR_abstractmetamodel___MMModule____context(variable
[5]) /*MMModule::_context*/ = variable
[3] /*context*/;
400 variable
[5] = TAG_Bool(( variable
[2] /*dir*/ == NIT_NULL
/*null*/) || (( variable
[2] /*dir*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[2] /*dir*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[2] /*dir*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[2] /*dir*/)( variable
[2] /*dir*/, NIT_NULL
/*null*/) /*Object::==*/)))));
401 if (UNTAG_Bool(variable
[5])) { /*if*/
402 variable
[5] = variable
[0];
403 ATTR_abstractmetamodel___MMModule____full_name(variable
[5]) /*MMModule::_full_name*/ = variable
[1] /*name*/;
405 variable
[5] = variable
[0];
406 variable
[6] = CALL_abstractmetamodel___MMDirectory___full_name_for( variable
[2] /*dir*/)( variable
[2] /*dir*/, variable
[1] /*name*/) /*MMDirectory::full_name_for*/;
407 ATTR_abstractmetamodel___MMModule____full_name(variable
[5]) /*MMModule::_full_name*/ = variable
[6];
409 return_label10
: while(false);
410 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_MMModule
].i
] = 1;
411 tracehead
= trace
.prev
;
414 void abstractmetamodel___MMModule___add_super_module(val_t self
, val_t param0
, val_t param1
) {
415 struct trace_t trace
= {NULL
, NULL
, 172, LOCATE_abstractmetamodel___MMModule___add_super_module
};
417 void **closurevariable
= NULL
;
418 trace
.prev
= tracehead
; tracehead
= &trace
;
419 trace
.file
= LOCATE_abstractmetamodel
;
421 variable
[1] = param0
;
422 variable
[2] = param1
;
423 variable
[4] = variable
[0];
424 variable
[4] = ATTR_abstractmetamodel___MMModule____explicit_imported_modules(variable
[4]) /*MMModule::_explicit_imported_modules*/;
425 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], variable
[1] /*m*/) /*SimpleCollection::add*/;
426 variable
[4] = TAG_Bool(( variable
[2] /*visibility_level*/)==( TAG_Int(0)));
427 if (UNTAG_Bool(variable
[4])) { /*if*/
428 variable
[4] = variable
[0];
429 variable
[4] = ATTR_abstractmetamodel___MMModule____intrude_modules(variable
[4]) /*MMModule::_intrude_modules*/;
430 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], variable
[1] /*m*/) /*SimpleCollection::add*/;
431 variable
[4] = variable
[0];
432 variable
[4] = ATTR_abstractmetamodel___MMModule____intrude_modules(variable
[4]) /*MMModule::_intrude_modules*/;
433 variable
[5] = ATTR_abstractmetamodel___MMModule____intrude_modules( variable
[1] /*m*/) /*MMModule::_intrude_modules*/;
434 CALL_abstract_collection___SimpleCollection___add_all(variable
[4])(variable
[4], variable
[5]) /*SimpleCollection::add_all*/;
435 variable
[4] = variable
[0];
436 variable
[4] = ATTR_abstractmetamodel___MMModule____public_modules(variable
[4]) /*MMModule::_public_modules*/;
437 variable
[5] = ATTR_abstractmetamodel___MMModule____public_modules( variable
[1] /*m*/) /*MMModule::_public_modules*/;
438 CALL_abstract_collection___SimpleCollection___add_all(variable
[4])(variable
[4], variable
[5]) /*SimpleCollection::add_all*/;
439 variable
[4] = variable
[0];
440 variable
[4] = ATTR_abstractmetamodel___MMModule____private_modules(variable
[4]) /*MMModule::_private_modules*/;
441 variable
[5] = ATTR_abstractmetamodel___MMModule____private_modules( variable
[1] /*m*/) /*MMModule::_private_modules*/;
442 CALL_abstract_collection___SimpleCollection___add_all(variable
[4])(variable
[4], variable
[5]) /*SimpleCollection::add_all*/;
444 variable
[4] = TAG_Bool(( variable
[2] /*visibility_level*/)==( TAG_Int(1)));
445 if (UNTAG_Bool(variable
[4])) { /*if*/
446 variable
[4] = variable
[0];
447 variable
[4] = ATTR_abstractmetamodel___MMModule____public_modules(variable
[4]) /*MMModule::_public_modules*/;
448 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], variable
[1] /*m*/) /*SimpleCollection::add*/;
449 variable
[4] = variable
[0];
450 variable
[4] = ATTR_abstractmetamodel___MMModule____public_modules(variable
[4]) /*MMModule::_public_modules*/;
451 variable
[5] = ATTR_abstractmetamodel___MMModule____intrude_modules( variable
[1] /*m*/) /*MMModule::_intrude_modules*/;
452 CALL_abstract_collection___SimpleCollection___add_all(variable
[4])(variable
[4], variable
[5]) /*SimpleCollection::add_all*/;
453 variable
[4] = variable
[0];
454 variable
[4] = ATTR_abstractmetamodel___MMModule____public_modules(variable
[4]) /*MMModule::_public_modules*/;
455 variable
[5] = ATTR_abstractmetamodel___MMModule____public_modules( variable
[1] /*m*/) /*MMModule::_public_modules*/;
456 CALL_abstract_collection___SimpleCollection___add_all(variable
[4])(variable
[4], variable
[5]) /*SimpleCollection::add_all*/;
458 variable
[4] = variable
[0];
459 variable
[4] = ATTR_abstractmetamodel___MMModule____private_modules(variable
[4]) /*MMModule::_private_modules*/;
460 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], variable
[1] /*m*/) /*SimpleCollection::add*/;
461 variable
[4] = variable
[0];
462 variable
[4] = ATTR_abstractmetamodel___MMModule____private_modules(variable
[4]) /*MMModule::_private_modules*/;
463 variable
[5] = ATTR_abstractmetamodel___MMModule____intrude_modules( variable
[1] /*m*/) /*MMModule::_intrude_modules*/;
464 CALL_abstract_collection___SimpleCollection___add_all(variable
[4])(variable
[4], variable
[5]) /*SimpleCollection::add_all*/;
465 variable
[4] = variable
[0];
466 variable
[4] = ATTR_abstractmetamodel___MMModule____private_modules(variable
[4]) /*MMModule::_private_modules*/;
467 variable
[5] = ATTR_abstractmetamodel___MMModule____public_modules( variable
[1] /*m*/) /*MMModule::_public_modules*/;
468 CALL_abstract_collection___SimpleCollection___add_all(variable
[4])(variable
[4], variable
[5]) /*SimpleCollection::add_all*/;
471 return_label11
: while(false);
472 tracehead
= trace
.prev
;
475 val_t
abstractmetamodel___MMModule___visibility_for(val_t self
, val_t param0
) {
476 struct trace_t trace
= {NULL
, NULL
, 196, LOCATE_abstractmetamodel___MMModule___visibility_for
};
478 void **closurevariable
= NULL
;
479 trace
.prev
= tracehead
; tracehead
= &trace
;
480 trace
.file
= LOCATE_abstractmetamodel
;
482 variable
[1] = param0
;
483 variable
[3] = variable
[0];
484 variable
[3] = TAG_Bool(( variable
[1] /*m*/ == variable
[3]) || (( variable
[1] /*m*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[1] /*m*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[1] /*m*/,variable
[3])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[1] /*m*/)( variable
[1] /*m*/, variable
[3]) /*Object::==*/)))));
485 variable
[4] = variable
[3];
486 if (!UNTAG_Bool(variable
[4])) { /* or */
487 variable
[4] = variable
[0];
488 variable
[4] = ATTR_abstractmetamodel___MMModule____intrude_modules(variable
[4]) /*MMModule::_intrude_modules*/;
489 variable
[4] = CALL_abstract_collection___Collection___has(variable
[4])(variable
[4], variable
[1] /*m*/) /*Collection::has*/;
491 variable
[3] = variable
[4];
492 if (UNTAG_Bool(variable
[3])) { /*if*/
493 variable
[2] = TAG_Int(3);
496 variable
[3] = variable
[0];
497 variable
[3] = ATTR_abstractmetamodel___MMModule____public_modules(variable
[3]) /*MMModule::_public_modules*/;
498 variable
[3] = CALL_abstract_collection___Collection___has(variable
[3])(variable
[3], variable
[1] /*m*/) /*Collection::has*/;
499 if (UNTAG_Bool(variable
[3])) { /*if*/
500 variable
[2] = TAG_Int(2);
503 variable
[3] = variable
[0];
504 variable
[3] = ATTR_abstractmetamodel___MMModule____private_modules(variable
[3]) /*MMModule::_private_modules*/;
505 variable
[3] = CALL_abstract_collection___Collection___has(variable
[3])(variable
[3], variable
[1] /*m*/) /*Collection::has*/;
506 if (UNTAG_Bool(variable
[3])) { /*if*/
507 variable
[2] = TAG_Int(1);
510 variable
[2] = TAG_Int(0);
515 return_label12
: while(false);
516 tracehead
= trace
.prev
;
519 val_t
abstractmetamodel___MMModule_____bra(val_t self
, val_t param0
) {
520 struct trace_t trace
= {NULL
, NULL
, 215, LOCATE_abstractmetamodel___MMModule_____bra
};
522 void **closurevariable
= NULL
;
523 trace
.prev
= tracehead
; tracehead
= &trace
;
524 trace
.file
= LOCATE_abstractmetamodel
;
526 variable
[1] = param0
;
527 variable
[3] = variable
[0];
528 variable
[3] = ATTR_abstractmetamodel___MMModule____local_class_by_global(variable
[3]) /*MMModule::_local_class_by_global*/;
529 variable
[3] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[3] == NIT_NULL
/*null*/) || ((variable
[3] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[3])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[3], NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[3])(variable
[3], NIT_NULL
/*null*/) /*Object::==*/)))))));
530 if (!UNTAG_Bool(variable
[3])) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMModule_____bra
, LOCATE_abstractmetamodel
, 218); nit_exit(1);}
531 variable
[3] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[1] /*c*/ == NIT_NULL
/*null*/) || (( variable
[1] /*c*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[1] /*c*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[1] /*c*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[1] /*c*/)( variable
[1] /*c*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
532 if (!UNTAG_Bool(variable
[3])) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMModule_____bra
, LOCATE_abstractmetamodel
, 219); nit_exit(1);}
533 variable
[3] = variable
[0];
534 variable
[3] = ATTR_abstractmetamodel___MMModule____local_class_by_global(variable
[3]) /*MMModule::_local_class_by_global*/;
535 variable
[3] = CALL_abstract_collection___Map___has_key(variable
[3])(variable
[3], variable
[1] /*c*/) /*Map::has_key*/;
536 if (UNTAG_Bool(variable
[3])) { /*if*/
537 variable
[3] = variable
[0];
538 variable
[3] = ATTR_abstractmetamodel___MMModule____local_class_by_global(variable
[3]) /*MMModule::_local_class_by_global*/;
539 variable
[3] = CALL_abstract_collection___Map_____bra(variable
[3])(variable
[3], variable
[1] /*c*/) /*Map::[]*/;
540 variable
[2] = variable
[3];
543 variable
[2] = NIT_NULL
/*null*/;
546 return_label13
: while(false);
547 tracehead
= trace
.prev
;
550 void abstractmetamodel___MMModule___add_local_class(val_t self
, val_t param0
) {
551 struct trace_t trace
= {NULL
, NULL
, 227, LOCATE_abstractmetamodel___MMModule___add_local_class
};
553 void **closurevariable
= NULL
;
554 trace
.prev
= tracehead
; tracehead
= &trace
;
555 trace
.file
= LOCATE_abstractmetamodel
;
557 variable
[1] = param0
;
558 variable
[3] = variable
[0];
559 ATTR_abstractmetamodel___MMLocalClass____module( variable
[1] /*c*/) /*MMLocalClass::_module*/ = variable
[3];
560 variable
[3] = variable
[0];
561 variable
[3] = ATTR_abstractmetamodel___MMModule____local_classes(variable
[3]) /*MMModule::_local_classes*/;
562 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[1] /*c*/) /*AbstractArray::add*/;
563 return_label14
: while(false);
564 tracehead
= trace
.prev
;
567 val_t
abstractmetamodel___MMModule___class_by_name(val_t self
, val_t param0
) {
568 struct trace_t trace
= {NULL
, NULL
, 234, LOCATE_abstractmetamodel___MMModule___class_by_name
};
570 void **closurevariable
= NULL
;
571 trace
.prev
= tracehead
; tracehead
= &trace
;
572 trace
.file
= LOCATE_abstractmetamodel
;
574 variable
[1] = param0
;
575 variable
[3] = variable
[0];
576 variable
[4] = variable
[0];
577 variable
[4] = ATTR_abstractmetamodel___MMModule____global_class_by_name(variable
[4]) /*MMModule::_global_class_by_name*/;
578 variable
[4] = CALL_abstract_collection___Map_____bra(variable
[4])(variable
[4], variable
[1] /*n*/) /*Map::[]*/;
579 variable
[3] = CALL_abstractmetamodel___MMModule_____bra(variable
[3])(variable
[3], variable
[4]) /*MMModule::[]*/;
580 variable
[2] = variable
[3];
582 return_label15
: while(false);
583 tracehead
= trace
.prev
;
586 val_t
abstractmetamodel___MMModule___has_global_class_named(val_t self
, val_t param0
) {
587 struct trace_t trace
= {NULL
, NULL
, 240, LOCATE_abstractmetamodel___MMModule___has_global_class_named
};
589 void **closurevariable
= NULL
;
590 trace
.prev
= tracehead
; tracehead
= &trace
;
591 trace
.file
= LOCATE_abstractmetamodel
;
593 variable
[1] = param0
;
594 variable
[3] = variable
[0];
595 variable
[3] = ATTR_abstractmetamodel___MMModule____global_class_by_name(variable
[3]) /*MMModule::_global_class_by_name*/;
596 variable
[3] = CALL_abstract_collection___Map___has_key(variable
[3])(variable
[3], variable
[1] /*n*/) /*Map::has_key*/;
597 variable
[2] = variable
[3];
599 return_label16
: while(false);
600 tracehead
= trace
.prev
;
603 val_t
abstractmetamodel___MMModule___global_class_named(val_t self
, val_t param0
) {
604 struct trace_t trace
= {NULL
, NULL
, 246, LOCATE_abstractmetamodel___MMModule___global_class_named
};
606 void **closurevariable
= NULL
;
607 trace
.prev
= tracehead
; tracehead
= &trace
;
608 trace
.file
= LOCATE_abstractmetamodel
;
610 variable
[1] = param0
;
611 variable
[3] = variable
[0];
612 variable
[3] = ATTR_abstractmetamodel___MMModule____global_class_by_name(variable
[3]) /*MMModule::_global_class_by_name*/;
613 variable
[3] = CALL_abstract_collection___Map___has_key(variable
[3])(variable
[3], variable
[1] /*n*/) /*Map::has_key*/;
614 if (UNTAG_Bool(variable
[3])) { /*if*/
615 variable
[3] = variable
[0];
616 variable
[3] = ATTR_abstractmetamodel___MMModule____global_class_by_name(variable
[3]) /*MMModule::_global_class_by_name*/;
617 variable
[3] = CALL_abstract_collection___Map_____bra(variable
[3])(variable
[3], variable
[1] /*n*/) /*Map::[]*/;
618 variable
[2] = variable
[3];
621 variable
[2] = NIT_NULL
/*null*/;
624 return_label17
: while(false);
625 tracehead
= trace
.prev
;
628 void abstractmetamodel___MMModule___set_supers_class(val_t self
, val_t param0
, val_t param1
) {
629 struct trace_t trace
= {NULL
, NULL
, 259, LOCATE_abstractmetamodel___MMModule___set_supers_class
};
631 void **closurevariable
= NULL
;
632 trace
.prev
= tracehead
; tracehead
= &trace
;
633 trace
.file
= LOCATE_abstractmetamodel
;
635 variable
[1] = param0
;
636 variable
[2] = param1
;
637 variable
[4] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[2] /*supers*/ == NIT_NULL
/*null*/) || (( variable
[2] /*supers*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[2] /*supers*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[2] /*supers*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[2] /*supers*/)( variable
[2] /*supers*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
638 if (!UNTAG_Bool(variable
[4])) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMModule___set_supers_class
, LOCATE_abstractmetamodel
, 262); nit_exit(1);}
639 variable
[5] = variable
[0];
640 variable
[5] = ATTR_abstractmetamodel___MMModule____class_specialization_hierarchy(variable
[5]) /*MMModule::_class_specialization_hierarchy*/;
641 variable
[5] = CALL_partial_order___PartialOrder___select_smallests(variable
[5])(variable
[5], variable
[2] /*supers*/) /*PartialOrder::select_smallests*/;
642 variable
[4] = variable
[5];
643 variable
[5] = variable
[0];
644 variable
[5] = ATTR_abstractmetamodel___MMModule____class_specialization_hierarchy(variable
[5]) /*MMModule::_class_specialization_hierarchy*/;
645 variable
[5] = CALL_partial_order___PartialOrder___add(variable
[5])(variable
[5], variable
[1] /*c*/, variable
[4] /*tab*/) /*PartialOrder::add*/;
646 ATTR_abstractmetamodel___MMLocalClass____cshe( variable
[1] /*c*/) /*MMLocalClass::_cshe*/ = variable
[5];
647 variable
[6] = CALL_abstractmetamodel___MMLocalClass___crhe( variable
[1] /*c*/)( variable
[1] /*c*/) /*MMLocalClass::crhe*/;
648 variable
[6] = CALL_partial_order___PartialOrderElement___direct_greaters(variable
[6])(variable
[6]) /*PartialOrderElement::direct_greaters*/;
649 variable
[6] = CALL_array___Collection___to_a(variable
[6])(variable
[6]) /*Collection::to_a*/;
650 variable
[5] = variable
[6];
651 CALL_abstract_collection___SimpleCollection___add_all( variable
[5] /*tab_all*/)( variable
[5] /*tab_all*/, variable
[4] /*tab*/) /*SimpleCollection::add_all*/;
652 variable
[6] = variable
[0];
653 variable
[6] = CALL_abstractmetamodel___MMModule___context(variable
[6])(variable
[6]) /*MMModule::context*/;
654 CALL_abstractmetamodel___MMContext___add_local_class(variable
[6])(variable
[6], variable
[1] /*c*/, variable
[5] /*tab_all*/) /*MMContext::add_local_class*/;
655 return_label18
: while(false);
656 tracehead
= trace
.prev
;
659 void abstractmetamodel___MMModule___register_global_class(val_t self
, val_t param0
) {
660 struct trace_t trace
= {NULL
, NULL
, 270, LOCATE_abstractmetamodel___MMModule___register_global_class
};
662 void **closurevariable
= NULL
;
663 trace
.prev
= tracehead
; tracehead
= &trace
;
664 trace
.file
= LOCATE_abstractmetamodel
;
666 variable
[1] = param0
;
667 variable
[3] = CALL_abstractmetamodel___MMLocalClass___global( variable
[1] /*c*/)( variable
[1] /*c*/) /*MMLocalClass::global*/;
668 variable
[3] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[3] == NIT_NULL
/*null*/) || ((variable
[3] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[3])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[3], NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[3])(variable
[3], NIT_NULL
/*null*/) /*Object::==*/)))))));
669 if (!UNTAG_Bool(variable
[3])) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMModule___register_global_class
, LOCATE_abstractmetamodel
, 273); nit_exit(1);}
670 variable
[3] = variable
[0];
671 variable
[3] = ATTR_abstractmetamodel___MMModule____local_class_by_global(variable
[3]) /*MMModule::_local_class_by_global*/;
672 variable
[4] = CALL_abstractmetamodel___MMLocalClass___global( variable
[1] /*c*/)( variable
[1] /*c*/) /*MMLocalClass::global*/;
673 CALL_abstract_collection___Map_____braeq(variable
[3])(variable
[3], variable
[4], variable
[1] /*c*/) /*Map::[]=*/;
674 return_label19
: while(false);
675 tracehead
= trace
.prev
;
678 val_t
abstractmetamodel___MMGlobalClass___to_s(val_t self
) {
679 struct trace_t trace
= {NULL
, NULL
, 305, LOCATE_abstractmetamodel___MMGlobalClass___to_s
};
681 void **closurevariable
= NULL
;
682 trace
.prev
= tracehead
; tracehead
= &trace
;
683 trace
.file
= LOCATE_abstractmetamodel
;
685 variable
[2] = variable
[0];
686 variable
[2] = CALL_abstractmetamodel___MMGlobalClass___intro(variable
[2])(variable
[2]) /*MMGlobalClass::intro*/;
687 variable
[2] = CALL_string___Object___to_s(variable
[2])(variable
[2]) /*MMLocalClass::to_s*/;
688 variable
[1] = variable
[2];
690 return_label20
: while(false);
691 tracehead
= trace
.prev
;
694 val_t
abstractmetamodel___MMGlobalClass___intro(val_t self
) {
695 struct trace_t trace
= {NULL
, NULL
, 279, LOCATE_abstractmetamodel___MMGlobalClass___intro
};
696 val_t
*variable
= NULL
;
697 void **closurevariable
= NULL
;
698 trace
.prev
= tracehead
; tracehead
= &trace
;
699 trace
.file
= LOCATE_abstractmetamodel
;
700 tracehead
= trace
.prev
;
701 return ATTR_abstractmetamodel___MMGlobalClass____intro( self
) /*MMGlobalClass::_intro*/;
703 val_t
abstractmetamodel___MMGlobalClass___class_refinement_hierarchy(val_t self
) {
704 struct trace_t trace
= {NULL
, NULL
, 282, LOCATE_abstractmetamodel___MMGlobalClass___class_refinement_hierarchy
};
705 val_t
*variable
= NULL
;
706 void **closurevariable
= NULL
;
707 trace
.prev
= tracehead
; tracehead
= &trace
;
708 trace
.file
= LOCATE_abstractmetamodel
;
709 tracehead
= trace
.prev
;
710 return ATTR_abstractmetamodel___MMGlobalClass____class_refinement_hierarchy( self
) /*MMGlobalClass::_class_refinement_hierarchy*/;
712 void abstractmetamodel___MMGlobalClass___init(val_t self
, val_t param0
, int* init_table
) {
713 struct trace_t trace
= {NULL
, NULL
, 286, LOCATE_abstractmetamodel___MMGlobalClass___init
};
715 void **closurevariable
= NULL
;
716 trace
.prev
= tracehead
; tracehead
= &trace
;
717 trace
.file
= LOCATE_abstractmetamodel
;
719 variable
[1] = param0
;
720 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_MMGlobalClass
].i
]) return;
721 variable
[3] = variable
[0];
722 ATTR_abstractmetamodel___MMGlobalClass____intro(variable
[3]) /*MMGlobalClass::_intro*/ = variable
[1] /*c*/;
723 variable
[3] = CALL_abstractmetamodel___MMLocalClass___context( variable
[1] /*c*/)( variable
[1] /*c*/) /*MMLocalClass::context*/;
724 variable
[4] = variable
[0];
725 CALL_abstractmetamodel___MMContext___add_global_class(variable
[3])(variable
[3], variable
[4]) /*MMContext::add_global_class*/;
726 return_label21
: while(false);
727 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_MMGlobalClass
].i
] = 1;
728 tracehead
= trace
.prev
;
731 val_t
abstractmetamodel___MMGlobalClass___name(val_t self
) {
732 struct trace_t trace
= {NULL
, NULL
, 293, LOCATE_abstractmetamodel___MMGlobalClass___name
};
734 void **closurevariable
= NULL
;
735 trace
.prev
= tracehead
; tracehead
= &trace
;
736 trace
.file
= LOCATE_abstractmetamodel
;
738 variable
[2] = variable
[0];
739 variable
[2] = CALL_abstractmetamodel___MMGlobalClass___intro(variable
[2])(variable
[2]) /*MMGlobalClass::intro*/;
740 variable
[2] = CALL_abstractmetamodel___MMLocalClass___name(variable
[2])(variable
[2]) /*MMLocalClass::name*/;
741 variable
[1] = variable
[2];
743 return_label22
: while(false);
744 tracehead
= trace
.prev
;
747 val_t
abstractmetamodel___MMGlobalClass___module(val_t self
) {
748 struct trace_t trace
= {NULL
, NULL
, 299, LOCATE_abstractmetamodel___MMGlobalClass___module
};
750 void **closurevariable
= NULL
;
751 trace
.prev
= tracehead
; tracehead
= &trace
;
752 trace
.file
= LOCATE_abstractmetamodel
;
754 variable
[2] = variable
[0];
755 variable
[2] = CALL_abstractmetamodel___MMGlobalClass___intro(variable
[2])(variable
[2]) /*MMGlobalClass::intro*/;
756 variable
[2] = CALL_abstractmetamodel___MMLocalClass___module(variable
[2])(variable
[2]) /*MMLocalClass::module*/;
757 variable
[1] = variable
[2];
759 return_label23
: while(false);
760 tracehead
= trace
.prev
;
763 void abstractmetamodel___MMGlobalClass___register_local_class(val_t self
, val_t param0
) {
764 struct trace_t trace
= {NULL
, NULL
, 310, LOCATE_abstractmetamodel___MMGlobalClass___register_local_class
};
766 void **closurevariable
= NULL
;
767 trace
.prev
= tracehead
; tracehead
= &trace
;
768 trace
.file
= LOCATE_abstractmetamodel
;
770 variable
[1] = param0
;
771 variable
[3] = CALL_abstractmetamodel___MMLocalClass___module( variable
[1] /*c*/)( variable
[1] /*c*/) /*MMLocalClass::module*/;
772 variable
[3] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[3] == NIT_NULL
/*null*/) || ((variable
[3] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[3])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[3], NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[3])(variable
[3], NIT_NULL
/*null*/) /*Object::==*/)))))));
773 if (!UNTAG_Bool(variable
[3])) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMGlobalClass___register_local_class
, LOCATE_abstractmetamodel
, 313); nit_exit(1);}
774 variable
[3] = CALL_abstractmetamodel___MMLocalClass___crhe( variable
[1] /*c*/)( variable
[1] /*c*/) /*MMLocalClass::crhe*/;
775 variable
[3] = TAG_Bool((variable
[3] == NIT_NULL
/*null*/) || ((variable
[3] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[3])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[3], NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[3])(variable
[3], NIT_NULL
/*null*/) /*Object::==*/)))));
776 if (!UNTAG_Bool(variable
[3])) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMGlobalClass___register_local_class
, LOCATE_abstractmetamodel
, 314); nit_exit(1);}
777 variable
[4] = NEW_Array_array___Array___init(); /*new Array[MMLocalClass]*/
778 variable
[3] = variable
[4];
779 variable
[4] = variable
[0];
780 variable
[4] = CALL_abstractmetamodel___MMGlobalClass___class_refinement_hierarchy(variable
[4])(variable
[4]) /*MMGlobalClass::class_refinement_hierarchy*/;
781 variable
[4] = CALL_abstract_collection___Collection___iterator(variable
[4])(variable
[4]) /*PartialOrder::iterator*/;
782 while (true) { /*for*/
783 variable
[5] = CALL_abstract_collection___Iterator___is_ok(variable
[4])(variable
[4]) /*Iterator::is_ok*/;
784 if (!UNTAG_Bool(variable
[5])) break; /*for*/
785 variable
[5] = CALL_abstract_collection___Iterator___item(variable
[4])(variable
[4]) /*Iterator::item*/;
786 variable
[6] = variable
[5];
787 variable
[7] = CALL_abstractmetamodel___MMLocalClass___module( variable
[1] /*c*/)( variable
[1] /*c*/) /*MMLocalClass::module*/;
788 variable
[7] = CALL_abstractmetamodel___MMModule___mhe(variable
[7])(variable
[7]) /*MMModule::mhe*/;
789 variable
[8] = CALL_abstractmetamodel___MMLocalClass___module( variable
[6] /*s*/)( variable
[6] /*s*/) /*MMLocalClass::module*/;
790 variable
[7] = CALL_partial_order___PartialOrderElement_____l(variable
[7])(variable
[7], variable
[8]) /*PartialOrderElement::<*/;
791 variable
[8] = variable
[7];
792 if (UNTAG_Bool(variable
[8])) { /* and */
793 variable
[8] = TAG_Bool(( variable
[6] /*s*/==NIT_NULL
) || VAL_ISA( variable
[6] /*s*/, COLOR_MMConcreteClass
, ID_MMConcreteClass
)) /*cast MMConcreteClass*/;
795 variable
[7] = variable
[8];
796 if (UNTAG_Bool(variable
[7])) { /*if*/
797 CALL_abstract_collection___SimpleCollection___add( variable
[3] /*sup*/)( variable
[3] /*sup*/, variable
[6] /*s*/) /*AbstractArray::add*/;
799 continue_25
: while(0);
800 CALL_abstract_collection___Iterator___next(variable
[4])(variable
[4]) /*Iterator::next*/;
803 variable
[4] = variable
[0];
804 variable
[4] = ATTR_abstractmetamodel___MMGlobalClass____class_refinement_hierarchy(variable
[4]) /*MMGlobalClass::_class_refinement_hierarchy*/;
805 variable
[4] = CALL_partial_order___PartialOrder___add(variable
[4])(variable
[4], variable
[1] /*c*/, variable
[3] /*sup*/) /*PartialOrder::add*/;
806 ATTR_abstractmetamodel___MMLocalClass____crhe( variable
[1] /*c*/) /*MMLocalClass::_crhe*/ = variable
[4];
807 return_label24
: while(false);
808 tracehead
= trace
.prev
;
811 val_t
abstractmetamodel___MMGlobalClass___is_interface(val_t self
) {
812 struct trace_t trace
= {NULL
, NULL
, 324, LOCATE_abstractmetamodel___MMGlobalClass___is_interface
};
813 val_t
*variable
= NULL
;
814 void **closurevariable
= NULL
;
815 trace
.prev
= tracehead
; tracehead
= &trace
;
816 trace
.file
= LOCATE_abstractmetamodel
;
817 tracehead
= trace
.prev
;
818 return ATTR_abstractmetamodel___MMGlobalClass____is_interface( self
) /*MMGlobalClass::_is_interface*/;
820 void abstractmetamodel___MMGlobalClass___is_interface__eq(val_t self
, val_t param0
) {
821 struct trace_t trace
= {NULL
, NULL
, 324, LOCATE_abstractmetamodel___MMGlobalClass___is_interface__eq
};
822 val_t
*variable
= NULL
;
823 void **closurevariable
= NULL
;
824 trace
.prev
= tracehead
; tracehead
= &trace
;
825 trace
.file
= LOCATE_abstractmetamodel
;
826 ATTR_abstractmetamodel___MMGlobalClass____is_interface( self
) /*MMGlobalClass::_is_interface*/ = param0
;
827 tracehead
= trace
.prev
;
830 val_t
abstractmetamodel___MMGlobalClass___is_abstract(val_t self
) {
831 struct trace_t trace
= {NULL
, NULL
, 327, LOCATE_abstractmetamodel___MMGlobalClass___is_abstract
};
832 val_t
*variable
= NULL
;
833 void **closurevariable
= NULL
;
834 trace
.prev
= tracehead
; tracehead
= &trace
;
835 trace
.file
= LOCATE_abstractmetamodel
;
836 tracehead
= trace
.prev
;
837 return ATTR_abstractmetamodel___MMGlobalClass____is_abstract( self
) /*MMGlobalClass::_is_abstract*/;
839 void abstractmetamodel___MMGlobalClass___is_abstract__eq(val_t self
, val_t param0
) {
840 struct trace_t trace
= {NULL
, NULL
, 327, LOCATE_abstractmetamodel___MMGlobalClass___is_abstract__eq
};
841 val_t
*variable
= NULL
;
842 void **closurevariable
= NULL
;
843 trace
.prev
= tracehead
; tracehead
= &trace
;
844 trace
.file
= LOCATE_abstractmetamodel
;
845 ATTR_abstractmetamodel___MMGlobalClass____is_abstract( self
) /*MMGlobalClass::_is_abstract*/ = param0
;
846 tracehead
= trace
.prev
;
849 val_t
abstractmetamodel___MMGlobalClass___is_universal(val_t self
) {
850 struct trace_t trace
= {NULL
, NULL
, 330, LOCATE_abstractmetamodel___MMGlobalClass___is_universal
};
851 val_t
*variable
= NULL
;
852 void **closurevariable
= NULL
;
853 trace
.prev
= tracehead
; tracehead
= &trace
;
854 trace
.file
= LOCATE_abstractmetamodel
;
855 tracehead
= trace
.prev
;
856 return ATTR_abstractmetamodel___MMGlobalClass____is_universal( self
) /*MMGlobalClass::_is_universal*/;
858 void abstractmetamodel___MMGlobalClass___is_universal__eq(val_t self
, val_t param0
) {
859 struct trace_t trace
= {NULL
, NULL
, 330, LOCATE_abstractmetamodel___MMGlobalClass___is_universal__eq
};
860 val_t
*variable
= NULL
;
861 void **closurevariable
= NULL
;
862 trace
.prev
= tracehead
; tracehead
= &trace
;
863 trace
.file
= LOCATE_abstractmetamodel
;
864 ATTR_abstractmetamodel___MMGlobalClass____is_universal( self
) /*MMGlobalClass::_is_universal*/ = param0
;
865 tracehead
= trace
.prev
;
868 val_t
abstractmetamodel___MMGlobalClass___visibility_level(val_t self
) {
869 struct trace_t trace
= {NULL
, NULL
, 333, LOCATE_abstractmetamodel___MMGlobalClass___visibility_level
};
870 val_t
*variable
= NULL
;
871 void **closurevariable
= NULL
;
872 trace
.prev
= tracehead
; tracehead
= &trace
;
873 trace
.file
= LOCATE_abstractmetamodel
;
874 tracehead
= trace
.prev
;
875 return ATTR_abstractmetamodel___MMGlobalClass____visibility_level( self
) /*MMGlobalClass::_visibility_level*/;
877 void abstractmetamodel___MMGlobalClass___visibility_level__eq(val_t self
, val_t param0
) {
878 struct trace_t trace
= {NULL
, NULL
, 333, LOCATE_abstractmetamodel___MMGlobalClass___visibility_level__eq
};
879 val_t
*variable
= NULL
;
880 void **closurevariable
= NULL
;
881 trace
.prev
= tracehead
; tracehead
= &trace
;
882 trace
.file
= LOCATE_abstractmetamodel
;
883 ATTR_abstractmetamodel___MMGlobalClass____visibility_level( self
) /*MMGlobalClass::_visibility_level*/ = param0
;
884 tracehead
= trace
.prev
;
887 val_t
abstractmetamodel___MMGlobalClass___is_mixin(val_t self
) {
888 struct trace_t trace
= {NULL
, NULL
, 338, LOCATE_abstractmetamodel___MMGlobalClass___is_mixin
};
890 void **closurevariable
= NULL
;
891 trace
.prev
= tracehead
; tracehead
= &trace
;
892 trace
.file
= LOCATE_abstractmetamodel
;
894 variable
[2] = variable
[0];
895 variable
[2] = ATTR_abstractmetamodel___MMGlobalClass____mixin_of(variable
[2]) /*MMGlobalClass::_mixin_of*/;
896 variable
[3] = variable
[0];
897 variable
[2] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[2] == variable
[3]) || ((variable
[2] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[2])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[2],variable
[3])):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[2])(variable
[2], variable
[3]) /*Object::==*/)))))));
898 variable
[1] = variable
[2];
900 return_label26
: while(false);
901 tracehead
= trace
.prev
;
904 val_t
abstractmetamodel___MMGlobalClass___mixin_of(val_t self
) {
905 struct trace_t trace
= {NULL
, NULL
, 345, LOCATE_abstractmetamodel___MMGlobalClass___mixin_of
};
906 val_t
*variable
= NULL
;
907 void **closurevariable
= NULL
;
908 trace
.prev
= tracehead
; tracehead
= &trace
;
909 trace
.file
= LOCATE_abstractmetamodel
;
910 tracehead
= trace
.prev
;
911 return ATTR_abstractmetamodel___MMGlobalClass____mixin_of( self
) /*MMGlobalClass::_mixin_of*/;
913 void abstractmetamodel___MMGlobalClass___mixin_of__eq(val_t self
, val_t param0
) {
914 struct trace_t trace
= {NULL
, NULL
, 345, LOCATE_abstractmetamodel___MMGlobalClass___mixin_of__eq
};
915 val_t
*variable
= NULL
;
916 void **closurevariable
= NULL
;
917 trace
.prev
= tracehead
; tracehead
= &trace
;
918 trace
.file
= LOCATE_abstractmetamodel
;
919 ATTR_abstractmetamodel___MMGlobalClass____mixin_of( self
) /*MMGlobalClass::_mixin_of*/ = param0
;
920 tracehead
= trace
.prev
;
923 val_t
abstractmetamodel___MMLocalClass___to_s(val_t self
) {
924 struct trace_t trace
= {NULL
, NULL
, 540, LOCATE_abstractmetamodel___MMLocalClass___to_s
};
926 void **closurevariable
= NULL
;
927 trace
.prev
= tracehead
; tracehead
= &trace
;
928 trace
.file
= LOCATE_abstractmetamodel
;
930 variable
[2] = variable
[0];
931 variable
[2] = ATTR_abstractmetamodel___MMLocalClass____name(variable
[2]) /*MMLocalClass::_name*/;
932 variable
[2] = CALL_string___Object___to_s(variable
[2])(variable
[2]) /*Symbol::to_s*/;
933 variable
[1] = variable
[2];
935 return_label27
: while(false);
936 tracehead
= trace
.prev
;
939 val_t
abstractmetamodel___MMLocalClass___name(val_t self
) {
940 struct trace_t trace
= {NULL
, NULL
, 354, LOCATE_abstractmetamodel___MMLocalClass___name
};
941 val_t
*variable
= NULL
;
942 void **closurevariable
= NULL
;
943 trace
.prev
= tracehead
; tracehead
= &trace
;
944 trace
.file
= LOCATE_abstractmetamodel
;
945 tracehead
= trace
.prev
;
946 return ATTR_abstractmetamodel___MMLocalClass____name( self
) /*MMLocalClass::_name*/;
948 val_t
abstractmetamodel___MMLocalClass___arity(val_t self
) {
949 struct trace_t trace
= {NULL
, NULL
, 357, LOCATE_abstractmetamodel___MMLocalClass___arity
};
950 val_t
*variable
= NULL
;
951 void **closurevariable
= NULL
;
952 trace
.prev
= tracehead
; tracehead
= &trace
;
953 trace
.file
= LOCATE_abstractmetamodel
;
954 tracehead
= trace
.prev
;
955 return ATTR_abstractmetamodel___MMLocalClass____arity( self
) /*MMLocalClass::_arity*/;
957 val_t
abstractmetamodel___MMLocalClass___module(val_t self
) {
958 struct trace_t trace
= {NULL
, NULL
, 361, LOCATE_abstractmetamodel___MMLocalClass___module
};
959 val_t
*variable
= NULL
;
960 void **closurevariable
= NULL
;
961 trace
.prev
= tracehead
; tracehead
= &trace
;
962 trace
.file
= LOCATE_abstractmetamodel
;
963 tracehead
= trace
.prev
;
964 return ATTR_abstractmetamodel___MMLocalClass____module( self
) /*MMLocalClass::_module*/;
966 val_t
abstractmetamodel___MMLocalClass___global(val_t self
) {
967 struct trace_t trace
= {NULL
, NULL
, 364, LOCATE_abstractmetamodel___MMLocalClass___global
};
968 val_t
*variable
= NULL
;
969 void **closurevariable
= NULL
;
970 trace
.prev
= tracehead
; tracehead
= &trace
;
971 trace
.file
= LOCATE_abstractmetamodel
;
972 tracehead
= trace
.prev
;
973 return ATTR_abstractmetamodel___MMLocalClass____global( self
) /*MMLocalClass::_global*/;
975 val_t
abstractmetamodel___MMLocalClass___crhe(val_t self
) {
976 struct trace_t trace
= {NULL
, NULL
, 367, LOCATE_abstractmetamodel___MMLocalClass___crhe
};
977 val_t
*variable
= NULL
;
978 void **closurevariable
= NULL
;
979 trace
.prev
= tracehead
; tracehead
= &trace
;
980 trace
.file
= LOCATE_abstractmetamodel
;
981 tracehead
= trace
.prev
;
982 return ATTR_abstractmetamodel___MMLocalClass____crhe( self
) /*MMLocalClass::_crhe*/;
984 val_t
abstractmetamodel___MMLocalClass___cshe(val_t self
) {
985 struct trace_t trace
= {NULL
, NULL
, 370, LOCATE_abstractmetamodel___MMLocalClass___cshe
};
986 val_t
*variable
= NULL
;
987 void **closurevariable
= NULL
;
988 trace
.prev
= tracehead
; tracehead
= &trace
;
989 trace
.file
= LOCATE_abstractmetamodel
;
990 tracehead
= trace
.prev
;
991 return ATTR_abstractmetamodel___MMLocalClass____cshe( self
) /*MMLocalClass::_cshe*/;
993 val_t
abstractmetamodel___MMLocalClass___che(val_t self
) {
994 struct trace_t trace
= {NULL
, NULL
, 373, LOCATE_abstractmetamodel___MMLocalClass___che
};
995 val_t
*variable
= NULL
;
996 void **closurevariable
= NULL
;
997 trace
.prev
= tracehead
; tracehead
= &trace
;
998 trace
.file
= LOCATE_abstractmetamodel
;
999 tracehead
= trace
.prev
;
1000 return ATTR_abstractmetamodel___MMLocalClass____che( self
) /*MMLocalClass::_che*/;
1002 val_t
abstractmetamodel___MMLocalClass___local_property_by_global(val_t self
) {
1003 struct trace_t trace
= {NULL
, NULL
, 376, LOCATE_abstractmetamodel___MMLocalClass___local_property_by_global
};
1004 val_t
*variable
= NULL
;
1005 void **closurevariable
= NULL
;
1006 trace
.prev
= tracehead
; tracehead
= &trace
;
1007 trace
.file
= LOCATE_abstractmetamodel
;
1008 tracehead
= trace
.prev
;
1009 return ATTR_abstractmetamodel___MMLocalClass____local_property_by_global( self
) /*MMLocalClass::_local_property_by_global*/;
1011 val_t
abstractmetamodel___MMLocalClass___global_properties(val_t self
) {
1012 struct trace_t trace
= {NULL
, NULL
, 379, LOCATE_abstractmetamodel___MMLocalClass___global_properties
};
1013 val_t
*variable
= NULL
;
1014 void **closurevariable
= NULL
;
1015 trace
.prev
= tracehead
; tracehead
= &trace
;
1016 trace
.file
= LOCATE_abstractmetamodel
;
1017 tracehead
= trace
.prev
;
1018 return ATTR_abstractmetamodel___MMLocalClass____global_properties( self
) /*MMLocalClass::_global_properties*/;
1020 val_t
abstractmetamodel___MMLocalClass___properties_by_name(val_t self
) {
1021 struct trace_t trace
= {NULL
, NULL
, 382, LOCATE_abstractmetamodel___MMLocalClass___properties_by_name
};
1022 val_t
*variable
= NULL
;
1023 void **closurevariable
= NULL
;
1024 trace
.prev
= tracehead
; tracehead
= &trace
;
1025 trace
.file
= LOCATE_abstractmetamodel
;
1026 tracehead
= trace
.prev
;
1027 return ATTR_abstractmetamodel___MMLocalClass____properties_by_name( self
) /*MMLocalClass::_properties_by_name*/;
1029 void abstractmetamodel___MMLocalClass___init(val_t self
, val_t param0
, val_t param1
, int* init_table
) {
1030 struct trace_t trace
= {NULL
, NULL
, 385, LOCATE_abstractmetamodel___MMLocalClass___init
};
1032 void **closurevariable
= NULL
;
1033 trace
.prev
= tracehead
; tracehead
= &trace
;
1034 trace
.file
= LOCATE_abstractmetamodel
;
1036 variable
[1] = param0
;
1037 variable
[2] = param1
;
1038 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_MMLocalClass
].i
]) return;
1039 variable
[4] = variable
[0];
1040 ATTR_abstractmetamodel___MMLocalClass____name(variable
[4]) /*MMLocalClass::_name*/ = variable
[1] /*name*/;
1041 variable
[4] = variable
[0];
1042 ATTR_abstractmetamodel___MMLocalClass____arity(variable
[4]) /*MMLocalClass::_arity*/ = variable
[2] /*arity*/;
1043 return_label28
: while(false);
1044 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_MMLocalClass
].i
] = 1;
1045 tracehead
= trace
.prev
;
1048 val_t
abstractmetamodel___MMLocalClass___for_module(val_t self
, val_t param0
) {
1049 struct trace_t trace
= {NULL
, NULL
, 392, LOCATE_abstractmetamodel___MMLocalClass___for_module
};
1051 void **closurevariable
= NULL
;
1052 trace
.prev
= tracehead
; tracehead
= &trace
;
1053 trace
.file
= LOCATE_abstractmetamodel
;
1055 variable
[1] = param0
;
1056 variable
[3] = variable
[0];
1057 variable
[3] = CALL_abstractmetamodel___MMLocalClass___global(variable
[3])(variable
[3]) /*MMLocalClass::global*/;
1058 variable
[3] = CALL_abstractmetamodel___MMModule_____bra( variable
[1] /*m*/)( variable
[1] /*m*/, variable
[3]) /*MMModule::[]*/;
1059 variable
[2] = variable
[3];
1060 goto return_label29
;
1061 return_label29
: while(false);
1062 tracehead
= trace
.prev
;
1065 void abstractmetamodel___MMLocalClass___new_global(val_t self
) {
1066 struct trace_t trace
= {NULL
, NULL
, 398, LOCATE_abstractmetamodel___MMLocalClass___new_global
};
1068 void **closurevariable
= NULL
;
1069 trace
.prev
= tracehead
; tracehead
= &trace
;
1070 trace
.file
= LOCATE_abstractmetamodel
;
1072 variable
[3] = variable
[0];
1073 variable
[4] = NEW_MMGlobalClass_abstractmetamodel___MMGlobalClass___init(variable
[3]); /*new MMGlobalClass*/
1074 variable
[3] = variable
[4];
1075 variable
[2] = variable
[3];
1076 variable
[3] = variable
[0];
1077 variable
[3] = ATTR_abstractmetamodel___MMLocalClass____module(variable
[3]) /*MMLocalClass::_module*/;
1078 variable
[3] = ATTR_abstractmetamodel___MMModule____global_classes(variable
[3]) /*MMModule::_global_classes*/;
1079 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[2] /*g*/) /*AbstractArray::add*/;
1080 variable
[3] = variable
[0];
1081 variable
[3] = ATTR_abstractmetamodel___MMLocalClass____module(variable
[3]) /*MMLocalClass::_module*/;
1082 variable
[3] = ATTR_abstractmetamodel___MMModule____global_class_by_name(variable
[3]) /*MMModule::_global_class_by_name*/;
1083 variable
[4] = variable
[0];
1084 variable
[4] = CALL_abstractmetamodel___MMLocalClass___name(variable
[4])(variable
[4]) /*MMLocalClass::name*/;
1085 CALL_abstract_collection___Map_____braeq(variable
[3])(variable
[3], variable
[4], variable
[2] /*g*/) /*Map::[]=*/;
1086 variable
[3] = variable
[0];
1087 CALL_abstractmetamodel___MMLocalClass___set_global(variable
[3])(variable
[3], variable
[2] /*g*/) /*MMLocalClass::set_global*/;
1088 return_label30
: while(false);
1089 tracehead
= trace
.prev
;
1092 void abstractmetamodel___MMLocalClass___set_global(val_t self
, val_t param0
) {
1093 struct trace_t trace
= {NULL
, NULL
, 407, LOCATE_abstractmetamodel___MMLocalClass___set_global
};
1095 void **closurevariable
= NULL
;
1096 trace
.prev
= tracehead
; tracehead
= &trace
;
1097 trace
.file
= LOCATE_abstractmetamodel
;
1099 variable
[1] = param0
;
1100 variable
[3] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[1] /*g*/ == NIT_NULL
/*null*/) || (( variable
[1] /*g*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[1] /*g*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[1] /*g*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[1] /*g*/)( variable
[1] /*g*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
1101 if (!UNTAG_Bool(variable
[3])) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMLocalClass___set_global
, LOCATE_abstractmetamodel
, 412); nit_exit(1);}
1102 variable
[3] = variable
[0];
1103 ATTR_abstractmetamodel___MMLocalClass____global(variable
[3]) /*MMLocalClass::_global*/ = variable
[1] /*g*/;
1104 variable
[3] = variable
[0];
1105 variable
[3] = ATTR_abstractmetamodel___MMLocalClass____global(variable
[3]) /*MMLocalClass::_global*/;
1106 variable
[4] = variable
[0];
1107 CALL_abstractmetamodel___MMGlobalClass___register_local_class(variable
[3])(variable
[3], variable
[4]) /*MMGlobalClass::register_local_class*/;
1108 variable
[3] = variable
[0];
1109 variable
[3] = ATTR_abstractmetamodel___MMLocalClass____module(variable
[3]) /*MMLocalClass::_module*/;
1110 variable
[4] = variable
[0];
1111 CALL_abstractmetamodel___MMModule___register_global_class(variable
[3])(variable
[3], variable
[4]) /*MMModule::register_global_class*/;
1112 return_label31
: while(false);
1113 tracehead
= trace
.prev
;
1116 val_t
abstractmetamodel___MMLocalClass___has_global_property_by_name(val_t self
, val_t param0
) {
1117 struct trace_t trace
= {NULL
, NULL
, 418, LOCATE_abstractmetamodel___MMLocalClass___has_global_property_by_name
};
1119 void **closurevariable
= NULL
;
1120 trace
.prev
= tracehead
; tracehead
= &trace
;
1121 trace
.file
= LOCATE_abstractmetamodel
;
1123 variable
[1] = param0
;
1124 variable
[4] = variable
[0];
1125 variable
[4] = ATTR_abstractmetamodel___MMLocalClass____properties_by_name(variable
[4]) /*MMLocalClass::_properties_by_name*/;
1126 variable
[4] = CALL_abstract_collection___Map_____bra(variable
[4])(variable
[4], variable
[1] /*n*/) /*Map::[]*/;
1127 variable
[3] = variable
[4];
1128 variable
[4] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[3] /*props*/ == NIT_NULL
/*null*/) || (( variable
[3] /*props*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[3] /*props*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[3] /*props*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[3] /*props*/)( variable
[3] /*props*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
1129 variable
[2] = variable
[4];
1130 goto return_label32
;
1131 return_label32
: while(false);
1132 tracehead
= trace
.prev
;
1135 val_t
abstractmetamodel___MMLocalClass___get_property_by_name(val_t self
, val_t param0
) {
1136 struct trace_t trace
= {NULL
, NULL
, 426, LOCATE_abstractmetamodel___MMLocalClass___get_property_by_name
};
1138 void **closurevariable
= NULL
;
1139 trace
.prev
= tracehead
; tracehead
= &trace
;
1140 trace
.file
= LOCATE_abstractmetamodel
;
1142 variable
[1] = param0
;
1143 variable
[4] = variable
[0];
1144 variable
[4] = ATTR_abstractmetamodel___MMLocalClass____properties_by_name(variable
[4]) /*MMLocalClass::_properties_by_name*/;
1145 variable
[4] = CALL_abstract_collection___Map_____bra(variable
[4])(variable
[4], variable
[1] /*n*/) /*Map::[]*/;
1146 variable
[3] = variable
[4];
1147 variable
[4] = TAG_Bool(( variable
[3] /*props*/ == NIT_NULL
/*null*/) || (( variable
[3] /*props*/ != NIT_NULL
) && UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[3] /*props*/)( variable
[3] /*props*/, NIT_NULL
/*null*/) /*AbstractArray::==*/)));
1148 variable
[5] = variable
[4];
1149 if (!UNTAG_Bool(variable
[5])) { /* or */
1150 variable
[5] = CALL_abstract_collection___Collection___length( variable
[3] /*props*/)( variable
[3] /*props*/) /*AbstractArray::length*/;
1151 variable
[5] = TAG_Bool(UNTAG_Int(variable
[5])>UNTAG_Int( TAG_Int(1)));
1153 variable
[4] = variable
[5];
1154 if (UNTAG_Bool(variable
[4])) { /*if*/
1155 variable
[2] = NIT_NULL
/*null*/;
1156 goto return_label33
;
1158 variable
[4] = CALL_abstract_collection___Collection___first( variable
[3] /*props*/)( variable
[3] /*props*/) /*IndexedCollection::first*/;
1159 variable
[2] = variable
[4];
1160 goto return_label33
;
1161 return_label33
: while(false);
1162 tracehead
= trace
.prev
;
1165 val_t
abstractmetamodel___MMLocalClass___attribute(val_t self
, val_t param0
) {
1166 struct trace_t trace
= {NULL
, NULL
, 437, LOCATE_abstractmetamodel___MMLocalClass___attribute
};
1168 void **closurevariable
= NULL
;
1169 trace
.prev
= tracehead
; tracehead
= &trace
;
1170 trace
.file
= LOCATE_abstractmetamodel
;
1172 variable
[1] = param0
;
1173 variable
[3] = variable
[0];
1174 variable
[3] = CALL_abstractmetamodel___MMLocalClass___get_property_by_name(variable
[3])(variable
[3], variable
[1] /*a*/) /*MMLocalClass::get_property_by_name*/;
1175 variable
[2] = variable
[3];
1176 goto return_label34
;
1177 return_label34
: while(false);
1178 tracehead
= trace
.prev
;
1181 val_t
abstractmetamodel___MMLocalClass___method(val_t self
, val_t param0
) {
1182 struct trace_t trace
= {NULL
, NULL
, 444, LOCATE_abstractmetamodel___MMLocalClass___method
};
1184 void **closurevariable
= NULL
;
1185 trace
.prev
= tracehead
; tracehead
= &trace
;
1186 trace
.file
= LOCATE_abstractmetamodel
;
1188 variable
[1] = param0
;
1189 variable
[3] = variable
[0];
1190 variable
[3] = ATTR_abstractmetamodel___MMLocalClass____properties_by_name(variable
[3]) /*MMLocalClass::_properties_by_name*/;
1191 variable
[3] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[3] == NIT_NULL
/*null*/) || ((variable
[3] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[3])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[3], NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[3])(variable
[3], NIT_NULL
/*null*/) /*Object::==*/)))))));
1192 if (!UNTAG_Bool(variable
[3])) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMLocalClass___method
, LOCATE_abstractmetamodel
, 448); nit_exit(1);}
1193 variable
[4] = variable
[0];
1194 variable
[4] = ATTR_abstractmetamodel___MMLocalClass____properties_by_name(variable
[4]) /*MMLocalClass::_properties_by_name*/;
1195 variable
[4] = CALL_abstract_collection___Map_____bra(variable
[4])(variable
[4], variable
[1] /*na*/) /*Map::[]*/;
1196 variable
[3] = variable
[4];
1197 variable
[4] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[3] /*props*/ == NIT_NULL
/*null*/) || (( variable
[3] /*props*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[3] /*props*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[3] /*props*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[3] /*props*/)( variable
[3] /*props*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
1198 if (UNTAG_Bool(variable
[4])) { /*if*/
1199 variable
[4] = CALL_abstract_collection___Collection___first( variable
[3] /*props*/)( variable
[3] /*props*/) /*IndexedCollection::first*/;
1200 variable
[2] = variable
[4];
1201 goto return_label35
;
1203 variable
[2] = NIT_NULL
/*null*/;
1204 goto return_label35
;
1205 return_label35
: while(false);
1206 tracehead
= trace
.prev
;
1209 val_t
abstractmetamodel___MMLocalClass___select_method(val_t self
, val_t param0
) {
1210 struct trace_t trace
= {NULL
, NULL
, 457, LOCATE_abstractmetamodel___MMLocalClass___select_method
};
1212 void **closurevariable
= NULL
;
1213 trace
.prev
= tracehead
; tracehead
= &trace
;
1214 trace
.file
= LOCATE_abstractmetamodel
;
1216 variable
[1] = param0
;
1217 variable
[3] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[1] /*name*/ == NIT_NULL
/*null*/) || (( variable
[1] /*name*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[1] /*name*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[1] /*name*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[1] /*name*/)( variable
[1] /*name*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
1218 if (!UNTAG_Bool(variable
[3])) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMLocalClass___select_method
, LOCATE_abstractmetamodel
, 461); nit_exit(1);}
1219 variable
[4] = variable
[0];
1220 variable
[4] = CALL_abstractmetamodel___MMLocalClass___method(variable
[4])(variable
[4], variable
[1] /*name*/) /*MMLocalClass::method*/;
1221 variable
[3] = variable
[4];
1222 variable
[4] = TAG_Bool(( variable
[3] /*gp*/ == NIT_NULL
/*null*/) || (( variable
[3] /*gp*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[3] /*gp*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[3] /*gp*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[3] /*gp*/)( variable
[3] /*gp*/, NIT_NULL
/*null*/) /*Object::==*/)))));
1223 if (UNTAG_Bool(variable
[4])) { /*if*/
1224 variable
[2] = NIT_NULL
/*null*/;
1225 goto return_label36
;
1227 variable
[5] = variable
[0];
1228 variable
[5] = CALL_abstractmetamodel___MMLocalClass_____bra(variable
[5])(variable
[5], variable
[3] /*gp*/) /*MMLocalClass::[]*/;
1229 variable
[4] = variable
[5];
1230 variable
[5] = TAG_Bool(( variable
[4] /*res*/==NIT_NULL
) || VAL_ISA( variable
[4] /*res*/, COLOR_MMMethod
, ID_MMMethod
)) /*cast MMMethod*/;
1231 if (!UNTAG_Bool(variable
[5])) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMLocalClass___select_method
, LOCATE_abstractmetamodel
, 465); nit_exit(1);}
1232 variable
[2] = variable
[4] /*res*/;
1233 goto return_label36
;
1234 return_label36
: while(false);
1235 tracehead
= trace
.prev
;
1238 val_t
abstractmetamodel___MMLocalClass___select_attribute(val_t self
, val_t param0
) {
1239 struct trace_t trace
= {NULL
, NULL
, 469, LOCATE_abstractmetamodel___MMLocalClass___select_attribute
};
1241 void **closurevariable
= NULL
;
1242 trace
.prev
= tracehead
; tracehead
= &trace
;
1243 trace
.file
= LOCATE_abstractmetamodel
;
1245 variable
[1] = param0
;
1246 variable
[3] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[1] /*name*/ == NIT_NULL
/*null*/) || (( variable
[1] /*name*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[1] /*name*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[1] /*name*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[1] /*name*/)( variable
[1] /*name*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
1247 if (!UNTAG_Bool(variable
[3])) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMLocalClass___select_attribute
, LOCATE_abstractmetamodel
, 473); nit_exit(1);}
1248 variable
[4] = variable
[0];
1249 variable
[4] = CALL_abstractmetamodel___MMLocalClass___attribute(variable
[4])(variable
[4], variable
[1] /*name*/) /*MMLocalClass::attribute*/;
1250 variable
[3] = variable
[4];
1251 variable
[4] = TAG_Bool(( variable
[3] /*gp*/ == NIT_NULL
/*null*/) || (( variable
[3] /*gp*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[3] /*gp*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[3] /*gp*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[3] /*gp*/)( variable
[3] /*gp*/, NIT_NULL
/*null*/) /*Object::==*/)))));
1252 if (UNTAG_Bool(variable
[4])) { /*if*/
1253 variable
[2] = NIT_NULL
/*null*/;
1254 goto return_label37
;
1256 variable
[5] = variable
[0];
1257 variable
[5] = CALL_abstractmetamodel___MMLocalClass_____bra(variable
[5])(variable
[5], variable
[3] /*gp*/) /*MMLocalClass::[]*/;
1258 variable
[4] = variable
[5];
1259 variable
[5] = TAG_Bool(( variable
[4] /*res*/==NIT_NULL
) || VAL_ISA( variable
[4] /*res*/, COLOR_MMAttribute
, ID_MMAttribute
)) /*cast MMAttribute*/;
1260 if (!UNTAG_Bool(variable
[5])) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMLocalClass___select_attribute
, LOCATE_abstractmetamodel
, 477); nit_exit(1);}
1261 variable
[2] = variable
[4] /*res*/;
1262 goto return_label37
;
1263 return_label37
: while(false);
1264 tracehead
= trace
.prev
;
1267 val_t
abstractmetamodel___MMLocalClass___super_methods_named(val_t self
, val_t param0
) {
1268 struct trace_t trace
= {NULL
, NULL
, 481, LOCATE_abstractmetamodel___MMLocalClass___super_methods_named
};
1270 void **closurevariable
= NULL
;
1271 trace
.prev
= tracehead
; tracehead
= &trace
;
1272 trace
.file
= LOCATE_abstractmetamodel
;
1274 variable
[1] = param0
;
1275 variable
[4] = NEW_Array_array___Array___init(); /*new Array[MMLocalClass]*/
1276 variable
[3] = variable
[4];
1277 variable
[4] = variable
[0];
1278 variable
[4] = CALL_abstractmetamodel___MMLocalClass___cshe(variable
[4])(variable
[4]) /*MMLocalClass::cshe*/;
1279 variable
[4] = CALL_partial_order___PartialOrderElement___greaters(variable
[4])(variable
[4]) /*PartialOrderElement::greaters*/;
1280 variable
[4] = CALL_abstract_collection___Collection___iterator(variable
[4])(variable
[4]) /*Collection::iterator*/;
1281 while (true) { /*for*/
1282 variable
[5] = CALL_abstract_collection___Iterator___is_ok(variable
[4])(variable
[4]) /*Iterator::is_ok*/;
1283 if (!UNTAG_Bool(variable
[5])) break; /*for*/
1284 variable
[5] = CALL_abstract_collection___Iterator___item(variable
[4])(variable
[4]) /*Iterator::item*/;
1285 variable
[6] = variable
[5];
1286 variable
[8] = CALL_abstractmetamodel___MMLocalClass___method( variable
[6] /*c*/)( variable
[6] /*c*/, variable
[1] /*n*/) /*MMLocalClass::method*/;
1287 variable
[7] = variable
[8];
1288 variable
[8] = TAG_Bool(( variable
[7] /*g*/ == NIT_NULL
/*null*/) || (( variable
[7] /*g*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[7] /*g*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[7] /*g*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[7] /*g*/)( variable
[7] /*g*/, NIT_NULL
/*null*/) /*Object::==*/)))));
1289 if (UNTAG_Bool(variable
[8])) { /*if*/
1292 CALL_abstract_collection___SimpleCollection___add( variable
[3] /*classes*/)( variable
[3] /*classes*/, variable
[6] /*c*/) /*AbstractArray::add*/;
1293 continue_39
: while(0);
1294 CALL_abstract_collection___Iterator___next(variable
[4])(variable
[4]) /*Iterator::next*/;
1297 variable
[4] = variable
[0];
1298 variable
[4] = CALL_abstractmetamodel___MMLocalClass___cshe(variable
[4])(variable
[4]) /*MMLocalClass::cshe*/;
1299 variable
[4] = CALL_partial_order___PartialOrderElement___order(variable
[4])(variable
[4]) /*PartialOrderElement::order*/;
1300 variable
[4] = CALL_partial_order___PartialOrder___select_smallests(variable
[4])(variable
[4], variable
[3] /*classes*/) /*PartialOrder::select_smallests*/;
1301 variable
[3] = variable
[4] /*classes=*/;
1302 variable
[5] = NEW_Array_array___Array___init(); /*new Array[MMLocalProperty]*/
1303 variable
[4] = variable
[5];
1304 variable
[5] = CALL_abstract_collection___Collection___iterator( variable
[3] /*classes*/)( variable
[3] /*classes*/) /*AbstractArray::iterator*/;
1305 while (true) { /*for*/
1306 variable
[6] = CALL_abstract_collection___Iterator___is_ok(variable
[5])(variable
[5]) /*ArrayIterator::is_ok*/;
1307 if (!UNTAG_Bool(variable
[6])) break; /*for*/
1308 variable
[6] = CALL_abstract_collection___Iterator___item(variable
[5])(variable
[5]) /*ArrayIterator::item*/;
1309 variable
[7] = variable
[6];
1310 variable
[9] = CALL_abstractmetamodel___MMLocalClass___method( variable
[7] /*c*/)( variable
[7] /*c*/, variable
[1] /*n*/) /*MMLocalClass::method*/;
1311 variable
[8] = variable
[9];
1312 variable
[9] = CALL_abstractmetamodel___MMLocalClass_____bra( variable
[7] /*c*/)( variable
[7] /*c*/, variable
[8] /*g*/) /*MMLocalClass::[]*/;
1313 CALL_abstract_collection___SimpleCollection___add( variable
[4] /*res*/)( variable
[4] /*res*/, variable
[9]) /*AbstractArray::add*/;
1314 continue_40
: while(0);
1315 CALL_abstract_collection___Iterator___next(variable
[5])(variable
[5]) /*ArrayIterator::next*/;
1318 variable
[2] = variable
[4] /*res*/;
1319 goto return_label38
;
1320 return_label38
: while(false);
1321 tracehead
= trace
.prev
;
1324 void abstractmetamodel___MMLocalClass___register_local_property(val_t self
, val_t param0
) {
1325 struct trace_t trace
= {NULL
, NULL
, 501, LOCATE_abstractmetamodel___MMLocalClass___register_local_property
};
1327 void **closurevariable
= NULL
;
1328 trace
.prev
= tracehead
; tracehead
= &trace
;
1329 trace
.file
= LOCATE_abstractmetamodel
;
1331 variable
[1] = param0
;
1332 variable
[3] = CALL_abstractmetamodel___MMLocalProperty___global( variable
[1] /*p*/)( variable
[1] /*p*/) /*MMLocalProperty::global*/;
1333 variable
[3] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[3] == NIT_NULL
/*null*/) || ((variable
[3] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[3])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[3], NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[3])(variable
[3], NIT_NULL
/*null*/) /*Object::==*/)))))));
1334 if (!UNTAG_Bool(variable
[3])) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMLocalClass___register_local_property
, LOCATE_abstractmetamodel
, 504); nit_exit(1);}
1335 variable
[3] = variable
[0];
1336 variable
[3] = ATTR_abstractmetamodel___MMLocalClass____local_property_by_global(variable
[3]) /*MMLocalClass::_local_property_by_global*/;
1337 variable
[4] = CALL_abstractmetamodel___MMLocalProperty___global( variable
[1] /*p*/)( variable
[1] /*p*/) /*MMLocalProperty::global*/;
1338 variable
[3] = CALL_abstract_collection___Map___has_key(variable
[3])(variable
[3], variable
[4]) /*Map::has_key*/;
1339 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable
[3])))) { /*if*/
1340 variable
[3] = variable
[0];
1341 variable
[3] = ATTR_abstractmetamodel___MMLocalClass____local_property_by_global(variable
[3]) /*MMLocalClass::_local_property_by_global*/;
1342 variable
[4] = CALL_abstractmetamodel___MMLocalProperty___global( variable
[1] /*p*/)( variable
[1] /*p*/) /*MMLocalProperty::global*/;
1343 CALL_abstract_collection___Map_____braeq(variable
[3])(variable
[3], variable
[4], variable
[1] /*p*/) /*Map::[]=*/;
1345 return_label41
: while(false);
1346 tracehead
= trace
.prev
;
1349 void abstractmetamodel___MMLocalClass___register_global_property(val_t self
, val_t param0
) {
1350 struct trace_t trace
= {NULL
, NULL
, 511, LOCATE_abstractmetamodel___MMLocalClass___register_global_property
};
1352 void **closurevariable
= NULL
;
1353 trace
.prev
= tracehead
; tracehead
= &trace
;
1354 trace
.file
= LOCATE_abstractmetamodel
;
1356 variable
[1] = param0
;
1357 variable
[4] = CALL_abstractmetamodel___MMGlobalProperty___intro( variable
[1] /*glob*/)( variable
[1] /*glob*/) /*MMGlobalProperty::intro*/;
1358 variable
[3] = variable
[4];
1359 variable
[5] = CALL_abstractmetamodel___MMLocalProperty___name( variable
[3] /*prop*/)( variable
[3] /*prop*/) /*MMLocalProperty::name*/;
1360 variable
[4] = variable
[5];
1361 variable
[6] = variable
[0];
1362 variable
[6] = ATTR_abstractmetamodel___MMLocalClass____properties_by_name(variable
[6]) /*MMLocalClass::_properties_by_name*/;
1363 variable
[6] = CALL_abstract_collection___Map_____bra(variable
[6])(variable
[6], variable
[4] /*name*/) /*Map::[]*/;
1364 variable
[5] = variable
[6];
1365 variable
[6] = TAG_Bool(( variable
[5] /*props*/ == NIT_NULL
/*null*/) || (( variable
[5] /*props*/ != NIT_NULL
) && UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[5] /*props*/)( variable
[5] /*props*/, NIT_NULL
/*null*/) /*AbstractArray::==*/)));
1366 if (UNTAG_Bool(variable
[6])) { /*if*/
1367 variable
[6] = variable
[0];
1368 variable
[6] = ATTR_abstractmetamodel___MMLocalClass____properties_by_name(variable
[6]) /*MMLocalClass::_properties_by_name*/;
1369 variable
[7] = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[MMGlobalProperty]*/
1370 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[1] /*glob*/) /*AbstractArray::add*/;
1371 CALL_abstract_collection___Map_____braeq(variable
[6])(variable
[6], variable
[4] /*name*/, variable
[7]) /*Map::[]=*/;
1373 variable
[6] = variable
[0];
1374 variable
[6] = ATTR_abstractmetamodel___MMLocalClass____properties_by_name(variable
[6]) /*MMLocalClass::_properties_by_name*/;
1375 variable
[6] = CALL_abstract_collection___Map_____bra(variable
[6])(variable
[6], variable
[4] /*name*/) /*Map::[]*/;
1376 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[1] /*glob*/) /*AbstractArray::add*/;
1378 variable
[6] = variable
[0];
1379 variable
[6] = ATTR_abstractmetamodel___MMLocalClass____global_properties(variable
[6]) /*MMLocalClass::_global_properties*/;
1380 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[1] /*glob*/) /*SimpleCollection::add*/;
1381 variable
[6] = variable
[0];
1382 CALL_abstractmetamodel___MMLocalClass___register_local_property(variable
[6])(variable
[6], variable
[3] /*prop*/) /*MMLocalClass::register_local_property*/;
1383 return_label42
: while(false);
1384 tracehead
= trace
.prev
;
1387 val_t
abstractmetamodel___MMLocalClass_____bra(val_t self
, val_t param0
) {
1388 struct trace_t trace
= {NULL
, NULL
, 526, LOCATE_abstractmetamodel___MMLocalClass_____bra
};
1390 void **closurevariable
= NULL
;
1391 trace
.prev
= tracehead
; tracehead
= &trace
;
1392 trace
.file
= LOCATE_abstractmetamodel
;
1394 variable
[1] = param0
;
1395 variable
[3] = variable
[0];
1396 variable
[3] = ATTR_abstractmetamodel___MMLocalClass____local_property_by_global(variable
[3]) /*MMLocalClass::_local_property_by_global*/;
1397 variable
[3] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[3] == NIT_NULL
/*null*/) || ((variable
[3] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[3])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[3], NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[3])(variable
[3], NIT_NULL
/*null*/) /*Object::==*/)))))));
1398 if (!UNTAG_Bool(variable
[3])) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMLocalClass_____bra
, LOCATE_abstractmetamodel
, 529); nit_exit(1);}
1399 variable
[3] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[1] /*glob*/ == NIT_NULL
/*null*/) || (( variable
[1] /*glob*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[1] /*glob*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[1] /*glob*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[1] /*glob*/)( variable
[1] /*glob*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
1400 if (!UNTAG_Bool(variable
[3])) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMLocalClass_____bra
, LOCATE_abstractmetamodel
, 530); nit_exit(1);}
1401 variable
[3] = variable
[0];
1402 variable
[3] = ATTR_abstractmetamodel___MMLocalClass____local_property_by_global(variable
[3]) /*MMLocalClass::_local_property_by_global*/;
1403 variable
[3] = CALL_abstract_collection___Map___has_key(variable
[3])(variable
[3], variable
[1] /*glob*/) /*Map::has_key*/;
1404 if (UNTAG_Bool(variable
[3])) { /*if*/
1405 variable
[3] = variable
[0];
1406 variable
[3] = ATTR_abstractmetamodel___MMLocalClass____local_property_by_global(variable
[3]) /*MMLocalClass::_local_property_by_global*/;
1407 variable
[3] = CALL_abstract_collection___Map_____bra(variable
[3])(variable
[3], variable
[1] /*glob*/) /*Map::[]*/;
1408 variable
[2] = variable
[3];
1409 goto return_label43
;
1411 variable
[2] = NIT_NULL
/*null*/;
1412 goto return_label43
;
1413 return_label43
: while(false);
1414 tracehead
= trace
.prev
;
1417 val_t
abstractmetamodel___MMLocalClass___context(val_t self
) {
1418 struct trace_t trace
= {NULL
, NULL
, 537, LOCATE_abstractmetamodel___MMLocalClass___context
};
1420 void **closurevariable
= NULL
;
1421 trace
.prev
= tracehead
; tracehead
= &trace
;
1422 trace
.file
= LOCATE_abstractmetamodel
;
1424 variable
[2] = variable
[0];
1425 variable
[2] = CALL_abstractmetamodel___MMLocalClass___module(variable
[2])(variable
[2]) /*MMLocalClass::module*/;
1426 variable
[2] = CALL_abstractmetamodel___MMModule___context(variable
[2])(variable
[2]) /*MMModule::context*/;
1427 variable
[1] = variable
[2];
1428 goto return_label44
;
1429 return_label44
: while(false);
1430 tracehead
= trace
.prev
;
1433 val_t
abstractmetamodel___MMGlobalProperty___to_s(val_t self
) {
1434 struct trace_t trace
= {NULL
, NULL
, 573, LOCATE_abstractmetamodel___MMGlobalProperty___to_s
};
1436 void **closurevariable
= NULL
;
1437 trace
.prev
= tracehead
; tracehead
= &trace
;
1438 trace
.file
= LOCATE_abstractmetamodel
;
1440 variable
[2] = variable
[0];
1441 variable
[2] = CALL_abstractmetamodel___MMGlobalProperty___intro(variable
[2])(variable
[2]) /*MMGlobalProperty::intro*/;
1442 variable
[2] = CALL_abstractmetamodel___MMLocalProperty___full_name(variable
[2])(variable
[2]) /*MMLocalProperty::full_name*/;
1443 variable
[1] = variable
[2];
1444 goto return_label45
;
1445 return_label45
: while(false);
1446 tracehead
= trace
.prev
;
1449 val_t
abstractmetamodel___MMGlobalProperty___intro(val_t self
) {
1450 struct trace_t trace
= {NULL
, NULL
, 550, LOCATE_abstractmetamodel___MMGlobalProperty___intro
};
1451 val_t
*variable
= NULL
;
1452 void **closurevariable
= NULL
;
1453 trace
.prev
= tracehead
; tracehead
= &trace
;
1454 trace
.file
= LOCATE_abstractmetamodel
;
1455 tracehead
= trace
.prev
;
1456 return ATTR_abstractmetamodel___MMGlobalProperty____intro( self
) /*MMGlobalProperty::_intro*/;
1458 val_t
abstractmetamodel___MMGlobalProperty___local_class(val_t self
) {
1459 struct trace_t trace
= {NULL
, NULL
, 553, LOCATE_abstractmetamodel___MMGlobalProperty___local_class
};
1461 void **closurevariable
= NULL
;
1462 trace
.prev
= tracehead
; tracehead
= &trace
;
1463 trace
.file
= LOCATE_abstractmetamodel
;
1465 variable
[2] = variable
[0];
1466 variable
[2] = CALL_abstractmetamodel___MMGlobalProperty___intro(variable
[2])(variable
[2]) /*MMGlobalProperty::intro*/;
1467 variable
[2] = CALL_abstractmetamodel___MMLocalProperty___local_class(variable
[2])(variable
[2]) /*MMLocalProperty::local_class*/;
1468 variable
[1] = variable
[2];
1469 goto return_label46
;
1470 return_label46
: while(false);
1471 tracehead
= trace
.prev
;
1474 val_t
abstractmetamodel___MMGlobalProperty___property_hierarchy(val_t self
) {
1475 struct trace_t trace
= {NULL
, NULL
, 559, LOCATE_abstractmetamodel___MMGlobalProperty___property_hierarchy
};
1476 val_t
*variable
= NULL
;
1477 void **closurevariable
= NULL
;
1478 trace
.prev
= tracehead
; tracehead
= &trace
;
1479 trace
.file
= LOCATE_abstractmetamodel
;
1480 tracehead
= trace
.prev
;
1481 return ATTR_abstractmetamodel___MMGlobalProperty____property_hierarchy( self
) /*MMGlobalProperty::_property_hierarchy*/;
1483 void abstractmetamodel___MMGlobalProperty___init(val_t self
, val_t param0
, int* init_table
) {
1484 struct trace_t trace
= {NULL
, NULL
, 562, LOCATE_abstractmetamodel___MMGlobalProperty___init
};
1486 void **closurevariable
= NULL
;
1487 trace
.prev
= tracehead
; tracehead
= &trace
;
1488 trace
.file
= LOCATE_abstractmetamodel
;
1490 variable
[1] = param0
;
1491 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_MMGlobalProperty
].i
]) return;
1492 variable
[3] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[1] /*p*/ == NIT_NULL
/*null*/) || (( variable
[1] /*p*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[1] /*p*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[1] /*p*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[1] /*p*/)( variable
[1] /*p*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
1493 if (!UNTAG_Bool(variable
[3])) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMGlobalProperty___init
, LOCATE_abstractmetamodel
, 565); nit_exit(1);}
1494 variable
[3] = variable
[0];
1495 variable
[4] = NEW_PartialOrder_partial_order___PartialOrder___init(); /*new PartialOrder[MMLocalProperty]*/
1496 ATTR_abstractmetamodel___MMGlobalProperty____property_hierarchy(variable
[3]) /*MMGlobalProperty::_property_hierarchy*/ = variable
[4];
1497 variable
[3] = variable
[0];
1498 ATTR_abstractmetamodel___MMGlobalProperty____intro(variable
[3]) /*MMGlobalProperty::_intro*/ = variable
[1] /*p*/;
1499 variable
[3] = variable
[0];
1500 variable
[4] = NEW_Array_array___Array___init(); /*new Array[MMLocalProperty]*/
1501 CALL_abstractmetamodel___MMGlobalProperty___add_local_property(variable
[3])(variable
[3], variable
[1] /*p*/, variable
[4]) /*MMGlobalProperty::add_local_property*/;
1502 return_label47
: while(false);
1503 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_MMGlobalProperty
].i
] = 1;
1504 tracehead
= trace
.prev
;
1507 void abstractmetamodel___MMGlobalProperty___add_local_property(val_t self
, val_t param0
, val_t param1
) {
1508 struct trace_t trace
= {NULL
, NULL
, 575, LOCATE_abstractmetamodel___MMGlobalProperty___add_local_property
};
1510 void **closurevariable
= NULL
;
1511 trace
.prev
= tracehead
; tracehead
= &trace
;
1512 trace
.file
= LOCATE_abstractmetamodel
;
1514 variable
[1] = param0
;
1515 variable
[2] = param1
;
1516 variable
[4] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[1] /*i*/ == NIT_NULL
/*null*/) || (( variable
[1] /*i*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[1] /*i*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[1] /*i*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[1] /*i*/)( variable
[1] /*i*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
1517 if (!UNTAG_Bool(variable
[4])) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMGlobalProperty___add_local_property
, LOCATE_abstractmetamodel
, 578); nit_exit(1);}
1518 variable
[4] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[2] /*sup*/ == NIT_NULL
/*null*/) || (( variable
[2] /*sup*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[2] /*sup*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[2] /*sup*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[2] /*sup*/)( variable
[2] /*sup*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
1519 if (!UNTAG_Bool(variable
[4])) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMGlobalProperty___add_local_property
, LOCATE_abstractmetamodel
, 579); nit_exit(1);}
1520 variable
[4] = variable
[0];
1521 variable
[4] = ATTR_abstractmetamodel___MMGlobalProperty____property_hierarchy(variable
[4]) /*MMGlobalProperty::_property_hierarchy*/;
1522 variable
[4] = CALL_partial_order___PartialOrder___add(variable
[4])(variable
[4], variable
[1] /*i*/, variable
[2] /*sup*/) /*PartialOrder::add*/;
1523 ATTR_abstractmetamodel___MMLocalProperty____prhe( variable
[1] /*i*/) /*MMLocalProperty::_prhe*/ = variable
[4];
1524 return_label48
: while(false);
1525 tracehead
= trace
.prev
;
1528 val_t
abstractmetamodel___MMGlobalProperty___is_attribute(val_t self
) {
1529 struct trace_t trace
= {NULL
, NULL
, 583, LOCATE_abstractmetamodel___MMGlobalProperty___is_attribute
};
1531 void **closurevariable
= NULL
;
1532 trace
.prev
= tracehead
; tracehead
= &trace
;
1533 trace
.file
= LOCATE_abstractmetamodel
;
1535 variable
[2] = variable
[0];
1536 variable
[2] = CALL_abstractmetamodel___MMGlobalProperty___intro(variable
[2])(variable
[2]) /*MMGlobalProperty::intro*/;
1537 variable
[2] = TAG_Bool((variable
[2]==NIT_NULL
) || VAL_ISA(variable
[2], COLOR_MMAttribute
, ID_MMAttribute
)) /*cast MMAttribute*/;
1538 variable
[1] = variable
[2];
1539 goto return_label49
;
1540 return_label49
: while(false);
1541 tracehead
= trace
.prev
;
1544 val_t
abstractmetamodel___MMGlobalProperty___is_method(val_t self
) {
1545 struct trace_t trace
= {NULL
, NULL
, 586, LOCATE_abstractmetamodel___MMGlobalProperty___is_method
};
1547 void **closurevariable
= NULL
;
1548 trace
.prev
= tracehead
; tracehead
= &trace
;
1549 trace
.file
= LOCATE_abstractmetamodel
;
1551 variable
[2] = variable
[0];
1552 variable
[2] = CALL_abstractmetamodel___MMGlobalProperty___intro(variable
[2])(variable
[2]) /*MMGlobalProperty::intro*/;
1553 variable
[2] = TAG_Bool((variable
[2]==NIT_NULL
) || VAL_ISA(variable
[2], COLOR_MMMethod
, ID_MMMethod
)) /*cast MMMethod*/;
1554 variable
[1] = variable
[2];
1555 goto return_label50
;
1556 return_label50
: while(false);
1557 tracehead
= trace
.prev
;
1560 val_t
abstractmetamodel___MMGlobalProperty___is_init(val_t self
) {
1561 struct trace_t trace
= {NULL
, NULL
, 589, LOCATE_abstractmetamodel___MMGlobalProperty___is_init
};
1562 val_t
*variable
= NULL
;
1563 void **closurevariable
= NULL
;
1564 trace
.prev
= tracehead
; tracehead
= &trace
;
1565 trace
.file
= LOCATE_abstractmetamodel
;
1566 tracehead
= trace
.prev
;
1567 return ATTR_abstractmetamodel___MMGlobalProperty____is_init( self
) /*MMGlobalProperty::_is_init*/;
1569 void abstractmetamodel___MMGlobalProperty___is_init__eq(val_t self
, val_t param0
) {
1570 struct trace_t trace
= {NULL
, NULL
, 589, LOCATE_abstractmetamodel___MMGlobalProperty___is_init__eq
};
1571 val_t
*variable
= NULL
;
1572 void **closurevariable
= NULL
;
1573 trace
.prev
= tracehead
; tracehead
= &trace
;
1574 trace
.file
= LOCATE_abstractmetamodel
;
1575 ATTR_abstractmetamodel___MMGlobalProperty____is_init( self
) /*MMGlobalProperty::_is_init*/ = param0
;
1576 tracehead
= trace
.prev
;
1579 val_t
abstractmetamodel___MMGlobalProperty___is_init_for(val_t self
, val_t param0
) {
1580 struct trace_t trace
= {NULL
, NULL
, 592, LOCATE_abstractmetamodel___MMGlobalProperty___is_init_for
};
1582 void **closurevariable
= NULL
;
1583 trace
.prev
= tracehead
; tracehead
= &trace
;
1584 trace
.file
= LOCATE_abstractmetamodel
;
1586 variable
[1] = param0
;
1587 variable
[3] = variable
[0];
1588 variable
[3] = CALL_abstractmetamodel___MMGlobalProperty___is_init(variable
[3])(variable
[3]) /*MMGlobalProperty::is_init*/;
1589 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable
[3])))) { /*if*/
1590 variable
[2] = TAG_Bool(false);
1591 goto return_label51
;
1593 variable
[4] = variable
[0];
1594 variable
[4] = CALL_abstractmetamodel___MMGlobalProperty___intro(variable
[4])(variable
[4]) /*MMGlobalProperty::intro*/;
1595 variable
[4] = CALL_abstractmetamodel___MMLocalProperty___local_class(variable
[4])(variable
[4]) /*MMLocalProperty::local_class*/;
1596 variable
[3] = variable
[4];
1597 variable
[5] = CALL_abstractmetamodel___MMLocalClass___che( variable
[1] /*c*/)( variable
[1] /*c*/) /*MMLocalClass::che*/;
1598 variable
[5] = CALL_partial_order___PartialOrderElement_____leq(variable
[5])(variable
[5], variable
[3] /*sc*/) /*PartialOrderElement::<=*/;
1599 variable
[6] = variable
[5];
1600 if (UNTAG_Bool(variable
[6])) { /* and */
1601 variable
[6] = CALL_abstractmetamodel___MMLocalClass___global( variable
[1] /*c*/)( variable
[1] /*c*/) /*MMLocalClass::global*/;
1602 variable
[6] = CALL_abstractmetamodel___MMGlobalClass___mixin_of(variable
[6])(variable
[6]) /*MMGlobalClass::mixin_of*/;
1603 variable
[7] = CALL_abstractmetamodel___MMLocalClass___global( variable
[3] /*sc*/)( variable
[3] /*sc*/) /*MMLocalClass::global*/;
1604 variable
[7] = CALL_abstractmetamodel___MMGlobalClass___mixin_of(variable
[7])(variable
[7]) /*MMGlobalClass::mixin_of*/;
1605 variable
[6] = TAG_Bool((variable
[6] == variable
[7]) || ((variable
[6] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[6])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[6],variable
[7])):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[6])(variable
[6], variable
[7]) /*Object::==*/)))));
1607 variable
[5] = variable
[6];
1608 variable
[4] = variable
[5];
1609 variable
[2] = variable
[4] /*res*/;
1610 goto return_label51
;
1611 return_label51
: while(false);
1612 tracehead
= trace
.prev
;
1615 val_t
abstractmetamodel___MMGlobalProperty___visibility_level(val_t self
) {
1616 struct trace_t trace
= {NULL
, NULL
, 601, LOCATE_abstractmetamodel___MMGlobalProperty___visibility_level
};
1617 val_t
*variable
= NULL
;
1618 void **closurevariable
= NULL
;
1619 trace
.prev
= tracehead
; tracehead
= &trace
;
1620 trace
.file
= LOCATE_abstractmetamodel
;
1621 tracehead
= trace
.prev
;
1622 return ATTR_abstractmetamodel___MMGlobalProperty____visibility_level( self
) /*MMGlobalProperty::_visibility_level*/;
1624 void abstractmetamodel___MMGlobalProperty___visibility_level__eq(val_t self
, val_t param0
) {
1625 struct trace_t trace
= {NULL
, NULL
, 601, LOCATE_abstractmetamodel___MMGlobalProperty___visibility_level__eq
};
1626 val_t
*variable
= NULL
;
1627 void **closurevariable
= NULL
;
1628 trace
.prev
= tracehead
; tracehead
= &trace
;
1629 trace
.file
= LOCATE_abstractmetamodel
;
1630 ATTR_abstractmetamodel___MMGlobalProperty____visibility_level( self
) /*MMGlobalProperty::_visibility_level*/ = param0
;
1631 tracehead
= trace
.prev
;
1634 val_t
abstractmetamodel___MMLocalProperty___to_s(val_t self
) {
1635 struct trace_t trace
= {NULL
, NULL
, 653, LOCATE_abstractmetamodel___MMLocalProperty___to_s
};
1637 void **closurevariable
= NULL
;
1638 trace
.prev
= tracehead
; tracehead
= &trace
;
1639 trace
.file
= LOCATE_abstractmetamodel
;
1641 variable
[2] = variable
[0];
1642 variable
[2] = CALL_abstractmetamodel___MMLocalProperty___name(variable
[2])(variable
[2]) /*MMLocalProperty::name*/;
1643 variable
[2] = CALL_string___Object___to_s(variable
[2])(variable
[2]) /*Symbol::to_s*/;
1644 variable
[1] = variable
[2];
1645 goto return_label52
;
1646 return_label52
: while(false);
1647 tracehead
= trace
.prev
;
1650 val_t
abstractmetamodel___MMLocalProperty___name(val_t self
) {
1651 struct trace_t trace
= {NULL
, NULL
, 610, LOCATE_abstractmetamodel___MMLocalProperty___name
};
1652 val_t
*variable
= NULL
;
1653 void **closurevariable
= NULL
;
1654 trace
.prev
= tracehead
; tracehead
= &trace
;
1655 trace
.file
= LOCATE_abstractmetamodel
;
1656 tracehead
= trace
.prev
;
1657 return ATTR_abstractmetamodel___MMLocalProperty____name( self
) /*MMLocalProperty::_name*/;
1659 val_t
abstractmetamodel___MMLocalProperty___local_class(val_t self
) {
1660 struct trace_t trace
= {NULL
, NULL
, 613, LOCATE_abstractmetamodel___MMLocalProperty___local_class
};
1661 val_t
*variable
= NULL
;
1662 void **closurevariable
= NULL
;
1663 trace
.prev
= tracehead
; tracehead
= &trace
;
1664 trace
.file
= LOCATE_abstractmetamodel
;
1665 tracehead
= trace
.prev
;
1666 return ATTR_abstractmetamodel___MMLocalProperty____local_class( self
) /*MMLocalProperty::_local_class*/;
1668 val_t
abstractmetamodel___MMLocalProperty___global(val_t self
) {
1669 struct trace_t trace
= {NULL
, NULL
, 616, LOCATE_abstractmetamodel___MMLocalProperty___global
};
1670 val_t
*variable
= NULL
;
1671 void **closurevariable
= NULL
;
1672 trace
.prev
= tracehead
; tracehead
= &trace
;
1673 trace
.file
= LOCATE_abstractmetamodel
;
1674 tracehead
= trace
.prev
;
1675 return ATTR_abstractmetamodel___MMLocalProperty____global( self
) /*MMLocalProperty::_global*/;
1677 val_t
abstractmetamodel___MMLocalProperty___prhe(val_t self
) {
1678 struct trace_t trace
= {NULL
, NULL
, 619, LOCATE_abstractmetamodel___MMLocalProperty___prhe
};
1679 val_t
*variable
= NULL
;
1680 void **closurevariable
= NULL
;
1681 trace
.prev
= tracehead
; tracehead
= &trace
;
1682 trace
.file
= LOCATE_abstractmetamodel
;
1683 tracehead
= trace
.prev
;
1684 return ATTR_abstractmetamodel___MMLocalProperty____prhe( self
) /*MMLocalProperty::_prhe*/;
1686 val_t
abstractmetamodel___MMLocalProperty___module(val_t self
) {
1687 struct trace_t trace
= {NULL
, NULL
, 622, LOCATE_abstractmetamodel___MMLocalProperty___module
};
1689 void **closurevariable
= NULL
;
1690 trace
.prev
= tracehead
; tracehead
= &trace
;
1691 trace
.file
= LOCATE_abstractmetamodel
;
1693 variable
[2] = variable
[0];
1694 variable
[2] = ATTR_abstractmetamodel___MMLocalProperty____local_class(variable
[2]) /*MMLocalProperty::_local_class*/;
1695 variable
[2] = CALL_abstractmetamodel___MMLocalClass___module(variable
[2])(variable
[2]) /*MMLocalClass::module*/;
1696 variable
[1] = variable
[2];
1697 goto return_label53
;
1698 return_label53
: while(false);
1699 tracehead
= trace
.prev
;
1702 val_t
abstractmetamodel___MMLocalProperty___full_name(val_t self
) {
1703 struct trace_t trace
= {NULL
, NULL
, 625, LOCATE_abstractmetamodel___MMLocalProperty___full_name
};
1705 void **closurevariable
= NULL
;
1706 trace
.prev
= tracehead
; tracehead
= &trace
;
1707 trace
.file
= LOCATE_abstractmetamodel
;
1709 variable
[2] = variable
[0];
1710 variable
[2] = CALL_abstractmetamodel___MMLocalProperty___global(variable
[2])(variable
[2]) /*MMLocalProperty::global*/;
1711 variable
[2] = TAG_Bool((variable
[2] == NIT_NULL
/*null*/) || ((variable
[2] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[2])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[2], NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[2])(variable
[2], NIT_NULL
/*null*/) /*Object::==*/)))));
1712 if (UNTAG_Bool(variable
[2])) { /*if*/
1713 variable
[2] = NEW_Array_array___Array___with_capacity(TAG_Int(7)); /*new Array[String]*/
1714 variable
[3] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1715 variable
[4] = variable
[3];
1716 CALL_abstract_collection___SimpleCollection___add(variable
[2])(variable
[2], variable
[4]) /*AbstractArray::add*/;
1717 variable
[5] = variable
[0];
1718 variable
[5] = CALL_abstractmetamodel___MMLocalProperty___local_class(variable
[5])(variable
[5]) /*MMLocalProperty::local_class*/;
1719 variable
[5] = CALL_abstractmetamodel___MMLocalClass___module(variable
[5])(variable
[5]) /*MMLocalClass::module*/;
1720 variable
[6] = variable
[5];
1721 variable
[6] = CALL_string___Object___to_s(variable
[6])(variable
[6]) /*Object::to_s*/;
1722 CALL_abstract_collection___SimpleCollection___add(variable
[2])(variable
[2], variable
[6]) /*AbstractArray::add*/;
1723 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
1724 variable
[8] = variable
[7];
1725 CALL_abstract_collection___SimpleCollection___add(variable
[2])(variable
[2], variable
[8]) /*AbstractArray::add*/;
1726 variable
[9] = variable
[0];
1727 variable
[9] = CALL_abstractmetamodel___MMLocalProperty___local_class(variable
[9])(variable
[9]) /*MMLocalProperty::local_class*/;
1728 variable
[10] = variable
[9];
1729 variable
[10] = CALL_string___Object___to_s(variable
[10])(variable
[10]) /*Object::to_s*/;
1730 CALL_abstract_collection___SimpleCollection___add(variable
[2])(variable
[2], variable
[10]) /*AbstractArray::add*/;
1731 variable
[11] = NEW_String_string___String___with_native(BOX_NativeString("::(?::"), TAG_Int(6)); /*new String*/
1732 variable
[12] = variable
[11];
1733 CALL_abstract_collection___SimpleCollection___add(variable
[2])(variable
[2], variable
[12]) /*AbstractArray::add*/;
1734 variable
[13] = variable
[0];
1735 variable
[13] = CALL_abstractmetamodel___MMLocalProperty___name(variable
[13])(variable
[13]) /*MMLocalProperty::name*/;
1736 variable
[14] = variable
[13];
1737 variable
[14] = CALL_string___Object___to_s(variable
[14])(variable
[14]) /*Object::to_s*/;
1738 CALL_abstract_collection___SimpleCollection___add(variable
[2])(variable
[2], variable
[14]) /*AbstractArray::add*/;
1739 variable
[15] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
1740 variable
[16] = variable
[15];
1741 CALL_abstract_collection___SimpleCollection___add(variable
[2])(variable
[2], variable
[16]) /*AbstractArray::add*/;
1742 variable
[2] = CALL_string___Object___to_s(variable
[2])(variable
[2]) /*Object::to_s*/;
1743 variable
[1] = variable
[2];
1744 goto return_label54
;
1746 variable
[2] = variable
[0];
1747 variable
[2] = CALL_abstractmetamodel___MMLocalProperty___global(variable
[2])(variable
[2]) /*MMLocalProperty::global*/;
1748 variable
[2] = CALL_abstractmetamodel___MMGlobalProperty___intro(variable
[2])(variable
[2]) /*MMGlobalProperty::intro*/;
1749 variable
[3] = variable
[0];
1750 variable
[2] = TAG_Bool((variable
[2] == variable
[3]) || ((variable
[2] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[2])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[2],variable
[3])):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[2])(variable
[2], variable
[3]) /*Object::==*/)))));
1751 if (UNTAG_Bool(variable
[2])) { /*if*/
1752 variable
[2] = NEW_Array_array___Array___with_capacity(TAG_Int(7)); /*new Array[String]*/
1753 variable
[3] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1754 variable
[4] = variable
[3];
1755 CALL_abstract_collection___SimpleCollection___add(variable
[2])(variable
[2], variable
[4]) /*AbstractArray::add*/;
1756 variable
[5] = variable
[0];
1757 variable
[5] = CALL_abstractmetamodel___MMLocalProperty___local_class(variable
[5])(variable
[5]) /*MMLocalProperty::local_class*/;
1758 variable
[5] = CALL_abstractmetamodel___MMLocalClass___module(variable
[5])(variable
[5]) /*MMLocalClass::module*/;
1759 variable
[6] = variable
[5];
1760 variable
[6] = CALL_string___Object___to_s(variable
[6])(variable
[6]) /*Object::to_s*/;
1761 CALL_abstract_collection___SimpleCollection___add(variable
[2])(variable
[2], variable
[6]) /*AbstractArray::add*/;
1762 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
1763 variable
[8] = variable
[7];
1764 CALL_abstract_collection___SimpleCollection___add(variable
[2])(variable
[2], variable
[8]) /*AbstractArray::add*/;
1765 variable
[9] = variable
[0];
1766 variable
[9] = CALL_abstractmetamodel___MMLocalProperty___local_class(variable
[9])(variable
[9]) /*MMLocalProperty::local_class*/;
1767 variable
[10] = variable
[9];
1768 variable
[10] = CALL_string___Object___to_s(variable
[10])(variable
[10]) /*Object::to_s*/;
1769 CALL_abstract_collection___SimpleCollection___add(variable
[2])(variable
[2], variable
[10]) /*AbstractArray::add*/;
1770 variable
[11] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
1771 variable
[12] = variable
[11];
1772 CALL_abstract_collection___SimpleCollection___add(variable
[2])(variable
[2], variable
[12]) /*AbstractArray::add*/;
1773 variable
[13] = variable
[0];
1774 variable
[13] = CALL_abstractmetamodel___MMLocalProperty___name(variable
[13])(variable
[13]) /*MMLocalProperty::name*/;
1775 variable
[14] = variable
[13];
1776 variable
[14] = CALL_string___Object___to_s(variable
[14])(variable
[14]) /*Object::to_s*/;
1777 CALL_abstract_collection___SimpleCollection___add(variable
[2])(variable
[2], variable
[14]) /*AbstractArray::add*/;
1778 variable
[15] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1779 variable
[16] = variable
[15];
1780 CALL_abstract_collection___SimpleCollection___add(variable
[2])(variable
[2], variable
[16]) /*AbstractArray::add*/;
1781 variable
[2] = CALL_string___Object___to_s(variable
[2])(variable
[2]) /*Object::to_s*/;
1782 variable
[1] = variable
[2];
1783 goto return_label54
;
1785 variable
[2] = NEW_Array_array___Array___with_capacity(TAG_Int(7)); /*new Array[String]*/
1786 variable
[3] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1787 variable
[4] = variable
[3];
1788 CALL_abstract_collection___SimpleCollection___add(variable
[2])(variable
[2], variable
[4]) /*AbstractArray::add*/;
1789 variable
[5] = variable
[0];
1790 variable
[5] = CALL_abstractmetamodel___MMLocalProperty___local_class(variable
[5])(variable
[5]) /*MMLocalProperty::local_class*/;
1791 variable
[5] = CALL_abstractmetamodel___MMLocalClass___module(variable
[5])(variable
[5]) /*MMLocalClass::module*/;
1792 variable
[6] = variable
[5];
1793 variable
[6] = CALL_string___Object___to_s(variable
[6])(variable
[6]) /*Object::to_s*/;
1794 CALL_abstract_collection___SimpleCollection___add(variable
[2])(variable
[2], variable
[6]) /*AbstractArray::add*/;
1795 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
1796 variable
[8] = variable
[7];
1797 CALL_abstract_collection___SimpleCollection___add(variable
[2])(variable
[2], variable
[8]) /*AbstractArray::add*/;
1798 variable
[9] = variable
[0];
1799 variable
[9] = CALL_abstractmetamodel___MMLocalProperty___local_class(variable
[9])(variable
[9]) /*MMLocalProperty::local_class*/;
1800 variable
[10] = variable
[9];
1801 variable
[10] = CALL_string___Object___to_s(variable
[10])(variable
[10]) /*Object::to_s*/;
1802 CALL_abstract_collection___SimpleCollection___add(variable
[2])(variable
[2], variable
[10]) /*AbstractArray::add*/;
1803 variable
[11] = NEW_String_string___String___with_native(BOX_NativeString("::("), TAG_Int(3)); /*new String*/
1804 variable
[12] = variable
[11];
1805 CALL_abstract_collection___SimpleCollection___add(variable
[2])(variable
[2], variable
[12]) /*AbstractArray::add*/;
1806 variable
[13] = variable
[0];
1807 variable
[13] = CALL_abstractmetamodel___MMLocalProperty___global(variable
[13])(variable
[13]) /*MMLocalProperty::global*/;
1808 variable
[13] = CALL_abstractmetamodel___MMGlobalProperty___intro(variable
[13])(variable
[13]) /*MMGlobalProperty::intro*/;
1809 variable
[13] = CALL_abstractmetamodel___MMLocalProperty___full_name(variable
[13])(variable
[13]) /*MMLocalProperty::full_name*/;
1810 variable
[14] = variable
[13];
1811 CALL_abstract_collection___SimpleCollection___add(variable
[2])(variable
[2], variable
[14]) /*AbstractArray::add*/;
1812 variable
[15] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
1813 variable
[16] = variable
[15];
1814 CALL_abstract_collection___SimpleCollection___add(variable
[2])(variable
[2], variable
[16]) /*AbstractArray::add*/;
1815 variable
[2] = CALL_string___Object___to_s(variable
[2])(variable
[2]) /*Object::to_s*/;
1816 variable
[1] = variable
[2];
1817 goto return_label54
;
1820 return_label54
: while(false);
1821 tracehead
= trace
.prev
;
1824 void abstractmetamodel___MMLocalProperty___set_global(val_t self
, val_t param0
) {
1825 struct trace_t trace
= {NULL
, NULL
, 637, LOCATE_abstractmetamodel___MMLocalProperty___set_global
};
1827 void **closurevariable
= NULL
;
1828 trace
.prev
= tracehead
; tracehead
= &trace
;
1829 trace
.file
= LOCATE_abstractmetamodel
;
1831 variable
[1] = param0
;
1832 variable
[3] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[1] /*g*/ == NIT_NULL
/*null*/) || (( variable
[1] /*g*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[1] /*g*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[1] /*g*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[1] /*g*/)( variable
[1] /*g*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
1833 if (!UNTAG_Bool(variable
[3])) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMLocalProperty___set_global
, LOCATE_abstractmetamodel
, 640); nit_exit(1);}
1834 variable
[3] = variable
[0];
1835 ATTR_abstractmetamodel___MMLocalProperty____global(variable
[3]) /*MMLocalProperty::_global*/ = variable
[1] /*g*/;
1836 variable
[3] = variable
[0];
1837 variable
[3] = ATTR_abstractmetamodel___MMLocalProperty____local_class(variable
[3]) /*MMLocalProperty::_local_class*/;
1838 variable
[4] = variable
[0];
1839 CALL_abstractmetamodel___MMLocalClass___register_local_property(variable
[3])(variable
[3], variable
[4]) /*MMLocalClass::register_local_property*/;
1840 return_label55
: while(false);
1841 tracehead
= trace
.prev
;
1844 void abstractmetamodel___MMLocalProperty___new_global(val_t self
) {
1845 struct trace_t trace
= {NULL
, NULL
, 645, LOCATE_abstractmetamodel___MMLocalProperty___new_global
};
1847 void **closurevariable
= NULL
;
1848 trace
.prev
= tracehead
; tracehead
= &trace
;
1849 trace
.file
= LOCATE_abstractmetamodel
;
1851 variable
[2] = variable
[0];
1852 variable
[2] = ATTR_abstractmetamodel___MMLocalProperty____global(variable
[2]) /*MMLocalProperty::_global*/;
1853 variable
[2] = TAG_Bool((variable
[2] == NIT_NULL
/*null*/) || ((variable
[2] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[2])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[2], NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[2])(variable
[2], NIT_NULL
/*null*/) /*Object::==*/)))));
1854 if (!UNTAG_Bool(variable
[2])) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_abstractmetamodel___MMLocalProperty___new_global
, LOCATE_abstractmetamodel
, 648); nit_exit(1);}
1855 variable
[2] = variable
[0];
1856 variable
[3] = variable
[0];
1857 variable
[4] = NEW_MMGlobalProperty_abstractmetamodel___MMGlobalProperty___init(variable
[3]); /*new MMGlobalProperty*/
1858 variable
[3] = variable
[4];
1859 ATTR_abstractmetamodel___MMLocalProperty____global(variable
[2]) /*MMLocalProperty::_global*/ = variable
[3];
1860 variable
[2] = variable
[0];
1861 variable
[2] = ATTR_abstractmetamodel___MMLocalProperty____local_class(variable
[2]) /*MMLocalProperty::_local_class*/;
1862 variable
[3] = variable
[0];
1863 variable
[3] = ATTR_abstractmetamodel___MMLocalProperty____global(variable
[3]) /*MMLocalProperty::_global*/;
1864 CALL_abstractmetamodel___MMLocalClass___register_global_property(variable
[2])(variable
[2], variable
[3]) /*MMLocalClass::register_global_property*/;
1865 return_label56
: while(false);
1866 tracehead
= trace
.prev
;
1869 val_t
abstractmetamodel___MMLocalProperty___need_super(val_t self
) {
1870 struct trace_t trace
= {NULL
, NULL
, 655, LOCATE_abstractmetamodel___MMLocalProperty___need_super
};
1871 val_t
*variable
= NULL
;
1872 void **closurevariable
= NULL
;
1873 trace
.prev
= tracehead
; tracehead
= &trace
;
1874 trace
.file
= LOCATE_abstractmetamodel
;
1875 tracehead
= trace
.prev
;
1876 return ATTR_abstractmetamodel___MMLocalProperty____need_super( self
) /*MMLocalProperty::_need_super*/;
1878 void abstractmetamodel___MMLocalProperty___need_super__eq(val_t self
, val_t param0
) {
1879 struct trace_t trace
= {NULL
, NULL
, 655, LOCATE_abstractmetamodel___MMLocalProperty___need_super__eq
};
1880 val_t
*variable
= NULL
;
1881 void **closurevariable
= NULL
;
1882 trace
.prev
= tracehead
; tracehead
= &trace
;
1883 trace
.file
= LOCATE_abstractmetamodel
;
1884 ATTR_abstractmetamodel___MMLocalProperty____need_super( self
) /*MMLocalProperty::_need_super*/ = param0
;
1885 tracehead
= trace
.prev
;
1888 void abstractmetamodel___MMLocalProperty___init(val_t self
, val_t param0
, val_t param1
, int* init_table
) {
1889 struct trace_t trace
= {NULL
, NULL
, 658, LOCATE_abstractmetamodel___MMLocalProperty___init
};
1891 void **closurevariable
= NULL
;
1892 trace
.prev
= tracehead
; tracehead
= &trace
;
1893 trace
.file
= LOCATE_abstractmetamodel
;
1895 variable
[1] = param0
;
1896 variable
[2] = param1
;
1897 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_MMLocalProperty
].i
]) return;
1898 variable
[4] = variable
[0];
1899 ATTR_abstractmetamodel___MMLocalProperty____name(variable
[4]) /*MMLocalProperty::_name*/ = variable
[1] /*n*/;
1900 variable
[4] = variable
[0];
1901 ATTR_abstractmetamodel___MMLocalProperty____local_class(variable
[4]) /*MMLocalProperty::_local_class*/ = variable
[2] /*bc*/;
1902 return_label57
: while(false);
1903 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_MMLocalProperty
].i
] = 1;
1904 tracehead
= trace
.prev
;