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