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