c_src: regenerate
[nit.git] / c_src / nitc__nitni_base.sep.1.c
diff --git a/c_src/nitc__nitni_base.sep.1.c b/c_src/nitc__nitni_base.sep.1.c
new file mode 100644 (file)
index 0000000..d1efe7c
--- /dev/null
@@ -0,0 +1,2420 @@
+#include "nitc__nitni_base.sep.0.h"
+/* method nitni_base#MMethod#short_cname for (self: MMethod): String */
+val* nitc__nitni_base___MMethod___short_cname(val* self) {
+val* var /* : String */;
+val* var1 /* : String */;
+val* var3 /* : String */;
+val* var_nit_name /* var nit_name: String */;
+static val* varonce;
+val* var4 /* : String */;
+char* var5 /* : NativeString */;
+val* var6 /* : String */;
+short int var7 /* : Bool */;
+static val* varonce8;
+val* var9 /* : String */;
+char* var10 /* : NativeString */;
+val* var11 /* : String */;
+static val* varonce12;
+val* var13 /* : String */;
+char* var14 /* : NativeString */;
+val* var15 /* : String */;
+short int var16 /* : Bool */;
+static val* varonce17;
+val* var18 /* : String */;
+char* var19 /* : NativeString */;
+val* var20 /* : String */;
+static val* varonce21;
+val* var22 /* : String */;
+char* var23 /* : NativeString */;
+val* var24 /* : String */;
+short int var25 /* : Bool */;
+static val* varonce26;
+val* var27 /* : String */;
+char* var28 /* : NativeString */;
+val* var29 /* : String */;
+static val* varonce30;
+val* var31 /* : String */;
+char* var32 /* : NativeString */;
+val* var33 /* : String */;
+short int var34 /* : Bool */;
+static val* varonce35;
+val* var36 /* : String */;
+char* var37 /* : NativeString */;
+val* var38 /* : String */;
+static val* varonce39;
+val* var40 /* : String */;
+char* var41 /* : NativeString */;
+val* var42 /* : String */;
+short int var43 /* : Bool */;
+static val* varonce44;
+val* var45 /* : String */;
+char* var46 /* : NativeString */;
+val* var47 /* : String */;
+static val* varonce48;
+val* var49 /* : String */;
+char* var50 /* : NativeString */;
+val* var51 /* : String */;
+short int var52 /* : Bool */;
+static val* varonce53;
+val* var54 /* : String */;
+char* var55 /* : NativeString */;
+val* var56 /* : String */;
+static val* varonce57;
+val* var58 /* : String */;
+char* var59 /* : NativeString */;
+val* var60 /* : String */;
+short int var61 /* : Bool */;
+static val* varonce62;
+val* var63 /* : String */;
+char* var64 /* : NativeString */;
+val* var65 /* : String */;
+static val* varonce66;
+val* var67 /* : String */;
+char* var68 /* : NativeString */;
+val* var69 /* : String */;
+short int var70 /* : Bool */;
+static val* varonce71;
+val* var72 /* : String */;
+char* var73 /* : NativeString */;
+val* var74 /* : String */;
+static val* varonce75;
+val* var76 /* : String */;
+char* var77 /* : NativeString */;
+val* var78 /* : String */;
+short int var79 /* : Bool */;
+static val* varonce80;
+val* var81 /* : String */;
+char* var82 /* : NativeString */;
+val* var83 /* : String */;
+static val* varonce84;
+val* var85 /* : String */;
+char* var86 /* : NativeString */;
+val* var87 /* : String */;
+short int var88 /* : Bool */;
+static val* varonce89;
+val* var90 /* : String */;
+char* var91 /* : NativeString */;
+val* var92 /* : String */;
+static val* varonce93;
+val* var94 /* : String */;
+char* var95 /* : NativeString */;
+val* var96 /* : String */;
+short int var97 /* : Bool */;
+static val* varonce98;
+val* var99 /* : String */;
+char* var100 /* : NativeString */;
+val* var101 /* : String */;
+static val* varonce102;
+val* var103 /* : String */;
+char* var104 /* : NativeString */;
+val* var105 /* : String */;
+short int var106 /* : Bool */;
+static val* varonce107;
+val* var108 /* : String */;
+char* var109 /* : NativeString */;
+val* var110 /* : String */;
+static val* varonce111;
+val* var112 /* : String */;
+char* var113 /* : NativeString */;
+val* var114 /* : String */;
+short int var115 /* : Bool */;
+static val* varonce116;
+val* var117 /* : String */;
+char* var118 /* : NativeString */;
+val* var119 /* : String */;
+static val* varonce120;
+val* var121 /* : String */;
+char* var122 /* : NativeString */;
+val* var123 /* : String */;
+short int var124 /* : Bool */;
+static val* varonce125;
+val* var126 /* : String */;
+char* var127 /* : NativeString */;
+val* var128 /* : String */;
+static val* varonce129;
+val* var130 /* : String */;
+char* var131 /* : NativeString */;
+val* var132 /* : String */;
+short int var133 /* : Bool */;
+static val* varonce134;
+val* var135 /* : String */;
+char* var136 /* : NativeString */;
+val* var137 /* : String */;
+static val* varonce138;
+val* var139 /* : String */;
+char* var140 /* : NativeString */;
+val* var141 /* : String */;
+short int var142 /* : Bool */;
+static val* varonce143;
+val* var144 /* : String */;
+char* var145 /* : NativeString */;
+val* var146 /* : String */;
+static val* varonce147;
+val* var148 /* : String */;
+char* var149 /* : NativeString */;
+val* var150 /* : String */;
+short int var151 /* : Bool */;
+static val* varonce152;
+val* var153 /* : String */;
+char* var154 /* : NativeString */;
+val* var155 /* : String */;
+static val* varonce156;
+val* var157 /* : String */;
+char* var158 /* : NativeString */;
+val* var159 /* : String */;
+short int var160 /* : Bool */;
+static val* varonce161;
+val* var162 /* : String */;
+char* var163 /* : NativeString */;
+val* var164 /* : String */;
+static val* varonce165;
+val* var166 /* : String */;
+char* var167 /* : NativeString */;
+val* var168 /* : String */;
+short int var169 /* : Bool */;
+static val* varonce170;
+val* var171 /* : String */;
+char* var172 /* : NativeString */;
+val* var173 /* : String */;
+static val* varonce174;
+val* var175 /* : String */;
+char* var176 /* : NativeString */;
+val* var177 /* : String */;
+short int var178 /* : Bool */;
+static val* varonce179;
+val* var180 /* : String */;
+char* var181 /* : NativeString */;
+val* var182 /* : String */;
+static val* varonce183;
+val* var184 /* : String */;
+char* var185 /* : NativeString */;
+val* var186 /* : String */;
+short int var187 /* : Bool */;
+static val* varonce188;
+val* var189 /* : String */;
+char* var190 /* : NativeString */;
+val* var191 /* : String */;
+static val* varonce192;
+val* var193 /* : String */;
+char* var194 /* : NativeString */;
+val* var195 /* : String */;
+short int var196 /* : Bool */;
+static val* varonce197;
+val* var198 /* : String */;
+char* var199 /* : NativeString */;
+val* var200 /* : String */;
+static val* varonce201;
+val* var202 /* : String */;
+char* var203 /* : NativeString */;
+val* var204 /* : String */;
+short int var205 /* : Bool */;
+static val* varonce206;
+val* var207 /* : String */;
+char* var208 /* : NativeString */;
+val* var209 /* : String */;
+val* var210 /* : SequenceRead[Char] */;
+val* var211 /* : nullable Object */;
+short int var212 /* : Bool */;
+short int var214 /* : Bool */;
+uint32_t var215 /* : Char */;
+val* var217 /* : NativeArray[String] */;
+static val* varonce216;
+static val* varonce218;
+val* var219 /* : String */;
+char* var220 /* : NativeString */;
+val* var221 /* : String */;
+long var222 /* : Int */;
+long var223 /* : Int */;
+short int var225 /* : Bool */;
+int cltype;
+int idtype;
+const char* var_class_name;
+long var226 /* : Int */;
+val* var227 /* : Text */;
+val* var228 /* : String */;
+{
+{ /* Inline model#MProperty#name (self) on <self:MMethod> */
+var3 = self->attrs[COLOR_nitc__model__MProperty___name].val; /* _name on <self:MMethod> */
+if (unlikely(var3 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1951);
+fatal_exit(1);
+}
+var1 = var3;
+RET_LABEL2:(void)0;
+}
+}
+var_nit_name = var1;
+if (likely(varonce!=NULL)) {
+var4 = varonce;
+} else {
+var5 = "+";
+var6 = core__flat___NativeString___to_s_full(var5, 1l, 1l);
+var4 = var6;
+varonce = var4;
+}
+{
+var7 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nit_name, var4); /* == on <var_nit_name:String>*/
+}
+if (var7){
+if (likely(varonce8!=NULL)) {
+var9 = varonce8;
+} else {
+var10 = "_plus";
+var11 = core__flat___NativeString___to_s_full(var10, 5l, 5l);
+var9 = var11;
+varonce8 = var9;
+}
+var = var9;
+goto RET_LABEL;
+} else {
+}
+if (likely(varonce12!=NULL)) {
+var13 = varonce12;
+} else {
+var14 = "-";
+var15 = core__flat___NativeString___to_s_full(var14, 1l, 1l);
+var13 = var15;
+varonce12 = var13;
+}
+{
+var16 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nit_name, var13); /* == on <var_nit_name:String>*/
+}
+if (var16){
+if (likely(varonce17!=NULL)) {
+var18 = varonce17;
+} else {
+var19 = "_minus";
+var20 = core__flat___NativeString___to_s_full(var19, 6l, 6l);
+var18 = var20;
+varonce17 = var18;
+}
+var = var18;
+goto RET_LABEL;
+} else {
+}
+if (likely(varonce21!=NULL)) {
+var22 = varonce21;
+} else {
+var23 = "unary -";
+var24 = core__flat___NativeString___to_s_full(var23, 7l, 7l);
+var22 = var24;
+varonce21 = var22;
+}
+{
+var25 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nit_name, var22); /* == on <var_nit_name:String>*/
+}
+if (var25){
+if (likely(varonce26!=NULL)) {
+var27 = varonce26;
+} else {
+var28 = "_unary_minus";
+var29 = core__flat___NativeString___to_s_full(var28, 12l, 12l);
+var27 = var29;
+varonce26 = var27;
+}
+var = var27;
+goto RET_LABEL;
+} else {
+}
+if (likely(varonce30!=NULL)) {
+var31 = varonce30;
+} else {
+var32 = "unary +";
+var33 = core__flat___NativeString___to_s_full(var32, 7l, 7l);
+var31 = var33;
+varonce30 = var31;
+}
+{
+var34 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nit_name, var31); /* == on <var_nit_name:String>*/
+}
+if (var34){
+if (likely(varonce35!=NULL)) {
+var36 = varonce35;
+} else {
+var37 = "_unary_plus";
+var38 = core__flat___NativeString___to_s_full(var37, 11l, 11l);
+var36 = var38;
+varonce35 = var36;
+}
+var = var36;
+goto RET_LABEL;
+} else {
+}
+if (likely(varonce39!=NULL)) {
+var40 = varonce39;
+} else {
+var41 = "unary ~";
+var42 = core__flat___NativeString___to_s_full(var41, 7l, 7l);
+var40 = var42;
+varonce39 = var40;
+}
+{
+var43 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nit_name, var40); /* == on <var_nit_name:String>*/
+}
+if (var43){
+if (likely(varonce44!=NULL)) {
+var45 = varonce44;
+} else {
+var46 = "_unary_tilde";
+var47 = core__flat___NativeString___to_s_full(var46, 12l, 12l);
+var45 = var47;
+varonce44 = var45;
+}
+var = var45;
+goto RET_LABEL;
+} else {
+}
+if (likely(varonce48!=NULL)) {
+var49 = varonce48;
+} else {
+var50 = "*";
+var51 = core__flat___NativeString___to_s_full(var50, 1l, 1l);
+var49 = var51;
+varonce48 = var49;
+}
+{
+var52 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nit_name, var49); /* == on <var_nit_name:String>*/
+}
+if (var52){
+if (likely(varonce53!=NULL)) {
+var54 = varonce53;
+} else {
+var55 = "_star";
+var56 = core__flat___NativeString___to_s_full(var55, 5l, 5l);
+var54 = var56;
+varonce53 = var54;
+}
+var = var54;
+goto RET_LABEL;
+} else {
+}
+if (likely(varonce57!=NULL)) {
+var58 = varonce57;
+} else {
+var59 = "/";
+var60 = core__flat___NativeString___to_s_full(var59, 1l, 1l);
+var58 = var60;
+varonce57 = var58;
+}
+{
+var61 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nit_name, var58); /* == on <var_nit_name:String>*/
+}
+if (var61){
+if (likely(varonce62!=NULL)) {
+var63 = varonce62;
+} else {
+var64 = "_slash";
+var65 = core__flat___NativeString___to_s_full(var64, 6l, 6l);
+var63 = var65;
+varonce62 = var63;
+}
+var = var63;
+goto RET_LABEL;
+} else {
+}
+if (likely(varonce66!=NULL)) {
+var67 = varonce66;
+} else {
+var68 = "%";
+var69 = core__flat___NativeString___to_s_full(var68, 1l, 1l);
+var67 = var69;
+varonce66 = var67;
+}
+{
+var70 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nit_name, var67); /* == on <var_nit_name:String>*/
+}
+if (var70){
+if (likely(varonce71!=NULL)) {
+var72 = varonce71;
+} else {
+var73 = "_percent";
+var74 = core__flat___NativeString___to_s_full(var73, 8l, 8l);
+var72 = var74;
+varonce71 = var72;
+}
+var = var72;
+goto RET_LABEL;
+} else {
+}
+if (likely(varonce75!=NULL)) {
+var76 = varonce75;
+} else {
+var77 = "[]";
+var78 = core__flat___NativeString___to_s_full(var77, 2l, 2l);
+var76 = var78;
+varonce75 = var76;
+}
+{
+var79 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nit_name, var76); /* == on <var_nit_name:String>*/
+}
+if (var79){
+if (likely(varonce80!=NULL)) {
+var81 = varonce80;
+} else {
+var82 = "_index";
+var83 = core__flat___NativeString___to_s_full(var82, 6l, 6l);
+var81 = var83;
+varonce80 = var81;
+}
+var = var81;
+goto RET_LABEL;
+} else {
+}
+if (likely(varonce84!=NULL)) {
+var85 = varonce84;
+} else {
+var86 = "[]=";
+var87 = core__flat___NativeString___to_s_full(var86, 3l, 3l);
+var85 = var87;
+varonce84 = var85;
+}
+{
+var88 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nit_name, var85); /* == on <var_nit_name:String>*/
+}
+if (var88){
+if (likely(varonce89!=NULL)) {
+var90 = varonce89;
+} else {
+var91 = "_index_assign";
+var92 = core__flat___NativeString___to_s_full(var91, 13l, 13l);
+var90 = var92;
+varonce89 = var90;
+}
+var = var90;
+goto RET_LABEL;
+} else {
+}
+if (likely(varonce93!=NULL)) {
+var94 = varonce93;
+} else {
+var95 = "==";
+var96 = core__flat___NativeString___to_s_full(var95, 2l, 2l);
+var94 = var96;
+varonce93 = var94;
+}
+{
+var97 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nit_name, var94); /* == on <var_nit_name:String>*/
+}
+if (var97){
+if (likely(varonce98!=NULL)) {
+var99 = varonce98;
+} else {
+var100 = "_equal";
+var101 = core__flat___NativeString___to_s_full(var100, 6l, 6l);
+var99 = var101;
+varonce98 = var99;
+}
+var = var99;
+goto RET_LABEL;
+} else {
+}
+if (likely(varonce102!=NULL)) {
+var103 = varonce102;
+} else {
+var104 = "<";
+var105 = core__flat___NativeString___to_s_full(var104, 1l, 1l);
+var103 = var105;
+varonce102 = var103;
+}
+{
+var106 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nit_name, var103); /* == on <var_nit_name:String>*/
+}
+if (var106){
+if (likely(varonce107!=NULL)) {
+var108 = varonce107;
+} else {
+var109 = "_less";
+var110 = core__flat___NativeString___to_s_full(var109, 5l, 5l);
+var108 = var110;
+varonce107 = var108;
+}
+var = var108;
+goto RET_LABEL;
+} else {
+}
+if (likely(varonce111!=NULL)) {
+var112 = varonce111;
+} else {
+var113 = ">";
+var114 = core__flat___NativeString___to_s_full(var113, 1l, 1l);
+var112 = var114;
+varonce111 = var112;
+}
+{
+var115 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nit_name, var112); /* == on <var_nit_name:String>*/
+}
+if (var115){
+if (likely(varonce116!=NULL)) {
+var117 = varonce116;
+} else {
+var118 = "_greater";
+var119 = core__flat___NativeString___to_s_full(var118, 8l, 8l);
+var117 = var119;
+varonce116 = var117;
+}
+var = var117;
+goto RET_LABEL;
+} else {
+}
+if (likely(varonce120!=NULL)) {
+var121 = varonce120;
+} else {
+var122 = "<=";
+var123 = core__flat___NativeString___to_s_full(var122, 2l, 2l);
+var121 = var123;
+varonce120 = var121;
+}
+{
+var124 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nit_name, var121); /* == on <var_nit_name:String>*/
+}
+if (var124){
+if (likely(varonce125!=NULL)) {
+var126 = varonce125;
+} else {
+var127 = "_less_or_equal";
+var128 = core__flat___NativeString___to_s_full(var127, 14l, 14l);
+var126 = var128;
+varonce125 = var126;
+}
+var = var126;
+goto RET_LABEL;
+} else {
+}
+if (likely(varonce129!=NULL)) {
+var130 = varonce129;
+} else {
+var131 = ">=";
+var132 = core__flat___NativeString___to_s_full(var131, 2l, 2l);
+var130 = var132;
+varonce129 = var130;
+}
+{
+var133 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nit_name, var130); /* == on <var_nit_name:String>*/
+}
+if (var133){
+if (likely(varonce134!=NULL)) {
+var135 = varonce134;
+} else {
+var136 = "_greater_or_equal";
+var137 = core__flat___NativeString___to_s_full(var136, 17l, 17l);
+var135 = var137;
+varonce134 = var135;
+}
+var = var135;
+goto RET_LABEL;
+} else {
+}
+if (likely(varonce138!=NULL)) {
+var139 = varonce138;
+} else {
+var140 = "!=";
+var141 = core__flat___NativeString___to_s_full(var140, 2l, 2l);
+var139 = var141;
+varonce138 = var139;
+}
+{
+var142 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nit_name, var139); /* == on <var_nit_name:String>*/
+}
+if (var142){
+if (likely(varonce143!=NULL)) {
+var144 = varonce143;
+} else {
+var145 = "_not_equal";
+var146 = core__flat___NativeString___to_s_full(var145, 10l, 10l);
+var144 = var146;
+varonce143 = var144;
+}
+var = var144;
+goto RET_LABEL;
+} else {
+}
+if (likely(varonce147!=NULL)) {
+var148 = varonce147;
+} else {
+var149 = "<<";
+var150 = core__flat___NativeString___to_s_full(var149, 2l, 2l);
+var148 = var150;
+varonce147 = var148;
+}
+{
+var151 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nit_name, var148); /* == on <var_nit_name:String>*/
+}
+if (var151){
+if (likely(varonce152!=NULL)) {
+var153 = varonce152;
+} else {
+var154 = "_left";
+var155 = core__flat___NativeString___to_s_full(var154, 5l, 5l);
+var153 = var155;
+varonce152 = var153;
+}
+var = var153;
+goto RET_LABEL;
+} else {
+}
+if (likely(varonce156!=NULL)) {
+var157 = varonce156;
+} else {
+var158 = ">>";
+var159 = core__flat___NativeString___to_s_full(var158, 2l, 2l);
+var157 = var159;
+varonce156 = var157;
+}
+{
+var160 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nit_name, var157); /* == on <var_nit_name:String>*/
+}
+if (var160){
+if (likely(varonce161!=NULL)) {
+var162 = varonce161;
+} else {
+var163 = "_right";
+var164 = core__flat___NativeString___to_s_full(var163, 6l, 6l);
+var162 = var164;
+varonce161 = var162;
+}
+var = var162;
+goto RET_LABEL;
+} else {
+}
+if (likely(varonce165!=NULL)) {
+var166 = varonce165;
+} else {
+var167 = "<=>";
+var168 = core__flat___NativeString___to_s_full(var167, 3l, 3l);
+var166 = var168;
+varonce165 = var166;
+}
+{
+var169 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nit_name, var166); /* == on <var_nit_name:String>*/
+}
+if (var169){
+if (likely(varonce170!=NULL)) {
+var171 = varonce170;
+} else {
+var172 = "_starship";
+var173 = core__flat___NativeString___to_s_full(var172, 9l, 9l);
+var171 = var173;
+varonce170 = var171;
+}
+var = var171;
+goto RET_LABEL;
+} else {
+}
+if (likely(varonce174!=NULL)) {
+var175 = varonce174;
+} else {
+var176 = "|";
+var177 = core__flat___NativeString___to_s_full(var176, 1l, 1l);
+var175 = var177;
+varonce174 = var175;
+}
+{
+var178 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nit_name, var175); /* == on <var_nit_name:String>*/
+}
+if (var178){
+if (likely(varonce179!=NULL)) {
+var180 = varonce179;
+} else {
+var181 = "_pipe";
+var182 = core__flat___NativeString___to_s_full(var181, 5l, 5l);
+var180 = var182;
+varonce179 = var180;
+}
+var = var180;
+goto RET_LABEL;
+} else {
+}
+if (likely(varonce183!=NULL)) {
+var184 = varonce183;
+} else {
+var185 = "^";
+var186 = core__flat___NativeString___to_s_full(var185, 1l, 1l);
+var184 = var186;
+varonce183 = var184;
+}
+{
+var187 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nit_name, var184); /* == on <var_nit_name:String>*/
+}
+if (var187){
+if (likely(varonce188!=NULL)) {
+var189 = varonce188;
+} else {
+var190 = "_caret";
+var191 = core__flat___NativeString___to_s_full(var190, 6l, 6l);
+var189 = var191;
+varonce188 = var189;
+}
+var = var189;
+goto RET_LABEL;
+} else {
+}
+if (likely(varonce192!=NULL)) {
+var193 = varonce192;
+} else {
+var194 = "&";
+var195 = core__flat___NativeString___to_s_full(var194, 1l, 1l);
+var193 = var195;
+varonce192 = var193;
+}
+{
+var196 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nit_name, var193); /* == on <var_nit_name:String>*/
+}
+if (var196){
+if (likely(varonce197!=NULL)) {
+var198 = varonce197;
+} else {
+var199 = "_amp";
+var200 = core__flat___NativeString___to_s_full(var199, 4l, 4l);
+var198 = var200;
+varonce197 = var198;
+}
+var = var198;
+goto RET_LABEL;
+} else {
+}
+if (likely(varonce201!=NULL)) {
+var202 = varonce201;
+} else {
+var203 = "~";
+var204 = core__flat___NativeString___to_s_full(var203, 1l, 1l);
+var202 = var204;
+varonce201 = var202;
+}
+{
+var205 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nit_name, var202); /* == on <var_nit_name:String>*/
+}
+if (var205){
+if (likely(varonce206!=NULL)) {
+var207 = varonce206;
+} else {
+var208 = "_tilde";
+var209 = core__flat___NativeString___to_s_full(var208, 6l, 6l);
+var207 = var209;
+varonce206 = var207;
+}
+var = var207;
+goto RET_LABEL;
+} else {
+}
+{
+var210 = ((val*(*)(val* self))(var_nit_name->class->vft[COLOR_core__abstract_text__Text__chars]))(var_nit_name); /* chars on <var_nit_name:String>*/
+}
+{
+var211 = ((val*(*)(val* self))((((long)var210&3)?class_info[((long)var210&3)]:var210->class)->vft[COLOR_core__abstract_collection__SequenceRead__last]))(var210); /* last on <var210:SequenceRead[Char]>*/
+}
+{
+{ /* Inline kernel#Char#== (var211,'=') on <var211:nullable Object(Char)> */
+var215 = (uint32_t)((long)(var211)>>2);
+var214 = var215 == '=';
+var212 = var214;
+goto RET_LABEL213;
+RET_LABEL213:(void)0;
+}
+}
+if (var212){
+if (unlikely(varonce216==NULL)) {
+var217 = NEW_core__NativeArray(2l, &type_core__NativeArray__core__String);
+if (likely(varonce218!=NULL)) {
+var219 = varonce218;
+} else {
+var220 = "__assign";
+var221 = core__flat___NativeString___to_s_full(var220, 8l, 8l);
+var219 = var221;
+varonce218 = var219;
+}
+((struct instance_core__NativeArray*)var217)->values[1]=var219;
+} else {
+var217 = varonce216;
+varonce216 = NULL;
+}
+{
+var222 = ((long(*)(val* self))(var_nit_name->class->vft[COLOR_core__abstract_text__Text__length]))(var_nit_name); /* length on <var_nit_name:String>*/
+}
+{
+{ /* Inline kernel#Int#- (var222,1l) on <var222:Int> */
+/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
+/* <1l:Int> isa OTHER */
+var225 = 1; /* easy <1l:Int> isa OTHER*/
+if (unlikely(!var225)) {
+var_class_name = type_core__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734);
+fatal_exit(1);
+}
+var226 = var222 - 1l;
+var223 = var226;
+goto RET_LABEL224;
+RET_LABEL224:(void)0;
+}
+}
+{
+var227 = ((val*(*)(val* self, long p0, long p1))(var_nit_name->class->vft[COLOR_core__abstract_text__Text__substring]))(var_nit_name, 0l, var223); /* substring on <var_nit_name:String>*/
+}
+((struct instance_core__NativeArray*)var217)->values[0]=var227;
+{
+var228 = ((val*(*)(val* self))(var217->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var217); /* native_to_s on <var217:NativeArray[String]>*/
+}
+varonce216 = var217;
+var = var228;
+goto RET_LABEL;
+} else {
+}
+var = var_nit_name;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method nitni_base#MType#cname for (self: MType): String */
+val* nitc__nitni_base___MType___cname(val* self) {
+val* var /* : String */;
+val* var1 /* : String */;
+{
+var1 = ((val*(*)(val* self))(self->class->vft[COLOR_nitc__nitni_base__MType__cname_normal_class]))(self); /* cname_normal_class on <self:MType>*/
+}
+var = var1;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method nitni_base#MType#cname_blind for (self: MType): String */
+val* nitc__nitni_base___MType___cname_blind(val* self) {
+val* var /* : String */;
+static val* varonce;
+val* var1 /* : String */;
+char* var2 /* : NativeString */;
+val* var3 /* : String */;
+if (likely(varonce!=NULL)) {
+var1 = varonce;
+} else {
+var2 = "struct nitni_instance *";
+var3 = core__flat___NativeString___to_s_full(var2, 23l, 23l);
+var1 = var3;
+varonce = var1;
+}
+var = var1;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method nitni_base#MType#mangled_cname for (self: MType): String */
+val* nitc__nitni_base___MType___mangled_cname(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`", "mangled_cname", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__nitni_base, 76);
+fatal_exit(1);
+RET_LABEL:;
+return var;
+}
+/* method nitni_base#MType#is_cprimitive for (self: MType): Bool */
+short int nitc__nitni_base___MType___is_cprimitive(val* self) {
+short int var /* : Bool */;
+var = 0;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method nitni_base#MType#cname_normal_class for (self: MType): String */
+val* nitc__nitni_base___MType___cname_normal_class(val* self) {
+val* var /* : String */;
+val* var1 /* : String */;
+{
+var1 = ((val*(*)(val* self))(self->class->vft[COLOR_nitc__nitni_base__MType__mangled_cname]))(self); /* mangled_cname on <self:MType>*/
+}
+var = var1;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method nitni_base#MClassType#cname for (self: MClassType): String */
+val* nitc__nitni_base___MClassType___MType__cname(val* self) {
+val* var /* : String */;
+val* var1 /* : MClass */;
+val* var3 /* : MClass */;
+val* var4 /* : String */;
+val* var6 /* : String */;
+val* var_name /* var name: String */;
+static val* varonce;
+val* var7 /* : String */;
+char* var8 /* : NativeString */;
+val* var9 /* : String */;
+short int var10 /* : Bool */;
+static val* varonce11;
+val* var12 /* : String */;
+char* var13 /* : NativeString */;
+val* var14 /* : String */;
+static val* varonce15;
+val* var16 /* : String */;
+char* var17 /* : NativeString */;
+val* var18 /* : String */;
+short int var19 /* : Bool */;
+static val* varonce20;
+val* var21 /* : String */;
+char* var22 /* : NativeString */;
+val* var23 /* : String */;
+static val* varonce24;
+val* var25 /* : String */;
+char* var26 /* : NativeString */;
+val* var27 /* : String */;
+short int var28 /* : Bool */;
+static val* varonce29;
+val* var30 /* : String */;
+char* var31 /* : NativeString */;
+val* var32 /* : String */;
+static val* varonce33;
+val* var34 /* : String */;
+char* var35 /* : NativeString */;
+val* var36 /* : String */;
+short int var37 /* : Bool */;
+static val* varonce38;
+val* var39 /* : String */;
+char* var40 /* : NativeString */;
+val* var41 /* : String */;
+static val* varonce42;
+val* var43 /* : String */;
+char* var44 /* : NativeString */;
+val* var45 /* : String */;
+short int var46 /* : Bool */;
+static val* varonce47;
+val* var48 /* : String */;
+char* var49 /* : NativeString */;
+val* var50 /* : String */;
+static val* varonce51;
+val* var52 /* : String */;
+char* var53 /* : NativeString */;
+val* var54 /* : String */;
+short int var55 /* : Bool */;
+static val* varonce56;
+val* var57 /* : String */;
+char* var58 /* : NativeString */;
+val* var59 /* : String */;
+static val* varonce60;
+val* var61 /* : String */;
+char* var62 /* : NativeString */;
+val* var63 /* : String */;
+short int var64 /* : Bool */;
+static val* varonce65;
+val* var66 /* : String */;
+char* var67 /* : NativeString */;
+val* var68 /* : String */;
+static val* varonce69;
+val* var70 /* : String */;
+char* var71 /* : NativeString */;
+val* var72 /* : String */;
+short int var73 /* : Bool */;
+static val* varonce74;
+val* var75 /* : String */;
+char* var76 /* : NativeString */;
+val* var77 /* : String */;
+static val* varonce78;
+val* var79 /* : String */;
+char* var80 /* : NativeString */;
+val* var81 /* : String */;
+short int var82 /* : Bool */;
+static val* varonce83;
+val* var84 /* : String */;
+char* var85 /* : NativeString */;
+val* var86 /* : String */;
+static val* varonce87;
+val* var88 /* : String */;
+char* var89 /* : NativeString */;
+val* var90 /* : String */;
+short int var91 /* : Bool */;
+static val* varonce92;
+val* var93 /* : String */;
+char* var94 /* : NativeString */;
+val* var95 /* : String */;
+static val* varonce96;
+val* var97 /* : String */;
+char* var98 /* : NativeString */;
+val* var99 /* : String */;
+short int var100 /* : Bool */;
+static val* varonce101;
+val* var102 /* : String */;
+char* var103 /* : NativeString */;
+val* var104 /* : String */;
+val* var105 /* : MClass */;
+val* var107 /* : MClass */;
+val* var108 /* : MClassKind */;
+val* var110 /* : MClassKind */;
+val* var111 /* : Sys */;
+val* var112 /* : MClassKind */;
+short int var113 /* : Bool */;
+val* var_other /* var other: nullable Object */;
+short int var115 /* : Bool */;
+short int var117 /* : Bool */;
+val* var118 /* : MClass */;
+val* var120 /* : MClass */;
+val* var121 /* : nullable String */;
+val* var_ctype /* var ctype: nullable String */;
+short int var122 /* : Bool */;
+short int var123 /* : Bool */;
+val* var_other125 /* var other: nullable Object */;
+short int var126 /* : Bool */;
+short int var127 /* : Bool */;
+val* var128 /* : String */;
+{
+{ /* Inline model#MClassType#mclass (self) on <self:MClassType> */
+var3 = self->attrs[COLOR_nitc__model__MClassType___mclass].val; /* _mclass on <self:MClassType> */
+if (unlikely(var3 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1163);
+fatal_exit(1);
+}
+var1 = var3;
+RET_LABEL2:(void)0;
+}
+}
+{
+{ /* Inline model#MClass#name (var1) on <var1:MClass> */
+var6 = var1->attrs[COLOR_nitc__model__MClass___name].val; /* _name on <var1:MClass> */
+if (unlikely(var6 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 385);
+fatal_exit(1);
+}
+var4 = var6;
+RET_LABEL5:(void)0;
+}
+}
+var_name = var4;
+if (likely(varonce!=NULL)) {
+var7 = varonce;
+} else {
+var8 = "Bool";
+var9 = core__flat___NativeString___to_s_full(var8, 4l, 4l);
+var7 = var9;
+varonce = var7;
+}
+{
+var10 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var7); /* == on <var_name:String>*/
+}
+if (var10){
+if (likely(varonce11!=NULL)) {
+var12 = varonce11;
+} else {
+var13 = "int";
+var14 = core__flat___NativeString___to_s_full(var13, 3l, 3l);
+var12 = var14;
+varonce11 = var12;
+}
+var = var12;
+goto RET_LABEL;
+} else {
+}
+if (likely(varonce15!=NULL)) {
+var16 = varonce15;
+} else {
+var17 = "Char";
+var18 = core__flat___NativeString___to_s_full(var17, 4l, 4l);
+var16 = var18;
+varonce15 = var16;
+}
+{
+var19 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var16); /* == on <var_name:String>*/
+}
+if (var19){
+if (likely(varonce20!=NULL)) {
+var21 = varonce20;
+} else {
+var22 = "uint32_t";
+var23 = core__flat___NativeString___to_s_full(var22, 8l, 8l);
+var21 = var23;
+varonce20 = var21;
+}
+var = var21;
+goto RET_LABEL;
+} else {
+}
+if (likely(varonce24!=NULL)) {
+var25 = varonce24;
+} else {
+var26 = "Float";
+var27 = core__flat___NativeString___to_s_full(var26, 5l, 5l);
+var25 = var27;
+varonce24 = var25;
+}
+{
+var28 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var25); /* == on <var_name:String>*/
+}
+if (var28){
+if (likely(varonce29!=NULL)) {
+var30 = varonce29;
+} else {
+var31 = "double";
+var32 = core__flat___NativeString___to_s_full(var31, 6l, 6l);
+var30 = var32;
+varonce29 = var30;
+}
+var = var30;
+goto RET_LABEL;
+} else {
+}
+if (likely(varonce33!=NULL)) {
+var34 = varonce33;
+} else {
+var35 = "Int";
+var36 = core__flat___NativeString___to_s_full(var35, 3l, 3l);
+var34 = var36;
+varonce33 = var34;
+}
+{
+var37 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var34); /* == on <var_name:String>*/
+}
+if (var37){
+if (likely(varonce38!=NULL)) {
+var39 = varonce38;
+} else {
+var40 = "long";
+var41 = core__flat___NativeString___to_s_full(var40, 4l, 4l);
+var39 = var41;
+varonce38 = var39;
+}
+var = var39;
+goto RET_LABEL;
+} else {
+}
+if (likely(varonce42!=NULL)) {
+var43 = varonce42;
+} else {
+var44 = "Byte";
+var45 = core__flat___NativeString___to_s_full(var44, 4l, 4l);
+var43 = var45;
+varonce42 = var43;
+}
+{
+var46 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var43); /* == on <var_name:String>*/
+}
+if (var46){
+if (likely(varonce47!=NULL)) {
+var48 = varonce47;
+} else {
+var49 = "unsigned char";
+var50 = core__flat___NativeString___to_s_full(var49, 13l, 13l);
+var48 = var50;
+varonce47 = var48;
+}
+var = var48;
+goto RET_LABEL;
+} else {
+}
+if (likely(varonce51!=NULL)) {
+var52 = varonce51;
+} else {
+var53 = "Int8";
+var54 = core__flat___NativeString___to_s_full(var53, 4l, 4l);
+var52 = var54;
+varonce51 = var52;
+}
+{
+var55 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var52); /* == on <var_name:String>*/
+}
+if (var55){
+if (likely(varonce56!=NULL)) {
+var57 = varonce56;
+} else {
+var58 = "int8_t";
+var59 = core__flat___NativeString___to_s_full(var58, 6l, 6l);
+var57 = var59;
+varonce56 = var57;
+}
+var = var57;
+goto RET_LABEL;
+} else {
+}
+if (likely(varonce60!=NULL)) {
+var61 = varonce60;
+} else {
+var62 = "Int16";
+var63 = core__flat___NativeString___to_s_full(var62, 5l, 5l);
+var61 = var63;
+varonce60 = var61;
+}
+{
+var64 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var61); /* == on <var_name:String>*/
+}
+if (var64){
+if (likely(varonce65!=NULL)) {
+var66 = varonce65;
+} else {
+var67 = "int16_t";
+var68 = core__flat___NativeString___to_s_full(var67, 7l, 7l);
+var66 = var68;
+varonce65 = var66;
+}
+var = var66;
+goto RET_LABEL;
+} else {
+}
+if (likely(varonce69!=NULL)) {
+var70 = varonce69;
+} else {
+var71 = "UInt16";
+var72 = core__flat___NativeString___to_s_full(var71, 6l, 6l);
+var70 = var72;
+varonce69 = var70;
+}
+{
+var73 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var70); /* == on <var_name:String>*/
+}
+if (var73){
+if (likely(varonce74!=NULL)) {
+var75 = varonce74;
+} else {
+var76 = "uint16_t";
+var77 = core__flat___NativeString___to_s_full(var76, 8l, 8l);
+var75 = var77;
+varonce74 = var75;
+}
+var = var75;
+goto RET_LABEL;
+} else {
+}
+if (likely(varonce78!=NULL)) {
+var79 = varonce78;
+} else {
+var80 = "Int32";
+var81 = core__flat___NativeString___to_s_full(var80, 5l, 5l);
+var79 = var81;
+varonce78 = var79;
+}
+{
+var82 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var79); /* == on <var_name:String>*/
+}
+if (var82){
+if (likely(varonce83!=NULL)) {
+var84 = varonce83;
+} else {
+var85 = "int32_t";
+var86 = core__flat___NativeString___to_s_full(var85, 7l, 7l);
+var84 = var86;
+varonce83 = var84;
+}
+var = var84;
+goto RET_LABEL;
+} else {
+}
+if (likely(varonce87!=NULL)) {
+var88 = varonce87;
+} else {
+var89 = "UInt32";
+var90 = core__flat___NativeString___to_s_full(var89, 6l, 6l);
+var88 = var90;
+varonce87 = var88;
+}
+{
+var91 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var88); /* == on <var_name:String>*/
+}
+if (var91){
+if (likely(varonce92!=NULL)) {
+var93 = varonce92;
+} else {
+var94 = "uint32_t";
+var95 = core__flat___NativeString___to_s_full(var94, 8l, 8l);
+var93 = var95;
+varonce92 = var93;
+}
+var = var93;
+goto RET_LABEL;
+} else {
+}
+if (likely(varonce96!=NULL)) {
+var97 = varonce96;
+} else {
+var98 = "NativeString";
+var99 = core__flat___NativeString___to_s_full(var98, 12l, 12l);
+var97 = var99;
+varonce96 = var97;
+}
+{
+var100 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var97); /* == on <var_name:String>*/
+}
+if (var100){
+if (likely(varonce101!=NULL)) {
+var102 = varonce101;
+} else {
+var103 = "char*";
+var104 = core__flat___NativeString___to_s_full(var103, 5l, 5l);
+var102 = var104;
+varonce101 = var102;
+}
+var = var102;
+goto RET_LABEL;
+} else {
+}
+{
+{ /* Inline model#MClassType#mclass (self) on <self:MClassType> */
+var107 = self->attrs[COLOR_nitc__model__MClassType___mclass].val; /* _mclass on <self:MClassType> */
+if (unlikely(var107 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1163);
+fatal_exit(1);
+}
+var105 = var107;
+RET_LABEL106:(void)0;
+}
+}
+{
+{ /* Inline model#MClass#kind (var105) on <var105:MClass> */
+var110 = var105->attrs[COLOR_nitc__model__MClass___kind].val; /* _kind on <var105:MClass> */
+if (unlikely(var110 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 459);
+fatal_exit(1);
+}
+var108 = var110;
+RET_LABEL109:(void)0;
+}
+}
+var111 = glob_sys;
+{
+var112 = nitc__model___core__Sys___extern_kind(var111);
+}
+{
+{ /* Inline kernel#Object#== (var108,var112) on <var108:MClassKind> */
+var_other = var112;
+{
+{ /* Inline kernel#Object#is_same_instance (var108,var_other) on <var108:MClassKind> */
+var117 = var108 == var_other;
+var115 = var117;
+goto RET_LABEL116;
+RET_LABEL116:(void)0;
+}
+}
+var113 = var115;
+goto RET_LABEL114;
+RET_LABEL114:(void)0;
+}
+}
+if (var113){
+{
+{ /* Inline model#MClassType#mclass (self) on <self:MClassType> */
+var120 = self->attrs[COLOR_nitc__model__MClassType___mclass].val; /* _mclass on <self:MClassType> */
+if (unlikely(var120 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1163);
+fatal_exit(1);
+}
+var118 = var120;
+RET_LABEL119:(void)0;
+}
+}
+{
+var121 = nitc__extern_classes___MClass___ctype(var118);
+}
+var_ctype = var121;
+if (var_ctype == NULL) {
+var122 = 0; /* is null */
+} else {
+var122 = 1; /* arg is null and recv is not */
+}
+if (0) {
+{ /* Inline kernel#Object#!= (var_ctype,((val*)NULL)) on <var_ctype:nullable String> */
+var_other125 = ((val*)NULL);
+{
+var126 = ((short int(*)(val* self, val* p0))(var_ctype->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_ctype, var_other125); /* == on <var_ctype:nullable String(String)>*/
+}
+var127 = !var126;
+var123 = var127;
+goto RET_LABEL124;
+RET_LABEL124:(void)0;
+}
+var122 = var123;
+}
+if (unlikely(!var122)) {
+PRINT_ERROR("Runtime error: %s", "Assert failed");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__nitni_base, 108);
+fatal_exit(1);
+}
+var = var_ctype;
+goto RET_LABEL;
+} else {
+}
+{
+var128 = nitc__light_only___MClassType___nitc__nitni_base__MType__cname_normal_class(self);
+}
+var = var128;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method nitni_base#MClassType#cname_blind for (self: MClassType): String */
+val* nitc__nitni_base___MClassType___MType__cname_blind(val* self) {
+val* var /* : String */;
+val* var1 /* : MClass */;
+val* var3 /* : MClass */;
+val* var4 /* : String */;
+val* var6 /* : String */;
+val* var_name /* var name: String */;
+static val* varonce;
+val* var7 /* : String */;
+char* var8 /* : NativeString */;
+val* var9 /* : String */;
+short int var10 /* : Bool */;
+static val* varonce11;
+val* var12 /* : String */;
+char* var13 /* : NativeString */;
+val* var14 /* : String */;
+static val* varonce15;
+val* var16 /* : String */;
+char* var17 /* : NativeString */;
+val* var18 /* : String */;
+short int var19 /* : Bool */;
+static val* varonce20;
+val* var21 /* : String */;
+char* var22 /* : NativeString */;
+val* var23 /* : String */;
+static val* varonce24;
+val* var25 /* : String */;
+char* var26 /* : NativeString */;
+val* var27 /* : String */;
+short int var28 /* : Bool */;
+static val* varonce29;
+val* var30 /* : String */;
+char* var31 /* : NativeString */;
+val* var32 /* : String */;
+static val* varonce33;
+val* var34 /* : String */;
+char* var35 /* : NativeString */;
+val* var36 /* : String */;
+short int var37 /* : Bool */;
+static val* varonce38;
+val* var39 /* : String */;
+char* var40 /* : NativeString */;
+val* var41 /* : String */;
+static val* varonce42;
+val* var43 /* : String */;
+char* var44 /* : NativeString */;
+val* var45 /* : String */;
+short int var46 /* : Bool */;
+static val* varonce47;
+val* var48 /* : String */;
+char* var49 /* : NativeString */;
+val* var50 /* : String */;
+static val* varonce51;
+val* var52 /* : String */;
+char* var53 /* : NativeString */;
+val* var54 /* : String */;
+short int var55 /* : Bool */;
+static val* varonce56;
+val* var57 /* : String */;
+char* var58 /* : NativeString */;
+val* var59 /* : String */;
+static val* varonce60;
+val* var61 /* : String */;
+char* var62 /* : NativeString */;
+val* var63 /* : String */;
+short int var64 /* : Bool */;
+static val* varonce65;
+val* var66 /* : String */;
+char* var67 /* : NativeString */;
+val* var68 /* : String */;
+static val* varonce69;
+val* var70 /* : String */;
+char* var71 /* : NativeString */;
+val* var72 /* : String */;
+short int var73 /* : Bool */;
+static val* varonce74;
+val* var75 /* : String */;
+char* var76 /* : NativeString */;
+val* var77 /* : String */;
+static val* varonce78;
+val* var79 /* : String */;
+char* var80 /* : NativeString */;
+val* var81 /* : String */;
+short int var82 /* : Bool */;
+static val* varonce83;
+val* var84 /* : String */;
+char* var85 /* : NativeString */;
+val* var86 /* : String */;
+static val* varonce87;
+val* var88 /* : String */;
+char* var89 /* : NativeString */;
+val* var90 /* : String */;
+short int var91 /* : Bool */;
+static val* varonce92;
+val* var93 /* : String */;
+char* var94 /* : NativeString */;
+val* var95 /* : String */;
+static val* varonce96;
+val* var97 /* : String */;
+char* var98 /* : NativeString */;
+val* var99 /* : String */;
+short int var100 /* : Bool */;
+static val* varonce101;
+val* var102 /* : String */;
+char* var103 /* : NativeString */;
+val* var104 /* : String */;
+val* var105 /* : MClass */;
+val* var107 /* : MClass */;
+val* var108 /* : MClassKind */;
+val* var110 /* : MClassKind */;
+val* var111 /* : Sys */;
+val* var112 /* : MClassKind */;
+short int var113 /* : Bool */;
+val* var_other /* var other: nullable Object */;
+short int var115 /* : Bool */;
+short int var117 /* : Bool */;
+static val* varonce118;
+val* var119 /* : String */;
+char* var120 /* : NativeString */;
+val* var121 /* : String */;
+val* var122 /* : String */;
+{
+{ /* Inline model#MClassType#mclass (self) on <self:MClassType> */
+var3 = self->attrs[COLOR_nitc__model__MClassType___mclass].val; /* _mclass on <self:MClassType> */
+if (unlikely(var3 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1163);
+fatal_exit(1);
+}
+var1 = var3;
+RET_LABEL2:(void)0;
+}
+}
+{
+{ /* Inline model#MClass#name (var1) on <var1:MClass> */
+var6 = var1->attrs[COLOR_nitc__model__MClass___name].val; /* _name on <var1:MClass> */
+if (unlikely(var6 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 385);
+fatal_exit(1);
+}
+var4 = var6;
+RET_LABEL5:(void)0;
+}
+}
+var_name = var4;
+if (likely(varonce!=NULL)) {
+var7 = varonce;
+} else {
+var8 = "Bool";
+var9 = core__flat___NativeString___to_s_full(var8, 4l, 4l);
+var7 = var9;
+varonce = var7;
+}
+{
+var10 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var7); /* == on <var_name:String>*/
+}
+if (var10){
+if (likely(varonce11!=NULL)) {
+var12 = varonce11;
+} else {
+var13 = "int";
+var14 = core__flat___NativeString___to_s_full(var13, 3l, 3l);
+var12 = var14;
+varonce11 = var12;
+}
+var = var12;
+goto RET_LABEL;
+} else {
+}
+if (likely(varonce15!=NULL)) {
+var16 = varonce15;
+} else {
+var17 = "Char";
+var18 = core__flat___NativeString___to_s_full(var17, 4l, 4l);
+var16 = var18;
+varonce15 = var16;
+}
+{
+var19 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var16); /* == on <var_name:String>*/
+}
+if (var19){
+if (likely(varonce20!=NULL)) {
+var21 = varonce20;
+} else {
+var22 = "uint32_t";
+var23 = core__flat___NativeString___to_s_full(var22, 8l, 8l);
+var21 = var23;
+varonce20 = var21;
+}
+var = var21;
+goto RET_LABEL;
+} else {
+}
+if (likely(varonce24!=NULL)) {
+var25 = varonce24;
+} else {
+var26 = "Float";
+var27 = core__flat___NativeString___to_s_full(var26, 5l, 5l);
+var25 = var27;
+varonce24 = var25;
+}
+{
+var28 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var25); /* == on <var_name:String>*/
+}
+if (var28){
+if (likely(varonce29!=NULL)) {
+var30 = varonce29;
+} else {
+var31 = "double";
+var32 = core__flat___NativeString___to_s_full(var31, 6l, 6l);
+var30 = var32;
+varonce29 = var30;
+}
+var = var30;
+goto RET_LABEL;
+} else {
+}
+if (likely(varonce33!=NULL)) {
+var34 = varonce33;
+} else {
+var35 = "Int";
+var36 = core__flat___NativeString___to_s_full(var35, 3l, 3l);
+var34 = var36;
+varonce33 = var34;
+}
+{
+var37 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var34); /* == on <var_name:String>*/
+}
+if (var37){
+if (likely(varonce38!=NULL)) {
+var39 = varonce38;
+} else {
+var40 = "long";
+var41 = core__flat___NativeString___to_s_full(var40, 4l, 4l);
+var39 = var41;
+varonce38 = var39;
+}
+var = var39;
+goto RET_LABEL;
+} else {
+}
+if (likely(varonce42!=NULL)) {
+var43 = varonce42;
+} else {
+var44 = "Byte";
+var45 = core__flat___NativeString___to_s_full(var44, 4l, 4l);
+var43 = var45;
+varonce42 = var43;
+}
+{
+var46 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var43); /* == on <var_name:String>*/
+}
+if (var46){
+if (likely(varonce47!=NULL)) {
+var48 = varonce47;
+} else {
+var49 = "unsigned char";
+var50 = core__flat___NativeString___to_s_full(var49, 13l, 13l);
+var48 = var50;
+varonce47 = var48;
+}
+var = var48;
+goto RET_LABEL;
+} else {
+}
+if (likely(varonce51!=NULL)) {
+var52 = varonce51;
+} else {
+var53 = "Int8";
+var54 = core__flat___NativeString___to_s_full(var53, 4l, 4l);
+var52 = var54;
+varonce51 = var52;
+}
+{
+var55 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var52); /* == on <var_name:String>*/
+}
+if (var55){
+if (likely(varonce56!=NULL)) {
+var57 = varonce56;
+} else {
+var58 = "int8_t";
+var59 = core__flat___NativeString___to_s_full(var58, 6l, 6l);
+var57 = var59;
+varonce56 = var57;
+}
+var = var57;
+goto RET_LABEL;
+} else {
+}
+if (likely(varonce60!=NULL)) {
+var61 = varonce60;
+} else {
+var62 = "Int16";
+var63 = core__flat___NativeString___to_s_full(var62, 5l, 5l);
+var61 = var63;
+varonce60 = var61;
+}
+{
+var64 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var61); /* == on <var_name:String>*/
+}
+if (var64){
+if (likely(varonce65!=NULL)) {
+var66 = varonce65;
+} else {
+var67 = "int16_t";
+var68 = core__flat___NativeString___to_s_full(var67, 7l, 7l);
+var66 = var68;
+varonce65 = var66;
+}
+var = var66;
+goto RET_LABEL;
+} else {
+}
+if (likely(varonce69!=NULL)) {
+var70 = varonce69;
+} else {
+var71 = "UInt16";
+var72 = core__flat___NativeString___to_s_full(var71, 6l, 6l);
+var70 = var72;
+varonce69 = var70;
+}
+{
+var73 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var70); /* == on <var_name:String>*/
+}
+if (var73){
+if (likely(varonce74!=NULL)) {
+var75 = varonce74;
+} else {
+var76 = "uint16_t";
+var77 = core__flat___NativeString___to_s_full(var76, 8l, 8l);
+var75 = var77;
+varonce74 = var75;
+}
+var = var75;
+goto RET_LABEL;
+} else {
+}
+if (likely(varonce78!=NULL)) {
+var79 = varonce78;
+} else {
+var80 = "Int32";
+var81 = core__flat___NativeString___to_s_full(var80, 5l, 5l);
+var79 = var81;
+varonce78 = var79;
+}
+{
+var82 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var79); /* == on <var_name:String>*/
+}
+if (var82){
+if (likely(varonce83!=NULL)) {
+var84 = varonce83;
+} else {
+var85 = "int32_t";
+var86 = core__flat___NativeString___to_s_full(var85, 7l, 7l);
+var84 = var86;
+varonce83 = var84;
+}
+var = var84;
+goto RET_LABEL;
+} else {
+}
+if (likely(varonce87!=NULL)) {
+var88 = varonce87;
+} else {
+var89 = "UInt32";
+var90 = core__flat___NativeString___to_s_full(var89, 6l, 6l);
+var88 = var90;
+varonce87 = var88;
+}
+{
+var91 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var88); /* == on <var_name:String>*/
+}
+if (var91){
+if (likely(varonce92!=NULL)) {
+var93 = varonce92;
+} else {
+var94 = "uint32_t";
+var95 = core__flat___NativeString___to_s_full(var94, 8l, 8l);
+var93 = var95;
+varonce92 = var93;
+}
+var = var93;
+goto RET_LABEL;
+} else {
+}
+if (likely(varonce96!=NULL)) {
+var97 = varonce96;
+} else {
+var98 = "NativeString";
+var99 = core__flat___NativeString___to_s_full(var98, 12l, 12l);
+var97 = var99;
+varonce96 = var97;
+}
+{
+var100 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var97); /* == on <var_name:String>*/
+}
+if (var100){
+if (likely(varonce101!=NULL)) {
+var102 = varonce101;
+} else {
+var103 = "char*";
+var104 = core__flat___NativeString___to_s_full(var103, 5l, 5l);
+var102 = var104;
+varonce101 = var102;
+}
+var = var102;
+goto RET_LABEL;
+} else {
+}
+{
+{ /* Inline model#MClassType#mclass (self) on <self:MClassType> */
+var107 = self->attrs[COLOR_nitc__model__MClassType___mclass].val; /* _mclass on <self:MClassType> */
+if (unlikely(var107 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1163);
+fatal_exit(1);
+}
+var105 = var107;
+RET_LABEL106:(void)0;
+}
+}
+{
+{ /* Inline model#MClass#kind (var105) on <var105:MClass> */
+var110 = var105->attrs[COLOR_nitc__model__MClass___kind].val; /* _kind on <var105:MClass> */
+if (unlikely(var110 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 459);
+fatal_exit(1);
+}
+var108 = var110;
+RET_LABEL109:(void)0;
+}
+}
+var111 = glob_sys;
+{
+var112 = nitc__model___core__Sys___extern_kind(var111);
+}
+{
+{ /* Inline kernel#Object#== (var108,var112) on <var108:MClassKind> */
+var_other = var112;
+{
+{ /* Inline kernel#Object#is_same_instance (var108,var_other) on <var108:MClassKind> */
+var117 = var108 == var_other;
+var115 = var117;
+goto RET_LABEL116;
+RET_LABEL116:(void)0;
+}
+}
+var113 = var115;
+goto RET_LABEL114;
+RET_LABEL114:(void)0;
+}
+}
+if (var113){
+if (likely(varonce118!=NULL)) {
+var119 = varonce118;
+} else {
+var120 = "void*";
+var121 = core__flat___NativeString___to_s_full(var120, 5l, 5l);
+var119 = var121;
+varonce118 = var119;
+}
+var = var119;
+goto RET_LABEL;
+} else {
+}
+{
+var122 = ((val*(*)(val* self))(self->class->vft[COLOR_nitc__nitni_base___MClassType___MType__cname_blind]))(self); /* cname_blind on <self:MClassType>*/
+}
+var = var122;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method nitni_base#MClassType#mangled_cname for (self: MClassType): String */
+val* nitc__nitni_base___MClassType___MType__mangled_cname(val* self) {
+val* var /* : String */;
+val* var1 /* : MClass */;
+val* var3 /* : MClass */;
+val* var4 /* : String */;
+val* var6 /* : String */;
+{
+{ /* Inline model#MClassType#mclass (self) on <self:MClassType> */
+var3 = self->attrs[COLOR_nitc__model__MClassType___mclass].val; /* _mclass on <self:MClassType> */
+if (unlikely(var3 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1163);
+fatal_exit(1);
+}
+var1 = var3;
+RET_LABEL2:(void)0;
+}
+}
+{
+{ /* Inline model#MClass#name (var1) on <var1:MClass> */
+var6 = var1->attrs[COLOR_nitc__model__MClass___name].val; /* _name on <var1:MClass> */
+if (unlikely(var6 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 385);
+fatal_exit(1);
+}
+var4 = var6;
+RET_LABEL5:(void)0;
+}
+}
+var = var4;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method nitni_base#MClassType#is_cprimitive for (self: MClassType): Bool */
+short int nitc__nitni_base___MClassType___MType__is_cprimitive(val* self) {
+short int var /* : Bool */;
+short int var1 /* : Bool */;
+val* var2 /* : MClass */;
+val* var4 /* : MClass */;
+val* var5 /* : MClassKind */;
+val* var7 /* : MClassKind */;
+val* var8 /* : Sys */;
+val* var9 /* : MClassKind */;
+short int var10 /* : Bool */;
+val* var_other /* var other: nullable Object */;
+short int var12 /* : Bool */;
+short int var14 /* : Bool */;
+short int var_ /* var : Bool */;
+static val* varonce;
+static int varonce_guard;
+val* var15 /* : Array[String] */;
+val* var16 /* : Array[String] */;
+val* var_17 /* var : Array[String] */;
+static val* varonce18;
+val* var19 /* : String */;
+char* var20 /* : NativeString */;
+val* var21 /* : String */;
+static val* varonce22;
+val* var23 /* : String */;
+char* var24 /* : NativeString */;
+val* var25 /* : String */;
+static val* varonce26;
+val* var27 /* : String */;
+char* var28 /* : NativeString */;
+val* var29 /* : String */;
+static val* varonce30;
+val* var31 /* : String */;
+char* var32 /* : NativeString */;
+val* var33 /* : String */;
+static val* varonce34;
+val* var35 /* : String */;
+char* var36 /* : NativeString */;
+val* var37 /* : String */;
+static val* varonce38;
+val* var39 /* : String */;
+char* var40 /* : NativeString */;
+val* var41 /* : String */;
+static val* varonce42;
+val* var43 /* : String */;
+char* var44 /* : NativeString */;
+val* var45 /* : String */;
+static val* varonce46;
+val* var47 /* : String */;
+char* var48 /* : NativeString */;
+val* var49 /* : String */;
+static val* varonce50;
+val* var51 /* : String */;
+char* var52 /* : NativeString */;
+val* var53 /* : String */;
+static val* varonce54;
+val* var55 /* : String */;
+char* var56 /* : NativeString */;
+val* var57 /* : String */;
+static val* varonce58;
+val* var59 /* : String */;
+char* var60 /* : NativeString */;
+val* var61 /* : String */;
+val* var62 /* : MClass */;
+val* var64 /* : MClass */;
+val* var65 /* : String */;
+val* var67 /* : String */;
+short int var68 /* : Bool */;
+{
+{ /* Inline model#MClassType#mclass (self) on <self:MClassType> */
+var4 = self->attrs[COLOR_nitc__model__MClassType___mclass].val; /* _mclass on <self:MClassType> */
+if (unlikely(var4 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1163);
+fatal_exit(1);
+}
+var2 = var4;
+RET_LABEL3:(void)0;
+}
+}
+{
+{ /* Inline model#MClass#kind (var2) on <var2:MClass> */
+var7 = var2->attrs[COLOR_nitc__model__MClass___kind].val; /* _kind on <var2:MClass> */
+if (unlikely(var7 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 459);
+fatal_exit(1);
+}
+var5 = var7;
+RET_LABEL6:(void)0;
+}
+}
+var8 = glob_sys;
+{
+var9 = nitc__model___core__Sys___extern_kind(var8);
+}
+{
+{ /* Inline kernel#Object#== (var5,var9) on <var5:MClassKind> */
+var_other = var9;
+{
+{ /* Inline kernel#Object#is_same_instance (var5,var_other) on <var5:MClassKind> */
+var14 = var5 == var_other;
+var12 = var14;
+goto RET_LABEL13;
+RET_LABEL13:(void)0;
+}
+}
+var10 = var12;
+goto RET_LABEL11;
+RET_LABEL11:(void)0;
+}
+}
+var_ = var10;
+if (var10){
+var1 = var_;
+} else {
+if (likely(varonce_guard)) {
+var15 = varonce;
+} else {
+var16 = NEW_core__Array(&type_core__Array__core__String);
+{
+core___core__Array___with_capacity(var16, 11l); /* Direct call array#Array#with_capacity on <var16:Array[String]>*/
+}
+var_17 = var16;
+if (likely(varonce18!=NULL)) {
+var19 = varonce18;
+} else {
+var20 = "Bool";
+var21 = core__flat___NativeString___to_s_full(var20, 4l, 4l);
+var19 = var21;
+varonce18 = var19;
+}
+{
+core___core__AbstractArray___core__abstract_collection__Sequence__push(var_17, var19); /* Direct call array#AbstractArray#push on <var_17:Array[String]>*/
+}
+if (likely(varonce22!=NULL)) {
+var23 = varonce22;
+} else {
+var24 = "Char";
+var25 = core__flat___NativeString___to_s_full(var24, 4l, 4l);
+var23 = var25;
+varonce22 = var23;
+}
+{
+core___core__AbstractArray___core__abstract_collection__Sequence__push(var_17, var23); /* Direct call array#AbstractArray#push on <var_17:Array[String]>*/
+}
+if (likely(varonce26!=NULL)) {
+var27 = varonce26;
+} else {
+var28 = "Float";
+var29 = core__flat___NativeString___to_s_full(var28, 5l, 5l);
+var27 = var29;
+varonce26 = var27;
+}
+{
+core___core__AbstractArray___core__abstract_collection__Sequence__push(var_17, var27); /* Direct call array#AbstractArray#push on <var_17:Array[String]>*/
+}
+if (likely(varonce30!=NULL)) {
+var31 = varonce30;
+} else {
+var32 = "Int";
+var33 = core__flat___NativeString___to_s_full(var32, 3l, 3l);
+var31 = var33;
+varonce30 = var31;
+}
+{
+core___core__AbstractArray___core__abstract_collection__Sequence__push(var_17, var31); /* Direct call array#AbstractArray#push on <var_17:Array[String]>*/
+}
+if (likely(varonce34!=NULL)) {
+var35 = varonce34;
+} else {
+var36 = "NativeString";
+var37 = core__flat___NativeString___to_s_full(var36, 12l, 12l);
+var35 = var37;
+varonce34 = var35;
+}
+{
+core___core__AbstractArray___core__abstract_collection__Sequence__push(var_17, var35); /* Direct call array#AbstractArray#push on <var_17:Array[String]>*/
+}
+if (likely(varonce38!=NULL)) {
+var39 = varonce38;
+} else {
+var40 = "Byte";
+var41 = core__flat___NativeString___to_s_full(var40, 4l, 4l);
+var39 = var41;
+varonce38 = var39;
+}
+{
+core___core__AbstractArray___core__abstract_collection__Sequence__push(var_17, var39); /* Direct call array#AbstractArray#push on <var_17:Array[String]>*/
+}
+if (likely(varonce42!=NULL)) {
+var43 = varonce42;
+} else {
+var44 = "Int8";
+var45 = core__flat___NativeString___to_s_full(var44, 4l, 4l);
+var43 = var45;
+varonce42 = var43;
+}
+{
+core___core__AbstractArray___core__abstract_collection__Sequence__push(var_17, var43); /* Direct call array#AbstractArray#push on <var_17:Array[String]>*/
+}
+if (likely(varonce46!=NULL)) {
+var47 = varonce46;
+} else {
+var48 = "Int16";
+var49 = core__flat___NativeString___to_s_full(var48, 5l, 5l);
+var47 = var49;
+varonce46 = var47;
+}
+{
+core___core__AbstractArray___core__abstract_collection__Sequence__push(var_17, var47); /* Direct call array#AbstractArray#push on <var_17:Array[String]>*/
+}
+if (likely(varonce50!=NULL)) {
+var51 = varonce50;
+} else {
+var52 = "UInt16";
+var53 = core__flat___NativeString___to_s_full(var52, 6l, 6l);
+var51 = var53;
+varonce50 = var51;
+}
+{
+core___core__AbstractArray___core__abstract_collection__Sequence__push(var_17, var51); /* Direct call array#AbstractArray#push on <var_17:Array[String]>*/
+}
+if (likely(varonce54!=NULL)) {
+var55 = varonce54;
+} else {
+var56 = "Int32";
+var57 = core__flat___NativeString___to_s_full(var56, 5l, 5l);
+var55 = var57;
+varonce54 = var55;
+}
+{
+core___core__AbstractArray___core__abstract_collection__Sequence__push(var_17, var55); /* Direct call array#AbstractArray#push on <var_17:Array[String]>*/
+}
+if (likely(varonce58!=NULL)) {
+var59 = varonce58;
+} else {
+var60 = "UInt32";
+var61 = core__flat___NativeString___to_s_full(var60, 6l, 6l);
+var59 = var61;
+varonce58 = var59;
+}
+{
+core___core__AbstractArray___core__abstract_collection__Sequence__push(var_17, var59); /* Direct call array#AbstractArray#push on <var_17:Array[String]>*/
+}
+var15 = var_17;
+varonce = var15;
+varonce_guard = 1;
+}
+{
+{ /* Inline model#MClassType#mclass (self) on <self:MClassType> */
+var64 = self->attrs[COLOR_nitc__model__MClassType___mclass].val; /* _mclass on <self:MClassType> */
+if (unlikely(var64 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1163);
+fatal_exit(1);
+}
+var62 = var64;
+RET_LABEL63:(void)0;
+}
+}
+{
+{ /* Inline model#MClass#name (var62) on <var62:MClass> */
+var67 = var62->attrs[COLOR_nitc__model__MClass___name].val; /* _name on <var62:MClass> */
+if (unlikely(var67 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 385);
+fatal_exit(1);
+}
+var65 = var67;
+RET_LABEL66:(void)0;
+}
+}
+{
+var68 = core___core__AbstractArrayRead___core__abstract_collection__Collection__has(var15, var65);
+}
+var1 = var68;
+}
+var = var1;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method nitni_base#MNullableType#mangled_cname for (self: MNullableType): String */
+val* nitc__nitni_base___MNullableType___MType__mangled_cname(val* self) {
+val* var /* : String */;
+val* var1 /* : NativeArray[String] */;
+static val* varonce;
+static val* varonce2;
+val* var3 /* : String */;
+char* var4 /* : NativeString */;
+val* var5 /* : String */;
+val* var6 /* : MType */;
+val* var8 /* : MType */;
+val* var9 /* : String */;
+val* var10 /* : String */;
+if (unlikely(varonce==NULL)) {
+var1 = NEW_core__NativeArray(2l, &type_core__NativeArray__core__String);
+if (likely(varonce2!=NULL)) {
+var3 = varonce2;
+} else {
+var4 = "nullable_";
+var5 = core__flat___NativeString___to_s_full(var4, 9l, 9l);
+var3 = var5;
+varonce2 = var3;
+}
+((struct instance_core__NativeArray*)var1)->values[0]=var3;
+} else {
+var1 = varonce;
+varonce = NULL;
+}
+{
+{ /* Inline model#MProxyType#mtype (self) on <self:MNullableType> */
+var8 = self->attrs[COLOR_nitc__model__MProxyType___mtype].val; /* _mtype on <self:MNullableType> */
+if (unlikely(var8 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1625);
+fatal_exit(1);
+}
+var6 = var8;
+RET_LABEL7:(void)0;
+}
+}
+{
+var9 = ((val*(*)(val* self))(var6->class->vft[COLOR_nitc__nitni_base__MType__mangled_cname]))(var6); /* mangled_cname on <var6:MType>*/
+}
+((struct instance_core__NativeArray*)var1)->values[1]=var9;
+{
+var10 = ((val*(*)(val* self))(var1->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var1); /* native_to_s on <var1:NativeArray[String]>*/
+}
+varonce = var1;
+var = var10;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method nitni_base#MFormalType#mangled_cname for (self: MFormalType): String */
+val* nitc__nitni_base___MFormalType___MType__mangled_cname(val* self) {
+val* var /* : String */;
+val* var1 /* : String */;
+{
+var1 = ((val*(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Object__to_s]))(self); /* to_s on <self:MFormalType>*/
+}
+var = var1;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method nitni_base#MGenericType#mangled_cname for (self: MGenericType): String */
+val* nitc__nitni_base___MGenericType___MType__mangled_cname(val* self) {
+val* var /* : String */;
+val* var1 /* : String */;
+val* var_base /* var base: String */;
+val* var2 /* : Array[String] */;
+val* var_params /* var params: Array[String] */;
+val* var3 /* : Array[MType] */;
+val* var5 /* : Array[MType] */;
+val* var_ /* var : Array[MType] */;
+val* var6 /* : IndexedIterator[nullable Object] */;
+val* var_7 /* var : IndexedIterator[MType] */;
+short int var8 /* : Bool */;
+val* var9 /* : nullable Object */;
+val* var_arg /* var arg: MType */;
+val* var10 /* : String */;
+val* var11 /* : NativeArray[String] */;
+static val* varonce;
+static val* varonce12;
+val* var13 /* : String */;
+char* var14 /* : NativeString */;
+val* var15 /* : String */;
+static val* varonce16;
+val* var17 /* : String */;
+char* var18 /* : NativeString */;
+val* var19 /* : String */;
+val* var20 /* : String */;
+val* var21 /* : String */;
+{
+var1 = ((val*(*)(val* self))(self->class->vft[COLOR_nitc__nitni_base___MGenericType___MType__mangled_cname]))(self); /* mangled_cname on <self:MGenericType>*/
+}
+var_base = var1;
+var2 = NEW_core__Array(&type_core__Array__core__String);
+{
+core___core__Array___core__kernel__Object__init(var2); /* Direct call array#Array#init on <var2:Array[String]>*/
+}
+var_params = var2;
+{
+{ /* Inline model#MGenericType#arguments (self) on <self:MGenericType> */
+var5 = self->attrs[COLOR_nitc__model__MGenericType___arguments].val; /* _arguments on <self:MGenericType> */
+if (unlikely(var5 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1269);
+fatal_exit(1);
+}
+var3 = var5;
+RET_LABEL4:(void)0;
+}
+}
+var_ = var3;
+{
+var6 = core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_);
+}
+var_7 = var6;
+for(;;) {
+{
+var8 = ((short int(*)(val* self))((((long)var_7&3)?class_info[((long)var_7&3)]:var_7->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_7); /* is_ok on <var_7:IndexedIterator[MType]>*/
+}
+if (var8){
+} else {
+goto BREAK_label;
+}
+{
+var9 = ((val*(*)(val* self))((((long)var_7&3)?class_info[((long)var_7&3)]:var_7->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_7); /* item on <var_7:IndexedIterator[MType]>*/
+}
+var_arg = var9;
+{
+var10 = ((val*(*)(val* self))(var_arg->class->vft[COLOR_nitc__nitni_base__MType__mangled_cname]))(var_arg); /* mangled_cname on <var_arg:MType>*/
+}
+{
+core___core__Array___core__abstract_collection__SimpleCollection__add(var_params, var10); /* Direct call array#Array#add on <var_params:Array[String]>*/
+}
+{
+((void(*)(val* self))((((long)var_7&3)?class_info[((long)var_7&3)]:var_7->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_7); /* next on <var_7:IndexedIterator[MType]>*/
+}
+}
+BREAK_label: (void)0;
+{
+((void(*)(val* self))((((long)var_7&3)?class_info[((long)var_7&3)]:var_7->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_7); /* finish on <var_7:IndexedIterator[MType]>*/
+}
+if (unlikely(varonce==NULL)) {
+var11 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String);
+if (likely(varonce12!=NULL)) {
+var13 = varonce12;
+} else {
+var14 = "_of_";
+var15 = core__flat___NativeString___to_s_full(var14, 4l, 4l);
+var13 = var15;
+varonce12 = var13;
+}
+((struct instance_core__NativeArray*)var11)->values[1]=var13;
+} else {
+var11 = varonce;
+varonce = NULL;
+}
+((struct instance_core__NativeArray*)var11)->values[0]=var_base;
+if (likely(varonce16!=NULL)) {
+var17 = varonce16;
+} else {
+var18 = "_";
+var19 = core__flat___NativeString___to_s_full(var18, 1l, 1l);
+var17 = var19;
+varonce16 = var17;
+}
+{
+var20 = core__abstract_text___Collection___join(var_params, var17);
+}
+((struct instance_core__NativeArray*)var11)->values[2]=var20;
+{
+var21 = ((val*(*)(val* self))(var11->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var11); /* native_to_s on <var11:NativeArray[String]>*/
+}
+varonce = var11;
+var = var21;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}