1 #include "nitc__rapid_type_analysis.sep.0.h"
2 /* method rapid_type_analysis$ModelBuilder$do_rapid_type_analysis for (self: ModelBuilder, MModule): RapidTypeAnalysis */
3 val
* nitc__rapid_type_analysis___ModelBuilder___do_rapid_type_analysis(val
* self
, val
* p0
) {
4 val
* var
/* : RapidTypeAnalysis */;
5 val
* var_mainmodule
/* var mainmodule: MModule */;
6 val
* var1
/* : RapidTypeAnalysis */;
7 val
* var_analysis
/* var analysis: RapidTypeAnalysis */;
8 val
* var2
/* : ToolContext */;
9 val
* var4
/* : ToolContext */;
10 val
* var5
/* : OptionBool */;
11 val
* var7
/* : OptionBool */;
12 val
* var8
/* : nullable Object */;
13 val
* var10
/* : nullable Object */;
14 short int var11
/* : Bool */;
15 val
* var12
/* : ToolContext */;
16 val
* var14
/* : ToolContext */;
17 val
* var15
/* : String */;
18 val
* var17
/* : String */;
19 val
* var18
/* : String */;
20 val
* var20
/* : String */;
21 val
* var21
/* : String */;
22 val
* var_basename
/* var basename: String */;
23 val
* var22
/* : OrderedTree[Object] */;
25 val
* var23
/* : String */;
26 char* var24
/* : CString */;
27 val
* var25
/* : String */;
28 val
* var26
/* : nullable Int */;
29 val
* var27
/* : nullable Int */;
30 val
* var28
/* : nullable Bool */;
31 val
* var29
/* : nullable Bool */;
32 val
* var30
/* : Text */;
33 val
* var31
/* : CsvDocument */;
34 static val
* varonce32
;
35 val
* var33
/* : String */;
36 char* var34
/* : CString */;
37 val
* var35
/* : String */;
38 val
* var36
/* : nullable Int */;
39 val
* var37
/* : nullable Int */;
40 val
* var38
/* : nullable Bool */;
41 val
* var39
/* : nullable Bool */;
42 val
* var40
/* : Text */;
44 var1
= NEW_nitc__RapidTypeAnalysis(&type_nitc__RapidTypeAnalysis
);
46 ((void(*)(val
* self
, val
* p0
))(var1
->class->vft
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis__modelbuilder_61d
]))(var1
, self
); /* modelbuilder= on <var1:RapidTypeAnalysis>*/
49 ((void(*)(val
* self
, val
* p0
))(var1
->class->vft
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis__mainmodule_61d
]))(var1
, var_mainmodule
); /* mainmodule= on <var1:RapidTypeAnalysis>*/
52 ((void(*)(val
* self
))(var1
->class->vft
[COLOR_core__kernel__Object__init
]))(var1
); /* init on <var1:RapidTypeAnalysis>*/
56 nitc___nitc__RapidTypeAnalysis___run_analysis(var_analysis
); /* Direct call rapid_type_analysis$RapidTypeAnalysis$run_analysis on <var_analysis:RapidTypeAnalysis>*/
59 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (self) on <self:ModelBuilder> */
60 var4
= self
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
61 if (unlikely(var4
== NULL
)) {
62 if(catchStack
.cursor
>= 0){
63 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
65 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
66 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
74 { /* Inline toolcontext$ToolContext$opt_log (var2) on <var2:ToolContext> */
75 var7
= var2
->attrs
[COLOR_nitc__toolcontext__ToolContext___opt_log
].val
; /* _opt_log on <var2:ToolContext> */
76 if (unlikely(var7
== NULL
)) {
77 if(catchStack
.cursor
>= 0){
78 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
80 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_log");
81 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext
, 369);
89 { /* Inline opts$Option$value (var5) on <var5:OptionBool> */
90 var10
= var5
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var5:OptionBool> */
95 var11
= (short int)((long)(var8
)>>2);
98 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (self) on <self:ModelBuilder> */
99 var14
= self
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
100 if (unlikely(var14
== NULL
)) {
101 if(catchStack
.cursor
>= 0){
102 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
104 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
105 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
113 { /* Inline toolcontext$ToolContext$log_directory (var12) on <var12:ToolContext> */
114 var17
= var12
->attrs
[COLOR_nitc__toolcontext__ToolContext___log_directory
].val
; /* _log_directory on <var12:ToolContext> */
115 if (unlikely(var17
== NULL
)) {
116 if(catchStack
.cursor
>= 0){
117 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
119 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _log_directory");
120 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext
, 151);
128 { /* Inline mmodule$MModule$name (var_mainmodule) on <var_mainmodule:MModule> */
129 var20
= var_mainmodule
->attrs
[COLOR_nitc__mmodule__MModule___name
].val
; /* _name on <var_mainmodule:MModule> */
130 if (unlikely(var20
== NULL
)) {
131 if(catchStack
.cursor
>= 0){
132 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
134 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
135 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule
, 100);
143 var21
= core__file___String____47d(var15
, var18
);
145 var_basename
= var21
;
147 var22
= nitc___nitc__RapidTypeAnalysis___live_methods_to_tree(var_analysis
);
149 if (likely(varonce
!=NULL
)) {
152 var24
= ".rta_methods.txt";
153 var26
= (val
*)(16l<<2|1);
154 var27
= (val
*)(16l<<2|1);
155 var28
= (val
*)((long)(0)<<2|3);
156 var29
= (val
*)((long)(0)<<2|3);
157 var25
= core__flat___CString___to_s_unsafe(var24
, var26
, var27
, var28
, var29
);
162 var30
= ((val
*(*)(val
* self
, val
* p0
))(var_basename
->class->vft
[COLOR_core__abstract_text__Text___43d
]))(var_basename
, var23
); /* + on <var_basename:String>*/
165 core__file___Writable___write_to_file(var22
, var30
); /* Direct call file$Writable$write_to_file on <var22:OrderedTree[Object]>*/
168 var31
= nitc___nitc__RapidTypeAnalysis___live_types_to_csv(var_analysis
);
170 if (likely(varonce32
!=NULL
)) {
173 var34
= ".rta_types.csv";
174 var36
= (val
*)(14l<<2|1);
175 var37
= (val
*)(14l<<2|1);
176 var38
= (val
*)((long)(0)<<2|3);
177 var39
= (val
*)((long)(0)<<2|3);
178 var35
= core__flat___CString___to_s_unsafe(var34
, var36
, var37
, var38
, var39
);
183 var40
= ((val
*(*)(val
* self
, val
* p0
))(var_basename
->class->vft
[COLOR_core__abstract_text__Text___43d
]))(var_basename
, var33
); /* + on <var_basename:String>*/
186 core__file___Writable___write_to_file(var31
, var40
); /* Direct call file$Writable$write_to_file on <var31:CsvDocument>*/
195 /* method rapid_type_analysis$RapidTypeAnalysis$modelbuilder for (self: RapidTypeAnalysis): ModelBuilder */
196 val
* nitc___nitc__RapidTypeAnalysis___modelbuilder(val
* self
) {
197 val
* var
/* : ModelBuilder */;
198 val
* var1
/* : ModelBuilder */;
199 var1
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___modelbuilder
].val
; /* _modelbuilder on <self:RapidTypeAnalysis> */
200 if (unlikely(var1
== NULL
)) {
201 if(catchStack
.cursor
>= 0){
202 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
204 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
205 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 53);
212 /* method rapid_type_analysis$RapidTypeAnalysis$modelbuilder= for (self: RapidTypeAnalysis, ModelBuilder) */
213 void nitc___nitc__RapidTypeAnalysis___modelbuilder_61d(val
* self
, val
* p0
) {
214 self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___modelbuilder
].val
= p0
; /* _modelbuilder on <self:RapidTypeAnalysis> */
217 /* method rapid_type_analysis$RapidTypeAnalysis$mainmodule for (self: RapidTypeAnalysis): MModule */
218 val
* nitc___nitc__RapidTypeAnalysis___mainmodule(val
* self
) {
219 val
* var
/* : MModule */;
220 val
* var1
/* : MModule */;
221 var1
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___mainmodule
].val
; /* _mainmodule on <self:RapidTypeAnalysis> */
222 if (unlikely(var1
== NULL
)) {
223 if(catchStack
.cursor
>= 0){
224 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
226 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
227 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 56);
234 /* method rapid_type_analysis$RapidTypeAnalysis$mainmodule= for (self: RapidTypeAnalysis, MModule) */
235 void nitc___nitc__RapidTypeAnalysis___mainmodule_61d(val
* self
, val
* p0
) {
236 self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___mainmodule
].val
= p0
; /* _mainmodule on <self:RapidTypeAnalysis> */
239 /* method rapid_type_analysis$RapidTypeAnalysis$live_types for (self: RapidTypeAnalysis): HashSet[MClassType] */
240 val
* nitc___nitc__RapidTypeAnalysis___live_types(val
* self
) {
241 val
* var
/* : HashSet[MClassType] */;
242 val
* var1
/* : HashSet[MClassType] */;
243 var1
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_types
].val
; /* _live_types on <self:RapidTypeAnalysis> */
244 if (unlikely(var1
== NULL
)) {
245 if(catchStack
.cursor
>= 0){
246 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
248 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_types");
249 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 60);
256 /* method rapid_type_analysis$RapidTypeAnalysis$live_open_types for (self: RapidTypeAnalysis): HashSet[MClassType] */
257 val
* nitc___nitc__RapidTypeAnalysis___live_open_types(val
* self
) {
258 val
* var
/* : HashSet[MClassType] */;
259 val
* var1
/* : HashSet[MClassType] */;
260 var1
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_open_types
].val
; /* _live_open_types on <self:RapidTypeAnalysis> */
261 if (unlikely(var1
== NULL
)) {
262 if(catchStack
.cursor
>= 0){
263 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
265 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_open_types");
266 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 65);
273 /* method rapid_type_analysis$RapidTypeAnalysis$live_classes for (self: RapidTypeAnalysis): HashSet[MClass] */
274 val
* nitc___nitc__RapidTypeAnalysis___live_classes(val
* self
) {
275 val
* var
/* : HashSet[MClass] */;
276 val
* var1
/* : HashSet[MClass] */;
277 var1
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_classes
].val
; /* _live_classes on <self:RapidTypeAnalysis> */
278 if (unlikely(var1
== NULL
)) {
279 if(catchStack
.cursor
>= 0){
280 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
282 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_classes");
283 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 69);
290 /* method rapid_type_analysis$RapidTypeAnalysis$live_cast_types for (self: RapidTypeAnalysis): HashSet[MType] */
291 val
* nitc___nitc__RapidTypeAnalysis___live_cast_types(val
* self
) {
292 val
* var
/* : HashSet[MType] */;
293 val
* var1
/* : HashSet[MType] */;
294 var1
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_cast_types
].val
; /* _live_cast_types on <self:RapidTypeAnalysis> */
295 if (unlikely(var1
== NULL
)) {
296 if(catchStack
.cursor
>= 0){
297 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
299 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_cast_types");
300 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 72);
307 /* method rapid_type_analysis$RapidTypeAnalysis$live_open_cast_types for (self: RapidTypeAnalysis): HashSet[MType] */
308 val
* nitc___nitc__RapidTypeAnalysis___live_open_cast_types(val
* self
) {
309 val
* var
/* : HashSet[MType] */;
310 val
* var1
/* : HashSet[MType] */;
311 var1
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_open_cast_types
].val
; /* _live_open_cast_types on <self:RapidTypeAnalysis> */
312 if (unlikely(var1
== NULL
)) {
313 if(catchStack
.cursor
>= 0){
314 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
316 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_open_cast_types");
317 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 75);
324 /* method rapid_type_analysis$RapidTypeAnalysis$live_methoddefs for (self: RapidTypeAnalysis): HashSet[MMethodDef] */
325 val
* nitc___nitc__RapidTypeAnalysis___live_methoddefs(val
* self
) {
326 val
* var
/* : HashSet[MMethodDef] */;
327 val
* var1
/* : HashSet[MMethodDef] */;
328 var1
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_methoddefs
].val
; /* _live_methoddefs on <self:RapidTypeAnalysis> */
329 if (unlikely(var1
== NULL
)) {
330 if(catchStack
.cursor
>= 0){
331 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
333 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_methoddefs");
334 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 79);
341 /* method rapid_type_analysis$RapidTypeAnalysis$live_methods for (self: RapidTypeAnalysis): HashSet[MMethod] */
342 val
* nitc___nitc__RapidTypeAnalysis___live_methods(val
* self
) {
343 val
* var
/* : HashSet[MMethod] */;
344 val
* var1
/* : HashSet[MMethod] */;
345 var1
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_methods
].val
; /* _live_methods on <self:RapidTypeAnalysis> */
346 if (unlikely(var1
== NULL
)) {
347 if(catchStack
.cursor
>= 0){
348 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
350 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_methods");
351 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 82);
358 /* method rapid_type_analysis$RapidTypeAnalysis$live_mmodules for (self: RapidTypeAnalysis): HashSet[MModule] */
359 val
* nitc___nitc__RapidTypeAnalysis___live_mmodules(val
* self
) {
360 val
* var
/* : HashSet[MModule] */;
361 val
* var1
/* : HashSet[MModule] */;
362 var1
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_mmodules
].val
; /* _live_mmodules on <self:RapidTypeAnalysis> */
363 if (unlikely(var1
== NULL
)) {
364 if(catchStack
.cursor
>= 0){
365 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
367 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_mmodules");
368 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 85);
375 /* method rapid_type_analysis$RapidTypeAnalysis$live_callsites for (self: RapidTypeAnalysis): HashSet[CallSite] */
376 val
* nitc___nitc__RapidTypeAnalysis___live_callsites(val
* self
) {
377 val
* var
/* : HashSet[CallSite] */;
378 val
* var1
/* : HashSet[CallSite] */;
379 var1
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_callsites
].val
; /* _live_callsites on <self:RapidTypeAnalysis> */
380 if (unlikely(var1
== NULL
)) {
381 if(catchStack
.cursor
>= 0){
382 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
384 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_callsites");
385 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 89);
392 /* method rapid_type_analysis$RapidTypeAnalysis$live_targets_cache for (self: RapidTypeAnalysis): HashMap2[MType, MProperty, Set[MMethodDef]] */
393 val
* nitc___nitc__RapidTypeAnalysis___live_targets_cache(val
* self
) {
394 val
* var
/* : HashMap2[MType, MProperty, Set[MMethodDef]] */;
395 val
* var1
/* : HashMap2[MType, MProperty, Set[MMethodDef]] */;
396 var1
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_targets_cache
].val
; /* _live_targets_cache on <self:RapidTypeAnalysis> */
397 if (unlikely(var1
== NULL
)) {
398 if(catchStack
.cursor
>= 0){
399 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
401 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_targets_cache");
402 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 92);
409 /* method rapid_type_analysis$RapidTypeAnalysis$live_targets for (self: RapidTypeAnalysis, CallSite): Set[MMethodDef] */
410 val
* nitc___nitc__RapidTypeAnalysis___live_targets(val
* self
, val
* p0
) {
411 val
* var
/* : Set[MMethodDef] */;
412 val
* var_callsite
/* var callsite: CallSite */;
413 val
* var1
/* : MType */;
414 val
* var3
/* : MType */;
415 val
* var_mtype
/* var mtype: MType */;
416 val
* var4
/* : nullable MClassType */;
417 val
* var6
/* : nullable MClassType */;
418 val
* var_anchor
/* var anchor: nullable MClassType */;
419 short int var7
/* : Bool */;
420 short int var8
/* : Bool */;
421 val
* var_other
/* var other: nullable Object */;
422 short int var10
/* : Bool */;
423 short int var11
/* : Bool */;
424 val
* var12
/* : MModule */;
425 val
* var14
/* : MModule */;
426 val
* var15
/* : MType */;
427 val
* var16
/* : MType */;
428 short int var17
/* : Bool */;
431 val
* var18
/* : MClass */;
432 val
* var20
/* : MClass */;
433 val
* var21
/* : MClassDef */;
434 val
* var23
/* : MClassDef */;
435 val
* var24
/* : MClassType */;
436 val
* var26
/* : MClassType */;
437 val
* var27
/* : MMethod */;
438 val
* var29
/* : MMethod */;
439 val
* var_mproperty
/* var mproperty: MMethod */;
440 val
* var30
/* : HashMap2[MType, MProperty, Set[MMethodDef]] */;
441 val
* var32
/* : HashMap2[MType, MProperty, Set[MMethodDef]] */;
442 val
* var33
/* : nullable Object */;
443 val
* var_res
/* var res: nullable Set[MMethodDef] */;
444 short int var34
/* : Bool */;
445 short int var35
/* : Bool */;
446 short int var37
/* : Bool */;
447 short int var38
/* : Bool */;
448 val
* var39
/* : ArraySet[MMethodDef] */;
449 val
* var40
/* : HashMap2[MType, MProperty, Set[MMethodDef]] */;
450 val
* var42
/* : HashMap2[MType, MProperty, Set[MMethodDef]] */;
451 val
* var43
/* : HashSet[MClass] */;
452 val
* var45
/* : HashSet[MClass] */;
453 val
* var_
/* var : HashSet[MClass] */;
454 val
* var46
/* : Iterator[nullable Object] */;
455 val
* var_47
/* var : Iterator[MClass] */;
456 short int var48
/* : Bool */;
457 val
* var49
/* : nullable Object */;
458 val
* var_c
/* var c: MClass */;
459 val
* var50
/* : MClassDef */;
460 val
* var52
/* : MClassDef */;
461 val
* var53
/* : MClassType */;
462 val
* var55
/* : MClassType */;
463 val
* var_tc
/* var tc: MClassType */;
464 val
* var56
/* : MModule */;
465 val
* var58
/* : MModule */;
466 short int var59
/* : Bool */;
467 short int var60
/* : Bool */;
468 val
* var62
/* : MModule */;
469 val
* var64
/* : MModule */;
470 val
* var65
/* : MPropDef */;
471 val
* var_d
/* var d: MMethodDef */;
474 { /* Inline typing$CallSite$recv (var_callsite) on <var_callsite:CallSite> */
475 var3
= var_callsite
->attrs
[COLOR_nitc__typing__CallSite___recv
].val
; /* _recv on <var_callsite:CallSite> */
476 if (unlikely(var3
== NULL
)) {
477 if(catchStack
.cursor
>= 0){
478 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
480 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _recv");
481 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 642);
490 { /* Inline typing$CallSite$anchor (var_callsite) on <var_callsite:CallSite> */
491 var6
= var_callsite
->attrs
[COLOR_nitc__typing__CallSite___anchor
].val
; /* _anchor on <var_callsite:CallSite> */
497 if (var_anchor
== NULL
) {
498 var7
= 0; /* is null */
500 var7
= 1; /* arg is null and recv is not */
503 { /* Inline kernel$Object$!= (var_anchor,((val*)NULL)) on <var_anchor:nullable MClassType> */
504 var_other
= ((val
*)NULL
);
506 var10
= ((short int(*)(val
* self
, val
* p0
))(var_anchor
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_anchor
, var_other
); /* == on <var_anchor:nullable MClassType(MClassType)>*/
517 { /* Inline typing$CallSite$mmodule (var_callsite) on <var_callsite:CallSite> */
518 var14
= var_callsite
->attrs
[COLOR_nitc__typing__CallSite___mmodule
].val
; /* _mmodule on <var_callsite:CallSite> */
519 if (unlikely(var14
== NULL
)) {
520 if(catchStack
.cursor
>= 0){
521 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
523 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
524 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 645);
532 var15
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
))(var_mtype
->class->vft
[COLOR_nitc__model__MType__anchor_to
]))(var_mtype
, var12
, var_anchor
); /* anchor_to on <var_mtype:MType>*/
538 var16
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nitc__model__MType__undecorate
]))(var_mtype
); /* undecorate on <var_mtype:MType>*/
541 /* <var_mtype:MType> isa MClassType */
542 cltype
= type_nitc__MClassType
.color
;
543 idtype
= type_nitc__MClassType
.id
;
544 if(cltype
>= var_mtype
->type
->table_size
) {
547 var17
= var_mtype
->type
->type_table
[cltype
] == idtype
;
551 { /* Inline model$MClassType$mclass (var_mtype) on <var_mtype:MType(MClassType)> */
552 var20
= var_mtype
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MType(MClassType)> */
553 if (unlikely(var20
== NULL
)) {
554 if(catchStack
.cursor
>= 0){
555 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
557 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
558 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1197);
566 { /* Inline model$MClass$intro (var18) on <var18:MClass> */
567 var23
= var18
->attrs
[COLOR_nitc__model__MClass___intro
].val
; /* _intro on <var18:MClass> */
568 if (unlikely(var23
== NULL
)) {
569 if(catchStack
.cursor
>= 0){
570 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
572 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
573 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 496);
581 { /* Inline model$MClassDef$bound_mtype (var21) on <var21:MClassDef> */
582 var26
= var21
->attrs
[COLOR_nitc__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var21:MClassDef> */
583 if (unlikely(var26
== NULL
)) {
584 if(catchStack
.cursor
>= 0){
585 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
587 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
588 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 594);
599 { /* Inline typing$CallSite$mproperty (var_callsite) on <var_callsite:CallSite> */
600 var29
= var_callsite
->attrs
[COLOR_nitc__typing__CallSite___mproperty
].val
; /* _mproperty on <var_callsite:CallSite> */
601 if (unlikely(var29
== NULL
)) {
602 if(catchStack
.cursor
>= 0){
603 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
605 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
606 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 656);
613 var_mproperty
= var27
;
615 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_targets_cache (self) on <self:RapidTypeAnalysis> */
616 var32
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_targets_cache
].val
; /* _live_targets_cache on <self:RapidTypeAnalysis> */
617 if (unlikely(var32
== NULL
)) {
618 if(catchStack
.cursor
>= 0){
619 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
621 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_targets_cache");
622 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 92);
630 var33
= more_collections___more_collections__HashMap2____91d_93d(var30
, var_mtype
, var_mproperty
);
633 if (var_res
== NULL
) {
634 var34
= 0; /* is null */
636 var34
= 1; /* arg is null and recv is not */
639 { /* Inline kernel$Object$!= (var_res,((val*)NULL)) on <var_res:nullable Set[MMethodDef]> */
640 var_other
= ((val
*)NULL
);
642 var37
= ((short int(*)(val
* self
, val
* p0
))((((long)var_res
&3)?class_info
[((long)var_res
&3)]:var_res
->class)->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_res
, var_other
); /* == on <var_res:nullable Set[MMethodDef](Set[MMethodDef])>*/
656 var39
= NEW_core__ArraySet(&type_core__ArraySet__nitc__MMethodDef
);
658 core___core__ArraySet___core__kernel__Object__init(var39
); /* Direct call array$ArraySet$init on <var39:ArraySet[MMethodDef]>*/
662 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_targets_cache (self) on <self:RapidTypeAnalysis> */
663 var42
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_targets_cache
].val
; /* _live_targets_cache on <self:RapidTypeAnalysis> */
664 if (unlikely(var42
== NULL
)) {
665 if(catchStack
.cursor
>= 0){
666 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
668 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_targets_cache");
669 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 92);
677 more_collections___more_collections__HashMap2____91d_93d_61d(var40
, var_mtype
, var_mproperty
, var_res
); /* Direct call more_collections$HashMap2$[]= on <var40:HashMap2[MType, MProperty, Set[MMethodDef]]>*/
680 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_classes (self) on <self:RapidTypeAnalysis> */
681 var45
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_classes
].val
; /* _live_classes on <self:RapidTypeAnalysis> */
682 if (unlikely(var45
== NULL
)) {
683 if(catchStack
.cursor
>= 0){
684 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
686 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_classes");
687 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 69);
696 var46
= core___core__HashSet___core__abstract_collection__Collection__iterator(var_
);
701 var48
= ((short int(*)(val
* self
))((((long)var_47
&3)?class_info
[((long)var_47
&3)]:var_47
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_47
); /* is_ok on <var_47:Iterator[MClass]>*/
708 var49
= ((val
*(*)(val
* self
))((((long)var_47
&3)?class_info
[((long)var_47
&3)]:var_47
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_47
); /* item on <var_47:Iterator[MClass]>*/
712 { /* Inline model$MClass$intro (var_c) on <var_c:MClass> */
713 var52
= var_c
->attrs
[COLOR_nitc__model__MClass___intro
].val
; /* _intro on <var_c:MClass> */
714 if (unlikely(var52
== NULL
)) {
715 if(catchStack
.cursor
>= 0){
716 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
718 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
719 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 496);
727 { /* Inline model$MClassDef$bound_mtype (var50) on <var50:MClassDef> */
728 var55
= var50
->attrs
[COLOR_nitc__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var50:MClassDef> */
729 if (unlikely(var55
== NULL
)) {
730 if(catchStack
.cursor
>= 0){
731 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
733 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
734 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 594);
743 { /* Inline rapid_type_analysis$RapidTypeAnalysis$mainmodule (self) on <self:RapidTypeAnalysis> */
744 var58
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___mainmodule
].val
; /* _mainmodule on <self:RapidTypeAnalysis> */
745 if (unlikely(var58
== NULL
)) {
746 if(catchStack
.cursor
>= 0){
747 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
749 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
750 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 56);
758 var59
= nitc___nitc__MType___is_subtype(var_tc
, var56
, ((val
*)NULL
), var_mtype
);
766 { /* Inline rapid_type_analysis$RapidTypeAnalysis$mainmodule (self) on <self:RapidTypeAnalysis> */
767 var64
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___mainmodule
].val
; /* _mainmodule on <self:RapidTypeAnalysis> */
768 if (unlikely(var64
== NULL
)) {
769 if(catchStack
.cursor
>= 0){
770 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
772 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
773 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 56);
781 var65
= nitc___nitc__MProperty___lookup_first_definition(var_mproperty
, var62
, var_tc
);
785 core___core__ArraySet___core__abstract_collection__SimpleCollection__add(var_res
, var_d
); /* Direct call array$ArraySet$add on <var_res:nullable Set[MMethodDef](ArraySet[MMethodDef])>*/
787 BREAK_label61
: (void)0;
789 ((void(*)(val
* self
))((((long)var_47
&3)?class_info
[((long)var_47
&3)]:var_47
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_47
); /* next on <var_47:Iterator[MClass]>*/
792 BREAK_label
: (void)0;
794 ((void(*)(val
* self
))((((long)var_47
&3)?class_info
[((long)var_47
&3)]:var_47
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_47
); /* finish on <var_47:Iterator[MClass]>*/
801 /* method rapid_type_analysis$RapidTypeAnalysis$live_super_sends for (self: RapidTypeAnalysis): HashSet[MMethodDef] */
802 val
* nitc___nitc__RapidTypeAnalysis___live_super_sends(val
* self
) {
803 val
* var
/* : HashSet[MMethodDef] */;
804 val
* var1
/* : HashSet[MMethodDef] */;
805 var1
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_super_sends
].val
; /* _live_super_sends on <self:RapidTypeAnalysis> */
806 if (unlikely(var1
== NULL
)) {
807 if(catchStack
.cursor
>= 0){
808 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
810 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_super_sends");
811 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 118);
818 /* method rapid_type_analysis$RapidTypeAnalysis$live_types_to_csv for (self: RapidTypeAnalysis): CsvDocument */
819 val
* nitc___nitc__RapidTypeAnalysis___live_types_to_csv(val
* self
) {
820 val
* var
/* : CsvDocument */;
821 val
* var1
/* : HashSet[MType] */;
822 val
* var_typeset
/* var typeset: HashSet[MType] */;
823 val
* var2
/* : HashSet[MClassType] */;
824 val
* var4
/* : HashSet[MClassType] */;
825 val
* var5
/* : HashSet[MClassType] */;
826 val
* var7
/* : HashSet[MClassType] */;
827 val
* var8
/* : HashSet[MType] */;
828 val
* var10
/* : HashSet[MType] */;
829 val
* var11
/* : HashSet[MType] */;
830 val
* var13
/* : HashSet[MType] */;
831 val
* var14
/* : Array[nullable Object] */;
832 val
* var_types
/* var types: Array[MType] */;
833 val
* var15
/* : CachedAlphaComparator */;
834 val
* var17
/* : CsvDocument */;
835 val
* var_res
/* var res: CsvDocument */;
836 val
* var19
/* : Array[String] */;
837 val
* var_
/* var : Array[String] */;
839 val
* var20
/* : String */;
840 char* var21
/* : CString */;
841 val
* var22
/* : String */;
842 val
* var23
/* : nullable Int */;
843 val
* var24
/* : nullable Int */;
844 val
* var25
/* : nullable Bool */;
845 val
* var26
/* : nullable Bool */;
846 static val
* varonce27
;
847 val
* var28
/* : String */;
848 char* var29
/* : CString */;
849 val
* var30
/* : String */;
850 val
* var31
/* : nullable Int */;
851 val
* var32
/* : nullable Int */;
852 val
* var33
/* : nullable Bool */;
853 val
* var34
/* : nullable Bool */;
854 static val
* varonce35
;
855 val
* var36
/* : String */;
856 char* var37
/* : CString */;
857 val
* var38
/* : String */;
858 val
* var39
/* : nullable Int */;
859 val
* var40
/* : nullable Int */;
860 val
* var41
/* : nullable Bool */;
861 val
* var42
/* : nullable Bool */;
862 static val
* varonce43
;
863 val
* var44
/* : String */;
864 char* var45
/* : CString */;
865 val
* var46
/* : String */;
866 val
* var47
/* : nullable Int */;
867 val
* var48
/* : nullable Int */;
868 val
* var49
/* : nullable Bool */;
869 val
* var50
/* : nullable Bool */;
870 val
* var_52
/* var : Array[MType] */;
871 val
* var53
/* : IndexedIterator[nullable Object] */;
872 val
* var_54
/* var : IndexedIterator[MType] */;
873 short int var55
/* : Bool */;
874 val
* var56
/* : nullable Object */;
875 val
* var_t
/* var t: MType */;
876 short int var57
/* : Bool */;
877 static val
* varonce58
;
878 val
* var59
/* : String */;
879 char* var60
/* : CString */;
880 val
* var61
/* : String */;
881 val
* var62
/* : nullable Int */;
882 val
* var63
/* : nullable Int */;
883 val
* var64
/* : nullable Bool */;
884 val
* var65
/* : nullable Bool */;
885 val
* var_reso
/* var reso: nullable Object */;
886 static val
* varonce66
;
887 val
* var67
/* : String */;
888 char* var68
/* : CString */;
889 val
* var69
/* : String */;
890 val
* var70
/* : nullable Int */;
891 val
* var71
/* : nullable Int */;
892 val
* var72
/* : nullable Bool */;
893 val
* var73
/* : nullable Bool */;
894 short int var74
/* : Bool */;
895 short int var75
/* : Bool */;
898 short int var_76
/* var : Bool */;
899 short int var77
/* : Bool */;
900 val
* var78
/* : HashSet[MClassType] */;
901 val
* var80
/* : HashSet[MClassType] */;
902 short int var81
/* : Bool */;
903 short int var_82
/* var : Bool */;
904 val
* var83
/* : HashSet[MClassType] */;
905 val
* var85
/* : HashSet[MClassType] */;
906 short int var86
/* : Bool */;
907 static val
* varonce87
;
908 val
* var88
/* : String */;
909 char* var89
/* : CString */;
910 val
* var90
/* : String */;
911 val
* var91
/* : nullable Int */;
912 val
* var92
/* : nullable Int */;
913 val
* var93
/* : nullable Bool */;
914 val
* var94
/* : nullable Bool */;
915 val
* var_live
/* var live: nullable Object */;
916 static val
* varonce95
;
917 val
* var96
/* : String */;
918 char* var97
/* : CString */;
919 val
* var98
/* : String */;
920 val
* var99
/* : nullable Int */;
921 val
* var100
/* : nullable Int */;
922 val
* var101
/* : nullable Bool */;
923 val
* var102
/* : nullable Bool */;
924 short int var103
/* : Bool */;
925 val
* var104
/* : HashSet[MType] */;
926 val
* var106
/* : HashSet[MType] */;
927 short int var107
/* : Bool */;
928 short int var_108
/* var : Bool */;
929 val
* var109
/* : HashSet[MType] */;
930 val
* var111
/* : HashSet[MType] */;
931 short int var112
/* : Bool */;
932 static val
* varonce113
;
933 val
* var114
/* : String */;
934 char* var115
/* : CString */;
935 val
* var116
/* : String */;
936 val
* var117
/* : nullable Int */;
937 val
* var118
/* : nullable Int */;
938 val
* var119
/* : nullable Bool */;
939 val
* var120
/* : nullable Bool */;
940 val
* var_cast
/* var cast: nullable Object */;
941 static val
* varonce121
;
942 val
* var122
/* : String */;
943 char* var123
/* : CString */;
944 val
* var124
/* : String */;
945 val
* var125
/* : nullable Int */;
946 val
* var126
/* : nullable Int */;
947 val
* var127
/* : nullable Bool */;
948 val
* var128
/* : nullable Bool */;
949 val
* var129
/* : Array[Object] */;
950 val
* var130
/* : NativeArray[Object] */;
951 var1
= NEW_core__HashSet(&type_core__HashSet__nitc__MType
);
953 core___core__HashSet___core__kernel__Object__init(var1
); /* Direct call hash_collection$HashSet$init on <var1:HashSet[MType]>*/
957 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_types (self) on <self:RapidTypeAnalysis> */
958 var4
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_types
].val
; /* _live_types on <self:RapidTypeAnalysis> */
959 if (unlikely(var4
== NULL
)) {
960 if(catchStack
.cursor
>= 0){
961 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
963 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_types");
964 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 60);
972 core___core__SimpleCollection___add_all(var_typeset
, var2
); /* Direct call abstract_collection$SimpleCollection$add_all on <var_typeset:HashSet[MType]>*/
975 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_open_types (self) on <self:RapidTypeAnalysis> */
976 var7
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_open_types
].val
; /* _live_open_types on <self:RapidTypeAnalysis> */
977 if (unlikely(var7
== NULL
)) {
978 if(catchStack
.cursor
>= 0){
979 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
981 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_open_types");
982 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 65);
990 core___core__SimpleCollection___add_all(var_typeset
, var5
); /* Direct call abstract_collection$SimpleCollection$add_all on <var_typeset:HashSet[MType]>*/
993 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_cast_types (self) on <self:RapidTypeAnalysis> */
994 var10
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_cast_types
].val
; /* _live_cast_types on <self:RapidTypeAnalysis> */
995 if (unlikely(var10
== NULL
)) {
996 if(catchStack
.cursor
>= 0){
997 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
999 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_cast_types");
1000 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 72);
1008 core___core__SimpleCollection___add_all(var_typeset
, var8
); /* Direct call abstract_collection$SimpleCollection$add_all on <var_typeset:HashSet[MType]>*/
1011 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_open_cast_types (self) on <self:RapidTypeAnalysis> */
1012 var13
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_open_cast_types
].val
; /* _live_open_cast_types on <self:RapidTypeAnalysis> */
1013 if (unlikely(var13
== NULL
)) {
1014 if(catchStack
.cursor
>= 0){
1015 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1017 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_open_cast_types");
1018 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 75);
1022 RET_LABEL12
:(void)0;
1026 core___core__SimpleCollection___add_all(var_typeset
, var11
); /* Direct call abstract_collection$SimpleCollection$add_all on <var_typeset:HashSet[MType]>*/
1029 var14
= core__array___Collection___to_a(var_typeset
);
1032 var15
= NEW_core__CachedAlphaComparator(&type_core__CachedAlphaComparator
);
1034 { /* Inline kernel$Object$init (var15) on <var15:CachedAlphaComparator> */
1035 RET_LABEL16
:(void)0;
1039 core___core__Comparator___sort(var15
, var_types
); /* Direct call sorter$Comparator$sort on <var15:CachedAlphaComparator>*/
1041 var17
= NEW_csv__CsvDocument(&type_csv__CsvDocument
);
1043 ((void(*)(val
* self
, val
* p0
))(var17
->class->vft
[COLOR_csv__CsvDocument__header_61d
]))(var17
, ((val
*)NULL
)); /* header= on <var17:CsvDocument>*/
1046 ((void(*)(val
* self
, val
* p0
))(var17
->class->vft
[COLOR_csv__CsvDocument__records_61d
]))(var17
, ((val
*)NULL
)); /* records= on <var17:CsvDocument>*/
1049 ((void(*)(val
* self
))(var17
->class->vft
[COLOR_core__kernel__Object__init
]))(var17
); /* init on <var17:CsvDocument>*/
1053 { /* Inline csv$CsvStream$separator= (var_res,';') on <var_res:CsvDocument> */
1054 var_res
->attrs
[COLOR_csv__CsvStream___separator
].c
= ';'; /* _separator on <var_res:CsvDocument> */
1055 RET_LABEL18
:(void)0;
1058 var19
= NEW_core__Array(&type_core__Array__core__String
);
1060 core___core__Array___with_capacity(var19
, 4l); /* Direct call array$Array$with_capacity on <var19:Array[String]>*/
1063 if (likely(varonce
!=NULL
)) {
1067 var23
= (val
*)(4l<<2|1);
1068 var24
= (val
*)(4l<<2|1);
1069 var25
= (val
*)((long)(0)<<2|3);
1070 var26
= (val
*)((long)(0)<<2|3);
1071 var22
= core__flat___CString___to_s_unsafe(var21
, var23
, var24
, var25
, var26
);
1076 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_
, var20
); /* Direct call array$AbstractArray$push on <var_:Array[String]>*/
1078 if (likely(varonce27
!=NULL
)) {
1081 var29
= "Resolution";
1082 var31
= (val
*)(10l<<2|1);
1083 var32
= (val
*)(10l<<2|1);
1084 var33
= (val
*)((long)(0)<<2|3);
1085 var34
= (val
*)((long)(0)<<2|3);
1086 var30
= core__flat___CString___to_s_unsafe(var29
, var31
, var32
, var33
, var34
);
1091 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_
, var28
); /* Direct call array$AbstractArray$push on <var_:Array[String]>*/
1093 if (likely(varonce35
!=NULL
)) {
1097 var39
= (val
*)(8l<<2|1);
1098 var40
= (val
*)(8l<<2|1);
1099 var41
= (val
*)((long)(0)<<2|3);
1100 var42
= (val
*)((long)(0)<<2|3);
1101 var38
= core__flat___CString___to_s_unsafe(var37
, var39
, var40
, var41
, var42
);
1106 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_
, var36
); /* Direct call array$AbstractArray$push on <var_:Array[String]>*/
1108 if (likely(varonce43
!=NULL
)) {
1111 var45
= "Cast-liveness";
1112 var47
= (val
*)(13l<<2|1);
1113 var48
= (val
*)(13l<<2|1);
1114 var49
= (val
*)((long)(0)<<2|3);
1115 var50
= (val
*)((long)(0)<<2|3);
1116 var46
= core__flat___CString___to_s_unsafe(var45
, var47
, var48
, var49
, var50
);
1121 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_
, var44
); /* Direct call array$AbstractArray$push on <var_:Array[String]>*/
1124 { /* Inline csv$CsvDocument$header= (var_res,var_) on <var_res:CsvDocument> */
1125 var_res
->attrs
[COLOR_csv__CsvDocument___header
].val
= var_
; /* _header on <var_res:CsvDocument> */
1126 RET_LABEL51
:(void)0;
1131 var53
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_52
);
1136 var55
= ((short int(*)(val
* self
))((((long)var_54
&3)?class_info
[((long)var_54
&3)]:var_54
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_54
); /* is_ok on <var_54:IndexedIterator[MType]>*/
1143 var56
= ((val
*(*)(val
* self
))((((long)var_54
&3)?class_info
[((long)var_54
&3)]:var_54
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_54
); /* item on <var_54:IndexedIterator[MType]>*/
1147 var57
= ((short int(*)(val
* self
))(var_t
->class->vft
[COLOR_nitc__model__MType__need_anchor
]))(var_t
); /* need_anchor on <var_t:MType>*/
1150 if (likely(varonce58
!=NULL
)) {
1154 var62
= (val
*)(5l<<2|1);
1155 var63
= (val
*)(5l<<2|1);
1156 var64
= (val
*)((long)(0)<<2|3);
1157 var65
= (val
*)((long)(0)<<2|3);
1158 var61
= core__flat___CString___to_s_unsafe(var60
, var62
, var63
, var64
, var65
);
1164 if (likely(varonce66
!=NULL
)) {
1168 var70
= (val
*)(6l<<2|1);
1169 var71
= (val
*)(6l<<2|1);
1170 var72
= (val
*)((long)(0)<<2|3);
1171 var73
= (val
*)((long)(0)<<2|3);
1172 var69
= core__flat___CString___to_s_unsafe(var68
, var70
, var71
, var72
, var73
);
1178 /* <var_t:MType> isa MClassType */
1179 cltype
= type_nitc__MClassType
.color
;
1180 idtype
= type_nitc__MClassType
.id
;
1181 if(cltype
>= var_t
->type
->table_size
) {
1184 var75
= var_t
->type
->type_table
[cltype
] == idtype
;
1189 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_types (self) on <self:RapidTypeAnalysis> */
1190 var80
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_types
].val
; /* _live_types on <self:RapidTypeAnalysis> */
1191 if (unlikely(var80
== NULL
)) {
1192 if(catchStack
.cursor
>= 0){
1193 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1195 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_types");
1196 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 60);
1200 RET_LABEL79
:(void)0;
1204 var81
= core___core__HashSet___core__abstract_collection__Collection__has(var78
, var_t
);
1211 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_open_types (self) on <self:RapidTypeAnalysis> */
1212 var85
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_open_types
].val
; /* _live_open_types on <self:RapidTypeAnalysis> */
1213 if (unlikely(var85
== NULL
)) {
1214 if(catchStack
.cursor
>= 0){
1215 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1217 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_open_types");
1218 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 65);
1222 RET_LABEL84
:(void)0;
1226 var86
= core___core__HashSet___core__abstract_collection__Collection__has(var83
, var_t
);
1235 if (likely(varonce87
!=NULL
)) {
1239 var91
= (val
*)(4l<<2|1);
1240 var92
= (val
*)(4l<<2|1);
1241 var93
= (val
*)((long)(0)<<2|3);
1242 var94
= (val
*)((long)(0)<<2|3);
1243 var90
= core__flat___CString___to_s_unsafe(var89
, var91
, var92
, var93
, var94
);
1249 if (likely(varonce95
!=NULL
)) {
1253 var99
= (val
*)(4l<<2|1);
1254 var100
= (val
*)(4l<<2|1);
1255 var101
= (val
*)((long)(0)<<2|3);
1256 var102
= (val
*)((long)(0)<<2|3);
1257 var98
= core__flat___CString___to_s_unsafe(var97
, var99
, var100
, var101
, var102
);
1264 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_cast_types (self) on <self:RapidTypeAnalysis> */
1265 var106
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_cast_types
].val
; /* _live_cast_types on <self:RapidTypeAnalysis> */
1266 if (unlikely(var106
== NULL
)) {
1267 if(catchStack
.cursor
>= 0){
1268 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1270 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_cast_types");
1271 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 72);
1275 RET_LABEL105
:(void)0;
1279 var107
= core___core__HashSet___core__abstract_collection__Collection__has(var104
, var_t
);
1286 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_open_cast_types (self) on <self:RapidTypeAnalysis> */
1287 var111
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_open_cast_types
].val
; /* _live_open_cast_types on <self:RapidTypeAnalysis> */
1288 if (unlikely(var111
== NULL
)) {
1289 if(catchStack
.cursor
>= 0){
1290 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1292 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_open_cast_types");
1293 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 75);
1297 RET_LABEL110
:(void)0;
1301 var112
= core___core__HashSet___core__abstract_collection__Collection__has(var109
, var_t
);
1306 if (likely(varonce113
!=NULL
)) {
1307 var114
= varonce113
;
1309 var115
= "CAST LIVE";
1310 var117
= (val
*)(9l<<2|1);
1311 var118
= (val
*)(9l<<2|1);
1312 var119
= (val
*)((long)(0)<<2|3);
1313 var120
= (val
*)((long)(0)<<2|3);
1314 var116
= core__flat___CString___to_s_unsafe(var115
, var117
, var118
, var119
, var120
);
1316 varonce113
= var114
;
1320 if (likely(varonce121
!=NULL
)) {
1321 var122
= varonce121
;
1323 var123
= "CAST DEAD";
1324 var125
= (val
*)(9l<<2|1);
1325 var126
= (val
*)(9l<<2|1);
1326 var127
= (val
*)((long)(0)<<2|3);
1327 var128
= (val
*)((long)(0)<<2|3);
1328 var124
= core__flat___CString___to_s_unsafe(var123
, var125
, var126
, var127
, var128
);
1330 varonce121
= var122
;
1334 var129
= NEW_core__Array(&type_core__Array__core__Object
);
1335 { /* var129 = array_instance Array[Object] */
1336 var130
= NEW_core__NativeArray((int)4l, &type_core__NativeArray__core__Object
);
1337 ((struct instance_core__NativeArray
*)var130
)->values
[0] = (val
*) var_t
;
1338 ((struct instance_core__NativeArray
*)var130
)->values
[1] = (val
*) var_reso
;
1339 ((struct instance_core__NativeArray
*)var130
)->values
[2] = (val
*) var_live
;
1340 ((struct instance_core__NativeArray
*)var130
)->values
[3] = (val
*) var_cast
;
1342 ((void(*)(val
* self
, val
* p0
, long p1
))(var129
->class->vft
[COLOR_core__array__Array__with_native
]))(var129
, var130
, 4l); /* with_native on <var129:Array[Object]>*/
1346 csv___csv__CsvDocument___add_record(var_res
, var129
); /* Direct call csv$CsvDocument$add_record on <var_res:CsvDocument>*/
1349 ((void(*)(val
* self
))((((long)var_54
&3)?class_info
[((long)var_54
&3)]:var_54
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_54
); /* next on <var_54:IndexedIterator[MType]>*/
1352 BREAK_label
: (void)0;
1354 ((void(*)(val
* self
))((((long)var_54
&3)?class_info
[((long)var_54
&3)]:var_54
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_54
); /* finish on <var_54:IndexedIterator[MType]>*/
1361 /* method rapid_type_analysis$RapidTypeAnalysis$live_methods_to_tree for (self: RapidTypeAnalysis): OrderedTree[Object] */
1362 val
* nitc___nitc__RapidTypeAnalysis___live_methods_to_tree(val
* self
) {
1363 val
* var
/* : OrderedTree[Object] */;
1364 val
* var1
/* : OrderedTree[Object] */;
1365 val
* var_tree
/* var tree: OrderedTree[Object] */;
1366 val
* var3
/* : HashSet[MMethod] */;
1367 val
* var5
/* : HashSet[MMethod] */;
1368 val
* var_
/* var : HashSet[MMethod] */;
1369 val
* var6
/* : Iterator[nullable Object] */;
1370 val
* var_7
/* var : Iterator[MMethod] */;
1371 short int var8
/* : Bool */;
1372 val
* var9
/* : nullable Object */;
1373 val
* var_x
/* var x: MMethod */;
1374 val
* var10
/* : String */;
1375 val
* var_xn
/* var xn: String */;
1376 val
* var11
/* : Array[MPropDef] */;
1377 val
* var13
/* : Array[MPropDef] */;
1378 val
* var_14
/* var : Array[MMethodDef] */;
1379 val
* var15
/* : IndexedIterator[nullable Object] */;
1380 val
* var_16
/* var : IndexedIterator[MMethodDef] */;
1381 short int var17
/* : Bool */;
1382 val
* var19
/* : nullable Object */;
1383 val
* var_z
/* var z: MMethodDef */;
1384 val
* var20
/* : String */;
1385 val
* var22
/* : String */;
1386 val
* var_zn
/* var zn: String */;
1387 val
* var23
/* : HashSet[MMethodDef] */;
1388 val
* var25
/* : HashSet[MMethodDef] */;
1389 short int var26
/* : Bool */;
1390 val
* var27
/* : HashSet[MMethodDef] */;
1391 val
* var29
/* : HashSet[MMethodDef] */;
1392 short int var30
/* : Bool */;
1393 static val
* varonce
;
1394 val
* var31
/* : String */;
1395 char* var32
/* : CString */;
1396 val
* var33
/* : String */;
1397 val
* var34
/* : nullable Int */;
1398 val
* var35
/* : nullable Int */;
1399 val
* var36
/* : nullable Bool */;
1400 val
* var37
/* : nullable Bool */;
1401 val
* var38
/* : Text */;
1402 val
* var39
/* : HashSet[MMethodDef] */;
1403 val
* var41
/* : HashSet[MMethodDef] */;
1404 short int var42
/* : Bool */;
1405 static val
* varonce43
;
1406 val
* var44
/* : String */;
1407 char* var45
/* : CString */;
1408 val
* var46
/* : String */;
1409 val
* var47
/* : nullable Int */;
1410 val
* var48
/* : nullable Int */;
1411 val
* var49
/* : nullable Bool */;
1412 val
* var50
/* : nullable Bool */;
1413 val
* var51
/* : Text */;
1414 val
* var52
/* : Sys */;
1415 val
* var53
/* : Comparator */;
1416 var1
= NEW_ordered_tree__OrderedTree(&type_ordered_tree__OrderedTree__core__Object
);
1418 { /* Inline kernel$Object$init (var1) on <var1:OrderedTree[Object]> */
1424 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_methods (self) on <self:RapidTypeAnalysis> */
1425 var5
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_methods
].val
; /* _live_methods on <self:RapidTypeAnalysis> */
1426 if (unlikely(var5
== NULL
)) {
1427 if(catchStack
.cursor
>= 0){
1428 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1430 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_methods");
1431 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 82);
1440 var6
= core___core__HashSet___core__abstract_collection__Collection__iterator(var_
);
1445 var8
= ((short int(*)(val
* self
))((((long)var_7
&3)?class_info
[((long)var_7
&3)]:var_7
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_7
); /* is_ok on <var_7:Iterator[MMethod]>*/
1452 var9
= ((val
*(*)(val
* self
))((((long)var_7
&3)?class_info
[((long)var_7
&3)]:var_7
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_7
); /* item on <var_7:Iterator[MMethod]>*/
1456 var10
= nitc___nitc__MProperty___nitc__model_base__MEntity__full_name(var_x
);
1460 ordered_tree___ordered_tree__OrderedTree___add(var_tree
, ((val
*)NULL
), var_xn
); /* Direct call ordered_tree$OrderedTree$add on <var_tree:OrderedTree[Object]>*/
1463 { /* Inline model$MProperty$mpropdefs (var_x) on <var_x:MMethod> */
1464 var13
= var_x
->attrs
[COLOR_nitc__model__MProperty___mpropdefs
].val
; /* _mpropdefs on <var_x:MMethod> */
1465 if (unlikely(var13
== NULL
)) {
1466 if(catchStack
.cursor
>= 0){
1467 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1469 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdefs");
1470 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2092);
1474 RET_LABEL12
:(void)0;
1479 var15
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_14
);
1484 var17
= ((short int(*)(val
* self
))((((long)var_16
&3)?class_info
[((long)var_16
&3)]:var_16
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_16
); /* is_ok on <var_16:IndexedIterator[MMethodDef]>*/
1491 var19
= ((val
*(*)(val
* self
))((((long)var_16
&3)?class_info
[((long)var_16
&3)]:var_16
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_16
); /* item on <var_16:IndexedIterator[MMethodDef]>*/
1495 { /* Inline model$MPropDef$to_s (var_z) on <var_z:MMethodDef> */
1496 var22
= var_z
->attrs
[COLOR_nitc__model__MPropDef___to_s
].val
; /* _to_s on <var_z:MMethodDef> */
1497 if (unlikely(var22
== NULL
)) {
1498 if(catchStack
.cursor
>= 0){
1499 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1501 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _to_s");
1502 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2450);
1506 RET_LABEL21
:(void)0;
1511 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_methoddefs (self) on <self:RapidTypeAnalysis> */
1512 var25
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_methoddefs
].val
; /* _live_methoddefs on <self:RapidTypeAnalysis> */
1513 if (unlikely(var25
== NULL
)) {
1514 if(catchStack
.cursor
>= 0){
1515 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1517 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_methoddefs");
1518 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 79);
1522 RET_LABEL24
:(void)0;
1526 var26
= core___core__HashSet___core__abstract_collection__Collection__has(var23
, var_z
);
1530 ordered_tree___ordered_tree__OrderedTree___add(var_tree
, var_xn
, var_zn
); /* Direct call ordered_tree$OrderedTree$add on <var_tree:OrderedTree[Object]>*/
1533 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_super_sends (self) on <self:RapidTypeAnalysis> */
1534 var29
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_super_sends
].val
; /* _live_super_sends on <self:RapidTypeAnalysis> */
1535 if (unlikely(var29
== NULL
)) {
1536 if(catchStack
.cursor
>= 0){
1537 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1539 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_super_sends");
1540 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 118);
1544 RET_LABEL28
:(void)0;
1548 var30
= core___core__HashSet___core__abstract_collection__Collection__has(var27
, var_z
);
1551 if (likely(varonce
!=NULL
)) {
1555 var34
= (val
*)(7l<<2|1);
1556 var35
= (val
*)(7l<<2|1);
1557 var36
= (val
*)((long)(0)<<2|3);
1558 var37
= (val
*)((long)(0)<<2|3);
1559 var33
= core__flat___CString___to_s_unsafe(var32
, var34
, var35
, var36
, var37
);
1564 var38
= ((val
*(*)(val
* self
, val
* p0
))(var_zn
->class->vft
[COLOR_core__abstract_text__Text___43d
]))(var_zn
, var31
); /* + on <var_zn:String>*/
1567 ordered_tree___ordered_tree__OrderedTree___add(var_tree
, var_zn
, var38
); /* Direct call ordered_tree$OrderedTree$add on <var_tree:OrderedTree[Object]>*/
1573 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_super_sends (self) on <self:RapidTypeAnalysis> */
1574 var41
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_super_sends
].val
; /* _live_super_sends on <self:RapidTypeAnalysis> */
1575 if (unlikely(var41
== NULL
)) {
1576 if(catchStack
.cursor
>= 0){
1577 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1579 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_super_sends");
1580 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 118);
1584 RET_LABEL40
:(void)0;
1588 var42
= core___core__HashSet___core__abstract_collection__Collection__has(var39
, var_z
);
1591 if (likely(varonce43
!=NULL
)) {
1595 var47
= (val
*)(7l<<2|1);
1596 var48
= (val
*)(7l<<2|1);
1597 var49
= (val
*)((long)(0)<<2|3);
1598 var50
= (val
*)((long)(0)<<2|3);
1599 var46
= core__flat___CString___to_s_unsafe(var45
, var47
, var48
, var49
, var50
);
1604 var51
= ((val
*(*)(val
* self
, val
* p0
))(var_zn
->class->vft
[COLOR_core__abstract_text__Text___43d
]))(var_zn
, var44
); /* + on <var_zn:String>*/
1607 ordered_tree___ordered_tree__OrderedTree___add(var_tree
, var_xn
, var51
); /* Direct call ordered_tree$OrderedTree$add on <var_tree:OrderedTree[Object]>*/
1613 ((void(*)(val
* self
))((((long)var_16
&3)?class_info
[((long)var_16
&3)]:var_16
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_16
); /* next on <var_16:IndexedIterator[MMethodDef]>*/
1616 BREAK_label18
: (void)0;
1618 ((void(*)(val
* self
))((((long)var_16
&3)?class_info
[((long)var_16
&3)]:var_16
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_16
); /* finish on <var_16:IndexedIterator[MMethodDef]>*/
1621 ((void(*)(val
* self
))((((long)var_7
&3)?class_info
[((long)var_7
&3)]:var_7
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_7
); /* next on <var_7:Iterator[MMethod]>*/
1624 BREAK_label
: (void)0;
1626 ((void(*)(val
* self
))((((long)var_7
&3)?class_info
[((long)var_7
&3)]:var_7
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_7
); /* finish on <var_7:Iterator[MMethod]>*/
1630 var53
= core__abstract_text___Sys___alpha_comparator(var52
);
1633 ordered_tree___ordered_tree__OrderedTree___sort_with(var_tree
, var53
); /* Direct call ordered_tree$OrderedTree$sort_with on <var_tree:OrderedTree[Object]>*/
1640 /* method rapid_type_analysis$RapidTypeAnalysis$totry_methods for (self: RapidTypeAnalysis): HashSet[MMethod] */
1641 val
* nitc___nitc__RapidTypeAnalysis___totry_methods(val
* self
) {
1642 val
* var
/* : HashSet[MMethod] */;
1643 val
* var1
/* : HashSet[MMethod] */;
1644 var1
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___totry_methods
].val
; /* _totry_methods on <self:RapidTypeAnalysis> */
1645 if (unlikely(var1
== NULL
)) {
1646 if(catchStack
.cursor
>= 0){
1647 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1649 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _totry_methods");
1650 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 173);
1657 /* method rapid_type_analysis$RapidTypeAnalysis$totry_methods_to_remove for (self: RapidTypeAnalysis): Array[MMethod] */
1658 val
* nitc___nitc__RapidTypeAnalysis___totry_methods_to_remove(val
* self
) {
1659 val
* var
/* : Array[MMethod] */;
1660 val
* var1
/* : Array[MMethod] */;
1661 var1
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___totry_methods_to_remove
].val
; /* _totry_methods_to_remove on <self:RapidTypeAnalysis> */
1662 if (unlikely(var1
== NULL
)) {
1663 if(catchStack
.cursor
>= 0){
1664 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1666 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _totry_methods_to_remove");
1667 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 176);
1674 /* method rapid_type_analysis$RapidTypeAnalysis$try_methods for (self: RapidTypeAnalysis): HashSet[MMethod] */
1675 val
* nitc___nitc__RapidTypeAnalysis___try_methods(val
* self
) {
1676 val
* var
/* : HashSet[MMethod] */;
1677 val
* var1
/* : HashSet[MMethod] */;
1678 var1
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___try_methods
].val
; /* _try_methods on <self:RapidTypeAnalysis> */
1679 if (unlikely(var1
== NULL
)) {
1680 if(catchStack
.cursor
>= 0){
1681 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1683 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _try_methods");
1684 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 179);
1691 /* method rapid_type_analysis$RapidTypeAnalysis$todo for (self: RapidTypeAnalysis): List[MMethodDef] */
1692 val
* nitc___nitc__RapidTypeAnalysis___todo(val
* self
) {
1693 val
* var
/* : List[MMethodDef] */;
1694 val
* var1
/* : List[MMethodDef] */;
1695 var1
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___todo
].val
; /* _todo on <self:RapidTypeAnalysis> */
1696 if (unlikely(var1
== NULL
)) {
1697 if(catchStack
.cursor
>= 0){
1698 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1700 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _todo");
1701 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 183);
1708 /* method rapid_type_analysis$RapidTypeAnalysis$force_alive for (self: RapidTypeAnalysis, String) */
1709 void nitc___nitc__RapidTypeAnalysis___force_alive(val
* self
, val
* p0
) {
1710 val
* var_classname
/* var classname: String */;
1711 val
* var
/* : ModelBuilder */;
1712 val
* var2
/* : ModelBuilder */;
1713 val
* var3
/* : Model */;
1714 val
* var5
/* : Model */;
1715 val
* var6
/* : nullable Array[MClass] */;
1716 val
* var_classes
/* var classes: nullable Array[MClass] */;
1717 short int var7
/* : Bool */;
1718 short int var8
/* : Bool */;
1719 val
* var_other
/* var other: nullable Object */;
1720 short int var10
/* : Bool */;
1721 short int var11
/* : Bool */;
1722 val
* var_
/* var : Array[MClass] */;
1723 val
* var12
/* : IndexedIterator[nullable Object] */;
1724 val
* var_13
/* var : IndexedIterator[MClass] */;
1725 short int var14
/* : Bool */;
1726 val
* var15
/* : nullable Object */;
1727 val
* var_c
/* var c: MClass */;
1728 val
* var16
/* : MClassType */;
1729 val
* var18
/* : MClassType */;
1730 val
* var19
/* : MClassType */;
1731 val
* var21
/* : MClassType */;
1734 { /* Inline rapid_type_analysis$RapidTypeAnalysis$modelbuilder (self) on <self:RapidTypeAnalysis> */
1735 var2
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___modelbuilder
].val
; /* _modelbuilder on <self:RapidTypeAnalysis> */
1736 if (unlikely(var2
== NULL
)) {
1737 if(catchStack
.cursor
>= 0){
1738 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1740 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
1741 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 53);
1749 { /* Inline modelbuilder_base$ModelBuilder$model (var) on <var:ModelBuilder> */
1750 var5
= var
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___model
].val
; /* _model on <var:ModelBuilder> */
1751 if (unlikely(var5
== NULL
)) {
1752 if(catchStack
.cursor
>= 0){
1753 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1755 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
1756 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 44);
1764 var6
= nitc__model___Model___get_mclasses_by_name(var3
, var_classname
);
1767 if (var_classes
== NULL
) {
1768 var7
= 0; /* is null */
1770 var7
= 1; /* arg is null and recv is not */
1773 { /* Inline kernel$Object$!= (var_classes,((val*)NULL)) on <var_classes:nullable Array[MClass]> */
1774 var_other
= ((val
*)NULL
);
1776 var10
= ((short int(*)(val
* self
, val
* p0
))(var_classes
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_classes
, var_other
); /* == on <var_classes:nullable Array[MClass](Array[MClass])>*/
1788 var12
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_
);
1793 var14
= ((short int(*)(val
* self
))((((long)var_13
&3)?class_info
[((long)var_13
&3)]:var_13
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_13
); /* is_ok on <var_13:IndexedIterator[MClass]>*/
1800 var15
= ((val
*(*)(val
* self
))((((long)var_13
&3)?class_info
[((long)var_13
&3)]:var_13
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_13
); /* item on <var_13:IndexedIterator[MClass]>*/
1804 { /* Inline model$MClass$mclass_type (var_c) on <var_c:MClass> */
1805 var18
= var_c
->attrs
[COLOR_nitc__model__MClass___mclass_type
].val
; /* _mclass_type on <var_c:MClass> */
1806 if (unlikely(var18
== NULL
)) {
1807 if(catchStack
.cursor
>= 0){
1808 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1810 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
1811 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 520);
1815 RET_LABEL17
:(void)0;
1819 { /* Inline model$MClass$mclass_type (var_c) on <var_c:MClass> */
1820 var21
= var_c
->attrs
[COLOR_nitc__model__MClass___mclass_type
].val
; /* _mclass_type on <var_c:MClass> */
1821 if (unlikely(var21
== NULL
)) {
1822 if(catchStack
.cursor
>= 0){
1823 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1825 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
1826 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 520);
1830 RET_LABEL20
:(void)0;
1834 nitc___nitc__RapidTypeAnalysis___add_new(self
, var16
, var19
); /* Direct call rapid_type_analysis$RapidTypeAnalysis$add_new on <self:RapidTypeAnalysis>*/
1837 ((void(*)(val
* self
))((((long)var_13
&3)?class_info
[((long)var_13
&3)]:var_13
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_13
); /* next on <var_13:IndexedIterator[MClass]>*/
1840 BREAK_label
: (void)0;
1842 ((void(*)(val
* self
))((((long)var_13
&3)?class_info
[((long)var_13
&3)]:var_13
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_13
); /* finish on <var_13:IndexedIterator[MClass]>*/
1848 /* method rapid_type_analysis$RapidTypeAnalysis$run_analysis for (self: RapidTypeAnalysis) */
1849 void nitc___nitc__RapidTypeAnalysis___run_analysis(val
* self
) {
1850 val
* var
/* : MModule */;
1851 val
* var2
/* : MModule */;
1852 val
* var3
/* : nullable MClassType */;
1853 val
* var_maintype
/* var maintype: nullable MClassType */;
1854 short int var4
/* : Bool */;
1855 short int var5
/* : Bool */;
1856 val
* var_other
/* var other: nullable Object */;
1857 short int var7
/* : Bool */;
1858 short int var9
/* : Bool */;
1859 val
* var10
/* : MModule */;
1860 val
* var12
/* : MModule */;
1861 static val
* varonce
;
1862 val
* var13
/* : String */;
1863 char* var14
/* : CString */;
1864 val
* var15
/* : String */;
1865 val
* var16
/* : nullable Int */;
1866 val
* var17
/* : nullable Int */;
1867 val
* var18
/* : nullable Bool */;
1868 val
* var19
/* : nullable Bool */;
1869 val
* var20
/* : MClass */;
1870 val
* var22
/* : MClass */;
1871 val
* var23
/* : nullable MMethod */;
1872 val
* var_initprop
/* var initprop: nullable MMethod */;
1873 short int var24
/* : Bool */;
1874 short int var25
/* : Bool */;
1875 val
* var_other27
/* var other: nullable Object */;
1876 short int var28
/* : Bool */;
1877 short int var29
/* : Bool */;
1878 val
* var30
/* : nullable MMethod */;
1879 val
* var31
/* : MModule */;
1880 val
* var33
/* : MModule */;
1881 static val
* varonce34
;
1882 val
* var35
/* : String */;
1883 char* var36
/* : CString */;
1884 val
* var37
/* : String */;
1885 val
* var38
/* : nullable Int */;
1886 val
* var39
/* : nullable Int */;
1887 val
* var40
/* : nullable Bool */;
1888 val
* var41
/* : nullable Bool */;
1889 val
* var42
/* : MClass */;
1890 val
* var44
/* : MClass */;
1891 val
* var45
/* : nullable MMethod */;
1892 val
* var46
/* : MModule */;
1893 val
* var48
/* : MModule */;
1894 static val
* varonce49
;
1895 val
* var50
/* : String */;
1896 char* var51
/* : CString */;
1897 val
* var52
/* : String */;
1898 val
* var53
/* : nullable Int */;
1899 val
* var54
/* : nullable Int */;
1900 val
* var55
/* : nullable Bool */;
1901 val
* var56
/* : nullable Bool */;
1902 val
* var57
/* : MClass */;
1903 val
* var59
/* : MClass */;
1904 val
* var60
/* : nullable MMethod */;
1905 val
* var_mainprop
/* var mainprop: nullable MMethod */;
1906 short int var61
/* : Bool */;
1907 short int var62
/* : Bool */;
1908 short int var64
/* : Bool */;
1909 short int var65
/* : Bool */;
1910 val
* var66
/* : MModule */;
1911 val
* var68
/* : MModule */;
1912 val
* var69
/* : nullable MClassType */;
1913 val
* var_finalizable_type
/* var finalizable_type: nullable MClassType */;
1914 short int var70
/* : Bool */;
1915 short int var71
/* : Bool */;
1916 short int var73
/* : Bool */;
1917 short int var74
/* : Bool */;
1918 val
* var75
/* : MModule */;
1919 val
* var77
/* : MModule */;
1920 static val
* varonce78
;
1921 val
* var79
/* : String */;
1922 char* var80
/* : CString */;
1923 val
* var81
/* : String */;
1924 val
* var82
/* : nullable Int */;
1925 val
* var83
/* : nullable Int */;
1926 val
* var84
/* : nullable Bool */;
1927 val
* var85
/* : nullable Bool */;
1928 val
* var86
/* : MClass */;
1929 val
* var88
/* : MClass */;
1930 val
* var89
/* : nullable MMethod */;
1931 val
* var_finalize_meth
/* var finalize_meth: nullable MMethod */;
1932 short int var90
/* : Bool */;
1933 short int var91
/* : Bool */;
1934 short int var93
/* : Bool */;
1935 short int var94
/* : Bool */;
1936 static val
* varonce95
;
1937 val
* var96
/* : String */;
1938 char* var97
/* : CString */;
1939 val
* var98
/* : String */;
1940 val
* var99
/* : nullable Int */;
1941 val
* var100
/* : nullable Int */;
1942 val
* var101
/* : nullable Bool */;
1943 val
* var102
/* : nullable Bool */;
1944 static val
* varonce103
;
1945 val
* var104
/* : String */;
1946 char* var105
/* : CString */;
1947 val
* var106
/* : String */;
1948 val
* var107
/* : nullable Int */;
1949 val
* var108
/* : nullable Int */;
1950 val
* var109
/* : nullable Bool */;
1951 val
* var110
/* : nullable Bool */;
1952 static val
* varonce111
;
1953 val
* var112
/* : String */;
1954 char* var113
/* : CString */;
1955 val
* var114
/* : String */;
1956 val
* var115
/* : nullable Int */;
1957 val
* var116
/* : nullable Int */;
1958 val
* var117
/* : nullable Bool */;
1959 val
* var118
/* : nullable Bool */;
1960 static val
* varonce119
;
1961 val
* var120
/* : String */;
1962 char* var121
/* : CString */;
1963 val
* var122
/* : String */;
1964 val
* var123
/* : nullable Int */;
1965 val
* var124
/* : nullable Int */;
1966 val
* var125
/* : nullable Bool */;
1967 val
* var126
/* : nullable Bool */;
1968 static val
* varonce127
;
1969 val
* var128
/* : String */;
1970 char* var129
/* : CString */;
1971 val
* var130
/* : String */;
1972 val
* var131
/* : nullable Int */;
1973 val
* var132
/* : nullable Int */;
1974 val
* var133
/* : nullable Bool */;
1975 val
* var134
/* : nullable Bool */;
1976 static val
* varonce135
;
1977 val
* var136
/* : String */;
1978 char* var137
/* : CString */;
1979 val
* var138
/* : String */;
1980 val
* var139
/* : nullable Int */;
1981 val
* var140
/* : nullable Int */;
1982 val
* var141
/* : nullable Bool */;
1983 val
* var142
/* : nullable Bool */;
1984 static val
* varonce143
;
1985 val
* var144
/* : String */;
1986 char* var145
/* : CString */;
1987 val
* var146
/* : String */;
1988 val
* var147
/* : nullable Int */;
1989 val
* var148
/* : nullable Int */;
1990 val
* var149
/* : nullable Bool */;
1991 val
* var150
/* : nullable Bool */;
1992 static val
* varonce151
;
1993 val
* var152
/* : String */;
1994 char* var153
/* : CString */;
1995 val
* var154
/* : String */;
1996 val
* var155
/* : nullable Int */;
1997 val
* var156
/* : nullable Int */;
1998 val
* var157
/* : nullable Bool */;
1999 val
* var158
/* : nullable Bool */;
2000 static val
* varonce159
;
2001 val
* var160
/* : String */;
2002 char* var161
/* : CString */;
2003 val
* var162
/* : String */;
2004 val
* var163
/* : nullable Int */;
2005 val
* var164
/* : nullable Int */;
2006 val
* var165
/* : nullable Bool */;
2007 val
* var166
/* : nullable Bool */;
2008 static val
* varonce167
;
2009 val
* var168
/* : String */;
2010 char* var169
/* : CString */;
2011 val
* var170
/* : String */;
2012 val
* var171
/* : nullable Int */;
2013 val
* var172
/* : nullable Int */;
2014 val
* var173
/* : nullable Bool */;
2015 val
* var174
/* : nullable Bool */;
2016 static val
* varonce175
;
2017 val
* var176
/* : String */;
2018 char* var177
/* : CString */;
2019 val
* var178
/* : String */;
2020 val
* var179
/* : nullable Int */;
2021 val
* var180
/* : nullable Int */;
2022 val
* var181
/* : nullable Bool */;
2023 val
* var182
/* : nullable Bool */;
2024 val
* var183
/* : List[MMethodDef] */;
2025 val
* var185
/* : List[MMethodDef] */;
2026 short int var186
/* : Bool */;
2027 short int var187
/* : Bool */;
2028 val
* var188
/* : List[MMethodDef] */;
2029 val
* var190
/* : List[MMethodDef] */;
2030 val
* var191
/* : nullable Object */;
2031 val
* var_mmethoddef
/* var mmethoddef: MMethodDef */;
2032 val
* var192
/* : MProperty */;
2033 val
* var194
/* : MProperty */;
2034 val
* var_mmeth
/* var mmeth: MMethod */;
2035 val
* var195
/* : nullable MSignature */;
2036 val
* var197
/* : nullable MSignature */;
2037 val
* var_msignature
/* var msignature: nullable MSignature */;
2038 short int var198
/* : Bool */;
2039 short int var199
/* : Bool */;
2040 short int var201
/* : Bool */;
2041 short int var203
/* : Bool */;
2042 val
* var204
/* : RapidTypeVisitor */;
2043 val
* var205
/* : MClassDef */;
2044 val
* var207
/* : MClassDef */;
2045 val
* var208
/* : MClassType */;
2046 val
* var210
/* : MClassType */;
2047 val
* var_v
/* var v: RapidTypeVisitor */;
2048 long var211
/* : Int */;
2049 long var213
/* : Int */;
2050 long var_vararg_rank
/* var vararg_rank: Int */;
2051 long var214
/* : Int */;
2052 long var216
/* : Int */;
2053 short int var217
/* : Bool */;
2054 short int var219
/* : Bool */;
2057 const char* var_class_name
;
2058 short int var220
/* : Bool */;
2059 val
* var221
/* : ModelBuilder */;
2060 val
* var223
/* : ModelBuilder */;
2061 val
* var224
/* : nullable ANode */;
2062 val
* var_node
/* var node: nullable ANode */;
2063 val
* var225
/* : Array[MParameter] */;
2064 val
* var227
/* : Array[MParameter] */;
2065 val
* var228
/* : nullable Object */;
2066 val
* var229
/* : MType */;
2067 val
* var231
/* : MType */;
2068 val
* var_elttype
/* var elttype: MType */;
2069 val
* var232
/* : MModule */;
2070 val
* var234
/* : MModule */;
2071 val
* var235
/* : MClassType */;
2072 val
* var_vararg
/* var vararg: MClassType */;
2073 val
* var236
/* : MModule */;
2074 val
* var238
/* : MModule */;
2075 val
* var239
/* : MClassType */;
2076 val
* var_native
/* var native: MClassType */;
2077 val
* var240
/* : ModelBuilder */;
2078 val
* var242
/* : ModelBuilder */;
2079 static val
* varonce243
;
2080 val
* var244
/* : String */;
2081 char* var245
/* : CString */;
2082 val
* var246
/* : String */;
2083 val
* var247
/* : nullable Int */;
2084 val
* var248
/* : nullable Int */;
2085 val
* var249
/* : nullable Bool */;
2086 val
* var250
/* : nullable Bool */;
2087 val
* var251
/* : MClass */;
2088 val
* var253
/* : MClass */;
2089 val
* var254
/* : MModule */;
2090 val
* var256
/* : MModule */;
2091 val
* var257
/* : MMethod */;
2092 val
* var_sig
/* var sig: MSignature */;
2093 val
* var258
/* : MPropDef */;
2094 val
* var260
/* : MPropDef */;
2095 val
* var261
/* : nullable MSignature */;
2096 val
* var263
/* : nullable MSignature */;
2097 val
* var_osig
/* var osig: MSignature */;
2098 long var_i
/* var i: Int */;
2099 long var264
/* : Int */;
2100 long var_
/* var : Int */;
2101 short int var265
/* : Bool */;
2102 short int var267
/* : Bool */;
2105 const char* var_class_name270
;
2106 short int var271
/* : Bool */;
2107 val
* var273
/* : Array[MParameter] */;
2108 val
* var275
/* : Array[MParameter] */;
2109 val
* var276
/* : nullable Object */;
2110 val
* var277
/* : MType */;
2111 val
* var279
/* : MType */;
2112 val
* var_origtype
/* var origtype: MType */;
2113 short int var280
/* : Bool */;
2114 short int var281
/* : Bool */;
2115 val
* var283
/* : Array[MParameter] */;
2116 val
* var285
/* : Array[MParameter] */;
2117 val
* var286
/* : nullable Object */;
2118 val
* var287
/* : MType */;
2119 val
* var289
/* : MType */;
2120 val
* var_paramtype
/* var paramtype: MType */;
2121 long var290
/* : Int */;
2122 short int var291
/* : Bool */;
2123 short int var293
/* : Bool */;
2124 val
* var294
/* : ModelBuilder */;
2125 val
* var296
/* : ModelBuilder */;
2126 val
* var297
/* : nullable ANode */;
2127 val
* var_npropdef
/* var npropdef: nullable ANode */;
2128 short int var298
/* : Bool */;
2131 val
* var301
/* : MProperty */;
2132 val
* var303
/* : MProperty */;
2133 short int var304
/* : Bool */;
2134 short int var306
/* : Bool */;
2135 short int var307
/* : Bool */;
2136 short int var308
/* : Bool */;
2137 val
* var309
/* : MClassType */;
2138 val
* var311
/* : MClassType */;
2139 val
* var313
/* : NativeArray[String] */;
2140 static val
* varonce312
;
2141 static val
* varonce314
;
2142 val
* var315
/* : String */;
2143 char* var316
/* : CString */;
2144 val
* var317
/* : String */;
2145 val
* var318
/* : nullable Int */;
2146 val
* var319
/* : nullable Int */;
2147 val
* var320
/* : nullable Bool */;
2148 val
* var321
/* : nullable Bool */;
2149 val
* var322
/* : String */;
2150 val
* var323
/* : String */;
2151 val
* var324
/* : nullable Object */;
2152 val
* var326
/* : nullable Object */;
2153 short int var327
/* : Bool */;
2154 short int var328
/* : Bool */;
2155 val
* var329
/* : nullable MType */;
2156 val
* var331
/* : nullable MType */;
2157 short int var332
/* : Bool */;
2160 const char* var_class_name335
;
2161 short int var336
/* : Bool */;
2162 short int var337
/* : Bool */;
2163 short int var339
/* : Bool */;
2164 short int var341
/* : Bool */;
2165 short int var342
/* : Bool */;
2168 val
* var345
/* : nullable Array[CallSite] */;
2169 val
* var347
/* : nullable Array[CallSite] */;
2170 val
* var_auto_super_inits
/* var auto_super_inits: nullable Array[CallSite] */;
2171 short int var348
/* : Bool */;
2172 short int var349
/* : Bool */;
2173 short int var351
/* : Bool */;
2174 short int var352
/* : Bool */;
2175 val
* var_353
/* var : Array[CallSite] */;
2176 val
* var354
/* : IndexedIterator[nullable Object] */;
2177 val
* var_355
/* var : IndexedIterator[CallSite] */;
2178 short int var356
/* : Bool */;
2179 val
* var358
/* : nullable Object */;
2180 val
* var_auto_super_init
/* var auto_super_init: CallSite */;
2181 short int var359
/* : Bool */;
2182 short int var361
/* : Bool */;
2183 val
* var362
/* : MClassType */;
2184 val
* var364
/* : MClassType */;
2185 short int var365
/* : Bool */;
2186 short int var366
/* : Bool */;
2187 short int var368
/* : Bool */;
2188 short int var_369
/* var : Bool */;
2189 short int var370
/* : Bool */;
2190 short int var372
/* : Bool */;
2191 val
* var373
/* : nullable MType */;
2192 val
* var375
/* : nullable MType */;
2193 val
* var_ret
/* var ret: nullable MType */;
2194 short int var376
/* : Bool */;
2195 short int var377
/* : Bool */;
2196 short int var378
/* : Bool */;
2197 short int var379
/* : Bool */;
2198 short int var380
/* : Bool */;
2199 short int var382
/* : Bool */;
2200 short int var383
/* : Bool */;
2201 short int var_384
/* var : Bool */;
2202 short int var385
/* : Bool */;
2205 short int var_388
/* var : Bool */;
2206 val
* var389
/* : MClass */;
2207 val
* var391
/* : MClass */;
2208 val
* var392
/* : MClassKind */;
2209 val
* var394
/* : MClassKind */;
2210 val
* var395
/* : Sys */;
2211 val
* var396
/* : MClassKind */;
2212 short int var397
/* : Bool */;
2213 short int var399
/* : Bool */;
2214 short int var400
/* : Bool */;
2215 short int var_401
/* var : Bool */;
2216 val
* var402
/* : MClass */;
2217 val
* var404
/* : MClass */;
2218 val
* var405
/* : MClassKind */;
2219 val
* var407
/* : MClassKind */;
2220 val
* var408
/* : Sys */;
2221 val
* var409
/* : MClassKind */;
2222 short int var410
/* : Bool */;
2223 short int var412
/* : Bool */;
2224 short int var413
/* : Bool */;
2225 val
* var415
/* : List[MClassType] */;
2226 val
* var_todo_types
/* var todo_types: List[MClassType] */;
2227 val
* var417
/* : HashSet[MClassType] */;
2228 val
* var419
/* : HashSet[MClassType] */;
2229 short int var420
/* : Bool */;
2230 short int var421
/* : Bool */;
2231 val
* var422
/* : nullable Object */;
2232 val
* var_t
/* var t: MClassType */;
2233 val
* var423
/* : HashSet[MClassType] */;
2234 val
* var425
/* : HashSet[MClassType] */;
2235 val
* var_426
/* var : HashSet[MClassType] */;
2236 val
* var427
/* : Iterator[nullable Object] */;
2237 val
* var_428
/* var : Iterator[MClassType] */;
2238 short int var429
/* : Bool */;
2239 val
* var431
/* : nullable Object */;
2240 val
* var_ot
/* var ot: MClassType */;
2241 val
* var432
/* : MModule */;
2242 val
* var434
/* : MModule */;
2243 short int var435
/* : Bool */;
2244 short int var436
/* : Bool */;
2245 val
* var438
/* : MModule */;
2246 val
* var440
/* : MModule */;
2247 val
* var441
/* : MClassType */;
2248 val
* var_rt
/* var rt: MClassType */;
2249 val
* var442
/* : HashSet[MClassType] */;
2250 val
* var444
/* : HashSet[MClassType] */;
2251 short int var445
/* : Bool */;
2252 val
* var446
/* : MModule */;
2253 val
* var448
/* : MModule */;
2254 short int var449
/* : Bool */;
2255 short int var450
/* : Bool */;
2256 short int var451
/* : Bool */;
2257 short int var452
/* : Bool */;
2258 val
* var453
/* : HashSet[MClassType] */;
2259 val
* var455
/* : HashSet[MClassType] */;
2260 val
* var457
/* : HashSet[MType] */;
2261 val
* var459
/* : HashSet[MType] */;
2262 val
* var_460
/* var : HashSet[MType] */;
2263 val
* var461
/* : Iterator[nullable Object] */;
2264 val
* var_462
/* var : Iterator[MType] */;
2265 short int var463
/* : Bool */;
2266 val
* var465
/* : nullable Object */;
2267 val
* var_ot466
/* var ot: MType */;
2268 val
* var467
/* : HashSet[MClassType] */;
2269 val
* var469
/* : HashSet[MClassType] */;
2270 val
* var_470
/* var : HashSet[MClassType] */;
2271 val
* var471
/* : Iterator[nullable Object] */;
2272 val
* var_472
/* var : Iterator[MClassType] */;
2273 short int var473
/* : Bool */;
2274 val
* var475
/* : nullable Object */;
2275 val
* var_t476
/* var t: MClassType */;
2276 val
* var477
/* : MModule */;
2277 val
* var479
/* : MModule */;
2278 short int var480
/* : Bool */;
2279 short int var481
/* : Bool */;
2280 val
* var483
/* : MModule */;
2281 val
* var485
/* : MModule */;
2282 val
* var486
/* : MType */;
2283 val
* var_rt487
/* var rt: MType */;
2284 val
* var488
/* : MModule */;
2285 val
* var490
/* : MModule */;
2286 short int var491
/* : Bool */;
2287 short int var492
/* : Bool */;
2288 val
* var493
/* : HashSet[MType] */;
2289 val
* var495
/* : HashSet[MType] */;
2291 { /* Inline rapid_type_analysis$RapidTypeAnalysis$mainmodule (self) on <self:RapidTypeAnalysis> */
2292 var2
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___mainmodule
].val
; /* _mainmodule on <self:RapidTypeAnalysis> */
2293 if (unlikely(var2
== NULL
)) {
2294 if(catchStack
.cursor
>= 0){
2295 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2297 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
2298 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 56);
2306 var3
= nitc__model___MModule___sys_type(var
);
2308 var_maintype
= var3
;
2309 if (var_maintype
== NULL
) {
2310 var4
= 1; /* is null */
2312 var4
= 0; /* arg is null but recv is not */
2315 { /* Inline kernel$Object$== (var_maintype,((val*)NULL)) on <var_maintype:nullable MClassType> */
2316 var_other
= ((val
*)NULL
);
2318 { /* Inline kernel$Object$is_same_instance (var_maintype,var_other) on <var_maintype:nullable MClassType(MClassType)> */
2319 var9
= var_maintype
== var_other
;
2336 nitc___nitc__RapidTypeAnalysis___add_new(self
, var_maintype
, var_maintype
); /* Direct call rapid_type_analysis$RapidTypeAnalysis$add_new on <self:RapidTypeAnalysis>*/
2339 { /* Inline rapid_type_analysis$RapidTypeAnalysis$mainmodule (self) on <self:RapidTypeAnalysis> */
2340 var12
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___mainmodule
].val
; /* _mainmodule on <self:RapidTypeAnalysis> */
2341 if (unlikely(var12
== NULL
)) {
2342 if(catchStack
.cursor
>= 0){
2343 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2345 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
2346 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 56);
2350 RET_LABEL11
:(void)0;
2353 if (likely(varonce
!=NULL
)) {
2357 var16
= (val
*)(4l<<2|1);
2358 var17
= (val
*)(4l<<2|1);
2359 var18
= (val
*)((long)(0)<<2|3);
2360 var19
= (val
*)((long)(0)<<2|3);
2361 var15
= core__flat___CString___to_s_unsafe(var14
, var16
, var17
, var18
, var19
);
2366 { /* Inline model$MClassType$mclass (var_maintype) on <var_maintype:nullable MClassType(MClassType)> */
2367 var22
= var_maintype
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var_maintype:nullable MClassType(MClassType)> */
2368 if (unlikely(var22
== NULL
)) {
2369 if(catchStack
.cursor
>= 0){
2370 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2372 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2373 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1197);
2377 RET_LABEL21
:(void)0;
2381 var23
= nitc__model___MModule___try_get_primitive_method(var10
, var13
, var20
);
2383 var_initprop
= var23
;
2384 if (var_initprop
== NULL
) {
2385 var24
= 0; /* is null */
2387 var24
= 1; /* arg is null and recv is not */
2390 { /* Inline kernel$Object$!= (var_initprop,((val*)NULL)) on <var_initprop:nullable MMethod> */
2391 var_other27
= ((val
*)NULL
);
2393 var28
= ((short int(*)(val
* self
, val
* p0
))(var_initprop
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_initprop
, var_other27
); /* == on <var_initprop:nullable MMethod(MMethod)>*/
2398 RET_LABEL26
:(void)0;
2404 nitc___nitc__RapidTypeAnalysis___add_send(self
, var_maintype
, var_initprop
); /* Direct call rapid_type_analysis$RapidTypeAnalysis$add_send on <self:RapidTypeAnalysis>*/
2409 { /* Inline rapid_type_analysis$RapidTypeAnalysis$mainmodule (self) on <self:RapidTypeAnalysis> */
2410 var33
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___mainmodule
].val
; /* _mainmodule on <self:RapidTypeAnalysis> */
2411 if (unlikely(var33
== NULL
)) {
2412 if(catchStack
.cursor
>= 0){
2413 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2415 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
2416 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 56);
2420 RET_LABEL32
:(void)0;
2423 if (likely(varonce34
!=NULL
)) {
2427 var38
= (val
*)(3l<<2|1);
2428 var39
= (val
*)(3l<<2|1);
2429 var40
= (val
*)((long)(0)<<2|3);
2430 var41
= (val
*)((long)(0)<<2|3);
2431 var37
= core__flat___CString___to_s_unsafe(var36
, var38
, var39
, var40
, var41
);
2436 { /* Inline model$MClassType$mclass (var_maintype) on <var_maintype:nullable MClassType(MClassType)> */
2437 var44
= var_maintype
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var_maintype:nullable MClassType(MClassType)> */
2438 if (unlikely(var44
== NULL
)) {
2439 if(catchStack
.cursor
>= 0){
2440 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2442 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2443 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1197);
2447 RET_LABEL43
:(void)0;
2451 var45
= nitc__model___MModule___try_get_primitive_method(var31
, var35
, var42
);
2457 { /* Inline rapid_type_analysis$RapidTypeAnalysis$mainmodule (self) on <self:RapidTypeAnalysis> */
2458 var48
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___mainmodule
].val
; /* _mainmodule on <self:RapidTypeAnalysis> */
2459 if (unlikely(var48
== NULL
)) {
2460 if(catchStack
.cursor
>= 0){
2461 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2463 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
2464 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 56);
2468 RET_LABEL47
:(void)0;
2471 if (likely(varonce49
!=NULL
)) {
2475 var53
= (val
*)(4l<<2|1);
2476 var54
= (val
*)(4l<<2|1);
2477 var55
= (val
*)((long)(0)<<2|3);
2478 var56
= (val
*)((long)(0)<<2|3);
2479 var52
= core__flat___CString___to_s_unsafe(var51
, var53
, var54
, var55
, var56
);
2484 { /* Inline model$MClassType$mclass (var_maintype) on <var_maintype:nullable MClassType(MClassType)> */
2485 var59
= var_maintype
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var_maintype:nullable MClassType(MClassType)> */
2486 if (unlikely(var59
== NULL
)) {
2487 if(catchStack
.cursor
>= 0){
2488 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2490 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2491 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1197);
2495 RET_LABEL58
:(void)0;
2499 var60
= nitc__model___MModule___try_get_primitive_method(var46
, var50
, var57
);
2503 var_mainprop
= var30
;
2504 if (var_mainprop
== NULL
) {
2505 var61
= 0; /* is null */
2507 var61
= 1; /* arg is null and recv is not */
2510 { /* Inline kernel$Object$!= (var_mainprop,((val*)NULL)) on <var_mainprop:nullable MMethod> */
2511 var_other27
= ((val
*)NULL
);
2513 var64
= ((short int(*)(val
* self
, val
* p0
))(var_mainprop
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_mainprop
, var_other27
); /* == on <var_mainprop:nullable MMethod(MMethod)>*/
2518 RET_LABEL63
:(void)0;
2524 nitc___nitc__RapidTypeAnalysis___add_send(self
, var_maintype
, var_mainprop
); /* Direct call rapid_type_analysis$RapidTypeAnalysis$add_send on <self:RapidTypeAnalysis>*/
2529 { /* Inline rapid_type_analysis$RapidTypeAnalysis$mainmodule (self) on <self:RapidTypeAnalysis> */
2530 var68
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___mainmodule
].val
; /* _mainmodule on <self:RapidTypeAnalysis> */
2531 if (unlikely(var68
== NULL
)) {
2532 if(catchStack
.cursor
>= 0){
2533 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2535 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
2536 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 56);
2540 RET_LABEL67
:(void)0;
2544 var69
= nitc__model___MModule___finalizable_type(var66
);
2546 var_finalizable_type
= var69
;
2547 if (var_finalizable_type
== NULL
) {
2548 var70
= 0; /* is null */
2550 var70
= 1; /* arg is null and recv is not */
2553 { /* Inline kernel$Object$!= (var_finalizable_type,((val*)NULL)) on <var_finalizable_type:nullable MClassType> */
2554 var_other27
= ((val
*)NULL
);
2556 var73
= ((short int(*)(val
* self
, val
* p0
))(var_finalizable_type
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_finalizable_type
, var_other27
); /* == on <var_finalizable_type:nullable MClassType(MClassType)>*/
2561 RET_LABEL72
:(void)0;
2567 { /* Inline rapid_type_analysis$RapidTypeAnalysis$mainmodule (self) on <self:RapidTypeAnalysis> */
2568 var77
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___mainmodule
].val
; /* _mainmodule on <self:RapidTypeAnalysis> */
2569 if (unlikely(var77
== NULL
)) {
2570 if(catchStack
.cursor
>= 0){
2571 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2573 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
2574 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 56);
2578 RET_LABEL76
:(void)0;
2581 if (likely(varonce78
!=NULL
)) {
2585 var82
= (val
*)(8l<<2|1);
2586 var83
= (val
*)(8l<<2|1);
2587 var84
= (val
*)((long)(0)<<2|3);
2588 var85
= (val
*)((long)(0)<<2|3);
2589 var81
= core__flat___CString___to_s_unsafe(var80
, var82
, var83
, var84
, var85
);
2594 { /* Inline model$MClassType$mclass (var_finalizable_type) on <var_finalizable_type:nullable MClassType(MClassType)> */
2595 var88
= var_finalizable_type
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var_finalizable_type:nullable MClassType(MClassType)> */
2596 if (unlikely(var88
== NULL
)) {
2597 if(catchStack
.cursor
>= 0){
2598 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2600 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2601 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1197);
2605 RET_LABEL87
:(void)0;
2609 var89
= nitc__model___MModule___try_get_primitive_method(var75
, var79
, var86
);
2611 var_finalize_meth
= var89
;
2612 if (var_finalize_meth
== NULL
) {
2613 var90
= 0; /* is null */
2615 var90
= 1; /* arg is null and recv is not */
2618 { /* Inline kernel$Object$!= (var_finalize_meth,((val*)NULL)) on <var_finalize_meth:nullable MMethod> */
2619 var_other27
= ((val
*)NULL
);
2621 var93
= ((short int(*)(val
* self
, val
* p0
))(var_finalize_meth
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_finalize_meth
, var_other27
); /* == on <var_finalize_meth:nullable MMethod(MMethod)>*/
2626 RET_LABEL92
:(void)0;
2632 nitc___nitc__RapidTypeAnalysis___add_send(self
, var_finalizable_type
, var_finalize_meth
); /* Direct call rapid_type_analysis$RapidTypeAnalysis$add_send on <self:RapidTypeAnalysis>*/
2638 if (likely(varonce95
!=NULL
)) {
2642 var99
= (val
*)(4l<<2|1);
2643 var100
= (val
*)(4l<<2|1);
2644 var101
= (val
*)((long)(0)<<2|3);
2645 var102
= (val
*)((long)(0)<<2|3);
2646 var98
= core__flat___CString___to_s_unsafe(var97
, var99
, var100
, var101
, var102
);
2651 nitc___nitc__RapidTypeAnalysis___force_alive(self
, var96
); /* Direct call rapid_type_analysis$RapidTypeAnalysis$force_alive on <self:RapidTypeAnalysis>*/
2653 if (likely(varonce103
!=NULL
)) {
2654 var104
= varonce103
;
2657 var107
= (val
*)(5l<<2|1);
2658 var108
= (val
*)(5l<<2|1);
2659 var109
= (val
*)((long)(0)<<2|3);
2660 var110
= (val
*)((long)(0)<<2|3);
2661 var106
= core__flat___CString___to_s_unsafe(var105
, var107
, var108
, var109
, var110
);
2663 varonce103
= var104
;
2666 nitc___nitc__RapidTypeAnalysis___force_alive(self
, var104
); /* Direct call rapid_type_analysis$RapidTypeAnalysis$force_alive on <self:RapidTypeAnalysis>*/
2668 if (likely(varonce111
!=NULL
)) {
2669 var112
= varonce111
;
2672 var115
= (val
*)(4l<<2|1);
2673 var116
= (val
*)(4l<<2|1);
2674 var117
= (val
*)((long)(0)<<2|3);
2675 var118
= (val
*)((long)(0)<<2|3);
2676 var114
= core__flat___CString___to_s_unsafe(var113
, var115
, var116
, var117
, var118
);
2678 varonce111
= var112
;
2681 nitc___nitc__RapidTypeAnalysis___force_alive(self
, var112
); /* Direct call rapid_type_analysis$RapidTypeAnalysis$force_alive on <self:RapidTypeAnalysis>*/
2683 if (likely(varonce119
!=NULL
)) {
2684 var120
= varonce119
;
2687 var123
= (val
*)(7l<<2|1);
2688 var124
= (val
*)(7l<<2|1);
2689 var125
= (val
*)((long)(0)<<2|3);
2690 var126
= (val
*)((long)(0)<<2|3);
2691 var122
= core__flat___CString___to_s_unsafe(var121
, var123
, var124
, var125
, var126
);
2693 varonce119
= var120
;
2696 nitc___nitc__RapidTypeAnalysis___force_alive(self
, var120
); /* Direct call rapid_type_analysis$RapidTypeAnalysis$force_alive on <self:RapidTypeAnalysis>*/
2698 if (likely(varonce127
!=NULL
)) {
2699 var128
= varonce127
;
2702 var131
= (val
*)(4l<<2|1);
2703 var132
= (val
*)(4l<<2|1);
2704 var133
= (val
*)((long)(0)<<2|3);
2705 var134
= (val
*)((long)(0)<<2|3);
2706 var130
= core__flat___CString___to_s_unsafe(var129
, var131
, var132
, var133
, var134
);
2708 varonce127
= var128
;
2711 nitc___nitc__RapidTypeAnalysis___force_alive(self
, var128
); /* Direct call rapid_type_analysis$RapidTypeAnalysis$force_alive on <self:RapidTypeAnalysis>*/
2713 if (likely(varonce135
!=NULL
)) {
2714 var136
= varonce135
;
2717 var139
= (val
*)(3l<<2|1);
2718 var140
= (val
*)(3l<<2|1);
2719 var141
= (val
*)((long)(0)<<2|3);
2720 var142
= (val
*)((long)(0)<<2|3);
2721 var138
= core__flat___CString___to_s_unsafe(var137
, var139
, var140
, var141
, var142
);
2723 varonce135
= var136
;
2726 nitc___nitc__RapidTypeAnalysis___force_alive(self
, var136
); /* Direct call rapid_type_analysis$RapidTypeAnalysis$force_alive on <self:RapidTypeAnalysis>*/
2728 if (likely(varonce143
!=NULL
)) {
2729 var144
= varonce143
;
2732 var147
= (val
*)(4l<<2|1);
2733 var148
= (val
*)(4l<<2|1);
2734 var149
= (val
*)((long)(0)<<2|3);
2735 var150
= (val
*)((long)(0)<<2|3);
2736 var146
= core__flat___CString___to_s_unsafe(var145
, var147
, var148
, var149
, var150
);
2738 varonce143
= var144
;
2741 nitc___nitc__RapidTypeAnalysis___force_alive(self
, var144
); /* Direct call rapid_type_analysis$RapidTypeAnalysis$force_alive on <self:RapidTypeAnalysis>*/
2743 if (likely(varonce151
!=NULL
)) {
2744 var152
= varonce151
;
2747 var155
= (val
*)(5l<<2|1);
2748 var156
= (val
*)(5l<<2|1);
2749 var157
= (val
*)((long)(0)<<2|3);
2750 var158
= (val
*)((long)(0)<<2|3);
2751 var154
= core__flat___CString___to_s_unsafe(var153
, var155
, var156
, var157
, var158
);
2753 varonce151
= var152
;
2756 nitc___nitc__RapidTypeAnalysis___force_alive(self
, var152
); /* Direct call rapid_type_analysis$RapidTypeAnalysis$force_alive on <self:RapidTypeAnalysis>*/
2758 if (likely(varonce159
!=NULL
)) {
2759 var160
= varonce159
;
2762 var163
= (val
*)(6l<<2|1);
2763 var164
= (val
*)(6l<<2|1);
2764 var165
= (val
*)((long)(0)<<2|3);
2765 var166
= (val
*)((long)(0)<<2|3);
2766 var162
= core__flat___CString___to_s_unsafe(var161
, var163
, var164
, var165
, var166
);
2768 varonce159
= var160
;
2771 nitc___nitc__RapidTypeAnalysis___force_alive(self
, var160
); /* Direct call rapid_type_analysis$RapidTypeAnalysis$force_alive on <self:RapidTypeAnalysis>*/
2773 if (likely(varonce167
!=NULL
)) {
2774 var168
= varonce167
;
2777 var171
= (val
*)(5l<<2|1);
2778 var172
= (val
*)(5l<<2|1);
2779 var173
= (val
*)((long)(0)<<2|3);
2780 var174
= (val
*)((long)(0)<<2|3);
2781 var170
= core__flat___CString___to_s_unsafe(var169
, var171
, var172
, var173
, var174
);
2783 varonce167
= var168
;
2786 nitc___nitc__RapidTypeAnalysis___force_alive(self
, var168
); /* Direct call rapid_type_analysis$RapidTypeAnalysis$force_alive on <self:RapidTypeAnalysis>*/
2788 if (likely(varonce175
!=NULL
)) {
2789 var176
= varonce175
;
2792 var179
= (val
*)(6l<<2|1);
2793 var180
= (val
*)(6l<<2|1);
2794 var181
= (val
*)((long)(0)<<2|3);
2795 var182
= (val
*)((long)(0)<<2|3);
2796 var178
= core__flat___CString___to_s_unsafe(var177
, var179
, var180
, var181
, var182
);
2798 varonce175
= var176
;
2801 nitc___nitc__RapidTypeAnalysis___force_alive(self
, var176
); /* Direct call rapid_type_analysis$RapidTypeAnalysis$force_alive on <self:RapidTypeAnalysis>*/
2805 { /* Inline rapid_type_analysis$RapidTypeAnalysis$todo (self) on <self:RapidTypeAnalysis> */
2806 var185
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___todo
].val
; /* _todo on <self:RapidTypeAnalysis> */
2807 if (unlikely(var185
== NULL
)) {
2808 if(catchStack
.cursor
>= 0){
2809 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2811 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _todo");
2812 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 183);
2816 RET_LABEL184
:(void)0;
2820 var186
= core___core__List___core__abstract_collection__Collection__is_empty(var183
);
2825 { /* Inline rapid_type_analysis$RapidTypeAnalysis$todo (self) on <self:RapidTypeAnalysis> */
2826 var190
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___todo
].val
; /* _todo on <self:RapidTypeAnalysis> */
2827 if (unlikely(var190
== NULL
)) {
2828 if(catchStack
.cursor
>= 0){
2829 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2831 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _todo");
2832 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 183);
2836 RET_LABEL189
:(void)0;
2840 var191
= core___core__List___core__abstract_collection__Sequence__shift(var188
);
2842 var_mmethoddef
= var191
;
2844 { /* Inline model$MPropDef$mproperty (var_mmethoddef) on <var_mmethoddef:MMethodDef> */
2845 var194
= var_mmethoddef
->attrs
[COLOR_nitc__model__MPropDef___mproperty
].val
; /* _mproperty on <var_mmethoddef:MMethodDef> */
2846 if (unlikely(var194
== NULL
)) {
2847 if(catchStack
.cursor
>= 0){
2848 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2850 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
2851 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2357);
2855 RET_LABEL193
:(void)0;
2860 { /* Inline model$MMethodDef$msignature (var_mmethoddef) on <var_mmethoddef:MMethodDef> */
2861 var197
= var_mmethoddef
->attrs
[COLOR_nitc__model__MMethodDef___msignature
].val
; /* _msignature on <var_mmethoddef:MMethodDef> */
2863 RET_LABEL196
:(void)0;
2866 var_msignature
= var195
;
2867 if (var_msignature
== NULL
) {
2868 var198
= 1; /* is null */
2870 var198
= 0; /* arg is null but recv is not */
2873 { /* Inline kernel$Object$== (var_msignature,((val*)NULL)) on <var_msignature:nullable MSignature> */
2874 var_other
= ((val
*)NULL
);
2876 { /* Inline kernel$Object$is_same_instance (var_msignature,var_other) on <var_msignature:nullable MSignature(MSignature)> */
2877 var203
= var_msignature
== var_other
;
2880 RET_LABEL202
:(void)0;
2885 RET_LABEL200
:(void)0;
2893 var204
= NEW_nitc__RapidTypeVisitor(&type_nitc__RapidTypeVisitor
);
2895 { /* Inline model$MPropDef$mclassdef (var_mmethoddef) on <var_mmethoddef:MMethodDef> */
2896 var207
= var_mmethoddef
->attrs
[COLOR_nitc__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mmethoddef:MMethodDef> */
2897 if (unlikely(var207
== NULL
)) {
2898 if(catchStack
.cursor
>= 0){
2899 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2901 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
2902 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2354);
2906 RET_LABEL206
:(void)0;
2910 { /* Inline model$MClassDef$bound_mtype (var205) on <var205:MClassDef> */
2911 var210
= var205
->attrs
[COLOR_nitc__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var205:MClassDef> */
2912 if (unlikely(var210
== NULL
)) {
2913 if(catchStack
.cursor
>= 0){
2914 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2916 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
2917 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 594);
2921 RET_LABEL209
:(void)0;
2925 ((void(*)(val
* self
, val
* p0
))(var204
->class->vft
[COLOR_nitc__rapid_type_analysis__RapidTypeVisitor__analysis_61d
]))(var204
, self
); /* analysis= on <var204:RapidTypeVisitor>*/
2928 ((void(*)(val
* self
, val
* p0
))(var204
->class->vft
[COLOR_nitc__rapid_type_analysis__RapidTypeVisitor__receiver_61d
]))(var204
, var208
); /* receiver= on <var204:RapidTypeVisitor>*/
2931 ((void(*)(val
* self
, val
* p0
))(var204
->class->vft
[COLOR_nitc__rapid_type_analysis__RapidTypeVisitor__mpropdef_61d
]))(var204
, var_mmethoddef
); /* mpropdef= on <var204:RapidTypeVisitor>*/
2934 ((void(*)(val
* self
))(var204
->class->vft
[COLOR_core__kernel__Object__init
]))(var204
); /* init on <var204:RapidTypeVisitor>*/
2938 { /* Inline model$MSignature$vararg_rank (var_msignature) on <var_msignature:nullable MSignature(MSignature)> */
2939 var213
= var_msignature
->attrs
[COLOR_nitc__model__MSignature___vararg_rank
].l
; /* _vararg_rank on <var_msignature:nullable MSignature(MSignature)> */
2941 RET_LABEL212
:(void)0;
2944 var_vararg_rank
= var211
;
2946 { /* Inline kernel$Int$unary - (1l) on <1l:Int> */
2950 RET_LABEL215
:(void)0;
2954 { /* Inline kernel$Int$> (var_vararg_rank,var214) on <var_vararg_rank:Int> */
2955 /* Covariant cast for argument 0 (i) <var214:Int> isa OTHER */
2956 /* <var214:Int> isa OTHER */
2957 var219
= 1; /* easy <var214:Int> isa OTHER*/
2958 if (unlikely(!var219
)) {
2959 var_class_name
= type_core__Int
.name
;
2960 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2961 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 727);
2964 var220
= var_vararg_rank
> var214
;
2967 RET_LABEL218
:(void)0;
2972 { /* Inline rapid_type_analysis$RapidTypeAnalysis$modelbuilder (self) on <self:RapidTypeAnalysis> */
2973 var223
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___modelbuilder
].val
; /* _modelbuilder on <self:RapidTypeAnalysis> */
2974 if (unlikely(var223
== NULL
)) {
2975 if(catchStack
.cursor
>= 0){
2976 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2978 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
2979 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 53);
2983 RET_LABEL222
:(void)0;
2987 var224
= nitc__modelize_property___ModelBuilder___mpropdef2node(var221
, var_mmethoddef
);
2991 { /* Inline model$MSignature$mparameters (var_msignature) on <var_msignature:nullable MSignature(MSignature)> */
2992 var227
= var_msignature
->attrs
[COLOR_nitc__model__MSignature___mparameters
].val
; /* _mparameters on <var_msignature:nullable MSignature(MSignature)> */
2993 if (unlikely(var227
== NULL
)) {
2994 if(catchStack
.cursor
>= 0){
2995 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2997 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
2998 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1879);
3002 RET_LABEL226
:(void)0;
3006 var228
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var225
, var_vararg_rank
);
3009 { /* Inline model$MParameter$mtype (var228) on <var228:nullable Object(MParameter)> */
3010 var231
= var228
->attrs
[COLOR_nitc__model__MParameter___mtype
].val
; /* _mtype on <var228:nullable Object(MParameter)> */
3011 if (unlikely(var231
== NULL
)) {
3012 if(catchStack
.cursor
>= 0){
3013 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3015 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
3016 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1996);
3020 RET_LABEL230
:(void)0;
3023 var_elttype
= var229
;
3025 { /* Inline rapid_type_analysis$RapidTypeAnalysis$mainmodule (self) on <self:RapidTypeAnalysis> */
3026 var234
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___mainmodule
].val
; /* _mainmodule on <self:RapidTypeAnalysis> */
3027 if (unlikely(var234
== NULL
)) {
3028 if(catchStack
.cursor
>= 0){
3029 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3031 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
3032 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 56);
3036 RET_LABEL233
:(void)0;
3040 var235
= nitc__model___MModule___array_type(var232
, var_elttype
);
3042 var_vararg
= var235
;
3044 nitc___nitc__RapidTypeVisitor___add_type(var_v
, var_vararg
); /* Direct call rapid_type_analysis$RapidTypeVisitor$add_type on <var_v:RapidTypeVisitor>*/
3047 { /* Inline rapid_type_analysis$RapidTypeAnalysis$mainmodule (self) on <self:RapidTypeAnalysis> */
3048 var238
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___mainmodule
].val
; /* _mainmodule on <self:RapidTypeAnalysis> */
3049 if (unlikely(var238
== NULL
)) {
3050 if(catchStack
.cursor
>= 0){
3051 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3053 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
3054 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 56);
3058 RET_LABEL237
:(void)0;
3062 var239
= nitc__model___MModule___native_array_type(var236
, var_elttype
);
3064 var_native
= var239
;
3066 nitc___nitc__RapidTypeVisitor___add_type(var_v
, var_native
); /* Direct call rapid_type_analysis$RapidTypeVisitor$add_type on <var_v:RapidTypeVisitor>*/
3069 { /* Inline rapid_type_analysis$RapidTypeAnalysis$modelbuilder (self) on <self:RapidTypeAnalysis> */
3070 var242
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___modelbuilder
].val
; /* _modelbuilder on <self:RapidTypeAnalysis> */
3071 if (unlikely(var242
== NULL
)) {
3072 if(catchStack
.cursor
>= 0){
3073 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3075 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
3076 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 53);
3080 RET_LABEL241
:(void)0;
3083 if (likely(varonce243
!=NULL
)) {
3084 var244
= varonce243
;
3086 var245
= "with_native";
3087 var247
= (val
*)(11l<<2|1);
3088 var248
= (val
*)(11l<<2|1);
3089 var249
= (val
*)((long)(0)<<2|3);
3090 var250
= (val
*)((long)(0)<<2|3);
3091 var246
= core__flat___CString___to_s_unsafe(var245
, var247
, var248
, var249
, var250
);
3093 varonce243
= var244
;
3096 { /* Inline model$MClassType$mclass (var_vararg) on <var_vararg:MClassType> */
3097 var253
= var_vararg
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var_vararg:MClassType> */
3098 if (unlikely(var253
== NULL
)) {
3099 if(catchStack
.cursor
>= 0){
3100 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3102 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3103 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1197);
3107 RET_LABEL252
:(void)0;
3111 { /* Inline rapid_type_analysis$RapidTypeAnalysis$mainmodule (self) on <self:RapidTypeAnalysis> */
3112 var256
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___mainmodule
].val
; /* _mainmodule on <self:RapidTypeAnalysis> */
3113 if (unlikely(var256
== NULL
)) {
3114 if(catchStack
.cursor
>= 0){
3115 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3117 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
3118 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 56);
3122 RET_LABEL255
:(void)0;
3126 var257
= nitc___nitc__ModelBuilder___force_get_primitive_method(var240
, var_node
, var244
, var251
, var254
);
3129 nitc___nitc__RapidTypeVisitor___add_monomorphic_send(var_v
, var_vararg
, var257
); /* Direct call rapid_type_analysis$RapidTypeVisitor$add_monomorphic_send on <var_v:RapidTypeVisitor>*/
3133 var_sig
= var_msignature
;
3135 { /* Inline model$MProperty$intro (var_mmeth) on <var_mmeth:MMethod> */
3136 var260
= var_mmeth
->attrs
[COLOR_nitc__model__MProperty___intro
].val
; /* _intro on <var_mmeth:MMethod> */
3137 if (unlikely(var260
== NULL
)) {
3138 if(catchStack
.cursor
>= 0){
3139 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3141 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
3142 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2097);
3146 RET_LABEL259
:(void)0;
3150 { /* Inline model$MMethodDef$msignature (var258) on <var258:MPropDef(MMethodDef)> */
3151 var263
= var258
->attrs
[COLOR_nitc__model__MMethodDef___msignature
].val
; /* _msignature on <var258:MPropDef(MMethodDef)> */
3153 RET_LABEL262
:(void)0;
3156 if (unlikely(var261
== NULL
)) {
3157 if(catchStack
.cursor
>= 0){
3158 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3160 PRINT_ERROR("Runtime error: %s", "Cast failed");
3161 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 250);
3167 var264
= nitc___nitc__MSignature___arity(var_sig
);
3172 { /* Inline kernel$Int$< (var_i,var_) on <var_i:Int> */
3173 /* Covariant cast for argument 0 (i) <var_:Int> isa OTHER */
3174 /* <var_:Int> isa OTHER */
3175 var267
= 1; /* easy <var_:Int> isa OTHER*/
3176 if (unlikely(!var267
)) {
3177 var_class_name270
= type_core__Int
.name
;
3178 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name270
);
3179 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 725);
3182 var271
= var_i
< var_
;
3185 RET_LABEL266
:(void)0;
3190 goto BREAK_label272
;
3193 { /* Inline model$MSignature$mparameters (var_osig) on <var_osig:MSignature> */
3194 var275
= var_osig
->attrs
[COLOR_nitc__model__MSignature___mparameters
].val
; /* _mparameters on <var_osig:MSignature> */
3195 if (unlikely(var275
== NULL
)) {
3196 if(catchStack
.cursor
>= 0){
3197 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3199 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
3200 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1879);
3204 RET_LABEL274
:(void)0;
3208 var276
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var273
, var_i
);
3211 { /* Inline model$MParameter$mtype (var276) on <var276:nullable Object(MParameter)> */
3212 var279
= var276
->attrs
[COLOR_nitc__model__MParameter___mtype
].val
; /* _mtype on <var276:nullable Object(MParameter)> */
3213 if (unlikely(var279
== NULL
)) {
3214 if(catchStack
.cursor
>= 0){
3215 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3217 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
3218 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1996);
3222 RET_LABEL278
:(void)0;
3225 var_origtype
= var277
;
3227 var280
= ((short int(*)(val
* self
))(var_origtype
->class->vft
[COLOR_nitc__model__MType__need_anchor
]))(var_origtype
); /* need_anchor on <var_origtype:MType>*/
3231 goto BREAK_label282
;
3235 { /* Inline model$MSignature$mparameters (var_sig) on <var_sig:MSignature> */
3236 var285
= var_sig
->attrs
[COLOR_nitc__model__MSignature___mparameters
].val
; /* _mparameters on <var_sig:MSignature> */
3237 if (unlikely(var285
== NULL
)) {
3238 if(catchStack
.cursor
>= 0){
3239 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3241 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
3242 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1879);
3246 RET_LABEL284
:(void)0;
3250 var286
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var283
, var_i
);
3253 { /* Inline model$MParameter$mtype (var286) on <var286:nullable Object(MParameter)> */
3254 var289
= var286
->attrs
[COLOR_nitc__model__MParameter___mtype
].val
; /* _mtype on <var286:nullable Object(MParameter)> */
3255 if (unlikely(var289
== NULL
)) {
3256 if(catchStack
.cursor
>= 0){
3257 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3259 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
3260 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1996);
3264 RET_LABEL288
:(void)0;
3267 var_paramtype
= var287
;
3269 nitc___nitc__RapidTypeAnalysis___add_cast(self
, var_paramtype
); /* Direct call rapid_type_analysis$RapidTypeAnalysis$add_cast on <self:RapidTypeAnalysis>*/
3271 BREAK_label282
: (void)0;
3273 var290
= core___core__Int___Discrete__successor(var_i
, 1l);
3277 BREAK_label272
: (void)0;
3279 { /* Inline model$MMethodDef$is_abstract (var_mmethoddef) on <var_mmethoddef:MMethodDef> */
3280 var293
= var_mmethoddef
->attrs
[COLOR_nitc__model__MMethodDef___is_abstract
].s
; /* _is_abstract on <var_mmethoddef:MMethodDef> */
3282 RET_LABEL292
:(void)0;
3290 { /* Inline rapid_type_analysis$RapidTypeAnalysis$modelbuilder (self) on <self:RapidTypeAnalysis> */
3291 var296
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___modelbuilder
].val
; /* _modelbuilder on <self:RapidTypeAnalysis> */
3292 if (unlikely(var296
== NULL
)) {
3293 if(catchStack
.cursor
>= 0){
3294 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3296 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
3297 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 53);
3301 RET_LABEL295
:(void)0;
3305 var297
= nitc__modelize_property___ModelBuilder___mpropdef2node(var294
, var_mmethoddef
);
3307 var_npropdef
= var297
;
3308 /* <var_npropdef:nullable ANode> isa AClassdef */
3309 cltype299
= type_nitc__AClassdef
.color
;
3310 idtype300
= type_nitc__AClassdef
.id
;
3311 if(var_npropdef
== NULL
) {
3314 if(cltype299
>= var_npropdef
->type
->table_size
) {
3317 var298
= var_npropdef
->type
->type_table
[cltype299
] == idtype300
;
3322 { /* Inline model$MPropDef$mproperty (var_mmethoddef) on <var_mmethoddef:MMethodDef> */
3323 var303
= var_mmethoddef
->attrs
[COLOR_nitc__model__MPropDef___mproperty
].val
; /* _mproperty on <var_mmethoddef:MMethodDef> */
3324 if (unlikely(var303
== NULL
)) {
3325 if(catchStack
.cursor
>= 0){
3326 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3328 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
3329 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2357);
3333 RET_LABEL302
:(void)0;
3337 { /* Inline model$MMethod$is_root_init (var301) on <var301:MProperty(MMethod)> */
3338 var306
= var301
->attrs
[COLOR_nitc__model__MMethod___is_root_init
].s
; /* _is_root_init on <var301:MProperty(MMethod)> */
3340 RET_LABEL305
:(void)0;
3345 var307
= nitc___nitc__MPropDef___is_intro(var_mmethoddef
);
3350 { /* Inline rapid_type_analysis$RapidTypeVisitor$receiver (var_v) on <var_v:RapidTypeVisitor> */
3351 var311
= var_v
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeVisitor___receiver
].val
; /* _receiver on <var_v:RapidTypeVisitor> */
3352 if (unlikely(var311
== NULL
)) {
3353 if(catchStack
.cursor
>= 0){
3354 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3356 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _receiver");
3357 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 466);
3361 RET_LABEL310
:(void)0;
3365 nitc___nitc__RapidTypeAnalysis___add_super_send(self
, var309
, var_mmethoddef
); /* Direct call rapid_type_analysis$RapidTypeAnalysis$add_super_send on <self:RapidTypeAnalysis>*/
3370 if (unlikely(varonce312
==NULL
)) {
3371 var313
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
3372 if (likely(varonce314
!=NULL
)) {
3373 var315
= varonce314
;
3375 var316
= "cannot RTA ";
3376 var318
= (val
*)(11l<<2|1);
3377 var319
= (val
*)(11l<<2|1);
3378 var320
= (val
*)((long)(0)<<2|3);
3379 var321
= (val
*)((long)(0)<<2|3);
3380 var317
= core__flat___CString___to_s_unsafe(var316
, var318
, var319
, var320
, var321
);
3382 varonce314
= var315
;
3384 ((struct instance_core__NativeArray
*)var313
)->values
[0]=var315
;
3386 var313
= varonce312
;
3390 var322
= ((val
*(*)(val
* self
))(var_mmethoddef
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mmethoddef
); /* to_s on <var_mmethoddef:MMethodDef>*/
3392 ((struct instance_core__NativeArray
*)var313
)->values
[1]=var322
;
3394 var323
= ((val
*(*)(val
* self
))(var313
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var313
); /* native_to_s on <var313:NativeArray[String]>*/
3396 varonce312
= var313
;
3398 nitc___nitc__ANode___debug(var_npropdef
, var323
); /* Direct call parser_nodes$ANode$debug on <var_npropdef:nullable ANode(AClassdef)>*/
3400 if(catchStack
.cursor
>= 0){
3401 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3403 PRINT_ERROR("Runtime error: %s", "Aborted");
3404 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 269);
3410 { /* Inline model$MMethodDef$constant_value (var_mmethoddef) on <var_mmethoddef:MMethodDef> */
3411 var326
= var_mmethoddef
->attrs
[COLOR_nitc__model__MMethodDef___constant_value
].val
; /* _constant_value on <var_mmethoddef:MMethodDef> */
3413 RET_LABEL325
:(void)0;
3416 if (var324
== NULL
) {
3417 var327
= 0; /* is null */
3419 var327
= 1; /* arg is null and recv is not */
3422 var328
= ((short int(*)(val
* self
, val
* p0
))((((long)var324
&3)?class_info
[((long)var324
&3)]:var324
->class)->vft
[COLOR_core__kernel__Object___33d_61d
]))(var324
, ((val
*)NULL
)); /* != on <var324:nullable Object>*/
3427 { /* Inline model$MSignature$return_mtype (var_msignature) on <var_msignature:nullable MSignature(MSignature)> */
3428 var331
= var_msignature
->attrs
[COLOR_nitc__model__MSignature___return_mtype
].val
; /* _return_mtype on <var_msignature:nullable MSignature(MSignature)> */
3430 RET_LABEL330
:(void)0;
3433 /* <var329:nullable MType> isa MClassType */
3434 cltype333
= type_nitc__MClassType
.color
;
3435 idtype334
= type_nitc__MClassType
.id
;
3436 if(var329
== NULL
) {
3439 if(cltype333
>= var329
->type
->table_size
) {
3442 var332
= var329
->type
->type_table
[cltype333
] == idtype334
;
3445 if (unlikely(!var332
)) {
3446 var_class_name335
= var329
== NULL ?
"null" : var329
->type
->name
;
3447 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name335
);
3448 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 274);
3452 nitc___nitc__RapidTypeVisitor___add_type(var_v
, var329
); /* Direct call rapid_type_analysis$RapidTypeVisitor$add_type on <var_v:RapidTypeVisitor>*/
3456 if (var_npropdef
== NULL
) {
3457 var336
= 1; /* is null */
3459 var336
= 0; /* arg is null but recv is not */
3462 { /* Inline kernel$Object$== (var_npropdef,((val*)NULL)) on <var_npropdef:nullable ANode> */
3463 var_other
= ((val
*)NULL
);
3465 { /* Inline kernel$Object$is_same_instance (var_npropdef,var_other) on <var_npropdef:nullable ANode(ANode)> */
3466 var341
= var_npropdef
== var_other
;
3469 RET_LABEL340
:(void)0;
3474 RET_LABEL338
:(void)0;
3479 if(catchStack
.cursor
>= 0){
3480 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3482 PRINT_ERROR("Runtime error: %s", "Aborted");
3483 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 277);
3489 /* <var_npropdef:nullable ANode(ANode)> isa AMethPropdef */
3490 cltype343
= type_nitc__AMethPropdef
.color
;
3491 idtype344
= type_nitc__AMethPropdef
.id
;
3492 if(cltype343
>= var_npropdef
->type
->table_size
) {
3495 var342
= var_npropdef
->type
->type_table
[cltype343
] == idtype344
;
3499 { /* Inline auto_super_init$AMethPropdef$auto_super_inits (var_npropdef) on <var_npropdef:nullable ANode(AMethPropdef)> */
3500 var347
= var_npropdef
->attrs
[COLOR_nitc__auto_super_init__AMethPropdef___auto_super_inits
].val
; /* _auto_super_inits on <var_npropdef:nullable ANode(AMethPropdef)> */
3502 RET_LABEL346
:(void)0;
3505 var_auto_super_inits
= var345
;
3506 if (var_auto_super_inits
== NULL
) {
3507 var348
= 0; /* is null */
3509 var348
= 1; /* arg is null and recv is not */
3512 { /* Inline kernel$Object$!= (var_auto_super_inits,((val*)NULL)) on <var_auto_super_inits:nullable Array[CallSite]> */
3513 var_other27
= ((val
*)NULL
);
3515 var351
= ((short int(*)(val
* self
, val
* p0
))(var_auto_super_inits
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_auto_super_inits
, var_other27
); /* == on <var_auto_super_inits:nullable Array[CallSite](Array[CallSite])>*/
3520 RET_LABEL350
:(void)0;
3525 var_353
= var_auto_super_inits
;
3527 var354
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_353
);
3532 var356
= ((short int(*)(val
* self
))((((long)var_355
&3)?class_info
[((long)var_355
&3)]:var_355
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_355
); /* is_ok on <var_355:IndexedIterator[CallSite]>*/
3536 goto BREAK_label357
;
3539 var358
= ((val
*(*)(val
* self
))((((long)var_355
&3)?class_info
[((long)var_355
&3)]:var_355
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_355
); /* item on <var_355:IndexedIterator[CallSite]>*/
3541 var_auto_super_init
= var358
;
3543 nitc___nitc__RapidTypeVisitor___add_callsite(var_v
, var_auto_super_init
); /* Direct call rapid_type_analysis$RapidTypeVisitor$add_callsite on <var_v:RapidTypeVisitor>*/
3546 ((void(*)(val
* self
))((((long)var_355
&3)?class_info
[((long)var_355
&3)]:var_355
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_355
); /* next on <var_355:IndexedIterator[CallSite]>*/
3549 BREAK_label357
: (void)0;
3551 ((void(*)(val
* self
))((((long)var_355
&3)?class_info
[((long)var_355
&3)]:var_355
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_355
); /* finish on <var_355:IndexedIterator[CallSite]>*/
3556 { /* Inline auto_super_init$AMethPropdef$auto_super_call (var_npropdef) on <var_npropdef:nullable ANode(AMethPropdef)> */
3557 var361
= var_npropdef
->attrs
[COLOR_nitc__auto_super_init__AMethPropdef___auto_super_call
].s
; /* _auto_super_call on <var_npropdef:nullable ANode(AMethPropdef)> */
3559 RET_LABEL360
:(void)0;
3564 { /* Inline rapid_type_analysis$RapidTypeVisitor$receiver (var_v) on <var_v:RapidTypeVisitor> */
3565 var364
= var_v
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeVisitor___receiver
].val
; /* _receiver on <var_v:RapidTypeVisitor> */
3566 if (unlikely(var364
== NULL
)) {
3567 if(catchStack
.cursor
>= 0){
3568 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3570 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _receiver");
3571 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 466);
3575 RET_LABEL363
:(void)0;
3579 nitc___nitc__RapidTypeAnalysis___add_super_send(self
, var362
, var_mmethoddef
); /* Direct call rapid_type_analysis$RapidTypeAnalysis$add_super_send on <self:RapidTypeAnalysis>*/
3586 { /* Inline model$MMethodDef$is_intern (var_mmethoddef) on <var_mmethoddef:MMethodDef> */
3587 var368
= var_mmethoddef
->attrs
[COLOR_nitc__model__MMethodDef___is_intern
].s
; /* _is_intern on <var_mmethoddef:MMethodDef> */
3589 RET_LABEL367
:(void)0;
3597 { /* Inline model$MMethodDef$is_extern (var_mmethoddef) on <var_mmethoddef:MMethodDef> */
3598 var372
= var_mmethoddef
->attrs
[COLOR_nitc__model__MMethodDef___is_extern
].s
; /* _is_extern on <var_mmethoddef:MMethodDef> */
3600 RET_LABEL371
:(void)0;
3607 { /* Inline model$MSignature$return_mtype (var_msignature) on <var_msignature:nullable MSignature(MSignature)> */
3608 var375
= var_msignature
->attrs
[COLOR_nitc__model__MSignature___return_mtype
].val
; /* _return_mtype on <var_msignature:nullable MSignature(MSignature)> */
3610 RET_LABEL374
:(void)0;
3614 if (var_ret
== NULL
) {
3615 var379
= 0; /* is null */
3617 var379
= 1; /* arg is null and recv is not */
3620 { /* Inline kernel$Object$!= (var_ret,((val*)NULL)) on <var_ret:nullable MType> */
3621 var_other27
= ((val
*)NULL
);
3623 var382
= ((short int(*)(val
* self
, val
* p0
))(var_ret
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_ret
, var_other27
); /* == on <var_ret:nullable MType(MType)>*/
3628 RET_LABEL381
:(void)0;
3634 /* <var_ret:nullable MType(MType)> isa MClassType */
3635 cltype386
= type_nitc__MClassType
.color
;
3636 idtype387
= type_nitc__MClassType
.id
;
3637 if(cltype386
>= var_ret
->type
->table_size
) {
3640 var385
= var_ret
->type
->type_table
[cltype386
] == idtype387
;
3649 { /* Inline model$MClassType$mclass (var_ret) on <var_ret:nullable MType(MClassType)> */
3650 var391
= var_ret
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var_ret:nullable MType(MClassType)> */
3651 if (unlikely(var391
== NULL
)) {
3652 if(catchStack
.cursor
>= 0){
3653 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3655 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3656 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1197);
3660 RET_LABEL390
:(void)0;
3664 { /* Inline model$MClass$kind (var389) on <var389:MClass> */
3665 var394
= var389
->attrs
[COLOR_nitc__model__MClass___kind
].val
; /* _kind on <var389:MClass> */
3666 if (unlikely(var394
== NULL
)) {
3667 if(catchStack
.cursor
>= 0){
3668 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3670 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
3671 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 472);
3675 RET_LABEL393
:(void)0;
3680 var396
= nitc__model___core__Sys___abstract_kind(var395
);
3683 { /* Inline kernel$Object$!= (var392,var396) on <var392:MClassKind> */
3684 var_other27
= var396
;
3686 var399
= ((short int(*)(val
* self
, val
* p0
))(var392
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var392
, var_other27
); /* == on <var392:MClassKind>*/
3691 RET_LABEL398
:(void)0;
3701 { /* Inline model$MClassType$mclass (var_ret) on <var_ret:nullable MType(MClassType)> */
3702 var404
= var_ret
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var_ret:nullable MType(MClassType)> */
3703 if (unlikely(var404
== NULL
)) {
3704 if(catchStack
.cursor
>= 0){
3705 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3707 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3708 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1197);
3712 RET_LABEL403
:(void)0;
3716 { /* Inline model$MClass$kind (var402) on <var402:MClass> */
3717 var407
= var402
->attrs
[COLOR_nitc__model__MClass___kind
].val
; /* _kind on <var402:MClass> */
3718 if (unlikely(var407
== NULL
)) {
3719 if(catchStack
.cursor
>= 0){
3720 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3722 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
3723 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 472);
3727 RET_LABEL406
:(void)0;
3732 var409
= nitc__model___core__Sys___interface_kind(var408
);
3735 { /* Inline kernel$Object$!= (var405,var409) on <var405:MClassKind> */
3736 var_other27
= var409
;
3738 var412
= ((short int(*)(val
* self
, val
* p0
))(var405
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var405
, var_other27
); /* == on <var405:MClassKind>*/
3743 RET_LABEL411
:(void)0;
3752 nitc___nitc__RapidTypeVisitor___add_type(var_v
, var_ret
); /* Direct call rapid_type_analysis$RapidTypeVisitor$add_type on <var_v:RapidTypeVisitor>*/
3759 nitc___nitc__Visitor___enter_visit(var_v
, var_npropdef
); /* Direct call parser_nodes$Visitor$enter_visit on <var_v:RapidTypeVisitor>*/
3762 goto BREAK_label414
;
3764 BREAK_label
: (void)0;
3766 BREAK_label414
: (void)0;
3767 var415
= NEW_core__List(&type_core__List__nitc__MClassType
);
3769 { /* Inline list$List$init (var415) on <var415:List[MClassType]> */
3771 ((void(*)(val
* self
))(var415
->class->vft
[COLOR_core___core__List___core__kernel__Object__init
]))(var415
); /* init on <var415:List[MClassType]>*/
3773 RET_LABEL416
:(void)0;
3776 var_todo_types
= var415
;
3778 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_types (self) on <self:RapidTypeAnalysis> */
3779 var419
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_types
].val
; /* _live_types on <self:RapidTypeAnalysis> */
3780 if (unlikely(var419
== NULL
)) {
3781 if(catchStack
.cursor
>= 0){
3782 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3784 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_types");
3785 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 60);
3789 RET_LABEL418
:(void)0;
3793 core___core__SimpleCollection___add_all(var_todo_types
, var417
); /* Direct call abstract_collection$SimpleCollection$add_all on <var_todo_types:List[MClassType]>*/
3797 var420
= core___core__List___core__abstract_collection__Collection__is_empty(var_todo_types
);
3802 var422
= core___core__List___core__abstract_collection__Sequence__shift(var_todo_types
);
3806 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_open_types (self) on <self:RapidTypeAnalysis> */
3807 var425
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_open_types
].val
; /* _live_open_types on <self:RapidTypeAnalysis> */
3808 if (unlikely(var425
== NULL
)) {
3809 if(catchStack
.cursor
>= 0){
3810 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3812 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_open_types");
3813 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 65);
3817 RET_LABEL424
:(void)0;
3822 var427
= core___core__HashSet___core__abstract_collection__Collection__iterator(var_426
);
3827 var429
= ((short int(*)(val
* self
))((((long)var_428
&3)?class_info
[((long)var_428
&3)]:var_428
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_428
); /* is_ok on <var_428:Iterator[MClassType]>*/
3831 goto BREAK_label430
;
3834 var431
= ((val
*(*)(val
* self
))((((long)var_428
&3)?class_info
[((long)var_428
&3)]:var_428
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_428
); /* item on <var_428:Iterator[MClassType]>*/
3838 { /* Inline rapid_type_analysis$RapidTypeAnalysis$mainmodule (self) on <self:RapidTypeAnalysis> */
3839 var434
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___mainmodule
].val
; /* _mainmodule on <self:RapidTypeAnalysis> */
3840 if (unlikely(var434
== NULL
)) {
3841 if(catchStack
.cursor
>= 0){
3842 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3844 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
3845 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 56);
3849 RET_LABEL433
:(void)0;
3853 var435
= ((short int(*)(val
* self
, val
* p0
, val
* p1
, val
* p2
))(var_ot
->class->vft
[COLOR_nitc__model__MType__can_resolve_for
]))(var_ot
, var_t
, var_t
, var432
); /* can_resolve_for on <var_ot:MClassType>*/
3857 goto BREAK_label437
;
3861 { /* Inline rapid_type_analysis$RapidTypeAnalysis$mainmodule (self) on <self:RapidTypeAnalysis> */
3862 var440
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___mainmodule
].val
; /* _mainmodule on <self:RapidTypeAnalysis> */
3863 if (unlikely(var440
== NULL
)) {
3864 if(catchStack
.cursor
>= 0){
3865 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3867 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
3868 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 56);
3872 RET_LABEL439
:(void)0;
3876 var441
= nitc___nitc__MClassType___MType__anchor_to(var_ot
, var438
, var_t
);
3880 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_types (self) on <self:RapidTypeAnalysis> */
3881 var444
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_types
].val
; /* _live_types on <self:RapidTypeAnalysis> */
3882 if (unlikely(var444
== NULL
)) {
3883 if(catchStack
.cursor
>= 0){
3884 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3886 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_types");
3887 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 60);
3891 RET_LABEL443
:(void)0;
3895 var445
= core___core__HashSet___core__abstract_collection__Collection__has(var442
, var_rt
);
3898 goto BREAK_label437
;
3902 { /* Inline rapid_type_analysis$RapidTypeAnalysis$mainmodule (self) on <self:RapidTypeAnalysis> */
3903 var448
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___mainmodule
].val
; /* _mainmodule on <self:RapidTypeAnalysis> */
3904 if (unlikely(var448
== NULL
)) {
3905 if(catchStack
.cursor
>= 0){
3906 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3908 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
3909 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 56);
3913 RET_LABEL447
:(void)0;
3917 var449
= ((short int(*)(val
* self
, val
* p0
, val
* p1
))(var_rt
->class->vft
[COLOR_nitc__model__MType__is_legal_in
]))(var_rt
, var446
, ((val
*)NULL
)); /* is_legal_in on <var_rt:MClassType>*/
3921 goto BREAK_label437
;
3925 var451
= nitc___nitc__RapidTypeAnalysis___check_depth(self
, var_rt
);
3929 goto BREAK_label437
;
3933 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_types (self) on <self:RapidTypeAnalysis> */
3934 var455
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_types
].val
; /* _live_types on <self:RapidTypeAnalysis> */
3935 if (unlikely(var455
== NULL
)) {
3936 if(catchStack
.cursor
>= 0){
3937 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3939 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_types");
3940 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 60);
3944 RET_LABEL454
:(void)0;
3948 core___core__HashSet___core__abstract_collection__SimpleCollection__add(var453
, var_rt
); /* Direct call hash_collection$HashSet$add on <var453:HashSet[MClassType]>*/
3951 core___core__List___core__abstract_collection__Sequence__unshift(var_todo_types
, var_rt
); /* Direct call list$List$unshift on <var_todo_types:List[MClassType]>*/
3953 BREAK_label437
: (void)0;
3955 ((void(*)(val
* self
))((((long)var_428
&3)?class_info
[((long)var_428
&3)]:var_428
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_428
); /* next on <var_428:Iterator[MClassType]>*/
3958 BREAK_label430
: (void)0;
3960 ((void(*)(val
* self
))((((long)var_428
&3)?class_info
[((long)var_428
&3)]:var_428
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_428
); /* finish on <var_428:Iterator[MClassType]>*/
3963 goto BREAK_label456
;
3966 BREAK_label456
: (void)0;
3968 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_open_cast_types (self) on <self:RapidTypeAnalysis> */
3969 var459
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_open_cast_types
].val
; /* _live_open_cast_types on <self:RapidTypeAnalysis> */
3970 if (unlikely(var459
== NULL
)) {
3971 if(catchStack
.cursor
>= 0){
3972 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3974 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_open_cast_types");
3975 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 75);
3979 RET_LABEL458
:(void)0;
3984 var461
= core___core__HashSet___core__abstract_collection__Collection__iterator(var_460
);
3989 var463
= ((short int(*)(val
* self
))((((long)var_462
&3)?class_info
[((long)var_462
&3)]:var_462
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_462
); /* is_ok on <var_462:Iterator[MType]>*/
3993 goto BREAK_label464
;
3996 var465
= ((val
*(*)(val
* self
))((((long)var_462
&3)?class_info
[((long)var_462
&3)]:var_462
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_462
); /* item on <var_462:Iterator[MType]>*/
4000 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_types (self) on <self:RapidTypeAnalysis> */
4001 var469
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_types
].val
; /* _live_types on <self:RapidTypeAnalysis> */
4002 if (unlikely(var469
== NULL
)) {
4003 if(catchStack
.cursor
>= 0){
4004 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4006 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_types");
4007 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 60);
4011 RET_LABEL468
:(void)0;
4016 var471
= core___core__HashSet___core__abstract_collection__Collection__iterator(var_470
);
4021 var473
= ((short int(*)(val
* self
))((((long)var_472
&3)?class_info
[((long)var_472
&3)]:var_472
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_472
); /* is_ok on <var_472:Iterator[MClassType]>*/
4025 goto BREAK_label474
;
4028 var475
= ((val
*(*)(val
* self
))((((long)var_472
&3)?class_info
[((long)var_472
&3)]:var_472
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_472
); /* item on <var_472:Iterator[MClassType]>*/
4032 { /* Inline rapid_type_analysis$RapidTypeAnalysis$mainmodule (self) on <self:RapidTypeAnalysis> */
4033 var479
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___mainmodule
].val
; /* _mainmodule on <self:RapidTypeAnalysis> */
4034 if (unlikely(var479
== NULL
)) {
4035 if(catchStack
.cursor
>= 0){
4036 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4038 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
4039 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 56);
4043 RET_LABEL478
:(void)0;
4047 var480
= ((short int(*)(val
* self
, val
* p0
, val
* p1
, val
* p2
))(var_ot466
->class->vft
[COLOR_nitc__model__MType__can_resolve_for
]))(var_ot466
, var_t476
, var_t476
, var477
); /* can_resolve_for on <var_ot466:MType>*/
4051 goto BREAK_label482
;
4055 { /* Inline rapid_type_analysis$RapidTypeAnalysis$mainmodule (self) on <self:RapidTypeAnalysis> */
4056 var485
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___mainmodule
].val
; /* _mainmodule on <self:RapidTypeAnalysis> */
4057 if (unlikely(var485
== NULL
)) {
4058 if(catchStack
.cursor
>= 0){
4059 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4061 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
4062 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 56);
4066 RET_LABEL484
:(void)0;
4070 var486
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
))(var_ot466
->class->vft
[COLOR_nitc__model__MType__anchor_to
]))(var_ot466
, var483
, var_t476
); /* anchor_to on <var_ot466:MType>*/
4074 { /* Inline rapid_type_analysis$RapidTypeAnalysis$mainmodule (self) on <self:RapidTypeAnalysis> */
4075 var490
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___mainmodule
].val
; /* _mainmodule on <self:RapidTypeAnalysis> */
4076 if (unlikely(var490
== NULL
)) {
4077 if(catchStack
.cursor
>= 0){
4078 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4080 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
4081 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 56);
4085 RET_LABEL489
:(void)0;
4089 var491
= ((short int(*)(val
* self
, val
* p0
, val
* p1
))(var_rt487
->class->vft
[COLOR_nitc__model__MType__is_legal_in
]))(var_rt487
, var488
, ((val
*)NULL
)); /* is_legal_in on <var_rt487:MType>*/
4093 goto BREAK_label482
;
4097 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_cast_types (self) on <self:RapidTypeAnalysis> */
4098 var495
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_cast_types
].val
; /* _live_cast_types on <self:RapidTypeAnalysis> */
4099 if (unlikely(var495
== NULL
)) {
4100 if(catchStack
.cursor
>= 0){
4101 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4103 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_cast_types");
4104 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 72);
4108 RET_LABEL494
:(void)0;
4112 core___core__HashSet___core__abstract_collection__SimpleCollection__add(var493
, var_rt487
); /* Direct call hash_collection$HashSet$add on <var493:HashSet[MType]>*/
4114 BREAK_label482
: (void)0;
4116 ((void(*)(val
* self
))((((long)var_472
&3)?class_info
[((long)var_472
&3)]:var_472
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_472
); /* next on <var_472:Iterator[MClassType]>*/
4119 BREAK_label474
: (void)0;
4121 ((void(*)(val
* self
))((((long)var_472
&3)?class_info
[((long)var_472
&3)]:var_472
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_472
); /* finish on <var_472:Iterator[MClassType]>*/
4124 ((void(*)(val
* self
))((((long)var_462
&3)?class_info
[((long)var_462
&3)]:var_462
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_462
); /* next on <var_462:Iterator[MType]>*/
4127 BREAK_label464
: (void)0;
4129 ((void(*)(val
* self
))((((long)var_462
&3)?class_info
[((long)var_462
&3)]:var_462
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_462
); /* finish on <var_462:Iterator[MType]>*/
4133 /* method rapid_type_analysis$RapidTypeAnalysis$check_depth for (self: RapidTypeAnalysis, MClassType): Bool */
4134 short int nitc___nitc__RapidTypeAnalysis___check_depth(val
* self
, val
* p0
) {
4135 short int var
/* : Bool */;
4136 val
* var_mtype
/* var mtype: MClassType */;
4137 long var1
/* : Int */;
4138 long var_d
/* var d: Int */;
4139 short int var2
/* : Bool */;
4140 short int var4
/* : Bool */;
4143 const char* var_class_name
;
4144 short int var5
/* : Bool */;
4145 val
* var6
/* : ModelBuilder */;
4146 val
* var8
/* : ModelBuilder */;
4147 val
* var9
/* : ToolContext */;
4148 val
* var11
/* : ToolContext */;
4149 val
* var12
/* : NativeArray[String] */;
4150 static val
* varonce
;
4151 static val
* varonce13
;
4152 val
* var14
/* : String */;
4153 char* var15
/* : CString */;
4154 val
* var16
/* : String */;
4155 val
* var17
/* : nullable Int */;
4156 val
* var18
/* : nullable Int */;
4157 val
* var19
/* : nullable Bool */;
4158 val
* var20
/* : nullable Bool */;
4159 static val
* varonce21
;
4160 val
* var22
/* : String */;
4161 char* var23
/* : CString */;
4162 val
* var24
/* : String */;
4163 val
* var25
/* : nullable Int */;
4164 val
* var26
/* : nullable Int */;
4165 val
* var27
/* : nullable Bool */;
4166 val
* var28
/* : nullable Bool */;
4167 static val
* varonce29
;
4168 val
* var30
/* : String */;
4169 char* var31
/* : CString */;
4170 val
* var32
/* : String */;
4171 val
* var33
/* : nullable Int */;
4172 val
* var34
/* : nullable Int */;
4173 val
* var35
/* : nullable Bool */;
4174 val
* var36
/* : nullable Bool */;
4175 val
* var37
/* : String */;
4176 val
* var38
/* : String */;
4177 val
* var39
/* : String */;
4180 var1
= ((long(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nitc__model__MType__length
]))(var_mtype
); /* length on <var_mtype:MClassType>*/
4184 { /* Inline kernel$Int$> (var_d,255l) on <var_d:Int> */
4185 /* Covariant cast for argument 0 (i) <255l:Int> isa OTHER */
4186 /* <255l:Int> isa OTHER */
4187 var4
= 1; /* easy <255l:Int> isa OTHER*/
4188 if (unlikely(!var4
)) {
4189 var_class_name
= type_core__Int
.name
;
4190 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
4191 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 727);
4194 var5
= var_d
> 255l;
4202 { /* Inline rapid_type_analysis$RapidTypeAnalysis$modelbuilder (self) on <self:RapidTypeAnalysis> */
4203 var8
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___modelbuilder
].val
; /* _modelbuilder on <self:RapidTypeAnalysis> */
4204 if (unlikely(var8
== NULL
)) {
4205 if(catchStack
.cursor
>= 0){
4206 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4208 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
4209 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 53);
4217 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (var6) on <var6:ModelBuilder> */
4218 var11
= var6
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var6:ModelBuilder> */
4219 if (unlikely(var11
== NULL
)) {
4220 if(catchStack
.cursor
>= 0){
4221 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4223 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4224 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
4228 RET_LABEL10
:(void)0;
4231 if (unlikely(varonce
==NULL
)) {
4232 var12
= NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String
);
4233 if (likely(varonce13
!=NULL
)) {
4236 var15
= "Fatal Error: limitation in the rapidtype analysis engine: a type depth of ";
4237 var17
= (val
*)(74l<<2|1);
4238 var18
= (val
*)(74l<<2|1);
4239 var19
= (val
*)((long)(0)<<2|3);
4240 var20
= (val
*)((long)(0)<<2|3);
4241 var16
= core__flat___CString___to_s_unsafe(var15
, var17
, var18
, var19
, var20
);
4245 ((struct instance_core__NativeArray
*)var12
)->values
[0]=var14
;
4246 if (likely(varonce21
!=NULL
)) {
4249 var23
= " is too important, the problematic type is `";
4250 var25
= (val
*)(44l<<2|1);
4251 var26
= (val
*)(44l<<2|1);
4252 var27
= (val
*)((long)(0)<<2|3);
4253 var28
= (val
*)((long)(0)<<2|3);
4254 var24
= core__flat___CString___to_s_unsafe(var23
, var25
, var26
, var27
, var28
);
4258 ((struct instance_core__NativeArray
*)var12
)->values
[2]=var22
;
4259 if (likely(varonce29
!=NULL
)) {
4263 var33
= (val
*)(2l<<2|1);
4264 var34
= (val
*)(2l<<2|1);
4265 var35
= (val
*)((long)(0)<<2|3);
4266 var36
= (val
*)((long)(0)<<2|3);
4267 var32
= core__flat___CString___to_s_unsafe(var31
, var33
, var34
, var35
, var36
);
4271 ((struct instance_core__NativeArray
*)var12
)->values
[4]=var30
;
4276 var37
= core__flat___Int___core__abstract_text__Object__to_s(var_d
);
4277 ((struct instance_core__NativeArray
*)var12
)->values
[1]=var37
;
4279 var38
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mtype
); /* to_s on <var_mtype:MClassType>*/
4281 ((struct instance_core__NativeArray
*)var12
)->values
[3]=var38
;
4283 var39
= ((val
*(*)(val
* self
))(var12
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var12
); /* native_to_s on <var12:NativeArray[String]>*/
4287 nitc___nitc__ToolContext___fatal_error(var9
, ((val
*)NULL
), var39
); /* Direct call toolcontext$ToolContext$fatal_error on <var9:ToolContext>*/
4298 /* method rapid_type_analysis$RapidTypeAnalysis$add_new for (self: RapidTypeAnalysis, MClassType, MClassType) */
4299 void nitc___nitc__RapidTypeAnalysis___add_new(val
* self
, val
* p0
, val
* p1
) {
4300 val
* var_recv
/* var recv: MClassType */;
4301 val
* var_mtype
/* var mtype: MClassType */;
4302 short int var
/* : Bool */;
4303 short int var1
/* : Bool */;
4304 short int var2
/* : Bool */;
4305 val
* var3
/* : HashSet[MClassType] */;
4306 val
* var5
/* : HashSet[MClassType] */;
4307 short int var6
/* : Bool */;
4308 val
* var7
/* : HashSet[MClassType] */;
4309 val
* var9
/* : HashSet[MClassType] */;
4310 val
* var10
/* : HashSet[MClassType] */;
4311 val
* var12
/* : HashSet[MClassType] */;
4312 short int var13
/* : Bool */;
4313 val
* var14
/* : HashSet[MClassType] */;
4314 val
* var16
/* : HashSet[MClassType] */;
4315 val
* var17
/* : MClass */;
4316 val
* var19
/* : MClass */;
4317 val
* var_mclass
/* var mclass: MClass */;
4318 val
* var20
/* : HashSet[MClass] */;
4319 val
* var22
/* : HashSet[MClass] */;
4320 short int var23
/* : Bool */;
4321 val
* var24
/* : HashSet[MClass] */;
4322 val
* var26
/* : HashSet[MClass] */;
4323 val
* var27
/* : HashSet[MMethod] */;
4324 val
* var29
/* : HashSet[MMethod] */;
4325 val
* var_
/* var : HashSet[MMethod] */;
4326 val
* var30
/* : Iterator[nullable Object] */;
4327 val
* var_31
/* var : Iterator[MMethod] */;
4328 short int var32
/* : Bool */;
4329 val
* var33
/* : nullable Object */;
4330 val
* var_p
/* var p: MMethod */;
4331 val
* var34
/* : HashSet[MMethodDef] */;
4332 val
* var36
/* : HashSet[MMethodDef] */;
4333 val
* var_37
/* var : HashSet[MMethodDef] */;
4334 val
* var38
/* : Iterator[nullable Object] */;
4335 val
* var_39
/* var : Iterator[MMethodDef] */;
4336 short int var40
/* : Bool */;
4337 val
* var42
/* : nullable Object */;
4338 val
* var_p43
/* var p: MMethodDef */;
4339 val
* var44
/* : Array[MMethod] */;
4340 val
* var46
/* : Array[MMethod] */;
4341 val
* var_47
/* var : Array[MMethod] */;
4342 val
* var48
/* : IndexedIterator[nullable Object] */;
4343 val
* var_49
/* var : IndexedIterator[MMethod] */;
4344 short int var50
/* : Bool */;
4345 val
* var52
/* : nullable Object */;
4346 val
* var_p53
/* var p: MMethod */;
4347 val
* var54
/* : HashSet[MMethod] */;
4348 val
* var56
/* : HashSet[MMethod] */;
4349 val
* var57
/* : Array[MMethod] */;
4350 val
* var59
/* : Array[MMethod] */;
4351 val
* var60
/* : MModule */;
4352 val
* var62
/* : MModule */;
4353 val
* var63
/* : MClassType */;
4354 val
* var_bound_mtype
/* var bound_mtype: MClassType */;
4355 val
* var64
/* : MModule */;
4356 val
* var66
/* : MModule */;
4357 val
* var67
/* : Set[MClassDef] */;
4358 val
* var_68
/* var : Set[MClassDef] */;
4359 val
* var69
/* : Iterator[nullable Object] */;
4360 val
* var_70
/* var : Iterator[MClassDef] */;
4361 short int var71
/* : Bool */;
4362 val
* var73
/* : nullable Object */;
4363 val
* var_cd
/* var cd: MClassDef */;
4364 val
* var74
/* : ModelBuilder */;
4365 val
* var76
/* : ModelBuilder */;
4366 val
* var77
/* : Array[AAttrPropdef] */;
4367 val
* var_78
/* var : Array[AAttrPropdef] */;
4368 val
* var79
/* : IndexedIterator[nullable Object] */;
4369 val
* var_80
/* var : IndexedIterator[AAttrPropdef] */;
4370 short int var81
/* : Bool */;
4371 val
* var83
/* : nullable Object */;
4372 val
* var_npropdef
/* var npropdef: AAttrPropdef */;
4373 short int var84
/* : Bool */;
4374 short int var86
/* : Bool */;
4375 short int var87
/* : Bool */;
4376 val
* var89
/* : nullable MMethodDef */;
4377 val
* var91
/* : nullable MMethodDef */;
4378 val
* var_mpropdef
/* var mpropdef: MMethodDef */;
4379 val
* var92
/* : RapidTypeVisitor */;
4380 val
* var_v
/* var v: RapidTypeVisitor */;
4381 val
* var93
/* : nullable AExpr */;
4382 val
* var95
/* : nullable AExpr */;
4383 val
* var96
/* : nullable AExpr */;
4384 val
* var98
/* : nullable AExpr */;
4388 var
= ((short int(*)(val
* self
))(var_recv
->class->vft
[COLOR_nitc__model__MType__need_anchor
]))(var_recv
); /* need_anchor on <var_recv:MClassType>*/
4391 if (unlikely(!var1
)) {
4392 if(catchStack
.cursor
>= 0){
4393 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4395 PRINT_ERROR("Runtime error: %s", "Assert failed");
4396 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 353);
4400 var2
= ((short int(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nitc__model__MType__need_anchor
]))(var_mtype
); /* need_anchor on <var_mtype:MClassType>*/
4404 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_open_types (self) on <self:RapidTypeAnalysis> */
4405 var5
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_open_types
].val
; /* _live_open_types on <self:RapidTypeAnalysis> */
4406 if (unlikely(var5
== NULL
)) {
4407 if(catchStack
.cursor
>= 0){
4408 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4410 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_open_types");
4411 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 65);
4419 var6
= core___core__HashSet___core__abstract_collection__Collection__has(var3
, var_mtype
);
4426 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_open_types (self) on <self:RapidTypeAnalysis> */
4427 var9
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_open_types
].val
; /* _live_open_types on <self:RapidTypeAnalysis> */
4428 if (unlikely(var9
== NULL
)) {
4429 if(catchStack
.cursor
>= 0){
4430 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4432 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_open_types");
4433 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 65);
4441 core___core__HashSet___core__abstract_collection__SimpleCollection__add(var7
, var_mtype
); /* Direct call hash_collection$HashSet$add on <var7:HashSet[MClassType]>*/
4445 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_types (self) on <self:RapidTypeAnalysis> */
4446 var12
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_types
].val
; /* _live_types on <self:RapidTypeAnalysis> */
4447 if (unlikely(var12
== NULL
)) {
4448 if(catchStack
.cursor
>= 0){
4449 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4451 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_types");
4452 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 60);
4456 RET_LABEL11
:(void)0;
4460 var13
= core___core__HashSet___core__abstract_collection__Collection__has(var10
, var_mtype
);
4467 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_types (self) on <self:RapidTypeAnalysis> */
4468 var16
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_types
].val
; /* _live_types on <self:RapidTypeAnalysis> */
4469 if (unlikely(var16
== NULL
)) {
4470 if(catchStack
.cursor
>= 0){
4471 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4473 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_types");
4474 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 60);
4478 RET_LABEL15
:(void)0;
4482 core___core__HashSet___core__abstract_collection__SimpleCollection__add(var14
, var_mtype
); /* Direct call hash_collection$HashSet$add on <var14:HashSet[MClassType]>*/
4486 { /* Inline model$MClassType$mclass (var_mtype) on <var_mtype:MClassType> */
4487 var19
= var_mtype
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MClassType> */
4488 if (unlikely(var19
== NULL
)) {
4489 if(catchStack
.cursor
>= 0){
4490 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4492 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4493 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1197);
4497 RET_LABEL18
:(void)0;
4502 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_classes (self) on <self:RapidTypeAnalysis> */
4503 var22
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_classes
].val
; /* _live_classes on <self:RapidTypeAnalysis> */
4504 if (unlikely(var22
== NULL
)) {
4505 if(catchStack
.cursor
>= 0){
4506 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4508 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_classes");
4509 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 69);
4513 RET_LABEL21
:(void)0;
4517 var23
= core___core__HashSet___core__abstract_collection__Collection__has(var20
, var_mclass
);
4524 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_classes (self) on <self:RapidTypeAnalysis> */
4525 var26
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_classes
].val
; /* _live_classes on <self:RapidTypeAnalysis> */
4526 if (unlikely(var26
== NULL
)) {
4527 if(catchStack
.cursor
>= 0){
4528 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4530 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_classes");
4531 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 69);
4535 RET_LABEL25
:(void)0;
4539 core___core__HashSet___core__abstract_collection__SimpleCollection__add(var24
, var_mclass
); /* Direct call hash_collection$HashSet$add on <var24:HashSet[MClass]>*/
4542 { /* Inline rapid_type_analysis$RapidTypeAnalysis$totry_methods (self) on <self:RapidTypeAnalysis> */
4543 var29
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___totry_methods
].val
; /* _totry_methods on <self:RapidTypeAnalysis> */
4544 if (unlikely(var29
== NULL
)) {
4545 if(catchStack
.cursor
>= 0){
4546 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4548 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _totry_methods");
4549 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 173);
4553 RET_LABEL28
:(void)0;
4558 var30
= core___core__HashSet___core__abstract_collection__Collection__iterator(var_
);
4563 var32
= ((short int(*)(val
* self
))((((long)var_31
&3)?class_info
[((long)var_31
&3)]:var_31
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_31
); /* is_ok on <var_31:Iterator[MMethod]>*/
4570 var33
= ((val
*(*)(val
* self
))((((long)var_31
&3)?class_info
[((long)var_31
&3)]:var_31
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_31
); /* item on <var_31:Iterator[MMethod]>*/
4574 nitc___nitc__RapidTypeAnalysis___try_send(self
, var_mtype
, var_p
); /* Direct call rapid_type_analysis$RapidTypeAnalysis$try_send on <self:RapidTypeAnalysis>*/
4577 ((void(*)(val
* self
))((((long)var_31
&3)?class_info
[((long)var_31
&3)]:var_31
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_31
); /* next on <var_31:Iterator[MMethod]>*/
4580 BREAK_label
: (void)0;
4582 ((void(*)(val
* self
))((((long)var_31
&3)?class_info
[((long)var_31
&3)]:var_31
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_31
); /* finish on <var_31:Iterator[MMethod]>*/
4585 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_super_sends (self) on <self:RapidTypeAnalysis> */
4586 var36
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_super_sends
].val
; /* _live_super_sends on <self:RapidTypeAnalysis> */
4587 if (unlikely(var36
== NULL
)) {
4588 if(catchStack
.cursor
>= 0){
4589 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4591 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_super_sends");
4592 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 118);
4596 RET_LABEL35
:(void)0;
4601 var38
= core___core__HashSet___core__abstract_collection__Collection__iterator(var_37
);
4606 var40
= ((short int(*)(val
* self
))((((long)var_39
&3)?class_info
[((long)var_39
&3)]:var_39
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_39
); /* is_ok on <var_39:Iterator[MMethodDef]>*/
4613 var42
= ((val
*(*)(val
* self
))((((long)var_39
&3)?class_info
[((long)var_39
&3)]:var_39
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_39
); /* item on <var_39:Iterator[MMethodDef]>*/
4617 nitc___nitc__RapidTypeAnalysis___try_super_send(self
, var_mtype
, var_p43
); /* Direct call rapid_type_analysis$RapidTypeAnalysis$try_super_send on <self:RapidTypeAnalysis>*/
4620 ((void(*)(val
* self
))((((long)var_39
&3)?class_info
[((long)var_39
&3)]:var_39
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_39
); /* next on <var_39:Iterator[MMethodDef]>*/
4623 BREAK_label41
: (void)0;
4625 ((void(*)(val
* self
))((((long)var_39
&3)?class_info
[((long)var_39
&3)]:var_39
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_39
); /* finish on <var_39:Iterator[MMethodDef]>*/
4628 { /* Inline rapid_type_analysis$RapidTypeAnalysis$totry_methods_to_remove (self) on <self:RapidTypeAnalysis> */
4629 var46
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___totry_methods_to_remove
].val
; /* _totry_methods_to_remove on <self:RapidTypeAnalysis> */
4630 if (unlikely(var46
== NULL
)) {
4631 if(catchStack
.cursor
>= 0){
4632 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4634 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _totry_methods_to_remove");
4635 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 176);
4639 RET_LABEL45
:(void)0;
4644 var48
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_47
);
4649 var50
= ((short int(*)(val
* self
))((((long)var_49
&3)?class_info
[((long)var_49
&3)]:var_49
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_49
); /* is_ok on <var_49:IndexedIterator[MMethod]>*/
4656 var52
= ((val
*(*)(val
* self
))((((long)var_49
&3)?class_info
[((long)var_49
&3)]:var_49
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_49
); /* item on <var_49:IndexedIterator[MMethod]>*/
4660 { /* Inline rapid_type_analysis$RapidTypeAnalysis$totry_methods (self) on <self:RapidTypeAnalysis> */
4661 var56
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___totry_methods
].val
; /* _totry_methods on <self:RapidTypeAnalysis> */
4662 if (unlikely(var56
== NULL
)) {
4663 if(catchStack
.cursor
>= 0){
4664 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4666 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _totry_methods");
4667 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 173);
4671 RET_LABEL55
:(void)0;
4675 core___core__HashSet___core__abstract_collection__RemovableCollection__remove(var54
, var_p53
); /* Direct call hash_collection$HashSet$remove on <var54:HashSet[MMethod]>*/
4678 ((void(*)(val
* self
))((((long)var_49
&3)?class_info
[((long)var_49
&3)]:var_49
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_49
); /* next on <var_49:IndexedIterator[MMethod]>*/
4681 BREAK_label51
: (void)0;
4683 ((void(*)(val
* self
))((((long)var_49
&3)?class_info
[((long)var_49
&3)]:var_49
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_49
); /* finish on <var_49:IndexedIterator[MMethod]>*/
4686 { /* Inline rapid_type_analysis$RapidTypeAnalysis$totry_methods_to_remove (self) on <self:RapidTypeAnalysis> */
4687 var59
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___totry_methods_to_remove
].val
; /* _totry_methods_to_remove on <self:RapidTypeAnalysis> */
4688 if (unlikely(var59
== NULL
)) {
4689 if(catchStack
.cursor
>= 0){
4690 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4692 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _totry_methods_to_remove");
4693 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 176);
4697 RET_LABEL58
:(void)0;
4701 core___core__AbstractArray___core__abstract_collection__RemovableCollection__clear(var57
); /* Direct call array$AbstractArray$clear on <var57:Array[MMethod]>*/
4704 { /* Inline rapid_type_analysis$RapidTypeAnalysis$mainmodule (self) on <self:RapidTypeAnalysis> */
4705 var62
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___mainmodule
].val
; /* _mainmodule on <self:RapidTypeAnalysis> */
4706 if (unlikely(var62
== NULL
)) {
4707 if(catchStack
.cursor
>= 0){
4708 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4710 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
4711 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 56);
4715 RET_LABEL61
:(void)0;
4719 var63
= nitc___nitc__MClassType___MType__anchor_to(var_mtype
, var60
, var_recv
);
4721 var_bound_mtype
= var63
;
4723 { /* Inline rapid_type_analysis$RapidTypeAnalysis$mainmodule (self) on <self:RapidTypeAnalysis> */
4724 var66
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___mainmodule
].val
; /* _mainmodule on <self:RapidTypeAnalysis> */
4725 if (unlikely(var66
== NULL
)) {
4726 if(catchStack
.cursor
>= 0){
4727 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4729 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
4730 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 56);
4734 RET_LABEL65
:(void)0;
4738 var67
= nitc___nitc__MClassType___MType__collect_mclassdefs(var_bound_mtype
, var64
);
4742 var69
= ((val
*(*)(val
* self
))((((long)var_68
&3)?class_info
[((long)var_68
&3)]:var_68
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_68
); /* iterator on <var_68:Set[MClassDef]>*/
4747 var71
= ((short int(*)(val
* self
))((((long)var_70
&3)?class_info
[((long)var_70
&3)]:var_70
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_70
); /* is_ok on <var_70:Iterator[MClassDef]>*/
4754 var73
= ((val
*(*)(val
* self
))((((long)var_70
&3)?class_info
[((long)var_70
&3)]:var_70
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_70
); /* item on <var_70:Iterator[MClassDef]>*/
4758 { /* Inline rapid_type_analysis$RapidTypeAnalysis$modelbuilder (self) on <self:RapidTypeAnalysis> */
4759 var76
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___modelbuilder
].val
; /* _modelbuilder on <self:RapidTypeAnalysis> */
4760 if (unlikely(var76
== NULL
)) {
4761 if(catchStack
.cursor
>= 0){
4762 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4764 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
4765 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 53);
4769 RET_LABEL75
:(void)0;
4773 var77
= nitc__modelize_property___ModelBuilder___collect_attr_propdef(var74
, var_cd
);
4777 var79
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_78
);
4782 var81
= ((short int(*)(val
* self
))((((long)var_80
&3)?class_info
[((long)var_80
&3)]:var_80
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_80
); /* is_ok on <var_80:IndexedIterator[AAttrPropdef]>*/
4789 var83
= ((val
*(*)(val
* self
))((((long)var_80
&3)?class_info
[((long)var_80
&3)]:var_80
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_80
); /* item on <var_80:IndexedIterator[AAttrPropdef]>*/
4791 var_npropdef
= var83
;
4793 { /* Inline modelize_property$AAttrPropdef$has_value (var_npropdef) on <var_npropdef:AAttrPropdef> */
4794 var86
= var_npropdef
->attrs
[COLOR_nitc__modelize_property__AAttrPropdef___has_value
].s
; /* _has_value on <var_npropdef:AAttrPropdef> */
4796 RET_LABEL85
:(void)0;
4805 { /* Inline modelize_property$AAttrPropdef$mreadpropdef (var_npropdef) on <var_npropdef:AAttrPropdef> */
4806 var91
= var_npropdef
->attrs
[COLOR_nitc__modelize_property__AAttrPropdef___mreadpropdef
].val
; /* _mreadpropdef on <var_npropdef:AAttrPropdef> */
4808 RET_LABEL90
:(void)0;
4811 if (unlikely(var89
== NULL
)) {
4812 if(catchStack
.cursor
>= 0){
4813 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4815 PRINT_ERROR("Runtime error: %s", "Cast failed");
4816 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 379);
4819 var_mpropdef
= var89
;
4820 var92
= NEW_nitc__RapidTypeVisitor(&type_nitc__RapidTypeVisitor
);
4822 ((void(*)(val
* self
, val
* p0
))(var92
->class->vft
[COLOR_nitc__rapid_type_analysis__RapidTypeVisitor__analysis_61d
]))(var92
, self
); /* analysis= on <var92:RapidTypeVisitor>*/
4825 ((void(*)(val
* self
, val
* p0
))(var92
->class->vft
[COLOR_nitc__rapid_type_analysis__RapidTypeVisitor__receiver_61d
]))(var92
, var_bound_mtype
); /* receiver= on <var92:RapidTypeVisitor>*/
4828 ((void(*)(val
* self
, val
* p0
))(var92
->class->vft
[COLOR_nitc__rapid_type_analysis__RapidTypeVisitor__mpropdef_61d
]))(var92
, var_mpropdef
); /* mpropdef= on <var92:RapidTypeVisitor>*/
4831 ((void(*)(val
* self
))(var92
->class->vft
[COLOR_core__kernel__Object__init
]))(var92
); /* init on <var92:RapidTypeVisitor>*/
4835 { /* Inline parser_nodes$AAttrPropdef$n_expr (var_npropdef) on <var_npropdef:AAttrPropdef> */
4836 var95
= var_npropdef
->attrs
[COLOR_nitc__parser_nodes__AAttrPropdef___n_expr
].val
; /* _n_expr on <var_npropdef:AAttrPropdef> */
4838 RET_LABEL94
:(void)0;
4842 nitc___nitc__Visitor___enter_visit(var_v
, var93
); /* Direct call parser_nodes$Visitor$enter_visit on <var_v:RapidTypeVisitor>*/
4845 { /* Inline parser_nodes$AAttrPropdef$n_block (var_npropdef) on <var_npropdef:AAttrPropdef> */
4846 var98
= var_npropdef
->attrs
[COLOR_nitc__parser_nodes__AAttrPropdef___n_block
].val
; /* _n_block on <var_npropdef:AAttrPropdef> */
4848 RET_LABEL97
:(void)0;
4852 nitc___nitc__Visitor___enter_visit(var_v
, var96
); /* Direct call parser_nodes$Visitor$enter_visit on <var_v:RapidTypeVisitor>*/
4854 BREAK_label88
: (void)0;
4856 ((void(*)(val
* self
))((((long)var_80
&3)?class_info
[((long)var_80
&3)]:var_80
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_80
); /* next on <var_80:IndexedIterator[AAttrPropdef]>*/
4859 BREAK_label82
: (void)0;
4861 ((void(*)(val
* self
))((((long)var_80
&3)?class_info
[((long)var_80
&3)]:var_80
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_80
); /* finish on <var_80:IndexedIterator[AAttrPropdef]>*/
4864 ((void(*)(val
* self
))((((long)var_70
&3)?class_info
[((long)var_70
&3)]:var_70
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_70
); /* next on <var_70:Iterator[MClassDef]>*/
4867 BREAK_label72
: (void)0;
4869 ((void(*)(val
* self
))((((long)var_70
&3)?class_info
[((long)var_70
&3)]:var_70
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_70
); /* finish on <var_70:Iterator[MClassDef]>*/
4873 /* method rapid_type_analysis$RapidTypeAnalysis$add_cast for (self: RapidTypeAnalysis, MType) */
4874 void nitc___nitc__RapidTypeAnalysis___add_cast(val
* self
, val
* p0
) {
4875 val
* var_mtype
/* var mtype: MType */;
4876 short int var
/* : Bool */;
4877 val
* var1
/* : HashSet[MType] */;
4878 val
* var3
/* : HashSet[MType] */;
4879 val
* var4
/* : HashSet[MType] */;
4880 val
* var6
/* : HashSet[MType] */;
4883 var
= ((short int(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nitc__model__MType__need_anchor
]))(var_mtype
); /* need_anchor on <var_mtype:MType>*/
4887 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_open_cast_types (self) on <self:RapidTypeAnalysis> */
4888 var3
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_open_cast_types
].val
; /* _live_open_cast_types on <self:RapidTypeAnalysis> */
4889 if (unlikely(var3
== NULL
)) {
4890 if(catchStack
.cursor
>= 0){
4891 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4893 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_open_cast_types");
4894 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 75);
4902 core___core__HashSet___core__abstract_collection__SimpleCollection__add(var1
, var_mtype
); /* Direct call hash_collection$HashSet$add on <var1:HashSet[MType]>*/
4906 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_cast_types (self) on <self:RapidTypeAnalysis> */
4907 var6
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_cast_types
].val
; /* _live_cast_types on <self:RapidTypeAnalysis> */
4908 if (unlikely(var6
== NULL
)) {
4909 if(catchStack
.cursor
>= 0){
4910 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4912 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_cast_types");
4913 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 72);
4921 core___core__HashSet___core__abstract_collection__SimpleCollection__add(var4
, var_mtype
); /* Direct call hash_collection$HashSet$add on <var4:HashSet[MType]>*/
4926 /* method rapid_type_analysis$RapidTypeAnalysis$try_send for (self: RapidTypeAnalysis, MClassType, MMethod) */
4927 void nitc___nitc__RapidTypeAnalysis___try_send(val
* self
, val
* p0
, val
* p1
) {
4928 val
* var_recv
/* var recv: MClassType */;
4929 val
* var_mproperty
/* var mproperty: MMethod */;
4930 val
* var
/* : MClass */;
4931 val
* var2
/* : MClass */;
4932 val
* var3
/* : MClassDef */;
4933 val
* var5
/* : MClassDef */;
4934 val
* var6
/* : MClassType */;
4935 val
* var8
/* : MClassType */;
4936 val
* var9
/* : MModule */;
4937 val
* var11
/* : MModule */;
4938 short int var12
/* : Bool */;
4939 short int var13
/* : Bool */;
4940 val
* var14
/* : MModule */;
4941 val
* var16
/* : MModule */;
4942 val
* var17
/* : MPropDef */;
4943 val
* var_d
/* var d: MMethodDef */;
4947 { /* Inline model$MClassType$mclass (var_recv) on <var_recv:MClassType> */
4948 var2
= var_recv
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var_recv:MClassType> */
4949 if (unlikely(var2
== NULL
)) {
4950 if(catchStack
.cursor
>= 0){
4951 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4953 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4954 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1197);
4962 { /* Inline model$MClass$intro (var) on <var:MClass> */
4963 var5
= var
->attrs
[COLOR_nitc__model__MClass___intro
].val
; /* _intro on <var:MClass> */
4964 if (unlikely(var5
== NULL
)) {
4965 if(catchStack
.cursor
>= 0){
4966 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4968 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
4969 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 496);
4977 { /* Inline model$MClassDef$bound_mtype (var3) on <var3:MClassDef> */
4978 var8
= var3
->attrs
[COLOR_nitc__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var3:MClassDef> */
4979 if (unlikely(var8
== NULL
)) {
4980 if(catchStack
.cursor
>= 0){
4981 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4983 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
4984 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 594);
4993 { /* Inline rapid_type_analysis$RapidTypeAnalysis$mainmodule (self) on <self:RapidTypeAnalysis> */
4994 var11
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___mainmodule
].val
; /* _mainmodule on <self:RapidTypeAnalysis> */
4995 if (unlikely(var11
== NULL
)) {
4996 if(catchStack
.cursor
>= 0){
4997 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4999 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
5000 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 56);
5004 RET_LABEL10
:(void)0;
5008 var12
= nitc___nitc__MType___has_mproperty(var_recv
, var9
, var_mproperty
);
5016 { /* Inline rapid_type_analysis$RapidTypeAnalysis$mainmodule (self) on <self:RapidTypeAnalysis> */
5017 var16
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___mainmodule
].val
; /* _mainmodule on <self:RapidTypeAnalysis> */
5018 if (unlikely(var16
== NULL
)) {
5019 if(catchStack
.cursor
>= 0){
5020 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5022 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
5023 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 56);
5027 RET_LABEL15
:(void)0;
5031 var17
= nitc___nitc__MProperty___lookup_first_definition(var_mproperty
, var14
, var_recv
);
5035 nitc___nitc__RapidTypeAnalysis___add_call(self
, var_d
); /* Direct call rapid_type_analysis$RapidTypeAnalysis$add_call on <self:RapidTypeAnalysis>*/
5039 /* method rapid_type_analysis$RapidTypeAnalysis$add_call for (self: RapidTypeAnalysis, MMethodDef) */
5040 void nitc___nitc__RapidTypeAnalysis___add_call(val
* self
, val
* p0
) {
5041 val
* var_mpropdef
/* var mpropdef: MMethodDef */;
5042 val
* var
/* : HashSet[MMethodDef] */;
5043 val
* var2
/* : HashSet[MMethodDef] */;
5044 short int var3
/* : Bool */;
5045 val
* var4
/* : HashSet[MMethodDef] */;
5046 val
* var6
/* : HashSet[MMethodDef] */;
5047 val
* var7
/* : HashSet[MModule] */;
5048 val
* var9
/* : HashSet[MModule] */;
5049 val
* var10
/* : MClassDef */;
5050 val
* var12
/* : MClassDef */;
5051 val
* var13
/* : MModule */;
5052 val
* var15
/* : MModule */;
5053 val
* var16
/* : List[MMethodDef] */;
5054 val
* var18
/* : List[MMethodDef] */;
5055 val
* var19
/* : MProperty */;
5056 val
* var21
/* : MProperty */;
5057 val
* var_mproperty
/* var mproperty: MMethod */;
5058 val
* var22
/* : Array[MPropDef] */;
5059 val
* var24
/* : Array[MPropDef] */;
5060 long var25
/* : Int */;
5061 long var27
/* : Int */;
5062 short int var28
/* : Bool */;
5063 short int var30
/* : Bool */;
5066 const char* var_class_name
;
5067 short int var31
/* : Bool */;
5068 val
* var32
/* : Array[MPropDef] */;
5069 val
* var34
/* : Array[MPropDef] */;
5070 val
* var_
/* var : Array[MMethodDef] */;
5071 val
* var35
/* : IndexedIterator[nullable Object] */;
5072 val
* var_36
/* var : IndexedIterator[MMethodDef] */;
5073 short int var37
/* : Bool */;
5074 val
* var38
/* : nullable Object */;
5075 val
* var_d
/* var d: MMethodDef */;
5076 val
* var39
/* : HashSet[MMethodDef] */;
5077 val
* var41
/* : HashSet[MMethodDef] */;
5078 short int var42
/* : Bool */;
5079 short int var43
/* : Bool */;
5080 val
* var44
/* : Array[MMethod] */;
5081 val
* var46
/* : Array[MMethod] */;
5082 val
* var47
/* : MProperty */;
5083 val
* var49
/* : MProperty */;
5086 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_methoddefs (self) on <self:RapidTypeAnalysis> */
5087 var2
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_methoddefs
].val
; /* _live_methoddefs on <self:RapidTypeAnalysis> */
5088 if (unlikely(var2
== NULL
)) {
5089 if(catchStack
.cursor
>= 0){
5090 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5092 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_methoddefs");
5093 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 79);
5101 var3
= core___core__HashSet___core__abstract_collection__Collection__has(var
, var_mpropdef
);
5108 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_methoddefs (self) on <self:RapidTypeAnalysis> */
5109 var6
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_methoddefs
].val
; /* _live_methoddefs on <self:RapidTypeAnalysis> */
5110 if (unlikely(var6
== NULL
)) {
5111 if(catchStack
.cursor
>= 0){
5112 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5114 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_methoddefs");
5115 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 79);
5123 core___core__HashSet___core__abstract_collection__SimpleCollection__add(var4
, var_mpropdef
); /* Direct call hash_collection$HashSet$add on <var4:HashSet[MMethodDef]>*/
5126 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_mmodules (self) on <self:RapidTypeAnalysis> */
5127 var9
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_mmodules
].val
; /* _live_mmodules on <self:RapidTypeAnalysis> */
5128 if (unlikely(var9
== NULL
)) {
5129 if(catchStack
.cursor
>= 0){
5130 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5132 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_mmodules");
5133 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 85);
5141 { /* Inline model$MPropDef$mclassdef (var_mpropdef) on <var_mpropdef:MMethodDef> */
5142 var12
= var_mpropdef
->attrs
[COLOR_nitc__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:MMethodDef> */
5143 if (unlikely(var12
== NULL
)) {
5144 if(catchStack
.cursor
>= 0){
5145 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5147 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
5148 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2354);
5152 RET_LABEL11
:(void)0;
5156 { /* Inline model$MClassDef$mmodule (var10) on <var10:MClassDef> */
5157 var15
= var10
->attrs
[COLOR_nitc__model__MClassDef___mmodule
].val
; /* _mmodule on <var10:MClassDef> */
5158 if (unlikely(var15
== NULL
)) {
5159 if(catchStack
.cursor
>= 0){
5160 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5162 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
5163 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 588);
5167 RET_LABEL14
:(void)0;
5171 core___core__HashSet___core__abstract_collection__SimpleCollection__add(var7
, var13
); /* Direct call hash_collection$HashSet$add on <var7:HashSet[MModule]>*/
5174 { /* Inline rapid_type_analysis$RapidTypeAnalysis$todo (self) on <self:RapidTypeAnalysis> */
5175 var18
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___todo
].val
; /* _todo on <self:RapidTypeAnalysis> */
5176 if (unlikely(var18
== NULL
)) {
5177 if(catchStack
.cursor
>= 0){
5178 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5180 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _todo");
5181 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 183);
5185 RET_LABEL17
:(void)0;
5189 core___core__Sequence___SimpleCollection__add(var16
, var_mpropdef
); /* Direct call abstract_collection$Sequence$add on <var16:List[MMethodDef]>*/
5192 { /* Inline model$MPropDef$mproperty (var_mpropdef) on <var_mpropdef:MMethodDef> */
5193 var21
= var_mpropdef
->attrs
[COLOR_nitc__model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:MMethodDef> */
5194 if (unlikely(var21
== NULL
)) {
5195 if(catchStack
.cursor
>= 0){
5196 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5198 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
5199 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2357);
5203 RET_LABEL20
:(void)0;
5206 var_mproperty
= var19
;
5208 { /* Inline model$MProperty$mpropdefs (var_mproperty) on <var_mproperty:MMethod> */
5209 var24
= var_mproperty
->attrs
[COLOR_nitc__model__MProperty___mpropdefs
].val
; /* _mpropdefs on <var_mproperty:MMethod> */
5210 if (unlikely(var24
== NULL
)) {
5211 if(catchStack
.cursor
>= 0){
5212 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5214 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdefs");
5215 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2092);
5219 RET_LABEL23
:(void)0;
5223 { /* Inline array$AbstractArrayRead$length (var22) on <var22:Array[MPropDef](Array[MMethodDef])> */
5224 var27
= var22
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var22:Array[MPropDef](Array[MMethodDef])> */
5226 RET_LABEL26
:(void)0;
5230 { /* Inline kernel$Int$<= (var25,1l) on <var25:Int> */
5231 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
5232 /* <1l:Int> isa OTHER */
5233 var30
= 1; /* easy <1l:Int> isa OTHER*/
5234 if (unlikely(!var30
)) {
5235 var_class_name
= type_core__Int
.name
;
5236 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
5237 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 724);
5240 var31
= var25
<= 1l;
5243 RET_LABEL29
:(void)0;
5251 { /* Inline model$MProperty$mpropdefs (var_mproperty) on <var_mproperty:MMethod> */
5252 var34
= var_mproperty
->attrs
[COLOR_nitc__model__MProperty___mpropdefs
].val
; /* _mpropdefs on <var_mproperty:MMethod> */
5253 if (unlikely(var34
== NULL
)) {
5254 if(catchStack
.cursor
>= 0){
5255 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5257 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdefs");
5258 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2092);
5262 RET_LABEL33
:(void)0;
5267 var35
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_
);
5272 var37
= ((short int(*)(val
* self
))((((long)var_36
&3)?class_info
[((long)var_36
&3)]:var_36
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_36
); /* is_ok on <var_36:IndexedIterator[MMethodDef]>*/
5279 var38
= ((val
*(*)(val
* self
))((((long)var_36
&3)?class_info
[((long)var_36
&3)]:var_36
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_36
); /* item on <var_36:IndexedIterator[MMethodDef]>*/
5283 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_methoddefs (self) on <self:RapidTypeAnalysis> */
5284 var41
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_methoddefs
].val
; /* _live_methoddefs on <self:RapidTypeAnalysis> */
5285 if (unlikely(var41
== NULL
)) {
5286 if(catchStack
.cursor
>= 0){
5287 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5289 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_methoddefs");
5290 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 79);
5294 RET_LABEL40
:(void)0;
5298 var42
= core___core__HashSet___core__abstract_collection__Collection__has(var39
, var_d
);
5306 ((void(*)(val
* self
))((((long)var_36
&3)?class_info
[((long)var_36
&3)]:var_36
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_36
); /* next on <var_36:IndexedIterator[MMethodDef]>*/
5309 BREAK_label
: (void)0;
5311 ((void(*)(val
* self
))((((long)var_36
&3)?class_info
[((long)var_36
&3)]:var_36
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_36
); /* finish on <var_36:IndexedIterator[MMethodDef]>*/
5314 { /* Inline rapid_type_analysis$RapidTypeAnalysis$totry_methods_to_remove (self) on <self:RapidTypeAnalysis> */
5315 var46
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___totry_methods_to_remove
].val
; /* _totry_methods_to_remove on <self:RapidTypeAnalysis> */
5316 if (unlikely(var46
== NULL
)) {
5317 if(catchStack
.cursor
>= 0){
5318 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5320 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _totry_methods_to_remove");
5321 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 176);
5325 RET_LABEL45
:(void)0;
5329 { /* Inline model$MPropDef$mproperty (var_mpropdef) on <var_mpropdef:MMethodDef> */
5330 var49
= var_mpropdef
->attrs
[COLOR_nitc__model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:MMethodDef> */
5331 if (unlikely(var49
== NULL
)) {
5332 if(catchStack
.cursor
>= 0){
5333 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5335 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
5336 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2357);
5340 RET_LABEL48
:(void)0;
5344 core___core__Array___core__abstract_collection__SimpleCollection__add(var44
, var47
); /* Direct call array$Array$add on <var44:Array[MMethod]>*/
5348 /* method rapid_type_analysis$RapidTypeAnalysis$add_send for (self: RapidTypeAnalysis, MType, MMethod) */
5349 void nitc___nitc__RapidTypeAnalysis___add_send(val
* self
, val
* p0
, val
* p1
) {
5350 val
* var_recv
/* var recv: MType */;
5351 val
* var_mproperty
/* var mproperty: MMethod */;
5352 val
* var
/* : HashSet[MMethod] */;
5353 val
* var2
/* : HashSet[MMethod] */;
5354 short int var3
/* : Bool */;
5355 val
* var4
/* : HashSet[MMethod] */;
5356 val
* var6
/* : HashSet[MMethod] */;
5357 val
* var7
/* : HashSet[MMethod] */;
5358 val
* var9
/* : HashSet[MMethod] */;
5359 val
* var10
/* : Array[MPropDef] */;
5360 val
* var12
/* : Array[MPropDef] */;
5361 long var13
/* : Int */;
5362 long var15
/* : Int */;
5363 short int var16
/* : Bool */;
5364 short int var18
/* : Bool */;
5365 val
* var19
/* : Array[MPropDef] */;
5366 val
* var21
/* : Array[MPropDef] */;
5367 val
* var22
/* : nullable Object */;
5368 val
* var_d
/* var d: MMethodDef */;
5369 val
* var23
/* : HashSet[MMethod] */;
5370 val
* var25
/* : HashSet[MMethod] */;
5371 val
* var26
/* : HashSet[MClass] */;
5372 val
* var28
/* : HashSet[MClass] */;
5373 val
* var_
/* var : HashSet[MClass] */;
5374 val
* var29
/* : Iterator[nullable Object] */;
5375 val
* var_30
/* var : Iterator[MClass] */;
5376 short int var31
/* : Bool */;
5377 val
* var32
/* : nullable Object */;
5378 val
* var_c
/* var c: MClass */;
5379 val
* var33
/* : MClassDef */;
5380 val
* var35
/* : MClassDef */;
5381 val
* var36
/* : MClassType */;
5382 val
* var38
/* : MClassType */;
5386 { /* Inline rapid_type_analysis$RapidTypeAnalysis$try_methods (self) on <self:RapidTypeAnalysis> */
5387 var2
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___try_methods
].val
; /* _try_methods on <self:RapidTypeAnalysis> */
5388 if (unlikely(var2
== NULL
)) {
5389 if(catchStack
.cursor
>= 0){
5390 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5392 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _try_methods");
5393 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 179);
5401 var3
= core___core__HashSet___core__abstract_collection__Collection__has(var
, var_mproperty
);
5408 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_methods (self) on <self:RapidTypeAnalysis> */
5409 var6
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_methods
].val
; /* _live_methods on <self:RapidTypeAnalysis> */
5410 if (unlikely(var6
== NULL
)) {
5411 if(catchStack
.cursor
>= 0){
5412 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5414 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_methods");
5415 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 82);
5423 core___core__HashSet___core__abstract_collection__SimpleCollection__add(var4
, var_mproperty
); /* Direct call hash_collection$HashSet$add on <var4:HashSet[MMethod]>*/
5426 { /* Inline rapid_type_analysis$RapidTypeAnalysis$try_methods (self) on <self:RapidTypeAnalysis> */
5427 var9
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___try_methods
].val
; /* _try_methods on <self:RapidTypeAnalysis> */
5428 if (unlikely(var9
== NULL
)) {
5429 if(catchStack
.cursor
>= 0){
5430 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5432 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _try_methods");
5433 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 179);
5441 core___core__HashSet___core__abstract_collection__SimpleCollection__add(var7
, var_mproperty
); /* Direct call hash_collection$HashSet$add on <var7:HashSet[MMethod]>*/
5444 { /* Inline model$MProperty$mpropdefs (var_mproperty) on <var_mproperty:MMethod> */
5445 var12
= var_mproperty
->attrs
[COLOR_nitc__model__MProperty___mpropdefs
].val
; /* _mpropdefs on <var_mproperty:MMethod> */
5446 if (unlikely(var12
== NULL
)) {
5447 if(catchStack
.cursor
>= 0){
5448 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5450 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdefs");
5451 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2092);
5455 RET_LABEL11
:(void)0;
5459 { /* Inline array$AbstractArrayRead$length (var10) on <var10:Array[MPropDef](Array[MMethodDef])> */
5460 var15
= var10
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var10:Array[MPropDef](Array[MMethodDef])> */
5462 RET_LABEL14
:(void)0;
5466 { /* Inline kernel$Int$== (var13,1l) on <var13:Int> */
5467 var18
= var13
== 1l;
5470 RET_LABEL17
:(void)0;
5475 { /* Inline model$MProperty$mpropdefs (var_mproperty) on <var_mproperty:MMethod> */
5476 var21
= var_mproperty
->attrs
[COLOR_nitc__model__MProperty___mpropdefs
].val
; /* _mpropdefs on <var_mproperty:MMethod> */
5477 if (unlikely(var21
== NULL
)) {
5478 if(catchStack
.cursor
>= 0){
5479 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5481 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdefs");
5482 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2092);
5486 RET_LABEL20
:(void)0;
5490 var22
= core___core__SequenceRead___Collection__first(var19
);
5494 nitc___nitc__RapidTypeAnalysis___add_call(self
, var_d
); /* Direct call rapid_type_analysis$RapidTypeAnalysis$add_call on <self:RapidTypeAnalysis>*/
5500 { /* Inline rapid_type_analysis$RapidTypeAnalysis$totry_methods (self) on <self:RapidTypeAnalysis> */
5501 var25
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___totry_methods
].val
; /* _totry_methods on <self:RapidTypeAnalysis> */
5502 if (unlikely(var25
== NULL
)) {
5503 if(catchStack
.cursor
>= 0){
5504 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5506 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _totry_methods");
5507 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 173);
5511 RET_LABEL24
:(void)0;
5515 core___core__HashSet___core__abstract_collection__SimpleCollection__add(var23
, var_mproperty
); /* Direct call hash_collection$HashSet$add on <var23:HashSet[MMethod]>*/
5518 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_classes (self) on <self:RapidTypeAnalysis> */
5519 var28
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_classes
].val
; /* _live_classes on <self:RapidTypeAnalysis> */
5520 if (unlikely(var28
== NULL
)) {
5521 if(catchStack
.cursor
>= 0){
5522 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5524 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_classes");
5525 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 69);
5529 RET_LABEL27
:(void)0;
5534 var29
= core___core__HashSet___core__abstract_collection__Collection__iterator(var_
);
5539 var31
= ((short int(*)(val
* self
))((((long)var_30
&3)?class_info
[((long)var_30
&3)]:var_30
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_30
); /* is_ok on <var_30:Iterator[MClass]>*/
5546 var32
= ((val
*(*)(val
* self
))((((long)var_30
&3)?class_info
[((long)var_30
&3)]:var_30
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_30
); /* item on <var_30:Iterator[MClass]>*/
5550 { /* Inline model$MClass$intro (var_c) on <var_c:MClass> */
5551 var35
= var_c
->attrs
[COLOR_nitc__model__MClass___intro
].val
; /* _intro on <var_c:MClass> */
5552 if (unlikely(var35
== NULL
)) {
5553 if(catchStack
.cursor
>= 0){
5554 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5556 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
5557 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 496);
5561 RET_LABEL34
:(void)0;
5565 { /* Inline model$MClassDef$bound_mtype (var33) on <var33:MClassDef> */
5566 var38
= var33
->attrs
[COLOR_nitc__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var33:MClassDef> */
5567 if (unlikely(var38
== NULL
)) {
5568 if(catchStack
.cursor
>= 0){
5569 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5571 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
5572 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 594);
5576 RET_LABEL37
:(void)0;
5580 nitc___nitc__RapidTypeAnalysis___try_send(self
, var36
, var_mproperty
); /* Direct call rapid_type_analysis$RapidTypeAnalysis$try_send on <self:RapidTypeAnalysis>*/
5583 ((void(*)(val
* self
))((((long)var_30
&3)?class_info
[((long)var_30
&3)]:var_30
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_30
); /* next on <var_30:Iterator[MClass]>*/
5586 BREAK_label
: (void)0;
5588 ((void(*)(val
* self
))((((long)var_30
&3)?class_info
[((long)var_30
&3)]:var_30
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_30
); /* finish on <var_30:Iterator[MClass]>*/
5592 /* method rapid_type_analysis$RapidTypeAnalysis$try_super_send for (self: RapidTypeAnalysis, MClassType, MMethodDef) */
5593 void nitc___nitc__RapidTypeAnalysis___try_super_send(val
* self
, val
* p0
, val
* p1
) {
5594 val
* var_recv
/* var recv: MClassType */;
5595 val
* var_mpropdef
/* var mpropdef: MMethodDef */;
5596 val
* var
/* : MClass */;
5597 val
* var2
/* : MClass */;
5598 val
* var3
/* : MClassDef */;
5599 val
* var5
/* : MClassDef */;
5600 val
* var6
/* : MClassType */;
5601 val
* var8
/* : MClassType */;
5602 val
* var9
/* : MModule */;
5603 val
* var11
/* : MModule */;
5604 val
* var12
/* : Set[MClassDef] */;
5605 val
* var13
/* : MClassDef */;
5606 val
* var15
/* : MClassDef */;
5607 short int var16
/* : Bool */;
5608 short int var17
/* : Bool */;
5609 val
* var18
/* : MModule */;
5610 val
* var20
/* : MModule */;
5611 val
* var21
/* : MPropDef */;
5612 val
* var_d
/* var d: MMethodDef */;
5616 { /* Inline model$MClassType$mclass (var_recv) on <var_recv:MClassType> */
5617 var2
= var_recv
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var_recv:MClassType> */
5618 if (unlikely(var2
== NULL
)) {
5619 if(catchStack
.cursor
>= 0){
5620 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5622 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
5623 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1197);
5631 { /* Inline model$MClass$intro (var) on <var:MClass> */
5632 var5
= var
->attrs
[COLOR_nitc__model__MClass___intro
].val
; /* _intro on <var:MClass> */
5633 if (unlikely(var5
== NULL
)) {
5634 if(catchStack
.cursor
>= 0){
5635 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5637 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
5638 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 496);
5646 { /* Inline model$MClassDef$bound_mtype (var3) on <var3:MClassDef> */
5647 var8
= var3
->attrs
[COLOR_nitc__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var3:MClassDef> */
5648 if (unlikely(var8
== NULL
)) {
5649 if(catchStack
.cursor
>= 0){
5650 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5652 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
5653 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 594);
5662 { /* Inline rapid_type_analysis$RapidTypeAnalysis$mainmodule (self) on <self:RapidTypeAnalysis> */
5663 var11
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___mainmodule
].val
; /* _mainmodule on <self:RapidTypeAnalysis> */
5664 if (unlikely(var11
== NULL
)) {
5665 if(catchStack
.cursor
>= 0){
5666 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5668 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
5669 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 56);
5673 RET_LABEL10
:(void)0;
5677 var12
= nitc___nitc__MClassType___MType__collect_mclassdefs(var_recv
, var9
);
5680 { /* Inline model$MPropDef$mclassdef (var_mpropdef) on <var_mpropdef:MMethodDef> */
5681 var15
= var_mpropdef
->attrs
[COLOR_nitc__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:MMethodDef> */
5682 if (unlikely(var15
== NULL
)) {
5683 if(catchStack
.cursor
>= 0){
5684 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5686 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
5687 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2354);
5691 RET_LABEL14
:(void)0;
5695 var16
= ((short int(*)(val
* self
, val
* p0
))((((long)var12
&3)?class_info
[((long)var12
&3)]:var12
->class)->vft
[COLOR_core__abstract_collection__Collection__has
]))(var12
, var13
); /* has on <var12:Set[MClassDef]>*/
5703 { /* Inline rapid_type_analysis$RapidTypeAnalysis$mainmodule (self) on <self:RapidTypeAnalysis> */
5704 var20
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___mainmodule
].val
; /* _mainmodule on <self:RapidTypeAnalysis> */
5705 if (unlikely(var20
== NULL
)) {
5706 if(catchStack
.cursor
>= 0){
5707 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5709 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
5710 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 56);
5714 RET_LABEL19
:(void)0;
5718 var21
= nitc___nitc__MPropDef___lookup_next_definition(var_mpropdef
, var18
, var_recv
);
5722 nitc___nitc__RapidTypeAnalysis___add_call(self
, var_d
); /* Direct call rapid_type_analysis$RapidTypeAnalysis$add_call on <self:RapidTypeAnalysis>*/
5726 /* method rapid_type_analysis$RapidTypeAnalysis$add_super_send for (self: RapidTypeAnalysis, MType, MMethodDef) */
5727 void nitc___nitc__RapidTypeAnalysis___add_super_send(val
* self
, val
* p0
, val
* p1
) {
5728 val
* var_recv
/* var recv: MType */;
5729 val
* var_mpropdef
/* var mpropdef: MMethodDef */;
5730 short int var
/* : Bool */;
5731 short int var2
/* : Bool */;
5732 val
* var3
/* : HashSet[MMethodDef] */;
5733 val
* var5
/* : HashSet[MMethodDef] */;
5734 short int var6
/* : Bool */;
5735 val
* var7
/* : HashSet[MMethodDef] */;
5736 val
* var9
/* : HashSet[MMethodDef] */;
5737 val
* var10
/* : HashSet[MClass] */;
5738 val
* var12
/* : HashSet[MClass] */;
5739 val
* var_
/* var : HashSet[MClass] */;
5740 val
* var13
/* : Iterator[nullable Object] */;
5741 val
* var_14
/* var : Iterator[MClass] */;
5742 short int var15
/* : Bool */;
5743 val
* var16
/* : nullable Object */;
5744 val
* var_c
/* var c: MClass */;
5745 val
* var17
/* : MClassDef */;
5746 val
* var19
/* : MClassDef */;
5747 val
* var20
/* : MClassType */;
5748 val
* var22
/* : MClassType */;
5752 { /* Inline modelize_property$MPropDef$has_supercall (var_mpropdef) on <var_mpropdef:MMethodDef> */
5753 var2
= var_mpropdef
->attrs
[COLOR_nitc__modelize_property__MPropDef___has_supercall
].s
; /* _has_supercall on <var_mpropdef:MMethodDef> */
5758 if (unlikely(!var
)) {
5759 if(catchStack
.cursor
>= 0){
5760 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5762 PRINT_ERROR("Runtime error: %s", "Assert failed");
5763 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 452);
5767 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_super_sends (self) on <self:RapidTypeAnalysis> */
5768 var5
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_super_sends
].val
; /* _live_super_sends on <self:RapidTypeAnalysis> */
5769 if (unlikely(var5
== NULL
)) {
5770 if(catchStack
.cursor
>= 0){
5771 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5773 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_super_sends");
5774 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 118);
5782 var6
= core___core__HashSet___core__abstract_collection__Collection__has(var3
, var_mpropdef
);
5789 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_super_sends (self) on <self:RapidTypeAnalysis> */
5790 var9
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_super_sends
].val
; /* _live_super_sends on <self:RapidTypeAnalysis> */
5791 if (unlikely(var9
== NULL
)) {
5792 if(catchStack
.cursor
>= 0){
5793 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5795 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_super_sends");
5796 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 118);
5804 core___core__HashSet___core__abstract_collection__SimpleCollection__add(var7
, var_mpropdef
); /* Direct call hash_collection$HashSet$add on <var7:HashSet[MMethodDef]>*/
5807 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_classes (self) on <self:RapidTypeAnalysis> */
5808 var12
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_classes
].val
; /* _live_classes on <self:RapidTypeAnalysis> */
5809 if (unlikely(var12
== NULL
)) {
5810 if(catchStack
.cursor
>= 0){
5811 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5813 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_classes");
5814 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 69);
5818 RET_LABEL11
:(void)0;
5823 var13
= core___core__HashSet___core__abstract_collection__Collection__iterator(var_
);
5828 var15
= ((short int(*)(val
* self
))((((long)var_14
&3)?class_info
[((long)var_14
&3)]:var_14
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_14
); /* is_ok on <var_14:Iterator[MClass]>*/
5835 var16
= ((val
*(*)(val
* self
))((((long)var_14
&3)?class_info
[((long)var_14
&3)]:var_14
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_14
); /* item on <var_14:Iterator[MClass]>*/
5839 { /* Inline model$MClass$intro (var_c) on <var_c:MClass> */
5840 var19
= var_c
->attrs
[COLOR_nitc__model__MClass___intro
].val
; /* _intro on <var_c:MClass> */
5841 if (unlikely(var19
== NULL
)) {
5842 if(catchStack
.cursor
>= 0){
5843 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5845 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
5846 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 496);
5850 RET_LABEL18
:(void)0;
5854 { /* Inline model$MClassDef$bound_mtype (var17) on <var17:MClassDef> */
5855 var22
= var17
->attrs
[COLOR_nitc__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var17:MClassDef> */
5856 if (unlikely(var22
== NULL
)) {
5857 if(catchStack
.cursor
>= 0){
5858 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5860 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
5861 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 594);
5865 RET_LABEL21
:(void)0;
5869 nitc___nitc__RapidTypeAnalysis___try_super_send(self
, var20
, var_mpropdef
); /* Direct call rapid_type_analysis$RapidTypeAnalysis$try_super_send on <self:RapidTypeAnalysis>*/
5872 ((void(*)(val
* self
))((((long)var_14
&3)?class_info
[((long)var_14
&3)]:var_14
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_14
); /* next on <var_14:Iterator[MClass]>*/
5875 BREAK_label
: (void)0;
5877 ((void(*)(val
* self
))((((long)var_14
&3)?class_info
[((long)var_14
&3)]:var_14
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_14
); /* finish on <var_14:Iterator[MClass]>*/
5881 /* method rapid_type_analysis$RapidTypeAnalysis$init for (self: RapidTypeAnalysis) */
5882 void nitc___nitc__RapidTypeAnalysis___core__kernel__Object__init(val
* self
) {
5884 ((void(*)(val
* self
))(self
->class->vft
[COLOR_nitc___nitc__RapidTypeAnalysis___core__kernel__Object__init
]))(self
); /* init on <self:RapidTypeAnalysis>*/
5888 /* method rapid_type_analysis$RapidTypeVisitor$analysis for (self: RapidTypeVisitor): RapidTypeAnalysis */
5889 val
* nitc___nitc__RapidTypeVisitor___analysis(val
* self
) {
5890 val
* var
/* : RapidTypeAnalysis */;
5891 val
* var1
/* : RapidTypeAnalysis */;
5892 var1
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeVisitor___analysis
].val
; /* _analysis on <self:RapidTypeVisitor> */
5893 if (unlikely(var1
== NULL
)) {
5894 if(catchStack
.cursor
>= 0){
5895 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5897 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _analysis");
5898 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 465);
5905 /* method rapid_type_analysis$RapidTypeVisitor$analysis= for (self: RapidTypeVisitor, RapidTypeAnalysis) */
5906 void nitc___nitc__RapidTypeVisitor___analysis_61d(val
* self
, val
* p0
) {
5907 self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeVisitor___analysis
].val
= p0
; /* _analysis on <self:RapidTypeVisitor> */
5910 /* method rapid_type_analysis$RapidTypeVisitor$receiver for (self: RapidTypeVisitor): MClassType */
5911 val
* nitc___nitc__RapidTypeVisitor___receiver(val
* self
) {
5912 val
* var
/* : MClassType */;
5913 val
* var1
/* : MClassType */;
5914 var1
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeVisitor___receiver
].val
; /* _receiver on <self:RapidTypeVisitor> */
5915 if (unlikely(var1
== NULL
)) {
5916 if(catchStack
.cursor
>= 0){
5917 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5919 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _receiver");
5920 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 466);
5927 /* method rapid_type_analysis$RapidTypeVisitor$receiver= for (self: RapidTypeVisitor, MClassType) */
5928 void nitc___nitc__RapidTypeVisitor___receiver_61d(val
* self
, val
* p0
) {
5929 self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeVisitor___receiver
].val
= p0
; /* _receiver on <self:RapidTypeVisitor> */
5932 /* method rapid_type_analysis$RapidTypeVisitor$mpropdef= for (self: RapidTypeVisitor, MPropDef) */
5933 void nitc___nitc__RapidTypeVisitor___mpropdef_61d(val
* self
, val
* p0
) {
5934 self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeVisitor___mpropdef
].val
= p0
; /* _mpropdef on <self:RapidTypeVisitor> */
5937 /* method rapid_type_analysis$RapidTypeVisitor$init for (self: RapidTypeVisitor) */
5938 void nitc___nitc__RapidTypeVisitor___core__kernel__Object__init(val
* self
) {
5939 val
* var
/* : MClassType */;
5940 val
* var2
/* : MClassType */;
5941 short int var3
/* : Bool */;
5942 short int var4
/* : Bool */;
5944 ((void(*)(val
* self
))(self
->class->vft
[COLOR_nitc___nitc__RapidTypeVisitor___core__kernel__Object__init
]))(self
); /* init on <self:RapidTypeVisitor>*/
5947 { /* Inline rapid_type_analysis$RapidTypeVisitor$receiver (self) on <self:RapidTypeVisitor> */
5948 var2
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeVisitor___receiver
].val
; /* _receiver on <self:RapidTypeVisitor> */
5949 if (unlikely(var2
== NULL
)) {
5950 if(catchStack
.cursor
>= 0){
5951 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5953 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _receiver");
5954 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 466);
5962 var3
= ((short int(*)(val
* self
))(var
->class->vft
[COLOR_nitc__model__MType__need_anchor
]))(var
); /* need_anchor on <var:MClassType>*/
5965 if (unlikely(!var4
)) {
5966 if(catchStack
.cursor
>= 0){
5967 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5969 PRINT_ERROR("Runtime error: %s", "Assert failed");
5970 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 471);
5975 /* method rapid_type_analysis$RapidTypeVisitor$visit for (self: RapidTypeVisitor, ANode) */
5976 void nitc___nitc__RapidTypeVisitor___nitc__parser_nodes__Visitor__visit(val
* self
, val
* p0
) {
5977 val
* var_n
/* var n: ANode */;
5978 short int var
/* : Bool */;
5981 short int var1
/* : Bool */;
5982 val
* var2
/* : nullable MType */;
5983 short int var3
/* : Bool */;
5984 short int var4
/* : Bool */;
5985 val
* var_other
/* var other: nullable Object */;
5986 short int var6
/* : Bool */;
5987 short int var7
/* : Bool */;
5988 short int var_
/* var : Bool */;
5989 short int var8
/* : Bool */;
5990 short int var10
/* : Bool */;
5991 val
* var11
/* : nullable MType */;
5992 val
* var13
/* : nullable MType */;
5993 val
* var_implicit_cast_to
/* var implicit_cast_to: nullable MType */;
5994 short int var14
/* : Bool */;
5995 short int var15
/* : Bool */;
5996 short int var17
/* : Bool */;
5997 short int var18
/* : Bool */;
5998 short int var19
/* : Bool */;
6001 short int var22
/* : Bool */;
6003 /* <var_n:ANode> isa AExpr */
6004 cltype
= type_nitc__AExpr
.color
;
6005 idtype
= type_nitc__AExpr
.id
;
6006 if(cltype
>= var_n
->type
->table_size
) {
6009 var
= var_n
->type
->type_table
[cltype
] == idtype
;
6013 var2
= ((val
*(*)(val
* self
))(var_n
->class->vft
[COLOR_nitc__typing__AExpr__mtype
]))(var_n
); /* mtype on <var_n:ANode(AExpr)>*/
6016 var3
= 0; /* is null */
6018 var3
= 1; /* arg is null and recv is not */
6021 { /* Inline kernel$Object$!= (var2,((val*)NULL)) on <var2:nullable MType> */
6022 var_other
= ((val
*)NULL
);
6024 var6
= ((short int(*)(val
* self
, val
* p0
))(var2
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var2
, var_other
); /* == on <var2:nullable MType(MType)>*/
6038 { /* Inline typing$AExpr$is_typed (var_n) on <var_n:ANode(AExpr)> */
6039 var10
= var_n
->attrs
[COLOR_nitc__typing__AExpr___is_typed
].s
; /* _is_typed on <var_n:ANode(AExpr)> */
6048 ((void(*)(val
* self
, val
* p0
))(var_n
->class->vft
[COLOR_nitc__rapid_type_analysis__ANode__accept_rapid_type_visitor
]))(var_n
, self
); /* accept_rapid_type_visitor on <var_n:ANode(AExpr)>*/
6051 { /* Inline typing$AExpr$implicit_cast_to (var_n) on <var_n:ANode(AExpr)> */
6052 var13
= var_n
->attrs
[COLOR_nitc__typing__AExpr___implicit_cast_to
].val
; /* _implicit_cast_to on <var_n:ANode(AExpr)> */
6054 RET_LABEL12
:(void)0;
6057 var_implicit_cast_to
= var11
;
6058 if (var_implicit_cast_to
== NULL
) {
6059 var14
= 0; /* is null */
6061 var14
= 1; /* arg is null and recv is not */
6064 { /* Inline kernel$Object$!= (var_implicit_cast_to,((val*)NULL)) on <var_implicit_cast_to:nullable MType> */
6065 var_other
= ((val
*)NULL
);
6067 var17
= ((short int(*)(val
* self
, val
* p0
))(var_implicit_cast_to
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_implicit_cast_to
, var_other
); /* == on <var_implicit_cast_to:nullable MType(MType)>*/
6072 RET_LABEL16
:(void)0;
6078 nitc___nitc__RapidTypeVisitor___add_cast_type(self
, var_implicit_cast_to
); /* Direct call rapid_type_analysis$RapidTypeVisitor$add_cast_type on <self:RapidTypeVisitor>*/
6086 ((void(*)(val
* self
, val
* p0
))(var_n
->class->vft
[COLOR_nitc__rapid_type_analysis__ANode__accept_rapid_type_visitor
]))(var_n
, self
); /* accept_rapid_type_visitor on <var_n:ANode>*/
6089 /* <var_n:ANode> isa AAnnotations */
6090 cltype20
= type_nitc__AAnnotations
.color
;
6091 idtype21
= type_nitc__AAnnotations
.id
;
6092 if(cltype20
>= var_n
->type
->table_size
) {
6095 var19
= var_n
->type
->type_table
[cltype20
] == idtype21
;
6100 ((void(*)(val
* self
, val
* p0
))(var_n
->class->vft
[COLOR_nitc__parser_nodes__ANode__visit_all
]))(var_n
, self
); /* visit_all on <var_n:ANode>*/
6106 /* method rapid_type_analysis$RapidTypeVisitor$cleanup_type for (self: RapidTypeVisitor, MType): nullable MClassType */
6107 val
* nitc___nitc__RapidTypeVisitor___cleanup_type(val
* self
, val
* p0
) {
6108 val
* var
/* : nullable MClassType */;
6109 val
* var_mtype
/* var mtype: MType */;
6110 val
* var1
/* : RapidTypeAnalysis */;
6111 val
* var3
/* : RapidTypeAnalysis */;
6112 val
* var4
/* : MModule */;
6113 val
* var6
/* : MModule */;
6114 val
* var7
/* : MClassType */;
6115 val
* var9
/* : MClassType */;
6116 val
* var10
/* : MType */;
6117 short int var11
/* : Bool */;
6120 val
* var12
/* : MType */;
6121 short int var13
/* : Bool */;
6124 short int var16
/* : Bool */;
6125 short int var17
/* : Bool */;
6128 { /* Inline rapid_type_analysis$RapidTypeVisitor$analysis (self) on <self:RapidTypeVisitor> */
6129 var3
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeVisitor___analysis
].val
; /* _analysis on <self:RapidTypeVisitor> */
6130 if (unlikely(var3
== NULL
)) {
6131 if(catchStack
.cursor
>= 0){
6132 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6134 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _analysis");
6135 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 465);
6143 { /* Inline rapid_type_analysis$RapidTypeAnalysis$mainmodule (var1) on <var1:RapidTypeAnalysis> */
6144 var6
= var1
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___mainmodule
].val
; /* _mainmodule on <var1:RapidTypeAnalysis> */
6145 if (unlikely(var6
== NULL
)) {
6146 if(catchStack
.cursor
>= 0){
6147 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6149 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
6150 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 56);
6158 { /* Inline rapid_type_analysis$RapidTypeVisitor$receiver (self) on <self:RapidTypeVisitor> */
6159 var9
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeVisitor___receiver
].val
; /* _receiver on <self:RapidTypeVisitor> */
6160 if (unlikely(var9
== NULL
)) {
6161 if(catchStack
.cursor
>= 0){
6162 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6164 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _receiver");
6165 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 466);
6173 var10
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
))(var_mtype
->class->vft
[COLOR_nitc__model__MType__anchor_to
]))(var_mtype
, var4
, var7
); /* anchor_to on <var_mtype:MType>*/
6176 /* <var_mtype:MType> isa MNullType */
6177 cltype
= type_nitc__MNullType
.color
;
6178 idtype
= type_nitc__MNullType
.id
;
6179 if(cltype
>= var_mtype
->type
->table_size
) {
6182 var11
= var_mtype
->type
->type_table
[cltype
] == idtype
;
6190 var12
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nitc__model__MType__undecorate
]))(var_mtype
); /* undecorate on <var_mtype:MType>*/
6193 /* <var_mtype:MType> isa MClassType */
6194 cltype14
= type_nitc__MClassType
.color
;
6195 idtype15
= type_nitc__MClassType
.id
;
6196 if(cltype14
>= var_mtype
->type
->table_size
) {
6199 var13
= var_mtype
->type
->type_table
[cltype14
] == idtype15
;
6201 if (unlikely(!var13
)) {
6202 if(catchStack
.cursor
>= 0){
6203 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6205 PRINT_ERROR("Runtime error: %s", "Assert failed");
6206 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 497);
6210 var16
= ((short int(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nitc__model__MType__need_anchor
]))(var_mtype
); /* need_anchor on <var_mtype:MType(MClassType)>*/
6213 if (unlikely(!var17
)) {
6214 if(catchStack
.cursor
>= 0){
6215 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6217 PRINT_ERROR("Runtime error: %s", "Assert failed");
6218 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 498);
6226 /* method rapid_type_analysis$RapidTypeVisitor$get_method for (self: RapidTypeVisitor, MType, String): MMethod */
6227 val
* nitc___nitc__RapidTypeVisitor___get_method(val
* self
, val
* p0
, val
* p1
) {
6228 val
* var
/* : MMethod */;
6229 val
* var_recv
/* var recv: MType */;
6230 val
* var_name
/* var name: String */;
6231 val
* var1
/* : nullable MClassType */;
6232 val
* var_mtype
/* var mtype: nullable MClassType */;
6233 short int var2
/* : Bool */;
6234 short int var3
/* : Bool */;
6235 val
* var_other
/* var other: nullable Object */;
6236 short int var5
/* : Bool */;
6237 short int var6
/* : Bool */;
6238 val
* var7
/* : RapidTypeAnalysis */;
6239 val
* var9
/* : RapidTypeAnalysis */;
6240 val
* var10
/* : ModelBuilder */;
6241 val
* var12
/* : ModelBuilder */;
6242 val
* var13
/* : nullable ANode */;
6243 val
* var15
/* : nullable ANode */;
6244 val
* var16
/* : MClass */;
6245 val
* var18
/* : MClass */;
6246 val
* var19
/* : RapidTypeAnalysis */;
6247 val
* var21
/* : RapidTypeAnalysis */;
6248 val
* var22
/* : MModule */;
6249 val
* var24
/* : MModule */;
6250 val
* var25
/* : MMethod */;
6254 var1
= nitc___nitc__RapidTypeVisitor___cleanup_type(self
, var_recv
);
6257 if (var_mtype
== NULL
) {
6258 var2
= 0; /* is null */
6260 var2
= 1; /* arg is null and recv is not */
6263 { /* Inline kernel$Object$!= (var_mtype,((val*)NULL)) on <var_mtype:nullable MClassType> */
6264 var_other
= ((val
*)NULL
);
6266 var5
= ((short int(*)(val
* self
, val
* p0
))(var_mtype
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_mtype
, var_other
); /* == on <var_mtype:nullable MClassType(MClassType)>*/
6275 if (unlikely(!var2
)) {
6276 if(catchStack
.cursor
>= 0){
6277 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6279 PRINT_ERROR("Runtime error: %s", "Assert failed");
6280 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 505);
6284 { /* Inline rapid_type_analysis$RapidTypeVisitor$analysis (self) on <self:RapidTypeVisitor> */
6285 var9
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeVisitor___analysis
].val
; /* _analysis on <self:RapidTypeVisitor> */
6286 if (unlikely(var9
== NULL
)) {
6287 if(catchStack
.cursor
>= 0){
6288 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6290 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _analysis");
6291 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 465);
6299 { /* Inline rapid_type_analysis$RapidTypeAnalysis$modelbuilder (var7) on <var7:RapidTypeAnalysis> */
6300 var12
= var7
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___modelbuilder
].val
; /* _modelbuilder on <var7:RapidTypeAnalysis> */
6301 if (unlikely(var12
== NULL
)) {
6302 if(catchStack
.cursor
>= 0){
6303 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6305 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
6306 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 53);
6310 RET_LABEL11
:(void)0;
6314 { /* Inline parser_nodes$Visitor$current_node (self) on <self:RapidTypeVisitor> */
6315 var15
= self
->attrs
[COLOR_nitc__parser_nodes__Visitor___current_node
].val
; /* _current_node on <self:RapidTypeVisitor> */
6317 RET_LABEL14
:(void)0;
6320 if (unlikely(var13
== NULL
)) {
6321 if(catchStack
.cursor
>= 0){
6322 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6324 PRINT_ERROR("Runtime error: %s", "Cast failed");
6325 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 506);
6329 { /* Inline model$MClassType$mclass (var_mtype) on <var_mtype:nullable MClassType(MClassType)> */
6330 var18
= var_mtype
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:nullable MClassType(MClassType)> */
6331 if (unlikely(var18
== NULL
)) {
6332 if(catchStack
.cursor
>= 0){
6333 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6335 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6336 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1197);
6340 RET_LABEL17
:(void)0;
6344 { /* Inline rapid_type_analysis$RapidTypeVisitor$analysis (self) on <self:RapidTypeVisitor> */
6345 var21
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeVisitor___analysis
].val
; /* _analysis on <self:RapidTypeVisitor> */
6346 if (unlikely(var21
== NULL
)) {
6347 if(catchStack
.cursor
>= 0){
6348 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6350 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _analysis");
6351 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 465);
6355 RET_LABEL20
:(void)0;
6359 { /* Inline rapid_type_analysis$RapidTypeAnalysis$mainmodule (var19) on <var19:RapidTypeAnalysis> */
6360 var24
= var19
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___mainmodule
].val
; /* _mainmodule on <var19:RapidTypeAnalysis> */
6361 if (unlikely(var24
== NULL
)) {
6362 if(catchStack
.cursor
>= 0){
6363 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6365 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
6366 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 56);
6370 RET_LABEL23
:(void)0;
6374 var25
= nitc___nitc__ModelBuilder___force_get_primitive_method(var10
, var13
, var_name
, var16
, var22
);
6381 /* method rapid_type_analysis$RapidTypeVisitor$add_type for (self: RapidTypeVisitor, MClassType) */
6382 void nitc___nitc__RapidTypeVisitor___add_type(val
* self
, val
* p0
) {
6383 val
* var_mtype
/* var mtype: MClassType */;
6384 val
* var
/* : RapidTypeAnalysis */;
6385 val
* var2
/* : RapidTypeAnalysis */;
6386 val
* var3
/* : MClassType */;
6387 val
* var5
/* : MClassType */;
6390 { /* Inline rapid_type_analysis$RapidTypeVisitor$analysis (self) on <self:RapidTypeVisitor> */
6391 var2
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeVisitor___analysis
].val
; /* _analysis on <self:RapidTypeVisitor> */
6392 if (unlikely(var2
== NULL
)) {
6393 if(catchStack
.cursor
>= 0){
6394 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6396 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _analysis");
6397 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 465);
6405 { /* Inline rapid_type_analysis$RapidTypeVisitor$receiver (self) on <self:RapidTypeVisitor> */
6406 var5
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeVisitor___receiver
].val
; /* _receiver on <self:RapidTypeVisitor> */
6407 if (unlikely(var5
== NULL
)) {
6408 if(catchStack
.cursor
>= 0){
6409 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6411 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _receiver");
6412 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 466);
6420 nitc___nitc__RapidTypeAnalysis___add_new(var
, var3
, var_mtype
); /* Direct call rapid_type_analysis$RapidTypeAnalysis$add_new on <var:RapidTypeAnalysis>*/
6424 /* method rapid_type_analysis$RapidTypeVisitor$add_monomorphic_send for (self: RapidTypeVisitor, MType, MMethod) */
6425 void nitc___nitc__RapidTypeVisitor___add_monomorphic_send(val
* self
, val
* p0
, val
* p1
) {
6426 val
* var_mtype
/* var mtype: MType */;
6427 val
* var_mproperty
/* var mproperty: MMethod */;
6428 val
* var
/* : RapidTypeAnalysis */;
6429 val
* var2
/* : RapidTypeAnalysis */;
6430 val
* var3
/* : HashSet[MMethod] */;
6431 val
* var5
/* : HashSet[MMethod] */;
6432 val
* var6
/* : RapidTypeAnalysis */;
6433 val
* var8
/* : RapidTypeAnalysis */;
6434 short int var9
/* : Bool */;
6437 const char* var_class_name
;
6441 { /* Inline rapid_type_analysis$RapidTypeVisitor$analysis (self) on <self:RapidTypeVisitor> */
6442 var2
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeVisitor___analysis
].val
; /* _analysis on <self:RapidTypeVisitor> */
6443 if (unlikely(var2
== NULL
)) {
6444 if(catchStack
.cursor
>= 0){
6445 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6447 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _analysis");
6448 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 465);
6456 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_methods (var) on <var:RapidTypeAnalysis> */
6457 var5
= var
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_methods
].val
; /* _live_methods on <var:RapidTypeAnalysis> */
6458 if (unlikely(var5
== NULL
)) {
6459 if(catchStack
.cursor
>= 0){
6460 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6462 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_methods");
6463 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 82);
6471 core___core__HashSet___core__abstract_collection__SimpleCollection__add(var3
, var_mproperty
); /* Direct call hash_collection$HashSet$add on <var3:HashSet[MMethod]>*/
6474 { /* Inline rapid_type_analysis$RapidTypeVisitor$analysis (self) on <self:RapidTypeVisitor> */
6475 var8
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeVisitor___analysis
].val
; /* _analysis on <self:RapidTypeVisitor> */
6476 if (unlikely(var8
== NULL
)) {
6477 if(catchStack
.cursor
>= 0){
6478 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6480 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _analysis");
6481 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 465);
6488 /* <var_mtype:MType> isa MClassType */
6489 cltype
= type_nitc__MClassType
.color
;
6490 idtype
= type_nitc__MClassType
.id
;
6491 if(cltype
>= var_mtype
->type
->table_size
) {
6494 var9
= var_mtype
->type
->type_table
[cltype
] == idtype
;
6496 if (unlikely(!var9
)) {
6497 var_class_name
= var_mtype
== NULL ?
"null" : var_mtype
->type
->name
;
6498 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
6499 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 514);
6503 nitc___nitc__RapidTypeAnalysis___try_send(var6
, var_mtype
, var_mproperty
); /* Direct call rapid_type_analysis$RapidTypeAnalysis$try_send on <var6:RapidTypeAnalysis>*/
6507 /* method rapid_type_analysis$RapidTypeVisitor$add_cast_type for (self: RapidTypeVisitor, MType) */
6508 void nitc___nitc__RapidTypeVisitor___add_cast_type(val
* self
, val
* p0
) {
6509 val
* var_mtype
/* var mtype: MType */;
6510 val
* var
/* : RapidTypeAnalysis */;
6511 val
* var2
/* : RapidTypeAnalysis */;
6514 { /* Inline rapid_type_analysis$RapidTypeVisitor$analysis (self) on <self:RapidTypeVisitor> */
6515 var2
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeVisitor___analysis
].val
; /* _analysis on <self:RapidTypeVisitor> */
6516 if (unlikely(var2
== NULL
)) {
6517 if(catchStack
.cursor
>= 0){
6518 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6520 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _analysis");
6521 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 465);
6529 nitc___nitc__RapidTypeAnalysis___add_cast(var
, var_mtype
); /* Direct call rapid_type_analysis$RapidTypeAnalysis$add_cast on <var:RapidTypeAnalysis>*/
6533 /* method rapid_type_analysis$RapidTypeVisitor$add_callsite for (self: RapidTypeVisitor, nullable CallSite) */
6534 void nitc___nitc__RapidTypeVisitor___add_callsite(val
* self
, val
* p0
) {
6535 val
* var_callsite
/* var callsite: nullable CallSite */;
6536 short int var
/* : Bool */;
6537 short int var1
/* : Bool */;
6538 val
* var_other
/* var other: nullable Object */;
6539 short int var3
/* : Bool */;
6540 short int var4
/* : Bool */;
6541 val
* var5
/* : MMethodDef */;
6542 val
* var7
/* : MMethodDef */;
6543 val
* var8
/* : Array[MProperty] */;
6544 val
* var10
/* : Array[MProperty] */;
6545 val
* var_
/* var : Array[MProperty] */;
6546 val
* var11
/* : IndexedIterator[nullable Object] */;
6547 val
* var_12
/* var : IndexedIterator[MProperty] */;
6548 short int var13
/* : Bool */;
6549 val
* var14
/* : nullable Object */;
6550 val
* var_m
/* var m: MProperty */;
6551 short int var15
/* : Bool */;
6554 val
* var16
/* : RapidTypeAnalysis */;
6555 val
* var18
/* : RapidTypeAnalysis */;
6556 val
* var19
/* : MType */;
6557 val
* var21
/* : MType */;
6558 val
* var22
/* : RapidTypeAnalysis */;
6559 val
* var24
/* : RapidTypeAnalysis */;
6560 val
* var25
/* : MType */;
6561 val
* var27
/* : MType */;
6562 val
* var28
/* : MMethod */;
6563 val
* var30
/* : MMethod */;
6564 val
* var31
/* : RapidTypeAnalysis */;
6565 val
* var33
/* : RapidTypeAnalysis */;
6566 val
* var34
/* : HashSet[CallSite] */;
6567 val
* var36
/* : HashSet[CallSite] */;
6569 if (var_callsite
== NULL
) {
6570 var
= 0; /* is null */
6572 var
= 1; /* arg is null and recv is not */
6575 { /* Inline kernel$Object$!= (var_callsite,((val*)NULL)) on <var_callsite:nullable CallSite> */
6576 var_other
= ((val
*)NULL
);
6578 var3
= ((short int(*)(val
* self
, val
* p0
))(var_callsite
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_callsite
, var_other
); /* == on <var_callsite:nullable CallSite(CallSite)>*/
6589 { /* Inline typing$CallSite$mpropdef (var_callsite) on <var_callsite:nullable CallSite(CallSite)> */
6590 var7
= var_callsite
->attrs
[COLOR_nitc__typing__CallSite___mpropdef
].val
; /* _mpropdef on <var_callsite:nullable CallSite(CallSite)> */
6591 if (unlikely(var7
== NULL
)) {
6592 if(catchStack
.cursor
>= 0){
6593 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6595 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef");
6596 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 659);
6604 { /* Inline model$MMethodDef$initializers (var5) on <var5:MMethodDef> */
6605 var10
= var5
->attrs
[COLOR_nitc__model__MMethodDef___initializers
].val
; /* _initializers on <var5:MMethodDef> */
6606 if (unlikely(var10
== NULL
)) {
6607 if(catchStack
.cursor
>= 0){
6608 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6610 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers");
6611 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2492);
6620 var11
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_
);
6625 var13
= ((short int(*)(val
* self
))((((long)var_12
&3)?class_info
[((long)var_12
&3)]:var_12
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_12
); /* is_ok on <var_12:IndexedIterator[MProperty]>*/
6632 var14
= ((val
*(*)(val
* self
))((((long)var_12
&3)?class_info
[((long)var_12
&3)]:var_12
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_12
); /* item on <var_12:IndexedIterator[MProperty]>*/
6635 /* <var_m:MProperty> isa MMethod */
6636 cltype
= type_nitc__MMethod
.color
;
6637 idtype
= type_nitc__MMethod
.id
;
6638 if(cltype
>= var_m
->type
->table_size
) {
6641 var15
= var_m
->type
->type_table
[cltype
] == idtype
;
6645 { /* Inline rapid_type_analysis$RapidTypeVisitor$analysis (self) on <self:RapidTypeVisitor> */
6646 var18
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeVisitor___analysis
].val
; /* _analysis on <self:RapidTypeVisitor> */
6647 if (unlikely(var18
== NULL
)) {
6648 if(catchStack
.cursor
>= 0){
6649 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6651 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _analysis");
6652 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 465);
6656 RET_LABEL17
:(void)0;
6660 { /* Inline typing$CallSite$recv (var_callsite) on <var_callsite:nullable CallSite(CallSite)> */
6661 var21
= var_callsite
->attrs
[COLOR_nitc__typing__CallSite___recv
].val
; /* _recv on <var_callsite:nullable CallSite(CallSite)> */
6662 if (unlikely(var21
== NULL
)) {
6663 if(catchStack
.cursor
>= 0){
6664 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6666 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _recv");
6667 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 642);
6671 RET_LABEL20
:(void)0;
6675 nitc___nitc__RapidTypeAnalysis___add_send(var16
, var19
, var_m
); /* Direct call rapid_type_analysis$RapidTypeAnalysis$add_send on <var16:RapidTypeAnalysis>*/
6680 ((void(*)(val
* self
))((((long)var_12
&3)?class_info
[((long)var_12
&3)]:var_12
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_12
); /* next on <var_12:IndexedIterator[MProperty]>*/
6683 BREAK_label
: (void)0;
6685 ((void(*)(val
* self
))((((long)var_12
&3)?class_info
[((long)var_12
&3)]:var_12
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_12
); /* finish on <var_12:IndexedIterator[MProperty]>*/
6688 { /* Inline rapid_type_analysis$RapidTypeVisitor$analysis (self) on <self:RapidTypeVisitor> */
6689 var24
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeVisitor___analysis
].val
; /* _analysis on <self:RapidTypeVisitor> */
6690 if (unlikely(var24
== NULL
)) {
6691 if(catchStack
.cursor
>= 0){
6692 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6694 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _analysis");
6695 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 465);
6699 RET_LABEL23
:(void)0;
6703 { /* Inline typing$CallSite$recv (var_callsite) on <var_callsite:nullable CallSite(CallSite)> */
6704 var27
= var_callsite
->attrs
[COLOR_nitc__typing__CallSite___recv
].val
; /* _recv on <var_callsite:nullable CallSite(CallSite)> */
6705 if (unlikely(var27
== NULL
)) {
6706 if(catchStack
.cursor
>= 0){
6707 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6709 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _recv");
6710 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 642);
6714 RET_LABEL26
:(void)0;
6718 { /* Inline typing$CallSite$mproperty (var_callsite) on <var_callsite:nullable CallSite(CallSite)> */
6719 var30
= var_callsite
->attrs
[COLOR_nitc__typing__CallSite___mproperty
].val
; /* _mproperty on <var_callsite:nullable CallSite(CallSite)> */
6720 if (unlikely(var30
== NULL
)) {
6721 if(catchStack
.cursor
>= 0){
6722 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6724 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
6725 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 656);
6729 RET_LABEL29
:(void)0;
6733 nitc___nitc__RapidTypeAnalysis___add_send(var22
, var25
, var28
); /* Direct call rapid_type_analysis$RapidTypeAnalysis$add_send on <var22:RapidTypeAnalysis>*/
6736 { /* Inline rapid_type_analysis$RapidTypeVisitor$analysis (self) on <self:RapidTypeVisitor> */
6737 var33
= self
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeVisitor___analysis
].val
; /* _analysis on <self:RapidTypeVisitor> */
6738 if (unlikely(var33
== NULL
)) {
6739 if(catchStack
.cursor
>= 0){
6740 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6742 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _analysis");
6743 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 465);
6747 RET_LABEL32
:(void)0;
6751 { /* Inline rapid_type_analysis$RapidTypeAnalysis$live_callsites (var31) on <var31:RapidTypeAnalysis> */
6752 var36
= var31
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_callsites
].val
; /* _live_callsites on <var31:RapidTypeAnalysis> */
6753 if (unlikely(var36
== NULL
)) {
6754 if(catchStack
.cursor
>= 0){
6755 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6757 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_callsites");
6758 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 89);
6762 RET_LABEL35
:(void)0;
6766 core___core__HashSet___core__abstract_collection__SimpleCollection__add(var34
, var_callsite
); /* Direct call hash_collection$HashSet$add on <var34:HashSet[CallSite]>*/
6772 /* method rapid_type_analysis$ANode$accept_rapid_type_visitor for (self: ANode, RapidTypeVisitor) */
6773 void nitc__rapid_type_analysis___ANode___accept_rapid_type_visitor(val
* self
, val
* p0
) {
6774 val
* var_v
/* var v: RapidTypeVisitor */;
6778 /* method rapid_type_analysis$AExpr$allocate_mtype for (self: AExpr, RapidTypeVisitor) */
6779 void nitc__rapid_type_analysis___AExpr___allocate_mtype(val
* self
, val
* p0
) {
6780 val
* var_v
/* var v: RapidTypeVisitor */;
6781 val
* var
/* : nullable MType */;
6782 val
* var_mtype
/* var mtype: nullable MType */;
6783 short int var1
/* : Bool */;
6786 short int var2
/* : Bool */;
6787 val
* var3
/* : nullable MType */;
6788 short int var4
/* : Bool */;
6791 const char* var_class_name
;
6794 var
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_nitc__typing__AExpr__mtype
]))(self
); /* mtype on <self:AExpr>*/
6797 /* <var_mtype:nullable MType> isa MClassType */
6798 cltype
= type_nitc__MClassType
.color
;
6799 idtype
= type_nitc__MClassType
.id
;
6800 if(var_mtype
== NULL
) {
6803 if(cltype
>= var_mtype
->type
->table_size
) {
6806 var1
= var_mtype
->type
->type_table
[cltype
] == idtype
;
6815 var3
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_nitc__typing__AExpr__mtype
]))(self
); /* mtype on <self:AExpr>*/
6817 /* <var3:nullable MType> isa MClassType */
6818 cltype5
= type_nitc__MClassType
.color
;
6819 idtype6
= type_nitc__MClassType
.id
;
6823 if(cltype5
>= var3
->type
->table_size
) {
6826 var4
= var3
->type
->type_table
[cltype5
] == idtype6
;
6829 if (unlikely(!var4
)) {
6830 var_class_name
= var3
== NULL ?
"null" : var3
->type
->name
;
6831 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
6832 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 547);
6836 nitc___nitc__RapidTypeVisitor___add_type(var_v
, var3
); /* Direct call rapid_type_analysis$RapidTypeVisitor$add_type on <var_v:RapidTypeVisitor>*/
6840 /* method rapid_type_analysis$AIntegerExpr$accept_rapid_type_visitor for (self: AIntegerExpr, RapidTypeVisitor) */
6841 void nitc__rapid_type_analysis___AIntegerExpr___ANode__accept_rapid_type_visitor(val
* self
, val
* p0
) {
6842 val
* var_v
/* var v: RapidTypeVisitor */;
6845 nitc__rapid_type_analysis___AExpr___allocate_mtype(self
, var_v
); /* Direct call rapid_type_analysis$AExpr$allocate_mtype on <self:AIntegerExpr>*/
6849 /* method rapid_type_analysis$AFloatExpr$accept_rapid_type_visitor for (self: AFloatExpr, RapidTypeVisitor) */
6850 void nitc__rapid_type_analysis___AFloatExpr___ANode__accept_rapid_type_visitor(val
* self
, val
* p0
) {
6851 val
* var_v
/* var v: RapidTypeVisitor */;
6854 nitc__rapid_type_analysis___AExpr___allocate_mtype(self
, var_v
); /* Direct call rapid_type_analysis$AExpr$allocate_mtype on <self:AFloatExpr>*/
6858 /* method rapid_type_analysis$ACharExpr$accept_rapid_type_visitor for (self: ACharExpr, RapidTypeVisitor) */
6859 void nitc__rapid_type_analysis___ACharExpr___ANode__accept_rapid_type_visitor(val
* self
, val
* p0
) {
6860 val
* var_v
/* var v: RapidTypeVisitor */;
6863 nitc__rapid_type_analysis___AExpr___allocate_mtype(self
, var_v
); /* Direct call rapid_type_analysis$AExpr$allocate_mtype on <self:ACharExpr>*/
6867 /* method rapid_type_analysis$AArrayExpr$accept_rapid_type_visitor for (self: AArrayExpr, RapidTypeVisitor) */
6868 void nitc__rapid_type_analysis___AArrayExpr___ANode__accept_rapid_type_visitor(val
* self
, val
* p0
) {
6869 val
* var_v
/* var v: RapidTypeVisitor */;
6870 val
* var
/* : nullable MType */;
6871 val
* var2
/* : nullable MType */;
6872 short int var3
/* : Bool */;
6875 const char* var_class_name
;
6876 val
* var_mtype
/* var mtype: MClassType */;
6877 val
* var4
/* : RapidTypeAnalysis */;
6878 val
* var6
/* : RapidTypeAnalysis */;
6879 val
* var7
/* : MModule */;
6880 val
* var9
/* : MModule */;
6881 val
* var10
/* : Array[MType] */;
6882 val
* var11
/* : nullable Object */;
6883 val
* var12
/* : MClassType */;
6884 val
* var_native
/* var native: MClassType */;
6885 val
* var13
/* : nullable MClassType */;
6886 static val
* varonce
;
6887 val
* var14
/* : String */;
6888 char* var15
/* : CString */;
6889 val
* var16
/* : String */;
6890 val
* var17
/* : nullable Int */;
6891 val
* var18
/* : nullable Int */;
6892 val
* var19
/* : nullable Bool */;
6893 val
* var20
/* : nullable Bool */;
6894 val
* var21
/* : MMethod */;
6895 val
* var_prop
/* var prop: MMethod */;
6896 val
* var22
/* : nullable CallSite */;
6897 val
* var24
/* : nullable CallSite */;
6898 val
* var25
/* : nullable CallSite */;
6899 val
* var27
/* : nullable CallSite */;
6902 { /* Inline typing$AExpr$mtype (self) on <self:AArrayExpr> */
6903 var2
= self
->attrs
[COLOR_nitc__typing__AExpr___mtype
].val
; /* _mtype on <self:AArrayExpr> */
6908 /* <var:nullable MType> isa MClassType */
6909 cltype
= type_nitc__MClassType
.color
;
6910 idtype
= type_nitc__MClassType
.id
;
6914 if(cltype
>= var
->type
->table_size
) {
6917 var3
= var
->type
->type_table
[cltype
] == idtype
;
6920 if (unlikely(!var3
)) {
6921 var_class_name
= var
== NULL ?
"null" : var
->type
->name
;
6922 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
6923 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 575);
6928 nitc___nitc__RapidTypeVisitor___add_type(var_v
, var_mtype
); /* Direct call rapid_type_analysis$RapidTypeVisitor$add_type on <var_v:RapidTypeVisitor>*/
6931 { /* Inline rapid_type_analysis$RapidTypeVisitor$analysis (var_v) on <var_v:RapidTypeVisitor> */
6932 var6
= var_v
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeVisitor___analysis
].val
; /* _analysis on <var_v:RapidTypeVisitor> */
6933 if (unlikely(var6
== NULL
)) {
6934 if(catchStack
.cursor
>= 0){
6935 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6937 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _analysis");
6938 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 465);
6946 { /* Inline rapid_type_analysis$RapidTypeAnalysis$mainmodule (var4) on <var4:RapidTypeAnalysis> */
6947 var9
= var4
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___mainmodule
].val
; /* _mainmodule on <var4:RapidTypeAnalysis> */
6948 if (unlikely(var9
== NULL
)) {
6949 if(catchStack
.cursor
>= 0){
6950 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6952 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
6953 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 56);
6961 var10
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nitc__model__MClassType__arguments
]))(var_mtype
); /* arguments on <var_mtype:MClassType>*/
6964 var11
= core___core__SequenceRead___Collection__first(var10
);
6967 var12
= nitc__model___MModule___native_array_type(var7
, var11
);
6971 nitc___nitc__RapidTypeVisitor___add_type(var_v
, var_native
); /* Direct call rapid_type_analysis$RapidTypeVisitor$add_type on <var_v:RapidTypeVisitor>*/
6974 var13
= nitc___nitc__RapidTypeVisitor___cleanup_type(var_v
, var_mtype
);
6976 if (unlikely(var13
== NULL
)) {
6977 if(catchStack
.cursor
>= 0){
6978 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6980 PRINT_ERROR("Runtime error: %s", "Cast failed");
6981 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 579);
6985 if (likely(varonce
!=NULL
)) {
6988 var15
= "with_native";
6989 var17
= (val
*)(11l<<2|1);
6990 var18
= (val
*)(11l<<2|1);
6991 var19
= (val
*)((long)(0)<<2|3);
6992 var20
= (val
*)((long)(0)<<2|3);
6993 var16
= core__flat___CString___to_s_unsafe(var15
, var17
, var18
, var19
, var20
);
6998 var21
= nitc___nitc__RapidTypeVisitor___get_method(var_v
, var_mtype
, var14
);
7002 nitc___nitc__RapidTypeVisitor___add_monomorphic_send(var_v
, var_mtype
, var_prop
); /* Direct call rapid_type_analysis$RapidTypeVisitor$add_monomorphic_send on <var_v:RapidTypeVisitor>*/
7005 { /* Inline typing$AArrayExpr$with_capacity_callsite (self) on <self:AArrayExpr> */
7006 var24
= self
->attrs
[COLOR_nitc__typing__AArrayExpr___with_capacity_callsite
].val
; /* _with_capacity_callsite on <self:AArrayExpr> */
7008 RET_LABEL23
:(void)0;
7012 nitc___nitc__RapidTypeVisitor___add_callsite(var_v
, var22
); /* Direct call rapid_type_analysis$RapidTypeVisitor$add_callsite on <var_v:RapidTypeVisitor>*/
7015 { /* Inline typing$AArrayExpr$push_callsite (self) on <self:AArrayExpr> */
7016 var27
= self
->attrs
[COLOR_nitc__typing__AArrayExpr___push_callsite
].val
; /* _push_callsite on <self:AArrayExpr> */
7018 RET_LABEL26
:(void)0;
7022 nitc___nitc__RapidTypeVisitor___add_callsite(var_v
, var25
); /* Direct call rapid_type_analysis$RapidTypeVisitor$add_callsite on <var_v:RapidTypeVisitor>*/
7026 /* method rapid_type_analysis$AStringFormExpr$accept_rapid_type_visitor for (self: AStringFormExpr, RapidTypeVisitor) */
7027 void nitc__rapid_type_analysis___AStringFormExpr___ANode__accept_rapid_type_visitor(val
* self
, val
* p0
) {
7028 val
* var_v
/* var v: RapidTypeVisitor */;
7029 val
* var
/* : RapidTypeAnalysis */;
7030 val
* var2
/* : RapidTypeAnalysis */;
7031 val
* var3
/* : MModule */;
7032 val
* var5
/* : MModule */;
7033 val
* var6
/* : MClassType */;
7034 val
* var_native
/* var native: MClassType */;
7035 static val
* varonce
;
7036 val
* var7
/* : String */;
7037 char* var8
/* : CString */;
7038 val
* var9
/* : String */;
7039 val
* var10
/* : nullable Int */;
7040 val
* var11
/* : nullable Int */;
7041 val
* var12
/* : nullable Bool */;
7042 val
* var13
/* : nullable Bool */;
7043 val
* var14
/* : MMethod */;
7044 val
* var_prop
/* var prop: MMethod */;
7045 val
* var15
/* : nullable CallSite */;
7046 val
* var17
/* : nullable CallSite */;
7047 val
* var18
/* : nullable CallSite */;
7048 val
* var20
/* : nullable CallSite */;
7049 val
* var21
/* : nullable CallSite */;
7050 val
* var23
/* : nullable CallSite */;
7051 val
* var24
/* : nullable CallSite */;
7052 val
* var26
/* : nullable CallSite */;
7053 val
* var27
/* : nullable CallSite */;
7054 val
* var29
/* : nullable CallSite */;
7057 { /* Inline rapid_type_analysis$RapidTypeVisitor$analysis (var_v) on <var_v:RapidTypeVisitor> */
7058 var2
= var_v
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeVisitor___analysis
].val
; /* _analysis on <var_v:RapidTypeVisitor> */
7059 if (unlikely(var2
== NULL
)) {
7060 if(catchStack
.cursor
>= 0){
7061 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7063 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _analysis");
7064 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 465);
7072 { /* Inline rapid_type_analysis$RapidTypeAnalysis$mainmodule (var) on <var:RapidTypeAnalysis> */
7073 var5
= var
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___mainmodule
].val
; /* _mainmodule on <var:RapidTypeAnalysis> */
7074 if (unlikely(var5
== NULL
)) {
7075 if(catchStack
.cursor
>= 0){
7076 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7078 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
7079 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 56);
7087 var6
= nitc__model___MModule___c_string_type(var3
);
7091 nitc___nitc__RapidTypeVisitor___add_type(var_v
, var_native
); /* Direct call rapid_type_analysis$RapidTypeVisitor$add_type on <var_v:RapidTypeVisitor>*/
7093 if (likely(varonce
!=NULL
)) {
7096 var8
= "to_s_unsafe";
7097 var10
= (val
*)(11l<<2|1);
7098 var11
= (val
*)(11l<<2|1);
7099 var12
= (val
*)((long)(0)<<2|3);
7100 var13
= (val
*)((long)(0)<<2|3);
7101 var9
= core__flat___CString___to_s_unsafe(var8
, var10
, var11
, var12
, var13
);
7106 var14
= nitc___nitc__RapidTypeVisitor___get_method(var_v
, var_native
, var7
);
7110 nitc___nitc__RapidTypeVisitor___add_monomorphic_send(var_v
, var_native
, var_prop
); /* Direct call rapid_type_analysis$RapidTypeVisitor$add_monomorphic_send on <var_v:RapidTypeVisitor>*/
7113 { /* Inline typing$AugmentedStringFormExpr$to_re (self) on <self:AStringFormExpr> */
7114 var17
= self
->attrs
[COLOR_nitc__typing__AugmentedStringFormExpr___to_re
].val
; /* _to_re on <self:AStringFormExpr> */
7116 RET_LABEL16
:(void)0;
7120 nitc___nitc__RapidTypeVisitor___add_callsite(var_v
, var15
); /* Direct call rapid_type_analysis$RapidTypeVisitor$add_callsite on <var_v:RapidTypeVisitor>*/
7123 { /* Inline typing$AugmentedStringFormExpr$ignore_case (self) on <self:AStringFormExpr> */
7124 var20
= self
->attrs
[COLOR_nitc__typing__AugmentedStringFormExpr___ignore_case
].val
; /* _ignore_case on <self:AStringFormExpr> */
7126 RET_LABEL19
:(void)0;
7130 nitc___nitc__RapidTypeVisitor___add_callsite(var_v
, var18
); /* Direct call rapid_type_analysis$RapidTypeVisitor$add_callsite on <var_v:RapidTypeVisitor>*/
7133 { /* Inline typing$AugmentedStringFormExpr$newline (self) on <self:AStringFormExpr> */
7134 var23
= self
->attrs
[COLOR_nitc__typing__AugmentedStringFormExpr___newline
].val
; /* _newline on <self:AStringFormExpr> */
7136 RET_LABEL22
:(void)0;
7140 nitc___nitc__RapidTypeVisitor___add_callsite(var_v
, var21
); /* Direct call rapid_type_analysis$RapidTypeVisitor$add_callsite on <var_v:RapidTypeVisitor>*/
7143 { /* Inline typing$AugmentedStringFormExpr$extended (self) on <self:AStringFormExpr> */
7144 var26
= self
->attrs
[COLOR_nitc__typing__AugmentedStringFormExpr___extended
].val
; /* _extended on <self:AStringFormExpr> */
7146 RET_LABEL25
:(void)0;
7150 nitc___nitc__RapidTypeVisitor___add_callsite(var_v
, var24
); /* Direct call rapid_type_analysis$RapidTypeVisitor$add_callsite on <var_v:RapidTypeVisitor>*/
7153 { /* Inline typing$AugmentedStringFormExpr$to_bytes_with_copy (self) on <self:AStringFormExpr> */
7154 var29
= self
->attrs
[COLOR_nitc__typing__AugmentedStringFormExpr___to_bytes_with_copy
].val
; /* _to_bytes_with_copy on <self:AStringFormExpr> */
7156 RET_LABEL28
:(void)0;
7160 nitc___nitc__RapidTypeVisitor___add_callsite(var_v
, var27
); /* Direct call rapid_type_analysis$RapidTypeVisitor$add_callsite on <var_v:RapidTypeVisitor>*/
7164 /* method rapid_type_analysis$ASuperstringExpr$accept_rapid_type_visitor for (self: ASuperstringExpr, RapidTypeVisitor) */
7165 void nitc__rapid_type_analysis___ASuperstringExpr___ANode__accept_rapid_type_visitor(val
* self
, val
* p0
) {
7166 val
* var_v
/* var v: RapidTypeVisitor */;
7167 val
* var
/* : RapidTypeAnalysis */;
7168 val
* var2
/* : RapidTypeAnalysis */;
7169 val
* var3
/* : MModule */;
7170 val
* var5
/* : MModule */;
7171 val
* var_mmodule
/* var mmodule: MModule */;
7172 val
* var6
/* : MClassType */;
7173 val
* var_object_type
/* var object_type: MClassType */;
7174 val
* var7
/* : MClassType */;
7175 val
* var_arraytype
/* var arraytype: MClassType */;
7176 val
* var8
/* : MClassType */;
7177 val
* var_nattype
/* var nattype: MClassType */;
7178 static val
* varonce
;
7179 val
* var9
/* : String */;
7180 char* var10
/* : CString */;
7181 val
* var11
/* : String */;
7182 val
* var12
/* : nullable Int */;
7183 val
* var13
/* : nullable Int */;
7184 val
* var14
/* : nullable Bool */;
7185 val
* var15
/* : nullable Bool */;
7186 val
* var16
/* : MMethod */;
7187 val
* var_prop
/* var prop: MMethod */;
7188 static val
* varonce17
;
7189 val
* var18
/* : String */;
7190 char* var19
/* : CString */;
7191 val
* var20
/* : String */;
7192 val
* var21
/* : nullable Int */;
7193 val
* var22
/* : nullable Int */;
7194 val
* var23
/* : nullable Bool */;
7195 val
* var24
/* : nullable Bool */;
7196 val
* var25
/* : MMethod */;
7197 val
* var_prop2
/* var prop2: MMethod */;
7198 static val
* varonce26
;
7199 val
* var27
/* : String */;
7200 char* var28
/* : CString */;
7201 val
* var29
/* : String */;
7202 val
* var30
/* : nullable Int */;
7203 val
* var31
/* : nullable Int */;
7204 val
* var32
/* : nullable Bool */;
7205 val
* var33
/* : nullable Bool */;
7206 val
* var34
/* : MMethod */;
7209 { /* Inline rapid_type_analysis$RapidTypeVisitor$analysis (var_v) on <var_v:RapidTypeVisitor> */
7210 var2
= var_v
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeVisitor___analysis
].val
; /* _analysis on <var_v:RapidTypeVisitor> */
7211 if (unlikely(var2
== NULL
)) {
7212 if(catchStack
.cursor
>= 0){
7213 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7215 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _analysis");
7216 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 465);
7224 { /* Inline rapid_type_analysis$RapidTypeAnalysis$mainmodule (var) on <var:RapidTypeAnalysis> */
7225 var5
= var
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___mainmodule
].val
; /* _mainmodule on <var:RapidTypeAnalysis> */
7226 if (unlikely(var5
== NULL
)) {
7227 if(catchStack
.cursor
>= 0){
7228 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7230 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
7231 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 56);
7240 var6
= nitc__model___MModule___string_type(var_mmodule
);
7242 var_object_type
= var6
;
7244 var7
= nitc__model___MModule___array_type(var_mmodule
, var_object_type
);
7246 var_arraytype
= var7
;
7248 nitc___nitc__RapidTypeVisitor___add_type(var_v
, var_arraytype
); /* Direct call rapid_type_analysis$RapidTypeVisitor$add_type on <var_v:RapidTypeVisitor>*/
7251 var8
= nitc__model___MModule___native_array_type(var_mmodule
, var_object_type
);
7255 nitc___nitc__RapidTypeVisitor___add_type(var_v
, var_nattype
); /* Direct call rapid_type_analysis$RapidTypeVisitor$add_type on <var_v:RapidTypeVisitor>*/
7257 if (likely(varonce
!=NULL
)) {
7261 var12
= (val
*)(4l<<2|1);
7262 var13
= (val
*)(4l<<2|1);
7263 var14
= (val
*)((long)(0)<<2|3);
7264 var15
= (val
*)((long)(0)<<2|3);
7265 var11
= core__flat___CString___to_s_unsafe(var10
, var12
, var13
, var14
, var15
);
7270 var16
= nitc___nitc__RapidTypeVisitor___get_method(var_v
, var_arraytype
, var9
);
7274 nitc___nitc__RapidTypeVisitor___add_monomorphic_send(var_v
, var_arraytype
, var_prop
); /* Direct call rapid_type_analysis$RapidTypeVisitor$add_monomorphic_send on <var_v:RapidTypeVisitor>*/
7276 if (likely(varonce17
!=NULL
)) {
7279 var19
= "with_native";
7280 var21
= (val
*)(11l<<2|1);
7281 var22
= (val
*)(11l<<2|1);
7282 var23
= (val
*)((long)(0)<<2|3);
7283 var24
= (val
*)((long)(0)<<2|3);
7284 var20
= core__flat___CString___to_s_unsafe(var19
, var21
, var22
, var23
, var24
);
7289 var25
= nitc___nitc__RapidTypeVisitor___get_method(var_v
, var_arraytype
, var18
);
7293 nitc___nitc__RapidTypeVisitor___add_monomorphic_send(var_v
, var_arraytype
, var_prop2
); /* Direct call rapid_type_analysis$RapidTypeVisitor$add_monomorphic_send on <var_v:RapidTypeVisitor>*/
7295 if (likely(varonce26
!=NULL
)) {
7298 var28
= "native_to_s";
7299 var30
= (val
*)(11l<<2|1);
7300 var31
= (val
*)(11l<<2|1);
7301 var32
= (val
*)((long)(0)<<2|3);
7302 var33
= (val
*)((long)(0)<<2|3);
7303 var29
= core__flat___CString___to_s_unsafe(var28
, var30
, var31
, var32
, var33
);
7308 var34
= nitc___nitc__RapidTypeVisitor___get_method(var_v
, var_nattype
, var27
);
7311 nitc___nitc__RapidTypeVisitor___add_monomorphic_send(var_v
, var_nattype
, var34
); /* Direct call rapid_type_analysis$RapidTypeVisitor$add_monomorphic_send on <var_v:RapidTypeVisitor>*/
7315 /* method rapid_type_analysis$ACrangeExpr$accept_rapid_type_visitor for (self: ACrangeExpr, RapidTypeVisitor) */
7316 void nitc__rapid_type_analysis___ACrangeExpr___ANode__accept_rapid_type_visitor(val
* self
, val
* p0
) {
7317 val
* var_v
/* var v: RapidTypeVisitor */;
7318 val
* var
/* : nullable MType */;
7319 val
* var2
/* : nullable MType */;
7320 val
* var_mtype
/* var mtype: nullable MType */;
7321 short int var3
/* : Bool */;
7324 short int var4
/* : Bool */;
7325 val
* var5
/* : nullable CallSite */;
7326 val
* var7
/* : nullable CallSite */;
7329 { /* Inline typing$AExpr$mtype (self) on <self:ACrangeExpr> */
7330 var2
= self
->attrs
[COLOR_nitc__typing__AExpr___mtype
].val
; /* _mtype on <self:ACrangeExpr> */
7336 /* <var_mtype:nullable MType> isa MClassType */
7337 cltype
= type_nitc__MClassType
.color
;
7338 idtype
= type_nitc__MClassType
.id
;
7339 if(var_mtype
== NULL
) {
7342 if(cltype
>= var_mtype
->type
->table_size
) {
7345 var3
= var_mtype
->type
->type_table
[cltype
] == idtype
;
7354 nitc___nitc__RapidTypeVisitor___add_type(var_v
, var_mtype
); /* Direct call rapid_type_analysis$RapidTypeVisitor$add_type on <var_v:RapidTypeVisitor>*/
7357 { /* Inline typing$ARangeExpr$init_callsite (self) on <self:ACrangeExpr> */
7358 var7
= self
->attrs
[COLOR_nitc__typing__ARangeExpr___init_callsite
].val
; /* _init_callsite on <self:ACrangeExpr> */
7364 nitc___nitc__RapidTypeVisitor___add_callsite(var_v
, var5
); /* Direct call rapid_type_analysis$RapidTypeVisitor$add_callsite on <var_v:RapidTypeVisitor>*/
7368 /* method rapid_type_analysis$AOrangeExpr$accept_rapid_type_visitor for (self: AOrangeExpr, RapidTypeVisitor) */
7369 void nitc__rapid_type_analysis___AOrangeExpr___ANode__accept_rapid_type_visitor(val
* self
, val
* p0
) {
7370 val
* var_v
/* var v: RapidTypeVisitor */;
7371 val
* var
/* : nullable MType */;
7372 val
* var2
/* : nullable MType */;
7373 val
* var_mtype
/* var mtype: nullable MType */;
7374 short int var3
/* : Bool */;
7377 short int var4
/* : Bool */;
7378 val
* var5
/* : nullable CallSite */;
7379 val
* var7
/* : nullable CallSite */;
7382 { /* Inline typing$AExpr$mtype (self) on <self:AOrangeExpr> */
7383 var2
= self
->attrs
[COLOR_nitc__typing__AExpr___mtype
].val
; /* _mtype on <self:AOrangeExpr> */
7389 /* <var_mtype:nullable MType> isa MClassType */
7390 cltype
= type_nitc__MClassType
.color
;
7391 idtype
= type_nitc__MClassType
.id
;
7392 if(var_mtype
== NULL
) {
7395 if(cltype
>= var_mtype
->type
->table_size
) {
7398 var3
= var_mtype
->type
->type_table
[cltype
] == idtype
;
7407 nitc___nitc__RapidTypeVisitor___add_type(var_v
, var_mtype
); /* Direct call rapid_type_analysis$RapidTypeVisitor$add_type on <var_v:RapidTypeVisitor>*/
7410 { /* Inline typing$ARangeExpr$init_callsite (self) on <self:AOrangeExpr> */
7411 var7
= self
->attrs
[COLOR_nitc__typing__ARangeExpr___init_callsite
].val
; /* _init_callsite on <self:AOrangeExpr> */
7417 nitc___nitc__RapidTypeVisitor___add_callsite(var_v
, var5
); /* Direct call rapid_type_analysis$RapidTypeVisitor$add_callsite on <var_v:RapidTypeVisitor>*/
7421 /* method rapid_type_analysis$ATrueExpr$accept_rapid_type_visitor for (self: ATrueExpr, RapidTypeVisitor) */
7422 void nitc__rapid_type_analysis___ATrueExpr___ANode__accept_rapid_type_visitor(val
* self
, val
* p0
) {
7423 val
* var_v
/* var v: RapidTypeVisitor */;
7426 nitc__rapid_type_analysis___AExpr___allocate_mtype(self
, var_v
); /* Direct call rapid_type_analysis$AExpr$allocate_mtype on <self:ATrueExpr>*/
7430 /* method rapid_type_analysis$AFalseExpr$accept_rapid_type_visitor for (self: AFalseExpr, RapidTypeVisitor) */
7431 void nitc__rapid_type_analysis___AFalseExpr___ANode__accept_rapid_type_visitor(val
* self
, val
* p0
) {
7432 val
* var_v
/* var v: RapidTypeVisitor */;
7435 nitc__rapid_type_analysis___AExpr___allocate_mtype(self
, var_v
); /* Direct call rapid_type_analysis$AExpr$allocate_mtype on <self:AFalseExpr>*/
7439 /* method rapid_type_analysis$AIsaExpr$accept_rapid_type_visitor for (self: AIsaExpr, RapidTypeVisitor) */
7440 void nitc__rapid_type_analysis___AIsaExpr___ANode__accept_rapid_type_visitor(val
* self
, val
* p0
) {
7441 val
* var_v
/* var v: RapidTypeVisitor */;
7442 val
* var
/* : nullable MType */;
7443 val
* var2
/* : nullable MType */;
7444 val
* var_cast_type
/* var cast_type: nullable MType */;
7445 short int var3
/* : Bool */;
7446 short int var4
/* : Bool */;
7447 val
* var_other
/* var other: nullable Object */;
7448 short int var6
/* : Bool */;
7449 short int var8
/* : Bool */;
7452 { /* Inline typing$AIsaExpr$cast_type (self) on <self:AIsaExpr> */
7453 var2
= self
->attrs
[COLOR_nitc__typing__AIsaExpr___cast_type
].val
; /* _cast_type on <self:AIsaExpr> */
7458 var_cast_type
= var
;
7459 if (var_cast_type
== NULL
) {
7460 var3
= 1; /* is null */
7462 var3
= 0; /* arg is null but recv is not */
7465 { /* Inline kernel$Object$== (var_cast_type,((val*)NULL)) on <var_cast_type:nullable MType> */
7466 var_other
= ((val
*)NULL
);
7468 { /* Inline kernel$Object$is_same_instance (var_cast_type,var_other) on <var_cast_type:nullable MType(MType)> */
7469 var8
= var_cast_type
== var_other
;
7486 nitc___nitc__RapidTypeVisitor___add_cast_type(var_v
, var_cast_type
); /* Direct call rapid_type_analysis$RapidTypeVisitor$add_cast_type on <var_v:RapidTypeVisitor>*/
7490 /* method rapid_type_analysis$AAsCastExpr$accept_rapid_type_visitor for (self: AAsCastExpr, RapidTypeVisitor) */
7491 void nitc__rapid_type_analysis___AAsCastExpr___ANode__accept_rapid_type_visitor(val
* self
, val
* p0
) {
7492 val
* var_v
/* var v: RapidTypeVisitor */;
7493 val
* var
/* : nullable MType */;
7494 val
* var2
/* : nullable MType */;
7495 val
* var_mtype
/* var mtype: nullable MType */;
7496 short int var3
/* : Bool */;
7497 short int var4
/* : Bool */;
7498 val
* var_other
/* var other: nullable Object */;
7499 short int var6
/* : Bool */;
7500 short int var8
/* : Bool */;
7503 { /* Inline typing$AExpr$mtype (self) on <self:AAsCastExpr> */
7504 var2
= self
->attrs
[COLOR_nitc__typing__AExpr___mtype
].val
; /* _mtype on <self:AAsCastExpr> */
7510 if (var_mtype
== NULL
) {
7511 var3
= 1; /* is null */
7513 var3
= 0; /* arg is null but recv is not */
7516 { /* Inline kernel$Object$== (var_mtype,((val*)NULL)) on <var_mtype:nullable MType> */
7517 var_other
= ((val
*)NULL
);
7519 { /* Inline kernel$Object$is_same_instance (var_mtype,var_other) on <var_mtype:nullable MType(MType)> */
7520 var8
= var_mtype
== var_other
;
7537 nitc___nitc__RapidTypeVisitor___add_cast_type(var_v
, var_mtype
); /* Direct call rapid_type_analysis$RapidTypeVisitor$add_cast_type on <var_v:RapidTypeVisitor>*/
7541 /* method rapid_type_analysis$ASendExpr$accept_rapid_type_visitor for (self: ASendExpr, RapidTypeVisitor) */
7542 void nitc__rapid_type_analysis___ASendExpr___ANode__accept_rapid_type_visitor(val
* self
, val
* p0
) {
7543 val
* var_v
/* var v: RapidTypeVisitor */;
7544 val
* var
/* : nullable CallSite */;
7545 val
* var2
/* : nullable CallSite */;
7548 { /* Inline typing$ASendExpr$callsite (self) on <self:ASendExpr> */
7549 var2
= self
->attrs
[COLOR_nitc__typing__ASendExpr___callsite
].val
; /* _callsite on <self:ASendExpr> */
7555 nitc___nitc__RapidTypeVisitor___add_callsite(var_v
, var
); /* Direct call rapid_type_analysis$RapidTypeVisitor$add_callsite on <var_v:RapidTypeVisitor>*/
7559 /* method rapid_type_analysis$ASendReassignFormExpr$accept_rapid_type_visitor for (self: ASendReassignFormExpr, RapidTypeVisitor) */
7560 void nitc__rapid_type_analysis___ASendReassignFormExpr___ANode__accept_rapid_type_visitor(val
* self
, val
* p0
) {
7561 val
* var_v
/* var v: RapidTypeVisitor */;
7562 val
* var
/* : nullable CallSite */;
7563 val
* var2
/* : nullable CallSite */;
7564 val
* var3
/* : nullable CallSite */;
7565 val
* var5
/* : nullable CallSite */;
7566 val
* var6
/* : nullable CallSite */;
7567 val
* var8
/* : nullable CallSite */;
7570 { /* Inline typing$ASendExpr$callsite (self) on <self:ASendReassignFormExpr> */
7571 var2
= self
->attrs
[COLOR_nitc__typing__ASendExpr___callsite
].val
; /* _callsite on <self:ASendReassignFormExpr> */
7577 nitc___nitc__RapidTypeVisitor___add_callsite(var_v
, var
); /* Direct call rapid_type_analysis$RapidTypeVisitor$add_callsite on <var_v:RapidTypeVisitor>*/
7580 { /* Inline typing$AReassignFormExpr$reassign_callsite (self) on <self:ASendReassignFormExpr> */
7581 var5
= self
->attrs
[COLOR_nitc__typing__AReassignFormExpr___reassign_callsite
].val
; /* _reassign_callsite on <self:ASendReassignFormExpr> */
7587 nitc___nitc__RapidTypeVisitor___add_callsite(var_v
, var3
); /* Direct call rapid_type_analysis$RapidTypeVisitor$add_callsite on <var_v:RapidTypeVisitor>*/
7590 { /* Inline typing$ASendReassignFormExpr$write_callsite (self) on <self:ASendReassignFormExpr> */
7591 var8
= self
->attrs
[COLOR_nitc__typing__ASendReassignFormExpr___write_callsite
].val
; /* _write_callsite on <self:ASendReassignFormExpr> */
7597 nitc___nitc__RapidTypeVisitor___add_callsite(var_v
, var6
); /* Direct call rapid_type_analysis$RapidTypeVisitor$add_callsite on <var_v:RapidTypeVisitor>*/
7601 /* method rapid_type_analysis$AVarReassignExpr$accept_rapid_type_visitor for (self: AVarReassignExpr, RapidTypeVisitor) */
7602 void nitc__rapid_type_analysis___AVarReassignExpr___ANode__accept_rapid_type_visitor(val
* self
, val
* p0
) {
7603 val
* var_v
/* var v: RapidTypeVisitor */;
7604 val
* var
/* : nullable CallSite */;
7605 val
* var2
/* : nullable CallSite */;
7608 { /* Inline typing$AReassignFormExpr$reassign_callsite (self) on <self:AVarReassignExpr> */
7609 var2
= self
->attrs
[COLOR_nitc__typing__AReassignFormExpr___reassign_callsite
].val
; /* _reassign_callsite on <self:AVarReassignExpr> */
7615 nitc___nitc__RapidTypeVisitor___add_callsite(var_v
, var
); /* Direct call rapid_type_analysis$RapidTypeVisitor$add_callsite on <var_v:RapidTypeVisitor>*/
7619 /* method rapid_type_analysis$AAttrReassignExpr$accept_rapid_type_visitor for (self: AAttrReassignExpr, RapidTypeVisitor) */
7620 void nitc__rapid_type_analysis___AAttrReassignExpr___ANode__accept_rapid_type_visitor(val
* self
, val
* p0
) {
7621 val
* var_v
/* var v: RapidTypeVisitor */;
7622 val
* var
/* : nullable CallSite */;
7623 val
* var2
/* : nullable CallSite */;
7626 { /* Inline typing$AReassignFormExpr$reassign_callsite (self) on <self:AAttrReassignExpr> */
7627 var2
= self
->attrs
[COLOR_nitc__typing__AReassignFormExpr___reassign_callsite
].val
; /* _reassign_callsite on <self:AAttrReassignExpr> */
7633 nitc___nitc__RapidTypeVisitor___add_callsite(var_v
, var
); /* Direct call rapid_type_analysis$RapidTypeVisitor$add_callsite on <var_v:RapidTypeVisitor>*/
7637 /* method rapid_type_analysis$ASuperExpr$accept_rapid_type_visitor for (self: ASuperExpr, RapidTypeVisitor) */
7638 void nitc__rapid_type_analysis___ASuperExpr___ANode__accept_rapid_type_visitor(val
* self
, val
* p0
) {
7639 val
* var_v
/* var v: RapidTypeVisitor */;
7640 val
* var
/* : nullable CallSite */;
7641 val
* var2
/* : nullable CallSite */;
7642 val
* var_callsite
/* var callsite: nullable CallSite */;
7643 short int var3
/* : Bool */;
7644 short int var4
/* : Bool */;
7645 val
* var_other
/* var other: nullable Object */;
7646 short int var6
/* : Bool */;
7647 short int var7
/* : Bool */;
7648 val
* var8
/* : RapidTypeAnalysis */;
7649 val
* var10
/* : RapidTypeAnalysis */;
7650 val
* var11
/* : MClassType */;
7651 val
* var13
/* : MClassType */;
7652 val
* var14
/* : nullable MMethodDef */;
7653 val
* var16
/* : nullable MMethodDef */;
7656 { /* Inline typing$ASuperExpr$callsite (self) on <self:ASuperExpr> */
7657 var2
= self
->attrs
[COLOR_nitc__typing__ASuperExpr___callsite
].val
; /* _callsite on <self:ASuperExpr> */
7663 if (var_callsite
== NULL
) {
7664 var3
= 0; /* is null */
7666 var3
= 1; /* arg is null and recv is not */
7669 { /* Inline kernel$Object$!= (var_callsite,((val*)NULL)) on <var_callsite:nullable CallSite> */
7670 var_other
= ((val
*)NULL
);
7672 var6
= ((short int(*)(val
* self
, val
* p0
))(var_callsite
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_callsite
, var_other
); /* == on <var_callsite:nullable CallSite(CallSite)>*/
7683 nitc___nitc__RapidTypeVisitor___add_callsite(var_v
, var_callsite
); /* Direct call rapid_type_analysis$RapidTypeVisitor$add_callsite on <var_v:RapidTypeVisitor>*/
7689 { /* Inline rapid_type_analysis$RapidTypeVisitor$analysis (var_v) on <var_v:RapidTypeVisitor> */
7690 var10
= var_v
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeVisitor___analysis
].val
; /* _analysis on <var_v:RapidTypeVisitor> */
7691 if (unlikely(var10
== NULL
)) {
7692 if(catchStack
.cursor
>= 0){
7693 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7695 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _analysis");
7696 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 465);
7704 { /* Inline rapid_type_analysis$RapidTypeVisitor$receiver (var_v) on <var_v:RapidTypeVisitor> */
7705 var13
= var_v
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeVisitor___receiver
].val
; /* _receiver on <var_v:RapidTypeVisitor> */
7706 if (unlikely(var13
== NULL
)) {
7707 if(catchStack
.cursor
>= 0){
7708 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7710 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _receiver");
7711 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 466);
7715 RET_LABEL12
:(void)0;
7719 { /* Inline typing$ASuperExpr$mpropdef (self) on <self:ASuperExpr> */
7720 var16
= self
->attrs
[COLOR_nitc__typing__ASuperExpr___mpropdef
].val
; /* _mpropdef on <self:ASuperExpr> */
7722 RET_LABEL15
:(void)0;
7725 if (unlikely(var14
== NULL
)) {
7726 if(catchStack
.cursor
>= 0){
7727 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7729 PRINT_ERROR("Runtime error: %s", "Cast failed");
7730 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 711);
7734 nitc___nitc__RapidTypeAnalysis___add_super_send(var8
, var11
, var14
); /* Direct call rapid_type_analysis$RapidTypeAnalysis$add_super_send on <var8:RapidTypeAnalysis>*/
7738 /* method rapid_type_analysis$AForGroup$accept_rapid_type_visitor for (self: AForGroup, RapidTypeVisitor) */
7739 void nitc__rapid_type_analysis___AForGroup___ANode__accept_rapid_type_visitor(val
* self
, val
* p0
) {
7740 val
* var_v
/* var v: RapidTypeVisitor */;
7741 val
* var
/* : nullable CallSite */;
7742 val
* var2
/* : nullable CallSite */;
7743 val
* var3
/* : nullable CallSite */;
7744 val
* var5
/* : nullable CallSite */;
7745 val
* var6
/* : nullable Array[Variable] */;
7746 val
* var8
/* : nullable Array[Variable] */;
7747 long var9
/* : Int */;
7748 long var11
/* : Int */;
7749 short int var12
/* : Bool */;
7750 short int var14
/* : Bool */;
7751 val
* var15
/* : nullable CallSite */;
7752 val
* var17
/* : nullable CallSite */;
7753 val
* var18
/* : nullable Array[Variable] */;
7754 val
* var20
/* : nullable Array[Variable] */;
7755 long var21
/* : Int */;
7756 long var23
/* : Int */;
7757 short int var24
/* : Bool */;
7758 short int var26
/* : Bool */;
7759 val
* var27
/* : nullable CallSite */;
7760 val
* var29
/* : nullable CallSite */;
7761 val
* var30
/* : nullable CallSite */;
7762 val
* var32
/* : nullable CallSite */;
7763 val
* var33
/* : nullable CallSite */;
7764 val
* var35
/* : nullable CallSite */;
7765 val
* var36
/* : nullable CallSite */;
7766 val
* var38
/* : nullable CallSite */;
7767 val
* var_mf
/* var mf: nullable CallSite */;
7768 short int var39
/* : Bool */;
7769 short int var40
/* : Bool */;
7770 val
* var_other
/* var other: nullable Object */;
7771 short int var42
/* : Bool */;
7772 short int var43
/* : Bool */;
7775 { /* Inline typing$AForGroup$method_iterator (self) on <self:AForGroup> */
7776 var2
= self
->attrs
[COLOR_nitc__typing__AForGroup___method_iterator
].val
; /* _method_iterator on <self:AForGroup> */
7782 nitc___nitc__RapidTypeVisitor___add_callsite(var_v
, var
); /* Direct call rapid_type_analysis$RapidTypeVisitor$add_callsite on <var_v:RapidTypeVisitor>*/
7785 { /* Inline typing$AForGroup$method_is_ok (self) on <self:AForGroup> */
7786 var5
= self
->attrs
[COLOR_nitc__typing__AForGroup___method_is_ok
].val
; /* _method_is_ok on <self:AForGroup> */
7792 nitc___nitc__RapidTypeVisitor___add_callsite(var_v
, var3
); /* Direct call rapid_type_analysis$RapidTypeVisitor$add_callsite on <var_v:RapidTypeVisitor>*/
7795 { /* Inline scope$AForGroup$variables (self) on <self:AForGroup> */
7796 var8
= self
->attrs
[COLOR_nitc__scope__AForGroup___variables
].val
; /* _variables on <self:AForGroup> */
7802 if(catchStack
.cursor
>= 0){
7803 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7805 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7806 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 720);
7809 { /* Inline array$AbstractArrayRead$length (var6) on <var6:nullable Array[Variable]> */
7810 if (unlikely(var6
== NULL
)) {
7811 if(catchStack
.cursor
>= 0){
7812 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7814 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7815 PRINT_ERROR(" (%s:%d)\n", FILE_core__array
, 26);
7818 var11
= var6
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var6:nullable Array[Variable]> */
7820 RET_LABEL10
:(void)0;
7824 { /* Inline kernel$Int$== (var9,1l) on <var9:Int> */
7828 RET_LABEL13
:(void)0;
7833 { /* Inline typing$AForGroup$method_item (self) on <self:AForGroup> */
7834 var17
= self
->attrs
[COLOR_nitc__typing__AForGroup___method_item
].val
; /* _method_item on <self:AForGroup> */
7836 RET_LABEL16
:(void)0;
7840 nitc___nitc__RapidTypeVisitor___add_callsite(var_v
, var15
); /* Direct call rapid_type_analysis$RapidTypeVisitor$add_callsite on <var_v:RapidTypeVisitor>*/
7844 { /* Inline scope$AForGroup$variables (self) on <self:AForGroup> */
7845 var20
= self
->attrs
[COLOR_nitc__scope__AForGroup___variables
].val
; /* _variables on <self:AForGroup> */
7847 RET_LABEL19
:(void)0;
7850 if (var18
== NULL
) {
7851 if(catchStack
.cursor
>= 0){
7852 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7854 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7855 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 722);
7858 { /* Inline array$AbstractArrayRead$length (var18) on <var18:nullable Array[Variable]> */
7859 if (unlikely(var18
== NULL
)) {
7860 if(catchStack
.cursor
>= 0){
7861 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7863 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7864 PRINT_ERROR(" (%s:%d)\n", FILE_core__array
, 26);
7867 var23
= var18
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var18:nullable Array[Variable]> */
7869 RET_LABEL22
:(void)0;
7873 { /* Inline kernel$Int$== (var21,2l) on <var21:Int> */
7874 var26
= var21
== 2l;
7877 RET_LABEL25
:(void)0;
7882 { /* Inline typing$AForGroup$method_key (self) on <self:AForGroup> */
7883 var29
= self
->attrs
[COLOR_nitc__typing__AForGroup___method_key
].val
; /* _method_key on <self:AForGroup> */
7885 RET_LABEL28
:(void)0;
7889 nitc___nitc__RapidTypeVisitor___add_callsite(var_v
, var27
); /* Direct call rapid_type_analysis$RapidTypeVisitor$add_callsite on <var_v:RapidTypeVisitor>*/
7892 { /* Inline typing$AForGroup$method_item (self) on <self:AForGroup> */
7893 var32
= self
->attrs
[COLOR_nitc__typing__AForGroup___method_item
].val
; /* _method_item on <self:AForGroup> */
7895 RET_LABEL31
:(void)0;
7899 nitc___nitc__RapidTypeVisitor___add_callsite(var_v
, var30
); /* Direct call rapid_type_analysis$RapidTypeVisitor$add_callsite on <var_v:RapidTypeVisitor>*/
7902 if(catchStack
.cursor
>= 0){
7903 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7905 PRINT_ERROR("Runtime error: %s", "Aborted");
7906 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 726);
7911 { /* Inline typing$AForGroup$method_next (self) on <self:AForGroup> */
7912 var35
= self
->attrs
[COLOR_nitc__typing__AForGroup___method_next
].val
; /* _method_next on <self:AForGroup> */
7914 RET_LABEL34
:(void)0;
7918 nitc___nitc__RapidTypeVisitor___add_callsite(var_v
, var33
); /* Direct call rapid_type_analysis$RapidTypeVisitor$add_callsite on <var_v:RapidTypeVisitor>*/
7921 { /* Inline typing$AForGroup$method_finish (self) on <self:AForGroup> */
7922 var38
= self
->attrs
[COLOR_nitc__typing__AForGroup___method_finish
].val
; /* _method_finish on <self:AForGroup> */
7924 RET_LABEL37
:(void)0;
7928 if (var_mf
== NULL
) {
7929 var39
= 0; /* is null */
7931 var39
= 1; /* arg is null and recv is not */
7934 { /* Inline kernel$Object$!= (var_mf,((val*)NULL)) on <var_mf:nullable CallSite> */
7935 var_other
= ((val
*)NULL
);
7937 var42
= ((short int(*)(val
* self
, val
* p0
))(var_mf
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_mf
, var_other
); /* == on <var_mf:nullable CallSite(CallSite)>*/
7942 RET_LABEL41
:(void)0;
7948 nitc___nitc__RapidTypeVisitor___add_callsite(var_v
, var_mf
); /* Direct call rapid_type_analysis$RapidTypeVisitor$add_callsite on <var_v:RapidTypeVisitor>*/
7954 /* method rapid_type_analysis$ANewExpr$accept_rapid_type_visitor for (self: ANewExpr, RapidTypeVisitor) */
7955 void nitc__rapid_type_analysis___ANewExpr___ANode__accept_rapid_type_visitor(val
* self
, val
* p0
) {
7956 val
* var_v
/* var v: RapidTypeVisitor */;
7957 val
* var
/* : nullable MClassType */;
7958 val
* var2
/* : nullable MClassType */;
7959 val
* var_mtype
/* var mtype: MClassType */;
7960 val
* var3
/* : nullable CallSite */;
7961 val
* var5
/* : nullable CallSite */;
7964 { /* Inline typing$ANewExpr$recvtype (self) on <self:ANewExpr> */
7965 var2
= self
->attrs
[COLOR_nitc__typing__ANewExpr___recvtype
].val
; /* _recvtype on <self:ANewExpr> */
7970 if (unlikely(var
== NULL
)) {
7971 if(catchStack
.cursor
>= 0){
7972 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7974 PRINT_ERROR("Runtime error: %s", "Cast failed");
7975 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 737);
7980 nitc___nitc__RapidTypeVisitor___add_type(var_v
, var_mtype
); /* Direct call rapid_type_analysis$RapidTypeVisitor$add_type on <var_v:RapidTypeVisitor>*/
7983 { /* Inline typing$ANewExpr$callsite (self) on <self:ANewExpr> */
7984 var5
= self
->attrs
[COLOR_nitc__typing__ANewExpr___callsite
].val
; /* _callsite on <self:ANewExpr> */
7990 nitc___nitc__RapidTypeVisitor___add_callsite(var_v
, var3
); /* Direct call rapid_type_analysis$RapidTypeVisitor$add_callsite on <var_v:RapidTypeVisitor>*/