X-Git-Url: http://nitlanguage.org diff --git a/c_src/abstract_compiler.sep.4.c b/c_src/abstract_compiler.sep.4.c index 114c2c9..466feac 100644 --- a/c_src/abstract_compiler.sep.4.c +++ b/c_src/abstract_compiler.sep.4.c @@ -1,246 +1,249 @@ #include "abstract_compiler.sep.0.h" -/* method abstract_compiler#AMethPropdef#compile_intern_to_c for (self: AMethPropdef, AbstractCompilerVisitor, MMethodDef, Array[RuntimeVariable]) */ -void abstract_compiler__AMethPropdef__compile_intern_to_c(val* self, val* p0, val* p1, val* p2) { +/* method abstract_compiler#AMethPropdef#compile_intern_to_c for (self: AMethPropdef, AbstractCompilerVisitor, MMethodDef, Array[RuntimeVariable]): Bool */ +short int abstract_compiler__AMethPropdef__compile_intern_to_c(val* self, val* p0, val* p1, val* p2) { +short int var /* : Bool */; val* var_v /* var v: AbstractCompilerVisitor */; val* var_mpropdef /* var mpropdef: MMethodDef */; val* var_arguments /* var arguments: Array[RuntimeVariable] */; -val* var /* : MProperty */; -val* var2 /* : MProperty */; -val* var3 /* : String */; -val* var5 /* : String */; +val* var1 /* : MProperty */; +val* var3 /* : MProperty */; +val* var4 /* : String */; +val* var6 /* : String */; val* var_pname /* var pname: String */; -val* var6 /* : MClassDef */; -val* var8 /* : MClassDef */; -val* var9 /* : MClass */; -val* var11 /* : MClass */; -val* var12 /* : String */; -val* var14 /* : String */; +val* var7 /* : MClassDef */; +val* var9 /* : MClassDef */; +val* var10 /* : MClass */; +val* var12 /* : MClass */; +val* var13 /* : String */; +val* var15 /* : String */; val* var_cname /* var cname: String */; -val* var15 /* : nullable MSignature */; -val* var17 /* : nullable MSignature */; -val* var18 /* : nullable MType */; -val* var20 /* : nullable MType */; +val* var16 /* : nullable MSignature */; +val* var18 /* : nullable MSignature */; +val* var19 /* : nullable MType */; +val* var21 /* : nullable MType */; val* var_ret /* var ret: nullable MType */; -val* var21 /* : null */; -short int var22 /* : Bool */; +val* var22 /* : null */; short int var23 /* : Bool */; +short int var24 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var25 /* : Bool */; short int var26 /* : Bool */; short int var27 /* : Bool */; -val* var28 /* : nullable Object */; -val* var29 /* : MType */; -val* var30 /* : MProperty */; -val* var32 /* : MProperty */; -short int var33 /* : Bool */; -short int var35 /* : Bool */; -val* var36 /* : nullable Object */; -val* var37 /* : MType */; -val* var39 /* : MType */; -short int var40 /* : Bool */; +short int var28 /* : Bool */; +val* var29 /* : nullable Object */; +val* var30 /* : MType */; +short int var31 /* : Bool */; static val* varonce; -val* var41 /* : String */; -char* var42 /* : NativeString */; -long var43 /* : Int */; -val* var44 /* : FlatString */; -short int var45 /* : Bool */; -short int var46 /* : Bool */; +val* var32 /* : String */; +char* var33 /* : NativeString */; +long var34 /* : Int */; +val* var35 /* : FlatString */; +short int var36 /* : Bool */; +short int var37 /* : Bool */; +short int var39 /* : Bool */; +short int var40 /* : Bool */; +short int var41 /* : Bool */; +short int var_ /* var : Bool */; +static val* varonce42; +val* var43 /* : String */; +char* var44 /* : NativeString */; +long var45 /* : Int */; +val* var46 /* : FlatString */; +short int var47 /* : Bool */; short int var48 /* : Bool */; -short int var49 /* : Bool */; short int var50 /* : Bool */; -short int var_ /* var : Bool */; -static val* varonce51; -val* var52 /* : String */; -char* var53 /* : NativeString */; -long var54 /* : Int */; -val* var55 /* : FlatString */; -short int var56 /* : Bool */; -short int var57 /* : Bool */; +short int var51 /* : Bool */; +short int var52 /* : Bool */; +static val* varonce53; +val* var54 /* : String */; +char* var55 /* : NativeString */; +long var56 /* : Int */; +val* var57 /* : FlatString */; +short int var58 /* : Bool */; short int var59 /* : Bool */; -short int var60 /* : Bool */; -short int var61 /* : Bool */; -static val* varonce62; -val* var63 /* : String */; -char* var64 /* : NativeString */; -long var65 /* : Int */; -val* var66 /* : FlatString */; -short int var67 /* : Bool */; -short int var68 /* : Bool */; -static val* varonce69; -val* var70 /* : String */; -char* var71 /* : NativeString */; -long var72 /* : Int */; -val* var73 /* : FlatString */; -short int var74 /* : Bool */; -short int var75 /* : Bool */; -static val* varonce76; -val* var77 /* : String */; -char* var78 /* : NativeString */; +static val* varonce60; +val* var61 /* : String */; +char* var62 /* : NativeString */; +long var63 /* : Int */; +val* var64 /* : FlatString */; +short int var65 /* : Bool */; +short int var66 /* : Bool */; +static val* varonce67; +val* var68 /* : String */; +char* var69 /* : NativeString */; +long var70 /* : Int */; +val* var71 /* : FlatString */; +val* var72 /* : nullable Object */; +static val* varonce73; +val* var74 /* : String */; +char* var75 /* : NativeString */; +long var76 /* : Int */; +val* var77 /* : FlatString */; +val* var78 /* : Array[Object] */; long var79 /* : Int */; -val* var80 /* : FlatString */; -val* var81 /* : nullable Object */; -static val* varonce82; -val* var83 /* : String */; -char* var84 /* : NativeString */; -long var85 /* : Int */; -val* var86 /* : FlatString */; -val* var87 /* : Array[Object] */; -long var88 /* : Int */; -val* var89 /* : NativeArray[Object] */; -val* var90 /* : String */; -static val* varonce91; -val* var92 /* : String */; -char* var93 /* : NativeString */; -long var94 /* : Int */; -val* var95 /* : FlatString */; -short int var96 /* : Bool */; +val* var80 /* : NativeArray[Object] */; +val* var81 /* : String */; +short int var82 /* : Bool */; +static val* varonce83; +val* var84 /* : String */; +char* var85 /* : NativeString */; +long var86 /* : Int */; +val* var87 /* : FlatString */; +short int var88 /* : Bool */; +short int var89 /* : Bool */; +val* var90 /* : nullable Object */; +short int var91 /* : Bool */; +static val* varonce92; +val* var93 /* : String */; +char* var94 /* : NativeString */; +long var95 /* : Int */; +val* var96 /* : FlatString */; short int var97 /* : Bool */; -val* var98 /* : nullable Object */; -static val* varonce99; -val* var100 /* : String */; -char* var101 /* : NativeString */; -long var102 /* : Int */; -val* var103 /* : FlatString */; -short int var104 /* : Bool */; -short int var105 /* : Bool */; +short int var98 /* : Bool */; +long var99 /* : Int */; +val* var100 /* : nullable Object */; +static val* varonce101; +val* var102 /* : String */; +char* var103 /* : NativeString */; +long var104 /* : Int */; +val* var105 /* : FlatString */; long var106 /* : Int */; val* var107 /* : nullable Object */; -static val* varonce108; -val* var109 /* : String */; -char* var110 /* : NativeString */; -long var111 /* : Int */; -val* var112 /* : FlatString */; -long var113 /* : Int */; -val* var114 /* : nullable Object */; -val* var115 /* : Array[Object] */; -long var116 /* : Int */; -val* var117 /* : NativeArray[Object] */; -val* var118 /* : String */; -val* var119 /* : RuntimeVariable */; -static val* varonce120; -val* var121 /* : String */; -char* var122 /* : NativeString */; -long var123 /* : Int */; -val* var124 /* : FlatString */; -short int var125 /* : Bool */; -short int var126 /* : Bool */; -long var127 /* : Int */; -val* var128 /* : nullable Object */; -static val* varonce129; -val* var130 /* : String */; -char* var131 /* : NativeString */; -long var132 /* : Int */; -val* var133 /* : FlatString */; -long var134 /* : Int */; -val* var135 /* : nullable Object */; -val* var136 /* : Array[Object] */; -long var137 /* : Int */; -val* var138 /* : NativeArray[Object] */; -val* var139 /* : String */; -val* var140 /* : RuntimeVariable */; -static val* varonce141; -val* var142 /* : String */; -char* var143 /* : NativeString */; -long var144 /* : Int */; -val* var145 /* : FlatString */; -short int var146 /* : Bool */; -short int var147 /* : Bool */; -static val* varonce148; -val* var149 /* : String */; -char* var150 /* : NativeString */; +val* var108 /* : Array[Object] */; +long var109 /* : Int */; +val* var110 /* : NativeArray[Object] */; +val* var111 /* : String */; +val* var112 /* : RuntimeVariable */; +short int var113 /* : Bool */; +static val* varonce114; +val* var115 /* : String */; +char* var116 /* : NativeString */; +long var117 /* : Int */; +val* var118 /* : FlatString */; +short int var119 /* : Bool */; +short int var120 /* : Bool */; +long var121 /* : Int */; +val* var122 /* : nullable Object */; +static val* varonce123; +val* var124 /* : String */; +char* var125 /* : NativeString */; +long var126 /* : Int */; +val* var127 /* : FlatString */; +long var128 /* : Int */; +val* var129 /* : nullable Object */; +val* var130 /* : Array[Object] */; +long var131 /* : Int */; +val* var132 /* : NativeArray[Object] */; +val* var133 /* : String */; +val* var134 /* : RuntimeVariable */; +short int var135 /* : Bool */; +static val* varonce136; +val* var137 /* : String */; +char* var138 /* : NativeString */; +long var139 /* : Int */; +val* var140 /* : FlatString */; +short int var141 /* : Bool */; +short int var142 /* : Bool */; +static val* varonce143; +val* var144 /* : String */; +char* var145 /* : NativeString */; +long var146 /* : Int */; +val* var147 /* : FlatString */; +long var148 /* : Int */; +val* var149 /* : nullable Object */; +val* var150 /* : Array[Object] */; long var151 /* : Int */; -val* var152 /* : FlatString */; -long var153 /* : Int */; -val* var154 /* : nullable Object */; -val* var155 /* : Array[Object] */; -long var156 /* : Int */; -val* var157 /* : NativeArray[Object] */; -val* var158 /* : String */; -val* var159 /* : RuntimeVariable */; -static val* varonce160; -val* var161 /* : String */; -char* var162 /* : NativeString */; +val* var152 /* : NativeArray[Object] */; +val* var153 /* : String */; +val* var154 /* : RuntimeVariable */; +short int var155 /* : Bool */; +static val* varonce156; +val* var157 /* : String */; +char* var158 /* : NativeString */; +long var159 /* : Int */; +val* var160 /* : FlatString */; +short int var161 /* : Bool */; +short int var162 /* : Bool */; long var163 /* : Int */; -val* var164 /* : FlatString */; -short int var165 /* : Bool */; -short int var166 /* : Bool */; -long var167 /* : Int */; -val* var168 /* : nullable Object */; -static val* varonce169; -val* var170 /* : String */; -char* var171 /* : NativeString */; -long var172 /* : Int */; -val* var173 /* : FlatString */; -long var174 /* : Int */; -val* var175 /* : nullable Object */; -val* var176 /* : Array[Object] */; -long var177 /* : Int */; -val* var178 /* : NativeArray[Object] */; +val* var164 /* : nullable Object */; +static val* varonce165; +val* var166 /* : String */; +char* var167 /* : NativeString */; +long var168 /* : Int */; +val* var169 /* : FlatString */; +long var170 /* : Int */; +val* var171 /* : nullable Object */; +val* var172 /* : Array[Object] */; +long var173 /* : Int */; +val* var174 /* : NativeArray[Object] */; +val* var175 /* : String */; +val* var176 /* : RuntimeVariable */; +short int var177 /* : Bool */; +static val* varonce178; val* var179 /* : String */; -val* var180 /* : RuntimeVariable */; -static val* varonce181; -val* var182 /* : String */; -char* var183 /* : NativeString */; -long var184 /* : Int */; -val* var185 /* : FlatString */; -short int var186 /* : Bool */; -short int var187 /* : Bool */; -long var188 /* : Int */; -val* var189 /* : nullable Object */; -static val* varonce190; -val* var191 /* : String */; -char* var192 /* : NativeString */; -long var193 /* : Int */; -val* var194 /* : FlatString */; +char* var180 /* : NativeString */; +long var181 /* : Int */; +val* var182 /* : FlatString */; +short int var183 /* : Bool */; +short int var184 /* : Bool */; +long var185 /* : Int */; +val* var186 /* : nullable Object */; +static val* varonce187; +val* var188 /* : String */; +char* var189 /* : NativeString */; +long var190 /* : Int */; +val* var191 /* : FlatString */; +long var192 /* : Int */; +val* var193 /* : nullable Object */; +val* var194 /* : Array[Object] */; long var195 /* : Int */; -val* var196 /* : nullable Object */; -val* var197 /* : Array[Object] */; -long var198 /* : Int */; -val* var199 /* : NativeArray[Object] */; -val* var200 /* : String */; -val* var201 /* : RuntimeVariable */; -static val* varonce202; -val* var203 /* : String */; -char* var204 /* : NativeString */; -long var205 /* : Int */; -val* var206 /* : FlatString */; -short int var207 /* : Bool */; -short int var208 /* : Bool */; -long var209 /* : Int */; -val* var210 /* : nullable Object */; -static val* varonce211; -val* var212 /* : String */; -char* var213 /* : NativeString */; +val* var196 /* : NativeArray[Object] */; +val* var197 /* : String */; +val* var198 /* : RuntimeVariable */; +short int var199 /* : Bool */; +static val* varonce200; +val* var201 /* : String */; +char* var202 /* : NativeString */; +long var203 /* : Int */; +val* var204 /* : FlatString */; +short int var205 /* : Bool */; +short int var206 /* : Bool */; +long var207 /* : Int */; +val* var208 /* : nullable Object */; +static val* varonce209; +val* var210 /* : String */; +char* var211 /* : NativeString */; +long var212 /* : Int */; +val* var213 /* : FlatString */; long var214 /* : Int */; -val* var215 /* : FlatString */; -long var216 /* : Int */; -val* var217 /* : nullable Object */; -val* var218 /* : Array[Object] */; -long var219 /* : Int */; -val* var220 /* : NativeArray[Object] */; -val* var221 /* : String */; -val* var222 /* : RuntimeVariable */; -static val* varonce223; -val* var224 /* : String */; -char* var225 /* : NativeString */; -long var226 /* : Int */; -val* var227 /* : FlatString */; +val* var215 /* : nullable Object */; +val* var216 /* : Array[Object] */; +long var217 /* : Int */; +val* var218 /* : NativeArray[Object] */; +val* var219 /* : String */; +val* var220 /* : RuntimeVariable */; +short int var221 /* : Bool */; +static val* varonce222; +val* var223 /* : String */; +char* var224 /* : NativeString */; +long var225 /* : Int */; +val* var226 /* : FlatString */; +short int var227 /* : Bool */; short int var228 /* : Bool */; -short int var229 /* : Bool */; -long var230 /* : Int */; -val* var231 /* : nullable Object */; -static val* varonce232; -val* var233 /* : String */; -char* var234 /* : NativeString */; -long var235 /* : Int */; -val* var236 /* : FlatString */; -long var237 /* : Int */; -val* var238 /* : nullable Object */; -val* var239 /* : Array[Object] */; -long var240 /* : Int */; -val* var241 /* : NativeArray[Object] */; -val* var242 /* : String */; -val* var243 /* : RuntimeVariable */; +long var229 /* : Int */; +val* var230 /* : nullable Object */; +static val* varonce231; +val* var232 /* : String */; +char* var233 /* : NativeString */; +long var234 /* : Int */; +val* var235 /* : FlatString */; +long var236 /* : Int */; +val* var237 /* : nullable Object */; +val* var238 /* : Array[Object] */; +long var239 /* : Int */; +val* var240 /* : NativeArray[Object] */; +val* var241 /* : String */; +val* var242 /* : RuntimeVariable */; +short int var243 /* : Bool */; static val* varonce244; val* var245 /* : String */; char* var246 /* : NativeString */; @@ -262,385 +265,385 @@ long var261 /* : Int */; val* var262 /* : NativeArray[Object] */; val* var263 /* : String */; val* var264 /* : RuntimeVariable */; -static val* varonce265; -val* var266 /* : String */; -char* var267 /* : NativeString */; -long var268 /* : Int */; -val* var269 /* : FlatString */; -short int var270 /* : Bool */; +short int var265 /* : Bool */; +static val* varonce266; +val* var267 /* : String */; +char* var268 /* : NativeString */; +long var269 /* : Int */; +val* var270 /* : FlatString */; short int var271 /* : Bool */; -long var272 /* : Int */; -val* var273 /* : nullable Object */; -long var274 /* : Int */; -val* var275 /* : nullable Object */; -val* var276 /* : RuntimeVariable */; -static val* varonce277; -val* var278 /* : String */; -char* var279 /* : NativeString */; -long var280 /* : Int */; -val* var281 /* : FlatString */; -short int var282 /* : Bool */; -short int var283 /* : Bool */; -long var284 /* : Int */; -val* var285 /* : nullable Object */; +short int var272 /* : Bool */; +long var273 /* : Int */; +val* var274 /* : nullable Object */; +long var275 /* : Int */; +val* var276 /* : nullable Object */; +val* var277 /* : RuntimeVariable */; +short int var278 /* : Bool */; +static val* varonce279; +val* var280 /* : String */; +char* var281 /* : NativeString */; +long var282 /* : Int */; +val* var283 /* : FlatString */; +short int var284 /* : Bool */; +short int var285 /* : Bool */; long var286 /* : Int */; val* var287 /* : nullable Object */; -val* var288 /* : RuntimeVariable */; +long var288 /* : Int */; +val* var289 /* : nullable Object */; +val* var290 /* : RuntimeVariable */; val* var_res /* var res: RuntimeVariable */; -static val* varonce289; -val* var290 /* : String */; -char* var291 /* : NativeString */; -long var292 /* : Int */; -val* var293 /* : FlatString */; -val* var294 /* : Array[Object] */; -long var295 /* : Int */; -val* var296 /* : NativeArray[Object] */; -val* var297 /* : String */; -val* var298 /* : RuntimeVariable */; -static val* varonce299; -val* var300 /* : String */; -char* var301 /* : NativeString */; -long var302 /* : Int */; -val* var303 /* : FlatString */; -short int var304 /* : Bool */; -short int var305 /* : Bool */; -long var306 /* : Int */; -val* var307 /* : nullable Object */; -static val* varonce308; -val* var309 /* : String */; -char* var310 /* : NativeString */; -long var311 /* : Int */; -val* var312 /* : FlatString */; -long var313 /* : Int */; -val* var314 /* : nullable Object */; -val* var315 /* : Array[Object] */; +static val* varonce291; +val* var292 /* : String */; +char* var293 /* : NativeString */; +long var294 /* : Int */; +val* var295 /* : FlatString */; +val* var296 /* : Array[Object] */; +long var297 /* : Int */; +val* var298 /* : NativeArray[Object] */; +val* var299 /* : String */; +val* var300 /* : RuntimeVariable */; +short int var301 /* : Bool */; +static val* varonce302; +val* var303 /* : String */; +char* var304 /* : NativeString */; +long var305 /* : Int */; +val* var306 /* : FlatString */; +short int var307 /* : Bool */; +short int var308 /* : Bool */; +long var309 /* : Int */; +val* var310 /* : nullable Object */; +static val* varonce311; +val* var312 /* : String */; +char* var313 /* : NativeString */; +long var314 /* : Int */; +val* var315 /* : FlatString */; long var316 /* : Int */; -val* var317 /* : NativeArray[Object] */; -val* var318 /* : String */; -val* var319 /* : RuntimeVariable */; -static val* varonce320; +val* var317 /* : nullable Object */; +val* var318 /* : Array[Object] */; +long var319 /* : Int */; +val* var320 /* : NativeArray[Object] */; val* var321 /* : String */; -char* var322 /* : NativeString */; -long var323 /* : Int */; -val* var324 /* : FlatString */; -short int var325 /* : Bool */; -short int var326 /* : Bool */; +val* var322 /* : RuntimeVariable */; +short int var323 /* : Bool */; +static val* varonce324; +val* var325 /* : String */; +char* var326 /* : NativeString */; long var327 /* : Int */; -val* var328 /* : nullable Object */; -static val* varonce329; -val* var330 /* : String */; -char* var331 /* : NativeString */; -long var332 /* : Int */; -val* var333 /* : FlatString */; -long var334 /* : Int */; -val* var335 /* : nullable Object */; -val* var336 /* : Array[Object] */; -long var337 /* : Int */; -val* var338 /* : NativeArray[Object] */; -val* var339 /* : String */; -val* var340 /* : RuntimeVariable */; -static val* varonce341; -val* var342 /* : String */; -char* var343 /* : NativeString */; -long var344 /* : Int */; -val* var345 /* : FlatString */; -short int var346 /* : Bool */; -short int var347 /* : Bool */; -long var348 /* : Int */; -val* var349 /* : nullable Object */; -static val* varonce350; -val* var351 /* : String */; -char* var352 /* : NativeString */; +val* var328 /* : FlatString */; +short int var329 /* : Bool */; +short int var330 /* : Bool */; +long var331 /* : Int */; +val* var332 /* : nullable Object */; +static val* varonce333; +val* var334 /* : String */; +char* var335 /* : NativeString */; +long var336 /* : Int */; +val* var337 /* : FlatString */; +long var338 /* : Int */; +val* var339 /* : nullable Object */; +val* var340 /* : Array[Object] */; +long var341 /* : Int */; +val* var342 /* : NativeArray[Object] */; +val* var343 /* : String */; +val* var344 /* : RuntimeVariable */; +short int var345 /* : Bool */; +static val* varonce346; +val* var347 /* : String */; +char* var348 /* : NativeString */; +long var349 /* : Int */; +val* var350 /* : FlatString */; +short int var351 /* : Bool */; +short int var352 /* : Bool */; long var353 /* : Int */; -val* var354 /* : FlatString */; -long var355 /* : Int */; -val* var356 /* : nullable Object */; -val* var357 /* : Array[Object] */; +val* var354 /* : nullable Object */; +static val* varonce355; +val* var356 /* : String */; +char* var357 /* : NativeString */; long var358 /* : Int */; -val* var359 /* : NativeArray[Object] */; -val* var360 /* : String */; -val* var361 /* : RuntimeVariable */; -static val* varonce362; -val* var363 /* : String */; -char* var364 /* : NativeString */; -long var365 /* : Int */; -val* var366 /* : FlatString */; +val* var359 /* : FlatString */; +long var360 /* : Int */; +val* var361 /* : nullable Object */; +val* var362 /* : Array[Object] */; +long var363 /* : Int */; +val* var364 /* : NativeArray[Object] */; +val* var365 /* : String */; +val* var366 /* : RuntimeVariable */; short int var367 /* : Bool */; -short int var368 /* : Bool */; -long var369 /* : Int */; -val* var370 /* : nullable Object */; -static val* varonce371; -val* var372 /* : String */; -char* var373 /* : NativeString */; -long var374 /* : Int */; -val* var375 /* : FlatString */; -long var376 /* : Int */; -val* var377 /* : nullable Object */; -val* var378 /* : Array[Object] */; -long var379 /* : Int */; -val* var380 /* : NativeArray[Object] */; -val* var381 /* : String */; -val* var382 /* : RuntimeVariable */; -static val* varonce383; -val* var384 /* : String */; -char* var385 /* : NativeString */; -long var386 /* : Int */; -val* var387 /* : FlatString */; -short int var388 /* : Bool */; +static val* varonce368; +val* var369 /* : String */; +char* var370 /* : NativeString */; +long var371 /* : Int */; +val* var372 /* : FlatString */; +short int var373 /* : Bool */; +short int var374 /* : Bool */; +long var375 /* : Int */; +val* var376 /* : nullable Object */; +static val* varonce377; +val* var378 /* : String */; +char* var379 /* : NativeString */; +long var380 /* : Int */; +val* var381 /* : FlatString */; +long var382 /* : Int */; +val* var383 /* : nullable Object */; +val* var384 /* : Array[Object] */; +long var385 /* : Int */; +val* var386 /* : NativeArray[Object] */; +val* var387 /* : String */; +val* var388 /* : RuntimeVariable */; short int var389 /* : Bool */; static val* varonce390; val* var391 /* : String */; char* var392 /* : NativeString */; long var393 /* : Int */; val* var394 /* : FlatString */; -long var395 /* : Int */; -val* var396 /* : nullable Object */; -val* var397 /* : Array[Object] */; -long var398 /* : Int */; -val* var399 /* : NativeArray[Object] */; -val* var400 /* : String */; -val* var401 /* : RuntimeVariable */; -static val* varonce402; -val* var403 /* : String */; -char* var404 /* : NativeString */; +short int var395 /* : Bool */; +short int var396 /* : Bool */; +static val* varonce397; +val* var398 /* : String */; +char* var399 /* : NativeString */; +long var400 /* : Int */; +val* var401 /* : FlatString */; +long var402 /* : Int */; +val* var403 /* : nullable Object */; +val* var404 /* : Array[Object] */; long var405 /* : Int */; -val* var406 /* : FlatString */; -short int var407 /* : Bool */; -short int var408 /* : Bool */; -long var409 /* : Int */; -val* var410 /* : nullable Object */; -val* var411 /* : Array[Object] */; -long var412 /* : Int */; -val* var413 /* : NativeArray[Object] */; -val* var414 /* : String */; -val* var415 /* : RuntimeVariable */; -static val* varonce416; -val* var417 /* : String */; -char* var418 /* : NativeString */; -long var419 /* : Int */; -val* var420 /* : FlatString */; -short int var421 /* : Bool */; -short int var422 /* : Bool */; -static val* varonce423; -val* var424 /* : String */; -char* var425 /* : NativeString */; -long var426 /* : Int */; -val* var427 /* : FlatString */; -short int var428 /* : Bool */; -short int var429 /* : Bool */; -static val* varonce430; -val* var431 /* : String */; -char* var432 /* : NativeString */; -long var433 /* : Int */; -val* var434 /* : FlatString */; -val* var435 /* : nullable Object */; -static val* varonce436; -val* var437 /* : String */; -char* var438 /* : NativeString */; -long var439 /* : Int */; -val* var440 /* : FlatString */; -val* var441 /* : Array[Object] */; +val* var406 /* : NativeArray[Object] */; +val* var407 /* : String */; +val* var408 /* : RuntimeVariable */; +short int var409 /* : Bool */; +static val* varonce410; +val* var411 /* : String */; +char* var412 /* : NativeString */; +long var413 /* : Int */; +val* var414 /* : FlatString */; +short int var415 /* : Bool */; +short int var416 /* : Bool */; +long var417 /* : Int */; +val* var418 /* : nullable Object */; +val* var419 /* : Array[Object] */; +long var420 /* : Int */; +val* var421 /* : NativeArray[Object] */; +val* var422 /* : String */; +val* var423 /* : RuntimeVariable */; +short int var424 /* : Bool */; +static val* varonce425; +val* var426 /* : String */; +char* var427 /* : NativeString */; +long var428 /* : Int */; +val* var429 /* : FlatString */; +short int var430 /* : Bool */; +short int var431 /* : Bool */; +static val* varonce432; +val* var433 /* : String */; +char* var434 /* : NativeString */; +long var435 /* : Int */; +val* var436 /* : FlatString */; +short int var437 /* : Bool */; +short int var438 /* : Bool */; +static val* varonce439; +val* var440 /* : String */; +char* var441 /* : NativeString */; long var442 /* : Int */; -val* var443 /* : NativeArray[Object] */; -val* var444 /* : String */; +val* var443 /* : FlatString */; +val* var444 /* : nullable Object */; static val* varonce445; val* var446 /* : String */; char* var447 /* : NativeString */; long var448 /* : Int */; val* var449 /* : FlatString */; -short int var450 /* : Bool */; -short int var451 /* : Bool */; -static val* varonce452; +val* var450 /* : Array[Object] */; +long var451 /* : Int */; +val* var452 /* : NativeArray[Object] */; val* var453 /* : String */; -char* var454 /* : NativeString */; -long var455 /* : Int */; -val* var456 /* : FlatString */; -val* var457 /* : nullable Object */; -val* var458 /* : Array[Object] */; -long var459 /* : Int */; -val* var460 /* : NativeArray[Object] */; -val* var461 /* : String */; -val* var462 /* : RuntimeVariable */; -static val* varonce463; -val* var464 /* : String */; -char* var465 /* : NativeString */; -long var466 /* : Int */; -val* var467 /* : FlatString */; -short int var468 /* : Bool */; -short int var469 /* : Bool */; -long var470 /* : Int */; -val* var471 /* : nullable Object */; -static val* varonce472; -val* var473 /* : String */; -char* var474 /* : NativeString */; -long var475 /* : Int */; -val* var476 /* : FlatString */; +short int var454 /* : Bool */; +static val* varonce455; +val* var456 /* : String */; +char* var457 /* : NativeString */; +long var458 /* : Int */; +val* var459 /* : FlatString */; +short int var460 /* : Bool */; +short int var461 /* : Bool */; +static val* varonce462; +val* var463 /* : String */; +char* var464 /* : NativeString */; +long var465 /* : Int */; +val* var466 /* : FlatString */; +val* var467 /* : nullable Object */; +val* var468 /* : Array[Object] */; +long var469 /* : Int */; +val* var470 /* : NativeArray[Object] */; +val* var471 /* : String */; +val* var472 /* : RuntimeVariable */; +short int var473 /* : Bool */; +static val* varonce474; +val* var475 /* : String */; +char* var476 /* : NativeString */; long var477 /* : Int */; -val* var478 /* : nullable Object */; -val* var479 /* : Array[Object] */; -long var480 /* : Int */; -val* var481 /* : NativeArray[Object] */; -val* var482 /* : String */; -val* var483 /* : RuntimeVariable */; -static val* varonce484; -val* var485 /* : String */; -char* var486 /* : NativeString */; -long var487 /* : Int */; -val* var488 /* : FlatString */; -short int var489 /* : Bool */; -short int var490 /* : Bool */; +val* var478 /* : FlatString */; +short int var479 /* : Bool */; +short int var480 /* : Bool */; +long var481 /* : Int */; +val* var482 /* : nullable Object */; +static val* varonce483; +val* var484 /* : String */; +char* var485 /* : NativeString */; +long var486 /* : Int */; +val* var487 /* : FlatString */; +long var488 /* : Int */; +val* var489 /* : nullable Object */; +val* var490 /* : Array[Object] */; long var491 /* : Int */; -val* var492 /* : nullable Object */; -static val* varonce493; -val* var494 /* : String */; -char* var495 /* : NativeString */; -long var496 /* : Int */; -val* var497 /* : FlatString */; -long var498 /* : Int */; -val* var499 /* : nullable Object */; -val* var500 /* : Array[Object] */; -long var501 /* : Int */; -val* var502 /* : NativeArray[Object] */; -val* var503 /* : String */; -val* var504 /* : RuntimeVariable */; +val* var492 /* : NativeArray[Object] */; +val* var493 /* : String */; +val* var494 /* : RuntimeVariable */; +short int var495 /* : Bool */; +static val* varonce496; +val* var497 /* : String */; +char* var498 /* : NativeString */; +long var499 /* : Int */; +val* var500 /* : FlatString */; +short int var501 /* : Bool */; +short int var502 /* : Bool */; +long var503 /* : Int */; +val* var504 /* : nullable Object */; static val* varonce505; val* var506 /* : String */; char* var507 /* : NativeString */; long var508 /* : Int */; val* var509 /* : FlatString */; -short int var510 /* : Bool */; -short int var511 /* : Bool */; -long var512 /* : Int */; -val* var513 /* : nullable Object */; -long var514 /* : Int */; -val* var515 /* : nullable Object */; +long var510 /* : Int */; +val* var511 /* : nullable Object */; +val* var512 /* : Array[Object] */; +long var513 /* : Int */; +val* var514 /* : NativeArray[Object] */; +val* var515 /* : String */; val* var516 /* : RuntimeVariable */; -static val* varonce517; -val* var518 /* : String */; -char* var519 /* : NativeString */; -long var520 /* : Int */; -val* var521 /* : FlatString */; -short int var522 /* : Bool */; +short int var517 /* : Bool */; +static val* varonce518; +val* var519 /* : String */; +char* var520 /* : NativeString */; +long var521 /* : Int */; +val* var522 /* : FlatString */; short int var523 /* : Bool */; -long var524 /* : Int */; -val* var525 /* : nullable Object */; -long var526 /* : Int */; -val* var527 /* : nullable Object */; -val* var528 /* : RuntimeVariable */; -val* var_res529 /* var res: RuntimeVariable */; -static val* varonce530; -val* var531 /* : String */; -char* var532 /* : NativeString */; -long var533 /* : Int */; -val* var534 /* : FlatString */; -val* var535 /* : Array[Object] */; -long var536 /* : Int */; -val* var537 /* : NativeArray[Object] */; -val* var538 /* : String */; -val* var539 /* : RuntimeVariable */; -static val* varonce540; -val* var541 /* : String */; -char* var542 /* : NativeString */; -long var543 /* : Int */; -val* var544 /* : FlatString */; -short int var545 /* : Bool */; -short int var546 /* : Bool */; +short int var524 /* : Bool */; +long var525 /* : Int */; +val* var526 /* : nullable Object */; +long var527 /* : Int */; +val* var528 /* : nullable Object */; +val* var529 /* : RuntimeVariable */; +short int var530 /* : Bool */; +static val* varonce531; +val* var532 /* : String */; +char* var533 /* : NativeString */; +long var534 /* : Int */; +val* var535 /* : FlatString */; +short int var536 /* : Bool */; +short int var537 /* : Bool */; +long var538 /* : Int */; +val* var539 /* : nullable Object */; +long var540 /* : Int */; +val* var541 /* : nullable Object */; +val* var542 /* : RuntimeVariable */; +val* var_res543 /* var res: RuntimeVariable */; +static val* varonce544; +val* var545 /* : String */; +char* var546 /* : NativeString */; long var547 /* : Int */; -val* var548 /* : nullable Object */; -static val* varonce549; -val* var550 /* : String */; -char* var551 /* : NativeString */; -long var552 /* : Int */; -val* var553 /* : FlatString */; -long var554 /* : Int */; -val* var555 /* : nullable Object */; -val* var556 /* : Array[Object] */; -long var557 /* : Int */; -val* var558 /* : NativeArray[Object] */; -val* var559 /* : String */; -val* var560 /* : RuntimeVariable */; -static val* varonce561; -val* var562 /* : String */; -char* var563 /* : NativeString */; -long var564 /* : Int */; -val* var565 /* : FlatString */; -short int var566 /* : Bool */; -short int var567 /* : Bool */; -long var568 /* : Int */; -val* var569 /* : nullable Object */; -static val* varonce570; -val* var571 /* : String */; -char* var572 /* : NativeString */; -long var573 /* : Int */; -val* var574 /* : FlatString */; -long var575 /* : Int */; -val* var576 /* : nullable Object */; -val* var577 /* : Array[Object] */; -long var578 /* : Int */; -val* var579 /* : NativeArray[Object] */; -val* var580 /* : String */; -val* var581 /* : RuntimeVariable */; -static val* varonce582; -val* var583 /* : String */; -char* var584 /* : NativeString */; -long var585 /* : Int */; -val* var586 /* : FlatString */; -short int var587 /* : Bool */; -short int var588 /* : Bool */; +val* var548 /* : FlatString */; +val* var549 /* : Array[Object] */; +long var550 /* : Int */; +val* var551 /* : NativeArray[Object] */; +val* var552 /* : String */; +val* var553 /* : RuntimeVariable */; +short int var554 /* : Bool */; +static val* varonce555; +val* var556 /* : String */; +char* var557 /* : NativeString */; +long var558 /* : Int */; +val* var559 /* : FlatString */; +short int var560 /* : Bool */; +short int var561 /* : Bool */; +long var562 /* : Int */; +val* var563 /* : nullable Object */; +static val* varonce564; +val* var565 /* : String */; +char* var566 /* : NativeString */; +long var567 /* : Int */; +val* var568 /* : FlatString */; +long var569 /* : Int */; +val* var570 /* : nullable Object */; +val* var571 /* : Array[Object] */; +long var572 /* : Int */; +val* var573 /* : NativeArray[Object] */; +val* var574 /* : String */; +val* var575 /* : RuntimeVariable */; +short int var576 /* : Bool */; +static val* varonce577; +val* var578 /* : String */; +char* var579 /* : NativeString */; +long var580 /* : Int */; +val* var581 /* : FlatString */; +short int var582 /* : Bool */; +short int var583 /* : Bool */; +long var584 /* : Int */; +val* var585 /* : nullable Object */; +static val* varonce586; +val* var587 /* : String */; +char* var588 /* : NativeString */; long var589 /* : Int */; -val* var590 /* : nullable Object */; -static val* varonce591; -val* var592 /* : String */; -char* var593 /* : NativeString */; +val* var590 /* : FlatString */; +long var591 /* : Int */; +val* var592 /* : nullable Object */; +val* var593 /* : Array[Object] */; long var594 /* : Int */; -val* var595 /* : FlatString */; -long var596 /* : Int */; -val* var597 /* : nullable Object */; -val* var598 /* : Array[Object] */; -long var599 /* : Int */; -val* var600 /* : NativeArray[Object] */; -val* var601 /* : String */; -val* var602 /* : RuntimeVariable */; -static val* varonce603; -val* var604 /* : String */; -char* var605 /* : NativeString */; +val* var595 /* : NativeArray[Object] */; +val* var596 /* : String */; +val* var597 /* : RuntimeVariable */; +short int var598 /* : Bool */; +static val* varonce599; +val* var600 /* : String */; +char* var601 /* : NativeString */; +long var602 /* : Int */; +val* var603 /* : FlatString */; +short int var604 /* : Bool */; +short int var605 /* : Bool */; long var606 /* : Int */; -val* var607 /* : FlatString */; -short int var608 /* : Bool */; -short int var609 /* : Bool */; -long var610 /* : Int */; -val* var611 /* : nullable Object */; -static val* varonce612; -val* var613 /* : String */; -char* var614 /* : NativeString */; -long var615 /* : Int */; -val* var616 /* : FlatString */; -long var617 /* : Int */; -val* var618 /* : nullable Object */; -val* var619 /* : Array[Object] */; -long var620 /* : Int */; -val* var621 /* : NativeArray[Object] */; +val* var607 /* : nullable Object */; +static val* varonce608; +val* var609 /* : String */; +char* var610 /* : NativeString */; +long var611 /* : Int */; +val* var612 /* : FlatString */; +long var613 /* : Int */; +val* var614 /* : nullable Object */; +val* var615 /* : Array[Object] */; +long var616 /* : Int */; +val* var617 /* : NativeArray[Object] */; +val* var618 /* : String */; +val* var619 /* : RuntimeVariable */; +short int var620 /* : Bool */; +static val* varonce621; val* var622 /* : String */; -val* var623 /* : RuntimeVariable */; -static val* varonce624; -val* var625 /* : String */; -char* var626 /* : NativeString */; -long var627 /* : Int */; -val* var628 /* : FlatString */; -short int var629 /* : Bool */; -short int var630 /* : Bool */; -long var631 /* : Int */; -val* var632 /* : nullable Object */; -static val* varonce633; -val* var634 /* : String */; -char* var635 /* : NativeString */; -long var636 /* : Int */; -val* var637 /* : FlatString */; -val* var638 /* : Array[Object] */; -long var639 /* : Int */; -val* var640 /* : NativeArray[Object] */; -val* var641 /* : String */; -val* var642 /* : RuntimeVariable */; +char* var623 /* : NativeString */; +long var624 /* : Int */; +val* var625 /* : FlatString */; +short int var626 /* : Bool */; +short int var627 /* : Bool */; +long var628 /* : Int */; +val* var629 /* : nullable Object */; +static val* varonce630; +val* var631 /* : String */; +char* var632 /* : NativeString */; +long var633 /* : Int */; +val* var634 /* : FlatString */; +long var635 /* : Int */; +val* var636 /* : nullable Object */; +val* var637 /* : Array[Object] */; +long var638 /* : Int */; +val* var639 /* : NativeArray[Object] */; +val* var640 /* : String */; +val* var641 /* : RuntimeVariable */; +short int var642 /* : Bool */; static val* varonce643; val* var644 /* : String */; char* var645 /* : NativeString */; @@ -648,300 +651,300 @@ long var646 /* : Int */; val* var647 /* : FlatString */; short int var648 /* : Bool */; short int var649 /* : Bool */; -static val* varonce650; -val* var651 /* : String */; -char* var652 /* : NativeString */; -long var653 /* : Int */; -val* var654 /* : FlatString */; +long var650 /* : Int */; +val* var651 /* : nullable Object */; +static val* varonce652; +val* var653 /* : String */; +char* var654 /* : NativeString */; long var655 /* : Int */; -val* var656 /* : nullable Object */; +val* var656 /* : FlatString */; val* var657 /* : Array[Object] */; long var658 /* : Int */; val* var659 /* : NativeArray[Object] */; val* var660 /* : String */; val* var661 /* : RuntimeVariable */; -static val* varonce662; -val* var663 /* : String */; -char* var664 /* : NativeString */; -long var665 /* : Int */; -val* var666 /* : FlatString */; -short int var667 /* : Bool */; +short int var662 /* : Bool */; +static val* varonce663; +val* var664 /* : String */; +char* var665 /* : NativeString */; +long var666 /* : Int */; +val* var667 /* : FlatString */; short int var668 /* : Bool */; -static val* varonce669; -val* var670 /* : String */; -char* var671 /* : NativeString */; -long var672 /* : Int */; -val* var673 /* : FlatString */; -short int var674 /* : Bool */; -short int var675 /* : Bool */; -static val* varonce676; -val* var677 /* : String */; -char* var678 /* : NativeString */; -long var679 /* : Int */; -val* var680 /* : FlatString */; -val* var681 /* : nullable Object */; -static val* varonce682; -val* var683 /* : String */; -char* var684 /* : NativeString */; -long var685 /* : Int */; -val* var686 /* : FlatString */; -val* var687 /* : Array[Object] */; -long var688 /* : Int */; -val* var689 /* : NativeArray[Object] */; -val* var690 /* : String */; -static val* varonce691; -val* var692 /* : String */; -char* var693 /* : NativeString */; -long var694 /* : Int */; -val* var695 /* : FlatString */; +short int var669 /* : Bool */; +static val* varonce670; +val* var671 /* : String */; +char* var672 /* : NativeString */; +long var673 /* : Int */; +val* var674 /* : FlatString */; +long var675 /* : Int */; +val* var676 /* : nullable Object */; +val* var677 /* : Array[Object] */; +long var678 /* : Int */; +val* var679 /* : NativeArray[Object] */; +val* var680 /* : String */; +val* var681 /* : RuntimeVariable */; +short int var682 /* : Bool */; +static val* varonce683; +val* var684 /* : String */; +char* var685 /* : NativeString */; +long var686 /* : Int */; +val* var687 /* : FlatString */; +short int var688 /* : Bool */; +short int var689 /* : Bool */; +static val* varonce690; +val* var691 /* : String */; +char* var692 /* : NativeString */; +long var693 /* : Int */; +val* var694 /* : FlatString */; +short int var695 /* : Bool */; short int var696 /* : Bool */; -short int var697 /* : Bool */; -static val* varonce698; -val* var699 /* : String */; -char* var700 /* : NativeString */; -long var701 /* : Int */; -val* var702 /* : FlatString */; -val* var703 /* : nullable Object */; -val* var704 /* : Array[Object] */; -long var705 /* : Int */; -val* var706 /* : NativeArray[Object] */; -val* var707 /* : String */; -val* var708 /* : RuntimeVariable */; -static val* varonce709; -val* var710 /* : String */; -char* var711 /* : NativeString */; -long var712 /* : Int */; -val* var713 /* : FlatString */; -short int var714 /* : Bool */; -short int var715 /* : Bool */; +static val* varonce697; +val* var698 /* : String */; +char* var699 /* : NativeString */; +long var700 /* : Int */; +val* var701 /* : FlatString */; +val* var702 /* : nullable Object */; +static val* varonce703; +val* var704 /* : String */; +char* var705 /* : NativeString */; +long var706 /* : Int */; +val* var707 /* : FlatString */; +val* var708 /* : Array[Object] */; +long var709 /* : Int */; +val* var710 /* : NativeArray[Object] */; +val* var711 /* : String */; +short int var712 /* : Bool */; +static val* varonce713; +val* var714 /* : String */; +char* var715 /* : NativeString */; long var716 /* : Int */; -val* var717 /* : nullable Object */; -long var718 /* : Int */; -val* var719 /* : nullable Object */; -val* var720 /* : RuntimeVariable */; -static val* varonce721; -val* var722 /* : String */; -char* var723 /* : NativeString */; -long var724 /* : Int */; -val* var725 /* : FlatString */; -short int var726 /* : Bool */; -short int var727 /* : Bool */; -long var728 /* : Int */; -val* var729 /* : nullable Object */; -long var730 /* : Int */; -val* var731 /* : nullable Object */; -val* var732 /* : RuntimeVariable */; -val* var_res733 /* var res: RuntimeVariable */; -static val* varonce734; -val* var735 /* : String */; -char* var736 /* : NativeString */; -long var737 /* : Int */; -val* var738 /* : FlatString */; -val* var739 /* : Array[Object] */; -long var740 /* : Int */; -val* var741 /* : NativeArray[Object] */; -val* var742 /* : String */; +val* var717 /* : FlatString */; +short int var718 /* : Bool */; +short int var719 /* : Bool */; +static val* varonce720; +val* var721 /* : String */; +char* var722 /* : NativeString */; +long var723 /* : Int */; +val* var724 /* : FlatString */; +val* var725 /* : nullable Object */; +val* var726 /* : Array[Object] */; +long var727 /* : Int */; +val* var728 /* : NativeArray[Object] */; +val* var729 /* : String */; +val* var730 /* : RuntimeVariable */; +short int var731 /* : Bool */; +static val* varonce732; +val* var733 /* : String */; +char* var734 /* : NativeString */; +long var735 /* : Int */; +val* var736 /* : FlatString */; +short int var737 /* : Bool */; +short int var738 /* : Bool */; +long var739 /* : Int */; +val* var740 /* : nullable Object */; +long var741 /* : Int */; +val* var742 /* : nullable Object */; val* var743 /* : RuntimeVariable */; -static val* varonce744; -val* var745 /* : String */; -char* var746 /* : NativeString */; -long var747 /* : Int */; -val* var748 /* : FlatString */; -short int var749 /* : Bool */; +short int var744 /* : Bool */; +static val* varonce745; +val* var746 /* : String */; +char* var747 /* : NativeString */; +long var748 /* : Int */; +val* var749 /* : FlatString */; short int var750 /* : Bool */; -static val* varonce751; -val* var752 /* : String */; -char* var753 /* : NativeString */; +short int var751 /* : Bool */; +long var752 /* : Int */; +val* var753 /* : nullable Object */; long var754 /* : Int */; -val* var755 /* : FlatString */; -short int var756 /* : Bool */; -short int var757 /* : Bool */; +val* var755 /* : nullable Object */; +val* var756 /* : RuntimeVariable */; +val* var_res757 /* var res: RuntimeVariable */; static val* varonce758; val* var759 /* : String */; char* var760 /* : NativeString */; long var761 /* : Int */; val* var762 /* : FlatString */; -val* var763 /* : nullable Object */; -static val* varonce764; -val* var765 /* : String */; -char* var766 /* : NativeString */; -long var767 /* : Int */; -val* var768 /* : FlatString */; -val* var769 /* : Array[Object] */; -long var770 /* : Int */; -val* var771 /* : NativeArray[Object] */; -val* var772 /* : String */; -static val* varonce773; -val* var774 /* : String */; -char* var775 /* : NativeString */; -long var776 /* : Int */; -val* var777 /* : FlatString */; -short int var778 /* : Bool */; -short int var779 /* : Bool */; -static val* varonce780; -val* var781 /* : String */; -char* var782 /* : NativeString */; -long var783 /* : Int */; -val* var784 /* : FlatString */; -val* var785 /* : nullable Object */; -val* var786 /* : Array[Object] */; -long var787 /* : Int */; -val* var788 /* : NativeArray[Object] */; -val* var789 /* : String */; -val* var790 /* : RuntimeVariable */; -static val* varonce791; -val* var792 /* : String */; -char* var793 /* : NativeString */; -long var794 /* : Int */; -val* var795 /* : FlatString */; -short int var796 /* : Bool */; -short int var797 /* : Bool */; -long var798 /* : Int */; -val* var799 /* : nullable Object */; -static val* varonce800; -val* var801 /* : String */; -char* var802 /* : NativeString */; -long var803 /* : Int */; -val* var804 /* : FlatString */; -long var805 /* : Int */; -val* var806 /* : nullable Object */; -val* var807 /* : Array[Object] */; -long var808 /* : Int */; -val* var809 /* : NativeArray[Object] */; -val* var810 /* : String */; -val* var811 /* : RuntimeVariable */; -static val* varonce812; -val* var813 /* : String */; -char* var814 /* : NativeString */; -long var815 /* : Int */; -val* var816 /* : FlatString */; +val* var763 /* : Array[Object] */; +long var764 /* : Int */; +val* var765 /* : NativeArray[Object] */; +val* var766 /* : String */; +val* var767 /* : RuntimeVariable */; +short int var768 /* : Bool */; +static val* varonce769; +val* var770 /* : String */; +char* var771 /* : NativeString */; +long var772 /* : Int */; +val* var773 /* : FlatString */; +short int var774 /* : Bool */; +short int var775 /* : Bool */; +static val* varonce776; +val* var777 /* : String */; +char* var778 /* : NativeString */; +long var779 /* : Int */; +val* var780 /* : FlatString */; +short int var781 /* : Bool */; +short int var782 /* : Bool */; +static val* varonce783; +val* var784 /* : String */; +char* var785 /* : NativeString */; +long var786 /* : Int */; +val* var787 /* : FlatString */; +val* var788 /* : nullable Object */; +static val* varonce789; +val* var790 /* : String */; +char* var791 /* : NativeString */; +long var792 /* : Int */; +val* var793 /* : FlatString */; +val* var794 /* : Array[Object] */; +long var795 /* : Int */; +val* var796 /* : NativeArray[Object] */; +val* var797 /* : String */; +short int var798 /* : Bool */; +static val* varonce799; +val* var800 /* : String */; +char* var801 /* : NativeString */; +long var802 /* : Int */; +val* var803 /* : FlatString */; +short int var804 /* : Bool */; +short int var805 /* : Bool */; +static val* varonce806; +val* var807 /* : String */; +char* var808 /* : NativeString */; +long var809 /* : Int */; +val* var810 /* : FlatString */; +val* var811 /* : nullable Object */; +val* var812 /* : Array[Object] */; +long var813 /* : Int */; +val* var814 /* : NativeArray[Object] */; +val* var815 /* : String */; +val* var816 /* : RuntimeVariable */; short int var817 /* : Bool */; -short int var818 /* : Bool */; -long var819 /* : Int */; -val* var820 /* : nullable Object */; -static val* varonce821; -val* var822 /* : String */; -char* var823 /* : NativeString */; -long var824 /* : Int */; -val* var825 /* : FlatString */; -long var826 /* : Int */; -val* var827 /* : nullable Object */; -val* var828 /* : Array[Object] */; -long var829 /* : Int */; -val* var830 /* : NativeArray[Object] */; -val* var831 /* : String */; -val* var832 /* : RuntimeVariable */; -static val* varonce833; -val* var834 /* : String */; -char* var835 /* : NativeString */; -long var836 /* : Int */; -val* var837 /* : FlatString */; -short int var838 /* : Bool */; +static val* varonce818; +val* var819 /* : String */; +char* var820 /* : NativeString */; +long var821 /* : Int */; +val* var822 /* : FlatString */; +short int var823 /* : Bool */; +short int var824 /* : Bool */; +long var825 /* : Int */; +val* var826 /* : nullable Object */; +static val* varonce827; +val* var828 /* : String */; +char* var829 /* : NativeString */; +long var830 /* : Int */; +val* var831 /* : FlatString */; +long var832 /* : Int */; +val* var833 /* : nullable Object */; +val* var834 /* : Array[Object] */; +long var835 /* : Int */; +val* var836 /* : NativeArray[Object] */; +val* var837 /* : String */; +val* var838 /* : RuntimeVariable */; short int var839 /* : Bool */; static val* varonce840; val* var841 /* : String */; char* var842 /* : NativeString */; long var843 /* : Int */; val* var844 /* : FlatString */; -long var845 /* : Int */; -val* var846 /* : nullable Object */; -val* var847 /* : Array[Object] */; -long var848 /* : Int */; -val* var849 /* : NativeArray[Object] */; +short int var845 /* : Bool */; +short int var846 /* : Bool */; +long var847 /* : Int */; +val* var848 /* : nullable Object */; +static val* varonce849; val* var850 /* : String */; -val* var851 /* : RuntimeVariable */; -static val* varonce852; -val* var853 /* : String */; -char* var854 /* : NativeString */; -long var855 /* : Int */; -val* var856 /* : FlatString */; -short int var857 /* : Bool */; -short int var858 /* : Bool */; -long var859 /* : Int */; -val* var860 /* : nullable Object */; -static val* varonce861; -val* var862 /* : String */; -char* var863 /* : NativeString */; -long var864 /* : Int */; -val* var865 /* : FlatString */; -val* var866 /* : Array[Object] */; -long var867 /* : Int */; -val* var868 /* : NativeArray[Object] */; -val* var869 /* : String */; -val* var870 /* : RuntimeVariable */; -static val* varonce871; -val* var872 /* : String */; -char* var873 /* : NativeString */; +char* var851 /* : NativeString */; +long var852 /* : Int */; +val* var853 /* : FlatString */; +long var854 /* : Int */; +val* var855 /* : nullable Object */; +val* var856 /* : Array[Object] */; +long var857 /* : Int */; +val* var858 /* : NativeArray[Object] */; +val* var859 /* : String */; +val* var860 /* : RuntimeVariable */; +short int var861 /* : Bool */; +static val* varonce862; +val* var863 /* : String */; +char* var864 /* : NativeString */; +long var865 /* : Int */; +val* var866 /* : FlatString */; +short int var867 /* : Bool */; +short int var868 /* : Bool */; +static val* varonce869; +val* var870 /* : String */; +char* var871 /* : NativeString */; +long var872 /* : Int */; +val* var873 /* : FlatString */; long var874 /* : Int */; -val* var875 /* : FlatString */; -short int var876 /* : Bool */; -short int var877 /* : Bool */; -long var878 /* : Int */; -val* var879 /* : nullable Object */; -static val* varonce880; -val* var881 /* : String */; -char* var882 /* : NativeString */; -long var883 /* : Int */; -val* var884 /* : FlatString */; -val* var885 /* : Array[Object] */; -long var886 /* : Int */; -val* var887 /* : NativeArray[Object] */; -val* var888 /* : String */; -val* var889 /* : RuntimeVariable */; -static val* varonce890; -val* var891 /* : String */; -char* var892 /* : NativeString */; -long var893 /* : Int */; -val* var894 /* : FlatString */; -short int var895 /* : Bool */; -short int var896 /* : Bool */; +val* var875 /* : nullable Object */; +val* var876 /* : Array[Object] */; +long var877 /* : Int */; +val* var878 /* : NativeArray[Object] */; +val* var879 /* : String */; +val* var880 /* : RuntimeVariable */; +short int var881 /* : Bool */; +static val* varonce882; +val* var883 /* : String */; +char* var884 /* : NativeString */; +long var885 /* : Int */; +val* var886 /* : FlatString */; +short int var887 /* : Bool */; +short int var888 /* : Bool */; +long var889 /* : Int */; +val* var890 /* : nullable Object */; +static val* varonce891; +val* var892 /* : String */; +char* var893 /* : NativeString */; +long var894 /* : Int */; +val* var895 /* : FlatString */; +val* var896 /* : Array[Object] */; long var897 /* : Int */; -val* var898 /* : nullable Object */; -static val* varonce899; -val* var900 /* : String */; -char* var901 /* : NativeString */; -long var902 /* : Int */; -val* var903 /* : FlatString */; -long var904 /* : Int */; -val* var905 /* : nullable Object */; -val* var906 /* : Array[Object] */; -long var907 /* : Int */; -val* var908 /* : NativeArray[Object] */; -val* var909 /* : String */; -val* var910 /* : RuntimeVariable */; +val* var898 /* : NativeArray[Object] */; +val* var899 /* : String */; +val* var900 /* : RuntimeVariable */; +short int var901 /* : Bool */; +static val* varonce902; +val* var903 /* : String */; +char* var904 /* : NativeString */; +long var905 /* : Int */; +val* var906 /* : FlatString */; +short int var907 /* : Bool */; +short int var908 /* : Bool */; +long var909 /* : Int */; +val* var910 /* : nullable Object */; static val* varonce911; val* var912 /* : String */; char* var913 /* : NativeString */; long var914 /* : Int */; val* var915 /* : FlatString */; -short int var916 /* : Bool */; -short int var917 /* : Bool */; -long var918 /* : Int */; -val* var919 /* : nullable Object */; -static val* varonce920; -val* var921 /* : String */; -char* var922 /* : NativeString */; -long var923 /* : Int */; -val* var924 /* : FlatString */; +val* var916 /* : Array[Object] */; +long var917 /* : Int */; +val* var918 /* : NativeArray[Object] */; +val* var919 /* : String */; +val* var920 /* : RuntimeVariable */; +short int var921 /* : Bool */; +static val* varonce922; +val* var923 /* : String */; +char* var924 /* : NativeString */; long var925 /* : Int */; -val* var926 /* : nullable Object */; -val* var927 /* : Array[Object] */; -long var928 /* : Int */; -val* var929 /* : NativeArray[Object] */; -val* var930 /* : String */; -val* var931 /* : RuntimeVariable */; -static val* varonce932; -val* var933 /* : String */; -char* var934 /* : NativeString */; -long var935 /* : Int */; -val* var936 /* : FlatString */; -short int var937 /* : Bool */; -short int var938 /* : Bool */; +val* var926 /* : FlatString */; +short int var927 /* : Bool */; +short int var928 /* : Bool */; +long var929 /* : Int */; +val* var930 /* : nullable Object */; +static val* varonce931; +val* var932 /* : String */; +char* var933 /* : NativeString */; +long var934 /* : Int */; +val* var935 /* : FlatString */; +long var936 /* : Int */; +val* var937 /* : nullable Object */; +val* var938 /* : Array[Object] */; long var939 /* : Int */; -val* var940 /* : nullable Object */; -long var941 /* : Int */; -val* var942 /* : nullable Object */; -val* var943 /* : RuntimeVariable */; +val* var940 /* : NativeArray[Object] */; +val* var941 /* : String */; +val* var942 /* : RuntimeVariable */; +short int var943 /* : Bool */; static val* varonce944; val* var945 /* : String */; char* var946 /* : NativeString */; @@ -951,379 +954,379 @@ short int var949 /* : Bool */; short int var950 /* : Bool */; long var951 /* : Int */; val* var952 /* : nullable Object */; -long var953 /* : Int */; -val* var954 /* : nullable Object */; -val* var955 /* : RuntimeVariable */; -val* var_res956 /* var res: RuntimeVariable */; -static val* varonce957; -val* var958 /* : String */; -char* var959 /* : NativeString */; -long var960 /* : Int */; -val* var961 /* : FlatString */; -val* var962 /* : Array[Object] */; -long var963 /* : Int */; -val* var964 /* : NativeArray[Object] */; -val* var965 /* : String */; -val* var966 /* : RuntimeVariable */; -static val* varonce967; -val* var968 /* : String */; -char* var969 /* : NativeString */; -long var970 /* : Int */; -val* var971 /* : FlatString */; +static val* varonce953; +val* var954 /* : String */; +char* var955 /* : NativeString */; +long var956 /* : Int */; +val* var957 /* : FlatString */; +long var958 /* : Int */; +val* var959 /* : nullable Object */; +val* var960 /* : Array[Object] */; +long var961 /* : Int */; +val* var962 /* : NativeArray[Object] */; +val* var963 /* : String */; +val* var964 /* : RuntimeVariable */; +short int var965 /* : Bool */; +static val* varonce966; +val* var967 /* : String */; +char* var968 /* : NativeString */; +long var969 /* : Int */; +val* var970 /* : FlatString */; +short int var971 /* : Bool */; short int var972 /* : Bool */; -short int var973 /* : Bool */; -long var974 /* : Int */; -val* var975 /* : nullable Object */; -static val* varonce976; -val* var977 /* : String */; -char* var978 /* : NativeString */; -long var979 /* : Int */; -val* var980 /* : FlatString */; -long var981 /* : Int */; -val* var982 /* : nullable Object */; -val* var983 /* : Array[Object] */; -long var984 /* : Int */; -val* var985 /* : NativeArray[Object] */; -val* var986 /* : String */; -val* var987 /* : RuntimeVariable */; -static val* varonce988; -val* var989 /* : String */; -char* var990 /* : NativeString */; -long var991 /* : Int */; -val* var992 /* : FlatString */; -short int var993 /* : Bool */; -short int var994 /* : Bool */; +long var973 /* : Int */; +val* var974 /* : nullable Object */; +long var975 /* : Int */; +val* var976 /* : nullable Object */; +val* var977 /* : RuntimeVariable */; +short int var978 /* : Bool */; +static val* varonce979; +val* var980 /* : String */; +char* var981 /* : NativeString */; +long var982 /* : Int */; +val* var983 /* : FlatString */; +short int var984 /* : Bool */; +short int var985 /* : Bool */; +long var986 /* : Int */; +val* var987 /* : nullable Object */; +long var988 /* : Int */; +val* var989 /* : nullable Object */; +val* var990 /* : RuntimeVariable */; +val* var_res991 /* var res: RuntimeVariable */; +static val* varonce992; +val* var993 /* : String */; +char* var994 /* : NativeString */; long var995 /* : Int */; -val* var996 /* : nullable Object */; -static val* varonce997; -val* var998 /* : String */; -char* var999 /* : NativeString */; -long var1000 /* : Int */; -val* var1001 /* : FlatString */; -long var1002 /* : Int */; -val* var1003 /* : nullable Object */; -val* var1004 /* : Array[Object] */; -long var1005 /* : Int */; -val* var1006 /* : NativeArray[Object] */; -val* var1007 /* : String */; -val* var1008 /* : RuntimeVariable */; -static val* varonce1009; -val* var1010 /* : String */; -char* var1011 /* : NativeString */; -long var1012 /* : Int */; -val* var1013 /* : FlatString */; -short int var1014 /* : Bool */; -short int var1015 /* : Bool */; -long var1016 /* : Int */; -val* var1017 /* : nullable Object */; -static val* varonce1018; -val* var1019 /* : String */; -char* var1020 /* : NativeString */; -long var1021 /* : Int */; -val* var1022 /* : FlatString */; -long var1023 /* : Int */; -val* var1024 /* : nullable Object */; -val* var1025 /* : Array[Object] */; -long var1026 /* : Int */; -val* var1027 /* : NativeArray[Object] */; -val* var1028 /* : String */; -val* var1029 /* : RuntimeVariable */; -static val* varonce1030; -val* var1031 /* : String */; -char* var1032 /* : NativeString */; -long var1033 /* : Int */; -val* var1034 /* : FlatString */; -short int var1035 /* : Bool */; -short int var1036 /* : Bool */; +val* var996 /* : FlatString */; +val* var997 /* : Array[Object] */; +long var998 /* : Int */; +val* var999 /* : NativeArray[Object] */; +val* var1000 /* : String */; +val* var1001 /* : RuntimeVariable */; +short int var1002 /* : Bool */; +static val* varonce1003; +val* var1004 /* : String */; +char* var1005 /* : NativeString */; +long var1006 /* : Int */; +val* var1007 /* : FlatString */; +short int var1008 /* : Bool */; +short int var1009 /* : Bool */; +long var1010 /* : Int */; +val* var1011 /* : nullable Object */; +static val* varonce1012; +val* var1013 /* : String */; +char* var1014 /* : NativeString */; +long var1015 /* : Int */; +val* var1016 /* : FlatString */; +long var1017 /* : Int */; +val* var1018 /* : nullable Object */; +val* var1019 /* : Array[Object] */; +long var1020 /* : Int */; +val* var1021 /* : NativeArray[Object] */; +val* var1022 /* : String */; +val* var1023 /* : RuntimeVariable */; +short int var1024 /* : Bool */; +static val* varonce1025; +val* var1026 /* : String */; +char* var1027 /* : NativeString */; +long var1028 /* : Int */; +val* var1029 /* : FlatString */; +short int var1030 /* : Bool */; +short int var1031 /* : Bool */; +long var1032 /* : Int */; +val* var1033 /* : nullable Object */; +static val* varonce1034; +val* var1035 /* : String */; +char* var1036 /* : NativeString */; long var1037 /* : Int */; -val* var1038 /* : nullable Object */; -static val* varonce1039; -val* var1040 /* : String */; -char* var1041 /* : NativeString */; +val* var1038 /* : FlatString */; +long var1039 /* : Int */; +val* var1040 /* : nullable Object */; +val* var1041 /* : Array[Object] */; long var1042 /* : Int */; -val* var1043 /* : FlatString */; -long var1044 /* : Int */; -val* var1045 /* : nullable Object */; -val* var1046 /* : Array[Object] */; -long var1047 /* : Int */; -val* var1048 /* : NativeArray[Object] */; -val* var1049 /* : String */; -val* var1050 /* : RuntimeVariable */; -static val* varonce1051; -val* var1052 /* : String */; -char* var1053 /* : NativeString */; +val* var1043 /* : NativeArray[Object] */; +val* var1044 /* : String */; +val* var1045 /* : RuntimeVariable */; +short int var1046 /* : Bool */; +static val* varonce1047; +val* var1048 /* : String */; +char* var1049 /* : NativeString */; +long var1050 /* : Int */; +val* var1051 /* : FlatString */; +short int var1052 /* : Bool */; +short int var1053 /* : Bool */; long var1054 /* : Int */; -val* var1055 /* : FlatString */; -short int var1056 /* : Bool */; -short int var1057 /* : Bool */; -static val* varonce1058; -val* var1059 /* : String */; -char* var1060 /* : NativeString */; +val* var1055 /* : nullable Object */; +static val* varonce1056; +val* var1057 /* : String */; +char* var1058 /* : NativeString */; +long var1059 /* : Int */; +val* var1060 /* : FlatString */; long var1061 /* : Int */; -val* var1062 /* : FlatString */; -long var1063 /* : Int */; -val* var1064 /* : nullable Object */; -val* var1065 /* : Array[Object] */; -long var1066 /* : Int */; -val* var1067 /* : NativeArray[Object] */; -val* var1068 /* : String */; -val* var1069 /* : RuntimeVariable */; -static val* varonce1070; -val* var1071 /* : String */; -char* var1072 /* : NativeString */; -long var1073 /* : Int */; -val* var1074 /* : FlatString */; +val* var1062 /* : nullable Object */; +val* var1063 /* : Array[Object] */; +long var1064 /* : Int */; +val* var1065 /* : NativeArray[Object] */; +val* var1066 /* : String */; +val* var1067 /* : RuntimeVariable */; +short int var1068 /* : Bool */; +static val* varonce1069; +val* var1070 /* : String */; +char* var1071 /* : NativeString */; +long var1072 /* : Int */; +val* var1073 /* : FlatString */; +short int var1074 /* : Bool */; short int var1075 /* : Bool */; -short int var1076 /* : Bool */; -static val* varonce1077; -val* var1078 /* : String */; -char* var1079 /* : NativeString */; -long var1080 /* : Int */; -val* var1081 /* : FlatString */; -short int var1082 /* : Bool */; -short int var1083 /* : Bool */; -long var1084 /* : Int */; -val* var1085 /* : nullable Object */; -static val* varonce1086; -val* var1087 /* : String */; -char* var1088 /* : NativeString */; -long var1089 /* : Int */; -val* var1090 /* : FlatString */; -long var1091 /* : Int */; -val* var1092 /* : nullable Object */; -static val* varonce1093; -val* var1094 /* : String */; -char* var1095 /* : NativeString */; -long var1096 /* : Int */; -val* var1097 /* : FlatString */; -val* var1098 /* : Array[Object] */; -long var1099 /* : Int */; -val* var1100 /* : NativeArray[Object] */; -val* var1101 /* : String */; -val* var1102 /* : RuntimeVariable */; -static val* varonce1103; -val* var1104 /* : String */; -char* var1105 /* : NativeString */; +long var1076 /* : Int */; +val* var1077 /* : nullable Object */; +static val* varonce1078; +val* var1079 /* : String */; +char* var1080 /* : NativeString */; +long var1081 /* : Int */; +val* var1082 /* : FlatString */; +long var1083 /* : Int */; +val* var1084 /* : nullable Object */; +val* var1085 /* : Array[Object] */; +long var1086 /* : Int */; +val* var1087 /* : NativeArray[Object] */; +val* var1088 /* : String */; +val* var1089 /* : RuntimeVariable */; +short int var1090 /* : Bool */; +static val* varonce1091; +val* var1092 /* : String */; +char* var1093 /* : NativeString */; +long var1094 /* : Int */; +val* var1095 /* : FlatString */; +short int var1096 /* : Bool */; +short int var1097 /* : Bool */; +static val* varonce1098; +val* var1099 /* : String */; +char* var1100 /* : NativeString */; +long var1101 /* : Int */; +val* var1102 /* : FlatString */; +long var1103 /* : Int */; +val* var1104 /* : nullable Object */; +val* var1105 /* : Array[Object] */; long var1106 /* : Int */; -val* var1107 /* : FlatString */; -short int var1108 /* : Bool */; -short int var1109 /* : Bool */; -long var1110 /* : Int */; -val* var1111 /* : nullable Object */; -static val* varonce1112; -val* var1113 /* : String */; -char* var1114 /* : NativeString */; -long var1115 /* : Int */; -val* var1116 /* : FlatString */; -long var1117 /* : Int */; -val* var1118 /* : nullable Object */; -static val* varonce1119; -val* var1120 /* : String */; -char* var1121 /* : NativeString */; -long var1122 /* : Int */; -val* var1123 /* : FlatString */; -long var1124 /* : Int */; -val* var1125 /* : nullable Object */; -static val* varonce1126; -val* var1127 /* : String */; -char* var1128 /* : NativeString */; -long var1129 /* : Int */; -val* var1130 /* : FlatString */; -val* var1131 /* : Array[Object] */; +val* var1107 /* : NativeArray[Object] */; +val* var1108 /* : String */; +val* var1109 /* : RuntimeVariable */; +short int var1110 /* : Bool */; +static val* varonce1111; +val* var1112 /* : String */; +char* var1113 /* : NativeString */; +long var1114 /* : Int */; +val* var1115 /* : FlatString */; +short int var1116 /* : Bool */; +short int var1117 /* : Bool */; +static val* varonce1118; +val* var1119 /* : String */; +char* var1120 /* : NativeString */; +long var1121 /* : Int */; +val* var1122 /* : FlatString */; +short int var1123 /* : Bool */; +short int var1124 /* : Bool */; +long var1125 /* : Int */; +val* var1126 /* : nullable Object */; +static val* varonce1127; +val* var1128 /* : String */; +char* var1129 /* : NativeString */; +long var1130 /* : Int */; +val* var1131 /* : FlatString */; long var1132 /* : Int */; -val* var1133 /* : NativeArray[Object] */; -val* var1134 /* : String */; -static val* varonce1135; -val* var1136 /* : String */; -char* var1137 /* : NativeString */; -long var1138 /* : Int */; -val* var1139 /* : FlatString */; -short int var1140 /* : Bool */; -short int var1141 /* : Bool */; -static val* varonce1142; -val* var1143 /* : String */; -char* var1144 /* : NativeString */; -long var1145 /* : Int */; -val* var1146 /* : FlatString */; -long var1147 /* : Int */; -val* var1148 /* : nullable Object */; -static val* varonce1149; -val* var1150 /* : String */; -char* var1151 /* : NativeString */; +val* var1133 /* : nullable Object */; +static val* varonce1134; +val* var1135 /* : String */; +char* var1136 /* : NativeString */; +long var1137 /* : Int */; +val* var1138 /* : FlatString */; +val* var1139 /* : Array[Object] */; +long var1140 /* : Int */; +val* var1141 /* : NativeArray[Object] */; +val* var1142 /* : String */; +val* var1143 /* : RuntimeVariable */; +short int var1144 /* : Bool */; +static val* varonce1145; +val* var1146 /* : String */; +char* var1147 /* : NativeString */; +long var1148 /* : Int */; +val* var1149 /* : FlatString */; +short int var1150 /* : Bool */; +short int var1151 /* : Bool */; long var1152 /* : Int */; -val* var1153 /* : FlatString */; -long var1154 /* : Int */; -val* var1155 /* : nullable Object */; -static val* varonce1156; -val* var1157 /* : String */; -char* var1158 /* : NativeString */; +val* var1153 /* : nullable Object */; +static val* varonce1154; +val* var1155 /* : String */; +char* var1156 /* : NativeString */; +long var1157 /* : Int */; +val* var1158 /* : FlatString */; long var1159 /* : Int */; -val* var1160 /* : FlatString */; -long var1161 /* : Int */; -val* var1162 /* : nullable Object */; -static val* varonce1163; -val* var1164 /* : String */; -char* var1165 /* : NativeString */; +val* var1160 /* : nullable Object */; +static val* varonce1161; +val* var1162 /* : String */; +char* var1163 /* : NativeString */; +long var1164 /* : Int */; +val* var1165 /* : FlatString */; long var1166 /* : Int */; -val* var1167 /* : FlatString */; -long var1168 /* : Int */; -val* var1169 /* : nullable Object */; -static val* varonce1170; -val* var1171 /* : String */; -char* var1172 /* : NativeString */; -long var1173 /* : Int */; -val* var1174 /* : FlatString */; -long var1175 /* : Int */; -val* var1176 /* : nullable Object */; -static val* varonce1177; -val* var1178 /* : String */; -char* var1179 /* : NativeString */; -long var1180 /* : Int */; -val* var1181 /* : FlatString */; -val* var1182 /* : Array[Object] */; -long var1183 /* : Int */; -val* var1184 /* : NativeArray[Object] */; -val* var1185 /* : String */; -static val* varonce1186; -val* var1187 /* : String */; -char* var1188 /* : NativeString */; -long var1189 /* : Int */; -val* var1190 /* : FlatString */; -short int var1191 /* : Bool */; -short int var1192 /* : Bool */; -static val* varonce1193; -val* var1194 /* : String */; -char* var1195 /* : NativeString */; -long var1196 /* : Int */; -val* var1197 /* : FlatString */; -long var1198 /* : Int */; -val* var1199 /* : nullable Object */; -static val* varonce1200; -val* var1201 /* : String */; -char* var1202 /* : NativeString */; -long var1203 /* : Int */; -val* var1204 /* : FlatString */; -val* var1205 /* : Array[Object] */; -long var1206 /* : Int */; -val* var1207 /* : NativeArray[Object] */; -val* var1208 /* : String */; -val* var1209 /* : RuntimeVariable */; -static val* varonce1210; -val* var1211 /* : String */; -char* var1212 /* : NativeString */; -long var1213 /* : Int */; -val* var1214 /* : FlatString */; -short int var1215 /* : Bool */; -short int var1216 /* : Bool */; -static val* varonce1217; -val* var1218 /* : String */; -char* var1219 /* : NativeString */; -long var1220 /* : Int */; -val* var1221 /* : FlatString */; -long var1222 /* : Int */; -val* var1223 /* : nullable Object */; -static val* varonce1224; -val* var1225 /* : String */; -char* var1226 /* : NativeString */; -long var1227 /* : Int */; -val* var1228 /* : FlatString */; -val* var1229 /* : Array[Object] */; -long var1230 /* : Int */; -val* var1231 /* : NativeArray[Object] */; -val* var1232 /* : String */; -val* var1233 /* : RuntimeVariable */; -static val* varonce1234; -val* var1235 /* : String */; -char* var1236 /* : NativeString */; -long var1237 /* : Int */; -val* var1238 /* : FlatString */; -short int var1239 /* : Bool */; -short int var1240 /* : Bool */; -static val* varonce1241; -val* var1242 /* : String */; -char* var1243 /* : NativeString */; -long var1244 /* : Int */; -val* var1245 /* : FlatString */; -short int var1246 /* : Bool */; -short int var1247 /* : Bool */; -static val* varonce1248; -val* var1249 /* : String */; -char* var1250 /* : NativeString */; -long var1251 /* : Int */; -val* var1252 /* : FlatString */; -long var1253 /* : Int */; -val* var1254 /* : nullable Object */; +val* var1167 /* : nullable Object */; +static val* varonce1168; +val* var1169 /* : String */; +char* var1170 /* : NativeString */; +long var1171 /* : Int */; +val* var1172 /* : FlatString */; +val* var1173 /* : Array[Object] */; +long var1174 /* : Int */; +val* var1175 /* : NativeArray[Object] */; +val* var1176 /* : String */; +short int var1177 /* : Bool */; +static val* varonce1178; +val* var1179 /* : String */; +char* var1180 /* : NativeString */; +long var1181 /* : Int */; +val* var1182 /* : FlatString */; +short int var1183 /* : Bool */; +short int var1184 /* : Bool */; +static val* varonce1185; +val* var1186 /* : String */; +char* var1187 /* : NativeString */; +long var1188 /* : Int */; +val* var1189 /* : FlatString */; +long var1190 /* : Int */; +val* var1191 /* : nullable Object */; +static val* varonce1192; +val* var1193 /* : String */; +char* var1194 /* : NativeString */; +long var1195 /* : Int */; +val* var1196 /* : FlatString */; +long var1197 /* : Int */; +val* var1198 /* : nullable Object */; +static val* varonce1199; +val* var1200 /* : String */; +char* var1201 /* : NativeString */; +long var1202 /* : Int */; +val* var1203 /* : FlatString */; +long var1204 /* : Int */; +val* var1205 /* : nullable Object */; +static val* varonce1206; +val* var1207 /* : String */; +char* var1208 /* : NativeString */; +long var1209 /* : Int */; +val* var1210 /* : FlatString */; +long var1211 /* : Int */; +val* var1212 /* : nullable Object */; +static val* varonce1213; +val* var1214 /* : String */; +char* var1215 /* : NativeString */; +long var1216 /* : Int */; +val* var1217 /* : FlatString */; +long var1218 /* : Int */; +val* var1219 /* : nullable Object */; +static val* varonce1220; +val* var1221 /* : String */; +char* var1222 /* : NativeString */; +long var1223 /* : Int */; +val* var1224 /* : FlatString */; +val* var1225 /* : Array[Object] */; +long var1226 /* : Int */; +val* var1227 /* : NativeArray[Object] */; +val* var1228 /* : String */; +short int var1229 /* : Bool */; +static val* varonce1230; +val* var1231 /* : String */; +char* var1232 /* : NativeString */; +long var1233 /* : Int */; +val* var1234 /* : FlatString */; +short int var1235 /* : Bool */; +short int var1236 /* : Bool */; +static val* varonce1237; +val* var1238 /* : String */; +char* var1239 /* : NativeString */; +long var1240 /* : Int */; +val* var1241 /* : FlatString */; +long var1242 /* : Int */; +val* var1243 /* : nullable Object */; +static val* varonce1244; +val* var1245 /* : String */; +char* var1246 /* : NativeString */; +long var1247 /* : Int */; +val* var1248 /* : FlatString */; +val* var1249 /* : Array[Object] */; +long var1250 /* : Int */; +val* var1251 /* : NativeArray[Object] */; +val* var1252 /* : String */; +val* var1253 /* : RuntimeVariable */; +short int var1254 /* : Bool */; static val* varonce1255; val* var1256 /* : String */; char* var1257 /* : NativeString */; long var1258 /* : Int */; val* var1259 /* : FlatString */; -val* var1260 /* : Array[Object] */; -long var1261 /* : Int */; -val* var1262 /* : NativeArray[Object] */; +short int var1260 /* : Bool */; +short int var1261 /* : Bool */; +static val* varonce1262; val* var1263 /* : String */; -static val* varonce1264; -val* var1265 /* : String */; -char* var1266 /* : NativeString */; +char* var1264 /* : NativeString */; +long var1265 /* : Int */; +val* var1266 /* : FlatString */; long var1267 /* : Int */; -val* var1268 /* : FlatString */; -short int var1269 /* : Bool */; -short int var1270 /* : Bool */; -static val* varonce1271; -val* var1272 /* : String */; -char* var1273 /* : NativeString */; -long var1274 /* : Int */; -val* var1275 /* : FlatString */; -val* var1276 /* : RuntimeVariable */; -static val* varonce1277; -val* var1278 /* : String */; -char* var1279 /* : NativeString */; -long var1280 /* : Int */; -val* var1281 /* : FlatString */; -short int var1282 /* : Bool */; -short int var1283 /* : Bool */; -static val* varonce1284; -val* var1285 /* : String */; -char* var1286 /* : NativeString */; -long var1287 /* : Int */; -val* var1288 /* : FlatString */; -long var1289 /* : Int */; -val* var1290 /* : nullable Object */; -static val* varonce1291; -val* var1292 /* : String */; -char* var1293 /* : NativeString */; -long var1294 /* : Int */; -val* var1295 /* : FlatString */; -val* var1296 /* : Array[Object] */; -long var1297 /* : Int */; -val* var1298 /* : NativeArray[Object] */; -val* var1299 /* : String */; -val* var1300 /* : RuntimeVariable */; -static val* varonce1301; -val* var1302 /* : String */; -char* var1303 /* : NativeString */; -long var1304 /* : Int */; -val* var1305 /* : FlatString */; -short int var1306 /* : Bool */; -short int var1307 /* : Bool */; -static val* varonce1308; -val* var1309 /* : String */; -char* var1310 /* : NativeString */; -long var1311 /* : Int */; -val* var1312 /* : FlatString */; -short int var1313 /* : Bool */; -short int var1314 /* : Bool */; -static val* varonce1315; -val* var1316 /* : String */; -char* var1317 /* : NativeString */; -long var1318 /* : Int */; -val* var1319 /* : FlatString */; -val* var1320 /* : nullable Object */; -val* var1321 /* : Array[Object] */; +val* var1268 /* : nullable Object */; +static val* varonce1269; +val* var1270 /* : String */; +char* var1271 /* : NativeString */; +long var1272 /* : Int */; +val* var1273 /* : FlatString */; +val* var1274 /* : Array[Object] */; +long var1275 /* : Int */; +val* var1276 /* : NativeArray[Object] */; +val* var1277 /* : String */; +val* var1278 /* : RuntimeVariable */; +short int var1279 /* : Bool */; +static val* varonce1280; +val* var1281 /* : String */; +char* var1282 /* : NativeString */; +long var1283 /* : Int */; +val* var1284 /* : FlatString */; +short int var1285 /* : Bool */; +short int var1286 /* : Bool */; +short int var1287 /* : Bool */; +static val* varonce1288; +val* var1289 /* : String */; +char* var1290 /* : NativeString */; +long var1291 /* : Int */; +val* var1292 /* : FlatString */; +short int var1293 /* : Bool */; +short int var1294 /* : Bool */; +static val* varonce1295; +val* var1296 /* : String */; +char* var1297 /* : NativeString */; +long var1298 /* : Int */; +val* var1299 /* : FlatString */; +long var1300 /* : Int */; +val* var1301 /* : nullable Object */; +static val* varonce1302; +val* var1303 /* : String */; +char* var1304 /* : NativeString */; +long var1305 /* : Int */; +val* var1306 /* : FlatString */; +val* var1307 /* : Array[Object] */; +long var1308 /* : Int */; +val* var1309 /* : NativeArray[Object] */; +val* var1310 /* : String */; +short int var1311 /* : Bool */; +static val* varonce1312; +val* var1313 /* : String */; +char* var1314 /* : NativeString */; +long var1315 /* : Int */; +val* var1316 /* : FlatString */; +short int var1317 /* : Bool */; +short int var1318 /* : Bool */; +static val* varonce1319; +val* var1320 /* : String */; +char* var1321 /* : NativeString */; long var1322 /* : Int */; -val* var1323 /* : NativeArray[Object] */; -val* var1324 /* : String */; -val* var1325 /* : RuntimeVariable */; +val* var1323 /* : FlatString */; +val* var1324 /* : RuntimeVariable */; +short int var1325 /* : Bool */; static val* varonce1326; val* var1327 /* : String */; char* var1328 /* : NativeString */; @@ -1331,856 +1334,863 @@ long var1329 /* : Int */; val* var1330 /* : FlatString */; short int var1331 /* : Bool */; short int var1332 /* : Bool */; -long var1333 /* : Int */; -val* var1334 /* : nullable Object */; -long var1335 /* : Int */; -val* var1336 /* : nullable Object */; -val* var1337 /* : RuntimeVariable */; -static val* varonce1338; -val* var1339 /* : String */; -char* var1340 /* : NativeString */; -long var1341 /* : Int */; -val* var1342 /* : FlatString */; -short int var1343 /* : Bool */; -short int var1344 /* : Bool */; -long var1345 /* : Int */; -val* var1346 /* : nullable Object */; -long var1347 /* : Int */; -val* var1348 /* : nullable Object */; +static val* varonce1333; +val* var1334 /* : String */; +char* var1335 /* : NativeString */; +long var1336 /* : Int */; +val* var1337 /* : FlatString */; +long var1338 /* : Int */; +val* var1339 /* : nullable Object */; +static val* varonce1340; +val* var1341 /* : String */; +char* var1342 /* : NativeString */; +long var1343 /* : Int */; +val* var1344 /* : FlatString */; +val* var1345 /* : Array[Object] */; +long var1346 /* : Int */; +val* var1347 /* : NativeArray[Object] */; +val* var1348 /* : String */; val* var1349 /* : RuntimeVariable */; -static val* varonce1350; -val* var1351 /* : String */; -char* var1352 /* : NativeString */; -long var1353 /* : Int */; -val* var1354 /* : FlatString */; -short int var1355 /* : Bool */; +short int var1350 /* : Bool */; +static val* varonce1351; +val* var1352 /* : String */; +char* var1353 /* : NativeString */; +long var1354 /* : Int */; +val* var1355 /* : FlatString */; short int var1356 /* : Bool */; -val* var1357 /* : nullable Object */; -val* var1358 /* : String */; -val* var_nat /* var nat: String */; +short int var1357 /* : Bool */; +short int var1358 /* : Bool */; static val* varonce1359; val* var1360 /* : String */; char* var1361 /* : NativeString */; long var1362 /* : Int */; val* var1363 /* : FlatString */; -static val* varonce1364; -val* var1365 /* : String */; -char* var1366 /* : NativeString */; -long var1367 /* : Int */; -val* var1368 /* : FlatString */; -val* var1369 /* : Array[Object] */; -long var1370 /* : Int */; -val* var1371 /* : NativeArray[Object] */; -val* var1372 /* : String */; -static val* varonce1373; -val* var1374 /* : String */; -char* var1375 /* : NativeString */; -long var1376 /* : Int */; -val* var1377 /* : FlatString */; -short int var1378 /* : Bool */; -short int var1379 /* : Bool */; -val* var1380 /* : nullable Object */; -val* var1381 /* : String */; -val* var_nat1382 /* var nat: String */; -static val* varonce1383; -val* var1384 /* : String */; -char* var1385 /* : NativeString */; -long var1386 /* : Int */; -val* var1387 /* : FlatString */; -val* var1388 /* : Array[Object] */; -long var1389 /* : Int */; -val* var1390 /* : NativeArray[Object] */; -val* var1391 /* : String */; -val* var1392 /* : RuntimeVariable */; -static val* varonce1393; -val* var1394 /* : String */; -char* var1395 /* : NativeString */; -long var1396 /* : Int */; -val* var1397 /* : FlatString */; -short int var1398 /* : Bool */; -short int var1399 /* : Bool */; -static val* varonce1400; -val* var1401 /* : String */; -char* var1402 /* : NativeString */; -long var1403 /* : Int */; -val* var1404 /* : FlatString */; -static val* varonce1405; -val* var1406 /* : String */; -char* var1407 /* : NativeString */; -long var1408 /* : Int */; -val* var1409 /* : FlatString */; +short int var1364 /* : Bool */; +short int var1365 /* : Bool */; +static val* varonce1366; +val* var1367 /* : String */; +char* var1368 /* : NativeString */; +long var1369 /* : Int */; +val* var1370 /* : FlatString */; +val* var1371 /* : nullable Object */; +val* var1372 /* : Array[Object] */; +long var1373 /* : Int */; +val* var1374 /* : NativeArray[Object] */; +val* var1375 /* : String */; +val* var1376 /* : RuntimeVariable */; +short int var1377 /* : Bool */; +static val* varonce1378; +val* var1379 /* : String */; +char* var1380 /* : NativeString */; +long var1381 /* : Int */; +val* var1382 /* : FlatString */; +short int var1383 /* : Bool */; +short int var1384 /* : Bool */; +long var1385 /* : Int */; +val* var1386 /* : nullable Object */; +long var1387 /* : Int */; +val* var1388 /* : nullable Object */; +val* var1389 /* : RuntimeVariable */; +short int var1390 /* : Bool */; +static val* varonce1391; +val* var1392 /* : String */; +char* var1393 /* : NativeString */; +long var1394 /* : Int */; +val* var1395 /* : FlatString */; +short int var1396 /* : Bool */; +short int var1397 /* : Bool */; +long var1398 /* : Int */; +val* var1399 /* : nullable Object */; +long var1400 /* : Int */; +val* var1401 /* : nullable Object */; +val* var1402 /* : RuntimeVariable */; +short int var1403 /* : Bool */; +static val* varonce1404; +val* var1405 /* : String */; +char* var1406 /* : NativeString */; +long var1407 /* : Int */; +val* var1408 /* : FlatString */; +short int var1409 /* : Bool */; short int var1410 /* : Bool */; -short int var1411 /* : Bool */; -static val* varonce1412; -val* var1413 /* : String */; -char* var1414 /* : NativeString */; -long var1415 /* : Int */; -val* var1416 /* : FlatString */; -val* var1417 /* : RuntimeVariable */; +val* var1411 /* : nullable Object */; +val* var1412 /* : String */; +val* var_nat /* var nat: String */; +static val* varonce1413; +val* var1414 /* : String */; +char* var1415 /* : NativeString */; +long var1416 /* : Int */; +val* var1417 /* : FlatString */; static val* varonce1418; val* var1419 /* : String */; char* var1420 /* : NativeString */; long var1421 /* : Int */; val* var1422 /* : FlatString */; -short int var1423 /* : Bool */; -short int var1424 /* : Bool */; -static val* varonce1425; +val* var1423 /* : Array[Object] */; +long var1424 /* : Int */; +val* var1425 /* : NativeArray[Object] */; val* var1426 /* : String */; -char* var1427 /* : NativeString */; -long var1428 /* : Int */; -val* var1429 /* : FlatString */; -long var1430 /* : Int */; -val* var1431 /* : nullable Object */; -static val* varonce1432; -val* var1433 /* : String */; -char* var1434 /* : NativeString */; -long var1435 /* : Int */; -val* var1436 /* : FlatString */; -val* var1437 /* : Array[Object] */; -long var1438 /* : Int */; -val* var1439 /* : NativeArray[Object] */; -val* var1440 /* : String */; -val* var1441 /* : RuntimeVariable */; -static val* varonce1442; -val* var1443 /* : String */; -char* var1444 /* : NativeString */; -long var1445 /* : Int */; -val* var1446 /* : FlatString */; -val* var1447 /* : String */; -static val* varonce1448; -val* var1449 /* : String */; -char* var1450 /* : NativeString */; -long var1451 /* : Int */; -val* var1452 /* : FlatString */; -static val* varonce1453; -val* var1454 /* : String */; -char* var1455 /* : NativeString */; -long var1456 /* : Int */; -val* var1457 /* : FlatString */; -val* var1458 /* : Location */; -val* var1459 /* : String */; -static val* varonce1460; -val* var1461 /* : String */; -char* var1462 /* : NativeString */; -long var1463 /* : Int */; -val* var1464 /* : FlatString */; -val* var1465 /* : Array[Object] */; -long var1466 /* : Int */; -val* var1467 /* : NativeArray[Object] */; -val* var1468 /* : String */; +short int var1427 /* : Bool */; +static val* varonce1428; +val* var1429 /* : String */; +char* var1430 /* : NativeString */; +long var1431 /* : Int */; +val* var1432 /* : FlatString */; +short int var1433 /* : Bool */; +short int var1434 /* : Bool */; +val* var1435 /* : nullable Object */; +val* var1436 /* : String */; +val* var_nat1437 /* var nat: String */; +static val* varonce1438; +val* var1439 /* : String */; +char* var1440 /* : NativeString */; +long var1441 /* : Int */; +val* var1442 /* : FlatString */; +val* var1443 /* : Array[Object] */; +long var1444 /* : Int */; +val* var1445 /* : NativeArray[Object] */; +val* var1446 /* : String */; +val* var1447 /* : RuntimeVariable */; +short int var1448 /* : Bool */; +static val* varonce1449; +val* var1450 /* : String */; +char* var1451 /* : NativeString */; +long var1452 /* : Int */; +val* var1453 /* : FlatString */; +short int var1454 /* : Bool */; +short int var1455 /* : Bool */; +static val* varonce1456; +val* var1457 /* : String */; +char* var1458 /* : NativeString */; +long var1459 /* : Int */; +val* var1460 /* : FlatString */; +short int var1461 /* : Bool */; +static val* varonce1462; +val* var1463 /* : String */; +char* var1464 /* : NativeString */; +long var1465 /* : Int */; +val* var1466 /* : FlatString */; +short int var1467 /* : Bool */; +short int var1468 /* : Bool */; static val* varonce1469; val* var1470 /* : String */; char* var1471 /* : NativeString */; long var1472 /* : Int */; val* var1473 /* : FlatString */; -val* var1474 /* : Array[Object] */; -long var1475 /* : Int */; -val* var1476 /* : NativeArray[Object] */; +val* var1474 /* : RuntimeVariable */; +short int var1475 /* : Bool */; +static val* varonce1476; val* var1477 /* : String */; +char* var1478 /* : NativeString */; +long var1479 /* : Int */; +val* var1480 /* : FlatString */; +short int var1481 /* : Bool */; +short int var1482 /* : Bool */; +static val* varonce1483; +val* var1484 /* : String */; +char* var1485 /* : NativeString */; +long var1486 /* : Int */; +val* var1487 /* : FlatString */; +long var1488 /* : Int */; +val* var1489 /* : nullable Object */; +static val* varonce1490; +val* var1491 /* : String */; +char* var1492 /* : NativeString */; +long var1493 /* : Int */; +val* var1494 /* : FlatString */; +val* var1495 /* : Array[Object] */; +long var1496 /* : Int */; +val* var1497 /* : NativeArray[Object] */; +val* var1498 /* : String */; +val* var1499 /* : RuntimeVariable */; +short int var1500 /* : Bool */; +short int var1501 /* : Bool */; var_v = p0; var_mpropdef = p1; var_arguments = p2; { { /* Inline model#MPropDef#mproperty (var_mpropdef) on */ -var2 = var_mpropdef->attrs[COLOR_model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var2 == NULL)) { +var3 = var_mpropdef->attrs[COLOR_model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1882); +PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898); show_backtrace(1); } -var = var2; -RET_LABEL1:(void)0; +var1 = var3; +RET_LABEL2:(void)0; } } { -{ /* Inline model#MProperty#name (var) on */ -var5 = var->attrs[COLOR_model__MProperty___name].val; /* _name on */ -if (unlikely(var5 == NULL)) { +{ /* Inline model#MProperty#name (var1) on */ +var6 = var1->attrs[COLOR_model__MProperty___name].val; /* _name on */ +if (unlikely(var6 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1607); +PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1620); show_backtrace(1); } -var3 = var5; -RET_LABEL4:(void)0; +var4 = var6; +RET_LABEL5:(void)0; } } -var_pname = var3; +var_pname = var4; { { /* Inline model#MPropDef#mclassdef (var_mpropdef) on */ -var8 = var_mpropdef->attrs[COLOR_model__MPropDef___mclassdef].val; /* _mclassdef on */ -if (unlikely(var8 == NULL)) { +var9 = var_mpropdef->attrs[COLOR_model__MPropDef___mclassdef].val; /* _mclassdef on */ +if (unlikely(var9 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef"); -PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1879); +PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1895); show_backtrace(1); } -var6 = var8; -RET_LABEL7:(void)0; +var7 = var9; +RET_LABEL8:(void)0; } } { -{ /* Inline model#MClassDef#mclass (var6) on */ -var11 = var6->attrs[COLOR_model__MClassDef___mclass].val; /* _mclass on */ -if (unlikely(var11 == NULL)) { +{ /* Inline model#MClassDef#mclass (var7) on */ +var12 = var7->attrs[COLOR_model__MClassDef___mclass].val; /* _mclass on */ +if (unlikely(var12 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 474); +PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 492); show_backtrace(1); } -var9 = var11; -RET_LABEL10:(void)0; +var10 = var12; +RET_LABEL11:(void)0; } } { -{ /* Inline model#MClass#name (var9) on */ -var14 = var9->attrs[COLOR_model__MClass___name].val; /* _name on */ -if (unlikely(var14 == NULL)) { +{ /* Inline model#MClass#name (var10) on */ +var15 = var10->attrs[COLOR_model__MClass___name].val; /* _name on */ +if (unlikely(var15 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 340); +PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 352); show_backtrace(1); } -var12 = var14; -RET_LABEL13:(void)0; +var13 = var15; +RET_LABEL14:(void)0; } } -var_cname = var12; +var_cname = var13; { { /* Inline model#MMethodDef#msignature (var_mpropdef) on */ -var17 = var_mpropdef->attrs[COLOR_model__MMethodDef___msignature].val; /* _msignature on */ -var15 = var17; -RET_LABEL16:(void)0; +var18 = var_mpropdef->attrs[COLOR_model__MMethodDef___msignature].val; /* _msignature on */ +var16 = var18; +RET_LABEL17:(void)0; } } -if (var15 == NULL) { +if (var16 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1831); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2008); show_backtrace(1); } else { -{ /* Inline model#MSignature#return_mtype (var15) on */ -if (unlikely(var15 == NULL)) { +{ /* Inline model#MSignature#return_mtype (var16) on */ +if (unlikely(var16 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1455); +PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1468); show_backtrace(1); } -var20 = var15->attrs[COLOR_model__MSignature___return_mtype].val; /* _return_mtype on */ -var18 = var20; -RET_LABEL19:(void)0; +var21 = var16->attrs[COLOR_model__MSignature___return_mtype].val; /* _return_mtype on */ +var19 = var21; +RET_LABEL20:(void)0; } } -var_ret = var18; -var21 = NULL; +var_ret = var19; +var22 = NULL; if (var_ret == NULL) { -var22 = 0; /* is null */ +var23 = 0; /* is null */ } else { -var22 = 1; /* arg is null and recv is not */ +var23 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_ret,var21) on */ -var_other = var21; -{ -var26 = ((short int (*)(val*, val*))(var_ret->class->vft[COLOR_kernel__Object___61d_61d]))(var_ret, var_other) /* == on */; -var25 = var26; -} -var27 = !var25; -var23 = var27; -goto RET_LABEL24; -RET_LABEL24:(void)0; -} -var22 = var23; -} -if (var22){ -{ -var28 = abstract_collection__SequenceRead__first(var_arguments); -} -{ -var29 = abstract_compiler__AbstractCompilerVisitor__resolve_for(var_v, var_ret, var28); -} -var_ret = var29; -} else { +{ /* Inline kernel#Object#!= (var_ret,var22) on */ +var_other = var22; { -{ /* Inline model#MPropDef#mproperty (var_mpropdef) on */ -var32 = var_mpropdef->attrs[COLOR_model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var32 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1882); -show_backtrace(1); -} -var30 = var32; -RET_LABEL31:(void)0; +var27 = ((short int (*)(val*, val*))(var_ret->class->vft[COLOR_kernel__Object___61d_61d]))(var_ret, var_other) /* == on */; +var26 = var27; } +var28 = !var26; +var24 = var28; +goto RET_LABEL25; +RET_LABEL25:(void)0; } -{ -{ /* Inline model#MMethod#is_new (var30) on */ -var35 = var30->attrs[COLOR_model__MMethod___is_new].s; /* _is_new on */ -var33 = var35; -RET_LABEL34:(void)0; -} +var23 = var24; } -if (var33){ +if (var23){ { -var36 = abstract_collection__SequenceRead__first(var_arguments); +var29 = abstract_collection__SequenceRead__first(var_arguments); } { -{ /* Inline abstract_compiler#RuntimeVariable#mcasttype (var36) on */ -var39 = var36->attrs[COLOR_abstract_compiler__RuntimeVariable___mcasttype].val; /* _mcasttype on */ -if (unlikely(var39 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1487); -show_backtrace(1); -} -var37 = var39; -RET_LABEL38:(void)0; -} +var30 = abstract_compiler__AbstractCompilerVisitor__resolve_for(var_v, var_ret, var29); } -var_ret = var37; +var_ret = var30; } else { } -} if (varonce) { -var41 = varonce; +var32 = varonce; } else { -var42 = "=="; -var43 = 2; -var44 = string__NativeString__to_s_with_length(var42, var43); -var41 = var44; -varonce = var41; +var33 = "=="; +var34 = 2; +var35 = string__NativeString__to_s_with_length(var33, var34); +var32 = var35; +varonce = var32; } { -{ /* Inline kernel#Object#!= (var_pname,var41) on */ -var_other = var41; +{ /* Inline kernel#Object#!= (var_pname,var32) on */ +var_other = var32; { -var49 = ((short int (*)(val*, val*))(var_pname->class->vft[COLOR_kernel__Object___61d_61d]))(var_pname, var_other) /* == on */; -var48 = var49; +var40 = ((short int (*)(val*, val*))(var_pname->class->vft[COLOR_kernel__Object___61d_61d]))(var_pname, var_other) /* == on */; +var39 = var40; } -var50 = !var48; -var46 = var50; -goto RET_LABEL47; -RET_LABEL47:(void)0; +var41 = !var39; +var37 = var41; +goto RET_LABEL38; +RET_LABEL38:(void)0; } -var45 = var46; +var36 = var37; } -var_ = var45; -if (var45){ -if (varonce51) { -var52 = varonce51; +var_ = var36; +if (var36){ +if (varonce42) { +var43 = varonce42; } else { -var53 = "!="; -var54 = 2; -var55 = string__NativeString__to_s_with_length(var53, var54); -var52 = var55; -varonce51 = var52; +var44 = "!="; +var45 = 2; +var46 = string__NativeString__to_s_with_length(var44, var45); +var43 = var46; +varonce42 = var43; } { -{ /* Inline kernel#Object#!= (var_pname,var52) on */ -var_other = var52; +{ /* Inline kernel#Object#!= (var_pname,var43) on */ +var_other = var43; { -var60 = ((short int (*)(val*, val*))(var_pname->class->vft[COLOR_kernel__Object___61d_61d]))(var_pname, var_other) /* == on */; -var59 = var60; +var51 = ((short int (*)(val*, val*))(var_pname->class->vft[COLOR_kernel__Object___61d_61d]))(var_pname, var_other) /* == on */; +var50 = var51; } -var61 = !var59; -var57 = var61; -goto RET_LABEL58; -RET_LABEL58:(void)0; +var52 = !var50; +var48 = var52; +goto RET_LABEL49; +RET_LABEL49:(void)0; } -var56 = var57; +var47 = var48; } -var40 = var56; +var31 = var47; } else { -var40 = var_; +var31 = var_; } -if (var40){ +if (var31){ { separate_compiler__SeparateCompilerVisitor__adapt_signature(var_v, var_mpropdef, var_arguments); /* Direct call separate_compiler#SeparateCompilerVisitor#adapt_signature on */ } +{ +separate_compiler__SeparateCompilerVisitor__unbox_signature_extern(var_v, var_mpropdef, var_arguments); /* Direct call separate_compiler#SeparateCompilerVisitor#unbox_signature_extern on */ +} } else { } -if (varonce62) { -var63 = varonce62; +if (varonce53) { +var54 = varonce53; } else { -var64 = "Int"; -var65 = 3; -var66 = string__NativeString__to_s_with_length(var64, var65); -var63 = var66; -varonce62 = var63; +var55 = "Int"; +var56 = 3; +var57 = string__NativeString__to_s_with_length(var55, var56); +var54 = var57; +varonce53 = var54; } { -var68 = string__FlatString___61d_61d(var_cname, var63); -var67 = var68; +var59 = string__FlatString___61d_61d(var_cname, var54); +var58 = var59; } -if (var67){ -if (varonce69) { -var70 = varonce69; +if (var58){ +if (varonce60) { +var61 = varonce60; } else { -var71 = "output"; -var72 = 6; -var73 = string__NativeString__to_s_with_length(var71, var72); -var70 = var73; -varonce69 = var70; +var62 = "output"; +var63 = 6; +var64 = string__NativeString__to_s_with_length(var62, var63); +var61 = var64; +varonce60 = var61; } { -var75 = string__FlatString___61d_61d(var_pname, var70); -var74 = var75; +var66 = string__FlatString___61d_61d(var_pname, var61); +var65 = var66; } -if (var74){ -if (varonce76) { -var77 = varonce76; +if (var65){ +if (varonce67) { +var68 = varonce67; } else { -var78 = "printf(\"%ld\\n\", "; -var79 = 16; -var80 = string__NativeString__to_s_with_length(var78, var79); -var77 = var80; -varonce76 = var77; +var69 = "printf(\"%ld\\n\", "; +var70 = 16; +var71 = string__NativeString__to_s_with_length(var69, var70); +var68 = var71; +varonce67 = var68; } { -var81 = abstract_collection__SequenceRead__first(var_arguments); +var72 = abstract_collection__SequenceRead__first(var_arguments); } -if (varonce82) { -var83 = varonce82; +if (varonce73) { +var74 = varonce73; } else { -var84 = ");"; -var85 = 2; -var86 = string__NativeString__to_s_with_length(var84, var85); -var83 = var86; -varonce82 = var83; +var75 = ");"; +var76 = 2; +var77 = string__NativeString__to_s_with_length(var75, var76); +var74 = var77; +varonce73 = var74; } -var87 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var87 = array_instance Array[Object] */ -var88 = 3; -var89 = NEW_array__NativeArray(var88, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var89)->values[0] = (val*) var77; -((struct instance_array__NativeArray*)var89)->values[1] = (val*) var81; -((struct instance_array__NativeArray*)var89)->values[2] = (val*) var83; +var78 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var78 = array_instance Array[Object] */ +var79 = 3; +var80 = NEW_array__NativeArray(var79, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var80)->values[0] = (val*) var68; +((struct instance_array__NativeArray*)var80)->values[1] = (val*) var72; +((struct instance_array__NativeArray*)var80)->values[2] = (val*) var74; { -((void (*)(val*, val*, long))(var87->class->vft[COLOR_array__Array__with_native]))(var87, var89, var88) /* with_native on */; +((void (*)(val*, val*, long))(var78->class->vft[COLOR_array__Array__with_native]))(var78, var80, var79) /* with_native on */; } } { -var90 = ((val* (*)(val*))(var87->class->vft[COLOR_string__Object__to_s]))(var87) /* to_s on */; +var81 = ((val* (*)(val*))(var78->class->vft[COLOR_string__Object__to_s]))(var78) /* to_s on */; } { -abstract_compiler__AbstractCompilerVisitor__add(var_v, var90); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +abstract_compiler__AbstractCompilerVisitor__add(var_v, var81); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } +var82 = 1; +var = var82; goto RET_LABEL; } else { -if (varonce91) { -var92 = varonce91; +if (varonce83) { +var84 = varonce83; } else { -var93 = "object_id"; -var94 = 9; -var95 = string__NativeString__to_s_with_length(var93, var94); -var92 = var95; -varonce91 = var92; +var85 = "object_id"; +var86 = 9; +var87 = string__NativeString__to_s_with_length(var85, var86); +var84 = var87; +varonce83 = var84; } { -var97 = string__FlatString___61d_61d(var_pname, var92); -var96 = var97; +var89 = string__FlatString___61d_61d(var_pname, var84); +var88 = var89; } -if (var96){ +if (var88){ { -var98 = abstract_collection__SequenceRead__first(var_arguments); +var90 = abstract_collection__SequenceRead__first(var_arguments); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var98); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var90); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var91 = 1; +var = var91; goto RET_LABEL; } else { -if (varonce99) { -var100 = varonce99; +if (varonce92) { +var93 = varonce92; } else { -var101 = "+"; -var102 = 1; -var103 = string__NativeString__to_s_with_length(var101, var102); -var100 = var103; -varonce99 = var100; +var94 = "+"; +var95 = 1; +var96 = string__NativeString__to_s_with_length(var94, var95); +var93 = var96; +varonce92 = var93; } { -var105 = string__FlatString___61d_61d(var_pname, var100); -var104 = var105; +var98 = string__FlatString___61d_61d(var_pname, var93); +var97 = var98; } -if (var104){ -var106 = 0; +if (var97){ +var99 = 0; { -var107 = array__Array___91d_93d(var_arguments, var106); +var100 = array__Array___91d_93d(var_arguments, var99); } -if (varonce108) { -var109 = varonce108; +if (varonce101) { +var102 = varonce101; } else { -var110 = " + "; -var111 = 3; -var112 = string__NativeString__to_s_with_length(var110, var111); -var109 = var112; -varonce108 = var109; +var103 = " + "; +var104 = 3; +var105 = string__NativeString__to_s_with_length(var103, var104); +var102 = var105; +varonce101 = var102; } -var113 = 1; +var106 = 1; { -var114 = array__Array___91d_93d(var_arguments, var113); +var107 = array__Array___91d_93d(var_arguments, var106); } -var115 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var115 = array_instance Array[Object] */ -var116 = 3; -var117 = NEW_array__NativeArray(var116, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var117)->values[0] = (val*) var107; -((struct instance_array__NativeArray*)var117)->values[1] = (val*) var109; -((struct instance_array__NativeArray*)var117)->values[2] = (val*) var114; +var108 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var108 = array_instance Array[Object] */ +var109 = 3; +var110 = NEW_array__NativeArray(var109, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var110)->values[0] = (val*) var100; +((struct instance_array__NativeArray*)var110)->values[1] = (val*) var102; +((struct instance_array__NativeArray*)var110)->values[2] = (val*) var107; { -((void (*)(val*, val*, long))(var115->class->vft[COLOR_array__Array__with_native]))(var115, var117, var116) /* with_native on */; +((void (*)(val*, val*, long))(var108->class->vft[COLOR_array__Array__with_native]))(var108, var110, var109) /* with_native on */; } } { -var118 = ((val* (*)(val*))(var115->class->vft[COLOR_string__Object__to_s]))(var115) /* to_s on */; +var111 = ((val* (*)(val*))(var108->class->vft[COLOR_string__Object__to_s]))(var108) /* to_s on */; } if (unlikely(var_ret == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1848); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2024); show_backtrace(1); } { -var119 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var118, var_ret); +var112 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var111, var_ret); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var119); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var112); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var113 = 1; +var = var113; goto RET_LABEL; } else { -if (varonce120) { -var121 = varonce120; +if (varonce114) { +var115 = varonce114; } else { -var122 = "-"; -var123 = 1; -var124 = string__NativeString__to_s_with_length(var122, var123); -var121 = var124; -varonce120 = var121; +var116 = "-"; +var117 = 1; +var118 = string__NativeString__to_s_with_length(var116, var117); +var115 = var118; +varonce114 = var115; } { -var126 = string__FlatString___61d_61d(var_pname, var121); -var125 = var126; +var120 = string__FlatString___61d_61d(var_pname, var115); +var119 = var120; } -if (var125){ -var127 = 0; +if (var119){ +var121 = 0; { -var128 = array__Array___91d_93d(var_arguments, var127); +var122 = array__Array___91d_93d(var_arguments, var121); } -if (varonce129) { -var130 = varonce129; +if (varonce123) { +var124 = varonce123; } else { -var131 = " - "; -var132 = 3; -var133 = string__NativeString__to_s_with_length(var131, var132); -var130 = var133; -varonce129 = var130; +var125 = " - "; +var126 = 3; +var127 = string__NativeString__to_s_with_length(var125, var126); +var124 = var127; +varonce123 = var124; } -var134 = 1; +var128 = 1; { -var135 = array__Array___91d_93d(var_arguments, var134); +var129 = array__Array___91d_93d(var_arguments, var128); } -var136 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var136 = array_instance Array[Object] */ -var137 = 3; -var138 = NEW_array__NativeArray(var137, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var138)->values[0] = (val*) var128; -((struct instance_array__NativeArray*)var138)->values[1] = (val*) var130; -((struct instance_array__NativeArray*)var138)->values[2] = (val*) var135; +var130 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var130 = array_instance Array[Object] */ +var131 = 3; +var132 = NEW_array__NativeArray(var131, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var132)->values[0] = (val*) var122; +((struct instance_array__NativeArray*)var132)->values[1] = (val*) var124; +((struct instance_array__NativeArray*)var132)->values[2] = (val*) var129; { -((void (*)(val*, val*, long))(var136->class->vft[COLOR_array__Array__with_native]))(var136, var138, var137) /* with_native on */; +((void (*)(val*, val*, long))(var130->class->vft[COLOR_array__Array__with_native]))(var130, var132, var131) /* with_native on */; } } { -var139 = ((val* (*)(val*))(var136->class->vft[COLOR_string__Object__to_s]))(var136) /* to_s on */; +var133 = ((val* (*)(val*))(var130->class->vft[COLOR_string__Object__to_s]))(var130) /* to_s on */; } if (unlikely(var_ret == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1851); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2027); show_backtrace(1); } { -var140 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var139, var_ret); +var134 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var133, var_ret); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var140); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var134); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var135 = 1; +var = var135; goto RET_LABEL; } else { -if (varonce141) { -var142 = varonce141; +if (varonce136) { +var137 = varonce136; } else { -var143 = "unary -"; -var144 = 7; -var145 = string__NativeString__to_s_with_length(var143, var144); -var142 = var145; -varonce141 = var142; +var138 = "unary -"; +var139 = 7; +var140 = string__NativeString__to_s_with_length(var138, var139); +var137 = var140; +varonce136 = var137; } { -var147 = string__FlatString___61d_61d(var_pname, var142); -var146 = var147; +var142 = string__FlatString___61d_61d(var_pname, var137); +var141 = var142; } -if (var146){ -if (varonce148) { -var149 = varonce148; +if (var141){ +if (varonce143) { +var144 = varonce143; } else { -var150 = "-"; -var151 = 1; -var152 = string__NativeString__to_s_with_length(var150, var151); -var149 = var152; -varonce148 = var149; +var145 = "-"; +var146 = 1; +var147 = string__NativeString__to_s_with_length(var145, var146); +var144 = var147; +varonce143 = var144; } -var153 = 0; +var148 = 0; { -var154 = array__Array___91d_93d(var_arguments, var153); +var149 = array__Array___91d_93d(var_arguments, var148); } -var155 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var155 = array_instance Array[Object] */ -var156 = 2; -var157 = NEW_array__NativeArray(var156, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var157)->values[0] = (val*) var149; -((struct instance_array__NativeArray*)var157)->values[1] = (val*) var154; +var150 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var150 = array_instance Array[Object] */ +var151 = 2; +var152 = NEW_array__NativeArray(var151, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var152)->values[0] = (val*) var144; +((struct instance_array__NativeArray*)var152)->values[1] = (val*) var149; { -((void (*)(val*, val*, long))(var155->class->vft[COLOR_array__Array__with_native]))(var155, var157, var156) /* with_native on */; +((void (*)(val*, val*, long))(var150->class->vft[COLOR_array__Array__with_native]))(var150, var152, var151) /* with_native on */; } } { -var158 = ((val* (*)(val*))(var155->class->vft[COLOR_string__Object__to_s]))(var155) /* to_s on */; +var153 = ((val* (*)(val*))(var150->class->vft[COLOR_string__Object__to_s]))(var150) /* to_s on */; } if (unlikely(var_ret == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1854); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2030); show_backtrace(1); } { -var159 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var158, var_ret); +var154 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var153, var_ret); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var159); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var154); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var155 = 1; +var = var155; goto RET_LABEL; } else { -if (varonce160) { -var161 = varonce160; +if (varonce156) { +var157 = varonce156; } else { -var162 = "*"; -var163 = 1; -var164 = string__NativeString__to_s_with_length(var162, var163); -var161 = var164; -varonce160 = var161; +var158 = "*"; +var159 = 1; +var160 = string__NativeString__to_s_with_length(var158, var159); +var157 = var160; +varonce156 = var157; } { -var166 = string__FlatString___61d_61d(var_pname, var161); -var165 = var166; +var162 = string__FlatString___61d_61d(var_pname, var157); +var161 = var162; } -if (var165){ -var167 = 0; +if (var161){ +var163 = 0; { -var168 = array__Array___91d_93d(var_arguments, var167); +var164 = array__Array___91d_93d(var_arguments, var163); } -if (varonce169) { -var170 = varonce169; +if (varonce165) { +var166 = varonce165; } else { -var171 = " * "; -var172 = 3; -var173 = string__NativeString__to_s_with_length(var171, var172); -var170 = var173; -varonce169 = var170; +var167 = " * "; +var168 = 3; +var169 = string__NativeString__to_s_with_length(var167, var168); +var166 = var169; +varonce165 = var166; } -var174 = 1; +var170 = 1; { -var175 = array__Array___91d_93d(var_arguments, var174); +var171 = array__Array___91d_93d(var_arguments, var170); } -var176 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var176 = array_instance Array[Object] */ -var177 = 3; -var178 = NEW_array__NativeArray(var177, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var178)->values[0] = (val*) var168; -((struct instance_array__NativeArray*)var178)->values[1] = (val*) var170; -((struct instance_array__NativeArray*)var178)->values[2] = (val*) var175; +var172 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var172 = array_instance Array[Object] */ +var173 = 3; +var174 = NEW_array__NativeArray(var173, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var174)->values[0] = (val*) var164; +((struct instance_array__NativeArray*)var174)->values[1] = (val*) var166; +((struct instance_array__NativeArray*)var174)->values[2] = (val*) var171; { -((void (*)(val*, val*, long))(var176->class->vft[COLOR_array__Array__with_native]))(var176, var178, var177) /* with_native on */; +((void (*)(val*, val*, long))(var172->class->vft[COLOR_array__Array__with_native]))(var172, var174, var173) /* with_native on */; } } { -var179 = ((val* (*)(val*))(var176->class->vft[COLOR_string__Object__to_s]))(var176) /* to_s on */; +var175 = ((val* (*)(val*))(var172->class->vft[COLOR_string__Object__to_s]))(var172) /* to_s on */; } if (unlikely(var_ret == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1857); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2033); show_backtrace(1); } { -var180 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var179, var_ret); +var176 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var175, var_ret); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var180); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var176); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var177 = 1; +var = var177; goto RET_LABEL; } else { -if (varonce181) { -var182 = varonce181; +if (varonce178) { +var179 = varonce178; } else { -var183 = "/"; -var184 = 1; -var185 = string__NativeString__to_s_with_length(var183, var184); -var182 = var185; -varonce181 = var182; +var180 = "/"; +var181 = 1; +var182 = string__NativeString__to_s_with_length(var180, var181); +var179 = var182; +varonce178 = var179; } { -var187 = string__FlatString___61d_61d(var_pname, var182); -var186 = var187; +var184 = string__FlatString___61d_61d(var_pname, var179); +var183 = var184; } -if (var186){ -var188 = 0; +if (var183){ +var185 = 0; { -var189 = array__Array___91d_93d(var_arguments, var188); +var186 = array__Array___91d_93d(var_arguments, var185); } -if (varonce190) { -var191 = varonce190; +if (varonce187) { +var188 = varonce187; } else { -var192 = " / "; -var193 = 3; -var194 = string__NativeString__to_s_with_length(var192, var193); -var191 = var194; -varonce190 = var191; +var189 = " / "; +var190 = 3; +var191 = string__NativeString__to_s_with_length(var189, var190); +var188 = var191; +varonce187 = var188; } -var195 = 1; +var192 = 1; { -var196 = array__Array___91d_93d(var_arguments, var195); +var193 = array__Array___91d_93d(var_arguments, var192); } -var197 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var197 = array_instance Array[Object] */ -var198 = 3; -var199 = NEW_array__NativeArray(var198, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var199)->values[0] = (val*) var189; -((struct instance_array__NativeArray*)var199)->values[1] = (val*) var191; -((struct instance_array__NativeArray*)var199)->values[2] = (val*) var196; +var194 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var194 = array_instance Array[Object] */ +var195 = 3; +var196 = NEW_array__NativeArray(var195, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var196)->values[0] = (val*) var186; +((struct instance_array__NativeArray*)var196)->values[1] = (val*) var188; +((struct instance_array__NativeArray*)var196)->values[2] = (val*) var193; { -((void (*)(val*, val*, long))(var197->class->vft[COLOR_array__Array__with_native]))(var197, var199, var198) /* with_native on */; +((void (*)(val*, val*, long))(var194->class->vft[COLOR_array__Array__with_native]))(var194, var196, var195) /* with_native on */; } } { -var200 = ((val* (*)(val*))(var197->class->vft[COLOR_string__Object__to_s]))(var197) /* to_s on */; +var197 = ((val* (*)(val*))(var194->class->vft[COLOR_string__Object__to_s]))(var194) /* to_s on */; } if (unlikely(var_ret == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1860); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2036); show_backtrace(1); } { -var201 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var200, var_ret); +var198 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var197, var_ret); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var201); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var198); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var199 = 1; +var = var199; goto RET_LABEL; } else { -if (varonce202) { -var203 = varonce202; +if (varonce200) { +var201 = varonce200; } else { -var204 = "%"; -var205 = 1; -var206 = string__NativeString__to_s_with_length(var204, var205); -var203 = var206; -varonce202 = var203; +var202 = "%"; +var203 = 1; +var204 = string__NativeString__to_s_with_length(var202, var203); +var201 = var204; +varonce200 = var201; } { -var208 = string__FlatString___61d_61d(var_pname, var203); -var207 = var208; +var206 = string__FlatString___61d_61d(var_pname, var201); +var205 = var206; } -if (var207){ -var209 = 0; +if (var205){ +var207 = 0; { -var210 = array__Array___91d_93d(var_arguments, var209); +var208 = array__Array___91d_93d(var_arguments, var207); } -if (varonce211) { -var212 = varonce211; +if (varonce209) { +var210 = varonce209; } else { -var213 = " % "; -var214 = 3; -var215 = string__NativeString__to_s_with_length(var213, var214); -var212 = var215; -varonce211 = var212; +var211 = " % "; +var212 = 3; +var213 = string__NativeString__to_s_with_length(var211, var212); +var210 = var213; +varonce209 = var210; } -var216 = 1; +var214 = 1; { -var217 = array__Array___91d_93d(var_arguments, var216); +var215 = array__Array___91d_93d(var_arguments, var214); } -var218 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var218 = array_instance Array[Object] */ -var219 = 3; -var220 = NEW_array__NativeArray(var219, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var220)->values[0] = (val*) var210; -((struct instance_array__NativeArray*)var220)->values[1] = (val*) var212; -((struct instance_array__NativeArray*)var220)->values[2] = (val*) var217; +var216 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var216 = array_instance Array[Object] */ +var217 = 3; +var218 = NEW_array__NativeArray(var217, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var218)->values[0] = (val*) var208; +((struct instance_array__NativeArray*)var218)->values[1] = (val*) var210; +((struct instance_array__NativeArray*)var218)->values[2] = (val*) var215; { -((void (*)(val*, val*, long))(var218->class->vft[COLOR_array__Array__with_native]))(var218, var220, var219) /* with_native on */; +((void (*)(val*, val*, long))(var216->class->vft[COLOR_array__Array__with_native]))(var216, var218, var217) /* with_native on */; } } { -var221 = ((val* (*)(val*))(var218->class->vft[COLOR_string__Object__to_s]))(var218) /* to_s on */; +var219 = ((val* (*)(val*))(var216->class->vft[COLOR_string__Object__to_s]))(var216) /* to_s on */; } if (unlikely(var_ret == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1863); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2039); show_backtrace(1); } { -var222 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var221, var_ret); +var220 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var219, var_ret); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var222); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var220); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var221 = 1; +var = var221; goto RET_LABEL; } else { -if (varonce223) { -var224 = varonce223; +if (varonce222) { +var223 = varonce222; } else { -var225 = "lshift"; -var226 = 6; -var227 = string__NativeString__to_s_with_length(var225, var226); -var224 = var227; -varonce223 = var224; +var224 = "lshift"; +var225 = 6; +var226 = string__NativeString__to_s_with_length(var224, var225); +var223 = var226; +varonce222 = var223; } { -var229 = string__FlatString___61d_61d(var_pname, var224); -var228 = var229; +var228 = string__FlatString___61d_61d(var_pname, var223); +var227 = var228; } -if (var228){ -var230 = 0; +if (var227){ +var229 = 0; { -var231 = array__Array___91d_93d(var_arguments, var230); +var230 = array__Array___91d_93d(var_arguments, var229); } -if (varonce232) { -var233 = varonce232; +if (varonce231) { +var232 = varonce231; } else { -var234 = " << "; -var235 = 4; -var236 = string__NativeString__to_s_with_length(var234, var235); -var233 = var236; -varonce232 = var233; +var233 = " << "; +var234 = 4; +var235 = string__NativeString__to_s_with_length(var233, var234); +var232 = var235; +varonce231 = var232; } -var237 = 1; +var236 = 1; { -var238 = array__Array___91d_93d(var_arguments, var237); +var237 = array__Array___91d_93d(var_arguments, var236); } -var239 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var239 = array_instance Array[Object] */ -var240 = 3; -var241 = NEW_array__NativeArray(var240, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var241)->values[0] = (val*) var231; -((struct instance_array__NativeArray*)var241)->values[1] = (val*) var233; -((struct instance_array__NativeArray*)var241)->values[2] = (val*) var238; +var238 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var238 = array_instance Array[Object] */ +var239 = 3; +var240 = NEW_array__NativeArray(var239, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var240)->values[0] = (val*) var230; +((struct instance_array__NativeArray*)var240)->values[1] = (val*) var232; +((struct instance_array__NativeArray*)var240)->values[2] = (val*) var237; { -((void (*)(val*, val*, long))(var239->class->vft[COLOR_array__Array__with_native]))(var239, var241, var240) /* with_native on */; +((void (*)(val*, val*, long))(var238->class->vft[COLOR_array__Array__with_native]))(var238, var240, var239) /* with_native on */; } } { -var242 = ((val* (*)(val*))(var239->class->vft[COLOR_string__Object__to_s]))(var239) /* to_s on */; +var241 = ((val* (*)(val*))(var238->class->vft[COLOR_string__Object__to_s]))(var238) /* to_s on */; } if (unlikely(var_ret == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1866); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2042); show_backtrace(1); } { -var243 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var242, var_ret); +var242 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var241, var_ret); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var243); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var242); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var243 = 1; +var = var243; goto RET_LABEL; } else { if (varonce244) { @@ -2230,7 +2240,7 @@ var263 = ((val* (*)(val*))(var260->class->vft[COLOR_string__Object__to_s]))(var2 } if (unlikely(var_ret == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1869); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2045); show_backtrace(1); } { @@ -2239,425 +2249,443 @@ var264 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var263, var { abstract_compiler__AbstractCompilerVisitor__ret(var_v, var264); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var265 = 1; +var = var265; goto RET_LABEL; } else { -if (varonce265) { -var266 = varonce265; +if (varonce266) { +var267 = varonce266; } else { -var267 = "=="; -var268 = 2; -var269 = string__NativeString__to_s_with_length(var267, var268); -var266 = var269; -varonce265 = var266; +var268 = "=="; +var269 = 2; +var270 = string__NativeString__to_s_with_length(var268, var269); +var267 = var270; +varonce266 = var267; } { -var271 = string__FlatString___61d_61d(var_pname, var266); -var270 = var271; +var272 = string__FlatString___61d_61d(var_pname, var267); +var271 = var272; } -if (var270){ -var272 = 0; +if (var271){ +var273 = 0; { -var273 = array__Array___91d_93d(var_arguments, var272); +var274 = array__Array___91d_93d(var_arguments, var273); } -var274 = 1; +var275 = 1; { -var275 = array__Array___91d_93d(var_arguments, var274); +var276 = array__Array___91d_93d(var_arguments, var275); } { -var276 = separate_compiler__SeparateCompilerVisitor__equal_test(var_v, var273, var275); +var277 = separate_compiler__SeparateCompilerVisitor__equal_test(var_v, var274, var276); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var276); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var277); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var278 = 1; +var = var278; goto RET_LABEL; } else { -if (varonce277) { -var278 = varonce277; +if (varonce279) { +var280 = varonce279; } else { -var279 = "!="; -var280 = 2; -var281 = string__NativeString__to_s_with_length(var279, var280); -var278 = var281; -varonce277 = var278; +var281 = "!="; +var282 = 2; +var283 = string__NativeString__to_s_with_length(var281, var282); +var280 = var283; +varonce279 = var280; } { -var283 = string__FlatString___61d_61d(var_pname, var278); -var282 = var283; +var285 = string__FlatString___61d_61d(var_pname, var280); +var284 = var285; } -if (var282){ -var284 = 0; +if (var284){ +var286 = 0; { -var285 = array__Array___91d_93d(var_arguments, var284); +var287 = array__Array___91d_93d(var_arguments, var286); } -var286 = 1; +var288 = 1; { -var287 = array__Array___91d_93d(var_arguments, var286); +var289 = array__Array___91d_93d(var_arguments, var288); } { -var288 = separate_compiler__SeparateCompilerVisitor__equal_test(var_v, var285, var287); +var290 = separate_compiler__SeparateCompilerVisitor__equal_test(var_v, var287, var289); } -var_res = var288; -if (varonce289) { -var290 = varonce289; +var_res = var290; +if (varonce291) { +var292 = varonce291; } else { -var291 = "!"; -var292 = 1; -var293 = string__NativeString__to_s_with_length(var291, var292); -var290 = var293; -varonce289 = var290; +var293 = "!"; +var294 = 1; +var295 = string__NativeString__to_s_with_length(var293, var294); +var292 = var295; +varonce291 = var292; } -var294 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var294 = array_instance Array[Object] */ -var295 = 2; -var296 = NEW_array__NativeArray(var295, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var296)->values[0] = (val*) var290; -((struct instance_array__NativeArray*)var296)->values[1] = (val*) var_res; +var296 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var296 = array_instance Array[Object] */ +var297 = 2; +var298 = NEW_array__NativeArray(var297, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var298)->values[0] = (val*) var292; +((struct instance_array__NativeArray*)var298)->values[1] = (val*) var_res; { -((void (*)(val*, val*, long))(var294->class->vft[COLOR_array__Array__with_native]))(var294, var296, var295) /* with_native on */; +((void (*)(val*, val*, long))(var296->class->vft[COLOR_array__Array__with_native]))(var296, var298, var297) /* with_native on */; } } { -var297 = ((val* (*)(val*))(var294->class->vft[COLOR_string__Object__to_s]))(var294) /* to_s on */; +var299 = ((val* (*)(val*))(var296->class->vft[COLOR_string__Object__to_s]))(var296) /* to_s on */; } if (unlikely(var_ret == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1876); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2052); show_backtrace(1); } { -var298 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var297, var_ret); +var300 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var299, var_ret); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var298); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var300); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var301 = 1; +var = var301; goto RET_LABEL; } else { -if (varonce299) { -var300 = varonce299; +if (varonce302) { +var303 = varonce302; } else { -var301 = "<"; -var302 = 1; -var303 = string__NativeString__to_s_with_length(var301, var302); -var300 = var303; -varonce299 = var300; +var304 = "<"; +var305 = 1; +var306 = string__NativeString__to_s_with_length(var304, var305); +var303 = var306; +varonce302 = var303; } { -var305 = string__FlatString___61d_61d(var_pname, var300); -var304 = var305; +var308 = string__FlatString___61d_61d(var_pname, var303); +var307 = var308; } -if (var304){ -var306 = 0; +if (var307){ +var309 = 0; { -var307 = array__Array___91d_93d(var_arguments, var306); +var310 = array__Array___91d_93d(var_arguments, var309); } -if (varonce308) { -var309 = varonce308; +if (varonce311) { +var312 = varonce311; } else { -var310 = " < "; -var311 = 3; -var312 = string__NativeString__to_s_with_length(var310, var311); -var309 = var312; -varonce308 = var309; +var313 = " < "; +var314 = 3; +var315 = string__NativeString__to_s_with_length(var313, var314); +var312 = var315; +varonce311 = var312; } -var313 = 1; +var316 = 1; { -var314 = array__Array___91d_93d(var_arguments, var313); +var317 = array__Array___91d_93d(var_arguments, var316); } -var315 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var315 = array_instance Array[Object] */ -var316 = 3; -var317 = NEW_array__NativeArray(var316, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var317)->values[0] = (val*) var307; -((struct instance_array__NativeArray*)var317)->values[1] = (val*) var309; -((struct instance_array__NativeArray*)var317)->values[2] = (val*) var314; +var318 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var318 = array_instance Array[Object] */ +var319 = 3; +var320 = NEW_array__NativeArray(var319, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var320)->values[0] = (val*) var310; +((struct instance_array__NativeArray*)var320)->values[1] = (val*) var312; +((struct instance_array__NativeArray*)var320)->values[2] = (val*) var317; { -((void (*)(val*, val*, long))(var315->class->vft[COLOR_array__Array__with_native]))(var315, var317, var316) /* with_native on */; +((void (*)(val*, val*, long))(var318->class->vft[COLOR_array__Array__with_native]))(var318, var320, var319) /* with_native on */; } } { -var318 = ((val* (*)(val*))(var315->class->vft[COLOR_string__Object__to_s]))(var315) /* to_s on */; +var321 = ((val* (*)(val*))(var318->class->vft[COLOR_string__Object__to_s]))(var318) /* to_s on */; } if (unlikely(var_ret == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1879); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2055); show_backtrace(1); } { -var319 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var318, var_ret); +var322 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var321, var_ret); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var319); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var322); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var323 = 1; +var = var323; goto RET_LABEL; } else { -if (varonce320) { -var321 = varonce320; +if (varonce324) { +var325 = varonce324; } else { -var322 = ">"; -var323 = 1; -var324 = string__NativeString__to_s_with_length(var322, var323); -var321 = var324; -varonce320 = var321; +var326 = ">"; +var327 = 1; +var328 = string__NativeString__to_s_with_length(var326, var327); +var325 = var328; +varonce324 = var325; } { -var326 = string__FlatString___61d_61d(var_pname, var321); -var325 = var326; +var330 = string__FlatString___61d_61d(var_pname, var325); +var329 = var330; } -if (var325){ -var327 = 0; +if (var329){ +var331 = 0; { -var328 = array__Array___91d_93d(var_arguments, var327); +var332 = array__Array___91d_93d(var_arguments, var331); } -if (varonce329) { -var330 = varonce329; +if (varonce333) { +var334 = varonce333; } else { -var331 = " > "; -var332 = 3; -var333 = string__NativeString__to_s_with_length(var331, var332); -var330 = var333; -varonce329 = var330; +var335 = " > "; +var336 = 3; +var337 = string__NativeString__to_s_with_length(var335, var336); +var334 = var337; +varonce333 = var334; } -var334 = 1; +var338 = 1; { -var335 = array__Array___91d_93d(var_arguments, var334); +var339 = array__Array___91d_93d(var_arguments, var338); } -var336 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var336 = array_instance Array[Object] */ -var337 = 3; -var338 = NEW_array__NativeArray(var337, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var338)->values[0] = (val*) var328; -((struct instance_array__NativeArray*)var338)->values[1] = (val*) var330; -((struct instance_array__NativeArray*)var338)->values[2] = (val*) var335; +var340 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var340 = array_instance Array[Object] */ +var341 = 3; +var342 = NEW_array__NativeArray(var341, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var342)->values[0] = (val*) var332; +((struct instance_array__NativeArray*)var342)->values[1] = (val*) var334; +((struct instance_array__NativeArray*)var342)->values[2] = (val*) var339; { -((void (*)(val*, val*, long))(var336->class->vft[COLOR_array__Array__with_native]))(var336, var338, var337) /* with_native on */; +((void (*)(val*, val*, long))(var340->class->vft[COLOR_array__Array__with_native]))(var340, var342, var341) /* with_native on */; } } { -var339 = ((val* (*)(val*))(var336->class->vft[COLOR_string__Object__to_s]))(var336) /* to_s on */; +var343 = ((val* (*)(val*))(var340->class->vft[COLOR_string__Object__to_s]))(var340) /* to_s on */; } if (unlikely(var_ret == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1882); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2058); show_backtrace(1); } { -var340 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var339, var_ret); +var344 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var343, var_ret); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var340); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var344); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var345 = 1; +var = var345; goto RET_LABEL; } else { -if (varonce341) { -var342 = varonce341; +if (varonce346) { +var347 = varonce346; } else { -var343 = "<="; -var344 = 2; -var345 = string__NativeString__to_s_with_length(var343, var344); -var342 = var345; -varonce341 = var342; +var348 = "<="; +var349 = 2; +var350 = string__NativeString__to_s_with_length(var348, var349); +var347 = var350; +varonce346 = var347; } { -var347 = string__FlatString___61d_61d(var_pname, var342); -var346 = var347; +var352 = string__FlatString___61d_61d(var_pname, var347); +var351 = var352; } -if (var346){ -var348 = 0; +if (var351){ +var353 = 0; { -var349 = array__Array___91d_93d(var_arguments, var348); +var354 = array__Array___91d_93d(var_arguments, var353); } -if (varonce350) { -var351 = varonce350; +if (varonce355) { +var356 = varonce355; } else { -var352 = " <= "; -var353 = 4; -var354 = string__NativeString__to_s_with_length(var352, var353); -var351 = var354; -varonce350 = var351; +var357 = " <= "; +var358 = 4; +var359 = string__NativeString__to_s_with_length(var357, var358); +var356 = var359; +varonce355 = var356; } -var355 = 1; +var360 = 1; { -var356 = array__Array___91d_93d(var_arguments, var355); +var361 = array__Array___91d_93d(var_arguments, var360); } -var357 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var357 = array_instance Array[Object] */ -var358 = 3; -var359 = NEW_array__NativeArray(var358, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var359)->values[0] = (val*) var349; -((struct instance_array__NativeArray*)var359)->values[1] = (val*) var351; -((struct instance_array__NativeArray*)var359)->values[2] = (val*) var356; +var362 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var362 = array_instance Array[Object] */ +var363 = 3; +var364 = NEW_array__NativeArray(var363, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var364)->values[0] = (val*) var354; +((struct instance_array__NativeArray*)var364)->values[1] = (val*) var356; +((struct instance_array__NativeArray*)var364)->values[2] = (val*) var361; { -((void (*)(val*, val*, long))(var357->class->vft[COLOR_array__Array__with_native]))(var357, var359, var358) /* with_native on */; +((void (*)(val*, val*, long))(var362->class->vft[COLOR_array__Array__with_native]))(var362, var364, var363) /* with_native on */; } } { -var360 = ((val* (*)(val*))(var357->class->vft[COLOR_string__Object__to_s]))(var357) /* to_s on */; +var365 = ((val* (*)(val*))(var362->class->vft[COLOR_string__Object__to_s]))(var362) /* to_s on */; } if (unlikely(var_ret == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1885); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2061); show_backtrace(1); } { -var361 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var360, var_ret); +var366 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var365, var_ret); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var361); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var366); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var367 = 1; +var = var367; goto RET_LABEL; } else { -if (varonce362) { -var363 = varonce362; +if (varonce368) { +var369 = varonce368; } else { -var364 = ">="; -var365 = 2; -var366 = string__NativeString__to_s_with_length(var364, var365); -var363 = var366; -varonce362 = var363; +var370 = ">="; +var371 = 2; +var372 = string__NativeString__to_s_with_length(var370, var371); +var369 = var372; +varonce368 = var369; } { -var368 = string__FlatString___61d_61d(var_pname, var363); -var367 = var368; +var374 = string__FlatString___61d_61d(var_pname, var369); +var373 = var374; } -if (var367){ -var369 = 0; +if (var373){ +var375 = 0; { -var370 = array__Array___91d_93d(var_arguments, var369); +var376 = array__Array___91d_93d(var_arguments, var375); } -if (varonce371) { -var372 = varonce371; +if (varonce377) { +var378 = varonce377; } else { -var373 = " >= "; -var374 = 4; -var375 = string__NativeString__to_s_with_length(var373, var374); -var372 = var375; -varonce371 = var372; +var379 = " >= "; +var380 = 4; +var381 = string__NativeString__to_s_with_length(var379, var380); +var378 = var381; +varonce377 = var378; } -var376 = 1; +var382 = 1; { -var377 = array__Array___91d_93d(var_arguments, var376); +var383 = array__Array___91d_93d(var_arguments, var382); } -var378 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var378 = array_instance Array[Object] */ -var379 = 3; -var380 = NEW_array__NativeArray(var379, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var380)->values[0] = (val*) var370; -((struct instance_array__NativeArray*)var380)->values[1] = (val*) var372; -((struct instance_array__NativeArray*)var380)->values[2] = (val*) var377; +var384 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var384 = array_instance Array[Object] */ +var385 = 3; +var386 = NEW_array__NativeArray(var385, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var386)->values[0] = (val*) var376; +((struct instance_array__NativeArray*)var386)->values[1] = (val*) var378; +((struct instance_array__NativeArray*)var386)->values[2] = (val*) var383; { -((void (*)(val*, val*, long))(var378->class->vft[COLOR_array__Array__with_native]))(var378, var380, var379) /* with_native on */; +((void (*)(val*, val*, long))(var384->class->vft[COLOR_array__Array__with_native]))(var384, var386, var385) /* with_native on */; } } { -var381 = ((val* (*)(val*))(var378->class->vft[COLOR_string__Object__to_s]))(var378) /* to_s on */; +var387 = ((val* (*)(val*))(var384->class->vft[COLOR_string__Object__to_s]))(var384) /* to_s on */; } if (unlikely(var_ret == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1888); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2064); show_backtrace(1); } { -var382 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var381, var_ret); +var388 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var387, var_ret); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var382); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var388); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var389 = 1; +var = var389; goto RET_LABEL; } else { -if (varonce383) { -var384 = varonce383; -} else { -var385 = "to_f"; -var386 = 4; -var387 = string__NativeString__to_s_with_length(var385, var386); -var384 = var387; -varonce383 = var384; -} -{ -var389 = string__FlatString___61d_61d(var_pname, var384); -var388 = var389; -} -if (var388){ if (varonce390) { var391 = varonce390; } else { -var392 = "(double)"; -var393 = 8; +var392 = "to_f"; +var393 = 4; var394 = string__NativeString__to_s_with_length(var392, var393); var391 = var394; varonce390 = var391; } -var395 = 0; { -var396 = array__Array___91d_93d(var_arguments, var395); +var396 = string__FlatString___61d_61d(var_pname, var391); +var395 = var396; +} +if (var395){ +if (varonce397) { +var398 = varonce397; +} else { +var399 = "(double)"; +var400 = 8; +var401 = string__NativeString__to_s_with_length(var399, var400); +var398 = var401; +varonce397 = var398; +} +var402 = 0; +{ +var403 = array__Array___91d_93d(var_arguments, var402); } -var397 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var397 = array_instance Array[Object] */ -var398 = 2; -var399 = NEW_array__NativeArray(var398, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var399)->values[0] = (val*) var391; -((struct instance_array__NativeArray*)var399)->values[1] = (val*) var396; +var404 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var404 = array_instance Array[Object] */ +var405 = 2; +var406 = NEW_array__NativeArray(var405, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var406)->values[0] = (val*) var398; +((struct instance_array__NativeArray*)var406)->values[1] = (val*) var403; { -((void (*)(val*, val*, long))(var397->class->vft[COLOR_array__Array__with_native]))(var397, var399, var398) /* with_native on */; +((void (*)(val*, val*, long))(var404->class->vft[COLOR_array__Array__with_native]))(var404, var406, var405) /* with_native on */; } } { -var400 = ((val* (*)(val*))(var397->class->vft[COLOR_string__Object__to_s]))(var397) /* to_s on */; +var407 = ((val* (*)(val*))(var404->class->vft[COLOR_string__Object__to_s]))(var404) /* to_s on */; } if (unlikely(var_ret == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1891); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2067); show_backtrace(1); } { -var401 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var400, var_ret); +var408 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var407, var_ret); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var401); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var408); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var409 = 1; +var = var409; goto RET_LABEL; } else { -if (varonce402) { -var403 = varonce402; +if (varonce410) { +var411 = varonce410; } else { -var404 = "ascii"; -var405 = 5; -var406 = string__NativeString__to_s_with_length(var404, var405); -var403 = var406; -varonce402 = var403; +var412 = "ascii"; +var413 = 5; +var414 = string__NativeString__to_s_with_length(var412, var413); +var411 = var414; +varonce410 = var411; } { -var408 = string__FlatString___61d_61d(var_pname, var403); -var407 = var408; +var416 = string__FlatString___61d_61d(var_pname, var411); +var415 = var416; } -if (var407){ -var409 = 0; +if (var415){ +var417 = 0; { -var410 = array__Array___91d_93d(var_arguments, var409); +var418 = array__Array___91d_93d(var_arguments, var417); } -var411 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var411 = array_instance Array[Object] */ -var412 = 1; -var413 = NEW_array__NativeArray(var412, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var413)->values[0] = (val*) var410; +var419 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var419 = array_instance Array[Object] */ +var420 = 1; +var421 = NEW_array__NativeArray(var420, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var421)->values[0] = (val*) var418; { -((void (*)(val*, val*, long))(var411->class->vft[COLOR_array__Array__with_native]))(var411, var413, var412) /* with_native on */; +((void (*)(val*, val*, long))(var419->class->vft[COLOR_array__Array__with_native]))(var419, var421, var420) /* with_native on */; } } { -var414 = ((val* (*)(val*))(var411->class->vft[COLOR_string__Object__to_s]))(var411) /* to_s on */; +var422 = ((val* (*)(val*))(var419->class->vft[COLOR_string__Object__to_s]))(var419) /* to_s on */; } if (unlikely(var_ret == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1894); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2070); show_backtrace(1); } { -var415 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var414, var_ret); +var423 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var422, var_ret); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var415); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var423); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var424 = 1; +var = var424; goto RET_LABEL; } else { } @@ -2679,669 +2707,693 @@ goto RET_LABEL; } } } else { -if (varonce416) { -var417 = varonce416; +if (varonce425) { +var426 = varonce425; } else { -var418 = "Char"; -var419 = 4; -var420 = string__NativeString__to_s_with_length(var418, var419); -var417 = var420; -varonce416 = var417; +var427 = "Char"; +var428 = 4; +var429 = string__NativeString__to_s_with_length(var427, var428); +var426 = var429; +varonce425 = var426; } { -var422 = string__FlatString___61d_61d(var_cname, var417); -var421 = var422; +var431 = string__FlatString___61d_61d(var_cname, var426); +var430 = var431; } -if (var421){ -if (varonce423) { -var424 = varonce423; +if (var430){ +if (varonce432) { +var433 = varonce432; } else { -var425 = "output"; -var426 = 6; -var427 = string__NativeString__to_s_with_length(var425, var426); -var424 = var427; -varonce423 = var424; +var434 = "output"; +var435 = 6; +var436 = string__NativeString__to_s_with_length(var434, var435); +var433 = var436; +varonce432 = var433; } { -var429 = string__FlatString___61d_61d(var_pname, var424); -var428 = var429; +var438 = string__FlatString___61d_61d(var_pname, var433); +var437 = var438; } -if (var428){ -if (varonce430) { -var431 = varonce430; +if (var437){ +if (varonce439) { +var440 = varonce439; } else { -var432 = "printf(\"%c\", "; -var433 = 13; -var434 = string__NativeString__to_s_with_length(var432, var433); -var431 = var434; -varonce430 = var431; +var441 = "printf(\"%c\", "; +var442 = 13; +var443 = string__NativeString__to_s_with_length(var441, var442); +var440 = var443; +varonce439 = var440; } { -var435 = abstract_collection__SequenceRead__first(var_arguments); +var444 = abstract_collection__SequenceRead__first(var_arguments); } -if (varonce436) { -var437 = varonce436; +if (varonce445) { +var446 = varonce445; } else { -var438 = ");"; -var439 = 2; -var440 = string__NativeString__to_s_with_length(var438, var439); -var437 = var440; -varonce436 = var437; +var447 = ");"; +var448 = 2; +var449 = string__NativeString__to_s_with_length(var447, var448); +var446 = var449; +varonce445 = var446; } -var441 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var441 = array_instance Array[Object] */ -var442 = 3; -var443 = NEW_array__NativeArray(var442, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var443)->values[0] = (val*) var431; -((struct instance_array__NativeArray*)var443)->values[1] = (val*) var435; -((struct instance_array__NativeArray*)var443)->values[2] = (val*) var437; +var450 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var450 = array_instance Array[Object] */ +var451 = 3; +var452 = NEW_array__NativeArray(var451, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var452)->values[0] = (val*) var440; +((struct instance_array__NativeArray*)var452)->values[1] = (val*) var444; +((struct instance_array__NativeArray*)var452)->values[2] = (val*) var446; { -((void (*)(val*, val*, long))(var441->class->vft[COLOR_array__Array__with_native]))(var441, var443, var442) /* with_native on */; +((void (*)(val*, val*, long))(var450->class->vft[COLOR_array__Array__with_native]))(var450, var452, var451) /* with_native on */; } } { -var444 = ((val* (*)(val*))(var441->class->vft[COLOR_string__Object__to_s]))(var441) /* to_s on */; +var453 = ((val* (*)(val*))(var450->class->vft[COLOR_string__Object__to_s]))(var450) /* to_s on */; } { -abstract_compiler__AbstractCompilerVisitor__add(var_v, var444); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +abstract_compiler__AbstractCompilerVisitor__add(var_v, var453); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } +var454 = 1; +var = var454; goto RET_LABEL; } else { -if (varonce445) { -var446 = varonce445; +if (varonce455) { +var456 = varonce455; } else { -var447 = "object_id"; -var448 = 9; -var449 = string__NativeString__to_s_with_length(var447, var448); -var446 = var449; -varonce445 = var446; +var457 = "object_id"; +var458 = 9; +var459 = string__NativeString__to_s_with_length(var457, var458); +var456 = var459; +varonce455 = var456; } { -var451 = string__FlatString___61d_61d(var_pname, var446); -var450 = var451; +var461 = string__FlatString___61d_61d(var_pname, var456); +var460 = var461; } -if (var450){ -if (varonce452) { -var453 = varonce452; +if (var460){ +if (varonce462) { +var463 = varonce462; } else { -var454 = "(long)"; -var455 = 6; -var456 = string__NativeString__to_s_with_length(var454, var455); -var453 = var456; -varonce452 = var453; +var464 = "(long)"; +var465 = 6; +var466 = string__NativeString__to_s_with_length(var464, var465); +var463 = var466; +varonce462 = var463; } { -var457 = abstract_collection__SequenceRead__first(var_arguments); +var467 = abstract_collection__SequenceRead__first(var_arguments); } -var458 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var458 = array_instance Array[Object] */ -var459 = 2; -var460 = NEW_array__NativeArray(var459, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var460)->values[0] = (val*) var453; -((struct instance_array__NativeArray*)var460)->values[1] = (val*) var457; +var468 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var468 = array_instance Array[Object] */ +var469 = 2; +var470 = NEW_array__NativeArray(var469, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var470)->values[0] = (val*) var463; +((struct instance_array__NativeArray*)var470)->values[1] = (val*) var467; { -((void (*)(val*, val*, long))(var458->class->vft[COLOR_array__Array__with_native]))(var458, var460, var459) /* with_native on */; +((void (*)(val*, val*, long))(var468->class->vft[COLOR_array__Array__with_native]))(var468, var470, var469) /* with_native on */; } } { -var461 = ((val* (*)(val*))(var458->class->vft[COLOR_string__Object__to_s]))(var458) /* to_s on */; +var471 = ((val* (*)(val*))(var468->class->vft[COLOR_string__Object__to_s]))(var468) /* to_s on */; } if (unlikely(var_ret == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1902); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2078); show_backtrace(1); } { -var462 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var461, var_ret); +var472 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var471, var_ret); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var462); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var472); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var473 = 1; +var = var473; goto RET_LABEL; } else { -if (varonce463) { -var464 = varonce463; +if (varonce474) { +var475 = varonce474; } else { -var465 = "successor"; -var466 = 9; -var467 = string__NativeString__to_s_with_length(var465, var466); -var464 = var467; -varonce463 = var464; +var476 = "successor"; +var477 = 9; +var478 = string__NativeString__to_s_with_length(var476, var477); +var475 = var478; +varonce474 = var475; } { -var469 = string__FlatString___61d_61d(var_pname, var464); -var468 = var469; +var480 = string__FlatString___61d_61d(var_pname, var475); +var479 = var480; } -if (var468){ -var470 = 0; +if (var479){ +var481 = 0; { -var471 = array__Array___91d_93d(var_arguments, var470); +var482 = array__Array___91d_93d(var_arguments, var481); } -if (varonce472) { -var473 = varonce472; +if (varonce483) { +var484 = varonce483; } else { -var474 = " + "; -var475 = 3; -var476 = string__NativeString__to_s_with_length(var474, var475); -var473 = var476; -varonce472 = var473; +var485 = " + "; +var486 = 3; +var487 = string__NativeString__to_s_with_length(var485, var486); +var484 = var487; +varonce483 = var484; } -var477 = 1; +var488 = 1; { -var478 = array__Array___91d_93d(var_arguments, var477); +var489 = array__Array___91d_93d(var_arguments, var488); } -var479 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var479 = array_instance Array[Object] */ -var480 = 3; -var481 = NEW_array__NativeArray(var480, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var481)->values[0] = (val*) var471; -((struct instance_array__NativeArray*)var481)->values[1] = (val*) var473; -((struct instance_array__NativeArray*)var481)->values[2] = (val*) var478; +var490 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var490 = array_instance Array[Object] */ +var491 = 3; +var492 = NEW_array__NativeArray(var491, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var492)->values[0] = (val*) var482; +((struct instance_array__NativeArray*)var492)->values[1] = (val*) var484; +((struct instance_array__NativeArray*)var492)->values[2] = (val*) var489; { -((void (*)(val*, val*, long))(var479->class->vft[COLOR_array__Array__with_native]))(var479, var481, var480) /* with_native on */; +((void (*)(val*, val*, long))(var490->class->vft[COLOR_array__Array__with_native]))(var490, var492, var491) /* with_native on */; } } { -var482 = ((val* (*)(val*))(var479->class->vft[COLOR_string__Object__to_s]))(var479) /* to_s on */; +var493 = ((val* (*)(val*))(var490->class->vft[COLOR_string__Object__to_s]))(var490) /* to_s on */; } if (unlikely(var_ret == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1905); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2081); show_backtrace(1); } { -var483 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var482, var_ret); +var494 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var493, var_ret); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var483); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var494); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var495 = 1; +var = var495; goto RET_LABEL; } else { -if (varonce484) { -var485 = varonce484; +if (varonce496) { +var497 = varonce496; } else { -var486 = "predecessor"; -var487 = 11; -var488 = string__NativeString__to_s_with_length(var486, var487); -var485 = var488; -varonce484 = var485; +var498 = "predecessor"; +var499 = 11; +var500 = string__NativeString__to_s_with_length(var498, var499); +var497 = var500; +varonce496 = var497; } { -var490 = string__FlatString___61d_61d(var_pname, var485); -var489 = var490; +var502 = string__FlatString___61d_61d(var_pname, var497); +var501 = var502; } -if (var489){ -var491 = 0; +if (var501){ +var503 = 0; { -var492 = array__Array___91d_93d(var_arguments, var491); +var504 = array__Array___91d_93d(var_arguments, var503); } -if (varonce493) { -var494 = varonce493; +if (varonce505) { +var506 = varonce505; } else { -var495 = " - "; -var496 = 3; -var497 = string__NativeString__to_s_with_length(var495, var496); -var494 = var497; -varonce493 = var494; +var507 = " - "; +var508 = 3; +var509 = string__NativeString__to_s_with_length(var507, var508); +var506 = var509; +varonce505 = var506; } -var498 = 1; +var510 = 1; { -var499 = array__Array___91d_93d(var_arguments, var498); +var511 = array__Array___91d_93d(var_arguments, var510); } -var500 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var500 = array_instance Array[Object] */ -var501 = 3; -var502 = NEW_array__NativeArray(var501, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var502)->values[0] = (val*) var492; -((struct instance_array__NativeArray*)var502)->values[1] = (val*) var494; -((struct instance_array__NativeArray*)var502)->values[2] = (val*) var499; +var512 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var512 = array_instance Array[Object] */ +var513 = 3; +var514 = NEW_array__NativeArray(var513, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var514)->values[0] = (val*) var504; +((struct instance_array__NativeArray*)var514)->values[1] = (val*) var506; +((struct instance_array__NativeArray*)var514)->values[2] = (val*) var511; { -((void (*)(val*, val*, long))(var500->class->vft[COLOR_array__Array__with_native]))(var500, var502, var501) /* with_native on */; +((void (*)(val*, val*, long))(var512->class->vft[COLOR_array__Array__with_native]))(var512, var514, var513) /* with_native on */; } } { -var503 = ((val* (*)(val*))(var500->class->vft[COLOR_string__Object__to_s]))(var500) /* to_s on */; +var515 = ((val* (*)(val*))(var512->class->vft[COLOR_string__Object__to_s]))(var512) /* to_s on */; } if (unlikely(var_ret == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1908); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2084); show_backtrace(1); } { -var504 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var503, var_ret); +var516 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var515, var_ret); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var504); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var516); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var517 = 1; +var = var517; goto RET_LABEL; } else { -if (varonce505) { -var506 = varonce505; +if (varonce518) { +var519 = varonce518; } else { -var507 = "=="; -var508 = 2; -var509 = string__NativeString__to_s_with_length(var507, var508); -var506 = var509; -varonce505 = var506; +var520 = "=="; +var521 = 2; +var522 = string__NativeString__to_s_with_length(var520, var521); +var519 = var522; +varonce518 = var519; } { -var511 = string__FlatString___61d_61d(var_pname, var506); -var510 = var511; +var524 = string__FlatString___61d_61d(var_pname, var519); +var523 = var524; } -if (var510){ -var512 = 0; +if (var523){ +var525 = 0; { -var513 = array__Array___91d_93d(var_arguments, var512); +var526 = array__Array___91d_93d(var_arguments, var525); } -var514 = 1; +var527 = 1; { -var515 = array__Array___91d_93d(var_arguments, var514); +var528 = array__Array___91d_93d(var_arguments, var527); } { -var516 = separate_compiler__SeparateCompilerVisitor__equal_test(var_v, var513, var515); +var529 = separate_compiler__SeparateCompilerVisitor__equal_test(var_v, var526, var528); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var516); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var529); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var530 = 1; +var = var530; goto RET_LABEL; } else { -if (varonce517) { -var518 = varonce517; +if (varonce531) { +var532 = varonce531; } else { -var519 = "!="; -var520 = 2; -var521 = string__NativeString__to_s_with_length(var519, var520); -var518 = var521; -varonce517 = var518; +var533 = "!="; +var534 = 2; +var535 = string__NativeString__to_s_with_length(var533, var534); +var532 = var535; +varonce531 = var532; } { -var523 = string__FlatString___61d_61d(var_pname, var518); -var522 = var523; +var537 = string__FlatString___61d_61d(var_pname, var532); +var536 = var537; } -if (var522){ -var524 = 0; +if (var536){ +var538 = 0; { -var525 = array__Array___91d_93d(var_arguments, var524); +var539 = array__Array___91d_93d(var_arguments, var538); } -var526 = 1; +var540 = 1; { -var527 = array__Array___91d_93d(var_arguments, var526); +var541 = array__Array___91d_93d(var_arguments, var540); } { -var528 = separate_compiler__SeparateCompilerVisitor__equal_test(var_v, var525, var527); +var542 = separate_compiler__SeparateCompilerVisitor__equal_test(var_v, var539, var541); } -var_res529 = var528; -if (varonce530) { -var531 = varonce530; +var_res543 = var542; +if (varonce544) { +var545 = varonce544; } else { -var532 = "!"; -var533 = 1; -var534 = string__NativeString__to_s_with_length(var532, var533); -var531 = var534; -varonce530 = var531; +var546 = "!"; +var547 = 1; +var548 = string__NativeString__to_s_with_length(var546, var547); +var545 = var548; +varonce544 = var545; } -var535 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var535 = array_instance Array[Object] */ -var536 = 2; -var537 = NEW_array__NativeArray(var536, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var537)->values[0] = (val*) var531; -((struct instance_array__NativeArray*)var537)->values[1] = (val*) var_res529; +var549 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var549 = array_instance Array[Object] */ +var550 = 2; +var551 = NEW_array__NativeArray(var550, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var551)->values[0] = (val*) var545; +((struct instance_array__NativeArray*)var551)->values[1] = (val*) var_res543; { -((void (*)(val*, val*, long))(var535->class->vft[COLOR_array__Array__with_native]))(var535, var537, var536) /* with_native on */; +((void (*)(val*, val*, long))(var549->class->vft[COLOR_array__Array__with_native]))(var549, var551, var550) /* with_native on */; } } { -var538 = ((val* (*)(val*))(var535->class->vft[COLOR_string__Object__to_s]))(var535) /* to_s on */; +var552 = ((val* (*)(val*))(var549->class->vft[COLOR_string__Object__to_s]))(var549) /* to_s on */; } if (unlikely(var_ret == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1915); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2091); show_backtrace(1); } { -var539 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var538, var_ret); +var553 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var552, var_ret); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var539); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var553); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var554 = 1; +var = var554; goto RET_LABEL; } else { -if (varonce540) { -var541 = varonce540; +if (varonce555) { +var556 = varonce555; } else { -var542 = "<"; -var543 = 1; -var544 = string__NativeString__to_s_with_length(var542, var543); -var541 = var544; -varonce540 = var541; +var557 = "<"; +var558 = 1; +var559 = string__NativeString__to_s_with_length(var557, var558); +var556 = var559; +varonce555 = var556; } { -var546 = string__FlatString___61d_61d(var_pname, var541); -var545 = var546; +var561 = string__FlatString___61d_61d(var_pname, var556); +var560 = var561; } -if (var545){ -var547 = 0; +if (var560){ +var562 = 0; { -var548 = array__Array___91d_93d(var_arguments, var547); +var563 = array__Array___91d_93d(var_arguments, var562); } -if (varonce549) { -var550 = varonce549; +if (varonce564) { +var565 = varonce564; } else { -var551 = " < "; -var552 = 3; -var553 = string__NativeString__to_s_with_length(var551, var552); -var550 = var553; -varonce549 = var550; +var566 = " < "; +var567 = 3; +var568 = string__NativeString__to_s_with_length(var566, var567); +var565 = var568; +varonce564 = var565; } -var554 = 1; +var569 = 1; { -var555 = array__Array___91d_93d(var_arguments, var554); +var570 = array__Array___91d_93d(var_arguments, var569); } -var556 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var556 = array_instance Array[Object] */ -var557 = 3; -var558 = NEW_array__NativeArray(var557, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var558)->values[0] = (val*) var548; -((struct instance_array__NativeArray*)var558)->values[1] = (val*) var550; -((struct instance_array__NativeArray*)var558)->values[2] = (val*) var555; +var571 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var571 = array_instance Array[Object] */ +var572 = 3; +var573 = NEW_array__NativeArray(var572, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var573)->values[0] = (val*) var563; +((struct instance_array__NativeArray*)var573)->values[1] = (val*) var565; +((struct instance_array__NativeArray*)var573)->values[2] = (val*) var570; { -((void (*)(val*, val*, long))(var556->class->vft[COLOR_array__Array__with_native]))(var556, var558, var557) /* with_native on */; +((void (*)(val*, val*, long))(var571->class->vft[COLOR_array__Array__with_native]))(var571, var573, var572) /* with_native on */; } } { -var559 = ((val* (*)(val*))(var556->class->vft[COLOR_string__Object__to_s]))(var556) /* to_s on */; +var574 = ((val* (*)(val*))(var571->class->vft[COLOR_string__Object__to_s]))(var571) /* to_s on */; } if (unlikely(var_ret == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1918); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2094); show_backtrace(1); } { -var560 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var559, var_ret); +var575 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var574, var_ret); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var560); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var575); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var576 = 1; +var = var576; goto RET_LABEL; } else { -if (varonce561) { -var562 = varonce561; +if (varonce577) { +var578 = varonce577; } else { -var563 = ">"; -var564 = 1; -var565 = string__NativeString__to_s_with_length(var563, var564); -var562 = var565; -varonce561 = var562; +var579 = ">"; +var580 = 1; +var581 = string__NativeString__to_s_with_length(var579, var580); +var578 = var581; +varonce577 = var578; } { -var567 = string__FlatString___61d_61d(var_pname, var562); -var566 = var567; +var583 = string__FlatString___61d_61d(var_pname, var578); +var582 = var583; } -if (var566){ -var568 = 0; +if (var582){ +var584 = 0; { -var569 = array__Array___91d_93d(var_arguments, var568); +var585 = array__Array___91d_93d(var_arguments, var584); } -if (varonce570) { -var571 = varonce570; +if (varonce586) { +var587 = varonce586; } else { -var572 = " > "; -var573 = 3; -var574 = string__NativeString__to_s_with_length(var572, var573); -var571 = var574; -varonce570 = var571; +var588 = " > "; +var589 = 3; +var590 = string__NativeString__to_s_with_length(var588, var589); +var587 = var590; +varonce586 = var587; } -var575 = 1; +var591 = 1; { -var576 = array__Array___91d_93d(var_arguments, var575); +var592 = array__Array___91d_93d(var_arguments, var591); } -var577 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var577 = array_instance Array[Object] */ -var578 = 3; -var579 = NEW_array__NativeArray(var578, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var579)->values[0] = (val*) var569; -((struct instance_array__NativeArray*)var579)->values[1] = (val*) var571; -((struct instance_array__NativeArray*)var579)->values[2] = (val*) var576; +var593 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var593 = array_instance Array[Object] */ +var594 = 3; +var595 = NEW_array__NativeArray(var594, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var595)->values[0] = (val*) var585; +((struct instance_array__NativeArray*)var595)->values[1] = (val*) var587; +((struct instance_array__NativeArray*)var595)->values[2] = (val*) var592; { -((void (*)(val*, val*, long))(var577->class->vft[COLOR_array__Array__with_native]))(var577, var579, var578) /* with_native on */; +((void (*)(val*, val*, long))(var593->class->vft[COLOR_array__Array__with_native]))(var593, var595, var594) /* with_native on */; } } { -var580 = ((val* (*)(val*))(var577->class->vft[COLOR_string__Object__to_s]))(var577) /* to_s on */; +var596 = ((val* (*)(val*))(var593->class->vft[COLOR_string__Object__to_s]))(var593) /* to_s on */; } if (unlikely(var_ret == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1921); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2097); show_backtrace(1); } { -var581 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var580, var_ret); +var597 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var596, var_ret); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var581); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var597); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var598 = 1; +var = var598; goto RET_LABEL; } else { -if (varonce582) { -var583 = varonce582; +if (varonce599) { +var600 = varonce599; } else { -var584 = "<="; -var585 = 2; -var586 = string__NativeString__to_s_with_length(var584, var585); -var583 = var586; -varonce582 = var583; +var601 = "<="; +var602 = 2; +var603 = string__NativeString__to_s_with_length(var601, var602); +var600 = var603; +varonce599 = var600; } { -var588 = string__FlatString___61d_61d(var_pname, var583); -var587 = var588; +var605 = string__FlatString___61d_61d(var_pname, var600); +var604 = var605; } -if (var587){ -var589 = 0; +if (var604){ +var606 = 0; { -var590 = array__Array___91d_93d(var_arguments, var589); +var607 = array__Array___91d_93d(var_arguments, var606); } -if (varonce591) { -var592 = varonce591; +if (varonce608) { +var609 = varonce608; } else { -var593 = " <= "; -var594 = 4; -var595 = string__NativeString__to_s_with_length(var593, var594); -var592 = var595; -varonce591 = var592; +var610 = " <= "; +var611 = 4; +var612 = string__NativeString__to_s_with_length(var610, var611); +var609 = var612; +varonce608 = var609; } -var596 = 1; +var613 = 1; { -var597 = array__Array___91d_93d(var_arguments, var596); +var614 = array__Array___91d_93d(var_arguments, var613); } -var598 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var598 = array_instance Array[Object] */ -var599 = 3; -var600 = NEW_array__NativeArray(var599, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var600)->values[0] = (val*) var590; -((struct instance_array__NativeArray*)var600)->values[1] = (val*) var592; -((struct instance_array__NativeArray*)var600)->values[2] = (val*) var597; +var615 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var615 = array_instance Array[Object] */ +var616 = 3; +var617 = NEW_array__NativeArray(var616, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var617)->values[0] = (val*) var607; +((struct instance_array__NativeArray*)var617)->values[1] = (val*) var609; +((struct instance_array__NativeArray*)var617)->values[2] = (val*) var614; { -((void (*)(val*, val*, long))(var598->class->vft[COLOR_array__Array__with_native]))(var598, var600, var599) /* with_native on */; +((void (*)(val*, val*, long))(var615->class->vft[COLOR_array__Array__with_native]))(var615, var617, var616) /* with_native on */; } } { -var601 = ((val* (*)(val*))(var598->class->vft[COLOR_string__Object__to_s]))(var598) /* to_s on */; +var618 = ((val* (*)(val*))(var615->class->vft[COLOR_string__Object__to_s]))(var615) /* to_s on */; } if (unlikely(var_ret == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1924); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2100); show_backtrace(1); } { -var602 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var601, var_ret); +var619 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var618, var_ret); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var602); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var619); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var620 = 1; +var = var620; goto RET_LABEL; } else { -if (varonce603) { -var604 = varonce603; +if (varonce621) { +var622 = varonce621; } else { -var605 = ">="; -var606 = 2; -var607 = string__NativeString__to_s_with_length(var605, var606); -var604 = var607; -varonce603 = var604; +var623 = ">="; +var624 = 2; +var625 = string__NativeString__to_s_with_length(var623, var624); +var622 = var625; +varonce621 = var622; } { -var609 = string__FlatString___61d_61d(var_pname, var604); -var608 = var609; +var627 = string__FlatString___61d_61d(var_pname, var622); +var626 = var627; } -if (var608){ -var610 = 0; +if (var626){ +var628 = 0; { -var611 = array__Array___91d_93d(var_arguments, var610); +var629 = array__Array___91d_93d(var_arguments, var628); } -if (varonce612) { -var613 = varonce612; +if (varonce630) { +var631 = varonce630; } else { -var614 = " >= "; -var615 = 4; -var616 = string__NativeString__to_s_with_length(var614, var615); -var613 = var616; -varonce612 = var613; +var632 = " >= "; +var633 = 4; +var634 = string__NativeString__to_s_with_length(var632, var633); +var631 = var634; +varonce630 = var631; } -var617 = 1; +var635 = 1; { -var618 = array__Array___91d_93d(var_arguments, var617); +var636 = array__Array___91d_93d(var_arguments, var635); } -var619 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var619 = array_instance Array[Object] */ -var620 = 3; -var621 = NEW_array__NativeArray(var620, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var621)->values[0] = (val*) var611; -((struct instance_array__NativeArray*)var621)->values[1] = (val*) var613; -((struct instance_array__NativeArray*)var621)->values[2] = (val*) var618; +var637 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var637 = array_instance Array[Object] */ +var638 = 3; +var639 = NEW_array__NativeArray(var638, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var639)->values[0] = (val*) var629; +((struct instance_array__NativeArray*)var639)->values[1] = (val*) var631; +((struct instance_array__NativeArray*)var639)->values[2] = (val*) var636; { -((void (*)(val*, val*, long))(var619->class->vft[COLOR_array__Array__with_native]))(var619, var621, var620) /* with_native on */; +((void (*)(val*, val*, long))(var637->class->vft[COLOR_array__Array__with_native]))(var637, var639, var638) /* with_native on */; } } { -var622 = ((val* (*)(val*))(var619->class->vft[COLOR_string__Object__to_s]))(var619) /* to_s on */; +var640 = ((val* (*)(val*))(var637->class->vft[COLOR_string__Object__to_s]))(var637) /* to_s on */; } if (unlikely(var_ret == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1927); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2103); show_backtrace(1); } { -var623 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var622, var_ret); +var641 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var640, var_ret); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var623); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var641); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var642 = 1; +var = var642; goto RET_LABEL; } else { -if (varonce624) { -var625 = varonce624; +if (varonce643) { +var644 = varonce643; } else { -var626 = "to_i"; -var627 = 4; -var628 = string__NativeString__to_s_with_length(var626, var627); -var625 = var628; -varonce624 = var625; +var645 = "to_i"; +var646 = 4; +var647 = string__NativeString__to_s_with_length(var645, var646); +var644 = var647; +varonce643 = var644; } { -var630 = string__FlatString___61d_61d(var_pname, var625); -var629 = var630; +var649 = string__FlatString___61d_61d(var_pname, var644); +var648 = var649; } -if (var629){ -var631 = 0; +if (var648){ +var650 = 0; { -var632 = array__Array___91d_93d(var_arguments, var631); +var651 = array__Array___91d_93d(var_arguments, var650); } -if (varonce633) { -var634 = varonce633; +if (varonce652) { +var653 = varonce652; } else { -var635 = "-\'0\'"; -var636 = 4; -var637 = string__NativeString__to_s_with_length(var635, var636); -var634 = var637; -varonce633 = var634; +var654 = "-\'0\'"; +var655 = 4; +var656 = string__NativeString__to_s_with_length(var654, var655); +var653 = var656; +varonce652 = var653; } -var638 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var638 = array_instance Array[Object] */ -var639 = 2; -var640 = NEW_array__NativeArray(var639, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var640)->values[0] = (val*) var632; -((struct instance_array__NativeArray*)var640)->values[1] = (val*) var634; +var657 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var657 = array_instance Array[Object] */ +var658 = 2; +var659 = NEW_array__NativeArray(var658, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var659)->values[0] = (val*) var651; +((struct instance_array__NativeArray*)var659)->values[1] = (val*) var653; { -((void (*)(val*, val*, long))(var638->class->vft[COLOR_array__Array__with_native]))(var638, var640, var639) /* with_native on */; +((void (*)(val*, val*, long))(var657->class->vft[COLOR_array__Array__with_native]))(var657, var659, var658) /* with_native on */; } } { -var641 = ((val* (*)(val*))(var638->class->vft[COLOR_string__Object__to_s]))(var638) /* to_s on */; +var660 = ((val* (*)(val*))(var657->class->vft[COLOR_string__Object__to_s]))(var657) /* to_s on */; } if (unlikely(var_ret == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1930); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2106); show_backtrace(1); } { -var642 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var641, var_ret); +var661 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var660, var_ret); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var642); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var661); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var662 = 1; +var = var662; goto RET_LABEL; } else { -if (varonce643) { -var644 = varonce643; +if (varonce663) { +var664 = varonce663; } else { -var645 = "ascii"; -var646 = 5; -var647 = string__NativeString__to_s_with_length(var645, var646); -var644 = var647; -varonce643 = var644; +var665 = "ascii"; +var666 = 5; +var667 = string__NativeString__to_s_with_length(var665, var666); +var664 = var667; +varonce663 = var664; } { -var649 = string__FlatString___61d_61d(var_pname, var644); -var648 = var649; +var669 = string__FlatString___61d_61d(var_pname, var664); +var668 = var669; } -if (var648){ -if (varonce650) { -var651 = varonce650; +if (var668){ +if (varonce670) { +var671 = varonce670; } else { -var652 = "(unsigned char)"; -var653 = 15; -var654 = string__NativeString__to_s_with_length(var652, var653); -var651 = var654; -varonce650 = var651; +var672 = "(unsigned char)"; +var673 = 15; +var674 = string__NativeString__to_s_with_length(var672, var673); +var671 = var674; +varonce670 = var671; } -var655 = 0; +var675 = 0; { -var656 = array__Array___91d_93d(var_arguments, var655); +var676 = array__Array___91d_93d(var_arguments, var675); } -var657 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var657 = array_instance Array[Object] */ -var658 = 2; -var659 = NEW_array__NativeArray(var658, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var659)->values[0] = (val*) var651; -((struct instance_array__NativeArray*)var659)->values[1] = (val*) var656; +var677 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var677 = array_instance Array[Object] */ +var678 = 2; +var679 = NEW_array__NativeArray(var678, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var679)->values[0] = (val*) var671; +((struct instance_array__NativeArray*)var679)->values[1] = (val*) var676; { -((void (*)(val*, val*, long))(var657->class->vft[COLOR_array__Array__with_native]))(var657, var659, var658) /* with_native on */; +((void (*)(val*, val*, long))(var677->class->vft[COLOR_array__Array__with_native]))(var677, var679, var678) /* with_native on */; } } { -var660 = ((val* (*)(val*))(var657->class->vft[COLOR_string__Object__to_s]))(var657) /* to_s on */; +var680 = ((val* (*)(val*))(var677->class->vft[COLOR_string__Object__to_s]))(var677) /* to_s on */; } if (unlikely(var_ret == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1933); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2109); show_backtrace(1); } { -var661 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var660, var_ret); +var681 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var680, var_ret); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var661); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var681); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var682 = 1; +var = var682; goto RET_LABEL; } else { } @@ -3357,215 +3409,223 @@ goto RET_LABEL; } } } else { -if (varonce662) { -var663 = varonce662; +if (varonce683) { +var684 = varonce683; } else { -var664 = "Bool"; -var665 = 4; -var666 = string__NativeString__to_s_with_length(var664, var665); -var663 = var666; -varonce662 = var663; +var685 = "Bool"; +var686 = 4; +var687 = string__NativeString__to_s_with_length(var685, var686); +var684 = var687; +varonce683 = var684; } { -var668 = string__FlatString___61d_61d(var_cname, var663); -var667 = var668; +var689 = string__FlatString___61d_61d(var_cname, var684); +var688 = var689; } -if (var667){ -if (varonce669) { -var670 = varonce669; +if (var688){ +if (varonce690) { +var691 = varonce690; } else { -var671 = "output"; -var672 = 6; -var673 = string__NativeString__to_s_with_length(var671, var672); -var670 = var673; -varonce669 = var670; +var692 = "output"; +var693 = 6; +var694 = string__NativeString__to_s_with_length(var692, var693); +var691 = var694; +varonce690 = var691; } { -var675 = string__FlatString___61d_61d(var_pname, var670); -var674 = var675; +var696 = string__FlatString___61d_61d(var_pname, var691); +var695 = var696; } -if (var674){ -if (varonce676) { -var677 = varonce676; +if (var695){ +if (varonce697) { +var698 = varonce697; } else { -var678 = "printf("; -var679 = 7; -var680 = string__NativeString__to_s_with_length(var678, var679); -var677 = var680; -varonce676 = var677; +var699 = "printf("; +var700 = 7; +var701 = string__NativeString__to_s_with_length(var699, var700); +var698 = var701; +varonce697 = var698; } { -var681 = abstract_collection__SequenceRead__first(var_arguments); +var702 = abstract_collection__SequenceRead__first(var_arguments); } -if (varonce682) { -var683 = varonce682; +if (varonce703) { +var704 = varonce703; } else { -var684 = "?\"true\\n\":\"false\\n\");"; -var685 = 21; -var686 = string__NativeString__to_s_with_length(var684, var685); -var683 = var686; -varonce682 = var683; +var705 = "?\"true\\n\":\"false\\n\");"; +var706 = 21; +var707 = string__NativeString__to_s_with_length(var705, var706); +var704 = var707; +varonce703 = var704; } -var687 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var687 = array_instance Array[Object] */ -var688 = 3; -var689 = NEW_array__NativeArray(var688, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var689)->values[0] = (val*) var677; -((struct instance_array__NativeArray*)var689)->values[1] = (val*) var681; -((struct instance_array__NativeArray*)var689)->values[2] = (val*) var683; +var708 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var708 = array_instance Array[Object] */ +var709 = 3; +var710 = NEW_array__NativeArray(var709, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var710)->values[0] = (val*) var698; +((struct instance_array__NativeArray*)var710)->values[1] = (val*) var702; +((struct instance_array__NativeArray*)var710)->values[2] = (val*) var704; { -((void (*)(val*, val*, long))(var687->class->vft[COLOR_array__Array__with_native]))(var687, var689, var688) /* with_native on */; +((void (*)(val*, val*, long))(var708->class->vft[COLOR_array__Array__with_native]))(var708, var710, var709) /* with_native on */; } } { -var690 = ((val* (*)(val*))(var687->class->vft[COLOR_string__Object__to_s]))(var687) /* to_s on */; +var711 = ((val* (*)(val*))(var708->class->vft[COLOR_string__Object__to_s]))(var708) /* to_s on */; } { -abstract_compiler__AbstractCompilerVisitor__add(var_v, var690); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +abstract_compiler__AbstractCompilerVisitor__add(var_v, var711); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } +var712 = 1; +var = var712; goto RET_LABEL; } else { -if (varonce691) { -var692 = varonce691; +if (varonce713) { +var714 = varonce713; } else { -var693 = "object_id"; -var694 = 9; -var695 = string__NativeString__to_s_with_length(var693, var694); -var692 = var695; -varonce691 = var692; +var715 = "object_id"; +var716 = 9; +var717 = string__NativeString__to_s_with_length(var715, var716); +var714 = var717; +varonce713 = var714; } { -var697 = string__FlatString___61d_61d(var_pname, var692); -var696 = var697; +var719 = string__FlatString___61d_61d(var_pname, var714); +var718 = var719; } -if (var696){ -if (varonce698) { -var699 = varonce698; +if (var718){ +if (varonce720) { +var721 = varonce720; } else { -var700 = "(long)"; -var701 = 6; -var702 = string__NativeString__to_s_with_length(var700, var701); -var699 = var702; -varonce698 = var699; +var722 = "(long)"; +var723 = 6; +var724 = string__NativeString__to_s_with_length(var722, var723); +var721 = var724; +varonce720 = var721; } { -var703 = abstract_collection__SequenceRead__first(var_arguments); +var725 = abstract_collection__SequenceRead__first(var_arguments); } -var704 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var704 = array_instance Array[Object] */ -var705 = 2; -var706 = NEW_array__NativeArray(var705, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var706)->values[0] = (val*) var699; -((struct instance_array__NativeArray*)var706)->values[1] = (val*) var703; +var726 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var726 = array_instance Array[Object] */ +var727 = 2; +var728 = NEW_array__NativeArray(var727, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var728)->values[0] = (val*) var721; +((struct instance_array__NativeArray*)var728)->values[1] = (val*) var725; { -((void (*)(val*, val*, long))(var704->class->vft[COLOR_array__Array__with_native]))(var704, var706, var705) /* with_native on */; +((void (*)(val*, val*, long))(var726->class->vft[COLOR_array__Array__with_native]))(var726, var728, var727) /* with_native on */; } } { -var707 = ((val* (*)(val*))(var704->class->vft[COLOR_string__Object__to_s]))(var704) /* to_s on */; +var729 = ((val* (*)(val*))(var726->class->vft[COLOR_string__Object__to_s]))(var726) /* to_s on */; } if (unlikely(var_ret == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1941); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2117); show_backtrace(1); } { -var708 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var707, var_ret); +var730 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var729, var_ret); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var708); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var730); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var731 = 1; +var = var731; goto RET_LABEL; } else { -if (varonce709) { -var710 = varonce709; +if (varonce732) { +var733 = varonce732; } else { -var711 = "=="; -var712 = 2; -var713 = string__NativeString__to_s_with_length(var711, var712); -var710 = var713; -varonce709 = var710; +var734 = "=="; +var735 = 2; +var736 = string__NativeString__to_s_with_length(var734, var735); +var733 = var736; +varonce732 = var733; } { -var715 = string__FlatString___61d_61d(var_pname, var710); -var714 = var715; +var738 = string__FlatString___61d_61d(var_pname, var733); +var737 = var738; } -if (var714){ -var716 = 0; +if (var737){ +var739 = 0; { -var717 = array__Array___91d_93d(var_arguments, var716); +var740 = array__Array___91d_93d(var_arguments, var739); } -var718 = 1; +var741 = 1; { -var719 = array__Array___91d_93d(var_arguments, var718); +var742 = array__Array___91d_93d(var_arguments, var741); } { -var720 = separate_compiler__SeparateCompilerVisitor__equal_test(var_v, var717, var719); +var743 = separate_compiler__SeparateCompilerVisitor__equal_test(var_v, var740, var742); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var720); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var743); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var744 = 1; +var = var744; goto RET_LABEL; } else { -if (varonce721) { -var722 = varonce721; +if (varonce745) { +var746 = varonce745; } else { -var723 = "!="; -var724 = 2; -var725 = string__NativeString__to_s_with_length(var723, var724); -var722 = var725; -varonce721 = var722; +var747 = "!="; +var748 = 2; +var749 = string__NativeString__to_s_with_length(var747, var748); +var746 = var749; +varonce745 = var746; } { -var727 = string__FlatString___61d_61d(var_pname, var722); -var726 = var727; +var751 = string__FlatString___61d_61d(var_pname, var746); +var750 = var751; } -if (var726){ -var728 = 0; +if (var750){ +var752 = 0; { -var729 = array__Array___91d_93d(var_arguments, var728); +var753 = array__Array___91d_93d(var_arguments, var752); } -var730 = 1; +var754 = 1; { -var731 = array__Array___91d_93d(var_arguments, var730); +var755 = array__Array___91d_93d(var_arguments, var754); } { -var732 = separate_compiler__SeparateCompilerVisitor__equal_test(var_v, var729, var731); +var756 = separate_compiler__SeparateCompilerVisitor__equal_test(var_v, var753, var755); } -var_res733 = var732; -if (varonce734) { -var735 = varonce734; +var_res757 = var756; +if (varonce758) { +var759 = varonce758; } else { -var736 = "!"; -var737 = 1; -var738 = string__NativeString__to_s_with_length(var736, var737); -var735 = var738; -varonce734 = var735; +var760 = "!"; +var761 = 1; +var762 = string__NativeString__to_s_with_length(var760, var761); +var759 = var762; +varonce758 = var759; } -var739 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var739 = array_instance Array[Object] */ -var740 = 2; -var741 = NEW_array__NativeArray(var740, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var741)->values[0] = (val*) var735; -((struct instance_array__NativeArray*)var741)->values[1] = (val*) var_res733; +var763 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var763 = array_instance Array[Object] */ +var764 = 2; +var765 = NEW_array__NativeArray(var764, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var765)->values[0] = (val*) var759; +((struct instance_array__NativeArray*)var765)->values[1] = (val*) var_res757; { -((void (*)(val*, val*, long))(var739->class->vft[COLOR_array__Array__with_native]))(var739, var741, var740) /* with_native on */; +((void (*)(val*, val*, long))(var763->class->vft[COLOR_array__Array__with_native]))(var763, var765, var764) /* with_native on */; } } { -var742 = ((val* (*)(val*))(var739->class->vft[COLOR_string__Object__to_s]))(var739) /* to_s on */; +var766 = ((val* (*)(val*))(var763->class->vft[COLOR_string__Object__to_s]))(var763) /* to_s on */; } if (unlikely(var_ret == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1948); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2124); show_backtrace(1); } { -var743 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var742, var_ret); +var767 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var766, var_ret); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var743); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var767); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var768 = 1; +var = var768; goto RET_LABEL; } else { } @@ -3573,891 +3633,923 @@ goto RET_LABEL; } } } else { -if (varonce744) { -var745 = varonce744; +if (varonce769) { +var770 = varonce769; } else { -var746 = "Float"; -var747 = 5; -var748 = string__NativeString__to_s_with_length(var746, var747); -var745 = var748; -varonce744 = var745; +var771 = "Float"; +var772 = 5; +var773 = string__NativeString__to_s_with_length(var771, var772); +var770 = var773; +varonce769 = var770; } { -var750 = string__FlatString___61d_61d(var_cname, var745); -var749 = var750; +var775 = string__FlatString___61d_61d(var_cname, var770); +var774 = var775; } -if (var749){ -if (varonce751) { -var752 = varonce751; +if (var774){ +if (varonce776) { +var777 = varonce776; } else { -var753 = "output"; -var754 = 6; -var755 = string__NativeString__to_s_with_length(var753, var754); -var752 = var755; -varonce751 = var752; +var778 = "output"; +var779 = 6; +var780 = string__NativeString__to_s_with_length(var778, var779); +var777 = var780; +varonce776 = var777; } { -var757 = string__FlatString___61d_61d(var_pname, var752); -var756 = var757; +var782 = string__FlatString___61d_61d(var_pname, var777); +var781 = var782; } -if (var756){ -if (varonce758) { -var759 = varonce758; +if (var781){ +if (varonce783) { +var784 = varonce783; } else { -var760 = "printf(\"%f\\n\", "; -var761 = 15; -var762 = string__NativeString__to_s_with_length(var760, var761); -var759 = var762; -varonce758 = var759; +var785 = "printf(\"%f\\n\", "; +var786 = 15; +var787 = string__NativeString__to_s_with_length(var785, var786); +var784 = var787; +varonce783 = var784; } { -var763 = abstract_collection__SequenceRead__first(var_arguments); +var788 = abstract_collection__SequenceRead__first(var_arguments); } -if (varonce764) { -var765 = varonce764; +if (varonce789) { +var790 = varonce789; } else { -var766 = ");"; -var767 = 2; -var768 = string__NativeString__to_s_with_length(var766, var767); -var765 = var768; -varonce764 = var765; +var791 = ");"; +var792 = 2; +var793 = string__NativeString__to_s_with_length(var791, var792); +var790 = var793; +varonce789 = var790; } -var769 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var769 = array_instance Array[Object] */ -var770 = 3; -var771 = NEW_array__NativeArray(var770, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var771)->values[0] = (val*) var759; -((struct instance_array__NativeArray*)var771)->values[1] = (val*) var763; -((struct instance_array__NativeArray*)var771)->values[2] = (val*) var765; +var794 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var794 = array_instance Array[Object] */ +var795 = 3; +var796 = NEW_array__NativeArray(var795, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var796)->values[0] = (val*) var784; +((struct instance_array__NativeArray*)var796)->values[1] = (val*) var788; +((struct instance_array__NativeArray*)var796)->values[2] = (val*) var790; { -((void (*)(val*, val*, long))(var769->class->vft[COLOR_array__Array__with_native]))(var769, var771, var770) /* with_native on */; +((void (*)(val*, val*, long))(var794->class->vft[COLOR_array__Array__with_native]))(var794, var796, var795) /* with_native on */; } } { -var772 = ((val* (*)(val*))(var769->class->vft[COLOR_string__Object__to_s]))(var769) /* to_s on */; +var797 = ((val* (*)(val*))(var794->class->vft[COLOR_string__Object__to_s]))(var794) /* to_s on */; } { -abstract_compiler__AbstractCompilerVisitor__add(var_v, var772); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +abstract_compiler__AbstractCompilerVisitor__add(var_v, var797); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } +var798 = 1; +var = var798; goto RET_LABEL; } else { -if (varonce773) { -var774 = varonce773; +if (varonce799) { +var800 = varonce799; } else { -var775 = "object_id"; -var776 = 9; -var777 = string__NativeString__to_s_with_length(var775, var776); -var774 = var777; -varonce773 = var774; +var801 = "object_id"; +var802 = 9; +var803 = string__NativeString__to_s_with_length(var801, var802); +var800 = var803; +varonce799 = var800; } { -var779 = string__FlatString___61d_61d(var_pname, var774); -var778 = var779; +var805 = string__FlatString___61d_61d(var_pname, var800); +var804 = var805; } -if (var778){ -if (varonce780) { -var781 = varonce780; +if (var804){ +if (varonce806) { +var807 = varonce806; } else { -var782 = "(double)"; -var783 = 8; -var784 = string__NativeString__to_s_with_length(var782, var783); -var781 = var784; -varonce780 = var781; +var808 = "(double)"; +var809 = 8; +var810 = string__NativeString__to_s_with_length(var808, var809); +var807 = var810; +varonce806 = var807; } { -var785 = abstract_collection__SequenceRead__first(var_arguments); +var811 = abstract_collection__SequenceRead__first(var_arguments); } -var786 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var786 = array_instance Array[Object] */ -var787 = 2; -var788 = NEW_array__NativeArray(var787, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var788)->values[0] = (val*) var781; -((struct instance_array__NativeArray*)var788)->values[1] = (val*) var785; +var812 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var812 = array_instance Array[Object] */ +var813 = 2; +var814 = NEW_array__NativeArray(var813, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var814)->values[0] = (val*) var807; +((struct instance_array__NativeArray*)var814)->values[1] = (val*) var811; { -((void (*)(val*, val*, long))(var786->class->vft[COLOR_array__Array__with_native]))(var786, var788, var787) /* with_native on */; +((void (*)(val*, val*, long))(var812->class->vft[COLOR_array__Array__with_native]))(var812, var814, var813) /* with_native on */; } } { -var789 = ((val* (*)(val*))(var786->class->vft[COLOR_string__Object__to_s]))(var786) /* to_s on */; +var815 = ((val* (*)(val*))(var812->class->vft[COLOR_string__Object__to_s]))(var812) /* to_s on */; } if (unlikely(var_ret == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1956); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2132); show_backtrace(1); } { -var790 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var789, var_ret); +var816 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var815, var_ret); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var790); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var816); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var817 = 1; +var = var817; goto RET_LABEL; } else { -if (varonce791) { -var792 = varonce791; +if (varonce818) { +var819 = varonce818; } else { -var793 = "+"; -var794 = 1; -var795 = string__NativeString__to_s_with_length(var793, var794); -var792 = var795; -varonce791 = var792; +var820 = "+"; +var821 = 1; +var822 = string__NativeString__to_s_with_length(var820, var821); +var819 = var822; +varonce818 = var819; } { -var797 = string__FlatString___61d_61d(var_pname, var792); -var796 = var797; +var824 = string__FlatString___61d_61d(var_pname, var819); +var823 = var824; } -if (var796){ -var798 = 0; +if (var823){ +var825 = 0; { -var799 = array__Array___91d_93d(var_arguments, var798); +var826 = array__Array___91d_93d(var_arguments, var825); } -if (varonce800) { -var801 = varonce800; +if (varonce827) { +var828 = varonce827; } else { -var802 = " + "; -var803 = 3; -var804 = string__NativeString__to_s_with_length(var802, var803); -var801 = var804; -varonce800 = var801; +var829 = " + "; +var830 = 3; +var831 = string__NativeString__to_s_with_length(var829, var830); +var828 = var831; +varonce827 = var828; } -var805 = 1; +var832 = 1; { -var806 = array__Array___91d_93d(var_arguments, var805); +var833 = array__Array___91d_93d(var_arguments, var832); } -var807 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var807 = array_instance Array[Object] */ -var808 = 3; -var809 = NEW_array__NativeArray(var808, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var809)->values[0] = (val*) var799; -((struct instance_array__NativeArray*)var809)->values[1] = (val*) var801; -((struct instance_array__NativeArray*)var809)->values[2] = (val*) var806; +var834 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var834 = array_instance Array[Object] */ +var835 = 3; +var836 = NEW_array__NativeArray(var835, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var836)->values[0] = (val*) var826; +((struct instance_array__NativeArray*)var836)->values[1] = (val*) var828; +((struct instance_array__NativeArray*)var836)->values[2] = (val*) var833; { -((void (*)(val*, val*, long))(var807->class->vft[COLOR_array__Array__with_native]))(var807, var809, var808) /* with_native on */; +((void (*)(val*, val*, long))(var834->class->vft[COLOR_array__Array__with_native]))(var834, var836, var835) /* with_native on */; } } { -var810 = ((val* (*)(val*))(var807->class->vft[COLOR_string__Object__to_s]))(var807) /* to_s on */; +var837 = ((val* (*)(val*))(var834->class->vft[COLOR_string__Object__to_s]))(var834) /* to_s on */; } if (unlikely(var_ret == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1959); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2135); show_backtrace(1); } { -var811 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var810, var_ret); +var838 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var837, var_ret); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var811); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var838); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var839 = 1; +var = var839; goto RET_LABEL; } else { -if (varonce812) { -var813 = varonce812; +if (varonce840) { +var841 = varonce840; } else { -var814 = "-"; -var815 = 1; -var816 = string__NativeString__to_s_with_length(var814, var815); -var813 = var816; -varonce812 = var813; +var842 = "-"; +var843 = 1; +var844 = string__NativeString__to_s_with_length(var842, var843); +var841 = var844; +varonce840 = var841; } { -var818 = string__FlatString___61d_61d(var_pname, var813); -var817 = var818; +var846 = string__FlatString___61d_61d(var_pname, var841); +var845 = var846; } -if (var817){ -var819 = 0; +if (var845){ +var847 = 0; { -var820 = array__Array___91d_93d(var_arguments, var819); +var848 = array__Array___91d_93d(var_arguments, var847); } -if (varonce821) { -var822 = varonce821; +if (varonce849) { +var850 = varonce849; } else { -var823 = " - "; -var824 = 3; -var825 = string__NativeString__to_s_with_length(var823, var824); -var822 = var825; -varonce821 = var822; +var851 = " - "; +var852 = 3; +var853 = string__NativeString__to_s_with_length(var851, var852); +var850 = var853; +varonce849 = var850; } -var826 = 1; +var854 = 1; { -var827 = array__Array___91d_93d(var_arguments, var826); +var855 = array__Array___91d_93d(var_arguments, var854); } -var828 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var828 = array_instance Array[Object] */ -var829 = 3; -var830 = NEW_array__NativeArray(var829, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var830)->values[0] = (val*) var820; -((struct instance_array__NativeArray*)var830)->values[1] = (val*) var822; -((struct instance_array__NativeArray*)var830)->values[2] = (val*) var827; +var856 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var856 = array_instance Array[Object] */ +var857 = 3; +var858 = NEW_array__NativeArray(var857, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var858)->values[0] = (val*) var848; +((struct instance_array__NativeArray*)var858)->values[1] = (val*) var850; +((struct instance_array__NativeArray*)var858)->values[2] = (val*) var855; { -((void (*)(val*, val*, long))(var828->class->vft[COLOR_array__Array__with_native]))(var828, var830, var829) /* with_native on */; +((void (*)(val*, val*, long))(var856->class->vft[COLOR_array__Array__with_native]))(var856, var858, var857) /* with_native on */; } } { -var831 = ((val* (*)(val*))(var828->class->vft[COLOR_string__Object__to_s]))(var828) /* to_s on */; +var859 = ((val* (*)(val*))(var856->class->vft[COLOR_string__Object__to_s]))(var856) /* to_s on */; } if (unlikely(var_ret == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1962); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2138); show_backtrace(1); } { -var832 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var831, var_ret); +var860 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var859, var_ret); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var832); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var860); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var861 = 1; +var = var861; goto RET_LABEL; } else { -if (varonce833) { -var834 = varonce833; +if (varonce862) { +var863 = varonce862; } else { -var835 = "unary -"; -var836 = 7; -var837 = string__NativeString__to_s_with_length(var835, var836); -var834 = var837; -varonce833 = var834; +var864 = "unary -"; +var865 = 7; +var866 = string__NativeString__to_s_with_length(var864, var865); +var863 = var866; +varonce862 = var863; } { -var839 = string__FlatString___61d_61d(var_pname, var834); -var838 = var839; +var868 = string__FlatString___61d_61d(var_pname, var863); +var867 = var868; } -if (var838){ -if (varonce840) { -var841 = varonce840; +if (var867){ +if (varonce869) { +var870 = varonce869; } else { -var842 = "-"; -var843 = 1; -var844 = string__NativeString__to_s_with_length(var842, var843); -var841 = var844; -varonce840 = var841; +var871 = "-"; +var872 = 1; +var873 = string__NativeString__to_s_with_length(var871, var872); +var870 = var873; +varonce869 = var870; } -var845 = 0; +var874 = 0; { -var846 = array__Array___91d_93d(var_arguments, var845); +var875 = array__Array___91d_93d(var_arguments, var874); } -var847 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var847 = array_instance Array[Object] */ -var848 = 2; -var849 = NEW_array__NativeArray(var848, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var849)->values[0] = (val*) var841; -((struct instance_array__NativeArray*)var849)->values[1] = (val*) var846; +var876 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var876 = array_instance Array[Object] */ +var877 = 2; +var878 = NEW_array__NativeArray(var877, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var878)->values[0] = (val*) var870; +((struct instance_array__NativeArray*)var878)->values[1] = (val*) var875; { -((void (*)(val*, val*, long))(var847->class->vft[COLOR_array__Array__with_native]))(var847, var849, var848) /* with_native on */; +((void (*)(val*, val*, long))(var876->class->vft[COLOR_array__Array__with_native]))(var876, var878, var877) /* with_native on */; } } { -var850 = ((val* (*)(val*))(var847->class->vft[COLOR_string__Object__to_s]))(var847) /* to_s on */; +var879 = ((val* (*)(val*))(var876->class->vft[COLOR_string__Object__to_s]))(var876) /* to_s on */; } if (unlikely(var_ret == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1965); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2141); show_backtrace(1); } { -var851 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var850, var_ret); +var880 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var879, var_ret); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var851); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var880); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var881 = 1; +var = var881; goto RET_LABEL; } else { -if (varonce852) { -var853 = varonce852; +if (varonce882) { +var883 = varonce882; } else { -var854 = "succ"; -var855 = 4; -var856 = string__NativeString__to_s_with_length(var854, var855); -var853 = var856; -varonce852 = var853; +var884 = "succ"; +var885 = 4; +var886 = string__NativeString__to_s_with_length(var884, var885); +var883 = var886; +varonce882 = var883; } { -var858 = string__FlatString___61d_61d(var_pname, var853); -var857 = var858; +var888 = string__FlatString___61d_61d(var_pname, var883); +var887 = var888; } -if (var857){ -var859 = 0; +if (var887){ +var889 = 0; { -var860 = array__Array___91d_93d(var_arguments, var859); +var890 = array__Array___91d_93d(var_arguments, var889); } -if (varonce861) { -var862 = varonce861; +if (varonce891) { +var892 = varonce891; } else { -var863 = "+1"; -var864 = 2; -var865 = string__NativeString__to_s_with_length(var863, var864); -var862 = var865; -varonce861 = var862; +var893 = "+1"; +var894 = 2; +var895 = string__NativeString__to_s_with_length(var893, var894); +var892 = var895; +varonce891 = var892; } -var866 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var866 = array_instance Array[Object] */ -var867 = 2; -var868 = NEW_array__NativeArray(var867, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var868)->values[0] = (val*) var860; -((struct instance_array__NativeArray*)var868)->values[1] = (val*) var862; +var896 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var896 = array_instance Array[Object] */ +var897 = 2; +var898 = NEW_array__NativeArray(var897, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var898)->values[0] = (val*) var890; +((struct instance_array__NativeArray*)var898)->values[1] = (val*) var892; { -((void (*)(val*, val*, long))(var866->class->vft[COLOR_array__Array__with_native]))(var866, var868, var867) /* with_native on */; +((void (*)(val*, val*, long))(var896->class->vft[COLOR_array__Array__with_native]))(var896, var898, var897) /* with_native on */; } } { -var869 = ((val* (*)(val*))(var866->class->vft[COLOR_string__Object__to_s]))(var866) /* to_s on */; +var899 = ((val* (*)(val*))(var896->class->vft[COLOR_string__Object__to_s]))(var896) /* to_s on */; } if (unlikely(var_ret == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1968); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2144); show_backtrace(1); } { -var870 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var869, var_ret); +var900 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var899, var_ret); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var870); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var900); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var901 = 1; +var = var901; goto RET_LABEL; } else { -if (varonce871) { -var872 = varonce871; +if (varonce902) { +var903 = varonce902; } else { -var873 = "prec"; -var874 = 4; -var875 = string__NativeString__to_s_with_length(var873, var874); -var872 = var875; -varonce871 = var872; +var904 = "prec"; +var905 = 4; +var906 = string__NativeString__to_s_with_length(var904, var905); +var903 = var906; +varonce902 = var903; } { -var877 = string__FlatString___61d_61d(var_pname, var872); -var876 = var877; +var908 = string__FlatString___61d_61d(var_pname, var903); +var907 = var908; } -if (var876){ -var878 = 0; +if (var907){ +var909 = 0; { -var879 = array__Array___91d_93d(var_arguments, var878); +var910 = array__Array___91d_93d(var_arguments, var909); } -if (varonce880) { -var881 = varonce880; +if (varonce911) { +var912 = varonce911; } else { -var882 = "-1"; -var883 = 2; -var884 = string__NativeString__to_s_with_length(var882, var883); -var881 = var884; -varonce880 = var881; +var913 = "-1"; +var914 = 2; +var915 = string__NativeString__to_s_with_length(var913, var914); +var912 = var915; +varonce911 = var912; } -var885 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var885 = array_instance Array[Object] */ -var886 = 2; -var887 = NEW_array__NativeArray(var886, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var887)->values[0] = (val*) var879; -((struct instance_array__NativeArray*)var887)->values[1] = (val*) var881; +var916 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var916 = array_instance Array[Object] */ +var917 = 2; +var918 = NEW_array__NativeArray(var917, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var918)->values[0] = (val*) var910; +((struct instance_array__NativeArray*)var918)->values[1] = (val*) var912; { -((void (*)(val*, val*, long))(var885->class->vft[COLOR_array__Array__with_native]))(var885, var887, var886) /* with_native on */; +((void (*)(val*, val*, long))(var916->class->vft[COLOR_array__Array__with_native]))(var916, var918, var917) /* with_native on */; } } { -var888 = ((val* (*)(val*))(var885->class->vft[COLOR_string__Object__to_s]))(var885) /* to_s on */; +var919 = ((val* (*)(val*))(var916->class->vft[COLOR_string__Object__to_s]))(var916) /* to_s on */; } if (unlikely(var_ret == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1971); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2147); show_backtrace(1); } { -var889 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var888, var_ret); +var920 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var919, var_ret); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var889); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var920); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var921 = 1; +var = var921; goto RET_LABEL; } else { -if (varonce890) { -var891 = varonce890; +if (varonce922) { +var923 = varonce922; } else { -var892 = "*"; -var893 = 1; -var894 = string__NativeString__to_s_with_length(var892, var893); -var891 = var894; -varonce890 = var891; +var924 = "*"; +var925 = 1; +var926 = string__NativeString__to_s_with_length(var924, var925); +var923 = var926; +varonce922 = var923; } { -var896 = string__FlatString___61d_61d(var_pname, var891); -var895 = var896; +var928 = string__FlatString___61d_61d(var_pname, var923); +var927 = var928; } -if (var895){ -var897 = 0; +if (var927){ +var929 = 0; { -var898 = array__Array___91d_93d(var_arguments, var897); +var930 = array__Array___91d_93d(var_arguments, var929); } -if (varonce899) { -var900 = varonce899; +if (varonce931) { +var932 = varonce931; } else { -var901 = " * "; -var902 = 3; -var903 = string__NativeString__to_s_with_length(var901, var902); -var900 = var903; -varonce899 = var900; +var933 = " * "; +var934 = 3; +var935 = string__NativeString__to_s_with_length(var933, var934); +var932 = var935; +varonce931 = var932; } -var904 = 1; +var936 = 1; { -var905 = array__Array___91d_93d(var_arguments, var904); +var937 = array__Array___91d_93d(var_arguments, var936); } -var906 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var906 = array_instance Array[Object] */ -var907 = 3; -var908 = NEW_array__NativeArray(var907, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var908)->values[0] = (val*) var898; -((struct instance_array__NativeArray*)var908)->values[1] = (val*) var900; -((struct instance_array__NativeArray*)var908)->values[2] = (val*) var905; +var938 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var938 = array_instance Array[Object] */ +var939 = 3; +var940 = NEW_array__NativeArray(var939, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var940)->values[0] = (val*) var930; +((struct instance_array__NativeArray*)var940)->values[1] = (val*) var932; +((struct instance_array__NativeArray*)var940)->values[2] = (val*) var937; { -((void (*)(val*, val*, long))(var906->class->vft[COLOR_array__Array__with_native]))(var906, var908, var907) /* with_native on */; +((void (*)(val*, val*, long))(var938->class->vft[COLOR_array__Array__with_native]))(var938, var940, var939) /* with_native on */; } } { -var909 = ((val* (*)(val*))(var906->class->vft[COLOR_string__Object__to_s]))(var906) /* to_s on */; +var941 = ((val* (*)(val*))(var938->class->vft[COLOR_string__Object__to_s]))(var938) /* to_s on */; } if (unlikely(var_ret == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1974); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2150); show_backtrace(1); } { -var910 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var909, var_ret); +var942 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var941, var_ret); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var910); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var942); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var943 = 1; +var = var943; goto RET_LABEL; } else { -if (varonce911) { -var912 = varonce911; -} else { -var913 = "/"; -var914 = 1; -var915 = string__NativeString__to_s_with_length(var913, var914); -var912 = var915; -varonce911 = var912; +if (varonce944) { +var945 = varonce944; +} else { +var946 = "/"; +var947 = 1; +var948 = string__NativeString__to_s_with_length(var946, var947); +var945 = var948; +varonce944 = var945; } { -var917 = string__FlatString___61d_61d(var_pname, var912); -var916 = var917; +var950 = string__FlatString___61d_61d(var_pname, var945); +var949 = var950; } -if (var916){ -var918 = 0; +if (var949){ +var951 = 0; { -var919 = array__Array___91d_93d(var_arguments, var918); +var952 = array__Array___91d_93d(var_arguments, var951); } -if (varonce920) { -var921 = varonce920; +if (varonce953) { +var954 = varonce953; } else { -var922 = " / "; -var923 = 3; -var924 = string__NativeString__to_s_with_length(var922, var923); -var921 = var924; -varonce920 = var921; +var955 = " / "; +var956 = 3; +var957 = string__NativeString__to_s_with_length(var955, var956); +var954 = var957; +varonce953 = var954; } -var925 = 1; +var958 = 1; { -var926 = array__Array___91d_93d(var_arguments, var925); +var959 = array__Array___91d_93d(var_arguments, var958); } -var927 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var927 = array_instance Array[Object] */ -var928 = 3; -var929 = NEW_array__NativeArray(var928, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var929)->values[0] = (val*) var919; -((struct instance_array__NativeArray*)var929)->values[1] = (val*) var921; -((struct instance_array__NativeArray*)var929)->values[2] = (val*) var926; +var960 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var960 = array_instance Array[Object] */ +var961 = 3; +var962 = NEW_array__NativeArray(var961, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var962)->values[0] = (val*) var952; +((struct instance_array__NativeArray*)var962)->values[1] = (val*) var954; +((struct instance_array__NativeArray*)var962)->values[2] = (val*) var959; { -((void (*)(val*, val*, long))(var927->class->vft[COLOR_array__Array__with_native]))(var927, var929, var928) /* with_native on */; +((void (*)(val*, val*, long))(var960->class->vft[COLOR_array__Array__with_native]))(var960, var962, var961) /* with_native on */; } } { -var930 = ((val* (*)(val*))(var927->class->vft[COLOR_string__Object__to_s]))(var927) /* to_s on */; +var963 = ((val* (*)(val*))(var960->class->vft[COLOR_string__Object__to_s]))(var960) /* to_s on */; } if (unlikely(var_ret == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1977); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2153); show_backtrace(1); } { -var931 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var930, var_ret); +var964 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var963, var_ret); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var931); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var964); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var965 = 1; +var = var965; goto RET_LABEL; } else { -if (varonce932) { -var933 = varonce932; +if (varonce966) { +var967 = varonce966; } else { -var934 = "=="; -var935 = 2; -var936 = string__NativeString__to_s_with_length(var934, var935); -var933 = var936; -varonce932 = var933; +var968 = "=="; +var969 = 2; +var970 = string__NativeString__to_s_with_length(var968, var969); +var967 = var970; +varonce966 = var967; } { -var938 = string__FlatString___61d_61d(var_pname, var933); -var937 = var938; +var972 = string__FlatString___61d_61d(var_pname, var967); +var971 = var972; } -if (var937){ -var939 = 0; +if (var971){ +var973 = 0; { -var940 = array__Array___91d_93d(var_arguments, var939); +var974 = array__Array___91d_93d(var_arguments, var973); } -var941 = 1; +var975 = 1; { -var942 = array__Array___91d_93d(var_arguments, var941); +var976 = array__Array___91d_93d(var_arguments, var975); } { -var943 = separate_compiler__SeparateCompilerVisitor__equal_test(var_v, var940, var942); +var977 = separate_compiler__SeparateCompilerVisitor__equal_test(var_v, var974, var976); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var943); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var977); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var978 = 1; +var = var978; goto RET_LABEL; } else { -if (varonce944) { -var945 = varonce944; +if (varonce979) { +var980 = varonce979; } else { -var946 = "!="; -var947 = 2; -var948 = string__NativeString__to_s_with_length(var946, var947); -var945 = var948; -varonce944 = var945; +var981 = "!="; +var982 = 2; +var983 = string__NativeString__to_s_with_length(var981, var982); +var980 = var983; +varonce979 = var980; } { -var950 = string__FlatString___61d_61d(var_pname, var945); -var949 = var950; +var985 = string__FlatString___61d_61d(var_pname, var980); +var984 = var985; } -if (var949){ -var951 = 0; +if (var984){ +var986 = 0; { -var952 = array__Array___91d_93d(var_arguments, var951); +var987 = array__Array___91d_93d(var_arguments, var986); } -var953 = 1; +var988 = 1; { -var954 = array__Array___91d_93d(var_arguments, var953); +var989 = array__Array___91d_93d(var_arguments, var988); } { -var955 = separate_compiler__SeparateCompilerVisitor__equal_test(var_v, var952, var954); +var990 = separate_compiler__SeparateCompilerVisitor__equal_test(var_v, var987, var989); } -var_res956 = var955; -if (varonce957) { -var958 = varonce957; +var_res991 = var990; +if (varonce992) { +var993 = varonce992; } else { -var959 = "!"; -var960 = 1; -var961 = string__NativeString__to_s_with_length(var959, var960); -var958 = var961; -varonce957 = var958; +var994 = "!"; +var995 = 1; +var996 = string__NativeString__to_s_with_length(var994, var995); +var993 = var996; +varonce992 = var993; } -var962 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var962 = array_instance Array[Object] */ -var963 = 2; -var964 = NEW_array__NativeArray(var963, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var964)->values[0] = (val*) var958; -((struct instance_array__NativeArray*)var964)->values[1] = (val*) var_res956; +var997 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var997 = array_instance Array[Object] */ +var998 = 2; +var999 = NEW_array__NativeArray(var998, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var999)->values[0] = (val*) var993; +((struct instance_array__NativeArray*)var999)->values[1] = (val*) var_res991; { -((void (*)(val*, val*, long))(var962->class->vft[COLOR_array__Array__with_native]))(var962, var964, var963) /* with_native on */; +((void (*)(val*, val*, long))(var997->class->vft[COLOR_array__Array__with_native]))(var997, var999, var998) /* with_native on */; } } { -var965 = ((val* (*)(val*))(var962->class->vft[COLOR_string__Object__to_s]))(var962) /* to_s on */; +var1000 = ((val* (*)(val*))(var997->class->vft[COLOR_string__Object__to_s]))(var997) /* to_s on */; } if (unlikely(var_ret == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1984); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2160); show_backtrace(1); } { -var966 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var965, var_ret); +var1001 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var1000, var_ret); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var966); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var1001); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var1002 = 1; +var = var1002; goto RET_LABEL; } else { -if (varonce967) { -var968 = varonce967; +if (varonce1003) { +var1004 = varonce1003; } else { -var969 = "<"; -var970 = 1; -var971 = string__NativeString__to_s_with_length(var969, var970); -var968 = var971; -varonce967 = var968; +var1005 = "<"; +var1006 = 1; +var1007 = string__NativeString__to_s_with_length(var1005, var1006); +var1004 = var1007; +varonce1003 = var1004; } { -var973 = string__FlatString___61d_61d(var_pname, var968); -var972 = var973; +var1009 = string__FlatString___61d_61d(var_pname, var1004); +var1008 = var1009; } -if (var972){ -var974 = 0; +if (var1008){ +var1010 = 0; { -var975 = array__Array___91d_93d(var_arguments, var974); +var1011 = array__Array___91d_93d(var_arguments, var1010); } -if (varonce976) { -var977 = varonce976; +if (varonce1012) { +var1013 = varonce1012; } else { -var978 = " < "; -var979 = 3; -var980 = string__NativeString__to_s_with_length(var978, var979); -var977 = var980; -varonce976 = var977; +var1014 = " < "; +var1015 = 3; +var1016 = string__NativeString__to_s_with_length(var1014, var1015); +var1013 = var1016; +varonce1012 = var1013; } -var981 = 1; +var1017 = 1; { -var982 = array__Array___91d_93d(var_arguments, var981); +var1018 = array__Array___91d_93d(var_arguments, var1017); } -var983 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var983 = array_instance Array[Object] */ -var984 = 3; -var985 = NEW_array__NativeArray(var984, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var985)->values[0] = (val*) var975; -((struct instance_array__NativeArray*)var985)->values[1] = (val*) var977; -((struct instance_array__NativeArray*)var985)->values[2] = (val*) var982; +var1019 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var1019 = array_instance Array[Object] */ +var1020 = 3; +var1021 = NEW_array__NativeArray(var1020, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var1021)->values[0] = (val*) var1011; +((struct instance_array__NativeArray*)var1021)->values[1] = (val*) var1013; +((struct instance_array__NativeArray*)var1021)->values[2] = (val*) var1018; { -((void (*)(val*, val*, long))(var983->class->vft[COLOR_array__Array__with_native]))(var983, var985, var984) /* with_native on */; +((void (*)(val*, val*, long))(var1019->class->vft[COLOR_array__Array__with_native]))(var1019, var1021, var1020) /* with_native on */; } } { -var986 = ((val* (*)(val*))(var983->class->vft[COLOR_string__Object__to_s]))(var983) /* to_s on */; +var1022 = ((val* (*)(val*))(var1019->class->vft[COLOR_string__Object__to_s]))(var1019) /* to_s on */; } if (unlikely(var_ret == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1987); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2163); show_backtrace(1); } { -var987 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var986, var_ret); +var1023 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var1022, var_ret); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var987); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var1023); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var1024 = 1; +var = var1024; goto RET_LABEL; } else { -if (varonce988) { -var989 = varonce988; +if (varonce1025) { +var1026 = varonce1025; } else { -var990 = ">"; -var991 = 1; -var992 = string__NativeString__to_s_with_length(var990, var991); -var989 = var992; -varonce988 = var989; +var1027 = ">"; +var1028 = 1; +var1029 = string__NativeString__to_s_with_length(var1027, var1028); +var1026 = var1029; +varonce1025 = var1026; } { -var994 = string__FlatString___61d_61d(var_pname, var989); -var993 = var994; +var1031 = string__FlatString___61d_61d(var_pname, var1026); +var1030 = var1031; } -if (var993){ -var995 = 0; +if (var1030){ +var1032 = 0; { -var996 = array__Array___91d_93d(var_arguments, var995); +var1033 = array__Array___91d_93d(var_arguments, var1032); } -if (varonce997) { -var998 = varonce997; +if (varonce1034) { +var1035 = varonce1034; } else { -var999 = " > "; -var1000 = 3; -var1001 = string__NativeString__to_s_with_length(var999, var1000); -var998 = var1001; -varonce997 = var998; +var1036 = " > "; +var1037 = 3; +var1038 = string__NativeString__to_s_with_length(var1036, var1037); +var1035 = var1038; +varonce1034 = var1035; } -var1002 = 1; +var1039 = 1; { -var1003 = array__Array___91d_93d(var_arguments, var1002); +var1040 = array__Array___91d_93d(var_arguments, var1039); } -var1004 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var1004 = array_instance Array[Object] */ -var1005 = 3; -var1006 = NEW_array__NativeArray(var1005, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var1006)->values[0] = (val*) var996; -((struct instance_array__NativeArray*)var1006)->values[1] = (val*) var998; -((struct instance_array__NativeArray*)var1006)->values[2] = (val*) var1003; +var1041 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var1041 = array_instance Array[Object] */ +var1042 = 3; +var1043 = NEW_array__NativeArray(var1042, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var1043)->values[0] = (val*) var1033; +((struct instance_array__NativeArray*)var1043)->values[1] = (val*) var1035; +((struct instance_array__NativeArray*)var1043)->values[2] = (val*) var1040; { -((void (*)(val*, val*, long))(var1004->class->vft[COLOR_array__Array__with_native]))(var1004, var1006, var1005) /* with_native on */; +((void (*)(val*, val*, long))(var1041->class->vft[COLOR_array__Array__with_native]))(var1041, var1043, var1042) /* with_native on */; } } { -var1007 = ((val* (*)(val*))(var1004->class->vft[COLOR_string__Object__to_s]))(var1004) /* to_s on */; +var1044 = ((val* (*)(val*))(var1041->class->vft[COLOR_string__Object__to_s]))(var1041) /* to_s on */; } if (unlikely(var_ret == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1990); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2166); show_backtrace(1); } { -var1008 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var1007, var_ret); +var1045 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var1044, var_ret); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var1008); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var1045); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var1046 = 1; +var = var1046; goto RET_LABEL; } else { -if (varonce1009) { -var1010 = varonce1009; +if (varonce1047) { +var1048 = varonce1047; } else { -var1011 = "<="; -var1012 = 2; -var1013 = string__NativeString__to_s_with_length(var1011, var1012); -var1010 = var1013; -varonce1009 = var1010; +var1049 = "<="; +var1050 = 2; +var1051 = string__NativeString__to_s_with_length(var1049, var1050); +var1048 = var1051; +varonce1047 = var1048; } { -var1015 = string__FlatString___61d_61d(var_pname, var1010); -var1014 = var1015; +var1053 = string__FlatString___61d_61d(var_pname, var1048); +var1052 = var1053; } -if (var1014){ -var1016 = 0; +if (var1052){ +var1054 = 0; { -var1017 = array__Array___91d_93d(var_arguments, var1016); +var1055 = array__Array___91d_93d(var_arguments, var1054); } -if (varonce1018) { -var1019 = varonce1018; +if (varonce1056) { +var1057 = varonce1056; } else { -var1020 = " <= "; -var1021 = 4; -var1022 = string__NativeString__to_s_with_length(var1020, var1021); -var1019 = var1022; -varonce1018 = var1019; +var1058 = " <= "; +var1059 = 4; +var1060 = string__NativeString__to_s_with_length(var1058, var1059); +var1057 = var1060; +varonce1056 = var1057; } -var1023 = 1; +var1061 = 1; { -var1024 = array__Array___91d_93d(var_arguments, var1023); +var1062 = array__Array___91d_93d(var_arguments, var1061); } -var1025 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var1025 = array_instance Array[Object] */ -var1026 = 3; -var1027 = NEW_array__NativeArray(var1026, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var1027)->values[0] = (val*) var1017; -((struct instance_array__NativeArray*)var1027)->values[1] = (val*) var1019; -((struct instance_array__NativeArray*)var1027)->values[2] = (val*) var1024; +var1063 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var1063 = array_instance Array[Object] */ +var1064 = 3; +var1065 = NEW_array__NativeArray(var1064, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var1065)->values[0] = (val*) var1055; +((struct instance_array__NativeArray*)var1065)->values[1] = (val*) var1057; +((struct instance_array__NativeArray*)var1065)->values[2] = (val*) var1062; { -((void (*)(val*, val*, long))(var1025->class->vft[COLOR_array__Array__with_native]))(var1025, var1027, var1026) /* with_native on */; +((void (*)(val*, val*, long))(var1063->class->vft[COLOR_array__Array__with_native]))(var1063, var1065, var1064) /* with_native on */; } } { -var1028 = ((val* (*)(val*))(var1025->class->vft[COLOR_string__Object__to_s]))(var1025) /* to_s on */; +var1066 = ((val* (*)(val*))(var1063->class->vft[COLOR_string__Object__to_s]))(var1063) /* to_s on */; } if (unlikely(var_ret == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1993); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2169); show_backtrace(1); } { -var1029 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var1028, var_ret); +var1067 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var1066, var_ret); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var1029); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var1067); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var1068 = 1; +var = var1068; goto RET_LABEL; } else { -if (varonce1030) { -var1031 = varonce1030; +if (varonce1069) { +var1070 = varonce1069; } else { -var1032 = ">="; -var1033 = 2; -var1034 = string__NativeString__to_s_with_length(var1032, var1033); -var1031 = var1034; -varonce1030 = var1031; +var1071 = ">="; +var1072 = 2; +var1073 = string__NativeString__to_s_with_length(var1071, var1072); +var1070 = var1073; +varonce1069 = var1070; } { -var1036 = string__FlatString___61d_61d(var_pname, var1031); -var1035 = var1036; +var1075 = string__FlatString___61d_61d(var_pname, var1070); +var1074 = var1075; } -if (var1035){ -var1037 = 0; +if (var1074){ +var1076 = 0; { -var1038 = array__Array___91d_93d(var_arguments, var1037); +var1077 = array__Array___91d_93d(var_arguments, var1076); } -if (varonce1039) { -var1040 = varonce1039; +if (varonce1078) { +var1079 = varonce1078; } else { -var1041 = " >= "; -var1042 = 4; -var1043 = string__NativeString__to_s_with_length(var1041, var1042); -var1040 = var1043; -varonce1039 = var1040; +var1080 = " >= "; +var1081 = 4; +var1082 = string__NativeString__to_s_with_length(var1080, var1081); +var1079 = var1082; +varonce1078 = var1079; } -var1044 = 1; +var1083 = 1; { -var1045 = array__Array___91d_93d(var_arguments, var1044); +var1084 = array__Array___91d_93d(var_arguments, var1083); } -var1046 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var1046 = array_instance Array[Object] */ -var1047 = 3; -var1048 = NEW_array__NativeArray(var1047, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var1048)->values[0] = (val*) var1038; -((struct instance_array__NativeArray*)var1048)->values[1] = (val*) var1040; -((struct instance_array__NativeArray*)var1048)->values[2] = (val*) var1045; +var1085 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var1085 = array_instance Array[Object] */ +var1086 = 3; +var1087 = NEW_array__NativeArray(var1086, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var1087)->values[0] = (val*) var1077; +((struct instance_array__NativeArray*)var1087)->values[1] = (val*) var1079; +((struct instance_array__NativeArray*)var1087)->values[2] = (val*) var1084; { -((void (*)(val*, val*, long))(var1046->class->vft[COLOR_array__Array__with_native]))(var1046, var1048, var1047) /* with_native on */; +((void (*)(val*, val*, long))(var1085->class->vft[COLOR_array__Array__with_native]))(var1085, var1087, var1086) /* with_native on */; } } { -var1049 = ((val* (*)(val*))(var1046->class->vft[COLOR_string__Object__to_s]))(var1046) /* to_s on */; +var1088 = ((val* (*)(val*))(var1085->class->vft[COLOR_string__Object__to_s]))(var1085) /* to_s on */; } if (unlikely(var_ret == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1996); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2172); show_backtrace(1); } { -var1050 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var1049, var_ret); +var1089 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var1088, var_ret); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var1050); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var1089); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var1090 = 1; +var = var1090; goto RET_LABEL; } else { -if (varonce1051) { -var1052 = varonce1051; +if (varonce1091) { +var1092 = varonce1091; } else { -var1053 = "to_i"; -var1054 = 4; -var1055 = string__NativeString__to_s_with_length(var1053, var1054); -var1052 = var1055; -varonce1051 = var1052; +var1093 = "to_i"; +var1094 = 4; +var1095 = string__NativeString__to_s_with_length(var1093, var1094); +var1092 = var1095; +varonce1091 = var1092; } { -var1057 = string__FlatString___61d_61d(var_pname, var1052); -var1056 = var1057; +var1097 = string__FlatString___61d_61d(var_pname, var1092); +var1096 = var1097; } -if (var1056){ -if (varonce1058) { -var1059 = varonce1058; +if (var1096){ +if (varonce1098) { +var1099 = varonce1098; } else { -var1060 = "(long)"; -var1061 = 6; -var1062 = string__NativeString__to_s_with_length(var1060, var1061); -var1059 = var1062; -varonce1058 = var1059; +var1100 = "(long)"; +var1101 = 6; +var1102 = string__NativeString__to_s_with_length(var1100, var1101); +var1099 = var1102; +varonce1098 = var1099; } -var1063 = 0; +var1103 = 0; { -var1064 = array__Array___91d_93d(var_arguments, var1063); +var1104 = array__Array___91d_93d(var_arguments, var1103); } -var1065 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var1065 = array_instance Array[Object] */ -var1066 = 2; -var1067 = NEW_array__NativeArray(var1066, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var1067)->values[0] = (val*) var1059; -((struct instance_array__NativeArray*)var1067)->values[1] = (val*) var1064; +var1105 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var1105 = array_instance Array[Object] */ +var1106 = 2; +var1107 = NEW_array__NativeArray(var1106, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var1107)->values[0] = (val*) var1099; +((struct instance_array__NativeArray*)var1107)->values[1] = (val*) var1104; { -((void (*)(val*, val*, long))(var1065->class->vft[COLOR_array__Array__with_native]))(var1065, var1067, var1066) /* with_native on */; +((void (*)(val*, val*, long))(var1105->class->vft[COLOR_array__Array__with_native]))(var1105, var1107, var1106) /* with_native on */; } } { -var1068 = ((val* (*)(val*))(var1065->class->vft[COLOR_string__Object__to_s]))(var1065) /* to_s on */; +var1108 = ((val* (*)(val*))(var1105->class->vft[COLOR_string__Object__to_s]))(var1105) /* to_s on */; } if (unlikely(var_ret == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1999); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2175); show_backtrace(1); } { -var1069 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var1068, var_ret); +var1109 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var1108, var_ret); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var1069); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var1109); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var1110 = 1; +var = var1110; goto RET_LABEL; } else { } @@ -4477,402 +4569,412 @@ goto RET_LABEL; } } } else { -if (varonce1070) { -var1071 = varonce1070; +if (varonce1111) { +var1112 = varonce1111; } else { -var1072 = "NativeString"; -var1073 = 12; -var1074 = string__NativeString__to_s_with_length(var1072, var1073); -var1071 = var1074; -varonce1070 = var1071; +var1113 = "NativeString"; +var1114 = 12; +var1115 = string__NativeString__to_s_with_length(var1113, var1114); +var1112 = var1115; +varonce1111 = var1112; } { -var1076 = string__FlatString___61d_61d(var_cname, var1071); -var1075 = var1076; +var1117 = string__FlatString___61d_61d(var_cname, var1112); +var1116 = var1117; } -if (var1075){ -if (varonce1077) { -var1078 = varonce1077; +if (var1116){ +if (varonce1118) { +var1119 = varonce1118; } else { -var1079 = "[]"; -var1080 = 2; -var1081 = string__NativeString__to_s_with_length(var1079, var1080); -var1078 = var1081; -varonce1077 = var1078; +var1120 = "[]"; +var1121 = 2; +var1122 = string__NativeString__to_s_with_length(var1120, var1121); +var1119 = var1122; +varonce1118 = var1119; } { -var1083 = string__FlatString___61d_61d(var_pname, var1078); -var1082 = var1083; +var1124 = string__FlatString___61d_61d(var_pname, var1119); +var1123 = var1124; } -if (var1082){ -var1084 = 0; +if (var1123){ +var1125 = 0; { -var1085 = array__Array___91d_93d(var_arguments, var1084); +var1126 = array__Array___91d_93d(var_arguments, var1125); } -if (varonce1086) { -var1087 = varonce1086; +if (varonce1127) { +var1128 = varonce1127; } else { -var1088 = "["; -var1089 = 1; -var1090 = string__NativeString__to_s_with_length(var1088, var1089); -var1087 = var1090; -varonce1086 = var1087; +var1129 = "["; +var1130 = 1; +var1131 = string__NativeString__to_s_with_length(var1129, var1130); +var1128 = var1131; +varonce1127 = var1128; } -var1091 = 1; +var1132 = 1; { -var1092 = array__Array___91d_93d(var_arguments, var1091); +var1133 = array__Array___91d_93d(var_arguments, var1132); } -if (varonce1093) { -var1094 = varonce1093; +if (varonce1134) { +var1135 = varonce1134; } else { -var1095 = "]"; -var1096 = 1; -var1097 = string__NativeString__to_s_with_length(var1095, var1096); -var1094 = var1097; -varonce1093 = var1094; +var1136 = "]"; +var1137 = 1; +var1138 = string__NativeString__to_s_with_length(var1136, var1137); +var1135 = var1138; +varonce1134 = var1135; } -var1098 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var1098 = array_instance Array[Object] */ -var1099 = 4; -var1100 = NEW_array__NativeArray(var1099, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var1100)->values[0] = (val*) var1085; -((struct instance_array__NativeArray*)var1100)->values[1] = (val*) var1087; -((struct instance_array__NativeArray*)var1100)->values[2] = (val*) var1092; -((struct instance_array__NativeArray*)var1100)->values[3] = (val*) var1094; +var1139 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var1139 = array_instance Array[Object] */ +var1140 = 4; +var1141 = NEW_array__NativeArray(var1140, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var1141)->values[0] = (val*) var1126; +((struct instance_array__NativeArray*)var1141)->values[1] = (val*) var1128; +((struct instance_array__NativeArray*)var1141)->values[2] = (val*) var1133; +((struct instance_array__NativeArray*)var1141)->values[3] = (val*) var1135; { -((void (*)(val*, val*, long))(var1098->class->vft[COLOR_array__Array__with_native]))(var1098, var1100, var1099) /* with_native on */; +((void (*)(val*, val*, long))(var1139->class->vft[COLOR_array__Array__with_native]))(var1139, var1141, var1140) /* with_native on */; } } { -var1101 = ((val* (*)(val*))(var1098->class->vft[COLOR_string__Object__to_s]))(var1098) /* to_s on */; +var1142 = ((val* (*)(val*))(var1139->class->vft[COLOR_string__Object__to_s]))(var1139) /* to_s on */; } if (unlikely(var_ret == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2004); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2180); show_backtrace(1); } { -var1102 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var1101, var_ret); +var1143 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var1142, var_ret); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var1102); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var1143); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var1144 = 1; +var = var1144; goto RET_LABEL; } else { -if (varonce1103) { -var1104 = varonce1103; +if (varonce1145) { +var1146 = varonce1145; } else { -var1105 = "[]="; -var1106 = 3; -var1107 = string__NativeString__to_s_with_length(var1105, var1106); -var1104 = var1107; -varonce1103 = var1104; +var1147 = "[]="; +var1148 = 3; +var1149 = string__NativeString__to_s_with_length(var1147, var1148); +var1146 = var1149; +varonce1145 = var1146; } { -var1109 = string__FlatString___61d_61d(var_pname, var1104); -var1108 = var1109; +var1151 = string__FlatString___61d_61d(var_pname, var1146); +var1150 = var1151; } -if (var1108){ -var1110 = 0; +if (var1150){ +var1152 = 0; { -var1111 = array__Array___91d_93d(var_arguments, var1110); +var1153 = array__Array___91d_93d(var_arguments, var1152); } -if (varonce1112) { -var1113 = varonce1112; +if (varonce1154) { +var1155 = varonce1154; } else { -var1114 = "["; -var1115 = 1; -var1116 = string__NativeString__to_s_with_length(var1114, var1115); -var1113 = var1116; -varonce1112 = var1113; +var1156 = "["; +var1157 = 1; +var1158 = string__NativeString__to_s_with_length(var1156, var1157); +var1155 = var1158; +varonce1154 = var1155; } -var1117 = 1; +var1159 = 1; { -var1118 = array__Array___91d_93d(var_arguments, var1117); +var1160 = array__Array___91d_93d(var_arguments, var1159); } -if (varonce1119) { -var1120 = varonce1119; +if (varonce1161) { +var1162 = varonce1161; } else { -var1121 = "]="; -var1122 = 2; -var1123 = string__NativeString__to_s_with_length(var1121, var1122); -var1120 = var1123; -varonce1119 = var1120; +var1163 = "]="; +var1164 = 2; +var1165 = string__NativeString__to_s_with_length(var1163, var1164); +var1162 = var1165; +varonce1161 = var1162; } -var1124 = 2; +var1166 = 2; { -var1125 = array__Array___91d_93d(var_arguments, var1124); +var1167 = array__Array___91d_93d(var_arguments, var1166); } -if (varonce1126) { -var1127 = varonce1126; +if (varonce1168) { +var1169 = varonce1168; } else { -var1128 = ";"; -var1129 = 1; -var1130 = string__NativeString__to_s_with_length(var1128, var1129); -var1127 = var1130; -varonce1126 = var1127; +var1170 = ";"; +var1171 = 1; +var1172 = string__NativeString__to_s_with_length(var1170, var1171); +var1169 = var1172; +varonce1168 = var1169; } -var1131 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var1131 = array_instance Array[Object] */ -var1132 = 6; -var1133 = NEW_array__NativeArray(var1132, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var1133)->values[0] = (val*) var1111; -((struct instance_array__NativeArray*)var1133)->values[1] = (val*) var1113; -((struct instance_array__NativeArray*)var1133)->values[2] = (val*) var1118; -((struct instance_array__NativeArray*)var1133)->values[3] = (val*) var1120; -((struct instance_array__NativeArray*)var1133)->values[4] = (val*) var1125; -((struct instance_array__NativeArray*)var1133)->values[5] = (val*) var1127; +var1173 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var1173 = array_instance Array[Object] */ +var1174 = 6; +var1175 = NEW_array__NativeArray(var1174, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var1175)->values[0] = (val*) var1153; +((struct instance_array__NativeArray*)var1175)->values[1] = (val*) var1155; +((struct instance_array__NativeArray*)var1175)->values[2] = (val*) var1160; +((struct instance_array__NativeArray*)var1175)->values[3] = (val*) var1162; +((struct instance_array__NativeArray*)var1175)->values[4] = (val*) var1167; +((struct instance_array__NativeArray*)var1175)->values[5] = (val*) var1169; { -((void (*)(val*, val*, long))(var1131->class->vft[COLOR_array__Array__with_native]))(var1131, var1133, var1132) /* with_native on */; +((void (*)(val*, val*, long))(var1173->class->vft[COLOR_array__Array__with_native]))(var1173, var1175, var1174) /* with_native on */; } } { -var1134 = ((val* (*)(val*))(var1131->class->vft[COLOR_string__Object__to_s]))(var1131) /* to_s on */; +var1176 = ((val* (*)(val*))(var1173->class->vft[COLOR_string__Object__to_s]))(var1173) /* to_s on */; } { -abstract_compiler__AbstractCompilerVisitor__add(var_v, var1134); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +abstract_compiler__AbstractCompilerVisitor__add(var_v, var1176); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } +var1177 = 1; +var = var1177; goto RET_LABEL; } else { -if (varonce1135) { -var1136 = varonce1135; +if (varonce1178) { +var1179 = varonce1178; } else { -var1137 = "copy_to"; -var1138 = 7; -var1139 = string__NativeString__to_s_with_length(var1137, var1138); -var1136 = var1139; -varonce1135 = var1136; +var1180 = "copy_to"; +var1181 = 7; +var1182 = string__NativeString__to_s_with_length(var1180, var1181); +var1179 = var1182; +varonce1178 = var1179; } { -var1141 = string__FlatString___61d_61d(var_pname, var1136); -var1140 = var1141; +var1184 = string__FlatString___61d_61d(var_pname, var1179); +var1183 = var1184; } -if (var1140){ -if (varonce1142) { -var1143 = varonce1142; +if (var1183){ +if (varonce1185) { +var1186 = varonce1185; } else { -var1144 = "memcpy("; -var1145 = 7; -var1146 = string__NativeString__to_s_with_length(var1144, var1145); -var1143 = var1146; -varonce1142 = var1143; +var1187 = "memmove("; +var1188 = 8; +var1189 = string__NativeString__to_s_with_length(var1187, var1188); +var1186 = var1189; +varonce1185 = var1186; } -var1147 = 1; +var1190 = 1; { -var1148 = array__Array___91d_93d(var_arguments, var1147); +var1191 = array__Array___91d_93d(var_arguments, var1190); } -if (varonce1149) { -var1150 = varonce1149; +if (varonce1192) { +var1193 = varonce1192; } else { -var1151 = "+"; -var1152 = 1; -var1153 = string__NativeString__to_s_with_length(var1151, var1152); -var1150 = var1153; -varonce1149 = var1150; +var1194 = "+"; +var1195 = 1; +var1196 = string__NativeString__to_s_with_length(var1194, var1195); +var1193 = var1196; +varonce1192 = var1193; } -var1154 = 4; +var1197 = 4; { -var1155 = array__Array___91d_93d(var_arguments, var1154); +var1198 = array__Array___91d_93d(var_arguments, var1197); } -if (varonce1156) { -var1157 = varonce1156; +if (varonce1199) { +var1200 = varonce1199; } else { -var1158 = ","; -var1159 = 1; -var1160 = string__NativeString__to_s_with_length(var1158, var1159); -var1157 = var1160; -varonce1156 = var1157; +var1201 = ","; +var1202 = 1; +var1203 = string__NativeString__to_s_with_length(var1201, var1202); +var1200 = var1203; +varonce1199 = var1200; } -var1161 = 0; +var1204 = 0; { -var1162 = array__Array___91d_93d(var_arguments, var1161); +var1205 = array__Array___91d_93d(var_arguments, var1204); } -if (varonce1163) { -var1164 = varonce1163; +if (varonce1206) { +var1207 = varonce1206; } else { -var1165 = "+"; -var1166 = 1; -var1167 = string__NativeString__to_s_with_length(var1165, var1166); -var1164 = var1167; -varonce1163 = var1164; +var1208 = "+"; +var1209 = 1; +var1210 = string__NativeString__to_s_with_length(var1208, var1209); +var1207 = var1210; +varonce1206 = var1207; } -var1168 = 3; +var1211 = 3; { -var1169 = array__Array___91d_93d(var_arguments, var1168); +var1212 = array__Array___91d_93d(var_arguments, var1211); } -if (varonce1170) { -var1171 = varonce1170; +if (varonce1213) { +var1214 = varonce1213; } else { -var1172 = ","; -var1173 = 1; -var1174 = string__NativeString__to_s_with_length(var1172, var1173); -var1171 = var1174; -varonce1170 = var1171; +var1215 = ","; +var1216 = 1; +var1217 = string__NativeString__to_s_with_length(var1215, var1216); +var1214 = var1217; +varonce1213 = var1214; } -var1175 = 2; +var1218 = 2; { -var1176 = array__Array___91d_93d(var_arguments, var1175); +var1219 = array__Array___91d_93d(var_arguments, var1218); } -if (varonce1177) { -var1178 = varonce1177; +if (varonce1220) { +var1221 = varonce1220; } else { -var1179 = ");"; -var1180 = 2; -var1181 = string__NativeString__to_s_with_length(var1179, var1180); -var1178 = var1181; -varonce1177 = var1178; +var1222 = ");"; +var1223 = 2; +var1224 = string__NativeString__to_s_with_length(var1222, var1223); +var1221 = var1224; +varonce1220 = var1221; } -var1182 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var1182 = array_instance Array[Object] */ -var1183 = 11; -var1184 = NEW_array__NativeArray(var1183, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var1184)->values[0] = (val*) var1143; -((struct instance_array__NativeArray*)var1184)->values[1] = (val*) var1148; -((struct instance_array__NativeArray*)var1184)->values[2] = (val*) var1150; -((struct instance_array__NativeArray*)var1184)->values[3] = (val*) var1155; -((struct instance_array__NativeArray*)var1184)->values[4] = (val*) var1157; -((struct instance_array__NativeArray*)var1184)->values[5] = (val*) var1162; -((struct instance_array__NativeArray*)var1184)->values[6] = (val*) var1164; -((struct instance_array__NativeArray*)var1184)->values[7] = (val*) var1169; -((struct instance_array__NativeArray*)var1184)->values[8] = (val*) var1171; -((struct instance_array__NativeArray*)var1184)->values[9] = (val*) var1176; -((struct instance_array__NativeArray*)var1184)->values[10] = (val*) var1178; +var1225 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var1225 = array_instance Array[Object] */ +var1226 = 11; +var1227 = NEW_array__NativeArray(var1226, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var1227)->values[0] = (val*) var1186; +((struct instance_array__NativeArray*)var1227)->values[1] = (val*) var1191; +((struct instance_array__NativeArray*)var1227)->values[2] = (val*) var1193; +((struct instance_array__NativeArray*)var1227)->values[3] = (val*) var1198; +((struct instance_array__NativeArray*)var1227)->values[4] = (val*) var1200; +((struct instance_array__NativeArray*)var1227)->values[5] = (val*) var1205; +((struct instance_array__NativeArray*)var1227)->values[6] = (val*) var1207; +((struct instance_array__NativeArray*)var1227)->values[7] = (val*) var1212; +((struct instance_array__NativeArray*)var1227)->values[8] = (val*) var1214; +((struct instance_array__NativeArray*)var1227)->values[9] = (val*) var1219; +((struct instance_array__NativeArray*)var1227)->values[10] = (val*) var1221; { -((void (*)(val*, val*, long))(var1182->class->vft[COLOR_array__Array__with_native]))(var1182, var1184, var1183) /* with_native on */; +((void (*)(val*, val*, long))(var1225->class->vft[COLOR_array__Array__with_native]))(var1225, var1227, var1226) /* with_native on */; } } { -var1185 = ((val* (*)(val*))(var1182->class->vft[COLOR_string__Object__to_s]))(var1182) /* to_s on */; +var1228 = ((val* (*)(val*))(var1225->class->vft[COLOR_string__Object__to_s]))(var1225) /* to_s on */; } { -abstract_compiler__AbstractCompilerVisitor__add(var_v, var1185); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +abstract_compiler__AbstractCompilerVisitor__add(var_v, var1228); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } +var1229 = 1; +var = var1229; goto RET_LABEL; } else { -if (varonce1186) { -var1187 = varonce1186; +if (varonce1230) { +var1231 = varonce1230; } else { -var1188 = "atoi"; -var1189 = 4; -var1190 = string__NativeString__to_s_with_length(var1188, var1189); -var1187 = var1190; -varonce1186 = var1187; +var1232 = "atoi"; +var1233 = 4; +var1234 = string__NativeString__to_s_with_length(var1232, var1233); +var1231 = var1234; +varonce1230 = var1231; } { -var1192 = string__FlatString___61d_61d(var_pname, var1187); -var1191 = var1192; +var1236 = string__FlatString___61d_61d(var_pname, var1231); +var1235 = var1236; } -if (var1191){ -if (varonce1193) { -var1194 = varonce1193; +if (var1235){ +if (varonce1237) { +var1238 = varonce1237; } else { -var1195 = "atoi("; -var1196 = 5; -var1197 = string__NativeString__to_s_with_length(var1195, var1196); -var1194 = var1197; -varonce1193 = var1194; +var1239 = "atoi("; +var1240 = 5; +var1241 = string__NativeString__to_s_with_length(var1239, var1240); +var1238 = var1241; +varonce1237 = var1238; } -var1198 = 0; +var1242 = 0; { -var1199 = array__Array___91d_93d(var_arguments, var1198); +var1243 = array__Array___91d_93d(var_arguments, var1242); } -if (varonce1200) { -var1201 = varonce1200; +if (varonce1244) { +var1245 = varonce1244; } else { -var1202 = ");"; -var1203 = 2; -var1204 = string__NativeString__to_s_with_length(var1202, var1203); -var1201 = var1204; -varonce1200 = var1201; +var1246 = ");"; +var1247 = 2; +var1248 = string__NativeString__to_s_with_length(var1246, var1247); +var1245 = var1248; +varonce1244 = var1245; } -var1205 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var1205 = array_instance Array[Object] */ -var1206 = 3; -var1207 = NEW_array__NativeArray(var1206, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var1207)->values[0] = (val*) var1194; -((struct instance_array__NativeArray*)var1207)->values[1] = (val*) var1199; -((struct instance_array__NativeArray*)var1207)->values[2] = (val*) var1201; +var1249 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var1249 = array_instance Array[Object] */ +var1250 = 3; +var1251 = NEW_array__NativeArray(var1250, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var1251)->values[0] = (val*) var1238; +((struct instance_array__NativeArray*)var1251)->values[1] = (val*) var1243; +((struct instance_array__NativeArray*)var1251)->values[2] = (val*) var1245; { -((void (*)(val*, val*, long))(var1205->class->vft[COLOR_array__Array__with_native]))(var1205, var1207, var1206) /* with_native on */; +((void (*)(val*, val*, long))(var1249->class->vft[COLOR_array__Array__with_native]))(var1249, var1251, var1250) /* with_native on */; } } { -var1208 = ((val* (*)(val*))(var1205->class->vft[COLOR_string__Object__to_s]))(var1205) /* to_s on */; +var1252 = ((val* (*)(val*))(var1249->class->vft[COLOR_string__Object__to_s]))(var1249) /* to_s on */; } if (unlikely(var_ret == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2013); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2189); show_backtrace(1); } { -var1209 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var1208, var_ret); +var1253 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var1252, var_ret); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var1209); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var1253); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var1254 = 1; +var = var1254; goto RET_LABEL; } else { -if (varonce1210) { -var1211 = varonce1210; +if (varonce1255) { +var1256 = varonce1255; } else { -var1212 = "init"; -var1213 = 4; -var1214 = string__NativeString__to_s_with_length(var1212, var1213); -var1211 = var1214; -varonce1210 = var1211; +var1257 = "new"; +var1258 = 3; +var1259 = string__NativeString__to_s_with_length(var1257, var1258); +var1256 = var1259; +varonce1255 = var1256; } { -var1216 = string__FlatString___61d_61d(var_pname, var1211); -var1215 = var1216; +var1261 = string__FlatString___61d_61d(var_pname, var1256); +var1260 = var1261; } -if (var1215){ -if (varonce1217) { -var1218 = varonce1217; +if (var1260){ +if (varonce1262) { +var1263 = varonce1262; } else { -var1219 = "(char*)nit_alloc("; -var1220 = 17; -var1221 = string__NativeString__to_s_with_length(var1219, var1220); -var1218 = var1221; -varonce1217 = var1218; +var1264 = "(char*)nit_alloc("; +var1265 = 17; +var1266 = string__NativeString__to_s_with_length(var1264, var1265); +var1263 = var1266; +varonce1262 = var1263; } -var1222 = 1; +var1267 = 1; { -var1223 = array__Array___91d_93d(var_arguments, var1222); +var1268 = array__Array___91d_93d(var_arguments, var1267); } -if (varonce1224) { -var1225 = varonce1224; +if (varonce1269) { +var1270 = varonce1269; } else { -var1226 = ")"; -var1227 = 1; -var1228 = string__NativeString__to_s_with_length(var1226, var1227); -var1225 = var1228; -varonce1224 = var1225; +var1271 = ")"; +var1272 = 1; +var1273 = string__NativeString__to_s_with_length(var1271, var1272); +var1270 = var1273; +varonce1269 = var1270; } -var1229 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var1229 = array_instance Array[Object] */ -var1230 = 3; -var1231 = NEW_array__NativeArray(var1230, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var1231)->values[0] = (val*) var1218; -((struct instance_array__NativeArray*)var1231)->values[1] = (val*) var1223; -((struct instance_array__NativeArray*)var1231)->values[2] = (val*) var1225; +var1274 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var1274 = array_instance Array[Object] */ +var1275 = 3; +var1276 = NEW_array__NativeArray(var1275, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var1276)->values[0] = (val*) var1263; +((struct instance_array__NativeArray*)var1276)->values[1] = (val*) var1268; +((struct instance_array__NativeArray*)var1276)->values[2] = (val*) var1270; { -((void (*)(val*, val*, long))(var1229->class->vft[COLOR_array__Array__with_native]))(var1229, var1231, var1230) /* with_native on */; +((void (*)(val*, val*, long))(var1274->class->vft[COLOR_array__Array__with_native]))(var1274, var1276, var1275) /* with_native on */; } } { -var1232 = ((val* (*)(val*))(var1229->class->vft[COLOR_string__Object__to_s]))(var1229) /* to_s on */; +var1277 = ((val* (*)(val*))(var1274->class->vft[COLOR_string__Object__to_s]))(var1274) /* to_s on */; } if (unlikely(var_ret == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2016); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2192); show_backtrace(1); } { -var1233 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var1232, var_ret); +var1278 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var1277, var_ret); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var1233); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var1278); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var1279 = 1; +var = var1279; goto RET_LABEL; } else { } @@ -4881,23 +4983,25 @@ goto RET_LABEL; } } } else { -if (varonce1234) { -var1235 = varonce1234; +if (varonce1280) { +var1281 = varonce1280; } else { -var1236 = "NativeArray"; -var1237 = 11; -var1238 = string__NativeString__to_s_with_length(var1236, var1237); -var1235 = var1238; -varonce1234 = var1235; +var1282 = "NativeArray"; +var1283 = 11; +var1284 = string__NativeString__to_s_with_length(var1282, var1283); +var1281 = var1284; +varonce1280 = var1281; } { -var1240 = string__FlatString___61d_61d(var_cname, var1235); -var1239 = var1240; +var1286 = string__FlatString___61d_61d(var_cname, var1281); +var1285 = var1286; } -if (var1239){ +if (var1285){ { separate_compiler__SeparateCompilerVisitor__native_array_def(var_v, var_pname, var_ret, var_arguments); /* Direct call separate_compiler#SeparateCompilerVisitor#native_array_def on */ } +var1287 = 1; +var = var1287; goto RET_LABEL; } else { } @@ -4906,535 +5010,559 @@ goto RET_LABEL; } } } -if (varonce1241) { -var1242 = varonce1241; +if (varonce1288) { +var1289 = varonce1288; } else { -var1243 = "exit"; -var1244 = 4; -var1245 = string__NativeString__to_s_with_length(var1243, var1244); -var1242 = var1245; -varonce1241 = var1242; +var1290 = "exit"; +var1291 = 4; +var1292 = string__NativeString__to_s_with_length(var1290, var1291); +var1289 = var1292; +varonce1288 = var1289; } { -var1247 = string__FlatString___61d_61d(var_pname, var1242); -var1246 = var1247; +var1294 = string__FlatString___61d_61d(var_pname, var1289); +var1293 = var1294; } -if (var1246){ -if (varonce1248) { -var1249 = varonce1248; +if (var1293){ +if (varonce1295) { +var1296 = varonce1295; } else { -var1250 = "exit("; -var1251 = 5; -var1252 = string__NativeString__to_s_with_length(var1250, var1251); -var1249 = var1252; -varonce1248 = var1249; +var1297 = "exit("; +var1298 = 5; +var1299 = string__NativeString__to_s_with_length(var1297, var1298); +var1296 = var1299; +varonce1295 = var1296; } -var1253 = 1; +var1300 = 1; { -var1254 = array__Array___91d_93d(var_arguments, var1253); +var1301 = array__Array___91d_93d(var_arguments, var1300); } -if (varonce1255) { -var1256 = varonce1255; +if (varonce1302) { +var1303 = varonce1302; } else { -var1257 = ");"; -var1258 = 2; -var1259 = string__NativeString__to_s_with_length(var1257, var1258); -var1256 = var1259; -varonce1255 = var1256; +var1304 = ");"; +var1305 = 2; +var1306 = string__NativeString__to_s_with_length(var1304, var1305); +var1303 = var1306; +varonce1302 = var1303; } -var1260 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var1260 = array_instance Array[Object] */ -var1261 = 3; -var1262 = NEW_array__NativeArray(var1261, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var1262)->values[0] = (val*) var1249; -((struct instance_array__NativeArray*)var1262)->values[1] = (val*) var1254; -((struct instance_array__NativeArray*)var1262)->values[2] = (val*) var1256; +var1307 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var1307 = array_instance Array[Object] */ +var1308 = 3; +var1309 = NEW_array__NativeArray(var1308, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var1309)->values[0] = (val*) var1296; +((struct instance_array__NativeArray*)var1309)->values[1] = (val*) var1301; +((struct instance_array__NativeArray*)var1309)->values[2] = (val*) var1303; { -((void (*)(val*, val*, long))(var1260->class->vft[COLOR_array__Array__with_native]))(var1260, var1262, var1261) /* with_native on */; +((void (*)(val*, val*, long))(var1307->class->vft[COLOR_array__Array__with_native]))(var1307, var1309, var1308) /* with_native on */; } } { -var1263 = ((val* (*)(val*))(var1260->class->vft[COLOR_string__Object__to_s]))(var1260) /* to_s on */; +var1310 = ((val* (*)(val*))(var1307->class->vft[COLOR_string__Object__to_s]))(var1307) /* to_s on */; } { -abstract_compiler__AbstractCompilerVisitor__add(var_v, var1263); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +abstract_compiler__AbstractCompilerVisitor__add(var_v, var1310); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } +var1311 = 1; +var = var1311; goto RET_LABEL; } else { -if (varonce1264) { -var1265 = varonce1264; +if (varonce1312) { +var1313 = varonce1312; } else { -var1266 = "sys"; -var1267 = 3; -var1268 = string__NativeString__to_s_with_length(var1266, var1267); -var1265 = var1268; -varonce1264 = var1265; +var1314 = "sys"; +var1315 = 3; +var1316 = string__NativeString__to_s_with_length(var1314, var1315); +var1313 = var1316; +varonce1312 = var1313; } { -var1270 = string__FlatString___61d_61d(var_pname, var1265); -var1269 = var1270; +var1318 = string__FlatString___61d_61d(var_pname, var1313); +var1317 = var1318; } -if (var1269){ -if (varonce1271) { -var1272 = varonce1271; +if (var1317){ +if (varonce1319) { +var1320 = varonce1319; } else { -var1273 = "glob_sys"; -var1274 = 8; -var1275 = string__NativeString__to_s_with_length(var1273, var1274); -var1272 = var1275; -varonce1271 = var1272; +var1321 = "glob_sys"; +var1322 = 8; +var1323 = string__NativeString__to_s_with_length(var1321, var1322); +var1320 = var1323; +varonce1319 = var1320; } if (unlikely(var_ret == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2027); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2203); show_backtrace(1); } { -var1276 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var1272, var_ret); +var1324 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var1320, var_ret); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var1276); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var1324); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var1325 = 1; +var = var1325; goto RET_LABEL; } else { -if (varonce1277) { -var1278 = varonce1277; +if (varonce1326) { +var1327 = varonce1326; } else { -var1279 = "calloc_string"; -var1280 = 13; -var1281 = string__NativeString__to_s_with_length(var1279, var1280); -var1278 = var1281; -varonce1277 = var1278; +var1328 = "calloc_string"; +var1329 = 13; +var1330 = string__NativeString__to_s_with_length(var1328, var1329); +var1327 = var1330; +varonce1326 = var1327; } { -var1283 = string__FlatString___61d_61d(var_pname, var1278); -var1282 = var1283; +var1332 = string__FlatString___61d_61d(var_pname, var1327); +var1331 = var1332; } -if (var1282){ -if (varonce1284) { -var1285 = varonce1284; +if (var1331){ +if (varonce1333) { +var1334 = varonce1333; } else { -var1286 = "(char*)nit_alloc("; -var1287 = 17; -var1288 = string__NativeString__to_s_with_length(var1286, var1287); -var1285 = var1288; -varonce1284 = var1285; +var1335 = "(char*)nit_alloc("; +var1336 = 17; +var1337 = string__NativeString__to_s_with_length(var1335, var1336); +var1334 = var1337; +varonce1333 = var1334; } -var1289 = 1; +var1338 = 1; { -var1290 = array__Array___91d_93d(var_arguments, var1289); +var1339 = array__Array___91d_93d(var_arguments, var1338); } -if (varonce1291) { -var1292 = varonce1291; +if (varonce1340) { +var1341 = varonce1340; } else { -var1293 = ")"; -var1294 = 1; -var1295 = string__NativeString__to_s_with_length(var1293, var1294); -var1292 = var1295; -varonce1291 = var1292; +var1342 = ")"; +var1343 = 1; +var1344 = string__NativeString__to_s_with_length(var1342, var1343); +var1341 = var1344; +varonce1340 = var1341; } -var1296 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var1296 = array_instance Array[Object] */ -var1297 = 3; -var1298 = NEW_array__NativeArray(var1297, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var1298)->values[0] = (val*) var1285; -((struct instance_array__NativeArray*)var1298)->values[1] = (val*) var1290; -((struct instance_array__NativeArray*)var1298)->values[2] = (val*) var1292; +var1345 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var1345 = array_instance Array[Object] */ +var1346 = 3; +var1347 = NEW_array__NativeArray(var1346, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var1347)->values[0] = (val*) var1334; +((struct instance_array__NativeArray*)var1347)->values[1] = (val*) var1339; +((struct instance_array__NativeArray*)var1347)->values[2] = (val*) var1341; { -((void (*)(val*, val*, long))(var1296->class->vft[COLOR_array__Array__with_native]))(var1296, var1298, var1297) /* with_native on */; +((void (*)(val*, val*, long))(var1345->class->vft[COLOR_array__Array__with_native]))(var1345, var1347, var1346) /* with_native on */; } } { -var1299 = ((val* (*)(val*))(var1296->class->vft[COLOR_string__Object__to_s]))(var1296) /* to_s on */; +var1348 = ((val* (*)(val*))(var1345->class->vft[COLOR_string__Object__to_s]))(var1345) /* to_s on */; } if (unlikely(var_ret == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2030); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2206); show_backtrace(1); } { -var1300 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var1299, var_ret); +var1349 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var1348, var_ret); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var1300); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var1349); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var1350 = 1; +var = var1350; goto RET_LABEL; } else { -if (varonce1301) { -var1302 = varonce1301; +if (varonce1351) { +var1352 = varonce1351; } else { -var1303 = "calloc_array"; -var1304 = 12; -var1305 = string__NativeString__to_s_with_length(var1303, var1304); -var1302 = var1305; -varonce1301 = var1302; +var1353 = "calloc_array"; +var1354 = 12; +var1355 = string__NativeString__to_s_with_length(var1353, var1354); +var1352 = var1355; +varonce1351 = var1352; } { -var1307 = string__FlatString___61d_61d(var_pname, var1302); -var1306 = var1307; +var1357 = string__FlatString___61d_61d(var_pname, var1352); +var1356 = var1357; } -if (var1306){ +if (var1356){ if (unlikely(var_ret == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2033); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2209); show_backtrace(1); } { ((void (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__calloc_array]))(var_v, var_ret, var_arguments) /* calloc_array on */; } +var1358 = 1; +var = var1358; goto RET_LABEL; } else { -if (varonce1308) { -var1309 = varonce1308; +if (varonce1359) { +var1360 = varonce1359; } else { -var1310 = "object_id"; -var1311 = 9; -var1312 = string__NativeString__to_s_with_length(var1310, var1311); -var1309 = var1312; -varonce1308 = var1309; +var1361 = "object_id"; +var1362 = 9; +var1363 = string__NativeString__to_s_with_length(var1361, var1362); +var1360 = var1363; +varonce1359 = var1360; } { -var1314 = string__FlatString___61d_61d(var_pname, var1309); -var1313 = var1314; +var1365 = string__FlatString___61d_61d(var_pname, var1360); +var1364 = var1365; } -if (var1313){ -if (varonce1315) { -var1316 = varonce1315; +if (var1364){ +if (varonce1366) { +var1367 = varonce1366; } else { -var1317 = "(long)"; -var1318 = 6; -var1319 = string__NativeString__to_s_with_length(var1317, var1318); -var1316 = var1319; -varonce1315 = var1316; +var1368 = "(long)"; +var1369 = 6; +var1370 = string__NativeString__to_s_with_length(var1368, var1369); +var1367 = var1370; +varonce1366 = var1367; } { -var1320 = abstract_collection__SequenceRead__first(var_arguments); +var1371 = abstract_collection__SequenceRead__first(var_arguments); } -var1321 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var1321 = array_instance Array[Object] */ -var1322 = 2; -var1323 = NEW_array__NativeArray(var1322, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var1323)->values[0] = (val*) var1316; -((struct instance_array__NativeArray*)var1323)->values[1] = (val*) var1320; +var1372 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var1372 = array_instance Array[Object] */ +var1373 = 2; +var1374 = NEW_array__NativeArray(var1373, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var1374)->values[0] = (val*) var1367; +((struct instance_array__NativeArray*)var1374)->values[1] = (val*) var1371; { -((void (*)(val*, val*, long))(var1321->class->vft[COLOR_array__Array__with_native]))(var1321, var1323, var1322) /* with_native on */; +((void (*)(val*, val*, long))(var1372->class->vft[COLOR_array__Array__with_native]))(var1372, var1374, var1373) /* with_native on */; } } { -var1324 = ((val* (*)(val*))(var1321->class->vft[COLOR_string__Object__to_s]))(var1321) /* to_s on */; +var1375 = ((val* (*)(val*))(var1372->class->vft[COLOR_string__Object__to_s]))(var1372) /* to_s on */; } if (unlikely(var_ret == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2036); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2212); show_backtrace(1); } { -var1325 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var1324, var_ret); +var1376 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var1375, var_ret); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var1325); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var1376); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var1377 = 1; +var = var1377; goto RET_LABEL; } else { -if (varonce1326) { -var1327 = varonce1326; +if (varonce1378) { +var1379 = varonce1378; } else { -var1328 = "is_same_type"; -var1329 = 12; -var1330 = string__NativeString__to_s_with_length(var1328, var1329); -var1327 = var1330; -varonce1326 = var1327; +var1380 = "is_same_type"; +var1381 = 12; +var1382 = string__NativeString__to_s_with_length(var1380, var1381); +var1379 = var1382; +varonce1378 = var1379; } { -var1332 = string__FlatString___61d_61d(var_pname, var1327); -var1331 = var1332; +var1384 = string__FlatString___61d_61d(var_pname, var1379); +var1383 = var1384; } -if (var1331){ -var1333 = 0; +if (var1383){ +var1385 = 0; { -var1334 = array__Array___91d_93d(var_arguments, var1333); +var1386 = array__Array___91d_93d(var_arguments, var1385); } -var1335 = 1; +var1387 = 1; { -var1336 = array__Array___91d_93d(var_arguments, var1335); +var1388 = array__Array___91d_93d(var_arguments, var1387); } { -var1337 = separate_compiler__SeparateCompilerVisitor__is_same_type_test(var_v, var1334, var1336); +var1389 = separate_compiler__SeparateCompilerVisitor__is_same_type_test(var_v, var1386, var1388); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var1337); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var1389); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var1390 = 1; +var = var1390; goto RET_LABEL; } else { -if (varonce1338) { -var1339 = varonce1338; +if (varonce1391) { +var1392 = varonce1391; } else { -var1340 = "is_same_instance"; -var1341 = 16; -var1342 = string__NativeString__to_s_with_length(var1340, var1341); -var1339 = var1342; -varonce1338 = var1339; +var1393 = "is_same_instance"; +var1394 = 16; +var1395 = string__NativeString__to_s_with_length(var1393, var1394); +var1392 = var1395; +varonce1391 = var1392; } { -var1344 = string__FlatString___61d_61d(var_pname, var1339); -var1343 = var1344; +var1397 = string__FlatString___61d_61d(var_pname, var1392); +var1396 = var1397; } -if (var1343){ -var1345 = 0; +if (var1396){ +var1398 = 0; { -var1346 = array__Array___91d_93d(var_arguments, var1345); +var1399 = array__Array___91d_93d(var_arguments, var1398); } -var1347 = 1; +var1400 = 1; { -var1348 = array__Array___91d_93d(var_arguments, var1347); +var1401 = array__Array___91d_93d(var_arguments, var1400); } { -var1349 = separate_compiler__SeparateCompilerVisitor__equal_test(var_v, var1346, var1348); +var1402 = separate_compiler__SeparateCompilerVisitor__equal_test(var_v, var1399, var1401); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var1349); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var1402); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var1403 = 1; +var = var1403; goto RET_LABEL; } else { -if (varonce1350) { -var1351 = varonce1350; +if (varonce1404) { +var1405 = varonce1404; } else { -var1352 = "output_class_name"; -var1353 = 17; -var1354 = string__NativeString__to_s_with_length(var1352, var1353); -var1351 = var1354; -varonce1350 = var1351; +var1406 = "output_class_name"; +var1407 = 17; +var1408 = string__NativeString__to_s_with_length(var1406, var1407); +var1405 = var1408; +varonce1404 = var1405; } { -var1356 = string__FlatString___61d_61d(var_pname, var1351); -var1355 = var1356; +var1410 = string__FlatString___61d_61d(var_pname, var1405); +var1409 = var1410; } -if (var1355){ +if (var1409){ { -var1357 = abstract_collection__SequenceRead__first(var_arguments); +var1411 = abstract_collection__SequenceRead__first(var_arguments); } { -var1358 = ((val* (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__class_name_string]))(var_v, var1357) /* class_name_string on */; +var1412 = ((val* (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__class_name_string]))(var_v, var1411) /* class_name_string on */; } -var_nat = var1358; -if (varonce1359) { -var1360 = varonce1359; +var_nat = var1412; +if (varonce1413) { +var1414 = varonce1413; } else { -var1361 = "printf(\"%s\\n\", "; -var1362 = 15; -var1363 = string__NativeString__to_s_with_length(var1361, var1362); -var1360 = var1363; -varonce1359 = var1360; +var1415 = "printf(\"%s\\n\", "; +var1416 = 15; +var1417 = string__NativeString__to_s_with_length(var1415, var1416); +var1414 = var1417; +varonce1413 = var1414; } -if (varonce1364) { -var1365 = varonce1364; +if (varonce1418) { +var1419 = varonce1418; } else { -var1366 = ");"; -var1367 = 2; -var1368 = string__NativeString__to_s_with_length(var1366, var1367); -var1365 = var1368; -varonce1364 = var1365; +var1420 = ");"; +var1421 = 2; +var1422 = string__NativeString__to_s_with_length(var1420, var1421); +var1419 = var1422; +varonce1418 = var1419; } -var1369 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var1369 = array_instance Array[Object] */ -var1370 = 3; -var1371 = NEW_array__NativeArray(var1370, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var1371)->values[0] = (val*) var1360; -((struct instance_array__NativeArray*)var1371)->values[1] = (val*) var_nat; -((struct instance_array__NativeArray*)var1371)->values[2] = (val*) var1365; +var1423 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var1423 = array_instance Array[Object] */ +var1424 = 3; +var1425 = NEW_array__NativeArray(var1424, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var1425)->values[0] = (val*) var1414; +((struct instance_array__NativeArray*)var1425)->values[1] = (val*) var_nat; +((struct instance_array__NativeArray*)var1425)->values[2] = (val*) var1419; { -((void (*)(val*, val*, long))(var1369->class->vft[COLOR_array__Array__with_native]))(var1369, var1371, var1370) /* with_native on */; +((void (*)(val*, val*, long))(var1423->class->vft[COLOR_array__Array__with_native]))(var1423, var1425, var1424) /* with_native on */; } } { -var1372 = ((val* (*)(val*))(var1369->class->vft[COLOR_string__Object__to_s]))(var1369) /* to_s on */; +var1426 = ((val* (*)(val*))(var1423->class->vft[COLOR_string__Object__to_s]))(var1423) /* to_s on */; } { -abstract_compiler__AbstractCompilerVisitor__add(var_v, var1372); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +abstract_compiler__AbstractCompilerVisitor__add(var_v, var1426); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } +var1427 = 1; +var = var1427; goto RET_LABEL; } else { -if (varonce1373) { -var1374 = varonce1373; +if (varonce1428) { +var1429 = varonce1428; } else { -var1375 = "native_class_name"; -var1376 = 17; -var1377 = string__NativeString__to_s_with_length(var1375, var1376); -var1374 = var1377; -varonce1373 = var1374; +var1430 = "native_class_name"; +var1431 = 17; +var1432 = string__NativeString__to_s_with_length(var1430, var1431); +var1429 = var1432; +varonce1428 = var1429; } { -var1379 = string__FlatString___61d_61d(var_pname, var1374); -var1378 = var1379; +var1434 = string__FlatString___61d_61d(var_pname, var1429); +var1433 = var1434; } -if (var1378){ +if (var1433){ { -var1380 = abstract_collection__SequenceRead__first(var_arguments); +var1435 = abstract_collection__SequenceRead__first(var_arguments); } { -var1381 = ((val* (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__class_name_string]))(var_v, var1380) /* class_name_string on */; +var1436 = ((val* (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__class_name_string]))(var_v, var1435) /* class_name_string on */; } -var_nat1382 = var1381; -if (varonce1383) { -var1384 = varonce1383; +var_nat1437 = var1436; +if (varonce1438) { +var1439 = varonce1438; } else { -var1385 = "(char*)"; -var1386 = 7; -var1387 = string__NativeString__to_s_with_length(var1385, var1386); -var1384 = var1387; -varonce1383 = var1384; +var1440 = "(char*)"; +var1441 = 7; +var1442 = string__NativeString__to_s_with_length(var1440, var1441); +var1439 = var1442; +varonce1438 = var1439; } -var1388 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var1388 = array_instance Array[Object] */ -var1389 = 2; -var1390 = NEW_array__NativeArray(var1389, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var1390)->values[0] = (val*) var1384; -((struct instance_array__NativeArray*)var1390)->values[1] = (val*) var_nat1382; +var1443 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var1443 = array_instance Array[Object] */ +var1444 = 2; +var1445 = NEW_array__NativeArray(var1444, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var1445)->values[0] = (val*) var1439; +((struct instance_array__NativeArray*)var1445)->values[1] = (val*) var_nat1437; { -((void (*)(val*, val*, long))(var1388->class->vft[COLOR_array__Array__with_native]))(var1388, var1390, var1389) /* with_native on */; +((void (*)(val*, val*, long))(var1443->class->vft[COLOR_array__Array__with_native]))(var1443, var1445, var1444) /* with_native on */; } } { -var1391 = ((val* (*)(val*))(var1388->class->vft[COLOR_string__Object__to_s]))(var1388) /* to_s on */; +var1446 = ((val* (*)(val*))(var1443->class->vft[COLOR_string__Object__to_s]))(var1443) /* to_s on */; } if (unlikely(var_ret == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2050); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2226); show_backtrace(1); } { -var1392 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var1391, var_ret); +var1447 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var1446, var_ret); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var1392); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var1447); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var1448 = 1; +var = var1448; goto RET_LABEL; } else { -if (varonce1393) { -var1394 = varonce1393; +if (varonce1449) { +var1450 = varonce1449; } else { -var1395 = "force_garbage_collection"; -var1396 = 24; -var1397 = string__NativeString__to_s_with_length(var1395, var1396); -var1394 = var1397; -varonce1393 = var1394; +var1451 = "force_garbage_collection"; +var1452 = 24; +var1453 = string__NativeString__to_s_with_length(var1451, var1452); +var1450 = var1453; +varonce1449 = var1450; } { -var1399 = string__FlatString___61d_61d(var_pname, var1394); -var1398 = var1399; +var1455 = string__FlatString___61d_61d(var_pname, var1450); +var1454 = var1455; } -if (var1398){ -if (varonce1400) { -var1401 = varonce1400; +if (var1454){ +if (varonce1456) { +var1457 = varonce1456; } else { -var1402 = "nit_gcollect();"; -var1403 = 15; -var1404 = string__NativeString__to_s_with_length(var1402, var1403); -var1401 = var1404; -varonce1400 = var1401; +var1458 = "nit_gcollect();"; +var1459 = 15; +var1460 = string__NativeString__to_s_with_length(var1458, var1459); +var1457 = var1460; +varonce1456 = var1457; } { -abstract_compiler__AbstractCompilerVisitor__add(var_v, var1401); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +abstract_compiler__AbstractCompilerVisitor__add(var_v, var1457); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } +var1461 = 1; +var = var1461; goto RET_LABEL; } else { -if (varonce1405) { -var1406 = varonce1405; +if (varonce1462) { +var1463 = varonce1462; } else { -var1407 = "native_argc"; -var1408 = 11; -var1409 = string__NativeString__to_s_with_length(var1407, var1408); -var1406 = var1409; -varonce1405 = var1406; +var1464 = "native_argc"; +var1465 = 11; +var1466 = string__NativeString__to_s_with_length(var1464, var1465); +var1463 = var1466; +varonce1462 = var1463; } { -var1411 = string__FlatString___61d_61d(var_pname, var1406); -var1410 = var1411; +var1468 = string__FlatString___61d_61d(var_pname, var1463); +var1467 = var1468; } -if (var1410){ -if (varonce1412) { -var1413 = varonce1412; +if (var1467){ +if (varonce1469) { +var1470 = varonce1469; } else { -var1414 = "glob_argc"; -var1415 = 9; -var1416 = string__NativeString__to_s_with_length(var1414, var1415); -var1413 = var1416; -varonce1412 = var1413; +var1471 = "glob_argc"; +var1472 = 9; +var1473 = string__NativeString__to_s_with_length(var1471, var1472); +var1470 = var1473; +varonce1469 = var1470; } if (unlikely(var_ret == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2056); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2232); show_backtrace(1); } { -var1417 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var1413, var_ret); +var1474 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var1470, var_ret); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var1417); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var1474); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var1475 = 1; +var = var1475; goto RET_LABEL; } else { -if (varonce1418) { -var1419 = varonce1418; +if (varonce1476) { +var1477 = varonce1476; } else { -var1420 = "native_argv"; -var1421 = 11; -var1422 = string__NativeString__to_s_with_length(var1420, var1421); -var1419 = var1422; -varonce1418 = var1419; +var1478 = "native_argv"; +var1479 = 11; +var1480 = string__NativeString__to_s_with_length(var1478, var1479); +var1477 = var1480; +varonce1476 = var1477; } { -var1424 = string__FlatString___61d_61d(var_pname, var1419); -var1423 = var1424; +var1482 = string__FlatString___61d_61d(var_pname, var1477); +var1481 = var1482; } -if (var1423){ -if (varonce1425) { -var1426 = varonce1425; +if (var1481){ +if (varonce1483) { +var1484 = varonce1483; } else { -var1427 = "glob_argv["; -var1428 = 10; -var1429 = string__NativeString__to_s_with_length(var1427, var1428); -var1426 = var1429; -varonce1425 = var1426; +var1485 = "glob_argv["; +var1486 = 10; +var1487 = string__NativeString__to_s_with_length(var1485, var1486); +var1484 = var1487; +varonce1483 = var1484; } -var1430 = 1; +var1488 = 1; { -var1431 = array__Array___91d_93d(var_arguments, var1430); +var1489 = array__Array___91d_93d(var_arguments, var1488); } -if (varonce1432) { -var1433 = varonce1432; +if (varonce1490) { +var1491 = varonce1490; } else { -var1434 = "]"; -var1435 = 1; -var1436 = string__NativeString__to_s_with_length(var1434, var1435); -var1433 = var1436; -varonce1432 = var1433; +var1492 = "]"; +var1493 = 1; +var1494 = string__NativeString__to_s_with_length(var1492, var1493); +var1491 = var1494; +varonce1490 = var1491; } -var1437 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var1437 = array_instance Array[Object] */ -var1438 = 3; -var1439 = NEW_array__NativeArray(var1438, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var1439)->values[0] = (val*) var1426; -((struct instance_array__NativeArray*)var1439)->values[1] = (val*) var1431; -((struct instance_array__NativeArray*)var1439)->values[2] = (val*) var1433; +var1495 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var1495 = array_instance Array[Object] */ +var1496 = 3; +var1497 = NEW_array__NativeArray(var1496, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var1497)->values[0] = (val*) var1484; +((struct instance_array__NativeArray*)var1497)->values[1] = (val*) var1489; +((struct instance_array__NativeArray*)var1497)->values[2] = (val*) var1491; { -((void (*)(val*, val*, long))(var1437->class->vft[COLOR_array__Array__with_native]))(var1437, var1439, var1438) /* with_native on */; +((void (*)(val*, val*, long))(var1495->class->vft[COLOR_array__Array__with_native]))(var1495, var1497, var1496) /* with_native on */; } } { -var1440 = ((val* (*)(val*))(var1437->class->vft[COLOR_string__Object__to_s]))(var1437) /* to_s on */; +var1498 = ((val* (*)(val*))(var1495->class->vft[COLOR_string__Object__to_s]))(var1495) /* to_s on */; } if (unlikely(var_ret == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2059); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2235); show_backtrace(1); } { -var1441 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var1440, var_ret); +var1499 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var1498, var_ret); } { -abstract_compiler__AbstractCompilerVisitor__ret(var_v, var1441); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +abstract_compiler__AbstractCompilerVisitor__ret(var_v, var1499); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var1500 = 1; +var = var1500; goto RET_LABEL; } else { } @@ -5449,945 +5577,841 @@ goto RET_LABEL; } } } -if (varonce1442) { -var1443 = varonce1442; -} else { -var1444 = "PRINT_ERROR(\"NOT YET IMPLEMENTED "; -var1445 = 33; -var1446 = string__NativeString__to_s_with_length(var1444, var1445); -var1443 = var1446; -varonce1442 = var1443; -} -{ -var1447 = string__Object__class_name(self); -} -if (varonce1448) { -var1449 = varonce1448; -} else { -var1450 = ":"; -var1451 = 1; -var1452 = string__NativeString__to_s_with_length(var1450, var1451); -var1449 = var1452; -varonce1448 = var1449; -} -if (varonce1453) { -var1454 = varonce1453; -} else { -var1455 = " at "; -var1456 = 4; -var1457 = string__NativeString__to_s_with_length(var1455, var1456); -var1454 = var1457; -varonce1453 = var1454; -} -{ -var1458 = parser_nodes__ANode__location(self); -} -{ -var1459 = location__Location__to_s(var1458); -} -if (varonce1460) { -var1461 = varonce1460; -} else { -var1462 = "\\n\");"; -var1463 = 5; -var1464 = string__NativeString__to_s_with_length(var1462, var1463); -var1461 = var1464; -varonce1460 = var1461; -} -var1465 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var1465 = array_instance Array[Object] */ -var1466 = 7; -var1467 = NEW_array__NativeArray(var1466, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var1467)->values[0] = (val*) var1443; -((struct instance_array__NativeArray*)var1467)->values[1] = (val*) var1447; -((struct instance_array__NativeArray*)var1467)->values[2] = (val*) var1449; -((struct instance_array__NativeArray*)var1467)->values[3] = (val*) var_mpropdef; -((struct instance_array__NativeArray*)var1467)->values[4] = (val*) var1454; -((struct instance_array__NativeArray*)var1467)->values[5] = (val*) var1459; -((struct instance_array__NativeArray*)var1467)->values[6] = (val*) var1461; -{ -((void (*)(val*, val*, long))(var1465->class->vft[COLOR_array__Array__with_native]))(var1465, var1467, var1466) /* with_native on */; -} -} -{ -var1468 = ((val* (*)(val*))(var1465->class->vft[COLOR_string__Object__to_s]))(var1465) /* to_s on */; -} -{ -abstract_compiler__AbstractCompilerVisitor__add(var_v, var1468); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ -} -if (varonce1469) { -var1470 = varonce1469; -} else { -var1471 = "Not implemented "; -var1472 = 16; -var1473 = string__NativeString__to_s_with_length(var1471, var1472); -var1470 = var1473; -varonce1469 = var1470; -} -var1474 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var1474 = array_instance Array[Object] */ -var1475 = 2; -var1476 = NEW_array__NativeArray(var1475, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var1476)->values[0] = (val*) var1470; -((struct instance_array__NativeArray*)var1476)->values[1] = (val*) var_mpropdef; -{ -((void (*)(val*, val*, long))(var1474->class->vft[COLOR_array__Array__with_native]))(var1474, var1476, var1475) /* with_native on */; -} -} -{ -var1477 = ((val* (*)(val*))(var1474->class->vft[COLOR_string__Object__to_s]))(var1474) /* to_s on */; -} -{ -parser_nodes__ANode__debug(self, var1477); /* Direct call parser_nodes#ANode#debug on */ -} +var1501 = 0; +var = var1501; +goto RET_LABEL; RET_LABEL:; +return var; } -/* method abstract_compiler#AMethPropdef#compile_intern_to_c for (self: Object, AbstractCompilerVisitor, MMethodDef, Array[RuntimeVariable]) */ -void VIRTUAL_abstract_compiler__AMethPropdef__compile_intern_to_c(val* self, val* p0, val* p1, val* p2) { -abstract_compiler__AMethPropdef__compile_intern_to_c(self, p0, p1, p2); /* Direct call abstract_compiler#AMethPropdef#compile_intern_to_c on */ +/* method abstract_compiler#AMethPropdef#compile_intern_to_c for (self: Object, AbstractCompilerVisitor, MMethodDef, Array[RuntimeVariable]): Bool */ +short int VIRTUAL_abstract_compiler__AMethPropdef__compile_intern_to_c(val* self, val* p0, val* p1, val* p2) { +short int var /* : Bool */; +short int var1 /* : Bool */; +var1 = abstract_compiler__AMethPropdef__compile_intern_to_c(self, p0, p1, p2); +var = var1; RET_LABEL:; +return var; } -/* method abstract_compiler#AMethPropdef#compile_externmeth_to_c for (self: AMethPropdef, AbstractCompilerVisitor, MMethodDef, Array[RuntimeVariable]) */ -void abstract_compiler__AMethPropdef__compile_externmeth_to_c(val* self, val* p0, val* p1, val* p2) { +/* method abstract_compiler#AMethPropdef#compile_externmeth_to_c for (self: AMethPropdef, AbstractCompilerVisitor, MMethodDef, Array[RuntimeVariable]): Bool */ +short int abstract_compiler__AMethPropdef__compile_externmeth_to_c(val* self, val* p0, val* p1, val* p2) { +short int var /* : Bool */; val* var_v /* var v: AbstractCompilerVisitor */; val* var_mpropdef /* var mpropdef: MMethodDef */; val* var_arguments /* var arguments: Array[RuntimeVariable] */; -val* var /* : nullable TString */; -val* var_nextern /* var nextern: nullable TString */; -val* var1 /* : null */; -short int var2 /* : Bool */; -short int var3 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var5 /* : Bool */; -short int var7 /* : Bool */; static val* varonce; -val* var8 /* : String */; -char* var9 /* : NativeString */; -long var10 /* : Int */; -val* var11 /* : FlatString */; -static val* varonce12; -val* var13 /* : String */; -char* var14 /* : NativeString */; -long var15 /* : Int */; -val* var16 /* : FlatString */; -val* var17 /* : Location */; -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 */; -static val* varonce28; -val* var29 /* : String */; -char* var30 /* : NativeString */; -long var31 /* : Int */; -val* var32 /* : FlatString */; -val* var33 /* : String */; -long var34 /* : Int */; -val* var35 /* : String */; -long var36 /* : Int */; -long var38 /* : Int */; -long var39 /* : Int */; -long var40 /* : Int */; -short int var42 /* : Bool */; -int cltype; -int idtype; -const char* var_class_name; -long var43 /* : Int */; -val* var44 /* : String */; +val* var1 /* : String */; +char* var2 /* : NativeString */; +long var3 /* : Int */; +val* var4 /* : FlatString */; +val* var5 /* : AbstractCompiler */; +val* var7 /* : AbstractCompiler */; +val* var8 /* : ModelBuilder */; +val* var10 /* : ModelBuilder */; +val* var11 /* : nullable AAnnotation */; +val* var_at /* var at: nullable AAnnotation */; +val* var12 /* : null */; +short int var13 /* : Bool */; +short int var14 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var16 /* : Bool */; +short int var17 /* : Bool */; +short int var18 /* : Bool */; +val* var19 /* : AbstractCompiler */; +val* var21 /* : AbstractCompiler */; +val* var22 /* : ModelBuilder */; +val* var24 /* : ModelBuilder */; +val* var25 /* : nullable String */; val* var_externname /* var externname: nullable Object */; -val* var45 /* : Location */; -val* var46 /* : nullable SourceFile */; -val* var48 /* : nullable SourceFile */; -val* var49 /* : null */; -short int var50 /* : Bool */; -short int var51 /* : Bool */; -val* var_other53 /* var other: nullable Object */; -short int var54 /* : Bool */; -short int var55 /* : Bool */; -short int var56 /* : Bool */; -val* var57 /* : Location */; -val* var58 /* : nullable SourceFile */; -val* var60 /* : nullable SourceFile */; -val* var61 /* : String */; -val* var63 /* : String */; +val* var26 /* : null */; +short int var27 /* : Bool */; +short int var28 /* : Bool */; +short int var29 /* : Bool */; +short int var30 /* : Bool */; +val* var31 /* : Location */; +val* var33 /* : Location */; +val* var34 /* : nullable SourceFile */; +val* var36 /* : nullable SourceFile */; +val* var37 /* : null */; +short int var38 /* : Bool */; +short int var39 /* : Bool */; +short int var41 /* : Bool */; +short int var42 /* : Bool */; +short int var43 /* : Bool */; +val* var44 /* : Location */; +val* var46 /* : Location */; +val* var47 /* : nullable SourceFile */; +val* var49 /* : nullable SourceFile */; +val* var50 /* : String */; +val* var52 /* : String */; val* var_file /* var file: String */; -val* var64 /* : null */; +val* var53 /* : null */; val* var_res /* var res: nullable RuntimeVariable */; -val* var65 /* : nullable MSignature */; -val* var67 /* : nullable MSignature */; -val* var68 /* : nullable MType */; -val* var70 /* : nullable MType */; +val* var54 /* : nullable MSignature */; +val* var56 /* : nullable MSignature */; +val* var57 /* : nullable MType */; +val* var59 /* : nullable MType */; val* var_ret /* var ret: nullable MType */; -val* var71 /* : null */; +val* var60 /* : null */; +short int var61 /* : Bool */; +short int var62 /* : Bool */; +short int var64 /* : Bool */; +short int var65 /* : Bool */; +short int var66 /* : Bool */; +val* var67 /* : nullable Object */; +val* var68 /* : MType */; +val* var69 /* : RuntimeVariable */; +val* var70 /* : null */; +short int var71 /* : Bool */; short int var72 /* : Bool */; -short int var73 /* : Bool */; +val* var_other74 /* var other: nullable Object */; short int var75 /* : Bool */; -short int var76 /* : Bool */; short int var77 /* : Bool */; -val* var78 /* : nullable Object */; -val* var79 /* : MType */; -val* var80 /* : RuntimeVariable */; -val* var81 /* : null */; -short int var82 /* : Bool */; -short int var83 /* : Bool */; -short int var85 /* : Bool */; -short int var87 /* : Bool */; -static val* varonce88; -val* var89 /* : String */; -char* var90 /* : NativeString */; -long var91 /* : Int */; -val* var92 /* : FlatString */; -static val* varonce93; -val* var94 /* : String */; -char* var95 /* : NativeString */; -long var96 /* : Int */; -val* var97 /* : FlatString */; -val* var98 /* : String */; -static val* varonce99; -val* var100 /* : String */; -char* var101 /* : NativeString */; -long var102 /* : Int */; -val* var103 /* : FlatString */; -val* var104 /* : Array[Object] */; -long var105 /* : Int */; -val* var106 /* : NativeArray[Object] */; -val* var107 /* : String */; +static val* varonce78; +val* var79 /* : String */; +char* var80 /* : NativeString */; +long var81 /* : Int */; +val* var82 /* : FlatString */; +static val* varonce83; +val* var84 /* : String */; +char* var85 /* : NativeString */; +long var86 /* : Int */; +val* var87 /* : FlatString */; +val* var88 /* : String */; +static val* varonce89; +val* var90 /* : String */; +char* var91 /* : NativeString */; +long var92 /* : Int */; +val* var93 /* : FlatString */; +val* var94 /* : Array[Object] */; +long var95 /* : Int */; +val* var96 /* : NativeArray[Object] */; +val* var97 /* : String */; +static val* varonce98; +val* var99 /* : String */; +char* var100 /* : NativeString */; +long var101 /* : Int */; +val* var102 /* : FlatString */; +static val* varonce103; +val* var104 /* : String */; +char* var105 /* : NativeString */; +long var106 /* : Int */; +val* var107 /* : FlatString */; static val* varonce108; val* var109 /* : String */; char* var110 /* : NativeString */; long var111 /* : Int */; val* var112 /* : FlatString */; -static val* varonce113; -val* var114 /* : String */; -char* var115 /* : NativeString */; -long var116 /* : Int */; -val* var117 /* : FlatString */; -static val* varonce118; -val* var119 /* : String */; -char* var120 /* : NativeString */; -long var121 /* : Int */; -val* var122 /* : FlatString */; -val* var123 /* : String */; -static val* varonce124; -val* var125 /* : String */; -char* var126 /* : NativeString */; -long var127 /* : Int */; -val* var128 /* : FlatString */; -val* var129 /* : Array[Object] */; -long var130 /* : Int */; -val* var131 /* : NativeArray[Object] */; -val* var132 /* : String */; +val* var113 /* : String */; +static val* varonce114; +val* var115 /* : String */; +char* var116 /* : NativeString */; +long var117 /* : Int */; +val* var118 /* : FlatString */; +val* var119 /* : Array[Object] */; +long var120 /* : Int */; +val* var121 /* : NativeArray[Object] */; +val* var122 /* : String */; +val* var123 /* : RuntimeVariable */; +short int var124 /* : Bool */; var_v = p0; var_mpropdef = p1; var_arguments = p2; -{ -var = parser_nodes__AMethPropdef__n_extern(self); -} -var_nextern = var; -var1 = NULL; -if (var_nextern == NULL) { -var2 = 1; /* is null */ +if (varonce) { +var1 = varonce; } else { -var2 = 0; /* arg is null but recv is not */ +var2 = "extern"; +var3 = 6; +var4 = string__NativeString__to_s_with_length(var2, var3); +var1 = var4; +varonce = var1; } -if (0) { -{ /* Inline kernel#Object#== (var_nextern,var1) on */ -var_other = var1; { -{ /* Inline kernel#Object#is_same_instance (var_nextern,var_other) on */ -var7 = var_nextern == var_other; +{ /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on */ +var7 = var_v->attrs[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ +if (unlikely(var7 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler"); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041); +show_backtrace(1); +} var5 = var7; -goto RET_LABEL6; RET_LABEL6:(void)0; } } -var3 = var5; -goto RET_LABEL4; -RET_LABEL4:(void)0; +{ +{ /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var5) on */ +var10 = var5->attrs[COLOR_abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on */ +if (unlikely(var10 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder"); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470); +show_backtrace(1); } -var2 = var3; +var8 = var10; +RET_LABEL9:(void)0; } -if (var2){ -if (varonce) { -var8 = varonce; -} else { -var9 = "PRINT_ERROR(\"NOT YET IMPLEMENTED nitni for "; -var10 = 43; -var11 = string__NativeString__to_s_with_length(var9, var10); -var8 = var11; -varonce = var8; } -if (varonce12) { -var13 = varonce12; +{ +var11 = annotation__Prod__get_single_annotation(self, var1, var8); +} +var_at = var11; +var12 = NULL; +if (var_at == NULL) { +var13 = 0; /* is null */ } else { -var14 = " at "; -var15 = 4; -var16 = string__NativeString__to_s_with_length(var14, var15); -var13 = var16; -varonce12 = var13; +var13 = 1; /* arg is null and recv is not */ } +if (0) { +{ /* Inline kernel#Object#!= (var_at,var12) on */ +var_other = var12; { -var17 = parser_nodes__ANode__location(self); +var17 = ((short int (*)(val*, val*))(var_at->class->vft[COLOR_kernel__Object___61d_61d]))(var_at, var_other) /* == on */; +var16 = var17; } -{ -var18 = location__Location__to_s(var17); +var18 = !var16; +var14 = var18; +goto RET_LABEL15; +RET_LABEL15:(void)0; } -if (varonce19) { -var20 = varonce19; -} else { -var21 = "\\n\");"; -var22 = 5; -var23 = string__NativeString__to_s_with_length(var21, var22); -var20 = var23; -varonce19 = var20; +var13 = var14; } -var24 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var24 = array_instance Array[Object] */ -var25 = 5; -var26 = NEW_array__NativeArray(var25, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var26)->values[0] = (val*) var8; -((struct instance_array__NativeArray*)var26)->values[1] = (val*) var_mpropdef; -((struct instance_array__NativeArray*)var26)->values[2] = (val*) var13; -((struct instance_array__NativeArray*)var26)->values[3] = (val*) var18; -((struct instance_array__NativeArray*)var26)->values[4] = (val*) var20; +if (var13){ { -((void (*)(val*, val*, long))(var24->class->vft[COLOR_array__Array__with_native]))(var24, var26, var25) /* with_native on */; +{ /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on */ +var21 = var_v->attrs[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ +if (unlikely(var21 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler"); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041); +show_backtrace(1); } +var19 = var21; +RET_LABEL20:(void)0; } -{ -var27 = ((val* (*)(val*))(var24->class->vft[COLOR_string__Object__to_s]))(var24) /* to_s on */; } { -abstract_compiler__AbstractCompilerVisitor__add(var_v, var27); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +{ /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var19) on */ +var24 = var19->attrs[COLOR_abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on */ +if (unlikely(var24 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder"); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470); +show_backtrace(1); +} +var22 = var24; +RET_LABEL23:(void)0; } -if (varonce28) { -var29 = varonce28; -} else { -var30 = "show_backtrace(1);"; -var31 = 18; -var32 = string__NativeString__to_s_with_length(var30, var31); -var29 = var32; -varonce28 = var29; } { -abstract_compiler__AbstractCompilerVisitor__add(var_v, var29); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +var25 = annotation__AAnnotation__arg_as_string(var_at, var22); } -goto RET_LABEL; +var_externname = var25; +var26 = NULL; +if (var_externname == NULL) { +var27 = 1; /* is null */ } else { +var27 = 0; /* arg is null but recv is not */ } -{ -var33 = lexer_work__Token__text(var_nextern); -} -var34 = 1; -{ -var35 = lexer_work__Token__text(var_nextern); +if (0) { +var28 = string__FlatString___61d_61d(var_externname, var26); +var27 = var28; } -{ -{ /* Inline string#FlatText#length (var35) on */ -var38 = var35->attrs[COLOR_string__FlatText___length].l; /* _length on */ -var36 = var38; -RET_LABEL37:(void)0; +if (var27){ +var29 = 0; +var = var29; +goto RET_LABEL; +} else { } +} else { +var30 = 0; +var = var30; +goto RET_LABEL; } -var39 = 2; { -{ /* Inline kernel#Int#- (var36,var39) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var42 = 1; /* easy isa OTHER*/ -if (unlikely(!var42)) { -var_class_name = type_kernel__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331); +{ /* Inline parser_nodes#ANode#location (self) on */ +var33 = self->attrs[COLOR_parser_nodes__ANode___location].val; /* _location on */ +if (unlikely(var33 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 23); show_backtrace(1); } -var43 = var36 - var39; -var40 = var43; -goto RET_LABEL41; -RET_LABEL41:(void)0; -} -} -{ -var44 = string__FlatString__substring(var33, var34, var40); +var31 = var33; +RET_LABEL32:(void)0; } -var_externname = var44; -{ -var45 = parser_nodes__ANode__location(self); } { -{ /* Inline location#Location#file (var45) on */ -var48 = var45->attrs[COLOR_location__Location___file].val; /* _file on */ -var46 = var48; -RET_LABEL47:(void)0; +{ /* Inline location#Location#file (var31) on */ +var36 = var31->attrs[COLOR_location__Location___file].val; /* _file on */ +var34 = var36; +RET_LABEL35:(void)0; } } -var49 = NULL; -if (var46 == NULL) { -var50 = 0; /* is null */ +var37 = NULL; +if (var34 == NULL) { +var38 = 0; /* is null */ } else { -var50 = 1; /* arg is null and recv is not */ +var38 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var46,var49) on */ -var_other53 = var49; +{ /* Inline kernel#Object#!= (var34,var37) on */ +var_other = var37; { -var55 = ((short int (*)(val*, val*))(var46->class->vft[COLOR_kernel__Object___61d_61d]))(var46, var_other53) /* == on */; -var54 = var55; +var42 = ((short int (*)(val*, val*))(var34->class->vft[COLOR_kernel__Object___61d_61d]))(var34, var_other) /* == on */; +var41 = var42; } -var56 = !var54; -var51 = var56; -goto RET_LABEL52; -RET_LABEL52:(void)0; +var43 = !var41; +var39 = var43; +goto RET_LABEL40; +RET_LABEL40:(void)0; } -var50 = var51; +var38 = var39; } -if (var50){ +if (var38){ { -var57 = parser_nodes__ANode__location(self); +{ /* Inline parser_nodes#ANode#location (self) on */ +var46 = self->attrs[COLOR_parser_nodes__ANode___location].val; /* _location on */ +if (unlikely(var46 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 23); +show_backtrace(1); +} +var44 = var46; +RET_LABEL45:(void)0; +} } { -{ /* Inline location#Location#file (var57) on */ -var60 = var57->attrs[COLOR_location__Location___file].val; /* _file on */ -var58 = var60; -RET_LABEL59:(void)0; +{ /* Inline location#Location#file (var44) on */ +var49 = var44->attrs[COLOR_location__Location___file].val; /* _file on */ +var47 = var49; +RET_LABEL48:(void)0; } } -if (var58 == NULL) { +if (var47 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2077); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2254); show_backtrace(1); } else { -{ /* Inline location#SourceFile#filename (var58) on */ -if (unlikely(var58 == NULL)) { +{ /* Inline location#SourceFile#filename (var47) on */ +if (unlikely(var47 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/location.nit", 22); +PRINT_ERROR(" (%s:%d)\n", "location.nit", 22); show_backtrace(1); } -var63 = var58->attrs[COLOR_location__SourceFile___filename].val; /* _filename on */ -if (unlikely(var63 == NULL)) { +var52 = var47->attrs[COLOR_location__SourceFile___filename].val; /* _filename on */ +if (unlikely(var52 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filename"); -PRINT_ERROR(" (%s:%d)\n", "src/location.nit", 22); +PRINT_ERROR(" (%s:%d)\n", "location.nit", 22); show_backtrace(1); } -var61 = var63; -RET_LABEL62:(void)0; +var50 = var52; +RET_LABEL51:(void)0; } } -var_file = var61; +var_file = var50; { abstract_compiler__AbstractCompilerVisitor__add_extern(var_v, var_file); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_extern on */ } } else { } -var64 = NULL; -var_res = var64; +var53 = NULL; +var_res = var53; { { /* Inline model#MMethodDef#msignature (var_mpropdef) on */ -var67 = var_mpropdef->attrs[COLOR_model__MMethodDef___msignature].val; /* _msignature on */ -var65 = var67; -RET_LABEL66:(void)0; +var56 = var_mpropdef->attrs[COLOR_model__MMethodDef___msignature].val; /* _msignature on */ +var54 = var56; +RET_LABEL55:(void)0; } } -if (var65 == NULL) { +if (var54 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2081); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2258); show_backtrace(1); } else { -{ /* Inline model#MSignature#return_mtype (var65) on */ -if (unlikely(var65 == NULL)) { +{ /* Inline model#MSignature#return_mtype (var54) on */ +if (unlikely(var54 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1455); +PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1468); show_backtrace(1); } -var70 = var65->attrs[COLOR_model__MSignature___return_mtype].val; /* _return_mtype on */ -var68 = var70; -RET_LABEL69:(void)0; +var59 = var54->attrs[COLOR_model__MSignature___return_mtype].val; /* _return_mtype on */ +var57 = var59; +RET_LABEL58:(void)0; } } -var_ret = var68; -var71 = NULL; +var_ret = var57; +var60 = NULL; if (var_ret == NULL) { -var72 = 0; /* is null */ +var61 = 0; /* is null */ } else { -var72 = 1; /* arg is null and recv is not */ +var61 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_ret,var71) on */ -var_other53 = var71; +{ /* Inline kernel#Object#!= (var_ret,var60) on */ +var_other = var60; { -var76 = ((short int (*)(val*, val*))(var_ret->class->vft[COLOR_kernel__Object___61d_61d]))(var_ret, var_other53) /* == on */; -var75 = var76; +var65 = ((short int (*)(val*, val*))(var_ret->class->vft[COLOR_kernel__Object___61d_61d]))(var_ret, var_other) /* == on */; +var64 = var65; } -var77 = !var75; -var73 = var77; -goto RET_LABEL74; -RET_LABEL74:(void)0; +var66 = !var64; +var62 = var66; +goto RET_LABEL63; +RET_LABEL63:(void)0; } -var72 = var73; +var61 = var62; } -if (var72){ +if (var61){ { -var78 = abstract_collection__SequenceRead__first(var_arguments); +var67 = abstract_collection__SequenceRead__first(var_arguments); } { -var79 = abstract_compiler__AbstractCompilerVisitor__resolve_for(var_v, var_ret, var78); +var68 = abstract_compiler__AbstractCompilerVisitor__resolve_for(var_v, var_ret, var67); } -var_ret = var79; +var_ret = var68; { -var80 = abstract_compiler__AbstractCompilerVisitor__new_var(var_v, var_ret); +var69 = abstract_compiler__AbstractCompilerVisitor__new_var_extern(var_v, var_ret); } -var_res = var80; +var_res = var69; } else { } { separate_compiler__SeparateCompilerVisitor__adapt_signature(var_v, var_mpropdef, var_arguments); /* Direct call separate_compiler#SeparateCompilerVisitor#adapt_signature on */ } -var81 = NULL; +{ +separate_compiler__SeparateCompilerVisitor__unbox_signature_extern(var_v, var_mpropdef, var_arguments); /* Direct call separate_compiler#SeparateCompilerVisitor#unbox_signature_extern on */ +} +var70 = NULL; if (var_res == NULL) { -var82 = 1; /* is null */ +var71 = 1; /* is null */ } else { -var82 = 0; /* arg is null but recv is not */ +var71 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_res,var81) on */ -var_other = var81; +{ /* Inline kernel#Object#== (var_res,var70) on */ +var_other74 = var70; { -{ /* Inline kernel#Object#is_same_instance (var_res,var_other) on */ -var87 = var_res == var_other; -var85 = var87; -goto RET_LABEL86; -RET_LABEL86:(void)0; +{ /* Inline kernel#Object#is_same_instance (var_res,var_other74) on */ +var77 = var_res == var_other74; +var75 = var77; +goto RET_LABEL76; +RET_LABEL76:(void)0; } } -var83 = var85; -goto RET_LABEL84; -RET_LABEL84:(void)0; +var72 = var75; +goto RET_LABEL73; +RET_LABEL73:(void)0; } -var82 = var83; +var71 = var72; } -if (var82){ -if (varonce88) { -var89 = varonce88; +if (var71){ +if (varonce78) { +var79 = varonce78; } else { -var90 = "("; -var91 = 1; -var92 = string__NativeString__to_s_with_length(var90, var91); -var89 = var92; -varonce88 = var89; +var80 = "("; +var81 = 1; +var82 = string__NativeString__to_s_with_length(var80, var81); +var79 = var82; +varonce78 = var79; } -if (varonce93) { -var94 = varonce93; +if (varonce83) { +var84 = varonce83; } else { -var95 = ", "; -var96 = 2; -var97 = string__NativeString__to_s_with_length(var95, var96); -var94 = var97; -varonce93 = var94; +var85 = ", "; +var86 = 2; +var87 = string__NativeString__to_s_with_length(var85, var86); +var84 = var87; +varonce83 = var84; } { -var98 = string__Collection__join(var_arguments, var94); +var88 = string__Collection__join(var_arguments, var84); } -if (varonce99) { -var100 = varonce99; +if (varonce89) { +var90 = varonce89; } else { -var101 = ");"; -var102 = 2; -var103 = string__NativeString__to_s_with_length(var101, var102); -var100 = var103; -varonce99 = var100; +var91 = ");"; +var92 = 2; +var93 = string__NativeString__to_s_with_length(var91, var92); +var90 = var93; +varonce89 = var90; } -var104 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var104 = array_instance Array[Object] */ -var105 = 4; -var106 = NEW_array__NativeArray(var105, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var106)->values[0] = (val*) var_externname; -((struct instance_array__NativeArray*)var106)->values[1] = (val*) var89; -((struct instance_array__NativeArray*)var106)->values[2] = (val*) var98; -((struct instance_array__NativeArray*)var106)->values[3] = (val*) var100; +var94 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var94 = array_instance Array[Object] */ +var95 = 4; +var96 = NEW_array__NativeArray(var95, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var96)->values[0] = (val*) var_externname; +((struct instance_array__NativeArray*)var96)->values[1] = (val*) var79; +((struct instance_array__NativeArray*)var96)->values[2] = (val*) var88; +((struct instance_array__NativeArray*)var96)->values[3] = (val*) var90; { -((void (*)(val*, val*, long))(var104->class->vft[COLOR_array__Array__with_native]))(var104, var106, var105) /* with_native on */; +((void (*)(val*, val*, long))(var94->class->vft[COLOR_array__Array__with_native]))(var94, var96, var95) /* with_native on */; } } { -var107 = ((val* (*)(val*))(var104->class->vft[COLOR_string__Object__to_s]))(var104) /* to_s on */; +var97 = ((val* (*)(val*))(var94->class->vft[COLOR_string__Object__to_s]))(var94) /* to_s on */; } { -abstract_compiler__AbstractCompilerVisitor__add(var_v, var107); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +abstract_compiler__AbstractCompilerVisitor__add(var_v, var97); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +} +} else { +if (varonce98) { +var99 = varonce98; +} else { +var100 = " = "; +var101 = 3; +var102 = string__NativeString__to_s_with_length(var100, var101); +var99 = var102; +varonce98 = var99; } +if (varonce103) { +var104 = varonce103; } else { +var105 = "("; +var106 = 1; +var107 = string__NativeString__to_s_with_length(var105, var106); +var104 = var107; +varonce103 = var104; +} if (varonce108) { var109 = varonce108; } else { -var110 = " = "; -var111 = 3; +var110 = ", "; +var111 = 2; var112 = string__NativeString__to_s_with_length(var110, var111); var109 = var112; varonce108 = var109; } -if (varonce113) { -var114 = varonce113; -} else { -var115 = "("; -var116 = 1; -var117 = string__NativeString__to_s_with_length(var115, var116); -var114 = var117; -varonce113 = var114; +{ +var113 = string__Collection__join(var_arguments, var109); } -if (varonce118) { -var119 = varonce118; +if (varonce114) { +var115 = varonce114; } else { -var120 = ", "; -var121 = 2; -var122 = string__NativeString__to_s_with_length(var120, var121); -var119 = var122; -varonce118 = var119; +var116 = ");"; +var117 = 2; +var118 = string__NativeString__to_s_with_length(var116, var117); +var115 = var118; +varonce114 = var115; } +var119 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var119 = array_instance Array[Object] */ +var120 = 6; +var121 = NEW_array__NativeArray(var120, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var121)->values[0] = (val*) var_res; +((struct instance_array__NativeArray*)var121)->values[1] = (val*) var99; +((struct instance_array__NativeArray*)var121)->values[2] = (val*) var_externname; +((struct instance_array__NativeArray*)var121)->values[3] = (val*) var104; +((struct instance_array__NativeArray*)var121)->values[4] = (val*) var113; +((struct instance_array__NativeArray*)var121)->values[5] = (val*) var115; { -var123 = string__Collection__join(var_arguments, var119); +((void (*)(val*, val*, long))(var119->class->vft[COLOR_array__Array__with_native]))(var119, var121, var120) /* with_native on */; } -if (varonce124) { -var125 = varonce124; -} else { -var126 = ");"; -var127 = 2; -var128 = string__NativeString__to_s_with_length(var126, var127); -var125 = var128; -varonce124 = var125; } -var129 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var129 = array_instance Array[Object] */ -var130 = 6; -var131 = NEW_array__NativeArray(var130, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var131)->values[0] = (val*) var_res; -((struct instance_array__NativeArray*)var131)->values[1] = (val*) var109; -((struct instance_array__NativeArray*)var131)->values[2] = (val*) var_externname; -((struct instance_array__NativeArray*)var131)->values[3] = (val*) var114; -((struct instance_array__NativeArray*)var131)->values[4] = (val*) var123; -((struct instance_array__NativeArray*)var131)->values[5] = (val*) var125; { -((void (*)(val*, val*, long))(var129->class->vft[COLOR_array__Array__with_native]))(var129, var131, var130) /* with_native on */; -} +var122 = ((val* (*)(val*))(var119->class->vft[COLOR_string__Object__to_s]))(var119) /* to_s on */; } { -var132 = ((val* (*)(val*))(var129->class->vft[COLOR_string__Object__to_s]))(var129) /* to_s on */; +abstract_compiler__AbstractCompilerVisitor__add(var_v, var122); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +} +if (unlikely(var_ret == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2270); +show_backtrace(1); } { -abstract_compiler__AbstractCompilerVisitor__add(var_v, var132); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +var123 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__box_extern]))(var_v, var_res, var_ret) /* box_extern on */; } +var_res = var123; { abstract_compiler__AbstractCompilerVisitor__ret(var_v, var_res); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } } +var124 = 1; +var = var124; +goto RET_LABEL; RET_LABEL:; +return var; } -/* method abstract_compiler#AMethPropdef#compile_externmeth_to_c for (self: Object, AbstractCompilerVisitor, MMethodDef, Array[RuntimeVariable]) */ -void VIRTUAL_abstract_compiler__AMethPropdef__compile_externmeth_to_c(val* self, val* p0, val* p1, val* p2) { -abstract_compiler__AMethPropdef__compile_externmeth_to_c(self, p0, p1, p2); /* Direct call abstract_compiler#AMethPropdef#compile_externmeth_to_c on */ +/* method abstract_compiler#AMethPropdef#compile_externmeth_to_c for (self: Object, AbstractCompilerVisitor, MMethodDef, Array[RuntimeVariable]): Bool */ +short int VIRTUAL_abstract_compiler__AMethPropdef__compile_externmeth_to_c(val* self, val* p0, val* p1, val* p2) { +short int var /* : Bool */; +short int var1 /* : Bool */; +var1 = abstract_compiler__AMethPropdef__compile_externmeth_to_c(self, p0, p1, p2); +var = var1; RET_LABEL:; +return var; } -/* method abstract_compiler#AMethPropdef#compile_externinit_to_c for (self: AMethPropdef, AbstractCompilerVisitor, MMethodDef, Array[RuntimeVariable]) */ -void abstract_compiler__AMethPropdef__compile_externinit_to_c(val* self, val* p0, val* p1, val* p2) { +/* method abstract_compiler#AMethPropdef#compile_externinit_to_c for (self: AMethPropdef, AbstractCompilerVisitor, MMethodDef, Array[RuntimeVariable]): Bool */ +short int abstract_compiler__AMethPropdef__compile_externinit_to_c(val* self, val* p0, val* p1, val* p2) { +short int var /* : Bool */; val* var_v /* var v: AbstractCompilerVisitor */; val* var_mpropdef /* var mpropdef: MMethodDef */; val* var_arguments /* var arguments: Array[RuntimeVariable] */; -val* var /* : nullable TString */; -val* var_nextern /* var nextern: nullable TString */; -val* var1 /* : null */; -short int var2 /* : Bool */; -short int var3 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var5 /* : Bool */; -short int var7 /* : Bool */; static val* varonce; -val* var8 /* : String */; -char* var9 /* : NativeString */; -long var10 /* : Int */; -val* var11 /* : FlatString */; -static val* varonce12; -val* var13 /* : String */; -char* var14 /* : NativeString */; -long var15 /* : Int */; -val* var16 /* : FlatString */; -val* var17 /* : Location */; -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 */; -static val* varonce28; -val* var29 /* : String */; -char* var30 /* : NativeString */; -long var31 /* : Int */; -val* var32 /* : FlatString */; -val* var33 /* : String */; -long var34 /* : Int */; -val* var35 /* : String */; -long var36 /* : Int */; -long var38 /* : Int */; -long var39 /* : Int */; -long var40 /* : Int */; -short int var42 /* : Bool */; -int cltype; -int idtype; -const char* var_class_name; -long var43 /* : Int */; -val* var44 /* : String */; +val* var1 /* : String */; +char* var2 /* : NativeString */; +long var3 /* : Int */; +val* var4 /* : FlatString */; +val* var5 /* : AbstractCompiler */; +val* var7 /* : AbstractCompiler */; +val* var8 /* : ModelBuilder */; +val* var10 /* : ModelBuilder */; +val* var11 /* : nullable AAnnotation */; +val* var_at /* var at: nullable AAnnotation */; +val* var12 /* : null */; +short int var13 /* : Bool */; +short int var14 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var16 /* : Bool */; +short int var17 /* : Bool */; +short int var18 /* : Bool */; +val* var19 /* : AbstractCompiler */; +val* var21 /* : AbstractCompiler */; +val* var22 /* : ModelBuilder */; +val* var24 /* : ModelBuilder */; +val* var25 /* : nullable String */; val* var_externname /* var externname: nullable Object */; -val* var45 /* : Location */; -val* var46 /* : nullable SourceFile */; -val* var48 /* : nullable SourceFile */; -val* var49 /* : null */; -short int var50 /* : Bool */; -short int var51 /* : Bool */; -val* var_other53 /* var other: nullable Object */; -short int var54 /* : Bool */; -short int var55 /* : Bool */; -short int var56 /* : Bool */; -val* var57 /* : Location */; -val* var58 /* : nullable SourceFile */; -val* var60 /* : nullable SourceFile */; -val* var61 /* : String */; -val* var63 /* : String */; +val* var26 /* : null */; +short int var27 /* : Bool */; +short int var28 /* : Bool */; +short int var29 /* : Bool */; +short int var30 /* : Bool */; +val* var31 /* : Location */; +val* var33 /* : Location */; +val* var34 /* : nullable SourceFile */; +val* var36 /* : nullable SourceFile */; +val* var37 /* : null */; +short int var38 /* : Bool */; +short int var39 /* : Bool */; +short int var41 /* : Bool */; +short int var42 /* : Bool */; +short int var43 /* : Bool */; +val* var44 /* : Location */; +val* var46 /* : Location */; +val* var47 /* : nullable SourceFile */; +val* var49 /* : nullable SourceFile */; +val* var50 /* : String */; +val* var52 /* : String */; val* var_file /* var file: String */; -val* var64 /* : nullable Object */; -val* var65 /* : MType */; -val* var67 /* : MType */; +val* var53 /* : nullable Object */; +val* var54 /* : MType */; +val* var56 /* : MType */; val* var_ret /* var ret: MType */; -val* var68 /* : RuntimeVariable */; +val* var57 /* : RuntimeVariable */; val* var_res /* var res: RuntimeVariable */; -val* var69 /* : nullable Object */; -static val* varonce70; -val* var71 /* : String */; -char* var72 /* : NativeString */; -long var73 /* : Int */; -val* var74 /* : FlatString */; +val* var58 /* : nullable Object */; +static val* varonce59; +val* var60 /* : String */; +char* var61 /* : NativeString */; +long var62 /* : Int */; +val* var63 /* : FlatString */; +static val* varonce64; +val* var65 /* : String */; +char* var66 /* : NativeString */; +long var67 /* : Int */; +val* var68 /* : FlatString */; +static val* varonce69; +val* var70 /* : String */; +char* var71 /* : NativeString */; +long var72 /* : Int */; +val* var73 /* : FlatString */; +val* var74 /* : String */; 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 */; -val* var85 /* : String */; -static val* varonce86; -val* var87 /* : String */; -char* var88 /* : NativeString */; -long var89 /* : Int */; -val* var90 /* : FlatString */; -val* var91 /* : Array[Object] */; -long var92 /* : Int */; -val* var93 /* : NativeArray[Object] */; -val* var94 /* : String */; +val* var80 /* : Array[Object] */; +long var81 /* : Int */; +val* var82 /* : NativeArray[Object] */; +val* var83 /* : String */; +val* var84 /* : RuntimeVariable */; +short int var85 /* : Bool */; var_v = p0; var_mpropdef = p1; var_arguments = p2; -{ -var = parser_nodes__AMethPropdef__n_extern(self); -} -var_nextern = var; -var1 = NULL; -if (var_nextern == NULL) { -var2 = 1; /* is null */ +if (varonce) { +var1 = varonce; } else { -var2 = 0; /* arg is null but recv is not */ +var2 = "extern"; +var3 = 6; +var4 = string__NativeString__to_s_with_length(var2, var3); +var1 = var4; +varonce = var1; } -if (0) { -{ /* Inline kernel#Object#== (var_nextern,var1) on */ -var_other = var1; { -{ /* Inline kernel#Object#is_same_instance (var_nextern,var_other) on */ -var7 = var_nextern == var_other; +{ /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on */ +var7 = var_v->attrs[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ +if (unlikely(var7 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler"); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041); +show_backtrace(1); +} var5 = var7; -goto RET_LABEL6; RET_LABEL6:(void)0; } } -var3 = var5; -goto RET_LABEL4; -RET_LABEL4:(void)0; +{ +{ /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var5) on */ +var10 = var5->attrs[COLOR_abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on */ +if (unlikely(var10 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder"); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470); +show_backtrace(1); } -var2 = var3; +var8 = var10; +RET_LABEL9:(void)0; } -if (var2){ -if (varonce) { -var8 = varonce; -} else { -var9 = "PRINT_ERROR(\"NOT YET IMPLEMENTED nitni for "; -var10 = 43; -var11 = string__NativeString__to_s_with_length(var9, var10); -var8 = var11; -varonce = var8; } -if (varonce12) { -var13 = varonce12; +{ +var11 = annotation__Prod__get_single_annotation(self, var1, var8); +} +var_at = var11; +var12 = NULL; +if (var_at == NULL) { +var13 = 0; /* is null */ } else { -var14 = " at "; -var15 = 4; -var16 = string__NativeString__to_s_with_length(var14, var15); -var13 = var16; -varonce12 = var13; +var13 = 1; /* arg is null and recv is not */ } +if (0) { +{ /* Inline kernel#Object#!= (var_at,var12) on */ +var_other = var12; { -var17 = parser_nodes__ANode__location(self); +var17 = ((short int (*)(val*, val*))(var_at->class->vft[COLOR_kernel__Object___61d_61d]))(var_at, var_other) /* == on */; +var16 = var17; } -{ -var18 = location__Location__to_s(var17); +var18 = !var16; +var14 = var18; +goto RET_LABEL15; +RET_LABEL15:(void)0; } -if (varonce19) { -var20 = varonce19; -} else { -var21 = "\\n\");"; -var22 = 5; -var23 = string__NativeString__to_s_with_length(var21, var22); -var20 = var23; -varonce19 = var20; +var13 = var14; } -var24 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var24 = array_instance Array[Object] */ -var25 = 5; -var26 = NEW_array__NativeArray(var25, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var26)->values[0] = (val*) var8; -((struct instance_array__NativeArray*)var26)->values[1] = (val*) var_mpropdef; -((struct instance_array__NativeArray*)var26)->values[2] = (val*) var13; -((struct instance_array__NativeArray*)var26)->values[3] = (val*) var18; -((struct instance_array__NativeArray*)var26)->values[4] = (val*) var20; +if (var13){ { -((void (*)(val*, val*, long))(var24->class->vft[COLOR_array__Array__with_native]))(var24, var26, var25) /* with_native on */; +{ /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on */ +var21 = var_v->attrs[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ +if (unlikely(var21 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler"); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041); +show_backtrace(1); } +var19 = var21; +RET_LABEL20:(void)0; } -{ -var27 = ((val* (*)(val*))(var24->class->vft[COLOR_string__Object__to_s]))(var24) /* to_s on */; } { -abstract_compiler__AbstractCompilerVisitor__add(var_v, var27); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +{ /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var19) on */ +var24 = var19->attrs[COLOR_abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on */ +if (unlikely(var24 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder"); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470); +show_backtrace(1); +} +var22 = var24; +RET_LABEL23:(void)0; } -if (varonce28) { -var29 = varonce28; -} else { -var30 = "show_backtrace(1);"; -var31 = 18; -var32 = string__NativeString__to_s_with_length(var30, var31); -var29 = var32; -varonce28 = var29; } { -abstract_compiler__AbstractCompilerVisitor__add(var_v, var29); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +var25 = annotation__AAnnotation__arg_as_string(var_at, var22); } -goto RET_LABEL; +var_externname = var25; +var26 = NULL; +if (var_externname == NULL) { +var27 = 1; /* is null */ } else { +var27 = 0; /* arg is null but recv is not */ } -{ -var33 = lexer_work__Token__text(var_nextern); -} -var34 = 1; -{ -var35 = lexer_work__Token__text(var_nextern); +if (0) { +var28 = string__FlatString___61d_61d(var_externname, var26); +var27 = var28; } -{ -{ /* Inline string#FlatText#length (var35) on */ -var38 = var35->attrs[COLOR_string__FlatText___length].l; /* _length on */ -var36 = var38; -RET_LABEL37:(void)0; +if (var27){ +var29 = 0; +var = var29; +goto RET_LABEL; +} else { } +} else { +var30 = 0; +var = var30; +goto RET_LABEL; } -var39 = 2; { -{ /* Inline kernel#Int#- (var36,var39) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var42 = 1; /* easy isa OTHER*/ -if (unlikely(!var42)) { -var_class_name = type_kernel__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331); +{ /* Inline parser_nodes#ANode#location (self) on */ +var33 = self->attrs[COLOR_parser_nodes__ANode___location].val; /* _location on */ +if (unlikely(var33 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 23); show_backtrace(1); } -var43 = var36 - var39; -var40 = var43; -goto RET_LABEL41; -RET_LABEL41:(void)0; -} -} -{ -var44 = string__FlatString__substring(var33, var34, var40); +var31 = var33; +RET_LABEL32:(void)0; } -var_externname = var44; -{ -var45 = parser_nodes__ANode__location(self); } { -{ /* Inline location#Location#file (var45) on */ -var48 = var45->attrs[COLOR_location__Location___file].val; /* _file on */ -var46 = var48; -RET_LABEL47:(void)0; +{ /* Inline location#Location#file (var31) on */ +var36 = var31->attrs[COLOR_location__Location___file].val; /* _file on */ +var34 = var36; +RET_LABEL35:(void)0; } } -var49 = NULL; -if (var46 == NULL) { -var50 = 0; /* is null */ +var37 = NULL; +if (var34 == NULL) { +var38 = 0; /* is null */ } else { -var50 = 1; /* arg is null and recv is not */ +var38 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var46,var49) on */ -var_other53 = var49; +{ /* Inline kernel#Object#!= (var34,var37) on */ +var_other = var37; { -var55 = ((short int (*)(val*, val*))(var46->class->vft[COLOR_kernel__Object___61d_61d]))(var46, var_other53) /* == on */; -var54 = var55; +var42 = ((short int (*)(val*, val*))(var34->class->vft[COLOR_kernel__Object___61d_61d]))(var34, var_other) /* == on */; +var41 = var42; } -var56 = !var54; -var51 = var56; -goto RET_LABEL52; -RET_LABEL52:(void)0; +var43 = !var41; +var39 = var43; +goto RET_LABEL40; +RET_LABEL40:(void)0; } -var50 = var51; +var38 = var39; } -if (var50){ +if (var38){ { -var57 = parser_nodes__ANode__location(self); +{ /* Inline parser_nodes#ANode#location (self) on */ +var46 = self->attrs[COLOR_parser_nodes__ANode___location].val; /* _location on */ +if (unlikely(var46 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 23); +show_backtrace(1); +} +var44 = var46; +RET_LABEL45:(void)0; +} } { -{ /* Inline location#Location#file (var57) on */ -var60 = var57->attrs[COLOR_location__Location___file].val; /* _file on */ -var58 = var60; -RET_LABEL59:(void)0; +{ /* Inline location#Location#file (var44) on */ +var49 = var44->attrs[COLOR_location__Location___file].val; /* _file on */ +var47 = var49; +RET_LABEL48:(void)0; } } -if (var58 == NULL) { +if (var47 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2107); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2289); show_backtrace(1); } else { -{ /* Inline location#SourceFile#filename (var58) on */ -if (unlikely(var58 == NULL)) { +{ /* Inline location#SourceFile#filename (var47) on */ +if (unlikely(var47 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/location.nit", 22); +PRINT_ERROR(" (%s:%d)\n", "location.nit", 22); show_backtrace(1); } -var63 = var58->attrs[COLOR_location__SourceFile___filename].val; /* _filename on */ -if (unlikely(var63 == NULL)) { +var52 = var47->attrs[COLOR_location__SourceFile___filename].val; /* _filename on */ +if (unlikely(var52 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filename"); -PRINT_ERROR(" (%s:%d)\n", "src/location.nit", 22); +PRINT_ERROR(" (%s:%d)\n", "location.nit", 22); show_backtrace(1); } -var61 = var63; -RET_LABEL62:(void)0; +var50 = var52; +RET_LABEL51:(void)0; } } -var_file = var61; +var_file = var50; { abstract_compiler__AbstractCompilerVisitor__add_extern(var_v, var_file); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_extern on */ } @@ -6397,97 +6421,111 @@ abstract_compiler__AbstractCompilerVisitor__add_extern(var_v, var_file); /* Dire separate_compiler__SeparateCompilerVisitor__adapt_signature(var_v, var_mpropdef, var_arguments); /* Direct call separate_compiler#SeparateCompilerVisitor#adapt_signature on */ } { -var64 = abstract_collection__SequenceRead__first(var_arguments); +separate_compiler__SeparateCompilerVisitor__unbox_signature_extern(var_v, var_mpropdef, var_arguments); /* Direct call separate_compiler#SeparateCompilerVisitor#unbox_signature_extern on */ +} +{ +var53 = abstract_collection__SequenceRead__first(var_arguments); } { -{ /* Inline abstract_compiler#RuntimeVariable#mtype (var64) on */ -var67 = var64->attrs[COLOR_abstract_compiler__RuntimeVariable___mtype].val; /* _mtype on */ -if (unlikely(var67 == NULL)) { +{ /* Inline abstract_compiler#RuntimeVariable#mtype (var53) on */ +var56 = var53->attrs[COLOR_abstract_compiler__RuntimeVariable___mtype].val; /* _mtype on */ +if (unlikely(var56 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1484); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1634); show_backtrace(1); } -var65 = var67; -RET_LABEL66:(void)0; +var54 = var56; +RET_LABEL55:(void)0; } } -var_ret = var65; +var_ret = var54; { -var68 = abstract_compiler__AbstractCompilerVisitor__new_var(var_v, var_ret); +var57 = abstract_compiler__AbstractCompilerVisitor__new_var_extern(var_v, var_ret); } -var_res = var68; +var_res = var57; { -var69 = array__AbstractArray__shift(var_arguments); +var58 = array__AbstractArray__shift(var_arguments); +} +if (varonce59) { +var60 = varonce59; +} else { +var61 = " = "; +var62 = 3; +var63 = string__NativeString__to_s_with_length(var61, var62); +var60 = var63; +varonce59 = var60; } -var69; -if (varonce70) { -var71 = varonce70; +if (varonce64) { +var65 = varonce64; +} else { +var66 = "("; +var67 = 1; +var68 = string__NativeString__to_s_with_length(var66, var67); +var65 = var68; +varonce64 = var65; +} +if (varonce69) { +var70 = varonce69; } else { -var72 = " = "; -var73 = 3; -var74 = string__NativeString__to_s_with_length(var72, var73); -var71 = var74; -varonce70 = var71; +var71 = ", "; +var72 = 2; +var73 = string__NativeString__to_s_with_length(var71, var72); +var70 = var73; +varonce69 = var70; +} +{ +var74 = string__Collection__join(var_arguments, var70); } if (varonce75) { var76 = varonce75; } else { -var77 = "("; -var78 = 1; +var77 = ");"; +var78 = 2; var79 = string__NativeString__to_s_with_length(var77, var78); var76 = var79; varonce75 = var76; } -if (varonce80) { -var81 = varonce80; -} else { -var82 = ", "; -var83 = 2; -var84 = string__NativeString__to_s_with_length(var82, var83); -var81 = var84; -varonce80 = var81; -} +var80 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var80 = array_instance Array[Object] */ +var81 = 6; +var82 = NEW_array__NativeArray(var81, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var82)->values[0] = (val*) var_res; +((struct instance_array__NativeArray*)var82)->values[1] = (val*) var60; +((struct instance_array__NativeArray*)var82)->values[2] = (val*) var_externname; +((struct instance_array__NativeArray*)var82)->values[3] = (val*) var65; +((struct instance_array__NativeArray*)var82)->values[4] = (val*) var74; +((struct instance_array__NativeArray*)var82)->values[5] = (val*) var76; { -var85 = string__Collection__join(var_arguments, var81); +((void (*)(val*, val*, long))(var80->class->vft[COLOR_array__Array__with_native]))(var80, var82, var81) /* with_native on */; } -if (varonce86) { -var87 = varonce86; -} else { -var88 = ");"; -var89 = 2; -var90 = string__NativeString__to_s_with_length(var88, var89); -var87 = var90; -varonce86 = var87; } -var91 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var91 = array_instance Array[Object] */ -var92 = 6; -var93 = NEW_array__NativeArray(var92, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var93)->values[0] = (val*) var_res; -((struct instance_array__NativeArray*)var93)->values[1] = (val*) var71; -((struct instance_array__NativeArray*)var93)->values[2] = (val*) var_externname; -((struct instance_array__NativeArray*)var93)->values[3] = (val*) var76; -((struct instance_array__NativeArray*)var93)->values[4] = (val*) var85; -((struct instance_array__NativeArray*)var93)->values[5] = (val*) var87; { -((void (*)(val*, val*, long))(var91->class->vft[COLOR_array__Array__with_native]))(var91, var93, var92) /* with_native on */; -} +var83 = ((val* (*)(val*))(var80->class->vft[COLOR_string__Object__to_s]))(var80) /* to_s on */; } { -var94 = ((val* (*)(val*))(var91->class->vft[COLOR_string__Object__to_s]))(var91) /* to_s on */; +abstract_compiler__AbstractCompilerVisitor__add(var_v, var83); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } { -abstract_compiler__AbstractCompilerVisitor__add(var_v, var94); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +var84 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__box_extern]))(var_v, var_res, var_ret) /* box_extern on */; } +var_res = var84; { abstract_compiler__AbstractCompilerVisitor__ret(var_v, var_res); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } +var85 = 1; +var = var85; +goto RET_LABEL; RET_LABEL:; +return var; } -/* method abstract_compiler#AMethPropdef#compile_externinit_to_c for (self: Object, AbstractCompilerVisitor, MMethodDef, Array[RuntimeVariable]) */ -void VIRTUAL_abstract_compiler__AMethPropdef__compile_externinit_to_c(val* self, val* p0, val* p1, val* p2) { -abstract_compiler__AMethPropdef__compile_externinit_to_c(self, p0, p1, p2); /* Direct call abstract_compiler#AMethPropdef#compile_externinit_to_c on */ +/* method abstract_compiler#AMethPropdef#compile_externinit_to_c for (self: Object, AbstractCompilerVisitor, MMethodDef, Array[RuntimeVariable]): Bool */ +short int VIRTUAL_abstract_compiler__AMethPropdef__compile_externinit_to_c(val* self, val* p0, val* p1, val* p2) { +short int var /* : Bool */; +short int var1 /* : Bool */; +var1 = abstract_compiler__AMethPropdef__compile_externinit_to_c(self, p0, p1, p2); +var = var1; RET_LABEL:; +return var; } /* method abstract_compiler#AAttrPropdef#compile_to_c for (self: AAttrPropdef, AbstractCompilerVisitor, MMethodDef, Array[RuntimeVariable]) */ void abstract_compiler__AAttrPropdef__compile_to_c(val* self, val* p0, val* p1, val* p2) { @@ -6502,170 +6540,153 @@ val* var_other /* var other: nullable Object */; short int var6 /* : Bool */; short int var8 /* : Bool */; long var9 /* : Int */; -long var10 /* : Int */; -short int var11 /* : Bool */; -short int var12 /* : Bool */; +long var11 /* : Int */; +long var12 /* : Int */; +short int var13 /* : Bool */; short int var14 /* : Bool */; -short int var15 /* : Bool */; -short int var17 /* : Bool */; -val* var18 /* : nullable AExpr */; -val* var_nexpr /* var nexpr: nullable AExpr */; -val* var19 /* : null */; +short int var16 /* : Bool */; +val* var17 /* : nullable Object */; +val* var_recv /* var recv: RuntimeVariable */; +short int var18 /* : Bool */; short int var20 /* : Bool */; -short int var21 /* : Bool */; -val* var_other23 /* var other: nullable Object */; -short int var24 /* : Bool */; -short int var25 /* : Bool */; -short int var26 /* : Bool */; -val* var27 /* : nullable MPropDef */; -val* var29 /* : nullable MPropDef */; -val* var30 /* : nullable MType */; -val* var32 /* : nullable MType */; +val* var21 /* : nullable MPropDef */; +val* var23 /* : nullable MPropDef */; +val* var24 /* : nullable MType */; +val* var26 /* : nullable MType */; val* var_ret /* var ret: nullable MType */; -short int var33 /* : Bool */; -val* var34 /* : String */; +short int var27 /* : Bool */; +val* var28 /* : String */; static val* varonce; -val* var35 /* : String */; -char* var36 /* : NativeString */; -long var37 /* : Int */; -val* var38 /* : FlatString */; -short int var39 /* : Bool */; -short int var40 /* : Bool */; +val* var29 /* : String */; +char* var30 /* : NativeString */; +long var31 /* : Int */; +val* var32 /* : FlatString */; +short int var33 /* : Bool */; +short int var34 /* : Bool */; short int var_ /* var : Bool */; -short int var41 /* : Bool */; +short int var35 /* : Bool */; int cltype; int idtype; -short int var42 /* : Bool */; +short int var36 /* : Bool */; short int var_useiset /* var useiset: Bool */; -val* var43 /* : nullable MAttributeDef */; -val* var45 /* : nullable MAttributeDef */; +val* var37 /* : nullable MAttributeDef */; +val* var39 /* : nullable MAttributeDef */; +val* var40 /* : MProperty */; +val* var42 /* : MProperty */; +val* var_guard /* var guard: MAttribute */; +val* var43 /* : nullable MPropDef */; +val* var45 /* : nullable MPropDef */; val* var46 /* : MProperty */; val* var48 /* : MProperty */; -val* var_guard /* var guard: MAttribute */; -val* var49 /* : nullable MPropDef */; -val* var51 /* : nullable MPropDef */; -val* var52 /* : MProperty */; -val* var54 /* : MProperty */; -val* var55 /* : nullable Object */; -val* var56 /* : RuntimeVariable */; +val* var49 /* : RuntimeVariable */; val* var_set /* var set: nullable Object */; -val* var57 /* : nullable Object */; -val* var58 /* : RuntimeVariable */; -static val* varonce59; -val* var60 /* : String */; -char* var61 /* : NativeString */; -long var62 /* : Int */; -val* var63 /* : FlatString */; -static val* varonce64; -val* var65 /* : String */; -char* var66 /* : NativeString */; -long var67 /* : Int */; -val* var68 /* : FlatString */; -val* var69 /* : Array[Object] */; -long var70 /* : Int */; -val* var71 /* : NativeArray[Object] */; -val* var72 /* : String */; -val* var73 /* : nullable MPropDef */; -val* var75 /* : nullable MPropDef */; -val* var76 /* : MProperty */; -val* var78 /* : MProperty */; -val* var79 /* : nullable Object */; -val* var80 /* : RuntimeVariable */; +val* var50 /* : RuntimeVariable */; +static val* varonce51; +val* var52 /* : String */; +char* var53 /* : NativeString */; +long var54 /* : Int */; +val* var55 /* : FlatString */; +static val* varonce56; +val* var57 /* : String */; +char* var58 /* : NativeString */; +long var59 /* : Int */; +val* var60 /* : FlatString */; +val* var61 /* : Array[Object] */; +long var62 /* : Int */; +val* var63 /* : NativeArray[Object] */; +val* var64 /* : String */; +val* var65 /* : nullable MPropDef */; +val* var67 /* : nullable MPropDef */; +val* var68 /* : MProperty */; +val* var70 /* : MProperty */; +val* var71 /* : RuntimeVariable */; val* var_res /* var res: nullable Object */; -static val* varonce81; -val* var82 /* : String */; -char* var83 /* : NativeString */; -long var84 /* : Int */; -val* var85 /* : FlatString */; -val* var86 /* : nullable MPropDef */; -val* var88 /* : nullable MPropDef */; -val* var89 /* : nullable MType */; -val* var91 /* : nullable MType */; -val* var92 /* : RuntimeVariable */; +static val* varonce72; +val* var73 /* : String */; +char* var74 /* : NativeString */; +long var75 /* : Int */; +val* var76 /* : FlatString */; +val* var77 /* : RuntimeVariable */; val* var_value /* var value: RuntimeVariable */; -val* var93 /* : nullable MPropDef */; -val* var95 /* : nullable MPropDef */; -val* var96 /* : MProperty */; -val* var98 /* : MProperty */; -val* var99 /* : nullable Object */; -short int var100 /* : Bool */; -static val* varonce101; -val* var102 /* : String */; -char* var103 /* : NativeString */; -long var104 /* : Int */; -val* var105 /* : FlatString */; -val* var106 /* : MClassType */; -val* var107 /* : RuntimeVariable */; +short int var78 /* : Bool */; +static val* varonce79; +val* var80 /* : String */; +char* var81 /* : NativeString */; +long var82 /* : Int */; +val* var83 /* : FlatString */; +val* var84 /* : MClassType */; +val* var85 /* : RuntimeVariable */; val* var_true_v /* var true_v: RuntimeVariable */; -val* var108 /* : nullable Object */; -static val* varonce109; -val* var110 /* : String */; -char* var111 /* : NativeString */; -long var112 /* : Int */; -val* var113 /* : FlatString */; -val* var114 /* : nullable MPropDef */; -val* var116 /* : nullable MPropDef */; -val* var117 /* : MProperty */; -val* var119 /* : MProperty */; -val* var120 /* : nullable Object */; -val* var121 /* : RuntimeVariable */; -val* var122 /* : nullable Frame */; -val* var124 /* : nullable Frame */; -val* var125 /* : nullable RuntimeVariable */; -val* var127 /* : nullable RuntimeVariable */; -val* var128 /* : nullable MMethodDef */; -val* var130 /* : nullable MMethodDef */; -short int var131 /* : Bool */; +val* var86 /* : nullable Object */; +static val* varonce87; +val* var88 /* : String */; +char* var89 /* : NativeString */; +long var90 /* : Int */; +val* var91 /* : FlatString */; +val* var92 /* : nullable MPropDef */; +val* var94 /* : nullable MPropDef */; +val* var95 /* : MProperty */; +val* var97 /* : MProperty */; +val* var98 /* : nullable Object */; +val* var99 /* : RuntimeVariable */; +val* var100 /* : nullable Frame */; +val* var102 /* : nullable Frame */; +val* var103 /* : nullable RuntimeVariable */; +val* var105 /* : nullable RuntimeVariable */; +val* var106 /* : nullable MMethodDef */; +val* var108 /* : nullable MMethodDef */; +short int var109 /* : Bool */; +short int var110 /* : Bool */; +short int var112 /* : Bool */; +short int var114 /* : Bool */; +long var115 /* : Int */; +long var117 /* : Int */; +long var118 /* : Int */; +short int var119 /* : Bool */; +short int var120 /* : Bool */; +short int var122 /* : Bool */; +val* var123 /* : nullable MPropDef */; +val* var125 /* : nullable MPropDef */; +val* var126 /* : MProperty */; +val* var128 /* : MProperty */; +val* var129 /* : nullable Object */; +long var130 /* : Int */; +val* var131 /* : nullable Object */; short int var132 /* : Bool */; short int var134 /* : Bool */; -short int var136 /* : Bool */; -long var137 /* : Int */; -long var138 /* : Int */; -short int var139 /* : Bool */; -short int var140 /* : Bool */; +val* var135 /* : nullable MPropDef */; +val* var137 /* : nullable MPropDef */; +val* var138 /* : nullable MType */; +val* var140 /* : nullable MType */; +val* var_ret141 /* var ret: nullable MType */; short int var142 /* : Bool */; -val* var143 /* : nullable MPropDef */; -val* var145 /* : nullable MPropDef */; -val* var146 /* : MProperty */; -val* var148 /* : MProperty */; -val* var149 /* : nullable Object */; -long var150 /* : Int */; -val* var151 /* : nullable Object */; +val* var143 /* : String */; +static val* varonce144; +val* var145 /* : String */; +char* var146 /* : NativeString */; +long var147 /* : Int */; +val* var148 /* : FlatString */; +short int var149 /* : Bool */; +short int var150 /* : Bool */; +short int var_151 /* var : Bool */; short int var152 /* : Bool */; -short int var154 /* : Bool */; -val* var155 /* : nullable MPropDef */; -val* var157 /* : nullable MPropDef */; -val* var158 /* : nullable MType */; -val* var160 /* : nullable MType */; -val* var_ret161 /* var ret: nullable MType */; -short int var162 /* : Bool */; -val* var163 /* : String */; -static val* varonce164; -val* var165 /* : String */; -char* var166 /* : NativeString */; -long var167 /* : Int */; -val* var168 /* : FlatString */; -short int var169 /* : Bool */; -short int var170 /* : Bool */; -short int var_171 /* var : Bool */; -short int var172 /* : Bool */; -int cltype173; -int idtype174; -short int var175 /* : Bool */; -short int var_useiset176 /* var useiset: Bool */; -short int var177 /* : Bool */; -val* var178 /* : nullable MAttributeDef */; -val* var180 /* : nullable MAttributeDef */; -val* var181 /* : MProperty */; -val* var183 /* : MProperty */; -val* var184 /* : nullable Object */; -static val* varonce185; -val* var186 /* : String */; -char* var187 /* : NativeString */; -long var188 /* : Int */; -val* var189 /* : FlatString */; -val* var190 /* : MClassType */; -val* var191 /* : RuntimeVariable */; +int cltype153; +int idtype154; +short int var155 /* : Bool */; +short int var_useiset156 /* var useiset: Bool */; +short int var157 /* : Bool */; +val* var158 /* : nullable MAttributeDef */; +val* var160 /* : nullable MAttributeDef */; +val* var161 /* : MProperty */; +val* var163 /* : MProperty */; +val* var164 /* : nullable Object */; +static val* varonce165; +val* var166 /* : String */; +char* var167 /* : NativeString */; +long var168 /* : Int */; +val* var169 /* : FlatString */; +val* var170 /* : MClassType */; +val* var171 /* : RuntimeVariable */; var_v = p0; var_mpropdef = p1; var_arguments = p2; @@ -6695,654 +6716,571 @@ var3 = var4; } if (var3){ { -var9 = array__AbstractArrayRead__length(var_arguments); +{ /* Inline array#AbstractArrayRead#length (var_arguments) on */ +var11 = var_arguments->attrs[COLOR_array__AbstractArrayRead___length].l; /* _length on */ +var9 = var11; +RET_LABEL10:(void)0; } -var10 = 1; +} +var12 = 1; { -{ /* Inline kernel#Int#== (var9,var10) on */ -var14 = var9 == var10; -var12 = var14; -goto RET_LABEL13; -RET_LABEL13:(void)0; +{ /* Inline kernel#Int#== (var9,var12) on */ +var16 = var9 == var12; +var14 = var16; +goto RET_LABEL15; +RET_LABEL15:(void)0; } -var11 = var12; +var13 = var14; } -if (unlikely(!var11)) { +if (unlikely(!var13)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2125); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2310); show_backtrace(1); } { -{ /* Inline modelize_property#AAttrPropdef#is_lazy (self) on */ -var17 = self->attrs[COLOR_modelize_property__AAttrPropdef___is_lazy].s; /* _is_lazy on */ -var15 = var17; -RET_LABEL16:(void)0; -} -} -if (var15){ -{ -var18 = parser_nodes__AAttrPropdef__n_expr(self); -} -var_nexpr = var18; -var19 = NULL; -if (var_nexpr == NULL) { -var20 = 0; /* is null */ -} else { -var20 = 1; /* arg is null and recv is not */ +var17 = abstract_collection__SequenceRead__first(var_arguments); } -if (0) { -{ /* Inline kernel#Object#!= (var_nexpr,var19) on */ -var_other23 = var19; +var_recv = var17; { -var25 = ((short int (*)(val*, val*))(var_nexpr->class->vft[COLOR_kernel__Object___61d_61d]))(var_nexpr, var_other23) /* == on */; -var24 = var25; -} -var26 = !var24; -var21 = var26; -goto RET_LABEL22; -RET_LABEL22:(void)0; -} -var20 = var21; +{ /* Inline modelize_property#AAttrPropdef#is_lazy (self) on */ +var20 = self->attrs[COLOR_modelize_property__AAttrPropdef___is_lazy].s; /* _is_lazy on */ +var18 = var20; +RET_LABEL19:(void)0; } -if (unlikely(!var20)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2129); -show_backtrace(1); } +if (var18){ { { /* Inline modelize_property#APropdef#mpropdef (self) on */ -var29 = self->attrs[COLOR_modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ -var27 = var29; -RET_LABEL28:(void)0; +var23 = self->attrs[COLOR_modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ +var21 = var23; +RET_LABEL22:(void)0; } } -if (var27 == NULL) { +if (var21 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2131); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2315); show_backtrace(1); } else { -{ /* Inline model#MAttributeDef#static_mtype (var27) on */ -if (unlikely(var27 == NULL)) { +{ /* Inline model#MAttributeDef#static_mtype (var21) on */ +if (unlikely(var21 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1963); +PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 2006); show_backtrace(1); } -var32 = var27->attrs[COLOR_model__MAttributeDef___static_mtype].val; /* _static_mtype on */ -var30 = var32; -RET_LABEL31:(void)0; +var26 = var21->attrs[COLOR_model__MAttributeDef___static_mtype].val; /* _static_mtype on */ +var24 = var26; +RET_LABEL25:(void)0; } } -var_ret = var30; +var_ret = var24; if (var_ret == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2132); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2316); show_backtrace(1); } else { -var34 = ((val* (*)(val*))(var_ret->class->vft[COLOR_abstract_compiler__MType__ctype]))(var_ret) /* ctype on */; +var28 = ((val* (*)(val*))(var_ret->class->vft[COLOR_abstract_compiler__MType__ctype]))(var_ret) /* ctype on */; } if (varonce) { -var35 = varonce; +var29 = varonce; } else { -var36 = "val*"; -var37 = 4; -var38 = string__NativeString__to_s_with_length(var36, var37); -var35 = var38; -varonce = var35; +var30 = "val*"; +var31 = 4; +var32 = string__NativeString__to_s_with_length(var30, var31); +var29 = var32; +varonce = var29; } { -var40 = string__FlatString___61d_61d(var34, var35); -var39 = var40; +var34 = string__FlatString___61d_61d(var28, var29); +var33 = var34; } -var_ = var39; -if (var39){ +var_ = var33; +if (var33){ /* isa MNullableType */ cltype = type_model__MNullableType.color; idtype = type_model__MNullableType.id; if(var_ret == NULL) { -var41 = 0; +var35 = 0; } else { if(cltype >= var_ret->type->table_size) { -var41 = 0; +var35 = 0; } else { -var41 = var_ret->type->type_table[cltype] == idtype; +var35 = var_ret->type->type_table[cltype] == idtype; } } -var42 = !var41; -var33 = var42; +var36 = !var35; +var27 = var36; } else { -var33 = var_; +var27 = var_; } -var_useiset = var33; +var_useiset = var27; { { /* Inline modelize_property#AAttrPropdef#mlazypropdef (self) on */ -var45 = self->attrs[COLOR_modelize_property__AAttrPropdef___mlazypropdef].val; /* _mlazypropdef on */ -var43 = var45; -RET_LABEL44:(void)0; +var39 = self->attrs[COLOR_modelize_property__AAttrPropdef___mlazypropdef].val; /* _mlazypropdef on */ +var37 = var39; +RET_LABEL38:(void)0; } } -if (var43 == NULL) { +if (var37 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2133); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2317); show_backtrace(1); } else { -{ /* Inline model#MPropDef#mproperty (var43) on */ -if (unlikely(var43 == NULL)) { +{ /* Inline model#MPropDef#mproperty (var37) on */ +if (unlikely(var37 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1882); +PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898); show_backtrace(1); } -var48 = var43->attrs[COLOR_model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var48 == NULL)) { +var42 = var37->attrs[COLOR_model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var42 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1882); +PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898); show_backtrace(1); } -var46 = var48; -RET_LABEL47:(void)0; +var40 = var42; +RET_LABEL41:(void)0; } } -var_guard = var46; +var_guard = var40; if (var_useiset){ { { /* Inline modelize_property#APropdef#mpropdef (self) on */ -var51 = self->attrs[COLOR_modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ -var49 = var51; -RET_LABEL50:(void)0; +var45 = self->attrs[COLOR_modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ +var43 = var45; +RET_LABEL44:(void)0; } } -if (var49 == NULL) { +if (var43 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2135); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2319); show_backtrace(1); } else { -{ /* Inline model#MPropDef#mproperty (var49) on */ -if (unlikely(var49 == NULL)) { +{ /* Inline model#MPropDef#mproperty (var43) on */ +if (unlikely(var43 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1882); +PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898); show_backtrace(1); } -var54 = var49->attrs[COLOR_model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var54 == NULL)) { +var48 = var43->attrs[COLOR_model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var48 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1882); +PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898); show_backtrace(1); } -var52 = var54; -RET_LABEL53:(void)0; -} +var46 = var48; +RET_LABEL47:(void)0; } -{ -var55 = abstract_collection__SequenceRead__first(var_arguments); } { -var56 = separate_compiler__SeparateCompilerVisitor__isset_attribute(var_v, var52, var55); +var49 = separate_compiler__SeparateCompilerVisitor__isset_attribute(var_v, var46, var_recv); } -var_set = var56; +var_set = var49; } else { { -var57 = abstract_collection__SequenceRead__first(var_arguments); -} -{ -var58 = separate_compiler__SeparateCompilerVisitor__read_attribute(var_v, var_guard, var57); +var50 = separate_compiler__SeparateCompilerVisitor__read_attribute(var_v, var_guard, var_recv); } -var_set = var58; +var_set = var50; } -if (varonce59) { -var60 = varonce59; +if (varonce51) { +var52 = varonce51; } else { -var61 = "if(likely("; -var62 = 10; -var63 = string__NativeString__to_s_with_length(var61, var62); -var60 = var63; -varonce59 = var60; +var53 = "if(likely("; +var54 = 10; +var55 = string__NativeString__to_s_with_length(var53, var54); +var52 = var55; +varonce51 = var52; } -if (varonce64) { -var65 = varonce64; +if (varonce56) { +var57 = varonce56; } else { -var66 = ")) {"; -var67 = 4; -var68 = string__NativeString__to_s_with_length(var66, var67); -var65 = var68; -varonce64 = var65; +var58 = ")) {"; +var59 = 4; +var60 = string__NativeString__to_s_with_length(var58, var59); +var57 = var60; +varonce56 = var57; } -var69 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var69 = array_instance Array[Object] */ -var70 = 3; -var71 = NEW_array__NativeArray(var70, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var71)->values[0] = (val*) var60; -((struct instance_array__NativeArray*)var71)->values[1] = (val*) var_set; -((struct instance_array__NativeArray*)var71)->values[2] = (val*) var65; +var61 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var61 = array_instance Array[Object] */ +var62 = 3; +var63 = NEW_array__NativeArray(var62, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var63)->values[0] = (val*) var52; +((struct instance_array__NativeArray*)var63)->values[1] = (val*) var_set; +((struct instance_array__NativeArray*)var63)->values[2] = (val*) var57; { -((void (*)(val*, val*, long))(var69->class->vft[COLOR_array__Array__with_native]))(var69, var71, var70) /* with_native on */; +((void (*)(val*, val*, long))(var61->class->vft[COLOR_array__Array__with_native]))(var61, var63, var62) /* with_native on */; } } { -var72 = ((val* (*)(val*))(var69->class->vft[COLOR_string__Object__to_s]))(var69) /* to_s on */; +var64 = ((val* (*)(val*))(var61->class->vft[COLOR_string__Object__to_s]))(var61) /* to_s on */; } { -abstract_compiler__AbstractCompilerVisitor__add(var_v, var72); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +abstract_compiler__AbstractCompilerVisitor__add(var_v, var64); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } { { /* Inline modelize_property#APropdef#mpropdef (self) on */ -var75 = self->attrs[COLOR_modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ -var73 = var75; -RET_LABEL74:(void)0; +var67 = self->attrs[COLOR_modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ +var65 = var67; +RET_LABEL66:(void)0; } } -if (var73 == NULL) { +if (var65 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2140); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2324); show_backtrace(1); } else { -{ /* Inline model#MPropDef#mproperty (var73) on */ -if (unlikely(var73 == NULL)) { +{ /* Inline model#MPropDef#mproperty (var65) on */ +if (unlikely(var65 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1882); +PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898); show_backtrace(1); } -var78 = var73->attrs[COLOR_model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var78 == NULL)) { +var70 = var65->attrs[COLOR_model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var70 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1882); -show_backtrace(1); -} -var76 = var78; -RET_LABEL77:(void)0; -} -} -{ -var79 = abstract_collection__SequenceRead__first(var_arguments); -} -{ -var80 = separate_compiler__SeparateCompilerVisitor__read_attribute(var_v, var76, var79); -} -var_res = var80; -if (varonce81) { -var82 = varonce81; -} else { -var83 = "} else {"; -var84 = 8; -var85 = string__NativeString__to_s_with_length(var83, var84); -var82 = var85; -varonce81 = var82; -} -{ -abstract_compiler__AbstractCompilerVisitor__add(var_v, var82); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ -} -{ -{ /* Inline modelize_property#APropdef#mpropdef (self) on */ -var88 = self->attrs[COLOR_modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ -var86 = var88; -RET_LABEL87:(void)0; -} -} -if (var86 == NULL) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2142); -show_backtrace(1); -} else { -{ /* Inline model#MAttributeDef#static_mtype (var86) on */ -if (unlikely(var86 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1963); +PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898); show_backtrace(1); } -var91 = var86->attrs[COLOR_model__MAttributeDef___static_mtype].val; /* _static_mtype on */ -var89 = var91; -RET_LABEL90:(void)0; -} +var68 = var70; +RET_LABEL69:(void)0; } -{ -var92 = abstract_compiler__AbstractCompilerVisitor__expr(var_v, var_nexpr, var89); } -var_value = var92; { -{ /* Inline modelize_property#APropdef#mpropdef (self) on */ -var95 = self->attrs[COLOR_modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ -var93 = var95; -RET_LABEL94:(void)0; -} +var71 = separate_compiler__SeparateCompilerVisitor__read_attribute(var_v, var68, var_recv); } -if (var93 == NULL) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2143); -show_backtrace(1); +var_res = var71; +if (varonce72) { +var73 = varonce72; } else { -{ /* Inline model#MPropDef#mproperty (var93) on */ -if (unlikely(var93 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1882); -show_backtrace(1); -} -var98 = var93->attrs[COLOR_model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var98 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1882); -show_backtrace(1); -} -var96 = var98; -RET_LABEL97:(void)0; -} +var74 = "} else {"; +var75 = 8; +var76 = string__NativeString__to_s_with_length(var74, var75); +var73 = var76; +varonce72 = var73; } { -var99 = abstract_collection__SequenceRead__first(var_arguments); +abstract_compiler__AbstractCompilerVisitor__add(var_v, var73); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } { -separate_compiler__SeparateCompilerVisitor__write_attribute(var_v, var96, var99, var_value); /* Direct call separate_compiler#SeparateCompilerVisitor#write_attribute on */ +var77 = abstract_compiler__AAttrPropdef__evaluate_expr(self, var_v, var_recv); } +var_value = var77; { abstract_compiler__AbstractCompilerVisitor__assign(var_v, var_res, var_value); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on */ } -var100 = !var_useiset; -if (var100){ -if (varonce101) { -var102 = varonce101; +var78 = !var_useiset; +if (var78){ +if (varonce79) { +var80 = varonce79; } else { -var103 = "1"; -var104 = 1; -var105 = string__NativeString__to_s_with_length(var103, var104); -var102 = var105; -varonce101 = var102; +var81 = "1"; +var82 = 1; +var83 = string__NativeString__to_s_with_length(var81, var82); +var80 = var83; +varonce79 = var80; } { -var106 = abstract_compiler__AbstractCompilerVisitor__bool_type(var_v); +var84 = abstract_compiler__AbstractCompilerVisitor__bool_type(var_v); } { -var107 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var102, var106); +var85 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var80, var84); } -var_true_v = var107; +var_true_v = var85; { -var108 = abstract_collection__SequenceRead__first(var_arguments); +var86 = abstract_collection__SequenceRead__first(var_arguments); } { -separate_compiler__SeparateCompilerVisitor__write_attribute(var_v, var_guard, var108, var_true_v); /* Direct call separate_compiler#SeparateCompilerVisitor#write_attribute on */ +separate_compiler__SeparateCompilerVisitor__write_attribute(var_v, var_guard, var86, var_true_v); /* Direct call separate_compiler#SeparateCompilerVisitor#write_attribute on */ } } else { } -if (varonce109) { -var110 = varonce109; +if (varonce87) { +var88 = varonce87; } else { -var111 = "}"; -var112 = 1; -var113 = string__NativeString__to_s_with_length(var111, var112); -var110 = var113; -varonce109 = var110; +var89 = "}"; +var90 = 1; +var91 = string__NativeString__to_s_with_length(var89, var90); +var88 = var91; +varonce87 = var88; } { -abstract_compiler__AbstractCompilerVisitor__add(var_v, var110); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +abstract_compiler__AbstractCompilerVisitor__add(var_v, var88); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } } else { { { /* Inline modelize_property#APropdef#mpropdef (self) on */ -var116 = self->attrs[COLOR_modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ -var114 = var116; -RET_LABEL115:(void)0; +var94 = self->attrs[COLOR_modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ +var92 = var94; +RET_LABEL93:(void)0; } } -if (var114 == NULL) { +if (var92 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2151); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2336); show_backtrace(1); } else { -{ /* Inline model#MPropDef#mproperty (var114) on */ -if (unlikely(var114 == NULL)) { +{ /* Inline model#MPropDef#mproperty (var92) on */ +if (unlikely(var92 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1882); +PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898); show_backtrace(1); } -var119 = var114->attrs[COLOR_model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var119 == NULL)) { +var97 = var92->attrs[COLOR_model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var97 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1882); +PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898); show_backtrace(1); } -var117 = var119; -RET_LABEL118:(void)0; +var95 = var97; +RET_LABEL96:(void)0; } } { -var120 = abstract_collection__SequenceRead__first(var_arguments); +var98 = abstract_collection__SequenceRead__first(var_arguments); } { -var121 = separate_compiler__SeparateCompilerVisitor__read_attribute(var_v, var117, var120); +var99 = separate_compiler__SeparateCompilerVisitor__read_attribute(var_v, var95, var98); } -var_res = var121; +var_res = var99; } { { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (var_v) on */ -var124 = var_v->attrs[COLOR_abstract_compiler__AbstractCompilerVisitor___frame].val; /* _frame on */ -var122 = var124; -RET_LABEL123:(void)0; +var102 = var_v->attrs[COLOR_abstract_compiler__AbstractCompilerVisitor___frame].val; /* _frame on */ +var100 = var102; +RET_LABEL101:(void)0; } } -if (var122 == NULL) { +if (var100 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2153); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2338); show_backtrace(1); } else { -{ /* Inline abstract_compiler#Frame#returnvar (var122) on */ -if (unlikely(var122 == NULL)) { +{ /* Inline abstract_compiler#Frame#returnvar (var100) on */ +if (unlikely(var100 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1541); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1691); show_backtrace(1); } -var127 = var122->attrs[COLOR_abstract_compiler__Frame___returnvar].val; /* _returnvar on */ -var125 = var127; -RET_LABEL126:(void)0; +var105 = var100->attrs[COLOR_abstract_compiler__Frame___returnvar].val; /* _returnvar on */ +var103 = var105; +RET_LABEL104:(void)0; } } -if (unlikely(var125 == NULL)) { +if (unlikely(var103 == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2153); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2338); show_backtrace(1); } { -abstract_compiler__AbstractCompilerVisitor__assign(var_v, var125, var_res); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on */ +abstract_compiler__AbstractCompilerVisitor__assign(var_v, var103, var_res); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on */ } } else { { { /* Inline modelize_property#AAttrPropdef#mwritepropdef (self) on */ -var130 = self->attrs[COLOR_modelize_property__AAttrPropdef___mwritepropdef].val; /* _mwritepropdef on */ -var128 = var130; -RET_LABEL129:(void)0; +var108 = self->attrs[COLOR_modelize_property__AAttrPropdef___mwritepropdef].val; /* _mwritepropdef on */ +var106 = var108; +RET_LABEL107:(void)0; } } { -{ /* Inline kernel#Object#== (var_mpropdef,var128) on */ -var_other = var128; +{ /* Inline kernel#Object#== (var_mpropdef,var106) on */ +var_other = var106; { { /* Inline kernel#Object#is_same_instance (var_mpropdef,var_other) on */ -var136 = var_mpropdef == var_other; -var134 = var136; -goto RET_LABEL135; -RET_LABEL135:(void)0; +var114 = var_mpropdef == var_other; +var112 = var114; +goto RET_LABEL113; +RET_LABEL113:(void)0; } } -var132 = var134; -goto RET_LABEL133; -RET_LABEL133:(void)0; +var110 = var112; +goto RET_LABEL111; +RET_LABEL111:(void)0; } -var131 = var132; +var109 = var110; } -if (var131){ +if (var109){ { -var137 = array__AbstractArrayRead__length(var_arguments); +{ /* Inline array#AbstractArrayRead#length (var_arguments) on */ +var117 = var_arguments->attrs[COLOR_array__AbstractArrayRead___length].l; /* _length on */ +var115 = var117; +RET_LABEL116:(void)0; +} } -var138 = 2; +var118 = 2; { -{ /* Inline kernel#Int#== (var137,var138) on */ -var142 = var137 == var138; -var140 = var142; -goto RET_LABEL141; -RET_LABEL141:(void)0; +{ /* Inline kernel#Int#== (var115,var118) on */ +var122 = var115 == var118; +var120 = var122; +goto RET_LABEL121; +RET_LABEL121:(void)0; } -var139 = var140; +var119 = var120; } -if (unlikely(!var139)) { +if (unlikely(!var119)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2155); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2340); show_backtrace(1); } { { /* Inline modelize_property#APropdef#mpropdef (self) on */ -var145 = self->attrs[COLOR_modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ -var143 = var145; -RET_LABEL144:(void)0; +var125 = self->attrs[COLOR_modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ +var123 = var125; +RET_LABEL124:(void)0; } } -if (var143 == NULL) { +if (var123 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2156); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2341); show_backtrace(1); } else { -{ /* Inline model#MPropDef#mproperty (var143) on */ -if (unlikely(var143 == NULL)) { +{ /* Inline model#MPropDef#mproperty (var123) on */ +if (unlikely(var123 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1882); +PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898); show_backtrace(1); } -var148 = var143->attrs[COLOR_model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var148 == NULL)) { +var128 = var123->attrs[COLOR_model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var128 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1882); +PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898); show_backtrace(1); } -var146 = var148; -RET_LABEL147:(void)0; +var126 = var128; +RET_LABEL127:(void)0; } } { -var149 = abstract_collection__SequenceRead__first(var_arguments); +var129 = abstract_collection__SequenceRead__first(var_arguments); } -var150 = 1; +var130 = 1; { -var151 = array__Array___91d_93d(var_arguments, var150); +var131 = array__Array___91d_93d(var_arguments, var130); } { -separate_compiler__SeparateCompilerVisitor__write_attribute(var_v, var146, var149, var151); /* Direct call separate_compiler#SeparateCompilerVisitor#write_attribute on */ +separate_compiler__SeparateCompilerVisitor__write_attribute(var_v, var126, var129, var131); /* Direct call separate_compiler#SeparateCompilerVisitor#write_attribute on */ } { { /* Inline modelize_property#AAttrPropdef#is_lazy (self) on */ -var154 = self->attrs[COLOR_modelize_property__AAttrPropdef___is_lazy].s; /* _is_lazy on */ -var152 = var154; -RET_LABEL153:(void)0; +var134 = self->attrs[COLOR_modelize_property__AAttrPropdef___is_lazy].s; /* _is_lazy on */ +var132 = var134; +RET_LABEL133:(void)0; } } -if (var152){ +if (var132){ { { /* Inline modelize_property#APropdef#mpropdef (self) on */ -var157 = self->attrs[COLOR_modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ -var155 = var157; -RET_LABEL156:(void)0; +var137 = self->attrs[COLOR_modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ +var135 = var137; +RET_LABEL136:(void)0; } } -if (var155 == NULL) { +if (var135 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2158); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2343); show_backtrace(1); } else { -{ /* Inline model#MAttributeDef#static_mtype (var155) on */ -if (unlikely(var155 == NULL)) { +{ /* Inline model#MAttributeDef#static_mtype (var135) on */ +if (unlikely(var135 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1963); +PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 2006); show_backtrace(1); } -var160 = var155->attrs[COLOR_model__MAttributeDef___static_mtype].val; /* _static_mtype on */ -var158 = var160; -RET_LABEL159:(void)0; +var140 = var135->attrs[COLOR_model__MAttributeDef___static_mtype].val; /* _static_mtype on */ +var138 = var140; +RET_LABEL139:(void)0; } } -var_ret161 = var158; -if (var_ret161 == NULL) { +var_ret141 = var138; +if (var_ret141 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2159); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2344); show_backtrace(1); } else { -var163 = ((val* (*)(val*))(var_ret161->class->vft[COLOR_abstract_compiler__MType__ctype]))(var_ret161) /* ctype on */; +var143 = ((val* (*)(val*))(var_ret141->class->vft[COLOR_abstract_compiler__MType__ctype]))(var_ret141) /* ctype on */; } -if (varonce164) { -var165 = varonce164; +if (varonce144) { +var145 = varonce144; } else { -var166 = "val*"; -var167 = 4; -var168 = string__NativeString__to_s_with_length(var166, var167); -var165 = var168; -varonce164 = var165; +var146 = "val*"; +var147 = 4; +var148 = string__NativeString__to_s_with_length(var146, var147); +var145 = var148; +varonce144 = var145; } { -var170 = string__FlatString___61d_61d(var163, var165); -var169 = var170; +var150 = string__FlatString___61d_61d(var143, var145); +var149 = var150; } -var_171 = var169; -if (var169){ -/* isa MNullableType */ -cltype173 = type_model__MNullableType.color; -idtype174 = type_model__MNullableType.id; -if(var_ret161 == NULL) { -var172 = 0; +var_151 = var149; +if (var149){ +/* isa MNullableType */ +cltype153 = type_model__MNullableType.color; +idtype154 = type_model__MNullableType.id; +if(var_ret141 == NULL) { +var152 = 0; } else { -if(cltype173 >= var_ret161->type->table_size) { -var172 = 0; +if(cltype153 >= var_ret141->type->table_size) { +var152 = 0; } else { -var172 = var_ret161->type->type_table[cltype173] == idtype174; +var152 = var_ret141->type->type_table[cltype153] == idtype154; } } -var175 = !var172; -var162 = var175; +var155 = !var152; +var142 = var155; } else { -var162 = var_171; +var142 = var_151; } -var_useiset176 = var162; -var177 = !var_useiset176; -if (var177){ +var_useiset156 = var142; +var157 = !var_useiset156; +if (var157){ { { /* Inline modelize_property#AAttrPropdef#mlazypropdef (self) on */ -var180 = self->attrs[COLOR_modelize_property__AAttrPropdef___mlazypropdef].val; /* _mlazypropdef on */ -var178 = var180; -RET_LABEL179:(void)0; +var160 = self->attrs[COLOR_modelize_property__AAttrPropdef___mlazypropdef].val; /* _mlazypropdef on */ +var158 = var160; +RET_LABEL159:(void)0; } } -if (var178 == NULL) { +if (var158 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2161); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2346); show_backtrace(1); } else { -{ /* Inline model#MPropDef#mproperty (var178) on */ -if (unlikely(var178 == NULL)) { +{ /* Inline model#MPropDef#mproperty (var158) on */ +if (unlikely(var158 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1882); +PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898); show_backtrace(1); } -var183 = var178->attrs[COLOR_model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var183 == NULL)) { +var163 = var158->attrs[COLOR_model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var163 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1882); +PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898); show_backtrace(1); } -var181 = var183; -RET_LABEL182:(void)0; +var161 = var163; +RET_LABEL162:(void)0; } } { -var184 = abstract_collection__SequenceRead__first(var_arguments); +var164 = abstract_collection__SequenceRead__first(var_arguments); } -if (varonce185) { -var186 = varonce185; +if (varonce165) { +var166 = varonce165; } else { -var187 = "1"; -var188 = 1; -var189 = string__NativeString__to_s_with_length(var187, var188); -var186 = var189; -varonce185 = var186; +var167 = "1"; +var168 = 1; +var169 = string__NativeString__to_s_with_length(var167, var168); +var166 = var169; +varonce165 = var166; } { -var190 = abstract_compiler__AbstractCompilerVisitor__bool_type(var_v); +var170 = abstract_compiler__AbstractCompilerVisitor__bool_type(var_v); } { -var191 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var186, var190); +var171 = abstract_compiler__AbstractCompilerVisitor__new_expr(var_v, var166, var170); } { -separate_compiler__SeparateCompilerVisitor__write_attribute(var_v, var181, var184, var191); /* Direct call separate_compiler#SeparateCompilerVisitor#write_attribute on */ +separate_compiler__SeparateCompilerVisitor__write_attribute(var_v, var161, var164, var171); /* Direct call separate_compiler#SeparateCompilerVisitor#write_attribute on */ } } else { } @@ -7350,7 +7288,7 @@ separate_compiler__SeparateCompilerVisitor__write_attribute(var_v, var181, var18 } } else { PRINT_ERROR("Runtime error: %s", "Aborted"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2165); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2350); show_backtrace(1); } } @@ -7365,275 +7303,498 @@ RET_LABEL:; void abstract_compiler__AAttrPropdef__init_expr(val* self, val* p0, val* p1) { val* var_v /* var v: AbstractCompilerVisitor */; val* var_recv /* var recv: RuntimeVariable */; -val* var /* : nullable AExpr */; -val* var_nexpr /* var nexpr: nullable AExpr */; +short int var /* : Bool */; short int var1 /* : Bool */; -val* var2 /* : null */; short int var3 /* : Bool */; +short int var_ /* var : Bool */; short int var4 /* : Bool */; -val* var_other /* var other: nullable Object */; short int var6 /* : Bool */; short int var7 /* : Bool */; -short int var8 /* : Bool */; -short int var_ /* var : Bool */; -short int var9 /* : Bool */; -short int var11 /* : Bool */; -short int var12 /* : Bool */; -val* var13 /* : nullable ANode */; -val* var15 /* : nullable ANode */; -val* var_oldnode /* var oldnode: nullable ANode */; -val* var17 /* : nullable Frame */; -val* var19 /* : nullable Frame */; -val* var_old_frame /* var old_frame: nullable Frame */; -val* var20 /* : Frame */; -val* var21 /* : nullable MPropDef */; -val* var23 /* : nullable MPropDef */; -val* var24 /* : MType */; -val* var26 /* : MType */; -short int var27 /* : Bool */; -int cltype; -int idtype; -const char* var_class_name; -val* var28 /* : Array[RuntimeVariable] */; -long var29 /* : Int */; -val* var_30 /* var : Array[RuntimeVariable] */; -short int var32 /* : Bool */; -int cltype33; -int idtype34; -const struct type* type_struct; -const char* var_class_name35; -val* var_frame /* var frame: Frame */; -val* var37 /* : nullable MPropDef */; -val* var39 /* : nullable MPropDef */; -val* var40 /* : nullable MType */; -val* var42 /* : nullable MType */; -val* var43 /* : RuntimeVariable */; -val* var_value /* var value: RuntimeVariable */; -val* var44 /* : nullable MPropDef */; -val* var46 /* : nullable MPropDef */; -val* var47 /* : MProperty */; -val* var49 /* : MProperty */; +val* var8 /* : RuntimeVariable */; var_v = p0; var_recv = p1; { -var = parser_nodes__AAttrPropdef__n_expr(self); +{ /* Inline modelize_property#AAttrPropdef#has_value (self) on */ +var3 = self->attrs[COLOR_modelize_property__AAttrPropdef___has_value].s; /* _has_value on */ +var1 = var3; +RET_LABEL2:(void)0; } -var_nexpr = var; -var2 = NULL; -if (var_nexpr == NULL) { -var3 = 0; /* is null */ -} else { -var3 = 1; /* arg is null and recv is not */ } -if (0) { -{ /* Inline kernel#Object#!= (var_nexpr,var2) on */ -var_other = var2; +var_ = var1; +if (var1){ { -var7 = ((short int (*)(val*, val*))(var_nexpr->class->vft[COLOR_kernel__Object___61d_61d]))(var_nexpr, var_other) /* == on */; -var6 = var7; -} -var8 = !var6; -var4 = var8; -goto RET_LABEL5; +{ /* Inline modelize_property#AAttrPropdef#is_lazy (self) on */ +var6 = self->attrs[COLOR_modelize_property__AAttrPropdef___is_lazy].s; /* _is_lazy on */ +var4 = var6; RET_LABEL5:(void)0; } -var3 = var4; } -var_ = var3; -if (var3){ -{ -{ /* Inline modelize_property#AAttrPropdef#is_lazy (self) on */ -var11 = self->attrs[COLOR_modelize_property__AAttrPropdef___is_lazy].s; /* _is_lazy on */ -var9 = var11; -RET_LABEL10:(void)0; +var7 = !var4; +var = var7; +} else { +var = var_; } +if (var){ +{ +var8 = abstract_compiler__AAttrPropdef__evaluate_expr(self, var_v, var_recv); } -var12 = !var9; -var1 = var12; } else { -var1 = var_; } -if (var1){ +RET_LABEL:; +} +/* method abstract_compiler#AAttrPropdef#init_expr for (self: Object, AbstractCompilerVisitor, RuntimeVariable) */ +void VIRTUAL_abstract_compiler__AAttrPropdef__init_expr(val* self, val* p0, val* p1) { +abstract_compiler__AAttrPropdef__init_expr(self, p0, p1); /* Direct call abstract_compiler#AAttrPropdef#init_expr on */ +RET_LABEL:; +} +/* method abstract_compiler#AAttrPropdef#evaluate_expr for (self: AAttrPropdef, AbstractCompilerVisitor, RuntimeVariable): RuntimeVariable */ +val* abstract_compiler__AAttrPropdef__evaluate_expr(val* self, val* p0, val* p1) { +val* var /* : RuntimeVariable */; +val* var_v /* var v: AbstractCompilerVisitor */; +val* var_recv /* var recv: RuntimeVariable */; +val* var1 /* : nullable ANode */; +val* var3 /* : nullable ANode */; +val* var_oldnode /* var oldnode: nullable ANode */; +val* var5 /* : nullable Frame */; +val* var7 /* : nullable Frame */; +val* var_old_frame /* var old_frame: nullable Frame */; +val* var8 /* : Frame */; +val* var9 /* : nullable MPropDef */; +val* var11 /* : nullable MPropDef */; +val* var12 /* : MType */; +val* var14 /* : MType */; +short int var15 /* : Bool */; +int cltype; +int idtype; +const char* var_class_name; +val* var16 /* : Array[RuntimeVariable] */; +long var17 /* : Int */; +val* var_ /* var : Array[RuntimeVariable] */; +val* var_frame /* var frame: Frame */; +val* var19 /* : nullable MPropDef */; +val* var21 /* : nullable MPropDef */; +val* var22 /* : nullable MType */; +val* var24 /* : nullable MType */; +val* var_mtype /* var mtype: nullable MType */; +val* var25 /* : null */; +short int var26 /* : Bool */; +short int var27 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var29 /* : Bool */; +short int var30 /* : Bool */; +short int var31 /* : Bool */; +val* var32 /* : nullable AExpr */; +val* var34 /* : nullable AExpr */; +val* var_nexpr /* var nexpr: nullable AExpr */; +val* var35 /* : nullable AExpr */; +val* var37 /* : nullable AExpr */; +val* var_nblock /* var nblock: nullable AExpr */; +val* var38 /* : null */; +short int var39 /* : Bool */; +short int var40 /* : Bool */; +short int var42 /* : Bool */; +short int var43 /* : Bool */; +short int var44 /* : Bool */; +val* var45 /* : RuntimeVariable */; +val* var_value /* var value: nullable Object */; +val* var46 /* : null */; +short int var47 /* : Bool */; +short int var48 /* : Bool */; +short int var50 /* : Bool */; +short int var51 /* : Bool */; +short int var52 /* : Bool */; +val* var53 /* : RuntimeVariable */; +static val* varonce; +val* var55 /* : String */; +char* var56 /* : NativeString */; +long var57 /* : Int */; +val* var58 /* : FlatString */; +val* var59 /* : String */; +static val* varonce61; +val* var62 /* : String */; +char* var63 /* : NativeString */; +long var64 /* : Int */; +val* var65 /* : FlatString */; +val* var66 /* : nullable String */; +val* var68 /* : nullable String */; +static val* varonce69; +val* var70 /* : String */; +char* var71 /* : NativeString */; +long var72 /* : Int */; +val* var73 /* : FlatString */; +val* var74 /* : Array[Object] */; +long var75 /* : Int */; +val* var76 /* : NativeArray[Object] */; +val* var77 /* : String */; +static val* varonce78; +val* var79 /* : String */; +char* var80 /* : NativeString */; +long var81 /* : Int */; +val* var82 /* : FlatString */; +val* var83 /* : nullable MPropDef */; +val* var85 /* : nullable MPropDef */; +val* var86 /* : MProperty */; +val* var88 /* : MProperty */; +var_v = p0; +var_recv = p1; { { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node (var_v) on */ -var15 = var_v->attrs[COLOR_abstract_compiler__AbstractCompilerVisitor___current_node].val; /* _current_node on */ -var13 = var15; -RET_LABEL14:(void)0; +var3 = var_v->attrs[COLOR_abstract_compiler__AbstractCompilerVisitor___current_node].val; /* _current_node on */ +var1 = var3; +RET_LABEL2:(void)0; } } -var_oldnode = var13; +var_oldnode = var1; { { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node= (var_v,self) on */ var_v->attrs[COLOR_abstract_compiler__AbstractCompilerVisitor___current_node].val = self; /* _current_node on */ -RET_LABEL16:(void)0; +RET_LABEL4:(void)0; } } { { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (var_v) on */ -var19 = var_v->attrs[COLOR_abstract_compiler__AbstractCompilerVisitor___frame].val; /* _frame on */ -var17 = var19; -RET_LABEL18:(void)0; +var7 = var_v->attrs[COLOR_abstract_compiler__AbstractCompilerVisitor___frame].val; /* _frame on */ +var5 = var7; +RET_LABEL6:(void)0; } } -var_old_frame = var17; -var20 = NEW_abstract_compiler__Frame(&type_abstract_compiler__Frame); +var_old_frame = var5; +var8 = NEW_abstract_compiler__Frame(&type_abstract_compiler__Frame); { { /* Inline modelize_property#APropdef#mpropdef (self) on */ -var23 = self->attrs[COLOR_modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ -var21 = var23; -RET_LABEL22:(void)0; +var11 = self->attrs[COLOR_modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ +var9 = var11; +RET_LABEL10:(void)0; } } -if (unlikely(var21 == NULL)) { +if (unlikely(var9 == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2176); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2365); show_backtrace(1); } { -{ /* Inline abstract_compiler#RuntimeVariable#mtype (var_recv) on */ -var26 = var_recv->attrs[COLOR_abstract_compiler__RuntimeVariable___mtype].val; /* _mtype on */ -if (unlikely(var26 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1484); +{ /* Inline abstract_compiler#RuntimeVariable#mcasttype (var_recv) on */ +var14 = var_recv->attrs[COLOR_abstract_compiler__RuntimeVariable___mcasttype].val; /* _mcasttype on */ +if (unlikely(var14 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype"); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1637); show_backtrace(1); } -var24 = var26; -RET_LABEL25:(void)0; +var12 = var14; +RET_LABEL13:(void)0; } } -/* isa MClassType */ +/* isa MClassType */ cltype = type_model__MClassType.color; idtype = type_model__MClassType.id; -if(cltype >= var24->type->table_size) { -var27 = 0; +if(cltype >= var12->type->table_size) { +var15 = 0; } else { -var27 = var24->type->type_table[cltype] == idtype; +var15 = var12->type->type_table[cltype] == idtype; } -if (unlikely(!var27)) { -var_class_name = var24 == NULL ? "null" : var24->type->name; +if (unlikely(!var15)) { +var_class_name = var12 == NULL ? "null" : var12->type->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2176); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2365); show_backtrace(1); } -var28 = NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable); -var29 = 1; +var16 = NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable); +var17 = 1; { -array__Array__with_capacity(var28, var29); /* Direct call array#Array#with_capacity on */ +array__Array__with_capacity(var16, var17); /* Direct call array#Array#with_capacity on */ } -var_30 = var28; +var_ = var16; { -array__AbstractArray__push(var_30, var_recv); /* Direct call array#AbstractArray#push on */ +array__AbstractArray__push(var_, var_recv); /* Direct call array#AbstractArray#push on */ } { -{ /* Inline abstract_compiler#Frame#init (var20,var_v,var21,var24,var_30) on */ -/* Covariant cast for argument 0 (visitor) isa VISITOR */ -/* isa VISITOR */ -type_struct = var20->type->resolution_table->types[COLOR_abstract_compiler__Frame_VTVISITOR]; -cltype33 = type_struct->color; -idtype34 = type_struct->id; -if(cltype33 >= var_v->type->table_size) { -var32 = 0; -} else { -var32 = var_v->type->type_table[cltype33] == idtype34; +((void (*)(val*, val*))(var8->class->vft[COLOR_abstract_compiler__Frame__visitor_61d]))(var8, var_v) /* visitor= on */; } -if (unlikely(!var32)) { -var_class_name35 = var_v == NULL ? "null" : var_v->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name35); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1523); -show_backtrace(1); +{ +((void (*)(val*, val*))(var8->class->vft[COLOR_abstract_compiler__Frame__mpropdef_61d]))(var8, var9) /* mpropdef= on */; +} +{ +((void (*)(val*, val*))(var8->class->vft[COLOR_abstract_compiler__Frame__receiver_61d]))(var8, var12) /* receiver= on */; } -var20->attrs[COLOR_abstract_compiler__Frame___visitor].val = var_v; /* _visitor on */ -var20->attrs[COLOR_abstract_compiler__Frame___mpropdef].val = var21; /* _mpropdef on */ -var20->attrs[COLOR_abstract_compiler__Frame___receiver].val = var24; /* _receiver on */ -var20->attrs[COLOR_abstract_compiler__Frame___arguments].val = var_30; /* _arguments on */ -RET_LABEL31:(void)0; +{ +((void (*)(val*, val*))(var8->class->vft[COLOR_abstract_compiler__Frame__arguments_61d]))(var8, var_) /* arguments= on */; } +{ +((void (*)(val*))(var8->class->vft[COLOR_kernel__Object__init]))(var8) /* init on */; } -var_frame = var20; +var_frame = var8; { { /* Inline abstract_compiler#AbstractCompilerVisitor#frame= (var_v,var_frame) on */ var_v->attrs[COLOR_abstract_compiler__AbstractCompilerVisitor___frame].val = var_frame; /* _frame on */ -RET_LABEL36:(void)0; +RET_LABEL18:(void)0; } } { { /* Inline modelize_property#APropdef#mpropdef (self) on */ -var39 = self->attrs[COLOR_modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ -var37 = var39; -RET_LABEL38:(void)0; +var21 = self->attrs[COLOR_modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ +var19 = var21; +RET_LABEL20:(void)0; } } -if (var37 == NULL) { +if (var19 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2178); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2369); show_backtrace(1); } else { -{ /* Inline model#MAttributeDef#static_mtype (var37) on */ -if (unlikely(var37 == NULL)) { +{ /* Inline model#MAttributeDef#static_mtype (var19) on */ +if (unlikely(var19 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1963); +PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 2006); show_backtrace(1); } -var42 = var37->attrs[COLOR_model__MAttributeDef___static_mtype].val; /* _static_mtype on */ -var40 = var42; +var24 = var19->attrs[COLOR_model__MAttributeDef___static_mtype].val; /* _static_mtype on */ +var22 = var24; +RET_LABEL23:(void)0; +} +} +var_mtype = var22; +var25 = NULL; +if (var_mtype == NULL) { +var26 = 0; /* is null */ +} else { +var26 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_mtype,var25) on */ +var_other = var25; +{ +var30 = ((short int (*)(val*, val*))(var_mtype->class->vft[COLOR_kernel__Object___61d_61d]))(var_mtype, var_other) /* == on */; +var29 = var30; +} +var31 = !var29; +var27 = var31; +goto RET_LABEL28; +RET_LABEL28:(void)0; +} +var26 = var27; +} +if (unlikely(!var26)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2370); +show_backtrace(1); +} +{ +{ /* Inline parser_nodes#AAttrPropdef#n_expr (self) on */ +var34 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_expr].val; /* _n_expr on */ +var32 = var34; +RET_LABEL33:(void)0; +} +} +var_nexpr = var32; +{ +{ /* Inline parser_nodes#AAttrPropdef#n_block (self) on */ +var37 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_block].val; /* _n_block on */ +var35 = var37; +RET_LABEL36:(void)0; +} +} +var_nblock = var35; +var38 = NULL; +if (var_nexpr == NULL) { +var39 = 0; /* is null */ +} else { +var39 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_nexpr,var38) on */ +var_other = var38; +{ +var43 = ((short int (*)(val*, val*))(var_nexpr->class->vft[COLOR_kernel__Object___61d_61d]))(var_nexpr, var_other) /* == on */; +var42 = var43; +} +var44 = !var42; +var40 = var44; +goto RET_LABEL41; RET_LABEL41:(void)0; } +var39 = var40; +} +if (var39){ +{ +var45 = abstract_compiler__AbstractCompilerVisitor__expr(var_v, var_nexpr, var_mtype); +} +var_value = var45; +} else { +var46 = NULL; +if (var_nblock == NULL) { +var47 = 0; /* is null */ +} else { +var47 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_nblock,var46) on */ +var_other = var46; +{ +var51 = ((short int (*)(val*, val*))(var_nblock->class->vft[COLOR_kernel__Object___61d_61d]))(var_nblock, var_other) /* == on */; +var50 = var51; +} +var52 = !var50; +var48 = var52; +goto RET_LABEL49; +RET_LABEL49:(void)0; +} +var47 = var48; +} +if (var47){ +{ +var53 = abstract_compiler__AbstractCompilerVisitor__new_var(var_v, var_mtype); +} +var_value = var53; +{ +{ /* Inline abstract_compiler#Frame#returnvar= (var_frame,var_value) on */ +var_frame->attrs[COLOR_abstract_compiler__Frame___returnvar].val = var_value; /* _returnvar on */ +RET_LABEL54:(void)0; +} +} +if (varonce) { +var55 = varonce; +} else { +var56 = "RET_LABEL"; +var57 = 9; +var58 = string__NativeString__to_s_with_length(var56, var57); +var55 = var58; +varonce = var55; +} +{ +var59 = abstract_compiler__AbstractCompilerVisitor__get_name(var_v, var55); +} +{ +{ /* Inline abstract_compiler#Frame#returnlabel= (var_frame,var59) on */ +var_frame->attrs[COLOR_abstract_compiler__Frame___returnlabel].val = var59; /* _returnlabel on */ +RET_LABEL60:(void)0; +} +} +if (varonce61) { +var62 = varonce61; +} else { +var63 = "{"; +var64 = 1; +var65 = string__NativeString__to_s_with_length(var63, var64); +var62 = var65; +varonce61 = var62; +} +{ +abstract_compiler__AbstractCompilerVisitor__add(var_v, var62); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +} +{ +abstract_compiler__AbstractCompilerVisitor__stmt(var_v, var_nblock); /* Direct call abstract_compiler#AbstractCompilerVisitor#stmt on */ +} +{ +{ /* Inline abstract_compiler#Frame#returnlabel (var_frame) on */ +var68 = var_frame->attrs[COLOR_abstract_compiler__Frame___returnlabel].val; /* _returnlabel on */ +var66 = var68; +RET_LABEL67:(void)0; +} +} +if (unlikely(var66 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2382); +show_backtrace(1); +} +if (varonce69) { +var70 = varonce69; +} else { +var71 = ":(void)0;"; +var72 = 9; +var73 = string__NativeString__to_s_with_length(var71, var72); +var70 = var73; +varonce69 = var70; +} +var74 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var74 = array_instance Array[Object] */ +var75 = 2; +var76 = NEW_array__NativeArray(var75, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var76)->values[0] = (val*) var66; +((struct instance_array__NativeArray*)var76)->values[1] = (val*) var70; +{ +((void (*)(val*, val*, long))(var74->class->vft[COLOR_array__Array__with_native]))(var74, var76, var75) /* with_native on */; +} +} +{ +var77 = ((val* (*)(val*))(var74->class->vft[COLOR_string__Object__to_s]))(var74) /* to_s on */; +} +{ +abstract_compiler__AbstractCompilerVisitor__add(var_v, var77); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +} +if (varonce78) { +var79 = varonce78; +} else { +var80 = "}"; +var81 = 1; +var82 = string__NativeString__to_s_with_length(var80, var81); +var79 = var82; +varonce78 = var79; } { -var43 = abstract_compiler__AbstractCompilerVisitor__expr(var_v, var_nexpr, var40); +abstract_compiler__AbstractCompilerVisitor__add(var_v, var79); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +} +} else { +PRINT_ERROR("Runtime error: %s", "Aborted"); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2385); +show_backtrace(1); +} } -var_value = var43; { { /* Inline modelize_property#APropdef#mpropdef (self) on */ -var46 = self->attrs[COLOR_modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ -var44 = var46; -RET_LABEL45:(void)0; +var85 = self->attrs[COLOR_modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ +var83 = var85; +RET_LABEL84:(void)0; } } -if (var44 == NULL) { +if (var83 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2179); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2388); show_backtrace(1); } else { -{ /* Inline model#MPropDef#mproperty (var44) on */ -if (unlikely(var44 == NULL)) { +{ /* Inline model#MPropDef#mproperty (var83) on */ +if (unlikely(var83 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1882); +PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898); show_backtrace(1); } -var49 = var44->attrs[COLOR_model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var49 == NULL)) { +var88 = var83->attrs[COLOR_model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var88 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1882); +PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898); show_backtrace(1); } -var47 = var49; -RET_LABEL48:(void)0; +var86 = var88; +RET_LABEL87:(void)0; } } { -separate_compiler__SeparateCompilerVisitor__write_attribute(var_v, var47, var_recv, var_value); /* Direct call separate_compiler#SeparateCompilerVisitor#write_attribute on */ +separate_compiler__SeparateCompilerVisitor__write_attribute(var_v, var86, var_recv, var_value); /* Direct call separate_compiler#SeparateCompilerVisitor#write_attribute on */ } { { /* Inline abstract_compiler#AbstractCompilerVisitor#frame= (var_v,var_old_frame) on */ var_v->attrs[COLOR_abstract_compiler__AbstractCompilerVisitor___frame].val = var_old_frame; /* _frame on */ -RET_LABEL50:(void)0; +RET_LABEL89:(void)0; } } { { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node= (var_v,var_oldnode) on */ var_v->attrs[COLOR_abstract_compiler__AbstractCompilerVisitor___current_node].val = var_oldnode; /* _current_node on */ -RET_LABEL51:(void)0; -} +RET_LABEL90:(void)0; } -} else { } +var = var_value; +goto RET_LABEL; RET_LABEL:; +return var; } -/* method abstract_compiler#AAttrPropdef#init_expr for (self: Object, AbstractCompilerVisitor, RuntimeVariable) */ -void VIRTUAL_abstract_compiler__AAttrPropdef__init_expr(val* self, val* p0, val* p1) { -abstract_compiler__AAttrPropdef__init_expr(self, p0, p1); /* Direct call abstract_compiler#AAttrPropdef#init_expr on */ +/* method abstract_compiler#AAttrPropdef#evaluate_expr for (self: Object, AbstractCompilerVisitor, RuntimeVariable): RuntimeVariable */ +val* VIRTUAL_abstract_compiler__AAttrPropdef__evaluate_expr(val* self, val* p0, val* p1) { +val* var /* : RuntimeVariable */; +val* var1 /* : RuntimeVariable */; +var1 = abstract_compiler__AAttrPropdef__evaluate_expr(self, p0, p1); +var = var1; RET_LABEL:; +return var; } /* method abstract_compiler#AClassdef#compile_to_c for (self: AClassdef, AbstractCompilerVisitor, MMethodDef, Array[RuntimeVariable]) */ void abstract_compiler__AClassdef__compile_to_c(val* self, val* p0, val* p1, val* p2) { @@ -7647,72 +7808,26 @@ short int var4 /* : Bool */; val* var_other /* var other: nullable Object */; short int var6 /* : Bool */; short int var8 /* : Bool */; -val* var9 /* : nullable Collection[MMethod] */; -val* var11 /* : nullable Collection[MMethod] */; -val* var_super_inits /* var super_inits: nullable Collection[MMethod] */; -val* var12 /* : null */; -short int var13 /* : Bool */; +val* var9 /* : MProperty */; +val* var11 /* : MProperty */; +short int var12 /* : Bool */; short int var14 /* : Bool */; -val* var_other16 /* var other: nullable Object */; -short int var17 /* : Bool */; -short int var18 /* : Bool */; +long var15 /* : Int */; +long var17 /* : Int */; +long var18 /* : Int */; short int var19 /* : Bool */; -val* var_args_of_super /* var args_of_super: Array[RuntimeVariable] */; -long var20 /* : Int */; -long var21 /* : Int */; +short int var20 /* : Bool */; short int var22 /* : Bool */; +short int var23 /* : Bool */; short int var24 /* : Bool */; +val* var25 /* : nullable Object */; +val* var26 /* : MType */; +val* var28 /* : MType */; +short int var29 /* : Bool */; int cltype; int idtype; const char* var_class_name; -short int var25 /* : Bool */; -val* var26 /* : Array[RuntimeVariable] */; -long var27 /* : Int */; -val* var_ /* var : Array[RuntimeVariable] */; -val* var28 /* : nullable Object */; -val* var29 /* : Iterator[nullable Object] */; -short int var30 /* : Bool */; -val* var31 /* : nullable Object */; -val* var_su /* var su: MMethod */; -val* var32 /* : nullable RuntimeVariable */; -val* var33 /* : nullable Object */; -val* var_recv /* var recv: RuntimeVariable */; -long var34 /* : Int */; -long var_i /* var i: Int */; -val* var35 /* : ANodes[APropdef] */; -val* var37 /* : ANodes[APropdef] */; -val* var38 /* : Iterator[ANode] */; -short int var39 /* : Bool */; -val* var40 /* : nullable Object */; -val* var_npropdef /* var npropdef: APropdef */; -short int var41 /* : Bool */; -short int var42 /* : Bool */; -short int var43 /* : Bool */; -int cltype44; -int idtype45; -short int var_46 /* var : Bool */; -val* var47 /* : nullable AExpr */; -val* var48 /* : null */; -short int var49 /* : Bool */; -short int var50 /* : Bool */; -short int var52 /* : Bool */; -short int var54 /* : Bool */; -short int var_55 /* var : Bool */; -short int var56 /* : Bool */; -short int var58 /* : Bool */; -short int var59 /* : Bool */; -val* var60 /* : nullable MPropDef */; -val* var62 /* : nullable MPropDef */; -val* var63 /* : MProperty */; -val* var65 /* : MProperty */; -val* var66 /* : nullable Object */; -long var67 /* : Int */; -long var68 /* : Int */; -short int var70 /* : Bool */; -int cltype71; -int idtype72; -const char* var_class_name73; -long var74 /* : Int */; +val* var30 /* : nullable RuntimeVariable */; var_v = p0; var_mpropdef = p1; var_arguments = p2; @@ -7742,253 +7857,102 @@ var3 = var4; } if (var3){ { -{ /* Inline modelize_property#AClassdef#super_inits (self) on */ -var11 = self->attrs[COLOR_modelize_property__AClassdef___super_inits].val; /* _super_inits on */ +{ /* Inline model#MPropDef#mproperty (var_mpropdef) on */ +var11 = var_mpropdef->attrs[COLOR_model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var11 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); +PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898); +show_backtrace(1); +} var9 = var11; RET_LABEL10:(void)0; } } -var_super_inits = var9; -var12 = NULL; -if (var_super_inits == NULL) { -var13 = 0; /* is null */ -} else { -var13 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_super_inits,var12) on */ -var_other16 = var12; { -var18 = ((short int (*)(val*, val*))(var_super_inits->class->vft[COLOR_kernel__Object___61d_61d]))(var_super_inits, var_other16) /* == on */; -var17 = var18; -} -var19 = !var17; -var14 = var19; -goto RET_LABEL15; -RET_LABEL15:(void)0; -} -var13 = var14; +{ /* Inline model#MMethod#is_root_init (var9) on */ +var14 = var9->attrs[COLOR_model__MMethod___is_root_init].s; /* _is_root_init on */ +var12 = var14; +RET_LABEL13:(void)0; } -if (var13){ -var_args_of_super = var_arguments; -{ -var20 = array__AbstractArrayRead__length(var_arguments); } -var21 = 1; -{ -{ /* Inline kernel#Int#> (var20,var21) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var24 = 1; /* easy isa OTHER*/ -if (unlikely(!var24)) { -var_class_name = type_kernel__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 327); +if (unlikely(!var12)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2417); show_backtrace(1); } -var25 = var20 > var21; -var22 = var25; -goto RET_LABEL23; -RET_LABEL23:(void)0; -} -} -if (var22){ -var26 = NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable); -var27 = 1; -{ -array__Array__with_capacity(var26, var27); /* Direct call array#Array#with_capacity on */ -} -var_ = var26; -{ -var28 = abstract_collection__SequenceRead__first(var_arguments); -} { -array__AbstractArray__push(var_, var28); /* Direct call array#AbstractArray#push on */ -} -var_args_of_super = var_; -} else { +{ /* Inline array#AbstractArrayRead#length (var_arguments) on */ +var17 = var_arguments->attrs[COLOR_array__AbstractArrayRead___length].l; /* _length on */ +var15 = var17; +RET_LABEL16:(void)0; } -{ -var29 = ((val* (*)(val*))(var_super_inits->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_super_inits) /* iterator on */; } -for(;;) { +var18 = 1; { -var30 = ((short int (*)(val*))(var29->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var29) /* is_ok on */; +{ /* Inline kernel#Int#== (var15,var18) on */ +var22 = var15 == var18; +var20 = var22; +goto RET_LABEL21; +RET_LABEL21:(void)0; } -if(!var30) break; -{ -var31 = ((val* (*)(val*))(var29->class->vft[COLOR_abstract_collection__Iterator__item]))(var29) /* item on */; +var19 = var20; } -var_su = var31; -{ -var32 = separate_compiler__SeparateCompilerVisitor__send(var_v, var_su, var_args_of_super); +if (unlikely(!var19)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2418); +show_backtrace(1); } -var32; -CONTINUE_label: (void)0; { -((void (*)(val*))(var29->class->vft[COLOR_abstract_collection__Iterator__next]))(var29) /* next on */; -} -} -BREAK_label: (void)0; -} else { +var23 = model__MPropDef__is_intro(var_mpropdef); } +var24 = !var23; +if (var24){ { -var33 = abstract_collection__SequenceRead__first(var_arguments); +var25 = abstract_collection__SequenceRead__first(var_arguments); } -var_recv = var33; -var34 = 1; -var_i = var34; { -{ /* Inline parser_nodes#AClassdef#n_propdefs (self) on */ -var37 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on */ -if (unlikely(var37 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_propdefs"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 802); +{ /* Inline abstract_compiler#RuntimeVariable#mtype (var25) on */ +var28 = var25->attrs[COLOR_abstract_compiler__RuntimeVariable___mtype].val; /* _mtype on */ +if (unlikely(var28 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1634); show_backtrace(1); } -var35 = var37; -RET_LABEL36:(void)0; -} -} -{ -var38 = parser_nodes__ANodes__iterator(var35); -} -for(;;) { -{ -var39 = ((short int (*)(val*))(var38->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var38) /* is_ok on */; +var26 = var28; +RET_LABEL27:(void)0; } -if(!var39) break; -{ -var40 = ((val* (*)(val*))(var38->class->vft[COLOR_abstract_collection__Iterator__item]))(var38) /* item on */; } -var_npropdef = var40; -/* isa AAttrPropdef */ -cltype44 = type_parser_nodes__AAttrPropdef.color; -idtype45 = type_parser_nodes__AAttrPropdef.id; -if(cltype44 >= var_npropdef->type->table_size) { -var43 = 0; +/* isa MClassType */ +cltype = type_model__MClassType.color; +idtype = type_model__MClassType.id; +if(cltype >= var26->type->table_size) { +var29 = 0; } else { -var43 = var_npropdef->type->type_table[cltype44] == idtype45; -} -var_46 = var43; -if (var43){ -{ -var47 = parser_nodes__AAttrPropdef__n_expr(var_npropdef); +var29 = var26->type->type_table[cltype] == idtype; } -var48 = NULL; -if (var47 == NULL) { -var49 = 1; /* is null */ -} else { -var49 = 0; /* arg is null but recv is not */ +if (unlikely(!var29)) { +var_class_name = var26 == NULL ? "null" : var26->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2420); +show_backtrace(1); } -if (0) { -{ /* Inline kernel#Object#== (var47,var48) on */ -var_other = var48; { -{ /* Inline kernel#Object#is_same_instance (var47,var_other) on */ -var54 = var47 == var_other; -var52 = var54; -goto RET_LABEL53; -RET_LABEL53:(void)0; -} -} -var50 = var52; -goto RET_LABEL51; -RET_LABEL51:(void)0; +var30 = separate_compiler__SeparateCompilerVisitor__supercall(var_v, var_mpropdef, var26, var_arguments); } -var49 = var50; -} -var42 = var49; } else { -var42 = var_46; -} -var_55 = var42; -if (var42){ -{ -{ /* Inline modelize_property#AAttrPropdef#noinit (var_npropdef) on */ -var58 = var_npropdef->attrs[COLOR_modelize_property__AAttrPropdef___noinit].s; /* _noinit on */ -var56 = var58; -RET_LABEL57:(void)0; -} } -var59 = !var56; -var41 = var59; +goto RET_LABEL; } else { -var41 = var_55; +PRINT_ERROR("Runtime error: %s", "Aborted"); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2424); +show_backtrace(1); } -if (var41){ -{ -{ /* Inline modelize_property#APropdef#mpropdef (var_npropdef) on */ -var62 = var_npropdef->attrs[COLOR_modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ -var60 = var62; -RET_LABEL61:(void)0; +RET_LABEL:; } -} -if (var60 == NULL) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2219); -show_backtrace(1); -} else { -{ /* Inline model#MPropDef#mproperty (var60) on */ -if (unlikely(var60 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1882); -show_backtrace(1); -} -var65 = var60->attrs[COLOR_model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var65 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1882); -show_backtrace(1); -} -var63 = var65; -RET_LABEL64:(void)0; -} -} -{ -var66 = array__Array___91d_93d(var_arguments, var_i); -} -{ -separate_compiler__SeparateCompilerVisitor__write_attribute(var_v, var63, var_recv, var66); /* Direct call separate_compiler#SeparateCompilerVisitor#write_attribute on */ -} -var67 = 1; -{ -{ /* Inline kernel#Int#+ (var_i,var67) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var70 = 1; /* easy isa OTHER*/ -if (unlikely(!var70)) { -var_class_name73 = type_kernel__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name73); -PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328); -show_backtrace(1); -} -var74 = var_i + var67; -var68 = var74; -goto RET_LABEL69; -RET_LABEL69:(void)0; -} -} -var_i = var68; -} else { -} -CONTINUE_label75: (void)0; -{ -((void (*)(val*))(var38->class->vft[COLOR_abstract_collection__Iterator__next]))(var38) /* next on */; -} -} -BREAK_label75: (void)0; -} else { -PRINT_ERROR("Runtime error: %s", "Aborted"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2224); -show_backtrace(1); -} -RET_LABEL:; -} -/* method abstract_compiler#AClassdef#compile_to_c for (self: Object, AbstractCompilerVisitor, MMethodDef, Array[RuntimeVariable]) */ -void VIRTUAL_abstract_compiler__AClassdef__compile_to_c(val* self, val* p0, val* p1, val* p2) { -abstract_compiler__AClassdef__compile_to_c(self, p0, p1, p2); /* Direct call abstract_compiler#AClassdef#compile_to_c on */ -RET_LABEL:; +/* method abstract_compiler#AClassdef#compile_to_c for (self: Object, AbstractCompilerVisitor, MMethodDef, Array[RuntimeVariable]) */ +void VIRTUAL_abstract_compiler__AClassdef__compile_to_c(val* self, val* p0, val* p1, val* p2) { +abstract_compiler__AClassdef__compile_to_c(self, p0, p1, p2); /* Direct call abstract_compiler#AClassdef#compile_to_c on */ +RET_LABEL:; } /* method abstract_compiler#AExpr#expr for (self: AExpr, AbstractCompilerVisitor): nullable RuntimeVariable */ val* abstract_compiler__AExpr__expr(val* self, val* p0) { @@ -8006,47 +7970,48 @@ char* var8 /* : NativeString */; long var9 /* : Int */; val* var10 /* : FlatString */; val* var11 /* : Location */; -val* var12 /* : String */; -static val* varonce13; +val* var13 /* : Location */; 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* var22 /* : nullable MType */; +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 /* : String */; +val* var24 /* : nullable MType */; val* var_mtype /* var mtype: nullable MType */; -val* var23 /* : null */; -short int var24 /* : Bool */; -short int var25 /* : Bool */; -val* var_other /* var other: nullable Object */; +val* var25 /* : null */; +short int var26 /* : Bool */; short int var27 /* : Bool */; +val* var_other /* var other: nullable Object */; short int var29 /* : Bool */; -val* var30 /* : null */; -val* var31 /* : RuntimeVariable */; +short int var31 /* : Bool */; +val* var32 /* : null */; +val* var33 /* : RuntimeVariable */; val* var_res /* var res: RuntimeVariable */; -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* var41 /* : FlatString */; -val* var42 /* : String */; -static val* varonce43; +static val* varonce34; +val* var35 /* : String */; +char* var36 /* : NativeString */; +long var37 /* : Int */; +val* var38 /* : FlatString */; +static val* varonce39; +val* var40 /* : String */; +char* var41 /* : NativeString */; +long var42 /* : Int */; +val* var43 /* : FlatString */; val* var44 /* : String */; -char* var45 /* : NativeString */; -long var46 /* : Int */; -val* var47 /* : FlatString */; -val* var48 /* : Array[Object] */; -long var49 /* : Int */; -val* var50 /* : NativeArray[Object] */; -val* var51 /* : String */; +static val* varonce45; +val* var46 /* : String */; +char* var47 /* : NativeString */; +long var48 /* : Int */; +val* var49 /* : FlatString */; +val* var50 /* : Array[Object] */; +long var51 /* : Int */; +val* var52 /* : NativeArray[Object] */; +val* var53 /* : String */; var_v = p0; if (varonce) { var1 = varonce; @@ -8070,123 +8035,132 @@ var7 = var10; varonce6 = var7; } { -var11 = parser_nodes__ANode__location(self); +{ /* Inline parser_nodes#ANode#location (self) on */ +var13 = self->attrs[COLOR_parser_nodes__ANode___location].val; /* _location on */ +if (unlikely(var13 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 23); +show_backtrace(1); +} +var11 = var13; +RET_LABEL12:(void)0; +} } { -var12 = location__Location__to_s(var11); +var14 = location__Location__to_s(var11); } -if (varonce13) { -var14 = varonce13; +if (varonce15) { +var16 = varonce15; } else { -var15 = "\\n\");"; -var16 = 5; -var17 = string__NativeString__to_s_with_length(var15, var16); -var14 = var17; -varonce13 = var14; +var17 = "\\n\");"; +var18 = 5; +var19 = string__NativeString__to_s_with_length(var17, var18); +var16 = var19; +varonce15 = var16; } -var18 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var18 = array_instance Array[Object] */ -var19 = 5; -var20 = NEW_array__NativeArray(var19, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var20)->values[0] = (val*) var1; -((struct instance_array__NativeArray*)var20)->values[1] = (val*) var5; -((struct instance_array__NativeArray*)var20)->values[2] = (val*) var7; -((struct instance_array__NativeArray*)var20)->values[3] = (val*) var12; -((struct instance_array__NativeArray*)var20)->values[4] = (val*) var14; +var20 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var20 = array_instance Array[Object] */ +var21 = 5; +var22 = NEW_array__NativeArray(var21, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var22)->values[0] = (val*) var1; +((struct instance_array__NativeArray*)var22)->values[1] = (val*) var5; +((struct instance_array__NativeArray*)var22)->values[2] = (val*) var7; +((struct instance_array__NativeArray*)var22)->values[3] = (val*) var14; +((struct instance_array__NativeArray*)var22)->values[4] = (val*) var16; { -((void (*)(val*, val*, long))(var18->class->vft[COLOR_array__Array__with_native]))(var18, var20, var19) /* with_native on */; +((void (*)(val*, val*, long))(var20->class->vft[COLOR_array__Array__with_native]))(var20, var22, var21) /* with_native on */; } } { -var21 = ((val* (*)(val*))(var18->class->vft[COLOR_string__Object__to_s]))(var18) /* to_s on */; +var23 = ((val* (*)(val*))(var20->class->vft[COLOR_string__Object__to_s]))(var20) /* to_s on */; } { -abstract_compiler__AbstractCompilerVisitor__add(var_v, var21); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +abstract_compiler__AbstractCompilerVisitor__add(var_v, var23); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } { -var22 = ((val* (*)(val*))(self->class->vft[COLOR_typing__AExpr__mtype]))(self) /* mtype on */; +var24 = ((val* (*)(val*))(self->class->vft[COLOR_typing__AExpr__mtype]))(self) /* mtype on */; } -var_mtype = var22; -var23 = NULL; +var_mtype = var24; +var25 = NULL; if (var_mtype == NULL) { -var24 = 1; /* is null */ +var26 = 1; /* is null */ } else { -var24 = 0; /* arg is null but recv is not */ +var26 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_mtype,var23) on */ -var_other = var23; +{ /* Inline kernel#Object#== (var_mtype,var25) on */ +var_other = var25; { { /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on */ -var29 = var_mtype == var_other; +var31 = var_mtype == var_other; +var29 = var31; +goto RET_LABEL30; +RET_LABEL30:(void)0; +} +} var27 = var29; goto RET_LABEL28; RET_LABEL28:(void)0; } +var26 = var27; } -var25 = var27; -goto RET_LABEL26; -RET_LABEL26:(void)0; -} -var24 = var25; -} -if (var24){ -var30 = NULL; -var = var30; +if (var26){ +var32 = NULL; +var = var32; goto RET_LABEL; } else { { -var31 = abstract_compiler__AbstractCompilerVisitor__new_var(var_v, var_mtype); +var33 = abstract_compiler__AbstractCompilerVisitor__new_var(var_v, var_mtype); } -var_res = var31; -if (varonce32) { -var33 = varonce32; +var_res = var33; +if (varonce34) { +var35 = varonce34; } else { -var34 = "/* "; -var35 = 3; -var36 = string__NativeString__to_s_with_length(var34, var35); -var33 = var36; -varonce32 = var33; +var36 = "/* "; +var37 = 3; +var38 = string__NativeString__to_s_with_length(var36, var37); +var35 = var38; +varonce34 = var35; } -if (varonce37) { -var38 = varonce37; +if (varonce39) { +var40 = varonce39; } else { -var39 = " = NOT YET "; -var40 = 11; -var41 = string__NativeString__to_s_with_length(var39, var40); -var38 = var41; -varonce37 = var38; +var41 = " = NOT YET "; +var42 = 11; +var43 = string__NativeString__to_s_with_length(var41, var42); +var40 = var43; +varonce39 = var40; } { -var42 = string__Object__class_name(self); +var44 = string__Object__class_name(self); } -if (varonce43) { -var44 = varonce43; +if (varonce45) { +var46 = varonce45; } else { -var45 = " */"; -var46 = 3; -var47 = string__NativeString__to_s_with_length(var45, var46); -var44 = var47; -varonce43 = var44; +var47 = " */"; +var48 = 3; +var49 = string__NativeString__to_s_with_length(var47, var48); +var46 = var49; +varonce45 = var46; } -var48 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var48 = array_instance Array[Object] */ -var49 = 5; -var50 = NEW_array__NativeArray(var49, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var50)->values[0] = (val*) var33; -((struct instance_array__NativeArray*)var50)->values[1] = (val*) var_res; -((struct instance_array__NativeArray*)var50)->values[2] = (val*) var38; -((struct instance_array__NativeArray*)var50)->values[3] = (val*) var42; -((struct instance_array__NativeArray*)var50)->values[4] = (val*) var44; +var50 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var50 = array_instance Array[Object] */ +var51 = 5; +var52 = NEW_array__NativeArray(var51, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var52)->values[0] = (val*) var35; +((struct instance_array__NativeArray*)var52)->values[1] = (val*) var_res; +((struct instance_array__NativeArray*)var52)->values[2] = (val*) var40; +((struct instance_array__NativeArray*)var52)->values[3] = (val*) var44; +((struct instance_array__NativeArray*)var52)->values[4] = (val*) var46; { -((void (*)(val*, val*, long))(var48->class->vft[COLOR_array__Array__with_native]))(var48, var50, var49) /* with_native on */; +((void (*)(val*, val*, long))(var50->class->vft[COLOR_array__Array__with_native]))(var50, var52, var51) /* with_native on */; } } { -var51 = ((val* (*)(val*))(var48->class->vft[COLOR_string__Object__to_s]))(var48) /* to_s on */; +var53 = ((val* (*)(val*))(var50->class->vft[COLOR_string__Object__to_s]))(var50) /* to_s on */; } { -abstract_compiler__AbstractCompilerVisitor__add(var_v, var51); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +abstract_compiler__AbstractCompilerVisitor__add(var_v, var53); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } var = var_res; goto RET_LABEL; @@ -8207,76 +8181,10 @@ return var; void abstract_compiler__AExpr__stmt(val* self, val* p0) { val* var_v /* var v: AbstractCompilerVisitor */; val* var /* : nullable RuntimeVariable */; -val* var_res /* var res: nullable RuntimeVariable */; -val* var1 /* : null */; -short int var2 /* : Bool */; -short int var3 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var5 /* : Bool */; -short int var6 /* : Bool */; -short int var7 /* : Bool */; -static val* varonce; -val* var8 /* : String */; -char* var9 /* : NativeString */; -long var10 /* : Int */; -val* var11 /* : FlatString */; -val* var12 /* : Array[Object] */; -long var13 /* : Int */; -val* var14 /* : NativeArray[Object] */; -val* var15 /* : String */; var_v = p0; { var = ((val* (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AExpr__expr]))(self, var_v) /* expr on */; } -var_res = var; -var1 = NULL; -if (var_res == NULL) { -var2 = 0; /* is null */ -} else { -var2 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_res,var1) on */ -var_other = var1; -{ -var6 = ((short int (*)(val*, val*))(var_res->class->vft[COLOR_kernel__Object___61d_61d]))(var_res, var_other) /* == on */; -var5 = var6; -} -var7 = !var5; -var3 = var7; -goto RET_LABEL4; -RET_LABEL4:(void)0; -} -var2 = var3; -} -if (var2){ -if (varonce) { -var8 = varonce; -} else { -var9 = ";"; -var10 = 1; -var11 = string__NativeString__to_s_with_length(var9, var10); -var8 = var11; -varonce = var8; -} -var12 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var12 = array_instance Array[Object] */ -var13 = 2; -var14 = NEW_array__NativeArray(var13, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var14)->values[0] = (val*) var_res; -((struct instance_array__NativeArray*)var14)->values[1] = (val*) var8; -{ -((void (*)(val*, val*, long))(var12->class->vft[COLOR_array__Array__with_native]))(var12, var14, var13) /* with_native on */; -} -} -{ -var15 = ((val* (*)(val*))(var12->class->vft[COLOR_string__Object__to_s]))(var12) /* to_s on */; -} -{ -abstract_compiler__AbstractCompilerVisitor__add(var_v, var15); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ -} -} else { -} RET_LABEL:; } /* method abstract_compiler#AExpr#stmt for (self: Object, AbstractCompilerVisitor) */ @@ -8289,9 +8197,11 @@ void abstract_compiler__ABlockExpr__stmt(val* self, val* p0) { val* var_v /* var v: AbstractCompilerVisitor */; val* var /* : ANodes[AExpr] */; val* var2 /* : ANodes[AExpr] */; +val* var_ /* var : ANodes[AExpr] */; val* var3 /* : Iterator[ANode] */; -short int var4 /* : Bool */; -val* var5 /* : nullable Object */; +val* var_4 /* var : Iterator[AExpr] */; +short int var5 /* : Bool */; +val* var6 /* : nullable Object */; val* var_e /* var e: AExpr */; var_v = p0; { @@ -8299,34 +8209,43 @@ var_v = p0; var2 = self->attrs[COLOR_parser_nodes__ABlockExpr___n_expr].val; /* _n_expr on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1424); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1321); show_backtrace(1); } var = var2; RET_LABEL1:(void)0; } } +var_ = var; { -var3 = parser_nodes__ANodes__iterator(var); +var3 = parser_nodes__ANodes__iterator(var_); } +var_4 = var3; for(;;) { { -var4 = ((short int (*)(val*))(var3->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var3) /* is_ok on */; +var5 = ((short int (*)(val*))(var_4->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var_4) /* is_ok on */; } -if(!var4) break; +if (var5){ { -var5 = ((val* (*)(val*))(var3->class->vft[COLOR_abstract_collection__Iterator__item]))(var3) /* item on */; +var6 = ((val* (*)(val*))(var_4->class->vft[COLOR_abstract_collection__Iterator__item]))(var_4) /* item on */; } -var_e = var5; +var_e = var6; { abstract_compiler__AbstractCompilerVisitor__stmt(var_v, var_e); /* Direct call abstract_compiler#AbstractCompilerVisitor#stmt on */ } -CONTINUE_label: (void)0; { -((void (*)(val*))(var3->class->vft[COLOR_abstract_collection__Iterator__next]))(var3) /* next on */; +((void (*)(val*))(var_4->class->vft[COLOR_abstract_collection__Iterator__next]))(var_4) /* next on */; +} +} else { +goto BREAK_label; } } BREAK_label: (void)0; +{ +{ /* Inline abstract_collection#Iterator#finish (var_4) on */ +RET_LABEL7:(void)0; +} +} RET_LABEL:; } /* method abstract_compiler#ABlockExpr#stmt for (self: Object, AbstractCompilerVisitor) */ @@ -8344,24 +8263,26 @@ val* var4 /* : nullable Object */; val* var_last /* var last: AExpr */; val* var5 /* : ANodes[AExpr] */; val* var7 /* : ANodes[AExpr] */; +val* var_ /* var : ANodes[AExpr] */; val* var8 /* : Iterator[ANode] */; -short int var9 /* : Bool */; -val* var10 /* : nullable Object */; +val* var_9 /* var : Iterator[AExpr] */; +short int var10 /* : Bool */; +val* var11 /* : nullable Object */; val* var_e /* var e: AExpr */; -short int var11 /* : Bool */; short int var12 /* : Bool */; +short int var13 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var14 /* : Bool */; -short int var16 /* : Bool */; -val* var17 /* : null */; -val* var18 /* : RuntimeVariable */; +short int var15 /* : Bool */; +short int var17 /* : Bool */; +val* var19 /* : null */; +val* var20 /* : RuntimeVariable */; var_v = p0; { { /* Inline parser_nodes#ABlockExpr#n_expr (self) on */ var3 = self->attrs[COLOR_parser_nodes__ABlockExpr___n_expr].val; /* _n_expr on */ if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1424); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1321); show_backtrace(1); } var1 = var3; @@ -8377,60 +8298,69 @@ var_last = var4; var7 = self->attrs[COLOR_parser_nodes__ABlockExpr___n_expr].val; /* _n_expr on */ if (unlikely(var7 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1424); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1321); show_backtrace(1); } var5 = var7; RET_LABEL6:(void)0; } } +var_ = var5; { -var8 = parser_nodes__ANodes__iterator(var5); +var8 = parser_nodes__ANodes__iterator(var_); } +var_9 = var8; for(;;) { { -var9 = ((short int (*)(val*))(var8->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var8) /* is_ok on */; +var10 = ((short int (*)(val*))(var_9->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var_9) /* is_ok on */; } -if(!var9) break; +if (var10){ { -var10 = ((val* (*)(val*))(var8->class->vft[COLOR_abstract_collection__Iterator__item]))(var8) /* item on */; +var11 = ((val* (*)(val*))(var_9->class->vft[COLOR_abstract_collection__Iterator__item]))(var_9) /* item on */; } -var_e = var10; +var_e = var11; { { /* Inline kernel#Object#== (var_e,var_last) on */ var_other = var_last; { { /* Inline kernel#Object#is_same_instance (var_e,var_other) on */ -var16 = var_e == var_other; -var14 = var16; -goto RET_LABEL15; -RET_LABEL15:(void)0; +var17 = var_e == var_other; +var15 = var17; +goto RET_LABEL16; +RET_LABEL16:(void)0; } } -var12 = var14; -goto RET_LABEL13; -RET_LABEL13:(void)0; +var13 = var15; +goto RET_LABEL14; +RET_LABEL14:(void)0; } -var11 = var12; +var12 = var13; } -if (var11){ +if (var12){ goto BREAK_label; } else { } { abstract_compiler__AbstractCompilerVisitor__stmt(var_v, var_e); /* Direct call abstract_compiler#AbstractCompilerVisitor#stmt on */ } -CONTINUE_label: (void)0; { -((void (*)(val*))(var8->class->vft[COLOR_abstract_collection__Iterator__next]))(var8) /* next on */; +((void (*)(val*))(var_9->class->vft[COLOR_abstract_collection__Iterator__next]))(var_9) /* next on */; +} +} else { +goto BREAK_label; } } BREAK_label: (void)0; -var17 = NULL; { -var18 = abstract_compiler__AbstractCompilerVisitor__expr(var_v, var_last, var17); +{ /* Inline abstract_collection#Iterator#finish (var_9) on */ +RET_LABEL18:(void)0; +} +} +var19 = NULL; +{ +var20 = abstract_compiler__AbstractCompilerVisitor__expr(var_v, var_last, var19); } -var = var18; +var = var20; goto RET_LABEL; RET_LABEL:; return var; @@ -8451,19 +8381,20 @@ val* var /* : nullable Variable */; val* var2 /* : nullable Variable */; val* var_variable /* var variable: Variable */; val* var3 /* : nullable AExpr */; +val* var5 /* : nullable AExpr */; val* var_ne /* var ne: nullable AExpr */; -val* var4 /* : null */; -short int var5 /* : Bool */; -short int var6 /* : Bool */; -val* var_other /* var other: nullable Object */; +val* var6 /* : null */; +short int var7 /* : Bool */; short int var8 /* : Bool */; -short int var9 /* : Bool */; +val* var_other /* var other: nullable Object */; short int var10 /* : Bool */; -val* var11 /* : nullable MType */; +short int var11 /* : Bool */; +short int var12 /* : Bool */; val* var13 /* : nullable MType */; -val* var14 /* : RuntimeVariable */; +val* var15 /* : nullable MType */; +val* var16 /* : RuntimeVariable */; val* var_i /* var i: RuntimeVariable */; -val* var15 /* : RuntimeVariable */; +val* var17 /* : RuntimeVariable */; var_v = p0; { { /* Inline scope#AVardeclExpr#variable (self) on */ @@ -8474,51 +8405,55 @@ RET_LABEL1:(void)0; } if (unlikely(var == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2273); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2472); show_backtrace(1); } var_variable = var; { -var3 = parser_nodes__AVardeclExpr__n_expr(self); +{ /* Inline parser_nodes#AVardeclExpr#n_expr (self) on */ +var5 = self->attrs[COLOR_parser_nodes__AVardeclExpr___n_expr].val; /* _n_expr on */ +var3 = var5; +RET_LABEL4:(void)0; +} } var_ne = var3; -var4 = NULL; +var6 = NULL; if (var_ne == NULL) { -var5 = 0; /* is null */ +var7 = 0; /* is null */ } else { -var5 = 1; /* arg is null and recv is not */ +var7 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_ne,var4) on */ -var_other = var4; +{ /* Inline kernel#Object#!= (var_ne,var6) on */ +var_other = var6; { -var9 = ((short int (*)(val*, val*))(var_ne->class->vft[COLOR_kernel__Object___61d_61d]))(var_ne, var_other) /* == on */; -var8 = var9; +var11 = ((short int (*)(val*, val*))(var_ne->class->vft[COLOR_kernel__Object___61d_61d]))(var_ne, var_other) /* == on */; +var10 = var11; } -var10 = !var8; -var6 = var10; -goto RET_LABEL7; -RET_LABEL7:(void)0; +var12 = !var10; +var8 = var12; +goto RET_LABEL9; +RET_LABEL9:(void)0; } -var5 = var6; +var7 = var8; } -if (var5){ +if (var7){ { { /* Inline typing#Variable#declared_type (var_variable) on */ -var13 = var_variable->attrs[COLOR_typing__Variable___declared_type].val; /* _declared_type on */ -var11 = var13; -RET_LABEL12:(void)0; +var15 = var_variable->attrs[COLOR_typing__Variable___declared_type].val; /* _declared_type on */ +var13 = var15; +RET_LABEL14:(void)0; } } { -var14 = abstract_compiler__AbstractCompilerVisitor__expr(var_v, var_ne, var11); +var16 = abstract_compiler__AbstractCompilerVisitor__expr(var_v, var_ne, var13); } -var_i = var14; +var_i = var16; { -var15 = abstract_compiler__AbstractCompilerVisitor__variable(var_v, var_variable); +var17 = abstract_compiler__AbstractCompilerVisitor__variable(var_v, var_variable); } { -abstract_compiler__AbstractCompilerVisitor__assign(var_v, var15, var_i); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on */ +abstract_compiler__AbstractCompilerVisitor__assign(var_v, var17, var_i); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on */ } } else { } @@ -8551,7 +8486,7 @@ RET_LABEL2:(void)0; } if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2285); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2484); show_backtrace(1); } { @@ -8567,7 +8502,7 @@ RET_LABEL6:(void)0; } if (unlikely(var5 == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2286); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2485); show_backtrace(1); } var_mtype = var5; @@ -8588,59 +8523,6 @@ var = var1; RET_LABEL:; return var; } -/* method abstract_compiler#AVarAssignExpr#stmt for (self: AVarAssignExpr, AbstractCompilerVisitor) */ -void abstract_compiler__AVarAssignExpr__stmt(val* self, val* p0) { -val* var_v /* var v: AbstractCompilerVisitor */; -val* var /* : nullable Variable */; -val* var2 /* : nullable Variable */; -val* var_variable /* var variable: Variable */; -val* var3 /* : AExpr */; -val* var4 /* : nullable MType */; -val* var6 /* : nullable MType */; -val* var7 /* : RuntimeVariable */; -val* var_i /* var i: RuntimeVariable */; -val* var8 /* : RuntimeVariable */; -var_v = p0; -{ -{ /* Inline scope#AVarFormExpr#variable (self) on */ -var2 = self->attrs[COLOR_scope__AVarFormExpr___variable].val; /* _variable on */ -var = var2; -RET_LABEL1:(void)0; -} -} -if (unlikely(var == NULL)) { -PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2294); -show_backtrace(1); -} -var_variable = var; -{ -var3 = parser_nodes__AAssignFormExpr__n_value(self); -} -{ -{ /* Inline typing#Variable#declared_type (var_variable) on */ -var6 = var_variable->attrs[COLOR_typing__Variable___declared_type].val; /* _declared_type on */ -var4 = var6; -RET_LABEL5:(void)0; -} -} -{ -var7 = abstract_compiler__AbstractCompilerVisitor__expr(var_v, var3, var4); -} -var_i = var7; -{ -var8 = abstract_compiler__AbstractCompilerVisitor__variable(var_v, var_variable); -} -{ -abstract_compiler__AbstractCompilerVisitor__assign(var_v, var8, var_i); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on */ -} -RET_LABEL:; -} -/* method abstract_compiler#AVarAssignExpr#stmt for (self: Object, AbstractCompilerVisitor) */ -void VIRTUAL_abstract_compiler__AVarAssignExpr__stmt(val* self, val* p0) { -abstract_compiler__AVarAssignExpr__stmt(self, p0); /* Direct call abstract_compiler#AVarAssignExpr#stmt on */ -RET_LABEL:; -} /* method abstract_compiler#AVarAssignExpr#expr for (self: AVarAssignExpr, AbstractCompilerVisitor): nullable RuntimeVariable */ val* abstract_compiler__AVarAssignExpr__expr(val* self, val* p0) { val* var /* : nullable RuntimeVariable */; @@ -8649,11 +8531,12 @@ val* var1 /* : nullable Variable */; val* var3 /* : nullable Variable */; val* var_variable /* var variable: Variable */; val* var4 /* : AExpr */; -val* var5 /* : nullable MType */; +val* var6 /* : AExpr */; val* var7 /* : nullable MType */; -val* var8 /* : RuntimeVariable */; +val* var9 /* : nullable MType */; +val* var10 /* : RuntimeVariable */; val* var_i /* var i: RuntimeVariable */; -val* var9 /* : RuntimeVariable */; +val* var11 /* : RuntimeVariable */; var_v = p0; { { /* Inline scope#AVarFormExpr#variable (self) on */ @@ -8664,29 +8547,38 @@ RET_LABEL2:(void)0; } if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2300); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2493); show_backtrace(1); } var_variable = var1; { -var4 = parser_nodes__AAssignFormExpr__n_value(self); +{ /* Inline parser_nodes#AAssignFormExpr#n_value (self) on */ +var6 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val; /* _n_value on */ +if (unlikely(var6 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1445); +show_backtrace(1); +} +var4 = var6; +RET_LABEL5:(void)0; +} } { { /* Inline typing#Variable#declared_type (var_variable) on */ -var7 = var_variable->attrs[COLOR_typing__Variable___declared_type].val; /* _declared_type on */ -var5 = var7; -RET_LABEL6:(void)0; +var9 = var_variable->attrs[COLOR_typing__Variable___declared_type].val; /* _declared_type on */ +var7 = var9; +RET_LABEL8:(void)0; } } { -var8 = abstract_compiler__AbstractCompilerVisitor__expr(var_v, var4, var5); +var10 = abstract_compiler__AbstractCompilerVisitor__expr(var_v, var4, var7); } -var_i = var8; +var_i = var10; { -var9 = abstract_compiler__AbstractCompilerVisitor__variable(var_v, var_variable); +var11 = abstract_compiler__AbstractCompilerVisitor__variable(var_v, var_variable); } { -abstract_compiler__AbstractCompilerVisitor__assign(var_v, var9, var_i); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on */ +abstract_compiler__AbstractCompilerVisitor__assign(var_v, var11, var_i); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on */ } var = var_i; goto RET_LABEL; @@ -8711,25 +8603,26 @@ val* var_variable /* var variable: Variable */; val* var3 /* : RuntimeVariable */; val* var_vari /* var vari: RuntimeVariable */; val* var4 /* : AExpr */; -val* var5 /* : nullable MType */; +val* var6 /* : AExpr */; val* var7 /* : nullable MType */; -val* var8 /* : RuntimeVariable */; +val* var9 /* : nullable MType */; +val* var10 /* : RuntimeVariable */; val* var_value /* var value: RuntimeVariable */; -val* var9 /* : nullable CallSite */; val* var11 /* : nullable CallSite */; -val* var12 /* : Array[RuntimeVariable] */; -long var13 /* : Int */; +val* var13 /* : nullable CallSite */; +val* var14 /* : Array[RuntimeVariable] */; +long var15 /* : Int */; val* var_ /* var : Array[RuntimeVariable] */; -val* var14 /* : nullable RuntimeVariable */; +val* var16 /* : nullable RuntimeVariable */; val* var_res /* var res: nullable RuntimeVariable */; -val* var15 /* : null */; -short int var16 /* : Bool */; -short int var17 /* : Bool */; -val* var_other /* var other: nullable Object */; +val* var17 /* : null */; +short int var18 /* : Bool */; short int var19 /* : Bool */; -short int var20 /* : Bool */; +val* var_other /* var other: nullable Object */; short int var21 /* : Bool */; -val* var22 /* : RuntimeVariable */; +short int var22 /* : Bool */; +short int var23 /* : Bool */; +val* var24 /* : RuntimeVariable */; var_v = p0; { { /* Inline scope#AVarFormExpr#variable (self) on */ @@ -8740,7 +8633,7 @@ RET_LABEL1:(void)0; } if (unlikely(var == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2310); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2503); show_backtrace(1); } var_variable = var; @@ -8749,37 +8642,46 @@ var3 = abstract_compiler__AbstractCompilerVisitor__variable(var_v, var_variable) } var_vari = var3; { -var4 = parser_nodes__AReassignFormExpr__n_value(self); +{ /* Inline parser_nodes#AReassignFormExpr#n_value (self) on */ +var6 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val; /* _n_value on */ +if (unlikely(var6 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1452); +show_backtrace(1); +} +var4 = var6; +RET_LABEL5:(void)0; +} } { { /* Inline typing#Variable#declared_type (var_variable) on */ -var7 = var_variable->attrs[COLOR_typing__Variable___declared_type].val; /* _declared_type on */ -var5 = var7; -RET_LABEL6:(void)0; +var9 = var_variable->attrs[COLOR_typing__Variable___declared_type].val; /* _declared_type on */ +var7 = var9; +RET_LABEL8:(void)0; } } { -var8 = abstract_compiler__AbstractCompilerVisitor__expr(var_v, var4, var5); +var10 = abstract_compiler__AbstractCompilerVisitor__expr(var_v, var4, var7); } -var_value = var8; +var_value = var10; { { /* Inline typing#AReassignFormExpr#reassign_callsite (self) on */ -var11 = self->attrs[COLOR_typing__AReassignFormExpr___reassign_callsite].val; /* _reassign_callsite on */ -var9 = var11; -RET_LABEL10:(void)0; +var13 = self->attrs[COLOR_typing__AReassignFormExpr___reassign_callsite].val; /* _reassign_callsite on */ +var11 = var13; +RET_LABEL12:(void)0; } } -if (unlikely(var9 == NULL)) { +if (unlikely(var11 == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2313); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2506); show_backtrace(1); } -var12 = NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable); -var13 = 2; +var14 = NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable); +var15 = 2; { -array__Array__with_capacity(var12, var13); /* Direct call array#Array#with_capacity on */ +array__Array__with_capacity(var14, var15); /* Direct call array#Array#with_capacity on */ } -var_ = var12; +var_ = var14; { array__AbstractArray__push(var_, var_vari); /* Direct call array#AbstractArray#push on */ } @@ -8787,39 +8689,39 @@ array__AbstractArray__push(var_, var_vari); /* Direct call array#AbstractArray#p array__AbstractArray__push(var_, var_value); /* Direct call array#AbstractArray#push on */ } { -var14 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__compile_callsite]))(var_v, var9, var_) /* compile_callsite on */; +var16 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__compile_callsite]))(var_v, var11, var_) /* compile_callsite on */; } -var_res = var14; -var15 = NULL; +var_res = var16; +var17 = NULL; if (var_res == NULL) { -var16 = 0; /* is null */ +var18 = 0; /* is null */ } else { -var16 = 1; /* arg is null and recv is not */ +var18 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_res,var15) on */ -var_other = var15; +{ /* Inline kernel#Object#!= (var_res,var17) on */ +var_other = var17; { -var20 = ((short int (*)(val*, val*))(var_res->class->vft[COLOR_kernel__Object___61d_61d]))(var_res, var_other) /* == on */; -var19 = var20; +var22 = ((short int (*)(val*, val*))(var_res->class->vft[COLOR_kernel__Object___61d_61d]))(var_res, var_other) /* == on */; +var21 = var22; } -var21 = !var19; -var17 = var21; -goto RET_LABEL18; -RET_LABEL18:(void)0; +var23 = !var21; +var19 = var23; +goto RET_LABEL20; +RET_LABEL20:(void)0; } -var16 = var17; +var18 = var19; } -if (unlikely(!var16)) { +if (unlikely(!var18)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2314); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2507); show_backtrace(1); } { -var22 = abstract_compiler__AbstractCompilerVisitor__variable(var_v, var_variable); +var24 = abstract_compiler__AbstractCompilerVisitor__variable(var_v, var_variable); } { -abstract_compiler__AbstractCompilerVisitor__assign(var_v, var22, var_res); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on */ +abstract_compiler__AbstractCompilerVisitor__assign(var_v, var24, var_res); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on */ } RET_LABEL:; } @@ -8847,19 +8749,19 @@ RET_LABEL2:(void)0; } if (var1 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2320); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2513); show_backtrace(1); } else { { /* Inline abstract_compiler#Frame#arguments (var1) on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1538); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1688); show_backtrace(1); } var6 = var1->attrs[COLOR_abstract_compiler__Frame___arguments].val; /* _arguments on */ if (unlikely(var6 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1538); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1688); show_backtrace(1); } var4 = var6; @@ -8883,81 +8785,8 @@ var = var1; RET_LABEL:; return var; } -/* method abstract_compiler#AContinueExpr#stmt for (self: AContinueExpr, AbstractCompilerVisitor) */ -void abstract_compiler__AContinueExpr__stmt(val* self, val* p0) { -val* var_v /* var v: AbstractCompilerVisitor */; -static val* varonce; -val* var /* : String */; -char* var1 /* : NativeString */; -long var2 /* : Int */; -val* var3 /* : FlatString */; -val* var4 /* : nullable EscapeMark */; -val* var6 /* : nullable EscapeMark */; -val* var7 /* : String */; -static val* varonce8; -val* var9 /* : String */; -char* var10 /* : NativeString */; -long var11 /* : Int */; -val* var12 /* : FlatString */; -val* var13 /* : Array[Object] */; -long var14 /* : Int */; -val* var15 /* : NativeArray[Object] */; -val* var16 /* : String */; -var_v = p0; -if (varonce) { -var = varonce; -} else { -var1 = "goto CONTINUE_"; -var2 = 14; -var3 = string__NativeString__to_s_with_length(var1, var2); -var = var3; -varonce = var; -} -{ -{ /* Inline scope#AContinueExpr#escapemark (self) on */ -var6 = self->attrs[COLOR_scope__AContinueExpr___escapemark].val; /* _escapemark on */ -var4 = var6; -RET_LABEL5:(void)0; -} -} -{ -var7 = abstract_compiler__AbstractCompilerVisitor__escapemark_name(var_v, var4); -} -if (varonce8) { -var9 = varonce8; -} else { -var10 = ";"; -var11 = 1; -var12 = string__NativeString__to_s_with_length(var10, var11); -var9 = var12; -varonce8 = var9; -} -var13 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var13 = array_instance Array[Object] */ -var14 = 3; -var15 = NEW_array__NativeArray(var14, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var15)->values[0] = (val*) var; -((struct instance_array__NativeArray*)var15)->values[1] = (val*) var7; -((struct instance_array__NativeArray*)var15)->values[2] = (val*) var9; -{ -((void (*)(val*, val*, long))(var13->class->vft[COLOR_array__Array__with_native]))(var13, var15, var14) /* with_native on */; -} -} -{ -var16 = ((val* (*)(val*))(var13->class->vft[COLOR_string__Object__to_s]))(var13) /* to_s on */; -} -{ -abstract_compiler__AbstractCompilerVisitor__add(var_v, var16); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ -} -RET_LABEL:; -} -/* method abstract_compiler#AContinueExpr#stmt for (self: Object, AbstractCompilerVisitor) */ -void VIRTUAL_abstract_compiler__AContinueExpr__stmt(val* self, val* p0) { -abstract_compiler__AContinueExpr__stmt(self, p0); /* Direct call abstract_compiler#AContinueExpr#stmt on */ -RET_LABEL:; -} -/* method abstract_compiler#ABreakExpr#stmt for (self: ABreakExpr, AbstractCompilerVisitor) */ -void abstract_compiler__ABreakExpr__stmt(val* self, val* p0) { +/* method abstract_compiler#AEscapeExpr#stmt for (self: AEscapeExpr, AbstractCompilerVisitor) */ +void abstract_compiler__AEscapeExpr__stmt(val* self, val* p0) { val* var_v /* var v: AbstractCompilerVisitor */; static val* varonce; val* var /* : String */; @@ -8987,8 +8816,8 @@ var = var3; varonce = var; } { -{ /* Inline scope#ABreakExpr#escapemark (self) on */ -var6 = self->attrs[COLOR_scope__ABreakExpr___escapemark].val; /* _escapemark on */ +{ /* Inline scope#AEscapeExpr#escapemark (self) on */ +var6 = self->attrs[COLOR_scope__AEscapeExpr___escapemark].val; /* _escapemark on */ var4 = var6; RET_LABEL5:(void)0; } @@ -9024,188 +8853,193 @@ abstract_compiler__AbstractCompilerVisitor__add(var_v, var16); /* Direct call ab } RET_LABEL:; } -/* method abstract_compiler#ABreakExpr#stmt for (self: Object, AbstractCompilerVisitor) */ -void VIRTUAL_abstract_compiler__ABreakExpr__stmt(val* self, val* p0) { -abstract_compiler__ABreakExpr__stmt(self, p0); /* Direct call abstract_compiler#ABreakExpr#stmt on */ +/* method abstract_compiler#AEscapeExpr#stmt for (self: Object, AbstractCompilerVisitor) */ +void VIRTUAL_abstract_compiler__AEscapeExpr__stmt(val* self, val* p0) { +abstract_compiler__AEscapeExpr__stmt(self, p0); /* Direct call abstract_compiler#AEscapeExpr#stmt on */ RET_LABEL:; } /* method abstract_compiler#AReturnExpr#stmt for (self: AReturnExpr, AbstractCompilerVisitor) */ void abstract_compiler__AReturnExpr__stmt(val* self, val* p0) { val* var_v /* var v: AbstractCompilerVisitor */; val* var /* : nullable AExpr */; +val* var2 /* : nullable AExpr */; val* var_nexpr /* var nexpr: nullable AExpr */; -val* var1 /* : null */; -short int var2 /* : Bool */; -short int var3 /* : Bool */; -val* var_other /* var other: nullable Object */; +val* var3 /* : null */; +short int var4 /* : Bool */; short int var5 /* : Bool */; -short int var6 /* : Bool */; +val* var_other /* var other: nullable Object */; short int var7 /* : Bool */; -val* var8 /* : nullable Frame */; +short int var8 /* : Bool */; +short int var9 /* : Bool */; val* var10 /* : nullable Frame */; -val* var11 /* : nullable RuntimeVariable */; +val* var12 /* : nullable Frame */; val* var13 /* : nullable RuntimeVariable */; +val* var15 /* : nullable RuntimeVariable */; val* var_returnvar /* var returnvar: RuntimeVariable */; -val* var14 /* : MType */; val* var16 /* : MType */; -val* var17 /* : RuntimeVariable */; +val* var18 /* : MType */; +val* var19 /* : RuntimeVariable */; val* var_i /* var i: RuntimeVariable */; static val* varonce; -val* var18 /* : String */; -char* var19 /* : NativeString */; -long var20 /* : Int */; -val* var21 /* : FlatString */; -val* var22 /* : nullable Frame */; +val* var20 /* : String */; +char* var21 /* : NativeString */; +long var22 /* : Int */; +val* var23 /* : FlatString */; val* var24 /* : nullable Frame */; -val* var25 /* : nullable String */; +val* var26 /* : nullable Frame */; val* var27 /* : nullable String */; -static val* varonce28; -val* var29 /* : String */; -char* var30 /* : NativeString */; -long var31 /* : Int */; -val* var32 /* : FlatString */; -val* var33 /* : Array[Object] */; -long var34 /* : Int */; -val* var35 /* : NativeArray[Object] */; -val* var36 /* : String */; +val* var29 /* : nullable String */; +static val* varonce30; +val* var31 /* : String */; +char* var32 /* : NativeString */; +long var33 /* : Int */; +val* var34 /* : FlatString */; +val* var35 /* : Array[Object] */; +long var36 /* : Int */; +val* var37 /* : NativeArray[Object] */; +val* var38 /* : String */; var_v = p0; { -var = parser_nodes__AReturnExpr__n_expr(self); +{ /* Inline parser_nodes#AReturnExpr#n_expr (self) on */ +var2 = self->attrs[COLOR_parser_nodes__AReturnExpr___n_expr].val; /* _n_expr on */ +var = var2; +RET_LABEL1:(void)0; +} } var_nexpr = var; -var1 = NULL; +var3 = NULL; if (var_nexpr == NULL) { -var2 = 0; /* is null */ +var4 = 0; /* is null */ } else { -var2 = 1; /* arg is null and recv is not */ +var4 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_nexpr,var1) on */ -var_other = var1; +{ /* Inline kernel#Object#!= (var_nexpr,var3) on */ +var_other = var3; { -var6 = ((short int (*)(val*, val*))(var_nexpr->class->vft[COLOR_kernel__Object___61d_61d]))(var_nexpr, var_other) /* == on */; -var5 = var6; +var8 = ((short int (*)(val*, val*))(var_nexpr->class->vft[COLOR_kernel__Object___61d_61d]))(var_nexpr, var_other) /* == on */; +var7 = var8; } -var7 = !var5; -var3 = var7; -goto RET_LABEL4; -RET_LABEL4:(void)0; +var9 = !var7; +var5 = var9; +goto RET_LABEL6; +RET_LABEL6:(void)0; } -var2 = var3; +var4 = var5; } -if (var2){ +if (var4){ { { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (var_v) on */ -var10 = var_v->attrs[COLOR_abstract_compiler__AbstractCompilerVisitor___frame].val; /* _frame on */ -var8 = var10; -RET_LABEL9:(void)0; +var12 = var_v->attrs[COLOR_abstract_compiler__AbstractCompilerVisitor___frame].val; /* _frame on */ +var10 = var12; +RET_LABEL11:(void)0; } } -if (var8 == NULL) { +if (var10 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2336); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2525); show_backtrace(1); } else { -{ /* Inline abstract_compiler#Frame#returnvar (var8) on */ -if (unlikely(var8 == NULL)) { +{ /* Inline abstract_compiler#Frame#returnvar (var10) on */ +if (unlikely(var10 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1541); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1691); show_backtrace(1); } -var13 = var8->attrs[COLOR_abstract_compiler__Frame___returnvar].val; /* _returnvar on */ -var11 = var13; -RET_LABEL12:(void)0; +var15 = var10->attrs[COLOR_abstract_compiler__Frame___returnvar].val; /* _returnvar on */ +var13 = var15; +RET_LABEL14:(void)0; } } -if (unlikely(var11 == NULL)) { +if (unlikely(var13 == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2336); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2525); show_backtrace(1); } -var_returnvar = var11; +var_returnvar = var13; { { /* Inline abstract_compiler#RuntimeVariable#mtype (var_returnvar) on */ -var16 = var_returnvar->attrs[COLOR_abstract_compiler__RuntimeVariable___mtype].val; /* _mtype on */ -if (unlikely(var16 == NULL)) { +var18 = var_returnvar->attrs[COLOR_abstract_compiler__RuntimeVariable___mtype].val; /* _mtype on */ +if (unlikely(var18 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1484); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1634); show_backtrace(1); } -var14 = var16; -RET_LABEL15:(void)0; +var16 = var18; +RET_LABEL17:(void)0; } } { -var17 = abstract_compiler__AbstractCompilerVisitor__expr(var_v, var_nexpr, var14); +var19 = abstract_compiler__AbstractCompilerVisitor__expr(var_v, var_nexpr, var16); } -var_i = var17; +var_i = var19; { abstract_compiler__AbstractCompilerVisitor__assign(var_v, var_returnvar, var_i); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on */ } } else { } if (varonce) { -var18 = varonce; +var20 = varonce; } else { -var19 = "goto "; -var20 = 5; -var21 = string__NativeString__to_s_with_length(var19, var20); -var18 = var21; -varonce = var18; +var21 = "goto "; +var22 = 5; +var23 = string__NativeString__to_s_with_length(var21, var22); +var20 = var23; +varonce = var20; } { { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (var_v) on */ -var24 = var_v->attrs[COLOR_abstract_compiler__AbstractCompilerVisitor___frame].val; /* _frame on */ -var22 = var24; -RET_LABEL23:(void)0; +var26 = var_v->attrs[COLOR_abstract_compiler__AbstractCompilerVisitor___frame].val; /* _frame on */ +var24 = var26; +RET_LABEL25:(void)0; } } -if (var22 == NULL) { +if (var24 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2340); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2529); show_backtrace(1); } else { -{ /* Inline abstract_compiler#Frame#returnlabel (var22) on */ -if (unlikely(var22 == NULL)) { +{ /* Inline abstract_compiler#Frame#returnlabel (var24) on */ +if (unlikely(var24 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1544); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1694); show_backtrace(1); } -var27 = var22->attrs[COLOR_abstract_compiler__Frame___returnlabel].val; /* _returnlabel on */ -var25 = var27; -RET_LABEL26:(void)0; +var29 = var24->attrs[COLOR_abstract_compiler__Frame___returnlabel].val; /* _returnlabel on */ +var27 = var29; +RET_LABEL28:(void)0; } } -if (unlikely(var25 == NULL)) { +if (unlikely(var27 == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2340); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2529); show_backtrace(1); } -if (varonce28) { -var29 = varonce28; +if (varonce30) { +var31 = varonce30; } else { -var30 = ";"; -var31 = 1; -var32 = string__NativeString__to_s_with_length(var30, var31); -var29 = var32; -varonce28 = var29; +var32 = ";"; +var33 = 1; +var34 = string__NativeString__to_s_with_length(var32, var33); +var31 = var34; +varonce30 = var31; } -var33 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var33 = array_instance Array[Object] */ -var34 = 3; -var35 = NEW_array__NativeArray(var34, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var35)->values[0] = (val*) var18; -((struct instance_array__NativeArray*)var35)->values[1] = (val*) var25; -((struct instance_array__NativeArray*)var35)->values[2] = (val*) var29; +var35 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var35 = array_instance Array[Object] */ +var36 = 3; +var37 = NEW_array__NativeArray(var36, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var37)->values[0] = (val*) var20; +((struct instance_array__NativeArray*)var37)->values[1] = (val*) var27; +((struct instance_array__NativeArray*)var37)->values[2] = (val*) var31; { -((void (*)(val*, val*, long))(var33->class->vft[COLOR_array__Array__with_native]))(var33, var35, var34) /* with_native on */; +((void (*)(val*, val*, long))(var35->class->vft[COLOR_array__Array__with_native]))(var35, var37, var36) /* with_native on */; } } { -var36 = ((val* (*)(val*))(var33->class->vft[COLOR_string__Object__to_s]))(var33) /* to_s on */; +var38 = ((val* (*)(val*))(var35->class->vft[COLOR_string__Object__to_s]))(var35) /* to_s on */; } { -abstract_compiler__AbstractCompilerVisitor__add(var_v, var36); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +abstract_compiler__AbstractCompilerVisitor__add(var_v, var38); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } RET_LABEL:; } @@ -9246,112 +9080,132 @@ RET_LABEL:; void abstract_compiler__AIfExpr__stmt(val* self, val* p0) { val* var_v /* var v: AbstractCompilerVisitor */; val* var /* : AExpr */; -val* var1 /* : RuntimeVariable */; +val* var2 /* : AExpr */; +val* var3 /* : RuntimeVariable */; val* var_cond /* var cond: RuntimeVariable */; static val* varonce; -val* var2 /* : String */; -char* var3 /* : NativeString */; -long var4 /* : Int */; -val* var5 /* : FlatString */; -static val* varonce6; -val* var7 /* : String */; -char* var8 /* : NativeString */; -long var9 /* : Int */; -val* var10 /* : FlatString */; -val* var11 /* : Array[Object] */; -long var12 /* : Int */; -val* var13 /* : NativeArray[Object] */; -val* var14 /* : String */; -val* var15 /* : nullable AExpr */; -static val* varonce16; -val* var17 /* : String */; -char* var18 /* : NativeString */; -long var19 /* : Int */; -val* var20 /* : FlatString */; -val* var21 /* : nullable AExpr */; -static val* varonce22; -val* var23 /* : String */; -char* var24 /* : NativeString */; -long var25 /* : Int */; -val* var26 /* : FlatString */; +val* var4 /* : String */; +char* var5 /* : NativeString */; +long var6 /* : Int */; +val* var7 /* : FlatString */; +static val* varonce8; +val* var9 /* : String */; +char* var10 /* : NativeString */; +long var11 /* : Int */; +val* var12 /* : FlatString */; +val* var13 /* : Array[Object] */; +long var14 /* : Int */; +val* var15 /* : NativeArray[Object] */; +val* var16 /* : String */; +val* var17 /* : nullable AExpr */; +val* var19 /* : nullable AExpr */; +static val* varonce20; +val* var21 /* : String */; +char* var22 /* : NativeString */; +long var23 /* : Int */; +val* var24 /* : FlatString */; +val* var25 /* : nullable AExpr */; +val* var27 /* : nullable AExpr */; +static val* varonce28; +val* var29 /* : String */; +char* var30 /* : NativeString */; +long var31 /* : Int */; +val* var32 /* : FlatString */; var_v = p0; { -var = parser_nodes__AIfExpr__n_expr(self); +{ /* Inline parser_nodes#AIfExpr#n_expr (self) on */ +var2 = self->attrs[COLOR_parser_nodes__AIfExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1387); +show_backtrace(1); +} +var = var2; +RET_LABEL1:(void)0; +} } { -var1 = abstract_compiler__AbstractCompilerVisitor__expr_bool(var_v, var); +var3 = abstract_compiler__AbstractCompilerVisitor__expr_bool(var_v, var); } -var_cond = var1; +var_cond = var3; if (varonce) { -var2 = varonce; +var4 = varonce; } else { -var3 = "if ("; -var4 = 4; -var5 = string__NativeString__to_s_with_length(var3, var4); -var2 = var5; -varonce = var2; +var5 = "if ("; +var6 = 4; +var7 = string__NativeString__to_s_with_length(var5, var6); +var4 = var7; +varonce = var4; } -if (varonce6) { -var7 = varonce6; +if (varonce8) { +var9 = varonce8; } else { -var8 = "){"; -var9 = 2; -var10 = string__NativeString__to_s_with_length(var8, var9); -var7 = var10; -varonce6 = var7; +var10 = "){"; +var11 = 2; +var12 = string__NativeString__to_s_with_length(var10, var11); +var9 = var12; +varonce8 = var9; } -var11 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var11 = array_instance Array[Object] */ -var12 = 3; -var13 = NEW_array__NativeArray(var12, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var13)->values[0] = (val*) var2; -((struct instance_array__NativeArray*)var13)->values[1] = (val*) var_cond; -((struct instance_array__NativeArray*)var13)->values[2] = (val*) var7; +var13 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var13 = array_instance Array[Object] */ +var14 = 3; +var15 = NEW_array__NativeArray(var14, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var15)->values[0] = (val*) var4; +((struct instance_array__NativeArray*)var15)->values[1] = (val*) var_cond; +((struct instance_array__NativeArray*)var15)->values[2] = (val*) var9; { -((void (*)(val*, val*, long))(var11->class->vft[COLOR_array__Array__with_native]))(var11, var13, var12) /* with_native on */; +((void (*)(val*, val*, long))(var13->class->vft[COLOR_array__Array__with_native]))(var13, var15, var14) /* with_native on */; } } { -var14 = ((val* (*)(val*))(var11->class->vft[COLOR_string__Object__to_s]))(var11) /* to_s on */; +var16 = ((val* (*)(val*))(var13->class->vft[COLOR_string__Object__to_s]))(var13) /* to_s on */; } { -abstract_compiler__AbstractCompilerVisitor__add(var_v, var14); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +abstract_compiler__AbstractCompilerVisitor__add(var_v, var16); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } { -var15 = parser_nodes__AIfExpr__n_then(self); +{ /* Inline parser_nodes#AIfExpr#n_then (self) on */ +var19 = self->attrs[COLOR_parser_nodes__AIfExpr___n_then].val; /* _n_then on */ +var17 = var19; +RET_LABEL18:(void)0; +} } { -abstract_compiler__AbstractCompilerVisitor__stmt(var_v, var15); /* Direct call abstract_compiler#AbstractCompilerVisitor#stmt on */ +abstract_compiler__AbstractCompilerVisitor__stmt(var_v, var17); /* Direct call abstract_compiler#AbstractCompilerVisitor#stmt on */ } -if (varonce16) { -var17 = varonce16; +if (varonce20) { +var21 = varonce20; } else { -var18 = "} else {"; -var19 = 8; -var20 = string__NativeString__to_s_with_length(var18, var19); -var17 = var20; -varonce16 = var17; +var22 = "} else {"; +var23 = 8; +var24 = string__NativeString__to_s_with_length(var22, var23); +var21 = var24; +varonce20 = var21; } { -abstract_compiler__AbstractCompilerVisitor__add(var_v, var17); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +abstract_compiler__AbstractCompilerVisitor__add(var_v, var21); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } { -var21 = parser_nodes__AIfExpr__n_else(self); +{ /* Inline parser_nodes#AIfExpr#n_else (self) on */ +var27 = self->attrs[COLOR_parser_nodes__AIfExpr___n_else].val; /* _n_else on */ +var25 = var27; +RET_LABEL26:(void)0; +} } { -abstract_compiler__AbstractCompilerVisitor__stmt(var_v, var21); /* Direct call abstract_compiler#AbstractCompilerVisitor#stmt on */ +abstract_compiler__AbstractCompilerVisitor__stmt(var_v, var25); /* Direct call abstract_compiler#AbstractCompilerVisitor#stmt on */ } -if (varonce22) { -var23 = varonce22; +if (varonce28) { +var29 = varonce28; } else { -var24 = "}"; -var25 = 1; -var26 = string__NativeString__to_s_with_length(var24, var25); -var23 = var26; -varonce22 = var23; +var30 = "}"; +var31 = 1; +var32 = string__NativeString__to_s_with_length(var30, var31); +var29 = var32; +varonce28 = var29; } { -abstract_compiler__AbstractCompilerVisitor__add(var_v, var23); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +abstract_compiler__AbstractCompilerVisitor__add(var_v, var29); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } RET_LABEL:; } @@ -9369,38 +9223,41 @@ val* var3 /* : nullable MType */; val* var4 /* : RuntimeVariable */; val* var_res /* var res: RuntimeVariable */; val* var5 /* : AExpr */; -val* var6 /* : RuntimeVariable */; +val* var7 /* : AExpr */; +val* var8 /* : RuntimeVariable */; val* var_cond /* var cond: RuntimeVariable */; static val* varonce; -val* var7 /* : String */; -char* var8 /* : NativeString */; -long var9 /* : Int */; -val* var10 /* : FlatString */; -static val* varonce11; -val* var12 /* : String */; -char* var13 /* : NativeString */; -long var14 /* : Int */; -val* var15 /* : FlatString */; -val* var16 /* : Array[Object] */; -long var17 /* : Int */; -val* var18 /* : NativeArray[Object] */; -val* var19 /* : String */; -val* var20 /* : nullable AExpr */; -val* var21 /* : null */; -val* var22 /* : RuntimeVariable */; -static val* varonce23; -val* var24 /* : String */; -char* var25 /* : NativeString */; -long var26 /* : Int */; -val* var27 /* : FlatString */; -val* var28 /* : nullable AExpr */; -val* var29 /* : null */; -val* var30 /* : RuntimeVariable */; -static val* varonce31; -val* var32 /* : String */; -char* var33 /* : NativeString */; -long var34 /* : Int */; -val* var35 /* : FlatString */; +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* var22 /* : nullable AExpr */; +val* var24 /* : nullable AExpr */; +val* var25 /* : null */; +val* var26 /* : RuntimeVariable */; +static val* varonce27; +val* var28 /* : String */; +char* var29 /* : NativeString */; +long var30 /* : Int */; +val* var31 /* : FlatString */; +val* var32 /* : nullable AExpr */; +val* var34 /* : nullable AExpr */; +val* var35 /* : null */; +val* var36 /* : RuntimeVariable */; +static val* varonce37; +val* var38 /* : String */; +char* var39 /* : NativeString */; +long var40 /* : Int */; +val* var41 /* : FlatString */; var_v = p0; { { /* Inline typing#AExpr#mtype (self) on */ @@ -9411,7 +9268,7 @@ RET_LABEL2:(void)0; } if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2361); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2550); show_backtrace(1); } { @@ -9419,100 +9276,117 @@ var4 = abstract_compiler__AbstractCompilerVisitor__new_var(var_v, var1); } var_res = var4; { -var5 = parser_nodes__AIfExpr__n_expr(self); +{ /* Inline parser_nodes#AIfExpr#n_expr (self) on */ +var7 = self->attrs[COLOR_parser_nodes__AIfExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var7 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1387); +show_backtrace(1); +} +var5 = var7; +RET_LABEL6:(void)0; +} } { -var6 = abstract_compiler__AbstractCompilerVisitor__expr_bool(var_v, var5); +var8 = abstract_compiler__AbstractCompilerVisitor__expr_bool(var_v, var5); } -var_cond = var6; +var_cond = var8; if (varonce) { -var7 = varonce; +var9 = varonce; } else { -var8 = "if ("; -var9 = 4; -var10 = string__NativeString__to_s_with_length(var8, var9); -var7 = var10; -varonce = var7; +var10 = "if ("; +var11 = 4; +var12 = string__NativeString__to_s_with_length(var10, var11); +var9 = var12; +varonce = var9; } -if (varonce11) { -var12 = varonce11; +if (varonce13) { +var14 = varonce13; } else { -var13 = "){"; -var14 = 2; -var15 = string__NativeString__to_s_with_length(var13, var14); -var12 = var15; -varonce11 = var12; +var15 = "){"; +var16 = 2; +var17 = string__NativeString__to_s_with_length(var15, var16); +var14 = var17; +varonce13 = var14; } -var16 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var16 = array_instance Array[Object] */ -var17 = 3; -var18 = NEW_array__NativeArray(var17, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var18)->values[0] = (val*) var7; -((struct instance_array__NativeArray*)var18)->values[1] = (val*) var_cond; -((struct instance_array__NativeArray*)var18)->values[2] = (val*) var12; +var18 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var18 = array_instance Array[Object] */ +var19 = 3; +var20 = NEW_array__NativeArray(var19, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var20)->values[0] = (val*) var9; +((struct instance_array__NativeArray*)var20)->values[1] = (val*) var_cond; +((struct instance_array__NativeArray*)var20)->values[2] = (val*) var14; { -((void (*)(val*, val*, long))(var16->class->vft[COLOR_array__Array__with_native]))(var16, var18, var17) /* with_native on */; +((void (*)(val*, val*, long))(var18->class->vft[COLOR_array__Array__with_native]))(var18, var20, var19) /* with_native on */; } } { -var19 = ((val* (*)(val*))(var16->class->vft[COLOR_string__Object__to_s]))(var16) /* to_s on */; +var21 = ((val* (*)(val*))(var18->class->vft[COLOR_string__Object__to_s]))(var18) /* to_s on */; } { -abstract_compiler__AbstractCompilerVisitor__add(var_v, var19); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +abstract_compiler__AbstractCompilerVisitor__add(var_v, var21); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } { -var20 = parser_nodes__AIfExpr__n_then(self); +{ /* Inline parser_nodes#AIfExpr#n_then (self) on */ +var24 = self->attrs[COLOR_parser_nodes__AIfExpr___n_then].val; /* _n_then on */ +var22 = var24; +RET_LABEL23:(void)0; +} } -if (unlikely(var20 == NULL)) { +if (unlikely(var22 == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2364); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2553); show_backtrace(1); } -var21 = NULL; +var25 = NULL; { -var22 = abstract_compiler__AbstractCompilerVisitor__expr(var_v, var20, var21); +var26 = abstract_compiler__AbstractCompilerVisitor__expr(var_v, var22, var25); } { -abstract_compiler__AbstractCompilerVisitor__assign(var_v, var_res, var22); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on */ +abstract_compiler__AbstractCompilerVisitor__assign(var_v, var_res, var26); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on */ } -if (varonce23) { -var24 = varonce23; +if (varonce27) { +var28 = varonce27; } else { -var25 = "} else {"; -var26 = 8; -var27 = string__NativeString__to_s_with_length(var25, var26); -var24 = var27; -varonce23 = var24; +var29 = "} else {"; +var30 = 8; +var31 = string__NativeString__to_s_with_length(var29, var30); +var28 = var31; +varonce27 = var28; } { -abstract_compiler__AbstractCompilerVisitor__add(var_v, var24); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +abstract_compiler__AbstractCompilerVisitor__add(var_v, var28); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } { -var28 = parser_nodes__AIfExpr__n_else(self); +{ /* Inline parser_nodes#AIfExpr#n_else (self) on */ +var34 = self->attrs[COLOR_parser_nodes__AIfExpr___n_else].val; /* _n_else on */ +var32 = var34; +RET_LABEL33:(void)0; } -if (unlikely(var28 == NULL)) { +} +if (unlikely(var32 == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2366); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2555); show_backtrace(1); } -var29 = NULL; +var35 = NULL; { -var30 = abstract_compiler__AbstractCompilerVisitor__expr(var_v, var28, var29); +var36 = abstract_compiler__AbstractCompilerVisitor__expr(var_v, var32, var35); } { -abstract_compiler__AbstractCompilerVisitor__assign(var_v, var_res, var30); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on */ +abstract_compiler__AbstractCompilerVisitor__assign(var_v, var_res, var36); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on */ } -if (varonce31) { -var32 = varonce31; +if (varonce37) { +var38 = varonce37; } else { -var33 = "}"; -var34 = 1; -var35 = string__NativeString__to_s_with_length(var33, var34); -var32 = var35; -varonce31 = var32; +var39 = "}"; +var40 = 1; +var41 = string__NativeString__to_s_with_length(var39, var40); +var38 = var41; +varonce37 = var38; } { -abstract_compiler__AbstractCompilerVisitor__add(var_v, var32); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +abstract_compiler__AbstractCompilerVisitor__add(var_v, var38); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } var = var_res; goto RET_LABEL; @@ -9537,38 +9411,41 @@ val* var3 /* : nullable MType */; val* var4 /* : RuntimeVariable */; val* var_res /* var res: RuntimeVariable */; val* var5 /* : AExpr */; -val* var6 /* : RuntimeVariable */; +val* var7 /* : AExpr */; +val* var8 /* : RuntimeVariable */; val* var_cond /* var cond: RuntimeVariable */; static val* varonce; -val* var7 /* : String */; -char* var8 /* : NativeString */; -long var9 /* : Int */; -val* var10 /* : FlatString */; -static val* varonce11; -val* var12 /* : String */; -char* var13 /* : NativeString */; -long var14 /* : Int */; -val* var15 /* : FlatString */; -val* var16 /* : Array[Object] */; -long var17 /* : Int */; -val* var18 /* : NativeArray[Object] */; -val* var19 /* : String */; -val* var20 /* : AExpr */; -val* var21 /* : null */; -val* var22 /* : RuntimeVariable */; -static val* varonce23; -val* var24 /* : String */; -char* var25 /* : NativeString */; -long var26 /* : Int */; -val* var27 /* : FlatString */; -val* var28 /* : AExpr */; -val* var29 /* : null */; -val* var30 /* : RuntimeVariable */; -static val* varonce31; -val* var32 /* : String */; -char* var33 /* : NativeString */; -long var34 /* : Int */; -val* var35 /* : FlatString */; +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* var22 /* : AExpr */; +val* var24 /* : AExpr */; +val* var25 /* : null */; +val* var26 /* : RuntimeVariable */; +static val* varonce27; +val* var28 /* : String */; +char* var29 /* : NativeString */; +long var30 /* : Int */; +val* var31 /* : FlatString */; +val* var32 /* : AExpr */; +val* var34 /* : AExpr */; +val* var35 /* : null */; +val* var36 /* : RuntimeVariable */; +static val* varonce37; +val* var38 /* : String */; +char* var39 /* : NativeString */; +long var40 /* : Int */; +val* var41 /* : FlatString */; var_v = p0; { { /* Inline typing#AExpr#mtype (self) on */ @@ -9579,7 +9456,7 @@ RET_LABEL2:(void)0; } if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2375); +PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2564); show_backtrace(1); } { @@ -9587,90 +9464,117 @@ var4 = abstract_compiler__AbstractCompilerVisitor__new_var(var_v, var1); } var_res = var4; { -var5 = parser_nodes__AIfexprExpr__n_expr(self); +{ /* Inline parser_nodes#AIfexprExpr#n_expr (self) on */ +var7 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var7 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1396); +show_backtrace(1); +} +var5 = var7; +RET_LABEL6:(void)0; +} } { -var6 = abstract_compiler__AbstractCompilerVisitor__expr_bool(var_v, var5); +var8 = abstract_compiler__AbstractCompilerVisitor__expr_bool(var_v, var5); } -var_cond = var6; +var_cond = var8; if (varonce) { -var7 = varonce; +var9 = varonce; } else { -var8 = "if ("; -var9 = 4; -var10 = string__NativeString__to_s_with_length(var8, var9); -var7 = var10; -varonce = var7; +var10 = "if ("; +var11 = 4; +var12 = string__NativeString__to_s_with_length(var10, var11); +var9 = var12; +varonce = var9; } -if (varonce11) { -var12 = varonce11; +if (varonce13) { +var14 = varonce13; } else { -var13 = "){"; -var14 = 2; -var15 = string__NativeString__to_s_with_length(var13, var14); -var12 = var15; -varonce11 = var12; +var15 = "){"; +var16 = 2; +var17 = string__NativeString__to_s_with_length(var15, var16); +var14 = var17; +varonce13 = var14; } -var16 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var16 = array_instance Array[Object] */ -var17 = 3; -var18 = NEW_array__NativeArray(var17, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var18)->values[0] = (val*) var7; -((struct instance_array__NativeArray*)var18)->values[1] = (val*) var_cond; -((struct instance_array__NativeArray*)var18)->values[2] = (val*) var12; +var18 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var18 = array_instance Array[Object] */ +var19 = 3; +var20 = NEW_array__NativeArray(var19, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var20)->values[0] = (val*) var9; +((struct instance_array__NativeArray*)var20)->values[1] = (val*) var_cond; +((struct instance_array__NativeArray*)var20)->values[2] = (val*) var14; { -((void (*)(val*, val*, long))(var16->class->vft[COLOR_array__Array__with_native]))(var16, var18, var17) /* with_native on */; +((void (*)(val*, val*, long))(var18->class->vft[COLOR_array__Array__with_native]))(var18, var20, var19) /* with_native on */; } } { -var19 = ((val* (*)(val*))(var16->class->vft[COLOR_string__Object__to_s]))(var16) /* to_s on */; +var21 = ((val* (*)(val*))(var18->class->vft[COLOR_string__Object__to_s]))(var18) /* to_s on */; } { -abstract_compiler__AbstractCompilerVisitor__add(var_v, var19); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +abstract_compiler__AbstractCompilerVisitor__add(var_v, var21); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } { -var20 = parser_nodes__AIfexprExpr__n_then(self); +{ /* Inline parser_nodes#AIfexprExpr#n_then (self) on */ +var24 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_then].val; /* _n_then on */ +if (unlikely(var24 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_then"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1398); +show_backtrace(1); +} +var22 = var24; +RET_LABEL23:(void)0; +} } -var21 = NULL; +var25 = NULL; { -var22 = abstract_compiler__AbstractCompilerVisitor__expr(var_v, var20, var21); +var26 = abstract_compiler__AbstractCompilerVisitor__expr(var_v, var22, var25); } { -abstract_compiler__AbstractCompilerVisitor__assign(var_v, var_res, var22); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on */ +abstract_compiler__AbstractCompilerVisitor__assign(var_v, var_res, var26); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on */ } -if (varonce23) { -var24 = varonce23; +if (varonce27) { +var28 = varonce27; } else { -var25 = "} else {"; -var26 = 8; -var27 = string__NativeString__to_s_with_length(var25, var26); -var24 = var27; -varonce23 = var24; +var29 = "} else {"; +var30 = 8; +var31 = string__NativeString__to_s_with_length(var29, var30); +var28 = var31; +varonce27 = var28; } { -abstract_compiler__AbstractCompilerVisitor__add(var_v, var24); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +abstract_compiler__AbstractCompilerVisitor__add(var_v, var28); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } { -var28 = parser_nodes__AIfexprExpr__n_else(self); +{ /* Inline parser_nodes#AIfexprExpr#n_else (self) on */ +var34 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_else].val; /* _n_else on */ +if (unlikely(var34 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_else"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1400); +show_backtrace(1); +} +var32 = var34; +RET_LABEL33:(void)0; } -var29 = NULL; +} +var35 = NULL; { -var30 = abstract_compiler__AbstractCompilerVisitor__expr(var_v, var28, var29); +var36 = abstract_compiler__AbstractCompilerVisitor__expr(var_v, var32, var35); } { -abstract_compiler__AbstractCompilerVisitor__assign(var_v, var_res, var30); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on */ +abstract_compiler__AbstractCompilerVisitor__assign(var_v, var_res, var36); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on */ } -if (varonce31) { -var32 = varonce31; +if (varonce37) { +var38 = varonce37; } else { -var33 = "}"; -var34 = 1; -var35 = string__NativeString__to_s_with_length(var33, var34); -var32 = var35; -varonce31 = var32; +var39 = "}"; +var40 = 1; +var41 = string__NativeString__to_s_with_length(var39, var40); +var38 = var41; +varonce37 = var38; } { -abstract_compiler__AbstractCompilerVisitor__add(var_v, var32); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +abstract_compiler__AbstractCompilerVisitor__add(var_v, var38); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } var = var_res; goto RET_LABEL; @@ -9690,111 +9594,265 @@ return var; void abstract_compiler__ADoExpr__stmt(val* self, val* p0) { val* var_v /* var v: AbstractCompilerVisitor */; val* var /* : nullable AExpr */; -val* var1 /* : nullable EscapeMark */; +val* var2 /* : nullable AExpr */; val* var3 /* : nullable EscapeMark */; -val* var_escapemark /* var escapemark: nullable EscapeMark */; -val* var4 /* : null */; -short int var5 /* : Bool */; -short int var6 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var8 /* : Bool */; -short int var9 /* : Bool */; -short int var10 /* : Bool */; +val* var5 /* : nullable EscapeMark */; +var_v = p0; +{ +{ /* Inline parser_nodes#ADoExpr#n_block (self) on */ +var2 = self->attrs[COLOR_parser_nodes__ADoExpr___n_block].val; /* _n_block on */ +var = var2; +RET_LABEL1:(void)0; +} +} +{ +abstract_compiler__AbstractCompilerVisitor__stmt(var_v, var); /* Direct call abstract_compiler#AbstractCompilerVisitor#stmt on */ +} +{ +{ /* Inline scope#ADoExpr#break_mark (self) on */ +var5 = self->attrs[COLOR_scope__ADoExpr___break_mark].val; /* _break_mark on */ +var3 = var5; +RET_LABEL4:(void)0; +} +} +{ +abstract_compiler__AbstractCompilerVisitor__add_escape_label(var_v, var3); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_escape_label on */ +} +RET_LABEL:; +} +/* method abstract_compiler#ADoExpr#stmt for (self: Object, AbstractCompilerVisitor) */ +void VIRTUAL_abstract_compiler__ADoExpr__stmt(val* self, val* p0) { +abstract_compiler__ADoExpr__stmt(self, p0); /* Direct call abstract_compiler#ADoExpr#stmt on */ +RET_LABEL:; +} +/* method abstract_compiler#AWhileExpr#stmt for (self: AWhileExpr, AbstractCompilerVisitor) */ +void abstract_compiler__AWhileExpr__stmt(val* self, val* p0) { +val* var_v /* var v: AbstractCompilerVisitor */; static val* varonce; -val* var11 /* : String */; -char* var12 /* : NativeString */; -long var13 /* : Int */; -val* var14 /* : FlatString */; -val* var15 /* : String */; -static val* varonce16; -val* var17 /* : String */; -char* var18 /* : NativeString */; +val* var /* : String */; +char* var1 /* : NativeString */; +long var2 /* : Int */; +val* var3 /* : FlatString */; +val* var4 /* : AExpr */; +val* var6 /* : AExpr */; +val* var7 /* : RuntimeVariable */; +val* var_cond /* var cond: RuntimeVariable */; +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 /* : FlatString */; -val* var21 /* : Array[Object] */; -long var22 /* : Int */; -val* var23 /* : NativeArray[Object] */; -val* var24 /* : String */; +val* var20 /* : NativeArray[Object] */; +val* var21 /* : String */; +val* var22 /* : nullable AExpr */; +val* var24 /* : nullable AExpr */; +val* var25 /* : nullable EscapeMark */; +val* var27 /* : nullable EscapeMark */; +static val* varonce28; +val* var29 /* : String */; +char* var30 /* : NativeString */; +long var31 /* : Int */; +val* var32 /* : FlatString */; +val* var33 /* : nullable EscapeMark */; +val* var35 /* : nullable EscapeMark */; var_v = p0; +if (varonce) { +var = varonce; +} else { +var1 = "for(;;) {"; +var2 = 9; +var3 = string__NativeString__to_s_with_length(var1, var2); +var = var3; +varonce = var; +} { -var = parser_nodes__ADoExpr__n_block(self); +abstract_compiler__AbstractCompilerVisitor__add(var_v, var); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } { -abstract_compiler__AbstractCompilerVisitor__stmt(var_v, var); /* Direct call abstract_compiler#AbstractCompilerVisitor#stmt on */ +{ /* Inline parser_nodes#AWhileExpr#n_expr (self) on */ +var6 = self->attrs[COLOR_parser_nodes__AWhileExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var6 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1408); +show_backtrace(1); +} +var4 = var6; +RET_LABEL5:(void)0; +} } { -{ /* Inline scope#ADoExpr#escapemark (self) on */ -var3 = self->attrs[COLOR_scope__ADoExpr___escapemark].val; /* _escapemark on */ -var1 = var3; -RET_LABEL2:(void)0; +var7 = abstract_compiler__AbstractCompilerVisitor__expr_bool(var_v, var4); } +var_cond = var7; +if (varonce8) { +var9 = varonce8; +} else { +var10 = "if (!"; +var11 = 5; +var12 = string__NativeString__to_s_with_length(var10, var11); +var9 = var12; +varonce8 = var9; } -var_escapemark = var1; -var4 = NULL; -if (var_escapemark == NULL) { -var5 = 0; /* is null */ +if (varonce13) { +var14 = varonce13; } else { -var5 = 1; /* arg is null and recv is not */ +var15 = ") break;"; +var16 = 8; +var17 = string__NativeString__to_s_with_length(var15, var16); +var14 = var17; +varonce13 = var14; } -if (0) { -{ /* Inline kernel#Object#!= (var_escapemark,var4) on */ -var_other = var4; +var18 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var18 = array_instance Array[Object] */ +var19 = 3; +var20 = NEW_array__NativeArray(var19, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var20)->values[0] = (val*) var9; +((struct instance_array__NativeArray*)var20)->values[1] = (val*) var_cond; +((struct instance_array__NativeArray*)var20)->values[2] = (val*) var14; { -var9 = ((short int (*)(val*, val*))(var_escapemark->class->vft[COLOR_kernel__Object___61d_61d]))(var_escapemark, var_other) /* == on */; -var8 = var9; +((void (*)(val*, val*, long))(var18->class->vft[COLOR_array__Array__with_native]))(var18, var20, var19) /* with_native on */; } -var10 = !var8; -var6 = var10; -goto RET_LABEL7; -RET_LABEL7:(void)0; } -var5 = var6; +{ +var21 = ((val* (*)(val*))(var18->class->vft[COLOR_string__Object__to_s]))(var18) /* to_s on */; } -if (var5){ -if (varonce) { -var11 = varonce; +{ +abstract_compiler__AbstractCompilerVisitor__add(var_v, var21); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +} +{ +{ /* Inline parser_nodes#AWhileExpr#n_block (self) on */ +var24 = self->attrs[COLOR_parser_nodes__AWhileExpr___n_block].val; /* _n_block on */ +var22 = var24; +RET_LABEL23:(void)0; +} +} +{ +abstract_compiler__AbstractCompilerVisitor__stmt(var_v, var22); /* Direct call abstract_compiler#AbstractCompilerVisitor#stmt on */ +} +{ +{ /* Inline scope#AWhileExpr#continue_mark (self) on */ +var27 = self->attrs[COLOR_scope__AWhileExpr___continue_mark].val; /* _continue_mark on */ +var25 = var27; +RET_LABEL26:(void)0; +} +} +{ +abstract_compiler__AbstractCompilerVisitor__add_escape_label(var_v, var25); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_escape_label on */ +} +if (varonce28) { +var29 = varonce28; } else { -var12 = "BREAK_"; -var13 = 6; -var14 = string__NativeString__to_s_with_length(var12, var13); -var11 = var14; -varonce = var11; +var30 = "}"; +var31 = 1; +var32 = string__NativeString__to_s_with_length(var30, var31); +var29 = var32; +varonce28 = var29; } { -var15 = abstract_compiler__AbstractCompilerVisitor__escapemark_name(var_v, var_escapemark); +abstract_compiler__AbstractCompilerVisitor__add(var_v, var29); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } -if (varonce16) { -var17 = varonce16; +{ +{ /* Inline scope#AWhileExpr#break_mark (self) on */ +var35 = self->attrs[COLOR_scope__AWhileExpr___break_mark].val; /* _break_mark on */ +var33 = var35; +RET_LABEL34:(void)0; +} +} +{ +abstract_compiler__AbstractCompilerVisitor__add_escape_label(var_v, var33); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_escape_label on */ +} +RET_LABEL:; +} +/* method abstract_compiler#AWhileExpr#stmt for (self: Object, AbstractCompilerVisitor) */ +void VIRTUAL_abstract_compiler__AWhileExpr__stmt(val* self, val* p0) { +abstract_compiler__AWhileExpr__stmt(self, p0); /* Direct call abstract_compiler#AWhileExpr#stmt on */ +RET_LABEL:; +} +/* method abstract_compiler#ALoopExpr#stmt for (self: ALoopExpr, AbstractCompilerVisitor) */ +void abstract_compiler__ALoopExpr__stmt(val* self, val* p0) { +val* var_v /* var v: AbstractCompilerVisitor */; +static val* varonce; +val* var /* : String */; +char* var1 /* : NativeString */; +long var2 /* : Int */; +val* var3 /* : FlatString */; +val* var4 /* : nullable AExpr */; +val* var6 /* : nullable AExpr */; +val* var7 /* : nullable EscapeMark */; +val* var9 /* : nullable EscapeMark */; +static val* varonce10; +val* var11 /* : String */; +char* var12 /* : NativeString */; +long var13 /* : Int */; +val* var14 /* : FlatString */; +val* var15 /* : nullable EscapeMark */; +val* var17 /* : nullable EscapeMark */; +var_v = p0; +if (varonce) { +var = varonce; } else { -var18 = ": (void)0;"; -var19 = 10; -var20 = string__NativeString__to_s_with_length(var18, var19); -var17 = var20; -varonce16 = var17; +var1 = "for(;;) {"; +var2 = 9; +var3 = string__NativeString__to_s_with_length(var1, var2); +var = var3; +varonce = var; +} +{ +abstract_compiler__AbstractCompilerVisitor__add(var_v, var); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } -var21 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var21 = array_instance Array[Object] */ -var22 = 3; -var23 = NEW_array__NativeArray(var22, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var23)->values[0] = (val*) var11; -((struct instance_array__NativeArray*)var23)->values[1] = (val*) var15; -((struct instance_array__NativeArray*)var23)->values[2] = (val*) var17; { -((void (*)(val*, val*, long))(var21->class->vft[COLOR_array__Array__with_native]))(var21, var23, var22) /* with_native on */; +{ /* Inline parser_nodes#ALoopExpr#n_block (self) on */ +var6 = self->attrs[COLOR_parser_nodes__ALoopExpr___n_block].val; /* _n_block on */ +var4 = var6; +RET_LABEL5:(void)0; } } { -var24 = ((val* (*)(val*))(var21->class->vft[COLOR_string__Object__to_s]))(var21) /* to_s on */; +abstract_compiler__AbstractCompilerVisitor__stmt(var_v, var4); /* Direct call abstract_compiler#AbstractCompilerVisitor#stmt on */ } { -abstract_compiler__AbstractCompilerVisitor__add(var_v, var24); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +{ /* Inline scope#ALoopExpr#continue_mark (self) on */ +var9 = self->attrs[COLOR_scope__ALoopExpr___continue_mark].val; /* _continue_mark on */ +var7 = var9; +RET_LABEL8:(void)0; } +} +{ +abstract_compiler__AbstractCompilerVisitor__add_escape_label(var_v, var7); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_escape_label on */ +} +if (varonce10) { +var11 = varonce10; } else { +var12 = "}"; +var13 = 1; +var14 = string__NativeString__to_s_with_length(var12, var13); +var11 = var14; +varonce10 = var11; +} +{ +abstract_compiler__AbstractCompilerVisitor__add(var_v, var11); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +} +{ +{ /* Inline scope#ALoopExpr#break_mark (self) on */ +var17 = self->attrs[COLOR_scope__ALoopExpr___break_mark].val; /* _break_mark on */ +var15 = var17; +RET_LABEL16:(void)0; +} +} +{ +abstract_compiler__AbstractCompilerVisitor__add_escape_label(var_v, var15); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_escape_label on */ } RET_LABEL:; } -/* method abstract_compiler#ADoExpr#stmt for (self: Object, AbstractCompilerVisitor) */ -void VIRTUAL_abstract_compiler__ADoExpr__stmt(val* self, val* p0) { -abstract_compiler__ADoExpr__stmt(self, p0); /* Direct call abstract_compiler#ADoExpr#stmt on */ +/* method abstract_compiler#ALoopExpr#stmt for (self: Object, AbstractCompilerVisitor) */ +void VIRTUAL_abstract_compiler__ALoopExpr__stmt(val* self, val* p0) { +abstract_compiler__ALoopExpr__stmt(self, p0); /* Direct call abstract_compiler#ALoopExpr#stmt on */ RET_LABEL:; }