X-Git-Url: http://nitlanguage.org diff --git a/c_src/nit__modelize_property.sep.2.c b/c_src/nit__modelize_property.sep.2.c index f0341f3..67e0ad8 100644 --- a/c_src/nit__modelize_property.sep.2.c +++ b/c_src/nit__modelize_property.sep.2.c @@ -1,1075 +1,997 @@ #include "nit__modelize_property.sep.0.h" -/* method modelize_property#AMethPropdef#build_signature for (self: AMethPropdef, ModelBuilder) */ -void nit__modelize_property___AMethPropdef___APropdef__build_signature(val* self, val* p0) { +/* method modelize_property#AMethPropdef#build_property for (self: AMethPropdef, ModelBuilder, MClassDef) */ +void nit__modelize_property___AMethPropdef___APropdef__build_property(val* self, val* p0, val* p1) { val* var_modelbuilder /* var modelbuilder: ModelBuilder */; -val* var /* : nullable MPropDef */; -val* var2 /* : nullable MPropDef */; -val* var_mpropdef /* var mpropdef: nullable MMethodDef */; -val* var3 /* : null */; -short int var4 /* : Bool */; -short int var5 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var7 /* : Bool */; -short int var9 /* : Bool */; -val* var10 /* : MClassDef */; -val* var12 /* : MClassDef */; val* var_mclassdef /* var mclassdef: MClassDef */; -val* var13 /* : MModule */; -val* var15 /* : MModule */; -val* var_mmodule /* var mmodule: MModule */; -val* var16 /* : nullable ASignature */; -val* var18 /* : nullable ASignature */; -val* var_nsig /* var nsig: nullable ASignature */; -short int var19 /* : Bool */; -val* var20 /* : MProperty */; -val* var22 /* : MProperty */; -short int var23 /* : Bool */; -short int var25 /* : Bool */; +val* var /* : nullable TKwinit */; +val* var2 /* : nullable TKwinit */; +val* var_n_kwinit /* var n_kwinit: nullable TKwinit */; +val* var3 /* : nullable TKwnew */; +val* var5 /* : nullable TKwnew */; +val* var_n_kwnew /* var n_kwnew: nullable TKwnew */; +short int var6 /* : Bool */; +short int var7 /* : Bool */; +short int var8 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var10 /* : Bool */; +short int var11 /* : Bool */; short int var_ /* var : Bool */; +short int var12 /* : Bool */; +short int var13 /* : Bool */; +short int var15 /* : Bool */; +short int var16 /* : Bool */; +short int var_is_init /* var is_init: Bool */; +val* var17 /* : nullable AMethid */; +val* var19 /* : nullable AMethid */; +val* var_amethodid /* var amethodid: nullable AMethid */; +short int var20 /* : Bool */; +short int var21 /* : Bool */; +val* var_other23 /* var other: nullable Object */; +short int var24 /* : Bool */; short int var26 /* : Bool */; short int var27 /* : Bool */; -val* var28 /* : MClass */; -val* var30 /* : MClass */; -val* var31 /* : nullable MMethodDef */; -val* var33 /* : nullable MMethodDef */; -val* var_root_init /* var root_init: nullable MMethodDef */; -val* var34 /* : null */; +static val* varonce; +val* var28 /* : String */; +char* var29 /* : NativeString */; +val* var30 /* : FlatString */; +val* var_name /* var name: String */; +val* var_name_node /* var name_node: ANode */; +short int var31 /* : Bool */; +short int var32 /* : Bool */; +short int var34 /* : Bool */; short int var35 /* : Bool */; -short int var36 /* : Bool */; -val* var_other38 /* var other: nullable Object */; -short int var39 /* : Bool */; +static val* varonce36; +val* var37 /* : String */; +char* var38 /* : NativeString */; +val* var39 /* : FlatString */; short int var40 /* : Bool */; -val* var41 /* : nullable MSignature */; -val* var43 /* : nullable MSignature */; -val* var45 /* : Array[MProperty] */; -val* var47 /* : Array[MProperty] */; -short int var48 /* : Bool */; -val* var49 /* : Array[MProperty] */; -val* var51 /* : Array[MProperty] */; -val* var52 /* : Array[MProperty] */; -val* var54 /* : Array[MProperty] */; -val* var55 /* : Array[String] */; -val* var_param_names /* var param_names: Array[String] */; -val* var56 /* : Array[MType] */; -val* var_param_types /* var param_types: Array[MType] */; -long var57 /* : Int */; -long var58 /* : Int */; -long var60 /* : Int */; -long var_vararg_rank /* var vararg_rank: Int */; -val* var61 /* : null */; -val* var_ret_type /* var ret_type: nullable MType */; -val* var62 /* : null */; -short int var63 /* : Bool */; -short int var64 /* : Bool */; -short int var66 /* : Bool */; +short int var41 /* : Bool */; +short int var43 /* : Bool */; +short int var44 /* : Bool */; +static val* varonce45; +val* var46 /* : String */; +char* var47 /* : NativeString */; +val* var48 /* : FlatString */; +short int var49 /* : Bool */; +int cltype; +int idtype; +val* var50 /* : TId */; +val* var52 /* : TId */; +val* var53 /* : String */; +val* var54 /* : String */; +val* var55 /* : nullable ASignature */; +val* var57 /* : nullable ASignature */; +val* var58 /* : ANodes[AParam] */; +val* var60 /* : ANodes[AParam] */; +long var61 /* : Int */; +long var_arity /* var arity: Int */; +short int var62 /* : Bool */; +static val* varonce63; +val* var64 /* : String */; +char* var65 /* : NativeString */; +val* var66 /* : FlatString */; short int var67 /* : Bool */; -short int var68 /* : Bool */; +short int var_68 /* var : Bool */; short int var69 /* : Bool */; -val* var70 /* : Array[String] */; -val* var72 /* : Array[String] */; -val* var73 /* : Array[MType] */; -val* var75 /* : Array[MType] */; -long var76 /* : Int */; -long var78 /* : Int */; -val* var79 /* : nullable MType */; -val* var81 /* : nullable MType */; -val* var82 /* : null */; -val* var_msignature /* var msignature: nullable MSignature */; +short int var71 /* : Bool */; +static val* varonce72; +val* var73 /* : String */; +char* var74 /* : NativeString */; +val* var75 /* : FlatString */; +short int var76 /* : Bool */; +static val* varonce77; +val* var78 /* : String */; +char* var79 /* : NativeString */; +val* var80 /* : FlatString */; +short int var81 /* : Bool */; +short int var_82 /* var : Bool */; short int var83 /* : Bool */; -short int var84 /* : Bool */; -val* var85 /* : MProperty */; -val* var87 /* : MProperty */; -val* var88 /* : MPropDef */; -val* var90 /* : MPropDef */; -val* var91 /* : nullable MSignature */; -val* var93 /* : nullable MSignature */; -val* var94 /* : null */; +short int var85 /* : Bool */; +static val* varonce86; +val* var87 /* : String */; +char* var88 /* : NativeString */; +val* var89 /* : FlatString */; +short int var90 /* : Bool */; +static val* varonce91; +val* var92 /* : String */; +char* var93 /* : NativeString */; +val* var94 /* : FlatString */; short int var95 /* : Bool */; -short int var96 /* : Bool */; -short int var98 /* : Bool */; -short int var100 /* : Bool */; -val* var101 /* : MClass */; -val* var103 /* : MClass */; -val* var104 /* : MClassType */; -val* var106 /* : MClassType */; -val* var107 /* : MClassType */; -val* var109 /* : MClassType */; +short int var_96 /* var : Bool */; +short int var97 /* : Bool */; +short int var99 /* : Bool */; +static val* varonce100; +val* var101 /* : String */; +char* var102 /* : NativeString */; +val* var103 /* : FlatString */; +short int var104 /* : Bool */; +short int var105 /* : Bool */; +short int var_106 /* var : Bool */; +short int var107 /* : Bool */; +short int var109 /* : Bool */; short int var110 /* : Bool */; -val* var111 /* : MSignature */; -long var112 /* : Int */; -long var114 /* : Int */; -long var115 /* : Int */; -short int var116 /* : Bool */; -short int var118 /* : Bool */; -short int var119 /* : Bool */; -val* var120 /* : null */; -short int var121 /* : Bool */; -short int var122 /* : Bool */; -short int var124 /* : Bool */; -short int var125 /* : Bool */; -val* var_node /* var node: ANode */; -static val* varonce; -val* var126 /* : String */; -char* var127 /* : NativeString */; -long var128 /* : Int */; -val* var129 /* : FlatString */; -static val* varonce130; -val* var131 /* : String */; -char* var132 /* : NativeString */; -long var133 /* : Int */; -val* var134 /* : FlatString */; -val* var135 /* : MProperty */; -val* var137 /* : MProperty */; -val* var138 /* : MPropDef */; -val* var140 /* : MPropDef */; -static val* varonce141; -val* var142 /* : String */; -char* var143 /* : NativeString */; -long var144 /* : Int */; +val* var111 /* : nullable ASignature */; +val* var113 /* : nullable ASignature */; +val* var115 /* : NativeArray[String] */; +static val* varonce114; +static val* varonce116; +val* var117 /* : String */; +char* var118 /* : NativeString */; +val* var119 /* : FlatString */; +static val* varonce120; +val* var121 /* : String */; +char* var122 /* : NativeString */; +val* var123 /* : FlatString */; +static val* varonce124; +val* var125 /* : String */; +char* var126 /* : NativeString */; +val* var127 /* : FlatString */; +val* var128 /* : String */; +val* var129 /* : String */; +long var130 /* : Int */; +short int var131 /* : Bool */; +short int var133 /* : Bool */; +int cltype134; +int idtype135; +const char* var_class_name; +short int var136 /* : Bool */; +val* var137 /* : nullable ASignature */; +val* var139 /* : nullable ASignature */; +val* var141 /* : NativeArray[String] */; +static val* varonce140; +static val* varonce142; +val* var143 /* : String */; +char* var144 /* : NativeString */; val* var145 /* : FlatString */; -long var146 /* : Int */; -long var148 /* : Int */; -static val* varonce149; -val* var150 /* : String */; -char* var151 /* : NativeString */; -long var152 /* : Int */; +static val* varonce146; +val* var147 /* : String */; +char* var148 /* : NativeString */; +val* var149 /* : FlatString */; +static val* varonce150; +val* var151 /* : String */; +char* var152 /* : NativeString */; val* var153 /* : FlatString */; -long var154 /* : Int */; -static val* varonce155; -val* var156 /* : String */; -char* var157 /* : NativeString */; +static val* varonce154; +val* var155 /* : String */; +char* var156 /* : NativeString */; +val* var157 /* : FlatString */; long var158 /* : Int */; -val* var159 /* : FlatString */; -val* var160 /* : Array[Object] */; -long var161 /* : Int */; -val* var162 /* : NativeArray[Object] */; -val* var163 /* : Object */; -val* var164 /* : Object */; -val* var165 /* : String */; -short int var166 /* : Bool */; -val* var167 /* : MProperty */; -val* var169 /* : MProperty */; +val* var159 /* : String */; +val* var160 /* : String */; +val* var161 /* : String */; +short int var162 /* : Bool */; +short int var_look_like_a_root_init /* var look_like_a_root_init: Bool */; +val* var_mprop /* var mprop: nullable MMethod */; +short int var163 /* : Bool */; +short int var164 /* : Bool */; +short int var_165 /* var : Bool */; +val* var166 /* : nullable TKwredef */; +val* var168 /* : nullable TKwredef */; +short int var169 /* : Bool */; short int var170 /* : Bool */; short int var172 /* : Bool */; -short int var_173 /* var : Bool */; -val* var174 /* : MProperty */; -val* var176 /* : MProperty */; -short int var177 /* : Bool */; +short int var173 /* : Bool */; +val* var174 /* : nullable MProperty */; +short int var175 /* : Bool */; +int cltype176; +int idtype177; +const char* var_class_name178; short int var179 /* : Bool */; short int var180 /* : Bool */; -val* var181 /* : Array[MClassType] */; -val* var183 /* : Array[MClassType] */; -val* var_184 /* var : Array[MClassType] */; -val* var185 /* : ArrayIterator[nullable Object] */; -val* var_186 /* var : ArrayIterator[MClassType] */; -short int var187 /* : Bool */; -val* var188 /* : nullable Object */; -val* var_msupertype /* var msupertype: MClassType */; -val* var189 /* : MClassType */; -val* var191 /* : MClassType */; -val* var192 /* : MClassType */; -val* var193 /* : MProperty */; -val* var195 /* : MProperty */; -val* var196 /* : String */; -val* var198 /* : String */; -val* var199 /* : nullable MProperty */; -val* var_candidate /* var candidate: nullable MProperty */; -val* var200 /* : null */; -short int var201 /* : Bool */; +short int var181 /* : Bool */; +short int var183 /* : Bool */; +short int var185 /* : Bool */; +short int var_186 /* var : Bool */; +val* var187 /* : nullable MMethod */; +val* var189 /* : nullable MMethod */; +val* var190 /* : nullable AExpr */; +val* var192 /* : nullable AExpr */; +val* var_nb /* var nb: nullable AExpr */; +short int var193 /* : Bool */; +short int var194 /* : Bool */; +short int var195 /* : Bool */; +int cltype196; +int idtype197; +short int var_198 /* var : Bool */; +val* var199 /* : ANodes[AExpr] */; +val* var201 /* : ANodes[AExpr] */; short int var202 /* : Bool */; -short int var204 /* : Bool */; -short int var205 /* : Bool */; -val* var206 /* : null */; +short int var_203 /* var : Bool */; +val* var204 /* : nullable ADoc */; +val* var206 /* : nullable ADoc */; short int var207 /* : Bool */; short int var208 /* : Bool */; short int var210 /* : Bool */; short int var212 /* : Bool */; -val* var213 /* : MPropDef */; -val* var215 /* : MPropDef */; -short int var216 /* : Bool */; -int cltype; -int idtype; -const char* var_class_name; -val* var217 /* : nullable MSignature */; -val* var219 /* : nullable MSignature */; -short int var221 /* : Bool */; -short int var222 /* : Bool */; -short int var223 /* : Bool */; -val* var224 /* : null */; +static val* varonce213; +val* var214 /* : String */; +char* var215 /* : NativeString */; +val* var216 /* : FlatString */; +val* var218 /* : NativeArray[String] */; +static val* varonce217; +static val* varonce219; +val* var220 /* : String */; +char* var221 /* : NativeString */; +val* var222 /* : FlatString */; +val* var223 /* : String */; +val* var224 /* : String */; short int var225 /* : Bool */; short int var226 /* : Bool */; short int var228 /* : Bool */; -short int var229 /* : Bool */; -short int var_230 /* var : Bool */; -long var231 /* : Int */; -long var233 /* : Int */; -long var234 /* : Int */; -long var236 /* : Int */; -short int var237 /* : Bool */; -short int var239 /* : Bool */; -short int var240 /* : Bool */; -short int var_241 /* var : Bool */; -long var242 /* : Int */; -long var244 /* : Int */; -long var245 /* : Int */; +short int var230 /* : Bool */; +val* var231 /* : nullable AVisibility */; +val* var233 /* : nullable AVisibility */; +val* var234 /* : MVisibility */; +val* var_mvisibility /* var mvisibility: MVisibility */; +val* var235 /* : MMethod */; +short int var236 /* : Bool */; +short int var_237 /* var : Bool */; +val* var238 /* : nullable MMethod */; +val* var240 /* : nullable MMethod */; +short int var241 /* : Bool */; +short int var242 /* : Bool */; +short int var244 /* : Bool */; short int var246 /* : Bool */; -short int var248 /* : Bool */; -short int var_249 /* var : Bool */; -long var250 /* : Int */; -long var252 /* : Int */; -long var253 /* : Int */; +short int var250 /* : Bool */; +short int var251 /* : Bool */; +short int var253 /* : Bool */; short int var254 /* : Bool */; short int var256 /* : Bool */; -val* var257 /* : Array[MType] */; -val* var258 /* : Array[MParameter] */; -val* var260 /* : Array[MParameter] */; -val* var_261 /* var : Array[MParameter] */; -val* var262 /* : ArrayIterator[nullable Object] */; -val* var_263 /* var : ArrayIterator[MParameter] */; -short int var264 /* : Bool */; -val* var265 /* : nullable Object */; -val* var_mparameter /* var mparameter: MParameter */; -val* var266 /* : MType */; -val* var268 /* : MType */; -long var271 /* : Int */; -long var273 /* : Int */; -short int var274 /* : Bool */; -val* var275 /* : null */; +short int var258 /* : Bool */; +val* var259 /* : MClass */; +val* var261 /* : MClass */; +static val* varonce263; +val* var264 /* : String */; +char* var265 /* : NativeString */; +val* var266 /* : FlatString */; +short int var267 /* : Bool */; +val* var269 /* : nullable TKwredef */; +val* var271 /* : nullable TKwredef */; +short int var272 /* : Bool */; +val* var273 /* : nullable TKwredef */; +val* var275 /* : nullable TKwredef */; short int var276 /* : Bool */; -short int var277 /* : Bool */; +int cltype277; +int idtype278; short int var279 /* : Bool */; short int var280 /* : Bool */; -short int var_281 /* var : Bool */; -val* var282 /* : null */; -short int var283 /* : Bool */; -short int var284 /* : Bool */; -short int var286 /* : Bool */; -short int var288 /* : Bool */; -val* var289 /* : nullable MType */; -val* var291 /* : nullable MType */; -long var292 /* : Int */; -long var294 /* : Int */; -long var295 /* : Int */; -long var297 /* : Int */; +short int var281 /* : Bool */; +val* var282 /* : nullable AVisibility */; +val* var284 /* : nullable AVisibility */; +val* var285 /* : Map[MProperty, APropdef] */; +val* var287 /* : Map[MProperty, APropdef] */; +val* var_288 /* var : Map[MProperty, APropdef] */; +val* var289 /* : MapIterator[nullable Object, nullable Object] */; +val* var_290 /* var : MapIterator[MProperty, APropdef] */; +short int var291 /* : Bool */; +val* var292 /* : nullable Object */; +val* var_p /* var p: MProperty */; +val* var293 /* : nullable Object */; +val* var_n /* var n: APropdef */; +short int var294 /* : Bool */; +short int var295 /* : Bool */; +short int var296 /* : Bool */; short int var298 /* : Bool */; -short int var300 /* : Bool */; +short int var299 /* : Bool */; +short int var_300 /* var : Bool */; short int var301 /* : Bool */; -val* var302 /* : ANodes[AParam] */; -val* var304 /* : ANodes[AParam] */; -long var305 /* : Int */; -long var307 /* : Int */; -val* var308 /* : ANode */; -static val* varonce309; -val* var310 /* : String */; -char* var311 /* : NativeString */; -long var312 /* : Int */; -val* var313 /* : FlatString */; -long var314 /* : Int */; -long var316 /* : Int */; -val* var317 /* : nullable Object */; -static val* varonce318; -val* var319 /* : String */; -char* var320 /* : NativeString */; -long var321 /* : Int */; -val* var322 /* : FlatString */; -val* var323 /* : Array[Object] */; -long var324 /* : Int */; -val* var325 /* : NativeArray[Object] */; -val* var326 /* : String */; -val* var327 /* : Array[MParameter] */; -val* var_mparameters /* var mparameters: Array[MParameter] */; -long var328 /* : Int */; -long var_i /* var i: Int */; -long var329 /* : Int */; -long var331 /* : Int */; -long var_332 /* var : Int */; -short int var333 /* : Bool */; -short int var335 /* : Bool */; -int cltype336; -int idtype337; -const char* var_class_name338; -short int var339 /* : Bool */; -val* var340 /* : MParameter */; -val* var341 /* : nullable Object */; -val* var342 /* : nullable Object */; -short int var343 /* : Bool */; -short int var345 /* : Bool */; -val* var_mparameter346 /* var mparameter: MParameter */; -val* var347 /* : null */; -short int var348 /* : Bool */; -short int var349 /* : Bool */; -short int var351 /* : Bool */; -short int var352 /* : Bool */; -val* var353 /* : ANodes[AParam] */; -val* var355 /* : ANodes[AParam] */; -val* var356 /* : ANode */; -long var358 /* : Int */; -long var359 /* : Int */; -short int var361 /* : Bool */; -val* var362 /* : null */; -short int var363 /* : Bool */; -short int var364 /* : Bool */; -short int var366 /* : Bool */; -short int var368 /* : Bool */; -short int var_369 /* var : Bool */; -val* var370 /* : MProperty */; -val* var372 /* : MProperty */; -short int var373 /* : Bool */; -short int var375 /* : Bool */; -val* var376 /* : MClass */; -val* var378 /* : MClass */; -val* var379 /* : MClassType */; -val* var381 /* : MClassType */; -val* var382 /* : MSignature */; -static val* varonce384; -val* var385 /* : String */; -char* var386 /* : NativeString */; -long var387 /* : Int */; -val* var388 /* : FlatString */; -val* var389 /* : nullable AAnnotation */; -val* var390 /* : null */; -short int var391 /* : Bool */; -short int var392 /* : Bool */; -short int var394 /* : Bool */; -short int var395 /* : Bool */; -static val* varonce397; -val* var398 /* : String */; -char* var399 /* : NativeString */; -long var400 /* : Int */; -val* var401 /* : FlatString */; -val* var402 /* : nullable AAnnotation */; -val* var403 /* : null */; -short int var404 /* : Bool */; -short int var405 /* : Bool */; -short int var407 /* : Bool */; -short int var408 /* : Bool */; -short int var410 /* : Bool */; -val* var411 /* : nullable AExternCodeBlock */; -val* var413 /* : nullable AExternCodeBlock */; -val* var414 /* : null */; -short int var415 /* : Bool */; -short int var416 /* : Bool */; -short int var418 /* : Bool */; -short int var419 /* : Bool */; -short int var_420 /* var : Bool */; -static val* varonce421; -val* var422 /* : String */; -char* var423 /* : NativeString */; -long var424 /* : Int */; -val* var425 /* : FlatString */; -val* var426 /* : nullable AAnnotation */; -val* var427 /* : null */; -short int var428 /* : Bool */; -short int var429 /* : Bool */; -short int var431 /* : Bool */; -short int var432 /* : Bool */; +int cltype302; +int idtype303; +short int var_304 /* var : Bool */; +val* var305 /* : String */; +val* var307 /* : String */; +short int var308 /* : Bool */; +val* var309 /* : nullable TKwredef */; +val* var311 /* : nullable TKwredef */; +short int var312 /* : Bool */; +val* var314 /* : Map[MProperty, APropdef] */; +val* var316 /* : Map[MProperty, APropdef] */; +val* var317 /* : MMethodDef */; +val* var318 /* : Location */; +val* var320 /* : Location */; +val* var_mpropdef /* var mpropdef: MMethodDef */; +short int var321 /* : Bool */; +int cltype322; +int idtype323; +const struct type* type_struct; +const char* var_class_name324; +short int var326 /* : Bool */; +int cltype327; +int idtype328; +const struct type* type_struct329; +const char* var_class_name330; +val* var331 /* : HashMap[MPropDef, APropdef] */; +val* var333 /* : HashMap[MPropDef, APropdef] */; +short int var334 /* : Bool */; +val* var335 /* : ToolContext */; +val* var337 /* : ToolContext */; +val* var339 /* : NativeArray[String] */; +static val* varonce338; +static val* varonce340; +val* var341 /* : String */; +char* var342 /* : NativeString */; +val* var343 /* : FlatString */; +val* var344 /* : String */; +val* var345 /* : String */; +val* var346 /* : String */; +val* var347 /* : ToolContext */; +val* var349 /* : ToolContext */; +val* var351 /* : NativeArray[String] */; +static val* varonce350; +static val* varonce352; +val* var353 /* : String */; +char* var354 /* : NativeString */; +val* var355 /* : FlatString */; +val* var356 /* : String */; +val* var357 /* : String */; +val* var358 /* : String */; var_modelbuilder = p0; +var_mclassdef = p1; { -{ /* Inline modelize_property#APropdef#mpropdef (self) on */ -var2 = self->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ +{ /* Inline parser_nodes#AMethPropdef#n_kwinit (self) on */ +var2 = self->attrs[COLOR_nit__parser_nodes__AMethPropdef___n_kwinit].val; /* _n_kwinit on */ var = var2; RET_LABEL1:(void)0; } } -var_mpropdef = var; -var3 = NULL; -if (var_mpropdef == NULL) { -var4 = 1; /* is null */ +var_n_kwinit = var; +{ +{ /* Inline parser_nodes#AMethPropdef#n_kwnew (self) on */ +var5 = self->attrs[COLOR_nit__parser_nodes__AMethPropdef___n_kwnew].val; /* _n_kwnew on */ +var3 = var5; +RET_LABEL4:(void)0; +} +} +var_n_kwnew = var3; +if (var_n_kwinit == NULL) { +var7 = 0; /* is null */ } else { -var4 = 0; /* arg is null but recv is not */ +var7 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_mpropdef,var3) on */ -var_other = var3; +{ /* Inline kernel#Object#!= (var_n_kwinit,((val*)NULL)) on */ +var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_mpropdef,var_other) on */ -var9 = var_mpropdef == var_other; -var7 = var9; -goto RET_LABEL8; -RET_LABEL8:(void)0; +var10 = ((short int(*)(val* self, val* p0))(var_n_kwinit->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_n_kwinit, var_other); /* == on */ } +var11 = !var10; +var8 = var11; +goto RET_LABEL9; +RET_LABEL9:(void)0; } -var5 = var7; -goto RET_LABEL6; -RET_LABEL6:(void)0; -} -var4 = var5; +var7 = var8; } -if (var4){ -goto RET_LABEL; +var_ = var7; +if (var7){ +var6 = var_; +} else { +if (var_n_kwnew == NULL) { +var12 = 0; /* is null */ } else { +var12 = 1; /* arg is null and recv is not */ } +if (0) { +{ /* Inline kernel#Object#!= (var_n_kwnew,((val*)NULL)) on */ +var_other = ((val*)NULL); { -{ /* Inline model#MPropDef#mclassdef (var_mpropdef) on */ -var12 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ -if (unlikely(var12 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2010); -show_backtrace(1); +var15 = ((short int(*)(val* self, val* p0))(var_n_kwnew->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_n_kwnew, var_other); /* == on */ +} +var16 = !var15; +var13 = var16; +goto RET_LABEL14; +RET_LABEL14:(void)0; } -var10 = var12; -RET_LABEL11:(void)0; +var12 = var13; } +var6 = var12; } -var_mclassdef = var10; +var_is_init = var6; { -{ /* Inline model#MClassDef#mmodule (var_mclassdef) on */ -var15 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ -if (unlikely(var15 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 489); -show_backtrace(1); +{ /* Inline parser_nodes#AMethPropdef#n_methid (self) on */ +var19 = self->attrs[COLOR_nit__parser_nodes__AMethPropdef___n_methid].val; /* _n_methid on */ +var17 = var19; +RET_LABEL18:(void)0; } -var13 = var15; -RET_LABEL14:(void)0; } +var_amethodid = var17; +if (var_amethodid == NULL) { +var20 = 1; /* is null */ +} else { +var20 = 0; /* arg is null but recv is not */ } -var_mmodule = var13; +if (0) { +{ /* Inline kernel#Object#== (var_amethodid,((val*)NULL)) on */ +var_other23 = ((val*)NULL); { -{ /* Inline parser_nodes#AMethPropdef#n_signature (self) on */ -var18 = self->attrs[COLOR_nit__parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on */ -var16 = var18; -RET_LABEL17:(void)0; +{ /* Inline kernel#Object#is_same_instance (var_amethodid,var_other23) on */ +var26 = var_amethodid == var_other23; +var24 = var26; +goto RET_LABEL25; +RET_LABEL25:(void)0; } } -var_nsig = var16; -{ -{ /* Inline model#MPropDef#mproperty (var_mpropdef) on */ -var22 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var22 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); +var21 = var24; +goto RET_LABEL22; +RET_LABEL22:(void)0; } -var20 = var22; -RET_LABEL21:(void)0; +var20 = var21; +} +if (var20){ +var27 = !var_is_init; +if (var27){ +if (likely(varonce!=NULL)) { +var28 = varonce; +} else { +var29 = "main"; +var30 = standard___standard__NativeString___to_s_with_length(var29, 4l); +var28 = var30; +varonce = var28; } +var_name = var28; +var_name_node = self; +} else { +if (var_n_kwinit == NULL) { +var31 = 0; /* is null */ +} else { +var31 = 1; /* arg is null and recv is not */ } +if (0) { +{ /* Inline kernel#Object#!= (var_n_kwinit,((val*)NULL)) on */ +var_other = ((val*)NULL); { -{ /* Inline model#MMethod#is_root_init (var20) on */ -var25 = var20->attrs[COLOR_nit__model__MMethod___is_root_init].s; /* _is_root_init on */ -var23 = var25; -RET_LABEL24:(void)0; +var34 = ((short int(*)(val* self, val* p0))(var_n_kwinit->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_n_kwinit, var_other); /* == on */ } +var35 = !var34; +var32 = var35; +goto RET_LABEL33; +RET_LABEL33:(void)0; } -var_ = var23; -if (var23){ -{ -var26 = nit___nit__MClassDef___is_intro(var_mclassdef); +var31 = var32; } -var27 = !var26; -var19 = var27; +if (var31){ +if (likely(varonce36!=NULL)) { +var37 = varonce36; } else { -var19 = var_; +var38 = "init"; +var39 = standard___standard__NativeString___to_s_with_length(var38, 4l); +var37 = var39; +varonce36 = var37; } -if (var19){ -{ -{ /* Inline model#MClassDef#mclass (var_mclassdef) on */ -var30 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ -if (unlikely(var30 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 492); -show_backtrace(1); +var_name = var37; +var_name_node = var_n_kwinit; +} else { +if (var_n_kwnew == NULL) { +var40 = 0; /* is null */ +} else { +var40 = 1; /* arg is null and recv is not */ } -var28 = var30; -RET_LABEL29:(void)0; +if (0) { +{ /* Inline kernel#Object#!= (var_n_kwnew,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +var43 = ((short int(*)(val* self, val* p0))(var_n_kwnew->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_n_kwnew, var_other); /* == on */ } +var44 = !var43; +var41 = var44; +goto RET_LABEL42; +RET_LABEL42:(void)0; } -{ -{ /* Inline modelize_property#MClass#root_init (var28) on */ -var33 = var28->attrs[COLOR_nit__modelize_property__MClass___root_init].val; /* _root_init on */ -var31 = var33; -RET_LABEL32:(void)0; +var40 = var41; } +if (var40){ +if (likely(varonce45!=NULL)) { +var46 = varonce45; +} else { +var47 = "new"; +var48 = standard___standard__NativeString___to_s_with_length(var47, 3l); +var46 = var48; +varonce45 = var46; } -var_root_init = var31; -var34 = NULL; -if (var_root_init == NULL) { -var35 = 0; /* is null */ +var_name = var46; +var_name_node = var_n_kwnew; } else { -var35 = 1; /* arg is null and recv is not */ +PRINT_ERROR("Runtime error: %s", "Aborted"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 788); +fatal_exit(1); } -if (0) { -{ /* Inline kernel#Object#!= (var_root_init,var34) on */ -var_other38 = var34; -{ -var39 = ((short int (*)(val* self, val* p0))(var_root_init->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_root_init, var_other38) /* == on */; } -var40 = !var39; -var36 = var40; -goto RET_LABEL37; -RET_LABEL37:(void)0; } -var35 = var36; +} else { +/* isa AIdMethid */ +cltype = type_nit__AIdMethid.color; +idtype = type_nit__AIdMethid.id; +if(cltype >= var_amethodid->type->table_size) { +var49 = 0; +} else { +var49 = var_amethodid->type->type_table[cltype] == idtype; } -if (var35){ +if (var49){ { -{ /* Inline model#MMethodDef#new_msignature (var_root_init) on */ -var43 = var_root_init->attrs[COLOR_nit__model__MMethodDef___new_msignature].val; /* _new_msignature on */ -var41 = var43; -RET_LABEL42:(void)0; -} +{ /* Inline parser_nodes#AIdMethid#n_id (var_amethodid) on */ +var52 = var_amethodid->attrs[COLOR_nit__parser_nodes__AIdMethid___n_id].val; /* _n_id on */ +if (unlikely(var52 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1544); +fatal_exit(1); } -{ -{ /* Inline model#MMethodDef#new_msignature= (var_mpropdef,var41) on */ -var_mpropdef->attrs[COLOR_nit__model__MMethodDef___new_msignature].val = var41; /* _new_msignature on */ -RET_LABEL44:(void)0; +var50 = var52; +RET_LABEL51:(void)0; } } { -{ /* Inline model#MMethodDef#initializers (var_mpropdef) on */ -var47 = var_mpropdef->attrs[COLOR_nit__model__MMethodDef___initializers].val; /* _initializers on */ -if (unlikely(var47 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2146); -show_backtrace(1); -} -var45 = var47; -RET_LABEL46:(void)0; -} +var53 = nit__lexer_work___Token___text(var50); } +var_name = var53; +var_name_node = var_amethodid; +} else { { -var48 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var45); -} -if (unlikely(!var48)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 719); -show_backtrace(1); +var54 = nit__parser_work___Prod___collect_text(var_amethodid); } +var_name = var54; +var_name_node = var_amethodid; { -{ /* Inline model#MMethodDef#initializers (var_mpropdef) on */ -var51 = var_mpropdef->attrs[COLOR_nit__model__MMethodDef___initializers].val; /* _initializers on */ -if (unlikely(var51 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2146); -show_backtrace(1); +{ /* Inline parser_nodes#AMethPropdef#n_signature (self) on */ +var57 = self->attrs[COLOR_nit__parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on */ +var55 = var57; +RET_LABEL56:(void)0; } -var49 = var51; -RET_LABEL50:(void)0; } +if (var55 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 798); +fatal_exit(1); +} else { +{ /* Inline parser_nodes#ASignature#n_params (var55) on */ +if (unlikely(var55 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1693); +fatal_exit(1); } -{ -{ /* Inline model#MMethodDef#initializers (var_root_init) on */ -var54 = var_root_init->attrs[COLOR_nit__model__MMethodDef___initializers].val; /* _initializers on */ -if (unlikely(var54 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2146); -show_backtrace(1); +var60 = var55->attrs[COLOR_nit__parser_nodes__ASignature___n_params].val; /* _n_params on */ +if (unlikely(var60 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1693); +fatal_exit(1); } -var52 = var54; -RET_LABEL53:(void)0; +var58 = var60; +RET_LABEL59:(void)0; } } { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add_all(var49, var52); /* Direct call array#Array#add_all on */ -} -} else { +var61 = nit___nit__ANodes___standard__abstract_collection__Collection__length(var58); } +var_arity = var61; +if (likely(varonce63!=NULL)) { +var64 = varonce63; } else { +var65 = "+"; +var66 = standard___standard__NativeString___to_s_with_length(var65, 1l); +var64 = var66; +varonce63 = var64; } -var55 = NEW_standard__Array(&type_standard__Array__standard__String); -{ -standard___standard__Array___standard__kernel__Object__init(var55); /* Direct call array#Array#init on */ -} -var_param_names = var55; -var56 = NEW_standard__Array(&type_standard__Array__nit__MType); { -standard___standard__Array___standard__kernel__Object__init(var56); /* Direct call array#Array#init on */ +var67 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_name, var64); /* == on */ } -var_param_types = var56; -var57 = 1; +var_68 = var67; +if (var67){ { -{ /* Inline kernel#Int#unary - (var57) on */ -var60 = -var57; -var58 = var60; -goto RET_LABEL59; -RET_LABEL59:(void)0; +{ /* Inline kernel#Int#== (var_arity,0l) on */ +var71 = var_arity == 0l; +var69 = var71; +goto RET_LABEL70; +RET_LABEL70:(void)0; } } -var_vararg_rank = var58; -var61 = NULL; -var_ret_type = var61; -var62 = NULL; -if (var_nsig == NULL) { -var63 = 0; /* is null */ +var62 = var69; } else { -var63 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_nsig,var62) on */ -var_other38 = var62; -{ -var66 = ((short int (*)(val* self, val* p0))(var_nsig->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nsig, var_other38) /* == on */; -} -var67 = !var66; -var64 = var67; -goto RET_LABEL65; -RET_LABEL65:(void)0; -} -var63 = var64; +var62 = var_68; } -if (var63){ -{ -var68 = nit__modelize_property___ASignature___visit_signature(var_nsig, var_modelbuilder, var_mclassdef); -} -var69 = !var68; -if (var69){ -goto RET_LABEL; +if (var62){ +if (likely(varonce72!=NULL)) { +var73 = varonce72; } else { +var74 = "unary +"; +var75 = standard___standard__NativeString___to_s_with_length(var74, 7l); +var73 = var75; +varonce72 = var73; } -{ -{ /* Inline modelize_property#ASignature#param_names (var_nsig) on */ -var72 = var_nsig->attrs[COLOR_nit__modelize_property__ASignature___param_names].val; /* _param_names on */ -if (unlikely(var72 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _param_names"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 514); -show_backtrace(1); -} -var70 = var72; -RET_LABEL71:(void)0; -} +var_name = var73; +} else { +if (likely(varonce77!=NULL)) { +var78 = varonce77; +} else { +var79 = "-"; +var80 = standard___standard__NativeString___to_s_with_length(var79, 1l); +var78 = var80; +varonce77 = var78; } -var_param_names = var70; { -{ /* Inline modelize_property#ASignature#param_types (var_nsig) on */ -var75 = var_nsig->attrs[COLOR_nit__modelize_property__ASignature___param_types].val; /* _param_types on */ -if (unlikely(var75 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _param_types"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 517); -show_backtrace(1); -} -var73 = var75; -RET_LABEL74:(void)0; +var81 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_name, var78); /* == on */ } -} -var_param_types = var73; +var_82 = var81; +if (var81){ { -{ /* Inline modelize_property#ASignature#vararg_rank (var_nsig) on */ -var78 = var_nsig->attrs[COLOR_nit__modelize_property__ASignature___vararg_rank].l; /* _vararg_rank on */ -var76 = var78; -RET_LABEL77:(void)0; +{ /* Inline kernel#Int#== (var_arity,0l) on */ +var85 = var_arity == 0l; +var83 = var85; +goto RET_LABEL84; +RET_LABEL84:(void)0; } } -var_vararg_rank = var76; -{ -{ /* Inline modelize_property#ASignature#ret_type (var_nsig) on */ -var81 = var_nsig->attrs[COLOR_nit__modelize_property__ASignature___ret_type].val; /* _ret_type on */ -var79 = var81; -RET_LABEL80:(void)0; +var76 = var83; +} else { +var76 = var_82; } +if (var76){ +if (likely(varonce86!=NULL)) { +var87 = varonce86; +} else { +var88 = "unary -"; +var89 = standard___standard__NativeString___to_s_with_length(var88, 7l); +var87 = var89; +varonce86 = var87; } -var_ret_type = var79; +var_name = var87; +} else { +if (likely(varonce91!=NULL)) { +var92 = varonce91; } else { +var93 = "~"; +var94 = standard___standard__NativeString___to_s_with_length(var93, 1l); +var92 = var94; +varonce91 = var92; } -var82 = NULL; -var_msignature = var82; { -var83 = nit___nit__MPropDef___is_intro(var_mpropdef); +var95 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_name, var92); /* == on */ } -var84 = !var83; -if (var84){ +var_96 = var95; +if (var95){ { -{ /* Inline model#MPropDef#mproperty (var_mpropdef) on */ -var87 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var87 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); -} -var85 = var87; -RET_LABEL86:(void)0; +{ /* Inline kernel#Int#== (var_arity,0l) on */ +var99 = var_arity == 0l; +var97 = var99; +goto RET_LABEL98; +RET_LABEL98:(void)0; } } -{ -{ /* Inline model#MProperty#intro (var85) on */ -var90 = var85->attrs[COLOR_nit__model__MProperty___intro].val; /* _intro on */ -if (unlikely(var90 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1773); -show_backtrace(1); +var90 = var97; +} else { +var90 = var_96; } -var88 = var90; -RET_LABEL89:(void)0; +if (var90){ +if (likely(varonce100!=NULL)) { +var101 = varonce100; +} else { +var102 = "unary ~"; +var103 = standard___standard__NativeString___to_s_with_length(var102, 7l); +var101 = var103; +varonce100 = var101; } +var_name = var101; +} else { +{ +var105 = ((short int(*)(val* self))(var_amethodid->class->vft[COLOR_nit__modelize_property__AMethid__is_binary]))(var_amethodid); /* is_binary on */ } +var_106 = var105; +if (var105){ { -{ /* Inline model#MMethodDef#msignature (var88) on */ -var93 = var88->attrs[COLOR_nit__model__MMethodDef___msignature].val; /* _msignature on */ -var91 = var93; -RET_LABEL92:(void)0; +{ /* Inline kernel#Int#!= (var_arity,1l) on */ +var109 = var_arity == 1l; +var110 = !var109; +var107 = var110; +goto RET_LABEL108; +RET_LABEL108:(void)0; } } -var_msignature = var91; -var94 = NULL; -if (var_msignature == NULL) { -var95 = 1; /* is null */ +var104 = var107; } else { -var95 = 0; /* arg is null but recv is not */ +var104 = var_106; } -if (0) { -{ /* Inline kernel#Object#== (var_msignature,var94) on */ -var_other = var94; +if (var104){ { -{ /* Inline kernel#Object#is_same_instance (var_msignature,var_other) on */ -var100 = var_msignature == var_other; -var98 = var100; -goto RET_LABEL99; -RET_LABEL99:(void)0; -} -} -var96 = var98; -goto RET_LABEL97; -RET_LABEL97:(void)0; +{ /* Inline parser_nodes#AMethPropdef#n_signature (self) on */ +var113 = self->attrs[COLOR_nit__parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on */ +var111 = var113; +RET_LABEL112:(void)0; } -var95 = var96; } -if (var95){ -goto RET_LABEL; +if (unlikely(varonce114==NULL)) { +var115 = NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String); +if (likely(varonce116!=NULL)) { +var117 = varonce116; } else { +var118 = "Syntax Error: binary operator `"; +var119 = standard___standard__NativeString___to_s_with_length(var118, 31l); +var117 = var119; +varonce116 = var117; } -{ -{ /* Inline model#MClassDef#mclass (var_mclassdef) on */ -var103 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ -if (unlikely(var103 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 492); -show_backtrace(1); +((struct instance_standard__NativeArray*)var115)->values[0]=var117; +if (likely(varonce120!=NULL)) { +var121 = varonce120; +} else { +var122 = "` requires exactly one parameter; got "; +var123 = standard___standard__NativeString___to_s_with_length(var122, 38l); +var121 = var123; +varonce120 = var121; } -var101 = var103; -RET_LABEL102:(void)0; +((struct instance_standard__NativeArray*)var115)->values[2]=var121; +if (likely(varonce124!=NULL)) { +var125 = varonce124; +} else { +var126 = "."; +var127 = standard___standard__NativeString___to_s_with_length(var126, 1l); +var125 = var127; +varonce124 = var125; } +((struct instance_standard__NativeArray*)var115)->values[4]=var125; +} else { +var115 = varonce114; +varonce114 = NULL; } +((struct instance_standard__NativeArray*)var115)->values[1]=var_name; +var128 = standard__string___Int___Object__to_s(var_arity); +((struct instance_standard__NativeArray*)var115)->values[3]=var128; { -{ /* Inline model#MClass#mclass_type (var101) on */ -var106 = var101->attrs[COLOR_nit__model__MClass___mclass_type].val; /* _mclass_type on */ -if (unlikely(var106 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 438); -show_backtrace(1); -} -var104 = var106; -RET_LABEL105:(void)0; -} +var129 = ((val*(*)(val* self))(var115->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var115); /* native_to_s on */ } +varonce114 = var115; { -{ /* Inline model#MClassDef#bound_mtype (var_mclassdef) on */ -var109 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ -if (unlikely(var109 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 495); -show_backtrace(1); -} -var107 = var109; -RET_LABEL108:(void)0; +nit___nit__ModelBuilder___error(var_modelbuilder, var111, var129); /* Direct call modelbuilder_base#ModelBuilder#error on */ } -} -var110 = 0; +} else { { -var111 = nit___nit__MSignature___MType__resolve_for(var_msignature, var104, var107, var_mmodule, var110); +var130 = ((long(*)(val* self))(var_amethodid->class->vft[COLOR_nit__modelize_property__AMethid__min_arity]))(var_amethodid); /* min_arity on */ } -var_msignature = var111; { -{ /* Inline array#AbstractArrayRead#length (var_param_names) on */ -var114 = var_param_names->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ -var112 = var114; -RET_LABEL113:(void)0; +{ /* Inline kernel#Int#> (var130,var_arity) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var133 = 1; /* easy isa OTHER*/ +if (unlikely(!var133)) { +var_class_name = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 536); +fatal_exit(1); } +var136 = var130 > var_arity; +var131 = var136; +goto RET_LABEL132; +RET_LABEL132:(void)0; } -{ -var115 = nit___nit__MSignature___arity(var_msignature); } +if (var131){ { -{ /* Inline kernel#Int#!= (var112,var115) on */ -var118 = var112 == var115; -var119 = !var118; -var116 = var119; -goto RET_LABEL117; -RET_LABEL117:(void)0; +{ /* Inline parser_nodes#AMethPropdef#n_signature (self) on */ +var139 = self->attrs[COLOR_nit__parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on */ +var137 = var139; +RET_LABEL138:(void)0; } } -if (var116){ -var120 = NULL; -if (var_nsig == NULL) { -var121 = 0; /* is null */ +if (unlikely(varonce140==NULL)) { +var141 = NEW_standard__NativeArray(7l, &type_standard__NativeArray__standard__String); +if (likely(varonce142!=NULL)) { +var143 = varonce142; } else { -var121 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_nsig,var120) on */ -var_other38 = var120; -{ -var124 = ((short int (*)(val* self, val* p0))(var_nsig->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nsig, var_other38) /* == on */; -} -var125 = !var124; -var122 = var125; -goto RET_LABEL123; -RET_LABEL123:(void)0; +var144 = "Syntax Error: `"; +var145 = standard___standard__NativeString___to_s_with_length(var144, 15l); +var143 = var145; +varonce142 = var143; } -var121 = var122; +((struct instance_standard__NativeArray*)var141)->values[0]=var143; +if (likely(varonce146!=NULL)) { +var147 = varonce146; +} else { +var148 = "` requires at least "; +var149 = standard___standard__NativeString___to_s_with_length(var148, 20l); +var147 = var149; +varonce146 = var147; } -if (var121){ -var_node = var_nsig; +((struct instance_standard__NativeArray*)var141)->values[2]=var147; +if (likely(varonce150!=NULL)) { +var151 = varonce150; } else { -var_node = self; +var152 = " parameter(s); got "; +var153 = standard___standard__NativeString___to_s_with_length(var152, 19l); +var151 = var153; +varonce150 = var151; } -if (varonce) { -var126 = varonce; +((struct instance_standard__NativeArray*)var141)->values[4]=var151; +if (likely(varonce154!=NULL)) { +var155 = varonce154; } else { -var127 = "Redef error: "; -var128 = 13; -var129 = standard___standard__NativeString___to_s_with_length(var127, var128); -var126 = var129; -varonce = var126; +var156 = "."; +var157 = standard___standard__NativeString___to_s_with_length(var156, 1l); +var155 = var157; +varonce154 = var155; } -if (varonce130) { -var131 = varonce130; +((struct instance_standard__NativeArray*)var141)->values[6]=var155; } else { -var132 = " redefines "; -var133 = 11; -var134 = standard___standard__NativeString___to_s_with_length(var132, var133); -var131 = var134; -varonce130 = var131; +var141 = varonce140; +varonce140 = NULL; } +((struct instance_standard__NativeArray*)var141)->values[1]=var_name; { -{ /* Inline model#MPropDef#mproperty (var_mpropdef) on */ -var137 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var137 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); -} -var135 = var137; -RET_LABEL136:(void)0; -} +var158 = ((long(*)(val* self))(var_amethodid->class->vft[COLOR_nit__modelize_property__AMethid__min_arity]))(var_amethodid); /* min_arity on */ } +var159 = standard__string___Int___Object__to_s(var158); +((struct instance_standard__NativeArray*)var141)->values[3]=var159; +var160 = standard__string___Int___Object__to_s(var_arity); +((struct instance_standard__NativeArray*)var141)->values[5]=var160; { -{ /* Inline model#MProperty#intro (var135) on */ -var140 = var135->attrs[COLOR_nit__model__MProperty___intro].val; /* _intro on */ -if (unlikely(var140 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1773); -show_backtrace(1); -} -var138 = var140; -RET_LABEL139:(void)0; -} -} -if (varonce141) { -var142 = varonce141; -} else { -var143 = " with "; -var144 = 6; -var145 = standard___standard__NativeString___to_s_with_length(var143, var144); -var142 = var145; -varonce141 = var142; +var161 = ((val*(*)(val* self))(var141->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var141); /* native_to_s on */ } +varonce140 = var141; { -{ /* Inline array#AbstractArrayRead#length (var_param_names) on */ -var148 = var_param_names->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ -var146 = var148; -RET_LABEL147:(void)0; +nit___nit__ModelBuilder___error(var_modelbuilder, var137, var161); /* Direct call modelbuilder_base#ModelBuilder#error on */ } -} -if (varonce149) { -var150 = varonce149; } else { -var151 = " parameter(s), "; -var152 = 15; -var153 = standard___standard__NativeString___to_s_with_length(var151, var152); -var150 = var153; -varonce149 = var150; } -{ -var154 = nit___nit__MSignature___arity(var_msignature); } -if (varonce155) { -var156 = varonce155; -} else { -var157 = " expected. Signature is "; -var158 = 24; -var159 = standard___standard__NativeString___to_s_with_length(var157, var158); -var156 = var159; -varonce155 = var156; } -var160 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var160 = array_instance Array[Object] */ -var161 = 11; -var162 = NEW_standard__NativeArray(var161, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var162)->values[0] = (val*) var126; -((struct instance_standard__NativeArray*)var162)->values[1] = (val*) var_mpropdef; -((struct instance_standard__NativeArray*)var162)->values[2] = (val*) var131; -((struct instance_standard__NativeArray*)var162)->values[3] = (val*) var138; -((struct instance_standard__NativeArray*)var162)->values[4] = (val*) var142; -var163 = BOX_standard__Int(var146); /* autobox from Int to Object */ -((struct instance_standard__NativeArray*)var162)->values[5] = (val*) var163; -((struct instance_standard__NativeArray*)var162)->values[6] = (val*) var150; -var164 = BOX_standard__Int(var154); /* autobox from Int to Object */ -((struct instance_standard__NativeArray*)var162)->values[7] = (val*) var164; -((struct instance_standard__NativeArray*)var162)->values[8] = (val*) var156; -((struct instance_standard__NativeArray*)var162)->values[9] = (val*) var_mpropdef; -((struct instance_standard__NativeArray*)var162)->values[10] = (val*) var_msignature; -{ -((void (*)(val* self, val* p0, long p1))(var160->class->vft[COLOR_standard__array__Array__with_native]))(var160, var162, var161) /* with_native on */; } } -{ -var165 = ((val* (*)(val* self))(var160->class->vft[COLOR_standard__string__Object__to_s]))(var160) /* to_s on */; } -{ -nit___nit__ModelBuilder___error(var_modelbuilder, var_node, var165); /* Direct call modelbuilder_base#ModelBuilder#error on */ } -goto RET_LABEL; -} else { +{ +var162 = nit__modelize_property___AMethPropdef___look_like_a_root_init(self, var_modelbuilder, var_mclassdef); } +var_look_like_a_root_init = var162; +var_mprop = ((val*)NULL); +var164 = !var_is_init; +var_165 = var164; +if (var164){ +var163 = var_165; } else { { -{ /* Inline model#MPropDef#mproperty (var_mpropdef) on */ -var169 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var169 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); +{ /* Inline parser_nodes#ADefinition#n_kwredef (self) on */ +var168 = self->attrs[COLOR_nit__parser_nodes__ADefinition___n_kwredef].val; /* _n_kwredef on */ +var166 = var168; +RET_LABEL167:(void)0; } -var167 = var169; -RET_LABEL168:(void)0; } +if (var166 == NULL) { +var169 = 0; /* is null */ +} else { +var169 = 1; /* arg is null and recv is not */ } +if (0) { +{ /* Inline kernel#Object#!= (var166,((val*)NULL)) on */ +var_other = ((val*)NULL); { -{ /* Inline model#MMethod#is_init (var167) on */ -var172 = var167->attrs[COLOR_nit__model__MMethod___is_init].s; /* _is_init on */ -var170 = var172; +var172 = ((short int(*)(val* self, val* p0))(var166->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var166, var_other); /* == on */ +} +var173 = !var172; +var170 = var173; +goto RET_LABEL171; RET_LABEL171:(void)0; } +var169 = var170; } -var_173 = var170; -if (var170){ +var163 = var169; +} +if (var163){ { -{ /* Inline model#MPropDef#mproperty (var_mpropdef) on */ -var176 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var176 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); +var174 = nit___nit__ModelBuilder___try_get_mproperty_by_name(var_modelbuilder, var_name_node, var_mclassdef, var_name); } -var174 = var176; -RET_LABEL175:(void)0; +/* isa nullable MMethod */ +cltype176 = type_nullable__nit__MMethod.color; +idtype177 = type_nullable__nit__MMethod.id; +if(var174 == NULL) { +var175 = 1; +} else { +if(cltype176 >= var174->type->table_size) { +var175 = 0; +} else { +var175 = var174->type->type_table[cltype176] == idtype177; } } -{ -{ /* Inline model#MMethod#is_new (var174) on */ -var179 = var174->attrs[COLOR_nit__model__MMethod___is_new].s; /* _is_new on */ -var177 = var179; -RET_LABEL178:(void)0; +if (unlikely(!var175)) { +var_class_name178 = var174 == NULL ? "null" : var174->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MMethod", var_class_name178); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 816); +fatal_exit(1); } +var_mprop = var174; +} else { } -var180 = !var177; -var166 = var180; +if (var_mprop == NULL) { +var180 = 1; /* is null */ } else { -var166 = var_173; +var180 = 0; /* arg is null but recv is not */ } -if (var166){ +if (0) { +{ /* Inline kernel#Object#== (var_mprop,((val*)NULL)) on */ +var_other23 = ((val*)NULL); { -{ /* Inline model#MClassDef#supertypes (var_mclassdef) on */ -var183 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___supertypes].val; /* _supertypes on */ -if (unlikely(var183 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _supertypes"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 566); -show_backtrace(1); +{ /* Inline kernel#Object#is_same_instance (var_mprop,var_other23) on */ +var185 = var_mprop == var_other23; +var183 = var185; +goto RET_LABEL184; +RET_LABEL184:(void)0; +} } var181 = var183; +goto RET_LABEL182; RET_LABEL182:(void)0; } +var180 = var181; } -var_184 = var181; -{ -var185 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_184); -} -var_186 = var185; -for(;;) { -{ -var187 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_186); -} -if (var187){ -{ -var188 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_186); +var_186 = var180; +if (var180){ +var179 = var_look_like_a_root_init; +} else { +var179 = var_186; } -var_msupertype = var188; +if (var179){ { -{ /* Inline model#MClassDef#bound_mtype (var_mclassdef) on */ -var191 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ -if (unlikely(var191 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 495); -show_backtrace(1); -} -var189 = var191; -RET_LABEL190:(void)0; +{ /* Inline modelize_property#ModelBuilder#the_root_init_mmethod (var_modelbuilder) on */ +var189 = var_modelbuilder->attrs[COLOR_nit__modelize_property__ModelBuilder___the_root_init_mmethod].val; /* _the_root_init_mmethod on */ +var187 = var189; +RET_LABEL188:(void)0; } } +var_mprop = var187; { -var192 = nit___nit__MClassType___MType__anchor_to(var_msupertype, var_mmodule, var189); +{ /* Inline parser_nodes#AMethPropdef#n_block (self) on */ +var192 = self->attrs[COLOR_nit__parser_nodes__AMethPropdef___n_block].val; /* _n_block on */ +var190 = var192; +RET_LABEL191:(void)0; } -var_msupertype = var192; -{ -{ /* Inline model#MPropDef#mproperty (var_mpropdef) on */ -var195 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var195 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); } -var193 = var195; -RET_LABEL194:(void)0; +var_nb = var190; +/* isa ABlockExpr */ +cltype196 = type_nit__ABlockExpr.color; +idtype197 = type_nit__ABlockExpr.id; +if(var_nb == NULL) { +var195 = 0; +} else { +if(cltype196 >= var_nb->type->table_size) { +var195 = 0; +} else { +var195 = var_nb->type->type_table[cltype196] == idtype197; } } +var_198 = var195; +if (var195){ { -{ /* Inline model#MProperty#name (var193) on */ -var198 = var193->attrs[COLOR_nit__model__MProperty___name].val; /* _name on */ -if (unlikely(var198 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1741); -show_backtrace(1); +{ /* Inline parser_nodes#ABlockExpr#n_expr (var_nb) on */ +var201 = var_nb->attrs[COLOR_nit__parser_nodes__ABlockExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var201 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1758); +fatal_exit(1); } -var196 = var198; -RET_LABEL197:(void)0; +var199 = var201; +RET_LABEL200:(void)0; } } { -var199 = nit___nit__ModelBuilder___try_get_mproperty_by_name2(var_modelbuilder, self, var_mmodule, var_msupertype, var196); +var202 = nit___nit__ANodes___standard__abstract_collection__Collection__is_empty(var199); } -var_candidate = var199; -var200 = NULL; -if (var_candidate == NULL) { -var201 = 0; /* is null */ +var194 = var202; } else { -var201 = 1; /* arg is null and recv is not */ +var194 = var_198; } -if (0) { -{ /* Inline kernel#Object#!= (var_candidate,var200) on */ -var_other38 = var200; +var_203 = var194; +if (var194){ { -var204 = ((short int (*)(val* self, val* p0))(var_candidate->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_candidate, var_other38) /* == on */; +{ /* Inline parser_nodes#ADefinition#n_doc (self) on */ +var206 = self->attrs[COLOR_nit__parser_nodes__ADefinition___n_doc].val; /* _n_doc on */ +var204 = var206; +RET_LABEL205:(void)0; } -var205 = !var204; -var202 = var205; -goto RET_LABEL203; -RET_LABEL203:(void)0; } -var201 = var202; -} -if (var201){ -var206 = NULL; -if (var_msignature == NULL) { +if (var204 == NULL) { var207 = 1; /* is null */ } else { var207 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_msignature,var206) on */ -var_other = var206; +{ /* Inline kernel#Object#== (var204,((val*)NULL)) on */ +var_other23 = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_msignature,var_other) on */ -var212 = var_msignature == var_other; +{ /* Inline kernel#Object#is_same_instance (var204,var_other23) on */ +var212 = var204 == var_other23; var210 = var212; goto RET_LABEL211; RET_LABEL211:(void)0; @@ -1081,995 +1003,1044 @@ RET_LABEL209:(void)0; } var207 = var208; } -if (var207){ -{ -{ /* Inline model#MProperty#intro (var_candidate) on */ -var215 = var_candidate->attrs[COLOR_nit__model__MProperty___intro].val; /* _intro on */ -if (unlikely(var215 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1773); -show_backtrace(1); +var193 = var207; +} else { +var193 = var_203; } -var213 = var215; -RET_LABEL214:(void)0; +if (var193){ +if (likely(varonce213!=NULL)) { +var214 = varonce213; +} else { +var215 = "useless-init"; +var216 = standard___standard__NativeString___to_s_with_length(var215, 12l); +var214 = var216; +varonce213 = var214; } +if (unlikely(varonce217==NULL)) { +var218 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String); +if (likely(varonce219!=NULL)) { +var220 = varonce219; +} else { +var221 = "Warning: useless empty init in "; +var222 = standard___standard__NativeString___to_s_with_length(var221, 31l); +var220 = var222; +varonce219 = var220; } -/* isa MMethodDef */ -cltype = type_nit__MMethodDef.color; -idtype = type_nit__MMethodDef.id; -if(cltype >= var213->type->table_size) { -var216 = 0; +((struct instance_standard__NativeArray*)var218)->values[0]=var220; } else { -var216 = var213->type->type_table[cltype] == idtype; +var218 = varonce217; +varonce217 = NULL; } -if (unlikely(!var216)) { -var_class_name = var213 == NULL ? "null" : var213->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MMethodDef", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 761); -show_backtrace(1); +{ +var223 = ((val*(*)(val* self))(var_mclassdef->class->vft[COLOR_standard__string__Object__to_s]))(var_mclassdef); /* to_s on */ } +((struct instance_standard__NativeArray*)var218)->values[1]=var223; { -{ /* Inline model#MMethodDef#msignature (var213) on */ -var219 = var213->attrs[COLOR_nit__model__MMethodDef___msignature].val; /* _msignature on */ -var217 = var219; -RET_LABEL218:(void)0; +var224 = ((val*(*)(val* self))(var218->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var218); /* native_to_s on */ } +varonce217 = var218; +{ +nit___nit__ModelBuilder___advice(var_modelbuilder, self, var214, var224); /* Direct call modelbuilder_base#ModelBuilder#advice on */ } -var_msignature = var217; } else { } } else { } -{ -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_186); /* Direct call array#ArrayIterator#next on */ -} -} else { -goto BREAK_label; -} -} -BREAK_label: (void)0; -{ -{ /* Inline abstract_collection#Iterator#finish (var_186) on */ -RET_LABEL220:(void)0; -} -} -} else { -} -} -var224 = NULL; -if (var_msignature == NULL) { -var225 = 0; /* is null */ +if (var_mprop == NULL) { +var225 = 1; /* is null */ } else { -var225 = 1; /* arg is null and recv is not */ +var225 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_msignature,var224) on */ -var_other38 = var224; +{ /* Inline kernel#Object#== (var_mprop,((val*)NULL)) on */ +var_other23 = ((val*)NULL); { -var228 = ((short int (*)(val* self, val* p0))(var_msignature->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_msignature, var_other38) /* == on */; +{ /* Inline kernel#Object#is_same_instance (var_mprop,var_other23) on */ +var230 = var_mprop == var_other23; +var228 = var230; +goto RET_LABEL229; +RET_LABEL229:(void)0; +} } -var229 = !var228; -var226 = var229; +var226 = var228; goto RET_LABEL227; RET_LABEL227:(void)0; } var225 = var226; } -var_230 = var225; if (var225){ { -{ /* Inline array#AbstractArrayRead#length (var_param_names) on */ -var233 = var_param_names->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ +{ /* Inline parser_nodes#ADefinition#n_visibility (self) on */ +var233 = self->attrs[COLOR_nit__parser_nodes__ADefinition___n_visibility].val; /* _n_visibility on */ var231 = var233; RET_LABEL232:(void)0; } } { -{ /* Inline array#AbstractArrayRead#length (var_param_types) on */ -var236 = var_param_types->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ -var234 = var236; -RET_LABEL235:(void)0; -} -} -{ -{ /* Inline kernel#Int#!= (var231,var234) on */ -var239 = var231 == var234; -var240 = !var239; -var237 = var240; -goto RET_LABEL238; -RET_LABEL238:(void)0; -} +var234 = nit__modelize_property___APropdef___new_property_visibility(self, var_modelbuilder, var_mclassdef, var231); } -var223 = var237; -} else { -var223 = var_230; -} -var_241 = var223; -if (var223){ +var_mvisibility = var234; +var235 = NEW_nit__MMethod(&type_nit__MMethod); { -{ /* Inline array#AbstractArrayRead#length (var_param_names) on */ -var244 = var_param_names->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ -var242 = var244; -RET_LABEL243:(void)0; -} +((void(*)(val* self, val* p0))(var235->class->vft[COLOR_nit__model__MProperty__intro_mclassdef_61d]))(var235, var_mclassdef); /* intro_mclassdef= on */ } { -var245 = nit___nit__MSignature___arity(var_msignature); +((void(*)(val* self, val* p0))(var235->class->vft[COLOR_nit__model__MProperty__name_61d]))(var235, var_name); /* name= on */ } { -{ /* Inline kernel#Int#== (var242,var245) on */ -var248 = var242 == var245; -var246 = var248; -goto RET_LABEL247; -RET_LABEL247:(void)0; -} -} -var222 = var246; -} else { -var222 = var_241; +((void(*)(val* self, val* p0))(var235->class->vft[COLOR_nit__model__MProperty__visibility_61d]))(var235, var_mvisibility); /* visibility= on */ } -var_249 = var222; -if (var222){ { -{ /* Inline array#AbstractArrayRead#length (var_param_types) on */ -var252 = var_param_types->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ -var250 = var252; -RET_LABEL251:(void)0; +((void(*)(val* self))(var235->class->vft[COLOR_standard__kernel__Object__init]))(var235); /* init on */ } -} -var253 = 0; +var_mprop = var235; +var_237 = var_look_like_a_root_init; +if (var_look_like_a_root_init){ { -{ /* Inline kernel#Int#== (var250,var253) on */ -var256 = var250 == var253; -var254 = var256; -goto RET_LABEL255; -RET_LABEL255:(void)0; +{ /* Inline modelize_property#ModelBuilder#the_root_init_mmethod (var_modelbuilder) on */ +var240 = var_modelbuilder->attrs[COLOR_nit__modelize_property__ModelBuilder___the_root_init_mmethod].val; /* _the_root_init_mmethod on */ +var238 = var240; +RET_LABEL239:(void)0; } } -var221 = var254; +if (var238 == NULL) { +var241 = 1; /* is null */ } else { -var221 = var_249; -} -if (var221){ -var257 = NEW_standard__Array(&type_standard__Array__nit__MType); -{ -standard___standard__Array___standard__kernel__Object__init(var257); /* Direct call array#Array#init on */ -} -var_param_types = var257; -{ -{ /* Inline model#MSignature#mparameters (var_msignature) on */ -var260 = var_msignature->attrs[COLOR_nit__model__MSignature___mparameters].val; /* _mparameters on */ -if (unlikely(var260 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1592); -show_backtrace(1); -} -var258 = var260; -RET_LABEL259:(void)0; -} -} -var_261 = var258; -{ -var262 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_261); +var241 = 0; /* arg is null but recv is not */ } -var_263 = var262; -for(;;) { -{ -var264 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_263); -} -if (var264){ -{ -var265 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_263); -} -var_mparameter = var265; +if (0) { +{ /* Inline kernel#Object#== (var238,((val*)NULL)) on */ +var_other23 = ((val*)NULL); { -{ /* Inline model#MParameter#mtype (var_mparameter) on */ -var268 = var_mparameter->attrs[COLOR_nit__model__MParameter___mtype].val; /* _mtype on */ -if (unlikely(var268 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1690); -show_backtrace(1); -} -var266 = var268; -RET_LABEL267:(void)0; +{ /* Inline kernel#Object#is_same_instance (var238,var_other23) on */ +var246 = var238 == var_other23; +var244 = var246; +goto RET_LABEL245; +RET_LABEL245:(void)0; } } -{ -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_param_types, var266); /* Direct call array#Array#add on */ +var242 = var244; +goto RET_LABEL243; +RET_LABEL243:(void)0; } -{ -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_263); /* Direct call array#ArrayIterator#next on */ +var241 = var242; } +var236 = var241; } else { -goto BREAK_label269; -} +var236 = var_237; } -BREAK_label269: (void)0; +if (var236){ { -{ /* Inline abstract_collection#Iterator#finish (var_263) on */ -RET_LABEL270:(void)0; +{ /* Inline modelize_property#ModelBuilder#the_root_init_mmethod= (var_modelbuilder,var_mprop) on */ +var_modelbuilder->attrs[COLOR_nit__modelize_property__ModelBuilder___the_root_init_mmethod].val = var_mprop; /* _the_root_init_mmethod on */ +RET_LABEL247:(void)0; } } { -{ /* Inline model#MSignature#vararg_rank (var_msignature) on */ -var273 = var_msignature->attrs[COLOR_nit__model__MSignature___vararg_rank].l; /* _vararg_rank on */ -var271 = var273; -RET_LABEL272:(void)0; +{ /* Inline model#MMethod#is_root_init= (var_mprop,1) on */ +var_mprop->attrs[COLOR_nit__model__MMethod___is_root_init].s = 1; /* _is_root_init on */ +RET_LABEL248:(void)0; } } -var_vararg_rank = var271; -} else { -} -var275 = NULL; -if (var_msignature == NULL) { -var276 = 0; /* is null */ } else { -var276 = 1; /* arg is null and recv is not */ } -if (0) { -{ /* Inline kernel#Object#!= (var_msignature,var275) on */ -var_other38 = var275; { -var279 = ((short int (*)(val* self, val* p0))(var_msignature->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_msignature, var_other38) /* == on */; -} -var280 = !var279; -var277 = var280; -goto RET_LABEL278; -RET_LABEL278:(void)0; +{ /* Inline model#MMethod#is_init= (var_mprop,var_is_init) on */ +var_mprop->attrs[COLOR_nit__model__MMethod___is_init].s = var_is_init; /* _is_init on */ +RET_LABEL249:(void)0; } -var276 = var277; } -var_281 = var276; -if (var276){ -var282 = NULL; -if (var_ret_type == NULL) { -var283 = 1; /* is null */ +if (var_n_kwnew == NULL) { +var250 = 0; /* is null */ } else { -var283 = 0; /* arg is null but recv is not */ +var250 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_ret_type,var282) on */ -var_other = var282; +{ /* Inline kernel#Object#!= (var_n_kwnew,((val*)NULL)) on */ +var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_ret_type,var_other) on */ -var288 = var_ret_type == var_other; -var286 = var288; -goto RET_LABEL287; -RET_LABEL287:(void)0; -} +var253 = ((short int(*)(val* self, val* p0))(var_n_kwnew->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_n_kwnew, var_other); /* == on */ } -var284 = var286; -goto RET_LABEL285; -RET_LABEL285:(void)0; -} -var283 = var284; +var254 = !var253; +var251 = var254; +goto RET_LABEL252; +RET_LABEL252:(void)0; } -var274 = var283; -} else { -var274 = var_281; +var250 = var251; } -if (var274){ { -{ /* Inline model#MSignature#return_mtype (var_msignature) on */ -var291 = var_msignature->attrs[COLOR_nit__model__MSignature___return_mtype].val; /* _return_mtype on */ -var289 = var291; -RET_LABEL290:(void)0; -} +{ /* Inline model#MMethod#is_new= (var_mprop,var250) on */ +var_mprop->attrs[COLOR_nit__model__MMethod___is_new].s = var250; /* _is_new on */ +RET_LABEL255:(void)0; } -var_ret_type = var289; -} else { } { -{ /* Inline array#AbstractArrayRead#length (var_param_names) on */ -var294 = var_param_names->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ -var292 = var294; -RET_LABEL293:(void)0; +{ /* Inline model#MMethod#is_new (var_mprop) on */ +var258 = var_mprop->attrs[COLOR_nit__model__MMethod___is_new].s; /* _is_new on */ +var256 = var258; +RET_LABEL257:(void)0; } } +if (var256){ { -{ /* Inline array#AbstractArrayRead#length (var_param_types) on */ -var297 = var_param_types->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ -var295 = var297; -RET_LABEL296:(void)0; +{ /* Inline model#MClassDef#mclass (var_mclassdef) on */ +var261 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ +if (unlikely(var261 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 553); +fatal_exit(1); +} +var259 = var261; +RET_LABEL260:(void)0; } } { -{ /* Inline kernel#Int#!= (var292,var295) on */ -var300 = var292 == var295; -var301 = !var300; -var298 = var301; -goto RET_LABEL299; -RET_LABEL299:(void)0; +{ /* Inline model#MClass#has_new_factory= (var259,1) on */ +var259->attrs[COLOR_nit__model__MClass___has_new_factory].s = 1; /* _has_new_factory on */ +RET_LABEL262:(void)0; } } -if (var298){ -if (var_nsig == NULL) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 783); -show_backtrace(1); } else { -{ /* Inline parser_nodes#ASignature#n_params (var_nsig) on */ -if (unlikely(var_nsig == NULL)) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1506); -show_backtrace(1); -} -var304 = var_nsig->attrs[COLOR_nit__parser_nodes__ASignature___n_params].val; /* _n_params on */ -if (unlikely(var304 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1506); -show_backtrace(1); -} -var302 = var304; -RET_LABEL303:(void)0; } +if (likely(varonce263!=NULL)) { +var264 = varonce263; +} else { +var265 = "sys"; +var266 = standard___standard__NativeString___to_s_with_length(var265, 3l); +var264 = var266; +varonce263 = var264; } { -{ /* Inline array#AbstractArrayRead#length (var_param_types) on */ -var307 = var_param_types->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ -var305 = var307; -RET_LABEL306:(void)0; -} +var267 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_name, var264); /* == on */ } +if (var267){ { -var308 = nit___nit__ANodes___standard__abstract_collection__SequenceRead___91d_93d(var302, var305); +{ /* Inline model#MMethod#is_toplevel= (var_mprop,1) on */ +var_mprop->attrs[COLOR_nit__model__MMethod___is_toplevel].s = 1; /* _is_toplevel on */ +RET_LABEL268:(void)0; +} } -if (varonce309) { -var310 = varonce309; } else { -var311 = "Error: Untyped parameter `"; -var312 = 26; -var313 = standard___standard__NativeString___to_s_with_length(var311, var312); -var310 = var313; -varonce309 = var310; } { -{ /* Inline array#AbstractArrayRead#length (var_param_types) on */ -var316 = var_param_types->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ -var314 = var316; -RET_LABEL315:(void)0; +{ /* Inline parser_nodes#ADefinition#n_kwredef (self) on */ +var271 = self->attrs[COLOR_nit__parser_nodes__ADefinition___n_kwredef].val; /* _n_kwredef on */ +var269 = var271; +RET_LABEL270:(void)0; } } { -var317 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_param_names, var314); +var272 = nit__modelize_property___APropdef___check_redef_keyword(self, var_modelbuilder, var_mclassdef, var269, 0, var_mprop); } -if (varonce318) { -var319 = varonce318; } else { -var320 = "\'."; -var321 = 2; -var322 = standard___standard__NativeString___to_s_with_length(var320, var321); -var319 = var322; -varonce318 = var319; -} -var323 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var323 = array_instance Array[Object] */ -var324 = 3; -var325 = NEW_standard__NativeArray(var324, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var325)->values[0] = (val*) var310; -((struct instance_standard__NativeArray*)var325)->values[1] = (val*) var317; -((struct instance_standard__NativeArray*)var325)->values[2] = (val*) var319; { -((void (*)(val* self, val* p0, long p1))(var323->class->vft[COLOR_standard__array__Array__with_native]))(var323, var325, var324) /* with_native on */; +{ /* Inline parser_nodes#ADefinition#n_kwredef (self) on */ +var275 = self->attrs[COLOR_nit__parser_nodes__ADefinition___n_kwredef].val; /* _n_kwredef on */ +var273 = var275; +RET_LABEL274:(void)0; } } -{ -var326 = ((val* (*)(val* self))(var323->class->vft[COLOR_standard__string__Object__to_s]))(var323) /* to_s on */; +/* isa AMainMethPropdef */ +cltype277 = type_nit__AMainMethPropdef.color; +idtype278 = type_nit__AMainMethPropdef.id; +if(cltype277 >= self->type->table_size) { +var276 = 0; +} else { +var276 = self->type->type_table[cltype277] == idtype278; } +var279 = !var276; { -nit___nit__ModelBuilder___error(var_modelbuilder, var308, var326); /* Direct call modelbuilder_base#ModelBuilder#error on */ +var280 = nit__modelize_property___APropdef___check_redef_keyword(self, var_modelbuilder, var_mclassdef, var273, var279, var_mprop); } +var281 = !var280; +if (var281){ goto RET_LABEL; } else { } -var327 = NEW_standard__Array(&type_standard__Array__nit__MParameter); -{ -standard___standard__Array___standard__kernel__Object__init(var327); /* Direct call array#Array#init on */ -} -var_mparameters = var327; -var328 = 0; -var_i = var328; { -{ /* Inline array#AbstractArrayRead#length (var_param_names) on */ -var331 = var_param_names->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ -var329 = var331; -RET_LABEL330:(void)0; +{ /* Inline parser_nodes#ADefinition#n_visibility (self) on */ +var284 = self->attrs[COLOR_nit__parser_nodes__ADefinition___n_visibility].val; /* _n_visibility on */ +var282 = var284; +RET_LABEL283:(void)0; } } -var_332 = var329; -for(;;) { { -{ /* Inline kernel#Int#< (var_i,var_332) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var335 = 1; /* easy isa OTHER*/ -if (unlikely(!var335)) { -var_class_name338 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name338); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410); -show_backtrace(1); -} -var339 = var_i < var_332; -var333 = var339; -goto RET_LABEL334; -RET_LABEL334:(void)0; -} +nit__modelize_property___APropdef___check_redef_property_visibility(self, var_modelbuilder, var282, var_mprop); /* Direct call modelize_property#APropdef#check_redef_property_visibility on */ } -if (var333){ -var340 = NEW_nit__MParameter(&type_nit__MParameter); -{ -var341 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_param_names, var_i); } +if (var_is_init){ { -var342 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_param_types, var_i); +{ /* Inline modelize_property#MClassDef#mprop2npropdef (var_mclassdef) on */ +var287 = var_mclassdef->attrs[COLOR_nit__modelize_property__MClassDef___mprop2npropdef].val; /* _mprop2npropdef on */ +if (unlikely(var287 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mprop2npropdef"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 505); +fatal_exit(1); } -{ -{ /* Inline kernel#Int#== (var_i,var_vararg_rank) on */ -var345 = var_i == var_vararg_rank; -var343 = var345; -goto RET_LABEL344; -RET_LABEL344:(void)0; +var285 = var287; +RET_LABEL286:(void)0; } } +var_288 = var285; { -((void (*)(val* self, val* p0))(var340->class->vft[COLOR_nit__model__MParameter__name_61d]))(var340, var341) /* name= on */; +var289 = ((val*(*)(val* self))((((long)var_288&3)?class_info[((long)var_288&3)]:var_288->class)->vft[COLOR_standard__abstract_collection__MapRead__iterator]))(var_288); /* iterator on */ } +var_290 = var289; +for(;;) { { -((void (*)(val* self, val* p0))(var340->class->vft[COLOR_nit__model__MParameter__mtype_61d]))(var340, var342) /* mtype= on */; +var291 = ((short int(*)(val* self))((((long)var_290&3)?class_info[((long)var_290&3)]:var_290->class)->vft[COLOR_standard__abstract_collection__MapIterator__is_ok]))(var_290); /* is_ok on */ } +if (var291){ { -((void (*)(val* self, short int p0))(var340->class->vft[COLOR_nit__model__MParameter__is_vararg_61d]))(var340, var343) /* is_vararg= on */; +var292 = ((val*(*)(val* self))((((long)var_290&3)?class_info[((long)var_290&3)]:var_290->class)->vft[COLOR_standard__abstract_collection__MapIterator__key]))(var_290); /* key on */ } +var_p = var292; { -((void (*)(val* self))(var340->class->vft[COLOR_standard__kernel__Object__init]))(var340) /* init on */; -} -var_mparameter346 = var340; -var347 = NULL; -if (var_nsig == NULL) { -var348 = 0; /* is null */ -} else { -var348 = 1; /* arg is null and recv is not */ +var293 = ((val*(*)(val* self))((((long)var_290&3)?class_info[((long)var_290&3)]:var_290->class)->vft[COLOR_standard__abstract_collection__MapIterator__item]))(var_290); /* item on */ } -if (0) { -{ /* Inline kernel#Object#!= (var_nsig,var347) on */ -var_other38 = var347; +var_n = var293; { -var351 = ((short int (*)(val* self, val* p0))(var_nsig->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nsig, var_other38) /* == on */; -} -var352 = !var351; -var349 = var352; -goto RET_LABEL350; -RET_LABEL350:(void)0; -} -var348 = var349; -} -if (var348){ +{ /* Inline kernel#Object#!= (var_p,var_mprop) on */ +var_other = var_mprop; { -{ /* Inline parser_nodes#ASignature#n_params (var_nsig) on */ -var355 = var_nsig->attrs[COLOR_nit__parser_nodes__ASignature___n_params].val; /* _n_params on */ -if (unlikely(var355 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1506); -show_backtrace(1); -} -var353 = var355; -RET_LABEL354:(void)0; -} +var298 = ((short int(*)(val* self, val* p0))(var_p->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_p, var_other); /* == on */ } -{ -var356 = nit___nit__ANodes___standard__abstract_collection__SequenceRead___91d_93d(var353, var_i); +var299 = !var298; +var296 = var299; +goto RET_LABEL297; +RET_LABEL297:(void)0; } -{ -{ /* Inline modelize_property#AParam#mparameter= (var356,var_mparameter346) on */ -var356->attrs[COLOR_nit__modelize_property__AParam___mparameter].val = var_mparameter346; /* _mparameter on */ -RET_LABEL357:(void)0; } +var_300 = var296; +if (var296){ +/* isa MMethod */ +cltype302 = type_nit__MMethod.color; +idtype303 = type_nit__MMethod.id; +if(cltype302 >= var_p->type->table_size) { +var301 = 0; +} else { +var301 = var_p->type->type_table[cltype302] == idtype303; } +var295 = var301; } else { +var295 = var_300; } +var_304 = var295; +if (var295){ { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_mparameters, var_mparameter346); /* Direct call array#Array#add on */ +{ /* Inline model#MProperty#name (var_p) on */ +var307 = var_p->attrs[COLOR_nit__model__MProperty___name].val; /* _name on */ +if (unlikely(var307 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1933); +fatal_exit(1); } -var358 = 1; -{ -var359 = standard___standard__Int___Discrete__successor(var_i, var358); +var305 = var307; +RET_LABEL306:(void)0; } -var_i = var359; -} else { -goto BREAK_label360; } +{ +var308 = ((short int(*)(val* self, val* p0))(var305->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var305, var_name); /* == on */ } -BREAK_label360: (void)0; -var362 = NULL; -if (var_ret_type == NULL) { -var363 = 1; /* is null */ +var294 = var308; } else { -var363 = 0; /* arg is null but recv is not */ +var294 = var_304; } -if (0) { -{ /* Inline kernel#Object#== (var_ret_type,var362) on */ -var_other = var362; +if (var294){ { -{ /* Inline kernel#Object#is_same_instance (var_ret_type,var_other) on */ -var368 = var_ret_type == var_other; -var366 = var368; -goto RET_LABEL367; -RET_LABEL367:(void)0; +{ /* Inline parser_nodes#ADefinition#n_kwredef (self) on */ +var311 = self->attrs[COLOR_nit__parser_nodes__ADefinition___n_kwredef].val; /* _n_kwredef on */ +var309 = var311; +RET_LABEL310:(void)0; } } -var364 = var366; -goto RET_LABEL365; -RET_LABEL365:(void)0; +{ +var312 = nit__modelize_property___APropdef___check_redef_keyword(self, var_modelbuilder, var_mclassdef, var309, 0, var_p); } -var363 = var364; +goto BREAK_label; +} else { } -var_369 = var363; -if (var363){ { -{ /* Inline model#MPropDef#mproperty (var_mpropdef) on */ -var372 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var372 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); +((void(*)(val* self))((((long)var_290&3)?class_info[((long)var_290&3)]:var_290->class)->vft[COLOR_standard__abstract_collection__MapIterator__next]))(var_290); /* next on */ } -var370 = var372; -RET_LABEL371:(void)0; +} else { +goto BREAK_label; } } +BREAK_label: (void)0; { -{ /* Inline model#MMethod#is_new (var370) on */ -var375 = var370->attrs[COLOR_nit__model__MMethod___is_new].s; /* _is_new on */ -var373 = var375; -RET_LABEL374:(void)0; +{ /* Inline abstract_collection#MapIterator#finish (var_290) on */ +RET_LABEL313:(void)0; } } -var361 = var373; } else { -var361 = var_369; } -if (var361){ { -{ /* Inline model#MClassDef#mclass (var_mclassdef) on */ -var378 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ -if (unlikely(var378 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 492); -show_backtrace(1); +{ /* Inline modelize_property#MClassDef#mprop2npropdef (var_mclassdef) on */ +var316 = var_mclassdef->attrs[COLOR_nit__modelize_property__MClassDef___mprop2npropdef].val; /* _mprop2npropdef on */ +if (unlikely(var316 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mprop2npropdef"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 505); +fatal_exit(1); } -var376 = var378; -RET_LABEL377:(void)0; +var314 = var316; +RET_LABEL315:(void)0; } } { -{ /* Inline model#MClass#mclass_type (var376) on */ -var381 = var376->attrs[COLOR_nit__model__MClass___mclass_type].val; /* _mclass_type on */ -if (unlikely(var381 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 438); -show_backtrace(1); +((void(*)(val* self, val* p0, val* p1))((((long)var314&3)?class_info[((long)var314&3)]:var314->class)->vft[COLOR_standard__abstract_collection__Map___91d_93d_61d]))(var314, var_mprop, self); /* []= on */ } -var379 = var381; -RET_LABEL380:(void)0; +var317 = NEW_nit__MMethodDef(&type_nit__MMethodDef); +{ +{ /* Inline parser_nodes#ANode#location (self) on */ +var320 = self->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on */ +if (unlikely(var320 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 24); +fatal_exit(1); } +var318 = var320; +RET_LABEL319:(void)0; } -var_ret_type = var379; -} else { } -var382 = NEW_nit__MSignature(&type_nit__MSignature); { -((void (*)(val* self, val* p0))(var382->class->vft[COLOR_nit__model__MSignature__mparameters_61d]))(var382, var_mparameters) /* mparameters= on */; +((void(*)(val* self, val* p0))(var317->class->vft[COLOR_nit__model__MPropDef__mclassdef_61d]))(var317, var_mclassdef); /* mclassdef= on */ } { -((void (*)(val* self, val* p0))(var382->class->vft[COLOR_nit__model__MSignature__return_mtype_61d]))(var382, var_ret_type) /* return_mtype= on */; +((void(*)(val* self, val* p0))(var317->class->vft[COLOR_nit__model__MPropDef__mproperty_61d]))(var317, var_mprop); /* mproperty= on */ } { -((void (*)(val* self))(var382->class->vft[COLOR_standard__kernel__Object__init]))(var382) /* init on */; +((void(*)(val* self, val* p0))(var317->class->vft[COLOR_nit__model__MPropDef__location_61d]))(var317, var318); /* location= on */ } -var_msignature = var382; { -{ /* Inline model#MMethodDef#msignature= (var_mpropdef,var_msignature) on */ -var_mpropdef->attrs[COLOR_nit__model__MMethodDef___msignature].val = var_msignature; /* _msignature on */ -RET_LABEL383:(void)0; +((void(*)(val* self))(var317->class->vft[COLOR_standard__kernel__Object__init]))(var317); /* init on */ } +var_mpropdef = var317; +{ +nit__modelize_property___APropdef___set_doc(self, var_mpropdef, var_modelbuilder); /* Direct call modelize_property#APropdef#set_doc on */ } -if (varonce384) { -var385 = varonce384; +/* isa nullable MPROPDEF */ +type_struct = self->type->resolution_table->types[COLOR_nullable__nit__modelize_property__APropdef__MPROPDEF]; +cltype322 = type_struct->color; +idtype323 = type_struct->id; +if(cltype322 >= var_mpropdef->type->table_size) { +var321 = 0; } else { -var386 = "abstract"; -var387 = 8; -var388 = standard___standard__NativeString___to_s_with_length(var386, var387); -var385 = var388; -varonce384 = var385; +var321 = var_mpropdef->type->type_table[cltype322] == idtype323; } -{ -var389 = nit__annotation___Prod___get_single_annotation(self, var385, var_modelbuilder); +if (unlikely(!var321)) { +var_class_name324 = var_mpropdef == NULL ? "null" : var_mpropdef->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name324); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 857); +fatal_exit(1); } -var390 = NULL; -if (var389 == NULL) { -var391 = 0; /* is null */ +{ +{ /* Inline modelize_property#APropdef#mpropdef= (self,var_mpropdef) on */ +/* Covariant cast for argument 0 (mpropdef) isa nullable MPROPDEF */ +/* isa nullable MPROPDEF */ +type_struct329 = self->type->resolution_table->types[COLOR_nullable__nit__modelize_property__APropdef__MPROPDEF]; +cltype327 = type_struct329->color; +idtype328 = type_struct329->id; +if(cltype327 >= var_mpropdef->type->table_size) { +var326 = 0; } else { -var391 = 1; /* arg is null and recv is not */ +var326 = var_mpropdef->type->type_table[cltype327] == idtype328; } -if (0) { -{ /* Inline kernel#Object#!= (var389,var390) on */ -var_other38 = var390; -{ -var394 = ((short int (*)(val* self, val* p0))(var389->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var389, var_other38) /* == on */; +if (unlikely(!var326)) { +var_class_name330 = var_mpropdef == NULL ? "null" : var_mpropdef->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name330); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 558); +fatal_exit(1); } -var395 = !var394; -var392 = var395; -goto RET_LABEL393; -RET_LABEL393:(void)0; +self->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val = var_mpropdef; /* _mpropdef on */ +RET_LABEL325:(void)0; } -var391 = var392; } { -{ /* Inline model#MMethodDef#is_abstract= (var_mpropdef,var391) on */ -var_mpropdef->attrs[COLOR_nit__model__MMethodDef___is_abstract].s = var391; /* _is_abstract on */ -RET_LABEL396:(void)0; +{ /* Inline modelize_property#ModelBuilder#mpropdef2npropdef (var_modelbuilder) on */ +var333 = var_modelbuilder->attrs[COLOR_nit__modelize_property__ModelBuilder___mpropdef2npropdef].val; /* _mpropdef2npropdef on */ +if (unlikely(var333 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef2npropdef"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 40); +fatal_exit(1); } +var331 = var333; +RET_LABEL332:(void)0; } -if (varonce397) { -var398 = varonce397; -} else { -var399 = "intern"; -var400 = 6; -var401 = standard___standard__NativeString___to_s_with_length(var399, var400); -var398 = var401; -varonce397 = var398; } { -var402 = nit__annotation___Prod___get_single_annotation(self, var398, var_modelbuilder); +standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var331, var_mpropdef, self); /* Direct call hash_collection#HashMap#[]= on */ } -var403 = NULL; -if (var402 == NULL) { -var404 = 0; /* is null */ -} else { -var404 = 1; /* arg is null and recv is not */ +{ +var334 = nit___nit__MPropDef___is_intro(var_mpropdef); } -if (0) { -{ /* Inline kernel#Object#!= (var402,var403) on */ -var_other38 = var403; +if (var334){ { -var407 = ((short int (*)(val* self, val* p0))(var402->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var402, var_other38) /* == on */; +{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (var_modelbuilder) on */ +var337 = var_modelbuilder->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ +if (unlikely(var337 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47); +fatal_exit(1); } -var408 = !var407; -var405 = var408; -goto RET_LABEL406; -RET_LABEL406:(void)0; +var335 = var337; +RET_LABEL336:(void)0; +} +} +if (unlikely(varonce338==NULL)) { +var339 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce340!=NULL)) { +var341 = varonce340; +} else { +var342 = " introduces new method "; +var343 = standard___standard__NativeString___to_s_with_length(var342, 23l); +var341 = var343; +varonce340 = var341; } -var404 = var405; +((struct instance_standard__NativeArray*)var339)->values[1]=var341; +} else { +var339 = varonce338; +varonce338 = NULL; } { -{ /* Inline model#MMethodDef#is_intern= (var_mpropdef,var404) on */ -var_mpropdef->attrs[COLOR_nit__model__MMethodDef___is_intern].s = var404; /* _is_intern on */ -RET_LABEL409:(void)0; +var344 = ((val*(*)(val* self))(var_mpropdef->class->vft[COLOR_standard__string__Object__to_s]))(var_mpropdef); /* to_s on */ } +((struct instance_standard__NativeArray*)var339)->values[0]=var344; +{ +var345 = nit___nit__MProperty___nit__model_base__MEntity__full_name(var_mprop); } +((struct instance_standard__NativeArray*)var339)->values[2]=var345; { -{ /* Inline parser_nodes#AMethPropdef#n_extern_code_block (self) on */ -var413 = self->attrs[COLOR_nit__parser_nodes__AMethPropdef___n_extern_code_block].val; /* _n_extern_code_block on */ -var411 = var413; -RET_LABEL412:(void)0; +var346 = ((val*(*)(val* self))(var339->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var339); /* native_to_s on */ } +varonce338 = var339; +{ +nit___nit__ToolContext___info(var335, var346, 4l); /* Direct call toolcontext#ToolContext#info on */ } -var414 = NULL; -if (var411 == NULL) { -var415 = 0; /* is null */ } else { -var415 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var411,var414) on */ -var_other38 = var414; { -var418 = ((short int (*)(val* self, val* p0))(var411->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var411, var_other38) /* == on */; +{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (var_modelbuilder) on */ +var349 = var_modelbuilder->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ +if (unlikely(var349 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47); +fatal_exit(1); } -var419 = !var418; -var416 = var419; -goto RET_LABEL417; -RET_LABEL417:(void)0; +var347 = var349; +RET_LABEL348:(void)0; } -var415 = var416; } -var_420 = var415; -if (var415){ -var410 = var_420; -} else { -if (varonce421) { -var422 = varonce421; +if (unlikely(varonce350==NULL)) { +var351 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce352!=NULL)) { +var353 = varonce352; } else { -var423 = "extern"; -var424 = 6; -var425 = standard___standard__NativeString___to_s_with_length(var423, var424); -var422 = var425; -varonce421 = var422; -} -{ -var426 = nit__annotation___Prod___get_single_annotation(self, var422, var_modelbuilder); +var354 = " redefines method "; +var355 = standard___standard__NativeString___to_s_with_length(var354, 18l); +var353 = var355; +varonce352 = var353; } -var427 = NULL; -if (var426 == NULL) { -var428 = 0; /* is null */ +((struct instance_standard__NativeArray*)var351)->values[1]=var353; } else { -var428 = 1; /* arg is null and recv is not */ +var351 = varonce350; +varonce350 = NULL; } -if (0) { -{ /* Inline kernel#Object#!= (var426,var427) on */ -var_other38 = var427; { -var431 = ((short int (*)(val* self, val* p0))(var426->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var426, var_other38) /* == on */; -} -var432 = !var431; -var429 = var432; -goto RET_LABEL430; -RET_LABEL430:(void)0; +var356 = ((val*(*)(val* self))(var_mpropdef->class->vft[COLOR_standard__string__Object__to_s]))(var_mpropdef); /* to_s on */ } -var428 = var429; +((struct instance_standard__NativeArray*)var351)->values[0]=var356; +{ +var357 = nit___nit__MProperty___nit__model_base__MEntity__full_name(var_mprop); } -var410 = var428; +((struct instance_standard__NativeArray*)var351)->values[2]=var357; +{ +var358 = ((val*(*)(val* self))(var351->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var351); /* native_to_s on */ } +varonce350 = var351; { -{ /* Inline model#MMethodDef#is_extern= (var_mpropdef,var410) on */ -var_mpropdef->attrs[COLOR_nit__model__MMethodDef___is_extern].s = var410; /* _is_extern on */ -RET_LABEL433:(void)0; +nit___nit__ToolContext___info(var347, var358, 4l); /* Direct call toolcontext#ToolContext#info on */ } } RET_LABEL:; } -/* method modelize_property#AMethPropdef#check_signature for (self: AMethPropdef, ModelBuilder) */ -void nit__modelize_property___AMethPropdef___APropdef__check_signature(val* self, val* p0) { +/* method modelize_property#AMethPropdef#build_signature for (self: AMethPropdef, ModelBuilder) */ +void nit__modelize_property___AMethPropdef___APropdef__build_signature(val* self, val* p0) { val* var_modelbuilder /* var modelbuilder: ModelBuilder */; val* var /* : nullable MPropDef */; val* var2 /* : nullable MPropDef */; val* var_mpropdef /* var mpropdef: nullable MMethodDef */; -val* var3 /* : null */; +short int var3 /* : Bool */; short int var4 /* : Bool */; -short int var5 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var7 /* : Bool */; -short int var9 /* : Bool */; -val* var10 /* : MClassDef */; -val* var12 /* : MClassDef */; +short int var6 /* : Bool */; +short int var8 /* : Bool */; +val* var9 /* : MClassDef */; +val* var11 /* : MClassDef */; val* var_mclassdef /* var mclassdef: MClassDef */; -val* var13 /* : MModule */; -val* var15 /* : MModule */; +val* var12 /* : MModule */; +val* var14 /* : MModule */; val* var_mmodule /* var mmodule: MModule */; -val* var16 /* : nullable ASignature */; -val* var18 /* : nullable ASignature */; +val* var15 /* : nullable ASignature */; +val* var17 /* : nullable ASignature */; val* var_nsig /* var nsig: nullable ASignature */; -val* var19 /* : nullable MPropDef */; -val* var21 /* : nullable MPropDef */; -val* var22 /* : nullable MSignature */; -val* var24 /* : nullable MSignature */; -val* var_mysignature /* var mysignature: nullable MSignature */; -val* var25 /* : null */; +short int var18 /* : Bool */; +val* var19 /* : MProperty */; +val* var21 /* : MProperty */; +short int var22 /* : Bool */; +short int var24 /* : Bool */; +short int var_ /* var : Bool */; +short int var25 /* : Bool */; short int var26 /* : Bool */; -short int var27 /* : Bool */; -short int var29 /* : Bool */; -short int var31 /* : Bool */; -short int var32 /* : Bool */; +val* var27 /* : MClass */; +val* var29 /* : MClass */; +val* var30 /* : nullable MMethodDef */; +val* var32 /* : nullable MMethodDef */; +val* var_root_init /* var root_init: nullable MMethodDef */; short int var33 /* : Bool */; -val* var34 /* : MProperty */; -val* var36 /* : MProperty */; -val* var37 /* : MPropDef */; -val* var39 /* : MPropDef */; -val* var40 /* : nullable MSignature */; -val* var42 /* : nullable MSignature */; -val* var_msignature /* var msignature: nullable MSignature */; -val* var43 /* : null */; -short int var44 /* : Bool */; -short int var45 /* : Bool */; -short int var47 /* : Bool */; -short int var49 /* : Bool */; -val* var50 /* : nullable MType */; -val* var52 /* : nullable MType */; -val* var_precursor_ret_type /* var precursor_ret_type: nullable MType */; -val* var53 /* : nullable MType */; -val* var55 /* : nullable MType */; -val* var_ret_type /* var ret_type: nullable MType */; -short int var56 /* : Bool */; -val* var57 /* : null */; +short int var34 /* : Bool */; +val* var_other36 /* var other: nullable Object */; +short int var37 /* : Bool */; +short int var38 /* : Bool */; +val* var39 /* : nullable MSignature */; +val* var41 /* : nullable MSignature */; +val* var43 /* : Array[MProperty] */; +val* var45 /* : Array[MProperty] */; +short int var46 /* : Bool */; +val* var47 /* : Array[MProperty] */; +val* var49 /* : Array[MProperty] */; +val* var50 /* : Array[MProperty] */; +val* var52 /* : Array[MProperty] */; +short int var53 /* : Bool */; +val* var54 /* : nullable AMethid */; +val* var56 /* : nullable AMethid */; +short int var57 /* : Bool */; short int var58 /* : Bool */; -short int var59 /* : Bool */; -val* var_other61 /* var other: nullable Object */; +short int var60 /* : Bool */; short int var62 /* : Bool */; -short int var63 /* : Bool */; -short int var_ /* var : Bool */; -val* var64 /* : null */; -short int var65 /* : Bool */; -short int var66 /* : Bool */; +short int var_63 /* var : Bool */; +val* var64 /* : nullable AMethid */; +val* var66 /* : nullable AMethid */; +short int var67 /* : Bool */; +short int var_accept_special_last_parameter /* var accept_special_last_parameter: Bool */; short int var68 /* : Bool */; -short int var70 /* : Bool */; -val* var71 /* : nullable AType */; -val* var73 /* : nullable AType */; -static val* varonce; -val* var74 /* : String */; -char* var75 /* : NativeString */; -long var76 /* : Int */; -val* var77 /* : FlatString */; -val* var78 /* : MProperty */; -val* var80 /* : MProperty */; -static val* varonce81; -val* var82 /* : String */; -char* var83 /* : NativeString */; +val* var69 /* : nullable AMethid */; +val* var71 /* : nullable AMethid */; +short int var72 /* : Bool */; +short int var73 /* : Bool */; +short int var75 /* : Bool */; +short int var76 /* : Bool */; +short int var_77 /* var : Bool */; +val* var78 /* : nullable AMethid */; +val* var80 /* : nullable AMethid */; +short int var81 /* : Bool */; +short int var_return_is_mandatory /* var return_is_mandatory: Bool */; +val* var82 /* : Array[String] */; +val* var_param_names /* var param_names: Array[String] */; +val* var83 /* : Array[MType] */; +val* var_param_types /* var param_types: Array[MType] */; long var84 /* : Int */; -val* var85 /* : FlatString */; -val* var86 /* : Array[Object] */; -long var87 /* : Int */; -val* var88 /* : NativeArray[Object] */; -val* var89 /* : String */; -long var90 /* : Int */; -long var91 /* : Int */; +long var86 /* : Int */; +long var_vararg_rank /* var vararg_rank: Int */; +val* var_ret_type /* var ret_type: nullable MType */; +short int var87 /* : Bool */; +short int var88 /* : Bool */; +short int var90 /* : Bool */; +short int var91 /* : Bool */; short int var92 /* : Bool */; -short int var94 /* : Bool */; -int cltype; -int idtype; -const char* var_class_name; -short int var95 /* : Bool */; -long var96 /* : Int */; -long var_i /* var i: Int */; -long var97 /* : Int */; -long var_98 /* var : Int */; -short int var99 /* : Bool */; -short int var101 /* : Bool */; -int cltype102; -int idtype103; -const char* var_class_name104; -short int var105 /* : Bool */; -val* var106 /* : Array[MParameter] */; -val* var108 /* : Array[MParameter] */; -val* var109 /* : nullable Object */; -val* var110 /* : MType */; -val* var112 /* : MType */; -val* var_myt /* var myt: MType */; -val* var113 /* : Array[MParameter] */; -val* var115 /* : Array[MParameter] */; -val* var116 /* : nullable Object */; -val* var117 /* : MType */; -val* var119 /* : MType */; -val* var_prt /* var prt: MType */; +short int var93 /* : Bool */; +val* var94 /* : Array[String] */; +val* var96 /* : Array[String] */; +val* var97 /* : Array[MType] */; +val* var99 /* : Array[MType] */; +long var100 /* : Int */; +long var102 /* : Int */; +val* var103 /* : nullable MType */; +val* var105 /* : nullable MType */; +val* var_msignature /* var msignature: nullable MSignature */; +short int var106 /* : Bool */; +short int var107 /* : Bool */; +val* var108 /* : MProperty */; +val* var110 /* : MProperty */; +val* var111 /* : MPropDef */; +val* var113 /* : MPropDef */; +val* var114 /* : nullable MSignature */; +val* var116 /* : nullable MSignature */; +short int var117 /* : Bool */; +short int var118 /* : Bool */; short int var120 /* : Bool */; -val* var121 /* : MClassType */; -val* var123 /* : MClassType */; -short int var124 /* : Bool */; -short int var125 /* : Bool */; -short int var_126 /* var : Bool */; -val* var127 /* : MClassType */; +short int var122 /* : Bool */; +val* var123 /* : MClass */; +val* var125 /* : MClass */; +val* var126 /* : MClassType */; +val* var128 /* : MClassType */; val* var129 /* : MClassType */; -short int var130 /* : Bool */; -short int var131 /* : Bool */; -val* var132 /* : ANodes[AParam] */; -val* var134 /* : ANodes[AParam] */; -val* var135 /* : ANode */; -static val* varonce136; -val* var137 /* : String */; -char* var138 /* : NativeString */; -long var139 /* : Int */; -val* var140 /* : FlatString */; -val* var141 /* : Array[MParameter] */; -val* var143 /* : Array[MParameter] */; -val* var144 /* : nullable Object */; -val* var145 /* : String */; -val* var147 /* : String */; -static val* varonce148; -val* var149 /* : String */; -char* var150 /* : NativeString */; -long var151 /* : Int */; -val* var152 /* : FlatString */; -static val* varonce153; -val* var154 /* : String */; -char* var155 /* : NativeString */; -long var156 /* : Int */; -val* var157 /* : FlatString */; -static val* varonce158; -val* var159 /* : String */; -char* var160 /* : NativeString */; -long var161 /* : Int */; +val* var131 /* : MClassType */; +val* var132 /* : MSignature */; +long var133 /* : Int */; +long var135 /* : Int */; +long var136 /* : Int */; +short int var137 /* : Bool */; +short int var139 /* : Bool */; +short int var140 /* : Bool */; +short int var141 /* : Bool */; +short int var142 /* : Bool */; +short int var144 /* : Bool */; +short int var145 /* : Bool */; +val* var_node /* var node: ANode */; +val* var146 /* : NativeArray[String] */; +static val* varonce; +static val* varonce147; +val* var148 /* : String */; +char* var149 /* : NativeString */; +val* var150 /* : FlatString */; +static val* varonce151; +val* var152 /* : String */; +char* var153 /* : NativeString */; +val* var154 /* : FlatString */; +static val* varonce155; +val* var156 /* : String */; +char* var157 /* : NativeString */; +val* var158 /* : FlatString */; +static val* varonce159; +val* var160 /* : String */; +char* var161 /* : NativeString */; val* var162 /* : FlatString */; -val* var163 /* : MProperty */; -val* var165 /* : MProperty */; -val* var166 /* : MPropDef */; -val* var168 /* : MPropDef */; -static val* varonce169; -val* var170 /* : String */; -char* var171 /* : NativeString */; -long var172 /* : Int */; -val* var173 /* : FlatString */; -val* var174 /* : Array[Object] */; -long var175 /* : Int */; -val* var176 /* : NativeArray[Object] */; -val* var177 /* : String */; +static val* varonce163; +val* var164 /* : String */; +char* var165 /* : NativeString */; +val* var166 /* : FlatString */; +long var167 /* : Int */; +val* var168 /* : String */; +val* var169 /* : MProperty */; +val* var171 /* : MProperty */; +val* var172 /* : String */; +val* var174 /* : String */; +val* var175 /* : String */; +long var176 /* : Int */; long var178 /* : Int */; -long var179 /* : Int */; -val* var180 /* : null */; -short int var181 /* : Bool */; -short int var182 /* : Bool */; -short int var184 /* : Bool */; +val* var179 /* : String */; +val* var180 /* : MProperty */; +val* var182 /* : MProperty */; +val* var183 /* : String */; +val* var184 /* : String */; short int var185 /* : Bool */; -val* var186 /* : null */; -short int var187 /* : Bool */; -short int var188 /* : Bool */; -short int var190 /* : Bool */; -short int var192 /* : Bool */; -val* var193 /* : MClassType */; -val* var195 /* : MClassType */; +val* var186 /* : MProperty */; +val* var188 /* : MProperty */; +short int var189 /* : Bool */; +short int var191 /* : Bool */; +short int var_192 /* var : Bool */; +val* var193 /* : MProperty */; +val* var195 /* : MProperty */; short int var196 /* : Bool */; -short int var197 /* : Bool */; -val* var198 /* : nullable AType */; -val* var200 /* : nullable AType */; -static val* varonce201; -val* var202 /* : String */; -char* var203 /* : NativeString */; -long var204 /* : Int */; -val* var205 /* : FlatString */; -static val* varonce206; -val* var207 /* : String */; -char* var208 /* : NativeString */; -long var209 /* : Int */; -val* var210 /* : FlatString */; -static val* varonce211; -val* var212 /* : String */; -char* var213 /* : NativeString */; -long var214 /* : Int */; -val* var215 /* : FlatString */; -val* var216 /* : MProperty */; -val* var218 /* : MProperty */; -val* var219 /* : MPropDef */; -val* var221 /* : MPropDef */; -static val* varonce222; -val* var223 /* : String */; -char* var224 /* : NativeString */; -long var225 /* : Int */; -val* var226 /* : FlatString */; -val* var227 /* : Array[Object] */; -long var228 /* : Int */; -val* var229 /* : NativeArray[Object] */; -val* var230 /* : String */; -long var231 /* : Int */; -long var232 /* : Int */; +short int var198 /* : Bool */; +short int var199 /* : Bool */; +val* var200 /* : Array[MClassType] */; +val* var202 /* : Array[MClassType] */; +val* var_203 /* var : Array[MClassType] */; +val* var204 /* : ArrayIterator[nullable Object] */; +val* var_205 /* var : ArrayIterator[MClassType] */; +short int var206 /* : Bool */; +val* var207 /* : nullable Object */; +val* var_msupertype /* var msupertype: MClassType */; +val* var208 /* : MClassType */; +val* var210 /* : MClassType */; +val* var211 /* : MClassType */; +val* var212 /* : MProperty */; +val* var214 /* : MProperty */; +val* var215 /* : String */; +val* var217 /* : String */; +val* var218 /* : nullable MProperty */; +val* var_candidate /* var candidate: nullable MProperty */; +short int var219 /* : Bool */; +short int var220 /* : Bool */; +short int var222 /* : Bool */; +short int var223 /* : Bool */; +short int var224 /* : Bool */; +short int var225 /* : Bool */; +short int var227 /* : Bool */; +short int var229 /* : Bool */; +val* var230 /* : MPropDef */; +val* var232 /* : MPropDef */; short int var233 /* : Bool */; -short int var235 /* : Bool */; -int cltype236; -int idtype237; -const char* var_class_name238; +int cltype; +int idtype; +const char* var_class_name; +val* var234 /* : nullable MSignature */; +val* var236 /* : nullable MSignature */; +short int var237 /* : Bool */; +short int var238 /* : Bool */; short int var239 /* : Bool */; -long var240 /* : Int */; -long var_i241 /* var i: Int */; -long var242 /* : Int */; -long var_243 /* var : Int */; +short int var240 /* : Bool */; +short int var241 /* : Bool */; +short int var243 /* : Bool */; short int var244 /* : Bool */; -short int var246 /* : Bool */; -int cltype247; -int idtype248; -const char* var_class_name249; -short int var250 /* : Bool */; -val* var251 /* : ANodes[AParam] */; -val* var253 /* : ANodes[AParam] */; -val* var254 /* : ANode */; -val* var255 /* : nullable AType */; -val* var257 /* : nullable AType */; -val* var_nt /* var nt: nullable AType */; -val* var258 /* : null */; -short int var259 /* : Bool */; -short int var260 /* : Bool */; -short int var262 /* : Bool */; +short int var_245 /* var : Bool */; +long var246 /* : Int */; +long var248 /* : Int */; +long var249 /* : Int */; +long var251 /* : Int */; +short int var252 /* : Bool */; +short int var254 /* : Bool */; +short int var255 /* : Bool */; +short int var_256 /* var : Bool */; +long var257 /* : Int */; +long var259 /* : Int */; +long var260 /* : Int */; +short int var261 /* : Bool */; short int var263 /* : Bool */; -val* var264 /* : nullable MType */; -val* var266 /* : nullable MType */; +short int var_264 /* var : Bool */; +long var265 /* : Int */; long var267 /* : Int */; -long var268 /* : Int */; -val* var270 /* : nullable AType */; -val* var272 /* : nullable AType */; -val* var_nt273 /* var nt: nullable AType */; -val* var274 /* : null */; -short int var275 /* : Bool */; -short int var276 /* : Bool */; +short int var268 /* : Bool */; +short int var270 /* : Bool */; +val* var271 /* : Array[MType] */; +val* var272 /* : Array[MParameter] */; +val* var274 /* : Array[MParameter] */; +val* var_275 /* var : Array[MParameter] */; +val* var276 /* : ArrayIterator[nullable Object] */; +val* var_277 /* var : ArrayIterator[MParameter] */; short int var278 /* : Bool */; -short int var279 /* : Bool */; -val* var280 /* : nullable MType */; -val* var282 /* : nullable MType */; +val* var279 /* : nullable Object */; +val* var_mparameter /* var mparameter: MParameter */; +val* var280 /* : MType */; +val* var282 /* : MType */; +long var284 /* : Int */; +long var286 /* : Int */; +short int var287 /* : Bool */; +short int var288 /* : Bool */; +short int var289 /* : Bool */; +short int var291 /* : Bool */; +short int var292 /* : Bool */; +short int var_293 /* var : Bool */; +short int var294 /* : Bool */; +short int var295 /* : Bool */; +short int var297 /* : Bool */; +short int var299 /* : Bool */; +val* var300 /* : nullable MType */; +val* var302 /* : nullable MType */; +long var303 /* : Int */; +long var305 /* : Int */; +long var306 /* : Int */; +long var308 /* : Int */; +short int var309 /* : Bool */; +short int var311 /* : Bool */; +short int var312 /* : Bool */; +val* var313 /* : ANodes[AParam] */; +val* var315 /* : ANodes[AParam] */; +long var316 /* : Int */; +long var318 /* : Int */; +val* var319 /* : ANode */; +val* var321 /* : NativeArray[String] */; +static val* varonce320; +static val* varonce322; +val* var323 /* : String */; +char* var324 /* : NativeString */; +val* var325 /* : FlatString */; +static val* varonce326; +val* var327 /* : String */; +char* var328 /* : NativeString */; +val* var329 /* : FlatString */; +long var330 /* : Int */; +long var332 /* : Int */; +val* var333 /* : nullable Object */; +val* var334 /* : String */; +val* var335 /* : Array[MParameter] */; +val* var_mparameters /* var mparameters: Array[MParameter] */; +long var_i /* var i: Int */; +long var336 /* : Int */; +long var338 /* : Int */; +long var_339 /* var : Int */; +short int var340 /* : Bool */; +short int var342 /* : Bool */; +int cltype343; +int idtype344; +const char* var_class_name345; +short int var346 /* : Bool */; +short int var_is_default /* var is_default: Bool */; +short int var347 /* : Bool */; +long var348 /* : Int */; +long var350 /* : Int */; +short int var351 /* : Bool */; +short int var353 /* : Bool */; +short int var_354 /* var : Bool */; +val* var355 /* : nullable Object */; +short int var356 /* : Bool */; +int cltype357; +int idtype358; +short int var359 /* : Bool */; +long var360 /* : Int */; +long var362 /* : Int */; +long var363 /* : Int */; +short int var365 /* : Bool */; +int cltype366; +int idtype367; +const char* var_class_name368; +long var369 /* : Int */; +short int var370 /* : Bool */; +short int var372 /* : Bool */; +int cltype373; +int idtype374; +const char* var_class_name375; +short int var376 /* : Bool */; +short int var_377 /* var : Bool */; +val* var378 /* : MParameter */; +val* var379 /* : nullable Object */; +val* var380 /* : nullable Object */; +short int var381 /* : Bool */; +short int var383 /* : Bool */; +val* var_mparameter384 /* var mparameter: MParameter */; +short int var385 /* : Bool */; +short int var386 /* : Bool */; +short int var388 /* : Bool */; +short int var389 /* : Bool */; +val* var390 /* : ANodes[AParam] */; +val* var392 /* : ANodes[AParam] */; +val* var393 /* : ANode */; +long var395 /* : Int */; +short int var397 /* : Bool */; +short int var398 /* : Bool */; +short int var399 /* : Bool */; +short int var401 /* : Bool */; +short int var403 /* : Bool */; +short int var_404 /* var : Bool */; +val* var405 /* : MProperty */; +val* var407 /* : MProperty */; +short int var408 /* : Bool */; +short int var410 /* : Bool */; +val* var411 /* : MClass */; +val* var413 /* : MClass */; +val* var414 /* : MClassType */; +val* var416 /* : MClassType */; +short int var417 /* : Bool */; +short int var418 /* : Bool */; +short int var419 /* : Bool */; +short int var_420 /* var : Bool */; +short int var421 /* : Bool */; +short int var_422 /* var : Bool */; +val* var423 /* : nullable Object */; +short int var424 /* : Bool */; +short int var426 /* : Bool */; +val* var427 /* : nullable ASignature */; +val* var429 /* : nullable ASignature */; +val* var430 /* : ANodes[AParam] */; +val* var432 /* : ANodes[AParam] */; +val* var433 /* : nullable Object */; +val* var435 /* : NativeArray[String] */; +static val* varonce434; +static val* varonce436; +val* var437 /* : String */; +char* var438 /* : NativeString */; +val* var439 /* : FlatString */; +static val* varonce440; +val* var441 /* : String */; +char* var442 /* : NativeString */; +val* var443 /* : FlatString */; +static val* varonce444; +val* var445 /* : String */; +char* var446 /* : NativeString */; +val* var447 /* : FlatString */; +val* var448 /* : nullable Object */; +val* var449 /* : String */; +val* var450 /* : MProperty */; +val* var452 /* : MProperty */; +val* var453 /* : String */; +val* var455 /* : String */; +val* var456 /* : String */; +short int var457 /* : Bool */; +short int var458 /* : Bool */; +short int var459 /* : Bool */; +short int var461 /* : Bool */; +short int var463 /* : Bool */; +short int var_464 /* var : Bool */; +val* var465 /* : nullable AMethid */; +val* var467 /* : nullable AMethid */; +val* var469 /* : NativeArray[String] */; +static val* varonce468; +static val* varonce470; +val* var471 /* : String */; +char* var472 /* : NativeString */; +val* var473 /* : FlatString */; +static val* varonce474; +val* var475 /* : String */; +char* var476 /* : NativeString */; +val* var477 /* : FlatString */; +val* var478 /* : MProperty */; +val* var480 /* : MProperty */; +val* var481 /* : String */; +val* var483 /* : String */; +val* var484 /* : String */; +val* var485 /* : MSignature */; +static val* varonce487; +val* var488 /* : String */; +char* var489 /* : NativeString */; +val* var490 /* : FlatString */; +val* var491 /* : nullable AAnnotation */; +short int var492 /* : Bool */; +short int var493 /* : Bool */; +short int var495 /* : Bool */; +short int var496 /* : Bool */; +static val* varonce498; +val* var499 /* : String */; +char* var500 /* : NativeString */; +val* var501 /* : FlatString */; +val* var502 /* : nullable AAnnotation */; +short int var503 /* : Bool */; +short int var504 /* : Bool */; +short int var506 /* : Bool */; +short int var507 /* : Bool */; +short int var509 /* : Bool */; +val* var510 /* : nullable AExternCodeBlock */; +val* var512 /* : nullable AExternCodeBlock */; +short int var513 /* : Bool */; +short int var514 /* : Bool */; +short int var516 /* : Bool */; +short int var517 /* : Bool */; +short int var_518 /* var : Bool */; +static val* varonce519; +val* var520 /* : String */; +char* var521 /* : NativeString */; +val* var522 /* : FlatString */; +val* var523 /* : nullable AAnnotation */; +short int var524 /* : Bool */; +short int var525 /* : Bool */; +short int var527 /* : Bool */; +short int var528 /* : Bool */; +static val* varonce530; +val* var531 /* : String */; +char* var532 /* : NativeString */; +val* var533 /* : FlatString */; +val* var534 /* : nullable AAnnotation */; +val* var_at /* var at: nullable AAnnotation */; +short int var535 /* : Bool */; +short int var536 /* : Bool */; +short int var538 /* : Bool */; +short int var539 /* : Bool */; +static val* varonce540; +val* var541 /* : String */; +char* var542 /* : NativeString */; +val* var543 /* : FlatString */; +static val* varonce544; +val* var545 /* : String */; +char* var546 /* : NativeString */; +val* var547 /* : FlatString */; +val* var548 /* : nullable AAnnotation */; +val* var_atautoinit /* var atautoinit: nullable AAnnotation */; +short int var549 /* : Bool */; +short int var550 /* : Bool */; +short int var552 /* : Bool */; +short int var553 /* : Bool */; +short int var554 /* : Bool */; +short int var555 /* : Bool */; +static val* varonce556; +val* var557 /* : String */; +char* var558 /* : NativeString */; +val* var559 /* : FlatString */; +short int var560 /* : Bool */; +short int var561 /* : Bool */; +static val* varonce562; +val* var563 /* : String */; +char* var564 /* : NativeString */; +val* var565 /* : FlatString */; var_modelbuilder = p0; { { /* Inline modelize_property#APropdef#mpropdef (self) on */ @@ -2079,7445 +2050,7681 @@ RET_LABEL1:(void)0; } } var_mpropdef = var; -var3 = NULL; if (var_mpropdef == NULL) { -var4 = 1; /* is null */ +var3 = 1; /* is null */ } else { -var4 = 0; /* arg is null but recv is not */ +var3 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_mpropdef,var3) on */ -var_other = var3; +{ /* Inline kernel#Object#== (var_mpropdef,((val*)NULL)) on */ +var_other = ((val*)NULL); { { /* Inline kernel#Object#is_same_instance (var_mpropdef,var_other) on */ -var9 = var_mpropdef == var_other; -var7 = var9; -goto RET_LABEL8; -RET_LABEL8:(void)0; +var8 = var_mpropdef == var_other; +var6 = var8; +goto RET_LABEL7; +RET_LABEL7:(void)0; } } -var5 = var7; -goto RET_LABEL6; -RET_LABEL6:(void)0; +var4 = var6; +goto RET_LABEL5; +RET_LABEL5:(void)0; } -var4 = var5; +var3 = var4; } -if (var4){ +if (var3){ goto RET_LABEL; } else { } { { /* Inline model#MPropDef#mclassdef (var_mpropdef) on */ -var12 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ -if (unlikely(var12 == NULL)) { +var11 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ +if (unlikely(var11 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2010); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2209); +fatal_exit(1); } -var10 = var12; -RET_LABEL11:(void)0; +var9 = var11; +RET_LABEL10:(void)0; } } -var_mclassdef = var10; +var_mclassdef = var9; { { /* Inline model#MClassDef#mmodule (var_mclassdef) on */ -var15 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ -if (unlikely(var15 == NULL)) { +var14 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ +if (unlikely(var14 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 489); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 550); +fatal_exit(1); } -var13 = var15; -RET_LABEL14:(void)0; +var12 = var14; +RET_LABEL13:(void)0; } } -var_mmodule = var13; +var_mmodule = var12; { { /* Inline parser_nodes#AMethPropdef#n_signature (self) on */ -var18 = self->attrs[COLOR_nit__parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on */ -var16 = var18; -RET_LABEL17:(void)0; +var17 = self->attrs[COLOR_nit__parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on */ +var15 = var17; +RET_LABEL16:(void)0; } } -var_nsig = var16; +var_nsig = var15; { -{ /* Inline modelize_property#APropdef#mpropdef (self) on */ -var21 = self->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ +{ /* Inline model#MPropDef#mproperty (var_mpropdef) on */ +var21 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var21 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); +} var19 = var21; RET_LABEL20:(void)0; } } -if (var19 == NULL) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 811); -show_backtrace(1); -} else { -{ /* Inline model#MMethodDef#msignature (var19) on */ -if (unlikely(var19 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2137); -show_backtrace(1); -} -var24 = var19->attrs[COLOR_nit__model__MMethodDef___msignature].val; /* _msignature on */ +{ +{ /* Inline model#MMethod#is_root_init (var19) on */ +var24 = var19->attrs[COLOR_nit__model__MMethod___is_root_init].s; /* _is_root_init on */ var22 = var24; RET_LABEL23:(void)0; } } -var_mysignature = var22; -var25 = NULL; -if (var_mysignature == NULL) { -var26 = 1; /* is null */ +var_ = var22; +if (var22){ +{ +var25 = nit___nit__MClassDef___is_intro(var_mclassdef); +} +var26 = !var25; +var18 = var26; } else { -var26 = 0; /* arg is null but recv is not */ +var18 = var_; } -if (0) { -{ /* Inline kernel#Object#== (var_mysignature,var25) on */ -var_other = var25; +if (var18){ { -{ /* Inline kernel#Object#is_same_instance (var_mysignature,var_other) on */ -var31 = var_mysignature == var_other; -var29 = var31; -goto RET_LABEL30; -RET_LABEL30:(void)0; -} +{ /* Inline model#MClassDef#mclass (var_mclassdef) on */ +var29 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ +if (unlikely(var29 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 553); +fatal_exit(1); } var27 = var29; -goto RET_LABEL28; RET_LABEL28:(void)0; } -var26 = var27; -} -if (var26){ -goto RET_LABEL; -} else { } { -var32 = nit___nit__MPropDef___is_intro(var_mpropdef); +{ /* Inline modelize_property#MClass#root_init (var27) on */ +var32 = var27->attrs[COLOR_nit__modelize_property__MClass___root_init].val; /* _root_init on */ +var30 = var32; +RET_LABEL31:(void)0; } -var33 = !var32; -if (var33){ +} +var_root_init = var30; +if (var_root_init == NULL) { +var33 = 0; /* is null */ +} else { +var33 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_root_init,((val*)NULL)) on */ +var_other36 = ((val*)NULL); { -{ /* Inline model#MPropDef#mproperty (var_mpropdef) on */ -var36 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var36 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); +var37 = ((short int(*)(val* self, val* p0))(var_root_init->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_root_init, var_other36); /* == on */ } -var34 = var36; +var38 = !var37; +var34 = var38; +goto RET_LABEL35; RET_LABEL35:(void)0; } +var33 = var34; } +if (var33){ { -{ /* Inline model#MProperty#intro (var34) on */ -var39 = var34->attrs[COLOR_nit__model__MProperty___intro].val; /* _intro on */ -if (unlikely(var39 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1773); -show_backtrace(1); -} -var37 = var39; -RET_LABEL38:(void)0; +{ /* Inline model#MMethodDef#new_msignature (var_root_init) on */ +var41 = var_root_init->attrs[COLOR_nit__model__MMethodDef___new_msignature].val; /* _new_msignature on */ +var39 = var41; +RET_LABEL40:(void)0; } } { -{ /* Inline model#MMethodDef#msignature (var37) on */ -var42 = var37->attrs[COLOR_nit__model__MMethodDef___msignature].val; /* _msignature on */ -var40 = var42; -RET_LABEL41:(void)0; +{ /* Inline model#MMethodDef#new_msignature= (var_mpropdef,var39) on */ +var_mpropdef->attrs[COLOR_nit__model__MMethodDef___new_msignature].val = var39; /* _new_msignature on */ +RET_LABEL42:(void)0; } } -var_msignature = var40; -var43 = NULL; -if (var_msignature == NULL) { -var44 = 1; /* is null */ -} else { -var44 = 0; /* arg is null but recv is not */ +{ +{ /* Inline model#MMethodDef#initializers (var_mpropdef) on */ +var45 = var_mpropdef->attrs[COLOR_nit__model__MMethodDef___initializers].val; /* _initializers on */ +if (unlikely(var45 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2345); +fatal_exit(1); +} +var43 = var45; +RET_LABEL44:(void)0; +} } -if (0) { -{ /* Inline kernel#Object#== (var_msignature,var43) on */ -var_other = var43; { -{ /* Inline kernel#Object#is_same_instance (var_msignature,var_other) on */ -var49 = var_msignature == var_other; -var47 = var49; -goto RET_LABEL48; -RET_LABEL48:(void)0; +var46 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var43); } +if (unlikely(!var46)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 879); +fatal_exit(1); } -var45 = var47; -goto RET_LABEL46; -RET_LABEL46:(void)0; +{ +{ /* Inline model#MMethodDef#initializers (var_mpropdef) on */ +var49 = var_mpropdef->attrs[COLOR_nit__model__MMethodDef___initializers].val; /* _initializers on */ +if (unlikely(var49 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2345); +fatal_exit(1); } -var44 = var45; +var47 = var49; +RET_LABEL48:(void)0; } -if (var44){ -goto RET_LABEL; -} else { } { -{ /* Inline model#MSignature#return_mtype (var_msignature) on */ -var52 = var_msignature->attrs[COLOR_nit__model__MSignature___return_mtype].val; /* _return_mtype on */ +{ /* Inline model#MMethodDef#initializers (var_root_init) on */ +var52 = var_root_init->attrs[COLOR_nit__model__MMethodDef___initializers].val; /* _initializers on */ +if (unlikely(var52 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2345); +fatal_exit(1); +} var50 = var52; RET_LABEL51:(void)0; } } -var_precursor_ret_type = var50; { -{ /* Inline model#MSignature#return_mtype (var_mysignature) on */ -var55 = var_mysignature->attrs[COLOR_nit__model__MSignature___return_mtype].val; /* _return_mtype on */ -var53 = var55; -RET_LABEL54:(void)0; +standard___standard__Array___standard__abstract_collection__SimpleCollection__add_all(var47, var50); /* Direct call array#Array#add_all on */ } +} else { } -var_ret_type = var53; -var57 = NULL; -if (var_ret_type == NULL) { -var58 = 0; /* is null */ } else { -var58 = 1; /* arg is null and recv is not */ } -if (0) { -{ /* Inline kernel#Object#!= (var_ret_type,var57) on */ -var_other61 = var57; { -var62 = ((short int (*)(val* self, val* p0))(var_ret_type->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_ret_type, var_other61) /* == on */; -} -var63 = !var62; -var59 = var63; -goto RET_LABEL60; -RET_LABEL60:(void)0; +{ /* Inline parser_nodes#AMethPropdef#n_methid (self) on */ +var56 = self->attrs[COLOR_nit__parser_nodes__AMethPropdef___n_methid].val; /* _n_methid on */ +var54 = var56; +RET_LABEL55:(void)0; } -var58 = var59; } -var_ = var58; -if (var58){ -var64 = NULL; -if (var_precursor_ret_type == NULL) { -var65 = 1; /* is null */ +if (var54 == NULL) { +var57 = 1; /* is null */ } else { -var65 = 0; /* arg is null but recv is not */ +var57 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_precursor_ret_type,var64) on */ -var_other = var64; +{ /* Inline kernel#Object#== (var54,((val*)NULL)) on */ +var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_precursor_ret_type,var_other) on */ -var70 = var_precursor_ret_type == var_other; -var68 = var70; -goto RET_LABEL69; -RET_LABEL69:(void)0; +{ /* Inline kernel#Object#is_same_instance (var54,var_other) on */ +var62 = var54 == var_other; +var60 = var62; +goto RET_LABEL61; +RET_LABEL61:(void)0; } } -var66 = var68; -goto RET_LABEL67; -RET_LABEL67:(void)0; +var58 = var60; +goto RET_LABEL59; +RET_LABEL59:(void)0; } -var65 = var66; +var57 = var58; } -var56 = var65; +var_63 = var57; +if (var57){ +var53 = var_63; } else { -var56 = var_; +{ +{ /* Inline parser_nodes#AMethPropdef#n_methid (self) on */ +var66 = self->attrs[COLOR_nit__parser_nodes__AMethPropdef___n_methid].val; /* _n_methid on */ +var64 = var66; +RET_LABEL65:(void)0; } -if (var56){ -if (var_nsig == NULL) { +} +if (var64 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 823); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 884); +fatal_exit(1); } else { -{ /* Inline parser_nodes#ASignature#n_type (var_nsig) on */ -if (unlikely(var_nsig == NULL)) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1512); -show_backtrace(1); +var67 = ((short int(*)(val* self))(var64->class->vft[COLOR_nit__modelize_property__AMethid__accept_special_last_parameter]))(var64); /* accept_special_last_parameter on */ } -var73 = var_nsig->attrs[COLOR_nit__parser_nodes__ASignature___n_type].val; /* _n_type on */ -var71 = var73; -RET_LABEL72:(void)0; +var53 = var67; } +var_accept_special_last_parameter = var53; +{ +{ /* Inline parser_nodes#AMethPropdef#n_methid (self) on */ +var71 = self->attrs[COLOR_nit__parser_nodes__AMethPropdef___n_methid].val; /* _n_methid on */ +var69 = var71; +RET_LABEL70:(void)0; } -if (unlikely(var71 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 823); -show_backtrace(1); } -if (varonce) { -var74 = varonce; +if (var69 == NULL) { +var72 = 0; /* is null */ } else { -var75 = "Redef Error: "; -var76 = 13; -var77 = standard___standard__NativeString___to_s_with_length(var75, var76); -var74 = var77; -varonce = var74; +var72 = 1; /* arg is null and recv is not */ } +if (0) { +{ /* Inline kernel#Object#!= (var69,((val*)NULL)) on */ +var_other36 = ((val*)NULL); { -{ /* Inline model#MPropDef#mproperty (var_mpropdef) on */ -var80 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var80 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); +var75 = ((short int(*)(val* self, val* p0))(var69->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var69, var_other36); /* == on */ +} +var76 = !var75; +var73 = var76; +goto RET_LABEL74; +RET_LABEL74:(void)0; +} +var72 = var73; } +var_77 = var72; +if (var72){ +{ +{ /* Inline parser_nodes#AMethPropdef#n_methid (self) on */ +var80 = self->attrs[COLOR_nit__parser_nodes__AMethPropdef___n_methid].val; /* _n_methid on */ var78 = var80; RET_LABEL79:(void)0; } } -if (varonce81) { -var82 = varonce81; +if (var78 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 885); +fatal_exit(1); } else { -var83 = " is a procedure, not a function."; -var84 = 32; -var85 = standard___standard__NativeString___to_s_with_length(var83, var84); -var82 = var85; -varonce81 = var82; +var81 = ((short int(*)(val* self))(var78->class->vft[COLOR_nit__modelize_property__AMethid__return_is_mandatory]))(var78); /* return_is_mandatory on */ +} +var68 = var81; +} else { +var68 = var_77; +} +var_return_is_mandatory = var68; +var82 = NEW_standard__Array(&type_standard__Array__standard__String); +{ +standard___standard__Array___standard__kernel__Object__init(var82); /* Direct call array#Array#init on */ } -var86 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var86 = array_instance Array[Object] */ -var87 = 3; -var88 = NEW_standard__NativeArray(var87, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var88)->values[0] = (val*) var74; -((struct instance_standard__NativeArray*)var88)->values[1] = (val*) var78; -((struct instance_standard__NativeArray*)var88)->values[2] = (val*) var82; +var_param_names = var82; +var83 = NEW_standard__Array(&type_standard__Array__nit__MType); { -((void (*)(val* self, val* p0, long p1))(var86->class->vft[COLOR_standard__array__Array__with_native]))(var86, var88, var87) /* with_native on */; +standard___standard__Array___standard__kernel__Object__init(var83); /* Direct call array#Array#init on */ } +var_param_types = var83; +{ +{ /* Inline kernel#Int#unary - (1l) on <1l:Int> */ +var86 = -1l; +var84 = var86; +goto RET_LABEL85; +RET_LABEL85:(void)0; +} +} +var_vararg_rank = var84; +var_ret_type = ((val*)NULL); +if (var_nsig == NULL) { +var87 = 0; /* is null */ +} else { +var87 = 1; /* arg is null and recv is not */ } +if (0) { +{ /* Inline kernel#Object#!= (var_nsig,((val*)NULL)) on */ +var_other36 = ((val*)NULL); { -var89 = ((val* (*)(val* self))(var86->class->vft[COLOR_standard__string__Object__to_s]))(var86) /* to_s on */; +var90 = ((short int(*)(val* self, val* p0))(var_nsig->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nsig, var_other36); /* == on */ +} +var91 = !var90; +var88 = var91; +goto RET_LABEL89; +RET_LABEL89:(void)0; } +var87 = var88; +} +if (var87){ { -nit___nit__ModelBuilder___error(var_modelbuilder, var71, var89); /* Direct call modelbuilder_base#ModelBuilder#error on */ +var92 = nit__modelize_property___ASignature___visit_signature(var_nsig, var_modelbuilder, var_mclassdef); } +var93 = !var92; +if (var93){ goto RET_LABEL; } else { } { -var90 = nit___nit__MSignature___arity(var_mysignature); +{ /* Inline modelize_property#ASignature#param_names (var_nsig) on */ +var96 = var_nsig->attrs[COLOR_nit__modelize_property__ASignature___param_names].val; /* _param_names on */ +if (unlikely(var96 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _param_names"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 660); +fatal_exit(1); +} +var94 = var96; +RET_LABEL95:(void)0; } -var91 = 0; +} +var_param_names = var94; { -{ /* Inline kernel#Int#> (var90,var91) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var94 = 1; /* easy isa OTHER*/ -if (unlikely(!var94)) { -var_class_name = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 412); -show_backtrace(1); +{ /* Inline modelize_property#ASignature#param_types (var_nsig) on */ +var99 = var_nsig->attrs[COLOR_nit__modelize_property__ASignature___param_types].val; /* _param_types on */ +if (unlikely(var99 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _param_types"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 663); +fatal_exit(1); } -var95 = var90 > var91; -var92 = var95; -goto RET_LABEL93; -RET_LABEL93:(void)0; +var97 = var99; +RET_LABEL98:(void)0; } } -if (var92){ -var96 = 0; -var_i = var96; +var_param_types = var97; { -var97 = nit___nit__MSignature___arity(var_mysignature); +{ /* Inline modelize_property#ASignature#vararg_rank (var_nsig) on */ +var102 = var_nsig->attrs[COLOR_nit__modelize_property__ASignature___vararg_rank].l; /* _vararg_rank on */ +var100 = var102; +RET_LABEL101:(void)0; } -var_98 = var97; -for(;;) { +} +var_vararg_rank = var100; { -{ /* Inline kernel#Int#< (var_i,var_98) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var101 = 1; /* easy isa OTHER*/ -if (unlikely(!var101)) { -var_class_name104 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name104); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410); -show_backtrace(1); +{ /* Inline modelize_property#ASignature#ret_type (var_nsig) on */ +var105 = var_nsig->attrs[COLOR_nit__modelize_property__ASignature___ret_type].val; /* _ret_type on */ +var103 = var105; +RET_LABEL104:(void)0; } -var105 = var_i < var_98; -var99 = var105; -goto RET_LABEL100; -RET_LABEL100:(void)0; } +var_ret_type = var103; +} else { } -if (var99){ +var_msignature = ((val*)NULL); { -{ /* Inline model#MSignature#mparameters (var_mysignature) on */ -var108 = var_mysignature->attrs[COLOR_nit__model__MSignature___mparameters].val; /* _mparameters on */ -if (unlikely(var108 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1592); -show_backtrace(1); +var106 = nit___nit__MPropDef___is_intro(var_mpropdef); } -var106 = var108; -RET_LABEL107:(void)0; +var107 = !var106; +if (var107){ +{ +{ /* Inline model#MPropDef#mproperty (var_mpropdef) on */ +var110 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var110 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); } +var108 = var110; +RET_LABEL109:(void)0; } -{ -var109 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var106, var_i); } { -{ /* Inline model#MParameter#mtype (var109) on */ -var112 = var109->attrs[COLOR_nit__model__MParameter___mtype].val; /* _mtype on */ -if (unlikely(var112 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1690); -show_backtrace(1); +{ /* Inline model#MProperty#intro (var108) on */ +var113 = var108->attrs[COLOR_nit__model__MProperty___intro].val; /* _intro on */ +if (unlikely(var113 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1968); +fatal_exit(1); } -var110 = var112; -RET_LABEL111:(void)0; +var111 = var113; +RET_LABEL112:(void)0; } } -var_myt = var110; { -{ /* Inline model#MSignature#mparameters (var_msignature) on */ -var115 = var_msignature->attrs[COLOR_nit__model__MSignature___mparameters].val; /* _mparameters on */ -if (unlikely(var115 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1592); -show_backtrace(1); +{ /* Inline model#MMethodDef#msignature (var111) on */ +var116 = var111->attrs[COLOR_nit__model__MMethodDef___msignature].val; /* _msignature on */ +var114 = var116; +RET_LABEL115:(void)0; } -var113 = var115; -RET_LABEL114:(void)0; } +var_msignature = var114; +if (var_msignature == NULL) { +var117 = 1; /* is null */ +} else { +var117 = 0; /* arg is null but recv is not */ } +if (0) { +{ /* Inline kernel#Object#== (var_msignature,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var116 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var113, var_i); +{ /* Inline kernel#Object#is_same_instance (var_msignature,var_other) on */ +var122 = var_msignature == var_other; +var120 = var122; +goto RET_LABEL121; +RET_LABEL121:(void)0; } -{ -{ /* Inline model#MParameter#mtype (var116) on */ -var119 = var116->attrs[COLOR_nit__model__MParameter___mtype].val; /* _mtype on */ -if (unlikely(var119 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1690); -show_backtrace(1); } -var117 = var119; -RET_LABEL118:(void)0; +var118 = var120; +goto RET_LABEL119; +RET_LABEL119:(void)0; } +var117 = var118; +} +if (var117){ +goto RET_LABEL; +} else { } -var_prt = var117; { -{ /* Inline model#MClassDef#bound_mtype (var_mclassdef) on */ -var123 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ -if (unlikely(var123 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 495); -show_backtrace(1); +{ /* Inline model#MClassDef#mclass (var_mclassdef) on */ +var125 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ +if (unlikely(var125 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 553); +fatal_exit(1); } -var121 = var123; -RET_LABEL122:(void)0; +var123 = var125; +RET_LABEL124:(void)0; } } { -var124 = nit___nit__MType___is_subtype(var_myt, var_mmodule, var121, var_prt); +{ /* Inline model#MClass#mclass_type (var123) on */ +var128 = var123->attrs[COLOR_nit__model__MClass___mclass_type].val; /* _mclass_type on */ +if (unlikely(var128 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 484); +fatal_exit(1); +} +var126 = var128; +RET_LABEL127:(void)0; +} } -var125 = !var124; -var_126 = var125; -if (var125){ -var120 = var_126; -} else { { { /* Inline model#MClassDef#bound_mtype (var_mclassdef) on */ -var129 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ -if (unlikely(var129 == NULL)) { +var131 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ +if (unlikely(var131 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 495); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 556); +fatal_exit(1); } -var127 = var129; -RET_LABEL128:(void)0; +var129 = var131; +RET_LABEL130:(void)0; } } { -var130 = nit___nit__MType___is_subtype(var_prt, var_mmodule, var127, var_myt); -} -var131 = !var130; -var120 = var131; +var132 = nit___nit__MSignature___MType__resolve_for(var_msignature, var126, var129, var_mmodule, 0); } -if (var120){ -if (var_nsig == NULL) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 834); -show_backtrace(1); -} else { -{ /* Inline parser_nodes#ASignature#n_params (var_nsig) on */ -if (unlikely(var_nsig == NULL)) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1506); -show_backtrace(1); -} -var134 = var_nsig->attrs[COLOR_nit__parser_nodes__ASignature___n_params].val; /* _n_params on */ -if (unlikely(var134 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1506); -show_backtrace(1); +var_msignature = var132; +{ +{ /* Inline array#AbstractArrayRead#length (var_param_names) on */ +var135 = var_param_names->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ +var133 = var135; +RET_LABEL134:(void)0; } -var132 = var134; -RET_LABEL133:(void)0; } +{ +var136 = nit___nit__MSignature___arity(var_msignature); } { -var135 = nit___nit__ANodes___standard__abstract_collection__SequenceRead___91d_93d(var132, var_i); +{ /* Inline kernel#Int#!= (var133,var136) on */ +var139 = var133 == var136; +var140 = !var139; +var137 = var140; +goto RET_LABEL138; +RET_LABEL138:(void)0; +} } -if (varonce136) { -var137 = varonce136; +if (var137){ +if (var_nsig == NULL) { +var141 = 0; /* is null */ } else { -var138 = "Redef Error: Wrong type for parameter `"; -var139 = 39; -var140 = standard___standard__NativeString___to_s_with_length(var138, var139); -var137 = var140; -varonce136 = var137; +var141 = 1; /* arg is null and recv is not */ } +if (0) { +{ /* Inline kernel#Object#!= (var_nsig,((val*)NULL)) on */ +var_other36 = ((val*)NULL); { -{ /* Inline model#MSignature#mparameters (var_mysignature) on */ -var143 = var_mysignature->attrs[COLOR_nit__model__MSignature___mparameters].val; /* _mparameters on */ -if (unlikely(var143 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1592); -show_backtrace(1); +var144 = ((short int(*)(val* self, val* p0))(var_nsig->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nsig, var_other36); /* == on */ } -var141 = var143; -RET_LABEL142:(void)0; +var145 = !var144; +var142 = var145; +goto RET_LABEL143; +RET_LABEL143:(void)0; } +var141 = var142; } -{ -var144 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var141, var_i); +if (var141){ +var_node = var_nsig; +} else { +var_node = self; } -{ -{ /* Inline model#MParameter#name (var144) on */ -var147 = var144->attrs[COLOR_nit__model__MParameter___name].val; /* _name on */ -if (unlikely(var147 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1687); -show_backtrace(1); +if (unlikely(varonce==NULL)) { +var146 = NEW_standard__NativeArray(10l, &type_standard__NativeArray__standard__String); +if (likely(varonce147!=NULL)) { +var148 = varonce147; +} else { +var149 = "Redef Error: expected "; +var150 = standard___standard__NativeString___to_s_with_length(var149, 22l); +var148 = var150; +varonce147 = var148; } -var145 = var147; -RET_LABEL146:(void)0; +((struct instance_standard__NativeArray*)var146)->values[0]=var148; +if (likely(varonce151!=NULL)) { +var152 = varonce151; +} else { +var153 = " parameter(s) for `"; +var154 = standard___standard__NativeString___to_s_with_length(var153, 19l); +var152 = var154; +varonce151 = var152; } +((struct instance_standard__NativeArray*)var146)->values[2]=var152; +if (likely(varonce155!=NULL)) { +var156 = varonce155; +} else { +var157 = "`; got "; +var158 = standard___standard__NativeString___to_s_with_length(var157, 7l); +var156 = var158; +varonce155 = var156; } -if (varonce148) { -var149 = varonce148; +((struct instance_standard__NativeArray*)var146)->values[5]=var156; +if (likely(varonce159!=NULL)) { +var160 = varonce159; } else { -var150 = "\'. found "; -var151 = 9; -var152 = standard___standard__NativeString___to_s_with_length(var150, var151); -var149 = var152; -varonce148 = var149; +var161 = ". See introduction at `"; +var162 = standard___standard__NativeString___to_s_with_length(var161, 23l); +var160 = var162; +varonce159 = var160; } -if (varonce153) { -var154 = varonce153; +((struct instance_standard__NativeArray*)var146)->values[7]=var160; +if (likely(varonce163!=NULL)) { +var164 = varonce163; } else { -var155 = ", expected "; -var156 = 11; -var157 = standard___standard__NativeString___to_s_with_length(var155, var156); -var154 = var157; -varonce153 = var154; +var165 = "`."; +var166 = standard___standard__NativeString___to_s_with_length(var165, 2l); +var164 = var166; +varonce163 = var164; } -if (varonce158) { -var159 = varonce158; +((struct instance_standard__NativeArray*)var146)->values[9]=var164; } else { -var160 = " as in "; -var161 = 7; -var162 = standard___standard__NativeString___to_s_with_length(var160, var161); -var159 = var162; -varonce158 = var159; +var146 = varonce; +varonce = NULL; +} +{ +var167 = nit___nit__MSignature___arity(var_msignature); } +var168 = standard__string___Int___Object__to_s(var167); +((struct instance_standard__NativeArray*)var146)->values[1]=var168; { { /* Inline model#MPropDef#mproperty (var_mpropdef) on */ -var165 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var165 == NULL)) { +var171 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var171 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); } -var163 = var165; -RET_LABEL164:(void)0; +var169 = var171; +RET_LABEL170:(void)0; } } { -{ /* Inline model#MProperty#intro (var163) on */ -var168 = var163->attrs[COLOR_nit__model__MProperty___intro].val; /* _intro on */ -if (unlikely(var168 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1773); -show_backtrace(1); +{ /* Inline model#MProperty#name (var169) on */ +var174 = var169->attrs[COLOR_nit__model__MProperty___name].val; /* _name on */ +if (unlikely(var174 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1933); +fatal_exit(1); } -var166 = var168; -RET_LABEL167:(void)0; +var172 = var174; +RET_LABEL173:(void)0; } } -if (varonce169) { -var170 = varonce169; -} else { -var171 = "."; -var172 = 1; -var173 = standard___standard__NativeString___to_s_with_length(var171, var172); -var170 = var173; -varonce169 = var170; +((struct instance_standard__NativeArray*)var146)->values[3]=var172; +{ +var175 = ((val*(*)(val* self))(var_msignature->class->vft[COLOR_standard__string__Object__to_s]))(var_msignature); /* to_s on */ } -var174 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var174 = array_instance Array[Object] */ -var175 = 9; -var176 = NEW_standard__NativeArray(var175, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var176)->values[0] = (val*) var137; -((struct instance_standard__NativeArray*)var176)->values[1] = (val*) var145; -((struct instance_standard__NativeArray*)var176)->values[2] = (val*) var149; -((struct instance_standard__NativeArray*)var176)->values[3] = (val*) var_myt; -((struct instance_standard__NativeArray*)var176)->values[4] = (val*) var154; -((struct instance_standard__NativeArray*)var176)->values[5] = (val*) var_prt; -((struct instance_standard__NativeArray*)var176)->values[6] = (val*) var159; -((struct instance_standard__NativeArray*)var176)->values[7] = (val*) var166; -((struct instance_standard__NativeArray*)var176)->values[8] = (val*) var170; +((struct instance_standard__NativeArray*)var146)->values[4]=var175; { -((void (*)(val* self, val* p0, long p1))(var174->class->vft[COLOR_standard__array__Array__with_native]))(var174, var176, var175) /* with_native on */; +{ /* Inline array#AbstractArrayRead#length (var_param_names) on */ +var178 = var_param_names->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ +var176 = var178; +RET_LABEL177:(void)0; } } +var179 = standard__string___Int___Object__to_s(var176); +((struct instance_standard__NativeArray*)var146)->values[6]=var179; { -var177 = ((val* (*)(val* self))(var174->class->vft[COLOR_standard__string__Object__to_s]))(var174) /* to_s on */; +{ /* Inline model#MPropDef#mproperty (var_mpropdef) on */ +var182 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var182 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); } -{ -nit___nit__ModelBuilder___error(var_modelbuilder, var135, var177); /* Direct call modelbuilder_base#ModelBuilder#error on */ +var180 = var182; +RET_LABEL181:(void)0; } -} else { } -var178 = 1; { -var179 = standard___standard__Int___Discrete__successor(var_i, var178); +var183 = nit___nit__MProperty___nit__model_base__MEntity__full_name(var180); } -var_i = var179; -} else { -goto BREAK_label; +((struct instance_standard__NativeArray*)var146)->values[8]=var183; +{ +var184 = ((val*(*)(val* self))(var146->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var146); /* native_to_s on */ } +varonce = var146; +{ +nit___nit__ModelBuilder___error(var_modelbuilder, var_node, var184); /* Direct call modelbuilder_base#ModelBuilder#error on */ } -BREAK_label: (void)0; +goto RET_LABEL; } else { } -var180 = NULL; -if (var_precursor_ret_type == NULL) { -var181 = 0; /* is null */ } else { -var181 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_precursor_ret_type,var180) on */ -var_other61 = var180; { -var184 = ((short int (*)(val* self, val* p0))(var_precursor_ret_type->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_precursor_ret_type, var_other61) /* == on */; -} -var185 = !var184; -var182 = var185; -goto RET_LABEL183; -RET_LABEL183:(void)0; +{ /* Inline model#MPropDef#mproperty (var_mpropdef) on */ +var188 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var188 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); } -var181 = var182; +var186 = var188; +RET_LABEL187:(void)0; } -if (var181){ -var186 = NULL; -if (var_ret_type == NULL) { -var187 = 1; /* is null */ -} else { -var187 = 0; /* arg is null but recv is not */ } -if (0) { -{ /* Inline kernel#Object#== (var_ret_type,var186) on */ -var_other = var186; { -{ /* Inline kernel#Object#is_same_instance (var_ret_type,var_other) on */ -var192 = var_ret_type == var_other; -var190 = var192; -goto RET_LABEL191; -RET_LABEL191:(void)0; -} -} -var188 = var190; -goto RET_LABEL189; -RET_LABEL189:(void)0; +{ /* Inline model#MMethod#is_init (var186) on */ +var191 = var186->attrs[COLOR_nit__model__MMethod___is_init].s; /* _is_init on */ +var189 = var191; +RET_LABEL190:(void)0; } -var187 = var188; } -if (var187){ -var_ret_type = var_precursor_ret_type; -} else { +var_192 = var189; +if (var189){ { -{ /* Inline model#MClassDef#bound_mtype (var_mclassdef) on */ -var195 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ -if (unlikely(var195 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 495); -show_backtrace(1); +{ /* Inline model#MPropDef#mproperty (var_mpropdef) on */ +var195 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var195 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); } var193 = var195; RET_LABEL194:(void)0; } } { -var196 = nit___nit__MType___is_subtype(var_ret_type, var_mmodule, var193, var_precursor_ret_type); +{ /* Inline model#MMethod#is_new (var193) on */ +var198 = var193->attrs[COLOR_nit__model__MMethod___is_new].s; /* _is_new on */ +var196 = var198; +RET_LABEL197:(void)0; } -var197 = !var196; -if (var197){ -if (var_nsig == NULL) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 843); -show_backtrace(1); +} +var199 = !var196; +var185 = var199; } else { -{ /* Inline parser_nodes#ASignature#n_type (var_nsig) on */ -if (unlikely(var_nsig == NULL)) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1512); -show_backtrace(1); +var185 = var_192; } -var200 = var_nsig->attrs[COLOR_nit__parser_nodes__ASignature___n_type].val; /* _n_type on */ -var198 = var200; -RET_LABEL199:(void)0; +if (var185){ +{ +{ /* Inline model#MClassDef#supertypes (var_mclassdef) on */ +var202 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___supertypes].val; /* _supertypes on */ +if (unlikely(var202 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _supertypes"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 627); +fatal_exit(1); } +var200 = var202; +RET_LABEL201:(void)0; } -if (unlikely(var198 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 843); -show_backtrace(1); } -if (varonce201) { -var202 = varonce201; -} else { -var203 = "Redef Error: Wrong return type. found "; -var204 = 38; -var205 = standard___standard__NativeString___to_s_with_length(var203, var204); -var202 = var205; -varonce201 = var202; +var_203 = var200; +{ +var204 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_203); } -if (varonce206) { -var207 = varonce206; -} else { -var208 = ", expected "; -var209 = 11; -var210 = standard___standard__NativeString___to_s_with_length(var208, var209); -var207 = var210; -varonce206 = var207; +var_205 = var204; +for(;;) { +{ +var206 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_205); } -if (varonce211) { -var212 = varonce211; -} else { -var213 = " as in "; -var214 = 7; -var215 = standard___standard__NativeString___to_s_with_length(var213, var214); -var212 = var215; -varonce211 = var212; +if (var206){ +{ +var207 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_205); } +var_msupertype = var207; { -{ /* Inline model#MPropDef#mproperty (var_mpropdef) on */ -var218 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var218 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); +{ /* Inline model#MClassDef#bound_mtype (var_mclassdef) on */ +var210 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ +if (unlikely(var210 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 556); +fatal_exit(1); } -var216 = var218; -RET_LABEL217:(void)0; +var208 = var210; +RET_LABEL209:(void)0; } } { -{ /* Inline model#MProperty#intro (var216) on */ -var221 = var216->attrs[COLOR_nit__model__MProperty___intro].val; /* _intro on */ -if (unlikely(var221 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1773); -show_backtrace(1); +var211 = nit___nit__MClassType___MType__anchor_to(var_msupertype, var_mmodule, var208); } -var219 = var221; -RET_LABEL220:(void)0; +var_msupertype = var211; +{ +{ /* Inline model#MPropDef#mproperty (var_mpropdef) on */ +var214 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var214 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); } +var212 = var214; +RET_LABEL213:(void)0; } -if (varonce222) { -var223 = varonce222; -} else { -var224 = "."; -var225 = 1; -var226 = standard___standard__NativeString___to_s_with_length(var224, var225); -var223 = var226; -varonce222 = var223; } -var227 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var227 = array_instance Array[Object] */ -var228 = 7; -var229 = NEW_standard__NativeArray(var228, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var229)->values[0] = (val*) var202; -((struct instance_standard__NativeArray*)var229)->values[1] = (val*) var_ret_type; -((struct instance_standard__NativeArray*)var229)->values[2] = (val*) var207; -((struct instance_standard__NativeArray*)var229)->values[3] = (val*) var_precursor_ret_type; -((struct instance_standard__NativeArray*)var229)->values[4] = (val*) var212; -((struct instance_standard__NativeArray*)var229)->values[5] = (val*) var219; -((struct instance_standard__NativeArray*)var229)->values[6] = (val*) var223; { -((void (*)(val* self, val* p0, long p1))(var227->class->vft[COLOR_standard__array__Array__with_native]))(var227, var229, var228) /* with_native on */; +{ /* Inline model#MProperty#name (var212) on */ +var217 = var212->attrs[COLOR_nit__model__MProperty___name].val; /* _name on */ +if (unlikely(var217 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1933); +fatal_exit(1); } +var215 = var217; +RET_LABEL216:(void)0; } -{ -var230 = ((val* (*)(val* self))(var227->class->vft[COLOR_standard__string__Object__to_s]))(var227) /* to_s on */; } { -nit___nit__ModelBuilder___error(var_modelbuilder, var198, var230); /* Direct call modelbuilder_base#ModelBuilder#error on */ +var218 = nit___nit__ModelBuilder___try_get_mproperty_by_name2(var_modelbuilder, self, var_mmodule, var_msupertype, var215); } +var_candidate = var218; +if (var_candidate == NULL) { +var219 = 0; /* is null */ } else { +var219 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_candidate,((val*)NULL)) on */ +var_other36 = ((val*)NULL); +{ +var222 = ((short int(*)(val* self, val* p0))(var_candidate->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_candidate, var_other36); /* == on */ } +var223 = !var222; +var220 = var223; +goto RET_LABEL221; +RET_LABEL221:(void)0; } -} else { +var219 = var220; } +if (var219){ +if (var_msignature == NULL) { +var224 = 1; /* is null */ } else { +var224 = 0; /* arg is null but recv is not */ } +if (0) { +{ /* Inline kernel#Object#== (var_msignature,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var231 = nit___nit__MSignature___arity(var_mysignature); +{ /* Inline kernel#Object#is_same_instance (var_msignature,var_other) on */ +var229 = var_msignature == var_other; +var227 = var229; +goto RET_LABEL228; +RET_LABEL228:(void)0; } -var232 = 0; -{ -{ /* Inline kernel#Int#> (var231,var232) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var235 = 1; /* easy isa OTHER*/ -if (unlikely(!var235)) { -var_class_name238 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name238); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 412); -show_backtrace(1); } -var239 = var231 > var232; -var233 = var239; -goto RET_LABEL234; -RET_LABEL234:(void)0; +var225 = var227; +goto RET_LABEL226; +RET_LABEL226:(void)0; } +var224 = var225; } -if (var233){ -var240 = 0; -var_i241 = var240; +if (var224){ { -var242 = nit___nit__MSignature___arity(var_mysignature); +{ /* Inline model#MProperty#intro (var_candidate) on */ +var232 = var_candidate->attrs[COLOR_nit__model__MProperty___intro].val; /* _intro on */ +if (unlikely(var232 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1968); +fatal_exit(1); } -var_243 = var242; -for(;;) { -{ -{ /* Inline kernel#Int#< (var_i241,var_243) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var246 = 1; /* easy isa OTHER*/ -if (unlikely(!var246)) { -var_class_name249 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name249); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410); -show_backtrace(1); -} -var250 = var_i241 < var_243; -var244 = var250; -goto RET_LABEL245; -RET_LABEL245:(void)0; +var230 = var232; +RET_LABEL231:(void)0; } } -if (var244){ -if (var_nsig == NULL) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 851); -show_backtrace(1); +/* isa MMethodDef */ +cltype = type_nit__MMethodDef.color; +idtype = type_nit__MMethodDef.id; +if(cltype >= var230->type->table_size) { +var233 = 0; } else { -{ /* Inline parser_nodes#ASignature#n_params (var_nsig) on */ -if (unlikely(var_nsig == NULL)) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1506); -show_backtrace(1); +var233 = var230->type->type_table[cltype] == idtype; } -var253 = var_nsig->attrs[COLOR_nit__parser_nodes__ASignature___n_params].val; /* _n_params on */ -if (unlikely(var253 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1506); -show_backtrace(1); +if (unlikely(!var233)) { +var_class_name = var230 == NULL ? "null" : var230->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MMethodDef", var_class_name); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 924); +fatal_exit(1); +} +{ +{ /* Inline model#MMethodDef#msignature (var230) on */ +var236 = var230->attrs[COLOR_nit__model__MMethodDef___msignature].val; /* _msignature on */ +var234 = var236; +RET_LABEL235:(void)0; } -var251 = var253; -RET_LABEL252:(void)0; } +var_msignature = var234; +} else { +} +} else { } { -var254 = nit___nit__ANodes___standard__abstract_collection__SequenceRead___91d_93d(var251, var_i241); +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_205); /* Direct call array#ArrayIterator#next on */ +} +} else { +goto BREAK_label; } +} +BREAK_label: (void)0; { -{ /* Inline parser_nodes#AParam#n_type (var254) on */ -var257 = var254->attrs[COLOR_nit__parser_nodes__AParam___n_type].val; /* _n_type on */ -var255 = var257; -RET_LABEL256:(void)0; +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_205); /* Direct call array#ArrayIterator#finish on */ } +} else { } -var_nt = var255; -var258 = NULL; -if (var_nt == NULL) { -var259 = 0; /* is null */ +} +if (var_msignature == NULL) { +var240 = 0; /* is null */ } else { -var259 = 1; /* arg is null and recv is not */ +var240 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_nt,var258) on */ -var_other61 = var258; +{ /* Inline kernel#Object#!= (var_msignature,((val*)NULL)) on */ +var_other36 = ((val*)NULL); { -var262 = ((short int (*)(val* self, val* p0))(var_nt->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nt, var_other61) /* == on */; +var243 = ((short int(*)(val* self, val* p0))(var_msignature->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_msignature, var_other36); /* == on */ } -var263 = !var262; -var260 = var263; -goto RET_LABEL261; -RET_LABEL261:(void)0; +var244 = !var243; +var241 = var244; +goto RET_LABEL242; +RET_LABEL242:(void)0; } -var259 = var260; +var240 = var241; } -if (var259){ +var_245 = var240; +if (var240){ { -{ /* Inline modelize_class#AType#mtype (var_nt) on */ -var266 = var_nt->attrs[COLOR_nit__modelize_class__AType___mtype].val; /* _mtype on */ -var264 = var266; -RET_LABEL265:(void)0; +{ /* Inline array#AbstractArrayRead#length (var_param_names) on */ +var248 = var_param_names->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ +var246 = var248; +RET_LABEL247:(void)0; } } -if (unlikely(var264 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 852); -show_backtrace(1); +{ +{ /* Inline array#AbstractArrayRead#length (var_param_types) on */ +var251 = var_param_types->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ +var249 = var251; +RET_LABEL250:(void)0; +} } { -nit__modelize_property___ModelBuilder___check_visibility(var_modelbuilder, var_nt, var264, var_mpropdef); /* Direct call modelize_property#ModelBuilder#check_visibility on */ +{ /* Inline kernel#Int#!= (var246,var249) on */ +var254 = var246 == var249; +var255 = !var254; +var252 = var255; +goto RET_LABEL253; +RET_LABEL253:(void)0; } +} +var239 = var252; } else { +var239 = var_245; } -var267 = 1; +var_256 = var239; +if (var239){ { -var268 = standard___standard__Int___Discrete__successor(var_i241, var267); +{ /* Inline array#AbstractArrayRead#length (var_param_names) on */ +var259 = var_param_names->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ +var257 = var259; +RET_LABEL258:(void)0; } -var_i241 = var268; -} else { -goto BREAK_label269; } +{ +var260 = nit___nit__MSignature___arity(var_msignature); } -BREAK_label269: (void)0; -if (var_nsig == NULL) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 854); -show_backtrace(1); +{ +{ /* Inline kernel#Int#== (var257,var260) on */ +var263 = var257 == var260; +var261 = var263; +goto RET_LABEL262; +RET_LABEL262:(void)0; +} +} +var238 = var261; } else { -{ /* Inline parser_nodes#ASignature#n_type (var_nsig) on */ -if (unlikely(var_nsig == NULL)) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1512); -show_backtrace(1); +var238 = var_256; } -var272 = var_nsig->attrs[COLOR_nit__parser_nodes__ASignature___n_type].val; /* _n_type on */ -var270 = var272; -RET_LABEL271:(void)0; +var_264 = var238; +if (var238){ +{ +{ /* Inline array#AbstractArrayRead#length (var_param_types) on */ +var267 = var_param_types->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ +var265 = var267; +RET_LABEL266:(void)0; +} +} +{ +{ /* Inline kernel#Int#== (var265,0l) on */ +var270 = var265 == 0l; +var268 = var270; +goto RET_LABEL269; +RET_LABEL269:(void)0; } } -var_nt273 = var270; -var274 = NULL; -if (var_nt273 == NULL) { -var275 = 0; /* is null */ +var237 = var268; } else { -var275 = 1; /* arg is null and recv is not */ +var237 = var_264; } -if (0) { -{ /* Inline kernel#Object#!= (var_nt273,var274) on */ -var_other61 = var274; +if (var237){ +var271 = NEW_standard__Array(&type_standard__Array__nit__MType); +{ +standard___standard__Array___standard__kernel__Object__init(var271); /* Direct call array#Array#init on */ +} +var_param_types = var271; +{ +{ /* Inline model#MSignature#mparameters (var_msignature) on */ +var274 = var_msignature->attrs[COLOR_nit__model__MSignature___mparameters].val; /* _mparameters on */ +if (unlikely(var274 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1756); +fatal_exit(1); +} +var272 = var274; +RET_LABEL273:(void)0; +} +} +var_275 = var272; { -var278 = ((short int (*)(val* self, val* p0))(var_nt273->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nt273, var_other61) /* == on */; +var276 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_275); } -var279 = !var278; -var276 = var279; -goto RET_LABEL277; -RET_LABEL277:(void)0; +var_277 = var276; +for(;;) { +{ +var278 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_277); } -var275 = var276; +if (var278){ +{ +var279 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_277); } -if (var275){ +var_mparameter = var279; { -{ /* Inline modelize_class#AType#mtype (var_nt273) on */ -var282 = var_nt273->attrs[COLOR_nit__modelize_class__AType___mtype].val; /* _mtype on */ +{ /* Inline model#MParameter#mtype (var_mparameter) on */ +var282 = var_mparameter->attrs[COLOR_nit__model__MParameter___mtype].val; /* _mtype on */ +if (unlikely(var282 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1879); +fatal_exit(1); +} var280 = var282; RET_LABEL281:(void)0; } } -if (unlikely(var280 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 855); -show_backtrace(1); +{ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_param_types, var280); /* Direct call array#Array#add on */ } { -nit__modelize_property___ModelBuilder___check_visibility(var_modelbuilder, var_nt273, var280, var_mpropdef); /* Direct call modelize_property#ModelBuilder#check_visibility on */ +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_277); /* Direct call array#ArrayIterator#next on */ } } else { +goto BREAK_label283; +} +} +BREAK_label283: (void)0; +{ +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_277); /* Direct call array#ArrayIterator#finish on */ +} +{ +{ /* Inline model#MSignature#vararg_rank (var_msignature) on */ +var286 = var_msignature->attrs[COLOR_nit__model__MSignature___vararg_rank].l; /* _vararg_rank on */ +var284 = var286; +RET_LABEL285:(void)0; +} } +var_vararg_rank = var284; } else { } -RET_LABEL:; +if (var_msignature == NULL) { +var288 = 0; /* is null */ +} else { +var288 = 1; /* arg is null and recv is not */ } -/* method modelize_property#AAttrPropdef#noinit for (self: AAttrPropdef): Bool */ -short int nit__modelize_property___AAttrPropdef___noinit(val* self) { -short int var /* : Bool */; -short int var1 /* : Bool */; -var1 = self->attrs[COLOR_nit__modelize_property__AAttrPropdef___noinit].s; /* _noinit on */ -var = var1; -RET_LABEL:; -return var; +if (0) { +{ /* Inline kernel#Object#!= (var_msignature,((val*)NULL)) on */ +var_other36 = ((val*)NULL); +{ +var291 = ((short int(*)(val* self, val* p0))(var_msignature->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_msignature, var_other36); /* == on */ } -/* method modelize_property#AAttrPropdef#noinit= for (self: AAttrPropdef, Bool) */ -void nit__modelize_property___AAttrPropdef___noinit_61d(val* self, short int p0) { -self->attrs[COLOR_nit__modelize_property__AAttrPropdef___noinit].s = p0; /* _noinit on */ -RET_LABEL:; +var292 = !var291; +var289 = var292; +goto RET_LABEL290; +RET_LABEL290:(void)0; } -/* method modelize_property#AAttrPropdef#is_lazy for (self: AAttrPropdef): Bool */ -short int nit__modelize_property___AAttrPropdef___is_lazy(val* self) { -short int var /* : Bool */; -short int var1 /* : Bool */; -var1 = self->attrs[COLOR_nit__modelize_property__AAttrPropdef___is_lazy].s; /* _is_lazy on */ -var = var1; -RET_LABEL:; -return var; +var288 = var289; } -/* method modelize_property#AAttrPropdef#is_lazy= for (self: AAttrPropdef, Bool) */ -void nit__modelize_property___AAttrPropdef___is_lazy_61d(val* self, short int p0) { -self->attrs[COLOR_nit__modelize_property__AAttrPropdef___is_lazy].s = p0; /* _is_lazy on */ -RET_LABEL:; +var_293 = var288; +if (var288){ +if (var_ret_type == NULL) { +var294 = 1; /* is null */ +} else { +var294 = 0; /* arg is null but recv is not */ } -/* method modelize_property#AAttrPropdef#has_value for (self: AAttrPropdef): Bool */ -short int nit__modelize_property___AAttrPropdef___has_value(val* self) { -short int var /* : Bool */; -short int var1 /* : Bool */; -var1 = self->attrs[COLOR_nit__modelize_property__AAttrPropdef___has_value].s; /* _has_value on */ -var = var1; -RET_LABEL:; -return var; +if (0) { +{ /* Inline kernel#Object#== (var_ret_type,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +{ /* Inline kernel#Object#is_same_instance (var_ret_type,var_other) on */ +var299 = var_ret_type == var_other; +var297 = var299; +goto RET_LABEL298; +RET_LABEL298:(void)0; } -/* method modelize_property#AAttrPropdef#has_value= for (self: AAttrPropdef, Bool) */ -void nit__modelize_property___AAttrPropdef___has_value_61d(val* self, short int p0) { -self->attrs[COLOR_nit__modelize_property__AAttrPropdef___has_value].s = p0; /* _has_value on */ -RET_LABEL:; } -/* method modelize_property#AAttrPropdef#mlazypropdef for (self: AAttrPropdef): nullable MAttributeDef */ -val* nit__modelize_property___AAttrPropdef___mlazypropdef(val* self) { -val* var /* : nullable MAttributeDef */; -val* var1 /* : nullable MAttributeDef */; -var1 = self->attrs[COLOR_nit__modelize_property__AAttrPropdef___mlazypropdef].val; /* _mlazypropdef on */ -var = var1; -RET_LABEL:; -return var; +var295 = var297; +goto RET_LABEL296; +RET_LABEL296:(void)0; } -/* method modelize_property#AAttrPropdef#mlazypropdef= for (self: AAttrPropdef, nullable MAttributeDef) */ -void nit__modelize_property___AAttrPropdef___mlazypropdef_61d(val* self, val* p0) { -self->attrs[COLOR_nit__modelize_property__AAttrPropdef___mlazypropdef].val = p0; /* _mlazypropdef on */ -RET_LABEL:; +var294 = var295; } -/* method modelize_property#AAttrPropdef#mreadpropdef for (self: AAttrPropdef): nullable MMethodDef */ -val* nit__modelize_property___AAttrPropdef___mreadpropdef(val* self) { -val* var /* : nullable MMethodDef */; -val* var1 /* : nullable MMethodDef */; -var1 = self->attrs[COLOR_nit__modelize_property__AAttrPropdef___mreadpropdef].val; /* _mreadpropdef on */ -var = var1; -RET_LABEL:; -return var; +var287 = var294; +} else { +var287 = var_293; } -/* method modelize_property#AAttrPropdef#mreadpropdef= for (self: AAttrPropdef, nullable MMethodDef) */ -void nit__modelize_property___AAttrPropdef___mreadpropdef_61d(val* self, val* p0) { -self->attrs[COLOR_nit__modelize_property__AAttrPropdef___mreadpropdef].val = p0; /* _mreadpropdef on */ -RET_LABEL:; +if (var287){ +{ +{ /* Inline model#MSignature#return_mtype (var_msignature) on */ +var302 = var_msignature->attrs[COLOR_nit__model__MSignature___return_mtype].val; /* _return_mtype on */ +var300 = var302; +RET_LABEL301:(void)0; } -/* method modelize_property#AAttrPropdef#mwritepropdef for (self: AAttrPropdef): nullable MMethodDef */ -val* nit__modelize_property___AAttrPropdef___mwritepropdef(val* self) { -val* var /* : nullable MMethodDef */; -val* var1 /* : nullable MMethodDef */; -var1 = self->attrs[COLOR_nit__modelize_property__AAttrPropdef___mwritepropdef].val; /* _mwritepropdef on */ -var = var1; -RET_LABEL:; -return var; } -/* method modelize_property#AAttrPropdef#mwritepropdef= for (self: AAttrPropdef, nullable MMethodDef) */ -void nit__modelize_property___AAttrPropdef___mwritepropdef_61d(val* self, val* p0) { -self->attrs[COLOR_nit__modelize_property__AAttrPropdef___mwritepropdef].val = p0; /* _mwritepropdef on */ -RET_LABEL:; +var_ret_type = var300; +} else { } -/* method modelize_property#AAttrPropdef#build_property for (self: AAttrPropdef, ModelBuilder, MClassDef) */ -void nit__modelize_property___AAttrPropdef___APropdef__build_property(val* self, val* p0, val* p1) { -val* var_modelbuilder /* var modelbuilder: ModelBuilder */; -val* var_mclassdef /* var mclassdef: MClassDef */; -val* var /* : MClass */; -val* var2 /* : MClass */; -val* var_mclass /* var mclass: MClass */; -val* var3 /* : TId */; -val* var5 /* : TId */; -val* var6 /* : String */; -val* var_name /* var name: String */; -short int var7 /* : Bool */; -val* var8 /* : MClassKind */; -val* var10 /* : MClassKind */; -val* var11 /* : MClassKind */; -short int var12 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var14 /* : Bool */; -short int var16 /* : Bool */; -short int var_ /* var : Bool */; -val* var17 /* : MClass */; -val* var19 /* : MClass */; -val* var20 /* : MClassKind */; -val* var22 /* : MClassKind */; -val* var23 /* : MClassKind */; -short int var24 /* : Bool */; -short int var26 /* : Bool */; -short int var28 /* : Bool */; -static val* varonce; -val* var29 /* : String */; -char* var30 /* : NativeString */; -long var31 /* : Int */; -val* var32 /* : FlatString */; -static val* varonce33; -val* var34 /* : String */; -char* var35 /* : NativeString */; -long var36 /* : Int */; -val* var37 /* : FlatString */; -static val* varonce38; -val* var39 /* : String */; -char* var40 /* : NativeString */; -long var41 /* : Int */; -val* var42 /* : FlatString */; -val* var43 /* : Array[Object] */; -long var44 /* : Int */; -val* var45 /* : NativeArray[Object] */; -val* var46 /* : String */; -val* var47 /* : MClassKind */; -val* var49 /* : MClassKind */; -val* var50 /* : MClassKind */; -short int var51 /* : Bool */; -short int var53 /* : Bool */; -short int var55 /* : Bool */; -static val* varonce56; -val* var57 /* : String */; -char* var58 /* : NativeString */; -long var59 /* : Int */; -val* var60 /* : FlatString */; -static val* varonce61; -val* var62 /* : String */; -char* var63 /* : NativeString */; -long var64 /* : Int */; -val* var65 /* : FlatString */; -static val* varonce66; -val* var67 /* : String */; -char* var68 /* : NativeString */; -long var69 /* : Int */; -val* var70 /* : FlatString */; -val* var71 /* : Array[Object] */; -long var72 /* : Int */; -val* var73 /* : NativeArray[Object] */; -val* var74 /* : String */; -val* var75 /* : MClassKind */; -val* var77 /* : MClassKind */; -val* var78 /* : MClassKind */; -short int var79 /* : Bool */; -short int var81 /* : Bool */; -short int var83 /* : Bool */; -static val* varonce84; -val* var85 /* : String */; -char* var86 /* : NativeString */; -long var87 /* : Int */; -val* var88 /* : FlatString */; -static val* varonce89; -val* var90 /* : String */; -char* var91 /* : NativeString */; -long var92 /* : Int */; -val* var93 /* : FlatString */; -static val* varonce94; -val* var95 /* : String */; -char* var96 /* : NativeString */; -long var97 /* : Int */; -val* var98 /* : FlatString */; -val* var99 /* : Array[Object] */; -long var100 /* : Int */; -val* var101 /* : NativeArray[Object] */; -val* var102 /* : String */; -val* var103 /* : TId */; -val* var105 /* : TId */; -val* var_nid2 /* var nid2: TId */; -val* var106 /* : MAttribute */; -static val* varonce107; -val* var108 /* : String */; -char* var109 /* : NativeString */; -long var110 /* : Int */; -val* var111 /* : FlatString */; -val* var112 /* : String */; -val* var113 /* : MVisibility */; -val* var_mprop /* var mprop: MAttribute */; -val* var114 /* : MAttributeDef */; -val* var115 /* : Location */; -val* var117 /* : Location */; -val* var_mpropdef /* var mpropdef: MAttributeDef */; -short int var118 /* : Bool */; -int cltype; -int idtype; -const struct type* type_struct; -const char* var_class_name; -short int var120 /* : Bool */; -int cltype121; -int idtype122; -const struct type* type_struct123; -const char* var_class_name124; -val* var125 /* : HashMap[MPropDef, APropdef] */; -val* var127 /* : HashMap[MPropDef, APropdef] */; -val* var_readname /* var readname: String */; -val* var128 /* : nullable MProperty */; -short int var129 /* : Bool */; -int cltype130; -int idtype131; -const char* var_class_name132; -val* var_mreadprop /* var mreadprop: nullable MMethod */; -val* var133 /* : null */; -short int var134 /* : Bool */; -short int var135 /* : Bool */; -short int var137 /* : Bool */; -short int var139 /* : Bool */; -val* var140 /* : nullable AVisibility */; -val* var142 /* : nullable AVisibility */; -val* var143 /* : MVisibility */; -val* var_mvisibility /* var mvisibility: MVisibility */; -val* var144 /* : MMethod */; -val* var145 /* : nullable TKwredef */; -val* var147 /* : nullable TKwredef */; -short int var148 /* : Bool */; -short int var149 /* : Bool */; -short int var150 /* : Bool */; -val* var151 /* : nullable MDeprecationInfo */; -val* var153 /* : nullable MDeprecationInfo */; -val* var155 /* : nullable TKwredef */; -val* var157 /* : nullable TKwredef */; -short int var158 /* : Bool */; -short int var159 /* : Bool */; -short int var160 /* : Bool */; -val* var161 /* : nullable AVisibility */; -val* var163 /* : nullable AVisibility */; -val* var164 /* : Map[MProperty, APropdef] */; -val* var166 /* : Map[MProperty, APropdef] */; -val* var167 /* : MMethodDef */; -val* var168 /* : Location */; -val* var170 /* : Location */; -val* var_mreadpropdef /* var mreadpropdef: MMethodDef */; -val* var172 /* : HashMap[MPropDef, APropdef] */; -val* var174 /* : HashMap[MPropDef, APropdef] */; -val* var175 /* : nullable MDoc */; -val* var177 /* : nullable MDoc */; -short int var179 /* : Bool */; -val* var180 /* : nullable AExpr */; -val* var182 /* : nullable AExpr */; -val* var183 /* : null */; -short int var184 /* : Bool */; -short int var185 /* : Bool */; -val* var_other187 /* var other: nullable Object */; -short int var188 /* : Bool */; -short int var189 /* : Bool */; -short int var_190 /* var : Bool */; -val* var191 /* : nullable AExpr */; -val* var193 /* : nullable AExpr */; -val* var194 /* : null */; -short int var195 /* : Bool */; -short int var196 /* : Bool */; -short int var198 /* : Bool */; -short int var199 /* : Bool */; -static val* varonce201; -val* var202 /* : String */; -char* var203 /* : NativeString */; -long var204 /* : Int */; -val* var205 /* : FlatString */; -val* var206 /* : nullable AAnnotation */; -val* var_atnoinit /* var atnoinit: nullable AAnnotation */; -val* var207 /* : null */; -short int var208 /* : Bool */; -short int var209 /* : Bool */; -short int var211 /* : Bool */; -short int var212 /* : Bool */; -short int var213 /* : Bool */; -short int var215 /* : Bool */; -short int var217 /* : Bool */; -static val* varonce218; -val* var219 /* : String */; -char* var220 /* : NativeString */; -long var221 /* : Int */; -val* var222 /* : FlatString */; -static val* varonce223; -val* var224 /* : String */; -char* var225 /* : NativeString */; -long var226 /* : Int */; -val* var227 /* : FlatString */; -val* var228 /* : nullable AAnnotation */; -val* var_atlazy /* var atlazy: nullable AAnnotation */; -static val* varonce229; -val* var230 /* : String */; -char* var231 /* : NativeString */; -long var232 /* : Int */; -val* var233 /* : FlatString */; -val* var234 /* : nullable AAnnotation */; -val* var_atautoinit /* var atautoinit: nullable AAnnotation */; -short int var235 /* : Bool */; -val* var236 /* : null */; -short int var237 /* : Bool */; -short int var238 /* : Bool */; -short int var240 /* : Bool */; -short int var241 /* : Bool */; -short int var_242 /* var : Bool */; -val* var243 /* : null */; -short int var244 /* : Bool */; -short int var245 /* : Bool */; -short int var247 /* : Bool */; -short int var248 /* : Bool */; -short int var249 /* : Bool */; -val* var250 /* : null */; -short int var251 /* : Bool */; -short int var252 /* : Bool */; -short int var254 /* : Bool */; -short int var255 /* : Bool */; -short int var_256 /* var : Bool */; -val* var257 /* : null */; -short int var258 /* : Bool */; -short int var259 /* : Bool */; -short int var261 /* : Bool */; -short int var262 /* : Bool */; -static val* varonce263; -val* var264 /* : String */; -char* var265 /* : NativeString */; -long var266 /* : Int */; -val* var267 /* : FlatString */; -short int var268 /* : Bool */; -short int var270 /* : Bool */; -short int var271 /* : Bool */; -val* var272 /* : null */; -short int var273 /* : Bool */; -short int var274 /* : Bool */; -short int var276 /* : Bool */; -short int var277 /* : Bool */; -static val* varonce278; -val* var279 /* : String */; -char* var280 /* : NativeString */; -long var281 /* : Int */; -val* var282 /* : FlatString */; -val* var283 /* : null */; -short int var284 /* : Bool */; -short int var285 /* : Bool */; -short int var287 /* : Bool */; -short int var288 /* : Bool */; -static val* varonce289; -val* var290 /* : String */; -char* var291 /* : NativeString */; -long var292 /* : Int */; -val* var293 /* : FlatString */; -short int var294 /* : Bool */; -val* var296 /* : MAttribute */; -static val* varonce297; -val* var298 /* : String */; -char* var299 /* : NativeString */; -long var300 /* : Int */; -val* var301 /* : FlatString */; -val* var302 /* : String */; -val* var303 /* : MVisibility */; -val* var_mlazyprop /* var mlazyprop: MAttribute */; -val* var304 /* : MAttributeDef */; -val* var305 /* : Location */; -val* var307 /* : Location */; -val* var_mlazypropdef /* var mlazypropdef: MAttributeDef */; -static val* varonce309; -val* var310 /* : String */; -char* var311 /* : NativeString */; -long var312 /* : Int */; -val* var313 /* : FlatString */; -val* var314 /* : nullable AAnnotation */; -val* var_atreadonly /* var atreadonly: nullable AAnnotation */; -val* var315 /* : null */; -short int var316 /* : Bool */; -short int var317 /* : Bool */; -short int var319 /* : Bool */; -short int var320 /* : Bool */; -short int var321 /* : Bool */; -short int var323 /* : Bool */; -short int var324 /* : Bool */; -static val* varonce325; -val* var326 /* : String */; -char* var327 /* : NativeString */; -long var328 /* : Int */; -val* var329 /* : FlatString */; -static val* varonce330; -val* var331 /* : String */; -char* var332 /* : NativeString */; -long var333 /* : Int */; -val* var334 /* : FlatString */; -val* var335 /* : String */; -val* var_writename /* var writename: String */; -static val* varonce336; -val* var337 /* : String */; -char* var338 /* : NativeString */; -long var339 /* : Int */; -val* var340 /* : FlatString */; -val* var341 /* : nullable AAnnotation */; -val* var_atwritable /* var atwritable: nullable AAnnotation */; -val* var342 /* : null */; -short int var343 /* : Bool */; -short int var344 /* : Bool */; -short int var346 /* : Bool */; -short int var347 /* : Bool */; -val* var348 /* : ANodes[AExpr] */; -val* var350 /* : ANodes[AExpr] */; -short int var351 /* : Bool */; -short int var352 /* : Bool */; -val* var353 /* : String */; -val* var354 /* : nullable String */; -val* var355 /* : nullable MProperty */; -short int var356 /* : Bool */; -int cltype357; -int idtype358; -const char* var_class_name359; -val* var_mwriteprop /* var mwriteprop: nullable MMethod */; -val* var360 /* : null */; -val* var_nwkwredef /* var nwkwredef: nullable Token */; -val* var361 /* : null */; -short int var362 /* : Bool */; -short int var363 /* : Bool */; -short int var365 /* : Bool */; -short int var366 /* : Bool */; -val* var367 /* : nullable TKwredef */; -val* var369 /* : nullable TKwredef */; -val* var370 /* : null */; -short int var371 /* : Bool */; -short int var372 /* : Bool */; -short int var374 /* : Bool */; -short int var376 /* : Bool */; -val* var377 /* : null */; -short int var378 /* : Bool */; -short int var379 /* : Bool */; -short int var381 /* : Bool */; -short int var382 /* : Bool */; -val* var383 /* : nullable AVisibility */; -val* var385 /* : nullable AVisibility */; -val* var386 /* : MVisibility */; -val* var_mvisibility387 /* var mvisibility: nullable Object */; -val* var388 /* : MVisibility */; -val* var389 /* : MMethod */; -short int var390 /* : Bool */; -short int var391 /* : Bool */; -short int var392 /* : Bool */; -val* var393 /* : nullable MDeprecationInfo */; -val* var395 /* : nullable MDeprecationInfo */; -val* var397 /* : nullable Token */; -val* var398 /* : nullable TKwredef */; -val* var400 /* : nullable TKwredef */; -short int var401 /* : Bool */; -short int var402 /* : Bool */; -short int var403 /* : Bool */; -val* var404 /* : null */; -short int var405 /* : Bool */; -short int var406 /* : Bool */; -short int var408 /* : Bool */; -short int var409 /* : Bool */; -val* var410 /* : nullable AVisibility */; -val* var412 /* : nullable AVisibility */; -val* var413 /* : Map[MProperty, APropdef] */; -val* var415 /* : Map[MProperty, APropdef] */; -val* var416 /* : MMethodDef */; -val* var417 /* : Location */; -val* var419 /* : Location */; -val* var_mwritepropdef /* var mwritepropdef: MMethodDef */; -val* var421 /* : HashMap[MPropDef, APropdef] */; -val* var423 /* : HashMap[MPropDef, APropdef] */; -val* var424 /* : nullable MDoc */; -val* var426 /* : nullable MDoc */; -var_modelbuilder = p0; -var_mclassdef = p1; { -{ /* Inline model#MClassDef#mclass (var_mclassdef) on */ -var2 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ -if (unlikely(var2 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 492); -show_backtrace(1); -} -var = var2; -RET_LABEL1:(void)0; +{ /* Inline array#AbstractArrayRead#length (var_param_names) on */ +var305 = var_param_names->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ +var303 = var305; +RET_LABEL304:(void)0; } } -var_mclass = var; { -{ /* Inline parser_nodes#AAttrPropdef#n_id2 (self) on */ -var5 = self->attrs[COLOR_nit__parser_nodes__AAttrPropdef___n_id2].val; /* _n_id2 on */ -if (unlikely(var5 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id2"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1138); -show_backtrace(1); -} -var3 = var5; -RET_LABEL4:(void)0; +{ /* Inline array#AbstractArrayRead#length (var_param_types) on */ +var308 = var_param_types->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ +var306 = var308; +RET_LABEL307:(void)0; } } { -var6 = nit__lexer_work___Token___text(var3); +{ /* Inline kernel#Int#!= (var303,var306) on */ +var311 = var303 == var306; +var312 = !var311; +var309 = var312; +goto RET_LABEL310; +RET_LABEL310:(void)0; } -var_name = var6; -{ -{ /* Inline model#MClass#kind (var_mclass) on */ -var10 = var_mclass->attrs[COLOR_nit__model__MClass___kind].val; /* _kind on */ -if (unlikely(var10 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 399); -show_backtrace(1); } -var8 = var10; -RET_LABEL9:(void)0; +if (var309){ +if (var_nsig == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 946); +fatal_exit(1); +} else { +{ /* Inline parser_nodes#ASignature#n_params (var_nsig) on */ +if (unlikely(var_nsig == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1693); +fatal_exit(1); } +var315 = var_nsig->attrs[COLOR_nit__parser_nodes__ASignature___n_params].val; /* _n_params on */ +if (unlikely(var315 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1693); +fatal_exit(1); } -{ -var11 = nit__model___standard__Object___interface_kind(self); +var313 = var315; +RET_LABEL314:(void)0; } -{ -{ /* Inline kernel#Object#== (var8,var11) on */ -var_other = var11; -{ -{ /* Inline kernel#Object#is_same_instance (var8,var_other) on */ -var16 = var8 == var_other; -var14 = var16; -goto RET_LABEL15; -RET_LABEL15:(void)0; } +{ +{ /* Inline array#AbstractArrayRead#length (var_param_types) on */ +var318 = var_param_types->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ +var316 = var318; +RET_LABEL317:(void)0; } -var12 = var14; -goto RET_LABEL13; -RET_LABEL13:(void)0; } +{ +var319 = nit___nit__ANodes___standard__abstract_collection__SequenceRead___91d_93d(var313, var316); } -var_ = var12; -if (var12){ -var7 = var_; +if (unlikely(varonce320==NULL)) { +var321 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce322!=NULL)) { +var323 = varonce322; } else { -{ -{ /* Inline model#MClassDef#mclass (var_mclassdef) on */ -var19 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ -if (unlikely(var19 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 492); -show_backtrace(1); +var324 = "Error: untyped parameter `"; +var325 = standard___standard__NativeString___to_s_with_length(var324, 26l); +var323 = var325; +varonce322 = var323; } -var17 = var19; -RET_LABEL18:(void)0; +((struct instance_standard__NativeArray*)var321)->values[0]=var323; +if (likely(varonce326!=NULL)) { +var327 = varonce326; +} else { +var328 = "\'."; +var329 = standard___standard__NativeString___to_s_with_length(var328, 2l); +var327 = var329; +varonce326 = var327; } +((struct instance_standard__NativeArray*)var321)->values[2]=var327; +} else { +var321 = varonce320; +varonce320 = NULL; } { -{ /* Inline model#MClass#kind (var17) on */ -var22 = var17->attrs[COLOR_nit__model__MClass___kind].val; /* _kind on */ -if (unlikely(var22 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 399); -show_backtrace(1); -} -var20 = var22; -RET_LABEL21:(void)0; +{ /* Inline array#AbstractArrayRead#length (var_param_types) on */ +var332 = var_param_types->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ +var330 = var332; +RET_LABEL331:(void)0; } } { -var23 = nit__model___standard__Object___enum_kind(self); +var333 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_param_names, var330); } +((struct instance_standard__NativeArray*)var321)->values[1]=var333; { -{ /* Inline kernel#Object#== (var20,var23) on */ -var_other = var23; -{ -{ /* Inline kernel#Object#is_same_instance (var20,var_other) on */ -var28 = var20 == var_other; -var26 = var28; -goto RET_LABEL27; -RET_LABEL27:(void)0; +var334 = ((val*(*)(val* self))(var321->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var321); /* native_to_s on */ } +varonce320 = var321; +{ +nit___nit__ModelBuilder___error(var_modelbuilder, var319, var334); /* Direct call modelbuilder_base#ModelBuilder#error on */ } -var24 = var26; -goto RET_LABEL25; -RET_LABEL25:(void)0; +goto RET_LABEL; +} else { } +var335 = NEW_standard__Array(&type_standard__Array__nit__MParameter); +{ +standard___standard__Array___standard__kernel__Object__init(var335); /* Direct call array#Array#init on */ } -var7 = var24; +var_mparameters = var335; +var_i = 0l; +{ +{ /* Inline array#AbstractArrayRead#length (var_param_names) on */ +var338 = var_param_names->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ +var336 = var338; +RET_LABEL337:(void)0; } -if (var7){ -if (varonce) { -var29 = varonce; -} else { -var30 = "Error: Attempt to define attribute "; -var31 = 35; -var32 = standard___standard__NativeString___to_s_with_length(var30, var31); -var29 = var32; -varonce = var29; } -if (varonce33) { -var34 = varonce33; -} else { -var35 = " in the interface "; -var36 = 18; -var37 = standard___standard__NativeString___to_s_with_length(var35, var36); -var34 = var37; -varonce33 = var34; +var_339 = var336; +for(;;) { +{ +{ /* Inline kernel#Int#< (var_i,var_339) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var342 = 1; /* easy isa OTHER*/ +if (unlikely(!var342)) { +var_class_name345 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name345); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534); +fatal_exit(1); +} +var346 = var_i < var_339; +var340 = var346; +goto RET_LABEL341; +RET_LABEL341:(void)0; } -if (varonce38) { -var39 = varonce38; -} else { -var40 = "."; -var41 = 1; -var42 = standard___standard__NativeString___to_s_with_length(var40, var41); -var39 = var42; -varonce38 = var39; } -var43 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var43 = array_instance Array[Object] */ -var44 = 5; -var45 = NEW_standard__NativeArray(var44, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var45)->values[0] = (val*) var29; -((struct instance_standard__NativeArray*)var45)->values[1] = (val*) var_name; -((struct instance_standard__NativeArray*)var45)->values[2] = (val*) var34; -((struct instance_standard__NativeArray*)var45)->values[3] = (val*) var_mclass; -((struct instance_standard__NativeArray*)var45)->values[4] = (val*) var39; +if (var340){ +var_is_default = 0; { -((void (*)(val* self, val* p0, long p1))(var43->class->vft[COLOR_standard__array__Array__with_native]))(var43, var45, var44) /* with_native on */; +{ /* Inline kernel#Int#unary - (1l) on <1l:Int> */ +var350 = -1l; +var348 = var350; +goto RET_LABEL349; +RET_LABEL349:(void)0; } } { -var46 = ((val* (*)(val* self))(var43->class->vft[COLOR_standard__string__Object__to_s]))(var43) /* to_s on */; +{ /* Inline kernel#Int#== (var_vararg_rank,var348) on */ +var353 = var_vararg_rank == var348; +var351 = var353; +goto RET_LABEL352; +RET_LABEL352:(void)0; } -{ -nit___nit__ModelBuilder___error(var_modelbuilder, self, var46); /* Direct call modelbuilder_base#ModelBuilder#error on */ } -} else { +var_354 = var351; +if (var351){ { -{ /* Inline model#MClass#kind (var_mclass) on */ -var49 = var_mclass->attrs[COLOR_nit__model__MClass___kind].val; /* _kind on */ -if (unlikely(var49 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 399); -show_backtrace(1); +var355 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_param_types, var_i); } -var47 = var49; -RET_LABEL48:(void)0; +/* isa MNullableType */ +cltype357 = type_nit__MNullableType.color; +idtype358 = type_nit__MNullableType.id; +if(cltype357 >= var355->type->table_size) { +var356 = 0; +} else { +var356 = var355->type->type_table[cltype357] == idtype358; } +var347 = var356; +} else { +var347 = var_354; } +if (var347){ { -var50 = nit__model___standard__Object___enum_kind(self); +{ /* Inline array#AbstractArrayRead#length (var_param_names) on */ +var362 = var_param_names->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ +var360 = var362; +RET_LABEL361:(void)0; +} } { -{ /* Inline kernel#Object#== (var47,var50) on */ -var_other = var50; -{ -{ /* Inline kernel#Object#is_same_instance (var47,var_other) on */ -var55 = var47 == var_other; -var53 = var55; -goto RET_LABEL54; -RET_LABEL54:(void)0; +{ /* Inline kernel#Int#- (var360,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var365 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var365)) { +var_class_name368 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name368); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540); +fatal_exit(1); +} +var369 = var360 - 1l; +var363 = var369; +goto RET_LABEL364; +RET_LABEL364:(void)0; } } -var51 = var53; -goto RET_LABEL52; -RET_LABEL52:(void)0; +{ +{ /* Inline kernel#Int#< (var_i,var363) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var372 = 1; /* easy isa OTHER*/ +if (unlikely(!var372)) { +var_class_name375 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name375); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534); +fatal_exit(1); +} +var376 = var_i < var363; +var370 = var376; +goto RET_LABEL371; +RET_LABEL371:(void)0; } } -if (var51){ -if (varonce56) { -var57 = varonce56; +var_377 = var370; +if (var370){ +var359 = var_377; } else { -var58 = "Error: Attempt to define attribute "; -var59 = 35; -var60 = standard___standard__NativeString___to_s_with_length(var58, var59); -var57 = var60; -varonce56 = var57; +var359 = var_accept_special_last_parameter; } -if (varonce61) { -var62 = varonce61; +if (var359){ +var_is_default = 1; } else { -var63 = " in the enum class "; -var64 = 19; -var65 = standard___standard__NativeString___to_s_with_length(var63, var64); -var62 = var65; -varonce61 = var62; } -if (varonce66) { -var67 = varonce66; } else { -var68 = "."; -var69 = 1; -var70 = standard___standard__NativeString___to_s_with_length(var68, var69); -var67 = var70; -varonce66 = var67; } -var71 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var71 = array_instance Array[Object] */ -var72 = 5; -var73 = NEW_standard__NativeArray(var72, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var73)->values[0] = (val*) var57; -((struct instance_standard__NativeArray*)var73)->values[1] = (val*) var_name; -((struct instance_standard__NativeArray*)var73)->values[2] = (val*) var62; -((struct instance_standard__NativeArray*)var73)->values[3] = (val*) var_mclass; -((struct instance_standard__NativeArray*)var73)->values[4] = (val*) var67; +var378 = NEW_nit__MParameter(&type_nit__MParameter); { -((void (*)(val* self, val* p0, long p1))(var71->class->vft[COLOR_standard__array__Array__with_native]))(var71, var73, var72) /* with_native on */; -} +var379 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_param_names, var_i); } { -var74 = ((val* (*)(val* self))(var71->class->vft[COLOR_standard__string__Object__to_s]))(var71) /* to_s on */; +var380 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_param_types, var_i); } { -nit___nit__ModelBuilder___error(var_modelbuilder, self, var74); /* Direct call modelbuilder_base#ModelBuilder#error on */ +{ /* Inline kernel#Int#== (var_i,var_vararg_rank) on */ +var383 = var_i == var_vararg_rank; +var381 = var383; +goto RET_LABEL382; +RET_LABEL382:(void)0; } -} else { -{ -{ /* Inline model#MClass#kind (var_mclass) on */ -var77 = var_mclass->attrs[COLOR_nit__model__MClass___kind].val; /* _kind on */ -if (unlikely(var77 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 399); -show_backtrace(1); } -var75 = var77; -RET_LABEL76:(void)0; +{ +((void(*)(val* self, val* p0))(var378->class->vft[COLOR_nit__model__MParameter__name_61d]))(var378, var379); /* name= on */ } +{ +((void(*)(val* self, val* p0))(var378->class->vft[COLOR_nit__model__MParameter__mtype_61d]))(var378, var380); /* mtype= on */ } { -var78 = nit__model___standard__Object___extern_kind(self); +((void(*)(val* self, short int p0))(var378->class->vft[COLOR_nit__model__MParameter__is_vararg_61d]))(var378, var381); /* is_vararg= on */ } { -{ /* Inline kernel#Object#== (var75,var78) on */ -var_other = var78; +((void(*)(val* self, short int p0))(var378->class->vft[COLOR_nit__model__MParameter__is_default_61d]))(var378, var_is_default); /* is_default= on */ +} { -{ /* Inline kernel#Object#is_same_instance (var75,var_other) on */ -var83 = var75 == var_other; -var81 = var83; -goto RET_LABEL82; -RET_LABEL82:(void)0; -} -} -var79 = var81; -goto RET_LABEL80; -RET_LABEL80:(void)0; -} +((void(*)(val* self))(var378->class->vft[COLOR_standard__kernel__Object__init]))(var378); /* init on */ } -if (var79){ -if (varonce84) { -var85 = varonce84; -} else { -var86 = "Error: Attempt to define attribute "; -var87 = 35; -var88 = standard___standard__NativeString___to_s_with_length(var86, var87); -var85 = var88; -varonce84 = var85; -} -if (varonce89) { -var90 = varonce89; -} else { -var91 = " in the extern class "; -var92 = 21; -var93 = standard___standard__NativeString___to_s_with_length(var91, var92); -var90 = var93; -varonce89 = var90; -} -if (varonce94) { -var95 = varonce94; +var_mparameter384 = var378; +if (var_nsig == NULL) { +var385 = 0; /* is null */ } else { -var96 = "."; -var97 = 1; -var98 = standard___standard__NativeString___to_s_with_length(var96, var97); -var95 = var98; -varonce94 = var95; +var385 = 1; /* arg is null and recv is not */ } -var99 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var99 = array_instance Array[Object] */ -var100 = 5; -var101 = NEW_standard__NativeArray(var100, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var101)->values[0] = (val*) var85; -((struct instance_standard__NativeArray*)var101)->values[1] = (val*) var_name; -((struct instance_standard__NativeArray*)var101)->values[2] = (val*) var90; -((struct instance_standard__NativeArray*)var101)->values[3] = (val*) var_mclass; -((struct instance_standard__NativeArray*)var101)->values[4] = (val*) var95; +if (0) { +{ /* Inline kernel#Object#!= (var_nsig,((val*)NULL)) on */ +var_other36 = ((val*)NULL); { -((void (*)(val* self, val* p0, long p1))(var99->class->vft[COLOR_standard__array__Array__with_native]))(var99, var101, var100) /* with_native on */; +var388 = ((short int(*)(val* self, val* p0))(var_nsig->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nsig, var_other36); /* == on */ } +var389 = !var388; +var386 = var389; +goto RET_LABEL387; +RET_LABEL387:(void)0; } -{ -var102 = ((val* (*)(val* self))(var99->class->vft[COLOR_standard__string__Object__to_s]))(var99) /* to_s on */; +var385 = var386; } +if (var385){ { -nit___nit__ModelBuilder___error(var_modelbuilder, self, var102); /* Direct call modelbuilder_base#ModelBuilder#error on */ -} -} else { +{ /* Inline parser_nodes#ASignature#n_params (var_nsig) on */ +var392 = var_nsig->attrs[COLOR_nit__parser_nodes__ASignature___n_params].val; /* _n_params on */ +if (unlikely(var392 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1693); +fatal_exit(1); } +var390 = var392; +RET_LABEL391:(void)0; } } { -{ /* Inline parser_nodes#AAttrPropdef#n_id2 (self) on */ -var105 = self->attrs[COLOR_nit__parser_nodes__AAttrPropdef___n_id2].val; /* _n_id2 on */ -if (unlikely(var105 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id2"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1138); -show_backtrace(1); +var393 = nit___nit__ANodes___standard__abstract_collection__SequenceRead___91d_93d(var390, var_i); } -var103 = var105; -RET_LABEL104:(void)0; +{ +{ /* Inline modelize_property#AParam#mparameter= (var393,var_mparameter384) on */ +var393->attrs[COLOR_nit__modelize_property__AParam___mparameter].val = var_mparameter384; /* _mparameter on */ +RET_LABEL394:(void)0; } } -var_nid2 = var103; -var106 = NEW_nit__MAttribute(&type_nit__MAttribute); -if (varonce107) { -var108 = varonce107; } else { -var109 = "_"; -var110 = 1; -var111 = standard___standard__NativeString___to_s_with_length(var109, var110); -var108 = var111; -varonce107 = var108; } { -var112 = ((val* (*)(val* self, val* p0))(var108->class->vft[COLOR_standard__string__String___43d]))(var108, var_name) /* + on */; +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_mparameters, var_mparameter384); /* Direct call array#Array#add on */ } { -var113 = nit__model_base___standard__Object___private_visibility(self); +var395 = standard___standard__Int___Discrete__successor(var_i, 1l); } -{ -((void (*)(val* self, val* p0))(var106->class->vft[COLOR_nit__model__MProperty__intro_mclassdef_61d]))(var106, var_mclassdef) /* intro_mclassdef= on */; +var_i = var395; +} else { +goto BREAK_label396; } -{ -((void (*)(val* self, val* p0))(var106->class->vft[COLOR_nit__model__MProperty__name_61d]))(var106, var112) /* name= on */; } -{ -((void (*)(val* self, val* p0))(var106->class->vft[COLOR_nit__model__MProperty__visibility_61d]))(var106, var113) /* visibility= on */; +BREAK_label396: (void)0; +if (var_ret_type == NULL) { +var398 = 1; /* is null */ +} else { +var398 = 0; /* arg is null but recv is not */ } +if (0) { +{ /* Inline kernel#Object#== (var_ret_type,((val*)NULL)) on */ +var_other = ((val*)NULL); { -((void (*)(val* self))(var106->class->vft[COLOR_standard__kernel__Object__init]))(var106) /* init on */; +{ /* Inline kernel#Object#is_same_instance (var_ret_type,var_other) on */ +var403 = var_ret_type == var_other; +var401 = var403; +goto RET_LABEL402; +RET_LABEL402:(void)0; } -var_mprop = var106; -var114 = NEW_nit__MAttributeDef(&type_nit__MAttributeDef); -{ -{ /* Inline parser_nodes#ANode#location (self) on */ -var117 = self->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on */ -if (unlikely(var117 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 23); -show_backtrace(1); } -var115 = var117; -RET_LABEL116:(void)0; +var399 = var401; +goto RET_LABEL400; +RET_LABEL400:(void)0; } +var398 = var399; } +var_404 = var398; +if (var398){ { -((void (*)(val* self, val* p0))(var114->class->vft[COLOR_nit__model__MPropDef__mclassdef_61d]))(var114, var_mclassdef) /* mclassdef= on */; +{ /* Inline model#MPropDef#mproperty (var_mpropdef) on */ +var407 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var407 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); } -{ -((void (*)(val* self, val* p0))(var114->class->vft[COLOR_nit__model__MPropDef__mproperty_61d]))(var114, var_mprop) /* mproperty= on */; +var405 = var407; +RET_LABEL406:(void)0; } -{ -((void (*)(val* self, val* p0))(var114->class->vft[COLOR_nit__model__MPropDef__location_61d]))(var114, var115) /* location= on */; } { -((void (*)(val* self))(var114->class->vft[COLOR_standard__kernel__Object__init]))(var114) /* init on */; -} -var_mpropdef = var114; -/* isa nullable MPROPDEF */ -type_struct = self->type->resolution_table->types[COLOR_nullable__nit__modelize_property__APropdef__MPROPDEF]; -cltype = type_struct->color; -idtype = type_struct->id; -if(cltype >= var_mpropdef->type->table_size) { -var118 = 0; -} else { -var118 = var_mpropdef->type->type_table[cltype] == idtype; +{ /* Inline model#MMethod#is_new (var405) on */ +var410 = var405->attrs[COLOR_nit__model__MMethod___is_new].s; /* _is_new on */ +var408 = var410; +RET_LABEL409:(void)0; } -if (unlikely(!var118)) { -var_class_name = var_mpropdef == NULL ? "null" : var_mpropdef->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 903); -show_backtrace(1); } -{ -{ /* Inline modelize_property#APropdef#mpropdef= (self,var_mpropdef) on */ -/* Covariant cast for argument 0 (mpropdef) isa nullable MPROPDEF */ -/* isa nullable MPROPDEF */ -type_struct123 = self->type->resolution_table->types[COLOR_nullable__nit__modelize_property__APropdef__MPROPDEF]; -cltype121 = type_struct123->color; -idtype122 = type_struct123->id; -if(cltype121 >= var_mpropdef->type->table_size) { -var120 = 0; +var397 = var408; } else { -var120 = var_mpropdef->type->type_table[cltype121] == idtype122; -} -if (unlikely(!var120)) { -var_class_name124 = var_mpropdef == NULL ? "null" : var_mpropdef->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name124); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 405); -show_backtrace(1); -} -self->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val = var_mpropdef; /* _mpropdef on */ -RET_LABEL119:(void)0; -} +var397 = var_404; } +if (var397){ { -{ /* Inline modelize_property#ModelBuilder#mpropdef2npropdef (var_modelbuilder) on */ -var127 = var_modelbuilder->attrs[COLOR_nit__modelize_property__ModelBuilder___mpropdef2npropdef].val; /* _mpropdef2npropdef on */ -if (unlikely(var127 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef2npropdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 40); -show_backtrace(1); -} -var125 = var127; -RET_LABEL126:(void)0; +{ /* Inline model#MClassDef#mclass (var_mclassdef) on */ +var413 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ +if (unlikely(var413 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 553); +fatal_exit(1); } +var411 = var413; +RET_LABEL412:(void)0; } -{ -standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var125, var_mpropdef, self); /* Direct call hash_collection#HashMap#[]= on */ } -var_readname = var_name; { -var128 = nit___nit__ModelBuilder___try_get_mproperty_by_name(var_modelbuilder, var_nid2, var_mclassdef, var_readname); -} -/* isa nullable MMethod */ -cltype130 = type_nullable__nit__MMethod.color; -idtype131 = type_nullable__nit__MMethod.id; -if(var128 == NULL) { -var129 = 1; -} else { -if(cltype130 >= var128->type->table_size) { -var129 = 0; -} else { -var129 = var128->type->type_table[cltype130] == idtype131; +{ /* Inline model#MClass#mclass_type (var411) on */ +var416 = var411->attrs[COLOR_nit__model__MClass___mclass_type].val; /* _mclass_type on */ +if (unlikely(var416 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 484); +fatal_exit(1); } +var414 = var416; +RET_LABEL415:(void)0; } -if (unlikely(!var129)) { -var_class_name132 = var128 == NULL ? "null" : var128->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MMethod", var_class_name132); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 907); -show_backtrace(1); } -var_mreadprop = var128; -var133 = NULL; -if (var_mreadprop == NULL) { -var134 = 1; /* is null */ +var_ret_type = var414; } else { -var134 = 0; /* arg is null but recv is not */ -} -if (0) { -{ /* Inline kernel#Object#== (var_mreadprop,var133) on */ -var_other = var133; -{ -{ /* Inline kernel#Object#is_same_instance (var_mreadprop,var_other) on */ -var139 = var_mreadprop == var_other; -var137 = var139; -goto RET_LABEL138; -RET_LABEL138:(void)0; -} -} -var135 = var137; -goto RET_LABEL136; -RET_LABEL136:(void)0; -} -var134 = var135; } -if (var134){ +var419 = !var_accept_special_last_parameter; +var_420 = var419; +if (var419){ { -{ /* Inline parser_nodes#ADefinition#n_visibility (self) on */ -var142 = self->attrs[COLOR_nit__parser_nodes__ADefinition___n_visibility].val; /* _n_visibility on */ -var140 = var142; -RET_LABEL141:(void)0; +var421 = standard___standard__Collection___not_empty(var_mparameters); } +var418 = var421; +} else { +var418 = var_420; } +var_422 = var418; +if (var418){ { -var143 = nit__modelize_property___APropdef___new_property_visibility(self, var_modelbuilder, var_mclassdef, var140); -} -var_mvisibility = var143; -var144 = NEW_nit__MMethod(&type_nit__MMethod); -{ -((void (*)(val* self, val* p0))(var144->class->vft[COLOR_nit__model__MProperty__intro_mclassdef_61d]))(var144, var_mclassdef) /* intro_mclassdef= on */; +var423 = standard___standard__SequenceRead___last(var_mparameters); } { -((void (*)(val* self, val* p0))(var144->class->vft[COLOR_nit__model__MProperty__name_61d]))(var144, var_readname) /* name= on */; +{ /* Inline model#MParameter#is_vararg (var423) on */ +var426 = var423->attrs[COLOR_nit__model__MParameter___is_vararg].s; /* _is_vararg on */ +var424 = var426; +RET_LABEL425:(void)0; } -{ -((void (*)(val* self, val* p0))(var144->class->vft[COLOR_nit__model__MProperty__visibility_61d]))(var144, var_mvisibility) /* visibility= on */; } -{ -((void (*)(val* self))(var144->class->vft[COLOR_standard__kernel__Object__init]))(var144) /* init on */; +var417 = var424; +} else { +var417 = var_422; } -var_mreadprop = var144; +if (var417){ { -{ /* Inline parser_nodes#ADefinition#n_kwredef (self) on */ -var147 = self->attrs[COLOR_nit__parser_nodes__ADefinition___n_kwredef].val; /* _n_kwredef on */ -var145 = var147; -RET_LABEL146:(void)0; -} +{ /* Inline parser_nodes#AMethPropdef#n_signature (self) on */ +var429 = self->attrs[COLOR_nit__parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on */ +var427 = var429; +RET_LABEL428:(void)0; } -var148 = 0; -{ -var149 = nit__modelize_property___APropdef___check_redef_keyword(self, var_modelbuilder, var_mclassdef, var145, var148, var_mreadprop); } -var150 = !var149; -if (var150){ -goto RET_LABEL; +if (var427 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 968); +fatal_exit(1); } else { +{ /* Inline parser_nodes#ASignature#n_params (var427) on */ +if (unlikely(var427 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1693); +fatal_exit(1); } -{ -{ /* Inline mdoc#MEntity#deprecation (var_mprop) on */ -var153 = var_mprop->attrs[COLOR_nit__mdoc__MEntity___deprecation].val; /* _deprecation on */ -var151 = var153; -RET_LABEL152:(void)0; +var432 = var427->attrs[COLOR_nit__parser_nodes__ASignature___n_params].val; /* _n_params on */ +if (unlikely(var432 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1693); +fatal_exit(1); } +var430 = var432; +RET_LABEL431:(void)0; } -{ -{ /* Inline mdoc#MEntity#deprecation= (var_mreadprop,var151) on */ -var_mreadprop->attrs[COLOR_nit__mdoc__MEntity___deprecation].val = var151; /* _deprecation on */ -RET_LABEL154:(void)0; } +{ +var433 = standard___standard__SequenceRead___last(var430); } +if (unlikely(varonce434==NULL)) { +var435 = NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String); +if (likely(varonce436!=NULL)) { +var437 = varonce436; } else { -{ -{ /* Inline parser_nodes#ADefinition#n_kwredef (self) on */ -var157 = self->attrs[COLOR_nit__parser_nodes__ADefinition___n_kwredef].val; /* _n_kwredef on */ -var155 = var157; -RET_LABEL156:(void)0; +var438 = "Error: illegal variadic parameter `"; +var439 = standard___standard__NativeString___to_s_with_length(var438, 35l); +var437 = var439; +varonce436 = var437; } +((struct instance_standard__NativeArray*)var435)->values[0]=var437; +if (likely(varonce440!=NULL)) { +var441 = varonce440; +} else { +var442 = "` for `"; +var443 = standard___standard__NativeString___to_s_with_length(var442, 7l); +var441 = var443; +varonce440 = var441; } -var158 = 1; -{ -var159 = nit__modelize_property___APropdef___check_redef_keyword(self, var_modelbuilder, var_mclassdef, var155, var158, var_mreadprop); +((struct instance_standard__NativeArray*)var435)->values[2]=var441; +if (likely(varonce444!=NULL)) { +var445 = varonce444; +} else { +var446 = "`."; +var447 = standard___standard__NativeString___to_s_with_length(var446, 2l); +var445 = var447; +varonce444 = var445; } -var160 = !var159; -if (var160){ -goto RET_LABEL; +((struct instance_standard__NativeArray*)var435)->values[4]=var445; } else { +var435 = varonce434; +varonce434 = NULL; } { -{ /* Inline parser_nodes#ADefinition#n_visibility (self) on */ -var163 = self->attrs[COLOR_nit__parser_nodes__ADefinition___n_visibility].val; /* _n_visibility on */ -var161 = var163; -RET_LABEL162:(void)0; -} +var448 = standard___standard__SequenceRead___last(var_mparameters); } { -nit__modelize_property___APropdef___check_redef_property_visibility(self, var_modelbuilder, var161, var_mreadprop); /* Direct call modelize_property#APropdef#check_redef_property_visibility on */ -} +var449 = ((val*(*)(val* self))(var448->class->vft[COLOR_standard__string__Object__to_s]))(var448); /* to_s on */ } +((struct instance_standard__NativeArray*)var435)->values[1]=var449; { -{ /* Inline modelize_property#MClassDef#mprop2npropdef (var_mclassdef) on */ -var166 = var_mclassdef->attrs[COLOR_nit__modelize_property__MClassDef___mprop2npropdef].val; /* _mprop2npropdef on */ -if (unlikely(var166 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mprop2npropdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 352); -show_backtrace(1); -} -var164 = var166; -RET_LABEL165:(void)0; +{ /* Inline model#MPropDef#mproperty (var_mpropdef) on */ +var452 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var452 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); } +var450 = var452; +RET_LABEL451:(void)0; } -{ -((void (*)(val* self, val* p0, val* p1))(var164->class->vft[COLOR_standard__abstract_collection__Map___91d_93d_61d]))(var164, var_mreadprop, self) /* []= on */; } -var167 = NEW_nit__MMethodDef(&type_nit__MMethodDef); { -{ /* Inline parser_nodes#ANode#location (self) on */ -var170 = self->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on */ -if (unlikely(var170 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 23); -show_backtrace(1); +{ /* Inline model#MProperty#name (var450) on */ +var455 = var450->attrs[COLOR_nit__model__MProperty___name].val; /* _name on */ +if (unlikely(var455 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1933); +fatal_exit(1); } -var168 = var170; -RET_LABEL169:(void)0; +var453 = var455; +RET_LABEL454:(void)0; } } +((struct instance_standard__NativeArray*)var435)->values[3]=var453; { -((void (*)(val* self, val* p0))(var167->class->vft[COLOR_nit__model__MPropDef__mclassdef_61d]))(var167, var_mclassdef) /* mclassdef= on */; +var456 = ((val*(*)(val* self))(var435->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var435); /* native_to_s on */ } +varonce434 = var435; { -((void (*)(val* self, val* p0))(var167->class->vft[COLOR_nit__model__MPropDef__mproperty_61d]))(var167, var_mreadprop) /* mproperty= on */; +nit___nit__ModelBuilder___error(var_modelbuilder, var433, var456); /* Direct call modelbuilder_base#ModelBuilder#error on */ } -{ -((void (*)(val* self, val* p0))(var167->class->vft[COLOR_nit__model__MPropDef__location_61d]))(var167, var168) /* location= on */; +} else { } -{ -((void (*)(val* self))(var167->class->vft[COLOR_standard__kernel__Object__init]))(var167) /* init on */; +if (var_ret_type == NULL) { +var458 = 1; /* is null */ +} else { +var458 = 0; /* arg is null but recv is not */ } -var_mreadpropdef = var167; +if (0) { +{ /* Inline kernel#Object#== (var_ret_type,((val*)NULL)) on */ +var_other = ((val*)NULL); { -{ /* Inline modelize_property#AAttrPropdef#mreadpropdef= (self,var_mreadpropdef) on */ -self->attrs[COLOR_nit__modelize_property__AAttrPropdef___mreadpropdef].val = var_mreadpropdef; /* _mreadpropdef on */ -RET_LABEL171:(void)0; -} +{ /* Inline kernel#Object#is_same_instance (var_ret_type,var_other) on */ +var463 = var_ret_type == var_other; +var461 = var463; +goto RET_LABEL462; +RET_LABEL462:(void)0; } -{ -{ /* Inline modelize_property#ModelBuilder#mpropdef2npropdef (var_modelbuilder) on */ -var174 = var_modelbuilder->attrs[COLOR_nit__modelize_property__ModelBuilder___mpropdef2npropdef].val; /* _mpropdef2npropdef on */ -if (unlikely(var174 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef2npropdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 40); -show_backtrace(1); } -var172 = var174; -RET_LABEL173:(void)0; +var459 = var461; +goto RET_LABEL460; +RET_LABEL460:(void)0; } +var458 = var459; } -{ -standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var172, var_mreadpropdef, self); /* Direct call hash_collection#HashMap#[]= on */ +var_464 = var458; +if (var458){ +var457 = var_return_is_mandatory; +} else { +var457 = var_464; } +if (var457){ { -nit__modelize_property___APropdef___set_doc(self, var_mreadpropdef, var_modelbuilder); /* Direct call modelize_property#APropdef#set_doc on */ +{ /* Inline parser_nodes#AMethPropdef#n_methid (self) on */ +var467 = self->attrs[COLOR_nit__parser_nodes__AMethPropdef___n_methid].val; /* _n_methid on */ +var465 = var467; +RET_LABEL466:(void)0; } -{ -{ /* Inline mdoc#MEntity#mdoc (var_mreadpropdef) on */ -var177 = var_mreadpropdef->attrs[COLOR_nit__mdoc__MEntity___mdoc].val; /* _mdoc on */ -var175 = var177; -RET_LABEL176:(void)0; } +if (unlikely(varonce468==NULL)) { +var469 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce470!=NULL)) { +var471 = varonce470; +} else { +var472 = "Error: mandatory return type for `"; +var473 = standard___standard__NativeString___to_s_with_length(var472, 34l); +var471 = var473; +varonce470 = var471; } -{ -{ /* Inline mdoc#MEntity#mdoc= (var_mpropdef,var175) on */ -var_mpropdef->attrs[COLOR_nit__mdoc__MEntity___mdoc].val = var175; /* _mdoc on */ -RET_LABEL178:(void)0; +((struct instance_standard__NativeArray*)var469)->values[0]=var471; +if (likely(varonce474!=NULL)) { +var475 = varonce474; +} else { +var476 = "`."; +var477 = standard___standard__NativeString___to_s_with_length(var476, 2l); +var475 = var477; +varonce474 = var475; } +((struct instance_standard__NativeArray*)var469)->values[2]=var475; +} else { +var469 = varonce468; +varonce468 = NULL; } { -{ /* Inline parser_nodes#AAttrPropdef#n_expr (self) on */ -var182 = self->attrs[COLOR_nit__parser_nodes__AAttrPropdef___n_expr].val; /* _n_expr on */ -var180 = var182; -RET_LABEL181:(void)0; +{ /* Inline model#MPropDef#mproperty (var_mpropdef) on */ +var480 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var480 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); } +var478 = var480; +RET_LABEL479:(void)0; } -var183 = NULL; -if (var180 == NULL) { -var184 = 0; /* is null */ -} else { -var184 = 1; /* arg is null and recv is not */ } -if (0) { -{ /* Inline kernel#Object#!= (var180,var183) on */ -var_other187 = var183; { -var188 = ((short int (*)(val* self, val* p0))(var180->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var180, var_other187) /* == on */; +{ /* Inline model#MProperty#name (var478) on */ +var483 = var478->attrs[COLOR_nit__model__MProperty___name].val; /* _name on */ +if (unlikely(var483 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1933); +fatal_exit(1); } -var189 = !var188; -var185 = var189; -goto RET_LABEL186; -RET_LABEL186:(void)0; +var481 = var483; +RET_LABEL482:(void)0; } -var184 = var185; } -var_190 = var184; -if (var184){ -var179 = var_190; -} else { +((struct instance_standard__NativeArray*)var469)->values[1]=var481; { -{ /* Inline parser_nodes#AAttrPropdef#n_block (self) on */ -var193 = self->attrs[COLOR_nit__parser_nodes__AAttrPropdef___n_block].val; /* _n_block on */ -var191 = var193; -RET_LABEL192:(void)0; +var484 = ((val*(*)(val* self))(var469->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var469); /* native_to_s on */ } +varonce468 = var469; +{ +nit___nit__ModelBuilder___error(var_modelbuilder, var465, var484); /* Direct call modelbuilder_base#ModelBuilder#error on */ } -var194 = NULL; -if (var191 == NULL) { -var195 = 0; /* is null */ } else { -var195 = 1; /* arg is null and recv is not */ } -if (0) { -{ /* Inline kernel#Object#!= (var191,var194) on */ -var_other187 = var194; +var485 = NEW_nit__MSignature(&type_nit__MSignature); { -var198 = ((short int (*)(val* self, val* p0))(var191->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var191, var_other187) /* == on */; -} -var199 = !var198; -var196 = var199; -goto RET_LABEL197; -RET_LABEL197:(void)0; +((void(*)(val* self, val* p0))(var485->class->vft[COLOR_nit__model__MSignature__mparameters_61d]))(var485, var_mparameters); /* mparameters= on */ } -var195 = var196; +{ +((void(*)(val* self, val* p0))(var485->class->vft[COLOR_nit__model__MSignature__return_mtype_61d]))(var485, var_ret_type); /* return_mtype= on */ } -var179 = var195; +{ +((void(*)(val* self))(var485->class->vft[COLOR_standard__kernel__Object__init]))(var485); /* init on */ } +var_msignature = var485; { -{ /* Inline modelize_property#AAttrPropdef#has_value= (self,var179) on */ -self->attrs[COLOR_nit__modelize_property__AAttrPropdef___has_value].s = var179; /* _has_value on */ -RET_LABEL200:(void)0; +{ /* Inline model#MMethodDef#msignature= (var_mpropdef,var_msignature) on */ +var_mpropdef->attrs[COLOR_nit__model__MMethodDef___msignature].val = var_msignature; /* _msignature on */ +RET_LABEL486:(void)0; } } -if (varonce201) { -var202 = varonce201; +if (likely(varonce487!=NULL)) { +var488 = varonce487; } else { -var203 = "noinit"; -var204 = 6; -var205 = standard___standard__NativeString___to_s_with_length(var203, var204); -var202 = var205; -varonce201 = var202; +var489 = "abstract"; +var490 = standard___standard__NativeString___to_s_with_length(var489, 8l); +var488 = var490; +varonce487 = var488; } { -var206 = nit__annotation___Prod___get_single_annotation(self, var202, var_modelbuilder); +var491 = nit__annotation___Prod___get_single_annotation(self, var488, var_modelbuilder); } -var_atnoinit = var206; -var207 = NULL; -if (var_atnoinit == NULL) { -var208 = 0; /* is null */ +if (var491 == NULL) { +var492 = 0; /* is null */ } else { -var208 = 1; /* arg is null and recv is not */ +var492 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_atnoinit,var207) on */ -var_other187 = var207; +{ /* Inline kernel#Object#!= (var491,((val*)NULL)) on */ +var_other36 = ((val*)NULL); { -var211 = ((short int (*)(val* self, val* p0))(var_atnoinit->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_atnoinit, var_other187) /* == on */; -} -var212 = !var211; -var209 = var212; -goto RET_LABEL210; -RET_LABEL210:(void)0; +var495 = ((short int(*)(val* self, val* p0))(var491->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var491, var_other36); /* == on */ } -var208 = var209; -} -if (var208){ -var213 = 1; -{ -{ /* Inline modelize_property#AAttrPropdef#noinit= (self,var213) on */ -self->attrs[COLOR_nit__modelize_property__AAttrPropdef___noinit].s = var213; /* _noinit on */ -RET_LABEL214:(void)0; +var496 = !var495; +var493 = var496; +goto RET_LABEL494; +RET_LABEL494:(void)0; } +var492 = var493; } { -{ /* Inline modelize_property#AAttrPropdef#has_value (self) on */ -var217 = self->attrs[COLOR_nit__modelize_property__AAttrPropdef___has_value].s; /* _has_value on */ -var215 = var217; -RET_LABEL216:(void)0; +{ /* Inline model#MMethodDef#is_abstract= (var_mpropdef,var492) on */ +var_mpropdef->attrs[COLOR_nit__model__MMethodDef___is_abstract].s = var492; /* _is_abstract on */ +RET_LABEL497:(void)0; } } -if (var215){ -if (varonce218) { -var219 = varonce218; +if (likely(varonce498!=NULL)) { +var499 = varonce498; } else { -var220 = "Error: `noinit` attributes cannot have an initial value"; -var221 = 55; -var222 = standard___standard__NativeString___to_s_with_length(var220, var221); -var219 = var222; -varonce218 = var219; +var500 = "intern"; +var501 = standard___standard__NativeString___to_s_with_length(var500, 6l); +var499 = var501; +varonce498 = var499; } { -nit___nit__ModelBuilder___error(var_modelbuilder, var_atnoinit, var219); /* Direct call modelbuilder_base#ModelBuilder#error on */ +var502 = nit__annotation___Prod___get_single_annotation(self, var499, var_modelbuilder); } -goto RET_LABEL; +if (var502 == NULL) { +var503 = 0; /* is null */ } else { +var503 = 1; /* arg is null and recv is not */ } -} else { +if (0) { +{ /* Inline kernel#Object#!= (var502,((val*)NULL)) on */ +var_other36 = ((val*)NULL); +{ +var506 = ((short int(*)(val* self, val* p0))(var502->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var502, var_other36); /* == on */ } -if (varonce223) { -var224 = varonce223; -} else { -var225 = "lazy"; -var226 = 4; -var227 = standard___standard__NativeString___to_s_with_length(var225, var226); -var224 = var227; -varonce223 = var224; +var507 = !var506; +var504 = var507; +goto RET_LABEL505; +RET_LABEL505:(void)0; +} +var503 = var504; } { -var228 = nit__annotation___Prod___get_single_annotation(self, var224, var_modelbuilder); +{ /* Inline model#MMethodDef#is_intern= (var_mpropdef,var503) on */ +var_mpropdef->attrs[COLOR_nit__model__MMethodDef___is_intern].s = var503; /* _is_intern on */ +RET_LABEL508:(void)0; } -var_atlazy = var228; -if (varonce229) { -var230 = varonce229; -} else { -var231 = "autoinit"; -var232 = 8; -var233 = standard___standard__NativeString___to_s_with_length(var231, var232); -var230 = var233; -varonce229 = var230; } { -var234 = nit__annotation___Prod___get_single_annotation(self, var230, var_modelbuilder); +{ /* Inline parser_nodes#AMethPropdef#n_extern_code_block (self) on */ +var512 = self->attrs[COLOR_nit__parser_nodes__AMethPropdef___n_extern_code_block].val; /* _n_extern_code_block on */ +var510 = var512; +RET_LABEL511:(void)0; } -var_atautoinit = var234; -var236 = NULL; -if (var_atlazy == NULL) { -var237 = 0; /* is null */ +} +if (var510 == NULL) { +var513 = 0; /* is null */ } else { -var237 = 1; /* arg is null and recv is not */ +var513 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_atlazy,var236) on */ -var_other187 = var236; +{ /* Inline kernel#Object#!= (var510,((val*)NULL)) on */ +var_other36 = ((val*)NULL); { -var240 = ((short int (*)(val* self, val* p0))(var_atlazy->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_atlazy, var_other187) /* == on */; +var516 = ((short int(*)(val* self, val* p0))(var510->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var510, var_other36); /* == on */ } -var241 = !var240; -var238 = var241; -goto RET_LABEL239; -RET_LABEL239:(void)0; +var517 = !var516; +var514 = var517; +goto RET_LABEL515; +RET_LABEL515:(void)0; } -var237 = var238; +var513 = var514; } -var_242 = var237; -if (var237){ -var235 = var_242; +var_518 = var513; +if (var513){ +var509 = var_518; } else { -var243 = NULL; -if (var_atautoinit == NULL) { -var244 = 0; /* is null */ +if (likely(varonce519!=NULL)) { +var520 = varonce519; } else { -var244 = 1; /* arg is null and recv is not */ +var521 = "extern"; +var522 = standard___standard__NativeString___to_s_with_length(var521, 6l); +var520 = var522; +varonce519 = var520; } -if (0) { -{ /* Inline kernel#Object#!= (var_atautoinit,var243) on */ -var_other187 = var243; { -var247 = ((short int (*)(val* self, val* p0))(var_atautoinit->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_atautoinit, var_other187) /* == on */; -} -var248 = !var247; -var245 = var248; -goto RET_LABEL246; -RET_LABEL246:(void)0; -} -var244 = var245; +var523 = nit__annotation___Prod___get_single_annotation(self, var520, var_modelbuilder); } -var235 = var244; -} -if (var235){ -var250 = NULL; -if (var_atlazy == NULL) { -var251 = 0; /* is null */ +if (var523 == NULL) { +var524 = 0; /* is null */ } else { -var251 = 1; /* arg is null and recv is not */ +var524 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_atlazy,var250) on */ -var_other187 = var250; +{ /* Inline kernel#Object#!= (var523,((val*)NULL)) on */ +var_other36 = ((val*)NULL); { -var254 = ((short int (*)(val* self, val* p0))(var_atlazy->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_atlazy, var_other187) /* == on */; +var527 = ((short int(*)(val* self, val* p0))(var523->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var523, var_other36); /* == on */ } -var255 = !var254; -var252 = var255; -goto RET_LABEL253; -RET_LABEL253:(void)0; +var528 = !var527; +var525 = var528; +goto RET_LABEL526; +RET_LABEL526:(void)0; } -var251 = var252; +var524 = var525; } -var_256 = var251; -if (var251){ -var257 = NULL; -if (var_atautoinit == NULL) { -var258 = 0; /* is null */ -} else { -var258 = 1; /* arg is null and recv is not */ +var509 = var524; } -if (0) { -{ /* Inline kernel#Object#!= (var_atautoinit,var257) on */ -var_other187 = var257; { -var261 = ((short int (*)(val* self, val* p0))(var_atautoinit->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_atautoinit, var_other187) /* == on */; -} -var262 = !var261; -var259 = var262; -goto RET_LABEL260; -RET_LABEL260:(void)0; -} -var258 = var259; +{ /* Inline model#MMethodDef#is_extern= (var_mpropdef,var509) on */ +var_mpropdef->attrs[COLOR_nit__model__MMethodDef___is_extern].s = var509; /* _is_extern on */ +RET_LABEL529:(void)0; } -var249 = var258; -} else { -var249 = var_256; } -if (var249){ -if (varonce263) { -var264 = varonce263; +if (likely(varonce530!=NULL)) { +var531 = varonce530; } else { -var265 = "Error: lazy incompatible with autoinit"; -var266 = 38; -var267 = standard___standard__NativeString___to_s_with_length(var265, var266); -var264 = var267; -varonce263 = var264; +var532 = "lazy"; +var533 = standard___standard__NativeString___to_s_with_length(var532, 4l); +var531 = var533; +varonce530 = var531; } { -nit___nit__ModelBuilder___error(var_modelbuilder, var_atlazy, var264); /* Direct call modelbuilder_base#ModelBuilder#error on */ +var534 = nit__annotation___Prod___get_single_annotation(self, var531, var_modelbuilder); } -goto RET_LABEL; +var_at = var534; +if (var_at == NULL) { +var535 = 0; /* is null */ } else { +var535 = 1; /* arg is null and recv is not */ } +if (0) { +{ /* Inline kernel#Object#!= (var_at,((val*)NULL)) on */ +var_other36 = ((val*)NULL); { -{ /* Inline modelize_property#AAttrPropdef#has_value (self) on */ -var270 = self->attrs[COLOR_nit__modelize_property__AAttrPropdef___has_value].s; /* _has_value on */ -var268 = var270; -RET_LABEL269:(void)0; +var538 = ((short int(*)(val* self, val* p0))(var_at->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_at, var_other36); /* == on */ } +var539 = !var538; +var536 = var539; +goto RET_LABEL537; +RET_LABEL537:(void)0; } -var271 = !var268; -if (var271){ -var272 = NULL; -if (var_atlazy == NULL) { -var273 = 0; /* is null */ +var535 = var536; +} +if (var535){ +if (likely(varonce540!=NULL)) { +var541 = varonce540; } else { -var273 = 1; /* arg is null and recv is not */ +var542 = "Syntax Error: `lazy` must be used on attributes."; +var543 = standard___standard__NativeString___to_s_with_length(var542, 48l); +var541 = var543; +varonce540 = var541; } -if (0) { -{ /* Inline kernel#Object#!= (var_atlazy,var272) on */ -var_other187 = var272; { -var276 = ((short int (*)(val* self, val* p0))(var_atlazy->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_atlazy, var_other187) /* == on */; -} -var277 = !var276; -var274 = var277; -goto RET_LABEL275; -RET_LABEL275:(void)0; +nit___nit__ModelBuilder___error(var_modelbuilder, var_at, var541); /* Direct call modelbuilder_base#ModelBuilder#error on */ } -var273 = var274; +} else { } -if (var273){ -if (varonce278) { -var279 = varonce278; +if (likely(varonce544!=NULL)) { +var545 = varonce544; } else { -var280 = "Error: a lazy attribute needs a value"; -var281 = 37; -var282 = standard___standard__NativeString___to_s_with_length(var280, var281); -var279 = var282; -varonce278 = var279; +var546 = "autoinit"; +var547 = standard___standard__NativeString___to_s_with_length(var546, 8l); +var545 = var547; +varonce544 = var545; } { -nit___nit__ModelBuilder___error(var_modelbuilder, var_atlazy, var279); /* Direct call modelbuilder_base#ModelBuilder#error on */ +var548 = nit__annotation___Prod___get_single_annotation(self, var545, var_modelbuilder); } -} else { -var283 = NULL; +var_atautoinit = var548; if (var_atautoinit == NULL) { -var284 = 0; /* is null */ +var549 = 0; /* is null */ } else { -var284 = 1; /* arg is null and recv is not */ +var549 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_atautoinit,var283) on */ -var_other187 = var283; +{ /* Inline kernel#Object#!= (var_atautoinit,((val*)NULL)) on */ +var_other36 = ((val*)NULL); { -var287 = ((short int (*)(val* self, val* p0))(var_atautoinit->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_atautoinit, var_other187) /* == on */; -} -var288 = !var287; -var285 = var288; -goto RET_LABEL286; -RET_LABEL286:(void)0; +var552 = ((short int(*)(val* self, val* p0))(var_atautoinit->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_atautoinit, var_other36); /* == on */ } -var284 = var285; +var553 = !var552; +var550 = var553; +goto RET_LABEL551; +RET_LABEL551:(void)0; } -if (var284){ -if (varonce289) { -var290 = varonce289; -} else { -var291 = "Error: a autoinit attribute needs a value"; -var292 = 41; -var293 = standard___standard__NativeString___to_s_with_length(var291, var292); -var290 = var293; -varonce289 = var290; +var549 = var550; } +if (var549){ { -nit___nit__ModelBuilder___error(var_modelbuilder, var_atautoinit, var290); /* Direct call modelbuilder_base#ModelBuilder#error on */ +var554 = nit___nit__MPropDef___is_intro(var_mpropdef); } +var555 = !var554; +if (var555){ +if (likely(varonce556!=NULL)) { +var557 = varonce556; } else { +var558 = "Error: `autoinit` cannot be set on redefinitions."; +var559 = standard___standard__NativeString___to_s_with_length(var558, 49l); +var557 = var559; +varonce556 = var557; } +{ +nit___nit__ModelBuilder___error(var_modelbuilder, var_atautoinit, var557); /* Direct call modelbuilder_base#ModelBuilder#error on */ } -goto RET_LABEL; } else { -} -var294 = 1; { -{ /* Inline modelize_property#AAttrPropdef#is_lazy= (self,var294) on */ -self->attrs[COLOR_nit__modelize_property__AAttrPropdef___is_lazy].s = var294; /* _is_lazy on */ -RET_LABEL295:(void)0; +var560 = nit___nit__MClassDef___is_intro(var_mclassdef); } -} -var296 = NEW_nit__MAttribute(&type_nit__MAttribute); -if (varonce297) { -var298 = varonce297; +var561 = !var560; +if (var561){ +if (likely(varonce562!=NULL)) { +var563 = varonce562; } else { -var299 = "lazy _"; -var300 = 6; -var301 = standard___standard__NativeString___to_s_with_length(var299, var300); -var298 = var301; -varonce297 = var298; +var564 = "Error: `autoinit` cannot be used in class refinements."; +var565 = standard___standard__NativeString___to_s_with_length(var564, 54l); +var563 = var565; +varonce562 = var563; } { -var302 = ((val* (*)(val* self, val* p0))(var298->class->vft[COLOR_standard__string__String___43d]))(var298, var_name) /* + on */; +nit___nit__ModelBuilder___error(var_modelbuilder, var_atautoinit, var563); /* Direct call modelbuilder_base#ModelBuilder#error on */ } +} else { { -var303 = nit__model_base___standard__Object___none_visibility(self); +{ /* Inline modelize_property#AMethPropdef#is_autoinit= (self,1) on */ +self->attrs[COLOR_nit__modelize_property__AMethPropdef___is_autoinit].s = 1; /* _is_autoinit on */ +RET_LABEL566:(void)0; } -{ -((void (*)(val* self, val* p0))(var296->class->vft[COLOR_nit__model__MProperty__intro_mclassdef_61d]))(var296, var_mclassdef) /* intro_mclassdef= on */; } -{ -((void (*)(val* self, val* p0))(var296->class->vft[COLOR_nit__model__MProperty__name_61d]))(var296, var302) /* name= on */; } -{ -((void (*)(val* self, val* p0))(var296->class->vft[COLOR_nit__model__MProperty__visibility_61d]))(var296, var303) /* visibility= on */; } -{ -((void (*)(val* self))(var296->class->vft[COLOR_standard__kernel__Object__init]))(var296) /* init on */; -} -var_mlazyprop = var296; -var304 = NEW_nit__MAttributeDef(&type_nit__MAttributeDef); -{ -{ /* Inline parser_nodes#ANode#location (self) on */ -var307 = self->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on */ -if (unlikely(var307 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 23); -show_backtrace(1); -} -var305 = var307; -RET_LABEL306:(void)0; +} else { } +RET_LABEL:; } +/* method modelize_property#AMethPropdef#check_signature for (self: AMethPropdef, ModelBuilder) */ +void nit__modelize_property___AMethPropdef___APropdef__check_signature(val* self, val* p0) { +val* var_modelbuilder /* var modelbuilder: ModelBuilder */; +val* var /* : nullable MPropDef */; +val* var2 /* : nullable MPropDef */; +val* var_mpropdef /* var mpropdef: nullable MMethodDef */; +short int var3 /* : Bool */; +short int var4 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var6 /* : Bool */; +short int var8 /* : Bool */; +val* var9 /* : MClassDef */; +val* var11 /* : MClassDef */; +val* var_mclassdef /* var mclassdef: MClassDef */; +val* var12 /* : MModule */; +val* var14 /* : MModule */; +val* var_mmodule /* var mmodule: MModule */; +val* var15 /* : nullable ASignature */; +val* var17 /* : nullable ASignature */; +val* var_nsig /* var nsig: nullable ASignature */; +val* var18 /* : nullable MPropDef */; +val* var20 /* : nullable MPropDef */; +val* var21 /* : nullable MSignature */; +val* var23 /* : nullable MSignature */; +val* var_mysignature /* var mysignature: nullable MSignature */; +short int var24 /* : Bool */; +short int var25 /* : Bool */; +short int var27 /* : Bool */; +short int var29 /* : Bool */; +short int var30 /* : Bool */; +short int var31 /* : Bool */; +val* var_other33 /* var other: nullable Object */; +short int var34 /* : Bool */; +short int var35 /* : Bool */; +short int var36 /* : Bool */; +short int var37 /* : Bool */; +val* var38 /* : nullable MPropDef */; +val* var40 /* : nullable MPropDef */; +short int var42 /* : Bool */; +short int var43 /* : Bool */; +val* var44 /* : MProperty */; +val* var46 /* : MProperty */; +val* var47 /* : MPropDef */; +val* var49 /* : MPropDef */; +val* var50 /* : nullable MSignature */; +val* var52 /* : nullable MSignature */; +val* var_msignature /* var msignature: nullable MSignature */; +short int var53 /* : Bool */; +short int var54 /* : Bool */; +short int var56 /* : Bool */; +short int var58 /* : Bool */; +val* var59 /* : nullable MType */; +val* var61 /* : nullable MType */; +val* var_precursor_ret_type /* var precursor_ret_type: nullable MType */; +val* var62 /* : nullable MType */; +val* var64 /* : nullable MType */; +val* var_ret_type /* var ret_type: nullable MType */; +short int var65 /* : Bool */; +short int var66 /* : Bool */; +short int var67 /* : Bool */; +short int var69 /* : Bool */; +short int var70 /* : Bool */; +short int var_ /* var : Bool */; +short int var71 /* : Bool */; +short int var72 /* : Bool */; +short int var74 /* : Bool */; +short int var76 /* : Bool */; +val* var77 /* : nullable AType */; +val* var79 /* : nullable AType */; +val* var80 /* : NativeArray[String] */; +static val* varonce; +static val* varonce81; +val* var82 /* : String */; +char* var83 /* : NativeString */; +val* var84 /* : FlatString */; +static val* varonce85; +val* var86 /* : String */; +char* var87 /* : NativeString */; +val* var88 /* : FlatString */; +val* var89 /* : MProperty */; +val* var91 /* : MProperty */; +val* var92 /* : String */; +val* var93 /* : String */; +val* var94 /* : nullable MPropDef */; +val* var96 /* : nullable MPropDef */; +long var98 /* : Int */; +short int var99 /* : Bool */; +short int var101 /* : Bool */; +int cltype; +int idtype; +const char* var_class_name; +short int var102 /* : Bool */; +long var_i /* var i: Int */; +long var103 /* : Int */; +long var_104 /* var : Int */; +short int var105 /* : Bool */; +short int var107 /* : Bool */; +int cltype108; +int idtype109; +const char* var_class_name110; +short int var111 /* : Bool */; +val* var112 /* : Array[MParameter] */; +val* var114 /* : Array[MParameter] */; +val* var115 /* : nullable Object */; +val* var116 /* : MType */; +val* var118 /* : MType */; +val* var_myt /* var myt: MType */; +val* var119 /* : Array[MParameter] */; +val* var121 /* : Array[MParameter] */; +val* var122 /* : nullable Object */; +val* var123 /* : MType */; +val* var125 /* : MType */; +val* var_prt /* var prt: MType */; +val* var126 /* : ANodes[AParam] */; +val* var128 /* : ANodes[AParam] */; +val* var129 /* : ANode */; +val* var_node /* var node: AParam */; +val* var130 /* : MClassType */; +val* var132 /* : MClassType */; +short int var133 /* : Bool */; +short int var134 /* : Bool */; +val* var136 /* : NativeArray[String] */; +static val* varonce135; +static val* varonce137; +val* var138 /* : String */; +char* var139 /* : NativeString */; +val* var140 /* : FlatString */; +static val* varonce141; +val* var142 /* : String */; +char* var143 /* : NativeString */; +val* var144 /* : FlatString */; +static val* varonce145; +val* var146 /* : String */; +char* var147 /* : NativeString */; +val* var148 /* : FlatString */; +static val* varonce149; +val* var150 /* : String */; +char* var151 /* : NativeString */; +val* var152 /* : FlatString */; +val* var153 /* : String */; +val* var154 /* : Array[MParameter] */; +val* var156 /* : Array[MParameter] */; +val* var157 /* : nullable Object */; +val* var158 /* : String */; +val* var160 /* : String */; +val* var161 /* : String */; +val* var162 /* : String */; +val* var163 /* : nullable MPropDef */; +val* var165 /* : nullable MPropDef */; +long var167 /* : Int */; +short int var168 /* : Bool */; +short int var169 /* : Bool */; +short int var171 /* : Bool */; +short int var172 /* : Bool */; +val* var_node173 /* var node: nullable ANode */; +short int var174 /* : Bool */; +short int var175 /* : Bool */; +short int var177 /* : Bool */; +short int var178 /* : Bool */; +val* var179 /* : nullable AType */; +val* var181 /* : nullable AType */; +short int var182 /* : Bool */; +short int var183 /* : Bool */; +short int var185 /* : Bool */; +short int var187 /* : Bool */; +short int var188 /* : Bool */; +short int var189 /* : Bool */; +short int var191 /* : Bool */; +short int var193 /* : Bool */; +val* var194 /* : MClassType */; +val* var196 /* : MClassType */; +short int var197 /* : Bool */; +short int var198 /* : Bool */; +val* var200 /* : NativeArray[String] */; +static val* varonce199; +static val* varonce201; +val* var202 /* : String */; +char* var203 /* : NativeString */; +val* var204 /* : FlatString */; +static val* varonce205; +val* var206 /* : String */; +char* var207 /* : NativeString */; +val* var208 /* : FlatString */; +static val* varonce209; +val* var210 /* : String */; +char* var211 /* : NativeString */; +val* var212 /* : FlatString */; +val* var213 /* : String */; +val* var214 /* : String */; +val* var215 /* : String */; +val* var216 /* : nullable MPropDef */; +val* var218 /* : nullable MPropDef */; +long var220 /* : Int */; +short int var221 /* : Bool */; +short int var223 /* : Bool */; +int cltype224; +int idtype225; +const char* var_class_name226; +short int var227 /* : Bool */; +long var_i228 /* var i: Int */; +long var229 /* : Int */; +long var_230 /* var : Int */; +short int var231 /* : Bool */; +short int var233 /* : Bool */; +int cltype234; +int idtype235; +const char* var_class_name236; +short int var237 /* : Bool */; +val* var238 /* : ANodes[AParam] */; +val* var240 /* : ANodes[AParam] */; +val* var241 /* : ANode */; +val* var242 /* : nullable AType */; +val* var244 /* : nullable AType */; +val* var_nt /* var nt: nullable AType */; +short int var245 /* : Bool */; +short int var246 /* : Bool */; +short int var248 /* : Bool */; +short int var249 /* : Bool */; +val* var250 /* : nullable MType */; +val* var252 /* : nullable MType */; +long var253 /* : Int */; +val* var255 /* : nullable AType */; +val* var257 /* : nullable AType */; +val* var_nt258 /* var nt: nullable AType */; +short int var259 /* : Bool */; +short int var260 /* : Bool */; +short int var262 /* : Bool */; +short int var263 /* : Bool */; +val* var264 /* : nullable MType */; +val* var266 /* : nullable MType */; +var_modelbuilder = p0; { -((void (*)(val* self, val* p0))(var304->class->vft[COLOR_nit__model__MPropDef__mclassdef_61d]))(var304, var_mclassdef) /* mclassdef= on */; +{ /* Inline modelize_property#APropdef#mpropdef (self) on */ +var2 = self->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ +var = var2; +RET_LABEL1:(void)0; } -{ -((void (*)(val* self, val* p0))(var304->class->vft[COLOR_nit__model__MPropDef__mproperty_61d]))(var304, var_mlazyprop) /* mproperty= on */; } -{ -((void (*)(val* self, val* p0))(var304->class->vft[COLOR_nit__model__MPropDef__location_61d]))(var304, var305) /* location= on */; +var_mpropdef = var; +if (var_mpropdef == NULL) { +var3 = 1; /* is null */ +} else { +var3 = 0; /* arg is null but recv is not */ } +if (0) { +{ /* Inline kernel#Object#== (var_mpropdef,((val*)NULL)) on */ +var_other = ((val*)NULL); { -((void (*)(val* self))(var304->class->vft[COLOR_standard__kernel__Object__init]))(var304) /* init on */; +{ /* Inline kernel#Object#is_same_instance (var_mpropdef,var_other) on */ +var8 = var_mpropdef == var_other; +var6 = var8; +goto RET_LABEL7; +RET_LABEL7:(void)0; } -var_mlazypropdef = var304; -{ -{ /* Inline modelize_property#AAttrPropdef#mlazypropdef= (self,var_mlazypropdef) on */ -self->attrs[COLOR_nit__modelize_property__AAttrPropdef___mlazypropdef].val = var_mlazypropdef; /* _mlazypropdef on */ -RET_LABEL308:(void)0; } +var4 = var6; +goto RET_LABEL5; +RET_LABEL5:(void)0; } -} else { +var3 = var4; } -if (varonce309) { -var310 = varonce309; +if (var3){ +goto RET_LABEL; } else { -var311 = "readonly"; -var312 = 8; -var313 = standard___standard__NativeString___to_s_with_length(var311, var312); -var310 = var313; -varonce309 = var310; } { -var314 = nit__annotation___Prod___get_single_annotation(self, var310, var_modelbuilder); +{ /* Inline model#MPropDef#mclassdef (var_mpropdef) on */ +var11 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ +if (unlikely(var11 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2209); +fatal_exit(1); } -var_atreadonly = var314; -var315 = NULL; -if (var_atreadonly == NULL) { -var316 = 0; /* is null */ -} else { -var316 = 1; /* arg is null and recv is not */ +var9 = var11; +RET_LABEL10:(void)0; } -if (0) { -{ /* Inline kernel#Object#!= (var_atreadonly,var315) on */ -var_other187 = var315; +} +var_mclassdef = var9; { -var319 = ((short int (*)(val* self, val* p0))(var_atreadonly->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_atreadonly, var_other187) /* == on */; +{ /* Inline model#MClassDef#mmodule (var_mclassdef) on */ +var14 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ +if (unlikely(var14 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 550); +fatal_exit(1); } -var320 = !var319; -var317 = var320; -goto RET_LABEL318; -RET_LABEL318:(void)0; +var12 = var14; +RET_LABEL13:(void)0; } -var316 = var317; } -if (var316){ +var_mmodule = var12; { -{ /* Inline modelize_property#AAttrPropdef#has_value (self) on */ -var323 = self->attrs[COLOR_nit__modelize_property__AAttrPropdef___has_value].s; /* _has_value on */ -var321 = var323; -RET_LABEL322:(void)0; -} +{ /* Inline parser_nodes#AMethPropdef#n_signature (self) on */ +var17 = self->attrs[COLOR_nit__parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on */ +var15 = var17; +RET_LABEL16:(void)0; } -var324 = !var321; -if (var324){ -if (varonce325) { -var326 = varonce325; -} else { -var327 = "Error: a readonly attribute needs a value"; -var328 = 41; -var329 = standard___standard__NativeString___to_s_with_length(var327, var328); -var326 = var329; -varonce325 = var326; } +var_nsig = var15; { -nit___nit__ModelBuilder___error(var_modelbuilder, var_atreadonly, var326); /* Direct call modelbuilder_base#ModelBuilder#error on */ +{ /* Inline modelize_property#APropdef#mpropdef (self) on */ +var20 = self->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ +var18 = var20; +RET_LABEL19:(void)0; } -} else { } -goto RET_LABEL; +if (var18 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 1003); +fatal_exit(1); } else { +{ /* Inline model#MMethodDef#msignature (var18) on */ +if (unlikely(var18 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2336); +fatal_exit(1); } -if (varonce330) { -var331 = varonce330; -} else { -var332 = "="; -var333 = 1; -var334 = standard___standard__NativeString___to_s_with_length(var332, var333); -var331 = var334; -varonce330 = var331; +var23 = var18->attrs[COLOR_nit__model__MMethodDef___msignature].val; /* _msignature on */ +var21 = var23; +RET_LABEL22:(void)0; } -{ -var335 = ((val* (*)(val* self, val* p0))(var_name->class->vft[COLOR_standard__string__String___43d]))(var_name, var331) /* + on */; } -var_writename = var335; -if (varonce336) { -var337 = varonce336; +var_mysignature = var21; +if (var_mysignature == NULL) { +var24 = 1; /* is null */ } else { -var338 = "writable"; -var339 = 8; -var340 = standard___standard__NativeString___to_s_with_length(var338, var339); -var337 = var340; -varonce336 = var337; +var24 = 0; /* arg is null but recv is not */ } +if (0) { +{ /* Inline kernel#Object#== (var_mysignature,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var341 = nit__annotation___Prod___get_single_annotation(self, var337, var_modelbuilder); +{ /* Inline kernel#Object#is_same_instance (var_mysignature,var_other) on */ +var29 = var_mysignature == var_other; +var27 = var29; +goto RET_LABEL28; +RET_LABEL28:(void)0; } -var_atwritable = var341; -var342 = NULL; -if (var_atwritable == NULL) { -var343 = 0; /* is null */ -} else { -var343 = 1; /* arg is null and recv is not */ } -if (0) { -{ /* Inline kernel#Object#!= (var_atwritable,var342) on */ -var_other187 = var342; -{ -var346 = ((short int (*)(val* self, val* p0))(var_atwritable->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_atwritable, var_other187) /* == on */; +var25 = var27; +goto RET_LABEL26; +RET_LABEL26:(void)0; +} +var24 = var25; } -var347 = !var346; -var344 = var347; -goto RET_LABEL345; -RET_LABEL345:(void)0; +if (var24){ +goto RET_LABEL; +} else { } -var343 = var344; +if (var_nsig == NULL) { +var30 = 0; /* is null */ +} else { +var30 = 1; /* arg is null and recv is not */ } -if (var343){ +if (0) { +{ /* Inline kernel#Object#!= (var_nsig,((val*)NULL)) on */ +var_other33 = ((val*)NULL); { -{ /* Inline parser_nodes#AAnnotation#n_args (var_atwritable) on */ -var350 = var_atwritable->attrs[COLOR_nit__parser_nodes__AAnnotation___n_args].val; /* _n_args on */ -if (unlikely(var350 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2552); -show_backtrace(1); +var34 = ((short int(*)(val* self, val* p0))(var_nsig->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nsig, var_other33); /* == on */ } -var348 = var350; -RET_LABEL349:(void)0; +var35 = !var34; +var31 = var35; +goto RET_LABEL32; +RET_LABEL32:(void)0; } +var30 = var31; } +if (var30){ { -var351 = nit___nit__ANodes___standard__abstract_collection__Collection__is_empty(var348); +var36 = nit__modelize_property___ASignature___check_signature(var_nsig, var_modelbuilder, var_mclassdef); } -var352 = !var351; -if (var352){ +var37 = !var36; +if (var37){ { -var354 = nit__annotation___AAnnotation___arg_as_id(var_atwritable, var_modelbuilder); +{ /* Inline modelize_property#APropdef#mpropdef (self) on */ +var40 = self->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ +var38 = var40; +RET_LABEL39:(void)0; } -if (var354!=NULL) { -var353 = var354; -} else { -var353 = var_writename; } -var_writename = var353; +if (var38 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 1009); +fatal_exit(1); } else { +{ /* Inline model#MMethodDef#msignature= (var38,((val*)NULL)) on */ +if (unlikely(var38 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2336); +fatal_exit(1); } -} else { +var38->attrs[COLOR_nit__model__MMethodDef___msignature].val = ((val*)NULL); /* _msignature on */ +RET_LABEL41:(void)0; } -{ -var355 = nit___nit__ModelBuilder___try_get_mproperty_by_name(var_modelbuilder, var_nid2, var_mclassdef, var_writename); } -/* isa nullable MMethod */ -cltype357 = type_nullable__nit__MMethod.color; -idtype358 = type_nullable__nit__MMethod.id; -if(var355 == NULL) { -var356 = 1; +goto RET_LABEL; } else { -if(cltype357 >= var355->type->table_size) { -var356 = 0; +} } else { -var356 = var355->type->type_table[cltype357] == idtype358; } +{ +var42 = nit___nit__MPropDef___is_intro(var_mpropdef); +} +var43 = !var42; +if (var43){ +{ +{ /* Inline model#MPropDef#mproperty (var_mpropdef) on */ +var46 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var46 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); } -if (unlikely(!var356)) { -var_class_name359 = var355 == NULL ? "null" : var355->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MMethod", var_class_name359); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 973); -show_backtrace(1); +var44 = var46; +RET_LABEL45:(void)0; } -var_mwriteprop = var355; -var360 = NULL; -var_nwkwredef = var360; -var361 = NULL; -if (var_atwritable == NULL) { -var362 = 0; /* is null */ -} else { -var362 = 1; /* arg is null and recv is not */ } -if (0) { -{ /* Inline kernel#Object#!= (var_atwritable,var361) on */ -var_other187 = var361; { -var365 = ((short int (*)(val* self, val* p0))(var_atwritable->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_atwritable, var_other187) /* == on */; +{ /* Inline model#MProperty#intro (var44) on */ +var49 = var44->attrs[COLOR_nit__model__MProperty___intro].val; /* _intro on */ +if (unlikely(var49 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1968); +fatal_exit(1); } -var366 = !var365; -var363 = var366; -goto RET_LABEL364; -RET_LABEL364:(void)0; +var47 = var49; +RET_LABEL48:(void)0; } -var362 = var363; } -if (var362){ { -{ /* Inline parser_nodes#ADefinition#n_kwredef (var_atwritable) on */ -var369 = var_atwritable->attrs[COLOR_nit__parser_nodes__ADefinition___n_kwredef].val; /* _n_kwredef on */ -var367 = var369; -RET_LABEL368:(void)0; -} +{ /* Inline model#MMethodDef#msignature (var47) on */ +var52 = var47->attrs[COLOR_nit__model__MMethodDef___msignature].val; /* _msignature on */ +var50 = var52; +RET_LABEL51:(void)0; } -var_nwkwredef = var367; -} else { } -var370 = NULL; -if (var_mwriteprop == NULL) { -var371 = 1; /* is null */ +var_msignature = var50; +if (var_msignature == NULL) { +var53 = 1; /* is null */ } else { -var371 = 0; /* arg is null but recv is not */ +var53 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_mwriteprop,var370) on */ -var_other = var370; +{ /* Inline kernel#Object#== (var_msignature,((val*)NULL)) on */ +var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_mwriteprop,var_other) on */ -var376 = var_mwriteprop == var_other; -var374 = var376; -goto RET_LABEL375; -RET_LABEL375:(void)0; +{ /* Inline kernel#Object#is_same_instance (var_msignature,var_other) on */ +var58 = var_msignature == var_other; +var56 = var58; +goto RET_LABEL57; +RET_LABEL57:(void)0; } } -var372 = var374; -goto RET_LABEL373; -RET_LABEL373:(void)0; +var54 = var56; +goto RET_LABEL55; +RET_LABEL55:(void)0; } -var371 = var372; +var53 = var54; } -if (var371){ -var377 = NULL; -if (var_atwritable == NULL) { -var378 = 0; /* is null */ +if (var53){ +goto RET_LABEL; } else { -var378 = 1; /* arg is null and recv is not */ } -if (0) { -{ /* Inline kernel#Object#!= (var_atwritable,var377) on */ -var_other187 = var377; { -var381 = ((short int (*)(val* self, val* p0))(var_atwritable->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_atwritable, var_other187) /* == on */; -} -var382 = !var381; -var379 = var382; -goto RET_LABEL380; -RET_LABEL380:(void)0; +{ /* Inline model#MSignature#return_mtype (var_msignature) on */ +var61 = var_msignature->attrs[COLOR_nit__model__MSignature___return_mtype].val; /* _return_mtype on */ +var59 = var61; +RET_LABEL60:(void)0; } -var378 = var379; } -if (var378){ +var_precursor_ret_type = var59; { -{ /* Inline parser_nodes#ADefinition#n_visibility (var_atwritable) on */ -var385 = var_atwritable->attrs[COLOR_nit__parser_nodes__ADefinition___n_visibility].val; /* _n_visibility on */ -var383 = var385; -RET_LABEL384:(void)0; -} +{ /* Inline model#MSignature#return_mtype (var_mysignature) on */ +var64 = var_mysignature->attrs[COLOR_nit__model__MSignature___return_mtype].val; /* _return_mtype on */ +var62 = var64; +RET_LABEL63:(void)0; } -{ -var386 = nit__modelize_property___APropdef___new_property_visibility(self, var_modelbuilder, var_mclassdef, var383); } -var_mvisibility387 = var386; +var_ret_type = var62; +if (var_ret_type == NULL) { +var66 = 0; /* is null */ } else { -{ -var388 = nit__model_base___standard__Object___private_visibility(self); +var66 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_ret_type,((val*)NULL)) on */ +var_other33 = ((val*)NULL); +{ +var69 = ((short int(*)(val* self, val* p0))(var_ret_type->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_ret_type, var_other33); /* == on */ +} +var70 = !var69; +var67 = var70; +goto RET_LABEL68; +RET_LABEL68:(void)0; +} +var66 = var67; +} +var_ = var66; +if (var66){ +if (var_precursor_ret_type == NULL) { +var71 = 1; /* is null */ +} else { +var71 = 0; /* arg is null but recv is not */ +} +if (0) { +{ /* Inline kernel#Object#== (var_precursor_ret_type,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +{ /* Inline kernel#Object#is_same_instance (var_precursor_ret_type,var_other) on */ +var76 = var_precursor_ret_type == var_other; +var74 = var76; +goto RET_LABEL75; +RET_LABEL75:(void)0; +} +} +var72 = var74; +goto RET_LABEL73; +RET_LABEL73:(void)0; +} +var71 = var72; +} +var65 = var71; +} else { +var65 = var_; +} +if (var65){ +if (var_nsig == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 1023); +fatal_exit(1); +} else { +{ /* Inline parser_nodes#ASignature#n_type (var_nsig) on */ +if (unlikely(var_nsig == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1699); +fatal_exit(1); +} +var79 = var_nsig->attrs[COLOR_nit__parser_nodes__ASignature___n_type].val; /* _n_type on */ +var77 = var79; +RET_LABEL78:(void)0; } -var_mvisibility387 = var388; } -var389 = NEW_nit__MMethod(&type_nit__MMethod); +if (unlikely(var77 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 1023); +fatal_exit(1); +} +if (unlikely(varonce==NULL)) { +var80 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce81!=NULL)) { +var82 = varonce81; +} else { +var83 = "Redef Error: `"; +var84 = standard___standard__NativeString___to_s_with_length(var83, 14l); +var82 = var84; +varonce81 = var82; +} +((struct instance_standard__NativeArray*)var80)->values[0]=var82; +if (likely(varonce85!=NULL)) { +var86 = varonce85; +} else { +var87 = "` is a procedure, not a function."; +var88 = standard___standard__NativeString___to_s_with_length(var87, 33l); +var86 = var88; +varonce85 = var86; +} +((struct instance_standard__NativeArray*)var80)->values[2]=var86; +} else { +var80 = varonce; +varonce = NULL; +} { -((void (*)(val* self, val* p0))(var389->class->vft[COLOR_nit__model__MProperty__intro_mclassdef_61d]))(var389, var_mclassdef) /* intro_mclassdef= on */; +{ /* Inline model#MPropDef#mproperty (var_mpropdef) on */ +var91 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var91 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); +} +var89 = var91; +RET_LABEL90:(void)0; +} } { -((void (*)(val* self, val* p0))(var389->class->vft[COLOR_nit__model__MProperty__name_61d]))(var389, var_writename) /* name= on */; +var92 = ((val*(*)(val* self))(var89->class->vft[COLOR_standard__string__Object__to_s]))(var89); /* to_s on */ } +((struct instance_standard__NativeArray*)var80)->values[1]=var92; { -((void (*)(val* self, val* p0))(var389->class->vft[COLOR_nit__model__MProperty__visibility_61d]))(var389, var_mvisibility387) /* visibility= on */; +var93 = ((val*(*)(val* self))(var80->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var80); /* native_to_s on */ } +varonce = var80; { -((void (*)(val* self))(var389->class->vft[COLOR_standard__kernel__Object__init]))(var389) /* init on */; +nit___nit__ModelBuilder___error(var_modelbuilder, var77, var93); /* Direct call modelbuilder_base#ModelBuilder#error on */ } -var_mwriteprop = var389; -var390 = 0; { -var391 = nit__modelize_property___APropdef___check_redef_keyword(self, var_modelbuilder, var_mclassdef, var_nwkwredef, var390, var_mwriteprop); +{ /* Inline modelize_property#APropdef#mpropdef (self) on */ +var96 = self->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ +var94 = var96; +RET_LABEL95:(void)0; +} +} +if (var94 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 1024); +fatal_exit(1); +} else { +{ /* Inline model#MMethodDef#msignature= (var94,((val*)NULL)) on */ +if (unlikely(var94 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2336); +fatal_exit(1); +} +var94->attrs[COLOR_nit__model__MMethodDef___msignature].val = ((val*)NULL); /* _msignature on */ +RET_LABEL97:(void)0; +} } -var392 = !var391; -if (var392){ goto RET_LABEL; } else { } { -{ /* Inline mdoc#MEntity#deprecation (var_mprop) on */ -var395 = var_mprop->attrs[COLOR_nit__mdoc__MEntity___deprecation].val; /* _deprecation on */ -var393 = var395; -RET_LABEL394:(void)0; +var98 = nit___nit__MSignature___arity(var_mysignature); +} +{ +{ /* Inline kernel#Int#> (var98,0l) on */ +/* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */ +/* <0l:Int> isa OTHER */ +var101 = 1; /* easy <0l:Int> isa OTHER*/ +if (unlikely(!var101)) { +var_class_name = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 536); +fatal_exit(1); +} +var102 = var98 > 0l; +var99 = var102; +goto RET_LABEL100; +RET_LABEL100:(void)0; } } +if (var99){ +var_i = 0l; { -{ /* Inline mdoc#MEntity#deprecation= (var_mwriteprop,var393) on */ -var_mwriteprop->attrs[COLOR_nit__mdoc__MEntity___deprecation].val = var393; /* _deprecation on */ -RET_LABEL396:(void)0; +var103 = nit___nit__MSignature___arity(var_mysignature); +} +var_104 = var103; +for(;;) { +{ +{ /* Inline kernel#Int#< (var_i,var_104) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var107 = 1; /* easy isa OTHER*/ +if (unlikely(!var107)) { +var_class_name110 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name110); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534); +fatal_exit(1); } +var111 = var_i < var_104; +var105 = var111; +goto RET_LABEL106; +RET_LABEL106:(void)0; } +} +if (var105){ +{ +{ /* Inline model#MSignature#mparameters (var_mysignature) on */ +var114 = var_mysignature->attrs[COLOR_nit__model__MSignature___mparameters].val; /* _mparameters on */ +if (unlikely(var114 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1756); +fatal_exit(1); +} +var112 = var114; +RET_LABEL113:(void)0; +} +} +{ +var115 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var112, var_i); +} +{ +{ /* Inline model#MParameter#mtype (var115) on */ +var118 = var115->attrs[COLOR_nit__model__MParameter___mtype].val; /* _mtype on */ +if (unlikely(var118 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1879); +fatal_exit(1); +} +var116 = var118; +RET_LABEL117:(void)0; +} +} +var_myt = var116; +{ +{ /* Inline model#MSignature#mparameters (var_msignature) on */ +var121 = var_msignature->attrs[COLOR_nit__model__MSignature___mparameters].val; /* _mparameters on */ +if (unlikely(var121 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1756); +fatal_exit(1); +} +var119 = var121; +RET_LABEL120:(void)0; +} +} +{ +var122 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var119, var_i); +} +{ +{ /* Inline model#MParameter#mtype (var122) on */ +var125 = var122->attrs[COLOR_nit__model__MParameter___mtype].val; /* _mtype on */ +if (unlikely(var125 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1879); +fatal_exit(1); +} +var123 = var125; +RET_LABEL124:(void)0; +} +} +var_prt = var123; +if (var_nsig == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 1033); +fatal_exit(1); } else { -if (var_nwkwredef!=NULL) { -var397 = var_nwkwredef; -} else { +{ /* Inline parser_nodes#ASignature#n_params (var_nsig) on */ +if (unlikely(var_nsig == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1693); +fatal_exit(1); +} +var128 = var_nsig->attrs[COLOR_nit__parser_nodes__ASignature___n_params].val; /* _n_params on */ +if (unlikely(var128 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1693); +fatal_exit(1); +} +var126 = var128; +RET_LABEL127:(void)0; +} +} { -{ /* Inline parser_nodes#ADefinition#n_kwredef (self) on */ -var400 = self->attrs[COLOR_nit__parser_nodes__ADefinition___n_kwredef].val; /* _n_kwredef on */ -var398 = var400; -RET_LABEL399:(void)0; +var129 = nit___nit__ANodes___standard__abstract_collection__SequenceRead___91d_93d(var126, var_i); +} +var_node = var129; +{ +{ /* Inline model#MClassDef#bound_mtype (var_mclassdef) on */ +var132 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ +if (unlikely(var132 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 556); +fatal_exit(1); } +var130 = var132; +RET_LABEL131:(void)0; } -var397 = var398; } -var401 = 1; { -var402 = nit__modelize_property___APropdef___check_redef_keyword(self, var_modelbuilder, var_mclassdef, var397, var401, var_mwriteprop); +var133 = nit___nit__ModelBuilder___check_sametype(var_modelbuilder, var_node, var_mmodule, var130, var_myt, var_prt); } -var403 = !var402; -if (var403){ -goto RET_LABEL; +var134 = !var133; +if (var134){ +if (unlikely(varonce135==NULL)) { +var136 = NEW_standard__NativeArray(7l, &type_standard__NativeArray__standard__String); +if (likely(varonce137!=NULL)) { +var138 = varonce137; } else { +var139 = "Redef Error: expected `"; +var140 = standard___standard__NativeString___to_s_with_length(var139, 23l); +var138 = var140; +varonce137 = var138; } -var404 = NULL; -if (var_atwritable == NULL) { -var405 = 0; /* is null */ +((struct instance_standard__NativeArray*)var136)->values[0]=var138; +if (likely(varonce141!=NULL)) { +var142 = varonce141; } else { -var405 = 1; /* arg is null and recv is not */ +var143 = "` for parameter `"; +var144 = standard___standard__NativeString___to_s_with_length(var143, 17l); +var142 = var144; +varonce141 = var142; +} +((struct instance_standard__NativeArray*)var136)->values[2]=var142; +if (likely(varonce145!=NULL)) { +var146 = varonce145; +} else { +var147 = "\'; got `"; +var148 = standard___standard__NativeString___to_s_with_length(var147, 8l); +var146 = var148; +varonce145 = var146; +} +((struct instance_standard__NativeArray*)var136)->values[4]=var146; +if (likely(varonce149!=NULL)) { +var150 = varonce149; +} else { +var151 = "`."; +var152 = standard___standard__NativeString___to_s_with_length(var151, 2l); +var150 = var152; +varonce149 = var150; +} +((struct instance_standard__NativeArray*)var136)->values[6]=var150; +} else { +var136 = varonce135; +varonce135 = NULL; } -if (0) { -{ /* Inline kernel#Object#!= (var_atwritable,var404) on */ -var_other187 = var404; { -var408 = ((short int (*)(val* self, val* p0))(var_atwritable->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_atwritable, var_other187) /* == on */; +var153 = ((val*(*)(val* self))(var_prt->class->vft[COLOR_standard__string__Object__to_s]))(var_prt); /* to_s on */ } -var409 = !var408; -var406 = var409; -goto RET_LABEL407; -RET_LABEL407:(void)0; +((struct instance_standard__NativeArray*)var136)->values[1]=var153; +{ +{ /* Inline model#MSignature#mparameters (var_mysignature) on */ +var156 = var_mysignature->attrs[COLOR_nit__model__MSignature___mparameters].val; /* _mparameters on */ +if (unlikely(var156 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1756); +fatal_exit(1); +} +var154 = var156; +RET_LABEL155:(void)0; } -var405 = var406; } -if (var405){ { -{ /* Inline parser_nodes#ADefinition#n_visibility (var_atwritable) on */ -var412 = var_atwritable->attrs[COLOR_nit__parser_nodes__ADefinition___n_visibility].val; /* _n_visibility on */ -var410 = var412; -RET_LABEL411:(void)0; +var157 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var154, var_i); +} +{ +{ /* Inline model#MParameter#name (var157) on */ +var160 = var157->attrs[COLOR_nit__model__MParameter___name].val; /* _name on */ +if (unlikely(var160 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1876); +fatal_exit(1); +} +var158 = var160; +RET_LABEL159:(void)0; } } +((struct instance_standard__NativeArray*)var136)->values[3]=var158; { -nit__modelize_property___APropdef___check_redef_property_visibility(self, var_modelbuilder, var410, var_mwriteprop); /* Direct call modelize_property#APropdef#check_redef_property_visibility on */ +var161 = ((val*(*)(val* self))(var_myt->class->vft[COLOR_standard__string__Object__to_s]))(var_myt); /* to_s on */ } -} else { +((struct instance_standard__NativeArray*)var136)->values[5]=var161; +{ +var162 = ((val*(*)(val* self))(var136->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var136); /* native_to_s on */ } +varonce135 = var136; +{ +nit___nit__ModelBuilder___error(var_modelbuilder, var_node, var162); /* Direct call modelbuilder_base#ModelBuilder#error on */ } { -{ /* Inline modelize_property#MClassDef#mprop2npropdef (var_mclassdef) on */ -var415 = var_mclassdef->attrs[COLOR_nit__modelize_property__MClassDef___mprop2npropdef].val; /* _mprop2npropdef on */ -if (unlikely(var415 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mprop2npropdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 352); -show_backtrace(1); +{ /* Inline modelize_property#APropdef#mpropdef (self) on */ +var165 = self->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ +var163 = var165; +RET_LABEL164:(void)0; +} +} +if (var163 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 1036); +fatal_exit(1); +} else { +{ /* Inline model#MMethodDef#msignature= (var163,((val*)NULL)) on */ +if (unlikely(var163 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2336); +fatal_exit(1); +} +var163->attrs[COLOR_nit__model__MMethodDef___msignature].val = ((val*)NULL); /* _msignature on */ +RET_LABEL166:(void)0; } -var413 = var415; -RET_LABEL414:(void)0; } +} else { } { -((void (*)(val* self, val* p0, val* p1))(var413->class->vft[COLOR_standard__abstract_collection__Map___91d_93d_61d]))(var413, var_mwriteprop, self) /* []= on */; +var167 = standard___standard__Int___Discrete__successor(var_i, 1l); +} +var_i = var167; +} else { +goto BREAK_label; } -var416 = NEW_nit__MMethodDef(&type_nit__MMethodDef); +} +BREAK_label: (void)0; +} else { +} +if (var_precursor_ret_type == NULL) { +var168 = 0; /* is null */ +} else { +var168 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_precursor_ret_type,((val*)NULL)) on */ +var_other33 = ((val*)NULL); { -{ /* Inline parser_nodes#ANode#location (self) on */ -var419 = self->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on */ -if (unlikely(var419 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 23); -show_backtrace(1); +var171 = ((short int(*)(val* self, val* p0))(var_precursor_ret_type->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_precursor_ret_type, var_other33); /* == on */ } -var417 = var419; -RET_LABEL418:(void)0; +var172 = !var171; +var169 = var172; +goto RET_LABEL170; +RET_LABEL170:(void)0; +} +var168 = var169; } +if (var168){ +var_node173 = ((val*)NULL); +if (var_nsig == NULL) { +var174 = 0; /* is null */ +} else { +var174 = 1; /* arg is null and recv is not */ } +if (0) { +{ /* Inline kernel#Object#!= (var_nsig,((val*)NULL)) on */ +var_other33 = ((val*)NULL); { -((void (*)(val* self, val* p0))(var416->class->vft[COLOR_nit__model__MPropDef__mclassdef_61d]))(var416, var_mclassdef) /* mclassdef= on */; +var177 = ((short int(*)(val* self, val* p0))(var_nsig->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nsig, var_other33); /* == on */ +} +var178 = !var177; +var175 = var178; +goto RET_LABEL176; +RET_LABEL176:(void)0; +} +var174 = var175; } +if (var174){ { -((void (*)(val* self, val* p0))(var416->class->vft[COLOR_nit__model__MPropDef__mproperty_61d]))(var416, var_mwriteprop) /* mproperty= on */; +{ /* Inline parser_nodes#ASignature#n_type (var_nsig) on */ +var181 = var_nsig->attrs[COLOR_nit__parser_nodes__ASignature___n_type].val; /* _n_type on */ +var179 = var181; +RET_LABEL180:(void)0; +} +} +var_node173 = var179; +} else { +} +if (var_node173 == NULL) { +var182 = 1; /* is null */ +} else { +var182 = 0; /* arg is null but recv is not */ } +if (0) { +{ /* Inline kernel#Object#== (var_node173,((val*)NULL)) on */ +var_other = ((val*)NULL); { -((void (*)(val* self, val* p0))(var416->class->vft[COLOR_nit__model__MPropDef__location_61d]))(var416, var417) /* location= on */; +{ /* Inline kernel#Object#is_same_instance (var_node173,var_other) on */ +var187 = var_node173 == var_other; +var185 = var187; +goto RET_LABEL186; +RET_LABEL186:(void)0; +} +} +var183 = var185; +goto RET_LABEL184; +RET_LABEL184:(void)0; +} +var182 = var183; } +if (var182){ +var_node173 = self; +} else { +} +if (var_ret_type == NULL) { +var188 = 1; /* is null */ +} else { +var188 = 0; /* arg is null but recv is not */ +} +if (0) { +{ /* Inline kernel#Object#== (var_ret_type,((val*)NULL)) on */ +var_other = ((val*)NULL); { -((void (*)(val* self))(var416->class->vft[COLOR_standard__kernel__Object__init]))(var416) /* init on */; +{ /* Inline kernel#Object#is_same_instance (var_ret_type,var_other) on */ +var193 = var_ret_type == var_other; +var191 = var193; +goto RET_LABEL192; +RET_LABEL192:(void)0; +} +} +var189 = var191; +goto RET_LABEL190; +RET_LABEL190:(void)0; +} +var188 = var189; } -var_mwritepropdef = var416; +if (var188){ +var_ret_type = var_precursor_ret_type; +} else { { -{ /* Inline modelize_property#AAttrPropdef#mwritepropdef= (self,var_mwritepropdef) on */ -self->attrs[COLOR_nit__modelize_property__AAttrPropdef___mwritepropdef].val = var_mwritepropdef; /* _mwritepropdef on */ -RET_LABEL420:(void)0; +{ /* Inline model#MClassDef#bound_mtype (var_mclassdef) on */ +var196 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ +if (unlikely(var196 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 556); +fatal_exit(1); +} +var194 = var196; +RET_LABEL195:(void)0; } } { -{ /* Inline modelize_property#ModelBuilder#mpropdef2npropdef (var_modelbuilder) on */ -var423 = var_modelbuilder->attrs[COLOR_nit__modelize_property__ModelBuilder___mpropdef2npropdef].val; /* _mpropdef2npropdef on */ -if (unlikely(var423 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef2npropdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 40); -show_backtrace(1); +var197 = nit___nit__ModelBuilder___check_subtype(var_modelbuilder, var_node173, var_mmodule, var194, var_ret_type, var_precursor_ret_type); +} +var198 = !var197; +if (var198){ +if (unlikely(varonce199==NULL)) { +var200 = NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String); +if (likely(varonce201!=NULL)) { +var202 = varonce201; +} else { +var203 = "Redef Error: expected `"; +var204 = standard___standard__NativeString___to_s_with_length(var203, 23l); +var202 = var204; +varonce201 = var202; +} +((struct instance_standard__NativeArray*)var200)->values[0]=var202; +if (likely(varonce205!=NULL)) { +var206 = varonce205; +} else { +var207 = "` for return type; got `"; +var208 = standard___standard__NativeString___to_s_with_length(var207, 24l); +var206 = var208; +varonce205 = var206; } -var421 = var423; -RET_LABEL422:(void)0; +((struct instance_standard__NativeArray*)var200)->values[2]=var206; +if (likely(varonce209!=NULL)) { +var210 = varonce209; +} else { +var211 = "`."; +var212 = standard___standard__NativeString___to_s_with_length(var211, 2l); +var210 = var212; +varonce209 = var210; } +((struct instance_standard__NativeArray*)var200)->values[4]=var210; +} else { +var200 = varonce199; +varonce199 = NULL; } { -standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var421, var_mwritepropdef, self); /* Direct call hash_collection#HashMap#[]= on */ +var213 = ((val*(*)(val* self))(var_precursor_ret_type->class->vft[COLOR_standard__string__Object__to_s]))(var_precursor_ret_type); /* to_s on */ } +((struct instance_standard__NativeArray*)var200)->values[1]=var213; { -{ /* Inline mdoc#MEntity#mdoc (var_mpropdef) on */ -var426 = var_mpropdef->attrs[COLOR_nit__mdoc__MEntity___mdoc].val; /* _mdoc on */ -var424 = var426; -RET_LABEL425:(void)0; +var214 = ((val*(*)(val* self))(var_ret_type->class->vft[COLOR_standard__string__Object__to_s]))(var_ret_type); /* to_s on */ } +((struct instance_standard__NativeArray*)var200)->values[3]=var214; +{ +var215 = ((val*(*)(val* self))(var200->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var200); /* native_to_s on */ } +varonce199 = var200; { -{ /* Inline mdoc#MEntity#mdoc= (var_mwritepropdef,var424) on */ -var_mwritepropdef->attrs[COLOR_nit__mdoc__MEntity___mdoc].val = var424; /* _mdoc on */ -RET_LABEL427:(void)0; +nit___nit__ModelBuilder___error(var_modelbuilder, var_node173, var215); /* Direct call modelbuilder_base#ModelBuilder#error on */ } +{ +{ /* Inline modelize_property#APropdef#mpropdef (self) on */ +var218 = self->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ +var216 = var218; +RET_LABEL217:(void)0; } -RET_LABEL:; } -/* method modelize_property#AAttrPropdef#build_signature for (self: AAttrPropdef, ModelBuilder) */ -void nit__modelize_property___AAttrPropdef___APropdef__build_signature(val* self, val* p0) { -val* var_modelbuilder /* var modelbuilder: ModelBuilder */; -val* var /* : nullable MPropDef */; -val* var2 /* : nullable MPropDef */; -val* var_mpropdef /* var mpropdef: nullable MAttributeDef */; -val* var3 /* : null */; -short int var4 /* : Bool */; -short int var5 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var7 /* : Bool */; -short int var9 /* : Bool */; -val* var10 /* : MClassDef */; -val* var12 /* : MClassDef */; -val* var_mclassdef /* var mclassdef: MClassDef */; -val* var13 /* : MModule */; -val* var15 /* : MModule */; -val* var_mmodule /* var mmodule: MModule */; -val* var16 /* : null */; -val* var_mtype /* var mtype: nullable MType */; -val* var17 /* : nullable MMethodDef */; -val* var19 /* : nullable MMethodDef */; -val* var_mreadpropdef /* var mreadpropdef: nullable MMethodDef */; -val* var20 /* : nullable AType */; -val* var22 /* : nullable AType */; -val* var_ntype /* var ntype: nullable AType */; -val* var23 /* : null */; -short int var24 /* : Bool */; -short int var25 /* : Bool */; -val* var_other27 /* var other: nullable Object */; -short int var28 /* : Bool */; -short int var29 /* : Bool */; -val* var30 /* : nullable MType */; -val* var31 /* : null */; -short int var32 /* : Bool */; -short int var33 /* : Bool */; -short int var35 /* : Bool */; -short int var37 /* : Bool */; -val* var38 /* : null */; -val* var_inherited_type /* var inherited_type: nullable MType */; -short int var39 /* : Bool */; -val* var40 /* : null */; -short int var41 /* : Bool */; -short int var42 /* : Bool */; -short int var44 /* : Bool */; -short int var45 /* : Bool */; -short int var_ /* var : Bool */; -short int var46 /* : Bool */; -short int var47 /* : Bool */; -val* var48 /* : MProperty */; -val* var50 /* : MProperty */; -val* var51 /* : MPropDef */; -val* var53 /* : MPropDef */; -val* var54 /* : nullable MSignature */; -val* var56 /* : nullable MSignature */; -val* var_msignature /* var msignature: nullable MSignature */; -val* var57 /* : null */; -short int var58 /* : Bool */; -short int var59 /* : Bool */; -short int var61 /* : Bool */; -short int var63 /* : Bool */; -val* var64 /* : nullable MType */; -val* var66 /* : nullable MType */; -val* var67 /* : null */; -short int var68 /* : Bool */; -short int var69 /* : Bool */; -short int var71 /* : Bool */; -short int var72 /* : Bool */; -val* var73 /* : MClass */; -val* var75 /* : MClass */; -val* var76 /* : MClassType */; -val* var78 /* : MClassType */; -val* var79 /* : MClassType */; -val* var81 /* : MClassType */; -short int var82 /* : Bool */; -val* var83 /* : MType */; -val* var84 /* : null */; -short int var85 /* : Bool */; -short int var86 /* : Bool */; -short int var88 /* : Bool */; -short int var90 /* : Bool */; -val* var91 /* : nullable AExpr */; -val* var93 /* : nullable AExpr */; -val* var_nexpr /* var nexpr: nullable AExpr */; -val* var94 /* : null */; -short int var95 /* : Bool */; -short int var96 /* : Bool */; -short int var98 /* : Bool */; -short int var100 /* : Bool */; -val* var101 /* : null */; -short int var102 /* : Bool */; -short int var103 /* : Bool */; -short int var105 /* : Bool */; -short int var106 /* : Bool */; -short int var107 /* : Bool */; -int cltype; -int idtype; -val* var108 /* : AType */; -val* var110 /* : AType */; -val* var111 /* : nullable MType */; -short int var112 /* : Bool */; -int cltype113; -int idtype114; -static val* varonce; -val* var115 /* : String */; -char* var116 /* : NativeString */; -long var117 /* : Int */; -val* var118 /* : FlatString */; -val* var119 /* : nullable MClass */; -val* var_cla /* var cla: nullable MClass */; -val* var120 /* : null */; -short int var121 /* : Bool */; -short int var122 /* : Bool */; -short int var124 /* : Bool */; -short int var125 /* : Bool */; -val* var126 /* : MClassType */; -val* var128 /* : MClassType */; -short int var129 /* : Bool */; -int cltype130; -int idtype131; -static val* varonce132; -val* var133 /* : String */; -char* var134 /* : NativeString */; -long var135 /* : Int */; -val* var136 /* : FlatString */; -val* var137 /* : nullable MClass */; -val* var_cla138 /* var cla: nullable MClass */; -val* var139 /* : null */; -short int var140 /* : Bool */; -short int var141 /* : Bool */; -short int var143 /* : Bool */; -short int var144 /* : Bool */; -val* var145 /* : MClassType */; -val* var147 /* : MClassType */; -short int var148 /* : Bool */; -int cltype149; -int idtype150; -static val* varonce151; -val* var152 /* : String */; -char* var153 /* : NativeString */; -long var154 /* : Int */; -val* var155 /* : FlatString */; -val* var156 /* : nullable MClass */; -val* var_cla157 /* var cla: nullable MClass */; -val* var158 /* : null */; -short int var159 /* : Bool */; -short int var160 /* : Bool */; -short int var162 /* : Bool */; -short int var163 /* : Bool */; -val* var164 /* : MClassType */; -val* var166 /* : MClassType */; -short int var167 /* : Bool */; -int cltype168; -int idtype169; -static val* varonce170; -val* var171 /* : String */; -char* var172 /* : NativeString */; -long var173 /* : Int */; -val* var174 /* : FlatString */; -val* var175 /* : nullable MClass */; -val* var_cla176 /* var cla: nullable MClass */; -val* var177 /* : null */; -short int var178 /* : Bool */; -short int var179 /* : Bool */; -short int var181 /* : Bool */; -short int var182 /* : Bool */; -val* var183 /* : MClassType */; -val* var185 /* : MClassType */; -short int var186 /* : Bool */; -int cltype187; -int idtype188; -static val* varonce189; -val* var190 /* : String */; -char* var191 /* : NativeString */; -long var192 /* : Int */; -val* var193 /* : FlatString */; -val* var194 /* : nullable MClass */; -val* var_cla195 /* var cla: nullable MClass */; -val* var196 /* : null */; -short int var197 /* : Bool */; -short int var198 /* : Bool */; -short int var200 /* : Bool */; -short int var201 /* : Bool */; -val* var202 /* : MClassType */; -val* var204 /* : MClassType */; -short int var205 /* : Bool */; -int cltype206; -int idtype207; -static val* varonce208; -val* var209 /* : String */; -char* var210 /* : NativeString */; -long var211 /* : Int */; -val* var212 /* : FlatString */; -val* var213 /* : nullable MClass */; -val* var_cla214 /* var cla: nullable MClass */; -val* var215 /* : null */; -short int var216 /* : Bool */; -short int var217 /* : Bool */; -short int var219 /* : Bool */; -short int var220 /* : Bool */; -val* var221 /* : MClassType */; -val* var223 /* : MClassType */; -static val* varonce224; -val* var225 /* : String */; -char* var226 /* : NativeString */; -long var227 /* : Int */; -val* var228 /* : FlatString */; -static val* varonce229; -val* var230 /* : String */; -char* var231 /* : NativeString */; -long var232 /* : Int */; -val* var233 /* : FlatString */; -val* var234 /* : Array[Object] */; -long var235 /* : Int */; -val* var236 /* : NativeArray[Object] */; -val* var237 /* : String */; -val* var238 /* : null */; -short int var239 /* : Bool */; -short int var240 /* : Bool */; -short int var242 /* : Bool */; -short int var244 /* : Bool */; -short int var245 /* : Bool */; -val* var246 /* : null */; -short int var247 /* : Bool */; -short int var248 /* : Bool */; -short int var250 /* : Bool */; -short int var251 /* : Bool */; -short int var_252 /* var : Bool */; -short int var253 /* : Bool */; -short int var254 /* : Bool */; -short int var256 /* : Bool */; -short int var258 /* : Bool */; -short int var259 /* : Bool */; -int cltype260; -int idtype261; -val* var262 /* : AType */; -val* var264 /* : AType */; -val* var265 /* : nullable MType */; -val* var_xmtype /* var xmtype: nullable MType */; -short int var266 /* : Bool */; -short int var267 /* : Bool */; -short int var269 /* : Bool */; -short int var271 /* : Bool */; -static val* varonce272; -val* var273 /* : String */; -char* var274 /* : NativeString */; -long var275 /* : Int */; -val* var276 /* : FlatString */; -static val* varonce277; -val* var278 /* : String */; -char* var279 /* : NativeString */; -long var280 /* : Int */; -val* var281 /* : FlatString */; -val* var282 /* : null */; -short int var283 /* : Bool */; -short int var284 /* : Bool */; -short int var286 /* : Bool */; -short int var288 /* : Bool */; -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* var299 /* : null */; -short int var300 /* : Bool */; -short int var301 /* : Bool */; -short int var303 /* : Bool */; -short int var304 /* : Bool */; -val* var305 /* : MSignature */; -val* var306 /* : Array[MParameter] */; -val* var_msignature307 /* var msignature: MSignature */; -val* var309 /* : nullable MMethodDef */; -val* var311 /* : nullable MMethodDef */; -val* var_mwritepropdef /* var mwritepropdef: nullable MMethodDef */; -val* var312 /* : null */; -short int var313 /* : Bool */; -short int var314 /* : Bool */; -short int var316 /* : Bool */; -short int var317 /* : Bool */; -val* var318 /* : TId */; -val* var320 /* : TId */; -val* var321 /* : String */; -val* var_name /* var name: String */; -val* var322 /* : MParameter */; -short int var323 /* : Bool */; -val* var_mparameter /* var mparameter: MParameter */; -val* var324 /* : MSignature */; -val* var325 /* : Array[MParameter] */; -long var326 /* : Int */; -val* var_327 /* var : Array[MParameter] */; -val* var328 /* : null */; -val* var_msignature329 /* var msignature: MSignature */; -val* var331 /* : nullable MAttributeDef */; -val* var333 /* : nullable MAttributeDef */; -val* var_mlazypropdef /* var mlazypropdef: nullable MAttributeDef */; -val* var334 /* : null */; -short int var335 /* : Bool */; -short int var336 /* : Bool */; -short int var338 /* : Bool */; -short int var339 /* : Bool */; -val* var340 /* : Model */; -val* var342 /* : Model */; -static val* varonce343; -val* var344 /* : String */; -char* var345 /* : NativeString */; -long var346 /* : Int */; -val* var347 /* : FlatString */; -val* var348 /* : nullable Array[MClass] */; -val* var349 /* : nullable Object */; -val* var350 /* : MClassType */; -val* var352 /* : MClassType */; -var_modelbuilder = p0; -{ -{ /* Inline modelize_property#APropdef#mpropdef (self) on */ -var2 = self->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ -var = var2; -RET_LABEL1:(void)0; -} -} -var_mpropdef = var; -var3 = NULL; -if (var_mpropdef == NULL) { -var4 = 1; /* is null */ +if (var216 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 1049); +fatal_exit(1); } else { -var4 = 0; /* arg is null but recv is not */ +{ /* Inline model#MMethodDef#msignature= (var216,((val*)NULL)) on */ +if (unlikely(var216 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2336); +fatal_exit(1); } -if (0) { -{ /* Inline kernel#Object#== (var_mpropdef,var3) on */ -var_other = var3; -{ -{ /* Inline kernel#Object#is_same_instance (var_mpropdef,var_other) on */ -var9 = var_mpropdef == var_other; -var7 = var9; -goto RET_LABEL8; -RET_LABEL8:(void)0; +var216->attrs[COLOR_nit__model__MMethodDef___msignature].val = ((val*)NULL); /* _msignature on */ +RET_LABEL219:(void)0; } } -var5 = var7; -goto RET_LABEL6; -RET_LABEL6:(void)0; +} else { } -var4 = var5; } -if (var4){ -goto RET_LABEL; } else { } -{ -{ /* Inline model#MPropDef#mclassdef (var_mpropdef) on */ -var12 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ -if (unlikely(var12 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2010); -show_backtrace(1); -} -var10 = var12; -RET_LABEL11:(void)0; +} else { } +{ +var220 = nit___nit__MSignature___arity(var_mysignature); } -var_mclassdef = var10; { -{ /* Inline model#MClassDef#mmodule (var_mclassdef) on */ -var15 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ -if (unlikely(var15 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 489); -show_backtrace(1); +{ /* Inline kernel#Int#> (var220,0l) on */ +/* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */ +/* <0l:Int> isa OTHER */ +var223 = 1; /* easy <0l:Int> isa OTHER*/ +if (unlikely(!var223)) { +var_class_name226 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name226); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 536); +fatal_exit(1); } -var13 = var15; -RET_LABEL14:(void)0; +var227 = var220 > 0l; +var221 = var227; +goto RET_LABEL222; +RET_LABEL222:(void)0; } } -var_mmodule = var13; -var16 = NULL; -var_mtype = var16; +if (var221){ +var_i228 = 0l; { -{ /* Inline modelize_property#AAttrPropdef#mreadpropdef (self) on */ -var19 = self->attrs[COLOR_nit__modelize_property__AAttrPropdef___mreadpropdef].val; /* _mreadpropdef on */ -var17 = var19; -RET_LABEL18:(void)0; -} +var229 = nit___nit__MSignature___arity(var_mysignature); } -var_mreadpropdef = var17; +var_230 = var229; +for(;;) { { -{ /* Inline parser_nodes#AAttrPropdef#n_type (self) on */ -var22 = self->attrs[COLOR_nit__parser_nodes__AAttrPropdef___n_type].val; /* _n_type on */ -var20 = var22; -RET_LABEL21:(void)0; +{ /* Inline kernel#Int#< (var_i228,var_230) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var233 = 1; /* easy isa OTHER*/ +if (unlikely(!var233)) { +var_class_name236 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name236); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534); +fatal_exit(1); +} +var237 = var_i228 < var_230; +var231 = var237; +goto RET_LABEL232; +RET_LABEL232:(void)0; } } -var_ntype = var20; -var23 = NULL; -if (var_ntype == NULL) { -var24 = 0; /* is null */ +if (var231){ +if (var_nsig == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 1057); +fatal_exit(1); } else { -var24 = 1; /* arg is null and recv is not */ +{ /* Inline parser_nodes#ASignature#n_params (var_nsig) on */ +if (unlikely(var_nsig == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1693); +fatal_exit(1); } -if (0) { -{ /* Inline kernel#Object#!= (var_ntype,var23) on */ -var_other27 = var23; -{ -var28 = ((short int (*)(val* self, val* p0))(var_ntype->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_ntype, var_other27) /* == on */; +var240 = var_nsig->attrs[COLOR_nit__parser_nodes__ASignature___n_params].val; /* _n_params on */ +if (unlikely(var240 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1693); +fatal_exit(1); } -var29 = !var28; -var25 = var29; -goto RET_LABEL26; -RET_LABEL26:(void)0; +var238 = var240; +RET_LABEL239:(void)0; } -var24 = var25; } -if (var24){ { -var30 = nit__modelize_class___ModelBuilder___resolve_mtype(var_modelbuilder, var_mmodule, var_mclassdef, var_ntype); -} -var_mtype = var30; -var31 = NULL; -if (var_mtype == NULL) { -var32 = 1; /* is null */ -} else { -var32 = 0; /* arg is null but recv is not */ +var241 = nit___nit__ANodes___standard__abstract_collection__SequenceRead___91d_93d(var238, var_i228); } -if (0) { -{ /* Inline kernel#Object#== (var_mtype,var31) on */ -var_other = var31; { -{ /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on */ -var37 = var_mtype == var_other; -var35 = var37; -goto RET_LABEL36; -RET_LABEL36:(void)0; -} -} -var33 = var35; -goto RET_LABEL34; -RET_LABEL34:(void)0; -} -var32 = var33; -} -if (var32){ -goto RET_LABEL; -} else { +{ /* Inline parser_nodes#AParam#n_type (var241) on */ +var244 = var241->attrs[COLOR_nit__parser_nodes__AParam___n_type].val; /* _n_type on */ +var242 = var244; +RET_LABEL243:(void)0; } -} else { } -var38 = NULL; -var_inherited_type = var38; -var40 = NULL; -if (var_mreadpropdef == NULL) { -var41 = 0; /* is null */ +var_nt = var242; +if (var_nt == NULL) { +var245 = 0; /* is null */ } else { -var41 = 1; /* arg is null and recv is not */ +var245 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_mreadpropdef,var40) on */ -var_other27 = var40; +{ /* Inline kernel#Object#!= (var_nt,((val*)NULL)) on */ +var_other33 = ((val*)NULL); { -var44 = ((short int (*)(val* self, val* p0))(var_mreadpropdef->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_mreadpropdef, var_other27) /* == on */; +var248 = ((short int(*)(val* self, val* p0))(var_nt->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nt, var_other33); /* == on */ } -var45 = !var44; -var42 = var45; -goto RET_LABEL43; -RET_LABEL43:(void)0; -} -var41 = var42; -} -var_ = var41; -if (var41){ -{ -var46 = nit___nit__MPropDef___is_intro(var_mreadpropdef); -} -var47 = !var46; -var39 = var47; -} else { -var39 = var_; -} -if (var39){ -{ -{ /* Inline model#MPropDef#mproperty (var_mreadpropdef) on */ -var50 = var_mreadpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var50 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); -} -var48 = var50; -RET_LABEL49:(void)0; +var249 = !var248; +var246 = var249; +goto RET_LABEL247; +RET_LABEL247:(void)0; } +var245 = var246; } +if (var245){ { -{ /* Inline model#MProperty#intro (var48) on */ -var53 = var48->attrs[COLOR_nit__model__MProperty___intro].val; /* _intro on */ -if (unlikely(var53 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1773); -show_backtrace(1); +{ /* Inline modelbuilder_base#AType#mtype (var_nt) on */ +var252 = var_nt->attrs[COLOR_nit__modelbuilder_base__AType___mtype].val; /* _mtype on */ +var250 = var252; +RET_LABEL251:(void)0; } -var51 = var53; -RET_LABEL52:(void)0; } +if (unlikely(var250 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 1058); +fatal_exit(1); } { -{ /* Inline model#MMethodDef#msignature (var51) on */ -var56 = var51->attrs[COLOR_nit__model__MMethodDef___msignature].val; /* _msignature on */ -var54 = var56; -RET_LABEL55:(void)0; +nit__modelize_property___ModelBuilder___check_visibility(var_modelbuilder, var_nt, var250, var_mpropdef); /* Direct call modelize_property#ModelBuilder#check_visibility on */ } -} -var_msignature = var54; -var57 = NULL; -if (var_msignature == NULL) { -var58 = 1; /* is null */ } else { -var58 = 0; /* arg is null but recv is not */ } -if (0) { -{ /* Inline kernel#Object#== (var_msignature,var57) on */ -var_other = var57; { -{ /* Inline kernel#Object#is_same_instance (var_msignature,var_other) on */ -var63 = var_msignature == var_other; -var61 = var63; -goto RET_LABEL62; -RET_LABEL62:(void)0; +var253 = standard___standard__Int___Discrete__successor(var_i228, 1l); } +var_i228 = var253; +} else { +goto BREAK_label254; } -var59 = var61; -goto RET_LABEL60; -RET_LABEL60:(void)0; -} -var58 = var59; } -if (var58){ -goto RET_LABEL; +BREAK_label254: (void)0; +if (var_nsig == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 1060); +fatal_exit(1); } else { +{ /* Inline parser_nodes#ASignature#n_type (var_nsig) on */ +if (unlikely(var_nsig == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1699); +fatal_exit(1); } -{ -{ /* Inline model#MSignature#return_mtype (var_msignature) on */ -var66 = var_msignature->attrs[COLOR_nit__model__MSignature___return_mtype].val; /* _return_mtype on */ -var64 = var66; -RET_LABEL65:(void)0; +var257 = var_nsig->attrs[COLOR_nit__parser_nodes__ASignature___n_type].val; /* _n_type on */ +var255 = var257; +RET_LABEL256:(void)0; } } -var_inherited_type = var64; -var67 = NULL; -if (var_inherited_type == NULL) { -var68 = 0; /* is null */ +var_nt258 = var255; +if (var_nt258 == NULL) { +var259 = 0; /* is null */ } else { -var68 = 1; /* arg is null and recv is not */ +var259 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_inherited_type,var67) on */ -var_other27 = var67; +{ /* Inline kernel#Object#!= (var_nt258,((val*)NULL)) on */ +var_other33 = ((val*)NULL); { -var71 = ((short int (*)(val* self, val* p0))(var_inherited_type->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_inherited_type, var_other27) /* == on */; +var262 = ((short int(*)(val* self, val* p0))(var_nt258->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nt258, var_other33); /* == on */ } -var72 = !var71; -var69 = var72; -goto RET_LABEL70; -RET_LABEL70:(void)0; +var263 = !var262; +var260 = var263; +goto RET_LABEL261; +RET_LABEL261:(void)0; } -var68 = var69; +var259 = var260; } -if (var68){ +if (var259){ { -{ /* Inline model#MClassDef#mclass (var_mclassdef) on */ -var75 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ -if (unlikely(var75 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 492); -show_backtrace(1); +{ /* Inline modelbuilder_base#AType#mtype (var_nt258) on */ +var266 = var_nt258->attrs[COLOR_nit__modelbuilder_base__AType___mtype].val; /* _mtype on */ +var264 = var266; +RET_LABEL265:(void)0; } -var73 = var75; -RET_LABEL74:(void)0; } +if (unlikely(var264 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 1061); +fatal_exit(1); } { -{ /* Inline model#MClass#mclass_type (var73) on */ -var78 = var73->attrs[COLOR_nit__model__MClass___mclass_type].val; /* _mclass_type on */ -if (unlikely(var78 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 438); -show_backtrace(1); +nit__modelize_property___ModelBuilder___check_visibility(var_modelbuilder, var_nt258, var264, var_mpropdef); /* Direct call modelize_property#ModelBuilder#check_visibility on */ } -var76 = var78; -RET_LABEL77:(void)0; +} else { } +} else { } { -{ /* Inline model#MClassDef#bound_mtype (var_mclassdef) on */ -var81 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ -if (unlikely(var81 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 495); -show_backtrace(1); +nit__modelize_property___AMethPropdef___APropdef__check_repeated_types(self, var_modelbuilder); /* Direct call modelize_property#AMethPropdef#check_repeated_types on */ } -var79 = var81; -RET_LABEL80:(void)0; +RET_LABEL:; +} +/* method modelize_property#AMethPropdef#check_repeated_types for (self: AMethPropdef, ModelBuilder) */ +void nit__modelize_property___AMethPropdef___APropdef__check_repeated_types(val* self, val* p0) { +val* var_modelbuilder /* var modelbuilder: ModelBuilder */; +short int var /* : Bool */; +val* var1 /* : nullable MPropDef */; +val* var3 /* : nullable MPropDef */; +short int var4 /* : Bool */; +short int var_ /* var : Bool */; +val* var5 /* : nullable ASignature */; +val* var7 /* : nullable ASignature */; +short int var8 /* : Bool */; +short int var9 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var11 /* : Bool */; +short int var13 /* : Bool */; +val* var14 /* : nullable ASignature */; +val* var16 /* : nullable ASignature */; +val* var17 /* : ANodes[AParam] */; +val* var19 /* : ANodes[AParam] */; +val* var_20 /* var : ANodes[AParam] */; +val* var21 /* : Iterator[ANode] */; +val* var_22 /* var : Iterator[AParam] */; +short int var23 /* : Bool */; +val* var24 /* : nullable Object */; +val* var_param /* var param: AParam */; +val* var25 /* : nullable AType */; +val* var27 /* : nullable AType */; +short int var28 /* : Bool */; +short int var29 /* : Bool */; +val* var_other31 /* var other: nullable Object */; +short int var32 /* : Bool */; +short int var33 /* : Bool */; +val* var34 /* : nullable AType */; +val* var36 /* : nullable AType */; +static val* varonce; +val* var37 /* : String */; +char* var38 /* : NativeString */; +val* var39 /* : FlatString */; +val* var41 /* : NativeArray[String] */; +static val* varonce40; +static val* varonce42; +val* var43 /* : String */; +char* var44 /* : NativeString */; +val* var45 /* : FlatString */; +static val* varonce46; +val* var47 /* : String */; +char* var48 /* : NativeString */; +val* var49 /* : FlatString */; +static val* varonce50; +val* var51 /* : String */; +char* var52 /* : NativeString */; +val* var53 /* : FlatString */; +val* var54 /* : TId */; +val* var56 /* : TId */; +val* var57 /* : String */; +val* var58 /* : nullable MPropDef */; +val* var60 /* : nullable MPropDef */; +val* var61 /* : String */; +val* var62 /* : String */; +val* var63 /* : nullable MPropDef */; +val* var65 /* : nullable MPropDef */; +val* var66 /* : MProperty */; +val* var68 /* : MProperty */; +val* var69 /* : MPropDef */; +val* var71 /* : MPropDef */; +val* var_intro /* var intro: MMethodDef */; +val* var72 /* : HashMap[MPropDef, APropdef] */; +val* var74 /* : HashMap[MPropDef, APropdef] */; +val* var75 /* : nullable Object */; +val* var_n_intro /* var n_intro: nullable APropdef */; +short int var76 /* : Bool */; +short int var77 /* : Bool */; +short int var78 /* : Bool */; +short int var80 /* : Bool */; +short int var82 /* : Bool */; +short int var_83 /* var : Bool */; +short int var84 /* : Bool */; +int cltype; +int idtype; +short int var85 /* : Bool */; +val* var86 /* : nullable ASignature */; +val* var88 /* : nullable ASignature */; +val* var89 /* : nullable MType */; +val* var91 /* : nullable MType */; +val* var_ret_type /* var ret_type: nullable MType */; +short int var92 /* : Bool */; +short int var93 /* : Bool */; +short int var94 /* : Bool */; +short int var96 /* : Bool */; +short int var97 /* : Bool */; +short int var_98 /* var : Bool */; +val* var99 /* : nullable ASignature */; +val* var101 /* : nullable ASignature */; +val* var102 /* : nullable MType */; +val* var104 /* : nullable MType */; +short int var105 /* : Bool */; +short int var107 /* : Bool */; +short int var109 /* : Bool */; +val* var110 /* : nullable ASignature */; +val* var112 /* : nullable ASignature */; +val* var113 /* : nullable AType */; +val* var115 /* : nullable AType */; +static val* varonce116; +val* var117 /* : String */; +char* var118 /* : NativeString */; +val* var119 /* : FlatString */; +val* var121 /* : NativeArray[String] */; +static val* varonce120; +static val* varonce122; +val* var123 /* : String */; +char* var124 /* : NativeString */; +val* var125 /* : FlatString */; +static val* varonce126; +val* var127 /* : String */; +char* var128 /* : NativeString */; +val* var129 /* : FlatString */; +val* var130 /* : nullable MPropDef */; +val* var132 /* : nullable MPropDef */; +val* var133 /* : String */; +val* var134 /* : String */; +var_modelbuilder = p0; +{ +{ /* Inline modelize_property#APropdef#mpropdef (self) on */ +var3 = self->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ +var1 = var3; +RET_LABEL2:(void)0; } } -var82 = 0; +if (var1 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 1069); +fatal_exit(1); +} else { +var4 = nit___nit__MPropDef___is_intro(var1); +} +var_ = var4; +if (var4){ +var = var_; +} else { { -var83 = ((val* (*)(val* self, val* p0, val* p1, val* p2, short int p3))(var_inherited_type->class->vft[COLOR_nit__model__MType__resolve_for]))(var_inherited_type, var76, var79, var_mmodule, var82) /* resolve_for on */; +{ /* Inline parser_nodes#AMethPropdef#n_signature (self) on */ +var7 = self->attrs[COLOR_nit__parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on */ +var5 = var7; +RET_LABEL6:(void)0; } -var_inherited_type = var83; -var84 = NULL; -if (var_mtype == NULL) { -var85 = 1; /* is null */ +} +if (var5 == NULL) { +var8 = 1; /* is null */ } else { -var85 = 0; /* arg is null but recv is not */ +var8 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_mtype,var84) on */ -var_other = var84; +{ /* Inline kernel#Object#== (var5,((val*)NULL)) on */ +var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on */ -var90 = var_mtype == var_other; -var88 = var90; -goto RET_LABEL89; -RET_LABEL89:(void)0; +{ /* Inline kernel#Object#is_same_instance (var5,var_other) on */ +var13 = var5 == var_other; +var11 = var13; +goto RET_LABEL12; +RET_LABEL12:(void)0; } } -var86 = var88; -goto RET_LABEL87; -RET_LABEL87:(void)0; +var9 = var11; +goto RET_LABEL10; +RET_LABEL10:(void)0; } -var85 = var86; +var8 = var9; } -if (var85){ -var_mtype = var_inherited_type; +var = var8; +} +if (var){ +goto RET_LABEL; } else { } +{ +{ /* Inline parser_nodes#AMethPropdef#n_signature (self) on */ +var16 = self->attrs[COLOR_nit__parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on */ +var14 = var16; +RET_LABEL15:(void)0; +} +} +if (var14 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 1071); +fatal_exit(1); } else { +{ /* Inline parser_nodes#ASignature#n_params (var14) on */ +if (unlikely(var14 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1693); +fatal_exit(1); +} +var19 = var14->attrs[COLOR_nit__parser_nodes__ASignature___n_params].val; /* _n_params on */ +if (unlikely(var19 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1693); +fatal_exit(1); +} +var17 = var19; +RET_LABEL18:(void)0; +} +} +var_20 = var17; +{ +var21 = nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_20); +} +var_22 = var21; +for(;;) { +{ +var23 = ((short int(*)(val* self))((((long)var_22&3)?class_info[((long)var_22&3)]:var_22->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_22); /* is_ok on */ +} +if (var23){ +{ +var24 = ((val*(*)(val* self))((((long)var_22&3)?class_info[((long)var_22&3)]:var_22->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_22); /* item on */ } +var_param = var24; +{ +{ /* Inline parser_nodes#AParam#n_type (var_param) on */ +var27 = var_param->attrs[COLOR_nit__parser_nodes__AParam___n_type].val; /* _n_type on */ +var25 = var27; +RET_LABEL26:(void)0; +} +} +if (var25 == NULL) { +var28 = 0; /* is null */ } else { +var28 = 1; /* arg is null and recv is not */ } +if (0) { +{ /* Inline kernel#Object#!= (var25,((val*)NULL)) on */ +var_other31 = ((val*)NULL); { -{ /* Inline parser_nodes#AAttrPropdef#n_expr (self) on */ -var93 = self->attrs[COLOR_nit__parser_nodes__AAttrPropdef___n_expr].val; /* _n_expr on */ -var91 = var93; -RET_LABEL92:(void)0; +var32 = ((short int(*)(val* self, val* p0))(var25->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var25, var_other31); /* == on */ +} +var33 = !var32; +var29 = var33; +goto RET_LABEL30; +RET_LABEL30:(void)0; } +var28 = var29; } -var_nexpr = var91; -var94 = NULL; -if (var_mtype == NULL) { -var95 = 1; /* is null */ +if (var28){ +{ +{ /* Inline parser_nodes#AParam#n_type (var_param) on */ +var36 = var_param->attrs[COLOR_nit__parser_nodes__AParam___n_type].val; /* _n_type on */ +var34 = var36; +RET_LABEL35:(void)0; +} +} +if (likely(varonce!=NULL)) { +var37 = varonce; +} else { +var38 = "useless-signature"; +var39 = standard___standard__NativeString___to_s_with_length(var38, 17l); +var37 = var39; +varonce = var37; +} +if (unlikely(varonce40==NULL)) { +var41 = NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String); +if (likely(varonce42!=NULL)) { +var43 = varonce42; +} else { +var44 = "Warning: useless type repetition on parameter `"; +var45 = standard___standard__NativeString___to_s_with_length(var44, 47l); +var43 = var45; +varonce42 = var43; +} +((struct instance_standard__NativeArray*)var41)->values[0]=var43; +if (likely(varonce46!=NULL)) { +var47 = varonce46; +} else { +var48 = "` for redefined method `"; +var49 = standard___standard__NativeString___to_s_with_length(var48, 24l); +var47 = var49; +varonce46 = var47; +} +((struct instance_standard__NativeArray*)var41)->values[2]=var47; +if (likely(varonce50!=NULL)) { +var51 = varonce50; +} else { +var52 = "`"; +var53 = standard___standard__NativeString___to_s_with_length(var52, 1l); +var51 = var53; +varonce50 = var51; +} +((struct instance_standard__NativeArray*)var41)->values[4]=var51; +} else { +var41 = varonce40; +varonce40 = NULL; +} +{ +{ /* Inline parser_nodes#AParam#n_id (var_param) on */ +var56 = var_param->attrs[COLOR_nit__parser_nodes__AParam___n_id].val; /* _n_id on */ +if (unlikely(var56 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1707); +fatal_exit(1); +} +var54 = var56; +RET_LABEL55:(void)0; +} +} +{ +var57 = nit__lexer_work___Token___text(var54); +} +((struct instance_standard__NativeArray*)var41)->values[1]=var57; +{ +{ /* Inline modelize_property#APropdef#mpropdef (self) on */ +var60 = self->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ +var58 = var60; +RET_LABEL59:(void)0; +} +} +if (var58 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 1073); +fatal_exit(1); +} else { +var61 = nit___nit__MPropDef___nit__model_base__MEntity__name(var58); +} +((struct instance_standard__NativeArray*)var41)->values[3]=var61; +{ +var62 = ((val*(*)(val* self))(var41->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var41); /* native_to_s on */ +} +varonce40 = var41; +{ +nit___nit__ModelBuilder___advice(var_modelbuilder, var34, var37, var62); /* Direct call modelbuilder_base#ModelBuilder#advice on */ +} +} else { +} +{ +((void(*)(val* self))((((long)var_22&3)?class_info[((long)var_22&3)]:var_22->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_22); /* next on */ +} +} else { +goto BREAK_label; +} +} +BREAK_label: (void)0; +{ +((void(*)(val* self))((((long)var_22&3)?class_info[((long)var_22&3)]:var_22->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_22); /* finish on */ +} +{ +{ /* Inline modelize_property#APropdef#mpropdef (self) on */ +var65 = self->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ +var63 = var65; +RET_LABEL64:(void)0; +} +} +if (var63 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 1077); +fatal_exit(1); +} else { +{ /* Inline model#MPropDef#mproperty (var63) on */ +if (unlikely(var63 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); +} +var68 = var63->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var68 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); +} +var66 = var68; +RET_LABEL67:(void)0; +} +} +{ +{ /* Inline model#MProperty#intro (var66) on */ +var71 = var66->attrs[COLOR_nit__model__MProperty___intro].val; /* _intro on */ +if (unlikely(var71 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1968); +fatal_exit(1); +} +var69 = var71; +RET_LABEL70:(void)0; +} +} +var_intro = var69; +{ +{ /* Inline modelize_property#ModelBuilder#mpropdef2npropdef (var_modelbuilder) on */ +var74 = var_modelbuilder->attrs[COLOR_nit__modelize_property__ModelBuilder___mpropdef2npropdef].val; /* _mpropdef2npropdef on */ +if (unlikely(var74 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef2npropdef"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 40); +fatal_exit(1); +} +var72 = var74; +RET_LABEL73:(void)0; +} +} +{ +var75 = standard___standard__HashMap___standard__abstract_collection__MapRead__get_or_null(var72, var_intro); +} +var_n_intro = var75; +if (var_n_intro == NULL) { +var77 = 1; /* is null */ } else { -var95 = 0; /* arg is null but recv is not */ +var77 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_mtype,var94) on */ -var_other = var94; +{ /* Inline kernel#Object#== (var_n_intro,((val*)NULL)) on */ +var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on */ -var100 = var_mtype == var_other; -var98 = var100; -goto RET_LABEL99; -RET_LABEL99:(void)0; +{ /* Inline kernel#Object#is_same_instance (var_n_intro,var_other) on */ +var82 = var_n_intro == var_other; +var80 = var82; +goto RET_LABEL81; +RET_LABEL81:(void)0; } } -var96 = var98; -goto RET_LABEL97; -RET_LABEL97:(void)0; +var78 = var80; +goto RET_LABEL79; +RET_LABEL79:(void)0; } -var95 = var96; +var77 = var78; } -if (var95){ -var101 = NULL; -if (var_nexpr == NULL) { -var102 = 0; /* is null */ +var_83 = var77; +if (var77){ +var76 = var_83; +} else { +/* isa AMethPropdef */ +cltype = type_nit__AMethPropdef.color; +idtype = type_nit__AMethPropdef.id; +if(cltype >= var_n_intro->type->table_size) { +var84 = 0; +} else { +var84 = var_n_intro->type->type_table[cltype] == idtype; +} +var85 = !var84; +var76 = var85; +} +if (var76){ +goto RET_LABEL; +} else { +} +{ +{ /* Inline parser_nodes#AMethPropdef#n_signature (self) on */ +var88 = self->attrs[COLOR_nit__parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on */ +var86 = var88; +RET_LABEL87:(void)0; +} +} +if (var86 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 1081); +fatal_exit(1); +} else { +{ /* Inline modelize_property#ASignature#ret_type (var86) on */ +if (unlikely(var86 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 669); +fatal_exit(1); +} +var91 = var86->attrs[COLOR_nit__modelize_property__ASignature___ret_type].val; /* _ret_type on */ +var89 = var91; +RET_LABEL90:(void)0; +} +} +var_ret_type = var89; +if (var_ret_type == NULL) { +var93 = 0; /* is null */ } else { -var102 = 1; /* arg is null and recv is not */ +var93 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_nexpr,var101) on */ -var_other27 = var101; +{ /* Inline kernel#Object#!= (var_ret_type,((val*)NULL)) on */ +var_other31 = ((val*)NULL); +{ +var96 = ((short int(*)(val* self, val* p0))(var_ret_type->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_ret_type, var_other31); /* == on */ +} +var97 = !var96; +var94 = var97; +goto RET_LABEL95; +RET_LABEL95:(void)0; +} +var93 = var94; +} +var_98 = var93; +if (var93){ +{ +{ /* Inline parser_nodes#AMethPropdef#n_signature (var_n_intro) on */ +var101 = var_n_intro->attrs[COLOR_nit__parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on */ +var99 = var101; +RET_LABEL100:(void)0; +} +} +if (var99 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 1082); +fatal_exit(1); +} else { +{ /* Inline modelize_property#ASignature#ret_type (var99) on */ +if (unlikely(var99 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 669); +fatal_exit(1); +} +var104 = var99->attrs[COLOR_nit__modelize_property__ASignature___ret_type].val; /* _ret_type on */ +var102 = var104; +RET_LABEL103:(void)0; +} +} +{ +{ /* Inline kernel#Object#== (var_ret_type,var102) on */ +var_other = var102; +{ +{ /* Inline kernel#Object#is_same_instance (var_ret_type,var_other) on */ +var109 = var_ret_type == var_other; +var107 = var109; +goto RET_LABEL108; +RET_LABEL108:(void)0; +} +} +var105 = var107; +goto RET_LABEL106; +RET_LABEL106:(void)0; +} +} +var92 = var105; +} else { +var92 = var_98; +} +if (var92){ +{ +{ /* Inline parser_nodes#AMethPropdef#n_signature (self) on */ +var112 = self->attrs[COLOR_nit__parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on */ +var110 = var112; +RET_LABEL111:(void)0; +} +} +if (var110 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 1083); +fatal_exit(1); +} else { +{ /* Inline parser_nodes#ASignature#n_type (var110) on */ +if (unlikely(var110 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1699); +fatal_exit(1); +} +var115 = var110->attrs[COLOR_nit__parser_nodes__ASignature___n_type].val; /* _n_type on */ +var113 = var115; +RET_LABEL114:(void)0; +} +} +if (likely(varonce116!=NULL)) { +var117 = varonce116; +} else { +var118 = "useless-signature"; +var119 = standard___standard__NativeString___to_s_with_length(var118, 17l); +var117 = var119; +varonce116 = var117; +} +if (unlikely(varonce120==NULL)) { +var121 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce122!=NULL)) { +var123 = varonce122; +} else { +var124 = "Warning: useless return type repetition for redefined method `"; +var125 = standard___standard__NativeString___to_s_with_length(var124, 62l); +var123 = var125; +varonce122 = var123; +} +((struct instance_standard__NativeArray*)var121)->values[0]=var123; +if (likely(varonce126!=NULL)) { +var127 = varonce126; +} else { +var128 = "`"; +var129 = standard___standard__NativeString___to_s_with_length(var128, 1l); +var127 = var129; +varonce126 = var127; +} +((struct instance_standard__NativeArray*)var121)->values[2]=var127; +} else { +var121 = varonce120; +varonce120 = NULL; +} +{ +{ /* Inline modelize_property#APropdef#mpropdef (self) on */ +var132 = self->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ +var130 = var132; +RET_LABEL131:(void)0; +} +} +if (var130 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 1083); +fatal_exit(1); +} else { +var133 = nit___nit__MPropDef___nit__model_base__MEntity__name(var130); +} +((struct instance_standard__NativeArray*)var121)->values[1]=var133; +{ +var134 = ((val*(*)(val* self))(var121->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var121); /* native_to_s on */ +} +varonce120 = var121; +{ +nit___nit__ModelBuilder___advice(var_modelbuilder, var113, var117, var134); /* Direct call modelbuilder_base#ModelBuilder#advice on */ +} +} else { +} +RET_LABEL:; +} +/* method modelize_property#AMethid#return_is_mandatory for (self: AMethid): Bool */ +short int nit__modelize_property___AMethid___return_is_mandatory(val* self) { +short int var /* : Bool */; +var = 1; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method modelize_property#AMethid#accept_special_last_parameter for (self: AMethid): Bool */ +short int nit__modelize_property___AMethid___accept_special_last_parameter(val* self) { +short int var /* : Bool */; +var = 0; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method modelize_property#AMethid#min_arity for (self: AMethid): Int */ +long nit__modelize_property___AMethid___min_arity(val* self) { +long var /* : Int */; +var = 1l; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method modelize_property#AMethid#is_binary for (self: AMethid): Bool */ +short int nit__modelize_property___AMethid___is_binary(val* self) { +short int var /* : Bool */; +var = 1; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method modelize_property#AIdMethid#return_is_mandatory for (self: AIdMethid): Bool */ +short int nit__modelize_property___AIdMethid___AMethid__return_is_mandatory(val* self) { +short int var /* : Bool */; +var = 0; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method modelize_property#AIdMethid#accept_special_last_parameter for (self: AIdMethid): Bool */ +short int nit__modelize_property___AIdMethid___AMethid__accept_special_last_parameter(val* self) { +short int var /* : Bool */; +var = 1; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method modelize_property#AIdMethid#min_arity for (self: AIdMethid): Int */ +long nit__modelize_property___AIdMethid___AMethid__min_arity(val* self) { +long var /* : Int */; +var = 0l; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method modelize_property#AIdMethid#is_binary for (self: AIdMethid): Bool */ +short int nit__modelize_property___AIdMethid___AMethid__is_binary(val* self) { +short int var /* : Bool */; +var = 0; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method modelize_property#ABraMethid#accept_special_last_parameter for (self: ABraMethid): Bool */ +short int nit__modelize_property___ABraMethid___AMethid__accept_special_last_parameter(val* self) { +short int var /* : Bool */; +var = 1; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method modelize_property#ABraMethid#is_binary for (self: ABraMethid): Bool */ +short int nit__modelize_property___ABraMethid___AMethid__is_binary(val* self) { +short int var /* : Bool */; +var = 0; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method modelize_property#ABraassignMethid#return_is_mandatory for (self: ABraassignMethid): Bool */ +short int nit__modelize_property___ABraassignMethid___AMethid__return_is_mandatory(val* self) { +short int var /* : Bool */; +var = 0; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method modelize_property#ABraassignMethid#min_arity for (self: ABraassignMethid): Int */ +long nit__modelize_property___ABraassignMethid___AMethid__min_arity(val* self) { +long var /* : Int */; +var = 2l; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method modelize_property#ABraassignMethid#is_binary for (self: ABraassignMethid): Bool */ +short int nit__modelize_property___ABraassignMethid___AMethid__is_binary(val* self) { +short int var /* : Bool */; +var = 0; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method modelize_property#AAssignMethid#return_is_mandatory for (self: AAssignMethid): Bool */ +short int nit__modelize_property___AAssignMethid___AMethid__return_is_mandatory(val* self) { +short int var /* : Bool */; +var = 0; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method modelize_property#AAssignMethid#is_binary for (self: AAssignMethid): Bool */ +short int nit__modelize_property___AAssignMethid___AMethid__is_binary(val* self) { +short int var /* : Bool */; +var = 0; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method modelize_property#AAttrPropdef#mtype for (self: AAttrPropdef): nullable MType */ +val* nit__modelize_property___AAttrPropdef___mtype(val* self) { +val* var /* : nullable MType */; +val* var1 /* : nullable MType */; +var1 = self->attrs[COLOR_nit__modelize_property__AAttrPropdef___mtype].val; /* _mtype on */ +var = var1; +RET_LABEL:; +return var; +} +/* method modelize_property#AAttrPropdef#mtype= for (self: AAttrPropdef, nullable MType) */ +void nit__modelize_property___AAttrPropdef___mtype_61d(val* self, val* p0) { +self->attrs[COLOR_nit__modelize_property__AAttrPropdef___mtype].val = p0; /* _mtype on */ +RET_LABEL:; +} +/* method modelize_property#AAttrPropdef#noinit for (self: AAttrPropdef): Bool */ +short int nit__modelize_property___AAttrPropdef___noinit(val* self) { +short int var /* : Bool */; +short int var1 /* : Bool */; +var1 = self->attrs[COLOR_nit__modelize_property__AAttrPropdef___noinit].s; /* _noinit on */ +var = var1; +RET_LABEL:; +return var; +} +/* method modelize_property#AAttrPropdef#noinit= for (self: AAttrPropdef, Bool) */ +void nit__modelize_property___AAttrPropdef___noinit_61d(val* self, short int p0) { +self->attrs[COLOR_nit__modelize_property__AAttrPropdef___noinit].s = p0; /* _noinit on */ +RET_LABEL:; +} +/* method modelize_property#AAttrPropdef#is_lazy for (self: AAttrPropdef): Bool */ +short int nit__modelize_property___AAttrPropdef___is_lazy(val* self) { +short int var /* : Bool */; +short int var1 /* : Bool */; +var1 = self->attrs[COLOR_nit__modelize_property__AAttrPropdef___is_lazy].s; /* _is_lazy on */ +var = var1; +RET_LABEL:; +return var; +} +/* method modelize_property#AAttrPropdef#is_lazy= for (self: AAttrPropdef, Bool) */ +void nit__modelize_property___AAttrPropdef___is_lazy_61d(val* self, short int p0) { +self->attrs[COLOR_nit__modelize_property__AAttrPropdef___is_lazy].s = p0; /* _is_lazy on */ +RET_LABEL:; +} +/* method modelize_property#AAttrPropdef#has_value for (self: AAttrPropdef): Bool */ +short int nit__modelize_property___AAttrPropdef___has_value(val* self) { +short int var /* : Bool */; +short int var1 /* : Bool */; +var1 = self->attrs[COLOR_nit__modelize_property__AAttrPropdef___has_value].s; /* _has_value on */ +var = var1; +RET_LABEL:; +return var; +} +/* method modelize_property#AAttrPropdef#has_value= for (self: AAttrPropdef, Bool) */ +void nit__modelize_property___AAttrPropdef___has_value_61d(val* self, short int p0) { +self->attrs[COLOR_nit__modelize_property__AAttrPropdef___has_value].s = p0; /* _has_value on */ +RET_LABEL:; +} +/* method modelize_property#AAttrPropdef#mlazypropdef for (self: AAttrPropdef): nullable MAttributeDef */ +val* nit__modelize_property___AAttrPropdef___mlazypropdef(val* self) { +val* var /* : nullable MAttributeDef */; +val* var1 /* : nullable MAttributeDef */; +var1 = self->attrs[COLOR_nit__modelize_property__AAttrPropdef___mlazypropdef].val; /* _mlazypropdef on */ +var = var1; +RET_LABEL:; +return var; +} +/* method modelize_property#AAttrPropdef#mlazypropdef= for (self: AAttrPropdef, nullable MAttributeDef) */ +void nit__modelize_property___AAttrPropdef___mlazypropdef_61d(val* self, val* p0) { +self->attrs[COLOR_nit__modelize_property__AAttrPropdef___mlazypropdef].val = p0; /* _mlazypropdef on */ +RET_LABEL:; +} +/* method modelize_property#AAttrPropdef#mreadpropdef for (self: AAttrPropdef): nullable MMethodDef */ +val* nit__modelize_property___AAttrPropdef___mreadpropdef(val* self) { +val* var /* : nullable MMethodDef */; +val* var1 /* : nullable MMethodDef */; +var1 = self->attrs[COLOR_nit__modelize_property__AAttrPropdef___mreadpropdef].val; /* _mreadpropdef on */ +var = var1; +RET_LABEL:; +return var; +} +/* method modelize_property#AAttrPropdef#mreadpropdef= for (self: AAttrPropdef, nullable MMethodDef) */ +void nit__modelize_property___AAttrPropdef___mreadpropdef_61d(val* self, val* p0) { +self->attrs[COLOR_nit__modelize_property__AAttrPropdef___mreadpropdef].val = p0; /* _mreadpropdef on */ +RET_LABEL:; +} +/* method modelize_property#AAttrPropdef#mwritepropdef for (self: AAttrPropdef): nullable MMethodDef */ +val* nit__modelize_property___AAttrPropdef___mwritepropdef(val* self) { +val* var /* : nullable MMethodDef */; +val* var1 /* : nullable MMethodDef */; +var1 = self->attrs[COLOR_nit__modelize_property__AAttrPropdef___mwritepropdef].val; /* _mwritepropdef on */ +var = var1; +RET_LABEL:; +return var; +} +/* method modelize_property#AAttrPropdef#mwritepropdef= for (self: AAttrPropdef, nullable MMethodDef) */ +void nit__modelize_property___AAttrPropdef___mwritepropdef_61d(val* self, val* p0) { +self->attrs[COLOR_nit__modelize_property__AAttrPropdef___mwritepropdef].val = p0; /* _mwritepropdef on */ +RET_LABEL:; +} +/* method modelize_property#AAttrPropdef#build_property for (self: AAttrPropdef, ModelBuilder, MClassDef) */ +void nit__modelize_property___AAttrPropdef___APropdef__build_property(val* self, val* p0, val* p1) { +val* var_modelbuilder /* var modelbuilder: ModelBuilder */; +val* var_mclassdef /* var mclassdef: MClassDef */; +val* var /* : MClass */; +val* var2 /* : MClass */; +val* var_mclass /* var mclass: MClass */; +val* var3 /* : TId */; +val* var5 /* : TId */; +val* var_nid2 /* var nid2: TId */; +val* var6 /* : String */; +val* var_name /* var name: String */; +static val* varonce; +val* var7 /* : String */; +char* var8 /* : NativeString */; +val* var9 /* : FlatString */; +val* var10 /* : nullable AAnnotation */; +val* var_atabstract /* var atabstract: nullable AAnnotation */; +short int var11 /* : Bool */; +short int var12 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var14 /* : Bool */; +short int var16 /* : Bool */; +val* var17 /* : MClassKind */; +val* var19 /* : MClassKind */; +short int var20 /* : Bool */; +short int var22 /* : Bool */; +short int var23 /* : Bool */; +val* var25 /* : NativeArray[String] */; +static val* varonce24; +static val* varonce26; +val* var27 /* : String */; +char* var28 /* : NativeString */; +val* var29 /* : FlatString */; +static val* varonce30; +val* var31 /* : String */; +char* var32 /* : NativeString */; +val* var33 /* : FlatString */; +static val* varonce34; +val* var35 /* : String */; +char* var36 /* : NativeString */; +val* var37 /* : FlatString */; +static val* varonce38; +val* var39 /* : String */; +char* var40 /* : NativeString */; +val* var41 /* : FlatString */; +val* var42 /* : MClassKind */; +val* var44 /* : MClassKind */; +val* var45 /* : String */; +val* var46 /* : String */; +val* var47 /* : String */; +val* var48 /* : MAttribute */; +static val* varonce49; +val* var50 /* : String */; +char* var51 /* : NativeString */; +val* var52 /* : FlatString */; +val* var53 /* : String */; +val* var54 /* : Sys */; +val* var55 /* : MVisibility */; +val* var_mprop /* var mprop: MAttribute */; +val* var56 /* : MAttributeDef */; +val* var57 /* : Location */; +val* var59 /* : Location */; +val* var_mpropdef /* var mpropdef: MAttributeDef */; +short int var60 /* : Bool */; +int cltype; +int idtype; +const struct type* type_struct; +const char* var_class_name; +short int var62 /* : Bool */; +int cltype63; +int idtype64; +const struct type* type_struct65; +const char* var_class_name66; +val* var67 /* : HashMap[MPropDef, APropdef] */; +val* var69 /* : HashMap[MPropDef, APropdef] */; +val* var_readname /* var readname: String */; +val* var70 /* : nullable MProperty */; +short int var71 /* : Bool */; +int cltype72; +int idtype73; +const char* var_class_name74; +val* var_mreadprop /* var mreadprop: nullable MMethod */; +short int var75 /* : Bool */; +short int var76 /* : Bool */; +short int var78 /* : Bool */; +short int var80 /* : Bool */; +val* var81 /* : nullable AVisibility */; +val* var83 /* : nullable AVisibility */; +val* var84 /* : MVisibility */; +val* var_mvisibility /* var mvisibility: MVisibility */; +val* var85 /* : MMethod */; +val* var86 /* : nullable TKwredef */; +val* var88 /* : nullable TKwredef */; +short int var89 /* : Bool */; +short int var90 /* : Bool */; +val* var91 /* : nullable TKwredef */; +val* var93 /* : nullable TKwredef */; +short int var94 /* : Bool */; +short int var95 /* : Bool */; +val* var96 /* : nullable AVisibility */; +val* var98 /* : nullable AVisibility */; +val* var99 /* : Map[MProperty, APropdef] */; +val* var101 /* : Map[MProperty, APropdef] */; +val* var102 /* : MMethodDef */; +val* var103 /* : Location */; +val* var105 /* : Location */; +val* var_mreadpropdef /* var mreadpropdef: MMethodDef */; +val* var107 /* : HashMap[MPropDef, APropdef] */; +val* var109 /* : HashMap[MPropDef, APropdef] */; +val* var110 /* : nullable MPropDef */; +val* var112 /* : nullable MPropDef */; +short int var113 /* : Bool */; +short int var114 /* : Bool */; +val* var_other116 /* var other: nullable Object */; +short int var117 /* : Bool */; +short int var118 /* : Bool */; +val* var119 /* : nullable MPropDef */; +val* var121 /* : nullable MPropDef */; +val* var122 /* : nullable MDoc */; +val* var124 /* : nullable MDoc */; +short int var126 /* : Bool */; +short int var127 /* : Bool */; +short int var129 /* : Bool */; +short int var130 /* : Bool */; +short int var132 /* : Bool */; +val* var133 /* : nullable AExpr */; +val* var135 /* : nullable AExpr */; +short int var136 /* : Bool */; +short int var137 /* : Bool */; +short int var139 /* : Bool */; +short int var140 /* : Bool */; +short int var_ /* var : Bool */; +val* var141 /* : nullable AExpr */; +val* var143 /* : nullable AExpr */; +short int var144 /* : Bool */; +short int var145 /* : Bool */; +short int var147 /* : Bool */; +short int var148 /* : Bool */; +short int var150 /* : Bool */; +short int var151 /* : Bool */; +short int var152 /* : Bool */; +short int var154 /* : Bool */; +short int var155 /* : Bool */; +short int var_156 /* var : Bool */; +short int var157 /* : Bool */; +short int var159 /* : Bool */; +static val* varonce160; +val* var161 /* : String */; +char* var162 /* : NativeString */; +val* var163 /* : FlatString */; +static val* varonce164; +val* var165 /* : String */; +char* var166 /* : NativeString */; +val* var167 /* : FlatString */; +val* var168 /* : nullable AAnnotation */; +val* var_atnoinit /* var atnoinit: nullable AAnnotation */; +short int var169 /* : Bool */; +short int var170 /* : Bool */; +short int var172 /* : Bool */; +short int var174 /* : Bool */; +static val* varonce175; +val* var176 /* : String */; +char* var177 /* : NativeString */; +val* var178 /* : FlatString */; +val* var179 /* : nullable AAnnotation */; +short int var180 /* : Bool */; +short int var181 /* : Bool */; +short int var183 /* : Bool */; +short int var184 /* : Bool */; +short int var186 /* : Bool */; +short int var188 /* : Bool */; +static val* varonce189; +val* var190 /* : String */; +char* var191 /* : NativeString */; +val* var192 /* : FlatString */; +short int var193 /* : Bool */; +short int var194 /* : Bool */; +short int var196 /* : Bool */; +short int var197 /* : Bool */; +static val* varonce198; +val* var199 /* : String */; +char* var200 /* : NativeString */; +val* var201 /* : FlatString */; +static val* varonce202; +val* var203 /* : String */; +char* var204 /* : NativeString */; +val* var205 /* : FlatString */; +static val* varonce206; +val* var207 /* : String */; +char* var208 /* : NativeString */; +val* var209 /* : FlatString */; +val* var210 /* : nullable AAnnotation */; +val* var_atlazy /* var atlazy: nullable AAnnotation */; +static val* varonce211; +val* var212 /* : String */; +char* var213 /* : NativeString */; +val* var214 /* : FlatString */; +val* var215 /* : nullable AAnnotation */; +val* var_atlateinit /* var atlateinit: nullable AAnnotation */; +short int var216 /* : Bool */; +short int var217 /* : Bool */; +short int var218 /* : Bool */; +short int var220 /* : Bool */; +short int var221 /* : Bool */; +short int var_222 /* var : Bool */; +short int var223 /* : Bool */; +short int var224 /* : Bool */; +short int var226 /* : Bool */; +short int var227 /* : Bool */; +short int var228 /* : Bool */; +short int var229 /* : Bool */; +short int var230 /* : Bool */; +short int var232 /* : Bool */; +short int var233 /* : Bool */; +short int var_234 /* var : Bool */; +short int var235 /* : Bool */; +short int var236 /* : Bool */; +short int var238 /* : Bool */; +short int var239 /* : Bool */; +static val* varonce240; +val* var241 /* : String */; +char* var242 /* : NativeString */; +val* var243 /* : FlatString */; +short int var244 /* : Bool */; +short int var246 /* : Bool */; +short int var247 /* : Bool */; +short int var248 /* : Bool */; +short int var249 /* : Bool */; +short int var251 /* : Bool */; +short int var252 /* : Bool */; +static val* varonce253; +val* var254 /* : String */; +char* var255 /* : NativeString */; +val* var256 /* : FlatString */; +short int var257 /* : Bool */; +short int var258 /* : Bool */; +short int var260 /* : Bool */; +short int var261 /* : Bool */; +static val* varonce262; +val* var263 /* : String */; +char* var264 /* : NativeString */; +val* var265 /* : FlatString */; +val* var268 /* : MAttribute */; +static val* varonce269; +val* var270 /* : String */; +char* var271 /* : NativeString */; +val* var272 /* : FlatString */; +val* var273 /* : String */; +val* var274 /* : Sys */; +val* var275 /* : MVisibility */; +val* var_mlazyprop /* var mlazyprop: MAttribute */; +val* var276 /* : MAttributeDef */; +val* var277 /* : Location */; +val* var279 /* : Location */; +val* var_mlazypropdef /* var mlazypropdef: MAttributeDef */; +static val* varonce281; +val* var282 /* : String */; +char* var283 /* : NativeString */; +val* var284 /* : FlatString */; +val* var285 /* : nullable AAnnotation */; +val* var_atreadonly /* var atreadonly: nullable AAnnotation */; +short int var286 /* : Bool */; +short int var287 /* : Bool */; +short int var289 /* : Bool */; +short int var290 /* : Bool */; +short int var291 /* : Bool */; +short int var293 /* : Bool */; +short int var294 /* : Bool */; +static val* varonce295; +val* var296 /* : String */; +char* var297 /* : NativeString */; +val* var298 /* : FlatString */; +short int var299 /* : Bool */; +short int var300 /* : Bool */; +short int var301 /* : Bool */; +short int var302 /* : Bool */; +short int var_303 /* var : Bool */; +short int var304 /* : Bool */; +short int var306 /* : Bool */; +short int var307 /* : Bool */; +short int var_308 /* var : Bool */; +short int var309 /* : Bool */; +short int var311 /* : Bool */; +short int var312 /* : Bool */; +static val* varonce313; +val* var314 /* : String */; +char* var315 /* : NativeString */; +val* var316 /* : FlatString */; +static val* varonce317; +val* var318 /* : String */; +char* var319 /* : NativeString */; +val* var320 /* : FlatString */; +static val* varonce321; +val* var322 /* : String */; +char* var323 /* : NativeString */; +val* var324 /* : FlatString */; +val* var325 /* : String */; +val* var_writename /* var writename: String */; +static val* varonce326; +val* var327 /* : String */; +char* var328 /* : NativeString */; +val* var329 /* : FlatString */; +val* var330 /* : nullable AAnnotation */; +val* var_atwritable /* var atwritable: nullable AAnnotation */; +short int var331 /* : Bool */; +short int var332 /* : Bool */; +short int var334 /* : Bool */; +short int var335 /* : Bool */; +val* var336 /* : ANodes[AExpr] */; +val* var338 /* : ANodes[AExpr] */; +short int var339 /* : Bool */; +short int var340 /* : Bool */; +val* var341 /* : String */; +val* var342 /* : nullable String */; +val* var343 /* : nullable MProperty */; +short int var344 /* : Bool */; +int cltype345; +int idtype346; +const char* var_class_name347; +val* var_mwriteprop /* var mwriteprop: nullable MMethod */; +val* var_nwkwredef /* var nwkwredef: nullable Token */; +short int var348 /* : Bool */; +short int var349 /* : Bool */; +short int var351 /* : Bool */; +short int var352 /* : Bool */; +val* var353 /* : nullable TKwredef */; +val* var355 /* : nullable TKwredef */; +short int var356 /* : Bool */; +short int var357 /* : Bool */; +short int var359 /* : Bool */; +short int var361 /* : Bool */; +short int var362 /* : Bool */; +short int var363 /* : Bool */; +short int var365 /* : Bool */; +short int var366 /* : Bool */; +val* var367 /* : nullable AVisibility */; +val* var369 /* : nullable AVisibility */; +val* var370 /* : MVisibility */; +val* var_mvisibility371 /* var mvisibility: nullable Object */; +val* var372 /* : Sys */; +val* var373 /* : MVisibility */; +val* var374 /* : MMethod */; +short int var375 /* : Bool */; +short int var376 /* : Bool */; +val* var377 /* : nullable MDeprecationInfo */; +val* var379 /* : nullable MDeprecationInfo */; +val* var381 /* : nullable Token */; +val* var382 /* : nullable TKwredef */; +val* var384 /* : nullable TKwredef */; +short int var385 /* : Bool */; +short int var386 /* : Bool */; +short int var387 /* : Bool */; +short int var388 /* : Bool */; +short int var390 /* : Bool */; +short int var391 /* : Bool */; +val* var392 /* : nullable AVisibility */; +val* var394 /* : nullable AVisibility */; +val* var395 /* : Map[MProperty, APropdef] */; +val* var397 /* : Map[MProperty, APropdef] */; +val* var398 /* : MMethodDef */; +val* var399 /* : Location */; +val* var401 /* : Location */; +val* var_mwritepropdef /* var mwritepropdef: MMethodDef */; +val* var403 /* : HashMap[MPropDef, APropdef] */; +val* var405 /* : HashMap[MPropDef, APropdef] */; +val* var406 /* : nullable MDoc */; +val* var408 /* : nullable MDoc */; +short int var410 /* : Bool */; +short int var411 /* : Bool */; +short int var413 /* : Bool */; +short int var414 /* : Bool */; +static val* varonce416; +val* var417 /* : String */; +char* var418 /* : NativeString */; +val* var419 /* : FlatString */; +val* var420 /* : nullable AAnnotation */; +val* var_atautoinit /* var atautoinit: nullable AAnnotation */; +short int var421 /* : Bool */; +short int var422 /* : Bool */; +short int var424 /* : Bool */; +short int var425 /* : Bool */; +short int var426 /* : Bool */; +short int var428 /* : Bool */; +static val* varonce429; +val* var430 /* : String */; +char* var431 /* : NativeString */; +val* var432 /* : FlatString */; +short int var433 /* : Bool */; +short int var434 /* : Bool */; +static val* varonce435; +val* var436 /* : String */; +char* var437 /* : NativeString */; +val* var438 /* : FlatString */; +short int var439 /* : Bool */; +short int var440 /* : Bool */; +static val* varonce441; +val* var442 /* : String */; +char* var443 /* : NativeString */; +val* var444 /* : FlatString */; +short int var445 /* : Bool */; +short int var446 /* : Bool */; +short int var448 /* : Bool */; +short int var450 /* : Bool */; +static val* varonce451; +val* var452 /* : String */; +char* var453 /* : NativeString */; +val* var454 /* : FlatString */; +static val* varonce455; +val* var456 /* : String */; +char* var457 /* : NativeString */; +val* var458 /* : FlatString */; +short int var459 /* : Bool */; +short int var460 /* : Bool */; +short int var462 /* : Bool */; +short int var463 /* : Bool */; +var_modelbuilder = p0; +var_mclassdef = p1; { -var105 = ((short int (*)(val* self, val* p0))(var_nexpr->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nexpr, var_other27) /* == on */; -} -var106 = !var105; -var103 = var106; -goto RET_LABEL104; -RET_LABEL104:(void)0; +{ /* Inline model#MClassDef#mclass (var_mclassdef) on */ +var2 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 553); +fatal_exit(1); } -var102 = var103; +var = var2; +RET_LABEL1:(void)0; } -if (var102){ -/* isa ANewExpr */ -cltype = type_nit__ANewExpr.color; -idtype = type_nit__ANewExpr.id; -if(cltype >= var_nexpr->type->table_size) { -var107 = 0; -} else { -var107 = var_nexpr->type->type_table[cltype] == idtype; } -if (var107){ +var_mclass = var; { -{ /* Inline parser_nodes#ANewExpr#n_type (var_nexpr) on */ -var110 = var_nexpr->attrs[COLOR_nit__parser_nodes__ANewExpr___n_type].val; /* _n_type on */ -if (unlikely(var110 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1962); -show_backtrace(1); +{ /* Inline parser_nodes#AAttrPropdef#n_id2 (self) on */ +var5 = self->attrs[COLOR_nit__parser_nodes__AAttrPropdef___n_id2].val; /* _n_id2 on */ +if (unlikely(var5 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id2"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1311); +fatal_exit(1); } -var108 = var110; -RET_LABEL109:(void)0; +var3 = var5; +RET_LABEL4:(void)0; } } +var_nid2 = var3; { -var111 = nit__modelize_class___ModelBuilder___resolve_mtype(var_modelbuilder, var_mmodule, var_mclassdef, var108); -} -var_mtype = var111; -} else { -/* isa AIntExpr */ -cltype113 = type_nit__AIntExpr.color; -idtype114 = type_nit__AIntExpr.id; -if(cltype113 >= var_nexpr->type->table_size) { -var112 = 0; -} else { -var112 = var_nexpr->type->type_table[cltype113] == idtype114; +var6 = nit__lexer_work___Token___text(var_nid2); } -if (var112){ -if (varonce) { -var115 = varonce; +var_name = var6; +if (likely(varonce!=NULL)) { +var7 = varonce; } else { -var116 = "Int"; -var117 = 3; -var118 = standard___standard__NativeString___to_s_with_length(var116, var117); -var115 = var118; -varonce = var115; +var8 = "abstract"; +var9 = standard___standard__NativeString___to_s_with_length(var8, 8l); +var7 = var9; +varonce = var7; } { -var119 = nit___nit__ModelBuilder___try_get_mclass_by_name(var_modelbuilder, var_nexpr, var_mmodule, var115); +var10 = nit__annotation___Prod___get_single_annotation(self, var7, var_modelbuilder); } -var_cla = var119; -var120 = NULL; -if (var_cla == NULL) { -var121 = 0; /* is null */ +var_atabstract = var10; +if (var_atabstract == NULL) { +var11 = 1; /* is null */ } else { -var121 = 1; /* arg is null and recv is not */ +var11 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_cla,var120) on */ -var_other27 = var120; -{ -var124 = ((short int (*)(val* self, val* p0))(var_cla->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_cla, var_other27) /* == on */; -} -var125 = !var124; -var122 = var125; -goto RET_LABEL123; -RET_LABEL123:(void)0; -} -var121 = var122; -} -if (var121){ +{ /* Inline kernel#Object#== (var_atabstract,((val*)NULL)) on */ +var_other = ((val*)NULL); { -{ /* Inline model#MClass#mclass_type (var_cla) on */ -var128 = var_cla->attrs[COLOR_nit__model__MClass___mclass_type].val; /* _mclass_type on */ -if (unlikely(var128 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 438); -show_backtrace(1); -} -var126 = var128; -RET_LABEL127:(void)0; -} -} -var_mtype = var126; -} else { -} -} else { -/* isa AFloatExpr */ -cltype130 = type_nit__AFloatExpr.color; -idtype131 = type_nit__AFloatExpr.id; -if(cltype130 >= var_nexpr->type->table_size) { -var129 = 0; -} else { -var129 = var_nexpr->type->type_table[cltype130] == idtype131; +{ /* Inline kernel#Object#is_same_instance (var_atabstract,var_other) on */ +var16 = var_atabstract == var_other; +var14 = var16; +goto RET_LABEL15; +RET_LABEL15:(void)0; } -if (var129){ -if (varonce132) { -var133 = varonce132; -} else { -var134 = "Float"; -var135 = 5; -var136 = standard___standard__NativeString___to_s_with_length(var134, var135); -var133 = var136; -varonce132 = var133; } -{ -var137 = nit___nit__ModelBuilder___try_get_mclass_by_name(var_modelbuilder, var_nexpr, var_mmodule, var133); +var12 = var14; +goto RET_LABEL13; +RET_LABEL13:(void)0; } -var_cla138 = var137; -var139 = NULL; -if (var_cla138 == NULL) { -var140 = 0; /* is null */ -} else { -var140 = 1; /* arg is null and recv is not */ +var11 = var12; } -if (0) { -{ /* Inline kernel#Object#!= (var_cla138,var139) on */ -var_other27 = var139; +if (var11){ { -var143 = ((short int (*)(val* self, val* p0))(var_cla138->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_cla138, var_other27) /* == on */; +{ /* Inline model#MClass#kind (var_mclass) on */ +var19 = var_mclass->attrs[COLOR_nit__model__MClass___kind].val; /* _kind on */ +if (unlikely(var19 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 436); +fatal_exit(1); } -var144 = !var143; -var141 = var144; -goto RET_LABEL142; -RET_LABEL142:(void)0; +var17 = var19; +RET_LABEL18:(void)0; } -var140 = var141; } -if (var140){ { -{ /* Inline model#MClass#mclass_type (var_cla138) on */ -var147 = var_cla138->attrs[COLOR_nit__model__MClass___mclass_type].val; /* _mclass_type on */ -if (unlikely(var147 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 438); -show_backtrace(1); -} -var145 = var147; -RET_LABEL146:(void)0; +{ /* Inline model#MClassKind#need_init (var17) on */ +var22 = var17->attrs[COLOR_nit__model__MClassKind___need_init].s; /* _need_init on */ +var20 = var22; +RET_LABEL21:(void)0; } } -var_mtype = var145; +var23 = !var20; +if (var23){ +if (unlikely(varonce24==NULL)) { +var25 = NEW_standard__NativeArray(7l, &type_standard__NativeArray__standard__String); +if (likely(varonce26!=NULL)) { +var27 = varonce26; } else { +var28 = "Error: attempt to define attribute `"; +var29 = standard___standard__NativeString___to_s_with_length(var28, 36l); +var27 = var29; +varonce26 = var27; } +((struct instance_standard__NativeArray*)var25)->values[0]=var27; +if (likely(varonce30!=NULL)) { +var31 = varonce30; } else { -/* isa ACharExpr */ -cltype149 = type_nit__ACharExpr.color; -idtype150 = type_nit__ACharExpr.id; -if(cltype149 >= var_nexpr->type->table_size) { -var148 = 0; -} else { -var148 = var_nexpr->type->type_table[cltype149] == idtype150; +var32 = "` in the "; +var33 = standard___standard__NativeString___to_s_with_length(var32, 9l); +var31 = var33; +varonce30 = var31; } -if (var148){ -if (varonce151) { -var152 = varonce151; +((struct instance_standard__NativeArray*)var25)->values[2]=var31; +if (likely(varonce34!=NULL)) { +var35 = varonce34; } else { -var153 = "Char"; -var154 = 4; -var155 = standard___standard__NativeString___to_s_with_length(var153, var154); -var152 = var155; -varonce151 = var152; +var36 = " `"; +var37 = standard___standard__NativeString___to_s_with_length(var36, 2l); +var35 = var37; +varonce34 = var35; } -{ -var156 = nit___nit__ModelBuilder___try_get_mclass_by_name(var_modelbuilder, var_nexpr, var_mmodule, var152); +((struct instance_standard__NativeArray*)var25)->values[4]=var35; +if (likely(varonce38!=NULL)) { +var39 = varonce38; +} else { +var40 = "`."; +var41 = standard___standard__NativeString___to_s_with_length(var40, 2l); +var39 = var41; +varonce38 = var39; } -var_cla157 = var156; -var158 = NULL; -if (var_cla157 == NULL) { -var159 = 0; /* is null */ +((struct instance_standard__NativeArray*)var25)->values[6]=var39; } else { -var159 = 1; /* arg is null and recv is not */ +var25 = varonce24; +varonce24 = NULL; } -if (0) { -{ /* Inline kernel#Object#!= (var_cla157,var158) on */ -var_other27 = var158; +((struct instance_standard__NativeArray*)var25)->values[1]=var_name; { -var162 = ((short int (*)(val* self, val* p0))(var_cla157->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_cla157, var_other27) /* == on */; +{ /* Inline model#MClass#kind (var_mclass) on */ +var44 = var_mclass->attrs[COLOR_nit__model__MClass___kind].val; /* _kind on */ +if (unlikely(var44 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 436); +fatal_exit(1); } -var163 = !var162; -var160 = var163; -goto RET_LABEL161; -RET_LABEL161:(void)0; +var42 = var44; +RET_LABEL43:(void)0; } -var159 = var160; } -if (var159){ { -{ /* Inline model#MClass#mclass_type (var_cla157) on */ -var166 = var_cla157->attrs[COLOR_nit__model__MClass___mclass_type].val; /* _mclass_type on */ -if (unlikely(var166 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 438); -show_backtrace(1); -} -var164 = var166; -RET_LABEL165:(void)0; -} -} -var_mtype = var164; -} else { -} -} else { -/* isa ABoolExpr */ -cltype168 = type_nit__ABoolExpr.color; -idtype169 = type_nit__ABoolExpr.id; -if(cltype168 >= var_nexpr->type->table_size) { -var167 = 0; -} else { -var167 = var_nexpr->type->type_table[cltype168] == idtype169; -} -if (var167){ -if (varonce170) { -var171 = varonce170; -} else { -var172 = "Bool"; -var173 = 4; -var174 = standard___standard__NativeString___to_s_with_length(var172, var173); -var171 = var174; -varonce170 = var171; +var45 = ((val*(*)(val* self))(var42->class->vft[COLOR_standard__string__Object__to_s]))(var42); /* to_s on */ } +((struct instance_standard__NativeArray*)var25)->values[3]=var45; { -var175 = nit___nit__ModelBuilder___try_get_mclass_by_name(var_modelbuilder, var_nexpr, var_mmodule, var171); +var46 = ((val*(*)(val* self))(var_mclass->class->vft[COLOR_standard__string__Object__to_s]))(var_mclass); /* to_s on */ } -var_cla176 = var175; -var177 = NULL; -if (var_cla176 == NULL) { -var178 = 0; /* is null */ -} else { -var178 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_cla176,var177) on */ -var_other27 = var177; +((struct instance_standard__NativeArray*)var25)->values[5]=var46; { -var181 = ((short int (*)(val* self, val* p0))(var_cla176->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_cla176, var_other27) /* == on */; -} -var182 = !var181; -var179 = var182; -goto RET_LABEL180; -RET_LABEL180:(void)0; -} -var178 = var179; +var47 = ((val*(*)(val* self))(var25->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var25); /* native_to_s on */ } -if (var178){ +varonce24 = var25; { -{ /* Inline model#MClass#mclass_type (var_cla176) on */ -var185 = var_cla176->attrs[COLOR_nit__model__MClass___mclass_type].val; /* _mclass_type on */ -if (unlikely(var185 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 438); -show_backtrace(1); -} -var183 = var185; -RET_LABEL184:(void)0; -} -} -var_mtype = var183; -} else { +nit___nit__ModelBuilder___error(var_modelbuilder, self, var47); /* Direct call modelbuilder_base#ModelBuilder#error on */ } } else { -/* isa ASuperstringExpr */ -cltype187 = type_nit__ASuperstringExpr.color; -idtype188 = type_nit__ASuperstringExpr.id; -if(cltype187 >= var_nexpr->type->table_size) { -var186 = 0; -} else { -var186 = var_nexpr->type->type_table[cltype187] == idtype188; } -if (var186){ -if (varonce189) { -var190 = varonce189; +var48 = NEW_nit__MAttribute(&type_nit__MAttribute); +if (likely(varonce49!=NULL)) { +var50 = varonce49; } else { -var191 = "String"; -var192 = 6; -var193 = standard___standard__NativeString___to_s_with_length(var191, var192); -var190 = var193; -varonce189 = var190; +var51 = "_"; +var52 = standard___standard__NativeString___to_s_with_length(var51, 1l); +var50 = var52; +varonce49 = var50; } { -var194 = nit___nit__ModelBuilder___try_get_mclass_by_name(var_modelbuilder, var_nexpr, var_mmodule, var190); -} -var_cla195 = var194; -var196 = NULL; -if (var_cla195 == NULL) { -var197 = 0; /* is null */ -} else { -var197 = 1; /* arg is null and recv is not */ +var53 = ((val*(*)(val* self, val* p0))(var50->class->vft[COLOR_standard__string__String___43d]))(var50, var_name); /* + on */ } -if (0) { -{ /* Inline kernel#Object#!= (var_cla195,var196) on */ -var_other27 = var196; +var54 = glob_sys; { -var200 = ((short int (*)(val* self, val* p0))(var_cla195->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_cla195, var_other27) /* == on */; -} -var201 = !var200; -var198 = var201; -goto RET_LABEL199; -RET_LABEL199:(void)0; -} -var197 = var198; +var55 = nit__model_base___standard__Sys___private_visibility(var54); } -if (var197){ { -{ /* Inline model#MClass#mclass_type (var_cla195) on */ -var204 = var_cla195->attrs[COLOR_nit__model__MClass___mclass_type].val; /* _mclass_type on */ -if (unlikely(var204 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 438); -show_backtrace(1); -} -var202 = var204; -RET_LABEL203:(void)0; -} -} -var_mtype = var202; -} else { -} -} else { -/* isa AStringFormExpr */ -cltype206 = type_nit__AStringFormExpr.color; -idtype207 = type_nit__AStringFormExpr.id; -if(cltype206 >= var_nexpr->type->table_size) { -var205 = 0; -} else { -var205 = var_nexpr->type->type_table[cltype206] == idtype207; -} -if (var205){ -if (varonce208) { -var209 = varonce208; -} else { -var210 = "String"; -var211 = 6; -var212 = standard___standard__NativeString___to_s_with_length(var210, var211); -var209 = var212; -varonce208 = var209; +((void(*)(val* self, val* p0))(var48->class->vft[COLOR_nit__model__MProperty__intro_mclassdef_61d]))(var48, var_mclassdef); /* intro_mclassdef= on */ } { -var213 = nit___nit__ModelBuilder___try_get_mclass_by_name(var_modelbuilder, var_nexpr, var_mmodule, var209); +((void(*)(val* self, val* p0))(var48->class->vft[COLOR_nit__model__MProperty__name_61d]))(var48, var53); /* name= on */ } -var_cla214 = var213; -var215 = NULL; -if (var_cla214 == NULL) { -var216 = 0; /* is null */ -} else { -var216 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_cla214,var215) on */ -var_other27 = var215; { -var219 = ((short int (*)(val* self, val* p0))(var_cla214->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_cla214, var_other27) /* == on */; -} -var220 = !var219; -var217 = var220; -goto RET_LABEL218; -RET_LABEL218:(void)0; +((void(*)(val* self, val* p0))(var48->class->vft[COLOR_nit__model__MProperty__visibility_61d]))(var48, var55); /* visibility= on */ } -var216 = var217; -} -if (var216){ { -{ /* Inline model#MClass#mclass_type (var_cla214) on */ -var223 = var_cla214->attrs[COLOR_nit__model__MClass___mclass_type].val; /* _mclass_type on */ -if (unlikely(var223 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 438); -show_backtrace(1); -} -var221 = var223; -RET_LABEL222:(void)0; -} -} -var_mtype = var221; -} else { +((void(*)(val* self))(var48->class->vft[COLOR_standard__kernel__Object__init]))(var48); /* init on */ } -} else { -if (varonce224) { -var225 = varonce224; -} else { -var226 = "Error: Untyped attribute "; -var227 = 25; -var228 = standard___standard__NativeString___to_s_with_length(var226, var227); -var225 = var228; -varonce224 = var225; -} -if (varonce229) { -var230 = varonce229; -} else { -var231 = ". Implicit typing allowed only for literals and new."; -var232 = 52; -var233 = standard___standard__NativeString___to_s_with_length(var231, var232); -var230 = var233; -varonce229 = var230; -} -var234 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var234 = array_instance Array[Object] */ -var235 = 3; -var236 = NEW_standard__NativeArray(var235, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var236)->values[0] = (val*) var225; -((struct instance_standard__NativeArray*)var236)->values[1] = (val*) var_mpropdef; -((struct instance_standard__NativeArray*)var236)->values[2] = (val*) var230; +var_mprop = var48; +var56 = NEW_nit__MAttributeDef(&type_nit__MAttributeDef); { -((void (*)(val* self, val* p0, long p1))(var234->class->vft[COLOR_standard__array__Array__with_native]))(var234, var236, var235) /* with_native on */; +{ /* Inline parser_nodes#ANode#location (self) on */ +var59 = self->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on */ +if (unlikely(var59 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 24); +fatal_exit(1); } +var57 = var59; +RET_LABEL58:(void)0; } -{ -var237 = ((val* (*)(val* self))(var234->class->vft[COLOR_standard__string__Object__to_s]))(var234) /* to_s on */; } { -nit___nit__ModelBuilder___error(var_modelbuilder, self, var237); /* Direct call modelbuilder_base#ModelBuilder#error on */ -} -} -} -} -} -} -} +((void(*)(val* self, val* p0))(var56->class->vft[COLOR_nit__model__MPropDef__mclassdef_61d]))(var56, var_mclassdef); /* mclassdef= on */ } -var238 = NULL; -if (var_mtype == NULL) { -var239 = 1; /* is null */ -} else { -var239 = 0; /* arg is null but recv is not */ -} -if (0) { -{ /* Inline kernel#Object#== (var_mtype,var238) on */ -var_other = var238; { -{ /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on */ -var244 = var_mtype == var_other; -var242 = var244; -goto RET_LABEL243; -RET_LABEL243:(void)0; -} -} -var240 = var242; -goto RET_LABEL241; -RET_LABEL241:(void)0; -} -var239 = var240; -} -if (var239){ -goto RET_LABEL; -} else { -} -} else { -} -} else { -var246 = NULL; -if (var_ntype == NULL) { -var247 = 0; /* is null */ -} else { -var247 = 1; /* arg is null and recv is not */ +((void(*)(val* self, val* p0))(var56->class->vft[COLOR_nit__model__MPropDef__mproperty_61d]))(var56, var_mprop); /* mproperty= on */ } -if (0) { -{ /* Inline kernel#Object#!= (var_ntype,var246) on */ -var_other27 = var246; { -var250 = ((short int (*)(val* self, val* p0))(var_ntype->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_ntype, var_other27) /* == on */; -} -var251 = !var250; -var248 = var251; -goto RET_LABEL249; -RET_LABEL249:(void)0; +((void(*)(val* self, val* p0))(var56->class->vft[COLOR_nit__model__MPropDef__location_61d]))(var56, var57); /* location= on */ } -var247 = var248; -} -var_252 = var247; -if (var247){ -if (var_inherited_type == NULL) { -var253 = 0; /* cannot be null */ -} else { -{ /* Inline kernel#Object#== (var_inherited_type,var_mtype) on */ -var_other = var_mtype; { -{ /* Inline kernel#Object#is_same_instance (var_inherited_type,var_other) on */ -var258 = var_inherited_type == var_other; -var256 = var258; -goto RET_LABEL257; -RET_LABEL257:(void)0; -} -} -var254 = var256; -goto RET_LABEL255; -RET_LABEL255:(void)0; -} -var253 = var254; -} -var245 = var253; -} else { -var245 = var_252; +((void(*)(val* self))(var56->class->vft[COLOR_standard__kernel__Object__init]))(var56); /* init on */ } -if (var245){ -/* isa ANewExpr */ -cltype260 = type_nit__ANewExpr.color; -idtype261 = type_nit__ANewExpr.id; -if(var_nexpr == NULL) { -var259 = 0; -} else { -if(cltype260 >= var_nexpr->type->table_size) { -var259 = 0; +var_mpropdef = var56; +/* isa nullable MPROPDEF */ +type_struct = self->type->resolution_table->types[COLOR_nullable__nit__modelize_property__APropdef__MPROPDEF]; +cltype = type_struct->color; +idtype = type_struct->id; +if(cltype >= var_mpropdef->type->table_size) { +var60 = 0; } else { -var259 = var_nexpr->type->type_table[cltype260] == idtype261; +var60 = var_mpropdef->type->type_table[cltype] == idtype; } +if (unlikely(!var60)) { +var_class_name = var_mpropdef == NULL ? "null" : var_mpropdef->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 1180); +fatal_exit(1); } -if (var259){ { -{ /* Inline parser_nodes#ANewExpr#n_type (var_nexpr) on */ -var264 = var_nexpr->attrs[COLOR_nit__parser_nodes__ANewExpr___n_type].val; /* _n_type on */ -if (unlikely(var264 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1962); -show_backtrace(1); +{ /* Inline modelize_property#APropdef#mpropdef= (self,var_mpropdef) on */ +/* Covariant cast for argument 0 (mpropdef) isa nullable MPROPDEF */ +/* isa nullable MPROPDEF */ +type_struct65 = self->type->resolution_table->types[COLOR_nullable__nit__modelize_property__APropdef__MPROPDEF]; +cltype63 = type_struct65->color; +idtype64 = type_struct65->id; +if(cltype63 >= var_mpropdef->type->table_size) { +var62 = 0; +} else { +var62 = var_mpropdef->type->type_table[cltype63] == idtype64; } -var262 = var264; -RET_LABEL263:(void)0; +if (unlikely(!var62)) { +var_class_name66 = var_mpropdef == NULL ? "null" : var_mpropdef->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name66); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 558); +fatal_exit(1); } +self->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val = var_mpropdef; /* _mpropdef on */ +RET_LABEL61:(void)0; } -{ -var265 = nit__modelize_class___ModelBuilder___resolve_mtype(var_modelbuilder, var_mmodule, var_mclassdef, var262); } -var_xmtype = var265; -if (var_xmtype == NULL) { -var266 = 0; /* cannot be null */ -} else { -{ /* Inline kernel#Object#== (var_xmtype,var_mtype) on */ -var_other = var_mtype; { -{ /* Inline kernel#Object#is_same_instance (var_xmtype,var_other) on */ -var271 = var_xmtype == var_other; -var269 = var271; -goto RET_LABEL270; -RET_LABEL270:(void)0; -} +{ /* Inline modelize_property#ModelBuilder#mpropdef2npropdef (var_modelbuilder) on */ +var69 = var_modelbuilder->attrs[COLOR_nit__modelize_property__ModelBuilder___mpropdef2npropdef].val; /* _mpropdef2npropdef on */ +if (unlikely(var69 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef2npropdef"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 40); +fatal_exit(1); } -var267 = var269; -goto RET_LABEL268; -RET_LABEL268:(void)0; +var67 = var69; +RET_LABEL68:(void)0; } -var266 = var267; } -if (var266){ -if (varonce272) { -var273 = varonce272; -} else { -var274 = "useless-type"; -var275 = 12; -var276 = standard___standard__NativeString___to_s_with_length(var274, var275); -var273 = var276; -varonce272 = var273; +{ +standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var67, var_mpropdef, self); /* Direct call hash_collection#HashMap#[]= on */ } -if (varonce277) { -var278 = varonce277; } else { -var279 = "Warning: useless type definition"; -var280 = 32; -var281 = standard___standard__NativeString___to_s_with_length(var279, var280); -var278 = var281; -varonce277 = var278; } +var_readname = var_name; { -nit___nit__ModelBuilder___advice(var_modelbuilder, var_ntype, var273, var278); /* Direct call modelbuilder_base#ModelBuilder#advice on */ +var70 = nit___nit__ModelBuilder___try_get_mproperty_by_name(var_modelbuilder, var_nid2, var_mclassdef, var_readname); } +/* isa nullable MMethod */ +cltype72 = type_nullable__nit__MMethod.color; +idtype73 = type_nullable__nit__MMethod.id; +if(var70 == NULL) { +var71 = 1; } else { -} +if(cltype72 >= var70->type->table_size) { +var71 = 0; } else { +var71 = var70->type->type_table[cltype72] == idtype73; } -} else { } +if (unlikely(!var71)) { +var_class_name74 = var70 == NULL ? "null" : var70->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MMethod", var_class_name74); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 1185); +fatal_exit(1); } -var282 = NULL; -if (var_mtype == NULL) { -var283 = 1; /* is null */ +var_mreadprop = var70; +if (var_mreadprop == NULL) { +var75 = 1; /* is null */ } else { -var283 = 0; /* arg is null but recv is not */ +var75 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_mtype,var282) on */ -var_other = var282; +{ /* Inline kernel#Object#== (var_mreadprop,((val*)NULL)) on */ +var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on */ -var288 = var_mtype == var_other; -var286 = var288; -goto RET_LABEL287; -RET_LABEL287:(void)0; +{ /* Inline kernel#Object#is_same_instance (var_mreadprop,var_other) on */ +var80 = var_mreadprop == var_other; +var78 = var80; +goto RET_LABEL79; +RET_LABEL79:(void)0; } } -var284 = var286; -goto RET_LABEL285; -RET_LABEL285:(void)0; +var76 = var78; +goto RET_LABEL77; +RET_LABEL77:(void)0; } -var283 = var284; +var75 = var76; +} +if (var75){ +{ +{ /* Inline parser_nodes#ADefinition#n_visibility (self) on */ +var83 = self->attrs[COLOR_nit__parser_nodes__ADefinition___n_visibility].val; /* _n_visibility on */ +var81 = var83; +RET_LABEL82:(void)0; } -if (var283){ -if (varonce289) { -var290 = varonce289; -} else { -var291 = "Error: Untyped attribute "; -var292 = 25; -var293 = standard___standard__NativeString___to_s_with_length(var291, var292); -var290 = var293; -varonce289 = var290; } -var294 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var294 = array_instance Array[Object] */ -var295 = 2; -var296 = NEW_standard__NativeArray(var295, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var296)->values[0] = (val*) var290; -((struct instance_standard__NativeArray*)var296)->values[1] = (val*) var_mpropdef; { -((void (*)(val* self, val* p0, long p1))(var294->class->vft[COLOR_standard__array__Array__with_native]))(var294, var296, var295) /* with_native on */; +var84 = nit__modelize_property___APropdef___new_property_visibility(self, var_modelbuilder, var_mclassdef, var81); } +var_mvisibility = var84; +var85 = NEW_nit__MMethod(&type_nit__MMethod); +{ +((void(*)(val* self, val* p0))(var85->class->vft[COLOR_nit__model__MProperty__intro_mclassdef_61d]))(var85, var_mclassdef); /* intro_mclassdef= on */ } { -var297 = ((val* (*)(val* self))(var294->class->vft[COLOR_standard__string__Object__to_s]))(var294) /* to_s on */; +((void(*)(val* self, val* p0))(var85->class->vft[COLOR_nit__model__MProperty__name_61d]))(var85, var_readname); /* name= on */ } { -nit___nit__ModelBuilder___error(var_modelbuilder, self, var297); /* Direct call modelbuilder_base#ModelBuilder#error on */ +((void(*)(val* self, val* p0))(var85->class->vft[COLOR_nit__model__MProperty__visibility_61d]))(var85, var_mvisibility); /* visibility= on */ } -goto RET_LABEL; -} else { +{ +((void(*)(val* self))(var85->class->vft[COLOR_standard__kernel__Object__init]))(var85); /* init on */ } +var_mreadprop = var85; { -{ /* Inline model#MAttributeDef#static_mtype= (var_mpropdef,var_mtype) on */ -var_mpropdef->attrs[COLOR_nit__model__MAttributeDef___static_mtype].val = var_mtype; /* _static_mtype on */ -RET_LABEL298:(void)0; +{ /* Inline parser_nodes#ADefinition#n_kwredef (self) on */ +var88 = self->attrs[COLOR_nit__parser_nodes__ADefinition___n_kwredef].val; /* _n_kwredef on */ +var86 = var88; +RET_LABEL87:(void)0; } } -var299 = NULL; -if (var_mreadpropdef == NULL) { -var300 = 0; /* is null */ +{ +var89 = nit__modelize_property___APropdef___check_redef_keyword(self, var_modelbuilder, var_mclassdef, var86, 0, var_mreadprop); +} +var90 = !var89; +if (var90){ +goto RET_LABEL; } else { -var300 = 1; /* arg is null and recv is not */ } -if (0) { -{ /* Inline kernel#Object#!= (var_mreadpropdef,var299) on */ -var_other27 = var299; +} else { { -var303 = ((short int (*)(val* self, val* p0))(var_mreadpropdef->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_mreadpropdef, var_other27) /* == on */; +{ /* Inline parser_nodes#ADefinition#n_kwredef (self) on */ +var93 = self->attrs[COLOR_nit__parser_nodes__ADefinition___n_kwredef].val; /* _n_kwredef on */ +var91 = var93; +RET_LABEL92:(void)0; } -var304 = !var303; -var301 = var304; -goto RET_LABEL302; -RET_LABEL302:(void)0; } -var300 = var301; +{ +var94 = nit__modelize_property___APropdef___check_redef_keyword(self, var_modelbuilder, var_mclassdef, var91, 1, var_mreadprop); +} +var95 = !var94; +if (var95){ +goto RET_LABEL; +} else { } -if (var300){ -var305 = NEW_nit__MSignature(&type_nit__MSignature); -var306 = NEW_standard__Array(&type_standard__Array__nit__MParameter); { -standard___standard__Array___standard__kernel__Object__init(var306); /* Direct call array#Array#init on */ +{ /* Inline parser_nodes#ADefinition#n_visibility (self) on */ +var98 = self->attrs[COLOR_nit__parser_nodes__ADefinition___n_visibility].val; /* _n_visibility on */ +var96 = var98; +RET_LABEL97:(void)0; +} } { -((void (*)(val* self, val* p0))(var305->class->vft[COLOR_nit__model__MSignature__mparameters_61d]))(var305, var306) /* mparameters= on */; +nit__modelize_property___APropdef___check_redef_property_visibility(self, var_modelbuilder, var96, var_mreadprop); /* Direct call modelize_property#APropdef#check_redef_property_visibility on */ +} } { -((void (*)(val* self, val* p0))(var305->class->vft[COLOR_nit__model__MSignature__return_mtype_61d]))(var305, var_mtype) /* return_mtype= on */; +{ /* Inline modelize_property#MClassDef#mprop2npropdef (var_mclassdef) on */ +var101 = var_mclassdef->attrs[COLOR_nit__modelize_property__MClassDef___mprop2npropdef].val; /* _mprop2npropdef on */ +if (unlikely(var101 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mprop2npropdef"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 505); +fatal_exit(1); +} +var99 = var101; +RET_LABEL100:(void)0; +} } { -((void (*)(val* self))(var305->class->vft[COLOR_standard__kernel__Object__init]))(var305) /* init on */; +((void(*)(val* self, val* p0, val* p1))((((long)var99&3)?class_info[((long)var99&3)]:var99->class)->vft[COLOR_standard__abstract_collection__Map___91d_93d_61d]))(var99, var_mreadprop, self); /* []= on */ } -var_msignature307 = var305; +var102 = NEW_nit__MMethodDef(&type_nit__MMethodDef); { -{ /* Inline model#MMethodDef#msignature= (var_mreadpropdef,var_msignature307) on */ -var_mreadpropdef->attrs[COLOR_nit__model__MMethodDef___msignature].val = var_msignature307; /* _msignature on */ -RET_LABEL308:(void)0; +{ /* Inline parser_nodes#ANode#location (self) on */ +var105 = self->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on */ +if (unlikely(var105 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 24); +fatal_exit(1); } +var103 = var105; +RET_LABEL104:(void)0; } -} else { } { -{ /* Inline modelize_property#AAttrPropdef#mwritepropdef (self) on */ -var311 = self->attrs[COLOR_nit__modelize_property__AAttrPropdef___mwritepropdef].val; /* _mwritepropdef on */ -var309 = var311; -RET_LABEL310:(void)0; +((void(*)(val* self, val* p0))(var102->class->vft[COLOR_nit__model__MPropDef__mclassdef_61d]))(var102, var_mclassdef); /* mclassdef= on */ } +{ +((void(*)(val* self, val* p0))(var102->class->vft[COLOR_nit__model__MPropDef__mproperty_61d]))(var102, var_mreadprop); /* mproperty= on */ } -var_mwritepropdef = var309; -var312 = NULL; -if (var_mwritepropdef == NULL) { -var313 = 0; /* is null */ -} else { -var313 = 1; /* arg is null and recv is not */ +{ +((void(*)(val* self, val* p0))(var102->class->vft[COLOR_nit__model__MPropDef__location_61d]))(var102, var103); /* location= on */ } -if (0) { -{ /* Inline kernel#Object#!= (var_mwritepropdef,var312) on */ -var_other27 = var312; { -var316 = ((short int (*)(val* self, val* p0))(var_mwritepropdef->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_mwritepropdef, var_other27) /* == on */; +((void(*)(val* self))(var102->class->vft[COLOR_standard__kernel__Object__init]))(var102); /* init on */ } -var317 = !var316; -var314 = var317; -goto RET_LABEL315; -RET_LABEL315:(void)0; +var_mreadpropdef = var102; +{ +{ /* Inline modelize_property#AAttrPropdef#mreadpropdef= (self,var_mreadpropdef) on */ +self->attrs[COLOR_nit__modelize_property__AAttrPropdef___mreadpropdef].val = var_mreadpropdef; /* _mreadpropdef on */ +RET_LABEL106:(void)0; } -var313 = var314; } -if (var313){ { -{ /* Inline parser_nodes#AAttrPropdef#n_id2 (self) on */ -var320 = self->attrs[COLOR_nit__parser_nodes__AAttrPropdef___n_id2].val; /* _n_id2 on */ -if (unlikely(var320 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id2"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1138); -show_backtrace(1); +{ /* Inline modelize_property#ModelBuilder#mpropdef2npropdef (var_modelbuilder) on */ +var109 = var_modelbuilder->attrs[COLOR_nit__modelize_property__ModelBuilder___mpropdef2npropdef].val; /* _mpropdef2npropdef on */ +if (unlikely(var109 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef2npropdef"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 40); +fatal_exit(1); } -var318 = var320; -RET_LABEL319:(void)0; +var107 = var109; +RET_LABEL108:(void)0; } } { -var321 = nit__lexer_work___Token___text(var318); +standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var107, var_mreadpropdef, self); /* Direct call hash_collection#HashMap#[]= on */ } -var_name = var321; -var322 = NEW_nit__MParameter(&type_nit__MParameter); -var323 = 0; { -((void (*)(val* self, val* p0))(var322->class->vft[COLOR_nit__model__MParameter__name_61d]))(var322, var_name) /* name= on */; +nit__modelize_property___APropdef___set_doc(self, var_mreadpropdef, var_modelbuilder); /* Direct call modelize_property#APropdef#set_doc on */ } { -((void (*)(val* self, val* p0))(var322->class->vft[COLOR_nit__model__MParameter__mtype_61d]))(var322, var_mtype) /* mtype= on */; +{ /* Inline modelize_property#APropdef#mpropdef (self) on */ +var112 = self->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ +var110 = var112; +RET_LABEL111:(void)0; } -{ -((void (*)(val* self, short int p0))(var322->class->vft[COLOR_nit__model__MParameter__is_vararg_61d]))(var322, var323) /* is_vararg= on */; } -{ -((void (*)(val* self))(var322->class->vft[COLOR_standard__kernel__Object__init]))(var322) /* init on */; +if (var110 == NULL) { +var113 = 0; /* is null */ +} else { +var113 = 1; /* arg is null and recv is not */ } -var_mparameter = var322; -var324 = NEW_nit__MSignature(&type_nit__MSignature); -var325 = NEW_standard__Array(&type_standard__Array__nit__MParameter); -var326 = 1; +if (0) { +{ /* Inline kernel#Object#!= (var110,((val*)NULL)) on */ +var_other116 = ((val*)NULL); { -standard___standard__Array___with_capacity(var325, var326); /* Direct call array#Array#with_capacity on */ +var117 = ((short int(*)(val* self, val* p0))(var110->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var110, var_other116); /* == on */ } -var_327 = var325; -{ -standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_327, var_mparameter); /* Direct call array#AbstractArray#push on */ +var118 = !var117; +var114 = var118; +goto RET_LABEL115; +RET_LABEL115:(void)0; } -var328 = NULL; -{ -((void (*)(val* self, val* p0))(var324->class->vft[COLOR_nit__model__MSignature__mparameters_61d]))(var324, var_327) /* mparameters= on */; +var113 = var114; } +if (var113){ { -((void (*)(val* self, val* p0))(var324->class->vft[COLOR_nit__model__MSignature__return_mtype_61d]))(var324, var328) /* return_mtype= on */; +{ /* Inline modelize_property#APropdef#mpropdef (self) on */ +var121 = self->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ +var119 = var121; +RET_LABEL120:(void)0; } -{ -((void (*)(val* self))(var324->class->vft[COLOR_standard__kernel__Object__init]))(var324) /* init on */; } -var_msignature329 = var324; { -{ /* Inline model#MMethodDef#msignature= (var_mwritepropdef,var_msignature329) on */ -var_mwritepropdef->attrs[COLOR_nit__model__MMethodDef___msignature].val = var_msignature329; /* _msignature on */ -RET_LABEL330:(void)0; +{ /* Inline mdoc#MEntity#mdoc (var_mreadpropdef) on */ +var124 = var_mreadpropdef->attrs[COLOR_nit__mdoc__MEntity___mdoc].val; /* _mdoc on */ +var122 = var124; +RET_LABEL123:(void)0; } } +if (var119 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 1200); +fatal_exit(1); } else { +{ /* Inline mdoc#MEntity#mdoc= (var119,var122) on */ +if (unlikely(var119 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__mdoc, 37); +fatal_exit(1); } -{ -{ /* Inline modelize_property#AAttrPropdef#mlazypropdef (self) on */ -var333 = self->attrs[COLOR_nit__modelize_property__AAttrPropdef___mlazypropdef].val; /* _mlazypropdef on */ -var331 = var333; -RET_LABEL332:(void)0; +var119->attrs[COLOR_nit__mdoc__MEntity___mdoc].val = var122; /* _mdoc on */ +RET_LABEL125:(void)0; } } -var_mlazypropdef = var331; -var334 = NULL; -if (var_mlazypropdef == NULL) { -var335 = 0; /* is null */ } else { -var335 = 1; /* arg is null and recv is not */ +} +if (var_atabstract == NULL) { +var126 = 0; /* is null */ +} else { +var126 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_mlazypropdef,var334) on */ -var_other27 = var334; +{ /* Inline kernel#Object#!= (var_atabstract,((val*)NULL)) on */ +var_other116 = ((val*)NULL); { -var338 = ((short int (*)(val* self, val* p0))(var_mlazypropdef->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_mlazypropdef, var_other27) /* == on */; +var129 = ((short int(*)(val* self, val* p0))(var_atabstract->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_atabstract, var_other116); /* == on */ } -var339 = !var338; -var336 = var339; -goto RET_LABEL337; -RET_LABEL337:(void)0; +var130 = !var129; +var127 = var130; +goto RET_LABEL128; +RET_LABEL128:(void)0; } -var335 = var336; +var126 = var127; } -if (var335){ +if (var126){ { -{ /* Inline modelbuilder_base#ModelBuilder#model (var_modelbuilder) on */ -var342 = var_modelbuilder->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___model].val; /* _model on */ -if (unlikely(var342 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 44); -show_backtrace(1); -} -var340 = var342; -RET_LABEL341:(void)0; +{ /* Inline model#MMethodDef#is_abstract= (var_mreadpropdef,1) on */ +var_mreadpropdef->attrs[COLOR_nit__model__MMethodDef___is_abstract].s = 1; /* _is_abstract on */ +RET_LABEL131:(void)0; } } -if (varonce343) { -var344 = varonce343; } else { -var345 = "Bool"; -var346 = 4; -var347 = standard___standard__NativeString___to_s_with_length(var345, var346); -var344 = var347; -varonce343 = var344; } { -var348 = nit__model___Model___get_mclasses_by_name(var340, var344); +{ /* Inline parser_nodes#AAttrPropdef#n_expr (self) on */ +var135 = self->attrs[COLOR_nit__parser_nodes__AAttrPropdef___n_expr].val; /* _n_expr on */ +var133 = var135; +RET_LABEL134:(void)0; } -if (var348 == NULL) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 1090); -show_backtrace(1); +} +if (var133 == NULL) { +var136 = 0; /* is null */ } else { -var349 = standard___standard__SequenceRead___Collection__first(var348); +var136 = 1; /* arg is null and recv is not */ } +if (0) { +{ /* Inline kernel#Object#!= (var133,((val*)NULL)) on */ +var_other116 = ((val*)NULL); { -{ /* Inline model#MClass#mclass_type (var349) on */ -var352 = var349->attrs[COLOR_nit__model__MClass___mclass_type].val; /* _mclass_type on */ -if (unlikely(var352 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 438); -show_backtrace(1); +var139 = ((short int(*)(val* self, val* p0))(var133->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var133, var_other116); /* == on */ } -var350 = var352; -RET_LABEL351:(void)0; +var140 = !var139; +var137 = var140; +goto RET_LABEL138; +RET_LABEL138:(void)0; } +var136 = var137; } +var_ = var136; +if (var136){ +var132 = var_; +} else { { -{ /* Inline model#MAttributeDef#static_mtype= (var_mlazypropdef,var350) on */ -var_mlazypropdef->attrs[COLOR_nit__model__MAttributeDef___static_mtype].val = var350; /* _static_mtype on */ -RET_LABEL353:(void)0; +{ /* Inline parser_nodes#AAttrPropdef#n_block (self) on */ +var143 = self->attrs[COLOR_nit__parser_nodes__AAttrPropdef___n_block].val; /* _n_block on */ +var141 = var143; +RET_LABEL142:(void)0; } } +if (var141 == NULL) { +var144 = 0; /* is null */ } else { +var144 = 1; /* arg is null and recv is not */ } -RET_LABEL:; +if (0) { +{ /* Inline kernel#Object#!= (var141,((val*)NULL)) on */ +var_other116 = ((val*)NULL); +{ +var147 = ((short int(*)(val* self, val* p0))(var141->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var141, var_other116); /* == on */ +} +var148 = !var147; +var145 = var148; +goto RET_LABEL146; +RET_LABEL146:(void)0; +} +var144 = var145; +} +var132 = var144; } -/* method modelize_property#AAttrPropdef#check_signature for (self: AAttrPropdef, ModelBuilder) */ -void nit__modelize_property___AAttrPropdef___APropdef__check_signature(val* self, val* p0) { -val* var_modelbuilder /* var modelbuilder: ModelBuilder */; -val* var /* : nullable MPropDef */; -val* var2 /* : nullable MPropDef */; -val* var_mpropdef /* var mpropdef: nullable MAttributeDef */; -val* var3 /* : null */; -short int var4 /* : Bool */; -short int var5 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var7 /* : Bool */; -short int var9 /* : Bool */; -val* var10 /* : nullable AType */; -val* var12 /* : nullable AType */; -val* var_ntype /* var ntype: nullable AType */; -val* var13 /* : nullable MPropDef */; -val* var15 /* : nullable MPropDef */; -val* var16 /* : nullable MType */; -val* var18 /* : nullable MType */; -val* var_mtype /* var mtype: nullable MType */; -val* var19 /* : null */; -short int var20 /* : Bool */; -short int var21 /* : Bool */; -short int var23 /* : Bool */; -short int var25 /* : Bool */; -short int var26 /* : Bool */; -short int var27 /* : Bool */; -val* var28 /* : MProperty */; -val* var30 /* : MProperty */; -val* var31 /* : MPropDef */; -val* var33 /* : MPropDef */; -val* var34 /* : nullable MType */; -val* var36 /* : nullable MType */; -val* var_precursor_type /* var precursor_type: nullable MType */; -val* var37 /* : null */; -short int var38 /* : Bool */; -short int var39 /* : Bool */; -short int var41 /* : Bool */; -short int var43 /* : Bool */; -short int var44 /* : Bool */; -val* var_other46 /* var other: nullable Object */; -short int var47 /* : Bool */; -short int var48 /* : Bool */; -static val* varonce; -val* var49 /* : String */; -char* var50 /* : NativeString */; -long var51 /* : Int */; -val* var52 /* : FlatString */; -static val* varonce53; -val* var54 /* : String */; -char* var55 /* : NativeString */; -long var56 /* : Int */; -val* var57 /* : FlatString */; -static val* varonce58; -val* var59 /* : String */; -char* var60 /* : NativeString */; -long var61 /* : Int */; -val* var62 /* : FlatString */; -val* var63 /* : Array[Object] */; -long var64 /* : Int */; -val* var65 /* : NativeArray[Object] */; -val* var66 /* : String */; -val* var67 /* : nullable MMethodDef */; -val* var69 /* : nullable MMethodDef */; -val* var_meth /* var meth: nullable MMethodDef */; -val* var70 /* : null */; -short int var71 /* : Bool */; -short int var72 /* : Bool */; -short int var74 /* : Bool */; -short int var75 /* : Bool */; -val* var_node /* var node: nullable ANode */; -val* var76 /* : null */; -short int var77 /* : Bool */; -short int var78 /* : Bool */; -short int var80 /* : Bool */; -short int var82 /* : Bool */; -val* var83 /* : nullable MMethodDef */; -val* var85 /* : nullable MMethodDef */; -val* var86 /* : null */; -short int var87 /* : Bool */; -short int var88 /* : Bool */; -short int var90 /* : Bool */; -short int var91 /* : Bool */; -val* var_node92 /* var node: nullable ANode */; -val* var93 /* : null */; -short int var94 /* : Bool */; -short int var95 /* : Bool */; -short int var97 /* : Bool */; -short int var99 /* : Bool */; -var_modelbuilder = p0; { -{ /* Inline modelize_property#APropdef#mpropdef (self) on */ -var2 = self->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ -var = var2; -RET_LABEL1:(void)0; +{ /* Inline modelize_property#AAttrPropdef#has_value= (self,var132) on */ +self->attrs[COLOR_nit__modelize_property__AAttrPropdef___has_value].s = var132; /* _has_value on */ +RET_LABEL149:(void)0; } } -var_mpropdef = var; -var3 = NULL; -if (var_mpropdef == NULL) { -var4 = 1; /* is null */ +if (var_atabstract == NULL) { +var151 = 0; /* is null */ } else { -var4 = 0; /* arg is null but recv is not */ +var151 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_mpropdef,var3) on */ -var_other = var3; +{ /* Inline kernel#Object#!= (var_atabstract,((val*)NULL)) on */ +var_other116 = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_mpropdef,var_other) on */ -var9 = var_mpropdef == var_other; -var7 = var9; -goto RET_LABEL8; -RET_LABEL8:(void)0; +var154 = ((short int(*)(val* self, val* p0))(var_atabstract->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_atabstract, var_other116); /* == on */ } +var155 = !var154; +var152 = var155; +goto RET_LABEL153; +RET_LABEL153:(void)0; } -var5 = var7; -goto RET_LABEL6; -RET_LABEL6:(void)0; +var151 = var152; } -var4 = var5; +var_156 = var151; +if (var151){ +{ +{ /* Inline modelize_property#AAttrPropdef#has_value (self) on */ +var159 = self->attrs[COLOR_nit__modelize_property__AAttrPropdef___has_value].s; /* _has_value on */ +var157 = var159; +RET_LABEL158:(void)0; } -if (var4){ -goto RET_LABEL; -} else { } -{ -{ /* Inline parser_nodes#AAttrPropdef#n_type (self) on */ -var12 = self->attrs[COLOR_nit__parser_nodes__AAttrPropdef___n_type].val; /* _n_type on */ -var10 = var12; -RET_LABEL11:(void)0; +var150 = var157; +} else { +var150 = var_156; } +if (var150){ +if (likely(varonce160!=NULL)) { +var161 = varonce160; +} else { +var162 = "Error: `abstract` attributes cannot have an initial value."; +var163 = standard___standard__NativeString___to_s_with_length(var162, 58l); +var161 = var163; +varonce160 = var161; } -var_ntype = var10; { -{ /* Inline modelize_property#APropdef#mpropdef (self) on */ -var15 = self->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ -var13 = var15; -RET_LABEL14:(void)0; +nit___nit__ModelBuilder___error(var_modelbuilder, var_atabstract, var161); /* Direct call modelbuilder_base#ModelBuilder#error on */ } -} -if (var13 == NULL) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 1099); -show_backtrace(1); +goto RET_LABEL; } else { -{ /* Inline model#MAttributeDef#static_mtype (var13) on */ -if (unlikely(var13 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2180); -show_backtrace(1); } -var18 = var13->attrs[COLOR_nit__model__MAttributeDef___static_mtype].val; /* _static_mtype on */ -var16 = var18; -RET_LABEL17:(void)0; +if (likely(varonce164!=NULL)) { +var165 = varonce164; +} else { +var166 = "noinit"; +var167 = standard___standard__NativeString___to_s_with_length(var166, 6l); +var165 = var167; +varonce164 = var165; } +{ +var168 = nit__annotation___Prod___get_single_annotation(self, var165, var_modelbuilder); } -var_mtype = var16; -var19 = NULL; -if (var_mtype == NULL) { -var20 = 1; /* is null */ +var_atnoinit = var168; +if (var_atnoinit == NULL) { +var169 = 1; /* is null */ } else { -var20 = 0; /* arg is null but recv is not */ +var169 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_mtype,var19) on */ -var_other = var19; +{ /* Inline kernel#Object#== (var_atnoinit,((val*)NULL)) on */ +var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on */ -var25 = var_mtype == var_other; -var23 = var25; -goto RET_LABEL24; -RET_LABEL24:(void)0; +{ /* Inline kernel#Object#is_same_instance (var_atnoinit,var_other) on */ +var174 = var_atnoinit == var_other; +var172 = var174; +goto RET_LABEL173; +RET_LABEL173:(void)0; +} +} +var170 = var172; +goto RET_LABEL171; +RET_LABEL171:(void)0; +} +var169 = var170; } +if (var169){ +if (likely(varonce175!=NULL)) { +var176 = varonce175; +} else { +var177 = "noautoinit"; +var178 = standard___standard__NativeString___to_s_with_length(var177, 10l); +var176 = var178; +varonce175 = var176; } -var21 = var23; -goto RET_LABEL22; -RET_LABEL22:(void)0; +{ +var179 = nit__annotation___Prod___get_single_annotation(self, var176, var_modelbuilder); } -var20 = var21; +var_atnoinit = var179; +} else { } -if (var20){ -goto RET_LABEL; +if (var_atnoinit == NULL) { +var180 = 0; /* is null */ } else { +var180 = 1; /* arg is null and recv is not */ } +if (0) { +{ /* Inline kernel#Object#!= (var_atnoinit,((val*)NULL)) on */ +var_other116 = ((val*)NULL); { -var26 = nit___nit__MPropDef___is_intro(var_mpropdef); +var183 = ((short int(*)(val* self, val* p0))(var_atnoinit->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_atnoinit, var_other116); /* == on */ } -var27 = !var26; -if (var27){ -{ -{ /* Inline model#MPropDef#mproperty (var_mpropdef) on */ -var30 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var30 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); +var184 = !var183; +var181 = var184; +goto RET_LABEL182; +RET_LABEL182:(void)0; } -var28 = var30; -RET_LABEL29:(void)0; +var180 = var181; +} +if (var180){ +{ +{ /* Inline modelize_property#AAttrPropdef#noinit= (self,1) on */ +self->attrs[COLOR_nit__modelize_property__AAttrPropdef___noinit].s = 1; /* _noinit on */ +RET_LABEL185:(void)0; } } { -{ /* Inline model#MProperty#intro (var28) on */ -var33 = var28->attrs[COLOR_nit__model__MProperty___intro].val; /* _intro on */ -if (unlikely(var33 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1773); -show_backtrace(1); +{ /* Inline modelize_property#AAttrPropdef#has_value (self) on */ +var188 = self->attrs[COLOR_nit__modelize_property__AAttrPropdef___has_value].s; /* _has_value on */ +var186 = var188; +RET_LABEL187:(void)0; } -var31 = var33; -RET_LABEL32:(void)0; } +if (var186){ +if (likely(varonce189!=NULL)) { +var190 = varonce189; +} else { +var191 = "Error: `noautoinit` attributes cannot have an initial value."; +var192 = standard___standard__NativeString___to_s_with_length(var191, 60l); +var190 = var192; +varonce189 = var190; } { -{ /* Inline model#MAttributeDef#static_mtype (var31) on */ -var36 = var31->attrs[COLOR_nit__model__MAttributeDef___static_mtype].val; /* _static_mtype on */ -var34 = var36; -RET_LABEL35:(void)0; +nit___nit__ModelBuilder___error(var_modelbuilder, var_atnoinit, var190); /* Direct call modelbuilder_base#ModelBuilder#error on */ } +goto RET_LABEL; +} else { } -var_precursor_type = var34; -var37 = NULL; -if (var_precursor_type == NULL) { -var38 = 1; /* is null */ +if (var_atabstract == NULL) { +var193 = 0; /* is null */ } else { -var38 = 0; /* arg is null but recv is not */ +var193 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_precursor_type,var37) on */ -var_other = var37; +{ /* Inline kernel#Object#!= (var_atabstract,((val*)NULL)) on */ +var_other116 = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_precursor_type,var_other) on */ -var43 = var_precursor_type == var_other; -var41 = var43; -goto RET_LABEL42; -RET_LABEL42:(void)0; +var196 = ((short int(*)(val* self, val* p0))(var_atabstract->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_atabstract, var_other116); /* == on */ } +var197 = !var196; +var194 = var197; +goto RET_LABEL195; +RET_LABEL195:(void)0; } -var39 = var41; -goto RET_LABEL40; -RET_LABEL40:(void)0; +var193 = var194; } -var38 = var39; +if (var193){ +if (likely(varonce198!=NULL)) { +var199 = varonce198; +} else { +var200 = "useless-noautoinit"; +var201 = standard___standard__NativeString___to_s_with_length(var200, 18l); +var199 = var201; +varonce198 = var199; } -if (var38){ -goto RET_LABEL; +if (likely(varonce202!=NULL)) { +var203 = varonce202; } else { +var204 = "Warning: superfluous `noautoinit` on abstract attribute."; +var205 = standard___standard__NativeString___to_s_with_length(var204, 56l); +var203 = var205; +varonce202 = var203; } { -{ /* Inline kernel#Object#!= (var_mtype,var_precursor_type) on */ -var_other46 = var_precursor_type; -{ -var47 = ((short int (*)(val* self, val* p0))(var_mtype->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_mtype, var_other46) /* == on */; -} -var48 = !var47; -var44 = var48; -goto RET_LABEL45; -RET_LABEL45:(void)0; -} -} -if (var44){ -if (unlikely(var_ntype == NULL)) { -PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 1109); -show_backtrace(1); +nit___nit__ModelBuilder___warning(var_modelbuilder, var_atnoinit, var199, var203); /* Direct call modelbuilder_base#ModelBuilder#warning on */ } -if (varonce) { -var49 = varonce; } else { -var50 = "Redef Error: Wrong static type. found "; -var51 = 38; -var52 = standard___standard__NativeString___to_s_with_length(var50, var51); -var49 = var52; -varonce = var49; } -if (varonce53) { -var54 = varonce53; } else { -var55 = ", expected "; -var56 = 11; -var57 = standard___standard__NativeString___to_s_with_length(var55, var56); -var54 = var57; -varonce53 = var54; } -if (varonce58) { -var59 = varonce58; +if (likely(varonce206!=NULL)) { +var207 = varonce206; } else { -var60 = "."; -var61 = 1; -var62 = standard___standard__NativeString___to_s_with_length(var60, var61); -var59 = var62; -varonce58 = var59; +var208 = "lazy"; +var209 = standard___standard__NativeString___to_s_with_length(var208, 4l); +var207 = var209; +varonce206 = var207; } -var63 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var63 = array_instance Array[Object] */ -var64 = 5; -var65 = NEW_standard__NativeArray(var64, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var65)->values[0] = (val*) var49; -((struct instance_standard__NativeArray*)var65)->values[1] = (val*) var_mtype; -((struct instance_standard__NativeArray*)var65)->values[2] = (val*) var54; -((struct instance_standard__NativeArray*)var65)->values[3] = (val*) var_precursor_type; -((struct instance_standard__NativeArray*)var65)->values[4] = (val*) var59; { -((void (*)(val* self, val* p0, long p1))(var63->class->vft[COLOR_standard__array__Array__with_native]))(var63, var65, var64) /* with_native on */; +var210 = nit__annotation___Prod___get_single_annotation(self, var207, var_modelbuilder); } +var_atlazy = var210; +if (likely(varonce211!=NULL)) { +var212 = varonce211; +} else { +var213 = "lateinit"; +var214 = standard___standard__NativeString___to_s_with_length(var213, 8l); +var212 = var214; +varonce211 = var212; } { -var66 = ((val* (*)(val* self))(var63->class->vft[COLOR_standard__string__Object__to_s]))(var63) /* to_s on */; +var215 = nit__annotation___Prod___get_single_annotation(self, var212, var_modelbuilder); +} +var_atlateinit = var215; +if (var_atlazy == NULL) { +var217 = 0; /* is null */ +} else { +var217 = 1; /* arg is null and recv is not */ } +if (0) { +{ /* Inline kernel#Object#!= (var_atlazy,((val*)NULL)) on */ +var_other116 = ((val*)NULL); { -nit___nit__ModelBuilder___error(var_modelbuilder, var_ntype, var66); /* Direct call modelbuilder_base#ModelBuilder#error on */ +var220 = ((short int(*)(val* self, val* p0))(var_atlazy->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_atlazy, var_other116); /* == on */ } -goto RET_LABEL; -} else { +var221 = !var220; +var218 = var221; +goto RET_LABEL219; +RET_LABEL219:(void)0; +} +var217 = var218; } +var_222 = var217; +if (var217){ +var216 = var_222; } else { +if (var_atlateinit == NULL) { +var223 = 0; /* is null */ +} else { +var223 = 1; /* arg is null and recv is not */ } +if (0) { +{ /* Inline kernel#Object#!= (var_atlateinit,((val*)NULL)) on */ +var_other116 = ((val*)NULL); { -{ /* Inline modelize_property#AAttrPropdef#mreadpropdef (self) on */ -var69 = self->attrs[COLOR_nit__modelize_property__AAttrPropdef___mreadpropdef].val; /* _mreadpropdef on */ -var67 = var69; -RET_LABEL68:(void)0; +var226 = ((short int(*)(val* self, val* p0))(var_atlateinit->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_atlateinit, var_other116); /* == on */ +} +var227 = !var226; +var224 = var227; +goto RET_LABEL225; +RET_LABEL225:(void)0; +} +var223 = var224; } +var216 = var223; } -var_meth = var67; -var70 = NULL; -if (var_meth == NULL) { -var71 = 0; /* is null */ +if (var216){ +if (var_atlazy == NULL) { +var229 = 0; /* is null */ } else { -var71 = 1; /* arg is null and recv is not */ +var229 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_meth,var70) on */ -var_other46 = var70; +{ /* Inline kernel#Object#!= (var_atlazy,((val*)NULL)) on */ +var_other116 = ((val*)NULL); { -var74 = ((short int (*)(val* self, val* p0))(var_meth->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_meth, var_other46) /* == on */; -} -var75 = !var74; -var72 = var75; -goto RET_LABEL73; -RET_LABEL73:(void)0; +var232 = ((short int(*)(val* self, val* p0))(var_atlazy->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_atlazy, var_other116); /* == on */ } -var71 = var72; +var233 = !var232; +var230 = var233; +goto RET_LABEL231; +RET_LABEL231:(void)0; } -if (var71){ -{ -nit__modelize_property___AAttrPropdef___check_method_signature(self, var_modelbuilder, var_meth); /* Direct call modelize_property#AAttrPropdef#check_method_signature on */ +var229 = var230; } -var_node = var_ntype; -var76 = NULL; -if (var_node == NULL) { -var77 = 1; /* is null */ +var_234 = var229; +if (var229){ +if (var_atlateinit == NULL) { +var235 = 0; /* is null */ } else { -var77 = 0; /* arg is null but recv is not */ +var235 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_node,var76) on */ -var_other = var76; +{ /* Inline kernel#Object#!= (var_atlateinit,((val*)NULL)) on */ +var_other116 = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_node,var_other) on */ -var82 = var_node == var_other; -var80 = var82; -goto RET_LABEL81; -RET_LABEL81:(void)0; +var238 = ((short int(*)(val* self, val* p0))(var_atlateinit->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_atlateinit, var_other116); /* == on */ } +var239 = !var238; +var236 = var239; +goto RET_LABEL237; +RET_LABEL237:(void)0; } -var78 = var80; -goto RET_LABEL79; -RET_LABEL79:(void)0; +var235 = var236; } -var77 = var78; +var228 = var235; +} else { +var228 = var_234; } -if (var77){ -var_node = self; +if (var228){ +if (likely(varonce240!=NULL)) { +var241 = varonce240; } else { +var242 = "Error: `lazy` incompatible with `lateinit`."; +var243 = standard___standard__NativeString___to_s_with_length(var242, 43l); +var241 = var243; +varonce240 = var241; } { -nit__modelize_property___ModelBuilder___check_visibility(var_modelbuilder, var_node, var_mtype, var_meth); /* Direct call modelize_property#ModelBuilder#check_visibility on */ +nit___nit__ModelBuilder___error(var_modelbuilder, var_atlazy, var241); /* Direct call modelbuilder_base#ModelBuilder#error on */ } +goto RET_LABEL; } else { } { -{ /* Inline modelize_property#AAttrPropdef#mwritepropdef (self) on */ -var85 = self->attrs[COLOR_nit__modelize_property__AAttrPropdef___mwritepropdef].val; /* _mwritepropdef on */ -var83 = var85; -RET_LABEL84:(void)0; +{ /* Inline modelize_property#AAttrPropdef#has_value (self) on */ +var246 = self->attrs[COLOR_nit__modelize_property__AAttrPropdef___has_value].s; /* _has_value on */ +var244 = var246; +RET_LABEL245:(void)0; } } -var_meth = var83; -var86 = NULL; -if (var_meth == NULL) { -var87 = 0; /* is null */ +var247 = !var244; +if (var247){ +if (var_atlazy == NULL) { +var248 = 0; /* is null */ } else { -var87 = 1; /* arg is null and recv is not */ +var248 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_meth,var86) on */ -var_other46 = var86; +{ /* Inline kernel#Object#!= (var_atlazy,((val*)NULL)) on */ +var_other116 = ((val*)NULL); { -var90 = ((short int (*)(val* self, val* p0))(var_meth->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_meth, var_other46) /* == on */; +var251 = ((short int(*)(val* self, val* p0))(var_atlazy->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_atlazy, var_other116); /* == on */ } -var91 = !var90; -var88 = var91; -goto RET_LABEL89; -RET_LABEL89:(void)0; +var252 = !var251; +var249 = var252; +goto RET_LABEL250; +RET_LABEL250:(void)0; } -var87 = var88; +var248 = var249; +} +if (var248){ +if (likely(varonce253!=NULL)) { +var254 = varonce253; +} else { +var255 = "Error: `lazy` attributes need a value."; +var256 = standard___standard__NativeString___to_s_with_length(var255, 38l); +var254 = var256; +varonce253 = var254; } -if (var87){ { -nit__modelize_property___AAttrPropdef___check_method_signature(self, var_modelbuilder, var_meth); /* Direct call modelize_property#AAttrPropdef#check_method_signature on */ +nit___nit__ModelBuilder___error(var_modelbuilder, var_atlazy, var254); /* Direct call modelbuilder_base#ModelBuilder#error on */ } -var_node92 = var_ntype; -var93 = NULL; -if (var_node92 == NULL) { -var94 = 1; /* is null */ } else { -var94 = 0; /* arg is null but recv is not */ +if (var_atlateinit == NULL) { +var257 = 0; /* is null */ +} else { +var257 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_node92,var93) on */ -var_other = var93; +{ /* Inline kernel#Object#!= (var_atlateinit,((val*)NULL)) on */ +var_other116 = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_node92,var_other) on */ -var99 = var_node92 == var_other; -var97 = var99; -goto RET_LABEL98; -RET_LABEL98:(void)0; -} +var260 = ((short int(*)(val* self, val* p0))(var_atlateinit->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_atlateinit, var_other116); /* == on */ } -var95 = var97; -goto RET_LABEL96; -RET_LABEL96:(void)0; +var261 = !var260; +var258 = var261; +goto RET_LABEL259; +RET_LABEL259:(void)0; } -var94 = var95; +var257 = var258; } -if (var94){ -var_node92 = self; +if (var257){ +if (likely(varonce262!=NULL)) { +var263 = varonce262; } else { +var264 = "Error: `lateinit` attributes need a value."; +var265 = standard___standard__NativeString___to_s_with_length(var264, 42l); +var263 = var265; +varonce262 = var263; } { -nit__modelize_property___ModelBuilder___check_visibility(var_modelbuilder, var_node92, var_mtype, var_meth); /* Direct call modelize_property#ModelBuilder#check_visibility on */ +nit___nit__ModelBuilder___error(var_modelbuilder, var_atlateinit, var263); /* Direct call modelbuilder_base#ModelBuilder#error on */ } } else { } -RET_LABEL:; } -/* method modelize_property#AAttrPropdef#check_method_signature for (self: AAttrPropdef, ModelBuilder, MMethodDef) */ -void nit__modelize_property___AAttrPropdef___check_method_signature(val* self, val* p0, val* p1) { -val* var_modelbuilder /* var modelbuilder: ModelBuilder */; -val* var_mpropdef /* var mpropdef: MMethodDef */; -val* var /* : MClassDef */; -val* var2 /* : MClassDef */; -val* var_mclassdef /* var mclassdef: MClassDef */; -val* var3 /* : MModule */; -val* var5 /* : MModule */; -val* var_mmodule /* var mmodule: MModule */; -val* var6 /* : nullable AType */; -val* var8 /* : nullable AType */; -val* var_nsig /* var nsig: nullable AType */; -val* var9 /* : nullable MSignature */; -val* var11 /* : nullable MSignature */; -val* var_mysignature /* var mysignature: nullable MSignature */; -val* var12 /* : null */; -short int var13 /* : Bool */; -short int var14 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var16 /* : Bool */; -short int var18 /* : Bool */; -short int var19 /* : Bool */; -short int var20 /* : Bool */; -val* var21 /* : MProperty */; -val* var23 /* : MProperty */; -val* var24 /* : MPropDef */; -val* var26 /* : MPropDef */; -val* var27 /* : nullable MSignature */; -val* var29 /* : nullable MSignature */; -val* var_msignature /* var msignature: nullable MSignature */; -val* var30 /* : null */; -short int var31 /* : Bool */; -short int var32 /* : Bool */; -short int var34 /* : Bool */; -short int var36 /* : Bool */; -long var37 /* : Int */; -long var38 /* : Int */; -short int var39 /* : Bool */; -short int var41 /* : Bool */; -short int var42 /* : Bool */; -val* var43 /* : null */; -short int var44 /* : Bool */; -short int var45 /* : Bool */; -val* var_other47 /* var other: nullable Object */; -short int var48 /* : Bool */; -short int var49 /* : Bool */; -val* var_node /* var node: ANode */; -static val* varonce; -val* var50 /* : String */; -char* var51 /* : NativeString */; -long var52 /* : Int */; -val* var53 /* : FlatString */; -long var54 /* : Int */; -static val* varonce55; -val* var56 /* : String */; -char* var57 /* : NativeString */; -long var58 /* : Int */; -val* var59 /* : FlatString */; -long var60 /* : Int */; -static val* varonce61; -val* var62 /* : String */; -char* var63 /* : NativeString */; -long var64 /* : Int */; -val* var65 /* : FlatString */; -val* var66 /* : Array[Object] */; -long var67 /* : Int */; -val* var68 /* : NativeArray[Object] */; -val* var69 /* : Object */; -val* var70 /* : Object */; -val* var71 /* : String */; -val* var72 /* : nullable MType */; -val* var74 /* : nullable MType */; -val* var_precursor_ret_type /* var precursor_ret_type: nullable MType */; -val* var75 /* : nullable MType */; -val* var77 /* : nullable MType */; -val* var_ret_type /* var ret_type: nullable MType */; -short int var78 /* : Bool */; -val* var79 /* : null */; -short int var80 /* : Bool */; -short int var81 /* : Bool */; -short int var83 /* : Bool */; -short int var84 /* : Bool */; -short int var_ /* var : Bool */; -val* var85 /* : null */; -short int var86 /* : Bool */; -short int var87 /* : Bool */; -short int var89 /* : Bool */; -short int var91 /* : Bool */; -val* var92 /* : null */; -short int var93 /* : Bool */; -short int var94 /* : Bool */; -short int var96 /* : Bool */; -short int var97 /* : Bool */; -val* var_node98 /* var node: ANode */; -static val* varonce99; -val* var100 /* : String */; -char* var101 /* : NativeString */; -long var102 /* : Int */; -val* var103 /* : FlatString */; -val* var104 /* : MProperty */; -val* var106 /* : MProperty */; -static val* varonce107; -val* var108 /* : String */; -char* var109 /* : NativeString */; -long var110 /* : Int */; -val* var111 /* : FlatString */; -val* var112 /* : Array[Object] */; -long var113 /* : Int */; -val* var114 /* : NativeArray[Object] */; -val* var115 /* : String */; -long var116 /* : Int */; -long var117 /* : Int */; -short int var118 /* : Bool */; -short int var120 /* : Bool */; -int cltype; -int idtype; -const char* var_class_name; -short int var121 /* : Bool */; -long var122 /* : Int */; -long var_i /* var i: Int */; -long var123 /* : Int */; -long var_124 /* var : Int */; -short int var125 /* : Bool */; -short int var127 /* : Bool */; -int cltype128; -int idtype129; -const char* var_class_name130; -short int var131 /* : Bool */; -val* var132 /* : Array[MParameter] */; -val* var134 /* : Array[MParameter] */; -val* var135 /* : nullable Object */; -val* var136 /* : MType */; -val* var138 /* : MType */; -val* var_myt /* var myt: MType */; -val* var139 /* : Array[MParameter] */; -val* var141 /* : Array[MParameter] */; -val* var142 /* : nullable Object */; -val* var143 /* : MType */; -val* var145 /* : MType */; -val* var_prt /* var prt: MType */; -short int var146 /* : Bool */; -val* var147 /* : MClassType */; -val* var149 /* : MClassType */; -short int var150 /* : Bool */; -short int var151 /* : Bool */; -short int var_152 /* var : Bool */; -val* var153 /* : MClassType */; -val* var155 /* : MClassType */; -short int var156 /* : Bool */; -short int var157 /* : Bool */; -val* var158 /* : null */; -short int var159 /* : Bool */; -short int var160 /* : Bool */; -short int var162 /* : Bool */; -short int var163 /* : Bool */; -val* var_node164 /* var node: ANode */; -static val* varonce165; -val* var166 /* : String */; -char* var167 /* : NativeString */; -long var168 /* : Int */; -val* var169 /* : FlatString */; -val* var170 /* : Array[MParameter] */; -val* var172 /* : Array[MParameter] */; -val* var173 /* : nullable Object */; -val* var174 /* : String */; -val* var176 /* : String */; -static val* varonce177; -val* var178 /* : String */; -char* var179 /* : NativeString */; -long var180 /* : Int */; -val* var181 /* : FlatString */; -static val* varonce182; -val* var183 /* : String */; -char* var184 /* : NativeString */; -long var185 /* : Int */; -val* var186 /* : FlatString */; -static val* varonce187; -val* var188 /* : String */; -char* var189 /* : NativeString */; -long var190 /* : Int */; -val* var191 /* : FlatString */; -val* var192 /* : Array[Object] */; -long var193 /* : Int */; -val* var194 /* : NativeArray[Object] */; -val* var195 /* : String */; -long var196 /* : Int */; -long var197 /* : Int */; -val* var198 /* : null */; -short int var199 /* : Bool */; -short int var200 /* : Bool */; -short int var202 /* : Bool */; -short int var203 /* : Bool */; -val* var204 /* : null */; -short int var205 /* : Bool */; -short int var206 /* : Bool */; -short int var208 /* : Bool */; -short int var210 /* : Bool */; -val* var211 /* : MClassType */; -val* var213 /* : MClassType */; -short int var214 /* : Bool */; -short int var215 /* : Bool */; -val* var216 /* : null */; -short int var217 /* : Bool */; -short int var218 /* : Bool */; -short int var220 /* : Bool */; -short int var221 /* : Bool */; -val* var_node222 /* var node: ANode */; -static val* varonce223; -val* var224 /* : String */; -char* var225 /* : NativeString */; -long var226 /* : Int */; -val* var227 /* : FlatString */; -static val* varonce228; -val* var229 /* : String */; -char* var230 /* : NativeString */; -long var231 /* : Int */; -val* var232 /* : FlatString */; -static val* varonce233; -val* var234 /* : String */; -char* var235 /* : NativeString */; -long var236 /* : Int */; -val* var237 /* : FlatString */; -val* var238 /* : Array[Object] */; -long var239 /* : Int */; -val* var240 /* : NativeArray[Object] */; -val* var241 /* : String */; -var_modelbuilder = p0; -var_mpropdef = p1; { -{ /* Inline model#MPropDef#mclassdef (var_mpropdef) on */ -var2 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ -if (unlikely(var2 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2010); -show_backtrace(1); +{ /* Inline modelize_property#AAttrPropdef#has_value= (self,1) on */ +self->attrs[COLOR_nit__modelize_property__AAttrPropdef___has_value].s = 1; /* _has_value on */ +RET_LABEL266:(void)0; } -var = var2; -RET_LABEL1:(void)0; } +goto RET_LABEL; +} else { } -var_mclassdef = var; { -{ /* Inline model#MClassDef#mmodule (var_mclassdef) on */ -var5 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ -if (unlikely(var5 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 489); -show_backtrace(1); +{ /* Inline modelize_property#AAttrPropdef#is_lazy= (self,1) on */ +self->attrs[COLOR_nit__modelize_property__AAttrPropdef___is_lazy].s = 1; /* _is_lazy on */ +RET_LABEL267:(void)0; } -var3 = var5; -RET_LABEL4:(void)0; } +var268 = NEW_nit__MAttribute(&type_nit__MAttribute); +if (likely(varonce269!=NULL)) { +var270 = varonce269; +} else { +var271 = "lazy _"; +var272 = standard___standard__NativeString___to_s_with_length(var271, 6l); +var270 = var272; +varonce269 = var270; } -var_mmodule = var3; { -{ /* Inline parser_nodes#AAttrPropdef#n_type (self) on */ -var8 = self->attrs[COLOR_nit__parser_nodes__AAttrPropdef___n_type].val; /* _n_type on */ -var6 = var8; -RET_LABEL7:(void)0; +var273 = ((val*(*)(val* self, val* p0))(var270->class->vft[COLOR_standard__string__String___43d]))(var270, var_name); /* + on */ } -} -var_nsig = var6; +var274 = glob_sys; { -{ /* Inline model#MMethodDef#msignature (var_mpropdef) on */ -var11 = var_mpropdef->attrs[COLOR_nit__model__MMethodDef___msignature].val; /* _msignature on */ -var9 = var11; -RET_LABEL10:(void)0; +var275 = nit__model_base___standard__Sys___none_visibility(var274); } +{ +((void(*)(val* self, val* p0))(var268->class->vft[COLOR_nit__model__MProperty__intro_mclassdef_61d]))(var268, var_mclassdef); /* intro_mclassdef= on */ } -var_mysignature = var9; -var12 = NULL; -if (var_mysignature == NULL) { -var13 = 1; /* is null */ -} else { -var13 = 0; /* arg is null but recv is not */ +{ +((void(*)(val* self, val* p0))(var268->class->vft[COLOR_nit__model__MProperty__name_61d]))(var268, var273); /* name= on */ } -if (0) { -{ /* Inline kernel#Object#== (var_mysignature,var12) on */ -var_other = var12; { -{ /* Inline kernel#Object#is_same_instance (var_mysignature,var_other) on */ -var18 = var_mysignature == var_other; -var16 = var18; -goto RET_LABEL17; -RET_LABEL17:(void)0; +((void(*)(val* self, val* p0))(var268->class->vft[COLOR_nit__model__MProperty__visibility_61d]))(var268, var275); /* visibility= on */ } +{ +((void(*)(val* self))(var268->class->vft[COLOR_standard__kernel__Object__init]))(var268); /* init on */ } -var14 = var16; -goto RET_LABEL15; -RET_LABEL15:(void)0; +var_mlazyprop = var268; +var276 = NEW_nit__MAttributeDef(&type_nit__MAttributeDef); +{ +{ /* Inline parser_nodes#ANode#location (self) on */ +var279 = self->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on */ +if (unlikely(var279 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 24); +fatal_exit(1); } -var13 = var14; +var277 = var279; +RET_LABEL278:(void)0; } -if (var13){ -goto RET_LABEL; -} else { } { -var19 = nit___nit__MPropDef___is_intro(var_mpropdef); +((void(*)(val* self, val* p0))(var276->class->vft[COLOR_nit__model__MPropDef__mclassdef_61d]))(var276, var_mclassdef); /* mclassdef= on */ } -var20 = !var19; -if (var20){ { -{ /* Inline model#MPropDef#mproperty (var_mpropdef) on */ -var23 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var23 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); +((void(*)(val* self, val* p0))(var276->class->vft[COLOR_nit__model__MPropDef__mproperty_61d]))(var276, var_mlazyprop); /* mproperty= on */ } -var21 = var23; -RET_LABEL22:(void)0; +{ +((void(*)(val* self, val* p0))(var276->class->vft[COLOR_nit__model__MPropDef__location_61d]))(var276, var277); /* location= on */ } +{ +((void(*)(val* self))(var276->class->vft[COLOR_standard__kernel__Object__init]))(var276); /* init on */ } +var_mlazypropdef = var276; { -{ /* Inline model#MProperty#intro (var21) on */ -var26 = var21->attrs[COLOR_nit__model__MProperty___intro].val; /* _intro on */ -if (unlikely(var26 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1773); -show_backtrace(1); +{ /* Inline modelize_property#AAttrPropdef#mlazypropdef= (self,var_mlazypropdef) on */ +self->attrs[COLOR_nit__modelize_property__AAttrPropdef___mlazypropdef].val = var_mlazypropdef; /* _mlazypropdef on */ +RET_LABEL280:(void)0; } -var24 = var26; -RET_LABEL25:(void)0; } +} else { } -{ -{ /* Inline model#MMethodDef#msignature (var24) on */ -var29 = var24->attrs[COLOR_nit__model__MMethodDef___msignature].val; /* _msignature on */ -var27 = var29; -RET_LABEL28:(void)0; +if (likely(varonce281!=NULL)) { +var282 = varonce281; +} else { +var283 = "readonly"; +var284 = standard___standard__NativeString___to_s_with_length(var283, 8l); +var282 = var284; +varonce281 = var282; } +{ +var285 = nit__annotation___Prod___get_single_annotation(self, var282, var_modelbuilder); } -var_msignature = var27; -var30 = NULL; -if (var_msignature == NULL) { -var31 = 1; /* is null */ +var_atreadonly = var285; +if (var_atreadonly == NULL) { +var286 = 0; /* is null */ } else { -var31 = 0; /* arg is null but recv is not */ +var286 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_msignature,var30) on */ -var_other = var30; +{ /* Inline kernel#Object#!= (var_atreadonly,((val*)NULL)) on */ +var_other116 = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_msignature,var_other) on */ -var36 = var_msignature == var_other; -var34 = var36; -goto RET_LABEL35; -RET_LABEL35:(void)0; +var289 = ((short int(*)(val* self, val* p0))(var_atreadonly->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_atreadonly, var_other116); /* == on */ } +var290 = !var289; +var287 = var290; +goto RET_LABEL288; +RET_LABEL288:(void)0; } -var32 = var34; -goto RET_LABEL33; -RET_LABEL33:(void)0; +var286 = var287; } -var31 = var32; +if (var286){ +{ +{ /* Inline modelize_property#AAttrPropdef#has_value (self) on */ +var293 = self->attrs[COLOR_nit__modelize_property__AAttrPropdef___has_value].s; /* _has_value on */ +var291 = var293; +RET_LABEL292:(void)0; } -if (var31){ -goto RET_LABEL; +} +var294 = !var291; +if (var294){ +if (likely(varonce295!=NULL)) { +var296 = varonce295; } else { +var297 = "Error: `readonly` attributes need a value."; +var298 = standard___standard__NativeString___to_s_with_length(var297, 42l); +var296 = var298; +varonce295 = var296; } { -var37 = nit___nit__MSignature___arity(var_mysignature); +nit___nit__ModelBuilder___error(var_modelbuilder, var_atreadonly, var296); /* Direct call modelbuilder_base#ModelBuilder#error on */ +} +} else { +} +goto RET_LABEL; +} else { } { -var38 = nit___nit__MSignature___arity(var_msignature); +var301 = nit___nit__MClassDef___is_intro(var_mclassdef); } +var302 = !var301; +var_303 = var302; +if (var302){ { -{ /* Inline kernel#Int#!= (var37,var38) on */ -var41 = var37 == var38; -var42 = !var41; -var39 = var42; -goto RET_LABEL40; -RET_LABEL40:(void)0; +{ /* Inline modelize_property#AAttrPropdef#has_value (self) on */ +var306 = self->attrs[COLOR_nit__modelize_property__AAttrPropdef___has_value].s; /* _has_value on */ +var304 = var306; +RET_LABEL305:(void)0; } } -if (var39){ -var43 = NULL; -if (var_nsig == NULL) { -var44 = 0; /* is null */ +var307 = !var304; +var300 = var307; } else { -var44 = 1; /* arg is null and recv is not */ +var300 = var_303; } -if (0) { -{ /* Inline kernel#Object#!= (var_nsig,var43) on */ -var_other47 = var43; +var_308 = var300; +if (var300){ { -var48 = ((short int (*)(val* self, val* p0))(var_nsig->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nsig, var_other47) /* == on */; +{ /* Inline modelize_property#AAttrPropdef#noinit (self) on */ +var311 = self->attrs[COLOR_nit__modelize_property__AAttrPropdef___noinit].s; /* _noinit on */ +var309 = var311; +RET_LABEL310:(void)0; } -var49 = !var48; -var45 = var49; -goto RET_LABEL46; -RET_LABEL46:(void)0; } -var44 = var45; +var312 = !var309; +var299 = var312; +} else { +var299 = var_308; } -if (var44){ -var_node = var_nsig; +if (var299){ +if (likely(varonce313!=NULL)) { +var314 = varonce313; } else { -var_node = self; +var315 = "attr-in-refinement"; +var316 = standard___standard__NativeString___to_s_with_length(var315, 18l); +var314 = var316; +varonce313 = var314; } -if (varonce) { -var50 = varonce; +if (likely(varonce317!=NULL)) { +var318 = varonce317; } else { -var51 = "Redef Error: "; -var52 = 13; -var53 = standard___standard__NativeString___to_s_with_length(var51, var52); -var50 = var53; -varonce = var50; +var319 = "Warning: attributes in refinement need a value or `noautoinit`."; +var320 = standard___standard__NativeString___to_s_with_length(var319, 63l); +var318 = var320; +varonce317 = var318; } { -var54 = nit___nit__MSignature___arity(var_mysignature); +nit___nit__ModelBuilder___advice(var_modelbuilder, self, var314, var318); /* Direct call modelbuilder_base#ModelBuilder#advice on */ +} +} else { } -if (varonce55) { -var56 = varonce55; +if (likely(varonce321!=NULL)) { +var322 = varonce321; } else { -var57 = " parameters found, "; -var58 = 19; -var59 = standard___standard__NativeString___to_s_with_length(var57, var58); -var56 = var59; -varonce55 = var56; +var323 = "="; +var324 = standard___standard__NativeString___to_s_with_length(var323, 1l); +var322 = var324; +varonce321 = var322; } { -var60 = nit___nit__MSignature___arity(var_msignature); +var325 = ((val*(*)(val* self, val* p0))(var_name->class->vft[COLOR_standard__string__String___43d]))(var_name, var322); /* + on */ } -if (varonce61) { -var62 = varonce61; +var_writename = var325; +if (likely(varonce326!=NULL)) { +var327 = varonce326; } else { -var63 = " expected. Signature is "; -var64 = 24; -var65 = standard___standard__NativeString___to_s_with_length(var63, var64); -var62 = var65; -varonce61 = var62; +var328 = "writable"; +var329 = standard___standard__NativeString___to_s_with_length(var328, 8l); +var327 = var329; +varonce326 = var327; } -var66 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var66 = array_instance Array[Object] */ -var67 = 7; -var68 = NEW_standard__NativeArray(var67, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var68)->values[0] = (val*) var50; -var69 = BOX_standard__Int(var54); /* autobox from Int to Object */ -((struct instance_standard__NativeArray*)var68)->values[1] = (val*) var69; -((struct instance_standard__NativeArray*)var68)->values[2] = (val*) var56; -var70 = BOX_standard__Int(var60); /* autobox from Int to Object */ -((struct instance_standard__NativeArray*)var68)->values[3] = (val*) var70; -((struct instance_standard__NativeArray*)var68)->values[4] = (val*) var62; -((struct instance_standard__NativeArray*)var68)->values[5] = (val*) var_mpropdef; -((struct instance_standard__NativeArray*)var68)->values[6] = (val*) var_msignature; { -((void (*)(val* self, val* p0, long p1))(var66->class->vft[COLOR_standard__array__Array__with_native]))(var66, var68, var67) /* with_native on */; +var330 = nit__annotation___Prod___get_single_annotation(self, var327, var_modelbuilder); } +var_atwritable = var330; +if (var_atwritable == NULL) { +var331 = 0; /* is null */ +} else { +var331 = 1; /* arg is null and recv is not */ } +if (0) { +{ /* Inline kernel#Object#!= (var_atwritable,((val*)NULL)) on */ +var_other116 = ((val*)NULL); { -var71 = ((val* (*)(val* self))(var66->class->vft[COLOR_standard__string__Object__to_s]))(var66) /* to_s on */; +var334 = ((short int(*)(val* self, val* p0))(var_atwritable->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_atwritable, var_other116); /* == on */ } -{ -nit___nit__ModelBuilder___error(var_modelbuilder, var_node, var71); /* Direct call modelbuilder_base#ModelBuilder#error on */ +var335 = !var334; +var332 = var335; +goto RET_LABEL333; +RET_LABEL333:(void)0; } -goto RET_LABEL; -} else { +var331 = var332; } +if (var331){ { -{ /* Inline model#MSignature#return_mtype (var_msignature) on */ -var74 = var_msignature->attrs[COLOR_nit__model__MSignature___return_mtype].val; /* _return_mtype on */ -var72 = var74; -RET_LABEL73:(void)0; +{ /* Inline parser_nodes#AAnnotation#n_args (var_atwritable) on */ +var338 = var_atwritable->attrs[COLOR_nit__parser_nodes__AAnnotation___n_args].val; /* _n_args on */ +if (unlikely(var338 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2988); +fatal_exit(1); +} +var336 = var338; +RET_LABEL337:(void)0; } } -var_precursor_ret_type = var72; { -{ /* Inline model#MSignature#return_mtype (var_mysignature) on */ -var77 = var_mysignature->attrs[COLOR_nit__model__MSignature___return_mtype].val; /* _return_mtype on */ -var75 = var77; -RET_LABEL76:(void)0; +var339 = nit___nit__ANodes___standard__abstract_collection__Collection__is_empty(var336); +} +var340 = !var339; +if (var340){ +{ +var342 = nit__annotation___AAnnotation___arg_as_id(var_atwritable, var_modelbuilder); } +if (var342!=NULL) { +var341 = var342; +} else { +var341 = var_writename; +} +var_writename = var341; +} else { } -var_ret_type = var75; -var79 = NULL; -if (var_ret_type == NULL) { -var80 = 0; /* is null */ } else { -var80 = 1; /* arg is null and recv is not */ } -if (0) { -{ /* Inline kernel#Object#!= (var_ret_type,var79) on */ -var_other47 = var79; { -var83 = ((short int (*)(val* self, val* p0))(var_ret_type->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_ret_type, var_other47) /* == on */; +var343 = nit___nit__ModelBuilder___try_get_mproperty_by_name(var_modelbuilder, var_nid2, var_mclassdef, var_writename); } -var84 = !var83; -var81 = var84; -goto RET_LABEL82; -RET_LABEL82:(void)0; +/* isa nullable MMethod */ +cltype345 = type_nullable__nit__MMethod.color; +idtype346 = type_nullable__nit__MMethod.id; +if(var343 == NULL) { +var344 = 1; +} else { +if(cltype345 >= var343->type->table_size) { +var344 = 0; +} else { +var344 = var343->type->type_table[cltype345] == idtype346; } -var80 = var81; } -var_ = var80; -if (var80){ -var85 = NULL; -if (var_precursor_ret_type == NULL) { -var86 = 1; /* is null */ +if (unlikely(!var344)) { +var_class_name347 = var343 == NULL ? "null" : var343->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MMethod", var_class_name347); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 1265); +fatal_exit(1); +} +var_mwriteprop = var343; +var_nwkwredef = ((val*)NULL); +if (var_atwritable == NULL) { +var348 = 0; /* is null */ } else { -var86 = 0; /* arg is null but recv is not */ +var348 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_precursor_ret_type,var85) on */ -var_other = var85; +{ /* Inline kernel#Object#!= (var_atwritable,((val*)NULL)) on */ +var_other116 = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_precursor_ret_type,var_other) on */ -var91 = var_precursor_ret_type == var_other; -var89 = var91; -goto RET_LABEL90; -RET_LABEL90:(void)0; +var351 = ((short int(*)(val* self, val* p0))(var_atwritable->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_atwritable, var_other116); /* == on */ } +var352 = !var351; +var349 = var352; +goto RET_LABEL350; +RET_LABEL350:(void)0; } -var87 = var89; -goto RET_LABEL88; -RET_LABEL88:(void)0; +var348 = var349; +} +if (var348){ +{ +{ /* Inline parser_nodes#ADefinition#n_kwredef (var_atwritable) on */ +var355 = var_atwritable->attrs[COLOR_nit__parser_nodes__ADefinition___n_kwredef].val; /* _n_kwredef on */ +var353 = var355; +RET_LABEL354:(void)0; } -var86 = var87; } -var78 = var86; +var_nwkwredef = var353; } else { -var78 = var_; } -if (var78){ -var92 = NULL; -if (var_nsig == NULL) { -var93 = 0; /* is null */ +if (var_mwriteprop == NULL) { +var356 = 1; /* is null */ } else { -var93 = 1; /* arg is null and recv is not */ +var356 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_nsig,var92) on */ -var_other47 = var92; +{ /* Inline kernel#Object#== (var_mwriteprop,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var96 = ((short int (*)(val* self, val* p0))(var_nsig->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nsig, var_other47) /* == on */; +{ /* Inline kernel#Object#is_same_instance (var_mwriteprop,var_other) on */ +var361 = var_mwriteprop == var_other; +var359 = var361; +goto RET_LABEL360; +RET_LABEL360:(void)0; } -var97 = !var96; -var94 = var97; -goto RET_LABEL95; -RET_LABEL95:(void)0; } -var93 = var94; +var357 = var359; +goto RET_LABEL358; +RET_LABEL358:(void)0; } -if (var93){ -var_node98 = var_nsig; -} else { -var_node98 = self; +var356 = var357; } -if (varonce99) { -var100 = varonce99; +if (var356){ +if (var_atwritable == NULL) { +var362 = 0; /* is null */ } else { -var101 = "Redef Error: "; -var102 = 13; -var103 = standard___standard__NativeString___to_s_with_length(var101, var102); -var100 = var103; -varonce99 = var100; +var362 = 1; /* arg is null and recv is not */ } +if (0) { +{ /* Inline kernel#Object#!= (var_atwritable,((val*)NULL)) on */ +var_other116 = ((val*)NULL); { -{ /* Inline model#MPropDef#mproperty (var_mpropdef) on */ -var106 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var106 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); +var365 = ((short int(*)(val* self, val* p0))(var_atwritable->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_atwritable, var_other116); /* == on */ } -var104 = var106; -RET_LABEL105:(void)0; +var366 = !var365; +var363 = var366; +goto RET_LABEL364; +RET_LABEL364:(void)0; +} +var362 = var363; +} +if (var362){ +{ +{ /* Inline parser_nodes#ADefinition#n_visibility (var_atwritable) on */ +var369 = var_atwritable->attrs[COLOR_nit__parser_nodes__ADefinition___n_visibility].val; /* _n_visibility on */ +var367 = var369; +RET_LABEL368:(void)0; } } -if (varonce107) { -var108 = varonce107; +{ +var370 = nit__modelize_property___APropdef___new_property_visibility(self, var_modelbuilder, var_mclassdef, var367); +} +var_mvisibility371 = var370; } else { -var109 = " is a procedure, not a function."; -var110 = 32; -var111 = standard___standard__NativeString___to_s_with_length(var109, var110); -var108 = var111; -varonce107 = var108; +var372 = glob_sys; +{ +var373 = nit__model_base___standard__Sys___private_visibility(var372); +} +var_mvisibility371 = var373; } -var112 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var112 = array_instance Array[Object] */ -var113 = 3; -var114 = NEW_standard__NativeArray(var113, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var114)->values[0] = (val*) var100; -((struct instance_standard__NativeArray*)var114)->values[1] = (val*) var104; -((struct instance_standard__NativeArray*)var114)->values[2] = (val*) var108; +var374 = NEW_nit__MMethod(&type_nit__MMethod); { -((void (*)(val* self, val* p0, long p1))(var112->class->vft[COLOR_standard__array__Array__with_native]))(var112, var114, var113) /* with_native on */; +((void(*)(val* self, val* p0))(var374->class->vft[COLOR_nit__model__MProperty__intro_mclassdef_61d]))(var374, var_mclassdef); /* intro_mclassdef= on */ } +{ +((void(*)(val* self, val* p0))(var374->class->vft[COLOR_nit__model__MProperty__name_61d]))(var374, var_writename); /* name= on */ +} +{ +((void(*)(val* self, val* p0))(var374->class->vft[COLOR_nit__model__MProperty__visibility_61d]))(var374, var_mvisibility371); /* visibility= on */ } { -var115 = ((val* (*)(val* self))(var112->class->vft[COLOR_standard__string__Object__to_s]))(var112) /* to_s on */; +((void(*)(val* self))(var374->class->vft[COLOR_standard__kernel__Object__init]))(var374); /* init on */ } +var_mwriteprop = var374; { -nit___nit__ModelBuilder___error(var_modelbuilder, var_node98, var115); /* Direct call modelbuilder_base#ModelBuilder#error on */ +var375 = nit__modelize_property___APropdef___check_redef_keyword(self, var_modelbuilder, var_mclassdef, var_nwkwredef, 0, var_mwriteprop); } +var376 = !var375; +if (var376){ goto RET_LABEL; } else { } { -var116 = nit___nit__MSignature___arity(var_mysignature); +{ /* Inline mdoc#MEntity#deprecation (var_mreadprop) on */ +var379 = var_mreadprop->attrs[COLOR_nit__mdoc__MEntity___deprecation].val; /* _deprecation on */ +var377 = var379; +RET_LABEL378:(void)0; } -var117 = 0; -{ -{ /* Inline kernel#Int#> (var116,var117) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var120 = 1; /* easy isa OTHER*/ -if (unlikely(!var120)) { -var_class_name = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 412); -show_backtrace(1); } -var121 = var116 > var117; -var118 = var121; -goto RET_LABEL119; -RET_LABEL119:(void)0; +{ +{ /* Inline mdoc#MEntity#deprecation= (var_mwriteprop,var377) on */ +var_mwriteprop->attrs[COLOR_nit__mdoc__MEntity___deprecation].val = var377; /* _deprecation on */ +RET_LABEL380:(void)0; } } -if (var118){ -var122 = 0; -var_i = var122; +} else { +if (var_nwkwredef!=NULL) { +var381 = var_nwkwredef; +} else { { -var123 = nit___nit__MSignature___arity(var_mysignature); +{ /* Inline parser_nodes#ADefinition#n_kwredef (self) on */ +var384 = self->attrs[COLOR_nit__parser_nodes__ADefinition___n_kwredef].val; /* _n_kwredef on */ +var382 = var384; +RET_LABEL383:(void)0; +} +} +var381 = var382; } -var_124 = var123; -for(;;) { { -{ /* Inline kernel#Int#< (var_i,var_124) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var127 = 1; /* easy isa OTHER*/ -if (unlikely(!var127)) { -var_class_name130 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name130); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410); -show_backtrace(1); +var385 = nit__modelize_property___APropdef___check_redef_keyword(self, var_modelbuilder, var_mclassdef, var381, 1, var_mwriteprop); } -var131 = var_i < var_124; -var125 = var131; -goto RET_LABEL126; -RET_LABEL126:(void)0; +var386 = !var385; +if (var386){ +goto RET_LABEL; +} else { } +if (var_atwritable == NULL) { +var387 = 0; /* is null */ +} else { +var387 = 1; /* arg is null and recv is not */ } -if (var125){ +if (0) { +{ /* Inline kernel#Object#!= (var_atwritable,((val*)NULL)) on */ +var_other116 = ((val*)NULL); { -{ /* Inline model#MSignature#mparameters (var_mysignature) on */ -var134 = var_mysignature->attrs[COLOR_nit__model__MSignature___mparameters].val; /* _mparameters on */ -if (unlikely(var134 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1592); -show_backtrace(1); +var390 = ((short int(*)(val* self, val* p0))(var_atwritable->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_atwritable, var_other116); /* == on */ } -var132 = var134; -RET_LABEL133:(void)0; +var391 = !var390; +var388 = var391; +goto RET_LABEL389; +RET_LABEL389:(void)0; } +var387 = var388; } +if (var387){ { -var135 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var132, var_i); +{ /* Inline parser_nodes#ADefinition#n_visibility (var_atwritable) on */ +var394 = var_atwritable->attrs[COLOR_nit__parser_nodes__ADefinition___n_visibility].val; /* _n_visibility on */ +var392 = var394; +RET_LABEL393:(void)0; +} } { -{ /* Inline model#MParameter#mtype (var135) on */ -var138 = var135->attrs[COLOR_nit__model__MParameter___mtype].val; /* _mtype on */ -if (unlikely(var138 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1690); -show_backtrace(1); +nit__modelize_property___APropdef___check_redef_property_visibility(self, var_modelbuilder, var392, var_mwriteprop); /* Direct call modelize_property#APropdef#check_redef_property_visibility on */ } -var136 = var138; -RET_LABEL137:(void)0; +} else { } } -var_myt = var136; { -{ /* Inline model#MSignature#mparameters (var_msignature) on */ -var141 = var_msignature->attrs[COLOR_nit__model__MSignature___mparameters].val; /* _mparameters on */ -if (unlikely(var141 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1592); -show_backtrace(1); +{ /* Inline modelize_property#MClassDef#mprop2npropdef (var_mclassdef) on */ +var397 = var_mclassdef->attrs[COLOR_nit__modelize_property__MClassDef___mprop2npropdef].val; /* _mprop2npropdef on */ +if (unlikely(var397 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mprop2npropdef"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 505); +fatal_exit(1); } -var139 = var141; -RET_LABEL140:(void)0; +var395 = var397; +RET_LABEL396:(void)0; } } { -var142 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var139, var_i); +((void(*)(val* self, val* p0, val* p1))((((long)var395&3)?class_info[((long)var395&3)]:var395->class)->vft[COLOR_standard__abstract_collection__Map___91d_93d_61d]))(var395, var_mwriteprop, self); /* []= on */ } +var398 = NEW_nit__MMethodDef(&type_nit__MMethodDef); { -{ /* Inline model#MParameter#mtype (var142) on */ -var145 = var142->attrs[COLOR_nit__model__MParameter___mtype].val; /* _mtype on */ -if (unlikely(var145 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1690); -show_backtrace(1); +{ /* Inline parser_nodes#ANode#location (self) on */ +var401 = self->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on */ +if (unlikely(var401 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 24); +fatal_exit(1); } -var143 = var145; -RET_LABEL144:(void)0; +var399 = var401; +RET_LABEL400:(void)0; } } -var_prt = var143; { -{ /* Inline model#MClassDef#bound_mtype (var_mclassdef) on */ -var149 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ -if (unlikely(var149 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 495); -show_backtrace(1); -} -var147 = var149; -RET_LABEL148:(void)0; +((void(*)(val* self, val* p0))(var398->class->vft[COLOR_nit__model__MPropDef__mclassdef_61d]))(var398, var_mclassdef); /* mclassdef= on */ } +{ +((void(*)(val* self, val* p0))(var398->class->vft[COLOR_nit__model__MPropDef__mproperty_61d]))(var398, var_mwriteprop); /* mproperty= on */ } { -var150 = nit___nit__MType___is_subtype(var_myt, var_mmodule, var147, var_prt); +((void(*)(val* self, val* p0))(var398->class->vft[COLOR_nit__model__MPropDef__location_61d]))(var398, var399); /* location= on */ } -var151 = !var150; -var_152 = var151; -if (var151){ -var146 = var_152; -} else { { -{ /* Inline model#MClassDef#bound_mtype (var_mclassdef) on */ -var155 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ -if (unlikely(var155 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 495); -show_backtrace(1); +((void(*)(val* self))(var398->class->vft[COLOR_standard__kernel__Object__init]))(var398); /* init on */ } -var153 = var155; -RET_LABEL154:(void)0; +var_mwritepropdef = var398; +{ +{ /* Inline modelize_property#AAttrPropdef#mwritepropdef= (self,var_mwritepropdef) on */ +self->attrs[COLOR_nit__modelize_property__AAttrPropdef___mwritepropdef].val = var_mwritepropdef; /* _mwritepropdef on */ +RET_LABEL402:(void)0; } } { -var156 = nit___nit__MType___is_subtype(var_prt, var_mmodule, var153, var_myt); +{ /* Inline modelize_property#ModelBuilder#mpropdef2npropdef (var_modelbuilder) on */ +var405 = var_modelbuilder->attrs[COLOR_nit__modelize_property__ModelBuilder___mpropdef2npropdef].val; /* _mpropdef2npropdef on */ +if (unlikely(var405 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef2npropdef"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 40); +fatal_exit(1); } -var157 = !var156; -var146 = var157; +var403 = var405; +RET_LABEL404:(void)0; } -if (var146){ -var158 = NULL; -if (var_nsig == NULL) { -var159 = 0; /* is null */ -} else { -var159 = 1; /* arg is null and recv is not */ } -if (0) { -{ /* Inline kernel#Object#!= (var_nsig,var158) on */ -var_other47 = var158; { -var162 = ((short int (*)(val* self, val* p0))(var_nsig->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nsig, var_other47) /* == on */; +standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var403, var_mwritepropdef, self); /* Direct call hash_collection#HashMap#[]= on */ } -var163 = !var162; -var160 = var163; -goto RET_LABEL161; -RET_LABEL161:(void)0; +{ +{ /* Inline mdoc#MEntity#mdoc (var_mreadpropdef) on */ +var408 = var_mreadpropdef->attrs[COLOR_nit__mdoc__MEntity___mdoc].val; /* _mdoc on */ +var406 = var408; +RET_LABEL407:(void)0; } -var159 = var160; } -if (var159){ -var_node164 = var_nsig; -} else { -var_node164 = self; +{ +{ /* Inline mdoc#MEntity#mdoc= (var_mwritepropdef,var406) on */ +var_mwritepropdef->attrs[COLOR_nit__mdoc__MEntity___mdoc].val = var406; /* _mdoc on */ +RET_LABEL409:(void)0; } -if (varonce165) { -var166 = varonce165; +} +if (var_atabstract == NULL) { +var410 = 0; /* is null */ } else { -var167 = "Redef Error: Wrong type for parameter `"; -var168 = 39; -var169 = standard___standard__NativeString___to_s_with_length(var167, var168); -var166 = var169; -varonce165 = var166; +var410 = 1; /* arg is null and recv is not */ } +if (0) { +{ /* Inline kernel#Object#!= (var_atabstract,((val*)NULL)) on */ +var_other116 = ((val*)NULL); { -{ /* Inline model#MSignature#mparameters (var_mysignature) on */ -var172 = var_mysignature->attrs[COLOR_nit__model__MSignature___mparameters].val; /* _mparameters on */ -if (unlikely(var172 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1592); -show_backtrace(1); -} -var170 = var172; -RET_LABEL171:(void)0; +var413 = ((short int(*)(val* self, val* p0))(var_atabstract->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_atabstract, var_other116); /* == on */ } +var414 = !var413; +var411 = var414; +goto RET_LABEL412; +RET_LABEL412:(void)0; } -{ -var173 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var170, var_i); +var410 = var411; } +if (var410){ { -{ /* Inline model#MParameter#name (var173) on */ -var176 = var173->attrs[COLOR_nit__model__MParameter___name].val; /* _name on */ -if (unlikely(var176 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1687); -show_backtrace(1); -} -var174 = var176; -RET_LABEL175:(void)0; +{ /* Inline model#MMethodDef#is_abstract= (var_mwritepropdef,1) on */ +var_mwritepropdef->attrs[COLOR_nit__model__MMethodDef___is_abstract].s = 1; /* _is_abstract on */ +RET_LABEL415:(void)0; } } -if (varonce177) { -var178 = varonce177; } else { -var179 = "\'. found "; -var180 = 9; -var181 = standard___standard__NativeString___to_s_with_length(var179, var180); -var178 = var181; -varonce177 = var178; } -if (varonce182) { -var183 = varonce182; +if (likely(varonce416!=NULL)) { +var417 = varonce416; } else { -var184 = ", expected "; -var185 = 11; -var186 = standard___standard__NativeString___to_s_with_length(var184, var185); -var183 = var186; -varonce182 = var183; +var418 = "autoinit"; +var419 = standard___standard__NativeString___to_s_with_length(var418, 8l); +var417 = var419; +varonce416 = var417; +} +{ +var420 = nit__annotation___Prod___get_single_annotation(self, var417, var_modelbuilder); } -if (varonce187) { -var188 = varonce187; +var_atautoinit = var420; +if (var_atautoinit == NULL) { +var421 = 0; /* is null */ } else { -var189 = "."; -var190 = 1; -var191 = standard___standard__NativeString___to_s_with_length(var189, var190); -var188 = var191; -varonce187 = var188; +var421 = 1; /* arg is null and recv is not */ } -var192 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var192 = array_instance Array[Object] */ -var193 = 7; -var194 = NEW_standard__NativeArray(var193, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var194)->values[0] = (val*) var166; -((struct instance_standard__NativeArray*)var194)->values[1] = (val*) var174; -((struct instance_standard__NativeArray*)var194)->values[2] = (val*) var178; -((struct instance_standard__NativeArray*)var194)->values[3] = (val*) var_myt; -((struct instance_standard__NativeArray*)var194)->values[4] = (val*) var183; -((struct instance_standard__NativeArray*)var194)->values[5] = (val*) var_prt; -((struct instance_standard__NativeArray*)var194)->values[6] = (val*) var188; +if (0) { +{ /* Inline kernel#Object#!= (var_atautoinit,((val*)NULL)) on */ +var_other116 = ((val*)NULL); { -((void (*)(val* self, val* p0, long p1))(var192->class->vft[COLOR_standard__array__Array__with_native]))(var192, var194, var193) /* with_native on */; +var424 = ((short int(*)(val* self, val* p0))(var_atautoinit->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_atautoinit, var_other116); /* == on */ } +var425 = !var424; +var422 = var425; +goto RET_LABEL423; +RET_LABEL423:(void)0; } -{ -var195 = ((val* (*)(val* self))(var192->class->vft[COLOR_standard__string__Object__to_s]))(var192) /* to_s on */; +var421 = var422; } +if (var421){ { -nit___nit__ModelBuilder___error(var_modelbuilder, var_node164, var195); /* Direct call modelbuilder_base#ModelBuilder#error on */ +{ /* Inline modelize_property#AAttrPropdef#has_value (self) on */ +var428 = self->attrs[COLOR_nit__modelize_property__AAttrPropdef___has_value].s; /* _has_value on */ +var426 = var428; +RET_LABEL427:(void)0; +} } +if (var426){ +if (likely(varonce429!=NULL)) { +var430 = varonce429; } else { +var431 = "Error: `autoinit` attributes cannot have an initial value."; +var432 = standard___standard__NativeString___to_s_with_length(var431, 58l); +var430 = var432; +varonce429 = var430; } -var196 = 1; { -var197 = standard___standard__Int___Discrete__successor(var_i, var196); +nit___nit__ModelBuilder___error(var_modelbuilder, var_atautoinit, var430); /* Direct call modelbuilder_base#ModelBuilder#error on */ } -var_i = var197; } else { -goto BREAK_label; -} +{ +var433 = nit___nit__MPropDef___is_intro(var_mwritepropdef); } -BREAK_label: (void)0; +var434 = !var433; +if (var434){ +if (likely(varonce435!=NULL)) { +var436 = varonce435; } else { +var437 = "Error: `autoinit` attributes cannot be set on redefinitions."; +var438 = standard___standard__NativeString___to_s_with_length(var437, 60l); +var436 = var438; +varonce435 = var436; } -var198 = NULL; -if (var_precursor_ret_type == NULL) { -var199 = 0; /* is null */ -} else { -var199 = 1; /* arg is null and recv is not */ +{ +nit___nit__ModelBuilder___error(var_modelbuilder, var_atautoinit, var436); /* Direct call modelbuilder_base#ModelBuilder#error on */ } -if (0) { -{ /* Inline kernel#Object#!= (var_precursor_ret_type,var198) on */ -var_other47 = var198; +} else { { -var202 = ((short int (*)(val* self, val* p0))(var_precursor_ret_type->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_precursor_ret_type, var_other47) /* == on */; +var439 = nit___nit__MClassDef___is_intro(var_mclassdef); } -var203 = !var202; -var200 = var203; -goto RET_LABEL201; -RET_LABEL201:(void)0; +var440 = !var439; +if (var440){ +if (likely(varonce441!=NULL)) { +var442 = varonce441; +} else { +var443 = "Error: `autoinit` attributes cannot be used in class refinements."; +var444 = standard___standard__NativeString___to_s_with_length(var443, 65l); +var442 = var444; +varonce441 = var442; } -var199 = var200; +{ +nit___nit__ModelBuilder___error(var_modelbuilder, var_atautoinit, var442); /* Direct call modelbuilder_base#ModelBuilder#error on */ } -if (var199){ -var204 = NULL; -if (var_ret_type == NULL) { -var205 = 1; /* is null */ } else { -var205 = 0; /* arg is null but recv is not */ +if (var_atabstract == NULL) { +var445 = 1; /* is null */ +} else { +var445 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_ret_type,var204) on */ -var_other = var204; +{ /* Inline kernel#Object#== (var_atabstract,((val*)NULL)) on */ +var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_ret_type,var_other) on */ -var210 = var_ret_type == var_other; -var208 = var210; -goto RET_LABEL209; -RET_LABEL209:(void)0; +{ /* Inline kernel#Object#is_same_instance (var_atabstract,var_other) on */ +var450 = var_atabstract == var_other; +var448 = var450; +goto RET_LABEL449; +RET_LABEL449:(void)0; } } -var206 = var208; -goto RET_LABEL207; -RET_LABEL207:(void)0; +var446 = var448; +goto RET_LABEL447; +RET_LABEL447:(void)0; } -var205 = var206; +var445 = var446; } -if (var205){ -var_ret_type = var_precursor_ret_type; +if (var445){ +if (likely(varonce451!=NULL)) { +var452 = varonce451; } else { -{ -{ /* Inline model#MClassDef#bound_mtype (var_mclassdef) on */ -var213 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ -if (unlikely(var213 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 495); -show_backtrace(1); -} -var211 = var213; -RET_LABEL212:(void)0; -} -} -{ -var214 = nit___nit__MType___is_subtype(var_ret_type, var_mmodule, var211, var_precursor_ret_type); +var453 = "useless-autoinit"; +var454 = standard___standard__NativeString___to_s_with_length(var453, 16l); +var452 = var454; +varonce451 = var452; } -var215 = !var214; -if (var215){ -var216 = NULL; -if (var_nsig == NULL) { -var217 = 0; /* is null */ +if (likely(varonce455!=NULL)) { +var456 = varonce455; } else { -var217 = 1; /* arg is null and recv is not */ +var457 = "Warning: superfluous `autoinit` on attribute."; +var458 = standard___standard__NativeString___to_s_with_length(var457, 45l); +var456 = var458; +varonce455 = var456; } -if (0) { -{ /* Inline kernel#Object#!= (var_nsig,var216) on */ -var_other47 = var216; { -var220 = ((short int (*)(val* self, val* p0))(var_nsig->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nsig, var_other47) /* == on */; +nit___nit__ModelBuilder___warning(var_modelbuilder, var_atautoinit, var452, var456); /* Direct call modelbuilder_base#ModelBuilder#warning on */ } -var221 = !var220; -var218 = var221; -goto RET_LABEL219; -RET_LABEL219:(void)0; +} else { } -var217 = var218; } -if (var217){ -var_node222 = var_nsig; -} else { -var_node222 = self; } -if (varonce223) { -var224 = varonce223; -} else { -var225 = "Redef Error: Wrong return type. found "; -var226 = 38; -var227 = standard___standard__NativeString___to_s_with_length(var225, var226); -var224 = var227; -varonce223 = var224; } -if (varonce228) { -var229 = varonce228; } else { -var230 = ", expected "; -var231 = 11; -var232 = standard___standard__NativeString___to_s_with_length(var230, var231); -var229 = var232; -varonce228 = var229; -} -if (varonce233) { -var234 = varonce233; +if (var_atabstract == NULL) { +var459 = 0; /* is null */ } else { -var235 = "."; -var236 = 1; -var237 = standard___standard__NativeString___to_s_with_length(var235, var236); -var234 = var237; -varonce233 = var234; +var459 = 1; /* arg is null and recv is not */ } -var238 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var238 = array_instance Array[Object] */ -var239 = 5; -var240 = NEW_standard__NativeArray(var239, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var240)->values[0] = (val*) var224; -((struct instance_standard__NativeArray*)var240)->values[1] = (val*) var_ret_type; -((struct instance_standard__NativeArray*)var240)->values[2] = (val*) var229; -((struct instance_standard__NativeArray*)var240)->values[3] = (val*) var_precursor_ret_type; -((struct instance_standard__NativeArray*)var240)->values[4] = (val*) var234; +if (0) { +{ /* Inline kernel#Object#!= (var_atabstract,((val*)NULL)) on */ +var_other116 = ((val*)NULL); { -((void (*)(val* self, val* p0, long p1))(var238->class->vft[COLOR_standard__array__Array__with_native]))(var238, var240, var239) /* with_native on */; +var462 = ((short int(*)(val* self, val* p0))(var_atabstract->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_atabstract, var_other116); /* == on */ } +var463 = !var462; +var460 = var463; +goto RET_LABEL461; +RET_LABEL461:(void)0; } -{ -var241 = ((val* (*)(val* self))(var238->class->vft[COLOR_standard__string__Object__to_s]))(var238) /* to_s on */; +var459 = var460; } +if (var459){ { -nit___nit__ModelBuilder___error(var_modelbuilder, var_node222, var241); /* Direct call modelbuilder_base#ModelBuilder#error on */ -} -} else { +{ /* Inline modelize_property#AAttrPropdef#noinit= (self,1) on */ +self->attrs[COLOR_nit__modelize_property__AAttrPropdef___noinit].s = 1; /* _noinit on */ +RET_LABEL464:(void)0; } } } else { } -} else { } RET_LABEL:; } -/* method modelize_property#ATypePropdef#build_property for (self: ATypePropdef, ModelBuilder, MClassDef) */ -void nit__modelize_property___ATypePropdef___APropdef__build_property(val* self, val* p0, val* p1) { -val* var_modelbuilder /* var modelbuilder: ModelBuilder */; -val* var_mclassdef /* var mclassdef: MClassDef */; -val* var /* : TClassid */; -val* var2 /* : TClassid */; -val* var3 /* : String */; -val* var_name /* var name: String */; -val* var4 /* : TClassid */; -val* var6 /* : TClassid */; -val* var7 /* : nullable MProperty */; -val* var_mprop /* var mprop: nullable MProperty */; -val* var8 /* : null */; -short int var9 /* : Bool */; -short int var10 /* : Bool */; +/* method modelize_property#AAttrPropdef#build_signature for (self: AAttrPropdef, ModelBuilder) */ +void nit__modelize_property___AAttrPropdef___APropdef__build_signature(val* self, val* p0) { +val* var_modelbuilder /* var modelbuilder: ModelBuilder */; +val* var /* : nullable MMethodDef */; +val* var2 /* : nullable MMethodDef */; +val* var_mreadpropdef /* var mreadpropdef: nullable MMethodDef */; +val* var3 /* : nullable MPropDef */; +val* var5 /* : nullable MPropDef */; +val* var_mpropdef /* var mpropdef: nullable MAttributeDef */; +short int var6 /* : Bool */; +short int var7 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var12 /* : Bool */; -short int var14 /* : Bool */; -val* var15 /* : nullable AVisibility */; -val* var17 /* : nullable AVisibility */; -val* var18 /* : MVisibility */; -val* var_mvisibility /* var mvisibility: MVisibility */; -val* var19 /* : MVirtualTypeProp */; -val* var20 /* : SequenceRead[Char] */; -val* var_ /* var : SequenceRead[Char] */; -val* var21 /* : Iterator[nullable Object] */; -val* var_22 /* var : IndexedIterator[Char] */; -short int var23 /* : Bool */; -val* var24 /* : nullable Object */; -char var25 /* : Char */; -char var_c /* var c: Char */; +short int var9 /* : Bool */; +short int var11 /* : Bool */; +val* var12 /* : MClassDef */; +val* var14 /* : MClassDef */; +val* var_mclassdef /* var mclassdef: MClassDef */; +val* var15 /* : MModule */; +val* var17 /* : MModule */; +val* var_mmodule /* var mmodule: MModule */; +val* var_mtype /* var mtype: nullable MType */; +val* var18 /* : nullable AType */; +val* var20 /* : nullable AType */; +val* var_ntype /* var ntype: nullable AType */; +short int var21 /* : Bool */; +short int var22 /* : Bool */; +val* var_other24 /* var other: nullable Object */; +short int var25 /* : Bool */; short int var26 /* : Bool */; -char var27 /* : Char */; +val* var27 /* : nullable MType */; short int var28 /* : Bool */; -short int var30 /* : Bool */; -int cltype; -int idtype; -const char* var_class_name; +short int var29 /* : Bool */; short int var31 /* : Bool */; -short int var_32 /* var : Bool */; -char var33 /* : Char */; +short int var33 /* : Bool */; +val* var_inherited_type /* var inherited_type: nullable MType */; short int var34 /* : Bool */; -short int var36 /* : Bool */; -int cltype37; -int idtype38; -const char* var_class_name39; -short int var40 /* : Bool */; -val* var41 /* : TClassid */; -val* var43 /* : TClassid */; -static val* varonce; -val* var44 /* : String */; -char* var45 /* : NativeString */; -long var46 /* : Int */; -val* var47 /* : FlatString */; -static val* varonce48; -val* var49 /* : String */; -char* var50 /* : NativeString */; -long var51 /* : Int */; -val* var52 /* : FlatString */; -val* var53 /* : Array[Object] */; -long var54 /* : Int */; -val* var55 /* : NativeArray[Object] */; -val* var56 /* : String */; -val* var58 /* : nullable TKwredef */; -val* var60 /* : nullable TKwredef */; -short int var61 /* : Bool */; -short int var62 /* : Bool */; -short int var63 /* : Bool */; -val* var64 /* : nullable TKwredef */; -val* var66 /* : nullable TKwredef */; -short int var67 /* : Bool */; -short int var68 /* : Bool */; +short int var35 /* : Bool */; +val* var36 /* : MProperty */; +val* var38 /* : MProperty */; +val* var39 /* : MPropDef */; +val* var41 /* : MPropDef */; +val* var42 /* : nullable MSignature */; +val* var44 /* : nullable MSignature */; +val* var_msignature /* var msignature: nullable MSignature */; +short int var45 /* : Bool */; +short int var46 /* : Bool */; +short int var48 /* : Bool */; +short int var50 /* : Bool */; +val* var51 /* : nullable MType */; +val* var53 /* : nullable MType */; +short int var54 /* : Bool */; +short int var55 /* : Bool */; +short int var57 /* : Bool */; +short int var58 /* : Bool */; +val* var59 /* : MClass */; +val* var61 /* : MClass */; +val* var62 /* : MClassType */; +val* var64 /* : MClassType */; +val* var65 /* : MClassType */; +val* var67 /* : MClassType */; +val* var68 /* : MType */; short int var69 /* : Bool */; short int var70 /* : Bool */; -int cltype71; -int idtype72; -val* var73 /* : nullable AVisibility */; -val* var75 /* : nullable AVisibility */; -val* var76 /* : Map[MProperty, APropdef] */; -val* var78 /* : Map[MProperty, APropdef] */; -val* var79 /* : MVirtualTypeDef */; -val* var80 /* : Location */; -val* var82 /* : Location */; -val* var_mpropdef /* var mpropdef: MVirtualTypeDef */; +short int var72 /* : Bool */; +short int var74 /* : Bool */; +val* var75 /* : nullable AExpr */; +val* var77 /* : nullable AExpr */; +val* var_nexpr /* var nexpr: nullable AExpr */; +short int var78 /* : Bool */; +short int var79 /* : Bool */; +short int var81 /* : Bool */; short int var83 /* : Bool */; -int cltype84; -int idtype85; -const struct type* type_struct; -const char* var_class_name86; +short int var84 /* : Bool */; +short int var85 /* : Bool */; +short int var87 /* : Bool */; short int var88 /* : Bool */; -int cltype89; -int idtype90; -const struct type* type_struct91; -const char* var_class_name92; -val* var93 /* : HashMap[MPropDef, APropdef] */; -val* var95 /* : HashMap[MPropDef, APropdef] */; -short int var96 /* : Bool */; -val* var97 /* : ToolContext */; -val* var99 /* : ToolContext */; -static val* varonce100; -val* var101 /* : String */; -char* var102 /* : NativeString */; -long var103 /* : Int */; -val* var104 /* : FlatString */; -val* var105 /* : String */; -val* var106 /* : Array[Object] */; -long var107 /* : Int */; -val* var108 /* : NativeArray[Object] */; -val* var109 /* : String */; -long var110 /* : Int */; -val* var111 /* : ToolContext */; -val* var113 /* : ToolContext */; -static val* varonce114; -val* var115 /* : String */; -char* var116 /* : NativeString */; -long var117 /* : Int */; -val* var118 /* : FlatString */; -val* var119 /* : String */; -val* var120 /* : Array[Object] */; -long var121 /* : Int */; -val* var122 /* : NativeArray[Object] */; -val* var123 /* : String */; -long var124 /* : Int */; -static val* varonce125; -val* var126 /* : String */; -char* var127 /* : NativeString */; -long var128 /* : Int */; -val* var129 /* : FlatString */; -val* var130 /* : nullable AAnnotation */; -val* var_atfixed /* var atfixed: nullable AAnnotation */; -val* var131 /* : null */; -short int var132 /* : Bool */; -short int var133 /* : Bool */; -val* var_other135 /* var other: nullable Object */; +short int var89 /* : Bool */; +int cltype; +int idtype; +val* var90 /* : AType */; +val* var92 /* : AType */; +val* var93 /* : nullable MType */; +short int var94 /* : Bool */; +int cltype95; +int idtype96; +static val* varonce; +val* var97 /* : String */; +char* var98 /* : NativeString */; +val* var99 /* : FlatString */; +val* var100 /* : nullable MClass */; +val* var_cla /* var cla: nullable MClass */; +short int var101 /* : Bool */; +short int var102 /* : Bool */; +short int var104 /* : Bool */; +short int var105 /* : Bool */; +val* var106 /* : MClassType */; +val* var108 /* : MClassType */; +short int var109 /* : Bool */; +int cltype110; +int idtype111; +static val* varonce112; +val* var113 /* : String */; +char* var114 /* : NativeString */; +val* var115 /* : FlatString */; +val* var116 /* : nullable MClass */; +val* var_cla117 /* var cla: nullable MClass */; +short int var118 /* : Bool */; +short int var119 /* : Bool */; +short int var121 /* : Bool */; +short int var122 /* : Bool */; +val* var123 /* : MClassType */; +val* var125 /* : MClassType */; +short int var126 /* : Bool */; +int cltype127; +int idtype128; +static val* varonce129; +val* var130 /* : String */; +char* var131 /* : NativeString */; +val* var132 /* : FlatString */; +val* var133 /* : nullable MClass */; +val* var_cla134 /* var cla: nullable MClass */; +short int var135 /* : Bool */; short int var136 /* : Bool */; -short int var137 /* : Bool */; short int var138 /* : Bool */; +short int var139 /* : Bool */; +val* var140 /* : MClassType */; +val* var142 /* : MClassType */; +short int var143 /* : Bool */; +int cltype144; +int idtype145; +static val* varonce146; +val* var147 /* : String */; +char* var148 /* : NativeString */; +val* var149 /* : FlatString */; +val* var150 /* : nullable MClass */; +val* var_cla151 /* var cla: nullable MClass */; +short int var152 /* : Bool */; +short int var153 /* : Bool */; +short int var155 /* : Bool */; +short int var156 /* : Bool */; +val* var157 /* : MClassType */; +val* var159 /* : MClassType */; +short int var160 /* : Bool */; +int cltype161; +int idtype162; +static val* varonce163; +val* var164 /* : String */; +char* var165 /* : NativeString */; +val* var166 /* : FlatString */; +val* var167 /* : nullable MClass */; +val* var_cla168 /* var cla: nullable MClass */; +short int var169 /* : Bool */; +short int var170 /* : Bool */; +short int var172 /* : Bool */; +short int var173 /* : Bool */; +val* var174 /* : MClassType */; +val* var176 /* : MClassType */; +short int var177 /* : Bool */; +int cltype178; +int idtype179; +static val* varonce180; +val* var181 /* : String */; +char* var182 /* : NativeString */; +val* var183 /* : FlatString */; +val* var184 /* : nullable MClass */; +val* var_cla185 /* var cla: nullable MClass */; +short int var186 /* : Bool */; +short int var187 /* : Bool */; +short int var189 /* : Bool */; +short int var190 /* : Bool */; +val* var191 /* : MClassType */; +val* var193 /* : MClassType */; +short int var194 /* : Bool */; +int cltype195; +int idtype196; +static val* varonce197; +val* var198 /* : String */; +char* var199 /* : NativeString */; +val* var200 /* : FlatString */; +val* var201 /* : nullable MClass */; +val* var_cla202 /* var cla: nullable MClass */; +short int var203 /* : Bool */; +short int var204 /* : Bool */; +short int var206 /* : Bool */; +short int var207 /* : Bool */; +val* var208 /* : MClassType */; +val* var210 /* : MClassType */; +val* var212 /* : NativeArray[String] */; +static val* varonce211; +static val* varonce213; +val* var214 /* : String */; +char* var215 /* : NativeString */; +val* var216 /* : FlatString */; +static val* varonce217; +val* var218 /* : String */; +char* var219 /* : NativeString */; +val* var220 /* : FlatString */; +val* var221 /* : String */; +val* var222 /* : String */; +short int var223 /* : Bool */; +short int var224 /* : Bool */; +short int var226 /* : Bool */; +short int var228 /* : Bool */; +short int var229 /* : Bool */; +short int var230 /* : Bool */; +short int var231 /* : Bool */; +short int var233 /* : Bool */; +short int var234 /* : Bool */; +short int var_ /* var : Bool */; +short int var235 /* : Bool */; +short int var236 /* : Bool */; +short int var238 /* : Bool */; +short int var240 /* : Bool */; +short int var241 /* : Bool */; +int cltype242; +int idtype243; +val* var244 /* : AType */; +val* var246 /* : AType */; +val* var247 /* : nullable MType */; +val* var_xmtype /* var xmtype: nullable MType */; +short int var248 /* : Bool */; +short int var249 /* : Bool */; +short int var251 /* : Bool */; +short int var253 /* : Bool */; +static val* varonce254; +val* var255 /* : String */; +char* var256 /* : NativeString */; +val* var257 /* : FlatString */; +static val* varonce258; +val* var259 /* : String */; +char* var260 /* : NativeString */; +val* var261 /* : FlatString */; +short int var262 /* : Bool */; +short int var263 /* : Bool */; +short int var265 /* : Bool */; +short int var267 /* : Bool */; +val* var269 /* : NativeArray[String] */; +static val* varonce268; +static val* varonce270; +val* var271 /* : String */; +char* var272 /* : NativeString */; +val* var273 /* : FlatString */; +static val* varonce274; +val* var275 /* : String */; +char* var276 /* : NativeString */; +val* var277 /* : FlatString */; +val* var278 /* : String */; +val* var279 /* : String */; +short int var281 /* : Bool */; +short int var282 /* : Bool */; +short int var284 /* : Bool */; +short int var285 /* : Bool */; +val* var287 /* : MSignature */; +val* var288 /* : Array[MParameter] */; +val* var_msignature289 /* var msignature: MSignature */; +val* var291 /* : nullable MMethodDef */; +val* var293 /* : nullable MMethodDef */; +val* var_mwritepropdef /* var mwritepropdef: nullable MMethodDef */; +short int var294 /* : Bool */; +short int var295 /* : Bool */; +short int var297 /* : Bool */; +short int var298 /* : Bool */; +val* var299 /* : TId */; +val* var301 /* : TId */; +val* var302 /* : String */; +val* var_name /* var name: String */; +val* var303 /* : MParameter */; +val* var_mparameter /* var mparameter: MParameter */; +val* var304 /* : MSignature */; +val* var305 /* : Array[MParameter] */; +val* var_306 /* var : Array[MParameter] */; +val* var_msignature307 /* var msignature: MSignature */; +val* var309 /* : nullable MAttributeDef */; +val* var311 /* : nullable MAttributeDef */; +val* var_mlazypropdef /* var mlazypropdef: nullable MAttributeDef */; +short int var312 /* : Bool */; +short int var313 /* : Bool */; +short int var315 /* : Bool */; +short int var316 /* : Bool */; +val* var317 /* : Model */; +val* var319 /* : Model */; +static val* varonce320; +val* var321 /* : String */; +char* var322 /* : NativeString */; +val* var323 /* : FlatString */; +val* var324 /* : nullable Array[MClass] */; +val* var325 /* : nullable Object */; +val* var326 /* : MClassType */; +val* var328 /* : MClassType */; var_modelbuilder = p0; -var_mclassdef = p1; { -{ /* Inline parser_nodes#ATypePropdef#n_id (self) on */ -var2 = self->attrs[COLOR_nit__parser_nodes__ATypePropdef___n_id].val; /* _n_id on */ -if (unlikely(var2 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1322); -show_backtrace(1); -} +{ /* Inline modelize_property#AAttrPropdef#mreadpropdef (self) on */ +var2 = self->attrs[COLOR_nit__modelize_property__AAttrPropdef___mreadpropdef].val; /* _mreadpropdef on */ var = var2; RET_LABEL1:(void)0; } } +var_mreadpropdef = var; { -var3 = nit__lexer_work___Token___text(var); +{ /* Inline modelize_property#APropdef#mpropdef (self) on */ +var5 = self->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ +var3 = var5; +RET_LABEL4:(void)0; +} } -var_name = var3; +var_mpropdef = var3; +if (var_mreadpropdef == NULL) { +var6 = 1; /* is null */ +} else { +var6 = 0; /* arg is null but recv is not */ +} +if (0) { +{ /* Inline kernel#Object#== (var_mreadpropdef,((val*)NULL)) on */ +var_other = ((val*)NULL); { -{ /* Inline parser_nodes#ATypePropdef#n_id (self) on */ -var6 = self->attrs[COLOR_nit__parser_nodes__ATypePropdef___n_id].val; /* _n_id on */ -if (unlikely(var6 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1322); -show_backtrace(1); +{ /* Inline kernel#Object#is_same_instance (var_mreadpropdef,var_other) on */ +var11 = var_mreadpropdef == var_other; +var9 = var11; +goto RET_LABEL10; +RET_LABEL10:(void)0; } -var4 = var6; -RET_LABEL5:(void)0; } +var7 = var9; +goto RET_LABEL8; +RET_LABEL8:(void)0; } -{ -var7 = nit___nit__ModelBuilder___try_get_mproperty_by_name(var_modelbuilder, var4, var_mclassdef, var_name); +var6 = var7; } -var_mprop = var7; -var8 = NULL; -if (var_mprop == NULL) { -var9 = 1; /* is null */ +if (var6){ +goto RET_LABEL; } else { -var9 = 0; /* arg is null but recv is not */ } -if (0) { -{ /* Inline kernel#Object#== (var_mprop,var8) on */ -var_other = var8; { -{ /* Inline kernel#Object#is_same_instance (var_mprop,var_other) on */ -var14 = var_mprop == var_other; +{ /* Inline model#MPropDef#mclassdef (var_mreadpropdef) on */ +var14 = var_mreadpropdef->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ +if (unlikely(var14 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2209); +fatal_exit(1); +} var12 = var14; -goto RET_LABEL13; RET_LABEL13:(void)0; } } -var10 = var12; -goto RET_LABEL11; -RET_LABEL11:(void)0; -} -var9 = var10; -} -if (var9){ +var_mclassdef = var12; { -{ /* Inline parser_nodes#ADefinition#n_visibility (self) on */ -var17 = self->attrs[COLOR_nit__parser_nodes__ADefinition___n_visibility].val; /* _n_visibility on */ +{ /* Inline model#MClassDef#mmodule (var_mclassdef) on */ +var17 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ +if (unlikely(var17 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 550); +fatal_exit(1); +} var15 = var17; RET_LABEL16:(void)0; } } +var_mmodule = var15; +var_mtype = ((val*)NULL); { -var18 = nit__modelize_property___APropdef___new_property_visibility(self, var_modelbuilder, var_mclassdef, var15); +{ /* Inline parser_nodes#AAttrPropdef#n_type (self) on */ +var20 = self->attrs[COLOR_nit__parser_nodes__AAttrPropdef___n_type].val; /* _n_type on */ +var18 = var20; +RET_LABEL19:(void)0; } -var_mvisibility = var18; -var19 = NEW_nit__MVirtualTypeProp(&type_nit__MVirtualTypeProp); -{ -((void (*)(val* self, val* p0))(var19->class->vft[COLOR_nit__model__MProperty__intro_mclassdef_61d]))(var19, var_mclassdef) /* intro_mclassdef= on */; } -{ -((void (*)(val* self, val* p0))(var19->class->vft[COLOR_nit__model__MProperty__name_61d]))(var19, var_name) /* name= on */; +var_ntype = var18; +if (var_ntype == NULL) { +var21 = 0; /* is null */ +} else { +var21 = 1; /* arg is null and recv is not */ } +if (0) { +{ /* Inline kernel#Object#!= (var_ntype,((val*)NULL)) on */ +var_other24 = ((val*)NULL); { -((void (*)(val* self, val* p0))(var19->class->vft[COLOR_nit__model__MProperty__visibility_61d]))(var19, var_mvisibility) /* visibility= on */; +var25 = ((short int(*)(val* self, val* p0))(var_ntype->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_ntype, var_other24); /* == on */ } -{ -((void (*)(val* self))(var19->class->vft[COLOR_standard__kernel__Object__init]))(var19) /* init on */; +var26 = !var25; +var22 = var26; +goto RET_LABEL23; +RET_LABEL23:(void)0; } -var_mprop = var19; -{ -var20 = ((val* (*)(val* self))(var_name->class->vft[COLOR_standard__string__Text__chars]))(var_name) /* chars on */; +var21 = var22; } -var_ = var20; +if (var21){ { -var21 = ((val* (*)(val* self))(var_->class->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_) /* iterator on */; +var27 = nit___nit__ModelBuilder___resolve_mtype_unchecked(var_modelbuilder, var_mmodule, var_mclassdef, var_ntype, 1); } -var_22 = var21; -for(;;) { -{ -var23 = ((short int (*)(val* self))(var_22->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_22) /* is_ok on */; +var_mtype = var27; +if (var_mtype == NULL) { +var28 = 1; /* is null */ +} else { +var28 = 0; /* arg is null but recv is not */ } -if (var23){ +if (0) { +{ /* Inline kernel#Object#== (var_mtype,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var24 = ((val* (*)(val* self))(var_22->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_22) /* item on */; +{ /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on */ +var33 = var_mtype == var_other; +var31 = var33; +goto RET_LABEL32; +RET_LABEL32:(void)0; } -var25 = ((struct instance_standard__Char*)var24)->value; /* autounbox from nullable Object to Char */; -var_c = var25; -var27 = 'a'; -{ -{ /* Inline kernel#Char#>= (var_c,var27) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var30 = 1; /* easy isa OTHER*/ -if (unlikely(!var30)) { -var_class_name = type_standard__Char.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 593); -show_backtrace(1); } -var31 = var_c >= var27; -var28 = var31; -goto RET_LABEL29; -RET_LABEL29:(void)0; +var29 = var31; +goto RET_LABEL30; +RET_LABEL30:(void)0; } +var28 = var29; } -var_32 = var28; if (var28){ -var33 = 'z'; -{ -{ /* Inline kernel#Char#<= (var_c,var33) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var36 = 1; /* easy isa OTHER*/ -if (unlikely(!var36)) { -var_class_name39 = type_standard__Char.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name39); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 591); -show_backtrace(1); -} -var40 = var_c <= var33; -var34 = var40; -goto RET_LABEL35; -RET_LABEL35:(void)0; -} +goto RET_LABEL; +} else { } -var26 = var34; } else { -var26 = var_32; } -if (var26){ +var_inherited_type = ((val*)NULL); { -{ /* Inline parser_nodes#ATypePropdef#n_id (self) on */ -var43 = self->attrs[COLOR_nit__parser_nodes__ATypePropdef___n_id].val; /* _n_id on */ -if (unlikely(var43 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1322); -show_backtrace(1); -} -var41 = var43; -RET_LABEL42:(void)0; +var34 = nit___nit__MPropDef___is_intro(var_mreadpropdef); } +var35 = !var34; +if (var35){ +{ +{ /* Inline model#MPropDef#mproperty (var_mreadpropdef) on */ +var38 = var_mreadpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var38 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); } -if (varonce) { -var44 = varonce; -} else { -var45 = "bad-type-name"; -var46 = 13; -var47 = standard___standard__NativeString___to_s_with_length(var45, var46); -var44 = var47; -varonce = var44; +var36 = var38; +RET_LABEL37:(void)0; } -if (varonce48) { -var49 = varonce48; -} else { -var50 = "Warning: lowercase in the virtual type "; -var51 = 39; -var52 = standard___standard__NativeString___to_s_with_length(var50, var51); -var49 = var52; -varonce48 = var49; } -var53 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var53 = array_instance Array[Object] */ -var54 = 2; -var55 = NEW_standard__NativeArray(var54, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var55)->values[0] = (val*) var49; -((struct instance_standard__NativeArray*)var55)->values[1] = (val*) var_name; { -((void (*)(val* self, val* p0, long p1))(var53->class->vft[COLOR_standard__array__Array__with_native]))(var53, var55, var54) /* with_native on */; +{ /* Inline model#MProperty#intro (var36) on */ +var41 = var36->attrs[COLOR_nit__model__MProperty___intro].val; /* _intro on */ +if (unlikely(var41 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1968); +fatal_exit(1); +} +var39 = var41; +RET_LABEL40:(void)0; } } { -var56 = ((val* (*)(val* self))(var53->class->vft[COLOR_standard__string__Object__to_s]))(var53) /* to_s on */; +{ /* Inline model#MMethodDef#msignature (var39) on */ +var44 = var39->attrs[COLOR_nit__model__MMethodDef___msignature].val; /* _msignature on */ +var42 = var44; +RET_LABEL43:(void)0; } -{ -nit___nit__ModelBuilder___warning(var_modelbuilder, var41, var44, var56); /* Direct call modelbuilder_base#ModelBuilder#warning on */ } -goto BREAK_label; +var_msignature = var42; +if (var_msignature == NULL) { +var45 = 1; /* is null */ } else { +var45 = 0; /* arg is null but recv is not */ } +if (0) { +{ /* Inline kernel#Object#== (var_msignature,((val*)NULL)) on */ +var_other = ((val*)NULL); { -((void (*)(val* self))(var_22->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_22) /* next on */; +{ /* Inline kernel#Object#is_same_instance (var_msignature,var_other) on */ +var50 = var_msignature == var_other; +var48 = var50; +goto RET_LABEL49; +RET_LABEL49:(void)0; } -} else { -goto BREAK_label; } +var46 = var48; +goto RET_LABEL47; +RET_LABEL47:(void)0; } -BREAK_label: (void)0; -{ -{ /* Inline abstract_collection#Iterator#finish (var_22) on */ -RET_LABEL57:(void)0; +var45 = var46; } +if (var45){ +goto RET_LABEL; +} else { } { -{ /* Inline parser_nodes#ADefinition#n_kwredef (self) on */ -var60 = self->attrs[COLOR_nit__parser_nodes__ADefinition___n_kwredef].val; /* _n_kwredef on */ -var58 = var60; -RET_LABEL59:(void)0; -} +{ /* Inline model#MSignature#return_mtype (var_msignature) on */ +var53 = var_msignature->attrs[COLOR_nit__model__MSignature___return_mtype].val; /* _return_mtype on */ +var51 = var53; +RET_LABEL52:(void)0; } -var61 = 0; -{ -var62 = nit__modelize_property___APropdef___check_redef_keyword(self, var_modelbuilder, var_mclassdef, var58, var61, var_mprop); } -var63 = !var62; -if (var63){ -goto RET_LABEL; +var_inherited_type = var51; +if (var_inherited_type == NULL) { +var54 = 0; /* is null */ } else { +var54 = 1; /* arg is null and recv is not */ } -} else { +if (0) { +{ /* Inline kernel#Object#!= (var_inherited_type,((val*)NULL)) on */ +var_other24 = ((val*)NULL); { -{ /* Inline parser_nodes#ADefinition#n_kwredef (self) on */ -var66 = self->attrs[COLOR_nit__parser_nodes__ADefinition___n_kwredef].val; /* _n_kwredef on */ -var64 = var66; -RET_LABEL65:(void)0; +var57 = ((short int(*)(val* self, val* p0))(var_inherited_type->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_inherited_type, var_other24); /* == on */ } +var58 = !var57; +var55 = var58; +goto RET_LABEL56; +RET_LABEL56:(void)0; } -var67 = 1; -{ -var68 = nit__modelize_property___APropdef___check_redef_keyword(self, var_modelbuilder, var_mclassdef, var64, var67, var_mprop); +var54 = var55; } -var69 = !var68; -if (var69){ -goto RET_LABEL; -} else { +if (var54){ +{ +{ /* Inline model#MClassDef#mclass (var_mclassdef) on */ +var61 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ +if (unlikely(var61 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 553); +fatal_exit(1); } -/* isa MVirtualTypeProp */ -cltype71 = type_nit__MVirtualTypeProp.color; -idtype72 = type_nit__MVirtualTypeProp.id; -if(cltype71 >= var_mprop->type->table_size) { -var70 = 0; -} else { -var70 = var_mprop->type->type_table[cltype71] == idtype72; +var59 = var61; +RET_LABEL60:(void)0; } -if (unlikely(!var70)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 1204); -show_backtrace(1); } { -{ /* Inline parser_nodes#ADefinition#n_visibility (self) on */ -var75 = self->attrs[COLOR_nit__parser_nodes__ADefinition___n_visibility].val; /* _n_visibility on */ -var73 = var75; -RET_LABEL74:(void)0; -} +{ /* Inline model#MClass#mclass_type (var59) on */ +var64 = var59->attrs[COLOR_nit__model__MClass___mclass_type].val; /* _mclass_type on */ +if (unlikely(var64 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 484); +fatal_exit(1); } -{ -nit__modelize_property___APropdef___check_redef_property_visibility(self, var_modelbuilder, var73, var_mprop); /* Direct call modelize_property#APropdef#check_redef_property_visibility on */ +var62 = var64; +RET_LABEL63:(void)0; } } { -{ /* Inline modelize_property#MClassDef#mprop2npropdef (var_mclassdef) on */ -var78 = var_mclassdef->attrs[COLOR_nit__modelize_property__MClassDef___mprop2npropdef].val; /* _mprop2npropdef on */ -if (unlikely(var78 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mprop2npropdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 352); -show_backtrace(1); +{ /* Inline model#MClassDef#bound_mtype (var_mclassdef) on */ +var67 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ +if (unlikely(var67 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 556); +fatal_exit(1); } -var76 = var78; -RET_LABEL77:(void)0; +var65 = var67; +RET_LABEL66:(void)0; } } { -((void (*)(val* self, val* p0, val* p1))(var76->class->vft[COLOR_standard__abstract_collection__Map___91d_93d_61d]))(var76, var_mprop, self) /* []= on */; +var68 = ((val*(*)(val* self, val* p0, val* p1, val* p2, short int p3))(var_inherited_type->class->vft[COLOR_nit__model__MType__resolve_for]))(var_inherited_type, var62, var65, var_mmodule, 0); /* resolve_for on */ +} +var_inherited_type = var68; +if (var_mtype == NULL) { +var69 = 1; /* is null */ +} else { +var69 = 0; /* arg is null but recv is not */ } -var79 = NEW_nit__MVirtualTypeDef(&type_nit__MVirtualTypeDef); +if (0) { +{ /* Inline kernel#Object#== (var_mtype,((val*)NULL)) on */ +var_other = ((val*)NULL); { -{ /* Inline parser_nodes#ANode#location (self) on */ -var82 = self->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on */ -if (unlikely(var82 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 23); -show_backtrace(1); +{ /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on */ +var74 = var_mtype == var_other; +var72 = var74; +goto RET_LABEL73; +RET_LABEL73:(void)0; } -var80 = var82; -RET_LABEL81:(void)0; } +var70 = var72; +goto RET_LABEL71; +RET_LABEL71:(void)0; } -{ -((void (*)(val* self, val* p0))(var79->class->vft[COLOR_nit__model__MPropDef__mclassdef_61d]))(var79, var_mclassdef) /* mclassdef= on */; +var69 = var70; } -{ -((void (*)(val* self, val* p0))(var79->class->vft[COLOR_nit__model__MPropDef__mproperty_61d]))(var79, var_mprop) /* mproperty= on */; +if (var69){ +var_mtype = var_inherited_type; +} else { } -{ -((void (*)(val* self, val* p0))(var79->class->vft[COLOR_nit__model__MPropDef__location_61d]))(var79, var80) /* location= on */; +} else { +} +} else { } { -((void (*)(val* self))(var79->class->vft[COLOR_standard__kernel__Object__init]))(var79) /* init on */; +{ /* Inline parser_nodes#AAttrPropdef#n_expr (self) on */ +var77 = self->attrs[COLOR_nit__parser_nodes__AAttrPropdef___n_expr].val; /* _n_expr on */ +var75 = var77; +RET_LABEL76:(void)0; } -var_mpropdef = var79; -/* isa nullable MPROPDEF */ -type_struct = self->type->resolution_table->types[COLOR_nullable__nit__modelize_property__APropdef__MPROPDEF]; -cltype84 = type_struct->color; -idtype85 = type_struct->id; -if(cltype84 >= var_mpropdef->type->table_size) { -var83 = 0; -} else { -var83 = var_mpropdef->type->type_table[cltype84] == idtype85; -} -if (unlikely(!var83)) { -var_class_name86 = var_mpropdef == NULL ? "null" : var_mpropdef->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name86); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 1210); -show_backtrace(1); -} -{ -{ /* Inline modelize_property#APropdef#mpropdef= (self,var_mpropdef) on */ -/* Covariant cast for argument 0 (mpropdef) isa nullable MPROPDEF */ -/* isa nullable MPROPDEF */ -type_struct91 = self->type->resolution_table->types[COLOR_nullable__nit__modelize_property__APropdef__MPROPDEF]; -cltype89 = type_struct91->color; -idtype90 = type_struct91->id; -if(cltype89 >= var_mpropdef->type->table_size) { -var88 = 0; -} else { -var88 = var_mpropdef->type->type_table[cltype89] == idtype90; -} -if (unlikely(!var88)) { -var_class_name92 = var_mpropdef == NULL ? "null" : var_mpropdef->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name92); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 405); -show_backtrace(1); -} -self->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val = var_mpropdef; /* _mpropdef on */ -RET_LABEL87:(void)0; } +var_nexpr = var75; +if (var_mtype == NULL) { +var78 = 1; /* is null */ +} else { +var78 = 0; /* arg is null but recv is not */ } +if (0) { +{ /* Inline kernel#Object#== (var_mtype,((val*)NULL)) on */ +var_other = ((val*)NULL); { -{ /* Inline modelize_property#ModelBuilder#mpropdef2npropdef (var_modelbuilder) on */ -var95 = var_modelbuilder->attrs[COLOR_nit__modelize_property__ModelBuilder___mpropdef2npropdef].val; /* _mpropdef2npropdef on */ -if (unlikely(var95 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef2npropdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 40); -show_backtrace(1); +{ /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on */ +var83 = var_mtype == var_other; +var81 = var83; +goto RET_LABEL82; +RET_LABEL82:(void)0; } -var93 = var95; -RET_LABEL94:(void)0; } +var79 = var81; +goto RET_LABEL80; +RET_LABEL80:(void)0; } -{ -standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var93, var_mpropdef, self); /* Direct call hash_collection#HashMap#[]= on */ +var78 = var79; } -{ -var96 = nit___nit__MPropDef___is_intro(var_mpropdef); +if (var78){ +if (var_nexpr == NULL) { +var84 = 0; /* is null */ +} else { +var84 = 1; /* arg is null and recv is not */ } -if (var96){ +if (0) { +{ /* Inline kernel#Object#!= (var_nexpr,((val*)NULL)) on */ +var_other24 = ((val*)NULL); { -{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (var_modelbuilder) on */ -var99 = var_modelbuilder->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ -if (unlikely(var99 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47); -show_backtrace(1); +var87 = ((short int(*)(val* self, val* p0))(var_nexpr->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nexpr, var_other24); /* == on */ } -var97 = var99; -RET_LABEL98:(void)0; +var88 = !var87; +var85 = var88; +goto RET_LABEL86; +RET_LABEL86:(void)0; } +var84 = var85; } -if (varonce100) { -var101 = varonce100; +if (var84){ +/* isa ANewExpr */ +cltype = type_nit__ANewExpr.color; +idtype = type_nit__ANewExpr.id; +if(cltype >= var_nexpr->type->table_size) { +var89 = 0; } else { -var102 = " introduces new type "; -var103 = 21; -var104 = standard___standard__NativeString___to_s_with_length(var102, var103); -var101 = var104; -varonce100 = var101; -} -{ -var105 = nit___nit__MProperty___nit__model_base__MEntity__full_name(var_mprop); +var89 = var_nexpr->type->type_table[cltype] == idtype; } -var106 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var106 = array_instance Array[Object] */ -var107 = 3; -var108 = NEW_standard__NativeArray(var107, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var108)->values[0] = (val*) var_mpropdef; -((struct instance_standard__NativeArray*)var108)->values[1] = (val*) var101; -((struct instance_standard__NativeArray*)var108)->values[2] = (val*) var105; +if (var89){ { -((void (*)(val* self, val* p0, long p1))(var106->class->vft[COLOR_standard__array__Array__with_native]))(var106, var108, var107) /* with_native on */; +{ /* Inline parser_nodes#ANewExpr#n_type (var_nexpr) on */ +var92 = var_nexpr->attrs[COLOR_nit__parser_nodes__ANewExpr___n_type].val; /* _n_type on */ +if (unlikely(var92 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2255); +fatal_exit(1); } +var90 = var92; +RET_LABEL91:(void)0; } -{ -var109 = ((val* (*)(val* self))(var106->class->vft[COLOR_standard__string__Object__to_s]))(var106) /* to_s on */; } -var110 = 4; { -nit___nit__ToolContext___info(var97, var109, var110); /* Direct call toolcontext#ToolContext#info on */ +var93 = nit___nit__ModelBuilder___resolve_mtype_unchecked(var_modelbuilder, var_mmodule, var_mclassdef, var90, 1); } +var_mtype = var93; } else { -{ -{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (var_modelbuilder) on */ -var113 = var_modelbuilder->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ -if (unlikely(var113 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47); -show_backtrace(1); +/* isa AIntExpr */ +cltype95 = type_nit__AIntExpr.color; +idtype96 = type_nit__AIntExpr.id; +if(cltype95 >= var_nexpr->type->table_size) { +var94 = 0; +} else { +var94 = var_nexpr->type->type_table[cltype95] == idtype96; } -var111 = var113; -RET_LABEL112:(void)0; +if (var94){ +if (likely(varonce!=NULL)) { +var97 = varonce; +} else { +var98 = "Int"; +var99 = standard___standard__NativeString___to_s_with_length(var98, 3l); +var97 = var99; +varonce = var97; } +{ +var100 = nit___nit__ModelBuilder___try_get_mclass_by_name(var_modelbuilder, var_nexpr, var_mmodule, var97); } -if (varonce114) { -var115 = varonce114; +var_cla = var100; +if (var_cla == NULL) { +var101 = 0; /* is null */ } else { -var116 = " redefines type "; -var117 = 16; -var118 = standard___standard__NativeString___to_s_with_length(var116, var117); -var115 = var118; -varonce114 = var115; +var101 = 1; /* arg is null and recv is not */ } +if (0) { +{ /* Inline kernel#Object#!= (var_cla,((val*)NULL)) on */ +var_other24 = ((val*)NULL); { -var119 = nit___nit__MProperty___nit__model_base__MEntity__full_name(var_mprop); +var104 = ((short int(*)(val* self, val* p0))(var_cla->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_cla, var_other24); /* == on */ } -var120 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var120 = array_instance Array[Object] */ -var121 = 3; -var122 = NEW_standard__NativeArray(var121, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var122)->values[0] = (val*) var_mpropdef; -((struct instance_standard__NativeArray*)var122)->values[1] = (val*) var115; -((struct instance_standard__NativeArray*)var122)->values[2] = (val*) var119; -{ -((void (*)(val* self, val* p0, long p1))(var120->class->vft[COLOR_standard__array__Array__with_native]))(var120, var122, var121) /* with_native on */; +var105 = !var104; +var102 = var105; +goto RET_LABEL103; +RET_LABEL103:(void)0; } +var101 = var102; } +if (var101){ { -var123 = ((val* (*)(val* self))(var120->class->vft[COLOR_standard__string__Object__to_s]))(var120) /* to_s on */; +{ /* Inline model#MClass#mclass_type (var_cla) on */ +var108 = var_cla->attrs[COLOR_nit__model__MClass___mclass_type].val; /* _mclass_type on */ +if (unlikely(var108 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 484); +fatal_exit(1); } -var124 = 4; -{ -nit___nit__ToolContext___info(var111, var123, var124); /* Direct call toolcontext#ToolContext#info on */ +var106 = var108; +RET_LABEL107:(void)0; } } -{ -nit__modelize_property___APropdef___set_doc(self, var_mpropdef, var_modelbuilder); /* Direct call modelize_property#APropdef#set_doc on */ +var_mtype = var106; +} else { } -if (varonce125) { -var126 = varonce125; } else { -var127 = "fixed"; -var128 = 5; -var129 = standard___standard__NativeString___to_s_with_length(var127, var128); -var126 = var129; -varonce125 = var126; +/* isa AByteExpr */ +cltype110 = type_nit__AByteExpr.color; +idtype111 = type_nit__AByteExpr.id; +if(cltype110 >= var_nexpr->type->table_size) { +var109 = 0; +} else { +var109 = var_nexpr->type->type_table[cltype110] == idtype111; +} +if (var109){ +if (likely(varonce112!=NULL)) { +var113 = varonce112; +} else { +var114 = "Byte"; +var115 = standard___standard__NativeString___to_s_with_length(var114, 4l); +var113 = var115; +varonce112 = var113; } { -var130 = nit__annotation___Prod___get_single_annotation(self, var126, var_modelbuilder); +var116 = nit___nit__ModelBuilder___try_get_mclass_by_name(var_modelbuilder, var_nexpr, var_mmodule, var113); } -var_atfixed = var130; -var131 = NULL; -if (var_atfixed == NULL) { -var132 = 0; /* is null */ +var_cla117 = var116; +if (var_cla117 == NULL) { +var118 = 0; /* is null */ } else { -var132 = 1; /* arg is null and recv is not */ +var118 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_atfixed,var131) on */ -var_other135 = var131; +{ /* Inline kernel#Object#!= (var_cla117,((val*)NULL)) on */ +var_other24 = ((val*)NULL); { -var136 = ((short int (*)(val* self, val* p0))(var_atfixed->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_atfixed, var_other135) /* == on */; +var121 = ((short int(*)(val* self, val* p0))(var_cla117->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_cla117, var_other24); /* == on */ } -var137 = !var136; -var133 = var137; -goto RET_LABEL134; -RET_LABEL134:(void)0; +var122 = !var121; +var119 = var122; +goto RET_LABEL120; +RET_LABEL120:(void)0; } -var132 = var133; +var118 = var119; } -if (var132){ -var138 = 1; +if (var118){ { -{ /* Inline model#MVirtualTypeDef#is_fixed= (var_mpropdef,var138) on */ -var_mpropdef->attrs[COLOR_nit__model__MVirtualTypeDef___is_fixed].s = var138; /* _is_fixed on */ -RET_LABEL139:(void)0; +{ /* Inline model#MClass#mclass_type (var_cla117) on */ +var125 = var_cla117->attrs[COLOR_nit__model__MClass___mclass_type].val; /* _mclass_type on */ +if (unlikely(var125 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 484); +fatal_exit(1); } +var123 = var125; +RET_LABEL124:(void)0; } +} +var_mtype = var123; } else { } -RET_LABEL:; +} else { +/* isa AFloatExpr */ +cltype127 = type_nit__AFloatExpr.color; +idtype128 = type_nit__AFloatExpr.id; +if(cltype127 >= var_nexpr->type->table_size) { +var126 = 0; +} else { +var126 = var_nexpr->type->type_table[cltype127] == idtype128; } -/* method modelize_property#ATypePropdef#build_signature for (self: ATypePropdef, ModelBuilder) */ -void nit__modelize_property___ATypePropdef___APropdef__build_signature(val* self, val* p0) { -val* var_modelbuilder /* var modelbuilder: ModelBuilder */; -val* var /* : nullable MPropDef */; -val* var2 /* : nullable MPropDef */; -val* var_mpropdef /* var mpropdef: nullable MVirtualTypeDef */; -val* var3 /* : null */; -short int var4 /* : Bool */; -short int var5 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var7 /* : Bool */; -short int var9 /* : Bool */; -val* var10 /* : MClassDef */; -val* var12 /* : MClassDef */; -val* var_mclassdef /* var mclassdef: MClassDef */; -val* var13 /* : MModule */; -val* var15 /* : MModule */; -val* var_mmodule /* var mmodule: MModule */; -val* var16 /* : null */; -val* var_mtype /* var mtype: nullable MType */; -val* var17 /* : AType */; -val* var19 /* : AType */; -val* var_ntype /* var ntype: AType */; -val* var20 /* : nullable MType */; -val* var21 /* : null */; -short int var22 /* : Bool */; -short int var23 /* : Bool */; -short int var25 /* : Bool */; -short int var27 /* : Bool */; -var_modelbuilder = p0; -{ -{ /* Inline modelize_property#APropdef#mpropdef (self) on */ -var2 = self->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ -var = var2; -RET_LABEL1:(void)0; +if (var126){ +if (likely(varonce129!=NULL)) { +var130 = varonce129; +} else { +var131 = "Float"; +var132 = standard___standard__NativeString___to_s_with_length(var131, 5l); +var130 = var132; +varonce129 = var130; } +{ +var133 = nit___nit__ModelBuilder___try_get_mclass_by_name(var_modelbuilder, var_nexpr, var_mmodule, var130); } -var_mpropdef = var; -var3 = NULL; -if (var_mpropdef == NULL) { -var4 = 1; /* is null */ +var_cla134 = var133; +if (var_cla134 == NULL) { +var135 = 0; /* is null */ } else { -var4 = 0; /* arg is null but recv is not */ +var135 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_mpropdef,var3) on */ -var_other = var3; +{ /* Inline kernel#Object#!= (var_cla134,((val*)NULL)) on */ +var_other24 = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_mpropdef,var_other) on */ -var9 = var_mpropdef == var_other; -var7 = var9; -goto RET_LABEL8; -RET_LABEL8:(void)0; +var138 = ((short int(*)(val* self, val* p0))(var_cla134->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_cla134, var_other24); /* == on */ } +var139 = !var138; +var136 = var139; +goto RET_LABEL137; +RET_LABEL137:(void)0; } -var5 = var7; -goto RET_LABEL6; -RET_LABEL6:(void)0; +var135 = var136; } -var4 = var5; +if (var135){ +{ +{ /* Inline model#MClass#mclass_type (var_cla134) on */ +var142 = var_cla134->attrs[COLOR_nit__model__MClass___mclass_type].val; /* _mclass_type on */ +if (unlikely(var142 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 484); +fatal_exit(1); } -if (var4){ -goto RET_LABEL; -} else { +var140 = var142; +RET_LABEL141:(void)0; } -{ -{ /* Inline model#MPropDef#mclassdef (var_mpropdef) on */ -var12 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ -if (unlikely(var12 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2010); -show_backtrace(1); } -var10 = var12; -RET_LABEL11:(void)0; +var_mtype = var140; +} else { } +} else { +/* isa ACharExpr */ +cltype144 = type_nit__ACharExpr.color; +idtype145 = type_nit__ACharExpr.id; +if(cltype144 >= var_nexpr->type->table_size) { +var143 = 0; +} else { +var143 = var_nexpr->type->type_table[cltype144] == idtype145; } -var_mclassdef = var10; -{ -{ /* Inline model#MClassDef#mmodule (var_mclassdef) on */ -var15 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ -if (unlikely(var15 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 489); -show_backtrace(1); +if (var143){ +if (likely(varonce146!=NULL)) { +var147 = varonce146; +} else { +var148 = "Char"; +var149 = standard___standard__NativeString___to_s_with_length(var148, 4l); +var147 = var149; +varonce146 = var147; } -var13 = var15; -RET_LABEL14:(void)0; +{ +var150 = nit___nit__ModelBuilder___try_get_mclass_by_name(var_modelbuilder, var_nexpr, var_mmodule, var147); } +var_cla151 = var150; +if (var_cla151 == NULL) { +var152 = 0; /* is null */ +} else { +var152 = 1; /* arg is null and recv is not */ } -var_mmodule = var13; -var16 = NULL; -var_mtype = var16; +if (0) { +{ /* Inline kernel#Object#!= (var_cla151,((val*)NULL)) on */ +var_other24 = ((val*)NULL); { -{ /* Inline parser_nodes#ATypePropdef#n_type (self) on */ -var19 = self->attrs[COLOR_nit__parser_nodes__ATypePropdef___n_type].val; /* _n_type on */ -if (unlikely(var19 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1325); -show_backtrace(1); +var155 = ((short int(*)(val* self, val* p0))(var_cla151->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_cla151, var_other24); /* == on */ } -var17 = var19; -RET_LABEL18:(void)0; +var156 = !var155; +var153 = var156; +goto RET_LABEL154; +RET_LABEL154:(void)0; } +var152 = var153; } -var_ntype = var17; +if (var152){ { -var20 = nit__modelize_class___ModelBuilder___resolve_mtype(var_modelbuilder, var_mmodule, var_mclassdef, var_ntype); +{ /* Inline model#MClass#mclass_type (var_cla151) on */ +var159 = var_cla151->attrs[COLOR_nit__model__MClass___mclass_type].val; /* _mclass_type on */ +if (unlikely(var159 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 484); +fatal_exit(1); } -var_mtype = var20; -var21 = NULL; -if (var_mtype == NULL) { -var22 = 1; /* is null */ -} else { -var22 = 0; /* arg is null but recv is not */ +var157 = var159; +RET_LABEL158:(void)0; } -if (0) { -{ /* Inline kernel#Object#== (var_mtype,var21) on */ -var_other = var21; -{ -{ /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on */ -var27 = var_mtype == var_other; -var25 = var27; -goto RET_LABEL26; -RET_LABEL26:(void)0; } +var_mtype = var157; +} else { +} +} else { +/* isa ABoolExpr */ +cltype161 = type_nit__ABoolExpr.color; +idtype162 = type_nit__ABoolExpr.id; +if(cltype161 >= var_nexpr->type->table_size) { +var160 = 0; +} else { +var160 = var_nexpr->type->type_table[cltype161] == idtype162; } -var23 = var25; -goto RET_LABEL24; -RET_LABEL24:(void)0; +if (var160){ +if (likely(varonce163!=NULL)) { +var164 = varonce163; +} else { +var165 = "Bool"; +var166 = standard___standard__NativeString___to_s_with_length(var165, 4l); +var164 = var166; +varonce163 = var164; } -var22 = var23; +{ +var167 = nit___nit__ModelBuilder___try_get_mclass_by_name(var_modelbuilder, var_nexpr, var_mmodule, var164); } -if (var22){ -goto RET_LABEL; +var_cla168 = var167; +if (var_cla168 == NULL) { +var169 = 0; /* is null */ } else { +var169 = 1; /* arg is null and recv is not */ } +if (0) { +{ /* Inline kernel#Object#!= (var_cla168,((val*)NULL)) on */ +var_other24 = ((val*)NULL); { -{ /* Inline model#MVirtualTypeDef#bound= (var_mpropdef,var_mtype) on */ -var_mpropdef->attrs[COLOR_nit__model__MVirtualTypeDef___bound].val = var_mtype; /* _bound on */ -RET_LABEL28:(void)0; +var172 = ((short int(*)(val* self, val* p0))(var_cla168->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_cla168, var_other24); /* == on */ } +var173 = !var172; +var170 = var173; +goto RET_LABEL171; +RET_LABEL171:(void)0; } -RET_LABEL:; +var169 = var170; } -/* method modelize_property#ATypePropdef#check_signature for (self: ATypePropdef, ModelBuilder) */ -void nit__modelize_property___ATypePropdef___APropdef__check_signature(val* self, val* p0) { -val* var_modelbuilder /* var modelbuilder: ModelBuilder */; -val* var /* : nullable MPropDef */; -val* var2 /* : nullable MPropDef */; -val* var_mpropdef /* var mpropdef: nullable MVirtualTypeDef */; -val* var3 /* : null */; -short int var4 /* : Bool */; -short int var5 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var7 /* : Bool */; -short int var9 /* : Bool */; -val* var10 /* : nullable MPropDef */; -val* var12 /* : nullable MPropDef */; -val* var13 /* : nullable MType */; -val* var15 /* : nullable MType */; -val* var_bound /* var bound: nullable MType */; -val* var16 /* : null */; -short int var17 /* : Bool */; -short int var18 /* : Bool */; -short int var20 /* : Bool */; -short int var22 /* : Bool */; -val* var23 /* : AType */; -val* var25 /* : AType */; -val* var26 /* : MClassDef */; -val* var28 /* : MClassDef */; -val* var_mclassdef /* var mclassdef: MClassDef */; -val* var29 /* : MModule */; -val* var31 /* : MModule */; -val* var_mmodule /* var mmodule: MModule */; -val* var32 /* : MClassType */; -val* var34 /* : MClassType */; -val* var_anchor /* var anchor: MClassType */; -short int var35 /* : Bool */; -int cltype; -int idtype; -val* var36 /* : Array[MVirtualType] */; -long var37 /* : Int */; -val* var_ /* var : Array[MVirtualType] */; -val* var38 /* : nullable MPropDef */; -val* var40 /* : nullable MPropDef */; -val* var41 /* : MProperty */; -val* var43 /* : MProperty */; -val* var44 /* : MVirtualType */; -val* var46 /* : MVirtualType */; -val* var_seen /* var seen: Array[MVirtualType] */; -short int var47 /* : Bool */; -static val* varonce; -val* var48 /* : String */; -char* var49 /* : NativeString */; -long var50 /* : Int */; -val* var51 /* : FlatString */; -static val* varonce52; -val* var53 /* : String */; -char* var54 /* : NativeString */; -long var55 /* : Int */; -val* var56 /* : FlatString */; -val* var57 /* : String */; -val* var58 /* : Array[Object] */; -long var59 /* : Int */; -val* var60 /* : NativeArray[Object] */; -val* var61 /* : String */; -val* var62 /* : MType */; -val* var_next /* var next: MType */; -short int var63 /* : Bool */; -int cltype64; -int idtype65; -short int var66 /* : Bool */; -val* var67 /* : nullable MType */; -val* var69 /* : nullable MType */; -val* var70 /* : MProperty */; -val* var72 /* : MProperty */; -val* var73 /* : Array[MPropDef] */; -val* var_74 /* var : Array[MVirtualTypeDef] */; -val* var75 /* : ArrayIterator[nullable Object] */; -val* var_76 /* var : ArrayIterator[MVirtualTypeDef] */; -short int var77 /* : Bool */; -val* var78 /* : nullable Object */; -val* var_p /* var p: MVirtualTypeDef */; -val* var79 /* : nullable MType */; -val* var81 /* : nullable MType */; -val* var_supbound /* var supbound: nullable MType */; -val* var82 /* : null */; -short int var83 /* : Bool */; -short int var84 /* : Bool */; -short int var86 /* : Bool */; -short int var88 /* : Bool */; -short int var90 /* : Bool */; -short int var92 /* : Bool */; -static val* varonce93; -val* var94 /* : String */; -char* var95 /* : NativeString */; -long var96 /* : Int */; -val* var97 /* : FlatString */; -val* var98 /* : MProperty */; -val* var100 /* : MProperty */; -static val* varonce101; -val* var102 /* : String */; -char* var103 /* : NativeString */; -long var104 /* : Int */; -val* var105 /* : FlatString */; -val* var106 /* : MClassDef */; -val* var108 /* : MClassDef */; -val* var109 /* : MClass */; -val* var111 /* : MClass */; -val* var112 /* : Array[Object] */; -long var113 /* : Int */; -val* var114 /* : NativeArray[Object] */; -val* var115 /* : String */; -val* var116 /* : MClassDef */; -val* var118 /* : MClassDef */; -val* var119 /* : MClass */; -val* var121 /* : MClass */; -val* var122 /* : MClass */; -val* var124 /* : MClass */; -short int var125 /* : Bool */; -short int var127 /* : Bool */; -short int var129 /* : Bool */; -val* var130 /* : AType */; -val* var132 /* : AType */; -static val* varonce133; -val* var134 /* : String */; -char* var135 /* : NativeString */; -long var136 /* : Int */; -val* var137 /* : FlatString */; -static val* varonce138; -val* var139 /* : String */; -char* var140 /* : NativeString */; -long var141 /* : Int */; -val* var142 /* : FlatString */; -short int var143 /* : Bool */; -short int var144 /* : Bool */; -val* var145 /* : AType */; -val* var147 /* : AType */; -static val* varonce148; -val* var149 /* : String */; -char* var150 /* : NativeString */; -long var151 /* : Int */; -val* var152 /* : FlatString */; -static val* varonce153; -val* var154 /* : String */; -char* var155 /* : NativeString */; -long var156 /* : Int */; -val* var157 /* : FlatString */; -static val* varonce158; -val* var159 /* : String */; -char* var160 /* : NativeString */; -long var161 /* : Int */; -val* var162 /* : FlatString */; -static val* varonce163; -val* var164 /* : String */; -char* var165 /* : NativeString */; -long var166 /* : Int */; -val* var167 /* : FlatString */; -val* var168 /* : Array[Object] */; -long var169 /* : Int */; -val* var170 /* : NativeArray[Object] */; -val* var171 /* : String */; -var_modelbuilder = p0; +if (var169){ { -{ /* Inline modelize_property#APropdef#mpropdef (self) on */ -var2 = self->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ -var = var2; -RET_LABEL1:(void)0; +{ /* Inline model#MClass#mclass_type (var_cla168) on */ +var176 = var_cla168->attrs[COLOR_nit__model__MClass___mclass_type].val; /* _mclass_type on */ +if (unlikely(var176 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 484); +fatal_exit(1); +} +var174 = var176; +RET_LABEL175:(void)0; } } -var_mpropdef = var; -var3 = NULL; -if (var_mpropdef == NULL) { -var4 = 1; /* is null */ +var_mtype = var174; } else { -var4 = 0; /* arg is null but recv is not */ } -if (0) { -{ /* Inline kernel#Object#== (var_mpropdef,var3) on */ -var_other = var3; +} else { +/* isa ASuperstringExpr */ +cltype178 = type_nit__ASuperstringExpr.color; +idtype179 = type_nit__ASuperstringExpr.id; +if(cltype178 >= var_nexpr->type->table_size) { +var177 = 0; +} else { +var177 = var_nexpr->type->type_table[cltype178] == idtype179; +} +if (var177){ +if (likely(varonce180!=NULL)) { +var181 = varonce180; +} else { +var182 = "String"; +var183 = standard___standard__NativeString___to_s_with_length(var182, 6l); +var181 = var183; +varonce180 = var181; +} { -{ /* Inline kernel#Object#is_same_instance (var_mpropdef,var_other) on */ -var9 = var_mpropdef == var_other; -var7 = var9; -goto RET_LABEL8; -RET_LABEL8:(void)0; +var184 = nit___nit__ModelBuilder___try_get_mclass_by_name(var_modelbuilder, var_nexpr, var_mmodule, var181); } +var_cla185 = var184; +if (var_cla185 == NULL) { +var186 = 0; /* is null */ +} else { +var186 = 1; /* arg is null and recv is not */ } -var5 = var7; -goto RET_LABEL6; -RET_LABEL6:(void)0; +if (0) { +{ /* Inline kernel#Object#!= (var_cla185,((val*)NULL)) on */ +var_other24 = ((val*)NULL); +{ +var189 = ((short int(*)(val* self, val* p0))(var_cla185->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_cla185, var_other24); /* == on */ } -var4 = var5; +var190 = !var189; +var187 = var190; +goto RET_LABEL188; +RET_LABEL188:(void)0; } -if (var4){ -goto RET_LABEL; -} else { +var186 = var187; } +if (var186){ { -{ /* Inline modelize_property#APropdef#mpropdef (self) on */ -var12 = self->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ -var10 = var12; -RET_LABEL11:(void)0; +{ /* Inline model#MClass#mclass_type (var_cla185) on */ +var193 = var_cla185->attrs[COLOR_nit__model__MClass___mclass_type].val; /* _mclass_type on */ +if (unlikely(var193 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 484); +fatal_exit(1); +} +var191 = var193; +RET_LABEL192:(void)0; } } -if (var10 == NULL) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 1246); -show_backtrace(1); +var_mtype = var191; } else { -{ /* Inline model#MVirtualTypeDef#bound (var10) on */ -if (unlikely(var10 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2191); -show_backtrace(1); } -var15 = var10->attrs[COLOR_nit__model__MVirtualTypeDef___bound].val; /* _bound on */ -var13 = var15; -RET_LABEL14:(void)0; +} else { +/* isa AStringFormExpr */ +cltype195 = type_nit__AStringFormExpr.color; +idtype196 = type_nit__AStringFormExpr.id; +if(cltype195 >= var_nexpr->type->table_size) { +var194 = 0; +} else { +var194 = var_nexpr->type->type_table[cltype195] == idtype196; } +if (var194){ +if (likely(varonce197!=NULL)) { +var198 = varonce197; +} else { +var199 = "String"; +var200 = standard___standard__NativeString___to_s_with_length(var199, 6l); +var198 = var200; +varonce197 = var198; +} +{ +var201 = nit___nit__ModelBuilder___try_get_mclass_by_name(var_modelbuilder, var_nexpr, var_mmodule, var198); } -var_bound = var13; -var16 = NULL; -if (var_bound == NULL) { -var17 = 1; /* is null */ +var_cla202 = var201; +if (var_cla202 == NULL) { +var203 = 0; /* is null */ } else { -var17 = 0; /* arg is null but recv is not */ +var203 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_bound,var16) on */ -var_other = var16; +{ /* Inline kernel#Object#!= (var_cla202,((val*)NULL)) on */ +var_other24 = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_bound,var_other) on */ -var22 = var_bound == var_other; -var20 = var22; -goto RET_LABEL21; -RET_LABEL21:(void)0; +var206 = ((short int(*)(val* self, val* p0))(var_cla202->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_cla202, var_other24); /* == on */ } +var207 = !var206; +var204 = var207; +goto RET_LABEL205; +RET_LABEL205:(void)0; } -var18 = var20; -goto RET_LABEL19; -RET_LABEL19:(void)0; +var203 = var204; } -var17 = var18; +if (var203){ +{ +{ /* Inline model#MClass#mclass_type (var_cla202) on */ +var210 = var_cla202->attrs[COLOR_nit__model__MClass___mclass_type].val; /* _mclass_type on */ +if (unlikely(var210 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 484); +fatal_exit(1); } -if (var17){ -goto RET_LABEL; +var208 = var210; +RET_LABEL209:(void)0; +} +} +var_mtype = var208; } else { } -{ -{ /* Inline parser_nodes#ATypePropdef#n_type (self) on */ -var25 = self->attrs[COLOR_nit__parser_nodes__ATypePropdef___n_type].val; /* _n_type on */ -if (unlikely(var25 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1325); -show_backtrace(1); +} else { +if (unlikely(varonce211==NULL)) { +var212 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce213!=NULL)) { +var214 = varonce213; +} else { +var215 = "Error: untyped attribute `"; +var216 = standard___standard__NativeString___to_s_with_length(var215, 26l); +var214 = var216; +varonce213 = var214; } -var23 = var25; -RET_LABEL24:(void)0; +((struct instance_standard__NativeArray*)var212)->values[0]=var214; +if (likely(varonce217!=NULL)) { +var218 = varonce217; +} else { +var219 = "`. Implicit typing allowed only for literals and new."; +var220 = standard___standard__NativeString___to_s_with_length(var219, 53l); +var218 = var220; +varonce217 = var218; } +((struct instance_standard__NativeArray*)var212)->values[2]=var218; +} else { +var212 = varonce211; +varonce211 = NULL; } { -nit__modelize_property___ModelBuilder___check_visibility(var_modelbuilder, var23, var_bound, var_mpropdef); /* Direct call modelize_property#ModelBuilder#check_visibility on */ +var221 = ((val*(*)(val* self))(var_mreadpropdef->class->vft[COLOR_standard__string__Object__to_s]))(var_mreadpropdef); /* to_s on */ } +((struct instance_standard__NativeArray*)var212)->values[1]=var221; { -{ /* Inline model#MPropDef#mclassdef (var_mpropdef) on */ -var28 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ -if (unlikely(var28 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2010); -show_backtrace(1); +var222 = ((val*(*)(val* self))(var212->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var212); /* native_to_s on */ } -var26 = var28; -RET_LABEL27:(void)0; +varonce211 = var212; +{ +nit___nit__ModelBuilder___error(var_modelbuilder, self, var222); /* Direct call modelbuilder_base#ModelBuilder#error on */ } } -var_mclassdef = var26; -{ -{ /* Inline model#MClassDef#mmodule (var_mclassdef) on */ -var31 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ -if (unlikely(var31 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 489); -show_backtrace(1); } -var29 = var31; -RET_LABEL30:(void)0; } } -var_mmodule = var29; -{ -{ /* Inline model#MClassDef#bound_mtype (var_mclassdef) on */ -var34 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ -if (unlikely(var34 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 495); -show_backtrace(1); } -var32 = var34; -RET_LABEL33:(void)0; } } -var_anchor = var32; -/* isa MVirtualType */ -cltype = type_nit__MVirtualType.color; -idtype = type_nit__MVirtualType.id; -if(cltype >= var_bound->type->table_size) { -var35 = 0; +} +if (var_mtype == NULL) { +var223 = 1; /* is null */ } else { -var35 = var_bound->type->type_table[cltype] == idtype; +var223 = 0; /* arg is null but recv is not */ } -if (var35){ -var36 = NEW_standard__Array(&type_standard__Array__nit__MVirtualType); -var37 = 1; +if (0) { +{ /* Inline kernel#Object#== (var_mtype,((val*)NULL)) on */ +var_other = ((val*)NULL); { -standard___standard__Array___with_capacity(var36, var37); /* Direct call array#Array#with_capacity on */ +{ /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on */ +var228 = var_mtype == var_other; +var226 = var228; +goto RET_LABEL227; +RET_LABEL227:(void)0; } -var_ = var36; -{ -{ /* Inline modelize_property#APropdef#mpropdef (self) on */ -var40 = self->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ -var38 = var40; -RET_LABEL39:(void)0; } +var224 = var226; +goto RET_LABEL225; +RET_LABEL225:(void)0; } -if (var38 == NULL) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 1258); -show_backtrace(1); -} else { -{ /* Inline model#MPropDef#mproperty (var38) on */ -if (unlikely(var38 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); +var223 = var224; } -var43 = var38->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var43 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); +if (var223){ +goto RET_LABEL; +} else { } -var41 = var43; -RET_LABEL42:(void)0; +} else { } +} else { +if (var_ntype == NULL) { +var230 = 0; /* is null */ +} else { +var230 = 1; /* arg is null and recv is not */ } +if (0) { +{ /* Inline kernel#Object#!= (var_ntype,((val*)NULL)) on */ +var_other24 = ((val*)NULL); { -{ /* Inline model#MVirtualTypeProp#mvirtualtype (var41) on */ -var46 = var41->attrs[COLOR_nit__model__MVirtualTypeProp___mvirtualtype].val; /* _mvirtualtype on */ -if (unlikely(var46 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mvirtualtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1992); -show_backtrace(1); +var233 = ((short int(*)(val* self, val* p0))(var_ntype->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_ntype, var_other24); /* == on */ } -var44 = var46; -RET_LABEL45:(void)0; +var234 = !var233; +var231 = var234; +goto RET_LABEL232; +RET_LABEL232:(void)0; } +var230 = var231; } +var_ = var230; +if (var230){ +if (var_inherited_type == NULL) { +var235 = 0; /* cannot be null */ +} else { +{ /* Inline kernel#Object#== (var_inherited_type,var_mtype) on */ +var_other = var_mtype; { -standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_, var44); /* Direct call array#AbstractArray#push on */ +{ /* Inline kernel#Object#is_same_instance (var_inherited_type,var_other) on */ +var240 = var_inherited_type == var_other; +var238 = var240; +goto RET_LABEL239; +RET_LABEL239:(void)0; } -var_seen = var_; -for(;;) { -{ -var47 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__has(var_seen, var_bound); } -if (var47){ -{ -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_seen, var_bound); /* Direct call array#Array#add on */ +var236 = var238; +goto RET_LABEL237; +RET_LABEL237:(void)0; +} +var235 = var236; } -if (varonce) { -var48 = varonce; +var229 = var235; } else { -var49 = "Error: circularity of virtual type definition: "; -var50 = 47; -var51 = standard___standard__NativeString___to_s_with_length(var49, var50); -var48 = var51; -varonce = var48; +var229 = var_; } -if (varonce52) { -var53 = varonce52; +if (var229){ +/* isa ANewExpr */ +cltype242 = type_nit__ANewExpr.color; +idtype243 = type_nit__ANewExpr.id; +if(var_nexpr == NULL) { +var241 = 0; } else { -var54 = " -> "; -var55 = 4; -var56 = standard___standard__NativeString___to_s_with_length(var54, var55); -var53 = var56; -varonce52 = var53; +if(cltype242 >= var_nexpr->type->table_size) { +var241 = 0; +} else { +var241 = var_nexpr->type->type_table[cltype242] == idtype243; } -{ -var57 = standard__string___Collection___join(var_seen, var53); } -var58 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var58 = array_instance Array[Object] */ -var59 = 2; -var60 = NEW_standard__NativeArray(var59, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var60)->values[0] = (val*) var48; -((struct instance_standard__NativeArray*)var60)->values[1] = (val*) var57; +if (var241){ { -((void (*)(val* self, val* p0, long p1))(var58->class->vft[COLOR_standard__array__Array__with_native]))(var58, var60, var59) /* with_native on */; +{ /* Inline parser_nodes#ANewExpr#n_type (var_nexpr) on */ +var246 = var_nexpr->attrs[COLOR_nit__parser_nodes__ANewExpr___n_type].val; /* _n_type on */ +if (unlikely(var246 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2255); +fatal_exit(1); +} +var244 = var246; +RET_LABEL245:(void)0; } } { -var61 = ((val* (*)(val* self))(var58->class->vft[COLOR_standard__string__Object__to_s]))(var58) /* to_s on */; +var247 = nit___nit__ModelBuilder___resolve_mtype_unchecked(var_modelbuilder, var_mmodule, var_mclassdef, var244, 1); } +var_xmtype = var247; +if (var_xmtype == NULL) { +var248 = 0; /* cannot be null */ +} else { +{ /* Inline kernel#Object#== (var_xmtype,var_mtype) on */ +var_other = var_mtype; { -nit___nit__ModelBuilder___error(var_modelbuilder, self, var61); /* Direct call modelbuilder_base#ModelBuilder#error on */ +{ /* Inline kernel#Object#is_same_instance (var_xmtype,var_other) on */ +var253 = var_xmtype == var_other; +var251 = var253; +goto RET_LABEL252; +RET_LABEL252:(void)0; } -goto RET_LABEL; +} +var249 = var251; +goto RET_LABEL250; +RET_LABEL250:(void)0; +} +var248 = var249; +} +if (var248){ +if (likely(varonce254!=NULL)) { +var255 = varonce254; } else { +var256 = "useless-type"; +var257 = standard___standard__NativeString___to_s_with_length(var256, 12l); +var255 = var257; +varonce254 = var255; } -{ -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_seen, var_bound); /* Direct call array#Array#add on */ +if (likely(varonce258!=NULL)) { +var259 = varonce258; +} else { +var260 = "Warning: useless type definition"; +var261 = standard___standard__NativeString___to_s_with_length(var260, 32l); +var259 = var261; +varonce258 = var259; } { -var62 = nit___nit__MVirtualType___MType__lookup_bound(var_bound, var_mmodule, var_anchor); +nit___nit__ModelBuilder___advice(var_modelbuilder, var_ntype, var255, var259); /* Direct call modelbuilder_base#ModelBuilder#advice on */ } -var_next = var62; -/* isa MVirtualType */ -cltype64 = type_nit__MVirtualType.color; -idtype65 = type_nit__MVirtualType.id; -if(cltype64 >= var_next->type->table_size) { -var63 = 0; } else { -var63 = var_next->type->type_table[cltype64] == idtype65; } -var66 = !var63; -if (var66){ -goto BREAK_label; } else { } -var_bound = var_next; +} else { } -BREAK_label: (void)0; +} +if (var_mtype == NULL) { +var262 = 1; /* is null */ } else { +var262 = 0; /* arg is null but recv is not */ } +if (0) { +{ /* Inline kernel#Object#== (var_mtype,((val*)NULL)) on */ +var_other = ((val*)NULL); { -{ /* Inline model#MVirtualTypeDef#bound (var_mpropdef) on */ -var69 = var_mpropdef->attrs[COLOR_nit__model__MVirtualTypeDef___bound].val; /* _bound on */ -var67 = var69; -RET_LABEL68:(void)0; -} +{ /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on */ +var267 = var_mtype == var_other; +var265 = var267; +goto RET_LABEL266; +RET_LABEL266:(void)0; } -if (unlikely(var67 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 1273); -show_backtrace(1); } -var_bound = var67; -{ -{ /* Inline model#MPropDef#mproperty (var_mpropdef) on */ -var72 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var72 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); +var263 = var265; +goto RET_LABEL264; +RET_LABEL264:(void)0; } -var70 = var72; -RET_LABEL71:(void)0; +var262 = var263; } +if (var262){ +if (unlikely(varonce268==NULL)) { +var269 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce270!=NULL)) { +var271 = varonce270; +} else { +var272 = "Error: untyped attribute `"; +var273 = standard___standard__NativeString___to_s_with_length(var272, 26l); +var271 = var273; +varonce270 = var271; } -{ -var73 = nit___nit__MProperty___lookup_super_definitions(var70, var_mmodule, var_anchor); +((struct instance_standard__NativeArray*)var269)->values[0]=var271; +if (likely(varonce274!=NULL)) { +var275 = varonce274; +} else { +var276 = "`."; +var277 = standard___standard__NativeString___to_s_with_length(var276, 2l); +var275 = var277; +varonce274 = var275; } -var_74 = var73; -{ -var75 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_74); +((struct instance_standard__NativeArray*)var269)->values[2]=var275; +} else { +var269 = varonce268; +varonce268 = NULL; } -var_76 = var75; -for(;;) { { -var77 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_76); +var278 = ((val*(*)(val* self))(var_mreadpropdef->class->vft[COLOR_standard__string__Object__to_s]))(var_mreadpropdef); /* to_s on */ } -if (var77){ +((struct instance_standard__NativeArray*)var269)->values[1]=var278; { -var78 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_76); +var279 = ((val*(*)(val* self))(var269->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var269); /* native_to_s on */ } -var_p = var78; +varonce268 = var269; { -{ /* Inline model#MVirtualTypeDef#bound (var_p) on */ -var81 = var_p->attrs[COLOR_nit__model__MVirtualTypeDef___bound].val; /* _bound on */ -var79 = var81; -RET_LABEL80:(void)0; -} +nit___nit__ModelBuilder___error(var_modelbuilder, self, var279); /* Direct call modelbuilder_base#ModelBuilder#error on */ } -var_supbound = var79; -var82 = NULL; -if (var_supbound == NULL) { -var83 = 1; /* is null */ +goto RET_LABEL; } else { -var83 = 0; /* arg is null but recv is not */ } -if (0) { -{ /* Inline kernel#Object#== (var_supbound,var82) on */ -var_other = var82; { -{ /* Inline kernel#Object#is_same_instance (var_supbound,var_other) on */ -var88 = var_supbound == var_other; -var86 = var88; -goto RET_LABEL87; -RET_LABEL87:(void)0; +{ /* Inline modelize_property#AAttrPropdef#mtype= (self,var_mtype) on */ +self->attrs[COLOR_nit__modelize_property__AAttrPropdef___mtype].val = var_mtype; /* _mtype on */ +RET_LABEL280:(void)0; } } -var84 = var86; -goto RET_LABEL85; -RET_LABEL85:(void)0; -} -var83 = var84; -} -if (var83){ -goto BREAK_label89; +if (var_mpropdef == NULL) { +var281 = 0; /* is null */ } else { +var281 = 1; /* arg is null and recv is not */ } +if (0) { +{ /* Inline kernel#Object#!= (var_mpropdef,((val*)NULL)) on */ +var_other24 = ((val*)NULL); { -{ /* Inline model#MVirtualTypeDef#is_fixed (var_p) on */ -var92 = var_p->attrs[COLOR_nit__model__MVirtualTypeDef___is_fixed].s; /* _is_fixed on */ -var90 = var92; -RET_LABEL91:(void)0; +var284 = ((short int(*)(val* self, val* p0))(var_mpropdef->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_mpropdef, var_other24); /* == on */ } +var285 = !var284; +var282 = var285; +goto RET_LABEL283; +RET_LABEL283:(void)0; } -if (var90){ -if (varonce93) { -var94 = varonce93; -} else { -var95 = "Redef Error: Virtual type "; -var96 = 26; -var97 = standard___standard__NativeString___to_s_with_length(var95, var96); -var94 = var97; -varonce93 = var94; +var281 = var282; } +if (var281){ { -{ /* Inline model#MPropDef#mproperty (var_mpropdef) on */ -var100 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var100 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); -} -var98 = var100; -RET_LABEL99:(void)0; +{ /* Inline model#MAttributeDef#static_mtype= (var_mpropdef,var_mtype) on */ +var_mpropdef->attrs[COLOR_nit__model__MAttributeDef___static_mtype].val = var_mtype; /* _static_mtype on */ +RET_LABEL286:(void)0; } } -if (varonce101) { -var102 = varonce101; } else { -var103 = " is fixed in super-class "; -var104 = 25; -var105 = standard___standard__NativeString___to_s_with_length(var103, var104); -var102 = var105; -varonce101 = var102; } +var287 = NEW_nit__MSignature(&type_nit__MSignature); +var288 = NEW_standard__Array(&type_standard__Array__nit__MParameter); { -{ /* Inline model#MPropDef#mclassdef (var_p) on */ -var108 = var_p->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ -if (unlikely(var108 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2010); -show_backtrace(1); -} -var106 = var108; -RET_LABEL107:(void)0; -} +standard___standard__Array___standard__kernel__Object__init(var288); /* Direct call array#Array#init on */ } { -{ /* Inline model#MClassDef#mclass (var106) on */ -var111 = var106->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ -if (unlikely(var111 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 492); -show_backtrace(1); +((void(*)(val* self, val* p0))(var287->class->vft[COLOR_nit__model__MSignature__mparameters_61d]))(var287, var288); /* mparameters= on */ } -var109 = var111; -RET_LABEL110:(void)0; +{ +((void(*)(val* self, val* p0))(var287->class->vft[COLOR_nit__model__MSignature__return_mtype_61d]))(var287, var_mtype); /* return_mtype= on */ } +{ +((void(*)(val* self))(var287->class->vft[COLOR_standard__kernel__Object__init]))(var287); /* init on */ } -var112 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var112 = array_instance Array[Object] */ -var113 = 4; -var114 = NEW_standard__NativeArray(var113, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var114)->values[0] = (val*) var94; -((struct instance_standard__NativeArray*)var114)->values[1] = (val*) var98; -((struct instance_standard__NativeArray*)var114)->values[2] = (val*) var102; -((struct instance_standard__NativeArray*)var114)->values[3] = (val*) var109; +var_msignature289 = var287; { -((void (*)(val* self, val* p0, long p1))(var112->class->vft[COLOR_standard__array__Array__with_native]))(var112, var114, var113) /* with_native on */; +{ /* Inline model#MMethodDef#msignature= (var_mreadpropdef,var_msignature289) on */ +var_mreadpropdef->attrs[COLOR_nit__model__MMethodDef___msignature].val = var_msignature289; /* _msignature on */ +RET_LABEL290:(void)0; } } { -var115 = ((val* (*)(val* self))(var112->class->vft[COLOR_standard__string__Object__to_s]))(var112) /* to_s on */; +{ /* Inline modelize_property#AAttrPropdef#mwritepropdef (self) on */ +var293 = self->attrs[COLOR_nit__modelize_property__AAttrPropdef___mwritepropdef].val; /* _mwritepropdef on */ +var291 = var293; +RET_LABEL292:(void)0; } -{ -nit___nit__ModelBuilder___error(var_modelbuilder, self, var115); /* Direct call modelbuilder_base#ModelBuilder#error on */ } -goto BREAK_label89; +var_mwritepropdef = var291; +if (var_mwritepropdef == NULL) { +var294 = 0; /* is null */ } else { +var294 = 1; /* arg is null and recv is not */ } +if (0) { +{ /* Inline kernel#Object#!= (var_mwritepropdef,((val*)NULL)) on */ +var_other24 = ((val*)NULL); { -{ /* Inline model#MPropDef#mclassdef (var_p) on */ -var118 = var_p->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ -if (unlikely(var118 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2010); -show_backtrace(1); +var297 = ((short int(*)(val* self, val* p0))(var_mwritepropdef->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_mwritepropdef, var_other24); /* == on */ } -var116 = var118; -RET_LABEL117:(void)0; +var298 = !var297; +var295 = var298; +goto RET_LABEL296; +RET_LABEL296:(void)0; } +var294 = var295; } +if (var294){ { -{ /* Inline model#MClassDef#mclass (var116) on */ -var121 = var116->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ -if (unlikely(var121 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 492); -show_backtrace(1); +{ /* Inline parser_nodes#AAttrPropdef#n_id2 (self) on */ +var301 = self->attrs[COLOR_nit__parser_nodes__AAttrPropdef___n_id2].val; /* _n_id2 on */ +if (unlikely(var301 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id2"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1311); +fatal_exit(1); } -var119 = var121; -RET_LABEL120:(void)0; +var299 = var301; +RET_LABEL300:(void)0; } } { -{ /* Inline model#MClassDef#mclass (var_mclassdef) on */ -var124 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ -if (unlikely(var124 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 492); -show_backtrace(1); +var302 = nit__lexer_work___Token___text(var299); } -var122 = var124; -RET_LABEL123:(void)0; +var_name = var302; +var303 = NEW_nit__MParameter(&type_nit__MParameter); +{ +((void(*)(val* self, val* p0))(var303->class->vft[COLOR_nit__model__MParameter__name_61d]))(var303, var_name); /* name= on */ } +{ +((void(*)(val* self, val* p0))(var303->class->vft[COLOR_nit__model__MParameter__mtype_61d]))(var303, var_mtype); /* mtype= on */ } { -{ /* Inline kernel#Object#== (var119,var122) on */ -var_other = var122; +((void(*)(val* self, short int p0))(var303->class->vft[COLOR_nit__model__MParameter__is_vararg_61d]))(var303, 0); /* is_vararg= on */ +} { -{ /* Inline kernel#Object#is_same_instance (var119,var_other) on */ -var129 = var119 == var_other; -var127 = var129; -goto RET_LABEL128; -RET_LABEL128:(void)0; +((void(*)(val* self, short int p0))(var303->class->vft[COLOR_nit__model__MParameter__is_default_61d]))(var303, 0); /* is_default= on */ } +{ +((void(*)(val* self))(var303->class->vft[COLOR_standard__kernel__Object__init]))(var303); /* init on */ } -var125 = var127; -goto RET_LABEL126; -RET_LABEL126:(void)0; +var_mparameter = var303; +var304 = NEW_nit__MSignature(&type_nit__MSignature); +var305 = NEW_standard__Array(&type_standard__Array__nit__MParameter); +{ +standard___standard__Array___with_capacity(var305, 1l); /* Direct call array#Array#with_capacity on */ } +var_306 = var305; +{ +standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_306, var_mparameter); /* Direct call array#AbstractArray#push on */ } -if (var125){ { -{ /* Inline parser_nodes#ATypePropdef#n_type (self) on */ -var132 = self->attrs[COLOR_nit__parser_nodes__ATypePropdef___n_type].val; /* _n_type on */ -if (unlikely(var132 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1325); -show_backtrace(1); +((void(*)(val* self, val* p0))(var304->class->vft[COLOR_nit__model__MSignature__mparameters_61d]))(var304, var_306); /* mparameters= on */ } -var130 = var132; -RET_LABEL131:(void)0; +{ +((void(*)(val* self, val* p0))(var304->class->vft[COLOR_nit__model__MSignature__return_mtype_61d]))(var304, ((val*)NULL)); /* return_mtype= on */ } +{ +((void(*)(val* self))(var304->class->vft[COLOR_standard__kernel__Object__init]))(var304); /* init on */ +} +var_msignature307 = var304; +{ +{ /* Inline model#MMethodDef#msignature= (var_mwritepropdef,var_msignature307) on */ +var_mwritepropdef->attrs[COLOR_nit__model__MMethodDef___msignature].val = var_msignature307; /* _msignature on */ +RET_LABEL308:(void)0; } -if (varonce133) { -var134 = varonce133; -} else { -var135 = "refine-type"; -var136 = 11; -var137 = standard___standard__NativeString___to_s_with_length(var135, var136); -var134 = var137; -varonce133 = var134; } -if (varonce138) { -var139 = varonce138; } else { -var140 = "Redef Error: a virtual type cannot be refined."; -var141 = 46; -var142 = standard___standard__NativeString___to_s_with_length(var140, var141); -var139 = var142; -varonce138 = var139; } { -nit___nit__ModelBuilder___warning(var_modelbuilder, var130, var134, var139); /* Direct call modelbuilder_base#ModelBuilder#warning on */ +{ /* Inline modelize_property#AAttrPropdef#mlazypropdef (self) on */ +var311 = self->attrs[COLOR_nit__modelize_property__AAttrPropdef___mlazypropdef].val; /* _mlazypropdef on */ +var309 = var311; +RET_LABEL310:(void)0; } -goto BREAK_label89; -} else { } -{ -var143 = nit___nit__MType___is_subtype(var_bound, var_mmodule, var_anchor, var_supbound); +var_mlazypropdef = var309; +if (var_mlazypropdef == NULL) { +var312 = 0; /* is null */ +} else { +var312 = 1; /* arg is null and recv is not */ } -var144 = !var143; -if (var144){ +if (0) { +{ /* Inline kernel#Object#!= (var_mlazypropdef,((val*)NULL)) on */ +var_other24 = ((val*)NULL); { -{ /* Inline parser_nodes#ATypePropdef#n_type (self) on */ -var147 = self->attrs[COLOR_nit__parser_nodes__ATypePropdef___n_type].val; /* _n_type on */ -if (unlikely(var147 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1325); -show_backtrace(1); +var315 = ((short int(*)(val* self, val* p0))(var_mlazypropdef->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_mlazypropdef, var_other24); /* == on */ } -var145 = var147; -RET_LABEL146:(void)0; +var316 = !var315; +var313 = var316; +goto RET_LABEL314; +RET_LABEL314:(void)0; } +var312 = var313; } -if (varonce148) { -var149 = varonce148; -} else { -var150 = "Redef Error: Wrong bound type. Found "; -var151 = 37; -var152 = standard___standard__NativeString___to_s_with_length(var150, var151); -var149 = var152; -varonce148 = var149; +if (var312){ +{ +{ /* Inline modelbuilder_base#ModelBuilder#model (var_modelbuilder) on */ +var319 = var_modelbuilder->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___model].val; /* _model on */ +if (unlikely(var319 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 44); +fatal_exit(1); } -if (varonce153) { -var154 = varonce153; -} else { -var155 = ", expected a subtype of "; -var156 = 24; -var157 = standard___standard__NativeString___to_s_with_length(var155, var156); -var154 = var157; -varonce153 = var154; +var317 = var319; +RET_LABEL318:(void)0; } -if (varonce158) { -var159 = varonce158; -} else { -var160 = ", as in "; -var161 = 8; -var162 = standard___standard__NativeString___to_s_with_length(var160, var161); -var159 = var162; -varonce158 = var159; } -if (varonce163) { -var164 = varonce163; +if (likely(varonce320!=NULL)) { +var321 = varonce320; } else { -var165 = "."; -var166 = 1; -var167 = standard___standard__NativeString___to_s_with_length(var165, var166); -var164 = var167; -varonce163 = var164; +var322 = "Bool"; +var323 = standard___standard__NativeString___to_s_with_length(var322, 4l); +var321 = var323; +varonce320 = var321; } -var168 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var168 = array_instance Array[Object] */ -var169 = 7; -var170 = NEW_standard__NativeArray(var169, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var170)->values[0] = (val*) var149; -((struct instance_standard__NativeArray*)var170)->values[1] = (val*) var_bound; -((struct instance_standard__NativeArray*)var170)->values[2] = (val*) var154; -((struct instance_standard__NativeArray*)var170)->values[3] = (val*) var_supbound; -((struct instance_standard__NativeArray*)var170)->values[4] = (val*) var159; -((struct instance_standard__NativeArray*)var170)->values[5] = (val*) var_p; -((struct instance_standard__NativeArray*)var170)->values[6] = (val*) var164; { -((void (*)(val* self, val* p0, long p1))(var168->class->vft[COLOR_standard__array__Array__with_native]))(var168, var170, var169) /* with_native on */; +var324 = nit__model___Model___get_mclasses_by_name(var317, var321); } +if (var324 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 1406); +fatal_exit(1); +} else { +var325 = standard___standard__SequenceRead___Collection__first(var324); } { -var171 = ((val* (*)(val* self))(var168->class->vft[COLOR_standard__string__Object__to_s]))(var168) /* to_s on */; +{ /* Inline model#MClass#mclass_type (var325) on */ +var328 = var325->attrs[COLOR_nit__model__MClass___mclass_type].val; /* _mclass_type on */ +if (unlikely(var328 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 484); +fatal_exit(1); } -{ -nit___nit__ModelBuilder___error(var_modelbuilder, var145, var171); /* Direct call modelbuilder_base#ModelBuilder#error on */ +var326 = var328; +RET_LABEL327:(void)0; } -goto BREAK_label89; -} else { } { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_76); /* Direct call array#ArrayIterator#next on */ +{ /* Inline model#MAttributeDef#static_mtype= (var_mlazypropdef,var326) on */ +var_mlazypropdef->attrs[COLOR_nit__model__MAttributeDef___static_mtype].val = var326; /* _static_mtype on */ +RET_LABEL329:(void)0; } -} else { -goto BREAK_label89; } +} else { } -BREAK_label89: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_76) on */ -RET_LABEL172:(void)0; -} +nit__modelize_property___AAttrPropdef___APropdef__check_repeated_types(self, var_modelbuilder); /* Direct call modelize_property#AAttrPropdef#check_repeated_types on */ } RET_LABEL:; }