gamnit: make `SpriteSet` public so clients can use its services
[nit.git] / c_src / nitc__platform.sep.1.c
index 1a79c8d..bc968c8 100644 (file)
@@ -1,5 +1,5 @@
 #include "nitc__platform.sep.0.h"
-/* method platform#ToolContext#platform_from_name for (self: ToolContext, String): nullable Platform */
+/* method platform$ToolContext$platform_from_name for (self: ToolContext, String): nullable Platform */
 val* nitc__platform___ToolContext___platform_from_name(val* self, val* p0) {
 val* var /* : nullable Platform */;
 val* var_name /* var name: String */;
@@ -9,368 +9,449 @@ goto RET_LABEL;
 RET_LABEL:;
 return var;
 }
-/* method platform#PlatformPhase#process_annotated_node for (self: PlatformPhase, ANode, AAnnotation) */
+/* method platform$PlatformPhase$process_annotated_node for (self: PlatformPhase, ANode, AAnnotation) */
 void nitc__platform___nitc__platform__PlatformPhase___nitc__phase__Phase__process_annotated_node(val* self, val* p0, val* p1) {
 val* var_nmoduledecl /* var nmoduledecl: ANode */;
 val* var_nat /* var nat: AAnnotation */;
 static val* varonce;
 val* var /* : String */;
-char* var1 /* : NativeString */;
+char* var1 /* : CString */;
 val* var2 /* : String */;
+val* var3 /* : nullable Int */;
+val* var4 /* : nullable Int */;
+val* var5 /* : nullable Bool */;
+val* var6 /* : nullable Bool */;
 val* var_annotation_name /* var annotation_name: String */;
-val* var3 /* : String */;
-short int var4 /* : Bool */;
+val* var7 /* : String */;
+short int var8 /* : Bool */;
 val* var_other /* var other: nullable Object */;
-short int var6 /* : Bool */;
-short int var7 /* : Bool */;
-val* var8 /* : ToolContext */;
-val* var10 /* : ToolContext */;
-val* var11 /* : ModelBuilder */;
+short int var10 /* : Bool */;
+short int var11 /* : Bool */;
+val* var12 /* : ToolContext */;
+val* var14 /* : ToolContext */;
+val* var15 /* : ModelBuilder */;
 val* var_modelbuilder /* var modelbuilder: ModelBuilder */;
-short int var12 /* : Bool */;
+short int var16 /* : Bool */;
 int cltype;
 int idtype;
-short int var13 /* : Bool */;
-val* var15 /* : NativeArray[String] */;
-static val* varonce14;
-static val* varonce16;
-val* var17 /* : String */;
-char* var18 /* : NativeString */;
-val* var19 /* : String */;
+short int var17 /* : Bool */;
+val* var19 /* : NativeArray[String] */;
+static val* varonce18;
 static val* varonce20;
 val* var21 /* : String */;
-char* var22 /* : NativeString */;
+char* var22 /* : CString */;
 val* var23 /* : String */;
-val* var24 /* : String */;
-val* var25 /* : ANodes[AExpr] */;
-val* var27 /* : ANodes[AExpr] */;
+val* var24 /* : nullable Int */;
+val* var25 /* : nullable Int */;
+val* var26 /* : nullable Bool */;
+val* var27 /* : nullable Bool */;
+static val* varonce28;
+val* var29 /* : String */;
+char* var30 /* : CString */;
+val* var31 /* : String */;
+val* var32 /* : nullable Int */;
+val* var33 /* : nullable Int */;
+val* var34 /* : nullable Bool */;
+val* var35 /* : nullable Bool */;
+val* var36 /* : String */;
+val* var37 /* : ANodes[AExpr] */;
+val* var39 /* : ANodes[AExpr] */;
 val* var_args /* var args: ANodes[AExpr] */;
-long var28 /* : Int */;
-short int var29 /* : Bool */;
-short int var31 /* : Bool */;
-int cltype32;
-int idtype33;
+long var40 /* : Int */;
+short int var41 /* : Bool */;
+short int var43 /* : Bool */;
+int cltype44;
+int idtype45;
 const char* var_class_name;
-short int var34 /* : Bool */;
-val* var36 /* : NativeArray[String] */;
-static val* varonce35;
-static val* varonce37;
-val* var38 /* : String */;
-char* var39 /* : NativeString */;
-val* var40 /* : String */;
-static val* varonce41;
-val* var42 /* : String */;
-char* var43 /* : NativeString */;
-val* var44 /* : String */;
-val* var45 /* : String */;
 short int var46 /* : Bool */;
-val* var47 /* : AModuleName */;
-val* var49 /* : AModuleName */;
+val* var48 /* : NativeArray[String] */;
+static val* varonce47;
+static val* varonce49;
 val* var50 /* : String */;
-val* var_platform_name /* var platform_name: nullable Object */;
-val* var51 /* : nullable Object */;
-val* var52 /* : nullable String */;
-short int var53 /* : Bool */;
-short int var54 /* : Bool */;
-val* var56 /* : NativeArray[String] */;
-static val* varonce55;
+char* var51 /* : CString */;
+val* var52 /* : String */;
+val* var53 /* : nullable Int */;
+val* var54 /* : nullable Int */;
+val* var55 /* : nullable Bool */;
+val* var56 /* : nullable Bool */;
 static val* varonce57;
 val* var58 /* : String */;
-char* var59 /* : NativeString */;
+char* var59 /* : CString */;
 val* var60 /* : String */;
-static val* varonce61;
-val* var62 /* : String */;
-char* var63 /* : NativeString */;
-val* var64 /* : String */;
+val* var61 /* : nullable Int */;
+val* var62 /* : nullable Int */;
+val* var63 /* : nullable Bool */;
+val* var64 /* : nullable Bool */;
 val* var65 /* : String */;
+short int var66 /* : Bool */;
+val* var67 /* : AModuleName */;
+val* var69 /* : AModuleName */;
+val* var70 /* : String */;
+val* var_platform_name /* var platform_name: nullable Object */;
+val* var71 /* : nullable Object */;
+val* var72 /* : nullable String */;
+short int var73 /* : Bool */;
+short int var74 /* : Bool */;
+val* var76 /* : NativeArray[String] */;
+static val* varonce75;
+static val* varonce77;
+val* var78 /* : String */;
+char* var79 /* : CString */;
+val* var80 /* : String */;
+val* var81 /* : nullable Int */;
+val* var82 /* : nullable Int */;
+val* var83 /* : nullable Bool */;
+val* var84 /* : nullable Bool */;
+static val* varonce85;
+val* var86 /* : String */;
+char* var87 /* : CString */;
+val* var88 /* : String */;
+val* var89 /* : nullable Int */;
+val* var90 /* : nullable Int */;
+val* var91 /* : nullable Bool */;
+val* var92 /* : nullable Bool */;
+val* var93 /* : String */;
 val* var_format_error /* var format_error: String */;
-val* var66 /* : nullable ANode */;
-val* var68 /* : nullable ANode */;
-short int var69 /* : Bool */;
-int cltype70;
-int idtype71;
-const char* var_class_name72;
+val* var94 /* : nullable ANode */;
+val* var96 /* : nullable ANode */;
+short int var97 /* : Bool */;
+int cltype98;
+int idtype99;
+const char* var_class_name100;
 val* var_nmodule /* var nmodule: AModule */;
-val* var73 /* : nullable MModule */;
-val* var75 /* : nullable MModule */;
+val* var101 /* : nullable MModule */;
+val* var103 /* : nullable MModule */;
 val* var_mmodule /* var mmodule: nullable MModule */;
-val* var76 /* : ToolContext */;
-val* var78 /* : ToolContext */;
-val* var79 /* : nullable Platform */;
+val* var104 /* : ToolContext */;
+val* var106 /* : ToolContext */;
+val* var107 /* : nullable Platform */;
 val* var_platform /* var platform: nullable Platform */;
-short int var80 /* : Bool */;
-short int var81 /* : Bool */;
-val* var_other83 /* var other: nullable Object */;
-short int var84 /* : Bool */;
-short int var86 /* : Bool */;
-val* var87 /* : ToolContext */;
-val* var89 /* : ToolContext */;
-val* var90 /* : Location */;
-val* var92 /* : Location */;
-val* var94 /* : NativeArray[String] */;
-static val* varonce93;
-static val* varonce95;
-val* var96 /* : String */;
-char* var97 /* : NativeString */;
-val* var98 /* : String */;
-static val* varonce99;
-val* var100 /* : String */;
-char* var101 /* : NativeString */;
-val* var102 /* : String */;
-val* var103 /* : String */;
-val* var104 /* : Message */;
-val* var105 /* : nullable Platform */;
-val* var_previous_target_platform /* var previous_target_platform: nullable Platform */;
-short int var106 /* : Bool */;
-short int var107 /* : Bool */;
 short int var108 /* : Bool */;
-short int var110 /* : Bool */;
-short int var111 /* : Bool */;
-short int var_ /* var : Bool */;
+short int var109 /* : Bool */;
+val* var_other111 /* var other: nullable Object */;
 short int var112 /* : Bool */;
 short int var114 /* : Bool */;
-short int var115 /* : Bool */;
-val* var117 /* : NativeArray[String] */;
-static val* varonce116;
-static val* varonce118;
-val* var119 /* : String */;
-char* var120 /* : NativeString */;
-val* var121 /* : String */;
-static val* varonce122;
-val* var123 /* : String */;
-char* var124 /* : NativeString */;
-val* var125 /* : String */;
+val* var115 /* : ToolContext */;
+val* var117 /* : ToolContext */;
+val* var118 /* : Location */;
+val* var120 /* : Location */;
+val* var122 /* : NativeArray[String] */;
+static val* varonce121;
+static val* varonce123;
+val* var124 /* : String */;
+char* var125 /* : CString */;
 val* var126 /* : String */;
-val* var127 /* : String */;
+val* var127 /* : nullable Int */;
+val* var128 /* : nullable Int */;
+val* var129 /* : nullable Bool */;
+val* var130 /* : nullable Bool */;
+static val* varonce131;
+val* var132 /* : String */;
+char* var133 /* : CString */;
+val* var134 /* : String */;
+val* var135 /* : nullable Int */;
+val* var136 /* : nullable Int */;
+val* var137 /* : nullable Bool */;
+val* var138 /* : nullable Bool */;
+val* var139 /* : String */;
+val* var140 /* : Message */;
+val* var141 /* : nullable Platform */;
+val* var_previous_target_platform /* var previous_target_platform: nullable Platform */;
+short int var142 /* : Bool */;
+short int var143 /* : Bool */;
+short int var144 /* : Bool */;
+short int var146 /* : Bool */;
+short int var147 /* : Bool */;
+short int var_ /* var : Bool */;
+short int var148 /* : Bool */;
+short int var150 /* : Bool */;
+short int var151 /* : Bool */;
+val* var153 /* : NativeArray[String] */;
+static val* varonce152;
+static val* varonce154;
+val* var155 /* : String */;
+char* var156 /* : CString */;
+val* var157 /* : String */;
+val* var158 /* : nullable Int */;
+val* var159 /* : nullable Int */;
+val* var160 /* : nullable Bool */;
+val* var161 /* : nullable Bool */;
+static val* varonce162;
+val* var163 /* : String */;
+char* var164 /* : CString */;
+val* var165 /* : String */;
+val* var166 /* : nullable Int */;
+val* var167 /* : nullable Int */;
+val* var168 /* : nullable Bool */;
+val* var169 /* : nullable Bool */;
+val* var170 /* : String */;
+val* var171 /* : String */;
 var_nmoduledecl = p0;
 var_nat = p1;
 if (likely(varonce!=NULL)) {
 var = varonce;
 } else {
 var1 = "platform";
-var2 = core__flat___NativeString___to_s_full(var1, 8l, 8l);
+var3 = (val*)(8l<<2|1);
+var4 = (val*)(8l<<2|1);
+var5 = (val*)((long)(0)<<2|3);
+var6 = (val*)((long)(0)<<2|3);
+var2 = core__flat___CString___to_s_unsafe(var1, var3, var4, var5, var6);
 var = var2;
 varonce = var;
 }
 var_annotation_name = var;
 {
-var3 = nitc___nitc__AAnnotation___name(var_nat);
+var7 = nitc___nitc__AAnnotation___name(var_nat);
 }
 {
-{ /* Inline kernel#Object#!= (var3,var_annotation_name) on <var3:String> */
+{ /* Inline kernel$Object$!= (var7,var_annotation_name) on <var7:String> */
 var_other = var_annotation_name;
 {
-var6 = ((short int(*)(val* self, val* p0))(var3->class->vft[COLOR_core__kernel__Object___61d_61d]))(var3, var_other); /* == on <var3:String>*/
+var10 = ((short int(*)(val* self, val* p0))(var7->class->vft[COLOR_core__kernel__Object___61d_61d]))(var7, var_other); /* == on <var7:String>*/
 }
-var7 = !var6;
-var4 = var7;
-goto RET_LABEL5;
-RET_LABEL5:(void)0;
+var11 = !var10;
+var8 = var11;
+goto RET_LABEL9;
+RET_LABEL9:(void)0;
 }
 }
-if (var4){
+if (var8){
 goto RET_LABEL;
 } else {
 }
 {
-{ /* Inline phase#Phase#toolcontext (self) on <self:PlatformPhase> */
-var10 = self->attrs[COLOR_nitc__phase__Phase___toolcontext].val; /* _toolcontext on <self:PlatformPhase> */
-if (unlikely(var10 == NULL)) {
+{ /* Inline phase$Phase$toolcontext (self) on <self:PlatformPhase> */
+var14 = self->attrs[COLOR_nitc__phase__Phase___toolcontext].val; /* _toolcontext on <self:PlatformPhase> */
+if (unlikely(var14 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase, 200);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase, 210);
 fatal_exit(1);
 }
-var8 = var10;
-RET_LABEL9:(void)0;
+var12 = var14;
+RET_LABEL13:(void)0;
 }
 }
 {
-var11 = nitc__modelbuilder_base___ToolContext___modelbuilder(var8);
+var15 = nitc__modelbuilder_base___ToolContext___modelbuilder(var12);
 }
-var_modelbuilder = var11;
+var_modelbuilder = var15;
 /* <var_nmoduledecl:ANode> isa AModuledecl */
 cltype = type_nitc__AModuledecl.color;
 idtype = type_nitc__AModuledecl.id;
 if(cltype >= var_nmoduledecl->type->table_size) {
-var12 = 0;
-} else {
-var12 = var_nmoduledecl->type->type_table[cltype] == idtype;
-}
-var13 = !var12;
-if (var13){
-if (unlikely(varonce14==NULL)) {
-var15 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String);
-if (likely(varonce16!=NULL)) {
-var17 = varonce16;
+var16 = 0;
 } else {
-var18 = "Syntax Error: only the declaration of modules may use `";
-var19 = core__flat___NativeString___to_s_full(var18, 55l, 55l);
-var17 = var19;
-varonce16 = var17;
+var16 = var_nmoduledecl->type->type_table[cltype] == idtype;
 }
-((struct instance_core__NativeArray*)var15)->values[0]=var17;
+var17 = !var16;
+if (var17){
+if (unlikely(varonce18==NULL)) {
+var19 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String);
 if (likely(varonce20!=NULL)) {
 var21 = varonce20;
 } else {
-var22 = "`.";
-var23 = core__flat___NativeString___to_s_full(var22, 2l, 2l);
+var22 = "Syntax Error: only the declaration of modules may use `";
+var24 = (val*)(55l<<2|1);
+var25 = (val*)(55l<<2|1);
+var26 = (val*)((long)(0)<<2|3);
+var27 = (val*)((long)(0)<<2|3);
+var23 = core__flat___CString___to_s_unsafe(var22, var24, var25, var26, var27);
 var21 = var23;
 varonce20 = var21;
 }
-((struct instance_core__NativeArray*)var15)->values[2]=var21;
+((struct instance_core__NativeArray*)var19)->values[0]=var21;
+if (likely(varonce28!=NULL)) {
+var29 = varonce28;
+} else {
+var30 = "`.";
+var32 = (val*)(2l<<2|1);
+var33 = (val*)(2l<<2|1);
+var34 = (val*)((long)(0)<<2|3);
+var35 = (val*)((long)(0)<<2|3);
+var31 = core__flat___CString___to_s_unsafe(var30, var32, var33, var34, var35);
+var29 = var31;
+varonce28 = var29;
+}
+((struct instance_core__NativeArray*)var19)->values[2]=var29;
 } else {
-var15 = varonce14;
-varonce14 = NULL;
+var19 = varonce18;
+varonce18 = NULL;
 }
-((struct instance_core__NativeArray*)var15)->values[1]=var_annotation_name;
+((struct instance_core__NativeArray*)var19)->values[1]=var_annotation_name;
 {
-var24 = ((val*(*)(val* self))(var15->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var15); /* native_to_s on <var15:NativeArray[String]>*/
+var36 = ((val*(*)(val* self))(var19->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var19); /* native_to_s on <var19:NativeArray[String]>*/
 }
-varonce14 = var15;
+varonce18 = var19;
 {
-nitc___nitc__ModelBuilder___error(var_modelbuilder, var_nat, var24); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
+nitc___nitc__ModelBuilder___error(var_modelbuilder, var_nat, var36); /* Direct call modelbuilder_base$ModelBuilder$error on <var_modelbuilder:ModelBuilder>*/
 }
 goto RET_LABEL;
 } else {
 }
 {
-{ /* Inline parser_nodes#AAnnotation#n_args (var_nat) on <var_nat:AAnnotation> */
-var27 = var_nat->attrs[COLOR_nitc__parser_nodes__AAnnotation___n_args].val; /* _n_args on <var_nat:AAnnotation> */
-if (unlikely(var27 == NULL)) {
+{ /* Inline parser_nodes$AAnnotation$n_args (var_nat) on <var_nat:AAnnotation> */
+var39 = var_nat->attrs[COLOR_nitc__parser_nodes__AAnnotation___n_args].val; /* _n_args on <var_nat:AAnnotation> */
+if (unlikely(var39 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2926);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 3007);
 fatal_exit(1);
 }
-var25 = var27;
-RET_LABEL26:(void)0;
+var37 = var39;
+RET_LABEL38:(void)0;
 }
 }
-var_args = var25;
+var_args = var37;
 {
-var28 = nitc___nitc__ANodes___core__abstract_collection__Collection__length(var_args);
+var40 = nitc___nitc__ANodes___core__abstract_collection__Collection__length(var_args);
 }
 {
-{ /* Inline kernel#Int#> (var28,1l) on <var28:Int> */
+{ /* Inline kernel$Int$> (var40,1l) on <var40:Int> */
 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
 /* <1l:Int> isa OTHER */
-var31 = 1; /* easy <1l:Int> isa OTHER*/
-if (unlikely(!var31)) {
+var43 = 1; /* easy <1l:Int> isa OTHER*/
+if (unlikely(!var43)) {
 var_class_name = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 730);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 727);
 fatal_exit(1);
 }
-var34 = var28 > 1l;
-var29 = var34;
-goto RET_LABEL30;
-RET_LABEL30:(void)0;
+var46 = var40 > 1l;
+var41 = var46;
+goto RET_LABEL42;
+RET_LABEL42:(void)0;
 }
 }
-if (var29){
-if (unlikely(varonce35==NULL)) {
-var36 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String);
-if (likely(varonce37!=NULL)) {
-var38 = varonce37;
+if (var41){
+if (unlikely(varonce47==NULL)) {
+var48 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String);
+if (likely(varonce49!=NULL)) {
+var50 = varonce49;
 } else {
-var39 = "Syntax Error: `";
-var40 = core__flat___NativeString___to_s_full(var39, 15l, 15l);
-var38 = var40;
-varonce37 = var38;
+var51 = "Syntax Error: `";
+var53 = (val*)(15l<<2|1);
+var54 = (val*)(15l<<2|1);
+var55 = (val*)((long)(0)<<2|3);
+var56 = (val*)((long)(0)<<2|3);
+var52 = core__flat___CString___to_s_unsafe(var51, var53, var54, var55, var56);
+var50 = var52;
+varonce49 = var50;
 }
-((struct instance_core__NativeArray*)var36)->values[0]=var38;
-if (likely(varonce41!=NULL)) {
-var42 = varonce41;
+((struct instance_core__NativeArray*)var48)->values[0]=var50;
+if (likely(varonce57!=NULL)) {
+var58 = varonce57;
 } else {
-var43 = "` expects at most a single argument.";
-var44 = core__flat___NativeString___to_s_full(var43, 36l, 36l);
-var42 = var44;
-varonce41 = var42;
+var59 = "` expects at most a single argument.";
+var61 = (val*)(36l<<2|1);
+var62 = (val*)(36l<<2|1);
+var63 = (val*)((long)(0)<<2|3);
+var64 = (val*)((long)(0)<<2|3);
+var60 = core__flat___CString___to_s_unsafe(var59, var61, var62, var63, var64);
+var58 = var60;
+varonce57 = var58;
 }
-((struct instance_core__NativeArray*)var36)->values[2]=var42;
+((struct instance_core__NativeArray*)var48)->values[2]=var58;
 } else {
-var36 = varonce35;
-varonce35 = NULL;
+var48 = varonce47;
+varonce47 = NULL;
 }
-((struct instance_core__NativeArray*)var36)->values[1]=var_annotation_name;
+((struct instance_core__NativeArray*)var48)->values[1]=var_annotation_name;
 {
-var45 = ((val*(*)(val* self))(var36->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var36); /* native_to_s on <var36:NativeArray[String]>*/
+var65 = ((val*(*)(val* self))(var48->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var48); /* native_to_s on <var48:NativeArray[String]>*/
 }
-varonce35 = var36;
+varonce47 = var48;
 {
-nitc___nitc__ModelBuilder___error(var_modelbuilder, var_nat, var45); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
+nitc___nitc__ModelBuilder___error(var_modelbuilder, var_nat, var65); /* Direct call modelbuilder_base$ModelBuilder$error on <var_modelbuilder:ModelBuilder>*/
 }
 goto RET_LABEL;
 } else {
 {
-var46 = nitc___nitc__ANodes___core__abstract_collection__Collection__is_empty(var_args);
+var66 = nitc___nitc__ANodes___core__abstract_collection__Collection__is_empty(var_args);
 }
-if (var46){
+if (var66){
 {
-{ /* Inline parser_nodes#AModuledecl#n_name (var_nmoduledecl) on <var_nmoduledecl:ANode(AModuledecl)> */
-var49 = var_nmoduledecl->attrs[COLOR_nitc__parser_nodes__AModuledecl___n_name].val; /* _n_name on <var_nmoduledecl:ANode(AModuledecl)> */
-if (unlikely(var49 == NULL)) {
+{ /* Inline parser_nodes$AModuledecl$n_name (var_nmoduledecl) on <var_nmoduledecl:ANode(AModuledecl)> */
+var69 = var_nmoduledecl->attrs[COLOR_nitc__parser_nodes__AModuledecl___n_name].val; /* _n_name on <var_nmoduledecl:ANode(AModuledecl)> */
+if (unlikely(var69 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_name");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1086);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1149);
 fatal_exit(1);
 }
-var47 = var49;
-RET_LABEL48:(void)0;
+var67 = var69;
+RET_LABEL68:(void)0;
 }
 }
 {
-var50 = nitc__parser_work___Prod___collect_text(var47);
+var70 = nitc__parser_work___Prod___collect_text(var67);
 }
-var_platform_name = var50;
+var_platform_name = var70;
 } else {
 {
-var51 = core___core__SequenceRead___Collection__first(var_args);
+var71 = core___core__SequenceRead___Collection__first(var_args);
 }
 {
-var52 = nitc__literal___AExpr___as_string(var51);
+var72 = nitc__literal___AExpr___as_string(var71);
 }
-var_platform_name = var52;
+var_platform_name = var72;
 if (var_platform_name == NULL) {
-var53 = 1; /* is null */
+var73 = 1; /* is null */
 } else {
-var53 = 0; /* arg is null but recv is not */
+var73 = 0; /* arg is null but recv is not */
 }
 if (0) {
-var54 = ((short int(*)(val* self, val* p0))(var_platform_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_platform_name, ((val*)NULL)); /* == on <var_platform_name:nullable Object(nullable String)>*/
-var53 = var54;
+var74 = ((short int(*)(val* self, val* p0))(var_platform_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_platform_name, ((val*)NULL)); /* == on <var_platform_name:nullable Object(nullable String)>*/
+var73 = var74;
 }
-if (var53){
-if (unlikely(varonce55==NULL)) {
-var56 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String);
-if (likely(varonce57!=NULL)) {
-var58 = varonce57;
+if (var73){
+if (unlikely(varonce75==NULL)) {
+var76 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String);
+if (likely(varonce77!=NULL)) {
+var78 = varonce77;
 } else {
-var59 = "Syntax Error: `";
-var60 = core__flat___NativeString___to_s_full(var59, 15l, 15l);
-var58 = var60;
-varonce57 = var58;
+var79 = "Syntax Error: `";
+var81 = (val*)(15l<<2|1);
+var82 = (val*)(15l<<2|1);
+var83 = (val*)((long)(0)<<2|3);
+var84 = (val*)((long)(0)<<2|3);
+var80 = core__flat___CString___to_s_unsafe(var79, var81, var82, var83, var84);
+var78 = var80;
+varonce77 = var78;
 }
-((struct instance_core__NativeArray*)var56)->values[0]=var58;
-if (likely(varonce61!=NULL)) {
-var62 = varonce61;
+((struct instance_core__NativeArray*)var76)->values[0]=var78;
+if (likely(varonce85!=NULL)) {
+var86 = varonce85;
 } else {
-var63 = "` expects its argument to be the name of the target platform as a String literal.";
-var64 = core__flat___NativeString___to_s_full(var63, 81l, 81l);
-var62 = var64;
-varonce61 = var62;
+var87 = "` expects its argument to be the name of the target platform as a String literal.";
+var89 = (val*)(81l<<2|1);
+var90 = (val*)(81l<<2|1);
+var91 = (val*)((long)(0)<<2|3);
+var92 = (val*)((long)(0)<<2|3);
+var88 = core__flat___CString___to_s_unsafe(var87, var89, var90, var91, var92);
+var86 = var88;
+varonce85 = var86;
 }
-((struct instance_core__NativeArray*)var56)->values[2]=var62;
+((struct instance_core__NativeArray*)var76)->values[2]=var86;
 } else {
-var56 = varonce55;
-varonce55 = NULL;
+var76 = varonce75;
+varonce75 = NULL;
 }
-((struct instance_core__NativeArray*)var56)->values[1]=var_annotation_name;
+((struct instance_core__NativeArray*)var76)->values[1]=var_annotation_name;
 {
-var65 = ((val*(*)(val* self))(var56->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var56); /* native_to_s on <var56:NativeArray[String]>*/
+var93 = ((val*(*)(val* self))(var76->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var76); /* native_to_s on <var76:NativeArray[String]>*/
 }
-varonce55 = var56;
-var_format_error = var65;
+varonce75 = var76;
+var_format_error = var93;
 {
-nitc___nitc__ModelBuilder___error(var_modelbuilder, var_nat, var_format_error); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
+nitc___nitc__ModelBuilder___error(var_modelbuilder, var_nat, var_format_error); /* Direct call modelbuilder_base$ModelBuilder$error on <var_modelbuilder:ModelBuilder>*/
 }
 goto RET_LABEL;
 } else {
@@ -378,237 +459,271 @@ goto RET_LABEL;
 }
 }
 {
-{ /* Inline parser_nodes#ANode#parent (var_nmoduledecl) on <var_nmoduledecl:ANode(AModuledecl)> */
-var68 = var_nmoduledecl->attrs[COLOR_nitc__parser_nodes__ANode___parent].val; /* _parent on <var_nmoduledecl:ANode(AModuledecl)> */
-var66 = var68;
-RET_LABEL67:(void)0;
+{ /* Inline parser_nodes$ANode$parent (var_nmoduledecl) on <var_nmoduledecl:ANode(AModuledecl)> */
+var96 = var_nmoduledecl->attrs[COLOR_nitc__parser_nodes__ANode___parent].val; /* _parent on <var_nmoduledecl:ANode(AModuledecl)> */
+var94 = var96;
+RET_LABEL95:(void)0;
 }
 }
-/* <var66:nullable ANode> isa AModule */
-cltype70 = type_nitc__AModule.color;
-idtype71 = type_nitc__AModule.id;
-if(var66 == NULL) {
-var69 = 0;
+/* <var94:nullable ANode> isa AModule */
+cltype98 = type_nitc__AModule.color;
+idtype99 = type_nitc__AModule.id;
+if(var94 == NULL) {
+var97 = 0;
 } else {
-if(cltype70 >= var66->type->table_size) {
-var69 = 0;
+if(cltype98 >= var94->type->table_size) {
+var97 = 0;
 } else {
-var69 = var66->type->type_table[cltype70] == idtype71;
+var97 = var94->type->type_table[cltype98] == idtype99;
 }
 }
-if (unlikely(!var69)) {
-var_class_name72 = var66 == NULL ? "null" : var66->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AModule", var_class_name72);
+if (unlikely(!var97)) {
+var_class_name100 = var94 == NULL ? "null" : var94->type->name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AModule", var_class_name100);
 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__platform, 67);
 fatal_exit(1);
 }
-var_nmodule = var66;
+var_nmodule = var94;
 {
-{ /* Inline loader#AModule#mmodule (var_nmodule) on <var_nmodule:AModule> */
-var75 = var_nmodule->attrs[COLOR_nitc__loader__AModule___mmodule].val; /* _mmodule on <var_nmodule:AModule> */
-var73 = var75;
-RET_LABEL74:(void)0;
+{ /* Inline loader$AModule$mmodule (var_nmodule) on <var_nmodule:AModule> */
+var103 = var_nmodule->attrs[COLOR_nitc__loader__AModule___mmodule].val; /* _mmodule on <var_nmodule:AModule> */
+var101 = var103;
+RET_LABEL102:(void)0;
 }
 }
-var_mmodule = var73;
+var_mmodule = var101;
 {
-{ /* Inline phase#Phase#toolcontext (self) on <self:PlatformPhase> */
-var78 = self->attrs[COLOR_nitc__phase__Phase___toolcontext].val; /* _toolcontext on <self:PlatformPhase> */
-if (unlikely(var78 == NULL)) {
+{ /* Inline phase$Phase$toolcontext (self) on <self:PlatformPhase> */
+var106 = self->attrs[COLOR_nitc__phase__Phase___toolcontext].val; /* _toolcontext on <self:PlatformPhase> */
+if (unlikely(var106 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase, 200);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase, 210);
 fatal_exit(1);
 }
-var76 = var78;
-RET_LABEL77:(void)0;
+var104 = var106;
+RET_LABEL105:(void)0;
 }
 }
 {
-var79 = nitc__platform___ToolContext___platform_from_name(var76, var_platform_name);
+var107 = nitc__platform___ToolContext___platform_from_name(var104, var_platform_name);
 }
-var_platform = var79;
+var_platform = var107;
 if (var_platform == NULL) {
-var80 = 1; /* is null */
+var108 = 1; /* is null */
 } else {
-var80 = 0; /* arg is null but recv is not */
+var108 = 0; /* arg is null but recv is not */
 }
 if (0) {
-{ /* Inline kernel#Object#== (var_platform,((val*)NULL)) on <var_platform:nullable Platform> */
-var_other83 = ((val*)NULL);
+{ /* Inline kernel$Object$== (var_platform,((val*)NULL)) on <var_platform:nullable Platform> */
+var_other111 = ((val*)NULL);
 {
-{ /* Inline kernel#Object#is_same_instance (var_platform,var_other83) on <var_platform:nullable Platform(Platform)> */
-var86 = var_platform == var_other83;
-var84 = var86;
-goto RET_LABEL85;
-RET_LABEL85:(void)0;
+{ /* Inline kernel$Object$is_same_instance (var_platform,var_other111) on <var_platform:nullable Platform(Platform)> */
+var114 = var_platform == var_other111;
+var112 = var114;
+goto RET_LABEL113;
+RET_LABEL113:(void)0;
 }
 }
-var81 = var84;
-goto RET_LABEL82;
-RET_LABEL82:(void)0;
+var109 = var112;
+goto RET_LABEL110;
+RET_LABEL110:(void)0;
 }
-var80 = var81;
+var108 = var109;
 }
-if (var80){
+if (var108){
 {
-{ /* Inline phase#Phase#toolcontext (self) on <self:PlatformPhase> */
-var89 = self->attrs[COLOR_nitc__phase__Phase___toolcontext].val; /* _toolcontext on <self:PlatformPhase> */
-if (unlikely(var89 == NULL)) {
+{ /* Inline phase$Phase$toolcontext (self) on <self:PlatformPhase> */
+var117 = self->attrs[COLOR_nitc__phase__Phase___toolcontext].val; /* _toolcontext on <self:PlatformPhase> */
+if (unlikely(var117 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase, 200);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase, 210);
 fatal_exit(1);
 }
-var87 = var89;
-RET_LABEL88:(void)0;
+var115 = var117;
+RET_LABEL116:(void)0;
 }
 }
 {
-{ /* Inline parser_nodes#ANode#location (var_nat) on <var_nat:AAnnotation> */
-var92 = var_nat->attrs[COLOR_nitc__parser_nodes__ANode___location].val; /* _location on <var_nat:AAnnotation> */
-if (unlikely(var92 == NULL)) {
+{ /* Inline parser_nodes$ANode$location (var_nat) on <var_nat:AAnnotation> */
+var120 = var_nat->attrs[COLOR_nitc__parser_nodes__ANode___location].val; /* _location on <var_nat:AAnnotation> */
+if (unlikely(var120 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 24);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 25);
 fatal_exit(1);
 }
-var90 = var92;
-RET_LABEL91:(void)0;
+var118 = var120;
+RET_LABEL119:(void)0;
 }
 }
-if (unlikely(varonce93==NULL)) {
-var94 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String);
-if (likely(varonce95!=NULL)) {
-var96 = varonce95;
+if (unlikely(varonce121==NULL)) {
+var122 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String);
+if (likely(varonce123!=NULL)) {
+var124 = varonce123;
 } else {
-var97 = "Error: target platform `";
-var98 = core__flat___NativeString___to_s_full(var97, 24l, 24l);
-var96 = var98;
-varonce95 = var96;
+var125 = "Error: target platform `";
+var127 = (val*)(24l<<2|1);
+var128 = (val*)(24l<<2|1);
+var129 = (val*)((long)(0)<<2|3);
+var130 = (val*)((long)(0)<<2|3);
+var126 = core__flat___CString___to_s_unsafe(var125, var127, var128, var129, var130);
+var124 = var126;
+varonce123 = var124;
 }
-((struct instance_core__NativeArray*)var94)->values[0]=var96;
-if (likely(varonce99!=NULL)) {
-var100 = varonce99;
+((struct instance_core__NativeArray*)var122)->values[0]=var124;
+if (likely(varonce131!=NULL)) {
+var132 = varonce131;
 } else {
-var101 = "` unknown.";
-var102 = core__flat___NativeString___to_s_full(var101, 10l, 10l);
-var100 = var102;
-varonce99 = var100;
+var133 = "` unknown.";
+var135 = (val*)(10l<<2|1);
+var136 = (val*)(10l<<2|1);
+var137 = (val*)((long)(0)<<2|3);
+var138 = (val*)((long)(0)<<2|3);
+var134 = core__flat___CString___to_s_unsafe(var133, var135, var136, var137, var138);
+var132 = var134;
+varonce131 = var132;
 }
-((struct instance_core__NativeArray*)var94)->values[2]=var100;
+((struct instance_core__NativeArray*)var122)->values[2]=var132;
 } else {
-var94 = varonce93;
-varonce93 = NULL;
+var122 = varonce121;
+varonce121 = NULL;
 }
-((struct instance_core__NativeArray*)var94)->values[1]=var_platform_name;
+((struct instance_core__NativeArray*)var122)->values[1]=var_platform_name;
 {
-var103 = ((val*(*)(val* self))(var94->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var94); /* native_to_s on <var94:NativeArray[String]>*/
+var139 = ((val*(*)(val* self))(var122->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var122); /* native_to_s on <var122:NativeArray[String]>*/
 }
-varonce93 = var94;
+varonce121 = var122;
 {
-var104 = nitc___nitc__ToolContext___error(var87, var90, var103);
+var140 = nitc___nitc__ToolContext___error(var115, var118, var139);
 }
 goto RET_LABEL;
 } else {
 }
 if (var_mmodule == NULL) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__platform, 76);
 fatal_exit(1);
 } else {
-var105 = nitc__platform___MModule___target_platform(var_mmodule);
+var141 = nitc__platform___MModule___target_platform(var_mmodule);
 }
-var_previous_target_platform = var105;
+var_previous_target_platform = var141;
 if (var_previous_target_platform == NULL) {
-var107 = 0; /* is null */
+var143 = 0; /* is null */
 } else {
-var107 = 1; /* arg is null and recv is not */
+var143 = 1; /* arg is null and recv is not */
 }
 if (0) {
-{ /* Inline kernel#Object#!= (var_previous_target_platform,((val*)NULL)) on <var_previous_target_platform:nullable Platform> */
+{ /* Inline kernel$Object$!= (var_previous_target_platform,((val*)NULL)) on <var_previous_target_platform:nullable Platform> */
 var_other = ((val*)NULL);
 {
-var110 = ((short int(*)(val* self, val* p0))(var_previous_target_platform->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_previous_target_platform, var_other); /* == on <var_previous_target_platform:nullable Platform(Platform)>*/
+var146 = ((short int(*)(val* self, val* p0))(var_previous_target_platform->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_previous_target_platform, var_other); /* == on <var_previous_target_platform:nullable Platform(Platform)>*/
 }
-var111 = !var110;
-var108 = var111;
-goto RET_LABEL109;
-RET_LABEL109:(void)0;
+var147 = !var146;
+var144 = var147;
+goto RET_LABEL145;
+RET_LABEL145:(void)0;
 }
-var107 = var108;
+var143 = var144;
 }
-var_ = var107;
-if (var107){
+var_ = var143;
+if (var143){
 {
-{ /* Inline kernel#Object#!= (var_previous_target_platform,var_platform) on <var_previous_target_platform:nullable Platform(Platform)> */
+{ /* Inline kernel$Object$!= (var_previous_target_platform,var_platform) on <var_previous_target_platform:nullable Platform(Platform)> */
 var_other = var_platform;
 {
-var114 = ((short int(*)(val* self, val* p0))(var_previous_target_platform->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_previous_target_platform, var_other); /* == on <var_previous_target_platform:nullable Platform(Platform)>*/
+var150 = ((short int(*)(val* self, val* p0))(var_previous_target_platform->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_previous_target_platform, var_other); /* == on <var_previous_target_platform:nullable Platform(Platform)>*/
 }
-var115 = !var114;
-var112 = var115;
-goto RET_LABEL113;
-RET_LABEL113:(void)0;
+var151 = !var150;
+var148 = var151;
+goto RET_LABEL149;
+RET_LABEL149:(void)0;
 }
 }
-var106 = var112;
+var142 = var148;
 } else {
-var106 = var_;
+var142 = var_;
 }
-if (var106){
-if (unlikely(varonce116==NULL)) {
-var117 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String);
-if (likely(varonce118!=NULL)) {
-var119 = varonce118;
+if (var142){
+if (unlikely(varonce152==NULL)) {
+var153 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String);
+if (likely(varonce154!=NULL)) {
+var155 = varonce154;
 } else {
-var120 = "Syntax Error: a target platform has already been defined as `";
-var121 = core__flat___NativeString___to_s_full(var120, 61l, 61l);
-var119 = var121;
-varonce118 = var119;
+var156 = "Syntax Error: a target platform has already been defined as `";
+var158 = (val*)(61l<<2|1);
+var159 = (val*)(61l<<2|1);
+var160 = (val*)((long)(0)<<2|3);
+var161 = (val*)((long)(0)<<2|3);
+var157 = core__flat___CString___to_s_unsafe(var156, var158, var159, var160, var161);
+var155 = var157;
+varonce154 = var155;
 }
-((struct instance_core__NativeArray*)var117)->values[0]=var119;
-if (likely(varonce122!=NULL)) {
-var123 = varonce122;
+((struct instance_core__NativeArray*)var153)->values[0]=var155;
+if (likely(varonce162!=NULL)) {
+var163 = varonce162;
 } else {
-var124 = "`.";
-var125 = core__flat___NativeString___to_s_full(var124, 2l, 2l);
-var123 = var125;
-varonce122 = var123;
+var164 = "`.";
+var166 = (val*)(2l<<2|1);
+var167 = (val*)(2l<<2|1);
+var168 = (val*)((long)(0)<<2|3);
+var169 = (val*)((long)(0)<<2|3);
+var165 = core__flat___CString___to_s_unsafe(var164, var166, var167, var168, var169);
+var163 = var165;
+varonce162 = var163;
 }
-((struct instance_core__NativeArray*)var117)->values[2]=var123;
+((struct instance_core__NativeArray*)var153)->values[2]=var163;
 } else {
-var117 = varonce116;
-varonce116 = NULL;
+var153 = varonce152;
+varonce152 = NULL;
 }
 {
-var126 = ((val*(*)(val* self))(var_previous_target_platform->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_previous_target_platform); /* to_s on <var_previous_target_platform:nullable Platform(Platform)>*/
+var170 = ((val*(*)(val* self))(var_previous_target_platform->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_previous_target_platform); /* to_s on <var_previous_target_platform:nullable Platform(Platform)>*/
 }
-((struct instance_core__NativeArray*)var117)->values[1]=var126;
+((struct instance_core__NativeArray*)var153)->values[1]=var170;
 {
-var127 = ((val*(*)(val* self))(var117->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var117); /* native_to_s on <var117:NativeArray[String]>*/
+var171 = ((val*(*)(val* self))(var153->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var153); /* native_to_s on <var153:NativeArray[String]>*/
 }
-varonce116 = var117;
+varonce152 = var153;
 {
-nitc___nitc__ModelBuilder___error(var_modelbuilder, var_nat, var127); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
+nitc___nitc__ModelBuilder___error(var_modelbuilder, var_nat, var171); /* Direct call modelbuilder_base$ModelBuilder$error on <var_modelbuilder:ModelBuilder>*/
 }
 } else {
 }
 if (var_mmodule == NULL) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__platform, 81);
 fatal_exit(1);
 } else {
-{ /* Inline platform#MModule#local_target_platform= (var_mmodule,var_platform) on <var_mmodule:nullable MModule> */
+{ /* Inline platform$MModule$local_target_platform= (var_mmodule,var_platform) on <var_mmodule:nullable MModule> */
 if (unlikely(var_mmodule == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__platform, 86);
 fatal_exit(1);
 }
 var_mmodule->attrs[COLOR_nitc__platform__MModule___local_target_platform].val = var_platform; /* _local_target_platform on <var_mmodule:nullable MModule> */
-RET_LABEL128:(void)0;
+RET_LABEL172:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method platform#MModule#local_target_platform for (self: MModule): nullable Platform */
+/* method platform$MModule$local_target_platform for (self: MModule): nullable Platform */
 val* nitc__platform___MModule___local_target_platform(val* self) {
 val* var /* : nullable Platform */;
 val* var1 /* : nullable Platform */;
@@ -617,12 +732,12 @@ var = var1;
 RET_LABEL:;
 return var;
 }
-/* method platform#MModule#local_target_platform= for (self: MModule, nullable Platform) */
+/* method platform$MModule$local_target_platform= for (self: MModule, nullable Platform) */
 void nitc__platform___MModule___local_target_platform_61d(val* self, val* p0) {
 self->attrs[COLOR_nitc__platform__MModule___local_target_platform].val = p0; /* _local_target_platform on <self:MModule> */
 RET_LABEL:;
 }
-/* method platform#MModule#target_platform for (self: MModule): nullable Platform */
+/* method platform$MModule$target_platform for (self: MModule): nullable Platform */
 val* nitc__platform___MModule___target_platform(val* self) {
 val* var /* : nullable Platform */;
 val* var1 /* : nullable Platform */;
@@ -649,7 +764,7 @@ short int var21 /* : Bool */;
 short int var23 /* : Bool */;
 short int var24 /* : Bool */;
 {
-{ /* Inline platform#MModule#local_target_platform (self) on <self:MModule> */
+{ /* Inline platform$MModule$local_target_platform (self) on <self:MModule> */
 var3 = self->attrs[COLOR_nitc__platform__MModule___local_target_platform].val; /* _local_target_platform on <self:MModule> */
 var1 = var3;
 RET_LABEL2:(void)0;
@@ -662,7 +777,7 @@ var4 = 0; /* is null */
 var4 = 1; /* arg is null and recv is not */
 }
 if (0) {
-{ /* Inline kernel#Object#!= (var_ltp,((val*)NULL)) on <var_ltp:nullable Platform> */
+{ /* Inline kernel$Object$!= (var_ltp,((val*)NULL)) on <var_ltp:nullable Platform> */
 var_other = ((val*)NULL);
 {
 var7 = ((short int(*)(val* self, val* p0))(var_ltp->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_ltp, var_other); /* == on <var_ltp:nullable Platform(Platform)>*/
@@ -680,11 +795,14 @@ goto RET_LABEL;
 } else {
 }
 {
-{ /* Inline mmodule#MModule#in_importation (self) on <self:MModule> */
+{ /* Inline mmodule$MModule$in_importation (self) on <self:MModule> */
 var11 = self->attrs[COLOR_nitc__mmodule__MModule___in_importation].val; /* _in_importation on <self:MModule> */
 if (unlikely(var11 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule, 104);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule, 108);
 fatal_exit(1);
 }
 var9 = var11;
@@ -712,7 +830,7 @@ var16 = ((val*(*)(val* self))((((long)var_14&3)?class_info[((long)var_14&3)]:var
 }
 var_mmodule = var16;
 {
-{ /* Inline platform#MModule#local_target_platform (var_mmodule) on <var_mmodule:MModule> */
+{ /* Inline platform$MModule$local_target_platform (var_mmodule) on <var_mmodule:MModule> */
 var19 = var_mmodule->attrs[COLOR_nitc__platform__MModule___local_target_platform].val; /* _local_target_platform on <var_mmodule:MModule> */
 var17 = var19;
 RET_LABEL18:(void)0;
@@ -725,7 +843,7 @@ var20 = 0; /* is null */
 var20 = 1; /* arg is null and recv is not */
 }
 if (0) {
-{ /* Inline kernel#Object#!= (var_ltp,((val*)NULL)) on <var_ltp:nullable Platform> */
+{ /* Inline kernel$Object$!= (var_ltp,((val*)NULL)) on <var_ltp:nullable Platform> */
 var_other = ((val*)NULL);
 {
 var23 = ((short int(*)(val* self, val* p0))(var_ltp->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_ltp, var_other); /* == on <var_ltp:nullable Platform(Platform)>*/
@@ -755,7 +873,7 @@ goto RET_LABEL;
 RET_LABEL:;
 return var;
 }
-/* method platform#Platform#supports_libunwind for (self: Platform): Bool */
+/* method platform$Platform$supports_libunwind for (self: Platform): Bool */
 short int nitc___nitc__Platform___supports_libunwind(val* self) {
 short int var /* : Bool */;
 var = 1;
@@ -763,7 +881,7 @@ goto RET_LABEL;
 RET_LABEL:;
 return var;
 }
-/* method platform#Platform#supports_libgc for (self: Platform): Bool */
+/* method platform$Platform$supports_libgc for (self: Platform): Bool */
 short int nitc___nitc__Platform___supports_libgc(val* self) {
 short int var /* : Bool */;
 var = 1;
@@ -771,7 +889,7 @@ goto RET_LABEL;
 RET_LABEL:;
 return var;
 }
-/* method platform#Platform#no_main for (self: Platform): Bool */
+/* method platform$Platform$no_main for (self: Platform): Bool */
 short int nitc___nitc__Platform___no_main(val* self) {
 short int var /* : Bool */;
 var = 0;
@@ -779,7 +897,7 @@ goto RET_LABEL;
 RET_LABEL:;
 return var;
 }
-/* method platform#Platform#supports_linker_script for (self: Platform): Bool */
+/* method platform$Platform$supports_linker_script for (self: Platform): Bool */
 short int nitc___nitc__Platform___supports_linker_script(val* self) {
 short int var /* : Bool */;
 var = 1;