X-Git-Url: http://nitlanguage.org diff --git a/c_src/nit__literal.sep.1.c b/c_src/nit__literal.sep.1.c index 04fca40..ed8374a 100644 --- a/c_src/nit__literal.sep.1.c +++ b/c_src/nit__literal.sep.1.c @@ -10,8 +10,8 @@ var_nmodule = p0; var2 = self->attrs[COLOR_nit__phase__Phase___toolcontext].val; /* _toolcontext on */ if (unlikely(var2 == 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); } var = var2; RET_LABEL1:(void)0; @@ -30,10 +30,10 @@ val* var_v /* var v: LiteralVisitor */; var_toolcontext = p0; var = NEW_nit__literal__LiteralVisitor(&type_nit__literal__LiteralVisitor); { -((void (*)(val* self, val* p0))(var->class->vft[COLOR_nit__literal__LiteralVisitor__toolcontext_61d]))(var, var_toolcontext) /* toolcontext= on */; +((void(*)(val* self, val* p0))(var->class->vft[COLOR_nit__literal__LiteralVisitor__toolcontext_61d]))(var, var_toolcontext); /* toolcontext= on */ } { -((void (*)(val* self))(var->class->vft[COLOR_standard__kernel__Object__init]))(var) /* init on */; +((void(*)(val* self))(var->class->vft[COLOR_standard__kernel__Object__init]))(var); /* init on */ } var_v = var; { @@ -49,7 +49,7 @@ var1 = self->attrs[COLOR_nit__literal__LiteralVisitor___toolcontext].val; /* _to if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__literal, 46); -show_backtrace(1); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -65,17 +65,17 @@ void nit__literal___nit__literal__LiteralVisitor___nit__parser_nodes__Visitor__v val* var_n /* var n: ANode */; var_n = p0; { -((void (*)(val* self, val* p0))(var_n->class->vft[COLOR_nit__literal__ANode__accept_literal]))(var_n, self) /* accept_literal on */; +((void(*)(val* self, val* p0))(var_n->class->vft[COLOR_nit__literal__ANode__accept_literal]))(var_n, self); /* accept_literal on */ } { -((void (*)(val* self, val* p0))(var_n->class->vft[COLOR_nit__parser_nodes__ANode__visit_all]))(var_n, self) /* visit_all on */; +((void(*)(val* self, val* p0))(var_n->class->vft[COLOR_nit__parser_nodes__ANode__visit_all]))(var_n, self); /* visit_all on */ } RET_LABEL:; } /* method literal#LiteralVisitor#init for (self: LiteralVisitor) */ void nit__literal___nit__literal__LiteralVisitor___standard__kernel__Object__init(val* self) { { -((void (*)(val* self))(self->class->vft[COLOR_nit__literal___nit__literal__LiteralVisitor___standard__kernel__Object__init]))(self) /* init on */; +((void(*)(val* self))(self->class->vft[COLOR_nit__literal___nit__literal__LiteralVisitor___standard__kernel__Object__init]))(self); /* init on */ } RET_LABEL:; } @@ -92,9 +92,8 @@ short int var1 /* : Bool */; int cltype; int idtype; short int var2 /* : Bool */; -val* var3 /* : null */; -val* var4 /* : nullable String */; -val* var6 /* : nullable String */; +val* var3 /* : nullable String */; +val* var5 /* : nullable String */; /* isa AStringFormExpr */ cltype = type_nit__AStringFormExpr.color; idtype = type_nit__AStringFormExpr.id; @@ -105,24 +104,23 @@ var1 = self->type->type_table[cltype] == idtype; } var2 = !var1; if (var2){ -var3 = NULL; -var = var3; +var = ((val*)NULL); goto RET_LABEL; } else { } { { /* Inline literal#AStringFormExpr#value (self) on */ -var6 = self->attrs[COLOR_nit__literal__AStringFormExpr___value].val; /* _value on */ -var4 = var6; -RET_LABEL5:(void)0; +var5 = self->attrs[COLOR_nit__literal__AStringFormExpr___value].val; /* _value on */ +var3 = var5; +RET_LABEL4:(void)0; } } -if (unlikely(var4 == NULL)) { +if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__literal, 65); -show_backtrace(1); +fatal_exit(1); } -var = var4; +var = var3; goto RET_LABEL; RET_LABEL:; return var; @@ -138,24 +136,21 @@ short int var3 /* : Bool */; int cltype4; int idtype5; short int var6 /* : Bool */; -val* var7 /* : null */; -val* var8 /* : AExpr */; -val* var10 /* : AExpr */; -short int var11 /* : Bool */; -int cltype12; -int idtype13; -short int var14 /* : Bool */; -val* var15 /* : null */; +val* var7 /* : AExpr */; +val* var9 /* : AExpr */; +short int var10 /* : Bool */; +int cltype11; +int idtype12; +short int var13 /* : Bool */; +val* var14 /* : AExprs */; val* var16 /* : AExprs */; -val* var18 /* : AExprs */; +val* var17 /* : ANodes[AExpr] */; val* var19 /* : ANodes[AExpr] */; -val* var21 /* : ANodes[AExpr] */; -short int var22 /* : Bool */; -short int var23 /* : Bool */; -val* var24 /* : null */; -val* var25 /* : TId */; -val* var27 /* : TId */; -val* var28 /* : String */; +short int var20 /* : Bool */; +short int var21 /* : Bool */; +val* var22 /* : TId */; +val* var24 /* : TId */; +val* var25 /* : String */; /* isa AMethidExpr */ cltype = type_nit__AMethidExpr.color; idtype = type_nit__AMethidExpr.id; @@ -182,88 +177,160 @@ var3 = self->type->type_table[cltype4] == idtype5; } var6 = !var3; if (var6){ -var7 = NULL; -var = var7; +var = ((val*)NULL); goto RET_LABEL; } else { } { { /* Inline parser_nodes#ASendExpr#n_expr (self) on */ -var10 = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on */ -if (unlikely(var10 == NULL)) { +var9 = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var9 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1802); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2025); +fatal_exit(1); } -var8 = var10; -RET_LABEL9:(void)0; +var7 = var9; +RET_LABEL8:(void)0; } } -/* isa AImplicitSelfExpr */ -cltype12 = type_nit__AImplicitSelfExpr.color; -idtype13 = type_nit__AImplicitSelfExpr.id; -if(cltype12 >= var8->type->table_size) { -var11 = 0; +/* isa AImplicitSelfExpr */ +cltype11 = type_nit__AImplicitSelfExpr.color; +idtype12 = type_nit__AImplicitSelfExpr.id; +if(cltype11 >= var7->type->table_size) { +var10 = 0; } else { -var11 = var8->type->type_table[cltype12] == idtype13; +var10 = var7->type->type_table[cltype11] == idtype12; } -var14 = !var11; -if (var14){ -var15 = NULL; -var = var15; +var13 = !var10; +if (var13){ +var = ((val*)NULL); goto RET_LABEL; } else { } { { /* Inline parser_nodes#ACallFormExpr#n_args (self) on */ -var18 = self->attrs[COLOR_nit__parser_nodes__ACallFormExpr___n_args].val; /* _n_args on */ -if (unlikely(var18 == NULL)) { +var16 = self->attrs[COLOR_nit__parser_nodes__ACallFormExpr___n_args].val; /* _n_args on */ +if (unlikely(var16 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2002); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2295); +fatal_exit(1); } -var16 = var18; -RET_LABEL17:(void)0; +var14 = var16; +RET_LABEL15:(void)0; } } { -{ /* Inline parser_nodes#AExprs#n_exprs (var16) on */ -var21 = var16->attrs[COLOR_nit__parser_nodes__AExprs___n_exprs].val; /* _n_exprs on */ -if (unlikely(var21 == NULL)) { +{ /* Inline parser_nodes#AExprs#n_exprs (var14) on */ +var19 = var14->attrs[COLOR_nit__parser_nodes__AExprs___n_exprs].val; /* _n_exprs on */ +if (unlikely(var19 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2408); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2771); +fatal_exit(1); } -var19 = var21; -RET_LABEL20:(void)0; +var17 = var19; +RET_LABEL18:(void)0; } } { -var22 = nit___nit__ANodes___standard__abstract_collection__Collection__is_empty(var19); +var20 = nit___nit__ANodes___standard__abstract_collection__Collection__is_empty(var17); } -var23 = !var22; -if (var23){ -var24 = NULL; -var = var24; +var21 = !var20; +if (var21){ +var = ((val*)NULL); goto RET_LABEL; } else { } { { /* Inline parser_nodes#ACallFormExpr#n_id (self) on */ -var27 = self->attrs[COLOR_nit__parser_nodes__ACallFormExpr___n_id].val; /* _n_id on */ -if (unlikely(var27 == NULL)) { +var24 = self->attrs[COLOR_nit__parser_nodes__ACallFormExpr___n_id].val; /* _n_id on */ +if (unlikely(var24 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1999); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2292); +fatal_exit(1); } -var25 = var27; -RET_LABEL26:(void)0; +var22 = var24; +RET_LABEL23:(void)0; } } { -var28 = nit__lexer_work___Token___text(var25); +var25 = nit__lexer_work___Token___text(var22); } -var = var28; +var = var25; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method literal#Text#remove_underscores for (self: Text): Text */ +val* nit__literal___standard__Text___remove_underscores(val* self) { +val* var /* : Text */; +val* var1 /* : FlatBuffer */; +val* var_b /* var b: FlatBuffer */; +val* var3 /* : SequenceRead[Char] */; +val* var_ /* var : SequenceRead[Char] */; +val* var4 /* : Iterator[nullable Object] */; +val* var_5 /* var : IndexedIterator[Char] */; +short int var6 /* : Bool */; +val* var7 /* : nullable Object */; +uint32_t var8 /* : Char */; +uint32_t var_i /* var i: Char */; +short int var9 /* : Bool */; +short int var11 /* : Bool */; +var1 = NEW_standard__FlatBuffer(&type_standard__FlatBuffer); +{ +{ /* Inline string#FlatBuffer#init (var1) on */ +{ +((void(*)(val* self))(var1->class->vft[COLOR_standard___standard__FlatBuffer___standard__kernel__Object__init]))(var1); /* init on */ +} +RET_LABEL2:(void)0; +} +} +var_b = var1; +{ +var3 = ((val*(*)(val* self))(self->class->vft[COLOR_standard__string__Text__chars]))(self); /* chars on */ +} +var_ = var3; +{ +var4 = ((val*(*)(val* self))((((long)var_&3)?class_info[((long)var_&3)]:var_->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_); /* iterator on */ +} +var_5 = var4; +for(;;) { +{ +var6 = ((short int(*)(val* self))((((long)var_5&3)?class_info[((long)var_5&3)]:var_5->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_5); /* is_ok on */ +} +if (var6){ +{ +var7 = ((val*(*)(val* self))((((long)var_5&3)?class_info[((long)var_5&3)]:var_5->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_5); /* item on */ +} +var8 = (uint32_t)((long)(var7)>>2); +var_i = var8; +{ +{ /* Inline kernel#Char#== (var_i,'_') on */ +var11 = var_i == '_'; +var9 = var11; +goto RET_LABEL10; +RET_LABEL10:(void)0; +} +} +if (var9){ +goto BREAK_label; +} else { +} +{ +standard___standard__FlatBuffer___Buffer__add(var_b, var_i); /* Direct call string#FlatBuffer#add on */ +} +BREAK_label: (void)0; +{ +((void(*)(val* self))((((long)var_5&3)?class_info[((long)var_5&3)]:var_5->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_5); /* next on */ +} +} else { +goto BREAK_label12; +} +} +BREAK_label12: (void)0; +{ +((void(*)(val* self))((((long)var_5&3)?class_info[((long)var_5&3)]:var_5->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_5); /* finish on */ +} +var = var_b; goto RET_LABEL; RET_LABEL:; return var; @@ -296,8 +363,8 @@ var_v = p0; var2 = self->attrs[COLOR_nit__parser_nodes__ADecIntExpr___n_number].val; /* _n_number on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_number"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2216); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2512); +fatal_exit(1); } var = var2; RET_LABEL1:(void)0; @@ -311,7 +378,7 @@ var4 = standard___standard__Text___to_i(var3); } { { /* Inline literal#AIntExpr#value= (self,var4) on */ -var6 = BOX_standard__Int(var4); /* autobox from Int to nullable Int */ +var6 = (val*)(var4<<2|1); self->attrs[COLOR_nit__literal__AIntExpr___value].val = var6; /* _value on */ RET_LABEL5:(void)0; } @@ -324,18 +391,29 @@ val* var_v /* var v: LiteralVisitor */; val* var /* : THexNumber */; val* var2 /* : THexNumber */; val* var3 /* : String */; -long var4 /* : Int */; +val* var4 /* : Text */; val* var5 /* : Text */; -long var6 /* : Int */; -val* var8 /* : nullable Int */; +val* var_s /* var s: Text */; +short int var6 /* : Bool */; +val* var7 /* : ToolContext */; +val* var9 /* : ToolContext */; +val* var10 /* : Location */; +val* var12 /* : Location */; +static val* varonce; +val* var13 /* : String */; +char* var14 /* : NativeString */; +val* var15 /* : FlatString */; +val* var16 /* : Message */; +long var17 /* : Int */; +val* var19 /* : nullable Int */; var_v = p0; { { /* Inline parser_nodes#AHexIntExpr#n_hex_number (self) on */ var2 = self->attrs[COLOR_nit__parser_nodes__AHexIntExpr___n_hex_number].val; /* _n_hex_number on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_hex_number"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2224); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2520); +fatal_exit(1); } var = var2; RET_LABEL1:(void)0; @@ -344,18 +422,763 @@ RET_LABEL1:(void)0; { var3 = nit__lexer_work___Token___text(var); } -var4 = 2; { -var5 = standard___standard__Text___substring_from(var3, var4); +var4 = standard___standard__Text___substring_from(var3, 2l); } { -var6 = standard___standard__Text___to_hex(var5); +var5 = nit__literal___standard__Text___remove_underscores(var4); } +var_s = var5; { -{ /* Inline literal#AIntExpr#value= (self,var6) on */ -var8 = BOX_standard__Int(var6); /* autobox from Int to nullable Int */ -self->attrs[COLOR_nit__literal__AIntExpr___value].val = var8; /* _value on */ -RET_LABEL7:(void)0; +var6 = standard___standard__Text___is_empty(var_s); +} +if (var6){ +{ +{ /* Inline literal#LiteralVisitor#toolcontext (var_v) on */ +var9 = var_v->attrs[COLOR_nit__literal__LiteralVisitor___toolcontext].val; /* _toolcontext on */ +if (unlikely(var9 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__literal, 46); +fatal_exit(1); +} +var7 = var9; +RET_LABEL8:(void)0; +} +} +{ +{ /* Inline parser_nodes#ANode#location (self) on */ +var12 = self->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on */ +if (unlikely(var12 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 24); +fatal_exit(1); +} +var10 = var12; +RET_LABEL11:(void)0; +} +} +if (likely(varonce!=NULL)) { +var13 = varonce; +} else { +var14 = "Error: invalid hexadecimal literal"; +var15 = standard___standard__NativeString___to_s_with_length(var14, 34l); +var13 = var15; +varonce = var13; +} +{ +var16 = nit___nit__ToolContext___error(var7, var10, var13); +} +goto RET_LABEL; +} else { +} +{ +var17 = standard___standard__Text___to_hex(var_s); +} +{ +{ /* Inline literal#AIntExpr#value= (self,var17) on */ +var19 = (val*)(var17<<2|1); +self->attrs[COLOR_nit__literal__AIntExpr___value].val = var19; /* _value on */ +RET_LABEL18:(void)0; +} +} +RET_LABEL:; +} +/* method literal#ABinIntExpr#accept_literal for (self: ABinIntExpr, LiteralVisitor) */ +void nit__literal___ABinIntExpr___ANode__accept_literal(val* self, val* p0) { +val* var_v /* var v: LiteralVisitor */; +val* var /* : TBinNumber */; +val* var2 /* : TBinNumber */; +val* var3 /* : String */; +val* var4 /* : Text */; +val* var5 /* : Text */; +val* var_s /* var s: Text */; +short int var6 /* : Bool */; +val* var7 /* : ToolContext */; +val* var9 /* : ToolContext */; +val* var10 /* : Location */; +val* var12 /* : Location */; +static val* varonce; +val* var13 /* : String */; +char* var14 /* : NativeString */; +val* var15 /* : FlatString */; +val* var16 /* : Message */; +long var17 /* : Int */; +val* var19 /* : nullable Int */; +var_v = p0; +{ +{ /* Inline parser_nodes#ABinIntExpr#n_bin_number (self) on */ +var2 = self->attrs[COLOR_nit__parser_nodes__ABinIntExpr___n_bin_number].val; /* _n_bin_number on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_bin_number"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2528); +fatal_exit(1); +} +var = var2; +RET_LABEL1:(void)0; +} +} +{ +var3 = nit__lexer_work___Token___text(var); +} +{ +var4 = standard___standard__Text___substring_from(var3, 2l); +} +{ +var5 = nit__literal___standard__Text___remove_underscores(var4); +} +var_s = var5; +{ +var6 = standard___standard__Text___is_empty(var_s); +} +if (var6){ +{ +{ /* Inline literal#LiteralVisitor#toolcontext (var_v) on */ +var9 = var_v->attrs[COLOR_nit__literal__LiteralVisitor___toolcontext].val; /* _toolcontext on */ +if (unlikely(var9 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__literal, 46); +fatal_exit(1); +} +var7 = var9; +RET_LABEL8:(void)0; +} +} +{ +{ /* Inline parser_nodes#ANode#location (self) on */ +var12 = self->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on */ +if (unlikely(var12 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 24); +fatal_exit(1); +} +var10 = var12; +RET_LABEL11:(void)0; +} +} +if (likely(varonce!=NULL)) { +var13 = varonce; +} else { +var14 = "Error: invalid binary literal"; +var15 = standard___standard__NativeString___to_s_with_length(var14, 29l); +var13 = var15; +varonce = var13; +} +{ +var16 = nit___nit__ToolContext___error(var7, var10, var13); +} +goto RET_LABEL; +} else { +} +{ +var17 = standard___standard__Text___to_bin(var_s); +} +{ +{ /* Inline literal#AIntExpr#value= (self,var17) on */ +var19 = (val*)(var17<<2|1); +self->attrs[COLOR_nit__literal__AIntExpr___value].val = var19; /* _value on */ +RET_LABEL18:(void)0; +} +} +RET_LABEL:; +} +/* method literal#AOctIntExpr#accept_literal for (self: AOctIntExpr, LiteralVisitor) */ +void nit__literal___AOctIntExpr___ANode__accept_literal(val* self, val* p0) { +val* var_v /* var v: LiteralVisitor */; +val* var /* : TOctNumber */; +val* var2 /* : TOctNumber */; +val* var3 /* : String */; +val* var4 /* : Text */; +val* var5 /* : Text */; +val* var_s /* var s: Text */; +short int var6 /* : Bool */; +val* var7 /* : ToolContext */; +val* var9 /* : ToolContext */; +val* var10 /* : Location */; +val* var12 /* : Location */; +static val* varonce; +val* var13 /* : String */; +char* var14 /* : NativeString */; +val* var15 /* : FlatString */; +val* var16 /* : Message */; +long var17 /* : Int */; +val* var19 /* : nullable Int */; +var_v = p0; +{ +{ /* Inline parser_nodes#AOctIntExpr#n_oct_number (self) on */ +var2 = self->attrs[COLOR_nit__parser_nodes__AOctIntExpr___n_oct_number].val; /* _n_oct_number on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_oct_number"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2536); +fatal_exit(1); +} +var = var2; +RET_LABEL1:(void)0; +} +} +{ +var3 = nit__lexer_work___Token___text(var); +} +{ +var4 = standard___standard__Text___substring_from(var3, 2l); +} +{ +var5 = nit__literal___standard__Text___remove_underscores(var4); +} +var_s = var5; +{ +var6 = standard___standard__Text___is_empty(var_s); +} +if (var6){ +{ +{ /* Inline literal#LiteralVisitor#toolcontext (var_v) on */ +var9 = var_v->attrs[COLOR_nit__literal__LiteralVisitor___toolcontext].val; /* _toolcontext on */ +if (unlikely(var9 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__literal, 46); +fatal_exit(1); +} +var7 = var9; +RET_LABEL8:(void)0; +} +} +{ +{ /* Inline parser_nodes#ANode#location (self) on */ +var12 = self->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on */ +if (unlikely(var12 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 24); +fatal_exit(1); +} +var10 = var12; +RET_LABEL11:(void)0; +} +} +if (likely(varonce!=NULL)) { +var13 = varonce; +} else { +var14 = "Error: invalid octal literal"; +var15 = standard___standard__NativeString___to_s_with_length(var14, 28l); +var13 = var15; +varonce = var13; +} +{ +var16 = nit___nit__ToolContext___error(var7, var10, var13); +} +goto RET_LABEL; +} else { +} +{ +var17 = standard___standard__Text___to_oct(var_s); +} +{ +{ /* Inline literal#AIntExpr#value= (self,var17) on */ +var19 = (val*)(var17<<2|1); +self->attrs[COLOR_nit__literal__AIntExpr___value].val = var19; /* _value on */ +RET_LABEL18:(void)0; +} +} +RET_LABEL:; +} +/* method literal#AByteExpr#value for (self: AByteExpr): nullable Byte */ +val* nit__literal___AByteExpr___value(val* self) { +val* var /* : nullable Byte */; +val* var1 /* : nullable Byte */; +var1 = self->attrs[COLOR_nit__literal__AByteExpr___value].val; /* _value on */ +var = var1; +RET_LABEL:; +return var; +} +/* method literal#AByteExpr#value= for (self: AByteExpr, nullable Byte) */ +void nit__literal___AByteExpr___value_61d(val* self, val* p0) { +self->attrs[COLOR_nit__literal__AByteExpr___value].val = p0; /* _value on */ +RET_LABEL:; +} +/* method literal#ADecByteExpr#accept_literal for (self: ADecByteExpr, LiteralVisitor) */ +void nit__literal___ADecByteExpr___ANode__accept_literal(val* self, val* p0) { +val* var_v /* var v: LiteralVisitor */; +val* var /* : TBytenum */; +val* var2 /* : TBytenum */; +val* var3 /* : String */; +val* var_t /* var t: String */; +long var4 /* : Int */; +long var5 /* : Int */; +short int var7 /* : Bool */; +int cltype; +int idtype; +const char* var_class_name; +long var8 /* : Int */; +val* var9 /* : Text */; +long var10 /* : Int */; +unsigned char var11 /* : Byte */; +unsigned char var13 /* : Byte */; +val* var15 /* : nullable Byte */; +var_v = p0; +{ +{ /* Inline parser_nodes#ADecByteExpr#n_bytenum (self) on */ +var2 = self->attrs[COLOR_nit__parser_nodes__ADecByteExpr___n_bytenum].val; /* _n_bytenum on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_bytenum"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2549); +fatal_exit(1); +} +var = var2; +RET_LABEL1:(void)0; +} +} +{ +var3 = nit__lexer_work___Token___text(var); +} +var_t = var3; +{ +var4 = ((long(*)(val* self))(var_t->class->vft[COLOR_standard__string__Text__length]))(var_t); /* length on */ +} +{ +{ /* Inline kernel#Int#- (var4,2l) on */ +/* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */ +/* <2l:Int> isa OTHER */ +var7 = 1; /* easy <2l:Int> isa OTHER*/ +if (unlikely(!var7)) { +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, 540); +fatal_exit(1); +} +var8 = var4 - 2l; +var5 = var8; +goto RET_LABEL6; +RET_LABEL6:(void)0; +} +} +{ +var9 = ((val*(*)(val* self, long p0, long p1))(var_t->class->vft[COLOR_standard__string__Text__substring]))(var_t, 0l, var5); /* substring on */ +} +{ +var10 = standard___standard__Text___to_i(var9); +} +{ +{ /* Inline kernel#Int#to_b (var10) on */ +var13 = (unsigned char)var10; +var11 = var13; +goto RET_LABEL12; +RET_LABEL12:(void)0; +} +} +{ +{ /* Inline literal#AByteExpr#value= (self,var11) on */ +var15 = BOX_standard__Byte(var11); /* autobox from Byte to nullable Byte */ +self->attrs[COLOR_nit__literal__AByteExpr___value].val = var15; /* _value on */ +RET_LABEL14:(void)0; +} +} +RET_LABEL:; +} +/* method literal#AHexByteExpr#accept_literal for (self: AHexByteExpr, LiteralVisitor) */ +void nit__literal___AHexByteExpr___ANode__accept_literal(val* self, val* p0) { +val* var_v /* var v: LiteralVisitor */; +val* var /* : THexBytenum */; +val* var2 /* : THexBytenum */; +val* var3 /* : String */; +val* var_t /* var t: String */; +long var4 /* : Int */; +long var5 /* : Int */; +short int var7 /* : Bool */; +int cltype; +int idtype; +const char* var_class_name; +long var8 /* : Int */; +val* var9 /* : Text */; +val* var10 /* : Text */; +val* var_s /* var s: Text */; +short int var11 /* : Bool */; +val* var12 /* : ToolContext */; +val* var14 /* : ToolContext */; +val* var15 /* : Location */; +val* var17 /* : Location */; +static val* varonce; +val* var18 /* : String */; +char* var19 /* : NativeString */; +val* var20 /* : FlatString */; +val* var21 /* : Message */; +long var22 /* : Int */; +unsigned char var23 /* : Byte */; +unsigned char var25 /* : Byte */; +val* var27 /* : nullable Byte */; +var_v = p0; +{ +{ /* Inline parser_nodes#AHexByteExpr#n_hex_bytenum (self) on */ +var2 = self->attrs[COLOR_nit__parser_nodes__AHexByteExpr___n_hex_bytenum].val; /* _n_hex_bytenum on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_hex_bytenum"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2557); +fatal_exit(1); +} +var = var2; +RET_LABEL1:(void)0; +} +} +{ +var3 = nit__lexer_work___Token___text(var); +} +var_t = var3; +{ +var4 = ((long(*)(val* self))(var_t->class->vft[COLOR_standard__string__Text__length]))(var_t); /* length on */ +} +{ +{ /* Inline kernel#Int#- (var4,4l) on */ +/* Covariant cast for argument 0 (i) <4l:Int> isa OTHER */ +/* <4l:Int> isa OTHER */ +var7 = 1; /* easy <4l:Int> isa OTHER*/ +if (unlikely(!var7)) { +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, 540); +fatal_exit(1); +} +var8 = var4 - 4l; +var5 = var8; +goto RET_LABEL6; +RET_LABEL6:(void)0; +} +} +{ +var9 = ((val*(*)(val* self, long p0, long p1))(var_t->class->vft[COLOR_standard__string__Text__substring]))(var_t, 2l, var5); /* substring on */ +} +{ +var10 = nit__literal___standard__Text___remove_underscores(var9); +} +var_s = var10; +{ +var11 = standard___standard__Text___is_empty(var_s); +} +if (var11){ +{ +{ /* Inline literal#LiteralVisitor#toolcontext (var_v) on */ +var14 = var_v->attrs[COLOR_nit__literal__LiteralVisitor___toolcontext].val; /* _toolcontext on */ +if (unlikely(var14 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__literal, 46); +fatal_exit(1); +} +var12 = var14; +RET_LABEL13:(void)0; +} +} +{ +{ /* Inline parser_nodes#ANode#location (self) on */ +var17 = self->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on */ +if (unlikely(var17 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 24); +fatal_exit(1); +} +var15 = var17; +RET_LABEL16:(void)0; +} +} +if (likely(varonce!=NULL)) { +var18 = varonce; +} else { +var19 = "Error: invalid hexadecimal literal"; +var20 = standard___standard__NativeString___to_s_with_length(var19, 34l); +var18 = var20; +varonce = var18; +} +{ +var21 = nit___nit__ToolContext___error(var12, var15, var18); +} +goto RET_LABEL; +} else { +} +{ +var22 = standard___standard__Text___to_hex(var_s); +} +{ +{ /* Inline kernel#Int#to_b (var22) on */ +var25 = (unsigned char)var22; +var23 = var25; +goto RET_LABEL24; +RET_LABEL24:(void)0; +} +} +{ +{ /* Inline literal#AByteExpr#value= (self,var23) on */ +var27 = BOX_standard__Byte(var23); /* autobox from Byte to nullable Byte */ +self->attrs[COLOR_nit__literal__AByteExpr___value].val = var27; /* _value on */ +RET_LABEL26:(void)0; +} +} +RET_LABEL:; +} +/* method literal#ABinByteExpr#accept_literal for (self: ABinByteExpr, LiteralVisitor) */ +void nit__literal___ABinByteExpr___ANode__accept_literal(val* self, val* p0) { +val* var_v /* var v: LiteralVisitor */; +val* var /* : TBinBytenum */; +val* var2 /* : TBinBytenum */; +val* var3 /* : String */; +val* var_t /* var t: String */; +long var4 /* : Int */; +long var5 /* : Int */; +short int var7 /* : Bool */; +int cltype; +int idtype; +const char* var_class_name; +long var8 /* : Int */; +val* var9 /* : Text */; +val* var10 /* : Text */; +val* var_s /* var s: Text */; +short int var11 /* : Bool */; +val* var12 /* : ToolContext */; +val* var14 /* : ToolContext */; +val* var15 /* : Location */; +val* var17 /* : Location */; +static val* varonce; +val* var18 /* : String */; +char* var19 /* : NativeString */; +val* var20 /* : FlatString */; +val* var21 /* : Message */; +long var22 /* : Int */; +unsigned char var23 /* : Byte */; +unsigned char var25 /* : Byte */; +val* var27 /* : nullable Byte */; +var_v = p0; +{ +{ /* Inline parser_nodes#ABinByteExpr#n_bin_bytenum (self) on */ +var2 = self->attrs[COLOR_nit__parser_nodes__ABinByteExpr___n_bin_bytenum].val; /* _n_bin_bytenum on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_bin_bytenum"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2565); +fatal_exit(1); +} +var = var2; +RET_LABEL1:(void)0; +} +} +{ +var3 = nit__lexer_work___Token___text(var); +} +var_t = var3; +{ +var4 = ((long(*)(val* self))(var_t->class->vft[COLOR_standard__string__Text__length]))(var_t); /* length on */ +} +{ +{ /* Inline kernel#Int#- (var4,4l) on */ +/* Covariant cast for argument 0 (i) <4l:Int> isa OTHER */ +/* <4l:Int> isa OTHER */ +var7 = 1; /* easy <4l:Int> isa OTHER*/ +if (unlikely(!var7)) { +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, 540); +fatal_exit(1); +} +var8 = var4 - 4l; +var5 = var8; +goto RET_LABEL6; +RET_LABEL6:(void)0; +} +} +{ +var9 = ((val*(*)(val* self, long p0, long p1))(var_t->class->vft[COLOR_standard__string__Text__substring]))(var_t, 2l, var5); /* substring on */ +} +{ +var10 = nit__literal___standard__Text___remove_underscores(var9); +} +var_s = var10; +{ +var11 = standard___standard__Text___is_empty(var_s); +} +if (var11){ +{ +{ /* Inline literal#LiteralVisitor#toolcontext (var_v) on */ +var14 = var_v->attrs[COLOR_nit__literal__LiteralVisitor___toolcontext].val; /* _toolcontext on */ +if (unlikely(var14 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__literal, 46); +fatal_exit(1); +} +var12 = var14; +RET_LABEL13:(void)0; +} +} +{ +{ /* Inline parser_nodes#ANode#location (self) on */ +var17 = self->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on */ +if (unlikely(var17 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 24); +fatal_exit(1); +} +var15 = var17; +RET_LABEL16:(void)0; +} +} +if (likely(varonce!=NULL)) { +var18 = varonce; +} else { +var19 = "Error: invalid binary literal"; +var20 = standard___standard__NativeString___to_s_with_length(var19, 29l); +var18 = var20; +varonce = var18; +} +{ +var21 = nit___nit__ToolContext___error(var12, var15, var18); +} +goto RET_LABEL; +} else { +} +{ +var22 = standard___standard__Text___to_bin(var_s); +} +{ +{ /* Inline kernel#Int#to_b (var22) on */ +var25 = (unsigned char)var22; +var23 = var25; +goto RET_LABEL24; +RET_LABEL24:(void)0; +} +} +{ +{ /* Inline literal#AByteExpr#value= (self,var23) on */ +var27 = BOX_standard__Byte(var23); /* autobox from Byte to nullable Byte */ +self->attrs[COLOR_nit__literal__AByteExpr___value].val = var27; /* _value on */ +RET_LABEL26:(void)0; +} +} +RET_LABEL:; +} +/* method literal#AOctByteExpr#accept_literal for (self: AOctByteExpr, LiteralVisitor) */ +void nit__literal___AOctByteExpr___ANode__accept_literal(val* self, val* p0) { +val* var_v /* var v: LiteralVisitor */; +val* var /* : TOctBytenum */; +val* var2 /* : TOctBytenum */; +val* var3 /* : String */; +val* var_t /* var t: String */; +long var4 /* : Int */; +long var5 /* : Int */; +short int var7 /* : Bool */; +int cltype; +int idtype; +const char* var_class_name; +long var8 /* : Int */; +val* var9 /* : Text */; +val* var10 /* : Text */; +val* var_s /* var s: Text */; +short int var11 /* : Bool */; +val* var12 /* : ToolContext */; +val* var14 /* : ToolContext */; +val* var15 /* : Location */; +val* var17 /* : Location */; +static val* varonce; +val* var18 /* : String */; +char* var19 /* : NativeString */; +val* var20 /* : FlatString */; +val* var21 /* : Message */; +long var22 /* : Int */; +unsigned char var23 /* : Byte */; +unsigned char var25 /* : Byte */; +val* var27 /* : nullable Byte */; +var_v = p0; +{ +{ /* Inline parser_nodes#AOctByteExpr#n_oct_bytenum (self) on */ +var2 = self->attrs[COLOR_nit__parser_nodes__AOctByteExpr___n_oct_bytenum].val; /* _n_oct_bytenum on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_oct_bytenum"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2573); +fatal_exit(1); +} +var = var2; +RET_LABEL1:(void)0; +} +} +{ +var3 = nit__lexer_work___Token___text(var); +} +var_t = var3; +{ +var4 = ((long(*)(val* self))(var_t->class->vft[COLOR_standard__string__Text__length]))(var_t); /* length on */ +} +{ +{ /* Inline kernel#Int#- (var4,4l) on */ +/* Covariant cast for argument 0 (i) <4l:Int> isa OTHER */ +/* <4l:Int> isa OTHER */ +var7 = 1; /* easy <4l:Int> isa OTHER*/ +if (unlikely(!var7)) { +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, 540); +fatal_exit(1); +} +var8 = var4 - 4l; +var5 = var8; +goto RET_LABEL6; +RET_LABEL6:(void)0; +} +} +{ +var9 = ((val*(*)(val* self, long p0, long p1))(var_t->class->vft[COLOR_standard__string__Text__substring]))(var_t, 2l, var5); /* substring on */ +} +{ +var10 = nit__literal___standard__Text___remove_underscores(var9); +} +var_s = var10; +{ +var11 = standard___standard__Text___is_empty(var_s); +} +if (var11){ +{ +{ /* Inline literal#LiteralVisitor#toolcontext (var_v) on */ +var14 = var_v->attrs[COLOR_nit__literal__LiteralVisitor___toolcontext].val; /* _toolcontext on */ +if (unlikely(var14 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__literal, 46); +fatal_exit(1); +} +var12 = var14; +RET_LABEL13:(void)0; +} +} +{ +{ /* Inline parser_nodes#ANode#location (self) on */ +var17 = self->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on */ +if (unlikely(var17 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 24); +fatal_exit(1); +} +var15 = var17; +RET_LABEL16:(void)0; +} +} +if (likely(varonce!=NULL)) { +var18 = varonce; +} else { +var19 = "Error: invalid octal literal"; +var20 = standard___standard__NativeString___to_s_with_length(var19, 28l); +var18 = var20; +varonce = var18; +} +{ +var21 = nit___nit__ToolContext___error(var12, var15, var18); +} +goto RET_LABEL; +} else { +} +{ +var22 = standard___standard__Text___to_oct(var_s); +} +{ +{ /* Inline kernel#Int#to_b (var22) on */ +var25 = (unsigned char)var22; +var23 = var25; +goto RET_LABEL24; +RET_LABEL24:(void)0; +} +} +{ +{ /* Inline literal#AByteExpr#value= (self,var23) on */ +var27 = BOX_standard__Byte(var23); /* autobox from Byte to nullable Byte */ +self->attrs[COLOR_nit__literal__AByteExpr___value].val = var27; /* _value on */ +RET_LABEL26:(void)0; } } RET_LABEL:; @@ -379,8 +1202,8 @@ var_v = p0; var2 = self->attrs[COLOR_nit__parser_nodes__AFloatExpr___n_float].val; /* _n_float on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_float"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2232); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2581); +fatal_exit(1); } var = var2; RET_LABEL1:(void)0; @@ -424,33 +1247,34 @@ val* var3 /* : String */; val* var4 /* : String */; val* var_txt /* var txt: String */; long var5 /* : Int */; -long var6 /* : Int */; -short int var7 /* : Bool */; +short int var6 /* : Bool */; +short int var8 /* : Bool */; short int var9 /* : Bool */; -short int var10 /* : Bool */; -val* var11 /* : ToolContext */; -val* var13 /* : ToolContext */; -val* var14 /* : Location */; +val* var10 /* : ToolContext */; +val* var12 /* : ToolContext */; +val* var13 /* : Location */; +val* var14 /* : NativeArray[String] */; static val* varonce; -val* var15 /* : String */; -char* var16 /* : NativeString */; -long var17 /* : Int */; +static val* varonce15; +val* var16 /* : String */; +char* var17 /* : NativeString */; val* var18 /* : FlatString */; -val* var19 /* : Array[Object] */; -long var20 /* : Int */; -val* var21 /* : NativeArray[Object] */; -val* var22 /* : String */; -val* var23 /* : SequenceRead[Char] */; -long var24 /* : Int */; -val* var25 /* : nullable Object */; +static val* varonce19; +val* var20 /* : String */; +char* var21 /* : NativeString */; +val* var22 /* : FlatString */; +val* var23 /* : String */; +val* var24 /* : Message */; +val* var25 /* : SequenceRead[Char] */; +val* var26 /* : nullable Object */; var_v = p0; { { /* Inline parser_nodes#ACharExpr#n_char (self) on */ var2 = self->attrs[COLOR_nit__parser_nodes__ACharExpr___n_char].val; /* _n_char on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_char"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2240); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2589); +fatal_exit(1); } var = var2; RET_LABEL1:(void)0; @@ -464,73 +1288,78 @@ var4 = standard___standard__Text___unescape_nit(var3); } var_txt = var4; { -var5 = ((long (*)(val* self))(var_txt->class->vft[COLOR_standard__string__Text__length]))(var_txt) /* length on */; +var5 = ((long(*)(val* self))(var_txt->class->vft[COLOR_standard__string__Text__length]))(var_txt); /* length on */ } -var6 = 3; { -{ /* Inline kernel#Int#!= (var5,var6) on */ -var9 = var5 == var6; -var10 = !var9; -var7 = var10; -goto RET_LABEL8; -RET_LABEL8:(void)0; +{ /* Inline kernel#Int#!= (var5,3l) on */ +var8 = var5 == 3l; +var9 = !var8; +var6 = var9; +goto RET_LABEL7; +RET_LABEL7:(void)0; } } -if (var7){ +if (var6){ { { /* Inline literal#LiteralVisitor#toolcontext (var_v) on */ -var13 = var_v->attrs[COLOR_nit__literal__LiteralVisitor___toolcontext].val; /* _toolcontext on */ -if (unlikely(var13 == NULL)) { +var12 = var_v->attrs[COLOR_nit__literal__LiteralVisitor___toolcontext].val; /* _toolcontext on */ +if (unlikely(var12 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__literal, 46); -show_backtrace(1); +fatal_exit(1); } -var11 = var13; -RET_LABEL12:(void)0; +var10 = var12; +RET_LABEL11:(void)0; } } { -var14 = nit___nit__ANode___hot_location(self); +var13 = nit___nit__ANode___hot_location(self); } -if (varonce) { -var15 = varonce; +if (unlikely(varonce==NULL)) { +var14 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce15!=NULL)) { +var16 = varonce15; } else { -var16 = "Invalid character literal "; -var17 = 26; -var18 = standard___standard__NativeString___to_s_with_length(var16, var17); -var15 = var18; -varonce = var15; +var17 = "Syntax Error: invalid character literal `"; +var18 = standard___standard__NativeString___to_s_with_length(var17, 41l); +var16 = var18; +varonce15 = var16; } -var19 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var19 = array_instance Array[Object] */ -var20 = 2; -var21 = NEW_standard__NativeArray(var20, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var21)->values[0] = (val*) var15; -((struct instance_standard__NativeArray*)var21)->values[1] = (val*) var_txt; -{ -((void (*)(val* self, val* p0, long p1))(var19->class->vft[COLOR_standard__array__Array__with_native]))(var19, var21, var20) /* with_native on */; +((struct instance_standard__NativeArray*)var14)->values[0]=var16; +if (likely(varonce19!=NULL)) { +var20 = varonce19; +} else { +var21 = "`."; +var22 = standard___standard__NativeString___to_s_with_length(var21, 2l); +var20 = var22; +varonce19 = var20; } +((struct instance_standard__NativeArray*)var14)->values[2]=var20; +} else { +var14 = varonce; +varonce = NULL; } +((struct instance_standard__NativeArray*)var14)->values[1]=var_txt; { -var22 = ((val* (*)(val* self))(var19->class->vft[COLOR_standard__string__Object__to_s]))(var19) /* to_s on */; +var23 = ((val*(*)(val* self))(var14->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var14); /* native_to_s on */ } +varonce = var14; { -nit___nit__ToolContext___error(var11, var14, var22); /* Direct call toolcontext#ToolContext#error on */ +var24 = nit___nit__ToolContext___error(var10, var13, var23); } goto RET_LABEL; } else { } { -var23 = ((val* (*)(val* self))(var_txt->class->vft[COLOR_standard__string__Text__chars]))(var_txt) /* chars on */; +var25 = ((val*(*)(val* self))(var_txt->class->vft[COLOR_standard__string__Text__chars]))(var_txt); /* chars on */ } -var24 = 1; { -var25 = ((val* (*)(val* self, long p0))(var23->class->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var23, var24) /* [] on */; +var26 = ((val*(*)(val* self, long p0))((((long)var25&3)?class_info[((long)var25&3)]:var25->class)->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var25, 1l); /* [] on */ } { -{ /* Inline literal#ACharExpr#value= (self,var25) on */ -self->attrs[COLOR_nit__literal__ACharExpr___value].val = var25; /* _value on */ -RET_LABEL26:(void)0; +{ /* Inline literal#ACharExpr#value= (self,var26) on */ +self->attrs[COLOR_nit__literal__ACharExpr___value].val = var26; /* _value on */ +RET_LABEL27:(void)0; } } RET_LABEL:; @@ -556,70 +1385,58 @@ val* var /* : Token */; val* var2 /* : Token */; val* var3 /* : String */; val* var_txt /* var txt: String */; -long var4 /* : Int */; long var_behead /* var behead: Int */; -long var5 /* : Int */; long var_betail /* var betail: Int */; -short int var6 /* : Bool */; +short int var4 /* : Bool */; +val* var5 /* : SequenceRead[Char] */; +val* var6 /* : nullable Object */; val* var7 /* : SequenceRead[Char] */; -long var8 /* : Int */; -val* var9 /* : nullable Object */; -val* var10 /* : SequenceRead[Char] */; -long var11 /* : Int */; -val* var12 /* : nullable Object */; +val* var8 /* : nullable Object */; +short int var9 /* : Bool */; +short int var11 /* : Bool */; +short int var_ /* var : Bool */; +long var12 /* : Int */; short int var13 /* : Bool */; short int var15 /* : Bool */; -short int var_ /* var : Bool */; -long var16 /* : Int */; -long var17 /* : Int */; -short int var18 /* : Bool */; -short int var20 /* : Bool */; int cltype; int idtype; const char* var_class_name; -short int var21 /* : Bool */; -long var22 /* : Int */; -long var23 /* : Int */; -short int var24 /* : Bool */; +short int var16 /* : Bool */; +short int var17 /* : Bool */; +val* var18 /* : SequenceRead[Char] */; +val* var19 /* : nullable Object */; +short int var20 /* : Bool */; +short int var22 /* : Bool */; +uint32_t var23 /* : Char */; +short int var_24 /* var : Bool */; val* var25 /* : SequenceRead[Char] */; -long var26 /* : Int */; -val* var27 /* : nullable Object */; -char var28 /* : Char */; +val* var26 /* : nullable Object */; +short int var27 /* : Bool */; short int var29 /* : Bool */; -short int var31 /* : Bool */; -char var32 /* : Char */; -short int var_33 /* var : Bool */; -val* var34 /* : SequenceRead[Char] */; -long var35 /* : Int */; -val* var36 /* : nullable Object */; -char var37 /* : Char */; -short int var38 /* : Bool */; -short int var40 /* : Bool */; -char var41 /* : Char */; -long var42 /* : Int */; -long var43 /* : Int */; -long var44 /* : Int */; -short int var46 /* : Bool */; -int cltype47; -int idtype48; -const char* var_class_name49; -long var50 /* : Int */; -long var51 /* : Int */; -short int var53 /* : Bool */; -int cltype54; -int idtype55; -const char* var_class_name56; -long var57 /* : Int */; -val* var58 /* : Text */; -val* var59 /* : String */; +uint32_t var30 /* : Char */; +long var31 /* : Int */; +long var32 /* : Int */; +short int var34 /* : Bool */; +int cltype35; +int idtype36; +const char* var_class_name37; +long var38 /* : Int */; +long var39 /* : Int */; +short int var41 /* : Bool */; +int cltype42; +int idtype43; +const char* var_class_name44; +long var45 /* : Int */; +val* var46 /* : Text */; +val* var47 /* : String */; var_v = p0; { { /* Inline parser_nodes#AStringFormExpr#n_string (self) on */ var2 = self->attrs[COLOR_nit__parser_nodes__AStringFormExpr___n_string].val; /* _n_string on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_string"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2248); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2597); +fatal_exit(1); } var = var2; RET_LABEL1:(void)0; @@ -629,164 +1446,146 @@ RET_LABEL1:(void)0; var3 = nit__lexer_work___Token___text(var); } var_txt = var3; -var4 = 1; -var_behead = var4; -var5 = 1; -var_betail = var5; +var_behead = 1l; +var_betail = 1l; { -var7 = ((val* (*)(val* self))(var_txt->class->vft[COLOR_standard__string__Text__chars]))(var_txt) /* chars on */; +var5 = ((val*(*)(val* self))(var_txt->class->vft[COLOR_standard__string__Text__chars]))(var_txt); /* chars on */ } -var8 = 0; { -var9 = ((val* (*)(val* self, long p0))(var7->class->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var7, var8) /* [] on */; +var6 = ((val*(*)(val* self, long p0))((((long)var5&3)?class_info[((long)var5&3)]:var5->class)->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var5, 0l); /* [] on */ } { -var10 = ((val* (*)(val* self))(var_txt->class->vft[COLOR_standard__string__Text__chars]))(var_txt) /* chars on */; +var7 = ((val*(*)(val* self))(var_txt->class->vft[COLOR_standard__string__Text__chars]))(var_txt); /* chars on */ } -var11 = 1; { -var12 = ((val* (*)(val* self, long p0))(var10->class->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var10, var11) /* [] on */; +var8 = ((val*(*)(val* self, long p0))((((long)var7&3)?class_info[((long)var7&3)]:var7->class)->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var7, 1l); /* [] on */ } { -{ /* Inline kernel#Char#== (var9,var12) on */ -var15 = var9 == var12 || (((struct instance_standard__Char*)var9)->value == ((struct instance_standard__Char*)var12)->value); -var13 = var15; -goto RET_LABEL14; -RET_LABEL14:(void)0; +{ /* Inline kernel#Char#== (var6,var8) on */ +var11 = var6 == var8; +var9 = var11; +goto RET_LABEL10; +RET_LABEL10:(void)0; } } -var_ = var13; -if (var13){ +var_ = var9; +if (var9){ { -var16 = ((long (*)(val* self))(var_txt->class->vft[COLOR_standard__string__Text__length]))(var_txt) /* length on */; +var12 = ((long(*)(val* self))(var_txt->class->vft[COLOR_standard__string__Text__length]))(var_txt); /* length on */ } -var17 = 6; { -{ /* Inline kernel#Int#>= (var16,var17) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var20 = 1; /* easy isa OTHER*/ -if (unlikely(!var20)) { +{ /* Inline kernel#Int#>= (var12,6l) on */ +/* Covariant cast for argument 0 (i) <6l:Int> isa OTHER */ +/* <6l:Int> isa OTHER */ +var15 = 1; /* easy <6l:Int> isa OTHER*/ +if (unlikely(!var15)) { 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, 411); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 535); +fatal_exit(1); } -var21 = var16 >= var17; -var18 = var21; -goto RET_LABEL19; -RET_LABEL19:(void)0; +var16 = var12 >= 6l; +var13 = var16; +goto RET_LABEL14; +RET_LABEL14:(void)0; } } -var6 = var18; +var4 = var13; } else { -var6 = var_; +var4 = var_; } -if (var6){ -var22 = 3; -var_behead = var22; -var23 = 3; -var_betail = var23; +if (var4){ +var_behead = 3l; +var_betail = 3l; { -var25 = ((val* (*)(val* self))(var_txt->class->vft[COLOR_standard__string__Text__chars]))(var_txt) /* chars on */; +var18 = ((val*(*)(val* self))(var_txt->class->vft[COLOR_standard__string__Text__chars]))(var_txt); /* chars on */ } -var26 = 0; { -var27 = ((val* (*)(val* self, long p0))(var25->class->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var25, var26) /* [] on */; +var19 = ((val*(*)(val* self, long p0))((((long)var18&3)?class_info[((long)var18&3)]:var18->class)->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var18, 0l); /* [] on */ } -var28 = '\"'; { -{ /* Inline kernel#Char#== (var27,var28) on */ -var31 = (var27 != NULL) && (var27->class == &class_standard__Char); -if (var31) { -var32 = ((struct instance_standard__Char*)var27)->value; /* autounbox from nullable Object to Char */; -var31 = (var32 == var28); -} -var29 = var31; -goto RET_LABEL30; -RET_LABEL30:(void)0; +{ /* Inline kernel#Char#== (var19,'\"') on */ +var23 = (uint32_t)((long)(var19)>>2); +var22 = (var19 != NULL) && (var23 == '\"'); +var20 = var22; +goto RET_LABEL21; +RET_LABEL21:(void)0; } } -var_33 = var29; -if (var29){ +var_24 = var20; +if (var20){ { -var34 = ((val* (*)(val* self))(var_txt->class->vft[COLOR_standard__string__Text__chars]))(var_txt) /* chars on */; +var25 = ((val*(*)(val* self))(var_txt->class->vft[COLOR_standard__string__Text__chars]))(var_txt); /* chars on */ } -var35 = 3; { -var36 = ((val* (*)(val* self, long p0))(var34->class->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var34, var35) /* [] on */; +var26 = ((val*(*)(val* self, long p0))((((long)var25&3)?class_info[((long)var25&3)]:var25->class)->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var25, 3l); /* [] on */ } -var37 = '\n'; { -{ /* Inline kernel#Char#== (var36,var37) on */ -var40 = (var36 != NULL) && (var36->class == &class_standard__Char); -if (var40) { -var41 = ((struct instance_standard__Char*)var36)->value; /* autounbox from nullable Object to Char */; -var40 = (var41 == var37); -} -var38 = var40; -goto RET_LABEL39; -RET_LABEL39:(void)0; +{ /* Inline kernel#Char#== (var26,'\n') on */ +var30 = (uint32_t)((long)(var26)>>2); +var29 = (var26 != NULL) && (var30 == '\n'); +var27 = var29; +goto RET_LABEL28; +RET_LABEL28:(void)0; } } -var24 = var38; +var17 = var27; } else { -var24 = var_33; +var17 = var_24; } -if (var24){ -var42 = 4; -var_behead = var42; +if (var17){ +var_behead = 4l; } else { } } else { } { -var43 = ((long (*)(val* self))(var_txt->class->vft[COLOR_standard__string__Text__length]))(var_txt) /* length on */; +var31 = ((long(*)(val* self))(var_txt->class->vft[COLOR_standard__string__Text__length]))(var_txt); /* length on */ } { -{ /* Inline kernel#Int#- (var43,var_behead) on */ +{ /* Inline kernel#Int#- (var31,var_behead) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var46 = 1; /* easy isa OTHER*/ -if (unlikely(!var46)) { -var_class_name49 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name49); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416); -show_backtrace(1); +var34 = 1; /* easy isa OTHER*/ +if (unlikely(!var34)) { +var_class_name37 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name37); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540); +fatal_exit(1); } -var50 = var43 - var_behead; -var44 = var50; -goto RET_LABEL45; -RET_LABEL45:(void)0; +var38 = var31 - var_behead; +var32 = var38; +goto RET_LABEL33; +RET_LABEL33:(void)0; } } { -{ /* Inline kernel#Int#- (var44,var_betail) on */ +{ /* Inline kernel#Int#- (var32,var_betail) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var53 = 1; /* easy isa OTHER*/ -if (unlikely(!var53)) { -var_class_name56 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name56); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416); -show_backtrace(1); +var41 = 1; /* easy isa OTHER*/ +if (unlikely(!var41)) { +var_class_name44 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name44); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540); +fatal_exit(1); } -var57 = var44 - var_betail; -var51 = var57; -goto RET_LABEL52; -RET_LABEL52:(void)0; +var45 = var32 - var_betail; +var39 = var45; +goto RET_LABEL40; +RET_LABEL40:(void)0; } } { -var58 = ((val* (*)(val* self, long p0, long p1))(var_txt->class->vft[COLOR_standard__string__Text__substring]))(var_txt, var_behead, var51) /* substring on */; +var46 = ((val*(*)(val* self, long p0, long p1))(var_txt->class->vft[COLOR_standard__string__Text__substring]))(var_txt, var_behead, var39); /* substring on */ } { -var59 = standard___standard__Text___unescape_nit(var58); +var47 = standard___standard__Text___unescape_nit(var46); } { -{ /* Inline literal#AStringFormExpr#value= (self,var59) on */ -self->attrs[COLOR_nit__literal__AStringFormExpr___value].val = var59; /* _value on */ -RET_LABEL60:(void)0; +{ /* Inline literal#AStringFormExpr#value= (self,var47) on */ +self->attrs[COLOR_nit__literal__AStringFormExpr___value].val = var47; /* _value on */ +RET_LABEL48:(void)0; } } RET_LABEL:;