-var413 = varonce412;
-varonce412 = NULL;
-}
-{
-var422 = ((val*(*)(val* self))(var_value->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_value); /* to_s on <var_value:RuntimeVariable>*/
-}
-((struct instance_core__NativeArray*)var413)->values[1]=var422;
-{
-var423 = ((val*(*)(val* self))(var413->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var413); /* native_to_s on <var413:NativeArray[String]>*/
-}
-varonce412 = var413;
-{
-nitc___nitc__AbstractCompilerVisitor___add(self, var423); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
-}
-if (unlikely(varonce424==NULL)) {
-var425 = NEW_core__NativeArray(4l, &type_core__NativeArray__core__String);
-if (likely(varonce426!=NULL)) {
-var427 = varonce426;
-} else {
-var428 = " = ";
-var429 = core__flat___NativeString___to_s_full(var428, 3l, 3l);
-var427 = var429;
-varonce426 = var427;
-}
-((struct instance_core__NativeArray*)var425)->values[1]=var427;
-if (likely(varonce430!=NULL)) {
-var431 = varonce430;
-} else {
-var432 = ";";
-var433 = core__flat___NativeString___to_s_full(var432, 1l, 1l);
-var431 = var433;
-varonce430 = var431;
-}
-((struct instance_core__NativeArray*)var425)->values[3]=var431;
-} else {
-var425 = varonce424;
-varonce424 = NULL;
-}
-{
-var434 = ((val*(*)(val* self))(var_res->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_res); /* to_s on <var_res:RuntimeVariable>*/
-}
-((struct instance_core__NativeArray*)var425)->values[0]=var434;
-((struct instance_core__NativeArray*)var425)->values[2]=var_accept_null;
-{
-var435 = ((val*(*)(val* self))(var425->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var425); /* native_to_s on <var425:NativeArray[String]>*/
-}
-varonce424 = var425;
-{
-nitc___nitc__AbstractCompilerVisitor___add(self, var435); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
-}
-if (likely(varonce436!=NULL)) {
-var437 = varonce436;
-} else {
-var438 = "} else {";
-var439 = core__flat___NativeString___to_s_full(var438, 8l, 8l);
-var437 = var439;
-varonce436 = var437;
-}
-{
-nitc___nitc__AbstractCompilerVisitor___add(self, var437); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
-}
-} else {
-}
-{
-var440 = nitc___nitc__SeparateCompilerVisitor___type_info(self, var_value);
-}
-var_value_type_info = var440;
-if (unlikely(varonce441==NULL)) {
-var442 = NEW_core__NativeArray(5l, &type_core__NativeArray__core__String);
-if (likely(varonce443!=NULL)) {
-var444 = varonce443;
-} else {
-var445 = "if(";
-var446 = core__flat___NativeString___to_s_full(var445, 3l, 3l);
-var444 = var446;
-varonce443 = var444;
-}
-((struct instance_core__NativeArray*)var442)->values[0]=var444;
-if (likely(varonce447!=NULL)) {
-var448 = varonce447;
-} else {
-var449 = " >= ";
-var450 = core__flat___NativeString___to_s_full(var449, 4l, 4l);
-var448 = var450;
-varonce447 = var448;
-}
-((struct instance_core__NativeArray*)var442)->values[2]=var448;
-if (likely(varonce451!=NULL)) {
-var452 = varonce451;
-} else {
-var453 = "->table_size) {";
-var454 = core__flat___NativeString___to_s_full(var453, 15l, 15l);
-var452 = var454;
-varonce451 = var452;
-}
-((struct instance_core__NativeArray*)var442)->values[4]=var452;
-} else {
-var442 = varonce441;
-varonce441 = NULL;
-}
-((struct instance_core__NativeArray*)var442)->values[1]=var_cltype;
-((struct instance_core__NativeArray*)var442)->values[3]=var_value_type_info;
-{
-var455 = ((val*(*)(val* self))(var442->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var442); /* native_to_s on <var442:NativeArray[String]>*/
-}
-varonce441 = var442;
-{
-nitc___nitc__AbstractCompilerVisitor___add(self, var455); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
-}
-if (unlikely(varonce456==NULL)) {
-var457 = NEW_core__NativeArray(2l, &type_core__NativeArray__core__String);
-if (likely(varonce458!=NULL)) {
-var459 = varonce458;
-} else {
-var460 = " = 0;";
-var461 = core__flat___NativeString___to_s_full(var460, 5l, 5l);
-var459 = var461;
-varonce458 = var459;
-}
-((struct instance_core__NativeArray*)var457)->values[1]=var459;
-} else {
-var457 = varonce456;
-varonce456 = NULL;
-}
-{
-var462 = ((val*(*)(val* self))(var_res->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_res); /* to_s on <var_res:RuntimeVariable>*/
-}
-((struct instance_core__NativeArray*)var457)->values[0]=var462;
-{
-var463 = ((val*(*)(val* self))(var457->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var457); /* native_to_s on <var457:NativeArray[String]>*/
-}
-varonce456 = var457;
-{
-nitc___nitc__AbstractCompilerVisitor___add(self, var463); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
-}
-if (likely(varonce464!=NULL)) {
-var465 = varonce464;
-} else {
-var466 = "} else {";
-var467 = core__flat___NativeString___to_s_full(var466, 8l, 8l);
-var465 = var467;
-varonce464 = var465;
-}
-{
-nitc___nitc__AbstractCompilerVisitor___add(self, var465); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
-}
-if (unlikely(varonce468==NULL)) {
-var469 = NEW_core__NativeArray(8l, &type_core__NativeArray__core__String);
-if (likely(varonce470!=NULL)) {
-var471 = varonce470;
-} else {
-var472 = " = ";
-var473 = core__flat___NativeString___to_s_full(var472, 3l, 3l);
-var471 = var473;
-varonce470 = var471;
-}
-((struct instance_core__NativeArray*)var469)->values[1]=var471;
-if (likely(varonce474!=NULL)) {
-var475 = varonce474;
-} else {
-var476 = "->type_table[";
-var477 = core__flat___NativeString___to_s_full(var476, 13l, 13l);
-var475 = var477;
-varonce474 = var475;
-}
-((struct instance_core__NativeArray*)var469)->values[3]=var475;
-if (likely(varonce478!=NULL)) {
-var479 = varonce478;
-} else {
-var480 = "] == ";
-var481 = core__flat___NativeString___to_s_full(var480, 5l, 5l);
-var479 = var481;
-varonce478 = var479;
-}
-((struct instance_core__NativeArray*)var469)->values[5]=var479;
-if (likely(varonce482!=NULL)) {
-var483 = varonce482;
-} else {
-var484 = ";";
-var485 = core__flat___NativeString___to_s_full(var484, 1l, 1l);
-var483 = var485;
-varonce482 = var483;
-}
-((struct instance_core__NativeArray*)var469)->values[7]=var483;
-} else {
-var469 = varonce468;
-varonce468 = NULL;
-}
-{
-var486 = ((val*(*)(val* self))(var_res->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_res); /* to_s on <var_res:RuntimeVariable>*/
-}
-((struct instance_core__NativeArray*)var469)->values[0]=var486;
-((struct instance_core__NativeArray*)var469)->values[2]=var_value_type_info;
-((struct instance_core__NativeArray*)var469)->values[4]=var_cltype;
-((struct instance_core__NativeArray*)var469)->values[6]=var_idtype;
-{
-var487 = ((val*(*)(val* self))(var469->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var469); /* native_to_s on <var469:NativeArray[String]>*/
-}
-varonce468 = var469;
-{
-nitc___nitc__AbstractCompilerVisitor___add(self, var487); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
-}
-if (likely(varonce488!=NULL)) {
-var489 = varonce488;
-} else {
-var490 = "}";
-var491 = core__flat___NativeString___to_s_full(var490, 1l, 1l);
-var489 = var491;
-varonce488 = var489;
-}
-{
-nitc___nitc__AbstractCompilerVisitor___add(self, var489); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
-}
-if (var_maybe_null){
-if (likely(varonce492!=NULL)) {
-var493 = varonce492;
-} else {
-var494 = "}";
-var495 = core__flat___NativeString___to_s_full(var494, 1l, 1l);
-var493 = var495;
-varonce492 = var493;
-}
-{
-nitc___nitc__AbstractCompilerVisitor___add(self, var493); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
-}
-} else {
-}
-var = var_res;
-goto RET_LABEL;
-RET_LABEL:;
-return var;
-}
-/* method separate_compiler#SeparateCompilerVisitor#is_same_type_test for (self: SeparateCompilerVisitor, RuntimeVariable, RuntimeVariable): RuntimeVariable */
-val* nitc___nitc__SeparateCompilerVisitor___nitc__abstract_compiler__AbstractCompilerVisitor__is_same_type_test(val* self, val* p0, val* p1) {
-val* var /* : RuntimeVariable */;
-val* var_value1 /* var value1: RuntimeVariable */;
-val* var_value2 /* var value2: RuntimeVariable */;
-val* var1 /* : MClassType */;
-val* var2 /* : RuntimeVariable */;
-val* var_res /* var res: RuntimeVariable */;
-short int var3 /* : Bool */;
-val* var4 /* : MType */;
-val* var6 /* : MType */;
-short int var7 /* : Bool */;
-short int var_ /* var : Bool */;
-val* var8 /* : MType */;
-val* var10 /* : MType */;
-short int var11 /* : Bool */;
-short int var12 /* : Bool */;
-val* var_tmp /* var tmp: RuntimeVariable */;
-val* var13 /* : MType */;
-val* var15 /* : MType */;
-short int var16 /* : Bool */;
-val* var17 /* : MType */;
-val* var19 /* : MType */;
-val* var20 /* : MType */;
-val* var22 /* : MType */;
-short int var23 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var25 /* : Bool */;
-short int var27 /* : Bool */;
-val* var28 /* : NativeArray[String] */;
-static val* varonce;
-static val* varonce29;
-val* var30 /* : String */;
-char* var31 /* : NativeString */;
-val* var32 /* : String */;
-static val* varonce33;
-val* var34 /* : String */;
-char* var35 /* : NativeString */;
-val* var36 /* : String */;
-static val* varonce37;
-val* var38 /* : String */;
-char* var39 /* : NativeString */;
-val* var40 /* : String */;
-val* var41 /* : String */;
-val* var42 /* : MType */;
-val* var44 /* : MType */;
-val* var45 /* : String */;
-val* var46 /* : MType */;
-val* var48 /* : MType */;
-val* var49 /* : String */;
-val* var50 /* : String */;
-val* var51 /* : MType */;
-val* var53 /* : MType */;
-short int var54 /* : Bool */;
-val* var56 /* : NativeArray[String] */;
-static val* varonce55;
-static val* varonce57;
-val* var58 /* : String */;
-char* var59 /* : NativeString */;
-val* var60 /* : String */;
-static val* varonce61;
-val* var62 /* : String */;
-char* var63 /* : NativeString */;
-val* var64 /* : String */;
-static val* varonce65;
-val* var66 /* : String */;
-char* var67 /* : NativeString */;
-val* var68 /* : String */;
-val* var69 /* : String */;
-val* var70 /* : MType */;
-val* var72 /* : MType */;
-val* var73 /* : String */;
-val* var74 /* : MType */;
-val* var76 /* : MType */;
-val* var77 /* : String */;
-val* var78 /* : String */;
-val* var79 /* : MType */;
-val* var81 /* : MType */;
-short int var82 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var_mtype1 /* var mtype1: MClassType */;
-val* var84 /* : NativeArray[String] */;
-static val* varonce83;
-static val* varonce85;
-val* var86 /* : String */;
-char* var87 /* : NativeString */;
-val* var88 /* : String */;
-val* var89 /* : String */;
-val* var90 /* : String */;
-val* var92 /* : NativeArray[String] */;
-static val* varonce91;
-static val* varonce93;
-val* var94 /* : String */;
-char* var95 /* : NativeString */;
-val* var96 /* : String */;
-static val* varonce97;
-val* var98 /* : String */;
-char* var99 /* : NativeString */;
-val* var100 /* : String */;
-static val* varonce101;
-val* var102 /* : String */;
-char* var103 /* : NativeString */;
-val* var104 /* : String */;
-static val* varonce105;
-val* var106 /* : String */;
-char* var107 /* : NativeString */;
-val* var108 /* : String */;
-val* var109 /* : String */;
-val* var110 /* : String */;
-val* var111 /* : String */;
-val* var112 /* : String */;
-val* var113 /* : String */;
-val* var115 /* : NativeArray[String] */;
-static val* varonce114;
-static val* varonce116;
-val* var117 /* : String */;
-char* var118 /* : NativeString */;
-val* var119 /* : String */;
-static val* varonce120;
-val* var121 /* : String */;
-char* var122 /* : NativeString */;
-val* var123 /* : String */;
-static val* varonce124;
-val* var125 /* : String */;
-char* var126 /* : NativeString */;
-val* var127 /* : String */;
-static val* varonce128;
-val* var129 /* : String */;
-char* var130 /* : NativeString */;
-val* var131 /* : String */;
-static val* varonce132;
-val* var133 /* : String */;
-char* var134 /* : NativeString */;
-val* var135 /* : String */;
-static val* varonce136;
-val* var137 /* : String */;
-char* var138 /* : NativeString */;
-val* var139 /* : String */;
-static val* varonce140;
-val* var141 /* : String */;
-char* var142 /* : NativeString */;
-val* var143 /* : String */;
-val* var144 /* : String */;
-val* var145 /* : String */;
-val* var146 /* : String */;
-val* var147 /* : String */;
-val* var148 /* : String */;
-val* var149 /* : String */;
-val* var150 /* : String */;
-val* var151 /* : String */;
-var_value1 = p0;
-var_value2 = p1;
-{
-var1 = nitc___nitc__AbstractCompilerVisitor___bool_type(self);
-}
-{
-var2 = nitc___nitc__AbstractCompilerVisitor___new_var(self, var1);
-}
-var_res = var2;
-{
-{ /* Inline abstract_compiler#RuntimeVariable#mtype (var_value2) on <var_value2:RuntimeVariable> */
-var6 = var_value2->attrs[COLOR_nitc__abstract_compiler__RuntimeVariable___mtype].val; /* _mtype on <var_value2:RuntimeVariable> */
-if (unlikely(var6 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1870);
-fatal_exit(1);
-}
-var4 = var6;
-RET_LABEL5:(void)0;
-}
-}
-{
-var7 = ((short int(*)(val* self))(var4->class->vft[COLOR_nitc__abstract_compiler__MType__is_c_primitive]))(var4); /* is_c_primitive on <var4:MType>*/
-}
-var_ = var7;
-if (var7){
-{
-{ /* Inline abstract_compiler#RuntimeVariable#mtype (var_value1) on <var_value1:RuntimeVariable> */
-var10 = var_value1->attrs[COLOR_nitc__abstract_compiler__RuntimeVariable___mtype].val; /* _mtype on <var_value1:RuntimeVariable> */
-if (unlikely(var10 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1870);
-fatal_exit(1);
-}
-var8 = var10;
-RET_LABEL9:(void)0;
-}
-}
-{
-var11 = ((short int(*)(val* self))(var8->class->vft[COLOR_nitc__abstract_compiler__MType__is_c_primitive]))(var8); /* is_c_primitive on <var8:MType>*/
-}
-var12 = !var11;
-var3 = var12;
-} else {
-var3 = var_;
-}
-if (var3){
-var_tmp = var_value1;
-var_value1 = var_value2;
-var_value2 = var_tmp;
-} else {
-}
-{
-{ /* Inline abstract_compiler#RuntimeVariable#mtype (var_value1) on <var_value1:RuntimeVariable> */
-var15 = var_value1->attrs[COLOR_nitc__abstract_compiler__RuntimeVariable___mtype].val; /* _mtype on <var_value1:RuntimeVariable> */
-if (unlikely(var15 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1870);
-fatal_exit(1);
-}
-var13 = var15;
-RET_LABEL14:(void)0;
-}
-}
-{
-var16 = ((short int(*)(val* self))(var13->class->vft[COLOR_nitc__abstract_compiler__MType__is_c_primitive]))(var13); /* is_c_primitive on <var13:MType>*/
-}
-if (var16){
-{
-{ /* Inline abstract_compiler#RuntimeVariable#mtype (var_value2) on <var_value2:RuntimeVariable> */
-var19 = var_value2->attrs[COLOR_nitc__abstract_compiler__RuntimeVariable___mtype].val; /* _mtype on <var_value2:RuntimeVariable> */
-if (unlikely(var19 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1870);
-fatal_exit(1);
-}
-var17 = var19;
-RET_LABEL18:(void)0;
-}
-}
-{
-{ /* Inline abstract_compiler#RuntimeVariable#mtype (var_value1) on <var_value1:RuntimeVariable> */
-var22 = var_value1->attrs[COLOR_nitc__abstract_compiler__RuntimeVariable___mtype].val; /* _mtype on <var_value1:RuntimeVariable> */
-if (unlikely(var22 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1870);
-fatal_exit(1);
-}
-var20 = var22;
-RET_LABEL21:(void)0;
-}
-}
-{
-{ /* Inline kernel#Object#== (var17,var20) on <var17:MType> */
-var_other = var20;
-{
-{ /* Inline kernel#Object#is_same_instance (var17,var_other) on <var17:MType> */
-var27 = var17 == var_other;
-var25 = var27;
-goto RET_LABEL26;
-RET_LABEL26:(void)0;
-}
-}
-var23 = var25;
-goto RET_LABEL24;
-RET_LABEL24:(void)0;
-}
-}
-if (var23){
-if (unlikely(varonce==NULL)) {
-var28 = NEW_core__NativeArray(6l, &type_core__NativeArray__core__String);
-if (likely(varonce29!=NULL)) {
-var30 = varonce29;
-} else {
-var31 = " = 1; /* is_same_type_test: compatible types ";
-var32 = core__flat___NativeString___to_s_full(var31, 45l, 45l);
-var30 = var32;
-varonce29 = var30;
-}
-((struct instance_core__NativeArray*)var28)->values[1]=var30;
-if (likely(varonce33!=NULL)) {
-var34 = varonce33;
-} else {
-var35 = " vs. ";
-var36 = core__flat___NativeString___to_s_full(var35, 5l, 5l);
-var34 = var36;
-varonce33 = var34;
-}
-((struct instance_core__NativeArray*)var28)->values[3]=var34;
-if (likely(varonce37!=NULL)) {
-var38 = varonce37;
-} else {
-var39 = " */";
-var40 = core__flat___NativeString___to_s_full(var39, 3l, 3l);
-var38 = var40;
-varonce37 = var38;
-}
-((struct instance_core__NativeArray*)var28)->values[5]=var38;
-} else {
-var28 = varonce;
-varonce = NULL;
-}
-{
-var41 = ((val*(*)(val* self))(var_res->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_res); /* to_s on <var_res:RuntimeVariable>*/
-}
-((struct instance_core__NativeArray*)var28)->values[0]=var41;
-{
-{ /* Inline abstract_compiler#RuntimeVariable#mtype (var_value1) on <var_value1:RuntimeVariable> */
-var44 = var_value1->attrs[COLOR_nitc__abstract_compiler__RuntimeVariable___mtype].val; /* _mtype on <var_value1:RuntimeVariable> */
-if (unlikely(var44 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1870);
-fatal_exit(1);
-}
-var42 = var44;
-RET_LABEL43:(void)0;
-}
-}
-{
-var45 = ((val*(*)(val* self))(var42->class->vft[COLOR_core__abstract_text__Object__to_s]))(var42); /* to_s on <var42:MType>*/
-}
-((struct instance_core__NativeArray*)var28)->values[2]=var45;
-{
-{ /* Inline abstract_compiler#RuntimeVariable#mtype (var_value2) on <var_value2:RuntimeVariable> */
-var48 = var_value2->attrs[COLOR_nitc__abstract_compiler__RuntimeVariable___mtype].val; /* _mtype on <var_value2:RuntimeVariable> */
-if (unlikely(var48 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1870);
-fatal_exit(1);
-}
-var46 = var48;
-RET_LABEL47:(void)0;
-}
-}
-{
-var49 = ((val*(*)(val* self))(var46->class->vft[COLOR_core__abstract_text__Object__to_s]))(var46); /* to_s on <var46:MType>*/
-}
-((struct instance_core__NativeArray*)var28)->values[4]=var49;
-{
-var50 = ((val*(*)(val* self))(var28->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var28); /* native_to_s on <var28:NativeArray[String]>*/
-}
-varonce = var28;
-{
-nitc___nitc__AbstractCompilerVisitor___add(self, var50); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
-}
-} else {
-{
-{ /* Inline abstract_compiler#RuntimeVariable#mtype (var_value2) on <var_value2:RuntimeVariable> */
-var53 = var_value2->attrs[COLOR_nitc__abstract_compiler__RuntimeVariable___mtype].val; /* _mtype on <var_value2:RuntimeVariable> */
-if (unlikely(var53 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1870);
-fatal_exit(1);
-}
-var51 = var53;
-RET_LABEL52:(void)0;
-}
-}
-{
-var54 = ((short int(*)(val* self))(var51->class->vft[COLOR_nitc__abstract_compiler__MType__is_c_primitive]))(var51); /* is_c_primitive on <var51:MType>*/
-}
-if (var54){
-if (unlikely(varonce55==NULL)) {
-var56 = NEW_core__NativeArray(6l, &type_core__NativeArray__core__String);
-if (likely(varonce57!=NULL)) {
-var58 = varonce57;
-} else {
-var59 = " = 0; /* is_same_type_test: incompatible types ";
-var60 = core__flat___NativeString___to_s_full(var59, 47l, 47l);
-var58 = var60;
-varonce57 = var58;
-}
-((struct instance_core__NativeArray*)var56)->values[1]=var58;
-if (likely(varonce61!=NULL)) {
-var62 = varonce61;
-} else {
-var63 = " vs. ";
-var64 = core__flat___NativeString___to_s_full(var63, 5l, 5l);
-var62 = var64;
-varonce61 = var62;
-}
-((struct instance_core__NativeArray*)var56)->values[3]=var62;
-if (likely(varonce65!=NULL)) {
-var66 = varonce65;
-} else {
-var67 = "*/";
-var68 = core__flat___NativeString___to_s_full(var67, 2l, 2l);
-var66 = var68;
-varonce65 = var66;
-}
-((struct instance_core__NativeArray*)var56)->values[5]=var66;
-} else {
-var56 = varonce55;
-varonce55 = NULL;
-}
-{
-var69 = ((val*(*)(val* self))(var_res->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_res); /* to_s on <var_res:RuntimeVariable>*/
-}
-((struct instance_core__NativeArray*)var56)->values[0]=var69;
-{
-{ /* Inline abstract_compiler#RuntimeVariable#mtype (var_value1) on <var_value1:RuntimeVariable> */
-var72 = var_value1->attrs[COLOR_nitc__abstract_compiler__RuntimeVariable___mtype].val; /* _mtype on <var_value1:RuntimeVariable> */
-if (unlikely(var72 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1870);
-fatal_exit(1);
-}
-var70 = var72;
-RET_LABEL71:(void)0;
-}
-}
-{
-var73 = ((val*(*)(val* self))(var70->class->vft[COLOR_core__abstract_text__Object__to_s]))(var70); /* to_s on <var70:MType>*/
-}
-((struct instance_core__NativeArray*)var56)->values[2]=var73;
-{
-{ /* Inline abstract_compiler#RuntimeVariable#mtype (var_value2) on <var_value2:RuntimeVariable> */
-var76 = var_value2->attrs[COLOR_nitc__abstract_compiler__RuntimeVariable___mtype].val; /* _mtype on <var_value2:RuntimeVariable> */
-if (unlikely(var76 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1870);
-fatal_exit(1);
-}
-var74 = var76;
-RET_LABEL75:(void)0;
-}
-}
-{
-var77 = ((val*(*)(val* self))(var74->class->vft[COLOR_core__abstract_text__Object__to_s]))(var74); /* to_s on <var74:MType>*/
-}
-((struct instance_core__NativeArray*)var56)->values[4]=var77;
-{
-var78 = ((val*(*)(val* self))(var56->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var56); /* native_to_s on <var56:NativeArray[String]>*/
-}
-varonce55 = var56;
-{
-nitc___nitc__AbstractCompilerVisitor___add(self, var78); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
-}
-} else {
-{
-{ /* Inline abstract_compiler#RuntimeVariable#mtype (var_value1) on <var_value1:RuntimeVariable> */
-var81 = var_value1->attrs[COLOR_nitc__abstract_compiler__RuntimeVariable___mtype].val; /* _mtype on <var_value1:RuntimeVariable> */
-if (unlikely(var81 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1870);
-fatal_exit(1);
-}
-var79 = var81;
-RET_LABEL80:(void)0;
-}
-}
-/* <var79:MType> isa MClassType */
-cltype = type_nitc__MClassType.color;
-idtype = type_nitc__MClassType.id;
-if(cltype >= var79->type->table_size) {
-var82 = 0;
-} else {
-var82 = var79->type->type_table[cltype] == idtype;
-}
-if (unlikely(!var82)) {
-var_class_name = var79 == NULL ? "null" : var79->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler, 1869);
-fatal_exit(1);
-}
-var_mtype1 = var79;
-if (unlikely(varonce83==NULL)) {
-var84 = NEW_core__NativeArray(2l, &type_core__NativeArray__core__String);
-if (likely(varonce85!=NULL)) {
-var86 = varonce85;
-} else {
-var87 = "class_";
-var88 = core__flat___NativeString___to_s_full(var87, 6l, 6l);
-var86 = var88;
-varonce85 = var86;
-}
-((struct instance_core__NativeArray*)var84)->values[0]=var86;
-} else {
-var84 = varonce83;
-varonce83 = NULL;
-}
-{
-var89 = ((val*(*)(val* self))(var_mtype1->class->vft[COLOR_nitc__model_base__MEntity__c_name]))(var_mtype1); /* c_name on <var_mtype1:MClassType>*/
-}
-((struct instance_core__NativeArray*)var84)->values[1]=var89;
-{
-var90 = ((val*(*)(val* self))(var84->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var84); /* native_to_s on <var84:NativeArray[String]>*/
-}
-varonce83 = var84;
-{
-nitc___nitc__AbstractCompilerVisitor___require_declaration(self, var90); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
-}
-if (unlikely(varonce91==NULL)) {
-var92 = NEW_core__NativeArray(8l, &type_core__NativeArray__core__String);
-if (likely(varonce93!=NULL)) {
-var94 = varonce93;
-} else {
-var95 = " = (";
-var96 = core__flat___NativeString___to_s_full(var95, 4l, 4l);
-var94 = var96;
-varonce93 = var94;
-}
-((struct instance_core__NativeArray*)var92)->values[1]=var94;
-if (likely(varonce97!=NULL)) {
-var98 = varonce97;
-} else {
-var99 = " != NULL) && (";
-var100 = core__flat___NativeString___to_s_full(var99, 14l, 14l);
-var98 = var100;
-varonce97 = var98;
-}
-((struct instance_core__NativeArray*)var92)->values[3]=var98;
-if (likely(varonce101!=NULL)) {
-var102 = varonce101;
-} else {
-var103 = " == &class_";
-var104 = core__flat___NativeString___to_s_full(var103, 11l, 11l);
-var102 = var104;
-varonce101 = var102;
-}
-((struct instance_core__NativeArray*)var92)->values[5]=var102;
-if (likely(varonce105!=NULL)) {
-var106 = varonce105;
-} else {
-var107 = "); /* is_same_type_test */";
-var108 = core__flat___NativeString___to_s_full(var107, 26l, 26l);
-var106 = var108;
-varonce105 = var106;
-}
-((struct instance_core__NativeArray*)var92)->values[7]=var106;
-} else {
-var92 = varonce91;
-varonce91 = NULL;
-}
-{
-var109 = ((val*(*)(val* self))(var_res->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_res); /* to_s on <var_res:RuntimeVariable>*/
-}
-((struct instance_core__NativeArray*)var92)->values[0]=var109;
-{
-var110 = ((val*(*)(val* self))(var_value2->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_value2); /* to_s on <var_value2:RuntimeVariable>*/
-}
-((struct instance_core__NativeArray*)var92)->values[2]=var110;
-{
-var111 = nitc___nitc__SeparateCompilerVisitor___class_info(self, var_value2);
-}
-((struct instance_core__NativeArray*)var92)->values[4]=var111;
-{
-var112 = ((val*(*)(val* self))(var_mtype1->class->vft[COLOR_nitc__model_base__MEntity__c_name]))(var_mtype1); /* c_name on <var_mtype1:MClassType>*/
-}
-((struct instance_core__NativeArray*)var92)->values[6]=var112;
-{
-var113 = ((val*(*)(val* self))(var92->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var92); /* native_to_s on <var92:NativeArray[String]>*/
-}
-varonce91 = var92;
-{
-nitc___nitc__AbstractCompilerVisitor___add(self, var113); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
-}
-}
-}
-} else {
-if (unlikely(varonce114==NULL)) {
-var115 = NEW_core__NativeArray(14l, &type_core__NativeArray__core__String);
-if (likely(varonce116!=NULL)) {
-var117 = varonce116;
-} else {
-var118 = " = (";
-var119 = core__flat___NativeString___to_s_full(var118, 4l, 4l);
-var117 = var119;
-varonce116 = var117;
-}
-((struct instance_core__NativeArray*)var115)->values[1]=var117;
-if (likely(varonce120!=NULL)) {
-var121 = varonce120;
-} else {
-var122 = " == ";
-var123 = core__flat___NativeString___to_s_full(var122, 4l, 4l);
-var121 = var123;
-varonce120 = var121;
-}
-((struct instance_core__NativeArray*)var115)->values[3]=var121;
-if (likely(varonce124!=NULL)) {
-var125 = varonce124;
-} else {
-var126 = ") || (";
-var127 = core__flat___NativeString___to_s_full(var126, 6l, 6l);
-var125 = var127;
-varonce124 = var125;
-}
-((struct instance_core__NativeArray*)var115)->values[5]=var125;
-if (likely(varonce128!=NULL)) {
-var129 = varonce128;
-} else {
-var130 = " != NULL && ";
-var131 = core__flat___NativeString___to_s_full(var130, 12l, 12l);
-var129 = var131;
-varonce128 = var129;
-}
-((struct instance_core__NativeArray*)var115)->values[7]=var129;
-if (likely(varonce132!=NULL)) {
-var133 = varonce132;
-} else {
-var134 = " != NULL && ";
-var135 = core__flat___NativeString___to_s_full(var134, 12l, 12l);
-var133 = var135;
-varonce132 = var133;
-}
-((struct instance_core__NativeArray*)var115)->values[9]=var133;
-if (likely(varonce136!=NULL)) {
-var137 = varonce136;
-} else {
-var138 = " == ";
-var139 = core__flat___NativeString___to_s_full(var138, 4l, 4l);
-var137 = var139;
-varonce136 = var137;
-}
-((struct instance_core__NativeArray*)var115)->values[11]=var137;
-if (likely(varonce140!=NULL)) {
-var141 = varonce140;
-} else {
-var142 = "); /* is_same_type_test */";
-var143 = core__flat___NativeString___to_s_full(var142, 26l, 26l);
-var141 = var143;
-varonce140 = var141;
-}
-((struct instance_core__NativeArray*)var115)->values[13]=var141;
-} else {
-var115 = varonce114;
-varonce114 = NULL;
-}
-{
-var144 = ((val*(*)(val* self))(var_res->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_res); /* to_s on <var_res:RuntimeVariable>*/
-}
-((struct instance_core__NativeArray*)var115)->values[0]=var144;
-{
-var145 = ((val*(*)(val* self))(var_value1->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_value1); /* to_s on <var_value1:RuntimeVariable>*/
-}
-((struct instance_core__NativeArray*)var115)->values[2]=var145;
-{
-var146 = ((val*(*)(val* self))(var_value2->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_value2); /* to_s on <var_value2:RuntimeVariable>*/
-}
-((struct instance_core__NativeArray*)var115)->values[4]=var146;
-{
-var147 = ((val*(*)(val* self))(var_value1->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_value1); /* to_s on <var_value1:RuntimeVariable>*/
-}
-((struct instance_core__NativeArray*)var115)->values[6]=var147;
-{
-var148 = ((val*(*)(val* self))(var_value2->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_value2); /* to_s on <var_value2:RuntimeVariable>*/
-}
-((struct instance_core__NativeArray*)var115)->values[8]=var148;
-{
-var149 = nitc___nitc__SeparateCompilerVisitor___class_info(self, var_value1);
-}
-((struct instance_core__NativeArray*)var115)->values[10]=var149;
-{
-var150 = nitc___nitc__SeparateCompilerVisitor___class_info(self, var_value2);
-}
-((struct instance_core__NativeArray*)var115)->values[12]=var150;
-{
-var151 = ((val*(*)(val* self))(var115->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var115); /* native_to_s on <var115:NativeArray[String]>*/
-}
-varonce114 = var115;
-{
-nitc___nitc__AbstractCompilerVisitor___add(self, var151); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
-}
-}
-var = var_res;
-goto RET_LABEL;
-RET_LABEL:;
-return var;
-}
-/* method separate_compiler#SeparateCompilerVisitor#class_name_string for (self: SeparateCompilerVisitor, RuntimeVariable): String */
-val* nitc___nitc__SeparateCompilerVisitor___nitc__abstract_compiler__AbstractCompilerVisitor__class_name_string(val* self, val* p0) {
-val* var /* : String */;
-val* var_value /* var value: RuntimeVariable */;
-static val* varonce;
-val* var1 /* : String */;
-char* var2 /* : NativeString */;
-val* var3 /* : String */;
-val* var4 /* : String */;
-val* var_res /* var res: String */;
-val* var6 /* : NativeArray[String] */;
-static val* varonce5;
-static val* varonce7;
-val* var8 /* : String */;
-char* var9 /* : NativeString */;
-val* var10 /* : String */;
-static val* varonce11;
-val* var12 /* : String */;
-char* var13 /* : NativeString */;
-val* var14 /* : String */;
-val* var15 /* : String */;
-val* var16 /* : MType */;
-val* var18 /* : MType */;
-short int var19 /* : Bool */;
-short int var20 /* : Bool */;
-val* var22 /* : NativeArray[String] */;
-static val* varonce21;
-static val* varonce23;
-val* var24 /* : String */;
-char* var25 /* : NativeString */;
-val* var26 /* : String */;
-static val* varonce27;
-val* var28 /* : String */;
-char* var29 /* : NativeString */;
-val* var30 /* : String */;
-static val* varonce31;
-val* var32 /* : String */;
-char* var33 /* : NativeString */;
-val* var34 /* : String */;
-val* var35 /* : String */;
-val* var36 /* : String */;
-val* var37 /* : String */;
-short int var38 /* : Bool */;
-short int var39 /* : Bool */;
-val* var40 /* : MType */;
-val* var42 /* : MType */;
-short int var43 /* : Bool */;
-int cltype;
-int idtype;
-short int var_ /* var : Bool */;
-val* var44 /* : MType */;
-val* var46 /* : MType */;
-short int var47 /* : Bool */;
-int cltype48;
-int idtype49;
-const char* var_class_name;
-val* var50 /* : MClass */;
-val* var52 /* : MClass */;
-val* var53 /* : MClassKind */;
-val* var55 /* : MClassKind */;
-val* var56 /* : Sys */;
-val* var57 /* : MClassKind */;
-short int var58 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var60 /* : Bool */;
-short int var62 /* : Bool */;
-short int var_63 /* var : Bool */;
-val* var64 /* : MType */;
-val* var66 /* : MType */;
-short int var67 /* : Bool */;
-int cltype68;
-int idtype69;
-const char* var_class_name70;
-val* var71 /* : String */;
-static val* varonce72;
-val* var73 /* : String */;
-char* var74 /* : NativeString */;
-val* var75 /* : String */;
-short int var76 /* : Bool */;
-val* var_other78 /* var other: nullable Object */;
-short int var79 /* : Bool */;
-short int var80 /* : Bool */;
-val* var82 /* : NativeArray[String] */;
-static val* varonce81;
-static val* varonce83;
-val* var84 /* : String */;
-char* var85 /* : NativeString */;
-val* var86 /* : String */;
-static val* varonce87;
-val* var88 /* : String */;
-char* var89 /* : NativeString */;
-val* var90 /* : String */;
-val* var91 /* : MType */;
-val* var93 /* : MType */;
-short int var94 /* : Bool */;
-int cltype95;
-int idtype96;
-const char* var_class_name97;
-val* var98 /* : MClass */;
-val* var100 /* : MClass */;
-val* var101 /* : String */;
-val* var102 /* : String */;
-val* var104 /* : NativeArray[String] */;
-static val* varonce103;
-static val* varonce105;
-val* var106 /* : String */;
-char* var107 /* : NativeString */;
-val* var108 /* : String */;
-val* var109 /* : MType */;
-val* var111 /* : MType */;
-val* var112 /* : String */;
-val* var113 /* : String */;
-val* var115 /* : NativeArray[String] */;
-static val* varonce114;
-static val* varonce116;
-val* var117 /* : String */;
-char* var118 /* : NativeString */;
-val* var119 /* : String */;
-static val* varonce120;
-val* var121 /* : String */;
-char* var122 /* : NativeString */;
-val* var123 /* : String */;
-val* var124 /* : MType */;
-val* var126 /* : MType */;
-val* var127 /* : String */;
-val* var128 /* : String */;
-var_value = p0;
-if (likely(varonce!=NULL)) {
-var1 = varonce;
-} else {
-var2 = "var_class_name";
-var3 = core__flat___NativeString___to_s_full(var2, 14l, 14l);
-var1 = var3;
-varonce = var1;
-}
-{
-var4 = nitc___nitc__AbstractCompilerVisitor___get_name(self, var1);
-}
-var_res = var4;
-if (unlikely(varonce5==NULL)) {
-var6 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String);
-if (likely(varonce7!=NULL)) {
-var8 = varonce7;
-} else {
-var9 = "const char* ";
-var10 = core__flat___NativeString___to_s_full(var9, 12l, 12l);
-var8 = var10;
-varonce7 = var8;
-}
-((struct instance_core__NativeArray*)var6)->values[0]=var8;
-if (likely(varonce11!=NULL)) {
-var12 = varonce11;
-} else {
-var13 = ";";
-var14 = core__flat___NativeString___to_s_full(var13, 1l, 1l);
-var12 = var14;
-varonce11 = var12;
-}
-((struct instance_core__NativeArray*)var6)->values[2]=var12;
-} else {
-var6 = varonce5;
-varonce5 = NULL;
-}
-((struct instance_core__NativeArray*)var6)->values[1]=var_res;
-{
-var15 = ((val*(*)(val* self))(var6->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var6); /* native_to_s on <var6:NativeArray[String]>*/
-}
-varonce5 = var6;
-{
-nitc___nitc__AbstractCompilerVisitor___add_decl(self, var15); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <self:SeparateCompilerVisitor>*/
-}
-{
-{ /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
-var18 = var_value->attrs[COLOR_nitc__abstract_compiler__RuntimeVariable___mtype].val; /* _mtype on <var_value:RuntimeVariable> */
-if (unlikely(var18 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1870);
-fatal_exit(1);
-}
-var16 = var18;
-RET_LABEL17:(void)0;
-}
-}
-{
-var19 = ((short int(*)(val* self))(var16->class->vft[COLOR_nitc__abstract_compiler__MType__is_c_primitive]))(var16); /* is_c_primitive on <var16:MType>*/
-}
-var20 = !var19;
-if (var20){
-if (unlikely(varonce21==NULL)) {
-var22 = NEW_core__NativeArray(6l, &type_core__NativeArray__core__String);
-if (likely(varonce23!=NULL)) {
-var24 = varonce23;
-} else {
-var25 = " = ";
-var26 = core__flat___NativeString___to_s_full(var25, 3l, 3l);
-var24 = var26;
-varonce23 = var24;
-}
-((struct instance_core__NativeArray*)var22)->values[1]=var24;
-if (likely(varonce27!=NULL)) {
-var28 = varonce27;
-} else {
-var29 = " == NULL ? \"null\" : ";
-var30 = core__flat___NativeString___to_s_full(var29, 20l, 20l);
-var28 = var30;
-varonce27 = var28;
-}
-((struct instance_core__NativeArray*)var22)->values[3]=var28;
-if (likely(varonce31!=NULL)) {
-var32 = varonce31;
-} else {
-var33 = "->name;";
-var34 = core__flat___NativeString___to_s_full(var33, 7l, 7l);
-var32 = var34;
-varonce31 = var32;
-}
-((struct instance_core__NativeArray*)var22)->values[5]=var32;
-} else {
-var22 = varonce21;
-varonce21 = NULL;
-}
-((struct instance_core__NativeArray*)var22)->values[0]=var_res;
-{
-var35 = ((val*(*)(val* self))(var_value->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_value); /* to_s on <var_value:RuntimeVariable>*/
-}
-((struct instance_core__NativeArray*)var22)->values[2]=var35;
-{
-var36 = nitc___nitc__SeparateCompilerVisitor___type_info(self, var_value);
-}
-((struct instance_core__NativeArray*)var22)->values[4]=var36;
-{
-var37 = ((val*(*)(val* self))(var22->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var22); /* native_to_s on <var22:NativeArray[String]>*/
-}
-varonce21 = var22;
-{
-nitc___nitc__AbstractCompilerVisitor___add(self, var37); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
-}
-} else {
-{
-{ /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
-var42 = var_value->attrs[COLOR_nitc__abstract_compiler__RuntimeVariable___mtype].val; /* _mtype on <var_value:RuntimeVariable> */
-if (unlikely(var42 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1870);
-fatal_exit(1);
-}
-var40 = var42;
-RET_LABEL41:(void)0;
-}
-}
-/* <var40:MType> isa MClassType */
-cltype = type_nitc__MClassType.color;
-idtype = type_nitc__MClassType.id;
-if(cltype >= var40->type->table_size) {
-var43 = 0;
-} else {
-var43 = var40->type->type_table[cltype] == idtype;
-}
-var_ = var43;
-if (var43){
-{
-{ /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
-var46 = var_value->attrs[COLOR_nitc__abstract_compiler__RuntimeVariable___mtype].val; /* _mtype on <var_value:RuntimeVariable> */
-if (unlikely(var46 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1870);
-fatal_exit(1);
-}
-var44 = var46;
-RET_LABEL45:(void)0;
-}
-}
-/* <var44:MType> isa MClassType */
-cltype48 = type_nitc__MClassType.color;
-idtype49 = type_nitc__MClassType.id;
-if(cltype48 >= var44->type->table_size) {
-var47 = 0;
-} else {
-var47 = var44->type->type_table[cltype48] == idtype49;
-}
-if (unlikely(!var47)) {
-var_class_name = var44 == NULL ? "null" : var44->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler, 1885);
-fatal_exit(1);
-}
-{
-{ /* Inline model#MClassType#mclass (var44) on <var44:MType(MClassType)> */
-var52 = var44->attrs[COLOR_nitc__model__MClassType___mclass].val; /* _mclass on <var44:MType(MClassType)> */
-if (unlikely(var52 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1163);
-fatal_exit(1);
-}
-var50 = var52;
-RET_LABEL51:(void)0;
-}
-}
-{
-{ /* Inline model#MClass#kind (var50) on <var50:MClass> */
-var55 = var50->attrs[COLOR_nitc__model__MClass___kind].val; /* _kind on <var50:MClass> */
-if (unlikely(var55 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 459);
-fatal_exit(1);
-}
-var53 = var55;
-RET_LABEL54:(void)0;
-}
-}
-var56 = glob_sys;
-{
-var57 = nitc__model___core__Sys___extern_kind(var56);
-}
-{
-{ /* Inline kernel#Object#== (var53,var57) on <var53:MClassKind> */
-var_other = var57;
-{
-{ /* Inline kernel#Object#is_same_instance (var53,var_other) on <var53:MClassKind> */
-var62 = var53 == var_other;
-var60 = var62;
-goto RET_LABEL61;
-RET_LABEL61:(void)0;
-}
-}
-var58 = var60;
-goto RET_LABEL59;
-RET_LABEL59:(void)0;
-}
-}
-var39 = var58;
-} else {
-var39 = var_;
-}
-var_63 = var39;
-if (var39){
-{
-{ /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
-var66 = var_value->attrs[COLOR_nitc__abstract_compiler__RuntimeVariable___mtype].val; /* _mtype on <var_value:RuntimeVariable> */
-if (unlikely(var66 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1870);
-fatal_exit(1);
-}
-var64 = var66;
-RET_LABEL65:(void)0;
-}
-}
-/* <var64:MType> isa MClassType */
-cltype68 = type_nitc__MClassType.color;
-idtype69 = type_nitc__MClassType.id;
-if(cltype68 >= var64->type->table_size) {
-var67 = 0;
-} else {
-var67 = var64->type->type_table[cltype68] == idtype69;
-}
-if (unlikely(!var67)) {
-var_class_name70 = var64 == NULL ? "null" : var64->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name70);
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler, 1886);
-fatal_exit(1);
-}
-{
-var71 = nitc___nitc__MType___nitc__model_base__MEntity__name(var64);
-}
-if (likely(varonce72!=NULL)) {
-var73 = varonce72;
-} else {
-var74 = "CString";
-var75 = core__flat___NativeString___to_s_full(var74, 7l, 7l);
-var73 = var75;
-varonce72 = var73;
-}
-{
-{ /* Inline kernel#Object#!= (var71,var73) on <var71:String> */
-var_other78 = var73;
-{
-var79 = ((short int(*)(val* self, val* p0))(var71->class->vft[COLOR_core__kernel__Object___61d_61d]))(var71, var_other78); /* == on <var71:String>*/
-}
-var80 = !var79;
-var76 = var80;
-goto RET_LABEL77;
-RET_LABEL77:(void)0;
-}
-}
-var38 = var76;
-} else {
-var38 = var_63;
-}
-if (var38){
-if (unlikely(varonce81==NULL)) {
-var82 = NEW_core__NativeArray(4l, &type_core__NativeArray__core__String);
-if (likely(varonce83!=NULL)) {
-var84 = varonce83;
-} else {
-var85 = " = \"";
-var86 = core__flat___NativeString___to_s_full(var85, 4l, 4l);
-var84 = var86;
-varonce83 = var84;
-}
-((struct instance_core__NativeArray*)var82)->values[1]=var84;
-if (likely(varonce87!=NULL)) {
-var88 = varonce87;
-} else {
-var89 = "\";";
-var90 = core__flat___NativeString___to_s_full(var89, 2l, 2l);
-var88 = var90;
-varonce87 = var88;
-}
-((struct instance_core__NativeArray*)var82)->values[3]=var88;
-} else {
-var82 = varonce81;
-varonce81 = NULL;
-}
-((struct instance_core__NativeArray*)var82)->values[0]=var_res;
-{
-{ /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
-var93 = var_value->attrs[COLOR_nitc__abstract_compiler__RuntimeVariable___mtype].val; /* _mtype on <var_value:RuntimeVariable> */
-if (unlikely(var93 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1870);
-fatal_exit(1);
-}
-var91 = var93;
-RET_LABEL92:(void)0;
-}
-}
-/* <var91:MType> isa MClassType */
-cltype95 = type_nitc__MClassType.color;
-idtype96 = type_nitc__MClassType.id;
-if(cltype95 >= var91->type->table_size) {
-var94 = 0;
-} else {
-var94 = var91->type->type_table[cltype95] == idtype96;
-}
-if (unlikely(!var94)) {
-var_class_name97 = var91 == NULL ? "null" : var91->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name97);
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler, 1887);
-fatal_exit(1);
-}
-{
-{ /* Inline model#MClassType#mclass (var91) on <var91:MType(MClassType)> */
-var100 = var91->attrs[COLOR_nitc__model__MClassType___mclass].val; /* _mclass on <var91:MType(MClassType)> */
-if (unlikely(var100 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1163);
-fatal_exit(1);
-}
-var98 = var100;
-RET_LABEL99:(void)0;
-}
-}
-{
-var101 = ((val*(*)(val* self))(var98->class->vft[COLOR_core__abstract_text__Object__to_s]))(var98); /* to_s on <var98:MClass>*/
-}
-((struct instance_core__NativeArray*)var82)->values[2]=var101;
-{
-var102 = ((val*(*)(val* self))(var82->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var82); /* native_to_s on <var82:NativeArray[String]>*/
-}
-varonce81 = var82;
-{
-nitc___nitc__AbstractCompilerVisitor___add(self, var102); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
-}
-} else {
-if (unlikely(varonce103==NULL)) {
-var104 = NEW_core__NativeArray(2l, &type_core__NativeArray__core__String);
-if (likely(varonce105!=NULL)) {
-var106 = varonce105;
-} else {
-var107 = "type_";
-var108 = core__flat___NativeString___to_s_full(var107, 5l, 5l);
-var106 = var108;
-varonce105 = var106;
-}
-((struct instance_core__NativeArray*)var104)->values[0]=var106;
-} else {
-var104 = varonce103;
-varonce103 = NULL;
-}
-{
-{ /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
-var111 = var_value->attrs[COLOR_nitc__abstract_compiler__RuntimeVariable___mtype].val; /* _mtype on <var_value:RuntimeVariable> */
-if (unlikely(var111 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1870);
-fatal_exit(1);
-}
-var109 = var111;
-RET_LABEL110:(void)0;
-}
-}
-{
-var112 = ((val*(*)(val* self))(var109->class->vft[COLOR_nitc__model_base__MEntity__c_name]))(var109); /* c_name on <var109:MType>*/
-}
-((struct instance_core__NativeArray*)var104)->values[1]=var112;
-{
-var113 = ((val*(*)(val* self))(var104->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var104); /* native_to_s on <var104:NativeArray[String]>*/
-}
-varonce103 = var104;
-{
-nitc___nitc__AbstractCompilerVisitor___require_declaration(self, var113); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
-}
-if (unlikely(varonce114==NULL)) {
-var115 = NEW_core__NativeArray(4l, &type_core__NativeArray__core__String);
-if (likely(varonce116!=NULL)) {
-var117 = varonce116;
-} else {
-var118 = " = type_";
-var119 = core__flat___NativeString___to_s_full(var118, 8l, 8l);
-var117 = var119;
-varonce116 = var117;
-}
-((struct instance_core__NativeArray*)var115)->values[1]=var117;
-if (likely(varonce120!=NULL)) {
-var121 = varonce120;
-} else {
-var122 = ".name;";
-var123 = core__flat___NativeString___to_s_full(var122, 6l, 6l);
-var121 = var123;
-varonce120 = var121;
-}
-((struct instance_core__NativeArray*)var115)->values[3]=var121;
-} else {
-var115 = varonce114;
-varonce114 = NULL;
-}
-((struct instance_core__NativeArray*)var115)->values[0]=var_res;
-{
-{ /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
-var126 = var_value->attrs[COLOR_nitc__abstract_compiler__RuntimeVariable___mtype].val; /* _mtype on <var_value:RuntimeVariable> */
-if (unlikely(var126 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 1870);
-fatal_exit(1);
-}
-var124 = var126;
-RET_LABEL125:(void)0;
-}
-}
-{
-var127 = ((val*(*)(val* self))(var124->class->vft[COLOR_nitc__model_base__MEntity__c_name]))(var124); /* c_name on <var124:MType>*/
-}
-((struct instance_core__NativeArray*)var115)->values[2]=var127;
-{
-var128 = ((val*(*)(val* self))(var115->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var115); /* native_to_s on <var115:NativeArray[String]>*/
-}
-varonce114 = var115;
-{
-nitc___nitc__AbstractCompilerVisitor___add(self, var128); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
-}
-}
-}
-var = var_res;
-goto RET_LABEL;
-RET_LABEL:;
-return var;
-}
-/* method separate_compiler#SeparateCompilerVisitor#equal_test for (self: SeparateCompilerVisitor, RuntimeVariable, RuntimeVariable): RuntimeVariable */
-val* nitc___nitc__SeparateCompilerVisitor___nitc__abstract_compiler__AbstractCompilerVisitor__equal_test(val* self, val* p0, val* p1) {
-val* var /* : RuntimeVariable */;
-val* var_value1 /* var value1: RuntimeVariable */;
-val* var_value2 /* var value2: RuntimeVariable */;
-val* var1 /* : MClassType */;
-val* var2 /* : RuntimeVariable */;
-val* var_res /* var res: RuntimeVariable */;
-short int var3 /* : Bool */;
-val* var4 /* : MType */;
-val* var6 /* : MType */;
-short int var7 /* : Bool */;
-short int var_ /* var : Bool */;
-val* var8 /* : MType */;
-val* var10 /* : MType */;
-short int var11 /* : Bool */;
-short int var12 /* : Bool */;
-val* var_tmp /* var tmp: RuntimeVariable */;
-val* var13 /* : MType */;
-val* var15 /* : MType */;
-short int var16 /* : Bool */;
-val* var17 /* : MType */;
-val* var19 /* : MType */;
-val* var_t1 /* var t1: MType */;
-val* var20 /* : MType */;
-val* var22 /* : MType */;
-short int var23 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var25 /* : Bool */;
-short int var27 /* : Bool */;
-val* var28 /* : MType */;
-val* var30 /* : MType */;
-short int var31 /* : Bool */;
-short int var33 /* : Bool */;
-short int var35 /* : Bool */;
-val* var36 /* : NativeArray[String] */;
-static val* varonce;
-static val* varonce37;
-val* var38 /* : String */;
-char* var39 /* : NativeString */;
-val* var40 /* : String */;
-static val* varonce41;
-val* var42 /* : String */;
-char* var43 /* : NativeString */;
-val* var44 /* : String */;
-static val* varonce45;
-val* var46 /* : String */;
-char* var47 /* : NativeString */;
-val* var48 /* : String */;
-val* var49 /* : String */;
-val* var50 /* : String */;
-val* var51 /* : String */;
-val* var52 /* : String */;
-val* var53 /* : Array[String] */;
-val* var_tests /* var tests: Array[String] */;
-val* var54 /* : MType */;
-val* var56 /* : MType */;
-val* var_t2 /* var t2: MType */;
-short int var57 /* : Bool */;
-int cltype;
-int idtype;
-val* var59 /* : NativeArray[String] */;
-static val* varonce58;
-static val* varonce60;
-val* var61 /* : String */;
-char* var62 /* : NativeString */;
-val* var63 /* : String */;
-static val* varonce64;
-val* var65 /* : String */;
-char* var66 /* : NativeString */;
-val* var67 /* : String */;
-val* var68 /* : String */;
-val* var69 /* : String */;
-val* var70 /* : MType */;
-val* var72 /* : MType */;
-short int var73 /* : Bool */;
-int cltype74;
-int idtype75;
-val* var77 /* : NativeArray[String] */;
-static val* varonce76;
-static val* varonce78;
-val* var79 /* : String */;
-char* var80 /* : NativeString */;
-val* var81 /* : String */;
-static val* varonce82;
-val* var83 /* : String */;
-char* var84 /* : NativeString */;
-val* var85 /* : String */;
-static val* varonce86;
-val* var87 /* : String */;
-char* var88 /* : NativeString */;
-val* var89 /* : String */;
-val* var90 /* : String */;
-val* var91 /* : String */;
-val* var92 /* : String */;
-val* var93 /* : String */;
-short int var94 /* : Bool */;
-short int var96 /* : Bool */;
-short int var98 /* : Bool */;
-short int var99 /* : Bool */;
-val* var101 /* : NativeArray[String] */;
-static val* varonce100;
-static val* varonce102;
-val* var103 /* : String */;
-char* var104 /* : NativeString */;
-val* var105 /* : String */;
-static val* varonce106;
-val* var107 /* : String */;
-char* var108 /* : NativeString */;
-val* var109 /* : String */;
-static val* varonce110;
-val* var111 /* : String */;
-char* var112 /* : NativeString */;
-val* var113 /* : String */;
-val* var114 /* : String */;
-val* var115 /* : String */;
-val* var116 /* : String */;
-val* var117 /* : String */;
-short int var118 /* : Bool */;
-short int var120 /* : Bool */;
-val* var122 /* : NativeArray[String] */;
-static val* varonce121;
-static val* varonce123;
-val* var124 /* : String */;
-char* var125 /* : NativeString */;
-val* var126 /* : String */;
-static val* varonce127;
-val* var128 /* : String */;
-char* var129 /* : NativeString */;
-val* var130 /* : String */;
-static val* varonce131;
-val* var132 /* : String */;
-char* var133 /* : NativeString */;
-val* var134 /* : String */;
-val* var135 /* : String */;
-long var136 /* : Int */;
-long var138 /* : Int */;
-val* var139 /* : String */;
-val* var140 /* : String */;
-val* var142 /* : NativeArray[String] */;
-static val* varonce141;
-static val* varonce143;
-val* var144 /* : String */;
-char* var145 /* : NativeString */;
-val* var146 /* : String */;
-val* var147 /* : String */;
-val* var148 /* : String */;
-val* var150 /* : NativeArray[String] */;
-static val* varonce149;
-static val* varonce151;
-val* var152 /* : String */;
-char* var153 /* : NativeString */;
-val* var154 /* : String */;
-static val* varonce155;
-val* var156 /* : String */;
-char* var157 /* : NativeString */;
-val* var158 /* : String */;
-static val* varonce159;
-val* var160 /* : String */;
-char* var161 /* : NativeString */;
-val* var162 /* : String */;
-val* var163 /* : String */;
-val* var164 /* : String */;
-val* var165 /* : String */;
-short int var166 /* : Bool */;
-val* var168 /* : NativeArray[String] */;
-static val* varonce167;
-static val* varonce169;
-val* var170 /* : String */;
-char* var171 /* : NativeString */;
-val* var172 /* : String */;
-static val* varonce173;
-val* var174 /* : String */;
-char* var175 /* : NativeString */;
-val* var176 /* : String */;
-static val* varonce177;
-val* var178 /* : String */;
-char* var179 /* : NativeString */;
-val* var180 /* : String */;
-val* var181 /* : String */;
-val* var182 /* : String */;
-val* var184 /* : NativeArray[String] */;
-static val* varonce183;
-static val* varonce185;
-val* var186 /* : String */;
-char* var187 /* : NativeString */;
-val* var188 /* : String */;
-static val* varonce189;
-val* var190 /* : String */;
-char* var191 /* : NativeString */;
-val* var192 /* : String */;
-static val* varonce193;
-val* var194 /* : String */;
-char* var195 /* : NativeString */;
-val* var196 /* : String */;
-val* var197 /* : String */;
-val* var198 /* : RuntimeVariable */;
-val* var199 /* : String */;
-val* var200 /* : String */;
-val* var201 /* : String */;
-short int var202 /* : Bool */;
-val* var204 /* : NativeArray[String] */;
-static val* varonce203;
-static val* varonce205;
-val* var206 /* : String */;
-char* var207 /* : NativeString */;
-val* var208 /* : String */;
-static val* varonce209;
-val* var210 /* : String */;
-char* var211 /* : NativeString */;
-val* var212 /* : String */;
-val* var213 /* : String */;
-val* var214 /* : String */;
-short int var_maybe_null /* var maybe_null: Bool */;
-val* var215 /* : Array[String] */;
-val* var_test /* var test: Array[String] */;
-val* var216 /* : MType */;
-val* var218 /* : MType */;
-val* var_t1219 /* var t1: MType */;
-short int var220 /* : Bool */;
-int cltype221;
-int idtype222;
-val* var224 /* : NativeArray[String] */;
-static val* varonce223;
-static val* varonce225;
-val* var226 /* : String */;
-char* var227 /* : NativeString */;
-val* var228 /* : String */;
-val* var229 /* : String */;
-val* var230 /* : String */;
-val* var231 /* : MType */;
-val* var233 /* : MType */;
-val* var234 /* : MType */;
-val* var236 /* : MType */;
-val* var_t2237 /* var t2: MType */;
-short int var238 /* : Bool */;
-int cltype239;
-int idtype240;
-val* var242 /* : NativeArray[String] */;
-static val* varonce241;
-static val* varonce243;
-val* var244 /* : String */;
-char* var245 /* : NativeString */;
-val* var246 /* : String */;
-val* var247 /* : String */;
-val* var248 /* : String */;
-val* var249 /* : MType */;
-val* var251 /* : MType */;
-short int var_incompatible /* var incompatible: Bool */;
-short int var252 /* : Bool */;
-val* var_primitive /* var primitive: nullable Object */;
-short int var253 /* : Bool */;
-short int var255 /* : Bool */;
-short int var257 /* : Bool */;
-short int var258 /* : Bool */;
-short int var259 /* : Bool */;
-short int var260 /* : Bool */;
-short int var262 /* : Bool */;
-val* var264 /* : NativeArray[String] */;
-static val* varonce263;
-static val* varonce265;
-val* var266 /* : String */;
-char* var267 /* : NativeString */;
-val* var268 /* : String */;
-static val* varonce269;
-val* var270 /* : String */;
-char* var271 /* : NativeString */;
-val* var272 /* : String */;
-static val* varonce273;
-val* var274 /* : String */;
-char* var275 /* : NativeString */;
-val* var276 /* : String */;
-val* var277 /* : String */;
-val* var278 /* : String */;
-val* var279 /* : String */;
-val* var280 /* : String */;
-val* var281 /* : AbstractCompiler */;
-val* var283 /* : AbstractCompiler */;
-val* var284 /* : ModelBuilder */;
-val* var286 /* : ModelBuilder */;
-val* var287 /* : ToolContext */;
-val* var289 /* : ToolContext */;
-val* var290 /* : OptionBool */;
-val* var292 /* : OptionBool */;
-val* var293 /* : nullable Object */;
-val* var295 /* : nullable Object */;
-short int var296 /* : Bool */;
-short int var297 /* : Bool */;
-val* var299 /* : NativeArray[String] */;
-static val* varonce298;
-static val* varonce300;
-val* var301 /* : String */;
-char* var302 /* : NativeString */;
-val* var303 /* : String */;
-static val* varonce304;
-val* var305 /* : String */;
-char* var306 /* : NativeString */;
-val* var307 /* : String */;
-val* var308 /* : String */;
-val* var309 /* : String */;
-val* var311 /* : NativeArray[String] */;
-static val* varonce310;
-static val* varonce312;
-val* var313 /* : String */;
-char* var314 /* : NativeString */;
-val* var315 /* : String */;
-static val* varonce316;
-val* var317 /* : String */;
-char* var318 /* : NativeString */;
-val* var319 /* : String */;
-val* var320 /* : String */;
-val* var321 /* : String */;
-val* var322 /* : String */;
-short int var323 /* : Bool */;
-short int var324 /* : Bool */;
-short int var325 /* : Bool */;
-short int var327 /* : Bool */;
-val* var329 /* : NativeArray[String] */;
-static val* varonce328;
-static val* varonce330;
-val* var331 /* : String */;
-char* var332 /* : NativeString */;
-val* var333 /* : String */;
-static val* varonce334;
-val* var335 /* : String */;
-char* var336 /* : NativeString */;
-val* var337 /* : String */;
-static val* varonce338;
-val* var339 /* : String */;
-char* var340 /* : NativeString */;
-val* var341 /* : String */;
-val* var342 /* : String */;
-val* var343 /* : String */;
-val* var344 /* : String */;
-val* var345 /* : String */;
-val* var346 /* : AbstractCompiler */;
-val* var348 /* : AbstractCompiler */;
-val* var349 /* : ModelBuilder */;
-val* var351 /* : ModelBuilder */;
-val* var352 /* : ToolContext */;
-val* var354 /* : ToolContext */;
-val* var355 /* : OptionBool */;
-val* var357 /* : OptionBool */;
-val* var358 /* : nullable Object */;
-val* var360 /* : nullable Object */;
-short int var361 /* : Bool */;
-short int var362 /* : Bool */;
-val* var364 /* : NativeArray[String] */;
-static val* varonce363;
-static val* varonce365;
-val* var366 /* : String */;
-char* var367 /* : NativeString */;
-val* var368 /* : String */;
-static val* varonce369;
-val* var370 /* : String */;
-char* var371 /* : NativeString */;
-val* var372 /* : String */;
-val* var373 /* : String */;
-val* var374 /* : String */;
-val* var376 /* : NativeArray[String] */;
-static val* varonce375;
-static val* varonce377;
-val* var378 /* : String */;
-char* var379 /* : NativeString */;
-val* var380 /* : String */;
-static val* varonce381;
-val* var382 /* : String */;
-char* var383 /* : NativeString */;
-val* var384 /* : String */;
-val* var385 /* : String */;
-val* var386 /* : String */;
-val* var387 /* : String */;
-val* var389 /* : NativeArray[String] */;
-static val* varonce388;
-static val* varonce390;
-val* var391 /* : String */;
-char* var392 /* : NativeString */;
-val* var393 /* : String */;
-static val* varonce394;
-val* var395 /* : String */;
-char* var396 /* : NativeString */;
-val* var397 /* : String */;
-static val* varonce398;
-val* var399 /* : String */;
-char* var400 /* : NativeString */;
-val* var401 /* : String */;
-static val* varonce402;
-val* var403 /* : String */;
-char* var404 /* : NativeString */;
-val* var405 /* : String */;
-static val* varonce406;
-val* var407 /* : String */;
-char* var408 /* : NativeString */;
-val* var409 /* : String */;
-val* var410 /* : String */;
-val* var411 /* : String */;
-val* var412 /* : String */;
-val* var413 /* : String */;
-val* var414 /* : String */;
-val* var415 /* : String */;
-val* var417 /* : NativeArray[String] */;
-static val* varonce416;
-static val* varonce418;
-val* var419 /* : String */;
-char* var420 /* : NativeString */;
-val* var421 /* : String */;
-static val* varonce422;
-val* var423 /* : String */;
-char* var424 /* : NativeString */;
-val* var425 /* : String */;
-static val* varonce426;
-val* var427 /* : String */;
-char* var428 /* : NativeString */;
-val* var429 /* : String */;
-val* var430 /* : String */;
-val* var431 /* : String */;
-val* var432 /* : String */;
-val* var433 /* : String */;
-short int var434 /* : Bool */;
-short int var435 /* : Bool */;
-val* var_other437 /* var other: nullable Object */;
-short int var438 /* : Bool */;
-short int var439 /* : Bool */;
-short int var440 /* : Bool */;
-short int var442 /* : Bool */;
-val* var444 /* : NativeArray[String] */;
-static val* varonce443;
-static val* varonce445;
-val* var446 /* : String */;
-char* var447 /* : NativeString */;
-val* var448 /* : String */;
-static val* varonce449;
-val* var450 /* : String */;
-char* var451 /* : NativeString */;
-val* var452 /* : String */;
-static val* varonce453;
-val* var454 /* : String */;
-char* var455 /* : NativeString */;
-val* var456 /* : String */;
-val* var457 /* : String */;
-val* var458 /* : String */;
-val* var459 /* : String */;
-val* var460 /* : String */;
-val* var462 /* : NativeArray[String] */;
-static val* varonce461;
-static val* varonce463;
-val* var464 /* : String */;
-char* var465 /* : NativeString */;
-val* var466 /* : String */;
-static val* varonce467;
-val* var468 /* : String */;
-char* var469 /* : NativeString */;
-val* var470 /* : String */;
-static val* varonce471;
-val* var472 /* : String */;
-char* var473 /* : NativeString */;
-val* var474 /* : String */;
-static val* varonce475;
-val* var476 /* : String */;
-char* var477 /* : NativeString */;
-val* var478 /* : String */;
-static val* varonce479;
-val* var480 /* : String */;
-char* var481 /* : NativeString */;
-val* var482 /* : String */;
-val* var483 /* : String */;
-val* var484 /* : String */;
-val* var485 /* : String */;
-val* var486 /* : String */;
-val* var487 /* : String */;
-short int var488 /* : Bool */;
-short int var489 /* : Bool */;
-short int var_490 /* var : Bool */;
-short int var491 /* : Bool */;
-val* var492 /* : AbstractCompiler */;
-val* var494 /* : AbstractCompiler */;
-val* var495 /* : ModelBuilder */;
-val* var497 /* : ModelBuilder */;
-val* var498 /* : ToolContext */;
-val* var500 /* : ToolContext */;
-val* var501 /* : OptionBool */;
-val* var503 /* : OptionBool */;
-val* var504 /* : nullable Object */;
-val* var506 /* : nullable Object */;
-short int var507 /* : Bool */;
-short int var508 /* : Bool */;
-val* var510 /* : NativeArray[String] */;
-static val* varonce509;
-static val* varonce511;
-val* var512 /* : String */;
-char* var513 /* : NativeString */;
-val* var514 /* : String */;
-static val* varonce515;
-val* var516 /* : String */;
-char* var517 /* : NativeString */;
-val* var518 /* : String */;
-static val* varonce519;
-val* var520 /* : String */;
-char* var521 /* : NativeString */;
-val* var522 /* : String */;
-val* var523 /* : String */;
-val* var524 /* : String */;
-val* var525 /* : String */;
-val* var527 /* : NativeArray[String] */;
-static val* varonce526;
-static val* varonce528;
-val* var529 /* : String */;
-char* var530 /* : NativeString */;
-val* var531 /* : String */;
-static val* varonce532;
-val* var533 /* : String */;
-char* var534 /* : NativeString */;
-val* var535 /* : String */;
-val* var536 /* : String */;
-val* var537 /* : String */;
-val* var538 /* : String */;
-val* var539 /* : Array[String] */;
-val* var_s /* var s: Array[String] */;
-val* var540 /* : AbstractCompiler */;
-val* var542 /* : AbstractCompiler */;
-val* var543 /* : HashMap[MClass, Int] */;
-val* var545 /* : HashMap[MClass, Int] */;
-val* var_546 /* var : HashMap[MClass, Int] */;
-val* var547 /* : MapIterator[nullable Object, nullable Object] */;
-val* var_548 /* var : MapIterator[MClass, Int] */;
-short int var549 /* : Bool */;
-val* var550 /* : nullable Object */;
-val* var_t /* var t: MClass */;
-val* var551 /* : nullable Object */;
-long var552 /* : Int */;
-long var_v /* var v: Int */;
-val* var553 /* : MClassType */;
-val* var555 /* : MClassType */;
-short int var556 /* : Bool */;
-short int var558 /* : Bool */;
-val* var561 /* : NativeArray[String] */;
-static val* varonce560;
-static val* varonce562;
-val* var563 /* : String */;
-char* var564 /* : NativeString */;
-val* var565 /* : String */;
-static val* varonce566;
-val* var567 /* : String */;
-char* var568 /* : NativeString */;
-val* var569 /* : String */;
-static val* varonce570;
-val* var571 /* : String */;
-char* var572 /* : NativeString */;
-val* var573 /* : String */;
-static val* varonce574;
-val* var575 /* : String */;
-char* var576 /* : NativeString */;
-val* var577 /* : String */;
-static val* varonce578;
-val* var579 /* : String */;
-char* var580 /* : NativeString */;
-val* var581 /* : String */;
-static val* varonce582;
-val* var583 /* : String */;
-char* var584 /* : NativeString */;
-val* var585 /* : String */;
-static val* varonce586;
-val* var587 /* : String */;
-char* var588 /* : NativeString */;
-val* var589 /* : String */;
-val* var590 /* : String */;
-val* var591 /* : String */;
-val* var592 /* : String */;
-val* var593 /* : String */;
-val* var594 /* : String */;
-val* var595 /* : String */;
-val* var596 /* : String */;
-short int var598 /* : Bool */;
-val* var600 /* : NativeArray[String] */;
-static val* varonce599;
-static val* varonce601;
-val* var602 /* : String */;
-char* var603 /* : NativeString */;
-val* var604 /* : String */;
-static val* varonce605;
-val* var606 /* : String */;
-char* var607 /* : NativeString */;
-val* var608 /* : String */;
-static val* varonce609;
-val* var610 /* : String */;
-char* var611 /* : NativeString */;
-val* var612 /* : String */;
-val* var613 /* : String */;
-val* var614 /* : String */;
-val* var615 /* : String */;
-val* var616 /* : String */;
-val* var618 /* : NativeArray[String] */;
-static val* varonce617;
-static val* varonce619;
-val* var620 /* : String */;
-char* var621 /* : NativeString */;
-val* var622 /* : String */;
-static val* varonce623;
-val* var624 /* : String */;
-char* var625 /* : NativeString */;
-val* var626 /* : String */;
-static val* varonce627;
-val* var628 /* : String */;
-char* var629 /* : NativeString */;
-val* var630 /* : String */;
-val* var631 /* : String */;
-val* var632 /* : String */;
-val* var634 /* : NativeArray[String] */;
-static val* varonce633;
-static val* varonce635;
-val* var636 /* : String */;
-char* var637 /* : NativeString */;
-val* var638 /* : String */;
-static val* varonce639;
-val* var640 /* : String */;
-char* var641 /* : NativeString */;
-val* var642 /* : String */;
-static val* varonce643;
-val* var644 /* : String */;
-char* var645 /* : NativeString */;
-val* var646 /* : String */;
-val* var647 /* : String */;
-val* var648 /* : String */;
-val* var649 /* : String */;
-val* var650 /* : String */;
-val* var652 /* : NativeArray[String] */;
-static val* varonce651;
-static val* varonce653;
-val* var654 /* : String */;
-char* var655 /* : NativeString */;
-val* var656 /* : String */;
-static val* varonce657;
-val* var658 /* : String */;
-char* var659 /* : NativeString */;
-val* var660 /* : String */;
-static val* varonce661;
-val* var662 /* : String */;
-char* var663 /* : NativeString */;
-val* var664 /* : String */;
-static val* varonce665;
-val* var666 /* : String */;
-char* var667 /* : NativeString */;
-val* var668 /* : String */;
-val* var669 /* : String */;
-val* var670 /* : String */;
-val* var671 /* : String */;
-static val* varonce672;
-val* var673 /* : String */;
-char* var674 /* : NativeString */;
-val* var675 /* : String */;
-val* var676 /* : String */;
-val* var677 /* : String */;
-var_value1 = p0;
-var_value2 = p1;
-{
-var1 = nitc___nitc__AbstractCompilerVisitor___bool_type(self);
-}
-{
-var2 = nitc___nitc__AbstractCompilerVisitor___new_var(self, var1);