X-Git-Url: http://nitlanguage.org diff --git a/c_src/nit__astvalidation.sep.1.c b/c_src/nit__astvalidation.sep.1.c index 210c9d6..7f93685 100644 --- a/c_src/nit__astvalidation.sep.1.c +++ b/c_src/nit__astvalidation.sep.1.c @@ -2,44 +2,9 @@ /* method astvalidation#ASTValidationVisitor#visit for (self: ASTValidationVisitor, ANode) */ void nit___nit__ASTValidationVisitor___nit__parser_nodes__Visitor__visit(val* self, val* p0) { val* var_node /* var node: ANode */; -val* var /* : List[ANode] */; -val* var2 /* : List[ANode] */; -val* var3 /* : List[ANode] */; -val* var5 /* : List[ANode] */; -val* var6 /* : nullable Object */; var_node = p0; { -{ /* Inline astvalidation#ASTValidationVisitor#path (self) on */ -var2 = self->attrs[COLOR_nit__astvalidation__ASTValidationVisitor___path].val; /* _path on */ -if (unlikely(var2 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _path"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__astvalidation, 29); -show_backtrace(1); -} -var = var2; -RET_LABEL1:(void)0; -} -} -{ -standard___standard__List___standard__abstract_collection__Sequence__unshift(var, var_node); /* Direct call list#List#unshift on */ -} -{ -((void (*)(val* self, val* p0))(var_node->class->vft[COLOR_nit__astvalidation__ANode__accept_ast_validation]))(var_node, self) /* accept_ast_validation on */; -} -{ -{ /* Inline astvalidation#ASTValidationVisitor#path (self) on */ -var5 = self->attrs[COLOR_nit__astvalidation__ASTValidationVisitor___path].val; /* _path on */ -if (unlikely(var5 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _path"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__astvalidation, 29); -show_backtrace(1); -} -var3 = var5; -RET_LABEL4:(void)0; -} -} -{ -var6 = standard___standard__List___standard__abstract_collection__Sequence__shift(var3); +((void(*)(val* self, val* p0))(var_node->class->vft[COLOR_nit__astvalidation__ANode__accept_ast_validation]))(var_node, self); /* accept_ast_validation on */ } RET_LABEL:; } @@ -50,8 +15,8 @@ val* var1 /* : List[ANode] */; var1 = self->attrs[COLOR_nit__astvalidation__ASTValidationVisitor___path].val; /* _path on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _path"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__astvalidation, 29); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__astvalidation, 27); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -64,8 +29,8 @@ val* var1 /* : HashSet[ANode] */; var1 = self->attrs[COLOR_nit__astvalidation__ASTValidationVisitor___seen].val; /* _seen on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _seen"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__astvalidation, 30); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__astvalidation, 28); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -79,59 +44,71 @@ val* var2 /* : nullable ANode */; val* var_parent /* var parent: nullable ANode */; val* var3 /* : List[ANode] */; val* var5 /* : List[ANode] */; +val* var_path /* var path: List[ANode] */; long var6 /* : Int */; -long var7 /* : Int */; -short int var8 /* : Bool */; -short int var10 /* : Bool */; +short int var7 /* : Bool */; +short int var9 /* : Bool */; int cltype; int idtype; const char* var_class_name; -short int var11 /* : Bool */; -val* var12 /* : List[ANode] */; -val* var14 /* : List[ANode] */; -long var15 /* : Int */; -val* var16 /* : nullable Object */; +short int var10 /* : Bool */; +val* var11 /* : List[ANode] */; +val* var13 /* : List[ANode] */; +val* var14 /* : nullable Object */; val* var_path_parent /* var path_parent: ANode */; -val* var17 /* : null */; -short int var18 /* : Bool */; -short int var19 /* : Bool */; +short int var15 /* : Bool */; +short int var16 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var21 /* : Bool */; -short int var23 /* : Bool */; +short int var18 /* : Bool */; +short int var20 /* : Bool */; +val* var22 /* : HashSet[ANode] */; +val* var24 /* : HashSet[ANode] */; short int var25 /* : Bool */; val* var_other27 /* var other: nullable Object */; short int var28 /* : Bool */; short int var29 /* : Bool */; +val* var31 /* : HashSet[ANode] */; +val* var33 /* : HashSet[ANode] */; +short int var34 /* : Bool */; +val* var35 /* : NativeArray[String] */; static val* varonce; -val* var31 /* : String */; -char* var32 /* : NativeString */; -long var33 /* : Int */; -val* var34 /* : FlatString */; -static val* varonce35; -val* var36 /* : String */; -char* var37 /* : NativeString */; -long var38 /* : Int */; +static val* varonce36; +val* var37 /* : String */; +char* var38 /* : NativeString */; val* var39 /* : FlatString */; -val* var40 /* : Array[Object] */; -long var41 /* : Int */; -val* var42 /* : NativeArray[Object] */; -val* var43 /* : String */; -val* var44 /* : HashSet[ANode] */; -val* var46 /* : HashSet[ANode] */; -short int var47 /* : Bool */; -static val* varonce48; +static val* varonce40; +val* var41 /* : String */; +char* var42 /* : NativeString */; +val* var43 /* : FlatString */; +static val* varonce44; +val* var45 /* : String */; +char* var46 /* : NativeString */; +val* var47 /* : FlatString */; +val* var48 /* : String */; val* var49 /* : String */; -char* var50 /* : NativeString */; -long var51 /* : Int */; -val* var52 /* : FlatString */; +val* var50 /* : String */; +val* var51 /* : HashSet[ANode] */; val* var53 /* : HashSet[ANode] */; -val* var55 /* : HashSet[ANode] */; -short int var56 /* : Bool */; -short int var57 /* : Bool */; -val* var58 /* : nullable ANode */; -val* var60 /* : nullable ANode */; -val* var61 /* : Location */; -val* var63 /* : Location */; +val* var55 /* : NativeArray[String] */; +static val* varonce54; +static val* varonce56; +val* var57 /* : String */; +char* var58 /* : NativeString */; +val* var59 /* : FlatString */; +static val* varonce60; +val* var61 /* : String */; +char* var62 /* : NativeString */; +val* var63 /* : FlatString */; +val* var64 /* : String */; +val* var65 /* : String */; +val* var66 /* : String */; +short int var67 /* : Bool */; +short int var68 /* : Bool */; +val* var69 /* : nullable ANode */; +val* var71 /* : nullable ANode */; +val* var72 /* : Location */; +val* var74 /* : Location */; +val* var75 /* : nullable Object */; var_v = p0; { { /* Inline parser_nodes#ANode#parent (self) on */ @@ -146,88 +123,101 @@ var_parent = var; var5 = var_v->attrs[COLOR_nit__astvalidation__ASTValidationVisitor___path].val; /* _path on */ if (unlikely(var5 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _path"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__astvalidation, 29); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__astvalidation, 27); +fatal_exit(1); } var3 = var5; RET_LABEL4:(void)0; } } +var_path = var3; { -var6 = standard___standard__List___standard__abstract_collection__Collection__length(var3); +var6 = standard___standard__List___standard__abstract_collection__Collection__length(var_path); } -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)) { +{ /* Inline kernel#Int#> (var6,0l) on */ +/* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */ +/* <0l:Int> isa OTHER */ +var9 = 1; /* easy <0l:Int> isa OTHER*/ +if (unlikely(!var9)) { var_class_name = type_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 412); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 536); +fatal_exit(1); } -var11 = var6 > var7; -var8 = var11; -goto RET_LABEL9; -RET_LABEL9:(void)0; +var10 = var6 > 0l; +var7 = var10; +goto RET_LABEL8; +RET_LABEL8:(void)0; } } -if (var8){ +if (var7){ { { /* Inline astvalidation#ASTValidationVisitor#path (var_v) on */ -var14 = var_v->attrs[COLOR_nit__astvalidation__ASTValidationVisitor___path].val; /* _path on */ -if (unlikely(var14 == NULL)) { +var13 = var_v->attrs[COLOR_nit__astvalidation__ASTValidationVisitor___path].val; /* _path on */ +if (unlikely(var13 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _path"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__astvalidation, 29); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__astvalidation, 27); +fatal_exit(1); } -var12 = var14; -RET_LABEL13:(void)0; +var11 = var13; +RET_LABEL12:(void)0; } } -var15 = 1; { -var16 = standard___standard__List___standard__abstract_collection__SequenceRead___91d_93d(var12, var15); +var14 = standard___standard__List___standard__abstract_collection__Collection__first(var11); } -var_path_parent = var16; -var17 = NULL; +var_path_parent = var14; if (var_parent == NULL) { -var18 = 1; /* is null */ +var15 = 1; /* is null */ } else { -var18 = 0; /* arg is null but recv is not */ +var15 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_parent,var17) on */ -var_other = var17; +{ /* Inline kernel#Object#== (var_parent,((val*)NULL)) on */ +var_other = ((val*)NULL); { { /* 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; +var20 = var_parent == var_other; +var18 = var20; +goto RET_LABEL19; +RET_LABEL19:(void)0; } } -var19 = var21; -goto RET_LABEL20; -RET_LABEL20:(void)0; +var16 = var18; +goto RET_LABEL17; +RET_LABEL17:(void)0; } -var18 = var19; +var15 = var16; } -if (var18){ +if (var15){ { { /* Inline parser_nodes#ANode#parent= (self,var_path_parent) on */ self->attrs[COLOR_nit__parser_nodes__ANode___parent].val = var_path_parent; /* _parent on */ -RET_LABEL24:(void)0; +RET_LABEL21:(void)0; } } +{ +{ /* Inline astvalidation#ASTValidationVisitor#seen (var_v) on */ +var24 = var_v->attrs[COLOR_nit__astvalidation__ASTValidationVisitor___seen].val; /* _seen on */ +if (unlikely(var24 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _seen"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__astvalidation, 28); +fatal_exit(1); +} +var22 = var24; +RET_LABEL23:(void)0; +} +} +{ +standard___standard__HashSet___standard__abstract_collection__SimpleCollection__add(var22, self); /* Direct call hash_collection#HashSet#add on */ +} } else { { { /* Inline kernel#Object#!= (var_parent,var_path_parent) on */ var_other27 = var_path_parent; { -var28 = ((short int (*)(val* self, val* p0))(var_parent->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_parent, var_other27) /* == on */; +var28 = ((short int(*)(val* self, val* p0))(var_parent->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_parent, var_other27); /* == on */ } var29 = !var28; var25 = var29; @@ -242,133 +232,178 @@ self->attrs[COLOR_nit__parser_nodes__ANode___parent].val = var_path_parent; /* _ RET_LABEL30:(void)0; } } -if (varonce) { -var31 = varonce; -} else { -var32 = "PARENT: expected parent: "; -var33 = 25; -var34 = standard___standard__NativeString___to_s_with_length(var32, var33); -var31 = var34; -varonce = var31; -} -if (varonce35) { -var36 = varonce35; -} else { -var37 = ", got "; -var38 = 6; -var39 = standard___standard__NativeString___to_s_with_length(var37, var38); -var36 = var39; -varonce35 = var36; +{ +{ /* Inline astvalidation#ASTValidationVisitor#seen (var_v) on */ +var33 = var_v->attrs[COLOR_nit__astvalidation__ASTValidationVisitor___seen].val; /* _seen on */ +if (unlikely(var33 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _seen"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__astvalidation, 28); +fatal_exit(1); +} +var31 = var33; +RET_LABEL32:(void)0; +} } -var40 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var40 = array_instance Array[Object] */ -var41 = 4; -var42 = NEW_standard__NativeArray(var41, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var42)->values[0] = (val*) var31; -((struct instance_standard__NativeArray*)var42)->values[1] = (val*) var_path_parent; -((struct instance_standard__NativeArray*)var42)->values[2] = (val*) var36; -((struct instance_standard__NativeArray*)var42)->values[3] = (val*) var_parent; { -((void (*)(val* self, val* p0, long p1))(var40->class->vft[COLOR_standard__array__Array__with_native]))(var40, var42, var41) /* with_native on */; +var34 = standard___standard__HashSet___standard__abstract_collection__Collection__has(var31, self); } +if (var34){ +if (unlikely(varonce==NULL)) { +var35 = NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String); +if (likely(varonce36!=NULL)) { +var37 = varonce36; +} else { +var38 = "DUPLICATE (NOTATREE): already seen node with parent "; +var39 = standard___standard__NativeString___to_s_with_length(var38, 52l); +var37 = var39; +varonce36 = var37; +} +((struct instance_standard__NativeArray*)var35)->values[0]=var37; +if (likely(varonce40!=NULL)) { +var41 = varonce40; +} else { +var42 = " now with "; +var43 = standard___standard__NativeString___to_s_with_length(var42, 10l); +var41 = var43; +varonce40 = var41; +} +((struct instance_standard__NativeArray*)var35)->values[2]=var41; +if (likely(varonce44!=NULL)) { +var45 = varonce44; +} else { +var46 = "."; +var47 = standard___standard__NativeString___to_s_with_length(var46, 1l); +var45 = var47; +varonce44 = var45; +} +((struct instance_standard__NativeArray*)var35)->values[4]=var45; +} else { +var35 = varonce; +varonce = NULL; } { -var43 = ((val* (*)(val* self))(var40->class->vft[COLOR_standard__string__Object__to_s]))(var40) /* to_s on */; +var48 = ((val*(*)(val* self))(var_parent->class->vft[COLOR_standard__string__Object__to_s]))(var_parent); /* to_s on */ } +((struct instance_standard__NativeArray*)var35)->values[1]=var48; { -nit___nit__ANode___debug(self, var43); /* Direct call parser_nodes#ANode#debug on */ +var49 = ((val*(*)(val* self))(var_path_parent->class->vft[COLOR_standard__string__Object__to_s]))(var_path_parent); /* to_s on */ } -} else { +((struct instance_standard__NativeArray*)var35)->values[3]=var49; +{ +var50 = ((val*(*)(val* self))(var35->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var35); /* native_to_s on */ } +varonce = var35; +{ +nit___nit__ANode___debug(self, var50); /* Direct call parser_nodes#ANode#debug on */ } } else { -} { { /* Inline astvalidation#ASTValidationVisitor#seen (var_v) on */ -var46 = var_v->attrs[COLOR_nit__astvalidation__ASTValidationVisitor___seen].val; /* _seen on */ -if (unlikely(var46 == NULL)) { +var53 = var_v->attrs[COLOR_nit__astvalidation__ASTValidationVisitor___seen].val; /* _seen on */ +if (unlikely(var53 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _seen"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__astvalidation, 30); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__astvalidation, 28); +fatal_exit(1); } -var44 = var46; -RET_LABEL45:(void)0; +var51 = var53; +RET_LABEL52:(void)0; } } { -var47 = standard___standard__HashSet___standard__abstract_collection__Collection__has(var44, self); +standard___standard__HashSet___standard__abstract_collection__SimpleCollection__add(var51, self); /* Direct call hash_collection#HashSet#add on */ } -if (var47){ -if (varonce48) { -var49 = varonce48; +if (unlikely(varonce54==NULL)) { +var55 = NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String); +if (likely(varonce56!=NULL)) { +var57 = varonce56; } else { -var50 = "DUPLICATE: already seen node. NOTATREE"; -var51 = 38; -var52 = standard___standard__NativeString___to_s_with_length(var50, var51); -var49 = var52; -varonce48 = var49; -} -{ -nit___nit__ANode___debug(self, var49); /* Direct call parser_nodes#ANode#debug on */ +var58 = "PARENT: expected parent: "; +var59 = standard___standard__NativeString___to_s_with_length(var58, 25l); +var57 = var59; +varonce56 = var57; +} +((struct instance_standard__NativeArray*)var55)->values[0]=var57; +if (likely(varonce60!=NULL)) { +var61 = varonce60; +} else { +var62 = ", got "; +var63 = standard___standard__NativeString___to_s_with_length(var62, 6l); +var61 = var63; +varonce60 = var61; } +((struct instance_standard__NativeArray*)var55)->values[2]=var61; } else { +var55 = varonce54; +varonce54 = NULL; } { -{ /* Inline astvalidation#ASTValidationVisitor#seen (var_v) on */ -var55 = var_v->attrs[COLOR_nit__astvalidation__ASTValidationVisitor___seen].val; /* _seen on */ -if (unlikely(var55 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _seen"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__astvalidation, 30); -show_backtrace(1); +var64 = ((val*(*)(val* self))(var_path_parent->class->vft[COLOR_standard__string__Object__to_s]))(var_path_parent); /* to_s on */ } -var53 = var55; -RET_LABEL54:(void)0; +((struct instance_standard__NativeArray*)var55)->values[1]=var64; +{ +var65 = ((val*(*)(val* self))(var_parent->class->vft[COLOR_standard__string__Object__to_s]))(var_parent); /* to_s on */ } +((struct instance_standard__NativeArray*)var55)->values[3]=var65; +{ +var66 = ((val*(*)(val* self))(var55->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var55); /* native_to_s on */ } +varonce54 = var55; { -standard___standard__HashSet___standard__abstract_collection__SimpleCollection__add(var53, self); /* Direct call hash_collection#HashSet#add on */ +nit___nit__ANode___debug(self, var66); /* Direct call parser_nodes#ANode#debug on */ +} +} +} else { } -var56 = self->attrs[COLOR_nit__parser_nodes__ANode___location].val != NULL; /* _location on */ -var57 = !var56; -if (var57){ +} +} else { +} +var67 = self->attrs[COLOR_nit__parser_nodes__ANode___location].val != NULL; /* _location on */ +var68 = !var67; +if (var68){ { { /* Inline parser_nodes#ANode#parent (self) on */ -var60 = self->attrs[COLOR_nit__parser_nodes__ANode___parent].val; /* _parent on */ -var58 = var60; -RET_LABEL59:(void)0; +var71 = self->attrs[COLOR_nit__parser_nodes__ANode___parent].val; /* _parent on */ +var69 = var71; +RET_LABEL70:(void)0; } } -if (var58 == NULL) { +if (var69 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__astvalidation, 56); -show_backtrace(1); +fatal_exit(1); } else { -{ /* Inline parser_nodes#ANode#location (var58) on */ -if (unlikely(var58 == NULL)) { +{ /* Inline parser_nodes#ANode#location (var69) on */ +if (unlikely(var69 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 23); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 24); +fatal_exit(1); } -var63 = var58->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on */ -if (unlikely(var63 == NULL)) { +var74 = var69->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on */ +if (unlikely(var74 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 23); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 24); +fatal_exit(1); } -var61 = var63; -RET_LABEL62:(void)0; +var72 = var74; +RET_LABEL73:(void)0; } } -self->attrs[COLOR_nit__parser_nodes__ANode___location].val = var61; /* _location on */ +self->attrs[COLOR_nit__parser_nodes__ANode___location].val = var72; /* _location on */ } else { } { -((void (*)(val* self, val* p0))(self->class->vft[COLOR_nit__parser_nodes__ANode__visit_all]))(self, var_v) /* visit_all on */; +standard___standard__List___standard__abstract_collection__Sequence__unshift(var_path, self); /* Direct call list#List#unshift on */ +} +{ +((void(*)(val* self, val* p0))(self->class->vft[COLOR_nit__parser_nodes__ANode__visit_all]))(self, var_v); /* visit_all on */ +} +{ +var75 = standard___standard__List___standard__abstract_collection__Sequence__shift(var_path); } RET_LABEL:; } -/* method astvalidation#AAnnotations#accept_ast_validation for (self: AAnnotations, ASTValidationVisitor) */ -void nit__astvalidation___AAnnotations___ANode__accept_ast_validation(val* self, val* p0) { +/* method astvalidation#AAnnotation#accept_ast_validation for (self: AAnnotation, ASTValidationVisitor) */ +void nit__astvalidation___AAnnotation___ANode__accept_ast_validation(val* self, val* p0) { val* var_v /* var v: ASTValidationVisitor */; var_v = p0; RET_LABEL:; @@ -378,78 +413,59 @@ void nit__astvalidation___AExpr___ANode__accept_ast_validation(val* self, val* p val* var_v /* var v: ASTValidationVisitor */; short int var /* : Bool */; val* var1 /* : nullable MType */; -val* var2 /* : null */; +short int var2 /* : Bool */; short int var3 /* : Bool */; -short int var4 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var6 /* : Bool */; -short int var8 /* : Bool */; +short int var5 /* : Bool */; +short int var7 /* : Bool */; short int var_ /* var : Bool */; -short int var9 /* : Bool */; +short int var8 /* : Bool */; +short int var10 /* : Bool */; short int var11 /* : Bool */; -short int var12 /* : Bool */; -static val* varonce; -val* var13 /* : String */; -char* var14 /* : NativeString */; -long var15 /* : Int */; -val* var16 /* : FlatString */; var_v = p0; { -((void (*)(val* self, val* p0))(self->class->vft[COLOR_nit__astvalidation___AExpr___ANode__accept_ast_validation]))(self, p0) /* accept_ast_validation on */; +((void(*)(val* self, val* p0))(self->class->vft[COLOR_nit__astvalidation___AExpr___ANode__accept_ast_validation]))(self, p0); /* accept_ast_validation on */ } { -var1 = ((val* (*)(val* self))(self->class->vft[COLOR_nit__typing__AExpr__mtype]))(self) /* mtype on */; +var1 = ((val*(*)(val* self))(self->class->vft[COLOR_nit__typing__AExpr__mtype]))(self); /* mtype on */ } -var2 = NULL; if (var1 == NULL) { -var3 = 1; /* is null */ +var2 = 1; /* is null */ } else { -var3 = 0; /* arg is null but recv is not */ +var2 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var1,var2) on */ -var_other = var2; +{ /* Inline kernel#Object#== (var1,((val*)NULL)) on */ +var_other = ((val*)NULL); { { /* Inline kernel#Object#is_same_instance (var1,var_other) on */ -var8 = var1 == var_other; -var6 = var8; -goto RET_LABEL7; -RET_LABEL7:(void)0; +var7 = var1 == var_other; +var5 = var7; +goto RET_LABEL6; +RET_LABEL6:(void)0; } } -var4 = var6; -goto RET_LABEL5; -RET_LABEL5:(void)0; +var3 = var5; +goto RET_LABEL4; +RET_LABEL4:(void)0; } -var3 = var4; +var2 = var3; } -var_ = var3; -if (var3){ +var_ = var2; +if (var2){ { { /* Inline typing#AExpr#is_typed (self) on */ -var11 = self->attrs[COLOR_nit__typing__AExpr___is_typed].s; /* _is_typed on */ -var9 = var11; -RET_LABEL10:(void)0; +var10 = self->attrs[COLOR_nit__typing__AExpr___is_typed].s; /* _is_typed on */ +var8 = var10; +RET_LABEL9:(void)0; } } -var12 = !var9; -var = var12; +var11 = !var8; +var = var11; } else { var = var_; } if (var){ -if (varonce) { -var13 = varonce; -} else { -var14 = "TYPING: untyped expression"; -var15 = 26; -var16 = standard___standard__NativeString___to_s_with_length(var14, var15); -var13 = var16; -varonce = var13; -} -{ -nit___nit__ANode___debug(self, var13); /* Direct call parser_nodes#ANode#debug on */ -} } else { } RET_LABEL:; @@ -460,19 +476,17 @@ val* var_v /* var v: ASTValidationVisitor */; static val* varonce; val* var /* : String */; char* var1 /* : NativeString */; -long var2 /* : Int */; -val* var3 /* : FlatString */; +val* var2 /* : FlatString */; var_v = p0; { -((void (*)(val* self, val* p0))(self->class->vft[COLOR_nit__astvalidation___APlaceholderExpr___ANode__accept_ast_validation]))(self, p0) /* accept_ast_validation on */; +((void(*)(val* self, val* p0))(self->class->vft[COLOR_nit__astvalidation___APlaceholderExpr___ANode__accept_ast_validation]))(self, p0); /* accept_ast_validation on */ } -if (varonce) { +if (likely(varonce!=NULL)) { var = varonce; } else { var1 = "PARENT: remaining placeholder"; -var2 = 29; -var3 = standard___standard__NativeString___to_s_with_length(var1, var2); -var = var3; +var2 = standard___standard__NativeString___to_s_with_length(var1, 29l); +var = var2; varonce = var; } {