+/* method typing$ASendExpr$accept_typing for (self: ASendExpr, TypeVisitor) */
+void nitc__typing___ASendExpr___AExpr__accept_typing(val* self, val* p0) {
+val* var_v /* var v: TypeVisitor */;
+val* var /* : AExpr */;
+val* var2 /* : AExpr */;
+val* var_nrecv /* var nrecv: AExpr */;
+val* var3 /* : nullable MType */;
+val* var_recvtype /* var recvtype: nullable MType */;
+val* var4 /* : String */;
+val* var_name /* var name: String */;
+val* var5 /* : ANode */;
+val* var_node /* var node: ANode */;
+short int var6 /* : Bool */;
+short int var7 /* : Bool */;
+val* var_other /* var other: nullable Object */;
+short int var9 /* : Bool */;
+short int var11 /* : Bool */;
+val* var_callsite /* var callsite: nullable Object */;
+val* var12 /* : MType */;
+val* var_unsafe_type /* var unsafe_type: MType */;
+val* var13 /* : nullable MProperty */;
+val* var_mproperty /* var mproperty: nullable MProperty */;
+short int var14 /* : Bool */;
+short int var15 /* : Bool */;
+short int var16 /* : Bool */;
+short int var18 /* : Bool */;
+short int var20 /* : Bool */;
+short int var_ /* var : Bool */;
+short int var21 /* : Bool */;
+int cltype;
+int idtype;
+static val* varonce;
+val* var22 /* : String */;
+char* var23 /* : CString */;
+val* var24 /* : String */;
+val* var25 /* : nullable Int */;
+val* var26 /* : nullable Int */;
+val* var27 /* : nullable Bool */;
+val* var28 /* : nullable Bool */;
+val* var29 /* : nullable MClass */;
+val* var_sysclass /* var sysclass: nullable MClass */;
+short int var30 /* : Bool */;
+short int var31 /* : Bool */;
+val* var_other33 /* var other: nullable Object */;
+short int var34 /* : Bool */;
+short int var35 /* : Bool */;
+val* var36 /* : MClassType */;
+val* var38 /* : MClassType */;
+val* var_systype /* var systype: MClassType */;
+val* var39 /* : nullable MProperty */;
+short int var40 /* : Bool */;
+short int var41 /* : Bool */;
+short int var43 /* : Bool */;
+short int var44 /* : Bool */;
+val* var45 /* : nullable CallSite */;
+short int var46 /* : Bool */;
+short int var47 /* : Bool */;
+short int var49 /* : Bool */;
+short int var51 /* : Bool */;
+short int var55 /* : Bool */;
+short int var56 /* : Bool */;
+short int var58 /* : Bool */;
+short int var60 /* : Bool */;
+short int var61 /* : Bool */;
+int cltype62;
+int idtype63;
+val* var64 /* : nullable CallSite */;
+short int var65 /* : Bool */;
+short int var66 /* : Bool */;
+short int var68 /* : Bool */;
+short int var70 /* : Bool */;
+val* var72 /* : MSignature */;
+val* var74 /* : MSignature */;
+val* var_msignature /* var msignature: MSignature */;
+val* var75 /* : Array[AExpr] */;
+val* var_args /* var args: Array[AExpr] */;
+short int var76 /* : Bool */;
+val* var77 /* : MMethod */;
+val* var79 /* : MMethod */;
+short int var80 /* : Bool */;
+short int var82 /* : Bool */;
+val* var83 /* : nullable MPropDef */;
+val* var85 /* : nullable MPropDef */;
+val* var_vmpropdef /* var vmpropdef: nullable MPropDef */;
+short int var86 /* : Bool */;
+short int var87 /* : Bool */;
+int cltype88;
+int idtype89;
+short int var_90 /* var : Bool */;
+val* var91 /* : MProperty */;
+val* var93 /* : MProperty */;
+short int var94 /* : Bool */;
+short int var96 /* : Bool */;
+short int var97 /* : Bool */;
+static val* varonce98;
+val* var99 /* : String */;
+char* var100 /* : CString */;
+val* var101 /* : String */;
+val* var102 /* : nullable Int */;
+val* var103 /* : nullable Int */;
+val* var104 /* : nullable Bool */;
+val* var105 /* : nullable Bool */;
+short int var106 /* : Bool */;
+short int var107 /* : Bool */;
+short int var108 /* : Bool */;
+int cltype109;
+int idtype110;
+short int var_111 /* var : Bool */;
+val* var112 /* : MProperty */;
+val* var114 /* : MProperty */;
+short int var115 /* : Bool */;
+short int var117 /* : Bool */;
+short int var_118 /* var : Bool */;
+val* var119 /* : MMethod */;
+val* var121 /* : MMethod */;
+short int var122 /* : Bool */;
+short int var124 /* : Bool */;
+short int var125 /* : Bool */;
+val* var127 /* : NativeArray[String] */;
+static val* varonce126;
+static val* varonce128;
+val* var129 /* : String */;
+char* var130 /* : CString */;
+val* var131 /* : String */;
+val* var132 /* : nullable Int */;
+val* var133 /* : nullable Int */;
+val* var134 /* : nullable Bool */;
+val* var135 /* : nullable Bool */;
+static val* varonce136;
+val* var137 /* : String */;
+char* var138 /* : CString */;
+val* var139 /* : String */;
+val* var140 /* : nullable Int */;
+val* var141 /* : nullable Int */;
+val* var142 /* : nullable Bool */;
+val* var143 /* : nullable Bool */;
+static val* varonce144;
+val* var145 /* : String */;
+char* var146 /* : CString */;
+val* var147 /* : String */;
+val* var148 /* : nullable Int */;
+val* var149 /* : nullable Int */;
+val* var150 /* : nullable Bool */;
+val* var151 /* : nullable Bool */;
+val* var152 /* : String */;
+val* var153 /* : MMethod */;
+val* var155 /* : MMethod */;
+val* var156 /* : String */;
+val* var157 /* : String */;
+val* var158 /* : nullable MType */;
+val* var160 /* : nullable MType */;
+val* var_ret /* var ret: nullable MType */;
+short int var161 /* : Bool */;
+short int var162 /* : Bool */;
+short int var164 /* : Bool */;
+short int var165 /* : Bool */;
+var_v = p0;
+{
+{ /* Inline parser_nodes$ASendExpr$n_expr (self) on <self:ASendExpr> */
+var2 = self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ASendExpr> */
+if (unlikely(var2 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2103);
+fatal_exit(1);
+}
+var = var2;
+RET_LABEL1:(void)0;
+}
+}
+var_nrecv = var;
+{
+var3 = nitc__typing___nitc__typing__TypeVisitor___visit_expr(var_v, var_nrecv);
+}
+var_recvtype = var3;
+{
+var4 = ((val*(*)(val* self))(self->class->vft[COLOR_nitc__typing__ASendExpr__property_name]))(self); /* property_name on <self:ASendExpr>*/
+}
+var_name = var4;
+{
+var5 = ((val*(*)(val* self))(self->class->vft[COLOR_nitc__typing__ASendExpr__property_node]))(self); /* property_node on <self:ASendExpr>*/
+}
+var_node = var5;
+if (var_recvtype == NULL) {
+var6 = 1; /* is null */
+} else {
+var6 = 0; /* arg is null but recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$== (var_recvtype,((val*)NULL)) on <var_recvtype:nullable MType> */
+var_other = ((val*)NULL);
+{
+{ /* Inline kernel$Object$is_same_instance (var_recvtype,var_other) on <var_recvtype:nullable MType(MType)> */
+var11 = var_recvtype == var_other;
+var9 = var11;
+goto RET_LABEL10;
+RET_LABEL10:(void)0;
+}
+}
+var7 = var9;
+goto RET_LABEL8;
+RET_LABEL8:(void)0;
+}
+var6 = var7;
+}
+if (var6){
+goto RET_LABEL;
+} else {
+}
+var_callsite = ((val*)NULL);
+{
+var12 = nitc__typing___nitc__typing__TypeVisitor___anchor_to(var_v, var_recvtype);
+}
+var_unsafe_type = var12;
+{
+var13 = nitc__typing___nitc__typing__TypeVisitor___try_get_mproperty_by_name2(var_v, var_node, var_unsafe_type, var_name);
+}
+var_mproperty = var13;
+if (var_mproperty == NULL) {
+var15 = 1; /* is null */
+} else {
+var15 = 0; /* arg is null but recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$== (var_mproperty,((val*)NULL)) on <var_mproperty:nullable MProperty> */
+var_other = ((val*)NULL);
+{
+{ /* Inline kernel$Object$is_same_instance (var_mproperty,var_other) on <var_mproperty:nullable MProperty(MProperty)> */
+var20 = var_mproperty == var_other;
+var18 = var20;
+goto RET_LABEL19;
+RET_LABEL19:(void)0;
+}
+}
+var16 = var18;
+goto RET_LABEL17;
+RET_LABEL17:(void)0;
+}
+var15 = var16;
+}
+var_ = var15;
+if (var15){
+/* <var_nrecv:AExpr> isa AImplicitSelfExpr */
+cltype = type_nitc__AImplicitSelfExpr.color;
+idtype = type_nitc__AImplicitSelfExpr.id;
+if(cltype >= var_nrecv->type->table_size) {
+var21 = 0;
+} else {
+var21 = var_nrecv->type->type_table[cltype] == idtype;
+}
+var14 = var21;
+} else {
+var14 = var_;
+}
+if (var14){
+if (likely(varonce!=NULL)) {
+var22 = varonce;
+} else {
+var23 = "Sys";
+var25 = (val*)(3l<<2|1);
+var26 = (val*)(3l<<2|1);
+var27 = (val*)((long)(0)<<2|3);
+var28 = (val*)((long)(0)<<2|3);
+var24 = core__flat___CString___to_s_unsafe(var23, var25, var26, var27, var28);
+var22 = var24;
+varonce = var22;
+}
+{
+var29 = nitc__typing___nitc__typing__TypeVisitor___try_get_mclass(var_v, var_node, var22);
+}
+var_sysclass = var29;
+if (var_sysclass == NULL) {
+var30 = 0; /* is null */
+} else {
+var30 = 1; /* arg is null and recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$!= (var_sysclass,((val*)NULL)) on <var_sysclass:nullable MClass> */
+var_other33 = ((val*)NULL);
+{
+var34 = ((short int(*)(val* self, val* p0))(var_sysclass->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_sysclass, var_other33); /* == on <var_sysclass:nullable MClass(MClass)>*/
+}
+var35 = !var34;
+var31 = var35;
+goto RET_LABEL32;
+RET_LABEL32:(void)0;
+}
+var30 = var31;
+}
+if (var30){
+{
+{ /* Inline model$MClass$mclass_type (var_sysclass) on <var_sysclass:nullable MClass(MClass)> */
+var38 = var_sysclass->attrs[COLOR_nitc__model__MClass___mclass_type].val; /* _mclass_type on <var_sysclass:nullable MClass(MClass)> */
+if (unlikely(var38 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 520);
+fatal_exit(1);
+}
+var36 = var38;
+RET_LABEL37:(void)0;
+}
+}
+var_systype = var36;
+{
+var39 = nitc__typing___nitc__typing__TypeVisitor___try_get_mproperty_by_name2(var_v, var_node, var_systype, var_name);
+}
+var_mproperty = var39;
+if (var_mproperty == NULL) {
+var40 = 0; /* is null */
+} else {
+var40 = 1; /* arg is null and recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$!= (var_mproperty,((val*)NULL)) on <var_mproperty:nullable MProperty> */
+var_other33 = ((val*)NULL);
+{
+var43 = ((short int(*)(val* self, val* p0))(var_mproperty->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_mproperty, var_other33); /* == on <var_mproperty:nullable MProperty(MProperty)>*/
+}
+var44 = !var43;
+var41 = var44;
+goto RET_LABEL42;
+RET_LABEL42:(void)0;
+}
+var40 = var41;
+}
+if (var40){
+{
+var45 = nitc__typing___nitc__typing__TypeVisitor___get_method(var_v, var_node, var_systype, var_name, 0);
+}
+var_callsite = var45;
+if (var_callsite == NULL) {
+var46 = 1; /* is null */
+} else {
+var46 = 0; /* arg is null but recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$== (var_callsite,((val*)NULL)) on <var_callsite:nullable Object(nullable CallSite)> */
+var_other = ((val*)NULL);
+{
+{ /* Inline kernel$Object$is_same_instance (var_callsite,var_other) on <var_callsite:nullable Object(CallSite)> */
+var51 = var_callsite == var_other;
+var49 = var51;
+goto RET_LABEL50;
+RET_LABEL50:(void)0;
+}
+}
+var47 = var49;
+goto RET_LABEL48;
+RET_LABEL48:(void)0;
+}
+var46 = var47;
+}
+if (var46){
+goto RET_LABEL;
+} else {
+}
+{
+{ /* Inline typing$AImplicitSelfExpr$is_sys= (var_nrecv,1) on <var_nrecv:AExpr(AImplicitSelfExpr)> */
+var_nrecv->attrs[COLOR_nitc__typing__AImplicitSelfExpr___is_sys].s = 1; /* _is_sys on <var_nrecv:AExpr(AImplicitSelfExpr)> */
+RET_LABEL52:(void)0;
+}
+}
+{
+{ /* Inline typing$ASelfExpr$its_variable= (var_nrecv,((val*)NULL)) on <var_nrecv:AExpr(AImplicitSelfExpr)> */
+var_nrecv->attrs[COLOR_nitc__typing__ASelfExpr___its_variable].val = ((val*)NULL); /* _its_variable on <var_nrecv:AExpr(AImplicitSelfExpr)> */
+RET_LABEL53:(void)0;
+}
+}
+{
+{ /* Inline typing$AExpr$mtype= (var_nrecv,var_systype) on <var_nrecv:AExpr(AImplicitSelfExpr)> */
+var_nrecv->attrs[COLOR_nitc__typing__AExpr___mtype].val = var_systype; /* _mtype on <var_nrecv:AExpr(AImplicitSelfExpr)> */
+RET_LABEL54:(void)0;
+}
+}
+var_recvtype = var_systype;
+} else {
+}
+} else {
+}
+} else {
+}
+if (var_callsite == NULL) {
+var55 = 1; /* is null */
+} else {
+var55 = 0; /* arg is null but recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$== (var_callsite,((val*)NULL)) on <var_callsite:nullable Object(nullable CallSite)> */
+var_other = ((val*)NULL);
+{
+{ /* Inline kernel$Object$is_same_instance (var_callsite,var_other) on <var_callsite:nullable Object(CallSite)> */
+var60 = var_callsite == var_other;
+var58 = var60;
+goto RET_LABEL59;
+RET_LABEL59:(void)0;
+}
+}
+var56 = var58;
+goto RET_LABEL57;
+RET_LABEL57:(void)0;
+}
+var55 = var56;
+}
+if (var55){
+/* <var_nrecv:AExpr> isa ASelfExpr */
+cltype62 = type_nitc__ASelfExpr.color;
+idtype63 = type_nitc__ASelfExpr.id;
+if(cltype62 >= var_nrecv->type->table_size) {
+var61 = 0;
+} else {
+var61 = var_nrecv->type->type_table[cltype62] == idtype63;
+}
+{
+var64 = nitc__typing___nitc__typing__TypeVisitor___get_method(var_v, var_node, var_recvtype, var_name, var61);
+}
+var_callsite = var64;
+if (var_callsite == NULL) {
+var65 = 1; /* is null */
+} else {
+var65 = 0; /* arg is null but recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$== (var_callsite,((val*)NULL)) on <var_callsite:nullable Object(nullable CallSite)> */
+var_other = ((val*)NULL);
+{
+{ /* Inline kernel$Object$is_same_instance (var_callsite,var_other) on <var_callsite:nullable Object(CallSite)> */
+var70 = var_callsite == var_other;
+var68 = var70;
+goto RET_LABEL69;
+RET_LABEL69:(void)0;
+}
+}
+var66 = var68;
+goto RET_LABEL67;
+RET_LABEL67:(void)0;
+}
+var65 = var66;
+}
+if (var65){
+goto RET_LABEL;
+} else {
+}
+} else {
+}
+{
+{ /* Inline typing$ASendExpr$callsite= (self,var_callsite) on <self:ASendExpr> */
+self->attrs[COLOR_nitc__typing__ASendExpr___callsite].val = var_callsite; /* _callsite on <self:ASendExpr> */
+RET_LABEL71:(void)0;
+}
+}
+{
+{ /* Inline typing$CallSite$msignature (var_callsite) on <var_callsite:nullable Object(CallSite)> */
+var74 = var_callsite->attrs[COLOR_nitc__typing__CallSite___msignature].val; /* _msignature on <var_callsite:nullable Object(CallSite)> */
+if (unlikely(var74 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _msignature");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 663);
+fatal_exit(1);
+}
+var72 = var74;
+RET_LABEL73:(void)0;
+}
+}
+var_msignature = var72;
+{
+var75 = ((val*(*)(val* self))(self->class->vft[COLOR_nitc__typing__ASendExpr__compute_raw_arguments]))(self); /* compute_raw_arguments on <self:ASendExpr>*/
+}
+var_args = var75;
+{
+var76 = nitc___nitc__CallSite___check_signature(var_callsite, var_v, var_node, var_args);
+}
+{
+{ /* Inline typing$CallSite$mproperty (var_callsite) on <var_callsite:nullable Object(CallSite)> */
+var79 = var_callsite->attrs[COLOR_nitc__typing__CallSite___mproperty].val; /* _mproperty on <var_callsite:nullable Object(CallSite)> */
+if (unlikely(var79 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 656);
+fatal_exit(1);
+}
+var77 = var79;
+RET_LABEL78:(void)0;
+}
+}
+{
+{ /* Inline model$MMethod$is_init (var77) on <var77:MMethod> */
+var82 = var77->attrs[COLOR_nitc__model__MMethod___is_init].s; /* _is_init on <var77:MMethod> */
+var80 = var82;
+RET_LABEL81:(void)0;
+}
+}
+if (var80){
+{
+{ /* Inline typing$TypeVisitor$mpropdef (var_v) on <var_v:TypeVisitor> */
+var85 = var_v->attrs[COLOR_nitc__typing__TypeVisitor___mpropdef].val; /* _mpropdef on <var_v:TypeVisitor> */
+var83 = var85;
+RET_LABEL84:(void)0;
+}
+}
+var_vmpropdef = var83;
+/* <var_vmpropdef:nullable MPropDef> isa MMethodDef */
+cltype88 = type_nitc__MMethodDef.color;
+idtype89 = type_nitc__MMethodDef.id;
+if(var_vmpropdef == NULL) {
+var87 = 0;
+} else {
+if(cltype88 >= var_vmpropdef->type->table_size) {
+var87 = 0;
+} else {
+var87 = var_vmpropdef->type->type_table[cltype88] == idtype89;
+}
+}
+var_90 = var87;
+if (var87){
+{
+{ /* Inline model$MPropDef$mproperty (var_vmpropdef) on <var_vmpropdef:nullable MPropDef(MMethodDef)> */
+var93 = var_vmpropdef->attrs[COLOR_nitc__model__MPropDef___mproperty].val; /* _mproperty on <var_vmpropdef:nullable MPropDef(MMethodDef)> */
+if (unlikely(var93 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 2357);
+fatal_exit(1);
+}
+var91 = var93;
+RET_LABEL92:(void)0;
+}
+}
+{
+{ /* Inline model$MMethod$is_init (var91) on <var91:MProperty(MMethod)> */
+var96 = var91->attrs[COLOR_nitc__model__MMethod___is_init].s; /* _is_init on <var91:MProperty(MMethod)> */
+var94 = var96;
+RET_LABEL95:(void)0;
+}
+}
+var86 = var94;
+} else {
+var86 = var_90;
+}
+var97 = !var86;
+if (var97){
+if (likely(varonce98!=NULL)) {
+var99 = varonce98;
+} else {
+var100 = "Error: an `init` can only be called from another `init`.";
+var102 = (val*)(56l<<2|1);
+var103 = (val*)(56l<<2|1);
+var104 = (val*)((long)(0)<<2|3);
+var105 = (val*)((long)(0)<<2|3);
+var101 = core__flat___CString___to_s_unsafe(var100, var102, var103, var104, var105);
+var99 = var101;
+varonce98 = var99;
+}
+{
+nitc__typing___nitc__typing__TypeVisitor___error(var_v, var_node, var99); /* Direct call typing$TypeVisitor$error on <var_v:TypeVisitor>*/
+}
+} else {
+}
+/* <var_vmpropdef:nullable MPropDef> isa MMethodDef */
+cltype109 = type_nitc__MMethodDef.color;
+idtype110 = type_nitc__MMethodDef.id;
+if(var_vmpropdef == NULL) {
+var108 = 0;
+} else {
+if(cltype109 >= var_vmpropdef->type->table_size) {
+var108 = 0;
+} else {
+var108 = var_vmpropdef->type->type_table[cltype109] == idtype110;
+}
+}
+var_111 = var108;
+if (var108){
+{
+{ /* Inline model$MPropDef$mproperty (var_vmpropdef) on <var_vmpropdef:nullable MPropDef(MMethodDef)> */
+var114 = var_vmpropdef->attrs[COLOR_nitc__model__MPropDef___mproperty].val; /* _mproperty on <var_vmpropdef:nullable MPropDef(MMethodDef)> */
+if (unlikely(var114 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 2357);
+fatal_exit(1);
+}
+var112 = var114;
+RET_LABEL113:(void)0;
+}
+}
+{
+{ /* Inline model$MMethod$is_root_init (var112) on <var112:MProperty(MMethod)> */
+var117 = var112->attrs[COLOR_nitc__model__MMethod___is_root_init].s; /* _is_root_init on <var112:MProperty(MMethod)> */
+var115 = var117;
+RET_LABEL116:(void)0;
+}
+}
+var107 = var115;
+} else {
+var107 = var_111;
+}
+var_118 = var107;
+if (var107){
+{
+{ /* Inline typing$CallSite$mproperty (var_callsite) on <var_callsite:nullable Object(CallSite)> */
+var121 = var_callsite->attrs[COLOR_nitc__typing__CallSite___mproperty].val; /* _mproperty on <var_callsite:nullable Object(CallSite)> */
+if (unlikely(var121 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 656);
+fatal_exit(1);
+}
+var119 = var121;
+RET_LABEL120:(void)0;
+}
+}
+{
+{ /* Inline model$MMethod$is_root_init (var119) on <var119:MMethod> */
+var124 = var119->attrs[COLOR_nitc__model__MMethod___is_root_init].s; /* _is_root_init on <var119:MMethod> */
+var122 = var124;
+RET_LABEL123:(void)0;
+}
+}
+var125 = !var122;
+var106 = var125;
+} else {
+var106 = var_118;
+}
+if (var106){
+if (unlikely(varonce126==NULL)) {
+var127 = NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String);
+if (likely(varonce128!=NULL)) {
+var129 = varonce128;
+} else {
+var130 = "Error: `";
+var132 = (val*)(8l<<2|1);
+var133 = (val*)(8l<<2|1);
+var134 = (val*)((long)(0)<<2|3);
+var135 = (val*)((long)(0)<<2|3);
+var131 = core__flat___CString___to_s_unsafe(var130, var132, var133, var134, var135);
+var129 = var131;
+varonce128 = var129;
+}
+((struct instance_core__NativeArray*)var127)->values[0]=var129;
+if (likely(varonce136!=NULL)) {
+var137 = varonce136;
+} else {
+var138 = "` cannot call a factory `";
+var140 = (val*)(25l<<2|1);
+var141 = (val*)(25l<<2|1);
+var142 = (val*)((long)(0)<<2|3);
+var143 = (val*)((long)(0)<<2|3);
+var139 = core__flat___CString___to_s_unsafe(var138, var140, var141, var142, var143);
+var137 = var139;
+varonce136 = var137;
+}
+((struct instance_core__NativeArray*)var127)->values[2]=var137;
+if (likely(varonce144!=NULL)) {
+var145 = varonce144;
+} else {
+var146 = "`.";
+var148 = (val*)(2l<<2|1);
+var149 = (val*)(2l<<2|1);
+var150 = (val*)((long)(0)<<2|3);
+var151 = (val*)((long)(0)<<2|3);
+var147 = core__flat___CString___to_s_unsafe(var146, var148, var149, var150, var151);
+var145 = var147;
+varonce144 = var145;
+}
+((struct instance_core__NativeArray*)var127)->values[4]=var145;
+} else {
+var127 = varonce126;
+varonce126 = NULL;
+}
+{
+var152 = ((val*(*)(val* self))(var_vmpropdef->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_vmpropdef); /* to_s on <var_vmpropdef:nullable MPropDef(MMethodDef)>*/
+}
+((struct instance_core__NativeArray*)var127)->values[1]=var152;
+{
+{ /* Inline typing$CallSite$mproperty (var_callsite) on <var_callsite:nullable Object(CallSite)> */
+var155 = var_callsite->attrs[COLOR_nitc__typing__CallSite___mproperty].val; /* _mproperty on <var_callsite:nullable Object(CallSite)> */
+if (unlikely(var155 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 656);
+fatal_exit(1);
+}
+var153 = var155;
+RET_LABEL154:(void)0;
+}
+}
+{
+var156 = ((val*(*)(val* self))(var153->class->vft[COLOR_core__abstract_text__Object__to_s]))(var153); /* to_s on <var153:MMethod>*/
+}
+((struct instance_core__NativeArray*)var127)->values[3]=var156;
+{
+var157 = ((val*(*)(val* self))(var127->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var127); /* native_to_s on <var127:NativeArray[String]>*/
+}
+varonce126 = var127;
+{
+nitc__typing___nitc__typing__TypeVisitor___error(var_v, var_node, var157); /* Direct call typing$TypeVisitor$error on <var_v:TypeVisitor>*/
+}
+} else {
+}
+} else {
+}
+{
+{ /* Inline model$MSignature$return_mtype (var_msignature) on <var_msignature:MSignature> */
+var160 = var_msignature->attrs[COLOR_nitc__model__MSignature___return_mtype].val; /* _return_mtype on <var_msignature:MSignature> */
+var158 = var160;
+RET_LABEL159:(void)0;
+}
+}
+var_ret = var158;
+if (var_ret == NULL) {
+var161 = 0; /* is null */
+} else {
+var161 = 1; /* arg is null and recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$!= (var_ret,((val*)NULL)) on <var_ret:nullable MType> */
+var_other33 = ((val*)NULL);
+{
+var164 = ((short int(*)(val* self, val* p0))(var_ret->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_ret, var_other33); /* == on <var_ret:nullable MType(MType)>*/
+}
+var165 = !var164;
+var162 = var165;
+goto RET_LABEL163;
+RET_LABEL163:(void)0;
+}
+var161 = var162;
+}
+if (var161){
+{
+{ /* Inline typing$AExpr$mtype= (self,var_ret) on <self:ASendExpr> */
+self->attrs[COLOR_nitc__typing__AExpr___mtype].val = var_ret; /* _mtype on <self:ASendExpr> */
+RET_LABEL166:(void)0;
+}
+}
+} else {
+{
+{ /* Inline typing$AExpr$is_typed= (self,1) on <self:ASendExpr> */
+self->attrs[COLOR_nitc__typing__AExpr___is_typed].s = 1; /* _is_typed on <self:ASendExpr> */
+RET_LABEL167:(void)0;
+}
+}
+}
+RET_LABEL:;
+}
+/* method typing$ASendExpr$property_node for (self: ASendExpr): ANode */
+val* nitc__typing___ASendExpr___property_node(val* self) {
+val* var /* : ANode */;
+var = self;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method typing$ASendExpr$raw_arguments for (self: ASendExpr): Array[AExpr] */
+val* nitc__typing___ASendExpr___raw_arguments(val* self) {
+val* var /* : Array[AExpr] */;
+val* var1 /* : Array[AExpr] */;
+{
+var1 = ((val*(*)(val* self))(self->class->vft[COLOR_nitc__typing__ASendExpr__compute_raw_arguments]))(self); /* compute_raw_arguments on <self:ASendExpr>*/
+}
+var = var1;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method typing$ABinopExpr$compute_raw_arguments for (self: ABinopExpr): Array[AExpr] */
+val* nitc__typing___ABinopExpr___ASendExpr__compute_raw_arguments(val* self) {
+val* var /* : Array[AExpr] */;
+val* var1 /* : Array[AExpr] */;
+val* var_ /* var : Array[AExpr] */;
+val* var2 /* : AExpr */;
+val* var4 /* : AExpr */;
+var1 = NEW_core__Array(&type_core__Array__nitc__AExpr);
+{
+core___core__Array___with_capacity(var1, 1l); /* Direct call array$Array$with_capacity on <var1:Array[AExpr]>*/
+}
+var_ = var1;
+{
+{ /* Inline parser_nodes$ABinopExpr$n_expr2 (self) on <self:ABinopExpr> */
+var4 = self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ABinopExpr> */
+if (unlikely(var4 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2114);
+fatal_exit(1);
+}
+var2 = var4;
+RET_LABEL3:(void)0;
+}
+}
+{
+core___core__AbstractArray___core__abstract_collection__Sequence__push(var_, var2); /* Direct call array$AbstractArray$push on <var_:Array[AExpr]>*/
+}
+var = var_;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method typing$ABinopExpr$property_name for (self: ABinopExpr): String */
+val* nitc__typing___ABinopExpr___ASendExpr__property_name(val* self) {
+val* var /* : String */;
+val* var1 /* : String */;
+{
+var1 = ((val*(*)(val* self))(self->class->vft[COLOR_nitc__parser_nodes__ABinopExpr__operator]))(self); /* operator on <self:ABinopExpr>*/
+}
+var = var1;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method typing$ABinopExpr$property_node for (self: ABinopExpr): ANode */
+val* nitc__typing___ABinopExpr___ASendExpr__property_node(val* self) {
+val* var /* : ANode */;
+val* var1 /* : Token */;
+val* var3 /* : Token */;
+{
+{ /* Inline parser_nodes$ABinopExpr$n_op (self) on <self:ABinopExpr> */
+var3 = self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:ABinopExpr> */
+if (unlikely(var3 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2111);
+fatal_exit(1);
+}
+var1 = var3;
+RET_LABEL2:(void)0;
+}
+}
+var = var1;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method typing$AEqFormExpr$accept_typing for (self: AEqFormExpr, TypeVisitor) */
+void nitc__typing___AEqFormExpr___AExpr__accept_typing(val* self, val* p0) {
+val* var_v /* var v: TypeVisitor */;
+var_v = p0;
+{
+((void(*)(val* self, val* p0))(self->class->vft[COLOR_nitc__typing___AEqFormExpr___AExpr__accept_typing]))(self, p0); /* accept_typing on <self:AEqFormExpr>*/
+}
+{
+nitc__typing___nitc__typing__TypeVisitor___null_test(var_v, self); /* Direct call typing$TypeVisitor$null_test on <var_v:TypeVisitor>*/
+}
+RET_LABEL:;
+}
+/* method typing$AEqFormExpr$accept_post_typing for (self: AEqFormExpr, TypeVisitor) */
+void nitc__typing___AEqFormExpr___ANode__accept_post_typing(val* self, val* p0) {
+val* var_v /* var v: TypeVisitor */;
+val* var /* : AExpr */;
+val* var2 /* : AExpr */;
+val* var3 /* : nullable MType */;
+val* var_mtype /* var mtype: nullable MType */;
+val* var4 /* : AExpr */;
+val* var6 /* : AExpr */;
+val* var7 /* : nullable MType */;
+val* var_mtype2 /* var mtype2: nullable MType */;
+short int var8 /* : Bool */;
+short int var9 /* : Bool */;
+short int var10 /* : Bool */;
+val* var_other /* var other: nullable Object */;
+short int var12 /* : Bool */;
+short int var14 /* : Bool */;
+short int var_ /* var : Bool */;
+short int var15 /* : Bool */;
+short int var16 /* : Bool */;
+short int var18 /* : Bool */;
+short int var20 /* : Bool */;
+short int var21 /* : Bool */;
+int cltype;
+int idtype;
+short int var22 /* : Bool */;
+val* var23 /* : AExpr */;
+val* var25 /* : AExpr */;
+short int var26 /* : Bool */;
+var_v = p0;
+{
+{ /* Inline parser_nodes$ASendExpr$n_expr (self) on <self:AEqFormExpr> */
+var2 = self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AEqFormExpr> */
+if (unlikely(var2 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2103);
+fatal_exit(1);
+}
+var = var2;
+RET_LABEL1:(void)0;
+}
+}
+{
+var3 = ((val*(*)(val* self))(var->class->vft[COLOR_nitc__typing__AExpr__mtype]))(var); /* mtype on <var:AExpr>*/
+}
+var_mtype = var3;
+{
+{ /* Inline parser_nodes$ABinopExpr$n_expr2 (self) on <self:AEqFormExpr> */
+var6 = self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AEqFormExpr> */
+if (unlikely(var6 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2114);
+fatal_exit(1);
+}
+var4 = var6;
+RET_LABEL5:(void)0;
+}
+}
+{
+var7 = ((val*(*)(val* self))(var4->class->vft[COLOR_nitc__typing__AExpr__mtype]))(var4); /* mtype on <var4:AExpr>*/
+}
+var_mtype2 = var7;
+if (var_mtype == NULL) {
+var9 = 1; /* is null */
+} else {
+var9 = 0; /* arg is null but recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$== (var_mtype,((val*)NULL)) on <var_mtype:nullable MType> */
+var_other = ((val*)NULL);
+{
+{ /* Inline kernel$Object$is_same_instance (var_mtype,var_other) on <var_mtype:nullable MType(MType)> */
+var14 = var_mtype == var_other;
+var12 = var14;
+goto RET_LABEL13;
+RET_LABEL13:(void)0;
+}
+}
+var10 = var12;
+goto RET_LABEL11;
+RET_LABEL11:(void)0;
+}
+var9 = var10;
+}
+var_ = var9;
+if (var9){
+var8 = var_;
+} else {
+if (var_mtype2 == NULL) {
+var15 = 1; /* is null */
+} else {
+var15 = 0; /* arg is null but recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$== (var_mtype2,((val*)NULL)) on <var_mtype2:nullable MType> */
+var_other = ((val*)NULL);
+{
+{ /* Inline kernel$Object$is_same_instance (var_mtype2,var_other) on <var_mtype2:nullable MType(MType)> */
+var20 = var_mtype2 == var_other;
+var18 = var20;
+goto RET_LABEL19;
+RET_LABEL19:(void)0;
+}
+}
+var16 = var18;
+goto RET_LABEL17;
+RET_LABEL17:(void)0;
+}
+var15 = var16;
+}
+var8 = var15;
+}
+if (var8){
+goto RET_LABEL;
+} else {
+}
+/* <var_mtype2:nullable MType(MType)> isa MNullType */
+cltype = type_nitc__MNullType.color;
+idtype = type_nitc__MNullType.id;
+if(cltype >= var_mtype2->type->table_size) {
+var21 = 0;
+} else {
+var21 = var_mtype2->type->type_table[cltype] == idtype;
+}
+var22 = !var21;
+if (var22){
+goto RET_LABEL;
+} else {
+}
+{
+{ /* Inline parser_nodes$ASendExpr$n_expr (self) on <self:AEqFormExpr> */
+var25 = self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AEqFormExpr> */
+if (unlikely(var25 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2103);
+fatal_exit(1);
+}
+var23 = var25;
+RET_LABEL24:(void)0;
+}
+}
+{
+var26 = nitc__typing___nitc__typing__TypeVisitor___check_can_be_null(var_v, var23, var_mtype);
+}
+RET_LABEL:;
+}
+/* method typing$AUnaryopExpr$property_name for (self: AUnaryopExpr): String */
+val* nitc__typing___AUnaryopExpr___ASendExpr__property_name(val* self) {
+val* var /* : String */;
+val* var1 /* : NativeArray[String] */;
+static val* varonce;
+static val* varonce2;
+val* var3 /* : String */;
+char* var4 /* : CString */;
+val* var5 /* : String */;
+val* var6 /* : nullable Int */;
+val* var7 /* : nullable Int */;
+val* var8 /* : nullable Bool */;
+val* var9 /* : nullable Bool */;
+val* var10 /* : String */;
+val* var11 /* : String */;
+if (unlikely(varonce==NULL)) {
+var1 = NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String);
+if (likely(varonce2!=NULL)) {
+var3 = varonce2;
+} else {
+var4 = "unary ";
+var6 = (val*)(6l<<2|1);
+var7 = (val*)(6l<<2|1);
+var8 = (val*)((long)(0)<<2|3);
+var9 = (val*)((long)(0)<<2|3);
+var5 = core__flat___CString___to_s_unsafe(var4, var6, var7, var8, var9);
+var3 = var5;
+varonce2 = var3;
+}
+((struct instance_core__NativeArray*)var1)->values[0]=var3;
+} else {
+var1 = varonce;
+varonce = NULL;
+}
+{
+var10 = ((val*(*)(val* self))(self->class->vft[COLOR_nitc__parser_nodes__AUnaryopExpr__operator]))(self); /* operator on <self:AUnaryopExpr>*/
+}
+((struct instance_core__NativeArray*)var1)->values[1]=var10;
+{
+var11 = ((val*(*)(val* self))(var1->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var1); /* native_to_s on <var1:NativeArray[String]>*/
+}
+varonce = var1;
+var = var11;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method typing$AUnaryopExpr$compute_raw_arguments for (self: AUnaryopExpr): Array[AExpr] */
+val* nitc__typing___AUnaryopExpr___ASendExpr__compute_raw_arguments(val* self) {
+val* var /* : Array[AExpr] */;
+val* var1 /* : Array[AExpr] */;
+var1 = NEW_core__Array(&type_core__Array__nitc__AExpr);
+{
+core___core__Array___core__kernel__Object__init(var1); /* Direct call array$Array$init on <var1:Array[AExpr]>*/
+}
+var = var1;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method typing$ACallExpr$property_name for (self: ACallExpr): String */
+val* nitc__typing___ACallExpr___ASendExpr__property_name(val* self) {
+val* var /* : String */;
+val* var1 /* : AQid */;
+val* var3 /* : AQid */;
+val* var4 /* : TId */;
+val* var6 /* : TId */;
+val* var7 /* : String */;
+{
+{ /* Inline parser_nodes$ACallFormExpr$n_qid (self) on <self:ACallExpr> */
+var3 = self->attrs[COLOR_nitc__parser_nodes__ACallFormExpr___n_qid].val; /* _n_qid on <self:ACallExpr> */
+if (unlikely(var3 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_qid");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2377);
+fatal_exit(1);
+}
+var1 = var3;
+RET_LABEL2:(void)0;
+}
+}
+{
+{ /* Inline parser_nodes$AQid$n_id (var1) on <var1:AQid> */
+var6 = var1->attrs[COLOR_nitc__parser_nodes__AQid___n_id].val; /* _n_id on <var1:AQid> */
+if (unlikely(var6 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1721);
+fatal_exit(1);
+}
+var4 = var6;
+RET_LABEL5:(void)0;
+}
+}
+{
+var7 = nitc__lexer_work___Token___text(var4);
+}
+var = var7;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method typing$ACallExpr$property_node for (self: ACallExpr): ANode */
+val* nitc__typing___ACallExpr___ASendExpr__property_node(val* self) {
+val* var /* : ANode */;
+val* var1 /* : AQid */;
+val* var3 /* : AQid */;
+{
+{ /* Inline parser_nodes$ACallFormExpr$n_qid (self) on <self:ACallExpr> */
+var3 = self->attrs[COLOR_nitc__parser_nodes__ACallFormExpr___n_qid].val; /* _n_qid on <self:ACallExpr> */
+if (unlikely(var3 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_qid");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2377);
+fatal_exit(1);
+}
+var1 = var3;
+RET_LABEL2:(void)0;
+}
+}
+var = var1;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method typing$ACallExpr$compute_raw_arguments for (self: ACallExpr): Array[AExpr] */
+val* nitc__typing___ACallExpr___ASendExpr__compute_raw_arguments(val* self) {
+val* var /* : Array[AExpr] */;
+val* var1 /* : AExprs */;
+val* var3 /* : AExprs */;
+val* var4 /* : Array[AExpr] */;
+{
+{ /* Inline parser_nodes$ACallFormExpr$n_args (self) on <self:ACallExpr> */
+var3 = self->attrs[COLOR_nitc__parser_nodes__ACallFormExpr___n_args].val; /* _n_args on <self:ACallExpr> */
+if (unlikely(var3 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2380);
+fatal_exit(1);
+}
+var1 = var3;
+RET_LABEL2:(void)0;
+}
+}
+{
+var4 = nitc__typing___AExprs___to_a(var1);
+}
+var = var4;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method typing$ACallAssignExpr$property_name for (self: ACallAssignExpr): String */
+val* nitc__typing___ACallAssignExpr___ASendExpr__property_name(val* self) {
+val* var /* : String */;
+val* var1 /* : AQid */;
+val* var3 /* : AQid */;
+val* var4 /* : TId */;
+val* var6 /* : TId */;
+val* var7 /* : String */;
+static val* varonce;
+val* var8 /* : String */;
+char* var9 /* : CString */;
+val* var10 /* : String */;
+val* var11 /* : nullable Int */;
+val* var12 /* : nullable Int */;
+val* var13 /* : nullable Bool */;
+val* var14 /* : nullable Bool */;
+val* var15 /* : Text */;
+{
+{ /* Inline parser_nodes$ACallFormExpr$n_qid (self) on <self:ACallAssignExpr> */
+var3 = self->attrs[COLOR_nitc__parser_nodes__ACallFormExpr___n_qid].val; /* _n_qid on <self:ACallAssignExpr> */
+if (unlikely(var3 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_qid");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2377);
+fatal_exit(1);
+}
+var1 = var3;
+RET_LABEL2:(void)0;
+}
+}
+{
+{ /* Inline parser_nodes$AQid$n_id (var1) on <var1:AQid> */
+var6 = var1->attrs[COLOR_nitc__parser_nodes__AQid___n_id].val; /* _n_id on <var1:AQid> */
+if (unlikely(var6 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1721);
+fatal_exit(1);
+}
+var4 = var6;
+RET_LABEL5:(void)0;
+}
+}
+{
+var7 = nitc__lexer_work___Token___text(var4);
+}
+if (likely(varonce!=NULL)) {
+var8 = varonce;
+} else {
+var9 = "=";
+var11 = (val*)(1l<<2|1);
+var12 = (val*)(1l<<2|1);
+var13 = (val*)((long)(0)<<2|3);
+var14 = (val*)((long)(0)<<2|3);
+var10 = core__flat___CString___to_s_unsafe(var9, var11, var12, var13, var14);
+var8 = var10;
+varonce = var8;
+}
+{
+var15 = ((val*(*)(val* self, val* p0))(var7->class->vft[COLOR_core__abstract_text__Text___43d]))(var7, var8); /* + on <var7:String>*/
+}
+var = var15;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method typing$ACallAssignExpr$property_node for (self: ACallAssignExpr): ANode */
+val* nitc__typing___ACallAssignExpr___ASendExpr__property_node(val* self) {
+val* var /* : ANode */;
+val* var1 /* : AQid */;
+val* var3 /* : AQid */;
+{
+{ /* Inline parser_nodes$ACallFormExpr$n_qid (self) on <self:ACallAssignExpr> */
+var3 = self->attrs[COLOR_nitc__parser_nodes__ACallFormExpr___n_qid].val; /* _n_qid on <self:ACallAssignExpr> */
+if (unlikely(var3 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_qid");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2377);
+fatal_exit(1);
+}
+var1 = var3;
+RET_LABEL2:(void)0;
+}
+}
+var = var1;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method typing$ACallAssignExpr$compute_raw_arguments for (self: ACallAssignExpr): Array[AExpr] */
+val* nitc__typing___ACallAssignExpr___ASendExpr__compute_raw_arguments(val* self) {
+val* var /* : Array[AExpr] */;
+val* var1 /* : AExprs */;
+val* var3 /* : AExprs */;
+val* var4 /* : Array[AExpr] */;
+val* var_res /* var res: Array[AExpr] */;
+val* var5 /* : AExpr */;
+val* var7 /* : AExpr */;
+{
+{ /* Inline parser_nodes$ACallFormExpr$n_args (self) on <self:ACallAssignExpr> */
+var3 = self->attrs[COLOR_nitc__parser_nodes__ACallFormExpr___n_args].val; /* _n_args on <self:ACallAssignExpr> */
+if (unlikely(var3 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2380);
+fatal_exit(1);
+}
+var1 = var3;
+RET_LABEL2:(void)0;
+}
+}
+{
+var4 = nitc__typing___AExprs___to_a(var1);
+}
+var_res = var4;
+{
+{ /* Inline parser_nodes$AAssignFormExpr$n_value (self) on <self:ACallAssignExpr> */
+var7 = self->attrs[COLOR_nitc__parser_nodes__AAssignFormExpr___n_value].val; /* _n_value on <self:ACallAssignExpr> */
+if (unlikely(var7 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2073);
+fatal_exit(1);
+}
+var5 = var7;
+RET_LABEL6:(void)0;
+}
+}
+{
+core___core__Array___core__abstract_collection__SimpleCollection__add(var_res, var5); /* Direct call array$Array$add on <var_res:Array[AExpr]>*/
+}
+var = var_res;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method typing$ABraExpr$property_name for (self: ABraExpr): String */
+val* nitc__typing___ABraExpr___ASendExpr__property_name(val* self) {
+val* var /* : String */;
+static val* varonce;
+val* var1 /* : String */;
+char* var2 /* : CString */;
+val* var3 /* : String */;
+val* var4 /* : nullable Int */;
+val* var5 /* : nullable Int */;
+val* var6 /* : nullable Bool */;
+val* var7 /* : nullable Bool */;
+if (likely(varonce!=NULL)) {
+var1 = varonce;
+} else {
+var2 = "[]";
+var4 = (val*)(2l<<2|1);
+var5 = (val*)(2l<<2|1);
+var6 = (val*)((long)(0)<<2|3);
+var7 = (val*)((long)(0)<<2|3);
+var3 = core__flat___CString___to_s_unsafe(var2, var4, var5, var6, var7);
+var1 = var3;
+varonce = var1;
+}
+var = var1;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method typing$ABraExpr$compute_raw_arguments for (self: ABraExpr): Array[AExpr] */
+val* nitc__typing___ABraExpr___ASendExpr__compute_raw_arguments(val* self) {
+val* var /* : Array[AExpr] */;
+val* var1 /* : AExprs */;
+val* var3 /* : AExprs */;
+val* var4 /* : Array[AExpr] */;
+{
+{ /* Inline parser_nodes$ABraFormExpr$n_args (self) on <self:ABraExpr> */
+var3 = self->attrs[COLOR_nitc__parser_nodes__ABraFormExpr___n_args].val; /* _n_args on <self:ABraExpr> */
+if (unlikely(var3 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2449);
+fatal_exit(1);
+}
+var1 = var3;
+RET_LABEL2:(void)0;
+}
+}
+{
+var4 = nitc__typing___AExprs___to_a(var1);
+}
+var = var4;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method typing$ABraAssignExpr$property_name for (self: ABraAssignExpr): String */
+val* nitc__typing___ABraAssignExpr___ASendExpr__property_name(val* self) {
+val* var /* : String */;
+static val* varonce;
+val* var1 /* : String */;
+char* var2 /* : CString */;
+val* var3 /* : String */;
+val* var4 /* : nullable Int */;
+val* var5 /* : nullable Int */;
+val* var6 /* : nullable Bool */;
+val* var7 /* : nullable Bool */;
+if (likely(varonce!=NULL)) {
+var1 = varonce;
+} else {
+var2 = "[]=";
+var4 = (val*)(3l<<2|1);
+var5 = (val*)(3l<<2|1);
+var6 = (val*)((long)(0)<<2|3);
+var7 = (val*)((long)(0)<<2|3);
+var3 = core__flat___CString___to_s_unsafe(var2, var4, var5, var6, var7);
+var1 = var3;
+varonce = var1;
+}
+var = var1;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method typing$ABraAssignExpr$compute_raw_arguments for (self: ABraAssignExpr): Array[AExpr] */
+val* nitc__typing___ABraAssignExpr___ASendExpr__compute_raw_arguments(val* self) {
+val* var /* : Array[AExpr] */;
+val* var1 /* : AExprs */;
+val* var3 /* : AExprs */;
+val* var4 /* : Array[AExpr] */;
+val* var_res /* var res: Array[AExpr] */;
+val* var5 /* : AExpr */;
+val* var7 /* : AExpr */;
+{
+{ /* Inline parser_nodes$ABraFormExpr$n_args (self) on <self:ABraAssignExpr> */
+var3 = self->attrs[COLOR_nitc__parser_nodes__ABraFormExpr___n_args].val; /* _n_args on <self:ABraAssignExpr> */
+if (unlikely(var3 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2449);
+fatal_exit(1);
+}
+var1 = var3;
+RET_LABEL2:(void)0;
+}
+}
+{
+var4 = nitc__typing___AExprs___to_a(var1);
+}
+var_res = var4;
+{
+{ /* Inline parser_nodes$AAssignFormExpr$n_value (self) on <self:ABraAssignExpr> */
+var7 = self->attrs[COLOR_nitc__parser_nodes__AAssignFormExpr___n_value].val; /* _n_value on <self:ABraAssignExpr> */
+if (unlikely(var7 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2073);
+fatal_exit(1);
+}
+var5 = var7;
+RET_LABEL6:(void)0;
+}
+}
+{
+core___core__Array___core__abstract_collection__SimpleCollection__add(var_res, var5); /* Direct call array$Array$add on <var_res:Array[AExpr]>*/
+}
+var = var_res;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method typing$ASendReassignFormExpr$write_callsite for (self: ASendReassignFormExpr): nullable CallSite */
+val* nitc__typing___ASendReassignFormExpr___write_callsite(val* self) {
+val* var /* : nullable CallSite */;
+val* var1 /* : nullable CallSite */;
+var1 = self->attrs[COLOR_nitc__typing__ASendReassignFormExpr___write_callsite].val; /* _write_callsite on <self:ASendReassignFormExpr> */
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method typing$ASendReassignFormExpr$write_callsite= for (self: ASendReassignFormExpr, nullable CallSite) */
+void nitc__typing___ASendReassignFormExpr___write_callsite_61d(val* self, val* p0) {
+self->attrs[COLOR_nitc__typing__ASendReassignFormExpr___write_callsite].val = p0; /* _write_callsite on <self:ASendReassignFormExpr> */
+RET_LABEL:;
+}
+/* method typing$ASendReassignFormExpr$accept_typing for (self: ASendReassignFormExpr, TypeVisitor) */
+void nitc__typing___ASendReassignFormExpr___AExpr__accept_typing(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 */;
+val* var4 /* : String */;
+val* var_name /* var name: String */;
+val* var5 /* : ANode */;
+val* var_node /* var node: ANode */;
+short int var6 /* : Bool */;
+short int var7 /* : Bool */;
+val* var_other /* var other: nullable Object */;
+short int var9 /* : Bool */;
+short int var11 /* : Bool */;
+val* var12 /* : AExpr */;
+val* var14 /* : AExpr */;
+short int var15 /* : Bool */;
+int cltype;
+int idtype;
+short int var_for_self /* var for_self: Bool */;
+val* var16 /* : nullable CallSite */;
+val* var_callsite /* var callsite: nullable CallSite */;
+short int var17 /* : Bool */;
+short int var18 /* : Bool */;
+short int var20 /* : Bool */;
+short int var22 /* : Bool */;
+val* var24 /* : Array[AExpr] */;
+val* var_args /* var args: Array[AExpr] */;
+short int var25 /* : Bool */;
+val* var26 /* : MSignature */;
+val* var28 /* : MSignature */;
+val* var29 /* : nullable MType */;
+val* var31 /* : nullable MType */;
+val* var_readtype /* var readtype: nullable MType */;
+short int var32 /* : Bool */;
+short int var33 /* : Bool */;
+short int var35 /* : Bool */;
+short int var37 /* : Bool */;
+val* var38 /* : NativeArray[String] */;
+static val* varonce;
+static val* varonce39;
+val* var40 /* : String */;
+char* var41 /* : CString */;
+val* var42 /* : String */;
+val* var43 /* : nullable Int */;
+val* var44 /* : nullable Int */;
+val* var45 /* : nullable Bool */;
+val* var46 /* : nullable Bool */;
+static val* varonce47;
+val* var48 /* : String */;
+char* var49 /* : CString */;
+val* var50 /* : String */;
+val* var51 /* : nullable Int */;
+val* var52 /* : nullable Int */;
+val* var53 /* : nullable Bool */;
+val* var54 /* : nullable Bool */;
+val* var55 /* : String */;
+static val* varonce56;
+val* var57 /* : String */;
+char* var58 /* : CString */;
+val* var59 /* : String */;
+val* var60 /* : nullable Int */;
+val* var61 /* : nullable Int */;
+val* var62 /* : nullable Bool */;
+val* var63 /* : nullable Bool */;
+val* var64 /* : Text */;
+val* var65 /* : AExpr */;
+val* var67 /* : AExpr */;
+short int var68 /* : Bool */;
+int cltype69;
+int idtype70;
+val* var71 /* : nullable CallSite */;
+val* var_wcallsite /* var wcallsite: nullable CallSite */;
+short int var72 /* : Bool */;
+short int var73 /* : Bool */;
+short int var75 /* : Bool */;
+short int var77 /* : Bool */;
+val* var79 /* : MSignature */;
+val* var81 /* : MSignature */;
+val* var82 /* : Array[MParameter] */;
+val* var84 /* : Array[MParameter] */;
+val* var85 /* : nullable Object */;
+val* var86 /* : MType */;
+val* var88 /* : MType */;
+val* var89 /* : nullable MType */;
+val* var_wtype /* var wtype: nullable MType */;
+short int var90 /* : Bool */;
+short int var91 /* : Bool */;
+short int var93 /* : Bool */;
+short int var95 /* : Bool */;
+val* var96 /* : Array[nullable Object] */;
+val* var97 /* : AExpr */;
+val* var99 /* : AExpr */;
+short int var100 /* : Bool */;
+var_v = p0;
+{
+{ /* Inline parser_nodes$ASendExpr$n_expr (self) on <self:ASendReassignFormExpr> */
+var2 = self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ASendReassignFormExpr> */
+if (unlikely(var2 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2103);
+fatal_exit(1);
+}
+var = var2;
+RET_LABEL1:(void)0;
+}
+}
+{
+var3 = nitc__typing___nitc__typing__TypeVisitor___visit_expr(var_v, var);
+}
+var_recvtype = var3;
+{
+var4 = ((val*(*)(val* self))(self->class->vft[COLOR_nitc__typing__ASendExpr__property_name]))(self); /* property_name on <self:ASendReassignFormExpr>*/
+}
+var_name = var4;
+{
+var5 = ((val*(*)(val* self))(self->class->vft[COLOR_nitc__typing__ASendExpr__property_node]))(self); /* property_node on <self:ASendReassignFormExpr>*/
+}
+var_node = var5;
+if (var_recvtype == NULL) {
+var6 = 1; /* is null */
+} else {
+var6 = 0; /* arg is null but recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$== (var_recvtype,((val*)NULL)) on <var_recvtype:nullable MType> */
+var_other = ((val*)NULL);
+{
+{ /* Inline kernel$Object$is_same_instance (var_recvtype,var_other) on <var_recvtype:nullable MType(MType)> */
+var11 = var_recvtype == var_other;
+var9 = var11;
+goto RET_LABEL10;
+RET_LABEL10:(void)0;
+}
+}
+var7 = var9;
+goto RET_LABEL8;
+RET_LABEL8:(void)0;
+}
+var6 = var7;
+}
+if (var6){
+goto RET_LABEL;
+} else {
+}
+{
+{ /* Inline parser_nodes$ASendExpr$n_expr (self) on <self:ASendReassignFormExpr> */
+var14 = self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ASendReassignFormExpr> */
+if (unlikely(var14 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2103);
+fatal_exit(1);
+}
+var12 = var14;
+RET_LABEL13:(void)0;
+}
+}
+/* <var12:AExpr> isa ASelfExpr */
+cltype = type_nitc__ASelfExpr.color;
+idtype = type_nitc__ASelfExpr.id;
+if(cltype >= var12->type->table_size) {
+var15 = 0;
+} else {
+var15 = var12->type->type_table[cltype] == idtype;
+}
+var_for_self = var15;
+{
+var16 = nitc__typing___nitc__typing__TypeVisitor___get_method(var_v, var_node, var_recvtype, var_name, var_for_self);
+}
+var_callsite = var16;
+if (var_callsite == NULL) {
+var17 = 1; /* is null */
+} else {
+var17 = 0; /* arg is null but recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$== (var_callsite,((val*)NULL)) on <var_callsite:nullable CallSite> */
+var_other = ((val*)NULL);
+{
+{ /* Inline kernel$Object$is_same_instance (var_callsite,var_other) on <var_callsite:nullable CallSite(CallSite)> */
+var22 = var_callsite == var_other;
+var20 = var22;
+goto RET_LABEL21;
+RET_LABEL21:(void)0;
+}
+}
+var18 = var20;
+goto RET_LABEL19;
+RET_LABEL19:(void)0;
+}
+var17 = var18;
+}
+if (var17){
+goto RET_LABEL;
+} else {
+}
+{
+{ /* Inline typing$ASendExpr$callsite= (self,var_callsite) on <self:ASendReassignFormExpr> */
+self->attrs[COLOR_nitc__typing__ASendExpr___callsite].val = var_callsite; /* _callsite on <self:ASendReassignFormExpr> */
+RET_LABEL23:(void)0;
+}
+}
+{
+var24 = ((val*(*)(val* self))(self->class->vft[COLOR_nitc__typing__ASendExpr__compute_raw_arguments]))(self); /* compute_raw_arguments on <self:ASendReassignFormExpr>*/
+}
+var_args = var24;
+{
+var25 = nitc___nitc__CallSite___check_signature(var_callsite, var_v, var_node, var_args);
+}
+{
+{ /* Inline typing$CallSite$msignature (var_callsite) on <var_callsite:nullable CallSite(CallSite)> */
+var28 = var_callsite->attrs[COLOR_nitc__typing__CallSite___msignature].val; /* _msignature on <var_callsite:nullable CallSite(CallSite)> */
+if (unlikely(var28 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _msignature");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 663);
+fatal_exit(1);
+}
+var26 = var28;
+RET_LABEL27:(void)0;
+}
+}
+{
+{ /* Inline model$MSignature$return_mtype (var26) on <var26:MSignature> */
+var31 = var26->attrs[COLOR_nitc__model__MSignature___return_mtype].val; /* _return_mtype on <var26:MSignature> */
+var29 = var31;
+RET_LABEL30:(void)0;
+}
+}
+var_readtype = var29;
+if (var_readtype == NULL) {
+var32 = 1; /* is null */
+} else {
+var32 = 0; /* arg is null but recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$== (var_readtype,((val*)NULL)) on <var_readtype:nullable MType> */
+var_other = ((val*)NULL);
+{
+{ /* Inline kernel$Object$is_same_instance (var_readtype,var_other) on <var_readtype:nullable MType(MType)> */
+var37 = var_readtype == var_other;
+var35 = var37;
+goto RET_LABEL36;
+RET_LABEL36:(void)0;
+}
+}
+var33 = var35;
+goto RET_LABEL34;
+RET_LABEL34:(void)0;
+}
+var32 = var33;
+}
+if (var32){
+if (unlikely(varonce==NULL)) {
+var38 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String);
+if (likely(varonce39!=NULL)) {
+var40 = varonce39;
+} else {
+var41 = "Error: `";
+var43 = (val*)(8l<<2|1);
+var44 = (val*)(8l<<2|1);
+var45 = (val*)((long)(0)<<2|3);
+var46 = (val*)((long)(0)<<2|3);
+var42 = core__flat___CString___to_s_unsafe(var41, var43, var44, var45, var46);
+var40 = var42;
+varonce39 = var40;
+}
+((struct instance_core__NativeArray*)var38)->values[0]=var40;
+if (likely(varonce47!=NULL)) {
+var48 = varonce47;
+} else {
+var49 = "` is not a function.";
+var51 = (val*)(20l<<2|1);
+var52 = (val*)(20l<<2|1);
+var53 = (val*)((long)(0)<<2|3);
+var54 = (val*)((long)(0)<<2|3);
+var50 = core__flat___CString___to_s_unsafe(var49, var51, var52, var53, var54);
+var48 = var50;
+varonce47 = var48;
+}
+((struct instance_core__NativeArray*)var38)->values[2]=var48;
+} else {
+var38 = varonce;
+varonce = NULL;
+}
+((struct instance_core__NativeArray*)var38)->values[1]=var_name;
+{
+var55 = ((val*(*)(val* self))(var38->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var38); /* native_to_s on <var38:NativeArray[String]>*/
+}
+varonce = var38;
+{
+nitc__typing___nitc__typing__TypeVisitor___error(var_v, var_node, var55); /* Direct call typing$TypeVisitor$error on <var_v:TypeVisitor>*/
+}
+goto RET_LABEL;
+} else {
+}
+if (likely(varonce56!=NULL)) {
+var57 = varonce56;
+} else {
+var58 = "=";
+var60 = (val*)(1l<<2|1);
+var61 = (val*)(1l<<2|1);
+var62 = (val*)((long)(0)<<2|3);
+var63 = (val*)((long)(0)<<2|3);
+var59 = core__flat___CString___to_s_unsafe(var58, var60, var61, var62, var63);
+var57 = var59;
+varonce56 = var57;
+}
+{
+var64 = ((val*(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__abstract_text__Text___43d]))(var_name, var57); /* + on <var_name:String>*/
+}
+{
+{ /* Inline parser_nodes$ASendExpr$n_expr (self) on <self:ASendReassignFormExpr> */
+var67 = self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ASendReassignFormExpr> */
+if (unlikely(var67 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2103);
+fatal_exit(1);
+}
+var65 = var67;
+RET_LABEL66:(void)0;
+}
+}
+/* <var65:AExpr> isa ASelfExpr */
+cltype69 = type_nitc__ASelfExpr.color;
+idtype70 = type_nitc__ASelfExpr.id;
+if(cltype69 >= var65->type->table_size) {
+var68 = 0;
+} else {
+var68 = var65->type->type_table[cltype69] == idtype70;
+}
+{
+var71 = nitc__typing___nitc__typing__TypeVisitor___get_method(var_v, var_node, var_recvtype, var64, var68);
+}
+var_wcallsite = var71;
+if (var_wcallsite == NULL) {
+var72 = 1; /* is null */
+} else {
+var72 = 0; /* arg is null but recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$== (var_wcallsite,((val*)NULL)) on <var_wcallsite:nullable CallSite> */
+var_other = ((val*)NULL);
+{
+{ /* Inline kernel$Object$is_same_instance (var_wcallsite,var_other) on <var_wcallsite:nullable CallSite(CallSite)> */
+var77 = var_wcallsite == var_other;
+var75 = var77;
+goto RET_LABEL76;
+RET_LABEL76:(void)0;
+}
+}
+var73 = var75;
+goto RET_LABEL74;
+RET_LABEL74:(void)0;
+}
+var72 = var73;
+}
+if (var72){
+goto RET_LABEL;
+} else {
+}
+{
+{ /* Inline typing$ASendReassignFormExpr$write_callsite= (self,var_wcallsite) on <self:ASendReassignFormExpr> */
+self->attrs[COLOR_nitc__typing__ASendReassignFormExpr___write_callsite].val = var_wcallsite; /* _write_callsite on <self:ASendReassignFormExpr> */
+RET_LABEL78:(void)0;
+}
+}
+{
+{ /* Inline typing$CallSite$msignature (var_wcallsite) on <var_wcallsite:nullable CallSite(CallSite)> */
+var81 = var_wcallsite->attrs[COLOR_nitc__typing__CallSite___msignature].val; /* _msignature on <var_wcallsite:nullable CallSite(CallSite)> */
+if (unlikely(var81 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _msignature");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 663);
+fatal_exit(1);
+}
+var79 = var81;
+RET_LABEL80:(void)0;
+}
+}
+{
+{ /* Inline model$MSignature$mparameters (var79) on <var79:MSignature> */
+var84 = var79->attrs[COLOR_nitc__model__MSignature___mparameters].val; /* _mparameters on <var79:MSignature> */
+if (unlikely(var84 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1879);
+fatal_exit(1);
+}
+var82 = var84;
+RET_LABEL83:(void)0;
+}
+}
+{
+var85 = core___core__SequenceRead___last(var82);
+}
+{
+{ /* Inline model$MParameter$mtype (var85) on <var85:nullable Object(MParameter)> */
+var88 = var85->attrs[COLOR_nitc__model__MParameter___mtype].val; /* _mtype on <var85:nullable Object(MParameter)> */
+if (unlikely(var88 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1996);
+fatal_exit(1);
+}
+var86 = var88;
+RET_LABEL87:(void)0;
+}
+}
+{
+var89 = nitc__typing___AReassignFormExpr___resolve_reassignment(self, var_v, var_readtype, var86);
+}
+var_wtype = var89;
+if (var_wtype == NULL) {
+var90 = 1; /* is null */
+} else {
+var90 = 0; /* arg is null but recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$== (var_wtype,((val*)NULL)) on <var_wtype:nullable MType> */
+var_other = ((val*)NULL);
+{
+{ /* Inline kernel$Object$is_same_instance (var_wtype,var_other) on <var_wtype:nullable MType(MType)> */
+var95 = var_wtype == var_other;
+var93 = var95;
+goto RET_LABEL94;
+RET_LABEL94:(void)0;
+}
+}
+var91 = var93;
+goto RET_LABEL92;
+RET_LABEL92:(void)0;
+}
+var90 = var91;
+}
+if (var90){
+goto RET_LABEL;
+} else {
+}
+{
+var96 = core__array___Collection___to_a(var_args);
+}
+var_args = var96;
+{
+{ /* Inline parser_nodes$AReassignFormExpr$n_value (self) on <self:ASendReassignFormExpr> */
+var99 = self->attrs[COLOR_nitc__parser_nodes__AReassignFormExpr___n_value].val; /* _n_value on <self:ASendReassignFormExpr> */
+if (unlikely(var99 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2084);
+fatal_exit(1);
+}
+var97 = var99;
+RET_LABEL98:(void)0;
+}
+}
+{
+core___core__Array___core__abstract_collection__SimpleCollection__add(var_args, var97); /* Direct call array$Array$add on <var_args:Array[AExpr]>*/
+}
+{
+var100 = nitc___nitc__CallSite___check_signature(var_wcallsite, var_v, var_node, var_args);
+}
+{
+{ /* Inline typing$AExpr$is_typed= (self,1) on <self:ASendReassignFormExpr> */
+self->attrs[COLOR_nitc__typing__AExpr___is_typed].s = 1; /* _is_typed on <self:ASendReassignFormExpr> */
+RET_LABEL101:(void)0;
+}
+}
+RET_LABEL:;
+}
+/* method typing$ACallReassignExpr$property_name for (self: ACallReassignExpr): String */
+val* nitc__typing___ACallReassignExpr___ASendExpr__property_name(val* self) {
+val* var /* : String */;
+val* var1 /* : AQid */;
+val* var3 /* : AQid */;
+val* var4 /* : TId */;
+val* var6 /* : TId */;
+val* var7 /* : String */;
+{
+{ /* Inline parser_nodes$ACallFormExpr$n_qid (self) on <self:ACallReassignExpr> */
+var3 = self->attrs[COLOR_nitc__parser_nodes__ACallFormExpr___n_qid].val; /* _n_qid on <self:ACallReassignExpr> */
+if (unlikely(var3 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_qid");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2377);
+fatal_exit(1);
+}
+var1 = var3;
+RET_LABEL2:(void)0;
+}
+}
+{
+{ /* Inline parser_nodes$AQid$n_id (var1) on <var1:AQid> */
+var6 = var1->attrs[COLOR_nitc__parser_nodes__AQid___n_id].val; /* _n_id on <var1:AQid> */
+if (unlikely(var6 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1721);
+fatal_exit(1);
+}
+var4 = var6;
+RET_LABEL5:(void)0;
+}
+}
+{
+var7 = nitc__lexer_work___Token___text(var4);
+}
+var = var7;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method typing$ACallReassignExpr$property_node for (self: ACallReassignExpr): ANode */
+val* nitc__typing___ACallReassignExpr___ASendExpr__property_node(val* self) {
+val* var /* : ANode */;
+val* var1 /* : AQid */;
+val* var3 /* : AQid */;
+val* var4 /* : TId */;
+val* var6 /* : TId */;
+{
+{ /* Inline parser_nodes$ACallFormExpr$n_qid (self) on <self:ACallReassignExpr> */
+var3 = self->attrs[COLOR_nitc__parser_nodes__ACallFormExpr___n_qid].val; /* _n_qid on <self:ACallReassignExpr> */
+if (unlikely(var3 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_qid");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2377);
+fatal_exit(1);
+}
+var1 = var3;
+RET_LABEL2:(void)0;
+}
+}
+{
+{ /* Inline parser_nodes$AQid$n_id (var1) on <var1:AQid> */
+var6 = var1->attrs[COLOR_nitc__parser_nodes__AQid___n_id].val; /* _n_id on <var1:AQid> */
+if (unlikely(var6 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1721);
+fatal_exit(1);
+}
+var4 = var6;
+RET_LABEL5:(void)0;
+}
+}
+var = var4;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method typing$ACallReassignExpr$compute_raw_arguments for (self: ACallReassignExpr): Array[AExpr] */
+val* nitc__typing___ACallReassignExpr___ASendExpr__compute_raw_arguments(val* self) {
+val* var /* : Array[AExpr] */;
+val* var1 /* : AExprs */;
+val* var3 /* : AExprs */;
+val* var4 /* : Array[AExpr] */;
+{
+{ /* Inline parser_nodes$ACallFormExpr$n_args (self) on <self:ACallReassignExpr> */
+var3 = self->attrs[COLOR_nitc__parser_nodes__ACallFormExpr___n_args].val; /* _n_args on <self:ACallReassignExpr> */
+if (unlikely(var3 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2380);
+fatal_exit(1);
+}
+var1 = var3;
+RET_LABEL2:(void)0;
+}
+}
+{
+var4 = nitc__typing___AExprs___to_a(var1);
+}
+var = var4;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method typing$ABraReassignExpr$property_name for (self: ABraReassignExpr): String */
+val* nitc__typing___ABraReassignExpr___ASendExpr__property_name(val* self) {
+val* var /* : String */;
+static val* varonce;
+val* var1 /* : String */;
+char* var2 /* : CString */;
+val* var3 /* : String */;
+val* var4 /* : nullable Int */;
+val* var5 /* : nullable Int */;
+val* var6 /* : nullable Bool */;
+val* var7 /* : nullable Bool */;
+if (likely(varonce!=NULL)) {
+var1 = varonce;
+} else {
+var2 = "[]";
+var4 = (val*)(2l<<2|1);
+var5 = (val*)(2l<<2|1);
+var6 = (val*)((long)(0)<<2|3);
+var7 = (val*)((long)(0)<<2|3);
+var3 = core__flat___CString___to_s_unsafe(var2, var4, var5, var6, var7);
+var1 = var3;
+varonce = var1;
+}
+var = var1;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method typing$ABraReassignExpr$compute_raw_arguments for (self: ABraReassignExpr): Array[AExpr] */
+val* nitc__typing___ABraReassignExpr___ASendExpr__compute_raw_arguments(val* self) {
+val* var /* : Array[AExpr] */;
+val* var1 /* : AExprs */;
+val* var3 /* : AExprs */;
+val* var4 /* : Array[AExpr] */;
+{
+{ /* Inline parser_nodes$ABraFormExpr$n_args (self) on <self:ABraReassignExpr> */
+var3 = self->attrs[COLOR_nitc__parser_nodes__ABraFormExpr___n_args].val; /* _n_args on <self:ABraReassignExpr> */
+if (unlikely(var3 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2449);
+fatal_exit(1);
+}
+var1 = var3;
+RET_LABEL2:(void)0;
+}
+}
+{
+var4 = nitc__typing___AExprs___to_a(var1);
+}
+var = var4;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method typing$AInitExpr$property_name for (self: AInitExpr): String */
+val* nitc__typing___AInitExpr___ASendExpr__property_name(val* self) {
+val* var /* : String */;
+static val* varonce;
+val* var1 /* : String */;
+char* var2 /* : CString */;
+val* var3 /* : String */;
+val* var4 /* : nullable Int */;
+val* var5 /* : nullable Int */;
+val* var6 /* : nullable Bool */;
+val* var7 /* : nullable Bool */;
+if (likely(varonce!=NULL)) {
+var1 = varonce;
+} else {
+var2 = "init";
+var4 = (val*)(4l<<2|1);
+var5 = (val*)(4l<<2|1);
+var6 = (val*)((long)(0)<<2|3);
+var7 = (val*)((long)(0)<<2|3);
+var3 = core__flat___CString___to_s_unsafe(var2, var4, var5, var6, var7);
+var1 = var3;
+varonce = var1;
+}
+var = var1;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method typing$AInitExpr$property_node for (self: AInitExpr): ANode */
+val* nitc__typing___AInitExpr___ASendExpr__property_node(val* self) {
+val* var /* : ANode */;
+val* var1 /* : TKwinit */;
+val* var3 /* : TKwinit */;
+{
+{ /* Inline parser_nodes$AInitExpr$n_kwinit (self) on <self:AInitExpr> */
+var3 = self->attrs[COLOR_nitc__parser_nodes__AInitExpr___n_kwinit].val; /* _n_kwinit on <self:AInitExpr> */
+if (unlikely(var3 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwinit");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2438);
+fatal_exit(1);
+}
+var1 = var3;
+RET_LABEL2:(void)0;
+}
+}
+var = var1;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method typing$AInitExpr$compute_raw_arguments for (self: AInitExpr): Array[AExpr] */
+val* nitc__typing___AInitExpr___ASendExpr__compute_raw_arguments(val* self) {
+val* var /* : Array[AExpr] */;
+val* var1 /* : AExprs */;
+val* var3 /* : AExprs */;
+val* var4 /* : Array[AExpr] */;
+{
+{ /* Inline parser_nodes$AInitExpr$n_args (self) on <self:AInitExpr> */
+var3 = self->attrs[COLOR_nitc__parser_nodes__AInitExpr___n_args].val; /* _n_args on <self:AInitExpr> */
+if (unlikely(var3 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2441);
+fatal_exit(1);
+}
+var1 = var3;
+RET_LABEL2:(void)0;
+}
+}
+{
+var4 = nitc__typing___AExprs___to_a(var1);
+}
+var = var4;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method typing$AExprs$to_a for (self: AExprs): Array[AExpr] */
+val* nitc__typing___AExprs___to_a(val* self) {
+val* var /* : Array[AExpr] */;
+val* var1 /* : ANodes[AExpr] */;
+val* var3 /* : ANodes[AExpr] */;
+val* var4 /* : Array[nullable Object] */;
+{
+{ /* Inline parser_nodes$AExprs$n_exprs (self) on <self:AExprs> */
+var3 = self->attrs[COLOR_nitc__parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:AExprs> */
+if (unlikely(var3 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2790);
+fatal_exit(1);
+}
+var1 = var3;
+RET_LABEL2:(void)0;
+}
+}
+{
+var4 = core__array___Collection___to_a(var1);
+}
+var = var4;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method typing$ASuperExpr$callsite for (self: ASuperExpr): nullable CallSite */
+val* nitc__typing___ASuperExpr___callsite(val* self) {
+val* var /* : nullable CallSite */;
+val* var1 /* : nullable CallSite */;
+var1 = self->attrs[COLOR_nitc__typing__ASuperExpr___callsite].val; /* _callsite on <self:ASuperExpr> */
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method typing$ASuperExpr$callsite= for (self: ASuperExpr, nullable CallSite) */
+void nitc__typing___ASuperExpr___callsite_61d(val* self, val* p0) {
+self->attrs[COLOR_nitc__typing__ASuperExpr___callsite].val = p0; /* _callsite on <self:ASuperExpr> */
+RET_LABEL:;
+}
+/* method typing$ASuperExpr$mpropdef for (self: ASuperExpr): nullable MMethodDef */
+val* nitc__typing___ASuperExpr___mpropdef(val* self) {
+val* var /* : nullable MMethodDef */;
+val* var1 /* : nullable MMethodDef */;
+var1 = self->attrs[COLOR_nitc__typing__ASuperExpr___mpropdef].val; /* _mpropdef on <self:ASuperExpr> */
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method typing$ASuperExpr$mpropdef= for (self: ASuperExpr, nullable MMethodDef) */
+void nitc__typing___ASuperExpr___mpropdef_61d(val* self, val* p0) {
+self->attrs[COLOR_nitc__typing__ASuperExpr___mpropdef].val = p0; /* _mpropdef on <self:ASuperExpr> */
+RET_LABEL:;
+}
+/* method typing$ASuperExpr$accept_typing for (self: ASuperExpr, TypeVisitor) */
+void nitc__typing___ASuperExpr___AExpr__accept_typing(val* self, val* p0) {
+val* var_v /* var v: TypeVisitor */;
+val* var /* : nullable MClassType */;
+val* var2 /* : nullable MClassType */;
+val* var_anchor /* var anchor: nullable MClassType */;
+short int var3 /* : Bool */;
+short int var4 /* : Bool */;
+val* var_other /* var other: nullable Object */;
+short int var6 /* : Bool */;
+short int var7 /* : Bool */;
+val* var8 /* : Variable */;
+val* var10 /* : Variable */;
+val* var11 /* : nullable MType */;
+val* var_recvtype /* var recvtype: nullable MType */;
+short int var12 /* : Bool */;
+short int var13 /* : Bool */;
+short int var15 /* : Bool */;
+short int var16 /* : Bool */;
+val* var17 /* : nullable MPropDef */;
+val* var19 /* : nullable MPropDef */;
+val* var20 /* : MProperty */;
+val* var22 /* : MProperty */;
+val* var_mproperty /* var mproperty: MProperty */;
+short int var23 /* : Bool */;
+int cltype;
+int idtype;
+short int var24 /* : Bool */;
+static val* varonce;
+val* var25 /* : String */;
+char* var26 /* : CString */;
+val* var27 /* : String */;
+val* var28 /* : nullable Int */;
+val* var29 /* : nullable Int */;
+val* var30 /* : nullable Bool */;
+val* var31 /* : nullable Bool */;
+val* var32 /* : MModule */;
+val* var34 /* : MModule */;
+val* var35 /* : Array[MPropDef] */;
+val* var_superprops /* var superprops: Array[MMethodDef] */;
+long var36 /* : Int */;
+long var38 /* : Int */;
+short int var39 /* : Bool */;
+short int var41 /* : Bool */;
+short int var42 /* : Bool */;
+short int var43 /* : Bool */;
+short int var45 /* : Bool */;
+short int var_ /* var : Bool */;
+val* var46 /* : nullable MPropDef */;
+val* var48 /* : nullable MPropDef */;
+short int var49 /* : Bool */;
+val* var51 /* : NativeArray[String] */;
+static val* varonce50;
+static val* varonce52;
+val* var53 /* : String */;
+char* var54 /* : CString */;
+val* var55 /* : String */;
+val* var56 /* : nullable Int */;
+val* var57 /* : nullable Int */;
+val* var58 /* : nullable Bool */;
+val* var59 /* : nullable Bool */;
+static val* varonce60;
+val* var61 /* : String */;
+char* var62 /* : CString */;
+val* var63 /* : String */;
+val* var64 /* : nullable Int */;
+val* var65 /* : nullable Int */;
+val* var66 /* : nullable Bool */;
+val* var67 /* : nullable Bool */;
+val* var68 /* : String */;
+val* var69 /* : String */;
+val* var70 /* : nullable Object */;
+val* var_superprop /* var superprop: MMethodDef */;
+val* var71 /* : nullable MSignature */;
+val* var73 /* : nullable MSignature */;
+val* var_msignature /* var msignature: MSignature */;
+val* var74 /* : MType */;
+short int var75 /* : Bool */;
+int cltype76;
+int idtype77;
+const char* var_class_name;
+val* var78 /* : AExprs */;
+val* var80 /* : AExprs */;
+val* var81 /* : Array[AExpr] */;
+val* var_args /* var args: Array[AExpr] */;
+long var82 /* : Int */;
+long var84 /* : Int */;
+short int var85 /* : Bool */;
+short int var87 /* : Bool */;
+int cltype88;
+int idtype89;
+const char* var_class_name90;
+short int var91 /* : Bool */;
+val* var92 /* : nullable SignatureMap */;
+val* var94 /* : nullable MType */;
+val* var96 /* : nullable MType */;
+val* var99 /* : nullable MPropDef */;
+val* var101 /* : nullable MPropDef */;
+val* var103 /* : nullable MPropDef */;
+val* var105 /* : nullable MPropDef */;
+short int var106 /* : Bool */;
+int cltype107;
+int idtype108;
+const char* var_class_name109;
+var_v = p0;
+{
+{ /* Inline typing$TypeVisitor$anchor (var_v) on <var_v:TypeVisitor> */
+var2 = var_v->attrs[COLOR_nitc__typing__TypeVisitor___anchor].val; /* _anchor on <var_v:TypeVisitor> */
+var = var2;
+RET_LABEL1:(void)0;
+}
+}
+var_anchor = var;
+if (var_anchor == NULL) {
+var3 = 0; /* is null */
+} else {
+var3 = 1; /* arg is null and recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$!= (var_anchor,((val*)NULL)) on <var_anchor:nullable MClassType> */
+var_other = ((val*)NULL);
+{
+var6 = ((short int(*)(val* self, val* p0))(var_anchor->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_anchor, var_other); /* == on <var_anchor:nullable MClassType(MClassType)>*/
+}
+var7 = !var6;
+var4 = var7;
+goto RET_LABEL5;
+RET_LABEL5:(void)0;
+}
+var3 = var4;
+}
+if (unlikely(!var3)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Assert failed");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 2033);
+fatal_exit(1);
+}
+{
+{ /* Inline typing$TypeVisitor$selfvariable (var_v) on <var_v:TypeVisitor> */
+var10 = var_v->attrs[COLOR_nitc__typing__TypeVisitor___selfvariable].val; /* _selfvariable on <var_v:TypeVisitor> */
+if (unlikely(var10 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _selfvariable");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 51);
+fatal_exit(1);
+}
+var8 = var10;
+RET_LABEL9:(void)0;
+}
+}
+{
+var11 = nitc__typing___nitc__typing__TypeVisitor___get_variable(var_v, self, var8);
+}
+var_recvtype = var11;
+if (var_recvtype == NULL) {
+var12 = 0; /* is null */
+} else {
+var12 = 1; /* arg is null and recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$!= (var_recvtype,((val*)NULL)) on <var_recvtype:nullable MType> */
+var_other = ((val*)NULL);
+{
+var15 = ((short int(*)(val* self, val* p0))(var_recvtype->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_recvtype, var_other); /* == on <var_recvtype:nullable MType(MType)>*/
+}
+var16 = !var15;
+var13 = var16;
+goto RET_LABEL14;
+RET_LABEL14:(void)0;
+}
+var12 = var13;
+}
+if (unlikely(!var12)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Assert failed");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 2035);
+fatal_exit(1);
+}
+{
+{ /* Inline typing$TypeVisitor$mpropdef (var_v) on <var_v:TypeVisitor> */
+var19 = var_v->attrs[COLOR_nitc__typing__TypeVisitor___mpropdef].val; /* _mpropdef on <var_v:TypeVisitor> */
+var17 = var19;
+RET_LABEL18:(void)0;
+}
+}
+if (var17 == NULL) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Receiver is null");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 2036);
+fatal_exit(1);
+} else {
+{ /* Inline model$MPropDef$mproperty (var17) on <var17:nullable MPropDef> */
+if (unlikely(var17 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Receiver is null");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 2357);
+fatal_exit(1);
+}
+var22 = var17->attrs[COLOR_nitc__model__MPropDef___mproperty].val; /* _mproperty on <var17:nullable MPropDef> */
+if (unlikely(var22 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 2357);
+fatal_exit(1);
+}
+var20 = var22;
+RET_LABEL21:(void)0;
+}
+}
+var_mproperty = var20;
+/* <var_mproperty:MProperty> isa MMethod */
+cltype = type_nitc__MMethod.color;
+idtype = type_nitc__MMethod.id;
+if(cltype >= var_mproperty->type->table_size) {
+var23 = 0;
+} else {
+var23 = var_mproperty->type->type_table[cltype] == idtype;
+}
+var24 = !var23;
+if (var24){
+if (likely(varonce!=NULL)) {
+var25 = varonce;
+} else {
+var26 = "Error: `super` only usable in a `method`.";
+var28 = (val*)(41l<<2|1);
+var29 = (val*)(41l<<2|1);
+var30 = (val*)((long)(0)<<2|3);
+var31 = (val*)((long)(0)<<2|3);
+var27 = core__flat___CString___to_s_unsafe(var26, var28, var29, var30, var31);
+var25 = var27;
+varonce = var25;
+}
+{
+nitc__typing___nitc__typing__TypeVisitor___error(var_v, self, var25); /* Direct call typing$TypeVisitor$error on <var_v:TypeVisitor>*/
+}
+goto RET_LABEL;
+} else {
+}
+{
+{ /* Inline typing$TypeVisitor$mmodule (var_v) on <var_v:TypeVisitor> */
+var34 = var_v->attrs[COLOR_nitc__typing__TypeVisitor___mmodule].val; /* _mmodule on <var_v:TypeVisitor> */
+if (unlikely(var34 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 37);
+fatal_exit(1);
+}
+var32 = var34;
+RET_LABEL33:(void)0;
+}
+}
+{
+var35 = nitc___nitc__MProperty___lookup_super_definitions(var_mproperty, var32, var_anchor);
+}
+var_superprops = var35;
+{
+{ /* Inline array$AbstractArrayRead$length (var_superprops) on <var_superprops:Array[MMethodDef]> */
+var38 = var_superprops->attrs[COLOR_core__array__AbstractArrayRead___length].l; /* _length on <var_superprops:Array[MMethodDef]> */
+var36 = var38;
+RET_LABEL37:(void)0;
+}
+}
+{
+{ /* Inline kernel$Int$== (var36,0l) on <var36:Int> */
+var41 = var36 == 0l;
+var39 = var41;
+goto RET_LABEL40;
+RET_LABEL40:(void)0;
+}
+}
+if (var39){
+{
+{ /* Inline model$MMethod$is_init (var_mproperty) on <var_mproperty:MProperty(MMethod)> */
+var45 = var_mproperty->attrs[COLOR_nitc__model__MMethod___is_init].s; /* _is_init on <var_mproperty:MProperty(MMethod)> */
+var43 = var45;
+RET_LABEL44:(void)0;
+}
+}
+var_ = var43;
+if (var43){
+{
+{ /* Inline typing$TypeVisitor$mpropdef (var_v) on <var_v:TypeVisitor> */
+var48 = var_v->attrs[COLOR_nitc__typing__TypeVisitor___mpropdef].val; /* _mpropdef on <var_v:TypeVisitor> */
+var46 = var48;
+RET_LABEL47:(void)0;
+}
+}
+if (var46 == NULL) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Receiver is null");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 2043);
+fatal_exit(1);
+} else {
+var49 = nitc___nitc__MPropDef___is_intro(var46);
+}
+var42 = var49;
+} else {
+var42 = var_;
+}
+if (var42){
+{
+nitc__typing___ASuperExpr___process_superinit(self, var_v); /* Direct call typing$ASuperExpr$process_superinit on <self:ASuperExpr>*/
+}
+goto RET_LABEL;
+} else {
+}
+if (unlikely(varonce50==NULL)) {
+var51 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String);
+if (likely(varonce52!=NULL)) {
+var53 = varonce52;
+} else {
+var54 = "Error: no super method to call for `";
+var56 = (val*)(36l<<2|1);
+var57 = (val*)(36l<<2|1);
+var58 = (val*)((long)(0)<<2|3);
+var59 = (val*)((long)(0)<<2|3);
+var55 = core__flat___CString___to_s_unsafe(var54, var56, var57, var58, var59);
+var53 = var55;
+varonce52 = var53;
+}
+((struct instance_core__NativeArray*)var51)->values[0]=var53;
+if (likely(varonce60!=NULL)) {
+var61 = varonce60;
+} else {
+var62 = "`.";
+var64 = (val*)(2l<<2|1);
+var65 = (val*)(2l<<2|1);
+var66 = (val*)((long)(0)<<2|3);
+var67 = (val*)((long)(0)<<2|3);
+var63 = core__flat___CString___to_s_unsafe(var62, var64, var65, var66, var67);
+var61 = var63;
+varonce60 = var61;
+}
+((struct instance_core__NativeArray*)var51)->values[2]=var61;
+} else {
+var51 = varonce50;
+varonce50 = NULL;
+}
+{
+var68 = ((val*(*)(val* self))(var_mproperty->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_mproperty); /* to_s on <var_mproperty:MProperty(MMethod)>*/
+}
+((struct instance_core__NativeArray*)var51)->values[1]=var68;
+{
+var69 = ((val*(*)(val* self))(var51->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var51); /* native_to_s on <var51:NativeArray[String]>*/
+}
+varonce50 = var51;
+{
+nitc__typing___nitc__typing__TypeVisitor___error(var_v, self, var69); /* Direct call typing$TypeVisitor$error on <var_v:TypeVisitor>*/
+}
+goto RET_LABEL;
+} else {
+}
+{
+var70 = core___core__SequenceRead___Collection__first(var_superprops);
+}
+var_superprop = var70;
+{
+{ /* Inline model$MMethodDef$msignature (var_superprop) on <var_superprop:MMethodDef> */
+var73 = var_superprop->attrs[COLOR_nitc__model__MMethodDef___msignature].val; /* _msignature on <var_superprop:MMethodDef> */
+var71 = var73;
+RET_LABEL72:(void)0;
+}
+}
+if (unlikely(var71 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Cast failed");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 2053);
+fatal_exit(1);
+}
+var_msignature = var71;
+{
+var74 = nitc__typing___nitc__typing__TypeVisitor___resolve_for(var_v, var_msignature, var_recvtype, 1);
+}
+/* <var74:MType> isa MSignature */
+cltype76 = type_nitc__MSignature.color;
+idtype77 = type_nitc__MSignature.id;
+if(cltype76 >= var74->type->table_size) {
+var75 = 0;
+} else {
+var75 = var74->type->type_table[cltype76] == idtype77;
+}
+if (unlikely(!var75)) {
+var_class_name = var74 == NULL ? "null" : var74->type->name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MSignature", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 2054);
+fatal_exit(1);
+}
+var_msignature = var74;
+{
+{ /* Inline parser_nodes$ASuperExpr$n_args (self) on <self:ASuperExpr> */
+var80 = self->attrs[COLOR_nitc__parser_nodes__ASuperExpr___n_args].val; /* _n_args on <self:ASuperExpr> */
+if (unlikely(var80 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2429);
+fatal_exit(1);
+}
+var78 = var80;
+RET_LABEL79:(void)0;
+}
+}
+{
+var81 = nitc__typing___AExprs___to_a(var78);
+}
+var_args = var81;
+{
+{ /* Inline array$AbstractArrayRead$length (var_args) on <var_args:Array[AExpr]> */
+var84 = var_args->attrs[COLOR_core__array__AbstractArrayRead___length].l; /* _length on <var_args:Array[AExpr]> */
+var82 = var84;
+RET_LABEL83:(void)0;
+}
+}
+{
+{ /* Inline kernel$Int$> (var82,0l) on <var82:Int> */
+/* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
+/* <0l:Int> isa OTHER */
+var87 = 1; /* easy <0l:Int> isa OTHER*/
+if (unlikely(!var87)) {
+var_class_name90 = type_core__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name90);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 727);
+fatal_exit(1);
+}
+var91 = var82 > 0l;
+var85 = var91;
+goto RET_LABEL86;
+RET_LABEL86:(void)0;
+}
+}
+if (var85){
+{
+var92 = nitc__typing___nitc__typing__TypeVisitor___check_signature(var_v, self, var_args, var_mproperty, var_msignature);
+}
+{
+{ /* Inline typing$ASuperExpr$signaturemap= (self,var92) on <self:ASuperExpr> */
+self->attrs[COLOR_nitc__typing__ASuperExpr___signaturemap].val = var92; /* _signaturemap on <self:ASuperExpr> */
+RET_LABEL93:(void)0;
+}
+}
+} else {
+}
+{
+{ /* Inline model$MSignature$return_mtype (var_msignature) on <var_msignature:MSignature> */
+var96 = var_msignature->attrs[COLOR_nitc__model__MSignature___return_mtype].val; /* _return_mtype on <var_msignature:MSignature> */
+var94 = var96;
+RET_LABEL95:(void)0;
+}
+}
+{
+{ /* Inline typing$AExpr$mtype= (self,var94) on <self:ASuperExpr> */
+self->attrs[COLOR_nitc__typing__AExpr___mtype].val = var94; /* _mtype on <self:ASuperExpr> */
+RET_LABEL97:(void)0;
+}
+}
+{
+{ /* Inline typing$AExpr$is_typed= (self,1) on <self:ASuperExpr> */
+self->attrs[COLOR_nitc__typing__AExpr___is_typed].s = 1; /* _is_typed on <self:ASuperExpr> */
+RET_LABEL98:(void)0;
+}
+}
+{
+{ /* Inline typing$TypeVisitor$mpropdef (var_v) on <var_v:TypeVisitor> */
+var101 = var_v->attrs[COLOR_nitc__typing__TypeVisitor___mpropdef].val; /* _mpropdef on <var_v:TypeVisitor> */
+var99 = var101;
+RET_LABEL100:(void)0;
+}
+}
+if (var99 == NULL) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Receiver is null");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 2061);
+fatal_exit(1);
+} else {
+{ /* Inline modelize_property$MPropDef$has_supercall= (var99,1) on <var99:nullable MPropDef> */
+if (unlikely(var99 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Receiver is null");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelize_property, 484);
+fatal_exit(1);
+}
+var99->attrs[COLOR_nitc__modelize_property__MPropDef___has_supercall].s = 1; /* _has_supercall on <var99:nullable MPropDef> */
+RET_LABEL102:(void)0;
+}
+}
+{
+{ /* Inline typing$TypeVisitor$mpropdef (var_v) on <var_v:TypeVisitor> */
+var105 = var_v->attrs[COLOR_nitc__typing__TypeVisitor___mpropdef].val; /* _mpropdef on <var_v:TypeVisitor> */
+var103 = var105;
+RET_LABEL104:(void)0;
+}
+}
+/* <var103:nullable MPropDef> isa MMethodDef */
+cltype107 = type_nitc__MMethodDef.color;
+idtype108 = type_nitc__MMethodDef.id;
+if(var103 == NULL) {
+var106 = 0;
+} else {
+if(cltype107 >= var103->type->table_size) {
+var106 = 0;
+} else {
+var106 = var103->type->type_table[cltype107] == idtype108;
+}
+}
+if (unlikely(!var106)) {
+var_class_name109 = var103 == NULL ? "null" : var103->type->name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MMethodDef", var_class_name109);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 2062);
+fatal_exit(1);
+}
+{
+{ /* Inline typing$ASuperExpr$mpropdef= (self,var103) on <self:ASuperExpr> */
+self->attrs[COLOR_nitc__typing__ASuperExpr___mpropdef].val = var103; /* _mpropdef on <self:ASuperExpr> */
+RET_LABEL110:(void)0;
+}
+}
+RET_LABEL:;
+}
+/* method typing$ASuperExpr$signaturemap for (self: ASuperExpr): nullable SignatureMap */
+val* nitc__typing___ASuperExpr___signaturemap(val* self) {
+val* var /* : nullable SignatureMap */;
+val* var1 /* : nullable SignatureMap */;
+var1 = self->attrs[COLOR_nitc__typing__ASuperExpr___signaturemap].val; /* _signaturemap on <self:ASuperExpr> */
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method typing$ASuperExpr$signaturemap= for (self: ASuperExpr, nullable SignatureMap) */
+void nitc__typing___ASuperExpr___signaturemap_61d(val* self, val* p0) {
+self->attrs[COLOR_nitc__typing__ASuperExpr___signaturemap].val = p0; /* _signaturemap on <self:ASuperExpr> */
+RET_LABEL:;
+}
+/* method typing$ASuperExpr$process_superinit for (self: ASuperExpr, TypeVisitor) */