+/* method modelize_property$AAttrPropdef$build_property for (self: AAttrPropdef, ModelBuilder, MClassDef) */
+void nitc__modelize_property___AAttrPropdef___APropdef__build_property(val* self, val* p0, val* p1) {
+val* var_modelbuilder /* var modelbuilder: ModelBuilder */;
+val* var_mclassdef /* var mclassdef: MClassDef */;
+val* var /* : MClass */;
+val* var2 /* : MClass */;
+val* var_mclass /* var mclass: MClass */;
+val* var3 /* : TId */;
+val* var5 /* : TId */;
+val* var_nid2 /* var nid2: TId */;
+val* var6 /* : String */;
+val* var_name /* var name: String */;
+static val* varonce;
+val* var7 /* : String */;
+char* var8 /* : CString */;
+val* var9 /* : String */;
+val* var10 /* : nullable Int */;
+val* var11 /* : nullable Int */;
+val* var12 /* : nullable Bool */;
+val* var13 /* : nullable Bool */;
+val* var14 /* : nullable AAnnotation */;
+val* var_atabstract /* var atabstract: nullable AAnnotation */;
+short int var15 /* : Bool */;
+short int var16 /* : Bool */;
+val* var_other /* var other: nullable Object */;
+short int var18 /* : Bool */;
+short int var20 /* : Bool */;
+val* var21 /* : MClassKind */;
+val* var23 /* : MClassKind */;
+short int var24 /* : Bool */;
+short int var26 /* : Bool */;
+short int var27 /* : Bool */;
+val* var29 /* : NativeArray[String] */;
+static val* varonce28;
+static val* varonce30;
+val* var31 /* : String */;
+char* var32 /* : CString */;
+val* var33 /* : String */;
+val* var34 /* : nullable Int */;
+val* var35 /* : nullable Int */;
+val* var36 /* : nullable Bool */;
+val* var37 /* : nullable Bool */;
+static val* varonce38;
+val* var39 /* : String */;
+char* var40 /* : CString */;
+val* var41 /* : String */;
+val* var42 /* : nullable Int */;
+val* var43 /* : nullable Int */;
+val* var44 /* : nullable Bool */;
+val* var45 /* : nullable Bool */;
+static val* varonce46;
+val* var47 /* : String */;
+char* var48 /* : CString */;
+val* var49 /* : String */;
+val* var50 /* : nullable Int */;
+val* var51 /* : nullable Int */;
+val* var52 /* : nullable Bool */;
+val* var53 /* : nullable Bool */;
+static val* varonce54;
+val* var55 /* : String */;
+char* var56 /* : CString */;
+val* var57 /* : String */;
+val* var58 /* : nullable Int */;
+val* var59 /* : nullable Int */;
+val* var60 /* : nullable Bool */;
+val* var61 /* : nullable Bool */;
+val* var62 /* : MClassKind */;
+val* var64 /* : MClassKind */;
+val* var65 /* : String */;
+val* var66 /* : String */;
+val* var67 /* : String */;
+val* var68 /* : MAttribute */;
+static val* varonce69;
+val* var70 /* : String */;
+char* var71 /* : CString */;
+val* var72 /* : String */;
+val* var73 /* : nullable Int */;
+val* var74 /* : nullable Int */;
+val* var75 /* : nullable Bool */;
+val* var76 /* : nullable Bool */;
+val* var77 /* : Text */;
+val* var78 /* : Location */;
+val* var80 /* : Location */;
+val* var81 /* : Sys */;
+val* var82 /* : MVisibility */;
+val* var_mprop /* var mprop: MAttribute */;
+val* var83 /* : MAttributeDef */;
+val* var84 /* : Location */;
+val* var86 /* : Location */;
+val* var_mpropdef /* var mpropdef: MAttributeDef */;
+short int var87 /* : Bool */;
+int cltype;
+int idtype;
+const struct type* type_struct;
+const char* var_class_name;
+short int var89 /* : Bool */;
+int cltype90;
+int idtype91;
+const struct type* type_struct92;
+const char* var_class_name93;
+val* var94 /* : HashMap[MPropDef, APropdef] */;
+val* var96 /* : HashMap[MPropDef, APropdef] */;
+val* var_readname /* var readname: String */;
+val* var97 /* : nullable MProperty */;
+short int var98 /* : Bool */;
+int cltype99;
+int idtype100;
+const char* var_class_name101;
+val* var_mreadprop /* var mreadprop: nullable MMethod */;
+short int var102 /* : Bool */;
+short int var103 /* : Bool */;
+short int var105 /* : Bool */;
+short int var107 /* : Bool */;
+val* var108 /* : nullable AVisibility */;
+val* var110 /* : nullable AVisibility */;
+val* var111 /* : MVisibility */;
+val* var_mvisibility /* var mvisibility: MVisibility */;
+val* var112 /* : MMethod */;
+val* var113 /* : Location */;
+val* var115 /* : Location */;
+val* var116 /* : nullable TKwredef */;
+val* var118 /* : nullable TKwredef */;
+short int var119 /* : Bool */;
+short int var120 /* : Bool */;
+short int var122 /* : Bool */;
+short int var124 /* : Bool */;
+val* var125 /* : nullable TKwredef */;
+val* var127 /* : nullable TKwredef */;
+short int var128 /* : Bool */;
+short int var129 /* : Bool */;
+val* var130 /* : nullable AVisibility */;
+val* var132 /* : nullable AVisibility */;
+val* var133 /* : Map[MProperty, APropdef] */;
+val* var135 /* : Map[MProperty, APropdef] */;
+val* var136 /* : MMethodDef */;
+val* var137 /* : Location */;
+val* var139 /* : Location */;
+val* var_mreadpropdef /* var mreadpropdef: MMethodDef */;
+val* var141 /* : HashMap[MPropDef, APropdef] */;
+val* var143 /* : HashMap[MPropDef, APropdef] */;
+val* var144 /* : nullable MPropDef */;
+val* var146 /* : nullable MPropDef */;
+short int var147 /* : Bool */;
+short int var148 /* : Bool */;
+val* var_other150 /* var other: nullable Object */;
+short int var151 /* : Bool */;
+short int var152 /* : Bool */;
+val* var153 /* : nullable MPropDef */;
+val* var155 /* : nullable MPropDef */;
+val* var156 /* : nullable MDoc */;
+val* var158 /* : nullable MDoc */;
+short int var160 /* : Bool */;
+short int var161 /* : Bool */;
+short int var163 /* : Bool */;
+short int var164 /* : Bool */;
+short int var166 /* : Bool */;
+val* var167 /* : nullable AExpr */;
+val* var169 /* : nullable AExpr */;
+short int var170 /* : Bool */;
+short int var171 /* : Bool */;
+short int var173 /* : Bool */;
+short int var174 /* : Bool */;
+short int var_ /* var : Bool */;
+val* var175 /* : nullable AExpr */;
+val* var177 /* : nullable AExpr */;
+short int var178 /* : Bool */;
+short int var179 /* : Bool */;
+short int var181 /* : Bool */;
+short int var182 /* : Bool */;
+short int var184 /* : Bool */;
+short int var185 /* : Bool */;
+short int var186 /* : Bool */;
+short int var188 /* : Bool */;
+short int var189 /* : Bool */;
+short int var_190 /* var : Bool */;
+short int var191 /* : Bool */;
+short int var193 /* : 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 /* : nullable AAnnotation */;
+val* var_atnoinit /* var atnoinit: nullable AAnnotation */;
+short int var211 /* : Bool */;
+short int var212 /* : Bool */;
+short int var214 /* : Bool */;
+short int var216 /* : Bool */;
+static val* varonce217;
+val* var218 /* : String */;
+char* var219 /* : CString */;
+val* var220 /* : String */;
+val* var221 /* : nullable Int */;
+val* var222 /* : nullable Int */;
+val* var223 /* : nullable Bool */;
+val* var224 /* : nullable Bool */;
+val* var225 /* : nullable AAnnotation */;
+short int var226 /* : Bool */;
+short int var227 /* : Bool */;
+short int var229 /* : Bool */;
+short int var230 /* : Bool */;
+short int var232 /* : Bool */;
+short int var234 /* : Bool */;
+static val* varonce235;
+val* var236 /* : String */;
+char* var237 /* : CString */;
+val* var238 /* : String */;
+val* var239 /* : nullable Int */;
+val* var240 /* : nullable Int */;
+val* var241 /* : nullable Bool */;
+val* var242 /* : nullable Bool */;
+short int var243 /* : Bool */;
+short int var244 /* : Bool */;
+short int var246 /* : Bool */;
+short int var247 /* : Bool */;
+static val* varonce248;
+val* var249 /* : String */;
+char* var250 /* : CString */;
+val* var251 /* : String */;
+val* var252 /* : nullable Int */;
+val* var253 /* : nullable Int */;
+val* var254 /* : nullable Bool */;
+val* var255 /* : nullable Bool */;
+static val* varonce256;
+val* var257 /* : String */;
+char* var258 /* : CString */;
+val* var259 /* : 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 */;
+val* var272 /* : nullable AAnnotation */;
+val* var_atlazy /* var atlazy: nullable AAnnotation */;
+static val* varonce273;
+val* var274 /* : String */;
+char* var275 /* : CString */;
+val* var276 /* : String */;
+val* var277 /* : nullable Int */;
+val* var278 /* : nullable Int */;
+val* var279 /* : nullable Bool */;
+val* var280 /* : nullable Bool */;
+val* var281 /* : nullable AAnnotation */;
+val* var_atlateinit /* var atlateinit: nullable AAnnotation */;
+short int var282 /* : Bool */;
+short int var283 /* : Bool */;
+short int var284 /* : Bool */;
+short int var286 /* : Bool */;
+short int var287 /* : Bool */;
+short int var_288 /* var : Bool */;
+short int var289 /* : Bool */;
+short int var290 /* : Bool */;
+short int var292 /* : Bool */;
+short int var293 /* : Bool */;
+short int var294 /* : Bool */;
+short int var295 /* : Bool */;
+short int var296 /* : Bool */;
+short int var298 /* : Bool */;
+short int var299 /* : Bool */;
+short int var_300 /* var : Bool */;
+short int var301 /* : Bool */;
+short int var302 /* : Bool */;
+short int var304 /* : Bool */;
+short int var305 /* : Bool */;
+static val* varonce306;
+val* var307 /* : String */;
+char* var308 /* : CString */;
+val* var309 /* : String */;
+val* var310 /* : nullable Int */;
+val* var311 /* : nullable Int */;
+val* var312 /* : nullable Bool */;
+val* var313 /* : nullable Bool */;
+short int var314 /* : Bool */;
+short int var316 /* : Bool */;
+short int var317 /* : Bool */;
+short int var318 /* : Bool */;
+short int var319 /* : Bool */;
+short int var321 /* : Bool */;
+short int var322 /* : 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 */;
+short int var331 /* : Bool */;
+short int var332 /* : Bool */;
+short int var334 /* : Bool */;
+short int var335 /* : Bool */;
+static val* varonce336;
+val* var337 /* : String */;
+char* var338 /* : CString */;
+val* var339 /* : String */;
+val* var340 /* : nullable Int */;
+val* var341 /* : nullable Int */;
+val* var342 /* : nullable Bool */;
+val* var343 /* : nullable Bool */;
+val* var346 /* : MAttribute */;
+static val* varonce347;
+val* var348 /* : String */;
+char* var349 /* : CString */;
+val* var350 /* : String */;
+val* var351 /* : nullable Int */;
+val* var352 /* : nullable Int */;
+val* var353 /* : nullable Bool */;
+val* var354 /* : nullable Bool */;
+val* var355 /* : Text */;
+val* var356 /* : Location */;
+val* var358 /* : Location */;
+val* var359 /* : Sys */;
+val* var360 /* : MVisibility */;
+val* var_mlazyprop /* var mlazyprop: MAttribute */;
+val* var362 /* : MAttributeDef */;
+val* var363 /* : Location */;
+val* var365 /* : Location */;
+val* var_mlazypropdef /* var mlazypropdef: MAttributeDef */;
+static val* varonce368;
+val* var369 /* : String */;
+char* var370 /* : CString */;
+val* var371 /* : String */;
+val* var372 /* : nullable Int */;
+val* var373 /* : nullable Int */;
+val* var374 /* : nullable Bool */;
+val* var375 /* : nullable Bool */;
+val* var376 /* : nullable AAnnotation */;
+val* var_atoptional /* var atoptional: nullable AAnnotation */;
+short int var377 /* : Bool */;
+short int var378 /* : Bool */;
+short int var380 /* : Bool */;
+short int var381 /* : Bool */;
+short int var382 /* : Bool */;
+short int var384 /* : Bool */;
+short int var385 /* : Bool */;
+static val* varonce386;
+val* var387 /* : String */;
+char* var388 /* : CString */;
+val* var389 /* : String */;
+val* var390 /* : nullable Int */;
+val* var391 /* : nullable Int */;
+val* var392 /* : nullable Bool */;
+val* var393 /* : nullable Bool */;
+static val* varonce395;
+val* var396 /* : String */;
+char* var397 /* : CString */;
+val* var398 /* : String */;
+val* var399 /* : nullable Int */;
+val* var400 /* : nullable Int */;
+val* var401 /* : nullable Bool */;
+val* var402 /* : nullable Bool */;
+val* var403 /* : nullable AAnnotation */;
+val* var_atreadonly /* var atreadonly: nullable AAnnotation */;
+short int var404 /* : Bool */;
+short int var405 /* : Bool */;
+short int var407 /* : Bool */;
+short int var408 /* : Bool */;
+short int var409 /* : Bool */;
+short int var411 /* : Bool */;
+short int var412 /* : Bool */;
+static val* varonce413;
+val* var414 /* : String */;
+char* var415 /* : CString */;
+val* var416 /* : String */;
+val* var417 /* : nullable Int */;
+val* var418 /* : nullable Int */;
+val* var419 /* : nullable Bool */;
+val* var420 /* : nullable Bool */;
+short int var421 /* : Bool */;
+short int var422 /* : Bool */;
+short int var423 /* : Bool */;
+short int var424 /* : Bool */;
+short int var_425 /* var : Bool */;
+short int var426 /* : Bool */;
+short int var428 /* : Bool */;
+short int var429 /* : Bool */;
+short int var_430 /* var : Bool */;
+short int var431 /* : Bool */;
+short int var433 /* : Bool */;
+short int var434 /* : Bool */;
+static val* varonce435;
+val* var436 /* : String */;
+char* var437 /* : CString */;
+val* var438 /* : String */;
+val* var439 /* : nullable Int */;
+val* var440 /* : nullable Int */;
+val* var441 /* : nullable Bool */;
+val* var442 /* : nullable Bool */;
+static val* varonce443;
+val* var444 /* : String */;
+char* var445 /* : CString */;
+val* var446 /* : String */;
+val* var447 /* : nullable Int */;
+val* var448 /* : nullable Int */;
+val* var449 /* : nullable Bool */;
+val* var450 /* : nullable Bool */;
+static val* varonce451;
+val* var452 /* : String */;
+char* var453 /* : CString */;
+val* var454 /* : String */;
+val* var455 /* : nullable Int */;
+val* var456 /* : nullable Int */;
+val* var457 /* : nullable Bool */;
+val* var458 /* : nullable Bool */;
+val* var459 /* : Text */;
+val* var_writename /* var writename: String */;
+static val* varonce460;
+val* var461 /* : String */;
+char* var462 /* : CString */;
+val* var463 /* : String */;
+val* var464 /* : nullable Int */;
+val* var465 /* : nullable Int */;
+val* var466 /* : nullable Bool */;
+val* var467 /* : nullable Bool */;
+val* var468 /* : nullable AAnnotation */;
+val* var_atwritable /* var atwritable: nullable AAnnotation */;
+short int var469 /* : Bool */;
+short int var470 /* : Bool */;
+short int var472 /* : Bool */;
+short int var473 /* : Bool */;
+val* var474 /* : ANodes[AExpr] */;
+val* var476 /* : ANodes[AExpr] */;
+short int var477 /* : Bool */;
+short int var478 /* : Bool */;
+val* var479 /* : String */;
+val* var480 /* : nullable String */;
+val* var481 /* : nullable MProperty */;
+short int var482 /* : Bool */;
+int cltype483;
+int idtype484;
+const char* var_class_name485;
+val* var_mwriteprop /* var mwriteprop: nullable MMethod */;
+val* var_nwkwredef /* var nwkwredef: nullable Token */;
+short int var486 /* : Bool */;
+short int var487 /* : Bool */;
+short int var489 /* : Bool */;
+short int var490 /* : Bool */;
+val* var491 /* : nullable TKwredef */;
+val* var493 /* : nullable TKwredef */;
+short int var494 /* : Bool */;
+short int var495 /* : Bool */;
+short int var497 /* : Bool */;
+short int var499 /* : Bool */;
+short int var500 /* : Bool */;
+short int var501 /* : Bool */;
+short int var503 /* : Bool */;
+short int var504 /* : Bool */;
+val* var505 /* : nullable AVisibility */;
+val* var507 /* : nullable AVisibility */;
+val* var508 /* : MVisibility */;
+val* var_mvisibility509 /* var mvisibility: nullable Object */;
+val* var510 /* : MVisibility */;
+val* var512 /* : MVisibility */;
+val* var513 /* : Sys */;
+val* var514 /* : MVisibility */;
+short int var515 /* : Bool */;
+val* var516 /* : Sys */;
+val* var517 /* : MVisibility */;
+val* var518 /* : MMethod */;
+val* var519 /* : Location */;
+val* var521 /* : Location */;
+short int var522 /* : Bool */;
+short int var523 /* : Bool */;
+val* var525 /* : nullable MDeprecationInfo */;
+val* var527 /* : nullable MDeprecationInfo */;
+short int var529 /* : Bool */;
+short int var531 /* : Bool */;
+val* var532 /* : nullable Token */;
+val* var533 /* : nullable TKwredef */;
+val* var535 /* : nullable TKwredef */;
+short int var536 /* : Bool */;
+short int var537 /* : Bool */;
+short int var538 /* : Bool */;
+short int var539 /* : Bool */;
+short int var541 /* : Bool */;
+short int var542 /* : Bool */;
+val* var543 /* : nullable AVisibility */;
+val* var545 /* : nullable AVisibility */;
+val* var546 /* : Map[MProperty, APropdef] */;
+val* var548 /* : Map[MProperty, APropdef] */;
+val* var549 /* : MMethodDef */;
+val* var550 /* : Location */;
+val* var552 /* : Location */;
+val* var_mwritepropdef /* var mwritepropdef: MMethodDef */;
+val* var554 /* : HashMap[MPropDef, APropdef] */;
+val* var556 /* : HashMap[MPropDef, APropdef] */;
+val* var557 /* : nullable MDoc */;
+val* var559 /* : nullable MDoc */;
+short int var561 /* : Bool */;
+short int var562 /* : Bool */;
+short int var564 /* : Bool */;
+short int var565 /* : Bool */;
+static val* varonce567;
+val* var568 /* : String */;
+char* var569 /* : CString */;
+val* var570 /* : String */;
+val* var571 /* : nullable Int */;
+val* var572 /* : nullable Int */;
+val* var573 /* : nullable Bool */;
+val* var574 /* : nullable Bool */;
+val* var575 /* : nullable AAnnotation */;
+val* var_atautoinit /* var atautoinit: nullable AAnnotation */;
+short int var576 /* : Bool */;
+short int var577 /* : Bool */;
+short int var579 /* : Bool */;
+short int var580 /* : Bool */;
+short int var581 /* : Bool */;
+short int var583 /* : Bool */;
+static val* varonce584;
+val* var585 /* : String */;
+char* var586 /* : CString */;
+val* var587 /* : String */;
+val* var588 /* : nullable Int */;
+val* var589 /* : nullable Int */;
+val* var590 /* : nullable Bool */;
+val* var591 /* : nullable Bool */;
+short int var592 /* : Bool */;
+short int var593 /* : Bool */;
+static val* varonce594;
+val* var595 /* : String */;
+char* var596 /* : CString */;
+val* var597 /* : String */;
+val* var598 /* : nullable Int */;
+val* var599 /* : nullable Int */;
+val* var600 /* : nullable Bool */;
+val* var601 /* : nullable Bool */;
+short int var602 /* : Bool */;
+short int var603 /* : Bool */;
+static val* varonce604;
+val* var605 /* : String */;
+char* var606 /* : CString */;
+val* var607 /* : String */;
+val* var608 /* : nullable Int */;
+val* var609 /* : nullable Int */;
+val* var610 /* : nullable Bool */;
+val* var611 /* : nullable Bool */;
+short int var612 /* : Bool */;
+short int var613 /* : Bool */;
+short int var615 /* : Bool */;
+short int var617 /* : Bool */;
+static val* varonce618;
+val* var619 /* : String */;
+char* var620 /* : CString */;
+val* var621 /* : String */;
+val* var622 /* : nullable Int */;
+val* var623 /* : nullable Int */;
+val* var624 /* : nullable Bool */;
+val* var625 /* : nullable Bool */;
+static val* varonce626;
+val* var627 /* : String */;
+char* var628 /* : CString */;
+val* var629 /* : String */;
+val* var630 /* : nullable Int */;
+val* var631 /* : nullable Int */;
+val* var632 /* : nullable Bool */;
+val* var633 /* : nullable Bool */;
+short int var634 /* : Bool */;
+short int var635 /* : Bool */;
+short int var637 /* : Bool */;
+short int var638 /* : Bool */;
+var_modelbuilder = p0;
+var_mclassdef = p1;
+{
+{ /* Inline model$MClassDef$mclass (var_mclassdef) on <var_mclassdef:MClassDef> */
+var2 = var_mclassdef->attrs[COLOR_nitc__model__MClassDef___mclass].val; /* _mclass on <var_mclassdef:MClassDef> */
+if (unlikely(var2 == 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, 591);
+fatal_exit(1);
+}
+var = var2;
+RET_LABEL1:(void)0;
+}
+}
+var_mclass = var;
+{
+{ /* Inline parser_nodes$AAttrPropdef$n_id2 (self) on <self:AAttrPropdef> */
+var5 = self->attrs[COLOR_nitc__parser_nodes__AAttrPropdef___n_id2].val; /* _n_id2 on <self:AAttrPropdef> */
+if (unlikely(var5 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id2");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1340);
+fatal_exit(1);
+}
+var3 = var5;
+RET_LABEL4:(void)0;
+}
+}
+var_nid2 = var3;
+{
+var6 = nitc__lexer_work___Token___text(var_nid2);
+}
+var_name = var6;
+if (likely(varonce!=NULL)) {
+var7 = varonce;
+} else {
+var8 = "abstract";
+var10 = (val*)(8l<<2|1);
+var11 = (val*)(8l<<2|1);
+var12 = (val*)((long)(0)<<2|3);
+var13 = (val*)((long)(0)<<2|3);
+var9 = core__flat___CString___to_s_unsafe(var8, var10, var11, var12, var13);
+var7 = var9;
+varonce = var7;
+}
+{
+var14 = nitc__annotation___Prod___get_single_annotation(self, var7, var_modelbuilder);
+}
+var_atabstract = var14;
+if (var_atabstract == NULL) {
+var15 = 1; /* is null */
+} else {
+var15 = 0; /* arg is null but recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$== (var_atabstract,((val*)NULL)) on <var_atabstract:nullable AAnnotation> */
+var_other = ((val*)NULL);
+{
+{ /* Inline kernel$Object$is_same_instance (var_atabstract,var_other) on <var_atabstract:nullable AAnnotation(AAnnotation)> */
+var20 = var_atabstract == var_other;
+var18 = var20;
+goto RET_LABEL19;
+RET_LABEL19:(void)0;
+}
+}
+var16 = var18;
+goto RET_LABEL17;
+RET_LABEL17:(void)0;
+}
+var15 = var16;
+}
+if (var15){
+{
+{ /* Inline model$MClass$kind (var_mclass) on <var_mclass:MClass> */
+var23 = var_mclass->attrs[COLOR_nitc__model__MClass___kind].val; /* _kind on <var_mclass:MClass> */
+if (unlikely(var23 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 472);
+fatal_exit(1);
+}
+var21 = var23;
+RET_LABEL22:(void)0;
+}
+}
+{
+{ /* Inline model$MClassKind$need_init (var21) on <var21:MClassKind> */
+var26 = var21->attrs[COLOR_nitc__model__MClassKind___need_init].s; /* _need_init on <var21:MClassKind> */
+var24 = var26;
+RET_LABEL25:(void)0;
+}
+}
+var27 = !var24;
+if (var27){
+if (unlikely(varonce28==NULL)) {
+var29 = NEW_core__NativeArray((int)7l, &type_core__NativeArray__core__String);
+if (likely(varonce30!=NULL)) {
+var31 = varonce30;
+} else {
+var32 = "Error: attempt to define attribute `";
+var34 = (val*)(36l<<2|1);
+var35 = (val*)(36l<<2|1);
+var36 = (val*)((long)(0)<<2|3);
+var37 = (val*)((long)(0)<<2|3);
+var33 = core__flat___CString___to_s_unsafe(var32, var34, var35, var36, var37);
+var31 = var33;
+varonce30 = var31;
+}
+((struct instance_core__NativeArray*)var29)->values[0]=var31;
+if (likely(varonce38!=NULL)) {
+var39 = varonce38;
+} else {
+var40 = "` in the ";
+var42 = (val*)(9l<<2|1);
+var43 = (val*)(9l<<2|1);
+var44 = (val*)((long)(0)<<2|3);
+var45 = (val*)((long)(0)<<2|3);
+var41 = core__flat___CString___to_s_unsafe(var40, var42, var43, var44, var45);
+var39 = var41;
+varonce38 = var39;
+}
+((struct instance_core__NativeArray*)var29)->values[2]=var39;
+if (likely(varonce46!=NULL)) {
+var47 = varonce46;
+} else {
+var48 = " `";
+var50 = (val*)(2l<<2|1);
+var51 = (val*)(2l<<2|1);
+var52 = (val*)((long)(0)<<2|3);
+var53 = (val*)((long)(0)<<2|3);
+var49 = core__flat___CString___to_s_unsafe(var48, var50, var51, var52, var53);
+var47 = var49;
+varonce46 = var47;
+}
+((struct instance_core__NativeArray*)var29)->values[4]=var47;
+if (likely(varonce54!=NULL)) {
+var55 = varonce54;
+} else {
+var56 = "`.";
+var58 = (val*)(2l<<2|1);
+var59 = (val*)(2l<<2|1);
+var60 = (val*)((long)(0)<<2|3);
+var61 = (val*)((long)(0)<<2|3);
+var57 = core__flat___CString___to_s_unsafe(var56, var58, var59, var60, var61);
+var55 = var57;
+varonce54 = var55;
+}
+((struct instance_core__NativeArray*)var29)->values[6]=var55;
+} else {
+var29 = varonce28;
+varonce28 = NULL;
+}
+((struct instance_core__NativeArray*)var29)->values[1]=var_name;
+{
+{ /* Inline model$MClass$kind (var_mclass) on <var_mclass:MClass> */
+var64 = var_mclass->attrs[COLOR_nitc__model__MClass___kind].val; /* _kind on <var_mclass:MClass> */
+if (unlikely(var64 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 472);
+fatal_exit(1);
+}
+var62 = var64;
+RET_LABEL63:(void)0;
+}
+}
+{
+var65 = ((val*(*)(val* self))(var62->class->vft[COLOR_core__abstract_text__Object__to_s]))(var62); /* to_s on <var62:MClassKind>*/
+}
+((struct instance_core__NativeArray*)var29)->values[3]=var65;
+{
+var66 = ((val*(*)(val* self))(var_mclass->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_mclass); /* to_s on <var_mclass:MClass>*/
+}
+((struct instance_core__NativeArray*)var29)->values[5]=var66;
+{
+var67 = ((val*(*)(val* self))(var29->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var29); /* native_to_s on <var29:NativeArray[String]>*/
+}
+varonce28 = var29;
+{
+nitc___nitc__ModelBuilder___error(var_modelbuilder, self, var67); /* Direct call modelbuilder_base$ModelBuilder$error on <var_modelbuilder:ModelBuilder>*/
+}
+} else {
+}
+var68 = NEW_nitc__MAttribute(&type_nitc__MAttribute);
+if (likely(varonce69!=NULL)) {
+var70 = varonce69;
+} else {
+var71 = "_";
+var73 = (val*)(1l<<2|1);
+var74 = (val*)(1l<<2|1);
+var75 = (val*)((long)(0)<<2|3);
+var76 = (val*)((long)(0)<<2|3);
+var72 = core__flat___CString___to_s_unsafe(var71, var73, var74, var75, var76);
+var70 = var72;
+varonce69 = var70;
+}
+{
+var77 = ((val*(*)(val* self, val* p0))(var70->class->vft[COLOR_core__abstract_text__Text___43d]))(var70, var_name); /* + on <var70:String>*/
+}
+{
+{ /* Inline parser_nodes$ANode$location (self) on <self:AAttrPropdef> */
+var80 = self->attrs[COLOR_nitc__parser_nodes__ANode___location].val; /* _location on <self:AAttrPropdef> */
+if (unlikely(var80 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 25);
+fatal_exit(1);
+}
+var78 = var80;
+RET_LABEL79:(void)0;
+}
+}
+var81 = glob_sys;
+{
+var82 = nitc__model_base___core__Sys___private_visibility(var81);
+}
+{
+((void(*)(val* self, val* p0))(var68->class->vft[COLOR_nitc__model__MProperty__intro_mclassdef_61d]))(var68, var_mclassdef); /* intro_mclassdef= on <var68:MAttribute>*/
+}
+{
+((void(*)(val* self, val* p0))(var68->class->vft[COLOR_nitc__model__MProperty__name_61d]))(var68, var77); /* name= on <var68:MAttribute>*/
+}
+{
+((void(*)(val* self, val* p0))(var68->class->vft[COLOR_nitc__model__MProperty__location_61d]))(var68, var78); /* location= on <var68:MAttribute>*/
+}
+{
+((void(*)(val* self, val* p0))(var68->class->vft[COLOR_nitc__model__MProperty__visibility_61d]))(var68, var82); /* visibility= on <var68:MAttribute>*/
+}
+{
+((void(*)(val* self))(var68->class->vft[COLOR_core__kernel__Object__init]))(var68); /* init on <var68:MAttribute>*/
+}
+var_mprop = var68;
+var83 = NEW_nitc__MAttributeDef(&type_nitc__MAttributeDef);
+{
+{ /* Inline parser_nodes$ANode$location (self) on <self:AAttrPropdef> */
+var86 = self->attrs[COLOR_nitc__parser_nodes__ANode___location].val; /* _location on <self:AAttrPropdef> */
+if (unlikely(var86 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 25);
+fatal_exit(1);
+}
+var84 = var86;
+RET_LABEL85:(void)0;
+}
+}
+{
+((void(*)(val* self, val* p0))(var83->class->vft[COLOR_nitc__model__MPropDef__mclassdef_61d]))(var83, var_mclassdef); /* mclassdef= on <var83:MAttributeDef>*/
+}
+{
+((void(*)(val* self, val* p0))(var83->class->vft[COLOR_nitc__model__MPropDef__mproperty_61d]))(var83, var_mprop); /* mproperty= on <var83:MAttributeDef>*/
+}
+{
+((void(*)(val* self, val* p0))(var83->class->vft[COLOR_nitc__model__MPropDef__location_61d]))(var83, var84); /* location= on <var83:MAttributeDef>*/
+}
+{
+((void(*)(val* self))(var83->class->vft[COLOR_core__kernel__Object__init]))(var83); /* init on <var83:MAttributeDef>*/
+}
+var_mpropdef = var83;
+/* <var_mpropdef:MAttributeDef> isa nullable MPROPDEF */
+type_struct = self->type->resolution_table->types[COLOR_nullable__nitc__modelize_property__APropdef__MPROPDEF];
+cltype = type_struct->color;
+idtype = type_struct->id;
+if(cltype >= var_mpropdef->type->table_size) {
+var87 = 0;
+} else {
+var87 = var_mpropdef->type->type_table[cltype] == idtype;
+}
+if (unlikely(!var87)) {
+var_class_name = var_mpropdef == NULL ? "null" : var_mpropdef->type->name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelize_property, 1190);
+fatal_exit(1);
+}
+{
+{ /* Inline modelize_property$APropdef$mpropdef= (self,var_mpropdef) on <self:AAttrPropdef> */
+/* Covariant cast for argument 0 (mpropdef) <var_mpropdef:MAttributeDef> isa nullable MPROPDEF */
+/* <var_mpropdef:MAttributeDef> isa nullable MPROPDEF */
+type_struct92 = self->type->resolution_table->types[COLOR_nullable__nitc__modelize_property__APropdef__MPROPDEF];
+cltype90 = type_struct92->color;
+idtype91 = type_struct92->id;
+if(cltype90 >= var_mpropdef->type->table_size) {
+var89 = 0;
+} else {
+var89 = var_mpropdef->type->type_table[cltype90] == idtype91;
+}
+if (unlikely(!var89)) {
+var_class_name93 = var_mpropdef == NULL ? "null" : var_mpropdef->type->name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name93);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelize_property, 557);
+fatal_exit(1);
+}
+self->attrs[COLOR_nitc__modelize_property__APropdef___mpropdef].val = var_mpropdef; /* _mpropdef on <self:AAttrPropdef> */
+RET_LABEL88:(void)0;
+}
+}
+{
+{ /* Inline modelize_property$ModelBuilder$mpropdef2npropdef (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
+var96 = var_modelbuilder->attrs[COLOR_nitc__modelize_property__ModelBuilder___mpropdef2npropdef].val; /* _mpropdef2npropdef on <var_modelbuilder:ModelBuilder> */
+if (unlikely(var96 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef2npropdef");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelize_property, 40);
+fatal_exit(1);
+}
+var94 = var96;
+RET_LABEL95:(void)0;
+}
+}
+{
+core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var94, var_mpropdef, self); /* Direct call hash_collection$HashMap$[]= on <var94:HashMap[MPropDef, APropdef]>*/
+}
+} else {
+}
+var_readname = var_name;
+{
+var97 = nitc___nitc__ModelBuilder___try_get_mproperty_by_name(var_modelbuilder, var_nid2, var_mclassdef, var_readname);
+}
+/* <var97:nullable MProperty> isa nullable MMethod */
+cltype99 = type_nullable__nitc__MMethod.color;
+idtype100 = type_nullable__nitc__MMethod.id;
+if(var97 == NULL) {
+var98 = 1;
+} else {
+if(cltype99 >= var97->type->table_size) {
+var98 = 0;
+} else {
+var98 = var97->type->type_table[cltype99] == idtype100;
+}
+}
+if (unlikely(!var98)) {
+var_class_name101 = var97 == NULL ? "null" : var97->type->name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MMethod", var_class_name101);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelize_property, 1195);
+fatal_exit(1);
+}
+var_mreadprop = var97;
+if (var_mreadprop == NULL) {
+var102 = 1; /* is null */
+} else {
+var102 = 0; /* arg is null but recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$== (var_mreadprop,((val*)NULL)) on <var_mreadprop:nullable MMethod> */
+var_other = ((val*)NULL);
+{
+{ /* Inline kernel$Object$is_same_instance (var_mreadprop,var_other) on <var_mreadprop:nullable MMethod(MMethod)> */
+var107 = var_mreadprop == var_other;
+var105 = var107;
+goto RET_LABEL106;
+RET_LABEL106:(void)0;
+}
+}
+var103 = var105;
+goto RET_LABEL104;
+RET_LABEL104:(void)0;
+}
+var102 = var103;
+}
+if (var102){
+{
+{ /* Inline parser_nodes$ADefinition$n_visibility (self) on <self:AAttrPropdef> */
+var110 = self->attrs[COLOR_nitc__parser_nodes__ADefinition___n_visibility].val; /* _n_visibility on <self:AAttrPropdef> */
+var108 = var110;
+RET_LABEL109:(void)0;
+}
+}
+{
+var111 = nitc__modelize_property___APropdef___new_property_visibility(self, var_modelbuilder, var_mclassdef, var108);
+}
+var_mvisibility = var111;
+var112 = NEW_nitc__MMethod(&type_nitc__MMethod);
+{
+{ /* Inline parser_nodes$ANode$location (self) on <self:AAttrPropdef> */
+var115 = self->attrs[COLOR_nitc__parser_nodes__ANode___location].val; /* _location on <self:AAttrPropdef> */
+if (unlikely(var115 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 25);
+fatal_exit(1);
+}
+var113 = var115;
+RET_LABEL114:(void)0;
+}
+}
+{
+((void(*)(val* self, val* p0))(var112->class->vft[COLOR_nitc__model__MProperty__intro_mclassdef_61d]))(var112, var_mclassdef); /* intro_mclassdef= on <var112:MMethod>*/
+}
+{
+((void(*)(val* self, val* p0))(var112->class->vft[COLOR_nitc__model__MProperty__name_61d]))(var112, var_readname); /* name= on <var112:MMethod>*/
+}
+{
+((void(*)(val* self, val* p0))(var112->class->vft[COLOR_nitc__model__MProperty__location_61d]))(var112, var113); /* location= on <var112:MMethod>*/
+}
+{
+((void(*)(val* self, val* p0))(var112->class->vft[COLOR_nitc__model__MProperty__visibility_61d]))(var112, var_mvisibility); /* visibility= on <var112:MMethod>*/
+}
+{
+((void(*)(val* self))(var112->class->vft[COLOR_core__kernel__Object__init]))(var112); /* init on <var112:MMethod>*/
+}
+var_mreadprop = var112;
+{
+{ /* Inline parser_nodes$ADefinition$n_kwredef (self) on <self:AAttrPropdef> */
+var118 = self->attrs[COLOR_nitc__parser_nodes__ADefinition___n_kwredef].val; /* _n_kwredef on <self:AAttrPropdef> */
+var116 = var118;
+RET_LABEL117:(void)0;
+}
+}
+{
+var119 = nitc__modelize_property___APropdef___check_redef_keyword(self, var_modelbuilder, var_mclassdef, var116, 0, var_mreadprop);
+}
+var120 = !var119;
+if (var120){
+{
+{ /* Inline model_base$MEntity$is_broken= (var_mreadprop,1) on <var_mreadprop:nullable MMethod(MMethod)> */
+var_mreadprop->attrs[COLOR_nitc__model_base__MEntity___is_broken].s = 1; /* _is_broken on <var_mreadprop:nullable MMethod(MMethod)> */
+RET_LABEL121:(void)0;
+}
+}
+goto RET_LABEL;
+} else {
+}
+} else {
+{
+{ /* Inline model_base$MEntity$is_broken (var_mreadprop) on <var_mreadprop:nullable MMethod(MMethod)> */
+var124 = var_mreadprop->attrs[COLOR_nitc__model_base__MEntity___is_broken].s; /* _is_broken on <var_mreadprop:nullable MMethod(MMethod)> */
+var122 = var124;
+RET_LABEL123:(void)0;
+}
+}
+if (var122){
+goto RET_LABEL;
+} else {
+}
+{
+{ /* Inline parser_nodes$ADefinition$n_kwredef (self) on <self:AAttrPropdef> */
+var127 = self->attrs[COLOR_nitc__parser_nodes__ADefinition___n_kwredef].val; /* _n_kwredef on <self:AAttrPropdef> */
+var125 = var127;
+RET_LABEL126:(void)0;
+}
+}
+{
+var128 = nitc__modelize_property___APropdef___check_redef_keyword(self, var_modelbuilder, var_mclassdef, var125, 1, var_mreadprop);
+}
+var129 = !var128;
+if (var129){
+goto RET_LABEL;
+} else {
+}
+{
+{ /* Inline parser_nodes$ADefinition$n_visibility (self) on <self:AAttrPropdef> */
+var132 = self->attrs[COLOR_nitc__parser_nodes__ADefinition___n_visibility].val; /* _n_visibility on <self:AAttrPropdef> */
+var130 = var132;
+RET_LABEL131:(void)0;
+}
+}
+{
+nitc__modelize_property___APropdef___check_redef_property_visibility(self, var_modelbuilder, var130, var_mreadprop); /* Direct call modelize_property$APropdef$check_redef_property_visibility on <self:AAttrPropdef>*/
+}
+}
+{
+{ /* Inline modelize_property$MClassDef$mprop2npropdef (var_mclassdef) on <var_mclassdef:MClassDef> */
+var135 = var_mclassdef->attrs[COLOR_nitc__modelize_property__MClassDef___mprop2npropdef].val; /* _mprop2npropdef on <var_mclassdef:MClassDef> */
+if (unlikely(var135 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mprop2npropdef");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelize_property, 504);
+fatal_exit(1);
+}
+var133 = var135;
+RET_LABEL134:(void)0;
+}
+}
+{
+((void(*)(val* self, val* p0, val* p1))((((long)var133&3)?class_info[((long)var133&3)]:var133->class)->vft[COLOR_core__abstract_collection__Map___91d_93d_61d]))(var133, var_mreadprop, self); /* []= on <var133:Map[MProperty, APropdef]>*/
+}
+var136 = NEW_nitc__MMethodDef(&type_nitc__MMethodDef);
+{
+{ /* Inline parser_nodes$ANode$location (self) on <self:AAttrPropdef> */
+var139 = self->attrs[COLOR_nitc__parser_nodes__ANode___location].val; /* _location on <self:AAttrPropdef> */
+if (unlikely(var139 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 25);
+fatal_exit(1);
+}
+var137 = var139;
+RET_LABEL138:(void)0;
+}
+}
+{
+((void(*)(val* self, val* p0))(var136->class->vft[COLOR_nitc__model__MPropDef__mclassdef_61d]))(var136, var_mclassdef); /* mclassdef= on <var136:MMethodDef>*/
+}
+{
+((void(*)(val* self, val* p0))(var136->class->vft[COLOR_nitc__model__MPropDef__mproperty_61d]))(var136, var_mreadprop); /* mproperty= on <var136:MMethodDef>*/
+}
+{
+((void(*)(val* self, val* p0))(var136->class->vft[COLOR_nitc__model__MPropDef__location_61d]))(var136, var137); /* location= on <var136:MMethodDef>*/
+}
+{
+((void(*)(val* self))(var136->class->vft[COLOR_core__kernel__Object__init]))(var136); /* init on <var136:MMethodDef>*/
+}
+var_mreadpropdef = var136;
+{
+{ /* Inline modelize_property$AAttrPropdef$mreadpropdef= (self,var_mreadpropdef) on <self:AAttrPropdef> */
+self->attrs[COLOR_nitc__modelize_property__AAttrPropdef___mreadpropdef].val = var_mreadpropdef; /* _mreadpropdef on <self:AAttrPropdef> */
+RET_LABEL140:(void)0;
+}
+}
+{
+{ /* Inline modelize_property$ModelBuilder$mpropdef2npropdef (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
+var143 = var_modelbuilder->attrs[COLOR_nitc__modelize_property__ModelBuilder___mpropdef2npropdef].val; /* _mpropdef2npropdef on <var_modelbuilder:ModelBuilder> */
+if (unlikely(var143 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef2npropdef");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelize_property, 40);
+fatal_exit(1);
+}
+var141 = var143;
+RET_LABEL142:(void)0;
+}
+}
+{
+core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var141, var_mreadpropdef, self); /* Direct call hash_collection$HashMap$[]= on <var141:HashMap[MPropDef, APropdef]>*/
+}
+{
+nitc__modelize_property___APropdef___set_doc(self, var_mreadpropdef, var_modelbuilder); /* Direct call modelize_property$APropdef$set_doc on <self:AAttrPropdef>*/
+}
+{
+{ /* Inline modelize_property$APropdef$mpropdef (self) on <self:AAttrPropdef> */
+var146 = self->attrs[COLOR_nitc__modelize_property__APropdef___mpropdef].val; /* _mpropdef on <self:AAttrPropdef> */
+var144 = var146;
+RET_LABEL145:(void)0;
+}
+}
+if (var144 == NULL) {
+var147 = 0; /* is null */
+} else {
+var147 = 1; /* arg is null and recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$!= (var144,((val*)NULL)) on <var144:nullable MPropDef(nullable MAttributeDef)> */
+var_other150 = ((val*)NULL);
+{
+var151 = ((short int(*)(val* self, val* p0))(var144->class->vft[COLOR_core__kernel__Object___61d_61d]))(var144, var_other150); /* == on <var144:nullable MPropDef(MAttributeDef)>*/
+}
+var152 = !var151;
+var148 = var152;
+goto RET_LABEL149;
+RET_LABEL149:(void)0;
+}
+var147 = var148;
+}
+if (var147){
+{
+{ /* Inline modelize_property$APropdef$mpropdef (self) on <self:AAttrPropdef> */
+var155 = self->attrs[COLOR_nitc__modelize_property__APropdef___mpropdef].val; /* _mpropdef on <self:AAttrPropdef> */
+var153 = var155;
+RET_LABEL154:(void)0;
+}
+}
+{
+{ /* Inline mdoc$MEntity$mdoc (var_mreadpropdef) on <var_mreadpropdef:MMethodDef> */
+var158 = var_mreadpropdef->attrs[COLOR_nitc__mdoc__MEntity___mdoc].val; /* _mdoc on <var_mreadpropdef:MMethodDef> */
+var156 = var158;
+RET_LABEL157:(void)0;
+}
+}
+if (var153 == 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, 1214);
+fatal_exit(1);
+} else {
+{ /* Inline mdoc$MEntity$mdoc= (var153,var156) on <var153:nullable MPropDef(nullable MAttributeDef)> */
+if (unlikely(var153 == 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__mdoc, 37);
+fatal_exit(1);
+}
+var153->attrs[COLOR_nitc__mdoc__MEntity___mdoc].val = var156; /* _mdoc on <var153:nullable MPropDef(nullable MAttributeDef)> */
+RET_LABEL159:(void)0;
+}
+}
+} else {
+}
+if (var_atabstract == NULL) {
+var160 = 0; /* is null */
+} else {
+var160 = 1; /* arg is null and recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$!= (var_atabstract,((val*)NULL)) on <var_atabstract:nullable AAnnotation> */
+var_other150 = ((val*)NULL);
+{
+var163 = ((short int(*)(val* self, val* p0))(var_atabstract->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_atabstract, var_other150); /* == on <var_atabstract:nullable AAnnotation(AAnnotation)>*/
+}
+var164 = !var163;
+var161 = var164;
+goto RET_LABEL162;
+RET_LABEL162:(void)0;
+}
+var160 = var161;
+}
+if (var160){
+{
+{ /* Inline model$MMethodDef$is_abstract= (var_mreadpropdef,1) on <var_mreadpropdef:MMethodDef> */
+var_mreadpropdef->attrs[COLOR_nitc__model__MMethodDef___is_abstract].s = 1; /* _is_abstract on <var_mreadpropdef:MMethodDef> */
+RET_LABEL165:(void)0;
+}
+}
+} else {
+}
+{
+{ /* Inline parser_nodes$AAttrPropdef$n_expr (self) on <self:AAttrPropdef> */
+var169 = self->attrs[COLOR_nitc__parser_nodes__AAttrPropdef___n_expr].val; /* _n_expr on <self:AAttrPropdef> */
+var167 = var169;
+RET_LABEL168:(void)0;
+}
+}
+if (var167 == NULL) {
+var170 = 0; /* is null */
+} else {
+var170 = 1; /* arg is null and recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$!= (var167,((val*)NULL)) on <var167:nullable AExpr> */
+var_other150 = ((val*)NULL);
+{
+var173 = ((short int(*)(val* self, val* p0))(var167->class->vft[COLOR_core__kernel__Object___61d_61d]))(var167, var_other150); /* == on <var167:nullable AExpr(AExpr)>*/
+}
+var174 = !var173;
+var171 = var174;
+goto RET_LABEL172;
+RET_LABEL172:(void)0;
+}
+var170 = var171;
+}
+var_ = var170;
+if (var170){
+var166 = var_;
+} else {
+{
+{ /* Inline parser_nodes$AAttrPropdef$n_block (self) on <self:AAttrPropdef> */
+var177 = self->attrs[COLOR_nitc__parser_nodes__AAttrPropdef___n_block].val; /* _n_block on <self:AAttrPropdef> */
+var175 = var177;
+RET_LABEL176:(void)0;
+}
+}
+if (var175 == NULL) {
+var178 = 0; /* is null */
+} else {
+var178 = 1; /* arg is null and recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$!= (var175,((val*)NULL)) on <var175:nullable AExpr> */
+var_other150 = ((val*)NULL);
+{
+var181 = ((short int(*)(val* self, val* p0))(var175->class->vft[COLOR_core__kernel__Object___61d_61d]))(var175, var_other150); /* == on <var175:nullable AExpr(AExpr)>*/
+}
+var182 = !var181;
+var179 = var182;
+goto RET_LABEL180;
+RET_LABEL180:(void)0;
+}
+var178 = var179;
+}
+var166 = var178;
+}
+{
+{ /* Inline modelize_property$AAttrPropdef$has_value= (self,var166) on <self:AAttrPropdef> */
+self->attrs[COLOR_nitc__modelize_property__AAttrPropdef___has_value].s = var166; /* _has_value on <self:AAttrPropdef> */
+RET_LABEL183:(void)0;
+}
+}
+if (var_atabstract == NULL) {
+var185 = 0; /* is null */
+} else {
+var185 = 1; /* arg is null and recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$!= (var_atabstract,((val*)NULL)) on <var_atabstract:nullable AAnnotation> */
+var_other150 = ((val*)NULL);
+{
+var188 = ((short int(*)(val* self, val* p0))(var_atabstract->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_atabstract, var_other150); /* == on <var_atabstract:nullable AAnnotation(AAnnotation)>*/
+}
+var189 = !var188;
+var186 = var189;
+goto RET_LABEL187;
+RET_LABEL187:(void)0;
+}
+var185 = var186;
+}
+var_190 = var185;
+if (var185){
+{
+{ /* Inline modelize_property$AAttrPropdef$has_value (self) on <self:AAttrPropdef> */
+var193 = self->attrs[COLOR_nitc__modelize_property__AAttrPropdef___has_value].s; /* _has_value on <self:AAttrPropdef> */
+var191 = var193;
+RET_LABEL192:(void)0;
+}
+}
+var184 = var191;
+} else {
+var184 = var_190;
+}
+if (var184){
+if (likely(varonce194!=NULL)) {
+var195 = varonce194;
+} else {
+var196 = "Error: `abstract` attributes cannot have an initial value.";
+var198 = (val*)(58l<<2|1);
+var199 = (val*)(58l<<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;
+}
+{
+nitc___nitc__ModelBuilder___error(var_modelbuilder, var_atabstract, var195); /* Direct call modelbuilder_base$ModelBuilder$error on <var_modelbuilder:ModelBuilder>*/
+}
+goto RET_LABEL;
+} else {
+}
+if (likely(varonce202!=NULL)) {
+var203 = varonce202;
+} else {
+var204 = "noinit";
+var206 = (val*)(6l<<2|1);
+var207 = (val*)(6l<<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;
+}
+{
+var210 = nitc__annotation___Prod___get_single_annotation(self, var203, var_modelbuilder);
+}
+var_atnoinit = var210;
+if (var_atnoinit == NULL) {
+var211 = 1; /* is null */
+} else {
+var211 = 0; /* arg is null but recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$== (var_atnoinit,((val*)NULL)) on <var_atnoinit:nullable AAnnotation> */
+var_other = ((val*)NULL);
+{
+{ /* Inline kernel$Object$is_same_instance (var_atnoinit,var_other) on <var_atnoinit:nullable AAnnotation(AAnnotation)> */
+var216 = var_atnoinit == var_other;
+var214 = var216;
+goto RET_LABEL215;
+RET_LABEL215:(void)0;
+}
+}
+var212 = var214;
+goto RET_LABEL213;
+RET_LABEL213:(void)0;
+}
+var211 = var212;
+}
+if (var211){
+if (likely(varonce217!=NULL)) {
+var218 = varonce217;
+} else {
+var219 = "noautoinit";
+var221 = (val*)(10l<<2|1);
+var222 = (val*)(10l<<2|1);
+var223 = (val*)((long)(0)<<2|3);
+var224 = (val*)((long)(0)<<2|3);
+var220 = core__flat___CString___to_s_unsafe(var219, var221, var222, var223, var224);
+var218 = var220;
+varonce217 = var218;
+}
+{
+var225 = nitc__annotation___Prod___get_single_annotation(self, var218, var_modelbuilder);
+}
+var_atnoinit = var225;
+} else {
+}
+if (var_atnoinit == NULL) {
+var226 = 0; /* is null */
+} else {
+var226 = 1; /* arg is null and recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$!= (var_atnoinit,((val*)NULL)) on <var_atnoinit:nullable AAnnotation> */
+var_other150 = ((val*)NULL);
+{
+var229 = ((short int(*)(val* self, val* p0))(var_atnoinit->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_atnoinit, var_other150); /* == on <var_atnoinit:nullable AAnnotation(AAnnotation)>*/
+}
+var230 = !var229;
+var227 = var230;
+goto RET_LABEL228;
+RET_LABEL228:(void)0;
+}
+var226 = var227;
+}
+if (var226){
+{
+{ /* Inline modelize_property$AAttrPropdef$noinit= (self,1) on <self:AAttrPropdef> */
+self->attrs[COLOR_nitc__modelize_property__AAttrPropdef___noinit].s = 1; /* _noinit on <self:AAttrPropdef> */
+RET_LABEL231:(void)0;
+}
+}
+{
+{ /* Inline modelize_property$AAttrPropdef$has_value (self) on <self:AAttrPropdef> */
+var234 = self->attrs[COLOR_nitc__modelize_property__AAttrPropdef___has_value].s; /* _has_value on <self:AAttrPropdef> */
+var232 = var234;
+RET_LABEL233:(void)0;
+}
+}
+if (var232){
+if (likely(varonce235!=NULL)) {
+var236 = varonce235;
+} else {
+var237 = "Error: `noautoinit` attributes cannot have an initial value.";
+var239 = (val*)(60l<<2|1);
+var240 = (val*)(60l<<2|1);
+var241 = (val*)((long)(0)<<2|3);
+var242 = (val*)((long)(0)<<2|3);
+var238 = core__flat___CString___to_s_unsafe(var237, var239, var240, var241, var242);
+var236 = var238;
+varonce235 = var236;
+}
+{
+nitc___nitc__ModelBuilder___error(var_modelbuilder, var_atnoinit, var236); /* Direct call modelbuilder_base$ModelBuilder$error on <var_modelbuilder:ModelBuilder>*/
+}
+goto RET_LABEL;
+} else {
+}
+if (var_atabstract == NULL) {
+var243 = 0; /* is null */
+} else {
+var243 = 1; /* arg is null and recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$!= (var_atabstract,((val*)NULL)) on <var_atabstract:nullable AAnnotation> */
+var_other150 = ((val*)NULL);
+{
+var246 = ((short int(*)(val* self, val* p0))(var_atabstract->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_atabstract, var_other150); /* == on <var_atabstract:nullable AAnnotation(AAnnotation)>*/
+}
+var247 = !var246;
+var244 = var247;
+goto RET_LABEL245;
+RET_LABEL245:(void)0;
+}
+var243 = var244;
+}
+if (var243){
+if (likely(varonce248!=NULL)) {
+var249 = varonce248;
+} else {
+var250 = "useless-noautoinit";
+var252 = (val*)(18l<<2|1);
+var253 = (val*)(18l<<2|1);
+var254 = (val*)((long)(0)<<2|3);
+var255 = (val*)((long)(0)<<2|3);
+var251 = core__flat___CString___to_s_unsafe(var250, var252, var253, var254, var255);
+var249 = var251;
+varonce248 = var249;
+}
+if (likely(varonce256!=NULL)) {
+var257 = varonce256;
+} else {
+var258 = "Warning: superfluous `noautoinit` on abstract attribute.";
+var260 = (val*)(56l<<2|1);
+var261 = (val*)(56l<<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;
+}
+{
+nitc___nitc__ModelBuilder___warning(var_modelbuilder, var_atnoinit, var249, var257); /* Direct call modelbuilder_base$ModelBuilder$warning on <var_modelbuilder:ModelBuilder>*/
+}
+} else {
+}
+} else {
+}
+if (likely(varonce264!=NULL)) {
+var265 = varonce264;
+} else {
+var266 = "lazy";
+var268 = (val*)(4l<<2|1);
+var269 = (val*)(4l<<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;
+}
+{
+var272 = nitc__annotation___Prod___get_single_annotation(self, var265, var_modelbuilder);
+}
+var_atlazy = var272;
+if (likely(varonce273!=NULL)) {
+var274 = varonce273;
+} else {
+var275 = "lateinit";
+var277 = (val*)(8l<<2|1);
+var278 = (val*)(8l<<2|1);
+var279 = (val*)((long)(0)<<2|3);
+var280 = (val*)((long)(0)<<2|3);
+var276 = core__flat___CString___to_s_unsafe(var275, var277, var278, var279, var280);
+var274 = var276;
+varonce273 = var274;
+}
+{
+var281 = nitc__annotation___Prod___get_single_annotation(self, var274, var_modelbuilder);
+}
+var_atlateinit = var281;
+if (var_atlazy == NULL) {
+var283 = 0; /* is null */
+} else {
+var283 = 1; /* arg is null and recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$!= (var_atlazy,((val*)NULL)) on <var_atlazy:nullable AAnnotation> */
+var_other150 = ((val*)NULL);
+{
+var286 = ((short int(*)(val* self, val* p0))(var_atlazy->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_atlazy, var_other150); /* == on <var_atlazy:nullable AAnnotation(AAnnotation)>*/
+}
+var287 = !var286;
+var284 = var287;
+goto RET_LABEL285;
+RET_LABEL285:(void)0;
+}
+var283 = var284;
+}
+var_288 = var283;
+if (var283){
+var282 = var_288;
+} else {
+if (var_atlateinit == NULL) {
+var289 = 0; /* is null */
+} else {
+var289 = 1; /* arg is null and recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$!= (var_atlateinit,((val*)NULL)) on <var_atlateinit:nullable AAnnotation> */
+var_other150 = ((val*)NULL);
+{
+var292 = ((short int(*)(val* self, val* p0))(var_atlateinit->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_atlateinit, var_other150); /* == on <var_atlateinit:nullable AAnnotation(AAnnotation)>*/
+}
+var293 = !var292;
+var290 = var293;
+goto RET_LABEL291;
+RET_LABEL291:(void)0;
+}
+var289 = var290;
+}
+var282 = var289;
+}
+if (var282){
+if (var_atlazy == NULL) {
+var295 = 0; /* is null */
+} else {
+var295 = 1; /* arg is null and recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$!= (var_atlazy,((val*)NULL)) on <var_atlazy:nullable AAnnotation> */
+var_other150 = ((val*)NULL);
+{
+var298 = ((short int(*)(val* self, val* p0))(var_atlazy->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_atlazy, var_other150); /* == on <var_atlazy:nullable AAnnotation(AAnnotation)>*/
+}
+var299 = !var298;
+var296 = var299;
+goto RET_LABEL297;
+RET_LABEL297:(void)0;
+}
+var295 = var296;
+}
+var_300 = var295;
+if (var295){
+if (var_atlateinit == NULL) {
+var301 = 0; /* is null */
+} else {
+var301 = 1; /* arg is null and recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$!= (var_atlateinit,((val*)NULL)) on <var_atlateinit:nullable AAnnotation> */
+var_other150 = ((val*)NULL);
+{
+var304 = ((short int(*)(val* self, val* p0))(var_atlateinit->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_atlateinit, var_other150); /* == on <var_atlateinit:nullable AAnnotation(AAnnotation)>*/
+}
+var305 = !var304;
+var302 = var305;
+goto RET_LABEL303;
+RET_LABEL303:(void)0;
+}
+var301 = var302;
+}
+var294 = var301;
+} else {
+var294 = var_300;
+}
+if (var294){
+if (likely(varonce306!=NULL)) {
+var307 = varonce306;
+} else {
+var308 = "Error: `lazy` incompatible with `lateinit`.";
+var310 = (val*)(43l<<2|1);
+var311 = (val*)(43l<<2|1);
+var312 = (val*)((long)(0)<<2|3);
+var313 = (val*)((long)(0)<<2|3);
+var309 = core__flat___CString___to_s_unsafe(var308, var310, var311, var312, var313);
+var307 = var309;
+varonce306 = var307;
+}
+{
+nitc___nitc__ModelBuilder___error(var_modelbuilder, var_atlazy, var307); /* Direct call modelbuilder_base$ModelBuilder$error on <var_modelbuilder:ModelBuilder>*/
+}
+goto RET_LABEL;
+} else {
+}
+{
+{ /* Inline modelize_property$AAttrPropdef$has_value (self) on <self:AAttrPropdef> */
+var316 = self->attrs[COLOR_nitc__modelize_property__AAttrPropdef___has_value].s; /* _has_value on <self:AAttrPropdef> */
+var314 = var316;
+RET_LABEL315:(void)0;
+}
+}
+var317 = !var314;
+if (var317){
+if (var_atlazy == NULL) {
+var318 = 0; /* is null */
+} else {
+var318 = 1; /* arg is null and recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$!= (var_atlazy,((val*)NULL)) on <var_atlazy:nullable AAnnotation> */
+var_other150 = ((val*)NULL);
+{
+var321 = ((short int(*)(val* self, val* p0))(var_atlazy->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_atlazy, var_other150); /* == on <var_atlazy:nullable AAnnotation(AAnnotation)>*/
+}
+var322 = !var321;
+var319 = var322;
+goto RET_LABEL320;
+RET_LABEL320:(void)0;
+}
+var318 = var319;
+}
+if (var318){
+if (likely(varonce323!=NULL)) {
+var324 = varonce323;
+} else {
+var325 = "Error: `lazy` attributes need a value.";
+var327 = (val*)(38l<<2|1);
+var328 = (val*)(38l<<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;
+}
+{
+nitc___nitc__ModelBuilder___error(var_modelbuilder, var_atlazy, var324); /* Direct call modelbuilder_base$ModelBuilder$error on <var_modelbuilder:ModelBuilder>*/
+}
+} else {
+if (var_atlateinit == NULL) {
+var331 = 0; /* is null */
+} else {
+var331 = 1; /* arg is null and recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$!= (var_atlateinit,((val*)NULL)) on <var_atlateinit:nullable AAnnotation> */
+var_other150 = ((val*)NULL);
+{
+var334 = ((short int(*)(val* self, val* p0))(var_atlateinit->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_atlateinit, var_other150); /* == on <var_atlateinit:nullable AAnnotation(AAnnotation)>*/
+}
+var335 = !var334;
+var332 = var335;
+goto RET_LABEL333;
+RET_LABEL333:(void)0;
+}
+var331 = var332;
+}
+if (var331){
+if (likely(varonce336!=NULL)) {
+var337 = varonce336;
+} else {
+var338 = "Error: `lateinit` attributes need a value.";
+var340 = (val*)(42l<<2|1);
+var341 = (val*)(42l<<2|1);
+var342 = (val*)((long)(0)<<2|3);
+var343 = (val*)((long)(0)<<2|3);
+var339 = core__flat___CString___to_s_unsafe(var338, var340, var341, var342, var343);
+var337 = var339;
+varonce336 = var337;
+}
+{
+nitc___nitc__ModelBuilder___error(var_modelbuilder, var_atlateinit, var337); /* Direct call modelbuilder_base$ModelBuilder$error on <var_modelbuilder:ModelBuilder>*/
+}
+} else {
+}
+}
+{
+{ /* Inline modelize_property$AAttrPropdef$has_value= (self,1) on <self:AAttrPropdef> */
+self->attrs[COLOR_nitc__modelize_property__AAttrPropdef___has_value].s = 1; /* _has_value on <self:AAttrPropdef> */
+RET_LABEL344:(void)0;
+}
+}
+goto RET_LABEL;
+} else {
+}
+{
+{ /* Inline modelize_property$AAttrPropdef$is_lazy= (self,1) on <self:AAttrPropdef> */
+self->attrs[COLOR_nitc__modelize_property__AAttrPropdef___is_lazy].s = 1; /* _is_lazy on <self:AAttrPropdef> */
+RET_LABEL345:(void)0;
+}
+}
+var346 = NEW_nitc__MAttribute(&type_nitc__MAttribute);
+if (likely(varonce347!=NULL)) {
+var348 = varonce347;
+} else {
+var349 = "lazy _";
+var351 = (val*)(6l<<2|1);
+var352 = (val*)(6l<<2|1);
+var353 = (val*)((long)(0)<<2|3);
+var354 = (val*)((long)(0)<<2|3);
+var350 = core__flat___CString___to_s_unsafe(var349, var351, var352, var353, var354);
+var348 = var350;
+varonce347 = var348;
+}
+{
+var355 = ((val*(*)(val* self, val* p0))(var348->class->vft[COLOR_core__abstract_text__Text___43d]))(var348, var_name); /* + on <var348:String>*/
+}
+{
+{ /* Inline parser_nodes$ANode$location (self) on <self:AAttrPropdef> */
+var358 = self->attrs[COLOR_nitc__parser_nodes__ANode___location].val; /* _location on <self:AAttrPropdef> */
+if (unlikely(var358 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 25);
+fatal_exit(1);
+}
+var356 = var358;
+RET_LABEL357:(void)0;
+}
+}
+var359 = glob_sys;
+{
+var360 = nitc__model_base___core__Sys___none_visibility(var359);
+}
+{
+((void(*)(val* self, val* p0))(var346->class->vft[COLOR_nitc__model__MProperty__intro_mclassdef_61d]))(var346, var_mclassdef); /* intro_mclassdef= on <var346:MAttribute>*/
+}
+{
+((void(*)(val* self, val* p0))(var346->class->vft[COLOR_nitc__model__MProperty__name_61d]))(var346, var355); /* name= on <var346:MAttribute>*/
+}
+{
+((void(*)(val* self, val* p0))(var346->class->vft[COLOR_nitc__model__MProperty__location_61d]))(var346, var356); /* location= on <var346:MAttribute>*/
+}
+{
+((void(*)(val* self, val* p0))(var346->class->vft[COLOR_nitc__model__MProperty__visibility_61d]))(var346, var360); /* visibility= on <var346:MAttribute>*/
+}
+{
+((void(*)(val* self))(var346->class->vft[COLOR_core__kernel__Object__init]))(var346); /* init on <var346:MAttribute>*/
+}
+var_mlazyprop = var346;
+{
+{ /* Inline model_base$MEntity$is_fictive= (var_mlazyprop,1) on <var_mlazyprop:MAttribute> */
+var_mlazyprop->attrs[COLOR_nitc__model_base__MEntity___is_fictive].s = 1; /* _is_fictive on <var_mlazyprop:MAttribute> */
+RET_LABEL361:(void)0;
+}
+}
+var362 = NEW_nitc__MAttributeDef(&type_nitc__MAttributeDef);
+{
+{ /* Inline parser_nodes$ANode$location (self) on <self:AAttrPropdef> */
+var365 = self->attrs[COLOR_nitc__parser_nodes__ANode___location].val; /* _location on <self:AAttrPropdef> */
+if (unlikely(var365 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 25);
+fatal_exit(1);
+}
+var363 = var365;
+RET_LABEL364:(void)0;
+}
+}
+{
+((void(*)(val* self, val* p0))(var362->class->vft[COLOR_nitc__model__MPropDef__mclassdef_61d]))(var362, var_mclassdef); /* mclassdef= on <var362:MAttributeDef>*/
+}
+{
+((void(*)(val* self, val* p0))(var362->class->vft[COLOR_nitc__model__MPropDef__mproperty_61d]))(var362, var_mlazyprop); /* mproperty= on <var362:MAttributeDef>*/
+}
+{
+((void(*)(val* self, val* p0))(var362->class->vft[COLOR_nitc__model__MPropDef__location_61d]))(var362, var363); /* location= on <var362:MAttributeDef>*/
+}
+{
+((void(*)(val* self))(var362->class->vft[COLOR_core__kernel__Object__init]))(var362); /* init on <var362:MAttributeDef>*/
+}
+var_mlazypropdef = var362;
+{
+{ /* Inline model_base$MEntity$is_fictive= (var_mlazypropdef,1) on <var_mlazypropdef:MAttributeDef> */
+var_mlazypropdef->attrs[COLOR_nitc__model_base__MEntity___is_fictive].s = 1; /* _is_fictive on <var_mlazypropdef:MAttributeDef> */
+RET_LABEL366:(void)0;
+}
+}
+{
+{ /* Inline modelize_property$AAttrPropdef$mlazypropdef= (self,var_mlazypropdef) on <self:AAttrPropdef> */
+self->attrs[COLOR_nitc__modelize_property__AAttrPropdef___mlazypropdef].val = var_mlazypropdef; /* _mlazypropdef on <self:AAttrPropdef> */
+RET_LABEL367:(void)0;
+}
+}
+} else {
+}
+if (likely(varonce368!=NULL)) {
+var369 = varonce368;
+} else {
+var370 = "optional";
+var372 = (val*)(8l<<2|1);
+var373 = (val*)(8l<<2|1);
+var374 = (val*)((long)(0)<<2|3);
+var375 = (val*)((long)(0)<<2|3);
+var371 = core__flat___CString___to_s_unsafe(var370, var372, var373, var374, var375);
+var369 = var371;
+varonce368 = var369;
+}
+{
+var376 = nitc__annotation___Prod___get_single_annotation(self, var369, var_modelbuilder);
+}
+var_atoptional = var376;
+if (var_atoptional == NULL) {
+var377 = 0; /* is null */
+} else {
+var377 = 1; /* arg is null and recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$!= (var_atoptional,((val*)NULL)) on <var_atoptional:nullable AAnnotation> */
+var_other150 = ((val*)NULL);
+{
+var380 = ((short int(*)(val* self, val* p0))(var_atoptional->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_atoptional, var_other150); /* == on <var_atoptional:nullable AAnnotation(AAnnotation)>*/
+}
+var381 = !var380;
+var378 = var381;
+goto RET_LABEL379;
+RET_LABEL379:(void)0;
+}
+var377 = var378;
+}
+if (var377){
+{
+{ /* Inline modelize_property$AAttrPropdef$has_value (self) on <self:AAttrPropdef> */
+var384 = self->attrs[COLOR_nitc__modelize_property__AAttrPropdef___has_value].s; /* _has_value on <self:AAttrPropdef> */
+var382 = var384;
+RET_LABEL383:(void)0;
+}
+}
+var385 = !var382;
+if (var385){
+if (likely(varonce386!=NULL)) {
+var387 = varonce386;
+} else {
+var388 = "Error: `optional` attributes need a default value.";
+var390 = (val*)(50l<<2|1);
+var391 = (val*)(50l<<2|1);
+var392 = (val*)((long)(0)<<2|3);
+var393 = (val*)((long)(0)<<2|3);
+var389 = core__flat___CString___to_s_unsafe(var388, var390, var391, var392, var393);
+var387 = var389;
+varonce386 = var387;
+}
+{
+nitc___nitc__ModelBuilder___error(var_modelbuilder, var_atoptional, var387); /* Direct call modelbuilder_base$ModelBuilder$error on <var_modelbuilder:ModelBuilder>*/
+}
+} else {
+}
+{
+{ /* Inline modelize_property$AAttrPropdef$is_optional= (self,1) on <self:AAttrPropdef> */
+self->attrs[COLOR_nitc__modelize_property__AAttrPropdef___is_optional].s = 1; /* _is_optional on <self:AAttrPropdef> */
+RET_LABEL394:(void)0;
+}
+}
+} else {
+}
+if (likely(varonce395!=NULL)) {
+var396 = varonce395;
+} else {
+var397 = "readonly";
+var399 = (val*)(8l<<2|1);
+var400 = (val*)(8l<<2|1);
+var401 = (val*)((long)(0)<<2|3);
+var402 = (val*)((long)(0)<<2|3);
+var398 = core__flat___CString___to_s_unsafe(var397, var399, var400, var401, var402);
+var396 = var398;
+varonce395 = var396;
+}
+{
+var403 = nitc__annotation___Prod___get_single_annotation(self, var396, var_modelbuilder);
+}
+var_atreadonly = var403;
+if (var_atreadonly == NULL) {
+var404 = 0; /* is null */
+} else {
+var404 = 1; /* arg is null and recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$!= (var_atreadonly,((val*)NULL)) on <var_atreadonly:nullable AAnnotation> */
+var_other150 = ((val*)NULL);
+{
+var407 = ((short int(*)(val* self, val* p0))(var_atreadonly->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_atreadonly, var_other150); /* == on <var_atreadonly:nullable AAnnotation(AAnnotation)>*/
+}
+var408 = !var407;
+var405 = var408;
+goto RET_LABEL406;
+RET_LABEL406:(void)0;
+}
+var404 = var405;
+}
+if (var404){
+{
+{ /* Inline modelize_property$AAttrPropdef$has_value (self) on <self:AAttrPropdef> */
+var411 = self->attrs[COLOR_nitc__modelize_property__AAttrPropdef___has_value].s; /* _has_value on <self:AAttrPropdef> */
+var409 = var411;
+RET_LABEL410:(void)0;
+}
+}
+var412 = !var409;
+if (var412){
+if (likely(varonce413!=NULL)) {
+var414 = varonce413;
+} else {
+var415 = "Error: `readonly` attributes need a value.";
+var417 = (val*)(42l<<2|1);
+var418 = (val*)(42l<<2|1);
+var419 = (val*)((long)(0)<<2|3);
+var420 = (val*)((long)(0)<<2|3);
+var416 = core__flat___CString___to_s_unsafe(var415, var417, var418, var419, var420);
+var414 = var416;
+varonce413 = var414;
+}
+{
+nitc___nitc__ModelBuilder___error(var_modelbuilder, var_atreadonly, var414); /* Direct call modelbuilder_base$ModelBuilder$error on <var_modelbuilder:ModelBuilder>*/
+}
+} else {
+}
+goto RET_LABEL;
+} else {
+}
+{
+var423 = nitc___nitc__MClassDef___is_intro(var_mclassdef);
+}
+var424 = !var423;
+var_425 = var424;
+if (var424){
+{
+{ /* Inline modelize_property$AAttrPropdef$has_value (self) on <self:AAttrPropdef> */
+var428 = self->attrs[COLOR_nitc__modelize_property__AAttrPropdef___has_value].s; /* _has_value on <self:AAttrPropdef> */
+var426 = var428;
+RET_LABEL427:(void)0;
+}
+}
+var429 = !var426;
+var422 = var429;
+} else {
+var422 = var_425;
+}
+var_430 = var422;
+if (var422){
+{
+{ /* Inline modelize_property$AAttrPropdef$noinit (self) on <self:AAttrPropdef> */
+var433 = self->attrs[COLOR_nitc__modelize_property__AAttrPropdef___noinit].s; /* _noinit on <self:AAttrPropdef> */
+var431 = var433;
+RET_LABEL432:(void)0;
+}
+}
+var434 = !var431;
+var421 = var434;
+} else {
+var421 = var_430;
+}
+if (var421){
+if (likely(varonce435!=NULL)) {
+var436 = varonce435;
+} else {
+var437 = "attr-in-refinement";
+var439 = (val*)(18l<<2|1);
+var440 = (val*)(18l<<2|1);
+var441 = (val*)((long)(0)<<2|3);
+var442 = (val*)((long)(0)<<2|3);
+var438 = core__flat___CString___to_s_unsafe(var437, var439, var440, var441, var442);
+var436 = var438;
+varonce435 = var436;
+}
+if (likely(varonce443!=NULL)) {
+var444 = varonce443;
+} else {
+var445 = "Warning: attributes in refinement need a value or `noautoinit`.";
+var447 = (val*)(63l<<2|1);
+var448 = (val*)(63l<<2|1);
+var449 = (val*)((long)(0)<<2|3);
+var450 = (val*)((long)(0)<<2|3);
+var446 = core__flat___CString___to_s_unsafe(var445, var447, var448, var449, var450);
+var444 = var446;
+varonce443 = var444;
+}
+{
+nitc___nitc__ModelBuilder___advice(var_modelbuilder, self, var436, var444); /* Direct call modelbuilder_base$ModelBuilder$advice on <var_modelbuilder:ModelBuilder>*/
+}
+} else {
+}
+if (likely(varonce451!=NULL)) {
+var452 = varonce451;
+} else {
+var453 = "=";
+var455 = (val*)(1l<<2|1);
+var456 = (val*)(1l<<2|1);
+var457 = (val*)((long)(0)<<2|3);
+var458 = (val*)((long)(0)<<2|3);
+var454 = core__flat___CString___to_s_unsafe(var453, var455, var456, var457, var458);
+var452 = var454;
+varonce451 = var452;
+}
+{
+var459 = ((val*(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__abstract_text__Text___43d]))(var_name, var452); /* + on <var_name:String>*/
+}
+var_writename = var459;
+if (likely(varonce460!=NULL)) {
+var461 = varonce460;
+} else {
+var462 = "writable";
+var464 = (val*)(8l<<2|1);
+var465 = (val*)(8l<<2|1);
+var466 = (val*)((long)(0)<<2|3);
+var467 = (val*)((long)(0)<<2|3);
+var463 = core__flat___CString___to_s_unsafe(var462, var464, var465, var466, var467);
+var461 = var463;
+varonce460 = var461;
+}
+{
+var468 = nitc__annotation___Prod___get_single_annotation(self, var461, var_modelbuilder);
+}
+var_atwritable = var468;
+if (var_atwritable == NULL) {
+var469 = 0; /* is null */
+} else {
+var469 = 1; /* arg is null and recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$!= (var_atwritable,((val*)NULL)) on <var_atwritable:nullable AAnnotation> */
+var_other150 = ((val*)NULL);
+{
+var472 = ((short int(*)(val* self, val* p0))(var_atwritable->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_atwritable, var_other150); /* == on <var_atwritable:nullable AAnnotation(AAnnotation)>*/
+}
+var473 = !var472;
+var470 = var473;
+goto RET_LABEL471;
+RET_LABEL471:(void)0;
+}
+var469 = var470;
+}
+if (var469){
+{
+{ /* Inline parser_nodes$AAnnotation$n_args (var_atwritable) on <var_atwritable:nullable AAnnotation(AAnnotation)> */
+var476 = var_atwritable->attrs[COLOR_nitc__parser_nodes__AAnnotation___n_args].val; /* _n_args on <var_atwritable:nullable AAnnotation(AAnnotation)> */
+if (unlikely(var476 == 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, 3007);
+fatal_exit(1);
+}
+var474 = var476;
+RET_LABEL475:(void)0;
+}
+}
+{
+var477 = nitc___nitc__ANodes___core__abstract_collection__Collection__is_empty(var474);
+}
+var478 = !var477;
+if (var478){
+{
+var480 = nitc__annotation___AAnnotation___arg_as_id(var_atwritable, var_modelbuilder);
+}
+if (var480!=NULL) {
+var479 = var480;
+} else {
+var479 = var_writename;
+}
+var_writename = var479;
+} else {
+}
+} else {
+}
+{
+var481 = nitc___nitc__ModelBuilder___try_get_mproperty_by_name(var_modelbuilder, var_nid2, var_mclassdef, var_writename);
+}
+/* <var481:nullable MProperty> isa nullable MMethod */
+cltype483 = type_nullable__nitc__MMethod.color;
+idtype484 = type_nullable__nitc__MMethod.id;
+if(var481 == NULL) {
+var482 = 1;
+} else {
+if(cltype483 >= var481->type->table_size) {
+var482 = 0;
+} else {
+var482 = var481->type->type_table[cltype483] == idtype484;
+}
+}
+if (unlikely(!var482)) {
+var_class_name485 = var481 == NULL ? "null" : var481->type->name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MMethod", var_class_name485);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelize_property, 1289);
+fatal_exit(1);
+}
+var_mwriteprop = var481;
+var_nwkwredef = ((val*)NULL);
+if (var_atwritable == NULL) {
+var486 = 0; /* is null */
+} else {
+var486 = 1; /* arg is null and recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$!= (var_atwritable,((val*)NULL)) on <var_atwritable:nullable AAnnotation> */
+var_other150 = ((val*)NULL);
+{
+var489 = ((short int(*)(val* self, val* p0))(var_atwritable->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_atwritable, var_other150); /* == on <var_atwritable:nullable AAnnotation(AAnnotation)>*/
+}
+var490 = !var489;
+var487 = var490;
+goto RET_LABEL488;
+RET_LABEL488:(void)0;
+}
+var486 = var487;
+}
+if (var486){
+{
+{ /* Inline parser_nodes$ADefinition$n_kwredef (var_atwritable) on <var_atwritable:nullable AAnnotation(AAnnotation)> */
+var493 = var_atwritable->attrs[COLOR_nitc__parser_nodes__ADefinition___n_kwredef].val; /* _n_kwredef on <var_atwritable:nullable AAnnotation(AAnnotation)> */
+var491 = var493;
+RET_LABEL492:(void)0;
+}
+}
+var_nwkwredef = var491;
+} else {
+}
+if (var_mwriteprop == NULL) {
+var494 = 1; /* is null */
+} else {
+var494 = 0; /* arg is null but recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$== (var_mwriteprop,((val*)NULL)) on <var_mwriteprop:nullable MMethod> */
+var_other = ((val*)NULL);
+{
+{ /* Inline kernel$Object$is_same_instance (var_mwriteprop,var_other) on <var_mwriteprop:nullable MMethod(MMethod)> */
+var499 = var_mwriteprop == var_other;
+var497 = var499;
+goto RET_LABEL498;
+RET_LABEL498:(void)0;
+}
+}
+var495 = var497;
+goto RET_LABEL496;
+RET_LABEL496:(void)0;
+}
+var494 = var495;
+}
+if (var494){
+if (var_atwritable == NULL) {
+var500 = 0; /* is null */
+} else {
+var500 = 1; /* arg is null and recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$!= (var_atwritable,((val*)NULL)) on <var_atwritable:nullable AAnnotation> */
+var_other150 = ((val*)NULL);
+{
+var503 = ((short int(*)(val* self, val* p0))(var_atwritable->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_atwritable, var_other150); /* == on <var_atwritable:nullable AAnnotation(AAnnotation)>*/
+}
+var504 = !var503;
+var501 = var504;
+goto RET_LABEL502;
+RET_LABEL502:(void)0;
+}
+var500 = var501;
+}
+if (var500){
+{
+{ /* Inline parser_nodes$ADefinition$n_visibility (var_atwritable) on <var_atwritable:nullable AAnnotation(AAnnotation)> */
+var507 = var_atwritable->attrs[COLOR_nitc__parser_nodes__ADefinition___n_visibility].val; /* _n_visibility on <var_atwritable:nullable AAnnotation(AAnnotation)> */
+var505 = var507;
+RET_LABEL506:(void)0;
+}
+}
+{
+var508 = nitc__modelize_property___APropdef___new_property_visibility(self, var_modelbuilder, var_mclassdef, var505);
+}
+var_mvisibility509 = var508;
+} else {
+{
+{ /* Inline model$MProperty$visibility (var_mreadprop) on <var_mreadprop:nullable MMethod(MMethod)> */
+var512 = var_mreadprop->attrs[COLOR_nitc__model__MProperty___visibility].val; /* _visibility on <var_mreadprop:nullable MMethod(MMethod)> */
+if (unlikely(var512 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 2078);
+fatal_exit(1);
+}
+var510 = var512;
+RET_LABEL511:(void)0;
+}
+}
+var_mvisibility509 = var510;
+var513 = glob_sys;
+{
+var514 = nitc__model_base___core__Sys___protected_visibility(var513);
+}
+{
+var515 = core___core__Comparable____62d(var_mvisibility509, var514);
+}
+if (var515){
+var516 = glob_sys;
+{
+var517 = nitc__model_base___core__Sys___protected_visibility(var516);
+}
+var_mvisibility509 = var517;
+} else {
+}
+}
+var518 = NEW_nitc__MMethod(&type_nitc__MMethod);
+{
+{ /* Inline parser_nodes$ANode$location (self) on <self:AAttrPropdef> */
+var521 = self->attrs[COLOR_nitc__parser_nodes__ANode___location].val; /* _location on <self:AAttrPropdef> */
+if (unlikely(var521 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 25);
+fatal_exit(1);
+}
+var519 = var521;
+RET_LABEL520:(void)0;
+}
+}
+{
+((void(*)(val* self, val* p0))(var518->class->vft[COLOR_nitc__model__MProperty__intro_mclassdef_61d]))(var518, var_mclassdef); /* intro_mclassdef= on <var518:MMethod>*/
+}
+{
+((void(*)(val* self, val* p0))(var518->class->vft[COLOR_nitc__model__MProperty__name_61d]))(var518, var_writename); /* name= on <var518:MMethod>*/
+}
+{
+((void(*)(val* self, val* p0))(var518->class->vft[COLOR_nitc__model__MProperty__location_61d]))(var518, var519); /* location= on <var518:MMethod>*/
+}
+{
+((void(*)(val* self, val* p0))(var518->class->vft[COLOR_nitc__model__MProperty__visibility_61d]))(var518, var_mvisibility509); /* visibility= on <var518:MMethod>*/
+}
+{
+((void(*)(val* self))(var518->class->vft[COLOR_core__kernel__Object__init]))(var518); /* init on <var518:MMethod>*/
+}
+var_mwriteprop = var518;
+{
+var522 = nitc__modelize_property___APropdef___check_redef_keyword(self, var_modelbuilder, var_mclassdef, var_nwkwredef, 0, var_mwriteprop);
+}
+var523 = !var522;
+if (var523){
+{
+{ /* Inline model_base$MEntity$is_broken= (var_mwriteprop,1) on <var_mwriteprop:nullable MMethod(MMethod)> */
+var_mwriteprop->attrs[COLOR_nitc__model_base__MEntity___is_broken].s = 1; /* _is_broken on <var_mwriteprop:nullable MMethod(MMethod)> */
+RET_LABEL524:(void)0;
+}
+}
+goto RET_LABEL;
+} else {
+}
+{
+{ /* Inline mdoc$MEntity$deprecation (var_mreadprop) on <var_mreadprop:nullable MMethod(MMethod)> */
+var527 = var_mreadprop->attrs[COLOR_nitc__mdoc__MEntity___deprecation].val; /* _deprecation on <var_mreadprop:nullable MMethod(MMethod)> */
+var525 = var527;
+RET_LABEL526:(void)0;
+}
+}
+{
+{ /* Inline mdoc$MEntity$deprecation= (var_mwriteprop,var525) on <var_mwriteprop:nullable MMethod(MMethod)> */
+var_mwriteprop->attrs[COLOR_nitc__mdoc__MEntity___deprecation].val = var525; /* _deprecation on <var_mwriteprop:nullable MMethod(MMethod)> */
+RET_LABEL528:(void)0;
+}
+}
+} else {
+{
+{ /* Inline model_base$MEntity$is_broken (var_mwriteprop) on <var_mwriteprop:nullable MMethod(MMethod)> */
+var531 = var_mwriteprop->attrs[COLOR_nitc__model_base__MEntity___is_broken].s; /* _is_broken on <var_mwriteprop:nullable MMethod(MMethod)> */
+var529 = var531;
+RET_LABEL530:(void)0;
+}
+}
+if (var529){
+goto RET_LABEL;
+} else {
+}
+if (var_nwkwredef!=NULL) {
+var532 = var_nwkwredef;
+} else {
+{
+{ /* Inline parser_nodes$ADefinition$n_kwredef (self) on <self:AAttrPropdef> */
+var535 = self->attrs[COLOR_nitc__parser_nodes__ADefinition___n_kwredef].val; /* _n_kwredef on <self:AAttrPropdef> */
+var533 = var535;
+RET_LABEL534:(void)0;
+}
+}
+var532 = var533;
+}
+{
+var536 = nitc__modelize_property___APropdef___check_redef_keyword(self, var_modelbuilder, var_mclassdef, var532, 1, var_mwriteprop);
+}
+var537 = !var536;
+if (var537){
+goto RET_LABEL;
+} else {
+}
+if (var_atwritable == NULL) {
+var538 = 0; /* is null */
+} else {
+var538 = 1; /* arg is null and recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$!= (var_atwritable,((val*)NULL)) on <var_atwritable:nullable AAnnotation> */
+var_other150 = ((val*)NULL);
+{
+var541 = ((short int(*)(val* self, val* p0))(var_atwritable->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_atwritable, var_other150); /* == on <var_atwritable:nullable AAnnotation(AAnnotation)>*/
+}
+var542 = !var541;
+var539 = var542;
+goto RET_LABEL540;
+RET_LABEL540:(void)0;
+}
+var538 = var539;
+}
+if (var538){
+{
+{ /* Inline parser_nodes$ADefinition$n_visibility (var_atwritable) on <var_atwritable:nullable AAnnotation(AAnnotation)> */
+var545 = var_atwritable->attrs[COLOR_nitc__parser_nodes__ADefinition___n_visibility].val; /* _n_visibility on <var_atwritable:nullable AAnnotation(AAnnotation)> */
+var543 = var545;
+RET_LABEL544:(void)0;
+}
+}
+{
+nitc__modelize_property___APropdef___check_redef_property_visibility(self, var_modelbuilder, var543, var_mwriteprop); /* Direct call modelize_property$APropdef$check_redef_property_visibility on <self:AAttrPropdef>*/
+}
+} else {
+}
+}
+{
+{ /* Inline modelize_property$MClassDef$mprop2npropdef (var_mclassdef) on <var_mclassdef:MClassDef> */
+var548 = var_mclassdef->attrs[COLOR_nitc__modelize_property__MClassDef___mprop2npropdef].val; /* _mprop2npropdef on <var_mclassdef:MClassDef> */
+if (unlikely(var548 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mprop2npropdef");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelize_property, 504);
+fatal_exit(1);
+}
+var546 = var548;
+RET_LABEL547:(void)0;
+}
+}
+{
+((void(*)(val* self, val* p0, val* p1))((((long)var546&3)?class_info[((long)var546&3)]:var546->class)->vft[COLOR_core__abstract_collection__Map___91d_93d_61d]))(var546, var_mwriteprop, self); /* []= on <var546:Map[MProperty, APropdef]>*/
+}
+var549 = NEW_nitc__MMethodDef(&type_nitc__MMethodDef);
+{
+{ /* Inline parser_nodes$ANode$location (self) on <self:AAttrPropdef> */
+var552 = self->attrs[COLOR_nitc__parser_nodes__ANode___location].val; /* _location on <self:AAttrPropdef> */
+if (unlikely(var552 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 25);
+fatal_exit(1);
+}
+var550 = var552;
+RET_LABEL551:(void)0;
+}
+}
+{
+((void(*)(val* self, val* p0))(var549->class->vft[COLOR_nitc__model__MPropDef__mclassdef_61d]))(var549, var_mclassdef); /* mclassdef= on <var549:MMethodDef>*/
+}
+{
+((void(*)(val* self, val* p0))(var549->class->vft[COLOR_nitc__model__MPropDef__mproperty_61d]))(var549, var_mwriteprop); /* mproperty= on <var549:MMethodDef>*/
+}
+{
+((void(*)(val* self, val* p0))(var549->class->vft[COLOR_nitc__model__MPropDef__location_61d]))(var549, var550); /* location= on <var549:MMethodDef>*/
+}
+{
+((void(*)(val* self))(var549->class->vft[COLOR_core__kernel__Object__init]))(var549); /* init on <var549:MMethodDef>*/
+}
+var_mwritepropdef = var549;
+{
+{ /* Inline modelize_property$AAttrPropdef$mwritepropdef= (self,var_mwritepropdef) on <self:AAttrPropdef> */
+self->attrs[COLOR_nitc__modelize_property__AAttrPropdef___mwritepropdef].val = var_mwritepropdef; /* _mwritepropdef on <self:AAttrPropdef> */
+RET_LABEL553:(void)0;
+}
+}
+{
+{ /* Inline modelize_property$ModelBuilder$mpropdef2npropdef (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
+var556 = var_modelbuilder->attrs[COLOR_nitc__modelize_property__ModelBuilder___mpropdef2npropdef].val; /* _mpropdef2npropdef on <var_modelbuilder:ModelBuilder> */
+if (unlikely(var556 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef2npropdef");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelize_property, 40);
+fatal_exit(1);
+}
+var554 = var556;
+RET_LABEL555:(void)0;
+}
+}
+{
+core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var554, var_mwritepropdef, self); /* Direct call hash_collection$HashMap$[]= on <var554:HashMap[MPropDef, APropdef]>*/
+}
+{
+{ /* Inline mdoc$MEntity$mdoc (var_mreadpropdef) on <var_mreadpropdef:MMethodDef> */
+var559 = var_mreadpropdef->attrs[COLOR_nitc__mdoc__MEntity___mdoc].val; /* _mdoc on <var_mreadpropdef:MMethodDef> */
+var557 = var559;
+RET_LABEL558:(void)0;
+}
+}
+{
+{ /* Inline mdoc$MEntity$mdoc= (var_mwritepropdef,var557) on <var_mwritepropdef:MMethodDef> */
+var_mwritepropdef->attrs[COLOR_nitc__mdoc__MEntity___mdoc].val = var557; /* _mdoc on <var_mwritepropdef:MMethodDef> */
+RET_LABEL560:(void)0;
+}
+}
+if (var_atabstract == NULL) {
+var561 = 0; /* is null */
+} else {
+var561 = 1; /* arg is null and recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$!= (var_atabstract,((val*)NULL)) on <var_atabstract:nullable AAnnotation> */
+var_other150 = ((val*)NULL);
+{
+var564 = ((short int(*)(val* self, val* p0))(var_atabstract->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_atabstract, var_other150); /* == on <var_atabstract:nullable AAnnotation(AAnnotation)>*/
+}
+var565 = !var564;
+var562 = var565;
+goto RET_LABEL563;
+RET_LABEL563:(void)0;
+}
+var561 = var562;
+}
+if (var561){
+{
+{ /* Inline model$MMethodDef$is_abstract= (var_mwritepropdef,1) on <var_mwritepropdef:MMethodDef> */
+var_mwritepropdef->attrs[COLOR_nitc__model__MMethodDef___is_abstract].s = 1; /* _is_abstract on <var_mwritepropdef:MMethodDef> */
+RET_LABEL566:(void)0;
+}
+}
+} else {
+}
+if (likely(varonce567!=NULL)) {
+var568 = varonce567;
+} else {
+var569 = "autoinit";
+var571 = (val*)(8l<<2|1);
+var572 = (val*)(8l<<2|1);
+var573 = (val*)((long)(0)<<2|3);
+var574 = (val*)((long)(0)<<2|3);
+var570 = core__flat___CString___to_s_unsafe(var569, var571, var572, var573, var574);
+var568 = var570;
+varonce567 = var568;
+}
+{
+var575 = nitc__annotation___Prod___get_single_annotation(self, var568, var_modelbuilder);
+}
+var_atautoinit = var575;
+if (var_atautoinit == NULL) {
+var576 = 0; /* is null */
+} else {
+var576 = 1; /* arg is null and recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$!= (var_atautoinit,((val*)NULL)) on <var_atautoinit:nullable AAnnotation> */
+var_other150 = ((val*)NULL);
+{
+var579 = ((short int(*)(val* self, val* p0))(var_atautoinit->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_atautoinit, var_other150); /* == on <var_atautoinit:nullable AAnnotation(AAnnotation)>*/
+}
+var580 = !var579;
+var577 = var580;
+goto RET_LABEL578;
+RET_LABEL578:(void)0;
+}
+var576 = var577;
+}
+if (var576){
+{
+{ /* Inline modelize_property$AAttrPropdef$has_value (self) on <self:AAttrPropdef> */
+var583 = self->attrs[COLOR_nitc__modelize_property__AAttrPropdef___has_value].s; /* _has_value on <self:AAttrPropdef> */
+var581 = var583;
+RET_LABEL582:(void)0;
+}
+}
+if (var581){
+if (likely(varonce584!=NULL)) {
+var585 = varonce584;
+} else {
+var586 = "Error: `autoinit` attributes cannot have an initial value.";
+var588 = (val*)(58l<<2|1);
+var589 = (val*)(58l<<2|1);
+var590 = (val*)((long)(0)<<2|3);
+var591 = (val*)((long)(0)<<2|3);
+var587 = core__flat___CString___to_s_unsafe(var586, var588, var589, var590, var591);
+var585 = var587;
+varonce584 = var585;
+}
+{
+nitc___nitc__ModelBuilder___error(var_modelbuilder, var_atautoinit, var585); /* Direct call modelbuilder_base$ModelBuilder$error on <var_modelbuilder:ModelBuilder>*/
+}
+} else {
+{
+var592 = nitc___nitc__MPropDef___is_intro(var_mwritepropdef);
+}
+var593 = !var592;
+if (var593){
+if (likely(varonce594!=NULL)) {
+var595 = varonce594;
+} else {
+var596 = "Error: `autoinit` attributes cannot be set on redefinitions.";
+var598 = (val*)(60l<<2|1);
+var599 = (val*)(60l<<2|1);
+var600 = (val*)((long)(0)<<2|3);
+var601 = (val*)((long)(0)<<2|3);
+var597 = core__flat___CString___to_s_unsafe(var596, var598, var599, var600, var601);
+var595 = var597;
+varonce594 = var595;
+}
+{
+nitc___nitc__ModelBuilder___error(var_modelbuilder, var_atautoinit, var595); /* Direct call modelbuilder_base$ModelBuilder$error on <var_modelbuilder:ModelBuilder>*/
+}
+} else {
+{
+var602 = nitc___nitc__MClassDef___is_intro(var_mclassdef);
+}
+var603 = !var602;
+if (var603){
+if (likely(varonce604!=NULL)) {
+var605 = varonce604;
+} else {
+var606 = "Error: `autoinit` attributes cannot be used in class refinements.";
+var608 = (val*)(65l<<2|1);
+var609 = (val*)(65l<<2|1);
+var610 = (val*)((long)(0)<<2|3);
+var611 = (val*)((long)(0)<<2|3);
+var607 = core__flat___CString___to_s_unsafe(var606, var608, var609, var610, var611);
+var605 = var607;
+varonce604 = var605;
+}
+{
+nitc___nitc__ModelBuilder___error(var_modelbuilder, var_atautoinit, var605); /* Direct call modelbuilder_base$ModelBuilder$error on <var_modelbuilder:ModelBuilder>*/
+}
+} else {
+if (var_atabstract == NULL) {
+var612 = 1; /* is null */
+} else {
+var612 = 0; /* arg is null but recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$== (var_atabstract,((val*)NULL)) on <var_atabstract:nullable AAnnotation> */
+var_other = ((val*)NULL);
+{
+{ /* Inline kernel$Object$is_same_instance (var_atabstract,var_other) on <var_atabstract:nullable AAnnotation(AAnnotation)> */
+var617 = var_atabstract == var_other;
+var615 = var617;
+goto RET_LABEL616;
+RET_LABEL616:(void)0;
+}
+}
+var613 = var615;
+goto RET_LABEL614;
+RET_LABEL614:(void)0;
+}
+var612 = var613;
+}
+if (var612){
+if (likely(varonce618!=NULL)) {
+var619 = varonce618;
+} else {
+var620 = "useless-autoinit";
+var622 = (val*)(16l<<2|1);
+var623 = (val*)(16l<<2|1);
+var624 = (val*)((long)(0)<<2|3);
+var625 = (val*)((long)(0)<<2|3);
+var621 = core__flat___CString___to_s_unsafe(var620, var622, var623, var624, var625);
+var619 = var621;
+varonce618 = var619;
+}
+if (likely(varonce626!=NULL)) {
+var627 = varonce626;
+} else {
+var628 = "Warning: superfluous `autoinit` on attribute.";
+var630 = (val*)(45l<<2|1);
+var631 = (val*)(45l<<2|1);
+var632 = (val*)((long)(0)<<2|3);
+var633 = (val*)((long)(0)<<2|3);
+var629 = core__flat___CString___to_s_unsafe(var628, var630, var631, var632, var633);
+var627 = var629;
+varonce626 = var627;
+}
+{
+nitc___nitc__ModelBuilder___warning(var_modelbuilder, var_atautoinit, var619, var627); /* Direct call modelbuilder_base$ModelBuilder$warning on <var_modelbuilder:ModelBuilder>*/
+}
+} else {
+}
+}
+}
+}
+} else {
+if (var_atabstract == NULL) {
+var634 = 0; /* is null */
+} else {
+var634 = 1; /* arg is null and recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$!= (var_atabstract,((val*)NULL)) on <var_atabstract:nullable AAnnotation> */
+var_other150 = ((val*)NULL);
+{
+var637 = ((short int(*)(val* self, val* p0))(var_atabstract->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_atabstract, var_other150); /* == on <var_atabstract:nullable AAnnotation(AAnnotation)>*/
+}
+var638 = !var637;
+var635 = var638;
+goto RET_LABEL636;
+RET_LABEL636:(void)0;
+}
+var634 = var635;
+}
+if (var634){
+{
+{ /* Inline modelize_property$AAttrPropdef$noinit= (self,1) on <self:AAttrPropdef> */
+self->attrs[COLOR_nitc__modelize_property__AAttrPropdef___noinit].s = 1; /* _noinit on <self:AAttrPropdef> */
+RET_LABEL639:(void)0;
+}
+}
+} else {
+}
+}
+RET_LABEL:;
+}
+/* method modelize_property$AAttrPropdef$build_signature for (self: AAttrPropdef, ModelBuilder) */
+void nitc__modelize_property___AAttrPropdef___APropdef__build_signature(val* self, val* p0) {
+val* var_modelbuilder /* var modelbuilder: ModelBuilder */;
+val* var /* : nullable MMethodDef */;
+val* var2 /* : nullable MMethodDef */;
+val* var_mreadpropdef /* var mreadpropdef: nullable MMethodDef */;
+val* var3 /* : nullable MPropDef */;
+val* var5 /* : nullable MPropDef */;
+val* var_mpropdef /* var mpropdef: nullable MAttributeDef */;
+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 /* : MClassDef */;
+val* var14 /* : MClassDef */;
+val* var_mclassdef /* var mclassdef: MClassDef */;
+val* var15 /* : MModule */;
+val* var17 /* : MModule */;
+val* var_mmodule /* var mmodule: MModule */;
+val* var_mtype /* var mtype: nullable MType */;
+val* var18 /* : nullable AType */;
+val* var20 /* : nullable AType */;
+val* var_ntype /* var ntype: nullable AType */;
+short int var21 /* : Bool */;
+short int var22 /* : Bool */;
+val* var_other24 /* var other: nullable Object */;
+short int var25 /* : Bool */;
+short int var26 /* : Bool */;
+val* var27 /* : nullable MType */;
+short int var28 /* : Bool */;
+short int var29 /* : Bool */;
+short int var31 /* : Bool */;
+short int var33 /* : Bool */;
+val* var_inherited_type /* var inherited_type: nullable MType */;
+short int var34 /* : Bool */;
+short int var35 /* : Bool */;
+val* var36 /* : MProperty */;
+val* var38 /* : MProperty */;
+val* var39 /* : MPropDef */;
+val* var41 /* : MPropDef */;
+val* var42 /* : nullable MSignature */;
+val* var44 /* : nullable MSignature */;
+val* var_msignature /* var msignature: nullable MSignature */;
+short int var45 /* : Bool */;
+short int var46 /* : Bool */;
+short int var48 /* : Bool */;
+short int var50 /* : Bool */;
+val* var51 /* : nullable MType */;
+val* var53 /* : nullable MType */;
+short int var54 /* : Bool */;
+short int var55 /* : Bool */;
+short int var57 /* : Bool */;
+short int var58 /* : Bool */;
+val* var59 /* : MClass */;
+val* var61 /* : MClass */;
+val* var62 /* : MClassType */;
+val* var64 /* : MClassType */;
+val* var65 /* : MClassType */;
+val* var67 /* : MClassType */;
+val* var68 /* : MType */;
+short int var69 /* : Bool */;
+short int var70 /* : Bool */;
+short int var72 /* : Bool */;
+short int var74 /* : Bool */;
+val* var75 /* : nullable AExpr */;
+val* var77 /* : nullable AExpr */;
+val* var_nexpr /* var nexpr: nullable AExpr */;
+short int var78 /* : Bool */;
+short int var79 /* : Bool */;
+short int var81 /* : Bool */;
+short int var83 /* : Bool */;
+short int var84 /* : Bool */;
+short int var85 /* : Bool */;
+short int var87 /* : Bool */;
+short int var88 /* : Bool */;
+short int var89 /* : Bool */;
+int cltype;
+int idtype;
+val* var90 /* : AType */;
+val* var92 /* : AType */;
+val* var93 /* : nullable MType */;
+short int var94 /* : Bool */;
+int cltype95;
+int idtype96;
+val* var97 /* : AType */;
+val* var99 /* : AType */;
+val* var100 /* : nullable MType */;
+short int var101 /* : Bool */;
+int cltype102;
+int idtype103;
+val* var_cla /* var cla: nullable MClass */;
+val* var104 /* : nullable Numeric */;
+val* var106 /* : nullable Numeric */;
+short int var107 /* : Bool */;
+int cltype108;
+int idtype109;
+static val* varonce;
+val* var110 /* : String */;
+char* var111 /* : CString */;
+val* var112 /* : String */;
+val* var113 /* : nullable Int */;
+val* var114 /* : nullable Int */;
+val* var115 /* : nullable Bool */;
+val* var116 /* : nullable Bool */;
+val* var117 /* : nullable MClass */;
+val* var118 /* : nullable Numeric */;
+val* var120 /* : nullable Numeric */;
+short int var121 /* : Bool */;
+int cltype122;
+int idtype123;
+static val* varonce124;
+val* var125 /* : String */;
+char* var126 /* : CString */;
+val* var127 /* : String */;
+val* var128 /* : nullable Int */;
+val* var129 /* : nullable Int */;
+val* var130 /* : nullable Bool */;
+val* var131 /* : nullable Bool */;
+val* var132 /* : nullable MClass */;
+val* var133 /* : nullable Numeric */;
+val* var135 /* : nullable Numeric */;
+short int var136 /* : Bool */;
+int cltype137;
+int idtype138;
+static val* varonce139;
+val* var140 /* : String */;
+char* var141 /* : CString */;
+val* var142 /* : String */;
+val* var143 /* : nullable Int */;
+val* var144 /* : nullable Int */;
+val* var145 /* : nullable Bool */;
+val* var146 /* : nullable Bool */;
+val* var147 /* : nullable MClass */;
+val* var148 /* : nullable Numeric */;
+val* var150 /* : nullable Numeric */;
+short int var151 /* : Bool */;
+int cltype152;
+int idtype153;
+static val* varonce154;
+val* var155 /* : String */;
+char* var156 /* : CString */;
+val* var157 /* : String */;
+val* var158 /* : nullable Int */;
+val* var159 /* : nullable Int */;
+val* var160 /* : nullable Bool */;
+val* var161 /* : nullable Bool */;
+val* var162 /* : nullable MClass */;
+val* var163 /* : nullable Numeric */;
+val* var165 /* : nullable Numeric */;
+short int var166 /* : Bool */;
+int cltype167;
+int idtype168;
+static val* varonce169;
+val* var170 /* : String */;
+char* var171 /* : CString */;
+val* var172 /* : String */;
+val* var173 /* : nullable Int */;
+val* var174 /* : nullable Int */;
+val* var175 /* : nullable Bool */;
+val* var176 /* : nullable Bool */;
+val* var177 /* : nullable MClass */;
+val* var178 /* : nullable Numeric */;
+val* var180 /* : nullable Numeric */;
+short int var181 /* : Bool */;
+int cltype182;
+int idtype183;
+static val* varonce184;
+val* var185 /* : String */;
+char* var186 /* : CString */;
+val* var187 /* : String */;
+val* var188 /* : nullable Int */;
+val* var189 /* : nullable Int */;
+val* var190 /* : nullable Bool */;
+val* var191 /* : nullable Bool */;
+val* var192 /* : nullable MClass */;
+val* var193 /* : nullable Numeric */;
+val* var195 /* : nullable Numeric */;
+short int var196 /* : Bool */;
+int cltype197;
+int idtype198;
+static val* varonce199;
+val* var200 /* : String */;
+char* var201 /* : CString */;
+val* var202 /* : String */;
+val* var203 /* : nullable Int */;
+val* var204 /* : nullable Int */;
+val* var205 /* : nullable Bool */;
+val* var206 /* : nullable Bool */;
+val* var207 /* : nullable MClass */;
+short int var208 /* : Bool */;
+short int var209 /* : Bool */;
+short int var211 /* : Bool */;
+short int var212 /* : Bool */;
+val* var213 /* : MClassType */;
+val* var215 /* : MClassType */;
+short int var216 /* : Bool */;
+int cltype217;
+int idtype218;
+static val* varonce219;
+val* var220 /* : String */;
+char* var221 /* : CString */;
+val* var222 /* : String */;
+val* var223 /* : nullable Int */;
+val* var224 /* : nullable Int */;
+val* var225 /* : nullable Bool */;
+val* var226 /* : nullable Bool */;
+val* var227 /* : nullable MClass */;
+val* var_cla228 /* var cla: nullable MClass */;
+short int var229 /* : Bool */;
+short int var230 /* : Bool */;
+short int var232 /* : Bool */;
+short int var233 /* : Bool */;
+val* var234 /* : MClassType */;
+val* var236 /* : MClassType */;
+short int var237 /* : Bool */;
+int cltype238;
+int idtype239;
+short int var240 /* : Bool */;
+static val* varonce241;
+val* var242 /* : String */;
+char* var243 /* : CString */;
+val* var244 /* : String */;
+val* var245 /* : nullable Int */;
+val* var246 /* : nullable Int */;
+val* var247 /* : nullable Bool */;
+val* var248 /* : nullable Bool */;
+val* var249 /* : nullable MClass */;
+val* var_cla250 /* var cla: nullable MClass */;
+short int var251 /* : Bool */;
+static val* varonce252;
+val* var253 /* : String */;
+char* var254 /* : CString */;
+val* var255 /* : String */;
+val* var256 /* : nullable Int */;
+val* var257 /* : nullable Int */;
+val* var258 /* : nullable Bool */;
+val* var259 /* : nullable Bool */;
+val* var260 /* : nullable MClass */;
+static val* varonce261;
+val* var262 /* : String */;
+char* var263 /* : CString */;
+val* var264 /* : String */;
+val* var265 /* : nullable Int */;
+val* var266 /* : nullable Int */;
+val* var267 /* : nullable Bool */;
+val* var268 /* : nullable Bool */;
+val* var269 /* : nullable MClass */;
+short int var270 /* : Bool */;
+short int var271 /* : Bool */;
+short int var273 /* : Bool */;
+short int var274 /* : Bool */;
+val* var275 /* : MClassType */;
+val* var277 /* : MClassType */;
+short int var278 /* : Bool */;
+int cltype279;
+int idtype280;
+static val* varonce281;
+val* var282 /* : String */;
+char* var283 /* : CString */;
+val* var284 /* : String */;
+val* var285 /* : nullable Int */;
+val* var286 /* : nullable Int */;
+val* var287 /* : nullable Bool */;
+val* var288 /* : nullable Bool */;
+val* var289 /* : nullable MClass */;
+val* var_cla290 /* var cla: nullable MClass */;
+short int var291 /* : Bool */;
+short int var292 /* : Bool */;
+short int var294 /* : Bool */;
+short int var295 /* : Bool */;
+val* var296 /* : MClassType */;
+val* var298 /* : MClassType */;
+short int var299 /* : Bool */;
+int cltype300;
+int idtype301;
+static val* varonce302;
+val* var303 /* : String */;
+char* var304 /* : CString */;
+val* var305 /* : String */;
+val* var306 /* : nullable Int */;
+val* var307 /* : nullable Int */;
+val* var308 /* : nullable Bool */;
+val* var309 /* : nullable Bool */;
+val* var310 /* : nullable MClass */;
+val* var_cla311 /* var cla: nullable MClass */;
+short int var312 /* : Bool */;
+short int var313 /* : Bool */;
+short int var315 /* : Bool */;
+short int var316 /* : Bool */;
+val* var317 /* : MClassType */;
+val* var319 /* : MClassType */;
+short int var320 /* : Bool */;
+int cltype321;
+int idtype322;
+short int var323 /* : Bool */;
+static val* varonce324;
+val* var325 /* : String */;
+char* var326 /* : CString */;
+val* var327 /* : String */;
+val* var328 /* : nullable Int */;
+val* var329 /* : nullable Int */;
+val* var330 /* : nullable Bool */;
+val* var331 /* : nullable Bool */;
+val* var332 /* : nullable MClass */;
+val* var_cla333 /* var cla: nullable MClass */;
+short int var334 /* : Bool */;
+static val* varonce335;
+val* var336 /* : String */;
+char* var337 /* : CString */;
+val* var338 /* : String */;
+val* var339 /* : nullable Int */;
+val* var340 /* : nullable Int */;
+val* var341 /* : nullable Bool */;
+val* var342 /* : nullable Bool */;
+val* var343 /* : nullable MClass */;
+short int var344 /* : Bool */;
+static val* varonce345;
+val* var346 /* : String */;
+char* var347 /* : CString */;
+val* var348 /* : String */;
+val* var349 /* : nullable Int */;
+val* var350 /* : nullable Int */;
+val* var351 /* : nullable Bool */;
+val* var352 /* : nullable Bool */;
+val* var353 /* : nullable MClass */;
+short int var354 /* : Bool */;
+short int var355 /* : Bool */;
+short int var357 /* : Bool */;
+short int var358 /* : Bool */;
+val* var359 /* : MClassType */;
+val* var361 /* : MClassType */;
+val* var363 /* : NativeArray[String] */;
+static val* varonce362;
+static val* varonce364;
+val* var365 /* : String */;
+char* var366 /* : CString */;
+val* var367 /* : String */;
+val* var368 /* : nullable Int */;
+val* var369 /* : nullable Int */;
+val* var370 /* : nullable Bool */;
+val* var371 /* : nullable Bool */;
+static val* varonce372;
+val* var373 /* : String */;
+char* var374 /* : CString */;
+val* var375 /* : String */;
+val* var376 /* : nullable Int */;
+val* var377 /* : nullable Int */;
+val* var378 /* : nullable Bool */;
+val* var379 /* : nullable Bool */;
+val* var380 /* : String */;
+val* var381 /* : String */;
+short int var382 /* : Bool */;
+short int var383 /* : Bool */;
+short int var385 /* : Bool */;
+short int var387 /* : Bool */;
+short int var388 /* : Bool */;
+short int var389 /* : Bool */;
+short int var390 /* : Bool */;
+short int var392 /* : Bool */;
+short int var393 /* : Bool */;
+short int var_ /* var : Bool */;
+short int var394 /* : Bool */;
+short int var395 /* : Bool */;
+short int var397 /* : Bool */;
+short int var399 /* : Bool */;
+short int var400 /* : Bool */;
+int cltype401;
+int idtype402;
+val* var403 /* : AType */;
+val* var405 /* : AType */;
+val* var406 /* : nullable MType */;
+val* var_xmtype /* var xmtype: nullable MType */;
+short int var407 /* : Bool */;
+short int var408 /* : Bool */;
+short int var410 /* : Bool */;
+short int var412 /* : Bool */;
+static val* varonce413;
+val* var414 /* : String */;
+char* var415 /* : CString */;
+val* var416 /* : String */;
+val* var417 /* : nullable Int */;
+val* var418 /* : nullable Int */;
+val* var419 /* : nullable Bool */;
+val* var420 /* : nullable Bool */;
+static val* varonce421;
+val* var422 /* : String */;
+char* var423 /* : CString */;
+val* var424 /* : String */;
+val* var425 /* : nullable Int */;
+val* var426 /* : nullable Int */;
+val* var427 /* : nullable Bool */;
+val* var428 /* : nullable Bool */;
+short int var429 /* : Bool */;
+short int var430 /* : Bool */;
+short int var432 /* : Bool */;
+short int var434 /* : Bool */;
+val* var436 /* : NativeArray[String] */;
+static val* varonce435;
+static val* varonce437;
+val* var438 /* : String */;
+char* var439 /* : CString */;
+val* var440 /* : String */;
+val* var441 /* : nullable Int */;
+val* var442 /* : nullable Int */;
+val* var443 /* : nullable Bool */;
+val* var444 /* : nullable Bool */;
+static val* varonce445;
+val* var446 /* : String */;
+char* var447 /* : CString */;
+val* var448 /* : String */;
+val* var449 /* : nullable Int */;
+val* var450 /* : nullable Int */;
+val* var451 /* : nullable Bool */;
+val* var452 /* : nullable Bool */;
+val* var453 /* : String */;
+val* var454 /* : String */;
+short int var456 /* : Bool */;
+short int var457 /* : Bool */;
+short int var459 /* : Bool */;
+short int var460 /* : Bool */;
+val* var462 /* : MSignature */;
+val* var463 /* : Array[MParameter] */;
+val* var_msignature464 /* var msignature: MSignature */;
+val* var466 /* : nullable MMethodDef */;
+val* var468 /* : nullable MMethodDef */;
+val* var_mwritepropdef /* var mwritepropdef: nullable MMethodDef */;
+short int var469 /* : Bool */;
+short int var470 /* : Bool */;
+short int var472 /* : Bool */;
+short int var473 /* : Bool */;
+val* var_mwritetype /* var mwritetype: MType */;
+short int var474 /* : Bool */;
+short int var476 /* : Bool */;
+val* var477 /* : MType */;
+val* var478 /* : TId */;
+val* var480 /* : TId */;
+val* var481 /* : String */;
+val* var_name /* var name: String */;
+val* var482 /* : MParameter */;
+val* var_mparameter /* var mparameter: MParameter */;
+val* var483 /* : MSignature */;
+val* var484 /* : Array[MParameter] */;
+val* var_485 /* var : Array[MParameter] */;
+val* var_msignature486 /* var msignature: MSignature */;
+val* var488 /* : nullable MAttributeDef */;
+val* var490 /* : nullable MAttributeDef */;
+val* var_mlazypropdef /* var mlazypropdef: nullable MAttributeDef */;
+short int var491 /* : Bool */;
+short int var492 /* : Bool */;
+short int var494 /* : Bool */;
+short int var495 /* : Bool */;
+val* var496 /* : MClassType */;
+var_modelbuilder = p0;
+{
+{ /* Inline modelize_property$AAttrPropdef$mreadpropdef (self) on <self:AAttrPropdef> */
+var2 = self->attrs[COLOR_nitc__modelize_property__AAttrPropdef___mreadpropdef].val; /* _mreadpropdef on <self:AAttrPropdef> */
+var = var2;
+RET_LABEL1:(void)0;
+}
+}
+var_mreadpropdef = var;
+{
+{ /* Inline modelize_property$APropdef$mpropdef (self) on <self:AAttrPropdef> */
+var5 = self->attrs[COLOR_nitc__modelize_property__APropdef___mpropdef].val; /* _mpropdef on <self:AAttrPropdef> */
+var3 = var5;
+RET_LABEL4:(void)0;
+}
+}
+var_mpropdef = var3;
+if (var_mreadpropdef == NULL) {
+var6 = 1; /* is null */
+} else {
+var6 = 0; /* arg is null but recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$== (var_mreadpropdef,((val*)NULL)) on <var_mreadpropdef:nullable MMethodDef> */
+var_other = ((val*)NULL);
+{
+{ /* Inline kernel$Object$is_same_instance (var_mreadpropdef,var_other) on <var_mreadpropdef:nullable MMethodDef(MMethodDef)> */
+var11 = var_mreadpropdef == 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 model$MPropDef$mclassdef (var_mreadpropdef) on <var_mreadpropdef:nullable MMethodDef(MMethodDef)> */
+var14 = var_mreadpropdef->attrs[COLOR_nitc__model__MPropDef___mclassdef].val; /* _mclassdef on <var_mreadpropdef:nullable MMethodDef(MMethodDef)> */
+if (unlikely(var14 == 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, 2354);
+fatal_exit(1);
+}
+var12 = var14;
+RET_LABEL13:(void)0;
+}
+}
+var_mclassdef = var12;
+{
+{ /* Inline model$MClassDef$mmodule (var_mclassdef) on <var_mclassdef:MClassDef> */
+var17 = var_mclassdef->attrs[COLOR_nitc__model__MClassDef___mmodule].val; /* _mmodule on <var_mclassdef:MClassDef> */
+if (unlikely(var17 == 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, 588);
+fatal_exit(1);
+}
+var15 = var17;
+RET_LABEL16:(void)0;
+}
+}
+var_mmodule = var15;
+var_mtype = ((val*)NULL);
+{
+{ /* Inline parser_nodes$AAttrPropdef$n_type (self) on <self:AAttrPropdef> */
+var20 = self->attrs[COLOR_nitc__parser_nodes__AAttrPropdef___n_type].val; /* _n_type on <self:AAttrPropdef> */
+var18 = var20;
+RET_LABEL19:(void)0;
+}
+}
+var_ntype = var18;
+if (var_ntype == NULL) {
+var21 = 0; /* is null */
+} else {
+var21 = 1; /* arg is null and recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$!= (var_ntype,((val*)NULL)) on <var_ntype:nullable AType> */
+var_other24 = ((val*)NULL);
+{
+var25 = ((short int(*)(val* self, val* p0))(var_ntype->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_ntype, var_other24); /* == on <var_ntype:nullable AType(AType)>*/
+}
+var26 = !var25;
+var22 = var26;
+goto RET_LABEL23;
+RET_LABEL23:(void)0;
+}
+var21 = var22;
+}
+if (var21){
+{
+var27 = nitc___nitc__ModelBuilder___resolve_mtype_unchecked(var_modelbuilder, var_mmodule, var_mclassdef, var_ntype, 1);
+}
+var_mtype = var27;
+if (var_mtype == NULL) {
+var28 = 1; /* is null */
+} else {
+var28 = 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)> */
+var33 = var_mtype == var_other;
+var31 = var33;
+goto RET_LABEL32;
+RET_LABEL32:(void)0;
+}
+}
+var29 = var31;
+goto RET_LABEL30;
+RET_LABEL30:(void)0;
+}
+var28 = var29;
+}
+if (var28){
+goto RET_LABEL;
+} else {
+}
+} else {
+}
+var_inherited_type = ((val*)NULL);
+{
+var34 = nitc___nitc__MPropDef___is_intro(var_mreadpropdef);
+}
+var35 = !var34;
+if (var35){
+{
+{ /* Inline model$MPropDef$mproperty (var_mreadpropdef) on <var_mreadpropdef:nullable MMethodDef(MMethodDef)> */
+var38 = var_mreadpropdef->attrs[COLOR_nitc__model__MPropDef___mproperty].val; /* _mproperty on <var_mreadpropdef:nullable MMethodDef(MMethodDef)> */
+if (unlikely(var38 == 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);
+}
+var36 = var38;
+RET_LABEL37:(void)0;
+}
+}
+{
+{ /* Inline model$MProperty$intro (var36) on <var36:MProperty(MMethod)> */
+var41 = var36->attrs[COLOR_nitc__model__MProperty___intro].val; /* _intro on <var36:MProperty(MMethod)> */
+if (unlikely(var41 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 2097);
+fatal_exit(1);
+}
+var39 = var41;
+RET_LABEL40:(void)0;
+}
+}
+{
+{ /* Inline model$MMethodDef$msignature (var39) on <var39:MPropDef(MMethodDef)> */
+var44 = var39->attrs[COLOR_nitc__model__MMethodDef___msignature].val; /* _msignature on <var39:MPropDef(MMethodDef)> */
+var42 = var44;
+RET_LABEL43:(void)0;
+}
+}
+var_msignature = var42;
+if (var_msignature == NULL) {
+var45 = 1; /* is null */
+} else {
+var45 = 0; /* arg is null but recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$== (var_msignature,((val*)NULL)) on <var_msignature:nullable MSignature> */
+var_other = ((val*)NULL);
+{
+{ /* Inline kernel$Object$is_same_instance (var_msignature,var_other) on <var_msignature:nullable MSignature(MSignature)> */
+var50 = var_msignature == var_other;
+var48 = var50;
+goto RET_LABEL49;
+RET_LABEL49:(void)0;
+}
+}
+var46 = var48;
+goto RET_LABEL47;
+RET_LABEL47:(void)0;
+}
+var45 = var46;
+}
+if (var45){
+goto RET_LABEL;
+} else {
+}
+{
+{ /* Inline model$MSignature$return_mtype (var_msignature) on <var_msignature:nullable MSignature(MSignature)> */
+var53 = var_msignature->attrs[COLOR_nitc__model__MSignature___return_mtype].val; /* _return_mtype on <var_msignature:nullable MSignature(MSignature)> */
+var51 = var53;
+RET_LABEL52:(void)0;
+}
+}
+var_inherited_type = var51;
+if (var_inherited_type == NULL) {
+var54 = 0; /* is null */
+} else {
+var54 = 1; /* arg is null and recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$!= (var_inherited_type,((val*)NULL)) on <var_inherited_type:nullable MType> */
+var_other24 = ((val*)NULL);
+{
+var57 = ((short int(*)(val* self, val* p0))(var_inherited_type->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_inherited_type, var_other24); /* == on <var_inherited_type:nullable MType(MType)>*/
+}
+var58 = !var57;
+var55 = var58;
+goto RET_LABEL56;
+RET_LABEL56:(void)0;
+}
+var54 = var55;
+}
+if (var54){
+{
+{ /* Inline model$MClassDef$mclass (var_mclassdef) on <var_mclassdef:MClassDef> */
+var61 = var_mclassdef->attrs[COLOR_nitc__model__MClassDef___mclass].val; /* _mclass on <var_mclassdef:MClassDef> */
+if (unlikely(var61 == 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, 591);
+fatal_exit(1);
+}
+var59 = var61;
+RET_LABEL60:(void)0;
+}
+}
+{
+{ /* Inline model$MClass$mclass_type (var59) on <var59:MClass> */
+var64 = var59->attrs[COLOR_nitc__model__MClass___mclass_type].val; /* _mclass_type on <var59:MClass> */
+if (unlikely(var64 == 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);
+}
+var62 = var64;
+RET_LABEL63:(void)0;
+}
+}
+{
+{ /* Inline model$MClassDef$bound_mtype (var_mclassdef) on <var_mclassdef:MClassDef> */
+var67 = var_mclassdef->attrs[COLOR_nitc__model__MClassDef___bound_mtype].val; /* _bound_mtype on <var_mclassdef:MClassDef> */
+if (unlikely(var67 == 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, 594);
+fatal_exit(1);
+}
+var65 = var67;
+RET_LABEL66:(void)0;
+}
+}
+{
+var68 = ((val*(*)(val* self, val* p0, val* p1, val* p2, short int p3))(var_inherited_type->class->vft[COLOR_nitc__model__MType__resolve_for]))(var_inherited_type, var62, var65, var_mmodule, 0); /* resolve_for on <var_inherited_type:nullable MType(MType)>*/
+}
+var_inherited_type = var68;
+if (var_mtype == NULL) {
+var69 = 1; /* is null */
+} else {
+var69 = 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)> */
+var74 = var_mtype == var_other;
+var72 = var74;
+goto RET_LABEL73;
+RET_LABEL73:(void)0;
+}
+}
+var70 = var72;
+goto RET_LABEL71;
+RET_LABEL71:(void)0;
+}
+var69 = var70;
+}
+if (var69){
+var_mtype = var_inherited_type;
+} else {
+}
+} else {
+}
+} else {
+}
+{
+{ /* Inline parser_nodes$AAttrPropdef$n_expr (self) on <self:AAttrPropdef> */
+var77 = self->attrs[COLOR_nitc__parser_nodes__AAttrPropdef___n_expr].val; /* _n_expr on <self:AAttrPropdef> */
+var75 = var77;
+RET_LABEL76:(void)0;
+}
+}
+var_nexpr = var75;
+if (var_mtype == NULL) {
+var78 = 1; /* is null */
+} else {
+var78 = 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)> */
+var83 = var_mtype == var_other;
+var81 = var83;
+goto RET_LABEL82;
+RET_LABEL82:(void)0;
+}
+}
+var79 = var81;
+goto RET_LABEL80;
+RET_LABEL80:(void)0;
+}
+var78 = var79;
+}
+if (var78){
+if (var_nexpr == NULL) {
+var84 = 0; /* is null */
+} else {
+var84 = 1; /* arg is null and recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$!= (var_nexpr,((val*)NULL)) on <var_nexpr:nullable AExpr> */
+var_other24 = ((val*)NULL);
+{
+var87 = ((short int(*)(val* self, val* p0))(var_nexpr->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nexpr, var_other24); /* == on <var_nexpr:nullable AExpr(AExpr)>*/
+}
+var88 = !var87;
+var85 = var88;
+goto RET_LABEL86;
+RET_LABEL86:(void)0;
+}
+var84 = var85;
+}
+if (var84){
+/* <var_nexpr:nullable AExpr(AExpr)> isa ANewExpr */
+cltype = type_nitc__ANewExpr.color;
+idtype = type_nitc__ANewExpr.id;
+if(cltype >= var_nexpr->type->table_size) {
+var89 = 0;
+} else {
+var89 = var_nexpr->type->type_table[cltype] == idtype;
+}
+if (var89){
+{
+{ /* Inline parser_nodes$ANewExpr$n_type (var_nexpr) on <var_nexpr:nullable AExpr(ANewExpr)> */
+var92 = var_nexpr->attrs[COLOR_nitc__parser_nodes__ANewExpr___n_type].val; /* _n_type on <var_nexpr:nullable AExpr(ANewExpr)> */
+if (unlikely(var92 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2340);
+fatal_exit(1);
+}
+var90 = var92;
+RET_LABEL91:(void)0;
+}
+}
+{
+var93 = nitc___nitc__ModelBuilder___resolve_mtype_unchecked(var_modelbuilder, var_mmodule, var_mclassdef, var90, 1);
+}
+var_mtype = var93;
+} else {
+/* <var_nexpr:nullable AExpr(AExpr)> isa AAsCastExpr */
+cltype95 = type_nitc__AAsCastExpr.color;
+idtype96 = type_nitc__AAsCastExpr.id;
+if(cltype95 >= var_nexpr->type->table_size) {
+var94 = 0;
+} else {
+var94 = var_nexpr->type->type_table[cltype95] == idtype96;
+}
+if (var94){
+{
+{ /* Inline parser_nodes$AAsCastExpr$n_type (var_nexpr) on <var_nexpr:nullable AExpr(AAsCastExpr)> */
+var99 = var_nexpr->attrs[COLOR_nitc__parser_nodes__AAsCastExpr___n_type].val; /* _n_type on <var_nexpr:nullable AExpr(AAsCastExpr)> */
+if (unlikely(var99 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2684);
+fatal_exit(1);
+}
+var97 = var99;
+RET_LABEL98:(void)0;
+}
+}
+{
+var100 = nitc___nitc__ModelBuilder___resolve_mtype_unchecked(var_modelbuilder, var_mmodule, var_mclassdef, var97, 1);
+}
+var_mtype = var100;
+} else {
+/* <var_nexpr:nullable AExpr(AExpr)> isa AIntegerExpr */
+cltype102 = type_nitc__AIntegerExpr.color;
+idtype103 = type_nitc__AIntegerExpr.id;
+if(cltype102 >= var_nexpr->type->table_size) {
+var101 = 0;
+} else {
+var101 = var_nexpr->type->type_table[cltype102] == idtype103;
+}
+if (var101){
+var_cla = ((val*)NULL);
+{
+{ /* Inline literal$AIntegerExpr$value (var_nexpr) on <var_nexpr:nullable AExpr(AIntegerExpr)> */
+var106 = var_nexpr->attrs[COLOR_nitc__literal__AIntegerExpr___value].val; /* _value on <var_nexpr:nullable AExpr(AIntegerExpr)> */
+var104 = var106;
+RET_LABEL105:(void)0;
+}
+}
+/* <var104:nullable Numeric> isa Int */
+cltype108 = type_core__Int.color;
+idtype109 = type_core__Int.id;
+if(var104 == NULL) {
+var107 = 0;
+} else {
+if(cltype108 >= (((long)var104&3)?type_info[((long)var104&3)]:var104->type)->table_size) {
+var107 = 0;
+} else {
+var107 = (((long)var104&3)?type_info[((long)var104&3)]:var104->type)->type_table[cltype108] == idtype109;
+}
+}
+if (var107){
+if (likely(varonce!=NULL)) {
+var110 = varonce;
+} else {
+var111 = "Int";
+var113 = (val*)(3l<<2|1);
+var114 = (val*)(3l<<2|1);
+var115 = (val*)((long)(0)<<2|3);
+var116 = (val*)((long)(0)<<2|3);
+var112 = core__flat___CString___to_s_unsafe(var111, var113, var114, var115, var116);
+var110 = var112;
+varonce = var110;
+}
+{
+var117 = nitc___nitc__ModelBuilder___try_get_mclass_by_name(var_modelbuilder, var_nexpr, var_mmodule, var110);
+}
+var_cla = var117;
+} else {
+{
+{ /* Inline literal$AIntegerExpr$value (var_nexpr) on <var_nexpr:nullable AExpr(AIntegerExpr)> */
+var120 = var_nexpr->attrs[COLOR_nitc__literal__AIntegerExpr___value].val; /* _value on <var_nexpr:nullable AExpr(AIntegerExpr)> */
+var118 = var120;
+RET_LABEL119:(void)0;
+}
+}
+/* <var118:nullable Numeric> isa Byte */
+cltype122 = type_core__Byte.color;
+idtype123 = type_core__Byte.id;
+if(var118 == NULL) {
+var121 = 0;
+} else {
+if(cltype122 >= (((long)var118&3)?type_info[((long)var118&3)]:var118->type)->table_size) {
+var121 = 0;
+} else {
+var121 = (((long)var118&3)?type_info[((long)var118&3)]:var118->type)->type_table[cltype122] == idtype123;
+}
+}
+if (var121){
+if (likely(varonce124!=NULL)) {
+var125 = varonce124;
+} else {
+var126 = "Byte";
+var128 = (val*)(4l<<2|1);
+var129 = (val*)(4l<<2|1);
+var130 = (val*)((long)(0)<<2|3);
+var131 = (val*)((long)(0)<<2|3);
+var127 = core__flat___CString___to_s_unsafe(var126, var128, var129, var130, var131);
+var125 = var127;
+varonce124 = var125;
+}
+{
+var132 = nitc___nitc__ModelBuilder___try_get_mclass_by_name(var_modelbuilder, var_nexpr, var_mmodule, var125);
+}
+var_cla = var132;
+} else {
+{
+{ /* Inline literal$AIntegerExpr$value (var_nexpr) on <var_nexpr:nullable AExpr(AIntegerExpr)> */
+var135 = var_nexpr->attrs[COLOR_nitc__literal__AIntegerExpr___value].val; /* _value on <var_nexpr:nullable AExpr(AIntegerExpr)> */
+var133 = var135;
+RET_LABEL134:(void)0;
+}
+}
+/* <var133:nullable Numeric> isa Int8 */
+cltype137 = type_core__Int8.color;
+idtype138 = type_core__Int8.id;
+if(var133 == NULL) {
+var136 = 0;
+} else {
+if(cltype137 >= (((long)var133&3)?type_info[((long)var133&3)]:var133->type)->table_size) {
+var136 = 0;
+} else {
+var136 = (((long)var133&3)?type_info[((long)var133&3)]:var133->type)->type_table[cltype137] == idtype138;
+}
+}
+if (var136){
+if (likely(varonce139!=NULL)) {
+var140 = varonce139;
+} else {
+var141 = "Int8";
+var143 = (val*)(4l<<2|1);
+var144 = (val*)(4l<<2|1);
+var145 = (val*)((long)(0)<<2|3);
+var146 = (val*)((long)(0)<<2|3);
+var142 = core__flat___CString___to_s_unsafe(var141, var143, var144, var145, var146);
+var140 = var142;
+varonce139 = var140;
+}
+{
+var147 = nitc___nitc__ModelBuilder___try_get_mclass_by_name(var_modelbuilder, var_nexpr, var_mmodule, var140);
+}
+var_cla = var147;
+} else {
+{
+{ /* Inline literal$AIntegerExpr$value (var_nexpr) on <var_nexpr:nullable AExpr(AIntegerExpr)> */
+var150 = var_nexpr->attrs[COLOR_nitc__literal__AIntegerExpr___value].val; /* _value on <var_nexpr:nullable AExpr(AIntegerExpr)> */
+var148 = var150;
+RET_LABEL149:(void)0;
+}
+}
+/* <var148:nullable Numeric> isa Int16 */
+cltype152 = type_core__Int16.color;
+idtype153 = type_core__Int16.id;
+if(var148 == NULL) {
+var151 = 0;
+} else {
+if(cltype152 >= (((long)var148&3)?type_info[((long)var148&3)]:var148->type)->table_size) {
+var151 = 0;
+} else {
+var151 = (((long)var148&3)?type_info[((long)var148&3)]:var148->type)->type_table[cltype152] == idtype153;
+}
+}
+if (var151){
+if (likely(varonce154!=NULL)) {
+var155 = varonce154;
+} else {
+var156 = "Int16";
+var158 = (val*)(5l<<2|1);
+var159 = (val*)(5l<<2|1);
+var160 = (val*)((long)(0)<<2|3);
+var161 = (val*)((long)(0)<<2|3);
+var157 = core__flat___CString___to_s_unsafe(var156, var158, var159, var160, var161);
+var155 = var157;
+varonce154 = var155;
+}
+{
+var162 = nitc___nitc__ModelBuilder___try_get_mclass_by_name(var_modelbuilder, var_nexpr, var_mmodule, var155);
+}
+var_cla = var162;
+} else {
+{
+{ /* Inline literal$AIntegerExpr$value (var_nexpr) on <var_nexpr:nullable AExpr(AIntegerExpr)> */
+var165 = var_nexpr->attrs[COLOR_nitc__literal__AIntegerExpr___value].val; /* _value on <var_nexpr:nullable AExpr(AIntegerExpr)> */
+var163 = var165;
+RET_LABEL164:(void)0;
+}
+}
+/* <var163:nullable Numeric> isa UInt16 */
+cltype167 = type_core__UInt16.color;
+idtype168 = type_core__UInt16.id;
+if(var163 == NULL) {
+var166 = 0;
+} else {
+if(cltype167 >= (((long)var163&3)?type_info[((long)var163&3)]:var163->type)->table_size) {
+var166 = 0;
+} else {
+var166 = (((long)var163&3)?type_info[((long)var163&3)]:var163->type)->type_table[cltype167] == idtype168;
+}
+}
+if (var166){
+if (likely(varonce169!=NULL)) {
+var170 = varonce169;
+} else {
+var171 = "UInt16";
+var173 = (val*)(6l<<2|1);
+var174 = (val*)(6l<<2|1);
+var175 = (val*)((long)(0)<<2|3);
+var176 = (val*)((long)(0)<<2|3);
+var172 = core__flat___CString___to_s_unsafe(var171, var173, var174, var175, var176);
+var170 = var172;
+varonce169 = var170;
+}
+{
+var177 = nitc___nitc__ModelBuilder___try_get_mclass_by_name(var_modelbuilder, var_nexpr, var_mmodule, var170);
+}
+var_cla = var177;
+} else {
+{
+{ /* Inline literal$AIntegerExpr$value (var_nexpr) on <var_nexpr:nullable AExpr(AIntegerExpr)> */
+var180 = var_nexpr->attrs[COLOR_nitc__literal__AIntegerExpr___value].val; /* _value on <var_nexpr:nullable AExpr(AIntegerExpr)> */
+var178 = var180;
+RET_LABEL179:(void)0;
+}
+}
+/* <var178:nullable Numeric> isa Int32 */
+cltype182 = type_core__Int32.color;
+idtype183 = type_core__Int32.id;
+if(var178 == NULL) {
+var181 = 0;
+} else {
+if(cltype182 >= (((long)var178&3)?type_info[((long)var178&3)]:var178->type)->table_size) {
+var181 = 0;
+} else {
+var181 = (((long)var178&3)?type_info[((long)var178&3)]:var178->type)->type_table[cltype182] == idtype183;
+}
+}
+if (var181){
+if (likely(varonce184!=NULL)) {
+var185 = varonce184;
+} else {
+var186 = "Int32";
+var188 = (val*)(5l<<2|1);
+var189 = (val*)(5l<<2|1);
+var190 = (val*)((long)(0)<<2|3);
+var191 = (val*)((long)(0)<<2|3);
+var187 = core__flat___CString___to_s_unsafe(var186, var188, var189, var190, var191);
+var185 = var187;
+varonce184 = var185;
+}
+{
+var192 = nitc___nitc__ModelBuilder___try_get_mclass_by_name(var_modelbuilder, var_nexpr, var_mmodule, var185);
+}
+var_cla = var192;
+} else {
+{
+{ /* Inline literal$AIntegerExpr$value (var_nexpr) on <var_nexpr:nullable AExpr(AIntegerExpr)> */
+var195 = var_nexpr->attrs[COLOR_nitc__literal__AIntegerExpr___value].val; /* _value on <var_nexpr:nullable AExpr(AIntegerExpr)> */
+var193 = var195;
+RET_LABEL194:(void)0;
+}
+}
+/* <var193:nullable Numeric> isa UInt32 */
+cltype197 = type_core__UInt32.color;
+idtype198 = type_core__UInt32.id;
+if(var193 == NULL) {
+var196 = 0;
+} else {
+if(cltype197 >= (((long)var193&3)?type_info[((long)var193&3)]:var193->type)->table_size) {
+var196 = 0;
+} else {
+var196 = (((long)var193&3)?type_info[((long)var193&3)]:var193->type)->type_table[cltype197] == idtype198;
+}
+}
+if (var196){
+if (likely(varonce199!=NULL)) {
+var200 = varonce199;
+} else {
+var201 = "UInt32";
+var203 = (val*)(6l<<2|1);
+var204 = (val*)(6l<<2|1);
+var205 = (val*)((long)(0)<<2|3);
+var206 = (val*)((long)(0)<<2|3);
+var202 = core__flat___CString___to_s_unsafe(var201, var203, var204, var205, var206);
+var200 = var202;
+varonce199 = var200;
+}
+{
+var207 = nitc___nitc__ModelBuilder___try_get_mclass_by_name(var_modelbuilder, var_nexpr, var_mmodule, var200);
+}
+var_cla = var207;
+} else {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Aborted");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelize_property, 1393);
+fatal_exit(1);
+}
+}
+}
+}
+}
+}
+}
+if (var_cla == NULL) {
+var208 = 0; /* is null */
+} else {
+var208 = 1; /* arg is null and recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$!= (var_cla,((val*)NULL)) on <var_cla:nullable MClass> */
+var_other24 = ((val*)NULL);
+{
+var211 = ((short int(*)(val* self, val* p0))(var_cla->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_cla, var_other24); /* == on <var_cla:nullable MClass(MClass)>*/
+}
+var212 = !var211;
+var209 = var212;
+goto RET_LABEL210;
+RET_LABEL210:(void)0;
+}
+var208 = var209;
+}
+if (var208){
+{
+{ /* Inline model$MClass$mclass_type (var_cla) on <var_cla:nullable MClass(MClass)> */
+var215 = var_cla->attrs[COLOR_nitc__model__MClass___mclass_type].val; /* _mclass_type on <var_cla:nullable MClass(MClass)> */
+if (unlikely(var215 == 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);
+}
+var213 = var215;
+RET_LABEL214:(void)0;
+}
+}
+var_mtype = var213;
+} else {
+}
+} else {
+/* <var_nexpr:nullable AExpr(AExpr)> isa AFloatExpr */
+cltype217 = type_nitc__AFloatExpr.color;
+idtype218 = type_nitc__AFloatExpr.id;
+if(cltype217 >= var_nexpr->type->table_size) {
+var216 = 0;
+} else {
+var216 = var_nexpr->type->type_table[cltype217] == idtype218;
+}
+if (var216){
+if (likely(varonce219!=NULL)) {
+var220 = varonce219;
+} else {
+var221 = "Float";
+var223 = (val*)(5l<<2|1);
+var224 = (val*)(5l<<2|1);
+var225 = (val*)((long)(0)<<2|3);
+var226 = (val*)((long)(0)<<2|3);
+var222 = core__flat___CString___to_s_unsafe(var221, var223, var224, var225, var226);
+var220 = var222;
+varonce219 = var220;
+}
+{
+var227 = nitc___nitc__ModelBuilder___try_get_mclass_by_name(var_modelbuilder, var_nexpr, var_mmodule, var220);
+}
+var_cla228 = var227;
+if (var_cla228 == NULL) {
+var229 = 0; /* is null */
+} else {
+var229 = 1; /* arg is null and recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$!= (var_cla228,((val*)NULL)) on <var_cla228:nullable MClass> */
+var_other24 = ((val*)NULL);
+{
+var232 = ((short int(*)(val* self, val* p0))(var_cla228->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_cla228, var_other24); /* == on <var_cla228:nullable MClass(MClass)>*/
+}
+var233 = !var232;
+var230 = var233;
+goto RET_LABEL231;
+RET_LABEL231:(void)0;
+}
+var229 = var230;
+}
+if (var229){
+{
+{ /* Inline model$MClass$mclass_type (var_cla228) on <var_cla228:nullable MClass(MClass)> */
+var236 = var_cla228->attrs[COLOR_nitc__model__MClass___mclass_type].val; /* _mclass_type on <var_cla228:nullable MClass(MClass)> */
+if (unlikely(var236 == 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);
+}
+var234 = var236;
+RET_LABEL235:(void)0;
+}
+}
+var_mtype = var234;
+} else {
+}
+} else {
+/* <var_nexpr:nullable AExpr(AExpr)> isa ACharExpr */
+cltype238 = type_nitc__ACharExpr.color;
+idtype239 = type_nitc__ACharExpr.id;
+if(cltype238 >= var_nexpr->type->table_size) {
+var237 = 0;
+} else {
+var237 = var_nexpr->type->type_table[cltype238] == idtype239;
+}
+if (var237){
+{
+var240 = nitc__literal___ACharExpr___is_ascii(var_nexpr);
+}
+if (var240){
+if (likely(varonce241!=NULL)) {
+var242 = varonce241;
+} else {
+var243 = "Byte";
+var245 = (val*)(4l<<2|1);
+var246 = (val*)(4l<<2|1);
+var247 = (val*)((long)(0)<<2|3);
+var248 = (val*)((long)(0)<<2|3);
+var244 = core__flat___CString___to_s_unsafe(var243, var245, var246, var247, var248);
+var242 = var244;
+varonce241 = var242;
+}
+{
+var249 = nitc___nitc__ModelBuilder___try_get_mclass_by_name(var_modelbuilder, var_nexpr, var_mmodule, var242);
+}
+var_cla250 = var249;
+} else {
+{
+var251 = nitc__literal___ACharExpr___is_code_point(var_nexpr);
+}
+if (var251){
+if (likely(varonce252!=NULL)) {
+var253 = varonce252;
+} else {
+var254 = "Int";
+var256 = (val*)(3l<<2|1);
+var257 = (val*)(3l<<2|1);
+var258 = (val*)((long)(0)<<2|3);
+var259 = (val*)((long)(0)<<2|3);
+var255 = core__flat___CString___to_s_unsafe(var254, var256, var257, var258, var259);
+var253 = var255;
+varonce252 = var253;
+}
+{
+var260 = nitc___nitc__ModelBuilder___try_get_mclass_by_name(var_modelbuilder, var_nexpr, var_mmodule, var253);
+}
+var_cla250 = var260;
+} else {
+if (likely(varonce261!=NULL)) {
+var262 = varonce261;
+} else {
+var263 = "Char";
+var265 = (val*)(4l<<2|1);
+var266 = (val*)(4l<<2|1);
+var267 = (val*)((long)(0)<<2|3);
+var268 = (val*)((long)(0)<<2|3);
+var264 = core__flat___CString___to_s_unsafe(var263, var265, var266, var267, var268);
+var262 = var264;
+varonce261 = var262;
+}
+{
+var269 = nitc___nitc__ModelBuilder___try_get_mclass_by_name(var_modelbuilder, var_nexpr, var_mmodule, var262);
+}
+var_cla250 = var269;
+}
+}
+if (var_cla250 == NULL) {
+var270 = 0; /* is null */
+} else {
+var270 = 1; /* arg is null and recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$!= (var_cla250,((val*)NULL)) on <var_cla250:nullable MClass> */
+var_other24 = ((val*)NULL);
+{
+var273 = ((short int(*)(val* self, val* p0))(var_cla250->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_cla250, var_other24); /* == on <var_cla250:nullable MClass(MClass)>*/
+}
+var274 = !var273;
+var271 = var274;
+goto RET_LABEL272;
+RET_LABEL272:(void)0;
+}
+var270 = var271;
+}
+if (var270){
+{
+{ /* Inline model$MClass$mclass_type (var_cla250) on <var_cla250:nullable MClass(MClass)> */
+var277 = var_cla250->attrs[COLOR_nitc__model__MClass___mclass_type].val; /* _mclass_type on <var_cla250:nullable MClass(MClass)> */
+if (unlikely(var277 == 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);
+}
+var275 = var277;
+RET_LABEL276:(void)0;
+}
+}
+var_mtype = var275;
+} else {
+}
+} else {
+/* <var_nexpr:nullable AExpr(AExpr)> isa ABoolExpr */
+cltype279 = type_nitc__ABoolExpr.color;
+idtype280 = type_nitc__ABoolExpr.id;
+if(cltype279 >= var_nexpr->type->table_size) {
+var278 = 0;
+} else {
+var278 = var_nexpr->type->type_table[cltype279] == idtype280;
+}
+if (var278){
+if (likely(varonce281!=NULL)) {
+var282 = varonce281;
+} else {
+var283 = "Bool";
+var285 = (val*)(4l<<2|1);
+var286 = (val*)(4l<<2|1);
+var287 = (val*)((long)(0)<<2|3);
+var288 = (val*)((long)(0)<<2|3);
+var284 = core__flat___CString___to_s_unsafe(var283, var285, var286, var287, var288);
+var282 = var284;
+varonce281 = var282;
+}
+{
+var289 = nitc___nitc__ModelBuilder___try_get_mclass_by_name(var_modelbuilder, var_nexpr, var_mmodule, var282);
+}
+var_cla290 = var289;
+if (var_cla290 == NULL) {
+var291 = 0; /* is null */
+} else {
+var291 = 1; /* arg is null and recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$!= (var_cla290,((val*)NULL)) on <var_cla290:nullable MClass> */
+var_other24 = ((val*)NULL);
+{
+var294 = ((short int(*)(val* self, val* p0))(var_cla290->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_cla290, var_other24); /* == on <var_cla290:nullable MClass(MClass)>*/
+}
+var295 = !var294;
+var292 = var295;
+goto RET_LABEL293;
+RET_LABEL293:(void)0;
+}
+var291 = var292;
+}
+if (var291){
+{
+{ /* Inline model$MClass$mclass_type (var_cla290) on <var_cla290:nullable MClass(MClass)> */
+var298 = var_cla290->attrs[COLOR_nitc__model__MClass___mclass_type].val; /* _mclass_type on <var_cla290:nullable MClass(MClass)> */
+if (unlikely(var298 == 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);
+}
+var296 = var298;
+RET_LABEL297:(void)0;
+}
+}
+var_mtype = var296;
+} else {
+}
+} else {
+/* <var_nexpr:nullable AExpr(AExpr)> isa ASuperstringExpr */
+cltype300 = type_nitc__ASuperstringExpr.color;
+idtype301 = type_nitc__ASuperstringExpr.id;
+if(cltype300 >= var_nexpr->type->table_size) {
+var299 = 0;
+} else {
+var299 = var_nexpr->type->type_table[cltype300] == idtype301;
+}
+if (var299){
+if (likely(varonce302!=NULL)) {
+var303 = varonce302;
+} else {
+var304 = "String";
+var306 = (val*)(6l<<2|1);
+var307 = (val*)(6l<<2|1);
+var308 = (val*)((long)(0)<<2|3);
+var309 = (val*)((long)(0)<<2|3);
+var305 = core__flat___CString___to_s_unsafe(var304, var306, var307, var308, var309);
+var303 = var305;
+varonce302 = var303;
+}
+{
+var310 = nitc___nitc__ModelBuilder___try_get_mclass_by_name(var_modelbuilder, var_nexpr, var_mmodule, var303);
+}
+var_cla311 = var310;
+if (var_cla311 == NULL) {
+var312 = 0; /* is null */
+} else {
+var312 = 1; /* arg is null and recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$!= (var_cla311,((val*)NULL)) on <var_cla311:nullable MClass> */
+var_other24 = ((val*)NULL);
+{
+var315 = ((short int(*)(val* self, val* p0))(var_cla311->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_cla311, var_other24); /* == on <var_cla311:nullable MClass(MClass)>*/
+}
+var316 = !var315;
+var313 = var316;
+goto RET_LABEL314;
+RET_LABEL314:(void)0;
+}
+var312 = var313;
+}
+if (var312){
+{
+{ /* Inline model$MClass$mclass_type (var_cla311) on <var_cla311:nullable MClass(MClass)> */
+var319 = var_cla311->attrs[COLOR_nitc__model__MClass___mclass_type].val; /* _mclass_type on <var_cla311:nullable MClass(MClass)> */
+if (unlikely(var319 == 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);
+}
+var317 = var319;
+RET_LABEL318:(void)0;
+}
+}
+var_mtype = var317;
+} else {
+}
+} else {
+/* <var_nexpr:nullable AExpr(AExpr)> isa AStringFormExpr */
+cltype321 = type_nitc__AStringFormExpr.color;
+idtype322 = type_nitc__AStringFormExpr.id;
+if(cltype321 >= var_nexpr->type->table_size) {
+var320 = 0;
+} else {
+var320 = var_nexpr->type->type_table[cltype321] == idtype322;
+}
+if (var320){
+{
+var323 = nitc___nitc__AugmentedStringFormExpr___is_bytestring(var_nexpr);
+}
+if (var323){
+if (likely(varonce324!=NULL)) {
+var325 = varonce324;
+} else {
+var326 = "Bytes";
+var328 = (val*)(5l<<2|1);
+var329 = (val*)(5l<<2|1);
+var330 = (val*)((long)(0)<<2|3);
+var331 = (val*)((long)(0)<<2|3);
+var327 = core__flat___CString___to_s_unsafe(var326, var328, var329, var330, var331);
+var325 = var327;
+varonce324 = var325;
+}
+{
+var332 = nitc___nitc__ModelBuilder___try_get_mclass_by_name(var_modelbuilder, var_nexpr, var_mmodule, var325);
+}
+var_cla333 = var332;
+} else {
+{
+var334 = nitc___nitc__AugmentedStringFormExpr___is_re(var_nexpr);
+}
+if (var334){
+if (likely(varonce335!=NULL)) {
+var336 = varonce335;
+} else {
+var337 = "Regex";
+var339 = (val*)(5l<<2|1);
+var340 = (val*)(5l<<2|1);
+var341 = (val*)((long)(0)<<2|3);
+var342 = (val*)((long)(0)<<2|3);
+var338 = core__flat___CString___to_s_unsafe(var337, var339, var340, var341, var342);
+var336 = var338;
+varonce335 = var336;
+}
+{
+var343 = nitc___nitc__ModelBuilder___try_get_mclass_by_name(var_modelbuilder, var_nexpr, var_mmodule, var336);
+}
+var_cla333 = var343;
+} else {
+{
+var344 = nitc___nitc__AugmentedStringFormExpr___is_string(var_nexpr);
+}
+if (var344){
+if (likely(varonce345!=NULL)) {
+var346 = varonce345;
+} else {
+var347 = "String";
+var349 = (val*)(6l<<2|1);
+var350 = (val*)(6l<<2|1);
+var351 = (val*)((long)(0)<<2|3);
+var352 = (val*)((long)(0)<<2|3);
+var348 = core__flat___CString___to_s_unsafe(var347, var349, var350, var351, var352);
+var346 = var348;
+varonce345 = var346;
+}
+{
+var353 = nitc___nitc__ModelBuilder___try_get_mclass_by_name(var_modelbuilder, var_nexpr, var_mmodule, var346);
+}
+var_cla333 = var353;
+} else {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Aborted");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelize_property, 1424);
+fatal_exit(1);
+}
+}
+}
+if (var_cla333 == NULL) {
+var354 = 0; /* is null */
+} else {
+var354 = 1; /* arg is null and recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$!= (var_cla333,((val*)NULL)) on <var_cla333:nullable MClass> */
+var_other24 = ((val*)NULL);
+{
+var357 = ((short int(*)(val* self, val* p0))(var_cla333->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_cla333, var_other24); /* == on <var_cla333:nullable MClass(MClass)>*/
+}
+var358 = !var357;
+var355 = var358;
+goto RET_LABEL356;
+RET_LABEL356:(void)0;
+}
+var354 = var355;
+}
+if (var354){
+{
+{ /* Inline model$MClass$mclass_type (var_cla333) on <var_cla333:nullable MClass(MClass)> */
+var361 = var_cla333->attrs[COLOR_nitc__model__MClass___mclass_type].val; /* _mclass_type on <var_cla333:nullable MClass(MClass)> */
+if (unlikely(var361 == 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);
+}
+var359 = var361;
+RET_LABEL360:(void)0;
+}
+}
+var_mtype = var359;
+} else {
+}
+} else {
+if (unlikely(varonce362==NULL)) {
+var363 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String);
+if (likely(varonce364!=NULL)) {
+var365 = varonce364;
+} else {
+var366 = "Error: untyped attribute `";
+var368 = (val*)(26l<<2|1);
+var369 = (val*)(26l<<2|1);
+var370 = (val*)((long)(0)<<2|3);
+var371 = (val*)((long)(0)<<2|3);
+var367 = core__flat___CString___to_s_unsafe(var366, var368, var369, var370, var371);
+var365 = var367;
+varonce364 = var365;
+}
+((struct instance_core__NativeArray*)var363)->values[0]=var365;
+if (likely(varonce372!=NULL)) {
+var373 = varonce372;
+} else {
+var374 = "`. Implicit typing allowed only for literals and new.";
+var376 = (val*)(53l<<2|1);
+var377 = (val*)(53l<<2|1);
+var378 = (val*)((long)(0)<<2|3);
+var379 = (val*)((long)(0)<<2|3);
+var375 = core__flat___CString___to_s_unsafe(var374, var376, var377, var378, var379);
+var373 = var375;
+varonce372 = var373;
+}
+((struct instance_core__NativeArray*)var363)->values[2]=var373;
+} else {
+var363 = varonce362;
+varonce362 = NULL;
+}
+{
+var380 = ((val*(*)(val* self))(var_mreadpropdef->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_mreadpropdef); /* to_s on <var_mreadpropdef:nullable MMethodDef(MMethodDef)>*/
+}
+((struct instance_core__NativeArray*)var363)->values[1]=var380;
+{
+var381 = ((val*(*)(val* self))(var363->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var363); /* native_to_s on <var363:NativeArray[String]>*/
+}
+varonce362 = var363;
+{
+nitc___nitc__ModelBuilder___error(var_modelbuilder, self, var381); /* Direct call modelbuilder_base$ModelBuilder$error on <var_modelbuilder:ModelBuilder>*/
+}
+}
+}
+}
+}
+}
+}
+}
+}
+if (var_mtype == NULL) {
+var382 = 1; /* is null */
+} else {
+var382 = 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)> */
+var387 = var_mtype == var_other;
+var385 = var387;
+goto RET_LABEL386;
+RET_LABEL386:(void)0;
+}
+}
+var383 = var385;
+goto RET_LABEL384;
+RET_LABEL384:(void)0;
+}
+var382 = var383;
+}
+if (var382){
+goto RET_LABEL;
+} else {
+}
+} else {
+}
+} else {
+if (var_ntype == NULL) {
+var389 = 0; /* is null */
+} else {
+var389 = 1; /* arg is null and recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$!= (var_ntype,((val*)NULL)) on <var_ntype:nullable AType> */
+var_other24 = ((val*)NULL);
+{
+var392 = ((short int(*)(val* self, val* p0))(var_ntype->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_ntype, var_other24); /* == on <var_ntype:nullable AType(AType)>*/
+}
+var393 = !var392;
+var390 = var393;
+goto RET_LABEL391;
+RET_LABEL391:(void)0;
+}
+var389 = var390;
+}
+var_ = var389;
+if (var389){
+if (var_inherited_type == NULL) {
+var394 = 0; /* <var_mtype:nullable MType(MType)> cannot be null */
+} else {
+{ /* Inline kernel$Object$== (var_inherited_type,var_mtype) on <var_inherited_type:nullable MType> */
+var_other = var_mtype;
+{
+{ /* Inline kernel$Object$is_same_instance (var_inherited_type,var_other) on <var_inherited_type:nullable MType(MType)> */
+var399 = var_inherited_type == var_other;
+var397 = var399;
+goto RET_LABEL398;
+RET_LABEL398:(void)0;
+}
+}
+var395 = var397;
+goto RET_LABEL396;
+RET_LABEL396:(void)0;
+}
+var394 = var395;
+}
+var388 = var394;
+} else {
+var388 = var_;
+}
+if (var388){
+/* <var_nexpr:nullable AExpr> isa ANewExpr */
+cltype401 = type_nitc__ANewExpr.color;
+idtype402 = type_nitc__ANewExpr.id;
+if(var_nexpr == NULL) {
+var400 = 0;
+} else {
+if(cltype401 >= var_nexpr->type->table_size) {
+var400 = 0;
+} else {
+var400 = var_nexpr->type->type_table[cltype401] == idtype402;
+}
+}
+if (var400){
+{
+{ /* Inline parser_nodes$ANewExpr$n_type (var_nexpr) on <var_nexpr:nullable AExpr(ANewExpr)> */
+var405 = var_nexpr->attrs[COLOR_nitc__parser_nodes__ANewExpr___n_type].val; /* _n_type on <var_nexpr:nullable AExpr(ANewExpr)> */
+if (unlikely(var405 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2340);
+fatal_exit(1);
+}
+var403 = var405;
+RET_LABEL404:(void)0;
+}
+}
+{
+var406 = nitc___nitc__ModelBuilder___resolve_mtype_unchecked(var_modelbuilder, var_mmodule, var_mclassdef, var403, 1);
+}
+var_xmtype = var406;
+if (var_xmtype == NULL) {
+var407 = 0; /* <var_mtype:nullable MType(MType)> cannot be null */
+} else {
+{ /* Inline kernel$Object$== (var_xmtype,var_mtype) on <var_xmtype:nullable MType> */
+var_other = var_mtype;
+{
+{ /* Inline kernel$Object$is_same_instance (var_xmtype,var_other) on <var_xmtype:nullable MType(MType)> */
+var412 = var_xmtype == var_other;
+var410 = var412;
+goto RET_LABEL411;
+RET_LABEL411:(void)0;
+}
+}
+var408 = var410;
+goto RET_LABEL409;
+RET_LABEL409:(void)0;
+}
+var407 = var408;
+}
+if (var407){
+if (likely(varonce413!=NULL)) {
+var414 = varonce413;
+} else {
+var415 = "useless-type";
+var417 = (val*)(12l<<2|1);
+var418 = (val*)(12l<<2|1);
+var419 = (val*)((long)(0)<<2|3);
+var420 = (val*)((long)(0)<<2|3);
+var416 = core__flat___CString___to_s_unsafe(var415, var417, var418, var419, var420);
+var414 = var416;
+varonce413 = var414;
+}
+if (likely(varonce421!=NULL)) {
+var422 = varonce421;
+} else {
+var423 = "Warning: useless type definition";
+var425 = (val*)(32l<<2|1);
+var426 = (val*)(32l<<2|1);
+var427 = (val*)((long)(0)<<2|3);
+var428 = (val*)((long)(0)<<2|3);
+var424 = core__flat___CString___to_s_unsafe(var423, var425, var426, var427, var428);
+var422 = var424;
+varonce421 = var422;
+}
+{
+nitc___nitc__ModelBuilder___advice(var_modelbuilder, var_ntype, var414, var422); /* Direct call modelbuilder_base$ModelBuilder$advice on <var_modelbuilder:ModelBuilder>*/
+}
+} else {
+}
+} else {
+}
+} else {
+}
+}
+if (var_mtype == NULL) {
+var429 = 1; /* is null */
+} else {
+var429 = 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)> */
+var434 = var_mtype == var_other;
+var432 = var434;
+goto RET_LABEL433;
+RET_LABEL433:(void)0;
+}
+}
+var430 = var432;
+goto RET_LABEL431;
+RET_LABEL431:(void)0;
+}
+var429 = var430;
+}
+if (var429){
+if (unlikely(varonce435==NULL)) {
+var436 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String);
+if (likely(varonce437!=NULL)) {
+var438 = varonce437;
+} else {
+var439 = "Error: untyped attribute `";
+var441 = (val*)(26l<<2|1);
+var442 = (val*)(26l<<2|1);
+var443 = (val*)((long)(0)<<2|3);
+var444 = (val*)((long)(0)<<2|3);
+var440 = core__flat___CString___to_s_unsafe(var439, var441, var442, var443, var444);
+var438 = var440;
+varonce437 = var438;
+}
+((struct instance_core__NativeArray*)var436)->values[0]=var438;
+if (likely(varonce445!=NULL)) {
+var446 = varonce445;
+} else {
+var447 = "`.";
+var449 = (val*)(2l<<2|1);
+var450 = (val*)(2l<<2|1);
+var451 = (val*)((long)(0)<<2|3);
+var452 = (val*)((long)(0)<<2|3);
+var448 = core__flat___CString___to_s_unsafe(var447, var449, var450, var451, var452);
+var446 = var448;
+varonce445 = var446;
+}
+((struct instance_core__NativeArray*)var436)->values[2]=var446;
+} else {
+var436 = varonce435;
+varonce435 = NULL;
+}
+{
+var453 = ((val*(*)(val* self))(var_mreadpropdef->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_mreadpropdef); /* to_s on <var_mreadpropdef:nullable MMethodDef(MMethodDef)>*/
+}
+((struct instance_core__NativeArray*)var436)->values[1]=var453;
+{
+var454 = ((val*(*)(val* self))(var436->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var436); /* native_to_s on <var436:NativeArray[String]>*/
+}
+varonce435 = var436;
+{
+nitc___nitc__ModelBuilder___error(var_modelbuilder, self, var454); /* Direct call modelbuilder_base$ModelBuilder$error on <var_modelbuilder:ModelBuilder>*/
+}
+goto RET_LABEL;
+} else {
+}
+{
+{ /* Inline modelize_property$AAttrPropdef$mtype= (self,var_mtype) on <self:AAttrPropdef> */
+self->attrs[COLOR_nitc__modelize_property__AAttrPropdef___mtype].val = var_mtype; /* _mtype on <self:AAttrPropdef> */
+RET_LABEL455:(void)0;
+}
+}
+if (var_mpropdef == NULL) {
+var456 = 0; /* is null */
+} else {
+var456 = 1; /* arg is null and recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$!= (var_mpropdef,((val*)NULL)) on <var_mpropdef:nullable MAttributeDef> */
+var_other24 = ((val*)NULL);
+{
+var459 = ((short int(*)(val* self, val* p0))(var_mpropdef->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_mpropdef, var_other24); /* == on <var_mpropdef:nullable MAttributeDef(MAttributeDef)>*/
+}
+var460 = !var459;
+var457 = var460;
+goto RET_LABEL458;
+RET_LABEL458:(void)0;
+}
+var456 = var457;
+}
+if (var456){
+{
+{ /* Inline model$MAttributeDef$static_mtype= (var_mpropdef,var_mtype) on <var_mpropdef:nullable MAttributeDef(MAttributeDef)> */
+var_mpropdef->attrs[COLOR_nitc__model__MAttributeDef___static_mtype].val = var_mtype; /* _static_mtype on <var_mpropdef:nullable MAttributeDef(MAttributeDef)> */
+RET_LABEL461:(void)0;
+}
+}
+} else {
+}
+var462 = NEW_nitc__MSignature(&type_nitc__MSignature);
+var463 = NEW_core__Array(&type_core__Array__nitc__MParameter);
+{
+core___core__Array___core__kernel__Object__init(var463); /* Direct call array$Array$init on <var463:Array[MParameter]>*/
+}
+{
+((void(*)(val* self, val* p0))(var462->class->vft[COLOR_nitc__model__MSignature__mparameters_61d]))(var462, var463); /* mparameters= on <var462:MSignature>*/
+}
+{
+((void(*)(val* self, val* p0))(var462->class->vft[COLOR_nitc__model__MSignature__return_mtype_61d]))(var462, var_mtype); /* return_mtype= on <var462:MSignature>*/
+}
+{
+((void(*)(val* self))(var462->class->vft[COLOR_core__kernel__Object__init]))(var462); /* init on <var462:MSignature>*/
+}
+var_msignature464 = var462;
+{
+{ /* Inline model$MMethodDef$msignature= (var_mreadpropdef,var_msignature464) on <var_mreadpropdef:nullable MMethodDef(MMethodDef)> */
+var_mreadpropdef->attrs[COLOR_nitc__model__MMethodDef___msignature].val = var_msignature464; /* _msignature on <var_mreadpropdef:nullable MMethodDef(MMethodDef)> */
+RET_LABEL465:(void)0;
+}
+}
+{
+{ /* Inline modelize_property$AAttrPropdef$mwritepropdef (self) on <self:AAttrPropdef> */
+var468 = self->attrs[COLOR_nitc__modelize_property__AAttrPropdef___mwritepropdef].val; /* _mwritepropdef on <self:AAttrPropdef> */
+var466 = var468;
+RET_LABEL467:(void)0;
+}
+}
+var_mwritepropdef = var466;
+if (var_mwritepropdef == NULL) {
+var469 = 0; /* is null */
+} else {
+var469 = 1; /* arg is null and recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$!= (var_mwritepropdef,((val*)NULL)) on <var_mwritepropdef:nullable MMethodDef> */
+var_other24 = ((val*)NULL);
+{
+var472 = ((short int(*)(val* self, val* p0))(var_mwritepropdef->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_mwritepropdef, var_other24); /* == on <var_mwritepropdef:nullable MMethodDef(MMethodDef)>*/
+}
+var473 = !var472;
+var470 = var473;
+goto RET_LABEL471;
+RET_LABEL471:(void)0;
+}
+var469 = var470;
+}
+if (var469){
+var_mwritetype = var_mtype;
+{
+{ /* Inline modelize_property$AAttrPropdef$is_optional (self) on <self:AAttrPropdef> */
+var476 = self->attrs[COLOR_nitc__modelize_property__AAttrPropdef___is_optional].s; /* _is_optional on <self:AAttrPropdef> */
+var474 = var476;
+RET_LABEL475:(void)0;
+}
+}
+if (var474){
+{
+var477 = ((val*(*)(val* self))(var_mwritetype->class->vft[COLOR_nitc__model__MType__as_nullable]))(var_mwritetype); /* as_nullable on <var_mwritetype:MType>*/
+}
+var_mwritetype = var477;
+} else {
+}
+{
+{ /* Inline parser_nodes$AAttrPropdef$n_id2 (self) on <self:AAttrPropdef> */
+var480 = self->attrs[COLOR_nitc__parser_nodes__AAttrPropdef___n_id2].val; /* _n_id2 on <self:AAttrPropdef> */
+if (unlikely(var480 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id2");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1340);
+fatal_exit(1);
+}
+var478 = var480;
+RET_LABEL479:(void)0;
+}
+}
+{
+var481 = nitc__lexer_work___Token___text(var478);
+}
+var_name = var481;
+var482 = NEW_nitc__MParameter(&type_nitc__MParameter);
+{
+((void(*)(val* self, val* p0))(var482->class->vft[COLOR_nitc__model__MParameter__name_61d]))(var482, var_name); /* name= on <var482:MParameter>*/
+}
+{
+((void(*)(val* self, val* p0))(var482->class->vft[COLOR_nitc__model__MParameter__mtype_61d]))(var482, var_mwritetype); /* mtype= on <var482:MParameter>*/
+}
+{
+((void(*)(val* self, short int p0))(var482->class->vft[COLOR_nitc__model__MParameter__is_vararg_61d]))(var482, 0); /* is_vararg= on <var482:MParameter>*/
+}
+{
+((void(*)(val* self))(var482->class->vft[COLOR_core__kernel__Object__init]))(var482); /* init on <var482:MParameter>*/
+}
+var_mparameter = var482;
+var483 = NEW_nitc__MSignature(&type_nitc__MSignature);
+var484 = NEW_core__Array(&type_core__Array__nitc__MParameter);
+{
+core___core__Array___with_capacity(var484, 1l); /* Direct call array$Array$with_capacity on <var484:Array[MParameter]>*/
+}
+var_485 = var484;
+{
+core___core__AbstractArray___core__abstract_collection__Sequence__push(var_485, var_mparameter); /* Direct call array$AbstractArray$push on <var_485:Array[MParameter]>*/
+}
+{
+((void(*)(val* self, val* p0))(var483->class->vft[COLOR_nitc__model__MSignature__mparameters_61d]))(var483, var_485); /* mparameters= on <var483:MSignature>*/
+}
+{
+((void(*)(val* self, val* p0))(var483->class->vft[COLOR_nitc__model__MSignature__return_mtype_61d]))(var483, ((val*)NULL)); /* return_mtype= on <var483:MSignature>*/
+}
+{
+((void(*)(val* self))(var483->class->vft[COLOR_core__kernel__Object__init]))(var483); /* init on <var483:MSignature>*/
+}
+var_msignature486 = var483;
+{
+{ /* Inline model$MMethodDef$msignature= (var_mwritepropdef,var_msignature486) on <var_mwritepropdef:nullable MMethodDef(MMethodDef)> */
+var_mwritepropdef->attrs[COLOR_nitc__model__MMethodDef___msignature].val = var_msignature486; /* _msignature on <var_mwritepropdef:nullable MMethodDef(MMethodDef)> */
+RET_LABEL487:(void)0;
+}
+}
+} else {
+}
+{
+{ /* Inline modelize_property$AAttrPropdef$mlazypropdef (self) on <self:AAttrPropdef> */
+var490 = self->attrs[COLOR_nitc__modelize_property__AAttrPropdef___mlazypropdef].val; /* _mlazypropdef on <self:AAttrPropdef> */
+var488 = var490;
+RET_LABEL489:(void)0;
+}
+}
+var_mlazypropdef = var488;
+if (var_mlazypropdef == NULL) {
+var491 = 0; /* is null */
+} else {
+var491 = 1; /* arg is null and recv is not */
+}
+if (0) {
+{ /* Inline kernel$Object$!= (var_mlazypropdef,((val*)NULL)) on <var_mlazypropdef:nullable MAttributeDef> */
+var_other24 = ((val*)NULL);
+{
+var494 = ((short int(*)(val* self, val* p0))(var_mlazypropdef->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_mlazypropdef, var_other24); /* == on <var_mlazypropdef:nullable MAttributeDef(MAttributeDef)>*/
+}
+var495 = !var494;
+var492 = var495;
+goto RET_LABEL493;
+RET_LABEL493:(void)0;
+}
+var491 = var492;
+}
+if (var491){
+{
+var496 = nitc__model___MModule___bool_type(var_mmodule);
+}
+{
+{ /* Inline model$MAttributeDef$static_mtype= (var_mlazypropdef,var496) on <var_mlazypropdef:nullable MAttributeDef(MAttributeDef)> */
+var_mlazypropdef->attrs[COLOR_nitc__model__MAttributeDef___static_mtype].val = var496; /* _static_mtype on <var_mlazypropdef:nullable MAttributeDef(MAttributeDef)> */
+RET_LABEL497:(void)0;
+}
+}
+} else {
+}
+{
+nitc__modelize_property___AAttrPropdef___APropdef__check_repeated_types(self, var_modelbuilder); /* Direct call modelize_property$AAttrPropdef$check_repeated_types on <self:AAttrPropdef>*/
+}
+RET_LABEL:;
+}
+/* method modelize_property$AAttrPropdef$check_signature for (self: AAttrPropdef, ModelBuilder) */