X-Git-Url: http://nitlanguage.org diff --git a/c_src/astvalidation.sep.1.c b/c_src/astvalidation.sep.1.c index 10b6f81..1808a29 100644 --- a/c_src/astvalidation.sep.1.c +++ b/c_src/astvalidation.sep.1.c @@ -3,31 +3,60 @@ void astvalidation__ASTValidationVisitor__visit(val* self, val* p0) { val* var_node /* var node: ANode */; val* var /* : List[ANode] */; -val* var1 /* : List[ANode] */; -val* var2 /* : nullable Object */; +val* var2 /* : List[ANode] */; +val* var3 /* : List[ANode] */; +val* var5 /* : List[ANode] */; +val* var6 /* : nullable Object */; var_node = p0; -var = ((val* (*)(val*))(self->class->vft[COLOR_astvalidation__ASTValidationVisitor__path]))(self) /* path on */; -((void (*)(val*, val*))(var->class->vft[COLOR_abstract_collection__Sequence__unshift]))(var, var_node) /* unshift on */; +{ +{ /* Inline astvalidation#ASTValidationVisitor#path (self) on */ +var2 = self->attrs[COLOR_astvalidation__ASTValidationVisitor___path].val; /* _path on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _path"); +PRINT_ERROR(" (%s:%d)\n", "astvalidation.nit", 29); +show_backtrace(1); +} +var = var2; +RET_LABEL1:(void)0; +} +} +{ +list__List__unshift(var, var_node); /* Direct call list#List#unshift on */ +} +{ ((void (*)(val*, val*))(var_node->class->vft[COLOR_astvalidation__ANode__accept_ast_validation]))(var_node, self) /* accept_ast_validation on */; -var1 = ((val* (*)(val*))(self->class->vft[COLOR_astvalidation__ASTValidationVisitor__path]))(self) /* path on */; -var2 = ((val* (*)(val*))(var1->class->vft[COLOR_abstract_collection__Sequence__shift]))(var1) /* shift on */; -var2; +} +{ +{ /* Inline astvalidation#ASTValidationVisitor#path (self) on */ +var5 = self->attrs[COLOR_astvalidation__ASTValidationVisitor___path].val; /* _path on */ +if (unlikely(var5 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _path"); +PRINT_ERROR(" (%s:%d)\n", "astvalidation.nit", 29); +show_backtrace(1); +} +var3 = var5; +RET_LABEL4:(void)0; +} +} +{ +var6 = list__List__shift(var3); +} RET_LABEL:; } /* method astvalidation#ASTValidationVisitor#visit for (self: Object, ANode) */ void VIRTUAL_astvalidation__ASTValidationVisitor__visit(val* self, val* p0) { -astvalidation__ASTValidationVisitor__visit(self, p0); +astvalidation__ASTValidationVisitor__visit(self, p0); /* Direct call astvalidation#ASTValidationVisitor#visit on */ RET_LABEL:; } /* method astvalidation#ASTValidationVisitor#path for (self: ASTValidationVisitor): List[ANode] */ val* astvalidation__ASTValidationVisitor__path(val* self) { val* var /* : List[ANode] */; val* var1 /* : List[ANode] */; -var1 = self->attrs[COLOR_astvalidation__ASTValidationVisitor___64dpath].val; /* @path on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @path"); -fprintf(stderr, " (%s:%d)\n", "src/astvalidation.nit", 30); -exit(1); +var1 = self->attrs[COLOR_astvalidation__ASTValidationVisitor___path].val; /* _path on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _path"); +PRINT_ERROR(" (%s:%d)\n", "astvalidation.nit", 29); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -37,30 +66,30 @@ return var; val* VIRTUAL_astvalidation__ASTValidationVisitor__path(val* self) { val* var /* : List[ANode] */; val* var1 /* : List[ANode] */; -var1 = astvalidation__ASTValidationVisitor__path(self); -var = var1; -RET_LABEL:; -return var; +val* var3 /* : List[ANode] */; +{ /* Inline astvalidation#ASTValidationVisitor#path (self) on */ +var3 = self->attrs[COLOR_astvalidation__ASTValidationVisitor___path].val; /* _path on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _path"); +PRINT_ERROR(" (%s:%d)\n", "astvalidation.nit", 29); +show_backtrace(1); } -/* method astvalidation#ASTValidationVisitor#path= for (self: ASTValidationVisitor, List[ANode]) */ -void astvalidation__ASTValidationVisitor__path_61d(val* self, val* p0) { -self->attrs[COLOR_astvalidation__ASTValidationVisitor___64dpath].val = p0; /* @path on */ -RET_LABEL:; +var1 = var3; +RET_LABEL2:(void)0; } -/* method astvalidation#ASTValidationVisitor#path= for (self: Object, List[ANode]) */ -void VIRTUAL_astvalidation__ASTValidationVisitor__path_61d(val* self, val* p0) { -astvalidation__ASTValidationVisitor__path_61d(self, p0); +var = var1; RET_LABEL:; +return var; } /* method astvalidation#ASTValidationVisitor#seen for (self: ASTValidationVisitor): HashSet[ANode] */ val* astvalidation__ASTValidationVisitor__seen(val* self) { val* var /* : HashSet[ANode] */; val* var1 /* : HashSet[ANode] */; -var1 = self->attrs[COLOR_astvalidation__ASTValidationVisitor___64dseen].val; /* @seen on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @seen"); -fprintf(stderr, " (%s:%d)\n", "src/astvalidation.nit", 31); -exit(1); +var1 = self->attrs[COLOR_astvalidation__ASTValidationVisitor___seen].val; /* _seen on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _seen"); +PRINT_ERROR(" (%s:%d)\n", "astvalidation.nit", 30); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -70,195 +99,324 @@ return var; val* VIRTUAL_astvalidation__ASTValidationVisitor__seen(val* self) { val* var /* : HashSet[ANode] */; val* var1 /* : HashSet[ANode] */; -var1 = astvalidation__ASTValidationVisitor__seen(self); -var = var1; -RET_LABEL:; -return var; +val* var3 /* : HashSet[ANode] */; +{ /* Inline astvalidation#ASTValidationVisitor#seen (self) on */ +var3 = self->attrs[COLOR_astvalidation__ASTValidationVisitor___seen].val; /* _seen on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _seen"); +PRINT_ERROR(" (%s:%d)\n", "astvalidation.nit", 30); +show_backtrace(1); } -/* method astvalidation#ASTValidationVisitor#seen= for (self: ASTValidationVisitor, HashSet[ANode]) */ -void astvalidation__ASTValidationVisitor__seen_61d(val* self, val* p0) { -self->attrs[COLOR_astvalidation__ASTValidationVisitor___64dseen].val = p0; /* @seen on */ -RET_LABEL:; +var1 = var3; +RET_LABEL2:(void)0; } -/* method astvalidation#ASTValidationVisitor#seen= for (self: Object, HashSet[ANode]) */ -void VIRTUAL_astvalidation__ASTValidationVisitor__seen_61d(val* self, val* p0) { -astvalidation__ASTValidationVisitor__seen_61d(self, p0); -RET_LABEL:; -} -/* method astvalidation#ASTValidationVisitor#init for (self: ASTValidationVisitor) */ -void astvalidation__ASTValidationVisitor__init(val* self) { -((void (*)(val*))(self->class->vft[COLOR_parser_nodes__Visitor__init]))(self) /* init on */; -RET_LABEL:; -} -/* method astvalidation#ASTValidationVisitor#init for (self: Object) */ -void VIRTUAL_astvalidation__ASTValidationVisitor__init(val* self) { -astvalidation__ASTValidationVisitor__init(self); +var = var1; RET_LABEL:; +return var; } /* method astvalidation#ANode#accept_ast_validation for (self: ANode, ASTValidationVisitor) */ void astvalidation__ANode__accept_ast_validation(val* self, val* p0) { val* var_v /* var v: ASTValidationVisitor */; val* var /* : nullable ANode */; +val* var2 /* : nullable ANode */; val* var_parent /* var parent: nullable ANode */; -val* var1 /* : List[ANode] */; -long var2 /* : Int */; -long var3 /* : Int */; -short int var4 /* : Bool */; -short int var6 /* : Bool */; +val* var3 /* : List[ANode] */; +val* var5 /* : List[ANode] */; +long var6 /* : Int */; +long var7 /* : Int */; +short int var8 /* : Bool */; +short int var10 /* : Bool */; int cltype; int idtype; const char* var_class_name; -short int var7 /* : Bool */; -val* var8 /* : List[ANode] */; -long var9 /* : Int */; -val* var10 /* : nullable Object */; +short int var11 /* : Bool */; +val* var12 /* : List[ANode] */; +val* var14 /* : List[ANode] */; +long var15 /* : Int */; +val* var16 /* : nullable Object */; val* var_path_parent /* var path_parent: ANode */; -val* var11 /* : null */; -short int var12 /* : Bool */; -short int var13 /* : Bool */; +val* var17 /* : null */; +short int var18 /* : Bool */; +short int var19 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var21 /* : Bool */; +short int var23 /* : Bool */; +short int var25 /* : Bool */; +short int var26 /* : Bool */; +val* var_other28 /* var other: nullable Object */; +short int var29 /* : Bool */; +short int var30 /* : Bool */; +short int var31 /* : Bool */; static val* varonce; -val* var14 /* : String */; -char* var15 /* : NativeString */; -long var16 /* : Int */; -val* var17 /* : String */; -static val* varonce18; -val* var19 /* : String */; -char* var20 /* : NativeString */; -long var21 /* : Int */; -val* var22 /* : String */; -val* var23 /* : Array[Object] */; -long var24 /* : Int */; -val* var25 /* : NativeArray[Object] */; -val* var26 /* : String */; -val* var27 /* : HashSet[ANode] */; -short int var28 /* : Bool */; -static val* varonce29; -val* var30 /* : String */; -char* var31 /* : NativeString */; -long var32 /* : Int */; val* var33 /* : String */; -val* var34 /* : HashSet[ANode] */; -val* var35 /* : nullable Location */; -val* var36 /* : null */; -short int var37 /* : Bool */; -val* var38 /* : nullable ANode */; -val* var39 /* : Location */; +char* var34 /* : NativeString */; +long var35 /* : Int */; +val* var36 /* : FlatString */; +static val* varonce37; +val* var38 /* : String */; +char* var39 /* : NativeString */; +long var40 /* : Int */; +val* var41 /* : FlatString */; +val* var42 /* : Array[Object] */; +long var43 /* : Int */; +val* var44 /* : NativeArray[Object] */; +val* var45 /* : String */; +val* var46 /* : HashSet[ANode] */; +val* var48 /* : HashSet[ANode] */; +short int var49 /* : Bool */; +static val* varonce50; +val* var51 /* : String */; +char* var52 /* : NativeString */; +long var53 /* : Int */; +val* var54 /* : FlatString */; +val* var55 /* : HashSet[ANode] */; +val* var57 /* : HashSet[ANode] */; +short int var58 /* : Bool */; +short int var59 /* : Bool */; +val* var60 /* : nullable ANode */; +val* var62 /* : nullable ANode */; +val* var63 /* : Location */; +val* var65 /* : Location */; var_v = p0; -var = ((val* (*)(val*))(self->class->vft[COLOR_parser_nodes__ANode__parent]))(self) /* parent on */; +{ +{ /* Inline parser_nodes#ANode#parent (self) on */ +var2 = self->attrs[COLOR_parser_nodes__ANode___parent].val; /* _parent on */ +var = var2; +RET_LABEL1:(void)0; +} +} var_parent = var; -var1 = ((val* (*)(val*))(var_v->class->vft[COLOR_astvalidation__ASTValidationVisitor__path]))(var_v) /* path on */; -var2 = ((long (*)(val*))(var1->class->vft[COLOR_abstract_collection__Collection__length]))(var1) /* length on */; -var3 = 1; -{ /* Inline kernel#Int#> (var2,var3) */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var6 = 1; /* easy isa OTHER*/ -if (!var6) { +{ +{ /* Inline astvalidation#ASTValidationVisitor#path (var_v) on */ +var5 = var_v->attrs[COLOR_astvalidation__ASTValidationVisitor___path].val; /* _path on */ +if (unlikely(var5 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _path"); +PRINT_ERROR(" (%s:%d)\n", "astvalidation.nit", 29); +show_backtrace(1); +} +var3 = var5; +RET_LABEL4:(void)0; +} +} +{ +var6 = list__List__length(var3); +} +var7 = 1; +{ +{ /* Inline kernel#Int#> (var6,var7) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var10 = 1; /* easy isa OTHER*/ +if (unlikely(!var10)) { var_class_name = type_kernel__Int.name; -fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 263); -exit(1); +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 373); +show_backtrace(1); } -var7 = var2 > var3; -var4 = var7; -goto RET_LABEL5; -RET_LABEL5:(void)0; +var11 = var6 > var7; +var8 = var11; +goto RET_LABEL9; +RET_LABEL9:(void)0; +} +} +if (var8){ +{ +{ /* Inline astvalidation#ASTValidationVisitor#path (var_v) on */ +var14 = var_v->attrs[COLOR_astvalidation__ASTValidationVisitor___path].val; /* _path on */ +if (unlikely(var14 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _path"); +PRINT_ERROR(" (%s:%d)\n", "astvalidation.nit", 29); +show_backtrace(1); +} +var12 = var14; +RET_LABEL13:(void)0; } -if (var4){ -var8 = ((val* (*)(val*))(var_v->class->vft[COLOR_astvalidation__ASTValidationVisitor__path]))(var_v) /* path on */; -var9 = 1; -var10 = ((val* (*)(val*, long))(var8->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var8, var9) /* [] on */; -var_path_parent = var10; -var11 = NULL; +} +var15 = 1; +{ +var16 = list__List___91d_93d(var12, var15); +} +var_path_parent = var16; +var17 = NULL; if (var_parent == NULL) { -var12 = 1; /* is null */ +var18 = 1; /* is null */ } else { -var12 = 0; /* arg is null but recv is not */ +var18 = 0; /* arg is null but recv is not */ +} +if (0) { +{ /* Inline kernel#Object#== (var_parent,var17) on */ +var_other = var17; +{ +{ /* Inline kernel#Object#is_same_instance (var_parent,var_other) on */ +var23 = var_parent == var_other; +var21 = var23; +goto RET_LABEL22; +RET_LABEL22:(void)0; +} +} +var19 = var21; +goto RET_LABEL20; +RET_LABEL20:(void)0; +} +var18 = var19; +} +if (var18){ +{ +{ /* Inline parser_nodes#ANode#parent= (self,var_path_parent) on */ +self->attrs[COLOR_parser_nodes__ANode___parent].val = var_path_parent; /* _parent on */ +RET_LABEL24:(void)0; +} } -if (var12){ -((void (*)(val*, val*))(self->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(self, var_path_parent) /* parent= on */; } else { -var13 = ((short int (*)(val*, val*))(var_parent->class->vft[COLOR_kernel__Object___33d_61d]))(var_parent, var_path_parent) /* != on */; -if (var13){ -((void (*)(val*, val*))(self->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(self, var_path_parent) /* parent= on */; +{ +{ /* Inline kernel#Object#!= (var_parent,var_path_parent) on */ +var_other28 = var_path_parent; +{ +var30 = ((short int (*)(val*, val*))(var_parent->class->vft[COLOR_kernel__Object___61d_61d]))(var_parent, var_other28) /* == on */; +var29 = var30; +} +var31 = !var29; +var26 = var31; +goto RET_LABEL27; +RET_LABEL27:(void)0; +} +var25 = var26; +} +if (var25){ +{ +{ /* Inline parser_nodes#ANode#parent= (self,var_path_parent) on */ +self->attrs[COLOR_parser_nodes__ANode___parent].val = var_path_parent; /* _parent on */ +RET_LABEL32:(void)0; +} +} if (varonce) { -var14 = varonce; +var33 = varonce; } else { -var15 = "PARENT: expected parent: "; -var16 = 25; -var17 = string__NativeString__to_s_with_length(var15, var16); -var14 = var17; -varonce = var14; -} -if (varonce18) { -var19 = varonce18; +var34 = "PARENT: expected parent: "; +var35 = 25; +var36 = string__NativeString__to_s_with_length(var34, var35); +var33 = var36; +varonce = var33; +} +if (varonce37) { +var38 = varonce37; } else { -var20 = ", got "; -var21 = 6; -var22 = string__NativeString__to_s_with_length(var20, var21); -var19 = var22; -varonce18 = var19; -} -var23 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var23 = array_instance Array[Object] */ -var24 = 4; -var25 = NEW_array__NativeArray(var24, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var25)->values[0] = (val*) var14; -((struct instance_array__NativeArray*)var25)->values[1] = (val*) var_path_parent; -((struct instance_array__NativeArray*)var25)->values[2] = (val*) var19; -((struct instance_array__NativeArray*)var25)->values[3] = (val*) var_parent; -((void (*)(val*, val*, long))(var23->class->vft[COLOR_array__Array__with_native]))(var23, var25, var24) /* with_native on */; -CHECK_NEW_array__Array(var23); -} -var26 = ((val* (*)(val*))(var23->class->vft[COLOR_string__Object__to_s]))(var23) /* to_s on */; -((void (*)(val*, val*))(self->class->vft[COLOR_parser_nodes__ANode__debug]))(self, var26) /* debug on */; +var39 = ", got "; +var40 = 6; +var41 = string__NativeString__to_s_with_length(var39, var40); +var38 = var41; +varonce37 = var38; +} +var42 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var42 = array_instance Array[Object] */ +var43 = 4; +var44 = NEW_array__NativeArray(var43, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var44)->values[0] = (val*) var33; +((struct instance_array__NativeArray*)var44)->values[1] = (val*) var_path_parent; +((struct instance_array__NativeArray*)var44)->values[2] = (val*) var38; +((struct instance_array__NativeArray*)var44)->values[3] = (val*) var_parent; +{ +((void (*)(val*, val*, long))(var42->class->vft[COLOR_array__Array__with_native]))(var42, var44, var43) /* with_native on */; +} +} +{ +var45 = ((val* (*)(val*))(var42->class->vft[COLOR_string__Object__to_s]))(var42) /* to_s on */; +} +{ +parser_nodes__ANode__debug(self, var45); /* Direct call parser_nodes#ANode#debug on */ +} } else { } } } else { } -var27 = ((val* (*)(val*))(var_v->class->vft[COLOR_astvalidation__ASTValidationVisitor__seen]))(var_v) /* seen on */; -var28 = ((short int (*)(val*, val*))(var27->class->vft[COLOR_abstract_collection__Collection__has]))(var27, self) /* has on */; -if (var28){ -if (varonce29) { -var30 = varonce29; -} else { -var31 = "DUPLICATE: already seen node. NOTATREE"; -var32 = 38; -var33 = string__NativeString__to_s_with_length(var31, var32); -var30 = var33; -varonce29 = var30; +{ +{ /* Inline astvalidation#ASTValidationVisitor#seen (var_v) on */ +var48 = var_v->attrs[COLOR_astvalidation__ASTValidationVisitor___seen].val; /* _seen on */ +if (unlikely(var48 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _seen"); +PRINT_ERROR(" (%s:%d)\n", "astvalidation.nit", 30); +show_backtrace(1); +} +var46 = var48; +RET_LABEL47:(void)0; +} } -((void (*)(val*, val*))(self->class->vft[COLOR_parser_nodes__ANode__debug]))(self, var30) /* debug on */; +{ +var49 = hash_collection__HashSet__has(var46, self); +} +if (var49){ +if (varonce50) { +var51 = varonce50; } else { +var52 = "DUPLICATE: already seen node. NOTATREE"; +var53 = 38; +var54 = string__NativeString__to_s_with_length(var52, var53); +var51 = var54; +varonce50 = var51; +} +{ +parser_nodes__ANode__debug(self, var51); /* Direct call parser_nodes#ANode#debug on */ } -var34 = ((val* (*)(val*))(var_v->class->vft[COLOR_astvalidation__ASTValidationVisitor__seen]))(var_v) /* seen on */; -((void (*)(val*, val*))(var34->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var34, self) /* add on */; -var35 = self->attrs[COLOR_parser_nodes__ANode___location].val; /* _location on */ -var36 = NULL; -if (var35 == NULL) { -var37 = 1; /* is null */ } else { -var37 = 0; /* arg is null but recv is not */ -} -if (var37){ -var38 = ((val* (*)(val*))(self->class->vft[COLOR_parser_nodes__ANode__parent]))(self) /* parent on */; -if (var38 == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/astvalidation.nit", 57); -exit(1); +} +{ +{ /* Inline astvalidation#ASTValidationVisitor#seen (var_v) on */ +var57 = var_v->attrs[COLOR_astvalidation__ASTValidationVisitor___seen].val; /* _seen on */ +if (unlikely(var57 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _seen"); +PRINT_ERROR(" (%s:%d)\n", "astvalidation.nit", 30); +show_backtrace(1); +} +var55 = var57; +RET_LABEL56:(void)0; +} +} +{ +hash_collection__HashSet__add(var55, self); /* Direct call hash_collection#HashSet#add on */ +} +var58 = self->attrs[COLOR_parser_nodes__ANode___location].val != NULL; /* _location on */ +var59 = !var58; +if (var59){ +{ +{ /* Inline parser_nodes#ANode#parent (self) on */ +var62 = self->attrs[COLOR_parser_nodes__ANode___parent].val; /* _parent on */ +var60 = var62; +RET_LABEL61:(void)0; +} +} +if (var60 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "astvalidation.nit", 56); +show_backtrace(1); } else { -var39 = ((val* (*)(val*))(var38->class->vft[COLOR_parser_nodes__ANode__location]))(var38) /* location on */; +{ /* Inline parser_nodes#ANode#location (var60) on */ +if (unlikely(var60 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 23); +show_backtrace(1); +} +var65 = var60->attrs[COLOR_parser_nodes__ANode___location].val; /* _location on */ +if (unlikely(var65 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 23); +show_backtrace(1); +} +var63 = var65; +RET_LABEL64:(void)0; } -self->attrs[COLOR_parser_nodes__ANode___location].val = var39; /* _location on */ +} +self->attrs[COLOR_parser_nodes__ANode___location].val = var63; /* _location on */ } else { } +{ ((void (*)(val*, val*))(self->class->vft[COLOR_parser_nodes__ANode__visit_all]))(self, var_v) /* visit_all on */; +} RET_LABEL:; } /* method astvalidation#ANode#accept_ast_validation for (self: Object, ASTValidationVisitor) */ void VIRTUAL_astvalidation__ANode__accept_ast_validation(val* self, val* p0) { -astvalidation__ANode__accept_ast_validation(self, p0); +astvalidation__ANode__accept_ast_validation(self, p0); /* Direct call astvalidation#ANode#accept_ast_validation on */ RET_LABEL:; } /* method astvalidation#AAnnotations#accept_ast_validation for (self: AAnnotations, ASTValidationVisitor) */ @@ -269,7 +427,11 @@ RET_LABEL:; } /* method astvalidation#AAnnotations#accept_ast_validation for (self: Object, ASTValidationVisitor) */ void VIRTUAL_astvalidation__AAnnotations__accept_ast_validation(val* self, val* p0) { -astvalidation__AAnnotations__accept_ast_validation(self, p0); +val* var_v /* var v: ASTValidationVisitor */; +{ /* Inline astvalidation#AAnnotations#accept_ast_validation (self,p0) on */ +var_v = p0; +RET_LABEL1:(void)0; +} RET_LABEL:; } /* method astvalidation#AExpr#accept_ast_validation for (self: AExpr, ASTValidationVisitor) */ @@ -279,49 +441,83 @@ short int var /* : Bool */; val* var1 /* : nullable MType */; val* var2 /* : null */; short int var3 /* : Bool */; -short int var_ /* var : Bool */; short int var4 /* : Bool */; -short int var5 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var6 /* : Bool */; +short int var8 /* : Bool */; +short int var_ /* var : Bool */; +short int var9 /* : Bool */; +short int var11 /* : Bool */; +short int var12 /* : Bool */; static val* varonce; -val* var6 /* : String */; -char* var7 /* : NativeString */; -long var8 /* : Int */; -val* var9 /* : String */; +val* var13 /* : String */; +char* var14 /* : NativeString */; +long var15 /* : Int */; +val* var16 /* : FlatString */; var_v = p0; +{ ((void (*)(val*, val*))(self->class->vft[COLOR_astvalidation__AExpr__accept_ast_validation]))(self, p0) /* accept_ast_validation on */; +} +{ var1 = ((val* (*)(val*))(self->class->vft[COLOR_typing__AExpr__mtype]))(self) /* mtype on */; +} var2 = NULL; if (var1 == NULL) { var3 = 1; /* is null */ } else { var3 = 0; /* arg is null but recv is not */ } +if (0) { +{ /* Inline kernel#Object#== (var1,var2) on */ +var_other = var2; +{ +{ /* Inline kernel#Object#is_same_instance (var1,var_other) on */ +var8 = var1 == var_other; +var6 = var8; +goto RET_LABEL7; +RET_LABEL7:(void)0; +} +} +var4 = var6; +goto RET_LABEL5; +RET_LABEL5:(void)0; +} +var3 = var4; +} var_ = var3; if (var3){ -var4 = ((short int (*)(val*))(self->class->vft[COLOR_typing__AExpr__is_typed]))(self) /* is_typed on */; -var5 = !var4; -var = var5; +{ +{ /* Inline typing#AExpr#is_typed (self) on */ +var11 = self->attrs[COLOR_typing__AExpr___is_typed].s; /* _is_typed on */ +var9 = var11; +RET_LABEL10:(void)0; +} +} +var12 = !var9; +var = var12; } else { var = var_; } if (var){ if (varonce) { -var6 = varonce; +var13 = varonce; } else { -var7 = "TYPING: untyped expression"; -var8 = 26; -var9 = string__NativeString__to_s_with_length(var7, var8); -var6 = var9; -varonce = var6; +var14 = "TYPING: untyped expression"; +var15 = 26; +var16 = string__NativeString__to_s_with_length(var14, var15); +var13 = var16; +varonce = var13; +} +{ +parser_nodes__ANode__debug(self, var13); /* Direct call parser_nodes#ANode#debug on */ } -((void (*)(val*, val*))(self->class->vft[COLOR_parser_nodes__ANode__debug]))(self, var6) /* debug on */; } else { } RET_LABEL:; } /* method astvalidation#AExpr#accept_ast_validation for (self: Object, ASTValidationVisitor) */ void VIRTUAL_astvalidation__AExpr__accept_ast_validation(val* self, val* p0) { -astvalidation__AExpr__accept_ast_validation(self, p0); +astvalidation__AExpr__accept_ast_validation(self, p0); /* Direct call astvalidation#AExpr#accept_ast_validation on */ RET_LABEL:; } /* method astvalidation#APlaceholderExpr#accept_ast_validation for (self: APlaceholderExpr, ASTValidationVisitor) */ @@ -331,9 +527,11 @@ static val* varonce; val* var /* : String */; char* var1 /* : NativeString */; long var2 /* : Int */; -val* var3 /* : String */; +val* var3 /* : FlatString */; var_v = p0; +{ ((void (*)(val*, val*))(self->class->vft[COLOR_astvalidation__APlaceholderExpr__accept_ast_validation]))(self, p0) /* accept_ast_validation on */; +} if (varonce) { var = varonce; } else { @@ -343,11 +541,13 @@ var3 = string__NativeString__to_s_with_length(var1, var2); var = var3; varonce = var; } -((void (*)(val*, val*))(self->class->vft[COLOR_parser_nodes__ANode__debug]))(self, var) /* debug on */; +{ +parser_nodes__ANode__debug(self, var); /* Direct call parser_nodes#ANode#debug on */ +} RET_LABEL:; } /* method astvalidation#APlaceholderExpr#accept_ast_validation for (self: Object, ASTValidationVisitor) */ void VIRTUAL_astvalidation__APlaceholderExpr__accept_ast_validation(val* self, val* p0) { -astvalidation__APlaceholderExpr__accept_ast_validation(self, p0); +astvalidation__APlaceholderExpr__accept_ast_validation(self, p0); /* Direct call astvalidation#APlaceholderExpr#accept_ast_validation on */ RET_LABEL:; }