+{ /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:SeparateCompiler> */
+var2 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on <self:SeparateCompiler> */
+if (unlikely(var2 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 515);
+fatal_exit(1);
+}
+var = var2;
+RET_LABEL1:(void)0;
+}
+}
+var_old_module = var;
+{
+{ /* Inline abstract_compiler#AbstractCompiler#mainmodule= (self,var_mmodule) on <self:SeparateCompiler> */
+self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule].val = var_mmodule; /* _mainmodule on <self:SeparateCompiler> */
+RET_LABEL3:(void)0;
+}
+}
+{
+{ /* Inline model#MModule#mclassdefs (var_mmodule) on <var_mmodule:MModule> */
+var6 = var_mmodule->attrs[COLOR_nit__model__MModule___mclassdefs].val; /* _mclassdefs on <var_mmodule:MModule> */
+if (unlikely(var6 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdefs");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 131);
+fatal_exit(1);
+}
+var4 = var6;
+RET_LABEL5:(void)0;
+}
+}
+var_ = var4;
+{
+var7 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_);
+}
+var_8 = var7;
+for(;;) {
+{
+var9 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_8);
+}
+if (var9){
+{
+var10 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_8);
+}
+var_cd = var10;
+{
+{ /* Inline model#MClassDef#mpropdefs (var_cd) on <var_cd:MClassDef> */
+var13 = var_cd->attrs[COLOR_nit__model__MClassDef___mpropdefs].val; /* _mpropdefs on <var_cd:MClassDef> */
+if (unlikely(var13 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdefs");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 684);
+fatal_exit(1);
+}
+var11 = var13;
+RET_LABEL12:(void)0;
+}
+}
+var_14 = var11;
+{
+var15 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_14);
+}
+var_16 = var15;
+for(;;) {
+{
+var17 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_16);
+}
+if (var17){
+{
+var18 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_16);
+}
+var_pd = var18;
+/* <var_pd:MPropDef> isa MMethodDef */
+cltype = type_nit__MMethodDef.color;
+idtype = type_nit__MMethodDef.id;
+if(cltype >= var_pd->type->table_size) {
+var19 = 0;
+} else {
+var19 = var_pd->type->type_table[cltype] == idtype;
+}
+var20 = !var19;
+if (var20){
+goto BREAK_label;
+} else {
+}
+{
+{ /* Inline model#MMethodDef#msignature (var_pd) on <var_pd:MPropDef(MMethodDef)> */
+var23 = var_pd->attrs[COLOR_nit__model__MMethodDef___msignature].val; /* _msignature on <var_pd:MPropDef(MMethodDef)> */
+var21 = var23;
+RET_LABEL22:(void)0;
+}
+}
+if (var21 == NULL) {
+var24 = 1; /* is null */
+} else {
+var24 = 0; /* arg is null but recv is not */
+}
+if (0) {
+{ /* Inline kernel#Object#== (var21,((val*)NULL)) on <var21:nullable MSignature> */
+var_other = ((val*)NULL);
+{
+{ /* Inline kernel#Object#is_same_instance (var21,var_other) on <var21:nullable MSignature(MSignature)> */
+var29 = var21 == var_other;
+var27 = var29;
+goto RET_LABEL28;
+RET_LABEL28:(void)0;
+}
+}
+var25 = var27;
+goto RET_LABEL26;
+RET_LABEL26:(void)0;
+}
+var24 = var25;
+}
+if (var24){
+goto BREAK_label;
+} else {
+}
+{
+{ /* Inline separate_compiler#SeparateCompiler#runtime_type_analysis (self) on <self:SeparateCompiler> */
+var32 = self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___runtime_type_analysis].val; /* _runtime_type_analysis on <self:SeparateCompiler> */
+var30 = var32;
+RET_LABEL31:(void)0;
+}
+}
+var_rta = var30;
+{
+{ /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
+var37 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on <self:SeparateCompiler> */
+if (unlikely(var37 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 522);
+fatal_exit(1);
+}
+var35 = var37;
+RET_LABEL36:(void)0;
+}
+}
+{
+{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (var35) on <var35:ModelBuilder> */
+var40 = var35->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on <var35:ModelBuilder> */
+if (unlikely(var40 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47);
+fatal_exit(1);
+}
+var38 = var40;
+RET_LABEL39:(void)0;
+}
+}
+{
+{ /* Inline separate_compiler#ToolContext#opt_skip_dead_methods (var38) on <var38:ToolContext> */
+var43 = var38->attrs[COLOR_nit__separate_compiler__ToolContext___opt_skip_dead_methods].val; /* _opt_skip_dead_methods on <var38:ToolContext> */
+if (unlikely(var43 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_skip_dead_methods");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 54);
+fatal_exit(1);
+}
+var41 = var43;
+RET_LABEL42:(void)0;
+}
+}
+{
+{ /* Inline opts#Option#value (var41) on <var41:OptionBool> */
+var46 = var41->attrs[COLOR_opts__Option___value].val; /* _value on <var41:OptionBool> */
+var44 = var46;
+RET_LABEL45:(void)0;
+}
+}
+var47 = (short int)((long)(var44)>>2);
+var_48 = var47;
+if (var47){
+if (var_rta == NULL) {
+var49 = 0; /* is null */
+} else {
+var49 = 1; /* arg is null and recv is not */
+}
+if (0) {
+{ /* Inline kernel#Object#!= (var_rta,((val*)NULL)) on <var_rta:nullable RapidTypeAnalysis> */
+var_other52 = ((val*)NULL);
+{
+var53 = ((short int(*)(val* self, val* p0))(var_rta->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_rta, var_other52); /* == on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)>*/
+}
+var54 = !var53;
+var50 = var54;
+goto RET_LABEL51;
+RET_LABEL51:(void)0;
+}
+var49 = var50;
+}
+var34 = var49;
+} else {
+var34 = var_48;
+}
+var_55 = var34;
+if (var34){
+{
+{ /* Inline rapid_type_analysis#RapidTypeAnalysis#live_methoddefs (var_rta) on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
+var58 = var_rta->attrs[COLOR_nit__rapid_type_analysis__RapidTypeAnalysis___live_methoddefs].val; /* _live_methoddefs on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
+if (unlikely(var58 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_methoddefs");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__rapid_type_analysis, 79);
+fatal_exit(1);
+}
+var56 = var58;
+RET_LABEL57:(void)0;
+}
+}
+{
+var59 = standard___standard__HashSet___standard__abstract_collection__Collection__has(var56, var_pd);
+}
+var60 = !var59;
+var33 = var60;
+} else {
+var33 = var_55;
+}
+if (var33){
+goto BREAK_label;
+} else {
+}
+{
+var61 = nit__separate_compiler___MMethodDef___separate_runtime_function(var_pd);
+}
+var_r = var61;
+{
+nit___nit__SeparateRuntimeFunction___nit__abstract_compiler__AbstractRuntimeFunction__compile_to_c(var_r, self); /* Direct call separate_compiler#SeparateRuntimeFunction#compile_to_c on <var_r:SeparateRuntimeFunction>*/
+}
+{
+var62 = nit__separate_compiler___MMethodDef___virtual_runtime_function(var_pd);
+}
+var_r2 = var62;
+{
+{ /* Inline kernel#Object#!= (var_r2,var_r) on <var_r2:SeparateRuntimeFunction> */
+var_other52 = var_r;
+{
+var65 = ((short int(*)(val* self, val* p0))(var_r2->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_r2, var_other52); /* == on <var_r2:SeparateRuntimeFunction>*/
+}
+var66 = !var65;
+var63 = var66;
+goto RET_LABEL64;
+RET_LABEL64:(void)0;
+}
+}
+if (var63){
+{
+nit___nit__SeparateRuntimeFunction___nit__abstract_compiler__AbstractRuntimeFunction__compile_to_c(var_r2, self); /* Direct call separate_compiler#SeparateRuntimeFunction#compile_to_c on <var_r2:SeparateRuntimeFunction>*/
+}
+} else {
+}
+{
+{ /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
+var69 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on <self:SeparateCompiler> */
+if (unlikely(var69 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 522);
+fatal_exit(1);
+}
+var67 = var69;
+RET_LABEL68:(void)0;
+}
+}
+{
+{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (var67) on <var67:ModelBuilder> */
+var72 = var67->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on <var67:ModelBuilder> */
+if (unlikely(var72 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47);
+fatal_exit(1);
+}
+var70 = var72;
+RET_LABEL71:(void)0;
+}
+}
+{
+{ /* Inline separate_compiler#ToolContext#opt_trampoline_call (var70) on <var70:ToolContext> */
+var75 = var70->attrs[COLOR_nit__separate_compiler__ToolContext___opt_trampoline_call].val; /* _opt_trampoline_call on <var70:ToolContext> */
+if (unlikely(var75 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_trampoline_call");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 37);
+fatal_exit(1);
+}
+var73 = var75;
+RET_LABEL74:(void)0;
+}
+}
+{
+{ /* Inline opts#Option#value (var73) on <var73:OptionBool> */
+var78 = var73->attrs[COLOR_opts__Option___value].val; /* _value on <var73:OptionBool> */
+var76 = var78;
+RET_LABEL77:(void)0;
+}
+}
+var79 = (short int)((long)(var76)>>2);
+if (var79){
+{
+nit___nit__SeparateRuntimeFunction___compile_trampolines(var_r2, self); /* Direct call separate_compiler#SeparateRuntimeFunction#compile_trampolines on <var_r2:SeparateRuntimeFunction>*/
+}
+} else {
+}
+BREAK_label: (void)0;
+{
+standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_16); /* Direct call array#ArrayIterator#next on <var_16:ArrayIterator[MPropDef]>*/
+}
+} else {
+goto BREAK_label80;
+}
+}
+BREAK_label80: (void)0;
+{
+standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_16); /* Direct call array#ArrayIterator#finish on <var_16:ArrayIterator[MPropDef]>*/
+}
+{
+standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_8); /* Direct call array#ArrayIterator#next on <var_8:ArrayIterator[MClassDef]>*/
+}
+} else {
+goto BREAK_label81;
+}
+}
+BREAK_label81: (void)0;
+{
+standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_8); /* Direct call array#ArrayIterator#finish on <var_8:ArrayIterator[MClassDef]>*/
+}
+{
+{ /* Inline abstract_compiler#AbstractCompiler#mainmodule= (self,var_old_module) on <self:SeparateCompiler> */
+self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule].val = var_old_module; /* _mainmodule on <self:SeparateCompiler> */
+RET_LABEL82:(void)0;
+}
+}
+RET_LABEL:;
+}
+/* method separate_compiler#SeparateCompiler#link_mmethods for (self: SeparateCompiler) */
+void nit___nit__SeparateCompiler___link_mmethods(val* self) {
+short int var /* : Bool */;
+val* var1 /* : ModelBuilder */;
+val* var3 /* : ModelBuilder */;
+val* var4 /* : ToolContext */;
+val* var6 /* : ToolContext */;
+val* var7 /* : OptionBool */;
+val* var9 /* : OptionBool */;
+val* var10 /* : nullable Object */;
+val* var12 /* : nullable Object */;
+short int var13 /* : Bool */;
+short int var14 /* : Bool */;
+short int var_ /* var : Bool */;
+val* var15 /* : ModelBuilder */;
+val* var17 /* : ModelBuilder */;
+val* var18 /* : ToolContext */;
+val* var20 /* : ToolContext */;
+val* var21 /* : OptionBool */;
+val* var23 /* : OptionBool */;
+val* var24 /* : nullable Object */;
+val* var26 /* : nullable Object */;
+short int var27 /* : Bool */;
+short int var28 /* : Bool */;
+val* var29 /* : MModule */;
+val* var31 /* : MModule */;
+val* var32 /* : POSetElement[MModule] */;
+val* var34 /* : POSetElement[MModule] */;
+val* var35 /* : Collection[nullable Object] */;
+val* var_36 /* var : Collection[MModule] */;
+val* var37 /* : Iterator[nullable Object] */;
+val* var_38 /* var : Iterator[MModule] */;
+short int var39 /* : Bool */;
+val* var40 /* : nullable Object */;
+val* var_mmodule /* var mmodule: MModule */;
+val* var41 /* : Array[MClassDef] */;
+val* var43 /* : Array[MClassDef] */;
+val* var_44 /* var : Array[MClassDef] */;
+val* var45 /* : ArrayIterator[nullable Object] */;
+val* var_46 /* var : ArrayIterator[MClassDef] */;
+short int var47 /* : Bool */;
+val* var48 /* : nullable Object */;
+val* var_cd /* var cd: MClassDef */;
+val* var49 /* : Array[MProperty] */;
+val* var51 /* : Array[MProperty] */;
+val* var_52 /* var : Array[MProperty] */;
+val* var53 /* : ArrayIterator[nullable Object] */;
+val* var_54 /* var : ArrayIterator[MProperty] */;
+short int var55 /* : Bool */;
+val* var56 /* : nullable Object */;
+val* var_m /* var m: MProperty */;
+short int var57 /* : Bool */;
+int cltype;
+int idtype;
+short int var58 /* : Bool */;
+{
+{ /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
+var3 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on <self:SeparateCompiler> */
+if (unlikely(var3 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 522);
+fatal_exit(1);
+}
+var1 = var3;
+RET_LABEL2:(void)0;
+}
+}
+{
+{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (var1) on <var1:ModelBuilder> */
+var6 = var1->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on <var1:ModelBuilder> */
+if (unlikely(var6 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47);
+fatal_exit(1);
+}
+var4 = var6;
+RET_LABEL5:(void)0;
+}
+}
+{
+{ /* Inline separate_compiler#ToolContext#opt_substitute_monomorph (var4) on <var4:ToolContext> */
+var9 = var4->attrs[COLOR_nit__separate_compiler__ToolContext___opt_substitute_monomorph].val; /* _opt_substitute_monomorph on <var4:ToolContext> */
+if (unlikely(var9 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_substitute_monomorph");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 41);
+fatal_exit(1);
+}
+var7 = var9;
+RET_LABEL8:(void)0;
+}
+}
+{
+{ /* Inline opts#Option#value (var7) on <var7:OptionBool> */
+var12 = var7->attrs[COLOR_opts__Option___value].val; /* _value on <var7:OptionBool> */
+var10 = var12;
+RET_LABEL11:(void)0;
+}
+}
+var13 = (short int)((long)(var10)>>2);
+var14 = !var13;
+var_ = var14;
+if (var14){
+{
+{ /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
+var17 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on <self:SeparateCompiler> */
+if (unlikely(var17 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 522);
+fatal_exit(1);
+}
+var15 = var17;
+RET_LABEL16:(void)0;
+}
+}
+{
+{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (var15) on <var15:ModelBuilder> */
+var20 = var15->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on <var15:ModelBuilder> */
+if (unlikely(var20 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47);
+fatal_exit(1);
+}
+var18 = var20;
+RET_LABEL19:(void)0;
+}
+}
+{
+{ /* Inline separate_compiler#ToolContext#opt_guard_call (var18) on <var18:ToolContext> */
+var23 = var18->attrs[COLOR_nit__separate_compiler__ToolContext___opt_guard_call].val; /* _opt_guard_call on <var18:ToolContext> */
+if (unlikely(var23 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_guard_call");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 39);
+fatal_exit(1);
+}
+var21 = var23;
+RET_LABEL22:(void)0;
+}
+}
+{
+{ /* Inline opts#Option#value (var21) on <var21:OptionBool> */
+var26 = var21->attrs[COLOR_opts__Option___value].val; /* _value on <var21:OptionBool> */
+var24 = var26;
+RET_LABEL25:(void)0;
+}
+}
+var27 = (short int)((long)(var24)>>2);
+var28 = !var27;
+var = var28;
+} else {
+var = var_;
+}
+if (var){
+goto RET_LABEL;
+} else {
+}
+{
+{ /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:SeparateCompiler> */
+var31 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on <self:SeparateCompiler> */
+if (unlikely(var31 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 515);
+fatal_exit(1);
+}
+var29 = var31;
+RET_LABEL30:(void)0;
+}
+}
+{
+{ /* Inline mmodule#MModule#in_importation (var29) on <var29:MModule> */
+var34 = var29->attrs[COLOR_nit__mmodule__MModule___in_importation].val; /* _in_importation on <var29:MModule> */
+if (unlikely(var34 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 96);
+fatal_exit(1);
+}
+var32 = var34;
+RET_LABEL33:(void)0;
+}
+}
+{
+var35 = poset___poset__POSetElement___greaters(var32);
+}
+var_36 = var35;
+{
+var37 = ((val*(*)(val* self))((((long)var_36&3)?class_info[((long)var_36&3)]:var_36->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_36); /* iterator on <var_36:Collection[MModule]>*/
+}
+var_38 = var37;
+for(;;) {
+{
+var39 = ((short int(*)(val* self))((((long)var_38&3)?class_info[((long)var_38&3)]:var_38->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_38); /* is_ok on <var_38:Iterator[MModule]>*/
+}
+if (var39){
+{
+var40 = ((val*(*)(val* self))((((long)var_38&3)?class_info[((long)var_38&3)]:var_38->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_38); /* item on <var_38:Iterator[MModule]>*/
+}
+var_mmodule = var40;
+{
+{ /* Inline model#MModule#mclassdefs (var_mmodule) on <var_mmodule:MModule> */
+var43 = var_mmodule->attrs[COLOR_nit__model__MModule___mclassdefs].val; /* _mclassdefs on <var_mmodule:MModule> */
+if (unlikely(var43 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdefs");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 131);
+fatal_exit(1);
+}
+var41 = var43;
+RET_LABEL42:(void)0;
+}
+}
+var_44 = var41;
+{
+var45 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_44);
+}
+var_46 = var45;
+for(;;) {
+{
+var47 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_46);
+}
+if (var47){
+{
+var48 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_46);
+}
+var_cd = var48;
+{
+{ /* Inline model#MClassDef#intro_mproperties (var_cd) on <var_cd:MClassDef> */
+var51 = var_cd->attrs[COLOR_nit__model__MClassDef___intro_mproperties].val; /* _intro_mproperties on <var_cd:MClassDef> */
+if (unlikely(var51 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mproperties");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 681);
+fatal_exit(1);
+}
+var49 = var51;
+RET_LABEL50:(void)0;
+}
+}
+var_52 = var49;
+{
+var53 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_52);
+}
+var_54 = var53;
+for(;;) {
+{
+var55 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_54);
+}
+if (var55){
+{
+var56 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_54);
+}
+var_m = var56;
+/* <var_m:MProperty> isa MMethod */
+cltype = type_nit__MMethod.color;
+idtype = type_nit__MMethod.id;
+if(cltype >= var_m->type->table_size) {
+var57 = 0;
+} else {
+var57 = var_m->type->type_table[cltype] == idtype;
+}
+var58 = !var57;
+if (var58){
+goto BREAK_label;
+} else {
+}
+{
+nit___nit__SeparateCompiler___link_mmethod(self, var_m); /* Direct call separate_compiler#SeparateCompiler#link_mmethod on <self:SeparateCompiler>*/
+}
+BREAK_label: (void)0;
+{
+standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_54); /* Direct call array#ArrayIterator#next on <var_54:ArrayIterator[MProperty]>*/
+}
+} else {
+goto BREAK_label59;
+}
+}
+BREAK_label59: (void)0;
+{
+standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_54); /* Direct call array#ArrayIterator#finish on <var_54:ArrayIterator[MProperty]>*/
+}
+{
+standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_46); /* Direct call array#ArrayIterator#next on <var_46:ArrayIterator[MClassDef]>*/