if (unlikely(var1 == NULL)) {
PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
PRINT_ERROR(" (%s:%d)\n", FILE_nit__astbuilder, 25);
-show_backtrace(1);
+fatal_exit(1);
}
var = var1;
RET_LABEL:;
val* var1 /* : ADecIntExpr */;
val* var2 /* : MModule */;
val* var4 /* : MModule */;
-static val* varonce;
-val* var5 /* : String */;
-char* var6 /* : NativeString */;
-long var7 /* : Int */;
-val* var8 /* : FlatString */;
-val* var9 /* : MClass */;
-val* var10 /* : MClassType */;
-val* var12 /* : MClassType */;
+val* var5 /* : MClassType */;
var_value = p0;
var1 = NEW_nit__ADecIntExpr(&type_nit__ADecIntExpr);
{
if (unlikely(var4 == NULL)) {
PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
PRINT_ERROR(" (%s:%d)\n", FILE_nit__astbuilder, 25);
-show_backtrace(1);
+fatal_exit(1);
}
var2 = var4;
RET_LABEL3:(void)0;
}
}
-if (varonce) {
-var5 = varonce;
-} else {
-var6 = "Int";
-var7 = 3;
-var8 = standard___standard__NativeString___to_s_with_length(var6, var7);
-var5 = var8;
-varonce = var5;
-}
{
-var9 = nit__model___MModule___get_primitive_class(var2, var5);
+var5 = nit__model___MModule___int_type(var2);
}
{
-{ /* Inline model#MClass#mclass_type (var9) on <var9:MClass> */
-var12 = var9->attrs[COLOR_nit__model__MClass___mclass_type].val; /* _mclass_type on <var9:MClass> */
-if (unlikely(var12 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 438);
-show_backtrace(1);
-}
-var10 = var12;
-RET_LABEL11:(void)0;
-}
-}
-{
-nit__astbuilder___ADecIntExpr___make(var1, var_value, var10); /* Direct call astbuilder#ADecIntExpr#make on <var1:ADecIntExpr>*/
+nit__astbuilder___ADecIntExpr___make(var1, var_value, var5); /* Direct call astbuilder#ADecIntExpr#make on <var1:ADecIntExpr>*/
}
var = var1;
goto RET_LABEL;
val* var10 /* : nullable MClassType */;
val* var11 /* : MModule */;
val* var13 /* : MModule */;
-short int var14 /* : Bool */;
-val* var15 /* : MType */;
+val* var14 /* : MType */;
val* var_mtype /* var mtype: MType */;
-val* var16 /* : AAttrExpr */;
+val* var15 /* : AAttrExpr */;
var_recv = p0;
var_attribute = p1;
{
var3 = var_attribute->attrs[COLOR_nit__model__MProperty___intro].val; /* _intro on <var_attribute:MAttribute> */
if (unlikely(var3 == NULL)) {
PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1773);
-show_backtrace(1);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1968);
+fatal_exit(1);
}
var1 = var3;
RET_LABEL2:(void)0;
}
}
{
-var7 = ((val* (*)(val* self))(var_recv->class->vft[COLOR_nit__typing__AExpr__mtype]))(var_recv) /* mtype on <var_recv:AExpr>*/;
+var7 = ((val*(*)(val* self))(var_recv->class->vft[COLOR_nit__typing__AExpr__mtype]))(var_recv); /* mtype on <var_recv:AExpr>*/
}
if (unlikely(var7 == NULL)) {
PRINT_ERROR("Runtime error: %s", "Cast failed");
PRINT_ERROR(" (%s:%d)\n", FILE_nit__astbuilder, 77);
-show_backtrace(1);
+fatal_exit(1);
}
{
{ /* Inline astbuilder#ASTBuilder#anchor (self) on <self:ASTBuilder> */
if (unlikely(var13 == NULL)) {
PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
PRINT_ERROR(" (%s:%d)\n", FILE_nit__astbuilder, 25);
-show_backtrace(1);
+fatal_exit(1);
}
var11 = var13;
RET_LABEL12:(void)0;
}
}
-var14 = 1;
if (var4 == NULL) {
PRINT_ERROR("Runtime error: %s", "Receiver is null");
PRINT_ERROR(" (%s:%d)\n", FILE_nit__astbuilder, 77);
-show_backtrace(1);
+fatal_exit(1);
} else {
-var15 = ((val* (*)(val* self, val* p0, val* p1, val* p2, short int p3))(var4->class->vft[COLOR_nit__model__MType__resolve_for]))(var4, var7, var8, var11, var14) /* resolve_for on <var4:nullable MType>*/;
+var14 = ((val*(*)(val* self, val* p0, val* p1, val* p2, short int p3))(var4->class->vft[COLOR_nit__model__MType__resolve_for]))(var4, var7, var8, var11, 1); /* resolve_for on <var4:nullable MType>*/
}
-var_mtype = var15;
-var16 = NEW_nit__AAttrExpr(&type_nit__AAttrExpr);
+var_mtype = var14;
+var15 = NEW_nit__AAttrExpr(&type_nit__AAttrExpr);
{
-nit__astbuilder___AAttrExpr___make(var16, var_recv, var_attribute, var_mtype); /* Direct call astbuilder#AAttrExpr#make on <var16:AAttrExpr>*/
+nit__astbuilder___AAttrExpr___make(var15, var_recv, var_attribute, var_mtype); /* Direct call astbuilder#AAttrExpr#make on <var15:AAttrExpr>*/
}
-var = var16;
+var = var15;
goto RET_LABEL;
RET_LABEL:;
return var;
/* method astbuilder#ASTBuilder#init for (self: ASTBuilder) */
void nit___nit__ASTBuilder___standard__kernel__Object__init(val* self) {
{
-((void (*)(val* self))(self->class->vft[COLOR_nit___nit__ASTBuilder___standard__kernel__Object__init]))(self) /* init on <self:ASTBuilder>*/;
+((void(*)(val* self))(self->class->vft[COLOR_nit___nit__ASTBuilder___standard__kernel__Object__init]))(self); /* init on <self:ASTBuilder>*/
}
RET_LABEL:;
}
val* var1 /* : nullable Variable */;
val* var3 /* : nullable Variable */;
val* var_variable /* var variable: nullable Variable */;
-val* var4 /* : null */;
+short int var4 /* : Bool */;
short int var5 /* : Bool */;
-short int var6 /* : Bool */;
val* var_other /* var other: nullable Object */;
-short int var8 /* : Bool */;
-short int var10 /* : Bool */;
-val* var11 /* : nullable ANode */;
-val* var13 /* : nullable ANode */;
-val* var14 /* : null */;
-short int var15 /* : Bool */;
-short int var16 /* : Bool */;
-val* var_other18 /* var other: nullable Object */;
-short int var19 /* : Bool */;
-short int var20 /* : Bool */;
-val* var21 /* : AExpr */;
+short int var7 /* : Bool */;
+short int var9 /* : Bool */;
+val* var10 /* : nullable ANode */;
+val* var12 /* : nullable ANode */;
+short int var13 /* : Bool */;
+short int var14 /* : Bool */;
+val* var_other16 /* var other: nullable Object */;
+short int var17 /* : Bool */;
+short int var18 /* : Bool */;
+val* var19 /* : AExpr */;
val* var_place /* var place: AExpr */;
-val* var22 /* : Variable */;
+val* var20 /* : Variable */;
static val* varonce;
-val* var23 /* : String */;
-char* var24 /* : NativeString */;
-long var25 /* : Int */;
-val* var26 /* : FlatString */;
-val* var27 /* : nullable MType */;
-val* var29 /* : AVarAssignExpr */;
+val* var21 /* : String */;
+char* var22 /* : NativeString */;
+val* var23 /* : FlatString */;
+val* var24 /* : nullable MType */;
+val* var26 /* : AVarAssignExpr */;
val* var_nvar /* var nvar: AVarAssignExpr */;
-val* var31 /* : AVarExpr */;
-val* var32 /* : nullable MType */;
-val* var34 /* : nullable MType */;
+val* var28 /* : AVarExpr */;
+val* var29 /* : nullable MType */;
+val* var31 /* : nullable MType */;
{
{ /* Inline astbuilder#AExpr#variable_cache (self) on <self:AExpr> */
var3 = self->attrs[COLOR_nit__astbuilder__AExpr___variable_cache].val; /* _variable_cache on <self:AExpr> */
}
}
var_variable = var1;
-var4 = NULL;
if (var_variable == NULL) {
-var5 = 1; /* is null */
+var4 = 1; /* is null */
} else {
-var5 = 0; /* arg is null but recv is not */
+var4 = 0; /* arg is null but recv is not */
}
if (0) {
-{ /* Inline kernel#Object#== (var_variable,var4) on <var_variable:nullable Variable> */
-var_other = var4;
+{ /* Inline kernel#Object#== (var_variable,((val*)NULL)) on <var_variable:nullable Variable> */
+var_other = ((val*)NULL);
{
{ /* Inline kernel#Object#is_same_instance (var_variable,var_other) on <var_variable:nullable Variable(Variable)> */
-var10 = var_variable == var_other;
-var8 = var10;
-goto RET_LABEL9;
-RET_LABEL9:(void)0;
+var9 = var_variable == var_other;
+var7 = var9;
+goto RET_LABEL8;
+RET_LABEL8:(void)0;
}
}
-var6 = var8;
-goto RET_LABEL7;
-RET_LABEL7:(void)0;
+var5 = var7;
+goto RET_LABEL6;
+RET_LABEL6:(void)0;
}
-var5 = var6;
+var4 = var5;
}
-if (var5){
+if (var4){
{
{ /* Inline parser_nodes#ANode#parent (self) on <self:AExpr> */
-var13 = self->attrs[COLOR_nit__parser_nodes__ANode___parent].val; /* _parent on <self:AExpr> */
-var11 = var13;
-RET_LABEL12:(void)0;
+var12 = self->attrs[COLOR_nit__parser_nodes__ANode___parent].val; /* _parent on <self:AExpr> */
+var10 = var12;
+RET_LABEL11:(void)0;
}
}
-var14 = NULL;
-if (var11 == NULL) {
-var15 = 0; /* is null */
+if (var10 == NULL) {
+var13 = 0; /* is null */
} else {
-var15 = 1; /* arg is null and recv is not */
+var13 = 1; /* arg is null and recv is not */
}
if (0) {
-{ /* Inline kernel#Object#!= (var11,var14) on <var11:nullable ANode> */
-var_other18 = var14;
+{ /* Inline kernel#Object#!= (var10,((val*)NULL)) on <var10:nullable ANode> */
+var_other16 = ((val*)NULL);
{
-var19 = ((short int (*)(val* self, val* p0))(var11->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var11, var_other18) /* == on <var11:nullable ANode(ANode)>*/;
+var17 = ((short int(*)(val* self, val* p0))(var10->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var10, var_other16); /* == on <var10:nullable ANode(ANode)>*/
}
-var20 = !var19;
-var16 = var20;
-goto RET_LABEL17;
-RET_LABEL17:(void)0;
+var18 = !var17;
+var14 = var18;
+goto RET_LABEL15;
+RET_LABEL15:(void)0;
}
-var15 = var16;
+var13 = var14;
}
-if (unlikely(!var15)) {
+if (unlikely(!var13)) {
PRINT_ERROR("Runtime error: %s", "Assert failed");
PRINT_ERROR(" (%s:%d)\n", FILE_nit__astbuilder, 117);
-show_backtrace(1);
+fatal_exit(1);
}
{
-var21 = nit__astbuilder___AExpr___detach_with_placeholder(self);
+var19 = nit__astbuilder___AExpr___detach_with_placeholder(self);
}
-var_place = var21;
-var22 = NEW_nit__Variable(&type_nit__Variable);
-if (varonce) {
-var23 = varonce;
+var_place = var19;
+var20 = NEW_nit__Variable(&type_nit__Variable);
+if (likely(varonce!=NULL)) {
+var21 = varonce;
} else {
-var24 = "";
-var25 = 0;
-var26 = standard___standard__NativeString___to_s_with_length(var24, var25);
-var23 = var26;
-varonce = var23;
+var22 = "";
+var23 = standard___standard__NativeString___to_s_with_length(var22, 0l);
+var21 = var23;
+varonce = var21;
}
{
-((void (*)(val* self, val* p0))(var22->class->vft[COLOR_nit__scope__Variable__name_61d]))(var22, var23) /* name= on <var22:Variable>*/;
+((void(*)(val* self, val* p0))(var20->class->vft[COLOR_nit__scope__Variable__name_61d]))(var20, var21); /* name= on <var20:Variable>*/
}
{
-((void (*)(val* self))(var22->class->vft[COLOR_standard__kernel__Object__init]))(var22) /* init on <var22:Variable>*/;
+((void(*)(val* self))(var20->class->vft[COLOR_standard__kernel__Object__init]))(var20); /* init on <var20:Variable>*/
}
-var_variable = var22;
+var_variable = var20;
{
-var27 = ((val* (*)(val* self))(self->class->vft[COLOR_nit__typing__AExpr__mtype]))(self) /* mtype on <self:AExpr>*/;
+var24 = ((val*(*)(val* self))(self->class->vft[COLOR_nit__typing__AExpr__mtype]))(self); /* mtype on <self:AExpr>*/
}
{
-{ /* Inline typing#Variable#declared_type= (var_variable,var27) on <var_variable:nullable Variable(Variable)> */
-var_variable->attrs[COLOR_nit__typing__Variable___declared_type].val = var27; /* _declared_type on <var_variable:nullable Variable(Variable)> */
-RET_LABEL28:(void)0;
+{ /* Inline typing#Variable#declared_type= (var_variable,var24) on <var_variable:nullable Variable(Variable)> */
+var_variable->attrs[COLOR_nit__typing__Variable___declared_type].val = var24; /* _declared_type on <var_variable:nullable Variable(Variable)> */
+RET_LABEL25:(void)0;
}
}
-var29 = NEW_nit__AVarAssignExpr(&type_nit__AVarAssignExpr);
+var26 = NEW_nit__AVarAssignExpr(&type_nit__AVarAssignExpr);
{
-nit__astbuilder___AVarAssignExpr___make(var29, var_variable, self); /* Direct call astbuilder#AVarAssignExpr#make on <var29:AVarAssignExpr>*/
+nit__astbuilder___AVarAssignExpr___make(var26, var_variable, self); /* Direct call astbuilder#AVarAssignExpr#make on <var26:AVarAssignExpr>*/
}
-var_nvar = var29;
+var_nvar = var26;
{
-nit___nit__Prod___ANode__replace_with(var_place, var_nvar); /* Direct call parser_nodes#Prod#replace_with on <var_place:AExpr>*/
+nit__transform___AExpr___nit__parser_nodes__ANode__replace_with(var_place, var_nvar); /* Direct call transform#AExpr#replace_with on <var_place:AExpr>*/
}
{
{ /* Inline astbuilder#AExpr#variable_cache= (self,var_variable) on <self:AExpr> */
self->attrs[COLOR_nit__astbuilder__AExpr___variable_cache].val = var_variable; /* _variable_cache on <self:AExpr> */
-RET_LABEL30:(void)0;
+RET_LABEL27:(void)0;
}
}
} else {
}
-var31 = NEW_nit__AVarExpr(&type_nit__AVarExpr);
+var28 = NEW_nit__AVarExpr(&type_nit__AVarExpr);
{
{ /* Inline typing#Variable#declared_type (var_variable) on <var_variable:nullable Variable(Variable)> */
-var34 = var_variable->attrs[COLOR_nit__typing__Variable___declared_type].val; /* _declared_type on <var_variable:nullable Variable(Variable)> */
-var32 = var34;
-RET_LABEL33:(void)0;
+var31 = var_variable->attrs[COLOR_nit__typing__Variable___declared_type].val; /* _declared_type on <var_variable:nullable Variable(Variable)> */
+var29 = var31;
+RET_LABEL30:(void)0;
}
}
-if (unlikely(var32 == NULL)) {
+if (unlikely(var29 == NULL)) {
PRINT_ERROR("Runtime error: %s", "Cast failed");
PRINT_ERROR(" (%s:%d)\n", FILE_nit__astbuilder, 125);
-show_backtrace(1);
+fatal_exit(1);
}
{
-nit__astbuilder___AVarExpr___make(var31, var_variable, var32); /* Direct call astbuilder#AVarExpr#make on <var31:AVarExpr>*/
+nit__astbuilder___AVarExpr___make(var28, var_variable, var29); /* Direct call astbuilder#AVarExpr#make on <var28:AVarExpr>*/
}
-var = var31;
+var = var28;
goto RET_LABEL;
RET_LABEL:;
return var;
}
var_h = var1;
{
-nit___nit__Prod___ANode__replace_with(self, var_h); /* Direct call parser_nodes#Prod#replace_with on <self:AExpr>*/
+nit__transform___AExpr___nit__parser_nodes__ANode__replace_with(self, var_h); /* Direct call transform#AExpr#replace_with on <self:AExpr>*/
}
var = var_h;
goto RET_LABEL;
/* method astbuilder#AExpr#add for (self: AExpr, AExpr) */
void nit__astbuilder___AExpr___add(val* self, val* p0) {
val* var_expr /* var expr: AExpr */;
+val* var /* : Sys */;
+val* var1 /* : NativeArray[String] */;
static val* varonce;
-val* var /* : String */;
-char* var1 /* : NativeString */;
-long var2 /* : Int */;
-val* var3 /* : FlatString */;
-val* var4 /* : String */;
-val* var5 /* : Array[Object] */;
-long var6 /* : Int */;
-val* var7 /* : NativeArray[Object] */;
-val* var8 /* : String */;
+static val* varonce2;
+val* var3 /* : String */;
+char* var4 /* : NativeString */;
+val* var5 /* : FlatString */;
+val* var6 /* : String */;
+val* var7 /* : String */;
var_expr = p0;
-if (varonce) {
-var = varonce;
+var = glob_sys;
+if (unlikely(varonce==NULL)) {
+var1 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String);
+if (likely(varonce2!=NULL)) {
+var3 = varonce2;
} else {
-var1 = "add not implemented in ";
-var2 = 23;
-var3 = standard___standard__NativeString___to_s_with_length(var1, var2);
-var = var3;
-varonce = var;
+var4 = "add not implemented in ";
+var5 = standard___standard__NativeString___to_s_with_length(var4, 23l);
+var3 = var5;
+varonce2 = var3;
}
-{
-var4 = standard__string___Object___inspect(self);
+((struct instance_standard__NativeArray*)var1)->values[0]=var3;
+} else {
+var1 = varonce;
+varonce = NULL;
}
-var5 = NEW_standard__Array(&type_standard__Array__standard__Object);
-{ /* var5 = array_instance Array[Object] */
-var6 = 2;
-var7 = NEW_standard__NativeArray(var6, &type_standard__NativeArray__standard__Object);
-((struct instance_standard__NativeArray*)var7)->values[0] = (val*) var;
-((struct instance_standard__NativeArray*)var7)->values[1] = (val*) var4;
{
-((void (*)(val* self, val* p0, long p1))(var5->class->vft[COLOR_standard__array__Array__with_native]))(var5, var7, var6) /* with_native on <var5:Array[Object]>*/;
-}
+var6 = standard__string___Object___inspect(self);
}
+((struct instance_standard__NativeArray*)var1)->values[1]=var6;
{
-var8 = ((val* (*)(val* self))(var5->class->vft[COLOR_standard__string__Object__to_s]))(var5) /* to_s on <var5:Array[Object]>*/;
+var7 = ((val*(*)(val* self))(var1->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var1); /* native_to_s on <var1:NativeArray[String]>*/
}
+varonce = var1;
{
-standard__file___Object___print(self, var8); /* Direct call file#Object#print on <self:AExpr>*/
+standard__file___Sys___print(var, var7); /* Direct call file#Sys#print on <var:Sys>*/
}
PRINT_ERROR("Runtime error: %s", "Aborted");
PRINT_ERROR(" (%s:%d)\n", FILE_nit__astbuilder, 160);
-show_backtrace(1);
+fatal_exit(1);
RET_LABEL:;
}
/* method astbuilder#APlaceholderExpr#make for (self: APlaceholderExpr) */
}
/* method astbuilder#ABlockExpr#make for (self: ABlockExpr) */
void nit__astbuilder___ABlockExpr___make(val* self) {
-short int var /* : Bool */;
-var = 1;
{
-{ /* Inline typing#AExpr#is_typed= (self,var) on <self:ABlockExpr> */
-self->attrs[COLOR_nit__typing__AExpr___is_typed].s = var; /* _is_typed on <self:ABlockExpr> */
+{ /* Inline kernel#Object#init (self) on <self:ABlockExpr> */
RET_LABEL1:(void)0;
}
}
+{
+{ /* Inline typing#AExpr#is_typed= (self,1) on <self:ABlockExpr> */
+self->attrs[COLOR_nit__typing__AExpr___is_typed].s = 1; /* _is_typed on <self:ABlockExpr> */
+RET_LABEL2:(void)0;
+}
+}
RET_LABEL:;
}
/* method astbuilder#ABlockExpr#add for (self: ABlockExpr, AExpr) */
var2 = self->attrs[COLOR_nit__parser_nodes__ABlockExpr___n_expr].val; /* _n_expr on <self:ABlockExpr> */
if (unlikely(var2 == NULL)) {
PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1565);
-show_backtrace(1);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1758);
+fatal_exit(1);
}
var = var2;
RET_LABEL1:(void)0;
/* method astbuilder#ALoopExpr#make for (self: ALoopExpr) */
void nit__astbuilder___ALoopExpr___make(val* self) {
val* var /* : TKwloop */;
-short int var2 /* : Bool */;
val* var4 /* : ABlockExpr */;
val* var6 /* : nullable AExpr */;
val* var8 /* : nullable AExpr */;
-short int var9 /* : Bool */;
+{
+{ /* Inline kernel#Object#init (self) on <self:ALoopExpr> */
+RET_LABEL1:(void)0;
+}
+}
var = NEW_nit__TKwloop(&type_nit__TKwloop);
{
{ /* Inline kernel#Object#init (var) on <var:TKwloop> */
-RET_LABEL1:(void)0;
+RET_LABEL2:(void)0;
}
}
self->attrs[COLOR_nit__parser_nodes__ALoopExpr___n_kwloop].val = var; /* _n_kwloop on <self:ALoopExpr> */
-var2 = 1;
{
-{ /* Inline typing#AExpr#is_typed= (self,var2) on <self:ALoopExpr> */
-self->attrs[COLOR_nit__typing__AExpr___is_typed].s = var2; /* _is_typed on <self:ALoopExpr> */
+{ /* Inline typing#AExpr#is_typed= (self,1) on <self:ALoopExpr> */
+self->attrs[COLOR_nit__typing__AExpr___is_typed].s = 1; /* _is_typed on <self:ALoopExpr> */
RET_LABEL3:(void)0;
}
}
RET_LABEL7:(void)0;
}
}
-var9 = 1;
if (var6 == NULL) {
PRINT_ERROR("Runtime error: %s", "Receiver is null");
PRINT_ERROR(" (%s:%d)\n", FILE_nit__astbuilder, 196);
-show_backtrace(1);
+fatal_exit(1);
} else {
-{ /* Inline typing#AExpr#is_typed= (var6,var9) on <var6:nullable AExpr> */
+{ /* Inline typing#AExpr#is_typed= (var6,1) on <var6:nullable AExpr> */
if (unlikely(var6 == NULL)) {
PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing, 627);
-show_backtrace(1);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing, 792);
+fatal_exit(1);
}
-var6->attrs[COLOR_nit__typing__AExpr___is_typed].s = var9; /* _is_typed on <var6:nullable AExpr> */
-RET_LABEL10:(void)0;
+var6->attrs[COLOR_nit__typing__AExpr___is_typed].s = 1; /* _is_typed on <var6:nullable AExpr> */
+RET_LABEL9:(void)0;
}
}
RET_LABEL:;
if (var == NULL) {
PRINT_ERROR("Runtime error: %s", "Receiver is null");
PRINT_ERROR(" (%s:%d)\n", FILE_nit__astbuilder, 201);
-show_backtrace(1);
+fatal_exit(1);
} else {
-((void (*)(val* self, val* p0))(var->class->vft[COLOR_nit__astbuilder__AExpr__add]))(var, var_expr) /* add on <var:nullable AExpr>*/;
+((void(*)(val* self, val* p0))(var->class->vft[COLOR_nit__astbuilder__AExpr__add]))(var, var_expr); /* add on <var:nullable AExpr>*/
}
RET_LABEL:;
}
/* method astbuilder#ADoExpr#make for (self: ADoExpr) */
void nit__astbuilder___ADoExpr___make(val* self) {
val* var /* : TKwdo */;
-short int var2 /* : Bool */;
val* var4 /* : ABlockExpr */;
val* var6 /* : nullable AExpr */;
val* var8 /* : nullable AExpr */;
-short int var9 /* : Bool */;
+{
+{ /* Inline kernel#Object#init (self) on <self:ADoExpr> */
+RET_LABEL1:(void)0;
+}
+}
var = NEW_nit__TKwdo(&type_nit__TKwdo);
{
{ /* Inline kernel#Object#init (var) on <var:TKwdo> */
-RET_LABEL1:(void)0;
+RET_LABEL2:(void)0;
}
}
self->attrs[COLOR_nit__parser_nodes__ADoExpr___n_kwdo].val = var; /* _n_kwdo on <self:ADoExpr> */
-var2 = 1;
{
-{ /* Inline typing#AExpr#is_typed= (self,var2) on <self:ADoExpr> */
-self->attrs[COLOR_nit__typing__AExpr___is_typed].s = var2; /* _is_typed on <self:ADoExpr> */
+{ /* Inline typing#AExpr#is_typed= (self,1) on <self:ADoExpr> */
+self->attrs[COLOR_nit__typing__AExpr___is_typed].s = 1; /* _is_typed on <self:ADoExpr> */
RET_LABEL3:(void)0;
}
}
RET_LABEL7:(void)0;
}
}
-var9 = 1;
if (var6 == NULL) {
PRINT_ERROR("Runtime error: %s", "Receiver is null");
PRINT_ERROR(" (%s:%d)\n", FILE_nit__astbuilder, 211);
-show_backtrace(1);
+fatal_exit(1);
} else {
-{ /* Inline typing#AExpr#is_typed= (var6,var9) on <var6:nullable AExpr> */
+{ /* Inline typing#AExpr#is_typed= (var6,1) on <var6:nullable AExpr> */
if (unlikely(var6 == NULL)) {
PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing, 627);
-show_backtrace(1);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing, 792);
+fatal_exit(1);
}
-var6->attrs[COLOR_nit__typing__AExpr___is_typed].s = var9; /* _is_typed on <var6:nullable AExpr> */
-RET_LABEL10:(void)0;
+var6->attrs[COLOR_nit__typing__AExpr___is_typed].s = 1; /* _is_typed on <var6:nullable AExpr> */
+RET_LABEL9:(void)0;
}
}
RET_LABEL:;
if (var == NULL) {
PRINT_ERROR("Runtime error: %s", "Receiver is null");
PRINT_ERROR(" (%s:%d)\n", FILE_nit__astbuilder, 227);
-show_backtrace(1);
+fatal_exit(1);
} else {
-((void (*)(val* self, val* p0))(var->class->vft[COLOR_nit__astbuilder__AExpr__add]))(var, var_expr) /* add on <var:nullable AExpr>*/;
+((void(*)(val* self, val* p0))(var->class->vft[COLOR_nit__astbuilder__AExpr__add]))(var, var_expr); /* add on <var:nullable AExpr>*/
}
RET_LABEL:;
}
void nit__astbuilder___ABreakExpr___make(val* self, val* p0) {
val* var_escapemark /* var escapemark: EscapeMark */;
val* var /* : TKwbreak */;
-val* var3 /* : Array[AEscapeExpr] */;
-val* var5 /* : Array[AEscapeExpr] */;
-short int var6 /* : Bool */;
+val* var4 /* : Array[AEscapeExpr] */;
+val* var6 /* : Array[AEscapeExpr] */;
+{
+{ /* Inline kernel#Object#init (self) on <self:ABreakExpr> */
+RET_LABEL1:(void)0;
+}
+}
var_escapemark = p0;
var = NEW_nit__TKwbreak(&type_nit__TKwbreak);
{
{ /* Inline kernel#Object#init (var) on <var:TKwbreak> */
-RET_LABEL1:(void)0;
+RET_LABEL2:(void)0;
}
}
self->attrs[COLOR_nit__parser_nodes__ABreakExpr___n_kwbreak].val = var; /* _n_kwbreak on <self:ABreakExpr> */
{
{ /* Inline scope#AEscapeExpr#escapemark= (self,var_escapemark) on <self:ABreakExpr> */
self->attrs[COLOR_nit__scope__AEscapeExpr___escapemark].val = var_escapemark; /* _escapemark on <self:ABreakExpr> */
-RET_LABEL2:(void)0;
+RET_LABEL3:(void)0;
}
}
{
{ /* Inline scope#EscapeMark#escapes (var_escapemark) on <var_escapemark:EscapeMark> */
-var5 = var_escapemark->attrs[COLOR_nit__scope__EscapeMark___escapes].val; /* _escapes on <var_escapemark:EscapeMark> */
-if (unlikely(var5 == NULL)) {
+var6 = var_escapemark->attrs[COLOR_nit__scope__EscapeMark___escapes].val; /* _escapes on <var_escapemark:EscapeMark> */
+if (unlikely(var6 == NULL)) {
PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _escapes");
PRINT_ERROR(" (%s:%d)\n", FILE_nit__scope, 58);
-show_backtrace(1);
+fatal_exit(1);
}
-var3 = var5;
-RET_LABEL4:(void)0;
+var4 = var6;
+RET_LABEL5:(void)0;
}
}
{
-standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var3, self); /* Direct call array#Array#add on <var3:Array[AEscapeExpr]>*/
+standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var4, self); /* Direct call array#Array#add on <var4:Array[AEscapeExpr]>*/
}
-var6 = 1;
{
-{ /* Inline typing#AExpr#is_typed= (self,var6) on <self:ABreakExpr> */
-self->attrs[COLOR_nit__typing__AExpr___is_typed].s = var6; /* _is_typed on <self:ABreakExpr> */
+{ /* Inline typing#AExpr#is_typed= (self,1) on <self:ABreakExpr> */
+self->attrs[COLOR_nit__typing__AExpr___is_typed].s = 1; /* _is_typed on <self:ABreakExpr> */
RET_LABEL7:(void)0;
}
}
val* var_condition /* var condition: AExpr */;
val* var_mtype /* var mtype: nullable MType */;
val* var /* : TKwif */;
-val* var2 /* : AExpr */;
-val* var4 /* : ABlockExpr */;
-val* var5 /* : ABlockExpr */;
-short int var7 /* : Bool */;
+val* var3 /* : AExpr */;
+val* var5 /* : TKwthen */;
+val* var7 /* : ABlockExpr */;
+val* var8 /* : TKwelse */;
+val* var10 /* : ABlockExpr */;
+{
+{ /* Inline kernel#Object#init (self) on <self:AIfExpr> */
+RET_LABEL1:(void)0;
+}
+}
var_condition = p0;
var_mtype = p1;
var = NEW_nit__TKwif(&type_nit__TKwif);
{
{ /* Inline kernel#Object#init (var) on <var:TKwif> */
-RET_LABEL1:(void)0;
+RET_LABEL2:(void)0;
}
}
self->attrs[COLOR_nit__parser_nodes__AIfExpr___n_kwif].val = var; /* _n_kwif on <self:AIfExpr> */
self->attrs[COLOR_nit__parser_nodes__AIfExpr___n_expr].val = var_condition; /* _n_expr on <self:AIfExpr> */
-var2 = self->attrs[COLOR_nit__parser_nodes__AIfExpr___n_expr].val; /* _n_expr on <self:AIfExpr> */
-if (unlikely(var2 == NULL)) {
+var3 = self->attrs[COLOR_nit__parser_nodes__AIfExpr___n_expr].val; /* _n_expr on <self:AIfExpr> */
+if (unlikely(var3 == NULL)) {
PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
PRINT_ERROR(" (%s:%d)\n", FILE_nit__astbuilder, 246);
-show_backtrace(1);
+fatal_exit(1);
}
{
-{ /* Inline parser_nodes#ANode#parent= (var2,self) on <var2:AExpr> */
-var2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var2:AExpr> */
-RET_LABEL3:(void)0;
+{ /* Inline parser_nodes#ANode#parent= (var3,self) on <var3:AExpr> */
+var3->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var3:AExpr> */
+RET_LABEL4:(void)0;
}
}
-var4 = NEW_nit__ABlockExpr(&type_nit__ABlockExpr);
+var5 = NEW_nit__TKwthen(&type_nit__TKwthen);
+{
+{ /* Inline kernel#Object#init (var5) on <var5:TKwthen> */
+RET_LABEL6:(void)0;
+}
+}
+self->attrs[COLOR_nit__parser_nodes__AIfExpr___n_kwthen].val = var5; /* _n_kwthen on <self:AIfExpr> */
+var7 = NEW_nit__ABlockExpr(&type_nit__ABlockExpr);
{
-nit__astbuilder___ABlockExpr___make(var4); /* Direct call astbuilder#ABlockExpr#make on <var4:ABlockExpr>*/
+nit__astbuilder___ABlockExpr___make(var7); /* Direct call astbuilder#ABlockExpr#make on <var7:ABlockExpr>*/
+}
+self->attrs[COLOR_nit__parser_nodes__AIfExpr___n_then].val = var7; /* _n_then on <self:AIfExpr> */
+var8 = NEW_nit__TKwelse(&type_nit__TKwelse);
+{
+{ /* Inline kernel#Object#init (var8) on <var8:TKwelse> */
+RET_LABEL9:(void)0;
}
-self->attrs[COLOR_nit__parser_nodes__AIfExpr___n_then].val = var4; /* _n_then on <self:AIfExpr> */
-var5 = NEW_nit__ABlockExpr(&type_nit__ABlockExpr);
+}
+self->attrs[COLOR_nit__parser_nodes__AIfExpr___n_kwelse].val = var8; /* _n_kwelse on <self:AIfExpr> */
+var10 = NEW_nit__ABlockExpr(&type_nit__ABlockExpr);
{
-nit__astbuilder___ABlockExpr___make(var5); /* Direct call astbuilder#ABlockExpr#make on <var5:ABlockExpr>*/
+nit__astbuilder___ABlockExpr___make(var10); /* Direct call astbuilder#ABlockExpr#make on <var10:ABlockExpr>*/
}
-self->attrs[COLOR_nit__parser_nodes__AIfExpr___n_else].val = var5; /* _n_else on <self:AIfExpr> */
+self->attrs[COLOR_nit__parser_nodes__AIfExpr___n_else].val = var10; /* _n_else on <self:AIfExpr> */
{
{ /* Inline typing#AExpr#mtype= (self,var_mtype) on <self:AIfExpr> */
self->attrs[COLOR_nit__typing__AExpr___mtype].val = var_mtype; /* _mtype on <self:AIfExpr> */
-RET_LABEL6:(void)0;
+RET_LABEL11:(void)0;
}
}
-var7 = 1;
{
-{ /* Inline typing#AExpr#is_typed= (self,var7) on <self:AIfExpr> */
-self->attrs[COLOR_nit__typing__AExpr___is_typed].s = var7; /* _is_typed on <self:AIfExpr> */
-RET_LABEL8:(void)0;
+{ /* Inline typing#AExpr#is_typed= (self,1) on <self:AIfExpr> */
+self->attrs[COLOR_nit__typing__AExpr___is_typed].s = 1; /* _is_typed on <self:AIfExpr> */
+RET_LABEL12:(void)0;
}
}
RET_LABEL:;
/* method astbuilder#AType#make for (self: AType) */
void nit__astbuilder___AType___make(val* self) {
val* var /* : TClassid */;
+{
+{ /* Inline kernel#Object#init (self) on <self:AType> */
+RET_LABEL1:(void)0;
+}
+}
var = NEW_nit__TClassid(&type_nit__TClassid);
{
{ /* Inline kernel#Object#init (var) on <var:TClassid> */
-RET_LABEL1:(void)0;
+RET_LABEL2:(void)0;
}
}
self->attrs[COLOR_nit__parser_nodes__AType___n_id].val = var; /* _n_id on <self:AType> */
long var_value /* var value: Int */;
val* var_t /* var t: MType */;
val* var /* : nullable Int */;
-val* var2 /* : TNumber */;
+val* var3 /* : TNumber */;
+{
+{ /* Inline kernel#Object#init (self) on <self:ADecIntExpr> */
+RET_LABEL1:(void)0;
+}
+}
var_value = p0;
var_t = p1;
{
{ /* Inline literal#AIntExpr#value= (self,var_value) on <self:ADecIntExpr> */
-var = BOX_standard__Int(var_value); /* autobox from Int to nullable Int */
+var = (val*)(var_value<<2|1);
self->attrs[COLOR_nit__literal__AIntExpr___value].val = var; /* _value on <self:ADecIntExpr> */
-RET_LABEL1:(void)0;
+RET_LABEL2:(void)0;
}
}
-var2 = NEW_nit__TNumber(&type_nit__TNumber);
+var3 = NEW_nit__TNumber(&type_nit__TNumber);
{
-{ /* Inline kernel#Object#init (var2) on <var2:TNumber> */
-RET_LABEL3:(void)0;
+{ /* Inline kernel#Object#init (var3) on <var3:TNumber> */
+RET_LABEL4:(void)0;
}
}
-self->attrs[COLOR_nit__parser_nodes__ADecIntExpr___n_number].val = var2; /* _n_number on <self:ADecIntExpr> */
+self->attrs[COLOR_nit__parser_nodes__ADecIntExpr___n_number].val = var3; /* _n_number on <self:ADecIntExpr> */
{
{ /* Inline typing#AExpr#mtype= (self,var_t) on <self:ADecIntExpr> */
self->attrs[COLOR_nit__typing__AExpr___mtype].val = var_t; /* _mtype on <self:ADecIntExpr> */
-RET_LABEL4:(void)0;
+RET_LABEL5:(void)0;
}
}
RET_LABEL:;
val* var_callsite /* var callsite: CallSite */;
val* var_args /* var args: nullable Array[AExpr] */;
val* var /* : TKwnew */;
-val* var2 /* : AType */;
-val* var3 /* : AListExprs */;
-val* var5 /* : null */;
+val* var3 /* : AType */;
+val* var4 /* : AListExprs */;
short int var6 /* : Bool */;
short int var7 /* : Bool */;
val* var_other /* var other: nullable Object */;
val* var34 /* : nullable MType */;
val* var36 /* : MType */;
val* var38 /* : MType */;
-short int var40 /* : Bool */;
+{
+{ /* Inline kernel#Object#init (self) on <self:ANewExpr> */
+RET_LABEL1:(void)0;
+}
+}
var_callsite = p0;
var_args = p1;
var = NEW_nit__TKwnew(&type_nit__TKwnew);
{
{ /* Inline kernel#Object#init (var) on <var:TKwnew> */
-RET_LABEL1:(void)0;
+RET_LABEL2:(void)0;
}
}
self->attrs[COLOR_nit__parser_nodes__ANewExpr___n_kwnew].val = var; /* _n_kwnew on <self:ANewExpr> */
-var2 = NEW_nit__AType(&type_nit__AType);
+var3 = NEW_nit__AType(&type_nit__AType);
{
-nit__astbuilder___AType___make(var2); /* Direct call astbuilder#AType#make on <var2:AType>*/
+nit__astbuilder___AType___make(var3); /* Direct call astbuilder#AType#make on <var3:AType>*/
}
-self->attrs[COLOR_nit__parser_nodes__ANewExpr___n_type].val = var2; /* _n_type on <self:ANewExpr> */
-var3 = NEW_nit__AListExprs(&type_nit__AListExprs);
+self->attrs[COLOR_nit__parser_nodes__ANewExpr___n_type].val = var3; /* _n_type on <self:ANewExpr> */
+var4 = NEW_nit__AListExprs(&type_nit__AListExprs);
{
-{ /* Inline kernel#Object#init (var3) on <var3:AListExprs> */
-RET_LABEL4:(void)0;
+{ /* Inline kernel#Object#init (var4) on <var4:AListExprs> */
+RET_LABEL5:(void)0;
}
}
-self->attrs[COLOR_nit__parser_nodes__ANewExpr___n_args].val = var3; /* _n_args on <self:ANewExpr> */
-var5 = NULL;
+self->attrs[COLOR_nit__parser_nodes__ANewExpr___n_args].val = var4; /* _n_args on <self:ANewExpr> */
if (var_args == NULL) {
var6 = 0; /* is null */
} else {
var6 = 1; /* arg is null and recv is not */
}
if (0) {
-{ /* Inline kernel#Object#!= (var_args,var5) on <var_args:nullable Array[AExpr]> */
-var_other = var5;
+{ /* Inline kernel#Object#!= (var_args,((val*)NULL)) on <var_args:nullable Array[AExpr]> */
+var_other = ((val*)NULL);
{
-var9 = ((short int (*)(val* self, val* p0))(var_args->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_args, var_other) /* == on <var_args:nullable Array[AExpr](Array[AExpr])>*/;
+var9 = ((short int(*)(val* self, val* p0))(var_args->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_args, var_other); /* == on <var_args:nullable Array[AExpr](Array[AExpr])>*/
}
var10 = !var9;
var7 = var10;
var13 = self->attrs[COLOR_nit__parser_nodes__ANewExpr___n_args].val; /* _n_args on <self:ANewExpr> */
if (unlikely(var13 == NULL)) {
PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1968);
-show_backtrace(1);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2261);
+fatal_exit(1);
}
var11 = var13;
RET_LABEL12:(void)0;
var16 = var11->attrs[COLOR_nit__parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <var11:AExprs> */
if (unlikely(var16 == 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);
}
var14 = var16;
RET_LABEL15:(void)0;
var20 = var_callsite->attrs[COLOR_nit__typing__CallSite___recv].val; /* _recv on <var_callsite:CallSite> */
if (unlikely(var20 == NULL)) {
PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _recv");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing, 473);
-show_backtrace(1);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing, 610);
+fatal_exit(1);
}
var18 = var20;
RET_LABEL19:(void)0;
if (unlikely(!var21)) {
var_class_name = var18 == NULL ? "null" : var18->type->name;
PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__astbuilder, 280);
-show_backtrace(1);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__astbuilder, 282);
+fatal_exit(1);
}
{
{ /* Inline typing#ANewExpr#recvtype= (self,var18) on <self:ANewExpr> */
var25 = var_callsite->attrs[COLOR_nit__typing__CallSite___mproperty].val; /* _mproperty on <var_callsite:CallSite> */
if (unlikely(var25 == NULL)) {
PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing, 487);
-show_backtrace(1);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing, 624);
+fatal_exit(1);
}
var23 = var25;
RET_LABEL24:(void)0;
var31 = var_callsite->attrs[COLOR_nit__typing__CallSite___msignature].val; /* _msignature on <var_callsite:CallSite> */
if (unlikely(var31 == NULL)) {
PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _msignature");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing, 494);
-show_backtrace(1);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing, 631);
+fatal_exit(1);
}
var29 = var31;
RET_LABEL30:(void)0;
var38 = var_callsite->attrs[COLOR_nit__typing__CallSite___recv].val; /* _recv on <var_callsite:CallSite> */
if (unlikely(var38 == NULL)) {
PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _recv");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing, 473);
-show_backtrace(1);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing, 610);
+fatal_exit(1);
}
var36 = var38;
RET_LABEL37:(void)0;
}
}
}
-var40 = 1;
{
-{ /* Inline typing#AExpr#is_typed= (self,var40) on <self:ANewExpr> */
-self->attrs[COLOR_nit__typing__AExpr___is_typed].s = var40; /* _is_typed on <self:ANewExpr> */
-RET_LABEL41:(void)0;
+{ /* Inline typing#AExpr#is_typed= (self,1) on <self:ANewExpr> */
+self->attrs[COLOR_nit__typing__AExpr___is_typed].s = 1; /* _is_typed on <self:ANewExpr> */
+RET_LABEL40:(void)0;
}
}
RET_LABEL:;
val* var_callsite /* var callsite: CallSite */;
val* var_args /* var args: nullable Array[AExpr] */;
val* var /* : AListExprs */;
-val* var2 /* : TId */;
-val* var4 /* : null */;
+val* var3 /* : TId */;
short int var5 /* : Bool */;
short int var6 /* : Bool */;
val* var_other /* var other: nullable Object */;
val* var19 /* : MSignature */;
val* var20 /* : nullable MType */;
val* var22 /* : nullable MType */;
-short int var24 /* : Bool */;
+{
+{ /* Inline kernel#Object#init (self) on <self:ACallExpr> */
+RET_LABEL1:(void)0;
+}
+}
var_recv = p0;
var_callsite = p1;
var_args = p2;
var = NEW_nit__AListExprs(&type_nit__AListExprs);
{
{ /* Inline kernel#Object#init (var) on <var:AListExprs> */
-RET_LABEL1:(void)0;
+RET_LABEL2:(void)0;
}
}
self->attrs[COLOR_nit__parser_nodes__ACallFormExpr___n_args].val = var; /* _n_args on <self:ACallExpr> */
-var2 = NEW_nit__TId(&type_nit__TId);
+var3 = NEW_nit__TId(&type_nit__TId);
{
-{ /* Inline kernel#Object#init (var2) on <var2:TId> */
-RET_LABEL3:(void)0;
+{ /* Inline kernel#Object#init (var3) on <var3:TId> */
+RET_LABEL4:(void)0;
}
}
-self->attrs[COLOR_nit__parser_nodes__ACallFormExpr___n_id].val = var2; /* _n_id on <self:ACallExpr> */
-var4 = NULL;
+self->attrs[COLOR_nit__parser_nodes__ACallFormExpr___n_id].val = var3; /* _n_id on <self:ACallExpr> */
if (var_args == NULL) {
var5 = 0; /* is null */
} else {
var5 = 1; /* arg is null and recv is not */
}
if (0) {
-{ /* Inline kernel#Object#!= (var_args,var4) on <var_args:nullable Array[AExpr]> */
-var_other = var4;
+{ /* Inline kernel#Object#!= (var_args,((val*)NULL)) on <var_args:nullable Array[AExpr]> */
+var_other = ((val*)NULL);
{
-var8 = ((short int (*)(val* self, val* p0))(var_args->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_args, var_other) /* == on <var_args:nullable Array[AExpr](Array[AExpr])>*/;
+var8 = ((short int(*)(val* self, val* p0))(var_args->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_args, var_other); /* == on <var_args:nullable Array[AExpr](Array[AExpr])>*/
}
var9 = !var8;
var6 = var9;
var12 = self->attrs[COLOR_nit__parser_nodes__ACallFormExpr___n_args].val; /* _n_args on <self:ACallExpr> */
if (unlikely(var12 == 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);
}
var10 = var12;
RET_LABEL11:(void)0;
var15 = var10->attrs[COLOR_nit__parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <var10:AExprs> */
if (unlikely(var15 == 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);
}
var13 = var15;
RET_LABEL14:(void)0;
var19 = var_callsite->attrs[COLOR_nit__typing__CallSite___msignature].val; /* _msignature on <var_callsite:CallSite> */
if (unlikely(var19 == NULL)) {
PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _msignature");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing, 494);
-show_backtrace(1);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing, 631);
+fatal_exit(1);
}
var17 = var19;
RET_LABEL18:(void)0;
RET_LABEL23:(void)0;
}
}
-var24 = 1;
{
-{ /* Inline typing#AExpr#is_typed= (self,var24) on <self:ACallExpr> */
-self->attrs[COLOR_nit__typing__AExpr___is_typed].s = var24; /* _is_typed on <self:ACallExpr> */
-RET_LABEL25:(void)0;
+{ /* Inline typing#AExpr#is_typed= (self,1) on <self:ACallExpr> */
+self->attrs[COLOR_nit__typing__AExpr___is_typed].s = 1; /* _is_typed on <self:ACallExpr> */
+RET_LABEL24:(void)0;
}
}
RET_LABEL:;
val* var_attribute /* var attribute: MAttribute */;
val* var_t /* var t: MType */;
val* var /* : TAttrid */;
+{
+{ /* Inline kernel#Object#init (self) on <self:AAttrExpr> */
+RET_LABEL1:(void)0;
+}
+}
var_recv = p0;
var_attribute = p1;
var_t = p2;
{
{ /* Inline parser_nodes#ANode#parent= (var_recv,self) on <var_recv:AExpr> */
var_recv->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_recv:AExpr> */
-RET_LABEL1:(void)0;
+RET_LABEL2:(void)0;
}
}
var = NEW_nit__TAttrid(&type_nit__TAttrid);
{
{ /* Inline kernel#Object#init (var) on <var:TAttrid> */
-RET_LABEL2:(void)0;
+RET_LABEL3:(void)0;
}
}
self->attrs[COLOR_nit__parser_nodes__AAttrFormExpr___n_id].val = var; /* _n_id on <self:AAttrExpr> */
{
{ /* Inline typing#AAttrFormExpr#mproperty= (self,var_attribute) on <self:AAttrExpr> */
self->attrs[COLOR_nit__typing__AAttrFormExpr___mproperty].val = var_attribute; /* _mproperty on <self:AAttrExpr> */
-RET_LABEL3:(void)0;
+RET_LABEL4:(void)0;
}
}
{
{ /* Inline typing#AExpr#mtype= (self,var_t) on <self:AAttrExpr> */
self->attrs[COLOR_nit__typing__AExpr___mtype].val = var_t; /* _mtype on <self:AAttrExpr> */
-RET_LABEL4:(void)0;
+RET_LABEL5:(void)0;
}
}
RET_LABEL:;
val* var_attribute /* var attribute: MAttribute */;
val* var_value /* var value: AExpr */;
val* var /* : TAttrid */;
-val* var4 /* : TAssign */;
-val* var7 /* : nullable MType */;
+val* var5 /* : TAssign */;
+val* var8 /* : nullable MType */;
+{
+{ /* Inline kernel#Object#init (self) on <self:AAttrAssignExpr> */
+RET_LABEL1:(void)0;
+}
+}
var_recv = p0;
var_attribute = p1;
var_value = p2;
{
{ /* Inline parser_nodes#ANode#parent= (var_recv,self) on <var_recv:AExpr> */
var_recv->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_recv:AExpr> */
-RET_LABEL1:(void)0;
+RET_LABEL2:(void)0;
}
}
var = NEW_nit__TAttrid(&type_nit__TAttrid);
{
{ /* Inline kernel#Object#init (var) on <var:TAttrid> */
-RET_LABEL2:(void)0;
+RET_LABEL3:(void)0;
}
}
self->attrs[COLOR_nit__parser_nodes__AAttrFormExpr___n_id].val = var; /* _n_id on <self:AAttrAssignExpr> */
{
{ /* Inline parser_nodes#ANode#parent= (var_value,self) on <var_value:AExpr> */
var_value->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_value:AExpr> */
-RET_LABEL3:(void)0;
+RET_LABEL4:(void)0;
}
}
-var4 = NEW_nit__TAssign(&type_nit__TAssign);
+var5 = NEW_nit__TAssign(&type_nit__TAssign);
{
-{ /* Inline kernel#Object#init (var4) on <var4:TAssign> */
-RET_LABEL5:(void)0;
+{ /* Inline kernel#Object#init (var5) on <var5:TAssign> */
+RET_LABEL6:(void)0;
}
}
-self->attrs[COLOR_nit__parser_nodes__AAssignFormExpr___n_assign].val = var4; /* _n_assign on <self:AAttrAssignExpr> */
+self->attrs[COLOR_nit__parser_nodes__AAssignFormExpr___n_assign].val = var5; /* _n_assign on <self:AAttrAssignExpr> */
{
{ /* Inline typing#AAttrFormExpr#mproperty= (self,var_attribute) on <self:AAttrAssignExpr> */
self->attrs[COLOR_nit__typing__AAttrFormExpr___mproperty].val = var_attribute; /* _mproperty on <self:AAttrAssignExpr> */
-RET_LABEL6:(void)0;
+RET_LABEL7:(void)0;
}
}
{
-var7 = ((val* (*)(val* self))(var_value->class->vft[COLOR_nit__typing__AExpr__mtype]))(var_value) /* mtype on <var_value:AExpr>*/;
+var8 = ((val*(*)(val* self))(var_value->class->vft[COLOR_nit__typing__AExpr__mtype]))(var_value); /* mtype on <var_value:AExpr>*/
}
{
-{ /* Inline typing#AExpr#mtype= (self,var7) on <self:AAttrAssignExpr> */
-self->attrs[COLOR_nit__typing__AExpr___mtype].val = var7; /* _mtype on <self:AAttrAssignExpr> */
-RET_LABEL8:(void)0;
+{ /* Inline typing#AExpr#mtype= (self,var8) on <self:AAttrAssignExpr> */
+self->attrs[COLOR_nit__typing__AExpr___mtype].val = var8; /* _mtype on <self:AAttrAssignExpr> */
+RET_LABEL9:(void)0;
}
}
RET_LABEL:;
val* var_v /* var v: Variable */;
val* var_mtype /* var mtype: MType */;
val* var /* : TId */;
+{
+{ /* Inline kernel#Object#init (self) on <self:AVarExpr> */
+RET_LABEL1:(void)0;
+}
+}
var_v = p0;
var_mtype = p1;
var = NEW_nit__TId(&type_nit__TId);
{
{ /* Inline kernel#Object#init (var) on <var:TId> */
-RET_LABEL1:(void)0;
+RET_LABEL2:(void)0;
}
}
self->attrs[COLOR_nit__parser_nodes__AVarFormExpr___n_id].val = var; /* _n_id on <self:AVarExpr> */
{
{ /* Inline scope#AVarFormExpr#variable= (self,var_v) on <self:AVarExpr> */
self->attrs[COLOR_nit__scope__AVarFormExpr___variable].val = var_v; /* _variable on <self:AVarExpr> */
-RET_LABEL2:(void)0;
+RET_LABEL3:(void)0;
}
}
{
{ /* Inline typing#AExpr#mtype= (self,var_mtype) on <self:AVarExpr> */
self->attrs[COLOR_nit__typing__AExpr___mtype].val = var_mtype; /* _mtype on <self:AVarExpr> */
-RET_LABEL3:(void)0;
+RET_LABEL4:(void)0;
}
}
RET_LABEL:;
val* var_v /* var v: Variable */;
val* var_value /* var value: AExpr */;
val* var /* : TId */;
-val* var3 /* : TAssign */;
-val* var6 /* : nullable MType */;
+val* var4 /* : TAssign */;
+val* var7 /* : nullable MType */;
+{
+{ /* Inline kernel#Object#init (self) on <self:AVarAssignExpr> */
+RET_LABEL1:(void)0;
+}
+}
var_v = p0;
var_value = p1;
var = NEW_nit__TId(&type_nit__TId);
{
{ /* Inline kernel#Object#init (var) on <var:TId> */
-RET_LABEL1:(void)0;
+RET_LABEL2:(void)0;
}
}
self->attrs[COLOR_nit__parser_nodes__AVarFormExpr___n_id].val = var; /* _n_id on <self:AVarAssignExpr> */
{
{ /* Inline parser_nodes#ANode#parent= (var_value,self) on <var_value:AExpr> */
var_value->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_value:AExpr> */
-RET_LABEL2:(void)0;
+RET_LABEL3:(void)0;
}
}
-var3 = NEW_nit__TAssign(&type_nit__TAssign);
+var4 = NEW_nit__TAssign(&type_nit__TAssign);
{
-{ /* Inline kernel#Object#init (var3) on <var3:TAssign> */
-RET_LABEL4:(void)0;
+{ /* Inline kernel#Object#init (var4) on <var4:TAssign> */
+RET_LABEL5:(void)0;
}
}
-self->attrs[COLOR_nit__parser_nodes__AAssignFormExpr___n_assign].val = var3; /* _n_assign on <self:AVarAssignExpr> */
+self->attrs[COLOR_nit__parser_nodes__AAssignFormExpr___n_assign].val = var4; /* _n_assign on <self:AVarAssignExpr> */
{
{ /* Inline scope#AVarFormExpr#variable= (self,var_v) on <self:AVarAssignExpr> */
self->attrs[COLOR_nit__scope__AVarFormExpr___variable].val = var_v; /* _variable on <self:AVarAssignExpr> */
-RET_LABEL5:(void)0;
+RET_LABEL6:(void)0;
}
}
{
-var6 = ((val* (*)(val* self))(var_value->class->vft[COLOR_nit__typing__AExpr__mtype]))(var_value) /* mtype on <var_value:AExpr>*/;
+var7 = ((val*(*)(val* self))(var_value->class->vft[COLOR_nit__typing__AExpr__mtype]))(var_value); /* mtype on <var_value:AExpr>*/
}
{
-{ /* Inline typing#AExpr#mtype= (self,var6) on <self:AVarAssignExpr> */
-self->attrs[COLOR_nit__typing__AExpr___mtype].val = var6; /* _mtype on <self:AVarAssignExpr> */
-RET_LABEL7:(void)0;
+{ /* Inline typing#AExpr#mtype= (self,var7) on <self:AVarAssignExpr> */
+self->attrs[COLOR_nit__typing__AExpr___mtype].val = var7; /* _mtype on <self:AVarAssignExpr> */
+RET_LABEL8:(void)0;
}
}
RET_LABEL:;