X-Git-Url: http://nitlanguage.org diff --git a/c_src/nit__abstract_compiler.sep.2.c b/c_src/nit__abstract_compiler.sep.2.c index cf0d0cf..f6aa1dc 100644 --- a/c_src/nit__abstract_compiler.sep.2.c +++ b/c_src/nit__abstract_compiler.sep.2.c @@ -6,1614 +6,1318 @@ val* var_v /* var v: AbstractCompilerVisitor */; static val* varonce; val* var1 /* : String */; char* var2 /* : NativeString */; -long var3 /* : Int */; -val* var4 /* : FlatString */; -val* var5 /* : ModelBuilder */; -val* var7 /* : ModelBuilder */; -val* var8 /* : ToolContext */; -val* var10 /* : ToolContext */; -val* var11 /* : OptionString */; -val* var13 /* : OptionString */; -val* var14 /* : nullable Object */; -val* var16 /* : nullable Object */; -val* var_ost /* var ost: nullable String */; -val* var17 /* : Platform */; -val* var19 /* : Platform */; +val* var3 /* : FlatString */; +val* var4 /* : Platform */; +val* var6 /* : Platform */; val* var_platform /* var platform: Platform */; -short int var20 /* : Bool */; -short int var21 /* : Bool */; -static val* varonce22; -val* var23 /* : String */; -char* var24 /* : NativeString */; -long var25 /* : Int */; -val* var26 /* : FlatString */; -short int var27 /* : Bool */; -short int var28 /* : Bool */; +short int var7 /* : Bool */; +short int var8 /* : Bool */; short int var_ /* var : Bool */; -val* var29 /* : ModelBuilder */; -val* var31 /* : ModelBuilder */; -val* var32 /* : ToolContext */; -val* var34 /* : ToolContext */; -val* var35 /* : OptionBool */; -val* var37 /* : OptionBool */; -val* var38 /* : nullable Object */; -val* var40 /* : nullable Object */; -short int var41 /* : Bool */; +val* var9 /* : ModelBuilder */; +val* var11 /* : ModelBuilder */; +val* var12 /* : ToolContext */; +val* var14 /* : ToolContext */; +val* var15 /* : OptionBool */; +val* var17 /* : OptionBool */; +val* var18 /* : nullable Object */; +val* var20 /* : nullable Object */; +short int var21 /* : Bool */; short int var_no_main /* var no_main: Bool */; -short int var42 /* : Bool */; +short int var22 /* : Bool */; +static val* varonce23; +val* var24 /* : String */; +char* var25 /* : NativeString */; +val* var26 /* : FlatString */; +static val* varonce27; +val* var28 /* : String */; +char* var29 /* : NativeString */; +val* var30 /* : FlatString */; +static val* varonce31; +val* var32 /* : String */; +char* var33 /* : NativeString */; +val* var34 /* : FlatString */; +static val* varonce35; +val* var36 /* : String */; +char* var37 /* : NativeString */; +val* var38 /* : FlatString */; +static val* varonce39; +val* var40 /* : String */; +char* var41 /* : NativeString */; +val* var42 /* : FlatString */; static val* varonce43; val* var44 /* : String */; char* var45 /* : NativeString */; -long var46 /* : Int */; -val* var47 /* : FlatString */; -short int var48 /* : Bool */; -short int var49 /* : Bool */; -short int var_50 /* var : Bool */; +val* var46 /* : FlatString */; +static val* varonce47; +val* var48 /* : String */; +char* var49 /* : NativeString */; +val* var50 /* : FlatString */; static val* varonce51; val* var52 /* : String */; char* var53 /* : NativeString */; -long var54 /* : Int */; -val* var55 /* : FlatString */; -short int var56 /* : Bool */; -short int var57 /* : Bool */; -static val* varonce58; -val* var59 /* : String */; -char* var60 /* : NativeString */; -long var61 /* : Int */; -val* var62 /* : FlatString */; -static val* varonce63; -val* var64 /* : String */; -char* var65 /* : NativeString */; -long var66 /* : Int */; -val* var67 /* : FlatString */; -static val* varonce68; -val* var69 /* : String */; -char* var70 /* : NativeString */; -long var71 /* : Int */; -val* var72 /* : FlatString */; -short int var73 /* : Bool */; +val* var54 /* : FlatString */; +val* var55 /* : ModelBuilder */; +val* var57 /* : ModelBuilder */; +val* var58 /* : ToolContext */; +val* var60 /* : ToolContext */; +val* var61 /* : OptionBool */; +val* var63 /* : OptionBool */; +val* var64 /* : nullable Object */; +val* var66 /* : nullable Object */; +short int var67 /* : Bool */; +val* var68 /* : Array[String] */; +val* var70 /* : Array[String] */; +val* var_71 /* var : Array[String] */; +val* var72 /* : ArrayIterator[nullable Object] */; +val* var_73 /* var : ArrayIterator[String] */; short int var74 /* : Bool */; -static val* varonce75; -val* var76 /* : String */; -char* var77 /* : NativeString */; -long var78 /* : Int */; -val* var79 /* : FlatString */; -static val* varonce80; -val* var81 /* : String */; -char* var82 /* : NativeString */; -long var83 /* : Int */; -val* var84 /* : FlatString */; -static val* varonce85; -val* var86 /* : String */; -char* var87 /* : NativeString */; -long var88 /* : Int */; -val* var89 /* : FlatString */; -static val* varonce90; -val* var91 /* : String */; -char* var92 /* : NativeString */; -long var93 /* : Int */; -val* var94 /* : FlatString */; -val* var95 /* : ModelBuilder */; -val* var97 /* : ModelBuilder */; -val* var98 /* : ToolContext */; -val* var100 /* : ToolContext */; -val* var101 /* : OptionBool */; -val* var103 /* : OptionBool */; -val* var104 /* : nullable Object */; -val* var106 /* : nullable Object */; -short int var107 /* : Bool */; -val* var108 /* : Array[String] */; -val* var110 /* : Array[String] */; -val* var_111 /* var : Array[String] */; -val* var112 /* : ArrayIterator[nullable Object] */; -val* var_113 /* var : ArrayIterator[String] */; -short int var114 /* : Bool */; -val* var115 /* : nullable Object */; +val* var75 /* : nullable Object */; val* var_tag /* var tag: String */; -static val* varonce116; -val* var117 /* : String */; -char* var118 /* : NativeString */; -long var119 /* : Int */; +val* var77 /* : NativeArray[String] */; +static val* varonce76; +static val* varonce78; +val* var79 /* : String */; +char* var80 /* : NativeString */; +val* var81 /* : FlatString */; +static val* varonce82; +val* var83 /* : String */; +char* var84 /* : NativeString */; +val* var85 /* : FlatString */; +val* var86 /* : String */; +val* var88 /* : NativeArray[String] */; +static val* varonce87; +static val* varonce89; +val* var90 /* : String */; +char* var91 /* : NativeString */; +val* var92 /* : FlatString */; +static val* varonce93; +val* var94 /* : String */; +char* var95 /* : NativeString */; +val* var96 /* : FlatString */; +val* var97 /* : String */; +val* var99 /* : NativeArray[String] */; +static val* varonce98; +static val* varonce100; +val* var101 /* : String */; +char* var102 /* : NativeString */; +val* var103 /* : FlatString */; +static val* varonce104; +val* var105 /* : String */; +char* var106 /* : NativeString */; +val* var107 /* : FlatString */; +val* var108 /* : String */; +val* var109 /* : AbstractCompiler */; +val* var111 /* : AbstractCompiler */; +val* var112 /* : CodeWriter */; +val* var114 /* : CodeWriter */; +val* var116 /* : NativeArray[String] */; +static val* varonce115; +static val* varonce117; +val* var118 /* : String */; +char* var119 /* : NativeString */; val* var120 /* : FlatString */; static val* varonce121; val* var122 /* : String */; char* var123 /* : NativeString */; -long var124 /* : Int */; -val* var125 /* : FlatString */; -val* var126 /* : Array[Object] */; -long var127 /* : Int */; -val* var128 /* : NativeArray[Object] */; -val* var129 /* : String */; -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 */; -static val* varonce144; -val* var145 /* : String */; -char* var146 /* : NativeString */; -long var147 /* : Int */; -val* var148 /* : FlatString */; +val* var124 /* : FlatString */; +val* var125 /* : String */; +val* var126 /* : AbstractCompiler */; +val* var128 /* : AbstractCompiler */; +val* var129 /* : CodeWriter */; +val* var131 /* : CodeWriter */; +val* var133 /* : NativeArray[String] */; +static val* varonce132; +static val* varonce134; +val* var135 /* : String */; +char* var136 /* : NativeString */; +val* var137 /* : FlatString */; +static val* varonce138; +val* var139 /* : String */; +char* var140 /* : NativeString */; +val* var141 /* : FlatString */; +val* var142 /* : String */; +val* var143 /* : AbstractCompiler */; +val* var145 /* : AbstractCompiler */; +val* var146 /* : CodeWriter */; +val* var148 /* : CodeWriter */; +val* var150 /* : NativeArray[String] */; static val* varonce149; -val* var150 /* : String */; -char* var151 /* : NativeString */; -long var152 /* : Int */; -val* var153 /* : FlatString */; -val* var154 /* : Array[Object] */; -long var155 /* : Int */; -val* var156 /* : NativeArray[Object] */; -val* var157 /* : String */; -val* var158 /* : AbstractCompiler */; -val* var160 /* : AbstractCompiler */; -val* var161 /* : CodeWriter */; -val* var163 /* : CodeWriter */; -static val* varonce164; -val* var165 /* : String */; -char* var166 /* : NativeString */; -long var167 /* : Int */; -val* var168 /* : FlatString */; -static val* varonce169; -val* var170 /* : String */; -char* var171 /* : NativeString */; -long var172 /* : Int */; -val* var173 /* : FlatString */; -val* var174 /* : Array[Object] */; -long var175 /* : Int */; -val* var176 /* : NativeArray[Object] */; -val* var177 /* : String */; -val* var178 /* : AbstractCompiler */; -val* var180 /* : AbstractCompiler */; -val* var181 /* : CodeWriter */; -val* var183 /* : CodeWriter */; -static val* varonce184; -val* var185 /* : String */; -char* var186 /* : NativeString */; -long var187 /* : Int */; -val* var188 /* : FlatString */; -static val* varonce189; -val* var190 /* : String */; -char* var191 /* : NativeString */; -long var192 /* : Int */; -val* var193 /* : FlatString */; -val* var194 /* : Array[Object] */; -long var195 /* : Int */; -val* var196 /* : NativeArray[Object] */; -val* var197 /* : String */; -val* var198 /* : AbstractCompiler */; -val* var200 /* : AbstractCompiler */; -val* var201 /* : CodeWriter */; -val* var203 /* : CodeWriter */; -static val* varonce204; -val* var205 /* : String */; -char* var206 /* : NativeString */; -long var207 /* : Int */; -val* var208 /* : FlatString */; -static val* varonce209; -val* var210 /* : String */; -char* var211 /* : NativeString */; -long var212 /* : Int */; -val* var213 /* : FlatString */; -val* var214 /* : Array[Object] */; -long var215 /* : Int */; -val* var216 /* : NativeArray[Object] */; -val* var217 /* : String */; -val* var219 /* : ModelBuilder */; -val* var221 /* : ModelBuilder */; -val* var222 /* : ToolContext */; -val* var224 /* : ToolContext */; -val* var225 /* : OptionBool */; -val* var227 /* : OptionBool */; -val* var228 /* : nullable Object */; -val* var230 /* : nullable Object */; -short int var231 /* : Bool */; +static val* varonce151; +val* var152 /* : String */; +char* var153 /* : NativeString */; +val* var154 /* : FlatString */; +static val* varonce155; +val* var156 /* : String */; +char* var157 /* : NativeString */; +val* var158 /* : FlatString */; +val* var159 /* : String */; +val* var160 /* : ModelBuilder */; +val* var162 /* : ModelBuilder */; +val* var163 /* : ToolContext */; +val* var165 /* : ToolContext */; +val* var166 /* : OptionBool */; +val* var168 /* : OptionBool */; +val* var169 /* : nullable Object */; +val* var171 /* : nullable Object */; +short int var172 /* : Bool */; +static val* varonce173; +val* var174 /* : String */; +char* var175 /* : NativeString */; +val* var176 /* : FlatString */; +static val* varonce177; +val* var178 /* : String */; +char* var179 /* : NativeString */; +val* var180 /* : FlatString */; +static val* varonce181; +val* var182 /* : String */; +char* var183 /* : NativeString */; +val* var184 /* : FlatString */; +val* var185 /* : AbstractCompiler */; +val* var187 /* : AbstractCompiler */; +val* var188 /* : CodeWriter */; +val* var190 /* : CodeWriter */; +static val* varonce191; +val* var192 /* : String */; +char* var193 /* : NativeString */; +val* var194 /* : FlatString */; +val* var195 /* : AbstractCompiler */; +val* var197 /* : AbstractCompiler */; +val* var198 /* : CodeWriter */; +val* var200 /* : CodeWriter */; +static val* varonce201; +val* var202 /* : String */; +char* var203 /* : NativeString */; +val* var204 /* : FlatString */; +val* var205 /* : AbstractCompiler */; +val* var207 /* : AbstractCompiler */; +val* var208 /* : CodeWriter */; +val* var210 /* : CodeWriter */; +static val* varonce211; +val* var212 /* : String */; +char* var213 /* : NativeString */; +val* var214 /* : FlatString */; +val* var215 /* : ModelBuilder */; +val* var217 /* : ModelBuilder */; +val* var218 /* : ToolContext */; +val* var220 /* : ToolContext */; +val* var221 /* : OptionBool */; +val* var223 /* : OptionBool */; +val* var224 /* : nullable Object */; +val* var226 /* : nullable Object */; +short int var227 /* : Bool */; +static val* varonce228; +val* var229 /* : String */; +char* var230 /* : NativeString */; +val* var231 /* : FlatString */; static val* varonce232; val* var233 /* : String */; char* var234 /* : NativeString */; -long var235 /* : Int */; -val* var236 /* : FlatString */; -static val* varonce237; -val* var238 /* : String */; -char* var239 /* : NativeString */; -long var240 /* : Int */; -val* var241 /* : FlatString */; +val* var235 /* : FlatString */; +val* var236 /* : AbstractCompiler */; +val* var238 /* : AbstractCompiler */; +val* var239 /* : CodeWriter */; +val* var241 /* : CodeWriter */; static val* varonce242; val* var243 /* : String */; char* var244 /* : NativeString */; -long var245 /* : Int */; -val* var246 /* : FlatString */; -val* var247 /* : AbstractCompiler */; -val* var249 /* : AbstractCompiler */; -val* var250 /* : CodeWriter */; -val* var252 /* : CodeWriter */; -static val* varonce253; -val* var254 /* : String */; -char* var255 /* : NativeString */; -long var256 /* : Int */; -val* var257 /* : FlatString */; -val* var258 /* : AbstractCompiler */; -val* var260 /* : AbstractCompiler */; -val* var261 /* : CodeWriter */; -val* var263 /* : CodeWriter */; -static val* varonce264; -val* var265 /* : String */; -char* var266 /* : NativeString */; -long var267 /* : Int */; +val* var245 /* : FlatString */; +val* var246 /* : AbstractCompiler */; +val* var248 /* : AbstractCompiler */; +val* var249 /* : CodeWriter */; +val* var251 /* : CodeWriter */; +static val* varonce252; +val* var253 /* : String */; +char* var254 /* : NativeString */; +val* var255 /* : FlatString */; +static val* varonce256; +val* var257 /* : String */; +char* var258 /* : NativeString */; +val* var259 /* : FlatString */; +short int var260 /* : Bool */; +static val* varonce261; +val* var262 /* : String */; +char* var263 /* : NativeString */; +val* var264 /* : FlatString */; +static val* varonce265; +val* var266 /* : String */; +char* var267 /* : NativeString */; val* var268 /* : FlatString */; -val* var269 /* : AbstractCompiler */; -val* var271 /* : AbstractCompiler */; -val* var272 /* : CodeWriter */; -val* var274 /* : CodeWriter */; -static val* varonce275; -val* var276 /* : String */; -char* var277 /* : NativeString */; -long var278 /* : Int */; -val* var279 /* : FlatString */; -val* var280 /* : ModelBuilder */; -val* var282 /* : ModelBuilder */; -val* var283 /* : ToolContext */; -val* var285 /* : ToolContext */; -val* var286 /* : OptionBool */; -val* var288 /* : OptionBool */; -val* var289 /* : nullable Object */; -val* var291 /* : nullable Object */; -short int var292 /* : Bool */; +static val* varonce269; +val* var270 /* : String */; +char* var271 /* : NativeString */; +val* var272 /* : FlatString */; +static val* varonce273; +val* var274 /* : String */; +char* var275 /* : NativeString */; +val* var276 /* : FlatString */; +static val* varonce277; +val* var278 /* : String */; +char* var279 /* : NativeString */; +val* var280 /* : FlatString */; +static val* varonce281; +val* var282 /* : String */; +char* var283 /* : NativeString */; +val* var284 /* : FlatString */; +static val* varonce285; +val* var286 /* : String */; +char* var287 /* : NativeString */; +val* var288 /* : FlatString */; +static val* varonce289; +val* var290 /* : String */; +char* var291 /* : NativeString */; +val* var292 /* : FlatString */; static val* varonce293; val* var294 /* : String */; char* var295 /* : NativeString */; -long var296 /* : Int */; -val* var297 /* : FlatString */; -static val* varonce298; -val* var299 /* : String */; -char* var300 /* : NativeString */; -long var301 /* : Int */; -val* var302 /* : FlatString */; -val* var303 /* : AbstractCompiler */; -val* var305 /* : AbstractCompiler */; -val* var306 /* : CodeWriter */; -val* var308 /* : CodeWriter */; +val* var296 /* : FlatString */; +static val* varonce297; +val* var298 /* : String */; +char* var299 /* : NativeString */; +val* var300 /* : FlatString */; +static val* varonce301; +val* var302 /* : String */; +char* var303 /* : NativeString */; +val* var304 /* : FlatString */; +static val* varonce305; +val* var306 /* : String */; +char* var307 /* : NativeString */; +val* var308 /* : FlatString */; static val* varonce309; val* var310 /* : String */; char* var311 /* : NativeString */; -long var312 /* : Int */; -val* var313 /* : FlatString */; -val* var314 /* : AbstractCompiler */; -val* var316 /* : AbstractCompiler */; -val* var317 /* : CodeWriter */; -val* var319 /* : CodeWriter */; -static val* varonce320; -val* var321 /* : String */; -char* var322 /* : NativeString */; -long var323 /* : Int */; +val* var312 /* : FlatString */; +static val* varonce313; +val* var314 /* : String */; +char* var315 /* : NativeString */; +val* var316 /* : FlatString */; +static val* varonce317; +val* var318 /* : String */; +char* var319 /* : NativeString */; +val* var320 /* : FlatString */; +static val* varonce321; +val* var322 /* : String */; +char* var323 /* : NativeString */; val* var324 /* : FlatString */; static val* varonce325; val* var326 /* : String */; char* var327 /* : NativeString */; -long var328 /* : Int */; -val* var329 /* : FlatString */; -static val* varonce330; -val* var331 /* : String */; -char* var332 /* : NativeString */; -long var333 /* : Int */; -val* var334 /* : FlatString */; -static val* varonce335; -val* var336 /* : String */; -char* var337 /* : NativeString */; -long var338 /* : Int */; -val* var339 /* : FlatString */; -static val* varonce340; -val* var341 /* : String */; -char* var342 /* : NativeString */; -long var343 /* : Int */; +val* var328 /* : FlatString */; +static val* varonce329; +val* var330 /* : String */; +char* var331 /* : NativeString */; +val* var332 /* : FlatString */; +static val* varonce333; +val* var334 /* : String */; +char* var335 /* : NativeString */; +val* var336 /* : FlatString */; +static val* varonce337; +val* var338 /* : String */; +char* var339 /* : NativeString */; +val* var340 /* : FlatString */; +static val* varonce341; +val* var342 /* : String */; +char* var343 /* : NativeString */; val* var344 /* : FlatString */; static val* varonce345; val* var346 /* : String */; char* var347 /* : NativeString */; -long var348 /* : Int */; -val* var349 /* : FlatString */; -short int var350 /* : Bool */; -static val* varonce351; -val* var352 /* : String */; -char* var353 /* : NativeString */; -long var354 /* : Int */; -val* var355 /* : FlatString */; -short int var356 /* : Bool */; -short int var357 /* : Bool */; -short int var_358 /* var : Bool */; -static val* varonce359; -val* var360 /* : String */; -char* var361 /* : NativeString */; -long var362 /* : Int */; -val* var363 /* : FlatString */; -short int var364 /* : Bool */; -short int var365 /* : Bool */; -static val* varonce366; -val* var367 /* : String */; -char* var368 /* : NativeString */; -long var369 /* : Int */; -val* var370 /* : FlatString */; -static val* varonce371; -val* var372 /* : String */; -char* var373 /* : NativeString */; -long var374 /* : Int */; -val* var375 /* : FlatString */; -static val* varonce376; -val* var377 /* : String */; -char* var378 /* : NativeString */; -long var379 /* : Int */; +val* var348 /* : FlatString */; +static val* varonce349; +val* var350 /* : String */; +char* var351 /* : NativeString */; +val* var352 /* : FlatString */; +static val* varonce353; +val* var354 /* : String */; +char* var355 /* : NativeString */; +val* var356 /* : FlatString */; +static val* varonce357; +val* var358 /* : String */; +char* var359 /* : NativeString */; +val* var360 /* : FlatString */; +static val* varonce361; +val* var362 /* : String */; +char* var363 /* : NativeString */; +val* var364 /* : FlatString */; +static val* varonce365; +val* var366 /* : String */; +char* var367 /* : NativeString */; +val* var368 /* : FlatString */; +static val* varonce369; +val* var370 /* : String */; +char* var371 /* : NativeString */; +val* var372 /* : FlatString */; +static val* varonce373; +val* var374 /* : String */; +char* var375 /* : NativeString */; +val* var376 /* : FlatString */; +static val* varonce377; +val* var378 /* : String */; +char* var379 /* : NativeString */; val* var380 /* : FlatString */; static val* varonce381; val* var382 /* : String */; char* var383 /* : NativeString */; -long var384 /* : Int */; -val* var385 /* : FlatString */; -static val* varonce386; -val* var387 /* : String */; -char* var388 /* : NativeString */; -long var389 /* : Int */; -val* var390 /* : FlatString */; -static val* varonce391; -val* var392 /* : String */; -char* var393 /* : NativeString */; -long var394 /* : Int */; -val* var395 /* : FlatString */; -static val* varonce396; -val* var397 /* : String */; -char* var398 /* : NativeString */; -long var399 /* : Int */; +val* var384 /* : FlatString */; +static val* varonce385; +val* var386 /* : String */; +char* var387 /* : NativeString */; +val* var388 /* : FlatString */; +static val* varonce389; +val* var390 /* : String */; +char* var391 /* : NativeString */; +val* var392 /* : FlatString */; +static val* varonce393; +val* var394 /* : String */; +char* var395 /* : NativeString */; +val* var396 /* : FlatString */; +static val* varonce397; +val* var398 /* : String */; +char* var399 /* : NativeString */; val* var400 /* : FlatString */; static val* varonce401; val* var402 /* : String */; char* var403 /* : NativeString */; -long var404 /* : Int */; -val* var405 /* : FlatString */; -static val* varonce406; -val* var407 /* : String */; -char* var408 /* : NativeString */; -long var409 /* : Int */; -val* var410 /* : FlatString */; -static val* varonce411; -val* var412 /* : String */; -char* var413 /* : NativeString */; -long var414 /* : Int */; -val* var415 /* : FlatString */; -static val* varonce416; -val* var417 /* : String */; -char* var418 /* : NativeString */; -long var419 /* : Int */; +val* var404 /* : FlatString */; +static val* varonce405; +val* var406 /* : String */; +char* var407 /* : NativeString */; +val* var408 /* : FlatString */; +static val* varonce409; +val* var410 /* : String */; +char* var411 /* : NativeString */; +val* var412 /* : FlatString */; +static val* varonce413; +val* var414 /* : String */; +char* var415 /* : NativeString */; +val* var416 /* : FlatString */; +static val* varonce417; +val* var418 /* : String */; +char* var419 /* : NativeString */; val* var420 /* : FlatString */; static val* varonce421; val* var422 /* : String */; char* var423 /* : NativeString */; -long var424 /* : Int */; -val* var425 /* : FlatString */; -static val* varonce426; -val* var427 /* : String */; -char* var428 /* : NativeString */; -long var429 /* : Int */; -val* var430 /* : FlatString */; -static val* varonce431; -val* var432 /* : String */; -char* var433 /* : NativeString */; -long var434 /* : Int */; -val* var435 /* : FlatString */; -short int var436 /* : Bool */; -short int var437 /* : Bool */; -static val* varonce438; -val* var439 /* : String */; -char* var440 /* : NativeString */; -long var441 /* : Int */; -val* var442 /* : FlatString */; -static val* varonce443; -val* var444 /* : String */; -char* var445 /* : NativeString */; -long var446 /* : Int */; -val* var447 /* : FlatString */; -static val* varonce448; -val* var449 /* : String */; -char* var450 /* : NativeString */; -long var451 /* : Int */; +val* var424 /* : FlatString */; +static val* varonce425; +val* var426 /* : String */; +char* var427 /* : NativeString */; +val* var428 /* : FlatString */; +static val* varonce429; +val* var430 /* : String */; +char* var431 /* : NativeString */; +val* var432 /* : FlatString */; +static val* varonce433; +val* var434 /* : String */; +char* var435 /* : NativeString */; +val* var436 /* : FlatString */; +static val* varonce437; +val* var438 /* : String */; +char* var439 /* : NativeString */; +val* var440 /* : FlatString */; +static val* varonce441; +val* var442 /* : String */; +char* var443 /* : NativeString */; +val* var444 /* : FlatString */; +static val* varonce445; +val* var446 /* : String */; +char* var447 /* : NativeString */; +val* var448 /* : FlatString */; +static val* varonce449; +val* var450 /* : String */; +char* var451 /* : NativeString */; val* var452 /* : FlatString */; -static val* varonce453; -val* var454 /* : String */; -char* var455 /* : NativeString */; -long var456 /* : Int */; -val* var457 /* : FlatString */; -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 */; -static val* varonce473; -val* var474 /* : String */; -char* var475 /* : NativeString */; -long var476 /* : Int */; -val* var477 /* : FlatString */; -static val* varonce478; +val* var453 /* : MModule */; +val* var455 /* : MModule */; +val* var456 /* : nullable MClassType */; +val* var_main_type /* var main_type: nullable MClassType */; +short int var457 /* : Bool */; +short int var458 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var460 /* : Bool */; +short int var461 /* : Bool */; +val* var462 /* : AbstractCompiler */; +val* var464 /* : AbstractCompiler */; +val* var465 /* : MModule */; +val* var467 /* : MModule */; +val* var_mainmodule /* var mainmodule: MModule */; +val* var468 /* : RuntimeVariable */; +val* var_glob_sys /* var glob_sys: RuntimeVariable */; +val* var470 /* : NativeArray[String] */; +static val* varonce469; +static val* varonce471; +val* var472 /* : String */; +char* var473 /* : NativeString */; +val* var474 /* : FlatString */; +static val* varonce475; +val* var476 /* : String */; +char* var477 /* : NativeString */; +val* var478 /* : FlatString */; val* var479 /* : String */; -char* var480 /* : NativeString */; -long var481 /* : Int */; -val* var482 /* : FlatString */; -static val* varonce483; -val* var484 /* : String */; -char* var485 /* : NativeString */; -long var486 /* : Int */; -val* var487 /* : FlatString */; -static val* varonce488; -val* var489 /* : String */; -char* var490 /* : NativeString */; -long var491 /* : Int */; -val* var492 /* : FlatString */; -static val* varonce493; -val* var494 /* : String */; -char* var495 /* : NativeString */; -long var496 /* : Int */; -val* var497 /* : FlatString */; +val* var480 /* : String */; +static val* varonce481; +val* var482 /* : String */; +char* var483 /* : NativeString */; +val* var484 /* : FlatString */; +val* var485 /* : MClass */; +val* var487 /* : MClass */; +val* var488 /* : nullable MMethod */; +val* var_main_init /* var main_init: nullable MMethod */; +short int var489 /* : Bool */; +short int var490 /* : Bool */; +short int var492 /* : Bool */; +short int var493 /* : Bool */; +val* var494 /* : Array[RuntimeVariable] */; +val* var_495 /* var : Array[RuntimeVariable] */; +val* var496 /* : nullable RuntimeVariable */; +val* var497 /* : nullable MMethod */; static val* varonce498; val* var499 /* : String */; char* var500 /* : NativeString */; -long var501 /* : Int */; -val* var502 /* : FlatString */; -static val* varonce503; -val* var504 /* : String */; -char* var505 /* : NativeString */; -long var506 /* : Int */; -val* var507 /* : FlatString */; -static val* varonce508; -val* var509 /* : String */; -char* var510 /* : NativeString */; -long var511 /* : Int */; -val* var512 /* : FlatString */; -static val* varonce513; -val* var514 /* : String */; -char* var515 /* : NativeString */; -long var516 /* : Int */; -val* var517 /* : FlatString */; -static val* varonce518; -val* var519 /* : String */; -char* var520 /* : NativeString */; -long var521 /* : Int */; -val* var522 /* : FlatString */; -static val* varonce523; -val* var524 /* : String */; -char* var525 /* : NativeString */; -long var526 /* : Int */; -val* var527 /* : FlatString */; -static val* varonce528; -val* var529 /* : String */; -char* var530 /* : NativeString */; -long var531 /* : Int */; -val* var532 /* : FlatString */; -static val* varonce533; -val* var534 /* : String */; -char* var535 /* : NativeString */; -long var536 /* : Int */; -val* var537 /* : FlatString */; -static val* varonce538; -val* var539 /* : String */; -char* var540 /* : NativeString */; -long var541 /* : Int */; +val* var501 /* : FlatString */; +val* var502 /* : MClass */; +val* var504 /* : MClass */; +val* var505 /* : nullable MMethod */; +static val* varonce506; +val* var507 /* : String */; +char* var508 /* : NativeString */; +val* var509 /* : FlatString */; +val* var510 /* : MClass */; +val* var512 /* : MClass */; +val* var513 /* : nullable MMethod */; +val* var_main_method /* var main_method: nullable MMethod */; +short int var514 /* : Bool */; +short int var515 /* : Bool */; +short int var517 /* : Bool */; +short int var518 /* : Bool */; +val* var519 /* : Array[RuntimeVariable] */; +val* var_520 /* var : Array[RuntimeVariable] */; +val* var521 /* : nullable RuntimeVariable */; +val* var522 /* : ModelBuilder */; +val* var524 /* : ModelBuilder */; +val* var525 /* : ToolContext */; +val* var527 /* : ToolContext */; +val* var528 /* : OptionBool */; +val* var530 /* : OptionBool */; +val* var531 /* : nullable Object */; +val* var533 /* : nullable Object */; +short int var534 /* : Bool */; +static val* varonce535; +val* var536 /* : String */; +char* var537 /* : NativeString */; +val* var538 /* : FlatString */; +static val* varonce539; +val* var540 /* : String */; +char* var541 /* : NativeString */; val* var542 /* : FlatString */; static val* varonce543; val* var544 /* : String */; char* var545 /* : NativeString */; -long var546 /* : Int */; -val* var547 /* : FlatString */; -static val* varonce548; -val* var549 /* : String */; -char* var550 /* : NativeString */; -long var551 /* : Int */; -val* var552 /* : FlatString */; -static val* varonce553; -val* var554 /* : String */; -char* var555 /* : NativeString */; -long var556 /* : Int */; -val* var557 /* : FlatString */; -static val* varonce558; -val* var559 /* : String */; -char* var560 /* : NativeString */; -long var561 /* : Int */; -val* var562 /* : FlatString */; -val* var563 /* : MModule */; -val* var565 /* : MModule */; -val* var566 /* : nullable MClassType */; -val* var_main_type /* var main_type: nullable MClassType */; -val* var567 /* : null */; -short int var568 /* : Bool */; -short int var569 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var571 /* : Bool */; -short int var572 /* : Bool */; -val* var573 /* : AbstractCompiler */; -val* var575 /* : AbstractCompiler */; -val* var576 /* : MModule */; -val* var578 /* : MModule */; -val* var_mainmodule /* var mainmodule: MModule */; -val* var579 /* : RuntimeVariable */; -val* var_glob_sys /* var glob_sys: RuntimeVariable */; -static val* varonce580; -val* var581 /* : String */; -char* var582 /* : NativeString */; -long var583 /* : Int */; +val* var546 /* : FlatString */; +static val* varonce547; +val* var548 /* : String */; +char* var549 /* : NativeString */; +val* var550 /* : FlatString */; +val* var551 /* : Array[String] */; +val* var553 /* : Array[String] */; +val* var_554 /* var : Array[String] */; +val* var555 /* : ArrayIterator[nullable Object] */; +val* var_556 /* var : ArrayIterator[String] */; +short int var557 /* : Bool */; +val* var558 /* : nullable Object */; +val* var_tag559 /* var tag: String */; +val* var561 /* : NativeArray[String] */; +static val* varonce560; +static val* varonce562; +val* var563 /* : String */; +char* var564 /* : NativeString */; +val* var565 /* : FlatString */; +static val* varonce566; +val* var567 /* : String */; +char* var568 /* : NativeString */; +val* var569 /* : FlatString */; +val* var570 /* : String */; +val* var572 /* : NativeArray[String] */; +static val* varonce571; +static val* varonce573; +val* var574 /* : String */; +char* var575 /* : NativeString */; +val* var576 /* : FlatString */; +static val* varonce577; +val* var578 /* : String */; +char* var579 /* : NativeString */; +val* var580 /* : FlatString */; +static val* varonce581; +val* var582 /* : String */; +char* var583 /* : NativeString */; val* var584 /* : FlatString */; static val* varonce585; val* var586 /* : String */; char* var587 /* : NativeString */; -long var588 /* : Int */; -val* var589 /* : FlatString */; -val* var590 /* : Array[Object] */; -long var591 /* : Int */; -val* var592 /* : NativeArray[Object] */; +val* var588 /* : FlatString */; +static val* varonce589; +val* var590 /* : String */; +char* var591 /* : NativeString */; +val* var592 /* : FlatString */; val* var593 /* : String */; +val* var595 /* : NativeArray[String] */; static val* varonce594; -val* var595 /* : String */; -char* var596 /* : NativeString */; -long var597 /* : Int */; -val* var598 /* : FlatString */; -val* var599 /* : MClass */; -val* var601 /* : MClass */; -val* var602 /* : nullable MMethod */; -val* var_main_init /* var main_init: nullable MMethod */; -val* var603 /* : null */; -short int var604 /* : Bool */; -short int var605 /* : Bool */; -short int var607 /* : Bool */; -short int var608 /* : Bool */; -val* var609 /* : Array[RuntimeVariable] */; -long var610 /* : Int */; -val* var_611 /* var : Array[RuntimeVariable] */; -val* var612 /* : nullable RuntimeVariable */; -val* var613 /* : nullable MMethod */; -static val* varonce614; +static val* varonce596; +val* var597 /* : String */; +char* var598 /* : NativeString */; +val* var599 /* : FlatString */; +static val* varonce600; +val* var601 /* : String */; +char* var602 /* : NativeString */; +val* var603 /* : FlatString */; +val* var604 /* : String */; +val* var606 /* : NativeArray[String] */; +static val* varonce605; +static val* varonce607; +val* var608 /* : String */; +char* var609 /* : NativeString */; +val* var610 /* : FlatString */; +static val* varonce611; +val* var612 /* : String */; +char* var613 /* : NativeString */; +val* var614 /* : FlatString */; val* var615 /* : String */; -char* var616 /* : NativeString */; -long var617 /* : Int */; -val* var618 /* : FlatString */; -val* var619 /* : MClass */; -val* var621 /* : MClass */; -val* var622 /* : nullable MMethod */; -static val* varonce623; -val* var624 /* : String */; -char* var625 /* : NativeString */; -long var626 /* : Int */; -val* var627 /* : FlatString */; -val* var628 /* : MClass */; -val* var630 /* : MClass */; -val* var631 /* : nullable MMethod */; -val* var_main_method /* var main_method: nullable MMethod */; -val* var632 /* : null */; -short int var633 /* : Bool */; -short int var634 /* : Bool */; -short int var636 /* : Bool */; -short int var637 /* : Bool */; -val* var638 /* : Array[RuntimeVariable] */; -long var639 /* : Int */; -val* var_640 /* var : Array[RuntimeVariable] */; -val* var641 /* : nullable RuntimeVariable */; -val* var642 /* : ModelBuilder */; -val* var644 /* : ModelBuilder */; -val* var645 /* : ToolContext */; -val* var647 /* : ToolContext */; -val* var648 /* : OptionBool */; -val* var650 /* : OptionBool */; -val* var651 /* : nullable Object */; -val* var653 /* : nullable Object */; -short int var654 /* : Bool */; -static val* varonce655; -val* var656 /* : String */; -char* var657 /* : NativeString */; -long var658 /* : Int */; -val* var659 /* : FlatString */; -static val* varonce660; -val* var661 /* : String */; -char* var662 /* : NativeString */; -long var663 /* : Int */; -val* var664 /* : FlatString */; -static val* varonce665; -val* var666 /* : String */; -char* var667 /* : NativeString */; -long var668 /* : Int */; -val* var669 /* : FlatString */; -static val* varonce670; +val* var617 /* : NativeArray[String] */; +static val* varonce616; +static val* varonce618; +val* var619 /* : String */; +char* var620 /* : NativeString */; +val* var621 /* : FlatString */; +static val* varonce622; +val* var623 /* : String */; +char* var624 /* : NativeString */; +val* var625 /* : FlatString */; +val* var626 /* : String */; +val* var628 /* : NativeArray[String] */; +static val* varonce627; +static val* varonce629; +val* var630 /* : String */; +char* var631 /* : NativeString */; +val* var632 /* : FlatString */; +static val* varonce633; +val* var634 /* : String */; +char* var635 /* : NativeString */; +val* var636 /* : FlatString */; +val* var637 /* : String */; +static val* varonce639; +val* var640 /* : String */; +char* var641 /* : NativeString */; +val* var642 /* : FlatString */; +static val* varonce643; +val* var644 /* : String */; +char* var645 /* : NativeString */; +val* var646 /* : FlatString */; +val* var647 /* : Array[String] */; +val* var649 /* : Array[String] */; +val* var650 /* : Array[nullable Object] */; +val* var_tags /* var tags: Array[String] */; +static val* varonce651; +val* var652 /* : String */; +char* var653 /* : NativeString */; +val* var654 /* : FlatString */; +val* var_655 /* var : Array[String] */; +val* var656 /* : ArrayIterator[nullable Object] */; +val* var_657 /* var : ArrayIterator[String] */; +short int var658 /* : Bool */; +val* var659 /* : nullable Object */; +val* var_tag660 /* var tag: String */; +val* var662 /* : NativeArray[String] */; +static val* varonce661; +static val* varonce663; +val* var664 /* : String */; +char* var665 /* : NativeString */; +val* var666 /* : FlatString */; +static val* varonce667; +val* var668 /* : String */; +char* var669 /* : NativeString */; +val* var670 /* : FlatString */; val* var671 /* : String */; -char* var672 /* : NativeString */; -long var673 /* : Int */; -val* var674 /* : FlatString */; -val* var675 /* : Array[String] */; -val* var677 /* : Array[String] */; -val* var_678 /* var : Array[String] */; -val* var679 /* : ArrayIterator[nullable Object] */; -val* var_680 /* var : ArrayIterator[String] */; -short int var681 /* : Bool */; -val* var682 /* : nullable Object */; -val* var_tag683 /* var tag: String */; -static val* varonce684; -val* var685 /* : String */; -char* var686 /* : NativeString */; -long var687 /* : Int */; -val* var688 /* : FlatString */; +val* var673 /* : NativeArray[String] */; +static val* varonce672; +static val* varonce674; +val* var675 /* : String */; +char* var676 /* : NativeString */; +val* var677 /* : FlatString */; +static val* varonce678; +val* var679 /* : String */; +char* var680 /* : NativeString */; +val* var681 /* : FlatString */; +static val* varonce682; +val* var683 /* : String */; +char* var684 /* : NativeString */; +val* var685 /* : FlatString */; +val* var686 /* : String */; +val* var688 /* : NativeArray[String] */; +static val* varonce687; static val* varonce689; val* var690 /* : String */; char* var691 /* : NativeString */; -long var692 /* : Int */; -val* var693 /* : FlatString */; -val* var694 /* : Array[Object] */; -long var695 /* : Int */; -val* var696 /* : NativeArray[Object] */; -val* var697 /* : String */; -static val* varonce698; -val* var699 /* : String */; -char* var700 /* : NativeString */; -long var701 /* : Int */; -val* var702 /* : FlatString */; -static val* varonce703; -val* var704 /* : String */; -char* var705 /* : NativeString */; -long var706 /* : Int */; +val* var692 /* : FlatString */; +static val* varonce693; +val* var694 /* : String */; +char* var695 /* : NativeString */; +val* var696 /* : FlatString */; +static val* varonce697; +val* var698 /* : String */; +char* var699 /* : NativeString */; +val* var700 /* : FlatString */; +val* var701 /* : String */; +val* var703 /* : NativeArray[String] */; +static val* varonce702; +static val* varonce704; +val* var705 /* : String */; +char* var706 /* : NativeString */; val* var707 /* : FlatString */; static val* varonce708; val* var709 /* : String */; char* var710 /* : NativeString */; -long var711 /* : Int */; -val* var712 /* : FlatString */; -static val* varonce713; -val* var714 /* : String */; -char* var715 /* : NativeString */; -long var716 /* : Int */; -val* var717 /* : FlatString */; -static val* varonce718; -val* var719 /* : String */; -char* var720 /* : NativeString */; -long var721 /* : Int */; +val* var711 /* : FlatString */; +static val* varonce712; +val* var713 /* : String */; +char* var714 /* : NativeString */; +val* var715 /* : FlatString */; +val* var716 /* : String */; +val* var718 /* : NativeArray[String] */; +static val* varonce717; +static val* varonce719; +val* var720 /* : String */; +char* var721 /* : NativeString */; val* var722 /* : FlatString */; -val* var723 /* : Array[Object] */; -long var724 /* : Int */; -val* var725 /* : NativeArray[Object] */; -val* var726 /* : String */; +static val* varonce723; +val* var724 /* : String */; +char* var725 /* : NativeString */; +val* var726 /* : FlatString */; static val* varonce727; val* var728 /* : String */; char* var729 /* : NativeString */; -long var730 /* : Int */; -val* var731 /* : FlatString */; -static val* varonce732; -val* var733 /* : String */; -char* var734 /* : NativeString */; -long var735 /* : Int */; -val* var736 /* : FlatString */; -val* var737 /* : Array[Object] */; -long var738 /* : Int */; -val* var739 /* : NativeArray[Object] */; -val* var740 /* : String */; -static val* varonce741; -val* var742 /* : String */; -char* var743 /* : NativeString */; -long var744 /* : Int */; -val* var745 /* : FlatString */; +val* var730 /* : FlatString */; +val* var731 /* : String */; +val* var733 /* : ModelBuilder */; +val* var735 /* : ModelBuilder */; +val* var736 /* : ToolContext */; +val* var738 /* : ToolContext */; +val* var739 /* : OptionBool */; +val* var741 /* : OptionBool */; +val* var742 /* : nullable Object */; +val* var744 /* : nullable Object */; +short int var745 /* : Bool */; static val* varonce746; val* var747 /* : String */; char* var748 /* : NativeString */; -long var749 /* : Int */; -val* var750 /* : FlatString */; -val* var751 /* : Array[Object] */; -long var752 /* : Int */; -val* var753 /* : NativeArray[Object] */; -val* var754 /* : String */; -static val* varonce755; -val* var756 /* : String */; -char* var757 /* : NativeString */; -long var758 /* : Int */; -val* var759 /* : FlatString */; -static val* varonce760; -val* var761 /* : String */; -char* var762 /* : NativeString */; -long var763 /* : Int */; -val* var764 /* : FlatString */; -val* var765 /* : Array[Object] */; -long var766 /* : Int */; -val* var767 /* : NativeArray[Object] */; -val* var768 /* : String */; -static val* varonce769; -val* var770 /* : String */; -char* var771 /* : NativeString */; -long var772 /* : Int */; -val* var773 /* : FlatString */; -static val* varonce774; -val* var775 /* : String */; -char* var776 /* : NativeString */; -long var777 /* : Int */; -val* var778 /* : FlatString */; -val* var779 /* : Array[Object] */; -long var780 /* : Int */; -val* var781 /* : NativeArray[Object] */; -val* var782 /* : String */; -static val* varonce785; -val* var786 /* : String */; -char* var787 /* : NativeString */; -long var788 /* : Int */; -val* var789 /* : FlatString */; -static val* varonce790; -val* var791 /* : String */; -char* var792 /* : NativeString */; -long var793 /* : Int */; +val* var749 /* : FlatString */; +static val* varonce750; +val* var751 /* : String */; +char* var752 /* : NativeString */; +val* var753 /* : FlatString */; +static val* varonce754; +val* var755 /* : String */; +char* var756 /* : NativeString */; +val* var757 /* : FlatString */; +static val* varonce758; +val* var759 /* : String */; +char* var760 /* : NativeString */; +val* var761 /* : FlatString */; +static val* varonce762; +val* var763 /* : String */; +char* var764 /* : NativeString */; +val* var765 /* : FlatString */; +static val* varonce766; +val* var767 /* : String */; +char* var768 /* : NativeString */; +val* var769 /* : FlatString */; +val* var770 /* : ModelBuilder */; +val* var772 /* : ModelBuilder */; +val* var773 /* : ToolContext */; +val* var775 /* : ToolContext */; +val* var776 /* : OptionBool */; +val* var778 /* : OptionBool */; +val* var779 /* : nullable Object */; +val* var781 /* : nullable Object */; +short int var782 /* : Bool */; +static val* varonce783; +val* var784 /* : String */; +char* var785 /* : NativeString */; +val* var786 /* : FlatString */; +static val* varonce787; +val* var788 /* : String */; +char* var789 /* : NativeString */; +val* var790 /* : FlatString */; +static val* varonce791; +val* var792 /* : String */; +char* var793 /* : NativeString */; val* var794 /* : FlatString */; -val* var795 /* : Array[String] */; -val* var797 /* : Array[String] */; -val* var798 /* : Array[nullable Object] */; -val* var_tags /* var tags: Array[String] */; -static val* varonce799; -val* var800 /* : String */; -char* var801 /* : NativeString */; -long var802 /* : Int */; -val* var803 /* : FlatString */; -val* var_804 /* var : Array[String] */; -val* var805 /* : ArrayIterator[nullable Object] */; -val* var_806 /* var : ArrayIterator[String] */; -short int var807 /* : Bool */; -val* var808 /* : nullable Object */; -val* var_tag809 /* var tag: String */; -static val* varonce810; -val* var811 /* : String */; -char* var812 /* : NativeString */; -long var813 /* : Int */; +static val* varonce795; +val* var796 /* : String */; +char* var797 /* : NativeString */; +val* var798 /* : FlatString */; +val* var799 /* : MModule */; +val* var801 /* : MModule */; +val* var802 /* : POSetElement[MModule] */; +val* var804 /* : POSetElement[MModule] */; +val* var805 /* : Collection[nullable Object] */; +val* var_806 /* var : Collection[MModule] */; +val* var807 /* : Iterator[nullable Object] */; +val* var_808 /* var : Iterator[MModule] */; +short int var809 /* : Bool */; +val* var810 /* : nullable Object */; +val* var_m /* var m: MModule */; +static val* varonce811; +val* var812 /* : String */; +char* var813 /* : NativeString */; val* var814 /* : FlatString */; -static val* varonce815; +val* var815 /* : String */; val* var816 /* : String */; -char* var817 /* : NativeString */; -long var818 /* : Int */; -val* var819 /* : FlatString */; -val* var820 /* : Array[Object] */; -long var821 /* : Int */; -val* var822 /* : NativeArray[Object] */; -val* var823 /* : String */; -static val* varonce824; -val* var825 /* : String */; -char* var826 /* : NativeString */; -long var827 /* : Int */; -val* var828 /* : FlatString */; -static val* varonce829; -val* var830 /* : String */; -char* var831 /* : NativeString */; -long var832 /* : Int */; -val* var833 /* : FlatString */; -static val* varonce834; -val* var835 /* : String */; -char* var836 /* : NativeString */; -long var837 /* : Int */; -val* var838 /* : FlatString */; -val* var839 /* : Array[Object] */; -long var840 /* : Int */; -val* var841 /* : NativeArray[Object] */; -val* var842 /* : String */; -static val* varonce843; -val* var844 /* : String */; -char* var845 /* : NativeString */; -long var846 /* : Int */; +val* var_f /* var f: String */; +val* var818 /* : NativeArray[String] */; +static val* varonce817; +static val* varonce819; +val* var820 /* : String */; +char* var821 /* : NativeString */; +val* var822 /* : FlatString */; +static val* varonce823; +val* var824 /* : String */; +char* var825 /* : NativeString */; +val* var826 /* : FlatString */; +static val* varonce827; +val* var828 /* : String */; +char* var829 /* : NativeString */; +val* var830 /* : FlatString */; +val* var831 /* : Location */; +val* var833 /* : Location */; +val* var834 /* : nullable SourceFile */; +val* var836 /* : nullable SourceFile */; +val* var837 /* : String */; +val* var839 /* : String */; +val* var840 /* : String */; +val* var841 /* : String */; +val* var843 /* : NativeArray[String] */; +static val* varonce842; +static val* varonce844; +val* var845 /* : String */; +char* var846 /* : NativeString */; val* var847 /* : FlatString */; static val* varonce848; val* var849 /* : String */; char* var850 /* : NativeString */; -long var851 /* : Int */; -val* var852 /* : FlatString */; -static val* varonce853; -val* var854 /* : String */; -char* var855 /* : NativeString */; -long var856 /* : Int */; -val* var857 /* : FlatString */; -val* var858 /* : Array[Object] */; -long var859 /* : Int */; -val* var860 /* : NativeArray[Object] */; -val* var861 /* : String */; -static val* varonce862; -val* var863 /* : String */; -char* var864 /* : NativeString */; -long var865 /* : Int */; -val* var866 /* : FlatString */; -static val* varonce867; -val* var868 /* : String */; -char* var869 /* : NativeString */; -long var870 /* : Int */; -val* var871 /* : FlatString */; -static val* varonce872; -val* var873 /* : String */; -char* var874 /* : NativeString */; -long var875 /* : Int */; -val* var876 /* : FlatString */; -val* var877 /* : Array[Object] */; -long var878 /* : Int */; -val* var879 /* : NativeArray[Object] */; -val* var880 /* : String */; -static val* varonce881; -val* var882 /* : String */; -char* var883 /* : NativeString */; -long var884 /* : Int */; -val* var885 /* : FlatString */; -static val* varonce886; -val* var887 /* : String */; -char* var888 /* : NativeString */; -long var889 /* : Int */; -val* var890 /* : FlatString */; -static val* varonce891; -val* var892 /* : String */; -char* var893 /* : NativeString */; -long var894 /* : Int */; -val* var895 /* : FlatString */; -val* var896 /* : Array[Object] */; -long var897 /* : Int */; -val* var898 /* : NativeArray[Object] */; -val* var899 /* : String */; -val* var902 /* : ModelBuilder */; -val* var904 /* : ModelBuilder */; -val* var905 /* : ToolContext */; -val* var907 /* : ToolContext */; -val* var908 /* : OptionBool */; -val* var910 /* : OptionBool */; -val* var911 /* : nullable Object */; -val* var913 /* : nullable Object */; -short int var914 /* : Bool */; -static val* varonce915; -val* var916 /* : String */; -char* var917 /* : NativeString */; -long var918 /* : Int */; -val* var919 /* : FlatString */; -static val* varonce920; -val* var921 /* : String */; -char* var922 /* : NativeString */; -long var923 /* : Int */; -val* var924 /* : FlatString */; -static val* varonce925; -val* var926 /* : String */; -char* var927 /* : NativeString */; -long var928 /* : Int */; -val* var929 /* : FlatString */; -static val* varonce930; -val* var931 /* : String */; -char* var932 /* : NativeString */; -long var933 /* : Int */; -val* var934 /* : FlatString */; -static val* varonce935; -val* var936 /* : String */; -char* var937 /* : NativeString */; -long var938 /* : Int */; -val* var939 /* : FlatString */; -static val* varonce940; -val* var941 /* : String */; -char* var942 /* : NativeString */; -long var943 /* : Int */; -val* var944 /* : FlatString */; -val* var945 /* : ModelBuilder */; -val* var947 /* : ModelBuilder */; -val* var948 /* : ToolContext */; -val* var950 /* : ToolContext */; -val* var951 /* : OptionBool */; -val* var953 /* : OptionBool */; -val* var954 /* : nullable Object */; -val* var956 /* : nullable Object */; -short int var957 /* : Bool */; -static val* varonce958; -val* var959 /* : String */; -char* var960 /* : NativeString */; -long var961 /* : Int */; -val* var962 /* : FlatString */; -static val* varonce963; -val* var964 /* : String */; -char* var965 /* : NativeString */; -long var966 /* : Int */; -val* var967 /* : FlatString */; -static val* varonce968; -val* var969 /* : String */; -char* var970 /* : NativeString */; -long var971 /* : Int */; -val* var972 /* : FlatString */; -static val* varonce973; -val* var974 /* : String */; -char* var975 /* : NativeString */; -long var976 /* : Int */; -val* var977 /* : FlatString */; -val* var978 /* : MModule */; -val* var980 /* : MModule */; -val* var981 /* : POSetElement[MModule] */; -val* var983 /* : POSetElement[MModule] */; -val* var984 /* : Collection[nullable Object] */; -val* var_985 /* var : Collection[MModule] */; -val* var986 /* : Iterator[nullable Object] */; -val* var_987 /* var : Iterator[MModule] */; -short int var988 /* : Bool */; -val* var989 /* : nullable Object */; -val* var_m /* var m: MModule */; -static val* varonce990; -val* var991 /* : String */; -char* var992 /* : NativeString */; -long var993 /* : Int */; -val* var994 /* : FlatString */; -val* var995 /* : String */; -val* var996 /* : String */; -val* var_f /* var f: String */; -static val* varonce997; -val* var998 /* : String */; -char* var999 /* : NativeString */; -long var1000 /* : Int */; -val* var1001 /* : FlatString */; -static val* varonce1002; -val* var1003 /* : String */; -char* var1004 /* : NativeString */; -long var1005 /* : Int */; -val* var1006 /* : FlatString */; -val* var1007 /* : Location */; -val* var1009 /* : Location */; -val* var1010 /* : nullable SourceFile */; -val* var1012 /* : nullable SourceFile */; -val* var1013 /* : String */; -val* var1015 /* : String */; -val* var1016 /* : String */; -static val* varonce1017; -val* var1018 /* : String */; -char* var1019 /* : NativeString */; -long var1020 /* : Int */; -val* var1021 /* : FlatString */; -val* var1022 /* : Array[Object] */; -long var1023 /* : Int */; -val* var1024 /* : NativeArray[Object] */; -val* var1025 /* : String */; -static val* varonce1026; -val* var1027 /* : String */; -char* var1028 /* : NativeString */; -long var1029 /* : Int */; -val* var1030 /* : FlatString */; -static val* varonce1031; -val* var1032 /* : String */; -char* var1033 /* : NativeString */; -long var1034 /* : Int */; -val* var1035 /* : FlatString */; -val* var1036 /* : Array[Object] */; -long var1037 /* : Int */; -val* var1038 /* : NativeArray[Object] */; -val* var1039 /* : String */; -{ -var = ((val* (*)(val* self))(self->class->vft[COLOR_nit__abstract_compiler__AbstractCompiler__new_visitor]))(self) /* new_visitor on */; +val* var851 /* : FlatString */; +val* var852 /* : String */; +{ +var = ((val*(*)(val* self))(self->class->vft[COLOR_nit__abstract_compiler__AbstractCompiler__new_visitor]))(self); /* new_visitor on */ } var_v = var; -if (varonce) { +if (likely(varonce!=NULL)) { var1 = varonce; } else { var2 = "#include "; -var3 = 19; -var4 = standard___standard__NativeString___to_s_with_length(var2, var3); -var1 = var4; +var3 = standard___standard__NativeString___to_s_with_length(var2, 19l); +var1 = var3; varonce = var1; } { nit___nit__AbstractCompilerVisitor___add_decl(var_v, var1); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } { -{ /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on */ -var7 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on */ -if (unlikely(var7 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 481); -show_backtrace(1); -} -var5 = var7; -RET_LABEL6:(void)0; -} -} -{ -{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (var5) on */ -var10 = var5->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ -if (unlikely(var10 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47); -show_backtrace(1); -} -var8 = var10; -RET_LABEL9:(void)0; -} -} -{ -{ /* Inline abstract_compiler#ToolContext#opt_stacktrace (var8) on */ -var13 = var8->attrs[COLOR_nit__abstract_compiler__ToolContext___opt_stacktrace].val; /* _opt_stacktrace on */ -if (unlikely(var13 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_stacktrace"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 65); -show_backtrace(1); -} -var11 = var13; -RET_LABEL12:(void)0; -} -} -{ -{ /* Inline opts#Option#value (var11) on */ -var16 = var11->attrs[COLOR_opts__Option___value].val; /* _value on */ -var14 = var16; -RET_LABEL15:(void)0; -} -} -var_ost = var14; -{ { /* Inline abstract_compiler#AbstractCompiler#target_platform (self) on */ -var19 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___target_platform].val; /* _target_platform on */ -if (unlikely(var19 == NULL)) { +var6 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___target_platform].val; /* _target_platform on */ +if (unlikely(var6 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target_platform"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 487); -show_backtrace(1); -} -var17 = var19; -RET_LABEL18:(void)0; -} -} -var_platform = var17; -{ -var20 = nit___nit__Platform___supports_libunwind(var_platform); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 533); +fatal_exit(1); } -var21 = !var20; -if (var21){ -if (varonce22) { -var23 = varonce22; -} else { -var24 = "none"; -var25 = 4; -var26 = standard___standard__NativeString___to_s_with_length(var24, var25); -var23 = var26; -varonce22 = var23; +var4 = var6; +RET_LABEL5:(void)0; } -var_ost = var23; -} else { } +var_platform = var4; { -var28 = nit___nit__Platform___no_main(var_platform); +var8 = nit___nit__Platform___no_main(var_platform); } -var_ = var28; -if (var28){ -var27 = var_; +var_ = var8; +if (var8){ +var7 = var_; } else { { { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on */ -var31 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on */ -if (unlikely(var31 == NULL)) { +var11 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on */ +if (unlikely(var11 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 481); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 522); +fatal_exit(1); } -var29 = var31; -RET_LABEL30:(void)0; +var9 = var11; +RET_LABEL10:(void)0; } } { -{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (var29) on */ -var34 = var29->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ -if (unlikely(var34 == NULL)) { +{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (var9) on */ +var14 = var9->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ +if (unlikely(var14 == 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); } -var32 = var34; -RET_LABEL33:(void)0; +var12 = var14; +RET_LABEL13:(void)0; } } { -{ /* Inline abstract_compiler#ToolContext#opt_no_main (var32) on */ -var37 = var32->attrs[COLOR_nit__abstract_compiler__ToolContext___opt_no_main].val; /* _opt_no_main on */ -if (unlikely(var37 == NULL)) { +{ /* Inline abstract_compiler#ToolContext#opt_no_main (var12) on */ +var17 = var12->attrs[COLOR_nit__abstract_compiler__ToolContext___opt_no_main].val; /* _opt_no_main on */ +if (unlikely(var17 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_main"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 35); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 36); +fatal_exit(1); } -var35 = var37; -RET_LABEL36:(void)0; +var15 = var17; +RET_LABEL16:(void)0; } } { -{ /* Inline opts#Option#value (var35) on */ -var40 = var35->attrs[COLOR_opts__Option___value].val; /* _value on */ -var38 = var40; -RET_LABEL39:(void)0; -} -} -var41 = ((struct instance_standard__Bool*)var38)->value; /* autounbox from nullable Object to Bool */; -var27 = var41; +{ /* Inline opts#Option#value (var15) on */ +var20 = var15->attrs[COLOR_opts__Option___value].val; /* _value on */ +var18 = var20; +RET_LABEL19:(void)0; } -var_no_main = var27; -if (varonce43) { -var44 = varonce43; -} else { -var45 = "nitstack"; -var46 = 8; -var47 = standard___standard__NativeString___to_s_with_length(var45, var46); -var44 = var47; -varonce43 = var44; } -if (var_ost == NULL) { -var48 = 0; /* cannot be null */ -} else { -var49 = ((short int (*)(val* self, val* p0))(var_ost->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_ost, var44) /* == on */; -var48 = var49; +var21 = (short int)((long)(var18)>>2); +var7 = var21; } -var_50 = var48; -if (var48){ -var42 = var_50; -} else { -if (varonce51) { -var52 = varonce51; -} else { -var53 = "libunwind"; -var54 = 9; -var55 = standard___standard__NativeString___to_s_with_length(var53, var54); -var52 = var55; -varonce51 = var52; +var_no_main = var7; +{ +var22 = nit___nit__Platform___supports_libunwind(var_platform); } -if (var_ost == NULL) { -var56 = 0; /* cannot be null */ +if (var22){ +if (likely(varonce23!=NULL)) { +var24 = varonce23; } else { -var57 = ((short int (*)(val* self, val* p0))(var_ost->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_ost, var52) /* == on */; -var56 = var57; +var25 = "#ifndef NO_STACKTRACE"; +var26 = standard___standard__NativeString___to_s_with_length(var25, 21l); +var24 = var26; +varonce23 = var24; } -var42 = var56; +{ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var24); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } -if (var42){ -if (varonce58) { -var59 = varonce58; +if (likely(varonce27!=NULL)) { +var28 = varonce27; } else { -var60 = "#define UNW_LOCAL_ONLY"; -var61 = 22; -var62 = standard___standard__NativeString___to_s_with_length(var60, var61); -var59 = var62; -varonce58 = var59; +var29 = "#define UNW_LOCAL_ONLY"; +var30 = standard___standard__NativeString___to_s_with_length(var29, 22l); +var28 = var30; +varonce27 = var28; } { -nit___nit__AbstractCompilerVisitor___add_decl(var_v, var59); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var28); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } -if (varonce63) { -var64 = varonce63; +if (likely(varonce31!=NULL)) { +var32 = varonce31; } else { -var65 = "#include "; -var66 = 22; -var67 = standard___standard__NativeString___to_s_with_length(var65, var66); -var64 = var67; -varonce63 = var64; +var33 = "#include "; +var34 = standard___standard__NativeString___to_s_with_length(var33, 22l); +var32 = var34; +varonce31 = var32; } { -nit___nit__AbstractCompilerVisitor___add_decl(var_v, var64); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var32); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } -if (varonce68) { -var69 = varonce68; +if (likely(varonce35!=NULL)) { +var36 = varonce35; } else { -var70 = "nitstack"; -var71 = 8; -var72 = standard___standard__NativeString___to_s_with_length(var70, var71); -var69 = var72; -varonce68 = var69; +var37 = "#include \"c_functions_hash.h\""; +var38 = standard___standard__NativeString___to_s_with_length(var37, 29l); +var36 = var38; +varonce35 = var36; } -if (var_ost == NULL) { -var73 = 0; /* cannot be null */ -} else { -var74 = ((short int (*)(val* self, val* p0))(var_ost->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_ost, var69) /* == on */; -var73 = var74; +{ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var36); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } -if (var73){ -if (varonce75) { -var76 = varonce75; +if (likely(varonce39!=NULL)) { +var40 = varonce39; } else { -var77 = "#include \"c_functions_hash.h\""; -var78 = 29; -var79 = standard___standard__NativeString___to_s_with_length(var77, var78); -var76 = var79; -varonce75 = var76; +var41 = "#endif"; +var42 = standard___standard__NativeString___to_s_with_length(var41, 6l); +var40 = var42; +varonce39 = var40; } { -nit___nit__AbstractCompilerVisitor___add_decl(var_v, var76); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ -} -} else { +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var40); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } } else { } -if (varonce80) { -var81 = varonce80; +if (likely(varonce43!=NULL)) { +var44 = varonce43; } else { -var82 = "int glob_argc;"; -var83 = 14; -var84 = standard___standard__NativeString___to_s_with_length(var82, var83); -var81 = var84; -varonce80 = var81; +var45 = "int glob_argc;"; +var46 = standard___standard__NativeString___to_s_with_length(var45, 14l); +var44 = var46; +varonce43 = var44; } { -nit___nit__AbstractCompilerVisitor___add_decl(var_v, var81); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var44); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } -if (varonce85) { -var86 = varonce85; +if (likely(varonce47!=NULL)) { +var48 = varonce47; } else { -var87 = "char **glob_argv;"; -var88 = 17; -var89 = standard___standard__NativeString___to_s_with_length(var87, var88); -var86 = var89; -varonce85 = var86; +var49 = "char **glob_argv;"; +var50 = standard___standard__NativeString___to_s_with_length(var49, 17l); +var48 = var50; +varonce47 = var48; } { -nit___nit__AbstractCompilerVisitor___add_decl(var_v, var86); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var48); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } -if (varonce90) { -var91 = varonce90; +if (likely(varonce51!=NULL)) { +var52 = varonce51; } else { -var92 = "val *glob_sys;"; -var93 = 14; -var94 = standard___standard__NativeString___to_s_with_length(var92, var93); -var91 = var94; -varonce90 = var91; +var53 = "val *glob_sys;"; +var54 = standard___standard__NativeString___to_s_with_length(var53, 14l); +var52 = var54; +varonce51 = var52; } { -nit___nit__AbstractCompilerVisitor___add_decl(var_v, var91); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var52); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } { { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on */ -var97 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on */ -if (unlikely(var97 == NULL)) { +var57 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on */ +if (unlikely(var57 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 481); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 522); +fatal_exit(1); } -var95 = var97; -RET_LABEL96:(void)0; +var55 = var57; +RET_LABEL56:(void)0; } } { -{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (var95) on */ -var100 = var95->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ -if (unlikely(var100 == NULL)) { +{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (var55) on */ +var60 = var55->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ +if (unlikely(var60 == 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); } -var98 = var100; -RET_LABEL99:(void)0; +var58 = var60; +RET_LABEL59:(void)0; } } { -{ /* Inline abstract_compiler#ToolContext#opt_typing_test_metrics (var98) on */ -var103 = var98->attrs[COLOR_nit__abstract_compiler__ToolContext___opt_typing_test_metrics].val; /* _opt_typing_test_metrics on */ -if (unlikely(var103 == NULL)) { +{ /* Inline abstract_compiler#ToolContext#opt_typing_test_metrics (var58) on */ +var63 = var58->attrs[COLOR_nit__abstract_compiler__ToolContext___opt_typing_test_metrics].val; /* _opt_typing_test_metrics on */ +if (unlikely(var63 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_typing_test_metrics"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 59); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 60); +fatal_exit(1); } -var101 = var103; -RET_LABEL102:(void)0; +var61 = var63; +RET_LABEL62:(void)0; } } { -{ /* Inline opts#Option#value (var101) on */ -var106 = var101->attrs[COLOR_opts__Option___value].val; /* _value on */ -var104 = var106; -RET_LABEL105:(void)0; +{ /* Inline opts#Option#value (var61) on */ +var66 = var61->attrs[COLOR_opts__Option___value].val; /* _value on */ +var64 = var66; +RET_LABEL65:(void)0; } } -var107 = ((struct instance_standard__Bool*)var104)->value; /* autounbox from nullable Object to Bool */; -if (var107){ +var67 = (short int)((long)(var64)>>2); +if (var67){ { { /* Inline abstract_compiler#AbstractCompiler#count_type_test_tags (self) on */ -var110 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_tags].val; /* _count_type_test_tags on */ -if (unlikely(var110 == NULL)) { +var70 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_tags].val; /* _count_type_test_tags on */ +if (unlikely(var70 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_tags"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 963); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1014); +fatal_exit(1); } -var108 = var110; -RET_LABEL109:(void)0; +var68 = var70; +RET_LABEL69:(void)0; } } -var_111 = var108; +var_71 = var68; { -var112 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_111); +var72 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_71); } -var_113 = var112; +var_73 = var72; for(;;) { { -var114 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_113); +var74 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_73); } -if (var114){ +if (var74){ { -var115 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_113); +var75 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_73); } -var_tag = var115; -if (varonce116) { -var117 = varonce116; +var_tag = var75; +if (unlikely(varonce76==NULL)) { +var77 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce78!=NULL)) { +var79 = varonce78; } else { -var118 = "long count_type_test_resolved_"; -var119 = 30; -var120 = standard___standard__NativeString___to_s_with_length(var118, var119); -var117 = var120; -varonce116 = var117; +var80 = "long count_type_test_resolved_"; +var81 = standard___standard__NativeString___to_s_with_length(var80, 30l); +var79 = var81; +varonce78 = var79; } -if (varonce121) { -var122 = varonce121; +((struct instance_standard__NativeArray*)var77)->values[0]=var79; +if (likely(varonce82!=NULL)) { +var83 = varonce82; } else { -var123 = ";"; -var124 = 1; -var125 = standard___standard__NativeString___to_s_with_length(var123, var124); -var122 = var125; -varonce121 = var122; -} -var126 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var126 = array_instance Array[Object] */ -var127 = 3; -var128 = NEW_standard__NativeArray(var127, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var128)->values[0] = (val*) var117; -((struct instance_standard__NativeArray*)var128)->values[1] = (val*) var_tag; -((struct instance_standard__NativeArray*)var128)->values[2] = (val*) var122; -{ -((void (*)(val* self, val* p0, long p1))(var126->class->vft[COLOR_standard__array__Array__with_native]))(var126, var128, var127) /* with_native on */; +var84 = ";"; +var85 = standard___standard__NativeString___to_s_with_length(var84, 1l); +var83 = var85; +varonce82 = var83; } +((struct instance_standard__NativeArray*)var77)->values[2]=var83; +} else { +var77 = varonce76; +varonce76 = NULL; } +((struct instance_standard__NativeArray*)var77)->values[1]=var_tag; { -var129 = ((val* (*)(val* self))(var126->class->vft[COLOR_standard__string__Object__to_s]))(var126) /* to_s on */; +var86 = ((val*(*)(val* self))(var77->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var77); /* native_to_s on */ } +varonce76 = var77; { -nit___nit__AbstractCompilerVisitor___add_decl(var_v, var129); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var86); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } -if (varonce130) { -var131 = varonce130; +if (unlikely(varonce87==NULL)) { +var88 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce89!=NULL)) { +var90 = varonce89; } else { -var132 = "long count_type_test_unresolved_"; -var133 = 32; -var134 = standard___standard__NativeString___to_s_with_length(var132, var133); -var131 = var134; -varonce130 = var131; +var91 = "long count_type_test_unresolved_"; +var92 = standard___standard__NativeString___to_s_with_length(var91, 32l); +var90 = var92; +varonce89 = var90; } -if (varonce135) { -var136 = varonce135; +((struct instance_standard__NativeArray*)var88)->values[0]=var90; +if (likely(varonce93!=NULL)) { +var94 = varonce93; } else { -var137 = ";"; -var138 = 1; -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_tag; -((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 */; +var95 = ";"; +var96 = standard___standard__NativeString___to_s_with_length(var95, 1l); +var94 = var96; +varonce93 = var94; } +((struct instance_standard__NativeArray*)var88)->values[2]=var94; +} else { +var88 = varonce87; +varonce87 = NULL; } +((struct instance_standard__NativeArray*)var88)->values[1]=var_tag; { -var143 = ((val* (*)(val* self))(var140->class->vft[COLOR_standard__string__Object__to_s]))(var140) /* to_s on */; +var97 = ((val*(*)(val* self))(var88->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var88); /* native_to_s on */ } +varonce87 = var88; { -nit___nit__AbstractCompilerVisitor___add_decl(var_v, var143); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var97); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } -if (varonce144) { -var145 = varonce144; +if (unlikely(varonce98==NULL)) { +var99 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce100!=NULL)) { +var101 = varonce100; } else { -var146 = "long count_type_test_skipped_"; -var147 = 29; -var148 = standard___standard__NativeString___to_s_with_length(var146, var147); -var145 = var148; -varonce144 = var145; +var102 = "long count_type_test_skipped_"; +var103 = standard___standard__NativeString___to_s_with_length(var102, 29l); +var101 = var103; +varonce100 = var101; } -if (varonce149) { -var150 = varonce149; +((struct instance_standard__NativeArray*)var99)->values[0]=var101; +if (likely(varonce104!=NULL)) { +var105 = varonce104; } else { -var151 = ";"; -var152 = 1; -var153 = standard___standard__NativeString___to_s_with_length(var151, var152); -var150 = var153; -varonce149 = var150; -} -var154 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var154 = array_instance Array[Object] */ -var155 = 3; -var156 = NEW_standard__NativeArray(var155, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var156)->values[0] = (val*) var145; -((struct instance_standard__NativeArray*)var156)->values[1] = (val*) var_tag; -((struct instance_standard__NativeArray*)var156)->values[2] = (val*) var150; -{ -((void (*)(val* self, val* p0, long p1))(var154->class->vft[COLOR_standard__array__Array__with_native]))(var154, var156, var155) /* with_native on */; +var106 = ";"; +var107 = standard___standard__NativeString___to_s_with_length(var106, 1l); +var105 = var107; +varonce104 = var105; } +((struct instance_standard__NativeArray*)var99)->values[2]=var105; +} else { +var99 = varonce98; +varonce98 = NULL; } +((struct instance_standard__NativeArray*)var99)->values[1]=var_tag; { -var157 = ((val* (*)(val* self))(var154->class->vft[COLOR_standard__string__Object__to_s]))(var154) /* to_s on */; +var108 = ((val*(*)(val* self))(var99->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var99); /* native_to_s on */ } +varonce98 = var99; { -nit___nit__AbstractCompilerVisitor___add_decl(var_v, var157); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var108); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } { { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on */ -var160 = var_v->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ -if (unlikely(var160 == NULL)) { +var111 = var_v->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ +if (unlikely(var111 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1059); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1102); +fatal_exit(1); } -var158 = var160; -RET_LABEL159:(void)0; +var109 = var111; +RET_LABEL110:(void)0; } } { -{ /* Inline abstract_compiler#AbstractCompiler#header (var158) on */ -var163 = var158->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___header].val; /* _header on */ -if (unlikely(var163 == NULL)) { +{ /* Inline abstract_compiler#AbstractCompiler#header (var109) on */ +var114 = var109->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___header].val; /* _header on */ +if (unlikely(var114 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 523); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 569); +fatal_exit(1); } -var161 = var163; -RET_LABEL162:(void)0; +var112 = var114; +RET_LABEL113:(void)0; } } -if (varonce164) { -var165 = varonce164; +if (unlikely(varonce115==NULL)) { +var116 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce117!=NULL)) { +var118 = varonce117; } else { -var166 = "extern long count_type_test_resolved_"; -var167 = 37; -var168 = standard___standard__NativeString___to_s_with_length(var166, var167); -var165 = var168; -varonce164 = var165; +var119 = "extern long count_type_test_resolved_"; +var120 = standard___standard__NativeString___to_s_with_length(var119, 37l); +var118 = var120; +varonce117 = var118; } -if (varonce169) { -var170 = varonce169; +((struct instance_standard__NativeArray*)var116)->values[0]=var118; +if (likely(varonce121!=NULL)) { +var122 = varonce121; } else { -var171 = ";"; -var172 = 1; -var173 = standard___standard__NativeString___to_s_with_length(var171, var172); -var170 = var173; -varonce169 = var170; -} -var174 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var174 = array_instance Array[Object] */ -var175 = 3; -var176 = NEW_standard__NativeArray(var175, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var176)->values[0] = (val*) var165; -((struct instance_standard__NativeArray*)var176)->values[1] = (val*) var_tag; -((struct instance_standard__NativeArray*)var176)->values[2] = (val*) var170; -{ -((void (*)(val* self, val* p0, long p1))(var174->class->vft[COLOR_standard__array__Array__with_native]))(var174, var176, var175) /* with_native on */; +var123 = ";"; +var124 = standard___standard__NativeString___to_s_with_length(var123, 1l); +var122 = var124; +varonce121 = var122; } +((struct instance_standard__NativeArray*)var116)->values[2]=var122; +} else { +var116 = varonce115; +varonce115 = NULL; } +((struct instance_standard__NativeArray*)var116)->values[1]=var_tag; { -var177 = ((val* (*)(val* self))(var174->class->vft[COLOR_standard__string__Object__to_s]))(var174) /* to_s on */; +var125 = ((val*(*)(val* self))(var116->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var116); /* native_to_s on */ } +varonce115 = var116; { -nit___nit__CodeWriter___add_decl(var161, var177); /* Direct call abstract_compiler#CodeWriter#add_decl on */ +nit___nit__CodeWriter___add_decl(var112, var125); /* Direct call abstract_compiler#CodeWriter#add_decl on */ } { { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on */ -var180 = var_v->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ -if (unlikely(var180 == NULL)) { +var128 = var_v->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ +if (unlikely(var128 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1059); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1102); +fatal_exit(1); } -var178 = var180; -RET_LABEL179:(void)0; +var126 = var128; +RET_LABEL127:(void)0; } } { -{ /* Inline abstract_compiler#AbstractCompiler#header (var178) on */ -var183 = var178->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___header].val; /* _header on */ -if (unlikely(var183 == NULL)) { +{ /* Inline abstract_compiler#AbstractCompiler#header (var126) on */ +var131 = var126->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___header].val; /* _header on */ +if (unlikely(var131 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 523); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 569); +fatal_exit(1); } -var181 = var183; -RET_LABEL182:(void)0; +var129 = var131; +RET_LABEL130:(void)0; } } -if (varonce184) { -var185 = varonce184; +if (unlikely(varonce132==NULL)) { +var133 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce134!=NULL)) { +var135 = varonce134; } else { -var186 = "extern long count_type_test_unresolved_"; -var187 = 39; -var188 = standard___standard__NativeString___to_s_with_length(var186, var187); -var185 = var188; -varonce184 = var185; +var136 = "extern long count_type_test_unresolved_"; +var137 = standard___standard__NativeString___to_s_with_length(var136, 39l); +var135 = var137; +varonce134 = var135; } -if (varonce189) { -var190 = varonce189; +((struct instance_standard__NativeArray*)var133)->values[0]=var135; +if (likely(varonce138!=NULL)) { +var139 = varonce138; } else { -var191 = ";"; -var192 = 1; -var193 = standard___standard__NativeString___to_s_with_length(var191, var192); -var190 = var193; -varonce189 = var190; -} -var194 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var194 = array_instance Array[Object] */ -var195 = 3; -var196 = NEW_standard__NativeArray(var195, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var196)->values[0] = (val*) var185; -((struct instance_standard__NativeArray*)var196)->values[1] = (val*) var_tag; -((struct instance_standard__NativeArray*)var196)->values[2] = (val*) var190; -{ -((void (*)(val* self, val* p0, long p1))(var194->class->vft[COLOR_standard__array__Array__with_native]))(var194, var196, var195) /* with_native on */; +var140 = ";"; +var141 = standard___standard__NativeString___to_s_with_length(var140, 1l); +var139 = var141; +varonce138 = var139; } +((struct instance_standard__NativeArray*)var133)->values[2]=var139; +} else { +var133 = varonce132; +varonce132 = NULL; } +((struct instance_standard__NativeArray*)var133)->values[1]=var_tag; { -var197 = ((val* (*)(val* self))(var194->class->vft[COLOR_standard__string__Object__to_s]))(var194) /* to_s on */; +var142 = ((val*(*)(val* self))(var133->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var133); /* native_to_s on */ } +varonce132 = var133; { -nit___nit__CodeWriter___add_decl(var181, var197); /* Direct call abstract_compiler#CodeWriter#add_decl on */ +nit___nit__CodeWriter___add_decl(var129, var142); /* Direct call abstract_compiler#CodeWriter#add_decl on */ } { { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on */ -var200 = var_v->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ -if (unlikely(var200 == NULL)) { +var145 = var_v->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ +if (unlikely(var145 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1059); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1102); +fatal_exit(1); } -var198 = var200; -RET_LABEL199:(void)0; +var143 = var145; +RET_LABEL144:(void)0; } } { -{ /* Inline abstract_compiler#AbstractCompiler#header (var198) on */ -var203 = var198->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___header].val; /* _header on */ -if (unlikely(var203 == NULL)) { +{ /* Inline abstract_compiler#AbstractCompiler#header (var143) on */ +var148 = var143->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___header].val; /* _header on */ +if (unlikely(var148 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 523); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 569); +fatal_exit(1); } -var201 = var203; -RET_LABEL202:(void)0; +var146 = var148; +RET_LABEL147:(void)0; } } -if (varonce204) { -var205 = varonce204; +if (unlikely(varonce149==NULL)) { +var150 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce151!=NULL)) { +var152 = varonce151; } else { -var206 = "extern long count_type_test_skipped_"; -var207 = 36; -var208 = standard___standard__NativeString___to_s_with_length(var206, var207); -var205 = var208; -varonce204 = var205; +var153 = "extern long count_type_test_skipped_"; +var154 = standard___standard__NativeString___to_s_with_length(var153, 36l); +var152 = var154; +varonce151 = var152; } -if (varonce209) { -var210 = varonce209; +((struct instance_standard__NativeArray*)var150)->values[0]=var152; +if (likely(varonce155!=NULL)) { +var156 = varonce155; } else { -var211 = ";"; -var212 = 1; -var213 = standard___standard__NativeString___to_s_with_length(var211, var212); -var210 = var213; -varonce209 = var210; -} -var214 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var214 = array_instance Array[Object] */ -var215 = 3; -var216 = NEW_standard__NativeArray(var215, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var216)->values[0] = (val*) var205; -((struct instance_standard__NativeArray*)var216)->values[1] = (val*) var_tag; -((struct instance_standard__NativeArray*)var216)->values[2] = (val*) var210; -{ -((void (*)(val* self, val* p0, long p1))(var214->class->vft[COLOR_standard__array__Array__with_native]))(var214, var216, var215) /* with_native on */; +var157 = ";"; +var158 = standard___standard__NativeString___to_s_with_length(var157, 1l); +var156 = var158; +varonce155 = var156; } +((struct instance_standard__NativeArray*)var150)->values[2]=var156; +} else { +var150 = varonce149; +varonce149 = NULL; } +((struct instance_standard__NativeArray*)var150)->values[1]=var_tag; { -var217 = ((val* (*)(val* self))(var214->class->vft[COLOR_standard__string__Object__to_s]))(var214) /* to_s on */; +var159 = ((val*(*)(val* self))(var150->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var150); /* native_to_s on */ } +varonce149 = var150; { -nit___nit__CodeWriter___add_decl(var201, var217); /* Direct call abstract_compiler#CodeWriter#add_decl on */ +nit___nit__CodeWriter___add_decl(var146, var159); /* Direct call abstract_compiler#CodeWriter#add_decl on */ } { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_113); /* Direct call array#ArrayIterator#next on */ +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_73); /* Direct call array#ArrayIterator#next on */ } } else { goto BREAK_label; @@ -1621,1166 +1325,1118 @@ goto BREAK_label; } BREAK_label: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_113) on */ -RET_LABEL218:(void)0; -} +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_73); /* Direct call array#ArrayIterator#finish on */ } } else { } { { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on */ -var221 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on */ -if (unlikely(var221 == NULL)) { +var162 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on */ +if (unlikely(var162 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 481); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 522); +fatal_exit(1); } -var219 = var221; -RET_LABEL220:(void)0; +var160 = var162; +RET_LABEL161:(void)0; } } { -{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (var219) on */ -var224 = var219->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ -if (unlikely(var224 == NULL)) { +{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (var160) on */ +var165 = var160->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ +if (unlikely(var165 == 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); } -var222 = var224; -RET_LABEL223:(void)0; +var163 = var165; +RET_LABEL164:(void)0; } } { -{ /* Inline abstract_compiler#ToolContext#opt_invocation_metrics (var222) on */ -var227 = var222->attrs[COLOR_nit__abstract_compiler__ToolContext___opt_invocation_metrics].val; /* _opt_invocation_metrics on */ -if (unlikely(var227 == NULL)) { +{ /* Inline abstract_compiler#ToolContext#opt_invocation_metrics (var163) on */ +var168 = var163->attrs[COLOR_nit__abstract_compiler__ToolContext___opt_invocation_metrics].val; /* _opt_invocation_metrics on */ +if (unlikely(var168 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_invocation_metrics"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 61); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 62); +fatal_exit(1); } -var225 = var227; -RET_LABEL226:(void)0; +var166 = var168; +RET_LABEL167:(void)0; } } { -{ /* Inline opts#Option#value (var225) on */ -var230 = var225->attrs[COLOR_opts__Option___value].val; /* _value on */ -var228 = var230; -RET_LABEL229:(void)0; +{ /* Inline opts#Option#value (var166) on */ +var171 = var166->attrs[COLOR_opts__Option___value].val; /* _value on */ +var169 = var171; +RET_LABEL170:(void)0; } } -var231 = ((struct instance_standard__Bool*)var228)->value; /* autounbox from nullable Object to Bool */; -if (var231){ -if (varonce232) { -var233 = varonce232; +var172 = (short int)((long)(var169)>>2); +if (var172){ +if (likely(varonce173!=NULL)) { +var174 = varonce173; } else { -var234 = "long count_invoke_by_tables;"; -var235 = 28; -var236 = standard___standard__NativeString___to_s_with_length(var234, var235); -var233 = var236; -varonce232 = var233; +var175 = "long count_invoke_by_tables;"; +var176 = standard___standard__NativeString___to_s_with_length(var175, 28l); +var174 = var176; +varonce173 = var174; } { -nit___nit__AbstractCompilerVisitor___add_decl(var_v, var233); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var174); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } -if (varonce237) { -var238 = varonce237; +if (likely(varonce177!=NULL)) { +var178 = varonce177; } else { -var239 = "long count_invoke_by_direct;"; -var240 = 28; -var241 = standard___standard__NativeString___to_s_with_length(var239, var240); -var238 = var241; -varonce237 = var238; +var179 = "long count_invoke_by_direct;"; +var180 = standard___standard__NativeString___to_s_with_length(var179, 28l); +var178 = var180; +varonce177 = var178; } { -nit___nit__AbstractCompilerVisitor___add_decl(var_v, var238); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var178); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } -if (varonce242) { -var243 = varonce242; +if (likely(varonce181!=NULL)) { +var182 = varonce181; } else { -var244 = "long count_invoke_by_inline;"; -var245 = 28; -var246 = standard___standard__NativeString___to_s_with_length(var244, var245); -var243 = var246; -varonce242 = var243; +var183 = "long count_invoke_by_inline;"; +var184 = standard___standard__NativeString___to_s_with_length(var183, 28l); +var182 = var184; +varonce181 = var182; } { -nit___nit__AbstractCompilerVisitor___add_decl(var_v, var243); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var182); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } { { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on */ -var249 = var_v->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ -if (unlikely(var249 == NULL)) { +var187 = var_v->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ +if (unlikely(var187 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1059); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1102); +fatal_exit(1); } -var247 = var249; -RET_LABEL248:(void)0; +var185 = var187; +RET_LABEL186:(void)0; } } { -{ /* Inline abstract_compiler#AbstractCompiler#header (var247) on */ -var252 = var247->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___header].val; /* _header on */ -if (unlikely(var252 == NULL)) { +{ /* Inline abstract_compiler#AbstractCompiler#header (var185) on */ +var190 = var185->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___header].val; /* _header on */ +if (unlikely(var190 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 523); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 569); +fatal_exit(1); } -var250 = var252; -RET_LABEL251:(void)0; +var188 = var190; +RET_LABEL189:(void)0; } } -if (varonce253) { -var254 = varonce253; +if (likely(varonce191!=NULL)) { +var192 = varonce191; } else { -var255 = "extern long count_invoke_by_tables;"; -var256 = 35; -var257 = standard___standard__NativeString___to_s_with_length(var255, var256); -var254 = var257; -varonce253 = var254; +var193 = "extern long count_invoke_by_tables;"; +var194 = standard___standard__NativeString___to_s_with_length(var193, 35l); +var192 = var194; +varonce191 = var192; } { -nit___nit__CodeWriter___add_decl(var250, var254); /* Direct call abstract_compiler#CodeWriter#add_decl on */ +nit___nit__CodeWriter___add_decl(var188, var192); /* Direct call abstract_compiler#CodeWriter#add_decl on */ } { { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on */ -var260 = var_v->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ -if (unlikely(var260 == NULL)) { +var197 = var_v->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ +if (unlikely(var197 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1059); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1102); +fatal_exit(1); } -var258 = var260; -RET_LABEL259:(void)0; +var195 = var197; +RET_LABEL196:(void)0; } } { -{ /* Inline abstract_compiler#AbstractCompiler#header (var258) on */ -var263 = var258->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___header].val; /* _header on */ -if (unlikely(var263 == NULL)) { +{ /* Inline abstract_compiler#AbstractCompiler#header (var195) on */ +var200 = var195->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___header].val; /* _header on */ +if (unlikely(var200 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 523); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 569); +fatal_exit(1); } -var261 = var263; -RET_LABEL262:(void)0; +var198 = var200; +RET_LABEL199:(void)0; } } -if (varonce264) { -var265 = varonce264; +if (likely(varonce201!=NULL)) { +var202 = varonce201; } else { -var266 = "extern long count_invoke_by_direct;"; -var267 = 35; -var268 = standard___standard__NativeString___to_s_with_length(var266, var267); -var265 = var268; -varonce264 = var265; +var203 = "extern long count_invoke_by_direct;"; +var204 = standard___standard__NativeString___to_s_with_length(var203, 35l); +var202 = var204; +varonce201 = var202; } { -nit___nit__CodeWriter___add_decl(var261, var265); /* Direct call abstract_compiler#CodeWriter#add_decl on */ +nit___nit__CodeWriter___add_decl(var198, var202); /* Direct call abstract_compiler#CodeWriter#add_decl on */ } { { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on */ -var271 = var_v->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ -if (unlikely(var271 == NULL)) { +var207 = var_v->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ +if (unlikely(var207 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1059); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1102); +fatal_exit(1); } -var269 = var271; -RET_LABEL270:(void)0; +var205 = var207; +RET_LABEL206:(void)0; } } { -{ /* Inline abstract_compiler#AbstractCompiler#header (var269) on */ -var274 = var269->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___header].val; /* _header on */ -if (unlikely(var274 == NULL)) { +{ /* Inline abstract_compiler#AbstractCompiler#header (var205) on */ +var210 = var205->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___header].val; /* _header on */ +if (unlikely(var210 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 523); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 569); +fatal_exit(1); } -var272 = var274; -RET_LABEL273:(void)0; +var208 = var210; +RET_LABEL209:(void)0; } } -if (varonce275) { -var276 = varonce275; +if (likely(varonce211!=NULL)) { +var212 = varonce211; } else { -var277 = "extern long count_invoke_by_inline;"; -var278 = 35; -var279 = standard___standard__NativeString___to_s_with_length(var277, var278); -var276 = var279; -varonce275 = var276; +var213 = "extern long count_invoke_by_inline;"; +var214 = standard___standard__NativeString___to_s_with_length(var213, 35l); +var212 = var214; +varonce211 = var212; } { -nit___nit__CodeWriter___add_decl(var272, var276); /* Direct call abstract_compiler#CodeWriter#add_decl on */ +nit___nit__CodeWriter___add_decl(var208, var212); /* Direct call abstract_compiler#CodeWriter#add_decl on */ } } else { } { { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on */ -var282 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on */ -if (unlikely(var282 == NULL)) { +var217 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on */ +if (unlikely(var217 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 481); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 522); +fatal_exit(1); } -var280 = var282; -RET_LABEL281:(void)0; +var215 = var217; +RET_LABEL216:(void)0; } } { -{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (var280) on */ -var285 = var280->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ -if (unlikely(var285 == NULL)) { +{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (var215) on */ +var220 = var215->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ +if (unlikely(var220 == 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); } -var283 = var285; -RET_LABEL284:(void)0; +var218 = var220; +RET_LABEL219:(void)0; } } { -{ /* Inline abstract_compiler#ToolContext#opt_isset_checks_metrics (var283) on */ -var288 = var283->attrs[COLOR_nit__abstract_compiler__ToolContext___opt_isset_checks_metrics].val; /* _opt_isset_checks_metrics on */ -if (unlikely(var288 == NULL)) { +{ /* Inline abstract_compiler#ToolContext#opt_isset_checks_metrics (var218) on */ +var223 = var218->attrs[COLOR_nit__abstract_compiler__ToolContext___opt_isset_checks_metrics].val; /* _opt_isset_checks_metrics on */ +if (unlikely(var223 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_isset_checks_metrics"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 63); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 64); +fatal_exit(1); } -var286 = var288; -RET_LABEL287:(void)0; +var221 = var223; +RET_LABEL222:(void)0; } } { -{ /* Inline opts#Option#value (var286) on */ -var291 = var286->attrs[COLOR_opts__Option___value].val; /* _value on */ -var289 = var291; -RET_LABEL290:(void)0; +{ /* Inline opts#Option#value (var221) on */ +var226 = var221->attrs[COLOR_opts__Option___value].val; /* _value on */ +var224 = var226; +RET_LABEL225:(void)0; } } -var292 = ((struct instance_standard__Bool*)var289)->value; /* autounbox from nullable Object to Bool */; -if (var292){ -if (varonce293) { -var294 = varonce293; +var227 = (short int)((long)(var224)>>2); +if (var227){ +if (likely(varonce228!=NULL)) { +var229 = varonce228; } else { -var295 = "long count_attr_reads = 0;"; -var296 = 26; -var297 = standard___standard__NativeString___to_s_with_length(var295, var296); -var294 = var297; -varonce293 = var294; +var230 = "long count_attr_reads = 0;"; +var231 = standard___standard__NativeString___to_s_with_length(var230, 26l); +var229 = var231; +varonce228 = var229; } { -nit___nit__AbstractCompilerVisitor___add_decl(var_v, var294); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var229); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } -if (varonce298) { -var299 = varonce298; +if (likely(varonce232!=NULL)) { +var233 = varonce232; } else { -var300 = "long count_isset_checks = 0;"; -var301 = 28; -var302 = standard___standard__NativeString___to_s_with_length(var300, var301); -var299 = var302; -varonce298 = var299; +var234 = "long count_isset_checks = 0;"; +var235 = standard___standard__NativeString___to_s_with_length(var234, 28l); +var233 = var235; +varonce232 = var233; } { -nit___nit__AbstractCompilerVisitor___add_decl(var_v, var299); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var233); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } { { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on */ -var305 = var_v->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ -if (unlikely(var305 == NULL)) { +var238 = var_v->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ +if (unlikely(var238 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1059); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1102); +fatal_exit(1); } -var303 = var305; -RET_LABEL304:(void)0; +var236 = var238; +RET_LABEL237:(void)0; } } { -{ /* Inline abstract_compiler#AbstractCompiler#header (var303) on */ -var308 = var303->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___header].val; /* _header on */ -if (unlikely(var308 == NULL)) { +{ /* Inline abstract_compiler#AbstractCompiler#header (var236) on */ +var241 = var236->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___header].val; /* _header on */ +if (unlikely(var241 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 523); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 569); +fatal_exit(1); } -var306 = var308; -RET_LABEL307:(void)0; +var239 = var241; +RET_LABEL240:(void)0; } } -if (varonce309) { -var310 = varonce309; +if (likely(varonce242!=NULL)) { +var243 = varonce242; } else { -var311 = "extern long count_attr_reads;"; -var312 = 29; -var313 = standard___standard__NativeString___to_s_with_length(var311, var312); -var310 = var313; -varonce309 = var310; +var244 = "extern long count_attr_reads;"; +var245 = standard___standard__NativeString___to_s_with_length(var244, 29l); +var243 = var245; +varonce242 = var243; } { -nit___nit__CodeWriter___add_decl(var306, var310); /* Direct call abstract_compiler#CodeWriter#add_decl on */ +nit___nit__CodeWriter___add_decl(var239, var243); /* Direct call abstract_compiler#CodeWriter#add_decl on */ } { { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on */ -var316 = var_v->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ -if (unlikely(var316 == NULL)) { +var248 = var_v->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ +if (unlikely(var248 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1059); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1102); +fatal_exit(1); } -var314 = var316; -RET_LABEL315:(void)0; +var246 = var248; +RET_LABEL247:(void)0; } } { -{ /* Inline abstract_compiler#AbstractCompiler#header (var314) on */ -var319 = var314->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___header].val; /* _header on */ -if (unlikely(var319 == NULL)) { +{ /* Inline abstract_compiler#AbstractCompiler#header (var246) on */ +var251 = var246->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___header].val; /* _header on */ +if (unlikely(var251 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 523); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 569); +fatal_exit(1); } -var317 = var319; -RET_LABEL318:(void)0; +var249 = var251; +RET_LABEL250:(void)0; } } -if (varonce320) { -var321 = varonce320; +if (likely(varonce252!=NULL)) { +var253 = varonce252; } else { -var322 = "extern long count_isset_checks;"; -var323 = 31; -var324 = standard___standard__NativeString___to_s_with_length(var322, var323); -var321 = var324; -varonce320 = var321; +var254 = "extern long count_isset_checks;"; +var255 = standard___standard__NativeString___to_s_with_length(var254, 31l); +var253 = var255; +varonce252 = var253; } { -nit___nit__CodeWriter___add_decl(var317, var321); /* Direct call abstract_compiler#CodeWriter#add_decl on */ +nit___nit__CodeWriter___add_decl(var249, var253); /* Direct call abstract_compiler#CodeWriter#add_decl on */ } } else { } -if (varonce325) { -var326 = varonce325; +if (likely(varonce256!=NULL)) { +var257 = varonce256; } else { -var327 = "void sig_handler(int signo){"; -var328 = 28; -var329 = standard___standard__NativeString___to_s_with_length(var327, var328); -var326 = var329; -varonce325 = var326; +var258 = "static void show_backtrace(void) {"; +var259 = standard___standard__NativeString___to_s_with_length(var258, 34l); +var257 = var259; +varonce256 = var257; } { -nit___nit__AbstractCompilerVisitor___add_decl(var_v, var326); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var257); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +} +{ +var260 = nit___nit__Platform___supports_libunwind(var_platform); } -if (varonce330) { -var331 = varonce330; +if (var260){ +if (likely(varonce261!=NULL)) { +var262 = varonce261; } else { -var332 = "PRINT_ERROR(\"Caught signal : %s\\n\", strsignal(signo));"; -var333 = 54; -var334 = standard___standard__NativeString___to_s_with_length(var332, var333); -var331 = var334; -varonce330 = var331; +var263 = "#ifndef NO_STACKTRACE"; +var264 = standard___standard__NativeString___to_s_with_length(var263, 21l); +var262 = var264; +varonce261 = var262; } { -nit___nit__AbstractCompilerVisitor___add_decl(var_v, var331); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var262); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } -if (varonce335) { -var336 = varonce335; +if (likely(varonce265!=NULL)) { +var266 = varonce265; } else { -var337 = "show_backtrace(signo);"; -var338 = 22; -var339 = standard___standard__NativeString___to_s_with_length(var337, var338); -var336 = var339; -varonce335 = var336; +var267 = "char* opt = getenv(\"NIT_NO_STACK\");"; +var268 = standard___standard__NativeString___to_s_with_length(var267, 35l); +var266 = var268; +varonce265 = var266; } { -nit___nit__AbstractCompilerVisitor___add_decl(var_v, var336); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var266); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } -if (varonce340) { -var341 = varonce340; +if (likely(varonce269!=NULL)) { +var270 = varonce269; } else { -var342 = "}"; -var343 = 1; -var344 = standard___standard__NativeString___to_s_with_length(var342, var343); -var341 = var344; -varonce340 = var341; +var271 = "unw_cursor_t cursor;"; +var272 = standard___standard__NativeString___to_s_with_length(var271, 20l); +var270 = var272; +varonce269 = var270; } { -nit___nit__AbstractCompilerVisitor___add_decl(var_v, var341); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var270); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } -if (varonce345) { -var346 = varonce345; +if (likely(varonce273!=NULL)) { +var274 = varonce273; } else { -var347 = "void show_backtrace (int signo) {"; -var348 = 33; -var349 = standard___standard__NativeString___to_s_with_length(var347, var348); -var346 = var349; -varonce345 = var346; +var275 = "if(opt==NULL){"; +var276 = standard___standard__NativeString___to_s_with_length(var275, 14l); +var274 = var276; +varonce273 = var274; } { -nit___nit__AbstractCompilerVisitor___add_decl(var_v, var346); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var274); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } -if (varonce351) { -var352 = varonce351; +if (likely(varonce277!=NULL)) { +var278 = varonce277; } else { -var353 = "nitstack"; -var354 = 8; -var355 = standard___standard__NativeString___to_s_with_length(var353, var354); -var352 = var355; -varonce351 = var352; +var279 = "unw_context_t uc;"; +var280 = standard___standard__NativeString___to_s_with_length(var279, 17l); +var278 = var280; +varonce277 = var278; } -if (var_ost == NULL) { -var356 = 0; /* cannot be null */ -} else { -var357 = ((short int (*)(val* self, val* p0))(var_ost->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_ost, var352) /* == on */; -var356 = var357; +{ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var278); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } -var_358 = var356; -if (var356){ -var350 = var_358; -} else { -if (varonce359) { -var360 = varonce359; +if (likely(varonce281!=NULL)) { +var282 = varonce281; } else { -var361 = "libunwind"; -var362 = 9; -var363 = standard___standard__NativeString___to_s_with_length(var361, var362); -var360 = var363; -varonce359 = var360; +var283 = "unw_word_t ip;"; +var284 = standard___standard__NativeString___to_s_with_length(var283, 14l); +var282 = var284; +varonce281 = var282; +} +{ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var282); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } -if (var_ost == NULL) { -var364 = 0; /* cannot be null */ +if (likely(varonce285!=NULL)) { +var286 = varonce285; } else { -var365 = ((short int (*)(val* self, val* p0))(var_ost->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_ost, var360) /* == on */; -var364 = var365; +var287 = "char* procname = malloc(sizeof(char) * 100);"; +var288 = standard___standard__NativeString___to_s_with_length(var287, 44l); +var286 = var288; +varonce285 = var286; } -var350 = var364; +{ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var286); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } -if (var350){ -if (varonce366) { -var367 = varonce366; +if (likely(varonce289!=NULL)) { +var290 = varonce289; } else { -var368 = "char* opt = getenv(\"NIT_NO_STACK\");"; -var369 = 35; -var370 = standard___standard__NativeString___to_s_with_length(var368, var369); -var367 = var370; -varonce366 = var367; +var291 = "unw_getcontext(&uc);"; +var292 = standard___standard__NativeString___to_s_with_length(var291, 20l); +var290 = var292; +varonce289 = var290; } { -nit___nit__AbstractCompilerVisitor___add_decl(var_v, var367); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var290); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } -if (varonce371) { -var372 = varonce371; +if (likely(varonce293!=NULL)) { +var294 = varonce293; } else { -var373 = "unw_cursor_t cursor;"; -var374 = 20; -var375 = standard___standard__NativeString___to_s_with_length(var373, var374); -var372 = var375; -varonce371 = var372; +var295 = "unw_init_local(&cursor, &uc);"; +var296 = standard___standard__NativeString___to_s_with_length(var295, 29l); +var294 = var296; +varonce293 = var294; } { -nit___nit__AbstractCompilerVisitor___add_decl(var_v, var372); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var294); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } -if (varonce376) { -var377 = varonce376; +if (likely(varonce297!=NULL)) { +var298 = varonce297; } else { -var378 = "if(opt==NULL){"; -var379 = 14; -var380 = standard___standard__NativeString___to_s_with_length(var378, var379); -var377 = var380; -varonce376 = var377; +var299 = "PRINT_ERROR(\"-------------------------------------------------\\n\");"; +var300 = standard___standard__NativeString___to_s_with_length(var299, 67l); +var298 = var300; +varonce297 = var298; } { -nit___nit__AbstractCompilerVisitor___add_decl(var_v, var377); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var298); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } -if (varonce381) { -var382 = varonce381; +if (likely(varonce301!=NULL)) { +var302 = varonce301; } else { -var383 = "unw_context_t uc;"; -var384 = 17; -var385 = standard___standard__NativeString___to_s_with_length(var383, var384); -var382 = var385; -varonce381 = var382; +var303 = "PRINT_ERROR(\"-- Stack Trace ------------------------------\\n\");"; +var304 = standard___standard__NativeString___to_s_with_length(var303, 67l); +var302 = var304; +varonce301 = var302; } { -nit___nit__AbstractCompilerVisitor___add_decl(var_v, var382); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var302); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } -if (varonce386) { -var387 = varonce386; +if (likely(varonce305!=NULL)) { +var306 = varonce305; } else { -var388 = "unw_word_t ip;"; -var389 = 14; -var390 = standard___standard__NativeString___to_s_with_length(var388, var389); -var387 = var390; -varonce386 = var387; +var307 = "PRINT_ERROR(\"-------------------------------------------------\\n\");"; +var308 = standard___standard__NativeString___to_s_with_length(var307, 67l); +var306 = var308; +varonce305 = var306; } { -nit___nit__AbstractCompilerVisitor___add_decl(var_v, var387); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var306); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } -if (varonce391) { -var392 = varonce391; +if (likely(varonce309!=NULL)) { +var310 = varonce309; } else { -var393 = "char* procname = malloc(sizeof(char) * 100);"; -var394 = 44; -var395 = standard___standard__NativeString___to_s_with_length(var393, var394); -var392 = var395; -varonce391 = var392; +var311 = "while (unw_step(&cursor) > 0) {"; +var312 = standard___standard__NativeString___to_s_with_length(var311, 31l); +var310 = var312; +varonce309 = var310; } { -nit___nit__AbstractCompilerVisitor___add_decl(var_v, var392); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var310); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } -if (varonce396) { -var397 = varonce396; +if (likely(varonce313!=NULL)) { +var314 = varonce313; } else { -var398 = "unw_getcontext(&uc);"; -var399 = 20; -var400 = standard___standard__NativeString___to_s_with_length(var398, var399); -var397 = var400; -varonce396 = var397; +var315 = "\tunw_get_proc_name(&cursor, procname, 100, &ip);"; +var316 = standard___standard__NativeString___to_s_with_length(var315, 48l); +var314 = var316; +varonce313 = var314; } { -nit___nit__AbstractCompilerVisitor___add_decl(var_v, var397); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var314); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } -if (varonce401) { -var402 = varonce401; +if (likely(varonce317!=NULL)) { +var318 = varonce317; } else { -var403 = "unw_init_local(&cursor, &uc);"; -var404 = 29; -var405 = standard___standard__NativeString___to_s_with_length(var403, var404); -var402 = var405; -varonce401 = var402; +var319 = "\tconst char* recv = get_nit_name(procname, strlen(procname));"; +var320 = standard___standard__NativeString___to_s_with_length(var319, 61l); +var318 = var320; +varonce317 = var318; } { -nit___nit__AbstractCompilerVisitor___add_decl(var_v, var402); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var318); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } -if (varonce406) { -var407 = varonce406; +if (likely(varonce321!=NULL)) { +var322 = varonce321; } else { -var408 = "PRINT_ERROR(\"-------------------------------------------------\\n\");"; -var409 = 67; -var410 = standard___standard__NativeString___to_s_with_length(var408, var409); -var407 = var410; -varonce406 = var407; +var323 = "\tif (recv != NULL){"; +var324 = standard___standard__NativeString___to_s_with_length(var323, 19l); +var322 = var324; +varonce321 = var322; } { -nit___nit__AbstractCompilerVisitor___add_decl(var_v, var407); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var322); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } -if (varonce411) { -var412 = varonce411; +if (likely(varonce325!=NULL)) { +var326 = varonce325; } else { -var413 = "PRINT_ERROR(\"-- Stack Trace ------------------------------\\n\");"; -var414 = 67; -var415 = standard___standard__NativeString___to_s_with_length(var413, var414); -var412 = var415; -varonce411 = var412; +var327 = "\t\tPRINT_ERROR(\"` %s\\n\", recv);"; +var328 = standard___standard__NativeString___to_s_with_length(var327, 30l); +var326 = var328; +varonce325 = var326; } { -nit___nit__AbstractCompilerVisitor___add_decl(var_v, var412); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var326); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } -if (varonce416) { -var417 = varonce416; +if (likely(varonce329!=NULL)) { +var330 = varonce329; } else { -var418 = "PRINT_ERROR(\"-------------------------------------------------\\n\");"; -var419 = 67; -var420 = standard___standard__NativeString___to_s_with_length(var418, var419); -var417 = var420; -varonce416 = var417; +var331 = "\t}else{"; +var332 = standard___standard__NativeString___to_s_with_length(var331, 7l); +var330 = var332; +varonce329 = var330; } { -nit___nit__AbstractCompilerVisitor___add_decl(var_v, var417); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var330); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } -if (varonce421) { -var422 = varonce421; +if (likely(varonce333!=NULL)) { +var334 = varonce333; } else { -var423 = "while (unw_step(&cursor) > 0) {"; -var424 = 31; -var425 = standard___standard__NativeString___to_s_with_length(var423, var424); -var422 = var425; -varonce421 = var422; +var335 = "\t\tPRINT_ERROR(\"` %s\\n\", procname);"; +var336 = standard___standard__NativeString___to_s_with_length(var335, 34l); +var334 = var336; +varonce333 = var334; } { -nit___nit__AbstractCompilerVisitor___add_decl(var_v, var422); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var334); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } -if (varonce426) { -var427 = varonce426; +if (likely(varonce337!=NULL)) { +var338 = varonce337; } else { -var428 = "\11unw_get_proc_name(&cursor, procname, 100, &ip);"; -var429 = 48; -var430 = standard___standard__NativeString___to_s_with_length(var428, var429); -var427 = var430; -varonce426 = var427; +var339 = "\t}"; +var340 = standard___standard__NativeString___to_s_with_length(var339, 2l); +var338 = var340; +varonce337 = var338; } { -nit___nit__AbstractCompilerVisitor___add_decl(var_v, var427); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var338); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } -if (varonce431) { -var432 = varonce431; +if (likely(varonce341!=NULL)) { +var342 = varonce341; } else { -var433 = "nitstack"; -var434 = 8; -var435 = standard___standard__NativeString___to_s_with_length(var433, var434); -var432 = var435; -varonce431 = var432; +var343 = "}"; +var344 = standard___standard__NativeString___to_s_with_length(var343, 1l); +var342 = var344; +varonce341 = var342; } -if (var_ost == NULL) { -var436 = 0; /* cannot be null */ -} else { -var437 = ((short int (*)(val* self, val* p0))(var_ost->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_ost, var432) /* == on */; -var436 = var437; +{ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var342); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } -if (var436){ -if (varonce438) { -var439 = varonce438; +if (likely(varonce345!=NULL)) { +var346 = varonce345; } else { -var440 = "\11const char* recv = get_nit_name(procname, strlen(procname));"; -var441 = 61; -var442 = standard___standard__NativeString___to_s_with_length(var440, var441); -var439 = var442; -varonce438 = var439; +var347 = "PRINT_ERROR(\"-------------------------------------------------\\n\");"; +var348 = standard___standard__NativeString___to_s_with_length(var347, 67l); +var346 = var348; +varonce345 = var346; } { -nit___nit__AbstractCompilerVisitor___add_decl(var_v, var439); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var346); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } -if (varonce443) { -var444 = varonce443; +if (likely(varonce349!=NULL)) { +var350 = varonce349; } else { -var445 = "\11if (recv != NULL){"; -var446 = 19; -var447 = standard___standard__NativeString___to_s_with_length(var445, var446); -var444 = var447; -varonce443 = var444; +var351 = "free(procname);"; +var352 = standard___standard__NativeString___to_s_with_length(var351, 15l); +var350 = var352; +varonce349 = var350; } { -nit___nit__AbstractCompilerVisitor___add_decl(var_v, var444); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var350); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } -if (varonce448) { -var449 = varonce448; +if (likely(varonce353!=NULL)) { +var354 = varonce353; } else { -var450 = "\11\11PRINT_ERROR(\"` %s\\n\", recv);"; -var451 = 30; -var452 = standard___standard__NativeString___to_s_with_length(var450, var451); -var449 = var452; -varonce448 = var449; +var355 = "}"; +var356 = standard___standard__NativeString___to_s_with_length(var355, 1l); +var354 = var356; +varonce353 = var354; } { -nit___nit__AbstractCompilerVisitor___add_decl(var_v, var449); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var354); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } -if (varonce453) { -var454 = varonce453; +if (likely(varonce357!=NULL)) { +var358 = varonce357; } else { -var455 = "\11}else{"; -var456 = 7; -var457 = standard___standard__NativeString___to_s_with_length(var455, var456); -var454 = var457; -varonce453 = var454; +var359 = "#endif /* NO_STACKTRACE */"; +var360 = standard___standard__NativeString___to_s_with_length(var359, 26l); +var358 = var360; +varonce357 = var358; } { -nit___nit__AbstractCompilerVisitor___add_decl(var_v, var454); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var358); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +} +} else { } -if (varonce458) { -var459 = varonce458; +if (likely(varonce361!=NULL)) { +var362 = varonce361; } else { -var460 = "\11\11PRINT_ERROR(\"` %s\\n\", procname);"; -var461 = 34; -var462 = standard___standard__NativeString___to_s_with_length(var460, var461); -var459 = var462; -varonce458 = var459; +var363 = "}"; +var364 = standard___standard__NativeString___to_s_with_length(var363, 1l); +var362 = var364; +varonce361 = var362; } { -nit___nit__AbstractCompilerVisitor___add_decl(var_v, var459); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var362); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } -if (varonce463) { -var464 = varonce463; +if (likely(varonce365!=NULL)) { +var366 = varonce365; } else { -var465 = "\11}"; -var466 = 2; -var467 = standard___standard__NativeString___to_s_with_length(var465, var466); -var464 = var467; -varonce463 = var464; +var367 = "void sig_handler(int signo){"; +var368 = standard___standard__NativeString___to_s_with_length(var367, 28l); +var366 = var368; +varonce365 = var366; } { -nit___nit__AbstractCompilerVisitor___add_decl(var_v, var464); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var366); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } +if (likely(varonce369!=NULL)) { +var370 = varonce369; } else { -if (varonce468) { -var469 = varonce468; -} else { -var470 = "\11PRINT_ERROR(\"` %s \\n\",procname);"; -var471 = 33; -var472 = standard___standard__NativeString___to_s_with_length(var470, var471); -var469 = var472; -varonce468 = var469; +var371 = "PRINT_ERROR(\"Caught signal : %s\\n\", strsignal(signo));"; +var372 = standard___standard__NativeString___to_s_with_length(var371, 54l); +var370 = var372; +varonce369 = var370; } { -nit___nit__AbstractCompilerVisitor___add_decl(var_v, var469); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var370); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } +if (likely(varonce373!=NULL)) { +var374 = varonce373; +} else { +var375 = "show_backtrace();"; +var376 = standard___standard__NativeString___to_s_with_length(var375, 17l); +var374 = var376; +varonce373 = var374; +} +{ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var374); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } -if (varonce473) { -var474 = varonce473; +if (likely(varonce377!=NULL)) { +var378 = varonce377; } else { -var475 = "}"; -var476 = 1; -var477 = standard___standard__NativeString___to_s_with_length(var475, var476); -var474 = var477; -varonce473 = var474; +var379 = "signal(signo, SIG_DFL);"; +var380 = standard___standard__NativeString___to_s_with_length(var379, 23l); +var378 = var380; +varonce377 = var378; } { -nit___nit__AbstractCompilerVisitor___add_decl(var_v, var474); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var378); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } -if (varonce478) { -var479 = varonce478; +if (likely(varonce381!=NULL)) { +var382 = varonce381; } else { -var480 = "PRINT_ERROR(\"-------------------------------------------------\\n\");"; -var481 = 67; -var482 = standard___standard__NativeString___to_s_with_length(var480, var481); -var479 = var482; -varonce478 = var479; +var383 = "kill(getpid(), signo);"; +var384 = standard___standard__NativeString___to_s_with_length(var383, 22l); +var382 = var384; +varonce381 = var382; } { -nit___nit__AbstractCompilerVisitor___add_decl(var_v, var479); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var382); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } -if (varonce483) { -var484 = varonce483; +if (likely(varonce385!=NULL)) { +var386 = varonce385; } else { -var485 = "free(procname);"; -var486 = 15; -var487 = standard___standard__NativeString___to_s_with_length(var485, var486); -var484 = var487; -varonce483 = var484; +var387 = "}"; +var388 = standard___standard__NativeString___to_s_with_length(var387, 1l); +var386 = var388; +varonce385 = var386; } { -nit___nit__AbstractCompilerVisitor___add_decl(var_v, var484); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var386); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } -if (varonce488) { -var489 = varonce488; +if (likely(varonce389!=NULL)) { +var390 = varonce389; } else { -var490 = "}"; -var491 = 1; -var492 = standard___standard__NativeString___to_s_with_length(var490, var491); -var489 = var492; -varonce488 = var489; +var391 = "void fatal_exit(int status) {"; +var392 = standard___standard__NativeString___to_s_with_length(var391, 29l); +var390 = var392; +varonce389 = var390; } { -nit___nit__AbstractCompilerVisitor___add_decl(var_v, var489); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var390); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } +if (likely(varonce393!=NULL)) { +var394 = varonce393; } else { +var395 = "show_backtrace();"; +var396 = standard___standard__NativeString___to_s_with_length(var395, 17l); +var394 = var396; +varonce393 = var394; +} +{ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var394); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } -if (varonce493) { -var494 = varonce493; +if (likely(varonce397!=NULL)) { +var398 = varonce397; } else { -var495 = "exit(signo);"; -var496 = 12; -var497 = standard___standard__NativeString___to_s_with_length(var495, var496); -var494 = var497; -varonce493 = var494; +var399 = "exit(status);"; +var400 = standard___standard__NativeString___to_s_with_length(var399, 13l); +var398 = var400; +varonce397 = var398; } { -nit___nit__AbstractCompilerVisitor___add_decl(var_v, var494); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var398); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } -if (varonce498) { -var499 = varonce498; +if (likely(varonce401!=NULL)) { +var402 = varonce401; } else { -var500 = "}"; -var501 = 1; -var502 = standard___standard__NativeString___to_s_with_length(var500, var501); -var499 = var502; -varonce498 = var499; +var403 = "}"; +var404 = standard___standard__NativeString___to_s_with_length(var403, 1l); +var402 = var404; +varonce401 = var402; } { -nit___nit__AbstractCompilerVisitor___add_decl(var_v, var499); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var402); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } if (var_no_main){ -if (varonce503) { -var504 = varonce503; +if (likely(varonce405!=NULL)) { +var406 = varonce405; } else { -var505 = "int nit_main(int argc, char** argv) {"; -var506 = 37; -var507 = standard___standard__NativeString___to_s_with_length(var505, var506); -var504 = var507; -varonce503 = var504; +var407 = "int nit_main(int argc, char** argv) {"; +var408 = standard___standard__NativeString___to_s_with_length(var407, 37l); +var406 = var408; +varonce405 = var406; } { -nit___nit__AbstractCompilerVisitor___add_decl(var_v, var504); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var406); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } } else { -if (varonce508) { -var509 = varonce508; +if (likely(varonce409!=NULL)) { +var410 = varonce409; } else { -var510 = "int main(int argc, char** argv) {"; -var511 = 33; -var512 = standard___standard__NativeString___to_s_with_length(var510, var511); -var509 = var512; -varonce508 = var509; +var411 = "int main(int argc, char** argv) {"; +var412 = standard___standard__NativeString___to_s_with_length(var411, 33l); +var410 = var412; +varonce409 = var410; } { -nit___nit__AbstractCompilerVisitor___add_decl(var_v, var509); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var410); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } } -if (varonce513) { -var514 = varonce513; +if (likely(varonce413!=NULL)) { +var414 = varonce413; } else { -var515 = "signal(SIGABRT, sig_handler);"; -var516 = 29; -var517 = standard___standard__NativeString___to_s_with_length(var515, var516); -var514 = var517; -varonce513 = var514; +var415 = "signal(SIGABRT, sig_handler);"; +var416 = standard___standard__NativeString___to_s_with_length(var415, 29l); +var414 = var416; +varonce413 = var414; } { -nit___nit__AbstractCompilerVisitor___add(var_v, var514); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +nit___nit__AbstractCompilerVisitor___add(var_v, var414); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } -if (varonce518) { -var519 = varonce518; +if (likely(varonce417!=NULL)) { +var418 = varonce417; } else { -var520 = "signal(SIGFPE, sig_handler);"; -var521 = 28; -var522 = standard___standard__NativeString___to_s_with_length(var520, var521); -var519 = var522; -varonce518 = var519; +var419 = "signal(SIGFPE, sig_handler);"; +var420 = standard___standard__NativeString___to_s_with_length(var419, 28l); +var418 = var420; +varonce417 = var418; } { -nit___nit__AbstractCompilerVisitor___add(var_v, var519); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +nit___nit__AbstractCompilerVisitor___add(var_v, var418); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } -if (varonce523) { -var524 = varonce523; +if (likely(varonce421!=NULL)) { +var422 = varonce421; } else { -var525 = "signal(SIGILL, sig_handler);"; -var526 = 28; -var527 = standard___standard__NativeString___to_s_with_length(var525, var526); -var524 = var527; -varonce523 = var524; +var423 = "signal(SIGILL, sig_handler);"; +var424 = standard___standard__NativeString___to_s_with_length(var423, 28l); +var422 = var424; +varonce421 = var422; } { -nit___nit__AbstractCompilerVisitor___add(var_v, var524); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +nit___nit__AbstractCompilerVisitor___add(var_v, var422); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } -if (varonce528) { -var529 = varonce528; +if (likely(varonce425!=NULL)) { +var426 = varonce425; } else { -var530 = "signal(SIGINT, sig_handler);"; -var531 = 28; -var532 = standard___standard__NativeString___to_s_with_length(var530, var531); -var529 = var532; -varonce528 = var529; +var427 = "signal(SIGINT, sig_handler);"; +var428 = standard___standard__NativeString___to_s_with_length(var427, 28l); +var426 = var428; +varonce425 = var426; } { -nit___nit__AbstractCompilerVisitor___add(var_v, var529); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +nit___nit__AbstractCompilerVisitor___add(var_v, var426); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } -if (varonce533) { -var534 = varonce533; +if (likely(varonce429!=NULL)) { +var430 = varonce429; } else { -var535 = "signal(SIGTERM, sig_handler);"; -var536 = 29; -var537 = standard___standard__NativeString___to_s_with_length(var535, var536); -var534 = var537; -varonce533 = var534; +var431 = "signal(SIGTERM, sig_handler);"; +var432 = standard___standard__NativeString___to_s_with_length(var431, 29l); +var430 = var432; +varonce429 = var430; } { -nit___nit__AbstractCompilerVisitor___add(var_v, var534); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +nit___nit__AbstractCompilerVisitor___add(var_v, var430); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } -if (varonce538) { -var539 = varonce538; +if (likely(varonce433!=NULL)) { +var434 = varonce433; } else { -var540 = "signal(SIGSEGV, sig_handler);"; -var541 = 29; -var542 = standard___standard__NativeString___to_s_with_length(var540, var541); -var539 = var542; -varonce538 = var539; +var435 = "signal(SIGSEGV, sig_handler);"; +var436 = standard___standard__NativeString___to_s_with_length(var435, 29l); +var434 = var436; +varonce433 = var434; } { -nit___nit__AbstractCompilerVisitor___add(var_v, var539); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +nit___nit__AbstractCompilerVisitor___add(var_v, var434); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } -if (varonce543) { -var544 = varonce543; +if (likely(varonce437!=NULL)) { +var438 = varonce437; } else { -var545 = "signal(SIGPIPE, sig_handler);"; -var546 = 29; -var547 = standard___standard__NativeString___to_s_with_length(var545, var546); -var544 = var547; -varonce543 = var544; +var439 = "signal(SIGPIPE, sig_handler);"; +var440 = standard___standard__NativeString___to_s_with_length(var439, 29l); +var438 = var440; +varonce437 = var438; } { -nit___nit__AbstractCompilerVisitor___add(var_v, var544); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +nit___nit__AbstractCompilerVisitor___add(var_v, var438); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } -if (varonce548) { -var549 = varonce548; +if (likely(varonce441!=NULL)) { +var442 = varonce441; } else { -var550 = "glob_argc = argc; glob_argv = argv;"; -var551 = 35; -var552 = standard___standard__NativeString___to_s_with_length(var550, var551); -var549 = var552; -varonce548 = var549; +var443 = "glob_argc = argc; glob_argv = argv;"; +var444 = standard___standard__NativeString___to_s_with_length(var443, 35l); +var442 = var444; +varonce441 = var442; } { -nit___nit__AbstractCompilerVisitor___add(var_v, var549); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +nit___nit__AbstractCompilerVisitor___add(var_v, var442); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } -if (varonce553) { -var554 = varonce553; +if (likely(varonce445!=NULL)) { +var446 = varonce445; } else { -var555 = "initialize_gc_option();"; -var556 = 23; -var557 = standard___standard__NativeString___to_s_with_length(var555, var556); -var554 = var557; -varonce553 = var554; +var447 = "initialize_gc_option();"; +var448 = standard___standard__NativeString___to_s_with_length(var447, 23l); +var446 = var448; +varonce445 = var446; } { -nit___nit__AbstractCompilerVisitor___add(var_v, var554); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +nit___nit__AbstractCompilerVisitor___add(var_v, var446); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } -if (varonce558) { -var559 = varonce558; +if (likely(varonce449!=NULL)) { +var450 = varonce449; } else { -var560 = "initialize_nitni_global_refs();"; -var561 = 31; -var562 = standard___standard__NativeString___to_s_with_length(var560, var561); -var559 = var562; -varonce558 = var559; +var451 = "initialize_nitni_global_refs();"; +var452 = standard___standard__NativeString___to_s_with_length(var451, 31l); +var450 = var452; +varonce449 = var450; } { -nit___nit__AbstractCompilerVisitor___add(var_v, var559); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +nit___nit__AbstractCompilerVisitor___add(var_v, var450); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } { { /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on */ -var565 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on */ -if (unlikely(var565 == NULL)) { +var455 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on */ +if (unlikely(var455 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 474); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 515); +fatal_exit(1); } -var563 = var565; -RET_LABEL564:(void)0; +var453 = var455; +RET_LABEL454:(void)0; } } { -var566 = nit__model___MModule___sys_type(var563); +var456 = nit__model___MModule___sys_type(var453); } -var_main_type = var566; -var567 = NULL; +var_main_type = var456; if (var_main_type == NULL) { -var568 = 0; /* is null */ +var457 = 0; /* is null */ } else { -var568 = 1; /* arg is null and recv is not */ +var457 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_main_type,var567) on */ -var_other = var567; +{ /* Inline kernel#Object#!= (var_main_type,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var571 = ((short int (*)(val* self, val* p0))(var_main_type->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_main_type, var_other) /* == on */; +var460 = ((short int(*)(val* self, val* p0))(var_main_type->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_main_type, var_other); /* == on */ } -var572 = !var571; -var569 = var572; -goto RET_LABEL570; -RET_LABEL570:(void)0; +var461 = !var460; +var458 = var461; +goto RET_LABEL459; +RET_LABEL459:(void)0; } -var568 = var569; +var457 = var458; } -if (var568){ +if (var457){ { { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on */ -var575 = var_v->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ -if (unlikely(var575 == NULL)) { +var464 = var_v->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ +if (unlikely(var464 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1059); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1102); +fatal_exit(1); } -var573 = var575; -RET_LABEL574:(void)0; +var462 = var464; +RET_LABEL463:(void)0; } } { -{ /* Inline abstract_compiler#AbstractCompiler#mainmodule (var573) on */ -var578 = var573->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on */ -if (unlikely(var578 == NULL)) { +{ /* Inline abstract_compiler#AbstractCompiler#mainmodule (var462) on */ +var467 = var462->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on */ +if (unlikely(var467 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 474); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 515); +fatal_exit(1); } -var576 = var578; -RET_LABEL577:(void)0; +var465 = var467; +RET_LABEL466:(void)0; } } -var_mainmodule = var576; +var_mainmodule = var465; { -var579 = ((val* (*)(val* self, val* p0))(var_v->class->vft[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__init_instance]))(var_v, var_main_type) /* init_instance on */; +var468 = ((val*(*)(val* self, val* p0))(var_v->class->vft[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__init_instance]))(var_v, var_main_type); /* init_instance on */ } -var_glob_sys = var579; -if (varonce580) { -var581 = varonce580; +var_glob_sys = var468; +if (unlikely(varonce469==NULL)) { +var470 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce471!=NULL)) { +var472 = varonce471; } else { -var582 = "glob_sys = "; -var583 = 11; -var584 = standard___standard__NativeString___to_s_with_length(var582, var583); -var581 = var584; -varonce580 = var581; +var473 = "glob_sys = "; +var474 = standard___standard__NativeString___to_s_with_length(var473, 11l); +var472 = var474; +varonce471 = var472; } -if (varonce585) { -var586 = varonce585; +((struct instance_standard__NativeArray*)var470)->values[0]=var472; +if (likely(varonce475!=NULL)) { +var476 = varonce475; } else { -var587 = ";"; -var588 = 1; -var589 = standard___standard__NativeString___to_s_with_length(var587, var588); -var586 = var589; -varonce585 = var586; +var477 = ";"; +var478 = standard___standard__NativeString___to_s_with_length(var477, 1l); +var476 = var478; +varonce475 = var476; } -var590 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var590 = array_instance Array[Object] */ -var591 = 3; -var592 = NEW_standard__NativeArray(var591, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var592)->values[0] = (val*) var581; -((struct instance_standard__NativeArray*)var592)->values[1] = (val*) var_glob_sys; -((struct instance_standard__NativeArray*)var592)->values[2] = (val*) var586; -{ -((void (*)(val* self, val* p0, long p1))(var590->class->vft[COLOR_standard__array__Array__with_native]))(var590, var592, var591) /* with_native on */; +((struct instance_standard__NativeArray*)var470)->values[2]=var476; +} else { +var470 = varonce469; +varonce469 = NULL; } +{ +var479 = ((val*(*)(val* self))(var_glob_sys->class->vft[COLOR_standard__string__Object__to_s]))(var_glob_sys); /* to_s on */ } +((struct instance_standard__NativeArray*)var470)->values[1]=var479; { -var593 = ((val* (*)(val* self))(var590->class->vft[COLOR_standard__string__Object__to_s]))(var590) /* to_s on */; +var480 = ((val*(*)(val* self))(var470->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var470); /* native_to_s on */ } +varonce469 = var470; { -nit___nit__AbstractCompilerVisitor___add(var_v, var593); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +nit___nit__AbstractCompilerVisitor___add(var_v, var480); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } -if (varonce594) { -var595 = varonce594; +if (likely(varonce481!=NULL)) { +var482 = varonce481; } else { -var596 = "init"; -var597 = 4; -var598 = standard___standard__NativeString___to_s_with_length(var596, var597); -var595 = var598; -varonce594 = var595; +var483 = "init"; +var484 = standard___standard__NativeString___to_s_with_length(var483, 4l); +var482 = var484; +varonce481 = var482; } { { /* Inline model#MClassType#mclass (var_main_type) on */ -var601 = var_main_type->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ -if (unlikely(var601 == NULL)) { +var487 = var_main_type->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ +if (unlikely(var487 == 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); } -var599 = var601; -RET_LABEL600:(void)0; +var485 = var487; +RET_LABEL486:(void)0; } } { -var602 = nit__model___MModule___try_get_primitive_method(var_mainmodule, var595, var599); +var488 = nit__model___MModule___try_get_primitive_method(var_mainmodule, var482, var485); } -var_main_init = var602; -var603 = NULL; +var_main_init = var488; if (var_main_init == NULL) { -var604 = 0; /* is null */ +var489 = 0; /* is null */ } else { -var604 = 1; /* arg is null and recv is not */ +var489 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_main_init,var603) on */ -var_other = var603; +{ /* Inline kernel#Object#!= (var_main_init,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var607 = ((short int (*)(val* self, val* p0))(var_main_init->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_main_init, var_other) /* == on */; +var492 = ((short int(*)(val* self, val* p0))(var_main_init->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_main_init, var_other); /* == on */ } -var608 = !var607; -var605 = var608; -goto RET_LABEL606; -RET_LABEL606:(void)0; +var493 = !var492; +var490 = var493; +goto RET_LABEL491; +RET_LABEL491:(void)0; } -var604 = var605; +var489 = var490; } -if (var604){ -var609 = NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable); -var610 = 1; +if (var489){ +var494 = NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable); { -standard___standard__Array___with_capacity(var609, var610); /* Direct call array#Array#with_capacity on */ +standard___standard__Array___with_capacity(var494, 1l); /* Direct call array#Array#with_capacity on */ } -var_611 = var609; +var_495 = var494; { -standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_611, var_glob_sys); /* Direct call array#AbstractArray#push on */ +standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_495, var_glob_sys); /* Direct call array#AbstractArray#push on */ } { -var612 = nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__send(var_v, var_main_init, var_611); +var496 = nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__send(var_v, var_main_init, var_495); } } else { } -if (varonce614) { -var615 = varonce614; +if (likely(varonce498!=NULL)) { +var499 = varonce498; } else { -var616 = "run"; -var617 = 3; -var618 = standard___standard__NativeString___to_s_with_length(var616, var617); -var615 = var618; -varonce614 = var615; +var500 = "run"; +var501 = standard___standard__NativeString___to_s_with_length(var500, 3l); +var499 = var501; +varonce498 = var499; } { { /* Inline model#MClassType#mclass (var_main_type) on */ -var621 = var_main_type->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ -if (unlikely(var621 == NULL)) { +var504 = var_main_type->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ +if (unlikely(var504 == 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); } -var619 = var621; -RET_LABEL620:(void)0; +var502 = var504; +RET_LABEL503:(void)0; } } { -var622 = nit__model___MModule___try_get_primitive_method(var_mainmodule, var615, var619); +var505 = nit__model___MModule___try_get_primitive_method(var_mainmodule, var499, var502); } -if (var622!=NULL) { -var613 = var622; +if (var505!=NULL) { +var497 = var505; } else { -if (varonce623) { -var624 = varonce623; +if (likely(varonce506!=NULL)) { +var507 = varonce506; } else { -var625 = "main"; -var626 = 4; -var627 = standard___standard__NativeString___to_s_with_length(var625, var626); -var624 = var627; -varonce623 = var624; +var508 = "main"; +var509 = standard___standard__NativeString___to_s_with_length(var508, 4l); +var507 = var509; +varonce506 = var507; } { { /* Inline model#MClassType#mclass (var_main_type) on */ -var630 = var_main_type->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ -if (unlikely(var630 == NULL)) { +var512 = var_main_type->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ +if (unlikely(var512 == 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); } -var628 = var630; -RET_LABEL629:(void)0; +var510 = var512; +RET_LABEL511:(void)0; } } { -var631 = nit__model___MModule___try_get_primitive_method(var_mainmodule, var624, var628); +var513 = nit__model___MModule___try_get_primitive_method(var_mainmodule, var507, var510); } -var613 = var631; +var497 = var513; } -var_main_method = var613; -var632 = NULL; +var_main_method = var497; if (var_main_method == NULL) { -var633 = 0; /* is null */ +var514 = 0; /* is null */ } else { -var633 = 1; /* arg is null and recv is not */ +var514 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_main_method,var632) on */ -var_other = var632; +{ /* Inline kernel#Object#!= (var_main_method,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var636 = ((short int (*)(val* self, val* p0))(var_main_method->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_main_method, var_other) /* == on */; +var517 = ((short int(*)(val* self, val* p0))(var_main_method->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_main_method, var_other); /* == on */ } -var637 = !var636; -var634 = var637; -goto RET_LABEL635; -RET_LABEL635:(void)0; +var518 = !var517; +var515 = var518; +goto RET_LABEL516; +RET_LABEL516:(void)0; } -var633 = var634; +var514 = var515; } -if (var633){ -var638 = NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable); -var639 = 1; +if (var514){ +var519 = NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable); { -standard___standard__Array___with_capacity(var638, var639); /* Direct call array#Array#with_capacity on */ +standard___standard__Array___with_capacity(var519, 1l); /* Direct call array#Array#with_capacity on */ } -var_640 = var638; +var_520 = var519; { -standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_640, var_glob_sys); /* Direct call array#AbstractArray#push on */ +standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_520, var_glob_sys); /* Direct call array#AbstractArray#push on */ } { -var641 = nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__send(var_v, var_main_method, var_640); +var521 = nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__send(var_v, var_main_method, var_520); } } else { } @@ -2788,1086 +2444,1015 @@ var641 = nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCo } { { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on */ -var644 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on */ -if (unlikely(var644 == NULL)) { +var524 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on */ +if (unlikely(var524 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 481); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 522); +fatal_exit(1); } -var642 = var644; -RET_LABEL643:(void)0; +var522 = var524; +RET_LABEL523:(void)0; } } { -{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (var642) on */ -var647 = var642->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ -if (unlikely(var647 == NULL)) { +{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (var522) on */ +var527 = var522->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ +if (unlikely(var527 == 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); } -var645 = var647; -RET_LABEL646:(void)0; +var525 = var527; +RET_LABEL526:(void)0; } } { -{ /* Inline abstract_compiler#ToolContext#opt_typing_test_metrics (var645) on */ -var650 = var645->attrs[COLOR_nit__abstract_compiler__ToolContext___opt_typing_test_metrics].val; /* _opt_typing_test_metrics on */ -if (unlikely(var650 == NULL)) { +{ /* Inline abstract_compiler#ToolContext#opt_typing_test_metrics (var525) on */ +var530 = var525->attrs[COLOR_nit__abstract_compiler__ToolContext___opt_typing_test_metrics].val; /* _opt_typing_test_metrics on */ +if (unlikely(var530 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_typing_test_metrics"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 59); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 60); +fatal_exit(1); } -var648 = var650; -RET_LABEL649:(void)0; +var528 = var530; +RET_LABEL529:(void)0; } } { -{ /* Inline opts#Option#value (var648) on */ -var653 = var648->attrs[COLOR_opts__Option___value].val; /* _value on */ -var651 = var653; -RET_LABEL652:(void)0; +{ /* Inline opts#Option#value (var528) on */ +var533 = var528->attrs[COLOR_opts__Option___value].val; /* _value on */ +var531 = var533; +RET_LABEL532:(void)0; } } -var654 = ((struct instance_standard__Bool*)var651)->value; /* autounbox from nullable Object to Bool */; -if (var654){ -if (varonce655) { -var656 = varonce655; +var534 = (short int)((long)(var531)>>2); +if (var534){ +if (likely(varonce535!=NULL)) { +var536 = varonce535; } else { -var657 = "long count_type_test_resolved_total = 0;"; -var658 = 40; -var659 = standard___standard__NativeString___to_s_with_length(var657, var658); -var656 = var659; -varonce655 = var656; +var537 = "long count_type_test_resolved_total = 0;"; +var538 = standard___standard__NativeString___to_s_with_length(var537, 40l); +var536 = var538; +varonce535 = var536; } { -nit___nit__AbstractCompilerVisitor___add_decl(var_v, var656); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var536); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } -if (varonce660) { -var661 = varonce660; +if (likely(varonce539!=NULL)) { +var540 = varonce539; } else { -var662 = "long count_type_test_unresolved_total = 0;"; -var663 = 42; -var664 = standard___standard__NativeString___to_s_with_length(var662, var663); -var661 = var664; -varonce660 = var661; +var541 = "long count_type_test_unresolved_total = 0;"; +var542 = standard___standard__NativeString___to_s_with_length(var541, 42l); +var540 = var542; +varonce539 = var540; } { -nit___nit__AbstractCompilerVisitor___add_decl(var_v, var661); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var540); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } -if (varonce665) { -var666 = varonce665; +if (likely(varonce543!=NULL)) { +var544 = varonce543; } else { -var667 = "long count_type_test_skipped_total = 0;"; -var668 = 39; -var669 = standard___standard__NativeString___to_s_with_length(var667, var668); -var666 = var669; -varonce665 = var666; +var545 = "long count_type_test_skipped_total = 0;"; +var546 = standard___standard__NativeString___to_s_with_length(var545, 39l); +var544 = var546; +varonce543 = var544; } { -nit___nit__AbstractCompilerVisitor___add_decl(var_v, var666); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var544); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } -if (varonce670) { -var671 = varonce670; +if (likely(varonce547!=NULL)) { +var548 = varonce547; } else { -var672 = "long count_type_test_total_total = 0;"; -var673 = 37; -var674 = standard___standard__NativeString___to_s_with_length(var672, var673); -var671 = var674; -varonce670 = var671; +var549 = "long count_type_test_total_total = 0;"; +var550 = standard___standard__NativeString___to_s_with_length(var549, 37l); +var548 = var550; +varonce547 = var548; } { -nit___nit__AbstractCompilerVisitor___add_decl(var_v, var671); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var548); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } { { /* Inline abstract_compiler#AbstractCompiler#count_type_test_tags (self) on */ -var677 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_tags].val; /* _count_type_test_tags on */ -if (unlikely(var677 == NULL)) { +var553 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_tags].val; /* _count_type_test_tags on */ +if (unlikely(var553 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_tags"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 963); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1014); +fatal_exit(1); } -var675 = var677; -RET_LABEL676:(void)0; +var551 = var553; +RET_LABEL552:(void)0; } } -var_678 = var675; +var_554 = var551; { -var679 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_678); +var555 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_554); } -var_680 = var679; +var_556 = var555; for(;;) { { -var681 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_680); +var557 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_556); } -if (var681){ +if (var557){ { -var682 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_680); +var558 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_556); } -var_tag683 = var682; -if (varonce684) { -var685 = varonce684; +var_tag559 = var558; +if (unlikely(varonce560==NULL)) { +var561 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce562!=NULL)) { +var563 = varonce562; } else { -var686 = "long count_type_test_total_"; -var687 = 27; -var688 = standard___standard__NativeString___to_s_with_length(var686, var687); -var685 = var688; -varonce684 = var685; +var564 = "long count_type_test_total_"; +var565 = standard___standard__NativeString___to_s_with_length(var564, 27l); +var563 = var565; +varonce562 = var563; } -if (varonce689) { -var690 = varonce689; +((struct instance_standard__NativeArray*)var561)->values[0]=var563; +if (likely(varonce566!=NULL)) { +var567 = varonce566; } else { -var691 = ";"; -var692 = 1; -var693 = standard___standard__NativeString___to_s_with_length(var691, var692); -var690 = var693; -varonce689 = var690; -} -var694 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var694 = array_instance Array[Object] */ -var695 = 3; -var696 = NEW_standard__NativeArray(var695, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var696)->values[0] = (val*) var685; -((struct instance_standard__NativeArray*)var696)->values[1] = (val*) var_tag683; -((struct instance_standard__NativeArray*)var696)->values[2] = (val*) var690; -{ -((void (*)(val* self, val* p0, long p1))(var694->class->vft[COLOR_standard__array__Array__with_native]))(var694, var696, var695) /* with_native on */; +var568 = ";"; +var569 = standard___standard__NativeString___to_s_with_length(var568, 1l); +var567 = var569; +varonce566 = var567; } +((struct instance_standard__NativeArray*)var561)->values[2]=var567; +} else { +var561 = varonce560; +varonce560 = NULL; } +((struct instance_standard__NativeArray*)var561)->values[1]=var_tag559; { -var697 = ((val* (*)(val* self))(var694->class->vft[COLOR_standard__string__Object__to_s]))(var694) /* to_s on */; +var570 = ((val*(*)(val* self))(var561->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var561); /* native_to_s on */ } +varonce560 = var561; { -nit___nit__AbstractCompilerVisitor___add_decl(var_v, var697); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var570); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } -if (varonce698) { -var699 = varonce698; +if (unlikely(varonce571==NULL)) { +var572 = NEW_standard__NativeArray(9l, &type_standard__NativeArray__standard__String); +if (likely(varonce573!=NULL)) { +var574 = varonce573; } else { -var700 = "count_type_test_total_"; -var701 = 22; -var702 = standard___standard__NativeString___to_s_with_length(var700, var701); -var699 = var702; -varonce698 = var699; +var575 = "count_type_test_total_"; +var576 = standard___standard__NativeString___to_s_with_length(var575, 22l); +var574 = var576; +varonce573 = var574; } -if (varonce703) { -var704 = varonce703; +((struct instance_standard__NativeArray*)var572)->values[0]=var574; +if (likely(varonce577!=NULL)) { +var578 = varonce577; } else { -var705 = " = count_type_test_resolved_"; -var706 = 28; -var707 = standard___standard__NativeString___to_s_with_length(var705, var706); -var704 = var707; -varonce703 = var704; +var579 = " = count_type_test_resolved_"; +var580 = standard___standard__NativeString___to_s_with_length(var579, 28l); +var578 = var580; +varonce577 = var578; } -if (varonce708) { -var709 = varonce708; +((struct instance_standard__NativeArray*)var572)->values[2]=var578; +if (likely(varonce581!=NULL)) { +var582 = varonce581; } else { -var710 = " + count_type_test_unresolved_"; -var711 = 30; -var712 = standard___standard__NativeString___to_s_with_length(var710, var711); -var709 = var712; -varonce708 = var709; +var583 = " + count_type_test_unresolved_"; +var584 = standard___standard__NativeString___to_s_with_length(var583, 30l); +var582 = var584; +varonce581 = var582; } -if (varonce713) { -var714 = varonce713; +((struct instance_standard__NativeArray*)var572)->values[4]=var582; +if (likely(varonce585!=NULL)) { +var586 = varonce585; } else { -var715 = " + count_type_test_skipped_"; -var716 = 27; -var717 = standard___standard__NativeString___to_s_with_length(var715, var716); -var714 = var717; -varonce713 = var714; +var587 = " + count_type_test_skipped_"; +var588 = standard___standard__NativeString___to_s_with_length(var587, 27l); +var586 = var588; +varonce585 = var586; } -if (varonce718) { -var719 = varonce718; +((struct instance_standard__NativeArray*)var572)->values[6]=var586; +if (likely(varonce589!=NULL)) { +var590 = varonce589; } else { -var720 = ";"; -var721 = 1; -var722 = standard___standard__NativeString___to_s_with_length(var720, var721); -var719 = var722; -varonce718 = var719; -} -var723 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var723 = array_instance Array[Object] */ -var724 = 9; -var725 = NEW_standard__NativeArray(var724, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var725)->values[0] = (val*) var699; -((struct instance_standard__NativeArray*)var725)->values[1] = (val*) var_tag683; -((struct instance_standard__NativeArray*)var725)->values[2] = (val*) var704; -((struct instance_standard__NativeArray*)var725)->values[3] = (val*) var_tag683; -((struct instance_standard__NativeArray*)var725)->values[4] = (val*) var709; -((struct instance_standard__NativeArray*)var725)->values[5] = (val*) var_tag683; -((struct instance_standard__NativeArray*)var725)->values[6] = (val*) var714; -((struct instance_standard__NativeArray*)var725)->values[7] = (val*) var_tag683; -((struct instance_standard__NativeArray*)var725)->values[8] = (val*) var719; -{ -((void (*)(val* self, val* p0, long p1))(var723->class->vft[COLOR_standard__array__Array__with_native]))(var723, var725, var724) /* with_native on */; +var591 = ";"; +var592 = standard___standard__NativeString___to_s_with_length(var591, 1l); +var590 = var592; +varonce589 = var590; } +((struct instance_standard__NativeArray*)var572)->values[8]=var590; +} else { +var572 = varonce571; +varonce571 = NULL; } +((struct instance_standard__NativeArray*)var572)->values[1]=var_tag559; +((struct instance_standard__NativeArray*)var572)->values[3]=var_tag559; +((struct instance_standard__NativeArray*)var572)->values[5]=var_tag559; +((struct instance_standard__NativeArray*)var572)->values[7]=var_tag559; { -var726 = ((val* (*)(val* self))(var723->class->vft[COLOR_standard__string__Object__to_s]))(var723) /* to_s on */; +var593 = ((val*(*)(val* self))(var572->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var572); /* native_to_s on */ } +varonce571 = var572; { -nit___nit__AbstractCompilerVisitor___add(var_v, var726); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +nit___nit__AbstractCompilerVisitor___add(var_v, var593); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } -if (varonce727) { -var728 = varonce727; +if (unlikely(varonce594==NULL)) { +var595 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce596!=NULL)) { +var597 = varonce596; } else { -var729 = "count_type_test_resolved_total += count_type_test_resolved_"; -var730 = 59; -var731 = standard___standard__NativeString___to_s_with_length(var729, var730); -var728 = var731; -varonce727 = var728; +var598 = "count_type_test_resolved_total += count_type_test_resolved_"; +var599 = standard___standard__NativeString___to_s_with_length(var598, 59l); +var597 = var599; +varonce596 = var597; } -if (varonce732) { -var733 = varonce732; +((struct instance_standard__NativeArray*)var595)->values[0]=var597; +if (likely(varonce600!=NULL)) { +var601 = varonce600; } else { -var734 = ";"; -var735 = 1; -var736 = standard___standard__NativeString___to_s_with_length(var734, var735); -var733 = var736; -varonce732 = var733; -} -var737 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var737 = array_instance Array[Object] */ -var738 = 3; -var739 = NEW_standard__NativeArray(var738, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var739)->values[0] = (val*) var728; -((struct instance_standard__NativeArray*)var739)->values[1] = (val*) var_tag683; -((struct instance_standard__NativeArray*)var739)->values[2] = (val*) var733; -{ -((void (*)(val* self, val* p0, long p1))(var737->class->vft[COLOR_standard__array__Array__with_native]))(var737, var739, var738) /* with_native on */; +var602 = ";"; +var603 = standard___standard__NativeString___to_s_with_length(var602, 1l); +var601 = var603; +varonce600 = var601; } +((struct instance_standard__NativeArray*)var595)->values[2]=var601; +} else { +var595 = varonce594; +varonce594 = NULL; } +((struct instance_standard__NativeArray*)var595)->values[1]=var_tag559; { -var740 = ((val* (*)(val* self))(var737->class->vft[COLOR_standard__string__Object__to_s]))(var737) /* to_s on */; +var604 = ((val*(*)(val* self))(var595->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var595); /* native_to_s on */ } +varonce594 = var595; { -nit___nit__AbstractCompilerVisitor___add(var_v, var740); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +nit___nit__AbstractCompilerVisitor___add(var_v, var604); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } -if (varonce741) { -var742 = varonce741; +if (unlikely(varonce605==NULL)) { +var606 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce607!=NULL)) { +var608 = varonce607; } else { -var743 = "count_type_test_unresolved_total += count_type_test_unresolved_"; -var744 = 63; -var745 = standard___standard__NativeString___to_s_with_length(var743, var744); -var742 = var745; -varonce741 = var742; +var609 = "count_type_test_unresolved_total += count_type_test_unresolved_"; +var610 = standard___standard__NativeString___to_s_with_length(var609, 63l); +var608 = var610; +varonce607 = var608; } -if (varonce746) { -var747 = varonce746; +((struct instance_standard__NativeArray*)var606)->values[0]=var608; +if (likely(varonce611!=NULL)) { +var612 = varonce611; } else { -var748 = ";"; -var749 = 1; -var750 = standard___standard__NativeString___to_s_with_length(var748, var749); -var747 = var750; -varonce746 = var747; -} -var751 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var751 = array_instance Array[Object] */ -var752 = 3; -var753 = NEW_standard__NativeArray(var752, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var753)->values[0] = (val*) var742; -((struct instance_standard__NativeArray*)var753)->values[1] = (val*) var_tag683; -((struct instance_standard__NativeArray*)var753)->values[2] = (val*) var747; -{ -((void (*)(val* self, val* p0, long p1))(var751->class->vft[COLOR_standard__array__Array__with_native]))(var751, var753, var752) /* with_native on */; +var613 = ";"; +var614 = standard___standard__NativeString___to_s_with_length(var613, 1l); +var612 = var614; +varonce611 = var612; } +((struct instance_standard__NativeArray*)var606)->values[2]=var612; +} else { +var606 = varonce605; +varonce605 = NULL; } +((struct instance_standard__NativeArray*)var606)->values[1]=var_tag559; { -var754 = ((val* (*)(val* self))(var751->class->vft[COLOR_standard__string__Object__to_s]))(var751) /* to_s on */; +var615 = ((val*(*)(val* self))(var606->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var606); /* native_to_s on */ } +varonce605 = var606; { -nit___nit__AbstractCompilerVisitor___add(var_v, var754); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +nit___nit__AbstractCompilerVisitor___add(var_v, var615); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } -if (varonce755) { -var756 = varonce755; +if (unlikely(varonce616==NULL)) { +var617 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce618!=NULL)) { +var619 = varonce618; } else { -var757 = "count_type_test_skipped_total += count_type_test_skipped_"; -var758 = 57; -var759 = standard___standard__NativeString___to_s_with_length(var757, var758); -var756 = var759; -varonce755 = var756; +var620 = "count_type_test_skipped_total += count_type_test_skipped_"; +var621 = standard___standard__NativeString___to_s_with_length(var620, 57l); +var619 = var621; +varonce618 = var619; } -if (varonce760) { -var761 = varonce760; +((struct instance_standard__NativeArray*)var617)->values[0]=var619; +if (likely(varonce622!=NULL)) { +var623 = varonce622; } else { -var762 = ";"; -var763 = 1; -var764 = standard___standard__NativeString___to_s_with_length(var762, var763); -var761 = var764; -varonce760 = var761; -} -var765 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var765 = array_instance Array[Object] */ -var766 = 3; -var767 = NEW_standard__NativeArray(var766, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var767)->values[0] = (val*) var756; -((struct instance_standard__NativeArray*)var767)->values[1] = (val*) var_tag683; -((struct instance_standard__NativeArray*)var767)->values[2] = (val*) var761; -{ -((void (*)(val* self, val* p0, long p1))(var765->class->vft[COLOR_standard__array__Array__with_native]))(var765, var767, var766) /* with_native on */; +var624 = ";"; +var625 = standard___standard__NativeString___to_s_with_length(var624, 1l); +var623 = var625; +varonce622 = var623; } +((struct instance_standard__NativeArray*)var617)->values[2]=var623; +} else { +var617 = varonce616; +varonce616 = NULL; } +((struct instance_standard__NativeArray*)var617)->values[1]=var_tag559; { -var768 = ((val* (*)(val* self))(var765->class->vft[COLOR_standard__string__Object__to_s]))(var765) /* to_s on */; +var626 = ((val*(*)(val* self))(var617->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var617); /* native_to_s on */ } +varonce616 = var617; { -nit___nit__AbstractCompilerVisitor___add(var_v, var768); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +nit___nit__AbstractCompilerVisitor___add(var_v, var626); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } -if (varonce769) { -var770 = varonce769; +if (unlikely(varonce627==NULL)) { +var628 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce629!=NULL)) { +var630 = varonce629; } else { -var771 = "count_type_test_total_total += count_type_test_total_"; -var772 = 53; -var773 = standard___standard__NativeString___to_s_with_length(var771, var772); -var770 = var773; -varonce769 = var770; +var631 = "count_type_test_total_total += count_type_test_total_"; +var632 = standard___standard__NativeString___to_s_with_length(var631, 53l); +var630 = var632; +varonce629 = var630; } -if (varonce774) { -var775 = varonce774; +((struct instance_standard__NativeArray*)var628)->values[0]=var630; +if (likely(varonce633!=NULL)) { +var634 = varonce633; } else { -var776 = ";"; -var777 = 1; -var778 = standard___standard__NativeString___to_s_with_length(var776, var777); -var775 = var778; -varonce774 = var775; -} -var779 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var779 = array_instance Array[Object] */ -var780 = 3; -var781 = NEW_standard__NativeArray(var780, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var781)->values[0] = (val*) var770; -((struct instance_standard__NativeArray*)var781)->values[1] = (val*) var_tag683; -((struct instance_standard__NativeArray*)var781)->values[2] = (val*) var775; -{ -((void (*)(val* self, val* p0, long p1))(var779->class->vft[COLOR_standard__array__Array__with_native]))(var779, var781, var780) /* with_native on */; +var635 = ";"; +var636 = standard___standard__NativeString___to_s_with_length(var635, 1l); +var634 = var636; +varonce633 = var634; } +((struct instance_standard__NativeArray*)var628)->values[2]=var634; +} else { +var628 = varonce627; +varonce627 = NULL; } +((struct instance_standard__NativeArray*)var628)->values[1]=var_tag559; { -var782 = ((val* (*)(val* self))(var779->class->vft[COLOR_standard__string__Object__to_s]))(var779) /* to_s on */; +var637 = ((val*(*)(val* self))(var628->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var628); /* native_to_s on */ } +varonce627 = var628; { -nit___nit__AbstractCompilerVisitor___add(var_v, var782); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +nit___nit__AbstractCompilerVisitor___add(var_v, var637); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_680); /* Direct call array#ArrayIterator#next on */ +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_556); /* Direct call array#ArrayIterator#next on */ } } else { -goto BREAK_label783; +goto BREAK_label638; } } -BREAK_label783: (void)0; +BREAK_label638: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_680) on */ -RET_LABEL784:(void)0; -} +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_556); /* Direct call array#ArrayIterator#finish on */ } -if (varonce785) { -var786 = varonce785; +if (likely(varonce639!=NULL)) { +var640 = varonce639; } else { -var787 = "printf(\"# dynamic count_type_test: total %l\\n\");"; -var788 = 48; -var789 = standard___standard__NativeString___to_s_with_length(var787, var788); -var786 = var789; -varonce785 = var786; +var641 = "printf(\"# dynamic count_type_test: total %l\\n\");"; +var642 = standard___standard__NativeString___to_s_with_length(var641, 48l); +var640 = var642; +varonce639 = var640; } { -nit___nit__AbstractCompilerVisitor___add(var_v, var786); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +nit___nit__AbstractCompilerVisitor___add(var_v, var640); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } -if (varonce790) { -var791 = varonce790; +if (likely(varonce643!=NULL)) { +var644 = varonce643; } else { -var792 = "printf(\"\\tresolved\\tunresolved\\tskipped\\ttotal\\n\");"; -var793 = 51; -var794 = standard___standard__NativeString___to_s_with_length(var792, var793); -var791 = var794; -varonce790 = var791; +var645 = "printf(\"\\tresolved\\tunresolved\\tskipped\\ttotal\\n\");"; +var646 = standard___standard__NativeString___to_s_with_length(var645, 51l); +var644 = var646; +varonce643 = var644; } { -nit___nit__AbstractCompilerVisitor___add(var_v, var791); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +nit___nit__AbstractCompilerVisitor___add(var_v, var644); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } { { /* Inline abstract_compiler#AbstractCompiler#count_type_test_tags (self) on */ -var797 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_tags].val; /* _count_type_test_tags on */ -if (unlikely(var797 == NULL)) { +var649 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_tags].val; /* _count_type_test_tags on */ +if (unlikely(var649 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_tags"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 963); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1014); +fatal_exit(1); } -var795 = var797; -RET_LABEL796:(void)0; +var647 = var649; +RET_LABEL648:(void)0; } } { -var798 = standard__array___Collection___to_a(var795); +var650 = standard__array___Collection___to_a(var647); } -var_tags = var798; -if (varonce799) { -var800 = varonce799; +var_tags = var650; +if (likely(varonce651!=NULL)) { +var652 = varonce651; } else { -var801 = "total"; -var802 = 5; -var803 = standard___standard__NativeString___to_s_with_length(var801, var802); -var800 = var803; -varonce799 = var800; +var653 = "total"; +var654 = standard___standard__NativeString___to_s_with_length(var653, 5l); +var652 = var654; +varonce651 = var652; } { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_tags, var800); /* Direct call array#Array#add on */ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_tags, var652); /* Direct call array#Array#add on */ } -var_804 = var_tags; +var_655 = var_tags; { -var805 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_804); +var656 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_655); } -var_806 = var805; +var_657 = var656; for(;;) { { -var807 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_806); +var658 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_657); } -if (var807){ +if (var658){ { -var808 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_806); +var659 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_657); } -var_tag809 = var808; -if (varonce810) { -var811 = varonce810; +var_tag660 = var659; +if (unlikely(varonce661==NULL)) { +var662 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce663!=NULL)) { +var664 = varonce663; } else { -var812 = "printf(\""; -var813 = 8; -var814 = standard___standard__NativeString___to_s_with_length(var812, var813); -var811 = var814; -varonce810 = var811; +var665 = "printf(\""; +var666 = standard___standard__NativeString___to_s_with_length(var665, 8l); +var664 = var666; +varonce663 = var664; } -if (varonce815) { -var816 = varonce815; +((struct instance_standard__NativeArray*)var662)->values[0]=var664; +if (likely(varonce667!=NULL)) { +var668 = varonce667; } else { -var817 = "\");"; -var818 = 3; -var819 = standard___standard__NativeString___to_s_with_length(var817, var818); -var816 = var819; -varonce815 = var816; -} -var820 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var820 = array_instance Array[Object] */ -var821 = 3; -var822 = NEW_standard__NativeArray(var821, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var822)->values[0] = (val*) var811; -((struct instance_standard__NativeArray*)var822)->values[1] = (val*) var_tag809; -((struct instance_standard__NativeArray*)var822)->values[2] = (val*) var816; -{ -((void (*)(val* self, val* p0, long p1))(var820->class->vft[COLOR_standard__array__Array__with_native]))(var820, var822, var821) /* with_native on */; +var669 = "\");"; +var670 = standard___standard__NativeString___to_s_with_length(var669, 3l); +var668 = var670; +varonce667 = var668; } +((struct instance_standard__NativeArray*)var662)->values[2]=var668; +} else { +var662 = varonce661; +varonce661 = NULL; } +((struct instance_standard__NativeArray*)var662)->values[1]=var_tag660; { -var823 = ((val* (*)(val* self))(var820->class->vft[COLOR_standard__string__Object__to_s]))(var820) /* to_s on */; +var671 = ((val*(*)(val* self))(var662->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var662); /* native_to_s on */ } +varonce661 = var662; { -nit___nit__AbstractCompilerVisitor___add(var_v, var823); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +nit___nit__AbstractCompilerVisitor___add(var_v, var671); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } -if (varonce824) { -var825 = varonce824; +if (unlikely(varonce672==NULL)) { +var673 = NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String); +if (likely(varonce674!=NULL)) { +var675 = varonce674; } else { -var826 = "printf(\"\\t%ld (%.2f%%)\", count_type_test_resolved_"; -var827 = 50; -var828 = standard___standard__NativeString___to_s_with_length(var826, var827); -var825 = var828; -varonce824 = var825; +var676 = "printf(\"\\t%ld (%.2f%%)\", count_type_test_resolved_"; +var677 = standard___standard__NativeString___to_s_with_length(var676, 50l); +var675 = var677; +varonce674 = var675; } -if (varonce829) { -var830 = varonce829; +((struct instance_standard__NativeArray*)var673)->values[0]=var675; +if (likely(varonce678!=NULL)) { +var679 = varonce678; } else { -var831 = ", 100.0*count_type_test_resolved_"; -var832 = 33; -var833 = standard___standard__NativeString___to_s_with_length(var831, var832); -var830 = var833; -varonce829 = var830; +var680 = ", 100.0*count_type_test_resolved_"; +var681 = standard___standard__NativeString___to_s_with_length(var680, 33l); +var679 = var681; +varonce678 = var679; } -if (varonce834) { -var835 = varonce834; +((struct instance_standard__NativeArray*)var673)->values[2]=var679; +if (likely(varonce682!=NULL)) { +var683 = varonce682; } else { -var836 = "/count_type_test_total_total);"; -var837 = 30; -var838 = standard___standard__NativeString___to_s_with_length(var836, var837); -var835 = var838; -varonce834 = var835; -} -var839 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var839 = array_instance Array[Object] */ -var840 = 5; -var841 = NEW_standard__NativeArray(var840, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var841)->values[0] = (val*) var825; -((struct instance_standard__NativeArray*)var841)->values[1] = (val*) var_tag809; -((struct instance_standard__NativeArray*)var841)->values[2] = (val*) var830; -((struct instance_standard__NativeArray*)var841)->values[3] = (val*) var_tag809; -((struct instance_standard__NativeArray*)var841)->values[4] = (val*) var835; -{ -((void (*)(val* self, val* p0, long p1))(var839->class->vft[COLOR_standard__array__Array__with_native]))(var839, var841, var840) /* with_native on */; +var684 = "/count_type_test_total_total);"; +var685 = standard___standard__NativeString___to_s_with_length(var684, 30l); +var683 = var685; +varonce682 = var683; } +((struct instance_standard__NativeArray*)var673)->values[4]=var683; +} else { +var673 = varonce672; +varonce672 = NULL; } +((struct instance_standard__NativeArray*)var673)->values[1]=var_tag660; +((struct instance_standard__NativeArray*)var673)->values[3]=var_tag660; { -var842 = ((val* (*)(val* self))(var839->class->vft[COLOR_standard__string__Object__to_s]))(var839) /* to_s on */; +var686 = ((val*(*)(val* self))(var673->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var673); /* native_to_s on */ } +varonce672 = var673; { -nit___nit__AbstractCompilerVisitor___add(var_v, var842); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +nit___nit__AbstractCompilerVisitor___add(var_v, var686); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } -if (varonce843) { -var844 = varonce843; +if (unlikely(varonce687==NULL)) { +var688 = NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String); +if (likely(varonce689!=NULL)) { +var690 = varonce689; } else { -var845 = "printf(\"\\t%ld (%.2f%%)\", count_type_test_unresolved_"; -var846 = 52; -var847 = standard___standard__NativeString___to_s_with_length(var845, var846); -var844 = var847; -varonce843 = var844; +var691 = "printf(\"\\t%ld (%.2f%%)\", count_type_test_unresolved_"; +var692 = standard___standard__NativeString___to_s_with_length(var691, 52l); +var690 = var692; +varonce689 = var690; } -if (varonce848) { -var849 = varonce848; +((struct instance_standard__NativeArray*)var688)->values[0]=var690; +if (likely(varonce693!=NULL)) { +var694 = varonce693; } else { -var850 = ", 100.0*count_type_test_unresolved_"; -var851 = 35; -var852 = standard___standard__NativeString___to_s_with_length(var850, var851); -var849 = var852; -varonce848 = var849; +var695 = ", 100.0*count_type_test_unresolved_"; +var696 = standard___standard__NativeString___to_s_with_length(var695, 35l); +var694 = var696; +varonce693 = var694; } -if (varonce853) { -var854 = varonce853; +((struct instance_standard__NativeArray*)var688)->values[2]=var694; +if (likely(varonce697!=NULL)) { +var698 = varonce697; } else { -var855 = "/count_type_test_total_total);"; -var856 = 30; -var857 = standard___standard__NativeString___to_s_with_length(var855, var856); -var854 = var857; -varonce853 = var854; -} -var858 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var858 = array_instance Array[Object] */ -var859 = 5; -var860 = NEW_standard__NativeArray(var859, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var860)->values[0] = (val*) var844; -((struct instance_standard__NativeArray*)var860)->values[1] = (val*) var_tag809; -((struct instance_standard__NativeArray*)var860)->values[2] = (val*) var849; -((struct instance_standard__NativeArray*)var860)->values[3] = (val*) var_tag809; -((struct instance_standard__NativeArray*)var860)->values[4] = (val*) var854; -{ -((void (*)(val* self, val* p0, long p1))(var858->class->vft[COLOR_standard__array__Array__with_native]))(var858, var860, var859) /* with_native on */; +var699 = "/count_type_test_total_total);"; +var700 = standard___standard__NativeString___to_s_with_length(var699, 30l); +var698 = var700; +varonce697 = var698; } +((struct instance_standard__NativeArray*)var688)->values[4]=var698; +} else { +var688 = varonce687; +varonce687 = NULL; } +((struct instance_standard__NativeArray*)var688)->values[1]=var_tag660; +((struct instance_standard__NativeArray*)var688)->values[3]=var_tag660; { -var861 = ((val* (*)(val* self))(var858->class->vft[COLOR_standard__string__Object__to_s]))(var858) /* to_s on */; +var701 = ((val*(*)(val* self))(var688->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var688); /* native_to_s on */ } +varonce687 = var688; { -nit___nit__AbstractCompilerVisitor___add(var_v, var861); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +nit___nit__AbstractCompilerVisitor___add(var_v, var701); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } -if (varonce862) { -var863 = varonce862; +if (unlikely(varonce702==NULL)) { +var703 = NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String); +if (likely(varonce704!=NULL)) { +var705 = varonce704; } else { -var864 = "printf(\"\\t%ld (%.2f%%)\", count_type_test_skipped_"; -var865 = 49; -var866 = standard___standard__NativeString___to_s_with_length(var864, var865); -var863 = var866; -varonce862 = var863; +var706 = "printf(\"\\t%ld (%.2f%%)\", count_type_test_skipped_"; +var707 = standard___standard__NativeString___to_s_with_length(var706, 49l); +var705 = var707; +varonce704 = var705; } -if (varonce867) { -var868 = varonce867; +((struct instance_standard__NativeArray*)var703)->values[0]=var705; +if (likely(varonce708!=NULL)) { +var709 = varonce708; } else { -var869 = ", 100.0*count_type_test_skipped_"; -var870 = 32; -var871 = standard___standard__NativeString___to_s_with_length(var869, var870); -var868 = var871; -varonce867 = var868; +var710 = ", 100.0*count_type_test_skipped_"; +var711 = standard___standard__NativeString___to_s_with_length(var710, 32l); +var709 = var711; +varonce708 = var709; } -if (varonce872) { -var873 = varonce872; +((struct instance_standard__NativeArray*)var703)->values[2]=var709; +if (likely(varonce712!=NULL)) { +var713 = varonce712; } else { -var874 = "/count_type_test_total_total);"; -var875 = 30; -var876 = standard___standard__NativeString___to_s_with_length(var874, var875); -var873 = var876; -varonce872 = var873; -} -var877 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var877 = array_instance Array[Object] */ -var878 = 5; -var879 = NEW_standard__NativeArray(var878, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var879)->values[0] = (val*) var863; -((struct instance_standard__NativeArray*)var879)->values[1] = (val*) var_tag809; -((struct instance_standard__NativeArray*)var879)->values[2] = (val*) var868; -((struct instance_standard__NativeArray*)var879)->values[3] = (val*) var_tag809; -((struct instance_standard__NativeArray*)var879)->values[4] = (val*) var873; -{ -((void (*)(val* self, val* p0, long p1))(var877->class->vft[COLOR_standard__array__Array__with_native]))(var877, var879, var878) /* with_native on */; +var714 = "/count_type_test_total_total);"; +var715 = standard___standard__NativeString___to_s_with_length(var714, 30l); +var713 = var715; +varonce712 = var713; } +((struct instance_standard__NativeArray*)var703)->values[4]=var713; +} else { +var703 = varonce702; +varonce702 = NULL; } +((struct instance_standard__NativeArray*)var703)->values[1]=var_tag660; +((struct instance_standard__NativeArray*)var703)->values[3]=var_tag660; { -var880 = ((val* (*)(val* self))(var877->class->vft[COLOR_standard__string__Object__to_s]))(var877) /* to_s on */; +var716 = ((val*(*)(val* self))(var703->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var703); /* native_to_s on */ } +varonce702 = var703; { -nit___nit__AbstractCompilerVisitor___add(var_v, var880); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +nit___nit__AbstractCompilerVisitor___add(var_v, var716); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } -if (varonce881) { -var882 = varonce881; +if (unlikely(varonce717==NULL)) { +var718 = NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String); +if (likely(varonce719!=NULL)) { +var720 = varonce719; } else { -var883 = "printf(\"\\t%ld (%.2f%%)\\n\", count_type_test_total_"; -var884 = 49; -var885 = standard___standard__NativeString___to_s_with_length(var883, var884); -var882 = var885; -varonce881 = var882; +var721 = "printf(\"\\t%ld (%.2f%%)\\n\", count_type_test_total_"; +var722 = standard___standard__NativeString___to_s_with_length(var721, 49l); +var720 = var722; +varonce719 = var720; } -if (varonce886) { -var887 = varonce886; +((struct instance_standard__NativeArray*)var718)->values[0]=var720; +if (likely(varonce723!=NULL)) { +var724 = varonce723; } else { -var888 = ", 100.0*count_type_test_total_"; -var889 = 30; -var890 = standard___standard__NativeString___to_s_with_length(var888, var889); -var887 = var890; -varonce886 = var887; +var725 = ", 100.0*count_type_test_total_"; +var726 = standard___standard__NativeString___to_s_with_length(var725, 30l); +var724 = var726; +varonce723 = var724; } -if (varonce891) { -var892 = varonce891; +((struct instance_standard__NativeArray*)var718)->values[2]=var724; +if (likely(varonce727!=NULL)) { +var728 = varonce727; } else { -var893 = "/count_type_test_total_total);"; -var894 = 30; -var895 = standard___standard__NativeString___to_s_with_length(var893, var894); -var892 = var895; -varonce891 = var892; -} -var896 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var896 = array_instance Array[Object] */ -var897 = 5; -var898 = NEW_standard__NativeArray(var897, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var898)->values[0] = (val*) var882; -((struct instance_standard__NativeArray*)var898)->values[1] = (val*) var_tag809; -((struct instance_standard__NativeArray*)var898)->values[2] = (val*) var887; -((struct instance_standard__NativeArray*)var898)->values[3] = (val*) var_tag809; -((struct instance_standard__NativeArray*)var898)->values[4] = (val*) var892; -{ -((void (*)(val* self, val* p0, long p1))(var896->class->vft[COLOR_standard__array__Array__with_native]))(var896, var898, var897) /* with_native on */; +var729 = "/count_type_test_total_total);"; +var730 = standard___standard__NativeString___to_s_with_length(var729, 30l); +var728 = var730; +varonce727 = var728; } +((struct instance_standard__NativeArray*)var718)->values[4]=var728; +} else { +var718 = varonce717; +varonce717 = NULL; } +((struct instance_standard__NativeArray*)var718)->values[1]=var_tag660; +((struct instance_standard__NativeArray*)var718)->values[3]=var_tag660; { -var899 = ((val* (*)(val* self))(var896->class->vft[COLOR_standard__string__Object__to_s]))(var896) /* to_s on */; +var731 = ((val*(*)(val* self))(var718->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var718); /* native_to_s on */ } +varonce717 = var718; { -nit___nit__AbstractCompilerVisitor___add(var_v, var899); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +nit___nit__AbstractCompilerVisitor___add(var_v, var731); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_806); /* Direct call array#ArrayIterator#next on */ +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_657); /* Direct call array#ArrayIterator#next on */ } } else { -goto BREAK_label900; +goto BREAK_label732; } } -BREAK_label900: (void)0; +BREAK_label732: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_806) on */ -RET_LABEL901:(void)0; -} +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_657); /* Direct call array#ArrayIterator#finish on */ } } else { } { { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on */ -var904 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on */ -if (unlikely(var904 == NULL)) { +var735 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on */ +if (unlikely(var735 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 481); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 522); +fatal_exit(1); } -var902 = var904; -RET_LABEL903:(void)0; +var733 = var735; +RET_LABEL734:(void)0; } } { -{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (var902) on */ -var907 = var902->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ -if (unlikely(var907 == NULL)) { +{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (var733) on */ +var738 = var733->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ +if (unlikely(var738 == 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); } -var905 = var907; -RET_LABEL906:(void)0; +var736 = var738; +RET_LABEL737:(void)0; } } { -{ /* Inline abstract_compiler#ToolContext#opt_invocation_metrics (var905) on */ -var910 = var905->attrs[COLOR_nit__abstract_compiler__ToolContext___opt_invocation_metrics].val; /* _opt_invocation_metrics on */ -if (unlikely(var910 == NULL)) { +{ /* Inline abstract_compiler#ToolContext#opt_invocation_metrics (var736) on */ +var741 = var736->attrs[COLOR_nit__abstract_compiler__ToolContext___opt_invocation_metrics].val; /* _opt_invocation_metrics on */ +if (unlikely(var741 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_invocation_metrics"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 61); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 62); +fatal_exit(1); } -var908 = var910; -RET_LABEL909:(void)0; +var739 = var741; +RET_LABEL740:(void)0; } } { -{ /* Inline opts#Option#value (var908) on */ -var913 = var908->attrs[COLOR_opts__Option___value].val; /* _value on */ -var911 = var913; -RET_LABEL912:(void)0; +{ /* Inline opts#Option#value (var739) on */ +var744 = var739->attrs[COLOR_opts__Option___value].val; /* _value on */ +var742 = var744; +RET_LABEL743:(void)0; } } -var914 = ((struct instance_standard__Bool*)var911)->value; /* autounbox from nullable Object to Bool */; -if (var914){ -if (varonce915) { -var916 = varonce915; +var745 = (short int)((long)(var742)>>2); +if (var745){ +if (likely(varonce746!=NULL)) { +var747 = varonce746; } else { -var917 = "long count_invoke_total;"; -var918 = 24; -var919 = standard___standard__NativeString___to_s_with_length(var917, var918); -var916 = var919; -varonce915 = var916; +var748 = "long count_invoke_total;"; +var749 = standard___standard__NativeString___to_s_with_length(var748, 24l); +var747 = var749; +varonce746 = var747; } { -nit___nit__AbstractCompilerVisitor___add_decl(var_v, var916); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(var_v, var747); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } -if (varonce920) { -var921 = varonce920; +if (likely(varonce750!=NULL)) { +var751 = varonce750; } else { -var922 = "count_invoke_total = count_invoke_by_tables + count_invoke_by_direct + count_invoke_by_inline;"; -var923 = 94; -var924 = standard___standard__NativeString___to_s_with_length(var922, var923); -var921 = var924; -varonce920 = var921; +var752 = "count_invoke_total = count_invoke_by_tables + count_invoke_by_direct + count_invoke_by_inline;"; +var753 = standard___standard__NativeString___to_s_with_length(var752, 94l); +var751 = var753; +varonce750 = var751; } { -nit___nit__AbstractCompilerVisitor___add(var_v, var921); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +nit___nit__AbstractCompilerVisitor___add(var_v, var751); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } -if (varonce925) { -var926 = varonce925; +if (likely(varonce754!=NULL)) { +var755 = varonce754; } else { -var927 = "printf(\"# dynamic count_invocation: total %ld\\n\", count_invoke_total);"; -var928 = 70; -var929 = standard___standard__NativeString___to_s_with_length(var927, var928); -var926 = var929; -varonce925 = var926; +var756 = "printf(\"# dynamic count_invocation: total %ld\\n\", count_invoke_total);"; +var757 = standard___standard__NativeString___to_s_with_length(var756, 70l); +var755 = var757; +varonce754 = var755; } { -nit___nit__AbstractCompilerVisitor___add(var_v, var926); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +nit___nit__AbstractCompilerVisitor___add(var_v, var755); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } -if (varonce930) { -var931 = varonce930; +if (likely(varonce758!=NULL)) { +var759 = varonce758; } else { -var932 = "printf(\"by table: %ld (%.2f%%)\\n\", count_invoke_by_tables, 100.0*count_invoke_by_tables/count_invoke_total);"; -var933 = 108; -var934 = standard___standard__NativeString___to_s_with_length(var932, var933); -var931 = var934; -varonce930 = var931; +var760 = "printf(\"by table: %ld (%.2f%%)\\n\", count_invoke_by_tables, 100.0*count_invoke_by_tables/count_invoke_total);"; +var761 = standard___standard__NativeString___to_s_with_length(var760, 108l); +var759 = var761; +varonce758 = var759; } { -nit___nit__AbstractCompilerVisitor___add(var_v, var931); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +nit___nit__AbstractCompilerVisitor___add(var_v, var759); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } -if (varonce935) { -var936 = varonce935; +if (likely(varonce762!=NULL)) { +var763 = varonce762; } else { -var937 = "printf(\"direct: %ld (%.2f%%)\\n\", count_invoke_by_direct, 100.0*count_invoke_by_direct/count_invoke_total);"; -var938 = 108; -var939 = standard___standard__NativeString___to_s_with_length(var937, var938); -var936 = var939; -varonce935 = var936; +var764 = "printf(\"direct: %ld (%.2f%%)\\n\", count_invoke_by_direct, 100.0*count_invoke_by_direct/count_invoke_total);"; +var765 = standard___standard__NativeString___to_s_with_length(var764, 108l); +var763 = var765; +varonce762 = var763; } { -nit___nit__AbstractCompilerVisitor___add(var_v, var936); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +nit___nit__AbstractCompilerVisitor___add(var_v, var763); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } -if (varonce940) { -var941 = varonce940; +if (likely(varonce766!=NULL)) { +var767 = varonce766; } else { -var942 = "printf(\"inlined: %ld (%.2f%%)\\n\", count_invoke_by_inline, 100.0*count_invoke_by_inline/count_invoke_total);"; -var943 = 108; -var944 = standard___standard__NativeString___to_s_with_length(var942, var943); -var941 = var944; -varonce940 = var941; +var768 = "printf(\"inlined: %ld (%.2f%%)\\n\", count_invoke_by_inline, 100.0*count_invoke_by_inline/count_invoke_total);"; +var769 = standard___standard__NativeString___to_s_with_length(var768, 108l); +var767 = var769; +varonce766 = var767; } { -nit___nit__AbstractCompilerVisitor___add(var_v, var941); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +nit___nit__AbstractCompilerVisitor___add(var_v, var767); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } } else { } { { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on */ -var947 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on */ -if (unlikely(var947 == NULL)) { +var772 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on */ +if (unlikely(var772 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 481); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 522); +fatal_exit(1); } -var945 = var947; -RET_LABEL946:(void)0; +var770 = var772; +RET_LABEL771:(void)0; } } { -{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (var945) on */ -var950 = var945->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ -if (unlikely(var950 == NULL)) { +{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (var770) on */ +var775 = var770->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ +if (unlikely(var775 == 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); } -var948 = var950; -RET_LABEL949:(void)0; +var773 = var775; +RET_LABEL774:(void)0; } } { -{ /* Inline abstract_compiler#ToolContext#opt_isset_checks_metrics (var948) on */ -var953 = var948->attrs[COLOR_nit__abstract_compiler__ToolContext___opt_isset_checks_metrics].val; /* _opt_isset_checks_metrics on */ -if (unlikely(var953 == NULL)) { +{ /* Inline abstract_compiler#ToolContext#opt_isset_checks_metrics (var773) on */ +var778 = var773->attrs[COLOR_nit__abstract_compiler__ToolContext___opt_isset_checks_metrics].val; /* _opt_isset_checks_metrics on */ +if (unlikely(var778 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_isset_checks_metrics"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 63); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 64); +fatal_exit(1); } -var951 = var953; -RET_LABEL952:(void)0; +var776 = var778; +RET_LABEL777:(void)0; } } { -{ /* Inline opts#Option#value (var951) on */ -var956 = var951->attrs[COLOR_opts__Option___value].val; /* _value on */ -var954 = var956; -RET_LABEL955:(void)0; +{ /* Inline opts#Option#value (var776) on */ +var781 = var776->attrs[COLOR_opts__Option___value].val; /* _value on */ +var779 = var781; +RET_LABEL780:(void)0; } } -var957 = ((struct instance_standard__Bool*)var954)->value; /* autounbox from nullable Object to Bool */; -if (var957){ -if (varonce958) { -var959 = varonce958; +var782 = (short int)((long)(var779)>>2); +if (var782){ +if (likely(varonce783!=NULL)) { +var784 = varonce783; } else { -var960 = "printf(\"# dynamic attribute reads: %ld\\n\", count_attr_reads);"; -var961 = 61; -var962 = standard___standard__NativeString___to_s_with_length(var960, var961); -var959 = var962; -varonce958 = var959; +var785 = "printf(\"# dynamic attribute reads: %ld\\n\", count_attr_reads);"; +var786 = standard___standard__NativeString___to_s_with_length(var785, 61l); +var784 = var786; +varonce783 = var784; } { -nit___nit__AbstractCompilerVisitor___add(var_v, var959); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +nit___nit__AbstractCompilerVisitor___add(var_v, var784); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } -if (varonce963) { -var964 = varonce963; +if (likely(varonce787!=NULL)) { +var788 = varonce787; } else { -var965 = "printf(\"# dynamic isset checks: %ld\\n\", count_isset_checks);"; -var966 = 60; -var967 = standard___standard__NativeString___to_s_with_length(var965, var966); -var964 = var967; -varonce963 = var964; +var789 = "printf(\"# dynamic isset checks: %ld\\n\", count_isset_checks);"; +var790 = standard___standard__NativeString___to_s_with_length(var789, 60l); +var788 = var790; +varonce787 = var788; } { -nit___nit__AbstractCompilerVisitor___add(var_v, var964); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +nit___nit__AbstractCompilerVisitor___add(var_v, var788); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } } else { } -if (varonce968) { -var969 = varonce968; +if (likely(varonce791!=NULL)) { +var792 = varonce791; } else { -var970 = "return 0;"; -var971 = 9; -var972 = standard___standard__NativeString___to_s_with_length(var970, var971); -var969 = var972; -varonce968 = var969; +var793 = "return 0;"; +var794 = standard___standard__NativeString___to_s_with_length(var793, 9l); +var792 = var794; +varonce791 = var792; } { -nit___nit__AbstractCompilerVisitor___add(var_v, var969); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +nit___nit__AbstractCompilerVisitor___add(var_v, var792); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } -if (varonce973) { -var974 = varonce973; +if (likely(varonce795!=NULL)) { +var796 = varonce795; } else { -var975 = "}"; -var976 = 1; -var977 = standard___standard__NativeString___to_s_with_length(var975, var976); -var974 = var977; -varonce973 = var974; +var797 = "}"; +var798 = standard___standard__NativeString___to_s_with_length(var797, 1l); +var796 = var798; +varonce795 = var796; } { -nit___nit__AbstractCompilerVisitor___add(var_v, var974); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +nit___nit__AbstractCompilerVisitor___add(var_v, var796); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } { { /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on */ -var980 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on */ -if (unlikely(var980 == NULL)) { +var801 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on */ +if (unlikely(var801 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 474); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 515); +fatal_exit(1); } -var978 = var980; -RET_LABEL979:(void)0; +var799 = var801; +RET_LABEL800:(void)0; } } { -{ /* Inline mmodule#MModule#in_importation (var978) on */ -var983 = var978->attrs[COLOR_nit__mmodule__MModule___in_importation].val; /* _in_importation on */ -if (unlikely(var983 == NULL)) { +{ /* Inline mmodule#MModule#in_importation (var799) on */ +var804 = var799->attrs[COLOR_nit__mmodule__MModule___in_importation].val; /* _in_importation on */ +if (unlikely(var804 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 96); -show_backtrace(1); +fatal_exit(1); } -var981 = var983; -RET_LABEL982:(void)0; +var802 = var804; +RET_LABEL803:(void)0; } } { -var984 = poset___poset__POSetElement___greaters(var981); +var805 = poset___poset__POSetElement___greaters(var802); } -var_985 = var984; +var_806 = var805; { -var986 = ((val* (*)(val* self))(var_985->class->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_985) /* iterator on */; +var807 = ((val*(*)(val* self))((((long)var_806&3)?class_info[((long)var_806&3)]:var_806->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_806); /* iterator on */ } -var_987 = var986; +var_808 = var807; for(;;) { { -var988 = ((short int (*)(val* self))(var_987->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_987) /* is_ok on */; +var809 = ((short int(*)(val* self))((((long)var_808&3)?class_info[((long)var_808&3)]:var_808->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_808); /* is_ok on */ } -if (var988){ +if (var809){ { -var989 = ((val* (*)(val* self))(var_987->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_987) /* item on */; +var810 = ((val*(*)(val* self))((((long)var_808&3)?class_info[((long)var_808&3)]:var_808->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_808); /* item on */ } -var_m = var989; -if (varonce990) { -var991 = varonce990; +var_m = var810; +if (likely(varonce811!=NULL)) { +var812 = varonce811; } else { -var992 = "FILE_"; -var993 = 5; -var994 = standard___standard__NativeString___to_s_with_length(var992, var993); -var991 = var994; -varonce990 = var991; +var813 = "FILE_"; +var814 = standard___standard__NativeString___to_s_with_length(var813, 5l); +var812 = var814; +varonce811 = var812; } { -var995 = nit___nit__MModule___nit__model_base__MEntity__c_name(var_m); +var815 = nit___nit__MModule___nit__model_base__MEntity__c_name(var_m); } { -var996 = ((val* (*)(val* self, val* p0))(var991->class->vft[COLOR_standard__string__String___43d]))(var991, var995) /* + on */; +var816 = ((val*(*)(val* self, val* p0))(var812->class->vft[COLOR_standard__string__String___43d]))(var812, var815); /* + on */ +} +var_f = var816; +if (unlikely(varonce817==NULL)) { +var818 = NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String); +if (likely(varonce819!=NULL)) { +var820 = varonce819; +} else { +var821 = "const char "; +var822 = standard___standard__NativeString___to_s_with_length(var821, 11l); +var820 = var822; +varonce819 = var820; +} +((struct instance_standard__NativeArray*)var818)->values[0]=var820; +if (likely(varonce823!=NULL)) { +var824 = varonce823; +} else { +var825 = "[] = \""; +var826 = standard___standard__NativeString___to_s_with_length(var825, 6l); +var824 = var826; +varonce823 = var824; } -var_f = var996; -if (varonce997) { -var998 = varonce997; +((struct instance_standard__NativeArray*)var818)->values[2]=var824; +if (likely(varonce827!=NULL)) { +var828 = varonce827; } else { -var999 = "const char "; -var1000 = 11; -var1001 = standard___standard__NativeString___to_s_with_length(var999, var1000); -var998 = var1001; -varonce997 = var998; +var829 = "\";"; +var830 = standard___standard__NativeString___to_s_with_length(var829, 2l); +var828 = var830; +varonce827 = var828; } -if (varonce1002) { -var1003 = varonce1002; +((struct instance_standard__NativeArray*)var818)->values[4]=var828; } else { -var1004 = "[] = \""; -var1005 = 6; -var1006 = standard___standard__NativeString___to_s_with_length(var1004, var1005); -var1003 = var1006; -varonce1002 = var1003; +var818 = varonce817; +varonce817 = NULL; } +((struct instance_standard__NativeArray*)var818)->values[1]=var_f; { { /* Inline mmodule#MModule#location (var_m) on */ -var1009 = var_m->attrs[COLOR_nit__mmodule__MModule___location].val; /* _location on */ -if (unlikely(var1009 == NULL)) { +var833 = var_m->attrs[COLOR_nit__mmodule__MModule___location].val; /* _location on */ +if (unlikely(var833 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 90); -show_backtrace(1); +fatal_exit(1); } -var1007 = var1009; -RET_LABEL1008:(void)0; +var831 = var833; +RET_LABEL832:(void)0; } } { -{ /* Inline location#Location#file (var1007) on */ -var1012 = var1007->attrs[COLOR_nit__location__Location___file].val; /* _file on */ -var1010 = var1012; -RET_LABEL1011:(void)0; +{ /* Inline location#Location#file (var831) on */ +var836 = var831->attrs[COLOR_nit__location__Location___file].val; /* _file on */ +var834 = var836; +RET_LABEL835:(void)0; } } -if (var1010 == NULL) { +if (var834 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 862); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 913); +fatal_exit(1); } else { -{ /* Inline location#SourceFile#filename (var1010) on */ -if (unlikely(var1010 == NULL)) { +{ /* Inline location#SourceFile#filename (var834) on */ +if (unlikely(var834 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__location, 22); -show_backtrace(1); +fatal_exit(1); } -var1015 = var1010->attrs[COLOR_nit__location__SourceFile___filename].val; /* _filename on */ -if (unlikely(var1015 == NULL)) { +var839 = var834->attrs[COLOR_nit__location__SourceFile___filename].val; /* _filename on */ +if (unlikely(var839 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filename"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__location, 22); -show_backtrace(1); -} -var1013 = var1015; -RET_LABEL1014:(void)0; +fatal_exit(1); } +var837 = var839; +RET_LABEL838:(void)0; } -{ -var1016 = standard___standard__Text___escape_to_c(var1013); -} -if (varonce1017) { -var1018 = varonce1017; -} else { -var1019 = "\";"; -var1020 = 2; -var1021 = standard___standard__NativeString___to_s_with_length(var1019, var1020); -var1018 = var1021; -varonce1017 = var1018; } -var1022 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var1022 = array_instance Array[Object] */ -var1023 = 5; -var1024 = NEW_standard__NativeArray(var1023, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var1024)->values[0] = (val*) var998; -((struct instance_standard__NativeArray*)var1024)->values[1] = (val*) var_f; -((struct instance_standard__NativeArray*)var1024)->values[2] = (val*) var1003; -((struct instance_standard__NativeArray*)var1024)->values[3] = (val*) var1016; -((struct instance_standard__NativeArray*)var1024)->values[4] = (val*) var1018; { -((void (*)(val* self, val* p0, long p1))(var1022->class->vft[COLOR_standard__array__Array__with_native]))(var1022, var1024, var1023) /* with_native on */; -} +var840 = standard___standard__Text___escape_to_c(var837); } +((struct instance_standard__NativeArray*)var818)->values[3]=var840; { -var1025 = ((val* (*)(val* self))(var1022->class->vft[COLOR_standard__string__Object__to_s]))(var1022) /* to_s on */; +var841 = ((val*(*)(val* self))(var818->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var818); /* native_to_s on */ } +varonce817 = var818; { -nit___nit__AbstractCompilerVisitor___add(var_v, var1025); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +nit___nit__AbstractCompilerVisitor___add(var_v, var841); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } -if (varonce1026) { -var1027 = varonce1026; +if (unlikely(varonce842==NULL)) { +var843 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce844!=NULL)) { +var845 = varonce844; } else { -var1028 = "extern const char "; -var1029 = 18; -var1030 = standard___standard__NativeString___to_s_with_length(var1028, var1029); -var1027 = var1030; -varonce1026 = var1027; +var846 = "extern const char "; +var847 = standard___standard__NativeString___to_s_with_length(var846, 18l); +var845 = var847; +varonce844 = var845; } -if (varonce1031) { -var1032 = varonce1031; +((struct instance_standard__NativeArray*)var843)->values[0]=var845; +if (likely(varonce848!=NULL)) { +var849 = varonce848; } else { -var1033 = "[];"; -var1034 = 3; -var1035 = standard___standard__NativeString___to_s_with_length(var1033, var1034); -var1032 = var1035; -varonce1031 = var1032; -} -var1036 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var1036 = array_instance Array[Object] */ -var1037 = 3; -var1038 = NEW_standard__NativeArray(var1037, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var1038)->values[0] = (val*) var1027; -((struct instance_standard__NativeArray*)var1038)->values[1] = (val*) var_f; -((struct instance_standard__NativeArray*)var1038)->values[2] = (val*) var1032; -{ -((void (*)(val* self, val* p0, long p1))(var1036->class->vft[COLOR_standard__array__Array__with_native]))(var1036, var1038, var1037) /* with_native on */; +var850 = "[];"; +var851 = standard___standard__NativeString___to_s_with_length(var850, 3l); +var849 = var851; +varonce848 = var849; } +((struct instance_standard__NativeArray*)var843)->values[2]=var849; +} else { +var843 = varonce842; +varonce842 = NULL; } +((struct instance_standard__NativeArray*)var843)->values[1]=var_f; { -var1039 = ((val* (*)(val* self))(var1036->class->vft[COLOR_standard__string__Object__to_s]))(var1036) /* to_s on */; +var852 = ((val*(*)(val* self))(var843->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var843); /* native_to_s on */ } +varonce842 = var843; { -nit___nit__AbstractCompiler___provide_declaration(self, var_f, var1039); /* Direct call abstract_compiler#AbstractCompiler#provide_declaration on */ +nit___nit__AbstractCompiler___provide_declaration(self, var_f, var852); /* Direct call abstract_compiler#AbstractCompiler#provide_declaration on */ } { -((void (*)(val* self))(var_987->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_987) /* next on */; +((void(*)(val* self))((((long)var_808&3)?class_info[((long)var_808&3)]:var_808->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_808); /* next on */ } } else { -goto BREAK_label1040; +goto BREAK_label853; } } -BREAK_label1040: (void)0; +BREAK_label853: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_987) on */ -RET_LABEL1041:(void)0; -} +((void(*)(val* self))((((long)var_808&3)?class_info[((long)var_808&3)]:var_808->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_808); /* finish on */ } RET_LABEL:; } @@ -3878,19 +3463,17 @@ val* var_v /* var v: AbstractCompilerVisitor */; static val* varonce; val* var1 /* : String */; char* var2 /* : NativeString */; -long var3 /* : Int */; -val* var4 /* : FlatString */; +val* var3 /* : FlatString */; { -var = ((val* (*)(val* self))(self->class->vft[COLOR_nit__abstract_compiler__AbstractCompiler__new_visitor]))(self) /* new_visitor on */; +var = ((val*(*)(val* self))(self->class->vft[COLOR_nit__abstract_compiler__AbstractCompiler__new_visitor]))(self); /* new_visitor on */ } var_v = var; -if (varonce) { +if (likely(varonce!=NULL)) { var1 = varonce; } else { -var2 = "struct nitni_global_ref_list_t *nitni_global_ref_list;\nvoid initialize_nitni_global_refs() {\n\11nitni_global_ref_list = (struct nitni_global_ref_list_t*)nit_alloc(sizeof(struct nitni_global_ref_list_t));\n\11nitni_global_ref_list->head = NULL;\n\11nitni_global_ref_list->tail = NULL;\n}\n\nvoid nitni_global_ref_add( struct nitni_ref *ref ) {\n\11if ( nitni_global_ref_list->head == NULL ) {\n\11\11nitni_global_ref_list->head = ref;\n\11\11ref->prev = NULL;\n\11} else {\n\11\11nitni_global_ref_list->tail->next = ref;\n\11\11ref->prev = nitni_global_ref_list->tail;\n\11}\n\11nitni_global_ref_list->tail = ref;\n\n\11ref->next = NULL;\n}\n\nvoid nitni_global_ref_remove( struct nitni_ref *ref ) {\n\11if ( ref->prev == NULL ) {\n\11\11nitni_global_ref_list->head = ref->next;\n\11} else {\n\11\11ref->prev->next = ref->next;\n\11}\n\n\11if ( ref->next == NULL ) {\n\11\11nitni_global_ref_list->tail = ref->prev;\n\11} else {\n\11\11ref->next->prev = ref->prev;\n\11}\n}\n\nextern void nitni_global_ref_incr( struct nitni_ref *ref ) {\n\11if ( ref->count == 0 ) /* not registered */\n\11{\n\11\11/* add to list */\n\11\11nitni_global_ref_add( ref );\n\11}\n\n\11ref->count ++;\n}\n\nextern void nitni_global_ref_decr( struct nitni_ref *ref ) {\n\11if ( ref->count == 1 ) /* was last reference */\n\11{\n\11\11/* remove from list */\n\11\11nitni_global_ref_remove( ref );\n\11}\n\n\11ref->count --;\n}\n"; -var3 = 1260; -var4 = standard___standard__NativeString___to_s_with_length(var2, var3); -var1 = var4; +var2 = "struct nitni_global_ref_list_t *nitni_global_ref_list;\nvoid initialize_nitni_global_refs() {\n\tnitni_global_ref_list = (struct nitni_global_ref_list_t*)nit_alloc(sizeof(struct nitni_global_ref_list_t));\n\tnitni_global_ref_list->head = NULL;\n\tnitni_global_ref_list->tail = NULL;\n}\n\nvoid nitni_global_ref_add( struct nitni_ref *ref ) {\n\tif ( nitni_global_ref_list->head == NULL ) {\n\t\tnitni_global_ref_list->head = ref;\n\t\tref->prev = NULL;\n\t} else {\n\t\tnitni_global_ref_list->tail->next = ref;\n\t\tref->prev = nitni_global_ref_list->tail;\n\t}\n\tnitni_global_ref_list->tail = ref;\n\n\tref->next = NULL;\n}\n\nvoid nitni_global_ref_remove( struct nitni_ref *ref ) {\n\tif ( ref->prev == NULL ) {\n\t\tnitni_global_ref_list->head = ref->next;\n\t} else {\n\t\tref->prev->next = ref->next;\n\t}\n\n\tif ( ref->next == NULL ) {\n\t\tnitni_global_ref_list->tail = ref->prev;\n\t} else {\n\t\tref->next->prev = ref->prev;\n\t}\n}\n\nextern void nitni_global_ref_incr( struct nitni_ref *ref ) {\n\tif ( ref->count == 0 ) /* not registered */\n\t{\n\t\t/* add to list */\n\t\tnitni_global_ref_add( ref );\n\t}\n\n\tref->count ++;\n}\n\nextern void nitni_global_ref_decr( struct nitni_ref *ref ) {\n\tif ( ref->count == 1 ) /* was last reference */\n\t{\n\t\t/* remove from list */\n\t\tnitni_global_ref_remove( ref );\n\t}\n\n\tref->count --;\n}\n"; +var3 = standard___standard__NativeString___to_s_with_length(var2, 1260l); +var1 = var3; varonce = var1; } { @@ -3905,8 +3488,8 @@ val* var1 /* : Array[ExternFile] */; var1 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___extern_bodies].val; /* _extern_bodies on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _extern_bodies"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 928); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 979); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -3919,8 +3502,8 @@ val* var1 /* : Array[String] */; var1 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___files_to_copy].val; /* _files_to_copy on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files_to_copy"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 931); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 982); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -3933,8 +3516,8 @@ val* var1 /* : ArraySet[String] */; var1 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___seen_extern].val; /* _seen_extern on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _seen_extern"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 934); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 985); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -3985,8 +3568,8 @@ var = p0->type->type_table[cltype] == idtype; if (unlikely(!var)) { var_class_name = p0 == NULL ? "null" : p0->type->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 937); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 988); +fatal_exit(1); } var_v = p0; var_recv = p1; @@ -3996,8 +3579,8 @@ var_mtype = p2; var3 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on */ if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 474); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 515); +fatal_exit(1); } var1 = var3; RET_LABEL2:(void)0; @@ -4015,8 +3598,8 @@ var_cds = var5; var8 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on */ if (unlikely(var8 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 474); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 515); +fatal_exit(1); } var6 = var8; RET_LABEL7:(void)0; @@ -4044,8 +3627,8 @@ var_cd = var12; var15 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on */ if (unlikely(var15 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 481); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 522); +fatal_exit(1); } var13 = var15; RET_LABEL14:(void)0; @@ -4069,7 +3652,7 @@ var21 = standard__array___standard__array__ArrayIterator___standard__abstract_co } var_npropdef = var21; { -nit__abstract_compiler___AAttrPropdef___init_expr(var_npropdef, var_v, var_recv); /* Direct call abstract_compiler#AAttrPropdef#init_expr on */ +nit__separate_compiler___AAttrPropdef___init_expr(var_npropdef, var_v, var_recv); /* Direct call separate_compiler#AAttrPropdef#init_expr on */ } { standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_19); /* Direct call array#ArrayIterator#next on */ @@ -4080,22 +3663,18 @@ goto BREAK_label; } BREAK_label: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_19) on */ -RET_LABEL22:(void)0; -} +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_19); /* Direct call array#ArrayIterator#finish on */ } { standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_10); /* Direct call array#ArrayIterator#next on */ } } else { -goto BREAK_label23; +goto BREAK_label22; } } -BREAK_label23: (void)0; +BREAK_label22: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_10) on */ -RET_LABEL24:(void)0; -} +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_10); /* Direct call array#ArrayIterator#finish on */ } RET_LABEL:; } @@ -4106,8 +3685,8 @@ val* var1 /* : Array[String] */; var1 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_tags].val; /* _count_type_test_tags on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_tags"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 963); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1014); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -4120,8 +3699,8 @@ val* var1 /* : HashMap[String, Int] */; var1 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_resolved].val; /* _count_type_test_resolved on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_resolved"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 964); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1015); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -4134,8 +3713,8 @@ val* var1 /* : HashMap[String, Int] */; var1 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_unresolved].val; /* _count_type_test_unresolved on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_unresolved"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 965); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1016); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -4148,8 +3727,8 @@ val* var1 /* : HashMap[String, Int] */; var1 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_skipped].val; /* _count_type_test_skipped on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_skipped"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 966); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1017); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -4168,8 +3747,7 @@ val* var_6 /* var : ArrayIterator[String] */; short int var7 /* : Bool */; val* var8 /* : nullable Object */; val* var_tag /* var tag: String */; -long var9 /* : Int */; -val* var10 /* : nullable Object */; +val* var9 /* : nullable Object */; var1 = NEW_standard__HashMap(&type_standard__HashMap__standard__String__standard__Int); { standard___standard__HashMap___standard__kernel__Object__init(var1); /* Direct call hash_collection#HashMap#init on */ @@ -4180,8 +3758,8 @@ var_res = var1; var4 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_tags].val; /* _count_type_test_tags on */ if (unlikely(var4 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_tags"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 963); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1014); +fatal_exit(1); } var2 = var4; RET_LABEL3:(void)0; @@ -4201,10 +3779,9 @@ if (var7){ var8 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_6); } var_tag = var8; -var9 = 0; { -var10 = BOX_standard__Int(var9); /* autobox from Int to nullable Object */ -standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var_res, var_tag, var10); /* Direct call hash_collection#HashMap#[]= on */ +var9 = (val*)(0l<<2|1); +standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var_res, var_tag, var9); /* Direct call hash_collection#HashMap#[]= on */ } { standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_6); /* Direct call array#ArrayIterator#next on */ @@ -4215,9 +3792,7 @@ goto BREAK_label; } BREAK_label: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_6) on */ -RET_LABEL11:(void)0; -} +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_6); /* Direct call array#ArrayIterator#finish on */ } var = var_res; goto RET_LABEL; @@ -4235,15 +3810,15 @@ val* var8 /* : OptionBool */; val* var9 /* : nullable Object */; val* var11 /* : nullable Object */; short int var12 /* : Bool */; +val* var13 /* : Sys */; static val* varonce; -val* var13 /* : String */; -char* var14 /* : NativeString */; -long var15 /* : Int */; +val* var14 /* : String */; +char* var15 /* : NativeString */; val* var16 /* : FlatString */; -static val* varonce17; -val* var18 /* : String */; -char* var19 /* : NativeString */; -long var20 /* : Int */; +val* var17 /* : Sys */; +static val* varonce18; +val* var19 /* : String */; +char* var20 /* : NativeString */; val* var21 /* : FlatString */; val* var22 /* : HashMap[String, Int] */; val* var_count_type_test_total /* var count_type_test_total: HashMap[String, Int] */; @@ -4252,306 +3827,288 @@ val* var25 /* : HashMap[String, Int] */; static val* varonce26; val* var27 /* : String */; char* var28 /* : NativeString */; -long var29 /* : Int */; -val* var30 /* : FlatString */; -long var31 /* : Int */; -val* var32 /* : nullable Object */; +val* var29 /* : FlatString */; +val* var30 /* : nullable Object */; +val* var31 /* : HashMap[String, Int] */; val* var33 /* : HashMap[String, Int] */; -val* var35 /* : HashMap[String, Int] */; -static val* varonce36; -val* var37 /* : String */; -char* var38 /* : NativeString */; -long var39 /* : Int */; -val* var40 /* : FlatString */; -long var41 /* : Int */; -val* var42 /* : nullable Object */; -val* var43 /* : HashMap[String, Int] */; -val* var45 /* : HashMap[String, Int] */; -static val* varonce46; -val* var47 /* : String */; -char* var48 /* : NativeString */; -long var49 /* : Int */; +static val* varonce34; +val* var35 /* : String */; +char* var36 /* : NativeString */; +val* var37 /* : FlatString */; +val* var38 /* : nullable Object */; +val* var39 /* : HashMap[String, Int] */; +val* var41 /* : HashMap[String, Int] */; +static val* varonce42; +val* var43 /* : String */; +char* var44 /* : NativeString */; +val* var45 /* : FlatString */; +val* var46 /* : nullable Object */; +static val* varonce47; +val* var48 /* : String */; +char* var49 /* : NativeString */; val* var50 /* : FlatString */; -long var51 /* : Int */; -val* var52 /* : nullable Object */; -static val* varonce53; -val* var54 /* : String */; -char* var55 /* : NativeString */; -long var56 /* : Int */; -val* var57 /* : FlatString */; -long var58 /* : Int */; -val* var59 /* : nullable Object */; -val* var60 /* : Array[String] */; -val* var62 /* : Array[String] */; +val* var51 /* : nullable Object */; +val* var52 /* : Array[String] */; +val* var54 /* : Array[String] */; val* var_ /* var : Array[String] */; -val* var63 /* : ArrayIterator[nullable Object] */; -val* var_64 /* var : ArrayIterator[String] */; -short int var65 /* : Bool */; -val* var66 /* : nullable Object */; +val* var55 /* : ArrayIterator[nullable Object] */; +val* var_56 /* var : ArrayIterator[String] */; +short int var57 /* : Bool */; +val* var58 /* : nullable Object */; val* var_tag /* var tag: String */; -val* var67 /* : HashMap[String, Int] */; -val* var69 /* : HashMap[String, Int] */; -val* var70 /* : nullable Object */; -val* var71 /* : HashMap[String, Int] */; -val* var73 /* : HashMap[String, Int] */; -val* var74 /* : nullable Object */; -long var75 /* : Int */; -short int var77 /* : Bool */; +val* var59 /* : HashMap[String, Int] */; +val* var61 /* : HashMap[String, Int] */; +val* var62 /* : nullable Object */; +val* var63 /* : HashMap[String, Int] */; +val* var65 /* : HashMap[String, Int] */; +val* var66 /* : nullable Object */; +long var67 /* : Int */; +short int var69 /* : Bool */; int cltype; int idtype; const char* var_class_name; -long var78 /* : Int */; -long var79 /* : Int */; -long var80 /* : Int */; -val* var81 /* : HashMap[String, Int] */; -val* var83 /* : HashMap[String, Int] */; -val* var84 /* : nullable Object */; -long var85 /* : Int */; -short int var87 /* : Bool */; -int cltype88; -int idtype89; -const char* var_class_name90; -long var91 /* : Int */; -long var92 /* : Int */; -val* var93 /* : nullable Object */; -val* var94 /* : HashMap[String, Int] */; +long var70 /* : Int */; +long var71 /* : Int */; +long var72 /* : Int */; +val* var73 /* : HashMap[String, Int] */; +val* var75 /* : HashMap[String, Int] */; +val* var76 /* : nullable Object */; +long var77 /* : Int */; +short int var79 /* : Bool */; +int cltype80; +int idtype81; +const char* var_class_name82; +long var83 /* : Int */; +long var84 /* : Int */; +val* var85 /* : nullable Object */; +val* var86 /* : HashMap[String, Int] */; +val* var88 /* : HashMap[String, Int] */; +val* var_89 /* var : HashMap[String, Int] */; +static val* varonce90; +val* var91 /* : String */; +char* var92 /* : NativeString */; +val* var93 /* : FlatString */; +val* var_94 /* var : String */; +val* var95 /* : nullable Object */; val* var96 /* : HashMap[String, Int] */; -val* var_97 /* var : HashMap[String, Int] */; -static val* varonce98; -val* var99 /* : String */; -char* var100 /* : NativeString */; -long var101 /* : Int */; -val* var102 /* : FlatString */; -val* var_103 /* var : String */; -val* var104 /* : nullable Object */; -val* var105 /* : HashMap[String, Int] */; -val* var107 /* : HashMap[String, Int] */; -val* var108 /* : nullable Object */; -long var109 /* : Int */; -short int var111 /* : Bool */; -int cltype112; -int idtype113; -const char* var_class_name114; -long var115 /* : Int */; -long var116 /* : Int */; -long var117 /* : Int */; -val* var118 /* : nullable Object */; -val* var119 /* : HashMap[String, Int] */; -val* var121 /* : HashMap[String, Int] */; -val* var_122 /* var : HashMap[String, Int] */; -static val* varonce123; -val* var124 /* : String */; -char* var125 /* : NativeString */; -long var126 /* : Int */; -val* var127 /* : FlatString */; -val* var_128 /* var : String */; -val* var129 /* : nullable Object */; -val* var130 /* : HashMap[String, Int] */; -val* var132 /* : HashMap[String, Int] */; +val* var98 /* : HashMap[String, Int] */; +val* var99 /* : nullable Object */; +long var100 /* : Int */; +short int var102 /* : Bool */; +int cltype103; +int idtype104; +const char* var_class_name105; +long var106 /* : Int */; +long var107 /* : Int */; +long var108 /* : Int */; +val* var109 /* : nullable Object */; +val* var110 /* : HashMap[String, Int] */; +val* var112 /* : HashMap[String, Int] */; +val* var_113 /* var : HashMap[String, Int] */; +static val* varonce114; +val* var115 /* : String */; +char* var116 /* : NativeString */; +val* var117 /* : FlatString */; +val* var_118 /* var : String */; +val* var119 /* : nullable Object */; +val* var120 /* : HashMap[String, Int] */; +val* var122 /* : HashMap[String, Int] */; +val* var123 /* : nullable Object */; +long var124 /* : Int */; +short int var126 /* : Bool */; +int cltype127; +int idtype128; +const char* var_class_name129; +long var130 /* : Int */; +long var131 /* : Int */; +long var132 /* : Int */; val* var133 /* : nullable Object */; -long var134 /* : Int */; -short int var136 /* : Bool */; -int cltype137; -int idtype138; -const char* var_class_name139; -long var140 /* : Int */; -long var141 /* : Int */; -long var142 /* : Int */; +val* var134 /* : HashMap[String, Int] */; +val* var136 /* : HashMap[String, Int] */; +val* var_137 /* var : HashMap[String, Int] */; +static val* varonce138; +val* var139 /* : String */; +char* var140 /* : NativeString */; +val* var141 /* : FlatString */; +val* var_142 /* var : String */; val* var143 /* : nullable Object */; val* var144 /* : HashMap[String, Int] */; val* var146 /* : HashMap[String, Int] */; -val* var_147 /* var : HashMap[String, Int] */; -static val* varonce148; -val* var149 /* : String */; -char* var150 /* : NativeString */; -long var151 /* : Int */; -val* var152 /* : FlatString */; -val* var_153 /* var : String */; -val* var154 /* : nullable Object */; -val* var155 /* : HashMap[String, Int] */; -val* var157 /* : HashMap[String, Int] */; -val* var158 /* : nullable Object */; -long var159 /* : Int */; -short int var161 /* : Bool */; -int cltype162; -int idtype163; -const char* var_class_name164; -long var165 /* : Int */; +val* var147 /* : nullable Object */; +long var148 /* : Int */; +short int var150 /* : Bool */; +int cltype151; +int idtype152; +const char* var_class_name153; +long var154 /* : Int */; +long var155 /* : Int */; +long var156 /* : Int */; +val* var157 /* : nullable Object */; +val* var_158 /* var : HashMap[String, Int] */; +static val* varonce159; +val* var160 /* : String */; +char* var161 /* : NativeString */; +val* var162 /* : FlatString */; +val* var_163 /* var : String */; +val* var164 /* : nullable Object */; +val* var165 /* : nullable Object */; long var166 /* : Int */; -long var167 /* : Int */; -val* var168 /* : nullable Object */; -val* var_169 /* var : HashMap[String, Int] */; -static val* varonce170; -val* var171 /* : String */; -char* var172 /* : NativeString */; +short int var168 /* : Bool */; +int cltype169; +int idtype170; +const char* var_class_name171; +long var172 /* : Int */; long var173 /* : Int */; -val* var174 /* : FlatString */; -val* var_175 /* var : String */; -val* var176 /* : nullable Object */; -val* var177 /* : nullable Object */; -long var178 /* : Int */; -short int var180 /* : Bool */; -int cltype181; -int idtype182; -const char* var_class_name183; -long var184 /* : Int */; -long var185 /* : Int */; -long var186 /* : Int */; -val* var187 /* : nullable Object */; -static val* varonce189; -val* var190 /* : String */; -char* var191 /* : NativeString */; -long var192 /* : Int */; -val* var193 /* : FlatString */; -val* var194 /* : nullable Object */; -long var195 /* : Int */; +long var174 /* : Int */; +val* var175 /* : nullable Object */; +static val* varonce176; +val* var177 /* : String */; +char* var178 /* : NativeString */; +val* var179 /* : FlatString */; +val* var180 /* : nullable Object */; +long var181 /* : Int */; long var_count_type_test /* var count_type_test: Int */; -val* var196 /* : Array[String] */; -val* var198 /* : Array[String] */; -val* var199 /* : Array[nullable Object] */; +val* var182 /* : Array[String] */; +val* var184 /* : Array[String] */; +val* var185 /* : Array[nullable Object] */; val* var_tags /* var tags: Array[String] */; +static val* varonce186; +val* var187 /* : String */; +char* var188 /* : NativeString */; +val* var189 /* : FlatString */; +val* var_190 /* var : Array[String] */; +val* var191 /* : ArrayIterator[nullable Object] */; +val* var_192 /* var : ArrayIterator[String] */; +short int var193 /* : Bool */; +val* var194 /* : nullable Object */; +val* var_tag195 /* var tag: String */; +val* var196 /* : Sys */; +val* var197 /* : Array[Object] */; +val* var198 /* : NativeArray[Object] */; +val* var199 /* : Sys */; +val* var201 /* : NativeArray[String] */; static val* varonce200; -val* var201 /* : String */; -char* var202 /* : NativeString */; -long var203 /* : Int */; -val* var204 /* : FlatString */; -val* var_205 /* var : Array[String] */; -val* var206 /* : ArrayIterator[nullable Object] */; -val* var_207 /* var : ArrayIterator[String] */; -short int var208 /* : Bool */; -val* var209 /* : nullable Object */; -val* var_tag210 /* var tag: String */; -val* var211 /* : Array[Object] */; -long var212 /* : Int */; -val* var213 /* : NativeArray[Object] */; -static val* varonce214; -val* var215 /* : String */; -char* var216 /* : NativeString */; -long var217 /* : Int */; -val* var218 /* : FlatString */; -val* var219 /* : HashMap[String, Int] */; +static val* varonce202; +val* var203 /* : String */; +char* var204 /* : NativeString */; +val* var205 /* : FlatString */; +static val* varonce206; +val* var207 /* : String */; +char* var208 /* : NativeString */; +val* var209 /* : FlatString */; +static val* varonce210; +val* var211 /* : String */; +char* var212 /* : NativeString */; +val* var213 /* : FlatString */; +val* var214 /* : HashMap[String, Int] */; +val* var216 /* : HashMap[String, Int] */; +val* var217 /* : nullable Object */; +val* var218 /* : String */; +long var219 /* : Int */; +val* var220 /* : Sys */; val* var221 /* : HashMap[String, Int] */; -val* var222 /* : nullable Object */; -static val* varonce223; -val* var224 /* : String */; -char* var225 /* : NativeString */; +val* var223 /* : HashMap[String, Int] */; +val* var224 /* : nullable Object */; +val* var225 /* : String */; long var226 /* : Int */; -val* var227 /* : FlatString */; -val* var228 /* : HashMap[String, Int] */; -val* var230 /* : HashMap[String, Int] */; -val* var231 /* : nullable Object */; -val* var232 /* : String */; -long var233 /* : Int */; -static val* varonce234; -val* var235 /* : String */; -char* var236 /* : NativeString */; -long var237 /* : Int */; -val* var238 /* : FlatString */; -val* var239 /* : Array[Object] */; -long var240 /* : Int */; -val* var241 /* : NativeArray[Object] */; +val* var227 /* : String */; +val* var228 /* : Array[Object] */; +val* var229 /* : NativeArray[Object] */; +val* var230 /* : Sys */; +val* var232 /* : NativeArray[String] */; +static val* varonce231; +static val* varonce233; +val* var234 /* : String */; +char* var235 /* : NativeString */; +val* var236 /* : FlatString */; +static val* varonce237; +val* var238 /* : String */; +char* var239 /* : NativeString */; +val* var240 /* : FlatString */; +static val* varonce241; val* var242 /* : String */; -val* var243 /* : Array[Object] */; -long var244 /* : Int */; -val* var245 /* : NativeArray[Object] */; -static val* varonce246; -val* var247 /* : String */; -char* var248 /* : NativeString */; -long var249 /* : Int */; -val* var250 /* : FlatString */; -val* var251 /* : HashMap[String, Int] */; -val* var253 /* : HashMap[String, Int] */; -val* var254 /* : nullable Object */; -static val* varonce255; +char* var243 /* : NativeString */; +val* var244 /* : FlatString */; +val* var245 /* : HashMap[String, Int] */; +val* var247 /* : HashMap[String, Int] */; +val* var248 /* : nullable Object */; +val* var249 /* : String */; +long var250 /* : Int */; +val* var251 /* : Sys */; +val* var252 /* : HashMap[String, Int] */; +val* var254 /* : HashMap[String, Int] */; +val* var255 /* : nullable Object */; val* var256 /* : String */; -char* var257 /* : NativeString */; -long var258 /* : Int */; -val* var259 /* : FlatString */; -val* var260 /* : HashMap[String, Int] */; -val* var262 /* : HashMap[String, Int] */; -val* var263 /* : nullable Object */; -val* var264 /* : String */; -long var265 /* : Int */; -static val* varonce266; -val* var267 /* : String */; -char* var268 /* : NativeString */; -long var269 /* : Int */; -val* var270 /* : FlatString */; -val* var271 /* : Array[Object] */; -long var272 /* : Int */; -val* var273 /* : NativeArray[Object] */; -val* var274 /* : String */; -val* var275 /* : Array[Object] */; -long var276 /* : Int */; -val* var277 /* : NativeArray[Object] */; -static val* varonce278; -val* var279 /* : String */; -char* var280 /* : NativeString */; +long var257 /* : Int */; +val* var258 /* : String */; +val* var259 /* : Array[Object] */; +val* var260 /* : NativeArray[Object] */; +val* var261 /* : Sys */; +val* var263 /* : NativeArray[String] */; +static val* varonce262; +static val* varonce264; +val* var265 /* : String */; +char* var266 /* : NativeString */; +val* var267 /* : FlatString */; +static val* varonce268; +val* var269 /* : String */; +char* var270 /* : NativeString */; +val* var271 /* : FlatString */; +static val* varonce272; +val* var273 /* : String */; +char* var274 /* : NativeString */; +val* var275 /* : FlatString */; +val* var276 /* : HashMap[String, Int] */; +val* var278 /* : HashMap[String, Int] */; +val* var279 /* : nullable Object */; +val* var280 /* : String */; long var281 /* : Int */; -val* var282 /* : FlatString */; +val* var282 /* : Sys */; val* var283 /* : HashMap[String, Int] */; val* var285 /* : HashMap[String, Int] */; val* var286 /* : nullable Object */; -static val* varonce287; -val* var288 /* : String */; -char* var289 /* : NativeString */; -long var290 /* : Int */; -val* var291 /* : FlatString */; -val* var292 /* : HashMap[String, Int] */; -val* var294 /* : HashMap[String, Int] */; -val* var295 /* : nullable Object */; +val* var287 /* : String */; +long var288 /* : Int */; +val* var289 /* : String */; +val* var290 /* : Array[Object] */; +val* var291 /* : NativeArray[Object] */; +val* var292 /* : Sys */; +val* var294 /* : NativeArray[String] */; +static val* varonce293; +static val* varonce295; val* var296 /* : String */; -long var297 /* : Int */; -static val* varonce298; -val* var299 /* : String */; -char* var300 /* : NativeString */; -long var301 /* : Int */; +char* var297 /* : NativeString */; +val* var298 /* : FlatString */; +static val* varonce299; +val* var300 /* : String */; +char* var301 /* : NativeString */; val* var302 /* : FlatString */; -val* var303 /* : Array[Object] */; -long var304 /* : Int */; -val* var305 /* : NativeArray[Object] */; -val* var306 /* : String */; -val* var307 /* : Array[Object] */; -long var308 /* : Int */; -val* var309 /* : NativeArray[Object] */; -static val* varonce310; -val* var311 /* : String */; -char* var312 /* : NativeString */; +static val* varonce303; +val* var304 /* : String */; +char* var305 /* : NativeString */; +val* var306 /* : FlatString */; +val* var307 /* : nullable Object */; +val* var308 /* : String */; +long var309 /* : Int */; +val* var310 /* : Sys */; +val* var311 /* : nullable Object */; +val* var312 /* : String */; long var313 /* : Int */; -val* var314 /* : FlatString */; -val* var315 /* : nullable Object */; -static val* varonce316; -val* var317 /* : String */; -char* var318 /* : NativeString */; -long var319 /* : Int */; -val* var320 /* : FlatString */; -val* var321 /* : nullable Object */; -val* var322 /* : String */; -long var323 /* : Int */; -static val* varonce324; -val* var325 /* : String */; -char* var326 /* : NativeString */; -long var327 /* : Int */; -val* var328 /* : FlatString */; -val* var329 /* : Array[Object] */; -long var330 /* : Int */; -val* var331 /* : NativeArray[Object] */; -val* var332 /* : String */; -val* var333 /* : Array[Object] */; -long var334 /* : Int */; -val* var335 /* : NativeArray[Object] */; -static val* varonce336; -val* var337 /* : String */; -char* var338 /* : NativeString */; -long var339 /* : Int */; -val* var340 /* : FlatString */; +val* var314 /* : String */; +val* var315 /* : Array[Object] */; +val* var316 /* : NativeArray[Object] */; +val* var317 /* : Sys */; +static val* varonce318; +val* var319 /* : String */; +char* var320 /* : NativeString */; +val* var321 /* : FlatString */; { { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on */ var2 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 481); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 522); +fatal_exit(1); } var = var2; RET_LABEL1:(void)0; @@ -4563,7 +4120,7 @@ var5 = var->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; if (unlikely(var5 == 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); } var3 = var5; RET_LABEL4:(void)0; @@ -4574,8 +4131,8 @@ RET_LABEL4:(void)0; var8 = var3->attrs[COLOR_nit__abstract_compiler__ToolContext___opt_typing_test_metrics].val; /* _opt_typing_test_metrics on */ if (unlikely(var8 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_typing_test_metrics"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 59); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 60); +fatal_exit(1); } var6 = var8; RET_LABEL7:(void)0; @@ -4588,31 +4145,31 @@ var9 = var11; RET_LABEL10:(void)0; } } -var12 = ((struct instance_standard__Bool*)var9)->value; /* autounbox from nullable Object to Bool */; +var12 = (short int)((long)(var9)>>2); if (var12){ -if (varonce) { -var13 = varonce; +var13 = glob_sys; +if (likely(varonce!=NULL)) { +var14 = varonce; } else { -var14 = "# static count_type_test"; -var15 = 24; -var16 = standard___standard__NativeString___to_s_with_length(var14, var15); -var13 = var16; -varonce = var13; +var15 = "# static count_type_test"; +var16 = standard___standard__NativeString___to_s_with_length(var15, 24l); +var14 = var16; +varonce = var14; } { -standard__file___Object___print(self, var13); /* Direct call file#Object#print on */ +standard__file___Sys___print(var13, var14); /* Direct call file#Sys#print on */ } -if (varonce17) { -var18 = varonce17; +var17 = glob_sys; +if (likely(varonce18!=NULL)) { +var19 = varonce18; } else { -var19 = "\11resolved:\11unresolved\11skipped\11total"; -var20 = 35; -var21 = standard___standard__NativeString___to_s_with_length(var19, var20); -var18 = var21; -varonce17 = var18; +var20 = "\tresolved:\tunresolved\tskipped\ttotal"; +var21 = standard___standard__NativeString___to_s_with_length(var20, 35l); +var19 = var21; +varonce18 = var19; } { -standard__file___Object___print(self, var18); /* Direct call file#Object#print on */ +standard__file___Sys___print(var17, var19); /* Direct call file#Sys#print on */ } { var22 = nit___nit__AbstractCompiler___init_count_type_test_tags(self); @@ -4623,439 +4180,427 @@ var_count_type_test_total = var22; var25 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_resolved].val; /* _count_type_test_resolved on */ if (unlikely(var25 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_resolved"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 964); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1015); +fatal_exit(1); } var23 = var25; RET_LABEL24:(void)0; } } -if (varonce26) { +if (likely(varonce26!=NULL)) { var27 = varonce26; } else { var28 = "total"; -var29 = 5; -var30 = standard___standard__NativeString___to_s_with_length(var28, var29); -var27 = var30; +var29 = standard___standard__NativeString___to_s_with_length(var28, 5l); +var27 = var29; varonce26 = var27; } -var31 = 0; { -var32 = BOX_standard__Int(var31); /* autobox from Int to nullable Object */ -standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var23, var27, var32); /* Direct call hash_collection#HashMap#[]= on */ +var30 = (val*)(0l<<2|1); +standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var23, var27, var30); /* Direct call hash_collection#HashMap#[]= on */ } { { /* Inline abstract_compiler#AbstractCompiler#count_type_test_unresolved (self) on */ -var35 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_unresolved].val; /* _count_type_test_unresolved on */ -if (unlikely(var35 == NULL)) { +var33 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_unresolved].val; /* _count_type_test_unresolved on */ +if (unlikely(var33 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_unresolved"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 965); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1016); +fatal_exit(1); } -var33 = var35; -RET_LABEL34:(void)0; +var31 = var33; +RET_LABEL32:(void)0; } } -if (varonce36) { -var37 = varonce36; +if (likely(varonce34!=NULL)) { +var35 = varonce34; } else { -var38 = "total"; -var39 = 5; -var40 = standard___standard__NativeString___to_s_with_length(var38, var39); -var37 = var40; -varonce36 = var37; +var36 = "total"; +var37 = standard___standard__NativeString___to_s_with_length(var36, 5l); +var35 = var37; +varonce34 = var35; } -var41 = 0; { -var42 = BOX_standard__Int(var41); /* autobox from Int to nullable Object */ -standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var33, var37, var42); /* Direct call hash_collection#HashMap#[]= on */ +var38 = (val*)(0l<<2|1); +standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var31, var35, var38); /* Direct call hash_collection#HashMap#[]= on */ } { { /* Inline abstract_compiler#AbstractCompiler#count_type_test_skipped (self) on */ -var45 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_skipped].val; /* _count_type_test_skipped on */ -if (unlikely(var45 == NULL)) { +var41 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_skipped].val; /* _count_type_test_skipped on */ +if (unlikely(var41 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_skipped"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 966); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1017); +fatal_exit(1); } -var43 = var45; -RET_LABEL44:(void)0; +var39 = var41; +RET_LABEL40:(void)0; } } -if (varonce46) { -var47 = varonce46; +if (likely(varonce42!=NULL)) { +var43 = varonce42; } else { -var48 = "total"; -var49 = 5; -var50 = standard___standard__NativeString___to_s_with_length(var48, var49); -var47 = var50; -varonce46 = var47; +var44 = "total"; +var45 = standard___standard__NativeString___to_s_with_length(var44, 5l); +var43 = var45; +varonce42 = var43; } -var51 = 0; { -var52 = BOX_standard__Int(var51); /* autobox from Int to nullable Object */ -standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var43, var47, var52); /* Direct call hash_collection#HashMap#[]= on */ +var46 = (val*)(0l<<2|1); +standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var39, var43, var46); /* Direct call hash_collection#HashMap#[]= on */ } -if (varonce53) { -var54 = varonce53; +if (likely(varonce47!=NULL)) { +var48 = varonce47; } else { -var55 = "total"; -var56 = 5; -var57 = standard___standard__NativeString___to_s_with_length(var55, var56); -var54 = var57; -varonce53 = var54; +var49 = "total"; +var50 = standard___standard__NativeString___to_s_with_length(var49, 5l); +var48 = var50; +varonce47 = var48; } -var58 = 0; { -var59 = BOX_standard__Int(var58); /* autobox from Int to nullable Object */ -standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var_count_type_test_total, var54, var59); /* Direct call hash_collection#HashMap#[]= on */ +var51 = (val*)(0l<<2|1); +standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var_count_type_test_total, var48, var51); /* Direct call hash_collection#HashMap#[]= on */ } { { /* Inline abstract_compiler#AbstractCompiler#count_type_test_tags (self) on */ -var62 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_tags].val; /* _count_type_test_tags on */ -if (unlikely(var62 == NULL)) { +var54 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_tags].val; /* _count_type_test_tags on */ +if (unlikely(var54 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_tags"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 963); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1014); +fatal_exit(1); } -var60 = var62; -RET_LABEL61:(void)0; +var52 = var54; +RET_LABEL53:(void)0; } } -var_ = var60; +var_ = var52; { -var63 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_); +var55 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_); } -var_64 = var63; +var_56 = var55; for(;;) { { -var65 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_64); +var57 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_56); } -if (var65){ +if (var57){ { -var66 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_64); +var58 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_56); } -var_tag = var66; +var_tag = var58; { { /* Inline abstract_compiler#AbstractCompiler#count_type_test_resolved (self) on */ -var69 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_resolved].val; /* _count_type_test_resolved on */ -if (unlikely(var69 == NULL)) { +var61 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_resolved].val; /* _count_type_test_resolved on */ +if (unlikely(var61 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_resolved"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 964); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1015); +fatal_exit(1); } -var67 = var69; -RET_LABEL68:(void)0; +var59 = var61; +RET_LABEL60:(void)0; } } { -var70 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var67, var_tag); +var62 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var59, var_tag); } { { /* Inline abstract_compiler#AbstractCompiler#count_type_test_unresolved (self) on */ -var73 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_unresolved].val; /* _count_type_test_unresolved on */ -if (unlikely(var73 == NULL)) { +var65 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_unresolved].val; /* _count_type_test_unresolved on */ +if (unlikely(var65 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_unresolved"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 965); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1016); +fatal_exit(1); } -var71 = var73; -RET_LABEL72:(void)0; +var63 = var65; +RET_LABEL64:(void)0; } } { -var74 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var71, var_tag); +var66 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var63, var_tag); } { -{ /* Inline kernel#Int#+ (var70,var74) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var77 = 1; /* easy isa OTHER*/ -if (unlikely(!var77)) { -var_class_name = var74 == NULL ? "null" : var74->type->name; +{ /* Inline kernel#Int#+ (var62,var66) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var69 = 1; /* easy isa OTHER*/ +if (unlikely(!var69)) { +var_class_name = var66 == NULL ? "null" : (((long)var66&3)?type_info[((long)var66&3)]:var66->type)->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); -} -var78 = ((struct instance_standard__Int*)var70)->value; /* autounbox from nullable Object to Int */; -var79 = ((struct instance_standard__Int*)var74)->value; /* autounbox from nullable Object to Int */; -var80 = var78 + var79; -var75 = var80; -goto RET_LABEL76; -RET_LABEL76:(void)0; +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); +} +var70 = (long)(var62)>>2; +var71 = (long)(var66)>>2; +var72 = var70 + var71; +var67 = var72; +goto RET_LABEL68; +RET_LABEL68:(void)0; } } { { /* Inline abstract_compiler#AbstractCompiler#count_type_test_skipped (self) on */ -var83 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_skipped].val; /* _count_type_test_skipped on */ -if (unlikely(var83 == NULL)) { +var75 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_skipped].val; /* _count_type_test_skipped on */ +if (unlikely(var75 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_skipped"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 966); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1017); +fatal_exit(1); } -var81 = var83; -RET_LABEL82:(void)0; +var73 = var75; +RET_LABEL74:(void)0; } } { -var84 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var81, var_tag); +var76 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var73, var_tag); } { -{ /* Inline kernel#Int#+ (var75,var84) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var87 = 1; /* easy isa OTHER*/ -if (unlikely(!var87)) { -var_class_name90 = var84 == NULL ? "null" : var84->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name90); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +{ /* Inline kernel#Int#+ (var67,var76) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var79 = 1; /* easy isa OTHER*/ +if (unlikely(!var79)) { +var_class_name82 = var76 == NULL ? "null" : (((long)var76&3)?type_info[((long)var76&3)]:var76->type)->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name82); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var91 = ((struct instance_standard__Int*)var84)->value; /* autounbox from nullable Object to Int */; -var92 = var75 + var91; -var85 = var92; -goto RET_LABEL86; -RET_LABEL86:(void)0; +var83 = (long)(var76)>>2; +var84 = var67 + var83; +var77 = var84; +goto RET_LABEL78; +RET_LABEL78:(void)0; } } { -var93 = BOX_standard__Int(var85); /* autobox from Int to nullable Object */ -standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var_count_type_test_total, var_tag, var93); /* Direct call hash_collection#HashMap#[]= on */ +var85 = (val*)(var77<<2|1); +standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var_count_type_test_total, var_tag, var85); /* Direct call hash_collection#HashMap#[]= on */ } { { /* Inline abstract_compiler#AbstractCompiler#count_type_test_resolved (self) on */ -var96 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_resolved].val; /* _count_type_test_resolved on */ -if (unlikely(var96 == NULL)) { +var88 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_resolved].val; /* _count_type_test_resolved on */ +if (unlikely(var88 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_resolved"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 964); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1015); +fatal_exit(1); } -var94 = var96; -RET_LABEL95:(void)0; +var86 = var88; +RET_LABEL87:(void)0; } } -var_97 = var94; -if (varonce98) { -var99 = varonce98; +var_89 = var86; +if (likely(varonce90!=NULL)) { +var91 = varonce90; } else { -var100 = "total"; -var101 = 5; -var102 = standard___standard__NativeString___to_s_with_length(var100, var101); -var99 = var102; -varonce98 = var99; +var92 = "total"; +var93 = standard___standard__NativeString___to_s_with_length(var92, 5l); +var91 = var93; +varonce90 = var91; } -var_103 = var99; +var_94 = var91; { -var104 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_97, var_103); +var95 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_89, var_94); } { { /* Inline abstract_compiler#AbstractCompiler#count_type_test_resolved (self) on */ -var107 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_resolved].val; /* _count_type_test_resolved on */ -if (unlikely(var107 == NULL)) { +var98 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_resolved].val; /* _count_type_test_resolved on */ +if (unlikely(var98 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_resolved"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 964); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1015); +fatal_exit(1); } -var105 = var107; -RET_LABEL106:(void)0; +var96 = var98; +RET_LABEL97:(void)0; } } { -var108 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var105, var_tag); +var99 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var96, var_tag); } { -{ /* Inline kernel#Int#+ (var104,var108) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var111 = 1; /* easy isa OTHER*/ -if (unlikely(!var111)) { -var_class_name114 = var108 == NULL ? "null" : var108->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name114); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +{ /* Inline kernel#Int#+ (var95,var99) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var102 = 1; /* easy isa OTHER*/ +if (unlikely(!var102)) { +var_class_name105 = var99 == NULL ? "null" : (((long)var99&3)?type_info[((long)var99&3)]:var99->type)->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name105); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var115 = ((struct instance_standard__Int*)var104)->value; /* autounbox from nullable Object to Int */; -var116 = ((struct instance_standard__Int*)var108)->value; /* autounbox from nullable Object to Int */; -var117 = var115 + var116; -var109 = var117; -goto RET_LABEL110; -RET_LABEL110:(void)0; +var106 = (long)(var95)>>2; +var107 = (long)(var99)>>2; +var108 = var106 + var107; +var100 = var108; +goto RET_LABEL101; +RET_LABEL101:(void)0; } } { -var118 = BOX_standard__Int(var109); /* autobox from Int to nullable Object */ -standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var_97, var_103, var118); /* Direct call hash_collection#HashMap#[]= on */ +var109 = (val*)(var100<<2|1); +standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var_89, var_94, var109); /* Direct call hash_collection#HashMap#[]= on */ } { { /* Inline abstract_compiler#AbstractCompiler#count_type_test_unresolved (self) on */ -var121 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_unresolved].val; /* _count_type_test_unresolved on */ -if (unlikely(var121 == NULL)) { +var112 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_unresolved].val; /* _count_type_test_unresolved on */ +if (unlikely(var112 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_unresolved"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 965); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1016); +fatal_exit(1); } -var119 = var121; -RET_LABEL120:(void)0; +var110 = var112; +RET_LABEL111:(void)0; } } -var_122 = var119; -if (varonce123) { -var124 = varonce123; +var_113 = var110; +if (likely(varonce114!=NULL)) { +var115 = varonce114; } else { -var125 = "total"; -var126 = 5; -var127 = standard___standard__NativeString___to_s_with_length(var125, var126); -var124 = var127; -varonce123 = var124; +var116 = "total"; +var117 = standard___standard__NativeString___to_s_with_length(var116, 5l); +var115 = var117; +varonce114 = var115; } -var_128 = var124; +var_118 = var115; { -var129 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_122, var_128); +var119 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_113, var_118); } { { /* Inline abstract_compiler#AbstractCompiler#count_type_test_unresolved (self) on */ -var132 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_unresolved].val; /* _count_type_test_unresolved on */ -if (unlikely(var132 == NULL)) { +var122 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_unresolved].val; /* _count_type_test_unresolved on */ +if (unlikely(var122 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_unresolved"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 965); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1016); +fatal_exit(1); } -var130 = var132; -RET_LABEL131:(void)0; +var120 = var122; +RET_LABEL121:(void)0; } } { -var133 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var130, var_tag); +var123 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var120, var_tag); } { -{ /* Inline kernel#Int#+ (var129,var133) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var136 = 1; /* easy isa OTHER*/ -if (unlikely(!var136)) { -var_class_name139 = var133 == NULL ? "null" : var133->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name139); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +{ /* Inline kernel#Int#+ (var119,var123) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var126 = 1; /* easy isa OTHER*/ +if (unlikely(!var126)) { +var_class_name129 = var123 == NULL ? "null" : (((long)var123&3)?type_info[((long)var123&3)]:var123->type)->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name129); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var140 = ((struct instance_standard__Int*)var129)->value; /* autounbox from nullable Object to Int */; -var141 = ((struct instance_standard__Int*)var133)->value; /* autounbox from nullable Object to Int */; -var142 = var140 + var141; -var134 = var142; -goto RET_LABEL135; -RET_LABEL135:(void)0; +var130 = (long)(var119)>>2; +var131 = (long)(var123)>>2; +var132 = var130 + var131; +var124 = var132; +goto RET_LABEL125; +RET_LABEL125:(void)0; } } { -var143 = BOX_standard__Int(var134); /* autobox from Int to nullable Object */ -standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var_122, var_128, var143); /* Direct call hash_collection#HashMap#[]= on */ +var133 = (val*)(var124<<2|1); +standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var_113, var_118, var133); /* Direct call hash_collection#HashMap#[]= on */ } { { /* Inline abstract_compiler#AbstractCompiler#count_type_test_skipped (self) on */ -var146 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_skipped].val; /* _count_type_test_skipped on */ -if (unlikely(var146 == NULL)) { +var136 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_skipped].val; /* _count_type_test_skipped on */ +if (unlikely(var136 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_skipped"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 966); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1017); +fatal_exit(1); } -var144 = var146; -RET_LABEL145:(void)0; +var134 = var136; +RET_LABEL135:(void)0; } } -var_147 = var144; -if (varonce148) { -var149 = varonce148; +var_137 = var134; +if (likely(varonce138!=NULL)) { +var139 = varonce138; } else { -var150 = "total"; -var151 = 5; -var152 = standard___standard__NativeString___to_s_with_length(var150, var151); -var149 = var152; -varonce148 = var149; +var140 = "total"; +var141 = standard___standard__NativeString___to_s_with_length(var140, 5l); +var139 = var141; +varonce138 = var139; } -var_153 = var149; +var_142 = var139; { -var154 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_147, var_153); +var143 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_137, var_142); } { { /* Inline abstract_compiler#AbstractCompiler#count_type_test_skipped (self) on */ -var157 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_skipped].val; /* _count_type_test_skipped on */ -if (unlikely(var157 == NULL)) { +var146 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_skipped].val; /* _count_type_test_skipped on */ +if (unlikely(var146 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_skipped"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 966); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1017); +fatal_exit(1); } -var155 = var157; -RET_LABEL156:(void)0; +var144 = var146; +RET_LABEL145:(void)0; } } { -var158 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var155, var_tag); +var147 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var144, var_tag); } { -{ /* Inline kernel#Int#+ (var154,var158) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var161 = 1; /* easy isa OTHER*/ -if (unlikely(!var161)) { -var_class_name164 = var158 == NULL ? "null" : var158->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name164); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +{ /* Inline kernel#Int#+ (var143,var147) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var150 = 1; /* easy isa OTHER*/ +if (unlikely(!var150)) { +var_class_name153 = var147 == NULL ? "null" : (((long)var147&3)?type_info[((long)var147&3)]:var147->type)->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name153); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var165 = ((struct instance_standard__Int*)var154)->value; /* autounbox from nullable Object to Int */; -var166 = ((struct instance_standard__Int*)var158)->value; /* autounbox from nullable Object to Int */; -var167 = var165 + var166; -var159 = var167; -goto RET_LABEL160; -RET_LABEL160:(void)0; +var154 = (long)(var143)>>2; +var155 = (long)(var147)>>2; +var156 = var154 + var155; +var148 = var156; +goto RET_LABEL149; +RET_LABEL149:(void)0; } } { -var168 = BOX_standard__Int(var159); /* autobox from Int to nullable Object */ -standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var_147, var_153, var168); /* Direct call hash_collection#HashMap#[]= on */ +var157 = (val*)(var148<<2|1); +standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var_137, var_142, var157); /* Direct call hash_collection#HashMap#[]= on */ } -var_169 = var_count_type_test_total; -if (varonce170) { -var171 = varonce170; +var_158 = var_count_type_test_total; +if (likely(varonce159!=NULL)) { +var160 = varonce159; } else { -var172 = "total"; -var173 = 5; -var174 = standard___standard__NativeString___to_s_with_length(var172, var173); -var171 = var174; -varonce170 = var171; +var161 = "total"; +var162 = standard___standard__NativeString___to_s_with_length(var161, 5l); +var160 = var162; +varonce159 = var160; } -var_175 = var171; +var_163 = var160; { -var176 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_169, var_175); +var164 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_158, var_163); } { -var177 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_count_type_test_total, var_tag); +var165 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_count_type_test_total, var_tag); } { -{ /* Inline kernel#Int#+ (var176,var177) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var180 = 1; /* easy isa OTHER*/ -if (unlikely(!var180)) { -var_class_name183 = var177 == NULL ? "null" : var177->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name183); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +{ /* Inline kernel#Int#+ (var164,var165) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var168 = 1; /* easy isa OTHER*/ +if (unlikely(!var168)) { +var_class_name171 = var165 == NULL ? "null" : (((long)var165&3)?type_info[((long)var165&3)]:var165->type)->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name171); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var184 = ((struct instance_standard__Int*)var176)->value; /* autounbox from nullable Object to Int */; -var185 = ((struct instance_standard__Int*)var177)->value; /* autounbox from nullable Object to Int */; -var186 = var184 + var185; -var178 = var186; -goto RET_LABEL179; -RET_LABEL179:(void)0; +var172 = (long)(var164)>>2; +var173 = (long)(var165)>>2; +var174 = var172 + var173; +var166 = var174; +goto RET_LABEL167; +RET_LABEL167:(void)0; } } { -var187 = BOX_standard__Int(var178); /* autobox from Int to nullable Object */ -standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var_169, var_175, var187); /* Direct call hash_collection#HashMap#[]= on */ +var175 = (val*)(var166<<2|1); +standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var_158, var_163, var175); /* Direct call hash_collection#HashMap#[]= on */ } { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_64); /* Direct call array#ArrayIterator#next on */ +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_56); /* Direct call array#ArrayIterator#next on */ } } else { goto BREAK_label; @@ -5063,434 +4608,424 @@ goto BREAK_label; } BREAK_label: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_64) on */ -RET_LABEL188:(void)0; -} +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_56); /* Direct call array#ArrayIterator#finish on */ } -if (varonce189) { -var190 = varonce189; +if (likely(varonce176!=NULL)) { +var177 = varonce176; } else { -var191 = "total"; -var192 = 5; -var193 = standard___standard__NativeString___to_s_with_length(var191, var192); -var190 = var193; -varonce189 = var190; +var178 = "total"; +var179 = standard___standard__NativeString___to_s_with_length(var178, 5l); +var177 = var179; +varonce176 = var177; } { -var194 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_count_type_test_total, var190); +var180 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_count_type_test_total, var177); } -var195 = ((struct instance_standard__Int*)var194)->value; /* autounbox from nullable Object to Int */; -var_count_type_test = var195; +var181 = (long)(var180)>>2; +var_count_type_test = var181; { { /* Inline abstract_compiler#AbstractCompiler#count_type_test_tags (self) on */ -var198 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_tags].val; /* _count_type_test_tags on */ -if (unlikely(var198 == NULL)) { +var184 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_tags].val; /* _count_type_test_tags on */ +if (unlikely(var184 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_tags"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 963); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1014); +fatal_exit(1); } -var196 = var198; -RET_LABEL197:(void)0; +var182 = var184; +RET_LABEL183:(void)0; } } { -var199 = standard__array___Collection___to_a(var196); +var185 = standard__array___Collection___to_a(var182); } -var_tags = var199; -if (varonce200) { -var201 = varonce200; +var_tags = var185; +if (likely(varonce186!=NULL)) { +var187 = varonce186; } else { -var202 = "total"; -var203 = 5; -var204 = standard___standard__NativeString___to_s_with_length(var202, var203); -var201 = var204; -varonce200 = var201; +var188 = "total"; +var189 = standard___standard__NativeString___to_s_with_length(var188, 5l); +var187 = var189; +varonce186 = var187; } { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_tags, var201); /* Direct call array#Array#add on */ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_tags, var187); /* Direct call array#Array#add on */ } -var_205 = var_tags; +var_190 = var_tags; { -var206 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_205); +var191 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_190); } -var_207 = var206; +var_192 = var191; for(;;) { { -var208 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_207); +var193 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_192); } -if (var208){ +if (var193){ { -var209 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_207); +var194 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_192); } -var_tag210 = var209; -var211 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var211 = array_instance Array[Object] */ -var212 = 1; -var213 = NEW_standard__NativeArray(var212, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var213)->values[0] = (val*) var_tag210; +var_tag195 = var194; +var196 = glob_sys; +var197 = NEW_standard__Array(&type_standard__Array__standard__Object); +{ /* var197 = array_instance Array[Object] */ +var198 = NEW_standard__NativeArray(1l, &type_standard__NativeArray__standard__Object); +((struct instance_standard__NativeArray*)var198)->values[0] = (val*) var_tag195; { -((void (*)(val* self, val* p0, long p1))(var211->class->vft[COLOR_standard__array__Array__with_native]))(var211, var213, var212) /* with_native on */; +((void(*)(val* self, val* p0, long p1))(var197->class->vft[COLOR_standard__array__Array__with_native]))(var197, var198, 1l); /* with_native on */ } } { -standard__file___Object___printn(self, var211); /* Direct call file#Object#printn on */ +standard__file___Sys___printn(var196, var197); /* Direct call file#Sys#printn on */ +} +var199 = glob_sys; +if (unlikely(varonce200==NULL)) { +var201 = NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String); +if (likely(varonce202!=NULL)) { +var203 = varonce202; +} else { +var204 = "\t"; +var205 = standard___standard__NativeString___to_s_with_length(var204, 1l); +var203 = var205; +varonce202 = var203; +} +((struct instance_standard__NativeArray*)var201)->values[0]=var203; +if (likely(varonce206!=NULL)) { +var207 = varonce206; +} else { +var208 = " ("; +var209 = standard___standard__NativeString___to_s_with_length(var208, 2l); +var207 = var209; +varonce206 = var207; +} +((struct instance_standard__NativeArray*)var201)->values[2]=var207; +if (likely(varonce210!=NULL)) { +var211 = varonce210; +} else { +var212 = "%)"; +var213 = standard___standard__NativeString___to_s_with_length(var212, 2l); +var211 = var213; +varonce210 = var211; } -if (varonce214) { -var215 = varonce214; +((struct instance_standard__NativeArray*)var201)->values[4]=var211; } else { -var216 = "\11"; -var217 = 1; -var218 = standard___standard__NativeString___to_s_with_length(var216, var217); -var215 = var218; -varonce214 = var215; +var201 = varonce200; +varonce200 = NULL; } { { /* Inline abstract_compiler#AbstractCompiler#count_type_test_resolved (self) on */ -var221 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_resolved].val; /* _count_type_test_resolved on */ -if (unlikely(var221 == NULL)) { +var216 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_resolved].val; /* _count_type_test_resolved on */ +if (unlikely(var216 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_resolved"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 964); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1015); +fatal_exit(1); } -var219 = var221; -RET_LABEL220:(void)0; +var214 = var216; +RET_LABEL215:(void)0; } } { -var222 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var219, var_tag210); -} -if (varonce223) { -var224 = varonce223; -} else { -var225 = " ("; -var226 = 2; -var227 = standard___standard__NativeString___to_s_with_length(var225, var226); -var224 = var227; -varonce223 = var224; +var217 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var214, var_tag195); } +var219 = (long)(var217)>>2; +var218 = standard__string___Int___Object__to_s(var219); +((struct instance_standard__NativeArray*)var201)->values[1]=var218; +var220 = glob_sys; { { /* Inline abstract_compiler#AbstractCompiler#count_type_test_resolved (self) on */ -var230 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_resolved].val; /* _count_type_test_resolved on */ -if (unlikely(var230 == NULL)) { +var223 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_resolved].val; /* _count_type_test_resolved on */ +if (unlikely(var223 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_resolved"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 964); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1015); +fatal_exit(1); } -var228 = var230; -RET_LABEL229:(void)0; +var221 = var223; +RET_LABEL222:(void)0; } } { -var231 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var228, var_tag210); +var224 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var221, var_tag195); } { -var233 = ((struct instance_standard__Int*)var231)->value; /* autounbox from nullable Object to Int */; -var232 = nit___nit__AbstractCompiler___div(self, var233, var_count_type_test); +var226 = (long)(var224)>>2; +var225 = counter___standard__Sys___div(var220, var226, var_count_type_test); } -if (varonce234) { -var235 = varonce234; -} else { -var236 = "%)"; -var237 = 2; -var238 = standard___standard__NativeString___to_s_with_length(var236, var237); -var235 = var238; -varonce234 = var235; +((struct instance_standard__NativeArray*)var201)->values[3]=var225; +{ +var227 = ((val*(*)(val* self))(var201->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var201); /* native_to_s on */ } -var239 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var239 = array_instance Array[Object] */ -var240 = 5; -var241 = NEW_standard__NativeArray(var240, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var241)->values[0] = (val*) var215; -((struct instance_standard__NativeArray*)var241)->values[1] = (val*) var222; -((struct instance_standard__NativeArray*)var241)->values[2] = (val*) var224; -((struct instance_standard__NativeArray*)var241)->values[3] = (val*) var232; -((struct instance_standard__NativeArray*)var241)->values[4] = (val*) var235; +varonce200 = var201; +var228 = NEW_standard__Array(&type_standard__Array__standard__Object); +{ /* var228 = array_instance Array[Object] */ +var229 = NEW_standard__NativeArray(1l, &type_standard__NativeArray__standard__Object); +((struct instance_standard__NativeArray*)var229)->values[0] = (val*) var227; { -((void (*)(val* self, val* p0, long p1))(var239->class->vft[COLOR_standard__array__Array__with_native]))(var239, var241, var240) /* with_native on */; +((void(*)(val* self, val* p0, long p1))(var228->class->vft[COLOR_standard__array__Array__with_native]))(var228, var229, 1l); /* with_native on */ } } { -var242 = ((val* (*)(val* self))(var239->class->vft[COLOR_standard__string__Object__to_s]))(var239) /* to_s on */; +standard__file___Sys___printn(var199, var228); /* Direct call file#Sys#printn on */ } -var243 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var243 = array_instance Array[Object] */ -var244 = 1; -var245 = NEW_standard__NativeArray(var244, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var245)->values[0] = (val*) var242; -{ -((void (*)(val* self, val* p0, long p1))(var243->class->vft[COLOR_standard__array__Array__with_native]))(var243, var245, var244) /* with_native on */; +var230 = glob_sys; +if (unlikely(varonce231==NULL)) { +var232 = NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String); +if (likely(varonce233!=NULL)) { +var234 = varonce233; +} else { +var235 = "\t"; +var236 = standard___standard__NativeString___to_s_with_length(var235, 1l); +var234 = var236; +varonce233 = var234; } +((struct instance_standard__NativeArray*)var232)->values[0]=var234; +if (likely(varonce237!=NULL)) { +var238 = varonce237; +} else { +var239 = " ("; +var240 = standard___standard__NativeString___to_s_with_length(var239, 2l); +var238 = var240; +varonce237 = var238; } -{ -standard__file___Object___printn(self, var243); /* Direct call file#Object#printn on */ +((struct instance_standard__NativeArray*)var232)->values[2]=var238; +if (likely(varonce241!=NULL)) { +var242 = varonce241; +} else { +var243 = "%)"; +var244 = standard___standard__NativeString___to_s_with_length(var243, 2l); +var242 = var244; +varonce241 = var242; } -if (varonce246) { -var247 = varonce246; +((struct instance_standard__NativeArray*)var232)->values[4]=var242; } else { -var248 = "\11"; -var249 = 1; -var250 = standard___standard__NativeString___to_s_with_length(var248, var249); -var247 = var250; -varonce246 = var247; +var232 = varonce231; +varonce231 = NULL; } { { /* Inline abstract_compiler#AbstractCompiler#count_type_test_unresolved (self) on */ -var253 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_unresolved].val; /* _count_type_test_unresolved on */ -if (unlikely(var253 == NULL)) { +var247 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_unresolved].val; /* _count_type_test_unresolved on */ +if (unlikely(var247 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_unresolved"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 965); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1016); +fatal_exit(1); } -var251 = var253; -RET_LABEL252:(void)0; +var245 = var247; +RET_LABEL246:(void)0; } } { -var254 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var251, var_tag210); -} -if (varonce255) { -var256 = varonce255; -} else { -var257 = " ("; -var258 = 2; -var259 = standard___standard__NativeString___to_s_with_length(var257, var258); -var256 = var259; -varonce255 = var256; +var248 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var245, var_tag195); } +var250 = (long)(var248)>>2; +var249 = standard__string___Int___Object__to_s(var250); +((struct instance_standard__NativeArray*)var232)->values[1]=var249; +var251 = glob_sys; { { /* Inline abstract_compiler#AbstractCompiler#count_type_test_unresolved (self) on */ -var262 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_unresolved].val; /* _count_type_test_unresolved on */ -if (unlikely(var262 == NULL)) { +var254 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_unresolved].val; /* _count_type_test_unresolved on */ +if (unlikely(var254 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_unresolved"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 965); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1016); +fatal_exit(1); } -var260 = var262; -RET_LABEL261:(void)0; +var252 = var254; +RET_LABEL253:(void)0; } } { -var263 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var260, var_tag210); +var255 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var252, var_tag195); } { -var265 = ((struct instance_standard__Int*)var263)->value; /* autounbox from nullable Object to Int */; -var264 = nit___nit__AbstractCompiler___div(self, var265, var_count_type_test); +var257 = (long)(var255)>>2; +var256 = counter___standard__Sys___div(var251, var257, var_count_type_test); } -if (varonce266) { -var267 = varonce266; -} else { -var268 = "%)"; -var269 = 2; -var270 = standard___standard__NativeString___to_s_with_length(var268, var269); -var267 = var270; -varonce266 = var267; +((struct instance_standard__NativeArray*)var232)->values[3]=var256; +{ +var258 = ((val*(*)(val* self))(var232->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var232); /* native_to_s on */ } -var271 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var271 = array_instance Array[Object] */ -var272 = 5; -var273 = NEW_standard__NativeArray(var272, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var273)->values[0] = (val*) var247; -((struct instance_standard__NativeArray*)var273)->values[1] = (val*) var254; -((struct instance_standard__NativeArray*)var273)->values[2] = (val*) var256; -((struct instance_standard__NativeArray*)var273)->values[3] = (val*) var264; -((struct instance_standard__NativeArray*)var273)->values[4] = (val*) var267; +varonce231 = var232; +var259 = NEW_standard__Array(&type_standard__Array__standard__Object); +{ /* var259 = array_instance Array[Object] */ +var260 = NEW_standard__NativeArray(1l, &type_standard__NativeArray__standard__Object); +((struct instance_standard__NativeArray*)var260)->values[0] = (val*) var258; { -((void (*)(val* self, val* p0, long p1))(var271->class->vft[COLOR_standard__array__Array__with_native]))(var271, var273, var272) /* with_native on */; +((void(*)(val* self, val* p0, long p1))(var259->class->vft[COLOR_standard__array__Array__with_native]))(var259, var260, 1l); /* with_native on */ } } { -var274 = ((val* (*)(val* self))(var271->class->vft[COLOR_standard__string__Object__to_s]))(var271) /* to_s on */; +standard__file___Sys___printn(var230, var259); /* Direct call file#Sys#printn on */ } -var275 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var275 = array_instance Array[Object] */ -var276 = 1; -var277 = NEW_standard__NativeArray(var276, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var277)->values[0] = (val*) var274; -{ -((void (*)(val* self, val* p0, long p1))(var275->class->vft[COLOR_standard__array__Array__with_native]))(var275, var277, var276) /* with_native on */; +var261 = glob_sys; +if (unlikely(varonce262==NULL)) { +var263 = NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String); +if (likely(varonce264!=NULL)) { +var265 = varonce264; +} else { +var266 = "\t"; +var267 = standard___standard__NativeString___to_s_with_length(var266, 1l); +var265 = var267; +varonce264 = var265; } +((struct instance_standard__NativeArray*)var263)->values[0]=var265; +if (likely(varonce268!=NULL)) { +var269 = varonce268; +} else { +var270 = " ("; +var271 = standard___standard__NativeString___to_s_with_length(var270, 2l); +var269 = var271; +varonce268 = var269; } -{ -standard__file___Object___printn(self, var275); /* Direct call file#Object#printn on */ +((struct instance_standard__NativeArray*)var263)->values[2]=var269; +if (likely(varonce272!=NULL)) { +var273 = varonce272; +} else { +var274 = "%)"; +var275 = standard___standard__NativeString___to_s_with_length(var274, 2l); +var273 = var275; +varonce272 = var273; } -if (varonce278) { -var279 = varonce278; +((struct instance_standard__NativeArray*)var263)->values[4]=var273; } else { -var280 = "\11"; -var281 = 1; -var282 = standard___standard__NativeString___to_s_with_length(var280, var281); -var279 = var282; -varonce278 = var279; +var263 = varonce262; +varonce262 = NULL; } { { /* Inline abstract_compiler#AbstractCompiler#count_type_test_skipped (self) on */ -var285 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_skipped].val; /* _count_type_test_skipped on */ -if (unlikely(var285 == NULL)) { +var278 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_skipped].val; /* _count_type_test_skipped on */ +if (unlikely(var278 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_skipped"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 966); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1017); +fatal_exit(1); } -var283 = var285; -RET_LABEL284:(void)0; +var276 = var278; +RET_LABEL277:(void)0; } } { -var286 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var283, var_tag210); -} -if (varonce287) { -var288 = varonce287; -} else { -var289 = " ("; -var290 = 2; -var291 = standard___standard__NativeString___to_s_with_length(var289, var290); -var288 = var291; -varonce287 = var288; +var279 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var276, var_tag195); } +var281 = (long)(var279)>>2; +var280 = standard__string___Int___Object__to_s(var281); +((struct instance_standard__NativeArray*)var263)->values[1]=var280; +var282 = glob_sys; { { /* Inline abstract_compiler#AbstractCompiler#count_type_test_skipped (self) on */ -var294 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_skipped].val; /* _count_type_test_skipped on */ -if (unlikely(var294 == NULL)) { +var285 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_skipped].val; /* _count_type_test_skipped on */ +if (unlikely(var285 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_skipped"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 966); -show_backtrace(1); -} -var292 = var294; -RET_LABEL293:(void)0; +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1017); +fatal_exit(1); } +var283 = var285; +RET_LABEL284:(void)0; } -{ -var295 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var292, var_tag210); } { -var297 = ((struct instance_standard__Int*)var295)->value; /* autounbox from nullable Object to Int */; -var296 = nit___nit__AbstractCompiler___div(self, var297, var_count_type_test); -} -if (varonce298) { -var299 = varonce298; -} else { -var300 = "%)"; -var301 = 2; -var302 = standard___standard__NativeString___to_s_with_length(var300, var301); -var299 = var302; -varonce298 = var299; +var286 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var283, var_tag195); } -var303 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var303 = array_instance Array[Object] */ -var304 = 5; -var305 = NEW_standard__NativeArray(var304, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var305)->values[0] = (val*) var279; -((struct instance_standard__NativeArray*)var305)->values[1] = (val*) var286; -((struct instance_standard__NativeArray*)var305)->values[2] = (val*) var288; -((struct instance_standard__NativeArray*)var305)->values[3] = (val*) var296; -((struct instance_standard__NativeArray*)var305)->values[4] = (val*) var299; { -((void (*)(val* self, val* p0, long p1))(var303->class->vft[COLOR_standard__array__Array__with_native]))(var303, var305, var304) /* with_native on */; -} +var288 = (long)(var286)>>2; +var287 = counter___standard__Sys___div(var282, var288, var_count_type_test); } +((struct instance_standard__NativeArray*)var263)->values[3]=var287; { -var306 = ((val* (*)(val* self))(var303->class->vft[COLOR_standard__string__Object__to_s]))(var303) /* to_s on */; +var289 = ((val*(*)(val* self))(var263->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var263); /* native_to_s on */ } -var307 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var307 = array_instance Array[Object] */ -var308 = 1; -var309 = NEW_standard__NativeArray(var308, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var309)->values[0] = (val*) var306; +varonce262 = var263; +var290 = NEW_standard__Array(&type_standard__Array__standard__Object); +{ /* var290 = array_instance Array[Object] */ +var291 = NEW_standard__NativeArray(1l, &type_standard__NativeArray__standard__Object); +((struct instance_standard__NativeArray*)var291)->values[0] = (val*) var289; { -((void (*)(val* self, val* p0, long p1))(var307->class->vft[COLOR_standard__array__Array__with_native]))(var307, var309, var308) /* with_native on */; +((void(*)(val* self, val* p0, long p1))(var290->class->vft[COLOR_standard__array__Array__with_native]))(var290, var291, 1l); /* with_native on */ } } { -standard__file___Object___printn(self, var307); /* Direct call file#Object#printn on */ +standard__file___Sys___printn(var261, var290); /* Direct call file#Sys#printn on */ } -if (varonce310) { -var311 = varonce310; +var292 = glob_sys; +if (unlikely(varonce293==NULL)) { +var294 = NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String); +if (likely(varonce295!=NULL)) { +var296 = varonce295; } else { -var312 = "\11"; -var313 = 1; -var314 = standard___standard__NativeString___to_s_with_length(var312, var313); -var311 = var314; -varonce310 = var311; +var297 = "\t"; +var298 = standard___standard__NativeString___to_s_with_length(var297, 1l); +var296 = var298; +varonce295 = var296; } -{ -var315 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_count_type_test_total, var_tag210); +((struct instance_standard__NativeArray*)var294)->values[0]=var296; +if (likely(varonce299!=NULL)) { +var300 = varonce299; +} else { +var301 = " ("; +var302 = standard___standard__NativeString___to_s_with_length(var301, 2l); +var300 = var302; +varonce299 = var300; } -if (varonce316) { -var317 = varonce316; +((struct instance_standard__NativeArray*)var294)->values[2]=var300; +if (likely(varonce303!=NULL)) { +var304 = varonce303; } else { -var318 = " ("; -var319 = 2; -var320 = standard___standard__NativeString___to_s_with_length(var318, var319); -var317 = var320; -varonce316 = var317; +var305 = "%)"; +var306 = standard___standard__NativeString___to_s_with_length(var305, 2l); +var304 = var306; +varonce303 = var304; } -{ -var321 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_count_type_test_total, var_tag210); +((struct instance_standard__NativeArray*)var294)->values[4]=var304; +} else { +var294 = varonce293; +varonce293 = NULL; } { -var323 = ((struct instance_standard__Int*)var321)->value; /* autounbox from nullable Object to Int */; -var322 = nit___nit__AbstractCompiler___div(self, var323, var_count_type_test); -} -if (varonce324) { -var325 = varonce324; -} else { -var326 = "%)"; -var327 = 2; -var328 = standard___standard__NativeString___to_s_with_length(var326, var327); -var325 = var328; -varonce324 = var325; +var307 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_count_type_test_total, var_tag195); } -var329 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var329 = array_instance Array[Object] */ -var330 = 5; -var331 = NEW_standard__NativeArray(var330, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var331)->values[0] = (val*) var311; -((struct instance_standard__NativeArray*)var331)->values[1] = (val*) var315; -((struct instance_standard__NativeArray*)var331)->values[2] = (val*) var317; -((struct instance_standard__NativeArray*)var331)->values[3] = (val*) var322; -((struct instance_standard__NativeArray*)var331)->values[4] = (val*) var325; +var309 = (long)(var307)>>2; +var308 = standard__string___Int___Object__to_s(var309); +((struct instance_standard__NativeArray*)var294)->values[1]=var308; +var310 = glob_sys; { -((void (*)(val* self, val* p0, long p1))(var329->class->vft[COLOR_standard__array__Array__with_native]))(var329, var331, var330) /* with_native on */; +var311 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_count_type_test_total, var_tag195); } +{ +var313 = (long)(var311)>>2; +var312 = counter___standard__Sys___div(var310, var313, var_count_type_test); } +((struct instance_standard__NativeArray*)var294)->values[3]=var312; { -var332 = ((val* (*)(val* self))(var329->class->vft[COLOR_standard__string__Object__to_s]))(var329) /* to_s on */; +var314 = ((val*(*)(val* self))(var294->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var294); /* native_to_s on */ } -var333 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var333 = array_instance Array[Object] */ -var334 = 1; -var335 = NEW_standard__NativeArray(var334, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var335)->values[0] = (val*) var332; +varonce293 = var294; +var315 = NEW_standard__Array(&type_standard__Array__standard__Object); +{ /* var315 = array_instance Array[Object] */ +var316 = NEW_standard__NativeArray(1l, &type_standard__NativeArray__standard__Object); +((struct instance_standard__NativeArray*)var316)->values[0] = (val*) var314; { -((void (*)(val* self, val* p0, long p1))(var333->class->vft[COLOR_standard__array__Array__with_native]))(var333, var335, var334) /* with_native on */; +((void(*)(val* self, val* p0, long p1))(var315->class->vft[COLOR_standard__array__Array__with_native]))(var315, var316, 1l); /* with_native on */ } } { -standard__file___Object___printn(self, var333); /* Direct call file#Object#printn on */ +standard__file___Sys___printn(var292, var315); /* Direct call file#Sys#printn on */ } -if (varonce336) { -var337 = varonce336; +var317 = glob_sys; +if (likely(varonce318!=NULL)) { +var319 = varonce318; } else { -var338 = ""; -var339 = 0; -var340 = standard___standard__NativeString___to_s_with_length(var338, var339); -var337 = var340; -varonce336 = var337; +var320 = ""; +var321 = standard___standard__NativeString___to_s_with_length(var320, 0l); +var319 = var321; +varonce318 = var319; } { -standard__file___Object___print(self, var337); /* Direct call file#Object#print on */ +standard__file___Sys___print(var317, var319); /* Direct call file#Sys#print on */ } { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_207); /* Direct call array#ArrayIterator#next on */ +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_192); /* Direct call array#ArrayIterator#next on */ } } else { -goto BREAK_label341; +goto BREAK_label322; } } -BREAK_label341: (void)0; +BREAK_label322: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_207) on */ -RET_LABEL342:(void)0; -} +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_192); /* Direct call array#ArrayIterator#finish on */ } } else { } @@ -5499,147 +5034,11 @@ RET_LABEL:; /* method abstract_compiler#AbstractCompiler#finalize_ffi_for_module for (self: AbstractCompiler, MModule) */ void nit___nit__AbstractCompiler___finalize_ffi_for_module(val* self, val* p0) { val* var_mmodule /* var mmodule: MModule */; -val* var_c /* var c: AbstractCompiler */; var_mmodule = p0; { -{ /* Inline abstract_compiler#MModule#finalize_ffi (var_mmodule,self) on */ -var_c = self; -RET_LABEL1:(void)0; -} -} -RET_LABEL:; -} -/* method abstract_compiler#AbstractCompiler#div for (self: AbstractCompiler, Int, Int): String */ -val* nit___nit__AbstractCompiler___div(val* self, long p0, long p1) { -val* var /* : String */; -long var_a /* var a: Int */; -long var_b /* var b: Int */; -long var1 /* : Int */; -short int var2 /* : Bool */; -short int var4 /* : Bool */; -static val* varonce; -val* var5 /* : String */; -char* var6 /* : NativeString */; -long var7 /* : Int */; -val* var8 /* : FlatString */; -long var9 /* : Int */; -long var10 /* : Int */; -short int var12 /* : Bool */; -int cltype; -int idtype; -const char* var_class_name; -long var13 /* : Int */; -long var14 /* : Int */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; -const char* var_class_name19; -long var20 /* : Int */; -double var21 /* : Float */; -double var23 /* : Float */; -double var24 /* : Float */; -double var25 /* : Float */; -short int var27 /* : Bool */; -int cltype28; -int idtype29; -const char* var_class_name30; -double var31 /* : Float */; -long var32 /* : Int */; -val* var33 /* : String */; -var_a = p0; -var_b = p1; -var1 = 0; -{ -{ /* Inline kernel#Int#== (var_b,var1) on */ -var4 = var_b == var1; -var2 = var4; -goto RET_LABEL3; -RET_LABEL3:(void)0; -} -} -if (var2){ -if (varonce) { -var5 = varonce; -} else { -var6 = "n/a"; -var7 = 3; -var8 = standard___standard__NativeString___to_s_with_length(var6, var7); -var5 = var8; -varonce = var5; -} -var = var5; -goto RET_LABEL; -} else { -} -var9 = 10000; -{ -{ /* Inline kernel#Int#* (var_a,var9) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var12 = 1; /* easy isa OTHER*/ -if (unlikely(!var12)) { -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, 417); -show_backtrace(1); -} -var13 = var_a * var9; -var10 = var13; -goto RET_LABEL11; -RET_LABEL11:(void)0; -} -} -{ -{ /* Inline kernel#Int#/ (var10,var_b) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var16 = 1; /* easy isa OTHER*/ -if (unlikely(!var16)) { -var_class_name19 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name19); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 418); -show_backtrace(1); -} -var20 = var10 / var_b; -var14 = var20; -goto RET_LABEL15; -RET_LABEL15:(void)0; -} -} -{ -{ /* Inline kernel#Int#to_f (var14) on */ -var23 = (double)var14; -var21 = var23; -goto RET_LABEL22; -RET_LABEL22:(void)0; -} -} -var24 = 100.0; -{ -{ /* Inline kernel#Float#/ (var21,var24) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var27 = 1; /* easy isa OTHER*/ -if (unlikely(!var27)) { -var_class_name30 = type_standard__Float.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name30); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 330); -show_backtrace(1); -} -var31 = var21 / var24; -var25 = var31; -goto RET_LABEL26; -RET_LABEL26:(void)0; -} -} -var32 = 2; -{ -var33 = standard__string___Float___to_precision(var25, var32); +nit__light___MModule___finalize_ffi(var_mmodule, self); /* Direct call light#MModule#finalize_ffi on */ } -var = var33; -goto RET_LABEL; RET_LABEL:; -return var; } /* method abstract_compiler#CodeFile#name for (self: CodeFile): String */ val* nit___nit__CodeFile___name(val* self) { @@ -5648,8 +5047,8 @@ val* var1 /* : String */; var1 = self->attrs[COLOR_nit__abstract_compiler__CodeFile___name].val; /* _name on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1030); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1073); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -5667,8 +5066,8 @@ val* var1 /* : Array[CodeWriter] */; var1 = self->attrs[COLOR_nit__abstract_compiler__CodeFile___writers].val; /* _writers on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _writers"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1031); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1074); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -5681,8 +5080,8 @@ val* var1 /* : HashSet[String] */; var1 = self->attrs[COLOR_nit__abstract_compiler__CodeFile___required_declarations].val; /* _required_declarations on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _required_declarations"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1032); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1075); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -5691,7 +5090,7 @@ return var; /* method abstract_compiler#CodeFile#init for (self: CodeFile) */ void nit___nit__CodeFile___standard__kernel__Object__init(val* self) { { -((void (*)(val* self))(self->class->vft[COLOR_nit___nit__CodeFile___standard__kernel__Object__init]))(self) /* init on */; +((void(*)(val* self))(self->class->vft[COLOR_nit___nit__CodeFile___standard__kernel__Object__init]))(self); /* init on */ } RET_LABEL:; } @@ -5702,8 +5101,8 @@ val* var1 /* : CodeFile */; var1 = self->attrs[COLOR_nit__abstract_compiler__CodeWriter___file].val; /* _file on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _file"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1037); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1080); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -5721,8 +5120,8 @@ val* var1 /* : List[String] */; var1 = self->attrs[COLOR_nit__abstract_compiler__CodeWriter___lines].val; /* _lines on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lines"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1038); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1081); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -5735,8 +5134,8 @@ val* var1 /* : List[String] */; var1 = self->attrs[COLOR_nit__abstract_compiler__CodeWriter___decl_lines].val; /* _decl_lines on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _decl_lines"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1039); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1082); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -5753,8 +5152,8 @@ var_s = p0; var2 = self->attrs[COLOR_nit__abstract_compiler__CodeWriter___decl_lines].val; /* _decl_lines on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _decl_lines"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1039); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1082); +fatal_exit(1); } var = var2; RET_LABEL1:(void)0; @@ -5776,8 +5175,8 @@ val* var5 /* : Array[CodeWriter] */; var2 = self->attrs[COLOR_nit__abstract_compiler__CodeWriter___file].val; /* _file on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _file"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1037); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1080); +fatal_exit(1); } var = var2; RET_LABEL1:(void)0; @@ -5788,8 +5187,8 @@ RET_LABEL1:(void)0; var5 = var->attrs[COLOR_nit__abstract_compiler__CodeFile___writers].val; /* _writers on */ if (unlikely(var5 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _writers"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1031); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1074); +fatal_exit(1); } var3 = var5; RET_LABEL4:(void)0; @@ -5807,8 +5206,8 @@ val* var1 /* : AbstractCompiler */; var1 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1059); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1102); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -5834,8 +5233,8 @@ var = p0->type->type_table[cltype] == idtype; if (unlikely(!var)) { var_class_name = p0 == NULL ? "null" : p0->type->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "COMPILER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1059); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1102); +fatal_exit(1); } self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val = p0; /* _compiler on */ RET_LABEL:; @@ -5881,8 +5280,8 @@ val* var7 /* : MClassType */; var3 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1059); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1102); +fatal_exit(1); } var1 = var3; RET_LABEL2:(void)0; @@ -5893,8 +5292,8 @@ RET_LABEL2:(void)0; var6 = var1->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on */ if (unlikely(var6 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 474); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 515); +fatal_exit(1); } var4 = var6; RET_LABEL5:(void)0; @@ -5921,8 +5320,8 @@ val* var7 /* : MClassType */; var3 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1059); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1102); +fatal_exit(1); } var1 = var3; RET_LABEL2:(void)0; @@ -5933,8 +5332,8 @@ RET_LABEL2:(void)0; var6 = var1->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on */ if (unlikely(var6 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 474); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 515); +fatal_exit(1); } var4 = var6; RET_LABEL5:(void)0; @@ -5955,8 +5354,8 @@ val* var1 /* : CodeWriter */; var1 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___writer].val; /* _writer on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _writer"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1074); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1117); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -5981,8 +5380,8 @@ var = NEW_nit__CodeWriter(&type_nit__CodeWriter); var3 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1059); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1102); +fatal_exit(1); } var1 = var3; RET_LABEL2:(void)0; @@ -5993,8 +5392,8 @@ RET_LABEL2:(void)0; var6 = var1->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___files].val; /* _files on */ if (unlikely(var6 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 516); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 562); +fatal_exit(1); } var4 = var6; RET_LABEL5:(void)0; @@ -6004,10 +5403,10 @@ RET_LABEL5:(void)0; var7 = standard___standard__List___standard__abstract_collection__SequenceRead__last(var4); } { -((void (*)(val* self, val* p0))(var->class->vft[COLOR_nit__abstract_compiler__CodeWriter__file_61d]))(var, var7) /* file= on */; +((void(*)(val* self, val* p0))(var->class->vft[COLOR_nit__abstract_compiler__CodeWriter__file_61d]))(var, var7); /* file= on */ } { -((void (*)(val* self))(var->class->vft[COLOR_standard__kernel__Object__init]))(var) /* init on */; +((void(*)(val* self))(var->class->vft[COLOR_standard__kernel__Object__init]))(var); /* init on */ } { { /* Inline abstract_compiler#AbstractCompilerVisitor#writer= (self,var) on */ @@ -6017,48 +5416,6 @@ RET_LABEL8:(void)0; } RET_LABEL:; } -/* method abstract_compiler#AbstractCompilerVisitor#get_class for (self: AbstractCompilerVisitor, String): MClass */ -val* nit___nit__AbstractCompilerVisitor___get_class(val* self, val* p0) { -val* var /* : MClass */; -val* var_name /* var name: String */; -val* var1 /* : AbstractCompiler */; -val* var3 /* : AbstractCompiler */; -val* var4 /* : MModule */; -val* var6 /* : MModule */; -val* var7 /* : MClass */; -var_name = p0; -{ -{ /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on */ -var3 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ -if (unlikely(var3 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1059); -show_backtrace(1); -} -var1 = var3; -RET_LABEL2:(void)0; -} -} -{ -{ /* Inline abstract_compiler#AbstractCompiler#mainmodule (var1) on */ -var6 = var1->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on */ -if (unlikely(var6 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 474); -show_backtrace(1); -} -var4 = var6; -RET_LABEL5:(void)0; -} -} -{ -var7 = nit__model___MModule___get_primitive_class(var4, var_name); -} -var = var7; -goto RET_LABEL; -RET_LABEL:; -return var; -} /* method abstract_compiler#AbstractCompilerVisitor#get_property for (self: AbstractCompilerVisitor, String, MType): MMethod */ val* nit___nit__AbstractCompilerVisitor___get_property(val* self, val* p0, val* p1) { val* var /* : MMethod */; @@ -6092,16 +5449,16 @@ var1 = var_recv->type->type_table[cltype] == idtype; } if (unlikely(!var1)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1087); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1127); +fatal_exit(1); } { { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on */ var4 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ if (unlikely(var4 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1059); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1102); +fatal_exit(1); } var2 = var4; RET_LABEL3:(void)0; @@ -6112,8 +5469,8 @@ RET_LABEL3:(void)0; var7 = var2->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on */ if (unlikely(var7 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 481); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 522); +fatal_exit(1); } var5 = var7; RET_LABEL6:(void)0; @@ -6131,8 +5488,8 @@ RET_LABEL9:(void)0; var13 = var_recv->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ if (unlikely(var13 == 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); } var11 = var13; RET_LABEL12:(void)0; @@ -6143,8 +5500,8 @@ RET_LABEL12:(void)0; var16 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ if (unlikely(var16 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1059); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1102); +fatal_exit(1); } var14 = var16; RET_LABEL15:(void)0; @@ -6155,8 +5512,8 @@ RET_LABEL15:(void)0; var19 = var14->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on */ if (unlikely(var19 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 474); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 515); +fatal_exit(1); } var17 = var19; RET_LABEL18:(void)0; @@ -6184,66 +5541,61 @@ short int var7 /* : Bool */; short int var8 /* : Bool */; val* var9 /* : nullable Object */; val* var_recv /* var recv: RuntimeVariable */; -long var10 /* : Int */; long var_i /* var i: Int */; val* var_ /* var : Array[MProperty] */; -val* var11 /* : ArrayIterator[nullable Object] */; -val* var_12 /* var : ArrayIterator[MProperty] */; -short int var13 /* : Bool */; -val* var14 /* : nullable Object */; +val* var10 /* : ArrayIterator[nullable Object] */; +val* var_11 /* var : ArrayIterator[MProperty] */; +short int var12 /* : Bool */; +val* var13 /* : nullable Object */; val* var_p /* var p: MProperty */; -short int var15 /* : Bool */; +short int var14 /* : Bool */; int cltype; int idtype; -val* var16 /* : Array[RuntimeVariable] */; -long var17 /* : Int */; -val* var_18 /* var : Array[RuntimeVariable] */; +val* var15 /* : Array[RuntimeVariable] */; +val* var_16 /* var : Array[RuntimeVariable] */; val* var_args /* var args: Array[RuntimeVariable] */; +val* var17 /* : MPropDef */; val* var19 /* : MPropDef */; -val* var21 /* : MPropDef */; +val* var20 /* : nullable MSignature */; val* var22 /* : nullable MSignature */; -val* var24 /* : nullable MSignature */; +val* var23 /* : Array[MParameter] */; val* var25 /* : Array[MParameter] */; -val* var27 /* : Array[MParameter] */; -val* var_28 /* var : Array[MParameter] */; -val* var29 /* : ArrayIterator[nullable Object] */; -val* var_30 /* var : ArrayIterator[MParameter] */; -short int var31 /* : Bool */; -val* var32 /* : nullable Object */; +val* var_26 /* var : Array[MParameter] */; +val* var27 /* : ArrayIterator[nullable Object] */; +val* var_28 /* var : ArrayIterator[MParameter] */; +short int var29 /* : Bool */; +val* var30 /* : nullable Object */; val* var_x /* var x: MParameter */; -val* var33 /* : nullable Object */; -long var34 /* : Int */; -long var35 /* : Int */; -short int var37 /* : Bool */; -int cltype38; -int idtype39; +val* var31 /* : nullable Object */; +long var32 /* : Int */; +short int var34 /* : Bool */; +int cltype35; +int idtype36; const char* var_class_name; -long var40 /* : Int */; -val* var42 /* : nullable RuntimeVariable */; -short int var43 /* : Bool */; -int cltype44; -int idtype45; -val* var46 /* : nullable Object */; -long var47 /* : Int */; -long var48 /* : Int */; -short int var50 /* : Bool */; -int cltype51; -int idtype52; -const char* var_class_name53; -long var54 /* : Int */; -long var57 /* : Int */; -long var59 /* : Int */; -short int var60 /* : Bool */; -short int var62 /* : Bool */; +long var37 /* : Int */; +val* var38 /* : nullable RuntimeVariable */; +short int var39 /* : Bool */; +int cltype40; +int idtype41; +val* var42 /* : nullable Object */; +long var43 /* : Int */; +short int var45 /* : Bool */; +int cltype46; +int idtype47; +const char* var_class_name48; +long var49 /* : Int */; +long var51 /* : Int */; +long var53 /* : Int */; +short int var54 /* : Bool */; +short int var56 /* : Bool */; +val* var57 /* : MMethod */; +val* var59 /* : MMethod */; +val* var60 /* : Array[RuntimeVariable] */; +val* var_61 /* var : Array[RuntimeVariable] */; +val* var62 /* : nullable RuntimeVariable */; val* var63 /* : MMethod */; val* var65 /* : MMethod */; -val* var66 /* : Array[RuntimeVariable] */; -long var67 /* : Int */; -val* var_68 /* var : Array[RuntimeVariable] */; -val* var69 /* : nullable RuntimeVariable */; -val* var70 /* : MMethod */; -val* var72 /* : MMethod */; -val* var73 /* : nullable RuntimeVariable */; +val* var66 /* : nullable RuntimeVariable */; var_callsite = p0; var_arguments = p1; { @@ -6251,8 +5603,8 @@ var_arguments = p1; var3 = var_callsite->attrs[COLOR_nit__typing__CallSite___mpropdef].val; /* _mpropdef on */ if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing, 490); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing, 627); +fatal_exit(1); } var1 = var3; RET_LABEL2:(void)0; @@ -6263,8 +5615,8 @@ RET_LABEL2:(void)0; var6 = var1->attrs[COLOR_nit__model__MMethodDef___initializers].val; /* _initializers on */ if (unlikely(var6 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2146); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2345); +fatal_exit(1); } var4 = var6; RET_LABEL5:(void)0; @@ -6280,122 +5632,119 @@ if (var8){ var9 = standard___standard__SequenceRead___Collection__first(var_arguments); } var_recv = var9; -var10 = 1; -var_i = var10; +var_i = 1l; var_ = var_initializers; { -var11 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_); +var10 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_); } -var_12 = var11; +var_11 = var10; for(;;) { { -var13 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_12); +var12 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_11); } -if (var13){ +if (var12){ { -var14 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_12); +var13 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_11); } -var_p = var14; +var_p = var13; /* isa MMethod */ cltype = type_nit__MMethod.color; idtype = type_nit__MMethod.id; if(cltype >= var_p->type->table_size) { -var15 = 0; +var14 = 0; } else { -var15 = var_p->type->type_table[cltype] == idtype; +var14 = var_p->type->type_table[cltype] == idtype; } -if (var15){ -var16 = NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable); -var17 = 1; +if (var14){ +var15 = NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable); { -standard___standard__Array___with_capacity(var16, var17); /* Direct call array#Array#with_capacity on */ +standard___standard__Array___with_capacity(var15, 1l); /* Direct call array#Array#with_capacity on */ } -var_18 = var16; +var_16 = var15; { -standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_18, var_recv); /* Direct call array#AbstractArray#push on */ +standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_16, var_recv); /* Direct call array#AbstractArray#push on */ } -var_args = var_18; +var_args = var_16; { { /* Inline model#MProperty#intro (var_p) on */ -var21 = var_p->attrs[COLOR_nit__model__MProperty___intro].val; /* _intro on */ -if (unlikely(var21 == NULL)) { +var19 = var_p->attrs[COLOR_nit__model__MProperty___intro].val; /* _intro on */ +if (unlikely(var19 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1773); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1968); +fatal_exit(1); } -var19 = var21; -RET_LABEL20:(void)0; +var17 = var19; +RET_LABEL18:(void)0; } } { -{ /* Inline model#MMethodDef#msignature (var19) on */ -var24 = var19->attrs[COLOR_nit__model__MMethodDef___msignature].val; /* _msignature on */ -var22 = var24; -RET_LABEL23:(void)0; +{ /* Inline model#MMethodDef#msignature (var17) on */ +var22 = var17->attrs[COLOR_nit__model__MMethodDef___msignature].val; /* _msignature on */ +var20 = var22; +RET_LABEL21:(void)0; } } -if (var22 == NULL) { +if (var20 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1101); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1141); +fatal_exit(1); } else { -{ /* Inline model#MSignature#mparameters (var22) on */ -if (unlikely(var22 == NULL)) { +{ /* Inline model#MSignature#mparameters (var20) on */ +if (unlikely(var20 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1592); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1756); +fatal_exit(1); } -var27 = var22->attrs[COLOR_nit__model__MSignature___mparameters].val; /* _mparameters on */ -if (unlikely(var27 == NULL)) { +var25 = var20->attrs[COLOR_nit__model__MSignature___mparameters].val; /* _mparameters on */ +if (unlikely(var25 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1592); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1756); +fatal_exit(1); } -var25 = var27; -RET_LABEL26:(void)0; +var23 = var25; +RET_LABEL24:(void)0; } } -var_28 = var25; +var_26 = var23; { -var29 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_28); +var27 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_26); } -var_30 = var29; +var_28 = var27; for(;;) { { -var31 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_30); +var29 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_28); } -if (var31){ +if (var29){ { -var32 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_30); +var30 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_28); } -var_x = var32; +var_x = var30; { -var33 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_arguments, var_i); +var31 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_arguments, var_i); } { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_args, var33); /* Direct call array#Array#add on */ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_args, var31); /* Direct call array#Array#add on */ } -var34 = 1; { -{ /* Inline kernel#Int#+ (var_i,var34) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var37 = 1; /* easy isa OTHER*/ -if (unlikely(!var37)) { +{ /* Inline kernel#Int#+ (var_i,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var34 = 1; /* easy <1l:Int> 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, 413); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var40 = var_i + var34; -var35 = var40; -goto RET_LABEL36; -RET_LABEL36:(void)0; +var37 = var_i + 1l; +var32 = var37; +goto RET_LABEL33; +RET_LABEL33:(void)0; } } -var_i = var35; +var_i = var32; { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_30); /* Direct call array#ArrayIterator#next on */ +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_28); /* Direct call array#ArrayIterator#next on */ } } else { goto BREAK_label; @@ -6403,139 +5752,143 @@ goto BREAK_label; } BREAK_label: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_30) on */ -RET_LABEL41:(void)0; -} +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_28); /* Direct call array#ArrayIterator#finish on */ } { -var42 = nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__send(self, var_p, var_args); +var38 = nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__send(self, var_p, var_args); } } else { /* isa MAttribute */ -cltype44 = type_nit__MAttribute.color; -idtype45 = type_nit__MAttribute.id; -if(cltype44 >= var_p->type->table_size) { -var43 = 0; +cltype40 = type_nit__MAttribute.color; +idtype41 = type_nit__MAttribute.id; +if(cltype40 >= var_p->type->table_size) { +var39 = 0; } else { -var43 = var_p->type->type_table[cltype44] == idtype45; +var39 = var_p->type->type_table[cltype40] == idtype41; } -if (var43){ +if (var39){ { -var46 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_arguments, var_i); +var42 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_arguments, var_i); } { -nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__write_attribute(self, var_p, var_recv, var46); /* Direct call separate_compiler#SeparateCompilerVisitor#write_attribute on */ +nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__write_attribute(self, var_p, var_recv, var42); /* Direct call separate_compiler#SeparateCompilerVisitor#write_attribute on */ } -var47 = 1; { -{ /* Inline kernel#Int#+ (var_i,var47) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var50 = 1; /* easy isa OTHER*/ -if (unlikely(!var50)) { -var_class_name53 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name53); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +{ /* Inline kernel#Int#+ (var_i,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var45 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var45)) { +var_class_name48 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name48); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var54 = var_i + var47; -var48 = var54; -goto RET_LABEL49; -RET_LABEL49:(void)0; +var49 = var_i + 1l; +var43 = var49; +goto RET_LABEL44; +RET_LABEL44:(void)0; } } -var_i = var48; +var_i = var43; } else { PRINT_ERROR("Runtime error: %s", "Aborted"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1109); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1149); +fatal_exit(1); } } { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_12); /* Direct call array#ArrayIterator#next on */ +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_11); /* Direct call array#ArrayIterator#next on */ } } else { -goto BREAK_label55; +goto BREAK_label50; } } -BREAK_label55: (void)0; +BREAK_label50: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_12) on */ -RET_LABEL56:(void)0; -} +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_11); /* Direct call array#ArrayIterator#finish on */ } { { /* Inline array#AbstractArrayRead#length (var_arguments) on */ -var59 = var_arguments->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ -var57 = var59; -RET_LABEL58:(void)0; +var53 = var_arguments->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ +var51 = var53; +RET_LABEL52:(void)0; } } { -{ /* Inline kernel#Int#== (var_i,var57) on */ -var62 = var_i == var57; -var60 = var62; -goto RET_LABEL61; -RET_LABEL61:(void)0; +{ /* Inline kernel#Int#== (var_i,var51) on */ +var56 = var_i == var51; +var54 = var56; +goto RET_LABEL55; +RET_LABEL55:(void)0; } } -if (unlikely(!var60)) { +if (unlikely(!var54)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1111); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1151); +fatal_exit(1); } { { /* Inline typing#CallSite#mproperty (var_callsite) on */ -var65 = var_callsite->attrs[COLOR_nit__typing__CallSite___mproperty].val; /* _mproperty on */ -if (unlikely(var65 == NULL)) { +var59 = var_callsite->attrs[COLOR_nit__typing__CallSite___mproperty].val; /* _mproperty on */ +if (unlikely(var59 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing, 487); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing, 624); +fatal_exit(1); } -var63 = var65; -RET_LABEL64:(void)0; +var57 = var59; +RET_LABEL58:(void)0; } } -var66 = NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable); -var67 = 1; +var60 = NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable); { -standard___standard__Array___with_capacity(var66, var67); /* Direct call array#Array#with_capacity on */ +standard___standard__Array___with_capacity(var60, 1l); /* Direct call array#Array#with_capacity on */ } -var_68 = var66; +var_61 = var60; { -standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_68, var_recv); /* Direct call array#AbstractArray#push on */ +standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_61, var_recv); /* Direct call array#AbstractArray#push on */ } { -var69 = nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__send(self, var63, var_68); +var62 = nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__send(self, var57, var_61); } -var = var69; +var = var62; goto RET_LABEL; } else { } { { /* Inline typing#CallSite#mproperty (var_callsite) on */ -var72 = var_callsite->attrs[COLOR_nit__typing__CallSite___mproperty].val; /* _mproperty on */ -if (unlikely(var72 == NULL)) { +var65 = var_callsite->attrs[COLOR_nit__typing__CallSite___mproperty].val; /* _mproperty on */ +if (unlikely(var65 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing, 487); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing, 624); +fatal_exit(1); } -var70 = var72; -RET_LABEL71:(void)0; +var63 = var65; +RET_LABEL64:(void)0; } } { -var73 = nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__send(self, var70, var_arguments); +var66 = nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__send(self, var63, var_arguments); } -var = var73; +var = var66; goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_compiler#AbstractCompilerVisitor#varargize for (self: AbstractCompilerVisitor, MMethodDef, RuntimeVariable, SequenceRead[AExpr]): Array[RuntimeVariable] */ -val* nit___nit__AbstractCompilerVisitor___varargize(val* self, val* p0, val* p1, val* p2) { +/* method abstract_compiler#AbstractCompilerVisitor#calloc_array for (self: AbstractCompilerVisitor, MType, Array[RuntimeVariable]) */ +void nit___nit__AbstractCompilerVisitor___calloc_array(val* self, val* p0, val* p1) { +const char* var_class_name; +var_class_name = self == NULL ? "null" : self->type->name; +PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "calloc_array", var_class_name); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1161); +fatal_exit(1); +RET_LABEL:; +} +/* method abstract_compiler#AbstractCompilerVisitor#varargize for (self: AbstractCompilerVisitor, MMethodDef, nullable SignatureMap, RuntimeVariable, SequenceRead[AExpr]): Array[RuntimeVariable] */ +val* nit___nit__AbstractCompilerVisitor___varargize(val* self, val* p0, val* p1, val* p2, val* p3) { val* var /* : Array[RuntimeVariable] */; val* var_mpropdef /* var mpropdef: MMethodDef */; +val* var_map /* var map: nullable SignatureMap */; val* var_recv /* var recv: RuntimeVariable */; val* var_args /* var args: SequenceRead[AExpr] */; val* var1 /* : MSignature */; @@ -6546,101 +5899,86 @@ val* var7 /* : nullable MSignature */; val* var_msignature /* var msignature: MSignature */; val* var8 /* : Array[RuntimeVariable] */; val* var_res /* var res: Array[RuntimeVariable] */; -short int var9 /* : Bool */; -long var10 /* : Int */; -long var12 /* : Int */; -long var_vararg_rank /* var vararg_rank: Int */; -long var13 /* : Int */; -long var14 /* : Int */; -long var15 /* : Int */; -short int var17 /* : Bool */; -int cltype; -int idtype; -const char* var_class_name; -long var18 /* : Int */; -long var_vararg_len /* var vararg_len: Int */; +long var9 /* : Int */; +short int var10 /* : Bool */; +short int var12 /* : Bool */; +short int var13 /* : Bool */; +short int var14 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var16 /* : Bool */; +short int var18 /* : Bool */; long var19 /* : Int */; -short int var20 /* : Bool */; -short int var22 /* : Bool */; -int cltype23; -int idtype24; -const char* var_class_name25; +long var20 /* : Int */; +short int var21 /* : Bool */; +short int var23 /* : Bool */; +val* var_ /* var : SequenceRead[AExpr] */; +val* var24 /* : Iterator[nullable Object] */; +val* var_25 /* var : IndexedIterator[AExpr] */; short int var26 /* : Bool */; -long var27 /* : Int */; -long var28 /* : Int */; -long var_i /* var i: Int */; -long var29 /* : Int */; -long var_ /* var : Int */; -short int var30 /* : Bool */; -short int var32 /* : Bool */; -int cltype33; -int idtype34; -const char* var_class_name35; -short int var36 /* : Bool */; -short int var37 /* : Bool */; -short int var39 /* : Bool */; -val* var40 /* : nullable Object */; +val* var27 /* : nullable Object */; val* var_ne /* var ne: AExpr */; +val* var28 /* : RuntimeVariable */; +val* var29 /* : Array[RuntimeVariable] */; +long var30 /* : Int */; +val* var_exprs /* var exprs: Array[RuntimeVariable] */; +val* var_31 /* var : SequenceRead[AExpr] */; +val* var32 /* : Iterator[nullable Object] */; +val* var_33 /* var : IndexedIterator[AExpr] */; +short int var34 /* : Bool */; +val* var35 /* : nullable Object */; +val* var_ne36 /* var ne: AExpr */; +val* var37 /* : RuntimeVariable */; +long var_i /* var i: Int */; +long var39 /* : Int */; +long var_40 /* var : Int */; short int var41 /* : Bool */; -int cltype42; -int idtype43; -val* var44 /* : AExpr */; -val* var46 /* : AExpr */; -val* var47 /* : null */; -val* var48 /* : RuntimeVariable */; -val* var_e /* var e: RuntimeVariable */; -val* var49 /* : Array[RuntimeVariable] */; -val* var_vararg /* var vararg: Array[RuntimeVariable] */; -long var_j /* var j: Int */; -long var50 /* : Int */; -short int var52 /* : Bool */; -int cltype53; -int idtype54; -const char* var_class_name55; -long var56 /* : Int */; -long var_57 /* var : Int */; -short int var58 /* : Bool */; +short int var43 /* : Bool */; +int cltype; +int idtype; +const char* var_class_name; +short int var44 /* : Bool */; +val* var45 /* : Array[MParameter] */; +val* var47 /* : Array[MParameter] */; +val* var48 /* : nullable Object */; +val* var_param /* var param: MParameter */; +val* var49 /* : ArrayMap[Int, Int] */; +val* var51 /* : ArrayMap[Int, Int] */; +val* var52 /* : nullable Object */; +val* var53 /* : nullable Object */; +val* var_j /* var j: nullable Int */; +short int var54 /* : Bool */; +short int var55 /* : Bool */; +short int var57 /* : Bool */; +val* var58 /* : RuntimeVariable */; short int var60 /* : Bool */; -int cltype61; -int idtype62; -const char* var_class_name63; -short int var64 /* : Bool */; -val* var65 /* : nullable Object */; -val* var66 /* : null */; -val* var67 /* : RuntimeVariable */; -val* var_e68 /* var e: RuntimeVariable */; -long var69 /* : Int */; -long var70 /* : Int */; -val* var72 /* : Array[MParameter] */; -val* var74 /* : Array[MParameter] */; -val* var75 /* : nullable Object */; -val* var76 /* : MType */; -val* var78 /* : MType */; +short int var61 /* : Bool */; +short int var63 /* : Bool */; +short int var_64 /* var : Bool */; +long var65 /* : Int */; +long var67 /* : Int */; +short int var68 /* : Bool */; +short int var70 /* : Bool */; +int cltype71; +int idtype72; +const char* var_class_name73; +short int var74 /* : Bool */; +long var75 /* : Int */; +long var77 /* : Int */; +val* var78 /* : Array[nullable Object] */; +long var79 /* : Int */; +val* var_vararg /* var vararg: Array[RuntimeVariable] */; +val* var80 /* : MType */; +val* var82 /* : MType */; val* var_elttype /* var elttype: MType */; -val* var79 /* : RuntimeVariable */; +val* var83 /* : RuntimeVariable */; val* var_arg /* var arg: RuntimeVariable */; -long var_j80 /* var j: Int */; -short int var81 /* : Bool */; -short int var83 /* : Bool */; -int cltype84; -int idtype85; -const char* var_class_name86; -short int var87 /* : Bool */; -long var88 /* : Int */; -short int var90 /* : Bool */; -int cltype91; -int idtype92; -const char* var_class_name93; -long var94 /* : Int */; -val* var95 /* : nullable Object */; -val* var96 /* : null */; -val* var97 /* : RuntimeVariable */; -val* var_e98 /* var e: RuntimeVariable */; -long var99 /* : Int */; -long var100 /* : Int */; +val* var84 /* : nullable Object */; +long var85 /* : Int */; +long var86 /* : Int */; var_mpropdef = p0; -var_recv = p1; -var_args = p2; +var_map = p1; +var_recv = p2; +var_args = p3; { { /* Inline model#MMethodDef#new_msignature (var_mpropdef) on */ var4 = var_mpropdef->attrs[COLOR_nit__model__MMethodDef___new_msignature].val; /* _new_msignature on */ @@ -6660,8 +5998,8 @@ RET_LABEL6:(void)0; } if (unlikely(var5 == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1130); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1178); +fatal_exit(1); } var1 = var5; } @@ -6675,300 +6013,308 @@ var_res = var8; standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_res, var_recv); /* Direct call array#Array#add on */ } { -var9 = ((short int (*)(val* self))(var_args->class->vft[COLOR_standard__abstract_collection__Collection__is_empty]))(var_args) /* is_empty on */; -} -if (var9){ -var = var_res; -goto RET_LABEL; -} else { +var9 = nit___nit__MSignature___arity(var_msignature); } { -{ /* Inline model#MSignature#vararg_rank (var_msignature) on */ -var12 = var_msignature->attrs[COLOR_nit__model__MSignature___vararg_rank].l; /* _vararg_rank on */ +{ /* Inline kernel#Int#== (var9,0l) on */ +var12 = var9 == 0l; var10 = var12; +goto RET_LABEL11; RET_LABEL11:(void)0; } } -var_vararg_rank = var10; -{ -var13 = ((long (*)(val* self))(var_args->class->vft[COLOR_standard__abstract_collection__Collection__length]))(var_args) /* length on */; +if (var10){ +var = var_res; +goto RET_LABEL; +} else { } -{ -var14 = nit___nit__MSignature___arity(var_msignature); +if (var_map == NULL) { +var13 = 1; /* is null */ +} else { +var13 = 0; /* arg is null but recv is not */ } +if (0) { +{ /* Inline kernel#Object#== (var_map,((val*)NULL)) on */ +var_other = ((val*)NULL); { -{ /* Inline kernel#Int#- (var13,var14) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var17 = 1; /* easy isa OTHER*/ -if (unlikely(!var17)) { -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, 416); -show_backtrace(1); +{ /* Inline kernel#Object#is_same_instance (var_map,var_other) on */ +var18 = var_map == var_other; +var16 = var18; +goto RET_LABEL17; +RET_LABEL17:(void)0; } -var18 = var13 - var14; -var15 = var18; -goto RET_LABEL16; -RET_LABEL16:(void)0; } +var14 = var16; +goto RET_LABEL15; +RET_LABEL15:(void)0; +} +var13 = var14; } -var_vararg_len = var15; -var19 = 0; +if (var13){ { -{ /* Inline kernel#Int#< (var_vararg_len,var19) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var22 = 1; /* easy isa OTHER*/ -if (unlikely(!var22)) { -var_class_name25 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name25); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410); -show_backtrace(1); +var19 = ((long(*)(val* self))((((long)var_args&3)?class_info[((long)var_args&3)]:var_args->class)->vft[COLOR_standard__abstract_collection__Collection__length]))(var_args); /* length on */ } -var26 = var_vararg_len < var19; -var20 = var26; -goto RET_LABEL21; -RET_LABEL21:(void)0; +{ +var20 = nit___nit__MSignature___arity(var_msignature); } +{ +{ /* Inline kernel#Int#== (var19,var20) on */ +var23 = var19 == var20; +var21 = var23; +goto RET_LABEL22; +RET_LABEL22:(void)0; } -if (var20){ -var27 = 0; -var_vararg_len = var27; -} else { } -var28 = 0; -var_i = var28; +if (unlikely(!var21)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1185); +fatal_exit(1); +} +var_ = var_args; { -var29 = nit___nit__MSignature___arity(var_msignature); +var24 = ((val*(*)(val* self))((((long)var_&3)?class_info[((long)var_&3)]:var_->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_); /* iterator on */ } -var_ = var29; +var_25 = var24; for(;;) { { -{ /* Inline kernel#Int#< (var_i,var_) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var32 = 1; /* easy isa OTHER*/ -if (unlikely(!var32)) { -var_class_name35 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name35); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410); -show_backtrace(1); -} -var36 = var_i < var_; -var30 = var36; -goto RET_LABEL31; -RET_LABEL31:(void)0; +var26 = ((short int(*)(val* self))((((long)var_25&3)?class_info[((long)var_25&3)]:var_25->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_25); /* is_ok on */ } +if (var26){ +{ +var27 = ((val*(*)(val* self))((((long)var_25&3)?class_info[((long)var_25&3)]:var_25->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_25); /* item on */ } -if (var30){ +var_ne = var27; { -{ /* Inline kernel#Int#== (var_i,var_vararg_rank) on */ -var39 = var_i == var_vararg_rank; -var37 = var39; -goto RET_LABEL38; -RET_LABEL38:(void)0; +var28 = nit___nit__AbstractCompilerVisitor___expr(self, var_ne, ((val*)NULL)); } +{ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_res, var28); /* Direct call array#Array#add on */ } -if (var37){ { -var40 = ((val* (*)(val* self, long p0))(var_args->class->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var_args, var_i) /* [] on */; +((void(*)(val* self))((((long)var_25&3)?class_info[((long)var_25&3)]:var_25->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_25); /* next on */ } -var_ne = var40; -/* isa AVarargExpr */ -cltype42 = type_nit__AVarargExpr.color; -idtype43 = type_nit__AVarargExpr.id; -if(cltype42 >= var_ne->type->table_size) { -var41 = 0; } else { -var41 = var_ne->type->type_table[cltype42] == idtype43; +goto BREAK_label; } -if (var41){ -{ -{ /* Inline parser_nodes#AVarargExpr#n_expr (var_ne) on */ -var46 = var_ne->attrs[COLOR_nit__parser_nodes__AVarargExpr___n_expr].val; /* _n_expr on */ -if (unlikely(var46 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2343); -show_backtrace(1); } -var44 = var46; -RET_LABEL45:(void)0; +BREAK_label: (void)0; +{ +((void(*)(val* self))((((long)var_25&3)?class_info[((long)var_25&3)]:var_25->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_25); /* finish on */ } +var = var_res; +goto RET_LABEL; +} else { } -var47 = NULL; +var29 = NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable); { -var48 = nit___nit__AbstractCompilerVisitor___expr(self, var44, var47); +var30 = ((long(*)(val* self))((((long)var_args&3)?class_info[((long)var_args&3)]:var_args->class)->vft[COLOR_standard__abstract_collection__Collection__length]))(var_args); /* length on */ } -var_e = var48; { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_res, var_e); /* Direct call array#Array#add on */ +standard___standard__Array___with_capacity(var29, var30); /* Direct call array#Array#with_capacity on */ } -goto BREAK_label; -} else { +var_exprs = var29; +var_31 = var_args; +{ +var32 = ((val*(*)(val* self))((((long)var_31&3)?class_info[((long)var_31&3)]:var_31->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_31); /* iterator on */ } -var49 = NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable); +var_33 = var32; +for(;;) { { -standard___standard__Array___standard__kernel__Object__init(var49); /* Direct call array#Array#init on */ +var34 = ((short int(*)(val* self))((((long)var_33&3)?class_info[((long)var_33&3)]:var_33->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_33); /* is_ok on */ } -var_vararg = var49; -var_j = var_vararg_rank; +if (var34){ { -{ /* Inline kernel#Int#+ (var_vararg_rank,var_vararg_len) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var52 = 1; /* easy isa OTHER*/ -if (unlikely(!var52)) { -var_class_name55 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name55); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +var35 = ((val*(*)(val* self))((((long)var_33&3)?class_info[((long)var_33&3)]:var_33->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_33); /* item on */ } -var56 = var_vararg_rank + var_vararg_len; -var50 = var56; -goto RET_LABEL51; -RET_LABEL51:(void)0; +var_ne36 = var35; +{ +var37 = nit___nit__AbstractCompilerVisitor___expr(self, var_ne36, ((val*)NULL)); } +{ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_exprs, var37); /* Direct call array#Array#add on */ } -var_57 = var50; -for(;;) { { -{ /* Inline kernel#Int#<= (var_j,var_57) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var60 = 1; /* easy isa OTHER*/ -if (unlikely(!var60)) { -var_class_name63 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name63); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 409); -show_backtrace(1); -} -var64 = var_j <= var_57; -var58 = var64; -goto RET_LABEL59; -RET_LABEL59:(void)0; +((void(*)(val* self))((((long)var_33&3)?class_info[((long)var_33&3)]:var_33->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_33); /* next on */ } +} else { +goto BREAK_label38; } -if (var58){ -{ -var65 = ((val* (*)(val* self, long p0))(var_args->class->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var_args, var_j) /* [] on */; } -var66 = NULL; +BREAK_label38: (void)0; { -var67 = nit___nit__AbstractCompilerVisitor___expr(self, var65, var66); +((void(*)(val* self))((((long)var_33&3)?class_info[((long)var_33&3)]:var_33->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_33); /* finish on */ } -var_e68 = var67; +var_i = 0l; { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_vararg, var_e68); /* Direct call array#Array#add on */ +var39 = nit___nit__MSignature___arity(var_msignature); } -var69 = 1; +var_40 = var39; +for(;;) { { -var70 = standard___standard__Int___Discrete__successor(var_j, var69); +{ /* Inline kernel#Int#< (var_i,var_40) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var43 = 1; /* easy isa OTHER*/ +if (unlikely(!var43)) { +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, 534); +fatal_exit(1); } -var_j = var70; -} else { -goto BREAK_label71; +var44 = var_i < var_40; +var41 = var44; +goto RET_LABEL42; +RET_LABEL42:(void)0; } } -BREAK_label71: (void)0; +if (var41){ { { /* Inline model#MSignature#mparameters (var_msignature) on */ -var74 = var_msignature->attrs[COLOR_nit__model__MSignature___mparameters].val; /* _mparameters on */ -if (unlikely(var74 == NULL)) { +var47 = var_msignature->attrs[COLOR_nit__model__MSignature___mparameters].val; /* _mparameters on */ +if (unlikely(var47 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1592); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1756); +fatal_exit(1); } -var72 = var74; -RET_LABEL73:(void)0; +var45 = var47; +RET_LABEL46:(void)0; } } { -var75 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var72, var_vararg_rank); +var48 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var45, var_i); } +var_param = var48; { -{ /* Inline model#MParameter#mtype (var75) on */ -var78 = var75->attrs[COLOR_nit__model__MParameter___mtype].val; /* _mtype on */ -if (unlikely(var78 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1690); -show_backtrace(1); +{ /* Inline typing#SignatureMap#map (var_map) on */ +var51 = var_map->attrs[COLOR_nit__typing__SignatureMap___map].val; /* _map on */ +if (unlikely(var51 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing, 597); +fatal_exit(1); +} +var49 = var51; +RET_LABEL50:(void)0; } -var76 = var78; -RET_LABEL77:(void)0; } +{ +var53 = (val*)(var_i<<2|1); +var52 = standard___standard__MapRead___get_or_null(var49, var53); +} +var_j = var52; +if (var_j == NULL) { +var54 = 1; /* is null */ +} else { +var54 = 0; /* arg is null but recv is not */ +} +if (0) { +{ /* Inline kernel#Int#== (var_j,((val*)NULL)) on */ +var57 = 0; /* incompatible types Int vs. null; cannot be NULL */ +var55 = var57; +goto RET_LABEL56; +RET_LABEL56:(void)0; } -var_elttype = var76; +var54 = var55; +} +if (var54){ { -var79 = nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__vararg_instance(self, var_mpropdef, var_recv, var_vararg, var_elttype); +var58 = nit___nit__AbstractCompilerVisitor___null_instance(self); } -var_arg = var79; { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_res, var_arg); /* Direct call array#Array#add on */ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_res, var58); /* Direct call array#Array#add on */ } +goto BREAK_label59; } else { -var_j80 = var_i; +} { -{ /* Inline kernel#Int#> (var_i,var_vararg_rank) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var83 = 1; /* easy isa OTHER*/ -if (unlikely(!var83)) { -var_class_name86 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name86); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 412); -show_backtrace(1); +{ /* Inline model#MParameter#is_vararg (var_param) on */ +var63 = var_param->attrs[COLOR_nit__model__MParameter___is_vararg].s; /* _is_vararg on */ +var61 = var63; +RET_LABEL62:(void)0; +} } -var87 = var_i > var_vararg_rank; -var81 = var87; -goto RET_LABEL82; -RET_LABEL82:(void)0; +var_64 = var61; +if (var61){ +{ +{ /* Inline typing#SignatureMap#vararg_decl (var_map) on */ +var67 = var_map->attrs[COLOR_nit__typing__SignatureMap___vararg_decl].l; /* _vararg_decl on */ +var65 = var67; +RET_LABEL66:(void)0; } } -if (var81){ { -{ /* Inline kernel#Int#+ (var_j80,var_vararg_len) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var90 = 1; /* easy isa OTHER*/ -if (unlikely(!var90)) { -var_class_name93 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name93); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +{ /* Inline kernel#Int#> (var65,0l) on */ +/* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */ +/* <0l:Int> isa OTHER */ +var70 = 1; /* easy <0l:Int> isa OTHER*/ +if (unlikely(!var70)) { +var_class_name73 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name73); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 536); +fatal_exit(1); } -var94 = var_j80 + var_vararg_len; -var88 = var94; -goto RET_LABEL89; -RET_LABEL89:(void)0; +var74 = var65 > 0l; +var68 = var74; +goto RET_LABEL69; +RET_LABEL69:(void)0; } } -var_j80 = var88; +var60 = var68; } else { +var60 = var_64; } +if (var60){ { -var95 = ((val* (*)(val* self, long p0))(var_args->class->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var_args, var_j80) /* [] on */; +{ /* Inline typing#SignatureMap#vararg_decl (var_map) on */ +var77 = var_map->attrs[COLOR_nit__typing__SignatureMap___vararg_decl].l; /* _vararg_decl on */ +var75 = var77; +RET_LABEL76:(void)0; +} } -var96 = NULL; { -var97 = nit___nit__AbstractCompilerVisitor___expr(self, var95, var96); +var79 = (long)(var_j)>>2; +var78 = standard___standard__AbstractArrayRead___sub(var_exprs, var79, var75); } -var_e98 = var97; +var_vararg = var78; { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_res, var_e98); /* Direct call array#Array#add on */ +{ /* Inline model#MParameter#mtype (var_param) on */ +var82 = var_param->attrs[COLOR_nit__model__MParameter___mtype].val; /* _mtype on */ +if (unlikely(var82 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1879); +fatal_exit(1); } +var80 = var82; +RET_LABEL81:(void)0; } -BREAK_label: (void)0; -var99 = 1; +} +var_elttype = var80; { -var100 = standard___standard__Int___Discrete__successor(var_i, var99); +var83 = nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__vararg_instance(self, var_mpropdef, var_recv, var_vararg, var_elttype); } -var_i = var100; +var_arg = var83; +{ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_res, var_arg); /* Direct call array#Array#add on */ +} +goto BREAK_label59; +} else { +} +{ +var85 = (long)(var_j)>>2; +var84 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_exprs, var85); +} +{ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_res, var84); /* Direct call array#Array#add on */ +} +BREAK_label59: (void)0; +{ +var86 = standard___standard__Int___Discrete__successor(var_i, 1l); +} +var_i = var86; } else { -goto BREAK_label101; +goto BREAK_label87; } } -BREAK_label101: (void)0; +BREAK_label87: (void)0; var = var_res; goto RET_LABEL; RET_LABEL:; @@ -6991,7 +6337,7 @@ val* var14 /* : MClassType */; val* var15 /* : MType */; var_mtype = p0; { -var1 = ((short int (*)(val* self))(var_mtype->class->vft[COLOR_nit__model__MType__need_anchor]))(var_mtype) /* need_anchor on */; +var1 = ((short int(*)(val* self))(var_mtype->class->vft[COLOR_nit__model__MType__need_anchor]))(var_mtype); /* need_anchor on */ } var2 = !var1; if (var2){ @@ -7004,8 +6350,8 @@ goto RET_LABEL; var5 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ if (unlikely(var5 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1059); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1102); +fatal_exit(1); } var3 = var5; RET_LABEL4:(void)0; @@ -7016,8 +6362,8 @@ RET_LABEL4:(void)0; var8 = var3->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on */ if (unlikely(var8 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 474); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 515); +fatal_exit(1); } var6 = var8; RET_LABEL7:(void)0; @@ -7032,27 +6378,27 @@ RET_LABEL10:(void)0; } if (var9 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1172); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1225); +fatal_exit(1); } else { { /* Inline abstract_compiler#StaticFrame#receiver (var9) on */ if (unlikely(var9 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1728); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1832); +fatal_exit(1); } var14 = var9->attrs[COLOR_nit__abstract_compiler__StaticFrame___receiver].val; /* _receiver on */ if (unlikely(var14 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _receiver"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1728); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1832); +fatal_exit(1); } var12 = var14; RET_LABEL13:(void)0; } } { -var15 = ((val* (*)(val* self, val* p0, val* p1))(var_mtype->class->vft[COLOR_nit__model__MType__anchor_to]))(var_mtype, var6, var12) /* anchor_to on */; +var15 = ((val*(*)(val* self, val* p0, val* p1))(var_mtype->class->vft[COLOR_nit__model__MType__anchor_to]))(var_mtype, var6, var12); /* anchor_to on */ } var = var15; goto RET_LABEL; @@ -7076,12 +6422,11 @@ val* var12 /* : AbstractCompiler */; val* var14 /* : AbstractCompiler */; val* var15 /* : MModule */; val* var17 /* : MModule */; -short int var18 /* : Bool */; -val* var19 /* : MType */; +val* var18 /* : MType */; var_mtype = p0; var_recv = p1; { -var1 = ((short int (*)(val* self))(var_mtype->class->vft[COLOR_nit__model__MType__need_anchor]))(var_mtype) /* need_anchor on */; +var1 = ((short int(*)(val* self))(var_mtype->class->vft[COLOR_nit__model__MType__need_anchor]))(var_mtype); /* need_anchor on */ } var2 = !var1; if (var2){ @@ -7094,8 +6439,8 @@ goto RET_LABEL; var5 = var_recv->attrs[COLOR_nit__abstract_compiler__RuntimeVariable___mcasttype].val; /* _mcasttype on */ if (unlikely(var5 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1683); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1787); +fatal_exit(1); } var3 = var5; RET_LABEL4:(void)0; @@ -7110,20 +6455,20 @@ RET_LABEL7:(void)0; } if (var6 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1178); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1231); +fatal_exit(1); } else { { /* Inline abstract_compiler#StaticFrame#receiver (var6) on */ if (unlikely(var6 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1728); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1832); +fatal_exit(1); } var11 = var6->attrs[COLOR_nit__abstract_compiler__StaticFrame___receiver].val; /* _receiver on */ if (unlikely(var11 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _receiver"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1728); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1832); +fatal_exit(1); } var9 = var11; RET_LABEL10:(void)0; @@ -7134,8 +6479,8 @@ RET_LABEL10:(void)0; var14 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ if (unlikely(var14 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1059); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1102); +fatal_exit(1); } var12 = var14; RET_LABEL13:(void)0; @@ -7146,18 +6491,17 @@ RET_LABEL13:(void)0; var17 = var12->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on */ if (unlikely(var17 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 474); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 515); +fatal_exit(1); } var15 = var17; RET_LABEL16:(void)0; } } -var18 = 1; { -var19 = ((val* (*)(val* self, val* p0, val* p1, val* p2, short int p3))(var_mtype->class->vft[COLOR_nit__model__MType__resolve_for]))(var_mtype, var3, var9, var15, var18) /* resolve_for on */; +var18 = ((val*(*)(val* self, val* p0, val* p1, val* p2, short int p3))(var_mtype->class->vft[COLOR_nit__model__MType__resolve_for]))(var_mtype, var3, var9, var15, 1); /* resolve_for on */ } -var = var19; +var = var18; goto RET_LABEL; RET_LABEL:; return var; @@ -7175,31 +6519,29 @@ val* var5 /* : AbstractCompiler */; val* var7 /* : AbstractCompiler */; val* var8 /* : MModule */; val* var10 /* : MModule */; -val* var11 /* : null */; +short int var11 /* : Bool */; short int var12 /* : Bool */; short int var13 /* : Bool */; -short int var14 /* : Bool */; int cltype; int idtype; short int var_ /* var : Bool */; -val* var15 /* : MType */; -val* var17 /* : MType */; -val* var18 /* : AbstractCompiler */; -val* var20 /* : AbstractCompiler */; -val* var21 /* : MModule */; -val* var23 /* : MModule */; -val* var24 /* : null */; -short int var25 /* : Bool */; -val* var26 /* : RuntimeVariable */; +val* var14 /* : MType */; +val* var16 /* : MType */; +val* var17 /* : AbstractCompiler */; +val* var19 /* : AbstractCompiler */; +val* var20 /* : MModule */; +val* var22 /* : MModule */; +short int var23 /* : Bool */; +val* var24 /* : RuntimeVariable */; +val* var25 /* : String */; val* var27 /* : String */; -val* var29 /* : String */; +val* var28 /* : MType */; val* var30 /* : MType */; -val* var32 /* : MType */; val* var_res /* var res: RuntimeVariable */; -val* var33 /* : RuntimeVariable */; +val* var31 /* : RuntimeVariable */; +val* var32 /* : String */; val* var34 /* : String */; -val* var36 /* : String */; -val* var_res37 /* var res: RuntimeVariable */; +val* var_res35 /* var res: RuntimeVariable */; var_value = p0; var_mtype = p1; { @@ -7211,8 +6553,8 @@ var_mtype = var1; var4 = var_value->attrs[COLOR_nit__abstract_compiler__RuntimeVariable___mcasttype].val; /* _mcasttype on */ if (unlikely(var4 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1683); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1787); +fatal_exit(1); } var2 = var4; RET_LABEL3:(void)0; @@ -7224,8 +6566,8 @@ var_valmtype = var2; var7 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ if (unlikely(var7 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1059); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1102); +fatal_exit(1); } var5 = var7; RET_LABEL6:(void)0; @@ -7236,18 +6578,17 @@ RET_LABEL6:(void)0; var10 = var5->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on */ if (unlikely(var10 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 474); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 515); +fatal_exit(1); } var8 = var10; RET_LABEL9:(void)0; } } -var11 = NULL; { -var12 = nit___nit__MType___is_subtype(var_valmtype, var8, var11, var_mtype); +var11 = nit___nit__MType___is_subtype(var_valmtype, var8, ((val*)NULL), var_mtype); } -if (var12){ +if (var11){ var = var_value; goto RET_LABEL; } else { @@ -7256,125 +6597,124 @@ goto RET_LABEL; cltype = type_nit__MNullableType.color; idtype = type_nit__MNullableType.id; if(cltype >= var_valmtype->type->table_size) { -var14 = 0; +var13 = 0; } else { -var14 = var_valmtype->type->type_table[cltype] == idtype; +var13 = var_valmtype->type->type_table[cltype] == idtype; } -var_ = var14; -if (var14){ +var_ = var13; +if (var13){ { -{ /* Inline model#MNullableType#mtype (var_valmtype) on */ -var17 = var_valmtype->attrs[COLOR_nit__model__MNullableType___mtype].val; /* _mtype on */ -if (unlikely(var17 == NULL)) { +{ /* Inline model#MProxyType#mtype (var_valmtype) on */ +var16 = var_valmtype->attrs[COLOR_nit__model__MProxyType___mtype].val; /* _mtype on */ +if (unlikely(var16 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1506); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1598); +fatal_exit(1); } -var15 = var17; -RET_LABEL16:(void)0; +var14 = var16; +RET_LABEL15:(void)0; } } { { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on */ -var20 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ -if (unlikely(var20 == NULL)) { +var19 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ +if (unlikely(var19 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1059); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1102); +fatal_exit(1); } -var18 = var20; -RET_LABEL19:(void)0; +var17 = var19; +RET_LABEL18:(void)0; } } { -{ /* Inline abstract_compiler#AbstractCompiler#mainmodule (var18) on */ -var23 = var18->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on */ -if (unlikely(var23 == NULL)) { +{ /* Inline abstract_compiler#AbstractCompiler#mainmodule (var17) on */ +var22 = var17->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on */ +if (unlikely(var22 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 474); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 515); +fatal_exit(1); } -var21 = var23; -RET_LABEL22:(void)0; +var20 = var22; +RET_LABEL21:(void)0; } } -var24 = NULL; { -var25 = nit___nit__MType___is_subtype(var15, var21, var24, var_mtype); +var23 = nit___nit__MType___is_subtype(var14, var20, ((val*)NULL), var_mtype); } -var13 = var25; +var12 = var23; } else { -var13 = var_; +var12 = var_; } -if (var13){ -var26 = NEW_nit__RuntimeVariable(&type_nit__RuntimeVariable); +if (var12){ +var24 = NEW_nit__RuntimeVariable(&type_nit__RuntimeVariable); { { /* Inline abstract_compiler#RuntimeVariable#name (var_value) on */ -var29 = var_value->attrs[COLOR_nit__abstract_compiler__RuntimeVariable___name].val; /* _name on */ -if (unlikely(var29 == NULL)) { +var27 = var_value->attrs[COLOR_nit__abstract_compiler__RuntimeVariable___name].val; /* _name on */ +if (unlikely(var27 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1677); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1781); +fatal_exit(1); } -var27 = var29; -RET_LABEL28:(void)0; +var25 = var27; +RET_LABEL26:(void)0; } } { -{ /* Inline model#MNullableType#mtype (var_valmtype) on */ -var32 = var_valmtype->attrs[COLOR_nit__model__MNullableType___mtype].val; /* _mtype on */ -if (unlikely(var32 == NULL)) { +{ /* Inline model#MProxyType#mtype (var_valmtype) on */ +var30 = var_valmtype->attrs[COLOR_nit__model__MProxyType___mtype].val; /* _mtype on */ +if (unlikely(var30 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1506); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1598); +fatal_exit(1); } -var30 = var32; -RET_LABEL31:(void)0; +var28 = var30; +RET_LABEL29:(void)0; } } { -((void (*)(val* self, val* p0))(var26->class->vft[COLOR_nit__abstract_compiler__RuntimeVariable__name_61d]))(var26, var27) /* name= on */; +((void(*)(val* self, val* p0))(var24->class->vft[COLOR_nit__abstract_compiler__RuntimeVariable__name_61d]))(var24, var25); /* name= on */ } { -((void (*)(val* self, val* p0))(var26->class->vft[COLOR_nit__abstract_compiler__RuntimeVariable__mtype_61d]))(var26, var_valmtype) /* mtype= on */; +((void(*)(val* self, val* p0))(var24->class->vft[COLOR_nit__abstract_compiler__RuntimeVariable__mtype_61d]))(var24, var_valmtype); /* mtype= on */ } { -((void (*)(val* self, val* p0))(var26->class->vft[COLOR_nit__abstract_compiler__RuntimeVariable__mcasttype_61d]))(var26, var30) /* mcasttype= on */; +((void(*)(val* self, val* p0))(var24->class->vft[COLOR_nit__abstract_compiler__RuntimeVariable__mcasttype_61d]))(var24, var28); /* mcasttype= on */ } { -((void (*)(val* self))(var26->class->vft[COLOR_standard__kernel__Object__init]))(var26) /* init on */; +((void(*)(val* self))(var24->class->vft[COLOR_standard__kernel__Object__init]))(var24); /* init on */ } -var_res = var26; +var_res = var24; var = var_res; goto RET_LABEL; } else { -var33 = NEW_nit__RuntimeVariable(&type_nit__RuntimeVariable); +var31 = NEW_nit__RuntimeVariable(&type_nit__RuntimeVariable); { { /* Inline abstract_compiler#RuntimeVariable#name (var_value) on */ -var36 = var_value->attrs[COLOR_nit__abstract_compiler__RuntimeVariable___name].val; /* _name on */ -if (unlikely(var36 == NULL)) { +var34 = var_value->attrs[COLOR_nit__abstract_compiler__RuntimeVariable___name].val; /* _name on */ +if (unlikely(var34 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1677); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1781); +fatal_exit(1); } -var34 = var36; -RET_LABEL35:(void)0; +var32 = var34; +RET_LABEL33:(void)0; } } { -((void (*)(val* self, val* p0))(var33->class->vft[COLOR_nit__abstract_compiler__RuntimeVariable__name_61d]))(var33, var34) /* name= on */; +((void(*)(val* self, val* p0))(var31->class->vft[COLOR_nit__abstract_compiler__RuntimeVariable__name_61d]))(var31, var32); /* name= on */ } { -((void (*)(val* self, val* p0))(var33->class->vft[COLOR_nit__abstract_compiler__RuntimeVariable__mtype_61d]))(var33, var_valmtype) /* mtype= on */; +((void(*)(val* self, val* p0))(var31->class->vft[COLOR_nit__abstract_compiler__RuntimeVariable__mtype_61d]))(var31, var_valmtype); /* mtype= on */ } { -((void (*)(val* self, val* p0))(var33->class->vft[COLOR_nit__abstract_compiler__RuntimeVariable__mcasttype_61d]))(var33, var_mtype) /* mcasttype= on */; +((void(*)(val* self, val* p0))(var31->class->vft[COLOR_nit__abstract_compiler__RuntimeVariable__mcasttype_61d]))(var31, var_mtype); /* mcasttype= on */ } { -((void (*)(val* self))(var33->class->vft[COLOR_standard__kernel__Object__init]))(var33) /* init on */; +((void(*)(val* self))(var31->class->vft[COLOR_standard__kernel__Object__init]))(var31); /* init on */ } -var_res37 = var33; -var = var_res37; +var_res35 = var31; +var = var_res35; goto RET_LABEL; } RET_LABEL:; @@ -7409,16 +6749,16 @@ var1 = var_t->type->type_table[cltype] == idtype; } if (unlikely(!var1)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1241); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1294); +fatal_exit(1); } { { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on */ var4 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ if (unlikely(var4 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1059); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1102); +fatal_exit(1); } var2 = var4; RET_LABEL3:(void)0; @@ -7429,8 +6769,8 @@ RET_LABEL3:(void)0; var7 = var2->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on */ if (unlikely(var7 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 474); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 515); +fatal_exit(1); } var5 = var7; RET_LABEL6:(void)0; @@ -7476,16 +6816,16 @@ var1 = var_t->type->type_table[cltype] == idtype; } if (unlikely(!var1)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1249); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1302); +fatal_exit(1); } { { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on */ var4 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ if (unlikely(var4 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1059); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1102); +fatal_exit(1); } var2 = var4; RET_LABEL3:(void)0; @@ -7496,8 +6836,8 @@ RET_LABEL3:(void)0; var7 = var2->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on */ if (unlikely(var7 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 474); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 515); +fatal_exit(1); } var5 = var7; RET_LABEL6:(void)0; @@ -7542,38 +6882,34 @@ short int var24 /* : Bool */; int cltype25; int idtype26; short int var_maybenull /* var maybenull: Bool */; +val* var27 /* : NativeArray[String] */; static val* varonce; -val* var27 /* : String */; -char* var28 /* : NativeString */; -long var29 /* : Int */; -val* var30 /* : FlatString */; -static val* varonce31; -val* var32 /* : String */; -char* var33 /* : NativeString */; -long var34 /* : Int */; +static val* varonce28; +val* var29 /* : String */; +char* var30 /* : NativeString */; +val* var31 /* : FlatString */; +static val* varonce32; +val* var33 /* : String */; +char* var34 /* : NativeString */; val* var35 /* : FlatString */; -val* var36 /* : Array[Object] */; -long var37 /* : Int */; -val* var38 /* : NativeArray[Object] */; +val* var36 /* : String */; +val* var37 /* : String */; +static val* varonce38; val* var39 /* : String */; -static val* varonce40; -val* var41 /* : String */; -char* var42 /* : NativeString */; -long var43 /* : Int */; -val* var44 /* : FlatString */; -static val* varonce45; -val* var46 /* : String */; -char* var47 /* : NativeString */; -long var48 /* : Int */; -val* var49 /* : FlatString */; +char* var40 /* : NativeString */; +val* var41 /* : FlatString */; +static val* varonce42; +val* var43 /* : String */; +char* var44 /* : NativeString */; +val* var45 /* : FlatString */; var_recv = p0; { { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on */ var2 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1059); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1102); +fatal_exit(1); } var = var2; RET_LABEL1:(void)0; @@ -7584,8 +6920,8 @@ RET_LABEL1:(void)0; var5 = var->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on */ if (unlikely(var5 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 481); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 522); +fatal_exit(1); } var3 = var5; RET_LABEL4:(void)0; @@ -7597,7 +6933,7 @@ var8 = var3->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val if (unlikely(var8 == 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); } var6 = var8; RET_LABEL7:(void)0; @@ -7608,8 +6944,8 @@ RET_LABEL7:(void)0; var11 = var6->attrs[COLOR_nit__abstract_compiler__ToolContext___opt_no_check_null].val; /* _opt_no_check_null on */ if (unlikely(var11 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 55); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 56); +fatal_exit(1); } var9 = var11; RET_LABEL10:(void)0; @@ -7622,7 +6958,7 @@ var12 = var14; RET_LABEL13:(void)0; } } -var15 = ((struct instance_standard__Bool*)var12)->value; /* autounbox from nullable Object to Bool */; +var15 = (short int)((long)(var12)>>2); if (var15){ goto RET_LABEL; } else { @@ -7632,8 +6968,8 @@ goto RET_LABEL; var19 = var_recv->attrs[COLOR_nit__abstract_compiler__RuntimeVariable___mcasttype].val; /* _mcasttype on */ if (unlikely(var19 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1683); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1787); +fatal_exit(1); } var17 = var19; RET_LABEL18:(void)0; @@ -7656,8 +6992,8 @@ var16 = var_; var23 = var_recv->attrs[COLOR_nit__abstract_compiler__RuntimeVariable___mcasttype].val; /* _mcasttype on */ if (unlikely(var23 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1683); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1787); +fatal_exit(1); } var21 = var23; RET_LABEL22:(void)0; @@ -7675,64 +7011,62 @@ var16 = var24; } var_maybenull = var16; if (var_maybenull){ -if (varonce) { -var27 = varonce; +if (unlikely(varonce==NULL)) { +var27 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce28!=NULL)) { +var29 = varonce28; } else { -var28 = "if (unlikely("; -var29 = 13; -var30 = standard___standard__NativeString___to_s_with_length(var28, var29); -var27 = var30; -varonce = var27; +var30 = "if (unlikely("; +var31 = standard___standard__NativeString___to_s_with_length(var30, 13l); +var29 = var31; +varonce28 = var29; } -if (varonce31) { -var32 = varonce31; +((struct instance_standard__NativeArray*)var27)->values[0]=var29; +if (likely(varonce32!=NULL)) { +var33 = varonce32; } else { -var33 = " == NULL)) {"; -var34 = 12; -var35 = standard___standard__NativeString___to_s_with_length(var33, var34); -var32 = var35; -varonce31 = var32; +var34 = " == NULL)) {"; +var35 = standard___standard__NativeString___to_s_with_length(var34, 12l); +var33 = var35; +varonce32 = var33; } -var36 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var36 = array_instance Array[Object] */ -var37 = 3; -var38 = NEW_standard__NativeArray(var37, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var38)->values[0] = (val*) var27; -((struct instance_standard__NativeArray*)var38)->values[1] = (val*) var_recv; -((struct instance_standard__NativeArray*)var38)->values[2] = (val*) var32; -{ -((void (*)(val* self, val* p0, long p1))(var36->class->vft[COLOR_standard__array__Array__with_native]))(var36, var38, var37) /* with_native on */; +((struct instance_standard__NativeArray*)var27)->values[2]=var33; +} else { +var27 = varonce; +varonce = NULL; } +{ +var36 = ((val*(*)(val* self))(var_recv->class->vft[COLOR_standard__string__Object__to_s]))(var_recv); /* to_s on */ } +((struct instance_standard__NativeArray*)var27)->values[1]=var36; { -var39 = ((val* (*)(val* self))(var36->class->vft[COLOR_standard__string__Object__to_s]))(var36) /* to_s on */; +var37 = ((val*(*)(val* self))(var27->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var27); /* native_to_s on */ } +varonce = var27; { -nit___nit__AbstractCompilerVisitor___add(self, var39); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +nit___nit__AbstractCompilerVisitor___add(self, var37); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } -if (varonce40) { -var41 = varonce40; +if (likely(varonce38!=NULL)) { +var39 = varonce38; } else { -var42 = "Receiver is null"; -var43 = 16; -var44 = standard___standard__NativeString___to_s_with_length(var42, var43); -var41 = var44; -varonce40 = var41; +var40 = "Receiver is null"; +var41 = standard___standard__NativeString___to_s_with_length(var40, 16l); +var39 = var41; +varonce38 = var39; } { -nit___nit__AbstractCompilerVisitor___add_abort(self, var41); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on */ +nit___nit__AbstractCompilerVisitor___add_abort(self, var39); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on */ } -if (varonce45) { -var46 = varonce45; +if (likely(varonce42!=NULL)) { +var43 = varonce42; } else { -var47 = "}"; -var48 = 1; -var49 = standard___standard__NativeString___to_s_with_length(var47, var48); -var46 = var49; -varonce45 = var46; +var44 = "}"; +var45 = standard___standard__NativeString___to_s_with_length(var44, 1l); +var43 = var45; +varonce42 = var43; } { -nit___nit__AbstractCompilerVisitor___add(self, var46); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +nit___nit__AbstractCompilerVisitor___add(self, var43); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } } else { } @@ -7745,8 +7079,8 @@ val* var1 /* : HashSet[String] */; var1 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___names].val; /* _names on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1282); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1335); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -7779,37 +7113,35 @@ val* var8 /* : HashSet[String] */; long var9 /* : Int */; long var11 /* : Int */; long var12 /* : Int */; -long var13 /* : Int */; -short int var15 /* : Bool */; +short int var14 /* : Bool */; int cltype; int idtype; const char* var_class_name; -long var16 /* : Int */; +long var15 /* : Int */; long var_i /* var i: Int */; +val* var16 /* : String */; val* var17 /* : String */; -val* var18 /* : String */; val* var_s2 /* var s2: String */; -val* var19 /* : HashSet[String] */; -val* var21 /* : HashSet[String] */; +val* var18 /* : HashSet[String] */; +val* var20 /* : HashSet[String] */; +short int var21 /* : Bool */; short int var22 /* : Bool */; -short int var23 /* : Bool */; -val* var25 /* : HashSet[String] */; -val* var27 /* : HashSet[String] */; -long var28 /* : Int */; -long var29 /* : Int */; -short int var31 /* : Bool */; -int cltype32; -int idtype33; -const char* var_class_name34; -long var35 /* : Int */; +val* var24 /* : HashSet[String] */; +val* var26 /* : HashSet[String] */; +long var27 /* : Int */; +short int var29 /* : Bool */; +int cltype30; +int idtype31; +const char* var_class_name32; +long var33 /* : Int */; var_s = p0; { { /* Inline abstract_compiler#AbstractCompilerVisitor#names (self) on */ var3 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___names].val; /* _names on */ if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1282); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1335); +fatal_exit(1); } var1 = var3; RET_LABEL2:(void)0; @@ -7825,8 +7157,8 @@ if (var5){ var8 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___names].val; /* _names on */ if (unlikely(var8 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1282); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1335); +fatal_exit(1); } var6 = var8; RET_LABEL7:(void)0; @@ -7846,94 +7178,92 @@ var9 = var11; RET_LABEL10:(void)0; } } -var12 = 1; { -{ /* Inline kernel#Int#+ (var9,var12) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var15 = 1; /* easy isa OTHER*/ -if (unlikely(!var15)) { +{ /* Inline kernel#Int#+ (var9,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var14 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var14)) { 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, 413); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var16 = var9 + var12; -var13 = var16; -goto RET_LABEL14; -RET_LABEL14:(void)0; +var15 = var9 + 1l; +var12 = var15; +goto RET_LABEL13; +RET_LABEL13:(void)0; } } -var_i = var13; +var_i = var12; for(;;) { { -var17 = standard__string___Int___Object__to_s(var_i); +var16 = standard__string___Int___Object__to_s(var_i); } { -var18 = ((val* (*)(val* self, val* p0))(var_s->class->vft[COLOR_standard__string__String___43d]))(var_s, var17) /* + on */; +var17 = ((val*(*)(val* self, val* p0))(var_s->class->vft[COLOR_standard__string__String___43d]))(var_s, var16); /* + on */ } -var_s2 = var18; +var_s2 = var17; { { /* Inline abstract_compiler#AbstractCompilerVisitor#names (self) on */ -var21 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___names].val; /* _names on */ -if (unlikely(var21 == NULL)) { +var20 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___names].val; /* _names on */ +if (unlikely(var20 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1282); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1335); +fatal_exit(1); } -var19 = var21; -RET_LABEL20:(void)0; +var18 = var20; +RET_LABEL19:(void)0; } } { -var22 = standard___standard__HashSet___standard__abstract_collection__Collection__has(var19, var_s2); +var21 = standard___standard__HashSet___standard__abstract_collection__Collection__has(var18, var_s2); } -var23 = !var22; -if (var23){ +var22 = !var21; +if (var22){ { { /* Inline abstract_compiler#AbstractCompilerVisitor#last= (self,var_i) on */ self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___last].l = var_i; /* _last on */ -RET_LABEL24:(void)0; +RET_LABEL23:(void)0; } } { { /* Inline abstract_compiler#AbstractCompilerVisitor#names (self) on */ -var27 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___names].val; /* _names on */ -if (unlikely(var27 == NULL)) { +var26 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___names].val; /* _names on */ +if (unlikely(var26 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1282); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1335); +fatal_exit(1); } -var25 = var27; -RET_LABEL26:(void)0; +var24 = var26; +RET_LABEL25:(void)0; } } { -standard___standard__HashSet___standard__abstract_collection__SimpleCollection__add(var25, var_s2); /* Direct call hash_collection#HashSet#add on */ +standard___standard__HashSet___standard__abstract_collection__SimpleCollection__add(var24, var_s2); /* Direct call hash_collection#HashSet#add on */ } var = var_s2; goto RET_LABEL; } else { } -var28 = 1; { -{ /* Inline kernel#Int#+ (var_i,var28) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var31 = 1; /* easy isa OTHER*/ -if (unlikely(!var31)) { -var_class_name34 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name34); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +{ /* Inline kernel#Int#+ (var_i,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var29 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var29)) { +var_class_name32 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name32); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var35 = var_i + var28; -var29 = var35; -goto RET_LABEL30; -RET_LABEL30:(void)0; +var33 = var_i + 1l; +var27 = var33; +goto RET_LABEL28; +RET_LABEL28:(void)0; } } -var_i = var29; +var_i = var27; } RET_LABEL:; return var; @@ -7942,195 +7272,189 @@ return var; val* nit___nit__AbstractCompilerVisitor___escapemark_name(val* self, val* p0) { val* var /* : String */; val* var_e /* var e: nullable EscapeMark */; -val* var1 /* : null */; +short int var1 /* : Bool */; short int var2 /* : Bool */; -short int var3 /* : Bool */; val* var_other /* var other: nullable Object */; +short int var4 /* : Bool */; short int var5 /* : Bool */; -short int var6 /* : Bool */; -val* var7 /* : nullable StaticFrame */; -val* var9 /* : nullable StaticFrame */; -val* var10 /* : HashMap[EscapeMark, String] */; -val* var12 /* : HashMap[EscapeMark, String] */; -short int var13 /* : Bool */; -val* var14 /* : nullable StaticFrame */; -val* var16 /* : nullable StaticFrame */; -val* var17 /* : HashMap[EscapeMark, String] */; -val* var19 /* : HashMap[EscapeMark, String] */; -val* var20 /* : nullable Object */; -val* var21 /* : nullable String */; -val* var23 /* : nullable String */; +val* var6 /* : nullable StaticFrame */; +val* var8 /* : nullable StaticFrame */; +val* var9 /* : HashMap[EscapeMark, String] */; +val* var11 /* : HashMap[EscapeMark, String] */; +short int var12 /* : Bool */; +val* var13 /* : nullable StaticFrame */; +val* var15 /* : nullable StaticFrame */; +val* var16 /* : HashMap[EscapeMark, String] */; +val* var18 /* : HashMap[EscapeMark, String] */; +val* var19 /* : nullable Object */; +val* var20 /* : nullable String */; +val* var22 /* : nullable String */; val* var_name /* var name: nullable String */; -val* var24 /* : null */; -short int var25 /* : Bool */; -short int var26 /* : Bool */; +short int var23 /* : Bool */; +short int var24 /* : Bool */; static val* varonce; -val* var27 /* : String */; -char* var28 /* : NativeString */; -long var29 /* : Int */; -val* var30 /* : FlatString */; -val* var31 /* : String */; -val* var32 /* : nullable StaticFrame */; -val* var34 /* : nullable StaticFrame */; -val* var35 /* : HashMap[EscapeMark, String] */; -val* var37 /* : HashMap[EscapeMark, String] */; +val* var25 /* : String */; +char* var26 /* : NativeString */; +val* var27 /* : FlatString */; +val* var28 /* : String */; +val* var29 /* : nullable StaticFrame */; +val* var31 /* : nullable StaticFrame */; +val* var32 /* : HashMap[EscapeMark, String] */; +val* var34 /* : HashMap[EscapeMark, String] */; var_e = p0; -var1 = NULL; if (var_e == NULL) { -var2 = 0; /* is null */ +var1 = 0; /* is null */ } else { -var2 = 1; /* arg is null and recv is not */ +var1 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_e,var1) on */ -var_other = var1; +{ /* Inline kernel#Object#!= (var_e,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var5 = ((short int (*)(val* self, val* p0))(var_e->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_e, var_other) /* == on */; +var4 = ((short int(*)(val* self, val* p0))(var_e->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_e, var_other); /* == on */ } -var6 = !var5; -var3 = var6; -goto RET_LABEL4; -RET_LABEL4:(void)0; +var5 = !var4; +var2 = var5; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -var2 = var3; +var1 = var2; } -if (unlikely(!var2)) { +if (unlikely(!var1)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1307); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1360); +fatal_exit(1); } { { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on */ -var9 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame].val; /* _frame on */ -var7 = var9; -RET_LABEL8:(void)0; +var8 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame].val; /* _frame on */ +var6 = var8; +RET_LABEL7:(void)0; } } -if (var7 == NULL) { +if (var6 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1308); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1361); +fatal_exit(1); } else { -{ /* Inline abstract_compiler#StaticFrame#escapemark_names (var7) on */ -if (unlikely(var7 == NULL)) { +{ /* Inline abstract_compiler#StaticFrame#escapemark_names (var6) on */ +if (unlikely(var6 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1740); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1844); +fatal_exit(1); } -var12 = var7->attrs[COLOR_nit__abstract_compiler__StaticFrame___escapemark_names].val; /* _escapemark_names on */ -if (unlikely(var12 == NULL)) { +var11 = var6->attrs[COLOR_nit__abstract_compiler__StaticFrame___escapemark_names].val; /* _escapemark_names on */ +if (unlikely(var11 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _escapemark_names"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1740); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1844); +fatal_exit(1); } -var10 = var12; -RET_LABEL11:(void)0; +var9 = var11; +RET_LABEL10:(void)0; } } { -var13 = standard___standard__MapRead___has_key(var10, var_e); +var12 = standard___standard__HashMap___standard__abstract_collection__MapRead__has_key(var9, var_e); } -if (var13){ +if (var12){ { { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on */ -var16 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame].val; /* _frame on */ -var14 = var16; -RET_LABEL15:(void)0; +var15 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame].val; /* _frame on */ +var13 = var15; +RET_LABEL14:(void)0; } } -if (var14 == NULL) { +if (var13 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1308); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1361); +fatal_exit(1); } else { -{ /* Inline abstract_compiler#StaticFrame#escapemark_names (var14) on */ -if (unlikely(var14 == NULL)) { +{ /* Inline abstract_compiler#StaticFrame#escapemark_names (var13) on */ +if (unlikely(var13 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1740); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1844); +fatal_exit(1); } -var19 = var14->attrs[COLOR_nit__abstract_compiler__StaticFrame___escapemark_names].val; /* _escapemark_names on */ -if (unlikely(var19 == NULL)) { +var18 = var13->attrs[COLOR_nit__abstract_compiler__StaticFrame___escapemark_names].val; /* _escapemark_names on */ +if (unlikely(var18 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _escapemark_names"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1740); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1844); +fatal_exit(1); } -var17 = var19; -RET_LABEL18:(void)0; +var16 = var18; +RET_LABEL17:(void)0; } } { -var20 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var17, var_e); +var19 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var16, var_e); } -var = var20; +var = var19; goto RET_LABEL; } else { } { { /* Inline scope#EscapeMark#name (var_e) on */ -var23 = var_e->attrs[COLOR_nit__scope__EscapeMark___name].val; /* _name on */ -var21 = var23; -RET_LABEL22:(void)0; +var22 = var_e->attrs[COLOR_nit__scope__EscapeMark___name].val; /* _name on */ +var20 = var22; +RET_LABEL21:(void)0; } } -var_name = var21; -var24 = NULL; +var_name = var20; if (var_name == NULL) { -var25 = 1; /* is null */ +var23 = 1; /* is null */ } else { -var25 = 0; /* arg is null but recv is not */ +var23 = 0; /* arg is null but recv is not */ } if (0) { -var26 = ((short int (*)(val* self, val* p0))(var_name->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_name, var24) /* == on */; -var25 = var26; +var24 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_name, ((val*)NULL)); /* == on */ +var23 = var24; } -if (var25){ -if (varonce) { -var27 = varonce; +if (var23){ +if (likely(varonce!=NULL)) { +var25 = varonce; } else { -var28 = "label"; -var29 = 5; -var30 = standard___standard__NativeString___to_s_with_length(var28, var29); -var27 = var30; -varonce = var27; +var26 = "label"; +var27 = standard___standard__NativeString___to_s_with_length(var26, 5l); +var25 = var27; +varonce = var25; } -var_name = var27; +var_name = var25; } else { } { -var31 = nit___nit__AbstractCompilerVisitor___get_name(self, var_name); +var28 = nit___nit__AbstractCompilerVisitor___get_name(self, var_name); } -var_name = var31; +var_name = var28; { { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on */ -var34 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame].val; /* _frame on */ -var32 = var34; -RET_LABEL33:(void)0; +var31 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame].val; /* _frame on */ +var29 = var31; +RET_LABEL30:(void)0; } } -if (var32 == NULL) { +if (var29 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1312); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1365); +fatal_exit(1); } else { -{ /* Inline abstract_compiler#StaticFrame#escapemark_names (var32) on */ -if (unlikely(var32 == NULL)) { +{ /* Inline abstract_compiler#StaticFrame#escapemark_names (var29) on */ +if (unlikely(var29 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1740); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1844); +fatal_exit(1); } -var37 = var32->attrs[COLOR_nit__abstract_compiler__StaticFrame___escapemark_names].val; /* _escapemark_names on */ -if (unlikely(var37 == NULL)) { +var34 = var29->attrs[COLOR_nit__abstract_compiler__StaticFrame___escapemark_names].val; /* _escapemark_names on */ +if (unlikely(var34 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _escapemark_names"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1740); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1844); +fatal_exit(1); } -var35 = var37; -RET_LABEL36:(void)0; +var32 = var34; +RET_LABEL33:(void)0; } } { -standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var35, var_e, var_name); /* Direct call hash_collection#HashMap#[]= on */ +standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var32, var_e, var_name); /* Direct call hash_collection#HashMap#[]= on */ } var = var_name; goto RET_LABEL; @@ -8140,114 +7464,106 @@ return var; /* method abstract_compiler#AbstractCompilerVisitor#add_escape_label for (self: AbstractCompilerVisitor, nullable EscapeMark) */ void nit___nit__AbstractCompilerVisitor___add_escape_label(val* self, val* p0) { val* var_e /* var e: nullable EscapeMark */; -val* var /* : null */; +short int var /* : Bool */; short int var1 /* : Bool */; -short int var2 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var4 /* : Bool */; -short int var6 /* : Bool */; -val* var7 /* : Array[AEscapeExpr] */; -val* var9 /* : Array[AEscapeExpr] */; -short int var10 /* : Bool */; +short int var3 /* : Bool */; +short int var5 /* : Bool */; +val* var6 /* : Array[AEscapeExpr] */; +val* var8 /* : Array[AEscapeExpr] */; +short int var9 /* : Bool */; +val* var10 /* : NativeArray[String] */; static val* varonce; -val* var11 /* : String */; -char* var12 /* : NativeString */; -long var13 /* : Int */; +static val* varonce11; +val* var12 /* : String */; +char* var13 /* : NativeString */; val* var14 /* : FlatString */; -val* var15 /* : String */; -static val* varonce16; -val* var17 /* : String */; -char* var18 /* : NativeString */; -long var19 /* : Int */; -val* var20 /* : FlatString */; -val* var21 /* : Array[Object] */; -long var22 /* : Int */; -val* var23 /* : NativeArray[Object] */; -val* var24 /* : String */; +static val* varonce15; +val* var16 /* : String */; +char* var17 /* : NativeString */; +val* var18 /* : FlatString */; +val* var19 /* : String */; +val* var20 /* : String */; var_e = p0; -var = NULL; if (var_e == NULL) { -var1 = 1; /* is null */ +var = 1; /* is null */ } else { -var1 = 0; /* arg is null but recv is not */ +var = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_e,var) on */ -var_other = var; +{ /* Inline kernel#Object#== (var_e,((val*)NULL)) on */ +var_other = ((val*)NULL); { { /* Inline kernel#Object#is_same_instance (var_e,var_other) on */ -var6 = var_e == var_other; -var4 = var6; -goto RET_LABEL5; -RET_LABEL5:(void)0; +var5 = var_e == var_other; +var3 = var5; +goto RET_LABEL4; +RET_LABEL4:(void)0; } } -var2 = var4; -goto RET_LABEL3; -RET_LABEL3:(void)0; +var1 = var3; +goto RET_LABEL2; +RET_LABEL2:(void)0; } -var1 = var2; +var = var1; } -if (var1){ +if (var){ goto RET_LABEL; } else { } { { /* Inline scope#EscapeMark#escapes (var_e) on */ -var9 = var_e->attrs[COLOR_nit__scope__EscapeMark___escapes].val; /* _escapes on */ -if (unlikely(var9 == NULL)) { +var8 = var_e->attrs[COLOR_nit__scope__EscapeMark___escapes].val; /* _escapes on */ +if (unlikely(var8 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _escapes"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__scope, 58); -show_backtrace(1); +fatal_exit(1); } -var7 = var9; -RET_LABEL8:(void)0; +var6 = var8; +RET_LABEL7:(void)0; } } { -var10 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var7); +var9 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var6); } -if (var10){ +if (var9){ goto RET_LABEL; } else { } -if (varonce) { -var11 = varonce; +if (unlikely(varonce==NULL)) { +var10 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce11!=NULL)) { +var12 = varonce11; } else { -var12 = "BREAK_"; -var13 = 6; -var14 = standard___standard__NativeString___to_s_with_length(var12, var13); -var11 = var14; -varonce = var11; +var13 = "BREAK_"; +var14 = standard___standard__NativeString___to_s_with_length(var13, 6l); +var12 = var14; +varonce11 = var12; } -{ -var15 = nit___nit__AbstractCompilerVisitor___escapemark_name(self, var_e); +((struct instance_standard__NativeArray*)var10)->values[0]=var12; +if (likely(varonce15!=NULL)) { +var16 = varonce15; +} else { +var17 = ": (void)0;"; +var18 = standard___standard__NativeString___to_s_with_length(var17, 10l); +var16 = var18; +varonce15 = var16; } -if (varonce16) { -var17 = varonce16; +((struct instance_standard__NativeArray*)var10)->values[2]=var16; } else { -var18 = ": (void)0;"; -var19 = 10; -var20 = standard___standard__NativeString___to_s_with_length(var18, var19); -var17 = var20; -varonce16 = var17; +var10 = varonce; +varonce = NULL; } -var21 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var21 = array_instance Array[Object] */ -var22 = 3; -var23 = NEW_standard__NativeArray(var22, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var23)->values[0] = (val*) var11; -((struct instance_standard__NativeArray*)var23)->values[1] = (val*) var15; -((struct instance_standard__NativeArray*)var23)->values[2] = (val*) var17; { -((void (*)(val* self, val* p0, long p1))(var21->class->vft[COLOR_standard__array__Array__with_native]))(var21, var23, var22) /* with_native on */; -} +var19 = nit___nit__AbstractCompilerVisitor___escapemark_name(self, var_e); } +((struct instance_standard__NativeArray*)var10)->values[1]=var19; { -var24 = ((val* (*)(val* self))(var21->class->vft[COLOR_standard__string__Object__to_s]))(var21) /* to_s on */; +var20 = ((val*(*)(val* self))(var10->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var10); /* native_to_s on */ } +varonce = var10; { -nit___nit__AbstractCompilerVisitor___add(self, var24); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +nit___nit__AbstractCompilerVisitor___add(self, var20); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } RET_LABEL:; } @@ -8258,8 +7574,8 @@ val* var1 /* : HashMap[Variable, RuntimeVariable] */; var1 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___variables].val; /* _variables on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _variables"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1330); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1383); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -8275,67 +7591,62 @@ short int var4 /* : Bool */; val* var5 /* : HashMap[Variable, RuntimeVariable] */; val* var7 /* : HashMap[Variable, RuntimeVariable] */; val* var8 /* : nullable Object */; +val* var9 /* : NativeArray[String] */; static val* varonce; -val* var9 /* : String */; -char* var10 /* : NativeString */; -long var11 /* : Int */; -val* var12 /* : FlatString */; -val* var13 /* : String */; -val* var15 /* : String */; -val* var16 /* : Array[Object] */; -long var17 /* : Int */; -val* var18 /* : NativeArray[Object] */; -val* var19 /* : String */; -val* var20 /* : String */; +static val* varonce10; +val* var11 /* : String */; +char* var12 /* : NativeString */; +val* var13 /* : FlatString */; +val* var14 /* : String */; +val* var16 /* : String */; +val* var17 /* : String */; +val* var18 /* : String */; val* var_name /* var name: String */; +val* var19 /* : nullable MType */; val* var21 /* : nullable MType */; -val* var23 /* : nullable MType */; val* var_mtype /* var mtype: MType */; -val* var24 /* : MType */; -val* var25 /* : RuntimeVariable */; +val* var22 /* : MType */; +val* var23 /* : RuntimeVariable */; val* var_res /* var res: RuntimeVariable */; -val* var26 /* : String */; -static val* varonce27; -val* var28 /* : String */; -char* var29 /* : NativeString */; -long var30 /* : Int */; -val* var31 /* : FlatString */; -static val* varonce32; -val* var33 /* : String */; -char* var34 /* : NativeString */; -long var35 /* : Int */; -val* var36 /* : FlatString */; -static val* varonce37; -val* var38 /* : String */; -char* var39 /* : NativeString */; -long var40 /* : Int */; +val* var25 /* : NativeArray[String] */; +static val* varonce24; +static val* varonce26; +val* var27 /* : String */; +char* var28 /* : NativeString */; +val* var29 /* : FlatString */; +static val* varonce30; +val* var31 /* : String */; +char* var32 /* : NativeString */; +val* var33 /* : FlatString */; +static val* varonce34; +val* var35 /* : String */; +char* var36 /* : NativeString */; +val* var37 /* : FlatString */; +static val* varonce38; +val* var39 /* : String */; +char* var40 /* : NativeString */; val* var41 /* : FlatString */; -static val* varonce42; +val* var42 /* : String */; val* var43 /* : String */; -char* var44 /* : NativeString */; -long var45 /* : Int */; -val* var46 /* : FlatString */; -val* var47 /* : Array[Object] */; -long var48 /* : Int */; -val* var49 /* : NativeArray[Object] */; -val* var50 /* : String */; -val* var51 /* : HashMap[Variable, RuntimeVariable] */; -val* var53 /* : HashMap[Variable, RuntimeVariable] */; +val* var44 /* : String */; +val* var45 /* : String */; +val* var46 /* : HashMap[Variable, RuntimeVariable] */; +val* var48 /* : HashMap[Variable, RuntimeVariable] */; var_variable = p0; { { /* Inline abstract_compiler#AbstractCompilerVisitor#variables (self) on */ var3 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___variables].val; /* _variables on */ if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _variables"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1330); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1383); +fatal_exit(1); } var1 = var3; RET_LABEL2:(void)0; } } { -var4 = standard___standard__MapRead___has_key(var1, var_variable); +var4 = standard___standard__HashMap___standard__abstract_collection__MapRead__has_key(var1, var_variable); } if (var4){ { @@ -8343,8 +7654,8 @@ if (var4){ var7 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___variables].val; /* _variables on */ if (unlikely(var7 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _variables"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1330); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1383); +fatal_exit(1); } var5 = var7; RET_LABEL6:(void)0; @@ -8356,150 +7667,149 @@ var8 = standard___standard__HashMap___standard__abstract_collection__MapRead___9 var = var8; goto RET_LABEL; } else { -if (varonce) { -var9 = varonce; +if (unlikely(varonce==NULL)) { +var9 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String); +if (likely(varonce10!=NULL)) { +var11 = varonce10; } else { -var10 = "var_"; -var11 = 4; -var12 = standard___standard__NativeString___to_s_with_length(var10, var11); -var9 = var12; -varonce = var9; +var12 = "var_"; +var13 = standard___standard__NativeString___to_s_with_length(var12, 4l); +var11 = var13; +varonce10 = var11; +} +((struct instance_standard__NativeArray*)var9)->values[0]=var11; +} else { +var9 = varonce; +varonce = NULL; } { { /* Inline scope#Variable#name (var_variable) on */ -var15 = var_variable->attrs[COLOR_nit__scope__Variable___name].val; /* _name on */ -if (unlikely(var15 == NULL)) { +var16 = var_variable->attrs[COLOR_nit__scope__Variable___name].val; /* _name on */ +if (unlikely(var16 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__scope, 35); -show_backtrace(1); -} -var13 = var15; -RET_LABEL14:(void)0; +fatal_exit(1); } -} -var16 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var16 = array_instance Array[Object] */ -var17 = 2; -var18 = NEW_standard__NativeArray(var17, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var18)->values[0] = (val*) var9; -((struct instance_standard__NativeArray*)var18)->values[1] = (val*) var13; -{ -((void (*)(val* self, val* p0, long p1))(var16->class->vft[COLOR_standard__array__Array__with_native]))(var16, var18, var17) /* with_native on */; +var14 = var16; +RET_LABEL15:(void)0; } } +((struct instance_standard__NativeArray*)var9)->values[1]=var14; { -var19 = ((val* (*)(val* self))(var16->class->vft[COLOR_standard__string__Object__to_s]))(var16) /* to_s on */; +var17 = ((val*(*)(val* self))(var9->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var9); /* native_to_s on */ } +varonce = var9; { -var20 = nit___nit__AbstractCompilerVisitor___get_name(self, var19); +var18 = nit___nit__AbstractCompilerVisitor___get_name(self, var17); } -var_name = var20; +var_name = var18; { { /* Inline typing#Variable#declared_type (var_variable) on */ -var23 = var_variable->attrs[COLOR_nit__typing__Variable___declared_type].val; /* _declared_type on */ -var21 = var23; -RET_LABEL22:(void)0; +var21 = var_variable->attrs[COLOR_nit__typing__Variable___declared_type].val; /* _declared_type on */ +var19 = var21; +RET_LABEL20:(void)0; } } -if (unlikely(var21 == NULL)) { +if (unlikely(var19 == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1339); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1392); +fatal_exit(1); } -var_mtype = var21; +var_mtype = var19; { -var24 = nit___nit__AbstractCompilerVisitor___anchor(self, var_mtype); +var22 = nit___nit__AbstractCompilerVisitor___anchor(self, var_mtype); } -var_mtype = var24; -var25 = NEW_nit__RuntimeVariable(&type_nit__RuntimeVariable); +var_mtype = var22; +var23 = NEW_nit__RuntimeVariable(&type_nit__RuntimeVariable); { -((void (*)(val* self, val* p0))(var25->class->vft[COLOR_nit__abstract_compiler__RuntimeVariable__name_61d]))(var25, var_name) /* name= on */; +((void(*)(val* self, val* p0))(var23->class->vft[COLOR_nit__abstract_compiler__RuntimeVariable__name_61d]))(var23, var_name); /* name= on */ } { -((void (*)(val* self, val* p0))(var25->class->vft[COLOR_nit__abstract_compiler__RuntimeVariable__mtype_61d]))(var25, var_mtype) /* mtype= on */; +((void(*)(val* self, val* p0))(var23->class->vft[COLOR_nit__abstract_compiler__RuntimeVariable__mtype_61d]))(var23, var_mtype); /* mtype= on */ } { -((void (*)(val* self, val* p0))(var25->class->vft[COLOR_nit__abstract_compiler__RuntimeVariable__mcasttype_61d]))(var25, var_mtype) /* mcasttype= on */; +((void(*)(val* self, val* p0))(var23->class->vft[COLOR_nit__abstract_compiler__RuntimeVariable__mcasttype_61d]))(var23, var_mtype); /* mcasttype= on */ } { -((void (*)(val* self))(var25->class->vft[COLOR_standard__kernel__Object__init]))(var25) /* init on */; +((void(*)(val* self))(var23->class->vft[COLOR_standard__kernel__Object__init]))(var23); /* init on */ } -var_res = var25; -{ -var26 = ((val* (*)(val* self))(var_mtype->class->vft[COLOR_nit__abstract_compiler__MType__ctype]))(var_mtype) /* ctype on */; +var_res = var23; +if (unlikely(varonce24==NULL)) { +var25 = NEW_standard__NativeArray(8l, &type_standard__NativeArray__standard__String); +if (likely(varonce26!=NULL)) { +var27 = varonce26; +} else { +var28 = " "; +var29 = standard___standard__NativeString___to_s_with_length(var28, 1l); +var27 = var29; +varonce26 = var27; } -if (varonce27) { -var28 = varonce27; +((struct instance_standard__NativeArray*)var25)->values[1]=var27; +if (likely(varonce30!=NULL)) { +var31 = varonce30; } else { -var29 = " "; -var30 = 1; -var31 = standard___standard__NativeString___to_s_with_length(var29, var30); -var28 = var31; -varonce27 = var28; +var32 = " /* var "; +var33 = standard___standard__NativeString___to_s_with_length(var32, 8l); +var31 = var33; +varonce30 = var31; } -if (varonce32) { -var33 = varonce32; +((struct instance_standard__NativeArray*)var25)->values[3]=var31; +if (likely(varonce34!=NULL)) { +var35 = varonce34; } else { -var34 = " /* var "; -var35 = 8; -var36 = standard___standard__NativeString___to_s_with_length(var34, var35); -var33 = var36; -varonce32 = var33; +var36 = ": "; +var37 = standard___standard__NativeString___to_s_with_length(var36, 2l); +var35 = var37; +varonce34 = var35; } -if (varonce37) { -var38 = varonce37; +((struct instance_standard__NativeArray*)var25)->values[5]=var35; +if (likely(varonce38!=NULL)) { +var39 = varonce38; } else { -var39 = ": "; -var40 = 2; -var41 = standard___standard__NativeString___to_s_with_length(var39, var40); -var38 = var41; -varonce37 = var38; +var40 = " */;"; +var41 = standard___standard__NativeString___to_s_with_length(var40, 4l); +var39 = var41; +varonce38 = var39; } -if (varonce42) { -var43 = varonce42; +((struct instance_standard__NativeArray*)var25)->values[7]=var39; } else { -var44 = " */;"; -var45 = 4; -var46 = standard___standard__NativeString___to_s_with_length(var44, var45); -var43 = var46; -varonce42 = var43; +var25 = varonce24; +varonce24 = NULL; +} +{ +var42 = ((val*(*)(val* self))(var_mtype->class->vft[COLOR_nit__abstract_compiler__MType__ctype]))(var_mtype); /* ctype on */ } -var47 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var47 = array_instance Array[Object] */ -var48 = 8; -var49 = NEW_standard__NativeArray(var48, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var49)->values[0] = (val*) var26; -((struct instance_standard__NativeArray*)var49)->values[1] = (val*) var28; -((struct instance_standard__NativeArray*)var49)->values[2] = (val*) var_name; -((struct instance_standard__NativeArray*)var49)->values[3] = (val*) var33; -((struct instance_standard__NativeArray*)var49)->values[4] = (val*) var_variable; -((struct instance_standard__NativeArray*)var49)->values[5] = (val*) var38; -((struct instance_standard__NativeArray*)var49)->values[6] = (val*) var_mtype; -((struct instance_standard__NativeArray*)var49)->values[7] = (val*) var43; +((struct instance_standard__NativeArray*)var25)->values[0]=var42; +((struct instance_standard__NativeArray*)var25)->values[2]=var_name; { -((void (*)(val* self, val* p0, long p1))(var47->class->vft[COLOR_standard__array__Array__with_native]))(var47, var49, var48) /* with_native on */; +var43 = ((val*(*)(val* self))(var_variable->class->vft[COLOR_standard__string__Object__to_s]))(var_variable); /* to_s on */ } +((struct instance_standard__NativeArray*)var25)->values[4]=var43; +{ +var44 = ((val*(*)(val* self))(var_mtype->class->vft[COLOR_standard__string__Object__to_s]))(var_mtype); /* to_s on */ } +((struct instance_standard__NativeArray*)var25)->values[6]=var44; { -var50 = ((val* (*)(val* self))(var47->class->vft[COLOR_standard__string__Object__to_s]))(var47) /* to_s on */; +var45 = ((val*(*)(val* self))(var25->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var25); /* native_to_s on */ } +varonce24 = var25; { -nit___nit__AbstractCompilerVisitor___add_decl(self, var50); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(self, var45); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } { { /* Inline abstract_compiler#AbstractCompilerVisitor#variables (self) on */ -var53 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___variables].val; /* _variables on */ -if (unlikely(var53 == NULL)) { +var48 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___variables].val; /* _variables on */ +if (unlikely(var48 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _variables"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1330); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1383); +fatal_exit(1); } -var51 = var53; -RET_LABEL52:(void)0; +var46 = var48; +RET_LABEL47:(void)0; } } { -standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var51, var_variable, var_res); /* Direct call hash_collection#HashMap#[]= on */ +standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var46, var_variable, var_res); /* Direct call hash_collection#HashMap#[]= on */ } var = var_res; goto RET_LABEL; @@ -8515,113 +7825,107 @@ val* var1 /* : MType */; static val* varonce; val* var2 /* : String */; char* var3 /* : NativeString */; -long var4 /* : Int */; -val* var5 /* : FlatString */; -val* var6 /* : String */; +val* var4 /* : FlatString */; +val* var5 /* : String */; val* var_name /* var name: String */; -val* var7 /* : RuntimeVariable */; +val* var6 /* : RuntimeVariable */; val* var_res /* var res: RuntimeVariable */; -val* var8 /* : String */; +val* var8 /* : NativeArray[String] */; +static val* varonce7; static val* varonce9; val* var10 /* : String */; char* var11 /* : NativeString */; -long var12 /* : Int */; -val* var13 /* : FlatString */; -static val* varonce14; -val* var15 /* : String */; -char* var16 /* : NativeString */; -long var17 /* : Int */; -val* var18 /* : FlatString */; -static val* varonce19; -val* var20 /* : String */; -char* var21 /* : NativeString */; -long var22 /* : Int */; -val* var23 /* : FlatString */; -val* var24 /* : Array[Object] */; -long var25 /* : Int */; -val* var26 /* : NativeArray[Object] */; -val* var27 /* : String */; +val* var12 /* : FlatString */; +static val* varonce13; +val* var14 /* : String */; +char* var15 /* : NativeString */; +val* var16 /* : FlatString */; +static val* varonce17; +val* var18 /* : String */; +char* var19 /* : NativeString */; +val* var20 /* : FlatString */; +val* var21 /* : String */; +val* var22 /* : String */; +val* var23 /* : String */; var_mtype = p0; { var1 = nit___nit__AbstractCompilerVisitor___anchor(self, var_mtype); } var_mtype = var1; -if (varonce) { +if (likely(varonce!=NULL)) { var2 = varonce; } else { var3 = "var"; -var4 = 3; -var5 = standard___standard__NativeString___to_s_with_length(var3, var4); -var2 = var5; +var4 = standard___standard__NativeString___to_s_with_length(var3, 3l); +var2 = var4; varonce = var2; } { -var6 = nit___nit__AbstractCompilerVisitor___get_name(self, var2); -} -var_name = var6; -var7 = NEW_nit__RuntimeVariable(&type_nit__RuntimeVariable); -{ -((void (*)(val* self, val* p0))(var7->class->vft[COLOR_nit__abstract_compiler__RuntimeVariable__name_61d]))(var7, var_name) /* name= on */; +var5 = nit___nit__AbstractCompilerVisitor___get_name(self, var2); } +var_name = var5; +var6 = NEW_nit__RuntimeVariable(&type_nit__RuntimeVariable); { -((void (*)(val* self, val* p0))(var7->class->vft[COLOR_nit__abstract_compiler__RuntimeVariable__mtype_61d]))(var7, var_mtype) /* mtype= on */; +((void(*)(val* self, val* p0))(var6->class->vft[COLOR_nit__abstract_compiler__RuntimeVariable__name_61d]))(var6, var_name); /* name= on */ } { -((void (*)(val* self, val* p0))(var7->class->vft[COLOR_nit__abstract_compiler__RuntimeVariable__mcasttype_61d]))(var7, var_mtype) /* mcasttype= on */; +((void(*)(val* self, val* p0))(var6->class->vft[COLOR_nit__abstract_compiler__RuntimeVariable__mtype_61d]))(var6, var_mtype); /* mtype= on */ } { -((void (*)(val* self))(var7->class->vft[COLOR_standard__kernel__Object__init]))(var7) /* init on */; +((void(*)(val* self, val* p0))(var6->class->vft[COLOR_nit__abstract_compiler__RuntimeVariable__mcasttype_61d]))(var6, var_mtype); /* mcasttype= on */ } -var_res = var7; { -var8 = ((val* (*)(val* self))(var_mtype->class->vft[COLOR_nit__abstract_compiler__MType__ctype]))(var_mtype) /* ctype on */; +((void(*)(val* self))(var6->class->vft[COLOR_standard__kernel__Object__init]))(var6); /* init on */ } -if (varonce9) { +var_res = var6; +if (unlikely(varonce7==NULL)) { +var8 = NEW_standard__NativeArray(6l, &type_standard__NativeArray__standard__String); +if (likely(varonce9!=NULL)) { var10 = varonce9; } else { var11 = " "; -var12 = 1; -var13 = standard___standard__NativeString___to_s_with_length(var11, var12); -var10 = var13; +var12 = standard___standard__NativeString___to_s_with_length(var11, 1l); +var10 = var12; varonce9 = var10; } -if (varonce14) { -var15 = varonce14; +((struct instance_standard__NativeArray*)var8)->values[1]=var10; +if (likely(varonce13!=NULL)) { +var14 = varonce13; +} else { +var15 = " /* : "; +var16 = standard___standard__NativeString___to_s_with_length(var15, 6l); +var14 = var16; +varonce13 = var14; +} +((struct instance_standard__NativeArray*)var8)->values[3]=var14; +if (likely(varonce17!=NULL)) { +var18 = varonce17; } else { -var16 = " /* : "; -var17 = 6; -var18 = standard___standard__NativeString___to_s_with_length(var16, var17); -var15 = var18; -varonce14 = var15; +var19 = " */;"; +var20 = standard___standard__NativeString___to_s_with_length(var19, 4l); +var18 = var20; +varonce17 = var18; } -if (varonce19) { -var20 = varonce19; +((struct instance_standard__NativeArray*)var8)->values[5]=var18; } else { -var21 = " */;"; -var22 = 4; -var23 = standard___standard__NativeString___to_s_with_length(var21, var22); -var20 = var23; -varonce19 = var20; +var8 = varonce7; +varonce7 = NULL; } -var24 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var24 = array_instance Array[Object] */ -var25 = 6; -var26 = NEW_standard__NativeArray(var25, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var26)->values[0] = (val*) var8; -((struct instance_standard__NativeArray*)var26)->values[1] = (val*) var10; -((struct instance_standard__NativeArray*)var26)->values[2] = (val*) var_name; -((struct instance_standard__NativeArray*)var26)->values[3] = (val*) var15; -((struct instance_standard__NativeArray*)var26)->values[4] = (val*) var_mtype; -((struct instance_standard__NativeArray*)var26)->values[5] = (val*) var20; { -((void (*)(val* self, val* p0, long p1))(var24->class->vft[COLOR_standard__array__Array__with_native]))(var24, var26, var25) /* with_native on */; +var21 = ((val*(*)(val* self))(var_mtype->class->vft[COLOR_nit__abstract_compiler__MType__ctype]))(var_mtype); /* ctype on */ } +((struct instance_standard__NativeArray*)var8)->values[0]=var21; +((struct instance_standard__NativeArray*)var8)->values[2]=var_name; +{ +var22 = ((val*(*)(val* self))(var_mtype->class->vft[COLOR_standard__string__Object__to_s]))(var_mtype); /* to_s on */ } +((struct instance_standard__NativeArray*)var8)->values[4]=var22; { -var27 = ((val* (*)(val* self))(var24->class->vft[COLOR_standard__string__Object__to_s]))(var24) /* to_s on */; +var23 = ((val*(*)(val* self))(var8->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var8); /* native_to_s on */ } +varonce7 = var8; { -nit___nit__AbstractCompilerVisitor___add_decl(self, var27); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(self, var23); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } var = var_res; goto RET_LABEL; @@ -8636,113 +7940,107 @@ val* var1 /* : MType */; static val* varonce; val* var2 /* : String */; char* var3 /* : NativeString */; -long var4 /* : Int */; -val* var5 /* : FlatString */; -val* var6 /* : String */; +val* var4 /* : FlatString */; +val* var5 /* : String */; val* var_name /* var name: String */; -val* var7 /* : RuntimeVariable */; +val* var6 /* : RuntimeVariable */; val* var_res /* var res: RuntimeVariable */; -val* var8 /* : String */; +val* var8 /* : NativeArray[String] */; +static val* varonce7; static val* varonce9; val* var10 /* : String */; char* var11 /* : NativeString */; -long var12 /* : Int */; -val* var13 /* : FlatString */; -static val* varonce14; -val* var15 /* : String */; -char* var16 /* : NativeString */; -long var17 /* : Int */; -val* var18 /* : FlatString */; -static val* varonce19; -val* var20 /* : String */; -char* var21 /* : NativeString */; -long var22 /* : Int */; -val* var23 /* : FlatString */; -val* var24 /* : Array[Object] */; -long var25 /* : Int */; -val* var26 /* : NativeArray[Object] */; -val* var27 /* : String */; +val* var12 /* : FlatString */; +static val* varonce13; +val* var14 /* : String */; +char* var15 /* : NativeString */; +val* var16 /* : FlatString */; +static val* varonce17; +val* var18 /* : String */; +char* var19 /* : NativeString */; +val* var20 /* : FlatString */; +val* var21 /* : String */; +val* var22 /* : String */; +val* var23 /* : String */; var_mtype = p0; { var1 = nit___nit__AbstractCompilerVisitor___anchor(self, var_mtype); } var_mtype = var1; -if (varonce) { +if (likely(varonce!=NULL)) { var2 = varonce; } else { var3 = "var"; -var4 = 3; -var5 = standard___standard__NativeString___to_s_with_length(var3, var4); -var2 = var5; +var4 = standard___standard__NativeString___to_s_with_length(var3, 3l); +var2 = var4; varonce = var2; } { -var6 = nit___nit__AbstractCompilerVisitor___get_name(self, var2); -} -var_name = var6; -var7 = NEW_nit__RuntimeVariable(&type_nit__RuntimeVariable); -{ -((void (*)(val* self, val* p0))(var7->class->vft[COLOR_nit__abstract_compiler__RuntimeVariable__name_61d]))(var7, var_name) /* name= on */; +var5 = nit___nit__AbstractCompilerVisitor___get_name(self, var2); } +var_name = var5; +var6 = NEW_nit__RuntimeVariable(&type_nit__RuntimeVariable); { -((void (*)(val* self, val* p0))(var7->class->vft[COLOR_nit__abstract_compiler__RuntimeVariable__mtype_61d]))(var7, var_mtype) /* mtype= on */; +((void(*)(val* self, val* p0))(var6->class->vft[COLOR_nit__abstract_compiler__RuntimeVariable__name_61d]))(var6, var_name); /* name= on */ } { -((void (*)(val* self, val* p0))(var7->class->vft[COLOR_nit__abstract_compiler__RuntimeVariable__mcasttype_61d]))(var7, var_mtype) /* mcasttype= on */; +((void(*)(val* self, val* p0))(var6->class->vft[COLOR_nit__abstract_compiler__RuntimeVariable__mtype_61d]))(var6, var_mtype); /* mtype= on */ } { -((void (*)(val* self))(var7->class->vft[COLOR_standard__kernel__Object__init]))(var7) /* init on */; +((void(*)(val* self, val* p0))(var6->class->vft[COLOR_nit__abstract_compiler__RuntimeVariable__mcasttype_61d]))(var6, var_mtype); /* mcasttype= on */ } -var_res = var7; { -var8 = ((val* (*)(val* self))(var_mtype->class->vft[COLOR_nit__abstract_compiler__MType__ctype_extern]))(var_mtype) /* ctype_extern on */; +((void(*)(val* self))(var6->class->vft[COLOR_standard__kernel__Object__init]))(var6); /* init on */ } -if (varonce9) { +var_res = var6; +if (unlikely(varonce7==NULL)) { +var8 = NEW_standard__NativeArray(6l, &type_standard__NativeArray__standard__String); +if (likely(varonce9!=NULL)) { var10 = varonce9; } else { var11 = " "; -var12 = 1; -var13 = standard___standard__NativeString___to_s_with_length(var11, var12); -var10 = var13; +var12 = standard___standard__NativeString___to_s_with_length(var11, 1l); +var10 = var12; varonce9 = var10; } -if (varonce14) { -var15 = varonce14; +((struct instance_standard__NativeArray*)var8)->values[1]=var10; +if (likely(varonce13!=NULL)) { +var14 = varonce13; } else { -var16 = " /* : "; -var17 = 6; -var18 = standard___standard__NativeString___to_s_with_length(var16, var17); -var15 = var18; -varonce14 = var15; +var15 = " /* : "; +var16 = standard___standard__NativeString___to_s_with_length(var15, 6l); +var14 = var16; +varonce13 = var14; } -if (varonce19) { -var20 = varonce19; +((struct instance_standard__NativeArray*)var8)->values[3]=var14; +if (likely(varonce17!=NULL)) { +var18 = varonce17; +} else { +var19 = " for extern */;"; +var20 = standard___standard__NativeString___to_s_with_length(var19, 15l); +var18 = var20; +varonce17 = var18; +} +((struct instance_standard__NativeArray*)var8)->values[5]=var18; } else { -var21 = " for extern */;"; -var22 = 15; -var23 = standard___standard__NativeString___to_s_with_length(var21, var22); -var20 = var23; -varonce19 = var20; +var8 = varonce7; +varonce7 = NULL; } -var24 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var24 = array_instance Array[Object] */ -var25 = 6; -var26 = NEW_standard__NativeArray(var25, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var26)->values[0] = (val*) var8; -((struct instance_standard__NativeArray*)var26)->values[1] = (val*) var10; -((struct instance_standard__NativeArray*)var26)->values[2] = (val*) var_name; -((struct instance_standard__NativeArray*)var26)->values[3] = (val*) var15; -((struct instance_standard__NativeArray*)var26)->values[4] = (val*) var_mtype; -((struct instance_standard__NativeArray*)var26)->values[5] = (val*) var20; { -((void (*)(val* self, val* p0, long p1))(var24->class->vft[COLOR_standard__array__Array__with_native]))(var24, var26, var25) /* with_native on */; +var21 = ((val*(*)(val* self))(var_mtype->class->vft[COLOR_nit__abstract_compiler__MType__ctype_extern]))(var_mtype); /* ctype_extern on */ } +((struct instance_standard__NativeArray*)var8)->values[0]=var21; +((struct instance_standard__NativeArray*)var8)->values[2]=var_name; +{ +var22 = ((val*(*)(val* self))(var_mtype->class->vft[COLOR_standard__string__Object__to_s]))(var_mtype); /* to_s on */ } +((struct instance_standard__NativeArray*)var8)->values[4]=var22; { -var27 = ((val* (*)(val* self))(var24->class->vft[COLOR_standard__string__Object__to_s]))(var24) /* to_s on */; +var23 = ((val*(*)(val* self))(var8->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var8); /* native_to_s on */ } +varonce7 = var8; { -nit___nit__AbstractCompilerVisitor___add_decl(self, var27); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(self, var23); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } var = var_res; goto RET_LABEL; @@ -8757,26 +8055,23 @@ val* var_name /* var name: String */; val* var1 /* : MType */; val* var2 /* : RuntimeVariable */; val* var_res /* var res: RuntimeVariable */; -val* var3 /* : String */; +val* var3 /* : NativeArray[String] */; static val* varonce; -val* var4 /* : String */; -char* var5 /* : NativeString */; -long var6 /* : Int */; +static val* varonce4; +val* var5 /* : String */; +char* var6 /* : NativeString */; val* var7 /* : FlatString */; static val* varonce8; val* var9 /* : String */; char* var10 /* : NativeString */; -long var11 /* : Int */; -val* var12 /* : FlatString */; -static val* varonce13; -val* var14 /* : String */; -char* var15 /* : NativeString */; -long var16 /* : Int */; -val* var17 /* : FlatString */; -val* var18 /* : Array[Object] */; -long var19 /* : Int */; -val* var20 /* : NativeArray[Object] */; -val* var21 /* : String */; +val* var11 /* : FlatString */; +static val* varonce12; +val* var13 /* : String */; +char* var14 /* : NativeString */; +val* var15 /* : FlatString */; +val* var16 /* : String */; +val* var17 /* : String */; +val* var18 /* : String */; var_mtype = p0; var_name = p1; { @@ -8785,67 +8080,66 @@ var1 = nit___nit__AbstractCompilerVisitor___anchor(self, var_mtype); var_mtype = var1; var2 = NEW_nit__RuntimeVariable(&type_nit__RuntimeVariable); { -((void (*)(val* self, val* p0))(var2->class->vft[COLOR_nit__abstract_compiler__RuntimeVariable__name_61d]))(var2, var_name) /* name= on */; +((void(*)(val* self, val* p0))(var2->class->vft[COLOR_nit__abstract_compiler__RuntimeVariable__name_61d]))(var2, var_name); /* name= on */ } { -((void (*)(val* self, val* p0))(var2->class->vft[COLOR_nit__abstract_compiler__RuntimeVariable__mtype_61d]))(var2, var_mtype) /* mtype= on */; +((void(*)(val* self, val* p0))(var2->class->vft[COLOR_nit__abstract_compiler__RuntimeVariable__mtype_61d]))(var2, var_mtype); /* mtype= on */ } { -((void (*)(val* self, val* p0))(var2->class->vft[COLOR_nit__abstract_compiler__RuntimeVariable__mcasttype_61d]))(var2, var_mtype) /* mcasttype= on */; +((void(*)(val* self, val* p0))(var2->class->vft[COLOR_nit__abstract_compiler__RuntimeVariable__mcasttype_61d]))(var2, var_mtype); /* mcasttype= on */ } { -((void (*)(val* self))(var2->class->vft[COLOR_standard__kernel__Object__init]))(var2) /* init on */; +((void(*)(val* self))(var2->class->vft[COLOR_standard__kernel__Object__init]))(var2); /* init on */ } var_res = var2; -{ -var3 = ((val* (*)(val* self))(var_mtype->class->vft[COLOR_nit__abstract_compiler__MType__ctype]))(var_mtype) /* ctype on */; -} -if (varonce) { -var4 = varonce; +if (unlikely(varonce==NULL)) { +var3 = NEW_standard__NativeArray(6l, &type_standard__NativeArray__standard__String); +if (likely(varonce4!=NULL)) { +var5 = varonce4; } else { -var5 = " "; -var6 = 1; -var7 = standard___standard__NativeString___to_s_with_length(var5, var6); -var4 = var7; -varonce = var4; +var6 = " "; +var7 = standard___standard__NativeString___to_s_with_length(var6, 1l); +var5 = var7; +varonce4 = var5; } -if (varonce8) { +((struct instance_standard__NativeArray*)var3)->values[1]=var5; +if (likely(varonce8!=NULL)) { var9 = varonce8; } else { var10 = " /* : "; -var11 = 6; -var12 = standard___standard__NativeString___to_s_with_length(var10, var11); -var9 = var12; +var11 = standard___standard__NativeString___to_s_with_length(var10, 6l); +var9 = var11; varonce8 = var9; } -if (varonce13) { -var14 = varonce13; +((struct instance_standard__NativeArray*)var3)->values[3]=var9; +if (likely(varonce12!=NULL)) { +var13 = varonce12; } else { -var15 = " */;"; -var16 = 4; -var17 = standard___standard__NativeString___to_s_with_length(var15, var16); -var14 = var17; -varonce13 = var14; +var14 = " */;"; +var15 = standard___standard__NativeString___to_s_with_length(var14, 4l); +var13 = var15; +varonce12 = var13; +} +((struct instance_standard__NativeArray*)var3)->values[5]=var13; +} else { +var3 = varonce; +varonce = NULL; } -var18 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var18 = array_instance Array[Object] */ -var19 = 6; -var20 = NEW_standard__NativeArray(var19, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var20)->values[0] = (val*) var3; -((struct instance_standard__NativeArray*)var20)->values[1] = (val*) var4; -((struct instance_standard__NativeArray*)var20)->values[2] = (val*) var_name; -((struct instance_standard__NativeArray*)var20)->values[3] = (val*) var9; -((struct instance_standard__NativeArray*)var20)->values[4] = (val*) var_mtype; -((struct instance_standard__NativeArray*)var20)->values[5] = (val*) var14; { -((void (*)(val* self, val* p0, long p1))(var18->class->vft[COLOR_standard__array__Array__with_native]))(var18, var20, var19) /* with_native on */; +var16 = ((val*(*)(val* self))(var_mtype->class->vft[COLOR_nit__abstract_compiler__MType__ctype]))(var_mtype); /* ctype on */ } +((struct instance_standard__NativeArray*)var3)->values[0]=var16; +((struct instance_standard__NativeArray*)var3)->values[2]=var_name; +{ +var17 = ((val*(*)(val* self))(var_mtype->class->vft[COLOR_standard__string__Object__to_s]))(var_mtype); /* to_s on */ } +((struct instance_standard__NativeArray*)var3)->values[4]=var17; { -var21 = ((val* (*)(val* self))(var18->class->vft[COLOR_standard__string__Object__to_s]))(var18) /* to_s on */; +var18 = ((val*(*)(val* self))(var3->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var3); /* native_to_s on */ } +varonce = var3; { -nit___nit__AbstractCompilerVisitor___add_decl(self, var21); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +nit___nit__AbstractCompilerVisitor___add_decl(self, var18); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ } var = var_res; goto RET_LABEL; @@ -8859,20 +8153,19 @@ val* var_right /* var right: RuntimeVariable */; val* var /* : MType */; val* var2 /* : MType */; val* var3 /* : RuntimeVariable */; +val* var4 /* : NativeArray[String] */; static val* varonce; -val* var4 /* : String */; -char* var5 /* : NativeString */; -long var6 /* : Int */; -val* var7 /* : FlatString */; -static val* varonce8; -val* var9 /* : String */; -char* var10 /* : NativeString */; -long var11 /* : Int */; +static val* varonce5; +val* var6 /* : String */; +char* var7 /* : NativeString */; +val* var8 /* : FlatString */; +static val* varonce9; +val* var10 /* : String */; +char* var11 /* : NativeString */; val* var12 /* : FlatString */; -val* var13 /* : Array[Object] */; -long var14 /* : Int */; -val* var15 /* : NativeArray[Object] */; -val* var16 /* : String */; +val* var13 /* : String */; +val* var14 /* : String */; +val* var15 /* : String */; var_left = p0; var_right = p1; { @@ -8880,8 +8173,8 @@ var_right = p1; var2 = var_left->attrs[COLOR_nit__abstract_compiler__RuntimeVariable___mtype].val; /* _mtype on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1680); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1784); +fatal_exit(1); } var = var2; RET_LABEL1:(void)0; @@ -8891,41 +8184,44 @@ RET_LABEL1:(void)0; var3 = nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__autobox(self, var_right, var); } var_right = var3; -if (varonce) { -var4 = varonce; +if (unlikely(varonce==NULL)) { +var4 = NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String); +if (likely(varonce5!=NULL)) { +var6 = varonce5; } else { -var5 = " = "; -var6 = 3; -var7 = standard___standard__NativeString___to_s_with_length(var5, var6); -var4 = var7; -varonce = var4; +var7 = " = "; +var8 = standard___standard__NativeString___to_s_with_length(var7, 3l); +var6 = var8; +varonce5 = var6; } -if (varonce8) { -var9 = varonce8; +((struct instance_standard__NativeArray*)var4)->values[1]=var6; +if (likely(varonce9!=NULL)) { +var10 = varonce9; } else { -var10 = ";"; -var11 = 1; -var12 = standard___standard__NativeString___to_s_with_length(var10, var11); -var9 = var12; -varonce8 = var9; +var11 = ";"; +var12 = standard___standard__NativeString___to_s_with_length(var11, 1l); +var10 = var12; +varonce9 = var10; +} +((struct instance_standard__NativeArray*)var4)->values[3]=var10; +} else { +var4 = varonce; +varonce = NULL; } -var13 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var13 = array_instance Array[Object] */ -var14 = 4; -var15 = NEW_standard__NativeArray(var14, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var15)->values[0] = (val*) var_left; -((struct instance_standard__NativeArray*)var15)->values[1] = (val*) var4; -((struct instance_standard__NativeArray*)var15)->values[2] = (val*) var_right; -((struct instance_standard__NativeArray*)var15)->values[3] = (val*) var9; { -((void (*)(val* self, val* p0, long p1))(var13->class->vft[COLOR_standard__array__Array__with_native]))(var13, var15, var14) /* with_native on */; +var13 = ((val*(*)(val* self))(var_left->class->vft[COLOR_standard__string__Object__to_s]))(var_left); /* to_s on */ } +((struct instance_standard__NativeArray*)var4)->values[0]=var13; +{ +var14 = ((val*(*)(val* self))(var_right->class->vft[COLOR_standard__string__Object__to_s]))(var_right); /* to_s on */ } +((struct instance_standard__NativeArray*)var4)->values[2]=var14; { -var16 = ((val* (*)(val* self))(var13->class->vft[COLOR_standard__string__Object__to_s]))(var13) /* to_s on */; +var15 = ((val*(*)(val* self))(var4->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var4); /* native_to_s on */ } +varonce = var4; { -nit___nit__AbstractCompilerVisitor___add(self, var16); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +nit___nit__AbstractCompilerVisitor___add(self, var15); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } RET_LABEL:; } @@ -8942,47 +8238,37 @@ val* var7 /* : String */; static val* varonce; val* var8 /* : String */; char* var9 /* : NativeString */; -long var10 /* : Int */; -val* var11 /* : FlatString */; -short int var12 /* : Bool */; +val* var10 /* : FlatString */; +short int var11 /* : Bool */; val* var_other /* var other: nullable Object */; +short int var13 /* : Bool */; short int var14 /* : Bool */; short int var15 /* : Bool */; -static val* varonce16; -val* var17 /* : String */; -char* var18 /* : NativeString */; -long var19 /* : Int */; -val* var20 /* : FlatString */; -short int var21 /* : Bool */; -val* var22 /* : RuntimeVariable */; +short int var16 /* : Bool */; +val* var17 /* : RuntimeVariable */; val* var_recv /* var recv: nullable Object */; +static val* varonce18; +val* var19 /* : String */; +char* var20 /* : NativeString */; +val* var21 /* : FlatString */; +short int var22 /* : Bool */; static val* varonce23; val* var24 /* : String */; char* var25 /* : NativeString */; -long var26 /* : Int */; -val* var27 /* : FlatString */; -short int var28 /* : Bool */; -static val* varonce29; -val* var30 /* : String */; -char* var31 /* : NativeString */; -long var32 /* : Int */; +val* var26 /* : FlatString */; +val* var27 /* : RuntimeVariable */; +val* var29 /* : NativeArray[String] */; +static val* varonce28; +static val* varonce30; +val* var31 /* : String */; +char* var32 /* : NativeString */; val* var33 /* : FlatString */; -val* var34 /* : RuntimeVariable */; -static val* varonce35; -val* var36 /* : String */; -char* var37 /* : NativeString */; -long var38 /* : Int */; -val* var39 /* : FlatString */; -static val* varonce40; -val* var41 /* : String */; -char* var42 /* : NativeString */; -long var43 /* : Int */; -val* var44 /* : FlatString */; -val* var45 /* : Array[Object] */; -long var46 /* : Int */; -val* var47 /* : NativeArray[Object] */; -val* var48 /* : String */; -val* var49 /* : RuntimeVariable */; +static val* varonce34; +val* var35 /* : String */; +char* var36 /* : NativeString */; +val* var37 /* : FlatString */; +val* var38 /* : String */; +val* var39 /* : RuntimeVariable */; var_mtype = p0; { var1 = nit__abstract_compiler___MClassType___MType__ctype(var_mtype); @@ -8993,8 +8279,8 @@ var_ctype = var1; var4 = var_mtype->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ if (unlikely(var4 == 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); } var2 = var4; RET_LABEL3:(void)0; @@ -9005,120 +8291,106 @@ RET_LABEL3:(void)0; var7 = var2->attrs[COLOR_nit__model__MClass___name].val; /* _name on */ if (unlikely(var7 == 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); } var5 = var7; RET_LABEL6:(void)0; } } -if (varonce) { +if (likely(varonce!=NULL)) { var8 = varonce; } else { var9 = "NativeArray"; -var10 = 11; -var11 = standard___standard__NativeString___to_s_with_length(var9, var10); -var8 = var11; +var10 = standard___standard__NativeString___to_s_with_length(var9, 11l); +var8 = var10; varonce = var8; } { { /* Inline kernel#Object#!= (var5,var8) on */ var_other = var8; { -var14 = ((short int (*)(val* self, val* p0))(var5->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var5, var_other) /* == on */; +var13 = ((short int(*)(val* self, val* p0))(var5->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var5, var_other); /* == on */ } -var15 = !var14; -var12 = var15; -goto RET_LABEL13; -RET_LABEL13:(void)0; +var14 = !var13; +var11 = var14; +goto RET_LABEL12; +RET_LABEL12:(void)0; } } -if (unlikely(!var12)) { +if (unlikely(!var11)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1397); -show_backtrace(1); -} -if (varonce16) { -var17 = varonce16; -} else { -var18 = "val*"; -var19 = 4; -var20 = standard___standard__NativeString___to_s_with_length(var18, var19); -var17 = var20; -varonce16 = var17; +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1450); +fatal_exit(1); } { -var21 = ((short int (*)(val* self, val* p0))(var_ctype->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_ctype, var17) /* == on */; +var15 = nit__abstract_compiler___MClassType___MType__is_c_primitive(var_mtype); } -if (var21){ +var16 = !var15; +if (var16){ { -var22 = ((val* (*)(val* self, val* p0))(self->class->vft[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__init_instance]))(self, var_mtype) /* init_instance on */; +var17 = ((val*(*)(val* self, val* p0))(self->class->vft[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__init_instance]))(self, var_mtype); /* init_instance on */ } -var_recv = var22; +var_recv = var17; } else { -if (varonce23) { -var24 = varonce23; +if (likely(varonce18!=NULL)) { +var19 = varonce18; } else { -var25 = "char*"; -var26 = 5; -var27 = standard___standard__NativeString___to_s_with_length(var25, var26); -var24 = var27; -varonce23 = var24; +var20 = "char*"; +var21 = standard___standard__NativeString___to_s_with_length(var20, 5l); +var19 = var21; +varonce18 = var19; } { -var28 = ((short int (*)(val* self, val* p0))(var_ctype->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_ctype, var24) /* == on */; +var22 = ((short int(*)(val* self, val* p0))(var_ctype->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_ctype, var19); /* == on */ } -if (var28){ -if (varonce29) { -var30 = varonce29; +if (var22){ +if (likely(varonce23!=NULL)) { +var24 = varonce23; } else { -var31 = "NULL/*special!*/"; -var32 = 16; -var33 = standard___standard__NativeString___to_s_with_length(var31, var32); -var30 = var33; -varonce29 = var30; +var25 = "NULL/*special!*/"; +var26 = standard___standard__NativeString___to_s_with_length(var25, 16l); +var24 = var26; +varonce23 = var24; } { -var34 = nit___nit__AbstractCompilerVisitor___new_expr(self, var30, var_mtype); +var27 = nit___nit__AbstractCompilerVisitor___new_expr(self, var24, var_mtype); } -var_recv = var34; +var_recv = var27; } else { -if (varonce35) { -var36 = varonce35; +if (unlikely(varonce28==NULL)) { +var29 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce30!=NULL)) { +var31 = varonce30; } else { -var37 = "("; -var38 = 1; -var39 = standard___standard__NativeString___to_s_with_length(var37, var38); -var36 = var39; -varonce35 = var36; +var32 = "("; +var33 = standard___standard__NativeString___to_s_with_length(var32, 1l); +var31 = var33; +varonce30 = var31; } -if (varonce40) { -var41 = varonce40; +((struct instance_standard__NativeArray*)var29)->values[0]=var31; +if (likely(varonce34!=NULL)) { +var35 = varonce34; } else { -var42 = ")0/*special!*/"; -var43 = 14; -var44 = standard___standard__NativeString___to_s_with_length(var42, var43); -var41 = var44; -varonce40 = var41; -} -var45 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var45 = array_instance Array[Object] */ -var46 = 3; -var47 = NEW_standard__NativeArray(var46, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var47)->values[0] = (val*) var36; -((struct instance_standard__NativeArray*)var47)->values[1] = (val*) var_ctype; -((struct instance_standard__NativeArray*)var47)->values[2] = (val*) var41; -{ -((void (*)(val* self, val* p0, long p1))(var45->class->vft[COLOR_standard__array__Array__with_native]))(var45, var47, var46) /* with_native on */; +var36 = ")0/*special!*/"; +var37 = standard___standard__NativeString___to_s_with_length(var36, 14l); +var35 = var37; +varonce34 = var35; } +((struct instance_standard__NativeArray*)var29)->values[2]=var35; +} else { +var29 = varonce28; +varonce28 = NULL; } +((struct instance_standard__NativeArray*)var29)->values[1]=var_ctype; { -var48 = ((val* (*)(val* self))(var45->class->vft[COLOR_standard__string__Object__to_s]))(var45) /* to_s on */; +var38 = ((val*(*)(val* self))(var29->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var29); /* native_to_s on */ } +varonce28 = var29; { -var49 = nit___nit__AbstractCompilerVisitor___new_expr(self, var48, var_mtype); +var39 = nit___nit__AbstractCompilerVisitor___new_expr(self, var38, var_mtype); } -var_recv = var49; +var_recv = var39; } } var = var_recv; @@ -9140,44 +8412,40 @@ val* var9 /* : nullable MClassType */; val* var_finalizable_type /* var finalizable_type: nullable MClassType */; short int var10 /* : Bool */; short int var11 /* : Bool */; -val* var12 /* : null */; +short int var12 /* : Bool */; short int var13 /* : Bool */; -short int var14 /* : Bool */; val* var_other /* var other: nullable Object */; +short int var15 /* : Bool */; short int var16 /* : Bool */; -short int var17 /* : Bool */; short int var_ /* var : Bool */; +short int var17 /* : Bool */; short int var18 /* : Bool */; -short int var19 /* : Bool */; -short int var_20 /* var : Bool */; -val* var21 /* : AbstractCompiler */; -val* var23 /* : AbstractCompiler */; -val* var24 /* : MModule */; -val* var26 /* : MModule */; -val* var27 /* : null */; -short int var28 /* : Bool */; +short int var_19 /* var : Bool */; +val* var20 /* : AbstractCompiler */; +val* var22 /* : AbstractCompiler */; +val* var23 /* : MModule */; +val* var25 /* : MModule */; +short int var26 /* : Bool */; +val* var27 /* : NativeArray[String] */; static val* varonce; +static val* varonce28; val* var29 /* : String */; char* var30 /* : NativeString */; -long var31 /* : Int */; -val* var32 /* : FlatString */; -static val* varonce33; -val* var34 /* : String */; -char* var35 /* : NativeString */; -long var36 /* : Int */; -val* var37 /* : FlatString */; -val* var38 /* : Array[Object] */; -long var39 /* : Int */; -val* var40 /* : NativeArray[Object] */; -val* var41 /* : String */; +val* var31 /* : FlatString */; +static val* varonce32; +val* var33 /* : String */; +char* var34 /* : NativeString */; +val* var35 /* : FlatString */; +val* var36 /* : String */; +val* var37 /* : String */; var_recv = p0; { { /* Inline abstract_compiler#RuntimeVariable#mtype (var_recv) on */ var2 = var_recv->attrs[COLOR_nit__abstract_compiler__RuntimeVariable___mtype].val; /* _mtype on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1680); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1784); +fatal_exit(1); } var = var2; RET_LABEL1:(void)0; @@ -9189,8 +8457,8 @@ var_mtype = var; var5 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ if (unlikely(var5 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1059); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1102); +fatal_exit(1); } var3 = var5; RET_LABEL4:(void)0; @@ -9201,8 +8469,8 @@ RET_LABEL4:(void)0; var8 = var3->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on */ if (unlikely(var8 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 474); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 515); +fatal_exit(1); } var6 = var8; RET_LABEL7:(void)0; @@ -9212,325 +8480,1327 @@ RET_LABEL7:(void)0; var9 = nit__model___MModule___finalizable_type(var6); } var_finalizable_type = var9; -var12 = NULL; if (var_finalizable_type == NULL) { -var13 = 0; /* is null */ +var12 = 0; /* is null */ } else { -var13 = 1; /* arg is null and recv is not */ +var12 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_finalizable_type,var12) on */ -var_other = var12; +{ /* Inline kernel#Object#!= (var_finalizable_type,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var16 = ((short int (*)(val* self, val* p0))(var_finalizable_type->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_finalizable_type, var_other) /* == on */; +var15 = ((short int(*)(val* self, val* p0))(var_finalizable_type->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_finalizable_type, var_other); /* == on */ } -var17 = !var16; -var14 = var17; -goto RET_LABEL15; -RET_LABEL15:(void)0; +var16 = !var15; +var13 = var16; +goto RET_LABEL14; +RET_LABEL14:(void)0; } -var13 = var14; +var12 = var13; } -var_ = var13; -if (var13){ +var_ = var12; +if (var12){ { -var18 = ((short int (*)(val* self))(var_mtype->class->vft[COLOR_nit__model__MType__need_anchor]))(var_mtype) /* need_anchor on */; +var17 = ((short int(*)(val* self))(var_mtype->class->vft[COLOR_nit__model__MType__need_anchor]))(var_mtype); /* need_anchor on */ } -var19 = !var18; -var11 = var19; +var18 = !var17; +var11 = var18; } else { var11 = var_; } -var_20 = var11; +var_19 = var11; if (var11){ { { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on */ -var23 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ -if (unlikely(var23 == NULL)) { +var22 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ +if (unlikely(var22 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1059); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1102); +fatal_exit(1); } -var21 = var23; -RET_LABEL22:(void)0; +var20 = var22; +RET_LABEL21:(void)0; } } { -{ /* Inline abstract_compiler#AbstractCompiler#mainmodule (var21) on */ -var26 = var21->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on */ -if (unlikely(var26 == NULL)) { +{ /* Inline abstract_compiler#AbstractCompiler#mainmodule (var20) on */ +var25 = var20->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on */ +if (unlikely(var25 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 474); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 515); +fatal_exit(1); } -var24 = var26; -RET_LABEL25:(void)0; +var23 = var25; +RET_LABEL24:(void)0; } } -var27 = NULL; { -var28 = nit___nit__MType___is_subtype(var_mtype, var24, var27, var_finalizable_type); +var26 = nit___nit__MType___is_subtype(var_mtype, var23, ((val*)NULL), var_finalizable_type); } -var10 = var28; +var10 = var26; } else { -var10 = var_20; +var10 = var_19; } if (var10){ -if (varonce) { -var29 = varonce; +if (unlikely(varonce==NULL)) { +var27 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce28!=NULL)) { +var29 = varonce28; } else { var30 = "gc_register_finalizer("; -var31 = 22; -var32 = standard___standard__NativeString___to_s_with_length(var30, var31); -var29 = var32; -varonce = var29; +var31 = standard___standard__NativeString___to_s_with_length(var30, 22l); +var29 = var31; +varonce28 = var29; +} +((struct instance_standard__NativeArray*)var27)->values[0]=var29; +if (likely(varonce32!=NULL)) { +var33 = varonce32; +} else { +var34 = ");"; +var35 = standard___standard__NativeString___to_s_with_length(var34, 2l); +var33 = var35; +varonce32 = var33; } -if (varonce33) { -var34 = varonce33; +((struct instance_standard__NativeArray*)var27)->values[2]=var33; } else { -var35 = ");"; -var36 = 2; -var37 = standard___standard__NativeString___to_s_with_length(var35, var36); -var34 = var37; -varonce33 = var34; +var27 = varonce; +varonce = NULL; } -var38 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var38 = array_instance Array[Object] */ -var39 = 3; -var40 = NEW_standard__NativeArray(var39, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var40)->values[0] = (val*) var29; -((struct instance_standard__NativeArray*)var40)->values[1] = (val*) var_recv; -((struct instance_standard__NativeArray*)var40)->values[2] = (val*) var34; { -((void (*)(val* self, val* p0, long p1))(var38->class->vft[COLOR_standard__array__Array__with_native]))(var38, var40, var39) /* with_native on */; -} +var36 = ((val*(*)(val* self))(var_recv->class->vft[COLOR_standard__string__Object__to_s]))(var_recv); /* to_s on */ } +((struct instance_standard__NativeArray*)var27)->values[1]=var36; { -var41 = ((val* (*)(val* self))(var38->class->vft[COLOR_standard__string__Object__to_s]))(var38) /* to_s on */; +var37 = ((val*(*)(val* self))(var27->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var27); /* native_to_s on */ } +varonce = var27; { -nit___nit__AbstractCompilerVisitor___add(self, var41); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +nit___nit__AbstractCompilerVisitor___add(self, var37); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } } else { } RET_LABEL:; } +/* method abstract_compiler#AbstractCompilerVisitor#mmodule for (self: AbstractCompilerVisitor): MModule */ +val* nit___nit__AbstractCompilerVisitor___mmodule(val* self) { +val* var /* : MModule */; +val* var1 /* : AbstractCompiler */; +val* var3 /* : AbstractCompiler */; +val* var4 /* : MModule */; +val* var6 /* : MModule */; +{ +{ /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on */ +var3 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1102); +fatal_exit(1); +} +var1 = var3; +RET_LABEL2:(void)0; +} +} +{ +{ /* Inline abstract_compiler#AbstractCompiler#mainmodule (var1) on */ +var6 = var1->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on */ +if (unlikely(var6 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 515); +fatal_exit(1); +} +var4 = var6; +RET_LABEL5:(void)0; +} +} +var = var4; +goto RET_LABEL; +RET_LABEL:; +return var; +} /* method abstract_compiler#AbstractCompilerVisitor#int_instance for (self: AbstractCompilerVisitor, Int): RuntimeVariable */ val* nit___nit__AbstractCompilerVisitor___int_instance(val* self, long p0) { val* var /* : RuntimeVariable */; long var_value /* var value: Int */; +val* var1 /* : MModule */; +val* var2 /* : MClassType */; +val* var_t /* var t: MClassType */; +val* var3 /* : RuntimeVariable */; +val* var4 /* : NativeArray[String] */; static val* varonce; -val* var1 /* : String */; -char* var2 /* : NativeString */; -long var3 /* : Int */; -val* var4 /* : FlatString */; -val* var5 /* : MClass */; -val* var6 /* : MClassType */; -val* var8 /* : MClassType */; -val* var9 /* : RuntimeVariable */; +static val* varonce5; +val* var6 /* : String */; +char* var7 /* : NativeString */; +val* var8 /* : FlatString */; +val* var9 /* : String */; +val* var10 /* : String */; val* var_res /* var res: RuntimeVariable */; -static val* varonce10; -val* var11 /* : String */; -char* var12 /* : NativeString */; -long var13 /* : Int */; -val* var14 /* : FlatString */; -static val* varonce15; -val* var16 /* : String */; -char* var17 /* : NativeString */; -long var18 /* : Int */; -val* var19 /* : FlatString */; -val* var20 /* : Array[Object] */; -long var21 /* : Int */; -val* var22 /* : NativeArray[Object] */; -val* var23 /* : Object */; -val* var24 /* : String */; var_value = p0; -if (varonce) { -var1 = varonce; -} else { -var2 = "Int"; -var3 = 3; -var4 = standard___standard__NativeString___to_s_with_length(var2, var3); -var1 = var4; -varonce = var1; -} { -var5 = nit___nit__AbstractCompilerVisitor___get_class(self, var1); +var1 = nit___nit__AbstractCompilerVisitor___mmodule(self); } { -{ /* Inline model#MClass#mclass_type (var5) on */ -var8 = var5->attrs[COLOR_nit__model__MClass___mclass_type].val; /* _mclass_type on */ -if (unlikely(var8 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 438); -show_backtrace(1); +var2 = nit__model___MModule___int_type(var1); } +var_t = var2; +var3 = NEW_nit__RuntimeVariable(&type_nit__RuntimeVariable); +if (unlikely(varonce==NULL)) { +var4 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String); +if (likely(varonce5!=NULL)) { +var6 = varonce5; +} else { +var7 = "l"; +var8 = standard___standard__NativeString___to_s_with_length(var7, 1l); var6 = var8; -RET_LABEL7:(void)0; +varonce5 = var6; } +((struct instance_standard__NativeArray*)var4)->values[1]=var6; +} else { +var4 = varonce; +varonce = NULL; } { -var9 = nit___nit__AbstractCompilerVisitor___new_var(self, var6); -} -var_res = var9; -if (varonce10) { -var11 = varonce10; -} else { -var12 = " = "; -var13 = 3; -var14 = standard___standard__NativeString___to_s_with_length(var12, var13); -var11 = var14; -varonce10 = var11; +var9 = standard__string___Int___Object__to_s(var_value); } -if (varonce15) { -var16 = varonce15; -} else { -var17 = ";"; -var18 = 1; -var19 = standard___standard__NativeString___to_s_with_length(var17, var18); -var16 = var19; -varonce15 = var16; +((struct instance_standard__NativeArray*)var4)->values[0]=var9; +{ +var10 = ((val*(*)(val* self))(var4->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var4); /* native_to_s on */ } -var20 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var20 = array_instance Array[Object] */ -var21 = 4; -var22 = NEW_standard__NativeArray(var21, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var22)->values[0] = (val*) var_res; -((struct instance_standard__NativeArray*)var22)->values[1] = (val*) var11; -var23 = BOX_standard__Int(var_value); /* autobox from Int to Object */ -((struct instance_standard__NativeArray*)var22)->values[2] = (val*) var23; -((struct instance_standard__NativeArray*)var22)->values[3] = (val*) var16; +varonce = var4; { -((void (*)(val* self, val* p0, long p1))(var20->class->vft[COLOR_standard__array__Array__with_native]))(var20, var22, var21) /* with_native on */; +((void(*)(val* self, val* p0))(var3->class->vft[COLOR_nit__abstract_compiler__RuntimeVariable__name_61d]))(var3, var10); /* name= on */ } +{ +((void(*)(val* self, val* p0))(var3->class->vft[COLOR_nit__abstract_compiler__RuntimeVariable__mtype_61d]))(var3, var_t); /* mtype= on */ } { -var24 = ((val* (*)(val* self))(var20->class->vft[COLOR_standard__string__Object__to_s]))(var20) /* to_s on */; +((void(*)(val* self, val* p0))(var3->class->vft[COLOR_nit__abstract_compiler__RuntimeVariable__mcasttype_61d]))(var3, var_t); /* mcasttype= on */ } { -nit___nit__AbstractCompilerVisitor___add(self, var24); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +((void(*)(val* self))(var3->class->vft[COLOR_standard__kernel__Object__init]))(var3); /* init on */ } +var_res = var3; var = var_res; goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_compiler#AbstractCompilerVisitor#bool_instance for (self: AbstractCompilerVisitor, Bool): RuntimeVariable */ -val* nit___nit__AbstractCompilerVisitor___bool_instance(val* self, short int p0) { +/* method abstract_compiler#AbstractCompilerVisitor#byte_instance for (self: AbstractCompilerVisitor, Byte): RuntimeVariable */ +val* nit___nit__AbstractCompilerVisitor___byte_instance(val* self, unsigned char p0) { val* var /* : RuntimeVariable */; -short int var_value /* var value: Bool */; +unsigned char var_value /* var value: Byte */; +val* var1 /* : MModule */; +val* var2 /* : MClassType */; +val* var_t /* var t: MClassType */; +val* var3 /* : RuntimeVariable */; +val* var4 /* : NativeArray[String] */; static val* varonce; -val* var1 /* : String */; -char* var2 /* : NativeString */; -long var3 /* : Int */; -val* var4 /* : FlatString */; -val* var5 /* : MClass */; -val* var6 /* : MClassType */; -val* var8 /* : MClassType */; -val* var9 /* : RuntimeVariable */; +static val* varonce5; +val* var6 /* : String */; +char* var7 /* : NativeString */; +val* var8 /* : FlatString */; +static val* varonce9; +val* var10 /* : String */; +char* var11 /* : NativeString */; +val* var12 /* : FlatString */; +val* var13 /* : String */; +val* var14 /* : String */; val* var_res /* var res: RuntimeVariable */; -static val* varonce10; -val* var11 /* : String */; -char* var12 /* : NativeString */; -long var13 /* : Int */; -val* var14 /* : FlatString */; -val* var15 /* : Array[Object] */; -long var16 /* : Int */; -val* var17 /* : NativeArray[Object] */; -val* var18 /* : String */; -static val* varonce19; -val* var20 /* : String */; -char* var21 /* : NativeString */; -long var22 /* : Int */; -val* var23 /* : FlatString */; -val* var24 /* : Array[Object] */; -long var25 /* : Int */; -val* var26 /* : NativeArray[Object] */; -val* var27 /* : String */; var_value = p0; -if (varonce) { -var1 = varonce; -} else { -var2 = "Bool"; -var3 = 4; -var4 = standard___standard__NativeString___to_s_with_length(var2, var3); -var1 = var4; -varonce = var1; -} { -var5 = nit___nit__AbstractCompilerVisitor___get_class(self, var1); +var1 = nit___nit__AbstractCompilerVisitor___mmodule(self); } { -{ /* Inline model#MClass#mclass_type (var5) on */ -var8 = var5->attrs[COLOR_nit__model__MClass___mclass_type].val; /* _mclass_type on */ -if (unlikely(var8 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 438); -show_backtrace(1); +var2 = nit__model___MModule___byte_type(var1); } +var_t = var2; +var3 = NEW_nit__RuntimeVariable(&type_nit__RuntimeVariable); +if (unlikely(varonce==NULL)) { +var4 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce5!=NULL)) { +var6 = varonce5; +} else { +var7 = "((unsigned char)"; +var8 = standard___standard__NativeString___to_s_with_length(var7, 16l); var6 = var8; -RET_LABEL7:(void)0; +varonce5 = var6; +} +((struct instance_standard__NativeArray*)var4)->values[0]=var6; +if (likely(varonce9!=NULL)) { +var10 = varonce9; +} else { +var11 = ")"; +var12 = standard___standard__NativeString___to_s_with_length(var11, 1l); +var10 = var12; +varonce9 = var10; +} +((struct instance_standard__NativeArray*)var4)->values[2]=var10; +} else { +var4 = varonce; +varonce = NULL; } +{ +var13 = standard__string___Byte___Object__to_s(var_value); } +((struct instance_standard__NativeArray*)var4)->values[1]=var13; { -var9 = nit___nit__AbstractCompilerVisitor___new_var(self, var6); +var14 = ((val*(*)(val* self))(var4->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var4); /* native_to_s on */ } -var_res = var9; -if (var_value){ -if (varonce10) { -var11 = varonce10; +varonce = var4; +{ +((void(*)(val* self, val* p0))(var3->class->vft[COLOR_nit__abstract_compiler__RuntimeVariable__name_61d]))(var3, var14); /* name= on */ +} +{ +((void(*)(val* self, val* p0))(var3->class->vft[COLOR_nit__abstract_compiler__RuntimeVariable__mtype_61d]))(var3, var_t); /* mtype= on */ +} +{ +((void(*)(val* self, val* p0))(var3->class->vft[COLOR_nit__abstract_compiler__RuntimeVariable__mcasttype_61d]))(var3, var_t); /* mcasttype= on */ +} +{ +((void(*)(val* self))(var3->class->vft[COLOR_standard__kernel__Object__init]))(var3); /* init on */ +} +var_res = var3; +var = var_res; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method abstract_compiler#AbstractCompilerVisitor#char_instance for (self: AbstractCompilerVisitor, Char): RuntimeVariable */ +val* nit___nit__AbstractCompilerVisitor___char_instance(val* self, uint32_t p0) { +val* var /* : RuntimeVariable */; +uint32_t var_value /* var value: Char */; +val* var1 /* : MModule */; +val* var2 /* : MClassType */; +val* var_t /* var t: MClassType */; +val* var3 /* : RuntimeVariable */; +val* var4 /* : NativeArray[String] */; +static val* varonce; +static val* varonce5; +val* var6 /* : String */; +char* var7 /* : NativeString */; +val* var8 /* : FlatString */; +static val* varonce9; +val* var10 /* : String */; +char* var11 /* : NativeString */; +val* var12 /* : FlatString */; +val* var13 /* : String */; +val* var14 /* : String */; +val* var15 /* : String */; +val* var_res /* var res: RuntimeVariable */; +var_value = p0; +{ +var1 = nit___nit__AbstractCompilerVisitor___mmodule(self); +} +{ +var2 = nit__model___MModule___char_type(var1); +} +var_t = var2; +var3 = NEW_nit__RuntimeVariable(&type_nit__RuntimeVariable); +if (unlikely(varonce==NULL)) { +var4 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce5!=NULL)) { +var6 = varonce5; } else { -var12 = " = 1;"; -var13 = 5; -var14 = standard___standard__NativeString___to_s_with_length(var12, var13); -var11 = var14; -varonce10 = var11; +var7 = "\'"; +var8 = standard___standard__NativeString___to_s_with_length(var7, 1l); +var6 = var8; +varonce5 = var6; +} +((struct instance_standard__NativeArray*)var4)->values[0]=var6; +if (likely(varonce9!=NULL)) { +var10 = varonce9; +} else { +var11 = "\'"; +var12 = standard___standard__NativeString___to_s_with_length(var11, 1l); +var10 = var12; +varonce9 = var10; +} +((struct instance_standard__NativeArray*)var4)->values[2]=var10; +} else { +var4 = varonce; +varonce = NULL; +} +{ +var13 = standard__string___Char___Object__to_s(var_value); +} +{ +var14 = standard___standard__Text___escape_to_c(var13); +} +((struct instance_standard__NativeArray*)var4)->values[1]=var14; +{ +var15 = ((val*(*)(val* self))(var4->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var4); /* native_to_s on */ } -var15 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var15 = array_instance Array[Object] */ -var16 = 2; -var17 = NEW_standard__NativeArray(var16, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var17)->values[0] = (val*) var_res; -((struct instance_standard__NativeArray*)var17)->values[1] = (val*) var11; +varonce = var4; +{ +((void(*)(val* self, val* p0))(var3->class->vft[COLOR_nit__abstract_compiler__RuntimeVariable__name_61d]))(var3, var15); /* name= on */ +} +{ +((void(*)(val* self, val* p0))(var3->class->vft[COLOR_nit__abstract_compiler__RuntimeVariable__mtype_61d]))(var3, var_t); /* mtype= on */ +} +{ +((void(*)(val* self, val* p0))(var3->class->vft[COLOR_nit__abstract_compiler__RuntimeVariable__mcasttype_61d]))(var3, var_t); /* mcasttype= on */ +} +{ +((void(*)(val* self))(var3->class->vft[COLOR_standard__kernel__Object__init]))(var3); /* init on */ +} +var_res = var3; +var = var_res; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method abstract_compiler#AbstractCompilerVisitor#float_instance for (self: AbstractCompilerVisitor, String): RuntimeVariable */ +val* nit___nit__AbstractCompilerVisitor___float_instance(val* self, val* p0) { +val* var /* : RuntimeVariable */; +val* var_value /* var value: String */; +val* var1 /* : MModule */; +val* var2 /* : MClassType */; +val* var_t /* var t: MClassType */; +val* var3 /* : RuntimeVariable */; +val* var4 /* : NativeArray[String] */; +static val* varonce; +val* var5 /* : String */; +val* var_res /* var res: RuntimeVariable */; +var_value = p0; +{ +var1 = nit___nit__AbstractCompilerVisitor___mmodule(self); +} +{ +var2 = nit__model___MModule___float_type(var1); +} +var_t = var2; +var3 = NEW_nit__RuntimeVariable(&type_nit__RuntimeVariable); +if (unlikely(varonce==NULL)) { +var4 = NEW_standard__NativeArray(1l, &type_standard__NativeArray__standard__String); +} else { +var4 = varonce; +varonce = NULL; +} +((struct instance_standard__NativeArray*)var4)->values[0]=var_value; { -((void (*)(val* self, val* p0, long p1))(var15->class->vft[COLOR_standard__array__Array__with_native]))(var15, var17, var16) /* with_native on */; +var5 = ((val*(*)(val* self))(var4->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var4); /* native_to_s on */ } +varonce = var4; +{ +((void(*)(val* self, val* p0))(var3->class->vft[COLOR_nit__abstract_compiler__RuntimeVariable__name_61d]))(var3, var5); /* name= on */ +} +{ +((void(*)(val* self, val* p0))(var3->class->vft[COLOR_nit__abstract_compiler__RuntimeVariable__mtype_61d]))(var3, var_t); /* mtype= on */ } { -var18 = ((val* (*)(val* self))(var15->class->vft[COLOR_standard__string__Object__to_s]))(var15) /* to_s on */; +((void(*)(val* self, val* p0))(var3->class->vft[COLOR_nit__abstract_compiler__RuntimeVariable__mcasttype_61d]))(var3, var_t); /* mcasttype= on */ } { -nit___nit__AbstractCompilerVisitor___add(self, var18); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +((void(*)(val* self))(var3->class->vft[COLOR_standard__kernel__Object__init]))(var3); /* init on */ } +var_res = var3; +var = var_res; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method abstract_compiler#AbstractCompilerVisitor#bool_instance for (self: AbstractCompilerVisitor, Bool): RuntimeVariable */ +val* nit___nit__AbstractCompilerVisitor___bool_instance(val* self, short int p0) { +val* var /* : RuntimeVariable */; +short int var_value /* var value: Bool */; +val* var1 /* : String */; +static val* varonce; +val* var2 /* : String */; +char* var3 /* : NativeString */; +val* var4 /* : FlatString */; +static val* varonce5; +val* var6 /* : String */; +char* var7 /* : NativeString */; +val* var8 /* : FlatString */; +val* var_s /* var s: String */; +val* var9 /* : RuntimeVariable */; +val* var10 /* : MClassType */; +val* var11 /* : MClassType */; +val* var_res /* var res: RuntimeVariable */; +var_value = p0; +if (var_value){ +if (likely(varonce!=NULL)) { +var2 = varonce; +} else { +var3 = "1"; +var4 = standard___standard__NativeString___to_s_with_length(var3, 1l); +var2 = var4; +varonce = var2; +} +var1 = var2; } else { -if (varonce19) { -var20 = varonce19; +if (likely(varonce5!=NULL)) { +var6 = varonce5; } else { -var21 = " = 0;"; -var22 = 5; -var23 = standard___standard__NativeString___to_s_with_length(var21, var22); -var20 = var23; -varonce19 = var20; +var7 = "0"; +var8 = standard___standard__NativeString___to_s_with_length(var7, 1l); +var6 = var8; +varonce5 = var6; +} +var1 = var6; +} +var_s = var1; +var9 = NEW_nit__RuntimeVariable(&type_nit__RuntimeVariable); +{ +var10 = nit___nit__AbstractCompilerVisitor___bool_type(self); } -var24 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var24 = array_instance Array[Object] */ -var25 = 2; -var26 = NEW_standard__NativeArray(var25, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var26)->values[0] = (val*) var_res; -((struct instance_standard__NativeArray*)var26)->values[1] = (val*) var20; { -((void (*)(val* self, val* p0, long p1))(var24->class->vft[COLOR_standard__array__Array__with_native]))(var24, var26, var25) /* with_native on */; +var11 = nit___nit__AbstractCompilerVisitor___bool_type(self); } +{ +((void(*)(val* self, val* p0))(var9->class->vft[COLOR_nit__abstract_compiler__RuntimeVariable__name_61d]))(var9, var_s); /* name= on */ +} +{ +((void(*)(val* self, val* p0))(var9->class->vft[COLOR_nit__abstract_compiler__RuntimeVariable__mtype_61d]))(var9, var10); /* mtype= on */ +} +{ +((void(*)(val* self, val* p0))(var9->class->vft[COLOR_nit__abstract_compiler__RuntimeVariable__mcasttype_61d]))(var9, var11); /* mcasttype= on */ +} +{ +((void(*)(val* self))(var9->class->vft[COLOR_standard__kernel__Object__init]))(var9); /* init on */ +} +var_res = var9; +var = var_res; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method abstract_compiler#AbstractCompilerVisitor#null_instance for (self: AbstractCompilerVisitor): RuntimeVariable */ +val* nit___nit__AbstractCompilerVisitor___null_instance(val* self) { +val* var /* : RuntimeVariable */; +val* var1 /* : AbstractCompiler */; +val* var3 /* : AbstractCompiler */; +val* var4 /* : MModule */; +val* var6 /* : MModule */; +val* var7 /* : Model */; +val* var9 /* : Model */; +val* var10 /* : MNullType */; +val* var12 /* : MNullType */; +val* var_t /* var t: MNullType */; +val* var13 /* : RuntimeVariable */; +static val* varonce; +val* var14 /* : String */; +char* var15 /* : NativeString */; +val* var16 /* : FlatString */; +val* var_res /* var res: RuntimeVariable */; +{ +{ /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on */ +var3 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1102); +fatal_exit(1); +} +var1 = var3; +RET_LABEL2:(void)0; +} +} +{ +{ /* Inline abstract_compiler#AbstractCompiler#mainmodule (var1) on */ +var6 = var1->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on */ +if (unlikely(var6 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 515); +fatal_exit(1); +} +var4 = var6; +RET_LABEL5:(void)0; +} +} +{ +{ /* Inline mmodule#MModule#model (var4) on */ +var9 = var4->attrs[COLOR_nit__mmodule__MModule___model].val; /* _model on */ +if (unlikely(var9 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 73); +fatal_exit(1); +} +var7 = var9; +RET_LABEL8:(void)0; +} +} +{ +{ /* Inline model#Model#null_type (var7) on */ +var12 = var7->attrs[COLOR_nit__model__Model___null_type].val; /* _null_type on */ +if (unlikely(var12 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _null_type"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 94); +fatal_exit(1); +} +var10 = var12; +RET_LABEL11:(void)0; +} +} +var_t = var10; +var13 = NEW_nit__RuntimeVariable(&type_nit__RuntimeVariable); +if (likely(varonce!=NULL)) { +var14 = varonce; +} else { +var15 = "((val*)NULL)"; +var16 = standard___standard__NativeString___to_s_with_length(var15, 12l); +var14 = var16; +varonce = var14; } { -var27 = ((val* (*)(val* self))(var24->class->vft[COLOR_standard__string__Object__to_s]))(var24) /* to_s on */; +((void(*)(val* self, val* p0))(var13->class->vft[COLOR_nit__abstract_compiler__RuntimeVariable__name_61d]))(var13, var14); /* name= on */ } { -nit___nit__AbstractCompilerVisitor___add(self, var27); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +((void(*)(val* self, val* p0))(var13->class->vft[COLOR_nit__abstract_compiler__RuntimeVariable__mtype_61d]))(var13, var_t); /* mtype= on */ } +{ +((void(*)(val* self, val* p0))(var13->class->vft[COLOR_nit__abstract_compiler__RuntimeVariable__mcasttype_61d]))(var13, var_t); /* mcasttype= on */ +} +{ +((void(*)(val* self))(var13->class->vft[COLOR_standard__kernel__Object__init]))(var13); /* init on */ } +var_res = var13; var = var_res; goto RET_LABEL; RET_LABEL:; return var; } +/* method abstract_compiler#AbstractCompilerVisitor#string_instance for (self: AbstractCompilerVisitor, String): RuntimeVariable */ +val* nit___nit__AbstractCompilerVisitor___string_instance(val* self, val* p0) { +val* var /* : RuntimeVariable */; +val* var_string /* var string: String */; +val* var1 /* : MModule */; +val* var2 /* : MClassType */; +val* var_mtype /* var mtype: MClassType */; +static val* varonce; +val* var3 /* : String */; +char* var4 /* : NativeString */; +val* var5 /* : FlatString */; +val* var6 /* : String */; +val* var_name /* var name: String */; +val* var8 /* : NativeArray[String] */; +static val* varonce7; +static val* varonce9; +val* var10 /* : String */; +char* var11 /* : NativeString */; +val* var12 /* : FlatString */; +static val* varonce13; +val* var14 /* : String */; +char* var15 /* : NativeString */; +val* var16 /* : FlatString */; +static val* varonce17; +val* var18 /* : String */; +char* var19 /* : NativeString */; +val* var20 /* : FlatString */; +val* var21 /* : String */; +val* var22 /* : String */; +val* var23 /* : RuntimeVariable */; +val* var_res /* var res: RuntimeVariable */; +val* var25 /* : NativeArray[String] */; +static val* varonce24; +static val* varonce26; +val* var27 /* : String */; +char* var28 /* : NativeString */; +val* var29 /* : FlatString */; +static val* varonce30; +val* var31 /* : String */; +char* var32 /* : NativeString */; +val* var33 /* : FlatString */; +val* var34 /* : String */; +val* var36 /* : NativeArray[String] */; +static val* varonce35; +static val* varonce37; +val* var38 /* : String */; +char* var39 /* : NativeString */; +val* var40 /* : FlatString */; +static val* varonce41; +val* var42 /* : String */; +char* var43 /* : NativeString */; +val* var44 /* : FlatString */; +val* var45 /* : String */; +val* var46 /* : String */; +static val* varonce47; +val* var48 /* : String */; +char* var49 /* : NativeString */; +val* var50 /* : FlatString */; +val* var51 /* : MModule */; +val* var52 /* : MClassType */; +val* var_native_mtype /* var native_mtype: MClassType */; +val* var53 /* : RuntimeVariable */; +val* var_nat /* var nat: RuntimeVariable */; +val* var55 /* : NativeArray[String] */; +static val* varonce54; +static val* varonce56; +val* var57 /* : String */; +char* var58 /* : NativeString */; +val* var59 /* : FlatString */; +static val* varonce60; +val* var61 /* : String */; +char* var62 /* : NativeString */; +val* var63 /* : FlatString */; +val* var64 /* : String */; +val* var65 /* : String */; +val* var66 /* : String */; +long var67 /* : Int */; +val* var68 /* : RuntimeVariable */; +val* var_length /* var length: RuntimeVariable */; +val* var70 /* : NativeArray[String] */; +static val* varonce69; +static val* varonce71; +val* var72 /* : String */; +char* var73 /* : NativeString */; +val* var74 /* : FlatString */; +static val* varonce75; +val* var76 /* : String */; +char* var77 /* : NativeString */; +val* var78 /* : FlatString */; +val* var79 /* : String */; +static val* varonce80; +val* var81 /* : String */; +char* var82 /* : NativeString */; +val* var83 /* : FlatString */; +val* var84 /* : MMethod */; +val* var85 /* : Array[RuntimeVariable] */; +val* var_ /* var : Array[RuntimeVariable] */; +val* var86 /* : nullable RuntimeVariable */; +val* var87 /* : String */; +val* var88 /* : String */; +val* var90 /* : NativeArray[String] */; +static val* varonce89; +static val* varonce91; +val* var92 /* : String */; +char* var93 /* : NativeString */; +val* var94 /* : FlatString */; +static val* varonce95; +val* var96 /* : String */; +char* var97 /* : NativeString */; +val* var98 /* : FlatString */; +val* var99 /* : String */; +val* var100 /* : String */; +static val* varonce101; +val* var102 /* : String */; +char* var103 /* : NativeString */; +val* var104 /* : FlatString */; +var_string = p0; +{ +var1 = nit___nit__AbstractCompilerVisitor___mmodule(self); +} +{ +var2 = nit__model___MModule___string_type(var1); +} +var_mtype = var2; +if (likely(varonce!=NULL)) { +var3 = varonce; +} else { +var4 = "varonce"; +var5 = standard___standard__NativeString___to_s_with_length(var4, 7l); +var3 = var5; +varonce = var3; +} +{ +var6 = nit___nit__AbstractCompilerVisitor___get_name(self, var3); +} +var_name = var6; +if (unlikely(varonce7==NULL)) { +var8 = NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String); +if (likely(varonce9!=NULL)) { +var10 = varonce9; +} else { +var11 = "static "; +var12 = standard___standard__NativeString___to_s_with_length(var11, 7l); +var10 = var12; +varonce9 = var10; +} +((struct instance_standard__NativeArray*)var8)->values[0]=var10; +if (likely(varonce13!=NULL)) { +var14 = varonce13; +} else { +var15 = " "; +var16 = standard___standard__NativeString___to_s_with_length(var15, 1l); +var14 = var16; +varonce13 = var14; +} +((struct instance_standard__NativeArray*)var8)->values[2]=var14; +if (likely(varonce17!=NULL)) { +var18 = varonce17; +} else { +var19 = ";"; +var20 = standard___standard__NativeString___to_s_with_length(var19, 1l); +var18 = var20; +varonce17 = var18; +} +((struct instance_standard__NativeArray*)var8)->values[4]=var18; +} else { +var8 = varonce7; +varonce7 = NULL; +} +{ +var21 = nit__abstract_compiler___MClassType___MType__ctype(var_mtype); +} +((struct instance_standard__NativeArray*)var8)->values[1]=var21; +((struct instance_standard__NativeArray*)var8)->values[3]=var_name; +{ +var22 = ((val*(*)(val* self))(var8->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var8); /* native_to_s on */ +} +varonce7 = var8; +{ +nit___nit__AbstractCompilerVisitor___add_decl(self, var22); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ +} +{ +var23 = nit___nit__AbstractCompilerVisitor___new_var(self, var_mtype); +} +var_res = var23; +if (unlikely(varonce24==NULL)) { +var25 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce26!=NULL)) { +var27 = varonce26; +} else { +var28 = "if (likely("; +var29 = standard___standard__NativeString___to_s_with_length(var28, 11l); +var27 = var29; +varonce26 = var27; +} +((struct instance_standard__NativeArray*)var25)->values[0]=var27; +if (likely(varonce30!=NULL)) { +var31 = varonce30; +} else { +var32 = "!=NULL)) {"; +var33 = standard___standard__NativeString___to_s_with_length(var32, 10l); +var31 = var33; +varonce30 = var31; +} +((struct instance_standard__NativeArray*)var25)->values[2]=var31; +} else { +var25 = varonce24; +varonce24 = NULL; +} +((struct instance_standard__NativeArray*)var25)->values[1]=var_name; +{ +var34 = ((val*(*)(val* self))(var25->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var25); /* native_to_s on */ +} +varonce24 = var25; +{ +nit___nit__AbstractCompilerVisitor___add(self, var34); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +} +if (unlikely(varonce35==NULL)) { +var36 = NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String); +if (likely(varonce37!=NULL)) { +var38 = varonce37; +} else { +var39 = " = "; +var40 = standard___standard__NativeString___to_s_with_length(var39, 3l); +var38 = var40; +varonce37 = var38; +} +((struct instance_standard__NativeArray*)var36)->values[1]=var38; +if (likely(varonce41!=NULL)) { +var42 = varonce41; +} else { +var43 = ";"; +var44 = standard___standard__NativeString___to_s_with_length(var43, 1l); +var42 = var44; +varonce41 = var42; +} +((struct instance_standard__NativeArray*)var36)->values[3]=var42; +} else { +var36 = varonce35; +varonce35 = NULL; +} +{ +var45 = ((val*(*)(val* self))(var_res->class->vft[COLOR_standard__string__Object__to_s]))(var_res); /* to_s on */ +} +((struct instance_standard__NativeArray*)var36)->values[0]=var45; +((struct instance_standard__NativeArray*)var36)->values[2]=var_name; +{ +var46 = ((val*(*)(val* self))(var36->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var36); /* native_to_s on */ +} +varonce35 = var36; +{ +nit___nit__AbstractCompilerVisitor___add(self, var46); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +} +if (likely(varonce47!=NULL)) { +var48 = varonce47; +} else { +var49 = "} else {"; +var50 = standard___standard__NativeString___to_s_with_length(var49, 8l); +var48 = var50; +varonce47 = var48; +} +{ +nit___nit__AbstractCompilerVisitor___add(self, var48); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +} +{ +var51 = nit___nit__AbstractCompilerVisitor___mmodule(self); +} +{ +var52 = nit__model___MModule___native_string_type(var51); +} +var_native_mtype = var52; +{ +var53 = nit___nit__AbstractCompilerVisitor___new_var(self, var_native_mtype); +} +var_nat = var53; +if (unlikely(varonce54==NULL)) { +var55 = NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String); +if (likely(varonce56!=NULL)) { +var57 = varonce56; +} else { +var58 = " = \""; +var59 = standard___standard__NativeString___to_s_with_length(var58, 4l); +var57 = var59; +varonce56 = var57; +} +((struct instance_standard__NativeArray*)var55)->values[1]=var57; +if (likely(varonce60!=NULL)) { +var61 = varonce60; +} else { +var62 = "\";"; +var63 = standard___standard__NativeString___to_s_with_length(var62, 2l); +var61 = var63; +varonce60 = var61; +} +((struct instance_standard__NativeArray*)var55)->values[3]=var61; +} else { +var55 = varonce54; +varonce54 = NULL; +} +{ +var64 = ((val*(*)(val* self))(var_nat->class->vft[COLOR_standard__string__Object__to_s]))(var_nat); /* to_s on */ +} +((struct instance_standard__NativeArray*)var55)->values[0]=var64; +{ +var65 = standard___standard__Text___escape_to_c(var_string); +} +((struct instance_standard__NativeArray*)var55)->values[2]=var65; +{ +var66 = ((val*(*)(val* self))(var55->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var55); /* native_to_s on */ +} +varonce54 = var55; +{ +nit___nit__AbstractCompilerVisitor___add(self, var66); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +} +{ +var67 = ((long(*)(val* self))(var_string->class->vft[COLOR_standard__string__Text__length]))(var_string); /* length on */ +} +{ +var68 = nit___nit__AbstractCompilerVisitor___int_instance(self, var67); +} +var_length = var68; +if (unlikely(varonce69==NULL)) { +var70 = NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String); +if (likely(varonce71!=NULL)) { +var72 = varonce71; +} else { +var73 = " = "; +var74 = standard___standard__NativeString___to_s_with_length(var73, 3l); +var72 = var74; +varonce71 = var72; +} +((struct instance_standard__NativeArray*)var70)->values[1]=var72; +if (likely(varonce75!=NULL)) { +var76 = varonce75; +} else { +var77 = ";"; +var78 = standard___standard__NativeString___to_s_with_length(var77, 1l); +var76 = var78; +varonce75 = var76; +} +((struct instance_standard__NativeArray*)var70)->values[3]=var76; +} else { +var70 = varonce69; +varonce69 = NULL; +} +{ +var79 = ((val*(*)(val* self))(var_res->class->vft[COLOR_standard__string__Object__to_s]))(var_res); /* to_s on */ +} +((struct instance_standard__NativeArray*)var70)->values[0]=var79; +if (likely(varonce80!=NULL)) { +var81 = varonce80; +} else { +var82 = "to_s_with_length"; +var83 = standard___standard__NativeString___to_s_with_length(var82, 16l); +var81 = var83; +varonce80 = var81; +} +{ +var84 = nit___nit__AbstractCompilerVisitor___get_property(self, var81, var_native_mtype); +} +var85 = NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable); +{ +standard___standard__Array___with_capacity(var85, 2l); /* Direct call array#Array#with_capacity on */ +} +var_ = var85; +{ +standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_, var_nat); /* Direct call array#AbstractArray#push on */ +} +{ +standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_, var_length); /* Direct call array#AbstractArray#push on */ +} +{ +var86 = nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__send(self, var84, var_); +} +if (unlikely(var86 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1541); +fatal_exit(1); +} +{ +var87 = ((val*(*)(val* self))(var86->class->vft[COLOR_standard__string__Object__to_s]))(var86); /* to_s on */ +} +((struct instance_standard__NativeArray*)var70)->values[2]=var87; +{ +var88 = ((val*(*)(val* self))(var70->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var70); /* native_to_s on */ +} +varonce69 = var70; +{ +nit___nit__AbstractCompilerVisitor___add(self, var88); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +} +if (unlikely(varonce89==NULL)) { +var90 = NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String); +if (likely(varonce91!=NULL)) { +var92 = varonce91; +} else { +var93 = " = "; +var94 = standard___standard__NativeString___to_s_with_length(var93, 3l); +var92 = var94; +varonce91 = var92; +} +((struct instance_standard__NativeArray*)var90)->values[1]=var92; +if (likely(varonce95!=NULL)) { +var96 = varonce95; +} else { +var97 = ";"; +var98 = standard___standard__NativeString___to_s_with_length(var97, 1l); +var96 = var98; +varonce95 = var96; +} +((struct instance_standard__NativeArray*)var90)->values[3]=var96; +} else { +var90 = varonce89; +varonce89 = NULL; +} +((struct instance_standard__NativeArray*)var90)->values[0]=var_name; +{ +var99 = ((val*(*)(val* self))(var_res->class->vft[COLOR_standard__string__Object__to_s]))(var_res); /* to_s on */ +} +((struct instance_standard__NativeArray*)var90)->values[2]=var99; +{ +var100 = ((val*(*)(val* self))(var90->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var90); /* native_to_s on */ +} +varonce89 = var90; +{ +nit___nit__AbstractCompilerVisitor___add(self, var100); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +} +if (likely(varonce101!=NULL)) { +var102 = varonce101; +} else { +var103 = "}"; +var104 = standard___standard__NativeString___to_s_with_length(var103, 1l); +var102 = var104; +varonce101 = var102; +} +{ +nit___nit__AbstractCompilerVisitor___add(self, var102); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +} +var = var_res; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method abstract_compiler#AbstractCompilerVisitor#value_instance for (self: AbstractCompilerVisitor, Object): RuntimeVariable */ +val* nit___nit__AbstractCompilerVisitor___value_instance(val* self, val* p0) { +val* var /* : RuntimeVariable */; +val* var_object /* var object: Object */; +short int var1 /* : Bool */; +int cltype; +int idtype; +val* var2 /* : RuntimeVariable */; +long var3 /* : Int */; +short int var4 /* : Bool */; +int cltype5; +int idtype6; +val* var7 /* : RuntimeVariable */; +short int var8 /* : Bool */; +short int var9 /* : Bool */; +int cltype10; +int idtype11; +val* var12 /* : RuntimeVariable */; +var_object = p0; +/* isa Int */ +cltype = type_standard__Int.color; +idtype = type_standard__Int.id; +if(cltype >= (((long)var_object&3)?type_info[((long)var_object&3)]:var_object->type)->table_size) { +var1 = 0; +} else { +var1 = (((long)var_object&3)?type_info[((long)var_object&3)]:var_object->type)->type_table[cltype] == idtype; +} +if (var1){ +{ +var3 = (long)(var_object)>>2; +var2 = nit___nit__AbstractCompilerVisitor___int_instance(self, var3); +} +var = var2; +goto RET_LABEL; +} else { +/* isa Bool */ +cltype5 = type_standard__Bool.color; +idtype6 = type_standard__Bool.id; +if(cltype5 >= (((long)var_object&3)?type_info[((long)var_object&3)]:var_object->type)->table_size) { +var4 = 0; +} else { +var4 = (((long)var_object&3)?type_info[((long)var_object&3)]:var_object->type)->type_table[cltype5] == idtype6; +} +if (var4){ +{ +var8 = (short int)((long)(var_object)>>2); +var7 = nit___nit__AbstractCompilerVisitor___bool_instance(self, var8); +} +var = var7; +goto RET_LABEL; +} else { +/* isa String */ +cltype10 = type_standard__String.color; +idtype11 = type_standard__String.id; +if(cltype10 >= (((long)var_object&3)?type_info[((long)var_object&3)]:var_object->type)->table_size) { +var9 = 0; +} else { +var9 = (((long)var_object&3)?type_info[((long)var_object&3)]:var_object->type)->type_table[cltype10] == idtype11; +} +if (var9){ +{ +var12 = nit___nit__AbstractCompilerVisitor___string_instance(self, var_object); +} +var = var12; +goto RET_LABEL; +} else { +PRINT_ERROR("Runtime error: %s", "Aborted"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1556); +fatal_exit(1); +} +} +} +RET_LABEL:; +return var; +} +/* method abstract_compiler#AbstractCompilerVisitor#add for (self: AbstractCompilerVisitor, String) */ +void nit___nit__AbstractCompilerVisitor___add(val* self, val* p0) { +val* var_s /* var s: String */; +val* var /* : CodeWriter */; +val* var2 /* : CodeWriter */; +val* var3 /* : List[String] */; +val* var5 /* : List[String] */; +var_s = p0; +{ +{ /* Inline abstract_compiler#AbstractCompilerVisitor#writer (self) on */ +var2 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___writer].val; /* _writer on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _writer"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1117); +fatal_exit(1); +} +var = var2; +RET_LABEL1:(void)0; +} +} +{ +{ /* Inline abstract_compiler#CodeWriter#lines (var) on */ +var5 = var->attrs[COLOR_nit__abstract_compiler__CodeWriter___lines].val; /* _lines on */ +if (unlikely(var5 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lines"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1081); +fatal_exit(1); +} +var3 = var5; +RET_LABEL4:(void)0; +} +} +{ +standard___standard__Sequence___SimpleCollection__add(var3, var_s); /* Direct call abstract_collection#Sequence#add on */ +} +RET_LABEL:; +} +/* method abstract_compiler#AbstractCompilerVisitor#add_decl for (self: AbstractCompilerVisitor, String) */ +void nit___nit__AbstractCompilerVisitor___add_decl(val* self, val* p0) { +val* var_s /* var s: String */; +val* var /* : CodeWriter */; +val* var2 /* : CodeWriter */; +val* var3 /* : List[String] */; +val* var5 /* : List[String] */; +var_s = p0; +{ +{ /* Inline abstract_compiler#AbstractCompilerVisitor#writer (self) on */ +var2 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___writer].val; /* _writer on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _writer"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1117); +fatal_exit(1); +} +var = var2; +RET_LABEL1:(void)0; +} +} +{ +{ /* Inline abstract_compiler#CodeWriter#decl_lines (var) on */ +var5 = var->attrs[COLOR_nit__abstract_compiler__CodeWriter___decl_lines].val; /* _decl_lines on */ +if (unlikely(var5 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _decl_lines"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1082); +fatal_exit(1); +} +var3 = var5; +RET_LABEL4:(void)0; +} +} +{ +standard___standard__Sequence___SimpleCollection__add(var3, var_s); /* Direct call abstract_collection#Sequence#add on */ +} +RET_LABEL:; +} +/* method abstract_compiler#AbstractCompilerVisitor#require_declaration for (self: AbstractCompilerVisitor, String) */ +void nit___nit__AbstractCompilerVisitor___require_declaration(val* self, val* p0) { +val* var_key /* var key: String */; +val* var /* : CodeWriter */; +val* var2 /* : CodeWriter */; +val* var3 /* : CodeFile */; +val* var5 /* : CodeFile */; +val* var6 /* : HashSet[String] */; +val* var8 /* : HashSet[String] */; +val* var_reqs /* var reqs: HashSet[String] */; +short int var9 /* : Bool */; +val* var10 /* : nullable ANode */; +val* var12 /* : nullable ANode */; +val* var_node /* var node: nullable ANode */; +short int var13 /* : Bool */; +short int var14 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var16 /* : Bool */; +short int var17 /* : Bool */; +val* var18 /* : AbstractCompiler */; +val* var20 /* : AbstractCompiler */; +val* var21 /* : HashMap[String, ANode] */; +val* var23 /* : HashMap[String, ANode] */; +var_key = p0; +{ +{ /* Inline abstract_compiler#AbstractCompilerVisitor#writer (self) on */ +var2 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___writer].val; /* _writer on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _writer"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1117); +fatal_exit(1); +} +var = var2; +RET_LABEL1:(void)0; +} +} +{ +{ /* Inline abstract_compiler#CodeWriter#file (var) on */ +var5 = var->attrs[COLOR_nit__abstract_compiler__CodeWriter___file].val; /* _file on */ +if (unlikely(var5 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _file"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1080); +fatal_exit(1); +} +var3 = var5; +RET_LABEL4:(void)0; +} +} +{ +{ /* Inline abstract_compiler#CodeFile#required_declarations (var3) on */ +var8 = var3->attrs[COLOR_nit__abstract_compiler__CodeFile___required_declarations].val; /* _required_declarations on */ +if (unlikely(var8 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _required_declarations"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1075); +fatal_exit(1); +} +var6 = var8; +RET_LABEL7:(void)0; +} +} +var_reqs = var6; +{ +var9 = standard___standard__HashSet___standard__abstract_collection__Collection__has(var_reqs, var_key); +} +if (var9){ +goto RET_LABEL; +} else { +} +{ +standard___standard__HashSet___standard__abstract_collection__SimpleCollection__add(var_reqs, var_key); /* Direct call hash_collection#HashSet#add on */ +} +{ +{ /* Inline abstract_compiler#AbstractCompilerVisitor#current_node (self) on */ +var12 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___current_node].val; /* _current_node on */ +var10 = var12; +RET_LABEL11:(void)0; +} +} +var_node = var10; +if (var_node == NULL) { +var13 = 0; /* is null */ +} else { +var13 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_node,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +var16 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_node, var_other); /* == on */ +} +var17 = !var16; +var14 = var17; +goto RET_LABEL15; +RET_LABEL15:(void)0; +} +var13 = var14; +} +if (var13){ +{ +{ /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on */ +var20 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ +if (unlikely(var20 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1102); +fatal_exit(1); +} +var18 = var20; +RET_LABEL19:(void)0; +} +} +{ +{ /* Inline abstract_compiler#AbstractCompiler#requirers_of_declarations (var18) on */ +var23 = var18->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___requirers_of_declarations].val; /* _requirers_of_declarations on */ +if (unlikely(var23 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _requirers_of_declarations"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 587); +fatal_exit(1); +} +var21 = var23; +RET_LABEL22:(void)0; +} +} +{ +standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var21, var_key, var_node); /* Direct call hash_collection#HashMap#[]= on */ +} +} else { +} +RET_LABEL:; +} +/* method abstract_compiler#AbstractCompilerVisitor#declare_once for (self: AbstractCompilerVisitor, String) */ +void nit___nit__AbstractCompilerVisitor___declare_once(val* self, val* p0) { +val* var_s /* var s: String */; +val* var /* : AbstractCompiler */; +val* var2 /* : AbstractCompiler */; +var_s = p0; +{ +{ /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on */ +var2 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1102); +fatal_exit(1); +} +var = var2; +RET_LABEL1:(void)0; +} +} +{ +nit___nit__AbstractCompiler___provide_declaration(var, var_s, var_s); /* Direct call abstract_compiler#AbstractCompiler#provide_declaration on */ +} +{ +nit___nit__AbstractCompilerVisitor___require_declaration(self, var_s); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on */ +} +RET_LABEL:; +}