csrc: regen for 32 bits platforms and Windows
[nit.git] / c_src / nitc__auto_super_init.sep.1.c
index 3222fa7..5b2d824 100644 (file)
@@ -1,10 +1,13 @@
 #include "nitc__auto_super_init.sep.0.h"
-/* method auto_super_init#ToolContext#auto_super_init_phase for (self: ToolContext): Phase */
+/* method auto_super_init$ToolContext$auto_super_init_phase for (self: ToolContext): Phase */
 val* nitc__auto_super_init___ToolContext___auto_super_init_phase(val* self) {
 val* var /* : Phase */;
 val* var1 /* : Phase */;
 var1 = self->attrs[COLOR_nitc__auto_super_init__ToolContext___auto_super_init_phase].val; /* _auto_super_init_phase on <self:ToolContext> */
 if (unlikely(var1 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _auto_super_init_phase");
 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__auto_super_init, 25);
 fatal_exit(1);
@@ -13,7 +16,7 @@ var = var1;
 RET_LABEL:;
 return var;
 }
-/* method auto_super_init#AutoSuperInitPhase#process_npropdef for (self: AutoSuperInitPhase, APropdef) */
+/* method auto_super_init$AutoSuperInitPhase$process_npropdef for (self: AutoSuperInitPhase, APropdef) */
 void nitc__auto_super_init___nitc__auto_super_init__AutoSuperInitPhase___nitc__phase__Phase__process_npropdef(val* self, val* p0) {
 val* var_npropdef /* var npropdef: APropdef */;
 short int var /* : Bool */;
@@ -33,11 +36,14 @@ var = var_npropdef->type->type_table[cltype] == idtype;
 }
 if (var){
 {
-{ /* Inline phase#Phase#toolcontext (self) on <self:AutoSuperInitPhase> */
+{ /* Inline phase$Phase$toolcontext (self) on <self:AutoSuperInitPhase> */
 var3 = self->attrs[COLOR_nitc__phase__Phase___toolcontext].val; /* _toolcontext on <self:AutoSuperInitPhase> */
 if (unlikely(var3 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase, 200);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase, 210);
 fatal_exit(1);
 }
 var1 = var3;
@@ -48,13 +54,13 @@ RET_LABEL2:(void)0;
 var4 = nitc__modelbuilder_base___ToolContext___modelbuilder(var1);
 }
 {
-nitc__auto_super_init___AMethPropdef___do_auto_super_init(var_npropdef, var4); /* Direct call auto_super_init#AMethPropdef#do_auto_super_init on <var_npropdef:APropdef(AMethPropdef)>*/
+nitc__auto_super_init___AMethPropdef___do_auto_super_init(var_npropdef, var4); /* Direct call auto_super_init$AMethPropdef$do_auto_super_init on <var_npropdef:APropdef(AMethPropdef)>*/
 }
 } else {
 }
 RET_LABEL:;
 }
-/* method auto_super_init#AutoSuperInitVisitor#visit for (self: AutoSuperInitVisitor, ANode) */
+/* method auto_super_init$AutoSuperInitVisitor$visit for (self: AutoSuperInitVisitor, ANode) */
 void nitc__auto_super_init___nitc__auto_super_init__AutoSuperInitVisitor___nitc__parser_nodes__Visitor__visit(val* self, val* p0) {
 val* var_n /* var n: ANode */;
 var_n = p0;
@@ -66,7 +72,7 @@ var_n = p0;
 }
 RET_LABEL:;
 }
-/* method auto_super_init#AutoSuperInitVisitor#has_explicit_super_init for (self: AutoSuperInitVisitor): nullable ANode */
+/* method auto_super_init$AutoSuperInitVisitor$has_explicit_super_init for (self: AutoSuperInitVisitor): nullable ANode */
 val* nitc__auto_super_init___nitc__auto_super_init__AutoSuperInitVisitor___has_explicit_super_init(val* self) {
 val* var /* : nullable ANode */;
 val* var1 /* : nullable ANode */;
@@ -75,12 +81,12 @@ var = var1;
 RET_LABEL:;
 return var;
 }
-/* method auto_super_init#AutoSuperInitVisitor#has_explicit_super_init= for (self: AutoSuperInitVisitor, nullable ANode) */
+/* method auto_super_init$AutoSuperInitVisitor$has_explicit_super_init= for (self: AutoSuperInitVisitor, nullable ANode) */
 void nitc__auto_super_init___nitc__auto_super_init__AutoSuperInitVisitor___has_explicit_super_init_61d(val* self, val* p0) {
 self->attrs[COLOR_nitc__auto_super_init__AutoSuperInitVisitor___has_explicit_super_init].val = p0; /* _has_explicit_super_init on <self:AutoSuperInitVisitor> */
 RET_LABEL:;
 }
-/* method auto_super_init#AutoSuperInitVisitor#is_broken for (self: AutoSuperInitVisitor): Bool */
+/* method auto_super_init$AutoSuperInitVisitor$is_broken for (self: AutoSuperInitVisitor): Bool */
 short int nitc__auto_super_init___nitc__auto_super_init__AutoSuperInitVisitor___is_broken(val* self) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
@@ -89,12 +95,12 @@ var = var1;
 RET_LABEL:;
 return var;
 }
-/* method auto_super_init#AutoSuperInitVisitor#is_broken= for (self: AutoSuperInitVisitor, Bool) */
+/* method auto_super_init$AutoSuperInitVisitor$is_broken= for (self: AutoSuperInitVisitor, Bool) */
 void nitc__auto_super_init___nitc__auto_super_init__AutoSuperInitVisitor___is_broken_61d(val* self, short int p0) {
 self->attrs[COLOR_nitc__auto_super_init__AutoSuperInitVisitor___is_broken].s = p0; /* _is_broken on <self:AutoSuperInitVisitor> */
 RET_LABEL:;
 }
-/* method auto_super_init#AMethPropdef#auto_super_inits for (self: AMethPropdef): nullable Array[CallSite] */
+/* method auto_super_init$AMethPropdef$auto_super_inits for (self: AMethPropdef): nullable Array[CallSite] */
 val* nitc__auto_super_init___AMethPropdef___auto_super_inits(val* self) {
 val* var /* : nullable Array[CallSite] */;
 val* var1 /* : nullable Array[CallSite] */;
@@ -103,12 +109,12 @@ var = var1;
 RET_LABEL:;
 return var;
 }
-/* method auto_super_init#AMethPropdef#auto_super_inits= for (self: AMethPropdef, nullable Array[CallSite]) */
+/* method auto_super_init$AMethPropdef$auto_super_inits= for (self: AMethPropdef, nullable Array[CallSite]) */
 void nitc__auto_super_init___AMethPropdef___auto_super_inits_61d(val* self, val* p0) {
 self->attrs[COLOR_nitc__auto_super_init__AMethPropdef___auto_super_inits].val = p0; /* _auto_super_inits on <self:AMethPropdef> */
 RET_LABEL:;
 }
-/* method auto_super_init#AMethPropdef#auto_super_call for (self: AMethPropdef): Bool */
+/* method auto_super_init$AMethPropdef$auto_super_call for (self: AMethPropdef): Bool */
 short int nitc__auto_super_init___AMethPropdef___auto_super_call(val* self) {
 short int var /* : Bool */;
 short int var1 /* : Bool */;
@@ -117,12 +123,12 @@ var = var1;
 RET_LABEL:;
 return var;
 }
-/* method auto_super_init#AMethPropdef#auto_super_call= for (self: AMethPropdef, Bool) */
+/* method auto_super_init$AMethPropdef$auto_super_call= for (self: AMethPropdef, Bool) */
 void nitc__auto_super_init___AMethPropdef___auto_super_call_61d(val* self, short int p0) {
 self->attrs[COLOR_nitc__auto_super_init__AMethPropdef___auto_super_call].s = p0; /* _auto_super_call on <self:AMethPropdef> */
 RET_LABEL:;
 }
-/* method auto_super_init#AMethPropdef#do_auto_super_init for (self: AMethPropdef, ModelBuilder) */
+/* method auto_super_init$AMethPropdef$do_auto_super_init for (self: AMethPropdef, ModelBuilder) */
 void nitc__auto_super_init___AMethPropdef___do_auto_super_init(val* self, val* p0) {
 val* var_modelbuilder /* var modelbuilder: ModelBuilder */;
 val* var /* : nullable ANode */;
@@ -169,205 +175,277 @@ val* var45 /* : MClassType */;
 val* var_recvtype /* var recvtype: MClassType */;
 static val* varonce;
 val* var46 /* : String */;
-char* var47 /* : NativeString */;
+char* var47 /* : CString */;
 val* var48 /* : String */;
-val* var49 /* : nullable AAnnotation */;
+val* var49 /* : nullable Int */;
+val* var50 /* : nullable Int */;
+val* var51 /* : nullable Bool */;
+val* var52 /* : nullable Bool */;
+val* var53 /* : nullable AAnnotation */;
 val* var_nosuper /* var nosuper: nullable AAnnotation */;
-short int var50 /* : Bool */;
-val* var51 /* : MProperty */;
-val* var53 /* : MProperty */;
 short int var54 /* : Bool */;
-short int var56 /* : Bool */;
-short int var57 /* : Bool */;
-short int var_58 /* var : Bool */;
-val* var59 /* : MProperty */;
-val* var61 /* : MProperty */;
-short int var62 /* : Bool */;
-short int var64 /* : Bool */;
-short int var65 /* : Bool */;
+val* var55 /* : MProperty */;
+val* var57 /* : MProperty */;
+short int var58 /* : Bool */;
+short int var60 /* : Bool */;
+short int var61 /* : Bool */;
+short int var_62 /* var : Bool */;
+val* var63 /* : MProperty */;
+val* var65 /* : MProperty */;
 short int var66 /* : Bool */;
-val* var_other68 /* var other: nullable Object */;
+short int var68 /* : Bool */;
 short int var69 /* : Bool */;
 short int var70 /* : Bool */;
-static val* varonce71;
-val* var72 /* : String */;
-char* var73 /* : NativeString */;
-val* var74 /* : String */;
-val* var75 /* : nullable AExpr */;
-val* var77 /* : nullable AExpr */;
+val* var_other72 /* var other: nullable Object */;
+short int var73 /* : Bool */;
+short int var74 /* : Bool */;
+static val* varonce75;
+val* var76 /* : String */;
+char* var77 /* : CString */;
+val* var78 /* : String */;
+val* var79 /* : nullable Int */;
+val* var80 /* : nullable Int */;
+val* var81 /* : nullable Bool */;
+val* var82 /* : nullable Bool */;
+val* var83 /* : nullable AExpr */;
+val* var85 /* : nullable AExpr */;
 val* var_nblock /* var nblock: nullable AExpr */;
-short int var78 /* : Bool */;
-short int var79 /* : Bool */;
-short int var81 /* : Bool */;
-short int var82 /* : Bool */;
-val* var83 /* : AutoSuperInitVisitor */;
+short int var86 /* : Bool */;
+short int var87 /* : Bool */;
+short int var89 /* : Bool */;
+short int var90 /* : Bool */;
+val* var91 /* : AutoSuperInitVisitor */;
 val* var_v /* var v: AutoSuperInitVisitor */;
-val* var85 /* : nullable ANode */;
-val* var87 /* : nullable ANode */;
+val* var93 /* : nullable ANode */;
+val* var95 /* : nullable ANode */;
 val* var_anode /* var anode: nullable ANode */;
-short int var88 /* : Bool */;
-short int var89 /* : Bool */;
-short int var91 /* : Bool */;
-short int var92 /* : Bool */;
-short int var93 /* : Bool */;
-short int var94 /* : Bool */;
 short int var96 /* : Bool */;
 short int var97 /* : Bool */;
-static val* varonce98;
-val* var99 /* : String */;
-char* var100 /* : NativeString */;
-val* var101 /* : String */;
+short int var99 /* : Bool */;
+short int var100 /* : Bool */;
+short int var101 /* : Bool */;
 short int var102 /* : Bool */;
 short int var104 /* : Bool */;
 short int var105 /* : Bool */;
-short int var106 /* : Bool */;
-short int var108 /* : Bool */;
-short int var109 /* : Bool */;
-short int var110 /* : Bool */;
-short int var111 /* : Bool */;
-val* var114 /* : ToolContext */;
-val* var116 /* : ToolContext */;
-val* var118 /* : NativeArray[String] */;
-static val* varonce117;
-static val* varonce119;
-val* var120 /* : String */;
-char* var121 /* : NativeString */;
-val* var122 /* : String */;
-val* var123 /* : String */;
-val* var124 /* : String */;
-val* var125 /* : Array[CallSite] */;
+static val* varonce106;
+val* var107 /* : String */;
+char* var108 /* : CString */;
+val* var109 /* : String */;
+val* var110 /* : nullable Int */;
+val* var111 /* : nullable Int */;
+val* var112 /* : nullable Bool */;
+val* var113 /* : nullable Bool */;
+short int var114 /* : Bool */;
+short int var116 /* : Bool */;
+short int var117 /* : Bool */;
+short int var118 /* : Bool */;
+short int var120 /* : Bool */;
+short int var121 /* : Bool */;
+short int var122 /* : Bool */;
+short int var123 /* : Bool */;
+val* var126 /* : ToolContext */;
+val* var128 /* : ToolContext */;
+val* var130 /* : NativeArray[String] */;
+static val* varonce129;
+static val* varonce131;
+val* var132 /* : String */;
+char* var133 /* : CString */;
+val* var134 /* : String */;
+val* var135 /* : nullable Int */;
+val* var136 /* : nullable Int */;
+val* var137 /* : nullable Bool */;
+val* var138 /* : nullable Bool */;
+val* var139 /* : String */;
+val* var140 /* : String */;
+val* var141 /* : Array[CallSite] */;
 val* var_auto_super_inits /* var auto_super_inits: Array[CallSite] */;
-val* var126 /* : nullable MMethod */;
-val* var128 /* : nullable MMethod */;
+val* var142 /* : nullable MMethod */;
+val* var144 /* : nullable MMethod */;
 val* var_the_root_init_mmethod /* var the_root_init_mmethod: nullable MMethod */;
-short int var129 /* : Bool */;
-short int var130 /* : Bool */;
-short int var131 /* : Bool */;
-short int var133 /* : Bool */;
-short int var134 /* : Bool */;
-short int var_135 /* var : Bool */;
-short int var136 /* : Bool */;
-val* var137 /* : Array[MPropDef] */;
-val* var_candidatedefs /* var candidatedefs: Array[MMethodDef] */;
-short int var138 /* : Bool */;
-val* var140 /* : nullable Object */;
-val* var_candidatedef /* var candidatedef: MMethodDef */;
-long var141 /* : Int */;
-long var143 /* : Int */;
-short int var144 /* : Bool */;
+short int var145 /* : Bool */;
 short int var146 /* : Bool */;
-int cltype147;
-int idtype148;
-const char* var_class_name149;
+short int var147 /* : Bool */;
+short int var149 /* : Bool */;
 short int var150 /* : Bool */;
-val* var151 /* : nullable Object */;
+short int var_151 /* var : Bool */;
+short int var152 /* : Bool */;
+val* var153 /* : Array[MPropDef] */;
+val* var_candidatedefs /* var candidatedefs: Array[MMethodDef] */;
+short int var154 /* : Bool */;
+val* var156 /* : nullable Object */;
+val* var_candidatedef /* var candidatedef: MMethodDef */;
+long var157 /* : Int */;
+long var159 /* : Int */;
+short int var160 /* : Bool */;
+short int var162 /* : Bool */;
+int cltype163;
+int idtype164;
+const char* var_class_name165;
+short int var166 /* : Bool */;
+val* var167 /* : nullable Object */;
 val* var_cd2 /* var cd2: MMethodDef */;
-val* var153 /* : NativeArray[String] */;
-static val* varonce152;
-static val* varonce154;
-val* var155 /* : String */;
-char* var156 /* : NativeString */;
-val* var157 /* : String */;
-static val* varonce158;
-val* var159 /* : String */;
-char* var160 /* : NativeString */;
-val* var161 /* : String */;
-static val* varonce162;
-val* var163 /* : String */;
-char* var164 /* : NativeString */;
-val* var165 /* : String */;
-static val* varonce166;
-val* var167 /* : String */;
-char* var168 /* : NativeString */;
-val* var169 /* : String */;
+val* var169 /* : NativeArray[String] */;
+static val* varonce168;
 static val* varonce170;
 val* var171 /* : String */;
-char* var172 /* : NativeString */;
+char* var172 /* : CString */;
 val* var173 /* : String */;
-val* var174 /* : String */;
-val* var175 /* : Array[MProperty] */;
-val* var177 /* : Array[MProperty] */;
+val* var174 /* : nullable Int */;
+val* var175 /* : nullable Int */;
+val* var176 /* : nullable Bool */;
+val* var177 /* : nullable Bool */;
 static val* varonce178;
 val* var179 /* : String */;
-char* var180 /* : NativeString */;
+char* var180 /* : CString */;
 val* var181 /* : String */;
-val* var182 /* : String */;
-val* var183 /* : String */;
-val* var184 /* : Array[MProperty] */;
-val* var186 /* : Array[MProperty] */;
-static val* varonce187;
-val* var188 /* : String */;
-char* var189 /* : NativeString */;
-val* var190 /* : String */;
-val* var191 /* : String */;
-val* var192 /* : String */;
-val* var194 /* : nullable MSignature */;
-val* var195 /* : nullable MSignature */;
-val* var197 /* : nullable MSignature */;
-val* var198 /* : nullable MSignature */;
-val* var200 /* : nullable MSignature */;
-val* var_msignature /* var msignature: nullable MSignature */;
-val* var201 /* : MSignature */;
-long var202 /* : Int */;
-short int var203 /* : Bool */;
-short int var205 /* : Bool */;
-int cltype206;
-int idtype207;
-const char* var_class_name208;
-short int var209 /* : Bool */;
-val* var211 /* : NativeArray[String] */;
-static val* varonce210;
-static val* varonce212;
-val* var213 /* : String */;
-char* var214 /* : NativeString */;
+val* var182 /* : nullable Int */;
+val* var183 /* : nullable Int */;
+val* var184 /* : nullable Bool */;
+val* var185 /* : nullable Bool */;
+static val* varonce186;
+val* var187 /* : String */;
+char* var188 /* : CString */;
+val* var189 /* : String */;
+val* var190 /* : nullable Int */;
+val* var191 /* : nullable Int */;
+val* var192 /* : nullable Bool */;
+val* var193 /* : nullable Bool */;
+static val* varonce194;
+val* var195 /* : String */;
+char* var196 /* : CString */;
+val* var197 /* : String */;
+val* var198 /* : nullable Int */;
+val* var199 /* : nullable Int */;
+val* var200 /* : nullable Bool */;
+val* var201 /* : nullable Bool */;
+static val* varonce202;
+val* var203 /* : String */;
+char* var204 /* : CString */;
+val* var205 /* : String */;
+val* var206 /* : nullable Int */;
+val* var207 /* : nullable Int */;
+val* var208 /* : nullable Bool */;
+val* var209 /* : nullable Bool */;
+val* var210 /* : String */;
+val* var211 /* : Array[MProperty] */;
+val* var213 /* : Array[MProperty] */;
+static val* varonce214;
 val* var215 /* : String */;
-static val* varonce216;
+char* var216 /* : CString */;
 val* var217 /* : String */;
-char* var218 /* : NativeString */;
-val* var219 /* : String */;
-static val* varonce220;
-val* var221 /* : String */;
-char* var222 /* : NativeString */;
+val* var218 /* : nullable Int */;
+val* var219 /* : nullable Int */;
+val* var220 /* : nullable Bool */;
+val* var221 /* : nullable Bool */;
+val* var222 /* : String */;
 val* var223 /* : String */;
-val* var224 /* : String */;
-val* var225 /* : String */;
-long var226 /* : Int */;
-val* var227 /* : String */;
+val* var224 /* : Array[MProperty] */;
+val* var226 /* : Array[MProperty] */;
+static val* varonce227;
 val* var228 /* : String */;
-val* var230 /* : CallSite */;
-val* var231 /* : Location */;
-val* var_callsite /* var callsite: CallSite */;
-val* var232 /* : ToolContext */;
-val* var234 /* : ToolContext */;
-val* var236 /* : NativeArray[String] */;
-static val* varonce235;
-static val* varonce237;
-val* var238 /* : String */;
-char* var239 /* : NativeString */;
-val* var240 /* : String */;
-static val* varonce241;
-val* var242 /* : String */;
-char* var243 /* : NativeString */;
-val* var244 /* : String */;
-val* var245 /* : String */;
-val* var246 /* : String */;
-val* var247 /* : String */;
-short int var248 /* : Bool */;
-val* var250 /* : NativeArray[String] */;
-static val* varonce249;
-static val* varonce251;
-val* var252 /* : String */;
-char* var253 /* : NativeString */;
-val* var254 /* : String */;
-static val* varonce255;
-val* var256 /* : String */;
-char* var257 /* : NativeString */;
-val* var258 /* : String */;
+char* var229 /* : CString */;
+val* var230 /* : String */;
+val* var231 /* : nullable Int */;
+val* var232 /* : nullable Int */;
+val* var233 /* : nullable Bool */;
+val* var234 /* : nullable Bool */;
+val* var235 /* : String */;
+val* var236 /* : String */;
+val* var238 /* : nullable MSignature */;
+val* var239 /* : nullable MSignature */;
+val* var241 /* : nullable MSignature */;
+val* var242 /* : nullable MSignature */;
+val* var244 /* : nullable MSignature */;
+val* var_msignature /* var msignature: nullable MSignature */;
+val* var245 /* : MSignature */;
+long var246 /* : Int */;
+short int var247 /* : Bool */;
+short int var249 /* : Bool */;
+int cltype250;
+int idtype251;
+const char* var_class_name252;
+short int var253 /* : Bool */;
+val* var255 /* : NativeArray[String] */;
+static val* varonce254;
+static val* varonce256;
+val* var257 /* : String */;
+char* var258 /* : CString */;
 val* var259 /* : String */;
-val* var260 /* : String */;
+val* var260 /* : nullable Int */;
+val* var261 /* : nullable Int */;
+val* var262 /* : nullable Bool */;
+val* var263 /* : nullable Bool */;
+static val* varonce264;
+val* var265 /* : String */;
+char* var266 /* : CString */;
+val* var267 /* : String */;
+val* var268 /* : nullable Int */;
+val* var269 /* : nullable Int */;
+val* var270 /* : nullable Bool */;
+val* var271 /* : nullable Bool */;
+static val* varonce272;
+val* var273 /* : String */;
+char* var274 /* : CString */;
+val* var275 /* : String */;
+val* var276 /* : nullable Int */;
+val* var277 /* : nullable Int */;
+val* var278 /* : nullable Bool */;
+val* var279 /* : nullable Bool */;
+val* var280 /* : String */;
+val* var281 /* : String */;
+long var282 /* : Int */;
+val* var283 /* : String */;
+val* var284 /* : String */;
+val* var286 /* : CallSite */;
+val* var287 /* : Location */;
+val* var_callsite /* var callsite: CallSite */;
+val* var288 /* : ToolContext */;
+val* var290 /* : ToolContext */;
+val* var292 /* : NativeArray[String] */;
+static val* varonce291;
+static val* varonce293;
+val* var294 /* : String */;
+char* var295 /* : CString */;
+val* var296 /* : String */;
+val* var297 /* : nullable Int */;
+val* var298 /* : nullable Int */;
+val* var299 /* : nullable Bool */;
+val* var300 /* : nullable Bool */;
+static val* varonce301;
+val* var302 /* : String */;
+char* var303 /* : CString */;
+val* var304 /* : String */;
+val* var305 /* : nullable Int */;
+val* var306 /* : nullable Int */;
+val* var307 /* : nullable Bool */;
+val* var308 /* : nullable Bool */;
+val* var309 /* : String */;
+val* var310 /* : String */;
+val* var311 /* : String */;
+short int var312 /* : Bool */;
+val* var314 /* : NativeArray[String] */;
+static val* varonce313;
+static val* varonce315;
+val* var316 /* : String */;
+char* var317 /* : CString */;
+val* var318 /* : String */;
+val* var319 /* : nullable Int */;
+val* var320 /* : nullable Int */;
+val* var321 /* : nullable Bool */;
+val* var322 /* : nullable Bool */;
+static val* varonce323;
+val* var324 /* : String */;
+char* var325 /* : CString */;
+val* var326 /* : String */;
+val* var327 /* : nullable Int */;
+val* var328 /* : nullable Int */;
+val* var329 /* : nullable Bool */;
+val* var330 /* : nullable Bool */;
+val* var331 /* : String */;
+val* var332 /* : String */;
 var_modelbuilder = p0;
 {
-{ /* Inline parser_nodes#ANode#parent (self) on <self:AMethPropdef> */
+{ /* Inline parser_nodes$ANode$parent (self) on <self:AMethPropdef> */
 var2 = self->attrs[COLOR_nitc__parser_nodes__ANode___parent].val; /* _parent on <self:AMethPropdef> */
 var = var2;
 RET_LABEL1:(void)0;
@@ -392,7 +470,7 @@ PRINT_ERROR(" (%s:%d)\n", FILE_nitc__auto_super_init, 59);
 fatal_exit(1);
 }
 {
-{ /* Inline modelize_class#AClassdef#mclassdef (var) on <var:nullable ANode(AClassdef)> */
+{ /* Inline modelize_class$AClassdef$mclassdef (var) on <var:nullable ANode(AClassdef)> */
 var6 = var->attrs[COLOR_nitc__modelize_class__AClassdef___mclassdef].val; /* _mclassdef on <var:nullable ANode(AClassdef)> */
 var4 = var6;
 RET_LABEL5:(void)0;
@@ -405,10 +483,10 @@ var8 = 1; /* is null */
 var8 = 0; /* arg is null but recv is not */
 }
 if (0) {
-{ /* Inline kernel#Object#== (var_mclassdef,((val*)NULL)) on <var_mclassdef:nullable MClassDef> */
+{ /* Inline kernel$Object$== (var_mclassdef,((val*)NULL)) on <var_mclassdef:nullable MClassDef> */
 var_other = ((val*)NULL);
 {
-{ /* Inline kernel#Object#is_same_instance (var_mclassdef,var_other) on <var_mclassdef:nullable MClassDef(MClassDef)> */
+{ /* Inline kernel$Object$is_same_instance (var_mclassdef,var_other) on <var_mclassdef:nullable MClassDef(MClassDef)> */
 var13 = var_mclassdef == var_other;
 var11 = var13;
 goto RET_LABEL12;
@@ -426,7 +504,7 @@ if (var8){
 var7 = var_;
 } else {
 {
-{ /* Inline model_base#MEntity#is_broken (var_mclassdef) on <var_mclassdef:nullable MClassDef(MClassDef)> */
+{ /* Inline model_base$MEntity$is_broken (var_mclassdef) on <var_mclassdef:nullable MClassDef(MClassDef)> */
 var16 = var_mclassdef->attrs[COLOR_nitc__model_base__MEntity___is_broken].s; /* _is_broken on <var_mclassdef:nullable MClassDef(MClassDef)> */
 var14 = var16;
 RET_LABEL15:(void)0;
@@ -439,7 +517,7 @@ goto RET_LABEL;
 } else {
 }
 {
-{ /* Inline modelize_property#APropdef#mpropdef (self) on <self:AMethPropdef> */
+{ /* Inline modelize_property$APropdef$mpropdef (self) on <self:AMethPropdef> */
 var19 = self->attrs[COLOR_nitc__modelize_property__APropdef___mpropdef].val; /* _mpropdef on <self:AMethPropdef> */
 var17 = var19;
 RET_LABEL18:(void)0;
@@ -452,10 +530,10 @@ var21 = 1; /* is null */
 var21 = 0; /* arg is null but recv is not */
 }
 if (0) {
-{ /* Inline kernel#Object#== (var_mpropdef,((val*)NULL)) on <var_mpropdef:nullable MMethodDef> */
+{ /* Inline kernel$Object$== (var_mpropdef,((val*)NULL)) on <var_mpropdef:nullable MMethodDef> */
 var_other = ((val*)NULL);
 {
-{ /* Inline kernel#Object#is_same_instance (var_mpropdef,var_other) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
+{ /* Inline kernel$Object$is_same_instance (var_mpropdef,var_other) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
 var26 = var_mpropdef == var_other;
 var24 = var26;
 goto RET_LABEL25;
@@ -473,7 +551,7 @@ if (var21){
 var20 = var_27;
 } else {
 {
-{ /* Inline model_base#MEntity#is_broken (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
+{ /* Inline model_base$MEntity$is_broken (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
 var30 = var_mpropdef->attrs[COLOR_nitc__model_base__MEntity___is_broken].s; /* _is_broken on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
 var28 = var30;
 RET_LABEL29:(void)0;
@@ -486,11 +564,14 @@ goto RET_LABEL;
 } else {
 }
 {
-{ /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
+{ /* Inline model$MPropDef$mclassdef (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
 var33 = var_mpropdef->attrs[COLOR_nitc__model__MPropDef___mclassdef].val; /* _mclassdef on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
 if (unlikely(var33 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 2227);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 2354);
 fatal_exit(1);
 }
 var31 = var33;
@@ -498,11 +579,14 @@ RET_LABEL32:(void)0;
 }
 }
 {
-{ /* Inline model#MClassDef#mmodule (var31) on <var31:MClassDef> */
+{ /* Inline model$MClassDef$mmodule (var31) on <var31:MClassDef> */
 var36 = var31->attrs[COLOR_nitc__model__MClassDef___mmodule].val; /* _mmodule on <var31:MClassDef> */
 if (unlikely(var36 == 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__model, 573);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 588);
 fatal_exit(1);
 }
 var34 = var36;
@@ -511,11 +595,14 @@ RET_LABEL35:(void)0;
 }
 var_mmodule = var34;
 {
-{ /* Inline model#MClassDef#bound_mtype (var_mclassdef) on <var_mclassdef:nullable MClassDef(MClassDef)> */
+{ /* Inline model$MClassDef$bound_mtype (var_mclassdef) on <var_mclassdef:nullable MClassDef(MClassDef)> */
 var39 = var_mclassdef->attrs[COLOR_nitc__model__MClassDef___bound_mtype].val; /* _bound_mtype on <var_mclassdef:nullable MClassDef(MClassDef)> */
 if (unlikely(var39 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 579);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 594);
 fatal_exit(1);
 }
 var37 = var39;
@@ -524,11 +611,14 @@ RET_LABEL38:(void)0;
 }
 var_anchor = var37;
 {
-{ /* Inline model#MClassDef#mclass (var_mclassdef) on <var_mclassdef:nullable MClassDef(MClassDef)> */
+{ /* Inline model$MClassDef$mclass (var_mclassdef) on <var_mclassdef:nullable MClassDef(MClassDef)> */
 var42 = var_mclassdef->attrs[COLOR_nitc__model__MClassDef___mclass].val; /* _mclass on <var_mclassdef:nullable MClassDef(MClassDef)> */
 if (unlikely(var42 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 576);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 591);
 fatal_exit(1);
 }
 var40 = var42;
@@ -536,11 +626,14 @@ RET_LABEL41:(void)0;
 }
 }
 {
-{ /* Inline model#MClass#mclass_type (var40) on <var40:MClass> */
+{ /* Inline model$MClass$mclass_type (var40) on <var40:MClass> */
 var45 = var40->attrs[COLOR_nitc__model__MClass___mclass_type].val; /* _mclass_type on <var40:MClass> */
 if (unlikely(var45 == 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, 507);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 520);
 fatal_exit(1);
 }
 var43 = var45;
@@ -552,89 +645,103 @@ if (likely(varonce!=NULL)) {
 var46 = varonce;
 } else {
 var47 = "nosuper";
-var48 = core__flat___NativeString___to_s_full(var47, 7l, 7l);
+var49 = (val*)(7l<<2|1);
+var50 = (val*)(7l<<2|1);
+var51 = (val*)((long)(0)<<2|3);
+var52 = (val*)((long)(0)<<2|3);
+var48 = core__flat___CString___to_s_unsafe(var47, var49, var50, var51, var52);
 var46 = var48;
 varonce = var46;
 }
 {
-var49 = nitc__annotation___Prod___get_single_annotation(self, var46, var_modelbuilder);
+var53 = nitc__annotation___Prod___get_single_annotation(self, var46, var_modelbuilder);
 }
-var_nosuper = var49;
+var_nosuper = var53;
 {
-{ /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
-var53 = var_mpropdef->attrs[COLOR_nitc__model__MPropDef___mproperty].val; /* _mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
-if (unlikely(var53 == NULL)) {
+{ /* Inline model$MPropDef$mproperty (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
+var57 = var_mpropdef->attrs[COLOR_nitc__model__MPropDef___mproperty].val; /* _mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
+if (unlikely(var57 == 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, 2230);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 2357);
 fatal_exit(1);
 }
-var51 = var53;
-RET_LABEL52:(void)0;
+var55 = var57;
+RET_LABEL56:(void)0;
 }
 }
 {
-{ /* Inline model#MMethod#is_init (var51) on <var51:MProperty(MMethod)> */
-var56 = var51->attrs[COLOR_nitc__model__MMethod___is_init].s; /* _is_init on <var51:MProperty(MMethod)> */
-var54 = var56;
-RET_LABEL55:(void)0;
+{ /* Inline model$MMethod$is_init (var55) on <var55:MProperty(MMethod)> */
+var60 = var55->attrs[COLOR_nitc__model__MMethod___is_init].s; /* _is_init on <var55:MProperty(MMethod)> */
+var58 = var60;
+RET_LABEL59:(void)0;
 }
 }
-var57 = !var54;
-var_58 = var57;
-if (var57){
-var50 = var_58;
+var61 = !var58;
+var_62 = var61;
+if (var61){
+var54 = var_62;
 } else {
 {
-{ /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
-var61 = var_mpropdef->attrs[COLOR_nitc__model__MPropDef___mproperty].val; /* _mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
-if (unlikely(var61 == NULL)) {
+{ /* Inline model$MPropDef$mproperty (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
+var65 = var_mpropdef->attrs[COLOR_nitc__model__MPropDef___mproperty].val; /* _mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
+if (unlikely(var65 == 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, 2230);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 2357);
 fatal_exit(1);
 }
-var59 = var61;
-RET_LABEL60:(void)0;
+var63 = var65;
+RET_LABEL64:(void)0;
 }
 }
 {
-{ /* Inline model#MMethod#is_new (var59) on <var59:MProperty(MMethod)> */
-var64 = var59->attrs[COLOR_nitc__model__MMethod___is_new].s; /* _is_new on <var59:MProperty(MMethod)> */
-var62 = var64;
-RET_LABEL63:(void)0;
+{ /* Inline model$MMethod$is_new (var63) on <var63:MProperty(MMethod)> */
+var68 = var63->attrs[COLOR_nitc__model__MMethod___is_new].s; /* _is_new on <var63:MProperty(MMethod)> */
+var66 = var68;
+RET_LABEL67:(void)0;
 }
 }
-var50 = var62;
+var54 = var66;
 }
-if (var50){
+if (var54){
 if (var_nosuper == NULL) {
-var65 = 0; /* is null */
+var69 = 0; /* is null */
 } else {
-var65 = 1; /* arg is null and recv is not */
+var69 = 1; /* arg is null and recv is not */
 }
 if (0) {
-{ /* Inline kernel#Object#!= (var_nosuper,((val*)NULL)) on <var_nosuper:nullable AAnnotation> */
-var_other68 = ((val*)NULL);
+{ /* Inline kernel$Object$!= (var_nosuper,((val*)NULL)) on <var_nosuper:nullable AAnnotation> */
+var_other72 = ((val*)NULL);
 {
-var69 = ((short int(*)(val* self, val* p0))(var_nosuper->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nosuper, var_other68); /* == on <var_nosuper:nullable AAnnotation(AAnnotation)>*/
+var73 = ((short int(*)(val* self, val* p0))(var_nosuper->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nosuper, var_other72); /* == on <var_nosuper:nullable AAnnotation(AAnnotation)>*/
 }
-var70 = !var69;
-var66 = var70;
-goto RET_LABEL67;
-RET_LABEL67:(void)0;
+var74 = !var73;
+var70 = var74;
+goto RET_LABEL71;
+RET_LABEL71:(void)0;
 }
-var65 = var66;
+var69 = var70;
 }
-if (var65){
-if (likely(varonce71!=NULL)) {
-var72 = varonce71;
+if (var69){
+if (likely(varonce75!=NULL)) {
+var76 = varonce75;
 } else {
-var73 = "Error: `nosuper` only allowed in `init`.";
-var74 = core__flat___NativeString___to_s_full(var73, 40l, 40l);
-var72 = var74;
-varonce71 = var72;
+var77 = "Error: `nosuper` only allowed in `init`.";
+var79 = (val*)(40l<<2|1);
+var80 = (val*)(40l<<2|1);
+var81 = (val*)((long)(0)<<2|3);
+var82 = (val*)((long)(0)<<2|3);
+var78 = core__flat___CString___to_s_unsafe(var77, var79, var80, var81, var82);
+var76 = var78;
+varonce75 = var76;
 }
 {
-nitc___nitc__ModelBuilder___error(var_modelbuilder, var_nosuper, var72); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
+nitc___nitc__ModelBuilder___error(var_modelbuilder, var_nosuper, var76); /* Direct call modelbuilder_base$ModelBuilder$error on <var_modelbuilder:ModelBuilder>*/
 }
 } else {
 }
@@ -642,98 +749,102 @@ goto RET_LABEL;
 } else {
 }
 {
-{ /* Inline parser_nodes#AMethPropdef#n_block (self) on <self:AMethPropdef> */
-var77 = self->attrs[COLOR_nitc__parser_nodes__AMethPropdef___n_block].val; /* _n_block on <self:AMethPropdef> */
-var75 = var77;
-RET_LABEL76:(void)0;
+{ /* Inline parser_nodes$AMethPropdef$n_block (self) on <self:AMethPropdef> */
+var85 = self->attrs[COLOR_nitc__parser_nodes__AMethPropdef___n_block].val; /* _n_block on <self:AMethPropdef> */
+var83 = var85;
+RET_LABEL84:(void)0;
 }
 }
-var_nblock = var75;
+var_nblock = var83;
 if (var_nblock == NULL) {
-var78 = 0; /* is null */
+var86 = 0; /* is null */
 } else {
-var78 = 1; /* arg is null and recv is not */
+var86 = 1; /* arg is null and recv is not */
 }
 if (0) {
-{ /* Inline kernel#Object#!= (var_nblock,((val*)NULL)) on <var_nblock:nullable AExpr> */
-var_other68 = ((val*)NULL);
+{ /* Inline kernel$Object$!= (var_nblock,((val*)NULL)) on <var_nblock:nullable AExpr> */
+var_other72 = ((val*)NULL);
 {
-var81 = ((short int(*)(val* self, val* p0))(var_nblock->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nblock, var_other68); /* == on <var_nblock:nullable AExpr(AExpr)>*/
+var89 = ((short int(*)(val* self, val* p0))(var_nblock->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nblock, var_other72); /* == on <var_nblock:nullable AExpr(AExpr)>*/
 }
-var82 = !var81;
-var79 = var82;
-goto RET_LABEL80;
-RET_LABEL80:(void)0;
+var90 = !var89;
+var87 = var90;
+goto RET_LABEL88;
+RET_LABEL88:(void)0;
 }
-var78 = var79;
+var86 = var87;
 }
-if (var78){
-var83 = NEW_nitc__auto_super_init__AutoSuperInitVisitor(&type_nitc__auto_super_init__AutoSuperInitVisitor);
+if (var86){
+var91 = NEW_nitc__auto_super_init__AutoSuperInitVisitor(&type_nitc__auto_super_init__AutoSuperInitVisitor);
 {
-{ /* Inline kernel#Object#init (var83) on <var83:AutoSuperInitVisitor> */
-RET_LABEL84:(void)0;
+{ /* Inline kernel$Object$init (var91) on <var91:AutoSuperInitVisitor> */
+RET_LABEL92:(void)0;
 }
 }
-var_v = var83;
+var_v = var91;
 {
-nitc___nitc__Visitor___enter_visit(var_v, var_nblock); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:AutoSuperInitVisitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var_nblock); /* Direct call parser_nodes$Visitor$enter_visit on <var_v:AutoSuperInitVisitor>*/
 }
 {
-{ /* Inline auto_super_init#AutoSuperInitVisitor#has_explicit_super_init (var_v) on <var_v:AutoSuperInitVisitor> */
-var87 = var_v->attrs[COLOR_nitc__auto_super_init__AutoSuperInitVisitor___has_explicit_super_init].val; /* _has_explicit_super_init on <var_v:AutoSuperInitVisitor> */
-var85 = var87;
-RET_LABEL86:(void)0;
+{ /* Inline auto_super_init$AutoSuperInitVisitor$has_explicit_super_init (var_v) on <var_v:AutoSuperInitVisitor> */
+var95 = var_v->attrs[COLOR_nitc__auto_super_init__AutoSuperInitVisitor___has_explicit_super_init].val; /* _has_explicit_super_init on <var_v:AutoSuperInitVisitor> */
+var93 = var95;
+RET_LABEL94:(void)0;
 }
 }
-var_anode = var85;
+var_anode = var93;
 if (var_anode == NULL) {
-var88 = 0; /* is null */
+var96 = 0; /* is null */
 } else {
-var88 = 1; /* arg is null and recv is not */
+var96 = 1; /* arg is null and recv is not */
 }
 if (0) {
-{ /* Inline kernel#Object#!= (var_anode,((val*)NULL)) on <var_anode:nullable ANode> */
-var_other68 = ((val*)NULL);
+{ /* Inline kernel$Object$!= (var_anode,((val*)NULL)) on <var_anode:nullable ANode> */
+var_other72 = ((val*)NULL);
 {
-var91 = ((short int(*)(val* self, val* p0))(var_anode->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_anode, var_other68); /* == on <var_anode:nullable ANode(ANode)>*/
+var99 = ((short int(*)(val* self, val* p0))(var_anode->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_anode, var_other72); /* == on <var_anode:nullable ANode(ANode)>*/
 }
-var92 = !var91;
-var89 = var92;
-goto RET_LABEL90;
-RET_LABEL90:(void)0;
+var100 = !var99;
+var97 = var100;
+goto RET_LABEL98;
+RET_LABEL98:(void)0;
 }
-var88 = var89;
+var96 = var97;
 }
-if (var88){
+if (var96){
 if (var_nosuper == NULL) {
-var93 = 0; /* is null */
+var101 = 0; /* is null */
 } else {
-var93 = 1; /* arg is null and recv is not */
+var101 = 1; /* arg is null and recv is not */
 }
 if (0) {
-{ /* Inline kernel#Object#!= (var_nosuper,((val*)NULL)) on <var_nosuper:nullable AAnnotation> */
-var_other68 = ((val*)NULL);
+{ /* Inline kernel$Object$!= (var_nosuper,((val*)NULL)) on <var_nosuper:nullable AAnnotation> */
+var_other72 = ((val*)NULL);
 {
-var96 = ((short int(*)(val* self, val* p0))(var_nosuper->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nosuper, var_other68); /* == on <var_nosuper:nullable AAnnotation(AAnnotation)>*/
+var104 = ((short int(*)(val* self, val* p0))(var_nosuper->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nosuper, var_other72); /* == on <var_nosuper:nullable AAnnotation(AAnnotation)>*/
 }
-var97 = !var96;
-var94 = var97;
-goto RET_LABEL95;
-RET_LABEL95:(void)0;
+var105 = !var104;
+var102 = var105;
+goto RET_LABEL103;
+RET_LABEL103:(void)0;
 }
-var93 = var94;
+var101 = var102;
 }
-if (var93){
-if (likely(varonce98!=NULL)) {
-var99 = varonce98;
+if (var101){
+if (likely(varonce106!=NULL)) {
+var107 = varonce106;
 } else {
-var100 = "Error: method is annotated `nosuper` but a super-constructor call is present.";
-var101 = core__flat___NativeString___to_s_full(var100, 77l, 77l);
-var99 = var101;
-varonce98 = var99;
+var108 = "Error: method is annotated `nosuper` but a super-constructor call is present.";
+var110 = (val*)(77l<<2|1);
+var111 = (val*)(77l<<2|1);
+var112 = (val*)((long)(0)<<2|3);
+var113 = (val*)((long)(0)<<2|3);
+var109 = core__flat___CString___to_s_unsafe(var108, var110, var111, var112, var113);
+var107 = var109;
+varonce106 = var107;
 }
 {
-nitc___nitc__ModelBuilder___error(var_modelbuilder, var_anode, var99); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
+nitc___nitc__ModelBuilder___error(var_modelbuilder, var_anode, var107); /* Direct call modelbuilder_base$ModelBuilder$error on <var_modelbuilder:ModelBuilder>*/
 }
 } else {
 }
@@ -741,571 +852,646 @@ goto RET_LABEL;
 } else {
 }
 {
-{ /* Inline auto_super_init#AutoSuperInitVisitor#is_broken (var_v) on <var_v:AutoSuperInitVisitor> */
-var104 = var_v->attrs[COLOR_nitc__auto_super_init__AutoSuperInitVisitor___is_broken].s; /* _is_broken on <var_v:AutoSuperInitVisitor> */
-var102 = var104;
-RET_LABEL103:(void)0;
+{ /* Inline auto_super_init$AutoSuperInitVisitor$is_broken (var_v) on <var_v:AutoSuperInitVisitor> */
+var116 = var_v->attrs[COLOR_nitc__auto_super_init__AutoSuperInitVisitor___is_broken].s; /* _is_broken on <var_v:AutoSuperInitVisitor> */
+var114 = var116;
+RET_LABEL115:(void)0;
 }
 }
-if (var102){
+if (var114){
 goto RET_LABEL;
 } else {
 }
 } else {
 }
 if (var_nosuper == NULL) {
-var105 = 0; /* is null */
+var117 = 0; /* is null */
 } else {
-var105 = 1; /* arg is null and recv is not */
+var117 = 1; /* arg is null and recv is not */
 }
 if (0) {
-{ /* Inline kernel#Object#!= (var_nosuper,((val*)NULL)) on <var_nosuper:nullable AAnnotation> */
-var_other68 = ((val*)NULL);
+{ /* Inline kernel$Object$!= (var_nosuper,((val*)NULL)) on <var_nosuper:nullable AAnnotation> */
+var_other72 = ((val*)NULL);
 {
-var108 = ((short int(*)(val* self, val* p0))(var_nosuper->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nosuper, var_other68); /* == on <var_nosuper:nullable AAnnotation(AAnnotation)>*/
+var120 = ((short int(*)(val* self, val* p0))(var_nosuper->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nosuper, var_other72); /* == on <var_nosuper:nullable AAnnotation(AAnnotation)>*/
 }
-var109 = !var108;
-var106 = var109;
-goto RET_LABEL107;
-RET_LABEL107:(void)0;
+var121 = !var120;
+var118 = var121;
+goto RET_LABEL119;
+RET_LABEL119:(void)0;
 }
-var105 = var106;
+var117 = var118;
 }
-if (var105){
+if (var117){
 goto RET_LABEL;
 } else {
 }
 {
-var110 = nitc___nitc__MPropDef___is_intro(var_mpropdef);
+var122 = nitc___nitc__MPropDef___is_intro(var_mpropdef);
 }
-var111 = !var110;
-if (var111){
+var123 = !var122;
+if (var123){
 {
-{ /* Inline auto_super_init#AMethPropdef#auto_super_call= (self,1) on <self:AMethPropdef> */
+{ /* Inline auto_super_init$AMethPropdef$auto_super_call= (self,1) on <self:AMethPropdef> */
 self->attrs[COLOR_nitc__auto_super_init__AMethPropdef___auto_super_call].s = 1; /* _auto_super_call on <self:AMethPropdef> */
-RET_LABEL112:(void)0;
+RET_LABEL124:(void)0;
 }
 }
 {
-{ /* Inline modelize_property#MPropDef#has_supercall= (var_mpropdef,1) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
+{ /* Inline modelize_property$MPropDef$has_supercall= (var_mpropdef,1) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
 var_mpropdef->attrs[COLOR_nitc__modelize_property__MPropDef___has_supercall].s = 1; /* _has_supercall on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
-RET_LABEL113:(void)0;
+RET_LABEL125:(void)0;
 }
 }
 {
-{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
-var116 = var_modelbuilder->attrs[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on <var_modelbuilder:ModelBuilder> */
-if (unlikely(var116 == NULL)) {
+{ /* Inline modelbuilder_base$ModelBuilder$toolcontext (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
+var128 = var_modelbuilder->attrs[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on <var_modelbuilder:ModelBuilder> */
+if (unlikely(var128 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base, 47);
 fatal_exit(1);
 }
-var114 = var116;
-RET_LABEL115:(void)0;
+var126 = var128;
+RET_LABEL127:(void)0;
 }
 }
-if (unlikely(varonce117==NULL)) {
-var118 = NEW_core__NativeArray(2l, &type_core__NativeArray__core__String);
-if (likely(varonce119!=NULL)) {
-var120 = varonce119;
+if (unlikely(varonce129==NULL)) {
+var130 = NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String);
+if (likely(varonce131!=NULL)) {
+var132 = varonce131;
 } else {
-var121 = "Auto-super call for ";
-var122 = core__flat___NativeString___to_s_full(var121, 20l, 20l);
-var120 = var122;
-varonce119 = var120;
-}
-((struct instance_core__NativeArray*)var118)->values[0]=var120;
+var133 = "Auto-super call for ";
+var135 = (val*)(20l<<2|1);
+var136 = (val*)(20l<<2|1);
+var137 = (val*)((long)(0)<<2|3);
+var138 = (val*)((long)(0)<<2|3);
+var134 = core__flat___CString___to_s_unsafe(var133, var135, var136, var137, var138);
+var132 = var134;
+varonce131 = var132;
+}
+((struct instance_core__NativeArray*)var130)->values[0]=var132;
 } else {
-var118 = varonce117;
-varonce117 = NULL;
+var130 = varonce129;
+varonce129 = NULL;
 }
 {
-var123 = ((val*(*)(val* self))(var_mpropdef->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_mpropdef); /* to_s on <var_mpropdef:nullable MMethodDef(MMethodDef)>*/
+var139 = ((val*(*)(val* self))(var_mpropdef->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_mpropdef); /* to_s on <var_mpropdef:nullable MMethodDef(MMethodDef)>*/
 }
-((struct instance_core__NativeArray*)var118)->values[1]=var123;
+((struct instance_core__NativeArray*)var130)->values[1]=var139;
 {
-var124 = ((val*(*)(val* self))(var118->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var118); /* native_to_s on <var118:NativeArray[String]>*/
+var140 = ((val*(*)(val* self))(var130->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var130); /* native_to_s on <var130:NativeArray[String]>*/
 }
-varonce117 = var118;
+varonce129 = var130;
 {
-nitc___nitc__ToolContext___info(var114, var124, 4l); /* Direct call toolcontext#ToolContext#info on <var114:ToolContext>*/
+nitc___nitc__ToolContext___info(var126, var140, 4l); /* Direct call toolcontext$ToolContext$info on <var126:ToolContext>*/
 }
 goto RET_LABEL;
 } else {
 }
-var125 = NEW_core__Array(&type_core__Array__nitc__CallSite);
+var141 = NEW_core__Array(&type_core__Array__nitc__CallSite);
 {
-core___core__Array___core__kernel__Object__init(var125); /* Direct call array#Array#init on <var125:Array[CallSite]>*/
+core___core__Array___core__kernel__Object__init(var141); /* Direct call array$Array$init on <var141:Array[CallSite]>*/
 }
-var_auto_super_inits = var125;
+var_auto_super_inits = var141;
 {
-{ /* Inline modelize_property#ModelBuilder#the_root_init_mmethod (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
-var128 = var_modelbuilder->attrs[COLOR_nitc__modelize_property__ModelBuilder___the_root_init_mmethod].val; /* _the_root_init_mmethod on <var_modelbuilder:ModelBuilder> */
-var126 = var128;
-RET_LABEL127:(void)0;
+{ /* Inline modelize_property$ModelBuilder$the_root_init_mmethod (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
+var144 = var_modelbuilder->attrs[COLOR_nitc__modelize_property__ModelBuilder___the_root_init_mmethod].val; /* _the_root_init_mmethod on <var_modelbuilder:ModelBuilder> */
+var142 = var144;
+RET_LABEL143:(void)0;
 }
 }
-var_the_root_init_mmethod = var126;
+var_the_root_init_mmethod = var142;
 if (var_the_root_init_mmethod == NULL) {
-var130 = 0; /* is null */
+var146 = 0; /* is null */
 } else {
-var130 = 1; /* arg is null and recv is not */
+var146 = 1; /* arg is null and recv is not */
 }
 if (0) {
-{ /* Inline kernel#Object#!= (var_the_root_init_mmethod,((val*)NULL)) on <var_the_root_init_mmethod:nullable MMethod> */
-var_other68 = ((val*)NULL);
+{ /* Inline kernel$Object$!= (var_the_root_init_mmethod,((val*)NULL)) on <var_the_root_init_mmethod:nullable MMethod> */
+var_other72 = ((val*)NULL);
 {
-var133 = ((short int(*)(val* self, val* p0))(var_the_root_init_mmethod->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_the_root_init_mmethod, var_other68); /* == on <var_the_root_init_mmethod:nullable MMethod(MMethod)>*/
+var149 = ((short int(*)(val* self, val* p0))(var_the_root_init_mmethod->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_the_root_init_mmethod, var_other72); /* == on <var_the_root_init_mmethod:nullable MMethod(MMethod)>*/
 }
-var134 = !var133;
-var131 = var134;
-goto RET_LABEL132;
-RET_LABEL132:(void)0;
+var150 = !var149;
+var147 = var150;
+goto RET_LABEL148;
+RET_LABEL148:(void)0;
 }
-var130 = var131;
+var146 = var147;
 }
-var_135 = var130;
-if (var130){
+var_151 = var146;
+if (var146){
 {
-var136 = core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_auto_super_inits);
+var152 = core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_auto_super_inits);
 }
-var129 = var136;
+var145 = var152;
 } else {
-var129 = var_135;
+var145 = var_151;
 }
-if (var129){
+if (var145){
 {
-var137 = nitc___nitc__MProperty___lookup_definitions(var_the_root_init_mmethod, var_mmodule, var_anchor);
+var153 = nitc___nitc__MProperty___lookup_definitions(var_the_root_init_mmethod, var_mmodule, var_anchor);
 }
-var_candidatedefs = var137;
+var_candidatedefs = var153;
 {
-var138 = core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_candidatedefs);
+var154 = core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_candidatedefs);
 }
-if (var138){
+if (var154){
 {
-{ /* Inline modelbuilder_base#ANode#is_broken= (self,1) on <self:AMethPropdef> */
+{ /* Inline modelbuilder_base$ANode$is_broken= (self,1) on <self:AMethPropdef> */
 self->attrs[COLOR_nitc__modelbuilder_base__ANode___is_broken].s = 1; /* _is_broken on <self:AMethPropdef> */
-RET_LABEL139:(void)0;
+RET_LABEL155:(void)0;
 }
 }
 goto RET_LABEL;
 } else {
 }
 {
-var140 = core___core__SequenceRead___Collection__first(var_candidatedefs);
+var156 = core___core__SequenceRead___Collection__first(var_candidatedefs);
 }
-var_candidatedef = var140;
+var_candidatedef = var156;
 {
-{ /* Inline array#AbstractArrayRead#length (var_candidatedefs) on <var_candidatedefs:Array[MMethodDef]> */
-var143 = var_candidatedefs->attrs[COLOR_core__array__AbstractArrayRead___length].l; /* _length on <var_candidatedefs:Array[MMethodDef]> */
-var141 = var143;
-RET_LABEL142:(void)0;
+{ /* Inline array$AbstractArrayRead$length (var_candidatedefs) on <var_candidatedefs:Array[MMethodDef]> */
+var159 = var_candidatedefs->attrs[COLOR_core__array__AbstractArrayRead___length].l; /* _length on <var_candidatedefs:Array[MMethodDef]> */
+var157 = var159;
+RET_LABEL158:(void)0;
 }
 }
 {
-{ /* Inline kernel#Int#> (var141,1l) on <var141:Int> */
+{ /* Inline kernel$Int$> (var157,1l) on <var157:Int> */
 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
 /* <1l:Int> isa OTHER */
-var146 = 1; /* easy <1l:Int> isa OTHER*/
-if (unlikely(!var146)) {
-var_class_name149 = type_core__Int.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name149);
-PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 730);
+var162 = 1; /* easy <1l:Int> isa OTHER*/
+if (unlikely(!var162)) {
+var_class_name165 = type_core__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name165);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 727);
 fatal_exit(1);
 }
-var150 = var141 > 1l;
-var144 = var150;
-goto RET_LABEL145;
-RET_LABEL145:(void)0;
+var166 = var157 > 1l;
+var160 = var166;
+goto RET_LABEL161;
+RET_LABEL161:(void)0;
 }
 }
-if (var144){
+if (var160){
 {
-var151 = core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_candidatedefs, 1l);
+var167 = core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_candidatedefs, 1l);
 }
-var_cd2 = var151;
-if (unlikely(varonce152==NULL)) {
-var153 = NEW_core__NativeArray(9l, &type_core__NativeArray__core__String);
-if (likely(varonce154!=NULL)) {
-var155 = varonce154;
-} else {
-var156 = "Error: cannot do an implicit constructor call to conflicting inherited inits `";
-var157 = core__flat___NativeString___to_s_full(var156, 78l, 78l);
-var155 = var157;
-varonce154 = var155;
-}
-((struct instance_core__NativeArray*)var153)->values[0]=var155;
-if (likely(varonce158!=NULL)) {
-var159 = varonce158;
-} else {
-var160 = "(";
-var161 = core__flat___NativeString___to_s_full(var160, 1l, 1l);
-var159 = var161;
-varonce158 = var159;
-}
-((struct instance_core__NativeArray*)var153)->values[2]=var159;
-if (likely(varonce162!=NULL)) {
-var163 = varonce162;
-} else {
-var164 = "`) and `";
-var165 = core__flat___NativeString___to_s_full(var164, 8l, 8l);
-var163 = var165;
-varonce162 = var163;
-}
-((struct instance_core__NativeArray*)var153)->values[4]=var163;
-if (likely(varonce166!=NULL)) {
-var167 = varonce166;
-} else {
-var168 = "(";
-var169 = core__flat___NativeString___to_s_full(var168, 1l, 1l);
-var167 = var169;
-varonce166 = var167;
-}
-((struct instance_core__NativeArray*)var153)->values[6]=var167;
+var_cd2 = var167;
+if (unlikely(varonce168==NULL)) {
+var169 = NEW_core__NativeArray((int)9l, &type_core__NativeArray__core__String);
 if (likely(varonce170!=NULL)) {
 var171 = varonce170;
 } else {
-var172 = "`). NOTE: Do not mix old-style and new-style init!";
-var173 = core__flat___NativeString___to_s_full(var172, 50l, 50l);
+var172 = "Error: cannot do an implicit constructor call to conflicting inherited inits `";
+var174 = (val*)(78l<<2|1);
+var175 = (val*)(78l<<2|1);
+var176 = (val*)((long)(0)<<2|3);
+var177 = (val*)((long)(0)<<2|3);
+var173 = core__flat___CString___to_s_unsafe(var172, var174, var175, var176, var177);
 var171 = var173;
 varonce170 = var171;
 }
-((struct instance_core__NativeArray*)var153)->values[8]=var171;
+((struct instance_core__NativeArray*)var169)->values[0]=var171;
+if (likely(varonce178!=NULL)) {
+var179 = varonce178;
 } else {
-var153 = varonce152;
-varonce152 = NULL;
+var180 = "(";
+var182 = (val*)(1l<<2|1);
+var183 = (val*)(1l<<2|1);
+var184 = (val*)((long)(0)<<2|3);
+var185 = (val*)((long)(0)<<2|3);
+var181 = core__flat___CString___to_s_unsafe(var180, var182, var183, var184, var185);
+var179 = var181;
+varonce178 = var179;
+}
+((struct instance_core__NativeArray*)var169)->values[2]=var179;
+if (likely(varonce186!=NULL)) {
+var187 = varonce186;
+} else {
+var188 = "`) and `";
+var190 = (val*)(8l<<2|1);
+var191 = (val*)(8l<<2|1);
+var192 = (val*)((long)(0)<<2|3);
+var193 = (val*)((long)(0)<<2|3);
+var189 = core__flat___CString___to_s_unsafe(var188, var190, var191, var192, var193);
+var187 = var189;
+varonce186 = var187;
+}
+((struct instance_core__NativeArray*)var169)->values[4]=var187;
+if (likely(varonce194!=NULL)) {
+var195 = varonce194;
+} else {
+var196 = "(";
+var198 = (val*)(1l<<2|1);
+var199 = (val*)(1l<<2|1);
+var200 = (val*)((long)(0)<<2|3);
+var201 = (val*)((long)(0)<<2|3);
+var197 = core__flat___CString___to_s_unsafe(var196, var198, var199, var200, var201);
+var195 = var197;
+varonce194 = var195;
+}
+((struct instance_core__NativeArray*)var169)->values[6]=var195;
+if (likely(varonce202!=NULL)) {
+var203 = varonce202;
+} else {
+var204 = "`). NOTE: Do not mix old-style and new-style init!";
+var206 = (val*)(50l<<2|1);
+var207 = (val*)(50l<<2|1);
+var208 = (val*)((long)(0)<<2|3);
+var209 = (val*)((long)(0)<<2|3);
+var205 = core__flat___CString___to_s_unsafe(var204, var206, var207, var208, var209);
+var203 = var205;
+varonce202 = var203;
+}
+((struct instance_core__NativeArray*)var169)->values[8]=var203;
+} else {
+var169 = varonce168;
+varonce168 = NULL;
 }
 {
-var174 = ((val*(*)(val* self))(var_cd2->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_cd2); /* to_s on <var_cd2:MMethodDef>*/
+var210 = ((val*(*)(val* self))(var_cd2->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_cd2); /* to_s on <var_cd2:MMethodDef>*/
 }
-((struct instance_core__NativeArray*)var153)->values[1]=var174;
+((struct instance_core__NativeArray*)var169)->values[1]=var210;
 {
-{ /* Inline model#MMethodDef#initializers (var_cd2) on <var_cd2:MMethodDef> */
-var177 = var_cd2->attrs[COLOR_nitc__model__MMethodDef___initializers].val; /* _initializers on <var_cd2:MMethodDef> */
-if (unlikely(var177 == NULL)) {
+{ /* Inline model$MMethodDef$initializers (var_cd2) on <var_cd2:MMethodDef> */
+var213 = var_cd2->attrs[COLOR_nitc__model__MMethodDef___initializers].val; /* _initializers on <var_cd2:MMethodDef> */
+if (unlikely(var213 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 2363);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 2492);
 fatal_exit(1);
 }
-var175 = var177;
-RET_LABEL176:(void)0;
+var211 = var213;
+RET_LABEL212:(void)0;
 }
 }
-if (likely(varonce178!=NULL)) {
-var179 = varonce178;
+if (likely(varonce214!=NULL)) {
+var215 = varonce214;
 } else {
-var180 = ", ";
-var181 = core__flat___NativeString___to_s_full(var180, 2l, 2l);
-var179 = var181;
-varonce178 = var179;
+var216 = ", ";
+var218 = (val*)(2l<<2|1);
+var219 = (val*)(2l<<2|1);
+var220 = (val*)((long)(0)<<2|3);
+var221 = (val*)((long)(0)<<2|3);
+var217 = core__flat___CString___to_s_unsafe(var216, var218, var219, var220, var221);
+var215 = var217;
+varonce214 = var215;
 }
 {
-var182 = core__abstract_text___Collection___join(var175, var179);
+var222 = core__abstract_text___Collection___join(var211, var215, ((val*)NULL));
 }
-((struct instance_core__NativeArray*)var153)->values[3]=var182;
+((struct instance_core__NativeArray*)var169)->values[3]=var222;
 {
-var183 = ((val*(*)(val* self))(var_candidatedef->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_candidatedef); /* to_s on <var_candidatedef:MMethodDef>*/
+var223 = ((val*(*)(val* self))(var_candidatedef->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_candidatedef); /* to_s on <var_candidatedef:MMethodDef>*/
 }
-((struct instance_core__NativeArray*)var153)->values[5]=var183;
+((struct instance_core__NativeArray*)var169)->values[5]=var223;
 {
-{ /* Inline model#MMethodDef#initializers (var_candidatedef) on <var_candidatedef:MMethodDef> */
-var186 = var_candidatedef->attrs[COLOR_nitc__model__MMethodDef___initializers].val; /* _initializers on <var_candidatedef:MMethodDef> */
-if (unlikely(var186 == NULL)) {
+{ /* Inline model$MMethodDef$initializers (var_candidatedef) on <var_candidatedef:MMethodDef> */
+var226 = var_candidatedef->attrs[COLOR_nitc__model__MMethodDef___initializers].val; /* _initializers on <var_candidatedef:MMethodDef> */
+if (unlikely(var226 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 2363);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 2492);
 fatal_exit(1);
 }
-var184 = var186;
-RET_LABEL185:(void)0;
+var224 = var226;
+RET_LABEL225:(void)0;
 }
 }
-if (likely(varonce187!=NULL)) {
-var188 = varonce187;
+if (likely(varonce227!=NULL)) {
+var228 = varonce227;
 } else {
-var189 = ", ";
-var190 = core__flat___NativeString___to_s_full(var189, 2l, 2l);
-var188 = var190;
-varonce187 = var188;
+var229 = ", ";
+var231 = (val*)(2l<<2|1);
+var232 = (val*)(2l<<2|1);
+var233 = (val*)((long)(0)<<2|3);
+var234 = (val*)((long)(0)<<2|3);
+var230 = core__flat___CString___to_s_unsafe(var229, var231, var232, var233, var234);
+var228 = var230;
+varonce227 = var228;
 }
 {
-var191 = core__abstract_text___Collection___join(var184, var188);
+var235 = core__abstract_text___Collection___join(var224, var228, ((val*)NULL));
 }
-((struct instance_core__NativeArray*)var153)->values[7]=var191;
+((struct instance_core__NativeArray*)var169)->values[7]=var235;
 {
-var192 = ((val*(*)(val* self))(var153->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var153); /* native_to_s on <var153:NativeArray[String]>*/
+var236 = ((val*(*)(val* self))(var169->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var169); /* native_to_s on <var169:NativeArray[String]>*/
 }
-varonce152 = var153;
+varonce168 = var169;
 {
-nitc___nitc__ModelBuilder___error(var_modelbuilder, self, var192); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
+nitc___nitc__ModelBuilder___error(var_modelbuilder, self, var236); /* Direct call modelbuilder_base$ModelBuilder$error on <var_modelbuilder:ModelBuilder>*/
 }
 {
-{ /* Inline modelbuilder_base#ANode#is_broken= (self,1) on <self:AMethPropdef> */
+{ /* Inline modelbuilder_base$ANode$is_broken= (self,1) on <self:AMethPropdef> */
 self->attrs[COLOR_nitc__modelbuilder_base__ANode___is_broken].s = 1; /* _is_broken on <self:AMethPropdef> */
-RET_LABEL193:(void)0;
+RET_LABEL237:(void)0;
 }
 }
 goto RET_LABEL;
 } else {
 }
 {
-{ /* Inline model#MMethodDef#new_msignature (var_candidatedef) on <var_candidatedef:MMethodDef> */
-var197 = var_candidatedef->attrs[COLOR_nitc__model__MMethodDef___new_msignature].val; /* _new_msignature on <var_candidatedef:MMethodDef> */
-var195 = var197;
-RET_LABEL196:(void)0;
+{ /* Inline model$MMethodDef$new_msignature (var_candidatedef) on <var_candidatedef:MMethodDef> */
+var241 = var_candidatedef->attrs[COLOR_nitc__model__MMethodDef___new_msignature].val; /* _new_msignature on <var_candidatedef:MMethodDef> */
+var239 = var241;
+RET_LABEL240:(void)0;
 }
 }
-if (var195!=NULL) {
-var194 = var195;
+if (var239!=NULL) {
+var238 = var239;
 } else {
 {
-{ /* Inline model#MMethodDef#msignature (var_candidatedef) on <var_candidatedef:MMethodDef> */
-var200 = var_candidatedef->attrs[COLOR_nitc__model__MMethodDef___msignature].val; /* _msignature on <var_candidatedef:MMethodDef> */
-var198 = var200;
-RET_LABEL199:(void)0;
+{ /* Inline model$MMethodDef$msignature (var_candidatedef) on <var_candidatedef:MMethodDef> */
+var244 = var_candidatedef->attrs[COLOR_nitc__model__MMethodDef___msignature].val; /* _msignature on <var_candidatedef:MMethodDef> */
+var242 = var244;
+RET_LABEL243:(void)0;
 }
 }
-var194 = var198;
+var238 = var242;
 }
-var_msignature = var194;
+var_msignature = var238;
 if (var_msignature == 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__auto_super_init, 125);
 fatal_exit(1);
 } else {
-var201 = nitc___nitc__MSignature___MType__resolve_for(var_msignature, var_recvtype, var_anchor, var_mmodule, 1);
+var245 = nitc___nitc__MSignature___MType__resolve_for(var_msignature, var_recvtype, var_anchor, var_mmodule, 1);
 }
-var_msignature = var201;
+var_msignature = var245;
 {
-var202 = nitc___nitc__MSignature___arity(var_msignature);
+var246 = nitc___nitc__MSignature___arity(var_msignature);
 }
 {
-{ /* Inline kernel#Int#> (var202,0l) on <var202:Int> */
+{ /* Inline kernel$Int$> (var246,0l) on <var246:Int> */
 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
 /* <0l:Int> isa OTHER */
-var205 = 1; /* easy <0l:Int> isa OTHER*/
-if (unlikely(!var205)) {
-var_class_name208 = type_core__Int.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name208);
-PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 730);
+var249 = 1; /* easy <0l:Int> isa OTHER*/
+if (unlikely(!var249)) {
+var_class_name252 = type_core__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name252);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 727);
 fatal_exit(1);
 }
-var209 = var202 > 0l;
-var203 = var209;
-goto RET_LABEL204;
-RET_LABEL204:(void)0;
+var253 = var246 > 0l;
+var247 = var253;
+goto RET_LABEL248;
+RET_LABEL248:(void)0;
 }
 }
-if (var203){
-if (unlikely(varonce210==NULL)) {
-var211 = NEW_core__NativeArray(6l, &type_core__NativeArray__core__String);
-if (likely(varonce212!=NULL)) {
-var213 = varonce212;
+if (var247){
+if (unlikely(varonce254==NULL)) {
+var255 = NEW_core__NativeArray((int)6l, &type_core__NativeArray__core__String);
+if (likely(varonce256!=NULL)) {
+var257 = varonce256;
 } else {
-var214 = "Error: cannot do an implicit constructor call to `";
-var215 = core__flat___NativeString___to_s_full(var214, 50l, 50l);
-var213 = var215;
-varonce212 = var213;
-}
-((struct instance_core__NativeArray*)var211)->values[0]=var213;
-if (likely(varonce216!=NULL)) {
-var217 = varonce216;
+var258 = "Error: cannot do an implicit constructor call to `";
+var260 = (val*)(50l<<2|1);
+var261 = (val*)(50l<<2|1);
+var262 = (val*)((long)(0)<<2|3);
+var263 = (val*)((long)(0)<<2|3);
+var259 = core__flat___CString___to_s_unsafe(var258, var260, var261, var262, var263);
+var257 = var259;
+varonce256 = var257;
+}
+((struct instance_core__NativeArray*)var255)->values[0]=var257;
+if (likely(varonce264!=NULL)) {
+var265 = varonce264;
 } else {
-var218 = "`. Expected at least `";
-var219 = core__flat___NativeString___to_s_full(var218, 22l, 22l);
-var217 = var219;
-varonce216 = var217;
-}
-((struct instance_core__NativeArray*)var211)->values[3]=var217;
-if (likely(varonce220!=NULL)) {
-var221 = varonce220;
+var266 = "`. Expected at least `";
+var268 = (val*)(22l<<2|1);
+var269 = (val*)(22l<<2|1);
+var270 = (val*)((long)(0)<<2|3);
+var271 = (val*)((long)(0)<<2|3);
+var267 = core__flat___CString___to_s_unsafe(var266, var268, var269, var270, var271);
+var265 = var267;
+varonce264 = var265;
+}
+((struct instance_core__NativeArray*)var255)->values[3]=var265;
+if (likely(varonce272!=NULL)) {
+var273 = varonce272;
 } else {
-var222 = "` arguments.";
-var223 = core__flat___NativeString___to_s_full(var222, 12l, 12l);
-var221 = var223;
-varonce220 = var221;
-}
-((struct instance_core__NativeArray*)var211)->values[5]=var221;
+var274 = "` arguments.";
+var276 = (val*)(12l<<2|1);
+var277 = (val*)(12l<<2|1);
+var278 = (val*)((long)(0)<<2|3);
+var279 = (val*)((long)(0)<<2|3);
+var275 = core__flat___CString___to_s_unsafe(var274, var276, var277, var278, var279);
+var273 = var275;
+varonce272 = var273;
+}
+((struct instance_core__NativeArray*)var255)->values[5]=var273;
 } else {
-var211 = varonce210;
-varonce210 = NULL;
+var255 = varonce254;
+varonce254 = NULL;
 }
 {
-var224 = ((val*(*)(val* self))(var_candidatedef->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_candidatedef); /* to_s on <var_candidatedef:MMethodDef>*/
+var280 = ((val*(*)(val* self))(var_candidatedef->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_candidatedef); /* to_s on <var_candidatedef:MMethodDef>*/
 }
-((struct instance_core__NativeArray*)var211)->values[1]=var224;
+((struct instance_core__NativeArray*)var255)->values[1]=var280;
 {
-var225 = ((val*(*)(val* self))(var_msignature->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_msignature); /* to_s on <var_msignature:nullable MSignature(MSignature)>*/
+var281 = ((val*(*)(val* self))(var_msignature->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_msignature); /* to_s on <var_msignature:nullable MSignature(MSignature)>*/
 }
-((struct instance_core__NativeArray*)var211)->values[2]=var225;
+((struct instance_core__NativeArray*)var255)->values[2]=var281;
 {
-var226 = nitc___nitc__MSignature___arity(var_msignature);
+var282 = nitc___nitc__MSignature___arity(var_msignature);
 }
-var227 = core__flat___Int___core__abstract_text__Object__to_s(var226);
-((struct instance_core__NativeArray*)var211)->values[4]=var227;
+var283 = core__flat___Int___core__abstract_text__Object__to_s(var282);
+((struct instance_core__NativeArray*)var255)->values[4]=var283;
 {
-var228 = ((val*(*)(val* self))(var211->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var211); /* native_to_s on <var211:NativeArray[String]>*/
+var284 = ((val*(*)(val* self))(var255->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var255); /* native_to_s on <var255:NativeArray[String]>*/
 }
-varonce210 = var211;
+varonce254 = var255;
 {
-nitc___nitc__ModelBuilder___error(var_modelbuilder, self, var228); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
+nitc___nitc__ModelBuilder___error(var_modelbuilder, self, var284); /* Direct call modelbuilder_base$ModelBuilder$error on <var_modelbuilder:ModelBuilder>*/
 }
 {
-{ /* Inline modelbuilder_base#ANode#is_broken= (self,1) on <self:AMethPropdef> */
+{ /* Inline modelbuilder_base$ANode$is_broken= (self,1) on <self:AMethPropdef> */
 self->attrs[COLOR_nitc__modelbuilder_base__ANode___is_broken].s = 1; /* _is_broken on <self:AMethPropdef> */
-RET_LABEL229:(void)0;
+RET_LABEL285:(void)0;
 }
 }
 goto RET_LABEL;
 } else {
 }
-var230 = NEW_nitc__CallSite(&type_nitc__CallSite);
+var286 = NEW_nitc__CallSite(&type_nitc__CallSite);
 {
-var231 = nitc___nitc__AMethPropdef___ANode__hot_location(self);
+var287 = nitc___nitc__AMethPropdef___ANode__hot_location(self);
 }
 {
-((void(*)(val* self, val* p0))(var230->class->vft[COLOR_nitc__typing__CallSite__location_61d]))(var230, var231); /* location= on <var230:CallSite>*/
+((void(*)(val* self, val* p0))(var286->class->vft[COLOR_nitc__typing__CallSite__location_61d]))(var286, var287); /* location= on <var286:CallSite>*/
 }
 {
-((void(*)(val* self, val* p0))(var230->class->vft[COLOR_nitc__typing__CallSite__recv_61d]))(var230, var_recvtype); /* recv= on <var230:CallSite>*/
+((void(*)(val* self, val* p0))(var286->class->vft[COLOR_nitc__typing__CallSite__recv_61d]))(var286, var_recvtype); /* recv= on <var286:CallSite>*/
 }
 {
-((void(*)(val* self, val* p0))(var230->class->vft[COLOR_nitc__typing__CallSite__mmodule_61d]))(var230, var_mmodule); /* mmodule= on <var230:CallSite>*/
+((void(*)(val* self, val* p0))(var286->class->vft[COLOR_nitc__typing__CallSite__mmodule_61d]))(var286, var_mmodule); /* mmodule= on <var286:CallSite>*/
 }
 {
-((void(*)(val* self, val* p0))(var230->class->vft[COLOR_nitc__typing__CallSite__anchor_61d]))(var230, var_anchor); /* anchor= on <var230:CallSite>*/
+((void(*)(val* self, val* p0))(var286->class->vft[COLOR_nitc__typing__CallSite__anchor_61d]))(var286, var_anchor); /* anchor= on <var286:CallSite>*/
 }
 {
-((void(*)(val* self, short int p0))(var230->class->vft[COLOR_nitc__typing__CallSite__recv_is_self_61d]))(var230, 1); /* recv_is_self= on <var230:CallSite>*/
+((void(*)(val* self, short int p0))(var286->class->vft[COLOR_nitc__typing__CallSite__recv_is_self_61d]))(var286, 1); /* recv_is_self= on <var286:CallSite>*/
 }
 {
-((void(*)(val* self, val* p0))(var230->class->vft[COLOR_nitc__typing__CallSite__mproperty_61d]))(var230, var_the_root_init_mmethod); /* mproperty= on <var230:CallSite>*/
+((void(*)(val* self, val* p0))(var286->class->vft[COLOR_nitc__typing__CallSite__mproperty_61d]))(var286, var_the_root_init_mmethod); /* mproperty= on <var286:CallSite>*/
 }
 {
-((void(*)(val* self, val* p0))(var230->class->vft[COLOR_nitc__typing__CallSite__mpropdef_61d]))(var230, var_candidatedef); /* mpropdef= on <var230:CallSite>*/
+((void(*)(val* self, val* p0))(var286->class->vft[COLOR_nitc__typing__CallSite__mpropdef_61d]))(var286, var_candidatedef); /* mpropdef= on <var286:CallSite>*/
 }
 {
-((void(*)(val* self, val* p0))(var230->class->vft[COLOR_nitc__typing__CallSite__msignature_61d]))(var230, var_msignature); /* msignature= on <var230:CallSite>*/
+((void(*)(val* self, val* p0))(var286->class->vft[COLOR_nitc__typing__CallSite__msignature_61d]))(var286, var_msignature); /* msignature= on <var286:CallSite>*/
 }
 {
-((void(*)(val* self, short int p0))(var230->class->vft[COLOR_nitc__typing__CallSite__erasure_cast_61d]))(var230, 0); /* erasure_cast= on <var230:CallSite>*/
+((void(*)(val* self, short int p0))(var286->class->vft[COLOR_nitc__typing__CallSite__erasure_cast_61d]))(var286, 0); /* erasure_cast= on <var286:CallSite>*/
 }
 {
-((void(*)(val* self))(var230->class->vft[COLOR_core__kernel__Object__init]))(var230); /* init on <var230:CallSite>*/
+((void(*)(val* self))(var286->class->vft[COLOR_core__kernel__Object__init]))(var286); /* init on <var286:CallSite>*/
 }
-var_callsite = var230;
+var_callsite = var286;
 {
-core___core__Array___core__abstract_collection__SimpleCollection__add(var_auto_super_inits, var_callsite); /* Direct call array#Array#add on <var_auto_super_inits:Array[CallSite]>*/
+core___core__Array___core__abstract_collection__SimpleCollection__add(var_auto_super_inits, var_callsite); /* Direct call array$Array$add on <var_auto_super_inits:Array[CallSite]>*/
 }
 {
-{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
-var234 = var_modelbuilder->attrs[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on <var_modelbuilder:ModelBuilder> */
-if (unlikely(var234 == NULL)) {
+{ /* Inline modelbuilder_base$ModelBuilder$toolcontext (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
+var290 = var_modelbuilder->attrs[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on <var_modelbuilder:ModelBuilder> */
+if (unlikely(var290 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base, 47);
 fatal_exit(1);
 }
-var232 = var234;
-RET_LABEL233:(void)0;
+var288 = var290;
+RET_LABEL289:(void)0;
 }
 }
-if (unlikely(varonce235==NULL)) {
-var236 = NEW_core__NativeArray(4l, &type_core__NativeArray__core__String);
-if (likely(varonce237!=NULL)) {
-var238 = varonce237;
+if (unlikely(varonce291==NULL)) {
+var292 = NEW_core__NativeArray((int)4l, &type_core__NativeArray__core__String);
+if (likely(varonce293!=NULL)) {
+var294 = varonce293;
 } else {
-var239 = "Auto-super init for ";
-var240 = core__flat___NativeString___to_s_full(var239, 20l, 20l);
-var238 = var240;
-varonce237 = var238;
-}
-((struct instance_core__NativeArray*)var236)->values[0]=var238;
-if (likely(varonce241!=NULL)) {
-var242 = varonce241;
+var295 = "Auto-super init for ";
+var297 = (val*)(20l<<2|1);
+var298 = (val*)(20l<<2|1);
+var299 = (val*)((long)(0)<<2|3);
+var300 = (val*)((long)(0)<<2|3);
+var296 = core__flat___CString___to_s_unsafe(var295, var297, var298, var299, var300);
+var294 = var296;
+varonce293 = var294;
+}
+((struct instance_core__NativeArray*)var292)->values[0]=var294;
+if (likely(varonce301!=NULL)) {
+var302 = varonce301;
 } else {
-var243 = " to ";
-var244 = core__flat___NativeString___to_s_full(var243, 4l, 4l);
-var242 = var244;
-varonce241 = var242;
-}
-((struct instance_core__NativeArray*)var236)->values[2]=var242;
+var303 = " to ";
+var305 = (val*)(4l<<2|1);
+var306 = (val*)(4l<<2|1);
+var307 = (val*)((long)(0)<<2|3);
+var308 = (val*)((long)(0)<<2|3);
+var304 = core__flat___CString___to_s_unsafe(var303, var305, var306, var307, var308);
+var302 = var304;
+varonce301 = var302;
+}
+((struct instance_core__NativeArray*)var292)->values[2]=var302;
 } else {
-var236 = varonce235;
-varonce235 = NULL;
+var292 = varonce291;
+varonce291 = NULL;
 }
 {
-var245 = ((val*(*)(val* self))(var_mpropdef->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_mpropdef); /* to_s on <var_mpropdef:nullable MMethodDef(MMethodDef)>*/
+var309 = ((val*(*)(val* self))(var_mpropdef->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_mpropdef); /* to_s on <var_mpropdef:nullable MMethodDef(MMethodDef)>*/
 }
-((struct instance_core__NativeArray*)var236)->values[1]=var245;
+((struct instance_core__NativeArray*)var292)->values[1]=var309;
 {
-var246 = nitc___nitc__MProperty___nitc__model_base__MEntity__full_name(var_the_root_init_mmethod);
+var310 = nitc___nitc__MProperty___nitc__model_base__MEntity__full_name(var_the_root_init_mmethod);
 }
-((struct instance_core__NativeArray*)var236)->values[3]=var246;
+((struct instance_core__NativeArray*)var292)->values[3]=var310;
 {
-var247 = ((val*(*)(val* self))(var236->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var236); /* native_to_s on <var236:NativeArray[String]>*/
+var311 = ((val*(*)(val* self))(var292->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var292); /* native_to_s on <var292:NativeArray[String]>*/
 }
-varonce235 = var236;
+varonce291 = var292;
 {
-nitc___nitc__ToolContext___info(var232, var247, 4l); /* Direct call toolcontext#ToolContext#info on <var232:ToolContext>*/
+nitc___nitc__ToolContext___info(var288, var311, 4l); /* Direct call toolcontext$ToolContext$info on <var288:ToolContext>*/
 }
 } else {
 }
 {
-var248 = core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_auto_super_inits);
+var312 = core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_auto_super_inits);
 }
-if (var248){
-if (unlikely(varonce249==NULL)) {
-var250 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String);
-if (likely(varonce251!=NULL)) {
-var252 = varonce251;
+if (var312){
+if (unlikely(varonce313==NULL)) {
+var314 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String);
+if (likely(varonce315!=NULL)) {
+var316 = varonce315;
 } else {
-var253 = "Error: no constructors to call implicitly in `";
-var254 = core__flat___NativeString___to_s_full(var253, 46l, 46l);
-var252 = var254;
-varonce251 = var252;
-}
-((struct instance_core__NativeArray*)var250)->values[0]=var252;
-if (likely(varonce255!=NULL)) {
-var256 = varonce255;
+var317 = "Error: no constructors to call implicitly in `";
+var319 = (val*)(46l<<2|1);
+var320 = (val*)(46l<<2|1);
+var321 = (val*)((long)(0)<<2|3);
+var322 = (val*)((long)(0)<<2|3);
+var318 = core__flat___CString___to_s_unsafe(var317, var319, var320, var321, var322);
+var316 = var318;
+varonce315 = var316;
+}
+((struct instance_core__NativeArray*)var314)->values[0]=var316;
+if (likely(varonce323!=NULL)) {
+var324 = varonce323;
 } else {
-var257 = "`. Call one explicitly.";
-var258 = core__flat___NativeString___to_s_full(var257, 23l, 23l);
-var256 = var258;
-varonce255 = var256;
-}
-((struct instance_core__NativeArray*)var250)->values[2]=var256;
+var325 = "`. Call one explicitly.";
+var327 = (val*)(23l<<2|1);
+var328 = (val*)(23l<<2|1);
+var329 = (val*)((long)(0)<<2|3);
+var330 = (val*)((long)(0)<<2|3);
+var326 = core__flat___CString___to_s_unsafe(var325, var327, var328, var329, var330);
+var324 = var326;
+varonce323 = var324;
+}
+((struct instance_core__NativeArray*)var314)->values[2]=var324;
 } else {
-var250 = varonce249;
-varonce249 = NULL;
+var314 = varonce313;
+varonce313 = NULL;
 }
 {
-var259 = ((val*(*)(val* self))(var_mpropdef->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_mpropdef); /* to_s on <var_mpropdef:nullable MMethodDef(MMethodDef)>*/
+var331 = ((val*(*)(val* self))(var_mpropdef->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_mpropdef); /* to_s on <var_mpropdef:nullable MMethodDef(MMethodDef)>*/
 }
-((struct instance_core__NativeArray*)var250)->values[1]=var259;
+((struct instance_core__NativeArray*)var314)->values[1]=var331;
 {
-var260 = ((val*(*)(val* self))(var250->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var250); /* native_to_s on <var250:NativeArray[String]>*/
+var332 = ((val*(*)(val* self))(var314->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var314); /* native_to_s on <var314:NativeArray[String]>*/
 }
-varonce249 = var250;
+varonce313 = var314;
 {
-nitc___nitc__ModelBuilder___error(var_modelbuilder, self, var260); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
+nitc___nitc__ModelBuilder___error(var_modelbuilder, self, var332); /* Direct call modelbuilder_base$ModelBuilder$error on <var_modelbuilder:ModelBuilder>*/
 }
 goto RET_LABEL;
 } else {
 }
 {
-{ /* Inline auto_super_init#AMethPropdef#auto_super_inits= (self,var_auto_super_inits) on <self:AMethPropdef> */
+{ /* Inline auto_super_init$AMethPropdef$auto_super_inits= (self,var_auto_super_inits) on <self:AMethPropdef> */
 self->attrs[COLOR_nitc__auto_super_init__AMethPropdef___auto_super_inits].val = var_auto_super_inits; /* _auto_super_inits on <self:AMethPropdef> */
-RET_LABEL261:(void)0;
+RET_LABEL333:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method auto_super_init#ANode#accept_auto_super_init for (self: ANode, AutoSuperInitVisitor) */
+/* method auto_super_init$ANode$accept_auto_super_init for (self: ANode, AutoSuperInitVisitor) */
 void nitc__auto_super_init___ANode___accept_auto_super_init(val* self, val* p0) {
 val* var_v /* var v: AutoSuperInitVisitor */;
 var_v = p0;
 RET_LABEL:;
 }
-/* method auto_super_init#ASendExpr#accept_auto_super_init for (self: ASendExpr, AutoSuperInitVisitor) */
+/* method auto_super_init$ASendExpr$accept_auto_super_init for (self: ASendExpr, AutoSuperInitVisitor) */
 void nitc__auto_super_init___ASendExpr___ANode__accept_auto_super_init(val* self, val* p0) {
 val* var_v /* var v: AutoSuperInitVisitor */;
 val* var /* : nullable CallSite */;
@@ -1322,7 +1508,7 @@ short int var13 /* : Bool */;
 short int var15 /* : Bool */;
 var_v = p0;
 {
-{ /* Inline typing#ASendExpr#callsite (self) on <self:ASendExpr> */
+{ /* Inline typing$ASendExpr$callsite (self) on <self:ASendExpr> */
 var2 = self->attrs[COLOR_nitc__typing__ASendExpr___callsite].val; /* _callsite on <self:ASendExpr> */
 var = var2;
 RET_LABEL1:(void)0;
@@ -1335,10 +1521,10 @@ var3 = 1; /* is null */
 var3 = 0; /* arg is null but recv is not */
 }
 if (0) {
-{ /* Inline kernel#Object#== (var_callsite,((val*)NULL)) on <var_callsite:nullable CallSite> */
+{ /* 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)> */
+{ /* Inline kernel$Object$is_same_instance (var_callsite,var_other) on <var_callsite:nullable CallSite(CallSite)> */
 var8 = var_callsite == var_other;
 var6 = var8;
 goto RET_LABEL7;
@@ -1353,7 +1539,7 @@ var3 = var4;
 }
 if (var3){
 {
-{ /* Inline auto_super_init#AutoSuperInitVisitor#is_broken= (var_v,1) on <var_v:AutoSuperInitVisitor> */
+{ /* Inline auto_super_init$AutoSuperInitVisitor$is_broken= (var_v,1) on <var_v:AutoSuperInitVisitor> */
 var_v->attrs[COLOR_nitc__auto_super_init__AutoSuperInitVisitor___is_broken].s = 1; /* _is_broken on <var_v:AutoSuperInitVisitor> */
 RET_LABEL9:(void)0;
 }
@@ -1362,11 +1548,14 @@ goto RET_LABEL;
 } else {
 }
 {
-{ /* Inline typing#CallSite#mproperty (var_callsite) on <var_callsite:nullable CallSite(CallSite)> */
+{ /* Inline typing$CallSite$mproperty (var_callsite) on <var_callsite:nullable CallSite(CallSite)> */
 var12 = var_callsite->attrs[COLOR_nitc__typing__CallSite___mproperty].val; /* _mproperty on <var_callsite:nullable CallSite(CallSite)> */
 if (unlikely(var12 == 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, 653);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 656);
 fatal_exit(1);
 }
 var10 = var12;
@@ -1374,7 +1563,7 @@ RET_LABEL11:(void)0;
 }
 }
 {
-{ /* Inline model#MMethod#is_init (var10) on <var10:MMethod> */
+{ /* Inline model$MMethod$is_init (var10) on <var10:MMethod> */
 var15 = var10->attrs[COLOR_nitc__model__MMethod___is_init].s; /* _is_init on <var10:MMethod> */
 var13 = var15;
 RET_LABEL14:(void)0;
@@ -1382,7 +1571,7 @@ RET_LABEL14:(void)0;
 }
 if (var13){
 {
-{ /* Inline auto_super_init#AutoSuperInitVisitor#has_explicit_super_init= (var_v,self) on <var_v:AutoSuperInitVisitor> */
+{ /* Inline auto_super_init$AutoSuperInitVisitor$has_explicit_super_init= (var_v,self) on <var_v:AutoSuperInitVisitor> */
 var_v->attrs[COLOR_nitc__auto_super_init__AutoSuperInitVisitor___has_explicit_super_init].val = self; /* _has_explicit_super_init on <var_v:AutoSuperInitVisitor> */
 RET_LABEL16:(void)0;
 }
@@ -1391,12 +1580,12 @@ RET_LABEL16:(void)0;
 }
 RET_LABEL:;
 }
-/* method auto_super_init#ASuperExpr#accept_auto_super_init for (self: ASuperExpr, AutoSuperInitVisitor) */
+/* method auto_super_init$ASuperExpr$accept_auto_super_init for (self: ASuperExpr, AutoSuperInitVisitor) */
 void nitc__auto_super_init___ASuperExpr___ANode__accept_auto_super_init(val* self, val* p0) {
 val* var_v /* var v: AutoSuperInitVisitor */;
 var_v = p0;
 {
-{ /* Inline auto_super_init#AutoSuperInitVisitor#has_explicit_super_init= (var_v,self) on <var_v:AutoSuperInitVisitor> */
+{ /* Inline auto_super_init$AutoSuperInitVisitor$has_explicit_super_init= (var_v,self) on <var_v:AutoSuperInitVisitor> */
 var_v->attrs[COLOR_nitc__auto_super_init__AutoSuperInitVisitor___has_explicit_super_init].val = self; /* _has_explicit_super_init on <var_v:AutoSuperInitVisitor> */
 RET_LABEL1:(void)0;
 }