X-Git-Url: http://nitlanguage.org diff --git a/c_src/parser_util.sep.1.c b/c_src/parser_util.sep.1.c index 1a20ba8..57c41d9 100644 --- a/c_src/parser_util.sep.1.c +++ b/c_src/parser_util.sep.1.c @@ -45,15 +45,12 @@ var2 = var5; varonce = var2; } ((void (*)(val*, val*, val*))(var1->class->vft[COLOR_location__SourceFile__from_string]))(var1, var2, var_string) /* from_string on */; -CHECK_NEW_location__SourceFile(var1); var_source = var1; var6 = NEW_lexer__Lexer(&type_lexer__Lexer); ((void (*)(val*, val*))(var6->class->vft[COLOR_lexer__Lexer__init]))(var6, var_source) /* init on */; -CHECK_NEW_lexer__Lexer(var6); var_lexer = var6; var7 = NEW_parser__Parser(&type_parser__Parser); ((void (*)(val*, val*))(var7->class->vft[COLOR_parser__Parser__init]))(var7, var_lexer) /* init on */; -CHECK_NEW_parser__Parser(var7); var_parser = var7; var8 = ((val* (*)(val*))(var_parser->class->vft[COLOR_parser__Parser__parse]))(var_parser) /* parse on */; var_tree = var8; @@ -86,18 +83,19 @@ var20 = NEW_array__NativeArray(var19, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var20)->values[0] = (val*) var13; ((struct instance_array__NativeArray*)var20)->values[1] = (val*) var17; ((void (*)(val*, val*, long))(var18->class->vft[COLOR_array__Array__with_native]))(var18, var20, var19) /* with_native on */; -CHECK_NEW_array__Array(var18); } var21 = ((val* (*)(val*))(var18->class->vft[COLOR_string__Object__to_s]))(var18) /* to_s on */; ((void (*)(val*, val*, val*))(self->class->vft[COLOR_toolcontext__ToolContext__fatal_error]))(self, var11, var21) /* fatal_error on */; -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser_util.nit", 34); -exit(1); +fprintf(stderr, "Runtime error: %s", "Aborted"); +fprintf(stderr, " (%s:%d)\n", "src/parser_util.nit", 34); +show_backtrace(1); } else { } var22 = ((val* (*)(val*))(var_tree->class->vft[COLOR_parser_nodes__Start__n_base]))(var_tree) /* n_base on */; if (var22 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser_util.nit", 36); -exit(1); +fprintf(stderr, "Runtime error: %s", "Cast failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser_util.nit", 36); +show_backtrace(1); } var = var22; goto RET_LABEL; @@ -159,8 +157,9 @@ var10 = var13; varonce = var10; } ((void (*)(val*, val*, val*))(self->class->vft[COLOR_toolcontext__ToolContext__fatal_error]))(self, var9, var10) /* fatal_error on */; -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser_util.nit", 47); -exit(1); +fprintf(stderr, "Runtime error: %s", "Aborted"); +fprintf(stderr, " (%s:%d)\n", "src/parser_util.nit", 47); +show_backtrace(1); } else { } var14 = ((val* (*)(val*))(var_nclassdefs->class->vft[COLOR_abstract_collection__Collection__first]))(var_nclassdefs) /* first on */; @@ -217,7 +216,6 @@ var_string = p0; var1 = NEW_array__Array(&type_array__Arraykernel__Object); var2 = 3; ((void (*)(val*, long))(var1->class->vft[COLOR_array__Array__with_capacity]))(var1, var2) /* with_capacity on */; -CHECK_NEW_array__Array(var1); var_ = var1; if (varonce) { var3 = varonce; @@ -267,8 +265,9 @@ var23 = var26; varonce22 = var23; } ((void (*)(val*, val*, val*))(self->class->vft[COLOR_toolcontext__ToolContext__fatal_error]))(self, var21, var23) /* fatal_error on */; -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser_util.nit", 61); -exit(1); +fprintf(stderr, "Runtime error: %s", "Aborted"); +fprintf(stderr, " (%s:%d)\n", "src/parser_util.nit", 61); +show_backtrace(1); } else { } var27 = ((val* (*)(val*))(var_npropdefs->class->vft[COLOR_abstract_collection__Collection__first]))(var_npropdefs) /* first on */; @@ -314,22 +313,24 @@ val* var17 /* : nullable Object */; short int var18 /* : Bool */; int cltype; int idtype; +const char* var_class_name; val* var19 /* : nullable AExpr */; short int var20 /* : Bool */; int cltype21; int idtype22; -val* var23 /* : ANodes[AExpr] */; -val* var24 /* : nullable Object */; -short int var25 /* : Bool */; -int cltype26; -int idtype27; -val* var28 /* : nullable AExpr */; +const char* var_class_name23; +val* var24 /* : ANodes[AExpr] */; +val* var25 /* : nullable Object */; +short int var26 /* : Bool */; +int cltype27; +int idtype28; +const char* var_class_name29; +val* var30 /* : nullable AExpr */; val* var_nblock /* var nblock: AExpr */; var_string = p0; var1 = NEW_array__Array(&type_array__Arraykernel__Object); var2 = 3; ((void (*)(val*, long))(var1->class->vft[COLOR_array__Array__with_capacity]))(var1, var2) /* with_capacity on */; -CHECK_NEW_array__Array(var1); var_ = var1; if (varonce) { var3 = varonce; @@ -369,8 +370,10 @@ var18 = 0; var18 = var17->type->type_table[cltype] == idtype; } if (!var18) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser_util.nit", 72); -exit(1); +var_class_name = var17 == NULL ? "null" : var17->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "AMainMethPropdef", var_class_name); +fprintf(stderr, " (%s:%d)\n", "src/parser_util.nit", 72); +show_backtrace(1); } var19 = ((val* (*)(val*))(var17->class->vft[COLOR_parser_nodes__AConcreteMethPropdef__n_block]))(var17) /* n_block on */; /* isa ABlockExpr */ @@ -386,29 +389,34 @@ var20 = var19->type->type_table[cltype21] == idtype22; } } if (!var20) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser_util.nit", 72); -exit(1); -} -var23 = ((val* (*)(val*))(var19->class->vft[COLOR_parser_nodes__ABlockExpr__n_expr]))(var19) /* n_expr on */; -var24 = ((val* (*)(val*))(var23->class->vft[COLOR_abstract_collection__Collection__first]))(var23) /* first on */; -/* isa ADoExpr */ -cltype26 = type_parser_nodes__ADoExpr.color; -idtype27 = type_parser_nodes__ADoExpr.id; -if(cltype26 >= var24->type->table_size) { -var25 = 0; -} else { -var25 = var24->type->type_table[cltype26] == idtype27; -} -if (!var25) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser_util.nit", 72); -exit(1); -} -var28 = ((val* (*)(val*))(var24->class->vft[COLOR_parser_nodes__ADoExpr__n_block]))(var24) /* n_block on */; -if (var28 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser_util.nit", 72); -exit(1); -} -var_nblock = var28; +var_class_name23 = var19 == NULL ? "null" : var19->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "ABlockExpr", var_class_name23); +fprintf(stderr, " (%s:%d)\n", "src/parser_util.nit", 72); +show_backtrace(1); +} +var24 = ((val* (*)(val*))(var19->class->vft[COLOR_parser_nodes__ABlockExpr__n_expr]))(var19) /* n_expr on */; +var25 = ((val* (*)(val*))(var24->class->vft[COLOR_abstract_collection__Collection__first]))(var24) /* first on */; +/* isa ADoExpr */ +cltype27 = type_parser_nodes__ADoExpr.color; +idtype28 = type_parser_nodes__ADoExpr.id; +if(cltype27 >= var25->type->table_size) { +var26 = 0; +} else { +var26 = var25->type->type_table[cltype27] == idtype28; +} +if (!var26) { +var_class_name29 = var25 == NULL ? "null" : var25->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "ADoExpr", var_class_name29); +fprintf(stderr, " (%s:%d)\n", "src/parser_util.nit", 72); +show_backtrace(1); +} +var30 = ((val* (*)(val*))(var25->class->vft[COLOR_parser_nodes__ADoExpr__n_block]))(var25) /* n_block on */; +if (var30 == NULL) { +fprintf(stderr, "Runtime error: %s", "Cast failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser_util.nit", 72); +show_backtrace(1); +} +var_nblock = var30; var = var_nblock; goto RET_LABEL; RET_LABEL:; @@ -451,22 +459,24 @@ val* var17 /* : nullable Object */; short int var18 /* : Bool */; int cltype; int idtype; +const char* var_class_name; val* var19 /* : nullable AExpr */; short int var20 /* : Bool */; int cltype21; int idtype22; -val* var23 /* : ANodes[AExpr] */; -val* var24 /* : nullable Object */; -short int var25 /* : Bool */; -int cltype26; -int idtype27; -val* var28 /* : nullable AExpr */; +const char* var_class_name23; +val* var24 /* : ANodes[AExpr] */; +val* var25 /* : nullable Object */; +short int var26 /* : Bool */; +int cltype27; +int idtype28; +const char* var_class_name29; +val* var30 /* : nullable AExpr */; val* var_nexpr /* var nexpr: AExpr */; var_string = p0; var1 = NEW_array__Array(&type_array__Arraykernel__Object); var2 = 3; ((void (*)(val*, long))(var1->class->vft[COLOR_array__Array__with_capacity]))(var1, var2) /* with_capacity on */; -CHECK_NEW_array__Array(var1); var_ = var1; if (varonce) { var3 = varonce; @@ -506,8 +516,10 @@ var18 = 0; var18 = var17->type->type_table[cltype] == idtype; } if (!var18) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser_util.nit", 82); -exit(1); +var_class_name = var17 == NULL ? "null" : var17->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "AMainMethPropdef", var_class_name); +fprintf(stderr, " (%s:%d)\n", "src/parser_util.nit", 82); +show_backtrace(1); } var19 = ((val* (*)(val*))(var17->class->vft[COLOR_parser_nodes__AConcreteMethPropdef__n_block]))(var17) /* n_block on */; /* isa ABlockExpr */ @@ -523,29 +535,34 @@ var20 = var19->type->type_table[cltype21] == idtype22; } } if (!var20) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser_util.nit", 82); -exit(1); -} -var23 = ((val* (*)(val*))(var19->class->vft[COLOR_parser_nodes__ABlockExpr__n_expr]))(var19) /* n_expr on */; -var24 = ((val* (*)(val*))(var23->class->vft[COLOR_abstract_collection__Collection__first]))(var23) /* first on */; -/* isa AVardeclExpr */ -cltype26 = type_parser_nodes__AVardeclExpr.color; -idtype27 = type_parser_nodes__AVardeclExpr.id; -if(cltype26 >= var24->type->table_size) { -var25 = 0; -} else { -var25 = var24->type->type_table[cltype26] == idtype27; -} -if (!var25) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser_util.nit", 82); -exit(1); -} -var28 = ((val* (*)(val*))(var24->class->vft[COLOR_parser_nodes__AVardeclExpr__n_expr]))(var24) /* n_expr on */; -if (var28 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser_util.nit", 82); -exit(1); -} -var_nexpr = var28; +var_class_name23 = var19 == NULL ? "null" : var19->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "ABlockExpr", var_class_name23); +fprintf(stderr, " (%s:%d)\n", "src/parser_util.nit", 82); +show_backtrace(1); +} +var24 = ((val* (*)(val*))(var19->class->vft[COLOR_parser_nodes__ABlockExpr__n_expr]))(var19) /* n_expr on */; +var25 = ((val* (*)(val*))(var24->class->vft[COLOR_abstract_collection__Collection__first]))(var24) /* first on */; +/* isa AVardeclExpr */ +cltype27 = type_parser_nodes__AVardeclExpr.color; +idtype28 = type_parser_nodes__AVardeclExpr.id; +if(cltype27 >= var25->type->table_size) { +var26 = 0; +} else { +var26 = var25->type->type_table[cltype27] == idtype28; +} +if (!var26) { +var_class_name29 = var25 == NULL ? "null" : var25->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "AVardeclExpr", var_class_name29); +fprintf(stderr, " (%s:%d)\n", "src/parser_util.nit", 82); +show_backtrace(1); +} +var30 = ((val* (*)(val*))(var25->class->vft[COLOR_parser_nodes__AVardeclExpr__n_expr]))(var25) /* n_expr on */; +if (var30 == NULL) { +fprintf(stderr, "Runtime error: %s", "Cast failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser_util.nit", 82); +show_backtrace(1); +} +var_nexpr = var30; var = var_nexpr; goto RET_LABEL; RET_LABEL:; @@ -602,128 +619,138 @@ val* var28 /* : nullable Object */; short int var29 /* : Bool */; int cltype30; int idtype31; +const char* var_class_name; val* var32 /* : nullable AExpr */; short int var33 /* : Bool */; int cltype34; int idtype35; -val* var36 /* : ANodes[AExpr] */; -val* var37 /* : nullable Object */; -short int var38 /* : Bool */; -int cltype39; -int idtype40; -val* var41 /* : nullable AType */; -val* var42 /* : ANodes[AType] */; -val* var43 /* : nullable Object */; +const char* var_class_name36; +val* var37 /* : ANodes[AExpr] */; +val* var38 /* : nullable Object */; +short int var39 /* : Bool */; +int cltype40; +int idtype41; +const char* var_class_name42; +val* var43 /* : nullable AType */; +val* var44 /* : ANodes[AType] */; +val* var45 /* : nullable Object */; val* var_ntype /* var ntype: AType */; val* var_error /* var error: nullable Object */; -val* var44 /* : Lexer */; -val* var45 /* : Token */; +val* var46 /* : Lexer */; +val* var47 /* : Token */; val* var_first /* var first: Token */; -short int var46 /* : Bool */; -int cltype47; -int idtype48; -short int var49 /* : Bool */; -val* var50 /* : Token */; -val* var_second /* var second: Token */; +short int var48 /* : Bool */; +int cltype49; +int idtype50; short int var51 /* : Bool */; -short int var52 /* : Bool */; -int cltype53; -int idtype54; +val* var52 /* : Token */; +val* var_second /* var second: Token */; +short int var53 /* : Bool */; +short int var54 /* : Bool */; +int cltype55; +int idtype56; short int var_ /* var : Bool */; -short int var55 /* : Bool */; -int cltype56; -int idtype57; -short int var58 /* : Bool */; -val* var59 /* : InjectedLexer */; -val* var60 /* : List[Token] */; -val* var61 /* : TKwvar */; +short int var57 /* : Bool */; +int cltype58; +int idtype59; +short int var60 /* : Bool */; +val* var61 /* : InjectedLexer */; val* var62 /* : List[Token] */; -val* var63 /* : TId */; +val* var63 /* : TKwvar */; val* var64 /* : List[Token] */; -val* var65 /* : TAssign */; +val* var65 /* : TId */; val* var66 /* : List[Token] */; -val* var67 /* : TOpar */; +val* var67 /* : TAssign */; val* var68 /* : List[Token] */; -val* var69 /* : TCpar */; -val* var70 /* : Parser */; -val* var71 /* : Start */; -val* var72 /* : EOF */; -short int var73 /* : Bool */; -int cltype74; -int idtype75; -short int var76 /* : Bool */; -val* var77 /* : nullable AModule */; -val* var78 /* : ANodes[AClassdef] */; -val* var79 /* : nullable Object */; -val* var80 /* : ANodes[APropdef] */; +val* var69 /* : TOpar */; +val* var70 /* : List[Token] */; +val* var71 /* : TCpar */; +val* var72 /* : Parser */; +val* var73 /* : Start */; +val* var74 /* : EOF */; +short int var75 /* : Bool */; +int cltype76; +int idtype77; +short int var78 /* : Bool */; +val* var79 /* : nullable AModule */; +val* var80 /* : ANodes[AClassdef] */; val* var81 /* : nullable Object */; -short int var82 /* : Bool */; -int cltype83; -int idtype84; -val* var85 /* : nullable AExpr */; -short int var86 /* : Bool */; -int cltype87; -int idtype88; -val* var89 /* : ANodes[AExpr] */; -val* var90 /* : nullable Object */; -short int var91 /* : Bool */; -int cltype92; -int idtype93; -val* var94 /* : nullable AExpr */; +val* var82 /* : ANodes[APropdef] */; +val* var83 /* : nullable Object */; +short int var84 /* : Bool */; +int cltype85; +int idtype86; +const char* var_class_name87; +val* var88 /* : nullable AExpr */; +short int var89 /* : Bool */; +int cltype90; +int idtype91; +const char* var_class_name92; +val* var93 /* : ANodes[AExpr] */; +val* var94 /* : nullable Object */; short int var95 /* : Bool */; int cltype96; int idtype97; -val* var98 /* : AExpr */; +const char* var_class_name98; +val* var99 /* : nullable AExpr */; +short int var100 /* : Bool */; +int cltype101; +int idtype102; +const char* var_class_name103; +val* var104 /* : AExpr */; val* var_nexpr /* var nexpr: AExpr */; -val* var99 /* : Location */; -val* var100 /* : Location */; -short int var101 /* : Bool */; -val* var102 /* : InjectedLexer */; -val* var103 /* : List[Token] */; -val* var104 /* : TKwdo */; -val* var105 /* : List[Token] */; -val* var106 /* : TKwend */; -val* var107 /* : Parser */; -val* var108 /* : Start */; -val* var109 /* : EOF */; -short int var110 /* : Bool */; -int cltype111; -int idtype112; -short int var113 /* : Bool */; -val* var114 /* : nullable AModule */; -val* var115 /* : ANodes[AClassdef] */; -val* var116 /* : nullable Object */; -val* var117 /* : ANodes[APropdef] */; -val* var118 /* : nullable Object */; +val* var105 /* : Location */; +val* var106 /* : Location */; +short int var107 /* : Bool */; +val* var108 /* : InjectedLexer */; +val* var109 /* : List[Token] */; +val* var110 /* : TKwdo */; +val* var111 /* : List[Token] */; +val* var112 /* : TKwend */; +val* var113 /* : Parser */; +val* var114 /* : Start */; +val* var115 /* : EOF */; +short int var116 /* : Bool */; +int cltype117; +int idtype118; short int var119 /* : Bool */; -int cltype120; -int idtype121; -val* var122 /* : nullable AExpr */; -short int var123 /* : Bool */; -int cltype124; -int idtype125; -val* var126 /* : ANodes[AExpr] */; -val* var127 /* : nullable Object */; -short int var128 /* : Bool */; -int cltype129; -int idtype130; -val* var131 /* : nullable AExpr */; +val* var120 /* : nullable AModule */; +val* var121 /* : ANodes[AClassdef] */; +val* var122 /* : nullable Object */; +val* var123 /* : ANodes[APropdef] */; +val* var124 /* : nullable Object */; +short int var125 /* : Bool */; +int cltype126; +int idtype127; +const char* var_class_name128; +val* var129 /* : nullable AExpr */; +short int var130 /* : Bool */; +int cltype131; +int idtype132; +const char* var_class_name133; +val* var134 /* : ANodes[AExpr] */; +val* var135 /* : nullable Object */; +short int var136 /* : Bool */; +int cltype137; +int idtype138; +const char* var_class_name139; +val* var140 /* : nullable AExpr */; val* var_nblock /* var nblock: AExpr */; -val* var132 /* : Location */; -val* var133 /* : Location */; -short int var134 /* : Bool */; -val* var135 /* : Lexer */; -val* var136 /* : Parser */; -val* var137 /* : Start */; -val* var138 /* : EOF */; -short int var139 /* : Bool */; -int cltype140; -int idtype141; -short int var142 /* : Bool */; -val* var143 /* : nullable AModule */; -val* var144 /* : Location */; -val* var145 /* : Location */; -short int var146 /* : Bool */; +val* var141 /* : Location */; +val* var142 /* : Location */; +short int var143 /* : Bool */; +val* var144 /* : Lexer */; +val* var145 /* : Parser */; +val* var146 /* : Start */; +val* var147 /* : EOF */; +short int var148 /* : Bool */; +int cltype149; +int idtype150; +short int var151 /* : Bool */; +val* var152 /* : nullable AModule */; +val* var153 /* : Location */; +val* var154 /* : Location */; +short int var155 /* : Bool */; var_string = p0; var1 = NEW_location__SourceFile(&type_location__SourceFile); if (varonce) { @@ -736,45 +763,36 @@ var2 = var5; varonce = var2; } ((void (*)(val*, val*, val*))(var1->class->vft[COLOR_location__SourceFile__from_string]))(var1, var2, var_string) /* from_string on */; -CHECK_NEW_location__SourceFile(var1); var_source = var1; var6 = NEW_parser_util__InjectedLexer(&type_parser_util__InjectedLexer); ((void (*)(val*, val*))(var6->class->vft[COLOR_lexer__Lexer__init]))(var6, var_source) /* init on */; -CHECK_NEW_parser_util__InjectedLexer(var6); var_lexer = var6; var7 = ((val* (*)(val*))(var_lexer->class->vft[COLOR_parser_util__InjectedLexer__injected_before]))(var_lexer) /* injected_before on */; var8 = NEW_parser_nodes__TKwvar(&type_parser_nodes__TKwvar); ((void (*)(val*))(var8->class->vft[COLOR_parser_nodes__TKwvar__init]))(var8) /* init on */; -CHECK_NEW_parser_nodes__TKwvar(var8); ((void (*)(val*, val*))(var7->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var7, var8) /* add on */; var9 = ((val* (*)(val*))(var_lexer->class->vft[COLOR_parser_util__InjectedLexer__injected_before]))(var_lexer) /* injected_before on */; var10 = NEW_parser_nodes__TId(&type_parser_nodes__TId); ((void (*)(val*))(var10->class->vft[COLOR_parser_nodes__TId__init]))(var10) /* init on */; -CHECK_NEW_parser_nodes__TId(var10); ((void (*)(val*, val*))(var9->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var9, var10) /* add on */; var11 = ((val* (*)(val*))(var_lexer->class->vft[COLOR_parser_util__InjectedLexer__injected_before]))(var_lexer) /* injected_before on */; var12 = NEW_parser_nodes__TColumn(&type_parser_nodes__TColumn); ((void (*)(val*))(var12->class->vft[COLOR_parser_nodes__TColumn__init]))(var12) /* init on */; -CHECK_NEW_parser_nodes__TColumn(var12); ((void (*)(val*, val*))(var11->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var11, var12) /* add on */; var13 = ((val* (*)(val*))(var_lexer->class->vft[COLOR_parser_util__InjectedLexer__injected_before]))(var_lexer) /* injected_before on */; var14 = NEW_parser_nodes__TClassid(&type_parser_nodes__TClassid); ((void (*)(val*))(var14->class->vft[COLOR_parser_nodes__TClassid__init]))(var14) /* init on */; -CHECK_NEW_parser_nodes__TClassid(var14); ((void (*)(val*, val*))(var13->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var13, var14) /* add on */; var15 = ((val* (*)(val*))(var_lexer->class->vft[COLOR_parser_util__InjectedLexer__injected_before]))(var_lexer) /* injected_before on */; var16 = NEW_parser_nodes__TObra(&type_parser_nodes__TObra); ((void (*)(val*))(var16->class->vft[COLOR_parser_nodes__TObra__init]))(var16) /* init on */; -CHECK_NEW_parser_nodes__TObra(var16); ((void (*)(val*, val*))(var15->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var15, var16) /* add on */; var17 = ((val* (*)(val*))(var_lexer->class->vft[COLOR_parser_util__InjectedLexer__injected_after]))(var_lexer) /* injected_after on */; var18 = NEW_parser_nodes__TCbra(&type_parser_nodes__TCbra); ((void (*)(val*))(var18->class->vft[COLOR_parser_nodes__TCbra__init]))(var18) /* init on */; -CHECK_NEW_parser_nodes__TCbra(var18); ((void (*)(val*, val*))(var17->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var17, var18) /* add on */; var19 = NEW_parser__Parser(&type_parser__Parser); ((void (*)(val*, val*))(var19->class->vft[COLOR_parser__Parser__init]))(var19, var_lexer) /* init on */; -CHECK_NEW_parser__Parser(var19); var20 = ((val* (*)(val*))(var19->class->vft[COLOR_parser__Parser__parse]))(var19) /* parse on */; var_tree = var20; var21 = ((val* (*)(val*))(var_tree->class->vft[COLOR_parser_nodes__Start__n_eof]))(var_tree) /* n_eof on */; @@ -791,8 +809,9 @@ var23 = !var22; if (var23){ var24 = ((val* (*)(val*))(var_tree->class->vft[COLOR_parser_nodes__Start__n_base]))(var_tree) /* n_base on */; if (var24 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser_util.nit", 114); -exit(1); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/parser_util.nit", 114); +show_backtrace(1); } else { var25 = ((val* (*)(val*))(var24->class->vft[COLOR_parser_nodes__AModule__n_classdefs]))(var24) /* n_classdefs on */; } @@ -808,8 +827,10 @@ var29 = 0; var29 = var28->type->type_table[cltype30] == idtype31; } if (!var29) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser_util.nit", 114); -exit(1); +var_class_name = var28 == NULL ? "null" : var28->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "AMainMethPropdef", var_class_name); +fprintf(stderr, " (%s:%d)\n", "src/parser_util.nit", 114); +show_backtrace(1); } var32 = ((val* (*)(val*))(var28->class->vft[COLOR_parser_nodes__AConcreteMethPropdef__n_block]))(var28) /* n_block on */; /* isa ABlockExpr */ @@ -825,349 +846,358 @@ var33 = var32->type->type_table[cltype34] == idtype35; } } if (!var33) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser_util.nit", 114); -exit(1); -} -var36 = ((val* (*)(val*))(var32->class->vft[COLOR_parser_nodes__ABlockExpr__n_expr]))(var32) /* n_expr on */; -var37 = ((val* (*)(val*))(var36->class->vft[COLOR_abstract_collection__Collection__first]))(var36) /* first on */; -/* isa AVardeclExpr */ -cltype39 = type_parser_nodes__AVardeclExpr.color; -idtype40 = type_parser_nodes__AVardeclExpr.id; -if(cltype39 >= var37->type->table_size) { -var38 = 0; -} else { -var38 = var37->type->type_table[cltype39] == idtype40; -} -if (!var38) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser_util.nit", 114); -exit(1); -} -var41 = ((val* (*)(val*))(var37->class->vft[COLOR_parser_nodes__AVardeclExpr__n_type]))(var37) /* n_type on */; -if (var41 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser_util.nit", 114); -exit(1); -} else { -var42 = ((val* (*)(val*))(var41->class->vft[COLOR_parser_nodes__AType__n_types]))(var41) /* n_types on */; -} -var43 = ((val* (*)(val*))(var42->class->vft[COLOR_abstract_collection__Collection__first]))(var42) /* first on */; -var_ntype = var43; +var_class_name36 = var32 == NULL ? "null" : var32->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "ABlockExpr", var_class_name36); +fprintf(stderr, " (%s:%d)\n", "src/parser_util.nit", 114); +show_backtrace(1); +} +var37 = ((val* (*)(val*))(var32->class->vft[COLOR_parser_nodes__ABlockExpr__n_expr]))(var32) /* n_expr on */; +var38 = ((val* (*)(val*))(var37->class->vft[COLOR_abstract_collection__Collection__first]))(var37) /* first on */; +/* isa AVardeclExpr */ +cltype40 = type_parser_nodes__AVardeclExpr.color; +idtype41 = type_parser_nodes__AVardeclExpr.id; +if(cltype40 >= var38->type->table_size) { +var39 = 0; +} else { +var39 = var38->type->type_table[cltype40] == idtype41; +} +if (!var39) { +var_class_name42 = var38 == NULL ? "null" : var38->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "AVardeclExpr", var_class_name42); +fprintf(stderr, " (%s:%d)\n", "src/parser_util.nit", 114); +show_backtrace(1); +} +var43 = ((val* (*)(val*))(var38->class->vft[COLOR_parser_nodes__AVardeclExpr__n_type]))(var38) /* n_type on */; +if (var43 == NULL) { +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/parser_util.nit", 114); +show_backtrace(1); +} else { +var44 = ((val* (*)(val*))(var43->class->vft[COLOR_parser_nodes__AType__n_types]))(var43) /* n_types on */; +} +var45 = ((val* (*)(val*))(var44->class->vft[COLOR_abstract_collection__Collection__first]))(var44) /* first on */; +var_ntype = var45; var = var_ntype; goto RET_LABEL; } else { } var_error = var_eof; -var44 = NEW_lexer__Lexer(&type_lexer__Lexer); -((void (*)(val*, val*))(var44->class->vft[COLOR_lexer__Lexer__init]))(var44, var_source) /* init on */; -CHECK_NEW_lexer__Lexer(var44); -var_lexer = var44; -var45 = ((val* (*)(val*))(var_lexer->class->vft[COLOR_lexer__Lexer__next]))(var_lexer) /* next on */; -var_first = var45; +var46 = NEW_lexer__Lexer(&type_lexer__Lexer); +((void (*)(val*, val*))(var46->class->vft[COLOR_lexer__Lexer__init]))(var46, var_source) /* init on */; +var_lexer = var46; +var47 = ((val* (*)(val*))(var_lexer->class->vft[COLOR_lexer__Lexer__next]))(var_lexer) /* next on */; +var_first = var47; /* isa EOF */ -cltype47 = type_parser_nodes__EOF.color; -idtype48 = type_parser_nodes__EOF.id; -if(cltype47 >= var_first->type->table_size) { -var46 = 0; +cltype49 = type_parser_nodes__EOF.color; +idtype50 = type_parser_nodes__EOF.id; +if(cltype49 >= var_first->type->table_size) { +var48 = 0; } else { -var46 = var_first->type->type_table[cltype47] == idtype48; +var48 = var_first->type->type_table[cltype49] == idtype50; } -var49 = !var46; -if (var49){ -var50 = ((val* (*)(val*))(var_lexer->class->vft[COLOR_lexer__Lexer__next]))(var_lexer) /* next on */; -var_second = var50; +var51 = !var48; +if (var51){ +var52 = ((val* (*)(val*))(var_lexer->class->vft[COLOR_lexer__Lexer__next]))(var_lexer) /* next on */; +var_second = var52; /* isa EOF */ -cltype53 = type_parser_nodes__EOF.color; -idtype54 = type_parser_nodes__EOF.id; -if(cltype53 >= var_second->type->table_size) { -var52 = 0; +cltype55 = type_parser_nodes__EOF.color; +idtype56 = type_parser_nodes__EOF.id; +if(cltype55 >= var_second->type->table_size) { +var54 = 0; } else { -var52 = var_second->type->type_table[cltype53] == idtype54; +var54 = var_second->type->type_table[cltype55] == idtype56; } -var_ = var52; -if (var52){ +var_ = var54; +if (var54){ /* isa AError */ -cltype56 = type_parser_nodes__AError.color; -idtype57 = type_parser_nodes__AError.id; -if(cltype56 >= var_second->type->table_size) { -var55 = 0; +cltype58 = type_parser_nodes__AError.color; +idtype59 = type_parser_nodes__AError.id; +if(cltype58 >= var_second->type->table_size) { +var57 = 0; } else { -var55 = var_second->type->type_table[cltype56] == idtype57; +var57 = var_second->type->type_table[cltype58] == idtype59; } -var58 = !var55; -var51 = var58; +var60 = !var57; +var53 = var60; } else { -var51 = var_; +var53 = var_; } -if (var51){ +if (var53){ var = var_first; goto RET_LABEL; } else { } } else { } -var59 = NEW_parser_util__InjectedLexer(&type_parser_util__InjectedLexer); -((void (*)(val*, val*))(var59->class->vft[COLOR_lexer__Lexer__init]))(var59, var_source) /* init on */; -CHECK_NEW_parser_util__InjectedLexer(var59); -var_lexer = var59; -var60 = ((val* (*)(val*))(var_lexer->class->vft[COLOR_parser_util__InjectedLexer__injected_before]))(var_lexer) /* injected_before on */; -var61 = NEW_parser_nodes__TKwvar(&type_parser_nodes__TKwvar); -((void (*)(val*))(var61->class->vft[COLOR_parser_nodes__TKwvar__init]))(var61) /* init on */; -CHECK_NEW_parser_nodes__TKwvar(var61); -((void (*)(val*, val*))(var60->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var60, var61) /* add on */; +var61 = NEW_parser_util__InjectedLexer(&type_parser_util__InjectedLexer); +((void (*)(val*, val*))(var61->class->vft[COLOR_lexer__Lexer__init]))(var61, var_source) /* init on */; +var_lexer = var61; var62 = ((val* (*)(val*))(var_lexer->class->vft[COLOR_parser_util__InjectedLexer__injected_before]))(var_lexer) /* injected_before on */; -var63 = NEW_parser_nodes__TId(&type_parser_nodes__TId); -((void (*)(val*))(var63->class->vft[COLOR_parser_nodes__TId__init]))(var63) /* init on */; -CHECK_NEW_parser_nodes__TId(var63); +var63 = NEW_parser_nodes__TKwvar(&type_parser_nodes__TKwvar); +((void (*)(val*))(var63->class->vft[COLOR_parser_nodes__TKwvar__init]))(var63) /* init on */; ((void (*)(val*, val*))(var62->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var62, var63) /* add on */; var64 = ((val* (*)(val*))(var_lexer->class->vft[COLOR_parser_util__InjectedLexer__injected_before]))(var_lexer) /* injected_before on */; -var65 = NEW_parser_nodes__TAssign(&type_parser_nodes__TAssign); -((void (*)(val*))(var65->class->vft[COLOR_parser_nodes__TAssign__init]))(var65) /* init on */; -CHECK_NEW_parser_nodes__TAssign(var65); +var65 = NEW_parser_nodes__TId(&type_parser_nodes__TId); +((void (*)(val*))(var65->class->vft[COLOR_parser_nodes__TId__init]))(var65) /* init on */; ((void (*)(val*, val*))(var64->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var64, var65) /* add on */; var66 = ((val* (*)(val*))(var_lexer->class->vft[COLOR_parser_util__InjectedLexer__injected_before]))(var_lexer) /* injected_before on */; -var67 = NEW_parser_nodes__TOpar(&type_parser_nodes__TOpar); -((void (*)(val*))(var67->class->vft[COLOR_parser_nodes__TOpar__init]))(var67) /* init on */; -CHECK_NEW_parser_nodes__TOpar(var67); +var67 = NEW_parser_nodes__TAssign(&type_parser_nodes__TAssign); +((void (*)(val*))(var67->class->vft[COLOR_parser_nodes__TAssign__init]))(var67) /* init on */; ((void (*)(val*, val*))(var66->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var66, var67) /* add on */; -var68 = ((val* (*)(val*))(var_lexer->class->vft[COLOR_parser_util__InjectedLexer__injected_after]))(var_lexer) /* injected_after on */; -var69 = NEW_parser_nodes__TCpar(&type_parser_nodes__TCpar); -((void (*)(val*))(var69->class->vft[COLOR_parser_nodes__TCpar__init]))(var69) /* init on */; -CHECK_NEW_parser_nodes__TCpar(var69); +var68 = ((val* (*)(val*))(var_lexer->class->vft[COLOR_parser_util__InjectedLexer__injected_before]))(var_lexer) /* injected_before on */; +var69 = NEW_parser_nodes__TOpar(&type_parser_nodes__TOpar); +((void (*)(val*))(var69->class->vft[COLOR_parser_nodes__TOpar__init]))(var69) /* init on */; ((void (*)(val*, val*))(var68->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var68, var69) /* add on */; -var70 = NEW_parser__Parser(&type_parser__Parser); -((void (*)(val*, val*))(var70->class->vft[COLOR_parser__Parser__init]))(var70, var_lexer) /* init on */; -CHECK_NEW_parser__Parser(var70); -var71 = ((val* (*)(val*))(var70->class->vft[COLOR_parser__Parser__parse]))(var70) /* parse on */; -var_tree = var71; -var72 = ((val* (*)(val*))(var_tree->class->vft[COLOR_parser_nodes__Start__n_eof]))(var_tree) /* n_eof on */; -var_eof = var72; +var70 = ((val* (*)(val*))(var_lexer->class->vft[COLOR_parser_util__InjectedLexer__injected_after]))(var_lexer) /* injected_after on */; +var71 = NEW_parser_nodes__TCpar(&type_parser_nodes__TCpar); +((void (*)(val*))(var71->class->vft[COLOR_parser_nodes__TCpar__init]))(var71) /* init on */; +((void (*)(val*, val*))(var70->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var70, var71) /* add on */; +var72 = NEW_parser__Parser(&type_parser__Parser); +((void (*)(val*, val*))(var72->class->vft[COLOR_parser__Parser__init]))(var72, var_lexer) /* init on */; +var73 = ((val* (*)(val*))(var72->class->vft[COLOR_parser__Parser__parse]))(var72) /* parse on */; +var_tree = var73; +var74 = ((val* (*)(val*))(var_tree->class->vft[COLOR_parser_nodes__Start__n_eof]))(var_tree) /* n_eof on */; +var_eof = var74; /* isa AError */ -cltype74 = type_parser_nodes__AError.color; -idtype75 = type_parser_nodes__AError.id; -if(cltype74 >= var_eof->type->table_size) { -var73 = 0; -} else { -var73 = var_eof->type->type_table[cltype74] == idtype75; -} -var76 = !var73; -if (var76){ -var77 = ((val* (*)(val*))(var_tree->class->vft[COLOR_parser_nodes__Start__n_base]))(var_tree) /* n_base on */; -if (var77 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser_util.nit", 137); -exit(1); -} else { -var78 = ((val* (*)(val*))(var77->class->vft[COLOR_parser_nodes__AModule__n_classdefs]))(var77) /* n_classdefs on */; -} -var79 = ((val* (*)(val*))(var78->class->vft[COLOR_abstract_collection__Collection__first]))(var78) /* first on */; -var80 = ((val* (*)(val*))(var79->class->vft[COLOR_parser_nodes__AClassdef__n_propdefs]))(var79) /* n_propdefs on */; -var81 = ((val* (*)(val*))(var80->class->vft[COLOR_abstract_collection__Collection__first]))(var80) /* first on */; -/* isa AMainMethPropdef */ -cltype83 = type_parser_nodes__AMainMethPropdef.color; -idtype84 = type_parser_nodes__AMainMethPropdef.id; -if(cltype83 >= var81->type->table_size) { -var82 = 0; -} else { -var82 = var81->type->type_table[cltype83] == idtype84; -} -if (!var82) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser_util.nit", 137); -exit(1); -} -var85 = ((val* (*)(val*))(var81->class->vft[COLOR_parser_nodes__AConcreteMethPropdef__n_block]))(var81) /* n_block on */; -/* isa ABlockExpr */ -cltype87 = type_parser_nodes__ABlockExpr.color; -idtype88 = type_parser_nodes__ABlockExpr.id; -if(var85 == NULL) { -var86 = 0; -} else { -if(cltype87 >= var85->type->table_size) { -var86 = 0; -} else { -var86 = var85->type->type_table[cltype87] == idtype88; -} -} -if (!var86) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser_util.nit", 137); -exit(1); -} -var89 = ((val* (*)(val*))(var85->class->vft[COLOR_parser_nodes__ABlockExpr__n_expr]))(var85) /* n_expr on */; -var90 = ((val* (*)(val*))(var89->class->vft[COLOR_abstract_collection__Collection__first]))(var89) /* first on */; -/* isa AVardeclExpr */ -cltype92 = type_parser_nodes__AVardeclExpr.color; -idtype93 = type_parser_nodes__AVardeclExpr.id; -if(cltype92 >= var90->type->table_size) { -var91 = 0; -} else { -var91 = var90->type->type_table[cltype92] == idtype93; -} -if (!var91) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser_util.nit", 137); -exit(1); -} -var94 = ((val* (*)(val*))(var90->class->vft[COLOR_parser_nodes__AVardeclExpr__n_expr]))(var90) /* n_expr on */; -/* isa AParExpr */ -cltype96 = type_parser_nodes__AParExpr.color; -idtype97 = type_parser_nodes__AParExpr.id; -if(var94 == NULL) { -var95 = 0; -} else { +cltype76 = type_parser_nodes__AError.color; +idtype77 = type_parser_nodes__AError.id; +if(cltype76 >= var_eof->type->table_size) { +var75 = 0; +} else { +var75 = var_eof->type->type_table[cltype76] == idtype77; +} +var78 = !var75; +if (var78){ +var79 = ((val* (*)(val*))(var_tree->class->vft[COLOR_parser_nodes__Start__n_base]))(var_tree) /* n_base on */; +if (var79 == NULL) { +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/parser_util.nit", 137); +show_backtrace(1); +} else { +var80 = ((val* (*)(val*))(var79->class->vft[COLOR_parser_nodes__AModule__n_classdefs]))(var79) /* n_classdefs on */; +} +var81 = ((val* (*)(val*))(var80->class->vft[COLOR_abstract_collection__Collection__first]))(var80) /* first on */; +var82 = ((val* (*)(val*))(var81->class->vft[COLOR_parser_nodes__AClassdef__n_propdefs]))(var81) /* n_propdefs on */; +var83 = ((val* (*)(val*))(var82->class->vft[COLOR_abstract_collection__Collection__first]))(var82) /* first on */; +/* isa AMainMethPropdef */ +cltype85 = type_parser_nodes__AMainMethPropdef.color; +idtype86 = type_parser_nodes__AMainMethPropdef.id; +if(cltype85 >= var83->type->table_size) { +var84 = 0; +} else { +var84 = var83->type->type_table[cltype85] == idtype86; +} +if (!var84) { +var_class_name87 = var83 == NULL ? "null" : var83->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "AMainMethPropdef", var_class_name87); +fprintf(stderr, " (%s:%d)\n", "src/parser_util.nit", 137); +show_backtrace(1); +} +var88 = ((val* (*)(val*))(var83->class->vft[COLOR_parser_nodes__AConcreteMethPropdef__n_block]))(var83) /* n_block on */; +/* isa ABlockExpr */ +cltype90 = type_parser_nodes__ABlockExpr.color; +idtype91 = type_parser_nodes__ABlockExpr.id; +if(var88 == NULL) { +var89 = 0; +} else { +if(cltype90 >= var88->type->table_size) { +var89 = 0; +} else { +var89 = var88->type->type_table[cltype90] == idtype91; +} +} +if (!var89) { +var_class_name92 = var88 == NULL ? "null" : var88->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "ABlockExpr", var_class_name92); +fprintf(stderr, " (%s:%d)\n", "src/parser_util.nit", 137); +show_backtrace(1); +} +var93 = ((val* (*)(val*))(var88->class->vft[COLOR_parser_nodes__ABlockExpr__n_expr]))(var88) /* n_expr on */; +var94 = ((val* (*)(val*))(var93->class->vft[COLOR_abstract_collection__Collection__first]))(var93) /* first on */; +/* isa AVardeclExpr */ +cltype96 = type_parser_nodes__AVardeclExpr.color; +idtype97 = type_parser_nodes__AVardeclExpr.id; if(cltype96 >= var94->type->table_size) { var95 = 0; } else { var95 = var94->type->type_table[cltype96] == idtype97; } -} if (!var95) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser_util.nit", 137); -exit(1); +var_class_name98 = var94 == NULL ? "null" : var94->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "AVardeclExpr", var_class_name98); +fprintf(stderr, " (%s:%d)\n", "src/parser_util.nit", 137); +show_backtrace(1); } -var98 = ((val* (*)(val*))(var94->class->vft[COLOR_parser_nodes__AProxyExpr__n_expr]))(var94) /* n_expr on */; -var_nexpr = var98; +var99 = ((val* (*)(val*))(var94->class->vft[COLOR_parser_nodes__AVardeclExpr__n_expr]))(var94) /* n_expr on */; +/* isa AParExpr */ +cltype101 = type_parser_nodes__AParExpr.color; +idtype102 = type_parser_nodes__AParExpr.id; +if(var99 == NULL) { +var100 = 0; +} else { +if(cltype101 >= var99->type->table_size) { +var100 = 0; +} else { +var100 = var99->type->type_table[cltype101] == idtype102; +} +} +if (!var100) { +var_class_name103 = var99 == NULL ? "null" : var99->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "AParExpr", var_class_name103); +fprintf(stderr, " (%s:%d)\n", "src/parser_util.nit", 137); +show_backtrace(1); +} +var104 = ((val* (*)(val*))(var99->class->vft[COLOR_parser_nodes__AProxyExpr__n_expr]))(var99) /* n_expr on */; +var_nexpr = var104; var = var_nexpr; goto RET_LABEL; } else { } -var99 = ((val* (*)(val*))(var_eof->class->vft[COLOR_parser_nodes__ANode__location]))(var_eof) /* location on */; -var100 = ((val* (*)(val*))(var_error->class->vft[COLOR_parser_nodes__ANode__location]))(var_error) /* location on */; -var101 = ((short int (*)(val*, val*))(var99->class->vft[COLOR_kernel__Comparable___62d]))(var99, var100) /* > on */; -if (var101){ +var105 = ((val* (*)(val*))(var_eof->class->vft[COLOR_parser_nodes__ANode__location]))(var_eof) /* location on */; +var106 = ((val* (*)(val*))(var_error->class->vft[COLOR_parser_nodes__ANode__location]))(var_error) /* location on */; +var107 = ((short int (*)(val*, val*))(var105->class->vft[COLOR_kernel__Comparable___62d]))(var105, var106) /* > on */; +if (var107){ var_error = var_eof; } else { } -var102 = NEW_parser_util__InjectedLexer(&type_parser_util__InjectedLexer); -((void (*)(val*, val*))(var102->class->vft[COLOR_lexer__Lexer__init]))(var102, var_source) /* init on */; -CHECK_NEW_parser_util__InjectedLexer(var102); -var_lexer = var102; -var103 = ((val* (*)(val*))(var_lexer->class->vft[COLOR_parser_util__InjectedLexer__injected_before]))(var_lexer) /* injected_before on */; -var104 = NEW_parser_nodes__TKwdo(&type_parser_nodes__TKwdo); -((void (*)(val*))(var104->class->vft[COLOR_parser_nodes__TKwdo__init]))(var104) /* init on */; -CHECK_NEW_parser_nodes__TKwdo(var104); -((void (*)(val*, val*))(var103->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var103, var104) /* add on */; -var105 = ((val* (*)(val*))(var_lexer->class->vft[COLOR_parser_util__InjectedLexer__injected_after]))(var_lexer) /* injected_after on */; -var106 = NEW_parser_nodes__TKwend(&type_parser_nodes__TKwend); -((void (*)(val*))(var106->class->vft[COLOR_parser_nodes__TKwend__init]))(var106) /* init on */; -CHECK_NEW_parser_nodes__TKwend(var106); -((void (*)(val*, val*))(var105->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var105, var106) /* add on */; -var107 = NEW_parser__Parser(&type_parser__Parser); -((void (*)(val*, val*))(var107->class->vft[COLOR_parser__Parser__init]))(var107, var_lexer) /* init on */; -CHECK_NEW_parser__Parser(var107); -var108 = ((val* (*)(val*))(var107->class->vft[COLOR_parser__Parser__parse]))(var107) /* parse on */; -var_tree = var108; -var109 = ((val* (*)(val*))(var_tree->class->vft[COLOR_parser_nodes__Start__n_eof]))(var_tree) /* n_eof on */; -var_eof = var109; +var108 = NEW_parser_util__InjectedLexer(&type_parser_util__InjectedLexer); +((void (*)(val*, val*))(var108->class->vft[COLOR_lexer__Lexer__init]))(var108, var_source) /* init on */; +var_lexer = var108; +var109 = ((val* (*)(val*))(var_lexer->class->vft[COLOR_parser_util__InjectedLexer__injected_before]))(var_lexer) /* injected_before on */; +var110 = NEW_parser_nodes__TKwdo(&type_parser_nodes__TKwdo); +((void (*)(val*))(var110->class->vft[COLOR_parser_nodes__TKwdo__init]))(var110) /* init on */; +((void (*)(val*, val*))(var109->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var109, var110) /* add on */; +var111 = ((val* (*)(val*))(var_lexer->class->vft[COLOR_parser_util__InjectedLexer__injected_after]))(var_lexer) /* injected_after on */; +var112 = NEW_parser_nodes__TKwend(&type_parser_nodes__TKwend); +((void (*)(val*))(var112->class->vft[COLOR_parser_nodes__TKwend__init]))(var112) /* init on */; +((void (*)(val*, val*))(var111->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var111, var112) /* add on */; +var113 = NEW_parser__Parser(&type_parser__Parser); +((void (*)(val*, val*))(var113->class->vft[COLOR_parser__Parser__init]))(var113, var_lexer) /* init on */; +var114 = ((val* (*)(val*))(var113->class->vft[COLOR_parser__Parser__parse]))(var113) /* parse on */; +var_tree = var114; +var115 = ((val* (*)(val*))(var_tree->class->vft[COLOR_parser_nodes__Start__n_eof]))(var_tree) /* n_eof on */; +var_eof = var115; /* isa AError */ -cltype111 = type_parser_nodes__AError.color; -idtype112 = type_parser_nodes__AError.id; -if(cltype111 >= var_eof->type->table_size) { -var110 = 0; -} else { -var110 = var_eof->type->type_table[cltype111] == idtype112; -} -var113 = !var110; -if (var113){ -var114 = ((val* (*)(val*))(var_tree->class->vft[COLOR_parser_nodes__Start__n_base]))(var_tree) /* n_base on */; -if (var114 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser_util.nit", 148); -exit(1); -} else { -var115 = ((val* (*)(val*))(var114->class->vft[COLOR_parser_nodes__AModule__n_classdefs]))(var114) /* n_classdefs on */; -} -var116 = ((val* (*)(val*))(var115->class->vft[COLOR_abstract_collection__Collection__first]))(var115) /* first on */; -var117 = ((val* (*)(val*))(var116->class->vft[COLOR_parser_nodes__AClassdef__n_propdefs]))(var116) /* n_propdefs on */; -var118 = ((val* (*)(val*))(var117->class->vft[COLOR_abstract_collection__Collection__first]))(var117) /* first on */; -/* isa AMainMethPropdef */ -cltype120 = type_parser_nodes__AMainMethPropdef.color; -idtype121 = type_parser_nodes__AMainMethPropdef.id; -if(cltype120 >= var118->type->table_size) { -var119 = 0; -} else { -var119 = var118->type->type_table[cltype120] == idtype121; -} -if (!var119) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser_util.nit", 148); -exit(1); -} -var122 = ((val* (*)(val*))(var118->class->vft[COLOR_parser_nodes__AConcreteMethPropdef__n_block]))(var118) /* n_block on */; -/* isa ABlockExpr */ -cltype124 = type_parser_nodes__ABlockExpr.color; -idtype125 = type_parser_nodes__ABlockExpr.id; -if(var122 == NULL) { -var123 = 0; -} else { -if(cltype124 >= var122->type->table_size) { -var123 = 0; -} else { -var123 = var122->type->type_table[cltype124] == idtype125; -} -} -if (!var123) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser_util.nit", 148); -exit(1); -} -var126 = ((val* (*)(val*))(var122->class->vft[COLOR_parser_nodes__ABlockExpr__n_expr]))(var122) /* n_expr on */; -var127 = ((val* (*)(val*))(var126->class->vft[COLOR_abstract_collection__Collection__first]))(var126) /* first on */; -/* isa ADoExpr */ -cltype129 = type_parser_nodes__ADoExpr.color; -idtype130 = type_parser_nodes__ADoExpr.id; -if(cltype129 >= var127->type->table_size) { -var128 = 0; -} else { -var128 = var127->type->type_table[cltype129] == idtype130; -} -if (!var128) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser_util.nit", 148); -exit(1); -} -var131 = ((val* (*)(val*))(var127->class->vft[COLOR_parser_nodes__ADoExpr__n_block]))(var127) /* n_block on */; -if (var131 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser_util.nit", 148); -exit(1); -} -var_nblock = var131; +cltype117 = type_parser_nodes__AError.color; +idtype118 = type_parser_nodes__AError.id; +if(cltype117 >= var_eof->type->table_size) { +var116 = 0; +} else { +var116 = var_eof->type->type_table[cltype117] == idtype118; +} +var119 = !var116; +if (var119){ +var120 = ((val* (*)(val*))(var_tree->class->vft[COLOR_parser_nodes__Start__n_base]))(var_tree) /* n_base on */; +if (var120 == NULL) { +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/parser_util.nit", 148); +show_backtrace(1); +} else { +var121 = ((val* (*)(val*))(var120->class->vft[COLOR_parser_nodes__AModule__n_classdefs]))(var120) /* n_classdefs on */; +} +var122 = ((val* (*)(val*))(var121->class->vft[COLOR_abstract_collection__Collection__first]))(var121) /* first on */; +var123 = ((val* (*)(val*))(var122->class->vft[COLOR_parser_nodes__AClassdef__n_propdefs]))(var122) /* n_propdefs on */; +var124 = ((val* (*)(val*))(var123->class->vft[COLOR_abstract_collection__Collection__first]))(var123) /* first on */; +/* isa AMainMethPropdef */ +cltype126 = type_parser_nodes__AMainMethPropdef.color; +idtype127 = type_parser_nodes__AMainMethPropdef.id; +if(cltype126 >= var124->type->table_size) { +var125 = 0; +} else { +var125 = var124->type->type_table[cltype126] == idtype127; +} +if (!var125) { +var_class_name128 = var124 == NULL ? "null" : var124->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "AMainMethPropdef", var_class_name128); +fprintf(stderr, " (%s:%d)\n", "src/parser_util.nit", 148); +show_backtrace(1); +} +var129 = ((val* (*)(val*))(var124->class->vft[COLOR_parser_nodes__AConcreteMethPropdef__n_block]))(var124) /* n_block on */; +/* isa ABlockExpr */ +cltype131 = type_parser_nodes__ABlockExpr.color; +idtype132 = type_parser_nodes__ABlockExpr.id; +if(var129 == NULL) { +var130 = 0; +} else { +if(cltype131 >= var129->type->table_size) { +var130 = 0; +} else { +var130 = var129->type->type_table[cltype131] == idtype132; +} +} +if (!var130) { +var_class_name133 = var129 == NULL ? "null" : var129->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "ABlockExpr", var_class_name133); +fprintf(stderr, " (%s:%d)\n", "src/parser_util.nit", 148); +show_backtrace(1); +} +var134 = ((val* (*)(val*))(var129->class->vft[COLOR_parser_nodes__ABlockExpr__n_expr]))(var129) /* n_expr on */; +var135 = ((val* (*)(val*))(var134->class->vft[COLOR_abstract_collection__Collection__first]))(var134) /* first on */; +/* isa ADoExpr */ +cltype137 = type_parser_nodes__ADoExpr.color; +idtype138 = type_parser_nodes__ADoExpr.id; +if(cltype137 >= var135->type->table_size) { +var136 = 0; +} else { +var136 = var135->type->type_table[cltype137] == idtype138; +} +if (!var136) { +var_class_name139 = var135 == NULL ? "null" : var135->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "ADoExpr", var_class_name139); +fprintf(stderr, " (%s:%d)\n", "src/parser_util.nit", 148); +show_backtrace(1); +} +var140 = ((val* (*)(val*))(var135->class->vft[COLOR_parser_nodes__ADoExpr__n_block]))(var135) /* n_block on */; +if (var140 == NULL) { +fprintf(stderr, "Runtime error: %s", "Cast failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser_util.nit", 148); +show_backtrace(1); +} +var_nblock = var140; var = var_nblock; goto RET_LABEL; } else { } -var132 = ((val* (*)(val*))(var_eof->class->vft[COLOR_parser_nodes__ANode__location]))(var_eof) /* location on */; -var133 = ((val* (*)(val*))(var_error->class->vft[COLOR_parser_nodes__ANode__location]))(var_error) /* location on */; -var134 = ((short int (*)(val*, val*))(var132->class->vft[COLOR_kernel__Comparable___62d]))(var132, var133) /* > on */; -if (var134){ +var141 = ((val* (*)(val*))(var_eof->class->vft[COLOR_parser_nodes__ANode__location]))(var_eof) /* location on */; +var142 = ((val* (*)(val*))(var_error->class->vft[COLOR_parser_nodes__ANode__location]))(var_error) /* location on */; +var143 = ((short int (*)(val*, val*))(var141->class->vft[COLOR_kernel__Comparable___62d]))(var141, var142) /* > on */; +if (var143){ var_error = var_eof; } else { } -var135 = NEW_lexer__Lexer(&type_lexer__Lexer); -((void (*)(val*, val*))(var135->class->vft[COLOR_lexer__Lexer__init]))(var135, var_source) /* init on */; -CHECK_NEW_lexer__Lexer(var135); -var_lexer = var135; -var136 = NEW_parser__Parser(&type_parser__Parser); -((void (*)(val*, val*))(var136->class->vft[COLOR_parser__Parser__init]))(var136, var_lexer) /* init on */; -CHECK_NEW_parser__Parser(var136); -var137 = ((val* (*)(val*))(var136->class->vft[COLOR_parser__Parser__parse]))(var136) /* parse on */; -var_tree = var137; -var138 = ((val* (*)(val*))(var_tree->class->vft[COLOR_parser_nodes__Start__n_eof]))(var_tree) /* n_eof on */; -var_eof = var138; +var144 = NEW_lexer__Lexer(&type_lexer__Lexer); +((void (*)(val*, val*))(var144->class->vft[COLOR_lexer__Lexer__init]))(var144, var_source) /* init on */; +var_lexer = var144; +var145 = NEW_parser__Parser(&type_parser__Parser); +((void (*)(val*, val*))(var145->class->vft[COLOR_parser__Parser__init]))(var145, var_lexer) /* init on */; +var146 = ((val* (*)(val*))(var145->class->vft[COLOR_parser__Parser__parse]))(var145) /* parse on */; +var_tree = var146; +var147 = ((val* (*)(val*))(var_tree->class->vft[COLOR_parser_nodes__Start__n_eof]))(var_tree) /* n_eof on */; +var_eof = var147; /* isa AError */ -cltype140 = type_parser_nodes__AError.color; -idtype141 = type_parser_nodes__AError.id; -if(cltype140 >= var_eof->type->table_size) { -var139 = 0; -} else { -var139 = var_eof->type->type_table[cltype140] == idtype141; -} -var142 = !var139; -if (var142){ -var143 = ((val* (*)(val*))(var_tree->class->vft[COLOR_parser_nodes__Start__n_base]))(var_tree) /* n_base on */; -if (var143 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser_util.nit", 157); -exit(1); -} -var = var143; +cltype149 = type_parser_nodes__AError.color; +idtype150 = type_parser_nodes__AError.id; +if(cltype149 >= var_eof->type->table_size) { +var148 = 0; +} else { +var148 = var_eof->type->type_table[cltype149] == idtype150; +} +var151 = !var148; +if (var151){ +var152 = ((val* (*)(val*))(var_tree->class->vft[COLOR_parser_nodes__Start__n_base]))(var_tree) /* n_base on */; +if (var152 == NULL) { +fprintf(stderr, "Runtime error: %s", "Cast failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser_util.nit", 157); +show_backtrace(1); +} +var = var152; goto RET_LABEL; } else { } -var144 = ((val* (*)(val*))(var_eof->class->vft[COLOR_parser_nodes__ANode__location]))(var_eof) /* location on */; -var145 = ((val* (*)(val*))(var_error->class->vft[COLOR_parser_nodes__ANode__location]))(var_error) /* location on */; -var146 = ((short int (*)(val*, val*))(var144->class->vft[COLOR_kernel__Comparable___62d]))(var144, var145) /* > on */; -if (var146){ +var153 = ((val* (*)(val*))(var_eof->class->vft[COLOR_parser_nodes__ANode__location]))(var_eof) /* location on */; +var154 = ((val* (*)(val*))(var_error->class->vft[COLOR_parser_nodes__ANode__location]))(var_error) /* location on */; +var155 = ((short int (*)(val*, val*))(var153->class->vft[COLOR_kernel__Comparable___62d]))(var153, var154) /* > on */; +if (var155){ var_error = var_eof; } else { } @@ -1191,8 +1221,9 @@ val* var /* : List[Token] */; val* var1 /* : List[Token] */; var1 = self->attrs[COLOR_parser_util__InjectedLexer___64dinjected_before].val; /* @injected_before on */ if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @injected_before", "src/parser_util.nit", 168); -exit(1); +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @injected_before"); +fprintf(stderr, " (%s:%d)\n", "src/parser_util.nit", 168); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -1223,8 +1254,9 @@ val* var /* : List[Token] */; val* var1 /* : List[Token] */; var1 = self->attrs[COLOR_parser_util__InjectedLexer___64dinjected_after].val; /* @injected_after on */ if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @injected_after", "src/parser_util.nit", 169); -exit(1); +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @injected_after"); +fprintf(stderr, " (%s:%d)\n", "src/parser_util.nit", 169); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -1339,7 +1371,6 @@ var12 = 1; var13 = 1; var14 = 0; ((void (*)(val*, val*, long, long, long, long))(var9->class->vft[COLOR_location__Location__init]))(var9, var10, var11, var12, var13, var14) /* init on */; -CHECK_NEW_location__Location(var9); var_tok->attrs[COLOR_parser_nodes__ANode___location].val = var9; /* _location on */ } else { } @@ -1394,7 +1425,6 @@ var31 = 1; var32 = 1; var33 = 0; ((void (*)(val*, val*, long, long, long, long))(var28->class->vft[COLOR_location__Location__init]))(var28, var29, var30, var31, var32, var33) /* init on */; -CHECK_NEW_location__Location(var28); var_tok24->attrs[COLOR_parser_nodes__ANode___location].val = var28; /* _location on */ } else { } @@ -1422,7 +1452,6 @@ val* var2 /* : Array[Token] */; var_text = p0; var1 = NEW_parser_util__CollectTokensByTextVisitor(&type_parser_util__CollectTokensByTextVisitor); ((void (*)(val*, val*))(var1->class->vft[COLOR_parser_util__CollectTokensByTextVisitor__init]))(var1, var_text) /* init on */; -CHECK_NEW_parser_util__CollectTokensByTextVisitor(var1); var_v = var1; ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, self) /* enter_visit on */; var2 = ((val* (*)(val*))(var_v->class->vft[COLOR_parser_util__CollectTokensByTextVisitor__result]))(var_v) /* result on */; @@ -1450,7 +1479,6 @@ val* var2 /* : Array[AAnnotation] */; var_name = p0; var1 = NEW_parser_util__CollectAnnotationsByNameVisitor(&type_parser_util__CollectAnnotationsByNameVisitor); ((void (*)(val*, val*))(var1->class->vft[COLOR_parser_util__CollectAnnotationsByNameVisitor__init]))(var1, var_name) /* init on */; -CHECK_NEW_parser_util__CollectAnnotationsByNameVisitor(var1); var_v = var1; ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, self) /* enter_visit on */; var2 = ((val* (*)(val*))(var_v->class->vft[COLOR_parser_util__CollectAnnotationsByNameVisitor__result]))(var_v) /* result on */; @@ -1474,8 +1502,9 @@ val* var /* : String */; val* var1 /* : String */; var1 = self->attrs[COLOR_parser_util__CollectTokensByTextVisitor___64dtext].val; /* @text on */ if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @text", "src/parser_util.nit", 213); -exit(1); +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @text"); +fprintf(stderr, " (%s:%d)\n", "src/parser_util.nit", 213); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -1519,8 +1548,9 @@ val* var /* : Array[Token] */; val* var1 /* : Array[Token] */; var1 = self->attrs[COLOR_parser_util__CollectTokensByTextVisitor___64dresult].val; /* @result on */ if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @result", "src/parser_util.nit", 215); -exit(1); +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @result"); +fprintf(stderr, " (%s:%d)\n", "src/parser_util.nit", 215); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -1594,8 +1624,9 @@ val* var /* : String */; val* var1 /* : String */; var1 = self->attrs[COLOR_parser_util__CollectAnnotationsByNameVisitor___64dname].val; /* @name on */ if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @name", "src/parser_util.nit", 225); -exit(1); +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @name"); +fprintf(stderr, " (%s:%d)\n", "src/parser_util.nit", 225); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -1639,8 +1670,9 @@ val* var /* : Array[AAnnotation] */; val* var1 /* : Array[AAnnotation] */; var1 = self->attrs[COLOR_parser_util__CollectAnnotationsByNameVisitor___64dresult].val; /* @result on */ if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @result", "src/parser_util.nit", 227); -exit(1); +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @result"); +fprintf(stderr, " (%s:%d)\n", "src/parser_util.nit", 227); +show_backtrace(1); } var = var1; RET_LABEL:;