X-Git-Url: http://nitlanguage.org diff --git a/c_src/nit__typing.sep.3.c b/c_src/nit__typing.sep.3.c index 372aaaf..7e36dba 100644 --- a/c_src/nit__typing.sep.3.c +++ b/c_src/nit__typing.sep.3.c @@ -1,4 +1,1639 @@ #include "nit__typing.sep.0.h" +/* method typing#ANewExpr#accept_typing for (self: ANewExpr, TypeVisitor) */ +void nit__typing___ANewExpr___AExpr__accept_typing(val* self, val* p0) { +val* var_v /* var v: TypeVisitor */; +val* var /* : AType */; +val* var2 /* : AType */; +val* var3 /* : nullable MType */; +val* var_recvtype /* var recvtype: nullable MType */; +short int var4 /* : Bool */; +short int var5 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var7 /* : Bool */; +short int var9 /* : Bool */; +short int var10 /* : Bool */; +int cltype; +int idtype; +short int var11 /* : Bool */; +short int var12 /* : Bool */; +int cltype13; +int idtype14; +val* var15 /* : NativeArray[String] */; +static val* varonce; +static val* varonce16; +val* var17 /* : String */; +char* var18 /* : NativeString */; +val* var19 /* : FlatString */; +static val* varonce20; +val* var21 /* : String */; +char* var22 /* : NativeString */; +val* var23 /* : FlatString */; +val* var24 /* : String */; +val* var25 /* : String */; +short int var26 /* : Bool */; +int cltype27; +int idtype28; +val* var30 /* : NativeArray[String] */; +static val* varonce29; +static val* varonce31; +val* var32 /* : String */; +char* var33 /* : NativeString */; +val* var34 /* : FlatString */; +static val* varonce35; +val* var36 /* : String */; +char* var37 /* : NativeString */; +val* var38 /* : FlatString */; +val* var39 /* : String */; +val* var40 /* : String */; +val* var42 /* : NativeArray[String] */; +static val* varonce41; +static val* varonce43; +val* var44 /* : String */; +char* var45 /* : NativeString */; +val* var46 /* : FlatString */; +static val* varonce47; +val* var48 /* : String */; +char* var49 /* : NativeString */; +val* var50 /* : FlatString */; +val* var51 /* : String */; +val* var52 /* : String */; +val* var54 /* : MClass */; +val* var56 /* : MClass */; +val* var57 /* : MClassKind */; +val* var59 /* : MClassKind */; +val* var_kind /* var kind: MClassKind */; +val* var60 /* : nullable TId */; +val* var62 /* : nullable TId */; +val* var_nid /* var nid: nullable TId */; +short int var63 /* : Bool */; +short int var64 /* : Bool */; +val* var_other66 /* var other: nullable Object */; +short int var67 /* : Bool */; +short int var68 /* : Bool */; +val* var69 /* : String */; +val* var_name /* var name: String */; +val* var_node /* var node: ANode */; +static val* varonce70; +val* var71 /* : String */; +char* var72 /* : NativeString */; +val* var73 /* : FlatString */; +val* var74 /* : TKwnew */; +val* var76 /* : TKwnew */; +static val* varonce77; +val* var78 /* : String */; +char* var79 /* : NativeString */; +val* var80 /* : FlatString */; +short int var81 /* : Bool */; +val* var82 /* : Sys */; +val* var83 /* : MClassKind */; +short int var84 /* : Bool */; +short int var86 /* : Bool */; +short int var87 /* : Bool */; +val* var89 /* : NativeArray[String] */; +static val* varonce88; +static val* varonce90; +val* var91 /* : String */; +char* var92 /* : NativeString */; +val* var93 /* : FlatString */; +static val* varonce94; +val* var95 /* : String */; +char* var96 /* : NativeString */; +val* var97 /* : FlatString */; +static val* varonce98; +val* var99 /* : String */; +char* var100 /* : NativeString */; +val* var101 /* : FlatString */; +val* var102 /* : String */; +val* var103 /* : String */; +val* var104 /* : String */; +val* var105 /* : AExprs */; +val* var107 /* : AExprs */; +val* var108 /* : ANodes[AExpr] */; +val* var110 /* : ANodes[AExpr] */; +short int var111 /* : Bool */; +val* var112 /* : AExprs */; +val* var114 /* : AExprs */; +static val* varonce115; +val* var116 /* : String */; +char* var117 /* : NativeString */; +val* var118 /* : FlatString */; +val* var120 /* : nullable CallSite */; +val* var_callsite /* var callsite: nullable CallSite */; +short int var121 /* : Bool */; +short int var122 /* : Bool */; +short int var124 /* : Bool */; +short int var126 /* : Bool */; +val* var127 /* : MMethod */; +val* var129 /* : MMethod */; +short int var130 /* : Bool */; +short int var132 /* : Bool */; +short int var133 /* : Bool */; +val* var134 /* : Sys */; +val* var135 /* : MClassKind */; +short int var136 /* : Bool */; +short int var138 /* : Bool */; +short int var139 /* : Bool */; +val* var141 /* : NativeArray[String] */; +static val* varonce140; +static val* varonce142; +val* var143 /* : String */; +char* var144 /* : NativeString */; +val* var145 /* : FlatString */; +static val* varonce146; +val* var147 /* : String */; +char* var148 /* : NativeString */; +val* var149 /* : FlatString */; +static val* varonce150; +val* var151 /* : String */; +char* var152 /* : NativeString */; +val* var153 /* : FlatString */; +val* var154 /* : String */; +val* var155 /* : String */; +val* var156 /* : String */; +val* var158 /* : MSignature */; +val* var160 /* : MSignature */; +val* var161 /* : nullable MType */; +val* var163 /* : nullable MType */; +val* var165 /* : nullable MType */; +val* var167 /* : nullable MType */; +short int var168 /* : Bool */; +short int var169 /* : Bool */; +short int var171 /* : Bool */; +short int var172 /* : Bool */; +val* var174 /* : MMethod */; +val* var176 /* : MMethod */; +val* var177 /* : MClass */; +val* var179 /* : MClass */; +short int var180 /* : Bool */; +short int var181 /* : Bool */; +val* var183 /* : NativeArray[String] */; +static val* varonce182; +static val* varonce184; +val* var185 /* : String */; +char* var186 /* : NativeString */; +val* var187 /* : FlatString */; +static val* varonce188; +val* var189 /* : String */; +char* var190 /* : NativeString */; +val* var191 /* : FlatString */; +val* var192 /* : String */; +val* var193 /* : AExprs */; +val* var195 /* : AExprs */; +val* var196 /* : Array[AExpr] */; +val* var_args /* var args: Array[AExpr] */; +short int var197 /* : Bool */; +var_v = p0; +{ +{ /* Inline parser_nodes#ANewExpr#n_type (self) on */ +var2 = self->attrs[COLOR_nit__parser_nodes__ANewExpr___n_type].val; /* _n_type on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2255); +fatal_exit(1); +} +var = var2; +RET_LABEL1:(void)0; +} +} +{ +var3 = nit__typing___nit__typing__TypeVisitor___resolve_mtype(var_v, var); +} +var_recvtype = var3; +if (var_recvtype == NULL) { +var4 = 1; /* is null */ +} else { +var4 = 0; /* arg is null but recv is not */ +} +if (0) { +{ /* Inline kernel#Object#== (var_recvtype,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +{ /* Inline kernel#Object#is_same_instance (var_recvtype,var_other) on */ +var9 = var_recvtype == var_other; +var7 = var9; +goto RET_LABEL8; +RET_LABEL8:(void)0; +} +} +var5 = var7; +goto RET_LABEL6; +RET_LABEL6:(void)0; +} +var4 = var5; +} +if (var4){ +goto RET_LABEL; +} else { +} +/* isa MClassType */ +cltype = type_nit__MClassType.color; +idtype = type_nit__MClassType.id; +if(cltype >= var_recvtype->type->table_size) { +var10 = 0; +} else { +var10 = var_recvtype->type->type_table[cltype] == idtype; +} +var11 = !var10; +if (var11){ +/* isa MNullableType */ +cltype13 = type_nit__MNullableType.color; +idtype14 = type_nit__MNullableType.id; +if(cltype13 >= var_recvtype->type->table_size) { +var12 = 0; +} else { +var12 = var_recvtype->type->type_table[cltype13] == idtype14; +} +if (var12){ +if (unlikely(varonce==NULL)) { +var15 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce16!=NULL)) { +var17 = varonce16; +} else { +var18 = "Type Error: cannot instantiate the nullable type `"; +var19 = standard___standard__NativeString___to_s_with_length(var18, 50l); +var17 = var19; +varonce16 = var17; +} +((struct instance_standard__NativeArray*)var15)->values[0]=var17; +if (likely(varonce20!=NULL)) { +var21 = varonce20; +} else { +var22 = "`."; +var23 = standard___standard__NativeString___to_s_with_length(var22, 2l); +var21 = var23; +varonce20 = var21; +} +((struct instance_standard__NativeArray*)var15)->values[2]=var21; +} else { +var15 = varonce; +varonce = NULL; +} +{ +var24 = ((val*(*)(val* self))(var_recvtype->class->vft[COLOR_standard__string__Object__to_s]))(var_recvtype); /* to_s on */ +} +((struct instance_standard__NativeArray*)var15)->values[1]=var24; +{ +var25 = ((val*(*)(val* self))(var15->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var15); /* native_to_s on */ +} +varonce = var15; +{ +nit__typing___nit__typing__TypeVisitor___error(var_v, self, var25); /* Direct call typing#TypeVisitor#error on */ +} +goto RET_LABEL; +} else { +/* isa MFormalType */ +cltype27 = type_nit__MFormalType.color; +idtype28 = type_nit__MFormalType.id; +if(cltype27 >= var_recvtype->type->table_size) { +var26 = 0; +} else { +var26 = var_recvtype->type->type_table[cltype27] == idtype28; +} +if (var26){ +if (unlikely(varonce29==NULL)) { +var30 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce31!=NULL)) { +var32 = varonce31; +} else { +var33 = "Type Error: cannot instantiate the formal type `"; +var34 = standard___standard__NativeString___to_s_with_length(var33, 48l); +var32 = var34; +varonce31 = var32; +} +((struct instance_standard__NativeArray*)var30)->values[0]=var32; +if (likely(varonce35!=NULL)) { +var36 = varonce35; +} else { +var37 = "`."; +var38 = standard___standard__NativeString___to_s_with_length(var37, 2l); +var36 = var38; +varonce35 = var36; +} +((struct instance_standard__NativeArray*)var30)->values[2]=var36; +} else { +var30 = varonce29; +varonce29 = NULL; +} +{ +var39 = ((val*(*)(val* self))(var_recvtype->class->vft[COLOR_standard__string__Object__to_s]))(var_recvtype); /* to_s on */ +} +((struct instance_standard__NativeArray*)var30)->values[1]=var39; +{ +var40 = ((val*(*)(val* self))(var30->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var30); /* native_to_s on */ +} +varonce29 = var30; +{ +nit__typing___nit__typing__TypeVisitor___error(var_v, self, var40); /* Direct call typing#TypeVisitor#error on */ +} +goto RET_LABEL; +} else { +if (unlikely(varonce41==NULL)) { +var42 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce43!=NULL)) { +var44 = varonce43; +} else { +var45 = "Type Error: cannot instantiate the type `"; +var46 = standard___standard__NativeString___to_s_with_length(var45, 41l); +var44 = var46; +varonce43 = var44; +} +((struct instance_standard__NativeArray*)var42)->values[0]=var44; +if (likely(varonce47!=NULL)) { +var48 = varonce47; +} else { +var49 = "`."; +var50 = standard___standard__NativeString___to_s_with_length(var49, 2l); +var48 = var50; +varonce47 = var48; +} +((struct instance_standard__NativeArray*)var42)->values[2]=var48; +} else { +var42 = varonce41; +varonce41 = NULL; +} +{ +var51 = ((val*(*)(val* self))(var_recvtype->class->vft[COLOR_standard__string__Object__to_s]))(var_recvtype); /* to_s on */ +} +((struct instance_standard__NativeArray*)var42)->values[1]=var51; +{ +var52 = ((val*(*)(val* self))(var42->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var42); /* native_to_s on */ +} +varonce41 = var42; +{ +nit__typing___nit__typing__TypeVisitor___error(var_v, self, var52); /* Direct call typing#TypeVisitor#error on */ +} +goto RET_LABEL; +} +} +} else { +} +{ +{ /* Inline typing#ANewExpr#recvtype= (self,var_recvtype) on */ +self->attrs[COLOR_nit__typing__ANewExpr___recvtype].val = var_recvtype; /* _recvtype on */ +RET_LABEL53:(void)0; +} +} +{ +{ /* Inline model#MClassType#mclass (var_recvtype) on */ +var56 = var_recvtype->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ +if (unlikely(var56 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1138); +fatal_exit(1); +} +var54 = var56; +RET_LABEL55:(void)0; +} +} +{ +{ /* Inline model#MClass#kind (var54) on */ +var59 = var54->attrs[COLOR_nit__model__MClass___kind].val; /* _kind on */ +if (unlikely(var59 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 436); +fatal_exit(1); +} +var57 = var59; +RET_LABEL58:(void)0; +} +} +var_kind = var57; +{ +{ /* Inline parser_nodes#ANewExpr#n_id (self) on */ +var62 = self->attrs[COLOR_nit__parser_nodes__ANewExpr___n_id].val; /* _n_id on */ +var60 = var62; +RET_LABEL61:(void)0; +} +} +var_nid = var60; +if (var_nid == NULL) { +var63 = 0; /* is null */ +} else { +var63 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_nid,((val*)NULL)) on */ +var_other66 = ((val*)NULL); +{ +var67 = ((short int(*)(val* self, val* p0))(var_nid->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nid, var_other66); /* == on */ +} +var68 = !var67; +var64 = var68; +goto RET_LABEL65; +RET_LABEL65:(void)0; +} +var63 = var64; +} +if (var63){ +{ +var69 = nit__lexer_work___Token___text(var_nid); +} +var_name = var69; +var_node = var_nid; +} else { +if (likely(varonce70!=NULL)) { +var71 = varonce70; +} else { +var72 = "new"; +var73 = standard___standard__NativeString___to_s_with_length(var72, 3l); +var71 = var73; +varonce70 = var71; +} +var_name = var71; +{ +{ /* Inline parser_nodes#ANewExpr#n_kwnew (self) on */ +var76 = self->attrs[COLOR_nit__parser_nodes__ANewExpr___n_kwnew].val; /* _n_kwnew on */ +if (unlikely(var76 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwnew"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2252); +fatal_exit(1); +} +var74 = var76; +RET_LABEL75:(void)0; +} +} +var_node = var74; +} +if (likely(varonce77!=NULL)) { +var78 = varonce77; +} else { +var79 = "intern"; +var80 = standard___standard__NativeString___to_s_with_length(var79, 6l); +var78 = var80; +varonce77 = var78; +} +{ +var81 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_name, var78); /* == on */ +} +if (var81){ +var82 = glob_sys; +{ +var83 = nit__model___standard__Sys___concrete_kind(var82); +} +{ +{ /* Inline kernel#Object#!= (var_kind,var83) on */ +var_other66 = var83; +{ +var86 = ((short int(*)(val* self, val* p0))(var_kind->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_kind, var_other66); /* == on */ +} +var87 = !var86; +var84 = var87; +goto RET_LABEL85; +RET_LABEL85:(void)0; +} +} +if (var84){ +if (unlikely(varonce88==NULL)) { +var89 = NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String); +if (likely(varonce90!=NULL)) { +var91 = varonce90; +} else { +var92 = "Type Error: cannot instantiate "; +var93 = standard___standard__NativeString___to_s_with_length(var92, 31l); +var91 = var93; +varonce90 = var91; +} +((struct instance_standard__NativeArray*)var89)->values[0]=var91; +if (likely(varonce94!=NULL)) { +var95 = varonce94; +} else { +var96 = " "; +var97 = standard___standard__NativeString___to_s_with_length(var96, 1l); +var95 = var97; +varonce94 = var95; +} +((struct instance_standard__NativeArray*)var89)->values[2]=var95; +if (likely(varonce98!=NULL)) { +var99 = varonce98; +} else { +var100 = "."; +var101 = standard___standard__NativeString___to_s_with_length(var100, 1l); +var99 = var101; +varonce98 = var99; +} +((struct instance_standard__NativeArray*)var89)->values[4]=var99; +} else { +var89 = varonce88; +varonce88 = NULL; +} +{ +var102 = ((val*(*)(val* self))(var_kind->class->vft[COLOR_standard__string__Object__to_s]))(var_kind); /* to_s on */ +} +((struct instance_standard__NativeArray*)var89)->values[1]=var102; +{ +var103 = ((val*(*)(val* self))(var_recvtype->class->vft[COLOR_standard__string__Object__to_s]))(var_recvtype); /* to_s on */ +} +((struct instance_standard__NativeArray*)var89)->values[3]=var103; +{ +var104 = ((val*(*)(val* self))(var89->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var89); /* native_to_s on */ +} +varonce88 = var89; +{ +nit__typing___nit__typing__TypeVisitor___error(var_v, self, var104); /* Direct call typing#TypeVisitor#error on */ +} +goto RET_LABEL; +} else { +} +{ +{ /* Inline parser_nodes#ANewExpr#n_args (self) on */ +var107 = self->attrs[COLOR_nit__parser_nodes__ANewExpr___n_args].val; /* _n_args on */ +if (unlikely(var107 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2261); +fatal_exit(1); +} +var105 = var107; +RET_LABEL106:(void)0; +} +} +{ +{ /* Inline parser_nodes#AExprs#n_exprs (var105) on */ +var110 = var105->attrs[COLOR_nit__parser_nodes__AExprs___n_exprs].val; /* _n_exprs on */ +if (unlikely(var110 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2771); +fatal_exit(1); +} +var108 = var110; +RET_LABEL109:(void)0; +} +} +{ +var111 = standard___standard__Collection___not_empty(var108); +} +if (var111){ +{ +{ /* Inline parser_nodes#ANewExpr#n_args (self) on */ +var114 = self->attrs[COLOR_nit__parser_nodes__ANewExpr___n_args].val; /* _n_args on */ +if (unlikely(var114 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2261); +fatal_exit(1); +} +var112 = var114; +RET_LABEL113:(void)0; +} +} +if (likely(varonce115!=NULL)) { +var116 = varonce115; +} else { +var117 = "Type Error: the intern constructor expects no arguments."; +var118 = standard___standard__NativeString___to_s_with_length(var117, 56l); +var116 = var118; +varonce115 = var116; +} +{ +nit__typing___nit__typing__TypeVisitor___error(var_v, var112, var116); /* Direct call typing#TypeVisitor#error on */ +} +goto RET_LABEL; +} else { +} +{ +{ /* Inline typing#AExpr#mtype= (self,var_recvtype) on */ +self->attrs[COLOR_nit__typing__AExpr___mtype].val = var_recvtype; /* _mtype on */ +RET_LABEL119:(void)0; +} +} +goto RET_LABEL; +} else { +} +{ +var120 = nit__typing___nit__typing__TypeVisitor___get_method(var_v, var_node, var_recvtype, var_name, 0); +} +var_callsite = var120; +if (var_callsite == NULL) { +var121 = 1; /* is null */ +} else { +var121 = 0; /* arg is null but recv is not */ +} +if (0) { +{ /* Inline kernel#Object#== (var_callsite,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +{ /* Inline kernel#Object#is_same_instance (var_callsite,var_other) on */ +var126 = var_callsite == var_other; +var124 = var126; +goto RET_LABEL125; +RET_LABEL125:(void)0; +} +} +var122 = var124; +goto RET_LABEL123; +RET_LABEL123:(void)0; +} +var121 = var122; +} +if (var121){ +goto RET_LABEL; +} else { +} +{ +{ /* Inline typing#CallSite#mproperty (var_callsite) on */ +var129 = var_callsite->attrs[COLOR_nit__typing__CallSite___mproperty].val; /* _mproperty on */ +if (unlikely(var129 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing, 624); +fatal_exit(1); +} +var127 = var129; +RET_LABEL128:(void)0; +} +} +{ +{ /* Inline model#MMethod#is_new (var127) on */ +var132 = var127->attrs[COLOR_nit__model__MMethod___is_new].s; /* _is_new on */ +var130 = var132; +RET_LABEL131:(void)0; +} +} +var133 = !var130; +if (var133){ +var134 = glob_sys; +{ +var135 = nit__model___standard__Sys___concrete_kind(var134); +} +{ +{ /* Inline kernel#Object#!= (var_kind,var135) on */ +var_other66 = var135; +{ +var138 = ((short int(*)(val* self, val* p0))(var_kind->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_kind, var_other66); /* == on */ +} +var139 = !var138; +var136 = var139; +goto RET_LABEL137; +RET_LABEL137:(void)0; +} +} +if (var136){ +if (unlikely(varonce140==NULL)) { +var141 = NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String); +if (likely(varonce142!=NULL)) { +var143 = varonce142; +} else { +var144 = "Type Error: cannot instantiate "; +var145 = standard___standard__NativeString___to_s_with_length(var144, 31l); +var143 = var145; +varonce142 = var143; +} +((struct instance_standard__NativeArray*)var141)->values[0]=var143; +if (likely(varonce146!=NULL)) { +var147 = varonce146; +} else { +var148 = " `"; +var149 = standard___standard__NativeString___to_s_with_length(var148, 2l); +var147 = var149; +varonce146 = var147; +} +((struct instance_standard__NativeArray*)var141)->values[2]=var147; +if (likely(varonce150!=NULL)) { +var151 = varonce150; +} else { +var152 = "`."; +var153 = standard___standard__NativeString___to_s_with_length(var152, 2l); +var151 = var153; +varonce150 = var151; +} +((struct instance_standard__NativeArray*)var141)->values[4]=var151; +} else { +var141 = varonce140; +varonce140 = NULL; +} +{ +var154 = ((val*(*)(val* self))(var_kind->class->vft[COLOR_standard__string__Object__to_s]))(var_kind); /* to_s on */ +} +((struct instance_standard__NativeArray*)var141)->values[1]=var154; +{ +var155 = ((val*(*)(val* self))(var_recvtype->class->vft[COLOR_standard__string__Object__to_s]))(var_recvtype); /* to_s on */ +} +((struct instance_standard__NativeArray*)var141)->values[3]=var155; +{ +var156 = ((val*(*)(val* self))(var141->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var141); /* native_to_s on */ +} +varonce140 = var141; +{ +nit__typing___nit__typing__TypeVisitor___error(var_v, self, var156); /* Direct call typing#TypeVisitor#error on */ +} +goto RET_LABEL; +} else { +} +{ +{ /* Inline typing#AExpr#mtype= (self,var_recvtype) on */ +self->attrs[COLOR_nit__typing__AExpr___mtype].val = var_recvtype; /* _mtype on */ +RET_LABEL157:(void)0; +} +} +} else { +{ +{ /* Inline typing#CallSite#msignature (var_callsite) on */ +var160 = var_callsite->attrs[COLOR_nit__typing__CallSite___msignature].val; /* _msignature on */ +if (unlikely(var160 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _msignature"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing, 631); +fatal_exit(1); +} +var158 = var160; +RET_LABEL159:(void)0; +} +} +{ +{ /* Inline model#MSignature#return_mtype (var158) on */ +var163 = var158->attrs[COLOR_nit__model__MSignature___return_mtype].val; /* _return_mtype on */ +var161 = var163; +RET_LABEL162:(void)0; +} +} +{ +{ /* Inline typing#AExpr#mtype= (self,var161) on */ +self->attrs[COLOR_nit__typing__AExpr___mtype].val = var161; /* _mtype on */ +RET_LABEL164:(void)0; +} +} +{ +{ /* Inline typing#AExpr#mtype (self) on */ +var167 = self->attrs[COLOR_nit__typing__AExpr___mtype].val; /* _mtype on */ +var165 = var167; +RET_LABEL166:(void)0; +} +} +if (var165 == NULL) { +var168 = 0; /* is null */ +} else { +var168 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var165,((val*)NULL)) on */ +var_other66 = ((val*)NULL); +{ +var171 = ((short int(*)(val* self, val* p0))(var165->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var165, var_other66); /* == on */ +} +var172 = !var171; +var169 = var172; +goto RET_LABEL170; +RET_LABEL170:(void)0; +} +var168 = var169; +} +if (unlikely(!var168)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing, 1995); +fatal_exit(1); +} +} +{ +{ /* Inline typing#ANewExpr#callsite= (self,var_callsite) on */ +self->attrs[COLOR_nit__typing__ANewExpr___callsite].val = var_callsite; /* _callsite on */ +RET_LABEL173:(void)0; +} +} +{ +{ /* Inline typing#CallSite#mproperty (var_callsite) on */ +var176 = var_callsite->attrs[COLOR_nit__typing__CallSite___mproperty].val; /* _mproperty on */ +if (unlikely(var176 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing, 624); +fatal_exit(1); +} +var174 = var176; +RET_LABEL175:(void)0; +} +} +{ +{ /* Inline model#MClassType#mclass (var_recvtype) on */ +var179 = var_recvtype->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ +if (unlikely(var179 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1138); +fatal_exit(1); +} +var177 = var179; +RET_LABEL178:(void)0; +} +} +{ +var180 = nit___nit__MMethod___is_init_for(var174, var177); +} +var181 = !var180; +if (var181){ +if (unlikely(varonce182==NULL)) { +var183 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce184!=NULL)) { +var185 = varonce184; +} else { +var186 = "Error: `"; +var187 = standard___standard__NativeString___to_s_with_length(var186, 8l); +var185 = var187; +varonce184 = var185; +} +((struct instance_standard__NativeArray*)var183)->values[0]=var185; +if (likely(varonce188!=NULL)) { +var189 = varonce188; +} else { +var190 = "` is not a constructor."; +var191 = standard___standard__NativeString___to_s_with_length(var190, 23l); +var189 = var191; +varonce188 = var189; +} +((struct instance_standard__NativeArray*)var183)->values[2]=var189; +} else { +var183 = varonce182; +varonce182 = NULL; +} +((struct instance_standard__NativeArray*)var183)->values[1]=var_name; +{ +var192 = ((val*(*)(val* self))(var183->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var183); /* native_to_s on */ +} +varonce182 = var183; +{ +nit__typing___nit__typing__TypeVisitor___error(var_v, self, var192); /* Direct call typing#TypeVisitor#error on */ +} +goto RET_LABEL; +} else { +} +{ +{ /* Inline parser_nodes#ANewExpr#n_args (self) on */ +var195 = self->attrs[COLOR_nit__parser_nodes__ANewExpr___n_args].val; /* _n_args on */ +if (unlikely(var195 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2261); +fatal_exit(1); +} +var193 = var195; +RET_LABEL194:(void)0; +} +} +{ +var196 = nit__typing___AExprs___to_a(var193); +} +var_args = var196; +{ +var197 = nit___nit__CallSite___check_signature(var_callsite, var_v, var_args); +} +RET_LABEL:; +} +/* method typing#AAttrFormExpr#mproperty for (self: AAttrFormExpr): nullable MAttribute */ +val* nit__typing___AAttrFormExpr___mproperty(val* self) { +val* var /* : nullable MAttribute */; +val* var1 /* : nullable MAttribute */; +var1 = self->attrs[COLOR_nit__typing__AAttrFormExpr___mproperty].val; /* _mproperty on */ +var = var1; +RET_LABEL:; +return var; +} +/* method typing#AAttrFormExpr#mproperty= for (self: AAttrFormExpr, nullable MAttribute) */ +void nit__typing___AAttrFormExpr___mproperty_61d(val* self, val* p0) { +self->attrs[COLOR_nit__typing__AAttrFormExpr___mproperty].val = p0; /* _mproperty on */ +RET_LABEL:; +} +/* method typing#AAttrFormExpr#attr_type for (self: AAttrFormExpr): nullable MType */ +val* nit__typing___AAttrFormExpr___attr_type(val* self) { +val* var /* : nullable MType */; +val* var1 /* : nullable MType */; +var1 = self->attrs[COLOR_nit__typing__AAttrFormExpr___attr_type].val; /* _attr_type on */ +var = var1; +RET_LABEL:; +return var; +} +/* method typing#AAttrFormExpr#attr_type= for (self: AAttrFormExpr, nullable MType) */ +void nit__typing___AAttrFormExpr___attr_type_61d(val* self, val* p0) { +self->attrs[COLOR_nit__typing__AAttrFormExpr___attr_type].val = p0; /* _attr_type on */ +RET_LABEL:; +} +/* method typing#AAttrFormExpr#resolve_property for (self: AAttrFormExpr, TypeVisitor) */ +void nit__typing___AAttrFormExpr___resolve_property(val* self, val* p0) { +val* var_v /* var v: TypeVisitor */; +val* var /* : AExpr */; +val* var2 /* : AExpr */; +val* var3 /* : nullable MType */; +val* var_recvtype /* var recvtype: nullable MType */; +short int var4 /* : Bool */; +short int var5 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var7 /* : Bool */; +short int var9 /* : Bool */; +val* var10 /* : TAttrid */; +val* var12 /* : TAttrid */; +val* var_node /* var node: TAttrid */; +val* var13 /* : String */; +val* var_name /* var name: String */; +short int var14 /* : Bool */; +int cltype; +int idtype; +val* var15 /* : NativeArray[String] */; +static val* varonce; +static val* varonce16; +val* var17 /* : String */; +char* var18 /* : NativeString */; +val* var19 /* : FlatString */; +static val* varonce20; +val* var21 /* : String */; +char* var22 /* : NativeString */; +val* var23 /* : FlatString */; +val* var24 /* : String */; +val* var25 /* : MType */; +val* var_unsafe_type /* var unsafe_type: MType */; +val* var26 /* : nullable MProperty */; +val* var_mproperty /* var mproperty: nullable MProperty */; +short int var27 /* : Bool */; +short int var28 /* : Bool */; +short int var30 /* : Bool */; +short int var32 /* : Bool */; +val* var33 /* : ModelBuilder */; +val* var35 /* : ModelBuilder */; +val* var37 /* : NativeArray[String] */; +static val* varonce36; +static val* varonce38; +val* var39 /* : String */; +char* var40 /* : NativeString */; +val* var41 /* : FlatString */; +static val* varonce42; +val* var43 /* : String */; +char* var44 /* : NativeString */; +val* var45 /* : FlatString */; +static val* varonce46; +val* var47 /* : String */; +char* var48 /* : NativeString */; +val* var49 /* : FlatString */; +val* var50 /* : String */; +val* var51 /* : String */; +short int var52 /* : Bool */; +int cltype53; +int idtype54; +val* var56 /* : MModule */; +val* var58 /* : MModule */; +val* var59 /* : Array[MPropDef] */; +val* var_mpropdefs /* var mpropdefs: Array[MAttributeDef] */; +long var60 /* : Int */; +long var62 /* : Int */; +short int var63 /* : Bool */; +short int var65 /* : Bool */; +val* var66 /* : nullable Object */; +val* var_mpropdef /* var mpropdef: MAttributeDef */; +val* var67 /* : nullable MType */; +val* var69 /* : nullable MType */; +val* var_attr_type /* var attr_type: nullable MType */; +short int var70 /* : Bool */; +short int var71 /* : Bool */; +short int var73 /* : Bool */; +short int var75 /* : Bool */; +val* var76 /* : AExpr */; +val* var78 /* : AExpr */; +short int var79 /* : Bool */; +int cltype80; +int idtype81; +val* var82 /* : MType */; +var_v = p0; +{ +{ /* Inline parser_nodes#AAttrFormExpr#n_expr (self) on */ +var2 = self->attrs[COLOR_nit__parser_nodes__AAttrFormExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2269); +fatal_exit(1); +} +var = var2; +RET_LABEL1:(void)0; +} +} +{ +var3 = nit__typing___nit__typing__TypeVisitor___visit_expr(var_v, var); +} +var_recvtype = var3; +if (var_recvtype == NULL) { +var4 = 1; /* is null */ +} else { +var4 = 0; /* arg is null but recv is not */ +} +if (0) { +{ /* Inline kernel#Object#== (var_recvtype,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +{ /* Inline kernel#Object#is_same_instance (var_recvtype,var_other) on */ +var9 = var_recvtype == var_other; +var7 = var9; +goto RET_LABEL8; +RET_LABEL8:(void)0; +} +} +var5 = var7; +goto RET_LABEL6; +RET_LABEL6:(void)0; +} +var4 = var5; +} +if (var4){ +goto RET_LABEL; +} else { +} +{ +{ /* Inline parser_nodes#AAttrFormExpr#n_id (self) on */ +var12 = self->attrs[COLOR_nit__parser_nodes__AAttrFormExpr___n_id].val; /* _n_id on */ +if (unlikely(var12 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2272); +fatal_exit(1); +} +var10 = var12; +RET_LABEL11:(void)0; +} +} +var_node = var10; +{ +var13 = nit__lexer_work___Token___text(var_node); +} +var_name = var13; +/* isa MNullType */ +cltype = type_nit__MNullType.color; +idtype = type_nit__MNullType.id; +if(cltype >= var_recvtype->type->table_size) { +var14 = 0; +} else { +var14 = var_recvtype->type->type_table[cltype] == idtype; +} +if (var14){ +if (unlikely(varonce==NULL)) { +var15 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce16!=NULL)) { +var17 = varonce16; +} else { +var18 = "Error: attribute `"; +var19 = standard___standard__NativeString___to_s_with_length(var18, 18l); +var17 = var19; +varonce16 = var17; +} +((struct instance_standard__NativeArray*)var15)->values[0]=var17; +if (likely(varonce20!=NULL)) { +var21 = varonce20; +} else { +var22 = "` access on `null`."; +var23 = standard___standard__NativeString___to_s_with_length(var22, 19l); +var21 = var23; +varonce20 = var21; +} +((struct instance_standard__NativeArray*)var15)->values[2]=var21; +} else { +var15 = varonce; +varonce = NULL; +} +((struct instance_standard__NativeArray*)var15)->values[1]=var_name; +{ +var24 = ((val*(*)(val* self))(var15->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var15); /* native_to_s on */ +} +varonce = var15; +{ +nit__typing___nit__typing__TypeVisitor___error(var_v, var_node, var24); /* Direct call typing#TypeVisitor#error on */ +} +goto RET_LABEL; +} else { +} +{ +var25 = nit__typing___nit__typing__TypeVisitor___anchor_to(var_v, var_recvtype); +} +var_unsafe_type = var25; +{ +var26 = nit__typing___nit__typing__TypeVisitor___try_get_mproperty_by_name2(var_v, var_node, var_unsafe_type, var_name); +} +var_mproperty = var26; +if (var_mproperty == NULL) { +var27 = 1; /* is null */ +} else { +var27 = 0; /* arg is null but recv is not */ +} +if (0) { +{ /* Inline kernel#Object#== (var_mproperty,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +{ /* Inline kernel#Object#is_same_instance (var_mproperty,var_other) on */ +var32 = var_mproperty == var_other; +var30 = var32; +goto RET_LABEL31; +RET_LABEL31:(void)0; +} +} +var28 = var30; +goto RET_LABEL29; +RET_LABEL29:(void)0; +} +var27 = var28; +} +if (var27){ +{ +{ /* Inline typing#TypeVisitor#modelbuilder (var_v) on */ +var35 = var_v->attrs[COLOR_nit__typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on */ +if (unlikely(var35 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing, 34); +fatal_exit(1); +} +var33 = var35; +RET_LABEL34:(void)0; +} +} +if (unlikely(varonce36==NULL)) { +var37 = NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String); +if (likely(varonce38!=NULL)) { +var39 = varonce38; +} else { +var40 = "Error: attribute `"; +var41 = standard___standard__NativeString___to_s_with_length(var40, 18l); +var39 = var41; +varonce38 = var39; +} +((struct instance_standard__NativeArray*)var37)->values[0]=var39; +if (likely(varonce42!=NULL)) { +var43 = varonce42; +} else { +var44 = "` does not exist in `"; +var45 = standard___standard__NativeString___to_s_with_length(var44, 21l); +var43 = var45; +varonce42 = var43; +} +((struct instance_standard__NativeArray*)var37)->values[2]=var43; +if (likely(varonce46!=NULL)) { +var47 = varonce46; +} else { +var48 = "`."; +var49 = standard___standard__NativeString___to_s_with_length(var48, 2l); +var47 = var49; +varonce46 = var47; +} +((struct instance_standard__NativeArray*)var37)->values[4]=var47; +} else { +var37 = varonce36; +varonce36 = NULL; +} +((struct instance_standard__NativeArray*)var37)->values[1]=var_name; +{ +var50 = ((val*(*)(val* self))(var_recvtype->class->vft[COLOR_standard__string__Object__to_s]))(var_recvtype); /* to_s on */ +} +((struct instance_standard__NativeArray*)var37)->values[3]=var50; +{ +var51 = ((val*(*)(val* self))(var37->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var37); /* native_to_s on */ +} +varonce36 = var37; +{ +nit___nit__ModelBuilder___error(var33, var_node, var51); /* Direct call modelbuilder_base#ModelBuilder#error on */ +} +goto RET_LABEL; +} else { +} +/* isa MAttribute */ +cltype53 = type_nit__MAttribute.color; +idtype54 = type_nit__MAttribute.id; +if(cltype53 >= var_mproperty->type->table_size) { +var52 = 0; +} else { +var52 = var_mproperty->type->type_table[cltype53] == idtype54; +} +if (unlikely(!var52)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing, 2037); +fatal_exit(1); +} +{ +{ /* Inline typing#AAttrFormExpr#mproperty= (self,var_mproperty) on */ +self->attrs[COLOR_nit__typing__AAttrFormExpr___mproperty].val = var_mproperty; /* _mproperty on */ +RET_LABEL55:(void)0; +} +} +{ +{ /* Inline typing#TypeVisitor#mmodule (var_v) on */ +var58 = var_v->attrs[COLOR_nit__typing__TypeVisitor___mmodule].val; /* _mmodule on */ +if (unlikely(var58 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing, 36); +fatal_exit(1); +} +var56 = var58; +RET_LABEL57:(void)0; +} +} +{ +var59 = nit___nit__MProperty___lookup_definitions(var_mproperty, var56, var_unsafe_type); +} +var_mpropdefs = var59; +{ +{ /* Inline array#AbstractArrayRead#length (var_mpropdefs) on */ +var62 = var_mpropdefs->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ +var60 = var62; +RET_LABEL61:(void)0; +} +} +{ +{ /* Inline kernel#Int#== (var60,1l) on */ +var65 = var60 == 1l; +var63 = var65; +goto RET_LABEL64; +RET_LABEL64:(void)0; +} +} +if (unlikely(!var63)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing, 2041); +fatal_exit(1); +} +{ +var66 = standard___standard__SequenceRead___Collection__first(var_mpropdefs); +} +var_mpropdef = var66; +{ +{ /* Inline model#MAttributeDef#static_mtype (var_mpropdef) on */ +var69 = var_mpropdef->attrs[COLOR_nit__model__MAttributeDef___static_mtype].val; /* _static_mtype on */ +var67 = var69; +RET_LABEL68:(void)0; +} +} +var_attr_type = var67; +if (var_attr_type == NULL) { +var70 = 1; /* is null */ +} else { +var70 = 0; /* arg is null but recv is not */ +} +if (0) { +{ /* Inline kernel#Object#== (var_attr_type,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +{ /* Inline kernel#Object#is_same_instance (var_attr_type,var_other) on */ +var75 = var_attr_type == var_other; +var73 = var75; +goto RET_LABEL74; +RET_LABEL74:(void)0; +} +} +var71 = var73; +goto RET_LABEL72; +RET_LABEL72:(void)0; +} +var70 = var71; +} +if (var70){ +goto RET_LABEL; +} else { +} +{ +{ /* Inline parser_nodes#AAttrFormExpr#n_expr (self) on */ +var78 = self->attrs[COLOR_nit__parser_nodes__AAttrFormExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var78 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2269); +fatal_exit(1); +} +var76 = var78; +RET_LABEL77:(void)0; +} +} +/* isa ASelfExpr */ +cltype80 = type_nit__ASelfExpr.color; +idtype81 = type_nit__ASelfExpr.id; +if(cltype80 >= var76->type->table_size) { +var79 = 0; +} else { +var79 = var76->type->type_table[cltype80] == idtype81; +} +{ +var82 = nit__typing___nit__typing__TypeVisitor___resolve_for(var_v, var_attr_type, var_recvtype, var79); +} +var_attr_type = var82; +{ +{ /* Inline typing#AAttrFormExpr#attr_type= (self,var_attr_type) on */ +self->attrs[COLOR_nit__typing__AAttrFormExpr___attr_type].val = var_attr_type; /* _attr_type on */ +RET_LABEL83:(void)0; +} +} +RET_LABEL:; +} +/* method typing#AAttrExpr#accept_typing for (self: AAttrExpr, TypeVisitor) */ +void nit__typing___AAttrExpr___AExpr__accept_typing(val* self, val* p0) { +val* var_v /* var v: TypeVisitor */; +val* var /* : nullable MType */; +val* var2 /* : nullable MType */; +var_v = p0; +{ +nit__typing___AAttrFormExpr___resolve_property(self, var_v); /* Direct call typing#AAttrFormExpr#resolve_property on */ +} +{ +{ /* Inline typing#AAttrFormExpr#attr_type (self) on */ +var2 = self->attrs[COLOR_nit__typing__AAttrFormExpr___attr_type].val; /* _attr_type on */ +var = var2; +RET_LABEL1:(void)0; +} +} +{ +{ /* Inline typing#AExpr#mtype= (self,var) on */ +self->attrs[COLOR_nit__typing__AExpr___mtype].val = var; /* _mtype on */ +RET_LABEL3:(void)0; +} +} +RET_LABEL:; +} +/* method typing#AAttrAssignExpr#accept_typing for (self: AAttrAssignExpr, TypeVisitor) */ +void nit__typing___AAttrAssignExpr___AExpr__accept_typing(val* self, val* p0) { +val* var_v /* var v: TypeVisitor */; +val* var /* : nullable MType */; +val* var2 /* : nullable MType */; +val* var_mtype /* var mtype: nullable MType */; +val* var3 /* : AExpr */; +val* var5 /* : AExpr */; +val* var6 /* : nullable MType */; +short int var7 /* : Bool */; +short int var8 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var10 /* : Bool */; +short int var11 /* : Bool */; +var_v = p0; +{ +nit__typing___AAttrFormExpr___resolve_property(self, var_v); /* Direct call typing#AAttrFormExpr#resolve_property on */ +} +{ +{ /* Inline typing#AAttrFormExpr#attr_type (self) on */ +var2 = self->attrs[COLOR_nit__typing__AAttrFormExpr___attr_type].val; /* _attr_type on */ +var = var2; +RET_LABEL1:(void)0; +} +} +var_mtype = var; +{ +{ /* Inline parser_nodes#AAssignFormExpr#n_value (self) on */ +var5 = self->attrs[COLOR_nit__parser_nodes__AAssignFormExpr___n_value].val; /* _n_value on */ +if (unlikely(var5 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1995); +fatal_exit(1); +} +var3 = var5; +RET_LABEL4:(void)0; +} +} +{ +var6 = nit__typing___nit__typing__TypeVisitor___visit_expr_subtype(var_v, var3, var_mtype); +} +if (var_mtype == NULL) { +var7 = 0; /* is null */ +} else { +var7 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_mtype,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +var10 = ((short int(*)(val* self, val* p0))(var_mtype->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_mtype, var_other); /* == on */ +} +var11 = !var10; +var8 = var11; +goto RET_LABEL9; +RET_LABEL9:(void)0; +} +var7 = var8; +} +{ +{ /* Inline typing#AExpr#is_typed= (self,var7) on */ +self->attrs[COLOR_nit__typing__AExpr___is_typed].s = var7; /* _is_typed on */ +RET_LABEL12:(void)0; +} +} +RET_LABEL:; +} +/* method typing#AAttrReassignExpr#accept_typing for (self: AAttrReassignExpr, TypeVisitor) */ +void nit__typing___AAttrReassignExpr___AExpr__accept_typing(val* self, val* p0) { +val* var_v /* var v: TypeVisitor */; +val* var /* : nullable MType */; +val* var2 /* : nullable MType */; +val* var_mtype /* var mtype: nullable MType */; +short int var3 /* : Bool */; +short int var4 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var6 /* : Bool */; +short int var8 /* : Bool */; +val* var9 /* : nullable MType */; +val* var_rettype /* var rettype: nullable MType */; +short int var10 /* : Bool */; +short int var11 /* : Bool */; +val* var_other13 /* var other: nullable Object */; +short int var14 /* : Bool */; +short int var15 /* : Bool */; +var_v = p0; +{ +nit__typing___AAttrFormExpr___resolve_property(self, var_v); /* Direct call typing#AAttrFormExpr#resolve_property on */ +} +{ +{ /* Inline typing#AAttrFormExpr#attr_type (self) on */ +var2 = self->attrs[COLOR_nit__typing__AAttrFormExpr___attr_type].val; /* _attr_type on */ +var = var2; +RET_LABEL1:(void)0; +} +} +var_mtype = var; +if (var_mtype == NULL) { +var3 = 1; /* is null */ +} else { +var3 = 0; /* arg is null but recv is not */ +} +if (0) { +{ /* Inline kernel#Object#== (var_mtype,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +{ /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on */ +var8 = var_mtype == var_other; +var6 = var8; +goto RET_LABEL7; +RET_LABEL7:(void)0; +} +} +var4 = var6; +goto RET_LABEL5; +RET_LABEL5:(void)0; +} +var3 = var4; +} +if (var3){ +goto RET_LABEL; +} else { +} +{ +var9 = nit__typing___AReassignFormExpr___resolve_reassignment(self, var_v, var_mtype, var_mtype); +} +var_rettype = var9; +if (var_rettype == NULL) { +var10 = 0; /* is null */ +} else { +var10 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_rettype,((val*)NULL)) on */ +var_other13 = ((val*)NULL); +{ +var14 = ((short int(*)(val* self, val* p0))(var_rettype->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_rettype, var_other13); /* == on */ +} +var15 = !var14; +var11 = var15; +goto RET_LABEL12; +RET_LABEL12:(void)0; +} +var10 = var11; +} +{ +{ /* Inline typing#AExpr#is_typed= (self,var10) on */ +self->attrs[COLOR_nit__typing__AExpr___is_typed].s = var10; /* _is_typed on */ +RET_LABEL16:(void)0; +} +} +RET_LABEL:; +} +/* method typing#AIssetAttrExpr#accept_typing for (self: AIssetAttrExpr, TypeVisitor) */ +void nit__typing___AIssetAttrExpr___AExpr__accept_typing(val* self, val* p0) { +val* var_v /* var v: TypeVisitor */; +val* var /* : nullable MType */; +val* var2 /* : nullable MType */; +val* var_mtype /* var mtype: nullable MType */; +short int var3 /* : Bool */; +short int var4 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var6 /* : Bool */; +short int var8 /* : Bool */; +val* var9 /* : AExpr */; +val* var11 /* : AExpr */; +val* var12 /* : nullable MType */; +val* var_recvtype /* var recvtype: MType */; +val* var13 /* : MType */; +val* var_bound /* var bound: MType */; +short int var14 /* : Bool */; +int cltype; +int idtype; +val* var15 /* : TAttrid */; +val* var17 /* : TAttrid */; +static val* varonce; +val* var18 /* : String */; +char* var19 /* : NativeString */; +val* var20 /* : FlatString */; +val* var21 /* : nullable MType */; +var_v = p0; +{ +nit__typing___AAttrFormExpr___resolve_property(self, var_v); /* Direct call typing#AAttrFormExpr#resolve_property on */ +} +{ +{ /* Inline typing#AAttrFormExpr#attr_type (self) on */ +var2 = self->attrs[COLOR_nit__typing__AAttrFormExpr___attr_type].val; /* _attr_type on */ +var = var2; +RET_LABEL1:(void)0; +} +} +var_mtype = var; +if (var_mtype == NULL) { +var3 = 1; /* is null */ +} else { +var3 = 0; /* arg is null but recv is not */ +} +if (0) { +{ /* Inline kernel#Object#== (var_mtype,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +{ /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on */ +var8 = var_mtype == var_other; +var6 = var8; +goto RET_LABEL7; +RET_LABEL7:(void)0; +} +} +var4 = var6; +goto RET_LABEL5; +RET_LABEL5:(void)0; +} +var3 = var4; +} +if (var3){ +goto RET_LABEL; +} else { +} +{ +{ /* Inline parser_nodes#AAttrFormExpr#n_expr (self) on */ +var11 = self->attrs[COLOR_nit__parser_nodes__AAttrFormExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var11 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2269); +fatal_exit(1); +} +var9 = var11; +RET_LABEL10:(void)0; +} +} +{ +var12 = ((val*(*)(val* self))(var9->class->vft[COLOR_nit__typing__AExpr__mtype]))(var9); /* mtype on */ +} +if (unlikely(var12 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing, 2090); +fatal_exit(1); +} +var_recvtype = var12; +{ +var13 = nit__typing___nit__typing__TypeVisitor___resolve_for(var_v, var_mtype, var_recvtype, 0); +} +var_bound = var13; +/* isa MNullableType */ +cltype = type_nit__MNullableType.color; +idtype = type_nit__MNullableType.id; +if(cltype >= var_bound->type->table_size) { +var14 = 0; +} else { +var14 = var_bound->type->type_table[cltype] == idtype; +} +if (var14){ +{ +{ /* Inline parser_nodes#AAttrFormExpr#n_id (self) on */ +var17 = self->attrs[COLOR_nit__parser_nodes__AAttrFormExpr___n_id].val; /* _n_id on */ +if (unlikely(var17 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2272); +fatal_exit(1); +} +var15 = var17; +RET_LABEL16:(void)0; +} +} +if (likely(varonce!=NULL)) { +var18 = varonce; +} else { +var19 = "Type Error: `isset` on a nullable attribute."; +var20 = standard___standard__NativeString___to_s_with_length(var19, 44l); +var18 = var20; +varonce = var18; +} +{ +nit__typing___nit__typing__TypeVisitor___error(var_v, var15, var18); /* Direct call typing#TypeVisitor#error on */ +} +} else { +} +{ +var21 = nit__typing___nit__typing__TypeVisitor___type_bool(var_v, self); +} +{ +{ /* Inline typing#AExpr#mtype= (self,var21) on */ +self->attrs[COLOR_nit__typing__AExpr___mtype].val = var21; /* _mtype on */ +RET_LABEL22:(void)0; +} +} +RET_LABEL:; +} +/* method typing#AVarargExpr#accept_typing for (self: AVarargExpr, TypeVisitor) */ +void nit__typing___AVarargExpr___AExpr__accept_typing(val* self, val* p0) { +val* var_v /* var v: TypeVisitor */; +static val* varonce; +val* var /* : String */; +char* var1 /* : NativeString */; +val* var2 /* : FlatString */; +var_v = p0; +if (likely(varonce!=NULL)) { +var = varonce; +} else { +var1 = "Syntax Error: unexpected `...`."; +var2 = standard___standard__NativeString___to_s_with_length(var1, 31l); +var = var2; +varonce = var; +} +{ +nit__typing___nit__typing__TypeVisitor___error(var_v, self, var); /* Direct call typing#TypeVisitor#error on */ +} +RET_LABEL:; +} /* method typing#ADebugTypeExpr#accept_typing for (self: ADebugTypeExpr, TypeVisitor) */ void nit__typing___ADebugTypeExpr___AExpr__accept_typing(val* self, val* p0) { val* var_v /* var v: TypeVisitor */; @@ -6,77 +1641,71 @@ val* var /* : AExpr */; val* var2 /* : AExpr */; val* var3 /* : nullable MType */; val* var_expr /* var expr: nullable MType */; -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 /* : MType */; +short int var7 /* : Bool */; +short int var9 /* : Bool */; +val* var10 /* : MType */; val* var_unsafe /* var unsafe: MType */; -val* var12 /* : AType */; -val* var14 /* : AType */; +val* var11 /* : AType */; +val* var13 /* : AType */; val* var_ntype /* var ntype: AType */; -val* var15 /* : nullable MType */; +val* var14 /* : nullable MType */; val* var_mtype /* var mtype: nullable MType */; +short int var15 /* : Bool */; short int var16 /* : Bool */; -val* var17 /* : null */; -short int var18 /* : Bool */; -short int var19 /* : Bool */; -val* var_other21 /* var other: nullable Object */; -short int var22 /* : Bool */; -short int var23 /* : Bool */; +short int var17 /* : Bool */; +val* var_other19 /* var other: nullable Object */; +short int var20 /* : Bool */; +short int var21 /* : Bool */; short int var_ /* var : Bool */; +short int var22 /* : Bool */; short int var24 /* : Bool */; -short int var26 /* : Bool */; -short int var27 /* : Bool */; -val* var28 /* : MType */; +short int var25 /* : Bool */; +val* var26 /* : MType */; val* var_umtype /* var umtype: MType */; +val* var27 /* : ModelBuilder */; val* var29 /* : ModelBuilder */; -val* var31 /* : ModelBuilder */; static val* varonce; -val* var32 /* : String */; -char* var33 /* : NativeString */; -long var34 /* : Int */; -val* var35 /* : FlatString */; -static val* varonce36; -val* var37 /* : String */; -char* var38 /* : NativeString */; -long var39 /* : Int */; -val* var40 /* : FlatString */; -static val* varonce41; -val* var42 /* : String */; -char* var43 /* : NativeString */; -long var44 /* : Int */; -val* var45 /* : FlatString */; -static val* varonce46; -val* var47 /* : String */; -char* var48 /* : NativeString */; -long var49 /* : Int */; +val* var30 /* : String */; +char* var31 /* : NativeString */; +val* var32 /* : FlatString */; +val* var34 /* : NativeArray[String] */; +static val* varonce33; +static val* varonce35; +val* var36 /* : String */; +char* var37 /* : NativeString */; +val* var38 /* : FlatString */; +static val* varonce39; +val* var40 /* : String */; +char* var41 /* : NativeString */; +val* var42 /* : FlatString */; +static val* varonce43; +val* var44 /* : String */; +char* var45 /* : NativeString */; +val* var46 /* : FlatString */; +static val* varonce47; +val* var48 /* : String */; +char* var49 /* : NativeString */; val* var50 /* : FlatString */; static val* varonce51; val* var52 /* : String */; char* var53 /* : NativeString */; -long var54 /* : Int */; -val* var55 /* : FlatString */; -static val* varonce56; +val* var54 /* : FlatString */; +val* var55 /* : String */; +val* var56 /* : String */; val* var57 /* : String */; -char* var58 /* : NativeString */; -long var59 /* : Int */; -val* var60 /* : FlatString */; -val* var61 /* : Array[Object] */; -long var62 /* : Int */; -val* var63 /* : NativeArray[Object] */; -val* var64 /* : String */; -short int var65 /* : Bool */; +val* var58 /* : String */; +val* var59 /* : String */; var_v = p0; { { /* Inline parser_nodes#ADebugTypeExpr#n_expr (self) on */ var2 = self->attrs[COLOR_nit__parser_nodes__ADebugTypeExpr___n_expr].val; /* _n_expr on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2397); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2760); +fatal_exit(1); } var = var2; RET_LABEL1:(void)0; @@ -86,192 +1715,194 @@ RET_LABEL1:(void)0; var3 = nit__typing___nit__typing__TypeVisitor___visit_expr(var_v, var); } var_expr = var3; -var4 = NULL; if (var_expr == 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_expr,var4) on */ -var_other = var4; +{ /* Inline kernel#Object#== (var_expr,((val*)NULL)) on */ +var_other = ((val*)NULL); { { /* Inline kernel#Object#is_same_instance (var_expr,var_other) on */ -var10 = var_expr == var_other; -var8 = var10; -goto RET_LABEL9; -RET_LABEL9:(void)0; +var9 = var_expr == 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){ goto RET_LABEL; } else { } { -var11 = nit__typing___nit__typing__TypeVisitor___anchor_to(var_v, var_expr); +var10 = nit__typing___nit__typing__TypeVisitor___anchor_to(var_v, var_expr); } -var_unsafe = var11; +var_unsafe = var10; { { /* Inline parser_nodes#ADebugTypeExpr#n_type (self) on */ -var14 = self->attrs[COLOR_nit__parser_nodes__ADebugTypeExpr___n_type].val; /* _n_type on */ -if (unlikely(var14 == NULL)) { +var13 = self->attrs[COLOR_nit__parser_nodes__ADebugTypeExpr___n_type].val; /* _n_type on */ +if (unlikely(var13 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2400); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2763); +fatal_exit(1); } -var12 = var14; -RET_LABEL13:(void)0; +var11 = var13; +RET_LABEL12:(void)0; } } -var_ntype = var12; +var_ntype = var11; { -var15 = nit__typing___nit__typing__TypeVisitor___resolve_mtype(var_v, var_ntype); +var14 = nit__typing___nit__typing__TypeVisitor___resolve_mtype(var_v, var_ntype); } -var_mtype = var15; -var17 = NULL; +var_mtype = var14; if (var_mtype == NULL) { -var18 = 0; /* is null */ +var16 = 0; /* is null */ } else { -var18 = 1; /* arg is null and recv is not */ +var16 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_mtype,var17) on */ -var_other21 = var17; +{ /* Inline kernel#Object#!= (var_mtype,((val*)NULL)) on */ +var_other19 = ((val*)NULL); { -var22 = ((short int (*)(val* self, val* p0))(var_mtype->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_mtype, var_other21) /* == on */; +var20 = ((short int(*)(val* self, val* p0))(var_mtype->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_mtype, var_other19); /* == on */ } -var23 = !var22; -var19 = var23; -goto RET_LABEL20; -RET_LABEL20:(void)0; +var21 = !var20; +var17 = var21; +goto RET_LABEL18; +RET_LABEL18:(void)0; } -var18 = var19; +var16 = var17; } -var_ = var18; -if (var18){ +var_ = var16; +if (var16){ { { /* Inline kernel#Object#!= (var_mtype,var_expr) on */ -var_other21 = var_expr; +var_other19 = var_expr; { -var26 = ((short int (*)(val* self, val* p0))(var_mtype->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_mtype, var_other21) /* == on */; +var24 = ((short int(*)(val* self, val* p0))(var_mtype->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_mtype, var_other19); /* == on */ } -var27 = !var26; -var24 = var27; -goto RET_LABEL25; -RET_LABEL25:(void)0; +var25 = !var24; +var22 = var25; +goto RET_LABEL23; +RET_LABEL23:(void)0; } } -var16 = var24; +var15 = var22; } else { -var16 = var_; +var15 = var_; } -if (var16){ +if (var15){ { -var28 = nit__typing___nit__typing__TypeVisitor___anchor_to(var_v, var_mtype); +var26 = nit__typing___nit__typing__TypeVisitor___anchor_to(var_v, var_mtype); } -var_umtype = var28; +var_umtype = var26; { { /* Inline typing#TypeVisitor#modelbuilder (var_v) on */ -var31 = var_v->attrs[COLOR_nit__typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on */ -if (unlikely(var31 == NULL)) { +var29 = var_v->attrs[COLOR_nit__typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on */ +if (unlikely(var29 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing, 34); -show_backtrace(1); +fatal_exit(1); } -var29 = var31; -RET_LABEL30:(void)0; +var27 = var29; +RET_LABEL28:(void)0; } } -if (varonce) { -var32 = varonce; +if (likely(varonce!=NULL)) { +var30 = varonce; } else { -var33 = "debug"; -var34 = 5; -var35 = standard___standard__NativeString___to_s_with_length(var33, var34); -var32 = var35; -varonce = var32; +var31 = "debug"; +var32 = standard___standard__NativeString___to_s_with_length(var31, 5l); +var30 = var32; +varonce = var30; } -if (varonce36) { -var37 = varonce36; +if (unlikely(varonce33==NULL)) { +var34 = NEW_standard__NativeArray(9l, &type_standard__NativeArray__standard__String); +if (likely(varonce35!=NULL)) { +var36 = varonce35; } else { -var38 = "Found type "; -var39 = 11; -var40 = standard___standard__NativeString___to_s_with_length(var38, var39); -var37 = var40; -varonce36 = var37; +var37 = "Found type "; +var38 = standard___standard__NativeString___to_s_with_length(var37, 11l); +var36 = var38; +varonce35 = var36; } -if (varonce41) { -var42 = varonce41; +((struct instance_standard__NativeArray*)var34)->values[0]=var36; +if (likely(varonce39!=NULL)) { +var40 = varonce39; } else { -var43 = " (-> "; -var44 = 5; -var45 = standard___standard__NativeString___to_s_with_length(var43, var44); -var42 = var45; -varonce41 = var42; +var41 = " (-> "; +var42 = standard___standard__NativeString___to_s_with_length(var41, 5l); +var40 = var42; +varonce39 = var40; } -if (varonce46) { -var47 = varonce46; +((struct instance_standard__NativeArray*)var34)->values[2]=var40; +if (likely(varonce43!=NULL)) { +var44 = varonce43; } else { -var48 = "), expected "; -var49 = 12; -var50 = standard___standard__NativeString___to_s_with_length(var48, var49); -var47 = var50; -varonce46 = var47; +var45 = "), expected "; +var46 = standard___standard__NativeString___to_s_with_length(var45, 12l); +var44 = var46; +varonce43 = var44; +} +((struct instance_standard__NativeArray*)var34)->values[4]=var44; +if (likely(varonce47!=NULL)) { +var48 = varonce47; +} else { +var49 = " (-> "; +var50 = standard___standard__NativeString___to_s_with_length(var49, 5l); +var48 = var50; +varonce47 = var48; } -if (varonce51) { +((struct instance_standard__NativeArray*)var34)->values[6]=var48; +if (likely(varonce51!=NULL)) { var52 = varonce51; } else { -var53 = " (-> "; -var54 = 5; -var55 = standard___standard__NativeString___to_s_with_length(var53, var54); -var52 = var55; +var53 = ")"; +var54 = standard___standard__NativeString___to_s_with_length(var53, 1l); +var52 = var54; varonce51 = var52; } -if (varonce56) { -var57 = varonce56; +((struct instance_standard__NativeArray*)var34)->values[8]=var52; } else { -var58 = ")"; -var59 = 1; -var60 = standard___standard__NativeString___to_s_with_length(var58, var59); -var57 = var60; -varonce56 = var57; +var34 = varonce33; +varonce33 = NULL; +} +{ +var55 = ((val*(*)(val* self))(var_expr->class->vft[COLOR_standard__string__Object__to_s]))(var_expr); /* to_s on */ +} +((struct instance_standard__NativeArray*)var34)->values[1]=var55; +{ +var56 = ((val*(*)(val* self))(var_unsafe->class->vft[COLOR_standard__string__Object__to_s]))(var_unsafe); /* to_s on */ } -var61 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var61 = array_instance Array[Object] */ -var62 = 9; -var63 = NEW_standard__NativeArray(var62, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var63)->values[0] = (val*) var37; -((struct instance_standard__NativeArray*)var63)->values[1] = (val*) var_expr; -((struct instance_standard__NativeArray*)var63)->values[2] = (val*) var42; -((struct instance_standard__NativeArray*)var63)->values[3] = (val*) var_unsafe; -((struct instance_standard__NativeArray*)var63)->values[4] = (val*) var47; -((struct instance_standard__NativeArray*)var63)->values[5] = (val*) var_mtype; -((struct instance_standard__NativeArray*)var63)->values[6] = (val*) var52; -((struct instance_standard__NativeArray*)var63)->values[7] = (val*) var_umtype; -((struct instance_standard__NativeArray*)var63)->values[8] = (val*) var57; +((struct instance_standard__NativeArray*)var34)->values[3]=var56; { -((void (*)(val* self, val* p0, long p1))(var61->class->vft[COLOR_standard__array__Array__with_native]))(var61, var63, var62) /* with_native on */; +var57 = ((val*(*)(val* self))(var_mtype->class->vft[COLOR_standard__string__Object__to_s]))(var_mtype); /* to_s on */ } +((struct instance_standard__NativeArray*)var34)->values[5]=var57; +{ +var58 = ((val*(*)(val* self))(var_umtype->class->vft[COLOR_standard__string__Object__to_s]))(var_umtype); /* to_s on */ } +((struct instance_standard__NativeArray*)var34)->values[7]=var58; { -var64 = ((val* (*)(val* self))(var61->class->vft[COLOR_standard__string__Object__to_s]))(var61) /* to_s on */; +var59 = ((val*(*)(val* self))(var34->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var34); /* native_to_s on */ } +varonce33 = var34; { -nit___nit__ModelBuilder___warning(var29, self, var32, var64); /* Direct call modelbuilder_base#ModelBuilder#warning on */ +nit___nit__ModelBuilder___warning(var27, self, var30, var59); /* Direct call modelbuilder_base#ModelBuilder#warning on */ } } else { } -var65 = 1; { -{ /* Inline typing#AExpr#is_typed= (self,var65) on */ -self->attrs[COLOR_nit__typing__AExpr___is_typed].s = var65; /* _is_typed on */ -RET_LABEL66:(void)0; +{ /* Inline typing#AExpr#is_typed= (self,1) on */ +self->attrs[COLOR_nit__typing__AExpr___is_typed].s = 1; /* _is_typed on */ +RET_LABEL60:(void)0; } } RET_LABEL:;