X-Git-Url: http://nitlanguage.org diff --git a/c_src/nit__modelize_class.sep.1.c b/c_src/nit__modelize_class.sep.1.c index 01b8a8a..866eea5 100644 --- a/c_src/nit__modelize_class.sep.1.c +++ b/c_src/nit__modelize_class.sep.1.c @@ -7,7 +7,7 @@ var1 = self->attrs[COLOR_nit__modelize_class__ToolContext___modelize_class_phase if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelize_class_phase"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 23); -show_backtrace(1); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -25,8 +25,8 @@ var_nmodule = p0; var2 = self->attrs[COLOR_nit__phase__Phase___toolcontext].val; /* _toolcontext on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 201); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 200); +fatal_exit(1); } var = var2; RET_LABEL1:(void)0; @@ -47,30 +47,30 @@ val* var_nclassdef /* var nclassdef: AClassdef */; val* var /* : nullable MModule */; val* var2 /* : nullable MModule */; val* var_mmodule /* var mmodule: MModule */; -long var3 /* : Int */; long var_arity /* var arity: Int */; -val* var4 /* : Array[String] */; +val* var3 /* : Array[String] */; val* var_names /* var names: Array[String] */; -short int var5 /* : Bool */; +short int var4 /* : Bool */; int cltype; int idtype; -val* var6 /* : nullable TClassid */; -val* var8 /* : nullable TClassid */; -val* var9 /* : String */; +val* var5 /* : nullable TClassid */; +val* var7 /* : nullable TClassid */; +val* var8 /* : String */; val* var_name /* var name: String */; -val* var10 /* : AClasskind */; -val* var12 /* : AClasskind */; +val* var9 /* : AClasskind */; +val* var11 /* : AClasskind */; val* var_nkind /* var nkind: nullable AClasskind */; -val* var13 /* : MClassKind */; +val* var12 /* : MClassKind */; val* var_mkind /* var mkind: MClassKind */; -val* var14 /* : nullable AVisibility */; -val* var16 /* : nullable AVisibility */; +val* var13 /* : nullable AVisibility */; +val* var15 /* : nullable AVisibility */; val* var_nvisibility /* var nvisibility: nullable AVisibility */; -val* var17 /* : MVisibility */; +val* var16 /* : MVisibility */; val* var_mvisibility /* var mvisibility: nullable MVisibility */; -val* var18 /* : ANodes[AFormaldef] */; -val* var20 /* : ANodes[AFormaldef] */; -long var21 /* : Int */; +val* var17 /* : ANodes[AFormaldef] */; +val* var19 /* : ANodes[AFormaldef] */; +long var20 /* : Int */; +val* var21 /* : Sys */; val* var22 /* : MVisibility */; short int var23 /* : Bool */; val* var_other /* var other: nullable Object */; @@ -79,8 +79,8 @@ short int var27 /* : Bool */; static val* varonce; val* var28 /* : String */; char* var29 /* : NativeString */; -long var30 /* : Int */; -val* var31 /* : FlatString */; +val* var30 /* : FlatString */; +val* var31 /* : Sys */; val* var32 /* : MVisibility */; short int var33 /* : Bool */; short int var35 /* : Bool */; @@ -88,154 +88,153 @@ short int var37 /* : Bool */; static val* varonce38; val* var39 /* : String */; char* var40 /* : NativeString */; -long var41 /* : Int */; -val* var42 /* : FlatString */; -long var43 /* : Int */; +val* var41 /* : FlatString */; long var_i /* var i: Int */; long var_ /* var : Int */; +short int var42 /* : Bool */; short int var44 /* : Bool */; -short int var46 /* : Bool */; -int cltype47; -int idtype48; +int cltype45; +int idtype46; const char* var_class_name; -short int var49 /* : Bool */; +short int var47 /* : Bool */; +val* var48 /* : ANodes[AFormaldef] */; val* var50 /* : ANodes[AFormaldef] */; -val* var52 /* : ANodes[AFormaldef] */; -val* var53 /* : ANode */; +val* var51 /* : ANode */; val* var_nfd /* var nfd: AFormaldef */; +val* var52 /* : TClassid */; val* var54 /* : TClassid */; -val* var56 /* : TClassid */; -val* var57 /* : String */; +val* var55 /* : String */; val* var_ptname /* var ptname: String */; -short int var58 /* : Bool */; +short int var56 /* : Bool */; +val* var58 /* : NativeArray[String] */; +static val* varonce57; static val* varonce59; val* var60 /* : String */; char* var61 /* : NativeString */; -long var62 /* : Int */; -val* var63 /* : FlatString */; -static val* varonce64; -val* var65 /* : String */; -char* var66 /* : NativeString */; -long var67 /* : Int */; -val* var68 /* : FlatString */; -val* var69 /* : Array[Object] */; -long var70 /* : Int */; -val* var71 /* : NativeArray[Object] */; -val* var72 /* : String */; -val* var73 /* : SequenceRead[Char] */; -val* var_74 /* var : SequenceRead[Char] */; -val* var75 /* : Iterator[nullable Object] */; -val* var_76 /* var : IndexedIterator[Char] */; -short int var77 /* : Bool */; -val* var78 /* : nullable Object */; -char var79 /* : Char */; -char var_c /* var c: Char */; -short int var80 /* : Bool */; -char var81 /* : Char */; +val* var62 /* : FlatString */; +static val* varonce63; +val* var64 /* : String */; +char* var65 /* : NativeString */; +val* var66 /* : FlatString */; +val* var67 /* : String */; +val* var68 /* : SequenceRead[Char] */; +val* var_69 /* var : SequenceRead[Char] */; +val* var70 /* : Iterator[nullable Object] */; +val* var_71 /* var : IndexedIterator[Char] */; +short int var72 /* : Bool */; +val* var73 /* : nullable Object */; +uint32_t var74 /* : Char */; +uint32_t var_c /* var c: Char */; +short int var75 /* : Bool */; +short int var76 /* : Bool */; +short int var78 /* : Bool */; +int cltype79; +int idtype80; +const char* var_class_name81; short int var82 /* : Bool */; +short int var_83 /* var : Bool */; short int var84 /* : Bool */; -int cltype85; -int idtype86; -const char* var_class_name87; -short int var88 /* : Bool */; -short int var_89 /* var : Bool */; -char var90 /* : Char */; -short int var91 /* : Bool */; -short int var93 /* : Bool */; -int cltype94; -int idtype95; -const char* var_class_name96; -short int var97 /* : Bool */; -static val* varonce98; -val* var99 /* : String */; -char* var100 /* : NativeString */; -long var101 /* : Int */; -val* var102 /* : FlatString */; -static val* varonce103; -val* var104 /* : String */; -char* var105 /* : NativeString */; +short int var86 /* : Bool */; +int cltype87; +int idtype88; +const char* var_class_name89; +short int var90 /* : Bool */; +static val* varonce91; +val* var92 /* : String */; +char* var93 /* : NativeString */; +val* var94 /* : FlatString */; +val* var96 /* : NativeArray[String] */; +static val* varonce95; +static val* varonce97; +val* var98 /* : String */; +char* var99 /* : NativeString */; +val* var100 /* : FlatString */; +static val* varonce101; +val* var102 /* : String */; +char* var103 /* : NativeString */; +val* var104 /* : FlatString */; +val* var105 /* : String */; long var106 /* : Int */; -val* var107 /* : FlatString */; -val* var108 /* : Array[Object] */; -long var109 /* : Int */; -val* var110 /* : NativeArray[Object] */; -val* var111 /* : String */; -long var113 /* : Int */; -long var114 /* : Int */; -short int var116 /* : Bool */; -int cltype117; -int idtype118; -static val* varonce119; -val* var120 /* : String */; -char* var121 /* : NativeString */; -long var122 /* : Int */; -val* var123 /* : FlatString */; -val* var124 /* : null */; -val* var125 /* : MClassKind */; -val* var126 /* : null */; -val* var127 /* : MVisibility */; -short int var128 /* : Bool */; -int cltype129; -int idtype130; -static val* varonce131; -val* var132 /* : String */; -char* var133 /* : NativeString */; -long var134 /* : Int */; -val* var135 /* : FlatString */; -val* var136 /* : null */; -val* var137 /* : MClassKind */; -val* var138 /* : null */; -val* var139 /* : MVisibility */; -val* var140 /* : nullable MClass */; +short int var108 /* : Bool */; +short int var109 /* : Bool */; +int cltype110; +int idtype111; +short int var_112 /* var : Bool */; +val* var113 /* : ANodes[APropdef] */; +val* var115 /* : ANodes[APropdef] */; +val* var116 /* : nullable Object */; +short int var117 /* : Bool */; +int cltype118; +int idtype119; +const char* var_class_name120; +val* var121 /* : nullable AMethid */; +val* var123 /* : nullable AMethid */; +val* var124 /* : String */; +static val* varonce125; +val* var126 /* : String */; +char* var127 /* : NativeString */; +val* var128 /* : FlatString */; +short int var129 /* : Bool */; +static val* varonce130; +val* var131 /* : String */; +char* var132 /* : NativeString */; +val* var133 /* : FlatString */; +val* var134 /* : Sys */; +val* var135 /* : MClassKind */; +val* var136 /* : Sys */; +val* var137 /* : MVisibility */; +static val* varonce138; +val* var139 /* : String */; +char* var140 /* : NativeString */; +val* var141 /* : FlatString */; +val* var142 /* : Sys */; +val* var143 /* : MClassKind */; +val* var144 /* : Sys */; +val* var145 /* : MVisibility */; +val* var146 /* : nullable MClass */; val* var_mclass /* var mclass: nullable MClass */; -val* var141 /* : null */; -short int var142 /* : Bool */; -short int var143 /* : Bool */; -short int var145 /* : Bool */; short int var147 /* : Bool */; short int var148 /* : Bool */; -short int var149 /* : Bool */; -int cltype150; -int idtype151; -short int var_152 /* var : Bool */; -val* var153 /* : nullable TKwredef */; -val* var155 /* : nullable TKwredef */; -val* var156 /* : null */; -short int var157 /* : Bool */; -short int var158 /* : Bool */; -val* var_other160 /* var other: nullable Object */; +short int var150 /* : Bool */; +short int var152 /* : Bool */; +short int var153 /* : Bool */; +short int var154 /* : Bool */; +int cltype155; +int idtype156; +short int var_157 /* var : Bool */; +val* var158 /* : nullable TKwredef */; +val* var160 /* : nullable TKwredef */; short int var161 /* : Bool */; short int var162 /* : Bool */; -static val* varonce163; -val* var164 /* : String */; -char* var165 /* : NativeString */; -long var166 /* : Int */; -val* var167 /* : FlatString */; -static val* varonce168; -val* var169 /* : String */; -char* var170 /* : NativeString */; -long var171 /* : Int */; +val* var_other164 /* var other: nullable Object */; +short int var165 /* : Bool */; +short int var166 /* : Bool */; +val* var168 /* : NativeArray[String] */; +static val* varonce167; +static val* varonce169; +val* var170 /* : String */; +char* var171 /* : NativeString */; val* var172 /* : FlatString */; -val* var173 /* : Array[Object] */; -long var174 /* : Int */; -val* var175 /* : NativeArray[Object] */; -val* var176 /* : String */; -short int var177 /* : Bool */; -val* var178 /* : nullable MGroup */; -val* var180 /* : nullable MGroup */; -val* var181 /* : null */; +static val* varonce173; +val* var174 /* : String */; +char* var175 /* : NativeString */; +val* var176 /* : FlatString */; +val* var177 /* : String */; +short int var178 /* : Bool */; +val* var179 /* : nullable MGroup */; +val* var181 /* : nullable MGroup */; short int var182 /* : Bool */; short int var183 /* : Bool */; short int var185 /* : Bool */; short int var186 /* : Bool */; short int var_187 /* var : Bool */; -val* var188 /* : MVisibility */; -short int var189 /* : Bool */; -val* var190 /* : Model */; -val* var192 /* : Model */; -val* var193 /* : nullable Array[MClass] */; +val* var188 /* : Sys */; +val* var189 /* : MVisibility */; +short int var190 /* : Bool */; +val* var191 /* : Model */; +val* var193 /* : Model */; +val* var194 /* : nullable Array[MClass] */; val* var_mclasses /* var mclasses: nullable Array[MClass] */; -val* var194 /* : null */; short int var195 /* : Bool */; short int var196 /* : Bool */; short int var198 /* : Bool */; @@ -251,234 +250,236 @@ val* var207 /* : MModule */; val* var209 /* : MModule */; val* var210 /* : nullable MGroup */; val* var212 /* : nullable MGroup */; -val* var213 /* : null */; +short int var213 /* : Bool */; short int var214 /* : Bool */; -short int var215 /* : Bool */; +short int var216 /* : Bool */; short int var217 /* : Bool */; -short int var218 /* : Bool */; -short int var_219 /* var : Bool */; -val* var220 /* : MModule */; -val* var222 /* : MModule */; -val* var223 /* : nullable MGroup */; -val* var225 /* : nullable MGroup */; -val* var226 /* : MProject */; -val* var228 /* : MProject */; -val* var229 /* : nullable MGroup */; -val* var231 /* : nullable MGroup */; -val* var232 /* : MProject */; -val* var234 /* : MProject */; -short int var235 /* : Bool */; -short int var237 /* : Bool */; -short int var239 /* : Bool */; -static val* varonce240; -val* var241 /* : String */; -char* var242 /* : NativeString */; -long var243 /* : Int */; -val* var244 /* : FlatString */; -val* var245 /* : String */; -static val* varonce246; -val* var247 /* : String */; -char* var248 /* : NativeString */; -long var249 /* : Int */; +short int var_218 /* var : Bool */; +val* var219 /* : MModule */; +val* var221 /* : MModule */; +val* var222 /* : nullable MGroup */; +val* var224 /* : nullable MGroup */; +val* var225 /* : MProject */; +val* var227 /* : MProject */; +val* var228 /* : nullable MGroup */; +val* var230 /* : nullable MGroup */; +val* var231 /* : MProject */; +val* var233 /* : MProject */; +short int var234 /* : Bool */; +short int var236 /* : Bool */; +short int var238 /* : Bool */; +val* var239 /* : nullable MClassDef */; +short int var240 /* : Bool */; +short int var241 /* : Bool */; +short int var243 /* : Bool */; +short int var245 /* : Bool */; +static val* varonce247; +val* var248 /* : String */; +char* var249 /* : NativeString */; val* var250 /* : FlatString */; -val* var251 /* : MModule */; -val* var253 /* : MModule */; -static val* varonce254; -val* var255 /* : String */; -char* var256 /* : NativeString */; -long var257 /* : Int */; -val* var258 /* : FlatString */; -val* var259 /* : MClassDef */; -val* var261 /* : MClassDef */; -val* var262 /* : Location */; -val* var264 /* : Location */; +val* var252 /* : NativeArray[String] */; +static val* varonce251; +static val* varonce253; +val* var254 /* : String */; +char* var255 /* : NativeString */; +val* var256 /* : FlatString */; +static val* varonce257; +val* var258 /* : String */; +char* var259 /* : NativeString */; +val* var260 /* : FlatString */; +static val* varonce261; +val* var262 /* : String */; +char* var263 /* : NativeString */; +val* var264 /* : FlatString */; static val* varonce265; val* var266 /* : String */; char* var267 /* : NativeString */; -long var268 /* : Int */; -val* var269 /* : FlatString */; -val* var270 /* : Array[Object] */; -long var271 /* : Int */; -val* var272 /* : NativeArray[Object] */; +val* var268 /* : FlatString */; +val* var269 /* : String */; +val* var270 /* : MModule */; +val* var272 /* : MModule */; val* var273 /* : String */; -val* var276 /* : MClass */; -short int var277 /* : Bool */; -short int var278 /* : Bool */; -int cltype279; -int idtype280; -short int var_281 /* var : Bool */; -val* var282 /* : Map[MClass, AClassdef] */; -val* var284 /* : Map[MClass, AClassdef] */; +val* var274 /* : MClassDef */; +val* var276 /* : MClassDef */; +val* var277 /* : Location */; +val* var279 /* : Location */; +val* var280 /* : String */; +val* var281 /* : String */; +val* var283 /* : MClass */; +short int var284 /* : Bool */; short int var285 /* : Bool */; -static val* varonce286; -val* var287 /* : String */; -char* var288 /* : NativeString */; -long var289 /* : Int */; -val* var290 /* : FlatString */; -static val* varonce291; -val* var292 /* : String */; -char* var293 /* : NativeString */; -long var294 /* : Int */; -val* var295 /* : FlatString */; -val* var296 /* : Map[MClass, AClassdef] */; -val* var298 /* : Map[MClass, AClassdef] */; -val* var299 /* : nullable Object */; -val* var300 /* : Location */; -val* var302 /* : Location */; -long var303 /* : Int */; -long var305 /* : Int */; -static val* varonce306; -val* var307 /* : String */; -char* var308 /* : NativeString */; -long var309 /* : Int */; -val* var310 /* : FlatString */; -val* var311 /* : Array[Object] */; -long var312 /* : Int */; -val* var313 /* : NativeArray[Object] */; -val* var314 /* : Object */; -val* var315 /* : String */; -short int var316 /* : Bool */; -short int var317 /* : Bool */; -int cltype318; -int idtype319; -short int var_320 /* var : Bool */; -val* var321 /* : nullable TKwredef */; -val* var323 /* : nullable TKwredef */; -val* var324 /* : null */; -short int var325 /* : Bool */; -short int var326 /* : Bool */; +int cltype286; +int idtype287; +short int var_288 /* var : Bool */; +val* var289 /* : Map[MClass, AClassdef] */; +val* var291 /* : Map[MClass, AClassdef] */; +short int var292 /* : Bool */; +val* var294 /* : NativeArray[String] */; +static val* varonce293; +static val* varonce295; +val* var296 /* : String */; +char* var297 /* : NativeString */; +val* var298 /* : FlatString */; +static val* varonce299; +val* var300 /* : String */; +char* var301 /* : NativeString */; +val* var302 /* : FlatString */; +static val* varonce303; +val* var304 /* : String */; +char* var305 /* : NativeString */; +val* var306 /* : FlatString */; +val* var307 /* : Map[MClass, AClassdef] */; +val* var309 /* : Map[MClass, AClassdef] */; +val* var310 /* : nullable Object */; +val* var311 /* : Location */; +val* var313 /* : Location */; +long var314 /* : Int */; +long var316 /* : Int */; +val* var317 /* : String */; +val* var318 /* : String */; +short int var319 /* : Bool */; +short int var320 /* : Bool */; +int cltype321; +int idtype322; +short int var_323 /* var : Bool */; +val* var324 /* : nullable TKwredef */; +val* var326 /* : nullable TKwredef */; +short int var327 /* : Bool */; short int var328 /* : Bool */; short int var330 /* : Bool */; -static val* varonce331; -val* var332 /* : String */; -char* var333 /* : NativeString */; -long var334 /* : Int */; -val* var335 /* : FlatString */; -static val* varonce336; -val* var337 /* : String */; -char* var338 /* : NativeString */; -long var339 /* : Int */; -val* var340 /* : FlatString */; -val* var341 /* : Array[Object] */; -long var342 /* : Int */; -val* var343 /* : NativeArray[Object] */; -val* var344 /* : String */; +short int var332 /* : Bool */; +val* var334 /* : NativeArray[String] */; +static val* varonce333; +static val* varonce335; +val* var336 /* : String */; +char* var337 /* : NativeString */; +val* var338 /* : FlatString */; +static val* varonce339; +val* var340 /* : String */; +char* var341 /* : NativeString */; +val* var342 /* : FlatString */; +val* var343 /* : String */; +short int var344 /* : Bool */; short int var345 /* : Bool */; -long var346 /* : Int */; short int var347 /* : Bool */; -short int var349 /* : Bool */; -short int var350 /* : Bool */; -short int var_351 /* var : Bool */; +short int var348 /* : Bool */; +short int var_349 /* var : Bool */; +long var350 /* : Int */; long var352 /* : Int */; -long var354 /* : Int */; +short int var353 /* : Bool */; short int var355 /* : Bool */; -short int var357 /* : Bool */; -short int var358 /* : Bool */; +short int var356 /* : Bool */; +val* var358 /* : NativeArray[String] */; +static val* varonce357; static val* varonce359; val* var360 /* : String */; char* var361 /* : NativeString */; -long var362 /* : Int */; -val* var363 /* : FlatString */; -static val* varonce364; -val* var365 /* : String */; -char* var366 /* : NativeString */; -long var367 /* : Int */; -val* var368 /* : FlatString */; -long var369 /* : Int */; -long var371 /* : Int */; -static val* varonce372; -val* var373 /* : String */; -char* var374 /* : NativeString */; +val* var362 /* : FlatString */; +static val* varonce363; +val* var364 /* : String */; +char* var365 /* : NativeString */; +val* var366 /* : FlatString */; +static val* varonce367; +val* var368 /* : String */; +char* var369 /* : NativeString */; +val* var370 /* : FlatString */; +static val* varonce371; +val* var372 /* : String */; +char* var373 /* : NativeString */; +val* var374 /* : FlatString */; long var375 /* : Int */; -val* var376 /* : FlatString */; -val* var377 /* : Array[Object] */; -long var378 /* : Int */; -val* var379 /* : NativeArray[Object] */; -val* var380 /* : Object */; -val* var381 /* : Object */; -val* var382 /* : String */; +long var377 /* : Int */; +val* var378 /* : String */; +val* var379 /* : String */; +val* var380 /* : String */; +val* var381 /* : String */; +short int var382 /* : Bool */; short int var383 /* : Bool */; short int var384 /* : Bool */; -val* var385 /* : null */; -short int var386 /* : Bool */; +short int var385 /* : Bool */; short int var387 /* : Bool */; -short int var389 /* : Bool */; -short int var390 /* : Bool */; -short int var_391 /* var : Bool */; -val* var392 /* : MClassKind */; -short int var393 /* : Bool */; +short int var388 /* : Bool */; +short int var_389 /* var : Bool */; +val* var390 /* : Sys */; +val* var391 /* : MClassKind */; +short int var392 /* : Bool */; +short int var394 /* : Bool */; short int var395 /* : Bool */; -short int var396 /* : Bool */; -short int var_397 /* var : Bool */; -val* var398 /* : MClassKind */; -val* var400 /* : MClassKind */; -short int var401 /* : Bool */; +short int var_396 /* var : Bool */; +val* var397 /* : MClassKind */; +val* var399 /* : MClassKind */; +short int var400 /* : Bool */; +short int var402 /* : Bool */; short int var403 /* : Bool */; -short int var404 /* : Bool */; -static val* varonce405; -val* var406 /* : String */; -char* var407 /* : NativeString */; -long var408 /* : Int */; +val* var405 /* : NativeArray[String] */; +static val* varonce404; +static val* varonce406; +val* var407 /* : String */; +char* var408 /* : NativeString */; val* var409 /* : FlatString */; -val* var410 /* : MClassKind */; -val* var412 /* : MClassKind */; -static val* varonce413; -val* var414 /* : String */; -char* var415 /* : NativeString */; -long var416 /* : Int */; +static val* varonce410; +val* var411 /* : String */; +char* var412 /* : NativeString */; +val* var413 /* : FlatString */; +static val* varonce414; +val* var415 /* : String */; +char* var416 /* : NativeString */; val* var417 /* : FlatString */; -val* var418 /* : Array[Object] */; -long var419 /* : Int */; -val* var420 /* : NativeArray[Object] */; +val* var418 /* : MClassKind */; +val* var420 /* : MClassKind */; val* var421 /* : String */; -short int var422 /* : Bool */; -short int var423 /* : Bool */; -val* var424 /* : null */; +val* var422 /* : String */; +val* var423 /* : String */; +short int var424 /* : Bool */; short int var425 /* : Bool */; short int var426 /* : Bool */; -short int var428 /* : Bool */; +short int var427 /* : Bool */; short int var429 /* : Bool */; -short int var_430 /* var : Bool */; -val* var431 /* : MVisibility */; -short int var432 /* : Bool */; +short int var430 /* : Bool */; +short int var_431 /* var : Bool */; +val* var432 /* : Sys */; +val* var433 /* : MVisibility */; short int var434 /* : Bool */; -short int var435 /* : Bool */; -short int var_436 /* var : Bool */; -val* var437 /* : MVisibility */; +short int var436 /* : Bool */; +short int var437 /* : Bool */; +short int var_438 /* var : Bool */; val* var439 /* : MVisibility */; -short int var440 /* : Bool */; +val* var441 /* : MVisibility */; short int var442 /* : Bool */; -short int var443 /* : Bool */; -static val* varonce444; -val* var445 /* : String */; -char* var446 /* : NativeString */; -long var447 /* : Int */; -val* var448 /* : FlatString */; -val* var449 /* : MVisibility */; -val* var451 /* : MVisibility */; +short int var444 /* : Bool */; +short int var445 /* : Bool */; +val* var447 /* : NativeArray[String] */; +static val* varonce446; +static val* varonce448; +val* var449 /* : String */; +char* var450 /* : NativeString */; +val* var451 /* : FlatString */; static val* varonce452; val* var453 /* : String */; char* var454 /* : NativeString */; -long var455 /* : Int */; -val* var456 /* : FlatString */; -val* var457 /* : Array[Object] */; -long var458 /* : Int */; -val* var459 /* : NativeArray[Object] */; -val* var460 /* : String */; -val* var462 /* : Map[MClass, AClassdef] */; -val* var464 /* : Map[MClass, AClassdef] */; -short int var465 /* : Bool */; -short int var466 /* : Bool */; +val* var455 /* : FlatString */; +static val* varonce456; +val* var457 /* : String */; +char* var458 /* : NativeString */; +val* var459 /* : FlatString */; +val* var460 /* : MVisibility */; +val* var462 /* : MVisibility */; +val* var463 /* : String */; +val* var464 /* : String */; +val* var465 /* : String */; val* var467 /* : Map[MClass, AClassdef] */; val* var469 /* : Map[MClass, AClassdef] */; -val* var470 /* : Array[AClassdef] */; -long var471 /* : Int */; -val* var_472 /* var : Array[AClassdef] */; +short int var470 /* : Bool */; +short int var471 /* : Bool */; +val* var472 /* : Map[MClass, AClassdef] */; val* var474 /* : Map[MClass, AClassdef] */; -val* var476 /* : Map[MClass, AClassdef] */; -val* var477 /* : nullable Object */; -val* var478 /* : nullable Array[AClassdef] */; -val* var480 /* : nullable Array[AClassdef] */; +val* var475 /* : Array[AClassdef] */; +val* var_476 /* var : Array[AClassdef] */; +val* var478 /* : Map[MClass, AClassdef] */; +val* var480 /* : Map[MClass, AClassdef] */; +val* var481 /* : nullable Object */; +val* var482 /* : nullable Array[AClassdef] */; +val* var484 /* : nullable Array[AClassdef] */; var_nmodule = p0; var_nclassdef = p1; { @@ -491,91 +492,91 @@ RET_LABEL1:(void)0; if (unlikely(var == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 40); -show_backtrace(1); +fatal_exit(1); } var_mmodule = var; -var3 = 0; -var_arity = var3; -var4 = NEW_standard__Array(&type_standard__Array__standard__String); +var_arity = 0l; +var3 = NEW_standard__Array(&type_standard__Array__standard__String); { -standard___standard__Array___standard__kernel__Object__init(var4); /* Direct call array#Array#init on */ +standard___standard__Array___standard__kernel__Object__init(var3); /* Direct call array#Array#init on */ } -var_names = var4; +var_names = var3; /* isa AStdClassdef */ cltype = type_nit__AStdClassdef.color; idtype = type_nit__AStdClassdef.id; if(cltype >= var_nclassdef->type->table_size) { -var5 = 0; +var4 = 0; } else { -var5 = var_nclassdef->type->type_table[cltype] == idtype; +var4 = var_nclassdef->type->type_table[cltype] == idtype; } -if (var5){ +if (var4){ { { /* Inline parser_nodes#AStdClassdef#n_id (var_nclassdef) on */ -var8 = var_nclassdef->attrs[COLOR_nit__parser_nodes__AStdClassdef___n_id].val; /* _n_id on */ -var6 = var8; -RET_LABEL7:(void)0; +var7 = var_nclassdef->attrs[COLOR_nit__parser_nodes__AStdClassdef___n_id].val; /* _n_id on */ +var5 = var7; +RET_LABEL6:(void)0; } } -if (var6 == NULL) { +if (var5 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 50); -show_backtrace(1); +fatal_exit(1); } else { -var9 = nit__lexer_work___Token___text(var6); +var8 = nit__lexer_work___Token___text(var5); } -var_name = var9; +var_name = var8; { { /* Inline parser_nodes#AStdClassdef#n_classkind (var_nclassdef) on */ -var12 = var_nclassdef->attrs[COLOR_nit__parser_nodes__AStdClassdef___n_classkind].val; /* _n_classkind on */ -if (unlikely(var12 == NULL)) { +var11 = var_nclassdef->attrs[COLOR_nit__parser_nodes__AStdClassdef___n_classkind].val; /* _n_classkind on */ +if (unlikely(var11 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_classkind"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1021); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1198); +fatal_exit(1); } -var10 = var12; -RET_LABEL11:(void)0; +var9 = var11; +RET_LABEL10:(void)0; } } -var_nkind = var10; +var_nkind = var9; { -var13 = ((val* (*)(val* self))(var_nkind->class->vft[COLOR_nit__modelize_class__AClasskind__mkind]))(var_nkind) /* mkind on */; +var12 = ((val*(*)(val* self))(var_nkind->class->vft[COLOR_nit__modelize_class__AClasskind__mkind]))(var_nkind); /* mkind on */ } -var_mkind = var13; +var_mkind = var12; { { /* Inline parser_nodes#ADefinition#n_visibility (var_nclassdef) on */ -var16 = var_nclassdef->attrs[COLOR_nit__parser_nodes__ADefinition___n_visibility].val; /* _n_visibility on */ -var14 = var16; -RET_LABEL15:(void)0; +var15 = var_nclassdef->attrs[COLOR_nit__parser_nodes__ADefinition___n_visibility].val; /* _n_visibility on */ +var13 = var15; +RET_LABEL14:(void)0; } } -var_nvisibility = var14; +var_nvisibility = var13; if (var_nvisibility == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 54); -show_backtrace(1); +fatal_exit(1); } else { -var17 = ((val* (*)(val* self))(var_nvisibility->class->vft[COLOR_nit__modelbuilder_base__AVisibility__mvisibility]))(var_nvisibility) /* mvisibility on */; +var16 = ((val*(*)(val* self))(var_nvisibility->class->vft[COLOR_nit__modelbuilder_base__AVisibility__mvisibility]))(var_nvisibility); /* mvisibility on */ } -var_mvisibility = var17; +var_mvisibility = var16; { { /* Inline parser_nodes#AStdClassdef#n_formaldefs (var_nclassdef) on */ -var20 = var_nclassdef->attrs[COLOR_nit__parser_nodes__AStdClassdef___n_formaldefs].val; /* _n_formaldefs on */ -if (unlikely(var20 == NULL)) { +var19 = var_nclassdef->attrs[COLOR_nit__parser_nodes__AStdClassdef___n_formaldefs].val; /* _n_formaldefs on */ +if (unlikely(var19 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_formaldefs"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1027); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1207); +fatal_exit(1); } -var18 = var20; -RET_LABEL19:(void)0; +var17 = var19; +RET_LABEL18:(void)0; } } { -var21 = nit___nit__ANodes___standard__abstract_collection__Collection__length(var18); +var20 = nit___nit__ANodes___standard__abstract_collection__Collection__length(var17); } -var_arity = var21; +var_arity = var20; +var21 = glob_sys; { -var22 = nit__model_base___standard__Object___protected_visibility(self); +var22 = nit__model_base___standard__Sys___protected_visibility(var21); } { { /* Inline kernel#Object#== (var_mvisibility,var22) on */ @@ -594,13 +595,12 @@ RET_LABEL24:(void)0; } } if (var23){ -if (varonce) { +if (likely(varonce!=NULL)) { var28 = varonce; } else { var29 = "Error: only properties can be protected."; -var30 = 40; -var31 = standard___standard__NativeString___to_s_with_length(var29, var30); -var28 = var31; +var30 = standard___standard__NativeString___to_s_with_length(var29, 40l); +var28 = var30; varonce = var28; } { @@ -608,8 +608,9 @@ nit___nit__ModelBuilder___error(self, var_nvisibility, var28); /* Direct call mo } goto RET_LABEL; } else { +var31 = glob_sys; { -var32 = nit__model_base___standard__Object___intrude_visibility(self); +var32 = nit__model_base___standard__Sys___intrude_visibility(var31); } { { /* Inline kernel#Object#== (var_mvisibility,var32) on */ @@ -628,13 +629,12 @@ RET_LABEL34:(void)0; } } if (var33){ -if (varonce38) { +if (likely(varonce38!=NULL)) { var39 = varonce38; } else { var40 = "Error: intrude is not a legal visibility for classes."; -var41 = 53; -var42 = standard___standard__NativeString___to_s_with_length(var40, var41); -var39 = var42; +var41 = standard___standard__NativeString___to_s_with_length(var40, 53l); +var39 = var41; varonce38 = var39; } { @@ -644,202 +644,202 @@ goto RET_LABEL; } else { } } -var43 = 0; -var_i = var43; +var_i = 0l; var_ = var_arity; for(;;) { { { /* Inline kernel#Int#< (var_i,var_) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var46 = 1; /* easy isa OTHER*/ -if (unlikely(!var46)) { +var44 = 1; /* easy isa OTHER*/ +if (unlikely(!var44)) { var_class_name = type_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534); +fatal_exit(1); } -var49 = var_i < var_; -var44 = var49; -goto RET_LABEL45; -RET_LABEL45:(void)0; +var47 = var_i < var_; +var42 = var47; +goto RET_LABEL43; +RET_LABEL43:(void)0; } } -if (var44){ +if (var42){ { { /* Inline parser_nodes#AStdClassdef#n_formaldefs (var_nclassdef) on */ -var52 = var_nclassdef->attrs[COLOR_nit__parser_nodes__AStdClassdef___n_formaldefs].val; /* _n_formaldefs on */ -if (unlikely(var52 == NULL)) { +var50 = var_nclassdef->attrs[COLOR_nit__parser_nodes__AStdClassdef___n_formaldefs].val; /* _n_formaldefs on */ +if (unlikely(var50 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_formaldefs"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1027); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1207); +fatal_exit(1); } -var50 = var52; -RET_LABEL51:(void)0; +var48 = var50; +RET_LABEL49:(void)0; } } { -var53 = nit___nit__ANodes___standard__abstract_collection__SequenceRead___91d_93d(var50, var_i); +var51 = nit___nit__ANodes___standard__abstract_collection__SequenceRead___91d_93d(var48, var_i); } -var_nfd = var53; +var_nfd = var51; { { /* Inline parser_nodes#AFormaldef#n_id (var_nfd) on */ -var56 = var_nfd->attrs[COLOR_nit__parser_nodes__AFormaldef___n_id].val; /* _n_id on */ -if (unlikely(var56 == NULL)) { +var54 = var_nfd->attrs[COLOR_nit__parser_nodes__AFormaldef___n_id].val; /* _n_id on */ +if (unlikely(var54 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1107); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1291); +fatal_exit(1); } -var54 = var56; -RET_LABEL55:(void)0; +var52 = var54; +RET_LABEL53:(void)0; } } { -var57 = nit__lexer_work___Token___text(var54); +var55 = nit__lexer_work___Token___text(var52); } -var_ptname = var57; +var_ptname = var55; { -var58 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__has(var_names, var_ptname); +var56 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__has(var_names, var_ptname); } -if (var58){ -if (varonce59) { +if (var56){ +if (unlikely(varonce57==NULL)) { +var58 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce59!=NULL)) { var60 = varonce59; } else { -var61 = "Error: A formal parameter type `"; -var62 = 32; -var63 = standard___standard__NativeString___to_s_with_length(var61, var62); -var60 = var63; +var61 = "Error: a formal parameter type `"; +var62 = standard___standard__NativeString___to_s_with_length(var61, 32l); +var60 = var62; varonce59 = var60; } -if (varonce64) { -var65 = varonce64; +((struct instance_standard__NativeArray*)var58)->values[0]=var60; +if (likely(varonce63!=NULL)) { +var64 = varonce63; } else { -var66 = "\' already exists"; -var67 = 16; -var68 = standard___standard__NativeString___to_s_with_length(var66, var67); -var65 = var68; -varonce64 = var65; -} -var69 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var69 = array_instance Array[Object] */ -var70 = 3; -var71 = NEW_standard__NativeArray(var70, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var71)->values[0] = (val*) var60; -((struct instance_standard__NativeArray*)var71)->values[1] = (val*) var_ptname; -((struct instance_standard__NativeArray*)var71)->values[2] = (val*) var65; -{ -((void (*)(val* self, val* p0, long p1))(var69->class->vft[COLOR_standard__array__Array__with_native]))(var69, var71, var70) /* with_native on */; +var65 = "` already exists."; +var66 = standard___standard__NativeString___to_s_with_length(var65, 17l); +var64 = var66; +varonce63 = var64; } +((struct instance_standard__NativeArray*)var58)->values[2]=var64; +} else { +var58 = varonce57; +varonce57 = NULL; } +((struct instance_standard__NativeArray*)var58)->values[1]=var_ptname; { -var72 = ((val* (*)(val* self))(var69->class->vft[COLOR_standard__string__Object__to_s]))(var69) /* to_s on */; +var67 = ((val*(*)(val* self))(var58->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var58); /* native_to_s on */ } +varonce57 = var58; { -nit___nit__ModelBuilder___error(self, var_nfd, var72); /* Direct call modelbuilder_base#ModelBuilder#error on */ +nit___nit__ModelBuilder___error(self, var_nfd, var67); /* Direct call modelbuilder_base#ModelBuilder#error on */ } goto RET_LABEL; } else { } { -var73 = ((val* (*)(val* self))(var_ptname->class->vft[COLOR_standard__string__Text__chars]))(var_ptname) /* chars on */; +var68 = ((val*(*)(val* self))(var_ptname->class->vft[COLOR_standard__string__Text__chars]))(var_ptname); /* chars on */ } -var_74 = var73; +var_69 = var68; { -var75 = ((val* (*)(val* self))(var_74->class->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_74) /* iterator on */; +var70 = ((val*(*)(val* self))((((long)var_69&3)?class_info[((long)var_69&3)]:var_69->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_69); /* iterator on */ } -var_76 = var75; +var_71 = var70; for(;;) { { -var77 = ((short int (*)(val* self))(var_76->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_76) /* is_ok on */; +var72 = ((short int(*)(val* self))((((long)var_71&3)?class_info[((long)var_71&3)]:var_71->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_71); /* is_ok on */ } -if (var77){ +if (var72){ { -var78 = ((val* (*)(val* self))(var_76->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_76) /* item on */; +var73 = ((val*(*)(val* self))((((long)var_71&3)?class_info[((long)var_71&3)]:var_71->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_71); /* item on */ } -var79 = ((struct instance_standard__Char*)var78)->value; /* autounbox from nullable Object to Char */; -var_c = var79; -var81 = 'a'; +var74 = (uint32_t)((long)(var73)>>2); +var_c = var74; { -{ /* Inline kernel#Char#>= (var_c,var81) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var84 = 1; /* easy isa OTHER*/ -if (unlikely(!var84)) { -var_class_name87 = type_standard__Char.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name87); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 593); -show_backtrace(1); +{ /* Inline kernel#Char#>= (var_c,'a') on */ +/* Covariant cast for argument 0 (i) <'a':Char> isa OTHER */ +/* <'a':Char> isa OTHER */ +var78 = 1; /* easy <'a':Char> isa OTHER*/ +if (unlikely(!var78)) { +var_class_name81 = type_standard__Char.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name81); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 724); +fatal_exit(1); } -var88 = var_c >= var81; -var82 = var88; -goto RET_LABEL83; -RET_LABEL83:(void)0; +var82 = var_c >= 'a'; +var76 = var82; +goto RET_LABEL77; +RET_LABEL77:(void)0; } } -var_89 = var82; -if (var82){ -var90 = 'z'; +var_83 = var76; +if (var76){ { -{ /* Inline kernel#Char#<= (var_c,var90) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var93 = 1; /* easy isa OTHER*/ -if (unlikely(!var93)) { -var_class_name96 = type_standard__Char.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name96); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 591); -show_backtrace(1); +{ /* Inline kernel#Char#<= (var_c,'z') on */ +/* Covariant cast for argument 0 (i) <'z':Char> isa OTHER */ +/* <'z':Char> isa OTHER */ +var86 = 1; /* easy <'z':Char> isa OTHER*/ +if (unlikely(!var86)) { +var_class_name89 = type_standard__Char.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name89); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 722); +fatal_exit(1); } -var97 = var_c <= var90; -var91 = var97; -goto RET_LABEL92; -RET_LABEL92:(void)0; +var90 = var_c <= 'z'; +var84 = var90; +goto RET_LABEL85; +RET_LABEL85:(void)0; } } -var80 = var91; +var75 = var84; } else { -var80 = var_89; +var75 = var_83; } -if (var80){ -if (varonce98) { -var99 = varonce98; +if (var75){ +if (likely(varonce91!=NULL)) { +var92 = varonce91; } else { -var100 = "formal-type-name"; -var101 = 16; -var102 = standard___standard__NativeString___to_s_with_length(var100, var101); -var99 = var102; -varonce98 = var99; +var93 = "formal-type-name"; +var94 = standard___standard__NativeString___to_s_with_length(var93, 16l); +var92 = var94; +varonce91 = var92; } -if (varonce103) { -var104 = varonce103; +if (unlikely(varonce95==NULL)) { +var96 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce97!=NULL)) { +var98 = varonce97; } else { -var105 = "Warning: lowercase in the formal parameter type "; -var106 = 48; -var107 = standard___standard__NativeString___to_s_with_length(var105, var106); -var104 = var107; -varonce103 = var104; +var99 = "Warning: lowercase in the formal parameter type `"; +var100 = standard___standard__NativeString___to_s_with_length(var99, 49l); +var98 = var100; +varonce97 = var98; } -var108 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var108 = array_instance Array[Object] */ -var109 = 2; -var110 = NEW_standard__NativeArray(var109, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var110)->values[0] = (val*) var104; -((struct instance_standard__NativeArray*)var110)->values[1] = (val*) var_ptname; -{ -((void (*)(val* self, val* p0, long p1))(var108->class->vft[COLOR_standard__array__Array__with_native]))(var108, var110, var109) /* with_native on */; +((struct instance_standard__NativeArray*)var96)->values[0]=var98; +if (likely(varonce101!=NULL)) { +var102 = varonce101; +} else { +var103 = "`."; +var104 = standard___standard__NativeString___to_s_with_length(var103, 2l); +var102 = var104; +varonce101 = var102; } +((struct instance_standard__NativeArray*)var96)->values[2]=var102; +} else { +var96 = varonce95; +varonce95 = NULL; } +((struct instance_standard__NativeArray*)var96)->values[1]=var_ptname; { -var111 = ((val* (*)(val* self))(var108->class->vft[COLOR_standard__string__Object__to_s]))(var108) /* to_s on */; +var105 = ((val*(*)(val* self))(var96->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var96); /* native_to_s on */ } +varonce95 = var96; { -nit___nit__ModelBuilder___warning(self, var_nfd, var99, var111); /* Direct call modelbuilder_base#ModelBuilder#warning on */ +nit___nit__ModelBuilder___warning(self, var_nfd, var92, var105); /* Direct call modelbuilder_base#ModelBuilder#warning on */ } goto BREAK_label; } else { } { -((void (*)(val* self))(var_76->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_76) /* next on */; +((void(*)(val* self))((((long)var_71&3)?class_info[((long)var_71&3)]:var_71->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_71); /* next on */ } } else { goto BREAK_label; @@ -847,219 +847,254 @@ goto BREAK_label; } BREAK_label: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_76) on */ -RET_LABEL112:(void)0; -} +((void(*)(val* self))((((long)var_71&3)?class_info[((long)var_71&3)]:var_71->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_71); /* finish on */ } { standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_names, var_ptname); /* Direct call array#Array#add on */ } -var113 = 1; { -var114 = standard___standard__Int___Discrete__successor(var_i, var113); +var106 = standard___standard__Int___Discrete__successor(var_i, 1l); } -var_i = var114; +var_i = var106; } else { -goto BREAK_label115; +goto BREAK_label107; } } -BREAK_label115: (void)0; +BREAK_label107: (void)0; } else { /* isa ATopClassdef */ -cltype117 = type_nit__ATopClassdef.color; -idtype118 = type_nit__ATopClassdef.id; -if(cltype117 >= var_nclassdef->type->table_size) { -var116 = 0; +cltype110 = type_nit__ATopClassdef.color; +idtype111 = type_nit__ATopClassdef.id; +if(cltype110 >= var_nclassdef->type->table_size) { +var109 = 0; } else { -var116 = var_nclassdef->type->type_table[cltype117] == idtype118; +var109 = var_nclassdef->type->type_table[cltype110] == idtype111; +} +var_112 = var109; +if (var109){ +{ +{ /* Inline parser_nodes#AClassdef#n_propdefs (var_nclassdef) on */ +var115 = var_nclassdef->attrs[COLOR_nit__parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on */ +if (unlikely(var115 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_propdefs"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1189); +fatal_exit(1); +} +var113 = var115; +RET_LABEL114:(void)0; } -if (var116){ -if (varonce119) { -var120 = varonce119; -} else { -var121 = "Object"; -var122 = 6; -var123 = standard___standard__NativeString___to_s_with_length(var121, var122); -var120 = var123; -varonce119 = var120; } -var_name = var120; -var124 = NULL; -var_nkind = var124; { -var125 = nit__model___standard__Object___interface_kind(self); +var116 = standard___standard__SequenceRead___Collection__first(var113); +} +/* isa AMethPropdef */ +cltype118 = type_nit__AMethPropdef.color; +idtype119 = type_nit__AMethPropdef.id; +if(cltype118 >= var116->type->table_size) { +var117 = 0; +} else { +var117 = var116->type->type_table[cltype118] == idtype119; +} +if (unlikely(!var117)) { +var_class_name120 = var116 == NULL ? "null" : var116->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AMethPropdef", var_class_name120); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 78); +fatal_exit(1); } -var_mkind = var125; -var126 = NULL; -var_nvisibility = var126; { -var127 = nit__model_base___standard__Object___public_visibility(self); +{ /* Inline parser_nodes#AMethPropdef#n_methid (var116) on */ +var123 = var116->attrs[COLOR_nit__parser_nodes__AMethPropdef___n_methid].val; /* _n_methid on */ +var121 = var123; +RET_LABEL122:(void)0; +} } -var_mvisibility = var127; +if (var121 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 78); +fatal_exit(1); } else { -/* isa AMainClassdef */ -cltype129 = type_nit__AMainClassdef.color; -idtype130 = type_nit__AMainClassdef.id; -if(cltype129 >= var_nclassdef->type->table_size) { -var128 = 0; +var124 = nit__parser_work___Prod___collect_text(var121); +} +if (likely(varonce125!=NULL)) { +var126 = varonce125; } else { -var128 = var_nclassdef->type->type_table[cltype129] == idtype130; +var127 = "sys"; +var128 = standard___standard__NativeString___to_s_with_length(var127, 3l); +var126 = var128; +varonce125 = var126; } -if (var128){ -if (varonce131) { -var132 = varonce131; +{ +var129 = ((short int(*)(val* self, val* p0))(var124->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var124, var126); /* == on */ +} +var108 = var129; } else { -var133 = "Sys"; -var134 = 3; -var135 = standard___standard__NativeString___to_s_with_length(var133, var134); -var132 = var135; -varonce131 = var132; +var108 = var_112; } -var_name = var132; -var136 = NULL; -var_nkind = var136; +if (var108){ +if (likely(varonce130!=NULL)) { +var131 = varonce130; +} else { +var132 = "Object"; +var133 = standard___standard__NativeString___to_s_with_length(var132, 6l); +var131 = var133; +varonce130 = var131; +} +var_name = var131; +var_nkind = ((val*)NULL); +var134 = glob_sys; { -var137 = nit__model___standard__Object___concrete_kind(self); +var135 = nit__model___standard__Sys___interface_kind(var134); } -var_mkind = var137; -var138 = NULL; -var_nvisibility = var138; +var_mkind = var135; +var_nvisibility = ((val*)NULL); +var136 = glob_sys; { -var139 = nit__model_base___standard__Object___public_visibility(self); +var137 = nit__model_base___standard__Sys___public_visibility(var136); } -var_mvisibility = var139; +var_mvisibility = var137; +} else { +if (likely(varonce138!=NULL)) { +var139 = varonce138; } else { -PRINT_ERROR("Runtime error: %s", "Aborted"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 91); -show_backtrace(1); +var140 = "Sys"; +var141 = standard___standard__NativeString___to_s_with_length(var140, 3l); +var139 = var141; +varonce138 = var139; +} +var_name = var139; +var_nkind = ((val*)NULL); +var142 = glob_sys; +{ +var143 = nit__model___standard__Sys___concrete_kind(var142); } +var_mkind = var143; +var_nvisibility = ((val*)NULL); +var144 = glob_sys; +{ +var145 = nit__model_base___standard__Sys___public_visibility(var144); +} +var_mvisibility = var145; } } { -var140 = nit___nit__ModelBuilder___try_get_mclass_by_name(self, var_nclassdef, var_mmodule, var_name); +var146 = nit___nit__ModelBuilder___try_get_mclass_by_name(self, var_nclassdef, var_mmodule, var_name); } -var_mclass = var140; -var141 = NULL; +var_mclass = var146; if (var_mclass == NULL) { -var142 = 1; /* is null */ +var147 = 1; /* is null */ } else { -var142 = 0; /* arg is null but recv is not */ +var147 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_mclass,var141) on */ -var_other = var141; +{ /* Inline kernel#Object#== (var_mclass,((val*)NULL)) on */ +var_other = ((val*)NULL); { { /* Inline kernel#Object#is_same_instance (var_mclass,var_other) on */ -var147 = var_mclass == var_other; -var145 = var147; -goto RET_LABEL146; -RET_LABEL146:(void)0; +var152 = var_mclass == var_other; +var150 = var152; +goto RET_LABEL151; +RET_LABEL151:(void)0; } } -var143 = var145; -goto RET_LABEL144; -RET_LABEL144:(void)0; +var148 = var150; +goto RET_LABEL149; +RET_LABEL149:(void)0; } -var142 = var143; +var147 = var148; } -if (var142){ +if (var147){ /* isa AStdClassdef */ -cltype150 = type_nit__AStdClassdef.color; -idtype151 = type_nit__AStdClassdef.id; -if(cltype150 >= var_nclassdef->type->table_size) { -var149 = 0; +cltype155 = type_nit__AStdClassdef.color; +idtype156 = type_nit__AStdClassdef.id; +if(cltype155 >= var_nclassdef->type->table_size) { +var154 = 0; } else { -var149 = var_nclassdef->type->type_table[cltype150] == idtype151; +var154 = var_nclassdef->type->type_table[cltype155] == idtype156; } -var_152 = var149; -if (var149){ +var_157 = var154; +if (var154){ { { /* Inline parser_nodes#ADefinition#n_kwredef (var_nclassdef) on */ -var155 = var_nclassdef->attrs[COLOR_nit__parser_nodes__ADefinition___n_kwredef].val; /* _n_kwredef on */ -var153 = var155; -RET_LABEL154:(void)0; +var160 = var_nclassdef->attrs[COLOR_nit__parser_nodes__ADefinition___n_kwredef].val; /* _n_kwredef on */ +var158 = var160; +RET_LABEL159:(void)0; } } -var156 = NULL; -if (var153 == NULL) { -var157 = 0; /* is null */ +if (var158 == NULL) { +var161 = 0; /* is null */ } else { -var157 = 1; /* arg is null and recv is not */ +var161 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var153,var156) on */ -var_other160 = var156; +{ /* Inline kernel#Object#!= (var158,((val*)NULL)) on */ +var_other164 = ((val*)NULL); { -var161 = ((short int (*)(val* self, val* p0))(var153->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var153, var_other160) /* == on */; +var165 = ((short int(*)(val* self, val* p0))(var158->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var158, var_other164); /* == on */ } -var162 = !var161; -var158 = var162; -goto RET_LABEL159; -RET_LABEL159:(void)0; +var166 = !var165; +var162 = var166; +goto RET_LABEL163; +RET_LABEL163:(void)0; } -var157 = var158; +var161 = var162; } -var148 = var157; +var153 = var161; } else { -var148 = var_152; +var153 = var_157; } -if (var148){ -if (varonce163) { -var164 = varonce163; +if (var153){ +if (unlikely(varonce167==NULL)) { +var168 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce169!=NULL)) { +var170 = varonce169; } else { -var165 = "Redef error: No imported class "; -var166 = 31; -var167 = standard___standard__NativeString___to_s_with_length(var165, var166); -var164 = var167; -varonce163 = var164; +var171 = "Redef Error: no imported class `"; +var172 = standard___standard__NativeString___to_s_with_length(var171, 32l); +var170 = var172; +varonce169 = var170; } -if (varonce168) { -var169 = varonce168; +((struct instance_standard__NativeArray*)var168)->values[0]=var170; +if (likely(varonce173!=NULL)) { +var174 = varonce173; } else { -var170 = " to refine."; -var171 = 11; -var172 = standard___standard__NativeString___to_s_with_length(var170, var171); -var169 = var172; -varonce168 = var169; -} -var173 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var173 = array_instance Array[Object] */ -var174 = 3; -var175 = NEW_standard__NativeArray(var174, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var175)->values[0] = (val*) var164; -((struct instance_standard__NativeArray*)var175)->values[1] = (val*) var_name; -((struct instance_standard__NativeArray*)var175)->values[2] = (val*) var169; -{ -((void (*)(val* self, val* p0, long p1))(var173->class->vft[COLOR_standard__array__Array__with_native]))(var173, var175, var174) /* with_native on */; +var175 = "` to refine."; +var176 = standard___standard__NativeString___to_s_with_length(var175, 12l); +var174 = var176; +varonce173 = var174; } +((struct instance_standard__NativeArray*)var168)->values[2]=var174; +} else { +var168 = varonce167; +varonce167 = NULL; } +((struct instance_standard__NativeArray*)var168)->values[1]=var_name; { -var176 = ((val* (*)(val* self))(var173->class->vft[COLOR_standard__string__Object__to_s]))(var173) /* to_s on */; +var177 = ((val*(*)(val* self))(var168->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var168); /* native_to_s on */ } +varonce167 = var168; { -nit___nit__ModelBuilder___error(self, var_nclassdef, var176); /* Direct call modelbuilder_base#ModelBuilder#error on */ +nit___nit__ModelBuilder___error(self, var_nclassdef, var177); /* Direct call modelbuilder_base#ModelBuilder#error on */ } goto RET_LABEL; } else { } { { /* Inline mmodule#MModule#mgroup (var_mmodule) on */ -var180 = var_mmodule->attrs[COLOR_nit__mmodule__MModule___mgroup].val; /* _mgroup on */ -var178 = var180; -RET_LABEL179:(void)0; +var181 = var_mmodule->attrs[COLOR_nit__mmodule__MModule___mgroup].val; /* _mgroup on */ +var179 = var181; +RET_LABEL180:(void)0; } } -var181 = NULL; -if (var178 == NULL) { +if (var179 == NULL) { var182 = 0; /* is null */ } else { var182 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var178,var181) on */ -var_other160 = var181; +{ /* Inline kernel#Object#!= (var179,((val*)NULL)) on */ +var_other164 = ((val*)NULL); { -var185 = ((short int (*)(val* self, val* p0))(var178->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var178, var_other160) /* == on */; +var185 = ((short int(*)(val* self, val* p0))(var179->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var179, var_other164); /* == on */ } var186 = !var185; var183 = var186; @@ -1070,44 +1105,44 @@ var182 = var183; } var_187 = var182; if (var182){ +var188 = glob_sys; { -var188 = nit__model_base___standard__Object___protected_visibility(self); +var189 = nit__model_base___standard__Sys___protected_visibility(var188); } { -var189 = standard___standard__Comparable____62d_61d(var_mvisibility, var188); +var190 = standard___standard__Comparable____62d_61d(var_mvisibility, var189); } -var177 = var189; +var178 = var190; } else { -var177 = var_187; +var178 = var_187; } -if (var177){ +if (var178){ { { /* Inline modelbuilder_base#ModelBuilder#model (self) on */ -var192 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___model].val; /* _model on */ -if (unlikely(var192 == NULL)) { +var193 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___model].val; /* _model on */ +if (unlikely(var193 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 44); -show_backtrace(1); +fatal_exit(1); } -var190 = var192; -RET_LABEL191:(void)0; +var191 = var193; +RET_LABEL192:(void)0; } } { -var193 = nit__model___Model___get_mclasses_by_name(var190, var_name); +var194 = nit__model___Model___get_mclasses_by_name(var191, var_name); } -var_mclasses = var193; -var194 = NULL; +var_mclasses = var194; if (var_mclasses == NULL) { var195 = 0; /* is null */ } else { var195 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_mclasses,var194) on */ -var_other160 = var194; +{ /* Inline kernel#Object#!= (var_mclasses,((val*)NULL)) on */ +var_other164 = ((val*)NULL); { -var198 = ((short int (*)(val* self, val* p0))(var_mclasses->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_mclasses, var_other160) /* == on */; +var198 = ((short int(*)(val* self, val* p0))(var_mclasses->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_mclasses, var_other164); /* == on */ } var199 = !var198; var196 = var199; @@ -1136,8 +1171,8 @@ var_other205 = var204; var209 = var_other205->attrs[COLOR_nit__model__MClass___intro_mmodule].val; /* _intro_mmodule on */ if (unlikely(var209 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 343); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 357); +fatal_exit(1); } var207 = var209; RET_LABEL208:(void)0; @@ -1150,776 +1185,836 @@ var210 = var212; RET_LABEL211:(void)0; } } -var213 = NULL; if (var210 == NULL) { -var214 = 0; /* is null */ +var213 = 0; /* is null */ } else { -var214 = 1; /* arg is null and recv is not */ +var213 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var210,var213) on */ -var_other160 = var213; +{ /* Inline kernel#Object#!= (var210,((val*)NULL)) on */ +var_other164 = ((val*)NULL); { -var217 = ((short int (*)(val* self, val* p0))(var210->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var210, var_other160) /* == on */; +var216 = ((short int(*)(val* self, val* p0))(var210->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var210, var_other164); /* == on */ } -var218 = !var217; -var215 = var218; -goto RET_LABEL216; -RET_LABEL216:(void)0; +var217 = !var216; +var214 = var217; +goto RET_LABEL215; +RET_LABEL215:(void)0; } -var214 = var215; +var213 = var214; } -var_219 = var214; -if (var214){ +var_218 = var213; +if (var213){ { { /* Inline model#MClass#intro_mmodule (var_other205) on */ -var222 = var_other205->attrs[COLOR_nit__model__MClass___intro_mmodule].val; /* _intro_mmodule on */ -if (unlikely(var222 == NULL)) { +var221 = var_other205->attrs[COLOR_nit__model__MClass___intro_mmodule].val; /* _intro_mmodule on */ +if (unlikely(var221 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 343); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 357); +fatal_exit(1); } -var220 = var222; -RET_LABEL221:(void)0; +var219 = var221; +RET_LABEL220:(void)0; } } { -{ /* Inline mmodule#MModule#mgroup (var220) on */ -var225 = var220->attrs[COLOR_nit__mmodule__MModule___mgroup].val; /* _mgroup on */ -var223 = var225; -RET_LABEL224:(void)0; +{ /* Inline mmodule#MModule#mgroup (var219) on */ +var224 = var219->attrs[COLOR_nit__mmodule__MModule___mgroup].val; /* _mgroup on */ +var222 = var224; +RET_LABEL223:(void)0; } } -if (var223 == NULL) { +if (var222 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 105); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 106); +fatal_exit(1); } else { -{ /* Inline mproject#MGroup#mproject (var223) on */ -if (unlikely(var223 == NULL)) { +{ /* Inline mproject#MGroup#mproject (var222) on */ +if (unlikely(var222 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__mproject, 69); -show_backtrace(1); +fatal_exit(1); } -var228 = var223->attrs[COLOR_nit__mproject__MGroup___mproject].val; /* _mproject on */ -if (unlikely(var228 == NULL)) { +var227 = var222->attrs[COLOR_nit__mproject__MGroup___mproject].val; /* _mproject on */ +if (unlikely(var227 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproject"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__mproject, 69); -show_backtrace(1); +fatal_exit(1); } -var226 = var228; -RET_LABEL227:(void)0; +var225 = var227; +RET_LABEL226:(void)0; } } { { /* Inline mmodule#MModule#mgroup (var_mmodule) on */ -var231 = var_mmodule->attrs[COLOR_nit__mmodule__MModule___mgroup].val; /* _mgroup on */ -var229 = var231; -RET_LABEL230:(void)0; +var230 = var_mmodule->attrs[COLOR_nit__mmodule__MModule___mgroup].val; /* _mgroup on */ +var228 = var230; +RET_LABEL229:(void)0; } } -if (var229 == NULL) { +if (var228 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 105); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 106); +fatal_exit(1); } else { -{ /* Inline mproject#MGroup#mproject (var229) on */ -if (unlikely(var229 == NULL)) { +{ /* Inline mproject#MGroup#mproject (var228) on */ +if (unlikely(var228 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__mproject, 69); -show_backtrace(1); +fatal_exit(1); } -var234 = var229->attrs[COLOR_nit__mproject__MGroup___mproject].val; /* _mproject on */ -if (unlikely(var234 == NULL)) { +var233 = var228->attrs[COLOR_nit__mproject__MGroup___mproject].val; /* _mproject on */ +if (unlikely(var233 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproject"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__mproject, 69); -show_backtrace(1); +fatal_exit(1); } -var232 = var234; -RET_LABEL233:(void)0; +var231 = var233; +RET_LABEL232:(void)0; } } { -{ /* Inline kernel#Object#== (var226,var232) on */ -var_other = var232; +{ /* Inline kernel#Object#== (var225,var231) on */ +var_other = var231; { -{ /* Inline kernel#Object#is_same_instance (var226,var_other) on */ -var239 = var226 == var_other; -var237 = var239; -goto RET_LABEL238; -RET_LABEL238:(void)0; +{ /* Inline kernel#Object#is_same_instance (var225,var_other) on */ +var238 = var225 == var_other; +var236 = var238; +goto RET_LABEL237; +RET_LABEL237:(void)0; } } -var235 = var237; -goto RET_LABEL236; -RET_LABEL236:(void)0; +var234 = var236; +goto RET_LABEL235; +RET_LABEL235:(void)0; } } -var206 = var235; +var206 = var234; } else { -var206 = var_219; +var206 = var_218; } if (var206){ -if (varonce240) { -var241 = varonce240; +{ +var239 = nit___nit__MClass___try_intro(var_other205); +} +if (var239 == NULL) { +var240 = 1; /* is null */ } else { -var242 = "Error: A class named `"; -var243 = 22; -var244 = standard___standard__NativeString___to_s_with_length(var242, var243); -var241 = var244; -varonce240 = var241; +var240 = 0; /* arg is null but recv is not */ } +if (0) { +{ /* Inline kernel#Object#== (var239,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var245 = nit___nit__MClass___nit__model_base__MEntity__full_name(var_other205); +{ /* Inline kernel#Object#is_same_instance (var239,var_other) on */ +var245 = var239 == var_other; +var243 = var245; +goto RET_LABEL244; +RET_LABEL244:(void)0; +} +} +var241 = var243; +goto RET_LABEL242; +RET_LABEL242:(void)0; +} +var240 = var241; +} +if (var240){ +goto BREAK_label246; +} else { +} +if (likely(varonce247!=NULL)) { +var248 = varonce247; +} else { +var249 = "full-name-conflict"; +var250 = standard___standard__NativeString___to_s_with_length(var249, 18l); +var248 = var250; +varonce247 = var248; +} +if (unlikely(varonce251==NULL)) { +var252 = NEW_standard__NativeArray(7l, &type_standard__NativeArray__standard__String); +if (likely(varonce253!=NULL)) { +var254 = varonce253; +} else { +var255 = "Error: a class named `"; +var256 = standard___standard__NativeString___to_s_with_length(var255, 22l); +var254 = var256; +varonce253 = var254; +} +((struct instance_standard__NativeArray*)var252)->values[0]=var254; +if (likely(varonce257!=NULL)) { +var258 = varonce257; +} else { +var259 = "` is already defined in module `"; +var260 = standard___standard__NativeString___to_s_with_length(var259, 32l); +var258 = var260; +varonce257 = var258; +} +((struct instance_standard__NativeArray*)var252)->values[2]=var258; +if (likely(varonce261!=NULL)) { +var262 = varonce261; +} else { +var263 = "` at "; +var264 = standard___standard__NativeString___to_s_with_length(var263, 5l); +var262 = var264; +varonce261 = var262; } -if (varonce246) { -var247 = varonce246; +((struct instance_standard__NativeArray*)var252)->values[4]=var262; +if (likely(varonce265!=NULL)) { +var266 = varonce265; +} else { +var267 = "."; +var268 = standard___standard__NativeString___to_s_with_length(var267, 1l); +var266 = var268; +varonce265 = var266; +} +((struct instance_standard__NativeArray*)var252)->values[6]=var266; } else { -var248 = "` is already defined in module `"; -var249 = 32; -var250 = standard___standard__NativeString___to_s_with_length(var248, var249); -var247 = var250; -varonce246 = var247; +var252 = varonce251; +varonce251 = NULL; +} +{ +var269 = nit___nit__MClass___nit__model_base__MEntity__full_name(var_other205); } +((struct instance_standard__NativeArray*)var252)->values[1]=var269; { { /* Inline model#MClass#intro_mmodule (var_other205) on */ -var253 = var_other205->attrs[COLOR_nit__model__MClass___intro_mmodule].val; /* _intro_mmodule on */ -if (unlikely(var253 == NULL)) { +var272 = var_other205->attrs[COLOR_nit__model__MClass___intro_mmodule].val; /* _intro_mmodule on */ +if (unlikely(var272 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 343); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 357); +fatal_exit(1); } -var251 = var253; -RET_LABEL252:(void)0; +var270 = var272; +RET_LABEL271:(void)0; } } -if (varonce254) { -var255 = varonce254; -} else { -var256 = "` at "; -var257 = 5; -var258 = standard___standard__NativeString___to_s_with_length(var256, var257); -var255 = var258; -varonce254 = var255; +{ +var273 = ((val*(*)(val* self))(var270->class->vft[COLOR_standard__string__Object__to_s]))(var270); /* to_s on */ } +((struct instance_standard__NativeArray*)var252)->values[3]=var273; { { /* Inline model#MClass#intro (var_other205) on */ -var261 = var_other205->attrs[COLOR_nit__model__MClass___intro].val; /* _intro on */ -if (unlikely(var261 == NULL)) { +var276 = var_other205->attrs[COLOR_nit__model__MClass___intro].val; /* _intro on */ +if (unlikely(var276 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 423); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 460); +fatal_exit(1); } -var259 = var261; -RET_LABEL260:(void)0; +var274 = var276; +RET_LABEL275:(void)0; } } { -{ /* Inline model#MClassDef#location (var259) on */ -var264 = var259->attrs[COLOR_nit__model__MClassDef___location].val; /* _location on */ -if (unlikely(var264 == NULL)) { +{ /* Inline model#MClassDef#location (var274) on */ +var279 = var274->attrs[COLOR_nit__model__MClassDef___location].val; /* _location on */ +if (unlikely(var279 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 507); -show_backtrace(1); -} -var262 = var264; -RET_LABEL263:(void)0; +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 568); +fatal_exit(1); } +var277 = var279; +RET_LABEL278:(void)0; } -if (varonce265) { -var266 = varonce265; -} else { -var267 = "."; -var268 = 1; -var269 = standard___standard__NativeString___to_s_with_length(var267, var268); -var266 = var269; -varonce265 = var266; } -var270 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var270 = array_instance Array[Object] */ -var271 = 7; -var272 = NEW_standard__NativeArray(var271, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var272)->values[0] = (val*) var241; -((struct instance_standard__NativeArray*)var272)->values[1] = (val*) var245; -((struct instance_standard__NativeArray*)var272)->values[2] = (val*) var247; -((struct instance_standard__NativeArray*)var272)->values[3] = (val*) var251; -((struct instance_standard__NativeArray*)var272)->values[4] = (val*) var255; -((struct instance_standard__NativeArray*)var272)->values[5] = (val*) var262; -((struct instance_standard__NativeArray*)var272)->values[6] = (val*) var266; { -((void (*)(val* self, val* p0, long p1))(var270->class->vft[COLOR_standard__array__Array__with_native]))(var270, var272, var271) /* with_native on */; -} +var280 = ((val*(*)(val* self))(var277->class->vft[COLOR_standard__string__Object__to_s]))(var277); /* to_s on */ } +((struct instance_standard__NativeArray*)var252)->values[5]=var280; { -var273 = ((val* (*)(val* self))(var270->class->vft[COLOR_standard__string__Object__to_s]))(var270) /* to_s on */; +var281 = ((val*(*)(val* self))(var252->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var252); /* native_to_s on */ } +varonce251 = var252; { -nit___nit__ModelBuilder___error(self, var_nclassdef, var273); /* Direct call modelbuilder_base#ModelBuilder#error on */ +nit___nit__ModelBuilder___warning(self, var_nclassdef, var248, var281); /* Direct call modelbuilder_base#ModelBuilder#warning on */ } -goto BREAK_label274; +goto BREAK_label282; } else { } +BREAK_label246: (void)0; { standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_202); /* Direct call array#ArrayIterator#next on */ } } else { -goto BREAK_label274; +goto BREAK_label282; } } -BREAK_label274: (void)0; +BREAK_label282: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_202) on */ -RET_LABEL275:(void)0; -} +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_202); /* Direct call array#ArrayIterator#finish on */ } } else { } } else { } -var276 = NEW_nit__MClass(&type_nit__MClass); +var283 = NEW_nit__MClass(&type_nit__MClass); { -((void (*)(val* self, val* p0))(var276->class->vft[COLOR_nit__model__MClass__intro_mmodule_61d]))(var276, var_mmodule) /* intro_mmodule= on */; +((void(*)(val* self, val* p0))(var283->class->vft[COLOR_nit__model__MClass__intro_mmodule_61d]))(var283, var_mmodule); /* intro_mmodule= on */ } { -((void (*)(val* self, val* p0))(var276->class->vft[COLOR_nit__model__MClass__name_61d]))(var276, var_name) /* name= on */; +((void(*)(val* self, val* p0))(var283->class->vft[COLOR_nit__model__MClass__name_61d]))(var283, var_name); /* name= on */ } { -((void (*)(val* self, val* p0))(var276->class->vft[COLOR_nit__model__MClass__setup_parameter_names]))(var276, var_names) /* setup_parameter_names on */; +((void(*)(val* self, val* p0))(var283->class->vft[COLOR_nit__model__MClass__setup_parameter_names]))(var283, var_names); /* setup_parameter_names on */ } { -((void (*)(val* self, val* p0))(var276->class->vft[COLOR_nit__model__MClass__kind_61d]))(var276, var_mkind) /* kind= on */; +((void(*)(val* self, val* p0))(var283->class->vft[COLOR_nit__model__MClass__kind_61d]))(var283, var_mkind); /* kind= on */ } { -((void (*)(val* self, val* p0))(var276->class->vft[COLOR_nit__model__MClass__visibility_61d]))(var276, var_mvisibility) /* visibility= on */; +((void(*)(val* self, val* p0))(var283->class->vft[COLOR_nit__model__MClass__visibility_61d]))(var283, var_mvisibility); /* visibility= on */ } { -((void (*)(val* self))(var276->class->vft[COLOR_standard__kernel__Object__init]))(var276) /* init on */; +((void(*)(val* self))(var283->class->vft[COLOR_standard__kernel__Object__init]))(var283); /* init on */ } -var_mclass = var276; +var_mclass = var283; } else { /* isa AStdClassdef */ -cltype279 = type_nit__AStdClassdef.color; -idtype280 = type_nit__AStdClassdef.id; -if(cltype279 >= var_nclassdef->type->table_size) { -var278 = 0; +cltype286 = type_nit__AStdClassdef.color; +idtype287 = type_nit__AStdClassdef.id; +if(cltype286 >= var_nclassdef->type->table_size) { +var285 = 0; } else { -var278 = var_nclassdef->type->type_table[cltype279] == idtype280; +var285 = var_nclassdef->type->type_table[cltype286] == idtype287; } -var_281 = var278; -if (var278){ +var_288 = var285; +if (var285){ { { /* Inline modelize_class#AModule#mclass2nclassdef (var_nmodule) on */ -var284 = var_nmodule->attrs[COLOR_nit__modelize_class__AModule___mclass2nclassdef].val; /* _mclass2nclassdef on */ -if (unlikely(var284 == NULL)) { +var291 = var_nmodule->attrs[COLOR_nit__modelize_class__AModule___mclass2nclassdef].val; /* _mclass2nclassdef on */ +if (unlikely(var291 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass2nclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 541); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 464); +fatal_exit(1); } -var282 = var284; -RET_LABEL283:(void)0; +var289 = var291; +RET_LABEL290:(void)0; } } { -var285 = standard___standard__MapRead___has_key(var282, var_mclass); +var292 = ((short int(*)(val* self, val* p0))((((long)var289&3)?class_info[((long)var289&3)]:var289->class)->vft[COLOR_standard__abstract_collection__MapRead__has_key]))(var289, var_mclass); /* has_key on */ } -var277 = var285; +var284 = var292; } else { -var277 = var_281; +var284 = var_288; } -if (var277){ -if (varonce286) { -var287 = varonce286; +if (var284){ +if (unlikely(varonce293==NULL)) { +var294 = NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String); +if (likely(varonce295!=NULL)) { +var296 = varonce295; +} else { +var297 = "Error: a class `"; +var298 = standard___standard__NativeString___to_s_with_length(var297, 16l); +var296 = var298; +varonce295 = var296; +} +((struct instance_standard__NativeArray*)var294)->values[0]=var296; +if (likely(varonce299!=NULL)) { +var300 = varonce299; +} else { +var301 = "` is already defined at line "; +var302 = standard___standard__NativeString___to_s_with_length(var301, 29l); +var300 = var302; +varonce299 = var300; +} +((struct instance_standard__NativeArray*)var294)->values[2]=var300; +if (likely(varonce303!=NULL)) { +var304 = varonce303; } else { -var288 = "Error: A class "; -var289 = 15; -var290 = standard___standard__NativeString___to_s_with_length(var288, var289); -var287 = var290; -varonce286 = var287; +var305 = "."; +var306 = standard___standard__NativeString___to_s_with_length(var305, 1l); +var304 = var306; +varonce303 = var304; } -if (varonce291) { -var292 = varonce291; +((struct instance_standard__NativeArray*)var294)->values[4]=var304; } else { -var293 = " is already defined at line "; -var294 = 28; -var295 = standard___standard__NativeString___to_s_with_length(var293, var294); -var292 = var295; -varonce291 = var292; +var294 = varonce293; +varonce293 = NULL; } +((struct instance_standard__NativeArray*)var294)->values[1]=var_name; { { /* Inline modelize_class#AModule#mclass2nclassdef (var_nmodule) on */ -var298 = var_nmodule->attrs[COLOR_nit__modelize_class__AModule___mclass2nclassdef].val; /* _mclass2nclassdef on */ -if (unlikely(var298 == NULL)) { +var309 = var_nmodule->attrs[COLOR_nit__modelize_class__AModule___mclass2nclassdef].val; /* _mclass2nclassdef on */ +if (unlikely(var309 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass2nclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 541); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 464); +fatal_exit(1); } -var296 = var298; -RET_LABEL297:(void)0; +var307 = var309; +RET_LABEL308:(void)0; } } { -var299 = ((val* (*)(val* self, val* p0))(var296->class->vft[COLOR_standard__abstract_collection__MapRead___91d_93d]))(var296, var_mclass) /* [] on */; +var310 = ((val*(*)(val* self, val* p0))((((long)var307&3)?class_info[((long)var307&3)]:var307->class)->vft[COLOR_standard__abstract_collection__MapRead___91d_93d]))(var307, var_mclass); /* [] on */ } { -{ /* Inline parser_nodes#ANode#location (var299) on */ -var302 = var299->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on */ -if (unlikely(var302 == NULL)) { +{ /* Inline parser_nodes#ANode#location (var310) on */ +var313 = var310->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on */ +if (unlikely(var313 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 23); -show_backtrace(1); -} -var300 = var302; -RET_LABEL301:(void)0; -} -} -{ -{ /* Inline location#Location#line_start (var300) on */ -var305 = var300->attrs[COLOR_nit__location__Location___line_start].l; /* _line_start on */ -var303 = var305; -RET_LABEL304:(void)0; +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 24); +fatal_exit(1); } +var311 = var313; +RET_LABEL312:(void)0; } -if (varonce306) { -var307 = varonce306; -} else { -var308 = "."; -var309 = 1; -var310 = standard___standard__NativeString___to_s_with_length(var308, var309); -var307 = var310; -varonce306 = var307; } -var311 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var311 = array_instance Array[Object] */ -var312 = 5; -var313 = NEW_standard__NativeArray(var312, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var313)->values[0] = (val*) var287; -((struct instance_standard__NativeArray*)var313)->values[1] = (val*) var_name; -((struct instance_standard__NativeArray*)var313)->values[2] = (val*) var292; -var314 = BOX_standard__Int(var303); /* autobox from Int to Object */ -((struct instance_standard__NativeArray*)var313)->values[3] = (val*) var314; -((struct instance_standard__NativeArray*)var313)->values[4] = (val*) var307; { -((void (*)(val* self, val* p0, long p1))(var311->class->vft[COLOR_standard__array__Array__with_native]))(var311, var313, var312) /* with_native on */; +{ /* Inline location#Location#line_start (var311) on */ +var316 = var311->attrs[COLOR_nit__location__Location___line_start].l; /* _line_start on */ +var314 = var316; +RET_LABEL315:(void)0; } } +var317 = standard__string___Int___Object__to_s(var314); +((struct instance_standard__NativeArray*)var294)->values[3]=var317; { -var315 = ((val* (*)(val* self))(var311->class->vft[COLOR_standard__string__Object__to_s]))(var311) /* to_s on */; +var318 = ((val*(*)(val* self))(var294->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var294); /* native_to_s on */ } +varonce293 = var294; { -nit___nit__ModelBuilder___error(self, var_nclassdef, var315); /* Direct call modelbuilder_base#ModelBuilder#error on */ +nit___nit__ModelBuilder___error(self, var_nclassdef, var318); /* Direct call modelbuilder_base#ModelBuilder#error on */ } goto RET_LABEL; } else { /* isa AStdClassdef */ -cltype318 = type_nit__AStdClassdef.color; -idtype319 = type_nit__AStdClassdef.id; -if(cltype318 >= var_nclassdef->type->table_size) { -var317 = 0; +cltype321 = type_nit__AStdClassdef.color; +idtype322 = type_nit__AStdClassdef.id; +if(cltype321 >= var_nclassdef->type->table_size) { +var320 = 0; } else { -var317 = var_nclassdef->type->type_table[cltype318] == idtype319; +var320 = var_nclassdef->type->type_table[cltype321] == idtype322; } -var_320 = var317; -if (var317){ +var_323 = var320; +if (var320){ { { /* Inline parser_nodes#ADefinition#n_kwredef (var_nclassdef) on */ -var323 = var_nclassdef->attrs[COLOR_nit__parser_nodes__ADefinition___n_kwredef].val; /* _n_kwredef on */ -var321 = var323; -RET_LABEL322:(void)0; +var326 = var_nclassdef->attrs[COLOR_nit__parser_nodes__ADefinition___n_kwredef].val; /* _n_kwredef on */ +var324 = var326; +RET_LABEL325:(void)0; } } -var324 = NULL; -if (var321 == NULL) { -var325 = 1; /* is null */ +if (var324 == NULL) { +var327 = 1; /* is null */ } else { -var325 = 0; /* arg is null but recv is not */ +var327 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var321,var324) on */ -var_other = var324; +{ /* Inline kernel#Object#== (var324,((val*)NULL)) on */ +var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var321,var_other) on */ -var330 = var321 == var_other; +{ /* Inline kernel#Object#is_same_instance (var324,var_other) on */ +var332 = var324 == var_other; +var330 = var332; +goto RET_LABEL331; +RET_LABEL331:(void)0; +} +} var328 = var330; goto RET_LABEL329; RET_LABEL329:(void)0; } +var327 = var328; } -var326 = var328; -goto RET_LABEL327; -RET_LABEL327:(void)0; -} -var325 = var326; +var319 = var327; +} else { +var319 = var_323; } -var316 = var325; +if (var319){ +if (unlikely(varonce333==NULL)) { +var334 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce335!=NULL)) { +var336 = varonce335; } else { -var316 = var_320; +var337 = "Redef Error: `"; +var338 = standard___standard__NativeString___to_s_with_length(var337, 14l); +var336 = var338; +varonce335 = var336; } -if (var316){ -if (varonce331) { -var332 = varonce331; +((struct instance_standard__NativeArray*)var334)->values[0]=var336; +if (likely(varonce339!=NULL)) { +var340 = varonce339; } else { -var333 = "Redef error: "; -var334 = 13; -var335 = standard___standard__NativeString___to_s_with_length(var333, var334); -var332 = var335; -varonce331 = var332; +var341 = "` is an imported class. Add the `redef` keyword to refine it."; +var342 = standard___standard__NativeString___to_s_with_length(var341, 61l); +var340 = var342; +varonce339 = var340; } -if (varonce336) { -var337 = varonce336; +((struct instance_standard__NativeArray*)var334)->values[2]=var340; } else { -var338 = " is an imported class. Add the redef keyword to refine it."; -var339 = 58; -var340 = standard___standard__NativeString___to_s_with_length(var338, var339); -var337 = var340; -varonce336 = var337; +var334 = varonce333; +varonce333 = NULL; } -var341 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var341 = array_instance Array[Object] */ -var342 = 3; -var343 = NEW_standard__NativeArray(var342, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var343)->values[0] = (val*) var332; -((struct instance_standard__NativeArray*)var343)->values[1] = (val*) var_name; -((struct instance_standard__NativeArray*)var343)->values[2] = (val*) var337; +((struct instance_standard__NativeArray*)var334)->values[1]=var_name; { -((void (*)(val* self, val* p0, long p1))(var341->class->vft[COLOR_standard__array__Array__with_native]))(var341, var343, var342) /* with_native on */; -} +var343 = ((val*(*)(val* self))(var334->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var334); /* native_to_s on */ } +varonce333 = var334; { -var344 = ((val* (*)(val* self))(var341->class->vft[COLOR_standard__string__Object__to_s]))(var341) /* to_s on */; -} -{ -nit___nit__ModelBuilder___error(self, var_nclassdef, var344); /* Direct call modelbuilder_base#ModelBuilder#error on */ +nit___nit__ModelBuilder___error(self, var_nclassdef, var343); /* Direct call modelbuilder_base#ModelBuilder#error on */ } goto RET_LABEL; } else { -var346 = 0; { -{ /* Inline kernel#Int#!= (var_arity,var346) on */ -var349 = var_arity == var346; -var350 = !var349; -var347 = var350; -goto RET_LABEL348; -RET_LABEL348:(void)0; +{ /* Inline kernel#Int#!= (var_arity,0l) on */ +var347 = var_arity == 0l; +var348 = !var347; +var345 = var348; +goto RET_LABEL346; +RET_LABEL346:(void)0; } } -var_351 = var347; -if (var347){ +var_349 = var345; +if (var345){ { { /* Inline model#MClass#arity (var_mclass) on */ -var354 = var_mclass->attrs[COLOR_nit__model__MClass___arity].l; /* _arity on */ -var352 = var354; -RET_LABEL353:(void)0; +var352 = var_mclass->attrs[COLOR_nit__model__MClass___arity].l; /* _arity on */ +var350 = var352; +RET_LABEL351:(void)0; } } { -{ /* Inline kernel#Int#!= (var352,var_arity) on */ -var357 = var352 == var_arity; -var358 = !var357; -var355 = var358; -goto RET_LABEL356; -RET_LABEL356:(void)0; +{ /* Inline kernel#Int#!= (var350,var_arity) on */ +var355 = var350 == var_arity; +var356 = !var355; +var353 = var356; +goto RET_LABEL354; +RET_LABEL354:(void)0; } } -var345 = var355; +var344 = var353; } else { -var345 = var_351; +var344 = var_349; } -if (var345){ -if (varonce359) { +if (var344){ +if (unlikely(varonce357==NULL)) { +var358 = NEW_standard__NativeArray(7l, &type_standard__NativeArray__standard__String); +if (likely(varonce359!=NULL)) { var360 = varonce359; } else { -var361 = "Redef error: Formal parameter arity missmatch; got "; -var362 = 51; -var363 = standard___standard__NativeString___to_s_with_length(var361, var362); -var360 = var363; +var361 = "Redef Error: expected "; +var362 = standard___standard__NativeString___to_s_with_length(var361, 22l); +var360 = var362; varonce359 = var360; } -if (varonce364) { -var365 = varonce364; +((struct instance_standard__NativeArray*)var358)->values[0]=var360; +if (likely(varonce363!=NULL)) { +var364 = varonce363; } else { -var366 = ", expected "; -var367 = 11; -var368 = standard___standard__NativeString___to_s_with_length(var366, var367); -var365 = var368; -varonce364 = var365; +var365 = " formal parameter(s) for "; +var366 = standard___standard__NativeString___to_s_with_length(var365, 25l); +var364 = var366; +varonce363 = var364; } -{ -{ /* Inline model#MClass#arity (var_mclass) on */ -var371 = var_mclass->attrs[COLOR_nit__model__MClass___arity].l; /* _arity on */ -var369 = var371; -RET_LABEL370:(void)0; +((struct instance_standard__NativeArray*)var358)->values[2]=var364; +if (likely(varonce367!=NULL)) { +var368 = varonce367; +} else { +var369 = "; got "; +var370 = standard___standard__NativeString___to_s_with_length(var369, 6l); +var368 = var370; +varonce367 = var368; } +((struct instance_standard__NativeArray*)var358)->values[4]=var368; +if (likely(varonce371!=NULL)) { +var372 = varonce371; +} else { +var373 = "."; +var374 = standard___standard__NativeString___to_s_with_length(var373, 1l); +var372 = var374; +varonce371 = var372; } -if (varonce372) { -var373 = varonce372; +((struct instance_standard__NativeArray*)var358)->values[6]=var372; } else { -var374 = "."; -var375 = 1; -var376 = standard___standard__NativeString___to_s_with_length(var374, var375); -var373 = var376; -varonce372 = var373; +var358 = varonce357; +varonce357 = NULL; } -var377 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var377 = array_instance Array[Object] */ -var378 = 5; -var379 = NEW_standard__NativeArray(var378, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var379)->values[0] = (val*) var360; -var380 = BOX_standard__Int(var_arity); /* autobox from Int to Object */ -((struct instance_standard__NativeArray*)var379)->values[1] = (val*) var380; -((struct instance_standard__NativeArray*)var379)->values[2] = (val*) var365; -var381 = BOX_standard__Int(var369); /* autobox from Int to Object */ -((struct instance_standard__NativeArray*)var379)->values[3] = (val*) var381; -((struct instance_standard__NativeArray*)var379)->values[4] = (val*) var373; { -((void (*)(val* self, val* p0, long p1))(var377->class->vft[COLOR_standard__array__Array__with_native]))(var377, var379, var378) /* with_native on */; +{ /* Inline model#MClass#arity (var_mclass) on */ +var377 = var_mclass->attrs[COLOR_nit__model__MClass___arity].l; /* _arity on */ +var375 = var377; +RET_LABEL376:(void)0; +} } +var378 = standard__string___Int___Object__to_s(var375); +((struct instance_standard__NativeArray*)var358)->values[1]=var378; +{ +var379 = nit___nit__MClass___signature_to_s(var_mclass); } +((struct instance_standard__NativeArray*)var358)->values[3]=var379; +var380 = standard__string___Int___Object__to_s(var_arity); +((struct instance_standard__NativeArray*)var358)->values[5]=var380; { -var382 = ((val* (*)(val* self))(var377->class->vft[COLOR_standard__string__Object__to_s]))(var377) /* to_s on */; +var381 = ((val*(*)(val* self))(var358->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var358); /* native_to_s on */ } +varonce357 = var358; { -nit___nit__ModelBuilder___error(self, var_nclassdef, var382); /* Direct call modelbuilder_base#ModelBuilder#error on */ +nit___nit__ModelBuilder___error(self, var_nclassdef, var381); /* Direct call modelbuilder_base#ModelBuilder#error on */ } goto RET_LABEL; } else { -var385 = NULL; if (var_nkind == NULL) { -var386 = 0; /* is null */ +var384 = 0; /* is null */ } else { -var386 = 1; /* arg is null and recv is not */ +var384 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_nkind,var385) on */ -var_other160 = var385; +{ /* Inline kernel#Object#!= (var_nkind,((val*)NULL)) on */ +var_other164 = ((val*)NULL); { -var389 = ((short int (*)(val* self, val* p0))(var_nkind->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nkind, var_other160) /* == on */; +var387 = ((short int(*)(val* self, val* p0))(var_nkind->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nkind, var_other164); /* == on */ } -var390 = !var389; -var387 = var390; -goto RET_LABEL388; -RET_LABEL388:(void)0; +var388 = !var387; +var385 = var388; +goto RET_LABEL386; +RET_LABEL386:(void)0; } -var386 = var387; +var384 = var385; } -var_391 = var386; -if (var386){ +var_389 = var384; +if (var384){ +var390 = glob_sys; { -var392 = nit__model___standard__Object___concrete_kind(self); +var391 = nit__model___standard__Sys___concrete_kind(var390); } { -{ /* Inline kernel#Object#!= (var_mkind,var392) on */ -var_other160 = var392; +{ /* Inline kernel#Object#!= (var_mkind,var391) on */ +var_other164 = var391; { -var395 = ((short int (*)(val* self, val* p0))(var_mkind->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_mkind, var_other160) /* == on */; +var394 = ((short int(*)(val* self, val* p0))(var_mkind->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_mkind, var_other164); /* == on */ } -var396 = !var395; -var393 = var396; -goto RET_LABEL394; -RET_LABEL394:(void)0; +var395 = !var394; +var392 = var395; +goto RET_LABEL393; +RET_LABEL393:(void)0; } } -var384 = var393; +var383 = var392; } else { -var384 = var_391; +var383 = var_389; } -var_397 = var384; -if (var384){ +var_396 = var383; +if (var383){ { { /* Inline model#MClass#kind (var_mclass) on */ -var400 = var_mclass->attrs[COLOR_nit__model__MClass___kind].val; /* _kind on */ -if (unlikely(var400 == NULL)) { +var399 = var_mclass->attrs[COLOR_nit__model__MClass___kind].val; /* _kind on */ +if (unlikely(var399 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 399); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 436); +fatal_exit(1); } -var398 = var400; -RET_LABEL399:(void)0; +var397 = var399; +RET_LABEL398:(void)0; } } { -{ /* Inline kernel#Object#!= (var398,var_mkind) on */ -var_other160 = var_mkind; +{ /* Inline kernel#Object#!= (var397,var_mkind) on */ +var_other164 = var_mkind; { -var403 = ((short int (*)(val* self, val* p0))(var398->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var398, var_other160) /* == on */; +var402 = ((short int(*)(val* self, val* p0))(var397->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var397, var_other164); /* == on */ } -var404 = !var403; -var401 = var404; -goto RET_LABEL402; -RET_LABEL402:(void)0; +var403 = !var402; +var400 = var403; +goto RET_LABEL401; +RET_LABEL401:(void)0; } } -var383 = var401; +var382 = var400; } else { -var383 = var_397; +var382 = var_396; } -if (var383){ -if (varonce405) { -var406 = varonce405; +if (var382){ +if (unlikely(varonce404==NULL)) { +var405 = NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String); +if (likely(varonce406!=NULL)) { +var407 = varonce406; +} else { +var408 = "Redef Error: refinement changed the kind from `"; +var409 = standard___standard__NativeString___to_s_with_length(var408, 47l); +var407 = var409; +varonce406 = var407; +} +((struct instance_standard__NativeArray*)var405)->values[0]=var407; +if (likely(varonce410!=NULL)) { +var411 = varonce410; +} else { +var412 = "` to `"; +var413 = standard___standard__NativeString___to_s_with_length(var412, 6l); +var411 = var413; +varonce410 = var411; +} +((struct instance_standard__NativeArray*)var405)->values[2]=var411; +if (likely(varonce414!=NULL)) { +var415 = varonce414; +} else { +var416 = "`."; +var417 = standard___standard__NativeString___to_s_with_length(var416, 2l); +var415 = var417; +varonce414 = var415; +} +((struct instance_standard__NativeArray*)var405)->values[4]=var415; } else { -var407 = "Error: refinement changed the kind from a "; -var408 = 42; -var409 = standard___standard__NativeString___to_s_with_length(var407, var408); -var406 = var409; -varonce405 = var406; +var405 = varonce404; +varonce404 = NULL; } { { /* Inline model#MClass#kind (var_mclass) on */ -var412 = var_mclass->attrs[COLOR_nit__model__MClass___kind].val; /* _kind on */ -if (unlikely(var412 == NULL)) { +var420 = var_mclass->attrs[COLOR_nit__model__MClass___kind].val; /* _kind on */ +if (unlikely(var420 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 399); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 436); +fatal_exit(1); } -var410 = var412; -RET_LABEL411:(void)0; +var418 = var420; +RET_LABEL419:(void)0; } } -if (varonce413) { -var414 = varonce413; -} else { -var415 = " to a "; -var416 = 6; -var417 = standard___standard__NativeString___to_s_with_length(var415, var416); -var414 = var417; -varonce413 = var414; -} -var418 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var418 = array_instance Array[Object] */ -var419 = 4; -var420 = NEW_standard__NativeArray(var419, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var420)->values[0] = (val*) var406; -((struct instance_standard__NativeArray*)var420)->values[1] = (val*) var410; -((struct instance_standard__NativeArray*)var420)->values[2] = (val*) var414; -((struct instance_standard__NativeArray*)var420)->values[3] = (val*) var_mkind; { -((void (*)(val* self, val* p0, long p1))(var418->class->vft[COLOR_standard__array__Array__with_native]))(var418, var420, var419) /* with_native on */; +var421 = ((val*(*)(val* self))(var418->class->vft[COLOR_standard__string__Object__to_s]))(var418); /* to_s on */ } +((struct instance_standard__NativeArray*)var405)->values[1]=var421; +{ +var422 = ((val*(*)(val* self))(var_mkind->class->vft[COLOR_standard__string__Object__to_s]))(var_mkind); /* to_s on */ } +((struct instance_standard__NativeArray*)var405)->values[3]=var422; { -var421 = ((val* (*)(val* self))(var418->class->vft[COLOR_standard__string__Object__to_s]))(var418) /* to_s on */; +var423 = ((val*(*)(val* self))(var405->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var405); /* native_to_s on */ } +varonce404 = var405; { -nit___nit__ModelBuilder___error(self, var_nkind, var421); /* Direct call modelbuilder_base#ModelBuilder#error on */ +nit___nit__ModelBuilder___error(self, var_nkind, var423); /* Direct call modelbuilder_base#ModelBuilder#error on */ } } else { -var424 = NULL; if (var_nvisibility == NULL) { -var425 = 0; /* is null */ +var426 = 0; /* is null */ } else { -var425 = 1; /* arg is null and recv is not */ +var426 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_nvisibility,var424) on */ -var_other160 = var424; +{ /* Inline kernel#Object#!= (var_nvisibility,((val*)NULL)) on */ +var_other164 = ((val*)NULL); { -var428 = ((short int (*)(val* self, val* p0))(var_nvisibility->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nvisibility, var_other160) /* == on */; +var429 = ((short int(*)(val* self, val* p0))(var_nvisibility->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nvisibility, var_other164); /* == on */ } -var429 = !var428; -var426 = var429; -goto RET_LABEL427; -RET_LABEL427:(void)0; +var430 = !var429; +var427 = var430; +goto RET_LABEL428; +RET_LABEL428:(void)0; } -var425 = var426; +var426 = var427; } -var_430 = var425; -if (var425){ +var_431 = var426; +if (var426){ +var432 = glob_sys; { -var431 = nit__model_base___standard__Object___public_visibility(self); +var433 = nit__model_base___standard__Sys___public_visibility(var432); } { -{ /* Inline kernel#Object#!= (var_mvisibility,var431) on */ -var_other160 = var431; +{ /* Inline kernel#Object#!= (var_mvisibility,var433) on */ +var_other164 = var433; { -var434 = ((short int (*)(val* self, val* p0))(var_mvisibility->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_mvisibility, var_other160) /* == on */; +var436 = ((short int(*)(val* self, val* p0))(var_mvisibility->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_mvisibility, var_other164); /* == on */ } -var435 = !var434; -var432 = var435; -goto RET_LABEL433; -RET_LABEL433:(void)0; +var437 = !var436; +var434 = var437; +goto RET_LABEL435; +RET_LABEL435:(void)0; } } -var423 = var432; +var425 = var434; } else { -var423 = var_430; +var425 = var_431; } -var_436 = var423; -if (var423){ +var_438 = var425; +if (var425){ { { /* Inline model#MClass#visibility (var_mclass) on */ -var439 = var_mclass->attrs[COLOR_nit__model__MClass___visibility].val; /* _visibility on */ -if (unlikely(var439 == NULL)) { +var441 = var_mclass->attrs[COLOR_nit__model__MClass___visibility].val; /* _visibility on */ +if (unlikely(var441 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 403); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 440); +fatal_exit(1); } -var437 = var439; -RET_LABEL438:(void)0; +var439 = var441; +RET_LABEL440:(void)0; } } { -{ /* Inline kernel#Object#!= (var437,var_mvisibility) on */ -var_other160 = var_mvisibility; +{ /* Inline kernel#Object#!= (var439,var_mvisibility) on */ +var_other164 = var_mvisibility; { -var442 = ((short int (*)(val* self, val* p0))(var437->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var437, var_other160) /* == on */; +var444 = ((short int(*)(val* self, val* p0))(var439->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var439, var_other164); /* == on */ +} +var445 = !var444; +var442 = var445; +goto RET_LABEL443; +RET_LABEL443:(void)0; } -var443 = !var442; -var440 = var443; -goto RET_LABEL441; -RET_LABEL441:(void)0; } +var424 = var442; +} else { +var424 = var_438; +} +if (var424){ +if (unlikely(varonce446==NULL)) { +var447 = NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String); +if (likely(varonce448!=NULL)) { +var449 = varonce448; +} else { +var450 = "Redef Error: refinement changed the visibility from `"; +var451 = standard___standard__NativeString___to_s_with_length(var450, 53l); +var449 = var451; +varonce448 = var449; +} +((struct instance_standard__NativeArray*)var447)->values[0]=var449; +if (likely(varonce452!=NULL)) { +var453 = varonce452; +} else { +var454 = "` to `"; +var455 = standard___standard__NativeString___to_s_with_length(var454, 6l); +var453 = var455; +varonce452 = var453; } -var422 = var440; +((struct instance_standard__NativeArray*)var447)->values[2]=var453; +if (likely(varonce456!=NULL)) { +var457 = varonce456; } else { -var422 = var_436; +var458 = "`"; +var459 = standard___standard__NativeString___to_s_with_length(var458, 1l); +var457 = var459; +varonce456 = var457; } -if (var422){ -if (varonce444) { -var445 = varonce444; +((struct instance_standard__NativeArray*)var447)->values[4]=var457; } else { -var446 = "Error: refinement changed the visibility from a "; -var447 = 48; -var448 = standard___standard__NativeString___to_s_with_length(var446, var447); -var445 = var448; -varonce444 = var445; +var447 = varonce446; +varonce446 = NULL; } { { /* Inline model#MClass#visibility (var_mclass) on */ -var451 = var_mclass->attrs[COLOR_nit__model__MClass___visibility].val; /* _visibility on */ -if (unlikely(var451 == NULL)) { +var462 = var_mclass->attrs[COLOR_nit__model__MClass___visibility].val; /* _visibility on */ +if (unlikely(var462 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 403); -show_backtrace(1); -} -var449 = var451; -RET_LABEL450:(void)0; +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 440); +fatal_exit(1); } +var460 = var462; +RET_LABEL461:(void)0; } -if (varonce452) { -var453 = varonce452; -} else { -var454 = " to a "; -var455 = 6; -var456 = standard___standard__NativeString___to_s_with_length(var454, var455); -var453 = var456; -varonce452 = var453; } -var457 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var457 = array_instance Array[Object] */ -var458 = 4; -var459 = NEW_standard__NativeArray(var458, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var459)->values[0] = (val*) var445; -((struct instance_standard__NativeArray*)var459)->values[1] = (val*) var449; -((struct instance_standard__NativeArray*)var459)->values[2] = (val*) var453; -((struct instance_standard__NativeArray*)var459)->values[3] = (val*) var_mvisibility; { -((void (*)(val* self, val* p0, long p1))(var457->class->vft[COLOR_standard__array__Array__with_native]))(var457, var459, var458) /* with_native on */; +var463 = ((val*(*)(val* self))(var460->class->vft[COLOR_standard__string__Object__to_s]))(var460); /* to_s on */ } +((struct instance_standard__NativeArray*)var447)->values[1]=var463; +{ +var464 = ((val*(*)(val* self))(var_mvisibility->class->vft[COLOR_standard__string__Object__to_s]))(var_mvisibility); /* to_s on */ } +((struct instance_standard__NativeArray*)var447)->values[3]=var464; { -var460 = ((val* (*)(val* self))(var457->class->vft[COLOR_standard__string__Object__to_s]))(var457) /* to_s on */; +var465 = ((val*(*)(val* self))(var447->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var447); /* native_to_s on */ } +varonce446 = var447; { -nit___nit__ModelBuilder___error(self, var_nvisibility, var460); /* Direct call modelbuilder_base#ModelBuilder#error on */ +nit___nit__ModelBuilder___error(self, var_nvisibility, var465); /* Direct call modelbuilder_base#ModelBuilder#error on */ } } else { } @@ -1931,85 +2026,84 @@ nit___nit__ModelBuilder___error(self, var_nvisibility, var460); /* Direct call m { { /* Inline modelize_class#AClassdef#mclass= (var_nclassdef,var_mclass) on */ var_nclassdef->attrs[COLOR_nit__modelize_class__AClassdef___mclass].val = var_mclass; /* _mclass on */ -RET_LABEL461:(void)0; +RET_LABEL466:(void)0; } } { { /* Inline modelize_class#AModule#mclass2nclassdef (var_nmodule) on */ -var464 = var_nmodule->attrs[COLOR_nit__modelize_class__AModule___mclass2nclassdef].val; /* _mclass2nclassdef on */ -if (unlikely(var464 == NULL)) { +var469 = var_nmodule->attrs[COLOR_nit__modelize_class__AModule___mclass2nclassdef].val; /* _mclass2nclassdef on */ +if (unlikely(var469 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass2nclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 541); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 464); +fatal_exit(1); } -var462 = var464; -RET_LABEL463:(void)0; +var467 = var469; +RET_LABEL468:(void)0; } } { -var465 = standard___standard__MapRead___has_key(var462, var_mclass); +var470 = ((short int(*)(val* self, val* p0))((((long)var467&3)?class_info[((long)var467&3)]:var467->class)->vft[COLOR_standard__abstract_collection__MapRead__has_key]))(var467, var_mclass); /* has_key on */ } -var466 = !var465; -if (var466){ +var471 = !var470; +if (var471){ { { /* Inline modelize_class#AModule#mclass2nclassdef (var_nmodule) on */ -var469 = var_nmodule->attrs[COLOR_nit__modelize_class__AModule___mclass2nclassdef].val; /* _mclass2nclassdef on */ -if (unlikely(var469 == NULL)) { +var474 = var_nmodule->attrs[COLOR_nit__modelize_class__AModule___mclass2nclassdef].val; /* _mclass2nclassdef on */ +if (unlikely(var474 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass2nclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 541); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 464); +fatal_exit(1); } -var467 = var469; -RET_LABEL468:(void)0; +var472 = var474; +RET_LABEL473:(void)0; } } { -((void (*)(val* self, val* p0, val* p1))(var467->class->vft[COLOR_standard__abstract_collection__Map___91d_93d_61d]))(var467, var_mclass, var_nclassdef) /* []= on */; +((void(*)(val* self, val* p0, val* p1))((((long)var472&3)?class_info[((long)var472&3)]:var472->class)->vft[COLOR_standard__abstract_collection__Map___91d_93d_61d]))(var472, var_mclass, var_nclassdef); /* []= on */ } -var470 = NEW_standard__Array(&type_standard__Array__nit__AClassdef); -var471 = 1; +var475 = NEW_standard__Array(&type_standard__Array__nit__AClassdef); { -standard___standard__Array___with_capacity(var470, var471); /* Direct call array#Array#with_capacity on */ +standard___standard__Array___with_capacity(var475, 1l); /* Direct call array#Array#with_capacity on */ } -var_472 = var470; +var_476 = var475; { -standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_472, var_nclassdef); /* Direct call array#AbstractArray#push on */ +standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_476, var_nclassdef); /* Direct call array#AbstractArray#push on */ } { -{ /* Inline modelize_class#AClassdef#all_defs= (var_nclassdef,var_472) on */ -var_nclassdef->attrs[COLOR_nit__modelize_class__AClassdef___all_defs].val = var_472; /* _all_defs on */ -RET_LABEL473:(void)0; +{ /* Inline modelize_class#AClassdef#all_defs= (var_nclassdef,var_476) on */ +var_nclassdef->attrs[COLOR_nit__modelize_class__AClassdef___all_defs].val = var_476; /* _all_defs on */ +RET_LABEL477:(void)0; } } } else { { { /* Inline modelize_class#AModule#mclass2nclassdef (var_nmodule) on */ -var476 = var_nmodule->attrs[COLOR_nit__modelize_class__AModule___mclass2nclassdef].val; /* _mclass2nclassdef on */ -if (unlikely(var476 == NULL)) { +var480 = var_nmodule->attrs[COLOR_nit__modelize_class__AModule___mclass2nclassdef].val; /* _mclass2nclassdef on */ +if (unlikely(var480 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass2nclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 541); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 464); +fatal_exit(1); } -var474 = var476; -RET_LABEL475:(void)0; +var478 = var480; +RET_LABEL479:(void)0; } } { -var477 = ((val* (*)(val* self, val* p0))(var474->class->vft[COLOR_standard__abstract_collection__MapRead___91d_93d]))(var474, var_mclass) /* [] on */; +var481 = ((val*(*)(val* self, val* p0))((((long)var478&3)?class_info[((long)var478&3)]:var478->class)->vft[COLOR_standard__abstract_collection__MapRead___91d_93d]))(var478, var_mclass); /* [] on */ } { -{ /* Inline modelize_class#AClassdef#all_defs (var477) on */ -var480 = var477->attrs[COLOR_nit__modelize_class__AClassdef___all_defs].val; /* _all_defs on */ -var478 = var480; -RET_LABEL479:(void)0; +{ /* Inline modelize_class#AClassdef#all_defs (var481) on */ +var484 = var481->attrs[COLOR_nit__modelize_class__AClassdef___all_defs].val; /* _all_defs on */ +var482 = var484; +RET_LABEL483:(void)0; } } -if (var478 == NULL) { +if (var482 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 133); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 136); +fatal_exit(1); } else { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var478, var_nclassdef); /* Direct call array#Array#add on */ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var482, var_nclassdef); /* Direct call array#Array#add on */ } } RET_LABEL:; @@ -2024,312 +2118,282 @@ val* var_mmodule /* var mmodule: MModule */; static val* varonce; val* var3 /* : String */; char* var4 /* : NativeString */; -long var5 /* : Int */; -val* var6 /* : FlatString */; -val* var7 /* : nullable MClass */; +val* var5 /* : FlatString */; +val* var6 /* : nullable MClass */; val* var_objectclass /* var objectclass: nullable MClass */; -val* var8 /* : nullable MClass */; -val* var10 /* : nullable MClass */; +val* var7 /* : nullable MClass */; +val* var9 /* : nullable MClass */; val* var_mclass /* var mclass: nullable MClass */; -val* var11 /* : null */; -short int var12 /* : Bool */; -short int var13 /* : Bool */; +short int var10 /* : Bool */; +short int var11 /* : Bool */; val* var_other /* var other: nullable Object */; +short int var13 /* : Bool */; short int var15 /* : Bool */; -short int var17 /* : Bool */; +val* var16 /* : Map[MClass, AClassdef] */; val* var18 /* : Map[MClass, AClassdef] */; -val* var20 /* : Map[MClass, AClassdef] */; -val* var21 /* : nullable Object */; +val* var19 /* : nullable Object */; val* var_other_nclassdef /* var other_nclassdef: AClassdef */; -short int var22 /* : Bool */; -val* var_other24 /* var other: nullable Object */; +short int var20 /* : Bool */; +val* var_other22 /* var other: nullable Object */; +short int var23 /* : Bool */; +short int var24 /* : Bool */; short int var25 /* : Bool */; -short int var26 /* : Bool */; -short int var27 /* : Bool */; int cltype; int idtype; -short int var28 /* : Bool */; +short int var26 /* : Bool */; +val* var27 /* : nullable MClassDef */; val* var29 /* : nullable MClassDef */; -val* var31 /* : nullable MClassDef */; -val* var33 /* : Array[MType] */; +val* var31 /* : Array[MType] */; val* var_bounds /* var bounds: Array[MType] */; -short int var34 /* : Bool */; -short int var35 /* : Bool */; -int cltype36; -int idtype37; +short int var32 /* : Bool */; +short int var33 /* : Bool */; +int cltype34; +int idtype35; short int var_ /* var : Bool */; +long var36 /* : Int */; long var38 /* : Int */; -long var40 /* : Int */; -long var41 /* : Int */; -short int var42 /* : Bool */; -short int var44 /* : Bool */; -int cltype45; -int idtype46; +short int var39 /* : Bool */; +short int var41 /* : Bool */; +int cltype42; +int idtype43; const char* var_class_name; -short int var47 /* : Bool */; -long var48 /* : Int */; +short int var44 /* : Bool */; long var_i /* var i: Int */; -long var49 /* : Int */; -long var51 /* : Int */; -long var_52 /* var : Int */; -short int var53 /* : Bool */; +long var45 /* : Int */; +long var47 /* : Int */; +long var_48 /* var : Int */; +short int var49 /* : Bool */; +short int var51 /* : Bool */; +int cltype52; +int idtype53; +const char* var_class_name54; short int var55 /* : Bool */; -int cltype56; -int idtype57; -const char* var_class_name58; +val* var56 /* : ANodes[AFormaldef] */; +val* var58 /* : ANodes[AFormaldef] */; short int var59 /* : Bool */; -val* var60 /* : ANodes[AFormaldef] */; -val* var62 /* : ANodes[AFormaldef] */; -short int var63 /* : Bool */; -val* var64 /* : MClassDef */; -val* var66 /* : MClassDef */; -val* var67 /* : MClassType */; -val* var69 /* : MClassType */; -val* var70 /* : Array[MType] */; -val* var71 /* : nullable Object */; +val* var60 /* : MClassDef */; +val* var62 /* : MClassDef */; +val* var63 /* : MClassType */; +val* var65 /* : MClassType */; +val* var66 /* : Array[MType] */; +val* var67 /* : nullable Object */; val* var_bound /* var bound: MType */; -val* var72 /* : ANodes[AFormaldef] */; -val* var74 /* : ANodes[AFormaldef] */; -val* var75 /* : ANode */; +val* var68 /* : ANodes[AFormaldef] */; +val* var70 /* : ANodes[AFormaldef] */; +val* var71 /* : ANode */; val* var_nfd /* var nfd: AFormaldef */; -val* var76 /* : Array[MParameterType] */; -val* var78 /* : Array[MParameterType] */; -val* var79 /* : nullable Object */; -val* var80 /* : String */; -val* var82 /* : String */; +val* var72 /* : Array[MParameterType] */; +val* var74 /* : Array[MParameterType] */; +val* var75 /* : nullable Object */; +val* var76 /* : String */; +val* var78 /* : String */; val* var_pname /* var pname: String */; -val* var83 /* : TClassid */; -val* var85 /* : TClassid */; -val* var86 /* : String */; -short int var87 /* : Bool */; -short int var89 /* : Bool */; -short int var90 /* : Bool */; -val* var91 /* : TClassid */; -val* var93 /* : TClassid */; -static val* varonce94; -val* var95 /* : String */; -char* var96 /* : NativeString */; -long var97 /* : Int */; -val* var98 /* : FlatString */; -static val* varonce99; -val* var100 /* : String */; -char* var101 /* : NativeString */; -long var102 /* : Int */; +val* var79 /* : TClassid */; +val* var81 /* : TClassid */; +val* var82 /* : String */; +short int var83 /* : Bool */; +short int var85 /* : Bool */; +short int var86 /* : Bool */; +val* var87 /* : TClassid */; +val* var89 /* : TClassid */; +val* var91 /* : NativeArray[String] */; +static val* varonce90; +static val* varonce92; +val* var93 /* : String */; +char* var94 /* : NativeString */; +val* var95 /* : FlatString */; +static val* varonce96; +val* var97 /* : String */; +char* var98 /* : NativeString */; +val* var99 /* : FlatString */; +static val* varonce100; +val* var101 /* : String */; +char* var102 /* : NativeString */; val* var103 /* : FlatString */; -val* var104 /* : TClassid */; -val* var106 /* : TClassid */; -val* var107 /* : String */; +static val* varonce104; +val* var105 /* : String */; +char* var106 /* : NativeString */; +val* var107 /* : FlatString */; static val* varonce108; val* var109 /* : String */; char* var110 /* : NativeString */; -long var111 /* : Int */; -val* var112 /* : FlatString */; -static val* varonce113; -val* var114 /* : String */; -char* var115 /* : NativeString */; -long var116 /* : Int */; -val* var117 /* : FlatString */; -val* var118 /* : MClassDef */; -val* var120 /* : MClassDef */; -val* var121 /* : MModule */; -val* var123 /* : MModule */; -static val* varonce124; -val* var125 /* : String */; -char* var126 /* : NativeString */; -long var127 /* : Int */; -val* var128 /* : FlatString */; -val* var129 /* : Array[Object] */; -long var130 /* : Int */; -val* var131 /* : NativeArray[Object] */; -val* var132 /* : Object */; -val* var133 /* : String */; -val* var134 /* : nullable AType */; -val* var136 /* : nullable AType */; +val* var111 /* : FlatString */; +val* var112 /* : String */; +val* var113 /* : TClassid */; +val* var115 /* : TClassid */; +val* var116 /* : String */; +val* var117 /* : MClassDef */; +val* var119 /* : MClassDef */; +val* var120 /* : MModule */; +val* var122 /* : MModule */; +val* var123 /* : String */; +val* var124 /* : String */; +val* var125 /* : nullable AType */; +val* var127 /* : nullable AType */; val* var_nfdt /* var nfdt: nullable AType */; -val* var137 /* : null */; +short int var128 /* : Bool */; +short int var129 /* : Bool */; +short int var131 /* : Bool */; +short int var132 /* : Bool */; +val* var133 /* : nullable MType */; +val* var_bound134 /* var bound: nullable MType */; +short int var135 /* : Bool */; +short int var136 /* : Bool */; short int var138 /* : Bool */; -short int var139 /* : Bool */; +short int var140 /* : Bool */; short int var141 /* : Bool */; -short int var142 /* : Bool */; -val* var143 /* : null */; -short int var144 /* : Bool */; -val* var145 /* : nullable MType */; -val* var_bound146 /* var bound: nullable MType */; -val* var147 /* : null */; -short int var148 /* : Bool */; -short int var149 /* : Bool */; -short int var151 /* : Bool */; -short int var153 /* : Bool */; +val* var143 /* : NativeArray[String] */; +static val* varonce142; +static val* varonce144; +val* var145 /* : String */; +char* var146 /* : NativeString */; +val* var147 /* : FlatString */; +static val* varonce148; +val* var149 /* : String */; +char* var150 /* : NativeString */; +val* var151 /* : FlatString */; +val* var152 /* : String */; short int var154 /* : Bool */; -static val* varonce155; -val* var156 /* : String */; -char* var157 /* : NativeString */; -long var158 /* : Int */; -val* var159 /* : FlatString */; -static val* varonce160; -val* var161 /* : String */; -char* var162 /* : NativeString */; -long var163 /* : Int */; -val* var164 /* : FlatString */; -val* var165 /* : Array[Object] */; -long var166 /* : Int */; -val* var167 /* : NativeArray[Object] */; -val* var168 /* : String */; -short int var170 /* : Bool */; +short int var155 /* : Bool */; +int cltype156; +int idtype157; +short int var_158 /* var : Bool */; +val* var159 /* : MClass */; +val* var161 /* : MClass */; +val* var162 /* : MClassKind */; +val* var164 /* : MClassKind */; +val* var165 /* : Sys */; +val* var166 /* : MClassKind */; +short int var167 /* : Bool */; +short int var169 /* : Bool */; short int var171 /* : Bool */; -int cltype172; -int idtype173; -short int var_174 /* var : Bool */; -val* var175 /* : MClass */; -val* var177 /* : MClass */; -val* var178 /* : MClassKind */; -val* var180 /* : MClassKind */; -val* var181 /* : MClassKind */; -short int var182 /* : Bool */; -short int var184 /* : Bool */; -short int var186 /* : Bool */; -static val* varonce187; -val* var188 /* : String */; -char* var189 /* : NativeString */; -long var190 /* : Int */; -val* var191 /* : FlatString */; -static val* varonce192; -val* var193 /* : String */; -char* var194 /* : NativeString */; -long var195 /* : Int */; -val* var196 /* : FlatString */; -static val* varonce197; -val* var198 /* : String */; -char* var199 /* : NativeString */; -long var200 /* : Int */; -val* var201 /* : FlatString */; -val* var202 /* : Array[Object] */; -long var203 /* : Int */; -val* var204 /* : NativeArray[Object] */; +static val* varonce172; +val* var173 /* : String */; +char* var174 /* : NativeString */; +val* var175 /* : FlatString */; +val* var177 /* : NativeArray[String] */; +static val* varonce176; +static val* varonce178; +val* var179 /* : String */; +char* var180 /* : NativeString */; +val* var181 /* : FlatString */; +static val* varonce182; +val* var183 /* : String */; +char* var184 /* : NativeString */; +val* var185 /* : FlatString */; +val* var186 /* : String */; +val* var187 /* : String */; +val* var188 /* : Array[MClassDef] */; +val* var190 /* : Array[MClassDef] */; +short int var191 /* : Bool */; +short int var192 /* : Bool */; +short int var193 /* : Bool */; +short int var195 /* : Bool */; +short int var197 /* : Bool */; +val* var199 /* : NativeArray[String] */; +static val* varonce198; +static val* varonce200; +val* var201 /* : String */; +char* var202 /* : NativeString */; +val* var203 /* : FlatString */; +static val* varonce204; val* var205 /* : String */; -val* var206 /* : Array[MClassDef] */; -val* var208 /* : Array[MClassDef] */; -short int var209 /* : Bool */; -val* var210 /* : null */; -short int var211 /* : Bool */; -short int var212 /* : Bool */; -short int var214 /* : Bool */; -short int var216 /* : Bool */; -static val* varonce217; -val* var218 /* : String */; -char* var219 /* : NativeString */; -long var220 /* : Int */; -val* var221 /* : FlatString */; -static val* varonce222; -val* var223 /* : String */; -char* var224 /* : NativeString */; +char* var206 /* : NativeString */; +val* var207 /* : FlatString */; +val* var208 /* : String */; +val* var209 /* : MClassType */; +val* var211 /* : MClassType */; +val* var212 /* : MType */; +val* var_bound213 /* var bound: MType */; +val* var215 /* : MClassDef */; +val* var217 /* : MClassDef */; +val* var218 /* : MClassType */; +val* var220 /* : MClassType */; +val* var221 /* : Array[MType] */; +val* var222 /* : nullable Object */; +val* var_bound223 /* var bound: MType */; long var225 /* : Int */; -val* var226 /* : FlatString */; -val* var227 /* : Array[Object] */; -long var228 /* : Int */; -val* var229 /* : NativeArray[Object] */; -val* var230 /* : String */; -val* var231 /* : MClassType */; -val* var233 /* : MClassType */; -val* var234 /* : MType */; -val* var_bound235 /* var bound: MType */; -val* var237 /* : MClassDef */; -val* var239 /* : MClassDef */; -val* var240 /* : MClassType */; -val* var242 /* : MClassType */; -val* var243 /* : Array[MType] */; -val* var244 /* : nullable Object */; -val* var_bound245 /* var bound: MType */; -long var247 /* : Int */; -long var248 /* : Int */; -val* var250 /* : MClassType */; +val* var227 /* : MClassType */; val* var_bound_mtype /* var bound_mtype: MClassType */; -val* var251 /* : MClassDef */; -val* var252 /* : Location */; -val* var254 /* : Location */; +val* var228 /* : MClassDef */; +val* var229 /* : Location */; +val* var231 /* : Location */; val* var_mclassdef /* var mclassdef: MClassDef */; -val* var256 /* : HashMap[MClassDef, AClassdef] */; -val* var258 /* : HashMap[MClassDef, AClassdef] */; -short int var259 /* : Bool */; -int cltype260; -int idtype261; -val* var262 /* : nullable ADoc */; -val* var264 /* : nullable ADoc */; +val* var233 /* : HashMap[MClassDef, AClassdef] */; +val* var235 /* : HashMap[MClassDef, AClassdef] */; +short int var236 /* : Bool */; +int cltype237; +int idtype238; +val* var239 /* : nullable ADoc */; +val* var241 /* : nullable ADoc */; val* var_ndoc /* var ndoc: nullable ADoc */; -val* var265 /* : null */; -short int var266 /* : Bool */; -short int var267 /* : Bool */; -short int var269 /* : Bool */; -short int var270 /* : Bool */; -val* var271 /* : MDoc */; +short int var242 /* : Bool */; +short int var243 /* : Bool */; +short int var245 /* : Bool */; +short int var246 /* : Bool */; +val* var247 /* : MDoc */; val* var_mdoc /* var mdoc: MDoc */; -short int var274 /* : Bool */; +short int var250 /* : Bool */; +short int var251 /* : Bool */; +short int var_252 /* var : Bool */; +val* var253 /* : MVisibility */; +val* var255 /* : MVisibility */; +val* var256 /* : Sys */; +val* var257 /* : MVisibility */; +short int var258 /* : Bool */; +static val* varonce259; +val* var260 /* : String */; +char* var261 /* : NativeString */; +val* var262 /* : FlatString */; +val* var264 /* : NativeArray[String] */; +static val* varonce263; +static val* varonce265; +val* var266 /* : String */; +char* var267 /* : NativeString */; +val* var268 /* : FlatString */; +static val* varonce269; +val* var270 /* : String */; +char* var271 /* : NativeString */; +val* var272 /* : FlatString */; +val* var273 /* : String */; +val* var274 /* : String */; short int var275 /* : Bool */; -short int var_276 /* var : Bool */; -val* var277 /* : MVisibility */; -val* var279 /* : MVisibility */; -val* var280 /* : MVisibility */; -short int var281 /* : Bool */; -static val* varonce282; -val* var283 /* : String */; -char* var284 /* : NativeString */; -long var285 /* : Int */; -val* var286 /* : FlatString */; -static val* varonce287; -val* var288 /* : String */; -char* var289 /* : NativeString */; -long var290 /* : Int */; -val* var291 /* : FlatString */; -static val* varonce292; +val* var276 /* : ToolContext */; +val* var278 /* : ToolContext */; +val* var280 /* : NativeArray[String] */; +static val* varonce279; +static val* varonce281; +val* var282 /* : String */; +char* var283 /* : NativeString */; +val* var284 /* : FlatString */; +static val* varonce285; +val* var286 /* : String */; +char* var287 /* : NativeString */; +val* var288 /* : FlatString */; +val* var289 /* : String */; +val* var290 /* : MClassKind */; +val* var292 /* : MClassKind */; val* var293 /* : String */; -char* var294 /* : NativeString */; -long var295 /* : Int */; -val* var296 /* : FlatString */; -val* var297 /* : Array[Object] */; -long var298 /* : Int */; -val* var299 /* : NativeArray[Object] */; -val* var300 /* : String */; -short int var301 /* : Bool */; -val* var302 /* : ToolContext */; -val* var304 /* : ToolContext */; +val* var294 /* : String */; +val* var295 /* : String */; +val* var296 /* : ToolContext */; +val* var298 /* : ToolContext */; +val* var300 /* : NativeArray[String] */; +static val* varonce299; +static val* varonce301; +val* var302 /* : String */; +char* var303 /* : NativeString */; +val* var304 /* : FlatString */; static val* varonce305; val* var306 /* : String */; char* var307 /* : NativeString */; -long var308 /* : Int */; -val* var309 /* : FlatString */; +val* var308 /* : FlatString */; +val* var309 /* : String */; val* var310 /* : MClassKind */; val* var312 /* : MClassKind */; -static val* varonce313; +val* var313 /* : String */; val* var314 /* : String */; -char* var315 /* : NativeString */; -long var316 /* : Int */; -val* var317 /* : FlatString */; -val* var318 /* : String */; -val* var319 /* : Array[Object] */; -long var320 /* : Int */; -val* var321 /* : NativeArray[Object] */; -val* var322 /* : String */; -long var323 /* : Int */; -val* var324 /* : ToolContext */; -val* var326 /* : ToolContext */; -static val* varonce327; -val* var328 /* : String */; -char* var329 /* : NativeString */; -long var330 /* : Int */; -val* var331 /* : FlatString */; -val* var332 /* : MClassKind */; -val* var334 /* : MClassKind */; -static val* varonce335; -val* var336 /* : String */; -char* var337 /* : NativeString */; -long var338 /* : Int */; -val* var339 /* : FlatString */; -val* var340 /* : String */; -val* var341 /* : Array[Object] */; -long var342 /* : Int */; -val* var343 /* : NativeArray[Object] */; -val* var344 /* : String */; -long var345 /* : Int */; +val* var315 /* : String */; var_nmodule = p0; var_nclassdef = p1; { @@ -2341,238 +2405,234 @@ RET_LABEL1:(void)0; } if (unlikely(var == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 140); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 143); +fatal_exit(1); } var_mmodule = var; -if (varonce) { +if (likely(varonce!=NULL)) { var3 = varonce; } else { var4 = "Object"; -var5 = 6; -var6 = standard___standard__NativeString___to_s_with_length(var4, var5); -var3 = var6; +var5 = standard___standard__NativeString___to_s_with_length(var4, 6l); +var3 = var5; varonce = var3; } { -var7 = nit___nit__ModelBuilder___try_get_mclass_by_name(self, var_nmodule, var_mmodule, var3); +var6 = nit___nit__ModelBuilder___try_get_mclass_by_name(self, var_nmodule, var_mmodule, var3); } -var_objectclass = var7; +var_objectclass = var6; { { /* Inline modelize_class#AClassdef#mclass (var_nclassdef) on */ -var10 = var_nclassdef->attrs[COLOR_nit__modelize_class__AClassdef___mclass].val; /* _mclass on */ -var8 = var10; -RET_LABEL9:(void)0; +var9 = var_nclassdef->attrs[COLOR_nit__modelize_class__AClassdef___mclass].val; /* _mclass on */ +var7 = var9; +RET_LABEL8:(void)0; } } -var_mclass = var8; -var11 = NULL; +var_mclass = var7; if (var_mclass == NULL) { -var12 = 1; /* is null */ +var10 = 1; /* is null */ } else { -var12 = 0; /* arg is null but recv is not */ +var10 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_mclass,var11) on */ -var_other = var11; +{ /* Inline kernel#Object#== (var_mclass,((val*)NULL)) on */ +var_other = ((val*)NULL); { { /* Inline kernel#Object#is_same_instance (var_mclass,var_other) on */ -var17 = var_mclass == var_other; -var15 = var17; -goto RET_LABEL16; -RET_LABEL16:(void)0; -} -} +var15 = var_mclass == var_other; var13 = var15; goto RET_LABEL14; RET_LABEL14:(void)0; } -var12 = var13; } -if (var12){ +var11 = var13; +goto RET_LABEL12; +RET_LABEL12:(void)0; +} +var10 = var11; +} +if (var10){ goto RET_LABEL; } else { } { { /* Inline modelize_class#AModule#mclass2nclassdef (var_nmodule) on */ -var20 = var_nmodule->attrs[COLOR_nit__modelize_class__AModule___mclass2nclassdef].val; /* _mclass2nclassdef on */ -if (unlikely(var20 == NULL)) { +var18 = var_nmodule->attrs[COLOR_nit__modelize_class__AModule___mclass2nclassdef].val; /* _mclass2nclassdef on */ +if (unlikely(var18 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass2nclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 541); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 464); +fatal_exit(1); } -var18 = var20; -RET_LABEL19:(void)0; +var16 = var18; +RET_LABEL17:(void)0; } } { -var21 = ((val* (*)(val* self, val* p0))(var18->class->vft[COLOR_standard__abstract_collection__MapRead___91d_93d]))(var18, var_mclass) /* [] on */; +var19 = ((val*(*)(val* self, val* p0))((((long)var16&3)?class_info[((long)var16&3)]:var16->class)->vft[COLOR_standard__abstract_collection__MapRead___91d_93d]))(var16, var_mclass); /* [] on */ } -var_other_nclassdef = var21; +var_other_nclassdef = var19; { { /* Inline kernel#Object#!= (var_other_nclassdef,var_nclassdef) on */ -var_other24 = var_nclassdef; +var_other22 = var_nclassdef; { -var25 = ((short int (*)(val* self, val* p0))(var_other_nclassdef->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_other_nclassdef, var_other24) /* == on */; +var23 = ((short int(*)(val* self, val* p0))(var_other_nclassdef->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_other_nclassdef, var_other22); /* == on */ } -var26 = !var25; -var22 = var26; -goto RET_LABEL23; -RET_LABEL23:(void)0; +var24 = !var23; +var20 = var24; +goto RET_LABEL21; +RET_LABEL21:(void)0; } } -if (var22){ +if (var20){ /* isa AStdClassdef */ cltype = type_nit__AStdClassdef.color; idtype = type_nit__AStdClassdef.id; if(cltype >= var_nclassdef->type->table_size) { -var27 = 0; +var25 = 0; } else { -var27 = var_nclassdef->type->type_table[cltype] == idtype; +var25 = var_nclassdef->type->type_table[cltype] == idtype; } -var28 = !var27; -if (unlikely(!var28)) { +var26 = !var25; +if (unlikely(!var26)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 148); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 151); +fatal_exit(1); } { { /* Inline modelize_class#AClassdef#mclassdef (var_other_nclassdef) on */ -var31 = var_other_nclassdef->attrs[COLOR_nit__modelize_class__AClassdef___mclassdef].val; /* _mclassdef on */ -var29 = var31; -RET_LABEL30:(void)0; +var29 = var_other_nclassdef->attrs[COLOR_nit__modelize_class__AClassdef___mclassdef].val; /* _mclassdef on */ +var27 = var29; +RET_LABEL28:(void)0; } } { -{ /* Inline modelize_class#AClassdef#mclassdef= (var_nclassdef,var29) on */ -var_nclassdef->attrs[COLOR_nit__modelize_class__AClassdef___mclassdef].val = var29; /* _mclassdef on */ -RET_LABEL32:(void)0; +{ /* Inline modelize_class#AClassdef#mclassdef= (var_nclassdef,var27) on */ +var_nclassdef->attrs[COLOR_nit__modelize_class__AClassdef___mclassdef].val = var27; /* _mclassdef on */ +RET_LABEL30:(void)0; } } goto RET_LABEL; } else { } -var33 = NEW_standard__Array(&type_standard__Array__nit__MType); +var31 = NEW_standard__Array(&type_standard__Array__nit__MType); { -standard___standard__Array___standard__kernel__Object__init(var33); /* Direct call array#Array#init on */ +standard___standard__Array___standard__kernel__Object__init(var31); /* Direct call array#Array#init on */ } -var_bounds = var33; +var_bounds = var31; /* isa AStdClassdef */ -cltype36 = type_nit__AStdClassdef.color; -idtype37 = type_nit__AStdClassdef.id; -if(cltype36 >= var_nclassdef->type->table_size) { -var35 = 0; +cltype34 = type_nit__AStdClassdef.color; +idtype35 = type_nit__AStdClassdef.id; +if(cltype34 >= var_nclassdef->type->table_size) { +var33 = 0; } else { -var35 = var_nclassdef->type->type_table[cltype36] == idtype37; +var33 = var_nclassdef->type->type_table[cltype34] == idtype35; } -var_ = var35; -if (var35){ +var_ = var33; +if (var33){ { { /* Inline model#MClass#arity (var_mclass) on */ -var40 = var_mclass->attrs[COLOR_nit__model__MClass___arity].l; /* _arity on */ -var38 = var40; -RET_LABEL39:(void)0; +var38 = var_mclass->attrs[COLOR_nit__model__MClass___arity].l; /* _arity on */ +var36 = var38; +RET_LABEL37:(void)0; } } -var41 = 0; { -{ /* Inline kernel#Int#> (var38,var41) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var44 = 1; /* easy isa OTHER*/ -if (unlikely(!var44)) { +{ /* Inline kernel#Int#> (var36,0l) on */ +/* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */ +/* <0l:Int> isa OTHER */ +var41 = 1; /* easy <0l:Int> isa OTHER*/ +if (unlikely(!var41)) { var_class_name = type_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 412); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 536); +fatal_exit(1); } -var47 = var38 > var41; -var42 = var47; -goto RET_LABEL43; -RET_LABEL43:(void)0; +var44 = var36 > 0l; +var39 = var44; +goto RET_LABEL40; +RET_LABEL40:(void)0; } } -var34 = var42; +var32 = var39; } else { -var34 = var_; +var32 = var_; } -if (var34){ -var48 = 0; -var_i = var48; +if (var32){ +var_i = 0l; { { /* Inline model#MClass#arity (var_mclass) on */ -var51 = var_mclass->attrs[COLOR_nit__model__MClass___arity].l; /* _arity on */ -var49 = var51; -RET_LABEL50:(void)0; +var47 = var_mclass->attrs[COLOR_nit__model__MClass___arity].l; /* _arity on */ +var45 = var47; +RET_LABEL46:(void)0; } } -var_52 = var49; +var_48 = var45; for(;;) { { -{ /* Inline kernel#Int#< (var_i,var_52) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var55 = 1; /* easy isa OTHER*/ -if (unlikely(!var55)) { -var_class_name58 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name58); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410); -show_backtrace(1); -} -var59 = var_i < var_52; -var53 = var59; -goto RET_LABEL54; -RET_LABEL54:(void)0; +{ /* Inline kernel#Int#< (var_i,var_48) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var51 = 1; /* easy isa OTHER*/ +if (unlikely(!var51)) { +var_class_name54 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name54); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534); +fatal_exit(1); +} +var55 = var_i < var_48; +var49 = var55; +goto RET_LABEL50; +RET_LABEL50:(void)0; } } -if (var53){ +if (var49){ { { /* Inline parser_nodes#AStdClassdef#n_formaldefs (var_nclassdef) on */ -var62 = var_nclassdef->attrs[COLOR_nit__parser_nodes__AStdClassdef___n_formaldefs].val; /* _n_formaldefs on */ -if (unlikely(var62 == NULL)) { +var58 = var_nclassdef->attrs[COLOR_nit__parser_nodes__AStdClassdef___n_formaldefs].val; /* _n_formaldefs on */ +if (unlikely(var58 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_formaldefs"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1027); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1207); +fatal_exit(1); } -var60 = var62; -RET_LABEL61:(void)0; +var56 = var58; +RET_LABEL57:(void)0; } } { -var63 = nit___nit__ANodes___standard__abstract_collection__Collection__is_empty(var60); +var59 = nit___nit__ANodes___standard__abstract_collection__Collection__is_empty(var56); } -if (var63){ +if (var59){ { { /* Inline model#MClass#intro (var_mclass) on */ -var66 = var_mclass->attrs[COLOR_nit__model__MClass___intro].val; /* _intro on */ -if (unlikely(var66 == NULL)) { +var62 = var_mclass->attrs[COLOR_nit__model__MClass___intro].val; /* _intro on */ +if (unlikely(var62 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 423); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 460); +fatal_exit(1); } -var64 = var66; -RET_LABEL65:(void)0; +var60 = var62; +RET_LABEL61:(void)0; } } { -{ /* Inline model#MClassDef#bound_mtype (var64) on */ -var69 = var64->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ -if (unlikely(var69 == NULL)) { +{ /* Inline model#MClassDef#bound_mtype (var60) on */ +var65 = var60->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ +if (unlikely(var65 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 495); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 556); +fatal_exit(1); } -var67 = var69; -RET_LABEL68:(void)0; +var63 = var65; +RET_LABEL64:(void)0; } } { -var70 = ((val* (*)(val* self))(var67->class->vft[COLOR_nit__model__MClassType__arguments]))(var67) /* arguments on */; +var66 = ((val*(*)(val* self))(var63->class->vft[COLOR_nit__model__MClassType__arguments]))(var63); /* arguments on */ } { -var71 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var70, var_i); +var67 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var66, var_i); } -var_bound = var71; +var_bound = var67; { standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_bounds, var_bound); /* Direct call array#Array#add on */ } @@ -2581,749 +2641,733 @@ goto BREAK_label; } { { /* Inline parser_nodes#AStdClassdef#n_formaldefs (var_nclassdef) on */ -var74 = var_nclassdef->attrs[COLOR_nit__parser_nodes__AStdClassdef___n_formaldefs].val; /* _n_formaldefs on */ -if (unlikely(var74 == NULL)) { +var70 = var_nclassdef->attrs[COLOR_nit__parser_nodes__AStdClassdef___n_formaldefs].val; /* _n_formaldefs on */ +if (unlikely(var70 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_formaldefs"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1027); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1207); +fatal_exit(1); } -var72 = var74; -RET_LABEL73:(void)0; +var68 = var70; +RET_LABEL69:(void)0; } } { -var75 = nit___nit__ANodes___standard__abstract_collection__SequenceRead___91d_93d(var72, var_i); +var71 = nit___nit__ANodes___standard__abstract_collection__SequenceRead___91d_93d(var68, var_i); } -var_nfd = var75; +var_nfd = var71; { { /* Inline model#MClass#mparameters (var_mclass) on */ -var78 = var_mclass->attrs[COLOR_nit__model__MClass___mparameters].val; /* _mparameters on */ -if (unlikely(var78 == NULL)) { +var74 = var_mclass->attrs[COLOR_nit__model__MClass___mparameters].val; /* _mparameters on */ +if (unlikely(var74 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 368); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 382); +fatal_exit(1); } -var76 = var78; -RET_LABEL77:(void)0; +var72 = var74; +RET_LABEL73:(void)0; } } { -var79 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var76, var_i); +var75 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var72, var_i); } { -{ /* Inline model#MParameterType#name (var79) on */ -var82 = var79->attrs[COLOR_nit__model__MParameterType___name].val; /* _name on */ -if (unlikely(var82 == NULL)) { +{ /* Inline model#MParameterType#name (var75) on */ +var78 = var75->attrs[COLOR_nit__model__MParameterType___name].val; /* _name on */ +if (unlikely(var78 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1391); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1481); +fatal_exit(1); } -var80 = var82; -RET_LABEL81:(void)0; +var76 = var78; +RET_LABEL77:(void)0; } } -var_pname = var80; +var_pname = var76; { { /* Inline parser_nodes#AFormaldef#n_id (var_nfd) on */ -var85 = var_nfd->attrs[COLOR_nit__parser_nodes__AFormaldef___n_id].val; /* _n_id on */ -if (unlikely(var85 == NULL)) { +var81 = var_nfd->attrs[COLOR_nit__parser_nodes__AFormaldef___n_id].val; /* _n_id on */ +if (unlikely(var81 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1107); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1291); +fatal_exit(1); } -var83 = var85; -RET_LABEL84:(void)0; +var79 = var81; +RET_LABEL80:(void)0; } } { -var86 = nit__lexer_work___Token___text(var83); +var82 = nit__lexer_work___Token___text(var79); } { -{ /* Inline kernel#Object#!= (var86,var_pname) on */ -var_other24 = var_pname; +{ /* Inline kernel#Object#!= (var82,var_pname) on */ +var_other22 = var_pname; { -var89 = ((short int (*)(val* self, val* p0))(var86->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var86, var_other24) /* == on */; +var85 = ((short int(*)(val* self, val* p0))(var82->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var82, var_other22); /* == on */ } -var90 = !var89; -var87 = var90; -goto RET_LABEL88; -RET_LABEL88:(void)0; +var86 = !var85; +var83 = var86; +goto RET_LABEL84; +RET_LABEL84:(void)0; } } -if (var87){ +if (var83){ { { /* Inline parser_nodes#AFormaldef#n_id (var_nfd) on */ -var93 = var_nfd->attrs[COLOR_nit__parser_nodes__AFormaldef___n_id].val; /* _n_id on */ -if (unlikely(var93 == NULL)) { +var89 = var_nfd->attrs[COLOR_nit__parser_nodes__AFormaldef___n_id].val; /* _n_id on */ +if (unlikely(var89 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1107); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1291); +fatal_exit(1); } -var91 = var93; -RET_LABEL92:(void)0; +var87 = var89; +RET_LABEL88:(void)0; } } -if (varonce94) { -var95 = varonce94; +if (unlikely(varonce90==NULL)) { +var91 = NEW_standard__NativeArray(9l, &type_standard__NativeArray__standard__String); +if (likely(varonce92!=NULL)) { +var93 = varonce92; } else { -var96 = "Error: Formal parameter type #"; -var97 = 30; -var98 = standard___standard__NativeString___to_s_with_length(var96, var97); -var95 = var98; -varonce94 = var95; +var94 = "Error: formal parameter type #"; +var95 = standard___standard__NativeString___to_s_with_length(var94, 30l); +var93 = var95; +varonce92 = var93; } -if (varonce99) { -var100 = varonce99; +((struct instance_standard__NativeArray*)var91)->values[0]=var93; +if (likely(varonce96!=NULL)) { +var97 = varonce96; } else { -var101 = " `"; -var102 = 2; -var103 = standard___standard__NativeString___to_s_with_length(var101, var102); -var100 = var103; -varonce99 = var100; -} -{ -{ /* Inline parser_nodes#AFormaldef#n_id (var_nfd) on */ -var106 = var_nfd->attrs[COLOR_nit__parser_nodes__AFormaldef___n_id].val; /* _n_id on */ -if (unlikely(var106 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1107); -show_backtrace(1); -} -var104 = var106; -RET_LABEL105:(void)0; +var98 = " `"; +var99 = standard___standard__NativeString___to_s_with_length(var98, 2l); +var97 = var99; +varonce96 = var97; } +((struct instance_standard__NativeArray*)var91)->values[2]=var97; +if (likely(varonce100!=NULL)) { +var101 = varonce100; +} else { +var102 = "` must be named `"; +var103 = standard___standard__NativeString___to_s_with_length(var102, 17l); +var101 = var103; +varonce100 = var101; } -{ -var107 = nit__lexer_work___Token___text(var104); +((struct instance_standard__NativeArray*)var91)->values[4]=var101; +if (likely(varonce104!=NULL)) { +var105 = varonce104; +} else { +var106 = "` as in the original definition in module `"; +var107 = standard___standard__NativeString___to_s_with_length(var106, 43l); +var105 = var107; +varonce104 = var105; } -if (varonce108) { +((struct instance_standard__NativeArray*)var91)->values[6]=var105; +if (likely(varonce108!=NULL)) { var109 = varonce108; } else { -var110 = "` must be named `"; -var111 = 17; -var112 = standard___standard__NativeString___to_s_with_length(var110, var111); -var109 = var112; +var110 = "`."; +var111 = standard___standard__NativeString___to_s_with_length(var110, 2l); +var109 = var111; varonce108 = var109; } -if (varonce113) { -var114 = varonce113; +((struct instance_standard__NativeArray*)var91)->values[8]=var109; } else { -var115 = "\' as in the original definition in module `"; -var116 = 43; -var117 = standard___standard__NativeString___to_s_with_length(var115, var116); -var114 = var117; -varonce113 = var114; +var91 = varonce90; +varonce90 = NULL; +} +var112 = standard__string___Int___Object__to_s(var_i); +((struct instance_standard__NativeArray*)var91)->values[1]=var112; +{ +{ /* Inline parser_nodes#AFormaldef#n_id (var_nfd) on */ +var115 = var_nfd->attrs[COLOR_nit__parser_nodes__AFormaldef___n_id].val; /* _n_id on */ +if (unlikely(var115 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1291); +fatal_exit(1); +} +var113 = var115; +RET_LABEL114:(void)0; +} +} +{ +var116 = nit__lexer_work___Token___text(var113); } +((struct instance_standard__NativeArray*)var91)->values[3]=var116; +((struct instance_standard__NativeArray*)var91)->values[5]=var_pname; { { /* Inline model#MClass#intro (var_mclass) on */ -var120 = var_mclass->attrs[COLOR_nit__model__MClass___intro].val; /* _intro on */ -if (unlikely(var120 == NULL)) { +var119 = var_mclass->attrs[COLOR_nit__model__MClass___intro].val; /* _intro on */ +if (unlikely(var119 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 423); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 460); +fatal_exit(1); } -var118 = var120; -RET_LABEL119:(void)0; +var117 = var119; +RET_LABEL118:(void)0; } } { -{ /* Inline model#MClassDef#mmodule (var118) on */ -var123 = var118->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ -if (unlikely(var123 == NULL)) { +{ /* Inline model#MClassDef#mmodule (var117) on */ +var122 = var117->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ +if (unlikely(var122 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 489); -show_backtrace(1); -} -var121 = var123; -RET_LABEL122:(void)0; +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 550); +fatal_exit(1); } +var120 = var122; +RET_LABEL121:(void)0; } -if (varonce124) { -var125 = varonce124; -} else { -var126 = "`."; -var127 = 2; -var128 = standard___standard__NativeString___to_s_with_length(var126, var127); -var125 = var128; -varonce124 = var125; } -var129 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var129 = array_instance Array[Object] */ -var130 = 9; -var131 = NEW_standard__NativeArray(var130, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var131)->values[0] = (val*) var95; -var132 = BOX_standard__Int(var_i); /* autobox from Int to Object */ -((struct instance_standard__NativeArray*)var131)->values[1] = (val*) var132; -((struct instance_standard__NativeArray*)var131)->values[2] = (val*) var100; -((struct instance_standard__NativeArray*)var131)->values[3] = (val*) var107; -((struct instance_standard__NativeArray*)var131)->values[4] = (val*) var109; -((struct instance_standard__NativeArray*)var131)->values[5] = (val*) var_pname; -((struct instance_standard__NativeArray*)var131)->values[6] = (val*) var114; -((struct instance_standard__NativeArray*)var131)->values[7] = (val*) var121; -((struct instance_standard__NativeArray*)var131)->values[8] = (val*) var125; { -((void (*)(val* self, val* p0, long p1))(var129->class->vft[COLOR_standard__array__Array__with_native]))(var129, var131, var130) /* with_native on */; -} +var123 = ((val*(*)(val* self))(var120->class->vft[COLOR_standard__string__Object__to_s]))(var120); /* to_s on */ } +((struct instance_standard__NativeArray*)var91)->values[7]=var123; { -var133 = ((val* (*)(val* self))(var129->class->vft[COLOR_standard__string__Object__to_s]))(var129) /* to_s on */; +var124 = ((val*(*)(val* self))(var91->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var91); /* native_to_s on */ } +varonce90 = var91; { -nit___nit__ModelBuilder___error(self, var91, var133); /* Direct call modelbuilder_base#ModelBuilder#error on */ +nit___nit__ModelBuilder___error(self, var87, var124); /* Direct call modelbuilder_base#ModelBuilder#error on */ } } else { } { { /* Inline parser_nodes#AFormaldef#n_type (var_nfd) on */ -var136 = var_nfd->attrs[COLOR_nit__parser_nodes__AFormaldef___n_type].val; /* _n_type on */ -var134 = var136; -RET_LABEL135:(void)0; +var127 = var_nfd->attrs[COLOR_nit__parser_nodes__AFormaldef___n_type].val; /* _n_type on */ +var125 = var127; +RET_LABEL126:(void)0; } } -var_nfdt = var134; -var137 = NULL; +var_nfdt = var125; if (var_nfdt == NULL) { -var138 = 0; /* is null */ +var128 = 0; /* is null */ } else { -var138 = 1; /* arg is null and recv is not */ +var128 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_nfdt,var137) on */ -var_other24 = var137; +{ /* Inline kernel#Object#!= (var_nfdt,((val*)NULL)) on */ +var_other22 = ((val*)NULL); { -var141 = ((short int (*)(val* self, val* p0))(var_nfdt->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nfdt, var_other24) /* == on */; +var131 = ((short int(*)(val* self, val* p0))(var_nfdt->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nfdt, var_other22); /* == on */ } -var142 = !var141; -var139 = var142; -goto RET_LABEL140; -RET_LABEL140:(void)0; +var132 = !var131; +var129 = var132; +goto RET_LABEL130; +RET_LABEL130:(void)0; } -var138 = var139; +var128 = var129; } -if (var138){ -var143 = NULL; -var144 = 0; +if (var128){ { -var145 = nit__modelize_class___ModelBuilder___resolve_mtype_unchecked(self, var_mmodule, var143, var_nfdt, var144); +var133 = nit___nit__ModelBuilder___resolve_mtype_unchecked(self, var_mmodule, ((val*)NULL), var_nfdt, 0); } -var_bound146 = var145; -var147 = NULL; -if (var_bound146 == NULL) { -var148 = 1; /* is null */ +var_bound134 = var133; +if (var_bound134 == NULL) { +var135 = 1; /* is null */ } else { -var148 = 0; /* arg is null but recv is not */ +var135 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_bound146,var147) on */ -var_other = var147; +{ /* Inline kernel#Object#== (var_bound134,((val*)NULL)) on */ +var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_bound146,var_other) on */ -var153 = var_bound146 == var_other; -var151 = var153; -goto RET_LABEL152; -RET_LABEL152:(void)0; +{ /* Inline kernel#Object#is_same_instance (var_bound134,var_other) on */ +var140 = var_bound134 == var_other; +var138 = var140; +goto RET_LABEL139; +RET_LABEL139:(void)0; } } -var149 = var151; -goto RET_LABEL150; -RET_LABEL150:(void)0; +var136 = var138; +goto RET_LABEL137; +RET_LABEL137:(void)0; } -var148 = var149; +var135 = var136; } -if (var148){ +if (var135){ goto RET_LABEL; } else { } { -var154 = ((short int (*)(val* self))(var_bound146->class->vft[COLOR_nit__model__MType__need_anchor]))(var_bound146) /* need_anchor on */; +var141 = ((short int(*)(val* self))(var_bound134->class->vft[COLOR_nit__model__MType__need_anchor]))(var_bound134); /* need_anchor on */ } -if (var154){ -if (varonce155) { -var156 = varonce155; +if (var141){ +if (unlikely(varonce142==NULL)) { +var143 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce144!=NULL)) { +var145 = varonce144; } else { -var157 = "Error: Formal parameter type `"; -var158 = 30; -var159 = standard___standard__NativeString___to_s_with_length(var157, var158); -var156 = var159; -varonce155 = var156; +var146 = "Error: formal parameter type `"; +var147 = standard___standard__NativeString___to_s_with_length(var146, 30l); +var145 = var147; +varonce144 = var145; } -if (varonce160) { -var161 = varonce160; +((struct instance_standard__NativeArray*)var143)->values[0]=var145; +if (likely(varonce148!=NULL)) { +var149 = varonce148; } else { -var162 = "\' bounded with a formal parameter type"; -var163 = 38; -var164 = standard___standard__NativeString___to_s_with_length(var162, var163); -var161 = var164; -varonce160 = var161; -} -var165 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var165 = array_instance Array[Object] */ -var166 = 3; -var167 = NEW_standard__NativeArray(var166, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var167)->values[0] = (val*) var156; -((struct instance_standard__NativeArray*)var167)->values[1] = (val*) var_pname; -((struct instance_standard__NativeArray*)var167)->values[2] = (val*) var161; -{ -((void (*)(val* self, val* p0, long p1))(var165->class->vft[COLOR_standard__array__Array__with_native]))(var165, var167, var166) /* with_native on */; +var150 = "` bounded with a formal parameter type."; +var151 = standard___standard__NativeString___to_s_with_length(var150, 39l); +var149 = var151; +varonce148 = var149; } +((struct instance_standard__NativeArray*)var143)->values[2]=var149; +} else { +var143 = varonce142; +varonce142 = NULL; } +((struct instance_standard__NativeArray*)var143)->values[1]=var_pname; { -var168 = ((val* (*)(val* self))(var165->class->vft[COLOR_standard__string__Object__to_s]))(var165) /* to_s on */; +var152 = ((val*(*)(val* self))(var143->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var143); /* native_to_s on */ } +varonce142 = var143; { -nit___nit__ModelBuilder___error(self, var_nfd, var168); /* Direct call modelbuilder_base#ModelBuilder#error on */ +nit___nit__ModelBuilder___error(self, var_nfd, var152); /* Direct call modelbuilder_base#ModelBuilder#error on */ } } else { { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_bounds, var_bound146); /* Direct call array#Array#add on */ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_bounds, var_bound134); /* Direct call array#Array#add on */ } { -{ /* Inline modelize_class#AFormaldef#bound= (var_nfd,var_bound146) on */ -var_nfd->attrs[COLOR_nit__modelize_class__AFormaldef___bound].val = var_bound146; /* _bound on */ -RET_LABEL169:(void)0; +{ /* Inline modelize_class#AFormaldef#bound= (var_nfd,var_bound134) on */ +var_nfd->attrs[COLOR_nit__modelize_class__AFormaldef___bound].val = var_bound134; /* _bound on */ +RET_LABEL153:(void)0; } } } -/* isa MClassType */ -cltype172 = type_nit__MClassType.color; -idtype173 = type_nit__MClassType.id; -if(cltype172 >= var_bound146->type->table_size) { -var171 = 0; +/* isa MClassType */ +cltype156 = type_nit__MClassType.color; +idtype157 = type_nit__MClassType.id; +if(cltype156 >= var_bound134->type->table_size) { +var155 = 0; } else { -var171 = var_bound146->type->type_table[cltype172] == idtype173; +var155 = var_bound134->type->type_table[cltype156] == idtype157; } -var_174 = var171; -if (var171){ +var_158 = var155; +if (var155){ { -{ /* Inline model#MClassType#mclass (var_bound146) on */ -var177 = var_bound146->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ -if (unlikely(var177 == NULL)) { +{ /* Inline model#MClassType#mclass (var_bound134) on */ +var161 = var_bound134->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ +if (unlikely(var161 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1058); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1138); +fatal_exit(1); } -var175 = var177; -RET_LABEL176:(void)0; +var159 = var161; +RET_LABEL160:(void)0; } } { -{ /* Inline model#MClass#kind (var175) on */ -var180 = var175->attrs[COLOR_nit__model__MClass___kind].val; /* _kind on */ -if (unlikely(var180 == NULL)) { +{ /* Inline model#MClass#kind (var159) on */ +var164 = var159->attrs[COLOR_nit__model__MClass___kind].val; /* _kind on */ +if (unlikely(var164 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 399); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 436); +fatal_exit(1); } -var178 = var180; -RET_LABEL179:(void)0; +var162 = var164; +RET_LABEL163:(void)0; } } +var165 = glob_sys; { -var181 = nit__model___standard__Object___enum_kind(self); +var166 = nit__model___standard__Sys___enum_kind(var165); } { -{ /* Inline kernel#Object#== (var178,var181) on */ -var_other = var181; +{ /* Inline kernel#Object#== (var162,var166) on */ +var_other = var166; { -{ /* Inline kernel#Object#is_same_instance (var178,var_other) on */ -var186 = var178 == var_other; -var184 = var186; -goto RET_LABEL185; -RET_LABEL185:(void)0; +{ /* Inline kernel#Object#is_same_instance (var162,var_other) on */ +var171 = var162 == var_other; +var169 = var171; +goto RET_LABEL170; +RET_LABEL170:(void)0; +} } +var167 = var169; +goto RET_LABEL168; +RET_LABEL168:(void)0; } -var182 = var184; -goto RET_LABEL183; -RET_LABEL183:(void)0; } +var154 = var167; +} else { +var154 = var_158; } -var170 = var182; +if (var154){ +if (likely(varonce172!=NULL)) { +var173 = varonce172; } else { -var170 = var_174; +var174 = "useless-bound"; +var175 = standard___standard__NativeString___to_s_with_length(var174, 13l); +var173 = var175; +varonce172 = var173; } -if (var170){ -if (varonce187) { -var188 = varonce187; +if (unlikely(varonce176==NULL)) { +var177 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce178!=NULL)) { +var179 = varonce178; } else { -var189 = "useless-bound"; -var190 = 13; -var191 = standard___standard__NativeString___to_s_with_length(var189, var190); -var188 = var191; -varonce187 = var188; +var180 = "Warning: useless formal parameter type since `"; +var181 = standard___standard__NativeString___to_s_with_length(var180, 46l); +var179 = var181; +varonce178 = var179; } -if (varonce192) { -var193 = varonce192; +((struct instance_standard__NativeArray*)var177)->values[0]=var179; +if (likely(varonce182!=NULL)) { +var183 = varonce182; } else { -var194 = "Warning: Useless formal parameter type since `"; -var195 = 46; -var196 = standard___standard__NativeString___to_s_with_length(var194, var195); -var193 = var196; -varonce192 = var193; +var184 = "` cannot have subclasses."; +var185 = standard___standard__NativeString___to_s_with_length(var184, 25l); +var183 = var185; +varonce182 = var183; } -if (varonce197) { -var198 = varonce197; +((struct instance_standard__NativeArray*)var177)->values[2]=var183; } else { -var199 = "` cannnot have subclasses."; -var200 = 26; -var201 = standard___standard__NativeString___to_s_with_length(var199, var200); -var198 = var201; -varonce197 = var198; +var177 = varonce176; +varonce176 = NULL; } -var202 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var202 = array_instance Array[Object] */ -var203 = 3; -var204 = NEW_standard__NativeArray(var203, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var204)->values[0] = (val*) var193; -((struct instance_standard__NativeArray*)var204)->values[1] = (val*) var_bound146; -((struct instance_standard__NativeArray*)var204)->values[2] = (val*) var198; { -((void (*)(val* self, val* p0, long p1))(var202->class->vft[COLOR_standard__array__Array__with_native]))(var202, var204, var203) /* with_native on */; -} +var186 = ((val*(*)(val* self))(var_bound134->class->vft[COLOR_standard__string__Object__to_s]))(var_bound134); /* to_s on */ } +((struct instance_standard__NativeArray*)var177)->values[1]=var186; { -var205 = ((val* (*)(val* self))(var202->class->vft[COLOR_standard__string__Object__to_s]))(var202) /* to_s on */; +var187 = ((val*(*)(val* self))(var177->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var177); /* native_to_s on */ } +varonce176 = var177; { -nit___nit__ModelBuilder___warning(self, var_nfdt, var188, var205); /* Direct call modelbuilder_base#ModelBuilder#warning on */ +nit___nit__ModelBuilder___warning(self, var_nfdt, var173, var187); /* Direct call modelbuilder_base#ModelBuilder#warning on */ } } else { } } else { { { /* Inline model#MClass#mclassdefs (var_mclass) on */ -var208 = var_mclass->attrs[COLOR_nit__model__MClass___mclassdefs].val; /* _mclassdefs on */ -if (unlikely(var208 == NULL)) { +var190 = var_mclass->attrs[COLOR_nit__model__MClass___mclassdefs].val; /* _mclassdefs on */ +if (unlikely(var190 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdefs"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 417); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 454); +fatal_exit(1); } -var206 = var208; -RET_LABEL207:(void)0; +var188 = var190; +RET_LABEL189:(void)0; } } { -var209 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var206); +var191 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var188); } -if (var209){ -var210 = NULL; +if (var191){ if (var_objectclass == NULL) { -var211 = 1; /* is null */ +var192 = 1; /* is null */ } else { -var211 = 0; /* arg is null but recv is not */ +var192 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_objectclass,var210) on */ -var_other = var210; +{ /* Inline kernel#Object#== (var_objectclass,((val*)NULL)) on */ +var_other = ((val*)NULL); { { /* Inline kernel#Object#is_same_instance (var_objectclass,var_other) on */ -var216 = var_objectclass == var_other; -var214 = var216; -goto RET_LABEL215; -RET_LABEL215:(void)0; +var197 = var_objectclass == var_other; +var195 = var197; +goto RET_LABEL196; +RET_LABEL196:(void)0; } } -var212 = var214; -goto RET_LABEL213; -RET_LABEL213:(void)0; +var193 = var195; +goto RET_LABEL194; +RET_LABEL194:(void)0; } -var211 = var212; +var192 = var193; } -if (var211){ -if (varonce217) { -var218 = varonce217; +if (var192){ +if (unlikely(varonce198==NULL)) { +var199 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce200!=NULL)) { +var201 = varonce200; } else { -var219 = "Error: Formal parameter type `"; -var220 = 30; -var221 = standard___standard__NativeString___to_s_with_length(var219, var220); -var218 = var221; -varonce217 = var218; +var202 = "Error: formal parameter type `"; +var203 = standard___standard__NativeString___to_s_with_length(var202, 30l); +var201 = var203; +varonce200 = var201; } -if (varonce222) { -var223 = varonce222; +((struct instance_standard__NativeArray*)var199)->values[0]=var201; +if (likely(varonce204!=NULL)) { +var205 = varonce204; } else { -var224 = "\' unbounded but no Object class exist."; -var225 = 38; -var226 = standard___standard__NativeString___to_s_with_length(var224, var225); -var223 = var226; -varonce222 = var223; -} -var227 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var227 = array_instance Array[Object] */ -var228 = 3; -var229 = NEW_standard__NativeArray(var228, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var229)->values[0] = (val*) var218; -((struct instance_standard__NativeArray*)var229)->values[1] = (val*) var_pname; -((struct instance_standard__NativeArray*)var229)->values[2] = (val*) var223; -{ -((void (*)(val* self, val* p0, long p1))(var227->class->vft[COLOR_standard__array__Array__with_native]))(var227, var229, var228) /* with_native on */; +var206 = "` unbounded but no `Object` class exists."; +var207 = standard___standard__NativeString___to_s_with_length(var206, 41l); +var205 = var207; +varonce204 = var205; } +((struct instance_standard__NativeArray*)var199)->values[2]=var205; +} else { +var199 = varonce198; +varonce198 = NULL; } +((struct instance_standard__NativeArray*)var199)->values[1]=var_pname; { -var230 = ((val* (*)(val* self))(var227->class->vft[COLOR_standard__string__Object__to_s]))(var227) /* to_s on */; +var208 = ((val*(*)(val* self))(var199->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var199); /* native_to_s on */ } +varonce198 = var199; { -nit___nit__ModelBuilder___error(self, var_nfd, var230); /* Direct call modelbuilder_base#ModelBuilder#error on */ +nit___nit__ModelBuilder___error(self, var_nfd, var208); /* Direct call modelbuilder_base#ModelBuilder#error on */ } goto RET_LABEL; } else { } { { /* Inline model#MClass#mclass_type (var_objectclass) on */ -var233 = var_objectclass->attrs[COLOR_nit__model__MClass___mclass_type].val; /* _mclass_type on */ -if (unlikely(var233 == NULL)) { +var211 = var_objectclass->attrs[COLOR_nit__model__MClass___mclass_type].val; /* _mclass_type on */ +if (unlikely(var211 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 438); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 484); +fatal_exit(1); } -var231 = var233; -RET_LABEL232:(void)0; +var209 = var211; +RET_LABEL210:(void)0; } } { -var234 = nit___nit__MType___as_nullable(var231); +var212 = nit___nit__MType___as_nullable(var209); } -var_bound235 = var234; +var_bound213 = var212; { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_bounds, var_bound235); /* Direct call array#Array#add on */ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_bounds, var_bound213); /* Direct call array#Array#add on */ } { -{ /* Inline modelize_class#AFormaldef#bound= (var_nfd,var_bound235) on */ -var_nfd->attrs[COLOR_nit__modelize_class__AFormaldef___bound].val = var_bound235; /* _bound on */ -RET_LABEL236:(void)0; +{ /* Inline modelize_class#AFormaldef#bound= (var_nfd,var_bound213) on */ +var_nfd->attrs[COLOR_nit__modelize_class__AFormaldef___bound].val = var_bound213; /* _bound on */ +RET_LABEL214:(void)0; } } } else { { { /* Inline model#MClass#intro (var_mclass) on */ -var239 = var_mclass->attrs[COLOR_nit__model__MClass___intro].val; /* _intro on */ -if (unlikely(var239 == NULL)) { +var217 = var_mclass->attrs[COLOR_nit__model__MClass___intro].val; /* _intro on */ +if (unlikely(var217 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 423); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 460); +fatal_exit(1); } -var237 = var239; -RET_LABEL238:(void)0; +var215 = var217; +RET_LABEL216:(void)0; } } { -{ /* Inline model#MClassDef#bound_mtype (var237) on */ -var242 = var237->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ -if (unlikely(var242 == NULL)) { +{ /* Inline model#MClassDef#bound_mtype (var215) on */ +var220 = var215->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ +if (unlikely(var220 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 495); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 556); +fatal_exit(1); } -var240 = var242; -RET_LABEL241:(void)0; +var218 = var220; +RET_LABEL219:(void)0; } } { -var243 = ((val* (*)(val* self))(var240->class->vft[COLOR_nit__model__MClassType__arguments]))(var240) /* arguments on */; +var221 = ((val*(*)(val* self))(var218->class->vft[COLOR_nit__model__MClassType__arguments]))(var218); /* arguments on */ } { -var244 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var243, var_i); +var222 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var221, var_i); } -var_bound245 = var244; +var_bound223 = var222; { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_bounds, var_bound245); /* Direct call array#Array#add on */ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_bounds, var_bound223); /* Direct call array#Array#add on */ } { -{ /* Inline modelize_class#AFormaldef#bound= (var_nfd,var_bound245) on */ -var_nfd->attrs[COLOR_nit__modelize_class__AFormaldef___bound].val = var_bound245; /* _bound on */ -RET_LABEL246:(void)0; +{ /* Inline modelize_class#AFormaldef#bound= (var_nfd,var_bound223) on */ +var_nfd->attrs[COLOR_nit__modelize_class__AFormaldef___bound].val = var_bound223; /* _bound on */ +RET_LABEL224:(void)0; } } } } BREAK_label: (void)0; -var247 = 1; { -var248 = standard___standard__Int___Discrete__successor(var_i, var247); +var225 = standard___standard__Int___Discrete__successor(var_i, 1l); } -var_i = var248; +var_i = var225; } else { -goto BREAK_label249; +goto BREAK_label226; } } -BREAK_label249: (void)0; +BREAK_label226: (void)0; } else { } { -var250 = nit___nit__MClass___get_mtype(var_mclass, var_bounds); +var227 = nit___nit__MClass___get_mtype(var_mclass, var_bounds); } -var_bound_mtype = var250; -var251 = NEW_nit__MClassDef(&type_nit__MClassDef); +var_bound_mtype = var227; +var228 = NEW_nit__MClassDef(&type_nit__MClassDef); { { /* Inline parser_nodes#ANode#location (var_nclassdef) on */ -var254 = var_nclassdef->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on */ -if (unlikely(var254 == NULL)) { +var231 = var_nclassdef->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on */ +if (unlikely(var231 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 23); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 24); +fatal_exit(1); } -var252 = var254; -RET_LABEL253:(void)0; +var229 = var231; +RET_LABEL230:(void)0; } } { -((void (*)(val* self, val* p0))(var251->class->vft[COLOR_nit__model__MClassDef__mmodule_61d]))(var251, var_mmodule) /* mmodule= on */; +((void(*)(val* self, val* p0))(var228->class->vft[COLOR_nit__model__MClassDef__mmodule_61d]))(var228, var_mmodule); /* mmodule= on */ } { -((void (*)(val* self, val* p0))(var251->class->vft[COLOR_nit__model__MClassDef__bound_mtype_61d]))(var251, var_bound_mtype) /* bound_mtype= on */; +((void(*)(val* self, val* p0))(var228->class->vft[COLOR_nit__model__MClassDef__bound_mtype_61d]))(var228, var_bound_mtype); /* bound_mtype= on */ } { -((void (*)(val* self, val* p0))(var251->class->vft[COLOR_nit__model__MClassDef__location_61d]))(var251, var252) /* location= on */; +((void(*)(val* self, val* p0))(var228->class->vft[COLOR_nit__model__MClassDef__location_61d]))(var228, var229); /* location= on */ } { -((void (*)(val* self))(var251->class->vft[COLOR_standard__kernel__Object__init]))(var251) /* init on */; +((void(*)(val* self))(var228->class->vft[COLOR_standard__kernel__Object__init]))(var228); /* init on */ } -var_mclassdef = var251; +var_mclassdef = var228; { { /* Inline modelize_class#AClassdef#mclassdef= (var_nclassdef,var_mclassdef) on */ var_nclassdef->attrs[COLOR_nit__modelize_class__AClassdef___mclassdef].val = var_mclassdef; /* _mclassdef on */ -RET_LABEL255:(void)0; +RET_LABEL232:(void)0; } } { { /* Inline modelize_class#ModelBuilder#mclassdef2nclassdef (self) on */ -var258 = self->attrs[COLOR_nit__modelize_class__ModelBuilder___mclassdef2nclassdef].val; /* _mclassdef2nclassdef on */ -if (unlikely(var258 == NULL)) { +var235 = self->attrs[COLOR_nit__modelize_class__ModelBuilder___mclassdef2nclassdef].val; /* _mclassdef2nclassdef on */ +if (unlikely(var235 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef2nclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 426); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 449); +fatal_exit(1); } -var256 = var258; -RET_LABEL257:(void)0; +var233 = var235; +RET_LABEL234:(void)0; } } { -standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var256, var_mclassdef, var_nclassdef); /* Direct call hash_collection#HashMap#[]= on */ +standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var233, var_mclassdef, var_nclassdef); /* Direct call hash_collection#HashMap#[]= on */ } /* isa AStdClassdef */ -cltype260 = type_nit__AStdClassdef.color; -idtype261 = type_nit__AStdClassdef.id; -if(cltype260 >= var_nclassdef->type->table_size) { -var259 = 0; +cltype237 = type_nit__AStdClassdef.color; +idtype238 = type_nit__AStdClassdef.id; +if(cltype237 >= var_nclassdef->type->table_size) { +var236 = 0; } else { -var259 = var_nclassdef->type->type_table[cltype260] == idtype261; +var236 = var_nclassdef->type->type_table[cltype237] == idtype238; } -if (var259){ +if (var236){ { { /* Inline parser_nodes#ADefinition#n_doc (var_nclassdef) on */ -var264 = var_nclassdef->attrs[COLOR_nit__parser_nodes__ADefinition___n_doc].val; /* _n_doc on */ -var262 = var264; -RET_LABEL263:(void)0; +var241 = var_nclassdef->attrs[COLOR_nit__parser_nodes__ADefinition___n_doc].val; /* _n_doc on */ +var239 = var241; +RET_LABEL240:(void)0; } } -var_ndoc = var262; -var265 = NULL; +var_ndoc = var239; if (var_ndoc == NULL) { -var266 = 0; /* is null */ +var242 = 0; /* is null */ } else { -var266 = 1; /* arg is null and recv is not */ +var242 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_ndoc,var265) on */ -var_other24 = var265; +{ /* Inline kernel#Object#!= (var_ndoc,((val*)NULL)) on */ +var_other22 = ((val*)NULL); { -var269 = ((short int (*)(val* self, val* p0))(var_ndoc->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_ndoc, var_other24) /* == on */; +var245 = ((short int(*)(val* self, val* p0))(var_ndoc->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_ndoc, var_other22); /* == on */ } -var270 = !var269; -var267 = var270; -goto RET_LABEL268; -RET_LABEL268:(void)0; +var246 = !var245; +var243 = var246; +goto RET_LABEL244; +RET_LABEL244:(void)0; } -var266 = var267; +var242 = var243; } -if (var266){ +if (var242){ { -var271 = nit__modelbuilder_base___ADoc___to_mdoc(var_ndoc); +var247 = nit__modelbuilder_base___ADoc___to_mdoc(var_ndoc); } -var_mdoc = var271; +var_mdoc = var247; { { /* Inline mdoc#MEntity#mdoc= (var_mclassdef,var_mdoc) on */ var_mclassdef->attrs[COLOR_nit__mdoc__MEntity___mdoc].val = var_mdoc; /* _mdoc on */ -RET_LABEL272:(void)0; +RET_LABEL248:(void)0; } } { { /* Inline mdoc#MDoc#original_mentity= (var_mdoc,var_mclassdef) on */ var_mdoc->attrs[COLOR_nit__mdoc__MDoc___original_mentity].val = var_mclassdef; /* _original_mentity on */ -RET_LABEL273:(void)0; +RET_LABEL249:(void)0; } } } else { { -var275 = nit___nit__MClassDef___is_intro(var_mclassdef); +var251 = nit___nit__MClassDef___is_intro(var_mclassdef); } -var_276 = var275; -if (var275){ +var_252 = var251; +if (var251){ { { /* Inline model#MClass#visibility (var_mclass) on */ -var279 = var_mclass->attrs[COLOR_nit__model__MClass___visibility].val; /* _visibility on */ -if (unlikely(var279 == NULL)) { +var255 = var_mclass->attrs[COLOR_nit__model__MClass___visibility].val; /* _visibility on */ +if (unlikely(var255 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 403); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 440); +fatal_exit(1); } -var277 = var279; -RET_LABEL278:(void)0; +var253 = var255; +RET_LABEL254:(void)0; } } +var256 = glob_sys; { -var280 = nit__model_base___standard__Object___public_visibility(self); +var257 = nit__model_base___standard__Sys___public_visibility(var256); } { -var281 = standard___standard__Comparable____62d_61d(var277, var280); +var258 = standard___standard__Comparable____62d_61d(var253, var257); +} +var250 = var258; +} else { +var250 = var_252; } -var274 = var281; +if (var250){ +if (likely(varonce259!=NULL)) { +var260 = varonce259; } else { -var274 = var_276; +var261 = "missing-doc"; +var262 = standard___standard__NativeString___to_s_with_length(var261, 11l); +var260 = var262; +varonce259 = var260; } -if (var274){ -if (varonce282) { -var283 = varonce282; +if (unlikely(varonce263==NULL)) { +var264 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce265!=NULL)) { +var266 = varonce265; } else { -var284 = "missing-doc"; -var285 = 11; -var286 = standard___standard__NativeString___to_s_with_length(var284, var285); -var283 = var286; -varonce282 = var283; +var267 = "Documentation warning: Undocumented public class `"; +var268 = standard___standard__NativeString___to_s_with_length(var267, 50l); +var266 = var268; +varonce265 = var266; } -if (varonce287) { -var288 = varonce287; +((struct instance_standard__NativeArray*)var264)->values[0]=var266; +if (likely(varonce269!=NULL)) { +var270 = varonce269; } else { -var289 = "Documentation warning: Undocumented public class `"; -var290 = 50; -var291 = standard___standard__NativeString___to_s_with_length(var289, var290); -var288 = var291; -varonce287 = var288; +var271 = "`"; +var272 = standard___standard__NativeString___to_s_with_length(var271, 1l); +var270 = var272; +varonce269 = var270; } -if (varonce292) { -var293 = varonce292; +((struct instance_standard__NativeArray*)var264)->values[2]=var270; } else { -var294 = "`"; -var295 = 1; -var296 = standard___standard__NativeString___to_s_with_length(var294, var295); -var293 = var296; -varonce292 = var293; +var264 = varonce263; +varonce263 = NULL; } -var297 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var297 = array_instance Array[Object] */ -var298 = 3; -var299 = NEW_standard__NativeArray(var298, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var299)->values[0] = (val*) var288; -((struct instance_standard__NativeArray*)var299)->values[1] = (val*) var_mclass; -((struct instance_standard__NativeArray*)var299)->values[2] = (val*) var293; { -((void (*)(val* self, val* p0, long p1))(var297->class->vft[COLOR_standard__array__Array__with_native]))(var297, var299, var298) /* with_native on */; -} +var273 = ((val*(*)(val* self))(var_mclass->class->vft[COLOR_standard__string__Object__to_s]))(var_mclass); /* to_s on */ } +((struct instance_standard__NativeArray*)var264)->values[1]=var273; { -var300 = ((val* (*)(val* self))(var297->class->vft[COLOR_standard__string__Object__to_s]))(var297) /* to_s on */; +var274 = ((val*(*)(val* self))(var264->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var264); /* native_to_s on */ } +varonce263 = var264; { -nit___nit__ModelBuilder___advice(self, var_nclassdef, var283, var300); /* Direct call modelbuilder_base#ModelBuilder#advice on */ +nit___nit__ModelBuilder___advice(self, var_nclassdef, var260, var274); /* Direct call modelbuilder_base#ModelBuilder#advice on */ } } else { } @@ -3331,139 +3375,143 @@ nit___nit__ModelBuilder___advice(self, var_nclassdef, var283, var300); /* Direct } else { } { -var301 = nit___nit__MClassDef___is_intro(var_mclassdef); +var275 = nit___nit__MClassDef___is_intro(var_mclassdef); } -if (var301){ +if (var275){ { { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on */ -var304 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ -if (unlikely(var304 == NULL)) { +var278 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ +if (unlikely(var278 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47); -show_backtrace(1); +fatal_exit(1); } -var302 = var304; -RET_LABEL303:(void)0; +var276 = var278; +RET_LABEL277:(void)0; } } -if (varonce305) { -var306 = varonce305; +if (unlikely(varonce279==NULL)) { +var280 = NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String); +if (likely(varonce281!=NULL)) { +var282 = varonce281; } else { -var307 = " introduces new "; -var308 = 16; -var309 = standard___standard__NativeString___to_s_with_length(var307, var308); -var306 = var309; -varonce305 = var306; +var283 = " introduces new "; +var284 = standard___standard__NativeString___to_s_with_length(var283, 16l); +var282 = var284; +varonce281 = var282; +} +((struct instance_standard__NativeArray*)var280)->values[1]=var282; +if (likely(varonce285!=NULL)) { +var286 = varonce285; +} else { +var287 = " "; +var288 = standard___standard__NativeString___to_s_with_length(var287, 1l); +var286 = var288; +varonce285 = var286; +} +((struct instance_standard__NativeArray*)var280)->values[3]=var286; +} else { +var280 = varonce279; +varonce279 = NULL; } { +var289 = ((val*(*)(val* self))(var_mclassdef->class->vft[COLOR_standard__string__Object__to_s]))(var_mclassdef); /* to_s on */ +} +((struct instance_standard__NativeArray*)var280)->values[0]=var289; +{ { /* Inline model#MClass#kind (var_mclass) on */ -var312 = var_mclass->attrs[COLOR_nit__model__MClass___kind].val; /* _kind on */ -if (unlikely(var312 == NULL)) { +var292 = var_mclass->attrs[COLOR_nit__model__MClass___kind].val; /* _kind on */ +if (unlikely(var292 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 399); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 436); +fatal_exit(1); } -var310 = var312; -RET_LABEL311:(void)0; +var290 = var292; +RET_LABEL291:(void)0; } } -if (varonce313) { -var314 = varonce313; -} else { -var315 = " "; -var316 = 1; -var317 = standard___standard__NativeString___to_s_with_length(var315, var316); -var314 = var317; -varonce313 = var314; -} { -var318 = nit___nit__MClass___nit__model_base__MEntity__full_name(var_mclass); +var293 = ((val*(*)(val* self))(var290->class->vft[COLOR_standard__string__Object__to_s]))(var290); /* to_s on */ } -var319 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var319 = array_instance Array[Object] */ -var320 = 5; -var321 = NEW_standard__NativeArray(var320, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var321)->values[0] = (val*) var_mclassdef; -((struct instance_standard__NativeArray*)var321)->values[1] = (val*) var306; -((struct instance_standard__NativeArray*)var321)->values[2] = (val*) var310; -((struct instance_standard__NativeArray*)var321)->values[3] = (val*) var314; -((struct instance_standard__NativeArray*)var321)->values[4] = (val*) var318; +((struct instance_standard__NativeArray*)var280)->values[2]=var293; { -((void (*)(val* self, val* p0, long p1))(var319->class->vft[COLOR_standard__array__Array__with_native]))(var319, var321, var320) /* with_native on */; -} +var294 = nit___nit__MClass___nit__model_base__MEntity__full_name(var_mclass); } +((struct instance_standard__NativeArray*)var280)->values[4]=var294; { -var322 = ((val* (*)(val* self))(var319->class->vft[COLOR_standard__string__Object__to_s]))(var319) /* to_s on */; +var295 = ((val*(*)(val* self))(var280->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var280); /* native_to_s on */ } -var323 = 3; +varonce279 = var280; { -nit___nit__ToolContext___info(var302, var322, var323); /* Direct call toolcontext#ToolContext#info on */ +nit___nit__ToolContext___info(var276, var295, 3l); /* Direct call toolcontext#ToolContext#info on */ } } else { { { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on */ -var326 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ -if (unlikely(var326 == NULL)) { +var298 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ +if (unlikely(var298 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47); -show_backtrace(1); +fatal_exit(1); +} +var296 = var298; +RET_LABEL297:(void)0; } -var324 = var326; -RET_LABEL325:(void)0; } +if (unlikely(varonce299==NULL)) { +var300 = NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String); +if (likely(varonce301!=NULL)) { +var302 = varonce301; +} else { +var303 = " refine "; +var304 = standard___standard__NativeString___to_s_with_length(var303, 8l); +var302 = var304; +varonce301 = var302; +} +((struct instance_standard__NativeArray*)var300)->values[1]=var302; +if (likely(varonce305!=NULL)) { +var306 = varonce305; +} else { +var307 = " "; +var308 = standard___standard__NativeString___to_s_with_length(var307, 1l); +var306 = var308; +varonce305 = var306; } -if (varonce327) { -var328 = varonce327; +((struct instance_standard__NativeArray*)var300)->values[3]=var306; } else { -var329 = " refine "; -var330 = 8; -var331 = standard___standard__NativeString___to_s_with_length(var329, var330); -var328 = var331; -varonce327 = var328; +var300 = varonce299; +varonce299 = NULL; +} +{ +var309 = ((val*(*)(val* self))(var_mclassdef->class->vft[COLOR_standard__string__Object__to_s]))(var_mclassdef); /* to_s on */ } +((struct instance_standard__NativeArray*)var300)->values[0]=var309; { { /* Inline model#MClass#kind (var_mclass) on */ -var334 = var_mclass->attrs[COLOR_nit__model__MClass___kind].val; /* _kind on */ -if (unlikely(var334 == NULL)) { +var312 = var_mclass->attrs[COLOR_nit__model__MClass___kind].val; /* _kind on */ +if (unlikely(var312 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 399); -show_backtrace(1); -} -var332 = var334; -RET_LABEL333:(void)0; +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 436); +fatal_exit(1); } +var310 = var312; +RET_LABEL311:(void)0; } -if (varonce335) { -var336 = varonce335; -} else { -var337 = " "; -var338 = 1; -var339 = standard___standard__NativeString___to_s_with_length(var337, var338); -var336 = var339; -varonce335 = var336; } { -var340 = nit___nit__MClass___nit__model_base__MEntity__full_name(var_mclass); +var313 = ((val*(*)(val* self))(var310->class->vft[COLOR_standard__string__Object__to_s]))(var310); /* to_s on */ } -var341 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var341 = array_instance Array[Object] */ -var342 = 5; -var343 = NEW_standard__NativeArray(var342, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var343)->values[0] = (val*) var_mclassdef; -((struct instance_standard__NativeArray*)var343)->values[1] = (val*) var328; -((struct instance_standard__NativeArray*)var343)->values[2] = (val*) var332; -((struct instance_standard__NativeArray*)var343)->values[3] = (val*) var336; -((struct instance_standard__NativeArray*)var343)->values[4] = (val*) var340; +((struct instance_standard__NativeArray*)var300)->values[2]=var313; { -((void (*)(val* self, val* p0, long p1))(var341->class->vft[COLOR_standard__array__Array__with_native]))(var341, var343, var342) /* with_native on */; -} +var314 = nit___nit__MClass___nit__model_base__MEntity__full_name(var_mclass); } +((struct instance_standard__NativeArray*)var300)->values[4]=var314; { -var344 = ((val* (*)(val* self))(var341->class->vft[COLOR_standard__string__Object__to_s]))(var341) /* to_s on */; +var315 = ((val*(*)(val* self))(var300->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var300); /* native_to_s on */ } -var345 = 3; +varonce299 = var300; { -nit___nit__ToolContext___info(var324, var344, var345); /* Direct call toolcontext#ToolContext#info on */ +nit___nit__ToolContext___info(var296, var315, 3l); /* Direct call toolcontext#ToolContext#info on */ } } RET_LABEL:; @@ -3474,178 +3522,179 @@ val* var_nmodule /* var nmodule: AModule */; val* var_nclassdef /* var nclassdef: AClassdef */; val* var /* : nullable MModule */; val* var2 /* : nullable MModule */; -val* var_mmodule /* var mmodule: MModule */; +val* var_mmodule /* var mmodule: nullable MModule */; +short int var3 /* : Bool */; +short int var4 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var6 /* : Bool */; +short int var8 /* : Bool */; static val* varonce; -val* var3 /* : String */; -char* var4 /* : NativeString */; -long var5 /* : Int */; -val* var6 /* : FlatString */; -val* var7 /* : nullable MClass */; -val* var_objectclass /* var objectclass: nullable MClass */; -static val* varonce8; val* var9 /* : String */; char* var10 /* : NativeString */; -long var11 /* : Int */; -val* var12 /* : FlatString */; -val* var13 /* : nullable MClass */; +val* var11 /* : FlatString */; +val* var12 /* : nullable MClass */; +val* var_objectclass /* var objectclass: nullable MClass */; +static val* varonce13; +val* var14 /* : String */; +char* var15 /* : NativeString */; +val* var16 /* : FlatString */; +val* var17 /* : nullable MClass */; val* var_pointerclass /* var pointerclass: nullable MClass */; -val* var14 /* : nullable MClass */; -val* var16 /* : nullable MClass */; -val* var_mclass /* var mclass: MClass */; -val* var17 /* : nullable MClassDef */; -val* var19 /* : nullable MClassDef */; -val* var_mclassdef /* var mclassdef: MClassDef */; -short int var20 /* : Bool */; -short int var_specobject /* var specobject: Bool */; +val* var18 /* : nullable MClass */; +val* var20 /* : nullable MClass */; +val* var_mclass /* var mclass: nullable MClass */; short int var21 /* : Bool */; +short int var22 /* : Bool */; +short int var24 /* : Bool */; +short int var26 /* : Bool */; +val* var27 /* : nullable MClassDef */; +val* var29 /* : nullable MClassDef */; +val* var_mclassdef /* var mclassdef: nullable MClassDef */; +short int var30 /* : Bool */; +short int var31 /* : Bool */; +short int var33 /* : Bool */; +short int var35 /* : Bool */; +short int var_specobject /* var specobject: Bool */; short int var_specpointer /* var specpointer: Bool */; -val* var22 /* : Array[MClassType] */; +val* var36 /* : Array[MClassType] */; val* var_supertypes /* var supertypes: Array[MClassType] */; -short int var23 /* : Bool */; +short int var37 /* : Bool */; int cltype; int idtype; -val* var24 /* : ANodes[ASuperclass] */; -val* var26 /* : ANodes[ASuperclass] */; -val* var_ /* var : ANodes[ASuperclass] */; -val* var27 /* : Iterator[ANode] */; -val* var_28 /* var : Iterator[ASuperclass] */; -short int var29 /* : Bool */; -val* var30 /* : nullable Object */; -val* var_nsc /* var nsc: ASuperclass */; -short int var31 /* : Bool */; -val* var32 /* : AType */; -val* var34 /* : AType */; +val* var38 /* : Array[ASuperPropdef] */; +val* var_ /* var : Array[ASuperPropdef] */; +val* var39 /* : ArrayIterator[nullable Object] */; +val* var_40 /* var : ArrayIterator[ASuperPropdef] */; +short int var41 /* : Bool */; +val* var42 /* : nullable Object */; +val* var_nsc /* var nsc: ASuperPropdef */; +val* var43 /* : AType */; +val* var45 /* : AType */; val* var_ntype /* var ntype: AType */; -short int var35 /* : Bool */; -val* var36 /* : nullable MType */; +val* var46 /* : nullable MType */; val* var_mtype /* var mtype: nullable MType */; -val* var37 /* : null */; -short int var38 /* : Bool */; -short int var39 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var41 /* : Bool */; -short int var43 /* : Bool */; -short int var44 /* : Bool */; -int cltype45; -int idtype46; short int var47 /* : Bool */; -static val* varonce48; -val* var49 /* : String */; -char* var50 /* : NativeString */; -long var51 /* : Int */; -val* var52 /* : FlatString */; -val* var53 /* : MClassKind */; -val* var55 /* : MClassKind */; -val* var56 /* : MClass */; -val* var58 /* : MClass */; -val* var59 /* : MClassKind */; +short int var48 /* : Bool */; +short int var50 /* : Bool */; +short int var52 /* : Bool */; +short int var53 /* : Bool */; +int cltype54; +int idtype55; +short int var56 /* : Bool */; +static val* varonce57; +val* var58 /* : String */; +char* var59 /* : NativeString */; +val* var60 /* : FlatString */; val* var61 /* : MClassKind */; -short int var62 /* : Bool */; -short int var63 /* : Bool */; -static val* varonce64; -val* var65 /* : String */; -char* var66 /* : NativeString */; -long var67 /* : Int */; -val* var68 /* : FlatString */; +val* var63 /* : MClassKind */; +val* var64 /* : MClass */; +val* var66 /* : MClass */; +val* var67 /* : MClassKind */; val* var69 /* : MClassKind */; -val* var71 /* : MClassKind */; +short int var70 /* : Bool */; +short int var71 /* : Bool */; +val* var73 /* : NativeArray[String] */; static val* varonce72; -val* var73 /* : String */; -char* var74 /* : NativeString */; -long var75 /* : Int */; -val* var76 /* : FlatString */; -static val* varonce77; -val* var78 /* : String */; -char* var79 /* : NativeString */; -long var80 /* : Int */; +static val* varonce74; +val* var75 /* : String */; +char* var76 /* : NativeString */; +val* var77 /* : FlatString */; +static val* varonce78; +val* var79 /* : String */; +char* var80 /* : NativeString */; val* var81 /* : FlatString */; -val* var82 /* : MClass */; -val* var84 /* : MClass */; -val* var85 /* : MClassKind */; -val* var87 /* : MClassKind */; -static val* varonce88; -val* var89 /* : String */; -char* var90 /* : NativeString */; -long var91 /* : Int */; -val* var92 /* : FlatString */; -val* var93 /* : MClass */; -val* var95 /* : MClass */; -val* var96 /* : Array[Object] */; -long var97 /* : Int */; -val* var98 /* : NativeArray[Object] */; -val* var99 /* : String */; -val* var100 /* : MClass */; -val* var102 /* : MClass */; -val* var103 /* : MClassKind */; -val* var105 /* : MClassKind */; -val* var106 /* : MClassKind */; -short int var107 /* : Bool */; -short int var109 /* : Bool */; -short int var111 /* : Bool */; -short int var112 /* : Bool */; -short int var115 /* : Bool */; -short int var116 /* : Bool */; -short int var_117 /* var : Bool */; -val* var118 /* : null */; +static val* varonce82; +val* var83 /* : String */; +char* var84 /* : NativeString */; +val* var85 /* : FlatString */; +static val* varonce86; +val* var87 /* : String */; +char* var88 /* : NativeString */; +val* var89 /* : FlatString */; +static val* varonce90; +val* var91 /* : String */; +char* var92 /* : NativeString */; +val* var93 /* : FlatString */; +val* var94 /* : MClassKind */; +val* var96 /* : MClassKind */; +val* var97 /* : String */; +val* var98 /* : String */; +val* var99 /* : MClass */; +val* var101 /* : MClass */; +val* var102 /* : MClassKind */; +val* var104 /* : MClassKind */; +val* var105 /* : String */; +val* var106 /* : MClass */; +val* var108 /* : MClass */; +val* var109 /* : String */; +val* var110 /* : String */; +val* var111 /* : MClass */; +val* var113 /* : MClass */; +val* var114 /* : MClassKind */; +val* var116 /* : MClassKind */; +val* var117 /* : Sys */; +val* var118 /* : MClassKind */; short int var119 /* : Bool */; -short int var120 /* : Bool */; -val* var_other122 /* var other: nullable Object */; +short int var121 /* : Bool */; short int var123 /* : Bool */; -short int var124 /* : Bool */; short int var125 /* : Bool */; -val* var126 /* : MClassKind */; -val* var128 /* : MClassKind */; -val* var129 /* : MClassKind */; -short int var130 /* : Bool */; +short int var126 /* : Bool */; +short int var_127 /* var : Bool */; +short int var128 /* : Bool */; +short int var129 /* : Bool */; +val* var_other131 /* var other: nullable Object */; short int var132 /* : Bool */; +short int var133 /* : Bool */; short int var134 /* : Bool */; -short int var_135 /* var : Bool */; -val* var136 /* : String */; -val* var138 /* : String */; -static val* varonce139; -val* var140 /* : String */; -char* var141 /* : NativeString */; -long var142 /* : Int */; -val* var143 /* : FlatString */; +val* var135 /* : MClassKind */; +val* var137 /* : MClassKind */; +val* var138 /* : Sys */; +val* var139 /* : MClassKind */; +short int var140 /* : Bool */; +short int var142 /* : Bool */; short int var144 /* : Bool */; -short int var146 /* : Bool */; -short int var147 /* : Bool */; -val* var148 /* : MClassType */; -val* var150 /* : MClassType */; -short int var151 /* : Bool */; -short int var_152 /* var : Bool */; -val* var153 /* : String */; -val* var155 /* : String */; -static val* varonce156; -val* var157 /* : String */; -char* var158 /* : NativeString */; -long var159 /* : Int */; -val* var160 /* : FlatString */; -short int var161 /* : Bool */; -short int var163 /* : Bool */; -short int var164 /* : Bool */; -val* var165 /* : MClassType */; -val* var167 /* : MClassType */; -short int var168 /* : Bool */; +short int var_145 /* var : Bool */; +val* var146 /* : String */; +val* var148 /* : String */; +static val* varonce149; +val* var150 /* : String */; +char* var151 /* : NativeString */; +val* var152 /* : FlatString */; +short int var153 /* : Bool */; +short int var155 /* : Bool */; +short int var156 /* : Bool */; +val* var157 /* : MClassType */; +val* var159 /* : MClassType */; +short int var160 /* : Bool */; +short int var_161 /* var : Bool */; +val* var162 /* : String */; +val* var164 /* : String */; +static val* varonce165; +val* var166 /* : String */; +char* var167 /* : NativeString */; +val* var168 /* : FlatString */; short int var169 /* : Bool */; -val* var170 /* : ToolContext */; -val* var172 /* : ToolContext */; -static val* varonce173; -val* var174 /* : String */; -char* var175 /* : NativeString */; -long var176 /* : Int */; -val* var177 /* : FlatString */; -static val* varonce178; -val* var179 /* : String */; -char* var180 /* : NativeString */; -long var181 /* : Int */; -val* var182 /* : FlatString */; -val* var183 /* : String */; -val* var184 /* : Array[Object] */; -long var185 /* : Int */; -val* var186 /* : NativeArray[Object] */; +short int var171 /* : Bool */; +short int var172 /* : Bool */; +val* var173 /* : MClassType */; +val* var175 /* : MClassType */; +short int var176 /* : Bool */; +short int var177 /* : Bool */; +val* var178 /* : ToolContext */; +val* var180 /* : ToolContext */; +val* var182 /* : NativeArray[String] */; +static val* varonce181; +static val* varonce183; +val* var184 /* : String */; +char* var185 /* : NativeString */; +val* var186 /* : FlatString */; val* var187 /* : String */; -long var188 /* : Int */; +static val* varonce188; +val* var189 /* : String */; +char* var190 /* : NativeString */; +val* var191 /* : FlatString */; +val* var192 /* : String */; +val* var193 /* : String */; var_nmodule = p0; var_nclassdef = p1; { @@ -3655,326 +3704,388 @@ var = var2; RET_LABEL1:(void)0; } } -if (unlikely(var == NULL)) { -PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 227); -show_backtrace(1); -} var_mmodule = var; -if (varonce) { -var3 = varonce; +if (var_mmodule == NULL) { +var3 = 1; /* is null */ } else { -var4 = "Object"; -var5 = 6; -var6 = standard___standard__NativeString___to_s_with_length(var4, var5); -var3 = var6; -varonce = var3; +var3 = 0; /* arg is null but recv is not */ +} +if (0) { +{ /* Inline kernel#Object#== (var_mmodule,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +{ /* Inline kernel#Object#is_same_instance (var_mmodule,var_other) on */ +var8 = var_mmodule == var_other; +var6 = var8; +goto RET_LABEL7; +RET_LABEL7:(void)0; +} +} +var4 = var6; +goto RET_LABEL5; +RET_LABEL5:(void)0; +} +var3 = var4; +} +if (var3){ +goto RET_LABEL; +} else { +} +if (likely(varonce!=NULL)) { +var9 = varonce; +} else { +var10 = "Object"; +var11 = standard___standard__NativeString___to_s_with_length(var10, 6l); +var9 = var11; +varonce = var9; } { -var7 = nit___nit__ModelBuilder___try_get_mclass_by_name(self, var_nmodule, var_mmodule, var3); +var12 = nit___nit__ModelBuilder___try_get_mclass_by_name(self, var_nmodule, var_mmodule, var9); } -var_objectclass = var7; -if (varonce8) { -var9 = varonce8; +var_objectclass = var12; +if (likely(varonce13!=NULL)) { +var14 = varonce13; } else { -var10 = "Pointer"; -var11 = 7; -var12 = standard___standard__NativeString___to_s_with_length(var10, var11); -var9 = var12; -varonce8 = var9; +var15 = "Pointer"; +var16 = standard___standard__NativeString___to_s_with_length(var15, 7l); +var14 = var16; +varonce13 = var14; } { -var13 = nit___nit__ModelBuilder___try_get_mclass_by_name(self, var_nmodule, var_mmodule, var9); +var17 = nit___nit__ModelBuilder___try_get_mclass_by_name(self, var_nmodule, var_mmodule, var14); } -var_pointerclass = var13; +var_pointerclass = var17; { { /* Inline modelize_class#AClassdef#mclass (var_nclassdef) on */ -var16 = var_nclassdef->attrs[COLOR_nit__modelize_class__AClassdef___mclass].val; /* _mclass on */ -var14 = var16; -RET_LABEL15:(void)0; +var20 = var_nclassdef->attrs[COLOR_nit__modelize_class__AClassdef___mclass].val; /* _mclass on */ +var18 = var20; +RET_LABEL19:(void)0; } } -if (unlikely(var14 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 230); -show_backtrace(1); +var_mclass = var18; +if (var_mclass == NULL) { +var21 = 1; /* is null */ +} else { +var21 = 0; /* arg is null but recv is not */ +} +if (0) { +{ /* Inline kernel#Object#== (var_mclass,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +{ /* Inline kernel#Object#is_same_instance (var_mclass,var_other) on */ +var26 = var_mclass == var_other; +var24 = var26; +goto RET_LABEL25; +RET_LABEL25:(void)0; +} +} +var22 = var24; +goto RET_LABEL23; +RET_LABEL23:(void)0; +} +var21 = var22; +} +if (var21){ +goto RET_LABEL; +} else { } -var_mclass = var14; { { /* Inline modelize_class#AClassdef#mclassdef (var_nclassdef) on */ -var19 = var_nclassdef->attrs[COLOR_nit__modelize_class__AClassdef___mclassdef].val; /* _mclassdef on */ -var17 = var19; -RET_LABEL18:(void)0; +var29 = var_nclassdef->attrs[COLOR_nit__modelize_class__AClassdef___mclassdef].val; /* _mclassdef on */ +var27 = var29; +RET_LABEL28:(void)0; } } -if (unlikely(var17 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 231); -show_backtrace(1); +var_mclassdef = var27; +if (var_mclassdef == NULL) { +var30 = 1; /* is null */ +} else { +var30 = 0; /* arg is null but recv is not */ +} +if (0) { +{ /* Inline kernel#Object#== (var_mclassdef,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +{ /* Inline kernel#Object#is_same_instance (var_mclassdef,var_other) on */ +var35 = var_mclassdef == var_other; +var33 = var35; +goto RET_LABEL34; +RET_LABEL34:(void)0; } -var_mclassdef = var17; -var20 = 1; -var_specobject = var20; -var21 = 1; -var_specpointer = var21; -var22 = NEW_standard__Array(&type_standard__Array__nit__MClassType); +} +var31 = var33; +goto RET_LABEL32; +RET_LABEL32:(void)0; +} +var30 = var31; +} +if (var30){ +goto RET_LABEL; +} else { +} +var_specobject = 1; +var_specpointer = 1; +var36 = NEW_standard__Array(&type_standard__Array__nit__MClassType); { -standard___standard__Array___standard__kernel__Object__init(var22); /* Direct call array#Array#init on */ +standard___standard__Array___standard__kernel__Object__init(var36); /* Direct call array#Array#init on */ } -var_supertypes = var22; +var_supertypes = var36; /* isa AStdClassdef */ cltype = type_nit__AStdClassdef.color; idtype = type_nit__AStdClassdef.id; if(cltype >= var_nclassdef->type->table_size) { -var23 = 0; +var37 = 0; } else { -var23 = var_nclassdef->type->type_table[cltype] == idtype; +var37 = var_nclassdef->type->type_table[cltype] == idtype; } -if (var23){ +if (var37){ { -{ /* Inline parser_nodes#AStdClassdef#n_superclasses (var_nclassdef) on */ -var26 = var_nclassdef->attrs[COLOR_nit__parser_nodes__AStdClassdef___n_superclasses].val; /* _n_superclasses on */ -if (unlikely(var26 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_superclasses"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1033); -show_backtrace(1); +var38 = nit___nit__AStdClassdef___n_superclasses(var_nclassdef); } -var24 = var26; -RET_LABEL25:(void)0; -} -} -var_ = var24; +var_ = var38; { -var27 = nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_); +var39 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_); } -var_28 = var27; +var_40 = var39; for(;;) { { -var29 = ((short int (*)(val* self))(var_28->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_28) /* is_ok on */; +var41 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_40); } -if (var29){ +if (var41){ { -var30 = ((val* (*)(val* self))(var_28->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_28) /* item on */; +var42 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_40); } -var_nsc = var30; -var31 = 0; -var_specobject = var31; +var_nsc = var42; +var_specobject = 0; { -{ /* Inline parser_nodes#ASuperclass#n_type (var_nsc) on */ -var34 = var_nsc->attrs[COLOR_nit__parser_nodes__ASuperclass___n_type].val; /* _n_type on */ -if (unlikely(var34 == NULL)) { +{ /* Inline parser_nodes#ASuperPropdef#n_type (var_nsc) on */ +var45 = var_nsc->attrs[COLOR_nit__parser_nodes__ASuperPropdef___n_type].val; /* _n_type on */ +if (unlikely(var45 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1121); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1403); +fatal_exit(1); } -var32 = var34; -RET_LABEL33:(void)0; +var43 = var45; +RET_LABEL44:(void)0; } } -var_ntype = var32; -var35 = 0; +var_ntype = var43; { -var36 = nit__modelize_class___ModelBuilder___resolve_mtype_unchecked(self, var_mmodule, var_mclassdef, var_ntype, var35); +var46 = nit___nit__ModelBuilder___resolve_mtype_unchecked(self, var_mmodule, var_mclassdef, var_ntype, 0); } -var_mtype = var36; -var37 = NULL; +var_mtype = var46; if (var_mtype == NULL) { -var38 = 1; /* is null */ +var47 = 1; /* is null */ } else { -var38 = 0; /* arg is null but recv is not */ +var47 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_mtype,var37) on */ -var_other = var37; +{ /* Inline kernel#Object#== (var_mtype,((val*)NULL)) on */ +var_other = ((val*)NULL); { { /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on */ -var43 = var_mtype == var_other; -var41 = var43; -goto RET_LABEL42; -RET_LABEL42:(void)0; +var52 = var_mtype == var_other; +var50 = var52; +goto RET_LABEL51; +RET_LABEL51:(void)0; } } -var39 = var41; -goto RET_LABEL40; -RET_LABEL40:(void)0; +var48 = var50; +goto RET_LABEL49; +RET_LABEL49:(void)0; } -var38 = var39; +var47 = var48; } -if (var38){ +if (var47){ goto BREAK_label; } else { } /* isa MClassType */ -cltype45 = type_nit__MClassType.color; -idtype46 = type_nit__MClassType.id; -if(cltype45 >= var_mtype->type->table_size) { -var44 = 0; +cltype54 = type_nit__MClassType.color; +idtype55 = type_nit__MClassType.id; +if(cltype54 >= var_mtype->type->table_size) { +var53 = 0; } else { -var44 = var_mtype->type->type_table[cltype45] == idtype46; +var53 = var_mtype->type->type_table[cltype54] == idtype55; } -var47 = !var44; -if (var47){ -if (varonce48) { -var49 = varonce48; +var56 = !var53; +if (var56){ +if (likely(varonce57!=NULL)) { +var58 = varonce57; } else { -var50 = "Error: supertypes cannot be a formal type"; -var51 = 41; -var52 = standard___standard__NativeString___to_s_with_length(var50, var51); -var49 = var52; -varonce48 = var49; +var59 = "Error: supertypes cannot be a formal type."; +var60 = standard___standard__NativeString___to_s_with_length(var59, 42l); +var58 = var60; +varonce57 = var58; } { -nit___nit__ModelBuilder___error(self, var_ntype, var49); /* Direct call modelbuilder_base#ModelBuilder#error on */ +nit___nit__ModelBuilder___error(self, var_ntype, var58); /* Direct call modelbuilder_base#ModelBuilder#error on */ } goto RET_LABEL; } else { } { -{ /* Inline model#MClass#kind (var_mclass) on */ -var55 = var_mclass->attrs[COLOR_nit__model__MClass___kind].val; /* _kind on */ -if (unlikely(var55 == NULL)) { +{ /* Inline model#MClass#kind (var_mclass) on */ +var63 = var_mclass->attrs[COLOR_nit__model__MClass___kind].val; /* _kind on */ +if (unlikely(var63 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 399); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 436); +fatal_exit(1); } -var53 = var55; -RET_LABEL54:(void)0; +var61 = var63; +RET_LABEL62:(void)0; } } { { /* Inline model#MClassType#mclass (var_mtype) on */ -var58 = var_mtype->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ -if (unlikely(var58 == NULL)) { +var66 = var_mtype->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ +if (unlikely(var66 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1058); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1138); +fatal_exit(1); } -var56 = var58; -RET_LABEL57:(void)0; +var64 = var66; +RET_LABEL65:(void)0; } } { -{ /* Inline model#MClass#kind (var56) on */ -var61 = var56->attrs[COLOR_nit__model__MClass___kind].val; /* _kind on */ -if (unlikely(var61 == NULL)) { +{ /* Inline model#MClass#kind (var64) on */ +var69 = var64->attrs[COLOR_nit__model__MClass___kind].val; /* _kind on */ +if (unlikely(var69 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 399); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 436); +fatal_exit(1); } -var59 = var61; -RET_LABEL60:(void)0; +var67 = var69; +RET_LABEL68:(void)0; } } { -var62 = nit___nit__MClassKind___can_specialize(var53, var59); +var70 = nit___nit__MClassKind___can_specialize(var61, var67); +} +var71 = !var70; +if (var71){ +if (unlikely(varonce72==NULL)) { +var73 = NEW_standard__NativeArray(9l, &type_standard__NativeArray__standard__String); +if (likely(varonce74!=NULL)) { +var75 = varonce74; +} else { +var76 = "Error: "; +var77 = standard___standard__NativeString___to_s_with_length(var76, 7l); +var75 = var77; +varonce74 = var75; +} +((struct instance_standard__NativeArray*)var73)->values[0]=var75; +if (likely(varonce78!=NULL)) { +var79 = varonce78; +} else { +var80 = " `"; +var81 = standard___standard__NativeString___to_s_with_length(var80, 2l); +var79 = var81; +varonce78 = var79; +} +((struct instance_standard__NativeArray*)var73)->values[2]=var79; +if (likely(varonce82!=NULL)) { +var83 = varonce82; +} else { +var84 = "` cannot specialize "; +var85 = standard___standard__NativeString___to_s_with_length(var84, 20l); +var83 = var85; +varonce82 = var83; +} +((struct instance_standard__NativeArray*)var73)->values[4]=var83; +if (likely(varonce86!=NULL)) { +var87 = varonce86; +} else { +var88 = " `"; +var89 = standard___standard__NativeString___to_s_with_length(var88, 2l); +var87 = var89; +varonce86 = var87; +} +((struct instance_standard__NativeArray*)var73)->values[6]=var87; +if (likely(varonce90!=NULL)) { +var91 = varonce90; +} else { +var92 = "`."; +var93 = standard___standard__NativeString___to_s_with_length(var92, 2l); +var91 = var93; +varonce90 = var91; } -var63 = !var62; -if (var63){ -if (varonce64) { -var65 = varonce64; +((struct instance_standard__NativeArray*)var73)->values[8]=var91; } else { -var66 = "Error: "; -var67 = 7; -var68 = standard___standard__NativeString___to_s_with_length(var66, var67); -var65 = var68; -varonce64 = var65; +var73 = varonce72; +varonce72 = NULL; } { -{ /* Inline model#MClass#kind (var_mclass) on */ -var71 = var_mclass->attrs[COLOR_nit__model__MClass___kind].val; /* _kind on */ -if (unlikely(var71 == NULL)) { +{ /* Inline model#MClass#kind (var_mclass) on */ +var96 = var_mclass->attrs[COLOR_nit__model__MClass___kind].val; /* _kind on */ +if (unlikely(var96 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 399); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 436); +fatal_exit(1); } -var69 = var71; -RET_LABEL70:(void)0; +var94 = var96; +RET_LABEL95:(void)0; } } -if (varonce72) { -var73 = varonce72; -} else { -var74 = " "; -var75 = 1; -var76 = standard___standard__NativeString___to_s_with_length(var74, var75); -var73 = var76; -varonce72 = var73; +{ +var97 = ((val*(*)(val* self))(var94->class->vft[COLOR_standard__string__Object__to_s]))(var94); /* to_s on */ } -if (varonce77) { -var78 = varonce77; -} else { -var79 = " cannot specialize "; -var80 = 19; -var81 = standard___standard__NativeString___to_s_with_length(var79, var80); -var78 = var81; -varonce77 = var78; +((struct instance_standard__NativeArray*)var73)->values[1]=var97; +{ +var98 = ((val*(*)(val* self))(var_mclass->class->vft[COLOR_standard__string__Object__to_s]))(var_mclass); /* to_s on */ } +((struct instance_standard__NativeArray*)var73)->values[3]=var98; { { /* Inline model#MClassType#mclass (var_mtype) on */ -var84 = var_mtype->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ -if (unlikely(var84 == NULL)) { +var101 = var_mtype->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ +if (unlikely(var101 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1058); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1138); +fatal_exit(1); } -var82 = var84; -RET_LABEL83:(void)0; +var99 = var101; +RET_LABEL100:(void)0; } } { -{ /* Inline model#MClass#kind (var82) on */ -var87 = var82->attrs[COLOR_nit__model__MClass___kind].val; /* _kind on */ -if (unlikely(var87 == NULL)) { +{ /* Inline model#MClass#kind (var99) on */ +var104 = var99->attrs[COLOR_nit__model__MClass___kind].val; /* _kind on */ +if (unlikely(var104 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 399); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 436); +fatal_exit(1); } -var85 = var87; -RET_LABEL86:(void)0; +var102 = var104; +RET_LABEL103:(void)0; } } -if (varonce88) { -var89 = varonce88; -} else { -var90 = " "; -var91 = 1; -var92 = standard___standard__NativeString___to_s_with_length(var90, var91); -var89 = var92; -varonce88 = var89; +{ +var105 = ((val*(*)(val* self))(var102->class->vft[COLOR_standard__string__Object__to_s]))(var102); /* to_s on */ } +((struct instance_standard__NativeArray*)var73)->values[5]=var105; { { /* Inline model#MClassType#mclass (var_mtype) on */ -var95 = var_mtype->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ -if (unlikely(var95 == NULL)) { +var108 = var_mtype->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ +if (unlikely(var108 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1058); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1138); +fatal_exit(1); } -var93 = var95; -RET_LABEL94:(void)0; +var106 = var108; +RET_LABEL107:(void)0; } } -var96 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var96 = array_instance Array[Object] */ -var97 = 8; -var98 = NEW_standard__NativeArray(var97, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var98)->values[0] = (val*) var65; -((struct instance_standard__NativeArray*)var98)->values[1] = (val*) var69; -((struct instance_standard__NativeArray*)var98)->values[2] = (val*) var73; -((struct instance_standard__NativeArray*)var98)->values[3] = (val*) var_mclass; -((struct instance_standard__NativeArray*)var98)->values[4] = (val*) var78; -((struct instance_standard__NativeArray*)var98)->values[5] = (val*) var85; -((struct instance_standard__NativeArray*)var98)->values[6] = (val*) var89; -((struct instance_standard__NativeArray*)var98)->values[7] = (val*) var93; { -((void (*)(val* self, val* p0, long p1))(var96->class->vft[COLOR_standard__array__Array__with_native]))(var96, var98, var97) /* with_native on */; -} +var109 = ((val*(*)(val* self))(var106->class->vft[COLOR_standard__string__Object__to_s]))(var106); /* to_s on */ } +((struct instance_standard__NativeArray*)var73)->values[7]=var109; { -var99 = ((val* (*)(val* self))(var96->class->vft[COLOR_standard__string__Object__to_s]))(var96) /* to_s on */; +var110 = ((val*(*)(val* self))(var73->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var73); /* native_to_s on */ } +varonce72 = var73; { -nit___nit__ModelBuilder___error(self, var_ntype, var99); /* Direct call modelbuilder_base#ModelBuilder#error on */ +nit___nit__ModelBuilder___error(self, var_ntype, var110); /* Direct call modelbuilder_base#ModelBuilder#error on */ } } else { } @@ -3983,250 +4094,246 @@ standard___standard__Array___standard__abstract_collection__SimpleCollection__ad } { { /* Inline model#MClassType#mclass (var_mtype) on */ -var102 = var_mtype->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ -if (unlikely(var102 == NULL)) { +var113 = var_mtype->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ +if (unlikely(var113 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1058); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1138); +fatal_exit(1); } -var100 = var102; -RET_LABEL101:(void)0; +var111 = var113; +RET_LABEL112:(void)0; } } { -{ /* Inline model#MClass#kind (var100) on */ -var105 = var100->attrs[COLOR_nit__model__MClass___kind].val; /* _kind on */ -if (unlikely(var105 == NULL)) { +{ /* Inline model#MClass#kind (var111) on */ +var116 = var111->attrs[COLOR_nit__model__MClass___kind].val; /* _kind on */ +if (unlikely(var116 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 399); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 436); +fatal_exit(1); } -var103 = var105; -RET_LABEL104:(void)0; +var114 = var116; +RET_LABEL115:(void)0; } } +var117 = glob_sys; { -var106 = nit__model___standard__Object___extern_kind(self); +var118 = nit__model___standard__Sys___extern_kind(var117); } { -{ /* Inline kernel#Object#== (var103,var106) on */ -var_other = var106; +{ /* Inline kernel#Object#== (var114,var118) on */ +var_other = var118; { -{ /* Inline kernel#Object#is_same_instance (var103,var_other) on */ -var111 = var103 == var_other; -var109 = var111; -goto RET_LABEL110; -RET_LABEL110:(void)0; +{ /* Inline kernel#Object#is_same_instance (var114,var_other) on */ +var123 = var114 == var_other; +var121 = var123; +goto RET_LABEL122; +RET_LABEL122:(void)0; } } -var107 = var109; -goto RET_LABEL108; -RET_LABEL108:(void)0; +var119 = var121; +goto RET_LABEL120; +RET_LABEL120:(void)0; } } -if (var107){ -var112 = 0; -var_specpointer = var112; +if (var119){ +var_specpointer = 0; } else { } BREAK_label: (void)0; { -((void (*)(val* self))(var_28->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_28) /* next on */; +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_40); /* Direct call array#ArrayIterator#next on */ } } else { -goto BREAK_label113; +goto BREAK_label124; } } -BREAK_label113: (void)0; +BREAK_label124: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_28) on */ -RET_LABEL114:(void)0; -} +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_40); /* Direct call array#ArrayIterator#finish on */ } } else { } { -var116 = nit___nit__MClassDef___is_intro(var_mclassdef); +var126 = nit___nit__MClassDef___is_intro(var_mclassdef); } -var_117 = var116; -if (var116){ -var118 = NULL; +var_127 = var126; +if (var126){ if (var_objectclass == NULL) { -var119 = 0; /* is null */ +var128 = 0; /* is null */ } else { -var119 = 1; /* arg is null and recv is not */ +var128 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_objectclass,var118) on */ -var_other122 = var118; +{ /* Inline kernel#Object#!= (var_objectclass,((val*)NULL)) on */ +var_other131 = ((val*)NULL); { -var123 = ((short int (*)(val* self, val* p0))(var_objectclass->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_objectclass, var_other122) /* == on */; +var132 = ((short int(*)(val* self, val* p0))(var_objectclass->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_objectclass, var_other131); /* == on */ } -var124 = !var123; -var120 = var124; -goto RET_LABEL121; -RET_LABEL121:(void)0; +var133 = !var132; +var129 = var133; +goto RET_LABEL130; +RET_LABEL130:(void)0; } -var119 = var120; +var128 = var129; } -var115 = var119; +var125 = var128; } else { -var115 = var_117; +var125 = var_127; } -if (var115){ +if (var125){ { -{ /* Inline model#MClass#kind (var_mclass) on */ -var128 = var_mclass->attrs[COLOR_nit__model__MClass___kind].val; /* _kind on */ -if (unlikely(var128 == NULL)) { +{ /* Inline model#MClass#kind (var_mclass) on */ +var137 = var_mclass->attrs[COLOR_nit__model__MClass___kind].val; /* _kind on */ +if (unlikely(var137 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 399); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 436); +fatal_exit(1); } -var126 = var128; -RET_LABEL127:(void)0; +var135 = var137; +RET_LABEL136:(void)0; } } +var138 = glob_sys; { -var129 = nit__model___standard__Object___extern_kind(self); +var139 = nit__model___standard__Sys___extern_kind(var138); } { -{ /* Inline kernel#Object#== (var126,var129) on */ -var_other = var129; +{ /* Inline kernel#Object#== (var135,var139) on */ +var_other = var139; { -{ /* Inline kernel#Object#is_same_instance (var126,var_other) on */ -var134 = var126 == var_other; -var132 = var134; -goto RET_LABEL133; -RET_LABEL133:(void)0; +{ /* Inline kernel#Object#is_same_instance (var135,var_other) on */ +var144 = var135 == var_other; +var142 = var144; +goto RET_LABEL143; +RET_LABEL143:(void)0; } } -var130 = var132; -goto RET_LABEL131; -RET_LABEL131:(void)0; +var140 = var142; +goto RET_LABEL141; +RET_LABEL141:(void)0; } } -var_135 = var130; -if (var130){ +var_145 = var140; +if (var140){ { -{ /* Inline model#MClass#name (var_mclass) on */ -var138 = var_mclass->attrs[COLOR_nit__model__MClass___name].val; /* _name on */ -if (unlikely(var138 == NULL)) { +{ /* Inline model#MClass#name (var_mclass) on */ +var148 = var_mclass->attrs[COLOR_nit__model__MClass___name].val; /* _name on */ +if (unlikely(var148 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 348); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 362); +fatal_exit(1); } -var136 = var138; -RET_LABEL137:(void)0; +var146 = var148; +RET_LABEL147:(void)0; } } -if (varonce139) { -var140 = varonce139; +if (likely(varonce149!=NULL)) { +var150 = varonce149; } else { -var141 = "Pointer"; -var142 = 7; -var143 = standard___standard__NativeString___to_s_with_length(var141, var142); -var140 = var143; -varonce139 = var140; +var151 = "Pointer"; +var152 = standard___standard__NativeString___to_s_with_length(var151, 7l); +var150 = var152; +varonce149 = var150; } { -{ /* Inline kernel#Object#!= (var136,var140) on */ -var_other122 = var140; +{ /* Inline kernel#Object#!= (var146,var150) on */ +var_other131 = var150; { -var146 = ((short int (*)(val* self, val* p0))(var136->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var136, var_other122) /* == on */; +var155 = ((short int(*)(val* self, val* p0))(var146->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var146, var_other131); /* == on */ } -var147 = !var146; -var144 = var147; -goto RET_LABEL145; -RET_LABEL145:(void)0; +var156 = !var155; +var153 = var156; +goto RET_LABEL154; +RET_LABEL154:(void)0; } } -var125 = var144; +var134 = var153; } else { -var125 = var_135; +var134 = var_145; } -if (var125){ +if (var134){ if (var_specpointer){ if (var_pointerclass == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 263); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 269); +fatal_exit(1); } else { { /* Inline model#MClass#mclass_type (var_pointerclass) on */ if (unlikely(var_pointerclass == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 438); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 484); +fatal_exit(1); } -var150 = var_pointerclass->attrs[COLOR_nit__model__MClass___mclass_type].val; /* _mclass_type on */ -if (unlikely(var150 == NULL)) { +var159 = var_pointerclass->attrs[COLOR_nit__model__MClass___mclass_type].val; /* _mclass_type on */ +if (unlikely(var159 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 438); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 484); +fatal_exit(1); } -var148 = var150; -RET_LABEL149:(void)0; +var157 = var159; +RET_LABEL158:(void)0; } } { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_supertypes, var148); /* Direct call array#Array#add on */ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_supertypes, var157); /* Direct call array#Array#add on */ } } else { } } else { -var_152 = var_specobject; +var_161 = var_specobject; if (var_specobject){ { -{ /* Inline model#MClass#name (var_mclass) on */ -var155 = var_mclass->attrs[COLOR_nit__model__MClass___name].val; /* _name on */ -if (unlikely(var155 == NULL)) { +{ /* Inline model#MClass#name (var_mclass) on */ +var164 = var_mclass->attrs[COLOR_nit__model__MClass___name].val; /* _name on */ +if (unlikely(var164 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 348); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 362); +fatal_exit(1); } -var153 = var155; -RET_LABEL154:(void)0; +var162 = var164; +RET_LABEL163:(void)0; } } -if (varonce156) { -var157 = varonce156; +if (likely(varonce165!=NULL)) { +var166 = varonce165; } else { -var158 = "Object"; -var159 = 6; -var160 = standard___standard__NativeString___to_s_with_length(var158, var159); -var157 = var160; -varonce156 = var157; +var167 = "Object"; +var168 = standard___standard__NativeString___to_s_with_length(var167, 6l); +var166 = var168; +varonce165 = var166; } { -{ /* Inline kernel#Object#!= (var153,var157) on */ -var_other122 = var157; +{ /* Inline kernel#Object#!= (var162,var166) on */ +var_other131 = var166; { -var163 = ((short int (*)(val* self, val* p0))(var153->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var153, var_other122) /* == on */; +var171 = ((short int(*)(val* self, val* p0))(var162->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var162, var_other131); /* == on */ } -var164 = !var163; -var161 = var164; -goto RET_LABEL162; -RET_LABEL162:(void)0; +var172 = !var171; +var169 = var172; +goto RET_LABEL170; +RET_LABEL170:(void)0; } } -var151 = var161; +var160 = var169; } else { -var151 = var_152; +var160 = var_161; } -if (var151){ +if (var160){ { { /* Inline model#MClass#mclass_type (var_objectclass) on */ -var167 = var_objectclass->attrs[COLOR_nit__model__MClass___mclass_type].val; /* _mclass_type on */ -if (unlikely(var167 == NULL)) { +var175 = var_objectclass->attrs[COLOR_nit__model__MClass___mclass_type].val; /* _mclass_type on */ +if (unlikely(var175 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 438); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 484); +fatal_exit(1); } -var165 = var167; -RET_LABEL166:(void)0; +var173 = var175; +RET_LABEL174:(void)0; } } { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_supertypes, var165); /* Direct call array#Array#add on */ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_supertypes, var173); /* Direct call array#Array#add on */ } } else { } @@ -4234,63 +4341,62 @@ standard___standard__Array___standard__abstract_collection__SimpleCollection__ad } else { } { -nit___nit__MClassDef___set_supertypes(var_mclassdef, var_supertypes); /* Direct call model#MClassDef#set_supertypes on */ +nit___nit__MClassDef___set_supertypes(var_mclassdef, var_supertypes); /* Direct call model#MClassDef#set_supertypes on */ } { -var168 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var_supertypes); +var176 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var_supertypes); } -var169 = !var168; -if (var169){ +var177 = !var176; +if (var177){ { { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on */ -var172 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ -if (unlikely(var172 == NULL)) { +var180 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ +if (unlikely(var180 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47); -show_backtrace(1); +fatal_exit(1); } -var170 = var172; -RET_LABEL171:(void)0; +var178 = var180; +RET_LABEL179:(void)0; } } -if (varonce173) { -var174 = varonce173; +if (unlikely(varonce181==NULL)) { +var182 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce183!=NULL)) { +var184 = varonce183; } else { -var175 = " new super-types: "; -var176 = 18; -var177 = standard___standard__NativeString___to_s_with_length(var175, var176); -var174 = var177; -varonce173 = var174; +var185 = " new super-types: "; +var186 = standard___standard__NativeString___to_s_with_length(var185, 18l); +var184 = var186; +varonce183 = var184; } -if (varonce178) { -var179 = varonce178; +((struct instance_standard__NativeArray*)var182)->values[1]=var184; } else { -var180 = ", "; -var181 = 2; -var182 = standard___standard__NativeString___to_s_with_length(var180, var181); -var179 = var182; -varonce178 = var179; +var182 = varonce181; +varonce181 = NULL; } { -var183 = standard__string___Collection___join(var_supertypes, var179); +var187 = ((val*(*)(val* self))(var_mclassdef->class->vft[COLOR_standard__string__Object__to_s]))(var_mclassdef); /* to_s on */ } -var184 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var184 = array_instance Array[Object] */ -var185 = 3; -var186 = NEW_standard__NativeArray(var185, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var186)->values[0] = (val*) var_mclassdef; -((struct instance_standard__NativeArray*)var186)->values[1] = (val*) var174; -((struct instance_standard__NativeArray*)var186)->values[2] = (val*) var183; -{ -((void (*)(val* self, val* p0, long p1))(var184->class->vft[COLOR_standard__array__Array__with_native]))(var184, var186, var185) /* with_native on */; +((struct instance_standard__NativeArray*)var182)->values[0]=var187; +if (likely(varonce188!=NULL)) { +var189 = varonce188; +} else { +var190 = ", "; +var191 = standard___standard__NativeString___to_s_with_length(var190, 2l); +var189 = var191; +varonce188 = var189; } +{ +var192 = standard__string___Collection___join(var_supertypes, var189); } +((struct instance_standard__NativeArray*)var182)->values[2]=var192; { -var187 = ((val* (*)(val* self))(var184->class->vft[COLOR_standard__string__Object__to_s]))(var184) /* to_s on */; +var193 = ((val*(*)(val* self))(var182->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var182); /* native_to_s on */ } -var188 = 3; +varonce181 = var182; { -nit___nit__ToolContext___info(var170, var187, var188); /* Direct call toolcontext#ToolContext#info on */ +nit___nit__ToolContext___info(var178, var193, 3l); /* Direct call toolcontext#ToolContext#info on */ } } else { } @@ -4302,40 +4408,56 @@ val* var_nmodule /* var nmodule: AModule */; val* var_nclassdef /* var nclassdef: AClassdef */; val* var /* : nullable MModule */; val* var2 /* : nullable MModule */; -val* var_mmodule /* var mmodule: MModule */; -val* var3 /* : nullable MClass */; -val* var5 /* : nullable MClass */; -val* var_mclass /* var mclass: MClass */; -val* var6 /* : nullable MClassDef */; -val* var8 /* : nullable MClassDef */; -val* var_mclassdef /* var mclassdef: MClassDef */; -val* var9 /* : Array[MClassType] */; -val* var11 /* : Array[MClassType] */; +val* var_mmodule /* var mmodule: nullable MModule */; +short int var3 /* : Bool */; +short int var4 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var6 /* : Bool */; +short int var8 /* : Bool */; +val* var9 /* : nullable MClass */; +val* var11 /* : nullable MClass */; +val* var_mclass /* var mclass: nullable MClass */; +short int var12 /* : Bool */; +short int var13 /* : Bool */; +short int var15 /* : Bool */; +short int var17 /* : Bool */; +val* var18 /* : nullable MClassDef */; +val* var20 /* : nullable MClassDef */; +val* var_mclassdef /* var mclassdef: nullable MClassDef */; +short int var21 /* : Bool */; +short int var22 /* : Bool */; +short int var24 /* : Bool */; +short int var26 /* : Bool */; +val* var27 /* : Array[MClassType] */; +val* var29 /* : Array[MClassType] */; val* var_ /* var : Array[MClassType] */; -val* var12 /* : ArrayIterator[nullable Object] */; -val* var_13 /* var : ArrayIterator[MClassType] */; -short int var14 /* : Bool */; -val* var15 /* : nullable Object */; +val* var30 /* : ArrayIterator[nullable Object] */; +val* var_31 /* var : ArrayIterator[MClassType] */; +short int var32 /* : Bool */; +val* var33 /* : nullable Object */; val* var_s /* var s: MClassType */; -val* var16 /* : MClassType */; -val* var18 /* : MClassType */; -val* var19 /* : MClassType */; -val* var21 /* : MClassType */; -short int var22 /* : Bool */; +val* var34 /* : MClassType */; +val* var36 /* : MClassType */; +val* var37 /* : MClassType */; +val* var39 /* : MClassType */; +short int var40 /* : Bool */; +val* var41 /* : NativeArray[String] */; static val* varonce; -val* var23 /* : String */; -char* var24 /* : NativeString */; -long var25 /* : Int */; -val* var26 /* : FlatString */; -static val* varonce27; -val* var28 /* : String */; -char* var29 /* : NativeString */; -long var30 /* : Int */; -val* var31 /* : FlatString */; -val* var32 /* : Array[Object] */; -long var33 /* : Int */; -val* var34 /* : NativeArray[Object] */; -val* var35 /* : String */; +static val* varonce42; +val* var43 /* : String */; +char* var44 /* : NativeString */; +val* var45 /* : FlatString */; +static val* varonce46; +val* var47 /* : String */; +char* var48 /* : NativeString */; +val* var49 /* : FlatString */; +static val* varonce50; +val* var51 /* : String */; +char* var52 /* : NativeString */; +val* var53 /* : FlatString */; +val* var54 /* : String */; +val* var55 /* : String */; +val* var56 /* : String */; var_nmodule = p0; var_nclassdef = p1; { @@ -4345,132 +4467,207 @@ var = var2; RET_LABEL1:(void)0; } } -if (unlikely(var == NULL)) { -PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 277); -show_backtrace(1); -} var_mmodule = var; +if (var_mmodule == NULL) { +var3 = 1; /* is null */ +} else { +var3 = 0; /* arg is null but recv is not */ +} +if (0) { +{ /* Inline kernel#Object#== (var_mmodule,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +{ /* Inline kernel#Object#is_same_instance (var_mmodule,var_other) on */ +var8 = var_mmodule == var_other; +var6 = var8; +goto RET_LABEL7; +RET_LABEL7:(void)0; +} +} +var4 = var6; +goto RET_LABEL5; +RET_LABEL5:(void)0; +} +var3 = var4; +} +if (var3){ +goto RET_LABEL; +} else { +} { { /* Inline modelize_class#AClassdef#mclass (var_nclassdef) on */ -var5 = var_nclassdef->attrs[COLOR_nit__modelize_class__AClassdef___mclass].val; /* _mclass on */ -var3 = var5; -RET_LABEL4:(void)0; +var11 = var_nclassdef->attrs[COLOR_nit__modelize_class__AClassdef___mclass].val; /* _mclass on */ +var9 = var11; +RET_LABEL10:(void)0; } } -if (unlikely(var3 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 278); -show_backtrace(1); +var_mclass = var9; +if (var_mclass == NULL) { +var12 = 1; /* is null */ +} else { +var12 = 0; /* arg is null but recv is not */ +} +if (0) { +{ /* Inline kernel#Object#== (var_mclass,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +{ /* Inline kernel#Object#is_same_instance (var_mclass,var_other) on */ +var17 = var_mclass == var_other; +var15 = var17; +goto RET_LABEL16; +RET_LABEL16:(void)0; +} +} +var13 = var15; +goto RET_LABEL14; +RET_LABEL14:(void)0; +} +var12 = var13; +} +if (var12){ +goto RET_LABEL; +} else { } -var_mclass = var3; { { /* Inline modelize_class#AClassdef#mclassdef (var_nclassdef) on */ -var8 = var_nclassdef->attrs[COLOR_nit__modelize_class__AClassdef___mclassdef].val; /* _mclassdef on */ -var6 = var8; -RET_LABEL7:(void)0; +var20 = var_nclassdef->attrs[COLOR_nit__modelize_class__AClassdef___mclassdef].val; /* _mclassdef on */ +var18 = var20; +RET_LABEL19:(void)0; } } -if (unlikely(var6 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 279); -show_backtrace(1); +var_mclassdef = var18; +if (var_mclassdef == NULL) { +var21 = 1; /* is null */ +} else { +var21 = 0; /* arg is null but recv is not */ } -var_mclassdef = var6; +if (0) { +{ /* Inline kernel#Object#== (var_mclassdef,((val*)NULL)) on */ +var_other = ((val*)NULL); { -{ /* Inline model#MClassDef#supertypes (var_mclassdef) on */ -var11 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___supertypes].val; /* _supertypes on */ -if (unlikely(var11 == NULL)) { +{ /* Inline kernel#Object#is_same_instance (var_mclassdef,var_other) on */ +var26 = var_mclassdef == var_other; +var24 = var26; +goto RET_LABEL25; +RET_LABEL25:(void)0; +} +} +var22 = var24; +goto RET_LABEL23; +RET_LABEL23:(void)0; +} +var21 = var22; +} +if (var21){ +goto RET_LABEL; +} else { +} +{ +{ /* Inline model#MClassDef#supertypes (var_mclassdef) on */ +var29 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___supertypes].val; /* _supertypes on */ +if (unlikely(var29 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _supertypes"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 566); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 627); +fatal_exit(1); } -var9 = var11; -RET_LABEL10:(void)0; +var27 = var29; +RET_LABEL28:(void)0; } } -var_ = var9; +var_ = var27; { -var12 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_); +var30 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_); } -var_13 = var12; +var_31 = var30; for(;;) { { -var14 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_13); +var32 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_31); } -if (var14){ +if (var32){ { -var15 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_13); +var33 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_31); } -var_s = var15; +var_s = var33; { -{ /* Inline model#MClassDef#bound_mtype (var_mclassdef) on */ -var18 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ -if (unlikely(var18 == NULL)) { +{ /* Inline model#MClassDef#bound_mtype (var_mclassdef) on */ +var36 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ +if (unlikely(var36 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 495); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 556); +fatal_exit(1); } -var16 = var18; -RET_LABEL17:(void)0; +var34 = var36; +RET_LABEL35:(void)0; } } { -{ /* Inline model#MClassDef#bound_mtype (var_mclassdef) on */ -var21 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ -if (unlikely(var21 == NULL)) { +{ /* Inline model#MClassDef#bound_mtype (var_mclassdef) on */ +var39 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ +if (unlikely(var39 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 495); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 556); +fatal_exit(1); } -var19 = var21; -RET_LABEL20:(void)0; +var37 = var39; +RET_LABEL38:(void)0; } } { -var22 = nit___nit__MType___is_subtype(var_s, var_mmodule, var16, var19); +var40 = nit___nit__MType___is_subtype(var_s, var_mmodule, var34, var37); +} +if (var40){ +if (unlikely(varonce==NULL)) { +var41 = NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String); +if (likely(varonce42!=NULL)) { +var43 = varonce42; +} else { +var44 = "Error: inheritance loop for class `"; +var45 = standard___standard__NativeString___to_s_with_length(var44, 35l); +var43 = var45; +varonce42 = var43; +} +((struct instance_standard__NativeArray*)var41)->values[0]=var43; +if (likely(varonce46!=NULL)) { +var47 = varonce46; +} else { +var48 = "` with type `"; +var49 = standard___standard__NativeString___to_s_with_length(var48, 13l); +var47 = var49; +varonce46 = var47; } -if (var22){ -if (varonce) { -var23 = varonce; +((struct instance_standard__NativeArray*)var41)->values[2]=var47; +if (likely(varonce50!=NULL)) { +var51 = varonce50; } else { -var24 = "Error: Inheritance loop for class "; -var25 = 34; -var26 = standard___standard__NativeString___to_s_with_length(var24, var25); -var23 = var26; -varonce = var23; +var52 = "`."; +var53 = standard___standard__NativeString___to_s_with_length(var52, 2l); +var51 = var53; +varonce50 = var51; } -if (varonce27) { -var28 = varonce27; +((struct instance_standard__NativeArray*)var41)->values[4]=var51; } else { -var29 = " with type "; -var30 = 11; -var31 = standard___standard__NativeString___to_s_with_length(var29, var30); -var28 = var31; -varonce27 = var28; +var41 = varonce; +varonce = NULL; } -var32 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var32 = array_instance Array[Object] */ -var33 = 4; -var34 = NEW_standard__NativeArray(var33, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var34)->values[0] = (val*) var23; -((struct instance_standard__NativeArray*)var34)->values[1] = (val*) var_mclass; -((struct instance_standard__NativeArray*)var34)->values[2] = (val*) var28; -((struct instance_standard__NativeArray*)var34)->values[3] = (val*) var_s; { -((void (*)(val* self, val* p0, long p1))(var32->class->vft[COLOR_standard__array__Array__with_native]))(var32, var34, var33) /* with_native on */; +var54 = ((val*(*)(val* self))(var_mclass->class->vft[COLOR_standard__string__Object__to_s]))(var_mclass); /* to_s on */ } +((struct instance_standard__NativeArray*)var41)->values[1]=var54; +{ +var55 = ((val*(*)(val* self))(var_s->class->vft[COLOR_standard__string__Object__to_s]))(var_s); /* to_s on */ } +((struct instance_standard__NativeArray*)var41)->values[3]=var55; { -var35 = ((val* (*)(val* self))(var32->class->vft[COLOR_standard__string__Object__to_s]))(var32) /* to_s on */; +var56 = ((val*(*)(val* self))(var41->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var41); /* native_to_s on */ } +varonce = var41; { -nit___nit__ModelBuilder___error(self, var_nclassdef, var35); /* Direct call modelbuilder_base#ModelBuilder#error on */ +nit___nit__ModelBuilder___error(self, var_nclassdef, var56); /* Direct call modelbuilder_base#ModelBuilder#error on */ } } else { } { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_13); /* Direct call array#ArrayIterator#next on */ +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_31); /* Direct call array#ArrayIterator#next on */ } } else { goto BREAK_label; @@ -4478,9 +4675,7 @@ goto BREAK_label; } BREAK_label: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_13) on */ -RET_LABEL36:(void)0; -} +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_31); /* Direct call array#ArrayIterator#finish on */ } RET_LABEL:; } @@ -4494,424 +4689,449 @@ long var5 /* : Int */; long var_errcount /* var errcount: Int */; short int var6 /* : Bool */; short int var8 /* : Bool */; -short int var9 /* : Bool */; -val* var11 /* : nullable MModule */; -val* var13 /* : nullable MModule */; -val* var_mmodule /* var mmodule: MModule */; -val* var14 /* : POSetElement[MModule] */; -val* var16 /* : POSetElement[MModule] */; -val* var17 /* : Collection[nullable Object] */; +val* var10 /* : nullable MModule */; +val* var12 /* : nullable MModule */; +val* var_mmodule /* var mmodule: nullable MModule */; +short int var13 /* : Bool */; +short int var14 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var16 /* : Bool */; +short int var18 /* : Bool */; +val* var19 /* : POSetElement[MModule] */; +val* var21 /* : POSetElement[MModule] */; +val* var22 /* : Collection[nullable Object] */; val* var_ /* var : Collection[MModule] */; -val* var18 /* : Iterator[nullable Object] */; -val* var_19 /* var : Iterator[MModule] */; -short int var20 /* : Bool */; -val* var21 /* : nullable Object */; +val* var23 /* : Iterator[nullable Object] */; +val* var_24 /* var : Iterator[MModule] */; +short int var25 /* : Bool */; +val* var26 /* : nullable Object */; val* var_imp /* var imp: MModule */; -val* var22 /* : nullable AModule */; +val* var27 /* : nullable AModule */; val* var_nimp /* var nimp: nullable AModule */; -val* var23 /* : null */; -short int var24 /* : Bool */; -short int var25 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var27 /* : Bool */; short int var28 /* : Bool */; -val* var30 /* : ToolContext */; -val* var32 /* : ToolContext */; -long var33 /* : Int */; -long var35 /* : Int */; -short int var36 /* : Bool */; -short int var38 /* : Bool */; -short int var39 /* : Bool */; -val* var40 /* : ANodes[AClassdef] */; -val* var42 /* : ANodes[AClassdef] */; -val* var_43 /* var : ANodes[AClassdef] */; -val* var44 /* : Iterator[ANode] */; -val* var_45 /* var : Iterator[AClassdef] */; -short int var46 /* : Bool */; -val* var47 /* : nullable Object */; +short int var29 /* : Bool */; +val* var_other31 /* var other: nullable Object */; +short int var32 /* : Bool */; +short int var33 /* : Bool */; +val* var34 /* : ToolContext */; +val* var36 /* : ToolContext */; +long var37 /* : Int */; +long var39 /* : Int */; +short int var40 /* : Bool */; +short int var42 /* : Bool */; +short int var43 /* : Bool */; +val* var44 /* : ANodes[AClassdef] */; +val* var46 /* : ANodes[AClassdef] */; +val* var_47 /* var : ANodes[AClassdef] */; +val* var48 /* : Iterator[ANode] */; +val* var_49 /* var : Iterator[AClassdef] */; +short int var50 /* : Bool */; +val* var51 /* : nullable Object */; val* var_nclassdef /* var nclassdef: AClassdef */; -val* var50 /* : ToolContext */; -val* var52 /* : ToolContext */; -long var53 /* : Int */; -long var55 /* : Int */; -short int var56 /* : Bool */; -short int var58 /* : Bool */; -short int var59 /* : Bool */; -val* var60 /* : ANodes[AClassdef] */; -val* var62 /* : ANodes[AClassdef] */; -val* var_63 /* var : ANodes[AClassdef] */; -val* var64 /* : Iterator[ANode] */; -val* var_65 /* var : Iterator[AClassdef] */; -short int var66 /* : Bool */; -val* var67 /* : nullable Object */; -val* var_nclassdef68 /* var nclassdef: AClassdef */; -val* var71 /* : ToolContext */; -val* var73 /* : ToolContext */; -long var74 /* : Int */; -long var76 /* : Int */; -short int var77 /* : Bool */; +short int var52 /* : Bool */; +int cltype; +int idtype; +short int var53 /* : Bool */; +val* var56 /* : ANodes[AClassdef] */; +val* var58 /* : ANodes[AClassdef] */; +val* var_59 /* var : ANodes[AClassdef] */; +val* var60 /* : Iterator[ANode] */; +val* var_61 /* var : Iterator[AClassdef] */; +short int var62 /* : Bool */; +val* var63 /* : nullable Object */; +val* var_nclassdef64 /* var nclassdef: AClassdef */; +short int var65 /* : Bool */; +int cltype66; +int idtype67; +val* var70 /* : ToolContext */; +val* var72 /* : ToolContext */; +long var73 /* : Int */; +long var75 /* : Int */; +short int var76 /* : Bool */; +short int var78 /* : Bool */; short int var79 /* : Bool */; -short int var80 /* : Bool */; -val* var81 /* : ANodes[AClassdef] */; -val* var83 /* : ANodes[AClassdef] */; -val* var_84 /* var : ANodes[AClassdef] */; -val* var85 /* : Iterator[ANode] */; -val* var_86 /* var : Iterator[AClassdef] */; -short int var87 /* : Bool */; -val* var88 /* : nullable Object */; -val* var_nclassdef89 /* var nclassdef: AClassdef */; -val* var92 /* : ToolContext */; -val* var94 /* : ToolContext */; -long var95 /* : Int */; -long var97 /* : Int */; -short int var98 /* : Bool */; -short int var100 /* : Bool */; +val* var80 /* : ANodes[AClassdef] */; +val* var82 /* : ANodes[AClassdef] */; +val* var_83 /* var : ANodes[AClassdef] */; +val* var84 /* : Iterator[ANode] */; +val* var_85 /* var : Iterator[AClassdef] */; +short int var86 /* : Bool */; +val* var87 /* : nullable Object */; +val* var_nclassdef88 /* var nclassdef: AClassdef */; +short int var89 /* : Bool */; +int cltype90; +int idtype91; +short int var92 /* : Bool */; +val* var95 /* : ANodes[AClassdef] */; +val* var97 /* : ANodes[AClassdef] */; +val* var_98 /* var : ANodes[AClassdef] */; +val* var99 /* : Iterator[ANode] */; +val* var_100 /* var : Iterator[AClassdef] */; short int var101 /* : Bool */; -val* var102 /* : Array[MClassDef] */; -val* var104 /* : Array[MClassDef] */; -val* var_105 /* var : Array[MClassDef] */; -val* var106 /* : ArrayIterator[nullable Object] */; -val* var_107 /* var : ArrayIterator[MClassDef] */; -short int var108 /* : Bool */; -val* var109 /* : nullable Object */; -val* var_mclassdef /* var mclassdef: MClassDef */; -val* var112 /* : ToolContext */; -val* var114 /* : ToolContext */; -long var115 /* : Int */; -long var117 /* : Int */; +val* var102 /* : nullable Object */; +val* var_nclassdef103 /* var nclassdef: AClassdef */; +short int var104 /* : Bool */; +int cltype105; +int idtype106; +val* var109 /* : ToolContext */; +val* var111 /* : ToolContext */; +long var112 /* : Int */; +long var114 /* : Int */; +short int var115 /* : Bool */; +short int var117 /* : Bool */; short int var118 /* : Bool */; -short int var120 /* : Bool */; -short int var121 /* : Bool */; -val* var122 /* : ANodes[AClassdef] */; -val* var124 /* : ANodes[AClassdef] */; -val* var_125 /* var : ANodes[AClassdef] */; -val* var126 /* : Iterator[ANode] */; -val* var_127 /* var : Iterator[AClassdef] */; -short int var128 /* : Bool */; -val* var129 /* : nullable Object */; -val* var_nclassdef130 /* var nclassdef: AClassdef */; -val* var133 /* : ToolContext */; -val* var135 /* : ToolContext */; -long var136 /* : Int */; -long var138 /* : Int */; -short int var139 /* : Bool */; -short int var141 /* : Bool */; -short int var142 /* : Bool */; -val* var143 /* : ANodes[AClassdef] */; -val* var145 /* : ANodes[AClassdef] */; -val* var_146 /* var : ANodes[AClassdef] */; -val* var147 /* : Iterator[ANode] */; -val* var_148 /* var : Iterator[AClassdef] */; -short int var149 /* : Bool */; -val* var150 /* : nullable Object */; -val* var_nclassdef151 /* var nclassdef: AClassdef */; -short int var152 /* : Bool */; -int cltype; -int idtype; -val* var153 /* : nullable MClassDef */; -val* var155 /* : nullable MClassDef */; -val* var_mclassdef156 /* var mclassdef: nullable MClassDef */; -val* var157 /* : ANodes[AFormaldef] */; -val* var159 /* : ANodes[AFormaldef] */; -val* var_160 /* var : ANodes[AFormaldef] */; -val* var161 /* : Iterator[ANode] */; -val* var_162 /* var : Iterator[AFormaldef] */; -short int var163 /* : Bool */; -val* var164 /* : nullable Object */; -val* var_nfd /* var nfd: AFormaldef */; -val* var165 /* : nullable AType */; -val* var167 /* : nullable AType */; -val* var_nfdt /* var nfdt: nullable AType */; -short int var168 /* : Bool */; -val* var169 /* : null */; -short int var170 /* : Bool */; -short int var171 /* : Bool */; -short int var173 /* : Bool */; +val* var119 /* : ANodes[AClassdef] */; +val* var121 /* : ANodes[AClassdef] */; +val* var_122 /* var : ANodes[AClassdef] */; +val* var123 /* : Iterator[ANode] */; +val* var_124 /* var : Iterator[AClassdef] */; +short int var125 /* : Bool */; +val* var126 /* : nullable Object */; +val* var_nclassdef127 /* var nclassdef: AClassdef */; +val* var129 /* : ToolContext */; +val* var131 /* : ToolContext */; +long var132 /* : Int */; +long var134 /* : Int */; +short int var135 /* : Bool */; +short int var137 /* : Bool */; +short int var138 /* : Bool */; +val* var139 /* : Array[MClassDef] */; +val* var141 /* : Array[MClassDef] */; +val* var_142 /* var : Array[MClassDef] */; +val* var143 /* : ArrayIterator[nullable Object] */; +val* var_144 /* var : ArrayIterator[MClassDef] */; +short int var145 /* : Bool */; +val* var146 /* : nullable Object */; +val* var_mclassdef /* var mclassdef: MClassDef */; +val* var148 /* : ToolContext */; +val* var150 /* : ToolContext */; +long var151 /* : Int */; +long var153 /* : Int */; +short int var154 /* : Bool */; +short int var156 /* : Bool */; +short int var157 /* : Bool */; +val* var158 /* : ANodes[AClassdef] */; +val* var160 /* : ANodes[AClassdef] */; +val* var_161 /* var : ANodes[AClassdef] */; +val* var162 /* : Iterator[ANode] */; +val* var_163 /* var : Iterator[AClassdef] */; +short int var164 /* : Bool */; +val* var165 /* : nullable Object */; +val* var_nclassdef166 /* var nclassdef: AClassdef */; +val* var168 /* : ToolContext */; +val* var170 /* : ToolContext */; +long var171 /* : Int */; +long var173 /* : Int */; short int var174 /* : Bool */; -short int var_175 /* var : Bool */; -val* var176 /* : nullable MType */; -val* var178 /* : nullable MType */; -val* var179 /* : null */; -short int var180 /* : Bool */; -short int var181 /* : Bool */; -short int var183 /* : Bool */; +short int var176 /* : Bool */; +short int var177 /* : Bool */; +val* var178 /* : ANodes[AClassdef] */; +val* var180 /* : ANodes[AClassdef] */; +val* var_181 /* var : ANodes[AClassdef] */; +val* var182 /* : Iterator[ANode] */; +val* var_183 /* var : Iterator[AClassdef] */; short int var184 /* : Bool */; -val* var185 /* : nullable MType */; -val* var_bound /* var bound: nullable MType */; -val* var186 /* : null */; +val* var185 /* : nullable Object */; +val* var_nclassdef186 /* var nclassdef: AClassdef */; short int var187 /* : Bool */; -short int var188 /* : Bool */; -val* var_other190 /* var other: nullable Object */; -short int var191 /* : Bool */; -short int var193 /* : Bool */; -val* var196 /* : ANodes[ASuperclass] */; -val* var198 /* : ANodes[ASuperclass] */; -val* var_199 /* var : ANodes[ASuperclass] */; -val* var200 /* : Iterator[ANode] */; -val* var_201 /* var : Iterator[ASuperclass] */; -short int var202 /* : Bool */; -val* var203 /* : nullable Object */; -val* var_nsc /* var nsc: ASuperclass */; -val* var204 /* : AType */; -val* var206 /* : AType */; -val* var_ntype /* var ntype: AType */; -val* var207 /* : nullable MType */; -val* var209 /* : nullable MType */; -val* var210 /* : null */; -short int var211 /* : Bool */; -short int var212 /* : Bool */; -short int var214 /* : Bool */; +int cltype188; +int idtype189; +val* var190 /* : nullable MClassDef */; +val* var192 /* : nullable MClassDef */; +val* var_mclassdef193 /* var mclassdef: nullable MClassDef */; +val* var194 /* : ANodes[AFormaldef] */; +val* var196 /* : ANodes[AFormaldef] */; +val* var_197 /* var : ANodes[AFormaldef] */; +val* var198 /* : Iterator[ANode] */; +val* var_199 /* var : Iterator[AFormaldef] */; +short int var200 /* : Bool */; +val* var201 /* : nullable Object */; +val* var_nfd /* var nfd: AFormaldef */; +val* var202 /* : nullable AType */; +val* var204 /* : nullable AType */; +val* var_nfdt /* var nfdt: nullable AType */; +short int var205 /* : Bool */; +short int var206 /* : Bool */; +short int var207 /* : Bool */; +short int var209 /* : Bool */; +short int var210 /* : Bool */; +short int var_211 /* var : Bool */; +val* var212 /* : nullable MType */; +val* var214 /* : nullable MType */; short int var215 /* : Bool */; -val* var216 /* : nullable MType */; -val* var_mtype /* var mtype: nullable MType */; -val* var217 /* : null */; +short int var216 /* : Bool */; short int var218 /* : Bool */; short int var219 /* : Bool */; +val* var220 /* : nullable MType */; +val* var_bound /* var bound: nullable MType */; short int var221 /* : Bool */; -short int var223 /* : Bool */; -val* var228 /* : ToolContext */; -val* var230 /* : ToolContext */; -long var231 /* : Int */; -long var233 /* : Int */; -short int var234 /* : Bool */; -short int var236 /* : Bool */; -short int var237 /* : Bool */; -val* var238 /* : ANodes[AClassdef] */; -val* var240 /* : ANodes[AClassdef] */; -val* var_241 /* var : ANodes[AClassdef] */; -val* var242 /* : Iterator[ANode] */; -val* var_243 /* var : Iterator[AClassdef] */; +short int var222 /* : Bool */; +short int var224 /* : Bool */; +short int var226 /* : Bool */; +val* var228 /* : Array[ASuperPropdef] */; +val* var_229 /* var : Array[ASuperPropdef] */; +val* var230 /* : ArrayIterator[nullable Object] */; +val* var_231 /* var : ArrayIterator[ASuperPropdef] */; +short int var232 /* : Bool */; +val* var233 /* : nullable Object */; +val* var_nsc /* var nsc: ASuperPropdef */; +val* var234 /* : AType */; +val* var236 /* : AType */; +val* var_ntype /* var ntype: AType */; +val* var237 /* : nullable MType */; +val* var239 /* : nullable MType */; +short int var240 /* : Bool */; +short int var241 /* : Bool */; +short int var243 /* : Bool */; short int var244 /* : Bool */; -val* var245 /* : nullable Object */; -val* var_nclassdef246 /* var nclassdef: AClassdef */; -val* var247 /* : nullable MClassDef */; -val* var249 /* : nullable MClassDef */; -val* var_mclassdef250 /* var mclassdef: MClassDef */; -val* var251 /* : HashMap[MClass, MClassType] */; +val* var245 /* : nullable MType */; +val* var_mtype /* var mtype: nullable MType */; +short int var246 /* : Bool */; +short int var247 /* : Bool */; +short int var249 /* : Bool */; +short int var251 /* : Bool */; +val* var254 /* : ToolContext */; +val* var256 /* : ToolContext */; +long var257 /* : Int */; +long var259 /* : Int */; +short int var260 /* : Bool */; +short int var262 /* : Bool */; +short int var263 /* : Bool */; +val* var264 /* : ANodes[AClassdef] */; +val* var266 /* : ANodes[AClassdef] */; +val* var_267 /* var : ANodes[AClassdef] */; +val* var268 /* : Iterator[ANode] */; +val* var_269 /* var : Iterator[AClassdef] */; +short int var270 /* : Bool */; +val* var271 /* : nullable Object */; +val* var_nclassdef272 /* var nclassdef: AClassdef */; +val* var273 /* : nullable MClassDef */; +val* var275 /* : nullable MClassDef */; +val* var_mclassdef276 /* var mclassdef: nullable MClassDef */; +short int var277 /* : Bool */; +short int var278 /* : Bool */; +short int var280 /* : Bool */; +short int var282 /* : Bool */; +val* var284 /* : HashMap[MClass, MClassType] */; val* var_superclasses /* var superclasses: HashMap[MClass, MClassType] */; -val* var252 /* : nullable POSetElement[MClassDef] */; -val* var254 /* : nullable POSetElement[MClassDef] */; -val* var255 /* : Collection[nullable Object] */; -val* var_256 /* var : Collection[MClassDef] */; -val* var257 /* : Iterator[nullable Object] */; -val* var_258 /* var : Iterator[MClassDef] */; -short int var259 /* : Bool */; -val* var260 /* : nullable Object */; +val* var285 /* : nullable POSetElement[MClassDef] */; +val* var287 /* : nullable POSetElement[MClassDef] */; +val* var288 /* : Collection[nullable Object] */; +val* var_289 /* var : Collection[MClassDef] */; +val* var290 /* : Iterator[nullable Object] */; +val* var_291 /* var : Iterator[MClassDef] */; +short int var292 /* : Bool */; +val* var293 /* : nullable Object */; val* var_scd /* var scd: MClassDef */; -val* var261 /* : Array[MClassType] */; -val* var263 /* : Array[MClassType] */; -val* var_264 /* var : Array[MClassType] */; -val* var265 /* : ArrayIterator[nullable Object] */; -val* var_266 /* var : ArrayIterator[MClassType] */; -short int var267 /* : Bool */; -val* var268 /* : nullable Object */; +val* var294 /* : Array[MClassType] */; +val* var296 /* : Array[MClassType] */; +val* var_297 /* var : Array[MClassType] */; +val* var298 /* : ArrayIterator[nullable Object] */; +val* var_299 /* var : ArrayIterator[MClassType] */; +short int var300 /* : Bool */; +val* var301 /* : nullable Object */; val* var_st /* var st: MClassType */; -val* var269 /* : MClass */; -val* var271 /* : MClass */; -short int var272 /* : Bool */; -short int var273 /* : Bool */; -val* var274 /* : MClass */; -val* var276 /* : MClass */; -val* var277 /* : MClass */; -val* var279 /* : MClass */; -val* var280 /* : nullable Object */; -short int var281 /* : Bool */; -short int var283 /* : Bool */; -short int var284 /* : Bool */; -val* var285 /* : MClass */; -val* var287 /* : MClass */; -val* var288 /* : nullable Object */; -val* var289 /* : MClass */; -val* var291 /* : MClass */; -val* var292 /* : MClassType */; -val* var294 /* : MClassType */; -val* var295 /* : MClassType */; -val* var297 /* : MClassType */; -short int var298 /* : Bool */; -val* var299 /* : MType */; -val* var_st1 /* var st1: MClassType */; -val* var300 /* : MClass */; val* var302 /* : MClass */; -val* var303 /* : MClassType */; -val* var305 /* : MClassType */; -val* var306 /* : MClassType */; -val* var308 /* : MClassType */; -short int var309 /* : Bool */; -val* var310 /* : MType */; -val* var_st2 /* var st2: MClassType */; -short int var311 /* : Bool */; -short int var313 /* : Bool */; +val* var304 /* : MClass */; +short int var305 /* : Bool */; +short int var306 /* : Bool */; +val* var307 /* : MClass */; +val* var309 /* : MClass */; +val* var310 /* : MClass */; +val* var312 /* : MClass */; +val* var313 /* : nullable Object */; short int var314 /* : Bool */; +short int var316 /* : Bool */; +short int var317 /* : Bool */; +val* var318 /* : MClass */; +val* var320 /* : MClass */; +val* var321 /* : nullable Object */; +val* var322 /* : MClass */; +val* var324 /* : MClass */; +val* var325 /* : MClassType */; +val* var327 /* : MClassType */; +val* var328 /* : MClassType */; +val* var330 /* : MClassType */; +val* var331 /* : MType */; +val* var_st1 /* var st1: MClassType */; +val* var332 /* : MClass */; +val* var334 /* : MClass */; +val* var335 /* : MClassType */; +val* var337 /* : MClassType */; +val* var338 /* : MClassType */; +val* var340 /* : MClassType */; +val* var341 /* : MType */; +val* var_st2 /* var st2: MClassType */; +short int var342 /* : Bool */; +short int var344 /* : Bool */; +short int var345 /* : Bool */; +val* var346 /* : NativeArray[String] */; static val* varonce; -val* var315 /* : String */; -char* var316 /* : NativeString */; -long var317 /* : Int */; -val* var318 /* : FlatString */; -val* var319 /* : MClass */; -val* var321 /* : MClass */; -static val* varonce322; -val* var323 /* : String */; -char* var324 /* : NativeString */; -long var325 /* : Int */; -val* var326 /* : FlatString */; -static val* varonce327; -val* var328 /* : String */; -char* var329 /* : NativeString */; -long var330 /* : Int */; -val* var331 /* : FlatString */; -val* var332 /* : Array[Object] */; -long var333 /* : Int */; -val* var334 /* : NativeArray[Object] */; -val* var335 /* : String */; -val* var342 /* : ToolContext */; -val* var344 /* : ToolContext */; -long var345 /* : Int */; -long var347 /* : Int */; -short int var348 /* : Bool */; -short int var350 /* : Bool */; -short int var351 /* : Bool */; -val* var352 /* : ANodes[AClassdef] */; -val* var354 /* : ANodes[AClassdef] */; -val* var_355 /* var : ANodes[AClassdef] */; -val* var356 /* : Iterator[ANode] */; -val* var_357 /* var : Iterator[AClassdef] */; -short int var358 /* : Bool */; -val* var359 /* : nullable Object */; -val* var_nclassdef360 /* var nclassdef: AClassdef */; -short int var361 /* : Bool */; -int cltype362; -int idtype363; -short int var364 /* : Bool */; -val* var366 /* : nullable MClassDef */; -val* var368 /* : nullable MClassDef */; -val* var_mclassdef369 /* var mclassdef: MClassDef */; -val* var370 /* : Array[MClass] */; +static val* varonce347; +val* var348 /* : String */; +char* var349 /* : NativeString */; +val* var350 /* : FlatString */; +static val* varonce351; +val* var352 /* : String */; +char* var353 /* : NativeString */; +val* var354 /* : FlatString */; +static val* varonce355; +val* var356 /* : String */; +char* var357 /* : NativeString */; +val* var358 /* : FlatString */; +static val* varonce359; +val* var360 /* : String */; +char* var361 /* : NativeString */; +val* var362 /* : FlatString */; +val* var363 /* : MClass */; +val* var365 /* : MClass */; +val* var366 /* : String */; +val* var367 /* : String */; +val* var368 /* : String */; +val* var369 /* : String */; +val* var373 /* : ToolContext */; +val* var375 /* : ToolContext */; +long var376 /* : Int */; +long var378 /* : Int */; +short int var379 /* : Bool */; +short int var381 /* : Bool */; +short int var382 /* : Bool */; +val* var383 /* : ANodes[AClassdef] */; +val* var385 /* : ANodes[AClassdef] */; +val* var_386 /* var : ANodes[AClassdef] */; +val* var387 /* : Iterator[ANode] */; +val* var_388 /* var : Iterator[AClassdef] */; +short int var389 /* : Bool */; +val* var390 /* : nullable Object */; +val* var_nclassdef391 /* var nclassdef: AClassdef */; +short int var392 /* : Bool */; +int cltype393; +int idtype394; +short int var395 /* : Bool */; +val* var397 /* : nullable MClassDef */; +val* var399 /* : nullable MClassDef */; +val* var_mclassdef400 /* var mclassdef: nullable MClassDef */; +short int var401 /* : Bool */; +short int var402 /* : Bool */; +short int var404 /* : Bool */; +short int var406 /* : Bool */; +val* var407 /* : Array[MClass] */; val* var_parents /* var parents: Array[MClass] */; -val* var371 /* : nullable POSetElement[MClassDef] */; -val* var373 /* : nullable POSetElement[MClassDef] */; -val* var374 /* : Collection[nullable Object] */; -val* var_375 /* var : Collection[MClassDef] */; -val* var376 /* : Iterator[nullable Object] */; -val* var_377 /* var : Iterator[MClassDef] */; -short int var378 /* : Bool */; -val* var379 /* : nullable Object */; +val* var408 /* : nullable POSetElement[MClassDef] */; +val* var410 /* : nullable POSetElement[MClassDef] */; +val* var411 /* : Collection[nullable Object] */; +val* var_412 /* var : Collection[MClassDef] */; +val* var413 /* : Iterator[nullable Object] */; +val* var_414 /* var : Iterator[MClassDef] */; +short int var415 /* : Bool */; +val* var416 /* : nullable Object */; val* var_sup /* var sup: MClassDef */; -val* var380 /* : MClass */; -val* var382 /* : MClass */; -val* var385 /* : ArrayMap[MClass, AType] */; +val* var417 /* : MClass */; +val* var419 /* : MClass */; +val* var421 /* : ArrayMap[MClass, AType] */; val* var_seen_parents /* var seen_parents: ArrayMap[MClass, AType] */; -static val* varonce387; -val* var388 /* : String */; -char* var389 /* : NativeString */; -long var390 /* : Int */; -val* var391 /* : FlatString */; -val* var392 /* : nullable MClass */; +static val* varonce423; +val* var424 /* : String */; +char* var425 /* : NativeString */; +val* var426 /* : FlatString */; +val* var427 /* : nullable MClass */; val* var_objectclass /* var objectclass: nullable MClass */; -val* var393 /* : ANodes[ASuperclass] */; -val* var395 /* : ANodes[ASuperclass] */; -val* var_396 /* var : ANodes[ASuperclass] */; -val* var397 /* : Iterator[ANode] */; -val* var_398 /* var : Iterator[ASuperclass] */; -short int var399 /* : Bool */; -val* var400 /* : nullable Object */; -val* var_nsc401 /* var nsc: ASuperclass */; -val* var402 /* : AType */; -val* var404 /* : AType */; -val* var_ntype405 /* var ntype: AType */; -val* var406 /* : nullable MType */; -val* var408 /* : nullable MType */; -val* var_mtype409 /* var mtype: nullable MType */; -val* var410 /* : null */; -short int var411 /* : Bool */; -short int var412 /* : Bool */; -short int var414 /* : Bool */; -short int var416 /* : Bool */; -short int var418 /* : Bool */; -int cltype419; -int idtype420; -val* var421 /* : MClass */; -val* var423 /* : MClass */; -val* var_sc /* var sc: MClass */; -short int var424 /* : Bool */; -short int var425 /* : Bool */; -short int var426 /* : Bool */; -short int var_427 /* var : Bool */; -short int var428 /* : Bool */; -short int var430 /* : Bool */; +val* var428 /* : Array[ASuperPropdef] */; +val* var_429 /* var : Array[ASuperPropdef] */; +val* var430 /* : ArrayIterator[nullable Object] */; +val* var_431 /* var : ArrayIterator[ASuperPropdef] */; short int var432 /* : Bool */; -short int var433 /* : Bool */; -val* var434 /* : Location */; -val* var436 /* : Location */; -val* var437 /* : nullable SourceFile */; -val* var439 /* : nullable SourceFile */; -val* var440 /* : null */; -short int var441 /* : Bool */; -short int var442 /* : Bool */; +val* var433 /* : nullable Object */; +val* var_nsc434 /* var nsc: ASuperPropdef */; +val* var435 /* : AType */; +val* var437 /* : AType */; +val* var_ntype438 /* var ntype: AType */; +val* var439 /* : nullable MType */; +val* var441 /* : nullable MType */; +val* var_mtype442 /* var mtype: nullable MType */; +short int var443 /* : Bool */; short int var444 /* : Bool */; -short int var445 /* : Bool */; -short int var_446 /* var : Bool */; -val* var447 /* : Location */; -val* var449 /* : Location */; -val* var450 /* : nullable SourceFile */; -val* var452 /* : nullable SourceFile */; -val* var453 /* : String */; -val* var455 /* : String */; +short int var446 /* : Bool */; +short int var448 /* : Bool */; +short int var450 /* : Bool */; +int cltype451; +int idtype452; +val* var453 /* : MClass */; +val* var455 /* : MClass */; +val* var_sc /* var sc: MClass */; short int var456 /* : Bool */; short int var457 /* : Bool */; -static val* varonce458; -val* var459 /* : String */; -char* var460 /* : NativeString */; -long var461 /* : Int */; -val* var462 /* : FlatString */; -static val* varonce463; -val* var464 /* : String */; -char* var465 /* : NativeString */; -long var466 /* : Int */; -val* var467 /* : FlatString */; -static val* varonce468; -val* var469 /* : String */; -char* var470 /* : NativeString */; -long var471 /* : Int */; -val* var472 /* : FlatString */; -val* var473 /* : MClass */; -val* var475 /* : MClass */; -static val* varonce476; -val* var477 /* : String */; -char* var478 /* : NativeString */; -long var479 /* : Int */; -val* var480 /* : FlatString */; -val* var481 /* : Array[Object] */; -long var482 /* : Int */; -val* var483 /* : NativeArray[Object] */; +short int var458 /* : Bool */; +short int var_459 /* var : Bool */; +short int var460 /* : Bool */; +short int var462 /* : Bool */; +short int var464 /* : Bool */; +short int var465 /* : Bool */; +val* var466 /* : Location */; +val* var468 /* : Location */; +val* var469 /* : nullable SourceFile */; +val* var471 /* : nullable SourceFile */; +short int var472 /* : Bool */; +short int var473 /* : Bool */; +short int var475 /* : Bool */; +short int var476 /* : Bool */; +short int var_477 /* var : Bool */; +val* var478 /* : Location */; +val* var480 /* : Location */; +val* var481 /* : nullable SourceFile */; +val* var483 /* : nullable SourceFile */; val* var484 /* : String */; -short int var485 /* : Bool */; -short int var486 /* : Bool */; -static val* varonce487; -val* var488 /* : String */; -char* var489 /* : NativeString */; -long var490 /* : Int */; -val* var491 /* : FlatString */; -static val* varonce492; -val* var493 /* : String */; -char* var494 /* : NativeString */; -long var495 /* : Int */; -val* var496 /* : FlatString */; -static val* varonce497; -val* var498 /* : String */; -char* var499 /* : NativeString */; -long var500 /* : Int */; -val* var501 /* : FlatString */; -val* var502 /* : MClass */; -val* var504 /* : MClass */; -static val* varonce505; -val* var506 /* : String */; -char* var507 /* : NativeString */; -long var508 /* : Int */; -val* var509 /* : FlatString */; -val* var510 /* : Array[Object] */; -long var511 /* : Int */; -val* var512 /* : NativeArray[Object] */; -val* var513 /* : String */; +val* var486 /* : String */; +short int var487 /* : Bool */; +short int var488 /* : Bool */; +static val* varonce489; +val* var490 /* : String */; +char* var491 /* : NativeString */; +val* var492 /* : FlatString */; +val* var494 /* : NativeArray[String] */; +static val* varonce493; +static val* varonce495; +val* var496 /* : String */; +char* var497 /* : NativeString */; +val* var498 /* : FlatString */; +static val* varonce499; +val* var500 /* : String */; +char* var501 /* : NativeString */; +val* var502 /* : FlatString */; +static val* varonce503; +val* var504 /* : String */; +char* var505 /* : NativeString */; +val* var506 /* : FlatString */; +val* var507 /* : String */; +val* var508 /* : MClass */; +val* var510 /* : MClass */; +val* var511 /* : String */; +val* var512 /* : String */; +short int var513 /* : Bool */; +short int var514 /* : Bool */; +static val* varonce515; +val* var516 /* : String */; +char* var517 /* : NativeString */; +val* var518 /* : FlatString */; +val* var520 /* : NativeArray[String] */; +static val* varonce519; +static val* varonce521; +val* var522 /* : String */; +char* var523 /* : NativeString */; +val* var524 /* : FlatString */; +static val* varonce525; +val* var526 /* : String */; +char* var527 /* : NativeString */; +val* var528 /* : FlatString */; +static val* varonce529; +val* var530 /* : String */; +char* var531 /* : NativeString */; +val* var532 /* : FlatString */; +val* var533 /* : String */; +val* var534 /* : MClass */; +val* var536 /* : MClass */; +val* var537 /* : String */; +val* var538 /* : String */; var_nmodule = p0; { { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on */ @@ -4919,7 +5139,7 @@ var2 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47); -show_backtrace(1); +fatal_exit(1); } var = var2; RET_LABEL1:(void)0; @@ -4944,86 +5164,105 @@ if (var6){ goto RET_LABEL; } else { } -var9 = 1; { -{ /* Inline modelize_class#AModule#build_classes_is_done= (var_nmodule,var9) on */ -var_nmodule->attrs[COLOR_nit__modelize_class__AModule___build_classes_is_done].s = var9; /* _build_classes_is_done on */ -RET_LABEL10:(void)0; +{ /* Inline modelize_class#AModule#build_classes_is_done= (var_nmodule,1) on */ +var_nmodule->attrs[COLOR_nit__modelize_class__AModule___build_classes_is_done].s = 1; /* _build_classes_is_done on */ +RET_LABEL9:(void)0; } } { { /* Inline loader#AModule#mmodule (var_nmodule) on */ -var13 = var_nmodule->attrs[COLOR_nit__loader__AModule___mmodule].val; /* _mmodule on */ -var11 = var13; -RET_LABEL12:(void)0; +var12 = var_nmodule->attrs[COLOR_nit__loader__AModule___mmodule].val; /* _mmodule on */ +var10 = var12; +RET_LABEL11:(void)0; } } -if (unlikely(var11 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 296); -show_backtrace(1); +var_mmodule = var10; +if (var_mmodule == NULL) { +var13 = 1; /* is null */ +} else { +var13 = 0; /* arg is null but recv is not */ } -var_mmodule = var11; +if (0) { +{ /* Inline kernel#Object#== (var_mmodule,((val*)NULL)) on */ +var_other = ((val*)NULL); { -{ /* Inline mmodule#MModule#in_importation (var_mmodule) on */ -var16 = var_mmodule->attrs[COLOR_nit__mmodule__MModule___in_importation].val; /* _in_importation on */ -if (unlikely(var16 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 96); -show_backtrace(1); +{ /* Inline kernel#Object#is_same_instance (var_mmodule,var_other) on */ +var18 = var_mmodule == var_other; +var16 = var18; +goto RET_LABEL17; +RET_LABEL17:(void)0; +} } var14 = var16; +goto RET_LABEL15; RET_LABEL15:(void)0; } +var13 = var14; +} +if (var13){ +goto RET_LABEL; +} else { +} +{ +{ /* Inline mmodule#MModule#in_importation (var_mmodule) on */ +var21 = var_mmodule->attrs[COLOR_nit__mmodule__MModule___in_importation].val; /* _in_importation on */ +if (unlikely(var21 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 96); +fatal_exit(1); +} +var19 = var21; +RET_LABEL20:(void)0; +} } { -var17 = poset___poset__POSetElement___direct_greaters(var14); +var22 = poset___poset__POSetElement___direct_greaters(var19); } -var_ = var17; +var_ = var22; { -var18 = ((val* (*)(val* self))(var_->class->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_) /* iterator on */; +var23 = ((val*(*)(val* self))((((long)var_&3)?class_info[((long)var_&3)]:var_->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_); /* iterator on */ } -var_19 = var18; +var_24 = var23; for(;;) { { -var20 = ((short int (*)(val* self))(var_19->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_19) /* is_ok on */; +var25 = ((short int(*)(val* self))((((long)var_24&3)?class_info[((long)var_24&3)]:var_24->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_24); /* is_ok on */ } -if (var20){ +if (var25){ { -var21 = ((val* (*)(val* self))(var_19->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_19) /* item on */; +var26 = ((val*(*)(val* self))((((long)var_24&3)?class_info[((long)var_24&3)]:var_24->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_24); /* item on */ } -var_imp = var21; +var_imp = var26; { -var22 = nit__loader___ModelBuilder___mmodule2node(self, var_imp); +var27 = nit__loader___ModelBuilder___mmodule2node(self, var_imp); } -var_nimp = var22; -var23 = NULL; +var_nimp = var27; if (var_nimp == NULL) { -var24 = 0; /* is null */ +var28 = 0; /* is null */ } else { -var24 = 1; /* arg is null and recv is not */ +var28 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_nimp,var23) on */ -var_other = var23; +{ /* Inline kernel#Object#!= (var_nimp,((val*)NULL)) on */ +var_other31 = ((val*)NULL); { -var27 = ((short int (*)(val* self, val* p0))(var_nimp->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nimp, var_other) /* == on */; +var32 = ((short int(*)(val* self, val* p0))(var_nimp->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nimp, var_other31); /* == on */ } -var28 = !var27; -var25 = var28; -goto RET_LABEL26; -RET_LABEL26:(void)0; +var33 = !var32; +var29 = var33; +goto RET_LABEL30; +RET_LABEL30:(void)0; } -var24 = var25; +var28 = var29; } -if (var24){ +if (var28){ { nit__modelize_class___ModelBuilder___build_classes(self, var_nimp); /* Direct call modelize_class#ModelBuilder#build_classes on */ } } else { } { -((void (*)(val* self))(var_19->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_19) /* next on */; +((void(*)(val* self))((((long)var_24&3)?class_info[((long)var_24&3)]:var_24->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_24); /* next on */ } } else { goto BREAK_label; @@ -5031,1073 +5270,1208 @@ goto BREAK_label; } BREAK_label: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_19) on */ -RET_LABEL29:(void)0; -} +((void(*)(val* self))((((long)var_24&3)?class_info[((long)var_24&3)]:var_24->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_24); /* finish on */ } { { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on */ -var32 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ -if (unlikely(var32 == NULL)) { +var36 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ +if (unlikely(var36 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47); -show_backtrace(1); +fatal_exit(1); } -var30 = var32; -RET_LABEL31:(void)0; +var34 = var36; +RET_LABEL35:(void)0; } } { -{ /* Inline toolcontext#ToolContext#error_count (var30) on */ -var35 = var30->attrs[COLOR_nit__toolcontext__ToolContext___error_count].l; /* _error_count on */ -var33 = var35; -RET_LABEL34:(void)0; +{ /* Inline toolcontext#ToolContext#error_count (var34) on */ +var39 = var34->attrs[COLOR_nit__toolcontext__ToolContext___error_count].l; /* _error_count on */ +var37 = var39; +RET_LABEL38:(void)0; } } { -{ /* Inline kernel#Int#!= (var_errcount,var33) on */ -var38 = var_errcount == var33; -var39 = !var38; -var36 = var39; -goto RET_LABEL37; -RET_LABEL37:(void)0; +{ /* Inline kernel#Int#!= (var_errcount,var37) on */ +var42 = var_errcount == var37; +var43 = !var42; +var40 = var43; +goto RET_LABEL41; +RET_LABEL41:(void)0; } } -if (var36){ +if (var40){ goto RET_LABEL; } else { } { { /* Inline parser_nodes#AModule#n_classdefs (var_nmodule) on */ -var42 = var_nmodule->attrs[COLOR_nit__parser_nodes__AModule___n_classdefs].val; /* _n_classdefs on */ -if (unlikely(var42 == NULL)) { +var46 = var_nmodule->attrs[COLOR_nit__parser_nodes__AModule___n_classdefs].val; /* _n_classdefs on */ +if (unlikely(var46 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_classdefs"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 919); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1096); +fatal_exit(1); } -var40 = var42; -RET_LABEL41:(void)0; +var44 = var46; +RET_LABEL45:(void)0; } } -var_43 = var40; +var_47 = var44; { -var44 = nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_43); +var48 = nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_47); } -var_45 = var44; +var_49 = var48; for(;;) { { -var46 = ((short int (*)(val* self))(var_45->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_45) /* is_ok on */; +var50 = ((short int(*)(val* self))((((long)var_49&3)?class_info[((long)var_49&3)]:var_49->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_49); /* is_ok on */ } -if (var46){ +if (var50){ { -var47 = ((val* (*)(val* self))(var_45->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_45) /* item on */; +var51 = ((val*(*)(val* self))((((long)var_49&3)?class_info[((long)var_49&3)]:var_49->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_49); /* item on */ +} +var_nclassdef = var51; +/* isa AStdClassdef */ +cltype = type_nit__AStdClassdef.color; +idtype = type_nit__AStdClassdef.id; +if(cltype >= var_nclassdef->type->table_size) { +var52 = 0; +} else { +var52 = var_nclassdef->type->type_table[cltype] == idtype; +} +var53 = !var52; +if (var53){ +goto BREAK_label54; +} else { } -var_nclassdef = var47; { nit__modelize_class___ModelBuilder___build_a_mclass(self, var_nmodule, var_nclassdef); /* Direct call modelize_class#ModelBuilder#build_a_mclass on */ } +BREAK_label54: (void)0; { -((void (*)(val* self))(var_45->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_45) /* next on */; +((void(*)(val* self))((((long)var_49&3)?class_info[((long)var_49&3)]:var_49->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_49); /* next on */ } } else { -goto BREAK_label48; +goto BREAK_label55; } } -BREAK_label48: (void)0; +BREAK_label55: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_45) on */ -RET_LABEL49:(void)0; +((void(*)(val* self))((((long)var_49&3)?class_info[((long)var_49&3)]:var_49->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_49); /* finish on */ +} +{ +{ /* Inline parser_nodes#AModule#n_classdefs (var_nmodule) on */ +var58 = var_nmodule->attrs[COLOR_nit__parser_nodes__AModule___n_classdefs].val; /* _n_classdefs on */ +if (unlikely(var58 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_classdefs"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1096); +fatal_exit(1); +} +var56 = var58; +RET_LABEL57:(void)0; +} +} +var_59 = var56; +{ +var60 = nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_59); +} +var_61 = var60; +for(;;) { +{ +var62 = ((short int(*)(val* self))((((long)var_61&3)?class_info[((long)var_61&3)]:var_61->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_61); /* is_ok on */ +} +if (var62){ +{ +var63 = ((val*(*)(val* self))((((long)var_61&3)?class_info[((long)var_61&3)]:var_61->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_61); /* item on */ +} +var_nclassdef64 = var63; +/* isa AStdClassdef */ +cltype66 = type_nit__AStdClassdef.color; +idtype67 = type_nit__AStdClassdef.id; +if(cltype66 >= var_nclassdef64->type->table_size) { +var65 = 0; +} else { +var65 = var_nclassdef64->type->type_table[cltype66] == idtype67; +} +if (var65){ +goto BREAK_label68; +} else { +} +{ +nit__modelize_class___ModelBuilder___build_a_mclass(self, var_nmodule, var_nclassdef64); /* Direct call modelize_class#ModelBuilder#build_a_mclass on */ +} +BREAK_label68: (void)0; +{ +((void(*)(val* self))((((long)var_61&3)?class_info[((long)var_61&3)]:var_61->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_61); /* next on */ +} +} else { +goto BREAK_label69; } } +BREAK_label69: (void)0; +{ +((void(*)(val* self))((((long)var_61&3)?class_info[((long)var_61&3)]:var_61->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_61); /* finish on */ +} { { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on */ -var52 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ -if (unlikely(var52 == NULL)) { +var72 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ +if (unlikely(var72 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47); -show_backtrace(1); +fatal_exit(1); } -var50 = var52; -RET_LABEL51:(void)0; +var70 = var72; +RET_LABEL71:(void)0; } } { -{ /* Inline toolcontext#ToolContext#error_count (var50) on */ -var55 = var50->attrs[COLOR_nit__toolcontext__ToolContext___error_count].l; /* _error_count on */ -var53 = var55; -RET_LABEL54:(void)0; +{ /* Inline toolcontext#ToolContext#error_count (var70) on */ +var75 = var70->attrs[COLOR_nit__toolcontext__ToolContext___error_count].l; /* _error_count on */ +var73 = var75; +RET_LABEL74:(void)0; } } { -{ /* Inline kernel#Int#!= (var_errcount,var53) on */ -var58 = var_errcount == var53; -var59 = !var58; -var56 = var59; -goto RET_LABEL57; -RET_LABEL57:(void)0; +{ /* Inline kernel#Int#!= (var_errcount,var73) on */ +var78 = var_errcount == var73; +var79 = !var78; +var76 = var79; +goto RET_LABEL77; +RET_LABEL77:(void)0; } } -if (var56){ +if (var76){ goto RET_LABEL; } else { } { { /* Inline parser_nodes#AModule#n_classdefs (var_nmodule) on */ -var62 = var_nmodule->attrs[COLOR_nit__parser_nodes__AModule___n_classdefs].val; /* _n_classdefs on */ -if (unlikely(var62 == NULL)) { +var82 = var_nmodule->attrs[COLOR_nit__parser_nodes__AModule___n_classdefs].val; /* _n_classdefs on */ +if (unlikely(var82 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_classdefs"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 919); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1096); +fatal_exit(1); } -var60 = var62; -RET_LABEL61:(void)0; +var80 = var82; +RET_LABEL81:(void)0; } } -var_63 = var60; +var_83 = var80; { -var64 = nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_63); +var84 = nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_83); } -var_65 = var64; +var_85 = var84; for(;;) { { -var66 = ((short int (*)(val* self))(var_65->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_65) /* is_ok on */; +var86 = ((short int(*)(val* self))((((long)var_85&3)?class_info[((long)var_85&3)]:var_85->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_85); /* is_ok on */ } -if (var66){ +if (var86){ { -var67 = ((val* (*)(val* self))(var_65->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_65) /* item on */; +var87 = ((val*(*)(val* self))((((long)var_85&3)?class_info[((long)var_85&3)]:var_85->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_85); /* item on */ +} +var_nclassdef88 = var87; +/* isa AStdClassdef */ +cltype90 = type_nit__AStdClassdef.color; +idtype91 = type_nit__AStdClassdef.id; +if(cltype90 >= var_nclassdef88->type->table_size) { +var89 = 0; +} else { +var89 = var_nclassdef88->type->type_table[cltype90] == idtype91; +} +var92 = !var89; +if (var92){ +goto BREAK_label93; +} else { } -var_nclassdef68 = var67; { -nit__modelize_class___ModelBuilder___build_a_mclassdef(self, var_nmodule, var_nclassdef68); /* Direct call modelize_class#ModelBuilder#build_a_mclassdef on */ +nit__modelize_class___ModelBuilder___build_a_mclassdef(self, var_nmodule, var_nclassdef88); /* Direct call modelize_class#ModelBuilder#build_a_mclassdef on */ } +BREAK_label93: (void)0; { -((void (*)(val* self))(var_65->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_65) /* next on */; +((void(*)(val* self))((((long)var_85&3)?class_info[((long)var_85&3)]:var_85->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_85); /* next on */ } } else { -goto BREAK_label69; +goto BREAK_label94; } } -BREAK_label69: (void)0; +BREAK_label94: (void)0; +{ +((void(*)(val* self))((((long)var_85&3)?class_info[((long)var_85&3)]:var_85->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_85); /* finish on */ +} +{ +{ /* Inline parser_nodes#AModule#n_classdefs (var_nmodule) on */ +var97 = var_nmodule->attrs[COLOR_nit__parser_nodes__AModule___n_classdefs].val; /* _n_classdefs on */ +if (unlikely(var97 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_classdefs"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1096); +fatal_exit(1); +} +var95 = var97; +RET_LABEL96:(void)0; +} +} +var_98 = var95; +{ +var99 = nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_98); +} +var_100 = var99; +for(;;) { +{ +var101 = ((short int(*)(val* self))((((long)var_100&3)?class_info[((long)var_100&3)]:var_100->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_100); /* is_ok on */ +} +if (var101){ +{ +var102 = ((val*(*)(val* self))((((long)var_100&3)?class_info[((long)var_100&3)]:var_100->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_100); /* item on */ +} +var_nclassdef103 = var102; +/* isa AStdClassdef */ +cltype105 = type_nit__AStdClassdef.color; +idtype106 = type_nit__AStdClassdef.id; +if(cltype105 >= var_nclassdef103->type->table_size) { +var104 = 0; +} else { +var104 = var_nclassdef103->type->type_table[cltype105] == idtype106; +} +if (var104){ +goto BREAK_label107; +} else { +} +{ +nit__modelize_class___ModelBuilder___build_a_mclassdef(self, var_nmodule, var_nclassdef103); /* Direct call modelize_class#ModelBuilder#build_a_mclassdef on */ +} +BREAK_label107: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_65) on */ -RET_LABEL70:(void)0; +((void(*)(val* self))((((long)var_100&3)?class_info[((long)var_100&3)]:var_100->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_100); /* next on */ +} +} else { +goto BREAK_label108; +} } +BREAK_label108: (void)0; +{ +((void(*)(val* self))((((long)var_100&3)?class_info[((long)var_100&3)]:var_100->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_100); /* finish on */ } { { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on */ -var73 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ -if (unlikely(var73 == NULL)) { +var111 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ +if (unlikely(var111 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47); -show_backtrace(1); +fatal_exit(1); } -var71 = var73; -RET_LABEL72:(void)0; +var109 = var111; +RET_LABEL110:(void)0; } } { -{ /* Inline toolcontext#ToolContext#error_count (var71) on */ -var76 = var71->attrs[COLOR_nit__toolcontext__ToolContext___error_count].l; /* _error_count on */ -var74 = var76; -RET_LABEL75:(void)0; +{ /* Inline toolcontext#ToolContext#error_count (var109) on */ +var114 = var109->attrs[COLOR_nit__toolcontext__ToolContext___error_count].l; /* _error_count on */ +var112 = var114; +RET_LABEL113:(void)0; } } { -{ /* Inline kernel#Int#!= (var_errcount,var74) on */ -var79 = var_errcount == var74; -var80 = !var79; -var77 = var80; -goto RET_LABEL78; -RET_LABEL78:(void)0; +{ /* Inline kernel#Int#!= (var_errcount,var112) on */ +var117 = var_errcount == var112; +var118 = !var117; +var115 = var118; +goto RET_LABEL116; +RET_LABEL116:(void)0; } } -if (var77){ +if (var115){ goto RET_LABEL; } else { } { { /* Inline parser_nodes#AModule#n_classdefs (var_nmodule) on */ -var83 = var_nmodule->attrs[COLOR_nit__parser_nodes__AModule___n_classdefs].val; /* _n_classdefs on */ -if (unlikely(var83 == NULL)) { +var121 = var_nmodule->attrs[COLOR_nit__parser_nodes__AModule___n_classdefs].val; /* _n_classdefs on */ +if (unlikely(var121 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_classdefs"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 919); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1096); +fatal_exit(1); } -var81 = var83; -RET_LABEL82:(void)0; +var119 = var121; +RET_LABEL120:(void)0; } } -var_84 = var81; +var_122 = var119; { -var85 = nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_84); +var123 = nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_122); } -var_86 = var85; +var_124 = var123; for(;;) { { -var87 = ((short int (*)(val* self))(var_86->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_86) /* is_ok on */; +var125 = ((short int(*)(val* self))((((long)var_124&3)?class_info[((long)var_124&3)]:var_124->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_124); /* is_ok on */ } -if (var87){ +if (var125){ { -var88 = ((val* (*)(val* self))(var_86->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_86) /* item on */; +var126 = ((val*(*)(val* self))((((long)var_124&3)?class_info[((long)var_124&3)]:var_124->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_124); /* item on */ } -var_nclassdef89 = var88; +var_nclassdef127 = var126; { -nit__modelize_class___ModelBuilder___collect_a_mclassdef_inheritance(self, var_nmodule, var_nclassdef89); /* Direct call modelize_class#ModelBuilder#collect_a_mclassdef_inheritance on */ +nit__modelize_class___ModelBuilder___collect_a_mclassdef_inheritance(self, var_nmodule, var_nclassdef127); /* Direct call modelize_class#ModelBuilder#collect_a_mclassdef_inheritance on */ } { -((void (*)(val* self))(var_86->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_86) /* next on */; +((void(*)(val* self))((((long)var_124&3)?class_info[((long)var_124&3)]:var_124->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_124); /* next on */ } } else { -goto BREAK_label90; +goto BREAK_label128; } } -BREAK_label90: (void)0; +BREAK_label128: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_86) on */ -RET_LABEL91:(void)0; -} +((void(*)(val* self))((((long)var_124&3)?class_info[((long)var_124&3)]:var_124->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_124); /* finish on */ } { { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on */ -var94 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ -if (unlikely(var94 == NULL)) { +var131 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ +if (unlikely(var131 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47); -show_backtrace(1); +fatal_exit(1); } -var92 = var94; -RET_LABEL93:(void)0; +var129 = var131; +RET_LABEL130:(void)0; } } { -{ /* Inline toolcontext#ToolContext#error_count (var92) on */ -var97 = var92->attrs[COLOR_nit__toolcontext__ToolContext___error_count].l; /* _error_count on */ -var95 = var97; -RET_LABEL96:(void)0; +{ /* Inline toolcontext#ToolContext#error_count (var129) on */ +var134 = var129->attrs[COLOR_nit__toolcontext__ToolContext___error_count].l; /* _error_count on */ +var132 = var134; +RET_LABEL133:(void)0; } } { -{ /* Inline kernel#Int#!= (var_errcount,var95) on */ -var100 = var_errcount == var95; -var101 = !var100; -var98 = var101; -goto RET_LABEL99; -RET_LABEL99:(void)0; +{ /* Inline kernel#Int#!= (var_errcount,var132) on */ +var137 = var_errcount == var132; +var138 = !var137; +var135 = var138; +goto RET_LABEL136; +RET_LABEL136:(void)0; } } -if (var98){ +if (var135){ goto RET_LABEL; } else { } { -{ /* Inline model#MModule#mclassdefs (var_mmodule) on */ -var104 = var_mmodule->attrs[COLOR_nit__model__MModule___mclassdefs].val; /* _mclassdefs on */ -if (unlikely(var104 == NULL)) { +{ /* Inline model#MModule#mclassdefs (var_mmodule) on */ +var141 = var_mmodule->attrs[COLOR_nit__model__MModule___mclassdefs].val; /* _mclassdefs on */ +if (unlikely(var141 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdefs"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 131); -show_backtrace(1); +fatal_exit(1); } -var102 = var104; -RET_LABEL103:(void)0; +var139 = var141; +RET_LABEL140:(void)0; } } -var_105 = var102; +var_142 = var139; { -var106 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_105); +var143 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_142); } -var_107 = var106; +var_144 = var143; for(;;) { { -var108 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_107); +var145 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_144); } -if (var108){ +if (var145){ { -var109 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_107); +var146 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_144); } -var_mclassdef = var109; +var_mclassdef = var146; { nit___nit__MClassDef___add_in_hierarchy(var_mclassdef); /* Direct call model#MClassDef#add_in_hierarchy on */ } { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_107); /* Direct call array#ArrayIterator#next on */ +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_144); /* Direct call array#ArrayIterator#next on */ } } else { -goto BREAK_label110; +goto BREAK_label147; } } -BREAK_label110: (void)0; +BREAK_label147: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_107) on */ -RET_LABEL111:(void)0; -} +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_144); /* Direct call array#ArrayIterator#finish on */ } { { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on */ -var114 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ -if (unlikely(var114 == NULL)) { +var150 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ +if (unlikely(var150 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47); -show_backtrace(1); +fatal_exit(1); } -var112 = var114; -RET_LABEL113:(void)0; +var148 = var150; +RET_LABEL149:(void)0; } } { -{ /* Inline toolcontext#ToolContext#error_count (var112) on */ -var117 = var112->attrs[COLOR_nit__toolcontext__ToolContext___error_count].l; /* _error_count on */ -var115 = var117; -RET_LABEL116:(void)0; +{ /* Inline toolcontext#ToolContext#error_count (var148) on */ +var153 = var148->attrs[COLOR_nit__toolcontext__ToolContext___error_count].l; /* _error_count on */ +var151 = var153; +RET_LABEL152:(void)0; } } { -{ /* Inline kernel#Int#!= (var_errcount,var115) on */ -var120 = var_errcount == var115; -var121 = !var120; -var118 = var121; -goto RET_LABEL119; -RET_LABEL119:(void)0; +{ /* Inline kernel#Int#!= (var_errcount,var151) on */ +var156 = var_errcount == var151; +var157 = !var156; +var154 = var157; +goto RET_LABEL155; +RET_LABEL155:(void)0; } } -if (var118){ +if (var154){ goto RET_LABEL; } else { } { { /* Inline parser_nodes#AModule#n_classdefs (var_nmodule) on */ -var124 = var_nmodule->attrs[COLOR_nit__parser_nodes__AModule___n_classdefs].val; /* _n_classdefs on */ -if (unlikely(var124 == NULL)) { +var160 = var_nmodule->attrs[COLOR_nit__parser_nodes__AModule___n_classdefs].val; /* _n_classdefs on */ +if (unlikely(var160 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_classdefs"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 919); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1096); +fatal_exit(1); } -var122 = var124; -RET_LABEL123:(void)0; +var158 = var160; +RET_LABEL159:(void)0; } } -var_125 = var122; +var_161 = var158; { -var126 = nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_125); +var162 = nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_161); } -var_127 = var126; +var_163 = var162; for(;;) { { -var128 = ((short int (*)(val* self))(var_127->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_127) /* is_ok on */; +var164 = ((short int(*)(val* self))((((long)var_163&3)?class_info[((long)var_163&3)]:var_163->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_163); /* is_ok on */ } -if (var128){ +if (var164){ { -var129 = ((val* (*)(val* self))(var_127->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_127) /* item on */; +var165 = ((val*(*)(val* self))((((long)var_163&3)?class_info[((long)var_163&3)]:var_163->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_163); /* item on */ } -var_nclassdef130 = var129; +var_nclassdef166 = var165; { -nit__modelize_class___ModelBuilder___check_supertypes(self, var_nmodule, var_nclassdef130); /* Direct call modelize_class#ModelBuilder#check_supertypes on */ +nit__modelize_class___ModelBuilder___check_supertypes(self, var_nmodule, var_nclassdef166); /* Direct call modelize_class#ModelBuilder#check_supertypes on */ } { -((void (*)(val* self))(var_127->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_127) /* next on */; +((void(*)(val* self))((((long)var_163&3)?class_info[((long)var_163&3)]:var_163->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_163); /* next on */ } } else { -goto BREAK_label131; +goto BREAK_label167; } } -BREAK_label131: (void)0; +BREAK_label167: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_127) on */ -RET_LABEL132:(void)0; -} +((void(*)(val* self))((((long)var_163&3)?class_info[((long)var_163&3)]:var_163->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_163); /* finish on */ } { { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on */ -var135 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ -if (unlikely(var135 == NULL)) { +var170 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ +if (unlikely(var170 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47); -show_backtrace(1); +fatal_exit(1); } -var133 = var135; -RET_LABEL134:(void)0; +var168 = var170; +RET_LABEL169:(void)0; } } { -{ /* Inline toolcontext#ToolContext#error_count (var133) on */ -var138 = var133->attrs[COLOR_nit__toolcontext__ToolContext___error_count].l; /* _error_count on */ -var136 = var138; -RET_LABEL137:(void)0; +{ /* Inline toolcontext#ToolContext#error_count (var168) on */ +var173 = var168->attrs[COLOR_nit__toolcontext__ToolContext___error_count].l; /* _error_count on */ +var171 = var173; +RET_LABEL172:(void)0; } } { -{ /* Inline kernel#Int#!= (var_errcount,var136) on */ -var141 = var_errcount == var136; -var142 = !var141; -var139 = var142; -goto RET_LABEL140; -RET_LABEL140:(void)0; +{ /* Inline kernel#Int#!= (var_errcount,var171) on */ +var176 = var_errcount == var171; +var177 = !var176; +var174 = var177; +goto RET_LABEL175; +RET_LABEL175:(void)0; } } -if (var139){ +if (var174){ goto RET_LABEL; } else { } { { /* Inline parser_nodes#AModule#n_classdefs (var_nmodule) on */ -var145 = var_nmodule->attrs[COLOR_nit__parser_nodes__AModule___n_classdefs].val; /* _n_classdefs on */ -if (unlikely(var145 == NULL)) { +var180 = var_nmodule->attrs[COLOR_nit__parser_nodes__AModule___n_classdefs].val; /* _n_classdefs on */ +if (unlikely(var180 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_classdefs"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 919); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1096); +fatal_exit(1); } -var143 = var145; -RET_LABEL144:(void)0; +var178 = var180; +RET_LABEL179:(void)0; } } -var_146 = var143; +var_181 = var178; { -var147 = nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_146); +var182 = nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_181); } -var_148 = var147; +var_183 = var182; for(;;) { { -var149 = ((short int (*)(val* self))(var_148->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_148) /* is_ok on */; +var184 = ((short int(*)(val* self))((((long)var_183&3)?class_info[((long)var_183&3)]:var_183->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_183); /* is_ok on */ } -if (var149){ +if (var184){ { -var150 = ((val* (*)(val* self))(var_148->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_148) /* item on */; +var185 = ((val*(*)(val* self))((((long)var_183&3)?class_info[((long)var_183&3)]:var_183->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_183); /* item on */ } -var_nclassdef151 = var150; -/* isa AStdClassdef */ -cltype = type_nit__AStdClassdef.color; -idtype = type_nit__AStdClassdef.id; -if(cltype >= var_nclassdef151->type->table_size) { -var152 = 0; +var_nclassdef186 = var185; +/* isa AStdClassdef */ +cltype188 = type_nit__AStdClassdef.color; +idtype189 = type_nit__AStdClassdef.id; +if(cltype188 >= var_nclassdef186->type->table_size) { +var187 = 0; } else { -var152 = var_nclassdef151->type->type_table[cltype] == idtype; +var187 = var_nclassdef186->type->type_table[cltype188] == idtype189; } -if (var152){ +if (var187){ { -{ /* Inline modelize_class#AClassdef#mclassdef (var_nclassdef151) on */ -var155 = var_nclassdef151->attrs[COLOR_nit__modelize_class__AClassdef___mclassdef].val; /* _mclassdef on */ -var153 = var155; -RET_LABEL154:(void)0; +{ /* Inline modelize_class#AClassdef#mclassdef (var_nclassdef186) on */ +var192 = var_nclassdef186->attrs[COLOR_nit__modelize_class__AClassdef___mclassdef].val; /* _mclassdef on */ +var190 = var192; +RET_LABEL191:(void)0; } } -var_mclassdef156 = var153; +var_mclassdef193 = var190; { -{ /* Inline parser_nodes#AStdClassdef#n_formaldefs (var_nclassdef151) on */ -var159 = var_nclassdef151->attrs[COLOR_nit__parser_nodes__AStdClassdef___n_formaldefs].val; /* _n_formaldefs on */ -if (unlikely(var159 == NULL)) { +{ /* Inline parser_nodes#AStdClassdef#n_formaldefs (var_nclassdef186) on */ +var196 = var_nclassdef186->attrs[COLOR_nit__parser_nodes__AStdClassdef___n_formaldefs].val; /* _n_formaldefs on */ +if (unlikely(var196 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_formaldefs"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1027); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1207); +fatal_exit(1); } -var157 = var159; -RET_LABEL158:(void)0; +var194 = var196; +RET_LABEL195:(void)0; } } -var_160 = var157; +var_197 = var194; { -var161 = nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_160); +var198 = nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_197); } -var_162 = var161; +var_199 = var198; for(;;) { { -var163 = ((short int (*)(val* self))(var_162->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_162) /* is_ok on */; +var200 = ((short int(*)(val* self))((((long)var_199&3)?class_info[((long)var_199&3)]:var_199->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_199); /* is_ok on */ } -if (var163){ +if (var200){ { -var164 = ((val* (*)(val* self))(var_162->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_162) /* item on */; +var201 = ((val*(*)(val* self))((((long)var_199&3)?class_info[((long)var_199&3)]:var_199->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_199); /* item on */ } -var_nfd = var164; +var_nfd = var201; { { /* Inline parser_nodes#AFormaldef#n_type (var_nfd) on */ -var167 = var_nfd->attrs[COLOR_nit__parser_nodes__AFormaldef___n_type].val; /* _n_type on */ -var165 = var167; -RET_LABEL166:(void)0; +var204 = var_nfd->attrs[COLOR_nit__parser_nodes__AFormaldef___n_type].val; /* _n_type on */ +var202 = var204; +RET_LABEL203:(void)0; } } -var_nfdt = var165; -var169 = NULL; +var_nfdt = var202; if (var_nfdt == NULL) { -var170 = 0; /* is null */ +var206 = 0; /* is null */ } else { -var170 = 1; /* arg is null and recv is not */ +var206 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_nfdt,var169) on */ -var_other = var169; +{ /* Inline kernel#Object#!= (var_nfdt,((val*)NULL)) on */ +var_other31 = ((val*)NULL); { -var173 = ((short int (*)(val* self, val* p0))(var_nfdt->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nfdt, var_other) /* == on */; +var209 = ((short int(*)(val* self, val* p0))(var_nfdt->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nfdt, var_other31); /* == on */ } -var174 = !var173; -var171 = var174; -goto RET_LABEL172; -RET_LABEL172:(void)0; +var210 = !var209; +var207 = var210; +goto RET_LABEL208; +RET_LABEL208:(void)0; } -var170 = var171; +var206 = var207; } -var_175 = var170; -if (var170){ +var_211 = var206; +if (var206){ { -{ /* Inline modelize_class#AType#mtype (var_nfdt) on */ -var178 = var_nfdt->attrs[COLOR_nit__modelize_class__AType___mtype].val; /* _mtype on */ -var176 = var178; -RET_LABEL177:(void)0; +{ /* Inline modelbuilder_base#AType#mtype (var_nfdt) on */ +var214 = var_nfdt->attrs[COLOR_nit__modelbuilder_base__AType___mtype].val; /* _mtype on */ +var212 = var214; +RET_LABEL213:(void)0; } } -var179 = NULL; -if (var176 == NULL) { -var180 = 0; /* is null */ +if (var212 == NULL) { +var215 = 0; /* is null */ } else { -var180 = 1; /* arg is null and recv is not */ +var215 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var176,var179) on */ -var_other = var179; +{ /* Inline kernel#Object#!= (var212,((val*)NULL)) on */ +var_other31 = ((val*)NULL); { -var183 = ((short int (*)(val* self, val* p0))(var176->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var176, var_other) /* == on */; +var218 = ((short int(*)(val* self, val* p0))(var212->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var212, var_other31); /* == on */ } -var184 = !var183; -var181 = var184; -goto RET_LABEL182; -RET_LABEL182:(void)0; +var219 = !var218; +var216 = var219; +goto RET_LABEL217; +RET_LABEL217:(void)0; } -var180 = var181; +var215 = var216; } -var168 = var180; +var205 = var215; } else { -var168 = var_175; +var205 = var_211; } -if (var168){ +if (var205){ { -var185 = nit__modelize_class___ModelBuilder___resolve_mtype(self, var_mmodule, var_mclassdef156, var_nfdt); +var220 = nit___nit__ModelBuilder___resolve_mtype(self, var_mmodule, var_mclassdef193, var_nfdt); } -var_bound = var185; -var186 = NULL; +var_bound = var220; if (var_bound == NULL) { -var187 = 1; /* is null */ +var221 = 1; /* is null */ } else { -var187 = 0; /* arg is null but recv is not */ +var221 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_bound,var186) on */ -var_other190 = var186; +{ /* Inline kernel#Object#== (var_bound,((val*)NULL)) on */ +var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_bound,var_other190) on */ -var193 = var_bound == var_other190; -var191 = var193; -goto RET_LABEL192; -RET_LABEL192:(void)0; +{ /* Inline kernel#Object#is_same_instance (var_bound,var_other) on */ +var226 = var_bound == var_other; +var224 = var226; +goto RET_LABEL225; +RET_LABEL225:(void)0; } } -var188 = var191; -goto RET_LABEL189; -RET_LABEL189:(void)0; +var222 = var224; +goto RET_LABEL223; +RET_LABEL223:(void)0; } -var187 = var188; +var221 = var222; } -if (var187){ +if (var221){ goto RET_LABEL; } else { } } else { } { -((void (*)(val* self))(var_162->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_162) /* next on */; +((void(*)(val* self))((((long)var_199&3)?class_info[((long)var_199&3)]:var_199->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_199); /* next on */ } } else { -goto BREAK_label194; +goto BREAK_label227; } } -BREAK_label194: (void)0; +BREAK_label227: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_162) on */ -RET_LABEL195:(void)0; -} +((void(*)(val* self))((((long)var_199&3)?class_info[((long)var_199&3)]:var_199->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_199); /* finish on */ } { -{ /* Inline parser_nodes#AStdClassdef#n_superclasses (var_nclassdef151) on */ -var198 = var_nclassdef151->attrs[COLOR_nit__parser_nodes__AStdClassdef___n_superclasses].val; /* _n_superclasses on */ -if (unlikely(var198 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_superclasses"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1033); -show_backtrace(1); +var228 = nit___nit__AStdClassdef___n_superclasses(var_nclassdef186); } -var196 = var198; -RET_LABEL197:(void)0; -} -} -var_199 = var196; +var_229 = var228; { -var200 = nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_199); +var230 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_229); } -var_201 = var200; +var_231 = var230; for(;;) { { -var202 = ((short int (*)(val* self))(var_201->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_201) /* is_ok on */; +var232 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_231); } -if (var202){ +if (var232){ { -var203 = ((val* (*)(val* self))(var_201->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_201) /* item on */; +var233 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_231); } -var_nsc = var203; +var_nsc = var233; { -{ /* Inline parser_nodes#ASuperclass#n_type (var_nsc) on */ -var206 = var_nsc->attrs[COLOR_nit__parser_nodes__ASuperclass___n_type].val; /* _n_type on */ -if (unlikely(var206 == NULL)) { +{ /* Inline parser_nodes#ASuperPropdef#n_type (var_nsc) on */ +var236 = var_nsc->attrs[COLOR_nit__parser_nodes__ASuperPropdef___n_type].val; /* _n_type on */ +if (unlikely(var236 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1121); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1403); +fatal_exit(1); } -var204 = var206; -RET_LABEL205:(void)0; +var234 = var236; +RET_LABEL235:(void)0; } } -var_ntype = var204; +var_ntype = var234; { -{ /* Inline modelize_class#AType#mtype (var_ntype) on */ -var209 = var_ntype->attrs[COLOR_nit__modelize_class__AType___mtype].val; /* _mtype on */ -var207 = var209; -RET_LABEL208:(void)0; +{ /* Inline modelbuilder_base#AType#mtype (var_ntype) on */ +var239 = var_ntype->attrs[COLOR_nit__modelbuilder_base__AType___mtype].val; /* _mtype on */ +var237 = var239; +RET_LABEL238:(void)0; } } -var210 = NULL; -if (var207 == NULL) { -var211 = 0; /* is null */ +if (var237 == NULL) { +var240 = 0; /* is null */ } else { -var211 = 1; /* arg is null and recv is not */ +var240 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var207,var210) on */ -var_other = var210; +{ /* Inline kernel#Object#!= (var237,((val*)NULL)) on */ +var_other31 = ((val*)NULL); { -var214 = ((short int (*)(val* self, val* p0))(var207->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var207, var_other) /* == on */; +var243 = ((short int(*)(val* self, val* p0))(var237->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var237, var_other31); /* == on */ } -var215 = !var214; -var212 = var215; -goto RET_LABEL213; -RET_LABEL213:(void)0; +var244 = !var243; +var241 = var244; +goto RET_LABEL242; +RET_LABEL242:(void)0; } -var211 = var212; +var240 = var241; } -if (var211){ +if (var240){ { -var216 = nit__modelize_class___ModelBuilder___resolve_mtype(self, var_mmodule, var_mclassdef156, var_ntype); +var245 = nit___nit__ModelBuilder___resolve_mtype(self, var_mmodule, var_mclassdef193, var_ntype); } -var_mtype = var216; -var217 = NULL; +var_mtype = var245; if (var_mtype == NULL) { -var218 = 1; /* is null */ +var246 = 1; /* is null */ } else { -var218 = 0; /* arg is null but recv is not */ +var246 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_mtype,var217) on */ -var_other190 = var217; +{ /* Inline kernel#Object#== (var_mtype,((val*)NULL)) on */ +var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_mtype,var_other190) on */ -var223 = var_mtype == var_other190; -var221 = var223; -goto RET_LABEL222; -RET_LABEL222:(void)0; +{ /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on */ +var251 = var_mtype == var_other; +var249 = var251; +goto RET_LABEL250; +RET_LABEL250:(void)0; } } -var219 = var221; -goto RET_LABEL220; -RET_LABEL220:(void)0; +var247 = var249; +goto RET_LABEL248; +RET_LABEL248:(void)0; } -var218 = var219; +var246 = var247; } -if (var218){ +if (var246){ goto RET_LABEL; } else { } } else { } { -((void (*)(val* self))(var_201->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_201) /* next on */; +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_231); /* Direct call array#ArrayIterator#next on */ } } else { -goto BREAK_label224; +goto BREAK_label252; } } -BREAK_label224: (void)0; +BREAK_label252: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_201) on */ -RET_LABEL225:(void)0; -} +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_231); /* Direct call array#ArrayIterator#finish on */ } } else { } { -((void (*)(val* self))(var_148->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_148) /* next on */; +((void(*)(val* self))((((long)var_183&3)?class_info[((long)var_183&3)]:var_183->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_183); /* next on */ } } else { -goto BREAK_label226; +goto BREAK_label253; } } -BREAK_label226: (void)0; +BREAK_label253: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_148) on */ -RET_LABEL227:(void)0; -} +((void(*)(val* self))((((long)var_183&3)?class_info[((long)var_183&3)]:var_183->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_183); /* finish on */ } { { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on */ -var230 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ -if (unlikely(var230 == NULL)) { +var256 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ +if (unlikely(var256 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47); -show_backtrace(1); +fatal_exit(1); } -var228 = var230; -RET_LABEL229:(void)0; +var254 = var256; +RET_LABEL255:(void)0; } } { -{ /* Inline toolcontext#ToolContext#error_count (var228) on */ -var233 = var228->attrs[COLOR_nit__toolcontext__ToolContext___error_count].l; /* _error_count on */ -var231 = var233; -RET_LABEL232:(void)0; +{ /* Inline toolcontext#ToolContext#error_count (var254) on */ +var259 = var254->attrs[COLOR_nit__toolcontext__ToolContext___error_count].l; /* _error_count on */ +var257 = var259; +RET_LABEL258:(void)0; } } { -{ /* Inline kernel#Int#!= (var_errcount,var231) on */ -var236 = var_errcount == var231; -var237 = !var236; -var234 = var237; -goto RET_LABEL235; -RET_LABEL235:(void)0; +{ /* Inline kernel#Int#!= (var_errcount,var257) on */ +var262 = var_errcount == var257; +var263 = !var262; +var260 = var263; +goto RET_LABEL261; +RET_LABEL261:(void)0; } } -if (var234){ +if (var260){ goto RET_LABEL; } else { } { { /* Inline parser_nodes#AModule#n_classdefs (var_nmodule) on */ -var240 = var_nmodule->attrs[COLOR_nit__parser_nodes__AModule___n_classdefs].val; /* _n_classdefs on */ -if (unlikely(var240 == NULL)) { +var266 = var_nmodule->attrs[COLOR_nit__parser_nodes__AModule___n_classdefs].val; /* _n_classdefs on */ +if (unlikely(var266 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_classdefs"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 919); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1096); +fatal_exit(1); } -var238 = var240; -RET_LABEL239:(void)0; +var264 = var266; +RET_LABEL265:(void)0; } } -var_241 = var238; +var_267 = var264; { -var242 = nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_241); +var268 = nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_267); } -var_243 = var242; +var_269 = var268; for(;;) { { -var244 = ((short int (*)(val* self))(var_243->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_243) /* is_ok on */; +var270 = ((short int(*)(val* self))((((long)var_269&3)?class_info[((long)var_269&3)]:var_269->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_269); /* is_ok on */ } -if (var244){ +if (var270){ { -var245 = ((val* (*)(val* self))(var_243->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_243) /* item on */; +var271 = ((val*(*)(val* self))((((long)var_269&3)?class_info[((long)var_269&3)]:var_269->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_269); /* item on */ } -var_nclassdef246 = var245; +var_nclassdef272 = var271; { -{ /* Inline modelize_class#AClassdef#mclassdef (var_nclassdef246) on */ -var249 = var_nclassdef246->attrs[COLOR_nit__modelize_class__AClassdef___mclassdef].val; /* _mclassdef on */ -var247 = var249; -RET_LABEL248:(void)0; +{ /* Inline modelize_class#AClassdef#mclassdef (var_nclassdef272) on */ +var275 = var_nclassdef272->attrs[COLOR_nit__modelize_class__AClassdef___mclassdef].val; /* _mclassdef on */ +var273 = var275; +RET_LABEL274:(void)0; } } -if (unlikely(var247 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 366); -show_backtrace(1); +var_mclassdef276 = var273; +if (var_mclassdef276 == NULL) { +var277 = 1; /* is null */ +} else { +var277 = 0; /* arg is null but recv is not */ +} +if (0) { +{ /* Inline kernel#Object#== (var_mclassdef276,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +{ /* Inline kernel#Object#is_same_instance (var_mclassdef276,var_other) on */ +var282 = var_mclassdef276 == var_other; +var280 = var282; +goto RET_LABEL281; +RET_LABEL281:(void)0; +} +} +var278 = var280; +goto RET_LABEL279; +RET_LABEL279:(void)0; } -var_mclassdef250 = var247; -var251 = NEW_standard__HashMap(&type_standard__HashMap__nit__MClass__nit__MClassType); +var277 = var278; +} +if (var277){ +goto BREAK_label283; +} else { +} +var284 = NEW_standard__HashMap(&type_standard__HashMap__nit__MClass__nit__MClassType); { -standard___standard__HashMap___standard__kernel__Object__init(var251); /* Direct call hash_collection#HashMap#init on */ +standard___standard__HashMap___standard__kernel__Object__init(var284); /* Direct call hash_collection#HashMap#init on */ } -var_superclasses = var251; +var_superclasses = var284; { -{ /* Inline model#MClassDef#in_hierarchy (var_mclassdef250) on */ -var254 = var_mclassdef250->attrs[COLOR_nit__model__MClassDef___in_hierarchy].val; /* _in_hierarchy on */ -var252 = var254; -RET_LABEL253:(void)0; +{ /* Inline model#MClassDef#in_hierarchy (var_mclassdef276) on */ +var287 = var_mclassdef276->attrs[COLOR_nit__model__MClassDef___in_hierarchy].val; /* _in_hierarchy on */ +var285 = var287; +RET_LABEL286:(void)0; } } -if (var252 == NULL) { +if (var285 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 368); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 390); +fatal_exit(1); } else { -var255 = poset___poset__POSetElement___greaters(var252); +var288 = poset___poset__POSetElement___greaters(var285); } -var_256 = var255; +var_289 = var288; { -var257 = ((val* (*)(val* self))(var_256->class->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_256) /* iterator on */; +var290 = ((val*(*)(val* self))((((long)var_289&3)?class_info[((long)var_289&3)]:var_289->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_289); /* iterator on */ } -var_258 = var257; +var_291 = var290; for(;;) { { -var259 = ((short int (*)(val* self))(var_258->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_258) /* is_ok on */; +var292 = ((short int(*)(val* self))((((long)var_291&3)?class_info[((long)var_291&3)]:var_291->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_291); /* is_ok on */ } -if (var259){ +if (var292){ { -var260 = ((val* (*)(val* self))(var_258->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_258) /* item on */; +var293 = ((val*(*)(val* self))((((long)var_291&3)?class_info[((long)var_291&3)]:var_291->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_291); /* item on */ } -var_scd = var260; +var_scd = var293; { { /* Inline model#MClassDef#supertypes (var_scd) on */ -var263 = var_scd->attrs[COLOR_nit__model__MClassDef___supertypes].val; /* _supertypes on */ -if (unlikely(var263 == NULL)) { +var296 = var_scd->attrs[COLOR_nit__model__MClassDef___supertypes].val; /* _supertypes on */ +if (unlikely(var296 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _supertypes"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 566); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 627); +fatal_exit(1); } -var261 = var263; -RET_LABEL262:(void)0; +var294 = var296; +RET_LABEL295:(void)0; } } -var_264 = var261; +var_297 = var294; { -var265 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_264); +var298 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_297); } -var_266 = var265; +var_299 = var298; for(;;) { { -var267 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_266); +var300 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_299); } -if (var267){ +if (var300){ { -var268 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_266); +var301 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_299); } -var_st = var268; +var_st = var301; { { /* Inline model#MClassType#mclass (var_st) on */ -var271 = var_st->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ -if (unlikely(var271 == NULL)) { +var304 = var_st->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ +if (unlikely(var304 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1058); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1138); +fatal_exit(1); } -var269 = var271; -RET_LABEL270:(void)0; +var302 = var304; +RET_LABEL303:(void)0; } } { -var272 = standard___standard__MapRead___has_key(var_superclasses, var269); +var305 = standard___standard__HashMap___standard__abstract_collection__MapRead__has_key(var_superclasses, var302); } -var273 = !var272; -if (var273){ +var306 = !var305; +if (var306){ { { /* Inline model#MClassType#mclass (var_st) on */ -var276 = var_st->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ -if (unlikely(var276 == NULL)) { +var309 = var_st->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ +if (unlikely(var309 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1058); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1138); +fatal_exit(1); } -var274 = var276; -RET_LABEL275:(void)0; +var307 = var309; +RET_LABEL308:(void)0; } } { -standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var_superclasses, var274, var_st); /* Direct call hash_collection#HashMap#[]= on */ +standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var_superclasses, var307, var_st); /* Direct call hash_collection#HashMap#[]= on */ } } else { { { /* Inline model#MClassType#mclass (var_st) on */ -var279 = var_st->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ -if (unlikely(var279 == NULL)) { +var312 = var_st->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ +if (unlikely(var312 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1058); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1138); +fatal_exit(1); } -var277 = var279; -RET_LABEL278:(void)0; +var310 = var312; +RET_LABEL311:(void)0; } } { -var280 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_superclasses, var277); +var313 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_superclasses, var310); } { -{ /* Inline kernel#Object#!= (var280,var_st) on */ -var_other = var_st; +{ /* Inline kernel#Object#!= (var313,var_st) on */ +var_other31 = var_st; { -var283 = ((short int (*)(val* self, val* p0))(var280->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var280, var_other) /* == on */; +var316 = ((short int(*)(val* self, val* p0))(var313->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var313, var_other31); /* == on */ } -var284 = !var283; -var281 = var284; -goto RET_LABEL282; -RET_LABEL282:(void)0; +var317 = !var316; +var314 = var317; +goto RET_LABEL315; +RET_LABEL315:(void)0; } } -if (var281){ +if (var314){ { { /* Inline model#MClassType#mclass (var_st) on */ -var287 = var_st->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ -if (unlikely(var287 == NULL)) { +var320 = var_st->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ +if (unlikely(var320 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1058); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1138); +fatal_exit(1); } -var285 = var287; -RET_LABEL286:(void)0; +var318 = var320; +RET_LABEL319:(void)0; } } { -var288 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_superclasses, var285); +var321 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_superclasses, var318); } { -{ /* Inline model#MClassDef#mclass (var_mclassdef250) on */ -var291 = var_mclassdef250->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ -if (unlikely(var291 == NULL)) { +{ /* Inline model#MClassDef#mclass (var_mclassdef276) on */ +var324 = var_mclassdef276->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ +if (unlikely(var324 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 492); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 553); +fatal_exit(1); } -var289 = var291; -RET_LABEL290:(void)0; +var322 = var324; +RET_LABEL323:(void)0; } } { -{ /* Inline model#MClass#mclass_type (var289) on */ -var294 = var289->attrs[COLOR_nit__model__MClass___mclass_type].val; /* _mclass_type on */ -if (unlikely(var294 == NULL)) { +{ /* Inline model#MClass#mclass_type (var322) on */ +var327 = var322->attrs[COLOR_nit__model__MClass___mclass_type].val; /* _mclass_type on */ +if (unlikely(var327 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 438); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 484); +fatal_exit(1); } -var292 = var294; -RET_LABEL293:(void)0; +var325 = var327; +RET_LABEL326:(void)0; } } { -{ /* Inline model#MClassDef#bound_mtype (var_mclassdef250) on */ -var297 = var_mclassdef250->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ -if (unlikely(var297 == NULL)) { +{ /* Inline model#MClassDef#bound_mtype (var_mclassdef276) on */ +var330 = var_mclassdef276->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ +if (unlikely(var330 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 495); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 556); +fatal_exit(1); } -var295 = var297; -RET_LABEL296:(void)0; +var328 = var330; +RET_LABEL329:(void)0; } } -var298 = 0; { -var299 = ((val* (*)(val* self, val* p0, val* p1, val* p2, short int p3))(var288->class->vft[COLOR_nit__model__MType__resolve_for]))(var288, var292, var295, var_mmodule, var298) /* resolve_for on */; +var331 = ((val*(*)(val* self, val* p0, val* p1, val* p2, short int p3))(var321->class->vft[COLOR_nit__model__MType__resolve_for]))(var321, var325, var328, var_mmodule, 0); /* resolve_for on */ } -var_st1 = var299; +var_st1 = var331; { -{ /* Inline model#MClassDef#mclass (var_mclassdef250) on */ -var302 = var_mclassdef250->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ -if (unlikely(var302 == NULL)) { +{ /* Inline model#MClassDef#mclass (var_mclassdef276) on */ +var334 = var_mclassdef276->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ +if (unlikely(var334 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 492); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 553); +fatal_exit(1); } -var300 = var302; -RET_LABEL301:(void)0; +var332 = var334; +RET_LABEL333:(void)0; } } { -{ /* Inline model#MClass#mclass_type (var300) on */ -var305 = var300->attrs[COLOR_nit__model__MClass___mclass_type].val; /* _mclass_type on */ -if (unlikely(var305 == NULL)) { +{ /* Inline model#MClass#mclass_type (var332) on */ +var337 = var332->attrs[COLOR_nit__model__MClass___mclass_type].val; /* _mclass_type on */ +if (unlikely(var337 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 438); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 484); +fatal_exit(1); } -var303 = var305; -RET_LABEL304:(void)0; +var335 = var337; +RET_LABEL336:(void)0; } } { -{ /* Inline model#MClassDef#bound_mtype (var_mclassdef250) on */ -var308 = var_mclassdef250->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ -if (unlikely(var308 == NULL)) { +{ /* Inline model#MClassDef#bound_mtype (var_mclassdef276) on */ +var340 = var_mclassdef276->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ +if (unlikely(var340 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 495); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 556); +fatal_exit(1); } -var306 = var308; -RET_LABEL307:(void)0; +var338 = var340; +RET_LABEL339:(void)0; } } -var309 = 0; { -var310 = ((val* (*)(val* self, val* p0, val* p1, val* p2, short int p3))(var_st->class->vft[COLOR_nit__model__MType__resolve_for]))(var_st, var303, var306, var_mmodule, var309) /* resolve_for on */; +var341 = ((val*(*)(val* self, val* p0, val* p1, val* p2, short int p3))(var_st->class->vft[COLOR_nit__model__MType__resolve_for]))(var_st, var335, var338, var_mmodule, 0); /* resolve_for on */ } -var_st2 = var310; +var_st2 = var341; { { /* Inline kernel#Object#!= (var_st1,var_st2) on */ -var_other = var_st2; +var_other31 = var_st2; { -var313 = ((short int (*)(val* self, val* p0))(var_st1->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_st1, var_other) /* == on */; +var344 = ((short int(*)(val* self, val* p0))(var_st1->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_st1, var_other31); /* == on */ } -var314 = !var313; -var311 = var314; -goto RET_LABEL312; -RET_LABEL312:(void)0; +var345 = !var344; +var342 = var345; +goto RET_LABEL343; +RET_LABEL343:(void)0; } } -if (var311){ -if (varonce) { -var315 = varonce; +if (var342){ +if (unlikely(varonce==NULL)) { +var346 = NEW_standard__NativeArray(7l, &type_standard__NativeArray__standard__String); +if (likely(varonce347!=NULL)) { +var348 = varonce347; } else { -var316 = "Error: Incompatibles ancestors for "; -var317 = 35; -var318 = standard___standard__NativeString___to_s_with_length(var316, var317); -var315 = var318; -varonce = var315; -} -{ -{ /* Inline model#MClassDef#mclass (var_mclassdef250) on */ -var321 = var_mclassdef250->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ -if (unlikely(var321 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 492); -show_backtrace(1); +var349 = "Error: incompatible ancestors for `"; +var350 = standard___standard__NativeString___to_s_with_length(var349, 35l); +var348 = var350; +varonce347 = var348; } -var319 = var321; -RET_LABEL320:(void)0; +((struct instance_standard__NativeArray*)var346)->values[0]=var348; +if (likely(varonce351!=NULL)) { +var352 = varonce351; +} else { +var353 = "`; conflict: `"; +var354 = standard___standard__NativeString___to_s_with_length(var353, 14l); +var352 = var354; +varonce351 = var352; } +((struct instance_standard__NativeArray*)var346)->values[2]=var352; +if (likely(varonce355!=NULL)) { +var356 = varonce355; +} else { +var357 = "` and `"; +var358 = standard___standard__NativeString___to_s_with_length(var357, 7l); +var356 = var358; +varonce355 = var356; } -if (varonce322) { -var323 = varonce322; +((struct instance_standard__NativeArray*)var346)->values[4]=var356; +if (likely(varonce359!=NULL)) { +var360 = varonce359; } else { -var324 = ": "; -var325 = 2; -var326 = standard___standard__NativeString___to_s_with_length(var324, var325); -var323 = var326; -varonce322 = var323; +var361 = "`"; +var362 = standard___standard__NativeString___to_s_with_length(var361, 1l); +var360 = var362; +varonce359 = var360; } -if (varonce327) { -var328 = varonce327; +((struct instance_standard__NativeArray*)var346)->values[6]=var360; } else { -var329 = ", "; -var330 = 2; -var331 = standard___standard__NativeString___to_s_with_length(var329, var330); -var328 = var331; -varonce327 = var328; +var346 = varonce; +varonce = NULL; +} +{ +{ /* Inline model#MClassDef#mclass (var_mclassdef276) on */ +var365 = var_mclassdef276->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ +if (unlikely(var365 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 553); +fatal_exit(1); +} +var363 = var365; +RET_LABEL364:(void)0; +} } -var332 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var332 = array_instance Array[Object] */ -var333 = 6; -var334 = NEW_standard__NativeArray(var333, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var334)->values[0] = (val*) var315; -((struct instance_standard__NativeArray*)var334)->values[1] = (val*) var319; -((struct instance_standard__NativeArray*)var334)->values[2] = (val*) var323; -((struct instance_standard__NativeArray*)var334)->values[3] = (val*) var_st1; -((struct instance_standard__NativeArray*)var334)->values[4] = (val*) var328; -((struct instance_standard__NativeArray*)var334)->values[5] = (val*) var_st2; { -((void (*)(val* self, val* p0, long p1))(var332->class->vft[COLOR_standard__array__Array__with_native]))(var332, var334, var333) /* with_native on */; +var366 = ((val*(*)(val* self))(var363->class->vft[COLOR_standard__string__Object__to_s]))(var363); /* to_s on */ } +((struct instance_standard__NativeArray*)var346)->values[1]=var366; +{ +var367 = ((val*(*)(val* self))(var_st1->class->vft[COLOR_standard__string__Object__to_s]))(var_st1); /* to_s on */ +} +((struct instance_standard__NativeArray*)var346)->values[3]=var367; +{ +var368 = ((val*(*)(val* self))(var_st2->class->vft[COLOR_standard__string__Object__to_s]))(var_st2); /* to_s on */ } +((struct instance_standard__NativeArray*)var346)->values[5]=var368; { -var335 = ((val* (*)(val* self))(var332->class->vft[COLOR_standard__string__Object__to_s]))(var332) /* to_s on */; +var369 = ((val*(*)(val* self))(var346->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var346); /* native_to_s on */ } +varonce = var346; { -nit___nit__ModelBuilder___error(self, var_nclassdef246, var335); /* Direct call modelbuilder_base#ModelBuilder#error on */ +nit___nit__ModelBuilder___error(self, var_nclassdef272, var369); /* Direct call modelbuilder_base#ModelBuilder#error on */ } } else { } @@ -6105,600 +6479,600 @@ nit___nit__ModelBuilder___error(self, var_nclassdef246, var335); /* Direct call } } { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_266); /* Direct call array#ArrayIterator#next on */ +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_299); /* Direct call array#ArrayIterator#next on */ } } else { -goto BREAK_label336; +goto BREAK_label370; } } -BREAK_label336: (void)0; +BREAK_label370: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_266) on */ -RET_LABEL337:(void)0; -} +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_299); /* Direct call array#ArrayIterator#finish on */ } { -((void (*)(val* self))(var_258->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_258) /* next on */; +((void(*)(val* self))((((long)var_291&3)?class_info[((long)var_291&3)]:var_291->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_291); /* next on */ } } else { -goto BREAK_label338; +goto BREAK_label371; } } -BREAK_label338: (void)0; +BREAK_label371: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_258) on */ -RET_LABEL339:(void)0; -} +((void(*)(val* self))((((long)var_291&3)?class_info[((long)var_291&3)]:var_291->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_291); /* finish on */ } +BREAK_label283: (void)0; { -((void (*)(val* self))(var_243->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_243) /* next on */; +((void(*)(val* self))((((long)var_269&3)?class_info[((long)var_269&3)]:var_269->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_269); /* next on */ } } else { -goto BREAK_label340; +goto BREAK_label372; } } -BREAK_label340: (void)0; +BREAK_label372: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_243) on */ -RET_LABEL341:(void)0; -} +((void(*)(val* self))((((long)var_269&3)?class_info[((long)var_269&3)]:var_269->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_269); /* finish on */ } { { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on */ -var344 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ -if (unlikely(var344 == NULL)) { +var375 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ +if (unlikely(var375 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47); -show_backtrace(1); +fatal_exit(1); } -var342 = var344; -RET_LABEL343:(void)0; +var373 = var375; +RET_LABEL374:(void)0; } } { -{ /* Inline toolcontext#ToolContext#error_count (var342) on */ -var347 = var342->attrs[COLOR_nit__toolcontext__ToolContext___error_count].l; /* _error_count on */ -var345 = var347; -RET_LABEL346:(void)0; +{ /* Inline toolcontext#ToolContext#error_count (var373) on */ +var378 = var373->attrs[COLOR_nit__toolcontext__ToolContext___error_count].l; /* _error_count on */ +var376 = var378; +RET_LABEL377:(void)0; } } { -{ /* Inline kernel#Int#!= (var_errcount,var345) on */ -var350 = var_errcount == var345; -var351 = !var350; -var348 = var351; -goto RET_LABEL349; -RET_LABEL349:(void)0; +{ /* Inline kernel#Int#!= (var_errcount,var376) on */ +var381 = var_errcount == var376; +var382 = !var381; +var379 = var382; +goto RET_LABEL380; +RET_LABEL380:(void)0; } } -if (var348){ +if (var379){ goto RET_LABEL; } else { } { { /* Inline parser_nodes#AModule#n_classdefs (var_nmodule) on */ -var354 = var_nmodule->attrs[COLOR_nit__parser_nodes__AModule___n_classdefs].val; /* _n_classdefs on */ -if (unlikely(var354 == NULL)) { +var385 = var_nmodule->attrs[COLOR_nit__parser_nodes__AModule___n_classdefs].val; /* _n_classdefs on */ +if (unlikely(var385 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_classdefs"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 919); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1096); +fatal_exit(1); } -var352 = var354; -RET_LABEL353:(void)0; +var383 = var385; +RET_LABEL384:(void)0; } } -var_355 = var352; +var_386 = var383; { -var356 = nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_355); +var387 = nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_386); } -var_357 = var356; +var_388 = var387; for(;;) { { -var358 = ((short int (*)(val* self))(var_357->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_357) /* is_ok on */; +var389 = ((short int(*)(val* self))((((long)var_388&3)?class_info[((long)var_388&3)]:var_388->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_388); /* is_ok on */ } -if (var358){ +if (var389){ { -var359 = ((val* (*)(val* self))(var_357->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_357) /* item on */; +var390 = ((val*(*)(val* self))((((long)var_388&3)?class_info[((long)var_388&3)]:var_388->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_388); /* item on */ } -var_nclassdef360 = var359; -/* isa AStdClassdef */ -cltype362 = type_nit__AStdClassdef.color; -idtype363 = type_nit__AStdClassdef.id; -if(cltype362 >= var_nclassdef360->type->table_size) { -var361 = 0; +var_nclassdef391 = var390; +/* isa AStdClassdef */ +cltype393 = type_nit__AStdClassdef.color; +idtype394 = type_nit__AStdClassdef.id; +if(cltype393 >= var_nclassdef391->type->table_size) { +var392 = 0; } else { -var361 = var_nclassdef360->type->type_table[cltype362] == idtype363; +var392 = var_nclassdef391->type->type_table[cltype393] == idtype394; } -var364 = !var361; -if (var364){ -goto BREAK_label365; +var395 = !var392; +if (var395){ +goto BREAK_label396; } else { } { -{ /* Inline modelize_class#AClassdef#mclassdef (var_nclassdef360) on */ -var368 = var_nclassdef360->attrs[COLOR_nit__modelize_class__AClassdef___mclassdef].val; /* _mclassdef on */ -var366 = var368; -RET_LABEL367:(void)0; +{ /* Inline modelize_class#AClassdef#mclassdef (var_nclassdef391) on */ +var399 = var_nclassdef391->attrs[COLOR_nit__modelize_class__AClassdef___mclassdef].val; /* _mclassdef on */ +var397 = var399; +RET_LABEL398:(void)0; } } -if (unlikely(var366 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 390); -show_backtrace(1); +var_mclassdef400 = var397; +if (var_mclassdef400 == NULL) { +var401 = 1; /* is null */ +} else { +var401 = 0; /* arg is null but recv is not */ +} +if (0) { +{ /* Inline kernel#Object#== (var_mclassdef400,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +{ /* Inline kernel#Object#is_same_instance (var_mclassdef400,var_other) on */ +var406 = var_mclassdef400 == var_other; +var404 = var406; +goto RET_LABEL405; +RET_LABEL405:(void)0; +} +} +var402 = var404; +goto RET_LABEL403; +RET_LABEL403:(void)0; +} +var401 = var402; +} +if (var401){ +goto BREAK_label396; +} else { } -var_mclassdef369 = var366; -var370 = NEW_standard__Array(&type_standard__Array__nit__MClass); +var407 = NEW_standard__Array(&type_standard__Array__nit__MClass); { -standard___standard__Array___standard__kernel__Object__init(var370); /* Direct call array#Array#init on */ +standard___standard__Array___standard__kernel__Object__init(var407); /* Direct call array#Array#init on */ } -var_parents = var370; +var_parents = var407; { -{ /* Inline model#MClassDef#in_hierarchy (var_mclassdef369) on */ -var373 = var_mclassdef369->attrs[COLOR_nit__model__MClassDef___in_hierarchy].val; /* _in_hierarchy on */ -var371 = var373; -RET_LABEL372:(void)0; +{ /* Inline model#MClassDef#in_hierarchy (var_mclassdef400) on */ +var410 = var_mclassdef400->attrs[COLOR_nit__model__MClassDef___in_hierarchy].val; /* _in_hierarchy on */ +var408 = var410; +RET_LABEL409:(void)0; } } -if (var371 == NULL) { +if (var408 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 395); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 418); +fatal_exit(1); } else { -var374 = poset___poset__POSetElement___direct_greaters(var371); +var411 = poset___poset__POSetElement___direct_greaters(var408); } -var_375 = var374; +var_412 = var411; { -var376 = ((val* (*)(val* self))(var_375->class->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_375) /* iterator on */; +var413 = ((val*(*)(val* self))((((long)var_412&3)?class_info[((long)var_412&3)]:var_412->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_412); /* iterator on */ } -var_377 = var376; +var_414 = var413; for(;;) { { -var378 = ((short int (*)(val* self))(var_377->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_377) /* is_ok on */; +var415 = ((short int(*)(val* self))((((long)var_414&3)?class_info[((long)var_414&3)]:var_414->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_414); /* is_ok on */ } -if (var378){ +if (var415){ { -var379 = ((val* (*)(val* self))(var_377->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_377) /* item on */; +var416 = ((val*(*)(val* self))((((long)var_414&3)?class_info[((long)var_414&3)]:var_414->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_414); /* item on */ } -var_sup = var379; +var_sup = var416; { { /* Inline model#MClassDef#mclass (var_sup) on */ -var382 = var_sup->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ -if (unlikely(var382 == NULL)) { +var419 = var_sup->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ +if (unlikely(var419 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 492); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 553); +fatal_exit(1); } -var380 = var382; -RET_LABEL381:(void)0; +var417 = var419; +RET_LABEL418:(void)0; } } { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_parents, var380); /* Direct call array#Array#add on */ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_parents, var417); /* Direct call array#Array#add on */ } { -((void (*)(val* self))(var_377->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_377) /* next on */; +((void(*)(val* self))((((long)var_414&3)?class_info[((long)var_414&3)]:var_414->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_414); /* next on */ } } else { -goto BREAK_label383; +goto BREAK_label420; } } -BREAK_label383: (void)0; +BREAK_label420: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_377) on */ -RET_LABEL384:(void)0; -} +((void(*)(val* self))((((long)var_414&3)?class_info[((long)var_414&3)]:var_414->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_414); /* finish on */ } -var385 = NEW_standard__ArrayMap(&type_standard__ArrayMap__nit__MClass__nit__AType); +var421 = NEW_standard__ArrayMap(&type_standard__ArrayMap__nit__MClass__nit__AType); { -{ /* Inline kernel#Object#init (var385) on */ -RET_LABEL386:(void)0; +{ /* Inline kernel#Object#init (var421) on */ +RET_LABEL422:(void)0; } } -var_seen_parents = var385; -if (varonce387) { -var388 = varonce387; +var_seen_parents = var421; +if (likely(varonce423!=NULL)) { +var424 = varonce423; } else { -var389 = "Object"; -var390 = 6; -var391 = standard___standard__NativeString___to_s_with_length(var389, var390); -var388 = var391; -varonce387 = var388; +var425 = "Object"; +var426 = standard___standard__NativeString___to_s_with_length(var425, 6l); +var424 = var426; +varonce423 = var424; } { -var392 = nit___nit__ModelBuilder___try_get_mclass_by_name(self, var_nmodule, var_mmodule, var388); +var427 = nit___nit__ModelBuilder___try_get_mclass_by_name(self, var_nmodule, var_mmodule, var424); } -var_objectclass = var392; +var_objectclass = var427; { -{ /* Inline parser_nodes#AStdClassdef#n_superclasses (var_nclassdef360) on */ -var395 = var_nclassdef360->attrs[COLOR_nit__parser_nodes__AStdClassdef___n_superclasses].val; /* _n_superclasses on */ -if (unlikely(var395 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_superclasses"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1033); -show_backtrace(1); +var428 = nit___nit__AStdClassdef___n_superclasses(var_nclassdef391); } -var393 = var395; -RET_LABEL394:(void)0; -} -} -var_396 = var393; +var_429 = var428; { -var397 = nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_396); +var430 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_429); } -var_398 = var397; +var_431 = var430; for(;;) { { -var399 = ((short int (*)(val* self))(var_398->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_398) /* is_ok on */; +var432 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_431); } -if (var399){ +if (var432){ { -var400 = ((val* (*)(val* self))(var_398->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_398) /* item on */; +var433 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_431); } -var_nsc401 = var400; +var_nsc434 = var433; { -{ /* Inline parser_nodes#ASuperclass#n_type (var_nsc401) on */ -var404 = var_nsc401->attrs[COLOR_nit__parser_nodes__ASuperclass___n_type].val; /* _n_type on */ -if (unlikely(var404 == NULL)) { +{ /* Inline parser_nodes#ASuperPropdef#n_type (var_nsc434) on */ +var437 = var_nsc434->attrs[COLOR_nit__parser_nodes__ASuperPropdef___n_type].val; /* _n_type on */ +if (unlikely(var437 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1121); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1403); +fatal_exit(1); } -var402 = var404; -RET_LABEL403:(void)0; +var435 = var437; +RET_LABEL436:(void)0; } } -var_ntype405 = var402; +var_ntype438 = var435; { -{ /* Inline modelize_class#AType#mtype (var_ntype405) on */ -var408 = var_ntype405->attrs[COLOR_nit__modelize_class__AType___mtype].val; /* _mtype on */ -var406 = var408; -RET_LABEL407:(void)0; +{ /* Inline modelbuilder_base#AType#mtype (var_ntype438) on */ +var441 = var_ntype438->attrs[COLOR_nit__modelbuilder_base__AType___mtype].val; /* _mtype on */ +var439 = var441; +RET_LABEL440:(void)0; } } -var_mtype409 = var406; -var410 = NULL; -if (var_mtype409 == NULL) { -var411 = 1; /* is null */ +var_mtype442 = var439; +if (var_mtype442 == NULL) { +var443 = 1; /* is null */ } else { -var411 = 0; /* arg is null but recv is not */ +var443 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_mtype409,var410) on */ -var_other190 = var410; +{ /* Inline kernel#Object#== (var_mtype442,((val*)NULL)) on */ +var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_mtype409,var_other190) on */ -var416 = var_mtype409 == var_other190; -var414 = var416; -goto RET_LABEL415; -RET_LABEL415:(void)0; +{ /* Inline kernel#Object#is_same_instance (var_mtype442,var_other) on */ +var448 = var_mtype442 == var_other; +var446 = var448; +goto RET_LABEL447; +RET_LABEL447:(void)0; } } -var412 = var414; -goto RET_LABEL413; -RET_LABEL413:(void)0; +var444 = var446; +goto RET_LABEL445; +RET_LABEL445:(void)0; } -var411 = var412; +var443 = var444; } -if (var411){ -goto BREAK_label417; +if (var443){ +goto BREAK_label449; } else { } -/* isa MClassType */ -cltype419 = type_nit__MClassType.color; -idtype420 = type_nit__MClassType.id; -if(cltype419 >= var_mtype409->type->table_size) { -var418 = 0; +/* isa MClassType */ +cltype451 = type_nit__MClassType.color; +idtype452 = type_nit__MClassType.id; +if(cltype451 >= var_mtype442->type->table_size) { +var450 = 0; } else { -var418 = var_mtype409->type->type_table[cltype419] == idtype420; +var450 = var_mtype442->type->type_table[cltype451] == idtype452; } -if (unlikely(!var418)) { +if (unlikely(!var450)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 410); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 433); +fatal_exit(1); } { -{ /* Inline model#MClassType#mclass (var_mtype409) on */ -var423 = var_mtype409->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ -if (unlikely(var423 == NULL)) { +{ /* Inline model#MClassType#mclass (var_mtype442) on */ +var455 = var_mtype442->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ +if (unlikely(var455 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1058); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1138); +fatal_exit(1); } -var421 = var423; -RET_LABEL422:(void)0; +var453 = var455; +RET_LABEL454:(void)0; } } -var_sc = var421; +var_sc = var453; { -var425 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__has(var_parents, var_sc); +var457 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__has(var_parents, var_sc); } -var426 = !var425; -var_427 = var426; -if (var426){ -var424 = var_427; +var458 = !var457; +var_459 = var458; +if (var458){ +var456 = var_459; } else { { { /* Inline kernel#Object#== (var_sc,var_objectclass) on */ -var_other190 = var_objectclass; +var_other = var_objectclass; { -{ /* Inline kernel#Object#is_same_instance (var_sc,var_other190) on */ -var432 = var_sc == var_other190; -var430 = var432; -goto RET_LABEL431; -RET_LABEL431:(void)0; +{ /* Inline kernel#Object#is_same_instance (var_sc,var_other) on */ +var464 = var_sc == var_other; +var462 = var464; +goto RET_LABEL463; +RET_LABEL463:(void)0; } } -var428 = var430; -goto RET_LABEL429; -RET_LABEL429:(void)0; +var460 = var462; +goto RET_LABEL461; +RET_LABEL461:(void)0; } } -var424 = var428; +var456 = var460; } -if (var424){ +if (var456){ { -{ /* Inline parser_nodes#ANode#location (var_ntype405) on */ -var436 = var_ntype405->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on */ -if (unlikely(var436 == NULL)) { +{ /* Inline parser_nodes#ANode#location (var_ntype438) on */ +var468 = var_ntype438->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on */ +if (unlikely(var468 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 23); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 24); +fatal_exit(1); } -var434 = var436; -RET_LABEL435:(void)0; +var466 = var468; +RET_LABEL467:(void)0; } } { -{ /* Inline location#Location#file (var434) on */ -var439 = var434->attrs[COLOR_nit__location__Location___file].val; /* _file on */ -var437 = var439; -RET_LABEL438:(void)0; +{ /* Inline location#Location#file (var466) on */ +var471 = var466->attrs[COLOR_nit__location__Location___file].val; /* _file on */ +var469 = var471; +RET_LABEL470:(void)0; } } -var440 = NULL; -if (var437 == NULL) { -var441 = 0; /* is null */ +if (var469 == NULL) { +var472 = 0; /* is null */ } else { -var441 = 1; /* arg is null and recv is not */ +var472 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var437,var440) on */ -var_other = var440; +{ /* Inline kernel#Object#!= (var469,((val*)NULL)) on */ +var_other31 = ((val*)NULL); { -var444 = ((short int (*)(val* self, val* p0))(var437->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var437, var_other) /* == on */; +var475 = ((short int(*)(val* self, val* p0))(var469->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var469, var_other31); /* == on */ } -var445 = !var444; -var442 = var445; -goto RET_LABEL443; -RET_LABEL443:(void)0; +var476 = !var475; +var473 = var476; +goto RET_LABEL474; +RET_LABEL474:(void)0; } -var441 = var442; +var472 = var473; } -var_446 = var441; -if (var441){ +var_477 = var472; +if (var472){ { -{ /* Inline parser_nodes#ANode#location (var_ntype405) on */ -var449 = var_ntype405->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on */ -if (unlikely(var449 == NULL)) { +{ /* Inline parser_nodes#ANode#location (var_ntype438) on */ +var480 = var_ntype438->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on */ +if (unlikely(var480 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 23); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 24); +fatal_exit(1); } -var447 = var449; -RET_LABEL448:(void)0; +var478 = var480; +RET_LABEL479:(void)0; } } { -{ /* Inline location#Location#file (var447) on */ -var452 = var447->attrs[COLOR_nit__location__Location___file].val; /* _file on */ -var450 = var452; -RET_LABEL451:(void)0; +{ /* Inline location#Location#file (var478) on */ +var483 = var478->attrs[COLOR_nit__location__Location___file].val; /* _file on */ +var481 = var483; +RET_LABEL482:(void)0; } } -if (var450 == NULL) { +if (var481 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 414); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 437); +fatal_exit(1); } else { -{ /* Inline location#SourceFile#filename (var450) on */ -if (unlikely(var450 == NULL)) { +{ /* Inline location#SourceFile#filename (var481) on */ +if (unlikely(var481 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__location, 22); -show_backtrace(1); +fatal_exit(1); } -var455 = var450->attrs[COLOR_nit__location__SourceFile___filename].val; /* _filename on */ -if (unlikely(var455 == NULL)) { +var486 = var481->attrs[COLOR_nit__location__SourceFile___filename].val; /* _filename on */ +if (unlikely(var486 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filename"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__location, 22); -show_backtrace(1); +fatal_exit(1); } -var453 = var455; -RET_LABEL454:(void)0; +var484 = var486; +RET_LABEL485:(void)0; } } { -var456 = standard___standard__Text___is_empty(var453); +var487 = standard___standard__Text___is_empty(var484); +} +var488 = !var487; +var465 = var488; +} else { +var465 = var_477; +} +if (var465){ +if (likely(varonce489!=NULL)) { +var490 = varonce489; +} else { +var491 = "useless-superclass"; +var492 = standard___standard__NativeString___to_s_with_length(var491, 18l); +var490 = var492; +varonce489 = var490; } -var457 = !var456; -var433 = var457; +if (unlikely(varonce493==NULL)) { +var494 = NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String); +if (likely(varonce495!=NULL)) { +var496 = varonce495; } else { -var433 = var_446; +var497 = "Warning: superfluous super-class `"; +var498 = standard___standard__NativeString___to_s_with_length(var497, 34l); +var496 = var498; +varonce495 = var496; } -if (var433){ -if (varonce458) { -var459 = varonce458; +((struct instance_standard__NativeArray*)var494)->values[0]=var496; +if (likely(varonce499!=NULL)) { +var500 = varonce499; } else { -var460 = "useless-superclass"; -var461 = 18; -var462 = standard___standard__NativeString___to_s_with_length(var460, var461); -var459 = var462; -varonce458 = var459; +var501 = "` in class `"; +var502 = standard___standard__NativeString___to_s_with_length(var501, 12l); +var500 = var502; +varonce499 = var500; } -if (varonce463) { -var464 = varonce463; +((struct instance_standard__NativeArray*)var494)->values[2]=var500; +if (likely(varonce503!=NULL)) { +var504 = varonce503; } else { -var465 = "Warning: superfluous super-class "; -var466 = 33; -var467 = standard___standard__NativeString___to_s_with_length(var465, var466); -var464 = var467; -varonce463 = var464; +var505 = "`."; +var506 = standard___standard__NativeString___to_s_with_length(var505, 2l); +var504 = var506; +varonce503 = var504; } -if (varonce468) { -var469 = varonce468; +((struct instance_standard__NativeArray*)var494)->values[4]=var504; } else { -var470 = " in class "; -var471 = 10; -var472 = standard___standard__NativeString___to_s_with_length(var470, var471); -var469 = var472; -varonce468 = var469; +var494 = varonce493; +varonce493 = NULL; } { -{ /* Inline model#MClassDef#mclass (var_mclassdef369) on */ -var475 = var_mclassdef369->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ -if (unlikely(var475 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 492); -show_backtrace(1); +var507 = ((val*(*)(val* self))(var_mtype442->class->vft[COLOR_standard__string__Object__to_s]))(var_mtype442); /* to_s on */ } -var473 = var475; -RET_LABEL474:(void)0; +((struct instance_standard__NativeArray*)var494)->values[1]=var507; +{ +{ /* Inline model#MClassDef#mclass (var_mclassdef400) on */ +var510 = var_mclassdef400->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ +if (unlikely(var510 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 553); +fatal_exit(1); } +var508 = var510; +RET_LABEL509:(void)0; } -if (varonce476) { -var477 = varonce476; -} else { -var478 = "."; -var479 = 1; -var480 = standard___standard__NativeString___to_s_with_length(var478, var479); -var477 = var480; -varonce476 = var477; } -var481 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var481 = array_instance Array[Object] */ -var482 = 5; -var483 = NEW_standard__NativeArray(var482, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var483)->values[0] = (val*) var464; -((struct instance_standard__NativeArray*)var483)->values[1] = (val*) var_mtype409; -((struct instance_standard__NativeArray*)var483)->values[2] = (val*) var469; -((struct instance_standard__NativeArray*)var483)->values[3] = (val*) var473; -((struct instance_standard__NativeArray*)var483)->values[4] = (val*) var477; { -((void (*)(val* self, val* p0, long p1))(var481->class->vft[COLOR_standard__array__Array__with_native]))(var481, var483, var482) /* with_native on */; -} +var511 = ((val*(*)(val* self))(var508->class->vft[COLOR_standard__string__Object__to_s]))(var508); /* to_s on */ } +((struct instance_standard__NativeArray*)var494)->values[3]=var511; { -var484 = ((val* (*)(val* self))(var481->class->vft[COLOR_standard__string__Object__to_s]))(var481) /* to_s on */; +var512 = ((val*(*)(val* self))(var494->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var494); /* native_to_s on */ } +varonce493 = var494; { -nit___nit__ModelBuilder___warning(self, var_ntype405, var459, var484); /* Direct call modelbuilder_base#ModelBuilder#warning on */ +nit___nit__ModelBuilder___warning(self, var_ntype438, var490, var512); /* Direct call modelbuilder_base#ModelBuilder#warning on */ } } else { } } else { { -var485 = standard___standard__MapRead___has_key(var_seen_parents, var_sc); +var513 = standard___standard__CoupleMap___MapRead__has_key(var_seen_parents, var_sc); } -var486 = !var485; -if (var486){ +var514 = !var513; +if (var514){ { -standard___standard__ArrayMap___standard__abstract_collection__Map___91d_93d_61d(var_seen_parents, var_sc, var_ntype405); /* Direct call array#ArrayMap#[]= on */ +standard___standard__ArrayMap___standard__abstract_collection__Map___91d_93d_61d(var_seen_parents, var_sc, var_ntype438); /* Direct call array#ArrayMap#[]= on */ +} +} else { +if (likely(varonce515!=NULL)) { +var516 = varonce515; +} else { +var517 = "useless-superclass"; +var518 = standard___standard__NativeString___to_s_with_length(var517, 18l); +var516 = var518; +varonce515 = var516; } +if (unlikely(varonce519==NULL)) { +var520 = NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String); +if (likely(varonce521!=NULL)) { +var522 = varonce521; } else { -if (varonce487) { -var488 = varonce487; +var523 = "Warning: duplicated super-class `"; +var524 = standard___standard__NativeString___to_s_with_length(var523, 33l); +var522 = var524; +varonce521 = var522; +} +((struct instance_standard__NativeArray*)var520)->values[0]=var522; +if (likely(varonce525!=NULL)) { +var526 = varonce525; } else { -var489 = "useless-superclass"; -var490 = 18; -var491 = standard___standard__NativeString___to_s_with_length(var489, var490); -var488 = var491; -varonce487 = var488; +var527 = "` in class `"; +var528 = standard___standard__NativeString___to_s_with_length(var527, 12l); +var526 = var528; +varonce525 = var526; } -if (varonce492) { -var493 = varonce492; +((struct instance_standard__NativeArray*)var520)->values[2]=var526; +if (likely(varonce529!=NULL)) { +var530 = varonce529; } else { -var494 = "Warning: duplicated super-class "; -var495 = 32; -var496 = standard___standard__NativeString___to_s_with_length(var494, var495); -var493 = var496; -varonce492 = var493; +var531 = "`."; +var532 = standard___standard__NativeString___to_s_with_length(var531, 2l); +var530 = var532; +varonce529 = var530; } -if (varonce497) { -var498 = varonce497; +((struct instance_standard__NativeArray*)var520)->values[4]=var530; } else { -var499 = " in class "; -var500 = 10; -var501 = standard___standard__NativeString___to_s_with_length(var499, var500); -var498 = var501; -varonce497 = var498; +var520 = varonce519; +varonce519 = NULL; } { -{ /* Inline model#MClassDef#mclass (var_mclassdef369) on */ -var504 = var_mclassdef369->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ -if (unlikely(var504 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 492); -show_backtrace(1); +var533 = ((val*(*)(val* self))(var_mtype442->class->vft[COLOR_standard__string__Object__to_s]))(var_mtype442); /* to_s on */ } -var502 = var504; -RET_LABEL503:(void)0; +((struct instance_standard__NativeArray*)var520)->values[1]=var533; +{ +{ /* Inline model#MClassDef#mclass (var_mclassdef400) on */ +var536 = var_mclassdef400->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ +if (unlikely(var536 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 553); +fatal_exit(1); } +var534 = var536; +RET_LABEL535:(void)0; } -if (varonce505) { -var506 = varonce505; -} else { -var507 = "."; -var508 = 1; -var509 = standard___standard__NativeString___to_s_with_length(var507, var508); -var506 = var509; -varonce505 = var506; } -var510 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var510 = array_instance Array[Object] */ -var511 = 5; -var512 = NEW_standard__NativeArray(var511, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var512)->values[0] = (val*) var493; -((struct instance_standard__NativeArray*)var512)->values[1] = (val*) var_mtype409; -((struct instance_standard__NativeArray*)var512)->values[2] = (val*) var498; -((struct instance_standard__NativeArray*)var512)->values[3] = (val*) var502; -((struct instance_standard__NativeArray*)var512)->values[4] = (val*) var506; { -((void (*)(val* self, val* p0, long p1))(var510->class->vft[COLOR_standard__array__Array__with_native]))(var510, var512, var511) /* with_native on */; -} +var537 = ((val*(*)(val* self))(var534->class->vft[COLOR_standard__string__Object__to_s]))(var534); /* to_s on */ } +((struct instance_standard__NativeArray*)var520)->values[3]=var537; { -var513 = ((val* (*)(val* self))(var510->class->vft[COLOR_standard__string__Object__to_s]))(var510) /* to_s on */; +var538 = ((val*(*)(val* self))(var520->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var520); /* native_to_s on */ } +varonce519 = var520; { -nit___nit__ModelBuilder___warning(self, var_ntype405, var488, var513); /* Direct call modelbuilder_base#ModelBuilder#warning on */ +nit___nit__ModelBuilder___warning(self, var_ntype438, var516, var538); /* Direct call modelbuilder_base#ModelBuilder#warning on */ } } } -BREAK_label417: (void)0; +BREAK_label449: (void)0; { -((void (*)(val* self))(var_398->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_398) /* next on */; +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_431); /* Direct call array#ArrayIterator#next on */ } } else { -goto BREAK_label514; +goto BREAK_label539; } } -BREAK_label514: (void)0; +BREAK_label539: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_398) on */ -RET_LABEL515:(void)0; -} +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_431); /* Direct call array#ArrayIterator#finish on */ } -BREAK_label365: (void)0; +BREAK_label396: (void)0; { -((void (*)(val* self))(var_357->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_357) /* next on */; +((void(*)(val* self))((((long)var_388&3)?class_info[((long)var_388&3)]:var_388->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_388); /* next on */ } } else { -goto BREAK_label516; +goto BREAK_label540; } } -BREAK_label516: (void)0; +BREAK_label540: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_357) on */ -RET_LABEL517:(void)0; -} +((void(*)(val* self))((((long)var_388&3)?class_info[((long)var_388&3)]:var_388->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_388); /* finish on */ } RET_LABEL:; } @@ -6709,1580 +7083,49 @@ val* var1 /* : HashMap[MClassDef, AClassdef] */; var1 = self->attrs[COLOR_nit__modelize_class__ModelBuilder___mclassdef2nclassdef].val; /* _mclassdef2nclassdef on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef2nclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 426); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 449); +fatal_exit(1); } var = var1; RET_LABEL:; return var; } -/* method modelize_class#ModelBuilder#resolve_mtype_unchecked for (self: ModelBuilder, MModule, nullable MClassDef, AType, Bool): nullable MType */ -val* nit__modelize_class___ModelBuilder___resolve_mtype_unchecked(val* self, val* p0, val* p1, val* p2, short int p3) { -val* var /* : nullable MType */; -val* var_mmodule /* var mmodule: MModule */; -val* var_mclassdef /* var mclassdef: nullable MClassDef */; -val* var_ntype /* var ntype: AType */; -short int var_with_virtual /* var with_virtual: Bool */; -val* var1 /* : TClassid */; -val* var3 /* : TClassid */; -val* var4 /* : String */; -val* var_name /* var name: String */; -short int var5 /* : Bool */; -val* var6 /* : null */; -short int var7 /* : Bool */; -short int var8 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var10 /* : Bool */; -short int var11 /* : Bool */; -short int var_ /* var : Bool */; -val* var12 /* : nullable MProperty */; -short int var13 /* : Bool */; -int cltype; -int idtype; -const char* var_class_name; -val* var_prop /* var prop: nullable MVirtualTypeProp */; -val* var14 /* : null */; -short int var15 /* : Bool */; -short int var16 /* : Bool */; -short int var18 /* : Bool */; -short int var19 /* : Bool */; -val* var20 /* : ANodes[AType] */; -val* var22 /* : ANodes[AType] */; -short int var23 /* : Bool */; -short int var24 /* : Bool */; -static val* varonce; -val* var25 /* : String */; -char* var26 /* : NativeString */; -long var27 /* : Int */; -val* var28 /* : FlatString */; -static val* varonce29; -val* var30 /* : String */; -char* var31 /* : NativeString */; -long var32 /* : Int */; -val* var33 /* : FlatString */; -val* var34 /* : Array[Object] */; -long var35 /* : Int */; -val* var36 /* : NativeArray[Object] */; -val* var37 /* : String */; -val* var38 /* : MVirtualType */; -val* var40 /* : MVirtualType */; -val* var_res /* var res: MType */; -val* var41 /* : nullable TKwnullable */; -val* var43 /* : nullable TKwnullable */; -val* var44 /* : null */; -short int var45 /* : Bool */; -short int var46 /* : Bool */; -short int var48 /* : Bool */; -short int var49 /* : Bool */; -val* var50 /* : MType */; -val* var52 /* : null */; -short int var53 /* : Bool */; -short int var54 /* : Bool */; -short int var56 /* : Bool */; -short int var57 /* : Bool */; -val* var58 /* : MClass */; -val* var60 /* : MClass */; -val* var61 /* : Array[MParameterType] */; -val* var63 /* : Array[MParameterType] */; -val* var_64 /* var : Array[MParameterType] */; -val* var65 /* : ArrayIterator[nullable Object] */; -val* var_66 /* var : ArrayIterator[MParameterType] */; -short int var67 /* : Bool */; -val* var68 /* : nullable Object */; -val* var_p /* var p: MParameterType */; -val* var69 /* : String */; -val* var71 /* : String */; -short int var72 /* : Bool */; -short int var74 /* : Bool */; -short int var75 /* : Bool */; -val* var76 /* : ANodes[AType] */; -val* var78 /* : ANodes[AType] */; -short int var79 /* : Bool */; -short int var80 /* : Bool */; -static val* varonce81; -val* var82 /* : String */; -char* var83 /* : NativeString */; -long var84 /* : Int */; -val* var85 /* : FlatString */; -static val* varonce86; -val* var87 /* : String */; -char* var88 /* : NativeString */; -long var89 /* : Int */; -val* var90 /* : FlatString */; -val* var91 /* : Array[Object] */; -long var92 /* : Int */; -val* var93 /* : NativeArray[Object] */; -val* var94 /* : String */; -val* var95 /* : nullable TKwnullable */; -val* var97 /* : nullable TKwnullable */; -val* var98 /* : null */; -short int var99 /* : Bool */; -short int var100 /* : Bool */; -short int var102 /* : Bool */; -short int var103 /* : Bool */; -val* var104 /* : MType */; -val* var108 /* : nullable MClass */; -val* var_mclass /* var mclass: nullable MClass */; -val* var109 /* : null */; -short int var110 /* : Bool */; -short int var111 /* : Bool */; -short int var113 /* : Bool */; -short int var114 /* : Bool */; -val* var115 /* : ANodes[AType] */; -val* var117 /* : ANodes[AType] */; -long var118 /* : Int */; -long var_arity /* var arity: Int */; -long var119 /* : Int */; -long var121 /* : Int */; -short int var122 /* : Bool */; -short int var124 /* : Bool */; -short int var125 /* : Bool */; -long var126 /* : Int */; -short int var127 /* : Bool */; -short int var129 /* : Bool */; -static val* varonce130; -val* var131 /* : String */; -char* var132 /* : NativeString */; -long var133 /* : Int */; -val* var134 /* : FlatString */; -static val* varonce135; -val* var136 /* : String */; -char* var137 /* : NativeString */; -long var138 /* : Int */; -val* var139 /* : FlatString */; -val* var140 /* : Array[Object] */; -long var141 /* : Int */; -val* var142 /* : NativeArray[Object] */; -val* var143 /* : String */; -long var144 /* : Int */; -long var146 /* : Int */; -long var147 /* : Int */; -short int var148 /* : Bool */; -short int var150 /* : Bool */; -static val* varonce151; -val* var152 /* : String */; -char* var153 /* : NativeString */; -long var154 /* : Int */; -val* var155 /* : FlatString */; -static val* varonce156; -val* var157 /* : String */; -char* var158 /* : NativeString */; -long var159 /* : Int */; -val* var160 /* : FlatString */; -val* var161 /* : Array[Object] */; -long var162 /* : Int */; -val* var163 /* : NativeArray[Object] */; -val* var164 /* : String */; -static val* varonce165; -val* var166 /* : String */; -char* var167 /* : NativeString */; -long var168 /* : Int */; -val* var169 /* : FlatString */; -static val* varonce170; -val* var171 /* : String */; -char* var172 /* : NativeString */; -long var173 /* : Int */; -val* var174 /* : FlatString */; -long var175 /* : Int */; -long var177 /* : Int */; -static val* varonce178; -val* var179 /* : String */; -char* var180 /* : NativeString */; -long var181 /* : Int */; -val* var182 /* : FlatString */; -static val* varonce183; -val* var184 /* : String */; -char* var185 /* : NativeString */; -long var186 /* : Int */; -val* var187 /* : FlatString */; -val* var188 /* : Array[Object] */; -long var189 /* : Int */; -val* var190 /* : NativeArray[Object] */; -val* var191 /* : Object */; -val* var192 /* : Object */; -val* var193 /* : String */; -val* var194 /* : null */; -long var195 /* : Int */; -short int var196 /* : Bool */; -short int var198 /* : Bool */; -val* var199 /* : MClassType */; -val* var201 /* : MClassType */; -val* var202 /* : nullable TKwnullable */; -val* var204 /* : nullable TKwnullable */; -val* var205 /* : null */; -short int var206 /* : Bool */; -short int var207 /* : Bool */; -short int var209 /* : Bool */; -short int var210 /* : Bool */; -val* var211 /* : MType */; -val* var213 /* : Array[MType] */; -val* var_mtypes /* var mtypes: Array[MType] */; -val* var214 /* : ANodes[AType] */; -val* var216 /* : ANodes[AType] */; -val* var_217 /* var : ANodes[AType] */; -val* var218 /* : Iterator[ANode] */; -val* var_219 /* var : Iterator[AType] */; -short int var220 /* : Bool */; -val* var221 /* : nullable Object */; -val* var_nt /* var nt: AType */; -val* var222 /* : nullable MType */; -val* var_mt /* var mt: nullable MType */; -val* var223 /* : null */; -short int var224 /* : Bool */; -short int var225 /* : Bool */; -val* var_other227 /* var other: nullable Object */; -short int var228 /* : Bool */; -short int var230 /* : Bool */; -val* var231 /* : null */; -val* var234 /* : MClassType */; -val* var235 /* : nullable TKwnullable */; -val* var237 /* : nullable TKwnullable */; -val* var238 /* : null */; -short int var239 /* : Bool */; -short int var240 /* : Bool */; -short int var242 /* : Bool */; -short int var243 /* : Bool */; -val* var244 /* : MType */; -static val* varonce246; -val* var247 /* : String */; -char* var248 /* : NativeString */; -long var249 /* : Int */; -val* var250 /* : FlatString */; -static val* varonce251; -val* var252 /* : String */; -char* var253 /* : NativeString */; -long var254 /* : Int */; -val* var255 /* : FlatString */; -static val* varonce256; -val* var257 /* : String */; -char* var258 /* : NativeString */; -long var259 /* : Int */; -val* var260 /* : FlatString */; -val* var261 /* : Array[Object] */; -long var262 /* : Int */; -val* var263 /* : NativeArray[Object] */; -val* var264 /* : String */; -val* var265 /* : null */; -var_mmodule = p0; -var_mclassdef = p1; -var_ntype = p2; -var_with_virtual = p3; -{ -{ /* Inline parser_nodes#AType#n_id (var_ntype) on */ -var3 = var_ntype->attrs[COLOR_nit__parser_nodes__AType___n_id].val; /* _n_id on */ -if (unlikely(var3 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1536); -show_backtrace(1); +/* method modelize_class#AModule#build_classes_is_done for (self: AModule): Bool */ +short int nit__modelize_class___AModule___build_classes_is_done(val* self) { +short int var /* : Bool */; +short int var1 /* : Bool */; +var1 = self->attrs[COLOR_nit__modelize_class__AModule___build_classes_is_done].s; /* _build_classes_is_done on */ +var = var1; +RET_LABEL:; +return var; } -var1 = var3; -RET_LABEL2:(void)0; +/* method modelize_class#AModule#build_classes_is_done= for (self: AModule, Bool) */ +void nit__modelize_class___AModule___build_classes_is_done_61d(val* self, short int p0) { +self->attrs[COLOR_nit__modelize_class__AModule___build_classes_is_done].s = p0; /* _build_classes_is_done on */ +RET_LABEL:; } +/* method modelize_class#AModule#mclass2nclassdef for (self: AModule): Map[MClass, AClassdef] */ +val* nit__modelize_class___AModule___mclass2nclassdef(val* self) { +val* var /* : Map[MClass, AClassdef] */; +val* var1 /* : Map[MClass, AClassdef] */; +var1 = self->attrs[COLOR_nit__modelize_class__AModule___mclass2nclassdef].val; /* _mclass2nclassdef on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass2nclassdef"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 464); +fatal_exit(1); } -{ -var4 = nit__lexer_work___Token___text(var1); +var = var1; +RET_LABEL:; +return var; } -var_name = var4; -var6 = NULL; -if (var_mclassdef == NULL) { -var7 = 0; /* is null */ -} else { -var7 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_mclassdef,var6) on */ -var_other = var6; -{ -var10 = ((short int (*)(val* self, val* p0))(var_mclassdef->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_mclassdef, var_other) /* == on */; -} -var11 = !var10; -var8 = var11; -goto RET_LABEL9; -RET_LABEL9:(void)0; -} -var7 = var8; -} -var_ = var7; -if (var7){ -var5 = var_with_virtual; -} else { -var5 = var_; -} -if (var5){ -{ -var12 = nit___nit__ModelBuilder___try_get_mproperty_by_name(self, var_ntype, var_mclassdef, var_name); -} -/* isa nullable MVirtualTypeProp */ -cltype = type_nullable__nit__MVirtualTypeProp.color; -idtype = type_nullable__nit__MVirtualTypeProp.id; -if(var12 == NULL) { -var13 = 1; -} else { -if(cltype >= var12->type->table_size) { -var13 = 0; -} else { -var13 = var12->type->type_table[cltype] == idtype; -} -} -if (unlikely(!var13)) { -var_class_name = var12 == NULL ? "null" : var12->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MVirtualTypeProp", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 440); -show_backtrace(1); -} -var_prop = var12; -var14 = NULL; -if (var_prop == NULL) { -var15 = 0; /* is null */ -} else { -var15 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_prop,var14) on */ -var_other = var14; -{ -var18 = ((short int (*)(val* self, val* p0))(var_prop->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_prop, var_other) /* == on */; -} -var19 = !var18; -var16 = var19; -goto RET_LABEL17; -RET_LABEL17:(void)0; -} -var15 = var16; -} -if (var15){ -{ -{ /* Inline parser_nodes#AType#n_types (var_ntype) on */ -var22 = var_ntype->attrs[COLOR_nit__parser_nodes__AType___n_types].val; /* _n_types on */ -if (unlikely(var22 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_types"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1539); -show_backtrace(1); -} -var20 = var22; -RET_LABEL21:(void)0; -} -} -{ -var23 = nit___nit__ANodes___standard__abstract_collection__Collection__is_empty(var20); -} -var24 = !var23; -if (var24){ -if (varonce) { -var25 = varonce; -} else { -var26 = "Type error: formal type "; -var27 = 24; -var28 = standard___standard__NativeString___to_s_with_length(var26, var27); -var25 = var28; -varonce = var25; -} -if (varonce29) { -var30 = varonce29; -} else { -var31 = " cannot have formal parameters."; -var32 = 31; -var33 = standard___standard__NativeString___to_s_with_length(var31, var32); -var30 = var33; -varonce29 = var30; -} -var34 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var34 = array_instance Array[Object] */ -var35 = 3; -var36 = NEW_standard__NativeArray(var35, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var36)->values[0] = (val*) var25; -((struct instance_standard__NativeArray*)var36)->values[1] = (val*) var_name; -((struct instance_standard__NativeArray*)var36)->values[2] = (val*) var30; -{ -((void (*)(val* self, val* p0, long p1))(var34->class->vft[COLOR_standard__array__Array__with_native]))(var34, var36, var35) /* with_native on */; -} -} -{ -var37 = ((val* (*)(val* self))(var34->class->vft[COLOR_standard__string__Object__to_s]))(var34) /* to_s on */; -} -{ -nit___nit__ModelBuilder___error(self, var_ntype, var37); /* Direct call modelbuilder_base#ModelBuilder#error on */ -} -} else { -} -{ -{ /* Inline model#MVirtualTypeProp#mvirtualtype (var_prop) on */ -var40 = var_prop->attrs[COLOR_nit__model__MVirtualTypeProp___mvirtualtype].val; /* _mvirtualtype on */ -if (unlikely(var40 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mvirtualtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1992); -show_backtrace(1); -} -var38 = var40; -RET_LABEL39:(void)0; -} -} -var_res = var38; -{ -{ /* Inline parser_nodes#AType#n_kwnullable (var_ntype) on */ -var43 = var_ntype->attrs[COLOR_nit__parser_nodes__AType___n_kwnullable].val; /* _n_kwnullable on */ -var41 = var43; -RET_LABEL42:(void)0; -} -} -var44 = NULL; -if (var41 == NULL) { -var45 = 0; /* is null */ -} else { -var45 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var41,var44) on */ -var_other = var44; -{ -var48 = ((short int (*)(val* self, val* p0))(var41->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var41, var_other) /* == on */; -} -var49 = !var48; -var46 = var49; -goto RET_LABEL47; -RET_LABEL47:(void)0; -} -var45 = var46; -} -if (var45){ -{ -var50 = nit___nit__MType___as_nullable(var_res); -} -var_res = var50; -} else { -} -{ -{ /* Inline modelize_class#AType#mtype= (var_ntype,var_res) on */ -var_ntype->attrs[COLOR_nit__modelize_class__AType___mtype].val = var_res; /* _mtype on */ -RET_LABEL51:(void)0; -} -} -var = var_res; -goto RET_LABEL; -} else { -} -} else { -} -var52 = NULL; -if (var_mclassdef == NULL) { -var53 = 0; /* is null */ -} else { -var53 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_mclassdef,var52) on */ -var_other = var52; -{ -var56 = ((short int (*)(val* self, val* p0))(var_mclassdef->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_mclassdef, var_other) /* == on */; -} -var57 = !var56; -var54 = var57; -goto RET_LABEL55; -RET_LABEL55:(void)0; -} -var53 = var54; -} -if (var53){ -{ -{ /* Inline model#MClassDef#mclass (var_mclassdef) on */ -var60 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ -if (unlikely(var60 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 492); -show_backtrace(1); -} -var58 = var60; -RET_LABEL59:(void)0; -} -} -{ -{ /* Inline model#MClass#mparameters (var58) on */ -var63 = var58->attrs[COLOR_nit__model__MClass___mparameters].val; /* _mparameters on */ -if (unlikely(var63 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 368); -show_backtrace(1); -} -var61 = var63; -RET_LABEL62:(void)0; -} -} -var_64 = var61; -{ -var65 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_64); -} -var_66 = var65; -for(;;) { -{ -var67 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_66); -} -if (var67){ -{ -var68 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_66); -} -var_p = var68; -{ -{ /* Inline model#MParameterType#name (var_p) on */ -var71 = var_p->attrs[COLOR_nit__model__MParameterType___name].val; /* _name on */ -if (unlikely(var71 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1391); -show_backtrace(1); -} -var69 = var71; -RET_LABEL70:(void)0; -} -} -{ -{ /* Inline kernel#Object#!= (var69,var_name) on */ -var_other = var_name; -{ -var74 = ((short int (*)(val* self, val* p0))(var69->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var69, var_other) /* == on */; -} -var75 = !var74; -var72 = var75; -goto RET_LABEL73; -RET_LABEL73:(void)0; -} -} -if (var72){ -goto BREAK_label; -} else { -} -{ -{ /* Inline parser_nodes#AType#n_types (var_ntype) on */ -var78 = var_ntype->attrs[COLOR_nit__parser_nodes__AType___n_types].val; /* _n_types on */ -if (unlikely(var78 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_types"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1539); -show_backtrace(1); -} -var76 = var78; -RET_LABEL77:(void)0; -} -} -{ -var79 = nit___nit__ANodes___standard__abstract_collection__Collection__is_empty(var76); -} -var80 = !var79; -if (var80){ -if (varonce81) { -var82 = varonce81; -} else { -var83 = "Type error: formal type "; -var84 = 24; -var85 = standard___standard__NativeString___to_s_with_length(var83, var84); -var82 = var85; -varonce81 = var82; -} -if (varonce86) { -var87 = varonce86; -} else { -var88 = " cannot have formal parameters."; -var89 = 31; -var90 = standard___standard__NativeString___to_s_with_length(var88, var89); -var87 = var90; -varonce86 = var87; -} -var91 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var91 = array_instance Array[Object] */ -var92 = 3; -var93 = NEW_standard__NativeArray(var92, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var93)->values[0] = (val*) var82; -((struct instance_standard__NativeArray*)var93)->values[1] = (val*) var_name; -((struct instance_standard__NativeArray*)var93)->values[2] = (val*) var87; -{ -((void (*)(val* self, val* p0, long p1))(var91->class->vft[COLOR_standard__array__Array__with_native]))(var91, var93, var92) /* with_native on */; -} -} -{ -var94 = ((val* (*)(val* self))(var91->class->vft[COLOR_standard__string__Object__to_s]))(var91) /* to_s on */; -} -{ -nit___nit__ModelBuilder___error(self, var_ntype, var94); /* Direct call modelbuilder_base#ModelBuilder#error on */ -} -} else { -} -var_res = var_p; -{ -{ /* Inline parser_nodes#AType#n_kwnullable (var_ntype) on */ -var97 = var_ntype->attrs[COLOR_nit__parser_nodes__AType___n_kwnullable].val; /* _n_kwnullable on */ -var95 = var97; -RET_LABEL96:(void)0; -} -} -var98 = NULL; -if (var95 == NULL) { -var99 = 0; /* is null */ -} else { -var99 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var95,var98) on */ -var_other = var98; -{ -var102 = ((short int (*)(val* self, val* p0))(var95->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var95, var_other) /* == on */; -} -var103 = !var102; -var100 = var103; -goto RET_LABEL101; -RET_LABEL101:(void)0; -} -var99 = var100; -} -if (var99){ -{ -var104 = nit___nit__MType___as_nullable(var_res); -} -var_res = var104; -} else { -} -{ -{ /* Inline modelize_class#AType#mtype= (var_ntype,var_res) on */ -var_ntype->attrs[COLOR_nit__modelize_class__AType___mtype].val = var_res; /* _mtype on */ -RET_LABEL105:(void)0; -} -} -var = var_res; -goto RET_LABEL; -BREAK_label: (void)0; -{ -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_66); /* Direct call array#ArrayIterator#next on */ -} -} else { -goto BREAK_label106; -} -} -BREAK_label106: (void)0; -{ -{ /* Inline abstract_collection#Iterator#finish (var_66) on */ -RET_LABEL107:(void)0; -} -} -} else { -} -{ -var108 = nit___nit__ModelBuilder___try_get_mclass_by_name(self, var_ntype, var_mmodule, var_name); -} -var_mclass = var108; -var109 = NULL; -if (var_mclass == NULL) { -var110 = 0; /* is null */ -} else { -var110 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_mclass,var109) on */ -var_other = var109; -{ -var113 = ((short int (*)(val* self, val* p0))(var_mclass->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_mclass, var_other) /* == on */; -} -var114 = !var113; -var111 = var114; -goto RET_LABEL112; -RET_LABEL112:(void)0; -} -var110 = var111; -} -if (var110){ -{ -{ /* Inline parser_nodes#AType#n_types (var_ntype) on */ -var117 = var_ntype->attrs[COLOR_nit__parser_nodes__AType___n_types].val; /* _n_types on */ -if (unlikely(var117 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_types"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1539); -show_backtrace(1); -} -var115 = var117; -RET_LABEL116:(void)0; -} -} -{ -var118 = nit___nit__ANodes___standard__abstract_collection__Collection__length(var115); -} -var_arity = var118; -{ -{ /* Inline model#MClass#arity (var_mclass) on */ -var121 = var_mclass->attrs[COLOR_nit__model__MClass___arity].l; /* _arity on */ -var119 = var121; -RET_LABEL120:(void)0; -} -} -{ -{ /* Inline kernel#Int#!= (var_arity,var119) on */ -var124 = var_arity == var119; -var125 = !var124; -var122 = var125; -goto RET_LABEL123; -RET_LABEL123:(void)0; -} -} -if (var122){ -var126 = 0; -{ -{ /* Inline kernel#Int#== (var_arity,var126) on */ -var129 = var_arity == var126; -var127 = var129; -goto RET_LABEL128; -RET_LABEL128:(void)0; -} -} -if (var127){ -if (varonce130) { -var131 = varonce130; -} else { -var132 = "Type error: \'"; -var133 = 13; -var134 = standard___standard__NativeString___to_s_with_length(var132, var133); -var131 = var134; -varonce130 = var131; -} -if (varonce135) { -var136 = varonce135; -} else { -var137 = "\' is a generic class."; -var138 = 21; -var139 = standard___standard__NativeString___to_s_with_length(var137, var138); -var136 = var139; -varonce135 = var136; -} -var140 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var140 = array_instance Array[Object] */ -var141 = 3; -var142 = NEW_standard__NativeArray(var141, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var142)->values[0] = (val*) var131; -((struct instance_standard__NativeArray*)var142)->values[1] = (val*) var_name; -((struct instance_standard__NativeArray*)var142)->values[2] = (val*) var136; -{ -((void (*)(val* self, val* p0, long p1))(var140->class->vft[COLOR_standard__array__Array__with_native]))(var140, var142, var141) /* with_native on */; -} -} -{ -var143 = ((val* (*)(val* self))(var140->class->vft[COLOR_standard__string__Object__to_s]))(var140) /* to_s on */; -} -{ -nit___nit__ModelBuilder___error(self, var_ntype, var143); /* Direct call modelbuilder_base#ModelBuilder#error on */ -} -} else { -{ -{ /* Inline model#MClass#arity (var_mclass) on */ -var146 = var_mclass->attrs[COLOR_nit__model__MClass___arity].l; /* _arity on */ -var144 = var146; -RET_LABEL145:(void)0; -} -} -var147 = 0; -{ -{ /* Inline kernel#Int#== (var144,var147) on */ -var150 = var144 == var147; -var148 = var150; -goto RET_LABEL149; -RET_LABEL149:(void)0; -} -} -if (var148){ -if (varonce151) { -var152 = varonce151; -} else { -var153 = "Type error: \'"; -var154 = 13; -var155 = standard___standard__NativeString___to_s_with_length(var153, var154); -var152 = var155; -varonce151 = var152; -} -if (varonce156) { -var157 = varonce156; -} else { -var158 = "\' is not a generic class."; -var159 = 25; -var160 = standard___standard__NativeString___to_s_with_length(var158, var159); -var157 = var160; -varonce156 = var157; -} -var161 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var161 = array_instance Array[Object] */ -var162 = 3; -var163 = NEW_standard__NativeArray(var162, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var163)->values[0] = (val*) var152; -((struct instance_standard__NativeArray*)var163)->values[1] = (val*) var_name; -((struct instance_standard__NativeArray*)var163)->values[2] = (val*) var157; -{ -((void (*)(val* self, val* p0, long p1))(var161->class->vft[COLOR_standard__array__Array__with_native]))(var161, var163, var162) /* with_native on */; -} -} -{ -var164 = ((val* (*)(val* self))(var161->class->vft[COLOR_standard__string__Object__to_s]))(var161) /* to_s on */; -} -{ -nit___nit__ModelBuilder___error(self, var_ntype, var164); /* Direct call modelbuilder_base#ModelBuilder#error on */ -} -} else { -if (varonce165) { -var166 = varonce165; -} else { -var167 = "Type error: \'"; -var168 = 13; -var169 = standard___standard__NativeString___to_s_with_length(var167, var168); -var166 = var169; -varonce165 = var166; -} -if (varonce170) { -var171 = varonce170; -} else { -var172 = "\' has "; -var173 = 6; -var174 = standard___standard__NativeString___to_s_with_length(var172, var173); -var171 = var174; -varonce170 = var171; -} -{ -{ /* Inline model#MClass#arity (var_mclass) on */ -var177 = var_mclass->attrs[COLOR_nit__model__MClass___arity].l; /* _arity on */ -var175 = var177; -RET_LABEL176:(void)0; -} -} -if (varonce178) { -var179 = varonce178; -} else { -var180 = " parameters ("; -var181 = 13; -var182 = standard___standard__NativeString___to_s_with_length(var180, var181); -var179 = var182; -varonce178 = var179; -} -if (varonce183) { -var184 = varonce183; -} else { -var185 = " are provided)."; -var186 = 15; -var187 = standard___standard__NativeString___to_s_with_length(var185, var186); -var184 = var187; -varonce183 = var184; -} -var188 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var188 = array_instance Array[Object] */ -var189 = 7; -var190 = NEW_standard__NativeArray(var189, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var190)->values[0] = (val*) var166; -((struct instance_standard__NativeArray*)var190)->values[1] = (val*) var_name; -((struct instance_standard__NativeArray*)var190)->values[2] = (val*) var171; -var191 = BOX_standard__Int(var175); /* autobox from Int to Object */ -((struct instance_standard__NativeArray*)var190)->values[3] = (val*) var191; -((struct instance_standard__NativeArray*)var190)->values[4] = (val*) var179; -var192 = BOX_standard__Int(var_arity); /* autobox from Int to Object */ -((struct instance_standard__NativeArray*)var190)->values[5] = (val*) var192; -((struct instance_standard__NativeArray*)var190)->values[6] = (val*) var184; -{ -((void (*)(val* self, val* p0, long p1))(var188->class->vft[COLOR_standard__array__Array__with_native]))(var188, var190, var189) /* with_native on */; -} -} -{ -var193 = ((val* (*)(val* self))(var188->class->vft[COLOR_standard__string__Object__to_s]))(var188) /* to_s on */; -} -{ -nit___nit__ModelBuilder___error(self, var_ntype, var193); /* Direct call modelbuilder_base#ModelBuilder#error on */ -} -} -} -var194 = NULL; -var = var194; -goto RET_LABEL; -} else { -} -var195 = 0; -{ -{ /* Inline kernel#Int#== (var_arity,var195) on */ -var198 = var_arity == var195; -var196 = var198; -goto RET_LABEL197; -RET_LABEL197:(void)0; -} -} -if (var196){ -{ -{ /* Inline model#MClass#mclass_type (var_mclass) on */ -var201 = var_mclass->attrs[COLOR_nit__model__MClass___mclass_type].val; /* _mclass_type on */ -if (unlikely(var201 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 438); -show_backtrace(1); -} -var199 = var201; -RET_LABEL200:(void)0; -} -} -var_res = var199; -{ -{ /* Inline parser_nodes#AType#n_kwnullable (var_ntype) on */ -var204 = var_ntype->attrs[COLOR_nit__parser_nodes__AType___n_kwnullable].val; /* _n_kwnullable on */ -var202 = var204; -RET_LABEL203:(void)0; -} -} -var205 = NULL; -if (var202 == NULL) { -var206 = 0; /* is null */ -} else { -var206 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var202,var205) on */ -var_other = var205; -{ -var209 = ((short int (*)(val* self, val* p0))(var202->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var202, var_other) /* == on */; -} -var210 = !var209; -var207 = var210; -goto RET_LABEL208; -RET_LABEL208:(void)0; -} -var206 = var207; -} -if (var206){ -{ -var211 = nit___nit__MType___as_nullable(var_res); -} -var_res = var211; -} else { -} -{ -{ /* Inline modelize_class#AType#mtype= (var_ntype,var_res) on */ -var_ntype->attrs[COLOR_nit__modelize_class__AType___mtype].val = var_res; /* _mtype on */ -RET_LABEL212:(void)0; -} -} -var = var_res; -goto RET_LABEL; -} else { -var213 = NEW_standard__Array(&type_standard__Array__nit__MType); -{ -standard___standard__Array___standard__kernel__Object__init(var213); /* Direct call array#Array#init on */ -} -var_mtypes = var213; -{ -{ /* Inline parser_nodes#AType#n_types (var_ntype) on */ -var216 = var_ntype->attrs[COLOR_nit__parser_nodes__AType___n_types].val; /* _n_types on */ -if (unlikely(var216 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_types"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1539); -show_backtrace(1); -} -var214 = var216; -RET_LABEL215:(void)0; -} -} -var_217 = var214; -{ -var218 = nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_217); -} -var_219 = var218; -for(;;) { -{ -var220 = ((short int (*)(val* self))(var_219->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_219) /* is_ok on */; -} -if (var220){ -{ -var221 = ((val* (*)(val* self))(var_219->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_219) /* item on */; -} -var_nt = var221; -{ -var222 = nit__modelize_class___ModelBuilder___resolve_mtype_unchecked(self, var_mmodule, var_mclassdef, var_nt, var_with_virtual); -} -var_mt = var222; -var223 = NULL; -if (var_mt == NULL) { -var224 = 1; /* is null */ -} else { -var224 = 0; /* arg is null but recv is not */ -} -if (0) { -{ /* Inline kernel#Object#== (var_mt,var223) on */ -var_other227 = var223; -{ -{ /* Inline kernel#Object#is_same_instance (var_mt,var_other227) on */ -var230 = var_mt == var_other227; -var228 = var230; -goto RET_LABEL229; -RET_LABEL229:(void)0; -} -} -var225 = var228; -goto RET_LABEL226; -RET_LABEL226:(void)0; -} -var224 = var225; -} -if (var224){ -var231 = NULL; -var = var231; -goto RET_LABEL; -} else { -} -{ -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_mtypes, var_mt); /* Direct call array#Array#add on */ -} -{ -((void (*)(val* self))(var_219->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_219) /* next on */; -} -} else { -goto BREAK_label232; -} -} -BREAK_label232: (void)0; -{ -{ /* Inline abstract_collection#Iterator#finish (var_219) on */ -RET_LABEL233:(void)0; -} -} -{ -var234 = nit___nit__MClass___get_mtype(var_mclass, var_mtypes); -} -var_res = var234; -{ -{ /* Inline parser_nodes#AType#n_kwnullable (var_ntype) on */ -var237 = var_ntype->attrs[COLOR_nit__parser_nodes__AType___n_kwnullable].val; /* _n_kwnullable on */ -var235 = var237; -RET_LABEL236:(void)0; -} -} -var238 = NULL; -if (var235 == NULL) { -var239 = 0; /* is null */ -} else { -var239 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var235,var238) on */ -var_other = var238; -{ -var242 = ((short int (*)(val* self, val* p0))(var235->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var235, var_other) /* == on */; -} -var243 = !var242; -var240 = var243; -goto RET_LABEL241; -RET_LABEL241:(void)0; -} -var239 = var240; -} -if (var239){ -{ -var244 = nit___nit__MType___as_nullable(var_res); -} -var_res = var244; -} else { -} -{ -{ /* Inline modelize_class#AType#mtype= (var_ntype,var_res) on */ -var_ntype->attrs[COLOR_nit__modelize_class__AType___mtype].val = var_res; /* _mtype on */ -RET_LABEL245:(void)0; -} -} -var = var_res; -goto RET_LABEL; -} -} else { -} -if (varonce246) { -var247 = varonce246; -} else { -var248 = "Type error: class "; -var249 = 18; -var250 = standard___standard__NativeString___to_s_with_length(var248, var249); -var247 = var250; -varonce246 = var247; -} -if (varonce251) { -var252 = varonce251; -} else { -var253 = " not found in module "; -var254 = 21; -var255 = standard___standard__NativeString___to_s_with_length(var253, var254); -var252 = var255; -varonce251 = var252; -} -if (varonce256) { -var257 = varonce256; -} else { -var258 = "."; -var259 = 1; -var260 = standard___standard__NativeString___to_s_with_length(var258, var259); -var257 = var260; -varonce256 = var257; -} -var261 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var261 = array_instance Array[Object] */ -var262 = 5; -var263 = NEW_standard__NativeArray(var262, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var263)->values[0] = (val*) var247; -((struct instance_standard__NativeArray*)var263)->values[1] = (val*) var_name; -((struct instance_standard__NativeArray*)var263)->values[2] = (val*) var252; -((struct instance_standard__NativeArray*)var263)->values[3] = (val*) var_mmodule; -((struct instance_standard__NativeArray*)var263)->values[4] = (val*) var257; -{ -((void (*)(val* self, val* p0, long p1))(var261->class->vft[COLOR_standard__array__Array__with_native]))(var261, var263, var262) /* with_native on */; -} -} -{ -var264 = ((val* (*)(val* self))(var261->class->vft[COLOR_standard__string__Object__to_s]))(var261) /* to_s on */; -} -{ -nit___nit__ModelBuilder___error(self, var_ntype, var264); /* Direct call modelbuilder_base#ModelBuilder#error on */ -} -var265 = NULL; -var = var265; -goto RET_LABEL; -RET_LABEL:; -return var; -} -/* method modelize_class#ModelBuilder#resolve_mtype for (self: ModelBuilder, MModule, nullable MClassDef, AType): nullable MType */ -val* nit__modelize_class___ModelBuilder___resolve_mtype(val* self, val* p0, val* p1, val* p2) { -val* var /* : nullable MType */; -val* var_mmodule /* var mmodule: MModule */; -val* var_mclassdef /* var mclassdef: nullable MClassDef */; -val* var_ntype /* var ntype: AType */; -val* var1 /* : nullable MType */; -val* var3 /* : nullable MType */; -val* var_mtype /* var mtype: nullable MType */; -val* var4 /* : null */; -short int var5 /* : Bool */; -short int var6 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var8 /* : Bool */; -short int var10 /* : Bool */; -short int var11 /* : Bool */; -val* var12 /* : nullable MType */; -val* var13 /* : null */; -short int var14 /* : Bool */; -short int var15 /* : Bool */; -short int var17 /* : Bool */; -short int var19 /* : Bool */; -val* var20 /* : null */; -short int var21 /* : Bool */; -short int var23 /* : Bool */; -short int var24 /* : Bool */; -int cltype; -int idtype; -val* var25 /* : MClass */; -val* var27 /* : MClass */; -val* var_mclass /* var mclass: MClass */; -long var28 /* : Int */; -long var_i /* var i: Int */; -long var29 /* : Int */; -long var31 /* : Int */; -long var_ /* var : Int */; -short int var32 /* : Bool */; -short int var34 /* : Bool */; -int cltype35; -int idtype36; -const char* var_class_name; -short int var37 /* : Bool */; -val* var38 /* : MClassDef */; -val* var40 /* : MClassDef */; -val* var41 /* : MClassType */; -val* var43 /* : MClassType */; -val* var44 /* : Array[MType] */; -val* var45 /* : nullable Object */; -val* var_bound /* var bound: MType */; -val* var46 /* : ANodes[AType] */; -val* var48 /* : ANodes[AType] */; -val* var49 /* : ANode */; -val* var_nt /* var nt: AType */; -val* var50 /* : nullable MType */; -val* var_mt /* var mt: nullable MType */; -val* var51 /* : null */; -short int var52 /* : Bool */; -short int var53 /* : Bool */; -short int var55 /* : Bool */; -short int var57 /* : Bool */; -val* var58 /* : null */; -val* var59 /* : null */; -short int var60 /* : Bool */; -short int var61 /* : Bool */; -val* var_other63 /* var other: nullable Object */; -short int var64 /* : Bool */; -short int var65 /* : Bool */; -val* var66 /* : MClassType */; -val* var68 /* : MClassType */; -val* var_anchor /* var anchor: nullable Object */; -val* var69 /* : null */; -short int var70 /* : Bool */; -short int var71 /* : Bool */; -static val* varonce; -val* var72 /* : String */; -char* var73 /* : NativeString */; -long var74 /* : Int */; -val* var75 /* : FlatString */; -static val* varonce76; -val* var77 /* : String */; -char* var78 /* : NativeString */; -long var79 /* : Int */; -val* var80 /* : FlatString */; -val* var81 /* : Array[Object] */; -long var82 /* : Int */; -val* var83 /* : NativeArray[Object] */; -val* var84 /* : String */; -val* var85 /* : null */; -long var86 /* : Int */; -long var87 /* : Int */; -short int var88 /* : Bool */; -var_mmodule = p0; -var_mclassdef = p1; -var_ntype = p2; -{ -{ /* Inline modelize_class#AType#mtype (var_ntype) on */ -var3 = var_ntype->attrs[COLOR_nit__modelize_class__AType___mtype].val; /* _mtype on */ -var1 = var3; -RET_LABEL2:(void)0; -} -} -var_mtype = var1; -var4 = NULL; -if (var_mtype == NULL) { -var5 = 1; /* is null */ -} else { -var5 = 0; /* arg is null but recv is not */ -} -if (0) { -{ /* Inline kernel#Object#== (var_mtype,var4) on */ -var_other = var4; -{ -{ /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on */ -var10 = var_mtype == var_other; -var8 = var10; -goto RET_LABEL9; -RET_LABEL9:(void)0; -} -} -var6 = var8; -goto RET_LABEL7; -RET_LABEL7:(void)0; -} -var5 = var6; -} -if (var5){ -var11 = 1; -{ -var12 = nit__modelize_class___ModelBuilder___resolve_mtype_unchecked(self, var_mmodule, var_mclassdef, var_ntype, var11); -} -var_mtype = var12; -} else { -} -var13 = NULL; -if (var_mtype == NULL) { -var14 = 1; /* is null */ -} else { -var14 = 0; /* arg is null but recv is not */ -} -if (0) { -{ /* Inline kernel#Object#== (var_mtype,var13) on */ -var_other = var13; -{ -{ /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on */ -var19 = var_mtype == var_other; -var17 = var19; -goto RET_LABEL18; -RET_LABEL18:(void)0; -} -} -var15 = var17; -goto RET_LABEL16; -RET_LABEL16:(void)0; -} -var14 = var15; -} -if (var14){ -var20 = NULL; -var = var20; -goto RET_LABEL; -} else { -} -{ -{ /* Inline modelize_class#AType#checked_mtype (var_ntype) on */ -var23 = var_ntype->attrs[COLOR_nit__modelize_class__AType___checked_mtype].s; /* _checked_mtype on */ -var21 = var23; -RET_LABEL22:(void)0; -} -} -if (var21){ -var = var_mtype; -goto RET_LABEL; -} else { -} -/* isa MGenericType */ -cltype = type_nit__MGenericType.color; -idtype = type_nit__MGenericType.id; -if(cltype >= var_mtype->type->table_size) { -var24 = 0; -} else { -var24 = var_mtype->type->type_table[cltype] == idtype; -} -if (var24){ -{ -{ /* Inline model#MClassType#mclass (var_mtype) on */ -var27 = var_mtype->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ -if (unlikely(var27 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1058); -show_backtrace(1); -} -var25 = var27; -RET_LABEL26:(void)0; -} -} -var_mclass = var25; -var28 = 0; -var_i = var28; -{ -{ /* Inline model#MClass#arity (var_mclass) on */ -var31 = var_mclass->attrs[COLOR_nit__model__MClass___arity].l; /* _arity on */ -var29 = var31; -RET_LABEL30:(void)0; -} -} -var_ = var29; -for(;;) { -{ -{ /* Inline kernel#Int#< (var_i,var_) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var34 = 1; /* easy isa OTHER*/ -if (unlikely(!var34)) { -var_class_name = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410); -show_backtrace(1); -} -var37 = var_i < var_; -var32 = var37; -goto RET_LABEL33; -RET_LABEL33:(void)0; -} -} -if (var32){ -{ -{ /* Inline model#MClass#intro (var_mclass) on */ -var40 = var_mclass->attrs[COLOR_nit__model__MClass___intro].val; /* _intro on */ -if (unlikely(var40 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 423); -show_backtrace(1); -} -var38 = var40; -RET_LABEL39:(void)0; -} -} -{ -{ /* Inline model#MClassDef#bound_mtype (var38) on */ -var43 = var38->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ -if (unlikely(var43 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 495); -show_backtrace(1); -} -var41 = var43; -RET_LABEL42:(void)0; -} -} -{ -var44 = ((val* (*)(val* self))(var41->class->vft[COLOR_nit__model__MClassType__arguments]))(var41) /* arguments on */; -} -{ -var45 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var44, var_i); -} -var_bound = var45; -{ -{ /* Inline parser_nodes#AType#n_types (var_ntype) on */ -var48 = var_ntype->attrs[COLOR_nit__parser_nodes__AType___n_types].val; /* _n_types on */ -if (unlikely(var48 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_types"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1539); -show_backtrace(1); -} -var46 = var48; -RET_LABEL47:(void)0; -} -} -{ -var49 = nit___nit__ANodes___standard__abstract_collection__SequenceRead___91d_93d(var46, var_i); -} -var_nt = var49; -{ -var50 = nit__modelize_class___ModelBuilder___resolve_mtype(self, var_mmodule, var_mclassdef, var_nt); -} -var_mt = var50; -var51 = NULL; -if (var_mt == NULL) { -var52 = 1; /* is null */ -} else { -var52 = 0; /* arg is null but recv is not */ -} -if (0) { -{ /* Inline kernel#Object#== (var_mt,var51) on */ -var_other = var51; -{ -{ /* Inline kernel#Object#is_same_instance (var_mt,var_other) on */ -var57 = var_mt == var_other; -var55 = var57; -goto RET_LABEL56; -RET_LABEL56:(void)0; -} -} -var53 = var55; -goto RET_LABEL54; -RET_LABEL54:(void)0; -} -var52 = var53; -} -if (var52){ -var58 = NULL; -var = var58; -goto RET_LABEL; -} else { -} -var59 = NULL; -if (var_mclassdef == NULL) { -var60 = 0; /* is null */ -} else { -var60 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_mclassdef,var59) on */ -var_other63 = var59; -{ -var64 = ((short int (*)(val* self, val* p0))(var_mclassdef->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_mclassdef, var_other63) /* == on */; -} -var65 = !var64; -var61 = var65; -goto RET_LABEL62; -RET_LABEL62:(void)0; -} -var60 = var61; -} -if (var60){ -{ -{ /* Inline model#MClassDef#bound_mtype (var_mclassdef) on */ -var68 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ -if (unlikely(var68 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 495); -show_backtrace(1); -} -var66 = var68; -RET_LABEL67:(void)0; -} -} -var_anchor = var66; -} else { -var69 = NULL; -var_anchor = var69; -} -{ -var70 = nit___nit__MType___is_subtype(var_mt, var_mmodule, var_anchor, var_bound); -} -var71 = !var70; -if (var71){ -if (varonce) { -var72 = varonce; -} else { -var73 = "Type error: expected "; -var74 = 21; -var75 = standard___standard__NativeString___to_s_with_length(var73, var74); -var72 = var75; -varonce = var72; -} -if (varonce76) { -var77 = varonce76; -} else { -var78 = ", got "; -var79 = 6; -var80 = standard___standard__NativeString___to_s_with_length(var78, var79); -var77 = var80; -varonce76 = var77; -} -var81 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var81 = array_instance Array[Object] */ -var82 = 4; -var83 = NEW_standard__NativeArray(var82, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var83)->values[0] = (val*) var72; -((struct instance_standard__NativeArray*)var83)->values[1] = (val*) var_bound; -((struct instance_standard__NativeArray*)var83)->values[2] = (val*) var77; -((struct instance_standard__NativeArray*)var83)->values[3] = (val*) var_mt; -{ -((void (*)(val* self, val* p0, long p1))(var81->class->vft[COLOR_standard__array__Array__with_native]))(var81, var83, var82) /* with_native on */; -} -} -{ -var84 = ((val* (*)(val* self))(var81->class->vft[COLOR_standard__string__Object__to_s]))(var81) /* to_s on */; -} -{ -nit___nit__ModelBuilder___error(self, var_nt, var84); /* Direct call modelbuilder_base#ModelBuilder#error on */ -} -var85 = NULL; -var = var85; -goto RET_LABEL; -} else { -} -var86 = 1; -{ -var87 = standard___standard__Int___Discrete__successor(var_i, var86); -} -var_i = var87; -} else { -goto BREAK_label; -} -} -BREAK_label: (void)0; -} else { -} -var88 = 1; -{ -{ /* Inline modelize_class#AType#checked_mtype= (var_ntype,var88) on */ -var_ntype->attrs[COLOR_nit__modelize_class__AType___checked_mtype].s = var88; /* _checked_mtype on */ -RET_LABEL89:(void)0; -} -} -var = var_mtype; -goto RET_LABEL; -RET_LABEL:; -return var; -} -/* method modelize_class#AModule#build_classes_is_done for (self: AModule): Bool */ -short int nit__modelize_class___AModule___build_classes_is_done(val* self) { -short int var /* : Bool */; -short int var1 /* : Bool */; -var1 = self->attrs[COLOR_nit__modelize_class__AModule___build_classes_is_done].s; /* _build_classes_is_done on */ -var = var1; -RET_LABEL:; -return var; -} -/* method modelize_class#AModule#build_classes_is_done= for (self: AModule, Bool) */ -void nit__modelize_class___AModule___build_classes_is_done_61d(val* self, short int p0) { -self->attrs[COLOR_nit__modelize_class__AModule___build_classes_is_done].s = p0; /* _build_classes_is_done on */ -RET_LABEL:; -} -/* method modelize_class#AModule#mclass2nclassdef for (self: AModule): Map[MClass, AClassdef] */ -val* nit__modelize_class___AModule___mclass2nclassdef(val* self) { -val* var /* : Map[MClass, AClassdef] */; -val* var1 /* : Map[MClass, AClassdef] */; -var1 = self->attrs[COLOR_nit__modelize_class__AModule___mclass2nclassdef].val; /* _mclass2nclassdef on */ -if (unlikely(var1 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass2nclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 541); -show_backtrace(1); -} -var = var1; -RET_LABEL:; -return var; -} -/* method modelize_class#AClassdef#mclass for (self: AClassdef): nullable MClass */ -val* nit__modelize_class___AClassdef___mclass(val* self) { -val* var /* : nullable MClass */; -val* var1 /* : nullable MClass */; -var1 = self->attrs[COLOR_nit__modelize_class__AClassdef___mclass].val; /* _mclass on */ -var = var1; -RET_LABEL:; -return var; +/* method modelize_class#AClassdef#mclass for (self: AClassdef): nullable MClass */ +val* nit__modelize_class___AClassdef___mclass(val* self) { +val* var /* : nullable MClass */; +val* var1 /* : nullable MClass */; +var1 = self->attrs[COLOR_nit__modelize_class__AClassdef___mclass].val; /* _mclass on */ +var = var1; +RET_LABEL:; +return var; } /* method modelize_class#AClassdef#mclass= for (self: AClassdef, nullable MClass) */ void nit__modelize_class___AClassdef___mclass_61d(val* self, val* p0) { @@ -8320,11 +7163,13 @@ RET_LABEL:; /* method modelize_class#AConcreteClasskind#mkind for (self: AConcreteClasskind): MClassKind */ val* nit__modelize_class___AConcreteClasskind___AClasskind__mkind(val* self) { val* var /* : MClassKind */; -val* var1 /* : MClassKind */; +val* var1 /* : Sys */; +val* var2 /* : MClassKind */; +var1 = glob_sys; { -var1 = nit__model___standard__Object___concrete_kind(self); +var2 = nit__model___standard__Sys___concrete_kind(var1); } -var = var1; +var = var2; goto RET_LABEL; RET_LABEL:; return var; @@ -8332,11 +7177,13 @@ return var; /* method modelize_class#AAbstractClasskind#mkind for (self: AAbstractClasskind): MClassKind */ val* nit__modelize_class___AAbstractClasskind___AClasskind__mkind(val* self) { val* var /* : MClassKind */; -val* var1 /* : MClassKind */; +val* var1 /* : Sys */; +val* var2 /* : MClassKind */; +var1 = glob_sys; { -var1 = nit__model___standard__Object___abstract_kind(self); +var2 = nit__model___standard__Sys___abstract_kind(var1); } -var = var1; +var = var2; goto RET_LABEL; RET_LABEL:; return var; @@ -8344,11 +7191,13 @@ return var; /* method modelize_class#AInterfaceClasskind#mkind for (self: AInterfaceClasskind): MClassKind */ val* nit__modelize_class___AInterfaceClasskind___AClasskind__mkind(val* self) { val* var /* : MClassKind */; -val* var1 /* : MClassKind */; +val* var1 /* : Sys */; +val* var2 /* : MClassKind */; +var1 = glob_sys; { -var1 = nit__model___standard__Object___interface_kind(self); +var2 = nit__model___standard__Sys___interface_kind(var1); } -var = var1; +var = var2; goto RET_LABEL; RET_LABEL:; return var; @@ -8356,11 +7205,13 @@ return var; /* method modelize_class#AEnumClasskind#mkind for (self: AEnumClasskind): MClassKind */ val* nit__modelize_class___AEnumClasskind___AClasskind__mkind(val* self) { val* var /* : MClassKind */; -val* var1 /* : MClassKind */; +val* var1 /* : Sys */; +val* var2 /* : MClassKind */; +var1 = glob_sys; { -var1 = nit__model___standard__Object___enum_kind(self); +var2 = nit__model___standard__Sys___enum_kind(var1); } -var = var1; +var = var2; goto RET_LABEL; RET_LABEL:; return var; @@ -8368,11 +7219,13 @@ return var; /* method modelize_class#AExternClasskind#mkind for (self: AExternClasskind): MClassKind */ val* nit__modelize_class___AExternClasskind___AClasskind__mkind(val* self) { val* var /* : MClassKind */; -val* var1 /* : MClassKind */; +val* var1 /* : Sys */; +val* var2 /* : MClassKind */; +var1 = glob_sys; { -var1 = nit__model___standard__Object___extern_kind(self); +var2 = nit__model___standard__Sys___extern_kind(var1); } -var = var1; +var = var2; goto RET_LABEL; RET_LABEL:; return var; @@ -8382,31 +7235,3 @@ void nit__modelize_class___AFormaldef___bound_61d(val* self, val* p0) { self->attrs[COLOR_nit__modelize_class__AFormaldef___bound].val = p0; /* _bound on */ RET_LABEL:; } -/* method modelize_class#AType#mtype for (self: AType): nullable MType */ -val* nit__modelize_class___AType___mtype(val* self) { -val* var /* : nullable MType */; -val* var1 /* : nullable MType */; -var1 = self->attrs[COLOR_nit__modelize_class__AType___mtype].val; /* _mtype on */ -var = var1; -RET_LABEL:; -return var; -} -/* method modelize_class#AType#mtype= for (self: AType, nullable MType) */ -void nit__modelize_class___AType___mtype_61d(val* self, val* p0) { -self->attrs[COLOR_nit__modelize_class__AType___mtype].val = p0; /* _mtype on */ -RET_LABEL:; -} -/* method modelize_class#AType#checked_mtype for (self: AType): Bool */ -short int nit__modelize_class___AType___checked_mtype(val* self) { -short int var /* : Bool */; -short int var1 /* : Bool */; -var1 = self->attrs[COLOR_nit__modelize_class__AType___checked_mtype].s; /* _checked_mtype on */ -var = var1; -RET_LABEL:; -return var; -} -/* method modelize_class#AType#checked_mtype= for (self: AType, Bool) */ -void nit__modelize_class___AType___checked_mtype_61d(val* self, short int p0) { -self->attrs[COLOR_nit__modelize_class__AType___checked_mtype].s = p0; /* _checked_mtype on */ -RET_LABEL:; -}