1 #include "abstract_compiler.sep.0.h"
2 /* method abstract_compiler#AbstractCompilerVisitor#names for (self: AbstractCompilerVisitor): HashSet[String] */
3 val
* abstract_compiler__AbstractCompilerVisitor__names(val
* self
) {
4 val
* var
/* : HashSet[String] */;
5 val
* var1
/* : HashSet[String] */;
6 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dnames
].val
; /* @names on <self:AbstractCompilerVisitor> */
8 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @names");
9 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 943);
16 /* method abstract_compiler#AbstractCompilerVisitor#names for (self: Object): HashSet[String] */
17 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__names(val
* self
) {
18 val
* var
/* : HashSet[String] */;
19 val
* var1
/* : HashSet[String] */;
20 var1
= abstract_compiler__AbstractCompilerVisitor__names(self
);
25 /* method abstract_compiler#AbstractCompilerVisitor#names= for (self: AbstractCompilerVisitor, HashSet[String]) */
26 void abstract_compiler__AbstractCompilerVisitor__names_61d(val
* self
, val
* p0
) {
27 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dnames
].val
= p0
; /* @names on <self:AbstractCompilerVisitor> */
30 /* method abstract_compiler#AbstractCompilerVisitor#names= for (self: Object, HashSet[String]) */
31 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__names_61d(val
* self
, val
* p0
) {
32 abstract_compiler__AbstractCompilerVisitor__names_61d(self
, p0
);
35 /* method abstract_compiler#AbstractCompilerVisitor#last for (self: AbstractCompilerVisitor): Int */
36 long abstract_compiler__AbstractCompilerVisitor__last(val
* self
) {
38 long var1
/* : Int */;
39 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dlast
].l
; /* @last on <self:AbstractCompilerVisitor> */
44 /* method abstract_compiler#AbstractCompilerVisitor#last for (self: Object): Int */
45 long VIRTUAL_abstract_compiler__AbstractCompilerVisitor__last(val
* self
) {
47 long var1
/* : Int */;
48 var1
= abstract_compiler__AbstractCompilerVisitor__last(self
);
53 /* method abstract_compiler#AbstractCompilerVisitor#last= for (self: AbstractCompilerVisitor, Int) */
54 void abstract_compiler__AbstractCompilerVisitor__last_61d(val
* self
, long p0
) {
55 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dlast
].l
= p0
; /* @last on <self:AbstractCompilerVisitor> */
58 /* method abstract_compiler#AbstractCompilerVisitor#last= for (self: Object, Int) */
59 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__last_61d(val
* self
, long p0
) {
60 abstract_compiler__AbstractCompilerVisitor__last_61d(self
, p0
);
63 /* method abstract_compiler#AbstractCompilerVisitor#get_name for (self: AbstractCompilerVisitor, String): String */
64 val
* abstract_compiler__AbstractCompilerVisitor__get_name(val
* self
, val
* p0
) {
65 val
* var
/* : String */;
66 val
* var_s
/* var s: String */;
67 val
* var1
/* : HashSet[String] */;
68 short int var2
/* : Bool */;
69 short int var3
/* : Bool */;
70 val
* var4
/* : HashSet[String] */;
71 long var5
/* : Int */;
72 long var6
/* : Int */;
73 long var7
/* : Int */;
74 long var9
/* : Int */;
75 long var_i
/* var i: Int */;
76 val
* var10
/* : String */;
77 val
* var11
/* : String */;
78 val
* var_s2
/* var s2: String */;
79 val
* var12
/* : HashSet[String] */;
80 short int var13
/* : Bool */;
81 short int var14
/* : Bool */;
82 val
* var15
/* : HashSet[String] */;
83 long var16
/* : Int */;
84 long var17
/* : Int */;
85 long var19
/* : Int */;
87 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__names
]))(self
) /* names on <self:AbstractCompilerVisitor>*/;
88 var2
= ((short int (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var1
, var_s
) /* has on <var1:HashSet[String]>*/;
91 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__names
]))(self
) /* names on <self:AbstractCompilerVisitor>*/;
92 ((void (*)(val
*, val
*))(var4
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var4
, var_s
) /* add on <var4:HashSet[String]>*/;
97 var5
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__last
]))(self
) /* last on <self:AbstractCompilerVisitor>*/;
99 { /* Inline kernel#Int#+ (var5,var6) */
107 var10
= string__Int__to_s(var_i
);
108 var11
= ((val
* (*)(val
*, val
*))(var_s
->class->vft
[COLOR_string__String___43d
]))(var_s
, var10
) /* + on <var_s:String>*/;
110 var12
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__names
]))(self
) /* names on <self:AbstractCompilerVisitor>*/;
111 var13
= ((short int (*)(val
*, val
*))(var12
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var12
, var_s2
) /* has on <var12:HashSet[String]>*/;
114 ((void (*)(val
*, long))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__last_61d
]))(self
, var_i
) /* last= on <self:AbstractCompilerVisitor>*/;
115 var15
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__names
]))(self
) /* names on <self:AbstractCompilerVisitor>*/;
116 ((void (*)(val
*, val
*))(var15
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var15
, var_s2
) /* add on <var15:HashSet[String]>*/;
122 { /* Inline kernel#Int#+ (var_i,var16) */
123 var19
= var_i
+ var16
;
129 CONTINUE_label
: (void)0;
131 BREAK_label
: (void)0;
135 /* method abstract_compiler#AbstractCompilerVisitor#get_name for (self: Object, String): String */
136 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__get_name(val
* self
, val
* p0
) {
137 val
* var
/* : String */;
138 val
* var1
/* : String */;
139 var1
= abstract_compiler__AbstractCompilerVisitor__get_name(self
, p0
);
144 /* method abstract_compiler#AbstractCompilerVisitor#escapemark_name for (self: AbstractCompilerVisitor, nullable EscapeMark): String */
145 val
* abstract_compiler__AbstractCompilerVisitor__escapemark_name(val
* self
, val
* p0
) {
146 val
* var
/* : String */;
147 val
* var_e
/* var e: nullable EscapeMark */;
148 val
* var1
/* : null */;
149 short int var2
/* : Bool */;
150 val
* var3
/* : HashMap[EscapeMark, String] */;
151 short int var4
/* : Bool */;
152 val
* var5
/* : HashMap[EscapeMark, String] */;
153 val
* var6
/* : nullable Object */;
154 val
* var7
/* : nullable String */;
155 val
* var_name
/* var name: nullable String */;
156 val
* var8
/* : null */;
157 short int var9
/* : Bool */;
159 val
* var10
/* : String */;
160 char* var11
/* : NativeString */;
161 long var12
/* : Int */;
162 val
* var13
/* : String */;
163 val
* var14
/* : String */;
164 val
* var15
/* : HashMap[EscapeMark, String] */;
168 var2
= 0; /* is null */
170 var2
= 1; /* arg is null and recv is not */
173 fprintf(stderr
, "Runtime error: %s", "Assert failed");
174 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 968);
177 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__escapemark_names
]))(self
) /* escapemark_names on <self:AbstractCompilerVisitor>*/;
178 var4
= ((short int (*)(val
*, val
*))(var3
->class->vft
[COLOR_abstract_collection__MapRead__has_key
]))(var3
, var_e
) /* has_key on <var3:HashMap[EscapeMark, String]>*/;
180 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__escapemark_names
]))(self
) /* escapemark_names on <self:AbstractCompilerVisitor>*/;
181 var6
= ((val
* (*)(val
*, val
*))(var5
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var5
, var_e
) /* [] on <var5:HashMap[EscapeMark, String]>*/;
186 var7
= ((val
* (*)(val
*))(var_e
->class->vft
[COLOR_scope__EscapeMark__name
]))(var_e
) /* name on <var_e:nullable EscapeMark(EscapeMark)>*/;
189 if (var_name
== NULL
) {
190 var9
= 1; /* is null */
192 var9
= 0; /* arg is null but recv is not */
200 var13
= string__NativeString__to_s_with_length(var11
, var12
);
207 var14
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_name
]))(self
, var_name
) /* get_name on <self:AbstractCompilerVisitor>*/;
209 var15
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__escapemark_names
]))(self
) /* escapemark_names on <self:AbstractCompilerVisitor>*/;
210 ((void (*)(val
*, val
*, val
*))(var15
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var15
, var_e
, var_name
) /* []= on <var15:HashMap[EscapeMark, String]>*/;
216 /* method abstract_compiler#AbstractCompilerVisitor#escapemark_name for (self: Object, nullable EscapeMark): String */
217 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__escapemark_name(val
* self
, val
* p0
) {
218 val
* var
/* : String */;
219 val
* var1
/* : String */;
220 var1
= abstract_compiler__AbstractCompilerVisitor__escapemark_name(self
, p0
);
225 /* method abstract_compiler#AbstractCompilerVisitor#escapemark_names for (self: AbstractCompilerVisitor): HashMap[EscapeMark, String] */
226 val
* abstract_compiler__AbstractCompilerVisitor__escapemark_names(val
* self
) {
227 val
* var
/* : HashMap[EscapeMark, String] */;
228 val
* var1
/* : HashMap[EscapeMark, String] */;
229 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64descapemark_names
].val
; /* @escapemark_names on <self:AbstractCompilerVisitor> */
231 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @escapemark_names");
232 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 977);
239 /* method abstract_compiler#AbstractCompilerVisitor#escapemark_names for (self: Object): HashMap[EscapeMark, String] */
240 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__escapemark_names(val
* self
) {
241 val
* var
/* : HashMap[EscapeMark, String] */;
242 val
* var1
/* : HashMap[EscapeMark, String] */;
243 var1
= abstract_compiler__AbstractCompilerVisitor__escapemark_names(self
);
248 /* method abstract_compiler#AbstractCompilerVisitor#escapemark_names= for (self: AbstractCompilerVisitor, HashMap[EscapeMark, String]) */
249 void abstract_compiler__AbstractCompilerVisitor__escapemark_names_61d(val
* self
, val
* p0
) {
250 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64descapemark_names
].val
= p0
; /* @escapemark_names on <self:AbstractCompilerVisitor> */
253 /* method abstract_compiler#AbstractCompilerVisitor#escapemark_names= for (self: Object, HashMap[EscapeMark, String]) */
254 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__escapemark_names_61d(val
* self
, val
* p0
) {
255 abstract_compiler__AbstractCompilerVisitor__escapemark_names_61d(self
, p0
);
258 /* method abstract_compiler#AbstractCompilerVisitor#class_name_string for (self: AbstractCompilerVisitor, RuntimeVariable): String */
259 val
* abstract_compiler__AbstractCompilerVisitor__class_name_string(val
* self
, val
* p0
) {
260 val
* var
/* : String */;
261 const char* var_class_name
;
262 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
263 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "class_name_string", var_class_name
);
264 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 979);
269 /* method abstract_compiler#AbstractCompilerVisitor#class_name_string for (self: Object, RuntimeVariable): String */
270 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__class_name_string(val
* self
, val
* p0
) {
271 val
* var
/* : String */;
272 val
* var1
/* : String */;
273 var1
= abstract_compiler__AbstractCompilerVisitor__class_name_string(self
, p0
);
278 /* method abstract_compiler#AbstractCompilerVisitor#variables for (self: AbstractCompilerVisitor): HashMap[Variable, RuntimeVariable] */
279 val
* abstract_compiler__AbstractCompilerVisitor__variables(val
* self
) {
280 val
* var
/* : HashMap[Variable, RuntimeVariable] */;
281 val
* var1
/* : HashMap[Variable, RuntimeVariable] */;
282 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dvariables
].val
; /* @variables on <self:AbstractCompilerVisitor> */
284 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @variables");
285 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 985);
292 /* method abstract_compiler#AbstractCompilerVisitor#variables for (self: Object): HashMap[Variable, RuntimeVariable] */
293 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__variables(val
* self
) {
294 val
* var
/* : HashMap[Variable, RuntimeVariable] */;
295 val
* var1
/* : HashMap[Variable, RuntimeVariable] */;
296 var1
= abstract_compiler__AbstractCompilerVisitor__variables(self
);
301 /* method abstract_compiler#AbstractCompilerVisitor#variables= for (self: AbstractCompilerVisitor, HashMap[Variable, RuntimeVariable]) */
302 void abstract_compiler__AbstractCompilerVisitor__variables_61d(val
* self
, val
* p0
) {
303 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dvariables
].val
= p0
; /* @variables on <self:AbstractCompilerVisitor> */
306 /* method abstract_compiler#AbstractCompilerVisitor#variables= for (self: Object, HashMap[Variable, RuntimeVariable]) */
307 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__variables_61d(val
* self
, val
* p0
) {
308 abstract_compiler__AbstractCompilerVisitor__variables_61d(self
, p0
);
311 /* method abstract_compiler#AbstractCompilerVisitor#variable for (self: AbstractCompilerVisitor, Variable): RuntimeVariable */
312 val
* abstract_compiler__AbstractCompilerVisitor__variable(val
* self
, val
* p0
) {
313 val
* var
/* : RuntimeVariable */;
314 val
* var_variable
/* var variable: Variable */;
315 val
* var1
/* : HashMap[Variable, RuntimeVariable] */;
316 short int var2
/* : Bool */;
317 val
* var3
/* : HashMap[Variable, RuntimeVariable] */;
318 val
* var4
/* : nullable Object */;
320 val
* var5
/* : String */;
321 char* var6
/* : NativeString */;
322 long var7
/* : Int */;
323 val
* var8
/* : String */;
324 val
* var9
/* : String */;
325 val
* var10
/* : Array[Object] */;
326 long var11
/* : Int */;
327 val
* var12
/* : NativeArray[Object] */;
328 val
* var13
/* : String */;
329 val
* var14
/* : String */;
330 val
* var_name
/* var name: String */;
331 val
* var15
/* : nullable MType */;
332 val
* var_mtype
/* var mtype: MType */;
333 val
* var16
/* : MType */;
334 val
* var17
/* : RuntimeVariable */;
335 val
* var_res
/* var res: RuntimeVariable */;
336 val
* var18
/* : String */;
337 static val
* varonce19
;
338 val
* var20
/* : String */;
339 char* var21
/* : NativeString */;
340 long var22
/* : Int */;
341 val
* var23
/* : String */;
342 static val
* varonce24
;
343 val
* var25
/* : String */;
344 char* var26
/* : NativeString */;
345 long var27
/* : Int */;
346 val
* var28
/* : String */;
347 static val
* varonce29
;
348 val
* var30
/* : String */;
349 char* var31
/* : NativeString */;
350 long var32
/* : Int */;
351 val
* var33
/* : String */;
352 static val
* varonce34
;
353 val
* var35
/* : String */;
354 char* var36
/* : NativeString */;
355 long var37
/* : Int */;
356 val
* var38
/* : String */;
357 val
* var39
/* : Array[Object] */;
358 long var40
/* : Int */;
359 val
* var41
/* : NativeArray[Object] */;
360 val
* var42
/* : String */;
361 val
* var43
/* : HashMap[Variable, RuntimeVariable] */;
363 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__variables
]))(self
) /* variables on <self:AbstractCompilerVisitor>*/;
364 var2
= ((short int (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__MapRead__has_key
]))(var1
, var_variable
) /* has_key on <var1:HashMap[Variable, RuntimeVariable]>*/;
366 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__variables
]))(self
) /* variables on <self:AbstractCompilerVisitor>*/;
367 var4
= ((val
* (*)(val
*, val
*))(var3
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var3
, var_variable
) /* [] on <var3:HashMap[Variable, RuntimeVariable]>*/;
376 var8
= string__NativeString__to_s_with_length(var6
, var7
);
380 var9
= ((val
* (*)(val
*))(var_variable
->class->vft
[COLOR_scope__Variable__name
]))(var_variable
) /* name on <var_variable:Variable>*/;
381 var10
= NEW_array__Array(&type_array__Arraykernel__Object
);
382 { /* var10 = array_instance Array[Object] */
384 var12
= NEW_array__NativeArray(var11
, &type_array__NativeArraykernel__Object
);
385 ((struct instance_array__NativeArray
*)var12
)->values
[0] = (val
*) var5
;
386 ((struct instance_array__NativeArray
*)var12
)->values
[1] = (val
*) var9
;
387 ((void (*)(val
*, val
*, long))(var10
->class->vft
[COLOR_array__Array__with_native
]))(var10
, var12
, var11
) /* with_native on <var10:Array[Object]>*/;
389 var13
= ((val
* (*)(val
*))(var10
->class->vft
[COLOR_string__Object__to_s
]))(var10
) /* to_s on <var10:Array[Object]>*/;
390 var14
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_name
]))(self
, var13
) /* get_name on <self:AbstractCompilerVisitor>*/;
392 var15
= ((val
* (*)(val
*))(var_variable
->class->vft
[COLOR_typing__Variable__declared_type
]))(var_variable
) /* declared_type on <var_variable:Variable>*/;
394 fprintf(stderr
, "Runtime error: %s", "Cast failed");
395 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 994);
399 var16
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__anchor
]))(self
, var_mtype
) /* anchor on <self:AbstractCompilerVisitor>*/;
401 var17
= NEW_abstract_compiler__RuntimeVariable(&type_abstract_compiler__RuntimeVariable
);
402 ((void (*)(val
*, val
*, val
*, val
*))(var17
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__init
]))(var17
, var_name
, var_mtype
, var_mtype
) /* init on <var17:RuntimeVariable>*/;
404 var18
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
410 var23
= string__NativeString__to_s_with_length(var21
, var22
);
419 var28
= string__NativeString__to_s_with_length(var26
, var27
);
428 var33
= string__NativeString__to_s_with_length(var31
, var32
);
437 var38
= string__NativeString__to_s_with_length(var36
, var37
);
441 var39
= NEW_array__Array(&type_array__Arraykernel__Object
);
442 { /* var39 = array_instance Array[Object] */
444 var41
= NEW_array__NativeArray(var40
, &type_array__NativeArraykernel__Object
);
445 ((struct instance_array__NativeArray
*)var41
)->values
[0] = (val
*) var18
;
446 ((struct instance_array__NativeArray
*)var41
)->values
[1] = (val
*) var20
;
447 ((struct instance_array__NativeArray
*)var41
)->values
[2] = (val
*) var_name
;
448 ((struct instance_array__NativeArray
*)var41
)->values
[3] = (val
*) var25
;
449 ((struct instance_array__NativeArray
*)var41
)->values
[4] = (val
*) var_variable
;
450 ((struct instance_array__NativeArray
*)var41
)->values
[5] = (val
*) var30
;
451 ((struct instance_array__NativeArray
*)var41
)->values
[6] = (val
*) var_mtype
;
452 ((struct instance_array__NativeArray
*)var41
)->values
[7] = (val
*) var35
;
453 ((void (*)(val
*, val
*, long))(var39
->class->vft
[COLOR_array__Array__with_native
]))(var39
, var41
, var40
) /* with_native on <var39:Array[Object]>*/;
455 var42
= ((val
* (*)(val
*))(var39
->class->vft
[COLOR_string__Object__to_s
]))(var39
) /* to_s on <var39:Array[Object]>*/;
456 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(self
, var42
) /* add_decl on <self:AbstractCompilerVisitor>*/;
457 var43
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__variables
]))(self
) /* variables on <self:AbstractCompilerVisitor>*/;
458 ((void (*)(val
*, val
*, val
*))(var43
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var43
, var_variable
, var_res
) /* []= on <var43:HashMap[Variable, RuntimeVariable]>*/;
465 /* method abstract_compiler#AbstractCompilerVisitor#variable for (self: Object, Variable): RuntimeVariable */
466 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__variable(val
* self
, val
* p0
) {
467 val
* var
/* : RuntimeVariable */;
468 val
* var1
/* : RuntimeVariable */;
469 var1
= abstract_compiler__AbstractCompilerVisitor__variable(self
, p0
);
474 /* method abstract_compiler#AbstractCompilerVisitor#new_var for (self: AbstractCompilerVisitor, MType): RuntimeVariable */
475 val
* abstract_compiler__AbstractCompilerVisitor__new_var(val
* self
, val
* p0
) {
476 val
* var
/* : RuntimeVariable */;
477 val
* var_mtype
/* var mtype: MType */;
478 val
* var1
/* : MType */;
480 val
* var2
/* : String */;
481 char* var3
/* : NativeString */;
482 long var4
/* : Int */;
483 val
* var5
/* : String */;
484 val
* var6
/* : String */;
485 val
* var_name
/* var name: String */;
486 val
* var7
/* : RuntimeVariable */;
487 val
* var_res
/* var res: RuntimeVariable */;
488 val
* var8
/* : String */;
489 static val
* varonce9
;
490 val
* var10
/* : String */;
491 char* var11
/* : NativeString */;
492 long var12
/* : Int */;
493 val
* var13
/* : String */;
494 static val
* varonce14
;
495 val
* var15
/* : String */;
496 char* var16
/* : NativeString */;
497 long var17
/* : Int */;
498 val
* var18
/* : String */;
499 static val
* varonce19
;
500 val
* var20
/* : String */;
501 char* var21
/* : NativeString */;
502 long var22
/* : Int */;
503 val
* var23
/* : String */;
504 val
* var24
/* : Array[Object] */;
505 long var25
/* : Int */;
506 val
* var26
/* : NativeArray[Object] */;
507 val
* var27
/* : String */;
509 var1
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__anchor
]))(self
, var_mtype
) /* anchor on <self:AbstractCompilerVisitor>*/;
516 var5
= string__NativeString__to_s_with_length(var3
, var4
);
520 var6
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_name
]))(self
, var2
) /* get_name on <self:AbstractCompilerVisitor>*/;
522 var7
= NEW_abstract_compiler__RuntimeVariable(&type_abstract_compiler__RuntimeVariable
);
523 ((void (*)(val
*, val
*, val
*, val
*))(var7
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__init
]))(var7
, var_name
, var_mtype
, var_mtype
) /* init on <var7:RuntimeVariable>*/;
525 var8
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
531 var13
= string__NativeString__to_s_with_length(var11
, var12
);
540 var18
= string__NativeString__to_s_with_length(var16
, var17
);
549 var23
= string__NativeString__to_s_with_length(var21
, var22
);
553 var24
= NEW_array__Array(&type_array__Arraykernel__Object
);
554 { /* var24 = array_instance Array[Object] */
556 var26
= NEW_array__NativeArray(var25
, &type_array__NativeArraykernel__Object
);
557 ((struct instance_array__NativeArray
*)var26
)->values
[0] = (val
*) var8
;
558 ((struct instance_array__NativeArray
*)var26
)->values
[1] = (val
*) var10
;
559 ((struct instance_array__NativeArray
*)var26
)->values
[2] = (val
*) var_name
;
560 ((struct instance_array__NativeArray
*)var26
)->values
[3] = (val
*) var15
;
561 ((struct instance_array__NativeArray
*)var26
)->values
[4] = (val
*) var_mtype
;
562 ((struct instance_array__NativeArray
*)var26
)->values
[5] = (val
*) var20
;
563 ((void (*)(val
*, val
*, long))(var24
->class->vft
[COLOR_array__Array__with_native
]))(var24
, var26
, var25
) /* with_native on <var24:Array[Object]>*/;
565 var27
= ((val
* (*)(val
*))(var24
->class->vft
[COLOR_string__Object__to_s
]))(var24
) /* to_s on <var24:Array[Object]>*/;
566 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(self
, var27
) /* add_decl on <self:AbstractCompilerVisitor>*/;
572 /* method abstract_compiler#AbstractCompilerVisitor#new_var for (self: Object, MType): RuntimeVariable */
573 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__new_var(val
* self
, val
* p0
) {
574 val
* var
/* : RuntimeVariable */;
575 val
* var1
/* : RuntimeVariable */;
576 var1
= abstract_compiler__AbstractCompilerVisitor__new_var(self
, p0
);
581 /* method abstract_compiler#AbstractCompilerVisitor#new_named_var for (self: AbstractCompilerVisitor, MType, String): RuntimeVariable */
582 val
* abstract_compiler__AbstractCompilerVisitor__new_named_var(val
* self
, val
* p0
, val
* p1
) {
583 val
* var
/* : RuntimeVariable */;
584 val
* var_mtype
/* var mtype: MType */;
585 val
* var_name
/* var name: String */;
586 val
* var1
/* : MType */;
587 val
* var2
/* : RuntimeVariable */;
588 val
* var_res
/* var res: RuntimeVariable */;
589 val
* var3
/* : String */;
591 val
* var4
/* : String */;
592 char* var5
/* : NativeString */;
593 long var6
/* : Int */;
594 val
* var7
/* : String */;
595 static val
* varonce8
;
596 val
* var9
/* : String */;
597 char* var10
/* : NativeString */;
598 long var11
/* : Int */;
599 val
* var12
/* : String */;
600 static val
* varonce13
;
601 val
* var14
/* : String */;
602 char* var15
/* : NativeString */;
603 long var16
/* : Int */;
604 val
* var17
/* : String */;
605 val
* var18
/* : Array[Object] */;
606 long var19
/* : Int */;
607 val
* var20
/* : NativeArray[Object] */;
608 val
* var21
/* : String */;
611 var1
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__anchor
]))(self
, var_mtype
) /* anchor on <self:AbstractCompilerVisitor>*/;
613 var2
= NEW_abstract_compiler__RuntimeVariable(&type_abstract_compiler__RuntimeVariable
);
614 ((void (*)(val
*, val
*, val
*, val
*))(var2
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__init
]))(var2
, var_name
, var_mtype
, var_mtype
) /* init on <var2:RuntimeVariable>*/;
616 var3
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
622 var7
= string__NativeString__to_s_with_length(var5
, var6
);
631 var12
= string__NativeString__to_s_with_length(var10
, var11
);
640 var17
= string__NativeString__to_s_with_length(var15
, var16
);
644 var18
= NEW_array__Array(&type_array__Arraykernel__Object
);
645 { /* var18 = array_instance Array[Object] */
647 var20
= NEW_array__NativeArray(var19
, &type_array__NativeArraykernel__Object
);
648 ((struct instance_array__NativeArray
*)var20
)->values
[0] = (val
*) var3
;
649 ((struct instance_array__NativeArray
*)var20
)->values
[1] = (val
*) var4
;
650 ((struct instance_array__NativeArray
*)var20
)->values
[2] = (val
*) var_name
;
651 ((struct instance_array__NativeArray
*)var20
)->values
[3] = (val
*) var9
;
652 ((struct instance_array__NativeArray
*)var20
)->values
[4] = (val
*) var_mtype
;
653 ((struct instance_array__NativeArray
*)var20
)->values
[5] = (val
*) var14
;
654 ((void (*)(val
*, val
*, long))(var18
->class->vft
[COLOR_array__Array__with_native
]))(var18
, var20
, var19
) /* with_native on <var18:Array[Object]>*/;
656 var21
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_string__Object__to_s
]))(var18
) /* to_s on <var18:Array[Object]>*/;
657 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(self
, var21
) /* add_decl on <self:AbstractCompilerVisitor>*/;
663 /* method abstract_compiler#AbstractCompilerVisitor#new_named_var for (self: Object, MType, String): RuntimeVariable */
664 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__new_named_var(val
* self
, val
* p0
, val
* p1
) {
665 val
* var
/* : RuntimeVariable */;
666 val
* var1
/* : RuntimeVariable */;
667 var1
= abstract_compiler__AbstractCompilerVisitor__new_named_var(self
, p0
, p1
);
672 /* method abstract_compiler#AbstractCompilerVisitor#assign for (self: AbstractCompilerVisitor, RuntimeVariable, RuntimeVariable) */
673 void abstract_compiler__AbstractCompilerVisitor__assign(val
* self
, val
* p0
, val
* p1
) {
674 val
* var_left
/* var left: RuntimeVariable */;
675 val
* var_right
/* var right: RuntimeVariable */;
676 val
* var
/* : MType */;
677 val
* var1
/* : RuntimeVariable */;
679 val
* var2
/* : String */;
680 char* var3
/* : NativeString */;
681 long var4
/* : Int */;
682 val
* var5
/* : String */;
683 static val
* varonce6
;
684 val
* var7
/* : String */;
685 char* var8
/* : NativeString */;
686 long var9
/* : Int */;
687 val
* var10
/* : String */;
688 val
* var11
/* : Array[Object] */;
689 long var12
/* : Int */;
690 val
* var13
/* : NativeArray[Object] */;
691 val
* var14
/* : String */;
694 var
= ((val
* (*)(val
*))(var_left
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_left
) /* mtype on <var_left:RuntimeVariable>*/;
695 var1
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__autobox
]))(self
, var_right
, var
) /* autobox on <self:AbstractCompilerVisitor>*/;
702 var5
= string__NativeString__to_s_with_length(var3
, var4
);
711 var10
= string__NativeString__to_s_with_length(var8
, var9
);
715 var11
= NEW_array__Array(&type_array__Arraykernel__Object
);
716 { /* var11 = array_instance Array[Object] */
718 var13
= NEW_array__NativeArray(var12
, &type_array__NativeArraykernel__Object
);
719 ((struct instance_array__NativeArray
*)var13
)->values
[0] = (val
*) var_left
;
720 ((struct instance_array__NativeArray
*)var13
)->values
[1] = (val
*) var2
;
721 ((struct instance_array__NativeArray
*)var13
)->values
[2] = (val
*) var_right
;
722 ((struct instance_array__NativeArray
*)var13
)->values
[3] = (val
*) var7
;
723 ((void (*)(val
*, val
*, long))(var11
->class->vft
[COLOR_array__Array__with_native
]))(var11
, var13
, var12
) /* with_native on <var11:Array[Object]>*/;
725 var14
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_string__Object__to_s
]))(var11
) /* to_s on <var11:Array[Object]>*/;
726 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var14
) /* add on <self:AbstractCompilerVisitor>*/;
729 /* method abstract_compiler#AbstractCompilerVisitor#assign for (self: Object, RuntimeVariable, RuntimeVariable) */
730 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__assign(val
* self
, val
* p0
, val
* p1
) {
731 abstract_compiler__AbstractCompilerVisitor__assign(self
, p0
, p1
);
734 /* method abstract_compiler#AbstractCompilerVisitor#init_instance for (self: AbstractCompilerVisitor, MClassType): RuntimeVariable */
735 val
* abstract_compiler__AbstractCompilerVisitor__init_instance(val
* self
, val
* p0
) {
736 val
* var
/* : RuntimeVariable */;
737 const char* var_class_name
;
738 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
739 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "init_instance", var_class_name
);
740 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1032);
745 /* method abstract_compiler#AbstractCompilerVisitor#init_instance for (self: Object, MClassType): RuntimeVariable */
746 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__init_instance(val
* self
, val
* p0
) {
747 val
* var
/* : RuntimeVariable */;
748 val
* var1
/* : RuntimeVariable */;
749 var1
= abstract_compiler__AbstractCompilerVisitor__init_instance(self
, p0
);
754 /* method abstract_compiler#AbstractCompilerVisitor#int_instance for (self: AbstractCompilerVisitor, Int): RuntimeVariable */
755 val
* abstract_compiler__AbstractCompilerVisitor__int_instance(val
* self
, long p0
) {
756 val
* var
/* : RuntimeVariable */;
757 long var_value
/* var value: Int */;
759 val
* var1
/* : String */;
760 char* var2
/* : NativeString */;
761 long var3
/* : Int */;
762 val
* var4
/* : String */;
763 val
* var5
/* : MClass */;
764 val
* var6
/* : MClassType */;
765 val
* var7
/* : RuntimeVariable */;
766 val
* var_res
/* var res: RuntimeVariable */;
767 static val
* varonce8
;
768 val
* var9
/* : String */;
769 char* var10
/* : NativeString */;
770 long var11
/* : Int */;
771 val
* var12
/* : String */;
772 static val
* varonce13
;
773 val
* var14
/* : String */;
774 char* var15
/* : NativeString */;
775 long var16
/* : Int */;
776 val
* var17
/* : String */;
777 val
* var18
/* : Array[Object] */;
778 long var19
/* : Int */;
779 val
* var20
/* : NativeArray[Object] */;
780 val
* var21
/* : Object */;
781 val
* var22
/* : String */;
788 var4
= string__NativeString__to_s_with_length(var2
, var3
);
792 var5
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_class
]))(self
, var1
) /* get_class on <self:AbstractCompilerVisitor>*/;
793 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_model__MClass__mclass_type
]))(var5
) /* mclass_type on <var5:MClass>*/;
794 var7
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(self
, var6
) /* new_var on <self:AbstractCompilerVisitor>*/;
801 var12
= string__NativeString__to_s_with_length(var10
, var11
);
810 var17
= string__NativeString__to_s_with_length(var15
, var16
);
814 var18
= NEW_array__Array(&type_array__Arraykernel__Object
);
815 { /* var18 = array_instance Array[Object] */
817 var20
= NEW_array__NativeArray(var19
, &type_array__NativeArraykernel__Object
);
818 ((struct instance_array__NativeArray
*)var20
)->values
[0] = (val
*) var_res
;
819 ((struct instance_array__NativeArray
*)var20
)->values
[1] = (val
*) var9
;
820 var21
= BOX_kernel__Int(var_value
); /* autobox from Int to Object */
821 ((struct instance_array__NativeArray
*)var20
)->values
[2] = (val
*) var21
;
822 ((struct instance_array__NativeArray
*)var20
)->values
[3] = (val
*) var14
;
823 ((void (*)(val
*, val
*, long))(var18
->class->vft
[COLOR_array__Array__with_native
]))(var18
, var20
, var19
) /* with_native on <var18:Array[Object]>*/;
825 var22
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_string__Object__to_s
]))(var18
) /* to_s on <var18:Array[Object]>*/;
826 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var22
) /* add on <self:AbstractCompilerVisitor>*/;
832 /* method abstract_compiler#AbstractCompilerVisitor#int_instance for (self: Object, Int): RuntimeVariable */
833 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__int_instance(val
* self
, long p0
) {
834 val
* var
/* : RuntimeVariable */;
835 val
* var1
/* : RuntimeVariable */;
836 var1
= abstract_compiler__AbstractCompilerVisitor__int_instance(self
, p0
);
841 /* method abstract_compiler#AbstractCompilerVisitor#string_instance for (self: AbstractCompilerVisitor, String): RuntimeVariable */
842 val
* abstract_compiler__AbstractCompilerVisitor__string_instance(val
* self
, val
* p0
) {
843 val
* var
/* : RuntimeVariable */;
844 val
* var_string
/* var string: String */;
846 val
* var1
/* : String */;
847 char* var2
/* : NativeString */;
848 long var3
/* : Int */;
849 val
* var4
/* : String */;
850 val
* var5
/* : MClass */;
851 val
* var6
/* : MClassType */;
852 val
* var_mtype
/* var mtype: MClassType */;
853 static val
* varonce7
;
854 val
* var8
/* : String */;
855 char* var9
/* : NativeString */;
856 long var10
/* : Int */;
857 val
* var11
/* : String */;
858 val
* var12
/* : String */;
859 val
* var_name
/* var name: String */;
860 static val
* varonce13
;
861 val
* var14
/* : String */;
862 char* var15
/* : NativeString */;
863 long var16
/* : Int */;
864 val
* var17
/* : String */;
865 val
* var18
/* : String */;
866 static val
* varonce19
;
867 val
* var20
/* : String */;
868 char* var21
/* : NativeString */;
869 long var22
/* : Int */;
870 val
* var23
/* : String */;
871 static val
* varonce24
;
872 val
* var25
/* : String */;
873 char* var26
/* : NativeString */;
874 long var27
/* : Int */;
875 val
* var28
/* : String */;
876 val
* var29
/* : Array[Object] */;
877 long var30
/* : Int */;
878 val
* var31
/* : NativeArray[Object] */;
879 val
* var32
/* : String */;
880 val
* var33
/* : RuntimeVariable */;
881 val
* var_res
/* var res: RuntimeVariable */;
882 static val
* varonce34
;
883 val
* var35
/* : String */;
884 char* var36
/* : NativeString */;
885 long var37
/* : Int */;
886 val
* var38
/* : String */;
887 static val
* varonce39
;
888 val
* var40
/* : String */;
889 char* var41
/* : NativeString */;
890 long var42
/* : Int */;
891 val
* var43
/* : String */;
892 val
* var44
/* : Array[Object] */;
893 long var45
/* : Int */;
894 val
* var46
/* : NativeArray[Object] */;
895 val
* var47
/* : String */;
896 static val
* varonce48
;
897 val
* var49
/* : String */;
898 char* var50
/* : NativeString */;
899 long var51
/* : Int */;
900 val
* var52
/* : String */;
901 static val
* varonce53
;
902 val
* var54
/* : String */;
903 char* var55
/* : NativeString */;
904 long var56
/* : Int */;
905 val
* var57
/* : String */;
906 val
* var58
/* : Array[Object] */;
907 long var59
/* : Int */;
908 val
* var60
/* : NativeArray[Object] */;
909 val
* var61
/* : String */;
910 static val
* varonce62
;
911 val
* var63
/* : String */;
912 char* var64
/* : NativeString */;
913 long var65
/* : Int */;
914 val
* var66
/* : String */;
915 static val
* varonce67
;
916 val
* var68
/* : String */;
917 char* var69
/* : NativeString */;
918 long var70
/* : Int */;
919 val
* var71
/* : String */;
920 val
* var72
/* : MClass */;
921 val
* var73
/* : MClassType */;
922 val
* var_native_mtype
/* var native_mtype: MClassType */;
923 val
* var74
/* : RuntimeVariable */;
924 val
* var_nat
/* var nat: RuntimeVariable */;
925 static val
* varonce75
;
926 val
* var76
/* : String */;
927 char* var77
/* : NativeString */;
928 long var78
/* : Int */;
929 val
* var79
/* : String */;
930 val
* var80
/* : String */;
931 static val
* varonce81
;
932 val
* var82
/* : String */;
933 char* var83
/* : NativeString */;
934 long var84
/* : Int */;
935 val
* var85
/* : String */;
936 val
* var86
/* : Array[Object] */;
937 long var87
/* : Int */;
938 val
* var88
/* : NativeArray[Object] */;
939 val
* var89
/* : String */;
940 long var90
/* : Int */;
941 val
* var91
/* : RuntimeVariable */;
942 val
* var_length
/* var length: RuntimeVariable */;
943 static val
* varonce92
;
944 val
* var93
/* : String */;
945 char* var94
/* : NativeString */;
946 long var95
/* : Int */;
947 val
* var96
/* : String */;
948 static val
* varonce97
;
949 val
* var98
/* : String */;
950 char* var99
/* : NativeString */;
951 long var100
/* : Int */;
952 val
* var101
/* : String */;
953 val
* var102
/* : MMethod */;
954 val
* var103
/* : Array[RuntimeVariable] */;
955 long var104
/* : Int */;
956 val
* var105
/* : NativeArray[RuntimeVariable] */;
957 val
* var106
/* : nullable RuntimeVariable */;
958 static val
* varonce107
;
959 val
* var108
/* : String */;
960 char* var109
/* : NativeString */;
961 long var110
/* : Int */;
962 val
* var111
/* : String */;
963 val
* var112
/* : Array[Object] */;
964 long var113
/* : Int */;
965 val
* var114
/* : NativeArray[Object] */;
966 val
* var115
/* : String */;
967 static val
* varonce116
;
968 val
* var117
/* : String */;
969 char* var118
/* : NativeString */;
970 long var119
/* : Int */;
971 val
* var120
/* : String */;
972 static val
* varonce121
;
973 val
* var122
/* : String */;
974 char* var123
/* : NativeString */;
975 long var124
/* : Int */;
976 val
* var125
/* : String */;
977 val
* var126
/* : Array[Object] */;
978 long var127
/* : Int */;
979 val
* var128
/* : NativeArray[Object] */;
980 val
* var129
/* : String */;
981 static val
* varonce130
;
982 val
* var131
/* : String */;
983 char* var132
/* : NativeString */;
984 long var133
/* : Int */;
985 val
* var134
/* : String */;
992 var4
= string__NativeString__to_s_with_length(var2
, var3
);
996 var5
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_class
]))(self
, var1
) /* get_class on <self:AbstractCompilerVisitor>*/;
997 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_model__MClass__mclass_type
]))(var5
) /* mclass_type on <var5:MClass>*/;
1004 var11
= string__NativeString__to_s_with_length(var9
, var10
);
1008 var12
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_name
]))(self
, var8
) /* get_name on <self:AbstractCompilerVisitor>*/;
1015 var17
= string__NativeString__to_s_with_length(var15
, var16
);
1019 var18
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MClassType>*/;
1025 var23
= string__NativeString__to_s_with_length(var21
, var22
);
1034 var28
= string__NativeString__to_s_with_length(var26
, var27
);
1038 var29
= NEW_array__Array(&type_array__Arraykernel__Object
);
1039 { /* var29 = array_instance Array[Object] */
1041 var31
= NEW_array__NativeArray(var30
, &type_array__NativeArraykernel__Object
);
1042 ((struct instance_array__NativeArray
*)var31
)->values
[0] = (val
*) var14
;
1043 ((struct instance_array__NativeArray
*)var31
)->values
[1] = (val
*) var18
;
1044 ((struct instance_array__NativeArray
*)var31
)->values
[2] = (val
*) var20
;
1045 ((struct instance_array__NativeArray
*)var31
)->values
[3] = (val
*) var_name
;
1046 ((struct instance_array__NativeArray
*)var31
)->values
[4] = (val
*) var25
;
1047 ((void (*)(val
*, val
*, long))(var29
->class->vft
[COLOR_array__Array__with_native
]))(var29
, var31
, var30
) /* with_native on <var29:Array[Object]>*/;
1049 var32
= ((val
* (*)(val
*))(var29
->class->vft
[COLOR_string__Object__to_s
]))(var29
) /* to_s on <var29:Array[Object]>*/;
1050 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(self
, var32
) /* add_decl on <self:AbstractCompilerVisitor>*/;
1051 var33
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(self
, var_mtype
) /* new_var on <self:AbstractCompilerVisitor>*/;
1058 var38
= string__NativeString__to_s_with_length(var36
, var37
);
1067 var43
= string__NativeString__to_s_with_length(var41
, var42
);
1071 var44
= NEW_array__Array(&type_array__Arraykernel__Object
);
1072 { /* var44 = array_instance Array[Object] */
1074 var46
= NEW_array__NativeArray(var45
, &type_array__NativeArraykernel__Object
);
1075 ((struct instance_array__NativeArray
*)var46
)->values
[0] = (val
*) var35
;
1076 ((struct instance_array__NativeArray
*)var46
)->values
[1] = (val
*) var_name
;
1077 ((struct instance_array__NativeArray
*)var46
)->values
[2] = (val
*) var40
;
1078 ((void (*)(val
*, val
*, long))(var44
->class->vft
[COLOR_array__Array__with_native
]))(var44
, var46
, var45
) /* with_native on <var44:Array[Object]>*/;
1080 var47
= ((val
* (*)(val
*))(var44
->class->vft
[COLOR_string__Object__to_s
]))(var44
) /* to_s on <var44:Array[Object]>*/;
1081 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var47
) /* add on <self:AbstractCompilerVisitor>*/;
1087 var52
= string__NativeString__to_s_with_length(var50
, var51
);
1096 var57
= string__NativeString__to_s_with_length(var55
, var56
);
1100 var58
= NEW_array__Array(&type_array__Arraykernel__Object
);
1101 { /* var58 = array_instance Array[Object] */
1103 var60
= NEW_array__NativeArray(var59
, &type_array__NativeArraykernel__Object
);
1104 ((struct instance_array__NativeArray
*)var60
)->values
[0] = (val
*) var_res
;
1105 ((struct instance_array__NativeArray
*)var60
)->values
[1] = (val
*) var49
;
1106 ((struct instance_array__NativeArray
*)var60
)->values
[2] = (val
*) var_name
;
1107 ((struct instance_array__NativeArray
*)var60
)->values
[3] = (val
*) var54
;
1108 ((void (*)(val
*, val
*, long))(var58
->class->vft
[COLOR_array__Array__with_native
]))(var58
, var60
, var59
) /* with_native on <var58:Array[Object]>*/;
1110 var61
= ((val
* (*)(val
*))(var58
->class->vft
[COLOR_string__Object__to_s
]))(var58
) /* to_s on <var58:Array[Object]>*/;
1111 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var61
) /* add on <self:AbstractCompilerVisitor>*/;
1117 var66
= string__NativeString__to_s_with_length(var64
, var65
);
1121 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var63
) /* add on <self:AbstractCompilerVisitor>*/;
1125 var69
= "NativeString";
1127 var71
= string__NativeString__to_s_with_length(var69
, var70
);
1131 var72
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_class
]))(self
, var68
) /* get_class on <self:AbstractCompilerVisitor>*/;
1132 var73
= ((val
* (*)(val
*))(var72
->class->vft
[COLOR_model__MClass__mclass_type
]))(var72
) /* mclass_type on <var72:MClass>*/;
1133 var_native_mtype
= var73
;
1134 var74
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(self
, var_native_mtype
) /* new_var on <self:AbstractCompilerVisitor>*/;
1141 var79
= string__NativeString__to_s_with_length(var77
, var78
);
1145 var80
= ((val
* (*)(val
*))(var_string
->class->vft
[COLOR_string__AbstractString__escape_to_c
]))(var_string
) /* escape_to_c on <var_string:String>*/;
1151 var85
= string__NativeString__to_s_with_length(var83
, var84
);
1155 var86
= NEW_array__Array(&type_array__Arraykernel__Object
);
1156 { /* var86 = array_instance Array[Object] */
1158 var88
= NEW_array__NativeArray(var87
, &type_array__NativeArraykernel__Object
);
1159 ((struct instance_array__NativeArray
*)var88
)->values
[0] = (val
*) var_nat
;
1160 ((struct instance_array__NativeArray
*)var88
)->values
[1] = (val
*) var76
;
1161 ((struct instance_array__NativeArray
*)var88
)->values
[2] = (val
*) var80
;
1162 ((struct instance_array__NativeArray
*)var88
)->values
[3] = (val
*) var82
;
1163 ((void (*)(val
*, val
*, long))(var86
->class->vft
[COLOR_array__Array__with_native
]))(var86
, var88
, var87
) /* with_native on <var86:Array[Object]>*/;
1165 var89
= ((val
* (*)(val
*))(var86
->class->vft
[COLOR_string__Object__to_s
]))(var86
) /* to_s on <var86:Array[Object]>*/;
1166 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var89
) /* add on <self:AbstractCompilerVisitor>*/;
1167 var90
= ((long (*)(val
*))(var_string
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_string
) /* length on <var_string:String>*/;
1168 var91
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__int_instance
]))(self
, var90
) /* int_instance on <self:AbstractCompilerVisitor>*/;
1175 var96
= string__NativeString__to_s_with_length(var94
, var95
);
1182 var99
= "to_s_with_length";
1184 var101
= string__NativeString__to_s_with_length(var99
, var100
);
1188 var102
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_property
]))(self
, var98
, var_native_mtype
) /* get_property on <self:AbstractCompilerVisitor>*/;
1189 var103
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
1190 { /* var103 = array_instance Array[RuntimeVariable] */
1192 var105
= NEW_array__NativeArray(var104
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
1193 ((struct instance_array__NativeArray
*)var105
)->values
[0] = (val
*) var_nat
;
1194 ((struct instance_array__NativeArray
*)var105
)->values
[1] = (val
*) var_length
;
1195 ((void (*)(val
*, val
*, long))(var103
->class->vft
[COLOR_array__Array__with_native
]))(var103
, var105
, var104
) /* with_native on <var103:Array[RuntimeVariable]>*/;
1197 var106
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__send
]))(self
, var102
, var103
) /* send on <self:AbstractCompilerVisitor>*/;
1198 if (var106
== NULL
) {
1199 fprintf(stderr
, "Runtime error: %s", "Cast failed");
1200 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1057);
1204 var108
= varonce107
;
1208 var111
= string__NativeString__to_s_with_length(var109
, var110
);
1210 varonce107
= var108
;
1212 var112
= NEW_array__Array(&type_array__Arraykernel__Object
);
1213 { /* var112 = array_instance Array[Object] */
1215 var114
= NEW_array__NativeArray(var113
, &type_array__NativeArraykernel__Object
);
1216 ((struct instance_array__NativeArray
*)var114
)->values
[0] = (val
*) var_res
;
1217 ((struct instance_array__NativeArray
*)var114
)->values
[1] = (val
*) var93
;
1218 ((struct instance_array__NativeArray
*)var114
)->values
[2] = (val
*) var106
;
1219 ((struct instance_array__NativeArray
*)var114
)->values
[3] = (val
*) var108
;
1220 ((void (*)(val
*, val
*, long))(var112
->class->vft
[COLOR_array__Array__with_native
]))(var112
, var114
, var113
) /* with_native on <var112:Array[Object]>*/;
1222 var115
= ((val
* (*)(val
*))(var112
->class->vft
[COLOR_string__Object__to_s
]))(var112
) /* to_s on <var112:Array[Object]>*/;
1223 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var115
) /* add on <self:AbstractCompilerVisitor>*/;
1225 var117
= varonce116
;
1229 var120
= string__NativeString__to_s_with_length(var118
, var119
);
1231 varonce116
= var117
;
1234 var122
= varonce121
;
1238 var125
= string__NativeString__to_s_with_length(var123
, var124
);
1240 varonce121
= var122
;
1242 var126
= NEW_array__Array(&type_array__Arraykernel__Object
);
1243 { /* var126 = array_instance Array[Object] */
1245 var128
= NEW_array__NativeArray(var127
, &type_array__NativeArraykernel__Object
);
1246 ((struct instance_array__NativeArray
*)var128
)->values
[0] = (val
*) var_name
;
1247 ((struct instance_array__NativeArray
*)var128
)->values
[1] = (val
*) var117
;
1248 ((struct instance_array__NativeArray
*)var128
)->values
[2] = (val
*) var_res
;
1249 ((struct instance_array__NativeArray
*)var128
)->values
[3] = (val
*) var122
;
1250 ((void (*)(val
*, val
*, long))(var126
->class->vft
[COLOR_array__Array__with_native
]))(var126
, var128
, var127
) /* with_native on <var126:Array[Object]>*/;
1252 var129
= ((val
* (*)(val
*))(var126
->class->vft
[COLOR_string__Object__to_s
]))(var126
) /* to_s on <var126:Array[Object]>*/;
1253 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var129
) /* add on <self:AbstractCompilerVisitor>*/;
1255 var131
= varonce130
;
1259 var134
= string__NativeString__to_s_with_length(var132
, var133
);
1261 varonce130
= var131
;
1263 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var131
) /* add on <self:AbstractCompilerVisitor>*/;
1269 /* method abstract_compiler#AbstractCompilerVisitor#string_instance for (self: Object, String): RuntimeVariable */
1270 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__string_instance(val
* self
, val
* p0
) {
1271 val
* var
/* : RuntimeVariable */;
1272 val
* var1
/* : RuntimeVariable */;
1273 var1
= abstract_compiler__AbstractCompilerVisitor__string_instance(self
, p0
);
1278 /* method abstract_compiler#AbstractCompilerVisitor#array_instance for (self: AbstractCompilerVisitor, Array[RuntimeVariable], MType): RuntimeVariable */
1279 val
* abstract_compiler__AbstractCompilerVisitor__array_instance(val
* self
, val
* p0
, val
* p1
) {
1280 val
* var
/* : RuntimeVariable */;
1281 const char* var_class_name
;
1282 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
1283 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "array_instance", var_class_name
);
1284 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1063);
1289 /* method abstract_compiler#AbstractCompilerVisitor#array_instance for (self: Object, Array[RuntimeVariable], MType): RuntimeVariable */
1290 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__array_instance(val
* self
, val
* p0
, val
* p1
) {
1291 val
* var
/* : RuntimeVariable */;
1292 val
* var1
/* : RuntimeVariable */;
1293 var1
= abstract_compiler__AbstractCompilerVisitor__array_instance(self
, p0
, p1
);
1298 /* method abstract_compiler#AbstractCompilerVisitor#vararg_instance for (self: AbstractCompilerVisitor, MPropDef, RuntimeVariable, Array[RuntimeVariable], MType): RuntimeVariable */
1299 val
* abstract_compiler__AbstractCompilerVisitor__vararg_instance(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
1300 val
* var
/* : RuntimeVariable */;
1301 const char* var_class_name
;
1302 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
1303 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "vararg_instance", var_class_name
);
1304 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1066);
1309 /* method abstract_compiler#AbstractCompilerVisitor#vararg_instance for (self: Object, MPropDef, RuntimeVariable, Array[RuntimeVariable], MType): RuntimeVariable */
1310 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__vararg_instance(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
1311 val
* var
/* : RuntimeVariable */;
1312 val
* var1
/* : RuntimeVariable */;
1313 var1
= abstract_compiler__AbstractCompilerVisitor__vararg_instance(self
, p0
, p1
, p2
, p3
);
1318 /* method abstract_compiler#AbstractCompilerVisitor#add for (self: AbstractCompilerVisitor, String) */
1319 void abstract_compiler__AbstractCompilerVisitor__add(val
* self
, val
* p0
) {
1320 val
* var_s
/* var s: String */;
1321 val
* var
/* : CodeWriter */;
1322 val
* var1
/* : List[String] */;
1324 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__writer
]))(self
) /* writer on <self:AbstractCompilerVisitor>*/;
1325 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_abstract_compiler__CodeWriter__lines
]))(var
) /* lines on <var:CodeWriter>*/;
1326 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var1
, var_s
) /* add on <var1:List[String]>*/;
1329 /* method abstract_compiler#AbstractCompilerVisitor#add for (self: Object, String) */
1330 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__add(val
* self
, val
* p0
) {
1331 abstract_compiler__AbstractCompilerVisitor__add(self
, p0
);
1334 /* method abstract_compiler#AbstractCompilerVisitor#add_decl for (self: AbstractCompilerVisitor, String) */
1335 void abstract_compiler__AbstractCompilerVisitor__add_decl(val
* self
, val
* p0
) {
1336 val
* var_s
/* var s: String */;
1337 val
* var
/* : CodeWriter */;
1338 val
* var1
/* : List[String] */;
1340 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__writer
]))(self
) /* writer on <self:AbstractCompilerVisitor>*/;
1341 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_abstract_compiler__CodeWriter__decl_lines
]))(var
) /* decl_lines on <var:CodeWriter>*/;
1342 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var1
, var_s
) /* add on <var1:List[String]>*/;
1345 /* method abstract_compiler#AbstractCompilerVisitor#add_decl for (self: Object, String) */
1346 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__add_decl(val
* self
, val
* p0
) {
1347 abstract_compiler__AbstractCompilerVisitor__add_decl(self
, p0
);
1350 /* method abstract_compiler#AbstractCompilerVisitor#require_declaration for (self: AbstractCompilerVisitor, String) */
1351 void abstract_compiler__AbstractCompilerVisitor__require_declaration(val
* self
, val
* p0
) {
1352 val
* var_key
/* var key: String */;
1353 val
* var
/* : CodeWriter */;
1354 val
* var1
/* : CodeFile */;
1355 val
* var2
/* : HashSet[String] */;
1356 val
* var_reqs
/* var reqs: HashSet[String] */;
1357 short int var3
/* : Bool */;
1358 val
* var4
/* : nullable ANode */;
1359 val
* var_node
/* var node: nullable ANode */;
1360 val
* var5
/* : null */;
1361 short int var6
/* : Bool */;
1362 val
* var7
/* : AbstractCompiler */;
1363 val
* var8
/* : HashMap[String, ANode] */;
1365 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__writer
]))(self
) /* writer on <self:AbstractCompilerVisitor>*/;
1366 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_abstract_compiler__CodeWriter__file
]))(var
) /* file on <var:CodeWriter>*/;
1367 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_compiler__CodeFile__required_declarations
]))(var1
) /* required_declarations on <var1:CodeFile>*/;
1369 var3
= ((short int (*)(val
*, val
*))(var_reqs
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var_reqs
, var_key
) /* has on <var_reqs:HashSet[String]>*/;
1374 ((void (*)(val
*, val
*))(var_reqs
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_reqs
, var_key
) /* add on <var_reqs:HashSet[String]>*/;
1375 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__current_node
]))(self
) /* current_node on <self:AbstractCompilerVisitor>*/;
1378 if (var_node
== NULL
) {
1379 var6
= 0; /* is null */
1381 var6
= 1; /* arg is null and recv is not */
1384 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
1385 var8
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__requirers_of_declarations
]))(var7
) /* requirers_of_declarations on <var7:AbstractCompiler>*/;
1386 ((void (*)(val
*, val
*, val
*))(var8
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var8
, var_key
, var_node
) /* []= on <var8:HashMap[String, ANode]>*/;
1391 /* method abstract_compiler#AbstractCompilerVisitor#require_declaration for (self: Object, String) */
1392 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__require_declaration(val
* self
, val
* p0
) {
1393 abstract_compiler__AbstractCompilerVisitor__require_declaration(self
, p0
);
1396 /* method abstract_compiler#AbstractCompilerVisitor#declare_once for (self: AbstractCompilerVisitor, String) */
1397 void abstract_compiler__AbstractCompilerVisitor__declare_once(val
* self
, val
* p0
) {
1398 val
* var_s
/* var s: String */;
1399 val
* var
/* : AbstractCompiler */;
1401 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
1402 ((void (*)(val
*, val
*, val
*))(var
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__provide_declaration
]))(var
, var_s
, var_s
) /* provide_declaration on <var:AbstractCompiler>*/;
1403 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration
]))(self
, var_s
) /* require_declaration on <self:AbstractCompilerVisitor>*/;
1406 /* method abstract_compiler#AbstractCompilerVisitor#declare_once for (self: Object, String) */
1407 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__declare_once(val
* self
, val
* p0
) {
1408 abstract_compiler__AbstractCompilerVisitor__declare_once(self
, p0
);
1411 /* method abstract_compiler#AbstractCompilerVisitor#add_extern for (self: AbstractCompilerVisitor, String) */
1412 void abstract_compiler__AbstractCompilerVisitor__add_extern(val
* self
, val
* p0
) {
1413 val
* var_file
/* var file: String */;
1414 static val
* varonce
;
1415 val
* var
/* : String */;
1416 char* var1
/* : NativeString */;
1417 long var2
/* : Int */;
1418 val
* var3
/* : String */;
1419 val
* var4
/* : String */;
1420 static val
* varonce5
;
1421 val
* var6
/* : String */;
1422 char* var7
/* : NativeString */;
1423 long var8
/* : Int */;
1424 val
* var9
/* : String */;
1425 val
* var10
/* : String */;
1426 val
* var_tryfile
/* var tryfile: String */;
1427 short int var11
/* : Bool */;
1428 static val
* varonce12
;
1429 val
* var13
/* : String */;
1430 char* var14
/* : NativeString */;
1431 long var15
/* : Int */;
1432 val
* var16
/* : String */;
1433 static val
* varonce17
;
1434 val
* var18
/* : String */;
1435 char* var19
/* : NativeString */;
1436 long var20
/* : Int */;
1437 val
* var21
/* : String */;
1438 val
* var22
/* : String */;
1439 static val
* varonce23
;
1440 val
* var24
/* : String */;
1441 char* var25
/* : NativeString */;
1442 long var26
/* : Int */;
1443 val
* var27
/* : String */;
1444 val
* var28
/* : Array[Object] */;
1445 long var29
/* : Int */;
1446 val
* var30
/* : NativeArray[Object] */;
1447 val
* var31
/* : String */;
1448 val
* var32
/* : AbstractCompiler */;
1449 val
* var33
/* : Array[String] */;
1450 static val
* varonce34
;
1451 val
* var35
/* : String */;
1452 char* var36
/* : NativeString */;
1453 long var37
/* : Int */;
1454 val
* var38
/* : String */;
1455 val
* var39
/* : String */;
1456 short int var40
/* : Bool */;
1457 static val
* varonce41
;
1458 val
* var42
/* : String */;
1459 char* var43
/* : NativeString */;
1460 long var44
/* : Int */;
1461 val
* var45
/* : String */;
1462 static val
* varonce46
;
1463 val
* var47
/* : String */;
1464 char* var48
/* : NativeString */;
1465 long var49
/* : Int */;
1466 val
* var50
/* : String */;
1467 val
* var51
/* : String */;
1468 static val
* varonce52
;
1469 val
* var53
/* : String */;
1470 char* var54
/* : NativeString */;
1471 long var55
/* : Int */;
1472 val
* var56
/* : String */;
1473 val
* var57
/* : Array[Object] */;
1474 long var58
/* : Int */;
1475 val
* var59
/* : NativeArray[Object] */;
1476 val
* var60
/* : String */;
1477 val
* var61
/* : AbstractCompiler */;
1478 val
* var62
/* : Array[String] */;
1479 val
* var63
/* : AbstractCompiler */;
1480 val
* var64
/* : ArraySet[String] */;
1481 short int var65
/* : Bool */;
1482 val
* var66
/* : AbstractCompiler */;
1483 val
* var67
/* : ArraySet[String] */;
1484 static val
* varonce68
;
1485 val
* var69
/* : String */;
1486 char* var70
/* : NativeString */;
1487 long var71
/* : Int */;
1488 val
* var72
/* : String */;
1489 val
* var73
/* : String */;
1490 short int var74
/* : Bool */;
1491 short int var75
/* : Bool */;
1492 static val
* varonce76
;
1493 val
* var77
/* : String */;
1494 char* var78
/* : NativeString */;
1495 long var79
/* : Int */;
1496 val
* var80
/* : String */;
1497 val
* var81
/* : String */;
1498 short int var82
/* : Bool */;
1499 short int var83
/* : Bool */;
1500 val
* var84
/* : ExternCFile */;
1501 static val
* varonce85
;
1502 val
* var86
/* : String */;
1503 char* var87
/* : NativeString */;
1504 long var88
/* : Int */;
1505 val
* var89
/* : String */;
1506 val
* var90
/* : String */;
1507 static val
* varonce91
;
1508 val
* var92
/* : String */;
1509 char* var93
/* : NativeString */;
1510 long var94
/* : Int */;
1511 val
* var95
/* : String */;
1512 val
* var_f
/* var f: ExternCFile */;
1513 val
* var96
/* : AbstractCompiler */;
1514 val
* var97
/* : Array[ExternFile] */;
1515 val
* var98
/* : AbstractCompiler */;
1516 val
* var99
/* : Array[String] */;
1523 var3
= string__NativeString__to_s_with_length(var1
, var2
);
1527 var4
= ((val
* (*)(val
*, val
*))(var_file
->class->vft
[COLOR_file__String__strip_extension
]))(var_file
, var
) /* strip_extension on <var_file:String>*/;
1534 var9
= string__NativeString__to_s_with_length(var7
, var8
);
1538 var10
= ((val
* (*)(val
*, val
*))(var_file
->class->vft
[COLOR_string__String___43d
]))(var_file
, var6
) /* + on <var_file:String>*/;
1539 var_tryfile
= var10
;
1540 var11
= ((short int (*)(val
*))(var_tryfile
->class->vft
[COLOR_file__String__file_exists
]))(var_tryfile
) /* file_exists on <var_tryfile:String>*/;
1545 var14
= "#include \"";
1547 var16
= string__NativeString__to_s_with_length(var14
, var15
);
1556 var21
= string__NativeString__to_s_with_length(var19
, var20
);
1560 var22
= ((val
* (*)(val
*, val
*))(var_tryfile
->class->vft
[COLOR_file__String__basename
]))(var_tryfile
, var18
) /* basename on <var_tryfile:String>*/;
1566 var27
= string__NativeString__to_s_with_length(var25
, var26
);
1570 var28
= NEW_array__Array(&type_array__Arraykernel__Object
);
1571 { /* var28 = array_instance Array[Object] */
1573 var30
= NEW_array__NativeArray(var29
, &type_array__NativeArraykernel__Object
);
1574 ((struct instance_array__NativeArray
*)var30
)->values
[0] = (val
*) var13
;
1575 ((struct instance_array__NativeArray
*)var30
)->values
[1] = (val
*) var22
;
1576 ((struct instance_array__NativeArray
*)var30
)->values
[2] = (val
*) var24
;
1577 ((void (*)(val
*, val
*, long))(var28
->class->vft
[COLOR_array__Array__with_native
]))(var28
, var30
, var29
) /* with_native on <var28:Array[Object]>*/;
1579 var31
= ((val
* (*)(val
*))(var28
->class->vft
[COLOR_string__Object__to_s
]))(var28
) /* to_s on <var28:Array[Object]>*/;
1580 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__declare_once
]))(self
, var31
) /* declare_once on <self:AbstractCompilerVisitor>*/;
1581 var32
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
1582 var33
= ((val
* (*)(val
*))(var32
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__files_to_copy
]))(var32
) /* files_to_copy on <var32:AbstractCompiler>*/;
1583 ((void (*)(val
*, val
*))(var33
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var33
, var_tryfile
) /* add on <var33:Array[String]>*/;
1591 var38
= string__NativeString__to_s_with_length(var36
, var37
);
1595 var39
= ((val
* (*)(val
*, val
*))(var_file
->class->vft
[COLOR_string__String___43d
]))(var_file
, var35
) /* + on <var_file:String>*/;
1596 var_tryfile
= var39
;
1597 var40
= ((short int (*)(val
*))(var_tryfile
->class->vft
[COLOR_file__String__file_exists
]))(var_tryfile
) /* file_exists on <var_tryfile:String>*/;
1602 var43
= "#include \"";
1604 var45
= string__NativeString__to_s_with_length(var43
, var44
);
1613 var50
= string__NativeString__to_s_with_length(var48
, var49
);
1617 var51
= ((val
* (*)(val
*, val
*))(var_tryfile
->class->vft
[COLOR_file__String__basename
]))(var_tryfile
, var47
) /* basename on <var_tryfile:String>*/;
1623 var56
= string__NativeString__to_s_with_length(var54
, var55
);
1627 var57
= NEW_array__Array(&type_array__Arraykernel__Object
);
1628 { /* var57 = array_instance Array[Object] */
1630 var59
= NEW_array__NativeArray(var58
, &type_array__NativeArraykernel__Object
);
1631 ((struct instance_array__NativeArray
*)var59
)->values
[0] = (val
*) var42
;
1632 ((struct instance_array__NativeArray
*)var59
)->values
[1] = (val
*) var51
;
1633 ((struct instance_array__NativeArray
*)var59
)->values
[2] = (val
*) var53
;
1634 ((void (*)(val
*, val
*, long))(var57
->class->vft
[COLOR_array__Array__with_native
]))(var57
, var59
, var58
) /* with_native on <var57:Array[Object]>*/;
1636 var60
= ((val
* (*)(val
*))(var57
->class->vft
[COLOR_string__Object__to_s
]))(var57
) /* to_s on <var57:Array[Object]>*/;
1637 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__declare_once
]))(self
, var60
) /* declare_once on <self:AbstractCompilerVisitor>*/;
1638 var61
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
1639 var62
= ((val
* (*)(val
*))(var61
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__files_to_copy
]))(var61
) /* files_to_copy on <var61:AbstractCompiler>*/;
1640 ((void (*)(val
*, val
*))(var62
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var62
, var_tryfile
) /* add on <var62:Array[String]>*/;
1643 var63
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
1644 var64
= ((val
* (*)(val
*))(var63
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__seen_extern
]))(var63
) /* seen_extern on <var63:AbstractCompiler>*/;
1645 var65
= ((short int (*)(val
*, val
*))(var64
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var64
, var_file
) /* has on <var64:ArraySet[String]>*/;
1650 var66
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
1651 var67
= ((val
* (*)(val
*))(var66
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__seen_extern
]))(var66
) /* seen_extern on <var66:AbstractCompiler>*/;
1652 ((void (*)(val
*, val
*))(var67
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var67
, var_file
) /* add on <var67:ArraySet[String]>*/;
1658 var72
= string__NativeString__to_s_with_length(var70
, var71
);
1662 var73
= ((val
* (*)(val
*, val
*))(var_file
->class->vft
[COLOR_string__String___43d
]))(var_file
, var69
) /* + on <var_file:String>*/;
1663 var_tryfile
= var73
;
1664 var74
= ((short int (*)(val
*))(var_tryfile
->class->vft
[COLOR_file__String__file_exists
]))(var_tryfile
) /* file_exists on <var_tryfile:String>*/;
1672 var80
= string__NativeString__to_s_with_length(var78
, var79
);
1676 var81
= ((val
* (*)(val
*, val
*))(var_file
->class->vft
[COLOR_string__String___43d
]))(var_file
, var77
) /* + on <var_file:String>*/;
1677 var_tryfile
= var81
;
1678 var82
= ((short int (*)(val
*))(var_tryfile
->class->vft
[COLOR_file__String__file_exists
]))(var_tryfile
) /* file_exists on <var_tryfile:String>*/;
1686 var84
= NEW_c__ExternCFile(&type_c__ExternCFile
);
1692 var89
= string__NativeString__to_s_with_length(var87
, var88
);
1696 var90
= ((val
* (*)(val
*, val
*))(var_tryfile
->class->vft
[COLOR_file__String__basename
]))(var_tryfile
, var86
) /* basename on <var_tryfile:String>*/;
1702 var95
= string__NativeString__to_s_with_length(var93
, var94
);
1706 ((void (*)(val
*, val
*, val
*))(var84
->class->vft
[COLOR_c__ExternCFile__init
]))(var84
, var90
, var92
) /* init on <var84:ExternCFile>*/;
1708 var96
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
1709 var97
= ((val
* (*)(val
*))(var96
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__extern_bodies
]))(var96
) /* extern_bodies on <var96:AbstractCompiler>*/;
1710 ((void (*)(val
*, val
*))(var97
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var97
, var_f
) /* add on <var97:Array[ExternFile]>*/;
1711 var98
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
1712 var99
= ((val
* (*)(val
*))(var98
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__files_to_copy
]))(var98
) /* files_to_copy on <var98:AbstractCompiler>*/;
1713 ((void (*)(val
*, val
*))(var99
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var99
, var_tryfile
) /* add on <var99:Array[String]>*/;
1716 /* method abstract_compiler#AbstractCompilerVisitor#add_extern for (self: Object, String) */
1717 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__add_extern(val
* self
, val
* p0
) {
1718 abstract_compiler__AbstractCompilerVisitor__add_extern(self
, p0
);
1721 /* method abstract_compiler#AbstractCompilerVisitor#new_expr for (self: AbstractCompilerVisitor, String, MType): RuntimeVariable */
1722 val
* abstract_compiler__AbstractCompilerVisitor__new_expr(val
* self
, val
* p0
, val
* p1
) {
1723 val
* var
/* : RuntimeVariable */;
1724 val
* var_cexpr
/* var cexpr: String */;
1725 val
* var_mtype
/* var mtype: MType */;
1726 val
* var1
/* : RuntimeVariable */;
1727 val
* var_res
/* var res: RuntimeVariable */;
1728 static val
* varonce
;
1729 val
* var2
/* : String */;
1730 char* var3
/* : NativeString */;
1731 long var4
/* : Int */;
1732 val
* var5
/* : String */;
1733 static val
* varonce6
;
1734 val
* var7
/* : String */;
1735 char* var8
/* : NativeString */;
1736 long var9
/* : Int */;
1737 val
* var10
/* : String */;
1738 val
* var11
/* : Array[Object] */;
1739 long var12
/* : Int */;
1740 val
* var13
/* : NativeArray[Object] */;
1741 val
* var14
/* : String */;
1744 var1
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(self
, var_mtype
) /* new_var on <self:AbstractCompilerVisitor>*/;
1751 var5
= string__NativeString__to_s_with_length(var3
, var4
);
1760 var10
= string__NativeString__to_s_with_length(var8
, var9
);
1764 var11
= NEW_array__Array(&type_array__Arraykernel__Object
);
1765 { /* var11 = array_instance Array[Object] */
1767 var13
= NEW_array__NativeArray(var12
, &type_array__NativeArraykernel__Object
);
1768 ((struct instance_array__NativeArray
*)var13
)->values
[0] = (val
*) var_res
;
1769 ((struct instance_array__NativeArray
*)var13
)->values
[1] = (val
*) var2
;
1770 ((struct instance_array__NativeArray
*)var13
)->values
[2] = (val
*) var_cexpr
;
1771 ((struct instance_array__NativeArray
*)var13
)->values
[3] = (val
*) var7
;
1772 ((void (*)(val
*, val
*, long))(var11
->class->vft
[COLOR_array__Array__with_native
]))(var11
, var13
, var12
) /* with_native on <var11:Array[Object]>*/;
1774 var14
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_string__Object__to_s
]))(var11
) /* to_s on <var11:Array[Object]>*/;
1775 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var14
) /* add on <self:AbstractCompilerVisitor>*/;
1781 /* method abstract_compiler#AbstractCompilerVisitor#new_expr for (self: Object, String, MType): RuntimeVariable */
1782 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__new_expr(val
* self
, val
* p0
, val
* p1
) {
1783 val
* var
/* : RuntimeVariable */;
1784 val
* var1
/* : RuntimeVariable */;
1785 var1
= abstract_compiler__AbstractCompilerVisitor__new_expr(self
, p0
, p1
);
1790 /* method abstract_compiler#AbstractCompilerVisitor#add_abort for (self: AbstractCompilerVisitor, String) */
1791 void abstract_compiler__AbstractCompilerVisitor__add_abort(val
* self
, val
* p0
) {
1792 val
* var_message
/* var message: String */;
1793 static val
* varonce
;
1794 val
* var
/* : String */;
1795 char* var1
/* : NativeString */;
1796 long var2
/* : Int */;
1797 val
* var3
/* : String */;
1798 val
* var4
/* : String */;
1799 static val
* varonce5
;
1800 val
* var6
/* : String */;
1801 char* var7
/* : NativeString */;
1802 long var8
/* : Int */;
1803 val
* var9
/* : String */;
1804 val
* var10
/* : Array[Object] */;
1805 long var11
/* : Int */;
1806 val
* var12
/* : NativeArray[Object] */;
1807 val
* var13
/* : String */;
1812 var1
= "fprintf(stderr, \"Runtime error: %s\", \"";
1814 var3
= string__NativeString__to_s_with_length(var1
, var2
);
1818 var4
= ((val
* (*)(val
*))(var_message
->class->vft
[COLOR_string__AbstractString__escape_to_c
]))(var_message
) /* escape_to_c on <var_message:String>*/;
1824 var9
= string__NativeString__to_s_with_length(var7
, var8
);
1828 var10
= NEW_array__Array(&type_array__Arraykernel__Object
);
1829 { /* var10 = array_instance Array[Object] */
1831 var12
= NEW_array__NativeArray(var11
, &type_array__NativeArraykernel__Object
);
1832 ((struct instance_array__NativeArray
*)var12
)->values
[0] = (val
*) var
;
1833 ((struct instance_array__NativeArray
*)var12
)->values
[1] = (val
*) var4
;
1834 ((struct instance_array__NativeArray
*)var12
)->values
[2] = (val
*) var6
;
1835 ((void (*)(val
*, val
*, long))(var10
->class->vft
[COLOR_array__Array__with_native
]))(var10
, var12
, var11
) /* with_native on <var10:Array[Object]>*/;
1837 var13
= ((val
* (*)(val
*))(var10
->class->vft
[COLOR_string__Object__to_s
]))(var10
) /* to_s on <var10:Array[Object]>*/;
1838 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var13
) /* add on <self:AbstractCompilerVisitor>*/;
1839 ((void (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_raw_abort
]))(self
) /* add_raw_abort on <self:AbstractCompilerVisitor>*/;
1842 /* method abstract_compiler#AbstractCompilerVisitor#add_abort for (self: Object, String) */
1843 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__add_abort(val
* self
, val
* p0
) {
1844 abstract_compiler__AbstractCompilerVisitor__add_abort(self
, p0
);
1847 /* method abstract_compiler#AbstractCompilerVisitor#add_raw_abort for (self: AbstractCompilerVisitor) */
1848 void abstract_compiler__AbstractCompilerVisitor__add_raw_abort(val
* self
) {
1849 short int var
/* : Bool */;
1850 val
* var1
/* : nullable ANode */;
1851 val
* var2
/* : null */;
1852 short int var3
/* : Bool */;
1853 short int var_
/* var : Bool */;
1854 val
* var4
/* : nullable ANode */;
1855 val
* var5
/* : Location */;
1856 val
* var6
/* : nullable SourceFile */;
1857 val
* var7
/* : null */;
1858 short int var8
/* : Bool */;
1859 static val
* varonce
;
1860 val
* var9
/* : String */;
1861 char* var10
/* : NativeString */;
1862 long var11
/* : Int */;
1863 val
* var12
/* : String */;
1864 val
* var13
/* : nullable ANode */;
1865 val
* var14
/* : Location */;
1866 val
* var15
/* : nullable SourceFile */;
1867 val
* var16
/* : String */;
1868 val
* var17
/* : String */;
1869 static val
* varonce18
;
1870 val
* var19
/* : String */;
1871 char* var20
/* : NativeString */;
1872 long var21
/* : Int */;
1873 val
* var22
/* : String */;
1874 val
* var23
/* : nullable ANode */;
1875 val
* var24
/* : Location */;
1876 long var25
/* : Int */;
1877 static val
* varonce26
;
1878 val
* var27
/* : String */;
1879 char* var28
/* : NativeString */;
1880 long var29
/* : Int */;
1881 val
* var30
/* : String */;
1882 val
* var31
/* : Array[Object] */;
1883 long var32
/* : Int */;
1884 val
* var33
/* : NativeArray[Object] */;
1885 val
* var34
/* : Object */;
1886 val
* var35
/* : String */;
1887 static val
* varonce36
;
1888 val
* var37
/* : String */;
1889 char* var38
/* : NativeString */;
1890 long var39
/* : Int */;
1891 val
* var40
/* : String */;
1892 static val
* varonce41
;
1893 val
* var42
/* : String */;
1894 char* var43
/* : NativeString */;
1895 long var44
/* : Int */;
1896 val
* var45
/* : String */;
1897 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__current_node
]))(self
) /* current_node on <self:AbstractCompilerVisitor>*/;
1900 var3
= 0; /* is null */
1902 var3
= 1; /* arg is null and recv is not */
1906 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__current_node
]))(self
) /* current_node on <self:AbstractCompilerVisitor>*/;
1908 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
1909 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1142);
1912 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_parser_nodes__ANode__location
]))(var4
) /* location on <var4:nullable ANode>*/;
1914 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_location__Location__file
]))(var5
) /* file on <var5:Location>*/;
1917 var8
= 0; /* is null */
1919 var8
= 1; /* arg is null and recv is not */
1929 var10
= "fprintf(stderr, \" (%s:%d)\\n\", \"";
1931 var12
= string__NativeString__to_s_with_length(var10
, var11
);
1935 var13
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__current_node
]))(self
) /* current_node on <self:AbstractCompilerVisitor>*/;
1936 if (var13
== NULL
) {
1937 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
1938 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1143);
1941 var14
= ((val
* (*)(val
*))(var13
->class->vft
[COLOR_parser_nodes__ANode__location
]))(var13
) /* location on <var13:nullable ANode>*/;
1943 var15
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_location__Location__file
]))(var14
) /* file on <var14:Location>*/;
1944 if (var15
== NULL
) {
1945 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
1946 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1143);
1949 var16
= ((val
* (*)(val
*))(var15
->class->vft
[COLOR_location__SourceFile__filename
]))(var15
) /* filename on <var15:nullable SourceFile>*/;
1951 var17
= ((val
* (*)(val
*))(var16
->class->vft
[COLOR_string__AbstractString__escape_to_c
]))(var16
) /* escape_to_c on <var16:String>*/;
1957 var22
= string__NativeString__to_s_with_length(var20
, var21
);
1961 var23
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__current_node
]))(self
) /* current_node on <self:AbstractCompilerVisitor>*/;
1962 if (var23
== NULL
) {
1963 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
1964 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1143);
1967 var24
= ((val
* (*)(val
*))(var23
->class->vft
[COLOR_parser_nodes__ANode__location
]))(var23
) /* location on <var23:nullable ANode>*/;
1969 var25
= ((long (*)(val
*))(var24
->class->vft
[COLOR_location__Location__line_start
]))(var24
) /* line_start on <var24:Location>*/;
1975 var30
= string__NativeString__to_s_with_length(var28
, var29
);
1979 var31
= NEW_array__Array(&type_array__Arraykernel__Object
);
1980 { /* var31 = array_instance Array[Object] */
1982 var33
= NEW_array__NativeArray(var32
, &type_array__NativeArraykernel__Object
);
1983 ((struct instance_array__NativeArray
*)var33
)->values
[0] = (val
*) var9
;
1984 ((struct instance_array__NativeArray
*)var33
)->values
[1] = (val
*) var17
;
1985 ((struct instance_array__NativeArray
*)var33
)->values
[2] = (val
*) var19
;
1986 var34
= BOX_kernel__Int(var25
); /* autobox from Int to Object */
1987 ((struct instance_array__NativeArray
*)var33
)->values
[3] = (val
*) var34
;
1988 ((struct instance_array__NativeArray
*)var33
)->values
[4] = (val
*) var27
;
1989 ((void (*)(val
*, val
*, long))(var31
->class->vft
[COLOR_array__Array__with_native
]))(var31
, var33
, var32
) /* with_native on <var31:Array[Object]>*/;
1991 var35
= ((val
* (*)(val
*))(var31
->class->vft
[COLOR_string__Object__to_s
]))(var31
) /* to_s on <var31:Array[Object]>*/;
1992 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var35
) /* add on <self:AbstractCompilerVisitor>*/;
1997 var38
= "fprintf(stderr, \"\\n\");";
1999 var40
= string__NativeString__to_s_with_length(var38
, var39
);
2003 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var37
) /* add on <self:AbstractCompilerVisitor>*/;
2008 var43
= "show_backtrace(1);";
2010 var45
= string__NativeString__to_s_with_length(var43
, var44
);
2014 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var42
) /* add on <self:AbstractCompilerVisitor>*/;
2017 /* method abstract_compiler#AbstractCompilerVisitor#add_raw_abort for (self: Object) */
2018 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__add_raw_abort(val
* self
) {
2019 abstract_compiler__AbstractCompilerVisitor__add_raw_abort(self
);
2022 /* method abstract_compiler#AbstractCompilerVisitor#add_cast for (self: AbstractCompilerVisitor, RuntimeVariable, MType, String) */
2023 void abstract_compiler__AbstractCompilerVisitor__add_cast(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
2024 val
* var_value
/* var value: RuntimeVariable */;
2025 val
* var_mtype
/* var mtype: MType */;
2026 val
* var_tag
/* var tag: String */;
2027 val
* var
/* : RuntimeVariable */;
2028 val
* var_res
/* var res: RuntimeVariable */;
2029 static val
* varonce
;
2030 val
* var1
/* : String */;
2031 char* var2
/* : NativeString */;
2032 long var3
/* : Int */;
2033 val
* var4
/* : String */;
2034 static val
* varonce5
;
2035 val
* var6
/* : String */;
2036 char* var7
/* : NativeString */;
2037 long var8
/* : Int */;
2038 val
* var9
/* : String */;
2039 val
* var10
/* : Array[Object] */;
2040 long var11
/* : Int */;
2041 val
* var12
/* : NativeArray[Object] */;
2042 val
* var13
/* : String */;
2043 val
* var14
/* : String */;
2044 val
* var_cn
/* var cn: String */;
2045 static val
* varonce15
;
2046 val
* var16
/* : String */;
2047 char* var17
/* : NativeString */;
2048 long var18
/* : Int */;
2049 val
* var19
/* : String */;
2050 val
* var20
/* : String */;
2051 val
* var21
/* : String */;
2052 static val
* varonce22
;
2053 val
* var23
/* : String */;
2054 char* var24
/* : NativeString */;
2055 long var25
/* : Int */;
2056 val
* var26
/* : String */;
2057 static val
* varonce27
;
2058 val
* var28
/* : String */;
2059 char* var29
/* : NativeString */;
2060 long var30
/* : Int */;
2061 val
* var31
/* : String */;
2062 val
* var32
/* : Array[Object] */;
2063 long var33
/* : Int */;
2064 val
* var34
/* : NativeArray[Object] */;
2065 val
* var35
/* : String */;
2066 static val
* varonce36
;
2067 val
* var37
/* : String */;
2068 char* var38
/* : NativeString */;
2069 long var39
/* : Int */;
2070 val
* var40
/* : String */;
2074 var
= ((val
* (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__type_test
]))(self
, var_value
, var_mtype
, var_tag
) /* type_test on <self:AbstractCompilerVisitor>*/;
2081 var4
= string__NativeString__to_s_with_length(var2
, var3
);
2090 var9
= string__NativeString__to_s_with_length(var7
, var8
);
2094 var10
= NEW_array__Array(&type_array__Arraykernel__Object
);
2095 { /* var10 = array_instance Array[Object] */
2097 var12
= NEW_array__NativeArray(var11
, &type_array__NativeArraykernel__Object
);
2098 ((struct instance_array__NativeArray
*)var12
)->values
[0] = (val
*) var1
;
2099 ((struct instance_array__NativeArray
*)var12
)->values
[1] = (val
*) var_res
;
2100 ((struct instance_array__NativeArray
*)var12
)->values
[2] = (val
*) var6
;
2101 ((void (*)(val
*, val
*, long))(var10
->class->vft
[COLOR_array__Array__with_native
]))(var10
, var12
, var11
) /* with_native on <var10:Array[Object]>*/;
2103 var13
= ((val
* (*)(val
*))(var10
->class->vft
[COLOR_string__Object__to_s
]))(var10
) /* to_s on <var10:Array[Object]>*/;
2104 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var13
) /* add on <self:AbstractCompilerVisitor>*/;
2105 var14
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__class_name_string
]))(self
, var_value
) /* class_name_string on <self:AbstractCompilerVisitor>*/;
2110 var17
= "fprintf(stderr, \"Runtime error: Cast failed. Expected `%s`, got `%s`\", \"";
2112 var19
= string__NativeString__to_s_with_length(var17
, var18
);
2116 var20
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_string__Object__to_s
]))(var_mtype
) /* to_s on <var_mtype:MType>*/;
2117 var21
= ((val
* (*)(val
*))(var20
->class->vft
[COLOR_string__AbstractString__escape_to_c
]))(var20
) /* escape_to_c on <var20:String>*/;
2123 var26
= string__NativeString__to_s_with_length(var24
, var25
);
2132 var31
= string__NativeString__to_s_with_length(var29
, var30
);
2136 var32
= NEW_array__Array(&type_array__Arraykernel__Object
);
2137 { /* var32 = array_instance Array[Object] */
2139 var34
= NEW_array__NativeArray(var33
, &type_array__NativeArraykernel__Object
);
2140 ((struct instance_array__NativeArray
*)var34
)->values
[0] = (val
*) var16
;
2141 ((struct instance_array__NativeArray
*)var34
)->values
[1] = (val
*) var21
;
2142 ((struct instance_array__NativeArray
*)var34
)->values
[2] = (val
*) var23
;
2143 ((struct instance_array__NativeArray
*)var34
)->values
[3] = (val
*) var_cn
;
2144 ((struct instance_array__NativeArray
*)var34
)->values
[4] = (val
*) var28
;
2145 ((void (*)(val
*, val
*, long))(var32
->class->vft
[COLOR_array__Array__with_native
]))(var32
, var34
, var33
) /* with_native on <var32:Array[Object]>*/;
2147 var35
= ((val
* (*)(val
*))(var32
->class->vft
[COLOR_string__Object__to_s
]))(var32
) /* to_s on <var32:Array[Object]>*/;
2148 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var35
) /* add on <self:AbstractCompilerVisitor>*/;
2149 ((void (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_raw_abort
]))(self
) /* add_raw_abort on <self:AbstractCompilerVisitor>*/;
2155 var40
= string__NativeString__to_s_with_length(var38
, var39
);
2159 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var37
) /* add on <self:AbstractCompilerVisitor>*/;
2162 /* method abstract_compiler#AbstractCompilerVisitor#add_cast for (self: Object, RuntimeVariable, MType, String) */
2163 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__add_cast(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
2164 abstract_compiler__AbstractCompilerVisitor__add_cast(self
, p0
, p1
, p2
);
2167 /* method abstract_compiler#AbstractCompilerVisitor#ret for (self: AbstractCompilerVisitor, RuntimeVariable) */
2168 void abstract_compiler__AbstractCompilerVisitor__ret(val
* self
, val
* p0
) {
2169 val
* var_s
/* var s: RuntimeVariable */;
2170 val
* var
/* : nullable Frame */;
2171 val
* var1
/* : nullable RuntimeVariable */;
2172 static val
* varonce
;
2173 val
* var2
/* : String */;
2174 char* var3
/* : NativeString */;
2175 long var4
/* : Int */;
2176 val
* var5
/* : String */;
2177 val
* var6
/* : nullable Frame */;
2178 val
* var7
/* : nullable String */;
2179 static val
* varonce8
;
2180 val
* var9
/* : String */;
2181 char* var10
/* : NativeString */;
2182 long var11
/* : Int */;
2183 val
* var12
/* : String */;
2184 val
* var13
/* : Array[Object] */;
2185 long var14
/* : Int */;
2186 val
* var15
/* : NativeArray[Object] */;
2187 val
* var16
/* : String */;
2189 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(self
) /* frame on <self:AbstractCompilerVisitor>*/;
2191 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
2192 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1164);
2195 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_abstract_compiler__Frame__returnvar
]))(var
) /* returnvar on <var:nullable Frame>*/;
2198 fprintf(stderr
, "Runtime error: %s", "Cast failed");
2199 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1164);
2202 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__assign
]))(self
, var1
, var_s
) /* assign on <self:AbstractCompilerVisitor>*/;
2208 var5
= string__NativeString__to_s_with_length(var3
, var4
);
2212 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(self
) /* frame on <self:AbstractCompilerVisitor>*/;
2214 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
2215 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1165);
2218 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_abstract_compiler__Frame__returnlabel
]))(var6
) /* returnlabel on <var6:nullable Frame>*/;
2221 fprintf(stderr
, "Runtime error: %s", "Cast failed");
2222 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1165);
2230 var12
= string__NativeString__to_s_with_length(var10
, var11
);
2234 var13
= NEW_array__Array(&type_array__Arraykernel__Object
);
2235 { /* var13 = array_instance Array[Object] */
2237 var15
= NEW_array__NativeArray(var14
, &type_array__NativeArraykernel__Object
);
2238 ((struct instance_array__NativeArray
*)var15
)->values
[0] = (val
*) var2
;
2239 ((struct instance_array__NativeArray
*)var15
)->values
[1] = (val
*) var7
;
2240 ((struct instance_array__NativeArray
*)var15
)->values
[2] = (val
*) var9
;
2241 ((void (*)(val
*, val
*, long))(var13
->class->vft
[COLOR_array__Array__with_native
]))(var13
, var15
, var14
) /* with_native on <var13:Array[Object]>*/;
2243 var16
= ((val
* (*)(val
*))(var13
->class->vft
[COLOR_string__Object__to_s
]))(var13
) /* to_s on <var13:Array[Object]>*/;
2244 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var16
) /* add on <self:AbstractCompilerVisitor>*/;
2247 /* method abstract_compiler#AbstractCompilerVisitor#ret for (self: Object, RuntimeVariable) */
2248 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__ret(val
* self
, val
* p0
) {
2249 abstract_compiler__AbstractCompilerVisitor__ret(self
, p0
);
2252 /* method abstract_compiler#AbstractCompilerVisitor#stmt for (self: AbstractCompilerVisitor, nullable AExpr) */
2253 void abstract_compiler__AbstractCompilerVisitor__stmt(val
* self
, val
* p0
) {
2254 val
* var_nexpr
/* var nexpr: nullable AExpr */;
2255 val
* var
/* : null */;
2256 short int var1
/* : Bool */;
2257 val
* var2
/* : nullable ANode */;
2258 val
* var_old
/* var old: nullable ANode */;
2261 if (var_nexpr
== NULL
) {
2262 var1
= 1; /* is null */
2264 var1
= 0; /* arg is null but recv is not */
2270 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__current_node
]))(self
) /* current_node on <self:AbstractCompilerVisitor>*/;
2272 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__current_node_61d
]))(self
, var_nexpr
) /* current_node= on <self:AbstractCompilerVisitor>*/;
2273 ((void (*)(val
*, val
*))(var_nexpr
->class->vft
[COLOR_abstract_compiler__AExpr__stmt
]))(var_nexpr
, self
) /* stmt on <var_nexpr:nullable AExpr(AExpr)>*/;
2274 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__current_node_61d
]))(self
, var_old
) /* current_node= on <self:AbstractCompilerVisitor>*/;
2277 /* method abstract_compiler#AbstractCompilerVisitor#stmt for (self: Object, nullable AExpr) */
2278 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__stmt(val
* self
, val
* p0
) {
2279 abstract_compiler__AbstractCompilerVisitor__stmt(self
, p0
);
2282 /* method abstract_compiler#AbstractCompilerVisitor#expr for (self: AbstractCompilerVisitor, AExpr, nullable MType): RuntimeVariable */
2283 val
* abstract_compiler__AbstractCompilerVisitor__expr(val
* self
, val
* p0
, val
* p1
) {
2284 val
* var
/* : RuntimeVariable */;
2285 val
* var_nexpr
/* var nexpr: AExpr */;
2286 val
* var_mtype
/* var mtype: nullable MType */;
2287 val
* var1
/* : nullable ANode */;
2288 val
* var_old
/* var old: nullable ANode */;
2289 val
* var2
/* : nullable RuntimeVariable */;
2290 val
* var_res
/* var res: RuntimeVariable */;
2291 val
* var3
/* : null */;
2292 short int var4
/* : Bool */;
2293 val
* var5
/* : MType */;
2294 val
* var6
/* : RuntimeVariable */;
2295 val
* var7
/* : nullable MType */;
2296 val
* var8
/* : RuntimeVariable */;
2297 val
* var9
/* : nullable MType */;
2298 val
* var_implicit_cast_to
/* var implicit_cast_to: nullable MType */;
2299 short int var10
/* : Bool */;
2300 val
* var11
/* : null */;
2301 short int var12
/* : Bool */;
2302 short int var_
/* var : Bool */;
2303 val
* var13
/* : AbstractCompiler */;
2304 val
* var14
/* : ModelBuilder */;
2305 val
* var15
/* : ToolContext */;
2306 val
* var16
/* : OptionBool */;
2307 val
* var17
/* : nullable Object */;
2308 short int var18
/* : Bool */;
2309 short int var19
/* : Bool */;
2310 static val
* varonce
;
2311 val
* var20
/* : String */;
2312 char* var21
/* : NativeString */;
2313 long var22
/* : Int */;
2314 val
* var23
/* : String */;
2315 val
* var24
/* : RuntimeVariable */;
2318 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__current_node
]))(self
) /* current_node on <self:AbstractCompilerVisitor>*/;
2320 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__current_node_61d
]))(self
, var_nexpr
) /* current_node= on <self:AbstractCompilerVisitor>*/;
2321 var2
= ((val
* (*)(val
*, val
*))(var_nexpr
->class->vft
[COLOR_abstract_compiler__AExpr__expr
]))(var_nexpr
, self
) /* expr on <var_nexpr:AExpr>*/;
2323 fprintf(stderr
, "Runtime error: %s", "Cast failed");
2324 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1184);
2329 if (var_mtype
== NULL
) {
2330 var4
= 0; /* is null */
2332 var4
= 1; /* arg is null and recv is not */
2335 var5
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__anchor
]))(self
, var_mtype
) /* anchor on <self:AbstractCompilerVisitor>*/;
2337 var6
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__autobox
]))(self
, var_res
, var_mtype
) /* autobox on <self:AbstractCompilerVisitor>*/;
2341 var7
= ((val
* (*)(val
*))(var_nexpr
->class->vft
[COLOR_typing__AExpr__mtype
]))(var_nexpr
) /* mtype on <var_nexpr:AExpr>*/;
2343 fprintf(stderr
, "Runtime error: %s", "Cast failed");
2344 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1189);
2347 var8
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__autoadapt
]))(self
, var_res
, var7
) /* autoadapt on <self:AbstractCompilerVisitor>*/;
2349 var9
= ((val
* (*)(val
*))(var_nexpr
->class->vft
[COLOR_typing__AExpr__implicit_cast_to
]))(var_nexpr
) /* implicit_cast_to on <var_nexpr:AExpr>*/;
2350 var_implicit_cast_to
= var9
;
2352 if (var_implicit_cast_to
== NULL
) {
2353 var12
= 0; /* is null */
2355 var12
= 1; /* arg is null and recv is not */
2359 var13
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
2360 var14
= ((val
* (*)(val
*))(var13
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var13
) /* modelbuilder on <var13:AbstractCompiler>*/;
2361 var15
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var14
) /* toolcontext on <var14:ModelBuilder>*/;
2362 var16
= ((val
* (*)(val
*))(var15
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_check_autocast
]))(var15
) /* opt_no_check_autocast on <var15:ToolContext>*/;
2363 var17
= ((val
* (*)(val
*))(var16
->class->vft
[COLOR_opts__Option__value
]))(var16
) /* value on <var16:OptionBool>*/;
2364 var18
= ((struct instance_kernel__Bool
*)var17
)->value
; /* autounbox from nullable Object to Bool */;
2376 var23
= string__NativeString__to_s_with_length(var21
, var22
);
2380 ((void (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_cast
]))(self
, var_res
, var_implicit_cast_to
, var20
) /* add_cast on <self:AbstractCompilerVisitor>*/;
2381 var24
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__autoadapt
]))(self
, var_res
, var_implicit_cast_to
) /* autoadapt on <self:AbstractCompilerVisitor>*/;
2385 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__current_node_61d
]))(self
, var_old
) /* current_node= on <self:AbstractCompilerVisitor>*/;
2391 /* method abstract_compiler#AbstractCompilerVisitor#expr for (self: Object, AExpr, nullable MType): RuntimeVariable */
2392 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__expr(val
* self
, val
* p0
, val
* p1
) {
2393 val
* var
/* : RuntimeVariable */;
2394 val
* var1
/* : RuntimeVariable */;
2395 var1
= abstract_compiler__AbstractCompilerVisitor__expr(self
, p0
, p1
);
2400 /* method abstract_compiler#AbstractCompilerVisitor#expr_bool for (self: AbstractCompilerVisitor, AExpr): RuntimeVariable */
2401 val
* abstract_compiler__AbstractCompilerVisitor__expr_bool(val
* self
, val
* p0
) {
2402 val
* var
/* : RuntimeVariable */;
2403 val
* var_nexpr
/* var nexpr: AExpr */;
2404 val
* var1
/* : MClassType */;
2405 val
* var2
/* : RuntimeVariable */;
2407 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__bool_type
]))(self
) /* bool_type on <self:AbstractCompilerVisitor>*/;
2408 var2
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(self
, var_nexpr
, var1
) /* expr on <self:AbstractCompilerVisitor>*/;
2414 /* method abstract_compiler#AbstractCompilerVisitor#expr_bool for (self: Object, AExpr): RuntimeVariable */
2415 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__expr_bool(val
* self
, val
* p0
) {
2416 val
* var
/* : RuntimeVariable */;
2417 val
* var1
/* : RuntimeVariable */;
2418 var1
= abstract_compiler__AbstractCompilerVisitor__expr_bool(self
, p0
);
2423 /* method abstract_compiler#AbstractCompilerVisitor#debug for (self: AbstractCompilerVisitor, String) */
2424 void abstract_compiler__AbstractCompilerVisitor__debug(val
* self
, val
* p0
) {
2425 val
* var_message
/* var message: String */;
2426 val
* var
/* : nullable ANode */;
2427 val
* var_node
/* var node: nullable ANode */;
2428 val
* var1
/* : null */;
2429 short int var2
/* : Bool */;
2430 static val
* varonce
;
2431 val
* var3
/* : String */;
2432 char* var4
/* : NativeString */;
2433 long var5
/* : Int */;
2434 val
* var6
/* : String */;
2435 val
* var7
/* : Array[Object] */;
2436 long var8
/* : Int */;
2437 val
* var9
/* : NativeArray[Object] */;
2438 val
* var10
/* : String */;
2439 static val
* varonce11
;
2440 val
* var12
/* : String */;
2441 char* var13
/* : NativeString */;
2442 long var14
/* : Int */;
2443 val
* var15
/* : String */;
2444 static val
* varonce16
;
2445 val
* var17
/* : String */;
2446 char* var18
/* : NativeString */;
2447 long var19
/* : Int */;
2448 val
* var20
/* : String */;
2449 val
* var21
/* : Array[Object] */;
2450 long var22
/* : Int */;
2451 val
* var23
/* : NativeArray[Object] */;
2452 val
* var24
/* : String */;
2454 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__current_node
]))(self
) /* current_node on <self:AbstractCompilerVisitor>*/;
2457 if (var_node
== NULL
) {
2458 var2
= 1; /* is null */
2460 var2
= 0; /* arg is null but recv is not */
2468 var6
= string__NativeString__to_s_with_length(var4
, var5
);
2472 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
2473 { /* var7 = array_instance Array[Object] */
2475 var9
= NEW_array__NativeArray(var8
, &type_array__NativeArraykernel__Object
);
2476 ((struct instance_array__NativeArray
*)var9
)->values
[0] = (val
*) var3
;
2477 ((struct instance_array__NativeArray
*)var9
)->values
[1] = (val
*) var_message
;
2478 ((void (*)(val
*, val
*, long))(var7
->class->vft
[COLOR_array__Array__with_native
]))(var7
, var9
, var8
) /* with_native on <var7:Array[Object]>*/;
2480 var10
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_string__Object__to_s
]))(var7
) /* to_s on <var7:Array[Object]>*/;
2481 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_file__Object__print
]))(self
, var10
) /* print on <self:AbstractCompilerVisitor>*/;
2483 ((void (*)(val
*, val
*))(var_node
->class->vft
[COLOR_parser_nodes__ANode__debug
]))(var_node
, var_message
) /* debug on <var_node:nullable ANode(ANode)>*/;
2488 var13
= "/* DEBUG: ";
2490 var15
= string__NativeString__to_s_with_length(var13
, var14
);
2499 var20
= string__NativeString__to_s_with_length(var18
, var19
);
2503 var21
= NEW_array__Array(&type_array__Arraykernel__Object
);
2504 { /* var21 = array_instance Array[Object] */
2506 var23
= NEW_array__NativeArray(var22
, &type_array__NativeArraykernel__Object
);
2507 ((struct instance_array__NativeArray
*)var23
)->values
[0] = (val
*) var12
;
2508 ((struct instance_array__NativeArray
*)var23
)->values
[1] = (val
*) var_message
;
2509 ((struct instance_array__NativeArray
*)var23
)->values
[2] = (val
*) var17
;
2510 ((void (*)(val
*, val
*, long))(var21
->class->vft
[COLOR_array__Array__with_native
]))(var21
, var23
, var22
) /* with_native on <var21:Array[Object]>*/;
2512 var24
= ((val
* (*)(val
*))(var21
->class->vft
[COLOR_string__Object__to_s
]))(var21
) /* to_s on <var21:Array[Object]>*/;
2513 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var24
) /* add on <self:AbstractCompilerVisitor>*/;
2516 /* method abstract_compiler#AbstractCompilerVisitor#debug for (self: Object, String) */
2517 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__debug(val
* self
, val
* p0
) {
2518 abstract_compiler__AbstractCompilerVisitor__debug(self
, p0
);
2521 /* method abstract_compiler#AbstractRuntimeFunction#mmethoddef for (self: AbstractRuntimeFunction): MMethodDef */
2522 val
* abstract_compiler__AbstractRuntimeFunction__mmethoddef(val
* self
) {
2523 val
* var
/* : MMethodDef */;
2524 val
* var1
/* : MMethodDef */;
2525 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractRuntimeFunction___64dmmethoddef
].val
; /* @mmethoddef on <self:AbstractRuntimeFunction> */
2527 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @mmethoddef");
2528 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1222);
2535 /* method abstract_compiler#AbstractRuntimeFunction#mmethoddef for (self: Object): MMethodDef */
2536 val
* VIRTUAL_abstract_compiler__AbstractRuntimeFunction__mmethoddef(val
* self
) {
2537 val
* var
/* : MMethodDef */;
2538 val
* var1
/* : MMethodDef */;
2539 var1
= abstract_compiler__AbstractRuntimeFunction__mmethoddef(self
);
2544 /* method abstract_compiler#AbstractRuntimeFunction#mmethoddef= for (self: AbstractRuntimeFunction, MMethodDef) */
2545 void abstract_compiler__AbstractRuntimeFunction__mmethoddef_61d(val
* self
, val
* p0
) {
2546 self
->attrs
[COLOR_abstract_compiler__AbstractRuntimeFunction___64dmmethoddef
].val
= p0
; /* @mmethoddef on <self:AbstractRuntimeFunction> */
2549 /* method abstract_compiler#AbstractRuntimeFunction#mmethoddef= for (self: Object, MMethodDef) */
2550 void VIRTUAL_abstract_compiler__AbstractRuntimeFunction__mmethoddef_61d(val
* self
, val
* p0
) {
2551 abstract_compiler__AbstractRuntimeFunction__mmethoddef_61d(self
, p0
);
2554 /* method abstract_compiler#AbstractRuntimeFunction#c_name for (self: AbstractRuntimeFunction): String */
2555 val
* abstract_compiler__AbstractRuntimeFunction__c_name(val
* self
) {
2556 val
* var
/* : String */;
2557 val
* var1
/* : nullable String */;
2558 val
* var_res
/* var res: nullable String */;
2559 val
* var2
/* : null */;
2560 short int var3
/* : Bool */;
2561 val
* var4
/* : String */;
2562 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__c_name_cache
]))(self
) /* c_name_cache on <self:AbstractRuntimeFunction>*/;
2565 if (var_res
== NULL
) {
2566 var3
= 0; /* is null */
2568 var3
= 1; /* arg is null and recv is not */
2575 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__build_c_name
]))(self
) /* build_c_name on <self:AbstractRuntimeFunction>*/;
2577 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__c_name_cache_61d
]))(self
, var_res
) /* c_name_cache= on <self:AbstractRuntimeFunction>*/;
2583 /* method abstract_compiler#AbstractRuntimeFunction#c_name for (self: Object): String */
2584 val
* VIRTUAL_abstract_compiler__AbstractRuntimeFunction__c_name(val
* self
) {
2585 val
* var
/* : String */;
2586 val
* var1
/* : String */;
2587 var1
= abstract_compiler__AbstractRuntimeFunction__c_name(self
);
2592 /* method abstract_compiler#AbstractRuntimeFunction#build_c_name for (self: AbstractRuntimeFunction): String */
2593 val
* abstract_compiler__AbstractRuntimeFunction__build_c_name(val
* self
) {
2594 val
* var
/* : String */;
2595 const char* var_class_name
;
2596 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
2597 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "build_c_name", var_class_name
);
2598 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1236);
2603 /* method abstract_compiler#AbstractRuntimeFunction#build_c_name for (self: Object): String */
2604 val
* VIRTUAL_abstract_compiler__AbstractRuntimeFunction__build_c_name(val
* self
) {
2605 val
* var
/* : String */;
2606 val
* var1
/* : String */;
2607 var1
= abstract_compiler__AbstractRuntimeFunction__build_c_name(self
);
2612 /* method abstract_compiler#AbstractRuntimeFunction#c_name_cache for (self: AbstractRuntimeFunction): nullable String */
2613 val
* abstract_compiler__AbstractRuntimeFunction__c_name_cache(val
* self
) {
2614 val
* var
/* : nullable String */;
2615 val
* var1
/* : nullable String */;
2616 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractRuntimeFunction___64dc_name_cache
].val
; /* @c_name_cache on <self:AbstractRuntimeFunction> */
2621 /* method abstract_compiler#AbstractRuntimeFunction#c_name_cache for (self: Object): nullable String */
2622 val
* VIRTUAL_abstract_compiler__AbstractRuntimeFunction__c_name_cache(val
* self
) {
2623 val
* var
/* : nullable String */;
2624 val
* var1
/* : nullable String */;
2625 var1
= abstract_compiler__AbstractRuntimeFunction__c_name_cache(self
);
2630 /* method abstract_compiler#AbstractRuntimeFunction#c_name_cache= for (self: AbstractRuntimeFunction, nullable String) */
2631 void abstract_compiler__AbstractRuntimeFunction__c_name_cache_61d(val
* self
, val
* p0
) {
2632 self
->attrs
[COLOR_abstract_compiler__AbstractRuntimeFunction___64dc_name_cache
].val
= p0
; /* @c_name_cache on <self:AbstractRuntimeFunction> */
2635 /* method abstract_compiler#AbstractRuntimeFunction#c_name_cache= for (self: Object, nullable String) */
2636 void VIRTUAL_abstract_compiler__AbstractRuntimeFunction__c_name_cache_61d(val
* self
, val
* p0
) {
2637 abstract_compiler__AbstractRuntimeFunction__c_name_cache_61d(self
, p0
);
2640 /* method abstract_compiler#AbstractRuntimeFunction#call for (self: AbstractRuntimeFunction, AbstractCompilerVisitor, Array[RuntimeVariable]): nullable RuntimeVariable */
2641 val
* abstract_compiler__AbstractRuntimeFunction__call(val
* self
, val
* p0
, val
* p1
) {
2642 val
* var
/* : nullable RuntimeVariable */;
2643 short int var1
/* : Bool */;
2646 const struct type
* type_struct
;
2647 const char* var_class_name
;
2648 const char* var_class_name2
;
2649 /* Covariant cast for argument 0 (v) <p0:AbstractCompilerVisitor> isa VISITOR */
2650 /* <p0:AbstractCompilerVisitor> isa VISITOR */
2651 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_compiler__AbstractRuntimeFunction_VTVISITOR
];
2652 cltype
= type_struct
->color
;
2653 idtype
= type_struct
->id
;
2654 if(cltype
>= p0
->type
->table_size
) {
2657 var1
= p0
->type
->type_table
[cltype
] == idtype
;
2660 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
2661 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name
);
2662 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1241);
2665 var_class_name2
= self
== NULL ?
"null" : self
->type
->name
;
2666 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "call", var_class_name2
);
2667 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1241);
2672 /* method abstract_compiler#AbstractRuntimeFunction#call for (self: Object, AbstractCompilerVisitor, Array[RuntimeVariable]): nullable RuntimeVariable */
2673 val
* VIRTUAL_abstract_compiler__AbstractRuntimeFunction__call(val
* self
, val
* p0
, val
* p1
) {
2674 val
* var
/* : nullable RuntimeVariable */;
2675 val
* var1
/* : nullable RuntimeVariable */;
2676 var1
= abstract_compiler__AbstractRuntimeFunction__call(self
, p0
, p1
);
2681 /* method abstract_compiler#AbstractRuntimeFunction#compile_to_c for (self: AbstractRuntimeFunction, AbstractCompiler) */
2682 void abstract_compiler__AbstractRuntimeFunction__compile_to_c(val
* self
, val
* p0
) {
2683 short int var
/* : Bool */;
2686 const struct type
* type_struct
;
2687 const char* var_class_name
;
2688 const char* var_class_name1
;
2689 /* Covariant cast for argument 0 (compiler) <p0:AbstractCompiler> isa COMPILER */
2690 /* <p0:AbstractCompiler> isa COMPILER */
2691 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_compiler__AbstractRuntimeFunction_VTCOMPILER
];
2692 cltype
= type_struct
->color
;
2693 idtype
= type_struct
->id
;
2694 if(cltype
>= p0
->type
->table_size
) {
2697 var
= p0
->type
->type_table
[cltype
] == idtype
;
2700 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
2701 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "COMPILER", var_class_name
);
2702 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1245);
2705 var_class_name1
= self
== NULL ?
"null" : self
->type
->name
;
2706 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "compile_to_c", var_class_name1
);
2707 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1245);
2711 /* method abstract_compiler#AbstractRuntimeFunction#compile_to_c for (self: Object, AbstractCompiler) */
2712 void VIRTUAL_abstract_compiler__AbstractRuntimeFunction__compile_to_c(val
* self
, val
* p0
) {
2713 abstract_compiler__AbstractRuntimeFunction__compile_to_c(self
, p0
);
2716 /* method abstract_compiler#AbstractRuntimeFunction#init for (self: AbstractRuntimeFunction, MMethodDef) */
2717 void abstract_compiler__AbstractRuntimeFunction__init(val
* self
, val
* p0
) {
2718 self
->attrs
[COLOR_abstract_compiler__AbstractRuntimeFunction___64dmmethoddef
].val
= p0
; /* @mmethoddef on <self:AbstractRuntimeFunction> */
2721 /* method abstract_compiler#AbstractRuntimeFunction#init for (self: Object, MMethodDef) */
2722 void VIRTUAL_abstract_compiler__AbstractRuntimeFunction__init(val
* self
, val
* p0
) {
2723 abstract_compiler__AbstractRuntimeFunction__init(self
, p0
);
2726 /* method abstract_compiler#RuntimeVariable#name for (self: RuntimeVariable): String */
2727 val
* abstract_compiler__RuntimeVariable__name(val
* self
) {
2728 val
* var
/* : String */;
2729 val
* var1
/* : String */;
2730 var1
= self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___64dname
].val
; /* @name on <self:RuntimeVariable> */
2732 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @name");
2733 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1255);
2740 /* method abstract_compiler#RuntimeVariable#name for (self: Object): String */
2741 val
* VIRTUAL_abstract_compiler__RuntimeVariable__name(val
* self
) {
2742 val
* var
/* : String */;
2743 val
* var1
/* : String */;
2744 var1
= abstract_compiler__RuntimeVariable__name(self
);
2749 /* method abstract_compiler#RuntimeVariable#name= for (self: RuntimeVariable, String) */
2750 void abstract_compiler__RuntimeVariable__name_61d(val
* self
, val
* p0
) {
2751 self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___64dname
].val
= p0
; /* @name on <self:RuntimeVariable> */
2754 /* method abstract_compiler#RuntimeVariable#name= for (self: Object, String) */
2755 void VIRTUAL_abstract_compiler__RuntimeVariable__name_61d(val
* self
, val
* p0
) {
2756 abstract_compiler__RuntimeVariable__name_61d(self
, p0
);
2759 /* method abstract_compiler#RuntimeVariable#mtype for (self: RuntimeVariable): MType */
2760 val
* abstract_compiler__RuntimeVariable__mtype(val
* self
) {
2761 val
* var
/* : MType */;
2762 val
* var1
/* : MType */;
2763 var1
= self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___64dmtype
].val
; /* @mtype on <self:RuntimeVariable> */
2765 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @mtype");
2766 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1258);
2773 /* method abstract_compiler#RuntimeVariable#mtype for (self: Object): MType */
2774 val
* VIRTUAL_abstract_compiler__RuntimeVariable__mtype(val
* self
) {
2775 val
* var
/* : MType */;
2776 val
* var1
/* : MType */;
2777 var1
= abstract_compiler__RuntimeVariable__mtype(self
);
2782 /* method abstract_compiler#RuntimeVariable#mtype= for (self: RuntimeVariable, MType) */
2783 void abstract_compiler__RuntimeVariable__mtype_61d(val
* self
, val
* p0
) {
2784 self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___64dmtype
].val
= p0
; /* @mtype on <self:RuntimeVariable> */
2787 /* method abstract_compiler#RuntimeVariable#mtype= for (self: Object, MType) */
2788 void VIRTUAL_abstract_compiler__RuntimeVariable__mtype_61d(val
* self
, val
* p0
) {
2789 abstract_compiler__RuntimeVariable__mtype_61d(self
, p0
);
2792 /* method abstract_compiler#RuntimeVariable#mcasttype for (self: RuntimeVariable): MType */
2793 val
* abstract_compiler__RuntimeVariable__mcasttype(val
* self
) {
2794 val
* var
/* : MType */;
2795 val
* var1
/* : MType */;
2796 var1
= self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___64dmcasttype
].val
; /* @mcasttype on <self:RuntimeVariable> */
2798 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @mcasttype");
2799 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1261);
2806 /* method abstract_compiler#RuntimeVariable#mcasttype for (self: Object): MType */
2807 val
* VIRTUAL_abstract_compiler__RuntimeVariable__mcasttype(val
* self
) {
2808 val
* var
/* : MType */;
2809 val
* var1
/* : MType */;
2810 var1
= abstract_compiler__RuntimeVariable__mcasttype(self
);
2815 /* method abstract_compiler#RuntimeVariable#mcasttype= for (self: RuntimeVariable, MType) */
2816 void abstract_compiler__RuntimeVariable__mcasttype_61d(val
* self
, val
* p0
) {
2817 self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___64dmcasttype
].val
= p0
; /* @mcasttype on <self:RuntimeVariable> */
2820 /* method abstract_compiler#RuntimeVariable#mcasttype= for (self: Object, MType) */
2821 void VIRTUAL_abstract_compiler__RuntimeVariable__mcasttype_61d(val
* self
, val
* p0
) {
2822 abstract_compiler__RuntimeVariable__mcasttype_61d(self
, p0
);
2825 /* method abstract_compiler#RuntimeVariable#is_exact for (self: RuntimeVariable): Bool */
2826 short int abstract_compiler__RuntimeVariable__is_exact(val
* self
) {
2827 short int var
/* : Bool */;
2828 short int var1
/* : Bool */;
2829 var1
= self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___64dis_exact
].s
; /* @is_exact on <self:RuntimeVariable> */
2834 /* method abstract_compiler#RuntimeVariable#is_exact for (self: Object): Bool */
2835 short int VIRTUAL_abstract_compiler__RuntimeVariable__is_exact(val
* self
) {
2836 short int var
/* : Bool */;
2837 short int var1
/* : Bool */;
2838 var1
= abstract_compiler__RuntimeVariable__is_exact(self
);
2843 /* method abstract_compiler#RuntimeVariable#is_exact= for (self: RuntimeVariable, Bool) */
2844 void abstract_compiler__RuntimeVariable__is_exact_61d(val
* self
, short int p0
) {
2845 self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___64dis_exact
].s
= p0
; /* @is_exact on <self:RuntimeVariable> */
2848 /* method abstract_compiler#RuntimeVariable#is_exact= for (self: Object, Bool) */
2849 void VIRTUAL_abstract_compiler__RuntimeVariable__is_exact_61d(val
* self
, short int p0
) {
2850 abstract_compiler__RuntimeVariable__is_exact_61d(self
, p0
);
2853 /* method abstract_compiler#RuntimeVariable#init for (self: RuntimeVariable, String, MType, MType) */
2854 void abstract_compiler__RuntimeVariable__init(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
2855 val
* var_name
/* var name: String */;
2856 val
* var_mtype
/* var mtype: MType */;
2857 val
* var_mcasttype
/* var mcasttype: MType */;
2858 short int var
/* : Bool */;
2859 short int var1
/* : Bool */;
2860 short int var2
/* : Bool */;
2861 short int var3
/* : Bool */;
2865 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__name_61d
]))(self
, var_name
) /* name= on <self:RuntimeVariable>*/;
2866 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype_61d
]))(self
, var_mtype
) /* mtype= on <self:RuntimeVariable>*/;
2867 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype_61d
]))(self
, var_mcasttype
) /* mcasttype= on <self:RuntimeVariable>*/;
2868 var
= ((short int (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MType__need_anchor
]))(var_mtype
) /* need_anchor on <var_mtype:MType>*/;
2871 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2872 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1273);
2875 var2
= ((short int (*)(val
*))(var_mcasttype
->class->vft
[COLOR_model__MType__need_anchor
]))(var_mcasttype
) /* need_anchor on <var_mcasttype:MType>*/;
2878 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2879 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1274);
2884 /* method abstract_compiler#RuntimeVariable#init for (self: Object, String, MType, MType) */
2885 void VIRTUAL_abstract_compiler__RuntimeVariable__init(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
2886 abstract_compiler__RuntimeVariable__init(self
, p0
, p1
, p2
);
2889 /* method abstract_compiler#RuntimeVariable#to_s for (self: RuntimeVariable): String */
2890 val
* abstract_compiler__RuntimeVariable__to_s(val
* self
) {
2891 val
* var
/* : String */;
2892 val
* var1
/* : String */;
2893 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__name
]))(self
) /* name on <self:RuntimeVariable>*/;
2899 /* method abstract_compiler#RuntimeVariable#to_s for (self: Object): String */
2900 val
* VIRTUAL_abstract_compiler__RuntimeVariable__to_s(val
* self
) {
2901 val
* var
/* : String */;
2902 val
* var1
/* : String */;
2903 var1
= abstract_compiler__RuntimeVariable__to_s(self
);
2908 /* method abstract_compiler#RuntimeVariable#inspect for (self: RuntimeVariable): String */
2909 val
* abstract_compiler__RuntimeVariable__inspect(val
* self
) {
2910 val
* var
/* : String */;
2911 short int var1
/* : Bool */;
2912 static val
* varonce
;
2913 val
* var2
/* : String */;
2914 char* var3
/* : NativeString */;
2915 long var4
/* : Int */;
2916 val
* var5
/* : String */;
2917 val
* var_exact_str
/* var exact_str: nullable Object */;
2918 static val
* varonce6
;
2919 val
* var7
/* : String */;
2920 char* var8
/* : NativeString */;
2921 long var9
/* : Int */;
2922 val
* var10
/* : String */;
2923 val
* var11
/* : MType */;
2924 val
* var12
/* : MType */;
2925 short int var13
/* : Bool */;
2926 val
* var14
/* : MType */;
2927 val
* var15
/* : Array[Object] */;
2928 long var16
/* : Int */;
2929 val
* var17
/* : NativeArray[Object] */;
2930 val
* var18
/* : String */;
2931 val
* var_type_str
/* var type_str: nullable Object */;
2932 val
* var19
/* : MType */;
2933 static val
* varonce20
;
2934 val
* var21
/* : String */;
2935 char* var22
/* : NativeString */;
2936 long var23
/* : Int */;
2937 val
* var24
/* : String */;
2938 val
* var25
/* : MType */;
2939 static val
* varonce26
;
2940 val
* var27
/* : String */;
2941 char* var28
/* : NativeString */;
2942 long var29
/* : Int */;
2943 val
* var30
/* : String */;
2944 val
* var31
/* : Array[Object] */;
2945 long var32
/* : Int */;
2946 val
* var33
/* : NativeArray[Object] */;
2947 val
* var34
/* : String */;
2948 val
* var35
/* : Array[Object] */;
2949 long var36
/* : Int */;
2950 val
* var_
/* var : Array[Object] */;
2951 static val
* varonce37
;
2952 val
* var38
/* : String */;
2953 char* var39
/* : NativeString */;
2954 long var40
/* : Int */;
2955 val
* var41
/* : String */;
2956 val
* var42
/* : String */;
2957 static val
* varonce43
;
2958 val
* var44
/* : String */;
2959 char* var45
/* : NativeString */;
2960 long var46
/* : Int */;
2961 val
* var47
/* : String */;
2962 static val
* varonce48
;
2963 val
* var49
/* : String */;
2964 char* var50
/* : NativeString */;
2965 long var51
/* : Int */;
2966 val
* var52
/* : String */;
2967 val
* var53
/* : String */;
2968 var1
= ((short int (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__is_exact
]))(self
) /* is_exact on <self:RuntimeVariable>*/;
2975 var5
= string__NativeString__to_s_with_length(var3
, var4
);
2979 var_exact_str
= var2
;
2986 var10
= string__NativeString__to_s_with_length(var8
, var9
);
2990 var_exact_str
= var7
;
2992 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(self
) /* mtype on <self:RuntimeVariable>*/;
2993 var12
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(self
) /* mcasttype on <self:RuntimeVariable>*/;
2994 var13
= ((short int (*)(val
*, val
*))(var11
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var11
, var12
) /* == on <var11:MType>*/;
2996 var14
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(self
) /* mtype on <self:RuntimeVariable>*/;
2997 var15
= NEW_array__Array(&type_array__Arraykernel__Object
);
2998 { /* var15 = array_instance Array[Object] */
3000 var17
= NEW_array__NativeArray(var16
, &type_array__NativeArraykernel__Object
);
3001 ((struct instance_array__NativeArray
*)var17
)->values
[0] = (val
*) var14
;
3002 ((struct instance_array__NativeArray
*)var17
)->values
[1] = (val
*) var_exact_str
;
3003 ((void (*)(val
*, val
*, long))(var15
->class->vft
[COLOR_array__Array__with_native
]))(var15
, var17
, var16
) /* with_native on <var15:Array[Object]>*/;
3005 var18
= ((val
* (*)(val
*))(var15
->class->vft
[COLOR_string__Object__to_s
]))(var15
) /* to_s on <var15:Array[Object]>*/;
3006 var_type_str
= var18
;
3008 var19
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(self
) /* mtype on <self:RuntimeVariable>*/;
3014 var24
= string__NativeString__to_s_with_length(var22
, var23
);
3018 var25
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(self
) /* mcasttype on <self:RuntimeVariable>*/;
3024 var30
= string__NativeString__to_s_with_length(var28
, var29
);
3028 var31
= NEW_array__Array(&type_array__Arraykernel__Object
);
3029 { /* var31 = array_instance Array[Object] */
3031 var33
= NEW_array__NativeArray(var32
, &type_array__NativeArraykernel__Object
);
3032 ((struct instance_array__NativeArray
*)var33
)->values
[0] = (val
*) var19
;
3033 ((struct instance_array__NativeArray
*)var33
)->values
[1] = (val
*) var21
;
3034 ((struct instance_array__NativeArray
*)var33
)->values
[2] = (val
*) var25
;
3035 ((struct instance_array__NativeArray
*)var33
)->values
[3] = (val
*) var_exact_str
;
3036 ((struct instance_array__NativeArray
*)var33
)->values
[4] = (val
*) var27
;
3037 ((void (*)(val
*, val
*, long))(var31
->class->vft
[COLOR_array__Array__with_native
]))(var31
, var33
, var32
) /* with_native on <var31:Array[Object]>*/;
3039 var34
= ((val
* (*)(val
*))(var31
->class->vft
[COLOR_string__Object__to_s
]))(var31
) /* to_s on <var31:Array[Object]>*/;
3040 var_type_str
= var34
;
3042 var35
= NEW_array__Array(&type_array__Arraykernel__Object
);
3044 ((void (*)(val
*, long))(var35
->class->vft
[COLOR_array__Array__with_capacity
]))(var35
, var36
) /* with_capacity on <var35:Array[Object]>*/;
3051 var41
= string__NativeString__to_s_with_length(var39
, var40
);
3055 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var38
) /* add on <var_:Array[Object]>*/;
3056 var42
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__name
]))(self
) /* name on <self:RuntimeVariable>*/;
3057 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var42
) /* add on <var_:Array[Object]>*/;
3063 var47
= string__NativeString__to_s_with_length(var45
, var46
);
3067 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var44
) /* add on <var_:Array[Object]>*/;
3068 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var_type_str
) /* add on <var_:Array[Object]>*/;
3074 var52
= string__NativeString__to_s_with_length(var50
, var51
);
3078 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var49
) /* add on <var_:Array[Object]>*/;
3079 var53
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
3085 /* method abstract_compiler#RuntimeVariable#inspect for (self: Object): String */
3086 val
* VIRTUAL_abstract_compiler__RuntimeVariable__inspect(val
* self
) {
3087 val
* var
/* : String */;
3088 val
* var1
/* : String */;
3089 var1
= abstract_compiler__RuntimeVariable__inspect(self
);
3094 /* method abstract_compiler#Frame#visitor for (self: Frame): AbstractCompilerVisitor */
3095 val
* abstract_compiler__Frame__visitor(val
* self
) {
3096 val
* var
/* : AbstractCompilerVisitor */;
3097 val
* var1
/* : AbstractCompilerVisitor */;
3098 var1
= self
->attrs
[COLOR_abstract_compiler__Frame___64dvisitor
].val
; /* @visitor on <self:Frame> */
3100 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @visitor");
3101 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1302);
3108 /* method abstract_compiler#Frame#visitor for (self: Object): AbstractCompilerVisitor */
3109 val
* VIRTUAL_abstract_compiler__Frame__visitor(val
* self
) {
3110 val
* var
/* : AbstractCompilerVisitor */;
3111 val
* var1
/* : AbstractCompilerVisitor */;
3112 var1
= abstract_compiler__Frame__visitor(self
);
3117 /* method abstract_compiler#Frame#visitor= for (self: Frame, AbstractCompilerVisitor) */
3118 void abstract_compiler__Frame__visitor_61d(val
* self
, val
* p0
) {
3119 short int var
/* : Bool */;
3122 const struct type
* type_struct
;
3123 const char* var_class_name
;
3124 /* Covariant cast for argument 0 (visitor) <p0:AbstractCompilerVisitor> isa VISITOR */
3125 /* <p0:AbstractCompilerVisitor> isa VISITOR */
3126 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_compiler__Frame_VTVISITOR
];
3127 cltype
= type_struct
->color
;
3128 idtype
= type_struct
->id
;
3129 if(cltype
>= p0
->type
->table_size
) {
3132 var
= p0
->type
->type_table
[cltype
] == idtype
;
3135 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
3136 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name
);
3137 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1302);
3140 self
->attrs
[COLOR_abstract_compiler__Frame___64dvisitor
].val
= p0
; /* @visitor on <self:Frame> */
3143 /* method abstract_compiler#Frame#visitor= for (self: Object, AbstractCompilerVisitor) */
3144 void VIRTUAL_abstract_compiler__Frame__visitor_61d(val
* self
, val
* p0
) {
3145 abstract_compiler__Frame__visitor_61d(self
, p0
);
3148 /* method abstract_compiler#Frame#mpropdef for (self: Frame): MPropDef */
3149 val
* abstract_compiler__Frame__mpropdef(val
* self
) {
3150 val
* var
/* : MPropDef */;
3151 val
* var1
/* : MPropDef */;
3152 var1
= self
->attrs
[COLOR_abstract_compiler__Frame___64dmpropdef
].val
; /* @mpropdef on <self:Frame> */
3154 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @mpropdef");
3155 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1305);
3162 /* method abstract_compiler#Frame#mpropdef for (self: Object): MPropDef */
3163 val
* VIRTUAL_abstract_compiler__Frame__mpropdef(val
* self
) {
3164 val
* var
/* : MPropDef */;
3165 val
* var1
/* : MPropDef */;
3166 var1
= abstract_compiler__Frame__mpropdef(self
);
3171 /* method abstract_compiler#Frame#mpropdef= for (self: Frame, MPropDef) */
3172 void abstract_compiler__Frame__mpropdef_61d(val
* self
, val
* p0
) {
3173 self
->attrs
[COLOR_abstract_compiler__Frame___64dmpropdef
].val
= p0
; /* @mpropdef on <self:Frame> */
3176 /* method abstract_compiler#Frame#mpropdef= for (self: Object, MPropDef) */
3177 void VIRTUAL_abstract_compiler__Frame__mpropdef_61d(val
* self
, val
* p0
) {
3178 abstract_compiler__Frame__mpropdef_61d(self
, p0
);
3181 /* method abstract_compiler#Frame#receiver for (self: Frame): MClassType */
3182 val
* abstract_compiler__Frame__receiver(val
* self
) {
3183 val
* var
/* : MClassType */;
3184 val
* var1
/* : MClassType */;
3185 var1
= self
->attrs
[COLOR_abstract_compiler__Frame___64dreceiver
].val
; /* @receiver on <self:Frame> */
3187 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @receiver");
3188 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1309);
3195 /* method abstract_compiler#Frame#receiver for (self: Object): MClassType */
3196 val
* VIRTUAL_abstract_compiler__Frame__receiver(val
* self
) {
3197 val
* var
/* : MClassType */;
3198 val
* var1
/* : MClassType */;
3199 var1
= abstract_compiler__Frame__receiver(self
);
3204 /* method abstract_compiler#Frame#receiver= for (self: Frame, MClassType) */
3205 void abstract_compiler__Frame__receiver_61d(val
* self
, val
* p0
) {
3206 self
->attrs
[COLOR_abstract_compiler__Frame___64dreceiver
].val
= p0
; /* @receiver on <self:Frame> */
3209 /* method abstract_compiler#Frame#receiver= for (self: Object, MClassType) */
3210 void VIRTUAL_abstract_compiler__Frame__receiver_61d(val
* self
, val
* p0
) {
3211 abstract_compiler__Frame__receiver_61d(self
, p0
);
3214 /* method abstract_compiler#Frame#arguments for (self: Frame): Array[RuntimeVariable] */
3215 val
* abstract_compiler__Frame__arguments(val
* self
) {
3216 val
* var
/* : Array[RuntimeVariable] */;
3217 val
* var1
/* : Array[RuntimeVariable] */;
3218 var1
= self
->attrs
[COLOR_abstract_compiler__Frame___64darguments
].val
; /* @arguments on <self:Frame> */
3220 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @arguments");
3221 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1312);
3228 /* method abstract_compiler#Frame#arguments for (self: Object): Array[RuntimeVariable] */
3229 val
* VIRTUAL_abstract_compiler__Frame__arguments(val
* self
) {
3230 val
* var
/* : Array[RuntimeVariable] */;
3231 val
* var1
/* : Array[RuntimeVariable] */;
3232 var1
= abstract_compiler__Frame__arguments(self
);
3237 /* method abstract_compiler#Frame#arguments= for (self: Frame, Array[RuntimeVariable]) */
3238 void abstract_compiler__Frame__arguments_61d(val
* self
, val
* p0
) {
3239 self
->attrs
[COLOR_abstract_compiler__Frame___64darguments
].val
= p0
; /* @arguments on <self:Frame> */
3242 /* method abstract_compiler#Frame#arguments= for (self: Object, Array[RuntimeVariable]) */
3243 void VIRTUAL_abstract_compiler__Frame__arguments_61d(val
* self
, val
* p0
) {
3244 abstract_compiler__Frame__arguments_61d(self
, p0
);
3247 /* method abstract_compiler#Frame#returnvar for (self: Frame): nullable RuntimeVariable */
3248 val
* abstract_compiler__Frame__returnvar(val
* self
) {
3249 val
* var
/* : nullable RuntimeVariable */;
3250 val
* var1
/* : nullable RuntimeVariable */;
3251 var1
= self
->attrs
[COLOR_abstract_compiler__Frame___64dreturnvar
].val
; /* @returnvar on <self:Frame> */
3256 /* method abstract_compiler#Frame#returnvar for (self: Object): nullable RuntimeVariable */
3257 val
* VIRTUAL_abstract_compiler__Frame__returnvar(val
* self
) {
3258 val
* var
/* : nullable RuntimeVariable */;
3259 val
* var1
/* : nullable RuntimeVariable */;
3260 var1
= abstract_compiler__Frame__returnvar(self
);
3265 /* method abstract_compiler#Frame#returnvar= for (self: Frame, nullable RuntimeVariable) */
3266 void abstract_compiler__Frame__returnvar_61d(val
* self
, val
* p0
) {
3267 self
->attrs
[COLOR_abstract_compiler__Frame___64dreturnvar
].val
= p0
; /* @returnvar on <self:Frame> */
3270 /* method abstract_compiler#Frame#returnvar= for (self: Object, nullable RuntimeVariable) */
3271 void VIRTUAL_abstract_compiler__Frame__returnvar_61d(val
* self
, val
* p0
) {
3272 abstract_compiler__Frame__returnvar_61d(self
, p0
);
3275 /* method abstract_compiler#Frame#returnlabel for (self: Frame): nullable String */
3276 val
* abstract_compiler__Frame__returnlabel(val
* self
) {
3277 val
* var
/* : nullable String */;
3278 val
* var1
/* : nullable String */;
3279 var1
= self
->attrs
[COLOR_abstract_compiler__Frame___64dreturnlabel
].val
; /* @returnlabel on <self:Frame> */
3284 /* method abstract_compiler#Frame#returnlabel for (self: Object): nullable String */
3285 val
* VIRTUAL_abstract_compiler__Frame__returnlabel(val
* self
) {
3286 val
* var
/* : nullable String */;
3287 val
* var1
/* : nullable String */;
3288 var1
= abstract_compiler__Frame__returnlabel(self
);
3293 /* method abstract_compiler#Frame#returnlabel= for (self: Frame, nullable String) */
3294 void abstract_compiler__Frame__returnlabel_61d(val
* self
, val
* p0
) {
3295 self
->attrs
[COLOR_abstract_compiler__Frame___64dreturnlabel
].val
= p0
; /* @returnlabel on <self:Frame> */
3298 /* method abstract_compiler#Frame#returnlabel= for (self: Object, nullable String) */
3299 void VIRTUAL_abstract_compiler__Frame__returnlabel_61d(val
* self
, val
* p0
) {
3300 abstract_compiler__Frame__returnlabel_61d(self
, p0
);
3303 /* method abstract_compiler#Frame#init for (self: Frame, AbstractCompilerVisitor, MPropDef, MClassType, Array[RuntimeVariable]) */
3304 void abstract_compiler__Frame__init(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
3305 short int var
/* : Bool */;
3308 const struct type
* type_struct
;
3309 const char* var_class_name
;
3310 /* Covariant cast for argument 0 (visitor) <p0:AbstractCompilerVisitor> isa VISITOR */
3311 /* <p0:AbstractCompilerVisitor> isa VISITOR */
3312 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_compiler__Frame_VTVISITOR
];
3313 cltype
= type_struct
->color
;
3314 idtype
= type_struct
->id
;
3315 if(cltype
>= p0
->type
->table_size
) {
3318 var
= p0
->type
->type_table
[cltype
] == idtype
;
3321 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
3322 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name
);
3323 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1297);
3326 self
->attrs
[COLOR_abstract_compiler__Frame___64dvisitor
].val
= p0
; /* @visitor on <self:Frame> */
3327 self
->attrs
[COLOR_abstract_compiler__Frame___64dmpropdef
].val
= p1
; /* @mpropdef on <self:Frame> */
3328 self
->attrs
[COLOR_abstract_compiler__Frame___64dreceiver
].val
= p2
; /* @receiver on <self:Frame> */
3329 self
->attrs
[COLOR_abstract_compiler__Frame___64darguments
].val
= p3
; /* @arguments on <self:Frame> */
3332 /* method abstract_compiler#Frame#init for (self: Object, AbstractCompilerVisitor, MPropDef, MClassType, Array[RuntimeVariable]) */
3333 void VIRTUAL_abstract_compiler__Frame__init(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
3334 abstract_compiler__Frame__init(self
, p0
, p1
, p2
, p3
);
3337 /* method abstract_compiler#MType#ctype for (self: MType): String */
3338 val
* abstract_compiler__MType__ctype(val
* self
) {
3339 val
* var
/* : String */;
3340 static val
* varonce
;
3341 val
* var1
/* : String */;
3342 char* var2
/* : NativeString */;
3343 long var3
/* : Int */;
3344 val
* var4
/* : String */;
3350 var4
= string__NativeString__to_s_with_length(var2
, var3
);
3359 /* method abstract_compiler#MType#ctype for (self: Object): String */
3360 val
* VIRTUAL_abstract_compiler__MType__ctype(val
* self
) {
3361 val
* var
/* : String */;
3362 val
* var1
/* : String */;
3363 var1
= abstract_compiler__MType__ctype(self
);
3368 /* method abstract_compiler#MType#ctypename for (self: MType): String */
3369 val
* abstract_compiler__MType__ctypename(val
* self
) {
3370 val
* var
/* : String */;
3371 static val
* varonce
;
3372 val
* var1
/* : String */;
3373 char* var2
/* : NativeString */;
3374 long var3
/* : Int */;
3375 val
* var4
/* : String */;
3381 var4
= string__NativeString__to_s_with_length(var2
, var3
);
3390 /* method abstract_compiler#MType#ctypename for (self: Object): String */
3391 val
* VIRTUAL_abstract_compiler__MType__ctypename(val
* self
) {
3392 val
* var
/* : String */;
3393 val
* var1
/* : String */;
3394 var1
= abstract_compiler__MType__ctypename(self
);
3399 /* method abstract_compiler#MType#c_name for (self: MType): String */
3400 val
* abstract_compiler__MType__c_name(val
* self
) {
3401 val
* var
/* : String */;
3402 const char* var_class_name
;
3403 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
3404 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "c_name", var_class_name
);
3405 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1328);
3410 /* method abstract_compiler#MType#c_name for (self: Object): String */
3411 val
* VIRTUAL_abstract_compiler__MType__c_name(val
* self
) {
3412 val
* var
/* : String */;
3413 val
* var1
/* : String */;
3414 var1
= abstract_compiler__MType__c_name(self
);
3419 /* method abstract_compiler#MType#c_name_cache for (self: MType): nullable String */
3420 val
* abstract_compiler__MType__c_name_cache(val
* self
) {
3421 val
* var
/* : nullable String */;
3422 val
* var1
/* : nullable String */;
3423 var1
= self
->attrs
[COLOR_abstract_compiler__MType___64dc_name_cache
].val
; /* @c_name_cache on <self:MType> */
3428 /* method abstract_compiler#MType#c_name_cache for (self: Object): nullable String */
3429 val
* VIRTUAL_abstract_compiler__MType__c_name_cache(val
* self
) {
3430 val
* var
/* : nullable String */;
3431 val
* var1
/* : nullable String */;
3432 var1
= abstract_compiler__MType__c_name_cache(self
);
3437 /* method abstract_compiler#MType#c_name_cache= for (self: MType, nullable String) */
3438 void abstract_compiler__MType__c_name_cache_61d(val
* self
, val
* p0
) {
3439 self
->attrs
[COLOR_abstract_compiler__MType___64dc_name_cache
].val
= p0
; /* @c_name_cache on <self:MType> */
3442 /* method abstract_compiler#MType#c_name_cache= for (self: Object, nullable String) */
3443 void VIRTUAL_abstract_compiler__MType__c_name_cache_61d(val
* self
, val
* p0
) {
3444 abstract_compiler__MType__c_name_cache_61d(self
, p0
);
3447 /* method abstract_compiler#MClassType#c_name for (self: MClassType): String */
3448 val
* abstract_compiler__MClassType__c_name(val
* self
) {
3449 val
* var
/* : String */;
3450 val
* var1
/* : nullable String */;
3451 val
* var_res
/* var res: nullable String */;
3452 val
* var2
/* : null */;
3453 short int var3
/* : Bool */;
3454 val
* var4
/* : Array[Object] */;
3455 long var5
/* : Int */;
3456 val
* var_
/* var : Array[Object] */;
3457 static val
* varonce
;
3458 val
* var6
/* : String */;
3459 char* var7
/* : NativeString */;
3460 long var8
/* : Int */;
3461 val
* var9
/* : String */;
3462 val
* var10
/* : MClass */;
3463 val
* var11
/* : MModule */;
3464 val
* var12
/* : String */;
3465 val
* var13
/* : String */;
3466 static val
* varonce14
;
3467 val
* var15
/* : String */;
3468 char* var16
/* : NativeString */;
3469 long var17
/* : Int */;
3470 val
* var18
/* : String */;
3471 val
* var19
/* : MClass */;
3472 val
* var20
/* : String */;
3473 val
* var21
/* : String */;
3474 static val
* varonce22
;
3475 val
* var23
/* : String */;
3476 char* var24
/* : NativeString */;
3477 long var25
/* : Int */;
3478 val
* var26
/* : String */;
3479 val
* var27
/* : String */;
3480 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__MType__c_name_cache
]))(self
) /* c_name_cache on <self:MClassType>*/;
3483 if (var_res
== NULL
) {
3484 var3
= 0; /* is null */
3486 var3
= 1; /* arg is null and recv is not */
3493 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
3495 ((void (*)(val
*, long))(var4
->class->vft
[COLOR_array__Array__with_capacity
]))(var4
, var5
) /* with_capacity on <var4:Array[Object]>*/;
3502 var9
= string__NativeString__to_s_with_length(var7
, var8
);
3506 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var6
) /* add on <var_:Array[Object]>*/;
3507 var10
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__MClassType__mclass
]))(self
) /* mclass on <self:MClassType>*/;
3508 var11
= ((val
* (*)(val
*))(var10
->class->vft
[COLOR_model__MClass__intro_mmodule
]))(var10
) /* intro_mmodule on <var10:MClass>*/;
3509 var12
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_mmodule__MModule__name
]))(var11
) /* name on <var11:MModule>*/;
3510 var13
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_string__AbstractString__to_cmangle
]))(var12
) /* to_cmangle on <var12:String>*/;
3511 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var13
) /* add on <var_:Array[Object]>*/;
3517 var18
= string__NativeString__to_s_with_length(var16
, var17
);
3521 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var15
) /* add on <var_:Array[Object]>*/;
3522 var19
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__MClassType__mclass
]))(self
) /* mclass on <self:MClassType>*/;
3523 var20
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_model__MClass__name
]))(var19
) /* name on <var19:MClass>*/;
3524 var21
= ((val
* (*)(val
*))(var20
->class->vft
[COLOR_string__AbstractString__to_cmangle
]))(var20
) /* to_cmangle on <var20:String>*/;
3525 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var21
) /* add on <var_:Array[Object]>*/;
3531 var26
= string__NativeString__to_s_with_length(var24
, var25
);
3535 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var23
) /* add on <var_:Array[Object]>*/;
3536 var27
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
3538 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__MType__c_name_cache_61d
]))(self
, var_res
) /* c_name_cache= on <self:MClassType>*/;
3544 /* method abstract_compiler#MClassType#c_name for (self: Object): String */
3545 val
* VIRTUAL_abstract_compiler__MClassType__c_name(val
* self
) {
3546 val
* var
/* : String */;
3547 val
* var1
/* : String */;
3548 var1
= abstract_compiler__MClassType__c_name(self
);
3553 /* method abstract_compiler#MClassType#ctype for (self: MClassType): String */
3554 val
* abstract_compiler__MClassType__ctype(val
* self
) {
3555 val
* var
/* : String */;
3556 val
* var1
/* : MClass */;
3557 val
* var2
/* : String */;
3558 static val
* varonce
;
3559 val
* var3
/* : String */;
3560 char* var4
/* : NativeString */;
3561 long var5
/* : Int */;
3562 val
* var6
/* : String */;
3563 short int var7
/* : Bool */;
3564 static val
* varonce8
;
3565 val
* var9
/* : String */;
3566 char* var10
/* : NativeString */;
3567 long var11
/* : Int */;
3568 val
* var12
/* : String */;
3569 val
* var13
/* : MClass */;
3570 val
* var14
/* : String */;
3571 static val
* varonce15
;
3572 val
* var16
/* : String */;
3573 char* var17
/* : NativeString */;
3574 long var18
/* : Int */;
3575 val
* var19
/* : String */;
3576 short int var20
/* : Bool */;
3577 static val
* varonce21
;
3578 val
* var22
/* : String */;
3579 char* var23
/* : NativeString */;
3580 long var24
/* : Int */;
3581 val
* var25
/* : String */;
3582 val
* var26
/* : MClass */;
3583 val
* var27
/* : String */;
3584 static val
* varonce28
;
3585 val
* var29
/* : String */;
3586 char* var30
/* : NativeString */;
3587 long var31
/* : Int */;
3588 val
* var32
/* : String */;
3589 short int var33
/* : Bool */;
3590 static val
* varonce34
;
3591 val
* var35
/* : String */;
3592 char* var36
/* : NativeString */;
3593 long var37
/* : Int */;
3594 val
* var38
/* : String */;
3595 val
* var39
/* : MClass */;
3596 val
* var40
/* : String */;
3597 static val
* varonce41
;
3598 val
* var42
/* : String */;
3599 char* var43
/* : NativeString */;
3600 long var44
/* : Int */;
3601 val
* var45
/* : String */;
3602 short int var46
/* : Bool */;
3603 static val
* varonce47
;
3604 val
* var48
/* : String */;
3605 char* var49
/* : NativeString */;
3606 long var50
/* : Int */;
3607 val
* var51
/* : String */;
3608 val
* var52
/* : MClass */;
3609 val
* var53
/* : String */;
3610 static val
* varonce54
;
3611 val
* var55
/* : String */;
3612 char* var56
/* : NativeString */;
3613 long var57
/* : Int */;
3614 val
* var58
/* : String */;
3615 short int var59
/* : Bool */;
3616 static val
* varonce60
;
3617 val
* var61
/* : String */;
3618 char* var62
/* : NativeString */;
3619 long var63
/* : Int */;
3620 val
* var64
/* : String */;
3621 val
* var65
/* : MClass */;
3622 val
* var66
/* : String */;
3623 static val
* varonce67
;
3624 val
* var68
/* : String */;
3625 char* var69
/* : NativeString */;
3626 long var70
/* : Int */;
3627 val
* var71
/* : String */;
3628 short int var72
/* : Bool */;
3629 static val
* varonce73
;
3630 val
* var74
/* : String */;
3631 char* var75
/* : NativeString */;
3632 long var76
/* : Int */;
3633 val
* var77
/* : String */;
3634 val
* var78
/* : MClass */;
3635 val
* var79
/* : MClassKind */;
3636 val
* var80
/* : MClassKind */;
3637 short int var81
/* : Bool */;
3638 static val
* varonce82
;
3639 val
* var83
/* : String */;
3640 char* var84
/* : NativeString */;
3641 long var85
/* : Int */;
3642 val
* var86
/* : String */;
3643 static val
* varonce87
;
3644 val
* var88
/* : String */;
3645 char* var89
/* : NativeString */;
3646 long var90
/* : Int */;
3647 val
* var91
/* : String */;
3648 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__MClassType__mclass
]))(self
) /* mclass on <self:MClassType>*/;
3649 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_model__MClass__name
]))(var1
) /* name on <var1:MClass>*/;
3655 var6
= string__NativeString__to_s_with_length(var4
, var5
);
3659 var7
= ((short int (*)(val
*, val
*))(var2
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var2
, var3
) /* == on <var2:String>*/;
3666 var12
= string__NativeString__to_s_with_length(var10
, var11
);
3673 var13
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__MClassType__mclass
]))(self
) /* mclass on <self:MClassType>*/;
3674 var14
= ((val
* (*)(val
*))(var13
->class->vft
[COLOR_model__MClass__name
]))(var13
) /* name on <var13:MClass>*/;
3680 var19
= string__NativeString__to_s_with_length(var17
, var18
);
3684 var20
= ((short int (*)(val
*, val
*))(var14
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var14
, var16
) /* == on <var14:String>*/;
3689 var23
= "short int";
3691 var25
= string__NativeString__to_s_with_length(var23
, var24
);
3698 var26
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__MClassType__mclass
]))(self
) /* mclass on <self:MClassType>*/;
3699 var27
= ((val
* (*)(val
*))(var26
->class->vft
[COLOR_model__MClass__name
]))(var26
) /* name on <var26:MClass>*/;
3705 var32
= string__NativeString__to_s_with_length(var30
, var31
);
3709 var33
= ((short int (*)(val
*, val
*))(var27
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var27
, var29
) /* == on <var27:String>*/;
3716 var38
= string__NativeString__to_s_with_length(var36
, var37
);
3723 var39
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__MClassType__mclass
]))(self
) /* mclass on <self:MClassType>*/;
3724 var40
= ((val
* (*)(val
*))(var39
->class->vft
[COLOR_model__MClass__name
]))(var39
) /* name on <var39:MClass>*/;
3730 var45
= string__NativeString__to_s_with_length(var43
, var44
);
3734 var46
= ((short int (*)(val
*, val
*))(var40
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var40
, var42
) /* == on <var40:String>*/;
3741 var51
= string__NativeString__to_s_with_length(var49
, var50
);
3748 var52
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__MClassType__mclass
]))(self
) /* mclass on <self:MClassType>*/;
3749 var53
= ((val
* (*)(val
*))(var52
->class->vft
[COLOR_model__MClass__name
]))(var52
) /* name on <var52:MClass>*/;
3753 var56
= "NativeString";
3755 var58
= string__NativeString__to_s_with_length(var56
, var57
);
3759 var59
= ((short int (*)(val
*, val
*))(var53
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var53
, var55
) /* == on <var53:String>*/;
3766 var64
= string__NativeString__to_s_with_length(var62
, var63
);
3773 var65
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__MClassType__mclass
]))(self
) /* mclass on <self:MClassType>*/;
3774 var66
= ((val
* (*)(val
*))(var65
->class->vft
[COLOR_model__MClass__name
]))(var65
) /* name on <var65:MClass>*/;
3778 var69
= "NativeArray";
3780 var71
= string__NativeString__to_s_with_length(var69
, var70
);
3784 var72
= ((short int (*)(val
*, val
*))(var66
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var66
, var68
) /* == on <var66:String>*/;
3791 var77
= string__NativeString__to_s_with_length(var75
, var76
);
3798 var78
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__MClassType__mclass
]))(self
) /* mclass on <self:MClassType>*/;
3799 var79
= ((val
* (*)(val
*))(var78
->class->vft
[COLOR_model__MClass__kind
]))(var78
) /* kind on <var78:MClass>*/;
3800 var80
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__Object__extern_kind
]))(self
) /* extern_kind on <self:MClassType>*/;
3801 var81
= ((short int (*)(val
*, val
*))(var79
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var79
, var80
) /* == on <var79:MClassKind>*/;
3808 var86
= string__NativeString__to_s_with_length(var84
, var85
);
3820 var91
= string__NativeString__to_s_with_length(var89
, var90
);
3836 /* method abstract_compiler#MClassType#ctype for (self: Object): String */
3837 val
* VIRTUAL_abstract_compiler__MClassType__ctype(val
* self
) {
3838 val
* var
/* : String */;
3839 val
* var1
/* : String */;
3840 var1
= abstract_compiler__MClassType__ctype(self
);
3845 /* method abstract_compiler#MClassType#ctypename for (self: MClassType): String */
3846 val
* abstract_compiler__MClassType__ctypename(val
* self
) {
3847 val
* var
/* : String */;
3848 val
* var1
/* : MClass */;
3849 val
* var2
/* : String */;
3850 static val
* varonce
;
3851 val
* var3
/* : String */;
3852 char* var4
/* : NativeString */;
3853 long var5
/* : Int */;
3854 val
* var6
/* : String */;
3855 short int var7
/* : Bool */;
3856 static val
* varonce8
;
3857 val
* var9
/* : String */;
3858 char* var10
/* : NativeString */;
3859 long var11
/* : Int */;
3860 val
* var12
/* : String */;
3861 val
* var13
/* : MClass */;
3862 val
* var14
/* : String */;
3863 static val
* varonce15
;
3864 val
* var16
/* : String */;
3865 char* var17
/* : NativeString */;
3866 long var18
/* : Int */;
3867 val
* var19
/* : String */;
3868 short int var20
/* : Bool */;
3869 static val
* varonce21
;
3870 val
* var22
/* : String */;
3871 char* var23
/* : NativeString */;
3872 long var24
/* : Int */;
3873 val
* var25
/* : String */;
3874 val
* var26
/* : MClass */;
3875 val
* var27
/* : String */;
3876 static val
* varonce28
;
3877 val
* var29
/* : String */;
3878 char* var30
/* : NativeString */;
3879 long var31
/* : Int */;
3880 val
* var32
/* : String */;
3881 short int var33
/* : Bool */;
3882 static val
* varonce34
;
3883 val
* var35
/* : String */;
3884 char* var36
/* : NativeString */;
3885 long var37
/* : Int */;
3886 val
* var38
/* : String */;
3887 val
* var39
/* : MClass */;
3888 val
* var40
/* : String */;
3889 static val
* varonce41
;
3890 val
* var42
/* : String */;
3891 char* var43
/* : NativeString */;
3892 long var44
/* : Int */;
3893 val
* var45
/* : String */;
3894 short int var46
/* : Bool */;
3895 static val
* varonce47
;
3896 val
* var48
/* : String */;
3897 char* var49
/* : NativeString */;
3898 long var50
/* : Int */;
3899 val
* var51
/* : String */;
3900 val
* var52
/* : MClass */;
3901 val
* var53
/* : String */;
3902 static val
* varonce54
;
3903 val
* var55
/* : String */;
3904 char* var56
/* : NativeString */;
3905 long var57
/* : Int */;
3906 val
* var58
/* : String */;
3907 short int var59
/* : Bool */;
3908 static val
* varonce60
;
3909 val
* var61
/* : String */;
3910 char* var62
/* : NativeString */;
3911 long var63
/* : Int */;
3912 val
* var64
/* : String */;
3913 val
* var65
/* : MClass */;
3914 val
* var66
/* : String */;
3915 static val
* varonce67
;
3916 val
* var68
/* : String */;
3917 char* var69
/* : NativeString */;
3918 long var70
/* : Int */;
3919 val
* var71
/* : String */;
3920 short int var72
/* : Bool */;
3921 static val
* varonce73
;
3922 val
* var74
/* : String */;
3923 char* var75
/* : NativeString */;
3924 long var76
/* : Int */;
3925 val
* var77
/* : String */;
3926 val
* var78
/* : MClass */;
3927 val
* var79
/* : MClassKind */;
3928 val
* var80
/* : MClassKind */;
3929 short int var81
/* : Bool */;
3930 static val
* varonce82
;
3931 val
* var83
/* : String */;
3932 char* var84
/* : NativeString */;
3933 long var85
/* : Int */;
3934 val
* var86
/* : String */;
3935 static val
* varonce87
;
3936 val
* var88
/* : String */;
3937 char* var89
/* : NativeString */;
3938 long var90
/* : Int */;
3939 val
* var91
/* : String */;
3940 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__MClassType__mclass
]))(self
) /* mclass on <self:MClassType>*/;
3941 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_model__MClass__name
]))(var1
) /* name on <var1:MClass>*/;
3947 var6
= string__NativeString__to_s_with_length(var4
, var5
);
3951 var7
= ((short int (*)(val
*, val
*))(var2
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var2
, var3
) /* == on <var2:String>*/;
3958 var12
= string__NativeString__to_s_with_length(var10
, var11
);
3965 var13
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__MClassType__mclass
]))(self
) /* mclass on <self:MClassType>*/;
3966 var14
= ((val
* (*)(val
*))(var13
->class->vft
[COLOR_model__MClass__name
]))(var13
) /* name on <var13:MClass>*/;
3972 var19
= string__NativeString__to_s_with_length(var17
, var18
);
3976 var20
= ((short int (*)(val
*, val
*))(var14
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var14
, var16
) /* == on <var14:String>*/;
3983 var25
= string__NativeString__to_s_with_length(var23
, var24
);
3990 var26
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__MClassType__mclass
]))(self
) /* mclass on <self:MClassType>*/;
3991 var27
= ((val
* (*)(val
*))(var26
->class->vft
[COLOR_model__MClass__name
]))(var26
) /* name on <var26:MClass>*/;
3997 var32
= string__NativeString__to_s_with_length(var30
, var31
);
4001 var33
= ((short int (*)(val
*, val
*))(var27
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var27
, var29
) /* == on <var27:String>*/;
4008 var38
= string__NativeString__to_s_with_length(var36
, var37
);
4015 var39
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__MClassType__mclass
]))(self
) /* mclass on <self:MClassType>*/;
4016 var40
= ((val
* (*)(val
*))(var39
->class->vft
[COLOR_model__MClass__name
]))(var39
) /* name on <var39:MClass>*/;
4022 var45
= string__NativeString__to_s_with_length(var43
, var44
);
4026 var46
= ((short int (*)(val
*, val
*))(var40
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var40
, var42
) /* == on <var40:String>*/;
4033 var51
= string__NativeString__to_s_with_length(var49
, var50
);
4040 var52
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__MClassType__mclass
]))(self
) /* mclass on <self:MClassType>*/;
4041 var53
= ((val
* (*)(val
*))(var52
->class->vft
[COLOR_model__MClass__name
]))(var52
) /* name on <var52:MClass>*/;
4045 var56
= "NativeString";
4047 var58
= string__NativeString__to_s_with_length(var56
, var57
);
4051 var59
= ((short int (*)(val
*, val
*))(var53
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var53
, var55
) /* == on <var53:String>*/;
4058 var64
= string__NativeString__to_s_with_length(var62
, var63
);
4065 var65
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__MClassType__mclass
]))(self
) /* mclass on <self:MClassType>*/;
4066 var66
= ((val
* (*)(val
*))(var65
->class->vft
[COLOR_model__MClass__name
]))(var65
) /* name on <var65:MClass>*/;
4070 var69
= "NativeArray";
4072 var71
= string__NativeString__to_s_with_length(var69
, var70
);
4076 var72
= ((short int (*)(val
*, val
*))(var66
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var66
, var68
) /* == on <var66:String>*/;
4083 var77
= string__NativeString__to_s_with_length(var75
, var76
);
4090 var78
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__MClassType__mclass
]))(self
) /* mclass on <self:MClassType>*/;
4091 var79
= ((val
* (*)(val
*))(var78
->class->vft
[COLOR_model__MClass__kind
]))(var78
) /* kind on <var78:MClass>*/;
4092 var80
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__Object__extern_kind
]))(self
) /* extern_kind on <self:MClassType>*/;
4093 var81
= ((short int (*)(val
*, val
*))(var79
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var79
, var80
) /* == on <var79:MClassKind>*/;
4100 var86
= string__NativeString__to_s_with_length(var84
, var85
);
4112 var91
= string__NativeString__to_s_with_length(var89
, var90
);
4128 /* method abstract_compiler#MClassType#ctypename for (self: Object): String */
4129 val
* VIRTUAL_abstract_compiler__MClassType__ctypename(val
* self
) {
4130 val
* var
/* : String */;
4131 val
* var1
/* : String */;
4132 var1
= abstract_compiler__MClassType__ctypename(self
);
4137 /* method abstract_compiler#MGenericType#c_name for (self: MGenericType): String */
4138 val
* abstract_compiler__MGenericType__c_name(val
* self
) {
4139 val
* var
/* : String */;
4140 val
* var1
/* : nullable String */;
4141 val
* var_res
/* var res: nullable String */;
4142 val
* var2
/* : null */;
4143 short int var3
/* : Bool */;
4144 val
* var4
/* : String */;
4145 val
* var5
/* : Array[MType] */;
4146 val
* var6
/* : Iterator[nullable Object] */;
4147 short int var7
/* : Bool */;
4148 val
* var8
/* : nullable Object */;
4149 val
* var_t
/* var t: MType */;
4150 val
* var9
/* : String */;
4151 val
* var10
/* : String */;
4152 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__MType__c_name_cache
]))(self
) /* c_name_cache on <self:MGenericType>*/;
4155 if (var_res
== NULL
) {
4156 var3
= 0; /* is null */
4158 var3
= 1; /* arg is null and recv is not */
4165 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__MGenericType__c_name
]))(self
) /* c_name on <self:MGenericType>*/;
4167 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__MClassType__arguments
]))(self
) /* arguments on <self:MGenericType>*/;
4168 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var5
) /* iterator on <var5:Array[MType]>*/;
4170 var7
= ((short int (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var6
) /* is_ok on <var6:Iterator[nullable Object]>*/;
4172 var8
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var6
) /* item on <var6:Iterator[nullable Object]>*/;
4174 var9
= ((val
* (*)(val
*))(var_t
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_t
) /* c_name on <var_t:MType>*/;
4175 var10
= ((val
* (*)(val
*, val
*))(var_res
->class->vft
[COLOR_string__String___43d
]))(var_res
, var9
) /* + on <var_res:nullable String(String)>*/;
4177 CONTINUE_label
: (void)0;
4178 ((void (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var6
) /* next on <var6:Iterator[nullable Object]>*/;
4180 BREAK_label
: (void)0;
4181 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__MType__c_name_cache_61d
]))(self
, var_res
) /* c_name_cache= on <self:MGenericType>*/;
4187 /* method abstract_compiler#MGenericType#c_name for (self: Object): String */
4188 val
* VIRTUAL_abstract_compiler__MGenericType__c_name(val
* self
) {
4189 val
* var
/* : String */;
4190 val
* var1
/* : String */;
4191 var1
= abstract_compiler__MGenericType__c_name(self
);
4196 /* method abstract_compiler#MParameterType#c_name for (self: MParameterType): String */
4197 val
* abstract_compiler__MParameterType__c_name(val
* self
) {
4198 val
* var
/* : String */;
4199 val
* var1
/* : nullable String */;
4200 val
* var_res
/* var res: nullable String */;
4201 val
* var2
/* : null */;
4202 short int var3
/* : Bool */;
4203 val
* var4
/* : Array[Object] */;
4204 long var5
/* : Int */;
4205 val
* var_
/* var : Array[Object] */;
4206 static val
* varonce
;
4207 val
* var6
/* : String */;
4208 char* var7
/* : NativeString */;
4209 long var8
/* : Int */;
4210 val
* var9
/* : String */;
4211 val
* var10
/* : MClass */;
4212 val
* var11
/* : String */;
4213 static val
* varonce12
;
4214 val
* var13
/* : String */;
4215 char* var14
/* : NativeString */;
4216 long var15
/* : Int */;
4217 val
* var16
/* : String */;
4218 long var17
/* : Int */;
4219 val
* var18
/* : nullable Object */;
4220 static val
* varonce19
;
4221 val
* var20
/* : String */;
4222 char* var21
/* : NativeString */;
4223 long var22
/* : Int */;
4224 val
* var23
/* : String */;
4225 val
* var24
/* : String */;
4226 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__MType__c_name_cache
]))(self
) /* c_name_cache on <self:MParameterType>*/;
4229 if (var_res
== NULL
) {
4230 var3
= 0; /* is null */
4232 var3
= 1; /* arg is null and recv is not */
4239 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
4241 ((void (*)(val
*, long))(var4
->class->vft
[COLOR_array__Array__with_capacity
]))(var4
, var5
) /* with_capacity on <var4:Array[Object]>*/;
4248 var9
= string__NativeString__to_s_with_length(var7
, var8
);
4252 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var6
) /* add on <var_:Array[Object]>*/;
4253 var10
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__MParameterType__mclass
]))(self
) /* mclass on <self:MParameterType>*/;
4254 var11
= ((val
* (*)(val
*))(var10
->class->vft
[COLOR_abstract_compiler__MClass__c_name
]))(var10
) /* c_name on <var10:MClass>*/;
4255 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var11
) /* add on <var_:Array[Object]>*/;
4261 var16
= string__NativeString__to_s_with_length(var14
, var15
);
4265 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var13
) /* add on <var_:Array[Object]>*/;
4266 var17
= ((long (*)(val
*))(self
->class->vft
[COLOR_model__MParameterType__rank
]))(self
) /* rank on <self:MParameterType>*/;
4267 var18
= BOX_kernel__Int(var17
); /* autobox from Int to nullable Object */
4268 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var18
) /* add on <var_:Array[Object]>*/;
4274 var23
= string__NativeString__to_s_with_length(var21
, var22
);
4278 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var20
) /* add on <var_:Array[Object]>*/;
4279 var24
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
4281 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__MType__c_name_cache_61d
]))(self
, var_res
) /* c_name_cache= on <self:MParameterType>*/;
4287 /* method abstract_compiler#MParameterType#c_name for (self: Object): String */
4288 val
* VIRTUAL_abstract_compiler__MParameterType__c_name(val
* self
) {
4289 val
* var
/* : String */;
4290 val
* var1
/* : String */;
4291 var1
= abstract_compiler__MParameterType__c_name(self
);
4296 /* method abstract_compiler#MVirtualType#c_name for (self: MVirtualType): String */
4297 val
* abstract_compiler__MVirtualType__c_name(val
* self
) {
4298 val
* var
/* : String */;
4299 val
* var1
/* : nullable String */;
4300 val
* var_res
/* var res: nullable String */;
4301 val
* var2
/* : null */;
4302 short int var3
/* : Bool */;
4303 val
* var4
/* : Array[Object] */;
4304 long var5
/* : Int */;
4305 val
* var_
/* var : Array[Object] */;
4306 static val
* varonce
;
4307 val
* var6
/* : String */;
4308 char* var7
/* : NativeString */;
4309 long var8
/* : Int */;
4310 val
* var9
/* : String */;
4311 val
* var10
/* : MProperty */;
4312 val
* var11
/* : MPropDef */;
4313 val
* var12
/* : MClassDef */;
4314 val
* var13
/* : MClass */;
4315 val
* var14
/* : String */;
4316 static val
* varonce15
;
4317 val
* var16
/* : String */;
4318 char* var17
/* : NativeString */;
4319 long var18
/* : Int */;
4320 val
* var19
/* : String */;
4321 val
* var20
/* : MProperty */;
4322 val
* var21
/* : String */;
4323 static val
* varonce22
;
4324 val
* var23
/* : String */;
4325 char* var24
/* : NativeString */;
4326 long var25
/* : Int */;
4327 val
* var26
/* : String */;
4328 val
* var27
/* : String */;
4329 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__MType__c_name_cache
]))(self
) /* c_name_cache on <self:MVirtualType>*/;
4332 if (var_res
== NULL
) {
4333 var3
= 0; /* is null */
4335 var3
= 1; /* arg is null and recv is not */
4342 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
4344 ((void (*)(val
*, long))(var4
->class->vft
[COLOR_array__Array__with_capacity
]))(var4
, var5
) /* with_capacity on <var4:Array[Object]>*/;
4351 var9
= string__NativeString__to_s_with_length(var7
, var8
);
4355 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var6
) /* add on <var_:Array[Object]>*/;
4356 var10
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__MVirtualType__mproperty
]))(self
) /* mproperty on <self:MVirtualType>*/;
4357 var11
= ((val
* (*)(val
*))(var10
->class->vft
[COLOR_model__MProperty__intro
]))(var10
) /* intro on <var10:MProperty>*/;
4358 var12
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var11
) /* mclassdef on <var11:MPropDef>*/;
4359 var13
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_model__MClassDef__mclass
]))(var12
) /* mclass on <var12:MClassDef>*/;
4360 var14
= ((val
* (*)(val
*))(var13
->class->vft
[COLOR_abstract_compiler__MClass__c_name
]))(var13
) /* c_name on <var13:MClass>*/;
4361 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var14
) /* add on <var_:Array[Object]>*/;
4367 var19
= string__NativeString__to_s_with_length(var17
, var18
);
4371 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var16
) /* add on <var_:Array[Object]>*/;
4372 var20
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__MVirtualType__mproperty
]))(self
) /* mproperty on <self:MVirtualType>*/;
4373 var21
= ((val
* (*)(val
*))(var20
->class->vft
[COLOR_model__MProperty__name
]))(var20
) /* name on <var20:MProperty>*/;
4374 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var21
) /* add on <var_:Array[Object]>*/;
4380 var26
= string__NativeString__to_s_with_length(var24
, var25
);
4384 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var23
) /* add on <var_:Array[Object]>*/;
4385 var27
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
4387 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__MType__c_name_cache_61d
]))(self
, var_res
) /* c_name_cache= on <self:MVirtualType>*/;
4393 /* method abstract_compiler#MVirtualType#c_name for (self: Object): String */
4394 val
* VIRTUAL_abstract_compiler__MVirtualType__c_name(val
* self
) {
4395 val
* var
/* : String */;
4396 val
* var1
/* : String */;
4397 var1
= abstract_compiler__MVirtualType__c_name(self
);
4402 /* method abstract_compiler#MNullableType#c_name for (self: MNullableType): String */
4403 val
* abstract_compiler__MNullableType__c_name(val
* self
) {
4404 val
* var
/* : String */;
4405 val
* var1
/* : nullable String */;
4406 val
* var_res
/* var res: nullable String */;
4407 val
* var2
/* : null */;
4408 short int var3
/* : Bool */;
4409 val
* var4
/* : Array[Object] */;
4410 long var5
/* : Int */;
4411 val
* var_
/* var : Array[Object] */;
4412 static val
* varonce
;
4413 val
* var6
/* : String */;
4414 char* var7
/* : NativeString */;
4415 long var8
/* : Int */;
4416 val
* var9
/* : String */;
4417 val
* var10
/* : MType */;
4418 val
* var11
/* : String */;
4419 static val
* varonce12
;
4420 val
* var13
/* : String */;
4421 char* var14
/* : NativeString */;
4422 long var15
/* : Int */;
4423 val
* var16
/* : String */;
4424 val
* var17
/* : String */;
4425 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__MType__c_name_cache
]))(self
) /* c_name_cache on <self:MNullableType>*/;
4428 if (var_res
== NULL
) {
4429 var3
= 0; /* is null */
4431 var3
= 1; /* arg is null and recv is not */
4438 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
4440 ((void (*)(val
*, long))(var4
->class->vft
[COLOR_array__Array__with_capacity
]))(var4
, var5
) /* with_capacity on <var4:Array[Object]>*/;
4447 var9
= string__NativeString__to_s_with_length(var7
, var8
);
4451 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var6
) /* add on <var_:Array[Object]>*/;
4452 var10
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__MNullableType__mtype
]))(self
) /* mtype on <self:MNullableType>*/;
4453 var11
= ((val
* (*)(val
*))(var10
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var10
) /* c_name on <var10:MType>*/;
4454 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var11
) /* add on <var_:Array[Object]>*/;
4460 var16
= string__NativeString__to_s_with_length(var14
, var15
);
4464 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var13
) /* add on <var_:Array[Object]>*/;
4465 var17
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
4467 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__MType__c_name_cache_61d
]))(self
, var_res
) /* c_name_cache= on <self:MNullableType>*/;
4473 /* method abstract_compiler#MNullableType#c_name for (self: Object): String */
4474 val
* VIRTUAL_abstract_compiler__MNullableType__c_name(val
* self
) {
4475 val
* var
/* : String */;
4476 val
* var1
/* : String */;
4477 var1
= abstract_compiler__MNullableType__c_name(self
);
4482 /* method abstract_compiler#MClass#c_name for (self: MClass): String */
4483 val
* abstract_compiler__MClass__c_name(val
* self
) {
4484 val
* var
/* : String */;
4485 val
* var1
/* : nullable String */;
4486 val
* var_res
/* var res: nullable String */;
4487 val
* var2
/* : null */;
4488 short int var3
/* : Bool */;
4489 val
* var4
/* : Array[Object] */;
4490 long var5
/* : Int */;
4491 val
* var_
/* var : Array[Object] */;
4492 static val
* varonce
;
4493 val
* var6
/* : String */;
4494 char* var7
/* : NativeString */;
4495 long var8
/* : Int */;
4496 val
* var9
/* : String */;
4497 val
* var10
/* : MModule */;
4498 val
* var11
/* : String */;
4499 val
* var12
/* : String */;
4500 static val
* varonce13
;
4501 val
* var14
/* : String */;
4502 char* var15
/* : NativeString */;
4503 long var16
/* : Int */;
4504 val
* var17
/* : String */;
4505 val
* var18
/* : String */;
4506 val
* var19
/* : String */;
4507 static val
* varonce20
;
4508 val
* var21
/* : String */;
4509 char* var22
/* : NativeString */;
4510 long var23
/* : Int */;
4511 val
* var24
/* : String */;
4512 val
* var25
/* : String */;
4513 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__MClass__c_name_cache
]))(self
) /* c_name_cache on <self:MClass>*/;
4516 if (var_res
== NULL
) {
4517 var3
= 0; /* is null */
4519 var3
= 1; /* arg is null and recv is not */
4526 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
4528 ((void (*)(val
*, long))(var4
->class->vft
[COLOR_array__Array__with_capacity
]))(var4
, var5
) /* with_capacity on <var4:Array[Object]>*/;
4535 var9
= string__NativeString__to_s_with_length(var7
, var8
);
4539 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var6
) /* add on <var_:Array[Object]>*/;
4540 var10
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__MClass__intro_mmodule
]))(self
) /* intro_mmodule on <self:MClass>*/;
4541 var11
= ((val
* (*)(val
*))(var10
->class->vft
[COLOR_mmodule__MModule__name
]))(var10
) /* name on <var10:MModule>*/;
4542 var12
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_string__AbstractString__to_cmangle
]))(var11
) /* to_cmangle on <var11:String>*/;
4543 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var12
) /* add on <var_:Array[Object]>*/;
4549 var17
= string__NativeString__to_s_with_length(var15
, var16
);
4553 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var14
) /* add on <var_:Array[Object]>*/;
4554 var18
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__MClass__name
]))(self
) /* name on <self:MClass>*/;
4555 var19
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_string__AbstractString__to_cmangle
]))(var18
) /* to_cmangle on <var18:String>*/;
4556 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var19
) /* add on <var_:Array[Object]>*/;
4562 var24
= string__NativeString__to_s_with_length(var22
, var23
);
4566 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var21
) /* add on <var_:Array[Object]>*/;
4567 var25
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
4569 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__MClass__c_name_cache_61d
]))(self
, var_res
) /* c_name_cache= on <self:MClass>*/;
4575 /* method abstract_compiler#MClass#c_name for (self: Object): String */
4576 val
* VIRTUAL_abstract_compiler__MClass__c_name(val
* self
) {
4577 val
* var
/* : String */;
4578 val
* var1
/* : String */;
4579 var1
= abstract_compiler__MClass__c_name(self
);
4584 /* method abstract_compiler#MClass#c_name_cache for (self: MClass): nullable String */
4585 val
* abstract_compiler__MClass__c_name_cache(val
* self
) {
4586 val
* var
/* : nullable String */;
4587 val
* var1
/* : nullable String */;
4588 var1
= self
->attrs
[COLOR_abstract_compiler__MClass___64dc_name_cache
].val
; /* @c_name_cache on <self:MClass> */
4593 /* method abstract_compiler#MClass#c_name_cache for (self: Object): nullable String */
4594 val
* VIRTUAL_abstract_compiler__MClass__c_name_cache(val
* self
) {
4595 val
* var
/* : nullable String */;
4596 val
* var1
/* : nullable String */;
4597 var1
= abstract_compiler__MClass__c_name_cache(self
);
4602 /* method abstract_compiler#MClass#c_name_cache= for (self: MClass, nullable String) */
4603 void abstract_compiler__MClass__c_name_cache_61d(val
* self
, val
* p0
) {
4604 self
->attrs
[COLOR_abstract_compiler__MClass___64dc_name_cache
].val
= p0
; /* @c_name_cache on <self:MClass> */
4607 /* method abstract_compiler#MClass#c_name_cache= for (self: Object, nullable String) */
4608 void VIRTUAL_abstract_compiler__MClass__c_name_cache_61d(val
* self
, val
* p0
) {
4609 abstract_compiler__MClass__c_name_cache_61d(self
, p0
);
4612 /* method abstract_compiler#MProperty#c_name for (self: MProperty): String */
4613 val
* abstract_compiler__MProperty__c_name(val
* self
) {
4614 val
* var
/* : String */;
4615 val
* var1
/* : nullable String */;
4616 val
* var_res
/* var res: nullable String */;
4617 val
* var2
/* : null */;
4618 short int var3
/* : Bool */;
4619 val
* var4
/* : Array[Object] */;
4620 long var5
/* : Int */;
4621 val
* var_
/* var : Array[Object] */;
4622 static val
* varonce
;
4623 val
* var6
/* : String */;
4624 char* var7
/* : NativeString */;
4625 long var8
/* : Int */;
4626 val
* var9
/* : String */;
4627 val
* var10
/* : MPropDef */;
4628 val
* var11
/* : String */;
4629 static val
* varonce12
;
4630 val
* var13
/* : String */;
4631 char* var14
/* : NativeString */;
4632 long var15
/* : Int */;
4633 val
* var16
/* : String */;
4634 val
* var17
/* : String */;
4635 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__MProperty__c_name_cache
]))(self
) /* c_name_cache on <self:MProperty>*/;
4638 if (var_res
== NULL
) {
4639 var3
= 0; /* is null */
4641 var3
= 1; /* arg is null and recv is not */
4648 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
4650 ((void (*)(val
*, long))(var4
->class->vft
[COLOR_array__Array__with_capacity
]))(var4
, var5
) /* with_capacity on <var4:Array[Object]>*/;
4657 var9
= string__NativeString__to_s_with_length(var7
, var8
);
4661 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var6
) /* add on <var_:Array[Object]>*/;
4662 var10
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__MProperty__intro
]))(self
) /* intro on <self:MProperty>*/;
4663 var11
= ((val
* (*)(val
*))(var10
->class->vft
[COLOR_abstract_compiler__MPropDef__c_name
]))(var10
) /* c_name on <var10:MPropDef>*/;
4664 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var11
) /* add on <var_:Array[Object]>*/;
4670 var16
= string__NativeString__to_s_with_length(var14
, var15
);
4674 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var13
) /* add on <var_:Array[Object]>*/;
4675 var17
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
4677 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__MProperty__c_name_cache_61d
]))(self
, var_res
) /* c_name_cache= on <self:MProperty>*/;
4683 /* method abstract_compiler#MProperty#c_name for (self: Object): String */
4684 val
* VIRTUAL_abstract_compiler__MProperty__c_name(val
* self
) {
4685 val
* var
/* : String */;
4686 val
* var1
/* : String */;
4687 var1
= abstract_compiler__MProperty__c_name(self
);
4692 /* method abstract_compiler#MProperty#c_name_cache for (self: MProperty): nullable String */
4693 val
* abstract_compiler__MProperty__c_name_cache(val
* self
) {
4694 val
* var
/* : nullable String */;
4695 val
* var1
/* : nullable String */;
4696 var1
= self
->attrs
[COLOR_abstract_compiler__MProperty___64dc_name_cache
].val
; /* @c_name_cache on <self:MProperty> */
4701 /* method abstract_compiler#MProperty#c_name_cache for (self: Object): nullable String */
4702 val
* VIRTUAL_abstract_compiler__MProperty__c_name_cache(val
* self
) {
4703 val
* var
/* : nullable String */;
4704 val
* var1
/* : nullable String */;
4705 var1
= abstract_compiler__MProperty__c_name_cache(self
);
4710 /* method abstract_compiler#MProperty#c_name_cache= for (self: MProperty, nullable String) */
4711 void abstract_compiler__MProperty__c_name_cache_61d(val
* self
, val
* p0
) {
4712 self
->attrs
[COLOR_abstract_compiler__MProperty___64dc_name_cache
].val
= p0
; /* @c_name_cache on <self:MProperty> */
4715 /* method abstract_compiler#MProperty#c_name_cache= for (self: Object, nullable String) */
4716 void VIRTUAL_abstract_compiler__MProperty__c_name_cache_61d(val
* self
, val
* p0
) {
4717 abstract_compiler__MProperty__c_name_cache_61d(self
, p0
);
4720 /* method abstract_compiler#MPropDef#c_name_cache for (self: MPropDef): nullable String */
4721 val
* abstract_compiler__MPropDef__c_name_cache(val
* self
) {
4722 val
* var
/* : nullable String */;
4723 val
* var1
/* : nullable String */;
4724 var1
= self
->attrs
[COLOR_abstract_compiler__MPropDef___64dc_name_cache
].val
; /* @c_name_cache on <self:MPropDef> */
4729 /* method abstract_compiler#MPropDef#c_name_cache for (self: Object): nullable String */
4730 val
* VIRTUAL_abstract_compiler__MPropDef__c_name_cache(val
* self
) {
4731 val
* var
/* : nullable String */;
4732 val
* var1
/* : nullable String */;
4733 var1
= abstract_compiler__MPropDef__c_name_cache(self
);
4738 /* method abstract_compiler#MPropDef#c_name_cache= for (self: MPropDef, nullable String) */
4739 void abstract_compiler__MPropDef__c_name_cache_61d(val
* self
, val
* p0
) {
4740 self
->attrs
[COLOR_abstract_compiler__MPropDef___64dc_name_cache
].val
= p0
; /* @c_name_cache on <self:MPropDef> */
4743 /* method abstract_compiler#MPropDef#c_name_cache= for (self: Object, nullable String) */
4744 void VIRTUAL_abstract_compiler__MPropDef__c_name_cache_61d(val
* self
, val
* p0
) {
4745 abstract_compiler__MPropDef__c_name_cache_61d(self
, p0
);
4748 /* method abstract_compiler#MPropDef#c_name for (self: MPropDef): String */
4749 val
* abstract_compiler__MPropDef__c_name(val
* self
) {
4750 val
* var
/* : String */;
4751 val
* var1
/* : nullable String */;
4752 val
* var_res
/* var res: nullable String */;
4753 val
* var2
/* : null */;
4754 short int var3
/* : Bool */;
4755 val
* var4
/* : Array[Object] */;
4756 long var5
/* : Int */;
4757 val
* var_
/* var : Array[Object] */;
4758 static val
* varonce
;
4759 val
* var6
/* : String */;
4760 char* var7
/* : NativeString */;
4761 long var8
/* : Int */;
4762 val
* var9
/* : String */;
4763 val
* var10
/* : MClassDef */;
4764 val
* var11
/* : MModule */;
4765 val
* var12
/* : String */;
4766 val
* var13
/* : String */;
4767 static val
* varonce14
;
4768 val
* var15
/* : String */;
4769 char* var16
/* : NativeString */;
4770 long var17
/* : Int */;
4771 val
* var18
/* : String */;
4772 val
* var19
/* : MClassDef */;
4773 val
* var20
/* : MClass */;
4774 val
* var21
/* : String */;
4775 val
* var22
/* : String */;
4776 static val
* varonce23
;
4777 val
* var24
/* : String */;
4778 char* var25
/* : NativeString */;
4779 long var26
/* : Int */;
4780 val
* var27
/* : String */;
4781 val
* var28
/* : MProperty */;
4782 val
* var29
/* : String */;
4783 val
* var30
/* : String */;
4784 static val
* varonce31
;
4785 val
* var32
/* : String */;
4786 char* var33
/* : NativeString */;
4787 long var34
/* : Int */;
4788 val
* var35
/* : String */;
4789 val
* var36
/* : String */;
4790 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__MPropDef__c_name_cache
]))(self
) /* c_name_cache on <self:MPropDef>*/;
4793 if (var_res
== NULL
) {
4794 var3
= 0; /* is null */
4796 var3
= 1; /* arg is null and recv is not */
4803 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
4805 ((void (*)(val
*, long))(var4
->class->vft
[COLOR_array__Array__with_capacity
]))(var4
, var5
) /* with_capacity on <var4:Array[Object]>*/;
4812 var9
= string__NativeString__to_s_with_length(var7
, var8
);
4816 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var6
) /* add on <var_:Array[Object]>*/;
4817 var10
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(self
) /* mclassdef on <self:MPropDef>*/;
4818 var11
= ((val
* (*)(val
*))(var10
->class->vft
[COLOR_model__MClassDef__mmodule
]))(var10
) /* mmodule on <var10:MClassDef>*/;
4819 var12
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_mmodule__MModule__name
]))(var11
) /* name on <var11:MModule>*/;
4820 var13
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_string__AbstractString__to_cmangle
]))(var12
) /* to_cmangle on <var12:String>*/;
4821 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var13
) /* add on <var_:Array[Object]>*/;
4827 var18
= string__NativeString__to_s_with_length(var16
, var17
);
4831 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var15
) /* add on <var_:Array[Object]>*/;
4832 var19
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(self
) /* mclassdef on <self:MPropDef>*/;
4833 var20
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_model__MClassDef__mclass
]))(var19
) /* mclass on <var19:MClassDef>*/;
4834 var21
= ((val
* (*)(val
*))(var20
->class->vft
[COLOR_model__MClass__name
]))(var20
) /* name on <var20:MClass>*/;
4835 var22
= ((val
* (*)(val
*))(var21
->class->vft
[COLOR_string__AbstractString__to_cmangle
]))(var21
) /* to_cmangle on <var21:String>*/;
4836 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var22
) /* add on <var_:Array[Object]>*/;
4842 var27
= string__NativeString__to_s_with_length(var25
, var26
);
4846 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var24
) /* add on <var_:Array[Object]>*/;
4847 var28
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__MPropDef__mproperty
]))(self
) /* mproperty on <self:MPropDef>*/;
4848 var29
= ((val
* (*)(val
*))(var28
->class->vft
[COLOR_model__MProperty__name
]))(var28
) /* name on <var28:MProperty>*/;
4849 var30
= ((val
* (*)(val
*))(var29
->class->vft
[COLOR_string__AbstractString__to_cmangle
]))(var29
) /* to_cmangle on <var29:String>*/;
4850 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var30
) /* add on <var_:Array[Object]>*/;
4856 var35
= string__NativeString__to_s_with_length(var33
, var34
);
4860 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var32
) /* add on <var_:Array[Object]>*/;
4861 var36
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
4863 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__MPropDef__c_name_cache_61d
]))(self
, var_res
) /* c_name_cache= on <self:MPropDef>*/;
4869 /* method abstract_compiler#MPropDef#c_name for (self: Object): String */
4870 val
* VIRTUAL_abstract_compiler__MPropDef__c_name(val
* self
) {
4871 val
* var
/* : String */;
4872 val
* var1
/* : String */;
4873 var1
= abstract_compiler__MPropDef__c_name(self
);
4878 /* method abstract_compiler#MMethodDef#can_inline for (self: MMethodDef, AbstractCompilerVisitor): Bool */
4879 short int abstract_compiler__MMethodDef__can_inline(val
* self
, val
* p0
) {
4880 short int var
/* : Bool */;
4881 short int var1
/* : Bool */;
4884 const struct type
* type_struct
;
4885 const char* var_class_name
;
4886 val
* var_v
/* var v: AbstractCompilerVisitor */;
4887 val
* var2
/* : AbstractCompiler */;
4888 val
* var3
/* : ModelBuilder */;
4889 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
4890 val
* var4
/* : HashMap[MPropDef, APropdef] */;
4891 short int var5
/* : Bool */;
4892 val
* var6
/* : HashMap[MPropDef, APropdef] */;
4893 val
* var7
/* : nullable Object */;
4894 val
* var_npropdef
/* var npropdef: APropdef */;
4895 short int var8
/* : Bool */;
4896 val
* var9
/* : MProperty */;
4897 val
* var10
/* : String */;
4898 static val
* varonce
;
4899 val
* var11
/* : String */;
4900 char* var12
/* : NativeString */;
4901 long var13
/* : Int */;
4902 val
* var14
/* : String */;
4903 short int var15
/* : Bool */;
4904 short int var16
/* : Bool */;
4905 /* Covariant cast for argument 0 (v) <p0:AbstractCompilerVisitor> isa VISITOR */
4906 /* <p0:AbstractCompilerVisitor> isa VISITOR */
4907 type_struct
= self
->type
->resolution_table
->types
[COLOR_model__MPropDef_VTVISITOR
];
4908 cltype
= type_struct
->color
;
4909 idtype
= type_struct
->id
;
4910 if(cltype
>= p0
->type
->table_size
) {
4913 var1
= p0
->type
->type_table
[cltype
] == idtype
;
4916 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
4917 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name
);
4918 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1474);
4922 var2
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(var_v
) /* compiler on <var_v:AbstractCompilerVisitor>*/;
4923 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var2
) /* modelbuilder on <var2:AbstractCompiler>*/;
4924 var_modelbuilder
= var3
;
4925 var4
= ((val
* (*)(val
*))(var_modelbuilder
->class->vft
[COLOR_modelize_property__ModelBuilder__mpropdef2npropdef
]))(var_modelbuilder
) /* mpropdef2npropdef on <var_modelbuilder:ModelBuilder>*/;
4926 var5
= ((short int (*)(val
*, val
*))(var4
->class->vft
[COLOR_abstract_collection__MapRead__has_key
]))(var4
, self
) /* has_key on <var4:HashMap[MPropDef, APropdef]>*/;
4928 var6
= ((val
* (*)(val
*))(var_modelbuilder
->class->vft
[COLOR_modelize_property__ModelBuilder__mpropdef2npropdef
]))(var_modelbuilder
) /* mpropdef2npropdef on <var_modelbuilder:ModelBuilder>*/;
4929 var7
= ((val
* (*)(val
*, val
*))(var6
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var6
, self
) /* [] on <var6:HashMap[MPropDef, APropdef]>*/;
4930 var_npropdef
= var7
;
4931 var8
= ((short int (*)(val
*))(var_npropdef
->class->vft
[COLOR_abstract_compiler__APropdef__can_inline
]))(var_npropdef
) /* can_inline on <var_npropdef:APropdef>*/;
4935 var9
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__MPropDef__mproperty
]))(self
) /* mproperty on <self:MMethodDef>*/;
4936 var10
= ((val
* (*)(val
*))(var9
->class->vft
[COLOR_model__MProperty__name
]))(var9
) /* name on <var9:MProperty(MMethod)>*/;
4942 var14
= string__NativeString__to_s_with_length(var12
, var13
);
4946 var15
= ((short int (*)(val
*, val
*))(var10
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var10
, var11
) /* == on <var10:String>*/;
4952 fprintf(stderr
, "Runtime error: %s", "Aborted");
4953 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1485);
4960 /* method abstract_compiler#MMethodDef#can_inline for (self: Object, AbstractCompilerVisitor): Bool */
4961 short int VIRTUAL_abstract_compiler__MMethodDef__can_inline(val
* self
, val
* p0
) {
4962 short int var
/* : Bool */;
4963 short int var1
/* : Bool */;
4964 var1
= abstract_compiler__MMethodDef__can_inline(self
, p0
);
4969 /* method abstract_compiler#MMethodDef#compile_inside_to_c for (self: MMethodDef, AbstractCompilerVisitor, Array[RuntimeVariable]): nullable RuntimeVariable */
4970 val
* abstract_compiler__MMethodDef__compile_inside_to_c(val
* self
, val
* p0
, val
* p1
) {
4971 val
* var
/* : nullable RuntimeVariable */;
4972 short int var1
/* : Bool */;
4975 const struct type
* type_struct
;
4976 const char* var_class_name
;
4977 val
* var_v
/* var v: AbstractCompilerVisitor */;
4978 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
4979 val
* var2
/* : AbstractCompiler */;
4980 val
* var3
/* : ModelBuilder */;
4981 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
4982 val
* var4
/* : HashMap[MPropDef, APropdef] */;
4983 short int var5
/* : Bool */;
4984 val
* var6
/* : HashMap[MPropDef, APropdef] */;
4985 val
* var7
/* : nullable Object */;
4986 val
* var_npropdef
/* var npropdef: APropdef */;
4987 val
* var8
/* : nullable ANode */;
4988 val
* var_oldnode
/* var oldnode: nullable ANode */;
4989 val
* var9
/* : MProperty */;
4990 val
* var10
/* : String */;
4991 static val
* varonce
;
4992 val
* var11
/* : String */;
4993 char* var12
/* : NativeString */;
4994 long var13
/* : Int */;
4995 val
* var14
/* : String */;
4996 short int var15
/* : Bool */;
4997 val
* var16
/* : HashMap[MClassDef, AClassdef] */;
4998 val
* var17
/* : MClassDef */;
4999 val
* var18
/* : nullable Object */;
5000 val
* var_nclassdef
/* var nclassdef: AClassdef */;
5001 val
* var19
/* : nullable ANode */;
5002 val
* var_oldnode20
/* var oldnode: nullable ANode */;
5003 val
* var21
/* : null */;
5004 /* Covariant cast for argument 0 (v) <p0:AbstractCompilerVisitor> isa VISITOR */
5005 /* <p0:AbstractCompilerVisitor> isa VISITOR */
5006 type_struct
= self
->type
->resolution_table
->types
[COLOR_model__MPropDef_VTVISITOR
];
5007 cltype
= type_struct
->color
;
5008 idtype
= type_struct
->id
;
5009 if(cltype
>= p0
->type
->table_size
) {
5012 var1
= p0
->type
->type_table
[cltype
] == idtype
;
5015 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
5016 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name
);
5017 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1489);
5022 var2
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(var_v
) /* compiler on <var_v:AbstractCompilerVisitor>*/;
5023 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var2
) /* modelbuilder on <var2:AbstractCompiler>*/;
5024 var_modelbuilder
= var3
;
5025 var4
= ((val
* (*)(val
*))(var_modelbuilder
->class->vft
[COLOR_modelize_property__ModelBuilder__mpropdef2npropdef
]))(var_modelbuilder
) /* mpropdef2npropdef on <var_modelbuilder:ModelBuilder>*/;
5026 var5
= ((short int (*)(val
*, val
*))(var4
->class->vft
[COLOR_abstract_collection__MapRead__has_key
]))(var4
, self
) /* has_key on <var4:HashMap[MPropDef, APropdef]>*/;
5028 var6
= ((val
* (*)(val
*))(var_modelbuilder
->class->vft
[COLOR_modelize_property__ModelBuilder__mpropdef2npropdef
]))(var_modelbuilder
) /* mpropdef2npropdef on <var_modelbuilder:ModelBuilder>*/;
5029 var7
= ((val
* (*)(val
*, val
*))(var6
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var6
, self
) /* [] on <var6:HashMap[MPropDef, APropdef]>*/;
5030 var_npropdef
= var7
;
5031 var8
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__current_node
]))(var_v
) /* current_node on <var_v:AbstractCompilerVisitor>*/;
5033 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__current_node_61d
]))(var_v
, var_npropdef
) /* current_node= on <var_v:AbstractCompilerVisitor>*/;
5034 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__MMethodDef__compile_parameter_check
]))(self
, var_v
, var_arguments
) /* compile_parameter_check on <self:MMethodDef>*/;
5035 ((void (*)(val
*, val
*, val
*, val
*))(var_npropdef
->class->vft
[COLOR_abstract_compiler__APropdef__compile_to_c
]))(var_npropdef
, var_v
, self
, var_arguments
) /* compile_to_c on <var_npropdef:APropdef>*/;
5036 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__current_node_61d
]))(var_v
, var_oldnode
) /* current_node= on <var_v:AbstractCompilerVisitor>*/;
5038 var9
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__MPropDef__mproperty
]))(self
) /* mproperty on <self:MMethodDef>*/;
5039 var10
= ((val
* (*)(val
*))(var9
->class->vft
[COLOR_model__MProperty__name
]))(var9
) /* name on <var9:MProperty(MMethod)>*/;
5045 var14
= string__NativeString__to_s_with_length(var12
, var13
);
5049 var15
= ((short int (*)(val
*, val
*))(var10
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var10
, var11
) /* == on <var10:String>*/;
5051 var16
= ((val
* (*)(val
*))(var_modelbuilder
->class->vft
[COLOR_modelize_class__ModelBuilder__mclassdef2nclassdef
]))(var_modelbuilder
) /* mclassdef2nclassdef on <var_modelbuilder:ModelBuilder>*/;
5052 var17
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(self
) /* mclassdef on <self:MMethodDef>*/;
5053 var18
= ((val
* (*)(val
*, val
*))(var16
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var16
, var17
) /* [] on <var16:HashMap[MClassDef, AClassdef]>*/;
5054 var_nclassdef
= var18
;
5055 var19
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__current_node
]))(var_v
) /* current_node on <var_v:AbstractCompilerVisitor>*/;
5056 var_oldnode20
= var19
;
5057 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__current_node_61d
]))(var_v
, var_nclassdef
) /* current_node= on <var_v:AbstractCompilerVisitor>*/;
5058 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__MMethodDef__compile_parameter_check
]))(self
, var_v
, var_arguments
) /* compile_parameter_check on <self:MMethodDef>*/;
5059 ((void (*)(val
*, val
*, val
*, val
*))(var_nclassdef
->class->vft
[COLOR_abstract_compiler__AClassdef__compile_to_c
]))(var_nclassdef
, var_v
, self
, var_arguments
) /* compile_to_c on <var_nclassdef:AClassdef>*/;
5060 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__current_node_61d
]))(var_v
, var_oldnode20
) /* current_node= on <var_v:AbstractCompilerVisitor>*/;
5062 fprintf(stderr
, "Runtime error: %s", "Aborted");
5063 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1508);
5073 /* method abstract_compiler#MMethodDef#compile_inside_to_c for (self: Object, AbstractCompilerVisitor, Array[RuntimeVariable]): nullable RuntimeVariable */
5074 val
* VIRTUAL_abstract_compiler__MMethodDef__compile_inside_to_c(val
* self
, val
* p0
, val
* p1
) {
5075 val
* var
/* : nullable RuntimeVariable */;
5076 val
* var1
/* : nullable RuntimeVariable */;
5077 var1
= abstract_compiler__MMethodDef__compile_inside_to_c(self
, p0
, p1
);
5082 /* method abstract_compiler#MMethodDef#compile_parameter_check for (self: MMethodDef, AbstractCompilerVisitor, Array[RuntimeVariable]) */
5083 void abstract_compiler__MMethodDef__compile_parameter_check(val
* self
, val
* p0
, val
* p1
) {
5084 short int var
/* : Bool */;
5087 const struct type
* type_struct
;
5088 const char* var_class_name
;
5089 val
* var_v
/* var v: AbstractCompilerVisitor */;
5090 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
5091 val
* var1
/* : AbstractCompiler */;
5092 val
* var2
/* : ModelBuilder */;
5093 val
* var3
/* : ToolContext */;
5094 val
* var4
/* : OptionBool */;
5095 val
* var5
/* : nullable Object */;
5096 short int var6
/* : Bool */;
5097 val
* var7
/* : Range[Int] */;
5098 long var8
/* : Int */;
5099 val
* var9
/* : nullable MSignature */;
5100 long var10
/* : Int */;
5101 val
* var11
/* : Discrete */;
5102 val
* var12
/* : Discrete */;
5103 val
* var13
/* : Iterator[nullable Object] */;
5104 short int var14
/* : Bool */;
5105 val
* var15
/* : nullable Object */;
5106 long var_i
/* var i: Int */;
5107 long var16
/* : Int */;
5108 val
* var17
/* : nullable MSignature */;
5109 long var18
/* : Int */;
5110 short int var19
/* : Bool */;
5111 short int var21
/* : Bool */;
5112 val
* var22
/* : MProperty */;
5113 val
* var23
/* : MPropDef */;
5114 val
* var24
/* : nullable MSignature */;
5115 val
* var25
/* : Array[MParameter] */;
5116 val
* var26
/* : nullable Object */;
5117 val
* var27
/* : MType */;
5118 val
* var_origmtype
/* var origmtype: MType */;
5119 short int var28
/* : Bool */;
5120 short int var29
/* : Bool */;
5121 val
* var30
/* : nullable MSignature */;
5122 val
* var31
/* : Array[MParameter] */;
5123 val
* var32
/* : nullable Object */;
5124 val
* var33
/* : MType */;
5125 val
* var_mtype
/* var mtype: MType */;
5126 static val
* varonce
;
5127 val
* var34
/* : String */;
5128 char* var35
/* : NativeString */;
5129 long var36
/* : Int */;
5130 val
* var37
/* : String */;
5131 static val
* varonce38
;
5132 val
* var39
/* : String */;
5133 char* var40
/* : NativeString */;
5134 long var41
/* : Int */;
5135 val
* var42
/* : String */;
5136 val
* var43
/* : nullable MSignature */;
5137 val
* var44
/* : Array[MParameter] */;
5138 val
* var45
/* : nullable Object */;
5139 val
* var46
/* : String */;
5140 static val
* varonce47
;
5141 val
* var48
/* : String */;
5142 char* var49
/* : NativeString */;
5143 long var50
/* : Int */;
5144 val
* var51
/* : String */;
5145 long var52
/* : Int */;
5146 long var53
/* : Int */;
5147 long var55
/* : Int */;
5148 val
* var56
/* : nullable Object */;
5149 val
* var57
/* : String */;
5150 static val
* varonce58
;
5151 val
* var59
/* : String */;
5152 char* var60
/* : NativeString */;
5153 long var61
/* : Int */;
5154 val
* var62
/* : String */;
5155 static val
* varonce63
;
5156 val
* var64
/* : String */;
5157 char* var65
/* : NativeString */;
5158 long var66
/* : Int */;
5159 val
* var67
/* : String */;
5160 val
* var68
/* : Array[Object] */;
5161 long var69
/* : Int */;
5162 val
* var70
/* : NativeArray[Object] */;
5163 val
* var71
/* : Object */;
5164 val
* var72
/* : String */;
5165 long var73
/* : Int */;
5166 long var74
/* : Int */;
5167 long var76
/* : Int */;
5168 val
* var77
/* : nullable Object */;
5169 static val
* varonce78
;
5170 val
* var79
/* : String */;
5171 char* var80
/* : NativeString */;
5172 long var81
/* : Int */;
5173 val
* var82
/* : String */;
5174 /* Covariant cast for argument 0 (v) <p0:AbstractCompilerVisitor> isa VISITOR */
5175 /* <p0:AbstractCompilerVisitor> isa VISITOR */
5176 type_struct
= self
->type
->resolution_table
->types
[COLOR_model__MPropDef_VTVISITOR
];
5177 cltype
= type_struct
->color
;
5178 idtype
= type_struct
->id
;
5179 if(cltype
>= p0
->type
->table_size
) {
5182 var
= p0
->type
->type_table
[cltype
] == idtype
;
5185 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
5186 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name
);
5187 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1513);
5192 var1
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(var_v
) /* compiler on <var_v:AbstractCompilerVisitor>*/;
5193 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var1
) /* modelbuilder on <var1:AbstractCompiler>*/;
5194 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var2
) /* toolcontext on <var2:ModelBuilder>*/;
5195 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_check_covariance
]))(var3
) /* opt_no_check_covariance on <var3:ToolContext>*/;
5196 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_opts__Option__value
]))(var4
) /* value on <var4:OptionBool>*/;
5197 var6
= ((struct instance_kernel__Bool
*)var5
)->value
; /* autounbox from nullable Object to Bool */;
5202 var7
= NEW_range__Range(&type_range__Rangekernel__Int
);
5204 var9
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__MMethodDef__msignature
]))(self
) /* msignature on <self:MMethodDef>*/;
5206 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
5207 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1518);
5210 var10
= ((long (*)(val
*))(var9
->class->vft
[COLOR_model__MSignature__arity
]))(var9
) /* arity on <var9:nullable MSignature>*/;
5212 var11
= BOX_kernel__Int(var8
); /* autobox from Int to Discrete */
5213 var12
= BOX_kernel__Int(var10
); /* autobox from Int to Discrete */
5214 ((void (*)(val
*, val
*, val
*))(var7
->class->vft
[COLOR_range__Range__without_last
]))(var7
, var11
, var12
) /* without_last on <var7:Range[Int]>*/;
5215 var13
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var7
) /* iterator on <var7:Range[Int]>*/;
5217 var14
= ((short int (*)(val
*))(var13
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var13
) /* is_ok on <var13:Iterator[nullable Object]>*/;
5219 var15
= ((val
* (*)(val
*))(var13
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var13
) /* item on <var13:Iterator[nullable Object]>*/;
5220 var16
= ((struct instance_kernel__Int
*)var15
)->value
; /* autounbox from nullable Object to Int */;
5222 var17
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__MMethodDef__msignature
]))(self
) /* msignature on <self:MMethodDef>*/;
5223 if (var17
== NULL
) {
5224 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
5225 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1520);
5228 var18
= ((long (*)(val
*))(var17
->class->vft
[COLOR_model__MSignature__vararg_rank
]))(var17
) /* vararg_rank on <var17:nullable MSignature>*/;
5230 { /* Inline kernel#Int#== (var18,var_i) */
5231 var21
= var18
== var_i
;
5234 RET_LABEL20
:(void)0;
5237 goto CONTINUE_label
;
5240 var22
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__MPropDef__mproperty
]))(self
) /* mproperty on <self:MMethodDef>*/;
5241 var23
= ((val
* (*)(val
*))(var22
->class->vft
[COLOR_model__MProperty__intro
]))(var22
) /* intro on <var22:MProperty(MMethod)>*/;
5242 var24
= ((val
* (*)(val
*))(var23
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var23
) /* msignature on <var23:MPropDef(MMethodDef)>*/;
5243 if (var24
== NULL
) {
5244 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
5245 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1523);
5248 var25
= ((val
* (*)(val
*))(var24
->class->vft
[COLOR_model__MSignature__mparameters
]))(var24
) /* mparameters on <var24:nullable MSignature>*/;
5250 var26
= ((val
* (*)(val
*, long))(var25
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var25
, var_i
) /* [] on <var25:Array[MParameter]>*/;
5251 var27
= ((val
* (*)(val
*))(var26
->class->vft
[COLOR_model__MParameter__mtype
]))(var26
) /* mtype on <var26:nullable Object(MParameter)>*/;
5252 var_origmtype
= var27
;
5253 var28
= ((short int (*)(val
*))(var_origmtype
->class->vft
[COLOR_model__MType__need_anchor
]))(var_origmtype
) /* need_anchor on <var_origmtype:MType>*/;
5256 goto CONTINUE_label
;
5259 var30
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__MMethodDef__msignature
]))(self
) /* msignature on <self:MMethodDef>*/;
5260 if (var30
== NULL
) {
5261 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
5262 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1527);
5265 var31
= ((val
* (*)(val
*))(var30
->class->vft
[COLOR_model__MSignature__mparameters
]))(var30
) /* mparameters on <var30:nullable MSignature>*/;
5267 var32
= ((val
* (*)(val
*, long))(var31
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var31
, var_i
) /* [] on <var31:Array[MParameter]>*/;
5268 var33
= ((val
* (*)(val
*))(var32
->class->vft
[COLOR_model__MParameter__mtype
]))(var32
) /* mtype on <var32:nullable Object(MParameter)>*/;
5273 var35
= "/* Covariant cast for argument ";
5275 var37
= string__NativeString__to_s_with_length(var35
, var36
);
5284 var42
= string__NativeString__to_s_with_length(var40
, var41
);
5288 var43
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__MMethodDef__msignature
]))(self
) /* msignature on <self:MMethodDef>*/;
5289 if (var43
== NULL
) {
5290 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
5291 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1531);
5294 var44
= ((val
* (*)(val
*))(var43
->class->vft
[COLOR_model__MSignature__mparameters
]))(var43
) /* mparameters on <var43:nullable MSignature>*/;
5296 var45
= ((val
* (*)(val
*, long))(var44
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var44
, var_i
) /* [] on <var44:Array[MParameter]>*/;
5297 var46
= ((val
* (*)(val
*))(var45
->class->vft
[COLOR_model__MParameter__name
]))(var45
) /* name on <var45:nullable Object(MParameter)>*/;
5303 var51
= string__NativeString__to_s_with_length(var49
, var50
);
5308 { /* Inline kernel#Int#+ (var_i,var52) */
5309 var55
= var_i
+ var52
;
5312 RET_LABEL54
:(void)0;
5314 var56
= ((val
* (*)(val
*, long))(var_arguments
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_arguments
, var53
) /* [] on <var_arguments:Array[RuntimeVariable]>*/;
5315 var57
= ((val
* (*)(val
*))(var56
->class->vft
[COLOR_string__Object__inspect
]))(var56
) /* inspect on <var56:nullable Object(RuntimeVariable)>*/;
5321 var62
= string__NativeString__to_s_with_length(var60
, var61
);
5330 var67
= string__NativeString__to_s_with_length(var65
, var66
);
5334 var68
= NEW_array__Array(&type_array__Arraykernel__Object
);
5335 { /* var68 = array_instance Array[Object] */
5337 var70
= NEW_array__NativeArray(var69
, &type_array__NativeArraykernel__Object
);
5338 ((struct instance_array__NativeArray
*)var70
)->values
[0] = (val
*) var34
;
5339 var71
= BOX_kernel__Int(var_i
); /* autobox from Int to Object */
5340 ((struct instance_array__NativeArray
*)var70
)->values
[1] = (val
*) var71
;
5341 ((struct instance_array__NativeArray
*)var70
)->values
[2] = (val
*) var39
;
5342 ((struct instance_array__NativeArray
*)var70
)->values
[3] = (val
*) var46
;
5343 ((struct instance_array__NativeArray
*)var70
)->values
[4] = (val
*) var48
;
5344 ((struct instance_array__NativeArray
*)var70
)->values
[5] = (val
*) var57
;
5345 ((struct instance_array__NativeArray
*)var70
)->values
[6] = (val
*) var59
;
5346 ((struct instance_array__NativeArray
*)var70
)->values
[7] = (val
*) var_mtype
;
5347 ((struct instance_array__NativeArray
*)var70
)->values
[8] = (val
*) var64
;
5348 ((void (*)(val
*, val
*, long))(var68
->class->vft
[COLOR_array__Array__with_native
]))(var68
, var70
, var69
) /* with_native on <var68:Array[Object]>*/;
5350 var72
= ((val
* (*)(val
*))(var68
->class->vft
[COLOR_string__Object__to_s
]))(var68
) /* to_s on <var68:Array[Object]>*/;
5351 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var72
) /* add on <var_v:AbstractCompilerVisitor>*/;
5353 { /* Inline kernel#Int#+ (var_i,var73) */
5354 var76
= var_i
+ var73
;
5357 RET_LABEL75
:(void)0;
5359 var77
= ((val
* (*)(val
*, long))(var_arguments
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_arguments
, var74
) /* [] on <var_arguments:Array[RuntimeVariable]>*/;
5363 var80
= "covariance";
5365 var82
= string__NativeString__to_s_with_length(var80
, var81
);
5369 ((void (*)(val
*, val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_cast
]))(var_v
, var77
, var_mtype
, var79
) /* add_cast on <var_v:AbstractCompilerVisitor>*/;
5370 CONTINUE_label
: (void)0;
5371 ((void (*)(val
*))(var13
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var13
) /* next on <var13:Iterator[nullable Object]>*/;
5373 BREAK_label
: (void)0;
5376 /* method abstract_compiler#MMethodDef#compile_parameter_check for (self: Object, AbstractCompilerVisitor, Array[RuntimeVariable]) */
5377 void VIRTUAL_abstract_compiler__MMethodDef__compile_parameter_check(val
* self
, val
* p0
, val
* p1
) {
5378 abstract_compiler__MMethodDef__compile_parameter_check(self
, p0
, p1
);
5381 /* method abstract_compiler#APropdef#compile_to_c for (self: APropdef, AbstractCompilerVisitor, MMethodDef, Array[RuntimeVariable]) */
5382 void abstract_compiler__APropdef__compile_to_c(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
5383 val
* var_v
/* var v: AbstractCompilerVisitor */;
5384 val
* var_mpropdef
/* var mpropdef: MMethodDef */;
5385 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
5386 static val
* varonce
;
5387 val
* var
/* : String */;
5388 char* var1
/* : NativeString */;
5389 long var2
/* : Int */;
5390 val
* var3
/* : String */;
5391 val
* var4
/* : String */;
5392 static val
* varonce5
;
5393 val
* var6
/* : String */;
5394 char* var7
/* : NativeString */;
5395 long var8
/* : Int */;
5396 val
* var9
/* : String */;
5397 static val
* varonce10
;
5398 val
* var11
/* : String */;
5399 char* var12
/* : NativeString */;
5400 long var13
/* : Int */;
5401 val
* var14
/* : String */;
5402 val
* var15
/* : Location */;
5403 val
* var16
/* : String */;
5404 static val
* varonce17
;
5405 val
* var18
/* : String */;
5406 char* var19
/* : NativeString */;
5407 long var20
/* : Int */;
5408 val
* var21
/* : String */;
5409 val
* var22
/* : Array[Object] */;
5410 long var23
/* : Int */;
5411 val
* var24
/* : NativeArray[Object] */;
5412 val
* var25
/* : String */;
5413 static val
* varonce26
;
5414 val
* var27
/* : String */;
5415 char* var28
/* : NativeString */;
5416 long var29
/* : Int */;
5417 val
* var30
/* : String */;
5424 var1
= "printf(\"NOT YET IMPLEMENTED ";
5426 var3
= string__NativeString__to_s_with_length(var1
, var2
);
5430 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__Object__class_name
]))(self
) /* class_name on <self:APropdef>*/;
5436 var9
= string__NativeString__to_s_with_length(var7
, var8
);
5445 var14
= string__NativeString__to_s_with_length(var12
, var13
);
5449 var15
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__location
]))(self
) /* location on <self:APropdef>*/;
5450 var16
= ((val
* (*)(val
*))(var15
->class->vft
[COLOR_string__Object__to_s
]))(var15
) /* to_s on <var15:Location>*/;
5456 var21
= string__NativeString__to_s_with_length(var19
, var20
);
5460 var22
= NEW_array__Array(&type_array__Arraykernel__Object
);
5461 { /* var22 = array_instance Array[Object] */
5463 var24
= NEW_array__NativeArray(var23
, &type_array__NativeArraykernel__Object
);
5464 ((struct instance_array__NativeArray
*)var24
)->values
[0] = (val
*) var
;
5465 ((struct instance_array__NativeArray
*)var24
)->values
[1] = (val
*) var4
;
5466 ((struct instance_array__NativeArray
*)var24
)->values
[2] = (val
*) var6
;
5467 ((struct instance_array__NativeArray
*)var24
)->values
[3] = (val
*) var_mpropdef
;
5468 ((struct instance_array__NativeArray
*)var24
)->values
[4] = (val
*) var11
;
5469 ((struct instance_array__NativeArray
*)var24
)->values
[5] = (val
*) var16
;
5470 ((struct instance_array__NativeArray
*)var24
)->values
[6] = (val
*) var18
;
5471 ((void (*)(val
*, val
*, long))(var22
->class->vft
[COLOR_array__Array__with_native
]))(var22
, var24
, var23
) /* with_native on <var22:Array[Object]>*/;
5473 var25
= ((val
* (*)(val
*))(var22
->class->vft
[COLOR_string__Object__to_s
]))(var22
) /* to_s on <var22:Array[Object]>*/;
5474 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var25
) /* add on <var_v:AbstractCompilerVisitor>*/;
5478 var28
= "Not yet implemented";
5480 var30
= string__NativeString__to_s_with_length(var28
, var29
);
5484 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__debug
]))(self
, var27
) /* debug on <self:APropdef>*/;
5487 /* method abstract_compiler#APropdef#compile_to_c for (self: Object, AbstractCompilerVisitor, MMethodDef, Array[RuntimeVariable]) */
5488 void VIRTUAL_abstract_compiler__APropdef__compile_to_c(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
5489 abstract_compiler__APropdef__compile_to_c(self
, p0
, p1
, p2
);
5492 /* method abstract_compiler#APropdef#can_inline for (self: APropdef): Bool */
5493 short int abstract_compiler__APropdef__can_inline(val
* self
) {
5494 short int var
/* : Bool */;
5495 short int var1
/* : Bool */;
5502 /* method abstract_compiler#APropdef#can_inline for (self: Object): Bool */
5503 short int VIRTUAL_abstract_compiler__APropdef__can_inline(val
* self
) {
5504 short int var
/* : Bool */;
5505 short int var1
/* : Bool */;
5506 var1
= abstract_compiler__APropdef__can_inline(self
);
5511 /* method abstract_compiler#AConcreteMethPropdef#compile_to_c for (self: AConcreteMethPropdef, AbstractCompilerVisitor, MMethodDef, Array[RuntimeVariable]) */
5512 void abstract_compiler__AConcreteMethPropdef__compile_to_c(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
5513 val
* var_v
/* var v: AbstractCompilerVisitor */;
5514 val
* var_mpropdef
/* var mpropdef: MMethodDef */;
5515 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
5516 val
* var
/* : Range[Int] */;
5517 long var1
/* : Int */;
5518 val
* var2
/* : nullable MSignature */;
5519 long var3
/* : Int */;
5520 val
* var4
/* : Discrete */;
5521 val
* var5
/* : Discrete */;
5522 val
* var6
/* : Iterator[nullable Object] */;
5523 short int var7
/* : Bool */;
5524 val
* var8
/* : nullable Object */;
5525 long var_i
/* var i: Int */;
5526 long var9
/* : Int */;
5527 val
* var10
/* : nullable ASignature */;
5528 val
* var11
/* : ANodes[AParam] */;
5529 val
* var12
/* : nullable Object */;
5530 val
* var13
/* : nullable Variable */;
5531 val
* var_variable
/* var variable: Variable */;
5532 val
* var14
/* : RuntimeVariable */;
5533 long var15
/* : Int */;
5534 long var16
/* : Int */;
5535 long var18
/* : Int */;
5536 val
* var19
/* : nullable Object */;
5537 val
* var20
/* : nullable Array[CallSite] */;
5538 val
* var_auto_super_inits
/* var auto_super_inits: nullable Array[CallSite] */;
5539 val
* var21
/* : null */;
5540 short int var22
/* : Bool */;
5541 val
* var23
/* : Array[RuntimeVariable] */;
5542 long var24
/* : Int */;
5543 val
* var_
/* var : Array[RuntimeVariable] */;
5544 val
* var25
/* : nullable Object */;
5545 val
* var_args
/* var args: Array[RuntimeVariable] */;
5546 val
* var26
/* : Iterator[nullable Object] */;
5547 short int var27
/* : Bool */;
5548 val
* var28
/* : nullable Object */;
5549 val
* var_auto_super_init
/* var auto_super_init: CallSite */;
5550 val
* var29
/* : Range[Int] */;
5551 long var30
/* : Int */;
5552 val
* var31
/* : MSignature */;
5553 long var32
/* : Int */;
5554 long var33
/* : Int */;
5555 long var34
/* : Int */;
5556 long var36
/* : Int */;
5557 val
* var37
/* : Discrete */;
5558 val
* var38
/* : Discrete */;
5559 val
* var39
/* : Iterator[nullable Object] */;
5560 short int var40
/* : Bool */;
5561 val
* var41
/* : nullable Object */;
5562 long var_i42
/* var i: Int */;
5563 long var43
/* : Int */;
5564 val
* var44
/* : nullable Object */;
5565 val
* var46
/* : nullable RuntimeVariable */;
5566 val
* var48
/* : nullable AExpr */;
5570 var
= NEW_range__Range(&type_range__Rangekernel__Int
);
5572 var2
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var_mpropdef
) /* msignature on <var_mpropdef:MMethodDef>*/;
5574 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
5575 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1552);
5578 var3
= ((long (*)(val
*))(var2
->class->vft
[COLOR_model__MSignature__arity
]))(var2
) /* arity on <var2:nullable MSignature>*/;
5580 var4
= BOX_kernel__Int(var1
); /* autobox from Int to Discrete */
5581 var5
= BOX_kernel__Int(var3
); /* autobox from Int to Discrete */
5582 ((void (*)(val
*, val
*, val
*))(var
->class->vft
[COLOR_range__Range__without_last
]))(var
, var4
, var5
) /* without_last on <var:Range[Int]>*/;
5583 var6
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var
) /* iterator on <var:Range[Int]>*/;
5585 var7
= ((short int (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var6
) /* is_ok on <var6:Iterator[nullable Object]>*/;
5587 var8
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var6
) /* item on <var6:Iterator[nullable Object]>*/;
5588 var9
= ((struct instance_kernel__Int
*)var8
)->value
; /* autounbox from nullable Object to Int */;
5590 var10
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AMethPropdef__n_signature
]))(self
) /* n_signature on <self:AConcreteMethPropdef>*/;
5591 if (var10
== NULL
) {
5592 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
5593 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1553);
5596 var11
= ((val
* (*)(val
*))(var10
->class->vft
[COLOR_parser_nodes__ASignature__n_params
]))(var10
) /* n_params on <var10:nullable ASignature>*/;
5598 var12
= ((val
* (*)(val
*, long))(var11
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var11
, var_i
) /* [] on <var11:ANodes[AParam]>*/;
5599 var13
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_scope__AParam__variable
]))(var12
) /* variable on <var12:nullable Object(AParam)>*/;
5600 if (var13
== NULL
) {
5601 fprintf(stderr
, "Runtime error: %s", "Cast failed");
5602 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1553);
5605 var_variable
= var13
;
5606 var14
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__variable
]))(var_v
, var_variable
) /* variable on <var_v:AbstractCompilerVisitor>*/;
5608 { /* Inline kernel#Int#+ (var_i,var15) */
5609 var18
= var_i
+ var15
;
5612 RET_LABEL17
:(void)0;
5614 var19
= ((val
* (*)(val
*, long))(var_arguments
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_arguments
, var16
) /* [] on <var_arguments:Array[RuntimeVariable]>*/;
5615 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__assign
]))(var_v
, var14
, var19
) /* assign on <var_v:AbstractCompilerVisitor>*/;
5616 CONTINUE_label
: (void)0;
5617 ((void (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var6
) /* next on <var6:Iterator[nullable Object]>*/;
5619 BREAK_label
: (void)0;
5620 var20
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_auto_super_init__AConcreteMethPropdef__auto_super_inits
]))(self
) /* auto_super_inits on <self:AConcreteMethPropdef>*/;
5621 var_auto_super_inits
= var20
;
5623 if (var_auto_super_inits
== NULL
) {
5624 var22
= 0; /* is null */
5626 var22
= 1; /* arg is null and recv is not */
5629 var23
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
5631 ((void (*)(val
*, long))(var23
->class->vft
[COLOR_array__Array__with_capacity
]))(var23
, var24
) /* with_capacity on <var23:Array[RuntimeVariable]>*/;
5633 var25
= ((val
* (*)(val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_arguments
) /* first on <var_arguments:Array[RuntimeVariable]>*/;
5634 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__Sequence__push
]))(var_
, var25
) /* push on <var_:Array[RuntimeVariable]>*/;
5636 var26
= ((val
* (*)(val
*))(var_auto_super_inits
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_auto_super_inits
) /* iterator on <var_auto_super_inits:nullable Array[CallSite](Array[CallSite])>*/;
5638 var27
= ((short int (*)(val
*))(var26
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var26
) /* is_ok on <var26:Iterator[nullable Object]>*/;
5640 var28
= ((val
* (*)(val
*))(var26
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var26
) /* item on <var26:Iterator[nullable Object]>*/;
5641 var_auto_super_init
= var28
;
5642 ((void (*)(val
*))(var_args
->class->vft
[COLOR_abstract_collection__RemovableCollection__clear
]))(var_args
) /* clear on <var_args:Array[RuntimeVariable]>*/;
5643 var29
= NEW_range__Range(&type_range__Rangekernel__Int
);
5645 var31
= ((val
* (*)(val
*))(var_auto_super_init
->class->vft
[COLOR_typing__CallSite__msignature
]))(var_auto_super_init
) /* msignature on <var_auto_super_init:CallSite>*/;
5646 var32
= ((long (*)(val
*))(var31
->class->vft
[COLOR_model__MSignature__arity
]))(var31
) /* arity on <var31:MSignature>*/;
5648 { /* Inline kernel#Int#+ (var32,var33) */
5649 var36
= var32
+ var33
;
5652 RET_LABEL35
:(void)0;
5654 var37
= BOX_kernel__Int(var30
); /* autobox from Int to Discrete */
5655 var38
= BOX_kernel__Int(var34
); /* autobox from Int to Discrete */
5656 ((void (*)(val
*, val
*, val
*))(var29
->class->vft
[COLOR_range__Range__without_last
]))(var29
, var37
, var38
) /* without_last on <var29:Range[Int]>*/;
5657 var39
= ((val
* (*)(val
*))(var29
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var29
) /* iterator on <var29:Range[Int]>*/;
5659 var40
= ((short int (*)(val
*))(var39
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var39
) /* is_ok on <var39:Iterator[nullable Object]>*/;
5661 var41
= ((val
* (*)(val
*))(var39
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var39
) /* item on <var39:Iterator[nullable Object]>*/;
5662 var43
= ((struct instance_kernel__Int
*)var41
)->value
; /* autounbox from nullable Object to Int */;
5664 var44
= ((val
* (*)(val
*, long))(var_arguments
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_arguments
, var_i42
) /* [] on <var_arguments:Array[RuntimeVariable]>*/;
5665 ((void (*)(val
*, val
*))(var_args
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_args
, var44
) /* add on <var_args:Array[RuntimeVariable]>*/;
5666 CONTINUE_label45
: (void)0;
5667 ((void (*)(val
*))(var39
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var39
) /* next on <var39:Iterator[nullable Object]>*/;
5669 BREAK_label45
: (void)0;
5670 var46
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var_auto_super_init
, var_args
) /* compile_callsite on <var_v:AbstractCompilerVisitor>*/;
5672 CONTINUE_label47
: (void)0;
5673 ((void (*)(val
*))(var26
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var26
) /* next on <var26:Iterator[nullable Object]>*/;
5675 BREAK_label47
: (void)0;
5678 var48
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AConcreteMethPropdef__n_block
]))(self
) /* n_block on <self:AConcreteMethPropdef>*/;
5679 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__stmt
]))(var_v
, var48
) /* stmt on <var_v:AbstractCompilerVisitor>*/;
5682 /* method abstract_compiler#AConcreteMethPropdef#compile_to_c for (self: Object, AbstractCompilerVisitor, MMethodDef, Array[RuntimeVariable]) */
5683 void VIRTUAL_abstract_compiler__AConcreteMethPropdef__compile_to_c(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
5684 abstract_compiler__AConcreteMethPropdef__compile_to_c(self
, p0
, p1
, p2
);
5687 /* method abstract_compiler#AConcreteMethPropdef#can_inline for (self: AConcreteMethPropdef): Bool */
5688 short int abstract_compiler__AConcreteMethPropdef__can_inline(val
* self
) {
5689 short int var
/* : Bool */;
5690 val
* var1
/* : nullable Array[CallSite] */;
5691 val
* var2
/* : null */;
5692 short int var3
/* : Bool */;
5693 short int var4
/* : Bool */;
5694 val
* var5
/* : nullable AExpr */;
5695 val
* var_nblock
/* var nblock: nullable AExpr */;
5696 val
* var6
/* : null */;
5697 short int var7
/* : Bool */;
5698 short int var8
/* : Bool */;
5699 short int var9
/* : Bool */;
5700 short int var10
/* : Bool */;
5701 val
* var11
/* : nullable MPropDef */;
5702 val
* var12
/* : MProperty */;
5703 val
* var13
/* : String */;
5704 static val
* varonce
;
5705 val
* var14
/* : String */;
5706 char* var15
/* : NativeString */;
5707 long var16
/* : Int */;
5708 val
* var17
/* : String */;
5709 short int var18
/* : Bool */;
5710 short int var_
/* var : Bool */;
5711 val
* var19
/* : nullable MPropDef */;
5712 val
* var20
/* : MProperty */;
5713 val
* var21
/* : String */;
5714 static val
* varonce22
;
5715 val
* var23
/* : String */;
5716 char* var24
/* : NativeString */;
5717 long var25
/* : Int */;
5718 val
* var26
/* : String */;
5719 short int var27
/* : Bool */;
5720 short int var_28
/* var : Bool */;
5721 val
* var29
/* : nullable MPropDef */;
5722 val
* var30
/* : MClassDef */;
5723 val
* var31
/* : MClass */;
5724 val
* var32
/* : String */;
5725 static val
* varonce33
;
5726 val
* var34
/* : String */;
5727 char* var35
/* : NativeString */;
5728 long var36
/* : Int */;
5729 val
* var37
/* : String */;
5730 short int var38
/* : Bool */;
5731 short int var39
/* : Bool */;
5732 short int var40
/* : Bool */;
5733 short int var41
/* : Bool */;
5736 short int var_42
/* var : Bool */;
5737 val
* var43
/* : ANodes[AExpr] */;
5738 long var44
/* : Int */;
5739 long var45
/* : Int */;
5740 short int var46
/* : Bool */;
5741 short int var48
/* : Bool */;
5742 short int var49
/* : Bool */;
5743 short int var50
/* : Bool */;
5744 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_auto_super_init__AConcreteMethPropdef__auto_super_inits
]))(self
) /* auto_super_inits on <self:AConcreteMethPropdef>*/;
5747 var3
= 0; /* is null */
5749 var3
= 1; /* arg is null and recv is not */
5757 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AConcreteMethPropdef__n_block
]))(self
) /* n_block on <self:AConcreteMethPropdef>*/;
5760 if (var_nblock
== NULL
) {
5761 var7
= 1; /* is null */
5763 var7
= 0; /* arg is null but recv is not */
5771 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__mpropdef
]))(self
) /* mpropdef on <self:AConcreteMethPropdef>*/;
5772 if (var11
== NULL
) {
5773 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
5774 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1576);
5777 var12
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var11
) /* mproperty on <var11:nullable MPropDef(nullable MMethodDef)>*/;
5779 var13
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_model__MProperty__name
]))(var12
) /* name on <var12:MProperty(MMethod)>*/;
5785 var17
= string__NativeString__to_s_with_length(var15
, var16
);
5789 var18
= ((short int (*)(val
*, val
*))(var13
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var13
, var14
) /* == on <var13:String>*/;
5794 var19
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__mpropdef
]))(self
) /* mpropdef on <self:AConcreteMethPropdef>*/;
5795 if (var19
== NULL
) {
5796 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
5797 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1576);
5800 var20
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var19
) /* mproperty on <var19:nullable MPropDef(nullable MMethodDef)>*/;
5802 var21
= ((val
* (*)(val
*))(var20
->class->vft
[COLOR_model__MProperty__name
]))(var20
) /* name on <var20:MProperty(MMethod)>*/;
5808 var26
= string__NativeString__to_s_with_length(var24
, var25
);
5812 var27
= ((short int (*)(val
*, val
*))(var21
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var21
, var23
) /* == on <var21:String>*/;
5817 var29
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__mpropdef
]))(self
) /* mpropdef on <self:AConcreteMethPropdef>*/;
5818 if (var29
== NULL
) {
5819 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
5820 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1576);
5823 var30
= ((val
* (*)(val
*))(var29
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var29
) /* mclassdef on <var29:nullable MPropDef(nullable MMethodDef)>*/;
5825 var31
= ((val
* (*)(val
*))(var30
->class->vft
[COLOR_model__MClassDef__mclass
]))(var30
) /* mclass on <var30:MClassDef>*/;
5826 var32
= ((val
* (*)(val
*))(var31
->class->vft
[COLOR_model__MClass__name
]))(var31
) /* name on <var31:MClass>*/;
5832 var37
= string__NativeString__to_s_with_length(var35
, var36
);
5836 var38
= ((short int (*)(val
*, val
*))(var32
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var32
, var34
) /* == on <var32:String>*/;
5847 /* <var_nblock:nullable AExpr(AExpr)> isa ABlockExpr */
5848 cltype
= type_parser_nodes__ABlockExpr
.color
;
5849 idtype
= type_parser_nodes__ABlockExpr
.id
;
5850 if(cltype
>= var_nblock
->type
->table_size
) {
5853 var41
= var_nblock
->type
->type_table
[cltype
] == idtype
;
5857 var43
= ((val
* (*)(val
*))(var_nblock
->class->vft
[COLOR_parser_nodes__ABlockExpr__n_expr
]))(var_nblock
) /* n_expr on <var_nblock:nullable AExpr(ABlockExpr)>*/;
5858 var44
= ((long (*)(val
*))(var43
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var43
) /* length on <var43:ANodes[AExpr]>*/;
5860 { /* Inline kernel#Int#== (var44,var45) */
5861 var48
= var44
== var45
;
5864 RET_LABEL47
:(void)0;
5882 /* method abstract_compiler#AConcreteMethPropdef#can_inline for (self: Object): Bool */
5883 short int VIRTUAL_abstract_compiler__AConcreteMethPropdef__can_inline(val
* self
) {
5884 short int var
/* : Bool */;
5885 short int var1
/* : Bool */;
5886 var1
= abstract_compiler__AConcreteMethPropdef__can_inline(self
);