1 #include "modelize_property.sep.0.h"
2 /* method modelize_property#ToolContext#modelize_property_phase for (self: ToolContext): Phase */
3 val
* modelize_property__ToolContext__modelize_property_phase(val
* self
) {
4 val
* var
/* : Phase */;
5 val
* var1
/* : Phase */;
6 var1
= self
->attrs
[COLOR_modelize_property__ToolContext___64dmodelize_property_phase
].val
; /* @modelize_property_phase on <self:ToolContext> */
8 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @modelize_property_phase");
9 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 23);
16 /* method modelize_property#ToolContext#modelize_property_phase for (self: Object): Phase */
17 val
* VIRTUAL_modelize_property__ToolContext__modelize_property_phase(val
* self
) {
18 val
* var
/* : Phase */;
19 val
* var1
/* : Phase */;
20 var1
= modelize_property__ToolContext__modelize_property_phase(self
);
25 /* method modelize_property#ToolContext#modelize_property_phase= for (self: ToolContext, Phase) */
26 void modelize_property__ToolContext__modelize_property_phase_61d(val
* self
, val
* p0
) {
27 self
->attrs
[COLOR_modelize_property__ToolContext___64dmodelize_property_phase
].val
= p0
; /* @modelize_property_phase on <self:ToolContext> */
30 /* method modelize_property#ToolContext#modelize_property_phase= for (self: Object, Phase) */
31 void VIRTUAL_modelize_property__ToolContext__modelize_property_phase_61d(val
* self
, val
* p0
) {
32 modelize_property__ToolContext__modelize_property_phase_61d(self
, p0
);
35 /* method modelize_property#ModelizePropertyPhase#process_nmodule for (self: ModelizePropertyPhase, AModule) */
36 void modelize_property__ModelizePropertyPhase__process_nmodule(val
* self
, val
* p0
) {
37 val
* var_nmodule
/* var nmodule: AModule */;
38 val
* var
/* : ANodes[AClassdef] */;
39 val
* var1
/* : Iterator[nullable Object] */;
40 short int var2
/* : Bool */;
41 val
* var3
/* : nullable Object */;
42 val
* var_nclassdef
/* var nclassdef: AClassdef */;
43 val
* var4
/* : ToolContext */;
44 val
* var5
/* : ModelBuilder */;
46 var
= ((val
* (*)(val
*))(var_nmodule
->class->vft
[COLOR_parser_nodes__AModule__n_classdefs
]))(var_nmodule
) /* n_classdefs on <var_nmodule:AModule>*/;
47 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var
) /* iterator on <var:ANodes[AClassdef]>*/;
49 var2
= ((short int (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var1
) /* is_ok on <var1:Iterator[nullable Object]>*/;
51 var3
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var1
) /* item on <var1:Iterator[nullable Object]>*/;
53 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_phase__Phase__toolcontext
]))(self
) /* toolcontext on <self:ModelizePropertyPhase>*/;
54 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_modelbuilder__ToolContext__modelbuilder
]))(var4
) /* modelbuilder on <var4:ToolContext>*/;
55 ((void (*)(val
*, val
*))(var5
->class->vft
[COLOR_modelize_property__ModelBuilder__build_properties
]))(var5
, var_nclassdef
) /* build_properties on <var5:ModelBuilder>*/;
56 CONTINUE_label
: (void)0;
57 ((void (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var1
) /* next on <var1:Iterator[nullable Object]>*/;
62 /* method modelize_property#ModelizePropertyPhase#process_nmodule for (self: Object, AModule) */
63 void VIRTUAL_modelize_property__ModelizePropertyPhase__process_nmodule(val
* self
, val
* p0
) {
64 modelize_property__ModelizePropertyPhase__process_nmodule(self
, p0
);
67 /* method modelize_property#ModelBuilder#mpropdef2npropdef for (self: ModelBuilder): HashMap[MPropDef, APropdef] */
68 val
* modelize_property__ModelBuilder__mpropdef2npropdef(val
* self
) {
69 val
* var
/* : HashMap[MPropDef, APropdef] */;
70 val
* var1
/* : HashMap[MPropDef, APropdef] */;
71 var1
= self
->attrs
[COLOR_modelize_property__ModelBuilder___64dmpropdef2npropdef
].val
; /* @mpropdef2npropdef on <self:ModelBuilder> */
73 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @mpropdef2npropdef");
74 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 37);
81 /* method modelize_property#ModelBuilder#mpropdef2npropdef for (self: Object): HashMap[MPropDef, APropdef] */
82 val
* VIRTUAL_modelize_property__ModelBuilder__mpropdef2npropdef(val
* self
) {
83 val
* var
/* : HashMap[MPropDef, APropdef] */;
84 val
* var1
/* : HashMap[MPropDef, APropdef] */;
85 var1
= modelize_property__ModelBuilder__mpropdef2npropdef(self
);
90 /* method modelize_property#ModelBuilder#mpropdef2npropdef= for (self: ModelBuilder, HashMap[MPropDef, APropdef]) */
91 void modelize_property__ModelBuilder__mpropdef2npropdef_61d(val
* self
, val
* p0
) {
92 self
->attrs
[COLOR_modelize_property__ModelBuilder___64dmpropdef2npropdef
].val
= p0
; /* @mpropdef2npropdef on <self:ModelBuilder> */
95 /* method modelize_property#ModelBuilder#mpropdef2npropdef= for (self: Object, HashMap[MPropDef, APropdef]) */
96 void VIRTUAL_modelize_property__ModelBuilder__mpropdef2npropdef_61d(val
* self
, val
* p0
) {
97 modelize_property__ModelBuilder__mpropdef2npropdef_61d(self
, p0
);
100 /* method modelize_property#ModelBuilder#build_properties for (self: ModelBuilder, AClassdef) */
101 void modelize_property__ModelBuilder__build_properties(val
* self
, val
* p0
) {
102 val
* var_nclassdef
/* var nclassdef: AClassdef */;
103 short int var
/* : Bool */;
104 short int var1
/* : Bool */;
105 val
* var2
/* : nullable MClassDef */;
106 val
* var_mclassdef
/* var mclassdef: MClassDef */;
107 val
* var3
/* : nullable POSetElement[MClassDef] */;
108 val
* var4
/* : null */;
109 short int var5
/* : Bool */;
110 val
* var6
/* : nullable POSetElement[MClassDef] */;
111 val
* var7
/* : Collection[Object] */;
112 val
* var8
/* : Iterator[nullable Object] */;
113 short int var9
/* : Bool */;
114 val
* var10
/* : nullable Object */;
115 val
* var_superclassdef
/* var superclassdef: MClassDef */;
116 val
* var11
/* : HashMap[MClassDef, AClassdef] */;
117 val
* var12
/* : nullable Object */;
118 val
* var13
/* : ANodes[APropdef] */;
119 val
* var14
/* : Iterator[nullable Object] */;
120 short int var15
/* : Bool */;
121 val
* var16
/* : nullable Object */;
122 val
* var_npropdef
/* var npropdef: APropdef */;
123 val
* var18
/* : ANodes[APropdef] */;
124 val
* var19
/* : Iterator[nullable Object] */;
125 short int var20
/* : Bool */;
126 val
* var21
/* : nullable Object */;
127 val
* var_npropdef22
/* var npropdef: APropdef */;
128 val
* var24
/* : ANodes[APropdef] */;
129 val
* var25
/* : Iterator[nullable Object] */;
130 short int var26
/* : Bool */;
131 val
* var27
/* : nullable Object */;
132 val
* var_npropdef28
/* var npropdef: APropdef */;
134 var
= ((short int (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_property__AClassdef__build_properties_is_done
]))(var_nclassdef
) /* build_properties_is_done on <var_nclassdef:AClassdef>*/;
140 ((void (*)(val
*, short int))(var_nclassdef
->class->vft
[COLOR_modelize_property__AClassdef__build_properties_is_done_61d
]))(var_nclassdef
, var1
) /* build_properties_is_done= on <var_nclassdef:AClassdef>*/;
141 var2
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef>*/;
143 fprintf(stderr
, "Runtime error: %s", "Cast failed");
144 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 48);
147 var_mclassdef
= var2
;
148 var3
= ((val
* (*)(val
*))(var_mclassdef
->class->vft
[COLOR_model__MClassDef__in_hierarchy
]))(var_mclassdef
) /* in_hierarchy on <var_mclassdef:MClassDef>*/;
151 var5
= 1; /* is null */
153 var5
= 0; /* arg is null but recv is not */
159 var6
= ((val
* (*)(val
*))(var_mclassdef
->class->vft
[COLOR_model__MClassDef__in_hierarchy
]))(var_mclassdef
) /* in_hierarchy on <var_mclassdef:MClassDef>*/;
161 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
162 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 50);
165 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_poset__POSetElement__direct_greaters
]))(var6
) /* direct_greaters on <var6:nullable POSetElement[MClassDef]>*/;
167 var8
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var7
) /* iterator on <var7:Collection[Object](Collection[MClassDef])>*/;
169 var9
= ((short int (*)(val
*))(var8
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var8
) /* is_ok on <var8:Iterator[nullable Object]>*/;
171 var10
= ((val
* (*)(val
*))(var8
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var8
) /* item on <var8:Iterator[nullable Object]>*/;
172 var_superclassdef
= var10
;
173 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_class__ModelBuilder__mclassdef2nclassdef
]))(self
) /* mclassdef2nclassdef on <self:ModelBuilder>*/;
174 var12
= ((val
* (*)(val
*, val
*))(var11
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var11
, var_superclassdef
) /* [] on <var11:HashMap[MClassDef, AClassdef]>*/;
175 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_modelize_property__ModelBuilder__build_properties
]))(self
, var12
) /* build_properties on <self:ModelBuilder>*/;
176 CONTINUE_label
: (void)0;
177 ((void (*)(val
*))(var8
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var8
) /* next on <var8:Iterator[nullable Object]>*/;
179 BREAK_label
: (void)0;
180 var13
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_parser_nodes__AClassdef__n_propdefs
]))(var_nclassdef
) /* n_propdefs on <var_nclassdef:AClassdef>*/;
181 var14
= ((val
* (*)(val
*))(var13
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var13
) /* iterator on <var13:ANodes[APropdef]>*/;
183 var15
= ((short int (*)(val
*))(var14
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var14
) /* is_ok on <var14:Iterator[nullable Object]>*/;
185 var16
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var14
) /* item on <var14:Iterator[nullable Object]>*/;
186 var_npropdef
= var16
;
187 ((void (*)(val
*, val
*, val
*))(var_npropdef
->class->vft
[COLOR_modelize_property__APropdef__build_property
]))(var_npropdef
, self
, var_nclassdef
) /* build_property on <var_npropdef:APropdef>*/;
188 CONTINUE_label17
: (void)0;
189 ((void (*)(val
*))(var14
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var14
) /* next on <var14:Iterator[nullable Object]>*/;
191 BREAK_label17
: (void)0;
192 var18
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_parser_nodes__AClassdef__n_propdefs
]))(var_nclassdef
) /* n_propdefs on <var_nclassdef:AClassdef>*/;
193 var19
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var18
) /* iterator on <var18:ANodes[APropdef]>*/;
195 var20
= ((short int (*)(val
*))(var19
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var19
) /* is_ok on <var19:Iterator[nullable Object]>*/;
197 var21
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var19
) /* item on <var19:Iterator[nullable Object]>*/;
198 var_npropdef22
= var21
;
199 ((void (*)(val
*, val
*, val
*))(var_npropdef22
->class->vft
[COLOR_modelize_property__APropdef__build_signature
]))(var_npropdef22
, self
, var_nclassdef
) /* build_signature on <var_npropdef22:APropdef>*/;
200 CONTINUE_label23
: (void)0;
201 ((void (*)(val
*))(var19
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var19
) /* next on <var19:Iterator[nullable Object]>*/;
203 BREAK_label23
: (void)0;
204 var24
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_parser_nodes__AClassdef__n_propdefs
]))(var_nclassdef
) /* n_propdefs on <var_nclassdef:AClassdef>*/;
205 var25
= ((val
* (*)(val
*))(var24
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var24
) /* iterator on <var24:ANodes[APropdef]>*/;
207 var26
= ((short int (*)(val
*))(var25
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var25
) /* is_ok on <var25:Iterator[nullable Object]>*/;
209 var27
= ((val
* (*)(val
*))(var25
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var25
) /* item on <var25:Iterator[nullable Object]>*/;
210 var_npropdef28
= var27
;
211 ((void (*)(val
*, val
*, val
*))(var_npropdef28
->class->vft
[COLOR_modelize_property__APropdef__check_signature
]))(var_npropdef28
, self
, var_nclassdef
) /* check_signature on <var_npropdef28:APropdef>*/;
212 CONTINUE_label29
: (void)0;
213 ((void (*)(val
*))(var25
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var25
) /* next on <var25:Iterator[nullable Object]>*/;
215 BREAK_label29
: (void)0;
216 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_modelize_property__ModelBuilder__process_default_constructors
]))(self
, var_nclassdef
) /* process_default_constructors on <self:ModelBuilder>*/;
219 /* method modelize_property#ModelBuilder#build_properties for (self: Object, AClassdef) */
220 void VIRTUAL_modelize_property__ModelBuilder__build_properties(val
* self
, val
* p0
) {
221 modelize_property__ModelBuilder__build_properties(self
, p0
);
224 /* method modelize_property#ModelBuilder#process_default_constructors for (self: ModelBuilder, AClassdef) */
225 void modelize_property__ModelBuilder__process_default_constructors(val
* self
, val
* p0
) {
226 val
* var_nclassdef
/* var nclassdef: AClassdef */;
227 val
* var
/* : nullable MClassDef */;
228 val
* var_mclassdef
/* var mclassdef: MClassDef */;
229 short int var1
/* : Bool */;
230 short int var2
/* : Bool */;
231 val
* var3
/* : MClass */;
232 val
* var4
/* : MClassKind */;
233 short int var5
/* : Bool */;
234 short int var6
/* : Bool */;
235 val
* var7
/* : Array[MPropDef] */;
236 val
* var8
/* : Iterator[nullable Object] */;
237 short int var9
/* : Bool */;
238 val
* var10
/* : nullable Object */;
239 val
* var_mpropdef
/* var mpropdef: MPropDef */;
240 short int var11
/* : Bool */;
243 short int var12
/* : Bool */;
244 val
* var13
/* : MProperty */;
245 short int var14
/* : Bool */;
246 short int var15
/* : Bool */;
249 short int var18
/* : Bool */;
250 val
* var19
/* : nullable MClassDef */;
251 val
* var20
/* : MModule */;
252 val
* var_mmodule
/* var mmodule: MModule */;
253 val
* var21
/* : Array[MMethod] */;
254 val
* var_combine
/* var combine: Array[MMethod] */;
255 val
* var22
/* : null */;
256 val
* var_inhc
/* var inhc: nullable MClass */;
257 val
* var23
/* : Array[MClassType] */;
258 val
* var24
/* : Iterator[nullable Object] */;
259 short int var25
/* : Bool */;
260 val
* var26
/* : nullable Object */;
261 val
* var_st
/* var st: MClassType */;
262 val
* var27
/* : MClass */;
263 val
* var_c
/* var c: MClass */;
264 val
* var28
/* : MClassKind */;
265 short int var29
/* : Bool */;
266 short int var30
/* : Bool */;
267 val
* var32
/* : nullable MClassDef */;
268 val
* var33
/* : MClassType */;
269 val
* var34
/* : MType */;
271 val
* var35
/* : String */;
272 char* var36
/* : NativeString */;
273 long var37
/* : Int */;
274 val
* var38
/* : String */;
275 val
* var39
/* : nullable MProperty */;
276 short int var40
/* : Bool */;
279 const char* var_class_name
;
280 val
* var_candidate
/* var candidate: nullable MMethod */;
281 short int var43
/* : Bool */;
282 val
* var44
/* : null */;
283 short int var45
/* : Bool */;
284 short int var_
/* var : Bool */;
285 val
* var46
/* : MPropDef */;
286 val
* var47
/* : nullable MSignature */;
287 long var48
/* : Int */;
288 long var49
/* : Int */;
289 short int var50
/* : Bool */;
290 short int var52
/* : Bool */;
291 val
* var53
/* : nullable MClass */;
292 val
* var_inhc2
/* var inhc2: nullable MClass */;
293 val
* var54
/* : null */;
294 short int var55
/* : Bool */;
295 short int var56
/* : Bool */;
296 val
* var57
/* : null */;
297 short int var58
/* : Bool */;
298 static val
* varonce59
;
299 val
* var60
/* : String */;
300 char* var61
/* : NativeString */;
301 long var62
/* : Int */;
302 val
* var63
/* : String */;
303 static val
* varonce64
;
304 val
* var65
/* : String */;
305 char* var66
/* : NativeString */;
306 long var67
/* : Int */;
307 val
* var68
/* : String */;
308 val
* var69
/* : Array[Object] */;
309 long var70
/* : Int */;
310 val
* var71
/* : NativeArray[Object] */;
311 val
* var72
/* : String */;
312 short int var73
/* : Bool */;
313 short int var74
/* : Bool */;
314 short int var_75
/* var : Bool */;
315 val
* var76
/* : null */;
316 short int var77
/* : Bool */;
317 val
* var78
/* : ToolContext */;
318 static val
* varonce79
;
319 val
* var80
/* : String */;
320 char* var81
/* : NativeString */;
321 long var82
/* : Int */;
322 val
* var83
/* : String */;
323 val
* var84
/* : Array[Object] */;
324 long var85
/* : Int */;
325 val
* var86
/* : NativeArray[Object] */;
326 val
* var87
/* : String */;
327 long var88
/* : Int */;
328 val
* var89
/* : MClass */;
329 short int var90
/* : Bool */;
330 short int var91
/* : Bool */;
331 short int var92
/* : Bool */;
332 short int var_93
/* var : Bool */;
333 val
* var94
/* : null */;
334 short int var95
/* : Bool */;
335 static val
* varonce96
;
336 val
* var97
/* : String */;
337 char* var98
/* : NativeString */;
338 long var99
/* : Int */;
339 val
* var100
/* : String */;
340 static val
* varonce101
;
341 val
* var102
/* : String */;
342 char* var103
/* : NativeString */;
343 long var104
/* : Int */;
344 val
* var105
/* : String */;
345 val
* var106
/* : String */;
346 static val
* varonce107
;
347 val
* var108
/* : String */;
348 char* var109
/* : NativeString */;
349 long var110
/* : Int */;
350 val
* var111
/* : String */;
351 val
* var112
/* : Array[Object] */;
352 long var113
/* : Int */;
353 val
* var114
/* : NativeArray[Object] */;
354 val
* var115
/* : String */;
355 short int var116
/* : Bool */;
356 short int var117
/* : Bool */;
357 val
* var118
/* : MMethod */;
358 static val
* varonce119
;
359 val
* var120
/* : String */;
360 char* var121
/* : NativeString */;
361 long var122
/* : Int */;
362 val
* var123
/* : String */;
363 val
* var124
/* : MClass */;
364 val
* var125
/* : MVisibility */;
365 val
* var_mprop
/* var mprop: MMethod */;
366 val
* var126
/* : MMethodDef */;
367 val
* var127
/* : Location */;
368 val
* var_mpropdef128
/* var mpropdef: MMethodDef */;
369 val
* var129
/* : Array[MParameter] */;
370 val
* var_mparameters
/* var mparameters: Array[MParameter] */;
371 val
* var130
/* : MSignature */;
372 val
* var131
/* : null */;
373 val
* var_msignature
/* var msignature: MSignature */;
374 short int var132
/* : Bool */;
375 val
* var133
/* : ToolContext */;
376 static val
* varonce134
;
377 val
* var135
/* : String */;
378 char* var136
/* : NativeString */;
379 long var137
/* : Int */;
380 val
* var138
/* : String */;
381 val
* var139
/* : Array[Object] */;
382 long var140
/* : Int */;
383 val
* var141
/* : NativeArray[Object] */;
384 val
* var142
/* : String */;
385 long var143
/* : Int */;
386 val
* var144
/* : Array[MParameter] */;
387 val
* var_mparameters145
/* var mparameters: Array[MParameter] */;
388 val
* var146
/* : ANodes[APropdef] */;
389 val
* var147
/* : Iterator[nullable Object] */;
390 short int var148
/* : Bool */;
391 val
* var149
/* : nullable Object */;
392 val
* var_npropdef
/* var npropdef: APropdef */;
393 short int var150
/* : Bool */;
394 short int var151
/* : Bool */;
397 short int var_154
/* var : Bool */;
398 val
* var155
/* : nullable AExpr */;
399 val
* var156
/* : null */;
400 short int var157
/* : Bool */;
401 val
* var158
/* : nullable MPropDef */;
402 val
* var159
/* : null */;
403 short int var160
/* : Bool */;
404 val
* var161
/* : nullable MPropDef */;
405 val
* var162
/* : MProperty */;
406 val
* var163
/* : String */;
407 long var164
/* : Int */;
408 val
* var165
/* : String */;
409 val
* var_paramname
/* var paramname: String */;
410 val
* var166
/* : nullable MPropDef */;
411 val
* var167
/* : nullable MType */;
412 val
* var_ret_type
/* var ret_type: nullable MType */;
413 val
* var168
/* : null */;
414 short int var169
/* : Bool */;
415 val
* var170
/* : MParameter */;
416 short int var171
/* : Bool */;
417 val
* var_mparameter
/* var mparameter: MParameter */;
418 val
* var173
/* : MMethod */;
419 static val
* varonce174
;
420 val
* var175
/* : String */;
421 char* var176
/* : NativeString */;
422 long var177
/* : Int */;
423 val
* var178
/* : String */;
424 val
* var179
/* : MClass */;
425 val
* var180
/* : MVisibility */;
426 val
* var_mprop181
/* var mprop: MMethod */;
427 val
* var182
/* : MMethodDef */;
428 val
* var183
/* : Location */;
429 val
* var_mpropdef184
/* var mpropdef: MMethodDef */;
430 val
* var185
/* : MSignature */;
431 val
* var186
/* : null */;
432 val
* var_msignature187
/* var msignature: MSignature */;
433 short int var188
/* : Bool */;
434 val
* var189
/* : ToolContext */;
435 static val
* varonce190
;
436 val
* var191
/* : String */;
437 char* var192
/* : NativeString */;
438 long var193
/* : Int */;
439 val
* var194
/* : String */;
440 val
* var195
/* : Array[Object] */;
441 long var196
/* : Int */;
442 val
* var197
/* : NativeArray[Object] */;
443 val
* var198
/* : String */;
444 long var199
/* : Int */;
446 var
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef>*/;
448 fprintf(stderr
, "Runtime error: %s", "Cast failed");
449 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 70);
453 var1
= ((short int (*)(val
*))(var_mclassdef
->class->vft
[COLOR_model__MClassDef__is_intro
]))(var_mclassdef
) /* is_intro on <var_mclassdef:MClassDef>*/;
459 var3
= ((val
* (*)(val
*))(var_mclassdef
->class->vft
[COLOR_model__MClassDef__mclass
]))(var_mclassdef
) /* mclass on <var_mclassdef:MClassDef>*/;
460 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_model__MClass__kind
]))(var3
) /* kind on <var3:MClass>*/;
461 var5
= ((short int (*)(val
*))(var4
->class->vft
[COLOR_model__MClassKind__need_init
]))(var4
) /* need_init on <var4:MClassKind>*/;
467 var7
= ((val
* (*)(val
*))(var_mclassdef
->class->vft
[COLOR_model__MClassDef__mpropdefs
]))(var_mclassdef
) /* mpropdefs on <var_mclassdef:MClassDef>*/;
468 var8
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var7
) /* iterator on <var7:Array[MPropDef]>*/;
470 var9
= ((short int (*)(val
*))(var8
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var8
) /* is_ok on <var8:Iterator[nullable Object]>*/;
472 var10
= ((val
* (*)(val
*))(var8
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var8
) /* item on <var8:Iterator[nullable Object]>*/;
473 var_mpropdef
= var10
;
474 /* <var_mpropdef:MPropDef> isa MMethodDef */
475 cltype
= type_model__MMethodDef
.color
;
476 idtype
= type_model__MMethodDef
.id
;
477 if(cltype
>= var_mpropdef
->type
->table_size
) {
480 var11
= var_mpropdef
->type
->type_table
[cltype
] == idtype
;
487 var13
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var_mpropdef
) /* mproperty on <var_mpropdef:MPropDef(MMethodDef)>*/;
488 var14
= ((short int (*)(val
*))(var13
->class->vft
[COLOR_model__MMethod__is_init
]))(var13
) /* is_init on <var13:MProperty(MMethod)>*/;
493 CONTINUE_label
: (void)0;
494 ((void (*)(val
*))(var8
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var8
) /* next on <var8:Iterator[nullable Object]>*/;
496 BREAK_label
: (void)0;
497 /* <var_nclassdef:AClassdef> isa AStdClassdef */
498 cltype16
= type_parser_nodes__AStdClassdef
.color
;
499 idtype17
= type_parser_nodes__AStdClassdef
.id
;
500 if(cltype16
>= var_nclassdef
->type
->table_size
) {
503 var15
= var_nclassdef
->type
->type_table
[cltype16
] == idtype17
;
510 var19
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef(AStdClassdef)>*/;
512 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
513 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 86);
516 var20
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_model__MClassDef__mmodule
]))(var19
) /* mmodule on <var19:nullable MClassDef>*/;
519 var21
= NEW_array__Array(&type_array__Arraymodel__MMethod
);
520 ((void (*)(val
*))(var21
->class->vft
[COLOR_array__Array__init
]))(var21
) /* init on <var21:Array[MMethod]>*/;
524 var23
= ((val
* (*)(val
*))(var_mclassdef
->class->vft
[COLOR_model__MClassDef__supertypes
]))(var_mclassdef
) /* supertypes on <var_mclassdef:MClassDef>*/;
525 var24
= ((val
* (*)(val
*))(var23
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var23
) /* iterator on <var23:Array[MClassType]>*/;
527 var25
= ((short int (*)(val
*))(var24
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var24
) /* is_ok on <var24:Iterator[nullable Object]>*/;
529 var26
= ((val
* (*)(val
*))(var24
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var24
) /* item on <var24:Iterator[nullable Object]>*/;
531 var27
= ((val
* (*)(val
*))(var_st
->class->vft
[COLOR_model__MClassType__mclass
]))(var_st
) /* mclass on <var_st:MClassType>*/;
533 var28
= ((val
* (*)(val
*))(var_c
->class->vft
[COLOR_model__MClass__kind
]))(var_c
) /* kind on <var_c:MClass>*/;
534 var29
= ((short int (*)(val
*))(var28
->class->vft
[COLOR_model__MClassKind__need_init
]))(var28
) /* need_init on <var28:MClassKind>*/;
537 goto CONTINUE_label31
;
540 var32
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef(AStdClassdef)>*/;
542 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
543 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 93);
546 var33
= ((val
* (*)(val
*))(var32
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var32
) /* bound_mtype on <var32:nullable MClassDef>*/;
548 var34
= ((val
* (*)(val
*, val
*, val
*))(var_st
->class->vft
[COLOR_model__MType__anchor_to
]))(var_st
, var_mmodule
, var33
) /* anchor_to on <var_st:MClassType>*/;
555 var38
= string__NativeString__to_s_with_length(var36
, var37
);
559 var39
= ((val
* (*)(val
*, val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__try_get_mproperty_by_name2
]))(self
, var_nclassdef
, var_mmodule
, var_st
, var35
) /* try_get_mproperty_by_name2 on <self:ModelBuilder>*/;
560 /* <var39:nullable MProperty> isa nullable MMethod */
561 cltype41
= type_nullable_model__MMethod
.color
;
562 idtype42
= type_nullable_model__MMethod
.id
;
566 if(cltype41
>= var39
->type
->table_size
) {
569 var40
= var39
->type
->type_table
[cltype41
] == idtype42
;
573 var_class_name
= var39
== NULL ?
"null" : var39
->type
->name
;
574 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MMethod", var_class_name
);
575 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 94);
578 var_candidate
= var39
;
580 if (var_candidate
== NULL
) {
581 var45
= 0; /* is null */
583 var45
= 1; /* arg is null and recv is not */
587 var46
= ((val
* (*)(val
*))(var_candidate
->class->vft
[COLOR_model__MProperty__intro
]))(var_candidate
) /* intro on <var_candidate:nullable MMethod(MMethod)>*/;
588 var47
= ((val
* (*)(val
*))(var46
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var46
) /* msignature on <var46:MPropDef(MMethodDef)>*/;
590 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
591 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 95);
594 var48
= ((long (*)(val
*))(var47
->class->vft
[COLOR_model__MSignature__arity
]))(var47
) /* arity on <var47:nullable MSignature>*/;
597 { /* Inline kernel#Int#== (var48,var49) */
598 var52
= var48
== var49
;
608 ((void (*)(val
*, val
*))(var_combine
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_combine
, var_candidate
) /* add on <var_combine:Array[MMethod]>*/;
609 goto CONTINUE_label31
;
612 var53
= ((val
* (*)(val
*))(var_c
->class->vft
[COLOR_modelize_property__MClass__inherit_init_from
]))(var_c
) /* inherit_init_from on <var_c:MClass>*/;
615 if (var_inhc2
== NULL
) {
616 var55
= 1; /* is null */
618 var55
= 0; /* arg is null but recv is not */
624 var56
= ((short int (*)(val
*, val
*))(var_inhc2
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_inhc2
, var_inhc
) /* == on <var_inhc2:nullable MClass(MClass)>*/;
626 goto CONTINUE_label31
;
630 if (var_inhc
== NULL
) {
631 var58
= 0; /* is null */
633 var58
= 1; /* arg is null and recv is not */
639 var61
= "Error: Cannot provide a defaut constructor: conflict for ";
641 var63
= string__NativeString__to_s_with_length(var61
, var62
);
650 var68
= string__NativeString__to_s_with_length(var66
, var67
);
654 var69
= NEW_array__Array(&type_array__Arraykernel__Object
);
655 { /* var69 = array_instance Array[Object] */
657 var71
= NEW_array__NativeArray(var70
, &type_array__NativeArraykernel__Object
);
658 ((struct instance_array__NativeArray
*)var71
)->values
[0] = (val
*) var60
;
659 ((struct instance_array__NativeArray
*)var71
)->values
[1] = (val
*) var_inhc
;
660 ((struct instance_array__NativeArray
*)var71
)->values
[2] = (val
*) var65
;
661 ((struct instance_array__NativeArray
*)var71
)->values
[3] = (val
*) var_c
;
662 ((void (*)(val
*, val
*, long))(var69
->class->vft
[COLOR_array__Array__with_native
]))(var69
, var71
, var70
) /* with_native on <var69:Array[Object]>*/;
664 var72
= ((val
* (*)(val
*))(var69
->class->vft
[COLOR_string__Object__to_s
]))(var69
) /* to_s on <var69:Array[Object]>*/;
665 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(self
, var_nclassdef
, var72
) /* error on <self:ModelBuilder>*/;
667 var_inhc
= var_inhc2
;
669 CONTINUE_label31
: (void)0;
670 ((void (*)(val
*))(var24
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var24
) /* next on <var24:Iterator[nullable Object]>*/;
672 BREAK_label31
: (void)0;
673 var74
= ((short int (*)(val
*))(var_combine
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(var_combine
) /* is_empty on <var_combine:Array[MMethod]>*/;
677 if (var_inhc
== NULL
) {
678 var77
= 0; /* is null */
680 var77
= 1; /* arg is null and recv is not */
687 var78
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
691 var81
= " inherits all constructors from ";
693 var83
= string__NativeString__to_s_with_length(var81
, var82
);
697 var84
= NEW_array__Array(&type_array__Arraykernel__Object
);
698 { /* var84 = array_instance Array[Object] */
700 var86
= NEW_array__NativeArray(var85
, &type_array__NativeArraykernel__Object
);
701 ((struct instance_array__NativeArray
*)var86
)->values
[0] = (val
*) var_mclassdef
;
702 ((struct instance_array__NativeArray
*)var86
)->values
[1] = (val
*) var80
;
703 ((struct instance_array__NativeArray
*)var86
)->values
[2] = (val
*) var_inhc
;
704 ((void (*)(val
*, val
*, long))(var84
->class->vft
[COLOR_array__Array__with_native
]))(var84
, var86
, var85
) /* with_native on <var84:Array[Object]>*/;
706 var87
= ((val
* (*)(val
*))(var84
->class->vft
[COLOR_string__Object__to_s
]))(var84
) /* to_s on <var84:Array[Object]>*/;
708 ((void (*)(val
*, val
*, long))(var78
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var78
, var87
, var88
) /* info on <var78:ToolContext>*/;
709 var89
= ((val
* (*)(val
*))(var_mclassdef
->class->vft
[COLOR_model__MClassDef__mclass
]))(var_mclassdef
) /* mclass on <var_mclassdef:MClassDef>*/;
710 ((void (*)(val
*, val
*))(var89
->class->vft
[COLOR_modelize_property__MClass__inherit_init_from_61d
]))(var89
, var_inhc
) /* inherit_init_from= on <var89:MClass>*/;
714 var91
= ((short int (*)(val
*))(var_combine
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(var_combine
) /* is_empty on <var_combine:Array[MMethod]>*/;
719 if (var_inhc
== NULL
) {
720 var95
= 0; /* is null */
722 var95
= 1; /* arg is null and recv is not */
732 var98
= "Error: Cannot provide a defaut constructor: conflict for ";
734 var100
= string__NativeString__to_s_with_length(var98
, var99
);
743 var105
= string__NativeString__to_s_with_length(var103
, var104
);
747 var106
= ((val
* (*)(val
*, val
*))(var_combine
->class->vft
[COLOR_string__Collection__join
]))(var_combine
, var102
) /* join on <var_combine:Array[MMethod]>*/;
753 var111
= string__NativeString__to_s_with_length(var109
, var110
);
757 var112
= NEW_array__Array(&type_array__Arraykernel__Object
);
758 { /* var112 = array_instance Array[Object] */
760 var114
= NEW_array__NativeArray(var113
, &type_array__NativeArraykernel__Object
);
761 ((struct instance_array__NativeArray
*)var114
)->values
[0] = (val
*) var97
;
762 ((struct instance_array__NativeArray
*)var114
)->values
[1] = (val
*) var106
;
763 ((struct instance_array__NativeArray
*)var114
)->values
[2] = (val
*) var108
;
764 ((struct instance_array__NativeArray
*)var114
)->values
[3] = (val
*) var_inhc
;
765 ((void (*)(val
*, val
*, long))(var112
->class->vft
[COLOR_array__Array__with_native
]))(var112
, var114
, var113
) /* with_native on <var112:Array[Object]>*/;
767 var115
= ((val
* (*)(val
*))(var112
->class->vft
[COLOR_string__Object__to_s
]))(var112
) /* to_s on <var112:Array[Object]>*/;
768 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(self
, var_nclassdef
, var115
) /* error on <self:ModelBuilder>*/;
772 var116
= ((short int (*)(val
*))(var_combine
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(var_combine
) /* is_empty on <var_combine:Array[MMethod]>*/;
775 ((void (*)(val
*, val
*))(var_nclassdef
->class->vft
[COLOR_modelize_property__AClassdef__super_inits_61d
]))(var_nclassdef
, var_combine
) /* super_inits= on <var_nclassdef:AClassdef(AStdClassdef)>*/;
776 var118
= NEW_model__MMethod(&type_model__MMethod
);
782 var123
= string__NativeString__to_s_with_length(var121
, var122
);
786 var124
= ((val
* (*)(val
*))(var_mclassdef
->class->vft
[COLOR_model__MClassDef__mclass
]))(var_mclassdef
) /* mclass on <var_mclassdef:MClassDef>*/;
787 var125
= ((val
* (*)(val
*))(var124
->class->vft
[COLOR_model__MClass__visibility
]))(var124
) /* visibility on <var124:MClass>*/;
788 ((void (*)(val
*, val
*, val
*, val
*))(var118
->class->vft
[COLOR_model__MMethod__init
]))(var118
, var_mclassdef
, var120
, var125
) /* init on <var118:MMethod>*/;
790 var126
= NEW_model__MMethodDef(&type_model__MMethodDef
);
791 var127
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_parser_nodes__ANode__location
]))(var_nclassdef
) /* location on <var_nclassdef:AClassdef(AStdClassdef)>*/;
792 ((void (*)(val
*, val
*, val
*, val
*))(var126
->class->vft
[COLOR_model__MMethodDef__init
]))(var126
, var_mclassdef
, var_mprop
, var127
) /* init on <var126:MMethodDef>*/;
793 var_mpropdef128
= var126
;
794 var129
= NEW_array__Array(&type_array__Arraymodel__MParameter
);
795 ((void (*)(val
*))(var129
->class->vft
[COLOR_array__Array__init
]))(var129
) /* init on <var129:Array[MParameter]>*/;
796 var_mparameters
= var129
;
797 var130
= NEW_model__MSignature(&type_model__MSignature
);
799 ((void (*)(val
*, val
*, val
*))(var130
->class->vft
[COLOR_model__MSignature__init
]))(var130
, var_mparameters
, var131
) /* init on <var130:MSignature>*/;
800 var_msignature
= var130
;
801 ((void (*)(val
*, val
*))(var_mpropdef128
->class->vft
[COLOR_model__MMethodDef__msignature_61d
]))(var_mpropdef128
, var_msignature
) /* msignature= on <var_mpropdef128:MMethodDef>*/;
803 ((void (*)(val
*, short int))(var_mprop
->class->vft
[COLOR_model__MMethod__is_init_61d
]))(var_mprop
, var132
) /* is_init= on <var_mprop:MMethod>*/;
804 ((void (*)(val
*, val
*))(var_nclassdef
->class->vft
[COLOR_modelize_property__AClassdef__mfree_init_61d
]))(var_nclassdef
, var_mpropdef128
) /* mfree_init= on <var_nclassdef:AClassdef(AStdClassdef)>*/;
805 var133
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
809 var136
= " gets a free empty constructor ";
811 var138
= string__NativeString__to_s_with_length(var136
, var137
);
815 var139
= NEW_array__Array(&type_array__Arraykernel__Object
);
816 { /* var139 = array_instance Array[Object] */
818 var141
= NEW_array__NativeArray(var140
, &type_array__NativeArraykernel__Object
);
819 ((struct instance_array__NativeArray
*)var141
)->values
[0] = (val
*) var_mclassdef
;
820 ((struct instance_array__NativeArray
*)var141
)->values
[1] = (val
*) var135
;
821 ((struct instance_array__NativeArray
*)var141
)->values
[2] = (val
*) var_mpropdef128
;
822 ((struct instance_array__NativeArray
*)var141
)->values
[3] = (val
*) var_msignature
;
823 ((void (*)(val
*, val
*, long))(var139
->class->vft
[COLOR_array__Array__with_native
]))(var139
, var141
, var140
) /* with_native on <var139:Array[Object]>*/;
825 var142
= ((val
* (*)(val
*))(var139
->class->vft
[COLOR_string__Object__to_s
]))(var139
) /* to_s on <var139:Array[Object]>*/;
827 ((void (*)(val
*, val
*, long))(var133
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var133
, var142
, var143
) /* info on <var133:ToolContext>*/;
831 var144
= NEW_array__Array(&type_array__Arraymodel__MParameter
);
832 ((void (*)(val
*))(var144
->class->vft
[COLOR_array__Array__init
]))(var144
) /* init on <var144:Array[MParameter]>*/;
833 var_mparameters145
= var144
;
834 var146
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_parser_nodes__AClassdef__n_propdefs
]))(var_nclassdef
) /* n_propdefs on <var_nclassdef:AClassdef(AStdClassdef)>*/;
835 var147
= ((val
* (*)(val
*))(var146
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var146
) /* iterator on <var146:ANodes[APropdef]>*/;
837 var148
= ((short int (*)(val
*))(var147
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var147
) /* is_ok on <var147:Iterator[nullable Object]>*/;
839 var149
= ((val
* (*)(val
*))(var147
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var147
) /* item on <var147:Iterator[nullable Object]>*/;
840 var_npropdef
= var149
;
841 /* <var_npropdef:APropdef> isa AAttrPropdef */
842 cltype152
= type_parser_nodes__AAttrPropdef
.color
;
843 idtype153
= type_parser_nodes__AAttrPropdef
.id
;
844 if(cltype152
>= var_npropdef
->type
->table_size
) {
847 var151
= var_npropdef
->type
->type_table
[cltype152
] == idtype153
;
851 var155
= ((val
* (*)(val
*))(var_npropdef
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_expr
]))(var_npropdef
) /* n_expr on <var_npropdef:APropdef(AAttrPropdef)>*/;
853 if (var155
== NULL
) {
854 var157
= 1; /* is null */
856 var157
= 0; /* arg is null but recv is not */
863 var158
= ((val
* (*)(val
*))(var_npropdef
->class->vft
[COLOR_modelize_property__APropdef__mpropdef
]))(var_npropdef
) /* mpropdef on <var_npropdef:APropdef(AAttrPropdef)>*/;
865 if (var158
== NULL
) {
866 var160
= 1; /* is null */
868 var160
= 0; /* arg is null but recv is not */
874 var161
= ((val
* (*)(val
*))(var_npropdef
->class->vft
[COLOR_modelize_property__APropdef__mpropdef
]))(var_npropdef
) /* mpropdef on <var_npropdef:APropdef(AAttrPropdef)>*/;
875 if (var161
== NULL
) {
876 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
877 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 137);
880 var162
= ((val
* (*)(val
*))(var161
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var161
) /* mproperty on <var161:nullable MPropDef(nullable MAttributeDef)>*/;
882 var163
= ((val
* (*)(val
*))(var162
->class->vft
[COLOR_model__MProperty__name
]))(var162
) /* name on <var162:MProperty(MAttribute)>*/;
884 var165
= ((val
* (*)(val
*, long))(var163
->class->vft
[COLOR_string__AbstractString__substring_from
]))(var163
, var164
) /* substring_from on <var163:String>*/;
885 var_paramname
= var165
;
886 var166
= ((val
* (*)(val
*))(var_npropdef
->class->vft
[COLOR_modelize_property__APropdef__mpropdef
]))(var_npropdef
) /* mpropdef on <var_npropdef:APropdef(AAttrPropdef)>*/;
887 if (var166
== NULL
) {
888 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
889 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 138);
892 var167
= ((val
* (*)(val
*))(var166
->class->vft
[COLOR_model__MAttributeDef__static_mtype
]))(var166
) /* static_mtype on <var166:nullable MPropDef(nullable MAttributeDef)>*/;
894 var_ret_type
= var167
;
896 if (var_ret_type
== NULL
) {
897 var169
= 1; /* is null */
899 var169
= 0; /* arg is null but recv is not */
905 var170
= NEW_model__MParameter(&type_model__MParameter
);
907 ((void (*)(val
*, val
*, val
*, short int))(var170
->class->vft
[COLOR_model__MParameter__init
]))(var170
, var_paramname
, var_ret_type
, var171
) /* init on <var170:MParameter>*/;
908 var_mparameter
= var170
;
909 ((void (*)(val
*, val
*))(var_mparameters145
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_mparameters145
, var_mparameter
) /* add on <var_mparameters145:Array[MParameter]>*/;
912 CONTINUE_label172
: (void)0;
913 ((void (*)(val
*))(var147
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var147
) /* next on <var147:Iterator[nullable Object]>*/;
915 BREAK_label172
: (void)0;
916 var173
= NEW_model__MMethod(&type_model__MMethod
);
922 var178
= string__NativeString__to_s_with_length(var176
, var177
);
926 var179
= ((val
* (*)(val
*))(var_mclassdef
->class->vft
[COLOR_model__MClassDef__mclass
]))(var_mclassdef
) /* mclass on <var_mclassdef:MClassDef>*/;
927 var180
= ((val
* (*)(val
*))(var179
->class->vft
[COLOR_model__MClass__visibility
]))(var179
) /* visibility on <var179:MClass>*/;
928 ((void (*)(val
*, val
*, val
*, val
*))(var173
->class->vft
[COLOR_model__MMethod__init
]))(var173
, var_mclassdef
, var175
, var180
) /* init on <var173:MMethod>*/;
929 var_mprop181
= var173
;
930 var182
= NEW_model__MMethodDef(&type_model__MMethodDef
);
931 var183
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_parser_nodes__ANode__location
]))(var_nclassdef
) /* location on <var_nclassdef:AClassdef(AStdClassdef)>*/;
932 ((void (*)(val
*, val
*, val
*, val
*))(var182
->class->vft
[COLOR_model__MMethodDef__init
]))(var182
, var_mclassdef
, var_mprop181
, var183
) /* init on <var182:MMethodDef>*/;
933 var_mpropdef184
= var182
;
934 var185
= NEW_model__MSignature(&type_model__MSignature
);
936 ((void (*)(val
*, val
*, val
*))(var185
->class->vft
[COLOR_model__MSignature__init
]))(var185
, var_mparameters145
, var186
) /* init on <var185:MSignature>*/;
937 var_msignature187
= var185
;
938 ((void (*)(val
*, val
*))(var_mpropdef184
->class->vft
[COLOR_model__MMethodDef__msignature_61d
]))(var_mpropdef184
, var_msignature187
) /* msignature= on <var_mpropdef184:MMethodDef>*/;
940 ((void (*)(val
*, short int))(var_mprop181
->class->vft
[COLOR_model__MMethod__is_init_61d
]))(var_mprop181
, var188
) /* is_init= on <var_mprop181:MMethod>*/;
941 ((void (*)(val
*, val
*))(var_nclassdef
->class->vft
[COLOR_modelize_property__AClassdef__mfree_init_61d
]))(var_nclassdef
, var_mpropdef184
) /* mfree_init= on <var_nclassdef:AClassdef(AStdClassdef)>*/;
942 var189
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
946 var192
= " gets a free constructor for attributes ";
948 var194
= string__NativeString__to_s_with_length(var192
, var193
);
952 var195
= NEW_array__Array(&type_array__Arraykernel__Object
);
953 { /* var195 = array_instance Array[Object] */
955 var197
= NEW_array__NativeArray(var196
, &type_array__NativeArraykernel__Object
);
956 ((struct instance_array__NativeArray
*)var197
)->values
[0] = (val
*) var_mclassdef
;
957 ((struct instance_array__NativeArray
*)var197
)->values
[1] = (val
*) var191
;
958 ((struct instance_array__NativeArray
*)var197
)->values
[2] = (val
*) var_mpropdef184
;
959 ((struct instance_array__NativeArray
*)var197
)->values
[3] = (val
*) var_msignature187
;
960 ((void (*)(val
*, val
*, long))(var195
->class->vft
[COLOR_array__Array__with_native
]))(var195
, var197
, var196
) /* with_native on <var195:Array[Object]>*/;
962 var198
= ((val
* (*)(val
*))(var195
->class->vft
[COLOR_string__Object__to_s
]))(var195
) /* to_s on <var195:Array[Object]>*/;
964 ((void (*)(val
*, val
*, long))(var189
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var189
, var198
, var199
) /* info on <var189:ToolContext>*/;
967 /* method modelize_property#ModelBuilder#process_default_constructors for (self: Object, AClassdef) */
968 void VIRTUAL_modelize_property__ModelBuilder__process_default_constructors(val
* self
, val
* p0
) {
969 modelize_property__ModelBuilder__process_default_constructors(self
, p0
);
972 /* method modelize_property#MClass#inherit_init_from for (self: MClass): nullable MClass */
973 val
* modelize_property__MClass__inherit_init_from(val
* self
) {
974 val
* var
/* : nullable MClass */;
975 val
* var1
/* : nullable MClass */;
976 var1
= self
->attrs
[COLOR_modelize_property__MClass___64dinherit_init_from
].val
; /* @inherit_init_from on <self:MClass> */
981 /* method modelize_property#MClass#inherit_init_from for (self: Object): nullable MClass */
982 val
* VIRTUAL_modelize_property__MClass__inherit_init_from(val
* self
) {
983 val
* var
/* : nullable MClass */;
984 val
* var1
/* : nullable MClass */;
985 var1
= modelize_property__MClass__inherit_init_from(self
);
990 /* method modelize_property#MClass#inherit_init_from= for (self: MClass, nullable MClass) */
991 void modelize_property__MClass__inherit_init_from_61d(val
* self
, val
* p0
) {
992 self
->attrs
[COLOR_modelize_property__MClass___64dinherit_init_from
].val
= p0
; /* @inherit_init_from on <self:MClass> */
995 /* method modelize_property#MClass#inherit_init_from= for (self: Object, nullable MClass) */
996 void VIRTUAL_modelize_property__MClass__inherit_init_from_61d(val
* self
, val
* p0
) {
997 modelize_property__MClass__inherit_init_from_61d(self
, p0
);
1000 /* method modelize_property#AClassdef#build_properties_is_done for (self: AClassdef): Bool */
1001 short int modelize_property__AClassdef__build_properties_is_done(val
* self
) {
1002 short int var
/* : Bool */;
1003 short int var1
/* : Bool */;
1004 var1
= self
->attrs
[COLOR_modelize_property__AClassdef___64dbuild_properties_is_done
].s
; /* @build_properties_is_done on <self:AClassdef> */
1009 /* method modelize_property#AClassdef#build_properties_is_done for (self: Object): Bool */
1010 short int VIRTUAL_modelize_property__AClassdef__build_properties_is_done(val
* self
) {
1011 short int var
/* : Bool */;
1012 short int var1
/* : Bool */;
1013 var1
= modelize_property__AClassdef__build_properties_is_done(self
);
1018 /* method modelize_property#AClassdef#build_properties_is_done= for (self: AClassdef, Bool) */
1019 void modelize_property__AClassdef__build_properties_is_done_61d(val
* self
, short int p0
) {
1020 self
->attrs
[COLOR_modelize_property__AClassdef___64dbuild_properties_is_done
].s
= p0
; /* @build_properties_is_done on <self:AClassdef> */
1023 /* method modelize_property#AClassdef#build_properties_is_done= for (self: Object, Bool) */
1024 void VIRTUAL_modelize_property__AClassdef__build_properties_is_done_61d(val
* self
, short int p0
) {
1025 modelize_property__AClassdef__build_properties_is_done_61d(self
, p0
);
1028 /* method modelize_property#AClassdef#super_inits for (self: AClassdef): nullable Collection[MMethod] */
1029 val
* modelize_property__AClassdef__super_inits(val
* self
) {
1030 val
* var
/* : nullable Collection[MMethod] */;
1031 val
* var1
/* : nullable Collection[MMethod] */;
1032 var1
= self
->attrs
[COLOR_modelize_property__AClassdef___64dsuper_inits
].val
; /* @super_inits on <self:AClassdef> */
1037 /* method modelize_property#AClassdef#super_inits for (self: Object): nullable Collection[MMethod] */
1038 val
* VIRTUAL_modelize_property__AClassdef__super_inits(val
* self
) {
1039 val
* var
/* : nullable Collection[MMethod] */;
1040 val
* var1
/* : nullable Collection[MMethod] */;
1041 var1
= modelize_property__AClassdef__super_inits(self
);
1046 /* method modelize_property#AClassdef#super_inits= for (self: AClassdef, nullable Collection[MMethod]) */
1047 void modelize_property__AClassdef__super_inits_61d(val
* self
, val
* p0
) {
1048 self
->attrs
[COLOR_modelize_property__AClassdef___64dsuper_inits
].val
= p0
; /* @super_inits on <self:AClassdef> */
1051 /* method modelize_property#AClassdef#super_inits= for (self: Object, nullable Collection[MMethod]) */
1052 void VIRTUAL_modelize_property__AClassdef__super_inits_61d(val
* self
, val
* p0
) {
1053 modelize_property__AClassdef__super_inits_61d(self
, p0
);
1056 /* method modelize_property#AClassdef#mfree_init for (self: AClassdef): nullable MMethodDef */
1057 val
* modelize_property__AClassdef__mfree_init(val
* self
) {
1058 val
* var
/* : nullable MMethodDef */;
1059 val
* var1
/* : nullable MMethodDef */;
1060 var1
= self
->attrs
[COLOR_modelize_property__AClassdef___64dmfree_init
].val
; /* @mfree_init on <self:AClassdef> */
1065 /* method modelize_property#AClassdef#mfree_init for (self: Object): nullable MMethodDef */
1066 val
* VIRTUAL_modelize_property__AClassdef__mfree_init(val
* self
) {
1067 val
* var
/* : nullable MMethodDef */;
1068 val
* var1
/* : nullable MMethodDef */;
1069 var1
= modelize_property__AClassdef__mfree_init(self
);
1074 /* method modelize_property#AClassdef#mfree_init= for (self: AClassdef, nullable MMethodDef) */
1075 void modelize_property__AClassdef__mfree_init_61d(val
* self
, val
* p0
) {
1076 self
->attrs
[COLOR_modelize_property__AClassdef___64dmfree_init
].val
= p0
; /* @mfree_init on <self:AClassdef> */
1079 /* method modelize_property#AClassdef#mfree_init= for (self: Object, nullable MMethodDef) */
1080 void VIRTUAL_modelize_property__AClassdef__mfree_init_61d(val
* self
, val
* p0
) {
1081 modelize_property__AClassdef__mfree_init_61d(self
, p0
);
1084 /* method modelize_property#AClassdef#mprop2npropdef for (self: AClassdef): Map[MProperty, APropdef] */
1085 val
* modelize_property__AClassdef__mprop2npropdef(val
* self
) {
1086 val
* var
/* : Map[MProperty, APropdef] */;
1087 val
* var1
/* : Map[MProperty, APropdef] */;
1088 var1
= self
->attrs
[COLOR_modelize_property__AClassdef___64dmprop2npropdef
].val
; /* @mprop2npropdef on <self:AClassdef> */
1090 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @mprop2npropdef");
1091 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 170);
1098 /* method modelize_property#AClassdef#mprop2npropdef for (self: Object): Map[MProperty, APropdef] */
1099 val
* VIRTUAL_modelize_property__AClassdef__mprop2npropdef(val
* self
) {
1100 val
* var
/* : Map[MProperty, APropdef] */;
1101 val
* var1
/* : Map[MProperty, APropdef] */;
1102 var1
= modelize_property__AClassdef__mprop2npropdef(self
);
1107 /* method modelize_property#AClassdef#mprop2npropdef= for (self: AClassdef, Map[MProperty, APropdef]) */
1108 void modelize_property__AClassdef__mprop2npropdef_61d(val
* self
, val
* p0
) {
1109 self
->attrs
[COLOR_modelize_property__AClassdef___64dmprop2npropdef
].val
= p0
; /* @mprop2npropdef on <self:AClassdef> */
1112 /* method modelize_property#AClassdef#mprop2npropdef= for (self: Object, Map[MProperty, APropdef]) */
1113 void VIRTUAL_modelize_property__AClassdef__mprop2npropdef_61d(val
* self
, val
* p0
) {
1114 modelize_property__AClassdef__mprop2npropdef_61d(self
, p0
);
1117 /* method modelize_property#Prod#collect_text for (self: Prod): String */
1118 val
* modelize_property__Prod__collect_text(val
* self
) {
1119 val
* var
/* : String */;
1120 val
* var1
/* : TextCollectorVisitor */;
1121 val
* var_v
/* var v: TextCollectorVisitor */;
1122 val
* var2
/* : String */;
1123 static val
* varonce
;
1124 val
* var3
/* : String */;
1125 char* var4
/* : NativeString */;
1126 long var5
/* : Int */;
1127 val
* var6
/* : String */;
1128 short int var7
/* : Bool */;
1129 val
* var8
/* : String */;
1130 var1
= NEW_modelize_property__TextCollectorVisitor(&type_modelize_property__TextCollectorVisitor
);
1131 ((void (*)(val
*))(var1
->class->vft
[COLOR_modelize_property__TextCollectorVisitor__init
]))(var1
) /* init on <var1:TextCollectorVisitor>*/;
1133 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_parser_nodes__Visitor__enter_visit
]))(var_v
, self
) /* enter_visit on <var_v:TextCollectorVisitor>*/;
1134 var2
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_modelize_property__TextCollectorVisitor__text
]))(var_v
) /* text on <var_v:TextCollectorVisitor>*/;
1140 var6
= string__NativeString__to_s_with_length(var4
, var5
);
1144 var7
= ((short int (*)(val
*, val
*))(var2
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var2
, var3
) /* != on <var2:String>*/;
1146 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1147 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 182);
1150 var8
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_modelize_property__TextCollectorVisitor__text
]))(var_v
) /* text on <var_v:TextCollectorVisitor>*/;
1156 /* method modelize_property#Prod#collect_text for (self: Object): String */
1157 val
* VIRTUAL_modelize_property__Prod__collect_text(val
* self
) {
1158 val
* var
/* : String */;
1159 val
* var1
/* : String */;
1160 var1
= modelize_property__Prod__collect_text(self
);
1165 /* method modelize_property#TextCollectorVisitor#text for (self: TextCollectorVisitor): String */
1166 val
* modelize_property__TextCollectorVisitor__text(val
* self
) {
1167 val
* var
/* : String */;
1168 val
* var1
/* : String */;
1169 var1
= self
->attrs
[COLOR_modelize_property__TextCollectorVisitor___64dtext
].val
; /* @text on <self:TextCollectorVisitor> */
1171 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @text");
1172 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 189);
1179 /* method modelize_property#TextCollectorVisitor#text for (self: Object): String */
1180 val
* VIRTUAL_modelize_property__TextCollectorVisitor__text(val
* self
) {
1181 val
* var
/* : String */;
1182 val
* var1
/* : String */;
1183 var1
= modelize_property__TextCollectorVisitor__text(self
);
1188 /* method modelize_property#TextCollectorVisitor#text= for (self: TextCollectorVisitor, String) */
1189 void modelize_property__TextCollectorVisitor__text_61d(val
* self
, val
* p0
) {
1190 self
->attrs
[COLOR_modelize_property__TextCollectorVisitor___64dtext
].val
= p0
; /* @text on <self:TextCollectorVisitor> */
1193 /* method modelize_property#TextCollectorVisitor#text= for (self: Object, String) */
1194 void VIRTUAL_modelize_property__TextCollectorVisitor__text_61d(val
* self
, val
* p0
) {
1195 modelize_property__TextCollectorVisitor__text_61d(self
, p0
);
1198 /* method modelize_property#TextCollectorVisitor#visit for (self: TextCollectorVisitor, ANode) */
1199 void modelize_property__TextCollectorVisitor__visit(val
* self
, val
* p0
) {
1200 val
* var_n
/* var n: ANode */;
1201 short int var
/* : Bool */;
1204 val
* var_
/* var : TextCollectorVisitor */;
1205 val
* var1
/* : String */;
1206 val
* var2
/* : String */;
1207 val
* var3
/* : String */;
1209 /* <var_n:ANode> isa Token */
1210 cltype
= type_parser_nodes__Token
.color
;
1211 idtype
= type_parser_nodes__Token
.id
;
1212 if(cltype
>= var_n
->type
->table_size
) {
1215 var
= var_n
->type
->type_table
[cltype
] == idtype
;
1219 var1
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_modelize_property__TextCollectorVisitor__text
]))(var_
) /* text on <var_:TextCollectorVisitor>*/;
1220 var2
= ((val
* (*)(val
*))(var_n
->class->vft
[COLOR_parser_nodes__Token__text
]))(var_n
) /* text on <var_n:ANode(Token)>*/;
1221 var3
= ((val
* (*)(val
*, val
*))(var1
->class->vft
[COLOR_string__String___43d
]))(var1
, var2
) /* + on <var1:String>*/;
1222 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_modelize_property__TextCollectorVisitor__text_61d
]))(var_
, var3
) /* text= on <var_:TextCollectorVisitor>*/;
1225 ((void (*)(val
*, val
*))(var_n
->class->vft
[COLOR_parser_nodes__ANode__visit_all
]))(var_n
, self
) /* visit_all on <var_n:ANode>*/;
1228 /* method modelize_property#TextCollectorVisitor#visit for (self: Object, ANode) */
1229 void VIRTUAL_modelize_property__TextCollectorVisitor__visit(val
* self
, val
* p0
) {
1230 modelize_property__TextCollectorVisitor__visit(self
, p0
);
1233 /* method modelize_property#TextCollectorVisitor#init for (self: TextCollectorVisitor) */
1234 void modelize_property__TextCollectorVisitor__init(val
* self
) {
1235 ((void (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__Visitor__init
]))(self
) /* init on <self:TextCollectorVisitor>*/;
1238 /* method modelize_property#TextCollectorVisitor#init for (self: Object) */
1239 void VIRTUAL_modelize_property__TextCollectorVisitor__init(val
* self
) {
1240 modelize_property__TextCollectorVisitor__init(self
);
1243 /* method modelize_property#APropdef#mpropdef for (self: APropdef): nullable MPropDef */
1244 val
* modelize_property__APropdef__mpropdef(val
* self
) {
1245 val
* var
/* : nullable MPropDef */;
1246 val
* var1
/* : nullable MPropDef */;
1247 var1
= self
->attrs
[COLOR_modelize_property__APropdef___64dmpropdef
].val
; /* @mpropdef on <self:APropdef> */
1252 /* method modelize_property#APropdef#mpropdef for (self: Object): nullable MPropDef */
1253 val
* VIRTUAL_modelize_property__APropdef__mpropdef(val
* self
) {
1254 val
* var
/* : nullable MPropDef */;
1255 val
* var1
/* : nullable MPropDef */;
1256 var1
= modelize_property__APropdef__mpropdef(self
);
1261 /* method modelize_property#APropdef#mpropdef= for (self: APropdef, nullable MPropDef) */
1262 void modelize_property__APropdef__mpropdef_61d(val
* self
, val
* p0
) {
1263 short int var
/* : Bool */;
1266 const struct type
* type_struct
;
1267 const char* var_class_name
;
1268 /* Covariant cast for argument 0 (mpropdef) <p0:nullable MPropDef> isa nullable MPROPDEF */
1269 /* <p0:nullable MPropDef> isa nullable MPROPDEF */
1270 type_struct
= self
->type
->resolution_table
->types
[COLOR_parser_nodes__APropdef_VTMPROPDEF
];
1271 cltype
= type_struct
->color
;
1272 idtype
= type_struct
->id
;
1276 if(cltype
>= p0
->type
->table_size
) {
1279 var
= p0
->type
->type_table
[cltype
] == idtype
;
1283 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1284 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name
);
1285 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 201);
1288 self
->attrs
[COLOR_modelize_property__APropdef___64dmpropdef
].val
= p0
; /* @mpropdef on <self:APropdef> */
1291 /* method modelize_property#APropdef#mpropdef= for (self: Object, nullable MPropDef) */
1292 void VIRTUAL_modelize_property__APropdef__mpropdef_61d(val
* self
, val
* p0
) {
1293 modelize_property__APropdef__mpropdef_61d(self
, p0
);
1296 /* method modelize_property#APropdef#build_property for (self: APropdef, ModelBuilder, AClassdef) */
1297 void modelize_property__APropdef__build_property(val
* self
, val
* p0
, val
* p1
) {
1298 const char* var_class_name
;
1299 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
1300 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "build_property", var_class_name
);
1301 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 204);
1305 /* method modelize_property#APropdef#build_property for (self: Object, ModelBuilder, AClassdef) */
1306 void VIRTUAL_modelize_property__APropdef__build_property(val
* self
, val
* p0
, val
* p1
) {
1307 modelize_property__APropdef__build_property(self
, p0
, p1
);
1310 /* method modelize_property#APropdef#build_signature for (self: APropdef, ModelBuilder, AClassdef) */
1311 void modelize_property__APropdef__build_signature(val
* self
, val
* p0
, val
* p1
) {
1312 const char* var_class_name
;
1313 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
1314 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "build_signature", var_class_name
);
1315 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 205);
1319 /* method modelize_property#APropdef#build_signature for (self: Object, ModelBuilder, AClassdef) */
1320 void VIRTUAL_modelize_property__APropdef__build_signature(val
* self
, val
* p0
, val
* p1
) {
1321 modelize_property__APropdef__build_signature(self
, p0
, p1
);
1324 /* method modelize_property#APropdef#check_signature for (self: APropdef, ModelBuilder, AClassdef) */
1325 void modelize_property__APropdef__check_signature(val
* self
, val
* p0
, val
* p1
) {
1326 const char* var_class_name
;
1327 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
1328 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "check_signature", var_class_name
);
1329 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 206);
1333 /* method modelize_property#APropdef#check_signature for (self: Object, ModelBuilder, AClassdef) */
1334 void VIRTUAL_modelize_property__APropdef__check_signature(val
* self
, val
* p0
, val
* p1
) {
1335 modelize_property__APropdef__check_signature(self
, p0
, p1
);
1338 /* method modelize_property#APropdef#new_property_visibility for (self: APropdef, ModelBuilder, AClassdef, nullable AVisibility): MVisibility */
1339 val
* modelize_property__APropdef__new_property_visibility(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1340 val
* var
/* : MVisibility */;
1341 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
1342 val
* var_nclassdef
/* var nclassdef: AClassdef */;
1343 val
* var_nvisibility
/* var nvisibility: nullable AVisibility */;
1344 val
* var1
/* : MVisibility */;
1345 val
* var_mvisibility
/* var mvisibility: MVisibility */;
1346 val
* var2
/* : null */;
1347 short int var3
/* : Bool */;
1348 val
* var4
/* : MVisibility */;
1349 val
* var5
/* : MVisibility */;
1350 short int var6
/* : Bool */;
1351 static val
* varonce
;
1352 val
* var7
/* : String */;
1353 char* var8
/* : NativeString */;
1354 long var9
/* : Int */;
1355 val
* var10
/* : String */;
1356 val
* var11
/* : MVisibility */;
1357 val
* var12
/* : nullable MClassDef */;
1358 val
* var13
/* : MClass */;
1359 val
* var14
/* : MVisibility */;
1360 val
* var15
/* : MVisibility */;
1361 short int var16
/* : Bool */;
1362 val
* var17
/* : MVisibility */;
1363 short int var18
/* : Bool */;
1364 val
* var19
/* : null */;
1365 short int var20
/* : Bool */;
1366 static val
* varonce21
;
1367 val
* var22
/* : String */;
1368 char* var23
/* : NativeString */;
1369 long var24
/* : Int */;
1370 val
* var25
/* : String */;
1371 val
* var26
/* : MVisibility */;
1372 short int var27
/* : Bool */;
1373 val
* var28
/* : null */;
1374 short int var29
/* : Bool */;
1375 val
* var30
/* : MVisibility */;
1376 var_modelbuilder
= p0
;
1378 var_nvisibility
= p2
;
1379 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model_base__Object__public_visibility
]))(self
) /* public_visibility on <self:APropdef>*/;
1380 var_mvisibility
= var1
;
1382 if (var_nvisibility
== NULL
) {
1383 var3
= 0; /* is null */
1385 var3
= 1; /* arg is null and recv is not */
1388 var4
= ((val
* (*)(val
*))(var_nvisibility
->class->vft
[COLOR_modelbuilder__AVisibility__mvisibility
]))(var_nvisibility
) /* mvisibility on <var_nvisibility:nullable AVisibility(AVisibility)>*/;
1389 var_mvisibility
= var4
;
1390 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model_base__Object__intrude_visibility
]))(self
) /* intrude_visibility on <self:APropdef>*/;
1391 var6
= ((short int (*)(val
*, val
*))(var_mvisibility
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_mvisibility
, var5
) /* == on <var_mvisibility:MVisibility>*/;
1396 var8
= "Error: intrude is not a legal visibility for properties.";
1398 var10
= string__NativeString__to_s_with_length(var8
, var9
);
1402 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, var_nvisibility
, var7
) /* error on <var_modelbuilder:ModelBuilder>*/;
1403 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model_base__Object__public_visibility
]))(self
) /* public_visibility on <self:APropdef>*/;
1404 var_mvisibility
= var11
;
1409 var12
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef>*/;
1410 if (var12
== NULL
) {
1411 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
1412 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 217);
1415 var13
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_model__MClassDef__mclass
]))(var12
) /* mclass on <var12:nullable MClassDef>*/;
1417 var14
= ((val
* (*)(val
*))(var13
->class->vft
[COLOR_model__MClass__visibility
]))(var13
) /* visibility on <var13:MClass>*/;
1418 var15
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model_base__Object__private_visibility
]))(self
) /* private_visibility on <self:APropdef>*/;
1419 var16
= ((short int (*)(val
*, val
*))(var14
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var14
, var15
) /* == on <var14:MVisibility>*/;
1421 var17
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model_base__Object__protected_visibility
]))(self
) /* protected_visibility on <self:APropdef>*/;
1422 var18
= ((short int (*)(val
*, val
*))(var_mvisibility
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_mvisibility
, var17
) /* == on <var_mvisibility:MVisibility>*/;
1425 if (var_nvisibility
== NULL
) {
1426 var20
= 0; /* is null */
1428 var20
= 1; /* arg is null and recv is not */
1431 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1432 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 219);
1438 var23
= "Error: The only legal visibility for properties in a private class is private.";
1440 var25
= string__NativeString__to_s_with_length(var23
, var24
);
1444 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, var_nvisibility
, var22
) /* error on <var_modelbuilder:ModelBuilder>*/;
1446 var26
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model_base__Object__private_visibility
]))(self
) /* private_visibility on <self:APropdef>*/;
1447 var27
= ((short int (*)(val
*, val
*))(var_mvisibility
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_mvisibility
, var26
) /* == on <var_mvisibility:MVisibility>*/;
1450 if (var_nvisibility
== NULL
) {
1451 var29
= 0; /* is null */
1453 var29
= 1; /* arg is null and recv is not */
1456 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1457 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 222);
1463 var30
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model_base__Object__private_visibility
]))(self
) /* private_visibility on <self:APropdef>*/;
1464 var_mvisibility
= var30
;
1467 var
= var_mvisibility
;
1472 /* method modelize_property#APropdef#new_property_visibility for (self: Object, ModelBuilder, AClassdef, nullable AVisibility): MVisibility */
1473 val
* VIRTUAL_modelize_property__APropdef__new_property_visibility(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1474 val
* var
/* : MVisibility */;
1475 val
* var1
/* : MVisibility */;
1476 var1
= modelize_property__APropdef__new_property_visibility(self
, p0
, p1
, p2
);
1481 /* method modelize_property#APropdef#check_redef_property_visibility for (self: APropdef, ModelBuilder, AClassdef, nullable AVisibility, MProperty) */
1482 void modelize_property__APropdef__check_redef_property_visibility(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
1483 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
1484 val
* var_nclassdef
/* var nclassdef: AClassdef */;
1485 val
* var_nvisibility
/* var nvisibility: nullable AVisibility */;
1486 val
* var_mprop
/* var mprop: MProperty */;
1487 val
* var
/* : null */;
1488 short int var1
/* : Bool */;
1489 val
* var2
/* : MVisibility */;
1490 val
* var_mvisibility
/* var mvisibility: MVisibility */;
1491 short int var3
/* : Bool */;
1492 val
* var4
/* : MVisibility */;
1493 short int var5
/* : Bool */;
1494 short int var_
/* var : Bool */;
1495 val
* var6
/* : MVisibility */;
1496 short int var7
/* : Bool */;
1497 static val
* varonce
;
1498 val
* var8
/* : String */;
1499 char* var9
/* : NativeString */;
1500 long var10
/* : Int */;
1501 val
* var11
/* : String */;
1502 val
* var12
/* : MVisibility */;
1503 static val
* varonce13
;
1504 val
* var14
/* : String */;
1505 char* var15
/* : NativeString */;
1506 long var16
/* : Int */;
1507 val
* var17
/* : String */;
1508 val
* var18
/* : Array[Object] */;
1509 long var19
/* : Int */;
1510 val
* var20
/* : NativeArray[Object] */;
1511 val
* var21
/* : String */;
1512 var_modelbuilder
= p0
;
1514 var_nvisibility
= p2
;
1517 if (var_nvisibility
== NULL
) {
1518 var1
= 1; /* is null */
1520 var1
= 0; /* arg is null but recv is not */
1526 var2
= ((val
* (*)(val
*))(var_nvisibility
->class->vft
[COLOR_modelbuilder__AVisibility__mvisibility
]))(var_nvisibility
) /* mvisibility on <var_nvisibility:nullable AVisibility(AVisibility)>*/;
1527 var_mvisibility
= var2
;
1528 var4
= ((val
* (*)(val
*))(var_mprop
->class->vft
[COLOR_model__MProperty__visibility
]))(var_mprop
) /* visibility on <var_mprop:MProperty>*/;
1529 var5
= ((short int (*)(val
*, val
*))(var_mvisibility
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_mvisibility
, var4
) /* != on <var_mvisibility:MVisibility>*/;
1532 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model_base__Object__public_visibility
]))(self
) /* public_visibility on <self:APropdef>*/;
1533 var7
= ((short int (*)(val
*, val
*))(var_mvisibility
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_mvisibility
, var6
) /* != on <var_mvisibility:MVisibility>*/;
1542 var9
= "Error: redefinition changed the visibility from a ";
1544 var11
= string__NativeString__to_s_with_length(var9
, var10
);
1548 var12
= ((val
* (*)(val
*))(var_mprop
->class->vft
[COLOR_model__MProperty__visibility
]))(var_mprop
) /* visibility on <var_mprop:MProperty>*/;
1554 var17
= string__NativeString__to_s_with_length(var15
, var16
);
1558 var18
= NEW_array__Array(&type_array__Arraykernel__Object
);
1559 { /* var18 = array_instance Array[Object] */
1561 var20
= NEW_array__NativeArray(var19
, &type_array__NativeArraykernel__Object
);
1562 ((struct instance_array__NativeArray
*)var20
)->values
[0] = (val
*) var8
;
1563 ((struct instance_array__NativeArray
*)var20
)->values
[1] = (val
*) var12
;
1564 ((struct instance_array__NativeArray
*)var20
)->values
[2] = (val
*) var14
;
1565 ((struct instance_array__NativeArray
*)var20
)->values
[3] = (val
*) var_mvisibility
;
1566 ((void (*)(val
*, val
*, long))(var18
->class->vft
[COLOR_array__Array__with_native
]))(var18
, var20
, var19
) /* with_native on <var18:Array[Object]>*/;
1568 var21
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_string__Object__to_s
]))(var18
) /* to_s on <var18:Array[Object]>*/;
1569 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, var_nvisibility
, var21
) /* error on <var_modelbuilder:ModelBuilder>*/;
1574 /* method modelize_property#APropdef#check_redef_property_visibility for (self: Object, ModelBuilder, AClassdef, nullable AVisibility, MProperty) */
1575 void VIRTUAL_modelize_property__APropdef__check_redef_property_visibility(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
1576 modelize_property__APropdef__check_redef_property_visibility(self
, p0
, p1
, p2
, p3
);
1579 /* method modelize_property#APropdef#check_redef_keyword for (self: APropdef, ModelBuilder, AClassdef, nullable Token, Bool, MProperty): Bool */
1580 short int modelize_property__APropdef__check_redef_keyword(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
, val
* p4
) {
1581 short int var
/* : Bool */;
1582 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
1583 val
* var_nclassdef
/* var nclassdef: AClassdef */;
1584 val
* var_kwredef
/* var kwredef: nullable Token */;
1585 short int var_need_redef
/* var need_redef: Bool */;
1586 val
* var_mprop
/* var mprop: MProperty */;
1587 val
* var1
/* : Map[MProperty, APropdef] */;
1588 short int var2
/* : Bool */;
1589 static val
* varonce
;
1590 val
* var3
/* : String */;
1591 char* var4
/* : NativeString */;
1592 long var5
/* : Int */;
1593 val
* var6
/* : String */;
1594 static val
* varonce7
;
1595 val
* var8
/* : String */;
1596 char* var9
/* : NativeString */;
1597 long var10
/* : Int */;
1598 val
* var11
/* : String */;
1599 val
* var12
/* : nullable MClassDef */;
1600 val
* var13
/* : MClass */;
1601 static val
* varonce14
;
1602 val
* var15
/* : String */;
1603 char* var16
/* : NativeString */;
1604 long var17
/* : Int */;
1605 val
* var18
/* : String */;
1606 val
* var19
/* : Array[Object] */;
1607 long var20
/* : Int */;
1608 val
* var21
/* : NativeArray[Object] */;
1609 val
* var22
/* : String */;
1610 short int var23
/* : Bool */;
1611 val
* var24
/* : null */;
1612 short int var25
/* : Bool */;
1613 static val
* varonce26
;
1614 val
* var27
/* : String */;
1615 char* var28
/* : NativeString */;
1616 long var29
/* : Int */;
1617 val
* var30
/* : String */;
1618 val
* var31
/* : nullable MClassDef */;
1619 val
* var32
/* : MClass */;
1620 static val
* varonce33
;
1621 val
* var34
/* : String */;
1622 char* var35
/* : NativeString */;
1623 long var36
/* : Int */;
1624 val
* var37
/* : String */;
1625 val
* var38
/* : String */;
1626 static val
* varonce39
;
1627 val
* var40
/* : String */;
1628 char* var41
/* : NativeString */;
1629 long var42
/* : Int */;
1630 val
* var43
/* : String */;
1631 val
* var44
/* : Array[Object] */;
1632 long var45
/* : Int */;
1633 val
* var46
/* : NativeArray[Object] */;
1634 val
* var47
/* : String */;
1635 short int var48
/* : Bool */;
1636 short int var49
/* : Bool */;
1637 static val
* varonce50
;
1638 val
* var51
/* : String */;
1639 char* var52
/* : NativeString */;
1640 long var53
/* : Int */;
1641 val
* var54
/* : String */;
1642 val
* var55
/* : nullable MClassDef */;
1643 val
* var56
/* : MClass */;
1644 static val
* varonce57
;
1645 val
* var58
/* : String */;
1646 char* var59
/* : NativeString */;
1647 long var60
/* : Int */;
1648 val
* var61
/* : String */;
1649 val
* var62
/* : String */;
1650 static val
* varonce63
;
1651 val
* var64
/* : String */;
1652 char* var65
/* : NativeString */;
1653 long var66
/* : Int */;
1654 val
* var67
/* : String */;
1655 val
* var68
/* : Array[Object] */;
1656 long var69
/* : Int */;
1657 val
* var70
/* : NativeArray[Object] */;
1658 val
* var71
/* : String */;
1659 short int var72
/* : Bool */;
1660 short int var73
/* : Bool */;
1661 var_modelbuilder
= p0
;
1664 var_need_redef
= p3
;
1666 var1
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_property__AClassdef__mprop2npropdef
]))(var_nclassdef
) /* mprop2npropdef on <var_nclassdef:AClassdef>*/;
1667 var2
= ((short int (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__MapRead__has_key
]))(var1
, var_mprop
) /* has_key on <var1:Map[MProperty, APropdef]>*/;
1672 var4
= "Error: A property ";
1674 var6
= string__NativeString__to_s_with_length(var4
, var5
);
1681 var9
= " is already defined in class ";
1683 var11
= string__NativeString__to_s_with_length(var9
, var10
);
1687 var12
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef>*/;
1688 if (var12
== NULL
) {
1689 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
1690 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 243);
1693 var13
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_model__MClassDef__mclass
]))(var12
) /* mclass on <var12:nullable MClassDef>*/;
1700 var18
= string__NativeString__to_s_with_length(var16
, var17
);
1704 var19
= NEW_array__Array(&type_array__Arraykernel__Object
);
1705 { /* var19 = array_instance Array[Object] */
1707 var21
= NEW_array__NativeArray(var20
, &type_array__NativeArraykernel__Object
);
1708 ((struct instance_array__NativeArray
*)var21
)->values
[0] = (val
*) var3
;
1709 ((struct instance_array__NativeArray
*)var21
)->values
[1] = (val
*) var_mprop
;
1710 ((struct instance_array__NativeArray
*)var21
)->values
[2] = (val
*) var8
;
1711 ((struct instance_array__NativeArray
*)var21
)->values
[3] = (val
*) var13
;
1712 ((struct instance_array__NativeArray
*)var21
)->values
[4] = (val
*) var15
;
1713 ((void (*)(val
*, val
*, long))(var19
->class->vft
[COLOR_array__Array__with_native
]))(var19
, var21
, var20
) /* with_native on <var19:Array[Object]>*/;
1715 var22
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_string__Object__to_s
]))(var19
) /* to_s on <var19:Array[Object]>*/;
1716 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, self
, var22
) /* error on <var_modelbuilder:ModelBuilder>*/;
1723 if (var_kwredef
== NULL
) {
1724 var25
= 1; /* is null */
1726 var25
= 0; /* arg is null but recv is not */
1729 if (var_need_redef
){
1733 var28
= "Redef error: ";
1735 var30
= string__NativeString__to_s_with_length(var28
, var29
);
1739 var31
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef>*/;
1740 if (var31
== NULL
) {
1741 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
1742 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 248);
1745 var32
= ((val
* (*)(val
*))(var31
->class->vft
[COLOR_model__MClassDef__mclass
]))(var31
) /* mclass on <var31:nullable MClassDef>*/;
1752 var37
= string__NativeString__to_s_with_length(var35
, var36
);
1756 var38
= ((val
* (*)(val
*))(var_mprop
->class->vft
[COLOR_model__MProperty__name
]))(var_mprop
) /* name on <var_mprop:MProperty>*/;
1760 var41
= " is an inherited property. To redefine it, add the redef keyword.";
1762 var43
= string__NativeString__to_s_with_length(var41
, var42
);
1766 var44
= NEW_array__Array(&type_array__Arraykernel__Object
);
1767 { /* var44 = array_instance Array[Object] */
1769 var46
= NEW_array__NativeArray(var45
, &type_array__NativeArraykernel__Object
);
1770 ((struct instance_array__NativeArray
*)var46
)->values
[0] = (val
*) var27
;
1771 ((struct instance_array__NativeArray
*)var46
)->values
[1] = (val
*) var32
;
1772 ((struct instance_array__NativeArray
*)var46
)->values
[2] = (val
*) var34
;
1773 ((struct instance_array__NativeArray
*)var46
)->values
[3] = (val
*) var38
;
1774 ((struct instance_array__NativeArray
*)var46
)->values
[4] = (val
*) var40
;
1775 ((void (*)(val
*, val
*, long))(var44
->class->vft
[COLOR_array__Array__with_native
]))(var44
, var46
, var45
) /* with_native on <var44:Array[Object]>*/;
1777 var47
= ((val
* (*)(val
*))(var44
->class->vft
[COLOR_string__Object__to_s
]))(var44
) /* to_s on <var44:Array[Object]>*/;
1778 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, self
, var47
) /* error on <var_modelbuilder:ModelBuilder>*/;
1785 var49
= !var_need_redef
;
1790 var52
= "Error: No property ";
1792 var54
= string__NativeString__to_s_with_length(var52
, var53
);
1796 var55
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef>*/;
1797 if (var55
== NULL
) {
1798 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
1799 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 253);
1802 var56
= ((val
* (*)(val
*))(var55
->class->vft
[COLOR_model__MClassDef__mclass
]))(var55
) /* mclass on <var55:nullable MClassDef>*/;
1809 var61
= string__NativeString__to_s_with_length(var59
, var60
);
1813 var62
= ((val
* (*)(val
*))(var_mprop
->class->vft
[COLOR_model__MProperty__name
]))(var_mprop
) /* name on <var_mprop:MProperty>*/;
1817 var65
= " is inherited. Remove the redef keyword to define a new property.";
1819 var67
= string__NativeString__to_s_with_length(var65
, var66
);
1823 var68
= NEW_array__Array(&type_array__Arraykernel__Object
);
1824 { /* var68 = array_instance Array[Object] */
1826 var70
= NEW_array__NativeArray(var69
, &type_array__NativeArraykernel__Object
);
1827 ((struct instance_array__NativeArray
*)var70
)->values
[0] = (val
*) var51
;
1828 ((struct instance_array__NativeArray
*)var70
)->values
[1] = (val
*) var56
;
1829 ((struct instance_array__NativeArray
*)var70
)->values
[2] = (val
*) var58
;
1830 ((struct instance_array__NativeArray
*)var70
)->values
[3] = (val
*) var62
;
1831 ((struct instance_array__NativeArray
*)var70
)->values
[4] = (val
*) var64
;
1832 ((void (*)(val
*, val
*, long))(var68
->class->vft
[COLOR_array__Array__with_native
]))(var68
, var70
, var69
) /* with_native on <var68:Array[Object]>*/;
1834 var71
= ((val
* (*)(val
*))(var68
->class->vft
[COLOR_string__Object__to_s
]))(var68
) /* to_s on <var68:Array[Object]>*/;
1835 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, self
, var71
) /* error on <var_modelbuilder:ModelBuilder>*/;
1848 /* method modelize_property#APropdef#check_redef_keyword for (self: Object, ModelBuilder, AClassdef, nullable Token, Bool, MProperty): Bool */
1849 short int VIRTUAL_modelize_property__APropdef__check_redef_keyword(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
, val
* p4
) {
1850 short int var
/* : Bool */;
1851 short int var1
/* : Bool */;
1852 var1
= modelize_property__APropdef__check_redef_keyword(self
, p0
, p1
, p2
, p3
, p4
);
1857 /* method modelize_property#ASignature#is_visited for (self: ASignature): Bool */
1858 short int modelize_property__ASignature__is_visited(val
* self
) {
1859 short int var
/* : Bool */;
1860 short int var1
/* : Bool */;
1861 var1
= self
->attrs
[COLOR_modelize_property__ASignature___64dis_visited
].s
; /* @is_visited on <self:ASignature> */
1866 /* method modelize_property#ASignature#is_visited for (self: Object): Bool */
1867 short int VIRTUAL_modelize_property__ASignature__is_visited(val
* self
) {
1868 short int var
/* : Bool */;
1869 short int var1
/* : Bool */;
1870 var1
= modelize_property__ASignature__is_visited(self
);
1875 /* method modelize_property#ASignature#is_visited= for (self: ASignature, Bool) */
1876 void modelize_property__ASignature__is_visited_61d(val
* self
, short int p0
) {
1877 self
->attrs
[COLOR_modelize_property__ASignature___64dis_visited
].s
= p0
; /* @is_visited on <self:ASignature> */
1880 /* method modelize_property#ASignature#is_visited= for (self: Object, Bool) */
1881 void VIRTUAL_modelize_property__ASignature__is_visited_61d(val
* self
, short int p0
) {
1882 modelize_property__ASignature__is_visited_61d(self
, p0
);
1885 /* method modelize_property#ASignature#param_names for (self: ASignature): Array[String] */
1886 val
* modelize_property__ASignature__param_names(val
* self
) {
1887 val
* var
/* : Array[String] */;
1888 val
* var1
/* : Array[String] */;
1889 var1
= self
->attrs
[COLOR_modelize_property__ASignature___64dparam_names
].val
; /* @param_names on <self:ASignature> */
1891 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @param_names");
1892 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 265);
1899 /* method modelize_property#ASignature#param_names for (self: Object): Array[String] */
1900 val
* VIRTUAL_modelize_property__ASignature__param_names(val
* self
) {
1901 val
* var
/* : Array[String] */;
1902 val
* var1
/* : Array[String] */;
1903 var1
= modelize_property__ASignature__param_names(self
);
1908 /* method modelize_property#ASignature#param_names= for (self: ASignature, Array[String]) */
1909 void modelize_property__ASignature__param_names_61d(val
* self
, val
* p0
) {
1910 self
->attrs
[COLOR_modelize_property__ASignature___64dparam_names
].val
= p0
; /* @param_names on <self:ASignature> */
1913 /* method modelize_property#ASignature#param_names= for (self: Object, Array[String]) */
1914 void VIRTUAL_modelize_property__ASignature__param_names_61d(val
* self
, val
* p0
) {
1915 modelize_property__ASignature__param_names_61d(self
, p0
);
1918 /* method modelize_property#ASignature#param_types for (self: ASignature): Array[MType] */
1919 val
* modelize_property__ASignature__param_types(val
* self
) {
1920 val
* var
/* : Array[MType] */;
1921 val
* var1
/* : Array[MType] */;
1922 var1
= self
->attrs
[COLOR_modelize_property__ASignature___64dparam_types
].val
; /* @param_types on <self:ASignature> */
1924 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @param_types");
1925 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 268);
1932 /* method modelize_property#ASignature#param_types for (self: Object): Array[MType] */
1933 val
* VIRTUAL_modelize_property__ASignature__param_types(val
* self
) {
1934 val
* var
/* : Array[MType] */;
1935 val
* var1
/* : Array[MType] */;
1936 var1
= modelize_property__ASignature__param_types(self
);
1941 /* method modelize_property#ASignature#param_types= for (self: ASignature, Array[MType]) */
1942 void modelize_property__ASignature__param_types_61d(val
* self
, val
* p0
) {
1943 self
->attrs
[COLOR_modelize_property__ASignature___64dparam_types
].val
= p0
; /* @param_types on <self:ASignature> */
1946 /* method modelize_property#ASignature#param_types= for (self: Object, Array[MType]) */
1947 void VIRTUAL_modelize_property__ASignature__param_types_61d(val
* self
, val
* p0
) {
1948 modelize_property__ASignature__param_types_61d(self
, p0
);
1951 /* method modelize_property#ASignature#vararg_rank for (self: ASignature): Int */
1952 long modelize_property__ASignature__vararg_rank(val
* self
) {
1953 long var
/* : Int */;
1954 long var1
/* : Int */;
1955 var1
= self
->attrs
[COLOR_modelize_property__ASignature___64dvararg_rank
].l
; /* @vararg_rank on <self:ASignature> */
1960 /* method modelize_property#ASignature#vararg_rank for (self: Object): Int */
1961 long VIRTUAL_modelize_property__ASignature__vararg_rank(val
* self
) {
1962 long var
/* : Int */;
1963 long var1
/* : Int */;
1964 var1
= modelize_property__ASignature__vararg_rank(self
);
1969 /* method modelize_property#ASignature#vararg_rank= for (self: ASignature, Int) */
1970 void modelize_property__ASignature__vararg_rank_61d(val
* self
, long p0
) {
1971 self
->attrs
[COLOR_modelize_property__ASignature___64dvararg_rank
].l
= p0
; /* @vararg_rank on <self:ASignature> */
1974 /* method modelize_property#ASignature#vararg_rank= for (self: Object, Int) */
1975 void VIRTUAL_modelize_property__ASignature__vararg_rank_61d(val
* self
, long p0
) {
1976 modelize_property__ASignature__vararg_rank_61d(self
, p0
);
1979 /* method modelize_property#ASignature#ret_type for (self: ASignature): nullable MType */
1980 val
* modelize_property__ASignature__ret_type(val
* self
) {
1981 val
* var
/* : nullable MType */;
1982 val
* var1
/* : nullable MType */;
1983 var1
= self
->attrs
[COLOR_modelize_property__ASignature___64dret_type
].val
; /* @ret_type on <self:ASignature> */
1988 /* method modelize_property#ASignature#ret_type for (self: Object): nullable MType */
1989 val
* VIRTUAL_modelize_property__ASignature__ret_type(val
* self
) {
1990 val
* var
/* : nullable MType */;
1991 val
* var1
/* : nullable MType */;
1992 var1
= modelize_property__ASignature__ret_type(self
);
1997 /* method modelize_property#ASignature#ret_type= for (self: ASignature, nullable MType) */
1998 void modelize_property__ASignature__ret_type_61d(val
* self
, val
* p0
) {
1999 self
->attrs
[COLOR_modelize_property__ASignature___64dret_type
].val
= p0
; /* @ret_type on <self:ASignature> */
2002 /* method modelize_property#ASignature#ret_type= for (self: Object, nullable MType) */
2003 void VIRTUAL_modelize_property__ASignature__ret_type_61d(val
* self
, val
* p0
) {
2004 modelize_property__ASignature__ret_type_61d(self
, p0
);
2007 /* method modelize_property#ASignature#visit_signature for (self: ASignature, ModelBuilder, AClassdef): Bool */
2008 short int modelize_property__ASignature__visit_signature(val
* self
, val
* p0
, val
* p1
) {
2009 short int var
/* : Bool */;
2010 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
2011 val
* var_nclassdef
/* var nclassdef: AClassdef */;
2012 val
* var1
/* : Array[String] */;
2013 val
* var_param_names
/* var param_names: Array[String] */;
2014 val
* var2
/* : Array[MType] */;
2015 val
* var_param_types
/* var param_types: Array[MType] */;
2016 val
* var3
/* : ANodes[AParam] */;
2017 val
* var4
/* : Iterator[nullable Object] */;
2018 short int var5
/* : Bool */;
2019 val
* var6
/* : nullable Object */;
2020 val
* var_np
/* var np: AParam */;
2021 val
* var7
/* : TId */;
2022 val
* var8
/* : String */;
2023 val
* var9
/* : nullable AType */;
2024 val
* var_ntype
/* var ntype: nullable AType */;
2025 val
* var10
/* : null */;
2026 short int var11
/* : Bool */;
2027 val
* var12
/* : nullable MType */;
2028 val
* var_mtype
/* var mtype: nullable MType */;
2029 val
* var13
/* : null */;
2030 short int var14
/* : Bool */;
2031 short int var15
/* : Bool */;
2032 val
* var16
/* : Range[Int] */;
2033 long var17
/* : Int */;
2034 long var18
/* : Int */;
2035 long var19
/* : Int */;
2036 long var20
/* : Int */;
2037 long var22
/* : Int */;
2038 val
* var23
/* : Discrete */;
2039 val
* var24
/* : Discrete */;
2040 val
* var25
/* : Iterator[nullable Object] */;
2041 short int var26
/* : Bool */;
2042 val
* var27
/* : nullable Object */;
2043 long var_i
/* var i: Int */;
2044 long var28
/* : Int */;
2045 val
* var29
/* : nullable TDotdotdot */;
2046 val
* var30
/* : null */;
2047 short int var31
/* : Bool */;
2048 long var32
/* : Int */;
2049 long var33
/* : Int */;
2050 long var34
/* : Int */;
2051 long var36
/* : Int */;
2052 short int var37
/* : Bool */;
2053 short int var39
/* : Bool */;
2054 short int var40
/* : Bool */;
2055 static val
* varonce
;
2056 val
* var41
/* : String */;
2057 char* var42
/* : NativeString */;
2058 long var43
/* : Int */;
2059 val
* var44
/* : String */;
2060 long var45
/* : Int */;
2061 val
* var46
/* : nullable Object */;
2062 static val
* varonce47
;
2063 val
* var48
/* : String */;
2064 char* var49
/* : NativeString */;
2065 long var50
/* : Int */;
2066 val
* var51
/* : String */;
2067 val
* var52
/* : Array[Object] */;
2068 long var53
/* : Int */;
2069 val
* var54
/* : NativeArray[Object] */;
2070 val
* var55
/* : String */;
2071 short int var56
/* : Bool */;
2072 long var57
/* : Int */;
2073 long var58
/* : Int */;
2074 long var59
/* : Int */;
2075 long var61
/* : Int */;
2076 val
* var63
/* : nullable AType */;
2077 val
* var_ntype64
/* var ntype: nullable AType */;
2078 val
* var65
/* : null */;
2079 short int var66
/* : Bool */;
2080 val
* var67
/* : nullable MType */;
2081 val
* var68
/* : nullable MType */;
2082 val
* var69
/* : null */;
2083 short int var70
/* : Bool */;
2084 short int var71
/* : Bool */;
2085 short int var72
/* : Bool */;
2086 short int var73
/* : Bool */;
2087 var_modelbuilder
= p0
;
2089 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__ASignature__param_names
]))(self
) /* param_names on <self:ASignature>*/;
2090 var_param_names
= var1
;
2091 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__ASignature__param_types
]))(self
) /* param_types on <self:ASignature>*/;
2092 var_param_types
= var2
;
2093 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ASignature__n_params
]))(self
) /* n_params on <self:ASignature>*/;
2094 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var3
) /* iterator on <var3:ANodes[AParam]>*/;
2096 var5
= ((short int (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var4
) /* is_ok on <var4:Iterator[nullable Object]>*/;
2098 var6
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var4
) /* item on <var4:Iterator[nullable Object]>*/;
2100 var7
= ((val
* (*)(val
*))(var_np
->class->vft
[COLOR_parser_nodes__AParam__n_id
]))(var_np
) /* n_id on <var_np:AParam>*/;
2101 var8
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_parser_nodes__Token__text
]))(var7
) /* text on <var7:TId>*/;
2102 ((void (*)(val
*, val
*))(var_param_names
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_param_names
, var8
) /* add on <var_param_names:Array[String]>*/;
2103 var9
= ((val
* (*)(val
*))(var_np
->class->vft
[COLOR_parser_nodes__AParam__n_type
]))(var_np
) /* n_type on <var_np:AParam>*/;
2106 if (var_ntype
== NULL
) {
2107 var11
= 0; /* is null */
2109 var11
= 1; /* arg is null and recv is not */
2112 var12
= ((val
* (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelize_class__ModelBuilder__resolve_mtype
]))(var_modelbuilder
, var_nclassdef
, var_ntype
) /* resolve_mtype on <var_modelbuilder:ModelBuilder>*/;
2115 if (var_mtype
== NULL
) {
2116 var14
= 1; /* is null */
2118 var14
= 0; /* arg is null but recv is not */
2126 var16
= NEW_range__Range(&type_range__Rangekernel__Int
);
2128 var18
= ((long (*)(val
*))(var_param_names
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_param_names
) /* length on <var_param_names:Array[String]>*/;
2129 var19
= ((long (*)(val
*))(var_param_types
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_param_types
) /* length on <var_param_types:Array[MType]>*/;
2130 { /* Inline kernel#Int#- (var18,var19) */
2131 var22
= var18
- var19
;
2134 RET_LABEL21
:(void)0;
2136 var23
= BOX_kernel__Int(var17
); /* autobox from Int to Discrete */
2137 var24
= BOX_kernel__Int(var20
); /* autobox from Int to Discrete */
2138 ((void (*)(val
*, val
*, val
*))(var16
->class->vft
[COLOR_range__Range__without_last
]))(var16
, var23
, var24
) /* without_last on <var16:Range[Int]>*/;
2139 var25
= ((val
* (*)(val
*))(var16
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var16
) /* iterator on <var16:Range[Int]>*/;
2141 var26
= ((short int (*)(val
*))(var25
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var25
) /* is_ok on <var25:Iterator[nullable Object]>*/;
2143 var27
= ((val
* (*)(val
*))(var25
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var25
) /* item on <var25:Iterator[nullable Object]>*/;
2144 var28
= ((struct instance_kernel__Int
*)var27
)->value
; /* autounbox from nullable Object to Int */;
2146 ((void (*)(val
*, val
*))(var_param_types
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_param_types
, var_mtype
) /* add on <var_param_types:Array[MType]>*/;
2147 CONTINUE_label
: (void)0;
2148 ((void (*)(val
*))(var25
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var25
) /* next on <var25:Iterator[nullable Object]>*/;
2150 BREAK_label
: (void)0;
2151 var29
= ((val
* (*)(val
*))(var_np
->class->vft
[COLOR_parser_nodes__AParam__n_dotdotdot
]))(var_np
) /* n_dotdotdot on <var_np:AParam>*/;
2153 if (var29
== NULL
) {
2154 var31
= 0; /* is null */
2156 var31
= 1; /* arg is null and recv is not */
2159 var32
= ((long (*)(val
*))(self
->class->vft
[COLOR_modelize_property__ASignature__vararg_rank
]))(self
) /* vararg_rank on <self:ASignature>*/;
2161 { /* Inline kernel#Int#unary - (var33) */
2165 RET_LABEL35
:(void)0;
2167 { /* Inline kernel#Int#!= (var32,var34) */
2168 var39
= var32
== var34
;
2172 RET_LABEL38
:(void)0;
2180 var44
= string__NativeString__to_s_with_length(var42
, var43
);
2184 var45
= ((long (*)(val
*))(self
->class->vft
[COLOR_modelize_property__ASignature__vararg_rank
]))(self
) /* vararg_rank on <self:ASignature>*/;
2185 var46
= ((val
* (*)(val
*, long))(var_param_names
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_param_names
, var45
) /* [] on <var_param_names:Array[String]>*/;
2189 var49
= " is already a vararg";
2191 var51
= string__NativeString__to_s_with_length(var49
, var50
);
2195 var52
= NEW_array__Array(&type_array__Arraykernel__Object
);
2196 { /* var52 = array_instance Array[Object] */
2198 var54
= NEW_array__NativeArray(var53
, &type_array__NativeArraykernel__Object
);
2199 ((struct instance_array__NativeArray
*)var54
)->values
[0] = (val
*) var41
;
2200 ((struct instance_array__NativeArray
*)var54
)->values
[1] = (val
*) var46
;
2201 ((struct instance_array__NativeArray
*)var54
)->values
[2] = (val
*) var48
;
2202 ((void (*)(val
*, val
*, long))(var52
->class->vft
[COLOR_array__Array__with_native
]))(var52
, var54
, var53
) /* with_native on <var52:Array[Object]>*/;
2204 var55
= ((val
* (*)(val
*))(var52
->class->vft
[COLOR_string__Object__to_s
]))(var52
) /* to_s on <var52:Array[Object]>*/;
2205 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, var_np
, var55
) /* error on <var_modelbuilder:ModelBuilder>*/;
2210 var57
= ((long (*)(val
*))(var_param_names
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_param_names
) /* length on <var_param_names:Array[String]>*/;
2212 { /* Inline kernel#Int#- (var57,var58) */
2213 var61
= var57
- var58
;
2216 RET_LABEL60
:(void)0;
2218 ((void (*)(val
*, long))(self
->class->vft
[COLOR_modelize_property__ASignature__vararg_rank_61d
]))(self
, var59
) /* vararg_rank= on <self:ASignature>*/;
2224 CONTINUE_label62
: (void)0;
2225 ((void (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var4
) /* next on <var4:Iterator[nullable Object]>*/;
2227 BREAK_label62
: (void)0;
2228 var63
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ASignature__n_type
]))(self
) /* n_type on <self:ASignature>*/;
2229 var_ntype64
= var63
;
2231 if (var_ntype64
== NULL
) {
2232 var66
= 0; /* is null */
2234 var66
= 1; /* arg is null and recv is not */
2237 var67
= ((val
* (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelize_class__ModelBuilder__resolve_mtype
]))(var_modelbuilder
, var_nclassdef
, var_ntype64
) /* resolve_mtype on <var_modelbuilder:ModelBuilder>*/;
2238 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_modelize_property__ASignature__ret_type_61d
]))(self
, var67
) /* ret_type= on <self:ASignature>*/;
2239 var68
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__ASignature__ret_type
]))(self
) /* ret_type on <self:ASignature>*/;
2241 if (var68
== NULL
) {
2242 var70
= 1; /* is null */
2244 var70
= 0; /* arg is null but recv is not */
2255 ((void (*)(val
*, short int))(self
->class->vft
[COLOR_modelize_property__ASignature__is_visited_61d
]))(self
, var72
) /* is_visited= on <self:ASignature>*/;
2262 /* method modelize_property#ASignature#visit_signature for (self: Object, ModelBuilder, AClassdef): Bool */
2263 short int VIRTUAL_modelize_property__ASignature__visit_signature(val
* self
, val
* p0
, val
* p1
) {
2264 short int var
/* : Bool */;
2265 short int var1
/* : Bool */;
2266 var1
= modelize_property__ASignature__visit_signature(self
, p0
, p1
);
2271 /* method modelize_property#ASignature#build_signature for (self: ASignature, ModelBuilder, AClassdef): nullable MSignature */
2272 val
* modelize_property__ASignature__build_signature(val
* self
, val
* p0
, val
* p1
) {
2273 val
* var
/* : nullable MSignature */;
2274 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
2275 val
* var_nclassdef
/* var nclassdef: AClassdef */;
2276 val
* var1
/* : Array[String] */;
2277 long var2
/* : Int */;
2278 val
* var3
/* : Array[MType] */;
2279 long var4
/* : Int */;
2280 short int var5
/* : Bool */;
2281 short int var7
/* : Bool */;
2282 short int var8
/* : Bool */;
2283 val
* var9
/* : ANodes[AParam] */;
2284 val
* var10
/* : Array[MType] */;
2285 long var11
/* : Int */;
2286 val
* var12
/* : nullable Object */;
2287 static val
* varonce
;
2288 val
* var13
/* : String */;
2289 char* var14
/* : NativeString */;
2290 long var15
/* : Int */;
2291 val
* var16
/* : String */;
2292 val
* var17
/* : Array[String] */;
2293 val
* var18
/* : Array[MType] */;
2294 long var19
/* : Int */;
2295 val
* var20
/* : nullable Object */;
2296 static val
* varonce21
;
2297 val
* var22
/* : String */;
2298 char* var23
/* : NativeString */;
2299 long var24
/* : Int */;
2300 val
* var25
/* : String */;
2301 val
* var26
/* : Array[Object] */;
2302 long var27
/* : Int */;
2303 val
* var28
/* : NativeArray[Object] */;
2304 val
* var29
/* : String */;
2305 val
* var30
/* : null */;
2306 val
* var31
/* : Array[MParameter] */;
2307 val
* var_mparameters
/* var mparameters: Array[MParameter] */;
2308 val
* var32
/* : Range[Int] */;
2309 long var33
/* : Int */;
2310 val
* var34
/* : Array[String] */;
2311 long var35
/* : Int */;
2312 val
* var36
/* : Discrete */;
2313 val
* var37
/* : Discrete */;
2314 val
* var38
/* : Iterator[nullable Object] */;
2315 short int var39
/* : Bool */;
2316 val
* var40
/* : nullable Object */;
2317 long var_i
/* var i: Int */;
2318 long var41
/* : Int */;
2319 val
* var42
/* : MParameter */;
2320 val
* var43
/* : Array[String] */;
2321 val
* var44
/* : nullable Object */;
2322 val
* var45
/* : Array[MType] */;
2323 val
* var46
/* : nullable Object */;
2324 long var47
/* : Int */;
2325 short int var48
/* : Bool */;
2326 short int var50
/* : Bool */;
2327 val
* var_mparameter
/* var mparameter: MParameter */;
2328 val
* var51
/* : ANodes[AParam] */;
2329 val
* var52
/* : nullable Object */;
2330 val
* var53
/* : MSignature */;
2331 val
* var54
/* : nullable MType */;
2332 val
* var_msignature
/* var msignature: MSignature */;
2333 var_modelbuilder
= p0
;
2335 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__ASignature__param_names
]))(self
) /* param_names on <self:ASignature>*/;
2336 var2
= ((long (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var1
) /* length on <var1:Array[String]>*/;
2337 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__ASignature__param_types
]))(self
) /* param_types on <self:ASignature>*/;
2338 var4
= ((long (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var3
) /* length on <var3:Array[MType]>*/;
2339 { /* Inline kernel#Int#!= (var2,var4) */
2340 var7
= var2
== var4
;
2347 var9
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ASignature__n_params
]))(self
) /* n_params on <self:ASignature>*/;
2348 var10
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__ASignature__param_types
]))(self
) /* param_types on <self:ASignature>*/;
2349 var11
= ((long (*)(val
*))(var10
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var10
) /* length on <var10:Array[MType]>*/;
2350 var12
= ((val
* (*)(val
*, long))(var9
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var9
, var11
) /* [] on <var9:ANodes[AParam]>*/;
2354 var14
= "Error: Untyped parameter `";
2356 var16
= string__NativeString__to_s_with_length(var14
, var15
);
2360 var17
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__ASignature__param_names
]))(self
) /* param_names on <self:ASignature>*/;
2361 var18
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__ASignature__param_types
]))(self
) /* param_types on <self:ASignature>*/;
2362 var19
= ((long (*)(val
*))(var18
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var18
) /* length on <var18:Array[MType]>*/;
2363 var20
= ((val
* (*)(val
*, long))(var17
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var17
, var19
) /* [] on <var17:Array[String]>*/;
2369 var25
= string__NativeString__to_s_with_length(var23
, var24
);
2373 var26
= NEW_array__Array(&type_array__Arraykernel__Object
);
2374 { /* var26 = array_instance Array[Object] */
2376 var28
= NEW_array__NativeArray(var27
, &type_array__NativeArraykernel__Object
);
2377 ((struct instance_array__NativeArray
*)var28
)->values
[0] = (val
*) var13
;
2378 ((struct instance_array__NativeArray
*)var28
)->values
[1] = (val
*) var20
;
2379 ((struct instance_array__NativeArray
*)var28
)->values
[2] = (val
*) var22
;
2380 ((void (*)(val
*, val
*, long))(var26
->class->vft
[COLOR_array__Array__with_native
]))(var26
, var28
, var27
) /* with_native on <var26:Array[Object]>*/;
2382 var29
= ((val
* (*)(val
*))(var26
->class->vft
[COLOR_string__Object__to_s
]))(var26
) /* to_s on <var26:Array[Object]>*/;
2383 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, var12
, var29
) /* error on <var_modelbuilder:ModelBuilder>*/;
2389 var31
= NEW_array__Array(&type_array__Arraymodel__MParameter
);
2390 ((void (*)(val
*))(var31
->class->vft
[COLOR_array__Array__init
]))(var31
) /* init on <var31:Array[MParameter]>*/;
2391 var_mparameters
= var31
;
2392 var32
= NEW_range__Range(&type_range__Rangekernel__Int
);
2394 var34
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__ASignature__param_names
]))(self
) /* param_names on <self:ASignature>*/;
2395 var35
= ((long (*)(val
*))(var34
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var34
) /* length on <var34:Array[String]>*/;
2396 var36
= BOX_kernel__Int(var33
); /* autobox from Int to Discrete */
2397 var37
= BOX_kernel__Int(var35
); /* autobox from Int to Discrete */
2398 ((void (*)(val
*, val
*, val
*))(var32
->class->vft
[COLOR_range__Range__without_last
]))(var32
, var36
, var37
) /* without_last on <var32:Range[Int]>*/;
2399 var38
= ((val
* (*)(val
*))(var32
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var32
) /* iterator on <var32:Range[Int]>*/;
2401 var39
= ((short int (*)(val
*))(var38
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var38
) /* is_ok on <var38:Iterator[nullable Object]>*/;
2403 var40
= ((val
* (*)(val
*))(var38
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var38
) /* item on <var38:Iterator[nullable Object]>*/;
2404 var41
= ((struct instance_kernel__Int
*)var40
)->value
; /* autounbox from nullable Object to Int */;
2406 var42
= NEW_model__MParameter(&type_model__MParameter
);
2407 var43
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__ASignature__param_names
]))(self
) /* param_names on <self:ASignature>*/;
2408 var44
= ((val
* (*)(val
*, long))(var43
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var43
, var_i
) /* [] on <var43:Array[String]>*/;
2409 var45
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__ASignature__param_types
]))(self
) /* param_types on <self:ASignature>*/;
2410 var46
= ((val
* (*)(val
*, long))(var45
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var45
, var_i
) /* [] on <var45:Array[MType]>*/;
2411 var47
= ((long (*)(val
*))(self
->class->vft
[COLOR_modelize_property__ASignature__vararg_rank
]))(self
) /* vararg_rank on <self:ASignature>*/;
2412 { /* Inline kernel#Int#== (var_i,var47) */
2413 var50
= var_i
== var47
;
2416 RET_LABEL49
:(void)0;
2418 ((void (*)(val
*, val
*, val
*, short int))(var42
->class->vft
[COLOR_model__MParameter__init
]))(var42
, var44
, var46
, var48
) /* init on <var42:MParameter>*/;
2419 var_mparameter
= var42
;
2420 var51
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ASignature__n_params
]))(self
) /* n_params on <self:ASignature>*/;
2421 var52
= ((val
* (*)(val
*, long))(var51
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var51
, var_i
) /* [] on <var51:ANodes[AParam]>*/;
2422 ((void (*)(val
*, val
*))(var52
->class->vft
[COLOR_modelize_property__AParam__mparameter_61d
]))(var52
, var_mparameter
) /* mparameter= on <var52:nullable Object(AParam)>*/;
2423 ((void (*)(val
*, val
*))(var_mparameters
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_mparameters
, var_mparameter
) /* add on <var_mparameters:Array[MParameter]>*/;
2424 CONTINUE_label
: (void)0;
2425 ((void (*)(val
*))(var38
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var38
) /* next on <var38:Iterator[nullable Object]>*/;
2427 BREAK_label
: (void)0;
2428 var53
= NEW_model__MSignature(&type_model__MSignature
);
2429 var54
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__ASignature__ret_type
]))(self
) /* ret_type on <self:ASignature>*/;
2430 ((void (*)(val
*, val
*, val
*))(var53
->class->vft
[COLOR_model__MSignature__init
]))(var53
, var_mparameters
, var54
) /* init on <var53:MSignature>*/;
2431 var_msignature
= var53
;
2432 var
= var_msignature
;
2437 /* method modelize_property#ASignature#build_signature for (self: Object, ModelBuilder, AClassdef): nullable MSignature */
2438 val
* VIRTUAL_modelize_property__ASignature__build_signature(val
* self
, val
* p0
, val
* p1
) {
2439 val
* var
/* : nullable MSignature */;
2440 val
* var1
/* : nullable MSignature */;
2441 var1
= modelize_property__ASignature__build_signature(self
, p0
, p1
);
2446 /* method modelize_property#AParam#mparameter for (self: AParam): nullable MParameter */
2447 val
* modelize_property__AParam__mparameter(val
* self
) {
2448 val
* var
/* : nullable MParameter */;
2449 val
* var1
/* : nullable MParameter */;
2450 var1
= self
->attrs
[COLOR_modelize_property__AParam___64dmparameter
].val
; /* @mparameter on <self:AParam> */
2455 /* method modelize_property#AParam#mparameter for (self: Object): nullable MParameter */
2456 val
* VIRTUAL_modelize_property__AParam__mparameter(val
* self
) {
2457 val
* var
/* : nullable MParameter */;
2458 val
* var1
/* : nullable MParameter */;
2459 var1
= modelize_property__AParam__mparameter(self
);
2464 /* method modelize_property#AParam#mparameter= for (self: AParam, nullable MParameter) */
2465 void modelize_property__AParam__mparameter_61d(val
* self
, val
* p0
) {
2466 self
->attrs
[COLOR_modelize_property__AParam___64dmparameter
].val
= p0
; /* @mparameter on <self:AParam> */
2469 /* method modelize_property#AParam#mparameter= for (self: Object, nullable MParameter) */
2470 void VIRTUAL_modelize_property__AParam__mparameter_61d(val
* self
, val
* p0
) {
2471 modelize_property__AParam__mparameter_61d(self
, p0
);
2474 /* method modelize_property#AMethPropdef#build_property for (self: AMethPropdef, ModelBuilder, AClassdef) */
2475 void modelize_property__AMethPropdef__build_property(val
* self
, val
* p0
, val
* p1
) {
2476 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
2477 val
* var_nclassdef
/* var nclassdef: AClassdef */;
2478 short int var
/* : Bool */;
2481 short int var_is_init
/* var is_init: Bool */;
2482 val
* var1
/* : nullable MClassDef */;
2483 val
* var_mclassdef
/* var mclassdef: MClassDef */;
2484 val
* var2
/* : nullable AMethid */;
2485 val
* var_amethodid
/* var amethodid: nullable AMethid */;
2486 val
* var3
/* : null */;
2487 short int var4
/* : Bool */;
2488 short int var5
/* : Bool */;
2491 static val
* varonce
;
2492 val
* var8
/* : String */;
2493 char* var9
/* : NativeString */;
2494 long var10
/* : Int */;
2495 val
* var11
/* : String */;
2496 val
* var_name
/* var name: String */;
2497 val
* var_name_node
/* var name_node: ANode */;
2498 short int var12
/* : Bool */;
2501 static val
* varonce15
;
2502 val
* var16
/* : String */;
2503 char* var17
/* : NativeString */;
2504 long var18
/* : Int */;
2505 val
* var19
/* : String */;
2506 val
* var20
/* : TKwinit */;
2507 short int var21
/* : Bool */;
2510 static val
* varonce24
;
2511 val
* var25
/* : String */;
2512 char* var26
/* : NativeString */;
2513 long var27
/* : Int */;
2514 val
* var28
/* : String */;
2515 val
* var29
/* : TKwnew */;
2516 short int var30
/* : Bool */;
2519 val
* var33
/* : TId */;
2520 val
* var34
/* : String */;
2521 val
* var35
/* : String */;
2522 short int var36
/* : Bool */;
2523 static val
* varonce37
;
2524 val
* var38
/* : String */;
2525 char* var39
/* : NativeString */;
2526 long var40
/* : Int */;
2527 val
* var41
/* : String */;
2528 short int var42
/* : Bool */;
2529 val
* var43
/* : nullable ASignature */;
2530 val
* var44
/* : ANodes[AParam] */;
2531 long var45
/* : Int */;
2532 long var46
/* : Int */;
2533 short int var47
/* : Bool */;
2534 short int var49
/* : Bool */;
2535 static val
* varonce50
;
2536 val
* var51
/* : String */;
2537 char* var52
/* : NativeString */;
2538 long var53
/* : Int */;
2539 val
* var54
/* : String */;
2540 val
* var55
/* : null */;
2541 val
* var_mprop
/* var mprop: nullable MMethod */;
2542 short int var56
/* : Bool */;
2543 short int var57
/* : Bool */;
2544 short int var_
/* var : Bool */;
2545 val
* var58
/* : nullable TKwredef */;
2546 val
* var59
/* : null */;
2547 short int var60
/* : Bool */;
2548 val
* var61
/* : nullable MProperty */;
2549 short int var62
/* : Bool */;
2552 const char* var_class_name
;
2553 val
* var65
/* : null */;
2554 short int var66
/* : Bool */;
2555 val
* var67
/* : nullable AVisibility */;
2556 val
* var68
/* : MVisibility */;
2557 val
* var_mvisibility
/* var mvisibility: MVisibility */;
2558 val
* var69
/* : MMethod */;
2559 short int var70
/* : Bool */;
2562 val
* var73
/* : nullable TKwredef */;
2563 short int var74
/* : Bool */;
2564 short int var75
/* : Bool */;
2565 short int var76
/* : Bool */;
2566 val
* var77
/* : nullable TKwredef */;
2567 val
* var78
/* : null */;
2568 short int var79
/* : Bool */;
2569 short int var80
/* : Bool */;
2572 val
* var83
/* : nullable TKwredef */;
2573 short int var84
/* : Bool */;
2574 short int var85
/* : Bool */;
2575 short int var86
/* : Bool */;
2576 val
* var87
/* : nullable AVisibility */;
2577 val
* var88
/* : Map[MProperty, APropdef] */;
2578 val
* var89
/* : MMethodDef */;
2579 val
* var90
/* : Location */;
2580 val
* var_mpropdef
/* var mpropdef: MMethodDef */;
2581 short int var91
/* : Bool */;
2584 const struct type
* type_struct
;
2585 const char* var_class_name94
;
2586 val
* var95
/* : HashMap[MPropDef, APropdef] */;
2587 short int var96
/* : Bool */;
2588 val
* var97
/* : ToolContext */;
2589 static val
* varonce98
;
2590 val
* var99
/* : String */;
2591 char* var100
/* : NativeString */;
2592 long var101
/* : Int */;
2593 val
* var102
/* : String */;
2594 val
* var103
/* : String */;
2595 val
* var104
/* : Array[Object] */;
2596 long var105
/* : Int */;
2597 val
* var106
/* : NativeArray[Object] */;
2598 val
* var107
/* : String */;
2599 long var108
/* : Int */;
2600 val
* var109
/* : ToolContext */;
2601 static val
* varonce110
;
2602 val
* var111
/* : String */;
2603 char* var112
/* : NativeString */;
2604 long var113
/* : Int */;
2605 val
* var114
/* : String */;
2606 val
* var115
/* : String */;
2607 val
* var116
/* : Array[Object] */;
2608 long var117
/* : Int */;
2609 val
* var118
/* : NativeArray[Object] */;
2610 val
* var119
/* : String */;
2611 long var120
/* : Int */;
2612 var_modelbuilder
= p0
;
2614 /* <self:AMethPropdef> isa AInitPropdef */
2615 cltype
= type_parser_nodes__AInitPropdef
.color
;
2616 idtype
= type_parser_nodes__AInitPropdef
.id
;
2617 if(cltype
>= self
->type
->table_size
) {
2620 var
= self
->type
->type_table
[cltype
] == idtype
;
2623 var1
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef>*/;
2625 fprintf(stderr
, "Runtime error: %s", "Cast failed");
2626 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 343);
2629 var_mclassdef
= var1
;
2630 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AMethPropdef__n_methid
]))(self
) /* n_methid on <self:AMethPropdef>*/;
2631 var_amethodid
= var2
;
2633 if (var_amethodid
== NULL
) {
2634 var4
= 1; /* is null */
2636 var4
= 0; /* arg is null but recv is not */
2639 /* <self:AMethPropdef> isa AMainMethPropdef */
2640 cltype6
= type_parser_nodes__AMainMethPropdef
.color
;
2641 idtype7
= type_parser_nodes__AMainMethPropdef
.id
;
2642 if(cltype6
>= self
->type
->table_size
) {
2645 var5
= self
->type
->type_table
[cltype6
] == idtype7
;
2653 var11
= string__NativeString__to_s_with_length(var9
, var10
);
2658 var_name_node
= self
;
2660 /* <self:AMethPropdef> isa AConcreteInitPropdef */
2661 cltype13
= type_parser_nodes__AConcreteInitPropdef
.color
;
2662 idtype14
= type_parser_nodes__AConcreteInitPropdef
.id
;
2663 if(cltype13
>= self
->type
->table_size
) {
2666 var12
= self
->type
->type_table
[cltype13
] == idtype14
;
2674 var19
= string__NativeString__to_s_with_length(var17
, var18
);
2679 var20
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AConcreteInitPropdef__n_kwinit
]))(self
) /* n_kwinit on <self:AMethPropdef(AConcreteInitPropdef)>*/;
2680 var_name_node
= var20
;
2682 /* <self:AMethPropdef> isa AExternInitPropdef */
2683 cltype22
= type_parser_nodes__AExternInitPropdef
.color
;
2684 idtype23
= type_parser_nodes__AExternInitPropdef
.id
;
2685 if(cltype22
>= self
->type
->table_size
) {
2688 var21
= self
->type
->type_table
[cltype22
] == idtype23
;
2696 var28
= string__NativeString__to_s_with_length(var26
, var27
);
2701 var29
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AExternInitPropdef__n_kwnew
]))(self
) /* n_kwnew on <self:AMethPropdef(AExternInitPropdef)>*/;
2702 var_name_node
= var29
;
2704 fprintf(stderr
, "Runtime error: %s", "Aborted");
2705 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 358);
2711 /* <var_amethodid:nullable AMethid(AMethid)> isa AIdMethid */
2712 cltype31
= type_parser_nodes__AIdMethid
.color
;
2713 idtype32
= type_parser_nodes__AIdMethid
.id
;
2714 if(cltype31
>= var_amethodid
->type
->table_size
) {
2717 var30
= var_amethodid
->type
->type_table
[cltype31
] == idtype32
;
2720 var33
= ((val
* (*)(val
*))(var_amethodid
->class->vft
[COLOR_parser_nodes__AIdMethid__n_id
]))(var_amethodid
) /* n_id on <var_amethodid:nullable AMethid(AIdMethid)>*/;
2721 var34
= ((val
* (*)(val
*))(var33
->class->vft
[COLOR_parser_nodes__Token__text
]))(var33
) /* text on <var33:TId>*/;
2723 var_name_node
= var_amethodid
;
2725 var35
= ((val
* (*)(val
*))(var_amethodid
->class->vft
[COLOR_modelize_property__Prod__collect_text
]))(var_amethodid
) /* collect_text on <var_amethodid:nullable AMethid(AMethid)>*/;
2727 var_name_node
= var_amethodid
;
2733 var41
= string__NativeString__to_s_with_length(var39
, var40
);
2737 var42
= ((short int (*)(val
*, val
*))(var_name
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_name
, var38
) /* == on <var_name:String>*/;
2741 var43
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AMethPropdef__n_signature
]))(self
) /* n_signature on <self:AMethPropdef>*/;
2742 if (var43
== NULL
) {
2743 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
2744 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 368);
2747 var44
= ((val
* (*)(val
*))(var43
->class->vft
[COLOR_parser_nodes__ASignature__n_params
]))(var43
) /* n_params on <var43:nullable ASignature>*/;
2749 var45
= ((long (*)(val
*))(var44
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var44
) /* length on <var44:ANodes[AParam]>*/;
2751 { /* Inline kernel#Int#== (var45,var46) */
2752 var49
= var45
== var46
;
2755 RET_LABEL48
:(void)0;
2765 var54
= string__NativeString__to_s_with_length(var52
, var53
);
2776 var57
= !var_is_init
;
2781 var58
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AMethPropdef__n_kwredef
]))(self
) /* n_kwredef on <self:AMethPropdef>*/;
2783 if (var58
== NULL
) {
2784 var60
= 0; /* is null */
2786 var60
= 1; /* arg is null and recv is not */
2791 var61
= ((val
* (*)(val
*, val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__try_get_mproperty_by_name
]))(var_modelbuilder
, var_name_node
, var_mclassdef
, var_name
) /* try_get_mproperty_by_name on <var_modelbuilder:ModelBuilder>*/;
2792 /* <var61:nullable MProperty> isa nullable MMethod */
2793 cltype63
= type_nullable_model__MMethod
.color
;
2794 idtype64
= type_nullable_model__MMethod
.id
;
2798 if(cltype63
>= var61
->type
->table_size
) {
2801 var62
= var61
->type
->type_table
[cltype63
] == idtype64
;
2805 var_class_name
= var61
== NULL ?
"null" : var61
->type
->name
;
2806 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MMethod", var_class_name
);
2807 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 374);
2814 if (var_mprop
== NULL
) {
2815 var66
= 1; /* is null */
2817 var66
= 0; /* arg is null but recv is not */
2820 var67
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AMethPropdef__n_visibility
]))(self
) /* n_visibility on <self:AMethPropdef>*/;
2821 var68
= ((val
* (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__new_property_visibility
]))(self
, var_modelbuilder
, var_nclassdef
, var67
) /* new_property_visibility on <self:AMethPropdef>*/;
2822 var_mvisibility
= var68
;
2823 var69
= NEW_model__MMethod(&type_model__MMethod
);
2824 ((void (*)(val
*, val
*, val
*, val
*))(var69
->class->vft
[COLOR_model__MMethod__init
]))(var69
, var_mclassdef
, var_name
, var_mvisibility
) /* init on <var69:MMethod>*/;
2826 ((void (*)(val
*, short int))(var_mprop
->class->vft
[COLOR_model__MMethod__is_init_61d
]))(var_mprop
, var_is_init
) /* is_init= on <var_mprop:nullable MMethod(MMethod)>*/;
2827 /* <self:AMethPropdef> isa AExternInitPropdef */
2828 cltype71
= type_parser_nodes__AExternInitPropdef
.color
;
2829 idtype72
= type_parser_nodes__AExternInitPropdef
.id
;
2830 if(cltype71
>= self
->type
->table_size
) {
2833 var70
= self
->type
->type_table
[cltype71
] == idtype72
;
2835 ((void (*)(val
*, short int))(var_mprop
->class->vft
[COLOR_model__MMethod__is_new_61d
]))(var_mprop
, var70
) /* is_new= on <var_mprop:nullable MMethod(MMethod)>*/;
2836 var73
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AMethPropdef__n_kwredef
]))(self
) /* n_kwredef on <self:AMethPropdef>*/;
2838 var75
= ((short int (*)(val
*, val
*, val
*, val
*, short int, val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__check_redef_keyword
]))(self
, var_modelbuilder
, var_nclassdef
, var73
, var74
, var_mprop
) /* check_redef_keyword on <self:AMethPropdef>*/;
2845 var77
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AMethPropdef__n_kwredef
]))(self
) /* n_kwredef on <self:AMethPropdef>*/;
2847 if (var77
== NULL
) {
2848 var79
= 1; /* is null */
2850 var79
= 0; /* arg is null but recv is not */
2853 /* <self:AMethPropdef> isa AMainMethPropdef */
2854 cltype81
= type_parser_nodes__AMainMethPropdef
.color
;
2855 idtype82
= type_parser_nodes__AMainMethPropdef
.id
;
2856 if(cltype81
>= self
->type
->table_size
) {
2859 var80
= self
->type
->type_table
[cltype81
] == idtype82
;
2863 var83
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AMethPropdef__n_kwredef
]))(self
) /* n_kwredef on <self:AMethPropdef>*/;
2865 var85
= ((short int (*)(val
*, val
*, val
*, val
*, short int, val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__check_redef_keyword
]))(self
, var_modelbuilder
, var_nclassdef
, var83
, var84
, var_mprop
) /* check_redef_keyword on <self:AMethPropdef>*/;
2874 var87
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AMethPropdef__n_visibility
]))(self
) /* n_visibility on <self:AMethPropdef>*/;
2875 ((void (*)(val
*, val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__check_redef_property_visibility
]))(self
, var_modelbuilder
, var_nclassdef
, var87
, var_mprop
) /* check_redef_property_visibility on <self:AMethPropdef>*/;
2877 var88
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_property__AClassdef__mprop2npropdef
]))(var_nclassdef
) /* mprop2npropdef on <var_nclassdef:AClassdef>*/;
2878 ((void (*)(val
*, val
*, val
*))(var88
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var88
, var_mprop
, self
) /* []= on <var88:Map[MProperty, APropdef]>*/;
2879 var89
= NEW_model__MMethodDef(&type_model__MMethodDef
);
2880 var90
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__location
]))(self
) /* location on <self:AMethPropdef>*/;
2881 ((void (*)(val
*, val
*, val
*, val
*))(var89
->class->vft
[COLOR_model__MMethodDef__init
]))(var89
, var_mclassdef
, var_mprop
, var90
) /* init on <var89:MMethodDef>*/;
2882 var_mpropdef
= var89
;
2883 /* <var_mpropdef:MMethodDef> isa nullable MPROPDEF */
2884 type_struct
= self
->type
->resolution_table
->types
[COLOR_parser_nodes__APropdef_VTMPROPDEF
];
2885 cltype92
= type_struct
->color
;
2886 idtype93
= type_struct
->id
;
2887 if(cltype92
>= var_mpropdef
->type
->table_size
) {
2890 var91
= var_mpropdef
->type
->type_table
[cltype92
] == idtype93
;
2893 var_class_name94
= var_mpropdef
== NULL ?
"null" : var_mpropdef
->type
->name
;
2894 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name94
);
2895 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 395);
2898 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__mpropdef_61d
]))(self
, var_mpropdef
) /* mpropdef= on <self:AMethPropdef>*/;
2899 var95
= ((val
* (*)(val
*))(var_modelbuilder
->class->vft
[COLOR_modelize_property__ModelBuilder__mpropdef2npropdef
]))(var_modelbuilder
) /* mpropdef2npropdef on <var_modelbuilder:ModelBuilder>*/;
2900 ((void (*)(val
*, val
*, val
*))(var95
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var95
, var_mpropdef
, self
) /* []= on <var95:HashMap[MPropDef, APropdef]>*/;
2901 var96
= ((short int (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__is_intro
]))(var_mpropdef
) /* is_intro on <var_mpropdef:MMethodDef>*/;
2903 var97
= ((val
* (*)(val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var_modelbuilder
) /* toolcontext on <var_modelbuilder:ModelBuilder>*/;
2907 var100
= " introduces new method ";
2909 var102
= string__NativeString__to_s_with_length(var100
, var101
);
2913 var103
= ((val
* (*)(val
*))(var_mprop
->class->vft
[COLOR_model__MProperty__full_name
]))(var_mprop
) /* full_name on <var_mprop:nullable MMethod(MMethod)>*/;
2914 var104
= NEW_array__Array(&type_array__Arraykernel__Object
);
2915 { /* var104 = array_instance Array[Object] */
2917 var106
= NEW_array__NativeArray(var105
, &type_array__NativeArraykernel__Object
);
2918 ((struct instance_array__NativeArray
*)var106
)->values
[0] = (val
*) var_mpropdef
;
2919 ((struct instance_array__NativeArray
*)var106
)->values
[1] = (val
*) var99
;
2920 ((struct instance_array__NativeArray
*)var106
)->values
[2] = (val
*) var103
;
2921 ((void (*)(val
*, val
*, long))(var104
->class->vft
[COLOR_array__Array__with_native
]))(var104
, var106
, var105
) /* with_native on <var104:Array[Object]>*/;
2923 var107
= ((val
* (*)(val
*))(var104
->class->vft
[COLOR_string__Object__to_s
]))(var104
) /* to_s on <var104:Array[Object]>*/;
2925 ((void (*)(val
*, val
*, long))(var97
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var97
, var107
, var108
) /* info on <var97:ToolContext>*/;
2927 var109
= ((val
* (*)(val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var_modelbuilder
) /* toolcontext on <var_modelbuilder:ModelBuilder>*/;
2929 var111
= varonce110
;
2931 var112
= " redefines method ";
2933 var114
= string__NativeString__to_s_with_length(var112
, var113
);
2935 varonce110
= var111
;
2937 var115
= ((val
* (*)(val
*))(var_mprop
->class->vft
[COLOR_model__MProperty__full_name
]))(var_mprop
) /* full_name on <var_mprop:nullable MMethod(MMethod)>*/;
2938 var116
= NEW_array__Array(&type_array__Arraykernel__Object
);
2939 { /* var116 = array_instance Array[Object] */
2941 var118
= NEW_array__NativeArray(var117
, &type_array__NativeArraykernel__Object
);
2942 ((struct instance_array__NativeArray
*)var118
)->values
[0] = (val
*) var_mpropdef
;
2943 ((struct instance_array__NativeArray
*)var118
)->values
[1] = (val
*) var111
;
2944 ((struct instance_array__NativeArray
*)var118
)->values
[2] = (val
*) var115
;
2945 ((void (*)(val
*, val
*, long))(var116
->class->vft
[COLOR_array__Array__with_native
]))(var116
, var118
, var117
) /* with_native on <var116:Array[Object]>*/;
2947 var119
= ((val
* (*)(val
*))(var116
->class->vft
[COLOR_string__Object__to_s
]))(var116
) /* to_s on <var116:Array[Object]>*/;
2949 ((void (*)(val
*, val
*, long))(var109
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var109
, var119
, var120
) /* info on <var109:ToolContext>*/;
2953 /* method modelize_property#AMethPropdef#build_property for (self: Object, ModelBuilder, AClassdef) */
2954 void VIRTUAL_modelize_property__AMethPropdef__build_property(val
* self
, val
* p0
, val
* p1
) {
2955 modelize_property__AMethPropdef__build_property(self
, p0
, p1
);
2958 /* method modelize_property#AMethPropdef#build_signature for (self: AMethPropdef, ModelBuilder, AClassdef) */
2959 void modelize_property__AMethPropdef__build_signature(val
* self
, val
* p0
, val
* p1
) {
2960 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
2961 val
* var_nclassdef
/* var nclassdef: AClassdef */;
2962 val
* var
/* : nullable MPropDef */;
2963 val
* var_mpropdef
/* var mpropdef: nullable MMethodDef */;
2964 val
* var1
/* : null */;
2965 short int var2
/* : Bool */;
2966 val
* var3
/* : MClassDef */;
2967 val
* var4
/* : MModule */;
2968 val
* var_mmodule
/* var mmodule: MModule */;
2969 val
* var5
/* : nullable ASignature */;
2970 val
* var_nsig
/* var nsig: nullable ASignature */;
2971 val
* var6
/* : Array[String] */;
2972 val
* var_param_names
/* var param_names: Array[String] */;
2973 val
* var7
/* : Array[MType] */;
2974 val
* var_param_types
/* var param_types: Array[MType] */;
2975 long var8
/* : Int */;
2976 long var9
/* : Int */;
2977 long var11
/* : Int */;
2978 long var_vararg_rank
/* var vararg_rank: Int */;
2979 val
* var12
/* : null */;
2980 val
* var_ret_type
/* var ret_type: nullable MType */;
2981 val
* var13
/* : null */;
2982 short int var14
/* : Bool */;
2983 short int var15
/* : Bool */;
2984 short int var16
/* : Bool */;
2985 val
* var17
/* : Array[String] */;
2986 val
* var18
/* : Array[MType] */;
2987 long var19
/* : Int */;
2988 val
* var20
/* : nullable MType */;
2989 val
* var21
/* : null */;
2990 val
* var_msignature
/* var msignature: nullable MSignature */;
2991 short int var22
/* : Bool */;
2992 short int var23
/* : Bool */;
2993 val
* var24
/* : MProperty */;
2994 val
* var25
/* : MPropDef */;
2995 val
* var26
/* : nullable MSignature */;
2996 val
* var27
/* : null */;
2997 short int var28
/* : Bool */;
2998 long var29
/* : Int */;
2999 long var30
/* : Int */;
3000 short int var31
/* : Bool */;
3001 short int var33
/* : Bool */;
3002 short int var34
/* : Bool */;
3003 val
* var35
/* : null */;
3004 short int var36
/* : Bool */;
3005 val
* var_node
/* var node: ANode */;
3006 static val
* varonce
;
3007 val
* var37
/* : String */;
3008 char* var38
/* : NativeString */;
3009 long var39
/* : Int */;
3010 val
* var40
/* : String */;
3011 static val
* varonce41
;
3012 val
* var42
/* : String */;
3013 char* var43
/* : NativeString */;
3014 long var44
/* : Int */;
3015 val
* var45
/* : String */;
3016 val
* var46
/* : MProperty */;
3017 val
* var47
/* : MPropDef */;
3018 static val
* varonce48
;
3019 val
* var49
/* : String */;
3020 char* var50
/* : NativeString */;
3021 long var51
/* : Int */;
3022 val
* var52
/* : String */;
3023 long var53
/* : Int */;
3024 static val
* varonce54
;
3025 val
* var55
/* : String */;
3026 char* var56
/* : NativeString */;
3027 long var57
/* : Int */;
3028 val
* var58
/* : String */;
3029 long var59
/* : Int */;
3030 static val
* varonce60
;
3031 val
* var61
/* : String */;
3032 char* var62
/* : NativeString */;
3033 long var63
/* : Int */;
3034 val
* var64
/* : String */;
3035 val
* var65
/* : Array[Object] */;
3036 long var66
/* : Int */;
3037 val
* var67
/* : NativeArray[Object] */;
3038 val
* var68
/* : Object */;
3039 val
* var69
/* : Object */;
3040 val
* var70
/* : String */;
3041 val
* var71
/* : MProperty */;
3042 short int var72
/* : Bool */;
3043 val
* var73
/* : nullable MClassDef */;
3044 val
* var74
/* : Array[MClassType] */;
3045 val
* var75
/* : Iterator[nullable Object] */;
3046 short int var76
/* : Bool */;
3047 val
* var77
/* : nullable Object */;
3048 val
* var_msupertype
/* var msupertype: MClassType */;
3049 val
* var78
/* : nullable MClassDef */;
3050 val
* var79
/* : MClassType */;
3051 val
* var80
/* : MType */;
3052 val
* var81
/* : MProperty */;
3053 val
* var82
/* : String */;
3054 val
* var83
/* : nullable MProperty */;
3055 val
* var_candidate
/* var candidate: nullable MProperty */;
3056 val
* var84
/* : null */;
3057 short int var85
/* : Bool */;
3058 val
* var86
/* : null */;
3059 short int var87
/* : Bool */;
3060 val
* var88
/* : MPropDef */;
3061 short int var89
/* : Bool */;
3064 const char* var_class_name
;
3065 val
* var90
/* : nullable MSignature */;
3066 short int var91
/* : Bool */;
3067 short int var92
/* : Bool */;
3068 short int var93
/* : Bool */;
3069 val
* var94
/* : null */;
3070 short int var95
/* : Bool */;
3071 short int var_
/* var : Bool */;
3072 long var96
/* : Int */;
3073 long var97
/* : Int */;
3074 short int var98
/* : Bool */;
3075 short int var100
/* : Bool */;
3076 short int var101
/* : Bool */;
3077 short int var_102
/* var : Bool */;
3078 long var103
/* : Int */;
3079 long var104
/* : Int */;
3080 short int var105
/* : Bool */;
3081 short int var107
/* : Bool */;
3082 short int var_108
/* var : Bool */;
3083 long var109
/* : Int */;
3084 long var110
/* : Int */;
3085 short int var111
/* : Bool */;
3086 short int var113
/* : Bool */;
3087 val
* var114
/* : Array[MType] */;
3088 val
* var115
/* : Array[MParameter] */;
3089 val
* var116
/* : Iterator[nullable Object] */;
3090 short int var117
/* : Bool */;
3091 val
* var118
/* : nullable Object */;
3092 val
* var_mparameter
/* var mparameter: MParameter */;
3093 val
* var119
/* : MType */;
3094 long var121
/* : Int */;
3095 short int var122
/* : Bool */;
3096 val
* var123
/* : null */;
3097 short int var124
/* : Bool */;
3098 short int var_125
/* var : Bool */;
3099 val
* var126
/* : null */;
3100 short int var127
/* : Bool */;
3101 val
* var128
/* : nullable MType */;
3102 long var129
/* : Int */;
3103 long var130
/* : Int */;
3104 short int var131
/* : Bool */;
3105 short int var133
/* : Bool */;
3106 short int var134
/* : Bool */;
3107 val
* var135
/* : ANodes[AParam] */;
3108 long var136
/* : Int */;
3109 val
* var137
/* : nullable Object */;
3110 static val
* varonce138
;
3111 val
* var139
/* : String */;
3112 char* var140
/* : NativeString */;
3113 long var141
/* : Int */;
3114 val
* var142
/* : String */;
3115 long var143
/* : Int */;
3116 val
* var144
/* : nullable Object */;
3117 static val
* varonce145
;
3118 val
* var146
/* : String */;
3119 char* var147
/* : NativeString */;
3120 long var148
/* : Int */;
3121 val
* var149
/* : String */;
3122 val
* var150
/* : Array[Object] */;
3123 long var151
/* : Int */;
3124 val
* var152
/* : NativeArray[Object] */;
3125 val
* var153
/* : String */;
3126 val
* var154
/* : Array[MParameter] */;
3127 val
* var_mparameters
/* var mparameters: Array[MParameter] */;
3128 val
* var155
/* : Range[Int] */;
3129 long var156
/* : Int */;
3130 long var157
/* : Int */;
3131 val
* var158
/* : Discrete */;
3132 val
* var159
/* : Discrete */;
3133 val
* var160
/* : Iterator[nullable Object] */;
3134 short int var161
/* : Bool */;
3135 val
* var162
/* : nullable Object */;
3136 long var_i
/* var i: Int */;
3137 long var163
/* : Int */;
3138 val
* var164
/* : MParameter */;
3139 val
* var165
/* : nullable Object */;
3140 val
* var166
/* : nullable Object */;
3141 short int var167
/* : Bool */;
3142 short int var169
/* : Bool */;
3143 val
* var_mparameter170
/* var mparameter: MParameter */;
3144 val
* var171
/* : null */;
3145 short int var172
/* : Bool */;
3146 val
* var173
/* : ANodes[AParam] */;
3147 val
* var174
/* : nullable Object */;
3148 val
* var176
/* : MSignature */;
3149 short int var177
/* : Bool */;
3152 var_modelbuilder
= p0
;
3154 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__mpropdef
]))(self
) /* mpropdef on <self:AMethPropdef>*/;
3157 if (var_mpropdef
== NULL
) {
3158 var2
= 1; /* is null */
3160 var2
= 0; /* arg is null but recv is not */
3166 var3
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var_mpropdef
) /* mclassdef on <var_mpropdef:nullable MMethodDef(MMethodDef)>*/;
3167 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_model__MClassDef__mmodule
]))(var3
) /* mmodule on <var3:MClassDef>*/;
3169 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AMethPropdef__n_signature
]))(self
) /* n_signature on <self:AMethPropdef>*/;
3171 var6
= NEW_array__Array(&type_array__Arraystring__String
);
3172 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[String]>*/;
3173 var_param_names
= var6
;
3174 var7
= NEW_array__Array(&type_array__Arraymodel__MType
);
3175 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[MType]>*/;
3176 var_param_types
= var7
;
3178 { /* Inline kernel#Int#unary - (var8) */
3182 RET_LABEL10
:(void)0;
3184 var_vararg_rank
= var9
;
3186 var_ret_type
= var12
;
3188 if (var_nsig
== NULL
) {
3189 var14
= 0; /* is null */
3191 var14
= 1; /* arg is null and recv is not */
3194 var15
= ((short int (*)(val
*, val
*, val
*))(var_nsig
->class->vft
[COLOR_modelize_property__ASignature__visit_signature
]))(var_nsig
, var_modelbuilder
, var_nclassdef
) /* visit_signature on <var_nsig:nullable ASignature(ASignature)>*/;
3200 var17
= ((val
* (*)(val
*))(var_nsig
->class->vft
[COLOR_modelize_property__ASignature__param_names
]))(var_nsig
) /* param_names on <var_nsig:nullable ASignature(ASignature)>*/;
3201 var_param_names
= var17
;
3202 var18
= ((val
* (*)(val
*))(var_nsig
->class->vft
[COLOR_modelize_property__ASignature__param_types
]))(var_nsig
) /* param_types on <var_nsig:nullable ASignature(ASignature)>*/;
3203 var_param_types
= var18
;
3204 var19
= ((long (*)(val
*))(var_nsig
->class->vft
[COLOR_modelize_property__ASignature__vararg_rank
]))(var_nsig
) /* vararg_rank on <var_nsig:nullable ASignature(ASignature)>*/;
3205 var_vararg_rank
= var19
;
3206 var20
= ((val
* (*)(val
*))(var_nsig
->class->vft
[COLOR_modelize_property__ASignature__ret_type
]))(var_nsig
) /* ret_type on <var_nsig:nullable ASignature(ASignature)>*/;
3207 var_ret_type
= var20
;
3211 var_msignature
= var21
;
3212 var22
= ((short int (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__is_intro
]))(var_mpropdef
) /* is_intro on <var_mpropdef:nullable MMethodDef(MMethodDef)>*/;
3215 var24
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var_mpropdef
) /* mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)>*/;
3216 var25
= ((val
* (*)(val
*))(var24
->class->vft
[COLOR_model__MProperty__intro
]))(var24
) /* intro on <var24:MProperty(MMethod)>*/;
3217 var26
= ((val
* (*)(val
*))(var25
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var25
) /* msignature on <var25:MPropDef(MMethodDef)>*/;
3218 var_msignature
= var26
;
3220 if (var_msignature
== NULL
) {
3221 var28
= 1; /* is null */
3223 var28
= 0; /* arg is null but recv is not */
3229 var29
= ((long (*)(val
*))(var_param_names
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_param_names
) /* length on <var_param_names:Array[String]>*/;
3230 var30
= ((long (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__arity
]))(var_msignature
) /* arity on <var_msignature:nullable MSignature(MSignature)>*/;
3231 { /* Inline kernel#Int#!= (var29,var30) */
3232 var33
= var29
== var30
;
3236 RET_LABEL32
:(void)0;
3240 if (var_nsig
== NULL
) {
3241 var36
= 0; /* is null */
3243 var36
= 1; /* arg is null and recv is not */
3246 var_node
= var_nsig
;
3253 var38
= "Redef error: ";
3255 var40
= string__NativeString__to_s_with_length(var38
, var39
);
3262 var43
= " redefines ";
3264 var45
= string__NativeString__to_s_with_length(var43
, var44
);
3268 var46
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var_mpropdef
) /* mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)>*/;
3269 var47
= ((val
* (*)(val
*))(var46
->class->vft
[COLOR_model__MProperty__intro
]))(var46
) /* intro on <var46:MProperty(MMethod)>*/;
3275 var52
= string__NativeString__to_s_with_length(var50
, var51
);
3279 var53
= ((long (*)(val
*))(var_param_names
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_param_names
) /* length on <var_param_names:Array[String]>*/;
3283 var56
= " parameter(s), ";
3285 var58
= string__NativeString__to_s_with_length(var56
, var57
);
3289 var59
= ((long (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__arity
]))(var_msignature
) /* arity on <var_msignature:nullable MSignature(MSignature)>*/;
3293 var62
= " expected. Signature is ";
3295 var64
= string__NativeString__to_s_with_length(var62
, var63
);
3299 var65
= NEW_array__Array(&type_array__Arraykernel__Object
);
3300 { /* var65 = array_instance Array[Object] */
3302 var67
= NEW_array__NativeArray(var66
, &type_array__NativeArraykernel__Object
);
3303 ((struct instance_array__NativeArray
*)var67
)->values
[0] = (val
*) var37
;
3304 ((struct instance_array__NativeArray
*)var67
)->values
[1] = (val
*) var_mpropdef
;
3305 ((struct instance_array__NativeArray
*)var67
)->values
[2] = (val
*) var42
;
3306 ((struct instance_array__NativeArray
*)var67
)->values
[3] = (val
*) var47
;
3307 ((struct instance_array__NativeArray
*)var67
)->values
[4] = (val
*) var49
;
3308 var68
= BOX_kernel__Int(var53
); /* autobox from Int to Object */
3309 ((struct instance_array__NativeArray
*)var67
)->values
[5] = (val
*) var68
;
3310 ((struct instance_array__NativeArray
*)var67
)->values
[6] = (val
*) var55
;
3311 var69
= BOX_kernel__Int(var59
); /* autobox from Int to Object */
3312 ((struct instance_array__NativeArray
*)var67
)->values
[7] = (val
*) var69
;
3313 ((struct instance_array__NativeArray
*)var67
)->values
[8] = (val
*) var61
;
3314 ((struct instance_array__NativeArray
*)var67
)->values
[9] = (val
*) var_mpropdef
;
3315 ((struct instance_array__NativeArray
*)var67
)->values
[10] = (val
*) var_msignature
;
3316 ((void (*)(val
*, val
*, long))(var65
->class->vft
[COLOR_array__Array__with_native
]))(var65
, var67
, var66
) /* with_native on <var65:Array[Object]>*/;
3318 var70
= ((val
* (*)(val
*))(var65
->class->vft
[COLOR_string__Object__to_s
]))(var65
) /* to_s on <var65:Array[Object]>*/;
3319 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, var_node
, var70
) /* error on <var_modelbuilder:ModelBuilder>*/;
3324 var71
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var_mpropdef
) /* mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)>*/;
3325 var72
= ((short int (*)(val
*))(var71
->class->vft
[COLOR_model__MMethod__is_init
]))(var71
) /* is_init on <var71:MProperty(MMethod)>*/;
3327 var73
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef>*/;
3328 if (var73
== NULL
) {
3329 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
3330 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 440);
3333 var74
= ((val
* (*)(val
*))(var73
->class->vft
[COLOR_model__MClassDef__supertypes
]))(var73
) /* supertypes on <var73:nullable MClassDef>*/;
3335 var75
= ((val
* (*)(val
*))(var74
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var74
) /* iterator on <var74:Array[MClassType]>*/;
3337 var76
= ((short int (*)(val
*))(var75
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var75
) /* is_ok on <var75:Iterator[nullable Object]>*/;
3339 var77
= ((val
* (*)(val
*))(var75
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var75
) /* item on <var75:Iterator[nullable Object]>*/;
3340 var_msupertype
= var77
;
3341 var78
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef>*/;
3342 if (var78
== NULL
) {
3343 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
3344 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 441);
3347 var79
= ((val
* (*)(val
*))(var78
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var78
) /* bound_mtype on <var78:nullable MClassDef>*/;
3349 var80
= ((val
* (*)(val
*, val
*, val
*))(var_msupertype
->class->vft
[COLOR_model__MType__anchor_to
]))(var_msupertype
, var_mmodule
, var79
) /* anchor_to on <var_msupertype:MClassType>*/;
3350 var_msupertype
= var80
;
3351 var81
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var_mpropdef
) /* mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)>*/;
3352 var82
= ((val
* (*)(val
*))(var81
->class->vft
[COLOR_model__MProperty__name
]))(var81
) /* name on <var81:MProperty(MMethod)>*/;
3353 var83
= ((val
* (*)(val
*, val
*, val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__try_get_mproperty_by_name2
]))(var_modelbuilder
, self
, var_mmodule
, var_msupertype
, var82
) /* try_get_mproperty_by_name2 on <var_modelbuilder:ModelBuilder>*/;
3354 var_candidate
= var83
;
3356 if (var_candidate
== NULL
) {
3357 var85
= 0; /* is null */
3359 var85
= 1; /* arg is null and recv is not */
3363 if (var_msignature
== NULL
) {
3364 var87
= 1; /* is null */
3366 var87
= 0; /* arg is null but recv is not */
3369 var88
= ((val
* (*)(val
*))(var_candidate
->class->vft
[COLOR_model__MProperty__intro
]))(var_candidate
) /* intro on <var_candidate:nullable MProperty(MProperty)>*/;
3370 /* <var88:MPropDef> isa MMethodDef */
3371 cltype
= type_model__MMethodDef
.color
;
3372 idtype
= type_model__MMethodDef
.id
;
3373 if(cltype
>= var88
->type
->table_size
) {
3376 var89
= var88
->type
->type_table
[cltype
] == idtype
;
3379 var_class_name
= var88
== NULL ?
"null" : var88
->type
->name
;
3380 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MMethodDef", var_class_name
);
3381 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 445);
3384 var90
= ((val
* (*)(val
*))(var88
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var88
) /* msignature on <var88:MPropDef(MMethodDef)>*/;
3385 var_msignature
= var90
;
3390 CONTINUE_label
: (void)0;
3391 ((void (*)(val
*))(var75
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var75
) /* next on <var75:Iterator[nullable Object]>*/;
3393 BREAK_label
: (void)0;
3398 if (var_msignature
== NULL
) {
3399 var95
= 0; /* is null */
3401 var95
= 1; /* arg is null and recv is not */
3405 var96
= ((long (*)(val
*))(var_param_names
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_param_names
) /* length on <var_param_names:Array[String]>*/;
3406 var97
= ((long (*)(val
*))(var_param_types
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_param_types
) /* length on <var_param_types:Array[MType]>*/;
3407 { /* Inline kernel#Int#!= (var96,var97) */
3408 var100
= var96
== var97
;
3412 RET_LABEL99
:(void)0;
3420 var103
= ((long (*)(val
*))(var_param_names
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_param_names
) /* length on <var_param_names:Array[String]>*/;
3421 var104
= ((long (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__arity
]))(var_msignature
) /* arity on <var_msignature:nullable MSignature(MSignature)>*/;
3422 { /* Inline kernel#Int#== (var103,var104) */
3423 var107
= var103
== var104
;
3426 RET_LABEL106
:(void)0;
3434 var109
= ((long (*)(val
*))(var_param_types
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_param_types
) /* length on <var_param_types:Array[MType]>*/;
3436 { /* Inline kernel#Int#== (var109,var110) */
3437 var113
= var109
== var110
;
3440 RET_LABEL112
:(void)0;
3447 var114
= NEW_array__Array(&type_array__Arraymodel__MType
);
3448 ((void (*)(val
*))(var114
->class->vft
[COLOR_array__Array__init
]))(var114
) /* init on <var114:Array[MType]>*/;
3449 var_param_types
= var114
;
3450 var115
= ((val
* (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__mparameters
]))(var_msignature
) /* mparameters on <var_msignature:nullable MSignature(MSignature)>*/;
3451 var116
= ((val
* (*)(val
*))(var115
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var115
) /* iterator on <var115:Array[MParameter]>*/;
3453 var117
= ((short int (*)(val
*))(var116
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var116
) /* is_ok on <var116:Iterator[nullable Object]>*/;
3455 var118
= ((val
* (*)(val
*))(var116
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var116
) /* item on <var116:Iterator[nullable Object]>*/;
3456 var_mparameter
= var118
;
3457 var119
= ((val
* (*)(val
*))(var_mparameter
->class->vft
[COLOR_model__MParameter__mtype
]))(var_mparameter
) /* mtype on <var_mparameter:MParameter>*/;
3458 ((void (*)(val
*, val
*))(var_param_types
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_param_types
, var119
) /* add on <var_param_types:Array[MType]>*/;
3459 CONTINUE_label120
: (void)0;
3460 ((void (*)(val
*))(var116
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var116
) /* next on <var116:Iterator[nullable Object]>*/;
3462 BREAK_label120
: (void)0;
3463 var121
= ((long (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__vararg_rank
]))(var_msignature
) /* vararg_rank on <var_msignature:nullable MSignature(MSignature)>*/;
3464 var_vararg_rank
= var121
;
3468 if (var_msignature
== NULL
) {
3469 var124
= 0; /* is null */
3471 var124
= 1; /* arg is null and recv is not */
3476 if (var_ret_type
== NULL
) {
3477 var127
= 1; /* is null */
3479 var127
= 0; /* arg is null but recv is not */
3486 var128
= ((val
* (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__return_mtype
]))(var_msignature
) /* return_mtype on <var_msignature:nullable MSignature(MSignature)>*/;
3487 var_ret_type
= var128
;
3490 var129
= ((long (*)(val
*))(var_param_names
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_param_names
) /* length on <var_param_names:Array[String]>*/;
3491 var130
= ((long (*)(val
*))(var_param_types
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_param_types
) /* length on <var_param_types:Array[MType]>*/;
3492 { /* Inline kernel#Int#!= (var129,var130) */
3493 var133
= var129
== var130
;
3497 RET_LABEL132
:(void)0;
3500 if (var_nsig
== NULL
) {
3501 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
3502 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 467);
3505 var135
= ((val
* (*)(val
*))(var_nsig
->class->vft
[COLOR_parser_nodes__ASignature__n_params
]))(var_nsig
) /* n_params on <var_nsig:nullable ASignature>*/;
3507 var136
= ((long (*)(val
*))(var_param_types
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_param_types
) /* length on <var_param_types:Array[MType]>*/;
3508 var137
= ((val
* (*)(val
*, long))(var135
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var135
, var136
) /* [] on <var135:ANodes[AParam]>*/;
3510 var139
= varonce138
;
3512 var140
= "Error: Untyped parameter `";
3514 var142
= string__NativeString__to_s_with_length(var140
, var141
);
3516 varonce138
= var139
;
3518 var143
= ((long (*)(val
*))(var_param_types
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_param_types
) /* length on <var_param_types:Array[MType]>*/;
3519 var144
= ((val
* (*)(val
*, long))(var_param_names
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_param_names
, var143
) /* [] on <var_param_names:Array[String]>*/;
3521 var146
= varonce145
;
3525 var149
= string__NativeString__to_s_with_length(var147
, var148
);
3527 varonce145
= var146
;
3529 var150
= NEW_array__Array(&type_array__Arraykernel__Object
);
3530 { /* var150 = array_instance Array[Object] */
3532 var152
= NEW_array__NativeArray(var151
, &type_array__NativeArraykernel__Object
);
3533 ((struct instance_array__NativeArray
*)var152
)->values
[0] = (val
*) var139
;
3534 ((struct instance_array__NativeArray
*)var152
)->values
[1] = (val
*) var144
;
3535 ((struct instance_array__NativeArray
*)var152
)->values
[2] = (val
*) var146
;
3536 ((void (*)(val
*, val
*, long))(var150
->class->vft
[COLOR_array__Array__with_native
]))(var150
, var152
, var151
) /* with_native on <var150:Array[Object]>*/;
3538 var153
= ((val
* (*)(val
*))(var150
->class->vft
[COLOR_string__Object__to_s
]))(var150
) /* to_s on <var150:Array[Object]>*/;
3539 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, var137
, var153
) /* error on <var_modelbuilder:ModelBuilder>*/;
3543 var154
= NEW_array__Array(&type_array__Arraymodel__MParameter
);
3544 ((void (*)(val
*))(var154
->class->vft
[COLOR_array__Array__init
]))(var154
) /* init on <var154:Array[MParameter]>*/;
3545 var_mparameters
= var154
;
3546 var155
= NEW_range__Range(&type_range__Rangekernel__Int
);
3548 var157
= ((long (*)(val
*))(var_param_names
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_param_names
) /* length on <var_param_names:Array[String]>*/;
3549 var158
= BOX_kernel__Int(var156
); /* autobox from Int to Discrete */
3550 var159
= BOX_kernel__Int(var157
); /* autobox from Int to Discrete */
3551 ((void (*)(val
*, val
*, val
*))(var155
->class->vft
[COLOR_range__Range__without_last
]))(var155
, var158
, var159
) /* without_last on <var155:Range[Int]>*/;
3552 var160
= ((val
* (*)(val
*))(var155
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var155
) /* iterator on <var155:Range[Int]>*/;
3554 var161
= ((short int (*)(val
*))(var160
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var160
) /* is_ok on <var160:Iterator[nullable Object]>*/;
3556 var162
= ((val
* (*)(val
*))(var160
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var160
) /* item on <var160:Iterator[nullable Object]>*/;
3557 var163
= ((struct instance_kernel__Int
*)var162
)->value
; /* autounbox from nullable Object to Int */;
3559 var164
= NEW_model__MParameter(&type_model__MParameter
);
3560 var165
= ((val
* (*)(val
*, long))(var_param_names
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_param_names
, var_i
) /* [] on <var_param_names:Array[String]>*/;
3561 var166
= ((val
* (*)(val
*, long))(var_param_types
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_param_types
, var_i
) /* [] on <var_param_types:Array[MType]>*/;
3562 { /* Inline kernel#Int#== (var_i,var_vararg_rank) */
3563 var169
= var_i
== var_vararg_rank
;
3566 RET_LABEL168
:(void)0;
3568 ((void (*)(val
*, val
*, val
*, short int))(var164
->class->vft
[COLOR_model__MParameter__init
]))(var164
, var165
, var166
, var167
) /* init on <var164:MParameter>*/;
3569 var_mparameter170
= var164
;
3571 if (var_nsig
== NULL
) {
3572 var172
= 0; /* is null */
3574 var172
= 1; /* arg is null and recv is not */
3577 var173
= ((val
* (*)(val
*))(var_nsig
->class->vft
[COLOR_parser_nodes__ASignature__n_params
]))(var_nsig
) /* n_params on <var_nsig:nullable ASignature(ASignature)>*/;
3578 var174
= ((val
* (*)(val
*, long))(var173
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var173
, var_i
) /* [] on <var173:ANodes[AParam]>*/;
3579 ((void (*)(val
*, val
*))(var174
->class->vft
[COLOR_modelize_property__AParam__mparameter_61d
]))(var174
, var_mparameter170
) /* mparameter= on <var174:nullable Object(AParam)>*/;
3582 ((void (*)(val
*, val
*))(var_mparameters
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_mparameters
, var_mparameter170
) /* add on <var_mparameters:Array[MParameter]>*/;
3583 CONTINUE_label175
: (void)0;
3584 ((void (*)(val
*))(var160
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var160
) /* next on <var160:Iterator[nullable Object]>*/;
3586 BREAK_label175
: (void)0;
3587 var176
= NEW_model__MSignature(&type_model__MSignature
);
3588 ((void (*)(val
*, val
*, val
*))(var176
->class->vft
[COLOR_model__MSignature__init
]))(var176
, var_mparameters
, var_ret_type
) /* init on <var176:MSignature>*/;
3589 var_msignature
= var176
;
3590 ((void (*)(val
*, val
*))(var_mpropdef
->class->vft
[COLOR_model__MMethodDef__msignature_61d
]))(var_mpropdef
, var_msignature
) /* msignature= on <var_mpropdef:nullable MMethodDef(MMethodDef)>*/;
3591 /* <self:AMethPropdef> isa ADeferredMethPropdef */
3592 cltype178
= type_parser_nodes__ADeferredMethPropdef
.color
;
3593 idtype179
= type_parser_nodes__ADeferredMethPropdef
.id
;
3594 if(cltype178
>= self
->type
->table_size
) {
3597 var177
= self
->type
->type_table
[cltype178
] == idtype179
;
3599 ((void (*)(val
*, short int))(var_mpropdef
->class->vft
[COLOR_model__MMethodDef__is_abstract_61d
]))(var_mpropdef
, var177
) /* is_abstract= on <var_mpropdef:nullable MMethodDef(MMethodDef)>*/;
3602 /* method modelize_property#AMethPropdef#build_signature for (self: Object, ModelBuilder, AClassdef) */
3603 void VIRTUAL_modelize_property__AMethPropdef__build_signature(val
* self
, val
* p0
, val
* p1
) {
3604 modelize_property__AMethPropdef__build_signature(self
, p0
, p1
);
3607 /* method modelize_property#AMethPropdef#check_signature for (self: AMethPropdef, ModelBuilder, AClassdef) */
3608 void modelize_property__AMethPropdef__check_signature(val
* self
, val
* p0
, val
* p1
) {
3609 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
3610 val
* var_nclassdef
/* var nclassdef: AClassdef */;
3611 val
* var
/* : nullable MPropDef */;
3612 val
* var_mpropdef
/* var mpropdef: nullable MMethodDef */;
3613 val
* var1
/* : null */;
3614 short int var2
/* : Bool */;
3615 val
* var3
/* : MClassDef */;
3616 val
* var4
/* : MModule */;
3617 val
* var_mmodule
/* var mmodule: MModule */;
3618 val
* var5
/* : nullable ASignature */;
3619 val
* var_nsig
/* var nsig: nullable ASignature */;
3620 val
* var6
/* : nullable MPropDef */;
3621 val
* var7
/* : nullable MSignature */;
3622 val
* var_mysignature
/* var mysignature: nullable MSignature */;
3623 val
* var8
/* : null */;
3624 short int var9
/* : Bool */;
3625 short int var10
/* : Bool */;
3626 short int var11
/* : Bool */;
3627 val
* var12
/* : MProperty */;
3628 val
* var13
/* : MPropDef */;
3629 val
* var14
/* : nullable MSignature */;
3630 val
* var_msignature
/* var msignature: nullable MSignature */;
3631 val
* var15
/* : null */;
3632 short int var16
/* : Bool */;
3633 val
* var17
/* : nullable MType */;
3634 val
* var_precursor_ret_type
/* var precursor_ret_type: nullable MType */;
3635 val
* var18
/* : nullable MType */;
3636 val
* var_ret_type
/* var ret_type: nullable MType */;
3637 short int var19
/* : Bool */;
3638 val
* var20
/* : null */;
3639 short int var21
/* : Bool */;
3640 short int var_
/* var : Bool */;
3641 val
* var22
/* : null */;
3642 short int var23
/* : Bool */;
3643 val
* var24
/* : nullable AType */;
3644 static val
* varonce
;
3645 val
* var25
/* : String */;
3646 char* var26
/* : NativeString */;
3647 long var27
/* : Int */;
3648 val
* var28
/* : String */;
3649 val
* var29
/* : MProperty */;
3650 static val
* varonce30
;
3651 val
* var31
/* : String */;
3652 char* var32
/* : NativeString */;
3653 long var33
/* : Int */;
3654 val
* var34
/* : String */;
3655 val
* var35
/* : Array[Object] */;
3656 long var36
/* : Int */;
3657 val
* var37
/* : NativeArray[Object] */;
3658 val
* var38
/* : String */;
3659 long var39
/* : Int */;
3660 long var40
/* : Int */;
3661 short int var41
/* : Bool */;
3662 short int var43
/* : Bool */;
3665 const char* var_class_name
;
3666 short int var44
/* : Bool */;
3667 val
* var45
/* : Range[Int] */;
3668 long var46
/* : Int */;
3669 long var47
/* : Int */;
3670 val
* var48
/* : Discrete */;
3671 val
* var49
/* : Discrete */;
3672 val
* var50
/* : Iterator[nullable Object] */;
3673 short int var51
/* : Bool */;
3674 val
* var52
/* : nullable Object */;
3675 long var_i
/* var i: Int */;
3676 long var53
/* : Int */;
3677 val
* var54
/* : Array[MParameter] */;
3678 val
* var55
/* : nullable Object */;
3679 val
* var56
/* : MType */;
3680 val
* var_myt
/* var myt: MType */;
3681 val
* var57
/* : Array[MParameter] */;
3682 val
* var58
/* : nullable Object */;
3683 val
* var59
/* : MType */;
3684 val
* var_prt
/* var prt: MType */;
3685 short int var60
/* : Bool */;
3686 val
* var61
/* : nullable MClassDef */;
3687 val
* var62
/* : MClassType */;
3688 short int var63
/* : Bool */;
3689 short int var64
/* : Bool */;
3690 short int var_65
/* var : Bool */;
3691 val
* var66
/* : nullable MClassDef */;
3692 val
* var67
/* : MClassType */;
3693 short int var68
/* : Bool */;
3694 short int var69
/* : Bool */;
3695 val
* var70
/* : ANodes[AParam] */;
3696 val
* var71
/* : nullable Object */;
3697 static val
* varonce72
;
3698 val
* var73
/* : String */;
3699 char* var74
/* : NativeString */;
3700 long var75
/* : Int */;
3701 val
* var76
/* : String */;
3702 val
* var77
/* : Array[MParameter] */;
3703 val
* var78
/* : nullable Object */;
3704 val
* var79
/* : String */;
3705 static val
* varonce80
;
3706 val
* var81
/* : String */;
3707 char* var82
/* : NativeString */;
3708 long var83
/* : Int */;
3709 val
* var84
/* : String */;
3710 static val
* varonce85
;
3711 val
* var86
/* : String */;
3712 char* var87
/* : NativeString */;
3713 long var88
/* : Int */;
3714 val
* var89
/* : String */;
3715 static val
* varonce90
;
3716 val
* var91
/* : String */;
3717 char* var92
/* : NativeString */;
3718 long var93
/* : Int */;
3719 val
* var94
/* : String */;
3720 val
* var95
/* : Array[Object] */;
3721 long var96
/* : Int */;
3722 val
* var97
/* : NativeArray[Object] */;
3723 val
* var98
/* : String */;
3724 val
* var99
/* : null */;
3725 short int var100
/* : Bool */;
3726 val
* var101
/* : null */;
3727 short int var102
/* : Bool */;
3728 val
* var103
/* : nullable MClassDef */;
3729 val
* var104
/* : MClassType */;
3730 short int var105
/* : Bool */;
3731 short int var106
/* : Bool */;
3732 val
* var107
/* : nullable AType */;
3733 static val
* varonce108
;
3734 val
* var109
/* : String */;
3735 char* var110
/* : NativeString */;
3736 long var111
/* : Int */;
3737 val
* var112
/* : String */;
3738 static val
* varonce113
;
3739 val
* var114
/* : String */;
3740 char* var115
/* : NativeString */;
3741 long var116
/* : Int */;
3742 val
* var117
/* : String */;
3743 static val
* varonce118
;
3744 val
* var119
/* : String */;
3745 char* var120
/* : NativeString */;
3746 long var121
/* : Int */;
3747 val
* var122
/* : String */;
3748 val
* var123
/* : Array[Object] */;
3749 long var124
/* : Int */;
3750 val
* var125
/* : NativeArray[Object] */;
3751 val
* var126
/* : String */;
3752 var_modelbuilder
= p0
;
3754 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__mpropdef
]))(self
) /* mpropdef on <self:AMethPropdef>*/;
3757 if (var_mpropdef
== NULL
) {
3758 var2
= 1; /* is null */
3760 var2
= 0; /* arg is null but recv is not */
3766 var3
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var_mpropdef
) /* mclassdef on <var_mpropdef:nullable MMethodDef(MMethodDef)>*/;
3767 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_model__MClassDef__mmodule
]))(var3
) /* mmodule on <var3:MClassDef>*/;
3769 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AMethPropdef__n_signature
]))(self
) /* n_signature on <self:AMethPropdef>*/;
3771 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__mpropdef
]))(self
) /* mpropdef on <self:AMethPropdef>*/;
3773 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
3774 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 489);
3777 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var6
) /* msignature on <var6:nullable MPropDef(nullable MMethodDef)>*/;
3779 var_mysignature
= var7
;
3781 if (var_mysignature
== NULL
) {
3782 var9
= 1; /* is null */
3784 var9
= 0; /* arg is null but recv is not */
3790 var10
= ((short int (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__is_intro
]))(var_mpropdef
) /* is_intro on <var_mpropdef:nullable MMethodDef(MMethodDef)>*/;
3793 var12
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var_mpropdef
) /* mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)>*/;
3794 var13
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_model__MProperty__intro
]))(var12
) /* intro on <var12:MProperty(MMethod)>*/;
3795 var14
= ((val
* (*)(val
*))(var13
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var13
) /* msignature on <var13:MPropDef(MMethodDef)>*/;
3796 var_msignature
= var14
;
3798 if (var_msignature
== NULL
) {
3799 var16
= 1; /* is null */
3801 var16
= 0; /* arg is null but recv is not */
3807 var17
= ((val
* (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__return_mtype
]))(var_msignature
) /* return_mtype on <var_msignature:nullable MSignature(MSignature)>*/;
3808 var_precursor_ret_type
= var17
;
3809 var18
= ((val
* (*)(val
*))(var_mysignature
->class->vft
[COLOR_model__MSignature__return_mtype
]))(var_mysignature
) /* return_mtype on <var_mysignature:nullable MSignature(MSignature)>*/;
3810 var_ret_type
= var18
;
3812 if (var_ret_type
== NULL
) {
3813 var21
= 0; /* is null */
3815 var21
= 1; /* arg is null and recv is not */
3820 if (var_precursor_ret_type
== NULL
) {
3821 var23
= 1; /* is null */
3823 var23
= 0; /* arg is null but recv is not */
3830 if (var_nsig
== NULL
) {
3831 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
3832 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 501);
3835 var24
= ((val
* (*)(val
*))(var_nsig
->class->vft
[COLOR_parser_nodes__ASignature__n_type
]))(var_nsig
) /* n_type on <var_nsig:nullable ASignature>*/;
3837 if (var24
== NULL
) {
3838 fprintf(stderr
, "Runtime error: %s", "Cast failed");
3839 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 501);
3845 var26
= "Redef Error: ";
3847 var28
= string__NativeString__to_s_with_length(var26
, var27
);
3851 var29
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var_mpropdef
) /* mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)>*/;
3855 var32
= " is a procedure, not a function.";
3857 var34
= string__NativeString__to_s_with_length(var32
, var33
);
3861 var35
= NEW_array__Array(&type_array__Arraykernel__Object
);
3862 { /* var35 = array_instance Array[Object] */
3864 var37
= NEW_array__NativeArray(var36
, &type_array__NativeArraykernel__Object
);
3865 ((struct instance_array__NativeArray
*)var37
)->values
[0] = (val
*) var25
;
3866 ((struct instance_array__NativeArray
*)var37
)->values
[1] = (val
*) var29
;
3867 ((struct instance_array__NativeArray
*)var37
)->values
[2] = (val
*) var31
;
3868 ((void (*)(val
*, val
*, long))(var35
->class->vft
[COLOR_array__Array__with_native
]))(var35
, var37
, var36
) /* with_native on <var35:Array[Object]>*/;
3870 var38
= ((val
* (*)(val
*))(var35
->class->vft
[COLOR_string__Object__to_s
]))(var35
) /* to_s on <var35:Array[Object]>*/;
3871 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, var24
, var38
) /* error on <var_modelbuilder:ModelBuilder>*/;
3875 var39
= ((long (*)(val
*))(var_mysignature
->class->vft
[COLOR_model__MSignature__arity
]))(var_mysignature
) /* arity on <var_mysignature:nullable MSignature(MSignature)>*/;
3877 { /* Inline kernel#Int#> (var39,var40) */
3878 /* Covariant cast for argument 0 (i) <var40:Int> isa OTHER */
3879 /* <var40:Int> isa OTHER */
3880 var43
= 1; /* easy <var40:Int> isa OTHER*/
3882 var_class_name
= type_kernel__Int
.name
;
3883 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
3884 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 263);
3887 var44
= var39
> var40
;
3890 RET_LABEL42
:(void)0;
3893 var45
= NEW_range__Range(&type_range__Rangekernel__Int
);
3895 var47
= ((long (*)(val
*))(var_mysignature
->class->vft
[COLOR_model__MSignature__arity
]))(var_mysignature
) /* arity on <var_mysignature:nullable MSignature(MSignature)>*/;
3896 var48
= BOX_kernel__Int(var46
); /* autobox from Int to Discrete */
3897 var49
= BOX_kernel__Int(var47
); /* autobox from Int to Discrete */
3898 ((void (*)(val
*, val
*, val
*))(var45
->class->vft
[COLOR_range__Range__without_last
]))(var45
, var48
, var49
) /* without_last on <var45:Range[Int]>*/;
3899 var50
= ((val
* (*)(val
*))(var45
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var45
) /* iterator on <var45:Range[Int]>*/;
3901 var51
= ((short int (*)(val
*))(var50
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var50
) /* is_ok on <var50:Iterator[nullable Object]>*/;
3903 var52
= ((val
* (*)(val
*))(var50
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var50
) /* item on <var50:Iterator[nullable Object]>*/;
3904 var53
= ((struct instance_kernel__Int
*)var52
)->value
; /* autounbox from nullable Object to Int */;
3906 var54
= ((val
* (*)(val
*))(var_mysignature
->class->vft
[COLOR_model__MSignature__mparameters
]))(var_mysignature
) /* mparameters on <var_mysignature:nullable MSignature(MSignature)>*/;
3907 var55
= ((val
* (*)(val
*, long))(var54
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var54
, var_i
) /* [] on <var54:Array[MParameter]>*/;
3908 var56
= ((val
* (*)(val
*))(var55
->class->vft
[COLOR_model__MParameter__mtype
]))(var55
) /* mtype on <var55:nullable Object(MParameter)>*/;
3910 var57
= ((val
* (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__mparameters
]))(var_msignature
) /* mparameters on <var_msignature:nullable MSignature(MSignature)>*/;
3911 var58
= ((val
* (*)(val
*, long))(var57
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var57
, var_i
) /* [] on <var57:Array[MParameter]>*/;
3912 var59
= ((val
* (*)(val
*))(var58
->class->vft
[COLOR_model__MParameter__mtype
]))(var58
) /* mtype on <var58:nullable Object(MParameter)>*/;
3914 var61
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef>*/;
3915 if (var61
== NULL
) {
3916 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
3917 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 510);
3920 var62
= ((val
* (*)(val
*))(var61
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var61
) /* bound_mtype on <var61:nullable MClassDef>*/;
3922 var63
= ((short int (*)(val
*, val
*, val
*, val
*))(var_myt
->class->vft
[COLOR_model__MType__is_subtype
]))(var_myt
, var_mmodule
, var62
, var_prt
) /* is_subtype on <var_myt:MType>*/;
3926 var66
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef>*/;
3927 if (var66
== NULL
) {
3928 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
3929 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 511);
3932 var67
= ((val
* (*)(val
*))(var66
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var66
) /* bound_mtype on <var66:nullable MClassDef>*/;
3934 var68
= ((short int (*)(val
*, val
*, val
*, val
*))(var_prt
->class->vft
[COLOR_model__MType__is_subtype
]))(var_prt
, var_mmodule
, var67
, var_myt
) /* is_subtype on <var_prt:MType>*/;
3941 if (var_nsig
== NULL
) {
3942 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
3943 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 512);
3946 var70
= ((val
* (*)(val
*))(var_nsig
->class->vft
[COLOR_parser_nodes__ASignature__n_params
]))(var_nsig
) /* n_params on <var_nsig:nullable ASignature>*/;
3948 var71
= ((val
* (*)(val
*, long))(var70
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var70
, var_i
) /* [] on <var70:ANodes[AParam]>*/;
3952 var74
= "Redef Error: Wrong type for parameter `";
3954 var76
= string__NativeString__to_s_with_length(var74
, var75
);
3958 var77
= ((val
* (*)(val
*))(var_mysignature
->class->vft
[COLOR_model__MSignature__mparameters
]))(var_mysignature
) /* mparameters on <var_mysignature:nullable MSignature(MSignature)>*/;
3959 var78
= ((val
* (*)(val
*, long))(var77
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var77
, var_i
) /* [] on <var77:Array[MParameter]>*/;
3960 var79
= ((val
* (*)(val
*))(var78
->class->vft
[COLOR_model__MParameter__name
]))(var78
) /* name on <var78:nullable Object(MParameter)>*/;
3964 var82
= "\'. found ";
3966 var84
= string__NativeString__to_s_with_length(var82
, var83
);
3973 var87
= ", expected ";
3975 var89
= string__NativeString__to_s_with_length(var87
, var88
);
3984 var94
= string__NativeString__to_s_with_length(var92
, var93
);
3988 var95
= NEW_array__Array(&type_array__Arraykernel__Object
);
3989 { /* var95 = array_instance Array[Object] */
3991 var97
= NEW_array__NativeArray(var96
, &type_array__NativeArraykernel__Object
);
3992 ((struct instance_array__NativeArray
*)var97
)->values
[0] = (val
*) var73
;
3993 ((struct instance_array__NativeArray
*)var97
)->values
[1] = (val
*) var79
;
3994 ((struct instance_array__NativeArray
*)var97
)->values
[2] = (val
*) var81
;
3995 ((struct instance_array__NativeArray
*)var97
)->values
[3] = (val
*) var_myt
;
3996 ((struct instance_array__NativeArray
*)var97
)->values
[4] = (val
*) var86
;
3997 ((struct instance_array__NativeArray
*)var97
)->values
[5] = (val
*) var_prt
;
3998 ((struct instance_array__NativeArray
*)var97
)->values
[6] = (val
*) var91
;
3999 ((void (*)(val
*, val
*, long))(var95
->class->vft
[COLOR_array__Array__with_native
]))(var95
, var97
, var96
) /* with_native on <var95:Array[Object]>*/;
4001 var98
= ((val
* (*)(val
*))(var95
->class->vft
[COLOR_string__Object__to_s
]))(var95
) /* to_s on <var95:Array[Object]>*/;
4002 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, var71
, var98
) /* error on <var_modelbuilder:ModelBuilder>*/;
4005 CONTINUE_label
: (void)0;
4006 ((void (*)(val
*))(var50
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var50
) /* next on <var50:Iterator[nullable Object]>*/;
4008 BREAK_label
: (void)0;
4012 if (var_precursor_ret_type
== NULL
) {
4013 var100
= 0; /* is null */
4015 var100
= 1; /* arg is null and recv is not */
4019 if (var_ret_type
== NULL
) {
4020 var102
= 1; /* is null */
4022 var102
= 0; /* arg is null but recv is not */
4025 var_ret_type
= var_precursor_ret_type
;
4027 var103
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef>*/;
4028 if (var103
== NULL
) {
4029 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
4030 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 520);
4033 var104
= ((val
* (*)(val
*))(var103
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var103
) /* bound_mtype on <var103:nullable MClassDef>*/;
4035 var105
= ((short int (*)(val
*, val
*, val
*, val
*))(var_ret_type
->class->vft
[COLOR_model__MType__is_subtype
]))(var_ret_type
, var_mmodule
, var104
, var_precursor_ret_type
) /* is_subtype on <var_ret_type:nullable MType(MType)>*/;
4038 if (var_nsig
== NULL
) {
4039 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
4040 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 521);
4043 var107
= ((val
* (*)(val
*))(var_nsig
->class->vft
[COLOR_parser_nodes__ASignature__n_type
]))(var_nsig
) /* n_type on <var_nsig:nullable ASignature>*/;
4045 if (var107
== NULL
) {
4046 fprintf(stderr
, "Runtime error: %s", "Cast failed");
4047 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 521);
4051 var109
= varonce108
;
4053 var110
= "Redef Error: Wrong return type. found ";
4055 var112
= string__NativeString__to_s_with_length(var110
, var111
);
4057 varonce108
= var109
;
4060 var114
= varonce113
;
4062 var115
= ", expected ";
4064 var117
= string__NativeString__to_s_with_length(var115
, var116
);
4066 varonce113
= var114
;
4069 var119
= varonce118
;
4073 var122
= string__NativeString__to_s_with_length(var120
, var121
);
4075 varonce118
= var119
;
4077 var123
= NEW_array__Array(&type_array__Arraykernel__Object
);
4078 { /* var123 = array_instance Array[Object] */
4080 var125
= NEW_array__NativeArray(var124
, &type_array__NativeArraykernel__Object
);
4081 ((struct instance_array__NativeArray
*)var125
)->values
[0] = (val
*) var109
;
4082 ((struct instance_array__NativeArray
*)var125
)->values
[1] = (val
*) var_ret_type
;
4083 ((struct instance_array__NativeArray
*)var125
)->values
[2] = (val
*) var114
;
4084 ((struct instance_array__NativeArray
*)var125
)->values
[3] = (val
*) var_precursor_ret_type
;
4085 ((struct instance_array__NativeArray
*)var125
)->values
[4] = (val
*) var119
;
4086 ((void (*)(val
*, val
*, long))(var123
->class->vft
[COLOR_array__Array__with_native
]))(var123
, var125
, var124
) /* with_native on <var123:Array[Object]>*/;
4088 var126
= ((val
* (*)(val
*))(var123
->class->vft
[COLOR_string__Object__to_s
]))(var123
) /* to_s on <var123:Array[Object]>*/;
4089 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, var107
, var126
) /* error on <var_modelbuilder:ModelBuilder>*/;
4099 /* method modelize_property#AMethPropdef#check_signature for (self: Object, ModelBuilder, AClassdef) */
4100 void VIRTUAL_modelize_property__AMethPropdef__check_signature(val
* self
, val
* p0
, val
* p1
) {
4101 modelize_property__AMethPropdef__check_signature(self
, p0
, p1
);
4104 /* method modelize_property#AAttrPropdef#mreadpropdef for (self: AAttrPropdef): nullable MMethodDef */
4105 val
* modelize_property__AAttrPropdef__mreadpropdef(val
* self
) {
4106 val
* var
/* : nullable MMethodDef */;
4107 val
* var1
/* : nullable MMethodDef */;
4108 var1
= self
->attrs
[COLOR_modelize_property__AAttrPropdef___64dmreadpropdef
].val
; /* @mreadpropdef on <self:AAttrPropdef> */
4113 /* method modelize_property#AAttrPropdef#mreadpropdef for (self: Object): nullable MMethodDef */
4114 val
* VIRTUAL_modelize_property__AAttrPropdef__mreadpropdef(val
* self
) {
4115 val
* var
/* : nullable MMethodDef */;
4116 val
* var1
/* : nullable MMethodDef */;
4117 var1
= modelize_property__AAttrPropdef__mreadpropdef(self
);
4122 /* method modelize_property#AAttrPropdef#mreadpropdef= for (self: AAttrPropdef, nullable MMethodDef) */
4123 void modelize_property__AAttrPropdef__mreadpropdef_61d(val
* self
, val
* p0
) {
4124 self
->attrs
[COLOR_modelize_property__AAttrPropdef___64dmreadpropdef
].val
= p0
; /* @mreadpropdef on <self:AAttrPropdef> */
4127 /* method modelize_property#AAttrPropdef#mreadpropdef= for (self: Object, nullable MMethodDef) */
4128 void VIRTUAL_modelize_property__AAttrPropdef__mreadpropdef_61d(val
* self
, val
* p0
) {
4129 modelize_property__AAttrPropdef__mreadpropdef_61d(self
, p0
);
4132 /* method modelize_property#AAttrPropdef#mwritepropdef for (self: AAttrPropdef): nullable MMethodDef */
4133 val
* modelize_property__AAttrPropdef__mwritepropdef(val
* self
) {
4134 val
* var
/* : nullable MMethodDef */;
4135 val
* var1
/* : nullable MMethodDef */;
4136 var1
= self
->attrs
[COLOR_modelize_property__AAttrPropdef___64dmwritepropdef
].val
; /* @mwritepropdef on <self:AAttrPropdef> */
4141 /* method modelize_property#AAttrPropdef#mwritepropdef for (self: Object): nullable MMethodDef */
4142 val
* VIRTUAL_modelize_property__AAttrPropdef__mwritepropdef(val
* self
) {
4143 val
* var
/* : nullable MMethodDef */;
4144 val
* var1
/* : nullable MMethodDef */;
4145 var1
= modelize_property__AAttrPropdef__mwritepropdef(self
);
4150 /* method modelize_property#AAttrPropdef#mwritepropdef= for (self: AAttrPropdef, nullable MMethodDef) */
4151 void modelize_property__AAttrPropdef__mwritepropdef_61d(val
* self
, val
* p0
) {
4152 self
->attrs
[COLOR_modelize_property__AAttrPropdef___64dmwritepropdef
].val
= p0
; /* @mwritepropdef on <self:AAttrPropdef> */
4155 /* method modelize_property#AAttrPropdef#mwritepropdef= for (self: Object, nullable MMethodDef) */
4156 void VIRTUAL_modelize_property__AAttrPropdef__mwritepropdef_61d(val
* self
, val
* p0
) {
4157 modelize_property__AAttrPropdef__mwritepropdef_61d(self
, p0
);
4160 /* method modelize_property#AAttrPropdef#build_property for (self: AAttrPropdef, ModelBuilder, AClassdef) */
4161 void modelize_property__AAttrPropdef__build_property(val
* self
, val
* p0
, val
* p1
) {
4162 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
4163 val
* var_nclassdef
/* var nclassdef: AClassdef */;
4164 val
* var
/* : nullable MClassDef */;
4165 val
* var_mclassdef
/* var mclassdef: MClassDef */;
4166 val
* var1
/* : MClass */;
4167 val
* var_mclass
/* var mclass: MClass */;
4168 val
* var2
/* : nullable TAttrid */;
4169 val
* var3
/* : null */;
4170 short int var4
/* : Bool */;
4171 val
* var5
/* : nullable TAttrid */;
4172 val
* var6
/* : String */;
4173 val
* var_name
/* var name: String */;
4174 val
* var7
/* : nullable TId */;
4175 val
* var8
/* : String */;
4176 short int var9
/* : Bool */;
4177 val
* var10
/* : MClassKind */;
4178 val
* var11
/* : MClassKind */;
4179 short int var12
/* : Bool */;
4180 short int var_
/* var : Bool */;
4181 val
* var13
/* : MClass */;
4182 val
* var14
/* : MClassKind */;
4183 val
* var15
/* : MClassKind */;
4184 short int var16
/* : Bool */;
4185 static val
* varonce
;
4186 val
* var17
/* : String */;
4187 char* var18
/* : NativeString */;
4188 long var19
/* : Int */;
4189 val
* var20
/* : String */;
4190 static val
* varonce21
;
4191 val
* var22
/* : String */;
4192 char* var23
/* : NativeString */;
4193 long var24
/* : Int */;
4194 val
* var25
/* : String */;
4195 static val
* varonce26
;
4196 val
* var27
/* : String */;
4197 char* var28
/* : NativeString */;
4198 long var29
/* : Int */;
4199 val
* var30
/* : String */;
4200 val
* var31
/* : Array[Object] */;
4201 long var32
/* : Int */;
4202 val
* var33
/* : NativeArray[Object] */;
4203 val
* var34
/* : String */;
4204 val
* var35
/* : MClassKind */;
4205 val
* var36
/* : MClassKind */;
4206 short int var37
/* : Bool */;
4207 static val
* varonce38
;
4208 val
* var39
/* : String */;
4209 char* var40
/* : NativeString */;
4210 long var41
/* : Int */;
4211 val
* var42
/* : String */;
4212 static val
* varonce43
;
4213 val
* var44
/* : String */;
4214 char* var45
/* : NativeString */;
4215 long var46
/* : Int */;
4216 val
* var47
/* : String */;
4217 static val
* varonce48
;
4218 val
* var49
/* : String */;
4219 char* var50
/* : NativeString */;
4220 long var51
/* : Int */;
4221 val
* var52
/* : String */;
4222 val
* var53
/* : Array[Object] */;
4223 long var54
/* : Int */;
4224 val
* var55
/* : NativeArray[Object] */;
4225 val
* var56
/* : String */;
4226 val
* var57
/* : MClassKind */;
4227 val
* var58
/* : MClassKind */;
4228 short int var59
/* : Bool */;
4229 static val
* varonce60
;
4230 val
* var61
/* : String */;
4231 char* var62
/* : NativeString */;
4232 long var63
/* : Int */;
4233 val
* var64
/* : String */;
4234 static val
* varonce65
;
4235 val
* var66
/* : String */;
4236 char* var67
/* : NativeString */;
4237 long var68
/* : Int */;
4238 val
* var69
/* : String */;
4239 static val
* varonce70
;
4240 val
* var71
/* : String */;
4241 char* var72
/* : NativeString */;
4242 long var73
/* : Int */;
4243 val
* var74
/* : String */;
4244 val
* var75
/* : Array[Object] */;
4245 long var76
/* : Int */;
4246 val
* var77
/* : NativeArray[Object] */;
4247 val
* var78
/* : String */;
4248 val
* var79
/* : nullable TAttrid */;
4249 val
* var_nid
/* var nid: nullable TAttrid */;
4250 val
* var80
/* : null */;
4251 short int var81
/* : Bool */;
4252 val
* var82
/* : nullable MProperty */;
4253 val
* var_mprop
/* var mprop: nullable MProperty */;
4254 val
* var83
/* : null */;
4255 short int var84
/* : Bool */;
4256 val
* var85
/* : AVisibility */;
4257 val
* var86
/* : MVisibility */;
4258 val
* var_mvisibility
/* var mvisibility: MVisibility */;
4259 val
* var87
/* : MAttribute */;
4260 val
* var88
/* : nullable TKwredef */;
4261 short int var89
/* : Bool */;
4262 short int var90
/* : Bool */;
4263 short int var91
/* : Bool */;
4264 short int var92
/* : Bool */;
4267 val
* var93
/* : AVisibility */;
4268 val
* var94
/* : nullable TKwredef */;
4269 short int var95
/* : Bool */;
4270 short int var96
/* : Bool */;
4271 short int var97
/* : Bool */;
4272 val
* var98
/* : Map[MProperty, APropdef] */;
4273 val
* var99
/* : MAttributeDef */;
4274 val
* var100
/* : Location */;
4275 val
* var_mpropdef
/* var mpropdef: MAttributeDef */;
4276 short int var101
/* : Bool */;
4279 const struct type
* type_struct
;
4280 const char* var_class_name
;
4281 val
* var104
/* : HashMap[MPropDef, APropdef] */;
4282 val
* var105
/* : nullable AAble */;
4283 val
* var_nreadable
/* var nreadable: nullable AAble */;
4284 val
* var106
/* : null */;
4285 short int var107
/* : Bool */;
4286 long var108
/* : Int */;
4287 val
* var109
/* : String */;
4288 val
* var_readname
/* var readname: String */;
4289 val
* var110
/* : nullable MProperty */;
4290 short int var111
/* : Bool */;
4293 const char* var_class_name114
;
4294 val
* var_mreadprop
/* var mreadprop: nullable MMethod */;
4295 val
* var115
/* : null */;
4296 short int var116
/* : Bool */;
4297 val
* var117
/* : nullable AVisibility */;
4298 val
* var118
/* : MVisibility */;
4299 val
* var_mvisibility119
/* var mvisibility: MVisibility */;
4300 val
* var120
/* : MMethod */;
4301 val
* var121
/* : nullable TKwredef */;
4302 short int var122
/* : Bool */;
4303 short int var123
/* : Bool */;
4304 short int var124
/* : Bool */;
4305 val
* var125
/* : nullable TKwredef */;
4306 short int var126
/* : Bool */;
4307 short int var127
/* : Bool */;
4308 short int var128
/* : Bool */;
4309 val
* var129
/* : nullable AVisibility */;
4310 val
* var130
/* : Map[MProperty, APropdef] */;
4311 val
* var131
/* : MMethodDef */;
4312 val
* var132
/* : Location */;
4313 val
* var_mreadpropdef
/* var mreadpropdef: MMethodDef */;
4314 val
* var133
/* : HashMap[MPropDef, APropdef] */;
4315 val
* var134
/* : nullable AAble */;
4316 val
* var_nwritable
/* var nwritable: nullable AAble */;
4317 val
* var135
/* : null */;
4318 short int var136
/* : Bool */;
4319 long var137
/* : Int */;
4320 val
* var138
/* : String */;
4321 static val
* varonce139
;
4322 val
* var140
/* : String */;
4323 char* var141
/* : NativeString */;
4324 long var142
/* : Int */;
4325 val
* var143
/* : String */;
4326 val
* var144
/* : String */;
4327 val
* var_writename
/* var writename: String */;
4328 val
* var145
/* : nullable MProperty */;
4329 short int var146
/* : Bool */;
4332 const char* var_class_name149
;
4333 val
* var_mwriteprop
/* var mwriteprop: nullable MMethod */;
4334 val
* var150
/* : null */;
4335 short int var151
/* : Bool */;
4336 val
* var152
/* : nullable AVisibility */;
4337 val
* var153
/* : MVisibility */;
4338 val
* var_mvisibility154
/* var mvisibility: MVisibility */;
4339 val
* var155
/* : MMethod */;
4340 val
* var156
/* : nullable TKwredef */;
4341 short int var157
/* : Bool */;
4342 short int var158
/* : Bool */;
4343 short int var159
/* : Bool */;
4344 val
* var160
/* : nullable TKwredef */;
4345 short int var161
/* : Bool */;
4346 short int var162
/* : Bool */;
4347 short int var163
/* : Bool */;
4348 val
* var164
/* : nullable AVisibility */;
4349 val
* var165
/* : Map[MProperty, APropdef] */;
4350 val
* var166
/* : MMethodDef */;
4351 val
* var167
/* : Location */;
4352 val
* var_mwritepropdef
/* var mwritepropdef: MMethodDef */;
4353 val
* var168
/* : HashMap[MPropDef, APropdef] */;
4354 val
* var169
/* : nullable TId */;
4355 val
* var_nid2
/* var nid2: TId */;
4356 val
* var170
/* : MAttribute */;
4357 static val
* varonce171
;
4358 val
* var172
/* : String */;
4359 char* var173
/* : NativeString */;
4360 long var174
/* : Int */;
4361 val
* var175
/* : String */;
4362 val
* var176
/* : String */;
4363 val
* var177
/* : MVisibility */;
4364 val
* var_mprop178
/* var mprop: MAttribute */;
4365 val
* var179
/* : MAttributeDef */;
4366 val
* var180
/* : Location */;
4367 val
* var_mpropdef181
/* var mpropdef: MAttributeDef */;
4368 short int var182
/* : Bool */;
4371 const struct type
* type_struct185
;
4372 const char* var_class_name186
;
4373 val
* var187
/* : HashMap[MPropDef, APropdef] */;
4374 val
* var_readname188
/* var readname: String */;
4375 val
* var189
/* : nullable MProperty */;
4376 short int var190
/* : Bool */;
4379 const char* var_class_name193
;
4380 val
* var_mreadprop194
/* var mreadprop: nullable MMethod */;
4381 val
* var195
/* : null */;
4382 short int var196
/* : Bool */;
4383 val
* var197
/* : AVisibility */;
4384 val
* var198
/* : MVisibility */;
4385 val
* var_mvisibility199
/* var mvisibility: MVisibility */;
4386 val
* var200
/* : MMethod */;
4387 val
* var201
/* : nullable TKwredef */;
4388 short int var202
/* : Bool */;
4389 short int var203
/* : Bool */;
4390 short int var204
/* : Bool */;
4391 val
* var205
/* : nullable TKwredef */;
4392 short int var206
/* : Bool */;
4393 short int var207
/* : Bool */;
4394 short int var208
/* : Bool */;
4395 val
* var209
/* : AVisibility */;
4396 val
* var210
/* : Map[MProperty, APropdef] */;
4397 val
* var211
/* : MMethodDef */;
4398 val
* var212
/* : Location */;
4399 val
* var_mreadpropdef213
/* var mreadpropdef: MMethodDef */;
4400 val
* var214
/* : HashMap[MPropDef, APropdef] */;
4401 static val
* varonce215
;
4402 val
* var216
/* : String */;
4403 char* var217
/* : NativeString */;
4404 long var218
/* : Int */;
4405 val
* var219
/* : String */;
4406 val
* var220
/* : String */;
4407 val
* var_writename221
/* var writename: String */;
4408 val
* var222
/* : nullable AAble */;
4409 val
* var_nwritable223
/* var nwritable: nullable AAble */;
4410 val
* var224
/* : nullable MProperty */;
4411 short int var225
/* : Bool */;
4414 const char* var_class_name228
;
4415 val
* var_mwriteprop229
/* var mwriteprop: nullable MMethod */;
4416 val
* var230
/* : null */;
4417 val
* var_nwkwredef
/* var nwkwredef: nullable Token */;
4418 val
* var231
/* : null */;
4419 short int var232
/* : Bool */;
4420 val
* var233
/* : nullable TKwredef */;
4421 val
* var234
/* : null */;
4422 short int var235
/* : Bool */;
4423 val
* var236
/* : null */;
4424 short int var237
/* : Bool */;
4425 val
* var238
/* : nullable AVisibility */;
4426 val
* var239
/* : MVisibility */;
4427 val
* var_mvisibility240
/* var mvisibility: nullable Object */;
4428 val
* var241
/* : MVisibility */;
4429 val
* var242
/* : MMethod */;
4430 short int var243
/* : Bool */;
4431 short int var244
/* : Bool */;
4432 short int var245
/* : Bool */;
4433 short int var246
/* : Bool */;
4434 short int var247
/* : Bool */;
4435 short int var248
/* : Bool */;
4436 val
* var249
/* : null */;
4437 short int var250
/* : Bool */;
4438 val
* var251
/* : nullable AVisibility */;
4439 val
* var252
/* : Map[MProperty, APropdef] */;
4440 val
* var253
/* : MMethodDef */;
4441 val
* var254
/* : Location */;
4442 val
* var_mwritepropdef255
/* var mwritepropdef: MMethodDef */;
4443 val
* var256
/* : HashMap[MPropDef, APropdef] */;
4444 var_modelbuilder
= p0
;
4446 var
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef>*/;
4448 fprintf(stderr
, "Runtime error: %s", "Cast failed");
4449 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 537);
4452 var_mclassdef
= var
;
4453 var1
= ((val
* (*)(val
*))(var_mclassdef
->class->vft
[COLOR_model__MClassDef__mclass
]))(var_mclassdef
) /* mclass on <var_mclassdef:MClassDef>*/;
4455 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_id
]))(self
) /* n_id on <self:AAttrPropdef>*/;
4458 var4
= 0; /* is null */
4460 var4
= 1; /* arg is null and recv is not */
4463 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_id
]))(self
) /* n_id on <self:AAttrPropdef>*/;
4465 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
4466 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 542);
4469 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_parser_nodes__Token__text
]))(var5
) /* text on <var5:nullable TAttrid>*/;
4473 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_id2
]))(self
) /* n_id2 on <self:AAttrPropdef>*/;
4475 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
4476 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 544);
4479 var8
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_parser_nodes__Token__text
]))(var7
) /* text on <var7:nullable TId>*/;
4483 var10
= ((val
* (*)(val
*))(var_mclass
->class->vft
[COLOR_model__MClass__kind
]))(var_mclass
) /* kind on <var_mclass:MClass>*/;
4484 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__Object__interface_kind
]))(self
) /* interface_kind on <self:AAttrPropdef>*/;
4485 var12
= ((short int (*)(val
*, val
*))(var10
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var10
, var11
) /* == on <var10:MClassKind>*/;
4490 var13
= ((val
* (*)(val
*))(var_mclassdef
->class->vft
[COLOR_model__MClassDef__mclass
]))(var_mclassdef
) /* mclass on <var_mclassdef:MClassDef>*/;
4491 var14
= ((val
* (*)(val
*))(var13
->class->vft
[COLOR_model__MClass__kind
]))(var13
) /* kind on <var13:MClass>*/;
4492 var15
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__Object__enum_kind
]))(self
) /* enum_kind on <self:AAttrPropdef>*/;
4493 var16
= ((short int (*)(val
*, val
*))(var14
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var14
, var15
) /* == on <var14:MClassKind>*/;
4500 var18
= "Error: Attempt to define attribute ";
4502 var20
= string__NativeString__to_s_with_length(var18
, var19
);
4509 var23
= " in the interface ";
4511 var25
= string__NativeString__to_s_with_length(var23
, var24
);
4520 var30
= string__NativeString__to_s_with_length(var28
, var29
);
4524 var31
= NEW_array__Array(&type_array__Arraykernel__Object
);
4525 { /* var31 = array_instance Array[Object] */
4527 var33
= NEW_array__NativeArray(var32
, &type_array__NativeArraykernel__Object
);
4528 ((struct instance_array__NativeArray
*)var33
)->values
[0] = (val
*) var17
;
4529 ((struct instance_array__NativeArray
*)var33
)->values
[1] = (val
*) var_name
;
4530 ((struct instance_array__NativeArray
*)var33
)->values
[2] = (val
*) var22
;
4531 ((struct instance_array__NativeArray
*)var33
)->values
[3] = (val
*) var_mclass
;
4532 ((struct instance_array__NativeArray
*)var33
)->values
[4] = (val
*) var27
;
4533 ((void (*)(val
*, val
*, long))(var31
->class->vft
[COLOR_array__Array__with_native
]))(var31
, var33
, var32
) /* with_native on <var31:Array[Object]>*/;
4535 var34
= ((val
* (*)(val
*))(var31
->class->vft
[COLOR_string__Object__to_s
]))(var31
) /* to_s on <var31:Array[Object]>*/;
4536 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, self
, var34
) /* error on <var_modelbuilder:ModelBuilder>*/;
4538 var35
= ((val
* (*)(val
*))(var_mclass
->class->vft
[COLOR_model__MClass__kind
]))(var_mclass
) /* kind on <var_mclass:MClass>*/;
4539 var36
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__Object__enum_kind
]))(self
) /* enum_kind on <self:AAttrPropdef>*/;
4540 var37
= ((short int (*)(val
*, val
*))(var35
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var35
, var36
) /* == on <var35:MClassKind>*/;
4545 var40
= "Error: Attempt to define attribute ";
4547 var42
= string__NativeString__to_s_with_length(var40
, var41
);
4554 var45
= " in the enum class ";
4556 var47
= string__NativeString__to_s_with_length(var45
, var46
);
4565 var52
= string__NativeString__to_s_with_length(var50
, var51
);
4569 var53
= NEW_array__Array(&type_array__Arraykernel__Object
);
4570 { /* var53 = array_instance Array[Object] */
4572 var55
= NEW_array__NativeArray(var54
, &type_array__NativeArraykernel__Object
);
4573 ((struct instance_array__NativeArray
*)var55
)->values
[0] = (val
*) var39
;
4574 ((struct instance_array__NativeArray
*)var55
)->values
[1] = (val
*) var_name
;
4575 ((struct instance_array__NativeArray
*)var55
)->values
[2] = (val
*) var44
;
4576 ((struct instance_array__NativeArray
*)var55
)->values
[3] = (val
*) var_mclass
;
4577 ((struct instance_array__NativeArray
*)var55
)->values
[4] = (val
*) var49
;
4578 ((void (*)(val
*, val
*, long))(var53
->class->vft
[COLOR_array__Array__with_native
]))(var53
, var55
, var54
) /* with_native on <var53:Array[Object]>*/;
4580 var56
= ((val
* (*)(val
*))(var53
->class->vft
[COLOR_string__Object__to_s
]))(var53
) /* to_s on <var53:Array[Object]>*/;
4581 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, self
, var56
) /* error on <var_modelbuilder:ModelBuilder>*/;
4583 var57
= ((val
* (*)(val
*))(var_mclass
->class->vft
[COLOR_model__MClass__kind
]))(var_mclass
) /* kind on <var_mclass:MClass>*/;
4584 var58
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__Object__extern_kind
]))(self
) /* extern_kind on <self:AAttrPropdef>*/;
4585 var59
= ((short int (*)(val
*, val
*))(var57
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var57
, var58
) /* == on <var57:MClassKind>*/;
4590 var62
= "Error: Attempt to define attribute ";
4592 var64
= string__NativeString__to_s_with_length(var62
, var63
);
4599 var67
= " in the extern class ";
4601 var69
= string__NativeString__to_s_with_length(var67
, var68
);
4610 var74
= string__NativeString__to_s_with_length(var72
, var73
);
4614 var75
= NEW_array__Array(&type_array__Arraykernel__Object
);
4615 { /* var75 = array_instance Array[Object] */
4617 var77
= NEW_array__NativeArray(var76
, &type_array__NativeArraykernel__Object
);
4618 ((struct instance_array__NativeArray
*)var77
)->values
[0] = (val
*) var61
;
4619 ((struct instance_array__NativeArray
*)var77
)->values
[1] = (val
*) var_name
;
4620 ((struct instance_array__NativeArray
*)var77
)->values
[2] = (val
*) var66
;
4621 ((struct instance_array__NativeArray
*)var77
)->values
[3] = (val
*) var_mclass
;
4622 ((struct instance_array__NativeArray
*)var77
)->values
[4] = (val
*) var71
;
4623 ((void (*)(val
*, val
*, long))(var75
->class->vft
[COLOR_array__Array__with_native
]))(var75
, var77
, var76
) /* with_native on <var75:Array[Object]>*/;
4625 var78
= ((val
* (*)(val
*))(var75
->class->vft
[COLOR_string__Object__to_s
]))(var75
) /* to_s on <var75:Array[Object]>*/;
4626 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, self
, var78
) /* error on <var_modelbuilder:ModelBuilder>*/;
4631 var79
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_id
]))(self
) /* n_id on <self:AAttrPropdef>*/;
4634 if (var_nid
== NULL
) {
4635 var81
= 0; /* is null */
4637 var81
= 1; /* arg is null and recv is not */
4640 var82
= ((val
* (*)(val
*, val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__try_get_mproperty_by_name
]))(var_modelbuilder
, var_nid
, var_mclassdef
, var_name
) /* try_get_mproperty_by_name on <var_modelbuilder:ModelBuilder>*/;
4643 if (var_mprop
== NULL
) {
4644 var84
= 1; /* is null */
4646 var84
= 0; /* arg is null but recv is not */
4649 var85
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_visibility
]))(self
) /* n_visibility on <self:AAttrPropdef>*/;
4650 var86
= ((val
* (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__new_property_visibility
]))(self
, var_modelbuilder
, var_nclassdef
, var85
) /* new_property_visibility on <self:AAttrPropdef>*/;
4651 var_mvisibility
= var86
;
4652 var87
= NEW_model__MAttribute(&type_model__MAttribute
);
4653 ((void (*)(val
*, val
*, val
*, val
*))(var87
->class->vft
[COLOR_model__MAttribute__init
]))(var87
, var_mclassdef
, var_name
, var_mvisibility
) /* init on <var87:MAttribute>*/;
4655 var88
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_kwredef
]))(self
) /* n_kwredef on <self:AAttrPropdef>*/;
4657 var90
= ((short int (*)(val
*, val
*, val
*, val
*, short int, val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__check_redef_keyword
]))(self
, var_modelbuilder
, var_nclassdef
, var88
, var89
, var_mprop
) /* check_redef_keyword on <self:AAttrPropdef>*/;
4664 /* <var_mprop:nullable MProperty(MProperty)> isa MAttribute */
4665 cltype
= type_model__MAttribute
.color
;
4666 idtype
= type_model__MAttribute
.id
;
4667 if(cltype
>= var_mprop
->type
->table_size
) {
4670 var92
= var_mprop
->type
->type_table
[cltype
] == idtype
;
4673 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4674 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 564);
4677 var93
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_visibility
]))(self
) /* n_visibility on <self:AAttrPropdef>*/;
4678 ((void (*)(val
*, val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__check_redef_property_visibility
]))(self
, var_modelbuilder
, var_nclassdef
, var93
, var_mprop
) /* check_redef_property_visibility on <self:AAttrPropdef>*/;
4679 var94
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_kwredef
]))(self
) /* n_kwredef on <self:AAttrPropdef>*/;
4681 var96
= ((short int (*)(val
*, val
*, val
*, val
*, short int, val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__check_redef_keyword
]))(self
, var_modelbuilder
, var_nclassdef
, var94
, var95
, var_mprop
) /* check_redef_keyword on <self:AAttrPropdef>*/;
4688 var98
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_property__AClassdef__mprop2npropdef
]))(var_nclassdef
) /* mprop2npropdef on <var_nclassdef:AClassdef>*/;
4689 ((void (*)(val
*, val
*, val
*))(var98
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var98
, var_mprop
, self
) /* []= on <var98:Map[MProperty, APropdef]>*/;
4690 var99
= NEW_model__MAttributeDef(&type_model__MAttributeDef
);
4691 var100
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__location
]))(self
) /* location on <self:AAttrPropdef>*/;
4692 ((void (*)(val
*, val
*, val
*, val
*))(var99
->class->vft
[COLOR_model__MAttributeDef__init
]))(var99
, var_mclassdef
, var_mprop
, var100
) /* init on <var99:MAttributeDef>*/;
4693 var_mpropdef
= var99
;
4694 /* <var_mpropdef:MAttributeDef> isa nullable MPROPDEF */
4695 type_struct
= self
->type
->resolution_table
->types
[COLOR_parser_nodes__APropdef_VTMPROPDEF
];
4696 cltype102
= type_struct
->color
;
4697 idtype103
= type_struct
->id
;
4698 if(cltype102
>= var_mpropdef
->type
->table_size
) {
4701 var101
= var_mpropdef
->type
->type_table
[cltype102
] == idtype103
;
4704 var_class_name
= var_mpropdef
== NULL ?
"null" : var_mpropdef
->type
->name
;
4705 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name
);
4706 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 571);
4709 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__mpropdef_61d
]))(self
, var_mpropdef
) /* mpropdef= on <self:AAttrPropdef>*/;
4710 var104
= ((val
* (*)(val
*))(var_modelbuilder
->class->vft
[COLOR_modelize_property__ModelBuilder__mpropdef2npropdef
]))(var_modelbuilder
) /* mpropdef2npropdef on <var_modelbuilder:ModelBuilder>*/;
4711 ((void (*)(val
*, val
*, val
*))(var104
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var104
, var_mpropdef
, self
) /* []= on <var104:HashMap[MPropDef, APropdef]>*/;
4712 var105
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_readable
]))(self
) /* n_readable on <self:AAttrPropdef>*/;
4713 var_nreadable
= var105
;
4715 if (var_nreadable
== NULL
) {
4716 var107
= 0; /* is null */
4718 var107
= 1; /* arg is null and recv is not */
4722 var109
= ((val
* (*)(val
*, long))(var_name
->class->vft
[COLOR_string__AbstractString__substring_from
]))(var_name
, var108
) /* substring_from on <var_name:String>*/;
4723 var_readname
= var109
;
4724 var110
= ((val
* (*)(val
*, val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__try_get_mproperty_by_name
]))(var_modelbuilder
, var_nid
, var_mclassdef
, var_readname
) /* try_get_mproperty_by_name on <var_modelbuilder:ModelBuilder>*/;
4725 /* <var110:nullable MProperty> isa nullable MMethod */
4726 cltype112
= type_nullable_model__MMethod
.color
;
4727 idtype113
= type_nullable_model__MMethod
.id
;
4728 if(var110
== NULL
) {
4731 if(cltype112
>= var110
->type
->table_size
) {
4734 var111
= var110
->type
->type_table
[cltype112
] == idtype113
;
4738 var_class_name114
= var110
== NULL ?
"null" : var110
->type
->name
;
4739 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MMethod", var_class_name114
);
4740 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 577);
4743 var_mreadprop
= var110
;
4745 if (var_mreadprop
== NULL
) {
4746 var116
= 1; /* is null */
4748 var116
= 0; /* arg is null but recv is not */
4751 var117
= ((val
* (*)(val
*))(var_nreadable
->class->vft
[COLOR_parser_nodes__AAble__n_visibility
]))(var_nreadable
) /* n_visibility on <var_nreadable:nullable AAble(AAble)>*/;
4752 var118
= ((val
* (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__new_property_visibility
]))(self
, var_modelbuilder
, var_nclassdef
, var117
) /* new_property_visibility on <self:AAttrPropdef>*/;
4753 var_mvisibility119
= var118
;
4754 var120
= NEW_model__MMethod(&type_model__MMethod
);
4755 ((void (*)(val
*, val
*, val
*, val
*))(var120
->class->vft
[COLOR_model__MMethod__init
]))(var120
, var_mclassdef
, var_readname
, var_mvisibility119
) /* init on <var120:MMethod>*/;
4756 var_mreadprop
= var120
;
4757 var121
= ((val
* (*)(val
*))(var_nreadable
->class->vft
[COLOR_parser_nodes__AAble__n_kwredef
]))(var_nreadable
) /* n_kwredef on <var_nreadable:nullable AAble(AAble)>*/;
4759 var123
= ((short int (*)(val
*, val
*, val
*, val
*, short int, val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__check_redef_keyword
]))(self
, var_modelbuilder
, var_nclassdef
, var121
, var122
, var_mreadprop
) /* check_redef_keyword on <self:AAttrPropdef>*/;
4766 var125
= ((val
* (*)(val
*))(var_nreadable
->class->vft
[COLOR_parser_nodes__AAble__n_kwredef
]))(var_nreadable
) /* n_kwredef on <var_nreadable:nullable AAble(AAble)>*/;
4768 var127
= ((short int (*)(val
*, val
*, val
*, val
*, short int, val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__check_redef_keyword
]))(self
, var_modelbuilder
, var_nclassdef
, var125
, var126
, var_mreadprop
) /* check_redef_keyword on <self:AAttrPropdef>*/;
4774 var129
= ((val
* (*)(val
*))(var_nreadable
->class->vft
[COLOR_parser_nodes__AAble__n_visibility
]))(var_nreadable
) /* n_visibility on <var_nreadable:nullable AAble(AAble)>*/;
4775 ((void (*)(val
*, val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__check_redef_property_visibility
]))(self
, var_modelbuilder
, var_nclassdef
, var129
, var_mreadprop
) /* check_redef_property_visibility on <self:AAttrPropdef>*/;
4777 var130
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_property__AClassdef__mprop2npropdef
]))(var_nclassdef
) /* mprop2npropdef on <var_nclassdef:AClassdef>*/;
4778 ((void (*)(val
*, val
*, val
*))(var130
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var130
, var_mreadprop
, self
) /* []= on <var130:Map[MProperty, APropdef]>*/;
4779 var131
= NEW_model__MMethodDef(&type_model__MMethodDef
);
4780 var132
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__location
]))(self
) /* location on <self:AAttrPropdef>*/;
4781 ((void (*)(val
*, val
*, val
*, val
*))(var131
->class->vft
[COLOR_model__MMethodDef__init
]))(var131
, var_mclassdef
, var_mreadprop
, var132
) /* init on <var131:MMethodDef>*/;
4782 var_mreadpropdef
= var131
;
4783 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_modelize_property__AAttrPropdef__mreadpropdef_61d
]))(self
, var_mreadpropdef
) /* mreadpropdef= on <self:AAttrPropdef>*/;
4784 var133
= ((val
* (*)(val
*))(var_modelbuilder
->class->vft
[COLOR_modelize_property__ModelBuilder__mpropdef2npropdef
]))(var_modelbuilder
) /* mpropdef2npropdef on <var_modelbuilder:ModelBuilder>*/;
4785 ((void (*)(val
*, val
*, val
*))(var133
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var133
, var_mreadpropdef
, self
) /* []= on <var133:HashMap[MPropDef, APropdef]>*/;
4788 var134
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_writable
]))(self
) /* n_writable on <self:AAttrPropdef>*/;
4789 var_nwritable
= var134
;
4791 if (var_nwritable
== NULL
) {
4792 var136
= 0; /* is null */
4794 var136
= 1; /* arg is null and recv is not */
4798 var138
= ((val
* (*)(val
*, long))(var_name
->class->vft
[COLOR_string__AbstractString__substring_from
]))(var_name
, var137
) /* substring_from on <var_name:String>*/;
4800 var140
= varonce139
;
4804 var143
= string__NativeString__to_s_with_length(var141
, var142
);
4806 varonce139
= var140
;
4808 var144
= ((val
* (*)(val
*, val
*))(var138
->class->vft
[COLOR_string__String___43d
]))(var138
, var140
) /* + on <var138:String>*/;
4809 var_writename
= var144
;
4810 var145
= ((val
* (*)(val
*, val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__try_get_mproperty_by_name
]))(var_modelbuilder
, var_nid
, var_mclassdef
, var_writename
) /* try_get_mproperty_by_name on <var_modelbuilder:ModelBuilder>*/;
4811 /* <var145:nullable MProperty> isa nullable MMethod */
4812 cltype147
= type_nullable_model__MMethod
.color
;
4813 idtype148
= type_nullable_model__MMethod
.id
;
4814 if(var145
== NULL
) {
4817 if(cltype147
>= var145
->type
->table_size
) {
4820 var146
= var145
->type
->type_table
[cltype147
] == idtype148
;
4824 var_class_name149
= var145
== NULL ?
"null" : var145
->type
->name
;
4825 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MMethod", var_class_name149
);
4826 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 596);
4829 var_mwriteprop
= var145
;
4831 if (var_mwriteprop
== NULL
) {
4832 var151
= 1; /* is null */
4834 var151
= 0; /* arg is null but recv is not */
4837 var152
= ((val
* (*)(val
*))(var_nwritable
->class->vft
[COLOR_parser_nodes__AAble__n_visibility
]))(var_nwritable
) /* n_visibility on <var_nwritable:nullable AAble(AAble)>*/;
4838 var153
= ((val
* (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__new_property_visibility
]))(self
, var_modelbuilder
, var_nclassdef
, var152
) /* new_property_visibility on <self:AAttrPropdef>*/;
4839 var_mvisibility154
= var153
;
4840 var155
= NEW_model__MMethod(&type_model__MMethod
);
4841 ((void (*)(val
*, val
*, val
*, val
*))(var155
->class->vft
[COLOR_model__MMethod__init
]))(var155
, var_mclassdef
, var_writename
, var_mvisibility154
) /* init on <var155:MMethod>*/;
4842 var_mwriteprop
= var155
;
4843 var156
= ((val
* (*)(val
*))(var_nwritable
->class->vft
[COLOR_parser_nodes__AAble__n_kwredef
]))(var_nwritable
) /* n_kwredef on <var_nwritable:nullable AAble(AAble)>*/;
4845 var158
= ((short int (*)(val
*, val
*, val
*, val
*, short int, val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__check_redef_keyword
]))(self
, var_modelbuilder
, var_nclassdef
, var156
, var157
, var_mwriteprop
) /* check_redef_keyword on <self:AAttrPropdef>*/;
4852 var160
= ((val
* (*)(val
*))(var_nwritable
->class->vft
[COLOR_parser_nodes__AAble__n_kwredef
]))(var_nwritable
) /* n_kwredef on <var_nwritable:nullable AAble(AAble)>*/;
4854 var162
= ((short int (*)(val
*, val
*, val
*, val
*, short int, val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__check_redef_keyword
]))(self
, var_modelbuilder
, var_nclassdef
, var160
, var161
, var_mwriteprop
) /* check_redef_keyword on <self:AAttrPropdef>*/;
4860 var164
= ((val
* (*)(val
*))(var_nwritable
->class->vft
[COLOR_parser_nodes__AAble__n_visibility
]))(var_nwritable
) /* n_visibility on <var_nwritable:nullable AAble(AAble)>*/;
4861 ((void (*)(val
*, val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__check_redef_property_visibility
]))(self
, var_modelbuilder
, var_nclassdef
, var164
, var_mwriteprop
) /* check_redef_property_visibility on <self:AAttrPropdef>*/;
4863 var165
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_property__AClassdef__mprop2npropdef
]))(var_nclassdef
) /* mprop2npropdef on <var_nclassdef:AClassdef>*/;
4864 ((void (*)(val
*, val
*, val
*))(var165
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var165
, var_mwriteprop
, self
) /* []= on <var165:Map[MProperty, APropdef]>*/;
4865 var166
= NEW_model__MMethodDef(&type_model__MMethodDef
);
4866 var167
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__location
]))(self
) /* location on <self:AAttrPropdef>*/;
4867 ((void (*)(val
*, val
*, val
*, val
*))(var166
->class->vft
[COLOR_model__MMethodDef__init
]))(var166
, var_mclassdef
, var_mwriteprop
, var167
) /* init on <var166:MMethodDef>*/;
4868 var_mwritepropdef
= var166
;
4869 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_modelize_property__AAttrPropdef__mwritepropdef_61d
]))(self
, var_mwritepropdef
) /* mwritepropdef= on <self:AAttrPropdef>*/;
4870 var168
= ((val
* (*)(val
*))(var_modelbuilder
->class->vft
[COLOR_modelize_property__ModelBuilder__mpropdef2npropdef
]))(var_modelbuilder
) /* mpropdef2npropdef on <var_modelbuilder:ModelBuilder>*/;
4871 ((void (*)(val
*, val
*, val
*))(var168
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var168
, var_mwritepropdef
, self
) /* []= on <var168:HashMap[MPropDef, APropdef]>*/;
4875 var169
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_id2
]))(self
) /* n_id2 on <self:AAttrPropdef>*/;
4876 if (var169
== NULL
) {
4877 fprintf(stderr
, "Runtime error: %s", "Cast failed");
4878 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 613);
4882 var170
= NEW_model__MAttribute(&type_model__MAttribute
);
4884 var172
= varonce171
;
4888 var175
= string__NativeString__to_s_with_length(var173
, var174
);
4890 varonce171
= var172
;
4892 var176
= ((val
* (*)(val
*, val
*))(var172
->class->vft
[COLOR_string__String___43d
]))(var172
, var_name
) /* + on <var172:String>*/;
4893 var177
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model_base__Object__none_visibility
]))(self
) /* none_visibility on <self:AAttrPropdef>*/;
4894 ((void (*)(val
*, val
*, val
*, val
*))(var170
->class->vft
[COLOR_model__MAttribute__init
]))(var170
, var_mclassdef
, var176
, var177
) /* init on <var170:MAttribute>*/;
4895 var_mprop178
= var170
;
4896 var179
= NEW_model__MAttributeDef(&type_model__MAttributeDef
);
4897 var180
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__location
]))(self
) /* location on <self:AAttrPropdef>*/;
4898 ((void (*)(val
*, val
*, val
*, val
*))(var179
->class->vft
[COLOR_model__MAttributeDef__init
]))(var179
, var_mclassdef
, var_mprop178
, var180
) /* init on <var179:MAttributeDef>*/;
4899 var_mpropdef181
= var179
;
4900 /* <var_mpropdef181:MAttributeDef> isa nullable MPROPDEF */
4901 type_struct185
= self
->type
->resolution_table
->types
[COLOR_parser_nodes__APropdef_VTMPROPDEF
];
4902 cltype183
= type_struct185
->color
;
4903 idtype184
= type_struct185
->id
;
4904 if(cltype183
>= var_mpropdef181
->type
->table_size
) {
4907 var182
= var_mpropdef181
->type
->type_table
[cltype183
] == idtype184
;
4910 var_class_name186
= var_mpropdef181
== NULL ?
"null" : var_mpropdef181
->type
->name
;
4911 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name186
);
4912 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 616);
4915 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__mpropdef_61d
]))(self
, var_mpropdef181
) /* mpropdef= on <self:AAttrPropdef>*/;
4916 var187
= ((val
* (*)(val
*))(var_modelbuilder
->class->vft
[COLOR_modelize_property__ModelBuilder__mpropdef2npropdef
]))(var_modelbuilder
) /* mpropdef2npropdef on <var_modelbuilder:ModelBuilder>*/;
4917 ((void (*)(val
*, val
*, val
*))(var187
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var187
, var_mpropdef181
, self
) /* []= on <var187:HashMap[MPropDef, APropdef]>*/;
4918 var_readname188
= var_name
;
4919 var189
= ((val
* (*)(val
*, val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__try_get_mproperty_by_name
]))(var_modelbuilder
, var_nid2
, var_mclassdef
, var_readname188
) /* try_get_mproperty_by_name on <var_modelbuilder:ModelBuilder>*/;
4920 /* <var189:nullable MProperty> isa nullable MMethod */
4921 cltype191
= type_nullable_model__MMethod
.color
;
4922 idtype192
= type_nullable_model__MMethod
.id
;
4923 if(var189
== NULL
) {
4926 if(cltype191
>= var189
->type
->table_size
) {
4929 var190
= var189
->type
->type_table
[cltype191
] == idtype192
;
4933 var_class_name193
= var189
== NULL ?
"null" : var189
->type
->name
;
4934 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MMethod", var_class_name193
);
4935 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 620);
4938 var_mreadprop194
= var189
;
4940 if (var_mreadprop194
== NULL
) {
4941 var196
= 1; /* is null */
4943 var196
= 0; /* arg is null but recv is not */
4946 var197
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_visibility
]))(self
) /* n_visibility on <self:AAttrPropdef>*/;
4947 var198
= ((val
* (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__new_property_visibility
]))(self
, var_modelbuilder
, var_nclassdef
, var197
) /* new_property_visibility on <self:AAttrPropdef>*/;
4948 var_mvisibility199
= var198
;
4949 var200
= NEW_model__MMethod(&type_model__MMethod
);
4950 ((void (*)(val
*, val
*, val
*, val
*))(var200
->class->vft
[COLOR_model__MMethod__init
]))(var200
, var_mclassdef
, var_readname188
, var_mvisibility199
) /* init on <var200:MMethod>*/;
4951 var_mreadprop194
= var200
;
4952 var201
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_kwredef
]))(self
) /* n_kwredef on <self:AAttrPropdef>*/;
4954 var203
= ((short int (*)(val
*, val
*, val
*, val
*, short int, val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__check_redef_keyword
]))(self
, var_modelbuilder
, var_nclassdef
, var201
, var202
, var_mreadprop194
) /* check_redef_keyword on <self:AAttrPropdef>*/;
4961 var205
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_kwredef
]))(self
) /* n_kwredef on <self:AAttrPropdef>*/;
4963 var207
= ((short int (*)(val
*, val
*, val
*, val
*, short int, val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__check_redef_keyword
]))(self
, var_modelbuilder
, var_nclassdef
, var205
, var206
, var_mreadprop194
) /* check_redef_keyword on <self:AAttrPropdef>*/;
4969 var209
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_visibility
]))(self
) /* n_visibility on <self:AAttrPropdef>*/;
4970 ((void (*)(val
*, val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__check_redef_property_visibility
]))(self
, var_modelbuilder
, var_nclassdef
, var209
, var_mreadprop194
) /* check_redef_property_visibility on <self:AAttrPropdef>*/;
4972 var210
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_property__AClassdef__mprop2npropdef
]))(var_nclassdef
) /* mprop2npropdef on <var_nclassdef:AClassdef>*/;
4973 ((void (*)(val
*, val
*, val
*))(var210
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var210
, var_mreadprop194
, self
) /* []= on <var210:Map[MProperty, APropdef]>*/;
4974 var211
= NEW_model__MMethodDef(&type_model__MMethodDef
);
4975 var212
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__location
]))(self
) /* location on <self:AAttrPropdef>*/;
4976 ((void (*)(val
*, val
*, val
*, val
*))(var211
->class->vft
[COLOR_model__MMethodDef__init
]))(var211
, var_mclassdef
, var_mreadprop194
, var212
) /* init on <var211:MMethodDef>*/;
4977 var_mreadpropdef213
= var211
;
4978 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_modelize_property__AAttrPropdef__mreadpropdef_61d
]))(self
, var_mreadpropdef213
) /* mreadpropdef= on <self:AAttrPropdef>*/;
4979 var214
= ((val
* (*)(val
*))(var_modelbuilder
->class->vft
[COLOR_modelize_property__ModelBuilder__mpropdef2npropdef
]))(var_modelbuilder
) /* mpropdef2npropdef on <var_modelbuilder:ModelBuilder>*/;
4980 ((void (*)(val
*, val
*, val
*))(var214
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var214
, var_mreadpropdef213
, self
) /* []= on <var214:HashMap[MPropDef, APropdef]>*/;
4982 var216
= varonce215
;
4986 var219
= string__NativeString__to_s_with_length(var217
, var218
);
4988 varonce215
= var216
;
4990 var220
= ((val
* (*)(val
*, val
*))(var_name
->class->vft
[COLOR_string__String___43d
]))(var_name
, var216
) /* + on <var_name:String>*/;
4991 var_writename221
= var220
;
4992 var222
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_writable
]))(self
) /* n_writable on <self:AAttrPropdef>*/;
4993 var_nwritable223
= var222
;
4994 var224
= ((val
* (*)(val
*, val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__try_get_mproperty_by_name
]))(var_modelbuilder
, var_nid2
, var_mclassdef
, var_writename221
) /* try_get_mproperty_by_name on <var_modelbuilder:ModelBuilder>*/;
4995 /* <var224:nullable MProperty> isa nullable MMethod */
4996 cltype226
= type_nullable_model__MMethod
.color
;
4997 idtype227
= type_nullable_model__MMethod
.id
;
4998 if(var224
== NULL
) {
5001 if(cltype226
>= var224
->type
->table_size
) {
5004 var225
= var224
->type
->type_table
[cltype226
] == idtype227
;
5008 var_class_name228
= var224
== NULL ?
"null" : var224
->type
->name
;
5009 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MMethod", var_class_name228
);
5010 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 637);
5013 var_mwriteprop229
= var224
;
5015 var_nwkwredef
= var230
;
5017 if (var_nwritable223
== NULL
) {
5018 var232
= 0; /* is null */
5020 var232
= 1; /* arg is null and recv is not */
5023 var233
= ((val
* (*)(val
*))(var_nwritable223
->class->vft
[COLOR_parser_nodes__AAble__n_kwredef
]))(var_nwritable223
) /* n_kwredef on <var_nwritable223:nullable AAble(AAble)>*/;
5024 var_nwkwredef
= var233
;
5028 if (var_mwriteprop229
== NULL
) {
5029 var235
= 1; /* is null */
5031 var235
= 0; /* arg is null but recv is not */
5035 if (var_nwritable223
== NULL
) {
5036 var237
= 0; /* is null */
5038 var237
= 1; /* arg is null and recv is not */
5041 var238
= ((val
* (*)(val
*))(var_nwritable223
->class->vft
[COLOR_parser_nodes__AAble__n_visibility
]))(var_nwritable223
) /* n_visibility on <var_nwritable223:nullable AAble(AAble)>*/;
5042 var239
= ((val
* (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__new_property_visibility
]))(self
, var_modelbuilder
, var_nclassdef
, var238
) /* new_property_visibility on <self:AAttrPropdef>*/;
5043 var_mvisibility240
= var239
;
5045 var241
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model_base__Object__private_visibility
]))(self
) /* private_visibility on <self:AAttrPropdef>*/;
5046 var_mvisibility240
= var241
;
5048 var242
= NEW_model__MMethod(&type_model__MMethod
);
5049 ((void (*)(val
*, val
*, val
*, val
*))(var242
->class->vft
[COLOR_model__MMethod__init
]))(var242
, var_mclassdef
, var_writename221
, var_mvisibility240
) /* init on <var242:MMethod>*/;
5050 var_mwriteprop229
= var242
;
5052 var244
= ((short int (*)(val
*, val
*, val
*, val
*, short int, val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__check_redef_keyword
]))(self
, var_modelbuilder
, var_nclassdef
, var_nwkwredef
, var243
, var_mwriteprop229
) /* check_redef_keyword on <self:AAttrPropdef>*/;
5060 var247
= ((short int (*)(val
*, val
*, val
*, val
*, short int, val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__check_redef_keyword
]))(self
, var_modelbuilder
, var_nclassdef
, var_nwkwredef
, var246
, var_mwriteprop229
) /* check_redef_keyword on <self:AAttrPropdef>*/;
5067 if (var_nwritable223
== NULL
) {
5068 var250
= 0; /* is null */
5070 var250
= 1; /* arg is null and recv is not */
5073 var251
= ((val
* (*)(val
*))(var_nwritable223
->class->vft
[COLOR_parser_nodes__AAble__n_visibility
]))(var_nwritable223
) /* n_visibility on <var_nwritable223:nullable AAble(AAble)>*/;
5074 ((void (*)(val
*, val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__check_redef_property_visibility
]))(self
, var_modelbuilder
, var_nclassdef
, var251
, var_mwriteprop229
) /* check_redef_property_visibility on <self:AAttrPropdef>*/;
5078 var252
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_property__AClassdef__mprop2npropdef
]))(var_nclassdef
) /* mprop2npropdef on <var_nclassdef:AClassdef>*/;
5079 ((void (*)(val
*, val
*, val
*))(var252
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var252
, var_mwriteprop229
, self
) /* []= on <var252:Map[MProperty, APropdef]>*/;
5080 var253
= NEW_model__MMethodDef(&type_model__MMethodDef
);
5081 var254
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__location
]))(self
) /* location on <self:AAttrPropdef>*/;
5082 ((void (*)(val
*, val
*, val
*, val
*))(var253
->class->vft
[COLOR_model__MMethodDef__init
]))(var253
, var_mclassdef
, var_mwriteprop229
, var254
) /* init on <var253:MMethodDef>*/;
5083 var_mwritepropdef255
= var253
;
5084 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_modelize_property__AAttrPropdef__mwritepropdef_61d
]))(self
, var_mwritepropdef255
) /* mwritepropdef= on <self:AAttrPropdef>*/;
5085 var256
= ((val
* (*)(val
*))(var_modelbuilder
->class->vft
[COLOR_modelize_property__ModelBuilder__mpropdef2npropdef
]))(var_modelbuilder
) /* mpropdef2npropdef on <var_modelbuilder:ModelBuilder>*/;
5086 ((void (*)(val
*, val
*, val
*))(var256
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var256
, var_mwritepropdef255
, self
) /* []= on <var256:HashMap[MPropDef, APropdef]>*/;
5090 /* method modelize_property#AAttrPropdef#build_property for (self: Object, ModelBuilder, AClassdef) */
5091 void VIRTUAL_modelize_property__AAttrPropdef__build_property(val
* self
, val
* p0
, val
* p1
) {
5092 modelize_property__AAttrPropdef__build_property(self
, p0
, p1
);
5095 /* method modelize_property#AAttrPropdef#build_signature for (self: AAttrPropdef, ModelBuilder, AClassdef) */
5096 void modelize_property__AAttrPropdef__build_signature(val
* self
, val
* p0
, val
* p1
) {
5097 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
5098 val
* var_nclassdef
/* var nclassdef: AClassdef */;
5099 val
* var
/* : nullable MPropDef */;
5100 val
* var_mpropdef
/* var mpropdef: nullable MAttributeDef */;
5101 val
* var1
/* : null */;
5102 short int var2
/* : Bool */;
5103 val
* var3
/* : MClassDef */;
5104 val
* var4
/* : MModule */;
5105 val
* var_mmodule
/* var mmodule: MModule */;
5106 val
* var5
/* : null */;
5107 val
* var_mtype
/* var mtype: nullable MType */;
5108 val
* var6
/* : nullable AType */;
5109 val
* var_ntype
/* var ntype: nullable AType */;
5110 val
* var7
/* : null */;
5111 short int var8
/* : Bool */;
5112 val
* var9
/* : nullable MType */;
5113 val
* var10
/* : null */;
5114 short int var11
/* : Bool */;
5115 val
* var12
/* : nullable AExpr */;
5116 val
* var_nexpr
/* var nexpr: nullable AExpr */;
5117 val
* var13
/* : null */;
5118 short int var14
/* : Bool */;
5119 val
* var15
/* : null */;
5120 short int var16
/* : Bool */;
5121 short int var17
/* : Bool */;
5124 val
* var18
/* : AType */;
5125 val
* var19
/* : nullable MType */;
5126 short int var20
/* : Bool */;
5129 static val
* varonce
;
5130 val
* var23
/* : String */;
5131 char* var24
/* : NativeString */;
5132 long var25
/* : Int */;
5133 val
* var26
/* : String */;
5134 val
* var27
/* : nullable MClass */;
5135 val
* var_cla
/* var cla: nullable MClass */;
5136 val
* var28
/* : null */;
5137 short int var29
/* : Bool */;
5138 val
* var30
/* : MClassType */;
5139 short int var31
/* : Bool */;
5142 static val
* varonce34
;
5143 val
* var35
/* : String */;
5144 char* var36
/* : NativeString */;
5145 long var37
/* : Int */;
5146 val
* var38
/* : String */;
5147 val
* var39
/* : nullable MClass */;
5148 val
* var_cla40
/* var cla: nullable MClass */;
5149 val
* var41
/* : null */;
5150 short int var42
/* : Bool */;
5151 val
* var43
/* : MClassType */;
5152 short int var44
/* : Bool */;
5155 static val
* varonce47
;
5156 val
* var48
/* : String */;
5157 char* var49
/* : NativeString */;
5158 long var50
/* : Int */;
5159 val
* var51
/* : String */;
5160 val
* var52
/* : nullable MClass */;
5161 val
* var_cla53
/* var cla: nullable MClass */;
5162 val
* var54
/* : null */;
5163 short int var55
/* : Bool */;
5164 val
* var56
/* : MClassType */;
5165 short int var57
/* : Bool */;
5168 static val
* varonce60
;
5169 val
* var61
/* : String */;
5170 char* var62
/* : NativeString */;
5171 long var63
/* : Int */;
5172 val
* var64
/* : String */;
5173 val
* var65
/* : nullable MClass */;
5174 val
* var_cla66
/* var cla: nullable MClass */;
5175 val
* var67
/* : null */;
5176 short int var68
/* : Bool */;
5177 val
* var69
/* : MClassType */;
5178 short int var70
/* : Bool */;
5181 static val
* varonce73
;
5182 val
* var74
/* : String */;
5183 char* var75
/* : NativeString */;
5184 long var76
/* : Int */;
5185 val
* var77
/* : String */;
5186 val
* var78
/* : nullable MClass */;
5187 val
* var_cla79
/* var cla: nullable MClass */;
5188 val
* var80
/* : null */;
5189 short int var81
/* : Bool */;
5190 val
* var82
/* : MClassType */;
5191 short int var83
/* : Bool */;
5194 static val
* varonce86
;
5195 val
* var87
/* : String */;
5196 char* var88
/* : NativeString */;
5197 long var89
/* : Int */;
5198 val
* var90
/* : String */;
5199 val
* var91
/* : nullable MClass */;
5200 val
* var_cla92
/* var cla: nullable MClass */;
5201 val
* var93
/* : null */;
5202 short int var94
/* : Bool */;
5203 val
* var95
/* : MClassType */;
5204 static val
* varonce96
;
5205 val
* var97
/* : String */;
5206 char* var98
/* : NativeString */;
5207 long var99
/* : Int */;
5208 val
* var100
/* : String */;
5209 static val
* varonce101
;
5210 val
* var102
/* : String */;
5211 char* var103
/* : NativeString */;
5212 long var104
/* : Int */;
5213 val
* var105
/* : String */;
5214 val
* var106
/* : Array[Object] */;
5215 long var107
/* : Int */;
5216 val
* var108
/* : NativeArray[Object] */;
5217 val
* var109
/* : String */;
5218 static val
* varonce110
;
5219 val
* var111
/* : String */;
5220 char* var112
/* : NativeString */;
5221 long var113
/* : Int */;
5222 val
* var114
/* : String */;
5223 val
* var115
/* : Array[Object] */;
5224 long var116
/* : Int */;
5225 val
* var117
/* : NativeArray[Object] */;
5226 val
* var118
/* : String */;
5227 val
* var119
/* : null */;
5228 short int var120
/* : Bool */;
5229 short int var121
/* : Bool */;
5232 val
* var124
/* : AType */;
5233 val
* var125
/* : nullable MType */;
5234 val
* var_xmtype
/* var xmtype: nullable MType */;
5235 short int var126
/* : Bool */;
5236 short int var127
/* : Bool */;
5237 short int var_
/* var : Bool */;
5238 val
* var128
/* : ToolContext */;
5239 val
* var129
/* : OptionCount */;
5240 val
* var130
/* : nullable Object */;
5241 long var131
/* : Int */;
5242 short int var132
/* : Bool */;
5243 short int var134
/* : Bool */;
5246 const char* var_class_name
;
5247 long var137
/* : Int */;
5248 short int var138
/* : Bool */;
5249 static val
* varonce139
;
5250 val
* var140
/* : String */;
5251 char* var141
/* : NativeString */;
5252 long var142
/* : Int */;
5253 val
* var143
/* : String */;
5254 val
* var144
/* : null */;
5255 short int var145
/* : Bool */;
5256 val
* var146
/* : nullable MMethodDef */;
5257 val
* var_mreadpropdef
/* var mreadpropdef: nullable MMethodDef */;
5258 val
* var147
/* : null */;
5259 short int var148
/* : Bool */;
5260 val
* var149
/* : MSignature */;
5261 val
* var150
/* : Array[MParameter] */;
5262 val
* var_msignature
/* var msignature: MSignature */;
5263 val
* var151
/* : nullable MMethodDef */;
5264 val
* var_msritepropdef
/* var msritepropdef: nullable MMethodDef */;
5265 val
* var152
/* : nullable MMethodDef */;
5266 val
* var153
/* : null */;
5267 short int var154
/* : Bool */;
5268 val
* var155
/* : nullable TAttrid */;
5269 val
* var156
/* : null */;
5270 short int var157
/* : Bool */;
5271 val
* var158
/* : nullable TAttrid */;
5272 val
* var159
/* : String */;
5273 long var160
/* : Int */;
5274 val
* var161
/* : String */;
5275 val
* var_name
/* var name: String */;
5276 val
* var162
/* : nullable TId */;
5277 val
* var163
/* : String */;
5278 val
* var164
/* : MParameter */;
5279 short int var165
/* : Bool */;
5280 val
* var_mparameter
/* var mparameter: MParameter */;
5281 val
* var166
/* : MSignature */;
5282 val
* var167
/* : Array[MParameter] */;
5283 long var168
/* : Int */;
5284 val
* var_169
/* var : Array[MParameter] */;
5285 val
* var170
/* : null */;
5286 val
* var_msignature171
/* var msignature: MSignature */;
5287 val
* var172
/* : nullable MMethodDef */;
5288 var_modelbuilder
= p0
;
5290 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__mpropdef
]))(self
) /* mpropdef on <self:AAttrPropdef>*/;
5293 if (var_mpropdef
== NULL
) {
5294 var2
= 1; /* is null */
5296 var2
= 0; /* arg is null but recv is not */
5302 var3
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var_mpropdef
) /* mclassdef on <var_mpropdef:nullable MAttributeDef(MAttributeDef)>*/;
5303 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_model__MClassDef__mmodule
]))(var3
) /* mmodule on <var3:MClassDef>*/;
5307 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_type
]))(self
) /* n_type on <self:AAttrPropdef>*/;
5310 if (var_ntype
== NULL
) {
5311 var8
= 0; /* is null */
5313 var8
= 1; /* arg is null and recv is not */
5316 var9
= ((val
* (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelize_class__ModelBuilder__resolve_mtype
]))(var_modelbuilder
, var_nclassdef
, var_ntype
) /* resolve_mtype on <var_modelbuilder:ModelBuilder>*/;
5319 if (var_mtype
== NULL
) {
5320 var11
= 1; /* is null */
5322 var11
= 0; /* arg is null but recv is not */
5330 var12
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_expr
]))(self
) /* n_expr on <self:AAttrPropdef>*/;
5333 if (var_mtype
== NULL
) {
5334 var14
= 1; /* is null */
5336 var14
= 0; /* arg is null but recv is not */
5340 if (var_nexpr
== NULL
) {
5341 var16
= 0; /* is null */
5343 var16
= 1; /* arg is null and recv is not */
5346 /* <var_nexpr:nullable AExpr(AExpr)> isa ANewExpr */
5347 cltype
= type_parser_nodes__ANewExpr
.color
;
5348 idtype
= type_parser_nodes__ANewExpr
.id
;
5349 if(cltype
>= var_nexpr
->type
->table_size
) {
5352 var17
= var_nexpr
->type
->type_table
[cltype
] == idtype
;
5355 var18
= ((val
* (*)(val
*))(var_nexpr
->class->vft
[COLOR_parser_nodes__ANewExpr__n_type
]))(var_nexpr
) /* n_type on <var_nexpr:nullable AExpr(ANewExpr)>*/;
5356 var19
= ((val
* (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelize_class__ModelBuilder__resolve_mtype
]))(var_modelbuilder
, var_nclassdef
, var18
) /* resolve_mtype on <var_modelbuilder:ModelBuilder>*/;
5359 /* <var_nexpr:nullable AExpr(AExpr)> isa AIntExpr */
5360 cltype21
= type_parser_nodes__AIntExpr
.color
;
5361 idtype22
= type_parser_nodes__AIntExpr
.id
;
5362 if(cltype21
>= var_nexpr
->type
->table_size
) {
5365 var20
= var_nexpr
->type
->type_table
[cltype21
] == idtype22
;
5373 var26
= string__NativeString__to_s_with_length(var24
, var25
);
5377 var27
= ((val
* (*)(val
*, val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__try_get_mclass_by_name
]))(var_modelbuilder
, var_nexpr
, var_mmodule
, var23
) /* try_get_mclass_by_name on <var_modelbuilder:ModelBuilder>*/;
5380 if (var_cla
== NULL
) {
5381 var29
= 0; /* is null */
5383 var29
= 1; /* arg is null and recv is not */
5386 var30
= ((val
* (*)(val
*))(var_cla
->class->vft
[COLOR_model__MClass__mclass_type
]))(var_cla
) /* mclass_type on <var_cla:nullable MClass(MClass)>*/;
5391 /* <var_nexpr:nullable AExpr(AExpr)> isa AFloatExpr */
5392 cltype32
= type_parser_nodes__AFloatExpr
.color
;
5393 idtype33
= type_parser_nodes__AFloatExpr
.id
;
5394 if(cltype32
>= var_nexpr
->type
->table_size
) {
5397 var31
= var_nexpr
->type
->type_table
[cltype32
] == idtype33
;
5405 var38
= string__NativeString__to_s_with_length(var36
, var37
);
5409 var39
= ((val
* (*)(val
*, val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__try_get_mclass_by_name
]))(var_modelbuilder
, var_nexpr
, var_mmodule
, var35
) /* try_get_mclass_by_name on <var_modelbuilder:ModelBuilder>*/;
5412 if (var_cla40
== NULL
) {
5413 var42
= 0; /* is null */
5415 var42
= 1; /* arg is null and recv is not */
5418 var43
= ((val
* (*)(val
*))(var_cla40
->class->vft
[COLOR_model__MClass__mclass_type
]))(var_cla40
) /* mclass_type on <var_cla40:nullable MClass(MClass)>*/;
5423 /* <var_nexpr:nullable AExpr(AExpr)> isa ACharExpr */
5424 cltype45
= type_parser_nodes__ACharExpr
.color
;
5425 idtype46
= type_parser_nodes__ACharExpr
.id
;
5426 if(cltype45
>= var_nexpr
->type
->table_size
) {
5429 var44
= var_nexpr
->type
->type_table
[cltype45
] == idtype46
;
5437 var51
= string__NativeString__to_s_with_length(var49
, var50
);
5441 var52
= ((val
* (*)(val
*, val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__try_get_mclass_by_name
]))(var_modelbuilder
, var_nexpr
, var_mmodule
, var48
) /* try_get_mclass_by_name on <var_modelbuilder:ModelBuilder>*/;
5444 if (var_cla53
== NULL
) {
5445 var55
= 0; /* is null */
5447 var55
= 1; /* arg is null and recv is not */
5450 var56
= ((val
* (*)(val
*))(var_cla53
->class->vft
[COLOR_model__MClass__mclass_type
]))(var_cla53
) /* mclass_type on <var_cla53:nullable MClass(MClass)>*/;
5455 /* <var_nexpr:nullable AExpr(AExpr)> isa ABoolExpr */
5456 cltype58
= type_parser_nodes__ABoolExpr
.color
;
5457 idtype59
= type_parser_nodes__ABoolExpr
.id
;
5458 if(cltype58
>= var_nexpr
->type
->table_size
) {
5461 var57
= var_nexpr
->type
->type_table
[cltype58
] == idtype59
;
5469 var64
= string__NativeString__to_s_with_length(var62
, var63
);
5473 var65
= ((val
* (*)(val
*, val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__try_get_mclass_by_name
]))(var_modelbuilder
, var_nexpr
, var_mmodule
, var61
) /* try_get_mclass_by_name on <var_modelbuilder:ModelBuilder>*/;
5476 if (var_cla66
== NULL
) {
5477 var68
= 0; /* is null */
5479 var68
= 1; /* arg is null and recv is not */
5482 var69
= ((val
* (*)(val
*))(var_cla66
->class->vft
[COLOR_model__MClass__mclass_type
]))(var_cla66
) /* mclass_type on <var_cla66:nullable MClass(MClass)>*/;
5487 /* <var_nexpr:nullable AExpr(AExpr)> isa ASuperstringExpr */
5488 cltype71
= type_parser_nodes__ASuperstringExpr
.color
;
5489 idtype72
= type_parser_nodes__ASuperstringExpr
.id
;
5490 if(cltype71
>= var_nexpr
->type
->table_size
) {
5493 var70
= var_nexpr
->type
->type_table
[cltype71
] == idtype72
;
5501 var77
= string__NativeString__to_s_with_length(var75
, var76
);
5505 var78
= ((val
* (*)(val
*, val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__try_get_mclass_by_name
]))(var_modelbuilder
, var_nexpr
, var_mmodule
, var74
) /* try_get_mclass_by_name on <var_modelbuilder:ModelBuilder>*/;
5508 if (var_cla79
== NULL
) {
5509 var81
= 0; /* is null */
5511 var81
= 1; /* arg is null and recv is not */
5514 var82
= ((val
* (*)(val
*))(var_cla79
->class->vft
[COLOR_model__MClass__mclass_type
]))(var_cla79
) /* mclass_type on <var_cla79:nullable MClass(MClass)>*/;
5519 /* <var_nexpr:nullable AExpr(AExpr)> isa AStringFormExpr */
5520 cltype84
= type_parser_nodes__AStringFormExpr
.color
;
5521 idtype85
= type_parser_nodes__AStringFormExpr
.id
;
5522 if(cltype84
>= var_nexpr
->type
->table_size
) {
5525 var83
= var_nexpr
->type
->type_table
[cltype84
] == idtype85
;
5533 var90
= string__NativeString__to_s_with_length(var88
, var89
);
5537 var91
= ((val
* (*)(val
*, val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__try_get_mclass_by_name
]))(var_modelbuilder
, var_nexpr
, var_mmodule
, var87
) /* try_get_mclass_by_name on <var_modelbuilder:ModelBuilder>*/;
5540 if (var_cla92
== NULL
) {
5541 var94
= 0; /* is null */
5543 var94
= 1; /* arg is null and recv is not */
5546 var95
= ((val
* (*)(val
*))(var_cla92
->class->vft
[COLOR_model__MClass__mclass_type
]))(var_cla92
) /* mclass_type on <var_cla92:nullable MClass(MClass)>*/;
5554 var98
= "Error: Untyped attribute ";
5556 var100
= string__NativeString__to_s_with_length(var98
, var99
);
5561 var102
= varonce101
;
5563 var103
= ". Implicit typing allowed only for literals and new.";
5565 var105
= string__NativeString__to_s_with_length(var103
, var104
);
5567 varonce101
= var102
;
5569 var106
= NEW_array__Array(&type_array__Arraykernel__Object
);
5570 { /* var106 = array_instance Array[Object] */
5572 var108
= NEW_array__NativeArray(var107
, &type_array__NativeArraykernel__Object
);
5573 ((struct instance_array__NativeArray
*)var108
)->values
[0] = (val
*) var97
;
5574 ((struct instance_array__NativeArray
*)var108
)->values
[1] = (val
*) var_mpropdef
;
5575 ((struct instance_array__NativeArray
*)var108
)->values
[2] = (val
*) var102
;
5576 ((void (*)(val
*, val
*, long))(var106
->class->vft
[COLOR_array__Array__with_native
]))(var106
, var108
, var107
) /* with_native on <var106:Array[Object]>*/;
5578 var109
= ((val
* (*)(val
*))(var106
->class->vft
[COLOR_string__Object__to_s
]))(var106
) /* to_s on <var106:Array[Object]>*/;
5579 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, self
, var109
) /* error on <var_modelbuilder:ModelBuilder>*/;
5589 var111
= varonce110
;
5591 var112
= "Error: Untyped attribute ";
5593 var114
= string__NativeString__to_s_with_length(var112
, var113
);
5595 varonce110
= var111
;
5597 var115
= NEW_array__Array(&type_array__Arraykernel__Object
);
5598 { /* var115 = array_instance Array[Object] */
5600 var117
= NEW_array__NativeArray(var116
, &type_array__NativeArraykernel__Object
);
5601 ((struct instance_array__NativeArray
*)var117
)->values
[0] = (val
*) var111
;
5602 ((struct instance_array__NativeArray
*)var117
)->values
[1] = (val
*) var_mpropdef
;
5603 ((void (*)(val
*, val
*, long))(var115
->class->vft
[COLOR_array__Array__with_native
]))(var115
, var117
, var116
) /* with_native on <var115:Array[Object]>*/;
5605 var118
= ((val
* (*)(val
*))(var115
->class->vft
[COLOR_string__Object__to_s
]))(var115
) /* to_s on <var115:Array[Object]>*/;
5606 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, self
, var118
) /* error on <var_modelbuilder:ModelBuilder>*/;
5610 if (var_ntype
== NULL
) {
5611 var120
= 0; /* is null */
5613 var120
= 1; /* arg is null and recv is not */
5616 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5617 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 707);
5620 /* <var_nexpr:nullable AExpr> isa ANewExpr */
5621 cltype122
= type_parser_nodes__ANewExpr
.color
;
5622 idtype123
= type_parser_nodes__ANewExpr
.id
;
5623 if(var_nexpr
== NULL
) {
5626 if(cltype122
>= var_nexpr
->type
->table_size
) {
5629 var121
= var_nexpr
->type
->type_table
[cltype122
] == idtype123
;
5633 var124
= ((val
* (*)(val
*))(var_nexpr
->class->vft
[COLOR_parser_nodes__ANewExpr__n_type
]))(var_nexpr
) /* n_type on <var_nexpr:nullable AExpr(ANewExpr)>*/;
5634 var125
= ((val
* (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelize_class__ModelBuilder__resolve_mtype
]))(var_modelbuilder
, var_nclassdef
, var124
) /* resolve_mtype on <var_modelbuilder:ModelBuilder>*/;
5635 var_xmtype
= var125
;
5636 if (var_xmtype
== NULL
) {
5637 var127
= 0; /* <var_mtype:nullable MType(MType)> cannot be null */
5639 var127
= ((short int (*)(val
*, val
*))(var_xmtype
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_xmtype
, var_mtype
) /* == on <var_xmtype:nullable MType>*/;
5643 var128
= ((val
* (*)(val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var_modelbuilder
) /* toolcontext on <var_modelbuilder:ModelBuilder>*/;
5644 var129
= ((val
* (*)(val
*))(var128
->class->vft
[COLOR_toolcontext__ToolContext__opt_warn
]))(var128
) /* opt_warn on <var128:ToolContext>*/;
5645 var130
= ((val
* (*)(val
*))(var129
->class->vft
[COLOR_opts__Option__value
]))(var129
) /* value on <var129:OptionCount>*/;
5647 { /* Inline kernel#Int#>= (var130,var131) */
5648 /* Covariant cast for argument 0 (i) <var131:Int> isa OTHER */
5649 /* <var131:Int> isa OTHER */
5650 var134
= 1; /* easy <var131:Int> isa OTHER*/
5652 var_class_name
= type_kernel__Int
.name
;
5653 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
5654 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 262);
5657 var137
= ((struct instance_kernel__Int
*)var130
)->value
; /* autounbox from nullable Object to Int */;
5658 var138
= var137
>= var131
;
5661 RET_LABEL133
:(void)0;
5669 var140
= varonce139
;
5671 var141
= "Warning: useless type definition";
5673 var143
= string__NativeString__to_s_with_length(var141
, var142
);
5675 varonce139
= var140
;
5677 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__warning
]))(var_modelbuilder
, var_ntype
, var140
) /* warning on <var_modelbuilder:ModelBuilder>*/;
5684 if (var_mtype
== NULL
) {
5685 var145
= 1; /* is null */
5687 var145
= 0; /* arg is null but recv is not */
5693 ((void (*)(val
*, val
*))(var_mpropdef
->class->vft
[COLOR_model__MAttributeDef__static_mtype_61d
]))(var_mpropdef
, var_mtype
) /* static_mtype= on <var_mpropdef:nullable MAttributeDef(MAttributeDef)>*/;
5694 var146
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__AAttrPropdef__mreadpropdef
]))(self
) /* mreadpropdef on <self:AAttrPropdef>*/;
5695 var_mreadpropdef
= var146
;
5697 if (var_mreadpropdef
== NULL
) {
5698 var148
= 0; /* is null */
5700 var148
= 1; /* arg is null and recv is not */
5703 var149
= NEW_model__MSignature(&type_model__MSignature
);
5704 var150
= NEW_array__Array(&type_array__Arraymodel__MParameter
);
5705 ((void (*)(val
*))(var150
->class->vft
[COLOR_array__Array__init
]))(var150
) /* init on <var150:Array[MParameter]>*/;
5706 ((void (*)(val
*, val
*, val
*))(var149
->class->vft
[COLOR_model__MSignature__init
]))(var149
, var150
, var_mtype
) /* init on <var149:MSignature>*/;
5707 var_msignature
= var149
;
5708 ((void (*)(val
*, val
*))(var_mreadpropdef
->class->vft
[COLOR_model__MMethodDef__msignature_61d
]))(var_mreadpropdef
, var_msignature
) /* msignature= on <var_mreadpropdef:nullable MMethodDef(MMethodDef)>*/;
5711 var151
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__AAttrPropdef__mwritepropdef
]))(self
) /* mwritepropdef on <self:AAttrPropdef>*/;
5712 var_msritepropdef
= var151
;
5713 var152
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__AAttrPropdef__mwritepropdef
]))(self
) /* mwritepropdef on <self:AAttrPropdef>*/;
5715 if (var152
== NULL
) {
5716 var154
= 0; /* is null */
5718 var154
= 1; /* arg is null and recv is not */
5721 var155
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_id
]))(self
) /* n_id on <self:AAttrPropdef>*/;
5723 if (var155
== NULL
) {
5724 var157
= 0; /* is null */
5726 var157
= 1; /* arg is null and recv is not */
5729 var158
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_id
]))(self
) /* n_id on <self:AAttrPropdef>*/;
5730 if (var158
== NULL
) {
5731 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
5732 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 730);
5735 var159
= ((val
* (*)(val
*))(var158
->class->vft
[COLOR_parser_nodes__Token__text
]))(var158
) /* text on <var158:nullable TAttrid>*/;
5738 var161
= ((val
* (*)(val
*, long))(var159
->class->vft
[COLOR_string__AbstractString__substring_from
]))(var159
, var160
) /* substring_from on <var159:String>*/;
5741 var162
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_id2
]))(self
) /* n_id2 on <self:AAttrPropdef>*/;
5742 if (var162
== NULL
) {
5743 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
5744 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 732);
5747 var163
= ((val
* (*)(val
*))(var162
->class->vft
[COLOR_parser_nodes__Token__text
]))(var162
) /* text on <var162:nullable TId>*/;
5751 var164
= NEW_model__MParameter(&type_model__MParameter
);
5753 ((void (*)(val
*, val
*, val
*, short int))(var164
->class->vft
[COLOR_model__MParameter__init
]))(var164
, var_name
, var_mtype
, var165
) /* init on <var164:MParameter>*/;
5754 var_mparameter
= var164
;
5755 var166
= NEW_model__MSignature(&type_model__MSignature
);
5756 var167
= NEW_array__Array(&type_array__Arraymodel__MParameter
);
5758 ((void (*)(val
*, long))(var167
->class->vft
[COLOR_array__Array__with_capacity
]))(var167
, var168
) /* with_capacity on <var167:Array[MParameter]>*/;
5760 ((void (*)(val
*, val
*))(var_169
->class->vft
[COLOR_abstract_collection__Sequence__push
]))(var_169
, var_mparameter
) /* push on <var_169:Array[MParameter]>*/;
5762 ((void (*)(val
*, val
*, val
*))(var166
->class->vft
[COLOR_model__MSignature__init
]))(var166
, var_169
, var170
) /* init on <var166:MSignature>*/;
5763 var_msignature171
= var166
;
5764 var172
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__AAttrPropdef__mwritepropdef
]))(self
) /* mwritepropdef on <self:AAttrPropdef>*/;
5765 if (var172
== NULL
) {
5766 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
5767 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 736);
5770 ((void (*)(val
*, val
*))(var172
->class->vft
[COLOR_model__MMethodDef__msignature_61d
]))(var172
, var_msignature171
) /* msignature= on <var172:nullable MMethodDef>*/;
5776 /* method modelize_property#AAttrPropdef#build_signature for (self: Object, ModelBuilder, AClassdef) */
5777 void VIRTUAL_modelize_property__AAttrPropdef__build_signature(val
* self
, val
* p0
, val
* p1
) {
5778 modelize_property__AAttrPropdef__build_signature(self
, p0
, p1
);
5781 /* method modelize_property#AAttrPropdef#check_signature for (self: AAttrPropdef, ModelBuilder, AClassdef) */
5782 void modelize_property__AAttrPropdef__check_signature(val
* self
, val
* p0
, val
* p1
) {
5783 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
5784 val
* var_nclassdef
/* var nclassdef: AClassdef */;
5785 val
* var
/* : nullable MPropDef */;
5786 val
* var_mpropdef
/* var mpropdef: nullable MAttributeDef */;
5787 val
* var1
/* : null */;
5788 short int var2
/* : Bool */;
5789 val
* var3
/* : MClassDef */;
5790 val
* var4
/* : MModule */;
5791 val
* var_mmodule
/* var mmodule: MModule */;
5792 val
* var5
/* : nullable AType */;
5793 val
* var_ntype
/* var ntype: nullable AType */;
5794 val
* var6
/* : nullable MPropDef */;
5795 val
* var7
/* : nullable MType */;
5796 val
* var_mtype
/* var mtype: nullable MType */;
5797 val
* var8
/* : null */;
5798 short int var9
/* : Bool */;
5799 short int var10
/* : Bool */;
5800 short int var11
/* : Bool */;
5801 val
* var12
/* : MProperty */;
5802 val
* var13
/* : MPropDef */;
5803 val
* var14
/* : nullable MType */;
5804 val
* var_precursor_type
/* var precursor_type: nullable MType */;
5805 val
* var15
/* : null */;
5806 short int var16
/* : Bool */;
5807 short int var17
/* : Bool */;
5808 static val
* varonce
;
5809 val
* var18
/* : String */;
5810 char* var19
/* : NativeString */;
5811 long var20
/* : Int */;
5812 val
* var21
/* : String */;
5813 static val
* varonce22
;
5814 val
* var23
/* : String */;
5815 char* var24
/* : NativeString */;
5816 long var25
/* : Int */;
5817 val
* var26
/* : String */;
5818 static val
* varonce27
;
5819 val
* var28
/* : String */;
5820 char* var29
/* : NativeString */;
5821 long var30
/* : Int */;
5822 val
* var31
/* : String */;
5823 val
* var32
/* : Array[Object] */;
5824 long var33
/* : Int */;
5825 val
* var34
/* : NativeArray[Object] */;
5826 val
* var35
/* : String */;
5827 val
* var36
/* : nullable MMethodDef */;
5828 val
* var_meth
/* var meth: nullable MMethodDef */;
5829 val
* var37
/* : null */;
5830 short int var38
/* : Bool */;
5831 val
* var39
/* : nullable MMethodDef */;
5832 val
* var40
/* : null */;
5833 short int var41
/* : Bool */;
5834 var_modelbuilder
= p0
;
5836 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__mpropdef
]))(self
) /* mpropdef on <self:AAttrPropdef>*/;
5839 if (var_mpropdef
== NULL
) {
5840 var2
= 1; /* is null */
5842 var2
= 0; /* arg is null but recv is not */
5848 var3
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var_mpropdef
) /* mclassdef on <var_mpropdef:nullable MAttributeDef(MAttributeDef)>*/;
5849 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_model__MClassDef__mmodule
]))(var3
) /* mmodule on <var3:MClassDef>*/;
5851 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_type
]))(self
) /* n_type on <self:AAttrPropdef>*/;
5853 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__mpropdef
]))(self
) /* mpropdef on <self:AAttrPropdef>*/;
5855 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
5856 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 746);
5859 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_model__MAttributeDef__static_mtype
]))(var6
) /* static_mtype on <var6:nullable MPropDef(nullable MAttributeDef)>*/;
5863 if (var_mtype
== NULL
) {
5864 var9
= 1; /* is null */
5866 var9
= 0; /* arg is null but recv is not */
5872 var10
= ((short int (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__is_intro
]))(var_mpropdef
) /* is_intro on <var_mpropdef:nullable MAttributeDef(MAttributeDef)>*/;
5875 var12
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var_mpropdef
) /* mproperty on <var_mpropdef:nullable MAttributeDef(MAttributeDef)>*/;
5876 var13
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_model__MProperty__intro
]))(var12
) /* intro on <var12:MProperty(MAttribute)>*/;
5877 var14
= ((val
* (*)(val
*))(var13
->class->vft
[COLOR_model__MAttributeDef__static_mtype
]))(var13
) /* static_mtype on <var13:MPropDef(MAttributeDef)>*/;
5878 var_precursor_type
= var14
;
5880 if (var_precursor_type
== NULL
) {
5881 var16
= 1; /* is null */
5883 var16
= 0; /* arg is null but recv is not */
5889 var17
= ((short int (*)(val
*, val
*))(var_mtype
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_mtype
, var_precursor_type
) /* != on <var_mtype:nullable MType(MType)>*/;
5891 if (var_ntype
== NULL
) {
5892 fprintf(stderr
, "Runtime error: %s", "Cast failed");
5893 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 756);
5899 var19
= "Redef Error: Wrong static type. found ";
5901 var21
= string__NativeString__to_s_with_length(var19
, var20
);
5908 var24
= ", expected ";
5910 var26
= string__NativeString__to_s_with_length(var24
, var25
);
5919 var31
= string__NativeString__to_s_with_length(var29
, var30
);
5923 var32
= NEW_array__Array(&type_array__Arraykernel__Object
);
5924 { /* var32 = array_instance Array[Object] */
5926 var34
= NEW_array__NativeArray(var33
, &type_array__NativeArraykernel__Object
);
5927 ((struct instance_array__NativeArray
*)var34
)->values
[0] = (val
*) var18
;
5928 ((struct instance_array__NativeArray
*)var34
)->values
[1] = (val
*) var_mtype
;
5929 ((struct instance_array__NativeArray
*)var34
)->values
[2] = (val
*) var23
;
5930 ((struct instance_array__NativeArray
*)var34
)->values
[3] = (val
*) var_precursor_type
;
5931 ((struct instance_array__NativeArray
*)var34
)->values
[4] = (val
*) var28
;
5932 ((void (*)(val
*, val
*, long))(var32
->class->vft
[COLOR_array__Array__with_native
]))(var32
, var34
, var33
) /* with_native on <var32:Array[Object]>*/;
5934 var35
= ((val
* (*)(val
*))(var32
->class->vft
[COLOR_string__Object__to_s
]))(var32
) /* to_s on <var32:Array[Object]>*/;
5935 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, var_ntype
, var35
) /* error on <var_modelbuilder:ModelBuilder>*/;
5941 var36
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__AAttrPropdef__mreadpropdef
]))(self
) /* mreadpropdef on <self:AAttrPropdef>*/;
5944 if (var_meth
== NULL
) {
5945 var38
= 0; /* is null */
5947 var38
= 1; /* arg is null and recv is not */
5950 ((void (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_modelize_property__AAttrPropdef__check_method_signature
]))(self
, var_modelbuilder
, var_nclassdef
, var_meth
) /* check_method_signature on <self:AAttrPropdef>*/;
5953 var39
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__AAttrPropdef__mwritepropdef
]))(self
) /* mwritepropdef on <self:AAttrPropdef>*/;
5956 if (var_meth
== NULL
) {
5957 var41
= 0; /* is null */
5959 var41
= 1; /* arg is null and recv is not */
5962 ((void (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_modelize_property__AAttrPropdef__check_method_signature
]))(self
, var_modelbuilder
, var_nclassdef
, var_meth
) /* check_method_signature on <self:AAttrPropdef>*/;
5967 /* method modelize_property#AAttrPropdef#check_signature for (self: Object, ModelBuilder, AClassdef) */
5968 void VIRTUAL_modelize_property__AAttrPropdef__check_signature(val
* self
, val
* p0
, val
* p1
) {
5969 modelize_property__AAttrPropdef__check_signature(self
, p0
, p1
);
5972 /* method modelize_property#AAttrPropdef#check_method_signature for (self: AAttrPropdef, ModelBuilder, AClassdef, MMethodDef) */
5973 void modelize_property__AAttrPropdef__check_method_signature(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
5974 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
5975 val
* var_nclassdef
/* var nclassdef: AClassdef */;
5976 val
* var_mpropdef
/* var mpropdef: MMethodDef */;
5977 val
* var
/* : MClassDef */;
5978 val
* var1
/* : MModule */;
5979 val
* var_mmodule
/* var mmodule: MModule */;
5980 val
* var2
/* : nullable AType */;
5981 val
* var_nsig
/* var nsig: nullable AType */;
5982 val
* var3
/* : nullable MSignature */;
5983 val
* var_mysignature
/* var mysignature: nullable MSignature */;
5984 val
* var4
/* : null */;
5985 short int var5
/* : Bool */;
5986 short int var6
/* : Bool */;
5987 short int var7
/* : Bool */;
5988 val
* var8
/* : MProperty */;
5989 val
* var9
/* : MPropDef */;
5990 val
* var10
/* : nullable MSignature */;
5991 val
* var_msignature
/* var msignature: nullable MSignature */;
5992 val
* var11
/* : null */;
5993 short int var12
/* : Bool */;
5994 long var13
/* : Int */;
5995 long var14
/* : Int */;
5996 short int var15
/* : Bool */;
5997 short int var17
/* : Bool */;
5998 short int var18
/* : Bool */;
5999 val
* var19
/* : null */;
6000 short int var20
/* : Bool */;
6001 val
* var_node
/* var node: ANode */;
6002 static val
* varonce
;
6003 val
* var21
/* : String */;
6004 char* var22
/* : NativeString */;
6005 long var23
/* : Int */;
6006 val
* var24
/* : String */;
6007 long var25
/* : Int */;
6008 static val
* varonce26
;
6009 val
* var27
/* : String */;
6010 char* var28
/* : NativeString */;
6011 long var29
/* : Int */;
6012 val
* var30
/* : String */;
6013 long var31
/* : Int */;
6014 static val
* varonce32
;
6015 val
* var33
/* : String */;
6016 char* var34
/* : NativeString */;
6017 long var35
/* : Int */;
6018 val
* var36
/* : String */;
6019 val
* var37
/* : Array[Object] */;
6020 long var38
/* : Int */;
6021 val
* var39
/* : NativeArray[Object] */;
6022 val
* var40
/* : Object */;
6023 val
* var41
/* : Object */;
6024 val
* var42
/* : String */;
6025 val
* var43
/* : nullable MType */;
6026 val
* var_precursor_ret_type
/* var precursor_ret_type: nullable MType */;
6027 val
* var44
/* : nullable MType */;
6028 val
* var_ret_type
/* var ret_type: nullable MType */;
6029 short int var45
/* : Bool */;
6030 val
* var46
/* : null */;
6031 short int var47
/* : Bool */;
6032 short int var_
/* var : Bool */;
6033 val
* var48
/* : null */;
6034 short int var49
/* : Bool */;
6035 val
* var50
/* : null */;
6036 short int var51
/* : Bool */;
6037 val
* var_node52
/* var node: ANode */;
6038 static val
* varonce53
;
6039 val
* var54
/* : String */;
6040 char* var55
/* : NativeString */;
6041 long var56
/* : Int */;
6042 val
* var57
/* : String */;
6043 val
* var58
/* : MProperty */;
6044 static val
* varonce59
;
6045 val
* var60
/* : String */;
6046 char* var61
/* : NativeString */;
6047 long var62
/* : Int */;
6048 val
* var63
/* : String */;
6049 val
* var64
/* : Array[Object] */;
6050 long var65
/* : Int */;
6051 val
* var66
/* : NativeArray[Object] */;
6052 val
* var67
/* : String */;
6053 long var68
/* : Int */;
6054 long var69
/* : Int */;
6055 short int var70
/* : Bool */;
6056 short int var72
/* : Bool */;
6059 const char* var_class_name
;
6060 short int var73
/* : Bool */;
6061 val
* var74
/* : Range[Int] */;
6062 long var75
/* : Int */;
6063 long var76
/* : Int */;
6064 val
* var77
/* : Discrete */;
6065 val
* var78
/* : Discrete */;
6066 val
* var79
/* : Iterator[nullable Object] */;
6067 short int var80
/* : Bool */;
6068 val
* var81
/* : nullable Object */;
6069 long var_i
/* var i: Int */;
6070 long var82
/* : Int */;
6071 val
* var83
/* : Array[MParameter] */;
6072 val
* var84
/* : nullable Object */;
6073 val
* var85
/* : MType */;
6074 val
* var_myt
/* var myt: MType */;
6075 val
* var86
/* : Array[MParameter] */;
6076 val
* var87
/* : nullable Object */;
6077 val
* var88
/* : MType */;
6078 val
* var_prt
/* var prt: MType */;
6079 short int var89
/* : Bool */;
6080 val
* var90
/* : nullable MClassDef */;
6081 val
* var91
/* : MClassType */;
6082 short int var92
/* : Bool */;
6083 short int var93
/* : Bool */;
6084 short int var_94
/* var : Bool */;
6085 val
* var95
/* : nullable MClassDef */;
6086 val
* var96
/* : MClassType */;
6087 short int var97
/* : Bool */;
6088 short int var98
/* : Bool */;
6089 val
* var99
/* : null */;
6090 short int var100
/* : Bool */;
6091 val
* var_node101
/* var node: ANode */;
6092 static val
* varonce102
;
6093 val
* var103
/* : String */;
6094 char* var104
/* : NativeString */;
6095 long var105
/* : Int */;
6096 val
* var106
/* : String */;
6097 val
* var107
/* : Array[MParameter] */;
6098 val
* var108
/* : nullable Object */;
6099 val
* var109
/* : String */;
6100 static val
* varonce110
;
6101 val
* var111
/* : String */;
6102 char* var112
/* : NativeString */;
6103 long var113
/* : Int */;
6104 val
* var114
/* : String */;
6105 static val
* varonce115
;
6106 val
* var116
/* : String */;
6107 char* var117
/* : NativeString */;
6108 long var118
/* : Int */;
6109 val
* var119
/* : String */;
6110 static val
* varonce120
;
6111 val
* var121
/* : String */;
6112 char* var122
/* : NativeString */;
6113 long var123
/* : Int */;
6114 val
* var124
/* : String */;
6115 val
* var125
/* : Array[Object] */;
6116 long var126
/* : Int */;
6117 val
* var127
/* : NativeArray[Object] */;
6118 val
* var128
/* : String */;
6119 val
* var129
/* : null */;
6120 short int var130
/* : Bool */;
6121 val
* var131
/* : null */;
6122 short int var132
/* : Bool */;
6123 val
* var133
/* : nullable MClassDef */;
6124 val
* var134
/* : MClassType */;
6125 short int var135
/* : Bool */;
6126 short int var136
/* : Bool */;
6127 val
* var137
/* : null */;
6128 short int var138
/* : Bool */;
6129 val
* var_node139
/* var node: ANode */;
6130 static val
* varonce140
;
6131 val
* var141
/* : String */;
6132 char* var142
/* : NativeString */;
6133 long var143
/* : Int */;
6134 val
* var144
/* : String */;
6135 static val
* varonce145
;
6136 val
* var146
/* : String */;
6137 char* var147
/* : NativeString */;
6138 long var148
/* : Int */;
6139 val
* var149
/* : String */;
6140 static val
* varonce150
;
6141 val
* var151
/* : String */;
6142 char* var152
/* : NativeString */;
6143 long var153
/* : Int */;
6144 val
* var154
/* : String */;
6145 val
* var155
/* : Array[Object] */;
6146 long var156
/* : Int */;
6147 val
* var157
/* : NativeArray[Object] */;
6148 val
* var158
/* : String */;
6149 var_modelbuilder
= p0
;
6152 var
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var_mpropdef
) /* mclassdef on <var_mpropdef:MMethodDef>*/;
6153 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_model__MClassDef__mmodule
]))(var
) /* mmodule on <var:MClassDef>*/;
6155 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_type
]))(self
) /* n_type on <self:AAttrPropdef>*/;
6157 var3
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var_mpropdef
) /* msignature on <var_mpropdef:MMethodDef>*/;
6158 var_mysignature
= var3
;
6160 if (var_mysignature
== NULL
) {
6161 var5
= 1; /* is null */
6163 var5
= 0; /* arg is null but recv is not */
6169 var6
= ((short int (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__is_intro
]))(var_mpropdef
) /* is_intro on <var_mpropdef:MMethodDef>*/;
6172 var8
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var_mpropdef
) /* mproperty on <var_mpropdef:MMethodDef>*/;
6173 var9
= ((val
* (*)(val
*))(var8
->class->vft
[COLOR_model__MProperty__intro
]))(var8
) /* intro on <var8:MProperty(MMethod)>*/;
6174 var10
= ((val
* (*)(val
*))(var9
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var9
) /* msignature on <var9:MPropDef(MMethodDef)>*/;
6175 var_msignature
= var10
;
6177 if (var_msignature
== NULL
) {
6178 var12
= 1; /* is null */
6180 var12
= 0; /* arg is null but recv is not */
6186 var13
= ((long (*)(val
*))(var_mysignature
->class->vft
[COLOR_model__MSignature__arity
]))(var_mysignature
) /* arity on <var_mysignature:nullable MSignature(MSignature)>*/;
6187 var14
= ((long (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__arity
]))(var_msignature
) /* arity on <var_msignature:nullable MSignature(MSignature)>*/;
6188 { /* Inline kernel#Int#!= (var13,var14) */
6189 var17
= var13
== var14
;
6193 RET_LABEL16
:(void)0;
6197 if (var_nsig
== NULL
) {
6198 var20
= 0; /* is null */
6200 var20
= 1; /* arg is null and recv is not */
6203 var_node
= var_nsig
;
6210 var22
= "Redef Error: ";
6212 var24
= string__NativeString__to_s_with_length(var22
, var23
);
6216 var25
= ((long (*)(val
*))(var_mysignature
->class->vft
[COLOR_model__MSignature__arity
]))(var_mysignature
) /* arity on <var_mysignature:nullable MSignature(MSignature)>*/;
6220 var28
= " parameters found, ";
6222 var30
= string__NativeString__to_s_with_length(var28
, var29
);
6226 var31
= ((long (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__arity
]))(var_msignature
) /* arity on <var_msignature:nullable MSignature(MSignature)>*/;
6230 var34
= " expected. Signature is ";
6232 var36
= string__NativeString__to_s_with_length(var34
, var35
);
6236 var37
= NEW_array__Array(&type_array__Arraykernel__Object
);
6237 { /* var37 = array_instance Array[Object] */
6239 var39
= NEW_array__NativeArray(var38
, &type_array__NativeArraykernel__Object
);
6240 ((struct instance_array__NativeArray
*)var39
)->values
[0] = (val
*) var21
;
6241 var40
= BOX_kernel__Int(var25
); /* autobox from Int to Object */
6242 ((struct instance_array__NativeArray
*)var39
)->values
[1] = (val
*) var40
;
6243 ((struct instance_array__NativeArray
*)var39
)->values
[2] = (val
*) var27
;
6244 var41
= BOX_kernel__Int(var31
); /* autobox from Int to Object */
6245 ((struct instance_array__NativeArray
*)var39
)->values
[3] = (val
*) var41
;
6246 ((struct instance_array__NativeArray
*)var39
)->values
[4] = (val
*) var33
;
6247 ((struct instance_array__NativeArray
*)var39
)->values
[5] = (val
*) var_mpropdef
;
6248 ((struct instance_array__NativeArray
*)var39
)->values
[6] = (val
*) var_msignature
;
6249 ((void (*)(val
*, val
*, long))(var37
->class->vft
[COLOR_array__Array__with_native
]))(var37
, var39
, var38
) /* with_native on <var37:Array[Object]>*/;
6251 var42
= ((val
* (*)(val
*))(var37
->class->vft
[COLOR_string__Object__to_s
]))(var37
) /* to_s on <var37:Array[Object]>*/;
6252 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, var_node
, var42
) /* error on <var_modelbuilder:ModelBuilder>*/;
6256 var43
= ((val
* (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__return_mtype
]))(var_msignature
) /* return_mtype on <var_msignature:nullable MSignature(MSignature)>*/;
6257 var_precursor_ret_type
= var43
;
6258 var44
= ((val
* (*)(val
*))(var_mysignature
->class->vft
[COLOR_model__MSignature__return_mtype
]))(var_mysignature
) /* return_mtype on <var_mysignature:nullable MSignature(MSignature)>*/;
6259 var_ret_type
= var44
;
6261 if (var_ret_type
== NULL
) {
6262 var47
= 0; /* is null */
6264 var47
= 1; /* arg is null and recv is not */
6269 if (var_precursor_ret_type
== NULL
) {
6270 var49
= 1; /* is null */
6272 var49
= 0; /* arg is null but recv is not */
6280 if (var_nsig
== NULL
) {
6281 var51
= 0; /* is null */
6283 var51
= 1; /* arg is null and recv is not */
6286 var_node52
= var_nsig
;
6293 var55
= "Redef Error: ";
6295 var57
= string__NativeString__to_s_with_length(var55
, var56
);
6299 var58
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var_mpropdef
) /* mproperty on <var_mpropdef:MMethodDef>*/;
6303 var61
= " is a procedure, not a function.";
6305 var63
= string__NativeString__to_s_with_length(var61
, var62
);
6309 var64
= NEW_array__Array(&type_array__Arraykernel__Object
);
6310 { /* var64 = array_instance Array[Object] */
6312 var66
= NEW_array__NativeArray(var65
, &type_array__NativeArraykernel__Object
);
6313 ((struct instance_array__NativeArray
*)var66
)->values
[0] = (val
*) var54
;
6314 ((struct instance_array__NativeArray
*)var66
)->values
[1] = (val
*) var58
;
6315 ((struct instance_array__NativeArray
*)var66
)->values
[2] = (val
*) var60
;
6316 ((void (*)(val
*, val
*, long))(var64
->class->vft
[COLOR_array__Array__with_native
]))(var64
, var66
, var65
) /* with_native on <var64:Array[Object]>*/;
6318 var67
= ((val
* (*)(val
*))(var64
->class->vft
[COLOR_string__Object__to_s
]))(var64
) /* to_s on <var64:Array[Object]>*/;
6319 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, var_node52
, var67
) /* error on <var_modelbuilder:ModelBuilder>*/;
6323 var68
= ((long (*)(val
*))(var_mysignature
->class->vft
[COLOR_model__MSignature__arity
]))(var_mysignature
) /* arity on <var_mysignature:nullable MSignature(MSignature)>*/;
6325 { /* Inline kernel#Int#> (var68,var69) */
6326 /* Covariant cast for argument 0 (i) <var69:Int> isa OTHER */
6327 /* <var69:Int> isa OTHER */
6328 var72
= 1; /* easy <var69:Int> isa OTHER*/
6330 var_class_name
= type_kernel__Int
.name
;
6331 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
6332 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 263);
6335 var73
= var68
> var69
;
6338 RET_LABEL71
:(void)0;
6341 var74
= NEW_range__Range(&type_range__Rangekernel__Int
);
6343 var76
= ((long (*)(val
*))(var_mysignature
->class->vft
[COLOR_model__MSignature__arity
]))(var_mysignature
) /* arity on <var_mysignature:nullable MSignature(MSignature)>*/;
6344 var77
= BOX_kernel__Int(var75
); /* autobox from Int to Discrete */
6345 var78
= BOX_kernel__Int(var76
); /* autobox from Int to Discrete */
6346 ((void (*)(val
*, val
*, val
*))(var74
->class->vft
[COLOR_range__Range__without_last
]))(var74
, var77
, var78
) /* without_last on <var74:Range[Int]>*/;
6347 var79
= ((val
* (*)(val
*))(var74
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var74
) /* iterator on <var74:Range[Int]>*/;
6349 var80
= ((short int (*)(val
*))(var79
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var79
) /* is_ok on <var79:Iterator[nullable Object]>*/;
6351 var81
= ((val
* (*)(val
*))(var79
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var79
) /* item on <var79:Iterator[nullable Object]>*/;
6352 var82
= ((struct instance_kernel__Int
*)var81
)->value
; /* autounbox from nullable Object to Int */;
6354 var83
= ((val
* (*)(val
*))(var_mysignature
->class->vft
[COLOR_model__MSignature__mparameters
]))(var_mysignature
) /* mparameters on <var_mysignature:nullable MSignature(MSignature)>*/;
6355 var84
= ((val
* (*)(val
*, long))(var83
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var83
, var_i
) /* [] on <var83:Array[MParameter]>*/;
6356 var85
= ((val
* (*)(val
*))(var84
->class->vft
[COLOR_model__MParameter__mtype
]))(var84
) /* mtype on <var84:nullable Object(MParameter)>*/;
6358 var86
= ((val
* (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__mparameters
]))(var_msignature
) /* mparameters on <var_msignature:nullable MSignature(MSignature)>*/;
6359 var87
= ((val
* (*)(val
*, long))(var86
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var86
, var_i
) /* [] on <var86:Array[MParameter]>*/;
6360 var88
= ((val
* (*)(val
*))(var87
->class->vft
[COLOR_model__MParameter__mtype
]))(var87
) /* mtype on <var87:nullable Object(MParameter)>*/;
6362 var90
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef>*/;
6363 if (var90
== NULL
) {
6364 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
6365 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 801);
6368 var91
= ((val
* (*)(val
*))(var90
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var90
) /* bound_mtype on <var90:nullable MClassDef>*/;
6370 var92
= ((short int (*)(val
*, val
*, val
*, val
*))(var_myt
->class->vft
[COLOR_model__MType__is_subtype
]))(var_myt
, var_mmodule
, var91
, var_prt
) /* is_subtype on <var_myt:MType>*/;
6374 var95
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef>*/;
6375 if (var95
== NULL
) {
6376 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
6377 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 802);
6380 var96
= ((val
* (*)(val
*))(var95
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var95
) /* bound_mtype on <var95:nullable MClassDef>*/;
6382 var97
= ((short int (*)(val
*, val
*, val
*, val
*))(var_prt
->class->vft
[COLOR_model__MType__is_subtype
]))(var_prt
, var_mmodule
, var96
, var_myt
) /* is_subtype on <var_prt:MType>*/;
6390 if (var_nsig
== NULL
) {
6391 var100
= 0; /* is null */
6393 var100
= 1; /* arg is null and recv is not */
6396 var_node101
= var_nsig
;
6401 var103
= varonce102
;
6403 var104
= "Redef Error: Wrong type for parameter `";
6405 var106
= string__NativeString__to_s_with_length(var104
, var105
);
6407 varonce102
= var103
;
6409 var107
= ((val
* (*)(val
*))(var_mysignature
->class->vft
[COLOR_model__MSignature__mparameters
]))(var_mysignature
) /* mparameters on <var_mysignature:nullable MSignature(MSignature)>*/;
6410 var108
= ((val
* (*)(val
*, long))(var107
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var107
, var_i
) /* [] on <var107:Array[MParameter]>*/;
6411 var109
= ((val
* (*)(val
*))(var108
->class->vft
[COLOR_model__MParameter__name
]))(var108
) /* name on <var108:nullable Object(MParameter)>*/;
6413 var111
= varonce110
;
6415 var112
= "\'. found ";
6417 var114
= string__NativeString__to_s_with_length(var112
, var113
);
6419 varonce110
= var111
;
6422 var116
= varonce115
;
6424 var117
= ", expected ";
6426 var119
= string__NativeString__to_s_with_length(var117
, var118
);
6428 varonce115
= var116
;
6431 var121
= varonce120
;
6435 var124
= string__NativeString__to_s_with_length(var122
, var123
);
6437 varonce120
= var121
;
6439 var125
= NEW_array__Array(&type_array__Arraykernel__Object
);
6440 { /* var125 = array_instance Array[Object] */
6442 var127
= NEW_array__NativeArray(var126
, &type_array__NativeArraykernel__Object
);
6443 ((struct instance_array__NativeArray
*)var127
)->values
[0] = (val
*) var103
;
6444 ((struct instance_array__NativeArray
*)var127
)->values
[1] = (val
*) var109
;
6445 ((struct instance_array__NativeArray
*)var127
)->values
[2] = (val
*) var111
;
6446 ((struct instance_array__NativeArray
*)var127
)->values
[3] = (val
*) var_myt
;
6447 ((struct instance_array__NativeArray
*)var127
)->values
[4] = (val
*) var116
;
6448 ((struct instance_array__NativeArray
*)var127
)->values
[5] = (val
*) var_prt
;
6449 ((struct instance_array__NativeArray
*)var127
)->values
[6] = (val
*) var121
;
6450 ((void (*)(val
*, val
*, long))(var125
->class->vft
[COLOR_array__Array__with_native
]))(var125
, var127
, var126
) /* with_native on <var125:Array[Object]>*/;
6452 var128
= ((val
* (*)(val
*))(var125
->class->vft
[COLOR_string__Object__to_s
]))(var125
) /* to_s on <var125:Array[Object]>*/;
6453 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, var_node101
, var128
) /* error on <var_modelbuilder:ModelBuilder>*/;
6456 CONTINUE_label
: (void)0;
6457 ((void (*)(val
*))(var79
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var79
) /* next on <var79:Iterator[nullable Object]>*/;
6459 BREAK_label
: (void)0;
6463 if (var_precursor_ret_type
== NULL
) {
6464 var130
= 0; /* is null */
6466 var130
= 1; /* arg is null and recv is not */
6470 if (var_ret_type
== NULL
) {
6471 var132
= 1; /* is null */
6473 var132
= 0; /* arg is null but recv is not */
6476 var_ret_type
= var_precursor_ret_type
;
6478 var133
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef>*/;
6479 if (var133
== NULL
) {
6480 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
6481 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 813);
6484 var134
= ((val
* (*)(val
*))(var133
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var133
) /* bound_mtype on <var133:nullable MClassDef>*/;
6486 var135
= ((short int (*)(val
*, val
*, val
*, val
*))(var_ret_type
->class->vft
[COLOR_model__MType__is_subtype
]))(var_ret_type
, var_mmodule
, var134
, var_precursor_ret_type
) /* is_subtype on <var_ret_type:nullable MType(MType)>*/;
6490 if (var_nsig
== NULL
) {
6491 var138
= 0; /* is null */
6493 var138
= 1; /* arg is null and recv is not */
6496 var_node139
= var_nsig
;
6501 var141
= varonce140
;
6503 var142
= "Redef Error: Wrong return type. found ";
6505 var144
= string__NativeString__to_s_with_length(var142
, var143
);
6507 varonce140
= var141
;
6510 var146
= varonce145
;
6512 var147
= ", expected ";
6514 var149
= string__NativeString__to_s_with_length(var147
, var148
);
6516 varonce145
= var146
;
6519 var151
= varonce150
;
6523 var154
= string__NativeString__to_s_with_length(var152
, var153
);
6525 varonce150
= var151
;
6527 var155
= NEW_array__Array(&type_array__Arraykernel__Object
);
6528 { /* var155 = array_instance Array[Object] */
6530 var157
= NEW_array__NativeArray(var156
, &type_array__NativeArraykernel__Object
);
6531 ((struct instance_array__NativeArray
*)var157
)->values
[0] = (val
*) var141
;
6532 ((struct instance_array__NativeArray
*)var157
)->values
[1] = (val
*) var_ret_type
;
6533 ((struct instance_array__NativeArray
*)var157
)->values
[2] = (val
*) var146
;
6534 ((struct instance_array__NativeArray
*)var157
)->values
[3] = (val
*) var_precursor_ret_type
;
6535 ((struct instance_array__NativeArray
*)var157
)->values
[4] = (val
*) var151
;
6536 ((void (*)(val
*, val
*, long))(var155
->class->vft
[COLOR_array__Array__with_native
]))(var155
, var157
, var156
) /* with_native on <var155:Array[Object]>*/;
6538 var158
= ((val
* (*)(val
*))(var155
->class->vft
[COLOR_string__Object__to_s
]))(var155
) /* to_s on <var155:Array[Object]>*/;
6539 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, var_node139
, var158
) /* error on <var_modelbuilder:ModelBuilder>*/;
6549 /* method modelize_property#AAttrPropdef#check_method_signature for (self: Object, ModelBuilder, AClassdef, MMethodDef) */
6550 void VIRTUAL_modelize_property__AAttrPropdef__check_method_signature(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
6551 modelize_property__AAttrPropdef__check_method_signature(self
, p0
, p1
, p2
);
6554 /* method modelize_property#ATypePropdef#build_property for (self: ATypePropdef, ModelBuilder, AClassdef) */
6555 void modelize_property__ATypePropdef__build_property(val
* self
, val
* p0
, val
* p1
) {
6556 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
6557 val
* var_nclassdef
/* var nclassdef: AClassdef */;
6558 val
* var
/* : nullable MClassDef */;
6559 val
* var_mclassdef
/* var mclassdef: MClassDef */;
6560 val
* var1
/* : TClassid */;
6561 val
* var2
/* : String */;
6562 val
* var_name
/* var name: String */;
6563 val
* var3
/* : TClassid */;
6564 val
* var4
/* : nullable MProperty */;
6565 val
* var_mprop
/* var mprop: nullable MProperty */;
6566 val
* var5
/* : null */;
6567 short int var6
/* : Bool */;
6568 val
* var7
/* : AVisibility */;
6569 val
* var8
/* : MVisibility */;
6570 val
* var_mvisibility
/* var mvisibility: MVisibility */;
6571 val
* var9
/* : MVirtualTypeProp */;
6572 val
* var10
/* : Iterator[nullable Object] */;
6573 short int var11
/* : Bool */;
6574 val
* var12
/* : nullable Object */;
6575 char var_c
/* var c: Char */;
6576 char var13
/* : Char */;
6577 short int var14
/* : Bool */;
6578 char var15
/* : Char */;
6579 short int var16
/* : Bool */;
6580 short int var18
/* : Bool */;
6583 const char* var_class_name
;
6584 short int var19
/* : Bool */;
6585 short int var_
/* var : Bool */;
6586 char var20
/* : Char */;
6587 short int var21
/* : Bool */;
6588 short int var23
/* : Bool */;
6591 const char* var_class_name26
;
6592 short int var27
/* : Bool */;
6593 val
* var28
/* : TClassid */;
6594 static val
* varonce
;
6595 val
* var29
/* : String */;
6596 char* var30
/* : NativeString */;
6597 long var31
/* : Int */;
6598 val
* var32
/* : String */;
6599 val
* var33
/* : Array[Object] */;
6600 long var34
/* : Int */;
6601 val
* var35
/* : NativeArray[Object] */;
6602 val
* var36
/* : String */;
6603 val
* var37
/* : nullable TKwredef */;
6604 short int var38
/* : Bool */;
6605 short int var39
/* : Bool */;
6606 short int var40
/* : Bool */;
6607 val
* var41
/* : nullable TKwredef */;
6608 short int var42
/* : Bool */;
6609 short int var43
/* : Bool */;
6610 short int var44
/* : Bool */;
6611 short int var45
/* : Bool */;
6614 val
* var48
/* : AVisibility */;
6615 val
* var49
/* : Map[MProperty, APropdef] */;
6616 val
* var50
/* : MVirtualTypeDef */;
6617 val
* var51
/* : Location */;
6618 val
* var_mpropdef
/* var mpropdef: MVirtualTypeDef */;
6619 short int var52
/* : Bool */;
6622 const struct type
* type_struct
;
6623 const char* var_class_name55
;
6624 var_modelbuilder
= p0
;
6626 var
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef>*/;
6628 fprintf(stderr
, "Runtime error: %s", "Cast failed");
6629 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 828);
6632 var_mclassdef
= var
;
6633 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ATypePropdef__n_id
]))(self
) /* n_id on <self:ATypePropdef>*/;
6634 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_parser_nodes__Token__text
]))(var1
) /* text on <var1:TClassid>*/;
6636 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ATypePropdef__n_id
]))(self
) /* n_id on <self:ATypePropdef>*/;
6637 var4
= ((val
* (*)(val
*, val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__try_get_mproperty_by_name
]))(var_modelbuilder
, var3
, var_mclassdef
, var_name
) /* try_get_mproperty_by_name on <var_modelbuilder:ModelBuilder>*/;
6640 if (var_mprop
== NULL
) {
6641 var6
= 1; /* is null */
6643 var6
= 0; /* arg is null but recv is not */
6646 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ATypePropdef__n_visibility
]))(self
) /* n_visibility on <self:ATypePropdef>*/;
6647 var8
= ((val
* (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__new_property_visibility
]))(self
, var_modelbuilder
, var_nclassdef
, var7
) /* new_property_visibility on <self:ATypePropdef>*/;
6648 var_mvisibility
= var8
;
6649 var9
= NEW_model__MVirtualTypeProp(&type_model__MVirtualTypeProp
);
6650 ((void (*)(val
*, val
*, val
*, val
*))(var9
->class->vft
[COLOR_model__MVirtualTypeProp__init
]))(var9
, var_mclassdef
, var_name
, var_mvisibility
) /* init on <var9:MVirtualTypeProp>*/;
6652 var10
= ((val
* (*)(val
*))(var_name
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_name
) /* iterator on <var_name:String>*/;
6654 var11
= ((short int (*)(val
*))(var10
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var10
) /* is_ok on <var10:Iterator[nullable Object]>*/;
6656 var12
= ((val
* (*)(val
*))(var10
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var10
) /* item on <var10:Iterator[nullable Object]>*/;
6657 var13
= ((struct instance_kernel__Char
*)var12
)->value
; /* autounbox from nullable Object to Char */;
6660 { /* Inline kernel#Char#>= (var_c,var15) */
6661 /* Covariant cast for argument 0 (i) <var15:Char> isa OTHER */
6662 /* <var15:Char> isa OTHER */
6663 var18
= 1; /* easy <var15:Char> isa OTHER*/
6665 var_class_name
= type_kernel__Char
.name
;
6666 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
6667 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 438);
6670 var19
= var_c
>= var15
;
6673 RET_LABEL17
:(void)0;
6678 { /* Inline kernel#Char#<= (var_c,var20) */
6679 /* Covariant cast for argument 0 (i) <var20:Char> isa OTHER */
6680 /* <var20:Char> isa OTHER */
6681 var23
= 1; /* easy <var20:Char> isa OTHER*/
6683 var_class_name26
= type_kernel__Char
.name
;
6684 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name26
);
6685 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 436);
6688 var27
= var_c
<= var20
;
6691 RET_LABEL22
:(void)0;
6698 var28
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ATypePropdef__n_id
]))(self
) /* n_id on <self:ATypePropdef>*/;
6702 var30
= "Warning: lowercase in the virtual type ";
6704 var32
= string__NativeString__to_s_with_length(var30
, var31
);
6708 var33
= NEW_array__Array(&type_array__Arraykernel__Object
);
6709 { /* var33 = array_instance Array[Object] */
6711 var35
= NEW_array__NativeArray(var34
, &type_array__NativeArraykernel__Object
);
6712 ((struct instance_array__NativeArray
*)var35
)->values
[0] = (val
*) var29
;
6713 ((struct instance_array__NativeArray
*)var35
)->values
[1] = (val
*) var_name
;
6714 ((void (*)(val
*, val
*, long))(var33
->class->vft
[COLOR_array__Array__with_native
]))(var33
, var35
, var34
) /* with_native on <var33:Array[Object]>*/;
6716 var36
= ((val
* (*)(val
*))(var33
->class->vft
[COLOR_string__Object__to_s
]))(var33
) /* to_s on <var33:Array[Object]>*/;
6717 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__warning
]))(var_modelbuilder
, var28
, var36
) /* warning on <var_modelbuilder:ModelBuilder>*/;
6721 CONTINUE_label
: (void)0;
6722 ((void (*)(val
*))(var10
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var10
) /* next on <var10:Iterator[nullable Object]>*/;
6724 BREAK_label
: (void)0;
6725 var37
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ATypePropdef__n_kwredef
]))(self
) /* n_kwredef on <self:ATypePropdef>*/;
6727 var39
= ((short int (*)(val
*, val
*, val
*, val
*, short int, val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__check_redef_keyword
]))(self
, var_modelbuilder
, var_nclassdef
, var37
, var38
, var_mprop
) /* check_redef_keyword on <self:ATypePropdef>*/;
6734 var41
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ATypePropdef__n_kwredef
]))(self
) /* n_kwredef on <self:ATypePropdef>*/;
6736 var43
= ((short int (*)(val
*, val
*, val
*, val
*, short int, val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__check_redef_keyword
]))(self
, var_modelbuilder
, var_nclassdef
, var41
, var42
, var_mprop
) /* check_redef_keyword on <self:ATypePropdef>*/;
6742 /* <var_mprop:nullable MProperty(MProperty)> isa MVirtualTypeProp */
6743 cltype46
= type_model__MVirtualTypeProp
.color
;
6744 idtype47
= type_model__MVirtualTypeProp
.id
;
6745 if(cltype46
>= var_mprop
->type
->table_size
) {
6748 var45
= var_mprop
->type
->type_table
[cltype46
] == idtype47
;
6751 fprintf(stderr
, "Runtime error: %s", "Assert failed");
6752 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 841);
6755 var48
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ATypePropdef__n_visibility
]))(self
) /* n_visibility on <self:ATypePropdef>*/;
6756 ((void (*)(val
*, val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__check_redef_property_visibility
]))(self
, var_modelbuilder
, var_nclassdef
, var48
, var_mprop
) /* check_redef_property_visibility on <self:ATypePropdef>*/;
6758 var49
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_property__AClassdef__mprop2npropdef
]))(var_nclassdef
) /* mprop2npropdef on <var_nclassdef:AClassdef>*/;
6759 ((void (*)(val
*, val
*, val
*))(var49
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var49
, var_mprop
, self
) /* []= on <var49:Map[MProperty, APropdef]>*/;
6760 var50
= NEW_model__MVirtualTypeDef(&type_model__MVirtualTypeDef
);
6761 var51
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__location
]))(self
) /* location on <self:ATypePropdef>*/;
6762 ((void (*)(val
*, val
*, val
*, val
*))(var50
->class->vft
[COLOR_model__MVirtualTypeDef__init
]))(var50
, var_mclassdef
, var_mprop
, var51
) /* init on <var50:MVirtualTypeDef>*/;
6763 var_mpropdef
= var50
;
6764 /* <var_mpropdef:MVirtualTypeDef> isa nullable MPROPDEF */
6765 type_struct
= self
->type
->resolution_table
->types
[COLOR_parser_nodes__APropdef_VTMPROPDEF
];
6766 cltype53
= type_struct
->color
;
6767 idtype54
= type_struct
->id
;
6768 if(cltype53
>= var_mpropdef
->type
->table_size
) {
6771 var52
= var_mpropdef
->type
->type_table
[cltype53
] == idtype54
;
6774 var_class_name55
= var_mpropdef
== NULL ?
"null" : var_mpropdef
->type
->name
;
6775 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name55
);
6776 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 847);
6779 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__mpropdef_61d
]))(self
, var_mpropdef
) /* mpropdef= on <self:ATypePropdef>*/;
6782 /* method modelize_property#ATypePropdef#build_property for (self: Object, ModelBuilder, AClassdef) */
6783 void VIRTUAL_modelize_property__ATypePropdef__build_property(val
* self
, val
* p0
, val
* p1
) {
6784 modelize_property__ATypePropdef__build_property(self
, p0
, p1
);
6787 /* method modelize_property#ATypePropdef#build_signature for (self: ATypePropdef, ModelBuilder, AClassdef) */
6788 void modelize_property__ATypePropdef__build_signature(val
* self
, val
* p0
, val
* p1
) {
6789 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
6790 val
* var_nclassdef
/* var nclassdef: AClassdef */;
6791 val
* var
/* : nullable MPropDef */;
6792 val
* var_mpropdef
/* var mpropdef: nullable MVirtualTypeDef */;
6793 val
* var1
/* : null */;
6794 short int var2
/* : Bool */;
6795 val
* var3
/* : MClassDef */;
6796 val
* var4
/* : MModule */;
6797 val
* var_mmodule
/* var mmodule: MModule */;
6798 val
* var5
/* : null */;
6799 val
* var_mtype
/* var mtype: nullable MType */;
6800 val
* var6
/* : AType */;
6801 val
* var_ntype
/* var ntype: AType */;
6802 val
* var7
/* : nullable MType */;
6803 val
* var8
/* : null */;
6804 short int var9
/* : Bool */;
6805 var_modelbuilder
= p0
;
6807 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__mpropdef
]))(self
) /* mpropdef on <self:ATypePropdef>*/;
6810 if (var_mpropdef
== NULL
) {
6811 var2
= 1; /* is null */
6813 var2
= 0; /* arg is null but recv is not */
6819 var3
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var_mpropdef
) /* mclassdef on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)>*/;
6820 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_model__MClassDef__mmodule
]))(var3
) /* mmodule on <var3:MClassDef>*/;
6824 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ATypePropdef__n_type
]))(self
) /* n_type on <self:ATypePropdef>*/;
6826 var7
= ((val
* (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelize_class__ModelBuilder__resolve_mtype
]))(var_modelbuilder
, var_nclassdef
, var_ntype
) /* resolve_mtype on <var_modelbuilder:ModelBuilder>*/;
6829 if (var_mtype
== NULL
) {
6830 var9
= 1; /* is null */
6832 var9
= 0; /* arg is null but recv is not */
6838 ((void (*)(val
*, val
*))(var_mpropdef
->class->vft
[COLOR_model__MVirtualTypeDef__bound_61d
]))(var_mpropdef
, var_mtype
) /* bound= on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)>*/;
6841 /* method modelize_property#ATypePropdef#build_signature for (self: Object, ModelBuilder, AClassdef) */
6842 void VIRTUAL_modelize_property__ATypePropdef__build_signature(val
* self
, val
* p0
, val
* p1
) {
6843 modelize_property__ATypePropdef__build_signature(self
, p0
, p1
);
6846 /* method modelize_property#ATypePropdef#check_signature for (self: ATypePropdef, ModelBuilder, AClassdef) */
6847 void modelize_property__ATypePropdef__check_signature(val
* self
, val
* p0
, val
* p1
) {
6848 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
6849 val
* var_nclassdef
/* var nclassdef: AClassdef */;
6850 val
* var
/* : nullable MPropDef */;
6851 val
* var1
/* : nullable MType */;
6852 val
* var_bound
/* var bound: nullable MType */;
6853 short int var2
/* : Bool */;
6856 short int var3
/* : Bool */;
6857 val
* var4
/* : nullable MClassDef */;
6858 val
* var5
/* : MModule */;
6859 val
* var_mmodule
/* var mmodule: MModule */;
6860 val
* var6
/* : nullable MClassDef */;
6861 val
* var7
/* : MClassType */;
6862 val
* var_anchor
/* var anchor: MClassType */;
6863 val
* var8
/* : Array[MVirtualType] */;
6864 long var9
/* : Int */;
6865 val
* var_
/* var : Array[MVirtualType] */;
6866 val
* var10
/* : nullable MPropDef */;
6867 val
* var11
/* : MProperty */;
6868 val
* var12
/* : MVirtualType */;
6869 val
* var_seen
/* var seen: Array[MVirtualType] */;
6870 short int var13
/* : Bool */;
6871 static val
* varonce
;
6872 val
* var14
/* : String */;
6873 char* var15
/* : NativeString */;
6874 long var16
/* : Int */;
6875 val
* var17
/* : String */;
6876 static val
* varonce18
;
6877 val
* var19
/* : String */;
6878 char* var20
/* : NativeString */;
6879 long var21
/* : Int */;
6880 val
* var22
/* : String */;
6881 val
* var23
/* : String */;
6882 val
* var24
/* : Array[Object] */;
6883 long var25
/* : Int */;
6884 val
* var26
/* : NativeArray[Object] */;
6885 val
* var27
/* : String */;
6886 val
* var28
/* : MType */;
6887 val
* var_next
/* var next: MType */;
6888 short int var29
/* : Bool */;
6891 short int var32
/* : Bool */;
6892 var_modelbuilder
= p0
;
6894 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__mpropdef
]))(self
) /* mpropdef on <self:ATypePropdef>*/;
6896 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
6897 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 867);
6900 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_model__MVirtualTypeDef__bound
]))(var
) /* bound on <var:nullable MPropDef(nullable MVirtualTypeDef)>*/;
6903 /* <var_bound:nullable MType> isa MVirtualType */
6904 cltype
= type_model__MVirtualType
.color
;
6905 idtype
= type_model__MVirtualType
.id
;
6906 if(var_bound
== NULL
) {
6909 if(cltype
>= var_bound
->type
->table_size
) {
6912 var2
= var_bound
->type
->type_table
[cltype
] == idtype
;
6920 var4
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef>*/;
6922 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
6923 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 872);
6926 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_model__MClassDef__mmodule
]))(var4
) /* mmodule on <var4:nullable MClassDef>*/;
6929 var6
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef>*/;
6931 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
6932 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 873);
6935 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var6
) /* bound_mtype on <var6:nullable MClassDef>*/;
6938 var8
= NEW_array__Array(&type_array__Arraymodel__MVirtualType
);
6940 ((void (*)(val
*, long))(var8
->class->vft
[COLOR_array__Array__with_capacity
]))(var8
, var9
) /* with_capacity on <var8:Array[MVirtualType]>*/;
6942 var10
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__mpropdef
]))(self
) /* mpropdef on <self:ATypePropdef>*/;
6943 if (var10
== NULL
) {
6944 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
6945 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 876);
6948 var11
= ((val
* (*)(val
*))(var10
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var10
) /* mproperty on <var10:nullable MPropDef(nullable MVirtualTypeDef)>*/;
6950 var12
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_model__MVirtualTypeProp__mvirtualtype
]))(var11
) /* mvirtualtype on <var11:MProperty(MVirtualTypeProp)>*/;
6951 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__Sequence__push
]))(var_
, var12
) /* push on <var_:Array[MVirtualType]>*/;
6954 var13
= ((short int (*)(val
*, val
*))(var_seen
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var_seen
, var_bound
) /* has on <var_seen:Array[MVirtualType]>*/;
6956 ((void (*)(val
*, val
*))(var_seen
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_seen
, var_bound
) /* add on <var_seen:Array[MVirtualType]>*/;
6960 var15
= "Error: circularity of virtual type definition: ";
6962 var17
= string__NativeString__to_s_with_length(var15
, var16
);
6971 var22
= string__NativeString__to_s_with_length(var20
, var21
);
6975 var23
= ((val
* (*)(val
*, val
*))(var_seen
->class->vft
[COLOR_string__Collection__join
]))(var_seen
, var19
) /* join on <var_seen:Array[MVirtualType]>*/;
6976 var24
= NEW_array__Array(&type_array__Arraykernel__Object
);
6977 { /* var24 = array_instance Array[Object] */
6979 var26
= NEW_array__NativeArray(var25
, &type_array__NativeArraykernel__Object
);
6980 ((struct instance_array__NativeArray
*)var26
)->values
[0] = (val
*) var14
;
6981 ((struct instance_array__NativeArray
*)var26
)->values
[1] = (val
*) var23
;
6982 ((void (*)(val
*, val
*, long))(var24
->class->vft
[COLOR_array__Array__with_native
]))(var24
, var26
, var25
) /* with_native on <var24:Array[Object]>*/;
6984 var27
= ((val
* (*)(val
*))(var24
->class->vft
[COLOR_string__Object__to_s
]))(var24
) /* to_s on <var24:Array[Object]>*/;
6985 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, self
, var27
) /* error on <var_modelbuilder:ModelBuilder>*/;
6989 ((void (*)(val
*, val
*))(var_seen
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_seen
, var_bound
) /* add on <var_seen:Array[MVirtualType]>*/;
6990 var28
= ((val
* (*)(val
*, val
*, val
*))(var_bound
->class->vft
[COLOR_model__MVirtualType__lookup_bound
]))(var_bound
, var_mmodule
, var_anchor
) /* lookup_bound on <var_bound:nullable MType(MVirtualType)>*/;
6992 /* <var_next:MType> isa MVirtualType */
6993 cltype30
= type_model__MVirtualType
.color
;
6994 idtype31
= type_model__MVirtualType
.id
;
6995 if(cltype30
>= var_next
->type
->table_size
) {
6998 var29
= var_next
->type
->type_table
[cltype30
] == idtype31
;
7005 var_bound
= var_next
;
7006 CONTINUE_label
: (void)0;
7008 BREAK_label
: (void)0;
7011 /* method modelize_property#ATypePropdef#check_signature for (self: Object, ModelBuilder, AClassdef) */
7012 void VIRTUAL_modelize_property__ATypePropdef__check_signature(val
* self
, val
* p0
, val
* p1
) {
7013 modelize_property__ATypePropdef__check_signature(self
, p0
, p1
);