neo: Explain how arguments of a MClasType are named.
[nit.git] / c_src / model_base.sep.1.c
1 #include "model_base.sep.0.h"
2 /* method model_base#Model#init for (self: Model) */
3 void model_base__Model__init(val* self) {
4 RET_LABEL:;
5 }
6 /* method model_base#Model#init for (self: Object) */
7 void VIRTUAL_model_base__Model__init(val* self) {
8 { /* Inline model_base#Model#init (self) on <self:Object(Model)> */
9 RET_LABEL1:(void)0;
10 }
11 RET_LABEL:;
12 }
13 /* method model_base#MEntity#model for (self: MEntity): Model */
14 val* model_base__MEntity__model(val* self) {
15 val* var /* : Model */;
16 const char* var_class_name;
17 var_class_name = self == NULL ? "null" : self->type->name;
18 PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "model", var_class_name);
19 PRINT_ERROR(" (%s:%d)\n", "src/model/model_base.nit", 31);
20 show_backtrace(1);
21 RET_LABEL:;
22 return var;
23 }
24 /* method model_base#MEntity#model for (self: Object): Model */
25 val* VIRTUAL_model_base__MEntity__model(val* self) {
26 val* var /* : Model */;
27 val* var1 /* : Model */;
28 const char* var_class_name;
29 { /* Inline model_base#MEntity#model (self) on <self:Object(MEntity)> */
30 var_class_name = self == NULL ? "null" : self->type->name;
31 PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "model", var_class_name);
32 PRINT_ERROR(" (%s:%d)\n", "src/model/model_base.nit", 31);
33 show_backtrace(1);
34 RET_LABEL2:(void)0;
35 }
36 var = var1;
37 RET_LABEL:;
38 return var;
39 }
40 /* method model_base#MEntity#init for (self: MEntity) */
41 void model_base__MEntity__init(val* self) {
42 RET_LABEL:;
43 }
44 /* method model_base#MEntity#init for (self: Object) */
45 void VIRTUAL_model_base__MEntity__init(val* self) {
46 { /* Inline model_base#MEntity#init (self) on <self:Object(MEntity)> */
47 RET_LABEL1:(void)0;
48 }
49 RET_LABEL:;
50 }
51 /* method model_base#MVisibility#to_s for (self: MVisibility): String */
52 val* model_base__MVisibility__to_s(val* self) {
53 val* var /* : String */;
54 val* var1 /* : String */;
55 var1 = self->attrs[COLOR_model_base__MVisibility___to_s].val; /* _to_s on <self:MVisibility> */
56 if (unlikely(var1 == NULL)) {
57 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _to_s");
58 PRINT_ERROR(" (%s:%d)\n", "src/model/model_base.nit", 56);
59 show_backtrace(1);
60 }
61 var = var1;
62 RET_LABEL:;
63 return var;
64 }
65 /* method model_base#MVisibility#to_s for (self: Object): String */
66 val* VIRTUAL_model_base__MVisibility__to_s(val* self) {
67 val* var /* : String */;
68 val* var1 /* : String */;
69 val* var3 /* : String */;
70 { /* Inline model_base#MVisibility#to_s (self) on <self:Object(MVisibility)> */
71 var3 = self->attrs[COLOR_model_base__MVisibility___to_s].val; /* _to_s on <self:Object(MVisibility)> */
72 if (unlikely(var3 == NULL)) {
73 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _to_s");
74 PRINT_ERROR(" (%s:%d)\n", "src/model/model_base.nit", 56);
75 show_backtrace(1);
76 }
77 var1 = var3;
78 RET_LABEL2:(void)0;
79 }
80 var = var1;
81 RET_LABEL:;
82 return var;
83 }
84 /* method model_base#MVisibility#to_s= for (self: MVisibility, String) */
85 void model_base__MVisibility__to_s_61d(val* self, val* p0) {
86 self->attrs[COLOR_model_base__MVisibility___to_s].val = p0; /* _to_s on <self:MVisibility> */
87 RET_LABEL:;
88 }
89 /* method model_base#MVisibility#to_s= for (self: Object, String) */
90 void VIRTUAL_model_base__MVisibility__to_s_61d(val* self, val* p0) {
91 { /* Inline model_base#MVisibility#to_s= (self,p0) on <self:Object(MVisibility)> */
92 self->attrs[COLOR_model_base__MVisibility___to_s].val = p0; /* _to_s on <self:Object(MVisibility)> */
93 RET_LABEL1:(void)0;
94 }
95 RET_LABEL:;
96 }
97 /* method model_base#MVisibility#level for (self: MVisibility): Int */
98 long model_base__MVisibility__level(val* self) {
99 long var /* : Int */;
100 long var1 /* : Int */;
101 var1 = self->attrs[COLOR_model_base__MVisibility___level].l; /* _level on <self:MVisibility> */
102 var = var1;
103 RET_LABEL:;
104 return var;
105 }
106 /* method model_base#MVisibility#level for (self: Object): Int */
107 long VIRTUAL_model_base__MVisibility__level(val* self) {
108 long var /* : Int */;
109 long var1 /* : Int */;
110 long var3 /* : Int */;
111 { /* Inline model_base#MVisibility#level (self) on <self:Object(MVisibility)> */
112 var3 = self->attrs[COLOR_model_base__MVisibility___level].l; /* _level on <self:Object(MVisibility)> */
113 var1 = var3;
114 RET_LABEL2:(void)0;
115 }
116 var = var1;
117 RET_LABEL:;
118 return var;
119 }
120 /* method model_base#MVisibility#level= for (self: MVisibility, Int) */
121 void model_base__MVisibility__level_61d(val* self, long p0) {
122 self->attrs[COLOR_model_base__MVisibility___level].l = p0; /* _level on <self:MVisibility> */
123 RET_LABEL:;
124 }
125 /* method model_base#MVisibility#level= for (self: Object, Int) */
126 void VIRTUAL_model_base__MVisibility__level_61d(val* self, long p0) {
127 { /* Inline model_base#MVisibility#level= (self,p0) on <self:Object(MVisibility)> */
128 self->attrs[COLOR_model_base__MVisibility___level].l = p0; /* _level on <self:Object(MVisibility)> */
129 RET_LABEL1:(void)0;
130 }
131 RET_LABEL:;
132 }
133 /* method model_base#MVisibility#init for (self: MVisibility, String, Int) */
134 void model_base__MVisibility__init(val* self, val* p0, long p1) {
135 val* var_s /* var s: String */;
136 long var_level /* var level: Int */;
137 var_s = p0;
138 var_level = p1;
139 {
140 { /* Inline model_base#MVisibility#to_s= (self,var_s) on <self:MVisibility> */
141 self->attrs[COLOR_model_base__MVisibility___to_s].val = var_s; /* _to_s on <self:MVisibility> */
142 RET_LABEL1:(void)0;
143 }
144 }
145 {
146 { /* Inline model_base#MVisibility#level= (self,var_level) on <self:MVisibility> */
147 self->attrs[COLOR_model_base__MVisibility___level].l = var_level; /* _level on <self:MVisibility> */
148 RET_LABEL2:(void)0;
149 }
150 }
151 RET_LABEL:;
152 }
153 /* method model_base#MVisibility#init for (self: Object, String, Int) */
154 void VIRTUAL_model_base__MVisibility__init(val* self, val* p0, long p1) {
155 model_base__MVisibility__init(self, p0, p1); /* Direct call model_base#MVisibility#init on <self:Object(MVisibility)>*/
156 RET_LABEL:;
157 }
158 /* method model_base#MVisibility#< for (self: MVisibility, MVisibility): Bool */
159 short int model_base__MVisibility___60d(val* self, val* p0) {
160 short int var /* : Bool */;
161 short int var1 /* : Bool */;
162 int cltype;
163 int idtype;
164 const struct type* type_struct;
165 const char* var_class_name;
166 val* var_other /* var other: MVisibility */;
167 long var2 /* : Int */;
168 long var4 /* : Int */;
169 long var5 /* : Int */;
170 long var7 /* : Int */;
171 short int var8 /* : Bool */;
172 short int var10 /* : Bool */;
173 int cltype11;
174 int idtype12;
175 const char* var_class_name13;
176 short int var14 /* : Bool */;
177 /* Covariant cast for argument 0 (other) <p0:MVisibility> isa OTHER */
178 /* <p0:MVisibility> isa OTHER */
179 type_struct = self->type->resolution_table->types[COLOR_kernel__Comparable_VTOTHER];
180 cltype = type_struct->color;
181 idtype = type_struct->id;
182 if(cltype >= p0->type->table_size) {
183 var1 = 0;
184 } else {
185 var1 = p0->type->type_table[cltype] == idtype;
186 }
187 if (unlikely(!var1)) {
188 var_class_name = p0 == NULL ? "null" : p0->type->name;
189 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
190 PRINT_ERROR(" (%s:%d)\n", "src/model/model_base.nit", 66);
191 show_backtrace(1);
192 }
193 var_other = p0;
194 {
195 { /* Inline model_base#MVisibility#level (self) on <self:MVisibility> */
196 var4 = self->attrs[COLOR_model_base__MVisibility___level].l; /* _level on <self:MVisibility> */
197 var2 = var4;
198 RET_LABEL3:(void)0;
199 }
200 }
201 {
202 { /* Inline model_base#MVisibility#level (var_other) on <var_other:MVisibility> */
203 var7 = var_other->attrs[COLOR_model_base__MVisibility___level].l; /* _level on <var_other:MVisibility> */
204 var5 = var7;
205 RET_LABEL6:(void)0;
206 }
207 }
208 {
209 { /* Inline kernel#Int#< (var2,var5) on <var2:Int> */
210 /* Covariant cast for argument 0 (i) <var5:Int> isa OTHER */
211 /* <var5:Int> isa OTHER */
212 var10 = 1; /* easy <var5:Int> isa OTHER*/
213 if (unlikely(!var10)) {
214 var_class_name13 = type_kernel__Int.name;
215 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13);
216 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 325);
217 show_backtrace(1);
218 }
219 var14 = var2 < var5;
220 var8 = var14;
221 goto RET_LABEL9;
222 RET_LABEL9:(void)0;
223 }
224 }
225 var = var8;
226 goto RET_LABEL;
227 RET_LABEL:;
228 return var;
229 }
230 /* method model_base#MVisibility#< for (self: Object, Comparable): Bool */
231 short int VIRTUAL_model_base__MVisibility___60d(val* self, val* p0) {
232 short int var /* : Bool */;
233 short int var1 /* : Bool */;
234 var1 = model_base__MVisibility___60d(self, p0);
235 var = var1;
236 RET_LABEL:;
237 return var;
238 }
239 /* method model_base#Object#intrude_visibility for (self: Object): MVisibility */
240 val* model_base__Object__intrude_visibility(val* self) {
241 val* var /* : MVisibility */;
242 static val* varonce;
243 static int varonce_guard;
244 val* var1 /* : MVisibility */;
245 val* var2 /* : MVisibility */;
246 static val* varonce3;
247 val* var4 /* : String */;
248 char* var5 /* : NativeString */;
249 long var6 /* : Int */;
250 val* var7 /* : FlatString */;
251 long var8 /* : Int */;
252 if (varonce_guard) {
253 var1 = varonce;
254 } else {
255 var2 = NEW_model_base__MVisibility(&type_model_base__MVisibility);
256 if (varonce3) {
257 var4 = varonce3;
258 } else {
259 var5 = "intrude";
260 var6 = 7;
261 var7 = string__NativeString__to_s_with_length(var5, var6);
262 var4 = var7;
263 varonce3 = var4;
264 }
265 var8 = 5;
266 {
267 model_base__MVisibility__init(var2, var4, var8); /* Direct call model_base#MVisibility#init on <var2:MVisibility>*/
268 }
269 var1 = var2;
270 varonce = var1;
271 varonce_guard = 1;
272 }
273 var = var1;
274 goto RET_LABEL;
275 RET_LABEL:;
276 return var;
277 }
278 /* method model_base#Object#intrude_visibility for (self: Object): MVisibility */
279 val* VIRTUAL_model_base__Object__intrude_visibility(val* self) {
280 val* var /* : MVisibility */;
281 val* var1 /* : MVisibility */;
282 var1 = model_base__Object__intrude_visibility(self);
283 var = var1;
284 RET_LABEL:;
285 return var;
286 }
287 /* method model_base#Object#public_visibility for (self: Object): MVisibility */
288 val* model_base__Object__public_visibility(val* self) {
289 val* var /* : MVisibility */;
290 static val* varonce;
291 static int varonce_guard;
292 val* var1 /* : MVisibility */;
293 val* var2 /* : MVisibility */;
294 static val* varonce3;
295 val* var4 /* : String */;
296 char* var5 /* : NativeString */;
297 long var6 /* : Int */;
298 val* var7 /* : FlatString */;
299 long var8 /* : Int */;
300 if (varonce_guard) {
301 var1 = varonce;
302 } else {
303 var2 = NEW_model_base__MVisibility(&type_model_base__MVisibility);
304 if (varonce3) {
305 var4 = varonce3;
306 } else {
307 var5 = "public";
308 var6 = 6;
309 var7 = string__NativeString__to_s_with_length(var5, var6);
310 var4 = var7;
311 varonce3 = var4;
312 }
313 var8 = 4;
314 {
315 model_base__MVisibility__init(var2, var4, var8); /* Direct call model_base#MVisibility#init on <var2:MVisibility>*/
316 }
317 var1 = var2;
318 varonce = var1;
319 varonce_guard = 1;
320 }
321 var = var1;
322 goto RET_LABEL;
323 RET_LABEL:;
324 return var;
325 }
326 /* method model_base#Object#public_visibility for (self: Object): MVisibility */
327 val* VIRTUAL_model_base__Object__public_visibility(val* self) {
328 val* var /* : MVisibility */;
329 val* var1 /* : MVisibility */;
330 var1 = model_base__Object__public_visibility(self);
331 var = var1;
332 RET_LABEL:;
333 return var;
334 }
335 /* method model_base#Object#protected_visibility for (self: Object): MVisibility */
336 val* model_base__Object__protected_visibility(val* self) {
337 val* var /* : MVisibility */;
338 static val* varonce;
339 static int varonce_guard;
340 val* var1 /* : MVisibility */;
341 val* var2 /* : MVisibility */;
342 static val* varonce3;
343 val* var4 /* : String */;
344 char* var5 /* : NativeString */;
345 long var6 /* : Int */;
346 val* var7 /* : FlatString */;
347 long var8 /* : Int */;
348 if (varonce_guard) {
349 var1 = varonce;
350 } else {
351 var2 = NEW_model_base__MVisibility(&type_model_base__MVisibility);
352 if (varonce3) {
353 var4 = varonce3;
354 } else {
355 var5 = "protected";
356 var6 = 9;
357 var7 = string__NativeString__to_s_with_length(var5, var6);
358 var4 = var7;
359 varonce3 = var4;
360 }
361 var8 = 3;
362 {
363 model_base__MVisibility__init(var2, var4, var8); /* Direct call model_base#MVisibility#init on <var2:MVisibility>*/
364 }
365 var1 = var2;
366 varonce = var1;
367 varonce_guard = 1;
368 }
369 var = var1;
370 goto RET_LABEL;
371 RET_LABEL:;
372 return var;
373 }
374 /* method model_base#Object#protected_visibility for (self: Object): MVisibility */
375 val* VIRTUAL_model_base__Object__protected_visibility(val* self) {
376 val* var /* : MVisibility */;
377 val* var1 /* : MVisibility */;
378 var1 = model_base__Object__protected_visibility(self);
379 var = var1;
380 RET_LABEL:;
381 return var;
382 }
383 /* method model_base#Object#private_visibility for (self: Object): MVisibility */
384 val* model_base__Object__private_visibility(val* self) {
385 val* var /* : MVisibility */;
386 static val* varonce;
387 static int varonce_guard;
388 val* var1 /* : MVisibility */;
389 val* var2 /* : MVisibility */;
390 static val* varonce3;
391 val* var4 /* : String */;
392 char* var5 /* : NativeString */;
393 long var6 /* : Int */;
394 val* var7 /* : FlatString */;
395 long var8 /* : Int */;
396 if (varonce_guard) {
397 var1 = varonce;
398 } else {
399 var2 = NEW_model_base__MVisibility(&type_model_base__MVisibility);
400 if (varonce3) {
401 var4 = varonce3;
402 } else {
403 var5 = "private";
404 var6 = 7;
405 var7 = string__NativeString__to_s_with_length(var5, var6);
406 var4 = var7;
407 varonce3 = var4;
408 }
409 var8 = 2;
410 {
411 model_base__MVisibility__init(var2, var4, var8); /* Direct call model_base#MVisibility#init on <var2:MVisibility>*/
412 }
413 var1 = var2;
414 varonce = var1;
415 varonce_guard = 1;
416 }
417 var = var1;
418 goto RET_LABEL;
419 RET_LABEL:;
420 return var;
421 }
422 /* method model_base#Object#private_visibility for (self: Object): MVisibility */
423 val* VIRTUAL_model_base__Object__private_visibility(val* self) {
424 val* var /* : MVisibility */;
425 val* var1 /* : MVisibility */;
426 var1 = model_base__Object__private_visibility(self);
427 var = var1;
428 RET_LABEL:;
429 return var;
430 }
431 /* method model_base#Object#none_visibility for (self: Object): MVisibility */
432 val* model_base__Object__none_visibility(val* self) {
433 val* var /* : MVisibility */;
434 static val* varonce;
435 static int varonce_guard;
436 val* var1 /* : MVisibility */;
437 val* var2 /* : MVisibility */;
438 static val* varonce3;
439 val* var4 /* : String */;
440 char* var5 /* : NativeString */;
441 long var6 /* : Int */;
442 val* var7 /* : FlatString */;
443 long var8 /* : Int */;
444 if (varonce_guard) {
445 var1 = varonce;
446 } else {
447 var2 = NEW_model_base__MVisibility(&type_model_base__MVisibility);
448 if (varonce3) {
449 var4 = varonce3;
450 } else {
451 var5 = "none";
452 var6 = 4;
453 var7 = string__NativeString__to_s_with_length(var5, var6);
454 var4 = var7;
455 varonce3 = var4;
456 }
457 var8 = 1;
458 {
459 model_base__MVisibility__init(var2, var4, var8); /* Direct call model_base#MVisibility#init on <var2:MVisibility>*/
460 }
461 var1 = var2;
462 varonce = var1;
463 varonce_guard = 1;
464 }
465 var = var1;
466 goto RET_LABEL;
467 RET_LABEL:;
468 return var;
469 }
470 /* method model_base#Object#none_visibility for (self: Object): MVisibility */
471 val* VIRTUAL_model_base__Object__none_visibility(val* self) {
472 val* var /* : MVisibility */;
473 val* var1 /* : MVisibility */;
474 var1 = model_base__Object__none_visibility(self);
475 var = var1;
476 RET_LABEL:;
477 return var;
478 }