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", "Receiver 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", "Receiver 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", "Receiver 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", "Receiver 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", "Receiver 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", "Receiver 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#MClassDef#propdef_names for (self: MClassDef): HashSet[String] */
1001 val
* modelize_property__MClassDef__propdef_names(val
* self
) {
1002 val
* var
/* : HashSet[String] */;
1003 val
* var1
/* : HashSet[String] */;
1004 var1
= self
->attrs
[COLOR_modelize_property__MClassDef___64dpropdef_names
].val
; /* @propdef_names on <self:MClassDef> */
1006 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @propdef_names");
1007 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 162);
1014 /* method modelize_property#MClassDef#propdef_names for (self: Object): HashSet[String] */
1015 val
* VIRTUAL_modelize_property__MClassDef__propdef_names(val
* self
) {
1016 val
* var
/* : HashSet[String] */;
1017 val
* var1
/* : HashSet[String] */;
1018 var1
= modelize_property__MClassDef__propdef_names(self
);
1023 /* method modelize_property#MClassDef#propdef_names= for (self: MClassDef, HashSet[String]) */
1024 void modelize_property__MClassDef__propdef_names_61d(val
* self
, val
* p0
) {
1025 self
->attrs
[COLOR_modelize_property__MClassDef___64dpropdef_names
].val
= p0
; /* @propdef_names on <self:MClassDef> */
1028 /* method modelize_property#MClassDef#propdef_names= for (self: Object, HashSet[String]) */
1029 void VIRTUAL_modelize_property__MClassDef__propdef_names_61d(val
* self
, val
* p0
) {
1030 modelize_property__MClassDef__propdef_names_61d(self
, p0
);
1033 /* method modelize_property#MPropDef#has_supercall for (self: MPropDef): Bool */
1034 short int modelize_property__MPropDef__has_supercall(val
* self
) {
1035 short int var
/* : Bool */;
1036 short int var1
/* : Bool */;
1037 var1
= self
->attrs
[COLOR_modelize_property__MPropDef___64dhas_supercall
].s
; /* @has_supercall on <self:MPropDef> */
1042 /* method modelize_property#MPropDef#has_supercall for (self: Object): Bool */
1043 short int VIRTUAL_modelize_property__MPropDef__has_supercall(val
* self
) {
1044 short int var
/* : Bool */;
1045 short int var1
/* : Bool */;
1046 var1
= modelize_property__MPropDef__has_supercall(self
);
1051 /* method modelize_property#MPropDef#has_supercall= for (self: MPropDef, Bool) */
1052 void modelize_property__MPropDef__has_supercall_61d(val
* self
, short int p0
) {
1053 self
->attrs
[COLOR_modelize_property__MPropDef___64dhas_supercall
].s
= p0
; /* @has_supercall on <self:MPropDef> */
1056 /* method modelize_property#MPropDef#has_supercall= for (self: Object, Bool) */
1057 void VIRTUAL_modelize_property__MPropDef__has_supercall_61d(val
* self
, short int p0
) {
1058 modelize_property__MPropDef__has_supercall_61d(self
, p0
);
1061 /* method modelize_property#AClassdef#build_properties_is_done for (self: AClassdef): Bool */
1062 short int modelize_property__AClassdef__build_properties_is_done(val
* self
) {
1063 short int var
/* : Bool */;
1064 short int var1
/* : Bool */;
1065 var1
= self
->attrs
[COLOR_modelize_property__AClassdef___64dbuild_properties_is_done
].s
; /* @build_properties_is_done on <self:AClassdef> */
1070 /* method modelize_property#AClassdef#build_properties_is_done for (self: Object): Bool */
1071 short int VIRTUAL_modelize_property__AClassdef__build_properties_is_done(val
* self
) {
1072 short int var
/* : Bool */;
1073 short int var1
/* : Bool */;
1074 var1
= modelize_property__AClassdef__build_properties_is_done(self
);
1079 /* method modelize_property#AClassdef#build_properties_is_done= for (self: AClassdef, Bool) */
1080 void modelize_property__AClassdef__build_properties_is_done_61d(val
* self
, short int p0
) {
1081 self
->attrs
[COLOR_modelize_property__AClassdef___64dbuild_properties_is_done
].s
= p0
; /* @build_properties_is_done on <self:AClassdef> */
1084 /* method modelize_property#AClassdef#build_properties_is_done= for (self: Object, Bool) */
1085 void VIRTUAL_modelize_property__AClassdef__build_properties_is_done_61d(val
* self
, short int p0
) {
1086 modelize_property__AClassdef__build_properties_is_done_61d(self
, p0
);
1089 /* method modelize_property#AClassdef#super_inits for (self: AClassdef): nullable Collection[MMethod] */
1090 val
* modelize_property__AClassdef__super_inits(val
* self
) {
1091 val
* var
/* : nullable Collection[MMethod] */;
1092 val
* var1
/* : nullable Collection[MMethod] */;
1093 var1
= self
->attrs
[COLOR_modelize_property__AClassdef___64dsuper_inits
].val
; /* @super_inits on <self:AClassdef> */
1098 /* method modelize_property#AClassdef#super_inits for (self: Object): nullable Collection[MMethod] */
1099 val
* VIRTUAL_modelize_property__AClassdef__super_inits(val
* self
) {
1100 val
* var
/* : nullable Collection[MMethod] */;
1101 val
* var1
/* : nullable Collection[MMethod] */;
1102 var1
= modelize_property__AClassdef__super_inits(self
);
1107 /* method modelize_property#AClassdef#super_inits= for (self: AClassdef, nullable Collection[MMethod]) */
1108 void modelize_property__AClassdef__super_inits_61d(val
* self
, val
* p0
) {
1109 self
->attrs
[COLOR_modelize_property__AClassdef___64dsuper_inits
].val
= p0
; /* @super_inits on <self:AClassdef> */
1112 /* method modelize_property#AClassdef#super_inits= for (self: Object, nullable Collection[MMethod]) */
1113 void VIRTUAL_modelize_property__AClassdef__super_inits_61d(val
* self
, val
* p0
) {
1114 modelize_property__AClassdef__super_inits_61d(self
, p0
);
1117 /* method modelize_property#AClassdef#mfree_init for (self: AClassdef): nullable MMethodDef */
1118 val
* modelize_property__AClassdef__mfree_init(val
* self
) {
1119 val
* var
/* : nullable MMethodDef */;
1120 val
* var1
/* : nullable MMethodDef */;
1121 var1
= self
->attrs
[COLOR_modelize_property__AClassdef___64dmfree_init
].val
; /* @mfree_init on <self:AClassdef> */
1126 /* method modelize_property#AClassdef#mfree_init for (self: Object): nullable MMethodDef */
1127 val
* VIRTUAL_modelize_property__AClassdef__mfree_init(val
* self
) {
1128 val
* var
/* : nullable MMethodDef */;
1129 val
* var1
/* : nullable MMethodDef */;
1130 var1
= modelize_property__AClassdef__mfree_init(self
);
1135 /* method modelize_property#AClassdef#mfree_init= for (self: AClassdef, nullable MMethodDef) */
1136 void modelize_property__AClassdef__mfree_init_61d(val
* self
, val
* p0
) {
1137 self
->attrs
[COLOR_modelize_property__AClassdef___64dmfree_init
].val
= p0
; /* @mfree_init on <self:AClassdef> */
1140 /* method modelize_property#AClassdef#mfree_init= for (self: Object, nullable MMethodDef) */
1141 void VIRTUAL_modelize_property__AClassdef__mfree_init_61d(val
* self
, val
* p0
) {
1142 modelize_property__AClassdef__mfree_init_61d(self
, p0
);
1145 /* method modelize_property#AClassdef#mprop2npropdef for (self: AClassdef): Map[MProperty, APropdef] */
1146 val
* modelize_property__AClassdef__mprop2npropdef(val
* self
) {
1147 val
* var
/* : Map[MProperty, APropdef] */;
1148 val
* var1
/* : Map[MProperty, APropdef] */;
1149 var1
= self
->attrs
[COLOR_modelize_property__AClassdef___64dmprop2npropdef
].val
; /* @mprop2npropdef on <self:AClassdef> */
1151 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @mprop2npropdef");
1152 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 180);
1159 /* method modelize_property#AClassdef#mprop2npropdef for (self: Object): Map[MProperty, APropdef] */
1160 val
* VIRTUAL_modelize_property__AClassdef__mprop2npropdef(val
* self
) {
1161 val
* var
/* : Map[MProperty, APropdef] */;
1162 val
* var1
/* : Map[MProperty, APropdef] */;
1163 var1
= modelize_property__AClassdef__mprop2npropdef(self
);
1168 /* method modelize_property#AClassdef#mprop2npropdef= for (self: AClassdef, Map[MProperty, APropdef]) */
1169 void modelize_property__AClassdef__mprop2npropdef_61d(val
* self
, val
* p0
) {
1170 self
->attrs
[COLOR_modelize_property__AClassdef___64dmprop2npropdef
].val
= p0
; /* @mprop2npropdef on <self:AClassdef> */
1173 /* method modelize_property#AClassdef#mprop2npropdef= for (self: Object, Map[MProperty, APropdef]) */
1174 void VIRTUAL_modelize_property__AClassdef__mprop2npropdef_61d(val
* self
, val
* p0
) {
1175 modelize_property__AClassdef__mprop2npropdef_61d(self
, p0
);
1178 /* method modelize_property#Prod#collect_text for (self: Prod): String */
1179 val
* modelize_property__Prod__collect_text(val
* self
) {
1180 val
* var
/* : String */;
1181 val
* var1
/* : TextCollectorVisitor */;
1182 val
* var_v
/* var v: TextCollectorVisitor */;
1183 val
* var2
/* : String */;
1184 static val
* varonce
;
1185 val
* var3
/* : String */;
1186 char* var4
/* : NativeString */;
1187 long var5
/* : Int */;
1188 val
* var6
/* : String */;
1189 short int var7
/* : Bool */;
1190 val
* var8
/* : String */;
1191 var1
= NEW_modelize_property__TextCollectorVisitor(&type_modelize_property__TextCollectorVisitor
);
1192 ((void (*)(val
*))(var1
->class->vft
[COLOR_modelize_property__TextCollectorVisitor__init
]))(var1
) /* init on <var1:TextCollectorVisitor>*/;
1194 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_parser_nodes__Visitor__enter_visit
]))(var_v
, self
) /* enter_visit on <var_v:TextCollectorVisitor>*/;
1195 var2
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_modelize_property__TextCollectorVisitor__text
]))(var_v
) /* text on <var_v:TextCollectorVisitor>*/;
1201 var6
= string__NativeString__to_s_with_length(var4
, var5
);
1205 var7
= ((short int (*)(val
*, val
*))(var2
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var2
, var3
) /* != on <var2:String>*/;
1207 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1208 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 192);
1211 var8
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_modelize_property__TextCollectorVisitor__text
]))(var_v
) /* text on <var_v:TextCollectorVisitor>*/;
1217 /* method modelize_property#Prod#collect_text for (self: Object): String */
1218 val
* VIRTUAL_modelize_property__Prod__collect_text(val
* self
) {
1219 val
* var
/* : String */;
1220 val
* var1
/* : String */;
1221 var1
= modelize_property__Prod__collect_text(self
);
1226 /* method modelize_property#TextCollectorVisitor#text for (self: TextCollectorVisitor): String */
1227 val
* modelize_property__TextCollectorVisitor__text(val
* self
) {
1228 val
* var
/* : String */;
1229 val
* var1
/* : String */;
1230 var1
= self
->attrs
[COLOR_modelize_property__TextCollectorVisitor___64dtext
].val
; /* @text on <self:TextCollectorVisitor> */
1232 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @text");
1233 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 199);
1240 /* method modelize_property#TextCollectorVisitor#text for (self: Object): String */
1241 val
* VIRTUAL_modelize_property__TextCollectorVisitor__text(val
* self
) {
1242 val
* var
/* : String */;
1243 val
* var1
/* : String */;
1244 var1
= modelize_property__TextCollectorVisitor__text(self
);
1249 /* method modelize_property#TextCollectorVisitor#text= for (self: TextCollectorVisitor, String) */
1250 void modelize_property__TextCollectorVisitor__text_61d(val
* self
, val
* p0
) {
1251 self
->attrs
[COLOR_modelize_property__TextCollectorVisitor___64dtext
].val
= p0
; /* @text on <self:TextCollectorVisitor> */
1254 /* method modelize_property#TextCollectorVisitor#text= for (self: Object, String) */
1255 void VIRTUAL_modelize_property__TextCollectorVisitor__text_61d(val
* self
, val
* p0
) {
1256 modelize_property__TextCollectorVisitor__text_61d(self
, p0
);
1259 /* method modelize_property#TextCollectorVisitor#visit for (self: TextCollectorVisitor, ANode) */
1260 void modelize_property__TextCollectorVisitor__visit(val
* self
, val
* p0
) {
1261 val
* var_n
/* var n: ANode */;
1262 short int var
/* : Bool */;
1265 val
* var_
/* var : TextCollectorVisitor */;
1266 val
* var1
/* : String */;
1267 val
* var2
/* : String */;
1268 val
* var3
/* : String */;
1270 /* <var_n:ANode> isa Token */
1271 cltype
= type_parser_nodes__Token
.color
;
1272 idtype
= type_parser_nodes__Token
.id
;
1273 if(cltype
>= var_n
->type
->table_size
) {
1276 var
= var_n
->type
->type_table
[cltype
] == idtype
;
1280 var1
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_modelize_property__TextCollectorVisitor__text
]))(var_
) /* text on <var_:TextCollectorVisitor>*/;
1281 var2
= ((val
* (*)(val
*))(var_n
->class->vft
[COLOR_parser_nodes__Token__text
]))(var_n
) /* text on <var_n:ANode(Token)>*/;
1282 var3
= ((val
* (*)(val
*, val
*))(var1
->class->vft
[COLOR_string__String___43d
]))(var1
, var2
) /* + on <var1:String>*/;
1283 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_modelize_property__TextCollectorVisitor__text_61d
]))(var_
, var3
) /* text= on <var_:TextCollectorVisitor>*/;
1286 ((void (*)(val
*, val
*))(var_n
->class->vft
[COLOR_parser_nodes__ANode__visit_all
]))(var_n
, self
) /* visit_all on <var_n:ANode>*/;
1289 /* method modelize_property#TextCollectorVisitor#visit for (self: Object, ANode) */
1290 void VIRTUAL_modelize_property__TextCollectorVisitor__visit(val
* self
, val
* p0
) {
1291 modelize_property__TextCollectorVisitor__visit(self
, p0
);
1294 /* method modelize_property#TextCollectorVisitor#init for (self: TextCollectorVisitor) */
1295 void modelize_property__TextCollectorVisitor__init(val
* self
) {
1296 ((void (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__Visitor__init
]))(self
) /* init on <self:TextCollectorVisitor>*/;
1299 /* method modelize_property#TextCollectorVisitor#init for (self: Object) */
1300 void VIRTUAL_modelize_property__TextCollectorVisitor__init(val
* self
) {
1301 modelize_property__TextCollectorVisitor__init(self
);
1304 /* method modelize_property#APropdef#mpropdef for (self: APropdef): nullable MPropDef */
1305 val
* modelize_property__APropdef__mpropdef(val
* self
) {
1306 val
* var
/* : nullable MPropDef */;
1307 val
* var1
/* : nullable MPropDef */;
1308 var1
= self
->attrs
[COLOR_modelize_property__APropdef___64dmpropdef
].val
; /* @mpropdef on <self:APropdef> */
1313 /* method modelize_property#APropdef#mpropdef for (self: Object): nullable MPropDef */
1314 val
* VIRTUAL_modelize_property__APropdef__mpropdef(val
* self
) {
1315 val
* var
/* : nullable MPropDef */;
1316 val
* var1
/* : nullable MPropDef */;
1317 var1
= modelize_property__APropdef__mpropdef(self
);
1322 /* method modelize_property#APropdef#mpropdef= for (self: APropdef, nullable MPropDef) */
1323 void modelize_property__APropdef__mpropdef_61d(val
* self
, val
* p0
) {
1324 short int var
/* : Bool */;
1327 const struct type
* type_struct
;
1328 const char* var_class_name
;
1329 /* Covariant cast for argument 0 (mpropdef) <p0:nullable MPropDef> isa nullable MPROPDEF */
1330 /* <p0:nullable MPropDef> isa nullable MPROPDEF */
1331 type_struct
= self
->type
->resolution_table
->types
[COLOR_nullable_parser_nodes__APropdef_VTMPROPDEF
];
1332 cltype
= type_struct
->color
;
1333 idtype
= type_struct
->id
;
1337 if(cltype
>= p0
->type
->table_size
) {
1340 var
= p0
->type
->type_table
[cltype
] == idtype
;
1344 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1345 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name
);
1346 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 211);
1349 self
->attrs
[COLOR_modelize_property__APropdef___64dmpropdef
].val
= p0
; /* @mpropdef on <self:APropdef> */
1352 /* method modelize_property#APropdef#mpropdef= for (self: Object, nullable MPropDef) */
1353 void VIRTUAL_modelize_property__APropdef__mpropdef_61d(val
* self
, val
* p0
) {
1354 modelize_property__APropdef__mpropdef_61d(self
, p0
);
1357 /* method modelize_property#APropdef#build_property for (self: APropdef, ModelBuilder, AClassdef) */
1358 void modelize_property__APropdef__build_property(val
* self
, val
* p0
, val
* p1
) {
1359 const char* var_class_name
;
1360 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
1361 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "build_property", var_class_name
);
1362 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 214);
1366 /* method modelize_property#APropdef#build_property for (self: Object, ModelBuilder, AClassdef) */
1367 void VIRTUAL_modelize_property__APropdef__build_property(val
* self
, val
* p0
, val
* p1
) {
1368 modelize_property__APropdef__build_property(self
, p0
, p1
);
1371 /* method modelize_property#APropdef#build_signature for (self: APropdef, ModelBuilder, AClassdef) */
1372 void modelize_property__APropdef__build_signature(val
* self
, val
* p0
, val
* p1
) {
1373 const char* var_class_name
;
1374 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
1375 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "build_signature", var_class_name
);
1376 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 215);
1380 /* method modelize_property#APropdef#build_signature for (self: Object, ModelBuilder, AClassdef) */
1381 void VIRTUAL_modelize_property__APropdef__build_signature(val
* self
, val
* p0
, val
* p1
) {
1382 modelize_property__APropdef__build_signature(self
, p0
, p1
);
1385 /* method modelize_property#APropdef#check_signature for (self: APropdef, ModelBuilder, AClassdef) */
1386 void modelize_property__APropdef__check_signature(val
* self
, val
* p0
, val
* p1
) {
1387 const char* var_class_name
;
1388 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
1389 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "check_signature", var_class_name
);
1390 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 216);
1394 /* method modelize_property#APropdef#check_signature for (self: Object, ModelBuilder, AClassdef) */
1395 void VIRTUAL_modelize_property__APropdef__check_signature(val
* self
, val
* p0
, val
* p1
) {
1396 modelize_property__APropdef__check_signature(self
, p0
, p1
);
1399 /* method modelize_property#APropdef#new_property_visibility for (self: APropdef, ModelBuilder, AClassdef, nullable AVisibility): MVisibility */
1400 val
* modelize_property__APropdef__new_property_visibility(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1401 val
* var
/* : MVisibility */;
1402 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
1403 val
* var_nclassdef
/* var nclassdef: AClassdef */;
1404 val
* var_nvisibility
/* var nvisibility: nullable AVisibility */;
1405 val
* var1
/* : MVisibility */;
1406 val
* var_mvisibility
/* var mvisibility: MVisibility */;
1407 val
* var2
/* : null */;
1408 short int var3
/* : Bool */;
1409 val
* var4
/* : MVisibility */;
1410 val
* var5
/* : MVisibility */;
1411 short int var6
/* : Bool */;
1412 static val
* varonce
;
1413 val
* var7
/* : String */;
1414 char* var8
/* : NativeString */;
1415 long var9
/* : Int */;
1416 val
* var10
/* : String */;
1417 val
* var11
/* : MVisibility */;
1418 val
* var12
/* : nullable MClassDef */;
1419 val
* var13
/* : MClass */;
1420 val
* var14
/* : MVisibility */;
1421 val
* var15
/* : MVisibility */;
1422 short int var16
/* : Bool */;
1423 val
* var17
/* : MVisibility */;
1424 short int var18
/* : Bool */;
1425 val
* var19
/* : null */;
1426 short int var20
/* : Bool */;
1427 static val
* varonce21
;
1428 val
* var22
/* : String */;
1429 char* var23
/* : NativeString */;
1430 long var24
/* : Int */;
1431 val
* var25
/* : String */;
1432 val
* var26
/* : MVisibility */;
1433 short int var27
/* : Bool */;
1434 val
* var28
/* : null */;
1435 short int var29
/* : Bool */;
1436 val
* var30
/* : MVisibility */;
1437 var_modelbuilder
= p0
;
1439 var_nvisibility
= p2
;
1440 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model_base__Object__public_visibility
]))(self
) /* public_visibility on <self:APropdef>*/;
1441 var_mvisibility
= var1
;
1443 if (var_nvisibility
== NULL
) {
1444 var3
= 0; /* is null */
1446 var3
= 1; /* arg is null and recv is not */
1449 var4
= ((val
* (*)(val
*))(var_nvisibility
->class->vft
[COLOR_modelbuilder__AVisibility__mvisibility
]))(var_nvisibility
) /* mvisibility on <var_nvisibility:nullable AVisibility(AVisibility)>*/;
1450 var_mvisibility
= var4
;
1451 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model_base__Object__intrude_visibility
]))(self
) /* intrude_visibility on <self:APropdef>*/;
1452 var6
= ((short int (*)(val
*, val
*))(var_mvisibility
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_mvisibility
, var5
) /* == on <var_mvisibility:MVisibility>*/;
1457 var8
= "Error: intrude is not a legal visibility for properties.";
1459 var10
= string__NativeString__to_s_with_length(var8
, var9
);
1463 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, var_nvisibility
, var7
) /* error on <var_modelbuilder:ModelBuilder>*/;
1464 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model_base__Object__public_visibility
]))(self
) /* public_visibility on <self:APropdef>*/;
1465 var_mvisibility
= var11
;
1470 var12
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef>*/;
1471 if (var12
== NULL
) {
1472 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
1473 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 227);
1476 var13
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_model__MClassDef__mclass
]))(var12
) /* mclass on <var12:nullable MClassDef>*/;
1478 var14
= ((val
* (*)(val
*))(var13
->class->vft
[COLOR_model__MClass__visibility
]))(var13
) /* visibility on <var13:MClass>*/;
1479 var15
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model_base__Object__private_visibility
]))(self
) /* private_visibility on <self:APropdef>*/;
1480 var16
= ((short int (*)(val
*, val
*))(var14
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var14
, var15
) /* == on <var14:MVisibility>*/;
1482 var17
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model_base__Object__protected_visibility
]))(self
) /* protected_visibility on <self:APropdef>*/;
1483 var18
= ((short int (*)(val
*, val
*))(var_mvisibility
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_mvisibility
, var17
) /* == on <var_mvisibility:MVisibility>*/;
1486 if (var_nvisibility
== NULL
) {
1487 var20
= 0; /* is null */
1489 var20
= 1; /* arg is null and recv is not */
1492 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1493 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 229);
1499 var23
= "Error: The only legal visibility for properties in a private class is private.";
1501 var25
= string__NativeString__to_s_with_length(var23
, var24
);
1505 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, var_nvisibility
, var22
) /* error on <var_modelbuilder:ModelBuilder>*/;
1507 var26
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model_base__Object__private_visibility
]))(self
) /* private_visibility on <self:APropdef>*/;
1508 var27
= ((short int (*)(val
*, val
*))(var_mvisibility
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_mvisibility
, var26
) /* == on <var_mvisibility:MVisibility>*/;
1511 if (var_nvisibility
== NULL
) {
1512 var29
= 0; /* is null */
1514 var29
= 1; /* arg is null and recv is not */
1517 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1518 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 232);
1524 var30
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model_base__Object__private_visibility
]))(self
) /* private_visibility on <self:APropdef>*/;
1525 var_mvisibility
= var30
;
1528 var
= var_mvisibility
;
1533 /* method modelize_property#APropdef#new_property_visibility for (self: Object, ModelBuilder, AClassdef, nullable AVisibility): MVisibility */
1534 val
* VIRTUAL_modelize_property__APropdef__new_property_visibility(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1535 val
* var
/* : MVisibility */;
1536 val
* var1
/* : MVisibility */;
1537 var1
= modelize_property__APropdef__new_property_visibility(self
, p0
, p1
, p2
);
1542 /* method modelize_property#APropdef#check_redef_property_visibility for (self: APropdef, ModelBuilder, AClassdef, nullable AVisibility, MProperty) */
1543 void modelize_property__APropdef__check_redef_property_visibility(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
1544 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
1545 val
* var_nclassdef
/* var nclassdef: AClassdef */;
1546 val
* var_nvisibility
/* var nvisibility: nullable AVisibility */;
1547 val
* var_mprop
/* var mprop: MProperty */;
1548 val
* var
/* : null */;
1549 short int var1
/* : Bool */;
1550 val
* var2
/* : MVisibility */;
1551 val
* var_mvisibility
/* var mvisibility: MVisibility */;
1552 short int var3
/* : Bool */;
1553 val
* var4
/* : MVisibility */;
1554 short int var5
/* : Bool */;
1555 short int var_
/* var : Bool */;
1556 val
* var6
/* : MVisibility */;
1557 short int var7
/* : Bool */;
1558 static val
* varonce
;
1559 val
* var8
/* : String */;
1560 char* var9
/* : NativeString */;
1561 long var10
/* : Int */;
1562 val
* var11
/* : String */;
1563 val
* var12
/* : MVisibility */;
1564 static val
* varonce13
;
1565 val
* var14
/* : String */;
1566 char* var15
/* : NativeString */;
1567 long var16
/* : Int */;
1568 val
* var17
/* : String */;
1569 val
* var18
/* : Array[Object] */;
1570 long var19
/* : Int */;
1571 val
* var20
/* : NativeArray[Object] */;
1572 val
* var21
/* : String */;
1573 var_modelbuilder
= p0
;
1575 var_nvisibility
= p2
;
1578 if (var_nvisibility
== NULL
) {
1579 var1
= 1; /* is null */
1581 var1
= 0; /* arg is null but recv is not */
1587 var2
= ((val
* (*)(val
*))(var_nvisibility
->class->vft
[COLOR_modelbuilder__AVisibility__mvisibility
]))(var_nvisibility
) /* mvisibility on <var_nvisibility:nullable AVisibility(AVisibility)>*/;
1588 var_mvisibility
= var2
;
1589 var4
= ((val
* (*)(val
*))(var_mprop
->class->vft
[COLOR_model__MProperty__visibility
]))(var_mprop
) /* visibility on <var_mprop:MProperty>*/;
1590 var5
= ((short int (*)(val
*, val
*))(var_mvisibility
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_mvisibility
, var4
) /* != on <var_mvisibility:MVisibility>*/;
1593 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model_base__Object__public_visibility
]))(self
) /* public_visibility on <self:APropdef>*/;
1594 var7
= ((short int (*)(val
*, val
*))(var_mvisibility
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_mvisibility
, var6
) /* != on <var_mvisibility:MVisibility>*/;
1603 var9
= "Error: redefinition changed the visibility from a ";
1605 var11
= string__NativeString__to_s_with_length(var9
, var10
);
1609 var12
= ((val
* (*)(val
*))(var_mprop
->class->vft
[COLOR_model__MProperty__visibility
]))(var_mprop
) /* visibility on <var_mprop:MProperty>*/;
1615 var17
= string__NativeString__to_s_with_length(var15
, var16
);
1619 var18
= NEW_array__Array(&type_array__Arraykernel__Object
);
1620 { /* var18 = array_instance Array[Object] */
1622 var20
= NEW_array__NativeArray(var19
, &type_array__NativeArraykernel__Object
);
1623 ((struct instance_array__NativeArray
*)var20
)->values
[0] = (val
*) var8
;
1624 ((struct instance_array__NativeArray
*)var20
)->values
[1] = (val
*) var12
;
1625 ((struct instance_array__NativeArray
*)var20
)->values
[2] = (val
*) var14
;
1626 ((struct instance_array__NativeArray
*)var20
)->values
[3] = (val
*) var_mvisibility
;
1627 ((void (*)(val
*, val
*, long))(var18
->class->vft
[COLOR_array__Array__with_native
]))(var18
, var20
, var19
) /* with_native on <var18:Array[Object]>*/;
1629 var21
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_string__Object__to_s
]))(var18
) /* to_s on <var18:Array[Object]>*/;
1630 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, var_nvisibility
, var21
) /* error on <var_modelbuilder:ModelBuilder>*/;
1635 /* method modelize_property#APropdef#check_redef_property_visibility for (self: Object, ModelBuilder, AClassdef, nullable AVisibility, MProperty) */
1636 void VIRTUAL_modelize_property__APropdef__check_redef_property_visibility(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
1637 modelize_property__APropdef__check_redef_property_visibility(self
, p0
, p1
, p2
, p3
);
1640 /* method modelize_property#APropdef#check_redef_keyword for (self: APropdef, ModelBuilder, AClassdef, nullable Token, Bool, MProperty): Bool */
1641 short int modelize_property__APropdef__check_redef_keyword(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
, val
* p4
) {
1642 short int var
/* : Bool */;
1643 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
1644 val
* var_nclassdef
/* var nclassdef: AClassdef */;
1645 val
* var_kwredef
/* var kwredef: nullable Token */;
1646 short int var_need_redef
/* var need_redef: Bool */;
1647 val
* var_mprop
/* var mprop: MProperty */;
1648 val
* var1
/* : Map[MProperty, APropdef] */;
1649 short int var2
/* : Bool */;
1650 static val
* varonce
;
1651 val
* var3
/* : String */;
1652 char* var4
/* : NativeString */;
1653 long var5
/* : Int */;
1654 val
* var6
/* : String */;
1655 static val
* varonce7
;
1656 val
* var8
/* : String */;
1657 char* var9
/* : NativeString */;
1658 long var10
/* : Int */;
1659 val
* var11
/* : String */;
1660 val
* var12
/* : nullable MClassDef */;
1661 val
* var13
/* : MClass */;
1662 static val
* varonce14
;
1663 val
* var15
/* : String */;
1664 char* var16
/* : NativeString */;
1665 long var17
/* : Int */;
1666 val
* var18
/* : String */;
1667 val
* var19
/* : Array[Object] */;
1668 long var20
/* : Int */;
1669 val
* var21
/* : NativeArray[Object] */;
1670 val
* var22
/* : String */;
1671 short int var23
/* : Bool */;
1672 val
* var24
/* : null */;
1673 short int var25
/* : Bool */;
1674 static val
* varonce26
;
1675 val
* var27
/* : String */;
1676 char* var28
/* : NativeString */;
1677 long var29
/* : Int */;
1678 val
* var30
/* : String */;
1679 val
* var31
/* : nullable MClassDef */;
1680 val
* var32
/* : MClass */;
1681 static val
* varonce33
;
1682 val
* var34
/* : String */;
1683 char* var35
/* : NativeString */;
1684 long var36
/* : Int */;
1685 val
* var37
/* : String */;
1686 val
* var38
/* : String */;
1687 static val
* varonce39
;
1688 val
* var40
/* : String */;
1689 char* var41
/* : NativeString */;
1690 long var42
/* : Int */;
1691 val
* var43
/* : String */;
1692 val
* var44
/* : Array[Object] */;
1693 long var45
/* : Int */;
1694 val
* var46
/* : NativeArray[Object] */;
1695 val
* var47
/* : String */;
1696 short int var48
/* : Bool */;
1697 short int var49
/* : Bool */;
1698 static val
* varonce50
;
1699 val
* var51
/* : String */;
1700 char* var52
/* : NativeString */;
1701 long var53
/* : Int */;
1702 val
* var54
/* : String */;
1703 val
* var55
/* : nullable MClassDef */;
1704 val
* var56
/* : MClass */;
1705 static val
* varonce57
;
1706 val
* var58
/* : String */;
1707 char* var59
/* : NativeString */;
1708 long var60
/* : Int */;
1709 val
* var61
/* : String */;
1710 val
* var62
/* : String */;
1711 static val
* varonce63
;
1712 val
* var64
/* : String */;
1713 char* var65
/* : NativeString */;
1714 long var66
/* : Int */;
1715 val
* var67
/* : String */;
1716 val
* var68
/* : Array[Object] */;
1717 long var69
/* : Int */;
1718 val
* var70
/* : NativeArray[Object] */;
1719 val
* var71
/* : String */;
1720 short int var72
/* : Bool */;
1721 short int var73
/* : Bool */;
1722 var_modelbuilder
= p0
;
1725 var_need_redef
= p3
;
1727 var1
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_property__AClassdef__mprop2npropdef
]))(var_nclassdef
) /* mprop2npropdef on <var_nclassdef:AClassdef>*/;
1728 var2
= ((short int (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__MapRead__has_key
]))(var1
, var_mprop
) /* has_key on <var1:Map[MProperty, APropdef]>*/;
1733 var4
= "Error: A property ";
1735 var6
= string__NativeString__to_s_with_length(var4
, var5
);
1742 var9
= " is already defined in class ";
1744 var11
= string__NativeString__to_s_with_length(var9
, var10
);
1748 var12
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef>*/;
1749 if (var12
== NULL
) {
1750 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
1751 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 253);
1754 var13
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_model__MClassDef__mclass
]))(var12
) /* mclass on <var12:nullable MClassDef>*/;
1761 var18
= string__NativeString__to_s_with_length(var16
, var17
);
1765 var19
= NEW_array__Array(&type_array__Arraykernel__Object
);
1766 { /* var19 = array_instance Array[Object] */
1768 var21
= NEW_array__NativeArray(var20
, &type_array__NativeArraykernel__Object
);
1769 ((struct instance_array__NativeArray
*)var21
)->values
[0] = (val
*) var3
;
1770 ((struct instance_array__NativeArray
*)var21
)->values
[1] = (val
*) var_mprop
;
1771 ((struct instance_array__NativeArray
*)var21
)->values
[2] = (val
*) var8
;
1772 ((struct instance_array__NativeArray
*)var21
)->values
[3] = (val
*) var13
;
1773 ((struct instance_array__NativeArray
*)var21
)->values
[4] = (val
*) var15
;
1774 ((void (*)(val
*, val
*, long))(var19
->class->vft
[COLOR_array__Array__with_native
]))(var19
, var21
, var20
) /* with_native on <var19:Array[Object]>*/;
1776 var22
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_string__Object__to_s
]))(var19
) /* to_s on <var19:Array[Object]>*/;
1777 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, self
, var22
) /* error on <var_modelbuilder:ModelBuilder>*/;
1784 if (var_kwredef
== NULL
) {
1785 var25
= 1; /* is null */
1787 var25
= 0; /* arg is null but recv is not */
1790 if (var_need_redef
){
1794 var28
= "Redef error: ";
1796 var30
= string__NativeString__to_s_with_length(var28
, var29
);
1800 var31
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef>*/;
1801 if (var31
== NULL
) {
1802 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
1803 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 258);
1806 var32
= ((val
* (*)(val
*))(var31
->class->vft
[COLOR_model__MClassDef__mclass
]))(var31
) /* mclass on <var31:nullable MClassDef>*/;
1813 var37
= string__NativeString__to_s_with_length(var35
, var36
);
1817 var38
= ((val
* (*)(val
*))(var_mprop
->class->vft
[COLOR_model__MProperty__name
]))(var_mprop
) /* name on <var_mprop:MProperty>*/;
1821 var41
= " is an inherited property. To redefine it, add the redef keyword.";
1823 var43
= string__NativeString__to_s_with_length(var41
, var42
);
1827 var44
= NEW_array__Array(&type_array__Arraykernel__Object
);
1828 { /* var44 = array_instance Array[Object] */
1830 var46
= NEW_array__NativeArray(var45
, &type_array__NativeArraykernel__Object
);
1831 ((struct instance_array__NativeArray
*)var46
)->values
[0] = (val
*) var27
;
1832 ((struct instance_array__NativeArray
*)var46
)->values
[1] = (val
*) var32
;
1833 ((struct instance_array__NativeArray
*)var46
)->values
[2] = (val
*) var34
;
1834 ((struct instance_array__NativeArray
*)var46
)->values
[3] = (val
*) var38
;
1835 ((struct instance_array__NativeArray
*)var46
)->values
[4] = (val
*) var40
;
1836 ((void (*)(val
*, val
*, long))(var44
->class->vft
[COLOR_array__Array__with_native
]))(var44
, var46
, var45
) /* with_native on <var44:Array[Object]>*/;
1838 var47
= ((val
* (*)(val
*))(var44
->class->vft
[COLOR_string__Object__to_s
]))(var44
) /* to_s on <var44:Array[Object]>*/;
1839 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, self
, var47
) /* error on <var_modelbuilder:ModelBuilder>*/;
1846 var49
= !var_need_redef
;
1851 var52
= "Error: No property ";
1853 var54
= string__NativeString__to_s_with_length(var52
, var53
);
1857 var55
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef>*/;
1858 if (var55
== NULL
) {
1859 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
1860 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 263);
1863 var56
= ((val
* (*)(val
*))(var55
->class->vft
[COLOR_model__MClassDef__mclass
]))(var55
) /* mclass on <var55:nullable MClassDef>*/;
1870 var61
= string__NativeString__to_s_with_length(var59
, var60
);
1874 var62
= ((val
* (*)(val
*))(var_mprop
->class->vft
[COLOR_model__MProperty__name
]))(var_mprop
) /* name on <var_mprop:MProperty>*/;
1878 var65
= " is inherited. Remove the redef keyword to define a new property.";
1880 var67
= string__NativeString__to_s_with_length(var65
, var66
);
1884 var68
= NEW_array__Array(&type_array__Arraykernel__Object
);
1885 { /* var68 = array_instance Array[Object] */
1887 var70
= NEW_array__NativeArray(var69
, &type_array__NativeArraykernel__Object
);
1888 ((struct instance_array__NativeArray
*)var70
)->values
[0] = (val
*) var51
;
1889 ((struct instance_array__NativeArray
*)var70
)->values
[1] = (val
*) var56
;
1890 ((struct instance_array__NativeArray
*)var70
)->values
[2] = (val
*) var58
;
1891 ((struct instance_array__NativeArray
*)var70
)->values
[3] = (val
*) var62
;
1892 ((struct instance_array__NativeArray
*)var70
)->values
[4] = (val
*) var64
;
1893 ((void (*)(val
*, val
*, long))(var68
->class->vft
[COLOR_array__Array__with_native
]))(var68
, var70
, var69
) /* with_native on <var68:Array[Object]>*/;
1895 var71
= ((val
* (*)(val
*))(var68
->class->vft
[COLOR_string__Object__to_s
]))(var68
) /* to_s on <var68:Array[Object]>*/;
1896 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, self
, var71
) /* error on <var_modelbuilder:ModelBuilder>*/;
1909 /* method modelize_property#APropdef#check_redef_keyword for (self: Object, ModelBuilder, AClassdef, nullable Token, Bool, MProperty): Bool */
1910 short int VIRTUAL_modelize_property__APropdef__check_redef_keyword(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
, val
* p4
) {
1911 short int var
/* : Bool */;
1912 short int var1
/* : Bool */;
1913 var1
= modelize_property__APropdef__check_redef_keyword(self
, p0
, p1
, p2
, p3
, p4
);
1918 /* method modelize_property#ASignature#is_visited for (self: ASignature): Bool */
1919 short int modelize_property__ASignature__is_visited(val
* self
) {
1920 short int var
/* : Bool */;
1921 short int var1
/* : Bool */;
1922 var1
= self
->attrs
[COLOR_modelize_property__ASignature___64dis_visited
].s
; /* @is_visited on <self:ASignature> */
1927 /* method modelize_property#ASignature#is_visited for (self: Object): Bool */
1928 short int VIRTUAL_modelize_property__ASignature__is_visited(val
* self
) {
1929 short int var
/* : Bool */;
1930 short int var1
/* : Bool */;
1931 var1
= modelize_property__ASignature__is_visited(self
);
1936 /* method modelize_property#ASignature#is_visited= for (self: ASignature, Bool) */
1937 void modelize_property__ASignature__is_visited_61d(val
* self
, short int p0
) {
1938 self
->attrs
[COLOR_modelize_property__ASignature___64dis_visited
].s
= p0
; /* @is_visited on <self:ASignature> */
1941 /* method modelize_property#ASignature#is_visited= for (self: Object, Bool) */
1942 void VIRTUAL_modelize_property__ASignature__is_visited_61d(val
* self
, short int p0
) {
1943 modelize_property__ASignature__is_visited_61d(self
, p0
);
1946 /* method modelize_property#ASignature#param_names for (self: ASignature): Array[String] */
1947 val
* modelize_property__ASignature__param_names(val
* self
) {
1948 val
* var
/* : Array[String] */;
1949 val
* var1
/* : Array[String] */;
1950 var1
= self
->attrs
[COLOR_modelize_property__ASignature___64dparam_names
].val
; /* @param_names on <self:ASignature> */
1952 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @param_names");
1953 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 275);
1960 /* method modelize_property#ASignature#param_names for (self: Object): Array[String] */
1961 val
* VIRTUAL_modelize_property__ASignature__param_names(val
* self
) {
1962 val
* var
/* : Array[String] */;
1963 val
* var1
/* : Array[String] */;
1964 var1
= modelize_property__ASignature__param_names(self
);
1969 /* method modelize_property#ASignature#param_names= for (self: ASignature, Array[String]) */
1970 void modelize_property__ASignature__param_names_61d(val
* self
, val
* p0
) {
1971 self
->attrs
[COLOR_modelize_property__ASignature___64dparam_names
].val
= p0
; /* @param_names on <self:ASignature> */
1974 /* method modelize_property#ASignature#param_names= for (self: Object, Array[String]) */
1975 void VIRTUAL_modelize_property__ASignature__param_names_61d(val
* self
, val
* p0
) {
1976 modelize_property__ASignature__param_names_61d(self
, p0
);
1979 /* method modelize_property#ASignature#param_types for (self: ASignature): Array[MType] */
1980 val
* modelize_property__ASignature__param_types(val
* self
) {
1981 val
* var
/* : Array[MType] */;
1982 val
* var1
/* : Array[MType] */;
1983 var1
= self
->attrs
[COLOR_modelize_property__ASignature___64dparam_types
].val
; /* @param_types on <self:ASignature> */
1985 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @param_types");
1986 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 278);
1993 /* method modelize_property#ASignature#param_types for (self: Object): Array[MType] */
1994 val
* VIRTUAL_modelize_property__ASignature__param_types(val
* self
) {
1995 val
* var
/* : Array[MType] */;
1996 val
* var1
/* : Array[MType] */;
1997 var1
= modelize_property__ASignature__param_types(self
);
2002 /* method modelize_property#ASignature#param_types= for (self: ASignature, Array[MType]) */
2003 void modelize_property__ASignature__param_types_61d(val
* self
, val
* p0
) {
2004 self
->attrs
[COLOR_modelize_property__ASignature___64dparam_types
].val
= p0
; /* @param_types on <self:ASignature> */
2007 /* method modelize_property#ASignature#param_types= for (self: Object, Array[MType]) */
2008 void VIRTUAL_modelize_property__ASignature__param_types_61d(val
* self
, val
* p0
) {
2009 modelize_property__ASignature__param_types_61d(self
, p0
);
2012 /* method modelize_property#ASignature#vararg_rank for (self: ASignature): Int */
2013 long modelize_property__ASignature__vararg_rank(val
* self
) {
2014 long var
/* : Int */;
2015 long var1
/* : Int */;
2016 var1
= self
->attrs
[COLOR_modelize_property__ASignature___64dvararg_rank
].l
; /* @vararg_rank on <self:ASignature> */
2021 /* method modelize_property#ASignature#vararg_rank for (self: Object): Int */
2022 long VIRTUAL_modelize_property__ASignature__vararg_rank(val
* self
) {
2023 long var
/* : Int */;
2024 long var1
/* : Int */;
2025 var1
= modelize_property__ASignature__vararg_rank(self
);
2030 /* method modelize_property#ASignature#vararg_rank= for (self: ASignature, Int) */
2031 void modelize_property__ASignature__vararg_rank_61d(val
* self
, long p0
) {
2032 self
->attrs
[COLOR_modelize_property__ASignature___64dvararg_rank
].l
= p0
; /* @vararg_rank on <self:ASignature> */
2035 /* method modelize_property#ASignature#vararg_rank= for (self: Object, Int) */
2036 void VIRTUAL_modelize_property__ASignature__vararg_rank_61d(val
* self
, long p0
) {
2037 modelize_property__ASignature__vararg_rank_61d(self
, p0
);
2040 /* method modelize_property#ASignature#ret_type for (self: ASignature): nullable MType */
2041 val
* modelize_property__ASignature__ret_type(val
* self
) {
2042 val
* var
/* : nullable MType */;
2043 val
* var1
/* : nullable MType */;
2044 var1
= self
->attrs
[COLOR_modelize_property__ASignature___64dret_type
].val
; /* @ret_type on <self:ASignature> */
2049 /* method modelize_property#ASignature#ret_type for (self: Object): nullable MType */
2050 val
* VIRTUAL_modelize_property__ASignature__ret_type(val
* self
) {
2051 val
* var
/* : nullable MType */;
2052 val
* var1
/* : nullable MType */;
2053 var1
= modelize_property__ASignature__ret_type(self
);
2058 /* method modelize_property#ASignature#ret_type= for (self: ASignature, nullable MType) */
2059 void modelize_property__ASignature__ret_type_61d(val
* self
, val
* p0
) {
2060 self
->attrs
[COLOR_modelize_property__ASignature___64dret_type
].val
= p0
; /* @ret_type on <self:ASignature> */
2063 /* method modelize_property#ASignature#ret_type= for (self: Object, nullable MType) */
2064 void VIRTUAL_modelize_property__ASignature__ret_type_61d(val
* self
, val
* p0
) {
2065 modelize_property__ASignature__ret_type_61d(self
, p0
);
2068 /* method modelize_property#ASignature#visit_signature for (self: ASignature, ModelBuilder, AClassdef): Bool */
2069 short int modelize_property__ASignature__visit_signature(val
* self
, val
* p0
, val
* p1
) {
2070 short int var
/* : Bool */;
2071 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
2072 val
* var_nclassdef
/* var nclassdef: AClassdef */;
2073 val
* var1
/* : Array[String] */;
2074 val
* var_param_names
/* var param_names: Array[String] */;
2075 val
* var2
/* : Array[MType] */;
2076 val
* var_param_types
/* var param_types: Array[MType] */;
2077 val
* var3
/* : ANodes[AParam] */;
2078 val
* var4
/* : Iterator[nullable Object] */;
2079 short int var5
/* : Bool */;
2080 val
* var6
/* : nullable Object */;
2081 val
* var_np
/* var np: AParam */;
2082 val
* var7
/* : TId */;
2083 val
* var8
/* : String */;
2084 val
* var9
/* : nullable AType */;
2085 val
* var_ntype
/* var ntype: nullable AType */;
2086 val
* var10
/* : null */;
2087 short int var11
/* : Bool */;
2088 val
* var12
/* : nullable MType */;
2089 val
* var_mtype
/* var mtype: nullable MType */;
2090 val
* var13
/* : null */;
2091 short int var14
/* : Bool */;
2092 short int var15
/* : Bool */;
2093 val
* var16
/* : Range[Int] */;
2094 long var17
/* : Int */;
2095 long var18
/* : Int */;
2096 long var19
/* : Int */;
2097 long var20
/* : Int */;
2098 long var22
/* : Int */;
2099 val
* var23
/* : Discrete */;
2100 val
* var24
/* : Discrete */;
2101 val
* var25
/* : Iterator[nullable Object] */;
2102 short int var26
/* : Bool */;
2103 val
* var27
/* : nullable Object */;
2104 long var_i
/* var i: Int */;
2105 long var28
/* : Int */;
2106 val
* var29
/* : nullable TDotdotdot */;
2107 val
* var30
/* : null */;
2108 short int var31
/* : Bool */;
2109 long var32
/* : Int */;
2110 long var33
/* : Int */;
2111 long var34
/* : Int */;
2112 long var36
/* : Int */;
2113 short int var37
/* : Bool */;
2114 short int var39
/* : Bool */;
2115 short int var40
/* : Bool */;
2116 static val
* varonce
;
2117 val
* var41
/* : String */;
2118 char* var42
/* : NativeString */;
2119 long var43
/* : Int */;
2120 val
* var44
/* : String */;
2121 long var45
/* : Int */;
2122 val
* var46
/* : nullable Object */;
2123 static val
* varonce47
;
2124 val
* var48
/* : String */;
2125 char* var49
/* : NativeString */;
2126 long var50
/* : Int */;
2127 val
* var51
/* : String */;
2128 val
* var52
/* : Array[Object] */;
2129 long var53
/* : Int */;
2130 val
* var54
/* : NativeArray[Object] */;
2131 val
* var55
/* : String */;
2132 short int var56
/* : Bool */;
2133 long var57
/* : Int */;
2134 long var58
/* : Int */;
2135 long var59
/* : Int */;
2136 long var61
/* : Int */;
2137 val
* var63
/* : nullable AType */;
2138 val
* var_ntype64
/* var ntype: nullable AType */;
2139 val
* var65
/* : null */;
2140 short int var66
/* : Bool */;
2141 val
* var67
/* : nullable MType */;
2142 val
* var68
/* : nullable MType */;
2143 val
* var69
/* : null */;
2144 short int var70
/* : Bool */;
2145 short int var71
/* : Bool */;
2146 short int var72
/* : Bool */;
2147 short int var73
/* : Bool */;
2148 var_modelbuilder
= p0
;
2150 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__ASignature__param_names
]))(self
) /* param_names on <self:ASignature>*/;
2151 var_param_names
= var1
;
2152 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__ASignature__param_types
]))(self
) /* param_types on <self:ASignature>*/;
2153 var_param_types
= var2
;
2154 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ASignature__n_params
]))(self
) /* n_params on <self:ASignature>*/;
2155 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var3
) /* iterator on <var3:ANodes[AParam]>*/;
2157 var5
= ((short int (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var4
) /* is_ok on <var4:Iterator[nullable Object]>*/;
2159 var6
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var4
) /* item on <var4:Iterator[nullable Object]>*/;
2161 var7
= ((val
* (*)(val
*))(var_np
->class->vft
[COLOR_parser_nodes__AParam__n_id
]))(var_np
) /* n_id on <var_np:AParam>*/;
2162 var8
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_parser_nodes__Token__text
]))(var7
) /* text on <var7:TId>*/;
2163 ((void (*)(val
*, val
*))(var_param_names
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_param_names
, var8
) /* add on <var_param_names:Array[String]>*/;
2164 var9
= ((val
* (*)(val
*))(var_np
->class->vft
[COLOR_parser_nodes__AParam__n_type
]))(var_np
) /* n_type on <var_np:AParam>*/;
2167 if (var_ntype
== NULL
) {
2168 var11
= 0; /* is null */
2170 var11
= 1; /* arg is null and recv is not */
2173 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>*/;
2176 if (var_mtype
== NULL
) {
2177 var14
= 1; /* is null */
2179 var14
= 0; /* arg is null but recv is not */
2187 var16
= NEW_range__Range(&type_range__Rangekernel__Int
);
2189 var18
= ((long (*)(val
*))(var_param_names
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_param_names
) /* length on <var_param_names:Array[String]>*/;
2190 var19
= ((long (*)(val
*))(var_param_types
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_param_types
) /* length on <var_param_types:Array[MType]>*/;
2191 { /* Inline kernel#Int#- (var18,var19) */
2192 var22
= var18
- var19
;
2195 RET_LABEL21
:(void)0;
2197 var23
= BOX_kernel__Int(var17
); /* autobox from Int to Discrete */
2198 var24
= BOX_kernel__Int(var20
); /* autobox from Int to Discrete */
2199 ((void (*)(val
*, val
*, val
*))(var16
->class->vft
[COLOR_range__Range__without_last
]))(var16
, var23
, var24
) /* without_last on <var16:Range[Int]>*/;
2200 var25
= ((val
* (*)(val
*))(var16
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var16
) /* iterator on <var16:Range[Int]>*/;
2202 var26
= ((short int (*)(val
*))(var25
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var25
) /* is_ok on <var25:Iterator[nullable Object]>*/;
2204 var27
= ((val
* (*)(val
*))(var25
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var25
) /* item on <var25:Iterator[nullable Object]>*/;
2205 var28
= ((struct instance_kernel__Int
*)var27
)->value
; /* autounbox from nullable Object to Int */;
2207 ((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]>*/;
2208 CONTINUE_label
: (void)0;
2209 ((void (*)(val
*))(var25
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var25
) /* next on <var25:Iterator[nullable Object]>*/;
2211 BREAK_label
: (void)0;
2212 var29
= ((val
* (*)(val
*))(var_np
->class->vft
[COLOR_parser_nodes__AParam__n_dotdotdot
]))(var_np
) /* n_dotdotdot on <var_np:AParam>*/;
2214 if (var29
== NULL
) {
2215 var31
= 0; /* is null */
2217 var31
= 1; /* arg is null and recv is not */
2220 var32
= ((long (*)(val
*))(self
->class->vft
[COLOR_modelize_property__ASignature__vararg_rank
]))(self
) /* vararg_rank on <self:ASignature>*/;
2222 { /* Inline kernel#Int#unary - (var33) */
2226 RET_LABEL35
:(void)0;
2228 { /* Inline kernel#Int#!= (var32,var34) */
2229 var39
= var32
== var34
;
2233 RET_LABEL38
:(void)0;
2241 var44
= string__NativeString__to_s_with_length(var42
, var43
);
2245 var45
= ((long (*)(val
*))(self
->class->vft
[COLOR_modelize_property__ASignature__vararg_rank
]))(self
) /* vararg_rank on <self:ASignature>*/;
2246 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]>*/;
2250 var49
= " is already a vararg";
2252 var51
= string__NativeString__to_s_with_length(var49
, var50
);
2256 var52
= NEW_array__Array(&type_array__Arraykernel__Object
);
2257 { /* var52 = array_instance Array[Object] */
2259 var54
= NEW_array__NativeArray(var53
, &type_array__NativeArraykernel__Object
);
2260 ((struct instance_array__NativeArray
*)var54
)->values
[0] = (val
*) var41
;
2261 ((struct instance_array__NativeArray
*)var54
)->values
[1] = (val
*) var46
;
2262 ((struct instance_array__NativeArray
*)var54
)->values
[2] = (val
*) var48
;
2263 ((void (*)(val
*, val
*, long))(var52
->class->vft
[COLOR_array__Array__with_native
]))(var52
, var54
, var53
) /* with_native on <var52:Array[Object]>*/;
2265 var55
= ((val
* (*)(val
*))(var52
->class->vft
[COLOR_string__Object__to_s
]))(var52
) /* to_s on <var52:Array[Object]>*/;
2266 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, var_np
, var55
) /* error on <var_modelbuilder:ModelBuilder>*/;
2271 var57
= ((long (*)(val
*))(var_param_names
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_param_names
) /* length on <var_param_names:Array[String]>*/;
2273 { /* Inline kernel#Int#- (var57,var58) */
2274 var61
= var57
- var58
;
2277 RET_LABEL60
:(void)0;
2279 ((void (*)(val
*, long))(self
->class->vft
[COLOR_modelize_property__ASignature__vararg_rank_61d
]))(self
, var59
) /* vararg_rank= on <self:ASignature>*/;
2285 CONTINUE_label62
: (void)0;
2286 ((void (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var4
) /* next on <var4:Iterator[nullable Object]>*/;
2288 BREAK_label62
: (void)0;
2289 var63
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ASignature__n_type
]))(self
) /* n_type on <self:ASignature>*/;
2290 var_ntype64
= var63
;
2292 if (var_ntype64
== NULL
) {
2293 var66
= 0; /* is null */
2295 var66
= 1; /* arg is null and recv is not */
2298 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>*/;
2299 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_modelize_property__ASignature__ret_type_61d
]))(self
, var67
) /* ret_type= on <self:ASignature>*/;
2300 var68
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__ASignature__ret_type
]))(self
) /* ret_type on <self:ASignature>*/;
2302 if (var68
== NULL
) {
2303 var70
= 1; /* is null */
2305 var70
= 0; /* arg is null but recv is not */
2316 ((void (*)(val
*, short int))(self
->class->vft
[COLOR_modelize_property__ASignature__is_visited_61d
]))(self
, var72
) /* is_visited= on <self:ASignature>*/;
2323 /* method modelize_property#ASignature#visit_signature for (self: Object, ModelBuilder, AClassdef): Bool */
2324 short int VIRTUAL_modelize_property__ASignature__visit_signature(val
* self
, val
* p0
, val
* p1
) {
2325 short int var
/* : Bool */;
2326 short int var1
/* : Bool */;
2327 var1
= modelize_property__ASignature__visit_signature(self
, p0
, p1
);
2332 /* method modelize_property#ASignature#build_signature for (self: ASignature, ModelBuilder, AClassdef): nullable MSignature */
2333 val
* modelize_property__ASignature__build_signature(val
* self
, val
* p0
, val
* p1
) {
2334 val
* var
/* : nullable MSignature */;
2335 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
2336 val
* var_nclassdef
/* var nclassdef: AClassdef */;
2337 val
* var1
/* : Array[String] */;
2338 long var2
/* : Int */;
2339 val
* var3
/* : Array[MType] */;
2340 long var4
/* : Int */;
2341 short int var5
/* : Bool */;
2342 short int var7
/* : Bool */;
2343 short int var8
/* : Bool */;
2344 val
* var9
/* : ANodes[AParam] */;
2345 val
* var10
/* : Array[MType] */;
2346 long var11
/* : Int */;
2347 val
* var12
/* : nullable Object */;
2348 static val
* varonce
;
2349 val
* var13
/* : String */;
2350 char* var14
/* : NativeString */;
2351 long var15
/* : Int */;
2352 val
* var16
/* : String */;
2353 val
* var17
/* : Array[String] */;
2354 val
* var18
/* : Array[MType] */;
2355 long var19
/* : Int */;
2356 val
* var20
/* : nullable Object */;
2357 static val
* varonce21
;
2358 val
* var22
/* : String */;
2359 char* var23
/* : NativeString */;
2360 long var24
/* : Int */;
2361 val
* var25
/* : String */;
2362 val
* var26
/* : Array[Object] */;
2363 long var27
/* : Int */;
2364 val
* var28
/* : NativeArray[Object] */;
2365 val
* var29
/* : String */;
2366 val
* var30
/* : null */;
2367 val
* var31
/* : Array[MParameter] */;
2368 val
* var_mparameters
/* var mparameters: Array[MParameter] */;
2369 val
* var32
/* : Range[Int] */;
2370 long var33
/* : Int */;
2371 val
* var34
/* : Array[String] */;
2372 long var35
/* : Int */;
2373 val
* var36
/* : Discrete */;
2374 val
* var37
/* : Discrete */;
2375 val
* var38
/* : Iterator[nullable Object] */;
2376 short int var39
/* : Bool */;
2377 val
* var40
/* : nullable Object */;
2378 long var_i
/* var i: Int */;
2379 long var41
/* : Int */;
2380 val
* var42
/* : MParameter */;
2381 val
* var43
/* : Array[String] */;
2382 val
* var44
/* : nullable Object */;
2383 val
* var45
/* : Array[MType] */;
2384 val
* var46
/* : nullable Object */;
2385 long var47
/* : Int */;
2386 short int var48
/* : Bool */;
2387 short int var50
/* : Bool */;
2388 val
* var_mparameter
/* var mparameter: MParameter */;
2389 val
* var51
/* : ANodes[AParam] */;
2390 val
* var52
/* : nullable Object */;
2391 val
* var53
/* : MSignature */;
2392 val
* var54
/* : nullable MType */;
2393 val
* var_msignature
/* var msignature: MSignature */;
2394 var_modelbuilder
= p0
;
2396 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__ASignature__param_names
]))(self
) /* param_names on <self:ASignature>*/;
2397 var2
= ((long (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var1
) /* length on <var1:Array[String]>*/;
2398 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__ASignature__param_types
]))(self
) /* param_types on <self:ASignature>*/;
2399 var4
= ((long (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var3
) /* length on <var3:Array[MType]>*/;
2400 { /* Inline kernel#Int#!= (var2,var4) */
2401 var7
= var2
== var4
;
2408 var9
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ASignature__n_params
]))(self
) /* n_params on <self:ASignature>*/;
2409 var10
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__ASignature__param_types
]))(self
) /* param_types on <self:ASignature>*/;
2410 var11
= ((long (*)(val
*))(var10
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var10
) /* length on <var10:Array[MType]>*/;
2411 var12
= ((val
* (*)(val
*, long))(var9
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var9
, var11
) /* [] on <var9:ANodes[AParam]>*/;
2415 var14
= "Error: Untyped parameter `";
2417 var16
= string__NativeString__to_s_with_length(var14
, var15
);
2421 var17
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__ASignature__param_names
]))(self
) /* param_names on <self:ASignature>*/;
2422 var18
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__ASignature__param_types
]))(self
) /* param_types on <self:ASignature>*/;
2423 var19
= ((long (*)(val
*))(var18
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var18
) /* length on <var18:Array[MType]>*/;
2424 var20
= ((val
* (*)(val
*, long))(var17
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var17
, var19
) /* [] on <var17:Array[String]>*/;
2430 var25
= string__NativeString__to_s_with_length(var23
, var24
);
2434 var26
= NEW_array__Array(&type_array__Arraykernel__Object
);
2435 { /* var26 = array_instance Array[Object] */
2437 var28
= NEW_array__NativeArray(var27
, &type_array__NativeArraykernel__Object
);
2438 ((struct instance_array__NativeArray
*)var28
)->values
[0] = (val
*) var13
;
2439 ((struct instance_array__NativeArray
*)var28
)->values
[1] = (val
*) var20
;
2440 ((struct instance_array__NativeArray
*)var28
)->values
[2] = (val
*) var22
;
2441 ((void (*)(val
*, val
*, long))(var26
->class->vft
[COLOR_array__Array__with_native
]))(var26
, var28
, var27
) /* with_native on <var26:Array[Object]>*/;
2443 var29
= ((val
* (*)(val
*))(var26
->class->vft
[COLOR_string__Object__to_s
]))(var26
) /* to_s on <var26:Array[Object]>*/;
2444 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, var12
, var29
) /* error on <var_modelbuilder:ModelBuilder>*/;
2450 var31
= NEW_array__Array(&type_array__Arraymodel__MParameter
);
2451 ((void (*)(val
*))(var31
->class->vft
[COLOR_array__Array__init
]))(var31
) /* init on <var31:Array[MParameter]>*/;
2452 var_mparameters
= var31
;
2453 var32
= NEW_range__Range(&type_range__Rangekernel__Int
);
2455 var34
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__ASignature__param_names
]))(self
) /* param_names on <self:ASignature>*/;
2456 var35
= ((long (*)(val
*))(var34
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var34
) /* length on <var34:Array[String]>*/;
2457 var36
= BOX_kernel__Int(var33
); /* autobox from Int to Discrete */
2458 var37
= BOX_kernel__Int(var35
); /* autobox from Int to Discrete */
2459 ((void (*)(val
*, val
*, val
*))(var32
->class->vft
[COLOR_range__Range__without_last
]))(var32
, var36
, var37
) /* without_last on <var32:Range[Int]>*/;
2460 var38
= ((val
* (*)(val
*))(var32
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var32
) /* iterator on <var32:Range[Int]>*/;
2462 var39
= ((short int (*)(val
*))(var38
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var38
) /* is_ok on <var38:Iterator[nullable Object]>*/;
2464 var40
= ((val
* (*)(val
*))(var38
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var38
) /* item on <var38:Iterator[nullable Object]>*/;
2465 var41
= ((struct instance_kernel__Int
*)var40
)->value
; /* autounbox from nullable Object to Int */;
2467 var42
= NEW_model__MParameter(&type_model__MParameter
);
2468 var43
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__ASignature__param_names
]))(self
) /* param_names on <self:ASignature>*/;
2469 var44
= ((val
* (*)(val
*, long))(var43
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var43
, var_i
) /* [] on <var43:Array[String]>*/;
2470 var45
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__ASignature__param_types
]))(self
) /* param_types on <self:ASignature>*/;
2471 var46
= ((val
* (*)(val
*, long))(var45
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var45
, var_i
) /* [] on <var45:Array[MType]>*/;
2472 var47
= ((long (*)(val
*))(self
->class->vft
[COLOR_modelize_property__ASignature__vararg_rank
]))(self
) /* vararg_rank on <self:ASignature>*/;
2473 { /* Inline kernel#Int#== (var_i,var47) */
2474 var50
= var_i
== var47
;
2477 RET_LABEL49
:(void)0;
2479 ((void (*)(val
*, val
*, val
*, short int))(var42
->class->vft
[COLOR_model__MParameter__init
]))(var42
, var44
, var46
, var48
) /* init on <var42:MParameter>*/;
2480 var_mparameter
= var42
;
2481 var51
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ASignature__n_params
]))(self
) /* n_params on <self:ASignature>*/;
2482 var52
= ((val
* (*)(val
*, long))(var51
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var51
, var_i
) /* [] on <var51:ANodes[AParam]>*/;
2483 ((void (*)(val
*, val
*))(var52
->class->vft
[COLOR_modelize_property__AParam__mparameter_61d
]))(var52
, var_mparameter
) /* mparameter= on <var52:nullable Object(AParam)>*/;
2484 ((void (*)(val
*, val
*))(var_mparameters
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_mparameters
, var_mparameter
) /* add on <var_mparameters:Array[MParameter]>*/;
2485 CONTINUE_label
: (void)0;
2486 ((void (*)(val
*))(var38
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var38
) /* next on <var38:Iterator[nullable Object]>*/;
2488 BREAK_label
: (void)0;
2489 var53
= NEW_model__MSignature(&type_model__MSignature
);
2490 var54
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__ASignature__ret_type
]))(self
) /* ret_type on <self:ASignature>*/;
2491 ((void (*)(val
*, val
*, val
*))(var53
->class->vft
[COLOR_model__MSignature__init
]))(var53
, var_mparameters
, var54
) /* init on <var53:MSignature>*/;
2492 var_msignature
= var53
;
2493 var
= var_msignature
;
2498 /* method modelize_property#ASignature#build_signature for (self: Object, ModelBuilder, AClassdef): nullable MSignature */
2499 val
* VIRTUAL_modelize_property__ASignature__build_signature(val
* self
, val
* p0
, val
* p1
) {
2500 val
* var
/* : nullable MSignature */;
2501 val
* var1
/* : nullable MSignature */;
2502 var1
= modelize_property__ASignature__build_signature(self
, p0
, p1
);
2507 /* method modelize_property#AParam#mparameter for (self: AParam): nullable MParameter */
2508 val
* modelize_property__AParam__mparameter(val
* self
) {
2509 val
* var
/* : nullable MParameter */;
2510 val
* var1
/* : nullable MParameter */;
2511 var1
= self
->attrs
[COLOR_modelize_property__AParam___64dmparameter
].val
; /* @mparameter on <self:AParam> */
2516 /* method modelize_property#AParam#mparameter for (self: Object): nullable MParameter */
2517 val
* VIRTUAL_modelize_property__AParam__mparameter(val
* self
) {
2518 val
* var
/* : nullable MParameter */;
2519 val
* var1
/* : nullable MParameter */;
2520 var1
= modelize_property__AParam__mparameter(self
);
2525 /* method modelize_property#AParam#mparameter= for (self: AParam, nullable MParameter) */
2526 void modelize_property__AParam__mparameter_61d(val
* self
, val
* p0
) {
2527 self
->attrs
[COLOR_modelize_property__AParam___64dmparameter
].val
= p0
; /* @mparameter on <self:AParam> */
2530 /* method modelize_property#AParam#mparameter= for (self: Object, nullable MParameter) */
2531 void VIRTUAL_modelize_property__AParam__mparameter_61d(val
* self
, val
* p0
) {
2532 modelize_property__AParam__mparameter_61d(self
, p0
);
2535 /* method modelize_property#AMethPropdef#build_property for (self: AMethPropdef, ModelBuilder, AClassdef) */
2536 void modelize_property__AMethPropdef__build_property(val
* self
, val
* p0
, val
* p1
) {
2537 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
2538 val
* var_nclassdef
/* var nclassdef: AClassdef */;
2539 short int var
/* : Bool */;
2542 short int var_is_init
/* var is_init: Bool */;
2543 val
* var1
/* : nullable MClassDef */;
2544 val
* var_mclassdef
/* var mclassdef: MClassDef */;
2545 val
* var2
/* : nullable AMethid */;
2546 val
* var_amethodid
/* var amethodid: nullable AMethid */;
2547 val
* var3
/* : null */;
2548 short int var4
/* : Bool */;
2549 short int var5
/* : Bool */;
2552 static val
* varonce
;
2553 val
* var8
/* : String */;
2554 char* var9
/* : NativeString */;
2555 long var10
/* : Int */;
2556 val
* var11
/* : String */;
2557 val
* var_name
/* var name: String */;
2558 val
* var_name_node
/* var name_node: ANode */;
2559 short int var12
/* : Bool */;
2562 static val
* varonce15
;
2563 val
* var16
/* : String */;
2564 char* var17
/* : NativeString */;
2565 long var18
/* : Int */;
2566 val
* var19
/* : String */;
2567 val
* var20
/* : TKwinit */;
2568 short int var21
/* : Bool */;
2571 static val
* varonce24
;
2572 val
* var25
/* : String */;
2573 char* var26
/* : NativeString */;
2574 long var27
/* : Int */;
2575 val
* var28
/* : String */;
2576 val
* var29
/* : TKwnew */;
2577 short int var30
/* : Bool */;
2580 val
* var33
/* : TId */;
2581 val
* var34
/* : String */;
2582 val
* var35
/* : String */;
2583 short int var36
/* : Bool */;
2584 static val
* varonce37
;
2585 val
* var38
/* : String */;
2586 char* var39
/* : NativeString */;
2587 long var40
/* : Int */;
2588 val
* var41
/* : String */;
2589 short int var42
/* : Bool */;
2590 val
* var43
/* : nullable ASignature */;
2591 val
* var44
/* : ANodes[AParam] */;
2592 long var45
/* : Int */;
2593 long var46
/* : Int */;
2594 short int var47
/* : Bool */;
2595 short int var49
/* : Bool */;
2596 static val
* varonce50
;
2597 val
* var51
/* : String */;
2598 char* var52
/* : NativeString */;
2599 long var53
/* : Int */;
2600 val
* var54
/* : String */;
2601 val
* var55
/* : null */;
2602 val
* var_mprop
/* var mprop: nullable MMethod */;
2603 short int var56
/* : Bool */;
2604 short int var57
/* : Bool */;
2605 short int var_
/* var : Bool */;
2606 val
* var58
/* : nullable TKwredef */;
2607 val
* var59
/* : null */;
2608 short int var60
/* : Bool */;
2609 val
* var61
/* : nullable MProperty */;
2610 short int var62
/* : Bool */;
2613 const char* var_class_name
;
2614 val
* var65
/* : null */;
2615 short int var66
/* : Bool */;
2616 val
* var67
/* : nullable AVisibility */;
2617 val
* var68
/* : MVisibility */;
2618 val
* var_mvisibility
/* var mvisibility: MVisibility */;
2619 val
* var69
/* : MMethod */;
2620 short int var70
/* : Bool */;
2623 val
* var73
/* : nullable TKwredef */;
2624 short int var74
/* : Bool */;
2625 short int var75
/* : Bool */;
2626 short int var76
/* : Bool */;
2627 val
* var77
/* : nullable TKwredef */;
2628 val
* var78
/* : null */;
2629 short int var79
/* : Bool */;
2630 short int var80
/* : Bool */;
2633 val
* var83
/* : nullable TKwredef */;
2634 short int var84
/* : Bool */;
2635 short int var85
/* : Bool */;
2636 short int var86
/* : Bool */;
2637 val
* var87
/* : nullable AVisibility */;
2638 val
* var88
/* : Map[MProperty, APropdef] */;
2639 val
* var89
/* : MMethodDef */;
2640 val
* var90
/* : Location */;
2641 val
* var_mpropdef
/* var mpropdef: MMethodDef */;
2642 val
* var91
/* : HashSet[String] */;
2643 val
* var92
/* : String */;
2644 short int var93
/* : Bool */;
2645 val
* var94
/* : null */;
2646 val
* var_loc
/* var loc: nullable Location */;
2647 val
* var95
/* : Array[MPropDef] */;
2648 val
* var96
/* : Iterator[nullable Object] */;
2649 short int var97
/* : Bool */;
2650 val
* var98
/* : nullable Object */;
2651 val
* var_i
/* var i: MPropDef */;
2652 val
* var99
/* : MProperty */;
2653 val
* var100
/* : String */;
2654 val
* var101
/* : String */;
2655 short int var102
/* : Bool */;
2656 val
* var103
/* : Location */;
2657 val
* var104
/* : null */;
2658 short int var105
/* : Bool */;
2659 static val
* varonce106
;
2660 val
* var107
/* : String */;
2661 char* var108
/* : NativeString */;
2662 long var109
/* : Int */;
2663 val
* var110
/* : String */;
2664 static val
* varonce111
;
2665 val
* var112
/* : String */;
2666 char* var113
/* : NativeString */;
2667 long var114
/* : Int */;
2668 val
* var115
/* : String */;
2669 val
* var116
/* : MClass */;
2670 static val
* varonce117
;
2671 val
* var118
/* : String */;
2672 char* var119
/* : NativeString */;
2673 long var120
/* : Int */;
2674 val
* var121
/* : String */;
2675 val
* var122
/* : Array[Object] */;
2676 long var123
/* : Int */;
2677 val
* var124
/* : NativeArray[Object] */;
2678 val
* var125
/* : String */;
2679 val
* var126
/* : HashSet[String] */;
2680 val
* var127
/* : MProperty */;
2681 val
* var128
/* : String */;
2682 short int var129
/* : Bool */;
2685 const struct type
* type_struct
;
2686 const char* var_class_name132
;
2687 val
* var133
/* : HashMap[MPropDef, APropdef] */;
2688 short int var134
/* : Bool */;
2689 val
* var135
/* : ToolContext */;
2690 static val
* varonce136
;
2691 val
* var137
/* : String */;
2692 char* var138
/* : NativeString */;
2693 long var139
/* : Int */;
2694 val
* var140
/* : String */;
2695 val
* var141
/* : String */;
2696 val
* var142
/* : Array[Object] */;
2697 long var143
/* : Int */;
2698 val
* var144
/* : NativeArray[Object] */;
2699 val
* var145
/* : String */;
2700 long var146
/* : Int */;
2701 val
* var147
/* : ToolContext */;
2702 static val
* varonce148
;
2703 val
* var149
/* : String */;
2704 char* var150
/* : NativeString */;
2705 long var151
/* : Int */;
2706 val
* var152
/* : String */;
2707 val
* var153
/* : String */;
2708 val
* var154
/* : Array[Object] */;
2709 long var155
/* : Int */;
2710 val
* var156
/* : NativeArray[Object] */;
2711 val
* var157
/* : String */;
2712 long var158
/* : Int */;
2713 var_modelbuilder
= p0
;
2715 /* <self:AMethPropdef> isa AInitPropdef */
2716 cltype
= type_parser_nodes__AInitPropdef
.color
;
2717 idtype
= type_parser_nodes__AInitPropdef
.id
;
2718 if(cltype
>= self
->type
->table_size
) {
2721 var
= self
->type
->type_table
[cltype
] == idtype
;
2724 var1
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef>*/;
2726 fprintf(stderr
, "Runtime error: %s", "Cast failed");
2727 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 353);
2730 var_mclassdef
= var1
;
2731 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AMethPropdef__n_methid
]))(self
) /* n_methid on <self:AMethPropdef>*/;
2732 var_amethodid
= var2
;
2734 if (var_amethodid
== NULL
) {
2735 var4
= 1; /* is null */
2737 var4
= 0; /* arg is null but recv is not */
2740 /* <self:AMethPropdef> isa AMainMethPropdef */
2741 cltype6
= type_parser_nodes__AMainMethPropdef
.color
;
2742 idtype7
= type_parser_nodes__AMainMethPropdef
.id
;
2743 if(cltype6
>= self
->type
->table_size
) {
2746 var5
= self
->type
->type_table
[cltype6
] == idtype7
;
2754 var11
= string__NativeString__to_s_with_length(var9
, var10
);
2759 var_name_node
= self
;
2761 /* <self:AMethPropdef> isa AConcreteInitPropdef */
2762 cltype13
= type_parser_nodes__AConcreteInitPropdef
.color
;
2763 idtype14
= type_parser_nodes__AConcreteInitPropdef
.id
;
2764 if(cltype13
>= self
->type
->table_size
) {
2767 var12
= self
->type
->type_table
[cltype13
] == idtype14
;
2775 var19
= string__NativeString__to_s_with_length(var17
, var18
);
2780 var20
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AConcreteInitPropdef__n_kwinit
]))(self
) /* n_kwinit on <self:AMethPropdef(AConcreteInitPropdef)>*/;
2781 var_name_node
= var20
;
2783 /* <self:AMethPropdef> isa AExternInitPropdef */
2784 cltype22
= type_parser_nodes__AExternInitPropdef
.color
;
2785 idtype23
= type_parser_nodes__AExternInitPropdef
.id
;
2786 if(cltype22
>= self
->type
->table_size
) {
2789 var21
= self
->type
->type_table
[cltype22
] == idtype23
;
2797 var28
= string__NativeString__to_s_with_length(var26
, var27
);
2802 var29
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AExternInitPropdef__n_kwnew
]))(self
) /* n_kwnew on <self:AMethPropdef(AExternInitPropdef)>*/;
2803 var_name_node
= var29
;
2805 fprintf(stderr
, "Runtime error: %s", "Aborted");
2806 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 368);
2812 /* <var_amethodid:nullable AMethid(AMethid)> isa AIdMethid */
2813 cltype31
= type_parser_nodes__AIdMethid
.color
;
2814 idtype32
= type_parser_nodes__AIdMethid
.id
;
2815 if(cltype31
>= var_amethodid
->type
->table_size
) {
2818 var30
= var_amethodid
->type
->type_table
[cltype31
] == idtype32
;
2821 var33
= ((val
* (*)(val
*))(var_amethodid
->class->vft
[COLOR_parser_nodes__AIdMethid__n_id
]))(var_amethodid
) /* n_id on <var_amethodid:nullable AMethid(AIdMethid)>*/;
2822 var34
= ((val
* (*)(val
*))(var33
->class->vft
[COLOR_parser_nodes__Token__text
]))(var33
) /* text on <var33:TId>*/;
2824 var_name_node
= var_amethodid
;
2826 var35
= ((val
* (*)(val
*))(var_amethodid
->class->vft
[COLOR_modelize_property__Prod__collect_text
]))(var_amethodid
) /* collect_text on <var_amethodid:nullable AMethid(AMethid)>*/;
2828 var_name_node
= var_amethodid
;
2834 var41
= string__NativeString__to_s_with_length(var39
, var40
);
2838 var42
= ((short int (*)(val
*, val
*))(var_name
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_name
, var38
) /* == on <var_name:String>*/;
2842 var43
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AMethPropdef__n_signature
]))(self
) /* n_signature on <self:AMethPropdef>*/;
2843 if (var43
== NULL
) {
2844 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
2845 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 378);
2848 var44
= ((val
* (*)(val
*))(var43
->class->vft
[COLOR_parser_nodes__ASignature__n_params
]))(var43
) /* n_params on <var43:nullable ASignature>*/;
2850 var45
= ((long (*)(val
*))(var44
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var44
) /* length on <var44:ANodes[AParam]>*/;
2852 { /* Inline kernel#Int#== (var45,var46) */
2853 var49
= var45
== var46
;
2856 RET_LABEL48
:(void)0;
2866 var54
= string__NativeString__to_s_with_length(var52
, var53
);
2877 var57
= !var_is_init
;
2882 var58
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AMethPropdef__n_kwredef
]))(self
) /* n_kwredef on <self:AMethPropdef>*/;
2884 if (var58
== NULL
) {
2885 var60
= 0; /* is null */
2887 var60
= 1; /* arg is null and recv is not */
2892 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>*/;
2893 /* <var61:nullable MProperty> isa nullable MMethod */
2894 cltype63
= type_nullable_model__MMethod
.color
;
2895 idtype64
= type_nullable_model__MMethod
.id
;
2899 if(cltype63
>= var61
->type
->table_size
) {
2902 var62
= var61
->type
->type_table
[cltype63
] == idtype64
;
2906 var_class_name
= var61
== NULL ?
"null" : var61
->type
->name
;
2907 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MMethod", var_class_name
);
2908 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 384);
2915 if (var_mprop
== NULL
) {
2916 var66
= 1; /* is null */
2918 var66
= 0; /* arg is null but recv is not */
2921 var67
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AMethPropdef__n_visibility
]))(self
) /* n_visibility on <self:AMethPropdef>*/;
2922 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>*/;
2923 var_mvisibility
= var68
;
2924 var69
= NEW_model__MMethod(&type_model__MMethod
);
2925 ((void (*)(val
*, val
*, val
*, val
*))(var69
->class->vft
[COLOR_model__MMethod__init
]))(var69
, var_mclassdef
, var_name
, var_mvisibility
) /* init on <var69:MMethod>*/;
2927 ((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)>*/;
2928 /* <self:AMethPropdef> isa AExternInitPropdef */
2929 cltype71
= type_parser_nodes__AExternInitPropdef
.color
;
2930 idtype72
= type_parser_nodes__AExternInitPropdef
.id
;
2931 if(cltype71
>= self
->type
->table_size
) {
2934 var70
= self
->type
->type_table
[cltype71
] == idtype72
;
2936 ((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)>*/;
2937 var73
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AMethPropdef__n_kwredef
]))(self
) /* n_kwredef on <self:AMethPropdef>*/;
2939 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>*/;
2946 var77
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AMethPropdef__n_kwredef
]))(self
) /* n_kwredef on <self:AMethPropdef>*/;
2948 if (var77
== NULL
) {
2949 var79
= 1; /* is null */
2951 var79
= 0; /* arg is null but recv is not */
2954 /* <self:AMethPropdef> isa AMainMethPropdef */
2955 cltype81
= type_parser_nodes__AMainMethPropdef
.color
;
2956 idtype82
= type_parser_nodes__AMainMethPropdef
.id
;
2957 if(cltype81
>= self
->type
->table_size
) {
2960 var80
= self
->type
->type_table
[cltype81
] == idtype82
;
2964 var83
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AMethPropdef__n_kwredef
]))(self
) /* n_kwredef on <self:AMethPropdef>*/;
2966 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>*/;
2975 var87
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AMethPropdef__n_visibility
]))(self
) /* n_visibility on <self:AMethPropdef>*/;
2976 ((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>*/;
2978 var88
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_property__AClassdef__mprop2npropdef
]))(var_nclassdef
) /* mprop2npropdef on <var_nclassdef:AClassdef>*/;
2979 ((void (*)(val
*, val
*, val
*))(var88
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var88
, var_mprop
, self
) /* []= on <var88:Map[MProperty, APropdef]>*/;
2980 var89
= NEW_model__MMethodDef(&type_model__MMethodDef
);
2981 var90
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__location
]))(self
) /* location on <self:AMethPropdef>*/;
2982 ((void (*)(val
*, val
*, val
*, val
*))(var89
->class->vft
[COLOR_model__MMethodDef__init
]))(var89
, var_mclassdef
, var_mprop
, var90
) /* init on <var89:MMethodDef>*/;
2983 var_mpropdef
= var89
;
2984 var91
= ((val
* (*)(val
*))(var_mclassdef
->class->vft
[COLOR_modelize_property__MClassDef__propdef_names
]))(var_mclassdef
) /* propdef_names on <var_mclassdef:MClassDef>*/;
2985 var92
= ((val
* (*)(val
*))(var_mprop
->class->vft
[COLOR_model__MProperty__name
]))(var_mprop
) /* name on <var_mprop:nullable MMethod(MMethod)>*/;
2986 var93
= ((short int (*)(val
*, val
*))(var91
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var91
, var92
) /* has on <var91:HashSet[String]>*/;
2990 var95
= ((val
* (*)(val
*))(var_mclassdef
->class->vft
[COLOR_model__MClassDef__mpropdefs
]))(var_mclassdef
) /* mpropdefs on <var_mclassdef:MClassDef>*/;
2991 var96
= ((val
* (*)(val
*))(var95
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var95
) /* iterator on <var95:Array[MPropDef]>*/;
2993 var97
= ((short int (*)(val
*))(var96
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var96
) /* is_ok on <var96:Iterator[nullable Object]>*/;
2995 var98
= ((val
* (*)(val
*))(var96
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var96
) /* item on <var96:Iterator[nullable Object]>*/;
2997 var99
= ((val
* (*)(val
*))(var_i
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var_i
) /* mproperty on <var_i:MPropDef>*/;
2998 var100
= ((val
* (*)(val
*))(var99
->class->vft
[COLOR_model__MProperty__name
]))(var99
) /* name on <var99:MProperty>*/;
2999 var101
= ((val
* (*)(val
*))(var_mprop
->class->vft
[COLOR_model__MProperty__name
]))(var_mprop
) /* name on <var_mprop:nullable MMethod(MMethod)>*/;
3000 var102
= ((short int (*)(val
*, val
*))(var100
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var100
, var101
) /* == on <var100:String>*/;
3002 var103
= ((val
* (*)(val
*))(var_i
->class->vft
[COLOR_model__MPropDef__location
]))(var_i
) /* location on <var_i:MPropDef>*/;
3007 CONTINUE_label
: (void)0;
3008 ((void (*)(val
*))(var96
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var96
) /* next on <var96:Iterator[nullable Object]>*/;
3010 BREAK_label
: (void)0;
3012 if (var_loc
== NULL
) {
3013 var105
= 1; /* is null */
3015 var105
= 0; /* arg is null but recv is not */
3018 fprintf(stderr
, "Runtime error: %s", "Aborted");
3019 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 413);
3024 var107
= varonce106
;
3026 var108
= "Error: a property ";
3028 var110
= string__NativeString__to_s_with_length(var108
, var109
);
3030 varonce106
= var107
;
3033 var112
= varonce111
;
3035 var113
= " is already defined in class ";
3037 var115
= string__NativeString__to_s_with_length(var113
, var114
);
3039 varonce111
= var112
;
3041 var116
= ((val
* (*)(val
*))(var_mclassdef
->class->vft
[COLOR_model__MClassDef__mclass
]))(var_mclassdef
) /* mclass on <var_mclassdef:MClassDef>*/;
3043 var118
= varonce117
;
3047 var121
= string__NativeString__to_s_with_length(var119
, var120
);
3049 varonce117
= var118
;
3051 var122
= NEW_array__Array(&type_array__Arraykernel__Object
);
3052 { /* var122 = array_instance Array[Object] */
3054 var124
= NEW_array__NativeArray(var123
, &type_array__NativeArraykernel__Object
);
3055 ((struct instance_array__NativeArray
*)var124
)->values
[0] = (val
*) var107
;
3056 ((struct instance_array__NativeArray
*)var124
)->values
[1] = (val
*) var_mprop
;
3057 ((struct instance_array__NativeArray
*)var124
)->values
[2] = (val
*) var112
;
3058 ((struct instance_array__NativeArray
*)var124
)->values
[3] = (val
*) var116
;
3059 ((struct instance_array__NativeArray
*)var124
)->values
[4] = (val
*) var118
;
3060 ((struct instance_array__NativeArray
*)var124
)->values
[5] = (val
*) var_loc
;
3061 ((void (*)(val
*, val
*, long))(var122
->class->vft
[COLOR_array__Array__with_native
]))(var122
, var124
, var123
) /* with_native on <var122:Array[Object]>*/;
3063 var125
= ((val
* (*)(val
*))(var122
->class->vft
[COLOR_string__Object__to_s
]))(var122
) /* to_s on <var122:Array[Object]>*/;
3064 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, self
, var125
) /* error on <var_modelbuilder:ModelBuilder>*/;
3067 var126
= ((val
* (*)(val
*))(var_mclassdef
->class->vft
[COLOR_modelize_property__MClassDef__propdef_names
]))(var_mclassdef
) /* propdef_names on <var_mclassdef:MClassDef>*/;
3068 var127
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var_mpropdef
) /* mproperty on <var_mpropdef:MMethodDef>*/;
3069 var128
= ((val
* (*)(val
*))(var127
->class->vft
[COLOR_model__MProperty__name
]))(var127
) /* name on <var127:MProperty(MMethod)>*/;
3070 ((void (*)(val
*, val
*))(var126
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var126
, var128
) /* add on <var126:HashSet[String]>*/;
3071 /* <var_mpropdef:MMethodDef> isa nullable MPROPDEF */
3072 type_struct
= self
->type
->resolution_table
->types
[COLOR_nullable_parser_nodes__APropdef_VTMPROPDEF
];
3073 cltype130
= type_struct
->color
;
3074 idtype131
= type_struct
->id
;
3075 if(cltype130
>= var_mpropdef
->type
->table_size
) {
3078 var129
= var_mpropdef
->type
->type_table
[cltype130
] == idtype131
;
3081 var_class_name132
= var_mpropdef
== NULL ?
"null" : var_mpropdef
->type
->name
;
3082 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name132
);
3083 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 419);
3086 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__mpropdef_61d
]))(self
, var_mpropdef
) /* mpropdef= on <self:AMethPropdef>*/;
3087 var133
= ((val
* (*)(val
*))(var_modelbuilder
->class->vft
[COLOR_modelize_property__ModelBuilder__mpropdef2npropdef
]))(var_modelbuilder
) /* mpropdef2npropdef on <var_modelbuilder:ModelBuilder>*/;
3088 ((void (*)(val
*, val
*, val
*))(var133
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var133
, var_mpropdef
, self
) /* []= on <var133:HashMap[MPropDef, APropdef]>*/;
3089 var134
= ((short int (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__is_intro
]))(var_mpropdef
) /* is_intro on <var_mpropdef:MMethodDef>*/;
3091 var135
= ((val
* (*)(val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var_modelbuilder
) /* toolcontext on <var_modelbuilder:ModelBuilder>*/;
3093 var137
= varonce136
;
3095 var138
= " introduces new method ";
3097 var140
= string__NativeString__to_s_with_length(var138
, var139
);
3099 varonce136
= var137
;
3101 var141
= ((val
* (*)(val
*))(var_mprop
->class->vft
[COLOR_model__MProperty__full_name
]))(var_mprop
) /* full_name on <var_mprop:nullable MMethod(MMethod)>*/;
3102 var142
= NEW_array__Array(&type_array__Arraykernel__Object
);
3103 { /* var142 = array_instance Array[Object] */
3105 var144
= NEW_array__NativeArray(var143
, &type_array__NativeArraykernel__Object
);
3106 ((struct instance_array__NativeArray
*)var144
)->values
[0] = (val
*) var_mpropdef
;
3107 ((struct instance_array__NativeArray
*)var144
)->values
[1] = (val
*) var137
;
3108 ((struct instance_array__NativeArray
*)var144
)->values
[2] = (val
*) var141
;
3109 ((void (*)(val
*, val
*, long))(var142
->class->vft
[COLOR_array__Array__with_native
]))(var142
, var144
, var143
) /* with_native on <var142:Array[Object]>*/;
3111 var145
= ((val
* (*)(val
*))(var142
->class->vft
[COLOR_string__Object__to_s
]))(var142
) /* to_s on <var142:Array[Object]>*/;
3113 ((void (*)(val
*, val
*, long))(var135
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var135
, var145
, var146
) /* info on <var135:ToolContext>*/;
3115 var147
= ((val
* (*)(val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var_modelbuilder
) /* toolcontext on <var_modelbuilder:ModelBuilder>*/;
3117 var149
= varonce148
;
3119 var150
= " redefines method ";
3121 var152
= string__NativeString__to_s_with_length(var150
, var151
);
3123 varonce148
= var149
;
3125 var153
= ((val
* (*)(val
*))(var_mprop
->class->vft
[COLOR_model__MProperty__full_name
]))(var_mprop
) /* full_name on <var_mprop:nullable MMethod(MMethod)>*/;
3126 var154
= NEW_array__Array(&type_array__Arraykernel__Object
);
3127 { /* var154 = array_instance Array[Object] */
3129 var156
= NEW_array__NativeArray(var155
, &type_array__NativeArraykernel__Object
);
3130 ((struct instance_array__NativeArray
*)var156
)->values
[0] = (val
*) var_mpropdef
;
3131 ((struct instance_array__NativeArray
*)var156
)->values
[1] = (val
*) var149
;
3132 ((struct instance_array__NativeArray
*)var156
)->values
[2] = (val
*) var153
;
3133 ((void (*)(val
*, val
*, long))(var154
->class->vft
[COLOR_array__Array__with_native
]))(var154
, var156
, var155
) /* with_native on <var154:Array[Object]>*/;
3135 var157
= ((val
* (*)(val
*))(var154
->class->vft
[COLOR_string__Object__to_s
]))(var154
) /* to_s on <var154:Array[Object]>*/;
3137 ((void (*)(val
*, val
*, long))(var147
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var147
, var157
, var158
) /* info on <var147:ToolContext>*/;
3141 /* method modelize_property#AMethPropdef#build_property for (self: Object, ModelBuilder, AClassdef) */
3142 void VIRTUAL_modelize_property__AMethPropdef__build_property(val
* self
, val
* p0
, val
* p1
) {
3143 modelize_property__AMethPropdef__build_property(self
, p0
, p1
);
3146 /* method modelize_property#AMethPropdef#build_signature for (self: AMethPropdef, ModelBuilder, AClassdef) */
3147 void modelize_property__AMethPropdef__build_signature(val
* self
, val
* p0
, val
* p1
) {
3148 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
3149 val
* var_nclassdef
/* var nclassdef: AClassdef */;
3150 val
* var
/* : nullable MPropDef */;
3151 val
* var_mpropdef
/* var mpropdef: nullable MMethodDef */;
3152 val
* var1
/* : null */;
3153 short int var2
/* : Bool */;
3154 val
* var3
/* : MClassDef */;
3155 val
* var4
/* : MModule */;
3156 val
* var_mmodule
/* var mmodule: MModule */;
3157 val
* var5
/* : nullable ASignature */;
3158 val
* var_nsig
/* var nsig: nullable ASignature */;
3159 val
* var6
/* : Array[String] */;
3160 val
* var_param_names
/* var param_names: Array[String] */;
3161 val
* var7
/* : Array[MType] */;
3162 val
* var_param_types
/* var param_types: Array[MType] */;
3163 long var8
/* : Int */;
3164 long var9
/* : Int */;
3165 long var11
/* : Int */;
3166 long var_vararg_rank
/* var vararg_rank: Int */;
3167 val
* var12
/* : null */;
3168 val
* var_ret_type
/* var ret_type: nullable MType */;
3169 val
* var13
/* : null */;
3170 short int var14
/* : Bool */;
3171 short int var15
/* : Bool */;
3172 short int var16
/* : Bool */;
3173 val
* var17
/* : Array[String] */;
3174 val
* var18
/* : Array[MType] */;
3175 long var19
/* : Int */;
3176 val
* var20
/* : nullable MType */;
3177 val
* var21
/* : null */;
3178 val
* var_msignature
/* var msignature: nullable MSignature */;
3179 short int var22
/* : Bool */;
3180 short int var23
/* : Bool */;
3181 val
* var24
/* : MProperty */;
3182 val
* var25
/* : MPropDef */;
3183 val
* var26
/* : nullable MSignature */;
3184 val
* var27
/* : null */;
3185 short int var28
/* : Bool */;
3186 long var29
/* : Int */;
3187 long var30
/* : Int */;
3188 short int var31
/* : Bool */;
3189 short int var33
/* : Bool */;
3190 short int var34
/* : Bool */;
3191 val
* var35
/* : null */;
3192 short int var36
/* : Bool */;
3193 val
* var_node
/* var node: ANode */;
3194 static val
* varonce
;
3195 val
* var37
/* : String */;
3196 char* var38
/* : NativeString */;
3197 long var39
/* : Int */;
3198 val
* var40
/* : String */;
3199 static val
* varonce41
;
3200 val
* var42
/* : String */;
3201 char* var43
/* : NativeString */;
3202 long var44
/* : Int */;
3203 val
* var45
/* : String */;
3204 val
* var46
/* : MProperty */;
3205 val
* var47
/* : MPropDef */;
3206 static val
* varonce48
;
3207 val
* var49
/* : String */;
3208 char* var50
/* : NativeString */;
3209 long var51
/* : Int */;
3210 val
* var52
/* : String */;
3211 long var53
/* : Int */;
3212 static val
* varonce54
;
3213 val
* var55
/* : String */;
3214 char* var56
/* : NativeString */;
3215 long var57
/* : Int */;
3216 val
* var58
/* : String */;
3217 long var59
/* : Int */;
3218 static val
* varonce60
;
3219 val
* var61
/* : String */;
3220 char* var62
/* : NativeString */;
3221 long var63
/* : Int */;
3222 val
* var64
/* : String */;
3223 val
* var65
/* : Array[Object] */;
3224 long var66
/* : Int */;
3225 val
* var67
/* : NativeArray[Object] */;
3226 val
* var68
/* : Object */;
3227 val
* var69
/* : Object */;
3228 val
* var70
/* : String */;
3229 val
* var71
/* : MProperty */;
3230 short int var72
/* : Bool */;
3231 val
* var73
/* : nullable MClassDef */;
3232 val
* var74
/* : Array[MClassType] */;
3233 val
* var75
/* : Iterator[nullable Object] */;
3234 short int var76
/* : Bool */;
3235 val
* var77
/* : nullable Object */;
3236 val
* var_msupertype
/* var msupertype: MClassType */;
3237 val
* var78
/* : nullable MClassDef */;
3238 val
* var79
/* : MClassType */;
3239 val
* var80
/* : MType */;
3240 val
* var81
/* : MProperty */;
3241 val
* var82
/* : String */;
3242 val
* var83
/* : nullable MProperty */;
3243 val
* var_candidate
/* var candidate: nullable MProperty */;
3244 val
* var84
/* : null */;
3245 short int var85
/* : Bool */;
3246 val
* var86
/* : null */;
3247 short int var87
/* : Bool */;
3248 val
* var88
/* : MPropDef */;
3249 short int var89
/* : Bool */;
3252 const char* var_class_name
;
3253 val
* var90
/* : nullable MSignature */;
3254 short int var91
/* : Bool */;
3255 short int var92
/* : Bool */;
3256 short int var93
/* : Bool */;
3257 val
* var94
/* : null */;
3258 short int var95
/* : Bool */;
3259 short int var_
/* var : Bool */;
3260 long var96
/* : Int */;
3261 long var97
/* : Int */;
3262 short int var98
/* : Bool */;
3263 short int var100
/* : Bool */;
3264 short int var101
/* : Bool */;
3265 short int var_102
/* var : Bool */;
3266 long var103
/* : Int */;
3267 long var104
/* : Int */;
3268 short int var105
/* : Bool */;
3269 short int var107
/* : Bool */;
3270 short int var_108
/* var : Bool */;
3271 long var109
/* : Int */;
3272 long var110
/* : Int */;
3273 short int var111
/* : Bool */;
3274 short int var113
/* : Bool */;
3275 val
* var114
/* : Array[MType] */;
3276 val
* var115
/* : Array[MParameter] */;
3277 val
* var116
/* : Iterator[nullable Object] */;
3278 short int var117
/* : Bool */;
3279 val
* var118
/* : nullable Object */;
3280 val
* var_mparameter
/* var mparameter: MParameter */;
3281 val
* var119
/* : MType */;
3282 long var121
/* : Int */;
3283 short int var122
/* : Bool */;
3284 val
* var123
/* : null */;
3285 short int var124
/* : Bool */;
3286 short int var_125
/* var : Bool */;
3287 val
* var126
/* : null */;
3288 short int var127
/* : Bool */;
3289 val
* var128
/* : nullable MType */;
3290 long var129
/* : Int */;
3291 long var130
/* : Int */;
3292 short int var131
/* : Bool */;
3293 short int var133
/* : Bool */;
3294 short int var134
/* : Bool */;
3295 val
* var135
/* : ANodes[AParam] */;
3296 long var136
/* : Int */;
3297 val
* var137
/* : nullable Object */;
3298 static val
* varonce138
;
3299 val
* var139
/* : String */;
3300 char* var140
/* : NativeString */;
3301 long var141
/* : Int */;
3302 val
* var142
/* : String */;
3303 long var143
/* : Int */;
3304 val
* var144
/* : nullable Object */;
3305 static val
* varonce145
;
3306 val
* var146
/* : String */;
3307 char* var147
/* : NativeString */;
3308 long var148
/* : Int */;
3309 val
* var149
/* : String */;
3310 val
* var150
/* : Array[Object] */;
3311 long var151
/* : Int */;
3312 val
* var152
/* : NativeArray[Object] */;
3313 val
* var153
/* : String */;
3314 val
* var154
/* : Array[MParameter] */;
3315 val
* var_mparameters
/* var mparameters: Array[MParameter] */;
3316 val
* var155
/* : Range[Int] */;
3317 long var156
/* : Int */;
3318 long var157
/* : Int */;
3319 val
* var158
/* : Discrete */;
3320 val
* var159
/* : Discrete */;
3321 val
* var160
/* : Iterator[nullable Object] */;
3322 short int var161
/* : Bool */;
3323 val
* var162
/* : nullable Object */;
3324 long var_i
/* var i: Int */;
3325 long var163
/* : Int */;
3326 val
* var164
/* : MParameter */;
3327 val
* var165
/* : nullable Object */;
3328 val
* var166
/* : nullable Object */;
3329 short int var167
/* : Bool */;
3330 short int var169
/* : Bool */;
3331 val
* var_mparameter170
/* var mparameter: MParameter */;
3332 val
* var171
/* : null */;
3333 short int var172
/* : Bool */;
3334 val
* var173
/* : ANodes[AParam] */;
3335 val
* var174
/* : nullable Object */;
3336 val
* var176
/* : MSignature */;
3337 short int var177
/* : Bool */;
3340 var_modelbuilder
= p0
;
3342 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__mpropdef
]))(self
) /* mpropdef on <self:AMethPropdef>*/;
3345 if (var_mpropdef
== NULL
) {
3346 var2
= 1; /* is null */
3348 var2
= 0; /* arg is null but recv is not */
3354 var3
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var_mpropdef
) /* mclassdef on <var_mpropdef:nullable MMethodDef(MMethodDef)>*/;
3355 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_model__MClassDef__mmodule
]))(var3
) /* mmodule on <var3:MClassDef>*/;
3357 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AMethPropdef__n_signature
]))(self
) /* n_signature on <self:AMethPropdef>*/;
3359 var6
= NEW_array__Array(&type_array__Arraystring__String
);
3360 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[String]>*/;
3361 var_param_names
= var6
;
3362 var7
= NEW_array__Array(&type_array__Arraymodel__MType
);
3363 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[MType]>*/;
3364 var_param_types
= var7
;
3366 { /* Inline kernel#Int#unary - (var8) */
3370 RET_LABEL10
:(void)0;
3372 var_vararg_rank
= var9
;
3374 var_ret_type
= var12
;
3376 if (var_nsig
== NULL
) {
3377 var14
= 0; /* is null */
3379 var14
= 1; /* arg is null and recv is not */
3382 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)>*/;
3388 var17
= ((val
* (*)(val
*))(var_nsig
->class->vft
[COLOR_modelize_property__ASignature__param_names
]))(var_nsig
) /* param_names on <var_nsig:nullable ASignature(ASignature)>*/;
3389 var_param_names
= var17
;
3390 var18
= ((val
* (*)(val
*))(var_nsig
->class->vft
[COLOR_modelize_property__ASignature__param_types
]))(var_nsig
) /* param_types on <var_nsig:nullable ASignature(ASignature)>*/;
3391 var_param_types
= var18
;
3392 var19
= ((long (*)(val
*))(var_nsig
->class->vft
[COLOR_modelize_property__ASignature__vararg_rank
]))(var_nsig
) /* vararg_rank on <var_nsig:nullable ASignature(ASignature)>*/;
3393 var_vararg_rank
= var19
;
3394 var20
= ((val
* (*)(val
*))(var_nsig
->class->vft
[COLOR_modelize_property__ASignature__ret_type
]))(var_nsig
) /* ret_type on <var_nsig:nullable ASignature(ASignature)>*/;
3395 var_ret_type
= var20
;
3399 var_msignature
= var21
;
3400 var22
= ((short int (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__is_intro
]))(var_mpropdef
) /* is_intro on <var_mpropdef:nullable MMethodDef(MMethodDef)>*/;
3403 var24
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var_mpropdef
) /* mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)>*/;
3404 var25
= ((val
* (*)(val
*))(var24
->class->vft
[COLOR_model__MProperty__intro
]))(var24
) /* intro on <var24:MProperty(MMethod)>*/;
3405 var26
= ((val
* (*)(val
*))(var25
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var25
) /* msignature on <var25:MPropDef(MMethodDef)>*/;
3406 var_msignature
= var26
;
3408 if (var_msignature
== NULL
) {
3409 var28
= 1; /* is null */
3411 var28
= 0; /* arg is null but recv is not */
3417 var29
= ((long (*)(val
*))(var_param_names
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_param_names
) /* length on <var_param_names:Array[String]>*/;
3418 var30
= ((long (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__arity
]))(var_msignature
) /* arity on <var_msignature:nullable MSignature(MSignature)>*/;
3419 { /* Inline kernel#Int#!= (var29,var30) */
3420 var33
= var29
== var30
;
3424 RET_LABEL32
:(void)0;
3428 if (var_nsig
== NULL
) {
3429 var36
= 0; /* is null */
3431 var36
= 1; /* arg is null and recv is not */
3434 var_node
= var_nsig
;
3441 var38
= "Redef error: ";
3443 var40
= string__NativeString__to_s_with_length(var38
, var39
);
3450 var43
= " redefines ";
3452 var45
= string__NativeString__to_s_with_length(var43
, var44
);
3456 var46
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var_mpropdef
) /* mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)>*/;
3457 var47
= ((val
* (*)(val
*))(var46
->class->vft
[COLOR_model__MProperty__intro
]))(var46
) /* intro on <var46:MProperty(MMethod)>*/;
3463 var52
= string__NativeString__to_s_with_length(var50
, var51
);
3467 var53
= ((long (*)(val
*))(var_param_names
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_param_names
) /* length on <var_param_names:Array[String]>*/;
3471 var56
= " parameter(s), ";
3473 var58
= string__NativeString__to_s_with_length(var56
, var57
);
3477 var59
= ((long (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__arity
]))(var_msignature
) /* arity on <var_msignature:nullable MSignature(MSignature)>*/;
3481 var62
= " expected. Signature is ";
3483 var64
= string__NativeString__to_s_with_length(var62
, var63
);
3487 var65
= NEW_array__Array(&type_array__Arraykernel__Object
);
3488 { /* var65 = array_instance Array[Object] */
3490 var67
= NEW_array__NativeArray(var66
, &type_array__NativeArraykernel__Object
);
3491 ((struct instance_array__NativeArray
*)var67
)->values
[0] = (val
*) var37
;
3492 ((struct instance_array__NativeArray
*)var67
)->values
[1] = (val
*) var_mpropdef
;
3493 ((struct instance_array__NativeArray
*)var67
)->values
[2] = (val
*) var42
;
3494 ((struct instance_array__NativeArray
*)var67
)->values
[3] = (val
*) var47
;
3495 ((struct instance_array__NativeArray
*)var67
)->values
[4] = (val
*) var49
;
3496 var68
= BOX_kernel__Int(var53
); /* autobox from Int to Object */
3497 ((struct instance_array__NativeArray
*)var67
)->values
[5] = (val
*) var68
;
3498 ((struct instance_array__NativeArray
*)var67
)->values
[6] = (val
*) var55
;
3499 var69
= BOX_kernel__Int(var59
); /* autobox from Int to Object */
3500 ((struct instance_array__NativeArray
*)var67
)->values
[7] = (val
*) var69
;
3501 ((struct instance_array__NativeArray
*)var67
)->values
[8] = (val
*) var61
;
3502 ((struct instance_array__NativeArray
*)var67
)->values
[9] = (val
*) var_mpropdef
;
3503 ((struct instance_array__NativeArray
*)var67
)->values
[10] = (val
*) var_msignature
;
3504 ((void (*)(val
*, val
*, long))(var65
->class->vft
[COLOR_array__Array__with_native
]))(var65
, var67
, var66
) /* with_native on <var65:Array[Object]>*/;
3506 var70
= ((val
* (*)(val
*))(var65
->class->vft
[COLOR_string__Object__to_s
]))(var65
) /* to_s on <var65:Array[Object]>*/;
3507 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, var_node
, var70
) /* error on <var_modelbuilder:ModelBuilder>*/;
3512 var71
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var_mpropdef
) /* mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)>*/;
3513 var72
= ((short int (*)(val
*))(var71
->class->vft
[COLOR_model__MMethod__is_init
]))(var71
) /* is_init on <var71:MProperty(MMethod)>*/;
3515 var73
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef>*/;
3516 if (var73
== NULL
) {
3517 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
3518 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 464);
3521 var74
= ((val
* (*)(val
*))(var73
->class->vft
[COLOR_model__MClassDef__supertypes
]))(var73
) /* supertypes on <var73:nullable MClassDef>*/;
3523 var75
= ((val
* (*)(val
*))(var74
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var74
) /* iterator on <var74:Array[MClassType]>*/;
3525 var76
= ((short int (*)(val
*))(var75
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var75
) /* is_ok on <var75:Iterator[nullable Object]>*/;
3527 var77
= ((val
* (*)(val
*))(var75
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var75
) /* item on <var75:Iterator[nullable Object]>*/;
3528 var_msupertype
= var77
;
3529 var78
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef>*/;
3530 if (var78
== NULL
) {
3531 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
3532 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 465);
3535 var79
= ((val
* (*)(val
*))(var78
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var78
) /* bound_mtype on <var78:nullable MClassDef>*/;
3537 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>*/;
3538 var_msupertype
= var80
;
3539 var81
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var_mpropdef
) /* mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)>*/;
3540 var82
= ((val
* (*)(val
*))(var81
->class->vft
[COLOR_model__MProperty__name
]))(var81
) /* name on <var81:MProperty(MMethod)>*/;
3541 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>*/;
3542 var_candidate
= var83
;
3544 if (var_candidate
== NULL
) {
3545 var85
= 0; /* is null */
3547 var85
= 1; /* arg is null and recv is not */
3551 if (var_msignature
== NULL
) {
3552 var87
= 1; /* is null */
3554 var87
= 0; /* arg is null but recv is not */
3557 var88
= ((val
* (*)(val
*))(var_candidate
->class->vft
[COLOR_model__MProperty__intro
]))(var_candidate
) /* intro on <var_candidate:nullable MProperty(MProperty)>*/;
3558 /* <var88:MPropDef> isa MMethodDef */
3559 cltype
= type_model__MMethodDef
.color
;
3560 idtype
= type_model__MMethodDef
.id
;
3561 if(cltype
>= var88
->type
->table_size
) {
3564 var89
= var88
->type
->type_table
[cltype
] == idtype
;
3567 var_class_name
= var88
== NULL ?
"null" : var88
->type
->name
;
3568 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MMethodDef", var_class_name
);
3569 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 469);
3572 var90
= ((val
* (*)(val
*))(var88
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var88
) /* msignature on <var88:MPropDef(MMethodDef)>*/;
3573 var_msignature
= var90
;
3578 CONTINUE_label
: (void)0;
3579 ((void (*)(val
*))(var75
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var75
) /* next on <var75:Iterator[nullable Object]>*/;
3581 BREAK_label
: (void)0;
3586 if (var_msignature
== NULL
) {
3587 var95
= 0; /* is null */
3589 var95
= 1; /* arg is null and recv is not */
3593 var96
= ((long (*)(val
*))(var_param_names
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_param_names
) /* length on <var_param_names:Array[String]>*/;
3594 var97
= ((long (*)(val
*))(var_param_types
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_param_types
) /* length on <var_param_types:Array[MType]>*/;
3595 { /* Inline kernel#Int#!= (var96,var97) */
3596 var100
= var96
== var97
;
3600 RET_LABEL99
:(void)0;
3608 var103
= ((long (*)(val
*))(var_param_names
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_param_names
) /* length on <var_param_names:Array[String]>*/;
3609 var104
= ((long (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__arity
]))(var_msignature
) /* arity on <var_msignature:nullable MSignature(MSignature)>*/;
3610 { /* Inline kernel#Int#== (var103,var104) */
3611 var107
= var103
== var104
;
3614 RET_LABEL106
:(void)0;
3622 var109
= ((long (*)(val
*))(var_param_types
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_param_types
) /* length on <var_param_types:Array[MType]>*/;
3624 { /* Inline kernel#Int#== (var109,var110) */
3625 var113
= var109
== var110
;
3628 RET_LABEL112
:(void)0;
3635 var114
= NEW_array__Array(&type_array__Arraymodel__MType
);
3636 ((void (*)(val
*))(var114
->class->vft
[COLOR_array__Array__init
]))(var114
) /* init on <var114:Array[MType]>*/;
3637 var_param_types
= var114
;
3638 var115
= ((val
* (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__mparameters
]))(var_msignature
) /* mparameters on <var_msignature:nullable MSignature(MSignature)>*/;
3639 var116
= ((val
* (*)(val
*))(var115
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var115
) /* iterator on <var115:Array[MParameter]>*/;
3641 var117
= ((short int (*)(val
*))(var116
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var116
) /* is_ok on <var116:Iterator[nullable Object]>*/;
3643 var118
= ((val
* (*)(val
*))(var116
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var116
) /* item on <var116:Iterator[nullable Object]>*/;
3644 var_mparameter
= var118
;
3645 var119
= ((val
* (*)(val
*))(var_mparameter
->class->vft
[COLOR_model__MParameter__mtype
]))(var_mparameter
) /* mtype on <var_mparameter:MParameter>*/;
3646 ((void (*)(val
*, val
*))(var_param_types
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_param_types
, var119
) /* add on <var_param_types:Array[MType]>*/;
3647 CONTINUE_label120
: (void)0;
3648 ((void (*)(val
*))(var116
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var116
) /* next on <var116:Iterator[nullable Object]>*/;
3650 BREAK_label120
: (void)0;
3651 var121
= ((long (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__vararg_rank
]))(var_msignature
) /* vararg_rank on <var_msignature:nullable MSignature(MSignature)>*/;
3652 var_vararg_rank
= var121
;
3656 if (var_msignature
== NULL
) {
3657 var124
= 0; /* is null */
3659 var124
= 1; /* arg is null and recv is not */
3664 if (var_ret_type
== NULL
) {
3665 var127
= 1; /* is null */
3667 var127
= 0; /* arg is null but recv is not */
3674 var128
= ((val
* (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__return_mtype
]))(var_msignature
) /* return_mtype on <var_msignature:nullable MSignature(MSignature)>*/;
3675 var_ret_type
= var128
;
3678 var129
= ((long (*)(val
*))(var_param_names
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_param_names
) /* length on <var_param_names:Array[String]>*/;
3679 var130
= ((long (*)(val
*))(var_param_types
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_param_types
) /* length on <var_param_types:Array[MType]>*/;
3680 { /* Inline kernel#Int#!= (var129,var130) */
3681 var133
= var129
== var130
;
3685 RET_LABEL132
:(void)0;
3688 if (var_nsig
== NULL
) {
3689 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
3690 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 491);
3693 var135
= ((val
* (*)(val
*))(var_nsig
->class->vft
[COLOR_parser_nodes__ASignature__n_params
]))(var_nsig
) /* n_params on <var_nsig:nullable ASignature>*/;
3695 var136
= ((long (*)(val
*))(var_param_types
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_param_types
) /* length on <var_param_types:Array[MType]>*/;
3696 var137
= ((val
* (*)(val
*, long))(var135
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var135
, var136
) /* [] on <var135:ANodes[AParam]>*/;
3698 var139
= varonce138
;
3700 var140
= "Error: Untyped parameter `";
3702 var142
= string__NativeString__to_s_with_length(var140
, var141
);
3704 varonce138
= var139
;
3706 var143
= ((long (*)(val
*))(var_param_types
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_param_types
) /* length on <var_param_types:Array[MType]>*/;
3707 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]>*/;
3709 var146
= varonce145
;
3713 var149
= string__NativeString__to_s_with_length(var147
, var148
);
3715 varonce145
= var146
;
3717 var150
= NEW_array__Array(&type_array__Arraykernel__Object
);
3718 { /* var150 = array_instance Array[Object] */
3720 var152
= NEW_array__NativeArray(var151
, &type_array__NativeArraykernel__Object
);
3721 ((struct instance_array__NativeArray
*)var152
)->values
[0] = (val
*) var139
;
3722 ((struct instance_array__NativeArray
*)var152
)->values
[1] = (val
*) var144
;
3723 ((struct instance_array__NativeArray
*)var152
)->values
[2] = (val
*) var146
;
3724 ((void (*)(val
*, val
*, long))(var150
->class->vft
[COLOR_array__Array__with_native
]))(var150
, var152
, var151
) /* with_native on <var150:Array[Object]>*/;
3726 var153
= ((val
* (*)(val
*))(var150
->class->vft
[COLOR_string__Object__to_s
]))(var150
) /* to_s on <var150:Array[Object]>*/;
3727 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, var137
, var153
) /* error on <var_modelbuilder:ModelBuilder>*/;
3731 var154
= NEW_array__Array(&type_array__Arraymodel__MParameter
);
3732 ((void (*)(val
*))(var154
->class->vft
[COLOR_array__Array__init
]))(var154
) /* init on <var154:Array[MParameter]>*/;
3733 var_mparameters
= var154
;
3734 var155
= NEW_range__Range(&type_range__Rangekernel__Int
);
3736 var157
= ((long (*)(val
*))(var_param_names
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_param_names
) /* length on <var_param_names:Array[String]>*/;
3737 var158
= BOX_kernel__Int(var156
); /* autobox from Int to Discrete */
3738 var159
= BOX_kernel__Int(var157
); /* autobox from Int to Discrete */
3739 ((void (*)(val
*, val
*, val
*))(var155
->class->vft
[COLOR_range__Range__without_last
]))(var155
, var158
, var159
) /* without_last on <var155:Range[Int]>*/;
3740 var160
= ((val
* (*)(val
*))(var155
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var155
) /* iterator on <var155:Range[Int]>*/;
3742 var161
= ((short int (*)(val
*))(var160
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var160
) /* is_ok on <var160:Iterator[nullable Object]>*/;
3744 var162
= ((val
* (*)(val
*))(var160
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var160
) /* item on <var160:Iterator[nullable Object]>*/;
3745 var163
= ((struct instance_kernel__Int
*)var162
)->value
; /* autounbox from nullable Object to Int */;
3747 var164
= NEW_model__MParameter(&type_model__MParameter
);
3748 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]>*/;
3749 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]>*/;
3750 { /* Inline kernel#Int#== (var_i,var_vararg_rank) */
3751 var169
= var_i
== var_vararg_rank
;
3754 RET_LABEL168
:(void)0;
3756 ((void (*)(val
*, val
*, val
*, short int))(var164
->class->vft
[COLOR_model__MParameter__init
]))(var164
, var165
, var166
, var167
) /* init on <var164:MParameter>*/;
3757 var_mparameter170
= var164
;
3759 if (var_nsig
== NULL
) {
3760 var172
= 0; /* is null */
3762 var172
= 1; /* arg is null and recv is not */
3765 var173
= ((val
* (*)(val
*))(var_nsig
->class->vft
[COLOR_parser_nodes__ASignature__n_params
]))(var_nsig
) /* n_params on <var_nsig:nullable ASignature(ASignature)>*/;
3766 var174
= ((val
* (*)(val
*, long))(var173
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var173
, var_i
) /* [] on <var173:ANodes[AParam]>*/;
3767 ((void (*)(val
*, val
*))(var174
->class->vft
[COLOR_modelize_property__AParam__mparameter_61d
]))(var174
, var_mparameter170
) /* mparameter= on <var174:nullable Object(AParam)>*/;
3770 ((void (*)(val
*, val
*))(var_mparameters
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_mparameters
, var_mparameter170
) /* add on <var_mparameters:Array[MParameter]>*/;
3771 CONTINUE_label175
: (void)0;
3772 ((void (*)(val
*))(var160
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var160
) /* next on <var160:Iterator[nullable Object]>*/;
3774 BREAK_label175
: (void)0;
3775 var176
= NEW_model__MSignature(&type_model__MSignature
);
3776 ((void (*)(val
*, val
*, val
*))(var176
->class->vft
[COLOR_model__MSignature__init
]))(var176
, var_mparameters
, var_ret_type
) /* init on <var176:MSignature>*/;
3777 var_msignature
= var176
;
3778 ((void (*)(val
*, val
*))(var_mpropdef
->class->vft
[COLOR_model__MMethodDef__msignature_61d
]))(var_mpropdef
, var_msignature
) /* msignature= on <var_mpropdef:nullable MMethodDef(MMethodDef)>*/;
3779 /* <self:AMethPropdef> isa ADeferredMethPropdef */
3780 cltype178
= type_parser_nodes__ADeferredMethPropdef
.color
;
3781 idtype179
= type_parser_nodes__ADeferredMethPropdef
.id
;
3782 if(cltype178
>= self
->type
->table_size
) {
3785 var177
= self
->type
->type_table
[cltype178
] == idtype179
;
3787 ((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)>*/;
3790 /* method modelize_property#AMethPropdef#build_signature for (self: Object, ModelBuilder, AClassdef) */
3791 void VIRTUAL_modelize_property__AMethPropdef__build_signature(val
* self
, val
* p0
, val
* p1
) {
3792 modelize_property__AMethPropdef__build_signature(self
, p0
, p1
);
3795 /* method modelize_property#AMethPropdef#check_signature for (self: AMethPropdef, ModelBuilder, AClassdef) */
3796 void modelize_property__AMethPropdef__check_signature(val
* self
, val
* p0
, val
* p1
) {
3797 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
3798 val
* var_nclassdef
/* var nclassdef: AClassdef */;
3799 val
* var
/* : nullable MPropDef */;
3800 val
* var_mpropdef
/* var mpropdef: nullable MMethodDef */;
3801 val
* var1
/* : null */;
3802 short int var2
/* : Bool */;
3803 val
* var3
/* : MClassDef */;
3804 val
* var4
/* : MModule */;
3805 val
* var_mmodule
/* var mmodule: MModule */;
3806 val
* var5
/* : nullable ASignature */;
3807 val
* var_nsig
/* var nsig: nullable ASignature */;
3808 val
* var6
/* : nullable MPropDef */;
3809 val
* var7
/* : nullable MSignature */;
3810 val
* var_mysignature
/* var mysignature: nullable MSignature */;
3811 val
* var8
/* : null */;
3812 short int var9
/* : Bool */;
3813 short int var10
/* : Bool */;
3814 short int var11
/* : Bool */;
3815 val
* var12
/* : MProperty */;
3816 val
* var13
/* : MPropDef */;
3817 val
* var14
/* : nullable MSignature */;
3818 val
* var_msignature
/* var msignature: nullable MSignature */;
3819 val
* var15
/* : null */;
3820 short int var16
/* : Bool */;
3821 val
* var17
/* : nullable MType */;
3822 val
* var_precursor_ret_type
/* var precursor_ret_type: nullable MType */;
3823 val
* var18
/* : nullable MType */;
3824 val
* var_ret_type
/* var ret_type: nullable MType */;
3825 short int var19
/* : Bool */;
3826 val
* var20
/* : null */;
3827 short int var21
/* : Bool */;
3828 short int var_
/* var : Bool */;
3829 val
* var22
/* : null */;
3830 short int var23
/* : Bool */;
3831 val
* var24
/* : nullable AType */;
3832 static val
* varonce
;
3833 val
* var25
/* : String */;
3834 char* var26
/* : NativeString */;
3835 long var27
/* : Int */;
3836 val
* var28
/* : String */;
3837 val
* var29
/* : MProperty */;
3838 static val
* varonce30
;
3839 val
* var31
/* : String */;
3840 char* var32
/* : NativeString */;
3841 long var33
/* : Int */;
3842 val
* var34
/* : String */;
3843 val
* var35
/* : Array[Object] */;
3844 long var36
/* : Int */;
3845 val
* var37
/* : NativeArray[Object] */;
3846 val
* var38
/* : String */;
3847 long var39
/* : Int */;
3848 long var40
/* : Int */;
3849 short int var41
/* : Bool */;
3850 short int var43
/* : Bool */;
3853 const char* var_class_name
;
3854 short int var44
/* : Bool */;
3855 val
* var45
/* : Range[Int] */;
3856 long var46
/* : Int */;
3857 long var47
/* : Int */;
3858 val
* var48
/* : Discrete */;
3859 val
* var49
/* : Discrete */;
3860 val
* var50
/* : Iterator[nullable Object] */;
3861 short int var51
/* : Bool */;
3862 val
* var52
/* : nullable Object */;
3863 long var_i
/* var i: Int */;
3864 long var53
/* : Int */;
3865 val
* var54
/* : Array[MParameter] */;
3866 val
* var55
/* : nullable Object */;
3867 val
* var56
/* : MType */;
3868 val
* var_myt
/* var myt: MType */;
3869 val
* var57
/* : Array[MParameter] */;
3870 val
* var58
/* : nullable Object */;
3871 val
* var59
/* : MType */;
3872 val
* var_prt
/* var prt: MType */;
3873 short int var60
/* : Bool */;
3874 val
* var61
/* : nullable MClassDef */;
3875 val
* var62
/* : MClassType */;
3876 short int var63
/* : Bool */;
3877 short int var64
/* : Bool */;
3878 short int var_65
/* var : Bool */;
3879 val
* var66
/* : nullable MClassDef */;
3880 val
* var67
/* : MClassType */;
3881 short int var68
/* : Bool */;
3882 short int var69
/* : Bool */;
3883 val
* var70
/* : ANodes[AParam] */;
3884 val
* var71
/* : nullable Object */;
3885 static val
* varonce72
;
3886 val
* var73
/* : String */;
3887 char* var74
/* : NativeString */;
3888 long var75
/* : Int */;
3889 val
* var76
/* : String */;
3890 val
* var77
/* : Array[MParameter] */;
3891 val
* var78
/* : nullable Object */;
3892 val
* var79
/* : String */;
3893 static val
* varonce80
;
3894 val
* var81
/* : String */;
3895 char* var82
/* : NativeString */;
3896 long var83
/* : Int */;
3897 val
* var84
/* : String */;
3898 static val
* varonce85
;
3899 val
* var86
/* : String */;
3900 char* var87
/* : NativeString */;
3901 long var88
/* : Int */;
3902 val
* var89
/* : String */;
3903 static val
* varonce90
;
3904 val
* var91
/* : String */;
3905 char* var92
/* : NativeString */;
3906 long var93
/* : Int */;
3907 val
* var94
/* : String */;
3908 val
* var95
/* : MProperty */;
3909 val
* var96
/* : MPropDef */;
3910 static val
* varonce97
;
3911 val
* var98
/* : String */;
3912 char* var99
/* : NativeString */;
3913 long var100
/* : Int */;
3914 val
* var101
/* : String */;
3915 val
* var102
/* : Array[Object] */;
3916 long var103
/* : Int */;
3917 val
* var104
/* : NativeArray[Object] */;
3918 val
* var105
/* : String */;
3919 val
* var106
/* : null */;
3920 short int var107
/* : Bool */;
3921 val
* var108
/* : null */;
3922 short int var109
/* : Bool */;
3923 val
* var110
/* : nullable MClassDef */;
3924 val
* var111
/* : MClassType */;
3925 short int var112
/* : Bool */;
3926 short int var113
/* : Bool */;
3927 val
* var114
/* : nullable AType */;
3928 static val
* varonce115
;
3929 val
* var116
/* : String */;
3930 char* var117
/* : NativeString */;
3931 long var118
/* : Int */;
3932 val
* var119
/* : String */;
3933 static val
* varonce120
;
3934 val
* var121
/* : String */;
3935 char* var122
/* : NativeString */;
3936 long var123
/* : Int */;
3937 val
* var124
/* : String */;
3938 static val
* varonce125
;
3939 val
* var126
/* : String */;
3940 char* var127
/* : NativeString */;
3941 long var128
/* : Int */;
3942 val
* var129
/* : String */;
3943 val
* var130
/* : MProperty */;
3944 val
* var131
/* : MPropDef */;
3945 static val
* varonce132
;
3946 val
* var133
/* : String */;
3947 char* var134
/* : NativeString */;
3948 long var135
/* : Int */;
3949 val
* var136
/* : String */;
3950 val
* var137
/* : Array[Object] */;
3951 long var138
/* : Int */;
3952 val
* var139
/* : NativeArray[Object] */;
3953 val
* var140
/* : String */;
3954 var_modelbuilder
= p0
;
3956 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__mpropdef
]))(self
) /* mpropdef on <self:AMethPropdef>*/;
3959 if (var_mpropdef
== NULL
) {
3960 var2
= 1; /* is null */
3962 var2
= 0; /* arg is null but recv is not */
3968 var3
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var_mpropdef
) /* mclassdef on <var_mpropdef:nullable MMethodDef(MMethodDef)>*/;
3969 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_model__MClassDef__mmodule
]))(var3
) /* mmodule on <var3:MClassDef>*/;
3971 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AMethPropdef__n_signature
]))(self
) /* n_signature on <self:AMethPropdef>*/;
3973 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__mpropdef
]))(self
) /* mpropdef on <self:AMethPropdef>*/;
3975 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
3976 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 513);
3979 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var6
) /* msignature on <var6:nullable MPropDef(nullable MMethodDef)>*/;
3981 var_mysignature
= var7
;
3983 if (var_mysignature
== NULL
) {
3984 var9
= 1; /* is null */
3986 var9
= 0; /* arg is null but recv is not */
3992 var10
= ((short int (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__is_intro
]))(var_mpropdef
) /* is_intro on <var_mpropdef:nullable MMethodDef(MMethodDef)>*/;
3995 var12
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var_mpropdef
) /* mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)>*/;
3996 var13
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_model__MProperty__intro
]))(var12
) /* intro on <var12:MProperty(MMethod)>*/;
3997 var14
= ((val
* (*)(val
*))(var13
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var13
) /* msignature on <var13:MPropDef(MMethodDef)>*/;
3998 var_msignature
= var14
;
4000 if (var_msignature
== NULL
) {
4001 var16
= 1; /* is null */
4003 var16
= 0; /* arg is null but recv is not */
4009 var17
= ((val
* (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__return_mtype
]))(var_msignature
) /* return_mtype on <var_msignature:nullable MSignature(MSignature)>*/;
4010 var_precursor_ret_type
= var17
;
4011 var18
= ((val
* (*)(val
*))(var_mysignature
->class->vft
[COLOR_model__MSignature__return_mtype
]))(var_mysignature
) /* return_mtype on <var_mysignature:nullable MSignature(MSignature)>*/;
4012 var_ret_type
= var18
;
4014 if (var_ret_type
== NULL
) {
4015 var21
= 0; /* is null */
4017 var21
= 1; /* arg is null and recv is not */
4022 if (var_precursor_ret_type
== NULL
) {
4023 var23
= 1; /* is null */
4025 var23
= 0; /* arg is null but recv is not */
4032 if (var_nsig
== NULL
) {
4033 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
4034 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 525);
4037 var24
= ((val
* (*)(val
*))(var_nsig
->class->vft
[COLOR_parser_nodes__ASignature__n_type
]))(var_nsig
) /* n_type on <var_nsig:nullable ASignature>*/;
4039 if (var24
== NULL
) {
4040 fprintf(stderr
, "Runtime error: %s", "Cast failed");
4041 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 525);
4047 var26
= "Redef Error: ";
4049 var28
= string__NativeString__to_s_with_length(var26
, var27
);
4053 var29
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var_mpropdef
) /* mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)>*/;
4057 var32
= " is a procedure, not a function.";
4059 var34
= string__NativeString__to_s_with_length(var32
, var33
);
4063 var35
= NEW_array__Array(&type_array__Arraykernel__Object
);
4064 { /* var35 = array_instance Array[Object] */
4066 var37
= NEW_array__NativeArray(var36
, &type_array__NativeArraykernel__Object
);
4067 ((struct instance_array__NativeArray
*)var37
)->values
[0] = (val
*) var25
;
4068 ((struct instance_array__NativeArray
*)var37
)->values
[1] = (val
*) var29
;
4069 ((struct instance_array__NativeArray
*)var37
)->values
[2] = (val
*) var31
;
4070 ((void (*)(val
*, val
*, long))(var35
->class->vft
[COLOR_array__Array__with_native
]))(var35
, var37
, var36
) /* with_native on <var35:Array[Object]>*/;
4072 var38
= ((val
* (*)(val
*))(var35
->class->vft
[COLOR_string__Object__to_s
]))(var35
) /* to_s on <var35:Array[Object]>*/;
4073 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, var24
, var38
) /* error on <var_modelbuilder:ModelBuilder>*/;
4077 var39
= ((long (*)(val
*))(var_mysignature
->class->vft
[COLOR_model__MSignature__arity
]))(var_mysignature
) /* arity on <var_mysignature:nullable MSignature(MSignature)>*/;
4079 { /* Inline kernel#Int#> (var39,var40) */
4080 /* Covariant cast for argument 0 (i) <var40:Int> isa OTHER */
4081 /* <var40:Int> isa OTHER */
4082 var43
= 1; /* easy <var40:Int> isa OTHER*/
4084 var_class_name
= type_kernel__Int
.name
;
4085 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
4086 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 267);
4089 var44
= var39
> var40
;
4092 RET_LABEL42
:(void)0;
4095 var45
= NEW_range__Range(&type_range__Rangekernel__Int
);
4097 var47
= ((long (*)(val
*))(var_mysignature
->class->vft
[COLOR_model__MSignature__arity
]))(var_mysignature
) /* arity on <var_mysignature:nullable MSignature(MSignature)>*/;
4098 var48
= BOX_kernel__Int(var46
); /* autobox from Int to Discrete */
4099 var49
= BOX_kernel__Int(var47
); /* autobox from Int to Discrete */
4100 ((void (*)(val
*, val
*, val
*))(var45
->class->vft
[COLOR_range__Range__without_last
]))(var45
, var48
, var49
) /* without_last on <var45:Range[Int]>*/;
4101 var50
= ((val
* (*)(val
*))(var45
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var45
) /* iterator on <var45:Range[Int]>*/;
4103 var51
= ((short int (*)(val
*))(var50
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var50
) /* is_ok on <var50:Iterator[nullable Object]>*/;
4105 var52
= ((val
* (*)(val
*))(var50
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var50
) /* item on <var50:Iterator[nullable Object]>*/;
4106 var53
= ((struct instance_kernel__Int
*)var52
)->value
; /* autounbox from nullable Object to Int */;
4108 var54
= ((val
* (*)(val
*))(var_mysignature
->class->vft
[COLOR_model__MSignature__mparameters
]))(var_mysignature
) /* mparameters on <var_mysignature:nullable MSignature(MSignature)>*/;
4109 var55
= ((val
* (*)(val
*, long))(var54
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var54
, var_i
) /* [] on <var54:Array[MParameter]>*/;
4110 var56
= ((val
* (*)(val
*))(var55
->class->vft
[COLOR_model__MParameter__mtype
]))(var55
) /* mtype on <var55:nullable Object(MParameter)>*/;
4112 var57
= ((val
* (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__mparameters
]))(var_msignature
) /* mparameters on <var_msignature:nullable MSignature(MSignature)>*/;
4113 var58
= ((val
* (*)(val
*, long))(var57
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var57
, var_i
) /* [] on <var57:Array[MParameter]>*/;
4114 var59
= ((val
* (*)(val
*))(var58
->class->vft
[COLOR_model__MParameter__mtype
]))(var58
) /* mtype on <var58:nullable Object(MParameter)>*/;
4116 var61
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef>*/;
4117 if (var61
== NULL
) {
4118 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
4119 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 534);
4122 var62
= ((val
* (*)(val
*))(var61
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var61
) /* bound_mtype on <var61:nullable MClassDef>*/;
4124 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>*/;
4130 var66
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef>*/;
4131 if (var66
== NULL
) {
4132 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
4133 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 535);
4136 var67
= ((val
* (*)(val
*))(var66
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var66
) /* bound_mtype on <var66:nullable MClassDef>*/;
4138 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>*/;
4143 if (var_nsig
== NULL
) {
4144 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
4145 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 536);
4148 var70
= ((val
* (*)(val
*))(var_nsig
->class->vft
[COLOR_parser_nodes__ASignature__n_params
]))(var_nsig
) /* n_params on <var_nsig:nullable ASignature>*/;
4150 var71
= ((val
* (*)(val
*, long))(var70
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var70
, var_i
) /* [] on <var70:ANodes[AParam]>*/;
4154 var74
= "Redef Error: Wrong type for parameter `";
4156 var76
= string__NativeString__to_s_with_length(var74
, var75
);
4160 var77
= ((val
* (*)(val
*))(var_mysignature
->class->vft
[COLOR_model__MSignature__mparameters
]))(var_mysignature
) /* mparameters on <var_mysignature:nullable MSignature(MSignature)>*/;
4161 var78
= ((val
* (*)(val
*, long))(var77
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var77
, var_i
) /* [] on <var77:Array[MParameter]>*/;
4162 var79
= ((val
* (*)(val
*))(var78
->class->vft
[COLOR_model__MParameter__name
]))(var78
) /* name on <var78:nullable Object(MParameter)>*/;
4166 var82
= "\'. found ";
4168 var84
= string__NativeString__to_s_with_length(var82
, var83
);
4175 var87
= ", expected ";
4177 var89
= string__NativeString__to_s_with_length(var87
, var88
);
4186 var94
= string__NativeString__to_s_with_length(var92
, var93
);
4190 var95
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var_mpropdef
) /* mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)>*/;
4191 var96
= ((val
* (*)(val
*))(var95
->class->vft
[COLOR_model__MProperty__intro
]))(var95
) /* intro on <var95:MProperty(MMethod)>*/;
4197 var101
= string__NativeString__to_s_with_length(var99
, var100
);
4201 var102
= NEW_array__Array(&type_array__Arraykernel__Object
);
4202 { /* var102 = array_instance Array[Object] */
4204 var104
= NEW_array__NativeArray(var103
, &type_array__NativeArraykernel__Object
);
4205 ((struct instance_array__NativeArray
*)var104
)->values
[0] = (val
*) var73
;
4206 ((struct instance_array__NativeArray
*)var104
)->values
[1] = (val
*) var79
;
4207 ((struct instance_array__NativeArray
*)var104
)->values
[2] = (val
*) var81
;
4208 ((struct instance_array__NativeArray
*)var104
)->values
[3] = (val
*) var_myt
;
4209 ((struct instance_array__NativeArray
*)var104
)->values
[4] = (val
*) var86
;
4210 ((struct instance_array__NativeArray
*)var104
)->values
[5] = (val
*) var_prt
;
4211 ((struct instance_array__NativeArray
*)var104
)->values
[6] = (val
*) var91
;
4212 ((struct instance_array__NativeArray
*)var104
)->values
[7] = (val
*) var96
;
4213 ((struct instance_array__NativeArray
*)var104
)->values
[8] = (val
*) var98
;
4214 ((void (*)(val
*, val
*, long))(var102
->class->vft
[COLOR_array__Array__with_native
]))(var102
, var104
, var103
) /* with_native on <var102:Array[Object]>*/;
4216 var105
= ((val
* (*)(val
*))(var102
->class->vft
[COLOR_string__Object__to_s
]))(var102
) /* to_s on <var102:Array[Object]>*/;
4217 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, var71
, var105
) /* error on <var_modelbuilder:ModelBuilder>*/;
4220 CONTINUE_label
: (void)0;
4221 ((void (*)(val
*))(var50
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var50
) /* next on <var50:Iterator[nullable Object]>*/;
4223 BREAK_label
: (void)0;
4227 if (var_precursor_ret_type
== NULL
) {
4228 var107
= 0; /* is null */
4230 var107
= 1; /* arg is null and recv is not */
4234 if (var_ret_type
== NULL
) {
4235 var109
= 1; /* is null */
4237 var109
= 0; /* arg is null but recv is not */
4240 var_ret_type
= var_precursor_ret_type
;
4242 var110
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef>*/;
4243 if (var110
== NULL
) {
4244 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
4245 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 544);
4248 var111
= ((val
* (*)(val
*))(var110
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var110
) /* bound_mtype on <var110:nullable MClassDef>*/;
4250 var112
= ((short int (*)(val
*, val
*, val
*, val
*))(var_ret_type
->class->vft
[COLOR_model__MType__is_subtype
]))(var_ret_type
, var_mmodule
, var111
, var_precursor_ret_type
) /* is_subtype on <var_ret_type:nullable MType(MType)>*/;
4253 if (var_nsig
== NULL
) {
4254 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
4255 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 545);
4258 var114
= ((val
* (*)(val
*))(var_nsig
->class->vft
[COLOR_parser_nodes__ASignature__n_type
]))(var_nsig
) /* n_type on <var_nsig:nullable ASignature>*/;
4260 if (var114
== NULL
) {
4261 fprintf(stderr
, "Runtime error: %s", "Cast failed");
4262 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 545);
4266 var116
= varonce115
;
4268 var117
= "Redef Error: Wrong return type. found ";
4270 var119
= string__NativeString__to_s_with_length(var117
, var118
);
4272 varonce115
= var116
;
4275 var121
= varonce120
;
4277 var122
= ", expected ";
4279 var124
= string__NativeString__to_s_with_length(var122
, var123
);
4281 varonce120
= var121
;
4284 var126
= varonce125
;
4288 var129
= string__NativeString__to_s_with_length(var127
, var128
);
4290 varonce125
= var126
;
4292 var130
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var_mpropdef
) /* mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)>*/;
4293 var131
= ((val
* (*)(val
*))(var130
->class->vft
[COLOR_model__MProperty__intro
]))(var130
) /* intro on <var130:MProperty(MMethod)>*/;
4295 var133
= varonce132
;
4299 var136
= string__NativeString__to_s_with_length(var134
, var135
);
4301 varonce132
= var133
;
4303 var137
= NEW_array__Array(&type_array__Arraykernel__Object
);
4304 { /* var137 = array_instance Array[Object] */
4306 var139
= NEW_array__NativeArray(var138
, &type_array__NativeArraykernel__Object
);
4307 ((struct instance_array__NativeArray
*)var139
)->values
[0] = (val
*) var116
;
4308 ((struct instance_array__NativeArray
*)var139
)->values
[1] = (val
*) var_ret_type
;
4309 ((struct instance_array__NativeArray
*)var139
)->values
[2] = (val
*) var121
;
4310 ((struct instance_array__NativeArray
*)var139
)->values
[3] = (val
*) var_precursor_ret_type
;
4311 ((struct instance_array__NativeArray
*)var139
)->values
[4] = (val
*) var126
;
4312 ((struct instance_array__NativeArray
*)var139
)->values
[5] = (val
*) var131
;
4313 ((struct instance_array__NativeArray
*)var139
)->values
[6] = (val
*) var133
;
4314 ((void (*)(val
*, val
*, long))(var137
->class->vft
[COLOR_array__Array__with_native
]))(var137
, var139
, var138
) /* with_native on <var137:Array[Object]>*/;
4316 var140
= ((val
* (*)(val
*))(var137
->class->vft
[COLOR_string__Object__to_s
]))(var137
) /* to_s on <var137:Array[Object]>*/;
4317 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, var114
, var140
) /* error on <var_modelbuilder:ModelBuilder>*/;
4327 /* method modelize_property#AMethPropdef#check_signature for (self: Object, ModelBuilder, AClassdef) */
4328 void VIRTUAL_modelize_property__AMethPropdef__check_signature(val
* self
, val
* p0
, val
* p1
) {
4329 modelize_property__AMethPropdef__check_signature(self
, p0
, p1
);
4332 /* method modelize_property#AAttrPropdef#mreadpropdef for (self: AAttrPropdef): nullable MMethodDef */
4333 val
* modelize_property__AAttrPropdef__mreadpropdef(val
* self
) {
4334 val
* var
/* : nullable MMethodDef */;
4335 val
* var1
/* : nullable MMethodDef */;
4336 var1
= self
->attrs
[COLOR_modelize_property__AAttrPropdef___64dmreadpropdef
].val
; /* @mreadpropdef on <self:AAttrPropdef> */
4341 /* method modelize_property#AAttrPropdef#mreadpropdef for (self: Object): nullable MMethodDef */
4342 val
* VIRTUAL_modelize_property__AAttrPropdef__mreadpropdef(val
* self
) {
4343 val
* var
/* : nullable MMethodDef */;
4344 val
* var1
/* : nullable MMethodDef */;
4345 var1
= modelize_property__AAttrPropdef__mreadpropdef(self
);
4350 /* method modelize_property#AAttrPropdef#mreadpropdef= for (self: AAttrPropdef, nullable MMethodDef) */
4351 void modelize_property__AAttrPropdef__mreadpropdef_61d(val
* self
, val
* p0
) {
4352 self
->attrs
[COLOR_modelize_property__AAttrPropdef___64dmreadpropdef
].val
= p0
; /* @mreadpropdef on <self:AAttrPropdef> */
4355 /* method modelize_property#AAttrPropdef#mreadpropdef= for (self: Object, nullable MMethodDef) */
4356 void VIRTUAL_modelize_property__AAttrPropdef__mreadpropdef_61d(val
* self
, val
* p0
) {
4357 modelize_property__AAttrPropdef__mreadpropdef_61d(self
, p0
);
4360 /* method modelize_property#AAttrPropdef#mwritepropdef for (self: AAttrPropdef): nullable MMethodDef */
4361 val
* modelize_property__AAttrPropdef__mwritepropdef(val
* self
) {
4362 val
* var
/* : nullable MMethodDef */;
4363 val
* var1
/* : nullable MMethodDef */;
4364 var1
= self
->attrs
[COLOR_modelize_property__AAttrPropdef___64dmwritepropdef
].val
; /* @mwritepropdef on <self:AAttrPropdef> */
4369 /* method modelize_property#AAttrPropdef#mwritepropdef for (self: Object): nullable MMethodDef */
4370 val
* VIRTUAL_modelize_property__AAttrPropdef__mwritepropdef(val
* self
) {
4371 val
* var
/* : nullable MMethodDef */;
4372 val
* var1
/* : nullable MMethodDef */;
4373 var1
= modelize_property__AAttrPropdef__mwritepropdef(self
);
4378 /* method modelize_property#AAttrPropdef#mwritepropdef= for (self: AAttrPropdef, nullable MMethodDef) */
4379 void modelize_property__AAttrPropdef__mwritepropdef_61d(val
* self
, val
* p0
) {
4380 self
->attrs
[COLOR_modelize_property__AAttrPropdef___64dmwritepropdef
].val
= p0
; /* @mwritepropdef on <self:AAttrPropdef> */
4383 /* method modelize_property#AAttrPropdef#mwritepropdef= for (self: Object, nullable MMethodDef) */
4384 void VIRTUAL_modelize_property__AAttrPropdef__mwritepropdef_61d(val
* self
, val
* p0
) {
4385 modelize_property__AAttrPropdef__mwritepropdef_61d(self
, p0
);
4388 /* method modelize_property#AAttrPropdef#build_property for (self: AAttrPropdef, ModelBuilder, AClassdef) */
4389 void modelize_property__AAttrPropdef__build_property(val
* self
, val
* p0
, val
* p1
) {
4390 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
4391 val
* var_nclassdef
/* var nclassdef: AClassdef */;
4392 val
* var
/* : nullable MClassDef */;
4393 val
* var_mclassdef
/* var mclassdef: MClassDef */;
4394 val
* var1
/* : MClass */;
4395 val
* var_mclass
/* var mclass: MClass */;
4396 val
* var2
/* : nullable TAttrid */;
4397 val
* var3
/* : null */;
4398 short int var4
/* : Bool */;
4399 val
* var5
/* : nullable TAttrid */;
4400 val
* var6
/* : String */;
4401 val
* var_name
/* var name: String */;
4402 val
* var7
/* : nullable TId */;
4403 val
* var8
/* : String */;
4404 short int var9
/* : Bool */;
4405 val
* var10
/* : MClassKind */;
4406 val
* var11
/* : MClassKind */;
4407 short int var12
/* : Bool */;
4408 short int var_
/* var : Bool */;
4409 val
* var13
/* : MClass */;
4410 val
* var14
/* : MClassKind */;
4411 val
* var15
/* : MClassKind */;
4412 short int var16
/* : Bool */;
4413 static val
* varonce
;
4414 val
* var17
/* : String */;
4415 char* var18
/* : NativeString */;
4416 long var19
/* : Int */;
4417 val
* var20
/* : String */;
4418 static val
* varonce21
;
4419 val
* var22
/* : String */;
4420 char* var23
/* : NativeString */;
4421 long var24
/* : Int */;
4422 val
* var25
/* : String */;
4423 static val
* varonce26
;
4424 val
* var27
/* : String */;
4425 char* var28
/* : NativeString */;
4426 long var29
/* : Int */;
4427 val
* var30
/* : String */;
4428 val
* var31
/* : Array[Object] */;
4429 long var32
/* : Int */;
4430 val
* var33
/* : NativeArray[Object] */;
4431 val
* var34
/* : String */;
4432 val
* var35
/* : MClassKind */;
4433 val
* var36
/* : MClassKind */;
4434 short int var37
/* : Bool */;
4435 static val
* varonce38
;
4436 val
* var39
/* : String */;
4437 char* var40
/* : NativeString */;
4438 long var41
/* : Int */;
4439 val
* var42
/* : String */;
4440 static val
* varonce43
;
4441 val
* var44
/* : String */;
4442 char* var45
/* : NativeString */;
4443 long var46
/* : Int */;
4444 val
* var47
/* : String */;
4445 static val
* varonce48
;
4446 val
* var49
/* : String */;
4447 char* var50
/* : NativeString */;
4448 long var51
/* : Int */;
4449 val
* var52
/* : String */;
4450 val
* var53
/* : Array[Object] */;
4451 long var54
/* : Int */;
4452 val
* var55
/* : NativeArray[Object] */;
4453 val
* var56
/* : String */;
4454 val
* var57
/* : MClassKind */;
4455 val
* var58
/* : MClassKind */;
4456 short int var59
/* : Bool */;
4457 static val
* varonce60
;
4458 val
* var61
/* : String */;
4459 char* var62
/* : NativeString */;
4460 long var63
/* : Int */;
4461 val
* var64
/* : String */;
4462 static val
* varonce65
;
4463 val
* var66
/* : String */;
4464 char* var67
/* : NativeString */;
4465 long var68
/* : Int */;
4466 val
* var69
/* : String */;
4467 static val
* varonce70
;
4468 val
* var71
/* : String */;
4469 char* var72
/* : NativeString */;
4470 long var73
/* : Int */;
4471 val
* var74
/* : String */;
4472 val
* var75
/* : Array[Object] */;
4473 long var76
/* : Int */;
4474 val
* var77
/* : NativeArray[Object] */;
4475 val
* var78
/* : String */;
4476 val
* var79
/* : nullable TAttrid */;
4477 val
* var_nid
/* var nid: nullable TAttrid */;
4478 val
* var80
/* : null */;
4479 short int var81
/* : Bool */;
4480 val
* var82
/* : nullable MProperty */;
4481 val
* var_mprop
/* var mprop: nullable MProperty */;
4482 val
* var83
/* : null */;
4483 short int var84
/* : Bool */;
4484 val
* var85
/* : AVisibility */;
4485 val
* var86
/* : MVisibility */;
4486 val
* var_mvisibility
/* var mvisibility: MVisibility */;
4487 val
* var87
/* : MAttribute */;
4488 val
* var88
/* : nullable TKwredef */;
4489 short int var89
/* : Bool */;
4490 short int var90
/* : Bool */;
4491 short int var91
/* : Bool */;
4492 short int var92
/* : Bool */;
4495 val
* var93
/* : AVisibility */;
4496 val
* var94
/* : nullable TKwredef */;
4497 short int var95
/* : Bool */;
4498 short int var96
/* : Bool */;
4499 short int var97
/* : Bool */;
4500 val
* var98
/* : Map[MProperty, APropdef] */;
4501 val
* var99
/* : MAttributeDef */;
4502 val
* var100
/* : Location */;
4503 val
* var_mpropdef
/* var mpropdef: MAttributeDef */;
4504 short int var101
/* : Bool */;
4507 const struct type
* type_struct
;
4508 const char* var_class_name
;
4509 val
* var104
/* : HashMap[MPropDef, APropdef] */;
4510 val
* var105
/* : nullable AAble */;
4511 val
* var_nreadable
/* var nreadable: nullable AAble */;
4512 val
* var106
/* : null */;
4513 short int var107
/* : Bool */;
4514 long var108
/* : Int */;
4515 val
* var109
/* : String */;
4516 val
* var_readname
/* var readname: String */;
4517 val
* var110
/* : nullable MProperty */;
4518 short int var111
/* : Bool */;
4521 const char* var_class_name114
;
4522 val
* var_mreadprop
/* var mreadprop: nullable MMethod */;
4523 val
* var115
/* : null */;
4524 short int var116
/* : Bool */;
4525 val
* var117
/* : nullable AVisibility */;
4526 val
* var118
/* : MVisibility */;
4527 val
* var_mvisibility119
/* var mvisibility: MVisibility */;
4528 val
* var120
/* : MMethod */;
4529 val
* var121
/* : nullable TKwredef */;
4530 short int var122
/* : Bool */;
4531 short int var123
/* : Bool */;
4532 short int var124
/* : Bool */;
4533 val
* var125
/* : nullable TKwredef */;
4534 short int var126
/* : Bool */;
4535 short int var127
/* : Bool */;
4536 short int var128
/* : Bool */;
4537 val
* var129
/* : nullable AVisibility */;
4538 val
* var130
/* : Map[MProperty, APropdef] */;
4539 val
* var131
/* : MMethodDef */;
4540 val
* var132
/* : Location */;
4541 val
* var_mreadpropdef
/* var mreadpropdef: MMethodDef */;
4542 val
* var133
/* : HashMap[MPropDef, APropdef] */;
4543 val
* var134
/* : nullable AAble */;
4544 val
* var_nwritable
/* var nwritable: nullable AAble */;
4545 val
* var135
/* : null */;
4546 short int var136
/* : Bool */;
4547 long var137
/* : Int */;
4548 val
* var138
/* : String */;
4549 static val
* varonce139
;
4550 val
* var140
/* : String */;
4551 char* var141
/* : NativeString */;
4552 long var142
/* : Int */;
4553 val
* var143
/* : String */;
4554 val
* var144
/* : String */;
4555 val
* var_writename
/* var writename: String */;
4556 val
* var145
/* : nullable MProperty */;
4557 short int var146
/* : Bool */;
4560 const char* var_class_name149
;
4561 val
* var_mwriteprop
/* var mwriteprop: nullable MMethod */;
4562 val
* var150
/* : null */;
4563 short int var151
/* : Bool */;
4564 val
* var152
/* : nullable AVisibility */;
4565 val
* var153
/* : MVisibility */;
4566 val
* var_mvisibility154
/* var mvisibility: MVisibility */;
4567 val
* var155
/* : MMethod */;
4568 val
* var156
/* : nullable TKwredef */;
4569 short int var157
/* : Bool */;
4570 short int var158
/* : Bool */;
4571 short int var159
/* : Bool */;
4572 val
* var160
/* : nullable TKwredef */;
4573 short int var161
/* : Bool */;
4574 short int var162
/* : Bool */;
4575 short int var163
/* : Bool */;
4576 val
* var164
/* : nullable AVisibility */;
4577 val
* var165
/* : Map[MProperty, APropdef] */;
4578 val
* var166
/* : MMethodDef */;
4579 val
* var167
/* : Location */;
4580 val
* var_mwritepropdef
/* var mwritepropdef: MMethodDef */;
4581 val
* var168
/* : HashMap[MPropDef, APropdef] */;
4582 val
* var169
/* : nullable TId */;
4583 val
* var_nid2
/* var nid2: TId */;
4584 val
* var170
/* : MAttribute */;
4585 static val
* varonce171
;
4586 val
* var172
/* : String */;
4587 char* var173
/* : NativeString */;
4588 long var174
/* : Int */;
4589 val
* var175
/* : String */;
4590 val
* var176
/* : String */;
4591 val
* var177
/* : MVisibility */;
4592 val
* var_mprop178
/* var mprop: MAttribute */;
4593 val
* var179
/* : MAttributeDef */;
4594 val
* var180
/* : Location */;
4595 val
* var_mpropdef181
/* var mpropdef: MAttributeDef */;
4596 short int var182
/* : Bool */;
4599 const struct type
* type_struct185
;
4600 const char* var_class_name186
;
4601 val
* var187
/* : HashMap[MPropDef, APropdef] */;
4602 val
* var_readname188
/* var readname: String */;
4603 val
* var189
/* : nullable MProperty */;
4604 short int var190
/* : Bool */;
4607 const char* var_class_name193
;
4608 val
* var_mreadprop194
/* var mreadprop: nullable MMethod */;
4609 val
* var195
/* : null */;
4610 short int var196
/* : Bool */;
4611 val
* var197
/* : AVisibility */;
4612 val
* var198
/* : MVisibility */;
4613 val
* var_mvisibility199
/* var mvisibility: MVisibility */;
4614 val
* var200
/* : MMethod */;
4615 val
* var201
/* : nullable TKwredef */;
4616 short int var202
/* : Bool */;
4617 short int var203
/* : Bool */;
4618 short int var204
/* : Bool */;
4619 val
* var205
/* : nullable TKwredef */;
4620 short int var206
/* : Bool */;
4621 short int var207
/* : Bool */;
4622 short int var208
/* : Bool */;
4623 val
* var209
/* : AVisibility */;
4624 val
* var210
/* : Map[MProperty, APropdef] */;
4625 val
* var211
/* : MMethodDef */;
4626 val
* var212
/* : Location */;
4627 val
* var_mreadpropdef213
/* var mreadpropdef: MMethodDef */;
4628 val
* var214
/* : HashMap[MPropDef, APropdef] */;
4629 static val
* varonce215
;
4630 val
* var216
/* : String */;
4631 char* var217
/* : NativeString */;
4632 long var218
/* : Int */;
4633 val
* var219
/* : String */;
4634 val
* var220
/* : String */;
4635 val
* var_writename221
/* var writename: String */;
4636 val
* var222
/* : nullable AAble */;
4637 val
* var_nwritable223
/* var nwritable: nullable AAble */;
4638 val
* var224
/* : nullable MProperty */;
4639 short int var225
/* : Bool */;
4642 const char* var_class_name228
;
4643 val
* var_mwriteprop229
/* var mwriteprop: nullable MMethod */;
4644 val
* var230
/* : null */;
4645 val
* var_nwkwredef
/* var nwkwredef: nullable Token */;
4646 val
* var231
/* : null */;
4647 short int var232
/* : Bool */;
4648 val
* var233
/* : nullable TKwredef */;
4649 val
* var234
/* : null */;
4650 short int var235
/* : Bool */;
4651 val
* var236
/* : null */;
4652 short int var237
/* : Bool */;
4653 val
* var238
/* : nullable AVisibility */;
4654 val
* var239
/* : MVisibility */;
4655 val
* var_mvisibility240
/* var mvisibility: nullable Object */;
4656 val
* var241
/* : MVisibility */;
4657 val
* var242
/* : MMethod */;
4658 short int var243
/* : Bool */;
4659 short int var244
/* : Bool */;
4660 short int var245
/* : Bool */;
4661 short int var246
/* : Bool */;
4662 short int var247
/* : Bool */;
4663 short int var248
/* : Bool */;
4664 val
* var249
/* : null */;
4665 short int var250
/* : Bool */;
4666 val
* var251
/* : nullable AVisibility */;
4667 val
* var252
/* : Map[MProperty, APropdef] */;
4668 val
* var253
/* : MMethodDef */;
4669 val
* var254
/* : Location */;
4670 val
* var_mwritepropdef255
/* var mwritepropdef: MMethodDef */;
4671 val
* var256
/* : HashMap[MPropDef, APropdef] */;
4672 var_modelbuilder
= p0
;
4674 var
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef>*/;
4676 fprintf(stderr
, "Runtime error: %s", "Cast failed");
4677 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 561);
4680 var_mclassdef
= var
;
4681 var1
= ((val
* (*)(val
*))(var_mclassdef
->class->vft
[COLOR_model__MClassDef__mclass
]))(var_mclassdef
) /* mclass on <var_mclassdef:MClassDef>*/;
4683 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_id
]))(self
) /* n_id on <self:AAttrPropdef>*/;
4686 var4
= 0; /* is null */
4688 var4
= 1; /* arg is null and recv is not */
4691 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_id
]))(self
) /* n_id on <self:AAttrPropdef>*/;
4693 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
4694 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 566);
4697 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_parser_nodes__Token__text
]))(var5
) /* text on <var5:nullable TAttrid>*/;
4701 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_id2
]))(self
) /* n_id2 on <self:AAttrPropdef>*/;
4703 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
4704 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 568);
4707 var8
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_parser_nodes__Token__text
]))(var7
) /* text on <var7:nullable TId>*/;
4711 var10
= ((val
* (*)(val
*))(var_mclass
->class->vft
[COLOR_model__MClass__kind
]))(var_mclass
) /* kind on <var_mclass:MClass>*/;
4712 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__Object__interface_kind
]))(self
) /* interface_kind on <self:AAttrPropdef>*/;
4713 var12
= ((short int (*)(val
*, val
*))(var10
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var10
, var11
) /* == on <var10:MClassKind>*/;
4718 var13
= ((val
* (*)(val
*))(var_mclassdef
->class->vft
[COLOR_model__MClassDef__mclass
]))(var_mclassdef
) /* mclass on <var_mclassdef:MClassDef>*/;
4719 var14
= ((val
* (*)(val
*))(var13
->class->vft
[COLOR_model__MClass__kind
]))(var13
) /* kind on <var13:MClass>*/;
4720 var15
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__Object__enum_kind
]))(self
) /* enum_kind on <self:AAttrPropdef>*/;
4721 var16
= ((short int (*)(val
*, val
*))(var14
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var14
, var15
) /* == on <var14:MClassKind>*/;
4728 var18
= "Error: Attempt to define attribute ";
4730 var20
= string__NativeString__to_s_with_length(var18
, var19
);
4737 var23
= " in the interface ";
4739 var25
= string__NativeString__to_s_with_length(var23
, var24
);
4748 var30
= string__NativeString__to_s_with_length(var28
, var29
);
4752 var31
= NEW_array__Array(&type_array__Arraykernel__Object
);
4753 { /* var31 = array_instance Array[Object] */
4755 var33
= NEW_array__NativeArray(var32
, &type_array__NativeArraykernel__Object
);
4756 ((struct instance_array__NativeArray
*)var33
)->values
[0] = (val
*) var17
;
4757 ((struct instance_array__NativeArray
*)var33
)->values
[1] = (val
*) var_name
;
4758 ((struct instance_array__NativeArray
*)var33
)->values
[2] = (val
*) var22
;
4759 ((struct instance_array__NativeArray
*)var33
)->values
[3] = (val
*) var_mclass
;
4760 ((struct instance_array__NativeArray
*)var33
)->values
[4] = (val
*) var27
;
4761 ((void (*)(val
*, val
*, long))(var31
->class->vft
[COLOR_array__Array__with_native
]))(var31
, var33
, var32
) /* with_native on <var31:Array[Object]>*/;
4763 var34
= ((val
* (*)(val
*))(var31
->class->vft
[COLOR_string__Object__to_s
]))(var31
) /* to_s on <var31:Array[Object]>*/;
4764 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, self
, var34
) /* error on <var_modelbuilder:ModelBuilder>*/;
4766 var35
= ((val
* (*)(val
*))(var_mclass
->class->vft
[COLOR_model__MClass__kind
]))(var_mclass
) /* kind on <var_mclass:MClass>*/;
4767 var36
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__Object__enum_kind
]))(self
) /* enum_kind on <self:AAttrPropdef>*/;
4768 var37
= ((short int (*)(val
*, val
*))(var35
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var35
, var36
) /* == on <var35:MClassKind>*/;
4773 var40
= "Error: Attempt to define attribute ";
4775 var42
= string__NativeString__to_s_with_length(var40
, var41
);
4782 var45
= " in the enum class ";
4784 var47
= string__NativeString__to_s_with_length(var45
, var46
);
4793 var52
= string__NativeString__to_s_with_length(var50
, var51
);
4797 var53
= NEW_array__Array(&type_array__Arraykernel__Object
);
4798 { /* var53 = array_instance Array[Object] */
4800 var55
= NEW_array__NativeArray(var54
, &type_array__NativeArraykernel__Object
);
4801 ((struct instance_array__NativeArray
*)var55
)->values
[0] = (val
*) var39
;
4802 ((struct instance_array__NativeArray
*)var55
)->values
[1] = (val
*) var_name
;
4803 ((struct instance_array__NativeArray
*)var55
)->values
[2] = (val
*) var44
;
4804 ((struct instance_array__NativeArray
*)var55
)->values
[3] = (val
*) var_mclass
;
4805 ((struct instance_array__NativeArray
*)var55
)->values
[4] = (val
*) var49
;
4806 ((void (*)(val
*, val
*, long))(var53
->class->vft
[COLOR_array__Array__with_native
]))(var53
, var55
, var54
) /* with_native on <var53:Array[Object]>*/;
4808 var56
= ((val
* (*)(val
*))(var53
->class->vft
[COLOR_string__Object__to_s
]))(var53
) /* to_s on <var53:Array[Object]>*/;
4809 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, self
, var56
) /* error on <var_modelbuilder:ModelBuilder>*/;
4811 var57
= ((val
* (*)(val
*))(var_mclass
->class->vft
[COLOR_model__MClass__kind
]))(var_mclass
) /* kind on <var_mclass:MClass>*/;
4812 var58
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__Object__extern_kind
]))(self
) /* extern_kind on <self:AAttrPropdef>*/;
4813 var59
= ((short int (*)(val
*, val
*))(var57
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var57
, var58
) /* == on <var57:MClassKind>*/;
4818 var62
= "Error: Attempt to define attribute ";
4820 var64
= string__NativeString__to_s_with_length(var62
, var63
);
4827 var67
= " in the extern class ";
4829 var69
= string__NativeString__to_s_with_length(var67
, var68
);
4838 var74
= string__NativeString__to_s_with_length(var72
, var73
);
4842 var75
= NEW_array__Array(&type_array__Arraykernel__Object
);
4843 { /* var75 = array_instance Array[Object] */
4845 var77
= NEW_array__NativeArray(var76
, &type_array__NativeArraykernel__Object
);
4846 ((struct instance_array__NativeArray
*)var77
)->values
[0] = (val
*) var61
;
4847 ((struct instance_array__NativeArray
*)var77
)->values
[1] = (val
*) var_name
;
4848 ((struct instance_array__NativeArray
*)var77
)->values
[2] = (val
*) var66
;
4849 ((struct instance_array__NativeArray
*)var77
)->values
[3] = (val
*) var_mclass
;
4850 ((struct instance_array__NativeArray
*)var77
)->values
[4] = (val
*) var71
;
4851 ((void (*)(val
*, val
*, long))(var75
->class->vft
[COLOR_array__Array__with_native
]))(var75
, var77
, var76
) /* with_native on <var75:Array[Object]>*/;
4853 var78
= ((val
* (*)(val
*))(var75
->class->vft
[COLOR_string__Object__to_s
]))(var75
) /* to_s on <var75:Array[Object]>*/;
4854 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, self
, var78
) /* error on <var_modelbuilder:ModelBuilder>*/;
4859 var79
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_id
]))(self
) /* n_id on <self:AAttrPropdef>*/;
4862 if (var_nid
== NULL
) {
4863 var81
= 0; /* is null */
4865 var81
= 1; /* arg is null and recv is not */
4868 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>*/;
4871 if (var_mprop
== NULL
) {
4872 var84
= 1; /* is null */
4874 var84
= 0; /* arg is null but recv is not */
4877 var85
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_visibility
]))(self
) /* n_visibility on <self:AAttrPropdef>*/;
4878 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>*/;
4879 var_mvisibility
= var86
;
4880 var87
= NEW_model__MAttribute(&type_model__MAttribute
);
4881 ((void (*)(val
*, val
*, val
*, val
*))(var87
->class->vft
[COLOR_model__MAttribute__init
]))(var87
, var_mclassdef
, var_name
, var_mvisibility
) /* init on <var87:MAttribute>*/;
4883 var88
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_kwredef
]))(self
) /* n_kwredef on <self:AAttrPropdef>*/;
4885 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>*/;
4892 /* <var_mprop:nullable MProperty(MProperty)> isa MAttribute */
4893 cltype
= type_model__MAttribute
.color
;
4894 idtype
= type_model__MAttribute
.id
;
4895 if(cltype
>= var_mprop
->type
->table_size
) {
4898 var92
= var_mprop
->type
->type_table
[cltype
] == idtype
;
4901 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4902 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 588);
4905 var93
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_visibility
]))(self
) /* n_visibility on <self:AAttrPropdef>*/;
4906 ((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>*/;
4907 var94
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_kwredef
]))(self
) /* n_kwredef on <self:AAttrPropdef>*/;
4909 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>*/;
4916 var98
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_property__AClassdef__mprop2npropdef
]))(var_nclassdef
) /* mprop2npropdef on <var_nclassdef:AClassdef>*/;
4917 ((void (*)(val
*, val
*, val
*))(var98
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var98
, var_mprop
, self
) /* []= on <var98:Map[MProperty, APropdef]>*/;
4918 var99
= NEW_model__MAttributeDef(&type_model__MAttributeDef
);
4919 var100
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__location
]))(self
) /* location on <self:AAttrPropdef>*/;
4920 ((void (*)(val
*, val
*, val
*, val
*))(var99
->class->vft
[COLOR_model__MAttributeDef__init
]))(var99
, var_mclassdef
, var_mprop
, var100
) /* init on <var99:MAttributeDef>*/;
4921 var_mpropdef
= var99
;
4922 /* <var_mpropdef:MAttributeDef> isa nullable MPROPDEF */
4923 type_struct
= self
->type
->resolution_table
->types
[COLOR_nullable_parser_nodes__APropdef_VTMPROPDEF
];
4924 cltype102
= type_struct
->color
;
4925 idtype103
= type_struct
->id
;
4926 if(cltype102
>= var_mpropdef
->type
->table_size
) {
4929 var101
= var_mpropdef
->type
->type_table
[cltype102
] == idtype103
;
4932 var_class_name
= var_mpropdef
== NULL ?
"null" : var_mpropdef
->type
->name
;
4933 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name
);
4934 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 595);
4937 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__mpropdef_61d
]))(self
, var_mpropdef
) /* mpropdef= on <self:AAttrPropdef>*/;
4938 var104
= ((val
* (*)(val
*))(var_modelbuilder
->class->vft
[COLOR_modelize_property__ModelBuilder__mpropdef2npropdef
]))(var_modelbuilder
) /* mpropdef2npropdef on <var_modelbuilder:ModelBuilder>*/;
4939 ((void (*)(val
*, val
*, val
*))(var104
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var104
, var_mpropdef
, self
) /* []= on <var104:HashMap[MPropDef, APropdef]>*/;
4940 var105
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_readable
]))(self
) /* n_readable on <self:AAttrPropdef>*/;
4941 var_nreadable
= var105
;
4943 if (var_nreadable
== NULL
) {
4944 var107
= 0; /* is null */
4946 var107
= 1; /* arg is null and recv is not */
4950 var109
= ((val
* (*)(val
*, long))(var_name
->class->vft
[COLOR_string__AbstractString__substring_from
]))(var_name
, var108
) /* substring_from on <var_name:String>*/;
4951 var_readname
= var109
;
4952 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>*/;
4953 /* <var110:nullable MProperty> isa nullable MMethod */
4954 cltype112
= type_nullable_model__MMethod
.color
;
4955 idtype113
= type_nullable_model__MMethod
.id
;
4956 if(var110
== NULL
) {
4959 if(cltype112
>= var110
->type
->table_size
) {
4962 var111
= var110
->type
->type_table
[cltype112
] == idtype113
;
4966 var_class_name114
= var110
== NULL ?
"null" : var110
->type
->name
;
4967 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MMethod", var_class_name114
);
4968 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 601);
4971 var_mreadprop
= var110
;
4973 if (var_mreadprop
== NULL
) {
4974 var116
= 1; /* is null */
4976 var116
= 0; /* arg is null but recv is not */
4979 var117
= ((val
* (*)(val
*))(var_nreadable
->class->vft
[COLOR_parser_nodes__AAble__n_visibility
]))(var_nreadable
) /* n_visibility on <var_nreadable:nullable AAble(AAble)>*/;
4980 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>*/;
4981 var_mvisibility119
= var118
;
4982 var120
= NEW_model__MMethod(&type_model__MMethod
);
4983 ((void (*)(val
*, val
*, val
*, val
*))(var120
->class->vft
[COLOR_model__MMethod__init
]))(var120
, var_mclassdef
, var_readname
, var_mvisibility119
) /* init on <var120:MMethod>*/;
4984 var_mreadprop
= var120
;
4985 var121
= ((val
* (*)(val
*))(var_nreadable
->class->vft
[COLOR_parser_nodes__AAble__n_kwredef
]))(var_nreadable
) /* n_kwredef on <var_nreadable:nullable AAble(AAble)>*/;
4987 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>*/;
4994 var125
= ((val
* (*)(val
*))(var_nreadable
->class->vft
[COLOR_parser_nodes__AAble__n_kwredef
]))(var_nreadable
) /* n_kwredef on <var_nreadable:nullable AAble(AAble)>*/;
4996 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>*/;
5002 var129
= ((val
* (*)(val
*))(var_nreadable
->class->vft
[COLOR_parser_nodes__AAble__n_visibility
]))(var_nreadable
) /* n_visibility on <var_nreadable:nullable AAble(AAble)>*/;
5003 ((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>*/;
5005 var130
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_property__AClassdef__mprop2npropdef
]))(var_nclassdef
) /* mprop2npropdef on <var_nclassdef:AClassdef>*/;
5006 ((void (*)(val
*, val
*, val
*))(var130
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var130
, var_mreadprop
, self
) /* []= on <var130:Map[MProperty, APropdef]>*/;
5007 var131
= NEW_model__MMethodDef(&type_model__MMethodDef
);
5008 var132
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__location
]))(self
) /* location on <self:AAttrPropdef>*/;
5009 ((void (*)(val
*, val
*, val
*, val
*))(var131
->class->vft
[COLOR_model__MMethodDef__init
]))(var131
, var_mclassdef
, var_mreadprop
, var132
) /* init on <var131:MMethodDef>*/;
5010 var_mreadpropdef
= var131
;
5011 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_modelize_property__AAttrPropdef__mreadpropdef_61d
]))(self
, var_mreadpropdef
) /* mreadpropdef= on <self:AAttrPropdef>*/;
5012 var133
= ((val
* (*)(val
*))(var_modelbuilder
->class->vft
[COLOR_modelize_property__ModelBuilder__mpropdef2npropdef
]))(var_modelbuilder
) /* mpropdef2npropdef on <var_modelbuilder:ModelBuilder>*/;
5013 ((void (*)(val
*, val
*, val
*))(var133
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var133
, var_mreadpropdef
, self
) /* []= on <var133:HashMap[MPropDef, APropdef]>*/;
5016 var134
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_writable
]))(self
) /* n_writable on <self:AAttrPropdef>*/;
5017 var_nwritable
= var134
;
5019 if (var_nwritable
== NULL
) {
5020 var136
= 0; /* is null */
5022 var136
= 1; /* arg is null and recv is not */
5026 var138
= ((val
* (*)(val
*, long))(var_name
->class->vft
[COLOR_string__AbstractString__substring_from
]))(var_name
, var137
) /* substring_from on <var_name:String>*/;
5028 var140
= varonce139
;
5032 var143
= string__NativeString__to_s_with_length(var141
, var142
);
5034 varonce139
= var140
;
5036 var144
= ((val
* (*)(val
*, val
*))(var138
->class->vft
[COLOR_string__String___43d
]))(var138
, var140
) /* + on <var138:String>*/;
5037 var_writename
= var144
;
5038 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>*/;
5039 /* <var145:nullable MProperty> isa nullable MMethod */
5040 cltype147
= type_nullable_model__MMethod
.color
;
5041 idtype148
= type_nullable_model__MMethod
.id
;
5042 if(var145
== NULL
) {
5045 if(cltype147
>= var145
->type
->table_size
) {
5048 var146
= var145
->type
->type_table
[cltype147
] == idtype148
;
5052 var_class_name149
= var145
== NULL ?
"null" : var145
->type
->name
;
5053 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MMethod", var_class_name149
);
5054 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 620);
5057 var_mwriteprop
= var145
;
5059 if (var_mwriteprop
== NULL
) {
5060 var151
= 1; /* is null */
5062 var151
= 0; /* arg is null but recv is not */
5065 var152
= ((val
* (*)(val
*))(var_nwritable
->class->vft
[COLOR_parser_nodes__AAble__n_visibility
]))(var_nwritable
) /* n_visibility on <var_nwritable:nullable AAble(AAble)>*/;
5066 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>*/;
5067 var_mvisibility154
= var153
;
5068 var155
= NEW_model__MMethod(&type_model__MMethod
);
5069 ((void (*)(val
*, val
*, val
*, val
*))(var155
->class->vft
[COLOR_model__MMethod__init
]))(var155
, var_mclassdef
, var_writename
, var_mvisibility154
) /* init on <var155:MMethod>*/;
5070 var_mwriteprop
= var155
;
5071 var156
= ((val
* (*)(val
*))(var_nwritable
->class->vft
[COLOR_parser_nodes__AAble__n_kwredef
]))(var_nwritable
) /* n_kwredef on <var_nwritable:nullable AAble(AAble)>*/;
5073 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>*/;
5080 var160
= ((val
* (*)(val
*))(var_nwritable
->class->vft
[COLOR_parser_nodes__AAble__n_kwredef
]))(var_nwritable
) /* n_kwredef on <var_nwritable:nullable AAble(AAble)>*/;
5082 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>*/;
5088 var164
= ((val
* (*)(val
*))(var_nwritable
->class->vft
[COLOR_parser_nodes__AAble__n_visibility
]))(var_nwritable
) /* n_visibility on <var_nwritable:nullable AAble(AAble)>*/;
5089 ((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>*/;
5091 var165
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_property__AClassdef__mprop2npropdef
]))(var_nclassdef
) /* mprop2npropdef on <var_nclassdef:AClassdef>*/;
5092 ((void (*)(val
*, val
*, val
*))(var165
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var165
, var_mwriteprop
, self
) /* []= on <var165:Map[MProperty, APropdef]>*/;
5093 var166
= NEW_model__MMethodDef(&type_model__MMethodDef
);
5094 var167
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__location
]))(self
) /* location on <self:AAttrPropdef>*/;
5095 ((void (*)(val
*, val
*, val
*, val
*))(var166
->class->vft
[COLOR_model__MMethodDef__init
]))(var166
, var_mclassdef
, var_mwriteprop
, var167
) /* init on <var166:MMethodDef>*/;
5096 var_mwritepropdef
= var166
;
5097 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_modelize_property__AAttrPropdef__mwritepropdef_61d
]))(self
, var_mwritepropdef
) /* mwritepropdef= on <self:AAttrPropdef>*/;
5098 var168
= ((val
* (*)(val
*))(var_modelbuilder
->class->vft
[COLOR_modelize_property__ModelBuilder__mpropdef2npropdef
]))(var_modelbuilder
) /* mpropdef2npropdef on <var_modelbuilder:ModelBuilder>*/;
5099 ((void (*)(val
*, val
*, val
*))(var168
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var168
, var_mwritepropdef
, self
) /* []= on <var168:HashMap[MPropDef, APropdef]>*/;
5103 var169
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_id2
]))(self
) /* n_id2 on <self:AAttrPropdef>*/;
5104 if (var169
== NULL
) {
5105 fprintf(stderr
, "Runtime error: %s", "Cast failed");
5106 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 637);
5110 var170
= NEW_model__MAttribute(&type_model__MAttribute
);
5112 var172
= varonce171
;
5116 var175
= string__NativeString__to_s_with_length(var173
, var174
);
5118 varonce171
= var172
;
5120 var176
= ((val
* (*)(val
*, val
*))(var172
->class->vft
[COLOR_string__String___43d
]))(var172
, var_name
) /* + on <var172:String>*/;
5121 var177
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model_base__Object__none_visibility
]))(self
) /* none_visibility on <self:AAttrPropdef>*/;
5122 ((void (*)(val
*, val
*, val
*, val
*))(var170
->class->vft
[COLOR_model__MAttribute__init
]))(var170
, var_mclassdef
, var176
, var177
) /* init on <var170:MAttribute>*/;
5123 var_mprop178
= var170
;
5124 var179
= NEW_model__MAttributeDef(&type_model__MAttributeDef
);
5125 var180
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__location
]))(self
) /* location on <self:AAttrPropdef>*/;
5126 ((void (*)(val
*, val
*, val
*, val
*))(var179
->class->vft
[COLOR_model__MAttributeDef__init
]))(var179
, var_mclassdef
, var_mprop178
, var180
) /* init on <var179:MAttributeDef>*/;
5127 var_mpropdef181
= var179
;
5128 /* <var_mpropdef181:MAttributeDef> isa nullable MPROPDEF */
5129 type_struct185
= self
->type
->resolution_table
->types
[COLOR_nullable_parser_nodes__APropdef_VTMPROPDEF
];
5130 cltype183
= type_struct185
->color
;
5131 idtype184
= type_struct185
->id
;
5132 if(cltype183
>= var_mpropdef181
->type
->table_size
) {
5135 var182
= var_mpropdef181
->type
->type_table
[cltype183
] == idtype184
;
5138 var_class_name186
= var_mpropdef181
== NULL ?
"null" : var_mpropdef181
->type
->name
;
5139 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name186
);
5140 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 640);
5143 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__mpropdef_61d
]))(self
, var_mpropdef181
) /* mpropdef= on <self:AAttrPropdef>*/;
5144 var187
= ((val
* (*)(val
*))(var_modelbuilder
->class->vft
[COLOR_modelize_property__ModelBuilder__mpropdef2npropdef
]))(var_modelbuilder
) /* mpropdef2npropdef on <var_modelbuilder:ModelBuilder>*/;
5145 ((void (*)(val
*, val
*, val
*))(var187
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var187
, var_mpropdef181
, self
) /* []= on <var187:HashMap[MPropDef, APropdef]>*/;
5146 var_readname188
= var_name
;
5147 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>*/;
5148 /* <var189:nullable MProperty> isa nullable MMethod */
5149 cltype191
= type_nullable_model__MMethod
.color
;
5150 idtype192
= type_nullable_model__MMethod
.id
;
5151 if(var189
== NULL
) {
5154 if(cltype191
>= var189
->type
->table_size
) {
5157 var190
= var189
->type
->type_table
[cltype191
] == idtype192
;
5161 var_class_name193
= var189
== NULL ?
"null" : var189
->type
->name
;
5162 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MMethod", var_class_name193
);
5163 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 644);
5166 var_mreadprop194
= var189
;
5168 if (var_mreadprop194
== NULL
) {
5169 var196
= 1; /* is null */
5171 var196
= 0; /* arg is null but recv is not */
5174 var197
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_visibility
]))(self
) /* n_visibility on <self:AAttrPropdef>*/;
5175 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>*/;
5176 var_mvisibility199
= var198
;
5177 var200
= NEW_model__MMethod(&type_model__MMethod
);
5178 ((void (*)(val
*, val
*, val
*, val
*))(var200
->class->vft
[COLOR_model__MMethod__init
]))(var200
, var_mclassdef
, var_readname188
, var_mvisibility199
) /* init on <var200:MMethod>*/;
5179 var_mreadprop194
= var200
;
5180 var201
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_kwredef
]))(self
) /* n_kwredef on <self:AAttrPropdef>*/;
5182 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>*/;
5189 var205
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_kwredef
]))(self
) /* n_kwredef on <self:AAttrPropdef>*/;
5191 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>*/;
5197 var209
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_visibility
]))(self
) /* n_visibility on <self:AAttrPropdef>*/;
5198 ((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>*/;
5200 var210
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_property__AClassdef__mprop2npropdef
]))(var_nclassdef
) /* mprop2npropdef on <var_nclassdef:AClassdef>*/;
5201 ((void (*)(val
*, val
*, val
*))(var210
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var210
, var_mreadprop194
, self
) /* []= on <var210:Map[MProperty, APropdef]>*/;
5202 var211
= NEW_model__MMethodDef(&type_model__MMethodDef
);
5203 var212
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__location
]))(self
) /* location on <self:AAttrPropdef>*/;
5204 ((void (*)(val
*, val
*, val
*, val
*))(var211
->class->vft
[COLOR_model__MMethodDef__init
]))(var211
, var_mclassdef
, var_mreadprop194
, var212
) /* init on <var211:MMethodDef>*/;
5205 var_mreadpropdef213
= var211
;
5206 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_modelize_property__AAttrPropdef__mreadpropdef_61d
]))(self
, var_mreadpropdef213
) /* mreadpropdef= on <self:AAttrPropdef>*/;
5207 var214
= ((val
* (*)(val
*))(var_modelbuilder
->class->vft
[COLOR_modelize_property__ModelBuilder__mpropdef2npropdef
]))(var_modelbuilder
) /* mpropdef2npropdef on <var_modelbuilder:ModelBuilder>*/;
5208 ((void (*)(val
*, val
*, val
*))(var214
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var214
, var_mreadpropdef213
, self
) /* []= on <var214:HashMap[MPropDef, APropdef]>*/;
5210 var216
= varonce215
;
5214 var219
= string__NativeString__to_s_with_length(var217
, var218
);
5216 varonce215
= var216
;
5218 var220
= ((val
* (*)(val
*, val
*))(var_name
->class->vft
[COLOR_string__String___43d
]))(var_name
, var216
) /* + on <var_name:String>*/;
5219 var_writename221
= var220
;
5220 var222
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_writable
]))(self
) /* n_writable on <self:AAttrPropdef>*/;
5221 var_nwritable223
= var222
;
5222 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>*/;
5223 /* <var224:nullable MProperty> isa nullable MMethod */
5224 cltype226
= type_nullable_model__MMethod
.color
;
5225 idtype227
= type_nullable_model__MMethod
.id
;
5226 if(var224
== NULL
) {
5229 if(cltype226
>= var224
->type
->table_size
) {
5232 var225
= var224
->type
->type_table
[cltype226
] == idtype227
;
5236 var_class_name228
= var224
== NULL ?
"null" : var224
->type
->name
;
5237 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MMethod", var_class_name228
);
5238 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 661);
5241 var_mwriteprop229
= var224
;
5243 var_nwkwredef
= var230
;
5245 if (var_nwritable223
== NULL
) {
5246 var232
= 0; /* is null */
5248 var232
= 1; /* arg is null and recv is not */
5251 var233
= ((val
* (*)(val
*))(var_nwritable223
->class->vft
[COLOR_parser_nodes__AAble__n_kwredef
]))(var_nwritable223
) /* n_kwredef on <var_nwritable223:nullable AAble(AAble)>*/;
5252 var_nwkwredef
= var233
;
5256 if (var_mwriteprop229
== NULL
) {
5257 var235
= 1; /* is null */
5259 var235
= 0; /* arg is null but recv is not */
5263 if (var_nwritable223
== NULL
) {
5264 var237
= 0; /* is null */
5266 var237
= 1; /* arg is null and recv is not */
5269 var238
= ((val
* (*)(val
*))(var_nwritable223
->class->vft
[COLOR_parser_nodes__AAble__n_visibility
]))(var_nwritable223
) /* n_visibility on <var_nwritable223:nullable AAble(AAble)>*/;
5270 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>*/;
5271 var_mvisibility240
= var239
;
5273 var241
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model_base__Object__private_visibility
]))(self
) /* private_visibility on <self:AAttrPropdef>*/;
5274 var_mvisibility240
= var241
;
5276 var242
= NEW_model__MMethod(&type_model__MMethod
);
5277 ((void (*)(val
*, val
*, val
*, val
*))(var242
->class->vft
[COLOR_model__MMethod__init
]))(var242
, var_mclassdef
, var_writename221
, var_mvisibility240
) /* init on <var242:MMethod>*/;
5278 var_mwriteprop229
= var242
;
5280 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>*/;
5288 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>*/;
5295 if (var_nwritable223
== NULL
) {
5296 var250
= 0; /* is null */
5298 var250
= 1; /* arg is null and recv is not */
5301 var251
= ((val
* (*)(val
*))(var_nwritable223
->class->vft
[COLOR_parser_nodes__AAble__n_visibility
]))(var_nwritable223
) /* n_visibility on <var_nwritable223:nullable AAble(AAble)>*/;
5302 ((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>*/;
5306 var252
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_property__AClassdef__mprop2npropdef
]))(var_nclassdef
) /* mprop2npropdef on <var_nclassdef:AClassdef>*/;
5307 ((void (*)(val
*, val
*, val
*))(var252
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var252
, var_mwriteprop229
, self
) /* []= on <var252:Map[MProperty, APropdef]>*/;
5308 var253
= NEW_model__MMethodDef(&type_model__MMethodDef
);
5309 var254
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__location
]))(self
) /* location on <self:AAttrPropdef>*/;
5310 ((void (*)(val
*, val
*, val
*, val
*))(var253
->class->vft
[COLOR_model__MMethodDef__init
]))(var253
, var_mclassdef
, var_mwriteprop229
, var254
) /* init on <var253:MMethodDef>*/;
5311 var_mwritepropdef255
= var253
;
5312 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_modelize_property__AAttrPropdef__mwritepropdef_61d
]))(self
, var_mwritepropdef255
) /* mwritepropdef= on <self:AAttrPropdef>*/;
5313 var256
= ((val
* (*)(val
*))(var_modelbuilder
->class->vft
[COLOR_modelize_property__ModelBuilder__mpropdef2npropdef
]))(var_modelbuilder
) /* mpropdef2npropdef on <var_modelbuilder:ModelBuilder>*/;
5314 ((void (*)(val
*, val
*, val
*))(var256
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var256
, var_mwritepropdef255
, self
) /* []= on <var256:HashMap[MPropDef, APropdef]>*/;
5318 /* method modelize_property#AAttrPropdef#build_property for (self: Object, ModelBuilder, AClassdef) */
5319 void VIRTUAL_modelize_property__AAttrPropdef__build_property(val
* self
, val
* p0
, val
* p1
) {
5320 modelize_property__AAttrPropdef__build_property(self
, p0
, p1
);
5323 /* method modelize_property#AAttrPropdef#build_signature for (self: AAttrPropdef, ModelBuilder, AClassdef) */
5324 void modelize_property__AAttrPropdef__build_signature(val
* self
, val
* p0
, val
* p1
) {
5325 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
5326 val
* var_nclassdef
/* var nclassdef: AClassdef */;
5327 val
* var
/* : nullable MPropDef */;
5328 val
* var_mpropdef
/* var mpropdef: nullable MAttributeDef */;
5329 val
* var1
/* : null */;
5330 short int var2
/* : Bool */;
5331 val
* var3
/* : MClassDef */;
5332 val
* var4
/* : MModule */;
5333 val
* var_mmodule
/* var mmodule: MModule */;
5334 val
* var5
/* : null */;
5335 val
* var_mtype
/* var mtype: nullable MType */;
5336 val
* var6
/* : nullable AType */;
5337 val
* var_ntype
/* var ntype: nullable AType */;
5338 val
* var7
/* : null */;
5339 short int var8
/* : Bool */;
5340 val
* var9
/* : nullable MType */;
5341 val
* var10
/* : null */;
5342 short int var11
/* : Bool */;
5343 val
* var12
/* : nullable AExpr */;
5344 val
* var_nexpr
/* var nexpr: nullable AExpr */;
5345 val
* var13
/* : null */;
5346 short int var14
/* : Bool */;
5347 val
* var15
/* : null */;
5348 short int var16
/* : Bool */;
5349 short int var17
/* : Bool */;
5352 val
* var18
/* : AType */;
5353 val
* var19
/* : nullable MType */;
5354 short int var20
/* : Bool */;
5357 static val
* varonce
;
5358 val
* var23
/* : String */;
5359 char* var24
/* : NativeString */;
5360 long var25
/* : Int */;
5361 val
* var26
/* : String */;
5362 val
* var27
/* : nullable MClass */;
5363 val
* var_cla
/* var cla: nullable MClass */;
5364 val
* var28
/* : null */;
5365 short int var29
/* : Bool */;
5366 val
* var30
/* : MClassType */;
5367 short int var31
/* : Bool */;
5370 static val
* varonce34
;
5371 val
* var35
/* : String */;
5372 char* var36
/* : NativeString */;
5373 long var37
/* : Int */;
5374 val
* var38
/* : String */;
5375 val
* var39
/* : nullable MClass */;
5376 val
* var_cla40
/* var cla: nullable MClass */;
5377 val
* var41
/* : null */;
5378 short int var42
/* : Bool */;
5379 val
* var43
/* : MClassType */;
5380 short int var44
/* : Bool */;
5383 static val
* varonce47
;
5384 val
* var48
/* : String */;
5385 char* var49
/* : NativeString */;
5386 long var50
/* : Int */;
5387 val
* var51
/* : String */;
5388 val
* var52
/* : nullable MClass */;
5389 val
* var_cla53
/* var cla: nullable MClass */;
5390 val
* var54
/* : null */;
5391 short int var55
/* : Bool */;
5392 val
* var56
/* : MClassType */;
5393 short int var57
/* : Bool */;
5396 static val
* varonce60
;
5397 val
* var61
/* : String */;
5398 char* var62
/* : NativeString */;
5399 long var63
/* : Int */;
5400 val
* var64
/* : String */;
5401 val
* var65
/* : nullable MClass */;
5402 val
* var_cla66
/* var cla: nullable MClass */;
5403 val
* var67
/* : null */;
5404 short int var68
/* : Bool */;
5405 val
* var69
/* : MClassType */;
5406 short int var70
/* : Bool */;
5409 static val
* varonce73
;
5410 val
* var74
/* : String */;
5411 char* var75
/* : NativeString */;
5412 long var76
/* : Int */;
5413 val
* var77
/* : String */;
5414 val
* var78
/* : nullable MClass */;
5415 val
* var_cla79
/* var cla: nullable MClass */;
5416 val
* var80
/* : null */;
5417 short int var81
/* : Bool */;
5418 val
* var82
/* : MClassType */;
5419 short int var83
/* : Bool */;
5422 static val
* varonce86
;
5423 val
* var87
/* : String */;
5424 char* var88
/* : NativeString */;
5425 long var89
/* : Int */;
5426 val
* var90
/* : String */;
5427 val
* var91
/* : nullable MClass */;
5428 val
* var_cla92
/* var cla: nullable MClass */;
5429 val
* var93
/* : null */;
5430 short int var94
/* : Bool */;
5431 val
* var95
/* : MClassType */;
5432 static val
* varonce96
;
5433 val
* var97
/* : String */;
5434 char* var98
/* : NativeString */;
5435 long var99
/* : Int */;
5436 val
* var100
/* : String */;
5437 static val
* varonce101
;
5438 val
* var102
/* : String */;
5439 char* var103
/* : NativeString */;
5440 long var104
/* : Int */;
5441 val
* var105
/* : String */;
5442 val
* var106
/* : Array[Object] */;
5443 long var107
/* : Int */;
5444 val
* var108
/* : NativeArray[Object] */;
5445 val
* var109
/* : String */;
5446 static val
* varonce110
;
5447 val
* var111
/* : String */;
5448 char* var112
/* : NativeString */;
5449 long var113
/* : Int */;
5450 val
* var114
/* : String */;
5451 val
* var115
/* : Array[Object] */;
5452 long var116
/* : Int */;
5453 val
* var117
/* : NativeArray[Object] */;
5454 val
* var118
/* : String */;
5455 val
* var119
/* : null */;
5456 short int var120
/* : Bool */;
5457 short int var121
/* : Bool */;
5460 val
* var124
/* : AType */;
5461 val
* var125
/* : nullable MType */;
5462 val
* var_xmtype
/* var xmtype: nullable MType */;
5463 short int var126
/* : Bool */;
5464 short int var127
/* : Bool */;
5465 short int var_
/* var : Bool */;
5466 val
* var128
/* : ToolContext */;
5467 val
* var129
/* : OptionCount */;
5468 val
* var130
/* : nullable Object */;
5469 long var131
/* : Int */;
5470 short int var132
/* : Bool */;
5471 short int var134
/* : Bool */;
5474 const char* var_class_name
;
5475 long var137
/* : Int */;
5476 short int var138
/* : Bool */;
5477 static val
* varonce139
;
5478 val
* var140
/* : String */;
5479 char* var141
/* : NativeString */;
5480 long var142
/* : Int */;
5481 val
* var143
/* : String */;
5482 val
* var144
/* : null */;
5483 short int var145
/* : Bool */;
5484 val
* var146
/* : nullable MMethodDef */;
5485 val
* var_mreadpropdef
/* var mreadpropdef: nullable MMethodDef */;
5486 val
* var147
/* : null */;
5487 short int var148
/* : Bool */;
5488 val
* var149
/* : MSignature */;
5489 val
* var150
/* : Array[MParameter] */;
5490 val
* var_msignature
/* var msignature: MSignature */;
5491 val
* var151
/* : nullable MMethodDef */;
5492 val
* var_msritepropdef
/* var msritepropdef: nullable MMethodDef */;
5493 val
* var152
/* : nullable MMethodDef */;
5494 val
* var153
/* : null */;
5495 short int var154
/* : Bool */;
5496 val
* var155
/* : nullable TAttrid */;
5497 val
* var156
/* : null */;
5498 short int var157
/* : Bool */;
5499 val
* var158
/* : nullable TAttrid */;
5500 val
* var159
/* : String */;
5501 long var160
/* : Int */;
5502 val
* var161
/* : String */;
5503 val
* var_name
/* var name: String */;
5504 val
* var162
/* : nullable TId */;
5505 val
* var163
/* : String */;
5506 val
* var164
/* : MParameter */;
5507 short int var165
/* : Bool */;
5508 val
* var_mparameter
/* var mparameter: MParameter */;
5509 val
* var166
/* : MSignature */;
5510 val
* var167
/* : Array[MParameter] */;
5511 long var168
/* : Int */;
5512 val
* var_169
/* var : Array[MParameter] */;
5513 val
* var170
/* : null */;
5514 val
* var_msignature171
/* var msignature: MSignature */;
5515 val
* var172
/* : nullable MMethodDef */;
5516 var_modelbuilder
= p0
;
5518 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__mpropdef
]))(self
) /* mpropdef on <self:AAttrPropdef>*/;
5521 if (var_mpropdef
== NULL
) {
5522 var2
= 1; /* is null */
5524 var2
= 0; /* arg is null but recv is not */
5530 var3
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var_mpropdef
) /* mclassdef on <var_mpropdef:nullable MAttributeDef(MAttributeDef)>*/;
5531 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_model__MClassDef__mmodule
]))(var3
) /* mmodule on <var3:MClassDef>*/;
5535 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_type
]))(self
) /* n_type on <self:AAttrPropdef>*/;
5538 if (var_ntype
== NULL
) {
5539 var8
= 0; /* is null */
5541 var8
= 1; /* arg is null and recv is not */
5544 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>*/;
5547 if (var_mtype
== NULL
) {
5548 var11
= 1; /* is null */
5550 var11
= 0; /* arg is null but recv is not */
5558 var12
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_expr
]))(self
) /* n_expr on <self:AAttrPropdef>*/;
5561 if (var_mtype
== NULL
) {
5562 var14
= 1; /* is null */
5564 var14
= 0; /* arg is null but recv is not */
5568 if (var_nexpr
== NULL
) {
5569 var16
= 0; /* is null */
5571 var16
= 1; /* arg is null and recv is not */
5574 /* <var_nexpr:nullable AExpr(AExpr)> isa ANewExpr */
5575 cltype
= type_parser_nodes__ANewExpr
.color
;
5576 idtype
= type_parser_nodes__ANewExpr
.id
;
5577 if(cltype
>= var_nexpr
->type
->table_size
) {
5580 var17
= var_nexpr
->type
->type_table
[cltype
] == idtype
;
5583 var18
= ((val
* (*)(val
*))(var_nexpr
->class->vft
[COLOR_parser_nodes__ANewExpr__n_type
]))(var_nexpr
) /* n_type on <var_nexpr:nullable AExpr(ANewExpr)>*/;
5584 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>*/;
5587 /* <var_nexpr:nullable AExpr(AExpr)> isa AIntExpr */
5588 cltype21
= type_parser_nodes__AIntExpr
.color
;
5589 idtype22
= type_parser_nodes__AIntExpr
.id
;
5590 if(cltype21
>= var_nexpr
->type
->table_size
) {
5593 var20
= var_nexpr
->type
->type_table
[cltype21
] == idtype22
;
5601 var26
= string__NativeString__to_s_with_length(var24
, var25
);
5605 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>*/;
5608 if (var_cla
== NULL
) {
5609 var29
= 0; /* is null */
5611 var29
= 1; /* arg is null and recv is not */
5614 var30
= ((val
* (*)(val
*))(var_cla
->class->vft
[COLOR_model__MClass__mclass_type
]))(var_cla
) /* mclass_type on <var_cla:nullable MClass(MClass)>*/;
5619 /* <var_nexpr:nullable AExpr(AExpr)> isa AFloatExpr */
5620 cltype32
= type_parser_nodes__AFloatExpr
.color
;
5621 idtype33
= type_parser_nodes__AFloatExpr
.id
;
5622 if(cltype32
>= var_nexpr
->type
->table_size
) {
5625 var31
= var_nexpr
->type
->type_table
[cltype32
] == idtype33
;
5633 var38
= string__NativeString__to_s_with_length(var36
, var37
);
5637 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>*/;
5640 if (var_cla40
== NULL
) {
5641 var42
= 0; /* is null */
5643 var42
= 1; /* arg is null and recv is not */
5646 var43
= ((val
* (*)(val
*))(var_cla40
->class->vft
[COLOR_model__MClass__mclass_type
]))(var_cla40
) /* mclass_type on <var_cla40:nullable MClass(MClass)>*/;
5651 /* <var_nexpr:nullable AExpr(AExpr)> isa ACharExpr */
5652 cltype45
= type_parser_nodes__ACharExpr
.color
;
5653 idtype46
= type_parser_nodes__ACharExpr
.id
;
5654 if(cltype45
>= var_nexpr
->type
->table_size
) {
5657 var44
= var_nexpr
->type
->type_table
[cltype45
] == idtype46
;
5665 var51
= string__NativeString__to_s_with_length(var49
, var50
);
5669 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>*/;
5672 if (var_cla53
== NULL
) {
5673 var55
= 0; /* is null */
5675 var55
= 1; /* arg is null and recv is not */
5678 var56
= ((val
* (*)(val
*))(var_cla53
->class->vft
[COLOR_model__MClass__mclass_type
]))(var_cla53
) /* mclass_type on <var_cla53:nullable MClass(MClass)>*/;
5683 /* <var_nexpr:nullable AExpr(AExpr)> isa ABoolExpr */
5684 cltype58
= type_parser_nodes__ABoolExpr
.color
;
5685 idtype59
= type_parser_nodes__ABoolExpr
.id
;
5686 if(cltype58
>= var_nexpr
->type
->table_size
) {
5689 var57
= var_nexpr
->type
->type_table
[cltype58
] == idtype59
;
5697 var64
= string__NativeString__to_s_with_length(var62
, var63
);
5701 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>*/;
5704 if (var_cla66
== NULL
) {
5705 var68
= 0; /* is null */
5707 var68
= 1; /* arg is null and recv is not */
5710 var69
= ((val
* (*)(val
*))(var_cla66
->class->vft
[COLOR_model__MClass__mclass_type
]))(var_cla66
) /* mclass_type on <var_cla66:nullable MClass(MClass)>*/;
5715 /* <var_nexpr:nullable AExpr(AExpr)> isa ASuperstringExpr */
5716 cltype71
= type_parser_nodes__ASuperstringExpr
.color
;
5717 idtype72
= type_parser_nodes__ASuperstringExpr
.id
;
5718 if(cltype71
>= var_nexpr
->type
->table_size
) {
5721 var70
= var_nexpr
->type
->type_table
[cltype71
] == idtype72
;
5729 var77
= string__NativeString__to_s_with_length(var75
, var76
);
5733 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>*/;
5736 if (var_cla79
== NULL
) {
5737 var81
= 0; /* is null */
5739 var81
= 1; /* arg is null and recv is not */
5742 var82
= ((val
* (*)(val
*))(var_cla79
->class->vft
[COLOR_model__MClass__mclass_type
]))(var_cla79
) /* mclass_type on <var_cla79:nullable MClass(MClass)>*/;
5747 /* <var_nexpr:nullable AExpr(AExpr)> isa AStringFormExpr */
5748 cltype84
= type_parser_nodes__AStringFormExpr
.color
;
5749 idtype85
= type_parser_nodes__AStringFormExpr
.id
;
5750 if(cltype84
>= var_nexpr
->type
->table_size
) {
5753 var83
= var_nexpr
->type
->type_table
[cltype84
] == idtype85
;
5761 var90
= string__NativeString__to_s_with_length(var88
, var89
);
5765 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>*/;
5768 if (var_cla92
== NULL
) {
5769 var94
= 0; /* is null */
5771 var94
= 1; /* arg is null and recv is not */
5774 var95
= ((val
* (*)(val
*))(var_cla92
->class->vft
[COLOR_model__MClass__mclass_type
]))(var_cla92
) /* mclass_type on <var_cla92:nullable MClass(MClass)>*/;
5782 var98
= "Error: Untyped attribute ";
5784 var100
= string__NativeString__to_s_with_length(var98
, var99
);
5789 var102
= varonce101
;
5791 var103
= ". Implicit typing allowed only for literals and new.";
5793 var105
= string__NativeString__to_s_with_length(var103
, var104
);
5795 varonce101
= var102
;
5797 var106
= NEW_array__Array(&type_array__Arraykernel__Object
);
5798 { /* var106 = array_instance Array[Object] */
5800 var108
= NEW_array__NativeArray(var107
, &type_array__NativeArraykernel__Object
);
5801 ((struct instance_array__NativeArray
*)var108
)->values
[0] = (val
*) var97
;
5802 ((struct instance_array__NativeArray
*)var108
)->values
[1] = (val
*) var_mpropdef
;
5803 ((struct instance_array__NativeArray
*)var108
)->values
[2] = (val
*) var102
;
5804 ((void (*)(val
*, val
*, long))(var106
->class->vft
[COLOR_array__Array__with_native
]))(var106
, var108
, var107
) /* with_native on <var106:Array[Object]>*/;
5806 var109
= ((val
* (*)(val
*))(var106
->class->vft
[COLOR_string__Object__to_s
]))(var106
) /* to_s on <var106:Array[Object]>*/;
5807 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, self
, var109
) /* error on <var_modelbuilder:ModelBuilder>*/;
5817 var111
= varonce110
;
5819 var112
= "Error: Untyped attribute ";
5821 var114
= string__NativeString__to_s_with_length(var112
, var113
);
5823 varonce110
= var111
;
5825 var115
= NEW_array__Array(&type_array__Arraykernel__Object
);
5826 { /* var115 = array_instance Array[Object] */
5828 var117
= NEW_array__NativeArray(var116
, &type_array__NativeArraykernel__Object
);
5829 ((struct instance_array__NativeArray
*)var117
)->values
[0] = (val
*) var111
;
5830 ((struct instance_array__NativeArray
*)var117
)->values
[1] = (val
*) var_mpropdef
;
5831 ((void (*)(val
*, val
*, long))(var115
->class->vft
[COLOR_array__Array__with_native
]))(var115
, var117
, var116
) /* with_native on <var115:Array[Object]>*/;
5833 var118
= ((val
* (*)(val
*))(var115
->class->vft
[COLOR_string__Object__to_s
]))(var115
) /* to_s on <var115:Array[Object]>*/;
5834 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, self
, var118
) /* error on <var_modelbuilder:ModelBuilder>*/;
5838 if (var_ntype
== NULL
) {
5839 var120
= 0; /* is null */
5841 var120
= 1; /* arg is null and recv is not */
5844 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5845 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 731);
5848 /* <var_nexpr:nullable AExpr> isa ANewExpr */
5849 cltype122
= type_parser_nodes__ANewExpr
.color
;
5850 idtype123
= type_parser_nodes__ANewExpr
.id
;
5851 if(var_nexpr
== NULL
) {
5854 if(cltype122
>= var_nexpr
->type
->table_size
) {
5857 var121
= var_nexpr
->type
->type_table
[cltype122
] == idtype123
;
5861 var124
= ((val
* (*)(val
*))(var_nexpr
->class->vft
[COLOR_parser_nodes__ANewExpr__n_type
]))(var_nexpr
) /* n_type on <var_nexpr:nullable AExpr(ANewExpr)>*/;
5862 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>*/;
5863 var_xmtype
= var125
;
5864 if (var_xmtype
== NULL
) {
5865 var127
= 0; /* <var_mtype:nullable MType(MType)> cannot be null */
5867 var127
= ((short int (*)(val
*, val
*))(var_xmtype
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_xmtype
, var_mtype
) /* == on <var_xmtype:nullable MType>*/;
5871 var128
= ((val
* (*)(val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var_modelbuilder
) /* toolcontext on <var_modelbuilder:ModelBuilder>*/;
5872 var129
= ((val
* (*)(val
*))(var128
->class->vft
[COLOR_toolcontext__ToolContext__opt_warn
]))(var128
) /* opt_warn on <var128:ToolContext>*/;
5873 var130
= ((val
* (*)(val
*))(var129
->class->vft
[COLOR_opts__Option__value
]))(var129
) /* value on <var129:OptionCount>*/;
5875 { /* Inline kernel#Int#>= (var130,var131) */
5876 /* Covariant cast for argument 0 (i) <var131:Int> isa OTHER */
5877 /* <var131:Int> isa OTHER */
5878 var134
= 1; /* easy <var131:Int> isa OTHER*/
5880 var_class_name
= type_kernel__Int
.name
;
5881 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
5882 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 266);
5885 var137
= ((struct instance_kernel__Int
*)var130
)->value
; /* autounbox from nullable Object to Int */;
5886 var138
= var137
>= var131
;
5889 RET_LABEL133
:(void)0;
5897 var140
= varonce139
;
5899 var141
= "Warning: useless type definition";
5901 var143
= string__NativeString__to_s_with_length(var141
, var142
);
5903 varonce139
= var140
;
5905 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__warning
]))(var_modelbuilder
, var_ntype
, var140
) /* warning on <var_modelbuilder:ModelBuilder>*/;
5912 if (var_mtype
== NULL
) {
5913 var145
= 1; /* is null */
5915 var145
= 0; /* arg is null but recv is not */
5921 ((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)>*/;
5922 var146
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__AAttrPropdef__mreadpropdef
]))(self
) /* mreadpropdef on <self:AAttrPropdef>*/;
5923 var_mreadpropdef
= var146
;
5925 if (var_mreadpropdef
== NULL
) {
5926 var148
= 0; /* is null */
5928 var148
= 1; /* arg is null and recv is not */
5931 var149
= NEW_model__MSignature(&type_model__MSignature
);
5932 var150
= NEW_array__Array(&type_array__Arraymodel__MParameter
);
5933 ((void (*)(val
*))(var150
->class->vft
[COLOR_array__Array__init
]))(var150
) /* init on <var150:Array[MParameter]>*/;
5934 ((void (*)(val
*, val
*, val
*))(var149
->class->vft
[COLOR_model__MSignature__init
]))(var149
, var150
, var_mtype
) /* init on <var149:MSignature>*/;
5935 var_msignature
= var149
;
5936 ((void (*)(val
*, val
*))(var_mreadpropdef
->class->vft
[COLOR_model__MMethodDef__msignature_61d
]))(var_mreadpropdef
, var_msignature
) /* msignature= on <var_mreadpropdef:nullable MMethodDef(MMethodDef)>*/;
5939 var151
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__AAttrPropdef__mwritepropdef
]))(self
) /* mwritepropdef on <self:AAttrPropdef>*/;
5940 var_msritepropdef
= var151
;
5941 var152
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__AAttrPropdef__mwritepropdef
]))(self
) /* mwritepropdef on <self:AAttrPropdef>*/;
5943 if (var152
== NULL
) {
5944 var154
= 0; /* is null */
5946 var154
= 1; /* arg is null and recv is not */
5949 var155
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_id
]))(self
) /* n_id on <self:AAttrPropdef>*/;
5951 if (var155
== NULL
) {
5952 var157
= 0; /* is null */
5954 var157
= 1; /* arg is null and recv is not */
5957 var158
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_id
]))(self
) /* n_id on <self:AAttrPropdef>*/;
5958 if (var158
== NULL
) {
5959 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
5960 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 754);
5963 var159
= ((val
* (*)(val
*))(var158
->class->vft
[COLOR_parser_nodes__Token__text
]))(var158
) /* text on <var158:nullable TAttrid>*/;
5966 var161
= ((val
* (*)(val
*, long))(var159
->class->vft
[COLOR_string__AbstractString__substring_from
]))(var159
, var160
) /* substring_from on <var159:String>*/;
5969 var162
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_id2
]))(self
) /* n_id2 on <self:AAttrPropdef>*/;
5970 if (var162
== NULL
) {
5971 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
5972 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 756);
5975 var163
= ((val
* (*)(val
*))(var162
->class->vft
[COLOR_parser_nodes__Token__text
]))(var162
) /* text on <var162:nullable TId>*/;
5979 var164
= NEW_model__MParameter(&type_model__MParameter
);
5981 ((void (*)(val
*, val
*, val
*, short int))(var164
->class->vft
[COLOR_model__MParameter__init
]))(var164
, var_name
, var_mtype
, var165
) /* init on <var164:MParameter>*/;
5982 var_mparameter
= var164
;
5983 var166
= NEW_model__MSignature(&type_model__MSignature
);
5984 var167
= NEW_array__Array(&type_array__Arraymodel__MParameter
);
5986 ((void (*)(val
*, long))(var167
->class->vft
[COLOR_array__Array__with_capacity
]))(var167
, var168
) /* with_capacity on <var167:Array[MParameter]>*/;
5988 ((void (*)(val
*, val
*))(var_169
->class->vft
[COLOR_abstract_collection__Sequence__push
]))(var_169
, var_mparameter
) /* push on <var_169:Array[MParameter]>*/;
5990 ((void (*)(val
*, val
*, val
*))(var166
->class->vft
[COLOR_model__MSignature__init
]))(var166
, var_169
, var170
) /* init on <var166:MSignature>*/;
5991 var_msignature171
= var166
;
5992 var172
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__AAttrPropdef__mwritepropdef
]))(self
) /* mwritepropdef on <self:AAttrPropdef>*/;
5993 if (var172
== NULL
) {
5994 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
5995 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 760);
5998 ((void (*)(val
*, val
*))(var172
->class->vft
[COLOR_model__MMethodDef__msignature_61d
]))(var172
, var_msignature171
) /* msignature= on <var172:nullable MMethodDef>*/;
6004 /* method modelize_property#AAttrPropdef#build_signature for (self: Object, ModelBuilder, AClassdef) */
6005 void VIRTUAL_modelize_property__AAttrPropdef__build_signature(val
* self
, val
* p0
, val
* p1
) {
6006 modelize_property__AAttrPropdef__build_signature(self
, p0
, p1
);
6009 /* method modelize_property#AAttrPropdef#check_signature for (self: AAttrPropdef, ModelBuilder, AClassdef) */
6010 void modelize_property__AAttrPropdef__check_signature(val
* self
, val
* p0
, val
* p1
) {
6011 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
6012 val
* var_nclassdef
/* var nclassdef: AClassdef */;
6013 val
* var
/* : nullable MPropDef */;
6014 val
* var_mpropdef
/* var mpropdef: nullable MAttributeDef */;
6015 val
* var1
/* : null */;
6016 short int var2
/* : Bool */;
6017 val
* var3
/* : MClassDef */;
6018 val
* var4
/* : MModule */;
6019 val
* var_mmodule
/* var mmodule: MModule */;
6020 val
* var5
/* : nullable AType */;
6021 val
* var_ntype
/* var ntype: nullable AType */;
6022 val
* var6
/* : nullable MPropDef */;
6023 val
* var7
/* : nullable MType */;
6024 val
* var_mtype
/* var mtype: nullable MType */;
6025 val
* var8
/* : null */;
6026 short int var9
/* : Bool */;
6027 short int var10
/* : Bool */;
6028 short int var11
/* : Bool */;
6029 val
* var12
/* : MProperty */;
6030 val
* var13
/* : MPropDef */;
6031 val
* var14
/* : nullable MType */;
6032 val
* var_precursor_type
/* var precursor_type: nullable MType */;
6033 val
* var15
/* : null */;
6034 short int var16
/* : Bool */;
6035 short int var17
/* : Bool */;
6036 static val
* varonce
;
6037 val
* var18
/* : String */;
6038 char* var19
/* : NativeString */;
6039 long var20
/* : Int */;
6040 val
* var21
/* : String */;
6041 static val
* varonce22
;
6042 val
* var23
/* : String */;
6043 char* var24
/* : NativeString */;
6044 long var25
/* : Int */;
6045 val
* var26
/* : String */;
6046 static val
* varonce27
;
6047 val
* var28
/* : String */;
6048 char* var29
/* : NativeString */;
6049 long var30
/* : Int */;
6050 val
* var31
/* : String */;
6051 val
* var32
/* : Array[Object] */;
6052 long var33
/* : Int */;
6053 val
* var34
/* : NativeArray[Object] */;
6054 val
* var35
/* : String */;
6055 val
* var36
/* : nullable MMethodDef */;
6056 val
* var_meth
/* var meth: nullable MMethodDef */;
6057 val
* var37
/* : null */;
6058 short int var38
/* : Bool */;
6059 val
* var39
/* : nullable MMethodDef */;
6060 val
* var40
/* : null */;
6061 short int var41
/* : Bool */;
6062 var_modelbuilder
= p0
;
6064 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__mpropdef
]))(self
) /* mpropdef on <self:AAttrPropdef>*/;
6067 if (var_mpropdef
== NULL
) {
6068 var2
= 1; /* is null */
6070 var2
= 0; /* arg is null but recv is not */
6076 var3
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var_mpropdef
) /* mclassdef on <var_mpropdef:nullable MAttributeDef(MAttributeDef)>*/;
6077 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_model__MClassDef__mmodule
]))(var3
) /* mmodule on <var3:MClassDef>*/;
6079 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_type
]))(self
) /* n_type on <self:AAttrPropdef>*/;
6081 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__mpropdef
]))(self
) /* mpropdef on <self:AAttrPropdef>*/;
6083 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
6084 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 770);
6087 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_model__MAttributeDef__static_mtype
]))(var6
) /* static_mtype on <var6:nullable MPropDef(nullable MAttributeDef)>*/;
6091 if (var_mtype
== NULL
) {
6092 var9
= 1; /* is null */
6094 var9
= 0; /* arg is null but recv is not */
6100 var10
= ((short int (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__is_intro
]))(var_mpropdef
) /* is_intro on <var_mpropdef:nullable MAttributeDef(MAttributeDef)>*/;
6103 var12
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var_mpropdef
) /* mproperty on <var_mpropdef:nullable MAttributeDef(MAttributeDef)>*/;
6104 var13
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_model__MProperty__intro
]))(var12
) /* intro on <var12:MProperty(MAttribute)>*/;
6105 var14
= ((val
* (*)(val
*))(var13
->class->vft
[COLOR_model__MAttributeDef__static_mtype
]))(var13
) /* static_mtype on <var13:MPropDef(MAttributeDef)>*/;
6106 var_precursor_type
= var14
;
6108 if (var_precursor_type
== NULL
) {
6109 var16
= 1; /* is null */
6111 var16
= 0; /* arg is null but recv is not */
6117 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)>*/;
6119 if (var_ntype
== NULL
) {
6120 fprintf(stderr
, "Runtime error: %s", "Cast failed");
6121 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 780);
6127 var19
= "Redef Error: Wrong static type. found ";
6129 var21
= string__NativeString__to_s_with_length(var19
, var20
);
6136 var24
= ", expected ";
6138 var26
= string__NativeString__to_s_with_length(var24
, var25
);
6147 var31
= string__NativeString__to_s_with_length(var29
, var30
);
6151 var32
= NEW_array__Array(&type_array__Arraykernel__Object
);
6152 { /* var32 = array_instance Array[Object] */
6154 var34
= NEW_array__NativeArray(var33
, &type_array__NativeArraykernel__Object
);
6155 ((struct instance_array__NativeArray
*)var34
)->values
[0] = (val
*) var18
;
6156 ((struct instance_array__NativeArray
*)var34
)->values
[1] = (val
*) var_mtype
;
6157 ((struct instance_array__NativeArray
*)var34
)->values
[2] = (val
*) var23
;
6158 ((struct instance_array__NativeArray
*)var34
)->values
[3] = (val
*) var_precursor_type
;
6159 ((struct instance_array__NativeArray
*)var34
)->values
[4] = (val
*) var28
;
6160 ((void (*)(val
*, val
*, long))(var32
->class->vft
[COLOR_array__Array__with_native
]))(var32
, var34
, var33
) /* with_native on <var32:Array[Object]>*/;
6162 var35
= ((val
* (*)(val
*))(var32
->class->vft
[COLOR_string__Object__to_s
]))(var32
) /* to_s on <var32:Array[Object]>*/;
6163 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, var_ntype
, var35
) /* error on <var_modelbuilder:ModelBuilder>*/;
6169 var36
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__AAttrPropdef__mreadpropdef
]))(self
) /* mreadpropdef on <self:AAttrPropdef>*/;
6172 if (var_meth
== NULL
) {
6173 var38
= 0; /* is null */
6175 var38
= 1; /* arg is null and recv is not */
6178 ((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>*/;
6181 var39
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__AAttrPropdef__mwritepropdef
]))(self
) /* mwritepropdef on <self:AAttrPropdef>*/;
6184 if (var_meth
== NULL
) {
6185 var41
= 0; /* is null */
6187 var41
= 1; /* arg is null and recv is not */
6190 ((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>*/;
6195 /* method modelize_property#AAttrPropdef#check_signature for (self: Object, ModelBuilder, AClassdef) */
6196 void VIRTUAL_modelize_property__AAttrPropdef__check_signature(val
* self
, val
* p0
, val
* p1
) {
6197 modelize_property__AAttrPropdef__check_signature(self
, p0
, p1
);
6200 /* method modelize_property#AAttrPropdef#check_method_signature for (self: AAttrPropdef, ModelBuilder, AClassdef, MMethodDef) */
6201 void modelize_property__AAttrPropdef__check_method_signature(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
6202 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
6203 val
* var_nclassdef
/* var nclassdef: AClassdef */;
6204 val
* var_mpropdef
/* var mpropdef: MMethodDef */;
6205 val
* var
/* : MClassDef */;
6206 val
* var1
/* : MModule */;
6207 val
* var_mmodule
/* var mmodule: MModule */;
6208 val
* var2
/* : nullable AType */;
6209 val
* var_nsig
/* var nsig: nullable AType */;
6210 val
* var3
/* : nullable MSignature */;
6211 val
* var_mysignature
/* var mysignature: nullable MSignature */;
6212 val
* var4
/* : null */;
6213 short int var5
/* : Bool */;
6214 short int var6
/* : Bool */;
6215 short int var7
/* : Bool */;
6216 val
* var8
/* : MProperty */;
6217 val
* var9
/* : MPropDef */;
6218 val
* var10
/* : nullable MSignature */;
6219 val
* var_msignature
/* var msignature: nullable MSignature */;
6220 val
* var11
/* : null */;
6221 short int var12
/* : Bool */;
6222 long var13
/* : Int */;
6223 long var14
/* : Int */;
6224 short int var15
/* : Bool */;
6225 short int var17
/* : Bool */;
6226 short int var18
/* : Bool */;
6227 val
* var19
/* : null */;
6228 short int var20
/* : Bool */;
6229 val
* var_node
/* var node: ANode */;
6230 static val
* varonce
;
6231 val
* var21
/* : String */;
6232 char* var22
/* : NativeString */;
6233 long var23
/* : Int */;
6234 val
* var24
/* : String */;
6235 long var25
/* : Int */;
6236 static val
* varonce26
;
6237 val
* var27
/* : String */;
6238 char* var28
/* : NativeString */;
6239 long var29
/* : Int */;
6240 val
* var30
/* : String */;
6241 long var31
/* : Int */;
6242 static val
* varonce32
;
6243 val
* var33
/* : String */;
6244 char* var34
/* : NativeString */;
6245 long var35
/* : Int */;
6246 val
* var36
/* : String */;
6247 val
* var37
/* : Array[Object] */;
6248 long var38
/* : Int */;
6249 val
* var39
/* : NativeArray[Object] */;
6250 val
* var40
/* : Object */;
6251 val
* var41
/* : Object */;
6252 val
* var42
/* : String */;
6253 val
* var43
/* : nullable MType */;
6254 val
* var_precursor_ret_type
/* var precursor_ret_type: nullable MType */;
6255 val
* var44
/* : nullable MType */;
6256 val
* var_ret_type
/* var ret_type: nullable MType */;
6257 short int var45
/* : Bool */;
6258 val
* var46
/* : null */;
6259 short int var47
/* : Bool */;
6260 short int var_
/* var : Bool */;
6261 val
* var48
/* : null */;
6262 short int var49
/* : Bool */;
6263 val
* var50
/* : null */;
6264 short int var51
/* : Bool */;
6265 val
* var_node52
/* var node: ANode */;
6266 static val
* varonce53
;
6267 val
* var54
/* : String */;
6268 char* var55
/* : NativeString */;
6269 long var56
/* : Int */;
6270 val
* var57
/* : String */;
6271 val
* var58
/* : MProperty */;
6272 static val
* varonce59
;
6273 val
* var60
/* : String */;
6274 char* var61
/* : NativeString */;
6275 long var62
/* : Int */;
6276 val
* var63
/* : String */;
6277 val
* var64
/* : Array[Object] */;
6278 long var65
/* : Int */;
6279 val
* var66
/* : NativeArray[Object] */;
6280 val
* var67
/* : String */;
6281 long var68
/* : Int */;
6282 long var69
/* : Int */;
6283 short int var70
/* : Bool */;
6284 short int var72
/* : Bool */;
6287 const char* var_class_name
;
6288 short int var73
/* : Bool */;
6289 val
* var74
/* : Range[Int] */;
6290 long var75
/* : Int */;
6291 long var76
/* : Int */;
6292 val
* var77
/* : Discrete */;
6293 val
* var78
/* : Discrete */;
6294 val
* var79
/* : Iterator[nullable Object] */;
6295 short int var80
/* : Bool */;
6296 val
* var81
/* : nullable Object */;
6297 long var_i
/* var i: Int */;
6298 long var82
/* : Int */;
6299 val
* var83
/* : Array[MParameter] */;
6300 val
* var84
/* : nullable Object */;
6301 val
* var85
/* : MType */;
6302 val
* var_myt
/* var myt: MType */;
6303 val
* var86
/* : Array[MParameter] */;
6304 val
* var87
/* : nullable Object */;
6305 val
* var88
/* : MType */;
6306 val
* var_prt
/* var prt: MType */;
6307 short int var89
/* : Bool */;
6308 val
* var90
/* : nullable MClassDef */;
6309 val
* var91
/* : MClassType */;
6310 short int var92
/* : Bool */;
6311 short int var93
/* : Bool */;
6312 short int var_94
/* var : Bool */;
6313 val
* var95
/* : nullable MClassDef */;
6314 val
* var96
/* : MClassType */;
6315 short int var97
/* : Bool */;
6316 short int var98
/* : Bool */;
6317 val
* var99
/* : null */;
6318 short int var100
/* : Bool */;
6319 val
* var_node101
/* var node: ANode */;
6320 static val
* varonce102
;
6321 val
* var103
/* : String */;
6322 char* var104
/* : NativeString */;
6323 long var105
/* : Int */;
6324 val
* var106
/* : String */;
6325 val
* var107
/* : Array[MParameter] */;
6326 val
* var108
/* : nullable Object */;
6327 val
* var109
/* : String */;
6328 static val
* varonce110
;
6329 val
* var111
/* : String */;
6330 char* var112
/* : NativeString */;
6331 long var113
/* : Int */;
6332 val
* var114
/* : String */;
6333 static val
* varonce115
;
6334 val
* var116
/* : String */;
6335 char* var117
/* : NativeString */;
6336 long var118
/* : Int */;
6337 val
* var119
/* : String */;
6338 static val
* varonce120
;
6339 val
* var121
/* : String */;
6340 char* var122
/* : NativeString */;
6341 long var123
/* : Int */;
6342 val
* var124
/* : String */;
6343 val
* var125
/* : Array[Object] */;
6344 long var126
/* : Int */;
6345 val
* var127
/* : NativeArray[Object] */;
6346 val
* var128
/* : String */;
6347 val
* var129
/* : null */;
6348 short int var130
/* : Bool */;
6349 val
* var131
/* : null */;
6350 short int var132
/* : Bool */;
6351 val
* var133
/* : nullable MClassDef */;
6352 val
* var134
/* : MClassType */;
6353 short int var135
/* : Bool */;
6354 short int var136
/* : Bool */;
6355 val
* var137
/* : null */;
6356 short int var138
/* : Bool */;
6357 val
* var_node139
/* var node: ANode */;
6358 static val
* varonce140
;
6359 val
* var141
/* : String */;
6360 char* var142
/* : NativeString */;
6361 long var143
/* : Int */;
6362 val
* var144
/* : String */;
6363 static val
* varonce145
;
6364 val
* var146
/* : String */;
6365 char* var147
/* : NativeString */;
6366 long var148
/* : Int */;
6367 val
* var149
/* : String */;
6368 static val
* varonce150
;
6369 val
* var151
/* : String */;
6370 char* var152
/* : NativeString */;
6371 long var153
/* : Int */;
6372 val
* var154
/* : String */;
6373 val
* var155
/* : Array[Object] */;
6374 long var156
/* : Int */;
6375 val
* var157
/* : NativeArray[Object] */;
6376 val
* var158
/* : String */;
6377 var_modelbuilder
= p0
;
6380 var
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var_mpropdef
) /* mclassdef on <var_mpropdef:MMethodDef>*/;
6381 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_model__MClassDef__mmodule
]))(var
) /* mmodule on <var:MClassDef>*/;
6383 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_type
]))(self
) /* n_type on <self:AAttrPropdef>*/;
6385 var3
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var_mpropdef
) /* msignature on <var_mpropdef:MMethodDef>*/;
6386 var_mysignature
= var3
;
6388 if (var_mysignature
== NULL
) {
6389 var5
= 1; /* is null */
6391 var5
= 0; /* arg is null but recv is not */
6397 var6
= ((short int (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__is_intro
]))(var_mpropdef
) /* is_intro on <var_mpropdef:MMethodDef>*/;
6400 var8
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var_mpropdef
) /* mproperty on <var_mpropdef:MMethodDef>*/;
6401 var9
= ((val
* (*)(val
*))(var8
->class->vft
[COLOR_model__MProperty__intro
]))(var8
) /* intro on <var8:MProperty(MMethod)>*/;
6402 var10
= ((val
* (*)(val
*))(var9
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var9
) /* msignature on <var9:MPropDef(MMethodDef)>*/;
6403 var_msignature
= var10
;
6405 if (var_msignature
== NULL
) {
6406 var12
= 1; /* is null */
6408 var12
= 0; /* arg is null but recv is not */
6414 var13
= ((long (*)(val
*))(var_mysignature
->class->vft
[COLOR_model__MSignature__arity
]))(var_mysignature
) /* arity on <var_mysignature:nullable MSignature(MSignature)>*/;
6415 var14
= ((long (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__arity
]))(var_msignature
) /* arity on <var_msignature:nullable MSignature(MSignature)>*/;
6416 { /* Inline kernel#Int#!= (var13,var14) */
6417 var17
= var13
== var14
;
6421 RET_LABEL16
:(void)0;
6425 if (var_nsig
== NULL
) {
6426 var20
= 0; /* is null */
6428 var20
= 1; /* arg is null and recv is not */
6431 var_node
= var_nsig
;
6438 var22
= "Redef Error: ";
6440 var24
= string__NativeString__to_s_with_length(var22
, var23
);
6444 var25
= ((long (*)(val
*))(var_mysignature
->class->vft
[COLOR_model__MSignature__arity
]))(var_mysignature
) /* arity on <var_mysignature:nullable MSignature(MSignature)>*/;
6448 var28
= " parameters found, ";
6450 var30
= string__NativeString__to_s_with_length(var28
, var29
);
6454 var31
= ((long (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__arity
]))(var_msignature
) /* arity on <var_msignature:nullable MSignature(MSignature)>*/;
6458 var34
= " expected. Signature is ";
6460 var36
= string__NativeString__to_s_with_length(var34
, var35
);
6464 var37
= NEW_array__Array(&type_array__Arraykernel__Object
);
6465 { /* var37 = array_instance Array[Object] */
6467 var39
= NEW_array__NativeArray(var38
, &type_array__NativeArraykernel__Object
);
6468 ((struct instance_array__NativeArray
*)var39
)->values
[0] = (val
*) var21
;
6469 var40
= BOX_kernel__Int(var25
); /* autobox from Int to Object */
6470 ((struct instance_array__NativeArray
*)var39
)->values
[1] = (val
*) var40
;
6471 ((struct instance_array__NativeArray
*)var39
)->values
[2] = (val
*) var27
;
6472 var41
= BOX_kernel__Int(var31
); /* autobox from Int to Object */
6473 ((struct instance_array__NativeArray
*)var39
)->values
[3] = (val
*) var41
;
6474 ((struct instance_array__NativeArray
*)var39
)->values
[4] = (val
*) var33
;
6475 ((struct instance_array__NativeArray
*)var39
)->values
[5] = (val
*) var_mpropdef
;
6476 ((struct instance_array__NativeArray
*)var39
)->values
[6] = (val
*) var_msignature
;
6477 ((void (*)(val
*, val
*, long))(var37
->class->vft
[COLOR_array__Array__with_native
]))(var37
, var39
, var38
) /* with_native on <var37:Array[Object]>*/;
6479 var42
= ((val
* (*)(val
*))(var37
->class->vft
[COLOR_string__Object__to_s
]))(var37
) /* to_s on <var37:Array[Object]>*/;
6480 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, var_node
, var42
) /* error on <var_modelbuilder:ModelBuilder>*/;
6484 var43
= ((val
* (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__return_mtype
]))(var_msignature
) /* return_mtype on <var_msignature:nullable MSignature(MSignature)>*/;
6485 var_precursor_ret_type
= var43
;
6486 var44
= ((val
* (*)(val
*))(var_mysignature
->class->vft
[COLOR_model__MSignature__return_mtype
]))(var_mysignature
) /* return_mtype on <var_mysignature:nullable MSignature(MSignature)>*/;
6487 var_ret_type
= var44
;
6489 if (var_ret_type
== NULL
) {
6490 var47
= 0; /* is null */
6492 var47
= 1; /* arg is null and recv is not */
6497 if (var_precursor_ret_type
== NULL
) {
6498 var49
= 1; /* is null */
6500 var49
= 0; /* arg is null but recv is not */
6508 if (var_nsig
== NULL
) {
6509 var51
= 0; /* is null */
6511 var51
= 1; /* arg is null and recv is not */
6514 var_node52
= var_nsig
;
6521 var55
= "Redef Error: ";
6523 var57
= string__NativeString__to_s_with_length(var55
, var56
);
6527 var58
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var_mpropdef
) /* mproperty on <var_mpropdef:MMethodDef>*/;
6531 var61
= " is a procedure, not a function.";
6533 var63
= string__NativeString__to_s_with_length(var61
, var62
);
6537 var64
= NEW_array__Array(&type_array__Arraykernel__Object
);
6538 { /* var64 = array_instance Array[Object] */
6540 var66
= NEW_array__NativeArray(var65
, &type_array__NativeArraykernel__Object
);
6541 ((struct instance_array__NativeArray
*)var66
)->values
[0] = (val
*) var54
;
6542 ((struct instance_array__NativeArray
*)var66
)->values
[1] = (val
*) var58
;
6543 ((struct instance_array__NativeArray
*)var66
)->values
[2] = (val
*) var60
;
6544 ((void (*)(val
*, val
*, long))(var64
->class->vft
[COLOR_array__Array__with_native
]))(var64
, var66
, var65
) /* with_native on <var64:Array[Object]>*/;
6546 var67
= ((val
* (*)(val
*))(var64
->class->vft
[COLOR_string__Object__to_s
]))(var64
) /* to_s on <var64:Array[Object]>*/;
6547 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, var_node52
, var67
) /* error on <var_modelbuilder:ModelBuilder>*/;
6551 var68
= ((long (*)(val
*))(var_mysignature
->class->vft
[COLOR_model__MSignature__arity
]))(var_mysignature
) /* arity on <var_mysignature:nullable MSignature(MSignature)>*/;
6553 { /* Inline kernel#Int#> (var68,var69) */
6554 /* Covariant cast for argument 0 (i) <var69:Int> isa OTHER */
6555 /* <var69:Int> isa OTHER */
6556 var72
= 1; /* easy <var69:Int> isa OTHER*/
6558 var_class_name
= type_kernel__Int
.name
;
6559 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
6560 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 267);
6563 var73
= var68
> var69
;
6566 RET_LABEL71
:(void)0;
6569 var74
= NEW_range__Range(&type_range__Rangekernel__Int
);
6571 var76
= ((long (*)(val
*))(var_mysignature
->class->vft
[COLOR_model__MSignature__arity
]))(var_mysignature
) /* arity on <var_mysignature:nullable MSignature(MSignature)>*/;
6572 var77
= BOX_kernel__Int(var75
); /* autobox from Int to Discrete */
6573 var78
= BOX_kernel__Int(var76
); /* autobox from Int to Discrete */
6574 ((void (*)(val
*, val
*, val
*))(var74
->class->vft
[COLOR_range__Range__without_last
]))(var74
, var77
, var78
) /* without_last on <var74:Range[Int]>*/;
6575 var79
= ((val
* (*)(val
*))(var74
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var74
) /* iterator on <var74:Range[Int]>*/;
6577 var80
= ((short int (*)(val
*))(var79
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var79
) /* is_ok on <var79:Iterator[nullable Object]>*/;
6579 var81
= ((val
* (*)(val
*))(var79
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var79
) /* item on <var79:Iterator[nullable Object]>*/;
6580 var82
= ((struct instance_kernel__Int
*)var81
)->value
; /* autounbox from nullable Object to Int */;
6582 var83
= ((val
* (*)(val
*))(var_mysignature
->class->vft
[COLOR_model__MSignature__mparameters
]))(var_mysignature
) /* mparameters on <var_mysignature:nullable MSignature(MSignature)>*/;
6583 var84
= ((val
* (*)(val
*, long))(var83
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var83
, var_i
) /* [] on <var83:Array[MParameter]>*/;
6584 var85
= ((val
* (*)(val
*))(var84
->class->vft
[COLOR_model__MParameter__mtype
]))(var84
) /* mtype on <var84:nullable Object(MParameter)>*/;
6586 var86
= ((val
* (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__mparameters
]))(var_msignature
) /* mparameters on <var_msignature:nullable MSignature(MSignature)>*/;
6587 var87
= ((val
* (*)(val
*, long))(var86
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var86
, var_i
) /* [] on <var86:Array[MParameter]>*/;
6588 var88
= ((val
* (*)(val
*))(var87
->class->vft
[COLOR_model__MParameter__mtype
]))(var87
) /* mtype on <var87:nullable Object(MParameter)>*/;
6590 var90
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef>*/;
6591 if (var90
== NULL
) {
6592 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
6593 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 825);
6596 var91
= ((val
* (*)(val
*))(var90
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var90
) /* bound_mtype on <var90:nullable MClassDef>*/;
6598 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>*/;
6602 var95
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef>*/;
6603 if (var95
== NULL
) {
6604 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
6605 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 826);
6608 var96
= ((val
* (*)(val
*))(var95
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var95
) /* bound_mtype on <var95:nullable MClassDef>*/;
6610 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>*/;
6618 if (var_nsig
== NULL
) {
6619 var100
= 0; /* is null */
6621 var100
= 1; /* arg is null and recv is not */
6624 var_node101
= var_nsig
;
6629 var103
= varonce102
;
6631 var104
= "Redef Error: Wrong type for parameter `";
6633 var106
= string__NativeString__to_s_with_length(var104
, var105
);
6635 varonce102
= var103
;
6637 var107
= ((val
* (*)(val
*))(var_mysignature
->class->vft
[COLOR_model__MSignature__mparameters
]))(var_mysignature
) /* mparameters on <var_mysignature:nullable MSignature(MSignature)>*/;
6638 var108
= ((val
* (*)(val
*, long))(var107
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var107
, var_i
) /* [] on <var107:Array[MParameter]>*/;
6639 var109
= ((val
* (*)(val
*))(var108
->class->vft
[COLOR_model__MParameter__name
]))(var108
) /* name on <var108:nullable Object(MParameter)>*/;
6641 var111
= varonce110
;
6643 var112
= "\'. found ";
6645 var114
= string__NativeString__to_s_with_length(var112
, var113
);
6647 varonce110
= var111
;
6650 var116
= varonce115
;
6652 var117
= ", expected ";
6654 var119
= string__NativeString__to_s_with_length(var117
, var118
);
6656 varonce115
= var116
;
6659 var121
= varonce120
;
6663 var124
= string__NativeString__to_s_with_length(var122
, var123
);
6665 varonce120
= var121
;
6667 var125
= NEW_array__Array(&type_array__Arraykernel__Object
);
6668 { /* var125 = array_instance Array[Object] */
6670 var127
= NEW_array__NativeArray(var126
, &type_array__NativeArraykernel__Object
);
6671 ((struct instance_array__NativeArray
*)var127
)->values
[0] = (val
*) var103
;
6672 ((struct instance_array__NativeArray
*)var127
)->values
[1] = (val
*) var109
;
6673 ((struct instance_array__NativeArray
*)var127
)->values
[2] = (val
*) var111
;
6674 ((struct instance_array__NativeArray
*)var127
)->values
[3] = (val
*) var_myt
;
6675 ((struct instance_array__NativeArray
*)var127
)->values
[4] = (val
*) var116
;
6676 ((struct instance_array__NativeArray
*)var127
)->values
[5] = (val
*) var_prt
;
6677 ((struct instance_array__NativeArray
*)var127
)->values
[6] = (val
*) var121
;
6678 ((void (*)(val
*, val
*, long))(var125
->class->vft
[COLOR_array__Array__with_native
]))(var125
, var127
, var126
) /* with_native on <var125:Array[Object]>*/;
6680 var128
= ((val
* (*)(val
*))(var125
->class->vft
[COLOR_string__Object__to_s
]))(var125
) /* to_s on <var125:Array[Object]>*/;
6681 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, var_node101
, var128
) /* error on <var_modelbuilder:ModelBuilder>*/;
6684 CONTINUE_label
: (void)0;
6685 ((void (*)(val
*))(var79
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var79
) /* next on <var79:Iterator[nullable Object]>*/;
6687 BREAK_label
: (void)0;
6691 if (var_precursor_ret_type
== NULL
) {
6692 var130
= 0; /* is null */
6694 var130
= 1; /* arg is null and recv is not */
6698 if (var_ret_type
== NULL
) {
6699 var132
= 1; /* is null */
6701 var132
= 0; /* arg is null but recv is not */
6704 var_ret_type
= var_precursor_ret_type
;
6706 var133
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef>*/;
6707 if (var133
== NULL
) {
6708 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
6709 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 837);
6712 var134
= ((val
* (*)(val
*))(var133
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var133
) /* bound_mtype on <var133:nullable MClassDef>*/;
6714 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)>*/;
6718 if (var_nsig
== NULL
) {
6719 var138
= 0; /* is null */
6721 var138
= 1; /* arg is null and recv is not */
6724 var_node139
= var_nsig
;
6729 var141
= varonce140
;
6731 var142
= "Redef Error: Wrong return type. found ";
6733 var144
= string__NativeString__to_s_with_length(var142
, var143
);
6735 varonce140
= var141
;
6738 var146
= varonce145
;
6740 var147
= ", expected ";
6742 var149
= string__NativeString__to_s_with_length(var147
, var148
);
6744 varonce145
= var146
;
6747 var151
= varonce150
;
6751 var154
= string__NativeString__to_s_with_length(var152
, var153
);
6753 varonce150
= var151
;
6755 var155
= NEW_array__Array(&type_array__Arraykernel__Object
);
6756 { /* var155 = array_instance Array[Object] */
6758 var157
= NEW_array__NativeArray(var156
, &type_array__NativeArraykernel__Object
);
6759 ((struct instance_array__NativeArray
*)var157
)->values
[0] = (val
*) var141
;
6760 ((struct instance_array__NativeArray
*)var157
)->values
[1] = (val
*) var_ret_type
;
6761 ((struct instance_array__NativeArray
*)var157
)->values
[2] = (val
*) var146
;
6762 ((struct instance_array__NativeArray
*)var157
)->values
[3] = (val
*) var_precursor_ret_type
;
6763 ((struct instance_array__NativeArray
*)var157
)->values
[4] = (val
*) var151
;
6764 ((void (*)(val
*, val
*, long))(var155
->class->vft
[COLOR_array__Array__with_native
]))(var155
, var157
, var156
) /* with_native on <var155:Array[Object]>*/;
6766 var158
= ((val
* (*)(val
*))(var155
->class->vft
[COLOR_string__Object__to_s
]))(var155
) /* to_s on <var155:Array[Object]>*/;
6767 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, var_node139
, var158
) /* error on <var_modelbuilder:ModelBuilder>*/;
6777 /* method modelize_property#AAttrPropdef#check_method_signature for (self: Object, ModelBuilder, AClassdef, MMethodDef) */
6778 void VIRTUAL_modelize_property__AAttrPropdef__check_method_signature(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
6779 modelize_property__AAttrPropdef__check_method_signature(self
, p0
, p1
, p2
);
6782 /* method modelize_property#ATypePropdef#build_property for (self: ATypePropdef, ModelBuilder, AClassdef) */
6783 void modelize_property__ATypePropdef__build_property(val
* self
, val
* p0
, val
* p1
) {
6784 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
6785 val
* var_nclassdef
/* var nclassdef: AClassdef */;
6786 val
* var
/* : nullable MClassDef */;
6787 val
* var_mclassdef
/* var mclassdef: MClassDef */;
6788 val
* var1
/* : TClassid */;
6789 val
* var2
/* : String */;
6790 val
* var_name
/* var name: String */;
6791 val
* var3
/* : TClassid */;
6792 val
* var4
/* : nullable MProperty */;
6793 val
* var_mprop
/* var mprop: nullable MProperty */;
6794 val
* var5
/* : null */;
6795 short int var6
/* : Bool */;
6796 val
* var7
/* : AVisibility */;
6797 val
* var8
/* : MVisibility */;
6798 val
* var_mvisibility
/* var mvisibility: MVisibility */;
6799 val
* var9
/* : MVirtualTypeProp */;
6800 val
* var10
/* : Iterator[nullable Object] */;
6801 short int var11
/* : Bool */;
6802 val
* var12
/* : nullable Object */;
6803 char var_c
/* var c: Char */;
6804 char var13
/* : Char */;
6805 short int var14
/* : Bool */;
6806 char var15
/* : Char */;
6807 short int var16
/* : Bool */;
6808 short int var18
/* : Bool */;
6811 const char* var_class_name
;
6812 short int var19
/* : Bool */;
6813 short int var_
/* var : Bool */;
6814 char var20
/* : Char */;
6815 short int var21
/* : Bool */;
6816 short int var23
/* : Bool */;
6819 const char* var_class_name26
;
6820 short int var27
/* : Bool */;
6821 val
* var28
/* : TClassid */;
6822 static val
* varonce
;
6823 val
* var29
/* : String */;
6824 char* var30
/* : NativeString */;
6825 long var31
/* : Int */;
6826 val
* var32
/* : String */;
6827 val
* var33
/* : Array[Object] */;
6828 long var34
/* : Int */;
6829 val
* var35
/* : NativeArray[Object] */;
6830 val
* var36
/* : String */;
6831 val
* var37
/* : nullable TKwredef */;
6832 short int var38
/* : Bool */;
6833 short int var39
/* : Bool */;
6834 short int var40
/* : Bool */;
6835 val
* var41
/* : nullable TKwredef */;
6836 short int var42
/* : Bool */;
6837 short int var43
/* : Bool */;
6838 short int var44
/* : Bool */;
6839 short int var45
/* : Bool */;
6842 val
* var48
/* : AVisibility */;
6843 val
* var49
/* : Map[MProperty, APropdef] */;
6844 val
* var50
/* : MVirtualTypeDef */;
6845 val
* var51
/* : Location */;
6846 val
* var_mpropdef
/* var mpropdef: MVirtualTypeDef */;
6847 short int var52
/* : Bool */;
6850 const struct type
* type_struct
;
6851 const char* var_class_name55
;
6852 var_modelbuilder
= p0
;
6854 var
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef>*/;
6856 fprintf(stderr
, "Runtime error: %s", "Cast failed");
6857 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 852);
6860 var_mclassdef
= var
;
6861 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ATypePropdef__n_id
]))(self
) /* n_id on <self:ATypePropdef>*/;
6862 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_parser_nodes__Token__text
]))(var1
) /* text on <var1:TClassid>*/;
6864 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ATypePropdef__n_id
]))(self
) /* n_id on <self:ATypePropdef>*/;
6865 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>*/;
6868 if (var_mprop
== NULL
) {
6869 var6
= 1; /* is null */
6871 var6
= 0; /* arg is null but recv is not */
6874 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ATypePropdef__n_visibility
]))(self
) /* n_visibility on <self:ATypePropdef>*/;
6875 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>*/;
6876 var_mvisibility
= var8
;
6877 var9
= NEW_model__MVirtualTypeProp(&type_model__MVirtualTypeProp
);
6878 ((void (*)(val
*, val
*, val
*, val
*))(var9
->class->vft
[COLOR_model__MVirtualTypeProp__init
]))(var9
, var_mclassdef
, var_name
, var_mvisibility
) /* init on <var9:MVirtualTypeProp>*/;
6880 var10
= ((val
* (*)(val
*))(var_name
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_name
) /* iterator on <var_name:String>*/;
6882 var11
= ((short int (*)(val
*))(var10
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var10
) /* is_ok on <var10:Iterator[nullable Object]>*/;
6884 var12
= ((val
* (*)(val
*))(var10
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var10
) /* item on <var10:Iterator[nullable Object]>*/;
6885 var13
= ((struct instance_kernel__Char
*)var12
)->value
; /* autounbox from nullable Object to Char */;
6888 { /* Inline kernel#Char#>= (var_c,var15) */
6889 /* Covariant cast for argument 0 (i) <var15:Char> isa OTHER */
6890 /* <var15:Char> isa OTHER */
6891 var18
= 1; /* easy <var15:Char> isa OTHER*/
6893 var_class_name
= type_kernel__Char
.name
;
6894 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
6895 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 442);
6898 var19
= var_c
>= var15
;
6901 RET_LABEL17
:(void)0;
6906 { /* Inline kernel#Char#<= (var_c,var20) */
6907 /* Covariant cast for argument 0 (i) <var20:Char> isa OTHER */
6908 /* <var20:Char> isa OTHER */
6909 var23
= 1; /* easy <var20:Char> isa OTHER*/
6911 var_class_name26
= type_kernel__Char
.name
;
6912 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name26
);
6913 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 440);
6916 var27
= var_c
<= var20
;
6919 RET_LABEL22
:(void)0;
6926 var28
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ATypePropdef__n_id
]))(self
) /* n_id on <self:ATypePropdef>*/;
6930 var30
= "Warning: lowercase in the virtual type ";
6932 var32
= string__NativeString__to_s_with_length(var30
, var31
);
6936 var33
= NEW_array__Array(&type_array__Arraykernel__Object
);
6937 { /* var33 = array_instance Array[Object] */
6939 var35
= NEW_array__NativeArray(var34
, &type_array__NativeArraykernel__Object
);
6940 ((struct instance_array__NativeArray
*)var35
)->values
[0] = (val
*) var29
;
6941 ((struct instance_array__NativeArray
*)var35
)->values
[1] = (val
*) var_name
;
6942 ((void (*)(val
*, val
*, long))(var33
->class->vft
[COLOR_array__Array__with_native
]))(var33
, var35
, var34
) /* with_native on <var33:Array[Object]>*/;
6944 var36
= ((val
* (*)(val
*))(var33
->class->vft
[COLOR_string__Object__to_s
]))(var33
) /* to_s on <var33:Array[Object]>*/;
6945 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__warning
]))(var_modelbuilder
, var28
, var36
) /* warning on <var_modelbuilder:ModelBuilder>*/;
6949 CONTINUE_label
: (void)0;
6950 ((void (*)(val
*))(var10
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var10
) /* next on <var10:Iterator[nullable Object]>*/;
6952 BREAK_label
: (void)0;
6953 var37
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ATypePropdef__n_kwredef
]))(self
) /* n_kwredef on <self:ATypePropdef>*/;
6955 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>*/;
6962 var41
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ATypePropdef__n_kwredef
]))(self
) /* n_kwredef on <self:ATypePropdef>*/;
6964 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>*/;
6970 /* <var_mprop:nullable MProperty(MProperty)> isa MVirtualTypeProp */
6971 cltype46
= type_model__MVirtualTypeProp
.color
;
6972 idtype47
= type_model__MVirtualTypeProp
.id
;
6973 if(cltype46
>= var_mprop
->type
->table_size
) {
6976 var45
= var_mprop
->type
->type_table
[cltype46
] == idtype47
;
6979 fprintf(stderr
, "Runtime error: %s", "Assert failed");
6980 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 865);
6983 var48
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ATypePropdef__n_visibility
]))(self
) /* n_visibility on <self:ATypePropdef>*/;
6984 ((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>*/;
6986 var49
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_property__AClassdef__mprop2npropdef
]))(var_nclassdef
) /* mprop2npropdef on <var_nclassdef:AClassdef>*/;
6987 ((void (*)(val
*, val
*, val
*))(var49
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var49
, var_mprop
, self
) /* []= on <var49:Map[MProperty, APropdef]>*/;
6988 var50
= NEW_model__MVirtualTypeDef(&type_model__MVirtualTypeDef
);
6989 var51
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__location
]))(self
) /* location on <self:ATypePropdef>*/;
6990 ((void (*)(val
*, val
*, val
*, val
*))(var50
->class->vft
[COLOR_model__MVirtualTypeDef__init
]))(var50
, var_mclassdef
, var_mprop
, var51
) /* init on <var50:MVirtualTypeDef>*/;
6991 var_mpropdef
= var50
;
6992 /* <var_mpropdef:MVirtualTypeDef> isa nullable MPROPDEF */
6993 type_struct
= self
->type
->resolution_table
->types
[COLOR_nullable_parser_nodes__APropdef_VTMPROPDEF
];
6994 cltype53
= type_struct
->color
;
6995 idtype54
= type_struct
->id
;
6996 if(cltype53
>= var_mpropdef
->type
->table_size
) {
6999 var52
= var_mpropdef
->type
->type_table
[cltype53
] == idtype54
;
7002 var_class_name55
= var_mpropdef
== NULL ?
"null" : var_mpropdef
->type
->name
;
7003 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name55
);
7004 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 871);
7007 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__mpropdef_61d
]))(self
, var_mpropdef
) /* mpropdef= on <self:ATypePropdef>*/;
7010 /* method modelize_property#ATypePropdef#build_property for (self: Object, ModelBuilder, AClassdef) */
7011 void VIRTUAL_modelize_property__ATypePropdef__build_property(val
* self
, val
* p0
, val
* p1
) {
7012 modelize_property__ATypePropdef__build_property(self
, p0
, p1
);
7015 /* method modelize_property#ATypePropdef#build_signature for (self: ATypePropdef, ModelBuilder, AClassdef) */
7016 void modelize_property__ATypePropdef__build_signature(val
* self
, val
* p0
, val
* p1
) {
7017 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
7018 val
* var_nclassdef
/* var nclassdef: AClassdef */;
7019 val
* var
/* : nullable MPropDef */;
7020 val
* var_mpropdef
/* var mpropdef: nullable MVirtualTypeDef */;
7021 val
* var1
/* : null */;
7022 short int var2
/* : Bool */;
7023 val
* var3
/* : MClassDef */;
7024 val
* var4
/* : MModule */;
7025 val
* var_mmodule
/* var mmodule: MModule */;
7026 val
* var5
/* : null */;
7027 val
* var_mtype
/* var mtype: nullable MType */;
7028 val
* var6
/* : AType */;
7029 val
* var_ntype
/* var ntype: AType */;
7030 val
* var7
/* : nullable MType */;
7031 val
* var8
/* : null */;
7032 short int var9
/* : Bool */;
7033 var_modelbuilder
= p0
;
7035 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__mpropdef
]))(self
) /* mpropdef on <self:ATypePropdef>*/;
7038 if (var_mpropdef
== NULL
) {
7039 var2
= 1; /* is null */
7041 var2
= 0; /* arg is null but recv is not */
7047 var3
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var_mpropdef
) /* mclassdef on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)>*/;
7048 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_model__MClassDef__mmodule
]))(var3
) /* mmodule on <var3:MClassDef>*/;
7052 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ATypePropdef__n_type
]))(self
) /* n_type on <self:ATypePropdef>*/;
7054 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>*/;
7057 if (var_mtype
== NULL
) {
7058 var9
= 1; /* is null */
7060 var9
= 0; /* arg is null but recv is not */
7066 ((void (*)(val
*, val
*))(var_mpropdef
->class->vft
[COLOR_model__MVirtualTypeDef__bound_61d
]))(var_mpropdef
, var_mtype
) /* bound= on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)>*/;
7069 /* method modelize_property#ATypePropdef#build_signature for (self: Object, ModelBuilder, AClassdef) */
7070 void VIRTUAL_modelize_property__ATypePropdef__build_signature(val
* self
, val
* p0
, val
* p1
) {
7071 modelize_property__ATypePropdef__build_signature(self
, p0
, p1
);
7074 /* method modelize_property#ATypePropdef#check_signature for (self: ATypePropdef, ModelBuilder, AClassdef) */
7075 void modelize_property__ATypePropdef__check_signature(val
* self
, val
* p0
, val
* p1
) {
7076 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
7077 val
* var_nclassdef
/* var nclassdef: AClassdef */;
7078 val
* var
/* : nullable MPropDef */;
7079 val
* var_mpropdef
/* var mpropdef: nullable MVirtualTypeDef */;
7080 val
* var1
/* : null */;
7081 short int var2
/* : Bool */;
7082 val
* var3
/* : nullable MPropDef */;
7083 val
* var4
/* : nullable MType */;
7084 val
* var_bound
/* var bound: nullable MType */;
7085 short int var5
/* : Bool */;
7088 short int var6
/* : Bool */;
7089 val
* var7
/* : nullable MClassDef */;
7090 val
* var8
/* : MModule */;
7091 val
* var_mmodule
/* var mmodule: MModule */;
7092 val
* var9
/* : nullable MClassDef */;
7093 val
* var10
/* : MClassType */;
7094 val
* var_anchor
/* var anchor: MClassType */;
7095 val
* var11
/* : Array[MVirtualType] */;
7096 long var12
/* : Int */;
7097 val
* var_
/* var : Array[MVirtualType] */;
7098 val
* var13
/* : nullable MPropDef */;
7099 val
* var14
/* : MProperty */;
7100 val
* var15
/* : MVirtualType */;
7101 val
* var_seen
/* var seen: Array[MVirtualType] */;
7102 short int var16
/* : Bool */;
7103 static val
* varonce
;
7104 val
* var17
/* : String */;
7105 char* var18
/* : NativeString */;
7106 long var19
/* : Int */;
7107 val
* var20
/* : String */;
7108 static val
* varonce21
;
7109 val
* var22
/* : String */;
7110 char* var23
/* : NativeString */;
7111 long var24
/* : Int */;
7112 val
* var25
/* : String */;
7113 val
* var26
/* : String */;
7114 val
* var27
/* : Array[Object] */;
7115 long var28
/* : Int */;
7116 val
* var29
/* : NativeArray[Object] */;
7117 val
* var30
/* : String */;
7118 val
* var31
/* : MType */;
7119 val
* var_next
/* var next: MType */;
7120 short int var32
/* : Bool */;
7123 short int var35
/* : Bool */;
7124 var_modelbuilder
= p0
;
7126 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__mpropdef
]))(self
) /* mpropdef on <self:ATypePropdef>*/;
7129 if (var_mpropdef
== NULL
) {
7130 var2
= 1; /* is null */
7132 var2
= 0; /* arg is null but recv is not */
7138 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__mpropdef
]))(self
) /* mpropdef on <self:ATypePropdef>*/;
7140 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
7141 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 894);
7144 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_model__MVirtualTypeDef__bound
]))(var3
) /* bound on <var3:nullable MPropDef(nullable MVirtualTypeDef)>*/;
7147 /* <var_bound:nullable MType> isa MVirtualType */
7148 cltype
= type_model__MVirtualType
.color
;
7149 idtype
= type_model__MVirtualType
.id
;
7150 if(var_bound
== NULL
) {
7153 if(cltype
>= var_bound
->type
->table_size
) {
7156 var5
= var_bound
->type
->type_table
[cltype
] == idtype
;
7164 var7
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef>*/;
7166 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
7167 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 899);
7170 var8
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_model__MClassDef__mmodule
]))(var7
) /* mmodule on <var7:nullable MClassDef>*/;
7173 var9
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef>*/;
7175 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
7176 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 900);
7179 var10
= ((val
* (*)(val
*))(var9
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var9
) /* bound_mtype on <var9:nullable MClassDef>*/;
7182 var11
= NEW_array__Array(&type_array__Arraymodel__MVirtualType
);
7184 ((void (*)(val
*, long))(var11
->class->vft
[COLOR_array__Array__with_capacity
]))(var11
, var12
) /* with_capacity on <var11:Array[MVirtualType]>*/;
7186 var13
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__mpropdef
]))(self
) /* mpropdef on <self:ATypePropdef>*/;
7187 if (var13
== NULL
) {
7188 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
7189 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 903);
7192 var14
= ((val
* (*)(val
*))(var13
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var13
) /* mproperty on <var13:nullable MPropDef(nullable MVirtualTypeDef)>*/;
7194 var15
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_model__MVirtualTypeProp__mvirtualtype
]))(var14
) /* mvirtualtype on <var14:MProperty(MVirtualTypeProp)>*/;
7195 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__Sequence__push
]))(var_
, var15
) /* push on <var_:Array[MVirtualType]>*/;
7198 var16
= ((short int (*)(val
*, val
*))(var_seen
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var_seen
, var_bound
) /* has on <var_seen:Array[MVirtualType]>*/;
7200 ((void (*)(val
*, val
*))(var_seen
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_seen
, var_bound
) /* add on <var_seen:Array[MVirtualType]>*/;
7204 var18
= "Error: circularity of virtual type definition: ";
7206 var20
= string__NativeString__to_s_with_length(var18
, var19
);
7215 var25
= string__NativeString__to_s_with_length(var23
, var24
);
7219 var26
= ((val
* (*)(val
*, val
*))(var_seen
->class->vft
[COLOR_string__Collection__join
]))(var_seen
, var22
) /* join on <var_seen:Array[MVirtualType]>*/;
7220 var27
= NEW_array__Array(&type_array__Arraykernel__Object
);
7221 { /* var27 = array_instance Array[Object] */
7223 var29
= NEW_array__NativeArray(var28
, &type_array__NativeArraykernel__Object
);
7224 ((struct instance_array__NativeArray
*)var29
)->values
[0] = (val
*) var17
;
7225 ((struct instance_array__NativeArray
*)var29
)->values
[1] = (val
*) var26
;
7226 ((void (*)(val
*, val
*, long))(var27
->class->vft
[COLOR_array__Array__with_native
]))(var27
, var29
, var28
) /* with_native on <var27:Array[Object]>*/;
7228 var30
= ((val
* (*)(val
*))(var27
->class->vft
[COLOR_string__Object__to_s
]))(var27
) /* to_s on <var27:Array[Object]>*/;
7229 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, self
, var30
) /* error on <var_modelbuilder:ModelBuilder>*/;
7233 ((void (*)(val
*, val
*))(var_seen
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_seen
, var_bound
) /* add on <var_seen:Array[MVirtualType]>*/;
7234 var31
= ((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)>*/;
7236 /* <var_next:MType> isa MVirtualType */
7237 cltype33
= type_model__MVirtualType
.color
;
7238 idtype34
= type_model__MVirtualType
.id
;
7239 if(cltype33
>= var_next
->type
->table_size
) {
7242 var32
= var_next
->type
->type_table
[cltype33
] == idtype34
;
7249 var_bound
= var_next
;
7250 CONTINUE_label
: (void)0;
7252 BREAK_label
: (void)0;
7255 /* method modelize_property#ATypePropdef#check_signature for (self: Object, ModelBuilder, AClassdef) */
7256 void VIRTUAL_modelize_property__ATypePropdef__check_signature(val
* self
, val
* p0
, val
* p1
) {
7257 modelize_property__ATypePropdef__check_signature(self
, p0
, p1
);