+#include "nitc__model.sep.0.h"
+/* method model#MVirtualType#full_name for (self: MVirtualType): String */
+val* nitc___nitc__MVirtualType___nitc__model_base__MEntity__full_name(val* self) {
+val* var /* : String */;
+val* var1 /* : MVirtualTypeProp */;
+val* var3 /* : MVirtualTypeProp */;
+val* var4 /* : String */;
+{
+{ /* Inline model#MVirtualType#mproperty (self) on <self:MVirtualType> */
+var3 = self->attrs[COLOR_nitc__model__MVirtualType___mproperty].val; /* _mproperty on <self:MVirtualType> */
+if (unlikely(var3 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1369);
+fatal_exit(1);
+}
+var1 = var3;
+RET_LABEL2:(void)0;
+}
+}
+{
+var4 = nitc___nitc__MProperty___nitc__model_base__MEntity__full_name(var1);
+}
+var = var4;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method model#MVirtualType#c_name for (self: MVirtualType): String */
+val* nitc___nitc__MVirtualType___nitc__model_base__MEntity__c_name(val* self) {
+val* var /* : String */;
+val* var1 /* : MVirtualTypeProp */;
+val* var3 /* : MVirtualTypeProp */;
+val* var4 /* : String */;
+{
+{ /* Inline model#MVirtualType#mproperty (self) on <self:MVirtualType> */
+var3 = self->attrs[COLOR_nitc__model__MVirtualType___mproperty].val; /* _mproperty on <self:MVirtualType> */
+if (unlikely(var3 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1369);
+fatal_exit(1);
+}
+var1 = var3;
+RET_LABEL2:(void)0;
+}
+}
+{
+var4 = nitc___nitc__MProperty___nitc__model_base__MEntity__c_name(var1);
+}
+var = var4;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method model#MVirtualType#init for (self: MVirtualType) */
+void nitc___nitc__MVirtualType___core__kernel__Object__init(val* self) {
+{
+((void(*)(val* self))(self->class->vft[COLOR_nitc___nitc__MVirtualType___core__kernel__Object__init]))(self); /* init on <self:MVirtualType>*/
+}
+RET_LABEL:;
+}
+/* method model#MParameterType#mclass for (self: MParameterType): MClass */
+val* nitc___nitc__MParameterType___mclass(val* self) {
+val* var /* : MClass */;
+val* var1 /* : MClass */;
+var1 = self->attrs[COLOR_nitc__model__MParameterType___mclass].val; /* _mclass on <self:MParameterType> */
+if (unlikely(var1 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1498);
+fatal_exit(1);
+}
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method model#MParameterType#mclass= for (self: MParameterType, MClass) */
+void nitc___nitc__MParameterType___mclass_61d(val* self, val* p0) {
+self->attrs[COLOR_nitc__model__MParameterType___mclass].val = p0; /* _mclass on <self:MParameterType> */
+RET_LABEL:;
+}
+/* method model#MParameterType#model for (self: MParameterType): Model */
+val* nitc___nitc__MParameterType___nitc__model_base__MEntity__model(val* self) {
+val* var /* : Model */;
+val* var1 /* : MClass */;
+val* var3 /* : MClass */;
+val* var4 /* : MModule */;
+val* var6 /* : MModule */;
+val* var7 /* : Model */;
+val* var9 /* : Model */;
+{
+{ /* Inline model#MParameterType#mclass (self) on <self:MParameterType> */
+var3 = self->attrs[COLOR_nitc__model__MParameterType___mclass].val; /* _mclass on <self:MParameterType> */
+if (unlikely(var3 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1498);
+fatal_exit(1);
+}
+var1 = var3;
+RET_LABEL2:(void)0;
+}
+}
+{
+{ /* Inline model#MClass#intro_mmodule (var1) on <var1:MClass> */
+var6 = var1->attrs[COLOR_nitc__model__MClass___intro_mmodule].val; /* _intro_mmodule on <var1:MClass> */
+if (unlikely(var6 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 380);
+fatal_exit(1);
+}
+var4 = var6;
+RET_LABEL5:(void)0;
+}
+}
+{
+{ /* Inline mmodule#MModule#model (var4) on <var4:MModule> */
+var9 = var4->attrs[COLOR_nitc__mmodule__MModule___model].val; /* _model on <var4:MModule> */
+if (unlikely(var9 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule, 78);
+fatal_exit(1);
+}
+var7 = var9;
+RET_LABEL8:(void)0;
+}
+}
+var = var7;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method model#MParameterType#rank for (self: MParameterType): Int */
+long nitc___nitc__MParameterType___rank(val* self) {
+long var /* : Int */;
+long var1 /* : Int */;
+var1 = self->attrs[COLOR_nitc__model__MParameterType___rank].l; /* _rank on <self:MParameterType> */
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method model#MParameterType#rank= for (self: MParameterType, Int) */
+void nitc___nitc__MParameterType___rank_61d(val* self, long p0) {
+self->attrs[COLOR_nitc__model__MParameterType___rank].l = p0; /* _rank on <self:MParameterType> */
+RET_LABEL:;
+}
+/* method model#MParameterType#name for (self: MParameterType): String */
+val* nitc___nitc__MParameterType___nitc__model_base__MEntity__name(val* self) {
+val* var /* : String */;
+val* var1 /* : String */;
+var1 = self->attrs[COLOR_nitc__model__MParameterType___name].val; /* _name on <self:MParameterType> */
+if (unlikely(var1 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1507);
+fatal_exit(1);
+}
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method model#MParameterType#name= for (self: MParameterType, String) */
+void nitc___nitc__MParameterType___name_61d(val* self, val* p0) {
+self->attrs[COLOR_nitc__model__MParameterType___name].val = p0; /* _name on <self:MParameterType> */
+RET_LABEL:;
+}
+/* method model#MParameterType#to_s for (self: MParameterType): String */
+val* nitc___nitc__MParameterType___core__abstract_text__Object__to_s(val* self) {
+val* var /* : String */;
+val* var1 /* : String */;
+val* var3 /* : String */;
+{
+{ /* Inline model#MParameterType#name (self) on <self:MParameterType> */
+var3 = self->attrs[COLOR_nitc__model__MParameterType___name].val; /* _name on <self:MParameterType> */
+if (unlikely(var3 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1507);
+fatal_exit(1);
+}
+var1 = var3;
+RET_LABEL2:(void)0;
+}
+}
+var = var1;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method model#MParameterType#full_name for (self: MParameterType): String */
+val* nitc___nitc__MParameterType___nitc__model_base__MEntity__full_name(val* self) {
+val* var /* : String */;
+short int var1 /* : Bool */;
+val* var2 /* : String */;
+val* var3 /* : String */;
+val* var5 /* : NativeArray[String] */;
+static val* varonce;
+static val* varonce6;
+val* var7 /* : String */;
+char* var8 /* : NativeString */;
+val* var9 /* : String */;
+val* var10 /* : MClass */;
+val* var12 /* : MClass */;
+val* var13 /* : String */;
+val* var14 /* : String */;
+val* var16 /* : String */;
+val* var17 /* : String */;
+var1 = self->attrs[COLOR_nitc__model__MParameterType___full_name].val != NULL; /* _full_name on <self:MParameterType> */
+if(likely(var1)) {
+var2 = self->attrs[COLOR_nitc__model__MParameterType___full_name].val; /* _full_name on <self:MParameterType> */
+if (unlikely(var2 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _full_name");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1511);
+fatal_exit(1);
+}
+} else {
+{
+if (unlikely(varonce==NULL)) {
+var5 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String);
+if (likely(varonce6!=NULL)) {
+var7 = varonce6;
+} else {
+var8 = "::";
+var9 = core__flat___NativeString___to_s_full(var8, 2l, 2l);
+var7 = var9;
+varonce6 = var7;
+}
+((struct instance_core__NativeArray*)var5)->values[1]=var7;
+} else {
+var5 = varonce;
+varonce = NULL;
+}
+{
+{ /* Inline model#MParameterType#mclass (self) on <self:MParameterType> */
+var12 = self->attrs[COLOR_nitc__model__MParameterType___mclass].val; /* _mclass on <self:MParameterType> */
+if (unlikely(var12 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1498);
+fatal_exit(1);
+}
+var10 = var12;
+RET_LABEL11:(void)0;
+}
+}
+{
+var13 = nitc___nitc__MClass___nitc__model_base__MEntity__full_name(var10);
+}
+((struct instance_core__NativeArray*)var5)->values[0]=var13;
+{
+{ /* Inline model#MParameterType#name (self) on <self:MParameterType> */
+var16 = self->attrs[COLOR_nitc__model__MParameterType___name].val; /* _name on <self:MParameterType> */
+if (unlikely(var16 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1507);
+fatal_exit(1);
+}
+var14 = var16;
+RET_LABEL15:(void)0;
+}
+}
+((struct instance_core__NativeArray*)var5)->values[2]=var14;
+{
+var17 = ((val*(*)(val* self))(var5->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var5); /* native_to_s on <var5:NativeArray[String]>*/
+}
+varonce = var5;
+var3 = var17;
+goto RET_LABEL4;
+RET_LABEL4:(void)0;
+}
+self->attrs[COLOR_nitc__model__MParameterType___full_name].val = var3; /* _full_name on <self:MParameterType> */
+var2 = var3;
+}
+var = var2;
+RET_LABEL:;
+return var;
+}