1 #include "modelize_property.sep.0.h"
2 /* method modelize_property#ToolContext#modelize_property_phase for (self: ToolContext): Phase */
3 val
* modelize_property__ToolContext__modelize_property_phase(val
* self
) {
4 val
* var
/* : Phase */;
5 val
* var1
/* : Phase */;
6 var1
= self
->attrs
[COLOR_modelize_property__ToolContext___64dmodelize_property_phase
].val
; /* @modelize_property_phase on <self:ToolContext> */
8 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @modelize_property_phase");
9 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 23);
16 /* method modelize_property#ToolContext#modelize_property_phase for (self: Object): Phase */
17 val
* VIRTUAL_modelize_property__ToolContext__modelize_property_phase(val
* self
) {
18 val
* var
/* : Phase */;
19 val
* var1
/* : Phase */;
20 var1
= modelize_property__ToolContext__modelize_property_phase(self
);
25 /* method modelize_property#ToolContext#modelize_property_phase= for (self: ToolContext, Phase) */
26 void modelize_property__ToolContext__modelize_property_phase_61d(val
* self
, val
* p0
) {
27 self
->attrs
[COLOR_modelize_property__ToolContext___64dmodelize_property_phase
].val
= p0
; /* @modelize_property_phase on <self:ToolContext> */
30 /* method modelize_property#ToolContext#modelize_property_phase= for (self: Object, Phase) */
31 void VIRTUAL_modelize_property__ToolContext__modelize_property_phase_61d(val
* self
, val
* p0
) {
32 modelize_property__ToolContext__modelize_property_phase_61d(self
, p0
);
35 /* method modelize_property#ModelizePropertyPhase#process_nmodule for (self: ModelizePropertyPhase, AModule) */
36 void modelize_property__ModelizePropertyPhase__process_nmodule(val
* self
, val
* p0
) {
37 val
* var_nmodule
/* var nmodule: AModule */;
38 val
* var
/* : ANodes[AClassdef] */;
39 val
* var1
/* : Iterator[nullable Object] */;
40 short int var2
/* : Bool */;
41 val
* var3
/* : nullable Object */;
42 val
* var_nclassdef
/* var nclassdef: AClassdef */;
43 val
* var4
/* : ToolContext */;
44 val
* var5
/* : ModelBuilder */;
46 var
= ((val
* (*)(val
*))(var_nmodule
->class->vft
[COLOR_parser_nodes__AModule__n_classdefs
]))(var_nmodule
) /* n_classdefs on <var_nmodule:AModule>*/;
47 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var
) /* iterator on <var:ANodes[AClassdef]>*/;
49 var2
= ((short int (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var1
) /* is_ok on <var1:Iterator[nullable Object]>*/;
51 var3
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var1
) /* item on <var1:Iterator[nullable Object]>*/;
53 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_phase__Phase__toolcontext
]))(self
) /* toolcontext on <self:ModelizePropertyPhase>*/;
54 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_modelbuilder__ToolContext__modelbuilder
]))(var4
) /* modelbuilder on <var4:ToolContext>*/;
55 ((void (*)(val
*, val
*))(var5
->class->vft
[COLOR_modelize_property__ModelBuilder__build_properties
]))(var5
, var_nclassdef
) /* build_properties on <var5:ModelBuilder>*/;
56 CONTINUE_label
: (void)0;
57 ((void (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var1
) /* next on <var1:Iterator[nullable Object]>*/;
62 /* method modelize_property#ModelizePropertyPhase#process_nmodule for (self: Object, AModule) */
63 void VIRTUAL_modelize_property__ModelizePropertyPhase__process_nmodule(val
* self
, val
* p0
) {
64 modelize_property__ModelizePropertyPhase__process_nmodule(self
, p0
);
67 /* method modelize_property#ModelBuilder#mpropdef2npropdef for (self: ModelBuilder): HashMap[MPropDef, APropdef] */
68 val
* modelize_property__ModelBuilder__mpropdef2npropdef(val
* self
) {
69 val
* var
/* : HashMap[MPropDef, APropdef] */;
70 val
* var1
/* : HashMap[MPropDef, APropdef] */;
71 var1
= self
->attrs
[COLOR_modelize_property__ModelBuilder___64dmpropdef2npropdef
].val
; /* @mpropdef2npropdef on <self:ModelBuilder> */
73 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @mpropdef2npropdef");
74 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 37);
81 /* method modelize_property#ModelBuilder#mpropdef2npropdef for (self: Object): HashMap[MPropDef, APropdef] */
82 val
* VIRTUAL_modelize_property__ModelBuilder__mpropdef2npropdef(val
* self
) {
83 val
* var
/* : HashMap[MPropDef, APropdef] */;
84 val
* var1
/* : HashMap[MPropDef, APropdef] */;
85 var1
= modelize_property__ModelBuilder__mpropdef2npropdef(self
);
90 /* method modelize_property#ModelBuilder#mpropdef2npropdef= for (self: ModelBuilder, HashMap[MPropDef, APropdef]) */
91 void modelize_property__ModelBuilder__mpropdef2npropdef_61d(val
* self
, val
* p0
) {
92 self
->attrs
[COLOR_modelize_property__ModelBuilder___64dmpropdef2npropdef
].val
= p0
; /* @mpropdef2npropdef on <self:ModelBuilder> */
95 /* method modelize_property#ModelBuilder#mpropdef2npropdef= for (self: Object, HashMap[MPropDef, APropdef]) */
96 void VIRTUAL_modelize_property__ModelBuilder__mpropdef2npropdef_61d(val
* self
, val
* p0
) {
97 modelize_property__ModelBuilder__mpropdef2npropdef_61d(self
, p0
);
100 /* method modelize_property#ModelBuilder#build_properties for (self: ModelBuilder, AClassdef) */
101 void modelize_property__ModelBuilder__build_properties(val
* self
, val
* p0
) {
102 val
* var_nclassdef
/* var nclassdef: AClassdef */;
103 short int var
/* : Bool */;
104 short int var1
/* : Bool */;
105 val
* var2
/* : nullable MClassDef */;
106 val
* var_mclassdef
/* var mclassdef: MClassDef */;
107 val
* var3
/* : nullable POSetElement[MClassDef] */;
108 val
* var4
/* : null */;
109 short int var5
/* : Bool */;
110 val
* var6
/* : nullable POSetElement[MClassDef] */;
111 val
* var7
/* : Collection[Object] */;
112 val
* var8
/* : Iterator[nullable Object] */;
113 short int var9
/* : Bool */;
114 val
* var10
/* : nullable Object */;
115 val
* var_superclassdef
/* var superclassdef: MClassDef */;
116 val
* var11
/* : HashMap[MClassDef, AClassdef] */;
117 val
* var12
/* : nullable Object */;
118 val
* var13
/* : ANodes[APropdef] */;
119 val
* var14
/* : Iterator[nullable Object] */;
120 short int var15
/* : Bool */;
121 val
* var16
/* : nullable Object */;
122 val
* var_npropdef
/* var npropdef: APropdef */;
123 val
* var18
/* : ANodes[APropdef] */;
124 val
* var19
/* : Iterator[nullable Object] */;
125 short int var20
/* : Bool */;
126 val
* var21
/* : nullable Object */;
127 val
* var_npropdef22
/* var npropdef: APropdef */;
128 val
* var24
/* : ANodes[APropdef] */;
129 val
* var25
/* : Iterator[nullable Object] */;
130 short int var26
/* : Bool */;
131 val
* var27
/* : nullable Object */;
132 val
* var_npropdef28
/* var npropdef: APropdef */;
134 var
= ((short int (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_property__AClassdef__build_properties_is_done
]))(var_nclassdef
) /* build_properties_is_done on <var_nclassdef:AClassdef>*/;
140 ((void (*)(val
*, short int))(var_nclassdef
->class->vft
[COLOR_modelize_property__AClassdef__build_properties_is_done_61d
]))(var_nclassdef
, var1
) /* build_properties_is_done= on <var_nclassdef:AClassdef>*/;
141 var2
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef>*/;
143 fprintf(stderr
, "Runtime error: %s", "Cast failed");
144 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 48);
147 var_mclassdef
= var2
;
148 var3
= ((val
* (*)(val
*))(var_mclassdef
->class->vft
[COLOR_model__MClassDef__in_hierarchy
]))(var_mclassdef
) /* in_hierarchy on <var_mclassdef:MClassDef>*/;
151 var5
= 1; /* is null */
153 var5
= 0; /* arg is null but recv is not */
159 var6
= ((val
* (*)(val
*))(var_mclassdef
->class->vft
[COLOR_model__MClassDef__in_hierarchy
]))(var_mclassdef
) /* in_hierarchy on <var_mclassdef:MClassDef>*/;
161 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
162 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 50);
165 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_poset__POSetElement__direct_greaters
]))(var6
) /* direct_greaters on <var6:nullable POSetElement[MClassDef]>*/;
167 var8
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var7
) /* iterator on <var7:Collection[Object](Collection[MClassDef])>*/;
169 var9
= ((short int (*)(val
*))(var8
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var8
) /* is_ok on <var8:Iterator[nullable Object]>*/;
171 var10
= ((val
* (*)(val
*))(var8
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var8
) /* item on <var8:Iterator[nullable Object]>*/;
172 var_superclassdef
= var10
;
173 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_class__ModelBuilder__mclassdef2nclassdef
]))(self
) /* mclassdef2nclassdef on <self:ModelBuilder>*/;
174 var12
= ((val
* (*)(val
*, val
*))(var11
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var11
, var_superclassdef
) /* [] on <var11:HashMap[MClassDef, AClassdef]>*/;
175 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_modelize_property__ModelBuilder__build_properties
]))(self
, var12
) /* build_properties on <self:ModelBuilder>*/;
176 CONTINUE_label
: (void)0;
177 ((void (*)(val
*))(var8
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var8
) /* next on <var8:Iterator[nullable Object]>*/;
179 BREAK_label
: (void)0;
180 var13
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_parser_nodes__AClassdef__n_propdefs
]))(var_nclassdef
) /* n_propdefs on <var_nclassdef:AClassdef>*/;
181 var14
= ((val
* (*)(val
*))(var13
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var13
) /* iterator on <var13:ANodes[APropdef]>*/;
183 var15
= ((short int (*)(val
*))(var14
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var14
) /* is_ok on <var14:Iterator[nullable Object]>*/;
185 var16
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var14
) /* item on <var14:Iterator[nullable Object]>*/;
186 var_npropdef
= var16
;
187 ((void (*)(val
*, val
*, val
*))(var_npropdef
->class->vft
[COLOR_modelize_property__APropdef__build_property
]))(var_npropdef
, self
, var_nclassdef
) /* build_property on <var_npropdef:APropdef>*/;
188 CONTINUE_label17
: (void)0;
189 ((void (*)(val
*))(var14
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var14
) /* next on <var14:Iterator[nullable Object]>*/;
191 BREAK_label17
: (void)0;
192 var18
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_parser_nodes__AClassdef__n_propdefs
]))(var_nclassdef
) /* n_propdefs on <var_nclassdef:AClassdef>*/;
193 var19
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var18
) /* iterator on <var18:ANodes[APropdef]>*/;
195 var20
= ((short int (*)(val
*))(var19
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var19
) /* is_ok on <var19:Iterator[nullable Object]>*/;
197 var21
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var19
) /* item on <var19:Iterator[nullable Object]>*/;
198 var_npropdef22
= var21
;
199 ((void (*)(val
*, val
*, val
*))(var_npropdef22
->class->vft
[COLOR_modelize_property__APropdef__build_signature
]))(var_npropdef22
, self
, var_nclassdef
) /* build_signature on <var_npropdef22:APropdef>*/;
200 CONTINUE_label23
: (void)0;
201 ((void (*)(val
*))(var19
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var19
) /* next on <var19:Iterator[nullable Object]>*/;
203 BREAK_label23
: (void)0;
204 var24
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_parser_nodes__AClassdef__n_propdefs
]))(var_nclassdef
) /* n_propdefs on <var_nclassdef:AClassdef>*/;
205 var25
= ((val
* (*)(val
*))(var24
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var24
) /* iterator on <var24:ANodes[APropdef]>*/;
207 var26
= ((short int (*)(val
*))(var25
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var25
) /* is_ok on <var25:Iterator[nullable Object]>*/;
209 var27
= ((val
* (*)(val
*))(var25
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var25
) /* item on <var25:Iterator[nullable Object]>*/;
210 var_npropdef28
= var27
;
211 ((void (*)(val
*, val
*, val
*))(var_npropdef28
->class->vft
[COLOR_modelize_property__APropdef__check_signature
]))(var_npropdef28
, self
, var_nclassdef
) /* check_signature on <var_npropdef28:APropdef>*/;
212 CONTINUE_label29
: (void)0;
213 ((void (*)(val
*))(var25
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var25
) /* next on <var25:Iterator[nullable Object]>*/;
215 BREAK_label29
: (void)0;
216 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_modelize_property__ModelBuilder__process_default_constructors
]))(self
, var_nclassdef
) /* process_default_constructors on <self:ModelBuilder>*/;
219 /* method modelize_property#ModelBuilder#build_properties for (self: Object, AClassdef) */
220 void VIRTUAL_modelize_property__ModelBuilder__build_properties(val
* self
, val
* p0
) {
221 modelize_property__ModelBuilder__build_properties(self
, p0
);
224 /* method modelize_property#ModelBuilder#process_default_constructors for (self: ModelBuilder, AClassdef) */
225 void modelize_property__ModelBuilder__process_default_constructors(val
* self
, val
* p0
) {
226 val
* var_nclassdef
/* var nclassdef: AClassdef */;
227 val
* var
/* : nullable MClassDef */;
228 val
* var_mclassdef
/* var mclassdef: MClassDef */;
229 short int var1
/* : Bool */;
230 short int var2
/* : Bool */;
231 val
* var3
/* : MClass */;
232 val
* var4
/* : MClassKind */;
233 short int var5
/* : Bool */;
234 short int var6
/* : Bool */;
235 val
* var7
/* : Array[MPropDef] */;
236 val
* var8
/* : Iterator[nullable Object] */;
237 short int var9
/* : Bool */;
238 val
* var10
/* : nullable Object */;
239 val
* var_mpropdef
/* var mpropdef: MPropDef */;
240 short int var11
/* : Bool */;
243 short int var12
/* : Bool */;
244 val
* var13
/* : MProperty */;
245 short int var14
/* : Bool */;
246 short int var15
/* : Bool */;
249 short int var18
/* : Bool */;
250 val
* var19
/* : nullable MClassDef */;
251 val
* var20
/* : MModule */;
252 val
* var_mmodule
/* var mmodule: MModule */;
253 val
* var21
/* : Array[MMethod] */;
254 val
* var_combine
/* var combine: Array[MMethod] */;
255 val
* var22
/* : null */;
256 val
* var_inhc
/* var inhc: nullable MClass */;
257 val
* var23
/* : Array[MClassType] */;
258 val
* var24
/* : Iterator[nullable Object] */;
259 short int var25
/* : Bool */;
260 val
* var26
/* : nullable Object */;
261 val
* var_st
/* var st: MClassType */;
262 val
* var27
/* : MClass */;
263 val
* var_c
/* var c: MClass */;
264 val
* var28
/* : MClassKind */;
265 short int var29
/* : Bool */;
266 short int var30
/* : Bool */;
267 val
* var32
/* : nullable MClassDef */;
268 val
* var33
/* : MClassType */;
269 val
* var34
/* : MType */;
271 val
* var35
/* : String */;
272 char* var36
/* : NativeString */;
273 long var37
/* : Int */;
274 val
* var38
/* : String */;
275 val
* var39
/* : nullable MProperty */;
276 short int var40
/* : Bool */;
279 const char* var_class_name
;
280 val
* var_candidate
/* var candidate: nullable MMethod */;
281 short int var43
/* : Bool */;
282 val
* var44
/* : null */;
283 short int var45
/* : Bool */;
284 short int var_
/* var : Bool */;
285 val
* var46
/* : MPropDef */;
286 val
* var47
/* : nullable MSignature */;
287 long var48
/* : Int */;
288 long var49
/* : Int */;
289 short int var50
/* : Bool */;
290 short int var52
/* : Bool */;
291 val
* var53
/* : nullable MClass */;
292 val
* var_inhc2
/* var inhc2: nullable MClass */;
293 val
* var54
/* : null */;
294 short int var55
/* : Bool */;
295 short int var56
/* : Bool */;
296 val
* var57
/* : null */;
297 short int var58
/* : Bool */;
298 static val
* varonce59
;
299 val
* var60
/* : String */;
300 char* var61
/* : NativeString */;
301 long var62
/* : Int */;
302 val
* var63
/* : String */;
303 static val
* varonce64
;
304 val
* var65
/* : String */;
305 char* var66
/* : NativeString */;
306 long var67
/* : Int */;
307 val
* var68
/* : String */;
308 val
* var69
/* : Array[Object] */;
309 long var70
/* : Int */;
310 val
* var71
/* : NativeArray[Object] */;
311 val
* var72
/* : String */;
312 short int var73
/* : Bool */;
313 short int var74
/* : Bool */;
314 short int var_75
/* var : Bool */;
315 val
* var76
/* : null */;
316 short int var77
/* : Bool */;
317 val
* var78
/* : ToolContext */;
318 static val
* varonce79
;
319 val
* var80
/* : String */;
320 char* var81
/* : NativeString */;
321 long var82
/* : Int */;
322 val
* var83
/* : String */;
323 val
* var84
/* : Array[Object] */;
324 long var85
/* : Int */;
325 val
* var86
/* : NativeArray[Object] */;
326 val
* var87
/* : String */;
327 long var88
/* : Int */;
328 val
* var89
/* : MClass */;
329 short int var90
/* : Bool */;
330 short int var91
/* : Bool */;
331 short int var92
/* : Bool */;
332 short int var_93
/* var : Bool */;
333 val
* var94
/* : null */;
334 short int var95
/* : Bool */;
335 static val
* varonce96
;
336 val
* var97
/* : String */;
337 char* var98
/* : NativeString */;
338 long var99
/* : Int */;
339 val
* var100
/* : String */;
340 static val
* varonce101
;
341 val
* var102
/* : String */;
342 char* var103
/* : NativeString */;
343 long var104
/* : Int */;
344 val
* var105
/* : String */;
345 val
* var106
/* : String */;
346 static val
* varonce107
;
347 val
* var108
/* : String */;
348 char* var109
/* : NativeString */;
349 long var110
/* : Int */;
350 val
* var111
/* : String */;
351 val
* var112
/* : Array[Object] */;
352 long var113
/* : Int */;
353 val
* var114
/* : NativeArray[Object] */;
354 val
* var115
/* : String */;
355 short int var116
/* : Bool */;
356 short int var117
/* : Bool */;
357 val
* var118
/* : MMethod */;
358 static val
* varonce119
;
359 val
* var120
/* : String */;
360 char* var121
/* : NativeString */;
361 long var122
/* : Int */;
362 val
* var123
/* : String */;
363 val
* var124
/* : MClass */;
364 val
* var125
/* : MVisibility */;
365 val
* var_mprop
/* var mprop: MMethod */;
366 val
* var126
/* : MMethodDef */;
367 val
* var127
/* : Location */;
368 val
* var_mpropdef128
/* var mpropdef: MMethodDef */;
369 val
* var129
/* : Array[MParameter] */;
370 val
* var_mparameters
/* var mparameters: Array[MParameter] */;
371 val
* var130
/* : MSignature */;
372 val
* var131
/* : null */;
373 val
* var_msignature
/* var msignature: MSignature */;
374 short int var132
/* : Bool */;
375 val
* var133
/* : ToolContext */;
376 static val
* varonce134
;
377 val
* var135
/* : String */;
378 char* var136
/* : NativeString */;
379 long var137
/* : Int */;
380 val
* var138
/* : String */;
381 val
* var139
/* : Array[Object] */;
382 long var140
/* : Int */;
383 val
* var141
/* : NativeArray[Object] */;
384 val
* var142
/* : String */;
385 long var143
/* : Int */;
386 val
* var144
/* : Array[MParameter] */;
387 val
* var_mparameters145
/* var mparameters: Array[MParameter] */;
388 val
* var146
/* : ANodes[APropdef] */;
389 val
* var147
/* : Iterator[nullable Object] */;
390 short int var148
/* : Bool */;
391 val
* var149
/* : nullable Object */;
392 val
* var_npropdef
/* var npropdef: APropdef */;
393 short int var150
/* : Bool */;
394 short int var151
/* : Bool */;
397 short int var_154
/* var : Bool */;
398 val
* var155
/* : nullable AExpr */;
399 val
* var156
/* : null */;
400 short int var157
/* : Bool */;
401 val
* var158
/* : nullable MPropDef */;
402 val
* var159
/* : null */;
403 short int var160
/* : Bool */;
404 val
* var161
/* : nullable MPropDef */;
405 val
* var162
/* : MProperty */;
406 val
* var163
/* : String */;
407 long var164
/* : Int */;
408 val
* var165
/* : String */;
409 val
* var_paramname
/* var paramname: String */;
410 val
* var166
/* : nullable MPropDef */;
411 val
* var167
/* : nullable MType */;
412 val
* var_ret_type
/* var ret_type: nullable MType */;
413 val
* var168
/* : null */;
414 short int var169
/* : Bool */;
415 val
* var170
/* : MParameter */;
416 short int var171
/* : Bool */;
417 val
* var_mparameter
/* var mparameter: MParameter */;
418 val
* var173
/* : MMethod */;
419 static val
* varonce174
;
420 val
* var175
/* : String */;
421 char* var176
/* : NativeString */;
422 long var177
/* : Int */;
423 val
* var178
/* : String */;
424 val
* var179
/* : MClass */;
425 val
* var180
/* : MVisibility */;
426 val
* var_mprop181
/* var mprop: MMethod */;
427 val
* var182
/* : MMethodDef */;
428 val
* var183
/* : Location */;
429 val
* var_mpropdef184
/* var mpropdef: MMethodDef */;
430 val
* var185
/* : MSignature */;
431 val
* var186
/* : null */;
432 val
* var_msignature187
/* var msignature: MSignature */;
433 short int var188
/* : Bool */;
434 val
* var189
/* : ToolContext */;
435 static val
* varonce190
;
436 val
* var191
/* : String */;
437 char* var192
/* : NativeString */;
438 long var193
/* : Int */;
439 val
* var194
/* : String */;
440 val
* var195
/* : Array[Object] */;
441 long var196
/* : Int */;
442 val
* var197
/* : NativeArray[Object] */;
443 val
* var198
/* : String */;
444 long var199
/* : Int */;
446 var
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef>*/;
448 fprintf(stderr
, "Runtime error: %s", "Cast failed");
449 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 70);
453 var1
= ((short int (*)(val
*))(var_mclassdef
->class->vft
[COLOR_model__MClassDef__is_intro
]))(var_mclassdef
) /* is_intro on <var_mclassdef:MClassDef>*/;
459 var3
= ((val
* (*)(val
*))(var_mclassdef
->class->vft
[COLOR_model__MClassDef__mclass
]))(var_mclassdef
) /* mclass on <var_mclassdef:MClassDef>*/;
460 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_model__MClass__kind
]))(var3
) /* kind on <var3:MClass>*/;
461 var5
= ((short int (*)(val
*))(var4
->class->vft
[COLOR_model__MClassKind__need_init
]))(var4
) /* need_init on <var4:MClassKind>*/;
467 var7
= ((val
* (*)(val
*))(var_mclassdef
->class->vft
[COLOR_model__MClassDef__mpropdefs
]))(var_mclassdef
) /* mpropdefs on <var_mclassdef:MClassDef>*/;
468 var8
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var7
) /* iterator on <var7:Array[MPropDef]>*/;
470 var9
= ((short int (*)(val
*))(var8
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var8
) /* is_ok on <var8:Iterator[nullable Object]>*/;
472 var10
= ((val
* (*)(val
*))(var8
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var8
) /* item on <var8:Iterator[nullable Object]>*/;
473 var_mpropdef
= var10
;
474 /* <var_mpropdef:MPropDef> isa MMethodDef */
475 cltype
= type_model__MMethodDef
.color
;
476 idtype
= type_model__MMethodDef
.id
;
477 if(cltype
>= var_mpropdef
->type
->table_size
) {
480 var11
= var_mpropdef
->type
->type_table
[cltype
] == idtype
;
487 var13
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var_mpropdef
) /* mproperty on <var_mpropdef:MPropDef(MMethodDef)>*/;
488 var14
= ((short int (*)(val
*))(var13
->class->vft
[COLOR_model__MMethod__is_init
]))(var13
) /* is_init on <var13:MProperty(MMethod)>*/;
493 CONTINUE_label
: (void)0;
494 ((void (*)(val
*))(var8
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var8
) /* next on <var8:Iterator[nullable Object]>*/;
496 BREAK_label
: (void)0;
497 /* <var_nclassdef:AClassdef> isa AStdClassdef */
498 cltype16
= type_parser_nodes__AStdClassdef
.color
;
499 idtype17
= type_parser_nodes__AStdClassdef
.id
;
500 if(cltype16
>= var_nclassdef
->type
->table_size
) {
503 var15
= var_nclassdef
->type
->type_table
[cltype16
] == idtype17
;
510 var19
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef(AStdClassdef)>*/;
512 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
513 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 86);
516 var20
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_model__MClassDef__mmodule
]))(var19
) /* mmodule on <var19:nullable MClassDef>*/;
519 var21
= NEW_array__Array(&type_array__Arraymodel__MMethod
);
520 ((void (*)(val
*))(var21
->class->vft
[COLOR_array__Array__init
]))(var21
) /* init on <var21:Array[MMethod]>*/;
521 CHECK_NEW_array__Array(var21
);
525 var23
= ((val
* (*)(val
*))(var_mclassdef
->class->vft
[COLOR_model__MClassDef__supertypes
]))(var_mclassdef
) /* supertypes on <var_mclassdef:MClassDef>*/;
526 var24
= ((val
* (*)(val
*))(var23
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var23
) /* iterator on <var23:Array[MClassType]>*/;
528 var25
= ((short int (*)(val
*))(var24
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var24
) /* is_ok on <var24:Iterator[nullable Object]>*/;
530 var26
= ((val
* (*)(val
*))(var24
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var24
) /* item on <var24:Iterator[nullable Object]>*/;
532 var27
= ((val
* (*)(val
*))(var_st
->class->vft
[COLOR_model__MClassType__mclass
]))(var_st
) /* mclass on <var_st:MClassType>*/;
534 var28
= ((val
* (*)(val
*))(var_c
->class->vft
[COLOR_model__MClass__kind
]))(var_c
) /* kind on <var_c:MClass>*/;
535 var29
= ((short int (*)(val
*))(var28
->class->vft
[COLOR_model__MClassKind__need_init
]))(var28
) /* need_init on <var28:MClassKind>*/;
538 goto CONTINUE_label31
;
541 var32
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef(AStdClassdef)>*/;
543 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
544 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 93);
547 var33
= ((val
* (*)(val
*))(var32
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var32
) /* bound_mtype on <var32:nullable MClassDef>*/;
549 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>*/;
556 var38
= string__NativeString__to_s_with_length(var36
, var37
);
560 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>*/;
561 /* <var39:nullable MProperty> isa nullable MMethod */
562 cltype41
= type_nullable_model__MMethod
.color
;
563 idtype42
= type_nullable_model__MMethod
.id
;
567 if(cltype41
>= var39
->type
->table_size
) {
570 var40
= var39
->type
->type_table
[cltype41
] == idtype42
;
574 var_class_name
= var39
== NULL ?
"null" : var39
->type
->name
;
575 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MMethod", var_class_name
);
576 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 94);
579 var_candidate
= var39
;
581 if (var_candidate
== NULL
) {
582 var45
= 0; /* is null */
584 var45
= 1; /* arg is null and recv is not */
588 var46
= ((val
* (*)(val
*))(var_candidate
->class->vft
[COLOR_model__MProperty__intro
]))(var_candidate
) /* intro on <var_candidate:nullable MMethod(MMethod)>*/;
589 var47
= ((val
* (*)(val
*))(var46
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var46
) /* msignature on <var46:MPropDef(MMethodDef)>*/;
591 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
592 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 95);
595 var48
= ((long (*)(val
*))(var47
->class->vft
[COLOR_model__MSignature__arity
]))(var47
) /* arity on <var47:nullable MSignature>*/;
598 { /* Inline kernel#Int#== (var48,var49) */
599 var52
= var48
== var49
;
609 ((void (*)(val
*, val
*))(var_combine
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_combine
, var_candidate
) /* add on <var_combine:Array[MMethod]>*/;
610 goto CONTINUE_label31
;
613 var53
= ((val
* (*)(val
*))(var_c
->class->vft
[COLOR_modelize_property__MClass__inherit_init_from
]))(var_c
) /* inherit_init_from on <var_c:MClass>*/;
616 if (var_inhc2
== NULL
) {
617 var55
= 1; /* is null */
619 var55
= 0; /* arg is null but recv is not */
625 var56
= ((short int (*)(val
*, val
*))(var_inhc2
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_inhc2
, var_inhc
) /* == on <var_inhc2:nullable MClass(MClass)>*/;
627 goto CONTINUE_label31
;
631 if (var_inhc
== NULL
) {
632 var58
= 0; /* is null */
634 var58
= 1; /* arg is null and recv is not */
640 var61
= "Error: Cannot provide a defaut constructor: conflict for ";
642 var63
= string__NativeString__to_s_with_length(var61
, var62
);
651 var68
= string__NativeString__to_s_with_length(var66
, var67
);
655 var69
= NEW_array__Array(&type_array__Arraykernel__Object
);
656 { /* var69 = array_instance Array[Object] */
658 var71
= NEW_array__NativeArray(var70
, &type_array__NativeArraykernel__Object
);
659 ((struct instance_array__NativeArray
*)var71
)->values
[0] = (val
*) var60
;
660 ((struct instance_array__NativeArray
*)var71
)->values
[1] = (val
*) var_inhc
;
661 ((struct instance_array__NativeArray
*)var71
)->values
[2] = (val
*) var65
;
662 ((struct instance_array__NativeArray
*)var71
)->values
[3] = (val
*) var_c
;
663 ((void (*)(val
*, val
*, long))(var69
->class->vft
[COLOR_array__Array__with_native
]))(var69
, var71
, var70
) /* with_native on <var69:Array[Object]>*/;
664 CHECK_NEW_array__Array(var69
);
666 var72
= ((val
* (*)(val
*))(var69
->class->vft
[COLOR_string__Object__to_s
]))(var69
) /* to_s on <var69:Array[Object]>*/;
667 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(self
, var_nclassdef
, var72
) /* error on <self:ModelBuilder>*/;
669 var_inhc
= var_inhc2
;
671 CONTINUE_label31
: (void)0;
672 ((void (*)(val
*))(var24
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var24
) /* next on <var24:Iterator[nullable Object]>*/;
674 BREAK_label31
: (void)0;
675 var74
= ((short int (*)(val
*))(var_combine
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(var_combine
) /* is_empty on <var_combine:Array[MMethod]>*/;
679 if (var_inhc
== NULL
) {
680 var77
= 0; /* is null */
682 var77
= 1; /* arg is null and recv is not */
689 var78
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
693 var81
= " inherits all constructors from ";
695 var83
= string__NativeString__to_s_with_length(var81
, var82
);
699 var84
= NEW_array__Array(&type_array__Arraykernel__Object
);
700 { /* var84 = array_instance Array[Object] */
702 var86
= NEW_array__NativeArray(var85
, &type_array__NativeArraykernel__Object
);
703 ((struct instance_array__NativeArray
*)var86
)->values
[0] = (val
*) var_mclassdef
;
704 ((struct instance_array__NativeArray
*)var86
)->values
[1] = (val
*) var80
;
705 ((struct instance_array__NativeArray
*)var86
)->values
[2] = (val
*) var_inhc
;
706 ((void (*)(val
*, val
*, long))(var84
->class->vft
[COLOR_array__Array__with_native
]))(var84
, var86
, var85
) /* with_native on <var84:Array[Object]>*/;
707 CHECK_NEW_array__Array(var84
);
709 var87
= ((val
* (*)(val
*))(var84
->class->vft
[COLOR_string__Object__to_s
]))(var84
) /* to_s on <var84:Array[Object]>*/;
711 ((void (*)(val
*, val
*, long))(var78
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var78
, var87
, var88
) /* info on <var78:ToolContext>*/;
712 var89
= ((val
* (*)(val
*))(var_mclassdef
->class->vft
[COLOR_model__MClassDef__mclass
]))(var_mclassdef
) /* mclass on <var_mclassdef:MClassDef>*/;
713 ((void (*)(val
*, val
*))(var89
->class->vft
[COLOR_modelize_property__MClass__inherit_init_from_61d
]))(var89
, var_inhc
) /* inherit_init_from= on <var89:MClass>*/;
717 var91
= ((short int (*)(val
*))(var_combine
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(var_combine
) /* is_empty on <var_combine:Array[MMethod]>*/;
722 if (var_inhc
== NULL
) {
723 var95
= 0; /* is null */
725 var95
= 1; /* arg is null and recv is not */
735 var98
= "Error: Cannot provide a defaut constructor: conflict for ";
737 var100
= string__NativeString__to_s_with_length(var98
, var99
);
746 var105
= string__NativeString__to_s_with_length(var103
, var104
);
750 var106
= ((val
* (*)(val
*, val
*))(var_combine
->class->vft
[COLOR_string__Collection__join
]))(var_combine
, var102
) /* join on <var_combine:Array[MMethod]>*/;
756 var111
= string__NativeString__to_s_with_length(var109
, var110
);
760 var112
= NEW_array__Array(&type_array__Arraykernel__Object
);
761 { /* var112 = array_instance Array[Object] */
763 var114
= NEW_array__NativeArray(var113
, &type_array__NativeArraykernel__Object
);
764 ((struct instance_array__NativeArray
*)var114
)->values
[0] = (val
*) var97
;
765 ((struct instance_array__NativeArray
*)var114
)->values
[1] = (val
*) var106
;
766 ((struct instance_array__NativeArray
*)var114
)->values
[2] = (val
*) var108
;
767 ((struct instance_array__NativeArray
*)var114
)->values
[3] = (val
*) var_inhc
;
768 ((void (*)(val
*, val
*, long))(var112
->class->vft
[COLOR_array__Array__with_native
]))(var112
, var114
, var113
) /* with_native on <var112:Array[Object]>*/;
769 CHECK_NEW_array__Array(var112
);
771 var115
= ((val
* (*)(val
*))(var112
->class->vft
[COLOR_string__Object__to_s
]))(var112
) /* to_s on <var112:Array[Object]>*/;
772 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(self
, var_nclassdef
, var115
) /* error on <self:ModelBuilder>*/;
776 var116
= ((short int (*)(val
*))(var_combine
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(var_combine
) /* is_empty on <var_combine:Array[MMethod]>*/;
779 ((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)>*/;
780 var118
= NEW_model__MMethod(&type_model__MMethod
);
786 var123
= string__NativeString__to_s_with_length(var121
, var122
);
790 var124
= ((val
* (*)(val
*))(var_mclassdef
->class->vft
[COLOR_model__MClassDef__mclass
]))(var_mclassdef
) /* mclass on <var_mclassdef:MClassDef>*/;
791 var125
= ((val
* (*)(val
*))(var124
->class->vft
[COLOR_model__MClass__visibility
]))(var124
) /* visibility on <var124:MClass>*/;
792 ((void (*)(val
*, val
*, val
*, val
*))(var118
->class->vft
[COLOR_model__MMethod__init
]))(var118
, var_mclassdef
, var120
, var125
) /* init on <var118:MMethod>*/;
793 CHECK_NEW_model__MMethod(var118
);
795 var126
= NEW_model__MMethodDef(&type_model__MMethodDef
);
796 var127
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_parser_nodes__ANode__location
]))(var_nclassdef
) /* location on <var_nclassdef:AClassdef(AStdClassdef)>*/;
797 ((void (*)(val
*, val
*, val
*, val
*))(var126
->class->vft
[COLOR_model__MMethodDef__init
]))(var126
, var_mclassdef
, var_mprop
, var127
) /* init on <var126:MMethodDef>*/;
798 CHECK_NEW_model__MMethodDef(var126
);
799 var_mpropdef128
= var126
;
800 var129
= NEW_array__Array(&type_array__Arraymodel__MParameter
);
801 ((void (*)(val
*))(var129
->class->vft
[COLOR_array__Array__init
]))(var129
) /* init on <var129:Array[MParameter]>*/;
802 CHECK_NEW_array__Array(var129
);
803 var_mparameters
= var129
;
804 var130
= NEW_model__MSignature(&type_model__MSignature
);
806 ((void (*)(val
*, val
*, val
*))(var130
->class->vft
[COLOR_model__MSignature__init
]))(var130
, var_mparameters
, var131
) /* init on <var130:MSignature>*/;
807 CHECK_NEW_model__MSignature(var130
);
808 var_msignature
= var130
;
809 ((void (*)(val
*, val
*))(var_mpropdef128
->class->vft
[COLOR_model__MMethodDef__msignature_61d
]))(var_mpropdef128
, var_msignature
) /* msignature= on <var_mpropdef128:MMethodDef>*/;
811 ((void (*)(val
*, short int))(var_mprop
->class->vft
[COLOR_model__MMethod__is_init_61d
]))(var_mprop
, var132
) /* is_init= on <var_mprop:MMethod>*/;
812 ((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)>*/;
813 var133
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
817 var136
= " gets a free empty constructor ";
819 var138
= string__NativeString__to_s_with_length(var136
, var137
);
823 var139
= NEW_array__Array(&type_array__Arraykernel__Object
);
824 { /* var139 = array_instance Array[Object] */
826 var141
= NEW_array__NativeArray(var140
, &type_array__NativeArraykernel__Object
);
827 ((struct instance_array__NativeArray
*)var141
)->values
[0] = (val
*) var_mclassdef
;
828 ((struct instance_array__NativeArray
*)var141
)->values
[1] = (val
*) var135
;
829 ((struct instance_array__NativeArray
*)var141
)->values
[2] = (val
*) var_mpropdef128
;
830 ((struct instance_array__NativeArray
*)var141
)->values
[3] = (val
*) var_msignature
;
831 ((void (*)(val
*, val
*, long))(var139
->class->vft
[COLOR_array__Array__with_native
]))(var139
, var141
, var140
) /* with_native on <var139:Array[Object]>*/;
832 CHECK_NEW_array__Array(var139
);
834 var142
= ((val
* (*)(val
*))(var139
->class->vft
[COLOR_string__Object__to_s
]))(var139
) /* to_s on <var139:Array[Object]>*/;
836 ((void (*)(val
*, val
*, long))(var133
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var133
, var142
, var143
) /* info on <var133:ToolContext>*/;
840 var144
= NEW_array__Array(&type_array__Arraymodel__MParameter
);
841 ((void (*)(val
*))(var144
->class->vft
[COLOR_array__Array__init
]))(var144
) /* init on <var144:Array[MParameter]>*/;
842 CHECK_NEW_array__Array(var144
);
843 var_mparameters145
= var144
;
844 var146
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_parser_nodes__AClassdef__n_propdefs
]))(var_nclassdef
) /* n_propdefs on <var_nclassdef:AClassdef(AStdClassdef)>*/;
845 var147
= ((val
* (*)(val
*))(var146
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var146
) /* iterator on <var146:ANodes[APropdef]>*/;
847 var148
= ((short int (*)(val
*))(var147
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var147
) /* is_ok on <var147:Iterator[nullable Object]>*/;
849 var149
= ((val
* (*)(val
*))(var147
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var147
) /* item on <var147:Iterator[nullable Object]>*/;
850 var_npropdef
= var149
;
851 /* <var_npropdef:APropdef> isa AAttrPropdef */
852 cltype152
= type_parser_nodes__AAttrPropdef
.color
;
853 idtype153
= type_parser_nodes__AAttrPropdef
.id
;
854 if(cltype152
>= var_npropdef
->type
->table_size
) {
857 var151
= var_npropdef
->type
->type_table
[cltype152
] == idtype153
;
861 var155
= ((val
* (*)(val
*))(var_npropdef
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_expr
]))(var_npropdef
) /* n_expr on <var_npropdef:APropdef(AAttrPropdef)>*/;
863 if (var155
== NULL
) {
864 var157
= 1; /* is null */
866 var157
= 0; /* arg is null but recv is not */
873 var158
= ((val
* (*)(val
*))(var_npropdef
->class->vft
[COLOR_modelize_property__APropdef__mpropdef
]))(var_npropdef
) /* mpropdef on <var_npropdef:APropdef(AAttrPropdef)>*/;
875 if (var158
== NULL
) {
876 var160
= 1; /* is null */
878 var160
= 0; /* arg is null but recv is not */
884 var161
= ((val
* (*)(val
*))(var_npropdef
->class->vft
[COLOR_modelize_property__APropdef__mpropdef
]))(var_npropdef
) /* mpropdef on <var_npropdef:APropdef(AAttrPropdef)>*/;
885 if (var161
== NULL
) {
886 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
887 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 137);
890 var162
= ((val
* (*)(val
*))(var161
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var161
) /* mproperty on <var161:nullable MPropDef(nullable MAttributeDef)>*/;
892 var163
= ((val
* (*)(val
*))(var162
->class->vft
[COLOR_model__MProperty__name
]))(var162
) /* name on <var162:MProperty(MAttribute)>*/;
894 var165
= ((val
* (*)(val
*, long))(var163
->class->vft
[COLOR_string__AbstractString__substring_from
]))(var163
, var164
) /* substring_from on <var163:String>*/;
895 var_paramname
= var165
;
896 var166
= ((val
* (*)(val
*))(var_npropdef
->class->vft
[COLOR_modelize_property__APropdef__mpropdef
]))(var_npropdef
) /* mpropdef on <var_npropdef:APropdef(AAttrPropdef)>*/;
897 if (var166
== NULL
) {
898 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
899 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 138);
902 var167
= ((val
* (*)(val
*))(var166
->class->vft
[COLOR_model__MAttributeDef__static_mtype
]))(var166
) /* static_mtype on <var166:nullable MPropDef(nullable MAttributeDef)>*/;
904 var_ret_type
= var167
;
906 if (var_ret_type
== NULL
) {
907 var169
= 1; /* is null */
909 var169
= 0; /* arg is null but recv is not */
915 var170
= NEW_model__MParameter(&type_model__MParameter
);
917 ((void (*)(val
*, val
*, val
*, short int))(var170
->class->vft
[COLOR_model__MParameter__init
]))(var170
, var_paramname
, var_ret_type
, var171
) /* init on <var170:MParameter>*/;
918 CHECK_NEW_model__MParameter(var170
);
919 var_mparameter
= var170
;
920 ((void (*)(val
*, val
*))(var_mparameters145
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_mparameters145
, var_mparameter
) /* add on <var_mparameters145:Array[MParameter]>*/;
923 CONTINUE_label172
: (void)0;
924 ((void (*)(val
*))(var147
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var147
) /* next on <var147:Iterator[nullable Object]>*/;
926 BREAK_label172
: (void)0;
927 var173
= NEW_model__MMethod(&type_model__MMethod
);
933 var178
= string__NativeString__to_s_with_length(var176
, var177
);
937 var179
= ((val
* (*)(val
*))(var_mclassdef
->class->vft
[COLOR_model__MClassDef__mclass
]))(var_mclassdef
) /* mclass on <var_mclassdef:MClassDef>*/;
938 var180
= ((val
* (*)(val
*))(var179
->class->vft
[COLOR_model__MClass__visibility
]))(var179
) /* visibility on <var179:MClass>*/;
939 ((void (*)(val
*, val
*, val
*, val
*))(var173
->class->vft
[COLOR_model__MMethod__init
]))(var173
, var_mclassdef
, var175
, var180
) /* init on <var173:MMethod>*/;
940 CHECK_NEW_model__MMethod(var173
);
941 var_mprop181
= var173
;
942 var182
= NEW_model__MMethodDef(&type_model__MMethodDef
);
943 var183
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_parser_nodes__ANode__location
]))(var_nclassdef
) /* location on <var_nclassdef:AClassdef(AStdClassdef)>*/;
944 ((void (*)(val
*, val
*, val
*, val
*))(var182
->class->vft
[COLOR_model__MMethodDef__init
]))(var182
, var_mclassdef
, var_mprop181
, var183
) /* init on <var182:MMethodDef>*/;
945 CHECK_NEW_model__MMethodDef(var182
);
946 var_mpropdef184
= var182
;
947 var185
= NEW_model__MSignature(&type_model__MSignature
);
949 ((void (*)(val
*, val
*, val
*))(var185
->class->vft
[COLOR_model__MSignature__init
]))(var185
, var_mparameters145
, var186
) /* init on <var185:MSignature>*/;
950 CHECK_NEW_model__MSignature(var185
);
951 var_msignature187
= var185
;
952 ((void (*)(val
*, val
*))(var_mpropdef184
->class->vft
[COLOR_model__MMethodDef__msignature_61d
]))(var_mpropdef184
, var_msignature187
) /* msignature= on <var_mpropdef184:MMethodDef>*/;
954 ((void (*)(val
*, short int))(var_mprop181
->class->vft
[COLOR_model__MMethod__is_init_61d
]))(var_mprop181
, var188
) /* is_init= on <var_mprop181:MMethod>*/;
955 ((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)>*/;
956 var189
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
960 var192
= " gets a free constructor for attributes ";
962 var194
= string__NativeString__to_s_with_length(var192
, var193
);
966 var195
= NEW_array__Array(&type_array__Arraykernel__Object
);
967 { /* var195 = array_instance Array[Object] */
969 var197
= NEW_array__NativeArray(var196
, &type_array__NativeArraykernel__Object
);
970 ((struct instance_array__NativeArray
*)var197
)->values
[0] = (val
*) var_mclassdef
;
971 ((struct instance_array__NativeArray
*)var197
)->values
[1] = (val
*) var191
;
972 ((struct instance_array__NativeArray
*)var197
)->values
[2] = (val
*) var_mpropdef184
;
973 ((struct instance_array__NativeArray
*)var197
)->values
[3] = (val
*) var_msignature187
;
974 ((void (*)(val
*, val
*, long))(var195
->class->vft
[COLOR_array__Array__with_native
]))(var195
, var197
, var196
) /* with_native on <var195:Array[Object]>*/;
975 CHECK_NEW_array__Array(var195
);
977 var198
= ((val
* (*)(val
*))(var195
->class->vft
[COLOR_string__Object__to_s
]))(var195
) /* to_s on <var195:Array[Object]>*/;
979 ((void (*)(val
*, val
*, long))(var189
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var189
, var198
, var199
) /* info on <var189:ToolContext>*/;
982 /* method modelize_property#ModelBuilder#process_default_constructors for (self: Object, AClassdef) */
983 void VIRTUAL_modelize_property__ModelBuilder__process_default_constructors(val
* self
, val
* p0
) {
984 modelize_property__ModelBuilder__process_default_constructors(self
, p0
);
987 /* method modelize_property#MClass#inherit_init_from for (self: MClass): nullable MClass */
988 val
* modelize_property__MClass__inherit_init_from(val
* self
) {
989 val
* var
/* : nullable MClass */;
990 val
* var1
/* : nullable MClass */;
991 var1
= self
->attrs
[COLOR_modelize_property__MClass___64dinherit_init_from
].val
; /* @inherit_init_from on <self:MClass> */
996 /* method modelize_property#MClass#inherit_init_from for (self: Object): nullable MClass */
997 val
* VIRTUAL_modelize_property__MClass__inherit_init_from(val
* self
) {
998 val
* var
/* : nullable MClass */;
999 val
* var1
/* : nullable MClass */;
1000 var1
= modelize_property__MClass__inherit_init_from(self
);
1005 /* method modelize_property#MClass#inherit_init_from= for (self: MClass, nullable MClass) */
1006 void modelize_property__MClass__inherit_init_from_61d(val
* self
, val
* p0
) {
1007 self
->attrs
[COLOR_modelize_property__MClass___64dinherit_init_from
].val
= p0
; /* @inherit_init_from on <self:MClass> */
1010 /* method modelize_property#MClass#inherit_init_from= for (self: Object, nullable MClass) */
1011 void VIRTUAL_modelize_property__MClass__inherit_init_from_61d(val
* self
, val
* p0
) {
1012 modelize_property__MClass__inherit_init_from_61d(self
, p0
);
1015 /* method modelize_property#AClassdef#build_properties_is_done for (self: AClassdef): Bool */
1016 short int modelize_property__AClassdef__build_properties_is_done(val
* self
) {
1017 short int var
/* : Bool */;
1018 short int var1
/* : Bool */;
1019 var1
= self
->attrs
[COLOR_modelize_property__AClassdef___64dbuild_properties_is_done
].s
; /* @build_properties_is_done on <self:AClassdef> */
1024 /* method modelize_property#AClassdef#build_properties_is_done for (self: Object): Bool */
1025 short int VIRTUAL_modelize_property__AClassdef__build_properties_is_done(val
* self
) {
1026 short int var
/* : Bool */;
1027 short int var1
/* : Bool */;
1028 var1
= modelize_property__AClassdef__build_properties_is_done(self
);
1033 /* method modelize_property#AClassdef#build_properties_is_done= for (self: AClassdef, Bool) */
1034 void modelize_property__AClassdef__build_properties_is_done_61d(val
* self
, short int p0
) {
1035 self
->attrs
[COLOR_modelize_property__AClassdef___64dbuild_properties_is_done
].s
= p0
; /* @build_properties_is_done on <self:AClassdef> */
1038 /* method modelize_property#AClassdef#build_properties_is_done= for (self: Object, Bool) */
1039 void VIRTUAL_modelize_property__AClassdef__build_properties_is_done_61d(val
* self
, short int p0
) {
1040 modelize_property__AClassdef__build_properties_is_done_61d(self
, p0
);
1043 /* method modelize_property#AClassdef#super_inits for (self: AClassdef): nullable Collection[MMethod] */
1044 val
* modelize_property__AClassdef__super_inits(val
* self
) {
1045 val
* var
/* : nullable Collection[MMethod] */;
1046 val
* var1
/* : nullable Collection[MMethod] */;
1047 var1
= self
->attrs
[COLOR_modelize_property__AClassdef___64dsuper_inits
].val
; /* @super_inits on <self:AClassdef> */
1052 /* method modelize_property#AClassdef#super_inits for (self: Object): nullable Collection[MMethod] */
1053 val
* VIRTUAL_modelize_property__AClassdef__super_inits(val
* self
) {
1054 val
* var
/* : nullable Collection[MMethod] */;
1055 val
* var1
/* : nullable Collection[MMethod] */;
1056 var1
= modelize_property__AClassdef__super_inits(self
);
1061 /* method modelize_property#AClassdef#super_inits= for (self: AClassdef, nullable Collection[MMethod]) */
1062 void modelize_property__AClassdef__super_inits_61d(val
* self
, val
* p0
) {
1063 self
->attrs
[COLOR_modelize_property__AClassdef___64dsuper_inits
].val
= p0
; /* @super_inits on <self:AClassdef> */
1066 /* method modelize_property#AClassdef#super_inits= for (self: Object, nullable Collection[MMethod]) */
1067 void VIRTUAL_modelize_property__AClassdef__super_inits_61d(val
* self
, val
* p0
) {
1068 modelize_property__AClassdef__super_inits_61d(self
, p0
);
1071 /* method modelize_property#AClassdef#mfree_init for (self: AClassdef): nullable MMethodDef */
1072 val
* modelize_property__AClassdef__mfree_init(val
* self
) {
1073 val
* var
/* : nullable MMethodDef */;
1074 val
* var1
/* : nullable MMethodDef */;
1075 var1
= self
->attrs
[COLOR_modelize_property__AClassdef___64dmfree_init
].val
; /* @mfree_init on <self:AClassdef> */
1080 /* method modelize_property#AClassdef#mfree_init for (self: Object): nullable MMethodDef */
1081 val
* VIRTUAL_modelize_property__AClassdef__mfree_init(val
* self
) {
1082 val
* var
/* : nullable MMethodDef */;
1083 val
* var1
/* : nullable MMethodDef */;
1084 var1
= modelize_property__AClassdef__mfree_init(self
);
1089 /* method modelize_property#AClassdef#mfree_init= for (self: AClassdef, nullable MMethodDef) */
1090 void modelize_property__AClassdef__mfree_init_61d(val
* self
, val
* p0
) {
1091 self
->attrs
[COLOR_modelize_property__AClassdef___64dmfree_init
].val
= p0
; /* @mfree_init on <self:AClassdef> */
1094 /* method modelize_property#AClassdef#mfree_init= for (self: Object, nullable MMethodDef) */
1095 void VIRTUAL_modelize_property__AClassdef__mfree_init_61d(val
* self
, val
* p0
) {
1096 modelize_property__AClassdef__mfree_init_61d(self
, p0
);
1099 /* method modelize_property#AClassdef#mprop2npropdef for (self: AClassdef): Map[MProperty, APropdef] */
1100 val
* modelize_property__AClassdef__mprop2npropdef(val
* self
) {
1101 val
* var
/* : Map[MProperty, APropdef] */;
1102 val
* var1
/* : Map[MProperty, APropdef] */;
1103 var1
= self
->attrs
[COLOR_modelize_property__AClassdef___64dmprop2npropdef
].val
; /* @mprop2npropdef on <self:AClassdef> */
1105 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @mprop2npropdef");
1106 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 170);
1113 /* method modelize_property#AClassdef#mprop2npropdef for (self: Object): Map[MProperty, APropdef] */
1114 val
* VIRTUAL_modelize_property__AClassdef__mprop2npropdef(val
* self
) {
1115 val
* var
/* : Map[MProperty, APropdef] */;
1116 val
* var1
/* : Map[MProperty, APropdef] */;
1117 var1
= modelize_property__AClassdef__mprop2npropdef(self
);
1122 /* method modelize_property#AClassdef#mprop2npropdef= for (self: AClassdef, Map[MProperty, APropdef]) */
1123 void modelize_property__AClassdef__mprop2npropdef_61d(val
* self
, val
* p0
) {
1124 self
->attrs
[COLOR_modelize_property__AClassdef___64dmprop2npropdef
].val
= p0
; /* @mprop2npropdef on <self:AClassdef> */
1127 /* method modelize_property#AClassdef#mprop2npropdef= for (self: Object, Map[MProperty, APropdef]) */
1128 void VIRTUAL_modelize_property__AClassdef__mprop2npropdef_61d(val
* self
, val
* p0
) {
1129 modelize_property__AClassdef__mprop2npropdef_61d(self
, p0
);
1132 /* method modelize_property#Prod#collect_text for (self: Prod): String */
1133 val
* modelize_property__Prod__collect_text(val
* self
) {
1134 val
* var
/* : String */;
1135 val
* var1
/* : TextCollectorVisitor */;
1136 val
* var_v
/* var v: TextCollectorVisitor */;
1137 val
* var2
/* : String */;
1138 static val
* varonce
;
1139 val
* var3
/* : String */;
1140 char* var4
/* : NativeString */;
1141 long var5
/* : Int */;
1142 val
* var6
/* : String */;
1143 short int var7
/* : Bool */;
1144 val
* var8
/* : String */;
1145 var1
= NEW_modelize_property__TextCollectorVisitor(&type_modelize_property__TextCollectorVisitor
);
1146 ((void (*)(val
*))(var1
->class->vft
[COLOR_modelize_property__TextCollectorVisitor__init
]))(var1
) /* init on <var1:TextCollectorVisitor>*/;
1147 CHECK_NEW_modelize_property__TextCollectorVisitor(var1
);
1149 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_parser_nodes__Visitor__enter_visit
]))(var_v
, self
) /* enter_visit on <var_v:TextCollectorVisitor>*/;
1150 var2
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_modelize_property__TextCollectorVisitor__text
]))(var_v
) /* text on <var_v:TextCollectorVisitor>*/;
1156 var6
= string__NativeString__to_s_with_length(var4
, var5
);
1160 var7
= ((short int (*)(val
*, val
*))(var2
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var2
, var3
) /* != on <var2:String>*/;
1162 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1163 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 182);
1166 var8
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_modelize_property__TextCollectorVisitor__text
]))(var_v
) /* text on <var_v:TextCollectorVisitor>*/;
1172 /* method modelize_property#Prod#collect_text for (self: Object): String */
1173 val
* VIRTUAL_modelize_property__Prod__collect_text(val
* self
) {
1174 val
* var
/* : String */;
1175 val
* var1
/* : String */;
1176 var1
= modelize_property__Prod__collect_text(self
);
1181 /* method modelize_property#TextCollectorVisitor#text for (self: TextCollectorVisitor): String */
1182 val
* modelize_property__TextCollectorVisitor__text(val
* self
) {
1183 val
* var
/* : String */;
1184 val
* var1
/* : String */;
1185 var1
= self
->attrs
[COLOR_modelize_property__TextCollectorVisitor___64dtext
].val
; /* @text on <self:TextCollectorVisitor> */
1187 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @text");
1188 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 189);
1195 /* method modelize_property#TextCollectorVisitor#text for (self: Object): String */
1196 val
* VIRTUAL_modelize_property__TextCollectorVisitor__text(val
* self
) {
1197 val
* var
/* : String */;
1198 val
* var1
/* : String */;
1199 var1
= modelize_property__TextCollectorVisitor__text(self
);
1204 /* method modelize_property#TextCollectorVisitor#text= for (self: TextCollectorVisitor, String) */
1205 void modelize_property__TextCollectorVisitor__text_61d(val
* self
, val
* p0
) {
1206 self
->attrs
[COLOR_modelize_property__TextCollectorVisitor___64dtext
].val
= p0
; /* @text on <self:TextCollectorVisitor> */
1209 /* method modelize_property#TextCollectorVisitor#text= for (self: Object, String) */
1210 void VIRTUAL_modelize_property__TextCollectorVisitor__text_61d(val
* self
, val
* p0
) {
1211 modelize_property__TextCollectorVisitor__text_61d(self
, p0
);
1214 /* method modelize_property#TextCollectorVisitor#visit for (self: TextCollectorVisitor, ANode) */
1215 void modelize_property__TextCollectorVisitor__visit(val
* self
, val
* p0
) {
1216 val
* var_n
/* var n: ANode */;
1217 short int var
/* : Bool */;
1220 val
* var_
/* var : TextCollectorVisitor */;
1221 val
* var1
/* : String */;
1222 val
* var2
/* : String */;
1223 val
* var3
/* : String */;
1225 /* <var_n:ANode> isa Token */
1226 cltype
= type_parser_nodes__Token
.color
;
1227 idtype
= type_parser_nodes__Token
.id
;
1228 if(cltype
>= var_n
->type
->table_size
) {
1231 var
= var_n
->type
->type_table
[cltype
] == idtype
;
1235 var1
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_modelize_property__TextCollectorVisitor__text
]))(var_
) /* text on <var_:TextCollectorVisitor>*/;
1236 var2
= ((val
* (*)(val
*))(var_n
->class->vft
[COLOR_parser_nodes__Token__text
]))(var_n
) /* text on <var_n:ANode(Token)>*/;
1237 var3
= ((val
* (*)(val
*, val
*))(var1
->class->vft
[COLOR_string__String___43d
]))(var1
, var2
) /* + on <var1:String>*/;
1238 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_modelize_property__TextCollectorVisitor__text_61d
]))(var_
, var3
) /* text= on <var_:TextCollectorVisitor>*/;
1241 ((void (*)(val
*, val
*))(var_n
->class->vft
[COLOR_parser_nodes__ANode__visit_all
]))(var_n
, self
) /* visit_all on <var_n:ANode>*/;
1244 /* method modelize_property#TextCollectorVisitor#visit for (self: Object, ANode) */
1245 void VIRTUAL_modelize_property__TextCollectorVisitor__visit(val
* self
, val
* p0
) {
1246 modelize_property__TextCollectorVisitor__visit(self
, p0
);
1249 /* method modelize_property#TextCollectorVisitor#init for (self: TextCollectorVisitor) */
1250 void modelize_property__TextCollectorVisitor__init(val
* self
) {
1251 ((void (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__Visitor__init
]))(self
) /* init on <self:TextCollectorVisitor>*/;
1254 /* method modelize_property#TextCollectorVisitor#init for (self: Object) */
1255 void VIRTUAL_modelize_property__TextCollectorVisitor__init(val
* self
) {
1256 modelize_property__TextCollectorVisitor__init(self
);
1259 /* method modelize_property#APropdef#mpropdef for (self: APropdef): nullable MPropDef */
1260 val
* modelize_property__APropdef__mpropdef(val
* self
) {
1261 val
* var
/* : nullable MPropDef */;
1262 val
* var1
/* : nullable MPropDef */;
1263 var1
= self
->attrs
[COLOR_modelize_property__APropdef___64dmpropdef
].val
; /* @mpropdef on <self:APropdef> */
1268 /* method modelize_property#APropdef#mpropdef for (self: Object): nullable MPropDef */
1269 val
* VIRTUAL_modelize_property__APropdef__mpropdef(val
* self
) {
1270 val
* var
/* : nullable MPropDef */;
1271 val
* var1
/* : nullable MPropDef */;
1272 var1
= modelize_property__APropdef__mpropdef(self
);
1277 /* method modelize_property#APropdef#mpropdef= for (self: APropdef, nullable MPropDef) */
1278 void modelize_property__APropdef__mpropdef_61d(val
* self
, val
* p0
) {
1279 short int var
/* : Bool */;
1282 const struct type
* type_struct
;
1283 const char* var_class_name
;
1284 /* Covariant cast for argument 0 (mpropdef) <p0:nullable MPropDef> isa nullable MPROPDEF */
1285 /* <p0:nullable MPropDef> isa nullable MPROPDEF */
1286 type_struct
= self
->type
->resolution_table
->types
[COLOR_parser_nodes__APropdef_VTMPROPDEF
];
1287 cltype
= type_struct
->color
;
1288 idtype
= type_struct
->id
;
1292 if(cltype
>= p0
->type
->table_size
) {
1295 var
= p0
->type
->type_table
[cltype
] == idtype
;
1299 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1300 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name
);
1301 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 201);
1304 self
->attrs
[COLOR_modelize_property__APropdef___64dmpropdef
].val
= p0
; /* @mpropdef on <self:APropdef> */
1307 /* method modelize_property#APropdef#mpropdef= for (self: Object, nullable MPropDef) */
1308 void VIRTUAL_modelize_property__APropdef__mpropdef_61d(val
* self
, val
* p0
) {
1309 modelize_property__APropdef__mpropdef_61d(self
, p0
);
1312 /* method modelize_property#APropdef#build_property for (self: APropdef, ModelBuilder, AClassdef) */
1313 void modelize_property__APropdef__build_property(val
* self
, val
* p0
, val
* p1
) {
1314 const char* var_class_name
;
1315 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
1316 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "build_property", var_class_name
);
1317 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 204);
1321 /* method modelize_property#APropdef#build_property for (self: Object, ModelBuilder, AClassdef) */
1322 void VIRTUAL_modelize_property__APropdef__build_property(val
* self
, val
* p0
, val
* p1
) {
1323 modelize_property__APropdef__build_property(self
, p0
, p1
);
1326 /* method modelize_property#APropdef#build_signature for (self: APropdef, ModelBuilder, AClassdef) */
1327 void modelize_property__APropdef__build_signature(val
* self
, val
* p0
, val
* p1
) {
1328 const char* var_class_name
;
1329 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
1330 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "build_signature", var_class_name
);
1331 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 205);
1335 /* method modelize_property#APropdef#build_signature for (self: Object, ModelBuilder, AClassdef) */
1336 void VIRTUAL_modelize_property__APropdef__build_signature(val
* self
, val
* p0
, val
* p1
) {
1337 modelize_property__APropdef__build_signature(self
, p0
, p1
);
1340 /* method modelize_property#APropdef#check_signature for (self: APropdef, ModelBuilder, AClassdef) */
1341 void modelize_property__APropdef__check_signature(val
* self
, val
* p0
, val
* p1
) {
1342 const char* var_class_name
;
1343 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
1344 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "check_signature", var_class_name
);
1345 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 206);
1349 /* method modelize_property#APropdef#check_signature for (self: Object, ModelBuilder, AClassdef) */
1350 void VIRTUAL_modelize_property__APropdef__check_signature(val
* self
, val
* p0
, val
* p1
) {
1351 modelize_property__APropdef__check_signature(self
, p0
, p1
);
1354 /* method modelize_property#APropdef#new_property_visibility for (self: APropdef, ModelBuilder, AClassdef, nullable AVisibility): MVisibility */
1355 val
* modelize_property__APropdef__new_property_visibility(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1356 val
* var
/* : MVisibility */;
1357 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
1358 val
* var_nclassdef
/* var nclassdef: AClassdef */;
1359 val
* var_nvisibility
/* var nvisibility: nullable AVisibility */;
1360 val
* var1
/* : MVisibility */;
1361 val
* var_mvisibility
/* var mvisibility: MVisibility */;
1362 val
* var2
/* : null */;
1363 short int var3
/* : Bool */;
1364 val
* var4
/* : MVisibility */;
1365 val
* var5
/* : MVisibility */;
1366 short int var6
/* : Bool */;
1367 static val
* varonce
;
1368 val
* var7
/* : String */;
1369 char* var8
/* : NativeString */;
1370 long var9
/* : Int */;
1371 val
* var10
/* : String */;
1372 val
* var11
/* : MVisibility */;
1373 val
* var12
/* : nullable MClassDef */;
1374 val
* var13
/* : MClass */;
1375 val
* var14
/* : MVisibility */;
1376 val
* var15
/* : MVisibility */;
1377 short int var16
/* : Bool */;
1378 val
* var17
/* : MVisibility */;
1379 short int var18
/* : Bool */;
1380 val
* var19
/* : null */;
1381 short int var20
/* : Bool */;
1382 static val
* varonce21
;
1383 val
* var22
/* : String */;
1384 char* var23
/* : NativeString */;
1385 long var24
/* : Int */;
1386 val
* var25
/* : String */;
1387 val
* var26
/* : MVisibility */;
1388 short int var27
/* : Bool */;
1389 val
* var28
/* : null */;
1390 short int var29
/* : Bool */;
1391 val
* var30
/* : MVisibility */;
1392 var_modelbuilder
= p0
;
1394 var_nvisibility
= p2
;
1395 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model_base__Object__public_visibility
]))(self
) /* public_visibility on <self:APropdef>*/;
1396 var_mvisibility
= var1
;
1398 if (var_nvisibility
== NULL
) {
1399 var3
= 0; /* is null */
1401 var3
= 1; /* arg is null and recv is not */
1404 var4
= ((val
* (*)(val
*))(var_nvisibility
->class->vft
[COLOR_modelbuilder__AVisibility__mvisibility
]))(var_nvisibility
) /* mvisibility on <var_nvisibility:nullable AVisibility(AVisibility)>*/;
1405 var_mvisibility
= var4
;
1406 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model_base__Object__intrude_visibility
]))(self
) /* intrude_visibility on <self:APropdef>*/;
1407 var6
= ((short int (*)(val
*, val
*))(var_mvisibility
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_mvisibility
, var5
) /* == on <var_mvisibility:MVisibility>*/;
1412 var8
= "Error: intrude is not a legal visibility for properties.";
1414 var10
= string__NativeString__to_s_with_length(var8
, var9
);
1418 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, var_nvisibility
, var7
) /* error on <var_modelbuilder:ModelBuilder>*/;
1419 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model_base__Object__public_visibility
]))(self
) /* public_visibility on <self:APropdef>*/;
1420 var_mvisibility
= var11
;
1425 var12
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef>*/;
1426 if (var12
== NULL
) {
1427 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
1428 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 217);
1431 var13
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_model__MClassDef__mclass
]))(var12
) /* mclass on <var12:nullable MClassDef>*/;
1433 var14
= ((val
* (*)(val
*))(var13
->class->vft
[COLOR_model__MClass__visibility
]))(var13
) /* visibility on <var13:MClass>*/;
1434 var15
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model_base__Object__private_visibility
]))(self
) /* private_visibility on <self:APropdef>*/;
1435 var16
= ((short int (*)(val
*, val
*))(var14
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var14
, var15
) /* == on <var14:MVisibility>*/;
1437 var17
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model_base__Object__protected_visibility
]))(self
) /* protected_visibility on <self:APropdef>*/;
1438 var18
= ((short int (*)(val
*, val
*))(var_mvisibility
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_mvisibility
, var17
) /* == on <var_mvisibility:MVisibility>*/;
1441 if (var_nvisibility
== NULL
) {
1442 var20
= 0; /* is null */
1444 var20
= 1; /* arg is null and recv is not */
1447 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1448 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 219);
1454 var23
= "Error: The only legal visibility for properties in a private class is private.";
1456 var25
= string__NativeString__to_s_with_length(var23
, var24
);
1460 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, var_nvisibility
, var22
) /* error on <var_modelbuilder:ModelBuilder>*/;
1462 var26
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model_base__Object__private_visibility
]))(self
) /* private_visibility on <self:APropdef>*/;
1463 var27
= ((short int (*)(val
*, val
*))(var_mvisibility
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_mvisibility
, var26
) /* == on <var_mvisibility:MVisibility>*/;
1466 if (var_nvisibility
== NULL
) {
1467 var29
= 0; /* is null */
1469 var29
= 1; /* arg is null and recv is not */
1472 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1473 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 222);
1479 var30
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model_base__Object__private_visibility
]))(self
) /* private_visibility on <self:APropdef>*/;
1480 var_mvisibility
= var30
;
1483 var
= var_mvisibility
;
1488 /* method modelize_property#APropdef#new_property_visibility for (self: Object, ModelBuilder, AClassdef, nullable AVisibility): MVisibility */
1489 val
* VIRTUAL_modelize_property__APropdef__new_property_visibility(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1490 val
* var
/* : MVisibility */;
1491 val
* var1
/* : MVisibility */;
1492 var1
= modelize_property__APropdef__new_property_visibility(self
, p0
, p1
, p2
);
1497 /* method modelize_property#APropdef#check_redef_property_visibility for (self: APropdef, ModelBuilder, AClassdef, nullable AVisibility, MProperty) */
1498 void modelize_property__APropdef__check_redef_property_visibility(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
1499 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
1500 val
* var_nclassdef
/* var nclassdef: AClassdef */;
1501 val
* var_nvisibility
/* var nvisibility: nullable AVisibility */;
1502 val
* var_mprop
/* var mprop: MProperty */;
1503 val
* var
/* : null */;
1504 short int var1
/* : Bool */;
1505 val
* var2
/* : MVisibility */;
1506 val
* var_mvisibility
/* var mvisibility: MVisibility */;
1507 short int var3
/* : Bool */;
1508 val
* var4
/* : MVisibility */;
1509 short int var5
/* : Bool */;
1510 short int var_
/* var : Bool */;
1511 val
* var6
/* : MVisibility */;
1512 short int var7
/* : Bool */;
1513 static val
* varonce
;
1514 val
* var8
/* : String */;
1515 char* var9
/* : NativeString */;
1516 long var10
/* : Int */;
1517 val
* var11
/* : String */;
1518 val
* var12
/* : MVisibility */;
1519 static val
* varonce13
;
1520 val
* var14
/* : String */;
1521 char* var15
/* : NativeString */;
1522 long var16
/* : Int */;
1523 val
* var17
/* : String */;
1524 val
* var18
/* : Array[Object] */;
1525 long var19
/* : Int */;
1526 val
* var20
/* : NativeArray[Object] */;
1527 val
* var21
/* : String */;
1528 var_modelbuilder
= p0
;
1530 var_nvisibility
= p2
;
1533 if (var_nvisibility
== NULL
) {
1534 var1
= 1; /* is null */
1536 var1
= 0; /* arg is null but recv is not */
1542 var2
= ((val
* (*)(val
*))(var_nvisibility
->class->vft
[COLOR_modelbuilder__AVisibility__mvisibility
]))(var_nvisibility
) /* mvisibility on <var_nvisibility:nullable AVisibility(AVisibility)>*/;
1543 var_mvisibility
= var2
;
1544 var4
= ((val
* (*)(val
*))(var_mprop
->class->vft
[COLOR_model__MProperty__visibility
]))(var_mprop
) /* visibility on <var_mprop:MProperty>*/;
1545 var5
= ((short int (*)(val
*, val
*))(var_mvisibility
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_mvisibility
, var4
) /* != on <var_mvisibility:MVisibility>*/;
1548 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model_base__Object__public_visibility
]))(self
) /* public_visibility on <self:APropdef>*/;
1549 var7
= ((short int (*)(val
*, val
*))(var_mvisibility
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_mvisibility
, var6
) /* != on <var_mvisibility:MVisibility>*/;
1558 var9
= "Error: redefinition changed the visibility from a ";
1560 var11
= string__NativeString__to_s_with_length(var9
, var10
);
1564 var12
= ((val
* (*)(val
*))(var_mprop
->class->vft
[COLOR_model__MProperty__visibility
]))(var_mprop
) /* visibility on <var_mprop:MProperty>*/;
1570 var17
= string__NativeString__to_s_with_length(var15
, var16
);
1574 var18
= NEW_array__Array(&type_array__Arraykernel__Object
);
1575 { /* var18 = array_instance Array[Object] */
1577 var20
= NEW_array__NativeArray(var19
, &type_array__NativeArraykernel__Object
);
1578 ((struct instance_array__NativeArray
*)var20
)->values
[0] = (val
*) var8
;
1579 ((struct instance_array__NativeArray
*)var20
)->values
[1] = (val
*) var12
;
1580 ((struct instance_array__NativeArray
*)var20
)->values
[2] = (val
*) var14
;
1581 ((struct instance_array__NativeArray
*)var20
)->values
[3] = (val
*) var_mvisibility
;
1582 ((void (*)(val
*, val
*, long))(var18
->class->vft
[COLOR_array__Array__with_native
]))(var18
, var20
, var19
) /* with_native on <var18:Array[Object]>*/;
1583 CHECK_NEW_array__Array(var18
);
1585 var21
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_string__Object__to_s
]))(var18
) /* to_s on <var18:Array[Object]>*/;
1586 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, var_nvisibility
, var21
) /* error on <var_modelbuilder:ModelBuilder>*/;
1591 /* method modelize_property#APropdef#check_redef_property_visibility for (self: Object, ModelBuilder, AClassdef, nullable AVisibility, MProperty) */
1592 void VIRTUAL_modelize_property__APropdef__check_redef_property_visibility(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
1593 modelize_property__APropdef__check_redef_property_visibility(self
, p0
, p1
, p2
, p3
);
1596 /* method modelize_property#APropdef#check_redef_keyword for (self: APropdef, ModelBuilder, AClassdef, nullable Token, Bool, MProperty): Bool */
1597 short int modelize_property__APropdef__check_redef_keyword(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
, val
* p4
) {
1598 short int var
/* : Bool */;
1599 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
1600 val
* var_nclassdef
/* var nclassdef: AClassdef */;
1601 val
* var_kwredef
/* var kwredef: nullable Token */;
1602 short int var_need_redef
/* var need_redef: Bool */;
1603 val
* var_mprop
/* var mprop: MProperty */;
1604 val
* var1
/* : Map[MProperty, APropdef] */;
1605 short int var2
/* : Bool */;
1606 static val
* varonce
;
1607 val
* var3
/* : String */;
1608 char* var4
/* : NativeString */;
1609 long var5
/* : Int */;
1610 val
* var6
/* : String */;
1611 static val
* varonce7
;
1612 val
* var8
/* : String */;
1613 char* var9
/* : NativeString */;
1614 long var10
/* : Int */;
1615 val
* var11
/* : String */;
1616 val
* var12
/* : nullable MClassDef */;
1617 val
* var13
/* : MClass */;
1618 static val
* varonce14
;
1619 val
* var15
/* : String */;
1620 char* var16
/* : NativeString */;
1621 long var17
/* : Int */;
1622 val
* var18
/* : String */;
1623 val
* var19
/* : Array[Object] */;
1624 long var20
/* : Int */;
1625 val
* var21
/* : NativeArray[Object] */;
1626 val
* var22
/* : String */;
1627 short int var23
/* : Bool */;
1628 val
* var24
/* : null */;
1629 short int var25
/* : Bool */;
1630 static val
* varonce26
;
1631 val
* var27
/* : String */;
1632 char* var28
/* : NativeString */;
1633 long var29
/* : Int */;
1634 val
* var30
/* : String */;
1635 val
* var31
/* : nullable MClassDef */;
1636 val
* var32
/* : MClass */;
1637 static val
* varonce33
;
1638 val
* var34
/* : String */;
1639 char* var35
/* : NativeString */;
1640 long var36
/* : Int */;
1641 val
* var37
/* : String */;
1642 val
* var38
/* : String */;
1643 static val
* varonce39
;
1644 val
* var40
/* : String */;
1645 char* var41
/* : NativeString */;
1646 long var42
/* : Int */;
1647 val
* var43
/* : String */;
1648 val
* var44
/* : Array[Object] */;
1649 long var45
/* : Int */;
1650 val
* var46
/* : NativeArray[Object] */;
1651 val
* var47
/* : String */;
1652 short int var48
/* : Bool */;
1653 short int var49
/* : Bool */;
1654 static val
* varonce50
;
1655 val
* var51
/* : String */;
1656 char* var52
/* : NativeString */;
1657 long var53
/* : Int */;
1658 val
* var54
/* : String */;
1659 val
* var55
/* : nullable MClassDef */;
1660 val
* var56
/* : MClass */;
1661 static val
* varonce57
;
1662 val
* var58
/* : String */;
1663 char* var59
/* : NativeString */;
1664 long var60
/* : Int */;
1665 val
* var61
/* : String */;
1666 val
* var62
/* : String */;
1667 static val
* varonce63
;
1668 val
* var64
/* : String */;
1669 char* var65
/* : NativeString */;
1670 long var66
/* : Int */;
1671 val
* var67
/* : String */;
1672 val
* var68
/* : Array[Object] */;
1673 long var69
/* : Int */;
1674 val
* var70
/* : NativeArray[Object] */;
1675 val
* var71
/* : String */;
1676 short int var72
/* : Bool */;
1677 short int var73
/* : Bool */;
1678 var_modelbuilder
= p0
;
1681 var_need_redef
= p3
;
1683 var1
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_property__AClassdef__mprop2npropdef
]))(var_nclassdef
) /* mprop2npropdef on <var_nclassdef:AClassdef>*/;
1684 var2
= ((short int (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__MapRead__has_key
]))(var1
, var_mprop
) /* has_key on <var1:Map[MProperty, APropdef]>*/;
1689 var4
= "Error: A property ";
1691 var6
= string__NativeString__to_s_with_length(var4
, var5
);
1698 var9
= " is already defined in class ";
1700 var11
= string__NativeString__to_s_with_length(var9
, var10
);
1704 var12
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef>*/;
1705 if (var12
== NULL
) {
1706 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
1707 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 243);
1710 var13
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_model__MClassDef__mclass
]))(var12
) /* mclass on <var12:nullable MClassDef>*/;
1717 var18
= string__NativeString__to_s_with_length(var16
, var17
);
1721 var19
= NEW_array__Array(&type_array__Arraykernel__Object
);
1722 { /* var19 = array_instance Array[Object] */
1724 var21
= NEW_array__NativeArray(var20
, &type_array__NativeArraykernel__Object
);
1725 ((struct instance_array__NativeArray
*)var21
)->values
[0] = (val
*) var3
;
1726 ((struct instance_array__NativeArray
*)var21
)->values
[1] = (val
*) var_mprop
;
1727 ((struct instance_array__NativeArray
*)var21
)->values
[2] = (val
*) var8
;
1728 ((struct instance_array__NativeArray
*)var21
)->values
[3] = (val
*) var13
;
1729 ((struct instance_array__NativeArray
*)var21
)->values
[4] = (val
*) var15
;
1730 ((void (*)(val
*, val
*, long))(var19
->class->vft
[COLOR_array__Array__with_native
]))(var19
, var21
, var20
) /* with_native on <var19:Array[Object]>*/;
1731 CHECK_NEW_array__Array(var19
);
1733 var22
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_string__Object__to_s
]))(var19
) /* to_s on <var19:Array[Object]>*/;
1734 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, self
, var22
) /* error on <var_modelbuilder:ModelBuilder>*/;
1741 if (var_kwredef
== NULL
) {
1742 var25
= 1; /* is null */
1744 var25
= 0; /* arg is null but recv is not */
1747 if (var_need_redef
){
1751 var28
= "Redef error: ";
1753 var30
= string__NativeString__to_s_with_length(var28
, var29
);
1757 var31
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef>*/;
1758 if (var31
== NULL
) {
1759 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
1760 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 248);
1763 var32
= ((val
* (*)(val
*))(var31
->class->vft
[COLOR_model__MClassDef__mclass
]))(var31
) /* mclass on <var31:nullable MClassDef>*/;
1770 var37
= string__NativeString__to_s_with_length(var35
, var36
);
1774 var38
= ((val
* (*)(val
*))(var_mprop
->class->vft
[COLOR_model__MProperty__name
]))(var_mprop
) /* name on <var_mprop:MProperty>*/;
1778 var41
= " is an inherited property. To redefine it, add the redef keyword.";
1780 var43
= string__NativeString__to_s_with_length(var41
, var42
);
1784 var44
= NEW_array__Array(&type_array__Arraykernel__Object
);
1785 { /* var44 = array_instance Array[Object] */
1787 var46
= NEW_array__NativeArray(var45
, &type_array__NativeArraykernel__Object
);
1788 ((struct instance_array__NativeArray
*)var46
)->values
[0] = (val
*) var27
;
1789 ((struct instance_array__NativeArray
*)var46
)->values
[1] = (val
*) var32
;
1790 ((struct instance_array__NativeArray
*)var46
)->values
[2] = (val
*) var34
;
1791 ((struct instance_array__NativeArray
*)var46
)->values
[3] = (val
*) var38
;
1792 ((struct instance_array__NativeArray
*)var46
)->values
[4] = (val
*) var40
;
1793 ((void (*)(val
*, val
*, long))(var44
->class->vft
[COLOR_array__Array__with_native
]))(var44
, var46
, var45
) /* with_native on <var44:Array[Object]>*/;
1794 CHECK_NEW_array__Array(var44
);
1796 var47
= ((val
* (*)(val
*))(var44
->class->vft
[COLOR_string__Object__to_s
]))(var44
) /* to_s on <var44:Array[Object]>*/;
1797 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, self
, var47
) /* error on <var_modelbuilder:ModelBuilder>*/;
1804 var49
= !var_need_redef
;
1809 var52
= "Error: No property ";
1811 var54
= string__NativeString__to_s_with_length(var52
, var53
);
1815 var55
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef>*/;
1816 if (var55
== NULL
) {
1817 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
1818 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 253);
1821 var56
= ((val
* (*)(val
*))(var55
->class->vft
[COLOR_model__MClassDef__mclass
]))(var55
) /* mclass on <var55:nullable MClassDef>*/;
1828 var61
= string__NativeString__to_s_with_length(var59
, var60
);
1832 var62
= ((val
* (*)(val
*))(var_mprop
->class->vft
[COLOR_model__MProperty__name
]))(var_mprop
) /* name on <var_mprop:MProperty>*/;
1836 var65
= " is inherited. Remove the redef keyword to define a new property.";
1838 var67
= string__NativeString__to_s_with_length(var65
, var66
);
1842 var68
= NEW_array__Array(&type_array__Arraykernel__Object
);
1843 { /* var68 = array_instance Array[Object] */
1845 var70
= NEW_array__NativeArray(var69
, &type_array__NativeArraykernel__Object
);
1846 ((struct instance_array__NativeArray
*)var70
)->values
[0] = (val
*) var51
;
1847 ((struct instance_array__NativeArray
*)var70
)->values
[1] = (val
*) var56
;
1848 ((struct instance_array__NativeArray
*)var70
)->values
[2] = (val
*) var58
;
1849 ((struct instance_array__NativeArray
*)var70
)->values
[3] = (val
*) var62
;
1850 ((struct instance_array__NativeArray
*)var70
)->values
[4] = (val
*) var64
;
1851 ((void (*)(val
*, val
*, long))(var68
->class->vft
[COLOR_array__Array__with_native
]))(var68
, var70
, var69
) /* with_native on <var68:Array[Object]>*/;
1852 CHECK_NEW_array__Array(var68
);
1854 var71
= ((val
* (*)(val
*))(var68
->class->vft
[COLOR_string__Object__to_s
]))(var68
) /* to_s on <var68:Array[Object]>*/;
1855 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, self
, var71
) /* error on <var_modelbuilder:ModelBuilder>*/;
1868 /* method modelize_property#APropdef#check_redef_keyword for (self: Object, ModelBuilder, AClassdef, nullable Token, Bool, MProperty): Bool */
1869 short int VIRTUAL_modelize_property__APropdef__check_redef_keyword(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
, val
* p4
) {
1870 short int var
/* : Bool */;
1871 short int var1
/* : Bool */;
1872 var1
= modelize_property__APropdef__check_redef_keyword(self
, p0
, p1
, p2
, p3
, p4
);
1877 /* method modelize_property#ASignature#is_visited for (self: ASignature): Bool */
1878 short int modelize_property__ASignature__is_visited(val
* self
) {
1879 short int var
/* : Bool */;
1880 short int var1
/* : Bool */;
1881 var1
= self
->attrs
[COLOR_modelize_property__ASignature___64dis_visited
].s
; /* @is_visited on <self:ASignature> */
1886 /* method modelize_property#ASignature#is_visited for (self: Object): Bool */
1887 short int VIRTUAL_modelize_property__ASignature__is_visited(val
* self
) {
1888 short int var
/* : Bool */;
1889 short int var1
/* : Bool */;
1890 var1
= modelize_property__ASignature__is_visited(self
);
1895 /* method modelize_property#ASignature#is_visited= for (self: ASignature, Bool) */
1896 void modelize_property__ASignature__is_visited_61d(val
* self
, short int p0
) {
1897 self
->attrs
[COLOR_modelize_property__ASignature___64dis_visited
].s
= p0
; /* @is_visited on <self:ASignature> */
1900 /* method modelize_property#ASignature#is_visited= for (self: Object, Bool) */
1901 void VIRTUAL_modelize_property__ASignature__is_visited_61d(val
* self
, short int p0
) {
1902 modelize_property__ASignature__is_visited_61d(self
, p0
);
1905 /* method modelize_property#ASignature#param_names for (self: ASignature): Array[String] */
1906 val
* modelize_property__ASignature__param_names(val
* self
) {
1907 val
* var
/* : Array[String] */;
1908 val
* var1
/* : Array[String] */;
1909 var1
= self
->attrs
[COLOR_modelize_property__ASignature___64dparam_names
].val
; /* @param_names on <self:ASignature> */
1911 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @param_names");
1912 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 265);
1919 /* method modelize_property#ASignature#param_names for (self: Object): Array[String] */
1920 val
* VIRTUAL_modelize_property__ASignature__param_names(val
* self
) {
1921 val
* var
/* : Array[String] */;
1922 val
* var1
/* : Array[String] */;
1923 var1
= modelize_property__ASignature__param_names(self
);
1928 /* method modelize_property#ASignature#param_names= for (self: ASignature, Array[String]) */
1929 void modelize_property__ASignature__param_names_61d(val
* self
, val
* p0
) {
1930 self
->attrs
[COLOR_modelize_property__ASignature___64dparam_names
].val
= p0
; /* @param_names on <self:ASignature> */
1933 /* method modelize_property#ASignature#param_names= for (self: Object, Array[String]) */
1934 void VIRTUAL_modelize_property__ASignature__param_names_61d(val
* self
, val
* p0
) {
1935 modelize_property__ASignature__param_names_61d(self
, p0
);
1938 /* method modelize_property#ASignature#param_types for (self: ASignature): Array[MType] */
1939 val
* modelize_property__ASignature__param_types(val
* self
) {
1940 val
* var
/* : Array[MType] */;
1941 val
* var1
/* : Array[MType] */;
1942 var1
= self
->attrs
[COLOR_modelize_property__ASignature___64dparam_types
].val
; /* @param_types on <self:ASignature> */
1944 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @param_types");
1945 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 268);
1952 /* method modelize_property#ASignature#param_types for (self: Object): Array[MType] */
1953 val
* VIRTUAL_modelize_property__ASignature__param_types(val
* self
) {
1954 val
* var
/* : Array[MType] */;
1955 val
* var1
/* : Array[MType] */;
1956 var1
= modelize_property__ASignature__param_types(self
);
1961 /* method modelize_property#ASignature#param_types= for (self: ASignature, Array[MType]) */
1962 void modelize_property__ASignature__param_types_61d(val
* self
, val
* p0
) {
1963 self
->attrs
[COLOR_modelize_property__ASignature___64dparam_types
].val
= p0
; /* @param_types on <self:ASignature> */
1966 /* method modelize_property#ASignature#param_types= for (self: Object, Array[MType]) */
1967 void VIRTUAL_modelize_property__ASignature__param_types_61d(val
* self
, val
* p0
) {
1968 modelize_property__ASignature__param_types_61d(self
, p0
);
1971 /* method modelize_property#ASignature#vararg_rank for (self: ASignature): Int */
1972 long modelize_property__ASignature__vararg_rank(val
* self
) {
1973 long var
/* : Int */;
1974 long var1
/* : Int */;
1975 var1
= self
->attrs
[COLOR_modelize_property__ASignature___64dvararg_rank
].l
; /* @vararg_rank on <self:ASignature> */
1980 /* method modelize_property#ASignature#vararg_rank for (self: Object): Int */
1981 long VIRTUAL_modelize_property__ASignature__vararg_rank(val
* self
) {
1982 long var
/* : Int */;
1983 long var1
/* : Int */;
1984 var1
= modelize_property__ASignature__vararg_rank(self
);
1989 /* method modelize_property#ASignature#vararg_rank= for (self: ASignature, Int) */
1990 void modelize_property__ASignature__vararg_rank_61d(val
* self
, long p0
) {
1991 self
->attrs
[COLOR_modelize_property__ASignature___64dvararg_rank
].l
= p0
; /* @vararg_rank on <self:ASignature> */
1994 /* method modelize_property#ASignature#vararg_rank= for (self: Object, Int) */
1995 void VIRTUAL_modelize_property__ASignature__vararg_rank_61d(val
* self
, long p0
) {
1996 modelize_property__ASignature__vararg_rank_61d(self
, p0
);
1999 /* method modelize_property#ASignature#ret_type for (self: ASignature): nullable MType */
2000 val
* modelize_property__ASignature__ret_type(val
* self
) {
2001 val
* var
/* : nullable MType */;
2002 val
* var1
/* : nullable MType */;
2003 var1
= self
->attrs
[COLOR_modelize_property__ASignature___64dret_type
].val
; /* @ret_type on <self:ASignature> */
2008 /* method modelize_property#ASignature#ret_type for (self: Object): nullable MType */
2009 val
* VIRTUAL_modelize_property__ASignature__ret_type(val
* self
) {
2010 val
* var
/* : nullable MType */;
2011 val
* var1
/* : nullable MType */;
2012 var1
= modelize_property__ASignature__ret_type(self
);
2017 /* method modelize_property#ASignature#ret_type= for (self: ASignature, nullable MType) */
2018 void modelize_property__ASignature__ret_type_61d(val
* self
, val
* p0
) {
2019 self
->attrs
[COLOR_modelize_property__ASignature___64dret_type
].val
= p0
; /* @ret_type on <self:ASignature> */
2022 /* method modelize_property#ASignature#ret_type= for (self: Object, nullable MType) */
2023 void VIRTUAL_modelize_property__ASignature__ret_type_61d(val
* self
, val
* p0
) {
2024 modelize_property__ASignature__ret_type_61d(self
, p0
);
2027 /* method modelize_property#ASignature#visit_signature for (self: ASignature, ModelBuilder, AClassdef): Bool */
2028 short int modelize_property__ASignature__visit_signature(val
* self
, val
* p0
, val
* p1
) {
2029 short int var
/* : Bool */;
2030 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
2031 val
* var_nclassdef
/* var nclassdef: AClassdef */;
2032 val
* var1
/* : Array[String] */;
2033 val
* var_param_names
/* var param_names: Array[String] */;
2034 val
* var2
/* : Array[MType] */;
2035 val
* var_param_types
/* var param_types: Array[MType] */;
2036 val
* var3
/* : ANodes[AParam] */;
2037 val
* var4
/* : Iterator[nullable Object] */;
2038 short int var5
/* : Bool */;
2039 val
* var6
/* : nullable Object */;
2040 val
* var_np
/* var np: AParam */;
2041 val
* var7
/* : TId */;
2042 val
* var8
/* : String */;
2043 val
* var9
/* : nullable AType */;
2044 val
* var_ntype
/* var ntype: nullable AType */;
2045 val
* var10
/* : null */;
2046 short int var11
/* : Bool */;
2047 val
* var12
/* : nullable MType */;
2048 val
* var_mtype
/* var mtype: nullable MType */;
2049 val
* var13
/* : null */;
2050 short int var14
/* : Bool */;
2051 short int var15
/* : Bool */;
2052 val
* var16
/* : Range[Int] */;
2053 long var17
/* : Int */;
2054 long var18
/* : Int */;
2055 long var19
/* : Int */;
2056 long var20
/* : Int */;
2057 long var22
/* : Int */;
2058 val
* var23
/* : Discrete */;
2059 val
* var24
/* : Discrete */;
2060 val
* var25
/* : Iterator[nullable Object] */;
2061 short int var26
/* : Bool */;
2062 val
* var27
/* : nullable Object */;
2063 long var_i
/* var i: Int */;
2064 long var28
/* : Int */;
2065 val
* var29
/* : nullable TDotdotdot */;
2066 val
* var30
/* : null */;
2067 short int var31
/* : Bool */;
2068 long var32
/* : Int */;
2069 long var33
/* : Int */;
2070 long var34
/* : Int */;
2071 long var36
/* : Int */;
2072 short int var37
/* : Bool */;
2073 short int var39
/* : Bool */;
2074 short int var40
/* : Bool */;
2075 static val
* varonce
;
2076 val
* var41
/* : String */;
2077 char* var42
/* : NativeString */;
2078 long var43
/* : Int */;
2079 val
* var44
/* : String */;
2080 long var45
/* : Int */;
2081 val
* var46
/* : nullable Object */;
2082 static val
* varonce47
;
2083 val
* var48
/* : String */;
2084 char* var49
/* : NativeString */;
2085 long var50
/* : Int */;
2086 val
* var51
/* : String */;
2087 val
* var52
/* : Array[Object] */;
2088 long var53
/* : Int */;
2089 val
* var54
/* : NativeArray[Object] */;
2090 val
* var55
/* : String */;
2091 short int var56
/* : Bool */;
2092 long var57
/* : Int */;
2093 long var58
/* : Int */;
2094 long var59
/* : Int */;
2095 long var61
/* : Int */;
2096 val
* var63
/* : nullable AType */;
2097 val
* var_ntype64
/* var ntype: nullable AType */;
2098 val
* var65
/* : null */;
2099 short int var66
/* : Bool */;
2100 val
* var67
/* : nullable MType */;
2101 val
* var68
/* : nullable MType */;
2102 val
* var69
/* : null */;
2103 short int var70
/* : Bool */;
2104 short int var71
/* : Bool */;
2105 short int var72
/* : Bool */;
2106 short int var73
/* : Bool */;
2107 var_modelbuilder
= p0
;
2109 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__ASignature__param_names
]))(self
) /* param_names on <self:ASignature>*/;
2110 var_param_names
= var1
;
2111 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__ASignature__param_types
]))(self
) /* param_types on <self:ASignature>*/;
2112 var_param_types
= var2
;
2113 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ASignature__n_params
]))(self
) /* n_params on <self:ASignature>*/;
2114 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var3
) /* iterator on <var3:ANodes[AParam]>*/;
2116 var5
= ((short int (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var4
) /* is_ok on <var4:Iterator[nullable Object]>*/;
2118 var6
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var4
) /* item on <var4:Iterator[nullable Object]>*/;
2120 var7
= ((val
* (*)(val
*))(var_np
->class->vft
[COLOR_parser_nodes__AParam__n_id
]))(var_np
) /* n_id on <var_np:AParam>*/;
2121 var8
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_parser_nodes__Token__text
]))(var7
) /* text on <var7:TId>*/;
2122 ((void (*)(val
*, val
*))(var_param_names
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_param_names
, var8
) /* add on <var_param_names:Array[String]>*/;
2123 var9
= ((val
* (*)(val
*))(var_np
->class->vft
[COLOR_parser_nodes__AParam__n_type
]))(var_np
) /* n_type on <var_np:AParam>*/;
2126 if (var_ntype
== NULL
) {
2127 var11
= 0; /* is null */
2129 var11
= 1; /* arg is null and recv is not */
2132 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>*/;
2135 if (var_mtype
== NULL
) {
2136 var14
= 1; /* is null */
2138 var14
= 0; /* arg is null but recv is not */
2146 var16
= NEW_range__Range(&type_range__Rangekernel__Int
);
2148 var18
= ((long (*)(val
*))(var_param_names
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_param_names
) /* length on <var_param_names:Array[String]>*/;
2149 var19
= ((long (*)(val
*))(var_param_types
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_param_types
) /* length on <var_param_types:Array[MType]>*/;
2150 { /* Inline kernel#Int#- (var18,var19) */
2151 var22
= var18
- var19
;
2154 RET_LABEL21
:(void)0;
2156 var23
= BOX_kernel__Int(var17
); /* autobox from Int to Discrete */
2157 var24
= BOX_kernel__Int(var20
); /* autobox from Int to Discrete */
2158 ((void (*)(val
*, val
*, val
*))(var16
->class->vft
[COLOR_range__Range__without_last
]))(var16
, var23
, var24
) /* without_last on <var16:Range[Int]>*/;
2159 CHECK_NEW_range__Range(var16
);
2160 var25
= ((val
* (*)(val
*))(var16
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var16
) /* iterator on <var16:Range[Int]>*/;
2162 var26
= ((short int (*)(val
*))(var25
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var25
) /* is_ok on <var25:Iterator[nullable Object]>*/;
2164 var27
= ((val
* (*)(val
*))(var25
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var25
) /* item on <var25:Iterator[nullable Object]>*/;
2165 var28
= ((struct instance_kernel__Int
*)var27
)->value
; /* autounbox from nullable Object to Int */;
2167 ((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]>*/;
2168 CONTINUE_label
: (void)0;
2169 ((void (*)(val
*))(var25
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var25
) /* next on <var25:Iterator[nullable Object]>*/;
2171 BREAK_label
: (void)0;
2172 var29
= ((val
* (*)(val
*))(var_np
->class->vft
[COLOR_parser_nodes__AParam__n_dotdotdot
]))(var_np
) /* n_dotdotdot on <var_np:AParam>*/;
2174 if (var29
== NULL
) {
2175 var31
= 0; /* is null */
2177 var31
= 1; /* arg is null and recv is not */
2180 var32
= ((long (*)(val
*))(self
->class->vft
[COLOR_modelize_property__ASignature__vararg_rank
]))(self
) /* vararg_rank on <self:ASignature>*/;
2182 { /* Inline kernel#Int#unary - (var33) */
2186 RET_LABEL35
:(void)0;
2188 { /* Inline kernel#Int#!= (var32,var34) */
2189 var39
= var32
== var34
;
2193 RET_LABEL38
:(void)0;
2201 var44
= string__NativeString__to_s_with_length(var42
, var43
);
2205 var45
= ((long (*)(val
*))(self
->class->vft
[COLOR_modelize_property__ASignature__vararg_rank
]))(self
) /* vararg_rank on <self:ASignature>*/;
2206 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]>*/;
2210 var49
= " is already a vararg";
2212 var51
= string__NativeString__to_s_with_length(var49
, var50
);
2216 var52
= NEW_array__Array(&type_array__Arraykernel__Object
);
2217 { /* var52 = array_instance Array[Object] */
2219 var54
= NEW_array__NativeArray(var53
, &type_array__NativeArraykernel__Object
);
2220 ((struct instance_array__NativeArray
*)var54
)->values
[0] = (val
*) var41
;
2221 ((struct instance_array__NativeArray
*)var54
)->values
[1] = (val
*) var46
;
2222 ((struct instance_array__NativeArray
*)var54
)->values
[2] = (val
*) var48
;
2223 ((void (*)(val
*, val
*, long))(var52
->class->vft
[COLOR_array__Array__with_native
]))(var52
, var54
, var53
) /* with_native on <var52:Array[Object]>*/;
2224 CHECK_NEW_array__Array(var52
);
2226 var55
= ((val
* (*)(val
*))(var52
->class->vft
[COLOR_string__Object__to_s
]))(var52
) /* to_s on <var52:Array[Object]>*/;
2227 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, var_np
, var55
) /* error on <var_modelbuilder:ModelBuilder>*/;
2232 var57
= ((long (*)(val
*))(var_param_names
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_param_names
) /* length on <var_param_names:Array[String]>*/;
2234 { /* Inline kernel#Int#- (var57,var58) */
2235 var61
= var57
- var58
;
2238 RET_LABEL60
:(void)0;
2240 ((void (*)(val
*, long))(self
->class->vft
[COLOR_modelize_property__ASignature__vararg_rank_61d
]))(self
, var59
) /* vararg_rank= on <self:ASignature>*/;
2246 CONTINUE_label62
: (void)0;
2247 ((void (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var4
) /* next on <var4:Iterator[nullable Object]>*/;
2249 BREAK_label62
: (void)0;
2250 var63
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ASignature__n_type
]))(self
) /* n_type on <self:ASignature>*/;
2251 var_ntype64
= var63
;
2253 if (var_ntype64
== NULL
) {
2254 var66
= 0; /* is null */
2256 var66
= 1; /* arg is null and recv is not */
2259 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>*/;
2260 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_modelize_property__ASignature__ret_type_61d
]))(self
, var67
) /* ret_type= on <self:ASignature>*/;
2261 var68
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__ASignature__ret_type
]))(self
) /* ret_type on <self:ASignature>*/;
2263 if (var68
== NULL
) {
2264 var70
= 1; /* is null */
2266 var70
= 0; /* arg is null but recv is not */
2277 ((void (*)(val
*, short int))(self
->class->vft
[COLOR_modelize_property__ASignature__is_visited_61d
]))(self
, var72
) /* is_visited= on <self:ASignature>*/;
2284 /* method modelize_property#ASignature#visit_signature for (self: Object, ModelBuilder, AClassdef): Bool */
2285 short int VIRTUAL_modelize_property__ASignature__visit_signature(val
* self
, val
* p0
, val
* p1
) {
2286 short int var
/* : Bool */;
2287 short int var1
/* : Bool */;
2288 var1
= modelize_property__ASignature__visit_signature(self
, p0
, p1
);
2293 /* method modelize_property#ASignature#build_signature for (self: ASignature, ModelBuilder, AClassdef): nullable MSignature */
2294 val
* modelize_property__ASignature__build_signature(val
* self
, val
* p0
, val
* p1
) {
2295 val
* var
/* : nullable MSignature */;
2296 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
2297 val
* var_nclassdef
/* var nclassdef: AClassdef */;
2298 val
* var1
/* : Array[String] */;
2299 long var2
/* : Int */;
2300 val
* var3
/* : Array[MType] */;
2301 long var4
/* : Int */;
2302 short int var5
/* : Bool */;
2303 short int var7
/* : Bool */;
2304 short int var8
/* : Bool */;
2305 val
* var9
/* : ANodes[AParam] */;
2306 val
* var10
/* : Array[MType] */;
2307 long var11
/* : Int */;
2308 val
* var12
/* : nullable Object */;
2309 static val
* varonce
;
2310 val
* var13
/* : String */;
2311 char* var14
/* : NativeString */;
2312 long var15
/* : Int */;
2313 val
* var16
/* : String */;
2314 val
* var17
/* : Array[String] */;
2315 val
* var18
/* : Array[MType] */;
2316 long var19
/* : Int */;
2317 val
* var20
/* : nullable Object */;
2318 static val
* varonce21
;
2319 val
* var22
/* : String */;
2320 char* var23
/* : NativeString */;
2321 long var24
/* : Int */;
2322 val
* var25
/* : String */;
2323 val
* var26
/* : Array[Object] */;
2324 long var27
/* : Int */;
2325 val
* var28
/* : NativeArray[Object] */;
2326 val
* var29
/* : String */;
2327 val
* var30
/* : null */;
2328 val
* var31
/* : Array[MParameter] */;
2329 val
* var_mparameters
/* var mparameters: Array[MParameter] */;
2330 val
* var32
/* : Range[Int] */;
2331 long var33
/* : Int */;
2332 val
* var34
/* : Array[String] */;
2333 long var35
/* : Int */;
2334 val
* var36
/* : Discrete */;
2335 val
* var37
/* : Discrete */;
2336 val
* var38
/* : Iterator[nullable Object] */;
2337 short int var39
/* : Bool */;
2338 val
* var40
/* : nullable Object */;
2339 long var_i
/* var i: Int */;
2340 long var41
/* : Int */;
2341 val
* var42
/* : MParameter */;
2342 val
* var43
/* : Array[String] */;
2343 val
* var44
/* : nullable Object */;
2344 val
* var45
/* : Array[MType] */;
2345 val
* var46
/* : nullable Object */;
2346 long var47
/* : Int */;
2347 short int var48
/* : Bool */;
2348 short int var50
/* : Bool */;
2349 val
* var_mparameter
/* var mparameter: MParameter */;
2350 val
* var51
/* : ANodes[AParam] */;
2351 val
* var52
/* : nullable Object */;
2352 val
* var53
/* : MSignature */;
2353 val
* var54
/* : nullable MType */;
2354 val
* var_msignature
/* var msignature: MSignature */;
2355 var_modelbuilder
= p0
;
2357 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__ASignature__param_names
]))(self
) /* param_names on <self:ASignature>*/;
2358 var2
= ((long (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var1
) /* length on <var1:Array[String]>*/;
2359 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__ASignature__param_types
]))(self
) /* param_types on <self:ASignature>*/;
2360 var4
= ((long (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var3
) /* length on <var3:Array[MType]>*/;
2361 { /* Inline kernel#Int#!= (var2,var4) */
2362 var7
= var2
== var4
;
2369 var9
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ASignature__n_params
]))(self
) /* n_params on <self:ASignature>*/;
2370 var10
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__ASignature__param_types
]))(self
) /* param_types on <self:ASignature>*/;
2371 var11
= ((long (*)(val
*))(var10
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var10
) /* length on <var10:Array[MType]>*/;
2372 var12
= ((val
* (*)(val
*, long))(var9
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var9
, var11
) /* [] on <var9:ANodes[AParam]>*/;
2376 var14
= "Error: Untyped parameter `";
2378 var16
= string__NativeString__to_s_with_length(var14
, var15
);
2382 var17
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__ASignature__param_names
]))(self
) /* param_names on <self:ASignature>*/;
2383 var18
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__ASignature__param_types
]))(self
) /* param_types on <self:ASignature>*/;
2384 var19
= ((long (*)(val
*))(var18
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var18
) /* length on <var18:Array[MType]>*/;
2385 var20
= ((val
* (*)(val
*, long))(var17
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var17
, var19
) /* [] on <var17:Array[String]>*/;
2391 var25
= string__NativeString__to_s_with_length(var23
, var24
);
2395 var26
= NEW_array__Array(&type_array__Arraykernel__Object
);
2396 { /* var26 = array_instance Array[Object] */
2398 var28
= NEW_array__NativeArray(var27
, &type_array__NativeArraykernel__Object
);
2399 ((struct instance_array__NativeArray
*)var28
)->values
[0] = (val
*) var13
;
2400 ((struct instance_array__NativeArray
*)var28
)->values
[1] = (val
*) var20
;
2401 ((struct instance_array__NativeArray
*)var28
)->values
[2] = (val
*) var22
;
2402 ((void (*)(val
*, val
*, long))(var26
->class->vft
[COLOR_array__Array__with_native
]))(var26
, var28
, var27
) /* with_native on <var26:Array[Object]>*/;
2403 CHECK_NEW_array__Array(var26
);
2405 var29
= ((val
* (*)(val
*))(var26
->class->vft
[COLOR_string__Object__to_s
]))(var26
) /* to_s on <var26:Array[Object]>*/;
2406 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, var12
, var29
) /* error on <var_modelbuilder:ModelBuilder>*/;
2412 var31
= NEW_array__Array(&type_array__Arraymodel__MParameter
);
2413 ((void (*)(val
*))(var31
->class->vft
[COLOR_array__Array__init
]))(var31
) /* init on <var31:Array[MParameter]>*/;
2414 CHECK_NEW_array__Array(var31
);
2415 var_mparameters
= var31
;
2416 var32
= NEW_range__Range(&type_range__Rangekernel__Int
);
2418 var34
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__ASignature__param_names
]))(self
) /* param_names on <self:ASignature>*/;
2419 var35
= ((long (*)(val
*))(var34
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var34
) /* length on <var34:Array[String]>*/;
2420 var36
= BOX_kernel__Int(var33
); /* autobox from Int to Discrete */
2421 var37
= BOX_kernel__Int(var35
); /* autobox from Int to Discrete */
2422 ((void (*)(val
*, val
*, val
*))(var32
->class->vft
[COLOR_range__Range__without_last
]))(var32
, var36
, var37
) /* without_last on <var32:Range[Int]>*/;
2423 CHECK_NEW_range__Range(var32
);
2424 var38
= ((val
* (*)(val
*))(var32
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var32
) /* iterator on <var32:Range[Int]>*/;
2426 var39
= ((short int (*)(val
*))(var38
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var38
) /* is_ok on <var38:Iterator[nullable Object]>*/;
2428 var40
= ((val
* (*)(val
*))(var38
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var38
) /* item on <var38:Iterator[nullable Object]>*/;
2429 var41
= ((struct instance_kernel__Int
*)var40
)->value
; /* autounbox from nullable Object to Int */;
2431 var42
= NEW_model__MParameter(&type_model__MParameter
);
2432 var43
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__ASignature__param_names
]))(self
) /* param_names on <self:ASignature>*/;
2433 var44
= ((val
* (*)(val
*, long))(var43
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var43
, var_i
) /* [] on <var43:Array[String]>*/;
2434 var45
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__ASignature__param_types
]))(self
) /* param_types on <self:ASignature>*/;
2435 var46
= ((val
* (*)(val
*, long))(var45
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var45
, var_i
) /* [] on <var45:Array[MType]>*/;
2436 var47
= ((long (*)(val
*))(self
->class->vft
[COLOR_modelize_property__ASignature__vararg_rank
]))(self
) /* vararg_rank on <self:ASignature>*/;
2437 { /* Inline kernel#Int#== (var_i,var47) */
2438 var50
= var_i
== var47
;
2441 RET_LABEL49
:(void)0;
2443 ((void (*)(val
*, val
*, val
*, short int))(var42
->class->vft
[COLOR_model__MParameter__init
]))(var42
, var44
, var46
, var48
) /* init on <var42:MParameter>*/;
2444 CHECK_NEW_model__MParameter(var42
);
2445 var_mparameter
= var42
;
2446 var51
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ASignature__n_params
]))(self
) /* n_params on <self:ASignature>*/;
2447 var52
= ((val
* (*)(val
*, long))(var51
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var51
, var_i
) /* [] on <var51:ANodes[AParam]>*/;
2448 ((void (*)(val
*, val
*))(var52
->class->vft
[COLOR_modelize_property__AParam__mparameter_61d
]))(var52
, var_mparameter
) /* mparameter= on <var52:nullable Object(AParam)>*/;
2449 ((void (*)(val
*, val
*))(var_mparameters
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_mparameters
, var_mparameter
) /* add on <var_mparameters:Array[MParameter]>*/;
2450 CONTINUE_label
: (void)0;
2451 ((void (*)(val
*))(var38
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var38
) /* next on <var38:Iterator[nullable Object]>*/;
2453 BREAK_label
: (void)0;
2454 var53
= NEW_model__MSignature(&type_model__MSignature
);
2455 var54
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__ASignature__ret_type
]))(self
) /* ret_type on <self:ASignature>*/;
2456 ((void (*)(val
*, val
*, val
*))(var53
->class->vft
[COLOR_model__MSignature__init
]))(var53
, var_mparameters
, var54
) /* init on <var53:MSignature>*/;
2457 CHECK_NEW_model__MSignature(var53
);
2458 var_msignature
= var53
;
2459 var
= var_msignature
;
2464 /* method modelize_property#ASignature#build_signature for (self: Object, ModelBuilder, AClassdef): nullable MSignature */
2465 val
* VIRTUAL_modelize_property__ASignature__build_signature(val
* self
, val
* p0
, val
* p1
) {
2466 val
* var
/* : nullable MSignature */;
2467 val
* var1
/* : nullable MSignature */;
2468 var1
= modelize_property__ASignature__build_signature(self
, p0
, p1
);
2473 /* method modelize_property#AParam#mparameter for (self: AParam): nullable MParameter */
2474 val
* modelize_property__AParam__mparameter(val
* self
) {
2475 val
* var
/* : nullable MParameter */;
2476 val
* var1
/* : nullable MParameter */;
2477 var1
= self
->attrs
[COLOR_modelize_property__AParam___64dmparameter
].val
; /* @mparameter on <self:AParam> */
2482 /* method modelize_property#AParam#mparameter for (self: Object): nullable MParameter */
2483 val
* VIRTUAL_modelize_property__AParam__mparameter(val
* self
) {
2484 val
* var
/* : nullable MParameter */;
2485 val
* var1
/* : nullable MParameter */;
2486 var1
= modelize_property__AParam__mparameter(self
);
2491 /* method modelize_property#AParam#mparameter= for (self: AParam, nullable MParameter) */
2492 void modelize_property__AParam__mparameter_61d(val
* self
, val
* p0
) {
2493 self
->attrs
[COLOR_modelize_property__AParam___64dmparameter
].val
= p0
; /* @mparameter on <self:AParam> */
2496 /* method modelize_property#AParam#mparameter= for (self: Object, nullable MParameter) */
2497 void VIRTUAL_modelize_property__AParam__mparameter_61d(val
* self
, val
* p0
) {
2498 modelize_property__AParam__mparameter_61d(self
, p0
);
2501 /* method modelize_property#AMethPropdef#build_property for (self: AMethPropdef, ModelBuilder, AClassdef) */
2502 void modelize_property__AMethPropdef__build_property(val
* self
, val
* p0
, val
* p1
) {
2503 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
2504 val
* var_nclassdef
/* var nclassdef: AClassdef */;
2505 short int var
/* : Bool */;
2508 short int var_is_init
/* var is_init: Bool */;
2509 val
* var1
/* : nullable MClassDef */;
2510 val
* var_mclassdef
/* var mclassdef: MClassDef */;
2511 val
* var2
/* : nullable AMethid */;
2512 val
* var_amethodid
/* var amethodid: nullable AMethid */;
2513 val
* var3
/* : null */;
2514 short int var4
/* : Bool */;
2515 short int var5
/* : Bool */;
2518 static val
* varonce
;
2519 val
* var8
/* : String */;
2520 char* var9
/* : NativeString */;
2521 long var10
/* : Int */;
2522 val
* var11
/* : String */;
2523 val
* var_name
/* var name: String */;
2524 val
* var_name_node
/* var name_node: ANode */;
2525 short int var12
/* : Bool */;
2528 static val
* varonce15
;
2529 val
* var16
/* : String */;
2530 char* var17
/* : NativeString */;
2531 long var18
/* : Int */;
2532 val
* var19
/* : String */;
2533 val
* var20
/* : TKwinit */;
2534 short int var21
/* : Bool */;
2537 static val
* varonce24
;
2538 val
* var25
/* : String */;
2539 char* var26
/* : NativeString */;
2540 long var27
/* : Int */;
2541 val
* var28
/* : String */;
2542 val
* var29
/* : TKwnew */;
2543 short int var30
/* : Bool */;
2546 val
* var33
/* : TId */;
2547 val
* var34
/* : String */;
2548 val
* var35
/* : String */;
2549 short int var36
/* : Bool */;
2550 static val
* varonce37
;
2551 val
* var38
/* : String */;
2552 char* var39
/* : NativeString */;
2553 long var40
/* : Int */;
2554 val
* var41
/* : String */;
2555 short int var42
/* : Bool */;
2556 val
* var43
/* : nullable ASignature */;
2557 val
* var44
/* : ANodes[AParam] */;
2558 long var45
/* : Int */;
2559 long var46
/* : Int */;
2560 short int var47
/* : Bool */;
2561 short int var49
/* : Bool */;
2562 static val
* varonce50
;
2563 val
* var51
/* : String */;
2564 char* var52
/* : NativeString */;
2565 long var53
/* : Int */;
2566 val
* var54
/* : String */;
2567 val
* var55
/* : null */;
2568 val
* var_mprop
/* var mprop: nullable MMethod */;
2569 short int var56
/* : Bool */;
2570 short int var57
/* : Bool */;
2571 short int var_
/* var : Bool */;
2572 val
* var58
/* : nullable TKwredef */;
2573 val
* var59
/* : null */;
2574 short int var60
/* : Bool */;
2575 val
* var61
/* : nullable MProperty */;
2576 short int var62
/* : Bool */;
2579 const char* var_class_name
;
2580 val
* var65
/* : null */;
2581 short int var66
/* : Bool */;
2582 val
* var67
/* : nullable AVisibility */;
2583 val
* var68
/* : MVisibility */;
2584 val
* var_mvisibility
/* var mvisibility: MVisibility */;
2585 val
* var69
/* : MMethod */;
2586 short int var70
/* : Bool */;
2589 val
* var73
/* : nullable TKwredef */;
2590 short int var74
/* : Bool */;
2591 short int var75
/* : Bool */;
2592 short int var76
/* : Bool */;
2593 val
* var77
/* : nullable TKwredef */;
2594 val
* var78
/* : null */;
2595 short int var79
/* : Bool */;
2596 short int var80
/* : Bool */;
2599 val
* var83
/* : nullable TKwredef */;
2600 short int var84
/* : Bool */;
2601 short int var85
/* : Bool */;
2602 short int var86
/* : Bool */;
2603 val
* var87
/* : nullable AVisibility */;
2604 val
* var88
/* : Map[MProperty, APropdef] */;
2605 val
* var89
/* : MMethodDef */;
2606 val
* var90
/* : Location */;
2607 val
* var_mpropdef
/* var mpropdef: MMethodDef */;
2608 short int var91
/* : Bool */;
2611 const struct type
* type_struct
;
2612 const char* var_class_name94
;
2613 val
* var95
/* : HashMap[MPropDef, APropdef] */;
2614 short int var96
/* : Bool */;
2615 val
* var97
/* : ToolContext */;
2616 static val
* varonce98
;
2617 val
* var99
/* : String */;
2618 char* var100
/* : NativeString */;
2619 long var101
/* : Int */;
2620 val
* var102
/* : String */;
2621 val
* var103
/* : String */;
2622 val
* var104
/* : Array[Object] */;
2623 long var105
/* : Int */;
2624 val
* var106
/* : NativeArray[Object] */;
2625 val
* var107
/* : String */;
2626 long var108
/* : Int */;
2627 val
* var109
/* : ToolContext */;
2628 static val
* varonce110
;
2629 val
* var111
/* : String */;
2630 char* var112
/* : NativeString */;
2631 long var113
/* : Int */;
2632 val
* var114
/* : String */;
2633 val
* var115
/* : String */;
2634 val
* var116
/* : Array[Object] */;
2635 long var117
/* : Int */;
2636 val
* var118
/* : NativeArray[Object] */;
2637 val
* var119
/* : String */;
2638 long var120
/* : Int */;
2639 var_modelbuilder
= p0
;
2641 /* <self:AMethPropdef> isa AInitPropdef */
2642 cltype
= type_parser_nodes__AInitPropdef
.color
;
2643 idtype
= type_parser_nodes__AInitPropdef
.id
;
2644 if(cltype
>= self
->type
->table_size
) {
2647 var
= self
->type
->type_table
[cltype
] == idtype
;
2650 var1
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef>*/;
2652 fprintf(stderr
, "Runtime error: %s", "Cast failed");
2653 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 343);
2656 var_mclassdef
= var1
;
2657 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AMethPropdef__n_methid
]))(self
) /* n_methid on <self:AMethPropdef>*/;
2658 var_amethodid
= var2
;
2660 if (var_amethodid
== NULL
) {
2661 var4
= 1; /* is null */
2663 var4
= 0; /* arg is null but recv is not */
2666 /* <self:AMethPropdef> isa AMainMethPropdef */
2667 cltype6
= type_parser_nodes__AMainMethPropdef
.color
;
2668 idtype7
= type_parser_nodes__AMainMethPropdef
.id
;
2669 if(cltype6
>= self
->type
->table_size
) {
2672 var5
= self
->type
->type_table
[cltype6
] == idtype7
;
2680 var11
= string__NativeString__to_s_with_length(var9
, var10
);
2685 var_name_node
= self
;
2687 /* <self:AMethPropdef> isa AConcreteInitPropdef */
2688 cltype13
= type_parser_nodes__AConcreteInitPropdef
.color
;
2689 idtype14
= type_parser_nodes__AConcreteInitPropdef
.id
;
2690 if(cltype13
>= self
->type
->table_size
) {
2693 var12
= self
->type
->type_table
[cltype13
] == idtype14
;
2701 var19
= string__NativeString__to_s_with_length(var17
, var18
);
2706 var20
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AConcreteInitPropdef__n_kwinit
]))(self
) /* n_kwinit on <self:AMethPropdef(AConcreteInitPropdef)>*/;
2707 var_name_node
= var20
;
2709 /* <self:AMethPropdef> isa AExternInitPropdef */
2710 cltype22
= type_parser_nodes__AExternInitPropdef
.color
;
2711 idtype23
= type_parser_nodes__AExternInitPropdef
.id
;
2712 if(cltype22
>= self
->type
->table_size
) {
2715 var21
= self
->type
->type_table
[cltype22
] == idtype23
;
2723 var28
= string__NativeString__to_s_with_length(var26
, var27
);
2728 var29
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AExternInitPropdef__n_kwnew
]))(self
) /* n_kwnew on <self:AMethPropdef(AExternInitPropdef)>*/;
2729 var_name_node
= var29
;
2731 fprintf(stderr
, "Runtime error: %s", "Aborted");
2732 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 358);
2738 /* <var_amethodid:nullable AMethid(AMethid)> isa AIdMethid */
2739 cltype31
= type_parser_nodes__AIdMethid
.color
;
2740 idtype32
= type_parser_nodes__AIdMethid
.id
;
2741 if(cltype31
>= var_amethodid
->type
->table_size
) {
2744 var30
= var_amethodid
->type
->type_table
[cltype31
] == idtype32
;
2747 var33
= ((val
* (*)(val
*))(var_amethodid
->class->vft
[COLOR_parser_nodes__AIdMethid__n_id
]))(var_amethodid
) /* n_id on <var_amethodid:nullable AMethid(AIdMethid)>*/;
2748 var34
= ((val
* (*)(val
*))(var33
->class->vft
[COLOR_parser_nodes__Token__text
]))(var33
) /* text on <var33:TId>*/;
2750 var_name_node
= var_amethodid
;
2752 var35
= ((val
* (*)(val
*))(var_amethodid
->class->vft
[COLOR_modelize_property__Prod__collect_text
]))(var_amethodid
) /* collect_text on <var_amethodid:nullable AMethid(AMethid)>*/;
2754 var_name_node
= var_amethodid
;
2760 var41
= string__NativeString__to_s_with_length(var39
, var40
);
2764 var42
= ((short int (*)(val
*, val
*))(var_name
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_name
, var38
) /* == on <var_name:String>*/;
2768 var43
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AMethPropdef__n_signature
]))(self
) /* n_signature on <self:AMethPropdef>*/;
2769 if (var43
== NULL
) {
2770 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
2771 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 368);
2774 var44
= ((val
* (*)(val
*))(var43
->class->vft
[COLOR_parser_nodes__ASignature__n_params
]))(var43
) /* n_params on <var43:nullable ASignature>*/;
2776 var45
= ((long (*)(val
*))(var44
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var44
) /* length on <var44:ANodes[AParam]>*/;
2778 { /* Inline kernel#Int#== (var45,var46) */
2779 var49
= var45
== var46
;
2782 RET_LABEL48
:(void)0;
2792 var54
= string__NativeString__to_s_with_length(var52
, var53
);
2803 var57
= !var_is_init
;
2808 var58
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AMethPropdef__n_kwredef
]))(self
) /* n_kwredef on <self:AMethPropdef>*/;
2810 if (var58
== NULL
) {
2811 var60
= 0; /* is null */
2813 var60
= 1; /* arg is null and recv is not */
2818 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>*/;
2819 /* <var61:nullable MProperty> isa nullable MMethod */
2820 cltype63
= type_nullable_model__MMethod
.color
;
2821 idtype64
= type_nullable_model__MMethod
.id
;
2825 if(cltype63
>= var61
->type
->table_size
) {
2828 var62
= var61
->type
->type_table
[cltype63
] == idtype64
;
2832 var_class_name
= var61
== NULL ?
"null" : var61
->type
->name
;
2833 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MMethod", var_class_name
);
2834 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 374);
2841 if (var_mprop
== NULL
) {
2842 var66
= 1; /* is null */
2844 var66
= 0; /* arg is null but recv is not */
2847 var67
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AMethPropdef__n_visibility
]))(self
) /* n_visibility on <self:AMethPropdef>*/;
2848 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>*/;
2849 var_mvisibility
= var68
;
2850 var69
= NEW_model__MMethod(&type_model__MMethod
);
2851 ((void (*)(val
*, val
*, val
*, val
*))(var69
->class->vft
[COLOR_model__MMethod__init
]))(var69
, var_mclassdef
, var_name
, var_mvisibility
) /* init on <var69:MMethod>*/;
2852 CHECK_NEW_model__MMethod(var69
);
2854 ((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)>*/;
2855 /* <self:AMethPropdef> isa AExternInitPropdef */
2856 cltype71
= type_parser_nodes__AExternInitPropdef
.color
;
2857 idtype72
= type_parser_nodes__AExternInitPropdef
.id
;
2858 if(cltype71
>= self
->type
->table_size
) {
2861 var70
= self
->type
->type_table
[cltype71
] == idtype72
;
2863 ((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)>*/;
2864 var73
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AMethPropdef__n_kwredef
]))(self
) /* n_kwredef on <self:AMethPropdef>*/;
2866 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>*/;
2873 var77
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AMethPropdef__n_kwredef
]))(self
) /* n_kwredef on <self:AMethPropdef>*/;
2875 if (var77
== NULL
) {
2876 var79
= 1; /* is null */
2878 var79
= 0; /* arg is null but recv is not */
2881 /* <self:AMethPropdef> isa AMainMethPropdef */
2882 cltype81
= type_parser_nodes__AMainMethPropdef
.color
;
2883 idtype82
= type_parser_nodes__AMainMethPropdef
.id
;
2884 if(cltype81
>= self
->type
->table_size
) {
2887 var80
= self
->type
->type_table
[cltype81
] == idtype82
;
2891 var83
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AMethPropdef__n_kwredef
]))(self
) /* n_kwredef on <self:AMethPropdef>*/;
2893 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>*/;
2902 var87
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AMethPropdef__n_visibility
]))(self
) /* n_visibility on <self:AMethPropdef>*/;
2903 ((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>*/;
2905 var88
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_property__AClassdef__mprop2npropdef
]))(var_nclassdef
) /* mprop2npropdef on <var_nclassdef:AClassdef>*/;
2906 ((void (*)(val
*, val
*, val
*))(var88
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var88
, var_mprop
, self
) /* []= on <var88:Map[MProperty, APropdef]>*/;
2907 var89
= NEW_model__MMethodDef(&type_model__MMethodDef
);
2908 var90
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__location
]))(self
) /* location on <self:AMethPropdef>*/;
2909 ((void (*)(val
*, val
*, val
*, val
*))(var89
->class->vft
[COLOR_model__MMethodDef__init
]))(var89
, var_mclassdef
, var_mprop
, var90
) /* init on <var89:MMethodDef>*/;
2910 CHECK_NEW_model__MMethodDef(var89
);
2911 var_mpropdef
= var89
;
2912 /* <var_mpropdef:MMethodDef> isa nullable MPROPDEF */
2913 type_struct
= self
->type
->resolution_table
->types
[COLOR_parser_nodes__APropdef_VTMPROPDEF
];
2914 cltype92
= type_struct
->color
;
2915 idtype93
= type_struct
->id
;
2916 if(cltype92
>= var_mpropdef
->type
->table_size
) {
2919 var91
= var_mpropdef
->type
->type_table
[cltype92
] == idtype93
;
2922 var_class_name94
= var_mpropdef
== NULL ?
"null" : var_mpropdef
->type
->name
;
2923 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name94
);
2924 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 395);
2927 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__mpropdef_61d
]))(self
, var_mpropdef
) /* mpropdef= on <self:AMethPropdef>*/;
2928 var95
= ((val
* (*)(val
*))(var_modelbuilder
->class->vft
[COLOR_modelize_property__ModelBuilder__mpropdef2npropdef
]))(var_modelbuilder
) /* mpropdef2npropdef on <var_modelbuilder:ModelBuilder>*/;
2929 ((void (*)(val
*, val
*, val
*))(var95
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var95
, var_mpropdef
, self
) /* []= on <var95:HashMap[MPropDef, APropdef]>*/;
2930 var96
= ((short int (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__is_intro
]))(var_mpropdef
) /* is_intro on <var_mpropdef:MMethodDef>*/;
2932 var97
= ((val
* (*)(val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var_modelbuilder
) /* toolcontext on <var_modelbuilder:ModelBuilder>*/;
2936 var100
= " introduces new method ";
2938 var102
= string__NativeString__to_s_with_length(var100
, var101
);
2942 var103
= ((val
* (*)(val
*))(var_mprop
->class->vft
[COLOR_model__MProperty__full_name
]))(var_mprop
) /* full_name on <var_mprop:nullable MMethod(MMethod)>*/;
2943 var104
= NEW_array__Array(&type_array__Arraykernel__Object
);
2944 { /* var104 = array_instance Array[Object] */
2946 var106
= NEW_array__NativeArray(var105
, &type_array__NativeArraykernel__Object
);
2947 ((struct instance_array__NativeArray
*)var106
)->values
[0] = (val
*) var_mpropdef
;
2948 ((struct instance_array__NativeArray
*)var106
)->values
[1] = (val
*) var99
;
2949 ((struct instance_array__NativeArray
*)var106
)->values
[2] = (val
*) var103
;
2950 ((void (*)(val
*, val
*, long))(var104
->class->vft
[COLOR_array__Array__with_native
]))(var104
, var106
, var105
) /* with_native on <var104:Array[Object]>*/;
2951 CHECK_NEW_array__Array(var104
);
2953 var107
= ((val
* (*)(val
*))(var104
->class->vft
[COLOR_string__Object__to_s
]))(var104
) /* to_s on <var104:Array[Object]>*/;
2955 ((void (*)(val
*, val
*, long))(var97
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var97
, var107
, var108
) /* info on <var97:ToolContext>*/;
2957 var109
= ((val
* (*)(val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var_modelbuilder
) /* toolcontext on <var_modelbuilder:ModelBuilder>*/;
2959 var111
= varonce110
;
2961 var112
= " redefines method ";
2963 var114
= string__NativeString__to_s_with_length(var112
, var113
);
2965 varonce110
= var111
;
2967 var115
= ((val
* (*)(val
*))(var_mprop
->class->vft
[COLOR_model__MProperty__full_name
]))(var_mprop
) /* full_name on <var_mprop:nullable MMethod(MMethod)>*/;
2968 var116
= NEW_array__Array(&type_array__Arraykernel__Object
);
2969 { /* var116 = array_instance Array[Object] */
2971 var118
= NEW_array__NativeArray(var117
, &type_array__NativeArraykernel__Object
);
2972 ((struct instance_array__NativeArray
*)var118
)->values
[0] = (val
*) var_mpropdef
;
2973 ((struct instance_array__NativeArray
*)var118
)->values
[1] = (val
*) var111
;
2974 ((struct instance_array__NativeArray
*)var118
)->values
[2] = (val
*) var115
;
2975 ((void (*)(val
*, val
*, long))(var116
->class->vft
[COLOR_array__Array__with_native
]))(var116
, var118
, var117
) /* with_native on <var116:Array[Object]>*/;
2976 CHECK_NEW_array__Array(var116
);
2978 var119
= ((val
* (*)(val
*))(var116
->class->vft
[COLOR_string__Object__to_s
]))(var116
) /* to_s on <var116:Array[Object]>*/;
2980 ((void (*)(val
*, val
*, long))(var109
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var109
, var119
, var120
) /* info on <var109:ToolContext>*/;
2984 /* method modelize_property#AMethPropdef#build_property for (self: Object, ModelBuilder, AClassdef) */
2985 void VIRTUAL_modelize_property__AMethPropdef__build_property(val
* self
, val
* p0
, val
* p1
) {
2986 modelize_property__AMethPropdef__build_property(self
, p0
, p1
);
2989 /* method modelize_property#AMethPropdef#build_signature for (self: AMethPropdef, ModelBuilder, AClassdef) */
2990 void modelize_property__AMethPropdef__build_signature(val
* self
, val
* p0
, val
* p1
) {
2991 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
2992 val
* var_nclassdef
/* var nclassdef: AClassdef */;
2993 val
* var
/* : nullable MPropDef */;
2994 val
* var_mpropdef
/* var mpropdef: nullable MMethodDef */;
2995 val
* var1
/* : null */;
2996 short int var2
/* : Bool */;
2997 val
* var3
/* : MClassDef */;
2998 val
* var4
/* : MModule */;
2999 val
* var_mmodule
/* var mmodule: MModule */;
3000 val
* var5
/* : nullable ASignature */;
3001 val
* var_nsig
/* var nsig: nullable ASignature */;
3002 val
* var6
/* : Array[String] */;
3003 val
* var_param_names
/* var param_names: Array[String] */;
3004 val
* var7
/* : Array[MType] */;
3005 val
* var_param_types
/* var param_types: Array[MType] */;
3006 long var8
/* : Int */;
3007 long var9
/* : Int */;
3008 long var11
/* : Int */;
3009 long var_vararg_rank
/* var vararg_rank: Int */;
3010 val
* var12
/* : null */;
3011 val
* var_ret_type
/* var ret_type: nullable MType */;
3012 val
* var13
/* : null */;
3013 short int var14
/* : Bool */;
3014 short int var15
/* : Bool */;
3015 short int var16
/* : Bool */;
3016 val
* var17
/* : Array[String] */;
3017 val
* var18
/* : Array[MType] */;
3018 long var19
/* : Int */;
3019 val
* var20
/* : nullable MType */;
3020 val
* var21
/* : null */;
3021 val
* var_msignature
/* var msignature: nullable MSignature */;
3022 short int var22
/* : Bool */;
3023 short int var23
/* : Bool */;
3024 val
* var24
/* : MProperty */;
3025 val
* var25
/* : MPropDef */;
3026 val
* var26
/* : nullable MSignature */;
3027 val
* var27
/* : null */;
3028 short int var28
/* : Bool */;
3029 long var29
/* : Int */;
3030 long var30
/* : Int */;
3031 short int var31
/* : Bool */;
3032 short int var33
/* : Bool */;
3033 short int var34
/* : Bool */;
3034 val
* var35
/* : null */;
3035 short int var36
/* : Bool */;
3036 val
* var_node
/* var node: ANode */;
3037 static val
* varonce
;
3038 val
* var37
/* : String */;
3039 char* var38
/* : NativeString */;
3040 long var39
/* : Int */;
3041 val
* var40
/* : String */;
3042 static val
* varonce41
;
3043 val
* var42
/* : String */;
3044 char* var43
/* : NativeString */;
3045 long var44
/* : Int */;
3046 val
* var45
/* : String */;
3047 val
* var46
/* : MProperty */;
3048 val
* var47
/* : MPropDef */;
3049 static val
* varonce48
;
3050 val
* var49
/* : String */;
3051 char* var50
/* : NativeString */;
3052 long var51
/* : Int */;
3053 val
* var52
/* : String */;
3054 long var53
/* : Int */;
3055 static val
* varonce54
;
3056 val
* var55
/* : String */;
3057 char* var56
/* : NativeString */;
3058 long var57
/* : Int */;
3059 val
* var58
/* : String */;
3060 long var59
/* : Int */;
3061 static val
* varonce60
;
3062 val
* var61
/* : String */;
3063 char* var62
/* : NativeString */;
3064 long var63
/* : Int */;
3065 val
* var64
/* : String */;
3066 val
* var65
/* : Array[Object] */;
3067 long var66
/* : Int */;
3068 val
* var67
/* : NativeArray[Object] */;
3069 val
* var68
/* : Object */;
3070 val
* var69
/* : Object */;
3071 val
* var70
/* : String */;
3072 val
* var71
/* : MProperty */;
3073 short int var72
/* : Bool */;
3074 val
* var73
/* : nullable MClassDef */;
3075 val
* var74
/* : Array[MClassType] */;
3076 val
* var75
/* : Iterator[nullable Object] */;
3077 short int var76
/* : Bool */;
3078 val
* var77
/* : nullable Object */;
3079 val
* var_msupertype
/* var msupertype: MClassType */;
3080 val
* var78
/* : nullable MClassDef */;
3081 val
* var79
/* : MClassType */;
3082 val
* var80
/* : MType */;
3083 val
* var81
/* : MProperty */;
3084 val
* var82
/* : String */;
3085 val
* var83
/* : nullable MProperty */;
3086 val
* var_candidate
/* var candidate: nullable MProperty */;
3087 val
* var84
/* : null */;
3088 short int var85
/* : Bool */;
3089 val
* var86
/* : null */;
3090 short int var87
/* : Bool */;
3091 val
* var88
/* : MPropDef */;
3092 short int var89
/* : Bool */;
3095 const char* var_class_name
;
3096 val
* var90
/* : nullable MSignature */;
3097 short int var91
/* : Bool */;
3098 short int var92
/* : Bool */;
3099 short int var93
/* : Bool */;
3100 val
* var94
/* : null */;
3101 short int var95
/* : Bool */;
3102 short int var_
/* var : Bool */;
3103 long var96
/* : Int */;
3104 long var97
/* : Int */;
3105 short int var98
/* : Bool */;
3106 short int var100
/* : Bool */;
3107 short int var101
/* : Bool */;
3108 short int var_102
/* var : Bool */;
3109 long var103
/* : Int */;
3110 long var104
/* : Int */;
3111 short int var105
/* : Bool */;
3112 short int var107
/* : Bool */;
3113 short int var_108
/* var : Bool */;
3114 long var109
/* : Int */;
3115 long var110
/* : Int */;
3116 short int var111
/* : Bool */;
3117 short int var113
/* : Bool */;
3118 val
* var114
/* : Array[MType] */;
3119 val
* var115
/* : Array[MParameter] */;
3120 val
* var116
/* : Iterator[nullable Object] */;
3121 short int var117
/* : Bool */;
3122 val
* var118
/* : nullable Object */;
3123 val
* var_mparameter
/* var mparameter: MParameter */;
3124 val
* var119
/* : MType */;
3125 long var121
/* : Int */;
3126 short int var122
/* : Bool */;
3127 val
* var123
/* : null */;
3128 short int var124
/* : Bool */;
3129 short int var_125
/* var : Bool */;
3130 val
* var126
/* : null */;
3131 short int var127
/* : Bool */;
3132 val
* var128
/* : nullable MType */;
3133 long var129
/* : Int */;
3134 long var130
/* : Int */;
3135 short int var131
/* : Bool */;
3136 short int var133
/* : Bool */;
3137 short int var134
/* : Bool */;
3138 val
* var135
/* : ANodes[AParam] */;
3139 long var136
/* : Int */;
3140 val
* var137
/* : nullable Object */;
3141 static val
* varonce138
;
3142 val
* var139
/* : String */;
3143 char* var140
/* : NativeString */;
3144 long var141
/* : Int */;
3145 val
* var142
/* : String */;
3146 long var143
/* : Int */;
3147 val
* var144
/* : nullable Object */;
3148 static val
* varonce145
;
3149 val
* var146
/* : String */;
3150 char* var147
/* : NativeString */;
3151 long var148
/* : Int */;
3152 val
* var149
/* : String */;
3153 val
* var150
/* : Array[Object] */;
3154 long var151
/* : Int */;
3155 val
* var152
/* : NativeArray[Object] */;
3156 val
* var153
/* : String */;
3157 val
* var154
/* : Array[MParameter] */;
3158 val
* var_mparameters
/* var mparameters: Array[MParameter] */;
3159 val
* var155
/* : Range[Int] */;
3160 long var156
/* : Int */;
3161 long var157
/* : Int */;
3162 val
* var158
/* : Discrete */;
3163 val
* var159
/* : Discrete */;
3164 val
* var160
/* : Iterator[nullable Object] */;
3165 short int var161
/* : Bool */;
3166 val
* var162
/* : nullable Object */;
3167 long var_i
/* var i: Int */;
3168 long var163
/* : Int */;
3169 val
* var164
/* : MParameter */;
3170 val
* var165
/* : nullable Object */;
3171 val
* var166
/* : nullable Object */;
3172 short int var167
/* : Bool */;
3173 short int var169
/* : Bool */;
3174 val
* var_mparameter170
/* var mparameter: MParameter */;
3175 val
* var171
/* : null */;
3176 short int var172
/* : Bool */;
3177 val
* var173
/* : ANodes[AParam] */;
3178 val
* var174
/* : nullable Object */;
3179 val
* var176
/* : MSignature */;
3180 short int var177
/* : Bool */;
3183 var_modelbuilder
= p0
;
3185 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__mpropdef
]))(self
) /* mpropdef on <self:AMethPropdef>*/;
3188 if (var_mpropdef
== NULL
) {
3189 var2
= 1; /* is null */
3191 var2
= 0; /* arg is null but recv is not */
3197 var3
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var_mpropdef
) /* mclassdef on <var_mpropdef:nullable MMethodDef(MMethodDef)>*/;
3198 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_model__MClassDef__mmodule
]))(var3
) /* mmodule on <var3:MClassDef>*/;
3200 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AMethPropdef__n_signature
]))(self
) /* n_signature on <self:AMethPropdef>*/;
3202 var6
= NEW_array__Array(&type_array__Arraystring__String
);
3203 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[String]>*/;
3204 CHECK_NEW_array__Array(var6
);
3205 var_param_names
= var6
;
3206 var7
= NEW_array__Array(&type_array__Arraymodel__MType
);
3207 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[MType]>*/;
3208 CHECK_NEW_array__Array(var7
);
3209 var_param_types
= var7
;
3211 { /* Inline kernel#Int#unary - (var8) */
3215 RET_LABEL10
:(void)0;
3217 var_vararg_rank
= var9
;
3219 var_ret_type
= var12
;
3221 if (var_nsig
== NULL
) {
3222 var14
= 0; /* is null */
3224 var14
= 1; /* arg is null and recv is not */
3227 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)>*/;
3233 var17
= ((val
* (*)(val
*))(var_nsig
->class->vft
[COLOR_modelize_property__ASignature__param_names
]))(var_nsig
) /* param_names on <var_nsig:nullable ASignature(ASignature)>*/;
3234 var_param_names
= var17
;
3235 var18
= ((val
* (*)(val
*))(var_nsig
->class->vft
[COLOR_modelize_property__ASignature__param_types
]))(var_nsig
) /* param_types on <var_nsig:nullable ASignature(ASignature)>*/;
3236 var_param_types
= var18
;
3237 var19
= ((long (*)(val
*))(var_nsig
->class->vft
[COLOR_modelize_property__ASignature__vararg_rank
]))(var_nsig
) /* vararg_rank on <var_nsig:nullable ASignature(ASignature)>*/;
3238 var_vararg_rank
= var19
;
3239 var20
= ((val
* (*)(val
*))(var_nsig
->class->vft
[COLOR_modelize_property__ASignature__ret_type
]))(var_nsig
) /* ret_type on <var_nsig:nullable ASignature(ASignature)>*/;
3240 var_ret_type
= var20
;
3244 var_msignature
= var21
;
3245 var22
= ((short int (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__is_intro
]))(var_mpropdef
) /* is_intro on <var_mpropdef:nullable MMethodDef(MMethodDef)>*/;
3248 var24
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var_mpropdef
) /* mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)>*/;
3249 var25
= ((val
* (*)(val
*))(var24
->class->vft
[COLOR_model__MProperty__intro
]))(var24
) /* intro on <var24:MProperty(MMethod)>*/;
3250 var26
= ((val
* (*)(val
*))(var25
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var25
) /* msignature on <var25:MPropDef(MMethodDef)>*/;
3251 var_msignature
= var26
;
3253 if (var_msignature
== NULL
) {
3254 var28
= 1; /* is null */
3256 var28
= 0; /* arg is null but recv is not */
3262 var29
= ((long (*)(val
*))(var_param_names
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_param_names
) /* length on <var_param_names:Array[String]>*/;
3263 var30
= ((long (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__arity
]))(var_msignature
) /* arity on <var_msignature:nullable MSignature(MSignature)>*/;
3264 { /* Inline kernel#Int#!= (var29,var30) */
3265 var33
= var29
== var30
;
3269 RET_LABEL32
:(void)0;
3273 if (var_nsig
== NULL
) {
3274 var36
= 0; /* is null */
3276 var36
= 1; /* arg is null and recv is not */
3279 var_node
= var_nsig
;
3286 var38
= "Redef error: ";
3288 var40
= string__NativeString__to_s_with_length(var38
, var39
);
3295 var43
= " redefines ";
3297 var45
= string__NativeString__to_s_with_length(var43
, var44
);
3301 var46
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var_mpropdef
) /* mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)>*/;
3302 var47
= ((val
* (*)(val
*))(var46
->class->vft
[COLOR_model__MProperty__intro
]))(var46
) /* intro on <var46:MProperty(MMethod)>*/;
3308 var52
= string__NativeString__to_s_with_length(var50
, var51
);
3312 var53
= ((long (*)(val
*))(var_param_names
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_param_names
) /* length on <var_param_names:Array[String]>*/;
3316 var56
= " parameter(s), ";
3318 var58
= string__NativeString__to_s_with_length(var56
, var57
);
3322 var59
= ((long (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__arity
]))(var_msignature
) /* arity on <var_msignature:nullable MSignature(MSignature)>*/;
3326 var62
= " expected. Signature is ";
3328 var64
= string__NativeString__to_s_with_length(var62
, var63
);
3332 var65
= NEW_array__Array(&type_array__Arraykernel__Object
);
3333 { /* var65 = array_instance Array[Object] */
3335 var67
= NEW_array__NativeArray(var66
, &type_array__NativeArraykernel__Object
);
3336 ((struct instance_array__NativeArray
*)var67
)->values
[0] = (val
*) var37
;
3337 ((struct instance_array__NativeArray
*)var67
)->values
[1] = (val
*) var_mpropdef
;
3338 ((struct instance_array__NativeArray
*)var67
)->values
[2] = (val
*) var42
;
3339 ((struct instance_array__NativeArray
*)var67
)->values
[3] = (val
*) var47
;
3340 ((struct instance_array__NativeArray
*)var67
)->values
[4] = (val
*) var49
;
3341 var68
= BOX_kernel__Int(var53
); /* autobox from Int to Object */
3342 ((struct instance_array__NativeArray
*)var67
)->values
[5] = (val
*) var68
;
3343 ((struct instance_array__NativeArray
*)var67
)->values
[6] = (val
*) var55
;
3344 var69
= BOX_kernel__Int(var59
); /* autobox from Int to Object */
3345 ((struct instance_array__NativeArray
*)var67
)->values
[7] = (val
*) var69
;
3346 ((struct instance_array__NativeArray
*)var67
)->values
[8] = (val
*) var61
;
3347 ((struct instance_array__NativeArray
*)var67
)->values
[9] = (val
*) var_mpropdef
;
3348 ((struct instance_array__NativeArray
*)var67
)->values
[10] = (val
*) var_msignature
;
3349 ((void (*)(val
*, val
*, long))(var65
->class->vft
[COLOR_array__Array__with_native
]))(var65
, var67
, var66
) /* with_native on <var65:Array[Object]>*/;
3350 CHECK_NEW_array__Array(var65
);
3352 var70
= ((val
* (*)(val
*))(var65
->class->vft
[COLOR_string__Object__to_s
]))(var65
) /* to_s on <var65:Array[Object]>*/;
3353 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, var_node
, var70
) /* error on <var_modelbuilder:ModelBuilder>*/;
3358 var71
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var_mpropdef
) /* mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)>*/;
3359 var72
= ((short int (*)(val
*))(var71
->class->vft
[COLOR_model__MMethod__is_init
]))(var71
) /* is_init on <var71:MProperty(MMethod)>*/;
3361 var73
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef>*/;
3362 if (var73
== NULL
) {
3363 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
3364 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 440);
3367 var74
= ((val
* (*)(val
*))(var73
->class->vft
[COLOR_model__MClassDef__supertypes
]))(var73
) /* supertypes on <var73:nullable MClassDef>*/;
3369 var75
= ((val
* (*)(val
*))(var74
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var74
) /* iterator on <var74:Array[MClassType]>*/;
3371 var76
= ((short int (*)(val
*))(var75
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var75
) /* is_ok on <var75:Iterator[nullable Object]>*/;
3373 var77
= ((val
* (*)(val
*))(var75
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var75
) /* item on <var75:Iterator[nullable Object]>*/;
3374 var_msupertype
= var77
;
3375 var78
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef>*/;
3376 if (var78
== NULL
) {
3377 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
3378 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 441);
3381 var79
= ((val
* (*)(val
*))(var78
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var78
) /* bound_mtype on <var78:nullable MClassDef>*/;
3383 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>*/;
3384 var_msupertype
= var80
;
3385 var81
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var_mpropdef
) /* mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)>*/;
3386 var82
= ((val
* (*)(val
*))(var81
->class->vft
[COLOR_model__MProperty__name
]))(var81
) /* name on <var81:MProperty(MMethod)>*/;
3387 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>*/;
3388 var_candidate
= var83
;
3390 if (var_candidate
== NULL
) {
3391 var85
= 0; /* is null */
3393 var85
= 1; /* arg is null and recv is not */
3397 if (var_msignature
== NULL
) {
3398 var87
= 1; /* is null */
3400 var87
= 0; /* arg is null but recv is not */
3403 var88
= ((val
* (*)(val
*))(var_candidate
->class->vft
[COLOR_model__MProperty__intro
]))(var_candidate
) /* intro on <var_candidate:nullable MProperty(MProperty)>*/;
3404 /* <var88:MPropDef> isa MMethodDef */
3405 cltype
= type_model__MMethodDef
.color
;
3406 idtype
= type_model__MMethodDef
.id
;
3407 if(cltype
>= var88
->type
->table_size
) {
3410 var89
= var88
->type
->type_table
[cltype
] == idtype
;
3413 var_class_name
= var88
== NULL ?
"null" : var88
->type
->name
;
3414 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MMethodDef", var_class_name
);
3415 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 445);
3418 var90
= ((val
* (*)(val
*))(var88
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var88
) /* msignature on <var88:MPropDef(MMethodDef)>*/;
3419 var_msignature
= var90
;
3424 CONTINUE_label
: (void)0;
3425 ((void (*)(val
*))(var75
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var75
) /* next on <var75:Iterator[nullable Object]>*/;
3427 BREAK_label
: (void)0;
3432 if (var_msignature
== NULL
) {
3433 var95
= 0; /* is null */
3435 var95
= 1; /* arg is null and recv is not */
3439 var96
= ((long (*)(val
*))(var_param_names
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_param_names
) /* length on <var_param_names:Array[String]>*/;
3440 var97
= ((long (*)(val
*))(var_param_types
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_param_types
) /* length on <var_param_types:Array[MType]>*/;
3441 { /* Inline kernel#Int#!= (var96,var97) */
3442 var100
= var96
== var97
;
3446 RET_LABEL99
:(void)0;
3454 var103
= ((long (*)(val
*))(var_param_names
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_param_names
) /* length on <var_param_names:Array[String]>*/;
3455 var104
= ((long (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__arity
]))(var_msignature
) /* arity on <var_msignature:nullable MSignature(MSignature)>*/;
3456 { /* Inline kernel#Int#== (var103,var104) */
3457 var107
= var103
== var104
;
3460 RET_LABEL106
:(void)0;
3468 var109
= ((long (*)(val
*))(var_param_types
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_param_types
) /* length on <var_param_types:Array[MType]>*/;
3470 { /* Inline kernel#Int#== (var109,var110) */
3471 var113
= var109
== var110
;
3474 RET_LABEL112
:(void)0;
3481 var114
= NEW_array__Array(&type_array__Arraymodel__MType
);
3482 ((void (*)(val
*))(var114
->class->vft
[COLOR_array__Array__init
]))(var114
) /* init on <var114:Array[MType]>*/;
3483 CHECK_NEW_array__Array(var114
);
3484 var_param_types
= var114
;
3485 var115
= ((val
* (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__mparameters
]))(var_msignature
) /* mparameters on <var_msignature:nullable MSignature(MSignature)>*/;
3486 var116
= ((val
* (*)(val
*))(var115
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var115
) /* iterator on <var115:Array[MParameter]>*/;
3488 var117
= ((short int (*)(val
*))(var116
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var116
) /* is_ok on <var116:Iterator[nullable Object]>*/;
3490 var118
= ((val
* (*)(val
*))(var116
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var116
) /* item on <var116:Iterator[nullable Object]>*/;
3491 var_mparameter
= var118
;
3492 var119
= ((val
* (*)(val
*))(var_mparameter
->class->vft
[COLOR_model__MParameter__mtype
]))(var_mparameter
) /* mtype on <var_mparameter:MParameter>*/;
3493 ((void (*)(val
*, val
*))(var_param_types
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_param_types
, var119
) /* add on <var_param_types:Array[MType]>*/;
3494 CONTINUE_label120
: (void)0;
3495 ((void (*)(val
*))(var116
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var116
) /* next on <var116:Iterator[nullable Object]>*/;
3497 BREAK_label120
: (void)0;
3498 var121
= ((long (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__vararg_rank
]))(var_msignature
) /* vararg_rank on <var_msignature:nullable MSignature(MSignature)>*/;
3499 var_vararg_rank
= var121
;
3503 if (var_msignature
== NULL
) {
3504 var124
= 0; /* is null */
3506 var124
= 1; /* arg is null and recv is not */
3511 if (var_ret_type
== NULL
) {
3512 var127
= 1; /* is null */
3514 var127
= 0; /* arg is null but recv is not */
3521 var128
= ((val
* (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__return_mtype
]))(var_msignature
) /* return_mtype on <var_msignature:nullable MSignature(MSignature)>*/;
3522 var_ret_type
= var128
;
3525 var129
= ((long (*)(val
*))(var_param_names
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_param_names
) /* length on <var_param_names:Array[String]>*/;
3526 var130
= ((long (*)(val
*))(var_param_types
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_param_types
) /* length on <var_param_types:Array[MType]>*/;
3527 { /* Inline kernel#Int#!= (var129,var130) */
3528 var133
= var129
== var130
;
3532 RET_LABEL132
:(void)0;
3535 if (var_nsig
== NULL
) {
3536 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
3537 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 467);
3540 var135
= ((val
* (*)(val
*))(var_nsig
->class->vft
[COLOR_parser_nodes__ASignature__n_params
]))(var_nsig
) /* n_params on <var_nsig:nullable ASignature>*/;
3542 var136
= ((long (*)(val
*))(var_param_types
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_param_types
) /* length on <var_param_types:Array[MType]>*/;
3543 var137
= ((val
* (*)(val
*, long))(var135
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var135
, var136
) /* [] on <var135:ANodes[AParam]>*/;
3545 var139
= varonce138
;
3547 var140
= "Error: Untyped parameter `";
3549 var142
= string__NativeString__to_s_with_length(var140
, var141
);
3551 varonce138
= var139
;
3553 var143
= ((long (*)(val
*))(var_param_types
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_param_types
) /* length on <var_param_types:Array[MType]>*/;
3554 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]>*/;
3556 var146
= varonce145
;
3560 var149
= string__NativeString__to_s_with_length(var147
, var148
);
3562 varonce145
= var146
;
3564 var150
= NEW_array__Array(&type_array__Arraykernel__Object
);
3565 { /* var150 = array_instance Array[Object] */
3567 var152
= NEW_array__NativeArray(var151
, &type_array__NativeArraykernel__Object
);
3568 ((struct instance_array__NativeArray
*)var152
)->values
[0] = (val
*) var139
;
3569 ((struct instance_array__NativeArray
*)var152
)->values
[1] = (val
*) var144
;
3570 ((struct instance_array__NativeArray
*)var152
)->values
[2] = (val
*) var146
;
3571 ((void (*)(val
*, val
*, long))(var150
->class->vft
[COLOR_array__Array__with_native
]))(var150
, var152
, var151
) /* with_native on <var150:Array[Object]>*/;
3572 CHECK_NEW_array__Array(var150
);
3574 var153
= ((val
* (*)(val
*))(var150
->class->vft
[COLOR_string__Object__to_s
]))(var150
) /* to_s on <var150:Array[Object]>*/;
3575 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, var137
, var153
) /* error on <var_modelbuilder:ModelBuilder>*/;
3579 var154
= NEW_array__Array(&type_array__Arraymodel__MParameter
);
3580 ((void (*)(val
*))(var154
->class->vft
[COLOR_array__Array__init
]))(var154
) /* init on <var154:Array[MParameter]>*/;
3581 CHECK_NEW_array__Array(var154
);
3582 var_mparameters
= var154
;
3583 var155
= NEW_range__Range(&type_range__Rangekernel__Int
);
3585 var157
= ((long (*)(val
*))(var_param_names
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_param_names
) /* length on <var_param_names:Array[String]>*/;
3586 var158
= BOX_kernel__Int(var156
); /* autobox from Int to Discrete */
3587 var159
= BOX_kernel__Int(var157
); /* autobox from Int to Discrete */
3588 ((void (*)(val
*, val
*, val
*))(var155
->class->vft
[COLOR_range__Range__without_last
]))(var155
, var158
, var159
) /* without_last on <var155:Range[Int]>*/;
3589 CHECK_NEW_range__Range(var155
);
3590 var160
= ((val
* (*)(val
*))(var155
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var155
) /* iterator on <var155:Range[Int]>*/;
3592 var161
= ((short int (*)(val
*))(var160
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var160
) /* is_ok on <var160:Iterator[nullable Object]>*/;
3594 var162
= ((val
* (*)(val
*))(var160
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var160
) /* item on <var160:Iterator[nullable Object]>*/;
3595 var163
= ((struct instance_kernel__Int
*)var162
)->value
; /* autounbox from nullable Object to Int */;
3597 var164
= NEW_model__MParameter(&type_model__MParameter
);
3598 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]>*/;
3599 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]>*/;
3600 { /* Inline kernel#Int#== (var_i,var_vararg_rank) */
3601 var169
= var_i
== var_vararg_rank
;
3604 RET_LABEL168
:(void)0;
3606 ((void (*)(val
*, val
*, val
*, short int))(var164
->class->vft
[COLOR_model__MParameter__init
]))(var164
, var165
, var166
, var167
) /* init on <var164:MParameter>*/;
3607 CHECK_NEW_model__MParameter(var164
);
3608 var_mparameter170
= var164
;
3610 if (var_nsig
== NULL
) {
3611 var172
= 0; /* is null */
3613 var172
= 1; /* arg is null and recv is not */
3616 var173
= ((val
* (*)(val
*))(var_nsig
->class->vft
[COLOR_parser_nodes__ASignature__n_params
]))(var_nsig
) /* n_params on <var_nsig:nullable ASignature(ASignature)>*/;
3617 var174
= ((val
* (*)(val
*, long))(var173
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var173
, var_i
) /* [] on <var173:ANodes[AParam]>*/;
3618 ((void (*)(val
*, val
*))(var174
->class->vft
[COLOR_modelize_property__AParam__mparameter_61d
]))(var174
, var_mparameter170
) /* mparameter= on <var174:nullable Object(AParam)>*/;
3621 ((void (*)(val
*, val
*))(var_mparameters
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_mparameters
, var_mparameter170
) /* add on <var_mparameters:Array[MParameter]>*/;
3622 CONTINUE_label175
: (void)0;
3623 ((void (*)(val
*))(var160
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var160
) /* next on <var160:Iterator[nullable Object]>*/;
3625 BREAK_label175
: (void)0;
3626 var176
= NEW_model__MSignature(&type_model__MSignature
);
3627 ((void (*)(val
*, val
*, val
*))(var176
->class->vft
[COLOR_model__MSignature__init
]))(var176
, var_mparameters
, var_ret_type
) /* init on <var176:MSignature>*/;
3628 CHECK_NEW_model__MSignature(var176
);
3629 var_msignature
= var176
;
3630 ((void (*)(val
*, val
*))(var_mpropdef
->class->vft
[COLOR_model__MMethodDef__msignature_61d
]))(var_mpropdef
, var_msignature
) /* msignature= on <var_mpropdef:nullable MMethodDef(MMethodDef)>*/;
3631 /* <self:AMethPropdef> isa ADeferredMethPropdef */
3632 cltype178
= type_parser_nodes__ADeferredMethPropdef
.color
;
3633 idtype179
= type_parser_nodes__ADeferredMethPropdef
.id
;
3634 if(cltype178
>= self
->type
->table_size
) {
3637 var177
= self
->type
->type_table
[cltype178
] == idtype179
;
3639 ((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)>*/;
3642 /* method modelize_property#AMethPropdef#build_signature for (self: Object, ModelBuilder, AClassdef) */
3643 void VIRTUAL_modelize_property__AMethPropdef__build_signature(val
* self
, val
* p0
, val
* p1
) {
3644 modelize_property__AMethPropdef__build_signature(self
, p0
, p1
);
3647 /* method modelize_property#AMethPropdef#check_signature for (self: AMethPropdef, ModelBuilder, AClassdef) */
3648 void modelize_property__AMethPropdef__check_signature(val
* self
, val
* p0
, val
* p1
) {
3649 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
3650 val
* var_nclassdef
/* var nclassdef: AClassdef */;
3651 val
* var
/* : nullable MPropDef */;
3652 val
* var_mpropdef
/* var mpropdef: nullable MMethodDef */;
3653 val
* var1
/* : null */;
3654 short int var2
/* : Bool */;
3655 val
* var3
/* : MClassDef */;
3656 val
* var4
/* : MModule */;
3657 val
* var_mmodule
/* var mmodule: MModule */;
3658 val
* var5
/* : nullable ASignature */;
3659 val
* var_nsig
/* var nsig: nullable ASignature */;
3660 val
* var6
/* : nullable MPropDef */;
3661 val
* var7
/* : nullable MSignature */;
3662 val
* var_mysignature
/* var mysignature: nullable MSignature */;
3663 val
* var8
/* : null */;
3664 short int var9
/* : Bool */;
3665 short int var10
/* : Bool */;
3666 short int var11
/* : Bool */;
3667 val
* var12
/* : MProperty */;
3668 val
* var13
/* : MPropDef */;
3669 val
* var14
/* : nullable MSignature */;
3670 val
* var_msignature
/* var msignature: nullable MSignature */;
3671 val
* var15
/* : null */;
3672 short int var16
/* : Bool */;
3673 val
* var17
/* : nullable MType */;
3674 val
* var_precursor_ret_type
/* var precursor_ret_type: nullable MType */;
3675 val
* var18
/* : nullable MType */;
3676 val
* var_ret_type
/* var ret_type: nullable MType */;
3677 short int var19
/* : Bool */;
3678 val
* var20
/* : null */;
3679 short int var21
/* : Bool */;
3680 short int var_
/* var : Bool */;
3681 val
* var22
/* : null */;
3682 short int var23
/* : Bool */;
3683 val
* var24
/* : nullable AType */;
3684 static val
* varonce
;
3685 val
* var25
/* : String */;
3686 char* var26
/* : NativeString */;
3687 long var27
/* : Int */;
3688 val
* var28
/* : String */;
3689 val
* var29
/* : MProperty */;
3690 static val
* varonce30
;
3691 val
* var31
/* : String */;
3692 char* var32
/* : NativeString */;
3693 long var33
/* : Int */;
3694 val
* var34
/* : String */;
3695 val
* var35
/* : Array[Object] */;
3696 long var36
/* : Int */;
3697 val
* var37
/* : NativeArray[Object] */;
3698 val
* var38
/* : String */;
3699 long var39
/* : Int */;
3700 long var40
/* : Int */;
3701 short int var41
/* : Bool */;
3702 short int var43
/* : Bool */;
3705 const char* var_class_name
;
3706 short int var44
/* : Bool */;
3707 val
* var45
/* : Range[Int] */;
3708 long var46
/* : Int */;
3709 long var47
/* : Int */;
3710 val
* var48
/* : Discrete */;
3711 val
* var49
/* : Discrete */;
3712 val
* var50
/* : Iterator[nullable Object] */;
3713 short int var51
/* : Bool */;
3714 val
* var52
/* : nullable Object */;
3715 long var_i
/* var i: Int */;
3716 long var53
/* : Int */;
3717 val
* var54
/* : Array[MParameter] */;
3718 val
* var55
/* : nullable Object */;
3719 val
* var56
/* : MType */;
3720 val
* var_myt
/* var myt: MType */;
3721 val
* var57
/* : Array[MParameter] */;
3722 val
* var58
/* : nullable Object */;
3723 val
* var59
/* : MType */;
3724 val
* var_prt
/* var prt: MType */;
3725 short int var60
/* : Bool */;
3726 val
* var61
/* : nullable MClassDef */;
3727 val
* var62
/* : MClassType */;
3728 short int var63
/* : Bool */;
3729 short int var64
/* : Bool */;
3730 short int var_65
/* var : Bool */;
3731 val
* var66
/* : nullable MClassDef */;
3732 val
* var67
/* : MClassType */;
3733 short int var68
/* : Bool */;
3734 short int var69
/* : Bool */;
3735 val
* var70
/* : ANodes[AParam] */;
3736 val
* var71
/* : nullable Object */;
3737 static val
* varonce72
;
3738 val
* var73
/* : String */;
3739 char* var74
/* : NativeString */;
3740 long var75
/* : Int */;
3741 val
* var76
/* : String */;
3742 val
* var77
/* : Array[MParameter] */;
3743 val
* var78
/* : nullable Object */;
3744 val
* var79
/* : String */;
3745 static val
* varonce80
;
3746 val
* var81
/* : String */;
3747 char* var82
/* : NativeString */;
3748 long var83
/* : Int */;
3749 val
* var84
/* : String */;
3750 static val
* varonce85
;
3751 val
* var86
/* : String */;
3752 char* var87
/* : NativeString */;
3753 long var88
/* : Int */;
3754 val
* var89
/* : String */;
3755 static val
* varonce90
;
3756 val
* var91
/* : String */;
3757 char* var92
/* : NativeString */;
3758 long var93
/* : Int */;
3759 val
* var94
/* : String */;
3760 val
* var95
/* : Array[Object] */;
3761 long var96
/* : Int */;
3762 val
* var97
/* : NativeArray[Object] */;
3763 val
* var98
/* : String */;
3764 val
* var99
/* : null */;
3765 short int var100
/* : Bool */;
3766 val
* var101
/* : null */;
3767 short int var102
/* : Bool */;
3768 val
* var103
/* : nullable MClassDef */;
3769 val
* var104
/* : MClassType */;
3770 short int var105
/* : Bool */;
3771 short int var106
/* : Bool */;
3772 val
* var107
/* : nullable AType */;
3773 static val
* varonce108
;
3774 val
* var109
/* : String */;
3775 char* var110
/* : NativeString */;
3776 long var111
/* : Int */;
3777 val
* var112
/* : String */;
3778 static val
* varonce113
;
3779 val
* var114
/* : String */;
3780 char* var115
/* : NativeString */;
3781 long var116
/* : Int */;
3782 val
* var117
/* : String */;
3783 static val
* varonce118
;
3784 val
* var119
/* : String */;
3785 char* var120
/* : NativeString */;
3786 long var121
/* : Int */;
3787 val
* var122
/* : String */;
3788 val
* var123
/* : Array[Object] */;
3789 long var124
/* : Int */;
3790 val
* var125
/* : NativeArray[Object] */;
3791 val
* var126
/* : String */;
3792 var_modelbuilder
= p0
;
3794 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__mpropdef
]))(self
) /* mpropdef on <self:AMethPropdef>*/;
3797 if (var_mpropdef
== NULL
) {
3798 var2
= 1; /* is null */
3800 var2
= 0; /* arg is null but recv is not */
3806 var3
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var_mpropdef
) /* mclassdef on <var_mpropdef:nullable MMethodDef(MMethodDef)>*/;
3807 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_model__MClassDef__mmodule
]))(var3
) /* mmodule on <var3:MClassDef>*/;
3809 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AMethPropdef__n_signature
]))(self
) /* n_signature on <self:AMethPropdef>*/;
3811 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__mpropdef
]))(self
) /* mpropdef on <self:AMethPropdef>*/;
3813 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
3814 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 489);
3817 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var6
) /* msignature on <var6:nullable MPropDef(nullable MMethodDef)>*/;
3819 var_mysignature
= var7
;
3821 if (var_mysignature
== NULL
) {
3822 var9
= 1; /* is null */
3824 var9
= 0; /* arg is null but recv is not */
3830 var10
= ((short int (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__is_intro
]))(var_mpropdef
) /* is_intro on <var_mpropdef:nullable MMethodDef(MMethodDef)>*/;
3833 var12
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var_mpropdef
) /* mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)>*/;
3834 var13
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_model__MProperty__intro
]))(var12
) /* intro on <var12:MProperty(MMethod)>*/;
3835 var14
= ((val
* (*)(val
*))(var13
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var13
) /* msignature on <var13:MPropDef(MMethodDef)>*/;
3836 var_msignature
= var14
;
3838 if (var_msignature
== NULL
) {
3839 var16
= 1; /* is null */
3841 var16
= 0; /* arg is null but recv is not */
3847 var17
= ((val
* (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__return_mtype
]))(var_msignature
) /* return_mtype on <var_msignature:nullable MSignature(MSignature)>*/;
3848 var_precursor_ret_type
= var17
;
3849 var18
= ((val
* (*)(val
*))(var_mysignature
->class->vft
[COLOR_model__MSignature__return_mtype
]))(var_mysignature
) /* return_mtype on <var_mysignature:nullable MSignature(MSignature)>*/;
3850 var_ret_type
= var18
;
3852 if (var_ret_type
== NULL
) {
3853 var21
= 0; /* is null */
3855 var21
= 1; /* arg is null and recv is not */
3860 if (var_precursor_ret_type
== NULL
) {
3861 var23
= 1; /* is null */
3863 var23
= 0; /* arg is null but recv is not */
3870 if (var_nsig
== NULL
) {
3871 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
3872 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 501);
3875 var24
= ((val
* (*)(val
*))(var_nsig
->class->vft
[COLOR_parser_nodes__ASignature__n_type
]))(var_nsig
) /* n_type on <var_nsig:nullable ASignature>*/;
3877 if (var24
== NULL
) {
3878 fprintf(stderr
, "Runtime error: %s", "Cast failed");
3879 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 501);
3885 var26
= "Redef Error: ";
3887 var28
= string__NativeString__to_s_with_length(var26
, var27
);
3891 var29
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var_mpropdef
) /* mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)>*/;
3895 var32
= " is a procedure, not a function.";
3897 var34
= string__NativeString__to_s_with_length(var32
, var33
);
3901 var35
= NEW_array__Array(&type_array__Arraykernel__Object
);
3902 { /* var35 = array_instance Array[Object] */
3904 var37
= NEW_array__NativeArray(var36
, &type_array__NativeArraykernel__Object
);
3905 ((struct instance_array__NativeArray
*)var37
)->values
[0] = (val
*) var25
;
3906 ((struct instance_array__NativeArray
*)var37
)->values
[1] = (val
*) var29
;
3907 ((struct instance_array__NativeArray
*)var37
)->values
[2] = (val
*) var31
;
3908 ((void (*)(val
*, val
*, long))(var35
->class->vft
[COLOR_array__Array__with_native
]))(var35
, var37
, var36
) /* with_native on <var35:Array[Object]>*/;
3909 CHECK_NEW_array__Array(var35
);
3911 var38
= ((val
* (*)(val
*))(var35
->class->vft
[COLOR_string__Object__to_s
]))(var35
) /* to_s on <var35:Array[Object]>*/;
3912 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, var24
, var38
) /* error on <var_modelbuilder:ModelBuilder>*/;
3916 var39
= ((long (*)(val
*))(var_mysignature
->class->vft
[COLOR_model__MSignature__arity
]))(var_mysignature
) /* arity on <var_mysignature:nullable MSignature(MSignature)>*/;
3918 { /* Inline kernel#Int#> (var39,var40) */
3919 /* Covariant cast for argument 0 (i) <var40:Int> isa OTHER */
3920 /* <var40:Int> isa OTHER */
3921 var43
= 1; /* easy <var40:Int> isa OTHER*/
3923 var_class_name
= type_kernel__Int
.name
;
3924 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
3925 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 263);
3928 var44
= var39
> var40
;
3931 RET_LABEL42
:(void)0;
3934 var45
= NEW_range__Range(&type_range__Rangekernel__Int
);
3936 var47
= ((long (*)(val
*))(var_mysignature
->class->vft
[COLOR_model__MSignature__arity
]))(var_mysignature
) /* arity on <var_mysignature:nullable MSignature(MSignature)>*/;
3937 var48
= BOX_kernel__Int(var46
); /* autobox from Int to Discrete */
3938 var49
= BOX_kernel__Int(var47
); /* autobox from Int to Discrete */
3939 ((void (*)(val
*, val
*, val
*))(var45
->class->vft
[COLOR_range__Range__without_last
]))(var45
, var48
, var49
) /* without_last on <var45:Range[Int]>*/;
3940 CHECK_NEW_range__Range(var45
);
3941 var50
= ((val
* (*)(val
*))(var45
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var45
) /* iterator on <var45:Range[Int]>*/;
3943 var51
= ((short int (*)(val
*))(var50
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var50
) /* is_ok on <var50:Iterator[nullable Object]>*/;
3945 var52
= ((val
* (*)(val
*))(var50
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var50
) /* item on <var50:Iterator[nullable Object]>*/;
3946 var53
= ((struct instance_kernel__Int
*)var52
)->value
; /* autounbox from nullable Object to Int */;
3948 var54
= ((val
* (*)(val
*))(var_mysignature
->class->vft
[COLOR_model__MSignature__mparameters
]))(var_mysignature
) /* mparameters on <var_mysignature:nullable MSignature(MSignature)>*/;
3949 var55
= ((val
* (*)(val
*, long))(var54
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var54
, var_i
) /* [] on <var54:Array[MParameter]>*/;
3950 var56
= ((val
* (*)(val
*))(var55
->class->vft
[COLOR_model__MParameter__mtype
]))(var55
) /* mtype on <var55:nullable Object(MParameter)>*/;
3952 var57
= ((val
* (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__mparameters
]))(var_msignature
) /* mparameters on <var_msignature:nullable MSignature(MSignature)>*/;
3953 var58
= ((val
* (*)(val
*, long))(var57
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var57
, var_i
) /* [] on <var57:Array[MParameter]>*/;
3954 var59
= ((val
* (*)(val
*))(var58
->class->vft
[COLOR_model__MParameter__mtype
]))(var58
) /* mtype on <var58:nullable Object(MParameter)>*/;
3956 var61
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef>*/;
3957 if (var61
== NULL
) {
3958 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
3959 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 510);
3962 var62
= ((val
* (*)(val
*))(var61
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var61
) /* bound_mtype on <var61:nullable MClassDef>*/;
3964 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>*/;
3968 var66
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef>*/;
3969 if (var66
== NULL
) {
3970 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
3971 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 511);
3974 var67
= ((val
* (*)(val
*))(var66
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var66
) /* bound_mtype on <var66:nullable MClassDef>*/;
3976 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>*/;
3983 if (var_nsig
== NULL
) {
3984 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
3985 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 512);
3988 var70
= ((val
* (*)(val
*))(var_nsig
->class->vft
[COLOR_parser_nodes__ASignature__n_params
]))(var_nsig
) /* n_params on <var_nsig:nullable ASignature>*/;
3990 var71
= ((val
* (*)(val
*, long))(var70
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var70
, var_i
) /* [] on <var70:ANodes[AParam]>*/;
3994 var74
= "Redef Error: Wrong type for parameter `";
3996 var76
= string__NativeString__to_s_with_length(var74
, var75
);
4000 var77
= ((val
* (*)(val
*))(var_mysignature
->class->vft
[COLOR_model__MSignature__mparameters
]))(var_mysignature
) /* mparameters on <var_mysignature:nullable MSignature(MSignature)>*/;
4001 var78
= ((val
* (*)(val
*, long))(var77
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var77
, var_i
) /* [] on <var77:Array[MParameter]>*/;
4002 var79
= ((val
* (*)(val
*))(var78
->class->vft
[COLOR_model__MParameter__name
]))(var78
) /* name on <var78:nullable Object(MParameter)>*/;
4006 var82
= "\'. found ";
4008 var84
= string__NativeString__to_s_with_length(var82
, var83
);
4015 var87
= ", expected ";
4017 var89
= string__NativeString__to_s_with_length(var87
, var88
);
4026 var94
= string__NativeString__to_s_with_length(var92
, var93
);
4030 var95
= NEW_array__Array(&type_array__Arraykernel__Object
);
4031 { /* var95 = array_instance Array[Object] */
4033 var97
= NEW_array__NativeArray(var96
, &type_array__NativeArraykernel__Object
);
4034 ((struct instance_array__NativeArray
*)var97
)->values
[0] = (val
*) var73
;
4035 ((struct instance_array__NativeArray
*)var97
)->values
[1] = (val
*) var79
;
4036 ((struct instance_array__NativeArray
*)var97
)->values
[2] = (val
*) var81
;
4037 ((struct instance_array__NativeArray
*)var97
)->values
[3] = (val
*) var_myt
;
4038 ((struct instance_array__NativeArray
*)var97
)->values
[4] = (val
*) var86
;
4039 ((struct instance_array__NativeArray
*)var97
)->values
[5] = (val
*) var_prt
;
4040 ((struct instance_array__NativeArray
*)var97
)->values
[6] = (val
*) var91
;
4041 ((void (*)(val
*, val
*, long))(var95
->class->vft
[COLOR_array__Array__with_native
]))(var95
, var97
, var96
) /* with_native on <var95:Array[Object]>*/;
4042 CHECK_NEW_array__Array(var95
);
4044 var98
= ((val
* (*)(val
*))(var95
->class->vft
[COLOR_string__Object__to_s
]))(var95
) /* to_s on <var95:Array[Object]>*/;
4045 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, var71
, var98
) /* error on <var_modelbuilder:ModelBuilder>*/;
4048 CONTINUE_label
: (void)0;
4049 ((void (*)(val
*))(var50
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var50
) /* next on <var50:Iterator[nullable Object]>*/;
4051 BREAK_label
: (void)0;
4055 if (var_precursor_ret_type
== NULL
) {
4056 var100
= 0; /* is null */
4058 var100
= 1; /* arg is null and recv is not */
4062 if (var_ret_type
== NULL
) {
4063 var102
= 1; /* is null */
4065 var102
= 0; /* arg is null but recv is not */
4068 var_ret_type
= var_precursor_ret_type
;
4070 var103
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef>*/;
4071 if (var103
== NULL
) {
4072 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
4073 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 520);
4076 var104
= ((val
* (*)(val
*))(var103
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var103
) /* bound_mtype on <var103:nullable MClassDef>*/;
4078 var105
= ((short int (*)(val
*, val
*, val
*, val
*))(var_ret_type
->class->vft
[COLOR_model__MType__is_subtype
]))(var_ret_type
, var_mmodule
, var104
, var_precursor_ret_type
) /* is_subtype on <var_ret_type:nullable MType(MType)>*/;
4081 if (var_nsig
== NULL
) {
4082 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
4083 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 521);
4086 var107
= ((val
* (*)(val
*))(var_nsig
->class->vft
[COLOR_parser_nodes__ASignature__n_type
]))(var_nsig
) /* n_type on <var_nsig:nullable ASignature>*/;
4088 if (var107
== NULL
) {
4089 fprintf(stderr
, "Runtime error: %s", "Cast failed");
4090 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 521);
4094 var109
= varonce108
;
4096 var110
= "Redef Error: Wrong return type. found ";
4098 var112
= string__NativeString__to_s_with_length(var110
, var111
);
4100 varonce108
= var109
;
4103 var114
= varonce113
;
4105 var115
= ", expected ";
4107 var117
= string__NativeString__to_s_with_length(var115
, var116
);
4109 varonce113
= var114
;
4112 var119
= varonce118
;
4116 var122
= string__NativeString__to_s_with_length(var120
, var121
);
4118 varonce118
= var119
;
4120 var123
= NEW_array__Array(&type_array__Arraykernel__Object
);
4121 { /* var123 = array_instance Array[Object] */
4123 var125
= NEW_array__NativeArray(var124
, &type_array__NativeArraykernel__Object
);
4124 ((struct instance_array__NativeArray
*)var125
)->values
[0] = (val
*) var109
;
4125 ((struct instance_array__NativeArray
*)var125
)->values
[1] = (val
*) var_ret_type
;
4126 ((struct instance_array__NativeArray
*)var125
)->values
[2] = (val
*) var114
;
4127 ((struct instance_array__NativeArray
*)var125
)->values
[3] = (val
*) var_precursor_ret_type
;
4128 ((struct instance_array__NativeArray
*)var125
)->values
[4] = (val
*) var119
;
4129 ((void (*)(val
*, val
*, long))(var123
->class->vft
[COLOR_array__Array__with_native
]))(var123
, var125
, var124
) /* with_native on <var123:Array[Object]>*/;
4130 CHECK_NEW_array__Array(var123
);
4132 var126
= ((val
* (*)(val
*))(var123
->class->vft
[COLOR_string__Object__to_s
]))(var123
) /* to_s on <var123:Array[Object]>*/;
4133 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, var107
, var126
) /* error on <var_modelbuilder:ModelBuilder>*/;
4143 /* method modelize_property#AMethPropdef#check_signature for (self: Object, ModelBuilder, AClassdef) */
4144 void VIRTUAL_modelize_property__AMethPropdef__check_signature(val
* self
, val
* p0
, val
* p1
) {
4145 modelize_property__AMethPropdef__check_signature(self
, p0
, p1
);
4148 /* method modelize_property#AAttrPropdef#mreadpropdef for (self: AAttrPropdef): nullable MMethodDef */
4149 val
* modelize_property__AAttrPropdef__mreadpropdef(val
* self
) {
4150 val
* var
/* : nullable MMethodDef */;
4151 val
* var1
/* : nullable MMethodDef */;
4152 var1
= self
->attrs
[COLOR_modelize_property__AAttrPropdef___64dmreadpropdef
].val
; /* @mreadpropdef on <self:AAttrPropdef> */
4157 /* method modelize_property#AAttrPropdef#mreadpropdef for (self: Object): nullable MMethodDef */
4158 val
* VIRTUAL_modelize_property__AAttrPropdef__mreadpropdef(val
* self
) {
4159 val
* var
/* : nullable MMethodDef */;
4160 val
* var1
/* : nullable MMethodDef */;
4161 var1
= modelize_property__AAttrPropdef__mreadpropdef(self
);
4166 /* method modelize_property#AAttrPropdef#mreadpropdef= for (self: AAttrPropdef, nullable MMethodDef) */
4167 void modelize_property__AAttrPropdef__mreadpropdef_61d(val
* self
, val
* p0
) {
4168 self
->attrs
[COLOR_modelize_property__AAttrPropdef___64dmreadpropdef
].val
= p0
; /* @mreadpropdef on <self:AAttrPropdef> */
4171 /* method modelize_property#AAttrPropdef#mreadpropdef= for (self: Object, nullable MMethodDef) */
4172 void VIRTUAL_modelize_property__AAttrPropdef__mreadpropdef_61d(val
* self
, val
* p0
) {
4173 modelize_property__AAttrPropdef__mreadpropdef_61d(self
, p0
);
4176 /* method modelize_property#AAttrPropdef#mwritepropdef for (self: AAttrPropdef): nullable MMethodDef */
4177 val
* modelize_property__AAttrPropdef__mwritepropdef(val
* self
) {
4178 val
* var
/* : nullable MMethodDef */;
4179 val
* var1
/* : nullable MMethodDef */;
4180 var1
= self
->attrs
[COLOR_modelize_property__AAttrPropdef___64dmwritepropdef
].val
; /* @mwritepropdef on <self:AAttrPropdef> */
4185 /* method modelize_property#AAttrPropdef#mwritepropdef for (self: Object): nullable MMethodDef */
4186 val
* VIRTUAL_modelize_property__AAttrPropdef__mwritepropdef(val
* self
) {
4187 val
* var
/* : nullable MMethodDef */;
4188 val
* var1
/* : nullable MMethodDef */;
4189 var1
= modelize_property__AAttrPropdef__mwritepropdef(self
);
4194 /* method modelize_property#AAttrPropdef#mwritepropdef= for (self: AAttrPropdef, nullable MMethodDef) */
4195 void modelize_property__AAttrPropdef__mwritepropdef_61d(val
* self
, val
* p0
) {
4196 self
->attrs
[COLOR_modelize_property__AAttrPropdef___64dmwritepropdef
].val
= p0
; /* @mwritepropdef on <self:AAttrPropdef> */
4199 /* method modelize_property#AAttrPropdef#mwritepropdef= for (self: Object, nullable MMethodDef) */
4200 void VIRTUAL_modelize_property__AAttrPropdef__mwritepropdef_61d(val
* self
, val
* p0
) {
4201 modelize_property__AAttrPropdef__mwritepropdef_61d(self
, p0
);
4204 /* method modelize_property#AAttrPropdef#build_property for (self: AAttrPropdef, ModelBuilder, AClassdef) */
4205 void modelize_property__AAttrPropdef__build_property(val
* self
, val
* p0
, val
* p1
) {
4206 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
4207 val
* var_nclassdef
/* var nclassdef: AClassdef */;
4208 val
* var
/* : nullable MClassDef */;
4209 val
* var_mclassdef
/* var mclassdef: MClassDef */;
4210 val
* var1
/* : MClass */;
4211 val
* var_mclass
/* var mclass: MClass */;
4212 val
* var2
/* : nullable TAttrid */;
4213 val
* var3
/* : null */;
4214 short int var4
/* : Bool */;
4215 val
* var5
/* : nullable TAttrid */;
4216 val
* var6
/* : String */;
4217 val
* var_name
/* var name: String */;
4218 val
* var7
/* : nullable TId */;
4219 val
* var8
/* : String */;
4220 short int var9
/* : Bool */;
4221 val
* var10
/* : MClassKind */;
4222 val
* var11
/* : MClassKind */;
4223 short int var12
/* : Bool */;
4224 short int var_
/* var : Bool */;
4225 val
* var13
/* : MClass */;
4226 val
* var14
/* : MClassKind */;
4227 val
* var15
/* : MClassKind */;
4228 short int var16
/* : Bool */;
4229 static val
* varonce
;
4230 val
* var17
/* : String */;
4231 char* var18
/* : NativeString */;
4232 long var19
/* : Int */;
4233 val
* var20
/* : String */;
4234 static val
* varonce21
;
4235 val
* var22
/* : String */;
4236 char* var23
/* : NativeString */;
4237 long var24
/* : Int */;
4238 val
* var25
/* : String */;
4239 static val
* varonce26
;
4240 val
* var27
/* : String */;
4241 char* var28
/* : NativeString */;
4242 long var29
/* : Int */;
4243 val
* var30
/* : String */;
4244 val
* var31
/* : Array[Object] */;
4245 long var32
/* : Int */;
4246 val
* var33
/* : NativeArray[Object] */;
4247 val
* var34
/* : String */;
4248 val
* var35
/* : MClassKind */;
4249 val
* var36
/* : MClassKind */;
4250 short int var37
/* : Bool */;
4251 static val
* varonce38
;
4252 val
* var39
/* : String */;
4253 char* var40
/* : NativeString */;
4254 long var41
/* : Int */;
4255 val
* var42
/* : String */;
4256 static val
* varonce43
;
4257 val
* var44
/* : String */;
4258 char* var45
/* : NativeString */;
4259 long var46
/* : Int */;
4260 val
* var47
/* : String */;
4261 static val
* varonce48
;
4262 val
* var49
/* : String */;
4263 char* var50
/* : NativeString */;
4264 long var51
/* : Int */;
4265 val
* var52
/* : String */;
4266 val
* var53
/* : Array[Object] */;
4267 long var54
/* : Int */;
4268 val
* var55
/* : NativeArray[Object] */;
4269 val
* var56
/* : String */;
4270 val
* var57
/* : MClassKind */;
4271 val
* var58
/* : MClassKind */;
4272 short int var59
/* : Bool */;
4273 static val
* varonce60
;
4274 val
* var61
/* : String */;
4275 char* var62
/* : NativeString */;
4276 long var63
/* : Int */;
4277 val
* var64
/* : String */;
4278 static val
* varonce65
;
4279 val
* var66
/* : String */;
4280 char* var67
/* : NativeString */;
4281 long var68
/* : Int */;
4282 val
* var69
/* : String */;
4283 static val
* varonce70
;
4284 val
* var71
/* : String */;
4285 char* var72
/* : NativeString */;
4286 long var73
/* : Int */;
4287 val
* var74
/* : String */;
4288 val
* var75
/* : Array[Object] */;
4289 long var76
/* : Int */;
4290 val
* var77
/* : NativeArray[Object] */;
4291 val
* var78
/* : String */;
4292 val
* var79
/* : nullable TAttrid */;
4293 val
* var_nid
/* var nid: nullable TAttrid */;
4294 val
* var80
/* : null */;
4295 short int var81
/* : Bool */;
4296 val
* var82
/* : nullable MProperty */;
4297 val
* var_mprop
/* var mprop: nullable MProperty */;
4298 val
* var83
/* : null */;
4299 short int var84
/* : Bool */;
4300 val
* var85
/* : AVisibility */;
4301 val
* var86
/* : MVisibility */;
4302 val
* var_mvisibility
/* var mvisibility: MVisibility */;
4303 val
* var87
/* : MAttribute */;
4304 val
* var88
/* : nullable TKwredef */;
4305 short int var89
/* : Bool */;
4306 short int var90
/* : Bool */;
4307 short int var91
/* : Bool */;
4308 short int var92
/* : Bool */;
4311 val
* var93
/* : AVisibility */;
4312 val
* var94
/* : nullable TKwredef */;
4313 short int var95
/* : Bool */;
4314 short int var96
/* : Bool */;
4315 short int var97
/* : Bool */;
4316 val
* var98
/* : Map[MProperty, APropdef] */;
4317 val
* var99
/* : MAttributeDef */;
4318 val
* var100
/* : Location */;
4319 val
* var_mpropdef
/* var mpropdef: MAttributeDef */;
4320 short int var101
/* : Bool */;
4323 const struct type
* type_struct
;
4324 const char* var_class_name
;
4325 val
* var104
/* : HashMap[MPropDef, APropdef] */;
4326 val
* var105
/* : nullable AAble */;
4327 val
* var_nreadable
/* var nreadable: nullable AAble */;
4328 val
* var106
/* : null */;
4329 short int var107
/* : Bool */;
4330 long var108
/* : Int */;
4331 val
* var109
/* : String */;
4332 val
* var_readname
/* var readname: String */;
4333 val
* var110
/* : nullable MProperty */;
4334 short int var111
/* : Bool */;
4337 const char* var_class_name114
;
4338 val
* var_mreadprop
/* var mreadprop: nullable MMethod */;
4339 val
* var115
/* : null */;
4340 short int var116
/* : Bool */;
4341 val
* var117
/* : nullable AVisibility */;
4342 val
* var118
/* : MVisibility */;
4343 val
* var_mvisibility119
/* var mvisibility: MVisibility */;
4344 val
* var120
/* : MMethod */;
4345 val
* var121
/* : nullable TKwredef */;
4346 short int var122
/* : Bool */;
4347 short int var123
/* : Bool */;
4348 short int var124
/* : Bool */;
4349 val
* var125
/* : nullable TKwredef */;
4350 short int var126
/* : Bool */;
4351 short int var127
/* : Bool */;
4352 short int var128
/* : Bool */;
4353 val
* var129
/* : nullable AVisibility */;
4354 val
* var130
/* : Map[MProperty, APropdef] */;
4355 val
* var131
/* : MMethodDef */;
4356 val
* var132
/* : Location */;
4357 val
* var_mreadpropdef
/* var mreadpropdef: MMethodDef */;
4358 val
* var133
/* : HashMap[MPropDef, APropdef] */;
4359 val
* var134
/* : nullable AAble */;
4360 val
* var_nwritable
/* var nwritable: nullable AAble */;
4361 val
* var135
/* : null */;
4362 short int var136
/* : Bool */;
4363 long var137
/* : Int */;
4364 val
* var138
/* : String */;
4365 static val
* varonce139
;
4366 val
* var140
/* : String */;
4367 char* var141
/* : NativeString */;
4368 long var142
/* : Int */;
4369 val
* var143
/* : String */;
4370 val
* var144
/* : String */;
4371 val
* var_writename
/* var writename: String */;
4372 val
* var145
/* : nullable MProperty */;
4373 short int var146
/* : Bool */;
4376 const char* var_class_name149
;
4377 val
* var_mwriteprop
/* var mwriteprop: nullable MMethod */;
4378 val
* var150
/* : null */;
4379 short int var151
/* : Bool */;
4380 val
* var152
/* : nullable AVisibility */;
4381 val
* var153
/* : MVisibility */;
4382 val
* var_mvisibility154
/* var mvisibility: MVisibility */;
4383 val
* var155
/* : MMethod */;
4384 val
* var156
/* : nullable TKwredef */;
4385 short int var157
/* : Bool */;
4386 short int var158
/* : Bool */;
4387 short int var159
/* : Bool */;
4388 val
* var160
/* : nullable TKwredef */;
4389 short int var161
/* : Bool */;
4390 short int var162
/* : Bool */;
4391 short int var163
/* : Bool */;
4392 val
* var164
/* : nullable AVisibility */;
4393 val
* var165
/* : Map[MProperty, APropdef] */;
4394 val
* var166
/* : MMethodDef */;
4395 val
* var167
/* : Location */;
4396 val
* var_mwritepropdef
/* var mwritepropdef: MMethodDef */;
4397 val
* var168
/* : HashMap[MPropDef, APropdef] */;
4398 val
* var169
/* : nullable TId */;
4399 val
* var_nid2
/* var nid2: TId */;
4400 val
* var170
/* : MAttribute */;
4401 static val
* varonce171
;
4402 val
* var172
/* : String */;
4403 char* var173
/* : NativeString */;
4404 long var174
/* : Int */;
4405 val
* var175
/* : String */;
4406 val
* var176
/* : String */;
4407 val
* var177
/* : MVisibility */;
4408 val
* var_mprop178
/* var mprop: MAttribute */;
4409 val
* var179
/* : MAttributeDef */;
4410 val
* var180
/* : Location */;
4411 val
* var_mpropdef181
/* var mpropdef: MAttributeDef */;
4412 short int var182
/* : Bool */;
4415 const struct type
* type_struct185
;
4416 const char* var_class_name186
;
4417 val
* var187
/* : HashMap[MPropDef, APropdef] */;
4418 val
* var_readname188
/* var readname: String */;
4419 val
* var189
/* : nullable MProperty */;
4420 short int var190
/* : Bool */;
4423 const char* var_class_name193
;
4424 val
* var_mreadprop194
/* var mreadprop: nullable MMethod */;
4425 val
* var195
/* : null */;
4426 short int var196
/* : Bool */;
4427 val
* var197
/* : AVisibility */;
4428 val
* var198
/* : MVisibility */;
4429 val
* var_mvisibility199
/* var mvisibility: MVisibility */;
4430 val
* var200
/* : MMethod */;
4431 val
* var201
/* : nullable TKwredef */;
4432 short int var202
/* : Bool */;
4433 short int var203
/* : Bool */;
4434 short int var204
/* : Bool */;
4435 val
* var205
/* : nullable TKwredef */;
4436 short int var206
/* : Bool */;
4437 short int var207
/* : Bool */;
4438 short int var208
/* : Bool */;
4439 val
* var209
/* : AVisibility */;
4440 val
* var210
/* : Map[MProperty, APropdef] */;
4441 val
* var211
/* : MMethodDef */;
4442 val
* var212
/* : Location */;
4443 val
* var_mreadpropdef213
/* var mreadpropdef: MMethodDef */;
4444 val
* var214
/* : HashMap[MPropDef, APropdef] */;
4445 static val
* varonce215
;
4446 val
* var216
/* : String */;
4447 char* var217
/* : NativeString */;
4448 long var218
/* : Int */;
4449 val
* var219
/* : String */;
4450 val
* var220
/* : String */;
4451 val
* var_writename221
/* var writename: String */;
4452 val
* var222
/* : nullable AAble */;
4453 val
* var_nwritable223
/* var nwritable: nullable AAble */;
4454 val
* var224
/* : nullable MProperty */;
4455 short int var225
/* : Bool */;
4458 const char* var_class_name228
;
4459 val
* var_mwriteprop229
/* var mwriteprop: nullable MMethod */;
4460 val
* var230
/* : null */;
4461 val
* var_nwkwredef
/* var nwkwredef: nullable Token */;
4462 val
* var231
/* : null */;
4463 short int var232
/* : Bool */;
4464 val
* var233
/* : nullable TKwredef */;
4465 val
* var234
/* : null */;
4466 short int var235
/* : Bool */;
4467 val
* var236
/* : null */;
4468 short int var237
/* : Bool */;
4469 val
* var238
/* : nullable AVisibility */;
4470 val
* var239
/* : MVisibility */;
4471 val
* var_mvisibility240
/* var mvisibility: nullable Object */;
4472 val
* var241
/* : MVisibility */;
4473 val
* var242
/* : MMethod */;
4474 short int var243
/* : Bool */;
4475 short int var244
/* : Bool */;
4476 short int var245
/* : Bool */;
4477 short int var246
/* : Bool */;
4478 short int var247
/* : Bool */;
4479 short int var248
/* : Bool */;
4480 val
* var249
/* : null */;
4481 short int var250
/* : Bool */;
4482 val
* var251
/* : nullable AVisibility */;
4483 val
* var252
/* : Map[MProperty, APropdef] */;
4484 val
* var253
/* : MMethodDef */;
4485 val
* var254
/* : Location */;
4486 val
* var_mwritepropdef255
/* var mwritepropdef: MMethodDef */;
4487 val
* var256
/* : HashMap[MPropDef, APropdef] */;
4488 var_modelbuilder
= p0
;
4490 var
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef>*/;
4492 fprintf(stderr
, "Runtime error: %s", "Cast failed");
4493 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 537);
4496 var_mclassdef
= var
;
4497 var1
= ((val
* (*)(val
*))(var_mclassdef
->class->vft
[COLOR_model__MClassDef__mclass
]))(var_mclassdef
) /* mclass on <var_mclassdef:MClassDef>*/;
4499 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_id
]))(self
) /* n_id on <self:AAttrPropdef>*/;
4502 var4
= 0; /* is null */
4504 var4
= 1; /* arg is null and recv is not */
4507 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_id
]))(self
) /* n_id on <self:AAttrPropdef>*/;
4509 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
4510 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 542);
4513 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_parser_nodes__Token__text
]))(var5
) /* text on <var5:nullable TAttrid>*/;
4517 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_id2
]))(self
) /* n_id2 on <self:AAttrPropdef>*/;
4519 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
4520 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 544);
4523 var8
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_parser_nodes__Token__text
]))(var7
) /* text on <var7:nullable TId>*/;
4527 var10
= ((val
* (*)(val
*))(var_mclass
->class->vft
[COLOR_model__MClass__kind
]))(var_mclass
) /* kind on <var_mclass:MClass>*/;
4528 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__Object__interface_kind
]))(self
) /* interface_kind on <self:AAttrPropdef>*/;
4529 var12
= ((short int (*)(val
*, val
*))(var10
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var10
, var11
) /* == on <var10:MClassKind>*/;
4534 var13
= ((val
* (*)(val
*))(var_mclassdef
->class->vft
[COLOR_model__MClassDef__mclass
]))(var_mclassdef
) /* mclass on <var_mclassdef:MClassDef>*/;
4535 var14
= ((val
* (*)(val
*))(var13
->class->vft
[COLOR_model__MClass__kind
]))(var13
) /* kind on <var13:MClass>*/;
4536 var15
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__Object__enum_kind
]))(self
) /* enum_kind on <self:AAttrPropdef>*/;
4537 var16
= ((short int (*)(val
*, val
*))(var14
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var14
, var15
) /* == on <var14:MClassKind>*/;
4544 var18
= "Error: Attempt to define attribute ";
4546 var20
= string__NativeString__to_s_with_length(var18
, var19
);
4553 var23
= " in the interface ";
4555 var25
= string__NativeString__to_s_with_length(var23
, var24
);
4564 var30
= string__NativeString__to_s_with_length(var28
, var29
);
4568 var31
= NEW_array__Array(&type_array__Arraykernel__Object
);
4569 { /* var31 = array_instance Array[Object] */
4571 var33
= NEW_array__NativeArray(var32
, &type_array__NativeArraykernel__Object
);
4572 ((struct instance_array__NativeArray
*)var33
)->values
[0] = (val
*) var17
;
4573 ((struct instance_array__NativeArray
*)var33
)->values
[1] = (val
*) var_name
;
4574 ((struct instance_array__NativeArray
*)var33
)->values
[2] = (val
*) var22
;
4575 ((struct instance_array__NativeArray
*)var33
)->values
[3] = (val
*) var_mclass
;
4576 ((struct instance_array__NativeArray
*)var33
)->values
[4] = (val
*) var27
;
4577 ((void (*)(val
*, val
*, long))(var31
->class->vft
[COLOR_array__Array__with_native
]))(var31
, var33
, var32
) /* with_native on <var31:Array[Object]>*/;
4578 CHECK_NEW_array__Array(var31
);
4580 var34
= ((val
* (*)(val
*))(var31
->class->vft
[COLOR_string__Object__to_s
]))(var31
) /* to_s on <var31:Array[Object]>*/;
4581 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, self
, var34
) /* error on <var_modelbuilder:ModelBuilder>*/;
4583 var35
= ((val
* (*)(val
*))(var_mclass
->class->vft
[COLOR_model__MClass__kind
]))(var_mclass
) /* kind on <var_mclass:MClass>*/;
4584 var36
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__Object__enum_kind
]))(self
) /* enum_kind on <self:AAttrPropdef>*/;
4585 var37
= ((short int (*)(val
*, val
*))(var35
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var35
, var36
) /* == on <var35:MClassKind>*/;
4590 var40
= "Error: Attempt to define attribute ";
4592 var42
= string__NativeString__to_s_with_length(var40
, var41
);
4599 var45
= " in the enum class ";
4601 var47
= string__NativeString__to_s_with_length(var45
, var46
);
4610 var52
= string__NativeString__to_s_with_length(var50
, var51
);
4614 var53
= NEW_array__Array(&type_array__Arraykernel__Object
);
4615 { /* var53 = array_instance Array[Object] */
4617 var55
= NEW_array__NativeArray(var54
, &type_array__NativeArraykernel__Object
);
4618 ((struct instance_array__NativeArray
*)var55
)->values
[0] = (val
*) var39
;
4619 ((struct instance_array__NativeArray
*)var55
)->values
[1] = (val
*) var_name
;
4620 ((struct instance_array__NativeArray
*)var55
)->values
[2] = (val
*) var44
;
4621 ((struct instance_array__NativeArray
*)var55
)->values
[3] = (val
*) var_mclass
;
4622 ((struct instance_array__NativeArray
*)var55
)->values
[4] = (val
*) var49
;
4623 ((void (*)(val
*, val
*, long))(var53
->class->vft
[COLOR_array__Array__with_native
]))(var53
, var55
, var54
) /* with_native on <var53:Array[Object]>*/;
4624 CHECK_NEW_array__Array(var53
);
4626 var56
= ((val
* (*)(val
*))(var53
->class->vft
[COLOR_string__Object__to_s
]))(var53
) /* to_s on <var53:Array[Object]>*/;
4627 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, self
, var56
) /* error on <var_modelbuilder:ModelBuilder>*/;
4629 var57
= ((val
* (*)(val
*))(var_mclass
->class->vft
[COLOR_model__MClass__kind
]))(var_mclass
) /* kind on <var_mclass:MClass>*/;
4630 var58
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__Object__extern_kind
]))(self
) /* extern_kind on <self:AAttrPropdef>*/;
4631 var59
= ((short int (*)(val
*, val
*))(var57
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var57
, var58
) /* == on <var57:MClassKind>*/;
4636 var62
= "Error: Attempt to define attribute ";
4638 var64
= string__NativeString__to_s_with_length(var62
, var63
);
4645 var67
= " in the extern class ";
4647 var69
= string__NativeString__to_s_with_length(var67
, var68
);
4656 var74
= string__NativeString__to_s_with_length(var72
, var73
);
4660 var75
= NEW_array__Array(&type_array__Arraykernel__Object
);
4661 { /* var75 = array_instance Array[Object] */
4663 var77
= NEW_array__NativeArray(var76
, &type_array__NativeArraykernel__Object
);
4664 ((struct instance_array__NativeArray
*)var77
)->values
[0] = (val
*) var61
;
4665 ((struct instance_array__NativeArray
*)var77
)->values
[1] = (val
*) var_name
;
4666 ((struct instance_array__NativeArray
*)var77
)->values
[2] = (val
*) var66
;
4667 ((struct instance_array__NativeArray
*)var77
)->values
[3] = (val
*) var_mclass
;
4668 ((struct instance_array__NativeArray
*)var77
)->values
[4] = (val
*) var71
;
4669 ((void (*)(val
*, val
*, long))(var75
->class->vft
[COLOR_array__Array__with_native
]))(var75
, var77
, var76
) /* with_native on <var75:Array[Object]>*/;
4670 CHECK_NEW_array__Array(var75
);
4672 var78
= ((val
* (*)(val
*))(var75
->class->vft
[COLOR_string__Object__to_s
]))(var75
) /* to_s on <var75:Array[Object]>*/;
4673 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, self
, var78
) /* error on <var_modelbuilder:ModelBuilder>*/;
4678 var79
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_id
]))(self
) /* n_id on <self:AAttrPropdef>*/;
4681 if (var_nid
== NULL
) {
4682 var81
= 0; /* is null */
4684 var81
= 1; /* arg is null and recv is not */
4687 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>*/;
4690 if (var_mprop
== NULL
) {
4691 var84
= 1; /* is null */
4693 var84
= 0; /* arg is null but recv is not */
4696 var85
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_visibility
]))(self
) /* n_visibility on <self:AAttrPropdef>*/;
4697 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>*/;
4698 var_mvisibility
= var86
;
4699 var87
= NEW_model__MAttribute(&type_model__MAttribute
);
4700 ((void (*)(val
*, val
*, val
*, val
*))(var87
->class->vft
[COLOR_model__MAttribute__init
]))(var87
, var_mclassdef
, var_name
, var_mvisibility
) /* init on <var87:MAttribute>*/;
4701 CHECK_NEW_model__MAttribute(var87
);
4703 var88
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_kwredef
]))(self
) /* n_kwredef on <self:AAttrPropdef>*/;
4705 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>*/;
4712 /* <var_mprop:nullable MProperty(MProperty)> isa MAttribute */
4713 cltype
= type_model__MAttribute
.color
;
4714 idtype
= type_model__MAttribute
.id
;
4715 if(cltype
>= var_mprop
->type
->table_size
) {
4718 var92
= var_mprop
->type
->type_table
[cltype
] == idtype
;
4721 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4722 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 564);
4725 var93
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_visibility
]))(self
) /* n_visibility on <self:AAttrPropdef>*/;
4726 ((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>*/;
4727 var94
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_kwredef
]))(self
) /* n_kwredef on <self:AAttrPropdef>*/;
4729 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>*/;
4736 var98
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_property__AClassdef__mprop2npropdef
]))(var_nclassdef
) /* mprop2npropdef on <var_nclassdef:AClassdef>*/;
4737 ((void (*)(val
*, val
*, val
*))(var98
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var98
, var_mprop
, self
) /* []= on <var98:Map[MProperty, APropdef]>*/;
4738 var99
= NEW_model__MAttributeDef(&type_model__MAttributeDef
);
4739 var100
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__location
]))(self
) /* location on <self:AAttrPropdef>*/;
4740 ((void (*)(val
*, val
*, val
*, val
*))(var99
->class->vft
[COLOR_model__MAttributeDef__init
]))(var99
, var_mclassdef
, var_mprop
, var100
) /* init on <var99:MAttributeDef>*/;
4741 CHECK_NEW_model__MAttributeDef(var99
);
4742 var_mpropdef
= var99
;
4743 /* <var_mpropdef:MAttributeDef> isa nullable MPROPDEF */
4744 type_struct
= self
->type
->resolution_table
->types
[COLOR_parser_nodes__APropdef_VTMPROPDEF
];
4745 cltype102
= type_struct
->color
;
4746 idtype103
= type_struct
->id
;
4747 if(cltype102
>= var_mpropdef
->type
->table_size
) {
4750 var101
= var_mpropdef
->type
->type_table
[cltype102
] == idtype103
;
4753 var_class_name
= var_mpropdef
== NULL ?
"null" : var_mpropdef
->type
->name
;
4754 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name
);
4755 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 571);
4758 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__mpropdef_61d
]))(self
, var_mpropdef
) /* mpropdef= on <self:AAttrPropdef>*/;
4759 var104
= ((val
* (*)(val
*))(var_modelbuilder
->class->vft
[COLOR_modelize_property__ModelBuilder__mpropdef2npropdef
]))(var_modelbuilder
) /* mpropdef2npropdef on <var_modelbuilder:ModelBuilder>*/;
4760 ((void (*)(val
*, val
*, val
*))(var104
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var104
, var_mpropdef
, self
) /* []= on <var104:HashMap[MPropDef, APropdef]>*/;
4761 var105
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_readable
]))(self
) /* n_readable on <self:AAttrPropdef>*/;
4762 var_nreadable
= var105
;
4764 if (var_nreadable
== NULL
) {
4765 var107
= 0; /* is null */
4767 var107
= 1; /* arg is null and recv is not */
4771 var109
= ((val
* (*)(val
*, long))(var_name
->class->vft
[COLOR_string__AbstractString__substring_from
]))(var_name
, var108
) /* substring_from on <var_name:String>*/;
4772 var_readname
= var109
;
4773 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>*/;
4774 /* <var110:nullable MProperty> isa nullable MMethod */
4775 cltype112
= type_nullable_model__MMethod
.color
;
4776 idtype113
= type_nullable_model__MMethod
.id
;
4777 if(var110
== NULL
) {
4780 if(cltype112
>= var110
->type
->table_size
) {
4783 var111
= var110
->type
->type_table
[cltype112
] == idtype113
;
4787 var_class_name114
= var110
== NULL ?
"null" : var110
->type
->name
;
4788 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MMethod", var_class_name114
);
4789 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 577);
4792 var_mreadprop
= var110
;
4794 if (var_mreadprop
== NULL
) {
4795 var116
= 1; /* is null */
4797 var116
= 0; /* arg is null but recv is not */
4800 var117
= ((val
* (*)(val
*))(var_nreadable
->class->vft
[COLOR_parser_nodes__AAble__n_visibility
]))(var_nreadable
) /* n_visibility on <var_nreadable:nullable AAble(AAble)>*/;
4801 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>*/;
4802 var_mvisibility119
= var118
;
4803 var120
= NEW_model__MMethod(&type_model__MMethod
);
4804 ((void (*)(val
*, val
*, val
*, val
*))(var120
->class->vft
[COLOR_model__MMethod__init
]))(var120
, var_mclassdef
, var_readname
, var_mvisibility119
) /* init on <var120:MMethod>*/;
4805 CHECK_NEW_model__MMethod(var120
);
4806 var_mreadprop
= var120
;
4807 var121
= ((val
* (*)(val
*))(var_nreadable
->class->vft
[COLOR_parser_nodes__AAble__n_kwredef
]))(var_nreadable
) /* n_kwredef on <var_nreadable:nullable AAble(AAble)>*/;
4809 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>*/;
4816 var125
= ((val
* (*)(val
*))(var_nreadable
->class->vft
[COLOR_parser_nodes__AAble__n_kwredef
]))(var_nreadable
) /* n_kwredef on <var_nreadable:nullable AAble(AAble)>*/;
4818 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>*/;
4824 var129
= ((val
* (*)(val
*))(var_nreadable
->class->vft
[COLOR_parser_nodes__AAble__n_visibility
]))(var_nreadable
) /* n_visibility on <var_nreadable:nullable AAble(AAble)>*/;
4825 ((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>*/;
4827 var130
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_property__AClassdef__mprop2npropdef
]))(var_nclassdef
) /* mprop2npropdef on <var_nclassdef:AClassdef>*/;
4828 ((void (*)(val
*, val
*, val
*))(var130
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var130
, var_mreadprop
, self
) /* []= on <var130:Map[MProperty, APropdef]>*/;
4829 var131
= NEW_model__MMethodDef(&type_model__MMethodDef
);
4830 var132
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__location
]))(self
) /* location on <self:AAttrPropdef>*/;
4831 ((void (*)(val
*, val
*, val
*, val
*))(var131
->class->vft
[COLOR_model__MMethodDef__init
]))(var131
, var_mclassdef
, var_mreadprop
, var132
) /* init on <var131:MMethodDef>*/;
4832 CHECK_NEW_model__MMethodDef(var131
);
4833 var_mreadpropdef
= var131
;
4834 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_modelize_property__AAttrPropdef__mreadpropdef_61d
]))(self
, var_mreadpropdef
) /* mreadpropdef= on <self:AAttrPropdef>*/;
4835 var133
= ((val
* (*)(val
*))(var_modelbuilder
->class->vft
[COLOR_modelize_property__ModelBuilder__mpropdef2npropdef
]))(var_modelbuilder
) /* mpropdef2npropdef on <var_modelbuilder:ModelBuilder>*/;
4836 ((void (*)(val
*, val
*, val
*))(var133
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var133
, var_mreadpropdef
, self
) /* []= on <var133:HashMap[MPropDef, APropdef]>*/;
4839 var134
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_writable
]))(self
) /* n_writable on <self:AAttrPropdef>*/;
4840 var_nwritable
= var134
;
4842 if (var_nwritable
== NULL
) {
4843 var136
= 0; /* is null */
4845 var136
= 1; /* arg is null and recv is not */
4849 var138
= ((val
* (*)(val
*, long))(var_name
->class->vft
[COLOR_string__AbstractString__substring_from
]))(var_name
, var137
) /* substring_from on <var_name:String>*/;
4851 var140
= varonce139
;
4855 var143
= string__NativeString__to_s_with_length(var141
, var142
);
4857 varonce139
= var140
;
4859 var144
= ((val
* (*)(val
*, val
*))(var138
->class->vft
[COLOR_string__String___43d
]))(var138
, var140
) /* + on <var138:String>*/;
4860 var_writename
= var144
;
4861 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>*/;
4862 /* <var145:nullable MProperty> isa nullable MMethod */
4863 cltype147
= type_nullable_model__MMethod
.color
;
4864 idtype148
= type_nullable_model__MMethod
.id
;
4865 if(var145
== NULL
) {
4868 if(cltype147
>= var145
->type
->table_size
) {
4871 var146
= var145
->type
->type_table
[cltype147
] == idtype148
;
4875 var_class_name149
= var145
== NULL ?
"null" : var145
->type
->name
;
4876 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MMethod", var_class_name149
);
4877 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 596);
4880 var_mwriteprop
= var145
;
4882 if (var_mwriteprop
== NULL
) {
4883 var151
= 1; /* is null */
4885 var151
= 0; /* arg is null but recv is not */
4888 var152
= ((val
* (*)(val
*))(var_nwritable
->class->vft
[COLOR_parser_nodes__AAble__n_visibility
]))(var_nwritable
) /* n_visibility on <var_nwritable:nullable AAble(AAble)>*/;
4889 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>*/;
4890 var_mvisibility154
= var153
;
4891 var155
= NEW_model__MMethod(&type_model__MMethod
);
4892 ((void (*)(val
*, val
*, val
*, val
*))(var155
->class->vft
[COLOR_model__MMethod__init
]))(var155
, var_mclassdef
, var_writename
, var_mvisibility154
) /* init on <var155:MMethod>*/;
4893 CHECK_NEW_model__MMethod(var155
);
4894 var_mwriteprop
= var155
;
4895 var156
= ((val
* (*)(val
*))(var_nwritable
->class->vft
[COLOR_parser_nodes__AAble__n_kwredef
]))(var_nwritable
) /* n_kwredef on <var_nwritable:nullable AAble(AAble)>*/;
4897 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>*/;
4904 var160
= ((val
* (*)(val
*))(var_nwritable
->class->vft
[COLOR_parser_nodes__AAble__n_kwredef
]))(var_nwritable
) /* n_kwredef on <var_nwritable:nullable AAble(AAble)>*/;
4906 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>*/;
4912 var164
= ((val
* (*)(val
*))(var_nwritable
->class->vft
[COLOR_parser_nodes__AAble__n_visibility
]))(var_nwritable
) /* n_visibility on <var_nwritable:nullable AAble(AAble)>*/;
4913 ((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>*/;
4915 var165
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_property__AClassdef__mprop2npropdef
]))(var_nclassdef
) /* mprop2npropdef on <var_nclassdef:AClassdef>*/;
4916 ((void (*)(val
*, val
*, val
*))(var165
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var165
, var_mwriteprop
, self
) /* []= on <var165:Map[MProperty, APropdef]>*/;
4917 var166
= NEW_model__MMethodDef(&type_model__MMethodDef
);
4918 var167
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__location
]))(self
) /* location on <self:AAttrPropdef>*/;
4919 ((void (*)(val
*, val
*, val
*, val
*))(var166
->class->vft
[COLOR_model__MMethodDef__init
]))(var166
, var_mclassdef
, var_mwriteprop
, var167
) /* init on <var166:MMethodDef>*/;
4920 CHECK_NEW_model__MMethodDef(var166
);
4921 var_mwritepropdef
= var166
;
4922 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_modelize_property__AAttrPropdef__mwritepropdef_61d
]))(self
, var_mwritepropdef
) /* mwritepropdef= on <self:AAttrPropdef>*/;
4923 var168
= ((val
* (*)(val
*))(var_modelbuilder
->class->vft
[COLOR_modelize_property__ModelBuilder__mpropdef2npropdef
]))(var_modelbuilder
) /* mpropdef2npropdef on <var_modelbuilder:ModelBuilder>*/;
4924 ((void (*)(val
*, val
*, val
*))(var168
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var168
, var_mwritepropdef
, self
) /* []= on <var168:HashMap[MPropDef, APropdef]>*/;
4928 var169
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_id2
]))(self
) /* n_id2 on <self:AAttrPropdef>*/;
4929 if (var169
== NULL
) {
4930 fprintf(stderr
, "Runtime error: %s", "Cast failed");
4931 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 613);
4935 var170
= NEW_model__MAttribute(&type_model__MAttribute
);
4937 var172
= varonce171
;
4941 var175
= string__NativeString__to_s_with_length(var173
, var174
);
4943 varonce171
= var172
;
4945 var176
= ((val
* (*)(val
*, val
*))(var172
->class->vft
[COLOR_string__String___43d
]))(var172
, var_name
) /* + on <var172:String>*/;
4946 var177
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model_base__Object__none_visibility
]))(self
) /* none_visibility on <self:AAttrPropdef>*/;
4947 ((void (*)(val
*, val
*, val
*, val
*))(var170
->class->vft
[COLOR_model__MAttribute__init
]))(var170
, var_mclassdef
, var176
, var177
) /* init on <var170:MAttribute>*/;
4948 CHECK_NEW_model__MAttribute(var170
);
4949 var_mprop178
= var170
;
4950 var179
= NEW_model__MAttributeDef(&type_model__MAttributeDef
);
4951 var180
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__location
]))(self
) /* location on <self:AAttrPropdef>*/;
4952 ((void (*)(val
*, val
*, val
*, val
*))(var179
->class->vft
[COLOR_model__MAttributeDef__init
]))(var179
, var_mclassdef
, var_mprop178
, var180
) /* init on <var179:MAttributeDef>*/;
4953 CHECK_NEW_model__MAttributeDef(var179
);
4954 var_mpropdef181
= var179
;
4955 /* <var_mpropdef181:MAttributeDef> isa nullable MPROPDEF */
4956 type_struct185
= self
->type
->resolution_table
->types
[COLOR_parser_nodes__APropdef_VTMPROPDEF
];
4957 cltype183
= type_struct185
->color
;
4958 idtype184
= type_struct185
->id
;
4959 if(cltype183
>= var_mpropdef181
->type
->table_size
) {
4962 var182
= var_mpropdef181
->type
->type_table
[cltype183
] == idtype184
;
4965 var_class_name186
= var_mpropdef181
== NULL ?
"null" : var_mpropdef181
->type
->name
;
4966 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name186
);
4967 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 616);
4970 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__mpropdef_61d
]))(self
, var_mpropdef181
) /* mpropdef= on <self:AAttrPropdef>*/;
4971 var187
= ((val
* (*)(val
*))(var_modelbuilder
->class->vft
[COLOR_modelize_property__ModelBuilder__mpropdef2npropdef
]))(var_modelbuilder
) /* mpropdef2npropdef on <var_modelbuilder:ModelBuilder>*/;
4972 ((void (*)(val
*, val
*, val
*))(var187
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var187
, var_mpropdef181
, self
) /* []= on <var187:HashMap[MPropDef, APropdef]>*/;
4973 var_readname188
= var_name
;
4974 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>*/;
4975 /* <var189:nullable MProperty> isa nullable MMethod */
4976 cltype191
= type_nullable_model__MMethod
.color
;
4977 idtype192
= type_nullable_model__MMethod
.id
;
4978 if(var189
== NULL
) {
4981 if(cltype191
>= var189
->type
->table_size
) {
4984 var190
= var189
->type
->type_table
[cltype191
] == idtype192
;
4988 var_class_name193
= var189
== NULL ?
"null" : var189
->type
->name
;
4989 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MMethod", var_class_name193
);
4990 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 620);
4993 var_mreadprop194
= var189
;
4995 if (var_mreadprop194
== NULL
) {
4996 var196
= 1; /* is null */
4998 var196
= 0; /* arg is null but recv is not */
5001 var197
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_visibility
]))(self
) /* n_visibility on <self:AAttrPropdef>*/;
5002 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>*/;
5003 var_mvisibility199
= var198
;
5004 var200
= NEW_model__MMethod(&type_model__MMethod
);
5005 ((void (*)(val
*, val
*, val
*, val
*))(var200
->class->vft
[COLOR_model__MMethod__init
]))(var200
, var_mclassdef
, var_readname188
, var_mvisibility199
) /* init on <var200:MMethod>*/;
5006 CHECK_NEW_model__MMethod(var200
);
5007 var_mreadprop194
= var200
;
5008 var201
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_kwredef
]))(self
) /* n_kwredef on <self:AAttrPropdef>*/;
5010 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>*/;
5017 var205
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_kwredef
]))(self
) /* n_kwredef on <self:AAttrPropdef>*/;
5019 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>*/;
5025 var209
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_visibility
]))(self
) /* n_visibility on <self:AAttrPropdef>*/;
5026 ((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>*/;
5028 var210
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_property__AClassdef__mprop2npropdef
]))(var_nclassdef
) /* mprop2npropdef on <var_nclassdef:AClassdef>*/;
5029 ((void (*)(val
*, val
*, val
*))(var210
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var210
, var_mreadprop194
, self
) /* []= on <var210:Map[MProperty, APropdef]>*/;
5030 var211
= NEW_model__MMethodDef(&type_model__MMethodDef
);
5031 var212
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__location
]))(self
) /* location on <self:AAttrPropdef>*/;
5032 ((void (*)(val
*, val
*, val
*, val
*))(var211
->class->vft
[COLOR_model__MMethodDef__init
]))(var211
, var_mclassdef
, var_mreadprop194
, var212
) /* init on <var211:MMethodDef>*/;
5033 CHECK_NEW_model__MMethodDef(var211
);
5034 var_mreadpropdef213
= var211
;
5035 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_modelize_property__AAttrPropdef__mreadpropdef_61d
]))(self
, var_mreadpropdef213
) /* mreadpropdef= on <self:AAttrPropdef>*/;
5036 var214
= ((val
* (*)(val
*))(var_modelbuilder
->class->vft
[COLOR_modelize_property__ModelBuilder__mpropdef2npropdef
]))(var_modelbuilder
) /* mpropdef2npropdef on <var_modelbuilder:ModelBuilder>*/;
5037 ((void (*)(val
*, val
*, val
*))(var214
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var214
, var_mreadpropdef213
, self
) /* []= on <var214:HashMap[MPropDef, APropdef]>*/;
5039 var216
= varonce215
;
5043 var219
= string__NativeString__to_s_with_length(var217
, var218
);
5045 varonce215
= var216
;
5047 var220
= ((val
* (*)(val
*, val
*))(var_name
->class->vft
[COLOR_string__String___43d
]))(var_name
, var216
) /* + on <var_name:String>*/;
5048 var_writename221
= var220
;
5049 var222
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_writable
]))(self
) /* n_writable on <self:AAttrPropdef>*/;
5050 var_nwritable223
= var222
;
5051 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>*/;
5052 /* <var224:nullable MProperty> isa nullable MMethod */
5053 cltype226
= type_nullable_model__MMethod
.color
;
5054 idtype227
= type_nullable_model__MMethod
.id
;
5055 if(var224
== NULL
) {
5058 if(cltype226
>= var224
->type
->table_size
) {
5061 var225
= var224
->type
->type_table
[cltype226
] == idtype227
;
5065 var_class_name228
= var224
== NULL ?
"null" : var224
->type
->name
;
5066 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MMethod", var_class_name228
);
5067 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 637);
5070 var_mwriteprop229
= var224
;
5072 var_nwkwredef
= var230
;
5074 if (var_nwritable223
== NULL
) {
5075 var232
= 0; /* is null */
5077 var232
= 1; /* arg is null and recv is not */
5080 var233
= ((val
* (*)(val
*))(var_nwritable223
->class->vft
[COLOR_parser_nodes__AAble__n_kwredef
]))(var_nwritable223
) /* n_kwredef on <var_nwritable223:nullable AAble(AAble)>*/;
5081 var_nwkwredef
= var233
;
5085 if (var_mwriteprop229
== NULL
) {
5086 var235
= 1; /* is null */
5088 var235
= 0; /* arg is null but recv is not */
5092 if (var_nwritable223
== NULL
) {
5093 var237
= 0; /* is null */
5095 var237
= 1; /* arg is null and recv is not */
5098 var238
= ((val
* (*)(val
*))(var_nwritable223
->class->vft
[COLOR_parser_nodes__AAble__n_visibility
]))(var_nwritable223
) /* n_visibility on <var_nwritable223:nullable AAble(AAble)>*/;
5099 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>*/;
5100 var_mvisibility240
= var239
;
5102 var241
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model_base__Object__private_visibility
]))(self
) /* private_visibility on <self:AAttrPropdef>*/;
5103 var_mvisibility240
= var241
;
5105 var242
= NEW_model__MMethod(&type_model__MMethod
);
5106 ((void (*)(val
*, val
*, val
*, val
*))(var242
->class->vft
[COLOR_model__MMethod__init
]))(var242
, var_mclassdef
, var_writename221
, var_mvisibility240
) /* init on <var242:MMethod>*/;
5107 CHECK_NEW_model__MMethod(var242
);
5108 var_mwriteprop229
= var242
;
5110 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>*/;
5118 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>*/;
5125 if (var_nwritable223
== NULL
) {
5126 var250
= 0; /* is null */
5128 var250
= 1; /* arg is null and recv is not */
5131 var251
= ((val
* (*)(val
*))(var_nwritable223
->class->vft
[COLOR_parser_nodes__AAble__n_visibility
]))(var_nwritable223
) /* n_visibility on <var_nwritable223:nullable AAble(AAble)>*/;
5132 ((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>*/;
5136 var252
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_property__AClassdef__mprop2npropdef
]))(var_nclassdef
) /* mprop2npropdef on <var_nclassdef:AClassdef>*/;
5137 ((void (*)(val
*, val
*, val
*))(var252
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var252
, var_mwriteprop229
, self
) /* []= on <var252:Map[MProperty, APropdef]>*/;
5138 var253
= NEW_model__MMethodDef(&type_model__MMethodDef
);
5139 var254
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__location
]))(self
) /* location on <self:AAttrPropdef>*/;
5140 ((void (*)(val
*, val
*, val
*, val
*))(var253
->class->vft
[COLOR_model__MMethodDef__init
]))(var253
, var_mclassdef
, var_mwriteprop229
, var254
) /* init on <var253:MMethodDef>*/;
5141 CHECK_NEW_model__MMethodDef(var253
);
5142 var_mwritepropdef255
= var253
;
5143 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_modelize_property__AAttrPropdef__mwritepropdef_61d
]))(self
, var_mwritepropdef255
) /* mwritepropdef= on <self:AAttrPropdef>*/;
5144 var256
= ((val
* (*)(val
*))(var_modelbuilder
->class->vft
[COLOR_modelize_property__ModelBuilder__mpropdef2npropdef
]))(var_modelbuilder
) /* mpropdef2npropdef on <var_modelbuilder:ModelBuilder>*/;
5145 ((void (*)(val
*, val
*, val
*))(var256
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var256
, var_mwritepropdef255
, self
) /* []= on <var256:HashMap[MPropDef, APropdef]>*/;
5149 /* method modelize_property#AAttrPropdef#build_property for (self: Object, ModelBuilder, AClassdef) */
5150 void VIRTUAL_modelize_property__AAttrPropdef__build_property(val
* self
, val
* p0
, val
* p1
) {
5151 modelize_property__AAttrPropdef__build_property(self
, p0
, p1
);
5154 /* method modelize_property#AAttrPropdef#build_signature for (self: AAttrPropdef, ModelBuilder, AClassdef) */
5155 void modelize_property__AAttrPropdef__build_signature(val
* self
, val
* p0
, val
* p1
) {
5156 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
5157 val
* var_nclassdef
/* var nclassdef: AClassdef */;
5158 val
* var
/* : nullable MPropDef */;
5159 val
* var_mpropdef
/* var mpropdef: nullable MAttributeDef */;
5160 val
* var1
/* : null */;
5161 short int var2
/* : Bool */;
5162 val
* var3
/* : MClassDef */;
5163 val
* var4
/* : MModule */;
5164 val
* var_mmodule
/* var mmodule: MModule */;
5165 val
* var5
/* : null */;
5166 val
* var_mtype
/* var mtype: nullable MType */;
5167 val
* var6
/* : nullable AType */;
5168 val
* var_ntype
/* var ntype: nullable AType */;
5169 val
* var7
/* : null */;
5170 short int var8
/* : Bool */;
5171 val
* var9
/* : nullable MType */;
5172 val
* var10
/* : null */;
5173 short int var11
/* : Bool */;
5174 val
* var12
/* : nullable AExpr */;
5175 val
* var_nexpr
/* var nexpr: nullable AExpr */;
5176 val
* var13
/* : null */;
5177 short int var14
/* : Bool */;
5178 val
* var15
/* : null */;
5179 short int var16
/* : Bool */;
5180 short int var17
/* : Bool */;
5183 val
* var18
/* : AType */;
5184 val
* var19
/* : nullable MType */;
5185 short int var20
/* : Bool */;
5188 static val
* varonce
;
5189 val
* var23
/* : String */;
5190 char* var24
/* : NativeString */;
5191 long var25
/* : Int */;
5192 val
* var26
/* : String */;
5193 val
* var27
/* : nullable MClass */;
5194 val
* var_cla
/* var cla: nullable MClass */;
5195 val
* var28
/* : null */;
5196 short int var29
/* : Bool */;
5197 val
* var30
/* : MClassType */;
5198 short int var31
/* : Bool */;
5201 static val
* varonce34
;
5202 val
* var35
/* : String */;
5203 char* var36
/* : NativeString */;
5204 long var37
/* : Int */;
5205 val
* var38
/* : String */;
5206 val
* var39
/* : nullable MClass */;
5207 val
* var_cla40
/* var cla: nullable MClass */;
5208 val
* var41
/* : null */;
5209 short int var42
/* : Bool */;
5210 val
* var43
/* : MClassType */;
5211 short int var44
/* : Bool */;
5214 static val
* varonce47
;
5215 val
* var48
/* : String */;
5216 char* var49
/* : NativeString */;
5217 long var50
/* : Int */;
5218 val
* var51
/* : String */;
5219 val
* var52
/* : nullable MClass */;
5220 val
* var_cla53
/* var cla: nullable MClass */;
5221 val
* var54
/* : null */;
5222 short int var55
/* : Bool */;
5223 val
* var56
/* : MClassType */;
5224 short int var57
/* : Bool */;
5227 static val
* varonce60
;
5228 val
* var61
/* : String */;
5229 char* var62
/* : NativeString */;
5230 long var63
/* : Int */;
5231 val
* var64
/* : String */;
5232 val
* var65
/* : nullable MClass */;
5233 val
* var_cla66
/* var cla: nullable MClass */;
5234 val
* var67
/* : null */;
5235 short int var68
/* : Bool */;
5236 val
* var69
/* : MClassType */;
5237 short int var70
/* : Bool */;
5240 static val
* varonce73
;
5241 val
* var74
/* : String */;
5242 char* var75
/* : NativeString */;
5243 long var76
/* : Int */;
5244 val
* var77
/* : String */;
5245 val
* var78
/* : nullable MClass */;
5246 val
* var_cla79
/* var cla: nullable MClass */;
5247 val
* var80
/* : null */;
5248 short int var81
/* : Bool */;
5249 val
* var82
/* : MClassType */;
5250 short int var83
/* : Bool */;
5253 static val
* varonce86
;
5254 val
* var87
/* : String */;
5255 char* var88
/* : NativeString */;
5256 long var89
/* : Int */;
5257 val
* var90
/* : String */;
5258 val
* var91
/* : nullable MClass */;
5259 val
* var_cla92
/* var cla: nullable MClass */;
5260 val
* var93
/* : null */;
5261 short int var94
/* : Bool */;
5262 val
* var95
/* : MClassType */;
5263 static val
* varonce96
;
5264 val
* var97
/* : String */;
5265 char* var98
/* : NativeString */;
5266 long var99
/* : Int */;
5267 val
* var100
/* : String */;
5268 static val
* varonce101
;
5269 val
* var102
/* : String */;
5270 char* var103
/* : NativeString */;
5271 long var104
/* : Int */;
5272 val
* var105
/* : String */;
5273 val
* var106
/* : Array[Object] */;
5274 long var107
/* : Int */;
5275 val
* var108
/* : NativeArray[Object] */;
5276 val
* var109
/* : String */;
5277 static val
* varonce110
;
5278 val
* var111
/* : String */;
5279 char* var112
/* : NativeString */;
5280 long var113
/* : Int */;
5281 val
* var114
/* : String */;
5282 val
* var115
/* : Array[Object] */;
5283 long var116
/* : Int */;
5284 val
* var117
/* : NativeArray[Object] */;
5285 val
* var118
/* : String */;
5286 val
* var119
/* : null */;
5287 short int var120
/* : Bool */;
5288 short int var121
/* : Bool */;
5291 val
* var124
/* : AType */;
5292 val
* var125
/* : nullable MType */;
5293 val
* var_xmtype
/* var xmtype: nullable MType */;
5294 short int var126
/* : Bool */;
5295 short int var127
/* : Bool */;
5296 short int var_
/* var : Bool */;
5297 val
* var128
/* : ToolContext */;
5298 val
* var129
/* : OptionCount */;
5299 val
* var130
/* : nullable Object */;
5300 long var131
/* : Int */;
5301 short int var132
/* : Bool */;
5302 short int var134
/* : Bool */;
5305 const char* var_class_name
;
5306 long var137
/* : Int */;
5307 short int var138
/* : Bool */;
5308 static val
* varonce139
;
5309 val
* var140
/* : String */;
5310 char* var141
/* : NativeString */;
5311 long var142
/* : Int */;
5312 val
* var143
/* : String */;
5313 val
* var144
/* : null */;
5314 short int var145
/* : Bool */;
5315 val
* var146
/* : nullable MMethodDef */;
5316 val
* var_mreadpropdef
/* var mreadpropdef: nullable MMethodDef */;
5317 val
* var147
/* : null */;
5318 short int var148
/* : Bool */;
5319 val
* var149
/* : MSignature */;
5320 val
* var150
/* : Array[MParameter] */;
5321 val
* var_msignature
/* var msignature: MSignature */;
5322 val
* var151
/* : nullable MMethodDef */;
5323 val
* var_msritepropdef
/* var msritepropdef: nullable MMethodDef */;
5324 val
* var152
/* : nullable MMethodDef */;
5325 val
* var153
/* : null */;
5326 short int var154
/* : Bool */;
5327 val
* var155
/* : nullable TAttrid */;
5328 val
* var156
/* : null */;
5329 short int var157
/* : Bool */;
5330 val
* var158
/* : nullable TAttrid */;
5331 val
* var159
/* : String */;
5332 long var160
/* : Int */;
5333 val
* var161
/* : String */;
5334 val
* var_name
/* var name: String */;
5335 val
* var162
/* : nullable TId */;
5336 val
* var163
/* : String */;
5337 val
* var164
/* : MParameter */;
5338 short int var165
/* : Bool */;
5339 val
* var_mparameter
/* var mparameter: MParameter */;
5340 val
* var166
/* : MSignature */;
5341 val
* var167
/* : Array[MParameter] */;
5342 long var168
/* : Int */;
5343 val
* var_169
/* var : Array[MParameter] */;
5344 val
* var170
/* : null */;
5345 val
* var_msignature171
/* var msignature: MSignature */;
5346 val
* var172
/* : nullable MMethodDef */;
5347 var_modelbuilder
= p0
;
5349 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__mpropdef
]))(self
) /* mpropdef on <self:AAttrPropdef>*/;
5352 if (var_mpropdef
== NULL
) {
5353 var2
= 1; /* is null */
5355 var2
= 0; /* arg is null but recv is not */
5361 var3
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var_mpropdef
) /* mclassdef on <var_mpropdef:nullable MAttributeDef(MAttributeDef)>*/;
5362 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_model__MClassDef__mmodule
]))(var3
) /* mmodule on <var3:MClassDef>*/;
5366 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_type
]))(self
) /* n_type on <self:AAttrPropdef>*/;
5369 if (var_ntype
== NULL
) {
5370 var8
= 0; /* is null */
5372 var8
= 1; /* arg is null and recv is not */
5375 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>*/;
5378 if (var_mtype
== NULL
) {
5379 var11
= 1; /* is null */
5381 var11
= 0; /* arg is null but recv is not */
5389 var12
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_expr
]))(self
) /* n_expr on <self:AAttrPropdef>*/;
5392 if (var_mtype
== NULL
) {
5393 var14
= 1; /* is null */
5395 var14
= 0; /* arg is null but recv is not */
5399 if (var_nexpr
== NULL
) {
5400 var16
= 0; /* is null */
5402 var16
= 1; /* arg is null and recv is not */
5405 /* <var_nexpr:nullable AExpr(AExpr)> isa ANewExpr */
5406 cltype
= type_parser_nodes__ANewExpr
.color
;
5407 idtype
= type_parser_nodes__ANewExpr
.id
;
5408 if(cltype
>= var_nexpr
->type
->table_size
) {
5411 var17
= var_nexpr
->type
->type_table
[cltype
] == idtype
;
5414 var18
= ((val
* (*)(val
*))(var_nexpr
->class->vft
[COLOR_parser_nodes__ANewExpr__n_type
]))(var_nexpr
) /* n_type on <var_nexpr:nullable AExpr(ANewExpr)>*/;
5415 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>*/;
5418 /* <var_nexpr:nullable AExpr(AExpr)> isa AIntExpr */
5419 cltype21
= type_parser_nodes__AIntExpr
.color
;
5420 idtype22
= type_parser_nodes__AIntExpr
.id
;
5421 if(cltype21
>= var_nexpr
->type
->table_size
) {
5424 var20
= var_nexpr
->type
->type_table
[cltype21
] == idtype22
;
5432 var26
= string__NativeString__to_s_with_length(var24
, var25
);
5436 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>*/;
5439 if (var_cla
== NULL
) {
5440 var29
= 0; /* is null */
5442 var29
= 1; /* arg is null and recv is not */
5445 var30
= ((val
* (*)(val
*))(var_cla
->class->vft
[COLOR_model__MClass__mclass_type
]))(var_cla
) /* mclass_type on <var_cla:nullable MClass(MClass)>*/;
5450 /* <var_nexpr:nullable AExpr(AExpr)> isa AFloatExpr */
5451 cltype32
= type_parser_nodes__AFloatExpr
.color
;
5452 idtype33
= type_parser_nodes__AFloatExpr
.id
;
5453 if(cltype32
>= var_nexpr
->type
->table_size
) {
5456 var31
= var_nexpr
->type
->type_table
[cltype32
] == idtype33
;
5464 var38
= string__NativeString__to_s_with_length(var36
, var37
);
5468 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>*/;
5471 if (var_cla40
== NULL
) {
5472 var42
= 0; /* is null */
5474 var42
= 1; /* arg is null and recv is not */
5477 var43
= ((val
* (*)(val
*))(var_cla40
->class->vft
[COLOR_model__MClass__mclass_type
]))(var_cla40
) /* mclass_type on <var_cla40:nullable MClass(MClass)>*/;
5482 /* <var_nexpr:nullable AExpr(AExpr)> isa ACharExpr */
5483 cltype45
= type_parser_nodes__ACharExpr
.color
;
5484 idtype46
= type_parser_nodes__ACharExpr
.id
;
5485 if(cltype45
>= var_nexpr
->type
->table_size
) {
5488 var44
= var_nexpr
->type
->type_table
[cltype45
] == idtype46
;
5496 var51
= string__NativeString__to_s_with_length(var49
, var50
);
5500 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>*/;
5503 if (var_cla53
== NULL
) {
5504 var55
= 0; /* is null */
5506 var55
= 1; /* arg is null and recv is not */
5509 var56
= ((val
* (*)(val
*))(var_cla53
->class->vft
[COLOR_model__MClass__mclass_type
]))(var_cla53
) /* mclass_type on <var_cla53:nullable MClass(MClass)>*/;
5514 /* <var_nexpr:nullable AExpr(AExpr)> isa ABoolExpr */
5515 cltype58
= type_parser_nodes__ABoolExpr
.color
;
5516 idtype59
= type_parser_nodes__ABoolExpr
.id
;
5517 if(cltype58
>= var_nexpr
->type
->table_size
) {
5520 var57
= var_nexpr
->type
->type_table
[cltype58
] == idtype59
;
5528 var64
= string__NativeString__to_s_with_length(var62
, var63
);
5532 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>*/;
5535 if (var_cla66
== NULL
) {
5536 var68
= 0; /* is null */
5538 var68
= 1; /* arg is null and recv is not */
5541 var69
= ((val
* (*)(val
*))(var_cla66
->class->vft
[COLOR_model__MClass__mclass_type
]))(var_cla66
) /* mclass_type on <var_cla66:nullable MClass(MClass)>*/;
5546 /* <var_nexpr:nullable AExpr(AExpr)> isa ASuperstringExpr */
5547 cltype71
= type_parser_nodes__ASuperstringExpr
.color
;
5548 idtype72
= type_parser_nodes__ASuperstringExpr
.id
;
5549 if(cltype71
>= var_nexpr
->type
->table_size
) {
5552 var70
= var_nexpr
->type
->type_table
[cltype71
] == idtype72
;
5560 var77
= string__NativeString__to_s_with_length(var75
, var76
);
5564 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>*/;
5567 if (var_cla79
== NULL
) {
5568 var81
= 0; /* is null */
5570 var81
= 1; /* arg is null and recv is not */
5573 var82
= ((val
* (*)(val
*))(var_cla79
->class->vft
[COLOR_model__MClass__mclass_type
]))(var_cla79
) /* mclass_type on <var_cla79:nullable MClass(MClass)>*/;
5578 /* <var_nexpr:nullable AExpr(AExpr)> isa AStringFormExpr */
5579 cltype84
= type_parser_nodes__AStringFormExpr
.color
;
5580 idtype85
= type_parser_nodes__AStringFormExpr
.id
;
5581 if(cltype84
>= var_nexpr
->type
->table_size
) {
5584 var83
= var_nexpr
->type
->type_table
[cltype84
] == idtype85
;
5592 var90
= string__NativeString__to_s_with_length(var88
, var89
);
5596 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>*/;
5599 if (var_cla92
== NULL
) {
5600 var94
= 0; /* is null */
5602 var94
= 1; /* arg is null and recv is not */
5605 var95
= ((val
* (*)(val
*))(var_cla92
->class->vft
[COLOR_model__MClass__mclass_type
]))(var_cla92
) /* mclass_type on <var_cla92:nullable MClass(MClass)>*/;
5613 var98
= "Error: Untyped attribute ";
5615 var100
= string__NativeString__to_s_with_length(var98
, var99
);
5620 var102
= varonce101
;
5622 var103
= ". Implicit typing allowed only for literals and new.";
5624 var105
= string__NativeString__to_s_with_length(var103
, var104
);
5626 varonce101
= var102
;
5628 var106
= NEW_array__Array(&type_array__Arraykernel__Object
);
5629 { /* var106 = array_instance Array[Object] */
5631 var108
= NEW_array__NativeArray(var107
, &type_array__NativeArraykernel__Object
);
5632 ((struct instance_array__NativeArray
*)var108
)->values
[0] = (val
*) var97
;
5633 ((struct instance_array__NativeArray
*)var108
)->values
[1] = (val
*) var_mpropdef
;
5634 ((struct instance_array__NativeArray
*)var108
)->values
[2] = (val
*) var102
;
5635 ((void (*)(val
*, val
*, long))(var106
->class->vft
[COLOR_array__Array__with_native
]))(var106
, var108
, var107
) /* with_native on <var106:Array[Object]>*/;
5636 CHECK_NEW_array__Array(var106
);
5638 var109
= ((val
* (*)(val
*))(var106
->class->vft
[COLOR_string__Object__to_s
]))(var106
) /* to_s on <var106:Array[Object]>*/;
5639 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, self
, var109
) /* error on <var_modelbuilder:ModelBuilder>*/;
5649 var111
= varonce110
;
5651 var112
= "Error: Untyped attribute ";
5653 var114
= string__NativeString__to_s_with_length(var112
, var113
);
5655 varonce110
= var111
;
5657 var115
= NEW_array__Array(&type_array__Arraykernel__Object
);
5658 { /* var115 = array_instance Array[Object] */
5660 var117
= NEW_array__NativeArray(var116
, &type_array__NativeArraykernel__Object
);
5661 ((struct instance_array__NativeArray
*)var117
)->values
[0] = (val
*) var111
;
5662 ((struct instance_array__NativeArray
*)var117
)->values
[1] = (val
*) var_mpropdef
;
5663 ((void (*)(val
*, val
*, long))(var115
->class->vft
[COLOR_array__Array__with_native
]))(var115
, var117
, var116
) /* with_native on <var115:Array[Object]>*/;
5664 CHECK_NEW_array__Array(var115
);
5666 var118
= ((val
* (*)(val
*))(var115
->class->vft
[COLOR_string__Object__to_s
]))(var115
) /* to_s on <var115:Array[Object]>*/;
5667 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, self
, var118
) /* error on <var_modelbuilder:ModelBuilder>*/;
5671 if (var_ntype
== NULL
) {
5672 var120
= 0; /* is null */
5674 var120
= 1; /* arg is null and recv is not */
5677 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5678 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 707);
5681 /* <var_nexpr:nullable AExpr> isa ANewExpr */
5682 cltype122
= type_parser_nodes__ANewExpr
.color
;
5683 idtype123
= type_parser_nodes__ANewExpr
.id
;
5684 if(var_nexpr
== NULL
) {
5687 if(cltype122
>= var_nexpr
->type
->table_size
) {
5690 var121
= var_nexpr
->type
->type_table
[cltype122
] == idtype123
;
5694 var124
= ((val
* (*)(val
*))(var_nexpr
->class->vft
[COLOR_parser_nodes__ANewExpr__n_type
]))(var_nexpr
) /* n_type on <var_nexpr:nullable AExpr(ANewExpr)>*/;
5695 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>*/;
5696 var_xmtype
= var125
;
5697 if (var_xmtype
== NULL
) {
5698 var127
= 0; /* <var_mtype:nullable MType(MType)> cannot be null */
5700 var127
= ((short int (*)(val
*, val
*))(var_xmtype
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_xmtype
, var_mtype
) /* == on <var_xmtype:nullable MType>*/;
5704 var128
= ((val
* (*)(val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var_modelbuilder
) /* toolcontext on <var_modelbuilder:ModelBuilder>*/;
5705 var129
= ((val
* (*)(val
*))(var128
->class->vft
[COLOR_toolcontext__ToolContext__opt_warn
]))(var128
) /* opt_warn on <var128:ToolContext>*/;
5706 var130
= ((val
* (*)(val
*))(var129
->class->vft
[COLOR_opts__Option__value
]))(var129
) /* value on <var129:OptionCount>*/;
5708 { /* Inline kernel#Int#>= (var130,var131) */
5709 /* Covariant cast for argument 0 (i) <var131:Int> isa OTHER */
5710 /* <var131:Int> isa OTHER */
5711 var134
= 1; /* easy <var131:Int> isa OTHER*/
5713 var_class_name
= type_kernel__Int
.name
;
5714 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
5715 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 262);
5718 var137
= ((struct instance_kernel__Int
*)var130
)->value
; /* autounbox from nullable Object to Int */;
5719 var138
= var137
>= var131
;
5722 RET_LABEL133
:(void)0;
5730 var140
= varonce139
;
5732 var141
= "Warning: useless type definition";
5734 var143
= string__NativeString__to_s_with_length(var141
, var142
);
5736 varonce139
= var140
;
5738 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__warning
]))(var_modelbuilder
, var_ntype
, var140
) /* warning on <var_modelbuilder:ModelBuilder>*/;
5745 if (var_mtype
== NULL
) {
5746 var145
= 1; /* is null */
5748 var145
= 0; /* arg is null but recv is not */
5754 ((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)>*/;
5755 var146
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__AAttrPropdef__mreadpropdef
]))(self
) /* mreadpropdef on <self:AAttrPropdef>*/;
5756 var_mreadpropdef
= var146
;
5758 if (var_mreadpropdef
== NULL
) {
5759 var148
= 0; /* is null */
5761 var148
= 1; /* arg is null and recv is not */
5764 var149
= NEW_model__MSignature(&type_model__MSignature
);
5765 var150
= NEW_array__Array(&type_array__Arraymodel__MParameter
);
5766 ((void (*)(val
*))(var150
->class->vft
[COLOR_array__Array__init
]))(var150
) /* init on <var150:Array[MParameter]>*/;
5767 CHECK_NEW_array__Array(var150
);
5768 ((void (*)(val
*, val
*, val
*))(var149
->class->vft
[COLOR_model__MSignature__init
]))(var149
, var150
, var_mtype
) /* init on <var149:MSignature>*/;
5769 CHECK_NEW_model__MSignature(var149
);
5770 var_msignature
= var149
;
5771 ((void (*)(val
*, val
*))(var_mreadpropdef
->class->vft
[COLOR_model__MMethodDef__msignature_61d
]))(var_mreadpropdef
, var_msignature
) /* msignature= on <var_mreadpropdef:nullable MMethodDef(MMethodDef)>*/;
5774 var151
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__AAttrPropdef__mwritepropdef
]))(self
) /* mwritepropdef on <self:AAttrPropdef>*/;
5775 var_msritepropdef
= var151
;
5776 var152
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__AAttrPropdef__mwritepropdef
]))(self
) /* mwritepropdef on <self:AAttrPropdef>*/;
5778 if (var152
== NULL
) {
5779 var154
= 0; /* is null */
5781 var154
= 1; /* arg is null and recv is not */
5784 var155
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_id
]))(self
) /* n_id on <self:AAttrPropdef>*/;
5786 if (var155
== NULL
) {
5787 var157
= 0; /* is null */
5789 var157
= 1; /* arg is null and recv is not */
5792 var158
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_id
]))(self
) /* n_id on <self:AAttrPropdef>*/;
5793 if (var158
== NULL
) {
5794 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
5795 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 730);
5798 var159
= ((val
* (*)(val
*))(var158
->class->vft
[COLOR_parser_nodes__Token__text
]))(var158
) /* text on <var158:nullable TAttrid>*/;
5801 var161
= ((val
* (*)(val
*, long))(var159
->class->vft
[COLOR_string__AbstractString__substring_from
]))(var159
, var160
) /* substring_from on <var159:String>*/;
5804 var162
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_id2
]))(self
) /* n_id2 on <self:AAttrPropdef>*/;
5805 if (var162
== NULL
) {
5806 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
5807 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 732);
5810 var163
= ((val
* (*)(val
*))(var162
->class->vft
[COLOR_parser_nodes__Token__text
]))(var162
) /* text on <var162:nullable TId>*/;
5814 var164
= NEW_model__MParameter(&type_model__MParameter
);
5816 ((void (*)(val
*, val
*, val
*, short int))(var164
->class->vft
[COLOR_model__MParameter__init
]))(var164
, var_name
, var_mtype
, var165
) /* init on <var164:MParameter>*/;
5817 CHECK_NEW_model__MParameter(var164
);
5818 var_mparameter
= var164
;
5819 var166
= NEW_model__MSignature(&type_model__MSignature
);
5820 var167
= NEW_array__Array(&type_array__Arraymodel__MParameter
);
5822 ((void (*)(val
*, long))(var167
->class->vft
[COLOR_array__Array__with_capacity
]))(var167
, var168
) /* with_capacity on <var167:Array[MParameter]>*/;
5823 CHECK_NEW_array__Array(var167
);
5825 ((void (*)(val
*, val
*))(var_169
->class->vft
[COLOR_abstract_collection__Sequence__push
]))(var_169
, var_mparameter
) /* push on <var_169:Array[MParameter]>*/;
5827 ((void (*)(val
*, val
*, val
*))(var166
->class->vft
[COLOR_model__MSignature__init
]))(var166
, var_169
, var170
) /* init on <var166:MSignature>*/;
5828 CHECK_NEW_model__MSignature(var166
);
5829 var_msignature171
= var166
;
5830 var172
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__AAttrPropdef__mwritepropdef
]))(self
) /* mwritepropdef on <self:AAttrPropdef>*/;
5831 if (var172
== NULL
) {
5832 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
5833 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 736);
5836 ((void (*)(val
*, val
*))(var172
->class->vft
[COLOR_model__MMethodDef__msignature_61d
]))(var172
, var_msignature171
) /* msignature= on <var172:nullable MMethodDef>*/;
5842 /* method modelize_property#AAttrPropdef#build_signature for (self: Object, ModelBuilder, AClassdef) */
5843 void VIRTUAL_modelize_property__AAttrPropdef__build_signature(val
* self
, val
* p0
, val
* p1
) {
5844 modelize_property__AAttrPropdef__build_signature(self
, p0
, p1
);
5847 /* method modelize_property#AAttrPropdef#check_signature for (self: AAttrPropdef, ModelBuilder, AClassdef) */
5848 void modelize_property__AAttrPropdef__check_signature(val
* self
, val
* p0
, val
* p1
) {
5849 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
5850 val
* var_nclassdef
/* var nclassdef: AClassdef */;
5851 val
* var
/* : nullable MPropDef */;
5852 val
* var_mpropdef
/* var mpropdef: nullable MAttributeDef */;
5853 val
* var1
/* : null */;
5854 short int var2
/* : Bool */;
5855 val
* var3
/* : MClassDef */;
5856 val
* var4
/* : MModule */;
5857 val
* var_mmodule
/* var mmodule: MModule */;
5858 val
* var5
/* : nullable AType */;
5859 val
* var_ntype
/* var ntype: nullable AType */;
5860 val
* var6
/* : nullable MPropDef */;
5861 val
* var7
/* : nullable MType */;
5862 val
* var_mtype
/* var mtype: nullable MType */;
5863 val
* var8
/* : null */;
5864 short int var9
/* : Bool */;
5865 short int var10
/* : Bool */;
5866 short int var11
/* : Bool */;
5867 val
* var12
/* : MProperty */;
5868 val
* var13
/* : MPropDef */;
5869 val
* var14
/* : nullable MType */;
5870 val
* var_precursor_type
/* var precursor_type: nullable MType */;
5871 val
* var15
/* : null */;
5872 short int var16
/* : Bool */;
5873 short int var17
/* : Bool */;
5874 static val
* varonce
;
5875 val
* var18
/* : String */;
5876 char* var19
/* : NativeString */;
5877 long var20
/* : Int */;
5878 val
* var21
/* : String */;
5879 static val
* varonce22
;
5880 val
* var23
/* : String */;
5881 char* var24
/* : NativeString */;
5882 long var25
/* : Int */;
5883 val
* var26
/* : String */;
5884 static val
* varonce27
;
5885 val
* var28
/* : String */;
5886 char* var29
/* : NativeString */;
5887 long var30
/* : Int */;
5888 val
* var31
/* : String */;
5889 val
* var32
/* : Array[Object] */;
5890 long var33
/* : Int */;
5891 val
* var34
/* : NativeArray[Object] */;
5892 val
* var35
/* : String */;
5893 val
* var36
/* : nullable MMethodDef */;
5894 val
* var_meth
/* var meth: nullable MMethodDef */;
5895 val
* var37
/* : null */;
5896 short int var38
/* : Bool */;
5897 val
* var39
/* : nullable MMethodDef */;
5898 val
* var40
/* : null */;
5899 short int var41
/* : Bool */;
5900 var_modelbuilder
= p0
;
5902 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__mpropdef
]))(self
) /* mpropdef on <self:AAttrPropdef>*/;
5905 if (var_mpropdef
== NULL
) {
5906 var2
= 1; /* is null */
5908 var2
= 0; /* arg is null but recv is not */
5914 var3
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var_mpropdef
) /* mclassdef on <var_mpropdef:nullable MAttributeDef(MAttributeDef)>*/;
5915 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_model__MClassDef__mmodule
]))(var3
) /* mmodule on <var3:MClassDef>*/;
5917 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_type
]))(self
) /* n_type on <self:AAttrPropdef>*/;
5919 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__mpropdef
]))(self
) /* mpropdef on <self:AAttrPropdef>*/;
5921 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
5922 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 746);
5925 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_model__MAttributeDef__static_mtype
]))(var6
) /* static_mtype on <var6:nullable MPropDef(nullable MAttributeDef)>*/;
5929 if (var_mtype
== NULL
) {
5930 var9
= 1; /* is null */
5932 var9
= 0; /* arg is null but recv is not */
5938 var10
= ((short int (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__is_intro
]))(var_mpropdef
) /* is_intro on <var_mpropdef:nullable MAttributeDef(MAttributeDef)>*/;
5941 var12
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var_mpropdef
) /* mproperty on <var_mpropdef:nullable MAttributeDef(MAttributeDef)>*/;
5942 var13
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_model__MProperty__intro
]))(var12
) /* intro on <var12:MProperty(MAttribute)>*/;
5943 var14
= ((val
* (*)(val
*))(var13
->class->vft
[COLOR_model__MAttributeDef__static_mtype
]))(var13
) /* static_mtype on <var13:MPropDef(MAttributeDef)>*/;
5944 var_precursor_type
= var14
;
5946 if (var_precursor_type
== NULL
) {
5947 var16
= 1; /* is null */
5949 var16
= 0; /* arg is null but recv is not */
5955 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)>*/;
5957 if (var_ntype
== NULL
) {
5958 fprintf(stderr
, "Runtime error: %s", "Cast failed");
5959 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 756);
5965 var19
= "Redef Error: Wrong static type. found ";
5967 var21
= string__NativeString__to_s_with_length(var19
, var20
);
5974 var24
= ", expected ";
5976 var26
= string__NativeString__to_s_with_length(var24
, var25
);
5985 var31
= string__NativeString__to_s_with_length(var29
, var30
);
5989 var32
= NEW_array__Array(&type_array__Arraykernel__Object
);
5990 { /* var32 = array_instance Array[Object] */
5992 var34
= NEW_array__NativeArray(var33
, &type_array__NativeArraykernel__Object
);
5993 ((struct instance_array__NativeArray
*)var34
)->values
[0] = (val
*) var18
;
5994 ((struct instance_array__NativeArray
*)var34
)->values
[1] = (val
*) var_mtype
;
5995 ((struct instance_array__NativeArray
*)var34
)->values
[2] = (val
*) var23
;
5996 ((struct instance_array__NativeArray
*)var34
)->values
[3] = (val
*) var_precursor_type
;
5997 ((struct instance_array__NativeArray
*)var34
)->values
[4] = (val
*) var28
;
5998 ((void (*)(val
*, val
*, long))(var32
->class->vft
[COLOR_array__Array__with_native
]))(var32
, var34
, var33
) /* with_native on <var32:Array[Object]>*/;
5999 CHECK_NEW_array__Array(var32
);
6001 var35
= ((val
* (*)(val
*))(var32
->class->vft
[COLOR_string__Object__to_s
]))(var32
) /* to_s on <var32:Array[Object]>*/;
6002 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, var_ntype
, var35
) /* error on <var_modelbuilder:ModelBuilder>*/;
6008 var36
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__AAttrPropdef__mreadpropdef
]))(self
) /* mreadpropdef on <self:AAttrPropdef>*/;
6011 if (var_meth
== NULL
) {
6012 var38
= 0; /* is null */
6014 var38
= 1; /* arg is null and recv is not */
6017 ((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>*/;
6020 var39
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__AAttrPropdef__mwritepropdef
]))(self
) /* mwritepropdef on <self:AAttrPropdef>*/;
6023 if (var_meth
== NULL
) {
6024 var41
= 0; /* is null */
6026 var41
= 1; /* arg is null and recv is not */
6029 ((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>*/;
6034 /* method modelize_property#AAttrPropdef#check_signature for (self: Object, ModelBuilder, AClassdef) */
6035 void VIRTUAL_modelize_property__AAttrPropdef__check_signature(val
* self
, val
* p0
, val
* p1
) {
6036 modelize_property__AAttrPropdef__check_signature(self
, p0
, p1
);
6039 /* method modelize_property#AAttrPropdef#check_method_signature for (self: AAttrPropdef, ModelBuilder, AClassdef, MMethodDef) */
6040 void modelize_property__AAttrPropdef__check_method_signature(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
6041 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
6042 val
* var_nclassdef
/* var nclassdef: AClassdef */;
6043 val
* var_mpropdef
/* var mpropdef: MMethodDef */;
6044 val
* var
/* : MClassDef */;
6045 val
* var1
/* : MModule */;
6046 val
* var_mmodule
/* var mmodule: MModule */;
6047 val
* var2
/* : nullable AType */;
6048 val
* var_nsig
/* var nsig: nullable AType */;
6049 val
* var3
/* : nullable MSignature */;
6050 val
* var_mysignature
/* var mysignature: nullable MSignature */;
6051 val
* var4
/* : null */;
6052 short int var5
/* : Bool */;
6053 short int var6
/* : Bool */;
6054 short int var7
/* : Bool */;
6055 val
* var8
/* : MProperty */;
6056 val
* var9
/* : MPropDef */;
6057 val
* var10
/* : nullable MSignature */;
6058 val
* var_msignature
/* var msignature: nullable MSignature */;
6059 val
* var11
/* : null */;
6060 short int var12
/* : Bool */;
6061 long var13
/* : Int */;
6062 long var14
/* : Int */;
6063 short int var15
/* : Bool */;
6064 short int var17
/* : Bool */;
6065 short int var18
/* : Bool */;
6066 val
* var19
/* : null */;
6067 short int var20
/* : Bool */;
6068 val
* var_node
/* var node: ANode */;
6069 static val
* varonce
;
6070 val
* var21
/* : String */;
6071 char* var22
/* : NativeString */;
6072 long var23
/* : Int */;
6073 val
* var24
/* : String */;
6074 long var25
/* : Int */;
6075 static val
* varonce26
;
6076 val
* var27
/* : String */;
6077 char* var28
/* : NativeString */;
6078 long var29
/* : Int */;
6079 val
* var30
/* : String */;
6080 long var31
/* : Int */;
6081 static val
* varonce32
;
6082 val
* var33
/* : String */;
6083 char* var34
/* : NativeString */;
6084 long var35
/* : Int */;
6085 val
* var36
/* : String */;
6086 val
* var37
/* : Array[Object] */;
6087 long var38
/* : Int */;
6088 val
* var39
/* : NativeArray[Object] */;
6089 val
* var40
/* : Object */;
6090 val
* var41
/* : Object */;
6091 val
* var42
/* : String */;
6092 val
* var43
/* : nullable MType */;
6093 val
* var_precursor_ret_type
/* var precursor_ret_type: nullable MType */;
6094 val
* var44
/* : nullable MType */;
6095 val
* var_ret_type
/* var ret_type: nullable MType */;
6096 short int var45
/* : Bool */;
6097 val
* var46
/* : null */;
6098 short int var47
/* : Bool */;
6099 short int var_
/* var : Bool */;
6100 val
* var48
/* : null */;
6101 short int var49
/* : Bool */;
6102 val
* var50
/* : null */;
6103 short int var51
/* : Bool */;
6104 val
* var_node52
/* var node: ANode */;
6105 static val
* varonce53
;
6106 val
* var54
/* : String */;
6107 char* var55
/* : NativeString */;
6108 long var56
/* : Int */;
6109 val
* var57
/* : String */;
6110 val
* var58
/* : MProperty */;
6111 static val
* varonce59
;
6112 val
* var60
/* : String */;
6113 char* var61
/* : NativeString */;
6114 long var62
/* : Int */;
6115 val
* var63
/* : String */;
6116 val
* var64
/* : Array[Object] */;
6117 long var65
/* : Int */;
6118 val
* var66
/* : NativeArray[Object] */;
6119 val
* var67
/* : String */;
6120 long var68
/* : Int */;
6121 long var69
/* : Int */;
6122 short int var70
/* : Bool */;
6123 short int var72
/* : Bool */;
6126 const char* var_class_name
;
6127 short int var73
/* : Bool */;
6128 val
* var74
/* : Range[Int] */;
6129 long var75
/* : Int */;
6130 long var76
/* : Int */;
6131 val
* var77
/* : Discrete */;
6132 val
* var78
/* : Discrete */;
6133 val
* var79
/* : Iterator[nullable Object] */;
6134 short int var80
/* : Bool */;
6135 val
* var81
/* : nullable Object */;
6136 long var_i
/* var i: Int */;
6137 long var82
/* : Int */;
6138 val
* var83
/* : Array[MParameter] */;
6139 val
* var84
/* : nullable Object */;
6140 val
* var85
/* : MType */;
6141 val
* var_myt
/* var myt: MType */;
6142 val
* var86
/* : Array[MParameter] */;
6143 val
* var87
/* : nullable Object */;
6144 val
* var88
/* : MType */;
6145 val
* var_prt
/* var prt: MType */;
6146 short int var89
/* : Bool */;
6147 val
* var90
/* : nullable MClassDef */;
6148 val
* var91
/* : MClassType */;
6149 short int var92
/* : Bool */;
6150 short int var93
/* : Bool */;
6151 short int var_94
/* var : Bool */;
6152 val
* var95
/* : nullable MClassDef */;
6153 val
* var96
/* : MClassType */;
6154 short int var97
/* : Bool */;
6155 short int var98
/* : Bool */;
6156 val
* var99
/* : null */;
6157 short int var100
/* : Bool */;
6158 val
* var_node101
/* var node: ANode */;
6159 static val
* varonce102
;
6160 val
* var103
/* : String */;
6161 char* var104
/* : NativeString */;
6162 long var105
/* : Int */;
6163 val
* var106
/* : String */;
6164 val
* var107
/* : Array[MParameter] */;
6165 val
* var108
/* : nullable Object */;
6166 val
* var109
/* : String */;
6167 static val
* varonce110
;
6168 val
* var111
/* : String */;
6169 char* var112
/* : NativeString */;
6170 long var113
/* : Int */;
6171 val
* var114
/* : String */;
6172 static val
* varonce115
;
6173 val
* var116
/* : String */;
6174 char* var117
/* : NativeString */;
6175 long var118
/* : Int */;
6176 val
* var119
/* : String */;
6177 static val
* varonce120
;
6178 val
* var121
/* : String */;
6179 char* var122
/* : NativeString */;
6180 long var123
/* : Int */;
6181 val
* var124
/* : String */;
6182 val
* var125
/* : Array[Object] */;
6183 long var126
/* : Int */;
6184 val
* var127
/* : NativeArray[Object] */;
6185 val
* var128
/* : String */;
6186 val
* var129
/* : null */;
6187 short int var130
/* : Bool */;
6188 val
* var131
/* : null */;
6189 short int var132
/* : Bool */;
6190 val
* var133
/* : nullable MClassDef */;
6191 val
* var134
/* : MClassType */;
6192 short int var135
/* : Bool */;
6193 short int var136
/* : Bool */;
6194 val
* var137
/* : null */;
6195 short int var138
/* : Bool */;
6196 val
* var_node139
/* var node: ANode */;
6197 static val
* varonce140
;
6198 val
* var141
/* : String */;
6199 char* var142
/* : NativeString */;
6200 long var143
/* : Int */;
6201 val
* var144
/* : String */;
6202 static val
* varonce145
;
6203 val
* var146
/* : String */;
6204 char* var147
/* : NativeString */;
6205 long var148
/* : Int */;
6206 val
* var149
/* : String */;
6207 static val
* varonce150
;
6208 val
* var151
/* : String */;
6209 char* var152
/* : NativeString */;
6210 long var153
/* : Int */;
6211 val
* var154
/* : String */;
6212 val
* var155
/* : Array[Object] */;
6213 long var156
/* : Int */;
6214 val
* var157
/* : NativeArray[Object] */;
6215 val
* var158
/* : String */;
6216 var_modelbuilder
= p0
;
6219 var
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var_mpropdef
) /* mclassdef on <var_mpropdef:MMethodDef>*/;
6220 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_model__MClassDef__mmodule
]))(var
) /* mmodule on <var:MClassDef>*/;
6222 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_type
]))(self
) /* n_type on <self:AAttrPropdef>*/;
6224 var3
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var_mpropdef
) /* msignature on <var_mpropdef:MMethodDef>*/;
6225 var_mysignature
= var3
;
6227 if (var_mysignature
== NULL
) {
6228 var5
= 1; /* is null */
6230 var5
= 0; /* arg is null but recv is not */
6236 var6
= ((short int (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__is_intro
]))(var_mpropdef
) /* is_intro on <var_mpropdef:MMethodDef>*/;
6239 var8
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var_mpropdef
) /* mproperty on <var_mpropdef:MMethodDef>*/;
6240 var9
= ((val
* (*)(val
*))(var8
->class->vft
[COLOR_model__MProperty__intro
]))(var8
) /* intro on <var8:MProperty(MMethod)>*/;
6241 var10
= ((val
* (*)(val
*))(var9
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var9
) /* msignature on <var9:MPropDef(MMethodDef)>*/;
6242 var_msignature
= var10
;
6244 if (var_msignature
== NULL
) {
6245 var12
= 1; /* is null */
6247 var12
= 0; /* arg is null but recv is not */
6253 var13
= ((long (*)(val
*))(var_mysignature
->class->vft
[COLOR_model__MSignature__arity
]))(var_mysignature
) /* arity on <var_mysignature:nullable MSignature(MSignature)>*/;
6254 var14
= ((long (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__arity
]))(var_msignature
) /* arity on <var_msignature:nullable MSignature(MSignature)>*/;
6255 { /* Inline kernel#Int#!= (var13,var14) */
6256 var17
= var13
== var14
;
6260 RET_LABEL16
:(void)0;
6264 if (var_nsig
== NULL
) {
6265 var20
= 0; /* is null */
6267 var20
= 1; /* arg is null and recv is not */
6270 var_node
= var_nsig
;
6277 var22
= "Redef Error: ";
6279 var24
= string__NativeString__to_s_with_length(var22
, var23
);
6283 var25
= ((long (*)(val
*))(var_mysignature
->class->vft
[COLOR_model__MSignature__arity
]))(var_mysignature
) /* arity on <var_mysignature:nullable MSignature(MSignature)>*/;
6287 var28
= " parameters found, ";
6289 var30
= string__NativeString__to_s_with_length(var28
, var29
);
6293 var31
= ((long (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__arity
]))(var_msignature
) /* arity on <var_msignature:nullable MSignature(MSignature)>*/;
6297 var34
= " expected. Signature is ";
6299 var36
= string__NativeString__to_s_with_length(var34
, var35
);
6303 var37
= NEW_array__Array(&type_array__Arraykernel__Object
);
6304 { /* var37 = array_instance Array[Object] */
6306 var39
= NEW_array__NativeArray(var38
, &type_array__NativeArraykernel__Object
);
6307 ((struct instance_array__NativeArray
*)var39
)->values
[0] = (val
*) var21
;
6308 var40
= BOX_kernel__Int(var25
); /* autobox from Int to Object */
6309 ((struct instance_array__NativeArray
*)var39
)->values
[1] = (val
*) var40
;
6310 ((struct instance_array__NativeArray
*)var39
)->values
[2] = (val
*) var27
;
6311 var41
= BOX_kernel__Int(var31
); /* autobox from Int to Object */
6312 ((struct instance_array__NativeArray
*)var39
)->values
[3] = (val
*) var41
;
6313 ((struct instance_array__NativeArray
*)var39
)->values
[4] = (val
*) var33
;
6314 ((struct instance_array__NativeArray
*)var39
)->values
[5] = (val
*) var_mpropdef
;
6315 ((struct instance_array__NativeArray
*)var39
)->values
[6] = (val
*) var_msignature
;
6316 ((void (*)(val
*, val
*, long))(var37
->class->vft
[COLOR_array__Array__with_native
]))(var37
, var39
, var38
) /* with_native on <var37:Array[Object]>*/;
6317 CHECK_NEW_array__Array(var37
);
6319 var42
= ((val
* (*)(val
*))(var37
->class->vft
[COLOR_string__Object__to_s
]))(var37
) /* to_s on <var37:Array[Object]>*/;
6320 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, var_node
, var42
) /* error on <var_modelbuilder:ModelBuilder>*/;
6324 var43
= ((val
* (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__return_mtype
]))(var_msignature
) /* return_mtype on <var_msignature:nullable MSignature(MSignature)>*/;
6325 var_precursor_ret_type
= var43
;
6326 var44
= ((val
* (*)(val
*))(var_mysignature
->class->vft
[COLOR_model__MSignature__return_mtype
]))(var_mysignature
) /* return_mtype on <var_mysignature:nullable MSignature(MSignature)>*/;
6327 var_ret_type
= var44
;
6329 if (var_ret_type
== NULL
) {
6330 var47
= 0; /* is null */
6332 var47
= 1; /* arg is null and recv is not */
6337 if (var_precursor_ret_type
== NULL
) {
6338 var49
= 1; /* is null */
6340 var49
= 0; /* arg is null but recv is not */
6348 if (var_nsig
== NULL
) {
6349 var51
= 0; /* is null */
6351 var51
= 1; /* arg is null and recv is not */
6354 var_node52
= var_nsig
;
6361 var55
= "Redef Error: ";
6363 var57
= string__NativeString__to_s_with_length(var55
, var56
);
6367 var58
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var_mpropdef
) /* mproperty on <var_mpropdef:MMethodDef>*/;
6371 var61
= " is a procedure, not a function.";
6373 var63
= string__NativeString__to_s_with_length(var61
, var62
);
6377 var64
= NEW_array__Array(&type_array__Arraykernel__Object
);
6378 { /* var64 = array_instance Array[Object] */
6380 var66
= NEW_array__NativeArray(var65
, &type_array__NativeArraykernel__Object
);
6381 ((struct instance_array__NativeArray
*)var66
)->values
[0] = (val
*) var54
;
6382 ((struct instance_array__NativeArray
*)var66
)->values
[1] = (val
*) var58
;
6383 ((struct instance_array__NativeArray
*)var66
)->values
[2] = (val
*) var60
;
6384 ((void (*)(val
*, val
*, long))(var64
->class->vft
[COLOR_array__Array__with_native
]))(var64
, var66
, var65
) /* with_native on <var64:Array[Object]>*/;
6385 CHECK_NEW_array__Array(var64
);
6387 var67
= ((val
* (*)(val
*))(var64
->class->vft
[COLOR_string__Object__to_s
]))(var64
) /* to_s on <var64:Array[Object]>*/;
6388 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, var_node52
, var67
) /* error on <var_modelbuilder:ModelBuilder>*/;
6392 var68
= ((long (*)(val
*))(var_mysignature
->class->vft
[COLOR_model__MSignature__arity
]))(var_mysignature
) /* arity on <var_mysignature:nullable MSignature(MSignature)>*/;
6394 { /* Inline kernel#Int#> (var68,var69) */
6395 /* Covariant cast for argument 0 (i) <var69:Int> isa OTHER */
6396 /* <var69:Int> isa OTHER */
6397 var72
= 1; /* easy <var69:Int> isa OTHER*/
6399 var_class_name
= type_kernel__Int
.name
;
6400 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
6401 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 263);
6404 var73
= var68
> var69
;
6407 RET_LABEL71
:(void)0;
6410 var74
= NEW_range__Range(&type_range__Rangekernel__Int
);
6412 var76
= ((long (*)(val
*))(var_mysignature
->class->vft
[COLOR_model__MSignature__arity
]))(var_mysignature
) /* arity on <var_mysignature:nullable MSignature(MSignature)>*/;
6413 var77
= BOX_kernel__Int(var75
); /* autobox from Int to Discrete */
6414 var78
= BOX_kernel__Int(var76
); /* autobox from Int to Discrete */
6415 ((void (*)(val
*, val
*, val
*))(var74
->class->vft
[COLOR_range__Range__without_last
]))(var74
, var77
, var78
) /* without_last on <var74:Range[Int]>*/;
6416 CHECK_NEW_range__Range(var74
);
6417 var79
= ((val
* (*)(val
*))(var74
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var74
) /* iterator on <var74:Range[Int]>*/;
6419 var80
= ((short int (*)(val
*))(var79
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var79
) /* is_ok on <var79:Iterator[nullable Object]>*/;
6421 var81
= ((val
* (*)(val
*))(var79
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var79
) /* item on <var79:Iterator[nullable Object]>*/;
6422 var82
= ((struct instance_kernel__Int
*)var81
)->value
; /* autounbox from nullable Object to Int */;
6424 var83
= ((val
* (*)(val
*))(var_mysignature
->class->vft
[COLOR_model__MSignature__mparameters
]))(var_mysignature
) /* mparameters on <var_mysignature:nullable MSignature(MSignature)>*/;
6425 var84
= ((val
* (*)(val
*, long))(var83
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var83
, var_i
) /* [] on <var83:Array[MParameter]>*/;
6426 var85
= ((val
* (*)(val
*))(var84
->class->vft
[COLOR_model__MParameter__mtype
]))(var84
) /* mtype on <var84:nullable Object(MParameter)>*/;
6428 var86
= ((val
* (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__mparameters
]))(var_msignature
) /* mparameters on <var_msignature:nullable MSignature(MSignature)>*/;
6429 var87
= ((val
* (*)(val
*, long))(var86
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var86
, var_i
) /* [] on <var86:Array[MParameter]>*/;
6430 var88
= ((val
* (*)(val
*))(var87
->class->vft
[COLOR_model__MParameter__mtype
]))(var87
) /* mtype on <var87:nullable Object(MParameter)>*/;
6432 var90
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef>*/;
6433 if (var90
== NULL
) {
6434 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
6435 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 801);
6438 var91
= ((val
* (*)(val
*))(var90
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var90
) /* bound_mtype on <var90:nullable MClassDef>*/;
6440 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>*/;
6444 var95
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef>*/;
6445 if (var95
== NULL
) {
6446 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
6447 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 802);
6450 var96
= ((val
* (*)(val
*))(var95
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var95
) /* bound_mtype on <var95:nullable MClassDef>*/;
6452 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>*/;
6460 if (var_nsig
== NULL
) {
6461 var100
= 0; /* is null */
6463 var100
= 1; /* arg is null and recv is not */
6466 var_node101
= var_nsig
;
6471 var103
= varonce102
;
6473 var104
= "Redef Error: Wrong type for parameter `";
6475 var106
= string__NativeString__to_s_with_length(var104
, var105
);
6477 varonce102
= var103
;
6479 var107
= ((val
* (*)(val
*))(var_mysignature
->class->vft
[COLOR_model__MSignature__mparameters
]))(var_mysignature
) /* mparameters on <var_mysignature:nullable MSignature(MSignature)>*/;
6480 var108
= ((val
* (*)(val
*, long))(var107
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var107
, var_i
) /* [] on <var107:Array[MParameter]>*/;
6481 var109
= ((val
* (*)(val
*))(var108
->class->vft
[COLOR_model__MParameter__name
]))(var108
) /* name on <var108:nullable Object(MParameter)>*/;
6483 var111
= varonce110
;
6485 var112
= "\'. found ";
6487 var114
= string__NativeString__to_s_with_length(var112
, var113
);
6489 varonce110
= var111
;
6492 var116
= varonce115
;
6494 var117
= ", expected ";
6496 var119
= string__NativeString__to_s_with_length(var117
, var118
);
6498 varonce115
= var116
;
6501 var121
= varonce120
;
6505 var124
= string__NativeString__to_s_with_length(var122
, var123
);
6507 varonce120
= var121
;
6509 var125
= NEW_array__Array(&type_array__Arraykernel__Object
);
6510 { /* var125 = array_instance Array[Object] */
6512 var127
= NEW_array__NativeArray(var126
, &type_array__NativeArraykernel__Object
);
6513 ((struct instance_array__NativeArray
*)var127
)->values
[0] = (val
*) var103
;
6514 ((struct instance_array__NativeArray
*)var127
)->values
[1] = (val
*) var109
;
6515 ((struct instance_array__NativeArray
*)var127
)->values
[2] = (val
*) var111
;
6516 ((struct instance_array__NativeArray
*)var127
)->values
[3] = (val
*) var_myt
;
6517 ((struct instance_array__NativeArray
*)var127
)->values
[4] = (val
*) var116
;
6518 ((struct instance_array__NativeArray
*)var127
)->values
[5] = (val
*) var_prt
;
6519 ((struct instance_array__NativeArray
*)var127
)->values
[6] = (val
*) var121
;
6520 ((void (*)(val
*, val
*, long))(var125
->class->vft
[COLOR_array__Array__with_native
]))(var125
, var127
, var126
) /* with_native on <var125:Array[Object]>*/;
6521 CHECK_NEW_array__Array(var125
);
6523 var128
= ((val
* (*)(val
*))(var125
->class->vft
[COLOR_string__Object__to_s
]))(var125
) /* to_s on <var125:Array[Object]>*/;
6524 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, var_node101
, var128
) /* error on <var_modelbuilder:ModelBuilder>*/;
6527 CONTINUE_label
: (void)0;
6528 ((void (*)(val
*))(var79
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var79
) /* next on <var79:Iterator[nullable Object]>*/;
6530 BREAK_label
: (void)0;
6534 if (var_precursor_ret_type
== NULL
) {
6535 var130
= 0; /* is null */
6537 var130
= 1; /* arg is null and recv is not */
6541 if (var_ret_type
== NULL
) {
6542 var132
= 1; /* is null */
6544 var132
= 0; /* arg is null but recv is not */
6547 var_ret_type
= var_precursor_ret_type
;
6549 var133
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef>*/;
6550 if (var133
== NULL
) {
6551 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
6552 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 813);
6555 var134
= ((val
* (*)(val
*))(var133
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var133
) /* bound_mtype on <var133:nullable MClassDef>*/;
6557 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)>*/;
6561 if (var_nsig
== NULL
) {
6562 var138
= 0; /* is null */
6564 var138
= 1; /* arg is null and recv is not */
6567 var_node139
= var_nsig
;
6572 var141
= varonce140
;
6574 var142
= "Redef Error: Wrong return type. found ";
6576 var144
= string__NativeString__to_s_with_length(var142
, var143
);
6578 varonce140
= var141
;
6581 var146
= varonce145
;
6583 var147
= ", expected ";
6585 var149
= string__NativeString__to_s_with_length(var147
, var148
);
6587 varonce145
= var146
;
6590 var151
= varonce150
;
6594 var154
= string__NativeString__to_s_with_length(var152
, var153
);
6596 varonce150
= var151
;
6598 var155
= NEW_array__Array(&type_array__Arraykernel__Object
);
6599 { /* var155 = array_instance Array[Object] */
6601 var157
= NEW_array__NativeArray(var156
, &type_array__NativeArraykernel__Object
);
6602 ((struct instance_array__NativeArray
*)var157
)->values
[0] = (val
*) var141
;
6603 ((struct instance_array__NativeArray
*)var157
)->values
[1] = (val
*) var_ret_type
;
6604 ((struct instance_array__NativeArray
*)var157
)->values
[2] = (val
*) var146
;
6605 ((struct instance_array__NativeArray
*)var157
)->values
[3] = (val
*) var_precursor_ret_type
;
6606 ((struct instance_array__NativeArray
*)var157
)->values
[4] = (val
*) var151
;
6607 ((void (*)(val
*, val
*, long))(var155
->class->vft
[COLOR_array__Array__with_native
]))(var155
, var157
, var156
) /* with_native on <var155:Array[Object]>*/;
6608 CHECK_NEW_array__Array(var155
);
6610 var158
= ((val
* (*)(val
*))(var155
->class->vft
[COLOR_string__Object__to_s
]))(var155
) /* to_s on <var155:Array[Object]>*/;
6611 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, var_node139
, var158
) /* error on <var_modelbuilder:ModelBuilder>*/;
6621 /* method modelize_property#AAttrPropdef#check_method_signature for (self: Object, ModelBuilder, AClassdef, MMethodDef) */
6622 void VIRTUAL_modelize_property__AAttrPropdef__check_method_signature(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
6623 modelize_property__AAttrPropdef__check_method_signature(self
, p0
, p1
, p2
);
6626 /* method modelize_property#ATypePropdef#build_property for (self: ATypePropdef, ModelBuilder, AClassdef) */
6627 void modelize_property__ATypePropdef__build_property(val
* self
, val
* p0
, val
* p1
) {
6628 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
6629 val
* var_nclassdef
/* var nclassdef: AClassdef */;
6630 val
* var
/* : nullable MClassDef */;
6631 val
* var_mclassdef
/* var mclassdef: MClassDef */;
6632 val
* var1
/* : TClassid */;
6633 val
* var2
/* : String */;
6634 val
* var_name
/* var name: String */;
6635 val
* var3
/* : TClassid */;
6636 val
* var4
/* : nullable MProperty */;
6637 val
* var_mprop
/* var mprop: nullable MProperty */;
6638 val
* var5
/* : null */;
6639 short int var6
/* : Bool */;
6640 val
* var7
/* : AVisibility */;
6641 val
* var8
/* : MVisibility */;
6642 val
* var_mvisibility
/* var mvisibility: MVisibility */;
6643 val
* var9
/* : MVirtualTypeProp */;
6644 val
* var10
/* : Iterator[nullable Object] */;
6645 short int var11
/* : Bool */;
6646 val
* var12
/* : nullable Object */;
6647 char var_c
/* var c: Char */;
6648 char var13
/* : Char */;
6649 short int var14
/* : Bool */;
6650 char var15
/* : Char */;
6651 short int var16
/* : Bool */;
6652 short int var18
/* : Bool */;
6655 const char* var_class_name
;
6656 short int var19
/* : Bool */;
6657 short int var_
/* var : Bool */;
6658 char var20
/* : Char */;
6659 short int var21
/* : Bool */;
6660 short int var23
/* : Bool */;
6663 const char* var_class_name26
;
6664 short int var27
/* : Bool */;
6665 val
* var28
/* : TClassid */;
6666 static val
* varonce
;
6667 val
* var29
/* : String */;
6668 char* var30
/* : NativeString */;
6669 long var31
/* : Int */;
6670 val
* var32
/* : String */;
6671 val
* var33
/* : Array[Object] */;
6672 long var34
/* : Int */;
6673 val
* var35
/* : NativeArray[Object] */;
6674 val
* var36
/* : String */;
6675 val
* var37
/* : nullable TKwredef */;
6676 short int var38
/* : Bool */;
6677 short int var39
/* : Bool */;
6678 short int var40
/* : Bool */;
6679 val
* var41
/* : nullable TKwredef */;
6680 short int var42
/* : Bool */;
6681 short int var43
/* : Bool */;
6682 short int var44
/* : Bool */;
6683 short int var45
/* : Bool */;
6686 val
* var48
/* : AVisibility */;
6687 val
* var49
/* : Map[MProperty, APropdef] */;
6688 val
* var50
/* : MVirtualTypeDef */;
6689 val
* var51
/* : Location */;
6690 val
* var_mpropdef
/* var mpropdef: MVirtualTypeDef */;
6691 short int var52
/* : Bool */;
6694 const struct type
* type_struct
;
6695 const char* var_class_name55
;
6696 var_modelbuilder
= p0
;
6698 var
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef>*/;
6700 fprintf(stderr
, "Runtime error: %s", "Cast failed");
6701 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 828);
6704 var_mclassdef
= var
;
6705 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ATypePropdef__n_id
]))(self
) /* n_id on <self:ATypePropdef>*/;
6706 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_parser_nodes__Token__text
]))(var1
) /* text on <var1:TClassid>*/;
6708 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ATypePropdef__n_id
]))(self
) /* n_id on <self:ATypePropdef>*/;
6709 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>*/;
6712 if (var_mprop
== NULL
) {
6713 var6
= 1; /* is null */
6715 var6
= 0; /* arg is null but recv is not */
6718 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ATypePropdef__n_visibility
]))(self
) /* n_visibility on <self:ATypePropdef>*/;
6719 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>*/;
6720 var_mvisibility
= var8
;
6721 var9
= NEW_model__MVirtualTypeProp(&type_model__MVirtualTypeProp
);
6722 ((void (*)(val
*, val
*, val
*, val
*))(var9
->class->vft
[COLOR_model__MVirtualTypeProp__init
]))(var9
, var_mclassdef
, var_name
, var_mvisibility
) /* init on <var9:MVirtualTypeProp>*/;
6723 CHECK_NEW_model__MVirtualTypeProp(var9
);
6725 var10
= ((val
* (*)(val
*))(var_name
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_name
) /* iterator on <var_name:String>*/;
6727 var11
= ((short int (*)(val
*))(var10
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var10
) /* is_ok on <var10:Iterator[nullable Object]>*/;
6729 var12
= ((val
* (*)(val
*))(var10
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var10
) /* item on <var10:Iterator[nullable Object]>*/;
6730 var13
= ((struct instance_kernel__Char
*)var12
)->value
; /* autounbox from nullable Object to Char */;
6733 { /* Inline kernel#Char#>= (var_c,var15) */
6734 /* Covariant cast for argument 0 (i) <var15:Char> isa OTHER */
6735 /* <var15:Char> isa OTHER */
6736 var18
= 1; /* easy <var15:Char> isa OTHER*/
6738 var_class_name
= type_kernel__Char
.name
;
6739 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
6740 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 438);
6743 var19
= var_c
>= var15
;
6746 RET_LABEL17
:(void)0;
6751 { /* Inline kernel#Char#<= (var_c,var20) */
6752 /* Covariant cast for argument 0 (i) <var20:Char> isa OTHER */
6753 /* <var20:Char> isa OTHER */
6754 var23
= 1; /* easy <var20:Char> isa OTHER*/
6756 var_class_name26
= type_kernel__Char
.name
;
6757 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name26
);
6758 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 436);
6761 var27
= var_c
<= var20
;
6764 RET_LABEL22
:(void)0;
6771 var28
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ATypePropdef__n_id
]))(self
) /* n_id on <self:ATypePropdef>*/;
6775 var30
= "Warning: lowercase in the virtual type ";
6777 var32
= string__NativeString__to_s_with_length(var30
, var31
);
6781 var33
= NEW_array__Array(&type_array__Arraykernel__Object
);
6782 { /* var33 = array_instance Array[Object] */
6784 var35
= NEW_array__NativeArray(var34
, &type_array__NativeArraykernel__Object
);
6785 ((struct instance_array__NativeArray
*)var35
)->values
[0] = (val
*) var29
;
6786 ((struct instance_array__NativeArray
*)var35
)->values
[1] = (val
*) var_name
;
6787 ((void (*)(val
*, val
*, long))(var33
->class->vft
[COLOR_array__Array__with_native
]))(var33
, var35
, var34
) /* with_native on <var33:Array[Object]>*/;
6788 CHECK_NEW_array__Array(var33
);
6790 var36
= ((val
* (*)(val
*))(var33
->class->vft
[COLOR_string__Object__to_s
]))(var33
) /* to_s on <var33:Array[Object]>*/;
6791 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__warning
]))(var_modelbuilder
, var28
, var36
) /* warning on <var_modelbuilder:ModelBuilder>*/;
6795 CONTINUE_label
: (void)0;
6796 ((void (*)(val
*))(var10
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var10
) /* next on <var10:Iterator[nullable Object]>*/;
6798 BREAK_label
: (void)0;
6799 var37
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ATypePropdef__n_kwredef
]))(self
) /* n_kwredef on <self:ATypePropdef>*/;
6801 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>*/;
6808 var41
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ATypePropdef__n_kwredef
]))(self
) /* n_kwredef on <self:ATypePropdef>*/;
6810 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>*/;
6816 /* <var_mprop:nullable MProperty(MProperty)> isa MVirtualTypeProp */
6817 cltype46
= type_model__MVirtualTypeProp
.color
;
6818 idtype47
= type_model__MVirtualTypeProp
.id
;
6819 if(cltype46
>= var_mprop
->type
->table_size
) {
6822 var45
= var_mprop
->type
->type_table
[cltype46
] == idtype47
;
6825 fprintf(stderr
, "Runtime error: %s", "Assert failed");
6826 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 841);
6829 var48
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ATypePropdef__n_visibility
]))(self
) /* n_visibility on <self:ATypePropdef>*/;
6830 ((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>*/;
6832 var49
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_property__AClassdef__mprop2npropdef
]))(var_nclassdef
) /* mprop2npropdef on <var_nclassdef:AClassdef>*/;
6833 ((void (*)(val
*, val
*, val
*))(var49
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var49
, var_mprop
, self
) /* []= on <var49:Map[MProperty, APropdef]>*/;
6834 var50
= NEW_model__MVirtualTypeDef(&type_model__MVirtualTypeDef
);
6835 var51
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__location
]))(self
) /* location on <self:ATypePropdef>*/;
6836 ((void (*)(val
*, val
*, val
*, val
*))(var50
->class->vft
[COLOR_model__MVirtualTypeDef__init
]))(var50
, var_mclassdef
, var_mprop
, var51
) /* init on <var50:MVirtualTypeDef>*/;
6837 CHECK_NEW_model__MVirtualTypeDef(var50
);
6838 var_mpropdef
= var50
;
6839 /* <var_mpropdef:MVirtualTypeDef> isa nullable MPROPDEF */
6840 type_struct
= self
->type
->resolution_table
->types
[COLOR_parser_nodes__APropdef_VTMPROPDEF
];
6841 cltype53
= type_struct
->color
;
6842 idtype54
= type_struct
->id
;
6843 if(cltype53
>= var_mpropdef
->type
->table_size
) {
6846 var52
= var_mpropdef
->type
->type_table
[cltype53
] == idtype54
;
6849 var_class_name55
= var_mpropdef
== NULL ?
"null" : var_mpropdef
->type
->name
;
6850 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name55
);
6851 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 847);
6854 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__mpropdef_61d
]))(self
, var_mpropdef
) /* mpropdef= on <self:ATypePropdef>*/;
6857 /* method modelize_property#ATypePropdef#build_property for (self: Object, ModelBuilder, AClassdef) */
6858 void VIRTUAL_modelize_property__ATypePropdef__build_property(val
* self
, val
* p0
, val
* p1
) {
6859 modelize_property__ATypePropdef__build_property(self
, p0
, p1
);
6862 /* method modelize_property#ATypePropdef#build_signature for (self: ATypePropdef, ModelBuilder, AClassdef) */
6863 void modelize_property__ATypePropdef__build_signature(val
* self
, val
* p0
, val
* p1
) {
6864 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
6865 val
* var_nclassdef
/* var nclassdef: AClassdef */;
6866 val
* var
/* : nullable MPropDef */;
6867 val
* var_mpropdef
/* var mpropdef: nullable MVirtualTypeDef */;
6868 val
* var1
/* : null */;
6869 short int var2
/* : Bool */;
6870 val
* var3
/* : MClassDef */;
6871 val
* var4
/* : MModule */;
6872 val
* var_mmodule
/* var mmodule: MModule */;
6873 val
* var5
/* : null */;
6874 val
* var_mtype
/* var mtype: nullable MType */;
6875 val
* var6
/* : AType */;
6876 val
* var_ntype
/* var ntype: AType */;
6877 val
* var7
/* : nullable MType */;
6878 val
* var8
/* : null */;
6879 short int var9
/* : Bool */;
6880 var_modelbuilder
= p0
;
6882 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__mpropdef
]))(self
) /* mpropdef on <self:ATypePropdef>*/;
6885 if (var_mpropdef
== NULL
) {
6886 var2
= 1; /* is null */
6888 var2
= 0; /* arg is null but recv is not */
6894 var3
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var_mpropdef
) /* mclassdef on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)>*/;
6895 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_model__MClassDef__mmodule
]))(var3
) /* mmodule on <var3:MClassDef>*/;
6899 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ATypePropdef__n_type
]))(self
) /* n_type on <self:ATypePropdef>*/;
6901 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>*/;
6904 if (var_mtype
== NULL
) {
6905 var9
= 1; /* is null */
6907 var9
= 0; /* arg is null but recv is not */
6913 ((void (*)(val
*, val
*))(var_mpropdef
->class->vft
[COLOR_model__MVirtualTypeDef__bound_61d
]))(var_mpropdef
, var_mtype
) /* bound= on <var_mpropdef:nullable MVirtualTypeDef(MVirtualTypeDef)>*/;
6916 /* method modelize_property#ATypePropdef#build_signature for (self: Object, ModelBuilder, AClassdef) */
6917 void VIRTUAL_modelize_property__ATypePropdef__build_signature(val
* self
, val
* p0
, val
* p1
) {
6918 modelize_property__ATypePropdef__build_signature(self
, p0
, p1
);
6921 /* method modelize_property#ATypePropdef#check_signature for (self: ATypePropdef, ModelBuilder, AClassdef) */
6922 void modelize_property__ATypePropdef__check_signature(val
* self
, val
* p0
, val
* p1
) {
6923 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
6924 val
* var_nclassdef
/* var nclassdef: AClassdef */;
6925 val
* var
/* : nullable MPropDef */;
6926 val
* var1
/* : nullable MType */;
6927 val
* var_bound
/* var bound: nullable MType */;
6928 short int var2
/* : Bool */;
6931 short int var3
/* : Bool */;
6932 val
* var4
/* : nullable MClassDef */;
6933 val
* var5
/* : MModule */;
6934 val
* var_mmodule
/* var mmodule: MModule */;
6935 val
* var6
/* : nullable MClassDef */;
6936 val
* var7
/* : MClassType */;
6937 val
* var_anchor
/* var anchor: MClassType */;
6938 val
* var8
/* : Array[MVirtualType] */;
6939 long var9
/* : Int */;
6940 val
* var_
/* var : Array[MVirtualType] */;
6941 val
* var10
/* : nullable MPropDef */;
6942 val
* var11
/* : MProperty */;
6943 val
* var12
/* : MVirtualType */;
6944 val
* var_seen
/* var seen: Array[MVirtualType] */;
6945 short int var13
/* : Bool */;
6946 static val
* varonce
;
6947 val
* var14
/* : String */;
6948 char* var15
/* : NativeString */;
6949 long var16
/* : Int */;
6950 val
* var17
/* : String */;
6951 static val
* varonce18
;
6952 val
* var19
/* : String */;
6953 char* var20
/* : NativeString */;
6954 long var21
/* : Int */;
6955 val
* var22
/* : String */;
6956 val
* var23
/* : String */;
6957 val
* var24
/* : Array[Object] */;
6958 long var25
/* : Int */;
6959 val
* var26
/* : NativeArray[Object] */;
6960 val
* var27
/* : String */;
6961 val
* var28
/* : MType */;
6962 val
* var_next
/* var next: MType */;
6963 short int var29
/* : Bool */;
6966 short int var32
/* : Bool */;
6967 var_modelbuilder
= p0
;
6969 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__mpropdef
]))(self
) /* mpropdef on <self:ATypePropdef>*/;
6971 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
6972 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 867);
6975 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_model__MVirtualTypeDef__bound
]))(var
) /* bound on <var:nullable MPropDef(nullable MVirtualTypeDef)>*/;
6978 /* <var_bound:nullable MType> isa MVirtualType */
6979 cltype
= type_model__MVirtualType
.color
;
6980 idtype
= type_model__MVirtualType
.id
;
6981 if(var_bound
== NULL
) {
6984 if(cltype
>= var_bound
->type
->table_size
) {
6987 var2
= var_bound
->type
->type_table
[cltype
] == idtype
;
6995 var4
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef>*/;
6997 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
6998 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 872);
7001 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_model__MClassDef__mmodule
]))(var4
) /* mmodule on <var4:nullable MClassDef>*/;
7004 var6
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var_nclassdef
) /* mclassdef on <var_nclassdef:AClassdef>*/;
7006 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
7007 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 873);
7010 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var6
) /* bound_mtype on <var6:nullable MClassDef>*/;
7013 var8
= NEW_array__Array(&type_array__Arraymodel__MVirtualType
);
7015 ((void (*)(val
*, long))(var8
->class->vft
[COLOR_array__Array__with_capacity
]))(var8
, var9
) /* with_capacity on <var8:Array[MVirtualType]>*/;
7016 CHECK_NEW_array__Array(var8
);
7018 var10
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__mpropdef
]))(self
) /* mpropdef on <self:ATypePropdef>*/;
7019 if (var10
== NULL
) {
7020 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
7021 fprintf(stderr
, " (%s:%d)\n", "src/modelize_property.nit", 876);
7024 var11
= ((val
* (*)(val
*))(var10
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var10
) /* mproperty on <var10:nullable MPropDef(nullable MVirtualTypeDef)>*/;
7026 var12
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_model__MVirtualTypeProp__mvirtualtype
]))(var11
) /* mvirtualtype on <var11:MProperty(MVirtualTypeProp)>*/;
7027 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__Sequence__push
]))(var_
, var12
) /* push on <var_:Array[MVirtualType]>*/;
7030 var13
= ((short int (*)(val
*, val
*))(var_seen
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var_seen
, var_bound
) /* has on <var_seen:Array[MVirtualType]>*/;
7032 ((void (*)(val
*, val
*))(var_seen
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_seen
, var_bound
) /* add on <var_seen:Array[MVirtualType]>*/;
7036 var15
= "Error: circularity of virtual type definition: ";
7038 var17
= string__NativeString__to_s_with_length(var15
, var16
);
7047 var22
= string__NativeString__to_s_with_length(var20
, var21
);
7051 var23
= ((val
* (*)(val
*, val
*))(var_seen
->class->vft
[COLOR_string__Collection__join
]))(var_seen
, var19
) /* join on <var_seen:Array[MVirtualType]>*/;
7052 var24
= NEW_array__Array(&type_array__Arraykernel__Object
);
7053 { /* var24 = array_instance Array[Object] */
7055 var26
= NEW_array__NativeArray(var25
, &type_array__NativeArraykernel__Object
);
7056 ((struct instance_array__NativeArray
*)var26
)->values
[0] = (val
*) var14
;
7057 ((struct instance_array__NativeArray
*)var26
)->values
[1] = (val
*) var23
;
7058 ((void (*)(val
*, val
*, long))(var24
->class->vft
[COLOR_array__Array__with_native
]))(var24
, var26
, var25
) /* with_native on <var24:Array[Object]>*/;
7059 CHECK_NEW_array__Array(var24
);
7061 var27
= ((val
* (*)(val
*))(var24
->class->vft
[COLOR_string__Object__to_s
]))(var24
) /* to_s on <var24:Array[Object]>*/;
7062 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, self
, var27
) /* error on <var_modelbuilder:ModelBuilder>*/;
7066 ((void (*)(val
*, val
*))(var_seen
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_seen
, var_bound
) /* add on <var_seen:Array[MVirtualType]>*/;
7067 var28
= ((val
* (*)(val
*, val
*, val
*))(var_bound
->class->vft
[COLOR_model__MVirtualType__lookup_bound
]))(var_bound
, var_mmodule
, var_anchor
) /* lookup_bound on <var_bound:nullable MType(MVirtualType)>*/;
7069 /* <var_next:MType> isa MVirtualType */
7070 cltype30
= type_model__MVirtualType
.color
;
7071 idtype31
= type_model__MVirtualType
.id
;
7072 if(cltype30
>= var_next
->type
->table_size
) {
7075 var29
= var_next
->type
->type_table
[cltype30
] == idtype31
;
7082 var_bound
= var_next
;
7083 CONTINUE_label
: (void)0;
7085 BREAK_label
: (void)0;
7088 /* method modelize_property#ATypePropdef#check_signature for (self: Object, ModelBuilder, AClassdef) */
7089 void VIRTUAL_modelize_property__ATypePropdef__check_signature(val
* self
, val
* p0
, val
* p1
) {
7090 modelize_property__ATypePropdef__check_signature(self
, p0
, p1
);