#include "nitc__model_base.sep.0.h"
-/* method model_base#Model#model for (self: Model): Model */
+/* method model_base$Model$model for (self: Model): Model */
val* nitc___nitc__Model___MEntity__model(val* self) {
val* var /* : Model */;
var = self;
RET_LABEL:;
return var;
}
-/* method model_base#MEntity#name for (self: MEntity): String */
+/* method model_base$Model$no_location for (self: Model): Location */
+val* nitc___nitc__Model___no_location(val* self) {
+val* var /* : Location */;
+val* var1 /* : Location */;
+var1 = self->attrs[COLOR_nitc__model_base__Model___no_location].val; /* _no_location on <self:Model> */
+if (unlikely(var1 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _no_location");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model_base, 28);
+fatal_exit(1);
+}
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method model_base$MEntity$name for (self: MEntity): String */
val* nitc___nitc__MEntity___name(val* self) {
val* var /* : String */;
const char* var_class_name;
var_class_name = self == NULL ? "null" : self->type->name;
PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "name", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model_base, 31);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model_base, 37);
fatal_exit(1);
RET_LABEL:;
return var;
}
-/* method model_base#MEntity#full_name for (self: MEntity): String */
+/* method model_base$MEntity$full_name for (self: MEntity): String */
val* nitc___nitc__MEntity___full_name(val* self) {
val* var /* : String */;
const char* var_class_name;
var_class_name = self == NULL ? "null" : self->type->name;
PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "full_name", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model_base, 40);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model_base, 46);
fatal_exit(1);
RET_LABEL:;
return var;
}
-/* method model_base#MEntity#c_name for (self: MEntity): String */
+/* method model_base$MEntity$c_name for (self: MEntity): String */
val* nitc___nitc__MEntity___c_name(val* self) {
val* var /* : String */;
const char* var_class_name;
var_class_name = self == NULL ? "null" : self->type->name;
PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "c_name", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model_base, 53);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model_base, 59);
+fatal_exit(1);
+RET_LABEL:;
+return var;
+}
+/* method model_base$MEntity$location for (self: MEntity): Location */
+val* nitc___nitc__MEntity___location(val* self) {
+val* var /* : Location */;
+val* var1 /* : Model */;
+val* var2 /* : Location */;
+val* var4 /* : Location */;
+{
+var1 = ((val*(*)(val* self))(self->class->vft[COLOR_nitc__model_base__MEntity__model]))(self); /* model on <self:MEntity>*/
+}
+{
+{ /* Inline model_base$Model$no_location (var1) on <var1:Model> */
+var4 = var1->attrs[COLOR_nitc__model_base__Model___no_location].val; /* _no_location on <var1:Model> */
+if (unlikely(var4 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _no_location");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model_base, 28);
fatal_exit(1);
+}
+var2 = var4;
+RET_LABEL3:(void)0;
+}
+}
+var = var2;
+goto RET_LABEL;
RET_LABEL:;
return var;
}
-/* method model_base#MEntity#model for (self: MEntity): Model */
+/* method model_base$MEntity$model for (self: MEntity): Model */
val* nitc___nitc__MEntity___model(val* self) {
val* var /* : Model */;
const char* var_class_name;
var_class_name = self == NULL ? "null" : self->type->name;
PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "model", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model_base, 68);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model_base, 84);
fatal_exit(1);
RET_LABEL:;
return var;
}
-/* method model_base#MEntity#is_broken for (self: MEntity): Bool */
+/* method model_base$MEntity$is_broken for (self: MEntity): Bool */
short int nitc___nitc__MEntity___is_broken(val* self) {
short int var /* : Bool */;
short int var1 /* : Bool */;
RET_LABEL:;
return var;
}
-/* method model_base#MEntity#is_broken= for (self: MEntity, Bool) */
+/* method model_base$MEntity$is_broken= for (self: MEntity, Bool) */
void nitc___nitc__MEntity___is_broken_61d(val* self, short int p0) {
self->attrs[COLOR_nitc__model_base__MEntity___is_broken].s = p0; /* _is_broken on <self:MEntity> */
RET_LABEL:;
}
-/* method model_base#MEntity#is_fictive for (self: MEntity): Bool */
+/* method model_base$MEntity$is_fictive for (self: MEntity): Bool */
short int nitc___nitc__MEntity___is_fictive(val* self) {
short int var /* : Bool */;
short int var1 /* : Bool */;
RET_LABEL:;
return var;
}
-/* method model_base#MEntity#is_fictive= for (self: MEntity, Bool) */
+/* method model_base$MEntity$is_fictive= for (self: MEntity, Bool) */
void nitc___nitc__MEntity___is_fictive_61d(val* self, short int p0) {
self->attrs[COLOR_nitc__model_base__MEntity___is_fictive].s = p0; /* _is_fictive on <self:MEntity> */
RET_LABEL:;
}
-/* method model_base#MVisibility#to_s for (self: MVisibility): String */
+/* method model_base$MVisibility$to_s for (self: MVisibility): String */
val* nitc___nitc__MVisibility___core__abstract_text__Object__to_s(val* self) {
val* var /* : String */;
val* var1 /* : String */;
var1 = self->attrs[COLOR_nitc__model_base__MVisibility___to_s].val; /* _to_s on <self:MVisibility> */
if (unlikely(var1 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _to_s");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model_base, 114);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model_base, 130);
fatal_exit(1);
}
var = var1;
RET_LABEL:;
return var;
}
-/* method model_base#MVisibility#to_s= for (self: MVisibility, String) */
+/* method model_base$MVisibility$to_s= for (self: MVisibility, String) */
void nitc___nitc__MVisibility___to_s_61d(val* self, val* p0) {
self->attrs[COLOR_nitc__model_base__MVisibility___to_s].val = p0; /* _to_s on <self:MVisibility> */
RET_LABEL:;
}
-/* method model_base#MVisibility#level for (self: MVisibility): Int */
+/* method model_base$MVisibility$level for (self: MVisibility): Int */
long nitc___nitc__MVisibility___level(val* self) {
long var /* : Int */;
long var1 /* : Int */;
RET_LABEL:;
return var;
}
-/* method model_base#MVisibility#level= for (self: MVisibility, Int) */
+/* method model_base$MVisibility$level= for (self: MVisibility, Int) */
void nitc___nitc__MVisibility___level_61d(val* self, long p0) {
self->attrs[COLOR_nitc__model_base__MVisibility___level].l = p0; /* _level on <self:MVisibility> */
RET_LABEL:;
}
-/* method model_base#MVisibility#< for (self: MVisibility, MVisibility): Bool */
+/* method model_base$MVisibility$< for (self: MVisibility, MVisibility): Bool */
short int nitc___nitc__MVisibility___core__kernel__Comparable___60d(val* self, val* p0) {
short int var /* : Bool */;
short int var1 /* : Bool */;
if (unlikely(!var1)) {
var_class_name = p0 == NULL ? "null" : p0->type->name;
PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model_base, 120);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model_base, 136);
fatal_exit(1);
}
var_other = p0;
{
-{ /* Inline model_base#MVisibility#level (self) on <self:MVisibility> */
+{ /* Inline model_base$MVisibility$level (self) on <self:MVisibility> */
var4 = self->attrs[COLOR_nitc__model_base__MVisibility___level].l; /* _level on <self:MVisibility> */
var2 = var4;
RET_LABEL3:(void)0;
}
}
{
-{ /* Inline model_base#MVisibility#level (var_other) on <var_other:MVisibility> */
+{ /* Inline model_base$MVisibility$level (var_other) on <var_other:MVisibility> */
var7 = var_other->attrs[COLOR_nitc__model_base__MVisibility___level].l; /* _level on <var_other:MVisibility> */
var5 = var7;
RET_LABEL6:(void)0;
}
}
{
-{ /* Inline kernel#Int#< (var2,var5) on <var2:Int> */
+{ /* Inline kernel$Int$< (var2,var5) on <var2:Int> */
/* Covariant cast for argument 0 (i) <var5:Int> isa OTHER */
/* <var5:Int> isa OTHER */
var10 = 1; /* easy <var5:Int> isa OTHER*/
if (unlikely(!var10)) {
var_class_name13 = type_core__Int.name;
PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13);
-PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725);
fatal_exit(1);
}
var14 = var2 < var5;
RET_LABEL:;
return var;
}
-/* method model_base#MVisibility#init for (self: MVisibility) */
+/* method model_base$MVisibility$init for (self: MVisibility) */
void nitc___nitc__MVisibility___core__kernel__Object__init(val* self) {
{
((void(*)(val* self))(self->class->vft[COLOR_nitc___nitc__MVisibility___core__kernel__Object__init]))(self); /* init on <self:MVisibility>*/
}
RET_LABEL:;
}
-/* method model_base#Sys#intrude_visibility for (self: Sys): MVisibility */
+/* method model_base$Sys$intrude_visibility for (self: Sys): MVisibility */
val* nitc__model_base___core__Sys___intrude_visibility(val* self) {
val* var /* : MVisibility */;
static val* varonce;
val* var2 /* : MVisibility */;
static val* varonce3;
val* var4 /* : String */;
-char* var5 /* : NativeString */;
+char* var5 /* : CString */;
val* var6 /* : String */;
+val* var7 /* : nullable Int */;
+val* var8 /* : nullable Int */;
+val* var9 /* : nullable Bool */;
+val* var10 /* : nullable Bool */;
if (likely(varonce_guard)) {
var1 = varonce;
} else {
var4 = varonce3;
} else {
var5 = "intrude";
-var6 = core__flat___NativeString___to_s_full(var5, 7l, 7l);
+var7 = (val*)(7l<<2|1);
+var8 = (val*)(7l<<2|1);
+var9 = (val*)((long)(0)<<2|3);
+var10 = (val*)((long)(0)<<2|3);
+var6 = core__flat___CString___to_s_unsafe(var5, var7, var8, var9, var10);
var4 = var6;
varonce3 = var4;
}
RET_LABEL:;
return var;
}
-/* method model_base#Sys#public_visibility for (self: Sys): MVisibility */
+/* method model_base$Sys$public_visibility for (self: Sys): MVisibility */
val* nitc__model_base___core__Sys___public_visibility(val* self) {
val* var /* : MVisibility */;
static val* varonce;
val* var2 /* : MVisibility */;
static val* varonce3;
val* var4 /* : String */;
-char* var5 /* : NativeString */;
+char* var5 /* : CString */;
val* var6 /* : String */;
+val* var7 /* : nullable Int */;
+val* var8 /* : nullable Int */;
+val* var9 /* : nullable Bool */;
+val* var10 /* : nullable Bool */;
if (likely(varonce_guard)) {
var1 = varonce;
} else {
var4 = varonce3;
} else {
var5 = "public";
-var6 = core__flat___NativeString___to_s_full(var5, 6l, 6l);
+var7 = (val*)(6l<<2|1);
+var8 = (val*)(6l<<2|1);
+var9 = (val*)((long)(0)<<2|3);
+var10 = (val*)((long)(0)<<2|3);
+var6 = core__flat___CString___to_s_unsafe(var5, var7, var8, var9, var10);
var4 = var6;
varonce3 = var4;
}
RET_LABEL:;
return var;
}
-/* method model_base#Sys#protected_visibility for (self: Sys): MVisibility */
+/* method model_base$Sys$protected_visibility for (self: Sys): MVisibility */
val* nitc__model_base___core__Sys___protected_visibility(val* self) {
val* var /* : MVisibility */;
static val* varonce;
val* var2 /* : MVisibility */;
static val* varonce3;
val* var4 /* : String */;
-char* var5 /* : NativeString */;
+char* var5 /* : CString */;
val* var6 /* : String */;
+val* var7 /* : nullable Int */;
+val* var8 /* : nullable Int */;
+val* var9 /* : nullable Bool */;
+val* var10 /* : nullable Bool */;
if (likely(varonce_guard)) {
var1 = varonce;
} else {
var4 = varonce3;
} else {
var5 = "protected";
-var6 = core__flat___NativeString___to_s_full(var5, 9l, 9l);
+var7 = (val*)(9l<<2|1);
+var8 = (val*)(9l<<2|1);
+var9 = (val*)((long)(0)<<2|3);
+var10 = (val*)((long)(0)<<2|3);
+var6 = core__flat___CString___to_s_unsafe(var5, var7, var8, var9, var10);
var4 = var6;
varonce3 = var4;
}
RET_LABEL:;
return var;
}
-/* method model_base#Sys#private_visibility for (self: Sys): MVisibility */
+/* method model_base$Sys$private_visibility for (self: Sys): MVisibility */
val* nitc__model_base___core__Sys___private_visibility(val* self) {
val* var /* : MVisibility */;
static val* varonce;
val* var2 /* : MVisibility */;
static val* varonce3;
val* var4 /* : String */;
-char* var5 /* : NativeString */;
+char* var5 /* : CString */;
val* var6 /* : String */;
+val* var7 /* : nullable Int */;
+val* var8 /* : nullable Int */;
+val* var9 /* : nullable Bool */;
+val* var10 /* : nullable Bool */;
if (likely(varonce_guard)) {
var1 = varonce;
} else {
var4 = varonce3;
} else {
var5 = "private";
-var6 = core__flat___NativeString___to_s_full(var5, 7l, 7l);
+var7 = (val*)(7l<<2|1);
+var8 = (val*)(7l<<2|1);
+var9 = (val*)((long)(0)<<2|3);
+var10 = (val*)((long)(0)<<2|3);
+var6 = core__flat___CString___to_s_unsafe(var5, var7, var8, var9, var10);
var4 = var6;
varonce3 = var4;
}
RET_LABEL:;
return var;
}
-/* method model_base#Sys#none_visibility for (self: Sys): MVisibility */
+/* method model_base$Sys$none_visibility for (self: Sys): MVisibility */
val* nitc__model_base___core__Sys___none_visibility(val* self) {
val* var /* : MVisibility */;
static val* varonce;
val* var2 /* : MVisibility */;
static val* varonce3;
val* var4 /* : String */;
-char* var5 /* : NativeString */;
+char* var5 /* : CString */;
val* var6 /* : String */;
+val* var7 /* : nullable Int */;
+val* var8 /* : nullable Int */;
+val* var9 /* : nullable Bool */;
+val* var10 /* : nullable Bool */;
if (likely(varonce_guard)) {
var1 = varonce;
} else {
var4 = varonce3;
} else {
var5 = "none";
-var6 = core__flat___NativeString___to_s_full(var5, 4l, 4l);
+var7 = (val*)(4l<<2|1);
+var8 = (val*)(4l<<2|1);
+var9 = (val*)((long)(0)<<2|3);
+var10 = (val*)((long)(0)<<2|3);
+var6 = core__flat___CString___to_s_unsafe(var5, var7, var8, var9, var10);
var4 = var6;
varonce3 = var4;
}