+if (varonce7) {
+var8 = varonce7;
+} else {
+var9 = "\' call on \'null\'.";
+var10 = 17;
+var11 = string__NativeString__to_s_with_length(var9, var10);
+var8 = var11;
+varonce7 = var8;
+}
+var12 = NEW_array__Array(&type_array__Arraykernel__Object);
+{ /* var12 = array_instance Array[Object] */
+var13 = 3;
+var14 = NEW_array__NativeArray(var13, &type_array__NativeArraykernel__Object);
+((struct instance_array__NativeArray*)var14)->values[0] = (val*) var3;
+((struct instance_array__NativeArray*)var14)->values[1] = (val*) var_name;
+((struct instance_array__NativeArray*)var14)->values[2] = (val*) var8;
+{
+((void (*)(val*, val*, long))(var12->class->vft[COLOR_array__Array__with_native]))(var12, var14, var13) /* with_native on <var12:Array[Object]>*/;
+}
+}
+{
+var15 = ((val* (*)(val*))(var12->class->vft[COLOR_string__Object__to_s]))(var12) /* to_s on <var12:Array[Object]>*/;
+}
+{
+typing__TypeVisitor__error(self, var_node, var15); /* Direct call typing#TypeVisitor#error on <self:TypeVisitor>*/
+}
+var16 = NULL;
+var = var16;
+goto RET_LABEL;
+} else {
+}
+{
+var17 = typing__TypeVisitor__try_get_mproperty_by_name2(self, var_node, var_unsafe_type, var_name);
+}
+var_mproperty = var17;
+if (varonce19) {
+var20 = varonce19;
+} else {
+var21 = "new";
+var22 = 3;
+var23 = string__NativeString__to_s_with_length(var21, var22);
+var20 = var23;
+varonce19 = var20;
+}
+{
+var25 = string__FlatString___61d_61d(var_name, var20);
+var24 = var25;
+}
+var_ = var24;
+if (var24){
+var26 = NULL;
+if (var_mproperty == NULL) {
+var27 = 1; /* is null */
+} else {
+var27 = 0; /* arg is null but recv is not */
+}
+if (0) {
+{ /* Inline kernel#Object#== (var_mproperty,var26) on <var_mproperty:nullable MProperty> */
+var_other = var26;
+{
+{ /* Inline kernel#Object#is_same_instance (var_mproperty,var_other) on <var_mproperty:nullable MProperty(MProperty)> */
+var32 = var_mproperty == var_other;
+var30 = var32;
+goto RET_LABEL31;
+RET_LABEL31:(void)0;
+}
+}
+var28 = var30;
+goto RET_LABEL29;
+RET_LABEL29:(void)0;
+}
+var27 = var28;
+}
+var18 = var27;
+} else {
+var18 = var_;
+}
+if (var18){
+if (varonce33) {
+var34 = varonce33;
+} else {
+var35 = "init";
+var36 = 4;
+var37 = string__NativeString__to_s_with_length(var35, var36);
+var34 = var37;
+varonce33 = var34;
+}
+var_name = var34;
+{
+var38 = typing__TypeVisitor__try_get_mproperty_by_name2(self, var_node, var_unsafe_type, var_name);
+}
+var_mproperty = var38;
+} else {
+}
+var39 = NULL;
+if (var_mproperty == NULL) {
+var40 = 1; /* is null */
+} else {
+var40 = 0; /* arg is null but recv is not */
+}
+if (0) {
+{ /* Inline kernel#Object#== (var_mproperty,var39) on <var_mproperty:nullable MProperty> */
+var_other = var39;
+{
+{ /* Inline kernel#Object#is_same_instance (var_mproperty,var_other) on <var_mproperty:nullable MProperty(MProperty)> */
+var45 = var_mproperty == var_other;
+var43 = var45;
+goto RET_LABEL44;
+RET_LABEL44:(void)0;
+}
+}
+var41 = var43;
+goto RET_LABEL42;
+RET_LABEL42:(void)0;
+}
+var40 = var41;
+}
+if (var40){
+if (var_recv_is_self){
+{
+{ /* Inline typing#TypeVisitor#modelbuilder (self) on <self:TypeVisitor> */
+var48 = self->attrs[COLOR_typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on <self:TypeVisitor> */
+if (unlikely(var48 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
+PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 34);
+show_backtrace(1);
+}
+var46 = var48;
+RET_LABEL47:(void)0;
+}
+}
+if (varonce49) {
+var50 = varonce49;
+} else {
+var51 = "Error: Method or variable \'";
+var52 = 27;
+var53 = string__NativeString__to_s_with_length(var51, var52);
+var50 = var53;
+varonce49 = var50;
+}
+if (varonce54) {
+var55 = varonce54;
+} else {
+var56 = "\' unknown in ";
+var57 = 13;
+var58 = string__NativeString__to_s_with_length(var56, var57);
+var55 = var58;
+varonce54 = var55;
+}
+if (varonce59) {
+var60 = varonce59;
+} else {
+var61 = ".";
+var62 = 1;
+var63 = string__NativeString__to_s_with_length(var61, var62);
+var60 = var63;
+varonce59 = var60;
+}
+var64 = NEW_array__Array(&type_array__Arraykernel__Object);
+{ /* var64 = array_instance Array[Object] */
+var65 = 5;
+var66 = NEW_array__NativeArray(var65, &type_array__NativeArraykernel__Object);
+((struct instance_array__NativeArray*)var66)->values[0] = (val*) var50;
+((struct instance_array__NativeArray*)var66)->values[1] = (val*) var_name;
+((struct instance_array__NativeArray*)var66)->values[2] = (val*) var55;
+((struct instance_array__NativeArray*)var66)->values[3] = (val*) var_recvtype;
+((struct instance_array__NativeArray*)var66)->values[4] = (val*) var60;
+{
+((void (*)(val*, val*, long))(var64->class->vft[COLOR_array__Array__with_native]))(var64, var66, var65) /* with_native on <var64:Array[Object]>*/;
+}
+}
+{
+var67 = ((val* (*)(val*))(var64->class->vft[COLOR_string__Object__to_s]))(var64) /* to_s on <var64:Array[Object]>*/;
+}
+{
+modelbuilder__ModelBuilder__error(var46, var_node, var67); /* Direct call modelbuilder#ModelBuilder#error on <var46:ModelBuilder>*/
+}
+} else {
+{
+{ /* Inline typing#TypeVisitor#modelbuilder (self) on <self:TypeVisitor> */
+var70 = self->attrs[COLOR_typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on <self:TypeVisitor> */
+if (unlikely(var70 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
+PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 34);
+show_backtrace(1);
+}
+var68 = var70;
+RET_LABEL69:(void)0;
+}
+}
+if (varonce71) {
+var72 = varonce71;
+} else {
+var73 = "Error: Method \'";
+var74 = 15;
+var75 = string__NativeString__to_s_with_length(var73, var74);
+var72 = var75;
+varonce71 = var72;
+}
+if (varonce76) {
+var77 = varonce76;
+} else {
+var78 = "\' doesn\'t exists in ";
+var79 = 20;
+var80 = string__NativeString__to_s_with_length(var78, var79);
+var77 = var80;
+varonce76 = var77;
+}
+if (varonce81) {
+var82 = varonce81;
+} else {
+var83 = ".";
+var84 = 1;
+var85 = string__NativeString__to_s_with_length(var83, var84);
+var82 = var85;
+varonce81 = var82;
+}
+var86 = NEW_array__Array(&type_array__Arraykernel__Object);
+{ /* var86 = array_instance Array[Object] */
+var87 = 5;
+var88 = NEW_array__NativeArray(var87, &type_array__NativeArraykernel__Object);
+((struct instance_array__NativeArray*)var88)->values[0] = (val*) var72;
+((struct instance_array__NativeArray*)var88)->values[1] = (val*) var_name;
+((struct instance_array__NativeArray*)var88)->values[2] = (val*) var77;
+((struct instance_array__NativeArray*)var88)->values[3] = (val*) var_recvtype;
+((struct instance_array__NativeArray*)var88)->values[4] = (val*) var82;
+{
+((void (*)(val*, val*, long))(var86->class->vft[COLOR_array__Array__with_native]))(var86, var88, var87) /* with_native on <var86:Array[Object]>*/;
+}
+}
+{
+var89 = ((val* (*)(val*))(var86->class->vft[COLOR_string__Object__to_s]))(var86) /* to_s on <var86:Array[Object]>*/;
+}
+{
+modelbuilder__ModelBuilder__error(var68, var_node, var89); /* Direct call modelbuilder#ModelBuilder#error on <var68:ModelBuilder>*/
+}
+}
+var90 = NULL;
+var = var90;
+goto RET_LABEL;
+} else {
+}
+/* <var_mproperty:nullable MProperty(MProperty)> isa MMethod */
+cltype92 = type_model__MMethod.color;
+idtype93 = type_model__MMethod.id;
+if(cltype92 >= var_mproperty->type->table_size) {
+var91 = 0;
+} else {
+var91 = var_mproperty->type->type_table[cltype92] == idtype93;
+}
+if (unlikely(!var91)) {
+PRINT_ERROR("Runtime error: %s", "Assert failed");
+PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 290);
+show_backtrace(1);
+}
+{
+{ /* Inline typing#TypeVisitor#is_toplevel_context (self) on <self:TypeVisitor> */
+var98 = self->attrs[COLOR_typing__TypeVisitor___is_toplevel_context].s; /* _is_toplevel_context on <self:TypeVisitor> */
+var96 = var98;
+RET_LABEL97:(void)0;
+}
+}
+var_99 = var96;
+if (var96){
+var95 = var_recv_is_self;
+} else {
+var95 = var_99;
+}
+var_100 = var95;
+if (var95){
+{
+{ /* Inline model#MMethod#is_toplevel (var_mproperty) on <var_mproperty:nullable MProperty(MMethod)> */
+var103 = var_mproperty->attrs[COLOR_model__MMethod___is_toplevel].s; /* _is_toplevel on <var_mproperty:nullable MProperty(MMethod)> */
+var101 = var103;
+RET_LABEL102:(void)0;
+}
+}
+var104 = !var101;
+var94 = var104;
+} else {
+var94 = var_100;
+}
+if (var94){
+if (varonce105) {
+var106 = varonce105;
+} else {
+var107 = "Error: \'";
+var108 = 8;
+var109 = string__NativeString__to_s_with_length(var107, var108);
+var106 = var109;
+varonce105 = var106;
+}
+if (varonce110) {
+var111 = varonce110;
+} else {
+var112 = "\' is not a top-level method, thus need a receiver.";
+var113 = 50;
+var114 = string__NativeString__to_s_with_length(var112, var113);
+var111 = var114;
+varonce110 = var111;
+}
+var115 = NEW_array__Array(&type_array__Arraykernel__Object);
+{ /* var115 = array_instance Array[Object] */
+var116 = 3;
+var117 = NEW_array__NativeArray(var116, &type_array__NativeArraykernel__Object);
+((struct instance_array__NativeArray*)var117)->values[0] = (val*) var106;
+((struct instance_array__NativeArray*)var117)->values[1] = (val*) var_name;
+((struct instance_array__NativeArray*)var117)->values[2] = (val*) var111;
+{
+((void (*)(val*, val*, long))(var115->class->vft[COLOR_array__Array__with_native]))(var115, var117, var116) /* with_native on <var115:Array[Object]>*/;
+}
+}
+{
+var118 = ((val* (*)(val*))(var115->class->vft[COLOR_string__Object__to_s]))(var115) /* to_s on <var115:Array[Object]>*/;
+}
+{
+typing__TypeVisitor__error(self, var_node, var118); /* Direct call typing#TypeVisitor#error on <self:TypeVisitor>*/
+}
+} else {
+}
+var120 = !var_recv_is_self;
+var_121 = var120;
+if (var120){
+{
+{ /* Inline model#MMethod#is_toplevel (var_mproperty) on <var_mproperty:nullable MProperty(MMethod)> */
+var124 = var_mproperty->attrs[COLOR_model__MMethod___is_toplevel].s; /* _is_toplevel on <var_mproperty:nullable MProperty(MMethod)> */
+var122 = var124;
+RET_LABEL123:(void)0;
+}
+}
+var119 = var122;
+} else {
+var119 = var_121;
+}
+if (var119){
+if (varonce125) {
+var126 = varonce125;
+} else {
+var127 = "Error: cannot call \'";
+var128 = 20;
+var129 = string__NativeString__to_s_with_length(var127, var128);
+var126 = var129;
+varonce125 = var126;
+}
+if (varonce130) {
+var131 = varonce130;
+} else {
+var132 = "\', a top-level method, with a receiver.";
+var133 = 39;
+var134 = string__NativeString__to_s_with_length(var132, var133);
+var131 = var134;
+varonce130 = var131;
+}
+var135 = NEW_array__Array(&type_array__Arraykernel__Object);
+{ /* var135 = array_instance Array[Object] */
+var136 = 3;
+var137 = NEW_array__NativeArray(var136, &type_array__NativeArraykernel__Object);
+((struct instance_array__NativeArray*)var137)->values[0] = (val*) var126;
+((struct instance_array__NativeArray*)var137)->values[1] = (val*) var_name;
+((struct instance_array__NativeArray*)var137)->values[2] = (val*) var131;
+{
+((void (*)(val*, val*, long))(var135->class->vft[COLOR_array__Array__with_native]))(var135, var137, var136) /* with_native on <var135:Array[Object]>*/;
+}
+}
+{
+var138 = ((val* (*)(val*))(var135->class->vft[COLOR_string__Object__to_s]))(var135) /* to_s on <var135:Array[Object]>*/;
+}
+{
+typing__TypeVisitor__error(self, var_node, var138); /* Direct call typing#TypeVisitor#error on <self:TypeVisitor>*/
+}
+} else {
+}
+{
+{ /* Inline model#MProperty#visibility (var_mproperty) on <var_mproperty:nullable MProperty(MMethod)> */
+var144 = var_mproperty->attrs[COLOR_model__MProperty___visibility].val; /* _visibility on <var_mproperty:nullable MProperty(MMethod)> */
+if (unlikely(var144 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
+PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1630);
+show_backtrace(1);
+}
+var142 = var144;
+RET_LABEL143:(void)0;
+}
+}
+{
+var145 = model_base__Object__protected_visibility(self);
+}
+{
+{ /* Inline kernel#Object#== (var142,var145) on <var142:MVisibility> */
+var_other = var145;
+{
+{ /* Inline kernel#Object#is_same_instance (var142,var_other) on <var142:MVisibility> */
+var151 = var142 == var_other;
+var149 = var151;
+goto RET_LABEL150;
+RET_LABEL150:(void)0;
+}
+}
+var147 = var149;
+goto RET_LABEL148;
+RET_LABEL148:(void)0;
+}
+var146 = var147;
+}
+var_152 = var146;
+if (var146){
+var153 = !var_recv_is_self;
+var141 = var153;
+} else {
+var141 = var_152;
+}
+var_154 = var141;
+if (var141){
+{
+{ /* Inline typing#TypeVisitor#mmodule (self) on <self:TypeVisitor> */
+var157 = self->attrs[COLOR_typing__TypeVisitor___mmodule].val; /* _mmodule on <self:TypeVisitor> */
+if (unlikely(var157 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
+PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 36);
+show_backtrace(1);
+}
+var155 = var157;
+RET_LABEL156:(void)0;
+}
+}
+{
+{ /* Inline model#MProperty#intro_mclassdef (var_mproperty) on <var_mproperty:nullable MProperty(MMethod)> */
+var160 = var_mproperty->attrs[COLOR_model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on <var_mproperty:nullable MProperty(MMethod)> */
+if (unlikely(var160 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef");
+PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1615);
+show_backtrace(1);
+}
+var158 = var160;
+RET_LABEL159:(void)0;
+}
+}
+{
+{ /* Inline model#MClassDef#mmodule (var158) on <var158:MClassDef> */
+var163 = var158->attrs[COLOR_model__MClassDef___mmodule].val; /* _mmodule on <var158:MClassDef> */
+if (unlikely(var163 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
+PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 489);
+show_backtrace(1);
+}
+var161 = var163;
+RET_LABEL162:(void)0;
+}
+}
+{
+var164 = mmodule__MModule__visibility_for(var155, var161);
+}
+{
+var165 = model_base__Object__intrude_visibility(self);
+}
+{
+var166 = model_base__MVisibility___60d(var164, var165);
+}
+var140 = var166;
+} else {
+var140 = var_154;
+}
+var_167 = var140;
+if (var140){
+{
+{ /* Inline typing#TypeVisitor#modelbuilder (self) on <self:TypeVisitor> */
+var170 = self->attrs[COLOR_typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on <self:TypeVisitor> */
+if (unlikely(var170 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
+PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 34);
+show_backtrace(1);
+}
+var168 = var170;
+RET_LABEL169:(void)0;
+}
+}
+{
+{ /* Inline modelbuilder#ModelBuilder#toolcontext (var168) on <var168:ModelBuilder> */
+var173 = var168->attrs[COLOR_modelbuilder__ModelBuilder___toolcontext].val; /* _toolcontext on <var168:ModelBuilder> */
+if (unlikely(var173 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
+PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
+show_backtrace(1);
+}
+var171 = var173;
+RET_LABEL172:(void)0;
+}
+}
+{
+{ /* Inline modelbuilder#ToolContext#opt_ignore_visibility (var171) on <var171:ToolContext> */
+var176 = var171->attrs[COLOR_modelbuilder__ToolContext___opt_ignore_visibility].val; /* _opt_ignore_visibility on <var171:ToolContext> */
+if (unlikely(var176 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_ignore_visibility");
+PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 42);
+show_backtrace(1);
+}
+var174 = var176;
+RET_LABEL175:(void)0;
+}
+}
+{
+{ /* Inline opts#Option#value (var174) on <var174:OptionBool> */
+var179 = var174->attrs[COLOR_opts__Option___value].val; /* _value on <var174:OptionBool> */
+var177 = var179;
+RET_LABEL178:(void)0;
+}
+}
+var180 = ((struct instance_kernel__Bool*)var177)->value; /* autounbox from nullable Object to Bool */;
+var181 = !var180;
+var139 = var181;
+} else {
+var139 = var_167;
+}
+if (var139){
+{
+{ /* Inline typing#TypeVisitor#modelbuilder (self) on <self:TypeVisitor> */
+var184 = self->attrs[COLOR_typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on <self:TypeVisitor> */
+if (unlikely(var184 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
+PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 34);
+show_backtrace(1);
+}
+var182 = var184;
+RET_LABEL183:(void)0;
+}
+}
+if (varonce185) {
+var186 = varonce185;
+} else {
+var187 = "Error: Method \'";
+var188 = 15;
+var189 = string__NativeString__to_s_with_length(var187, var188);
+var186 = var189;
+varonce185 = var186;
+}
+if (varonce190) {
+var191 = varonce190;
+} else {
+var192 = "\' is protected and can only acceded by self.";
+var193 = 44;
+var194 = string__NativeString__to_s_with_length(var192, var193);
+var191 = var194;
+varonce190 = var191;
+}
+var195 = NEW_array__Array(&type_array__Arraykernel__Object);
+{ /* var195 = array_instance Array[Object] */
+var196 = 3;
+var197 = NEW_array__NativeArray(var196, &type_array__NativeArraykernel__Object);
+((struct instance_array__NativeArray*)var197)->values[0] = (val*) var186;
+((struct instance_array__NativeArray*)var197)->values[1] = (val*) var_name;
+((struct instance_array__NativeArray*)var197)->values[2] = (val*) var191;
+{
+((void (*)(val*, val*, long))(var195->class->vft[COLOR_array__Array__with_native]))(var195, var197, var196) /* with_native on <var195:Array[Object]>*/;
+}
+}
+{
+var198 = ((val* (*)(val*))(var195->class->vft[COLOR_string__Object__to_s]))(var195) /* to_s on <var195:Array[Object]>*/;
+}
+{
+modelbuilder__ModelBuilder__error(var182, var_node, var198); /* Direct call modelbuilder#ModelBuilder#error on <var182:ModelBuilder>*/
+}
+var199 = NULL;
+var = var199;
+goto RET_LABEL;
+} else {
+}
+{
+{ /* Inline mdoc#MEntity#deprecation (var_mproperty) on <var_mproperty:nullable MProperty(MMethod)> */
+var202 = var_mproperty->attrs[COLOR_mdoc__MEntity___deprecation].val; /* _deprecation on <var_mproperty:nullable MProperty(MMethod)> */
+var200 = var202;
+RET_LABEL201:(void)0;
+}
+}
+var_info = var200;
+var204 = NULL;
+if (var_info == NULL) {
+var205 = 0; /* is null */
+} else {
+var205 = 1; /* arg is null and recv is not */
+}
+if (0) {
+{ /* Inline kernel#Object#!= (var_info,var204) on <var_info:nullable MDeprecationInfo> */
+var_other208 = var204;
+{
+var210 = ((short int (*)(val*, val*))(var_info->class->vft[COLOR_kernel__Object___61d_61d]))(var_info, var_other208) /* == on <var_info:nullable MDeprecationInfo(MDeprecationInfo)>*/;
+var209 = var210;
+}
+var211 = !var209;
+var206 = var211;
+goto RET_LABEL207;
+RET_LABEL207:(void)0;
+}
+var205 = var206;
+}
+var_212 = var205;
+if (var205){
+{
+{ /* Inline typing#TypeVisitor#mpropdef (self) on <self:TypeVisitor> */
+var215 = self->attrs[COLOR_typing__TypeVisitor___mpropdef].val; /* _mpropdef on <self:TypeVisitor> */
+var213 = var215;
+RET_LABEL214:(void)0;
+}
+}
+if (var213 == NULL) {
+PRINT_ERROR("Runtime error: %s", "Receiver is null");
+PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 305);
+show_backtrace(1);
+} else {
+{ /* Inline model#MPropDef#mproperty (var213) on <var213:nullable MPropDef> */
+if (unlikely(var213 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Receiver is null");
+PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
+show_backtrace(1);
+}
+var218 = var213->attrs[COLOR_model__MPropDef___mproperty].val; /* _mproperty on <var213:nullable MPropDef> */
+if (unlikely(var218 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
+PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
+show_backtrace(1);
+}
+var216 = var218;
+RET_LABEL217:(void)0;
+}
+}
+{
+{ /* Inline mdoc#MEntity#deprecation (var216) on <var216:MProperty> */
+var221 = var216->attrs[COLOR_mdoc__MEntity___deprecation].val; /* _deprecation on <var216:MProperty> */
+var219 = var221;
+RET_LABEL220:(void)0;
+}
+}
+var222 = NULL;
+if (var219 == NULL) {
+var223 = 1; /* is null */
+} else {
+var223 = 0; /* arg is null but recv is not */
+}
+if (0) {
+{ /* Inline kernel#Object#== (var219,var222) on <var219:nullable MDeprecationInfo> */
+var_other = var222;
+{
+{ /* Inline kernel#Object#is_same_instance (var219,var_other) on <var219:nullable MDeprecationInfo(MDeprecationInfo)> */
+var228 = var219 == var_other;
+var226 = var228;
+goto RET_LABEL227;
+RET_LABEL227:(void)0;
+}
+}
+var224 = var226;
+goto RET_LABEL225;
+RET_LABEL225:(void)0;
+}
+var223 = var224;
+}
+var203 = var223;
+} else {
+var203 = var_212;
+}
+if (var203){
+{
+{ /* Inline mdoc#MDeprecationInfo#mdoc (var_info) on <var_info:nullable MDeprecationInfo(MDeprecationInfo)> */
+var231 = var_info->attrs[COLOR_mdoc__MDeprecationInfo___mdoc].val; /* _mdoc on <var_info:nullable MDeprecationInfo(MDeprecationInfo)> */
+var229 = var231;
+RET_LABEL230:(void)0;
+}
+}
+var_mdoc = var229;
+var232 = NULL;
+if (var_mdoc == NULL) {
+var233 = 0; /* is null */
+} else {
+var233 = 1; /* arg is null and recv is not */
+}
+if (0) {
+{ /* Inline kernel#Object#!= (var_mdoc,var232) on <var_mdoc:nullable MDoc> */
+var_other208 = var232;
+{
+var237 = ((short int (*)(val*, val*))(var_mdoc->class->vft[COLOR_kernel__Object___61d_61d]))(var_mdoc, var_other208) /* == on <var_mdoc:nullable MDoc(MDoc)>*/;
+var236 = var237;
+}
+var238 = !var236;
+var234 = var238;
+goto RET_LABEL235;
+RET_LABEL235:(void)0;
+}
+var233 = var234;
+}
+if (var233){
+{
+{ /* Inline typing#TypeVisitor#modelbuilder (self) on <self:TypeVisitor> */
+var241 = self->attrs[COLOR_typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on <self:TypeVisitor> */
+if (unlikely(var241 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
+PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 34);
+show_backtrace(1);
+}
+var239 = var241;
+RET_LABEL240:(void)0;
+}
+}
+if (varonce242) {
+var243 = varonce242;
+} else {
+var244 = "deprecated-method";
+var245 = 17;
+var246 = string__NativeString__to_s_with_length(var244, var245);
+var243 = var246;
+varonce242 = var243;
+}
+if (varonce247) {
+var248 = varonce247;
+} else {
+var249 = "Deprecation Warning: Method \'";
+var250 = 29;
+var251 = string__NativeString__to_s_with_length(var249, var250);
+var248 = var251;
+varonce247 = var248;
+}
+if (varonce252) {
+var253 = varonce252;
+} else {
+var254 = "\' is deprecated: ";
+var255 = 17;
+var256 = string__NativeString__to_s_with_length(var254, var255);
+var253 = var256;
+varonce252 = var253;
+}
+{
+{ /* Inline mdoc#MDoc#content (var_mdoc) on <var_mdoc:nullable MDoc(MDoc)> */
+var259 = var_mdoc->attrs[COLOR_mdoc__MDoc___content].val; /* _content on <var_mdoc:nullable MDoc(MDoc)> */
+if (unlikely(var259 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _content");
+PRINT_ERROR(" (%s:%d)\n", "model/mdoc.nit", 22);
+show_backtrace(1);
+}
+var257 = var259;
+RET_LABEL258:(void)0;
+}