X-Git-Url: http://nitlanguage.org diff --git a/c_src/nit__platform.sep.1.c b/c_src/nit__platform.sep.1.c index 32c06f4..56900b8 100644 --- a/c_src/nit__platform.sep.1.c +++ b/c_src/nit__platform.sep.1.c @@ -3,10 +3,8 @@ val* nit__platform___ToolContext___platform_from_name(val* self, val* p0) { val* var /* : nullable Platform */; val* var_name /* var name: String */; -val* var1 /* : null */; var_name = p0; -var1 = NULL; -var = var1; +var = ((val*)NULL); goto RET_LABEL; RET_LABEL:; return var; @@ -18,389 +16,359 @@ val* var_nat /* var nat: AAnnotation */; static val* varonce; val* var /* : String */; char* var1 /* : NativeString */; -long var2 /* : Int */; -val* var3 /* : FlatString */; +val* var2 /* : FlatString */; val* var_annotation_name /* var annotation_name: String */; -val* var4 /* : String */; -short int var5 /* : Bool */; +val* var3 /* : String */; +short int var4 /* : Bool */; val* var_other /* var other: nullable Object */; +short int var6 /* : Bool */; short int var7 /* : Bool */; -short int var8 /* : Bool */; -val* var9 /* : ToolContext */; -val* var11 /* : ToolContext */; -val* var12 /* : ModelBuilder */; +val* var8 /* : ToolContext */; +val* var10 /* : ToolContext */; +val* var11 /* : ModelBuilder */; val* var_modelbuilder /* var modelbuilder: ModelBuilder */; -short int var13 /* : Bool */; +short int var12 /* : Bool */; int cltype; int idtype; -short int var14 /* : Bool */; -static val* varonce15; -val* var16 /* : String */; -char* var17 /* : NativeString */; -long var18 /* : Int */; +short int var13 /* : Bool */; +val* var15 /* : NativeArray[String] */; +static val* varonce14; +static val* varonce16; +val* var17 /* : String */; +char* var18 /* : NativeString */; val* var19 /* : FlatString */; static val* varonce20; val* var21 /* : String */; char* var22 /* : NativeString */; -long var23 /* : Int */; -val* var24 /* : FlatString */; -val* var25 /* : Array[Object] */; -long var26 /* : Int */; -val* var27 /* : NativeArray[Object] */; -val* var28 /* : String */; -val* var29 /* : ANodes[AExpr] */; -val* var31 /* : ANodes[AExpr] */; +val* var23 /* : FlatString */; +val* var24 /* : String */; +val* var25 /* : ANodes[AExpr] */; +val* var27 /* : ANodes[AExpr] */; val* var_args /* var args: ANodes[AExpr] */; -long var32 /* : Int */; -long var33 /* : Int */; -short int var34 /* : Bool */; -short int var36 /* : Bool */; -int cltype37; -int idtype38; +long var28 /* : Int */; +short int var29 /* : Bool */; +short int var31 /* : Bool */; +int cltype32; +int idtype33; const char* var_class_name; -short int var39 /* : Bool */; -static val* varonce40; -val* var41 /* : String */; -char* var42 /* : NativeString */; -long var43 /* : Int */; +short int var34 /* : Bool */; +val* var36 /* : NativeArray[String] */; +static val* varonce35; +static val* varonce37; +val* var38 /* : String */; +char* var39 /* : NativeString */; +val* var40 /* : FlatString */; +static val* varonce41; +val* var42 /* : String */; +char* var43 /* : NativeString */; val* var44 /* : FlatString */; -static val* varonce45; -val* var46 /* : String */; -char* var47 /* : NativeString */; -long var48 /* : Int */; -val* var49 /* : FlatString */; -val* var50 /* : Array[Object] */; -long var51 /* : Int */; -val* var52 /* : NativeArray[Object] */; -val* var53 /* : String */; +val* var45 /* : String */; +short int var46 /* : Bool */; +val* var47 /* : AModuleName */; +val* var49 /* : AModuleName */; +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* var55 /* : AModuleName */; -val* var57 /* : AModuleName */; +val* var56 /* : NativeArray[String] */; +static val* varonce55; +static val* varonce57; val* var58 /* : String */; -val* var_platform_name /* var platform_name: nullable Object */; -val* var59 /* : nullable Object */; -val* var60 /* : nullable String */; -val* var61 /* : null */; -short int var62 /* : Bool */; -short int var63 /* : Bool */; -static val* varonce64; +char* var59 /* : NativeString */; +val* var60 /* : FlatString */; +static val* varonce61; +val* var62 /* : String */; +char* var63 /* : NativeString */; +val* var64 /* : FlatString */; val* var65 /* : String */; -char* var66 /* : NativeString */; -long var67 /* : Int */; -val* var68 /* : FlatString */; -static val* varonce69; -val* var70 /* : String */; -char* var71 /* : NativeString */; -long var72 /* : Int */; -val* var73 /* : FlatString */; -val* var74 /* : Array[Object] */; -long var75 /* : Int */; -val* var76 /* : NativeArray[Object] */; -val* var77 /* : String */; val* var_format_error /* var format_error: String */; -val* var78 /* : nullable ANode */; -val* var80 /* : nullable ANode */; -short int var81 /* : Bool */; -int cltype82; -int idtype83; -const char* var_class_name84; +val* var66 /* : nullable ANode */; +val* var68 /* : nullable ANode */; +short int var69 /* : Bool */; +int cltype70; +int idtype71; +const char* var_class_name72; val* var_nmodule /* var nmodule: AModule */; -val* var85 /* : nullable MModule */; -val* var87 /* : nullable MModule */; +val* var73 /* : nullable MModule */; +val* var75 /* : nullable MModule */; val* var_mmodule /* var mmodule: nullable MModule */; -val* var88 /* : ToolContext */; -val* var90 /* : ToolContext */; -val* var91 /* : nullable Platform */; +val* var76 /* : ToolContext */; +val* var78 /* : ToolContext */; +val* var79 /* : nullable Platform */; val* var_platform /* var platform: nullable Platform */; -val* var92 /* : null */; -short int var93 /* : Bool */; -short int var94 /* : Bool */; -val* var_other96 /* var other: nullable Object */; -short int var97 /* : Bool */; -short int var99 /* : Bool */; -val* var100 /* : ToolContext */; -val* var102 /* : ToolContext */; -val* var103 /* : Location */; -val* var105 /* : Location */; -static val* varonce106; -val* var107 /* : String */; -char* var108 /* : NativeString */; -long var109 /* : Int */; -val* var110 /* : FlatString */; -static val* varonce111; -val* var112 /* : String */; -char* var113 /* : NativeString */; -long var114 /* : Int */; -val* var115 /* : FlatString */; -val* var116 /* : Array[Object] */; -long var117 /* : Int */; -val* var118 /* : NativeArray[Object] */; -val* var119 /* : String */; -val* var120 /* : 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 /* : FlatString */; +static val* varonce99; +val* var100 /* : String */; +char* var101 /* : NativeString */; +val* var102 /* : FlatString */; +val* var103 /* : String */; +val* var104 /* : Message */; +val* var105 /* : nullable Platform */; val* var_previous_target_platform /* var previous_target_platform: nullable Platform */; -short int var121 /* : Bool */; -val* var122 /* : null */; -short int var123 /* : Bool */; -short int var124 /* : Bool */; -short int var126 /* : Bool */; -short int var127 /* : Bool */; +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 var128 /* : Bool */; -short int var130 /* : Bool */; -short int var131 /* : Bool */; -static val* varonce132; -val* var133 /* : String */; -char* var134 /* : NativeString */; -long var135 /* : Int */; -val* var136 /* : FlatString */; -static val* varonce137; -val* var138 /* : String */; -char* var139 /* : NativeString */; -long var140 /* : Int */; -val* var141 /* : FlatString */; -val* var142 /* : Array[Object] */; -long var143 /* : Int */; -val* var144 /* : NativeArray[Object] */; -val* var145 /* : String */; +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 /* : FlatString */; +static val* varonce122; +val* var123 /* : String */; +char* var124 /* : NativeString */; +val* var125 /* : FlatString */; +val* var126 /* : String */; +val* var127 /* : String */; var_nmoduledecl = p0; var_nat = p1; -if (varonce) { +if (likely(varonce!=NULL)) { var = varonce; } else { var1 = "platform"; -var2 = 8; -var3 = standard___standard__NativeString___to_s_with_length(var1, var2); -var = var3; +var2 = standard___standard__NativeString___to_s_with_length(var1, 8l); +var = var2; varonce = var; } var_annotation_name = var; { -var4 = nit___nit__AAnnotation___name(var_nat); +var3 = nit___nit__AAnnotation___name(var_nat); } { -{ /* Inline kernel#Object#!= (var4,var_annotation_name) on */ +{ /* Inline kernel#Object#!= (var3,var_annotation_name) on */ var_other = var_annotation_name; { -var7 = ((short int (*)(val* self, val* p0))(var4->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var4, var_other) /* == on */; +var6 = ((short int(*)(val* self, val* p0))(var3->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var3, var_other); /* == on */ } -var8 = !var7; -var5 = var8; -goto RET_LABEL6; -RET_LABEL6:(void)0; +var7 = !var6; +var4 = var7; +goto RET_LABEL5; +RET_LABEL5:(void)0; } } -if (var5){ +if (var4){ goto RET_LABEL; } else { } { { /* Inline phase#Phase#toolcontext (self) on */ -var11 = self->attrs[COLOR_nit__phase__Phase___toolcontext].val; /* _toolcontext on */ -if (unlikely(var11 == NULL)) { +var10 = self->attrs[COLOR_nit__phase__Phase___toolcontext].val; /* _toolcontext on */ +if (unlikely(var10 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 201); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 200); +fatal_exit(1); } -var9 = var11; -RET_LABEL10:(void)0; +var8 = var10; +RET_LABEL9:(void)0; } } { -var12 = nit__modelbuilder_base___ToolContext___modelbuilder(var9); +var11 = nit__modelbuilder_base___ToolContext___modelbuilder(var8); } -var_modelbuilder = var12; +var_modelbuilder = var11; /* isa AModuledecl */ cltype = type_nit__AModuledecl.color; idtype = type_nit__AModuledecl.id; if(cltype >= var_nmoduledecl->type->table_size) { -var13 = 0; +var12 = 0; } else { -var13 = var_nmoduledecl->type->type_table[cltype] == idtype; +var12 = var_nmoduledecl->type->type_table[cltype] == idtype; } -var14 = !var13; -if (var14){ -if (varonce15) { -var16 = varonce15; +var13 = !var12; +if (var13){ +if (unlikely(varonce14==NULL)) { +var15 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce16!=NULL)) { +var17 = varonce16; } else { -var17 = "Syntax error: only the declaration of modules may use \""; -var18 = 55; -var19 = standard___standard__NativeString___to_s_with_length(var17, var18); -var16 = var19; -varonce15 = var16; +var18 = "Syntax Error: only the declaration of modules may use `"; +var19 = standard___standard__NativeString___to_s_with_length(var18, 55l); +var17 = var19; +varonce16 = var17; } -if (varonce20) { +((struct instance_standard__NativeArray*)var15)->values[0]=var17; +if (likely(varonce20!=NULL)) { var21 = varonce20; } else { -var22 = "\"."; -var23 = 2; -var24 = standard___standard__NativeString___to_s_with_length(var22, var23); -var21 = var24; +var22 = "`."; +var23 = standard___standard__NativeString___to_s_with_length(var22, 2l); +var21 = var23; varonce20 = var21; } -var25 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var25 = array_instance Array[Object] */ -var26 = 3; -var27 = NEW_standard__NativeArray(var26, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var27)->values[0] = (val*) var16; -((struct instance_standard__NativeArray*)var27)->values[1] = (val*) var_annotation_name; -((struct instance_standard__NativeArray*)var27)->values[2] = (val*) var21; -{ -((void (*)(val* self, val* p0, long p1))(var25->class->vft[COLOR_standard__array__Array__with_native]))(var25, var27, var26) /* with_native on */; -} +((struct instance_standard__NativeArray*)var15)->values[2]=var21; +} else { +var15 = varonce14; +varonce14 = NULL; } +((struct instance_standard__NativeArray*)var15)->values[1]=var_annotation_name; { -var28 = ((val* (*)(val* self))(var25->class->vft[COLOR_standard__string__Object__to_s]))(var25) /* to_s on */; +var24 = ((val*(*)(val* self))(var15->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var15); /* native_to_s on */ } +varonce14 = var15; { -nit___nit__ModelBuilder___error(var_modelbuilder, var_nat, var28); /* Direct call modelbuilder_base#ModelBuilder#error on */ +nit___nit__ModelBuilder___error(var_modelbuilder, var_nat, var24); /* Direct call modelbuilder_base#ModelBuilder#error on */ } goto RET_LABEL; } else { } { { /* Inline parser_nodes#AAnnotation#n_args (var_nat) on */ -var31 = var_nat->attrs[COLOR_nit__parser_nodes__AAnnotation___n_args].val; /* _n_args on */ -if (unlikely(var31 == NULL)) { +var27 = var_nat->attrs[COLOR_nit__parser_nodes__AAnnotation___n_args].val; /* _n_args on */ +if (unlikely(var27 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2552); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2988); +fatal_exit(1); } -var29 = var31; -RET_LABEL30:(void)0; +var25 = var27; +RET_LABEL26:(void)0; } } -var_args = var29; +var_args = var25; { -var32 = nit___nit__ANodes___standard__abstract_collection__Collection__length(var_args); +var28 = nit___nit__ANodes___standard__abstract_collection__Collection__length(var_args); } -var33 = 1; { -{ /* Inline kernel#Int#> (var32,var33) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var36 = 1; /* easy isa OTHER*/ -if (unlikely(!var36)) { +{ /* Inline kernel#Int#> (var28,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)) { var_class_name = type_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 412); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 536); +fatal_exit(1); } -var39 = var32 > var33; -var34 = var39; -goto RET_LABEL35; -RET_LABEL35:(void)0; +var34 = var28 > 1l; +var29 = var34; +goto RET_LABEL30; +RET_LABEL30:(void)0; } } -if (var34){ -if (varonce40) { -var41 = varonce40; +if (var29){ +if (unlikely(varonce35==NULL)) { +var36 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce37!=NULL)) { +var38 = varonce37; } else { -var42 = "Syntax error: \""; -var43 = 15; -var44 = standard___standard__NativeString___to_s_with_length(var42, var43); -var41 = var44; -varonce40 = var41; +var39 = "Syntax Error: `"; +var40 = standard___standard__NativeString___to_s_with_length(var39, 15l); +var38 = var40; +varonce37 = var38; } -if (varonce45) { -var46 = varonce45; +((struct instance_standard__NativeArray*)var36)->values[0]=var38; +if (likely(varonce41!=NULL)) { +var42 = varonce41; } else { -var47 = "\" expects at most a single argument."; -var48 = 36; -var49 = standard___standard__NativeString___to_s_with_length(var47, var48); -var46 = var49; -varonce45 = var46; -} -var50 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var50 = array_instance Array[Object] */ -var51 = 3; -var52 = NEW_standard__NativeArray(var51, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var52)->values[0] = (val*) var41; -((struct instance_standard__NativeArray*)var52)->values[1] = (val*) var_annotation_name; -((struct instance_standard__NativeArray*)var52)->values[2] = (val*) var46; -{ -((void (*)(val* self, val* p0, long p1))(var50->class->vft[COLOR_standard__array__Array__with_native]))(var50, var52, var51) /* with_native on */; +var43 = "` expects at most a single argument."; +var44 = standard___standard__NativeString___to_s_with_length(var43, 36l); +var42 = var44; +varonce41 = var42; } +((struct instance_standard__NativeArray*)var36)->values[2]=var42; +} else { +var36 = varonce35; +varonce35 = NULL; } +((struct instance_standard__NativeArray*)var36)->values[1]=var_annotation_name; { -var53 = ((val* (*)(val* self))(var50->class->vft[COLOR_standard__string__Object__to_s]))(var50) /* to_s on */; +var45 = ((val*(*)(val* self))(var36->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var36); /* native_to_s on */ } +varonce35 = var36; { -nit___nit__ModelBuilder___error(var_modelbuilder, var_nat, var53); /* Direct call modelbuilder_base#ModelBuilder#error on */ +nit___nit__ModelBuilder___error(var_modelbuilder, var_nat, var45); /* Direct call modelbuilder_base#ModelBuilder#error on */ } goto RET_LABEL; } else { { -var54 = nit___nit__ANodes___standard__abstract_collection__Collection__is_empty(var_args); +var46 = nit___nit__ANodes___standard__abstract_collection__Collection__is_empty(var_args); } -if (var54){ +if (var46){ { { /* Inline parser_nodes#AModuledecl#n_name (var_nmoduledecl) on */ -var57 = var_nmoduledecl->attrs[COLOR_nit__parser_nodes__AModuledecl___n_name].val; /* _n_name on */ -if (unlikely(var57 == NULL)) { +var49 = var_nmoduledecl->attrs[COLOR_nit__parser_nodes__AModuledecl___n_name].val; /* _n_name on */ +if (unlikely(var49 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 943); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1120); +fatal_exit(1); } -var55 = var57; -RET_LABEL56:(void)0; +var47 = var49; +RET_LABEL48:(void)0; } } { -var58 = nit__parser_work___Prod___collect_text(var55); +var50 = nit__parser_work___Prod___collect_text(var47); } -var_platform_name = var58; +var_platform_name = var50; } else { { -var59 = standard___standard__SequenceRead___Collection__first(var_args); +var51 = standard___standard__SequenceRead___Collection__first(var_args); } { -var60 = nit__literal___AExpr___as_string(var59); +var52 = nit__literal___AExpr___as_string(var51); } -var_platform_name = var60; -var61 = NULL; +var_platform_name = var52; if (var_platform_name == NULL) { -var62 = 1; /* is null */ +var53 = 1; /* is null */ } else { -var62 = 0; /* arg is null but recv is not */ +var53 = 0; /* arg is null but recv is not */ } if (0) { -var63 = ((short int (*)(val* self, val* p0))(var_platform_name->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_platform_name, var61) /* == on */; -var62 = var63; +var54 = ((short int(*)(val* self, val* p0))(var_platform_name->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_platform_name, ((val*)NULL)); /* == on */ +var53 = var54; } -if (var62){ -if (varonce64) { -var65 = varonce64; +if (var53){ +if (unlikely(varonce55==NULL)) { +var56 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce57!=NULL)) { +var58 = varonce57; } else { -var66 = "Syntax error: \""; -var67 = 15; -var68 = standard___standard__NativeString___to_s_with_length(var66, var67); -var65 = var68; -varonce64 = var65; +var59 = "Syntax Error: `"; +var60 = standard___standard__NativeString___to_s_with_length(var59, 15l); +var58 = var60; +varonce57 = var58; } -if (varonce69) { -var70 = varonce69; +((struct instance_standard__NativeArray*)var56)->values[0]=var58; +if (likely(varonce61!=NULL)) { +var62 = varonce61; } else { -var71 = "\" expects its argument to be the name of the target platform as a String literal."; -var72 = 81; -var73 = standard___standard__NativeString___to_s_with_length(var71, var72); -var70 = var73; -varonce69 = var70; -} -var74 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var74 = array_instance Array[Object] */ -var75 = 3; -var76 = NEW_standard__NativeArray(var75, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var76)->values[0] = (val*) var65; -((struct instance_standard__NativeArray*)var76)->values[1] = (val*) var_annotation_name; -((struct instance_standard__NativeArray*)var76)->values[2] = (val*) var70; -{ -((void (*)(val* self, val* p0, long p1))(var74->class->vft[COLOR_standard__array__Array__with_native]))(var74, var76, var75) /* with_native on */; +var63 = "` expects its argument to be the name of the target platform as a String literal."; +var64 = standard___standard__NativeString___to_s_with_length(var63, 81l); +var62 = var64; +varonce61 = var62; } +((struct instance_standard__NativeArray*)var56)->values[2]=var62; +} else { +var56 = varonce55; +varonce55 = NULL; } +((struct instance_standard__NativeArray*)var56)->values[1]=var_annotation_name; { -var77 = ((val* (*)(val* self))(var74->class->vft[COLOR_standard__string__Object__to_s]))(var74) /* to_s on */; +var65 = ((val*(*)(val* self))(var56->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var56); /* native_to_s on */ } -var_format_error = var77; +varonce55 = var56; +var_format_error = var65; { nit___nit__ModelBuilder___error(var_modelbuilder, var_nat, var_format_error); /* Direct call modelbuilder_base#ModelBuilder#error on */ } @@ -411,136 +379,132 @@ goto RET_LABEL; } { { /* Inline parser_nodes#ANode#parent (var_nmoduledecl) on */ -var80 = var_nmoduledecl->attrs[COLOR_nit__parser_nodes__ANode___parent].val; /* _parent on */ -var78 = var80; -RET_LABEL79:(void)0; +var68 = var_nmoduledecl->attrs[COLOR_nit__parser_nodes__ANode___parent].val; /* _parent on */ +var66 = var68; +RET_LABEL67:(void)0; } } -/* isa AModule */ -cltype82 = type_nit__AModule.color; -idtype83 = type_nit__AModule.id; -if(var78 == NULL) { -var81 = 0; +/* isa AModule */ +cltype70 = type_nit__AModule.color; +idtype71 = type_nit__AModule.id; +if(var66 == NULL) { +var69 = 0; } else { -if(cltype82 >= var78->type->table_size) { -var81 = 0; +if(cltype70 >= var66->type->table_size) { +var69 = 0; } else { -var81 = var78->type->type_table[cltype82] == idtype83; +var69 = var66->type->type_table[cltype70] == idtype71; } } -if (unlikely(!var81)) { -var_class_name84 = var78 == NULL ? "null" : var78->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AModule", var_class_name84); +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); PRINT_ERROR(" (%s:%d)\n", FILE_nit__platform, 67); -show_backtrace(1); +fatal_exit(1); } -var_nmodule = var78; +var_nmodule = var66; { { /* Inline loader#AModule#mmodule (var_nmodule) on */ -var87 = var_nmodule->attrs[COLOR_nit__loader__AModule___mmodule].val; /* _mmodule on */ -var85 = var87; -RET_LABEL86:(void)0; +var75 = var_nmodule->attrs[COLOR_nit__loader__AModule___mmodule].val; /* _mmodule on */ +var73 = var75; +RET_LABEL74:(void)0; } } -var_mmodule = var85; +var_mmodule = var73; { { /* Inline phase#Phase#toolcontext (self) on */ -var90 = self->attrs[COLOR_nit__phase__Phase___toolcontext].val; /* _toolcontext on */ -if (unlikely(var90 == NULL)) { +var78 = self->attrs[COLOR_nit__phase__Phase___toolcontext].val; /* _toolcontext on */ +if (unlikely(var78 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 201); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 200); +fatal_exit(1); } -var88 = var90; -RET_LABEL89:(void)0; +var76 = var78; +RET_LABEL77:(void)0; } } { -var91 = nit__platform___ToolContext___platform_from_name(var88, var_platform_name); +var79 = nit__platform___ToolContext___platform_from_name(var76, var_platform_name); } -var_platform = var91; -var92 = NULL; +var_platform = var79; if (var_platform == NULL) { -var93 = 1; /* is null */ +var80 = 1; /* is null */ } else { -var93 = 0; /* arg is null but recv is not */ +var80 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_platform,var92) on */ -var_other96 = var92; +{ /* Inline kernel#Object#== (var_platform,((val*)NULL)) on */ +var_other83 = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_platform,var_other96) on */ -var99 = var_platform == var_other96; -var97 = var99; -goto RET_LABEL98; -RET_LABEL98:(void)0; +{ /* 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; } } -var94 = var97; -goto RET_LABEL95; -RET_LABEL95:(void)0; +var81 = var84; +goto RET_LABEL82; +RET_LABEL82:(void)0; } -var93 = var94; +var80 = var81; } -if (var93){ +if (var80){ { { /* Inline phase#Phase#toolcontext (self) on */ -var102 = self->attrs[COLOR_nit__phase__Phase___toolcontext].val; /* _toolcontext on */ -if (unlikely(var102 == NULL)) { +var89 = self->attrs[COLOR_nit__phase__Phase___toolcontext].val; /* _toolcontext on */ +if (unlikely(var89 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 201); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 200); +fatal_exit(1); } -var100 = var102; -RET_LABEL101:(void)0; +var87 = var89; +RET_LABEL88:(void)0; } } { { /* Inline parser_nodes#ANode#location (var_nat) on */ -var105 = var_nat->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on */ -if (unlikely(var105 == NULL)) { +var92 = var_nat->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on */ +if (unlikely(var92 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 23); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 24); +fatal_exit(1); } -var103 = var105; -RET_LABEL104:(void)0; +var90 = var92; +RET_LABEL91:(void)0; } } -if (varonce106) { -var107 = varonce106; +if (unlikely(varonce93==NULL)) { +var94 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce95!=NULL)) { +var96 = varonce95; } else { -var108 = "Error: target platform \""; -var109 = 24; -var110 = standard___standard__NativeString___to_s_with_length(var108, var109); -var107 = var110; -varonce106 = var107; +var97 = "Error: target platform `"; +var98 = standard___standard__NativeString___to_s_with_length(var97, 24l); +var96 = var98; +varonce95 = var96; } -if (varonce111) { -var112 = varonce111; +((struct instance_standard__NativeArray*)var94)->values[0]=var96; +if (likely(varonce99!=NULL)) { +var100 = varonce99; } else { -var113 = "\" unknown"; -var114 = 9; -var115 = standard___standard__NativeString___to_s_with_length(var113, var114); -var112 = var115; -varonce111 = var112; -} -var116 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var116 = array_instance Array[Object] */ -var117 = 3; -var118 = NEW_standard__NativeArray(var117, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var118)->values[0] = (val*) var107; -((struct instance_standard__NativeArray*)var118)->values[1] = (val*) var_platform_name; -((struct instance_standard__NativeArray*)var118)->values[2] = (val*) var112; -{ -((void (*)(val* self, val* p0, long p1))(var116->class->vft[COLOR_standard__array__Array__with_native]))(var116, var118, var117) /* with_native on */; +var101 = "` unknown."; +var102 = standard___standard__NativeString___to_s_with_length(var101, 10l); +var100 = var102; +varonce99 = var100; } +((struct instance_standard__NativeArray*)var94)->values[2]=var100; +} else { +var94 = varonce93; +varonce93 = NULL; } +((struct instance_standard__NativeArray*)var94)->values[1]=var_platform_name; { -var119 = ((val* (*)(val* self))(var116->class->vft[COLOR_standard__string__Object__to_s]))(var116) /* to_s on */; +var103 = ((val*(*)(val* self))(var94->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var94); /* native_to_s on */ } +varonce93 = var94; { -nit___nit__ToolContext___error(var100, var103, var119); /* Direct call toolcontext#ToolContext#error on */ +var104 = nit___nit__ToolContext___error(var87, var90, var103); } goto RET_LABEL; } else { @@ -548,99 +512,98 @@ goto RET_LABEL; if (var_mmodule == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__platform, 76); -show_backtrace(1); +fatal_exit(1); } else { -var120 = nit__platform___MModule___target_platform(var_mmodule); +var105 = nit__platform___MModule___target_platform(var_mmodule); } -var_previous_target_platform = var120; -var122 = NULL; +var_previous_target_platform = var105; if (var_previous_target_platform == NULL) { -var123 = 0; /* is null */ +var107 = 0; /* is null */ } else { -var123 = 1; /* arg is null and recv is not */ +var107 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_previous_target_platform,var122) on */ -var_other = var122; +{ /* Inline kernel#Object#!= (var_previous_target_platform,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var126 = ((short int (*)(val* self, val* p0))(var_previous_target_platform->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_previous_target_platform, var_other) /* == on */; +var110 = ((short int(*)(val* self, val* p0))(var_previous_target_platform->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_previous_target_platform, var_other); /* == on */ } -var127 = !var126; -var124 = var127; -goto RET_LABEL125; -RET_LABEL125:(void)0; +var111 = !var110; +var108 = var111; +goto RET_LABEL109; +RET_LABEL109:(void)0; } -var123 = var124; +var107 = var108; } -var_ = var123; -if (var123){ +var_ = var107; +if (var107){ { { /* Inline kernel#Object#!= (var_previous_target_platform,var_platform) on */ var_other = var_platform; { -var130 = ((short int (*)(val* self, val* p0))(var_previous_target_platform->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_previous_target_platform, var_other) /* == on */; +var114 = ((short int(*)(val* self, val* p0))(var_previous_target_platform->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_previous_target_platform, var_other); /* == on */ } -var131 = !var130; -var128 = var131; -goto RET_LABEL129; -RET_LABEL129:(void)0; +var115 = !var114; +var112 = var115; +goto RET_LABEL113; +RET_LABEL113:(void)0; } } -var121 = var128; +var106 = var112; } else { -var121 = var_; +var106 = var_; } -if (var121){ -if (varonce132) { -var133 = varonce132; +if (var106){ +if (unlikely(varonce116==NULL)) { +var117 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce118!=NULL)) { +var119 = varonce118; } else { -var134 = "Syntax error: a target platform has already been defined as \""; -var135 = 61; -var136 = standard___standard__NativeString___to_s_with_length(var134, var135); -var133 = var136; -varonce132 = var133; +var120 = "Syntax Error: a target platform has already been defined as `"; +var121 = standard___standard__NativeString___to_s_with_length(var120, 61l); +var119 = var121; +varonce118 = var119; } -if (varonce137) { -var138 = varonce137; +((struct instance_standard__NativeArray*)var117)->values[0]=var119; +if (likely(varonce122!=NULL)) { +var123 = varonce122; } else { -var139 = "\"."; -var140 = 2; -var141 = standard___standard__NativeString___to_s_with_length(var139, var140); -var138 = var141; -varonce137 = var138; +var124 = "`."; +var125 = standard___standard__NativeString___to_s_with_length(var124, 2l); +var123 = var125; +varonce122 = var123; } -var142 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var142 = array_instance Array[Object] */ -var143 = 3; -var144 = NEW_standard__NativeArray(var143, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var144)->values[0] = (val*) var133; -((struct instance_standard__NativeArray*)var144)->values[1] = (val*) var_previous_target_platform; -((struct instance_standard__NativeArray*)var144)->values[2] = (val*) var138; -{ -((void (*)(val* self, val* p0, long p1))(var142->class->vft[COLOR_standard__array__Array__with_native]))(var142, var144, var143) /* with_native on */; +((struct instance_standard__NativeArray*)var117)->values[2]=var123; +} else { +var117 = varonce116; +varonce116 = NULL; } +{ +var126 = ((val*(*)(val* self))(var_previous_target_platform->class->vft[COLOR_standard__string__Object__to_s]))(var_previous_target_platform); /* to_s on */ } +((struct instance_standard__NativeArray*)var117)->values[1]=var126; { -var145 = ((val* (*)(val* self))(var142->class->vft[COLOR_standard__string__Object__to_s]))(var142) /* to_s on */; +var127 = ((val*(*)(val* self))(var117->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var117); /* native_to_s on */ } +varonce116 = var117; { -nit___nit__ModelBuilder___error(var_modelbuilder, var_nat, var145); /* Direct call modelbuilder_base#ModelBuilder#error on */ +nit___nit__ModelBuilder___error(var_modelbuilder, var_nat, var127); /* Direct call modelbuilder_base#ModelBuilder#error on */ } } else { } if (var_mmodule == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__platform, 81); -show_backtrace(1); +fatal_exit(1); } else { { /* Inline platform#MModule#local_target_platform= (var_mmodule,var_platform) on */ if (unlikely(var_mmodule == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__platform, 86); -show_backtrace(1); +fatal_exit(1); } var_mmodule->attrs[COLOR_nit__platform__MModule___local_target_platform].val = var_platform; /* _local_target_platform on */ -RET_LABEL146:(void)0; +RET_LABEL128:(void)0; } } RET_LABEL:; @@ -665,29 +628,26 @@ val* var /* : nullable Platform */; val* var1 /* : nullable Platform */; val* var3 /* : nullable Platform */; val* var_ltp /* var ltp: nullable Platform */; -val* var4 /* : null */; +short int var4 /* : Bool */; short int var5 /* : Bool */; -short int var6 /* : Bool */; val* var_other /* var other: nullable Object */; +short int var7 /* : Bool */; short int var8 /* : Bool */; -short int var9 /* : Bool */; -val* var10 /* : POSetElement[MModule] */; -val* var12 /* : POSetElement[MModule] */; -val* var13 /* : Collection[nullable Object] */; +val* var9 /* : POSetElement[MModule] */; +val* var11 /* : POSetElement[MModule] */; +val* var12 /* : Collection[nullable Object] */; val* var_ /* var : Collection[MModule] */; -val* var14 /* : Iterator[nullable Object] */; -val* var_15 /* var : Iterator[MModule] */; -short int var16 /* : Bool */; -val* var17 /* : nullable Object */; +val* var13 /* : Iterator[nullable Object] */; +val* var_14 /* var : Iterator[MModule] */; +short int var15 /* : Bool */; +val* var16 /* : nullable Object */; val* var_mmodule /* var mmodule: MModule */; -val* var18 /* : nullable Platform */; -val* var20 /* : nullable Platform */; -val* var21 /* : null */; -short int var22 /* : Bool */; +val* var17 /* : nullable Platform */; +val* var19 /* : nullable Platform */; +short int var20 /* : Bool */; +short int var21 /* : Bool */; short int var23 /* : Bool */; -short int var25 /* : Bool */; -short int var26 /* : Bool */; -val* var28 /* : null */; +short int var24 /* : Bool */; { { /* Inline platform#MModule#local_target_platform (self) on */ var3 = self->attrs[COLOR_nit__platform__MModule___local_target_platform].val; /* _local_target_platform on */ @@ -696,93 +656,91 @@ RET_LABEL2:(void)0; } } var_ltp = var1; -var4 = NULL; if (var_ltp == NULL) { -var5 = 0; /* is null */ +var4 = 0; /* is null */ } else { -var5 = 1; /* arg is null and recv is not */ +var4 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_ltp,var4) on */ -var_other = var4; +{ /* Inline kernel#Object#!= (var_ltp,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var8 = ((short int (*)(val* self, val* p0))(var_ltp->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_ltp, var_other) /* == on */; +var7 = ((short int(*)(val* self, val* p0))(var_ltp->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_ltp, var_other); /* == on */ } -var9 = !var8; -var6 = var9; -goto RET_LABEL7; -RET_LABEL7:(void)0; +var8 = !var7; +var5 = var8; +goto RET_LABEL6; +RET_LABEL6:(void)0; } -var5 = var6; +var4 = var5; } -if (var5){ +if (var4){ var = var_ltp; goto RET_LABEL; } else { } { { /* Inline mmodule#MModule#in_importation (self) on */ -var12 = self->attrs[COLOR_nit__mmodule__MModule___in_importation].val; /* _in_importation on */ -if (unlikely(var12 == NULL)) { +var11 = self->attrs[COLOR_nit__mmodule__MModule___in_importation].val; /* _in_importation on */ +if (unlikely(var11 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 96); -show_backtrace(1); +fatal_exit(1); } -var10 = var12; -RET_LABEL11:(void)0; +var9 = var11; +RET_LABEL10:(void)0; } } { -var13 = poset___poset__POSetElement___greaters(var10); +var12 = poset___poset__POSetElement___greaters(var9); } -var_ = var13; +var_ = var12; { -var14 = ((val* (*)(val* self))(var_->class->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_) /* iterator on */; +var13 = ((val*(*)(val* self))((((long)var_&3)?class_info[((long)var_&3)]:var_->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_); /* iterator on */ } -var_15 = var14; +var_14 = var13; for(;;) { { -var16 = ((short int (*)(val* self))(var_15->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_15) /* is_ok on */; +var15 = ((short int(*)(val* self))((((long)var_14&3)?class_info[((long)var_14&3)]:var_14->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_14); /* is_ok on */ } -if (var16){ +if (var15){ { -var17 = ((val* (*)(val* self))(var_15->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_15) /* item on */; +var16 = ((val*(*)(val* self))((((long)var_14&3)?class_info[((long)var_14&3)]:var_14->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_14); /* item on */ } -var_mmodule = var17; +var_mmodule = var16; { { /* Inline platform#MModule#local_target_platform (var_mmodule) on */ -var20 = var_mmodule->attrs[COLOR_nit__platform__MModule___local_target_platform].val; /* _local_target_platform on */ -var18 = var20; -RET_LABEL19:(void)0; +var19 = var_mmodule->attrs[COLOR_nit__platform__MModule___local_target_platform].val; /* _local_target_platform on */ +var17 = var19; +RET_LABEL18:(void)0; } } -var_ltp = var18; -var21 = NULL; +var_ltp = var17; if (var_ltp == NULL) { -var22 = 0; /* is null */ +var20 = 0; /* is null */ } else { -var22 = 1; /* arg is null and recv is not */ +var20 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_ltp,var21) on */ -var_other = var21; +{ /* Inline kernel#Object#!= (var_ltp,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var25 = ((short int (*)(val* self, val* p0))(var_ltp->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_ltp, var_other) /* == on */; +var23 = ((short int(*)(val* self, val* p0))(var_ltp->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_ltp, var_other); /* == on */ } -var26 = !var25; -var23 = var26; -goto RET_LABEL24; -RET_LABEL24:(void)0; +var24 = !var23; +var21 = var24; +goto RET_LABEL22; +RET_LABEL22:(void)0; } -var22 = var23; +var20 = var21; } -if (var22){ +if (var20){ var = var_ltp; goto RET_LABEL; } else { } { -((void (*)(val* self))(var_15->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_15) /* next on */; +((void(*)(val* self))((((long)var_14&3)?class_info[((long)var_14&3)]:var_14->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_14); /* next on */ } } else { goto BREAK_label; @@ -790,12 +748,9 @@ goto BREAK_label; } BREAK_label: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_15) on */ -RET_LABEL27:(void)0; +((void(*)(val* self))((((long)var_14&3)?class_info[((long)var_14&3)]:var_14->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_14); /* finish on */ } -} -var28 = NULL; -var = var28; +var = ((val*)NULL); goto RET_LABEL; RET_LABEL:; return var; @@ -803,9 +758,7 @@ return var; /* method platform#Platform#supports_libunwind for (self: Platform): Bool */ short int nit___nit__Platform___supports_libunwind(val* self) { short int var /* : Bool */; -short int var1 /* : Bool */; -var1 = 1; -var = var1; +var = 1; goto RET_LABEL; RET_LABEL:; return var; @@ -813,9 +766,7 @@ return var; /* method platform#Platform#supports_libgc for (self: Platform): Bool */ short int nit___nit__Platform___supports_libgc(val* self) { short int var /* : Bool */; -short int var1 /* : Bool */; -var1 = 1; -var = var1; +var = 1; goto RET_LABEL; RET_LABEL:; return var; @@ -823,9 +774,7 @@ return var; /* method platform#Platform#no_main for (self: Platform): Bool */ short int nit___nit__Platform___no_main(val* self) { short int var /* : Bool */; -short int var1 /* : Bool */; -var1 = 0; -var = var1; +var = 0; goto RET_LABEL; RET_LABEL:; return var; @@ -833,9 +782,7 @@ return var; /* method platform#Platform#supports_linker_script for (self: Platform): Bool */ short int nit___nit__Platform___supports_linker_script(val* self) { short int var /* : Bool */; -short int var1 /* : Bool */; -var1 = 1; -var = var1; +var = 1; goto RET_LABEL; RET_LABEL:; return var;