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