X-Git-Url: http://nitlanguage.org diff --git a/c_src/nitc__platform.sep.1.c b/c_src/nitc__platform.sep.1.c index 1a79c8d..bc968c8 100644 --- a/c_src/nitc__platform.sep.1.c +++ b/c_src/nitc__platform.sep.1.c @@ -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 */ +{ /* Inline kernel$Object$!= (var7,var_annotation_name) on */ 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 */ +var10 = ((short int(*)(val* self, val* p0))(var7->class->vft[COLOR_core__kernel__Object___61d_61d]))(var7, var_other); /* == on */ } -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 */ -var10 = self->attrs[COLOR_nitc__phase__Phase___toolcontext].val; /* _toolcontext on */ -if (unlikely(var10 == NULL)) { +{ /* Inline phase$Phase$toolcontext (self) on */ +var14 = self->attrs[COLOR_nitc__phase__Phase___toolcontext].val; /* _toolcontext on */ +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; /* 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 */ +var36 = ((val*(*)(val* self))(var19->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var19); /* native_to_s on */ } -varonce14 = var15; +varonce18 = var19; { -nitc___nitc__ModelBuilder___error(var_modelbuilder, var_nat, var24); /* Direct call modelbuilder_base#ModelBuilder#error on */ +nitc___nitc__ModelBuilder___error(var_modelbuilder, var_nat, var36); /* Direct call modelbuilder_base$ModelBuilder$error on */ } goto RET_LABEL; } else { } { -{ /* Inline parser_nodes#AAnnotation#n_args (var_nat) on */ -var27 = var_nat->attrs[COLOR_nitc__parser_nodes__AAnnotation___n_args].val; /* _n_args on */ -if (unlikely(var27 == NULL)) { +{ /* Inline parser_nodes$AAnnotation$n_args (var_nat) on */ +var39 = var_nat->attrs[COLOR_nitc__parser_nodes__AAnnotation___n_args].val; /* _n_args on */ +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 */ +{ /* Inline kernel$Int$> (var40,1l) on */ /* 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 */ +var65 = ((val*(*)(val* self))(var48->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var48); /* native_to_s on */ } -varonce35 = var36; +varonce47 = var48; { -nitc___nitc__ModelBuilder___error(var_modelbuilder, var_nat, var45); /* Direct call modelbuilder_base#ModelBuilder#error on */ +nitc___nitc__ModelBuilder___error(var_modelbuilder, var_nat, var65); /* Direct call modelbuilder_base$ModelBuilder$error on */ } 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 */ -var49 = var_nmoduledecl->attrs[COLOR_nitc__parser_nodes__AModuledecl___n_name].val; /* _n_name on */ -if (unlikely(var49 == NULL)) { +{ /* Inline parser_nodes$AModuledecl$n_name (var_nmoduledecl) on */ +var69 = var_nmoduledecl->attrs[COLOR_nitc__parser_nodes__AModuledecl___n_name].val; /* _n_name on */ +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 */ -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 */ +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 */ +var93 = ((val*(*)(val* self))(var76->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var76); /* native_to_s on */ } -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 */ +nitc___nitc__ModelBuilder___error(var_modelbuilder, var_nat, var_format_error); /* Direct call modelbuilder_base$ModelBuilder$error on */ } goto RET_LABEL; } else { @@ -378,237 +459,271 @@ goto RET_LABEL; } } { -{ /* Inline parser_nodes#ANode#parent (var_nmoduledecl) on */ -var68 = var_nmoduledecl->attrs[COLOR_nitc__parser_nodes__ANode___parent].val; /* _parent on */ -var66 = var68; -RET_LABEL67:(void)0; +{ /* Inline parser_nodes$ANode$parent (var_nmoduledecl) on */ +var96 = var_nmoduledecl->attrs[COLOR_nitc__parser_nodes__ANode___parent].val; /* _parent on */ +var94 = var96; +RET_LABEL95:(void)0; } } -/* isa AModule */ -cltype70 = type_nitc__AModule.color; -idtype71 = type_nitc__AModule.id; -if(var66 == NULL) { -var69 = 0; +/* 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 */ -var75 = var_nmodule->attrs[COLOR_nitc__loader__AModule___mmodule].val; /* _mmodule on */ -var73 = var75; -RET_LABEL74:(void)0; +{ /* Inline loader$AModule$mmodule (var_nmodule) on */ +var103 = var_nmodule->attrs[COLOR_nitc__loader__AModule___mmodule].val; /* _mmodule on */ +var101 = var103; +RET_LABEL102:(void)0; } } -var_mmodule = var73; +var_mmodule = var101; { -{ /* Inline phase#Phase#toolcontext (self) on */ -var78 = self->attrs[COLOR_nitc__phase__Phase___toolcontext].val; /* _toolcontext on */ -if (unlikely(var78 == NULL)) { +{ /* Inline phase$Phase$toolcontext (self) on */ +var106 = self->attrs[COLOR_nitc__phase__Phase___toolcontext].val; /* _toolcontext on */ +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_other83 = ((val*)NULL); +{ /* Inline kernel$Object$== (var_platform,((val*)NULL)) on */ +var_other111 = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_platform,var_other83) on */ -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 */ +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 */ -var89 = self->attrs[COLOR_nitc__phase__Phase___toolcontext].val; /* _toolcontext on */ -if (unlikely(var89 == NULL)) { +{ /* Inline phase$Phase$toolcontext (self) on */ +var117 = self->attrs[COLOR_nitc__phase__Phase___toolcontext].val; /* _toolcontext on */ +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 */ -var92 = var_nat->attrs[COLOR_nitc__parser_nodes__ANode___location].val; /* _location on */ -if (unlikely(var92 == NULL)) { +{ /* Inline parser_nodes$ANode$location (var_nat) on */ +var120 = var_nat->attrs[COLOR_nitc__parser_nodes__ANode___location].val; /* _location on */ +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 */ +var139 = ((val*(*)(val* self))(var122->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var122); /* native_to_s on */ } -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 */ +{ /* Inline kernel$Object$!= (var_previous_target_platform,((val*)NULL)) on */ 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 */ +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 */ } -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 */ +{ /* Inline kernel$Object$!= (var_previous_target_platform,var_platform) on */ 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 */ +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 */ } -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 */ +var170 = ((val*(*)(val* self))(var_previous_target_platform->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_previous_target_platform); /* to_s on */ } -((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 */ +var171 = ((val*(*)(val* self))(var153->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var153); /* native_to_s on */ } -varonce116 = var117; +varonce152 = var153; { -nitc___nitc__ModelBuilder___error(var_modelbuilder, var_nat, var127); /* Direct call modelbuilder_base#ModelBuilder#error on */ +nitc___nitc__ModelBuilder___error(var_modelbuilder, var_nat, var171); /* Direct call modelbuilder_base$ModelBuilder$error on */ } } 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 */ +{ /* Inline platform$MModule$local_target_platform= (var_mmodule,var_platform) on */ 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 */ -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 */ 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 */ +{ /* Inline platform$MModule$local_target_platform (self) on */ var3 = self->attrs[COLOR_nitc__platform__MModule___local_target_platform].val; /* _local_target_platform on */ 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 */ +{ /* Inline kernel$Object$!= (var_ltp,((val*)NULL)) on */ 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 */ @@ -680,11 +795,14 @@ goto RET_LABEL; } else { } { -{ /* Inline mmodule#MModule#in_importation (self) on */ +{ /* Inline mmodule$MModule$in_importation (self) on */ var11 = self->attrs[COLOR_nitc__mmodule__MModule___in_importation].val; /* _in_importation on */ 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 */ +{ /* Inline platform$MModule$local_target_platform (var_mmodule) on */ var19 = var_mmodule->attrs[COLOR_nitc__platform__MModule___local_target_platform].val; /* _local_target_platform on */ 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 */ +{ /* Inline kernel$Object$!= (var_ltp,((val*)NULL)) on */ 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 */ @@ -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;