-/* method global_compiler#GlobalCompilerVisitor#check_init_instance for (self: GlobalCompilerVisitor, RuntimeVariable, MClassType) */
-void global_compiler__GlobalCompilerVisitor__check_init_instance(val* self, val* p0, val* p1) {
-val* var_recv /* var recv: RuntimeVariable */;
-val* var_mtype /* var mtype: MClassType */;
-val* var /* : AbstractCompiler */;
-val* var1 /* : ModelBuilder */;
-val* var2 /* : ToolContext */;
-val* var3 /* : OptionBool */;
-val* var4 /* : nullable Object */;
-short int var5 /* : Bool */;
-val* var6 /* : MType */;
-short int var7 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var8 /* : AbstractCompiler */;
-val* var9 /* : RapidTypeAnalysis */;
-val* var10 /* : HashSet[MClassType] */;
-short int var11 /* : Bool */;
-short int var12 /* : Bool */;
-static val* varonce;
-val* var13 /* : String */;
-char* var14 /* : NativeString */;
-long var15 /* : Int */;
-val* var16 /* : String */;
-static val* varonce17;
-val* var18 /* : String */;
-char* var19 /* : NativeString */;
-long var20 /* : Int */;
-val* var21 /* : String */;
-val* var22 /* : Array[Object] */;
-long var23 /* : Int */;
-val* var24 /* : NativeArray[Object] */;
-val* var25 /* : String */;
-static val* varonce26;
-val* var27 /* : String */;
-char* var28 /* : NativeString */;
-long var29 /* : Int */;
-val* var30 /* : String */;
-val* var31 /* : String */;
-static val* varonce32;
-val* var33 /* : String */;
-char* var34 /* : NativeString */;
-long var35 /* : Int */;
-val* var36 /* : String */;
-static val* varonce37;
-val* var38 /* : String */;
-char* var39 /* : NativeString */;
-long var40 /* : Int */;
-val* var41 /* : String */;
-val* var42 /* : Array[Object] */;
-long var43 /* : Int */;
-val* var44 /* : NativeArray[Object] */;
-val* var45 /* : String */;
-var_recv = p0;
-var_mtype = p1;
-var = ((val* (*)(val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler]))(self) /* compiler on <self:GlobalCompilerVisitor>*/;
-var1 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_compiler__AbstractCompiler__modelbuilder]))(var) /* modelbuilder on <var:AbstractCompiler(GlobalCompiler)>*/;
-var2 = ((val* (*)(val*))(var1->class->vft[COLOR_modelbuilder__ModelBuilder__toolcontext]))(var1) /* toolcontext on <var1:ModelBuilder>*/;
-var3 = ((val* (*)(val*))(var2->class->vft[COLOR_abstract_compiler__ToolContext__opt_no_check_initialization]))(var2) /* opt_no_check_initialization on <var2:ToolContext>*/;
-var4 = ((val* (*)(val*))(var3->class->vft[COLOR_opts__Option__value]))(var3) /* value on <var3:OptionBool>*/;
-var5 = ((struct instance_kernel__Bool*)var4)->value; /* autounbox from nullable Object to Bool */;
-if (var5){
-goto RET_LABEL;
-} else {
-}
-var6 = ((val* (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__anchor]))(self, var_mtype) /* anchor on <self:GlobalCompilerVisitor>*/;
-/* <var6:MType> isa MClassType */
-cltype = type_model__MClassType.color;
-idtype = type_model__MClassType.id;
-if(cltype >= var6->type->table_size) {
-var7 = 0;
-} else {
-var7 = var6->type->type_table[cltype] == idtype;
-}
-if (!var7) {
-var_class_name = var6 == NULL ? "null" : var6->type->name;
-fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name);
-fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 833);
-exit(1);
-}
-var_mtype = var6;
-var8 = ((val* (*)(val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler]))(self) /* compiler on <self:GlobalCompilerVisitor>*/;
-var9 = ((val* (*)(val*))(var8->class->vft[COLOR_global_compiler__GlobalCompiler__runtime_type_analysis]))(var8) /* runtime_type_analysis on <var8:AbstractCompiler(GlobalCompiler)>*/;
-var10 = ((val* (*)(val*))(var9->class->vft[COLOR_rapid_type_analysis__RapidTypeAnalysis__live_types]))(var9) /* live_types on <var9:RapidTypeAnalysis>*/;
-var11 = ((short int (*)(val*, val*))(var10->class->vft[COLOR_abstract_collection__Collection__has]))(var10, var_mtype) /* has on <var10:HashSet[MClassType]>*/;
-var12 = !var11;
-if (var12){
-if (varonce) {
-var13 = varonce;
-} else {
-var14 = "problem: ";
-var15 = 9;
-var16 = string__NativeString__to_s_with_length(var14, var15);
-var13 = var16;
-varonce = var13;
-}
-if (varonce17) {
-var18 = varonce17;
-} else {
-var19 = " was detected dead";
-var20 = 18;
-var21 = string__NativeString__to_s_with_length(var19, var20);
-var18 = var21;
-varonce17 = var18;
-}
-var22 = NEW_array__Array(&type_array__Arraykernel__Object);
-{ /* var22 = array_instance Array[Object] */
-var23 = 3;
-var24 = NEW_array__NativeArray(var23, &type_array__NativeArraykernel__Object);
-((struct instance_array__NativeArray*)var24)->values[0] = (val*) var13;
-((struct instance_array__NativeArray*)var24)->values[1] = (val*) var_mtype;
-((struct instance_array__NativeArray*)var24)->values[2] = (val*) var18;
-((void (*)(val*, val*, long))(var22->class->vft[COLOR_array__Array__with_native]))(var22, var24, var23) /* with_native on <var22:Array[Object]>*/;
-CHECK_NEW_array__Array(var22);
-}
-var25 = ((val* (*)(val*))(var22->class->vft[COLOR_string__Object__to_s]))(var22) /* to_s on <var22:Array[Object]>*/;
-((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__debug]))(self, var25) /* debug on <self:GlobalCompilerVisitor>*/;
-} else {
-}
-if (varonce26) {
-var27 = varonce26;
-} else {
-var28 = "CHECK_NEW_";
-var29 = 10;
-var30 = string__NativeString__to_s_with_length(var28, var29);
-var27 = var30;
-varonce26 = var27;
-}
-var31 = ((val* (*)(val*))(var_mtype->class->vft[COLOR_abstract_compiler__MType__c_name]))(var_mtype) /* c_name on <var_mtype:MClassType>*/;
-if (varonce32) {
-var33 = varonce32;
-} else {
-var34 = "(";
-var35 = 1;
-var36 = string__NativeString__to_s_with_length(var34, var35);
-var33 = var36;
-varonce32 = var33;
-}
-if (varonce37) {
-var38 = varonce37;
-} else {
-var39 = ");";
-var40 = 2;
-var41 = string__NativeString__to_s_with_length(var39, var40);
-var38 = var41;
-varonce37 = var38;
-}
-var42 = NEW_array__Array(&type_array__Arraykernel__Object);
-{ /* var42 = array_instance Array[Object] */
-var43 = 5;
-var44 = NEW_array__NativeArray(var43, &type_array__NativeArraykernel__Object);
-((struct instance_array__NativeArray*)var44)->values[0] = (val*) var27;
-((struct instance_array__NativeArray*)var44)->values[1] = (val*) var31;
-((struct instance_array__NativeArray*)var44)->values[2] = (val*) var33;
-((struct instance_array__NativeArray*)var44)->values[3] = (val*) var_recv;
-((struct instance_array__NativeArray*)var44)->values[4] = (val*) var38;
-((void (*)(val*, val*, long))(var42->class->vft[COLOR_array__Array__with_native]))(var42, var44, var43) /* with_native on <var42:Array[Object]>*/;
-CHECK_NEW_array__Array(var42);
-}
-var45 = ((val* (*)(val*))(var42->class->vft[COLOR_string__Object__to_s]))(var42) /* to_s on <var42:Array[Object]>*/;
-((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var45) /* add on <self:GlobalCompilerVisitor>*/;
-RET_LABEL:;
-}
-/* method global_compiler#GlobalCompilerVisitor#check_init_instance for (self: Object, RuntimeVariable, MClassType) */
-void VIRTUAL_global_compiler__GlobalCompilerVisitor__check_init_instance(val* self, val* p0, val* p1) {
-global_compiler__GlobalCompilerVisitor__check_init_instance(self, p0, p1);
-RET_LABEL:;
-}