c_src: regenerate
[nit.git] / c_src / nit__separate_compiler.sep.1.c
diff --git a/c_src/nit__separate_compiler.sep.1.c b/c_src/nit__separate_compiler.sep.1.c
deleted file mode 100644 (file)
index adf28db..0000000
+++ /dev/null
@@ -1,9474 +0,0 @@
-#include "nit__separate_compiler.sep.0.h"
-/* method separate_compiler#ToolContext#opt_separate for (self: ToolContext): OptionBool */
-val* nit__separate_compiler___ToolContext___opt_separate(val* self) {
-val* var /* : OptionBool */;
-val* var1 /* : OptionBool */;
-var1 = self->attrs[COLOR_nit__separate_compiler__ToolContext___opt_separate].val; /* _opt_separate on <self:ToolContext> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_separate");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 24);
-fatal_exit(1);
-}
-var = var1;
-RET_LABEL:;
-return var;
-}
-/* method separate_compiler#ToolContext#opt_no_inline_intern for (self: ToolContext): OptionBool */
-val* nit__separate_compiler___ToolContext___opt_no_inline_intern(val* self) {
-val* var /* : OptionBool */;
-val* var1 /* : OptionBool */;
-var1 = self->attrs[COLOR_nit__separate_compiler__ToolContext___opt_no_inline_intern].val; /* _opt_no_inline_intern on <self:ToolContext> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_inline_intern");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 26);
-fatal_exit(1);
-}
-var = var1;
-RET_LABEL:;
-return var;
-}
-/* method separate_compiler#ToolContext#opt_no_union_attribute for (self: ToolContext): OptionBool */
-val* nit__separate_compiler___ToolContext___opt_no_union_attribute(val* self) {
-val* var /* : OptionBool */;
-val* var1 /* : OptionBool */;
-var1 = self->attrs[COLOR_nit__separate_compiler__ToolContext___opt_no_union_attribute].val; /* _opt_no_union_attribute on <self:ToolContext> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_union_attribute");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 28);
-fatal_exit(1);
-}
-var = var1;
-RET_LABEL:;
-return var;
-}
-/* method separate_compiler#ToolContext#opt_no_shortcut_equate for (self: ToolContext): OptionBool */
-val* nit__separate_compiler___ToolContext___opt_no_shortcut_equate(val* self) {
-val* var /* : OptionBool */;
-val* var1 /* : OptionBool */;
-var1 = self->attrs[COLOR_nit__separate_compiler__ToolContext___opt_no_shortcut_equate].val; /* _opt_no_shortcut_equate on <self:ToolContext> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_shortcut_equate");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 30);
-fatal_exit(1);
-}
-var = var1;
-RET_LABEL:;
-return var;
-}
-/* method separate_compiler#ToolContext#opt_no_tag_primitives for (self: ToolContext): OptionBool */
-val* nit__separate_compiler___ToolContext___opt_no_tag_primitives(val* self) {
-val* var /* : OptionBool */;
-val* var1 /* : OptionBool */;
-var1 = self->attrs[COLOR_nit__separate_compiler__ToolContext___opt_no_tag_primitives].val; /* _opt_no_tag_primitives on <self:ToolContext> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_tag_primitives");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 32);
-fatal_exit(1);
-}
-var = var1;
-RET_LABEL:;
-return var;
-}
-/* method separate_compiler#ToolContext#opt_colors_are_symbols for (self: ToolContext): OptionBool */
-val* nit__separate_compiler___ToolContext___opt_colors_are_symbols(val* self) {
-val* var /* : OptionBool */;
-val* var1 /* : OptionBool */;
-var1 = self->attrs[COLOR_nit__separate_compiler__ToolContext___opt_colors_are_symbols].val; /* _opt_colors_are_symbols on <self:ToolContext> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_colors_are_symbols");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 35);
-fatal_exit(1);
-}
-var = var1;
-RET_LABEL:;
-return var;
-}
-/* method separate_compiler#ToolContext#opt_trampoline_call for (self: ToolContext): OptionBool */
-val* nit__separate_compiler___ToolContext___opt_trampoline_call(val* self) {
-val* var /* : OptionBool */;
-val* var1 /* : OptionBool */;
-var1 = self->attrs[COLOR_nit__separate_compiler__ToolContext___opt_trampoline_call].val; /* _opt_trampoline_call on <self:ToolContext> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_trampoline_call");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 37);
-fatal_exit(1);
-}
-var = var1;
-RET_LABEL:;
-return var;
-}
-/* method separate_compiler#ToolContext#opt_guard_call for (self: ToolContext): OptionBool */
-val* nit__separate_compiler___ToolContext___opt_guard_call(val* self) {
-val* var /* : OptionBool */;
-val* var1 /* : OptionBool */;
-var1 = self->attrs[COLOR_nit__separate_compiler__ToolContext___opt_guard_call].val; /* _opt_guard_call on <self:ToolContext> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_guard_call");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 39);
-fatal_exit(1);
-}
-var = var1;
-RET_LABEL:;
-return var;
-}
-/* method separate_compiler#ToolContext#opt_substitute_monomorph for (self: ToolContext): OptionBool */
-val* nit__separate_compiler___ToolContext___opt_substitute_monomorph(val* self) {
-val* var /* : OptionBool */;
-val* var1 /* : OptionBool */;
-var1 = self->attrs[COLOR_nit__separate_compiler__ToolContext___opt_substitute_monomorph].val; /* _opt_substitute_monomorph on <self:ToolContext> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_substitute_monomorph");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 41);
-fatal_exit(1);
-}
-var = var1;
-RET_LABEL:;
-return var;
-}
-/* method separate_compiler#ToolContext#opt_link_boost for (self: ToolContext): OptionBool */
-val* nit__separate_compiler___ToolContext___opt_link_boost(val* self) {
-val* var /* : OptionBool */;
-val* var1 /* : OptionBool */;
-var1 = self->attrs[COLOR_nit__separate_compiler__ToolContext___opt_link_boost].val; /* _opt_link_boost on <self:ToolContext> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_link_boost");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 43);
-fatal_exit(1);
-}
-var = var1;
-RET_LABEL:;
-return var;
-}
-/* method separate_compiler#ToolContext#opt_inline_coloring_numbers for (self: ToolContext): OptionBool */
-val* nit__separate_compiler___ToolContext___opt_inline_coloring_numbers(val* self) {
-val* var /* : OptionBool */;
-val* var1 /* : OptionBool */;
-var1 = self->attrs[COLOR_nit__separate_compiler__ToolContext___opt_inline_coloring_numbers].val; /* _opt_inline_coloring_numbers on <self:ToolContext> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_inline_coloring_numbers");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 46);
-fatal_exit(1);
-}
-var = var1;
-RET_LABEL:;
-return var;
-}
-/* method separate_compiler#ToolContext#opt_inline_some_methods for (self: ToolContext): OptionBool */
-val* nit__separate_compiler___ToolContext___opt_inline_some_methods(val* self) {
-val* var /* : OptionBool */;
-val* var1 /* : OptionBool */;
-var1 = self->attrs[COLOR_nit__separate_compiler__ToolContext___opt_inline_some_methods].val; /* _opt_inline_some_methods on <self:ToolContext> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_inline_some_methods");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 48);
-fatal_exit(1);
-}
-var = var1;
-RET_LABEL:;
-return var;
-}
-/* method separate_compiler#ToolContext#opt_direct_call_monomorph for (self: ToolContext): OptionBool */
-val* nit__separate_compiler___ToolContext___opt_direct_call_monomorph(val* self) {
-val* var /* : OptionBool */;
-val* var1 /* : OptionBool */;
-var1 = self->attrs[COLOR_nit__separate_compiler__ToolContext___opt_direct_call_monomorph].val; /* _opt_direct_call_monomorph on <self:ToolContext> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_direct_call_monomorph");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 50);
-fatal_exit(1);
-}
-var = var1;
-RET_LABEL:;
-return var;
-}
-/* method separate_compiler#ToolContext#opt_direct_call_monomorph0 for (self: ToolContext): OptionBool */
-val* nit__separate_compiler___ToolContext___opt_direct_call_monomorph0(val* self) {
-val* var /* : OptionBool */;
-val* var1 /* : OptionBool */;
-var1 = self->attrs[COLOR_nit__separate_compiler__ToolContext___opt_direct_call_monomorph0].val; /* _opt_direct_call_monomorph0 on <self:ToolContext> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_direct_call_monomorph0");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 52);
-fatal_exit(1);
-}
-var = var1;
-RET_LABEL:;
-return var;
-}
-/* method separate_compiler#ToolContext#opt_skip_dead_methods for (self: ToolContext): OptionBool */
-val* nit__separate_compiler___ToolContext___opt_skip_dead_methods(val* self) {
-val* var /* : OptionBool */;
-val* var1 /* : OptionBool */;
-var1 = self->attrs[COLOR_nit__separate_compiler__ToolContext___opt_skip_dead_methods].val; /* _opt_skip_dead_methods on <self:ToolContext> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_skip_dead_methods");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 54);
-fatal_exit(1);
-}
-var = var1;
-RET_LABEL:;
-return var;
-}
-/* method separate_compiler#ToolContext#opt_semi_global for (self: ToolContext): OptionBool */
-val* nit__separate_compiler___ToolContext___opt_semi_global(val* self) {
-val* var /* : OptionBool */;
-val* var1 /* : OptionBool */;
-var1 = self->attrs[COLOR_nit__separate_compiler__ToolContext___opt_semi_global].val; /* _opt_semi_global on <self:ToolContext> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_semi_global");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 56);
-fatal_exit(1);
-}
-var = var1;
-RET_LABEL:;
-return var;
-}
-/* method separate_compiler#ToolContext#opt_colo_dead_methods for (self: ToolContext): OptionBool */
-val* nit__separate_compiler___ToolContext___opt_colo_dead_methods(val* self) {
-val* var /* : OptionBool */;
-val* var1 /* : OptionBool */;
-var1 = self->attrs[COLOR_nit__separate_compiler__ToolContext___opt_colo_dead_methods].val; /* _opt_colo_dead_methods on <self:ToolContext> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_colo_dead_methods");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 58);
-fatal_exit(1);
-}
-var = var1;
-RET_LABEL:;
-return var;
-}
-/* method separate_compiler#ToolContext#opt_tables_metrics for (self: ToolContext): OptionBool */
-val* nit__separate_compiler___ToolContext___opt_tables_metrics(val* self) {
-val* var /* : OptionBool */;
-val* var1 /* : OptionBool */;
-var1 = self->attrs[COLOR_nit__separate_compiler__ToolContext___opt_tables_metrics].val; /* _opt_tables_metrics on <self:ToolContext> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_tables_metrics");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 60);
-fatal_exit(1);
-}
-var = var1;
-RET_LABEL:;
-return var;
-}
-/* method separate_compiler#ToolContext#opt_type_poset for (self: ToolContext): OptionBool */
-val* nit__separate_compiler___ToolContext___opt_type_poset(val* self) {
-val* var /* : OptionBool */;
-val* var1 /* : OptionBool */;
-var1 = self->attrs[COLOR_nit__separate_compiler__ToolContext___opt_type_poset].val; /* _opt_type_poset on <self:ToolContext> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_type_poset");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 62);
-fatal_exit(1);
-}
-var = var1;
-RET_LABEL:;
-return var;
-}
-/* method separate_compiler#ToolContext#init for (self: ToolContext) */
-void nit__separate_compiler___ToolContext___standard__kernel__Object__init(val* self) {
-val* var /* : OptionContext */;
-val* var2 /* : OptionContext */;
-val* var3 /* : OptionBool */;
-val* var5 /* : OptionBool */;
-val* var6 /* : Array[Option] */;
-val* var7 /* : NativeArray[Option] */;
-val* var8 /* : OptionContext */;
-val* var10 /* : OptionContext */;
-val* var11 /* : OptionBool */;
-val* var13 /* : OptionBool */;
-val* var14 /* : Array[Option] */;
-val* var15 /* : NativeArray[Option] */;
-val* var16 /* : OptionContext */;
-val* var18 /* : OptionContext */;
-val* var19 /* : OptionBool */;
-val* var21 /* : OptionBool */;
-val* var22 /* : Array[Option] */;
-val* var23 /* : NativeArray[Option] */;
-val* var24 /* : OptionContext */;
-val* var26 /* : OptionContext */;
-val* var27 /* : OptionBool */;
-val* var29 /* : OptionBool */;
-val* var30 /* : Array[Option] */;
-val* var31 /* : NativeArray[Option] */;
-val* var32 /* : OptionContext */;
-val* var34 /* : OptionContext */;
-val* var35 /* : OptionBool */;
-val* var37 /* : OptionBool */;
-val* var38 /* : Array[Option] */;
-val* var39 /* : NativeArray[Option] */;
-val* var40 /* : OptionContext */;
-val* var42 /* : OptionContext */;
-val* var43 /* : OptionBool */;
-val* var45 /* : OptionBool */;
-val* var46 /* : OptionBool */;
-val* var48 /* : OptionBool */;
-val* var49 /* : OptionBool */;
-val* var51 /* : OptionBool */;
-val* var52 /* : OptionBool */;
-val* var54 /* : OptionBool */;
-val* var55 /* : OptionBool */;
-val* var57 /* : OptionBool */;
-val* var58 /* : OptionBool */;
-val* var60 /* : OptionBool */;
-val* var61 /* : Array[Option] */;
-val* var62 /* : NativeArray[Option] */;
-val* var63 /* : OptionContext */;
-val* var65 /* : OptionContext */;
-val* var66 /* : OptionBool */;
-val* var68 /* : OptionBool */;
-val* var69 /* : OptionBool */;
-val* var71 /* : OptionBool */;
-val* var72 /* : OptionBool */;
-val* var74 /* : OptionBool */;
-val* var75 /* : OptionBool */;
-val* var77 /* : OptionBool */;
-val* var78 /* : OptionBool */;
-val* var80 /* : OptionBool */;
-val* var81 /* : Array[Option] */;
-val* var82 /* : NativeArray[Option] */;
-val* var83 /* : OptionContext */;
-val* var85 /* : OptionContext */;
-val* var86 /* : OptionBool */;
-val* var88 /* : OptionBool */;
-val* var89 /* : Array[Option] */;
-val* var90 /* : NativeArray[Option] */;
-val* var91 /* : OptionContext */;
-val* var93 /* : OptionContext */;
-val* var94 /* : OptionBool */;
-val* var96 /* : OptionBool */;
-val* var97 /* : Array[Option] */;
-val* var98 /* : NativeArray[Option] */;
-val* var99 /* : OptionContext */;
-val* var101 /* : OptionContext */;
-val* var102 /* : OptionBool */;
-val* var104 /* : OptionBool */;
-val* var105 /* : Array[Option] */;
-val* var106 /* : NativeArray[Option] */;
-{
-((void(*)(val* self))(self->class->vft[COLOR_nit__separate_compiler___ToolContext___standard__kernel__Object__init]))(self); /* init on <self:ToolContext>*/
-}
-{
-{ /* Inline toolcontext#ToolContext#option_context (self) on <self:ToolContext> */
-var2 = self->attrs[COLOR_nit__toolcontext__ToolContext___option_context].val; /* _option_context on <self:ToolContext> */
-if (unlikely(var2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 332);
-fatal_exit(1);
-}
-var = var2;
-RET_LABEL1:(void)0;
-}
-}
-{
-{ /* Inline separate_compiler#ToolContext#opt_separate (self) on <self:ToolContext> */
-var5 = self->attrs[COLOR_nit__separate_compiler__ToolContext___opt_separate].val; /* _opt_separate on <self:ToolContext> */
-if (unlikely(var5 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_separate");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 24);
-fatal_exit(1);
-}
-var3 = var5;
-RET_LABEL4:(void)0;
-}
-}
-var6 = NEW_standard__Array(&type_standard__Array__opts__Option);
-{ /* var6 = array_instance Array[Option] */
-var7 = NEW_standard__NativeArray(1l, &type_standard__NativeArray__opts__Option);
-((struct instance_standard__NativeArray*)var7)->values[0] = (val*) var3;
-{
-((void(*)(val* self, val* p0, long p1))(var6->class->vft[COLOR_standard__array__Array__with_native]))(var6, var7, 1l); /* with_native on <var6:Array[Option]>*/
-}
-}
-{
-opts___opts__OptionContext___add_option(var, var6); /* Direct call opts#OptionContext#add_option on <var:OptionContext>*/
-}
-{
-{ /* Inline toolcontext#ToolContext#option_context (self) on <self:ToolContext> */
-var10 = self->attrs[COLOR_nit__toolcontext__ToolContext___option_context].val; /* _option_context on <self:ToolContext> */
-if (unlikely(var10 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 332);
-fatal_exit(1);
-}
-var8 = var10;
-RET_LABEL9:(void)0;
-}
-}
-{
-{ /* Inline separate_compiler#ToolContext#opt_no_inline_intern (self) on <self:ToolContext> */
-var13 = self->attrs[COLOR_nit__separate_compiler__ToolContext___opt_no_inline_intern].val; /* _opt_no_inline_intern on <self:ToolContext> */
-if (unlikely(var13 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_inline_intern");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 26);
-fatal_exit(1);
-}
-var11 = var13;
-RET_LABEL12:(void)0;
-}
-}
-var14 = NEW_standard__Array(&type_standard__Array__opts__Option);
-{ /* var14 = array_instance Array[Option] */
-var15 = NEW_standard__NativeArray(1l, &type_standard__NativeArray__opts__Option);
-((struct instance_standard__NativeArray*)var15)->values[0] = (val*) var11;
-{
-((void(*)(val* self, val* p0, long p1))(var14->class->vft[COLOR_standard__array__Array__with_native]))(var14, var15, 1l); /* with_native on <var14:Array[Option]>*/
-}
-}
-{
-opts___opts__OptionContext___add_option(var8, var14); /* Direct call opts#OptionContext#add_option on <var8:OptionContext>*/
-}
-{
-{ /* Inline toolcontext#ToolContext#option_context (self) on <self:ToolContext> */
-var18 = self->attrs[COLOR_nit__toolcontext__ToolContext___option_context].val; /* _option_context on <self:ToolContext> */
-if (unlikely(var18 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 332);
-fatal_exit(1);
-}
-var16 = var18;
-RET_LABEL17:(void)0;
-}
-}
-{
-{ /* Inline separate_compiler#ToolContext#opt_no_union_attribute (self) on <self:ToolContext> */
-var21 = self->attrs[COLOR_nit__separate_compiler__ToolContext___opt_no_union_attribute].val; /* _opt_no_union_attribute on <self:ToolContext> */
-if (unlikely(var21 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_union_attribute");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 28);
-fatal_exit(1);
-}
-var19 = var21;
-RET_LABEL20:(void)0;
-}
-}
-var22 = NEW_standard__Array(&type_standard__Array__opts__Option);
-{ /* var22 = array_instance Array[Option] */
-var23 = NEW_standard__NativeArray(1l, &type_standard__NativeArray__opts__Option);
-((struct instance_standard__NativeArray*)var23)->values[0] = (val*) var19;
-{
-((void(*)(val* self, val* p0, long p1))(var22->class->vft[COLOR_standard__array__Array__with_native]))(var22, var23, 1l); /* with_native on <var22:Array[Option]>*/
-}
-}
-{
-opts___opts__OptionContext___add_option(var16, var22); /* Direct call opts#OptionContext#add_option on <var16:OptionContext>*/
-}
-{
-{ /* Inline toolcontext#ToolContext#option_context (self) on <self:ToolContext> */
-var26 = self->attrs[COLOR_nit__toolcontext__ToolContext___option_context].val; /* _option_context on <self:ToolContext> */
-if (unlikely(var26 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 332);
-fatal_exit(1);
-}
-var24 = var26;
-RET_LABEL25:(void)0;
-}
-}
-{
-{ /* Inline separate_compiler#ToolContext#opt_no_shortcut_equate (self) on <self:ToolContext> */
-var29 = self->attrs[COLOR_nit__separate_compiler__ToolContext___opt_no_shortcut_equate].val; /* _opt_no_shortcut_equate on <self:ToolContext> */
-if (unlikely(var29 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_shortcut_equate");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 30);
-fatal_exit(1);
-}
-var27 = var29;
-RET_LABEL28:(void)0;
-}
-}
-var30 = NEW_standard__Array(&type_standard__Array__opts__Option);
-{ /* var30 = array_instance Array[Option] */
-var31 = NEW_standard__NativeArray(1l, &type_standard__NativeArray__opts__Option);
-((struct instance_standard__NativeArray*)var31)->values[0] = (val*) var27;
-{
-((void(*)(val* self, val* p0, long p1))(var30->class->vft[COLOR_standard__array__Array__with_native]))(var30, var31, 1l); /* with_native on <var30:Array[Option]>*/
-}
-}
-{
-opts___opts__OptionContext___add_option(var24, var30); /* Direct call opts#OptionContext#add_option on <var24:OptionContext>*/
-}
-{
-{ /* Inline toolcontext#ToolContext#option_context (self) on <self:ToolContext> */
-var34 = self->attrs[COLOR_nit__toolcontext__ToolContext___option_context].val; /* _option_context on <self:ToolContext> */
-if (unlikely(var34 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 332);
-fatal_exit(1);
-}
-var32 = var34;
-RET_LABEL33:(void)0;
-}
-}
-{
-{ /* Inline separate_compiler#ToolContext#opt_no_tag_primitives (self) on <self:ToolContext> */
-var37 = self->attrs[COLOR_nit__separate_compiler__ToolContext___opt_no_tag_primitives].val; /* _opt_no_tag_primitives on <self:ToolContext> */
-if (unlikely(var37 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_tag_primitives");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 32);
-fatal_exit(1);
-}
-var35 = var37;
-RET_LABEL36:(void)0;
-}
-}
-var38 = NEW_standard__Array(&type_standard__Array__opts__Option);
-{ /* var38 = array_instance Array[Option] */
-var39 = NEW_standard__NativeArray(1l, &type_standard__NativeArray__opts__Option);
-((struct instance_standard__NativeArray*)var39)->values[0] = (val*) var35;
-{
-((void(*)(val* self, val* p0, long p1))(var38->class->vft[COLOR_standard__array__Array__with_native]))(var38, var39, 1l); /* with_native on <var38:Array[Option]>*/
-}
-}
-{
-opts___opts__OptionContext___add_option(var32, var38); /* Direct call opts#OptionContext#add_option on <var32:OptionContext>*/
-}
-{
-{ /* Inline toolcontext#ToolContext#option_context (self) on <self:ToolContext> */
-var42 = self->attrs[COLOR_nit__toolcontext__ToolContext___option_context].val; /* _option_context on <self:ToolContext> */
-if (unlikely(var42 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 332);
-fatal_exit(1);
-}
-var40 = var42;
-RET_LABEL41:(void)0;
-}
-}
-{
-{ /* Inline separate_compiler#ToolContext#opt_colors_are_symbols (self) on <self:ToolContext> */
-var45 = self->attrs[COLOR_nit__separate_compiler__ToolContext___opt_colors_are_symbols].val; /* _opt_colors_are_symbols on <self:ToolContext> */
-if (unlikely(var45 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_colors_are_symbols");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 35);
-fatal_exit(1);
-}
-var43 = var45;
-RET_LABEL44:(void)0;
-}
-}
-{
-{ /* Inline separate_compiler#ToolContext#opt_trampoline_call (self) on <self:ToolContext> */
-var48 = self->attrs[COLOR_nit__separate_compiler__ToolContext___opt_trampoline_call].val; /* _opt_trampoline_call on <self:ToolContext> */
-if (unlikely(var48 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_trampoline_call");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 37);
-fatal_exit(1);
-}
-var46 = var48;
-RET_LABEL47:(void)0;
-}
-}
-{
-{ /* Inline separate_compiler#ToolContext#opt_guard_call (self) on <self:ToolContext> */
-var51 = self->attrs[COLOR_nit__separate_compiler__ToolContext___opt_guard_call].val; /* _opt_guard_call on <self:ToolContext> */
-if (unlikely(var51 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_guard_call");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 39);
-fatal_exit(1);
-}
-var49 = var51;
-RET_LABEL50:(void)0;
-}
-}
-{
-{ /* Inline separate_compiler#ToolContext#opt_direct_call_monomorph0 (self) on <self:ToolContext> */
-var54 = self->attrs[COLOR_nit__separate_compiler__ToolContext___opt_direct_call_monomorph0].val; /* _opt_direct_call_monomorph0 on <self:ToolContext> */
-if (unlikely(var54 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_direct_call_monomorph0");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 52);
-fatal_exit(1);
-}
-var52 = var54;
-RET_LABEL53:(void)0;
-}
-}
-{
-{ /* Inline separate_compiler#ToolContext#opt_substitute_monomorph (self) on <self:ToolContext> */
-var57 = self->attrs[COLOR_nit__separate_compiler__ToolContext___opt_substitute_monomorph].val; /* _opt_substitute_monomorph on <self:ToolContext> */
-if (unlikely(var57 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_substitute_monomorph");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 41);
-fatal_exit(1);
-}
-var55 = var57;
-RET_LABEL56:(void)0;
-}
-}
-{
-{ /* Inline separate_compiler#ToolContext#opt_link_boost (self) on <self:ToolContext> */
-var60 = self->attrs[COLOR_nit__separate_compiler__ToolContext___opt_link_boost].val; /* _opt_link_boost on <self:ToolContext> */
-if (unlikely(var60 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_link_boost");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 43);
-fatal_exit(1);
-}
-var58 = var60;
-RET_LABEL59:(void)0;
-}
-}
-var61 = NEW_standard__Array(&type_standard__Array__opts__Option);
-{ /* var61 = array_instance Array[Option] */
-var62 = NEW_standard__NativeArray(6l, &type_standard__NativeArray__opts__Option);
-((struct instance_standard__NativeArray*)var62)->values[0] = (val*) var43;
-((struct instance_standard__NativeArray*)var62)->values[1] = (val*) var46;
-((struct instance_standard__NativeArray*)var62)->values[2] = (val*) var49;
-((struct instance_standard__NativeArray*)var62)->values[3] = (val*) var52;
-((struct instance_standard__NativeArray*)var62)->values[4] = (val*) var55;
-((struct instance_standard__NativeArray*)var62)->values[5] = (val*) var58;
-{
-((void(*)(val* self, val* p0, long p1))(var61->class->vft[COLOR_standard__array__Array__with_native]))(var61, var62, 6l); /* with_native on <var61:Array[Option]>*/
-}
-}
-{
-opts___opts__OptionContext___add_option(var40, var61); /* Direct call opts#OptionContext#add_option on <var40:OptionContext>*/
-}
-{
-{ /* Inline toolcontext#ToolContext#option_context (self) on <self:ToolContext> */
-var65 = self->attrs[COLOR_nit__toolcontext__ToolContext___option_context].val; /* _option_context on <self:ToolContext> */
-if (unlikely(var65 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 332);
-fatal_exit(1);
-}
-var63 = var65;
-RET_LABEL64:(void)0;
-}
-}
-{
-{ /* Inline separate_compiler#ToolContext#opt_inline_coloring_numbers (self) on <self:ToolContext> */
-var68 = self->attrs[COLOR_nit__separate_compiler__ToolContext___opt_inline_coloring_numbers].val; /* _opt_inline_coloring_numbers on <self:ToolContext> */
-if (unlikely(var68 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_inline_coloring_numbers");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 46);
-fatal_exit(1);
-}
-var66 = var68;
-RET_LABEL67:(void)0;
-}
-}
-{
-{ /* Inline separate_compiler#ToolContext#opt_inline_some_methods (self) on <self:ToolContext> */
-var71 = self->attrs[COLOR_nit__separate_compiler__ToolContext___opt_inline_some_methods].val; /* _opt_inline_some_methods on <self:ToolContext> */
-if (unlikely(var71 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_inline_some_methods");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 48);
-fatal_exit(1);
-}
-var69 = var71;
-RET_LABEL70:(void)0;
-}
-}
-{
-{ /* Inline separate_compiler#ToolContext#opt_direct_call_monomorph (self) on <self:ToolContext> */
-var74 = self->attrs[COLOR_nit__separate_compiler__ToolContext___opt_direct_call_monomorph].val; /* _opt_direct_call_monomorph on <self:ToolContext> */
-if (unlikely(var74 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_direct_call_monomorph");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 50);
-fatal_exit(1);
-}
-var72 = var74;
-RET_LABEL73:(void)0;
-}
-}
-{
-{ /* Inline separate_compiler#ToolContext#opt_skip_dead_methods (self) on <self:ToolContext> */
-var77 = self->attrs[COLOR_nit__separate_compiler__ToolContext___opt_skip_dead_methods].val; /* _opt_skip_dead_methods on <self:ToolContext> */
-if (unlikely(var77 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_skip_dead_methods");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 54);
-fatal_exit(1);
-}
-var75 = var77;
-RET_LABEL76:(void)0;
-}
-}
-{
-{ /* Inline separate_compiler#ToolContext#opt_semi_global (self) on <self:ToolContext> */
-var80 = self->attrs[COLOR_nit__separate_compiler__ToolContext___opt_semi_global].val; /* _opt_semi_global on <self:ToolContext> */
-if (unlikely(var80 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_semi_global");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 56);
-fatal_exit(1);
-}
-var78 = var80;
-RET_LABEL79:(void)0;
-}
-}
-var81 = NEW_standard__Array(&type_standard__Array__opts__Option);
-{ /* var81 = array_instance Array[Option] */
-var82 = NEW_standard__NativeArray(5l, &type_standard__NativeArray__opts__Option);
-((struct instance_standard__NativeArray*)var82)->values[0] = (val*) var66;
-((struct instance_standard__NativeArray*)var82)->values[1] = (val*) var69;
-((struct instance_standard__NativeArray*)var82)->values[2] = (val*) var72;
-((struct instance_standard__NativeArray*)var82)->values[3] = (val*) var75;
-((struct instance_standard__NativeArray*)var82)->values[4] = (val*) var78;
-{
-((void(*)(val* self, val* p0, long p1))(var81->class->vft[COLOR_standard__array__Array__with_native]))(var81, var82, 5l); /* with_native on <var81:Array[Option]>*/
-}
-}
-{
-opts___opts__OptionContext___add_option(var63, var81); /* Direct call opts#OptionContext#add_option on <var63:OptionContext>*/
-}
-{
-{ /* Inline toolcontext#ToolContext#option_context (self) on <self:ToolContext> */
-var85 = self->attrs[COLOR_nit__toolcontext__ToolContext___option_context].val; /* _option_context on <self:ToolContext> */
-if (unlikely(var85 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 332);
-fatal_exit(1);
-}
-var83 = var85;
-RET_LABEL84:(void)0;
-}
-}
-{
-{ /* Inline separate_compiler#ToolContext#opt_colo_dead_methods (self) on <self:ToolContext> */
-var88 = self->attrs[COLOR_nit__separate_compiler__ToolContext___opt_colo_dead_methods].val; /* _opt_colo_dead_methods on <self:ToolContext> */
-if (unlikely(var88 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_colo_dead_methods");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 58);
-fatal_exit(1);
-}
-var86 = var88;
-RET_LABEL87:(void)0;
-}
-}
-var89 = NEW_standard__Array(&type_standard__Array__opts__Option);
-{ /* var89 = array_instance Array[Option] */
-var90 = NEW_standard__NativeArray(1l, &type_standard__NativeArray__opts__Option);
-((struct instance_standard__NativeArray*)var90)->values[0] = (val*) var86;
-{
-((void(*)(val* self, val* p0, long p1))(var89->class->vft[COLOR_standard__array__Array__with_native]))(var89, var90, 1l); /* with_native on <var89:Array[Option]>*/
-}
-}
-{
-opts___opts__OptionContext___add_option(var83, var89); /* Direct call opts#OptionContext#add_option on <var83:OptionContext>*/
-}
-{
-{ /* Inline toolcontext#ToolContext#option_context (self) on <self:ToolContext> */
-var93 = self->attrs[COLOR_nit__toolcontext__ToolContext___option_context].val; /* _option_context on <self:ToolContext> */
-if (unlikely(var93 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 332);
-fatal_exit(1);
-}
-var91 = var93;
-RET_LABEL92:(void)0;
-}
-}
-{
-{ /* Inline separate_compiler#ToolContext#opt_tables_metrics (self) on <self:ToolContext> */
-var96 = self->attrs[COLOR_nit__separate_compiler__ToolContext___opt_tables_metrics].val; /* _opt_tables_metrics on <self:ToolContext> */
-if (unlikely(var96 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_tables_metrics");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 60);
-fatal_exit(1);
-}
-var94 = var96;
-RET_LABEL95:(void)0;
-}
-}
-var97 = NEW_standard__Array(&type_standard__Array__opts__Option);
-{ /* var97 = array_instance Array[Option] */
-var98 = NEW_standard__NativeArray(1l, &type_standard__NativeArray__opts__Option);
-((struct instance_standard__NativeArray*)var98)->values[0] = (val*) var94;
-{
-((void(*)(val* self, val* p0, long p1))(var97->class->vft[COLOR_standard__array__Array__with_native]))(var97, var98, 1l); /* with_native on <var97:Array[Option]>*/
-}
-}
-{
-opts___opts__OptionContext___add_option(var91, var97); /* Direct call opts#OptionContext#add_option on <var91:OptionContext>*/
-}
-{
-{ /* Inline toolcontext#ToolContext#option_context (self) on <self:ToolContext> */
-var101 = self->attrs[COLOR_nit__toolcontext__ToolContext___option_context].val; /* _option_context on <self:ToolContext> */
-if (unlikely(var101 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 332);
-fatal_exit(1);
-}
-var99 = var101;
-RET_LABEL100:(void)0;
-}
-}
-{
-{ /* Inline separate_compiler#ToolContext#opt_type_poset (self) on <self:ToolContext> */
-var104 = self->attrs[COLOR_nit__separate_compiler__ToolContext___opt_type_poset].val; /* _opt_type_poset on <self:ToolContext> */
-if (unlikely(var104 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_type_poset");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 62);
-fatal_exit(1);
-}
-var102 = var104;
-RET_LABEL103:(void)0;
-}
-}
-var105 = NEW_standard__Array(&type_standard__Array__opts__Option);
-{ /* var105 = array_instance Array[Option] */
-var106 = NEW_standard__NativeArray(1l, &type_standard__NativeArray__opts__Option);
-((struct instance_standard__NativeArray*)var106)->values[0] = (val*) var102;
-{
-((void(*)(val* self, val* p0, long p1))(var105->class->vft[COLOR_standard__array__Array__with_native]))(var105, var106, 1l); /* with_native on <var105:Array[Option]>*/
-}
-}
-{
-opts___opts__OptionContext___add_option(var99, var105); /* Direct call opts#OptionContext#add_option on <var99:OptionContext>*/
-}
-RET_LABEL:;
-}
-/* method separate_compiler#ToolContext#process_options for (self: ToolContext, Sequence[String]) */
-void nit__separate_compiler___ToolContext___process_options(val* self, val* p0) {
-val* var_args /* var args: Sequence[String] */;
-val* var_tc /* var tc: ToolContext */;
-val* var /* : OptionBool */;
-val* var2 /* : OptionBool */;
-val* var3 /* : nullable Object */;
-val* var5 /* : nullable Object */;
-short int var6 /* : Bool */;
-val* var7 /* : OptionBool */;
-val* var9 /* : OptionBool */;
-short int var11 /* : Bool */;
-int cltype;
-int idtype;
-const struct type* type_struct;
-const char* var_class_name;
-val* var12 /* : nullable Object */;
-val* var13 /* : OptionBool */;
-val* var15 /* : OptionBool */;
-short int var17 /* : Bool */;
-int cltype18;
-int idtype19;
-const struct type* type_struct20;
-const char* var_class_name21;
-val* var22 /* : nullable Object */;
-val* var23 /* : OptionBool */;
-val* var25 /* : OptionBool */;
-short int var27 /* : Bool */;
-int cltype28;
-int idtype29;
-const struct type* type_struct30;
-const char* var_class_name31;
-val* var32 /* : nullable Object */;
-val* var33 /* : OptionBool */;
-val* var35 /* : OptionBool */;
-short int var37 /* : Bool */;
-int cltype38;
-int idtype39;
-const struct type* type_struct40;
-const char* var_class_name41;
-val* var42 /* : nullable Object */;
-val* var43 /* : OptionBool */;
-val* var45 /* : OptionBool */;
-val* var46 /* : nullable Object */;
-val* var48 /* : nullable Object */;
-short int var49 /* : Bool */;
-val* var50 /* : OptionBool */;
-val* var52 /* : OptionBool */;
-short int var54 /* : Bool */;
-int cltype55;
-int idtype56;
-const struct type* type_struct57;
-const char* var_class_name58;
-val* var59 /* : nullable Object */;
-val* var60 /* : OptionBool */;
-val* var62 /* : OptionBool */;
-short int var64 /* : Bool */;
-int cltype65;
-int idtype66;
-const struct type* type_struct67;
-const char* var_class_name68;
-val* var69 /* : nullable Object */;
-val* var70 /* : OptionBool */;
-val* var72 /* : OptionBool */;
-val* var73 /* : nullable Object */;
-val* var75 /* : nullable Object */;
-short int var76 /* : Bool */;
-val* var77 /* : OptionBool */;
-val* var79 /* : OptionBool */;
-short int var81 /* : Bool */;
-int cltype82;
-int idtype83;
-const struct type* type_struct84;
-const char* var_class_name85;
-val* var86 /* : nullable Object */;
-var_args = p0;
-{
-((void(*)(val* self, val* p0))(self->class->vft[COLOR_nit__separate_compiler___ToolContext___process_options]))(self, p0); /* process_options on <self:ToolContext>*/
-}
-var_tc = self;
-{
-{ /* Inline separate_compiler#ToolContext#opt_semi_global (var_tc) on <var_tc:ToolContext> */
-var2 = var_tc->attrs[COLOR_nit__separate_compiler__ToolContext___opt_semi_global].val; /* _opt_semi_global on <var_tc:ToolContext> */
-if (unlikely(var2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_semi_global");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 56);
-fatal_exit(1);
-}
-var = var2;
-RET_LABEL1:(void)0;
-}
-}
-{
-{ /* Inline opts#Option#value (var) on <var:OptionBool> */
-var5 = var->attrs[COLOR_opts__Option___value].val; /* _value on <var:OptionBool> */
-var3 = var5;
-RET_LABEL4:(void)0;
-}
-}
-var6 = (short int)((long)(var3)>>2);
-if (var6){
-{
-{ /* Inline separate_compiler#ToolContext#opt_inline_coloring_numbers (var_tc) on <var_tc:ToolContext> */
-var9 = var_tc->attrs[COLOR_nit__separate_compiler__ToolContext___opt_inline_coloring_numbers].val; /* _opt_inline_coloring_numbers on <var_tc:ToolContext> */
-if (unlikely(var9 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_inline_coloring_numbers");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 46);
-fatal_exit(1);
-}
-var7 = var9;
-RET_LABEL8:(void)0;
-}
-}
-{
-{ /* Inline opts#Option#value= (var7,1) on <var7:OptionBool> */
-/* Covariant cast for argument 0 (value) <1:Bool> isa VALUE */
-/* <1:Bool> isa VALUE */
-type_struct = var7->type->resolution_table->types[COLOR_opts__Option__VALUE];
-cltype = type_struct->color;
-idtype = type_struct->id;
-if(cltype >= (&type_standard__Bool)->table_size) {
-var11 = 0;
-} else {
-var11 = (&type_standard__Bool)->type_table[cltype] == idtype;
-}
-if (unlikely(!var11)) {
-var_class_name = type_standard__Bool.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_opts, 40);
-fatal_exit(1);
-}
-var12 = (val*)((long)(1)<<2|3);
-var7->attrs[COLOR_opts__Option___value].val = var12; /* _value on <var7:OptionBool> */
-RET_LABEL10:(void)0;
-}
-}
-{
-{ /* Inline separate_compiler#ToolContext#opt_inline_some_methods (var_tc) on <var_tc:ToolContext> */
-var15 = var_tc->attrs[COLOR_nit__separate_compiler__ToolContext___opt_inline_some_methods].val; /* _opt_inline_some_methods on <var_tc:ToolContext> */
-if (unlikely(var15 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_inline_some_methods");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 48);
-fatal_exit(1);
-}
-var13 = var15;
-RET_LABEL14:(void)0;
-}
-}
-{
-{ /* Inline opts#Option#value= (var13,1) on <var13:OptionBool> */
-/* Covariant cast for argument 0 (value) <1:Bool> isa VALUE */
-/* <1:Bool> isa VALUE */
-type_struct20 = var13->type->resolution_table->types[COLOR_opts__Option__VALUE];
-cltype18 = type_struct20->color;
-idtype19 = type_struct20->id;
-if(cltype18 >= (&type_standard__Bool)->table_size) {
-var17 = 0;
-} else {
-var17 = (&type_standard__Bool)->type_table[cltype18] == idtype19;
-}
-if (unlikely(!var17)) {
-var_class_name21 = type_standard__Bool.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name21);
-PRINT_ERROR(" (%s:%d)\n", FILE_opts, 40);
-fatal_exit(1);
-}
-var22 = (val*)((long)(1)<<2|3);
-var13->attrs[COLOR_opts__Option___value].val = var22; /* _value on <var13:OptionBool> */
-RET_LABEL16:(void)0;
-}
-}
-{
-{ /* Inline separate_compiler#ToolContext#opt_direct_call_monomorph (var_tc) on <var_tc:ToolContext> */
-var25 = var_tc->attrs[COLOR_nit__separate_compiler__ToolContext___opt_direct_call_monomorph].val; /* _opt_direct_call_monomorph on <var_tc:ToolContext> */
-if (unlikely(var25 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_direct_call_monomorph");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 50);
-fatal_exit(1);
-}
-var23 = var25;
-RET_LABEL24:(void)0;
-}
-}
-{
-{ /* Inline opts#Option#value= (var23,1) on <var23:OptionBool> */
-/* Covariant cast for argument 0 (value) <1:Bool> isa VALUE */
-/* <1:Bool> isa VALUE */
-type_struct30 = var23->type->resolution_table->types[COLOR_opts__Option__VALUE];
-cltype28 = type_struct30->color;
-idtype29 = type_struct30->id;
-if(cltype28 >= (&type_standard__Bool)->table_size) {
-var27 = 0;
-} else {
-var27 = (&type_standard__Bool)->type_table[cltype28] == idtype29;
-}
-if (unlikely(!var27)) {
-var_class_name31 = type_standard__Bool.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name31);
-PRINT_ERROR(" (%s:%d)\n", FILE_opts, 40);
-fatal_exit(1);
-}
-var32 = (val*)((long)(1)<<2|3);
-var23->attrs[COLOR_opts__Option___value].val = var32; /* _value on <var23:OptionBool> */
-RET_LABEL26:(void)0;
-}
-}
-{
-{ /* Inline separate_compiler#ToolContext#opt_skip_dead_methods (var_tc) on <var_tc:ToolContext> */
-var35 = var_tc->attrs[COLOR_nit__separate_compiler__ToolContext___opt_skip_dead_methods].val; /* _opt_skip_dead_methods on <var_tc:ToolContext> */
-if (unlikely(var35 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_skip_dead_methods");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 54);
-fatal_exit(1);
-}
-var33 = var35;
-RET_LABEL34:(void)0;
-}
-}
-{
-{ /* Inline opts#Option#value= (var33,1) on <var33:OptionBool> */
-/* Covariant cast for argument 0 (value) <1:Bool> isa VALUE */
-/* <1:Bool> isa VALUE */
-type_struct40 = var33->type->resolution_table->types[COLOR_opts__Option__VALUE];
-cltype38 = type_struct40->color;
-idtype39 = type_struct40->id;
-if(cltype38 >= (&type_standard__Bool)->table_size) {
-var37 = 0;
-} else {
-var37 = (&type_standard__Bool)->type_table[cltype38] == idtype39;
-}
-if (unlikely(!var37)) {
-var_class_name41 = type_standard__Bool.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name41);
-PRINT_ERROR(" (%s:%d)\n", FILE_opts, 40);
-fatal_exit(1);
-}
-var42 = (val*)((long)(1)<<2|3);
-var33->attrs[COLOR_opts__Option___value].val = var42; /* _value on <var33:OptionBool> */
-RET_LABEL36:(void)0;
-}
-}
-} else {
-}
-{
-{ /* Inline separate_compiler#ToolContext#opt_link_boost (var_tc) on <var_tc:ToolContext> */
-var45 = var_tc->attrs[COLOR_nit__separate_compiler__ToolContext___opt_link_boost].val; /* _opt_link_boost on <var_tc:ToolContext> */
-if (unlikely(var45 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_link_boost");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 43);
-fatal_exit(1);
-}
-var43 = var45;
-RET_LABEL44:(void)0;
-}
-}
-{
-{ /* Inline opts#Option#value (var43) on <var43:OptionBool> */
-var48 = var43->attrs[COLOR_opts__Option___value].val; /* _value on <var43:OptionBool> */
-var46 = var48;
-RET_LABEL47:(void)0;
-}
-}
-var49 = (short int)((long)(var46)>>2);
-if (var49){
-{
-{ /* Inline separate_compiler#ToolContext#opt_colors_are_symbols (var_tc) on <var_tc:ToolContext> */
-var52 = var_tc->attrs[COLOR_nit__separate_compiler__ToolContext___opt_colors_are_symbols].val; /* _opt_colors_are_symbols on <var_tc:ToolContext> */
-if (unlikely(var52 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_colors_are_symbols");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 35);
-fatal_exit(1);
-}
-var50 = var52;
-RET_LABEL51:(void)0;
-}
-}
-{
-{ /* Inline opts#Option#value= (var50,1) on <var50:OptionBool> */
-/* Covariant cast for argument 0 (value) <1:Bool> isa VALUE */
-/* <1:Bool> isa VALUE */
-type_struct57 = var50->type->resolution_table->types[COLOR_opts__Option__VALUE];
-cltype55 = type_struct57->color;
-idtype56 = type_struct57->id;
-if(cltype55 >= (&type_standard__Bool)->table_size) {
-var54 = 0;
-} else {
-var54 = (&type_standard__Bool)->type_table[cltype55] == idtype56;
-}
-if (unlikely(!var54)) {
-var_class_name58 = type_standard__Bool.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name58);
-PRINT_ERROR(" (%s:%d)\n", FILE_opts, 40);
-fatal_exit(1);
-}
-var59 = (val*)((long)(1)<<2|3);
-var50->attrs[COLOR_opts__Option___value].val = var59; /* _value on <var50:OptionBool> */
-RET_LABEL53:(void)0;
-}
-}
-{
-{ /* Inline separate_compiler#ToolContext#opt_substitute_monomorph (var_tc) on <var_tc:ToolContext> */
-var62 = var_tc->attrs[COLOR_nit__separate_compiler__ToolContext___opt_substitute_monomorph].val; /* _opt_substitute_monomorph on <var_tc:ToolContext> */
-if (unlikely(var62 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_substitute_monomorph");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 41);
-fatal_exit(1);
-}
-var60 = var62;
-RET_LABEL61:(void)0;
-}
-}
-{
-{ /* Inline opts#Option#value= (var60,1) on <var60:OptionBool> */
-/* Covariant cast for argument 0 (value) <1:Bool> isa VALUE */
-/* <1:Bool> isa VALUE */
-type_struct67 = var60->type->resolution_table->types[COLOR_opts__Option__VALUE];
-cltype65 = type_struct67->color;
-idtype66 = type_struct67->id;
-if(cltype65 >= (&type_standard__Bool)->table_size) {
-var64 = 0;
-} else {
-var64 = (&type_standard__Bool)->type_table[cltype65] == idtype66;
-}
-if (unlikely(!var64)) {
-var_class_name68 = type_standard__Bool.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name68);
-PRINT_ERROR(" (%s:%d)\n", FILE_opts, 40);
-fatal_exit(1);
-}
-var69 = (val*)((long)(1)<<2|3);
-var60->attrs[COLOR_opts__Option___value].val = var69; /* _value on <var60:OptionBool> */
-RET_LABEL63:(void)0;
-}
-}
-} else {
-}
-{
-{ /* Inline separate_compiler#ToolContext#opt_substitute_monomorph (var_tc) on <var_tc:ToolContext> */
-var72 = var_tc->attrs[COLOR_nit__separate_compiler__ToolContext___opt_substitute_monomorph].val; /* _opt_substitute_monomorph on <var_tc:ToolContext> */
-if (unlikely(var72 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_substitute_monomorph");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 41);
-fatal_exit(1);
-}
-var70 = var72;
-RET_LABEL71:(void)0;
-}
-}
-{
-{ /* Inline opts#Option#value (var70) on <var70:OptionBool> */
-var75 = var70->attrs[COLOR_opts__Option___value].val; /* _value on <var70:OptionBool> */
-var73 = var75;
-RET_LABEL74:(void)0;
-}
-}
-var76 = (short int)((long)(var73)>>2);
-if (var76){
-{
-{ /* Inline separate_compiler#ToolContext#opt_trampoline_call (var_tc) on <var_tc:ToolContext> */
-var79 = var_tc->attrs[COLOR_nit__separate_compiler__ToolContext___opt_trampoline_call].val; /* _opt_trampoline_call on <var_tc:ToolContext> */
-if (unlikely(var79 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_trampoline_call");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 37);
-fatal_exit(1);
-}
-var77 = var79;
-RET_LABEL78:(void)0;
-}
-}
-{
-{ /* Inline opts#Option#value= (var77,1) on <var77:OptionBool> */
-/* Covariant cast for argument 0 (value) <1:Bool> isa VALUE */
-/* <1:Bool> isa VALUE */
-type_struct84 = var77->type->resolution_table->types[COLOR_opts__Option__VALUE];
-cltype82 = type_struct84->color;
-idtype83 = type_struct84->id;
-if(cltype82 >= (&type_standard__Bool)->table_size) {
-var81 = 0;
-} else {
-var81 = (&type_standard__Bool)->type_table[cltype82] == idtype83;
-}
-if (unlikely(!var81)) {
-var_class_name85 = type_standard__Bool.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name85);
-PRINT_ERROR(" (%s:%d)\n", FILE_opts, 40);
-fatal_exit(1);
-}
-var86 = (val*)((long)(1)<<2|3);
-var77->attrs[COLOR_opts__Option___value].val = var86; /* _value on <var77:OptionBool> */
-RET_LABEL80:(void)0;
-}
-}
-} else {
-}
-RET_LABEL:;
-}
-/* method separate_compiler#SeparateCompilerPhase#process_mainmodule for (self: SeparateCompilerPhase, MModule, SequenceRead[MModule]) */
-void nit___nit__SeparateCompilerPhase___nit__modelbuilder__Phase__process_mainmodule(val* self, val* p0, val* p1) {
-val* var_mainmodule /* var mainmodule: MModule */;
-val* var_given_mmodules /* var given_mmodules: SequenceRead[MModule] */;
-val* var /* : ToolContext */;
-val* var2 /* : ToolContext */;
-val* var3 /* : OptionBool */;
-val* var5 /* : OptionBool */;
-val* var6 /* : nullable Object */;
-val* var8 /* : nullable Object */;
-short int var9 /* : Bool */;
-short int var10 /* : Bool */;
-val* var11 /* : ToolContext */;
-val* var13 /* : ToolContext */;
-val* var14 /* : ModelBuilder */;
-val* var_modelbuilder /* var modelbuilder: ModelBuilder */;
-val* var15 /* : RapidTypeAnalysis */;
-val* var_analysis /* var analysis: RapidTypeAnalysis */;
-var_mainmodule = p0;
-var_given_mmodules = p1;
-{
-{ /* Inline phase#Phase#toolcontext (self) on <self:SeparateCompilerPhase> */
-var2 = self->attrs[COLOR_nit__phase__Phase___toolcontext].val; /* _toolcontext on <self:SeparateCompilerPhase> */
-if (unlikely(var2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 200);
-fatal_exit(1);
-}
-var = var2;
-RET_LABEL1:(void)0;
-}
-}
-{
-{ /* Inline separate_compiler#ToolContext#opt_separate (var) on <var:ToolContext> */
-var5 = var->attrs[COLOR_nit__separate_compiler__ToolContext___opt_separate].val; /* _opt_separate on <var:ToolContext> */
-if (unlikely(var5 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_separate");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 24);
-fatal_exit(1);
-}
-var3 = var5;
-RET_LABEL4:(void)0;
-}
-}
-{
-{ /* Inline opts#Option#value (var3) on <var3:OptionBool> */
-var8 = var3->attrs[COLOR_opts__Option___value].val; /* _value on <var3:OptionBool> */
-var6 = var8;
-RET_LABEL7:(void)0;
-}
-}
-var9 = (short int)((long)(var6)>>2);
-var10 = !var9;
-if (var10){
-goto RET_LABEL;
-} else {
-}
-{
-{ /* Inline phase#Phase#toolcontext (self) on <self:SeparateCompilerPhase> */
-var13 = self->attrs[COLOR_nit__phase__Phase___toolcontext].val; /* _toolcontext on <self:SeparateCompilerPhase> */
-if (unlikely(var13 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 200);
-fatal_exit(1);
-}
-var11 = var13;
-RET_LABEL12:(void)0;
-}
-}
-{
-var14 = nit__modelbuilder_base___ToolContext___modelbuilder(var11);
-}
-var_modelbuilder = var14;
-{
-var15 = nit__rapid_type_analysis___ModelBuilder___do_rapid_type_analysis(var_modelbuilder, var_mainmodule);
-}
-var_analysis = var15;
-{
-nit__separate_compiler___ModelBuilder___run_separate_compiler(var_modelbuilder, var_mainmodule, var_analysis); /* Direct call separate_compiler#ModelBuilder#run_separate_compiler on <var_modelbuilder:ModelBuilder>*/
-}
-RET_LABEL:;
-}
-/* method separate_compiler#ModelBuilder#run_separate_compiler for (self: ModelBuilder, MModule, nullable RapidTypeAnalysis) */
-void nit__separate_compiler___ModelBuilder___run_separate_compiler(val* self, val* p0, val* p1) {
-val* var_mainmodule /* var mainmodule: MModule */;
-val* var_runtime_type_analysis /* var runtime_type_analysis: nullable RapidTypeAnalysis */;
-long var /* : Int */;
-long var2 /* : Int for extern */;
-long var_time0 /* var time0: Int */;
-val* var3 /* : ToolContext */;
-val* var5 /* : ToolContext */;
-static val* varonce;
-val* var6 /* : String */;
-char* var7 /* : NativeString */;
-val* var8 /* : FlatString */;
-val* var9 /* : SeparateCompiler */;
-val* var_compiler /* var compiler: SeparateCompiler */;
-long var10 /* : Int */;
-long var12 /* : Int for extern */;
-long var_time1 /* var time1: Int */;
-val* var13 /* : ToolContext */;
-val* var15 /* : ToolContext */;
-val* var17 /* : NativeArray[String] */;
-static val* varonce16;
-static val* varonce18;
-val* var19 /* : String */;
-char* var20 /* : NativeString */;
-val* var21 /* : FlatString */;
-static val* varonce22;
-val* var23 /* : String */;
-char* var24 /* : NativeString */;
-val* var25 /* : FlatString */;
-long var26 /* : Int */;
-short int var28 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-long var29 /* : Int */;
-val* var30 /* : String */;
-val* var31 /* : String */;
-var_mainmodule = p0;
-var_runtime_type_analysis = p1;
-{
-{ /* Inline time#Object#get_time (self) on <self:ModelBuilder> */
-var2 = kernel_Any_Any_get_time_0(self);
-var = var2;
-goto RET_LABEL1;
-RET_LABEL1:(void)0;
-}
-}
-var_time0 = var;
-{
-{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
-var5 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on <self:ModelBuilder> */
-if (unlikely(var5 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47);
-fatal_exit(1);
-}
-var3 = var5;
-RET_LABEL4:(void)0;
-}
-}
-if (likely(varonce!=NULL)) {
-var6 = varonce;
-} else {
-var7 = "*** GENERATING C ***";
-var8 = standard___standard__NativeString___to_s_with_length(var7, 20l);
-var6 = var8;
-varonce = var6;
-}
-{
-nit___nit__ToolContext___info(var3, var6, 1l); /* Direct call toolcontext#ToolContext#info on <var3:ToolContext>*/
-}
-var9 = NEW_nit__SeparateCompiler(&type_nit__SeparateCompiler);
-{
-((void(*)(val* self, val* p0))(var9->class->vft[COLOR_nit__abstract_compiler__AbstractCompiler__mainmodule_61d]))(var9, var_mainmodule); /* mainmodule= on <var9:SeparateCompiler>*/
-}
-{
-((void(*)(val* self, val* p0))(var9->class->vft[COLOR_nit__abstract_compiler__AbstractCompiler__modelbuilder_61d]))(var9, self); /* modelbuilder= on <var9:SeparateCompiler>*/
-}
-{
-((void(*)(val* self, val* p0))(var9->class->vft[COLOR_nit__separate_compiler__SeparateCompiler__runtime_type_analysis_61d]))(var9, var_runtime_type_analysis); /* runtime_type_analysis= on <var9:SeparateCompiler>*/
-}
-{
-((void(*)(val* self))(var9->class->vft[COLOR_standard__kernel__Object__init]))(var9); /* init on <var9:SeparateCompiler>*/
-}
-var_compiler = var9;
-{
-nit___nit__SeparateCompiler___nit__abstract_compiler__AbstractCompiler__do_compilation(var_compiler); /* Direct call separate_compiler#SeparateCompiler#do_compilation on <var_compiler:SeparateCompiler>*/
-}
-{
-nit___nit__SeparateCompiler___nit__abstract_compiler__AbstractCompiler__display_stats(var_compiler); /* Direct call separate_compiler#SeparateCompiler#display_stats on <var_compiler:SeparateCompiler>*/
-}
-{
-{ /* Inline time#Object#get_time (self) on <self:ModelBuilder> */
-var12 = kernel_Any_Any_get_time_0(self);
-var10 = var12;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-}
-var_time1 = var10;
-{
-{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
-var15 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on <self:ModelBuilder> */
-if (unlikely(var15 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47);
-fatal_exit(1);
-}
-var13 = var15;
-RET_LABEL14:(void)0;
-}
-}
-if (unlikely(varonce16==NULL)) {
-var17 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String);
-if (likely(varonce18!=NULL)) {
-var19 = varonce18;
-} else {
-var20 = "*** END GENERATING C: ";
-var21 = standard___standard__NativeString___to_s_with_length(var20, 22l);
-var19 = var21;
-varonce18 = var19;
-}
-((struct instance_standard__NativeArray*)var17)->values[0]=var19;
-if (likely(varonce22!=NULL)) {
-var23 = varonce22;
-} else {
-var24 = " ***";
-var25 = standard___standard__NativeString___to_s_with_length(var24, 4l);
-var23 = var25;
-varonce22 = var23;
-}
-((struct instance_standard__NativeArray*)var17)->values[2]=var23;
-} else {
-var17 = varonce16;
-varonce16 = NULL;
-}
-{
-{ /* Inline kernel#Int#- (var_time1,var_time0) on <var_time1:Int> */
-/* Covariant cast for argument 0 (i) <var_time0:Int> isa OTHER */
-/* <var_time0:Int> isa OTHER */
-var28 = 1; /* easy <var_time0:Int> isa OTHER*/
-if (unlikely(!var28)) {
-var_class_name = type_standard__Int.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540);
-fatal_exit(1);
-}
-var29 = var_time1 - var_time0;
-var26 = var29;
-goto RET_LABEL27;
-RET_LABEL27:(void)0;
-}
-}
-var30 = standard__string___Int___Object__to_s(var26);
-((struct instance_standard__NativeArray*)var17)->values[1]=var30;
-{
-var31 = ((val*(*)(val* self))(var17->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var17); /* native_to_s on <var17:NativeArray[String]>*/
-}
-varonce16 = var17;
-{
-nit___nit__ToolContext___info(var13, var31, 2l); /* Direct call toolcontext#ToolContext#info on <var13:ToolContext>*/
-}
-{
-nit__abstract_compiler___ModelBuilder___write_and_make(self, var_compiler); /* Direct call abstract_compiler#ModelBuilder#write_and_make on <self:ModelBuilder>*/
-}
-RET_LABEL:;
-}
-/* method separate_compiler#ModelBuilder#nb_invok_by_tables for (self: ModelBuilder): Int */
-long nit__separate_compiler___ModelBuilder___nb_invok_by_tables(val* self) {
-long var /* : Int */;
-long var1 /* : Int */;
-var1 = self->attrs[COLOR_nit__separate_compiler__ModelBuilder___nb_invok_by_tables].l; /* _nb_invok_by_tables on <self:ModelBuilder> */
-var = var1;
-RET_LABEL:;
-return var;
-}
-/* method separate_compiler#ModelBuilder#nb_invok_by_tables= for (self: ModelBuilder, Int) */
-void nit__separate_compiler___ModelBuilder___nb_invok_by_tables_61d(val* self, long p0) {
-self->attrs[COLOR_nit__separate_compiler__ModelBuilder___nb_invok_by_tables].l = p0; /* _nb_invok_by_tables on <self:ModelBuilder> */
-RET_LABEL:;
-}
-/* method separate_compiler#ModelBuilder#nb_invok_by_direct for (self: ModelBuilder): Int */
-long nit__separate_compiler___ModelBuilder___nb_invok_by_direct(val* self) {
-long var /* : Int */;
-long var1 /* : Int */;
-var1 = self->attrs[COLOR_nit__separate_compiler__ModelBuilder___nb_invok_by_direct].l; /* _nb_invok_by_direct on <self:ModelBuilder> */
-var = var1;
-RET_LABEL:;
-return var;
-}
-/* method separate_compiler#ModelBuilder#nb_invok_by_direct= for (self: ModelBuilder, Int) */
-void nit__separate_compiler___ModelBuilder___nb_invok_by_direct_61d(val* self, long p0) {
-self->attrs[COLOR_nit__separate_compiler__ModelBuilder___nb_invok_by_direct].l = p0; /* _nb_invok_by_direct on <self:ModelBuilder> */
-RET_LABEL:;
-}
-/* method separate_compiler#ModelBuilder#nb_invok_by_inline for (self: ModelBuilder): Int */
-long nit__separate_compiler___ModelBuilder___nb_invok_by_inline(val* self) {
-long var /* : Int */;
-long var1 /* : Int */;
-var1 = self->attrs[COLOR_nit__separate_compiler__ModelBuilder___nb_invok_by_inline].l; /* _nb_invok_by_inline on <self:ModelBuilder> */
-var = var1;
-RET_LABEL:;
-return var;
-}
-/* method separate_compiler#ModelBuilder#nb_invok_by_inline= for (self: ModelBuilder, Int) */
-void nit__separate_compiler___ModelBuilder___nb_invok_by_inline_61d(val* self, long p0) {
-self->attrs[COLOR_nit__separate_compiler__ModelBuilder___nb_invok_by_inline].l = p0; /* _nb_invok_by_inline on <self:ModelBuilder> */
-RET_LABEL:;
-}
-/* method separate_compiler#SeparateCompiler#runtime_type_analysis for (self: SeparateCompiler): nullable RapidTypeAnalysis */
-val* nit___nit__SeparateCompiler___runtime_type_analysis(val* self) {
-val* var /* : nullable RapidTypeAnalysis */;
-val* var1 /* : nullable RapidTypeAnalysis */;
-var1 = self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___runtime_type_analysis].val; /* _runtime_type_analysis on <self:SeparateCompiler> */
-var = var1;
-RET_LABEL:;
-return var;
-}
-/* method separate_compiler#SeparateCompiler#runtime_type_analysis= for (self: SeparateCompiler, nullable RapidTypeAnalysis) */
-void nit___nit__SeparateCompiler___runtime_type_analysis_61d(val* self, val* p0) {
-self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___runtime_type_analysis].val = p0; /* _runtime_type_analysis on <self:SeparateCompiler> */
-RET_LABEL:;
-}
-/* method separate_compiler#SeparateCompiler#undead_types for (self: SeparateCompiler): Set[MType] */
-val* nit___nit__SeparateCompiler___undead_types(val* self) {
-val* var /* : Set[MType] */;
-val* var1 /* : Set[MType] */;
-var1 = self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___undead_types].val; /* _undead_types on <self:SeparateCompiler> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _undead_types");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 146);
-fatal_exit(1);
-}
-var = var1;
-RET_LABEL:;
-return var;
-}
-/* method separate_compiler#SeparateCompiler#live_unresolved_types for (self: SeparateCompiler): Map[MClassDef, Set[MType]] */
-val* nit___nit__SeparateCompiler___live_unresolved_types(val* self) {
-val* var /* : Map[MClassDef, Set[MType]] */;
-val* var1 /* : Map[MClassDef, Set[MType]] */;
-var1 = self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___live_unresolved_types].val; /* _live_unresolved_types on <self:SeparateCompiler> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_unresolved_types");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 147);
-fatal_exit(1);
-}
-var = var1;
-RET_LABEL:;
-return var;
-}
-/* method separate_compiler#SeparateCompiler#type_ids for (self: SeparateCompiler): Map[MType, Int] */
-val* nit___nit__SeparateCompiler___type_ids(val* self) {
-val* var /* : Map[MType, Int] */;
-val* var1 /* : Map[MType, Int] */;
-var1 = self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___type_ids].val; /* _type_ids on <self:SeparateCompiler> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _type_ids");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 149);
-fatal_exit(1);
-}
-var = var1;
-RET_LABEL:;
-return var;
-}
-/* method separate_compiler#SeparateCompiler#type_ids= for (self: SeparateCompiler, Map[MType, Int]) */
-void nit___nit__SeparateCompiler___type_ids_61d(val* self, val* p0) {
-self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___type_ids].val = p0; /* _type_ids on <self:SeparateCompiler> */
-RET_LABEL:;
-}
-/* method separate_compiler#SeparateCompiler#type_colors for (self: SeparateCompiler): Map[MType, Int] */
-val* nit___nit__SeparateCompiler___type_colors(val* self) {
-val* var /* : Map[MType, Int] */;
-val* var1 /* : Map[MType, Int] */;
-var1 = self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___type_colors].val; /* _type_colors on <self:SeparateCompiler> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _type_colors");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 150);
-fatal_exit(1);
-}
-var = var1;
-RET_LABEL:;
-return var;
-}
-/* method separate_compiler#SeparateCompiler#type_colors= for (self: SeparateCompiler, Map[MType, Int]) */
-void nit___nit__SeparateCompiler___type_colors_61d(val* self, val* p0) {
-self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___type_colors].val = p0; /* _type_colors on <self:SeparateCompiler> */
-RET_LABEL:;
-}
-/* method separate_compiler#SeparateCompiler#opentype_colors for (self: SeparateCompiler): Map[MType, Int] */
-val* nit___nit__SeparateCompiler___opentype_colors(val* self) {
-val* var /* : Map[MType, Int] */;
-val* var1 /* : Map[MType, Int] */;
-var1 = self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___opentype_colors].val; /* _opentype_colors on <self:SeparateCompiler> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opentype_colors");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 151);
-fatal_exit(1);
-}
-var = var1;
-RET_LABEL:;
-return var;
-}
-/* method separate_compiler#SeparateCompiler#opentype_colors= for (self: SeparateCompiler, Map[MType, Int]) */
-void nit___nit__SeparateCompiler___opentype_colors_61d(val* self, val* p0) {
-self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___opentype_colors].val = p0; /* _opentype_colors on <self:SeparateCompiler> */
-RET_LABEL:;
-}
-/* method separate_compiler#SeparateCompiler#init for (self: SeparateCompiler) */
-void nit___nit__SeparateCompiler___standard__kernel__Object__init(val* self) {
-static val* varonce;
-val* var /* : String */;
-char* var1 /* : NativeString */;
-val* var2 /* : FlatString */;
-val* var3 /* : CodeFile */;
-val* var_file /* var file: CodeFile */;
-val* var4 /* : CodeWriter */;
-{
-((void(*)(val* self))(self->class->vft[COLOR_nit___nit__SeparateCompiler___standard__kernel__Object__init]))(self); /* init on <self:SeparateCompiler>*/
-}
-if (likely(varonce!=NULL)) {
-var = varonce;
-} else {
-var1 = "nit.common";
-var2 = standard___standard__NativeString___to_s_with_length(var1, 10l);
-var = var2;
-varonce = var;
-}
-{
-var3 = nit___nit__AbstractCompiler___new_file(self, var);
-}
-var_file = var3;
-var4 = NEW_nit__CodeWriter(&type_nit__CodeWriter);
-{
-((void(*)(val* self, val* p0))(var4->class->vft[COLOR_nit__abstract_compiler__CodeWriter__file_61d]))(var4, var_file); /* file= on <var4:CodeWriter>*/
-}
-{
-((void(*)(val* self))(var4->class->vft[COLOR_standard__kernel__Object__init]))(var4); /* init on <var4:CodeWriter>*/
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#header= (self,var4) on <self:SeparateCompiler> */
-self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___header].val = var4; /* _header on <self:SeparateCompiler> */
-RET_LABEL5:(void)0;
-}
-}
-{
-nit___nit__SeparateCompiler___compile_box_kinds(self); /* Direct call separate_compiler#SeparateCompiler#compile_box_kinds on <self:SeparateCompiler>*/
-}
-RET_LABEL:;
-}
-/* method separate_compiler#SeparateCompiler#do_compilation for (self: SeparateCompiler) */
-void nit___nit__SeparateCompiler___nit__abstract_compiler__AbstractCompiler__do_compilation(val* self) {
-val* var_compiler /* var compiler: SeparateCompiler */;
-val* var /* : MModule */;
-val* var2 /* : MModule */;
-val* var3 /* : String */;
-val* var_c_name /* var c_name: String */;
-val* var4 /* : ModelBuilder */;
-val* var6 /* : ModelBuilder */;
-val* var7 /* : ToolContext */;
-val* var9 /* : ToolContext */;
-static val* varonce;
-val* var10 /* : String */;
-char* var11 /* : NativeString */;
-val* var12 /* : FlatString */;
-val* var14 /* : NativeArray[String] */;
-static val* varonce13;
-static val* varonce15;
-val* var16 /* : String */;
-char* var17 /* : NativeString */;
-val* var18 /* : FlatString */;
-val* var19 /* : String */;
-val* var20 /* : CodeFile */;
-val* var21 /* : MModule */;
-val* var23 /* : MModule */;
-val* var24 /* : POSetElement[MModule] */;
-val* var26 /* : POSetElement[MModule] */;
-val* var27 /* : Collection[nullable Object] */;
-val* var_ /* var : Collection[MModule] */;
-val* var28 /* : Iterator[nullable Object] */;
-val* var_29 /* var : Iterator[MModule] */;
-short int var30 /* : Bool */;
-val* var31 /* : nullable Object */;
-val* var_m /* var m: MModule */;
-val* var32 /* : Array[MClass] */;
-val* var34 /* : Array[MClass] */;
-val* var_35 /* var : Array[MClass] */;
-val* var36 /* : ArrayIterator[nullable Object] */;
-val* var_37 /* var : ArrayIterator[MClass] */;
-short int var38 /* : Bool */;
-val* var39 /* : nullable Object */;
-val* var_mclass /* var mclass: MClass */;
-val* var42 /* : NativeArray[String] */;
-static val* varonce41;
-static val* varonce43;
-val* var44 /* : String */;
-char* var45 /* : NativeString */;
-val* var46 /* : FlatString */;
-val* var47 /* : String */;
-val* var48 /* : CodeFile */;
-val* var49 /* : MModule */;
-val* var51 /* : MModule */;
-val* var52 /* : POSetElement[MModule] */;
-val* var54 /* : POSetElement[MModule] */;
-val* var55 /* : Collection[nullable Object] */;
-val* var_56 /* var : Collection[MModule] */;
-val* var57 /* : Iterator[nullable Object] */;
-val* var_58 /* var : Iterator[MModule] */;
-short int var59 /* : Bool */;
-val* var60 /* : nullable Object */;
-val* var_m61 /* var m: MModule */;
-val* var62 /* : ModelBuilder */;
-val* var64 /* : ModelBuilder */;
-val* var65 /* : ToolContext */;
-val* var67 /* : ToolContext */;
-val* var69 /* : NativeArray[String] */;
-static val* varonce68;
-static val* varonce70;
-val* var71 /* : String */;
-char* var72 /* : NativeString */;
-val* var73 /* : FlatString */;
-val* var74 /* : String */;
-val* var75 /* : String */;
-val* var77 /* : NativeArray[String] */;
-static val* varonce76;
-static val* varonce78;
-val* var79 /* : String */;
-char* var80 /* : NativeString */;
-val* var81 /* : FlatString */;
-val* var82 /* : String */;
-val* var83 /* : String */;
-val* var84 /* : CodeFile */;
-val* var86 /* : ModelBuilder */;
-val* var88 /* : ModelBuilder */;
-val* var89 /* : ToolContext */;
-val* var91 /* : ToolContext */;
-static val* varonce92;
-val* var93 /* : String */;
-char* var94 /* : NativeString */;
-val* var95 /* : FlatString */;
-val* var97 /* : NativeArray[String] */;
-static val* varonce96;
-static val* varonce98;
-val* var99 /* : String */;
-char* var100 /* : NativeString */;
-val* var101 /* : FlatString */;
-val* var102 /* : String */;
-val* var103 /* : CodeFile */;
-var_compiler = self;
-{
-nit___nit__AbstractCompiler___compile_header(var_compiler); /* Direct call abstract_compiler#AbstractCompiler#compile_header on <var_compiler:SeparateCompiler>*/
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:SeparateCompiler> */
-var2 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on <self:SeparateCompiler> */
-if (unlikely(var2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 515);
-fatal_exit(1);
-}
-var = var2;
-RET_LABEL1:(void)0;
-}
-}
-{
-var3 = nit___nit__MModule___nit__model_base__MEntity__c_name(var);
-}
-var_c_name = var3;
-{
-{ /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
-var6 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on <self:SeparateCompiler> */
-if (unlikely(var6 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 522);
-fatal_exit(1);
-}
-var4 = var6;
-RET_LABEL5:(void)0;
-}
-}
-{
-{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (var4) on <var4:ModelBuilder> */
-var9 = var4->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on <var4:ModelBuilder> */
-if (unlikely(var9 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47);
-fatal_exit(1);
-}
-var7 = var9;
-RET_LABEL8:(void)0;
-}
-}
-if (likely(varonce!=NULL)) {
-var10 = varonce;
-} else {
-var11 = "Property coloring";
-var12 = standard___standard__NativeString___to_s_with_length(var11, 17l);
-var10 = var12;
-varonce = var10;
-}
-{
-nit___nit__ToolContext___info(var7, var10, 2l); /* Direct call toolcontext#ToolContext#info on <var7:ToolContext>*/
-}
-if (unlikely(varonce13==NULL)) {
-var14 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String);
-if (likely(varonce15!=NULL)) {
-var16 = varonce15;
-} else {
-var17 = ".classes";
-var18 = standard___standard__NativeString___to_s_with_length(var17, 8l);
-var16 = var18;
-varonce15 = var16;
-}
-((struct instance_standard__NativeArray*)var14)->values[1]=var16;
-} else {
-var14 = varonce13;
-varonce13 = NULL;
-}
-((struct instance_standard__NativeArray*)var14)->values[0]=var_c_name;
-{
-var19 = ((val*(*)(val* self))(var14->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var14); /* native_to_s on <var14:NativeArray[String]>*/
-}
-varonce13 = var14;
-{
-var20 = nit___nit__AbstractCompiler___new_file(var_compiler, var19);
-}
-{
-nit___nit__SeparateCompiler___do_property_coloring(var_compiler); /* Direct call separate_compiler#SeparateCompiler#do_property_coloring on <var_compiler:SeparateCompiler>*/
-}
-{
-nit___nit__SeparateCompiler___compile_class_infos(var_compiler); /* Direct call separate_compiler#SeparateCompiler#compile_class_infos on <var_compiler:SeparateCompiler>*/
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:SeparateCompiler> */
-var23 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on <self:SeparateCompiler> */
-if (unlikely(var23 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 515);
-fatal_exit(1);
-}
-var21 = var23;
-RET_LABEL22:(void)0;
-}
-}
-{
-{ /* Inline mmodule#MModule#in_importation (var21) on <var21:MModule> */
-var26 = var21->attrs[COLOR_nit__mmodule__MModule___in_importation].val; /* _in_importation on <var21:MModule> */
-if (unlikely(var26 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 96);
-fatal_exit(1);
-}
-var24 = var26;
-RET_LABEL25:(void)0;
-}
-}
-{
-var27 = poset___poset__POSetElement___greaters(var24);
-}
-var_ = var27;
-{
-var28 = ((val*(*)(val* self))((((long)var_&3)?class_info[((long)var_&3)]:var_->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_); /* iterator on <var_:Collection[MModule]>*/
-}
-var_29 = var28;
-for(;;) {
-{
-var30 = ((short int(*)(val* self))((((long)var_29&3)?class_info[((long)var_29&3)]:var_29->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_29); /* is_ok on <var_29:Iterator[MModule]>*/
-}
-if (var30){
-{
-var31 = ((val*(*)(val* self))((((long)var_29&3)?class_info[((long)var_29&3)]:var_29->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_29); /* item on <var_29:Iterator[MModule]>*/
-}
-var_m = var31;
-{
-{ /* Inline model#MModule#intro_mclasses (var_m) on <var_m:MModule> */
-var34 = var_m->attrs[COLOR_nit__model__MModule___intro_mclasses].val; /* _intro_mclasses on <var_m:MModule> */
-if (unlikely(var34 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclasses");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 128);
-fatal_exit(1);
-}
-var32 = var34;
-RET_LABEL33:(void)0;
-}
-}
-var_35 = var32;
-{
-var36 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_35);
-}
-var_37 = var36;
-for(;;) {
-{
-var38 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_37);
-}
-if (var38){
-{
-var39 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_37);
-}
-var_mclass = var39;
-{
-((void(*)(val* self, val* p0))(var_compiler->class->vft[COLOR_nit__separate_compiler__SeparateCompiler__compile_class_to_c]))(var_compiler, var_mclass); /* compile_class_to_c on <var_compiler:SeparateCompiler>*/
-}
-{
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_37); /* Direct call array#ArrayIterator#next on <var_37:ArrayIterator[MClass]>*/
-}
-} else {
-goto BREAK_label;
-}
-}
-BREAK_label: (void)0;
-{
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_37); /* Direct call array#ArrayIterator#finish on <var_37:ArrayIterator[MClass]>*/
-}
-{
-((void(*)(val* self))((((long)var_29&3)?class_info[((long)var_29&3)]:var_29->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_29); /* next on <var_29:Iterator[MModule]>*/
-}
-} else {
-goto BREAK_label40;
-}
-}
-BREAK_label40: (void)0;
-{
-((void(*)(val* self))((((long)var_29&3)?class_info[((long)var_29&3)]:var_29->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_29); /* finish on <var_29:Iterator[MModule]>*/
-}
-if (unlikely(varonce41==NULL)) {
-var42 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String);
-if (likely(varonce43!=NULL)) {
-var44 = varonce43;
-} else {
-var45 = ".main";
-var46 = standard___standard__NativeString___to_s_with_length(var45, 5l);
-var44 = var46;
-varonce43 = var44;
-}
-((struct instance_standard__NativeArray*)var42)->values[1]=var44;
-} else {
-var42 = varonce41;
-varonce41 = NULL;
-}
-((struct instance_standard__NativeArray*)var42)->values[0]=var_c_name;
-{
-var47 = ((val*(*)(val* self))(var42->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var42); /* native_to_s on <var42:NativeArray[String]>*/
-}
-varonce41 = var42;
-{
-var48 = nit___nit__AbstractCompiler___new_file(var_compiler, var47);
-}
-{
-nit___nit__AbstractCompiler___compile_nitni_global_ref_functions(var_compiler); /* Direct call abstract_compiler#AbstractCompiler#compile_nitni_global_ref_functions on <var_compiler:SeparateCompiler>*/
-}
-{
-nit___nit__AbstractCompiler___compile_main_function(var_compiler); /* Direct call abstract_compiler#AbstractCompiler#compile_main_function on <var_compiler:SeparateCompiler>*/
-}
-{
-nit___nit__AbstractCompiler___compile_finalizer_function(var_compiler); /* Direct call abstract_compiler#AbstractCompiler#compile_finalizer_function on <var_compiler:SeparateCompiler>*/
-}
-{
-nit___nit__SeparateCompiler___link_mmethods(var_compiler); /* Direct call separate_compiler#SeparateCompiler#link_mmethods on <var_compiler:SeparateCompiler>*/
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:SeparateCompiler> */
-var51 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on <self:SeparateCompiler> */
-if (unlikely(var51 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 515);
-fatal_exit(1);
-}
-var49 = var51;
-RET_LABEL50:(void)0;
-}
-}
-{
-{ /* Inline mmodule#MModule#in_importation (var49) on <var49:MModule> */
-var54 = var49->attrs[COLOR_nit__mmodule__MModule___in_importation].val; /* _in_importation on <var49:MModule> */
-if (unlikely(var54 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 96);
-fatal_exit(1);
-}
-var52 = var54;
-RET_LABEL53:(void)0;
-}
-}
-{
-var55 = poset___poset__POSetElement___greaters(var52);
-}
-var_56 = var55;
-{
-var57 = ((val*(*)(val* self))((((long)var_56&3)?class_info[((long)var_56&3)]:var_56->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_56); /* iterator on <var_56:Collection[MModule]>*/
-}
-var_58 = var57;
-for(;;) {
-{
-var59 = ((short int(*)(val* self))((((long)var_58&3)?class_info[((long)var_58&3)]:var_58->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_58); /* is_ok on <var_58:Iterator[MModule]>*/
-}
-if (var59){
-{
-var60 = ((val*(*)(val* self))((((long)var_58&3)?class_info[((long)var_58&3)]:var_58->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_58); /* item on <var_58:Iterator[MModule]>*/
-}
-var_m61 = var60;
-{
-{ /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
-var64 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on <self:SeparateCompiler> */
-if (unlikely(var64 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 522);
-fatal_exit(1);
-}
-var62 = var64;
-RET_LABEL63:(void)0;
-}
-}
-{
-{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (var62) on <var62:ModelBuilder> */
-var67 = var62->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on <var62:ModelBuilder> */
-if (unlikely(var67 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47);
-fatal_exit(1);
-}
-var65 = var67;
-RET_LABEL66:(void)0;
-}
-}
-if (unlikely(varonce68==NULL)) {
-var69 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String);
-if (likely(varonce70!=NULL)) {
-var71 = varonce70;
-} else {
-var72 = "Generate C for module ";
-var73 = standard___standard__NativeString___to_s_with_length(var72, 22l);
-var71 = var73;
-varonce70 = var71;
-}
-((struct instance_standard__NativeArray*)var69)->values[0]=var71;
-} else {
-var69 = varonce68;
-varonce68 = NULL;
-}
-{
-var74 = nit___nit__MModule___nit__model_base__MEntity__full_name(var_m61);
-}
-((struct instance_standard__NativeArray*)var69)->values[1]=var74;
-{
-var75 = ((val*(*)(val* self))(var69->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var69); /* native_to_s on <var69:NativeArray[String]>*/
-}
-varonce68 = var69;
-{
-nit___nit__ToolContext___info(var65, var75, 2l); /* Direct call toolcontext#ToolContext#info on <var65:ToolContext>*/
-}
-if (unlikely(varonce76==NULL)) {
-var77 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String);
-if (likely(varonce78!=NULL)) {
-var79 = varonce78;
-} else {
-var80 = ".sep";
-var81 = standard___standard__NativeString___to_s_with_length(var80, 4l);
-var79 = var81;
-varonce78 = var79;
-}
-((struct instance_standard__NativeArray*)var77)->values[1]=var79;
-} else {
-var77 = varonce76;
-varonce76 = NULL;
-}
-{
-var82 = nit___nit__MModule___nit__model_base__MEntity__c_name(var_m61);
-}
-((struct instance_standard__NativeArray*)var77)->values[0]=var82;
-{
-var83 = ((val*(*)(val* self))(var77->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var77); /* native_to_s on <var77:NativeArray[String]>*/
-}
-varonce76 = var77;
-{
-var84 = nit___nit__AbstractCompiler___new_file(var_compiler, var83);
-}
-{
-nit___nit__SeparateCompiler___compile_module_to_c(var_compiler, var_m61); /* Direct call separate_compiler#SeparateCompiler#compile_module_to_c on <var_compiler:SeparateCompiler>*/
-}
-{
-((void(*)(val* self))((((long)var_58&3)?class_info[((long)var_58&3)]:var_58->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_58); /* next on <var_58:Iterator[MModule]>*/
-}
-} else {
-goto BREAK_label85;
-}
-}
-BREAK_label85: (void)0;
-{
-((void(*)(val* self))((((long)var_58&3)?class_info[((long)var_58&3)]:var_58->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_58); /* finish on <var_58:Iterator[MModule]>*/
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
-var88 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on <self:SeparateCompiler> */
-if (unlikely(var88 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 522);
-fatal_exit(1);
-}
-var86 = var88;
-RET_LABEL87:(void)0;
-}
-}
-{
-{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (var86) on <var86:ModelBuilder> */
-var91 = var86->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on <var86:ModelBuilder> */
-if (unlikely(var91 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47);
-fatal_exit(1);
-}
-var89 = var91;
-RET_LABEL90:(void)0;
-}
-}
-if (likely(varonce92!=NULL)) {
-var93 = varonce92;
-} else {
-var94 = "Type coloring";
-var95 = standard___standard__NativeString___to_s_with_length(var94, 13l);
-var93 = var95;
-varonce92 = var93;
-}
-{
-nit___nit__ToolContext___info(var89, var93, 2l); /* Direct call toolcontext#ToolContext#info on <var89:ToolContext>*/
-}
-if (unlikely(varonce96==NULL)) {
-var97 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String);
-if (likely(varonce98!=NULL)) {
-var99 = varonce98;
-} else {
-var100 = ".types";
-var101 = standard___standard__NativeString___to_s_with_length(var100, 6l);
-var99 = var101;
-varonce98 = var99;
-}
-((struct instance_standard__NativeArray*)var97)->values[1]=var99;
-} else {
-var97 = varonce96;
-varonce96 = NULL;
-}
-((struct instance_standard__NativeArray*)var97)->values[0]=var_c_name;
-{
-var102 = ((val*(*)(val* self))(var97->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var97); /* native_to_s on <var97:NativeArray[String]>*/
-}
-varonce96 = var97;
-{
-var103 = nit___nit__AbstractCompiler___new_file(var_compiler, var102);
-}
-{
-((void(*)(val* self))(var_compiler->class->vft[COLOR_nit__separate_compiler__SeparateCompiler__compile_types]))(var_compiler); /* compile_types on <var_compiler:SeparateCompiler>*/
-}
-RET_LABEL:;
-}
-/* method separate_compiler#SeparateCompiler#compile_types for (self: SeparateCompiler) */
-void nit___nit__SeparateCompiler___compile_types(val* self) {
-val* var_compiler /* var compiler: SeparateCompiler */;
-val* var /* : Collection[MType] */;
-val* var_mtypes /* var mtypes: Collection[MType] */;
-val* var_ /* var : Collection[MType] */;
-val* var1 /* : Iterator[nullable Object] */;
-val* var_2 /* var : Iterator[MType] */;
-short int var3 /* : Bool */;
-val* var4 /* : nullable Object */;
-val* var_t /* var t: MType */;
-val* var5 /* : Set[MType] */;
-val* var7 /* : Set[MType] */;
-val* var_8 /* var : Set[MType] */;
-val* var9 /* : Iterator[nullable Object] */;
-val* var_10 /* var : Iterator[MType] */;
-short int var11 /* : Bool */;
-val* var12 /* : nullable Object */;
-val* var_t13 /* var t: MType */;
-short int var14 /* : Bool */;
-var_compiler = self;
-{
-var = nit___nit__SeparateCompiler___do_type_coloring(var_compiler);
-}
-var_mtypes = var;
-var_ = var_mtypes;
-{
-var1 = ((val*(*)(val* self))((((long)var_&3)?class_info[((long)var_&3)]:var_->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_); /* iterator on <var_:Collection[MType]>*/
-}
-var_2 = var1;
-for(;;) {
-{
-var3 = ((short int(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_2); /* is_ok on <var_2:Iterator[MType]>*/
-}
-if (var3){
-{
-var4 = ((val*(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_2); /* item on <var_2:Iterator[MType]>*/
-}
-var_t = var4;
-{
-nit___nit__SeparateCompiler___compile_type_to_c(var_compiler, var_t); /* Direct call separate_compiler#SeparateCompiler#compile_type_to_c on <var_compiler:SeparateCompiler>*/
-}
-{
-((void(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_2); /* next on <var_2:Iterator[MType]>*/
-}
-} else {
-goto BREAK_label;
-}
-}
-BREAK_label: (void)0;
-{
-((void(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_2); /* finish on <var_2:Iterator[MType]>*/
-}
-{
-{ /* Inline separate_compiler#SeparateCompiler#undead_types (var_compiler) on <var_compiler:SeparateCompiler> */
-var7 = var_compiler->attrs[COLOR_nit__separate_compiler__SeparateCompiler___undead_types].val; /* _undead_types on <var_compiler:SeparateCompiler> */
-if (unlikely(var7 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _undead_types");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 146);
-fatal_exit(1);
-}
-var5 = var7;
-RET_LABEL6:(void)0;
-}
-}
-var_8 = var5;
-{
-var9 = ((val*(*)(val* self))((((long)var_8&3)?class_info[((long)var_8&3)]:var_8->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_8); /* iterator on <var_8:Set[MType]>*/
-}
-var_10 = var9;
-for(;;) {
-{
-var11 = ((short int(*)(val* self))((((long)var_10&3)?class_info[((long)var_10&3)]:var_10->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_10); /* is_ok on <var_10:Iterator[MType]>*/
-}
-if (var11){
-{
-var12 = ((val*(*)(val* self))((((long)var_10&3)?class_info[((long)var_10&3)]:var_10->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_10); /* item on <var_10:Iterator[MType]>*/
-}
-var_t13 = var12;
-{
-var14 = ((short int(*)(val* self, val* p0))((((long)var_mtypes&3)?class_info[((long)var_mtypes&3)]:var_mtypes->class)->vft[COLOR_standard__abstract_collection__Collection__has]))(var_mtypes, var_t13); /* has on <var_mtypes:Collection[MType]>*/
-}
-if (var14){
-goto BREAK_label15;
-} else {
-}
-{
-nit___nit__SeparateCompiler___compile_type_to_c(var_compiler, var_t13); /* Direct call separate_compiler#SeparateCompiler#compile_type_to_c on <var_compiler:SeparateCompiler>*/
-}
-BREAK_label15: (void)0;
-{
-((void(*)(val* self))((((long)var_10&3)?class_info[((long)var_10&3)]:var_10->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_10); /* next on <var_10:Iterator[MType]>*/
-}
-} else {
-goto BREAK_label16;
-}
-}
-BREAK_label16: (void)0;
-{
-((void(*)(val* self))((((long)var_10&3)?class_info[((long)var_10&3)]:var_10->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_10); /* finish on <var_10:Iterator[MType]>*/
-}
-RET_LABEL:;
-}
-/* method separate_compiler#SeparateCompiler#compile_header_structs for (self: SeparateCompiler) */
-void nit___nit__SeparateCompiler___nit__abstract_compiler__AbstractCompiler__compile_header_structs(val* self) {
-val* var /* : CodeWriter */;
-val* var2 /* : CodeWriter */;
-static val* varonce;
-val* var3 /* : String */;
-char* var4 /* : NativeString */;
-val* var5 /* : FlatString */;
-val* var6 /* : CodeWriter */;
-val* var8 /* : CodeWriter */;
-static val* varonce9;
-val* var10 /* : String */;
-char* var11 /* : NativeString */;
-val* var12 /* : FlatString */;
-val* var13 /* : CodeWriter */;
-val* var15 /* : CodeWriter */;
-static val* varonce16;
-val* var17 /* : String */;
-char* var18 /* : NativeString */;
-val* var19 /* : FlatString */;
-val* var20 /* : CodeWriter */;
-val* var22 /* : CodeWriter */;
-static val* varonce23;
-val* var24 /* : String */;
-char* var25 /* : NativeString */;
-val* var26 /* : FlatString */;
-val* var27 /* : CodeWriter */;
-val* var29 /* : CodeWriter */;
-static val* varonce30;
-val* var31 /* : String */;
-char* var32 /* : NativeString */;
-val* var33 /* : FlatString */;
-val* var34 /* : CodeWriter */;
-val* var36 /* : CodeWriter */;
-static val* varonce37;
-val* var38 /* : String */;
-char* var39 /* : NativeString */;
-val* var40 /* : FlatString */;
-val* var41 /* : ModelBuilder */;
-val* var43 /* : ModelBuilder */;
-val* var44 /* : ToolContext */;
-val* var46 /* : ToolContext */;
-val* var47 /* : OptionBool */;
-val* var49 /* : OptionBool */;
-val* var50 /* : nullable Object */;
-val* var52 /* : nullable Object */;
-short int var53 /* : Bool */;
-short int var54 /* : Bool */;
-val* var55 /* : CodeWriter */;
-val* var57 /* : CodeWriter */;
-static val* varonce58;
-val* var59 /* : String */;
-char* var60 /* : NativeString */;
-val* var61 /* : FlatString */;
-val* var62 /* : CodeWriter */;
-val* var64 /* : CodeWriter */;
-static val* varonce65;
-val* var66 /* : String */;
-char* var67 /* : NativeString */;
-val* var68 /* : FlatString */;
-{
-{ /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
-var2 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:SeparateCompiler> */
-if (unlikely(var2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 569);
-fatal_exit(1);
-}
-var = var2;
-RET_LABEL1:(void)0;
-}
-}
-if (likely(varonce!=NULL)) {
-var3 = varonce;
-} else {
-var4 = "typedef void(*nitmethod_t)(void); /* general C type representing a Nit method. */";
-var5 = standard___standard__NativeString___to_s_with_length(var4, 81l);
-var3 = var5;
-varonce = var3;
-}
-{
-nit___nit__CodeWriter___add_decl(var, var3); /* Direct call abstract_compiler#CodeWriter#add_decl on <var:CodeWriter>*/
-}
-{
-nit___nit__SeparateCompiler___compile_header_attribute_structs(self); /* Direct call separate_compiler#SeparateCompiler#compile_header_attribute_structs on <self:SeparateCompiler>*/
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
-var8 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:SeparateCompiler> */
-if (unlikely(var8 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 569);
-fatal_exit(1);
-}
-var6 = var8;
-RET_LABEL7:(void)0;
-}
-}
-if (likely(varonce9!=NULL)) {
-var10 = varonce9;
-} else {
-var11 = "struct class { int box_kind; nitmethod_t vft[]; }; /* general C type representing a Nit class. */";
-var12 = standard___standard__NativeString___to_s_with_length(var11, 97l);
-var10 = var12;
-varonce9 = var10;
-}
-{
-nit___nit__CodeWriter___add_decl(var6, var10); /* Direct call abstract_compiler#CodeWriter#add_decl on <var6:CodeWriter>*/
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
-var15 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:SeparateCompiler> */
-if (unlikely(var15 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 569);
-fatal_exit(1);
-}
-var13 = var15;
-RET_LABEL14:(void)0;
-}
-}
-if (likely(varonce16!=NULL)) {
-var17 = varonce16;
-} else {
-var18 = "struct type { int id; const char *name; int color; short int is_nullable; const struct types *resolution_table; int table_size; int type_table[]; }; /* general C type representing a Nit type. */";
-var19 = standard___standard__NativeString___to_s_with_length(var18, 194l);
-var17 = var19;
-varonce16 = var17;
-}
-{
-nit___nit__CodeWriter___add_decl(var13, var17); /* Direct call abstract_compiler#CodeWriter#add_decl on <var13:CodeWriter>*/
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
-var22 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:SeparateCompiler> */
-if (unlikely(var22 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 569);
-fatal_exit(1);
-}
-var20 = var22;
-RET_LABEL21:(void)0;
-}
-}
-if (likely(varonce23!=NULL)) {
-var24 = varonce23;
-} else {
-var25 = "struct instance { const struct type *type; const struct class *class; nitattribute_t attrs[]; }; /* general C type representing a Nit instance. */";
-var26 = standard___standard__NativeString___to_s_with_length(var25, 146l);
-var24 = var26;
-varonce23 = var24;
-}
-{
-nit___nit__CodeWriter___add_decl(var20, var24); /* Direct call abstract_compiler#CodeWriter#add_decl on <var20:CodeWriter>*/
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
-var29 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:SeparateCompiler> */
-if (unlikely(var29 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 569);
-fatal_exit(1);
-}
-var27 = var29;
-RET_LABEL28:(void)0;
-}
-}
-if (likely(varonce30!=NULL)) {
-var31 = varonce30;
-} else {
-var32 = "struct types { int dummy; const struct type *types[]; }; /* a list types (used for vts, fts and unresolved lists). */";
-var33 = standard___standard__NativeString___to_s_with_length(var32, 117l);
-var31 = var33;
-varonce30 = var31;
-}
-{
-nit___nit__CodeWriter___add_decl(var27, var31); /* Direct call abstract_compiler#CodeWriter#add_decl on <var27:CodeWriter>*/
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
-var36 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:SeparateCompiler> */
-if (unlikely(var36 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 569);
-fatal_exit(1);
-}
-var34 = var36;
-RET_LABEL35:(void)0;
-}
-}
-if (likely(varonce37!=NULL)) {
-var38 = varonce37;
-} else {
-var39 = "typedef struct instance val; /* general C type representing a Nit instance. */";
-var40 = standard___standard__NativeString___to_s_with_length(var39, 78l);
-var38 = var40;
-varonce37 = var38;
-}
-{
-nit___nit__CodeWriter___add_decl(var34, var38); /* Direct call abstract_compiler#CodeWriter#add_decl on <var34:CodeWriter>*/
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
-var43 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on <self:SeparateCompiler> */
-if (unlikely(var43 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 522);
-fatal_exit(1);
-}
-var41 = var43;
-RET_LABEL42:(void)0;
-}
-}
-{
-{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (var41) on <var41:ModelBuilder> */
-var46 = var41->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on <var41:ModelBuilder> */
-if (unlikely(var46 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47);
-fatal_exit(1);
-}
-var44 = var46;
-RET_LABEL45:(void)0;
-}
-}
-{
-{ /* Inline separate_compiler#ToolContext#opt_no_tag_primitives (var44) on <var44:ToolContext> */
-var49 = var44->attrs[COLOR_nit__separate_compiler__ToolContext___opt_no_tag_primitives].val; /* _opt_no_tag_primitives on <var44:ToolContext> */
-if (unlikely(var49 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_tag_primitives");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 32);
-fatal_exit(1);
-}
-var47 = var49;
-RET_LABEL48:(void)0;
-}
-}
-{
-{ /* Inline opts#Option#value (var47) on <var47:OptionBool> */
-var52 = var47->attrs[COLOR_opts__Option___value].val; /* _value on <var47:OptionBool> */
-var50 = var52;
-RET_LABEL51:(void)0;
-}
-}
-var53 = (short int)((long)(var50)>>2);
-var54 = !var53;
-if (var54){
-{
-{ /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
-var57 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:SeparateCompiler> */
-if (unlikely(var57 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 569);
-fatal_exit(1);
-}
-var55 = var57;
-RET_LABEL56:(void)0;
-}
-}
-if (likely(varonce58!=NULL)) {
-var59 = varonce58;
-} else {
-var60 = "extern const struct class *class_info[];";
-var61 = standard___standard__NativeString___to_s_with_length(var60, 40l);
-var59 = var61;
-varonce58 = var59;
-}
-{
-nit___nit__CodeWriter___add_decl(var55, var59); /* Direct call abstract_compiler#CodeWriter#add_decl on <var55:CodeWriter>*/
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
-var64 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:SeparateCompiler> */
-if (unlikely(var64 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 569);
-fatal_exit(1);
-}
-var62 = var64;
-RET_LABEL63:(void)0;
-}
-}
-if (likely(varonce65!=NULL)) {
-var66 = varonce65;
-} else {
-var67 = "extern const struct type *type_info[];";
-var68 = standard___standard__NativeString___to_s_with_length(var67, 38l);
-var66 = var68;
-varonce65 = var66;
-}
-{
-nit___nit__CodeWriter___add_decl(var62, var66); /* Direct call abstract_compiler#CodeWriter#add_decl on <var62:CodeWriter>*/
-}
-} else {
-}
-RET_LABEL:;
-}
-/* method separate_compiler#SeparateCompiler#compile_header_attribute_structs for (self: SeparateCompiler) */
-void nit___nit__SeparateCompiler___compile_header_attribute_structs(val* self) {
-val* var /* : ModelBuilder */;
-val* var2 /* : ModelBuilder */;
-val* var3 /* : ToolContext */;
-val* var5 /* : ToolContext */;
-val* var6 /* : OptionBool */;
-val* var8 /* : OptionBool */;
-val* var9 /* : nullable Object */;
-val* var11 /* : nullable Object */;
-short int var12 /* : Bool */;
-val* var13 /* : CodeWriter */;
-val* var15 /* : CodeWriter */;
-static val* varonce;
-val* var16 /* : String */;
-char* var17 /* : NativeString */;
-val* var18 /* : FlatString */;
-val* var19 /* : CodeWriter */;
-val* var21 /* : CodeWriter */;
-static val* varonce22;
-val* var23 /* : String */;
-char* var24 /* : NativeString */;
-val* var25 /* : FlatString */;
-val* var26 /* : CodeWriter */;
-val* var28 /* : CodeWriter */;
-static val* varonce29;
-val* var30 /* : String */;
-char* var31 /* : NativeString */;
-val* var32 /* : FlatString */;
-val* var33 /* : HashMap[MClass, Int] */;
-val* var35 /* : HashMap[MClass, Int] */;
-val* var_ /* var : HashMap[MClass, Int] */;
-val* var36 /* : HashMapIterator[nullable Object, nullable Object] */;
-val* var_37 /* var : HashMapIterator[MClass, Int] */;
-short int var38 /* : Bool */;
-val* var39 /* : nullable Object */;
-val* var_c /* var c: MClass */;
-val* var40 /* : nullable Object */;
-long var41 /* : Int */;
-long var_v /* var v: Int */;
-val* var42 /* : MClassType */;
-val* var44 /* : MClassType */;
-val* var_t /* var t: MClassType */;
-val* var45 /* : MClass */;
-val* var47 /* : MClass */;
-val* var48 /* : String */;
-val* var50 /* : String */;
-static val* varonce51;
-val* var52 /* : String */;
-char* var53 /* : NativeString */;
-val* var54 /* : FlatString */;
-short int var55 /* : Bool */;
-val* var56 /* : CodeWriter */;
-val* var58 /* : CodeWriter */;
-val* var60 /* : NativeArray[String] */;
-static val* varonce59;
-static val* varonce61;
-val* var62 /* : String */;
-char* var63 /* : NativeString */;
-val* var64 /* : FlatString */;
-static val* varonce65;
-val* var66 /* : String */;
-char* var67 /* : NativeString */;
-val* var68 /* : FlatString */;
-val* var69 /* : String */;
-val* var70 /* : String */;
-val* var71 /* : String */;
-val* var74 /* : CodeWriter */;
-val* var76 /* : CodeWriter */;
-static val* varonce77;
-val* var78 /* : String */;
-char* var79 /* : NativeString */;
-val* var80 /* : FlatString */;
-{
-{ /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
-var2 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on <self:SeparateCompiler> */
-if (unlikely(var2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 522);
-fatal_exit(1);
-}
-var = var2;
-RET_LABEL1:(void)0;
-}
-}
-{
-{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (var) on <var:ModelBuilder> */
-var5 = var->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on <var:ModelBuilder> */
-if (unlikely(var5 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47);
-fatal_exit(1);
-}
-var3 = var5;
-RET_LABEL4:(void)0;
-}
-}
-{
-{ /* Inline separate_compiler#ToolContext#opt_no_union_attribute (var3) on <var3:ToolContext> */
-var8 = var3->attrs[COLOR_nit__separate_compiler__ToolContext___opt_no_union_attribute].val; /* _opt_no_union_attribute on <var3:ToolContext> */
-if (unlikely(var8 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_union_attribute");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 28);
-fatal_exit(1);
-}
-var6 = var8;
-RET_LABEL7:(void)0;
-}
-}
-{
-{ /* Inline opts#Option#value (var6) on <var6:OptionBool> */
-var11 = var6->attrs[COLOR_opts__Option___value].val; /* _value on <var6:OptionBool> */
-var9 = var11;
-RET_LABEL10:(void)0;
-}
-}
-var12 = (short int)((long)(var9)>>2);
-if (var12){
-{
-{ /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
-var15 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:SeparateCompiler> */
-if (unlikely(var15 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 569);
-fatal_exit(1);
-}
-var13 = var15;
-RET_LABEL14:(void)0;
-}
-}
-if (likely(varonce!=NULL)) {
-var16 = varonce;
-} else {
-var17 = "typedef void* nitattribute_t; /* general C type representing a Nit attribute. */";
-var18 = standard___standard__NativeString___to_s_with_length(var17, 80l);
-var16 = var18;
-varonce = var16;
-}
-{
-nit___nit__CodeWriter___add_decl(var13, var16); /* Direct call abstract_compiler#CodeWriter#add_decl on <var13:CodeWriter>*/
-}
-} else {
-{
-{ /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
-var21 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:SeparateCompiler> */
-if (unlikely(var21 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 569);
-fatal_exit(1);
-}
-var19 = var21;
-RET_LABEL20:(void)0;
-}
-}
-if (likely(varonce22!=NULL)) {
-var23 = varonce22;
-} else {
-var24 = "typedef union {";
-var25 = standard___standard__NativeString___to_s_with_length(var24, 15l);
-var23 = var25;
-varonce22 = var23;
-}
-{
-nit___nit__CodeWriter___add_decl(var19, var23); /* Direct call abstract_compiler#CodeWriter#add_decl on <var19:CodeWriter>*/
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
-var28 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:SeparateCompiler> */
-if (unlikely(var28 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 569);
-fatal_exit(1);
-}
-var26 = var28;
-RET_LABEL27:(void)0;
-}
-}
-if (likely(varonce29!=NULL)) {
-var30 = varonce29;
-} else {
-var31 = "void* val;";
-var32 = standard___standard__NativeString___to_s_with_length(var31, 10l);
-var30 = var32;
-varonce29 = var30;
-}
-{
-nit___nit__CodeWriter___add_decl(var26, var30); /* Direct call abstract_compiler#CodeWriter#add_decl on <var26:CodeWriter>*/
-}
-{
-{ /* Inline separate_compiler#SeparateCompiler#box_kinds (self) on <self:SeparateCompiler> */
-var35 = self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___box_kinds].val; /* _box_kinds on <self:SeparateCompiler> */
-if (unlikely(var35 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _box_kinds");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 263);
-fatal_exit(1);
-}
-var33 = var35;
-RET_LABEL34:(void)0;
-}
-}
-var_ = var33;
-{
-var36 = standard___standard__HashMap___standard__abstract_collection__MapRead__iterator(var_);
-}
-var_37 = var36;
-for(;;) {
-{
-var38 = standard___standard__HashMapIterator___standard__abstract_collection__MapIterator__is_ok(var_37);
-}
-if (var38){
-{
-var39 = standard___standard__HashMapIterator___standard__abstract_collection__MapIterator__key(var_37);
-}
-var_c = var39;
-{
-var40 = standard___standard__HashMapIterator___standard__abstract_collection__MapIterator__item(var_37);
-}
-var41 = (long)(var40)>>2;
-var_v = var41;
-{
-{ /* Inline model#MClass#mclass_type (var_c) on <var_c:MClass> */
-var44 = var_c->attrs[COLOR_nit__model__MClass___mclass_type].val; /* _mclass_type on <var_c:MClass> */
-if (unlikely(var44 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 484);
-fatal_exit(1);
-}
-var42 = var44;
-RET_LABEL43:(void)0;
-}
-}
-var_t = var42;
-{
-{ /* Inline model#MClassType#mclass (var_t) on <var_t:MClassType> */
-var47 = var_t->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on <var_t:MClassType> */
-if (unlikely(var47 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1138);
-fatal_exit(1);
-}
-var45 = var47;
-RET_LABEL46:(void)0;
-}
-}
-{
-{ /* Inline model#MClass#name (var45) on <var45:MClass> */
-var50 = var45->attrs[COLOR_nit__model__MClass___name].val; /* _name on <var45:MClass> */
-if (unlikely(var50 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 362);
-fatal_exit(1);
-}
-var48 = var50;
-RET_LABEL49:(void)0;
-}
-}
-if (likely(varonce51!=NULL)) {
-var52 = varonce51;
-} else {
-var53 = "Pointer";
-var54 = standard___standard__NativeString___to_s_with_length(var53, 7l);
-var52 = var54;
-varonce51 = var52;
-}
-{
-var55 = ((short int(*)(val* self, val* p0))(var48->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var48, var52); /* == on <var48:String>*/
-}
-if (var55){
-goto BREAK_label;
-} else {
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
-var58 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:SeparateCompiler> */
-if (unlikely(var58 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 569);
-fatal_exit(1);
-}
-var56 = var58;
-RET_LABEL57:(void)0;
-}
-}
-if (unlikely(varonce59==NULL)) {
-var60 = NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String);
-if (likely(varonce61!=NULL)) {
-var62 = varonce61;
-} else {
-var63 = " ";
-var64 = standard___standard__NativeString___to_s_with_length(var63, 1l);
-var62 = var64;
-varonce61 = var62;
-}
-((struct instance_standard__NativeArray*)var60)->values[1]=var62;
-if (likely(varonce65!=NULL)) {
-var66 = varonce65;
-} else {
-var67 = ";";
-var68 = standard___standard__NativeString___to_s_with_length(var67, 1l);
-var66 = var68;
-varonce65 = var66;
-}
-((struct instance_standard__NativeArray*)var60)->values[3]=var66;
-} else {
-var60 = varonce59;
-varonce59 = NULL;
-}
-{
-var69 = nit__abstract_compiler___MClassType___MType__ctype_extern(var_t);
-}
-((struct instance_standard__NativeArray*)var60)->values[0]=var69;
-{
-var70 = nit__abstract_compiler___MClassType___MType__ctypename(var_t);
-}
-((struct instance_standard__NativeArray*)var60)->values[2]=var70;
-{
-var71 = ((val*(*)(val* self))(var60->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var60); /* native_to_s on <var60:NativeArray[String]>*/
-}
-varonce59 = var60;
-{
-nit___nit__CodeWriter___add_decl(var56, var71); /* Direct call abstract_compiler#CodeWriter#add_decl on <var56:CodeWriter>*/
-}
-BREAK_label: (void)0;
-{
-standard___standard__HashMapIterator___standard__abstract_collection__MapIterator__next(var_37); /* Direct call hash_collection#HashMapIterator#next on <var_37:HashMapIterator[MClass, Int]>*/
-}
-} else {
-goto BREAK_label72;
-}
-}
-BREAK_label72: (void)0;
-{
-{ /* Inline abstract_collection#MapIterator#finish (var_37) on <var_37:HashMapIterator[MClass, Int]> */
-RET_LABEL73:(void)0;
-}
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
-var76 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:SeparateCompiler> */
-if (unlikely(var76 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 569);
-fatal_exit(1);
-}
-var74 = var76;
-RET_LABEL75:(void)0;
-}
-}
-if (likely(varonce77!=NULL)) {
-var78 = varonce77;
-} else {
-var79 = "} nitattribute_t; /* general C type representing a Nit attribute. */";
-var80 = standard___standard__NativeString___to_s_with_length(var79, 68l);
-var78 = var80;
-varonce77 = var78;
-}
-{
-nit___nit__CodeWriter___add_decl(var74, var78); /* Direct call abstract_compiler#CodeWriter#add_decl on <var74:CodeWriter>*/
-}
-}
-RET_LABEL:;
-}
-/* method separate_compiler#SeparateCompiler#compile_box_kinds for (self: SeparateCompiler) */
-void nit___nit__SeparateCompiler___compile_box_kinds(val* self) {
-val* var /* : Array[String] */;
-val* var_ /* var : Array[String] */;
-static val* varonce;
-val* var1 /* : String */;
-char* var2 /* : NativeString */;
-val* var3 /* : FlatString */;
-static val* varonce4;
-val* var5 /* : String */;
-char* var6 /* : NativeString */;
-val* var7 /* : FlatString */;
-static val* varonce8;
-val* var9 /* : String */;
-char* var10 /* : NativeString */;
-val* var11 /* : FlatString */;
-static val* varonce12;
-val* var13 /* : String */;
-char* var14 /* : NativeString */;
-val* var15 /* : FlatString */;
-static val* varonce16;
-val* var17 /* : String */;
-char* var18 /* : NativeString */;
-val* var19 /* : FlatString */;
-static val* varonce20;
-val* var21 /* : String */;
-char* var22 /* : NativeString */;
-val* var23 /* : FlatString */;
-static val* varonce24;
-val* var25 /* : String */;
-char* var26 /* : NativeString */;
-val* var27 /* : FlatString */;
-val* var_28 /* var : Array[String] */;
-val* var29 /* : ArrayIterator[nullable Object] */;
-val* var_30 /* var : ArrayIterator[String] */;
-short int var31 /* : Bool */;
-val* var32 /* : nullable Object */;
-val* var_classname /* var classname: String */;
-val* var33 /* : MModule */;
-val* var35 /* : MModule */;
-val* var36 /* : Model */;
-val* var38 /* : Model */;
-val* var39 /* : nullable Array[MClass] */;
-val* var_classes /* var classes: nullable Array[MClass] */;
-short int var40 /* : Bool */;
-short int var41 /* : Bool */;
-long var42 /* : Int */;
-long var44 /* : Int */;
-short int var45 /* : Bool */;
-short int var47 /* : Bool */;
-val* var48 /* : Sys */;
-static val* varonce49;
-val* var50 /* : String */;
-char* var51 /* : NativeString */;
-val* var52 /* : FlatString */;
-val* var53 /* : String */;
-val* var54 /* : HashMap[MClass, Int] */;
-val* var56 /* : HashMap[MClass, Int] */;
-val* var57 /* : nullable Object */;
-val* var58 /* : HashMap[MClass, Int] */;
-val* var60 /* : HashMap[MClass, Int] */;
-long var61 /* : Int */;
-long var62 /* : Int */;
-short int var64 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-long var65 /* : Int */;
-val* var66 /* : nullable Object */;
-var = NEW_standard__Array(&type_standard__Array__standard__String);
-{
-standard___standard__Array___with_capacity(var, 7l); /* Direct call array#Array#with_capacity on <var:Array[String]>*/
-}
-var_ = var;
-if (likely(varonce!=NULL)) {
-var1 = varonce;
-} else {
-var2 = "Int";
-var3 = standard___standard__NativeString___to_s_with_length(var2, 3l);
-var1 = var3;
-varonce = var1;
-}
-{
-standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_, var1); /* Direct call array#AbstractArray#push on <var_:Array[String]>*/
-}
-if (likely(varonce4!=NULL)) {
-var5 = varonce4;
-} else {
-var6 = "Bool";
-var7 = standard___standard__NativeString___to_s_with_length(var6, 4l);
-var5 = var7;
-varonce4 = var5;
-}
-{
-standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_, var5); /* Direct call array#AbstractArray#push on <var_:Array[String]>*/
-}
-if (likely(varonce8!=NULL)) {
-var9 = varonce8;
-} else {
-var10 = "Byte";
-var11 = standard___standard__NativeString___to_s_with_length(var10, 4l);
-var9 = var11;
-varonce8 = var9;
-}
-{
-standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_, var9); /* Direct call array#AbstractArray#push on <var_:Array[String]>*/
-}
-if (likely(varonce12!=NULL)) {
-var13 = varonce12;
-} else {
-var14 = "Char";
-var15 = standard___standard__NativeString___to_s_with_length(var14, 4l);
-var13 = var15;
-varonce12 = var13;
-}
-{
-standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_, var13); /* Direct call array#AbstractArray#push on <var_:Array[String]>*/
-}
-if (likely(varonce16!=NULL)) {
-var17 = varonce16;
-} else {
-var18 = "Float";
-var19 = standard___standard__NativeString___to_s_with_length(var18, 5l);
-var17 = var19;
-varonce16 = var17;
-}
-{
-standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_, var17); /* Direct call array#AbstractArray#push on <var_:Array[String]>*/
-}
-if (likely(varonce20!=NULL)) {
-var21 = varonce20;
-} else {
-var22 = "NativeString";
-var23 = standard___standard__NativeString___to_s_with_length(var22, 12l);
-var21 = var23;
-varonce20 = var21;
-}
-{
-standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_, var21); /* Direct call array#AbstractArray#push on <var_:Array[String]>*/
-}
-if (likely(varonce24!=NULL)) {
-var25 = varonce24;
-} else {
-var26 = "Pointer";
-var27 = standard___standard__NativeString___to_s_with_length(var26, 7l);
-var25 = var27;
-varonce24 = var25;
-}
-{
-standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_, var25); /* Direct call array#AbstractArray#push on <var_:Array[String]>*/
-}
-var_28 = var_;
-{
-var29 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_28);
-}
-var_30 = var29;
-for(;;) {
-{
-var31 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_30);
-}
-if (var31){
-{
-var32 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_30);
-}
-var_classname = var32;
-{
-{ /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:SeparateCompiler> */
-var35 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on <self:SeparateCompiler> */
-if (unlikely(var35 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 515);
-fatal_exit(1);
-}
-var33 = var35;
-RET_LABEL34:(void)0;
-}
-}
-{
-{ /* Inline mmodule#MModule#model (var33) on <var33:MModule> */
-var38 = var33->attrs[COLOR_nit__mmodule__MModule___model].val; /* _model on <var33:MModule> */
-if (unlikely(var38 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 73);
-fatal_exit(1);
-}
-var36 = var38;
-RET_LABEL37:(void)0;
-}
-}
-{
-var39 = nit__model___Model___get_mclasses_by_name(var36, var_classname);
-}
-var_classes = var39;
-if (var_classes == NULL) {
-var40 = 1; /* is null */
-} else {
-var40 = 0; /* arg is null but recv is not */
-}
-if (0) {
-var41 = standard___standard__Array___standard__kernel__Object___61d_61d(var_classes, ((val*)NULL));
-var40 = var41;
-}
-if (var40){
-goto BREAK_label;
-} else {
-}
-{
-{ /* Inline array#AbstractArrayRead#length (var_classes) on <var_classes:nullable Array[MClass](Array[MClass])> */
-var44 = var_classes->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on <var_classes:nullable Array[MClass](Array[MClass])> */
-var42 = var44;
-RET_LABEL43:(void)0;
-}
-}
-{
-{ /* Inline kernel#Int#== (var42,1l) on <var42:Int> */
-var47 = var42 == 1l;
-var45 = var47;
-goto RET_LABEL46;
-RET_LABEL46:(void)0;
-}
-}
-if (unlikely(!var45)) {
-var48 = glob_sys;
-if (likely(varonce49!=NULL)) {
-var50 = varonce49;
-} else {
-var51 = ", ";
-var52 = standard___standard__NativeString___to_s_with_length(var51, 2l);
-var50 = var52;
-varonce49 = var50;
-}
-{
-var53 = standard__string___Collection___join(var_classes, var50);
-}
-{
-standard__file___Sys___print(var48, var53); /* Direct call file#Sys#print on <var48:Sys>*/
-}
-PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 258);
-fatal_exit(1);
-}
-{
-{ /* Inline separate_compiler#SeparateCompiler#box_kinds (self) on <self:SeparateCompiler> */
-var56 = self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___box_kinds].val; /* _box_kinds on <self:SeparateCompiler> */
-if (unlikely(var56 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _box_kinds");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 263);
-fatal_exit(1);
-}
-var54 = var56;
-RET_LABEL55:(void)0;
-}
-}
-{
-var57 = standard___standard__SequenceRead___Collection__first(var_classes);
-}
-{
-{ /* Inline separate_compiler#SeparateCompiler#box_kinds (self) on <self:SeparateCompiler> */
-var60 = self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___box_kinds].val; /* _box_kinds on <self:SeparateCompiler> */
-if (unlikely(var60 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _box_kinds");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 263);
-fatal_exit(1);
-}
-var58 = var60;
-RET_LABEL59:(void)0;
-}
-}
-{
-var61 = standard___standard__HashMap___standard__abstract_collection__MapRead__length(var58);
-}
-{
-{ /* Inline kernel#Int#+ (var61,1l) on <var61:Int> */
-/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
-/* <1l:Int> isa OTHER */
-var64 = 1; /* easy <1l:Int> isa OTHER*/
-if (unlikely(!var64)) {
-var_class_name = type_standard__Int.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
-fatal_exit(1);
-}
-var65 = var61 + 1l;
-var62 = var65;
-goto RET_LABEL63;
-RET_LABEL63:(void)0;
-}
-}
-{
-var66 = (val*)(var62<<2|1);
-standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var54, var57, var66); /* Direct call hash_collection#HashMap#[]= on <var54:HashMap[MClass, Int]>*/
-}
-BREAK_label: (void)0;
-{
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_30); /* Direct call array#ArrayIterator#next on <var_30:ArrayIterator[String]>*/
-}
-} else {
-goto BREAK_label67;
-}
-}
-BREAK_label67: (void)0;
-{
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_30); /* Direct call array#ArrayIterator#finish on <var_30:ArrayIterator[String]>*/
-}
-RET_LABEL:;
-}
-/* method separate_compiler#SeparateCompiler#box_kinds for (self: SeparateCompiler): HashMap[MClass, Int] */
-val* nit___nit__SeparateCompiler___box_kinds(val* self) {
-val* var /* : HashMap[MClass, Int] */;
-val* var1 /* : HashMap[MClass, Int] */;
-var1 = self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___box_kinds].val; /* _box_kinds on <self:SeparateCompiler> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _box_kinds");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 263);
-fatal_exit(1);
-}
-var = var1;
-RET_LABEL:;
-return var;
-}
-/* method separate_compiler#SeparateCompiler#box_kind_of for (self: SeparateCompiler, MClass): Int */
-long nit___nit__SeparateCompiler___box_kind_of(val* self, val* p0) {
-long var /* : Int */;
-val* var_mclass /* var mclass: MClass */;
-val* var1 /* : MClassType */;
-val* var3 /* : MClassType */;
-val* var4 /* : String */;
-static val* varonce;
-val* var5 /* : String */;
-char* var6 /* : NativeString */;
-val* var7 /* : FlatString */;
-short int var8 /* : Bool */;
-short int var9 /* : Bool */;
-val* var10 /* : MClassKind */;
-val* var12 /* : MClassKind */;
-val* var13 /* : Sys */;
-val* var14 /* : MClassKind */;
-short int var15 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var17 /* : Bool */;
-short int var19 /* : Bool */;
-short int var_ /* var : Bool */;
-val* var20 /* : String */;
-val* var22 /* : String */;
-static val* varonce23;
-val* var24 /* : String */;
-char* var25 /* : NativeString */;
-val* var26 /* : FlatString */;
-short int var27 /* : Bool */;
-val* var_other29 /* var other: nullable Object */;
-short int var30 /* : Bool */;
-short int var31 /* : Bool */;
-val* var32 /* : HashMap[MClass, Int] */;
-val* var34 /* : HashMap[MClass, Int] */;
-val* var35 /* : MModule */;
-val* var37 /* : MModule */;
-val* var38 /* : MClassType */;
-val* var39 /* : MClass */;
-val* var41 /* : MClass */;
-val* var42 /* : nullable Object */;
-long var43 /* : Int */;
-val* var44 /* : HashMap[MClass, Int] */;
-val* var46 /* : HashMap[MClass, Int] */;
-val* var47 /* : nullable Object */;
-long var48 /* : Int */;
-var_mclass = p0;
-{
-{ /* Inline model#MClass#mclass_type (var_mclass) on <var_mclass:MClass> */
-var3 = var_mclass->attrs[COLOR_nit__model__MClass___mclass_type].val; /* _mclass_type on <var_mclass:MClass> */
-if (unlikely(var3 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 484);
-fatal_exit(1);
-}
-var1 = var3;
-RET_LABEL2:(void)0;
-}
-}
-{
-var4 = nit__abstract_compiler___MClassType___MType__ctype_extern(var1);
-}
-if (likely(varonce!=NULL)) {
-var5 = varonce;
-} else {
-var6 = "val*";
-var7 = standard___standard__NativeString___to_s_with_length(var6, 4l);
-var5 = var7;
-varonce = var5;
-}
-{
-var8 = ((short int(*)(val* self, val* p0))(var4->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var4, var5); /* == on <var4:String>*/
-}
-if (var8){
-var = 0l;
-goto RET_LABEL;
-} else {
-{
-{ /* Inline model#MClass#kind (var_mclass) on <var_mclass:MClass> */
-var12 = var_mclass->attrs[COLOR_nit__model__MClass___kind].val; /* _kind on <var_mclass:MClass> */
-if (unlikely(var12 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 436);
-fatal_exit(1);
-}
-var10 = var12;
-RET_LABEL11:(void)0;
-}
-}
-var13 = glob_sys;
-{
-var14 = nit__model___standard__Sys___extern_kind(var13);
-}
-{
-{ /* Inline kernel#Object#== (var10,var14) on <var10:MClassKind> */
-var_other = var14;
-{
-{ /* Inline kernel#Object#is_same_instance (var10,var_other) on <var10:MClassKind> */
-var19 = var10 == var_other;
-var17 = var19;
-goto RET_LABEL18;
-RET_LABEL18:(void)0;
-}
-}
-var15 = var17;
-goto RET_LABEL16;
-RET_LABEL16:(void)0;
-}
-}
-var_ = var15;
-if (var15){
-{
-{ /* Inline model#MClass#name (var_mclass) on <var_mclass:MClass> */
-var22 = var_mclass->attrs[COLOR_nit__model__MClass___name].val; /* _name on <var_mclass:MClass> */
-if (unlikely(var22 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 362);
-fatal_exit(1);
-}
-var20 = var22;
-RET_LABEL21:(void)0;
-}
-}
-if (likely(varonce23!=NULL)) {
-var24 = varonce23;
-} else {
-var25 = "NativeString";
-var26 = standard___standard__NativeString___to_s_with_length(var25, 12l);
-var24 = var26;
-varonce23 = var24;
-}
-{
-{ /* Inline kernel#Object#!= (var20,var24) on <var20:String> */
-var_other29 = var24;
-{
-var30 = ((short int(*)(val* self, val* p0))(var20->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var20, var_other29); /* == on <var20:String>*/
-}
-var31 = !var30;
-var27 = var31;
-goto RET_LABEL28;
-RET_LABEL28:(void)0;
-}
-}
-var9 = var27;
-} else {
-var9 = var_;
-}
-if (var9){
-{
-{ /* Inline separate_compiler#SeparateCompiler#box_kinds (self) on <self:SeparateCompiler> */
-var34 = self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___box_kinds].val; /* _box_kinds on <self:SeparateCompiler> */
-if (unlikely(var34 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _box_kinds");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 263);
-fatal_exit(1);
-}
-var32 = var34;
-RET_LABEL33:(void)0;
-}
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:SeparateCompiler> */
-var37 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on <self:SeparateCompiler> */
-if (unlikely(var37 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 515);
-fatal_exit(1);
-}
-var35 = var37;
-RET_LABEL36:(void)0;
-}
-}
-{
-var38 = nit__model___MModule___pointer_type(var35);
-}
-{
-{ /* Inline model#MClassType#mclass (var38) on <var38:MClassType> */
-var41 = var38->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on <var38:MClassType> */
-if (unlikely(var41 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1138);
-fatal_exit(1);
-}
-var39 = var41;
-RET_LABEL40:(void)0;
-}
-}
-{
-var42 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var32, var39);
-}
-var43 = (long)(var42)>>2;
-var = var43;
-goto RET_LABEL;
-} else {
-{
-{ /* Inline separate_compiler#SeparateCompiler#box_kinds (self) on <self:SeparateCompiler> */
-var46 = self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___box_kinds].val; /* _box_kinds on <self:SeparateCompiler> */
-if (unlikely(var46 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _box_kinds");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 263);
-fatal_exit(1);
-}
-var44 = var46;
-RET_LABEL45:(void)0;
-}
-}
-{
-var47 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var44, var_mclass);
-}
-var48 = (long)(var47)>>2;
-var = var48;
-goto RET_LABEL;
-}
-}
-RET_LABEL:;
-return var;
-}
-/* method separate_compiler#SeparateCompiler#compile_color_consts for (self: SeparateCompiler, Map[Object, Int]) */
-void nit___nit__SeparateCompiler___compile_color_consts(val* self, val* p0) {
-val* var_colors /* var colors: Map[Object, Int] */;
-val* var /* : AbstractCompilerVisitor */;
-val* var_v /* var v: SeparateCompilerVisitor */;
-val* var_ /* var : Map[Object, Int] */;
-val* var1 /* : MapIterator[nullable Object, nullable Object] */;
-val* var_2 /* var : MapIterator[Object, Int] */;
-short int var3 /* : Bool */;
-val* var4 /* : nullable Object */;
-val* var_m /* var m: Object */;
-val* var5 /* : nullable Object */;
-long var6 /* : Int */;
-long var_c /* var c: Int */;
-var_colors = p0;
-{
-var = ((val*(*)(val* self))(self->class->vft[COLOR_nit__abstract_compiler__AbstractCompiler__new_visitor]))(self); /* new_visitor on <self:SeparateCompiler>*/
-}
-var_v = var;
-var_ = var_colors;
-{
-var1 = ((val*(*)(val* self))((((long)var_&3)?class_info[((long)var_&3)]:var_->class)->vft[COLOR_standard__abstract_collection__MapRead__iterator]))(var_); /* iterator on <var_:Map[Object, Int]>*/
-}
-var_2 = var1;
-for(;;) {
-{
-var3 = ((short int(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_standard__abstract_collection__MapIterator__is_ok]))(var_2); /* is_ok on <var_2:MapIterator[Object, Int]>*/
-}
-if (var3){
-{
-var4 = ((val*(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_standard__abstract_collection__MapIterator__key]))(var_2); /* key on <var_2:MapIterator[Object, Int]>*/
-}
-var_m = var4;
-{
-var5 = ((val*(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_standard__abstract_collection__MapIterator__item]))(var_2); /* item on <var_2:MapIterator[Object, Int]>*/
-}
-var6 = (long)(var5)>>2;
-var_c = var6;
-{
-nit___nit__SeparateCompiler___compile_color_const(self, var_v, var_m, var_c); /* Direct call separate_compiler#SeparateCompiler#compile_color_const on <self:SeparateCompiler>*/
-}
-{
-((void(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_standard__abstract_collection__MapIterator__next]))(var_2); /* next on <var_2:MapIterator[Object, Int]>*/
-}
-} else {
-goto BREAK_label;
-}
-}
-BREAK_label: (void)0;
-{
-{ /* Inline abstract_collection#MapIterator#finish (var_2) on <var_2:MapIterator[Object, Int]> */
-RET_LABEL7:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method separate_compiler#SeparateCompiler#compile_color_const for (self: SeparateCompiler, SeparateCompilerVisitor, Object, Int) */
-void nit___nit__SeparateCompiler___compile_color_const(val* self, val* p0, val* p1, long p2) {
-val* var_v /* var v: SeparateCompilerVisitor */;
-val* var_m /* var m: Object */;
-long var_color /* var color: Int */;
-val* var /* : HashSet[Object] */;
-val* var2 /* : HashSet[Object] */;
-short int var3 /* : Bool */;
-short int var4 /* : Bool */;
-int cltype;
-int idtype;
-val* var5 /* : ModelBuilder */;
-val* var7 /* : ModelBuilder */;
-val* var8 /* : ToolContext */;
-val* var10 /* : ToolContext */;
-val* var11 /* : OptionBool */;
-val* var13 /* : OptionBool */;
-val* var14 /* : nullable Object */;
-val* var16 /* : nullable Object */;
-short int var17 /* : Bool */;
-val* var18 /* : String */;
-val* var19 /* : NativeArray[String] */;
-static val* varonce;
-static val* varonce20;
-val* var21 /* : String */;
-char* var22 /* : NativeString */;
-val* var23 /* : FlatString */;
-static val* varonce24;
-val* var25 /* : String */;
-char* var26 /* : NativeString */;
-val* var27 /* : FlatString */;
-val* var28 /* : String */;
-val* var29 /* : String */;
-val* var30 /* : String */;
-short int var31 /* : Bool */;
-val* var32 /* : ModelBuilder */;
-val* var34 /* : ModelBuilder */;
-val* var35 /* : ToolContext */;
-val* var37 /* : ToolContext */;
-val* var38 /* : OptionBool */;
-val* var40 /* : OptionBool */;
-val* var41 /* : nullable Object */;
-val* var43 /* : nullable Object */;
-short int var44 /* : Bool */;
-short int var45 /* : Bool */;
-short int var_ /* var : Bool */;
-val* var46 /* : AbstractCompiler */;
-val* var48 /* : AbstractCompiler */;
-val* var49 /* : Platform */;
-val* var51 /* : Platform */;
-short int var52 /* : Bool */;
-short int var53 /* : Bool */;
-val* var54 /* : String */;
-val* var56 /* : NativeArray[String] */;
-static val* varonce55;
-static val* varonce57;
-val* var58 /* : String */;
-char* var59 /* : NativeString */;
-val* var60 /* : FlatString */;
-static val* varonce61;
-val* var62 /* : String */;
-char* var63 /* : NativeString */;
-val* var64 /* : FlatString */;
-val* var65 /* : String */;
-val* var66 /* : String */;
-val* var68 /* : NativeArray[String] */;
-static val* varonce67;
-static val* varonce69;
-val* var70 /* : String */;
-char* var71 /* : NativeString */;
-val* var72 /* : FlatString */;
-static val* varonce73;
-val* var74 /* : String */;
-char* var75 /* : NativeString */;
-val* var76 /* : FlatString */;
-static val* varonce77;
-val* var78 /* : String */;
-char* var79 /* : NativeString */;
-val* var80 /* : FlatString */;
-val* var81 /* : String */;
-val* var82 /* : String */;
-val* var83 /* : String */;
-val* var84 /* : String */;
-val* var86 /* : NativeArray[String] */;
-static val* varonce85;
-static val* varonce87;
-val* var88 /* : String */;
-char* var89 /* : NativeString */;
-val* var90 /* : FlatString */;
-static val* varonce91;
-val* var92 /* : String */;
-char* var93 /* : NativeString */;
-val* var94 /* : FlatString */;
-static val* varonce95;
-val* var96 /* : String */;
-char* var97 /* : NativeString */;
-val* var98 /* : FlatString */;
-static val* varonce99;
-val* var100 /* : String */;
-char* var101 /* : NativeString */;
-val* var102 /* : FlatString */;
-val* var103 /* : String */;
-val* var104 /* : String */;
-val* var105 /* : String */;
-val* var106 /* : String */;
-long var107 /* : Int */;
-long var109 /* : Int */;
-short int var110 /* : Bool */;
-short int var112 /* : Bool */;
-val* var113 /* : Array[String] */;
-val* var115 /* : Array[String] */;
-val* var117 /* : NativeArray[String] */;
-static val* varonce116;
-static val* varonce118;
-val* var119 /* : String */;
-char* var120 /* : NativeString */;
-val* var121 /* : FlatString */;
-static val* varonce122;
-val* var123 /* : String */;
-char* var124 /* : NativeString */;
-val* var125 /* : FlatString */;
-static val* varonce126;
-val* var127 /* : String */;
-char* var128 /* : NativeString */;
-val* var129 /* : FlatString */;
-val* var130 /* : String */;
-val* var131 /* : String */;
-val* var132 /* : String */;
-val* var133 /* : HashSet[Object] */;
-val* var135 /* : HashSet[Object] */;
-var_v = p0;
-var_m = p1;
-var_color = p2;
-{
-{ /* Inline separate_compiler#SeparateCompiler#color_consts_done (self) on <self:SeparateCompiler> */
-var2 = self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___color_consts_done].val; /* _color_consts_done on <self:SeparateCompiler> */
-if (unlikely(var2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _color_consts_done");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 307);
-fatal_exit(1);
-}
-var = var2;
-RET_LABEL1:(void)0;
-}
-}
-{
-var3 = standard___standard__HashSet___standard__abstract_collection__Collection__has(var, var_m);
-}
-if (var3){
-goto RET_LABEL;
-} else {
-}
-/* <var_m:Object> isa MEntity */
-cltype = type_nit__MEntity.color;
-idtype = type_nit__MEntity.id;
-if(cltype >= (((long)var_m&3)?type_info[((long)var_m&3)]:var_m->type)->table_size) {
-var4 = 0;
-} else {
-var4 = (((long)var_m&3)?type_info[((long)var_m&3)]:var_m->type)->type_table[cltype] == idtype;
-}
-if (var4){
-{
-{ /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
-var7 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on <self:SeparateCompiler> */
-if (unlikely(var7 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 522);
-fatal_exit(1);
-}
-var5 = var7;
-RET_LABEL6:(void)0;
-}
-}
-{
-{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (var5) on <var5:ModelBuilder> */
-var10 = var5->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on <var5:ModelBuilder> */
-if (unlikely(var10 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47);
-fatal_exit(1);
-}
-var8 = var10;
-RET_LABEL9:(void)0;
-}
-}
-{
-{ /* Inline separate_compiler#ToolContext#opt_inline_coloring_numbers (var8) on <var8:ToolContext> */
-var13 = var8->attrs[COLOR_nit__separate_compiler__ToolContext___opt_inline_coloring_numbers].val; /* _opt_inline_coloring_numbers on <var8:ToolContext> */
-if (unlikely(var13 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_inline_coloring_numbers");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 46);
-fatal_exit(1);
-}
-var11 = var13;
-RET_LABEL12:(void)0;
-}
-}
-{
-{ /* Inline opts#Option#value (var11) on <var11:OptionBool> */
-var16 = var11->attrs[COLOR_opts__Option___value].val; /* _value on <var11:OptionBool> */
-var14 = var16;
-RET_LABEL15:(void)0;
-}
-}
-var17 = (short int)((long)(var14)>>2);
-if (var17){
-{
-var18 = nit__separate_compiler___MEntity___const_color(var_m);
-}
-if (unlikely(varonce==NULL)) {
-var19 = NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String);
-if (likely(varonce20!=NULL)) {
-var21 = varonce20;
-} else {
-var22 = "#define ";
-var23 = standard___standard__NativeString___to_s_with_length(var22, 8l);
-var21 = var23;
-varonce20 = var21;
-}
-((struct instance_standard__NativeArray*)var19)->values[0]=var21;
-if (likely(varonce24!=NULL)) {
-var25 = varonce24;
-} else {
-var26 = " ";
-var27 = standard___standard__NativeString___to_s_with_length(var26, 1l);
-var25 = var27;
-varonce24 = var25;
-}
-((struct instance_standard__NativeArray*)var19)->values[2]=var25;
-} else {
-var19 = varonce;
-varonce = NULL;
-}
-{
-var28 = nit__separate_compiler___MEntity___const_color(var_m);
-}
-((struct instance_standard__NativeArray*)var19)->values[1]=var28;
-var29 = standard__string___Int___Object__to_s(var_color);
-((struct instance_standard__NativeArray*)var19)->values[3]=var29;
-{
-var30 = ((val*(*)(val* self))(var19->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var19); /* native_to_s on <var19:NativeArray[String]>*/
-}
-varonce = var19;
-{
-nit___nit__AbstractCompiler___provide_declaration(self, var18, var30); /* Direct call abstract_compiler#AbstractCompiler#provide_declaration on <self:SeparateCompiler>*/
-}
-} else {
-{
-{ /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
-var34 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on <self:SeparateCompiler> */
-if (unlikely(var34 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 522);
-fatal_exit(1);
-}
-var32 = var34;
-RET_LABEL33:(void)0;
-}
-}
-{
-{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (var32) on <var32:ModelBuilder> */
-var37 = var32->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on <var32:ModelBuilder> */
-if (unlikely(var37 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47);
-fatal_exit(1);
-}
-var35 = var37;
-RET_LABEL36:(void)0;
-}
-}
-{
-{ /* Inline separate_compiler#ToolContext#opt_colors_are_symbols (var35) on <var35:ToolContext> */
-var40 = var35->attrs[COLOR_nit__separate_compiler__ToolContext___opt_colors_are_symbols].val; /* _opt_colors_are_symbols on <var35:ToolContext> */
-if (unlikely(var40 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_colors_are_symbols");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 35);
-fatal_exit(1);
-}
-var38 = var40;
-RET_LABEL39:(void)0;
-}
-}
-{
-{ /* Inline opts#Option#value (var38) on <var38:OptionBool> */
-var43 = var38->attrs[COLOR_opts__Option___value].val; /* _value on <var38:OptionBool> */
-var41 = var43;
-RET_LABEL42:(void)0;
-}
-}
-var44 = (short int)((long)(var41)>>2);
-var45 = !var44;
-var_ = var45;
-if (var45){
-var31 = var_;
-} else {
-{
-{ /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:SeparateCompilerVisitor> */
-var48 = var_v->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on <var_v:SeparateCompilerVisitor> */
-if (unlikely(var48 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1102);
-fatal_exit(1);
-}
-var46 = var48;
-RET_LABEL47:(void)0;
-}
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#target_platform (var46) on <var46:AbstractCompiler(SeparateCompiler)> */
-var51 = var46->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___target_platform].val; /* _target_platform on <var46:AbstractCompiler(SeparateCompiler)> */
-if (unlikely(var51 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target_platform");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 533);
-fatal_exit(1);
-}
-var49 = var51;
-RET_LABEL50:(void)0;
-}
-}
-{
-var52 = nit___nit__Platform___supports_linker_script(var49);
-}
-var53 = !var52;
-var31 = var53;
-}
-if (var31){
-{
-var54 = nit__separate_compiler___MEntity___const_color(var_m);
-}
-if (unlikely(varonce55==NULL)) {
-var56 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String);
-if (likely(varonce57!=NULL)) {
-var58 = varonce57;
-} else {
-var59 = "extern const int ";
-var60 = standard___standard__NativeString___to_s_with_length(var59, 17l);
-var58 = var60;
-varonce57 = var58;
-}
-((struct instance_standard__NativeArray*)var56)->values[0]=var58;
-if (likely(varonce61!=NULL)) {
-var62 = varonce61;
-} else {
-var63 = ";";
-var64 = standard___standard__NativeString___to_s_with_length(var63, 1l);
-var62 = var64;
-varonce61 = var62;
-}
-((struct instance_standard__NativeArray*)var56)->values[2]=var62;
-} else {
-var56 = varonce55;
-varonce55 = NULL;
-}
-{
-var65 = nit__separate_compiler___MEntity___const_color(var_m);
-}
-((struct instance_standard__NativeArray*)var56)->values[1]=var65;
-{
-var66 = ((val*(*)(val* self))(var56->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var56); /* native_to_s on <var56:NativeArray[String]>*/
-}
-varonce55 = var56;
-{
-nit___nit__AbstractCompiler___provide_declaration(self, var54, var66); /* Direct call abstract_compiler#AbstractCompiler#provide_declaration on <self:SeparateCompiler>*/
-}
-if (unlikely(varonce67==NULL)) {
-var68 = NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String);
-if (likely(varonce69!=NULL)) {
-var70 = varonce69;
-} else {
-var71 = "const int ";
-var72 = standard___standard__NativeString___to_s_with_length(var71, 10l);
-var70 = var72;
-varonce69 = var70;
-}
-((struct instance_standard__NativeArray*)var68)->values[0]=var70;
-if (likely(varonce73!=NULL)) {
-var74 = varonce73;
-} else {
-var75 = " = ";
-var76 = standard___standard__NativeString___to_s_with_length(var75, 3l);
-var74 = var76;
-varonce73 = var74;
-}
-((struct instance_standard__NativeArray*)var68)->values[2]=var74;
-if (likely(varonce77!=NULL)) {
-var78 = varonce77;
-} else {
-var79 = ";";
-var80 = standard___standard__NativeString___to_s_with_length(var79, 1l);
-var78 = var80;
-varonce77 = var78;
-}
-((struct instance_standard__NativeArray*)var68)->values[4]=var78;
-} else {
-var68 = varonce67;
-varonce67 = NULL;
-}
-{
-var81 = nit__separate_compiler___MEntity___const_color(var_m);
-}
-((struct instance_standard__NativeArray*)var68)->values[1]=var81;
-var82 = standard__string___Int___Object__to_s(var_color);
-((struct instance_standard__NativeArray*)var68)->values[3]=var82;
-{
-var83 = ((val*(*)(val* self))(var68->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var68); /* native_to_s on <var68:NativeArray[String]>*/
-}
-varonce67 = var68;
-{
-nit___nit__AbstractCompilerVisitor___add(var_v, var83); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
-}
-} else {
-{
-var84 = nit__separate_compiler___MEntity___const_color(var_m);
-}
-if (unlikely(varonce85==NULL)) {
-var86 = NEW_standard__NativeArray(7l, &type_standard__NativeArray__standard__String);
-if (likely(varonce87!=NULL)) {
-var88 = varonce87;
-} else {
-var89 = "#define ";
-var90 = standard___standard__NativeString___to_s_with_length(var89, 8l);
-var88 = var90;
-varonce87 = var88;
-}
-((struct instance_standard__NativeArray*)var86)->values[0]=var88;
-if (likely(varonce91!=NULL)) {
-var92 = varonce91;
-} else {
-var93 = " ((long)&X";
-var94 = standard___standard__NativeString___to_s_with_length(var93, 10l);
-var92 = var94;
-varonce91 = var92;
-}
-((struct instance_standard__NativeArray*)var86)->values[2]=var92;
-if (likely(varonce95!=NULL)) {
-var96 = varonce95;
-} else {
-var97 = ")\nextern const void X";
-var98 = standard___standard__NativeString___to_s_with_length(var97, 21l);
-var96 = var98;
-varonce95 = var96;
-}
-((struct instance_standard__NativeArray*)var86)->values[4]=var96;
-if (likely(varonce99!=NULL)) {
-var100 = varonce99;
-} else {
-var101 = ";";
-var102 = standard___standard__NativeString___to_s_with_length(var101, 1l);
-var100 = var102;
-varonce99 = var100;
-}
-((struct instance_standard__NativeArray*)var86)->values[6]=var100;
-} else {
-var86 = varonce85;
-varonce85 = NULL;
-}
-{
-var103 = nit__separate_compiler___MEntity___const_color(var_m);
-}
-((struct instance_standard__NativeArray*)var86)->values[1]=var103;
-{
-var104 = nit__separate_compiler___MEntity___const_color(var_m);
-}
-((struct instance_standard__NativeArray*)var86)->values[3]=var104;
-{
-var105 = nit__separate_compiler___MEntity___const_color(var_m);
-}
-((struct instance_standard__NativeArray*)var86)->values[5]=var105;
-{
-var106 = ((val*(*)(val* self))(var86->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var86); /* native_to_s on <var86:NativeArray[String]>*/
-}
-varonce85 = var86;
-{
-nit___nit__AbstractCompiler___provide_declaration(self, var84, var106); /* Direct call abstract_compiler#AbstractCompiler#provide_declaration on <self:SeparateCompiler>*/
-}
-{
-{ /* Inline kernel#Int#unary - (1l) on <1l:Int> */
-var109 = -1l;
-var107 = var109;
-goto RET_LABEL108;
-RET_LABEL108:(void)0;
-}
-}
-{
-{ /* Inline kernel#Int#== (var_color,var107) on <var_color:Int> */
-var112 = var_color == var107;
-var110 = var112;
-goto RET_LABEL111;
-RET_LABEL111:(void)0;
-}
-}
-if (var110){
-var_color = 0l;
-} else {
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#linker_script (self) on <self:SeparateCompiler> */
-var115 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___linker_script].val; /* _linker_script on <self:SeparateCompiler> */
-if (unlikely(var115 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _linker_script");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 572);
-fatal_exit(1);
-}
-var113 = var115;
-RET_LABEL114:(void)0;
-}
-}
-if (unlikely(varonce116==NULL)) {
-var117 = NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String);
-if (likely(varonce118!=NULL)) {
-var119 = varonce118;
-} else {
-var120 = "X";
-var121 = standard___standard__NativeString___to_s_with_length(var120, 1l);
-var119 = var121;
-varonce118 = var119;
-}
-((struct instance_standard__NativeArray*)var117)->values[0]=var119;
-if (likely(varonce122!=NULL)) {
-var123 = varonce122;
-} else {
-var124 = " = ";
-var125 = standard___standard__NativeString___to_s_with_length(var124, 3l);
-var123 = var125;
-varonce122 = var123;
-}
-((struct instance_standard__NativeArray*)var117)->values[2]=var123;
-if (likely(varonce126!=NULL)) {
-var127 = varonce126;
-} else {
-var128 = ";";
-var129 = standard___standard__NativeString___to_s_with_length(var128, 1l);
-var127 = var129;
-varonce126 = var127;
-}
-((struct instance_standard__NativeArray*)var117)->values[4]=var127;
-} else {
-var117 = varonce116;
-varonce116 = NULL;
-}
-{
-var130 = nit__separate_compiler___MEntity___const_color(var_m);
-}
-((struct instance_standard__NativeArray*)var117)->values[1]=var130;
-var131 = standard__string___Int___Object__to_s(var_color);
-((struct instance_standard__NativeArray*)var117)->values[3]=var131;
-{
-var132 = ((val*(*)(val* self))(var117->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var117); /* native_to_s on <var117:NativeArray[String]>*/
-}
-varonce116 = var117;
-{
-standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var113, var132); /* Direct call array#Array#add on <var113:Array[String]>*/
-}
-}
-}
-} else {
-PRINT_ERROR("Runtime error: %s", "Aborted");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 302);
-fatal_exit(1);
-}
-{
-{ /* Inline separate_compiler#SeparateCompiler#color_consts_done (self) on <self:SeparateCompiler> */
-var135 = self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___color_consts_done].val; /* _color_consts_done on <self:SeparateCompiler> */
-if (unlikely(var135 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _color_consts_done");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 307);
-fatal_exit(1);
-}
-var133 = var135;
-RET_LABEL134:(void)0;
-}
-}
-{
-standard___standard__HashSet___standard__abstract_collection__SimpleCollection__add(var133, var_m); /* Direct call hash_collection#HashSet#add on <var133:HashSet[Object]>*/
-}
-RET_LABEL:;
-}
-/* method separate_compiler#SeparateCompiler#color_consts_done for (self: SeparateCompiler): HashSet[Object] */
-val* nit___nit__SeparateCompiler___color_consts_done(val* self) {
-val* var /* : HashSet[Object] */;
-val* var1 /* : HashSet[Object] */;
-var1 = self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___color_consts_done].val; /* _color_consts_done on <self:SeparateCompiler> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _color_consts_done");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 307);
-fatal_exit(1);
-}
-var = var1;
-RET_LABEL:;
-return var;
-}
-/* method separate_compiler#SeparateCompiler#class_conflict_graph for (self: SeparateCompiler): POSetConflictGraph[MClass] */
-val* nit___nit__SeparateCompiler___class_conflict_graph(val* self) {
-val* var /* : POSetConflictGraph[MClass] */;
-val* var1 /* : POSetConflictGraph[MClass] */;
-var1 = self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___class_conflict_graph].val; /* _class_conflict_graph on <self:SeparateCompiler> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _class_conflict_graph");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 309);
-fatal_exit(1);
-}
-var = var1;
-RET_LABEL:;
-return var;
-}
-/* method separate_compiler#SeparateCompiler#class_conflict_graph= for (self: SeparateCompiler, POSetConflictGraph[MClass]) */
-void nit___nit__SeparateCompiler___class_conflict_graph_61d(val* self, val* p0) {
-self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___class_conflict_graph].val = p0; /* _class_conflict_graph on <self:SeparateCompiler> */
-RET_LABEL:;
-}
-/* method separate_compiler#SeparateCompiler#do_property_coloring for (self: SeparateCompiler) */
-void nit___nit__SeparateCompiler___do_property_coloring(val* self) {
-val* var /* : nullable RapidTypeAnalysis */;
-val* var2 /* : nullable RapidTypeAnalysis */;
-val* var_rta /* var rta: nullable RapidTypeAnalysis */;
-val* var3 /* : MModule */;
-val* var5 /* : MModule */;
-val* var6 /* : POSet[MClass] */;
-val* var_mclasses /* var mclasses: POSet[MClass] */;
-val* var7 /* : POSetConflictGraph[nullable Object] */;
-val* var9 /* : HashMap[MClass, Set[PropertyLayoutElement]] */;
-val* var_mmethods /* var mmethods: HashMap[MClass, Set[PropertyLayoutElement]] */;
-val* var10 /* : HashMap[MClass, Set[MAttribute]] */;
-val* var_mattributes /* var mattributes: HashMap[MClass, Set[MAttribute]] */;
-val* var11 /* : Array[PropertyLayoutElement] */;
-val* var_dead_methods /* var dead_methods: Array[PropertyLayoutElement] */;
-val* var_ /* var : POSet[MClass] */;
-val* var12 /* : Iterator[nullable Object] */;
-val* var_13 /* var : Iterator[MClass] */;
-short int var14 /* : Bool */;
-val* var15 /* : nullable Object */;
-val* var_mclass /* var mclass: MClass */;
-val* var16 /* : HashSet[PropertyLayoutElement] */;
-val* var17 /* : HashSet[MAttribute] */;
-short int var18 /* : Bool */;
-short int var19 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var21 /* : Bool */;
-short int var22 /* : Bool */;
-val* var23 /* : HashSet[MMethod] */;
-val* var25 /* : HashSet[MMethod] */;
-val* var_26 /* var : HashSet[MMethod] */;
-val* var27 /* : Iterator[nullable Object] */;
-val* var_28 /* var : Iterator[MMethod] */;
-short int var29 /* : Bool */;
-val* var30 /* : nullable Object */;
-val* var_m /* var m: MMethod */;
-val* var31 /* : MClassDef */;
-val* var33 /* : MClassDef */;
-val* var34 /* : MClass */;
-val* var36 /* : MClass */;
-val* var37 /* : nullable Object */;
-val* var39 /* : HashSet[MMethodDef] */;
-val* var41 /* : HashSet[MMethodDef] */;
-val* var_42 /* var : HashSet[MMethodDef] */;
-val* var43 /* : Iterator[nullable Object] */;
-val* var_44 /* var : Iterator[MMethodDef] */;
-short int var45 /* : Bool */;
-val* var46 /* : nullable Object */;
-val* var_m47 /* var m: MMethodDef */;
-val* var48 /* : MClassDef */;
-val* var50 /* : MClassDef */;
-val* var51 /* : MClass */;
-val* var53 /* : MClass */;
-val* var_mclass54 /* var mclass: MClass */;
-val* var55 /* : nullable Object */;
-val* var57 /* : MModule */;
-val* var59 /* : MModule */;
-val* var60 /* : POSetElement[MModule] */;
-val* var62 /* : POSetElement[MModule] */;
-val* var63 /* : Collection[nullable Object] */;
-val* var_64 /* var : Collection[MModule] */;
-val* var65 /* : Iterator[nullable Object] */;
-val* var_66 /* var : Iterator[MModule] */;
-short int var67 /* : Bool */;
-val* var68 /* : nullable Object */;
-val* var_m69 /* var m: MModule */;
-val* var70 /* : Array[MClassDef] */;
-val* var72 /* : Array[MClassDef] */;
-val* var_73 /* var : Array[MClassDef] */;
-val* var74 /* : ArrayIterator[nullable Object] */;
-val* var_75 /* var : ArrayIterator[MClassDef] */;
-short int var76 /* : Bool */;
-val* var77 /* : nullable Object */;
-val* var_cd /* var cd: MClassDef */;
-val* var78 /* : MClass */;
-val* var80 /* : MClass */;
-val* var_mclass81 /* var mclass: MClass */;
-val* var82 /* : Array[MProperty] */;
-val* var84 /* : Array[MProperty] */;
-val* var_85 /* var : Array[MProperty] */;
-val* var86 /* : ArrayIterator[nullable Object] */;
-val* var_87 /* var : ArrayIterator[MProperty] */;
-short int var88 /* : Bool */;
-val* var89 /* : nullable Object */;
-val* var_p /* var p: MProperty */;
-short int var90 /* : Bool */;
-int cltype;
-int idtype;
-short int var91 /* : Bool */;
-short int var92 /* : Bool */;
-val* var_other94 /* var other: nullable Object */;
-short int var95 /* : Bool */;
-short int var97 /* : Bool */;
-val* var98 /* : nullable Object */;
-val* var99 /* : HashSet[MMethod] */;
-val* var101 /* : HashSet[MMethod] */;
-short int var102 /* : Bool */;
-short int var103 /* : Bool */;
-short int var104 /* : Bool */;
-int cltype105;
-int idtype106;
-val* var107 /* : nullable Object */;
-val* var109 /* : Array[MPropDef] */;
-val* var111 /* : Array[MPropDef] */;
-val* var_112 /* var : Array[MPropDef] */;
-val* var113 /* : ArrayIterator[nullable Object] */;
-val* var_114 /* var : ArrayIterator[MPropDef] */;
-short int var115 /* : Bool */;
-val* var116 /* : nullable Object */;
-val* var_mpropdef /* var mpropdef: MPropDef */;
-short int var117 /* : Bool */;
-int cltype118;
-int idtype119;
-short int var120 /* : Bool */;
-short int var122 /* : Bool */;
-short int var124 /* : Bool */;
-short int var125 /* : Bool */;
-short int var126 /* : Bool */;
-short int var128 /* : Bool */;
-short int var130 /* : Bool */;
-val* var131 /* : nullable Object */;
-val* var132 /* : HashSet[MMethodDef] */;
-val* var134 /* : HashSet[MMethodDef] */;
-short int var135 /* : Bool */;
-short int var136 /* : Bool */;
-val* var140 /* : POSetGroupColorer[MClass, PropertyLayoutElement] */;
-val* var141 /* : POSetConflictGraph[MClass] */;
-val* var143 /* : POSetConflictGraph[MClass] */;
-val* var_meth_colorer /* var meth_colorer: POSetGroupColorer[MClass, PropertyLayoutElement] */;
-val* var144 /* : Map[Object, Int] */;
-val* var_method_colors /* var method_colors: Map[PropertyLayoutElement, Int] */;
-val* var_145 /* var : Array[PropertyLayoutElement] */;
-val* var146 /* : ArrayIterator[nullable Object] */;
-val* var_147 /* var : ArrayIterator[PropertyLayoutElement] */;
-short int var148 /* : Bool */;
-val* var149 /* : nullable Object */;
-val* var_mproperty /* var mproperty: PropertyLayoutElement */;
-val* var150 /* : AbstractCompilerVisitor */;
-long var151 /* : Int */;
-long var153 /* : Int */;
-val* var155 /* : POSetGroupColorer[MClass, MAttribute] */;
-val* var156 /* : POSetConflictGraph[MClass] */;
-val* var158 /* : POSetConflictGraph[MClass] */;
-val* var_attr_colorer /* var attr_colorer: POSetGroupColorer[MClass, MAttribute] */;
-val* var159 /* : Map[Object, Int] */;
-val* var_attr_colors /* var attr_colors: Map[MAttribute, Int] */;
-val* var160 /* : HashMap[MClass, Array[nullable MPropDef]] */;
-val* var162 /* : HashMap[MClass, Array[nullable MProperty]] */;
-val* var_164 /* var : POSet[MClass] */;
-val* var165 /* : Iterator[nullable Object] */;
-val* var_166 /* var : Iterator[MClass] */;
-short int var167 /* : Bool */;
-val* var168 /* : nullable Object */;
-val* var_mclass169 /* var mclass: MClass */;
-short int var170 /* : Bool */;
-short int var171 /* : Bool */;
-short int var173 /* : Bool */;
-short int var174 /* : Bool */;
-short int var_175 /* var : Bool */;
-short int var176 /* : Bool */;
-val* var177 /* : MClassKind */;
-val* var179 /* : MClassKind */;
-val* var180 /* : Sys */;
-val* var181 /* : MClassKind */;
-short int var182 /* : Bool */;
-short int var184 /* : Bool */;
-short int var186 /* : Bool */;
-short int var_187 /* var : Bool */;
-val* var188 /* : MClassKind */;
-val* var190 /* : MClassKind */;
-val* var191 /* : Sys */;
-val* var192 /* : MClassKind */;
-short int var193 /* : Bool */;
-short int var195 /* : Bool */;
-short int var197 /* : Bool */;
-short int var199 /* : Bool */;
-short int var200 /* : Bool */;
-short int var201 /* : Bool */;
-short int var203 /* : Bool */;
-short int var204 /* : Bool */;
-short int var_205 /* var : Bool */;
-val* var206 /* : HashSet[MClass] */;
-val* var208 /* : HashSet[MClass] */;
-short int var209 /* : Bool */;
-short int var210 /* : Bool */;
-val* var211 /* : MClassDef */;
-val* var213 /* : MClassDef */;
-val* var214 /* : MClassType */;
-val* var216 /* : MClassType */;
-val* var_mtype /* var mtype: MClassType */;
-val* var217 /* : Array[nullable Object] */;
-val* var_meth_layout /* var meth_layout: Array[nullable PropertyLayoutElement] */;
-val* var218 /* : Array[nullable MPropDef] */;
-long var219 /* : Int */;
-long var221 /* : Int */;
-val* var_meth_table /* var meth_table: Array[nullable MPropDef] */;
-val* var222 /* : Map[MClass, Array[nullable MPropDef]] */;
-val* var224 /* : Map[MClass, Array[nullable MPropDef]] */;
-val* var_225 /* var : Array[nullable PropertyLayoutElement] */;
-val* var226 /* : ArrayIterator[nullable Object] */;
-val* var_227 /* var : ArrayIterator[nullable PropertyLayoutElement] */;
-short int var228 /* : Bool */;
-val* var229 /* : nullable Object */;
-val* var_e /* var e: nullable PropertyLayoutElement */;
-short int var230 /* : Bool */;
-short int var231 /* : Bool */;
-short int var233 /* : Bool */;
-short int var235 /* : Bool */;
-short int var236 /* : Bool */;
-int cltype237;
-int idtype238;
-val* var239 /* : MModule */;
-val* var241 /* : MModule */;
-val* var242 /* : MPropDef */;
-short int var243 /* : Bool */;
-int cltype244;
-int idtype245;
-val* var246 /* : MModule */;
-val* var248 /* : MModule */;
-val* var249 /* : MPropDef */;
-val* var251 /* : Map[MClass, Array[nullable MProperty]] */;
-val* var253 /* : Map[MClass, Array[nullable MProperty]] */;
-val* var254 /* : Array[nullable Object] */;
-{
-{ /* Inline separate_compiler#SeparateCompiler#runtime_type_analysis (self) on <self:SeparateCompiler> */
-var2 = self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___runtime_type_analysis].val; /* _runtime_type_analysis on <self:SeparateCompiler> */
-var = var2;
-RET_LABEL1:(void)0;
-}
-}
-var_rta = var;
-{
-{ /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:SeparateCompiler> */
-var5 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on <self:SeparateCompiler> */
-if (unlikely(var5 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 515);
-fatal_exit(1);
-}
-var3 = var5;
-RET_LABEL4:(void)0;
-}
-}
-{
-var6 = nit__model___MModule___flatten_mclass_hierarchy(var3);
-}
-var_mclasses = var6;
-{
-var7 = nit__coloring___poset__POSet___to_conflict_graph(var_mclasses);
-}
-{
-{ /* Inline separate_compiler#SeparateCompiler#class_conflict_graph= (self,var7) on <self:SeparateCompiler> */
-self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___class_conflict_graph].val = var7; /* _class_conflict_graph on <self:SeparateCompiler> */
-RET_LABEL8:(void)0;
-}
-}
-var9 = NEW_standard__HashMap(&type_standard__HashMap__nit__MClass__standard__Set__nit__PropertyLayoutElement);
-{
-standard___standard__HashMap___standard__kernel__Object__init(var9); /* Direct call hash_collection#HashMap#init on <var9:HashMap[MClass, Set[PropertyLayoutElement]]>*/
-}
-var_mmethods = var9;
-var10 = NEW_standard__HashMap(&type_standard__HashMap__nit__MClass__standard__Set__nit__MAttribute);
-{
-standard___standard__HashMap___standard__kernel__Object__init(var10); /* Direct call hash_collection#HashMap#init on <var10:HashMap[MClass, Set[MAttribute]]>*/
-}
-var_mattributes = var10;
-var11 = NEW_standard__Array(&type_standard__Array__nit__PropertyLayoutElement);
-{
-standard___standard__Array___standard__kernel__Object__init(var11); /* Direct call array#Array#init on <var11:Array[PropertyLayoutElement]>*/
-}
-var_dead_methods = var11;
-var_ = var_mclasses;
-{
-var12 = poset___poset__POSet___standard__abstract_collection__Collection__iterator(var_);
-}
-var_13 = var12;
-for(;;) {
-{
-var14 = ((short int(*)(val* self))((((long)var_13&3)?class_info[((long)var_13&3)]:var_13->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_13); /* is_ok on <var_13:Iterator[MClass]>*/
-}
-if (var14){
-{
-var15 = ((val*(*)(val* self))((((long)var_13&3)?class_info[((long)var_13&3)]:var_13->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_13); /* item on <var_13:Iterator[MClass]>*/
-}
-var_mclass = var15;
-var16 = NEW_standard__HashSet(&type_standard__HashSet__nit__PropertyLayoutElement);
-{
-standard___standard__HashSet___standard__kernel__Object__init(var16); /* Direct call hash_collection#HashSet#init on <var16:HashSet[PropertyLayoutElement]>*/
-}
-{
-standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var_mmethods, var_mclass, var16); /* Direct call hash_collection#HashMap#[]= on <var_mmethods:HashMap[MClass, Set[PropertyLayoutElement]]>*/
-}
-var17 = NEW_standard__HashSet(&type_standard__HashSet__nit__MAttribute);
-{
-standard___standard__HashSet___standard__kernel__Object__init(var17); /* Direct call hash_collection#HashSet#init on <var17:HashSet[MAttribute]>*/
-}
-{
-standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var_mattributes, var_mclass, var17); /* Direct call hash_collection#HashMap#[]= on <var_mattributes:HashMap[MClass, Set[MAttribute]]>*/
-}
-{
-((void(*)(val* self))((((long)var_13&3)?class_info[((long)var_13&3)]:var_13->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_13); /* next on <var_13:Iterator[MClass]>*/
-}
-} else {
-goto BREAK_label;
-}
-}
-BREAK_label: (void)0;
-{
-((void(*)(val* self))((((long)var_13&3)?class_info[((long)var_13&3)]:var_13->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_13); /* finish on <var_13:Iterator[MClass]>*/
-}
-if (var_rta == NULL) {
-var18 = 0; /* is null */
-} else {
-var18 = 1; /* arg is null and recv is not */
-}
-if (0) {
-{ /* Inline kernel#Object#!= (var_rta,((val*)NULL)) on <var_rta:nullable RapidTypeAnalysis> */
-var_other = ((val*)NULL);
-{
-var21 = ((short int(*)(val* self, val* p0))(var_rta->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_rta, var_other); /* == on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)>*/
-}
-var22 = !var21;
-var19 = var22;
-goto RET_LABEL20;
-RET_LABEL20:(void)0;
-}
-var18 = var19;
-}
-if (var18){
-{
-{ /* Inline rapid_type_analysis#RapidTypeAnalysis#live_methods (var_rta) on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
-var25 = var_rta->attrs[COLOR_nit__rapid_type_analysis__RapidTypeAnalysis___live_methods].val; /* _live_methods on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
-if (unlikely(var25 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_methods");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__rapid_type_analysis, 82);
-fatal_exit(1);
-}
-var23 = var25;
-RET_LABEL24:(void)0;
-}
-}
-var_26 = var23;
-{
-var27 = standard___standard__HashSet___standard__abstract_collection__Collection__iterator(var_26);
-}
-var_28 = var27;
-for(;;) {
-{
-var29 = ((short int(*)(val* self))((((long)var_28&3)?class_info[((long)var_28&3)]:var_28->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_28); /* is_ok on <var_28:Iterator[MMethod]>*/
-}
-if (var29){
-{
-var30 = ((val*(*)(val* self))((((long)var_28&3)?class_info[((long)var_28&3)]:var_28->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_28); /* item on <var_28:Iterator[MMethod]>*/
-}
-var_m = var30;
-{
-{ /* Inline model#MProperty#intro_mclassdef (var_m) on <var_m:MMethod> */
-var33 = var_m->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on <var_m:MMethod> */
-if (unlikely(var33 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1928);
-fatal_exit(1);
-}
-var31 = var33;
-RET_LABEL32:(void)0;
-}
-}
-{
-{ /* Inline model#MClassDef#mclass (var31) on <var31:MClassDef> */
-var36 = var31->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on <var31:MClassDef> */
-if (unlikely(var36 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 553);
-fatal_exit(1);
-}
-var34 = var36;
-RET_LABEL35:(void)0;
-}
-}
-{
-var37 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_mmethods, var34);
-}
-{
-((void(*)(val* self, val* p0))((((long)var37&3)?class_info[((long)var37&3)]:var37->class)->vft[COLOR_standard__abstract_collection__SimpleCollection__add]))(var37, var_m); /* add on <var37:nullable Object(Set[PropertyLayoutElement])>*/
-}
-{
-((void(*)(val* self))((((long)var_28&3)?class_info[((long)var_28&3)]:var_28->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_28); /* next on <var_28:Iterator[MMethod]>*/
-}
-} else {
-goto BREAK_label38;
-}
-}
-BREAK_label38: (void)0;
-{
-((void(*)(val* self))((((long)var_28&3)?class_info[((long)var_28&3)]:var_28->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_28); /* finish on <var_28:Iterator[MMethod]>*/
-}
-{
-{ /* Inline rapid_type_analysis#RapidTypeAnalysis#live_super_sends (var_rta) on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
-var41 = var_rta->attrs[COLOR_nit__rapid_type_analysis__RapidTypeAnalysis___live_super_sends].val; /* _live_super_sends on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
-if (unlikely(var41 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_super_sends");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__rapid_type_analysis, 114);
-fatal_exit(1);
-}
-var39 = var41;
-RET_LABEL40:(void)0;
-}
-}
-var_42 = var39;
-{
-var43 = standard___standard__HashSet___standard__abstract_collection__Collection__iterator(var_42);
-}
-var_44 = var43;
-for(;;) {
-{
-var45 = ((short int(*)(val* self))((((long)var_44&3)?class_info[((long)var_44&3)]:var_44->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_44); /* is_ok on <var_44:Iterator[MMethodDef]>*/
-}
-if (var45){
-{
-var46 = ((val*(*)(val* self))((((long)var_44&3)?class_info[((long)var_44&3)]:var_44->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_44); /* item on <var_44:Iterator[MMethodDef]>*/
-}
-var_m47 = var46;
-{
-{ /* Inline model#MPropDef#mclassdef (var_m47) on <var_m47:MMethodDef> */
-var50 = var_m47->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on <var_m47:MMethodDef> */
-if (unlikely(var50 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2209);
-fatal_exit(1);
-}
-var48 = var50;
-RET_LABEL49:(void)0;
-}
-}
-{
-{ /* Inline model#MClassDef#mclass (var48) on <var48:MClassDef> */
-var53 = var48->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on <var48:MClassDef> */
-if (unlikely(var53 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 553);
-fatal_exit(1);
-}
-var51 = var53;
-RET_LABEL52:(void)0;
-}
-}
-var_mclass54 = var51;
-{
-var55 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_mmethods, var_mclass54);
-}
-{
-((void(*)(val* self, val* p0))((((long)var55&3)?class_info[((long)var55&3)]:var55->class)->vft[COLOR_standard__abstract_collection__SimpleCollection__add]))(var55, var_m47); /* add on <var55:nullable Object(Set[PropertyLayoutElement])>*/
-}
-{
-((void(*)(val* self))((((long)var_44&3)?class_info[((long)var_44&3)]:var_44->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_44); /* next on <var_44:Iterator[MMethodDef]>*/
-}
-} else {
-goto BREAK_label56;
-}
-}
-BREAK_label56: (void)0;
-{
-((void(*)(val* self))((((long)var_44&3)?class_info[((long)var_44&3)]:var_44->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_44); /* finish on <var_44:Iterator[MMethodDef]>*/
-}
-} else {
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:SeparateCompiler> */
-var59 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on <self:SeparateCompiler> */
-if (unlikely(var59 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 515);
-fatal_exit(1);
-}
-var57 = var59;
-RET_LABEL58:(void)0;
-}
-}
-{
-{ /* Inline mmodule#MModule#in_importation (var57) on <var57:MModule> */
-var62 = var57->attrs[COLOR_nit__mmodule__MModule___in_importation].val; /* _in_importation on <var57:MModule> */
-if (unlikely(var62 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 96);
-fatal_exit(1);
-}
-var60 = var62;
-RET_LABEL61:(void)0;
-}
-}
-{
-var63 = poset___poset__POSetElement___greaters(var60);
-}
-var_64 = var63;
-{
-var65 = ((val*(*)(val* self))((((long)var_64&3)?class_info[((long)var_64&3)]:var_64->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_64); /* iterator on <var_64:Collection[MModule]>*/
-}
-var_66 = var65;
-for(;;) {
-{
-var67 = ((short int(*)(val* self))((((long)var_66&3)?class_info[((long)var_66&3)]:var_66->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_66); /* is_ok on <var_66:Iterator[MModule]>*/
-}
-if (var67){
-{
-var68 = ((val*(*)(val* self))((((long)var_66&3)?class_info[((long)var_66&3)]:var_66->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_66); /* item on <var_66:Iterator[MModule]>*/
-}
-var_m69 = var68;
-{
-{ /* Inline model#MModule#mclassdefs (var_m69) on <var_m69:MModule> */
-var72 = var_m69->attrs[COLOR_nit__model__MModule___mclassdefs].val; /* _mclassdefs on <var_m69:MModule> */
-if (unlikely(var72 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdefs");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 131);
-fatal_exit(1);
-}
-var70 = var72;
-RET_LABEL71:(void)0;
-}
-}
-var_73 = var70;
-{
-var74 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_73);
-}
-var_75 = var74;
-for(;;) {
-{
-var76 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_75);
-}
-if (var76){
-{
-var77 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_75);
-}
-var_cd = var77;
-{
-{ /* Inline model#MClassDef#mclass (var_cd) on <var_cd:MClassDef> */
-var80 = var_cd->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on <var_cd:MClassDef> */
-if (unlikely(var80 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 553);
-fatal_exit(1);
-}
-var78 = var80;
-RET_LABEL79:(void)0;
-}
-}
-var_mclass81 = var78;
-{
-{ /* Inline model#MClassDef#intro_mproperties (var_cd) on <var_cd:MClassDef> */
-var84 = var_cd->attrs[COLOR_nit__model__MClassDef___intro_mproperties].val; /* _intro_mproperties on <var_cd:MClassDef> */
-if (unlikely(var84 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mproperties");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 681);
-fatal_exit(1);
-}
-var82 = var84;
-RET_LABEL83:(void)0;
-}
-}
-var_85 = var82;
-{
-var86 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_85);
-}
-var_87 = var86;
-for(;;) {
-{
-var88 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_87);
-}
-if (var88){
-{
-var89 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_87);
-}
-var_p = var89;
-/* <var_p:MProperty> isa MMethod */
-cltype = type_nit__MMethod.color;
-idtype = type_nit__MMethod.id;
-if(cltype >= var_p->type->table_size) {
-var90 = 0;
-} else {
-var90 = var_p->type->type_table[cltype] == idtype;
-}
-if (var90){
-if (var_rta == NULL) {
-var91 = 1; /* is null */
-} else {
-var91 = 0; /* arg is null but recv is not */
-}
-if (0) {
-{ /* Inline kernel#Object#== (var_rta,((val*)NULL)) on <var_rta:nullable RapidTypeAnalysis> */
-var_other94 = ((val*)NULL);
-{
-{ /* Inline kernel#Object#is_same_instance (var_rta,var_other94) on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
-var97 = var_rta == var_other94;
-var95 = var97;
-goto RET_LABEL96;
-RET_LABEL96:(void)0;
-}
-}
-var92 = var95;
-goto RET_LABEL93;
-RET_LABEL93:(void)0;
-}
-var91 = var92;
-}
-if (var91){
-{
-var98 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_mmethods, var_mclass81);
-}
-{
-((void(*)(val* self, val* p0))((((long)var98&3)?class_info[((long)var98&3)]:var98->class)->vft[COLOR_standard__abstract_collection__SimpleCollection__add]))(var98, var_p); /* add on <var98:nullable Object(Set[PropertyLayoutElement])>*/
-}
-} else {
-{
-{ /* Inline rapid_type_analysis#RapidTypeAnalysis#live_methods (var_rta) on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
-var101 = var_rta->attrs[COLOR_nit__rapid_type_analysis__RapidTypeAnalysis___live_methods].val; /* _live_methods on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
-if (unlikely(var101 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_methods");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__rapid_type_analysis, 82);
-fatal_exit(1);
-}
-var99 = var101;
-RET_LABEL100:(void)0;
-}
-}
-{
-var102 = standard___standard__HashSet___standard__abstract_collection__Collection__has(var99, var_p);
-}
-var103 = !var102;
-if (var103){
-{
-standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_dead_methods, var_p); /* Direct call array#Array#add on <var_dead_methods:Array[PropertyLayoutElement]>*/
-}
-} else {
-}
-}
-} else {
-/* <var_p:MProperty> isa MAttribute */
-cltype105 = type_nit__MAttribute.color;
-idtype106 = type_nit__MAttribute.id;
-if(cltype105 >= var_p->type->table_size) {
-var104 = 0;
-} else {
-var104 = var_p->type->type_table[cltype105] == idtype106;
-}
-if (var104){
-{
-var107 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_mattributes, var_mclass81);
-}
-{
-((void(*)(val* self, val* p0))((((long)var107&3)?class_info[((long)var107&3)]:var107->class)->vft[COLOR_standard__abstract_collection__SimpleCollection__add]))(var107, var_p); /* add on <var107:nullable Object(Set[MAttribute])>*/
-}
-} else {
-}
-}
-{
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_87); /* Direct call array#ArrayIterator#next on <var_87:ArrayIterator[MProperty]>*/
-}
-} else {
-goto BREAK_label108;
-}
-}
-BREAK_label108: (void)0;
-{
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_87); /* Direct call array#ArrayIterator#finish on <var_87:ArrayIterator[MProperty]>*/
-}
-{
-{ /* Inline model#MClassDef#mpropdefs (var_cd) on <var_cd:MClassDef> */
-var111 = var_cd->attrs[COLOR_nit__model__MClassDef___mpropdefs].val; /* _mpropdefs on <var_cd:MClassDef> */
-if (unlikely(var111 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdefs");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 684);
-fatal_exit(1);
-}
-var109 = var111;
-RET_LABEL110:(void)0;
-}
-}
-var_112 = var109;
-{
-var113 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_112);
-}
-var_114 = var113;
-for(;;) {
-{
-var115 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_114);
-}
-if (var115){
-{
-var116 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_114);
-}
-var_mpropdef = var116;
-/* <var_mpropdef:MPropDef> isa MMethodDef */
-cltype118 = type_nit__MMethodDef.color;
-idtype119 = type_nit__MMethodDef.id;
-if(cltype118 >= var_mpropdef->type->table_size) {
-var117 = 0;
-} else {
-var117 = var_mpropdef->type->type_table[cltype118] == idtype119;
-}
-var120 = !var117;
-if (var120){
-goto BREAK_label121;
-} else {
-}
-{
-{ /* Inline modelize_property#MPropDef#has_supercall (var_mpropdef) on <var_mpropdef:MPropDef(MMethodDef)> */
-var124 = var_mpropdef->attrs[COLOR_nit__modelize_property__MPropDef___has_supercall].s; /* _has_supercall on <var_mpropdef:MPropDef(MMethodDef)> */
-var122 = var124;
-RET_LABEL123:(void)0;
-}
-}
-if (var122){
-if (var_rta == NULL) {
-var125 = 1; /* is null */
-} else {
-var125 = 0; /* arg is null but recv is not */
-}
-if (0) {
-{ /* Inline kernel#Object#== (var_rta,((val*)NULL)) on <var_rta:nullable RapidTypeAnalysis> */
-var_other94 = ((val*)NULL);
-{
-{ /* Inline kernel#Object#is_same_instance (var_rta,var_other94) on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
-var130 = var_rta == var_other94;
-var128 = var130;
-goto RET_LABEL129;
-RET_LABEL129:(void)0;
-}
-}
-var126 = var128;
-goto RET_LABEL127;
-RET_LABEL127:(void)0;
-}
-var125 = var126;
-}
-if (var125){
-{
-var131 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_mmethods, var_mclass81);
-}
-{
-((void(*)(val* self, val* p0))((((long)var131&3)?class_info[((long)var131&3)]:var131->class)->vft[COLOR_standard__abstract_collection__SimpleCollection__add]))(var131, var_mpropdef); /* add on <var131:nullable Object(Set[PropertyLayoutElement])>*/
-}
-} else {
-{
-{ /* Inline rapid_type_analysis#RapidTypeAnalysis#live_super_sends (var_rta) on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
-var134 = var_rta->attrs[COLOR_nit__rapid_type_analysis__RapidTypeAnalysis___live_super_sends].val; /* _live_super_sends on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
-if (unlikely(var134 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_super_sends");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__rapid_type_analysis, 114);
-fatal_exit(1);
-}
-var132 = var134;
-RET_LABEL133:(void)0;
-}
-}
-{
-var135 = standard___standard__HashSet___standard__abstract_collection__Collection__has(var132, var_mpropdef);
-}
-var136 = !var135;
-if (var136){
-{
-standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_dead_methods, var_mpropdef); /* Direct call array#Array#add on <var_dead_methods:Array[PropertyLayoutElement]>*/
-}
-} else {
-}
-}
-} else {
-}
-BREAK_label121: (void)0;
-{
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_114); /* Direct call array#ArrayIterator#next on <var_114:ArrayIterator[MPropDef]>*/
-}
-} else {
-goto BREAK_label137;
-}
-}
-BREAK_label137: (void)0;
-{
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_114); /* Direct call array#ArrayIterator#finish on <var_114:ArrayIterator[MPropDef]>*/
-}
-{
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_75); /* Direct call array#ArrayIterator#next on <var_75:ArrayIterator[MClassDef]>*/
-}
-} else {
-goto BREAK_label138;
-}
-}
-BREAK_label138: (void)0;
-{
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_75); /* Direct call array#ArrayIterator#finish on <var_75:ArrayIterator[MClassDef]>*/
-}
-{
-((void(*)(val* self))((((long)var_66&3)?class_info[((long)var_66&3)]:var_66->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_66); /* next on <var_66:Iterator[MModule]>*/
-}
-} else {
-goto BREAK_label139;
-}
-}
-BREAK_label139: (void)0;
-{
-((void(*)(val* self))((((long)var_66&3)?class_info[((long)var_66&3)]:var_66->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_66); /* finish on <var_66:Iterator[MModule]>*/
-}
-var140 = NEW_nit__POSetGroupColorer(&type_nit__POSetGroupColorer__nit__MClass__nit__PropertyLayoutElement);
-{
-{ /* Inline separate_compiler#SeparateCompiler#class_conflict_graph (self) on <self:SeparateCompiler> */
-var143 = self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___class_conflict_graph].val; /* _class_conflict_graph on <self:SeparateCompiler> */
-if (unlikely(var143 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _class_conflict_graph");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 309);
-fatal_exit(1);
-}
-var141 = var143;
-RET_LABEL142:(void)0;
-}
-}
-{
-((void(*)(val* self, val* p0))(var140->class->vft[COLOR_nit__coloring__POSetGroupColorer__graph_61d]))(var140, var141); /* graph= on <var140:POSetGroupColorer[MClass, PropertyLayoutElement]>*/
-}
-{
-((void(*)(val* self, val* p0))(var140->class->vft[COLOR_nit__coloring__POSetGroupColorer__buckets_61d]))(var140, var_mmethods); /* buckets= on <var140:POSetGroupColorer[MClass, PropertyLayoutElement]>*/
-}
-{
-((void(*)(val* self))(var140->class->vft[COLOR_standard__kernel__Object__init]))(var140); /* init on <var140:POSetGroupColorer[MClass, PropertyLayoutElement]>*/
-}
-var_meth_colorer = var140;
-{
-var144 = nit___nit__POSetGroupColorer___colors(var_meth_colorer);
-}
-var_method_colors = var144;
-{
-nit___nit__SeparateCompiler___compile_color_consts(self, var_method_colors); /* Direct call separate_compiler#SeparateCompiler#compile_color_consts on <self:SeparateCompiler>*/
-}
-var_145 = var_dead_methods;
-{
-var146 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_145);
-}
-var_147 = var146;
-for(;;) {
-{
-var148 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_147);
-}
-if (var148){
-{
-var149 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_147);
-}
-var_mproperty = var149;
-{
-var150 = ((val*(*)(val* self))(self->class->vft[COLOR_nit__abstract_compiler__AbstractCompiler__new_visitor]))(self); /* new_visitor on <self:SeparateCompiler>*/
-}
-{
-{ /* Inline kernel#Int#unary - (1l) on <1l:Int> */
-var153 = -1l;
-var151 = var153;
-goto RET_LABEL152;
-RET_LABEL152:(void)0;
-}
-}
-{
-nit___nit__SeparateCompiler___compile_color_const(self, var150, var_mproperty, var151); /* Direct call separate_compiler#SeparateCompiler#compile_color_const on <self:SeparateCompiler>*/
-}
-{
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_147); /* Direct call array#ArrayIterator#next on <var_147:ArrayIterator[PropertyLayoutElement]>*/
-}
-} else {
-goto BREAK_label154;
-}
-}
-BREAK_label154: (void)0;
-{
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_147); /* Direct call array#ArrayIterator#finish on <var_147:ArrayIterator[PropertyLayoutElement]>*/
-}
-var155 = NEW_nit__POSetGroupColorer(&type_nit__POSetGroupColorer__nit__MClass__nit__MAttribute);
-{
-{ /* Inline separate_compiler#SeparateCompiler#class_conflict_graph (self) on <self:SeparateCompiler> */
-var158 = self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___class_conflict_graph].val; /* _class_conflict_graph on <self:SeparateCompiler> */
-if (unlikely(var158 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _class_conflict_graph");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 309);
-fatal_exit(1);
-}
-var156 = var158;
-RET_LABEL157:(void)0;
-}
-}
-{
-((void(*)(val* self, val* p0))(var155->class->vft[COLOR_nit__coloring__POSetGroupColorer__graph_61d]))(var155, var156); /* graph= on <var155:POSetGroupColorer[MClass, MAttribute]>*/
-}
-{
-((void(*)(val* self, val* p0))(var155->class->vft[COLOR_nit__coloring__POSetGroupColorer__buckets_61d]))(var155, var_mattributes); /* buckets= on <var155:POSetGroupColorer[MClass, MAttribute]>*/
-}
-{
-((void(*)(val* self))(var155->class->vft[COLOR_standard__kernel__Object__init]))(var155); /* init on <var155:POSetGroupColorer[MClass, MAttribute]>*/
-}
-var_attr_colorer = var155;
-{
-var159 = nit___nit__POSetGroupColorer___colors(var_attr_colorer);
-}
-var_attr_colors = var159;
-{
-nit___nit__SeparateCompiler___compile_color_consts(self, var_attr_colors); /* Direct call separate_compiler#SeparateCompiler#compile_color_consts on <self:SeparateCompiler>*/
-}
-var160 = NEW_standard__HashMap(&type_standard__HashMap__nit__MClass__standard__Array__nullable__nit__MPropDef);
-{
-standard___standard__HashMap___standard__kernel__Object__init(var160); /* Direct call hash_collection#HashMap#init on <var160:HashMap[MClass, Array[nullable MPropDef]]>*/
-}
-{
-{ /* Inline separate_compiler#SeparateCompiler#method_tables= (self,var160) on <self:SeparateCompiler> */
-self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___method_tables].val = var160; /* _method_tables on <self:SeparateCompiler> */
-RET_LABEL161:(void)0;
-}
-}
-var162 = NEW_standard__HashMap(&type_standard__HashMap__nit__MClass__standard__Array__nullable__nit__MProperty);
-{
-standard___standard__HashMap___standard__kernel__Object__init(var162); /* Direct call hash_collection#HashMap#init on <var162:HashMap[MClass, Array[nullable MProperty]]>*/
-}
-{
-{ /* Inline separate_compiler#SeparateCompiler#attr_tables= (self,var162) on <self:SeparateCompiler> */
-self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___attr_tables].val = var162; /* _attr_tables on <self:SeparateCompiler> */
-RET_LABEL163:(void)0;
-}
-}
-var_164 = var_mclasses;
-{
-var165 = poset___poset__POSet___standard__abstract_collection__Collection__iterator(var_164);
-}
-var_166 = var165;
-for(;;) {
-{
-var167 = ((short int(*)(val* self))((((long)var_166&3)?class_info[((long)var_166&3)]:var_166->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_166); /* is_ok on <var_166:Iterator[MClass]>*/
-}
-if (var167){
-{
-var168 = ((val*(*)(val* self))((((long)var_166&3)?class_info[((long)var_166&3)]:var_166->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_166); /* item on <var_166:Iterator[MClass]>*/
-}
-var_mclass169 = var168;
-{
-{ /* Inline model#MClass#has_new_factory (var_mclass169) on <var_mclass169:MClass> */
-var173 = var_mclass169->attrs[COLOR_nit__model__MClass___has_new_factory].s; /* _has_new_factory on <var_mclass169:MClass> */
-var171 = var173;
-RET_LABEL172:(void)0;
-}
-}
-var174 = !var171;
-var_175 = var174;
-if (var174){
-{
-{ /* Inline model#MClass#kind (var_mclass169) on <var_mclass169:MClass> */
-var179 = var_mclass169->attrs[COLOR_nit__model__MClass___kind].val; /* _kind on <var_mclass169:MClass> */
-if (unlikely(var179 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 436);
-fatal_exit(1);
-}
-var177 = var179;
-RET_LABEL178:(void)0;
-}
-}
-var180 = glob_sys;
-{
-var181 = nit__model___standard__Sys___abstract_kind(var180);
-}
-{
-{ /* Inline kernel#Object#== (var177,var181) on <var177:MClassKind> */
-var_other94 = var181;
-{
-{ /* Inline kernel#Object#is_same_instance (var177,var_other94) on <var177:MClassKind> */
-var186 = var177 == var_other94;
-var184 = var186;
-goto RET_LABEL185;
-RET_LABEL185:(void)0;
-}
-}
-var182 = var184;
-goto RET_LABEL183;
-RET_LABEL183:(void)0;
-}
-}
-var_187 = var182;
-if (var182){
-var176 = var_187;
-} else {
-{
-{ /* Inline model#MClass#kind (var_mclass169) on <var_mclass169:MClass> */
-var190 = var_mclass169->attrs[COLOR_nit__model__MClass___kind].val; /* _kind on <var_mclass169:MClass> */
-if (unlikely(var190 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 436);
-fatal_exit(1);
-}
-var188 = var190;
-RET_LABEL189:(void)0;
-}
-}
-var191 = glob_sys;
-{
-var192 = nit__model___standard__Sys___interface_kind(var191);
-}
-{
-{ /* Inline kernel#Object#== (var188,var192) on <var188:MClassKind> */
-var_other94 = var192;
-{
-{ /* Inline kernel#Object#is_same_instance (var188,var_other94) on <var188:MClassKind> */
-var197 = var188 == var_other94;
-var195 = var197;
-goto RET_LABEL196;
-RET_LABEL196:(void)0;
-}
-}
-var193 = var195;
-goto RET_LABEL194;
-RET_LABEL194:(void)0;
-}
-}
-var176 = var193;
-}
-var170 = var176;
-} else {
-var170 = var_175;
-}
-if (var170){
-goto BREAK_label198;
-} else {
-}
-if (var_rta == NULL) {
-var200 = 0; /* is null */
-} else {
-var200 = 1; /* arg is null and recv is not */
-}
-if (0) {
-{ /* Inline kernel#Object#!= (var_rta,((val*)NULL)) on <var_rta:nullable RapidTypeAnalysis> */
-var_other = ((val*)NULL);
-{
-var203 = ((short int(*)(val* self, val* p0))(var_rta->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_rta, var_other); /* == on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)>*/
-}
-var204 = !var203;
-var201 = var204;
-goto RET_LABEL202;
-RET_LABEL202:(void)0;
-}
-var200 = var201;
-}
-var_205 = var200;
-if (var200){
-{
-{ /* Inline rapid_type_analysis#RapidTypeAnalysis#live_classes (var_rta) on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
-var208 = var_rta->attrs[COLOR_nit__rapid_type_analysis__RapidTypeAnalysis___live_classes].val; /* _live_classes on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
-if (unlikely(var208 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_classes");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__rapid_type_analysis, 69);
-fatal_exit(1);
-}
-var206 = var208;
-RET_LABEL207:(void)0;
-}
-}
-{
-var209 = standard___standard__HashSet___standard__abstract_collection__Collection__has(var206, var_mclass169);
-}
-var210 = !var209;
-var199 = var210;
-} else {
-var199 = var_205;
-}
-if (var199){
-goto BREAK_label198;
-} else {
-}
-{
-{ /* Inline model#MClass#intro (var_mclass169) on <var_mclass169:MClass> */
-var213 = var_mclass169->attrs[COLOR_nit__model__MClass___intro].val; /* _intro on <var_mclass169:MClass> */
-if (unlikely(var213 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 460);
-fatal_exit(1);
-}
-var211 = var213;
-RET_LABEL212:(void)0;
-}
-}
-{
-{ /* Inline model#MClassDef#bound_mtype (var211) on <var211:MClassDef> */
-var216 = var211->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on <var211:MClassDef> */
-if (unlikely(var216 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 556);
-fatal_exit(1);
-}
-var214 = var216;
-RET_LABEL215:(void)0;
-}
-}
-var_mtype = var214;
-{
-var217 = nit___nit__POSetGroupColorer___build_layout(var_meth_colorer, var_mclass169);
-}
-var_meth_layout = var217;
-var218 = NEW_standard__Array(&type_standard__Array__nullable__nit__MPropDef);
-{
-{ /* Inline array#AbstractArrayRead#length (var_meth_layout) on <var_meth_layout:Array[nullable PropertyLayoutElement]> */
-var221 = var_meth_layout->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on <var_meth_layout:Array[nullable PropertyLayoutElement]> */
-var219 = var221;
-RET_LABEL220:(void)0;
-}
-}
-{
-standard___standard__Array___with_capacity(var218, var219); /* Direct call array#Array#with_capacity on <var218:Array[nullable MPropDef]>*/
-}
-var_meth_table = var218;
-{
-{ /* Inline separate_compiler#SeparateCompiler#method_tables (self) on <self:SeparateCompiler> */
-var224 = self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___method_tables].val; /* _method_tables on <self:SeparateCompiler> */
-if (unlikely(var224 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _method_tables");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 1053);
-fatal_exit(1);
-}
-var222 = var224;
-RET_LABEL223:(void)0;
-}
-}
-{
-((void(*)(val* self, val* p0, val* p1))((((long)var222&3)?class_info[((long)var222&3)]:var222->class)->vft[COLOR_standard__abstract_collection__Map___91d_93d_61d]))(var222, var_mclass169, var_meth_table); /* []= on <var222:Map[MClass, Array[nullable MPropDef]]>*/
-}
-var_225 = var_meth_layout;
-{
-var226 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_225);
-}
-var_227 = var226;
-for(;;) {
-{
-var228 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_227);
-}
-if (var228){
-{
-var229 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_227);
-}
-var_e = var229;
-if (var_e == NULL) {
-var230 = 1; /* is null */
-} else {
-var230 = 0; /* arg is null but recv is not */
-}
-if (0) {
-{ /* Inline kernel#Object#== (var_e,((val*)NULL)) on <var_e:nullable PropertyLayoutElement> */
-var_other94 = ((val*)NULL);
-{
-{ /* Inline kernel#Object#is_same_instance (var_e,var_other94) on <var_e:nullable PropertyLayoutElement(PropertyLayoutElement)> */
-var235 = var_e == var_other94 || (var_other94 != NULL && (!((long)var_e&3)) && (!((long)var_other94&3)) && var_e->class == var_other94->class && ((var_e->class->box_kind == 3 && ((struct instance_standard__Byte*)var_e)->value == ((struct instance_standard__Byte*)var_other94)->value) || (var_e->class->box_kind == 5 && ((struct instance_standard__Float*)var_e)->value == ((struct instance_standard__Float*)var_other94)->value) || (var_e->class->box_kind == 6 && ((struct instance_standard__NativeString*)var_e)->value == ((struct instance_standard__NativeString*)var_other94)->value) || (var_e->class->box_kind == 7 && ((struct instance_standard__Pointer*)var_e)->value == ((struct instance_standard__Pointer*)var_other94)->value)));
-var233 = var235;
-goto RET_LABEL234;
-RET_LABEL234:(void)0;
-}
-}
-var231 = var233;
-goto RET_LABEL232;
-RET_LABEL232:(void)0;
-}
-var230 = var231;
-}
-if (var230){
-{
-standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_meth_table, ((val*)NULL)); /* Direct call array#Array#add on <var_meth_table:Array[nullable MPropDef]>*/
-}
-} else {
-/* <var_e:nullable PropertyLayoutElement(PropertyLayoutElement)> isa MMethod */
-cltype237 = type_nit__MMethod.color;
-idtype238 = type_nit__MMethod.id;
-if(cltype237 >= (((long)var_e&3)?type_info[((long)var_e&3)]:var_e->type)->table_size) {
-var236 = 0;
-} else {
-var236 = (((long)var_e&3)?type_info[((long)var_e&3)]:var_e->type)->type_table[cltype237] == idtype238;
-}
-if (var236){
-{
-{ /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:SeparateCompiler> */
-var241 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on <self:SeparateCompiler> */
-if (unlikely(var241 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 515);
-fatal_exit(1);
-}
-var239 = var241;
-RET_LABEL240:(void)0;
-}
-}
-{
-var242 = nit___nit__MProperty___lookup_first_definition(var_e, var239, var_mtype);
-}
-{
-standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_meth_table, var242); /* Direct call array#Array#add on <var_meth_table:Array[nullable MPropDef]>*/
-}
-} else {
-/* <var_e:nullable PropertyLayoutElement(PropertyLayoutElement)> isa MMethodDef */
-cltype244 = type_nit__MMethodDef.color;
-idtype245 = type_nit__MMethodDef.id;
-if(cltype244 >= (((long)var_e&3)?type_info[((long)var_e&3)]:var_e->type)->table_size) {
-var243 = 0;
-} else {
-var243 = (((long)var_e&3)?type_info[((long)var_e&3)]:var_e->type)->type_table[cltype244] == idtype245;
-}
-if (var243){
-{
-{ /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:SeparateCompiler> */
-var248 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on <self:SeparateCompiler> */
-if (unlikely(var248 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 515);
-fatal_exit(1);
-}
-var246 = var248;
-RET_LABEL247:(void)0;
-}
-}
-{
-var249 = nit___nit__MPropDef___lookup_next_definition(var_e, var246, var_mtype);
-}
-{
-standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_meth_table, var249); /* Direct call array#Array#add on <var_meth_table:Array[nullable MPropDef]>*/
-}
-} else {
-PRINT_ERROR("Runtime error: %s", "Aborted");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 408);
-fatal_exit(1);
-}
-}
-}
-{
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_227); /* Direct call array#ArrayIterator#next on <var_227:ArrayIterator[nullable PropertyLayoutElement]>*/
-}
-} else {
-goto BREAK_label250;
-}
-}
-BREAK_label250: (void)0;
-{
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_227); /* Direct call array#ArrayIterator#finish on <var_227:ArrayIterator[nullable PropertyLayoutElement]>*/
-}
-{
-{ /* Inline separate_compiler#SeparateCompiler#attr_tables (self) on <self:SeparateCompiler> */
-var253 = self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___attr_tables].val; /* _attr_tables on <self:SeparateCompiler> */
-if (unlikely(var253 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _attr_tables");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 1054);
-fatal_exit(1);
-}
-var251 = var253;
-RET_LABEL252:(void)0;
-}
-}
-{
-var254 = nit___nit__POSetGroupColorer___build_layout(var_attr_colorer, var_mclass169);
-}
-{
-((void(*)(val* self, val* p0, val* p1))((((long)var251&3)?class_info[((long)var251&3)]:var251->class)->vft[COLOR_standard__abstract_collection__Map___91d_93d_61d]))(var251, var_mclass169, var254); /* []= on <var251:Map[MClass, Array[nullable MProperty]]>*/
-}
-BREAK_label198: (void)0;
-{
-((void(*)(val* self))((((long)var_166&3)?class_info[((long)var_166&3)]:var_166->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_166); /* next on <var_166:Iterator[MClass]>*/
-}
-} else {
-goto BREAK_label255;
-}
-}
-BREAK_label255: (void)0;
-{
-((void(*)(val* self))((((long)var_166&3)?class_info[((long)var_166&3)]:var_166->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_166); /* finish on <var_166:Iterator[MClass]>*/
-}
-RET_LABEL:;
-}
-/* method separate_compiler#SeparateCompiler#do_type_coloring for (self: SeparateCompiler): Collection[MType] */
-val* nit___nit__SeparateCompiler___do_type_coloring(val* self) {
-val* var /* : Collection[MType] */;
-val* var1 /* : nullable RapidTypeAnalysis */;
-val* var3 /* : nullable RapidTypeAnalysis */;
-val* var4 /* : HashSet[MClassType] */;
-val* var6 /* : HashSet[MClassType] */;
-val* var_live_types /* var live_types: HashSet[MClassType] */;
-val* var7 /* : nullable RapidTypeAnalysis */;
-val* var9 /* : nullable RapidTypeAnalysis */;
-val* var10 /* : HashSet[MType] */;
-val* var12 /* : HashSet[MType] */;
-val* var_live_cast_types /* var live_cast_types: HashSet[MType] */;
-val* var13 /* : HashSet[MType] */;
-val* var_res /* var res: HashSet[MType] */;
-val* var14 /* : ModelBuilder */;
-val* var16 /* : ModelBuilder */;
-val* var17 /* : ToolContext */;
-val* var19 /* : ToolContext */;
-val* var20 /* : OptionBool */;
-val* var22 /* : OptionBool */;
-val* var23 /* : nullable Object */;
-val* var25 /* : nullable Object */;
-short int var26 /* : Bool */;
-val* var27 /* : POSet[MType] */;
-val* var_poset /* var poset: POSet[MType] */;
-val* var28 /* : POSetColorer[MType] */;
-val* var_colorer /* var colorer: POSetColorer[MType] */;
-val* var30 /* : Map[Object, Int] */;
-val* var32 /* : Map[Object, Int] */;
-val* var34 /* : Map[MType, Array[nullable MType]] */;
-val* var36 /* : HashMap[MType, Int] */;
-val* var_ /* var : HashSet[MType] */;
-val* var38 /* : Iterator[nullable Object] */;
-val* var_39 /* var : Iterator[MType] */;
-short int var40 /* : Bool */;
-val* var41 /* : nullable Object */;
-val* var_x /* var x: MType */;
-val* var42 /* : Map[MType, Int] */;
-val* var44 /* : Map[MType, Int] */;
-val* var45 /* : Map[MType, Int] */;
-val* var47 /* : Map[MType, Int] */;
-long var48 /* : Int */;
-long var49 /* : Int */;
-short int var51 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-long var52 /* : Int */;
-val* var53 /* : nullable Object */;
-{
-{ /* Inline separate_compiler#SeparateCompiler#runtime_type_analysis (self) on <self:SeparateCompiler> */
-var3 = self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___runtime_type_analysis].val; /* _runtime_type_analysis on <self:SeparateCompiler> */
-var1 = var3;
-RET_LABEL2:(void)0;
-}
-}
-if (var1 == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 422);
-fatal_exit(1);
-} else {
-{ /* Inline rapid_type_analysis#RapidTypeAnalysis#live_types (var1) on <var1:nullable RapidTypeAnalysis> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__rapid_type_analysis, 60);
-fatal_exit(1);
-}
-var6 = var1->attrs[COLOR_nit__rapid_type_analysis__RapidTypeAnalysis___live_types].val; /* _live_types on <var1:nullable RapidTypeAnalysis> */
-if (unlikely(var6 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_types");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__rapid_type_analysis, 60);
-fatal_exit(1);
-}
-var4 = var6;
-RET_LABEL5:(void)0;
-}
-}
-var_live_types = var4;
-{
-{ /* Inline separate_compiler#SeparateCompiler#runtime_type_analysis (self) on <self:SeparateCompiler> */
-var9 = self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___runtime_type_analysis].val; /* _runtime_type_analysis on <self:SeparateCompiler> */
-var7 = var9;
-RET_LABEL8:(void)0;
-}
-}
-if (var7 == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 423);
-fatal_exit(1);
-} else {
-{ /* Inline rapid_type_analysis#RapidTypeAnalysis#live_cast_types (var7) on <var7:nullable RapidTypeAnalysis> */
-if (unlikely(var7 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__rapid_type_analysis, 72);
-fatal_exit(1);
-}
-var12 = var7->attrs[COLOR_nit__rapid_type_analysis__RapidTypeAnalysis___live_cast_types].val; /* _live_cast_types on <var7:nullable RapidTypeAnalysis> */
-if (unlikely(var12 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_cast_types");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__rapid_type_analysis, 72);
-fatal_exit(1);
-}
-var10 = var12;
-RET_LABEL11:(void)0;
-}
-}
-var_live_cast_types = var10;
-var13 = NEW_standard__HashSet(&type_standard__HashSet__nit__MType);
-{
-standard___standard__HashSet___standard__kernel__Object__init(var13); /* Direct call hash_collection#HashSet#init on <var13:HashSet[MType]>*/
-}
-var_res = var13;
-{
-standard___standard__SimpleCollection___add_all(var_res, var_live_types); /* Direct call abstract_collection#SimpleCollection#add_all on <var_res:HashSet[MType]>*/
-}
-{
-standard___standard__SimpleCollection___add_all(var_res, var_live_cast_types); /* Direct call abstract_collection#SimpleCollection#add_all on <var_res:HashSet[MType]>*/
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
-var16 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on <self:SeparateCompiler> */
-if (unlikely(var16 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 522);
-fatal_exit(1);
-}
-var14 = var16;
-RET_LABEL15:(void)0;
-}
-}
-{
-{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (var14) on <var14:ModelBuilder> */
-var19 = var14->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on <var14:ModelBuilder> */
-if (unlikely(var19 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47);
-fatal_exit(1);
-}
-var17 = var19;
-RET_LABEL18:(void)0;
-}
-}
-{
-{ /* Inline separate_compiler#ToolContext#opt_type_poset (var17) on <var17:ToolContext> */
-var22 = var17->attrs[COLOR_nit__separate_compiler__ToolContext___opt_type_poset].val; /* _opt_type_poset on <var17:ToolContext> */
-if (unlikely(var22 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_type_poset");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 62);
-fatal_exit(1);
-}
-var20 = var22;
-RET_LABEL21:(void)0;
-}
-}
-{
-{ /* Inline opts#Option#value (var20) on <var20:OptionBool> */
-var25 = var20->attrs[COLOR_opts__Option___value].val; /* _value on <var20:OptionBool> */
-var23 = var25;
-RET_LABEL24:(void)0;
-}
-}
-var26 = (short int)((long)(var23)>>2);
-if (var26){
-{
-var27 = nit___nit__SeparateCompiler___poset_from_mtypes(self, var_live_types, var_live_cast_types);
-}
-var_poset = var27;
-var28 = NEW_nit__POSetColorer(&type_nit__POSetColorer__nit__MType);
-{
-{ /* Inline kernel#Object#init (var28) on <var28:POSetColorer[MType]> */
-RET_LABEL29:(void)0;
-}
-}
-var_colorer = var28;
-{
-nit___nit__POSetColorer___colorize(var_colorer, var_poset); /* Direct call coloring#POSetColorer#colorize on <var_colorer:POSetColorer[MType]>*/
-}
-{
-var30 = nit___nit__POSetColorer___ids(var_colorer);
-}
-{
-{ /* Inline separate_compiler#SeparateCompiler#type_ids= (self,var30) on <self:SeparateCompiler> */
-self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___type_ids].val = var30; /* _type_ids on <self:SeparateCompiler> */
-RET_LABEL31:(void)0;
-}
-}
-{
-var32 = nit___nit__POSetColorer___colors(var_colorer);
-}
-{
-{ /* Inline separate_compiler#SeparateCompiler#type_colors= (self,var32) on <self:SeparateCompiler> */
-self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___type_colors].val = var32; /* _type_colors on <self:SeparateCompiler> */
-RET_LABEL33:(void)0;
-}
-}
-{
-var34 = nit___nit__SeparateCompiler___build_type_tables(self, var_poset);
-}
-{
-{ /* Inline separate_compiler#SeparateCompiler#type_tables= (self,var34) on <self:SeparateCompiler> */
-self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___type_tables].val = var34; /* _type_tables on <self:SeparateCompiler> */
-RET_LABEL35:(void)0;
-}
-}
-} else {
-{
-nit___nit__SeparateCompiler___compute_type_test_layouts(self, var_live_types, var_live_cast_types); /* Direct call separate_compiler#SeparateCompiler#compute_type_test_layouts on <self:SeparateCompiler>*/
-}
-var36 = NEW_standard__HashMap(&type_standard__HashMap__nit__MType__standard__Int);
-{
-standard___standard__HashMap___standard__kernel__Object__init(var36); /* Direct call hash_collection#HashMap#init on <var36:HashMap[MType, Int]>*/
-}
-{
-{ /* Inline separate_compiler#SeparateCompiler#type_ids= (self,var36) on <self:SeparateCompiler> */
-self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___type_ids].val = var36; /* _type_ids on <self:SeparateCompiler> */
-RET_LABEL37:(void)0;
-}
-}
-var_ = var_res;
-{
-var38 = standard___standard__HashSet___standard__abstract_collection__Collection__iterator(var_);
-}
-var_39 = var38;
-for(;;) {
-{
-var40 = ((short int(*)(val* self))((((long)var_39&3)?class_info[((long)var_39&3)]:var_39->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_39); /* is_ok on <var_39:Iterator[MType]>*/
-}
-if (var40){
-{
-var41 = ((val*(*)(val* self))((((long)var_39&3)?class_info[((long)var_39&3)]:var_39->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_39); /* item on <var_39:Iterator[MType]>*/
-}
-var_x = var41;
-{
-{ /* Inline separate_compiler#SeparateCompiler#type_ids (self) on <self:SeparateCompiler> */
-var44 = self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___type_ids].val; /* _type_ids on <self:SeparateCompiler> */
-if (unlikely(var44 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _type_ids");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 149);
-fatal_exit(1);
-}
-var42 = var44;
-RET_LABEL43:(void)0;
-}
-}
-{
-{ /* Inline separate_compiler#SeparateCompiler#type_ids (self) on <self:SeparateCompiler> */
-var47 = self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___type_ids].val; /* _type_ids on <self:SeparateCompiler> */
-if (unlikely(var47 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _type_ids");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 149);
-fatal_exit(1);
-}
-var45 = var47;
-RET_LABEL46:(void)0;
-}
-}
-{
-var48 = ((long(*)(val* self))((((long)var45&3)?class_info[((long)var45&3)]:var45->class)->vft[COLOR_standard__abstract_collection__MapRead__length]))(var45); /* length on <var45:Map[MType, Int]>*/
-}
-{
-{ /* Inline kernel#Int#+ (var48,1l) on <var48:Int> */
-/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
-/* <1l:Int> isa OTHER */
-var51 = 1; /* easy <1l:Int> isa OTHER*/
-if (unlikely(!var51)) {
-var_class_name = type_standard__Int.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
-fatal_exit(1);
-}
-var52 = var48 + 1l;
-var49 = var52;
-goto RET_LABEL50;
-RET_LABEL50:(void)0;
-}
-}
-{
-var53 = (val*)(var49<<2|1);
-((void(*)(val* self, val* p0, val* p1))((((long)var42&3)?class_info[((long)var42&3)]:var42->class)->vft[COLOR_standard__abstract_collection__Map___91d_93d_61d]))(var42, var_x, var53); /* []= on <var42:Map[MType, Int]>*/
-}
-{
-((void(*)(val* self))((((long)var_39&3)?class_info[((long)var_39&3)]:var_39->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_39); /* next on <var_39:Iterator[MType]>*/
-}
-} else {
-goto BREAK_label;
-}
-}
-BREAK_label: (void)0;
-{
-((void(*)(val* self))((((long)var_39&3)?class_info[((long)var_39&3)]:var_39->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_39); /* finish on <var_39:Iterator[MType]>*/
-}
-}
-{
-nit___nit__SeparateCompiler___compute_resolution_tables(self, var_live_types); /* Direct call separate_compiler#SeparateCompiler#compute_resolution_tables on <self:SeparateCompiler>*/
-}
-var = var_res;
-goto RET_LABEL;
-RET_LABEL:;
-return var;
-}
-/* method separate_compiler#SeparateCompiler#poset_from_mtypes for (self: SeparateCompiler, Set[MType], Set[MType]): POSet[MType] */
-val* nit___nit__SeparateCompiler___poset_from_mtypes(val* self, val* p0, val* p1) {
-val* var /* : POSet[MType] */;
-val* var_mtypes /* var mtypes: Set[MType] */;
-val* var_cast_types /* var cast_types: Set[MType] */;
-val* var1 /* : POSet[MType] */;
-val* var_poset /* var poset: POSet[MType] */;
-val* var3 /* : MultiHashMap[MClass, MType] */;
-val* var_mtypes_by_class /* var mtypes_by_class: MultiHashMap[MClass, MType] */;
-val* var_ /* var : Set[MType] */;
-val* var4 /* : Iterator[nullable Object] */;
-val* var_5 /* var : Iterator[MType] */;
-short int var6 /* : Bool */;
-val* var7 /* : nullable Object */;
-val* var_e /* var e: MType */;
-val* var8 /* : MType */;
-short int var9 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var10 /* : MClass */;
-val* var12 /* : MClass */;
-val* var_c /* var c: MClass */;
-val* var13 /* : nullable Object */;
-val* var14 /* : POSetElement[nullable Object] */;
-val* var15 /* : MultiHashMap[MClass, MType] */;
-val* var_casttypes_by_class /* var casttypes_by_class: MultiHashMap[MClass, MType] */;
-val* var_16 /* var : Set[MType] */;
-val* var17 /* : Iterator[nullable Object] */;
-val* var_18 /* var : Iterator[MType] */;
-short int var19 /* : Bool */;
-val* var20 /* : nullable Object */;
-val* var_e21 /* var e: MType */;
-val* var22 /* : MType */;
-short int var23 /* : Bool */;
-int cltype24;
-int idtype25;
-const char* var_class_name26;
-val* var27 /* : MClass */;
-val* var29 /* : MClass */;
-val* var_c30 /* var c: MClass */;
-val* var31 /* : nullable Object */;
-val* var32 /* : POSetElement[nullable Object] */;
-val* var_34 /* var : MultiHashMap[MClass, MType] */;
-val* var35 /* : HashMapIterator[nullable Object, nullable Object] */;
-val* var_36 /* var : HashMapIterator[MClass, Array[MType]] */;
-short int var37 /* : Bool */;
-val* var38 /* : nullable Object */;
-val* var_c1 /* var c1: MClass */;
-val* var39 /* : nullable Object */;
-val* var_ts1 /* var ts1: Array[MType] */;
-val* var40 /* : MModule */;
-val* var42 /* : MModule */;
-val* var43 /* : POSetElement[MClass] */;
-val* var44 /* : Collection[nullable Object] */;
-val* var_45 /* var : Collection[MClass] */;
-val* var46 /* : Iterator[nullable Object] */;
-val* var_47 /* var : Iterator[MClass] */;
-short int var48 /* : Bool */;
-val* var49 /* : nullable Object */;
-val* var_c2 /* var c2: MClass */;
-val* var50 /* : nullable Object */;
-val* var_ts2 /* var ts2: Array[MType] */;
-val* var_51 /* var : Array[MType] */;
-val* var52 /* : ArrayIterator[nullable Object] */;
-val* var_53 /* var : ArrayIterator[MType] */;
-short int var54 /* : Bool */;
-val* var55 /* : nullable Object */;
-val* var_e56 /* var e: MType */;
-val* var_57 /* var : Array[MType] */;
-val* var58 /* : ArrayIterator[nullable Object] */;
-val* var_59 /* var : ArrayIterator[MType] */;
-short int var60 /* : Bool */;
-val* var61 /* : nullable Object */;
-val* var_o /* var o: MType */;
-short int var62 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var64 /* : Bool */;
-short int var66 /* : Bool */;
-val* var68 /* : MModule */;
-val* var70 /* : MModule */;
-short int var71 /* : Bool */;
-var_mtypes = p0;
-var_cast_types = p1;
-var1 = NEW_poset__POSet(&type_poset__POSet__nit__MType);
-{
-{ /* Inline kernel#Object#init (var1) on <var1:POSet[MType]> */
-RET_LABEL2:(void)0;
-}
-}
-var_poset = var1;
-var3 = NEW_more_collections__MultiHashMap(&type_more_collections__MultiHashMap__nit__MClass__nit__MType);
-{
-standard___standard__HashMap___standard__kernel__Object__init(var3); /* Direct call hash_collection#HashMap#init on <var3:MultiHashMap[MClass, MType]>*/
-}
-var_mtypes_by_class = var3;
-var_ = var_mtypes;
-{
-var4 = ((val*(*)(val* self))((((long)var_&3)?class_info[((long)var_&3)]:var_->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_); /* iterator on <var_:Set[MType]>*/
-}
-var_5 = var4;
-for(;;) {
-{
-var6 = ((short int(*)(val* self))((((long)var_5&3)?class_info[((long)var_5&3)]:var_5->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_5); /* is_ok on <var_5:Iterator[MType]>*/
-}
-if (var6){
-{
-var7 = ((val*(*)(val* self))((((long)var_5&3)?class_info[((long)var_5&3)]:var_5->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_5); /* item on <var_5:Iterator[MType]>*/
-}
-var_e = var7;
-{
-var8 = ((val*(*)(val* self))(var_e->class->vft[COLOR_nit__model__MType__undecorate]))(var_e); /* undecorate on <var_e:MType>*/
-}
-/* <var8:MType> isa MClassType */
-cltype = type_nit__MClassType.color;
-idtype = type_nit__MClassType.id;
-if(cltype >= var8->type->table_size) {
-var9 = 0;
-} else {
-var9 = var8->type->type_table[cltype] == idtype;
-}
-if (unlikely(!var9)) {
-var_class_name = var8 == NULL ? "null" : var8->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 461);
-fatal_exit(1);
-}
-{
-{ /* Inline model#MClassType#mclass (var8) on <var8:MType(MClassType)> */
-var12 = var8->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on <var8:MType(MClassType)> */
-if (unlikely(var12 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1138);
-fatal_exit(1);
-}
-var10 = var12;
-RET_LABEL11:(void)0;
-}
-}
-var_c = var10;
-{
-var13 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_mtypes_by_class, var_c);
-}
-{
-standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var13, var_e); /* Direct call array#Array#add on <var13:nullable Object(Array[MType])>*/
-}
-{
-var14 = poset___poset__POSet___add_node(var_poset, var_e);
-}
-{
-((void(*)(val* self))((((long)var_5&3)?class_info[((long)var_5&3)]:var_5->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_5); /* next on <var_5:Iterator[MType]>*/
-}
-} else {
-goto BREAK_label;
-}
-}
-BREAK_label: (void)0;
-{
-((void(*)(val* self))((((long)var_5&3)?class_info[((long)var_5&3)]:var_5->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_5); /* finish on <var_5:Iterator[MType]>*/
-}
-var15 = NEW_more_collections__MultiHashMap(&type_more_collections__MultiHashMap__nit__MClass__nit__MType);
-{
-standard___standard__HashMap___standard__kernel__Object__init(var15); /* Direct call hash_collection#HashMap#init on <var15:MultiHashMap[MClass, MType]>*/
-}
-var_casttypes_by_class = var15;
-var_16 = var_cast_types;
-{
-var17 = ((val*(*)(val* self))((((long)var_16&3)?class_info[((long)var_16&3)]:var_16->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_16); /* iterator on <var_16:Set[MType]>*/
-}
-var_18 = var17;
-for(;;) {
-{
-var19 = ((short int(*)(val* self))((((long)var_18&3)?class_info[((long)var_18&3)]:var_18->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_18); /* is_ok on <var_18:Iterator[MType]>*/
-}
-if (var19){
-{
-var20 = ((val*(*)(val* self))((((long)var_18&3)?class_info[((long)var_18&3)]:var_18->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_18); /* item on <var_18:Iterator[MType]>*/
-}
-var_e21 = var20;
-{
-var22 = ((val*(*)(val* self))(var_e21->class->vft[COLOR_nit__model__MType__undecorate]))(var_e21); /* undecorate on <var_e21:MType>*/
-}
-/* <var22:MType> isa MClassType */
-cltype24 = type_nit__MClassType.color;
-idtype25 = type_nit__MClassType.id;
-if(cltype24 >= var22->type->table_size) {
-var23 = 0;
-} else {
-var23 = var22->type->type_table[cltype24] == idtype25;
-}
-if (unlikely(!var23)) {
-var_class_name26 = var22 == NULL ? "null" : var22->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name26);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 468);
-fatal_exit(1);
-}
-{
-{ /* Inline model#MClassType#mclass (var22) on <var22:MType(MClassType)> */
-var29 = var22->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on <var22:MType(MClassType)> */
-if (unlikely(var29 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1138);
-fatal_exit(1);
-}
-var27 = var29;
-RET_LABEL28:(void)0;
-}
-}
-var_c30 = var27;
-{
-var31 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_casttypes_by_class, var_c30);
-}
-{
-standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var31, var_e21); /* Direct call array#Array#add on <var31:nullable Object(Array[MType])>*/
-}
-{
-var32 = poset___poset__POSet___add_node(var_poset, var_e21);
-}
-{
-((void(*)(val* self))((((long)var_18&3)?class_info[((long)var_18&3)]:var_18->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_18); /* next on <var_18:Iterator[MType]>*/
-}
-} else {
-goto BREAK_label33;
-}
-}
-BREAK_label33: (void)0;
-{
-((void(*)(val* self))((((long)var_18&3)?class_info[((long)var_18&3)]:var_18->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_18); /* finish on <var_18:Iterator[MType]>*/
-}
-var_34 = var_mtypes_by_class;
-{
-var35 = standard___standard__HashMap___standard__abstract_collection__MapRead__iterator(var_34);
-}
-var_36 = var35;
-for(;;) {
-{
-var37 = standard___standard__HashMapIterator___standard__abstract_collection__MapIterator__is_ok(var_36);
-}
-if (var37){
-{
-var38 = standard___standard__HashMapIterator___standard__abstract_collection__MapIterator__key(var_36);
-}
-var_c1 = var38;
-{
-var39 = standard___standard__HashMapIterator___standard__abstract_collection__MapIterator__item(var_36);
-}
-var_ts1 = var39;
-{
-{ /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:SeparateCompiler> */
-var42 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on <self:SeparateCompiler> */
-if (unlikely(var42 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 515);
-fatal_exit(1);
-}
-var40 = var42;
-RET_LABEL41:(void)0;
-}
-}
-{
-var43 = nit___nit__MClass___in_hierarchy(var_c1, var40);
-}
-{
-var44 = poset___poset__POSetElement___greaters(var43);
-}
-var_45 = var44;
-{
-var46 = ((val*(*)(val* self))((((long)var_45&3)?class_info[((long)var_45&3)]:var_45->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_45); /* iterator on <var_45:Collection[MClass]>*/
-}
-var_47 = var46;
-for(;;) {
-{
-var48 = ((short int(*)(val* self))((((long)var_47&3)?class_info[((long)var_47&3)]:var_47->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_47); /* is_ok on <var_47:Iterator[MClass]>*/
-}
-if (var48){
-{
-var49 = ((val*(*)(val* self))((((long)var_47&3)?class_info[((long)var_47&3)]:var_47->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_47); /* item on <var_47:Iterator[MClass]>*/
-}
-var_c2 = var49;
-{
-var50 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_casttypes_by_class, var_c2);
-}
-var_ts2 = var50;
-var_51 = var_ts1;
-{
-var52 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_51);
-}
-var_53 = var52;
-for(;;) {
-{
-var54 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_53);
-}
-if (var54){
-{
-var55 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_53);
-}
-var_e56 = var55;
-var_57 = var_ts2;
-{
-var58 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_57);
-}
-var_59 = var58;
-for(;;) {
-{
-var60 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_59);
-}
-if (var60){
-{
-var61 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_59);
-}
-var_o = var61;
-{
-{ /* Inline kernel#Object#== (var_e56,var_o) on <var_e56:MType> */
-var_other = var_o;
-{
-{ /* Inline kernel#Object#is_same_instance (var_e56,var_other) on <var_e56:MType> */
-var66 = var_e56 == var_other;
-var64 = var66;
-goto RET_LABEL65;
-RET_LABEL65:(void)0;
-}
-}
-var62 = var64;
-goto RET_LABEL63;
-RET_LABEL63:(void)0;
-}
-}
-if (var62){
-goto BREAK_label67;
-} else {
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:SeparateCompiler> */
-var70 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on <self:SeparateCompiler> */
-if (unlikely(var70 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 515);
-fatal_exit(1);
-}
-var68 = var70;
-RET_LABEL69:(void)0;
-}
-}
-{
-var71 = nit___nit__MType___is_subtype(var_e56, var68, ((val*)NULL), var_o);
-}
-if (var71){
-{
-poset___poset__POSet___add_edge(var_poset, var_e56, var_o); /* Direct call poset#POSet#add_edge on <var_poset:POSet[MType]>*/
-}
-} else {
-}
-BREAK_label67: (void)0;
-{
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_59); /* Direct call array#ArrayIterator#next on <var_59:ArrayIterator[MType]>*/
-}
-} else {
-goto BREAK_label72;
-}
-}
-BREAK_label72: (void)0;
-{
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_59); /* Direct call array#ArrayIterator#finish on <var_59:ArrayIterator[MType]>*/
-}
-{
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_53); /* Direct call array#ArrayIterator#next on <var_53:ArrayIterator[MType]>*/
-}
-} else {
-goto BREAK_label73;
-}
-}
-BREAK_label73: (void)0;
-{
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_53); /* Direct call array#ArrayIterator#finish on <var_53:ArrayIterator[MType]>*/
-}
-{
-((void(*)(val* self))((((long)var_47&3)?class_info[((long)var_47&3)]:var_47->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_47); /* next on <var_47:Iterator[MClass]>*/
-}
-} else {
-goto BREAK_label74;
-}
-}
-BREAK_label74: (void)0;
-{
-((void(*)(val* self))((((long)var_47&3)?class_info[((long)var_47&3)]:var_47->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_47); /* finish on <var_47:Iterator[MClass]>*/
-}
-{
-standard___standard__HashMapIterator___standard__abstract_collection__MapIterator__next(var_36); /* Direct call hash_collection#HashMapIterator#next on <var_36:HashMapIterator[MClass, Array[MType]]>*/
-}
-} else {
-goto BREAK_label75;
-}
-}
-BREAK_label75: (void)0;
-{
-{ /* Inline abstract_collection#MapIterator#finish (var_36) on <var_36:HashMapIterator[MClass, Array[MType]]> */
-RET_LABEL76:(void)0;
-}
-}
-var = var_poset;
-goto RET_LABEL;
-RET_LABEL:;
-return var;
-}
-/* method separate_compiler#SeparateCompiler#build_type_tables for (self: SeparateCompiler, POSet[MType]): Map[MType, Array[nullable MType]] */
-val* nit___nit__SeparateCompiler___build_type_tables(val* self, val* p0) {
-val* var /* : Map[MType, Array[nullable MType]] */;
-val* var_mtypes /* var mtypes: POSet[MType] */;
-val* var1 /* : HashMap[MType, Array[nullable MType]] */;
-val* var_tables /* var tables: HashMap[MType, Array[nullable MType]] */;
-val* var_ /* var : POSet[MType] */;
-val* var2 /* : Iterator[nullable Object] */;
-val* var_3 /* var : Iterator[MType] */;
-short int var4 /* : Bool */;
-val* var5 /* : nullable Object */;
-val* var_mtype /* var mtype: MType */;
-val* var6 /* : Array[nullable MType] */;
-val* var_table /* var table: Array[nullable MType] */;
-val* var7 /* : POSetElement[nullable Object] */;
-val* var8 /* : Collection[nullable Object] */;
-val* var_9 /* var : Collection[MType] */;
-val* var10 /* : Iterator[nullable Object] */;
-val* var_11 /* var : Iterator[MType] */;
-short int var12 /* : Bool */;
-val* var13 /* : nullable Object */;
-val* var_sup /* var sup: MType */;
-val* var14 /* : Map[MType, Int] */;
-val* var16 /* : Map[MType, Int] */;
-val* var17 /* : nullable Object */;
-long var18 /* : Int */;
-long var_color /* var color: Int */;
-long var19 /* : Int */;
-long var21 /* : Int */;
-short int var22 /* : Bool */;
-short int var24 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-short int var25 /* : Bool */;
-long var26 /* : Int */;
-long var28 /* : Int */;
-long var_i /* var i: Int */;
-long var_29 /* var : Int */;
-short int var30 /* : Bool */;
-short int var32 /* : Bool */;
-int cltype33;
-int idtype34;
-const char* var_class_name35;
-short int var36 /* : Bool */;
-long var37 /* : Int */;
-var_mtypes = p0;
-var1 = NEW_standard__HashMap(&type_standard__HashMap__nit__MType__standard__Array__nullable__nit__MType);
-{
-standard___standard__HashMap___standard__kernel__Object__init(var1); /* Direct call hash_collection#HashMap#init on <var1:HashMap[MType, Array[nullable MType]]>*/
-}
-var_tables = var1;
-var_ = var_mtypes;
-{
-var2 = poset___poset__POSet___standard__abstract_collection__Collection__iterator(var_);
-}
-var_3 = var2;
-for(;;) {
-{
-var4 = ((short int(*)(val* self))((((long)var_3&3)?class_info[((long)var_3&3)]:var_3->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_3); /* is_ok on <var_3:Iterator[MType]>*/
-}
-if (var4){
-{
-var5 = ((val*(*)(val* self))((((long)var_3&3)?class_info[((long)var_3&3)]:var_3->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_3); /* item on <var_3:Iterator[MType]>*/
-}
-var_mtype = var5;
-var6 = NEW_standard__Array(&type_standard__Array__nullable__nit__MType);
-{
-standard___standard__Array___standard__kernel__Object__init(var6); /* Direct call array#Array#init on <var6:Array[nullable MType]>*/
-}
-var_table = var6;
-{
-var7 = poset___poset__POSet____91d_93d(var_mtypes, var_mtype);
-}
-{
-var8 = poset___poset__POSetElement___greaters(var7);
-}
-var_9 = var8;
-{
-var10 = ((val*(*)(val* self))((((long)var_9&3)?class_info[((long)var_9&3)]:var_9->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_9); /* iterator on <var_9:Collection[MType]>*/
-}
-var_11 = var10;
-for(;;) {
-{
-var12 = ((short int(*)(val* self))((((long)var_11&3)?class_info[((long)var_11&3)]:var_11->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_11); /* is_ok on <var_11:Iterator[MType]>*/
-}
-if (var12){
-{
-var13 = ((val*(*)(val* self))((((long)var_11&3)?class_info[((long)var_11&3)]:var_11->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_11); /* item on <var_11:Iterator[MType]>*/
-}
-var_sup = var13;
-{
-{ /* Inline separate_compiler#SeparateCompiler#type_colors (self) on <self:SeparateCompiler> */
-var16 = self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___type_colors].val; /* _type_colors on <self:SeparateCompiler> */
-if (unlikely(var16 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _type_colors");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 150);
-fatal_exit(1);
-}
-var14 = var16;
-RET_LABEL15:(void)0;
-}
-}
-{
-var17 = ((val*(*)(val* self, val* p0))((((long)var14&3)?class_info[((long)var14&3)]:var14->class)->vft[COLOR_standard__abstract_collection__MapRead___91d_93d]))(var14, var_sup); /* [] on <var14:Map[MType, Int]>*/
-}
-var18 = (long)(var17)>>2;
-var_color = var18;
-{
-{ /* Inline array#AbstractArrayRead#length (var_table) on <var_table:Array[nullable MType]> */
-var21 = var_table->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on <var_table:Array[nullable MType]> */
-var19 = var21;
-RET_LABEL20:(void)0;
-}
-}
-{
-{ /* Inline kernel#Int#<= (var19,var_color) on <var19:Int> */
-/* Covariant cast for argument 0 (i) <var_color:Int> isa OTHER */
-/* <var_color:Int> isa OTHER */
-var24 = 1; /* easy <var_color:Int> isa OTHER*/
-if (unlikely(!var24)) {
-var_class_name = type_standard__Int.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 533);
-fatal_exit(1);
-}
-var25 = var19 <= var_color;
-var22 = var25;
-goto RET_LABEL23;
-RET_LABEL23:(void)0;
-}
-}
-if (var22){
-{
-{ /* Inline array#AbstractArrayRead#length (var_table) on <var_table:Array[nullable MType]> */
-var28 = var_table->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on <var_table:Array[nullable MType]> */
-var26 = var28;
-RET_LABEL27:(void)0;
-}
-}
-var_i = var26;
-var_29 = var_color;
-for(;;) {
-{
-{ /* Inline kernel#Int#< (var_i,var_29) on <var_i:Int> */
-/* Covariant cast for argument 0 (i) <var_29:Int> isa OTHER */
-/* <var_29:Int> isa OTHER */
-var32 = 1; /* easy <var_29:Int> isa OTHER*/
-if (unlikely(!var32)) {
-var_class_name35 = type_standard__Int.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name35);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534);
-fatal_exit(1);
-}
-var36 = var_i < var_29;
-var30 = var36;
-goto RET_LABEL31;
-RET_LABEL31:(void)0;
-}
-}
-if (var30){
-{
-standard___standard__Array___standard__abstract_collection__Sequence___91d_93d_61d(var_table, var_i, ((val*)NULL)); /* Direct call array#Array#[]= on <var_table:Array[nullable MType]>*/
-}
-{
-var37 = standard___standard__Int___Discrete__successor(var_i, 1l);
-}
-var_i = var37;
-} else {
-goto BREAK_label;
-}
-}
-BREAK_label: (void)0;
-} else {
-}
-{
-standard___standard__Array___standard__abstract_collection__Sequence___91d_93d_61d(var_table, var_color, var_sup); /* Direct call array#Array#[]= on <var_table:Array[nullable MType]>*/
-}
-{
-((void(*)(val* self))((((long)var_11&3)?class_info[((long)var_11&3)]:var_11->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_11); /* next on <var_11:Iterator[MType]>*/
-}
-} else {
-goto BREAK_label38;
-}
-}
-BREAK_label38: (void)0;
-{
-((void(*)(val* self))((((long)var_11&3)?class_info[((long)var_11&3)]:var_11->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_11); /* finish on <var_11:Iterator[MType]>*/
-}
-{
-standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var_tables, var_mtype, var_table); /* Direct call hash_collection#HashMap#[]= on <var_tables:HashMap[MType, Array[nullable MType]]>*/
-}
-{
-((void(*)(val* self))((((long)var_3&3)?class_info[((long)var_3&3)]:var_3->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_3); /* next on <var_3:Iterator[MType]>*/
-}
-} else {
-goto BREAK_label39;
-}
-}
-BREAK_label39: (void)0;
-{
-((void(*)(val* self))((((long)var_3&3)?class_info[((long)var_3&3)]:var_3->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_3); /* finish on <var_3:Iterator[MType]>*/
-}
-var = var_tables;
-goto RET_LABEL;
-RET_LABEL:;
-return var;
-}
-/* method separate_compiler#SeparateCompiler#compute_type_test_layouts for (self: SeparateCompiler, Set[MClassType], Set[MType]) */
-void nit___nit__SeparateCompiler___compute_type_test_layouts(val* self, val* p0, val* p1) {
-val* var_mtypes /* var mtypes: Set[MClassType] */;
-val* var_cast_types /* var cast_types: Set[MType] */;
-val* var /* : HashMap[MClass, Set[MType]] */;
-val* var_bucklets /* var bucklets: HashMap[MClass, Set[MType]] */;
-val* var_ /* var : Set[MType] */;
-val* var1 /* : Iterator[nullable Object] */;
-val* var_2 /* var : Iterator[MType] */;
-short int var3 /* : Bool */;
-val* var4 /* : nullable Object */;
-val* var_e /* var e: MType */;
-val* var5 /* : MType */;
-short int var6 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var7 /* : MClass */;
-val* var9 /* : MClass */;
-val* var_c /* var c: MClass */;
-short int var10 /* : Bool */;
-short int var11 /* : Bool */;
-val* var12 /* : HashSet[MType] */;
-val* var13 /* : nullable Object */;
-val* var14 /* : POSetGroupColorer[MClass, MType] */;
-val* var15 /* : POSetConflictGraph[MClass] */;
-val* var17 /* : POSetConflictGraph[MClass] */;
-val* var_colorer /* var colorer: POSetGroupColorer[MClass, MType] */;
-val* var18 /* : Map[Object, Int] */;
-val* var20 /* : HashMap[MClass, Array[nullable MType]] */;
-val* var_layouts /* var layouts: HashMap[MClass, Array[nullable MType]] */;
-val* var21 /* : nullable RapidTypeAnalysis */;
-val* var23 /* : nullable RapidTypeAnalysis */;
-val* var24 /* : HashSet[MClass] */;
-val* var26 /* : HashSet[MClass] */;
-val* var_27 /* var : HashSet[MClass] */;
-val* var28 /* : Iterator[nullable Object] */;
-val* var_29 /* var : Iterator[MClass] */;
-short int var30 /* : Bool */;
-val* var31 /* : nullable Object */;
-val* var_c32 /* var c: MClass */;
-val* var33 /* : Array[nullable Object] */;
-val* var_35 /* var : Set[MClassType] */;
-val* var36 /* : Iterator[nullable Object] */;
-val* var_37 /* var : Iterator[MClassType] */;
-short int var38 /* : Bool */;
-val* var39 /* : nullable Object */;
-val* var_t /* var t: MClassType */;
-val* var40 /* : MClass */;
-val* var42 /* : MClass */;
-val* var_c43 /* var c: MClass */;
-val* var44 /* : nullable Object */;
-val* var_layout /* var layout: Array[nullable MType] */;
-val* var45 /* : Array[nullable MType] */;
-long var46 /* : Int */;
-long var48 /* : Int */;
-val* var_table /* var table: Array[nullable MType] */;
-val* var49 /* : Map[MType, Array[nullable MType]] */;
-val* var51 /* : Map[MType, Array[nullable MType]] */;
-val* var_52 /* var : Array[nullable MType] */;
-val* var53 /* : ArrayIterator[nullable Object] */;
-val* var_54 /* var : ArrayIterator[nullable MType] */;
-short int var55 /* : Bool */;
-val* var56 /* : nullable Object */;
-val* var_sup /* var sup: nullable MType */;
-short int var57 /* : Bool */;
-short int var58 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var60 /* : Bool */;
-short int var62 /* : Bool */;
-val* var63 /* : MModule */;
-val* var65 /* : MModule */;
-short int var66 /* : Bool */;
-var_mtypes = p0;
-var_cast_types = p1;
-var = NEW_standard__HashMap(&type_standard__HashMap__nit__MClass__standard__Set__nit__MType);
-{
-standard___standard__HashMap___standard__kernel__Object__init(var); /* Direct call hash_collection#HashMap#init on <var:HashMap[MClass, Set[MType]]>*/
-}
-var_bucklets = var;
-var_ = var_cast_types;
-{
-var1 = ((val*(*)(val* self))((((long)var_&3)?class_info[((long)var_&3)]:var_->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_); /* iterator on <var_:Set[MType]>*/
-}
-var_2 = var1;
-for(;;) {
-{
-var3 = ((short int(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_2); /* is_ok on <var_2:Iterator[MType]>*/
-}
-if (var3){
-{
-var4 = ((val*(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_2); /* item on <var_2:Iterator[MType]>*/
-}
-var_e = var4;
-{
-var5 = ((val*(*)(val* self))(var_e->class->vft[COLOR_nit__model__MType__undecorate]))(var_e); /* undecorate on <var_e:MType>*/
-}
-/* <var5:MType> isa MClassType */
-cltype = type_nit__MClassType.color;
-idtype = type_nit__MClassType.id;
-if(cltype >= var5->type->table_size) {
-var6 = 0;
-} else {
-var6 = var5->type->type_table[cltype] == idtype;
-}
-if (unlikely(!var6)) {
-var_class_name = var5 == NULL ? "null" : var5->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 513);
-fatal_exit(1);
-}
-{
-{ /* Inline model#MClassType#mclass (var5) on <var5:MType(MClassType)> */
-var9 = var5->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on <var5:MType(MClassType)> */
-if (unlikely(var9 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1138);
-fatal_exit(1);
-}
-var7 = var9;
-RET_LABEL8:(void)0;
-}
-}
-var_c = var7;
-{
-var10 = standard___standard__HashMap___standard__abstract_collection__MapRead__has_key(var_bucklets, var_c);
-}
-var11 = !var10;
-if (var11){
-var12 = NEW_standard__HashSet(&type_standard__HashSet__nit__MType);
-{
-standard___standard__HashSet___standard__kernel__Object__init(var12); /* Direct call hash_collection#HashSet#init on <var12:HashSet[MType]>*/
-}
-{
-standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var_bucklets, var_c, var12); /* Direct call hash_collection#HashMap#[]= on <var_bucklets:HashMap[MClass, Set[MType]]>*/
-}
-} else {
-}
-{
-var13 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_bucklets, var_c);
-}
-{
-((void(*)(val* self, val* p0))((((long)var13&3)?class_info[((long)var13&3)]:var13->class)->vft[COLOR_standard__abstract_collection__SimpleCollection__add]))(var13, var_e); /* add on <var13:nullable Object(Set[MType])>*/
-}
-{
-((void(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_2); /* next on <var_2:Iterator[MType]>*/
-}
-} else {
-goto BREAK_label;
-}
-}
-BREAK_label: (void)0;
-{
-((void(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_2); /* finish on <var_2:Iterator[MType]>*/
-}
-var14 = NEW_nit__POSetGroupColorer(&type_nit__POSetGroupColorer__nit__MClass__nit__MType);
-{
-{ /* Inline separate_compiler#SeparateCompiler#class_conflict_graph (self) on <self:SeparateCompiler> */
-var17 = self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___class_conflict_graph].val; /* _class_conflict_graph on <self:SeparateCompiler> */
-if (unlikely(var17 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _class_conflict_graph");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 309);
-fatal_exit(1);
-}
-var15 = var17;
-RET_LABEL16:(void)0;
-}
-}
-{
-((void(*)(val* self, val* p0))(var14->class->vft[COLOR_nit__coloring__POSetGroupColorer__graph_61d]))(var14, var15); /* graph= on <var14:POSetGroupColorer[MClass, MType]>*/
-}
-{
-((void(*)(val* self, val* p0))(var14->class->vft[COLOR_nit__coloring__POSetGroupColorer__buckets_61d]))(var14, var_bucklets); /* buckets= on <var14:POSetGroupColorer[MClass, MType]>*/
-}
-{
-((void(*)(val* self))(var14->class->vft[COLOR_standard__kernel__Object__init]))(var14); /* init on <var14:POSetGroupColorer[MClass, MType]>*/
-}
-var_colorer = var14;
-{
-var18 = nit___nit__POSetGroupColorer___colors(var_colorer);
-}
-{
-{ /* Inline separate_compiler#SeparateCompiler#type_colors= (self,var18) on <self:SeparateCompiler> */
-self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___type_colors].val = var18; /* _type_colors on <self:SeparateCompiler> */
-RET_LABEL19:(void)0;
-}
-}
-var20 = NEW_standard__HashMap(&type_standard__HashMap__nit__MClass__standard__Array__nullable__nit__MType);
-{
-standard___standard__HashMap___standard__kernel__Object__init(var20); /* Direct call hash_collection#HashMap#init on <var20:HashMap[MClass, Array[nullable MType]]>*/
-}
-var_layouts = var20;
-{
-{ /* Inline separate_compiler#SeparateCompiler#runtime_type_analysis (self) on <self:SeparateCompiler> */
-var23 = self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___runtime_type_analysis].val; /* _runtime_type_analysis on <self:SeparateCompiler> */
-var21 = var23;
-RET_LABEL22:(void)0;
-}
-}
-if (var21 == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 525);
-fatal_exit(1);
-} else {
-{ /* Inline rapid_type_analysis#RapidTypeAnalysis#live_classes (var21) on <var21:nullable RapidTypeAnalysis> */
-if (unlikely(var21 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__rapid_type_analysis, 69);
-fatal_exit(1);
-}
-var26 = var21->attrs[COLOR_nit__rapid_type_analysis__RapidTypeAnalysis___live_classes].val; /* _live_classes on <var21:nullable RapidTypeAnalysis> */
-if (unlikely(var26 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_classes");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__rapid_type_analysis, 69);
-fatal_exit(1);
-}
-var24 = var26;
-RET_LABEL25:(void)0;
-}
-}
-var_27 = var24;
-{
-var28 = standard___standard__HashSet___standard__abstract_collection__Collection__iterator(var_27);
-}
-var_29 = var28;
-for(;;) {
-{
-var30 = ((short int(*)(val* self))((((long)var_29&3)?class_info[((long)var_29&3)]:var_29->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_29); /* is_ok on <var_29:Iterator[MClass]>*/
-}
-if (var30){
-{
-var31 = ((val*(*)(val* self))((((long)var_29&3)?class_info[((long)var_29&3)]:var_29->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_29); /* item on <var_29:Iterator[MClass]>*/
-}
-var_c32 = var31;
-{
-var33 = nit___nit__POSetGroupColorer___build_layout(var_colorer, var_c32);
-}
-{
-standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var_layouts, var_c32, var33); /* Direct call hash_collection#HashMap#[]= on <var_layouts:HashMap[MClass, Array[nullable MType]]>*/
-}
-{
-((void(*)(val* self))((((long)var_29&3)?class_info[((long)var_29&3)]:var_29->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_29); /* next on <var_29:Iterator[MClass]>*/
-}
-} else {
-goto BREAK_label34;
-}
-}
-BREAK_label34: (void)0;
-{
-((void(*)(val* self))((((long)var_29&3)?class_info[((long)var_29&3)]:var_29->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_29); /* finish on <var_29:Iterator[MClass]>*/
-}
-var_35 = var_mtypes;
-{
-var36 = ((val*(*)(val* self))((((long)var_35&3)?class_info[((long)var_35&3)]:var_35->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_35); /* iterator on <var_35:Set[MClassType]>*/
-}
-var_37 = var36;
-for(;;) {
-{
-var38 = ((short int(*)(val* self))((((long)var_37&3)?class_info[((long)var_37&3)]:var_37->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_37); /* is_ok on <var_37:Iterator[MClassType]>*/
-}
-if (var38){
-{
-var39 = ((val*(*)(val* self))((((long)var_37&3)?class_info[((long)var_37&3)]:var_37->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_37); /* item on <var_37:Iterator[MClassType]>*/
-}
-var_t = var39;
-{
-{ /* Inline model#MClassType#mclass (var_t) on <var_t:MClassType> */
-var42 = var_t->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on <var_t:MClassType> */
-if (unlikely(var42 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1138);
-fatal_exit(1);
-}
-var40 = var42;
-RET_LABEL41:(void)0;
-}
-}
-var_c43 = var40;
-{
-var44 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_layouts, var_c43);
-}
-var_layout = var44;
-var45 = NEW_standard__Array(&type_standard__Array__nullable__nit__MType);
-{
-{ /* Inline array#AbstractArrayRead#length (var_layout) on <var_layout:Array[nullable MType]> */
-var48 = var_layout->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on <var_layout:Array[nullable MType]> */
-var46 = var48;
-RET_LABEL47:(void)0;
-}
-}
-{
-standard___standard__Array___with_capacity(var45, var46); /* Direct call array#Array#with_capacity on <var45:Array[nullable MType]>*/
-}
-var_table = var45;
-{
-{ /* Inline separate_compiler#SeparateCompiler#type_tables (self) on <self:SeparateCompiler> */
-var51 = self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___type_tables].val; /* _type_tables on <self:SeparateCompiler> */
-if (unlikely(var51 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _type_tables");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 1051);
-fatal_exit(1);
-}
-var49 = var51;
-RET_LABEL50:(void)0;
-}
-}
-{
-((void(*)(val* self, val* p0, val* p1))((((long)var49&3)?class_info[((long)var49&3)]:var49->class)->vft[COLOR_standard__abstract_collection__Map___91d_93d_61d]))(var49, var_t, var_table); /* []= on <var49:Map[MType, Array[nullable MType]]>*/
-}
-var_52 = var_layout;
-{
-var53 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_52);
-}
-var_54 = var53;
-for(;;) {
-{
-var55 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_54);
-}
-if (var55){
-{
-var56 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_54);
-}
-var_sup = var56;
-if (var_sup == NULL) {
-var57 = 1; /* is null */
-} else {
-var57 = 0; /* arg is null but recv is not */
-}
-if (0) {
-{ /* Inline kernel#Object#== (var_sup,((val*)NULL)) on <var_sup:nullable MType> */
-var_other = ((val*)NULL);
-{
-{ /* Inline kernel#Object#is_same_instance (var_sup,var_other) on <var_sup:nullable MType(MType)> */
-var62 = var_sup == var_other;
-var60 = var62;
-goto RET_LABEL61;
-RET_LABEL61:(void)0;
-}
-}
-var58 = var60;
-goto RET_LABEL59;
-RET_LABEL59:(void)0;
-}
-var57 = var58;
-}
-if (var57){
-{
-standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_table, ((val*)NULL)); /* Direct call array#Array#add on <var_table:Array[nullable MType]>*/
-}
-} else {
-{
-{ /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:SeparateCompiler> */
-var65 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on <self:SeparateCompiler> */
-if (unlikely(var65 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 515);
-fatal_exit(1);
-}
-var63 = var65;
-RET_LABEL64:(void)0;
-}
-}
-{
-var66 = nit___nit__MType___is_subtype(var_t, var63, ((val*)NULL), var_sup);
-}
-if (var66){
-{
-standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_table, var_sup); /* Direct call array#Array#add on <var_table:Array[nullable MType]>*/
-}
-} else {
-{
-standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_table, ((val*)NULL)); /* Direct call array#Array#add on <var_table:Array[nullable MType]>*/
-}
-}
-}
-{
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_54); /* Direct call array#ArrayIterator#next on <var_54:ArrayIterator[nullable MType]>*/
-}
-} else {
-goto BREAK_label67;
-}
-}
-BREAK_label67: (void)0;
-{
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_54); /* Direct call array#ArrayIterator#finish on <var_54:ArrayIterator[nullable MType]>*/
-}
-{
-((void(*)(val* self))((((long)var_37&3)?class_info[((long)var_37&3)]:var_37->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_37); /* next on <var_37:Iterator[MClassType]>*/
-}
-} else {
-goto BREAK_label68;
-}
-}
-BREAK_label68: (void)0;
-{
-((void(*)(val* self))((((long)var_37&3)?class_info[((long)var_37&3)]:var_37->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_37); /* finish on <var_37:Iterator[MClassType]>*/
-}
-RET_LABEL:;
-}
-/* method separate_compiler#SeparateCompiler#compute_resolution_tables for (self: SeparateCompiler, Set[MType]) */
-void nit___nit__SeparateCompiler___compute_resolution_tables(val* self, val* p0) {
-val* var_mtypes /* var mtypes: Set[MType] */;
-val* var /* : HashMap[MClass, Set[MType]] */;
-val* var_mtype2unresolved /* var mtype2unresolved: HashMap[MClass, Set[MType]] */;
-val* var1 /* : nullable RapidTypeAnalysis */;
-val* var3 /* : nullable RapidTypeAnalysis */;
-val* var4 /* : HashSet[MClassType] */;
-val* var6 /* : HashSet[MClassType] */;
-val* var_ /* var : HashSet[MClassType] */;
-val* var7 /* : Iterator[nullable Object] */;
-val* var_8 /* var : Iterator[MClassType] */;
-short int var9 /* : Bool */;
-val* var10 /* : nullable Object */;
-val* var_mtype /* var mtype: MClassType */;
-val* var11 /* : MClass */;
-val* var13 /* : MClass */;
-val* var_mclass /* var mclass: MClass */;
-val* var14 /* : nullable Object */;
-val* var_set /* var set: nullable Set[MType] */;
-short int var15 /* : Bool */;
-short int var16 /* : Bool */;
-val* var17 /* : HashSet[MType] */;
-val* var18 /* : MModule */;
-val* var20 /* : MModule */;
-val* var21 /* : Set[MClassDef] */;
-val* var_22 /* var : Set[MClassDef] */;
-val* var23 /* : Iterator[nullable Object] */;
-val* var_24 /* var : Iterator[MClassDef] */;
-short int var25 /* : Bool */;
-val* var26 /* : nullable Object */;
-val* var_cd /* var cd: MClassDef */;
-val* var27 /* : Map[MClassDef, Set[MType]] */;
-val* var29 /* : Map[MClassDef, Set[MType]] */;
-short int var30 /* : Bool */;
-val* var31 /* : Map[MClassDef, Set[MType]] */;
-val* var33 /* : Map[MClassDef, Set[MType]] */;
-val* var34 /* : nullable Object */;
-val* var36 /* : BucketsColorer[MClass, MType] */;
-val* var_colorer /* var colorer: BucketsColorer[MClass, MType] */;
-val* var38 /* : Map[Object, Int] */;
-val* var40 /* : nullable RapidTypeAnalysis */;
-val* var42 /* : nullable RapidTypeAnalysis */;
-val* var43 /* : HashSet[MClassType] */;
-val* var45 /* : HashSet[MClassType] */;
-val* var46 /* : Map[MClassType, Array[nullable MType]] */;
-val* var48 /* : HashSet[MType] */;
-val* var_all_unresolved /* var all_unresolved: HashSet[MType] */;
-val* var49 /* : Map[MClassDef, Set[MType]] */;
-val* var51 /* : Map[MClassDef, Set[MType]] */;
-val* var52 /* : Collection[nullable Object] */;
-val* var_53 /* var : RemovableCollection[Set[MType]] */;
-val* var54 /* : Iterator[nullable Object] */;
-val* var_55 /* var : Iterator[Set[MType]] */;
-short int var56 /* : Bool */;
-val* var57 /* : nullable Object */;
-val* var_t /* var t: Set[MType] */;
-val* var59 /* : HashMap[MType, Int] */;
-val* var_all_unresolved_types_colors /* var all_unresolved_types_colors: HashMap[MType, Int] */;
-val* var_60 /* var : HashSet[MType] */;
-val* var61 /* : Iterator[nullable Object] */;
-val* var_62 /* var : Iterator[MType] */;
-short int var63 /* : Bool */;
-val* var64 /* : nullable Object */;
-val* var_t65 /* var t: MType */;
-val* var66 /* : Map[MType, Int] */;
-val* var68 /* : Map[MType, Int] */;
-short int var69 /* : Bool */;
-val* var70 /* : Map[MType, Int] */;
-val* var72 /* : Map[MType, Int] */;
-val* var73 /* : nullable Object */;
-long var74 /* : Int */;
-long var76 /* : Int */;
-val* var77 /* : nullable Object */;
-var_mtypes = p0;
-var = NEW_standard__HashMap(&type_standard__HashMap__nit__MClass__standard__Set__nit__MType);
-{
-standard___standard__HashMap___standard__kernel__Object__init(var); /* Direct call hash_collection#HashMap#init on <var:HashMap[MClass, Set[MType]]>*/
-}
-var_mtype2unresolved = var;
-{
-{ /* Inline separate_compiler#SeparateCompiler#runtime_type_analysis (self) on <self:SeparateCompiler> */
-var3 = self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___runtime_type_analysis].val; /* _runtime_type_analysis on <self:SeparateCompiler> */
-var1 = var3;
-RET_LABEL2:(void)0;
-}
-}
-if (var1 == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 558);
-fatal_exit(1);
-} else {
-{ /* Inline rapid_type_analysis#RapidTypeAnalysis#live_types (var1) on <var1:nullable RapidTypeAnalysis> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__rapid_type_analysis, 60);
-fatal_exit(1);
-}
-var6 = var1->attrs[COLOR_nit__rapid_type_analysis__RapidTypeAnalysis___live_types].val; /* _live_types on <var1:nullable RapidTypeAnalysis> */
-if (unlikely(var6 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_types");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__rapid_type_analysis, 60);
-fatal_exit(1);
-}
-var4 = var6;
-RET_LABEL5:(void)0;
-}
-}
-var_ = var4;
-{
-var7 = standard___standard__HashSet___standard__abstract_collection__Collection__iterator(var_);
-}
-var_8 = var7;
-for(;;) {
-{
-var9 = ((short int(*)(val* self))((((long)var_8&3)?class_info[((long)var_8&3)]:var_8->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_8); /* is_ok on <var_8:Iterator[MClassType]>*/
-}
-if (var9){
-{
-var10 = ((val*(*)(val* self))((((long)var_8&3)?class_info[((long)var_8&3)]:var_8->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_8); /* item on <var_8:Iterator[MClassType]>*/
-}
-var_mtype = var10;
-{
-{ /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MClassType> */
-var13 = var_mtype->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on <var_mtype:MClassType> */
-if (unlikely(var13 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1138);
-fatal_exit(1);
-}
-var11 = var13;
-RET_LABEL12:(void)0;
-}
-}
-var_mclass = var11;
-{
-var14 = standard___standard__HashMap___standard__abstract_collection__MapRead__get_or_null(var_mtype2unresolved, var_mclass);
-}
-var_set = var14;
-if (var_set == NULL) {
-var15 = 1; /* is null */
-} else {
-var15 = 0; /* arg is null but recv is not */
-}
-if (0) {
-var16 = standard___standard__Set___standard__kernel__Object___61d_61d(var_set, ((val*)NULL));
-var15 = var16;
-}
-if (var15){
-var17 = NEW_standard__HashSet(&type_standard__HashSet__nit__MType);
-{
-standard___standard__HashSet___standard__kernel__Object__init(var17); /* Direct call hash_collection#HashSet#init on <var17:HashSet[MType]>*/
-}
-var_set = var17;
-{
-standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var_mtype2unresolved, var_mclass, var_set); /* Direct call hash_collection#HashMap#[]= on <var_mtype2unresolved:HashMap[MClass, Set[MType]]>*/
-}
-} else {
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:SeparateCompiler> */
-var20 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on <self:SeparateCompiler> */
-if (unlikely(var20 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 515);
-fatal_exit(1);
-}
-var18 = var20;
-RET_LABEL19:(void)0;
-}
-}
-{
-var21 = nit___nit__MClassType___MType__collect_mclassdefs(var_mtype, var18);
-}
-var_22 = var21;
-{
-var23 = ((val*(*)(val* self))((((long)var_22&3)?class_info[((long)var_22&3)]:var_22->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_22); /* iterator on <var_22:Set[MClassDef]>*/
-}
-var_24 = var23;
-for(;;) {
-{
-var25 = ((short int(*)(val* self))((((long)var_24&3)?class_info[((long)var_24&3)]:var_24->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_24); /* is_ok on <var_24:Iterator[MClassDef]>*/
-}
-if (var25){
-{
-var26 = ((val*(*)(val* self))((((long)var_24&3)?class_info[((long)var_24&3)]:var_24->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_24); /* item on <var_24:Iterator[MClassDef]>*/
-}
-var_cd = var26;
-{
-{ /* Inline separate_compiler#SeparateCompiler#live_unresolved_types (self) on <self:SeparateCompiler> */
-var29 = self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___live_unresolved_types].val; /* _live_unresolved_types on <self:SeparateCompiler> */
-if (unlikely(var29 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_unresolved_types");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 147);
-fatal_exit(1);
-}
-var27 = var29;
-RET_LABEL28:(void)0;
-}
-}
-{
-var30 = ((short int(*)(val* self, val* p0))((((long)var27&3)?class_info[((long)var27&3)]:var27->class)->vft[COLOR_standard__abstract_collection__MapRead__has_key]))(var27, var_cd); /* has_key on <var27:Map[MClassDef, Set[MType]]>*/
-}
-if (var30){
-{
-{ /* Inline separate_compiler#SeparateCompiler#live_unresolved_types (self) on <self:SeparateCompiler> */
-var33 = self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___live_unresolved_types].val; /* _live_unresolved_types on <self:SeparateCompiler> */
-if (unlikely(var33 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_unresolved_types");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 147);
-fatal_exit(1);
-}
-var31 = var33;
-RET_LABEL32:(void)0;
-}
-}
-{
-var34 = ((val*(*)(val* self, val* p0))((((long)var31&3)?class_info[((long)var31&3)]:var31->class)->vft[COLOR_standard__abstract_collection__MapRead___91d_93d]))(var31, var_cd); /* [] on <var31:Map[MClassDef, Set[MType]]>*/
-}
-{
-standard___standard__SimpleCollection___add_all(var_set, var34); /* Direct call abstract_collection#SimpleCollection#add_all on <var_set:nullable Set[MType](Set[MType])>*/
-}
-} else {
-}
-{
-((void(*)(val* self))((((long)var_24&3)?class_info[((long)var_24&3)]:var_24->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_24); /* next on <var_24:Iterator[MClassDef]>*/
-}
-} else {
-goto BREAK_label;
-}
-}
-BREAK_label: (void)0;
-{
-((void(*)(val* self))((((long)var_24&3)?class_info[((long)var_24&3)]:var_24->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_24); /* finish on <var_24:Iterator[MClassDef]>*/
-}
-{
-((void(*)(val* self))((((long)var_8&3)?class_info[((long)var_8&3)]:var_8->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_8); /* next on <var_8:Iterator[MClassType]>*/
-}
-} else {
-goto BREAK_label35;
-}
-}
-BREAK_label35: (void)0;
-{
-((void(*)(val* self))((((long)var_8&3)?class_info[((long)var_8&3)]:var_8->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_8); /* finish on <var_8:Iterator[MClassType]>*/
-}
-var36 = NEW_nit__BucketsColorer(&type_nit__BucketsColorer__nit__MClass__nit__MType);
-{
-{ /* Inline kernel#Object#init (var36) on <var36:BucketsColorer[MClass, MType]> */
-RET_LABEL37:(void)0;
-}
-}
-var_colorer = var36;
-{
-var38 = nit___nit__BucketsColorer___colorize(var_colorer, var_mtype2unresolved);
-}
-{
-{ /* Inline separate_compiler#SeparateCompiler#opentype_colors= (self,var38) on <self:SeparateCompiler> */
-self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___opentype_colors].val = var38; /* _opentype_colors on <self:SeparateCompiler> */
-RET_LABEL39:(void)0;
-}
-}
-{
-{ /* Inline separate_compiler#SeparateCompiler#runtime_type_analysis (self) on <self:SeparateCompiler> */
-var42 = self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___runtime_type_analysis].val; /* _runtime_type_analysis on <self:SeparateCompiler> */
-var40 = var42;
-RET_LABEL41:(void)0;
-}
-}
-if (var40 == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 576);
-fatal_exit(1);
-} else {
-{ /* Inline rapid_type_analysis#RapidTypeAnalysis#live_types (var40) on <var40:nullable RapidTypeAnalysis> */
-if (unlikely(var40 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__rapid_type_analysis, 60);
-fatal_exit(1);
-}
-var45 = var40->attrs[COLOR_nit__rapid_type_analysis__RapidTypeAnalysis___live_types].val; /* _live_types on <var40:nullable RapidTypeAnalysis> */
-if (unlikely(var45 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_types");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__rapid_type_analysis, 60);
-fatal_exit(1);
-}
-var43 = var45;
-RET_LABEL44:(void)0;
-}
-}
-{
-var46 = nit___nit__SeparateCompiler___build_resolution_tables(self, var43, var_mtype2unresolved);
-}
-{
-{ /* Inline separate_compiler#SeparateCompiler#resolution_tables= (self,var46) on <self:SeparateCompiler> */
-self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___resolution_tables].val = var46; /* _resolution_tables on <self:SeparateCompiler> */
-RET_LABEL47:(void)0;
-}
-}
-var48 = NEW_standard__HashSet(&type_standard__HashSet__nit__MType);
-{
-standard___standard__HashSet___standard__kernel__Object__init(var48); /* Direct call hash_collection#HashSet#init on <var48:HashSet[MType]>*/
-}
-var_all_unresolved = var48;
-{
-{ /* Inline separate_compiler#SeparateCompiler#live_unresolved_types (self) on <self:SeparateCompiler> */
-var51 = self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___live_unresolved_types].val; /* _live_unresolved_types on <self:SeparateCompiler> */
-if (unlikely(var51 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_unresolved_types");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 147);
-fatal_exit(1);
-}
-var49 = var51;
-RET_LABEL50:(void)0;
-}
-}
-{
-var52 = ((val*(*)(val* self))((((long)var49&3)?class_info[((long)var49&3)]:var49->class)->vft[COLOR_standard__abstract_collection__MapRead__values]))(var49); /* values on <var49:Map[MClassDef, Set[MType]]>*/
-}
-var_53 = var52;
-{
-var54 = ((val*(*)(val* self))((((long)var_53&3)?class_info[((long)var_53&3)]:var_53->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_53); /* iterator on <var_53:RemovableCollection[Set[MType]]>*/
-}
-var_55 = var54;
-for(;;) {
-{
-var56 = ((short int(*)(val* self))((((long)var_55&3)?class_info[((long)var_55&3)]:var_55->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_55); /* is_ok on <var_55:Iterator[Set[MType]]>*/
-}
-if (var56){
-{
-var57 = ((val*(*)(val* self))((((long)var_55&3)?class_info[((long)var_55&3)]:var_55->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_55); /* item on <var_55:Iterator[Set[MType]]>*/
-}
-var_t = var57;
-{
-standard___standard__SimpleCollection___add_all(var_all_unresolved, var_t); /* Direct call abstract_collection#SimpleCollection#add_all on <var_all_unresolved:HashSet[MType]>*/
-}
-{
-((void(*)(val* self))((((long)var_55&3)?class_info[((long)var_55&3)]:var_55->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_55); /* next on <var_55:Iterator[Set[MType]]>*/
-}
-} else {
-goto BREAK_label58;
-}
-}
-BREAK_label58: (void)0;
-{
-((void(*)(val* self))((((long)var_55&3)?class_info[((long)var_55&3)]:var_55->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_55); /* finish on <var_55:Iterator[Set[MType]]>*/
-}
-var59 = NEW_standard__HashMap(&type_standard__HashMap__nit__MType__standard__Int);
-{
-standard___standard__HashMap___standard__kernel__Object__init(var59); /* Direct call hash_collection#HashMap#init on <var59:HashMap[MType, Int]>*/
-}
-var_all_unresolved_types_colors = var59;
-var_60 = var_all_unresolved;
-{
-var61 = standard___standard__HashSet___standard__abstract_collection__Collection__iterator(var_60);
-}
-var_62 = var61;
-for(;;) {
-{
-var63 = ((short int(*)(val* self))((((long)var_62&3)?class_info[((long)var_62&3)]:var_62->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_62); /* is_ok on <var_62:Iterator[MType]>*/
-}
-if (var63){
-{
-var64 = ((val*(*)(val* self))((((long)var_62&3)?class_info[((long)var_62&3)]:var_62->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_62); /* item on <var_62:Iterator[MType]>*/
-}
-var_t65 = var64;
-{
-{ /* Inline separate_compiler#SeparateCompiler#opentype_colors (self) on <self:SeparateCompiler> */
-var68 = self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___opentype_colors].val; /* _opentype_colors on <self:SeparateCompiler> */
-if (unlikely(var68 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opentype_colors");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 151);
-fatal_exit(1);
-}
-var66 = var68;
-RET_LABEL67:(void)0;
-}
-}
-{
-var69 = ((short int(*)(val* self, val* p0))((((long)var66&3)?class_info[((long)var66&3)]:var66->class)->vft[COLOR_standard__abstract_collection__MapRead__has_key]))(var66, var_t65); /* has_key on <var66:Map[MType, Int]>*/
-}
-if (var69){
-{
-{ /* Inline separate_compiler#SeparateCompiler#opentype_colors (self) on <self:SeparateCompiler> */
-var72 = self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___opentype_colors].val; /* _opentype_colors on <self:SeparateCompiler> */
-if (unlikely(var72 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opentype_colors");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 151);
-fatal_exit(1);
-}
-var70 = var72;
-RET_LABEL71:(void)0;
-}
-}
-{
-var73 = ((val*(*)(val* self, val* p0))((((long)var70&3)?class_info[((long)var70&3)]:var70->class)->vft[COLOR_standard__abstract_collection__MapRead___91d_93d]))(var70, var_t65); /* [] on <var70:Map[MType, Int]>*/
-}
-{
-standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var_all_unresolved_types_colors, var_t65, var73); /* Direct call hash_collection#HashMap#[]= on <var_all_unresolved_types_colors:HashMap[MType, Int]>*/
-}
-} else {
-{
-{ /* Inline kernel#Int#unary - (1l) on <1l:Int> */
-var76 = -1l;
-var74 = var76;
-goto RET_LABEL75;
-RET_LABEL75:(void)0;
-}
-}
-{
-var77 = (val*)(var74<<2|1);
-standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var_all_unresolved_types_colors, var_t65, var77); /* Direct call hash_collection#HashMap#[]= on <var_all_unresolved_types_colors:HashMap[MType, Int]>*/
-}
-}
-{
-((void(*)(val* self))((((long)var_62&3)?class_info[((long)var_62&3)]:var_62->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_62); /* next on <var_62:Iterator[MType]>*/
-}
-} else {
-goto BREAK_label78;
-}
-}
-BREAK_label78: (void)0;
-{
-((void(*)(val* self))((((long)var_62&3)?class_info[((long)var_62&3)]:var_62->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_62); /* finish on <var_62:Iterator[MType]>*/
-}
-{
-nit___nit__SeparateCompiler___compile_color_consts(self, var_all_unresolved_types_colors); /* Direct call separate_compiler#SeparateCompiler#compile_color_consts on <self:SeparateCompiler>*/
-}
-RET_LABEL:;
-}
-/* method separate_compiler#SeparateCompiler#build_resolution_tables for (self: SeparateCompiler, Set[MClassType], Map[MClass, Set[MType]]): Map[MClassType, Array[nullable MType]] */
-val* nit___nit__SeparateCompiler___build_resolution_tables(val* self, val* p0, val* p1) {
-val* var /* : Map[MClassType, Array[nullable MType]] */;
-val* var_elements /* var elements: Set[MClassType] */;
-val* var_map /* var map: Map[MClass, Set[MType]] */;
-val* var1 /* : HashMap[MClassType, Array[nullable MType]] */;
-val* var_tables /* var tables: HashMap[MClassType, Array[nullable MType]] */;
-val* var_ /* var : Set[MClassType] */;
-val* var2 /* : Iterator[nullable Object] */;
-val* var_3 /* var : Iterator[MClassType] */;
-short int var4 /* : Bool */;
-val* var5 /* : nullable Object */;
-val* var_mclasstype /* var mclasstype: MClassType */;
-val* var6 /* : MClass */;
-val* var8 /* : MClass */;
-val* var9 /* : nullable Object */;
-val* var_mtypes /* var mtypes: Set[MType] */;
-val* var10 /* : Array[nullable MType] */;
-val* var_table /* var table: Array[nullable MType] */;
-val* var_11 /* var : Set[MType] */;
-val* var12 /* : Iterator[nullable Object] */;
-val* var_13 /* var : Iterator[MType] */;
-short int var14 /* : Bool */;
-val* var15 /* : nullable Object */;
-val* var_mtype /* var mtype: MType */;
-val* var16 /* : Map[MType, Int] */;
-val* var18 /* : Map[MType, Int] */;
-val* var19 /* : nullable Object */;
-long var20 /* : Int */;
-long var_color /* var color: Int */;
-long var21 /* : Int */;
-long var23 /* : Int */;
-short int var24 /* : Bool */;
-short int var26 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-short int var27 /* : Bool */;
-long var28 /* : Int */;
-long var30 /* : Int */;
-long var_i /* var i: Int */;
-long var_31 /* var : Int */;
-short int var32 /* : Bool */;
-short int var34 /* : Bool */;
-int cltype35;
-int idtype36;
-const char* var_class_name37;
-short int var38 /* : Bool */;
-long var39 /* : Int */;
-var_elements = p0;
-var_map = p1;
-var1 = NEW_standard__HashMap(&type_standard__HashMap__nit__MClassType__standard__Array__nullable__nit__MType);
-{
-standard___standard__HashMap___standard__kernel__Object__init(var1); /* Direct call hash_collection#HashMap#init on <var1:HashMap[MClassType, Array[nullable MType]]>*/
-}
-var_tables = var1;
-var_ = var_elements;
-{
-var2 = ((val*(*)(val* self))((((long)var_&3)?class_info[((long)var_&3)]:var_->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_); /* iterator on <var_:Set[MClassType]>*/
-}
-var_3 = var2;
-for(;;) {
-{
-var4 = ((short int(*)(val* self))((((long)var_3&3)?class_info[((long)var_3&3)]:var_3->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_3); /* is_ok on <var_3:Iterator[MClassType]>*/
-}
-if (var4){
-{
-var5 = ((val*(*)(val* self))((((long)var_3&3)?class_info[((long)var_3&3)]:var_3->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_3); /* item on <var_3:Iterator[MClassType]>*/
-}
-var_mclasstype = var5;
-{
-{ /* Inline model#MClassType#mclass (var_mclasstype) on <var_mclasstype:MClassType> */
-var8 = var_mclasstype->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on <var_mclasstype:MClassType> */
-if (unlikely(var8 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1138);
-fatal_exit(1);
-}
-var6 = var8;
-RET_LABEL7:(void)0;
-}
-}
-{
-var9 = ((val*(*)(val* self, val* p0))((((long)var_map&3)?class_info[((long)var_map&3)]:var_map->class)->vft[COLOR_standard__abstract_collection__MapRead___91d_93d]))(var_map, var6); /* [] on <var_map:Map[MClass, Set[MType]]>*/
-}
-var_mtypes = var9;
-var10 = NEW_standard__Array(&type_standard__Array__nullable__nit__MType);
-{
-standard___standard__Array___standard__kernel__Object__init(var10); /* Direct call array#Array#init on <var10:Array[nullable MType]>*/
-}
-var_table = var10;
-var_11 = var_mtypes;
-{
-var12 = ((val*(*)(val* self))((((long)var_11&3)?class_info[((long)var_11&3)]:var_11->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_11); /* iterator on <var_11:Set[MType]>*/
-}
-var_13 = var12;
-for(;;) {
-{
-var14 = ((short int(*)(val* self))((((long)var_13&3)?class_info[((long)var_13&3)]:var_13->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_13); /* is_ok on <var_13:Iterator[MType]>*/
-}
-if (var14){
-{
-var15 = ((val*(*)(val* self))((((long)var_13&3)?class_info[((long)var_13&3)]:var_13->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_13); /* item on <var_13:Iterator[MType]>*/
-}
-var_mtype = var15;
-{
-{ /* Inline separate_compiler#SeparateCompiler#opentype_colors (self) on <self:SeparateCompiler> */
-var18 = self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___opentype_colors].val; /* _opentype_colors on <self:SeparateCompiler> */
-if (unlikely(var18 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opentype_colors");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 151);
-fatal_exit(1);
-}
-var16 = var18;
-RET_LABEL17:(void)0;
-}
-}
-{
-var19 = ((val*(*)(val* self, val* p0))((((long)var16&3)?class_info[((long)var16&3)]:var16->class)->vft[COLOR_standard__abstract_collection__MapRead___91d_93d]))(var16, var_mtype); /* [] on <var16:Map[MType, Int]>*/
-}
-var20 = (long)(var19)>>2;
-var_color = var20;
-{
-{ /* Inline array#AbstractArrayRead#length (var_table) on <var_table:Array[nullable MType]> */
-var23 = var_table->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on <var_table:Array[nullable MType]> */
-var21 = var23;
-RET_LABEL22:(void)0;
-}
-}
-{
-{ /* Inline kernel#Int#<= (var21,var_color) on <var21:Int> */
-/* Covariant cast for argument 0 (i) <var_color:Int> isa OTHER */
-/* <var_color:Int> isa OTHER */
-var26 = 1; /* easy <var_color:Int> isa OTHER*/
-if (unlikely(!var26)) {
-var_class_name = type_standard__Int.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 533);
-fatal_exit(1);
-}
-var27 = var21 <= var_color;
-var24 = var27;
-goto RET_LABEL25;
-RET_LABEL25:(void)0;
-}
-}
-if (var24){
-{
-{ /* Inline array#AbstractArrayRead#length (var_table) on <var_table:Array[nullable MType]> */
-var30 = var_table->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on <var_table:Array[nullable MType]> */
-var28 = var30;
-RET_LABEL29:(void)0;
-}
-}
-var_i = var28;
-var_31 = var_color;
-for(;;) {
-{
-{ /* Inline kernel#Int#< (var_i,var_31) on <var_i:Int> */
-/* Covariant cast for argument 0 (i) <var_31:Int> isa OTHER */
-/* <var_31:Int> isa OTHER */
-var34 = 1; /* easy <var_31:Int> isa OTHER*/
-if (unlikely(!var34)) {
-var_class_name37 = type_standard__Int.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name37);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534);
-fatal_exit(1);
-}
-var38 = var_i < var_31;
-var32 = var38;
-goto RET_LABEL33;
-RET_LABEL33:(void)0;
-}
-}
-if (var32){
-{
-standard___standard__Array___standard__abstract_collection__Sequence___91d_93d_61d(var_table, var_i, ((val*)NULL)); /* Direct call array#Array#[]= on <var_table:Array[nullable MType]>*/
-}
-{
-var39 = standard___standard__Int___Discrete__successor(var_i, 1l);
-}
-var_i = var39;
-} else {
-goto BREAK_label;
-}
-}
-BREAK_label: (void)0;
-} else {
-}
-{
-standard___standard__Array___standard__abstract_collection__Sequence___91d_93d_61d(var_table, var_color, var_mtype); /* Direct call array#Array#[]= on <var_table:Array[nullable MType]>*/
-}
-{
-((void(*)(val* self))((((long)var_13&3)?class_info[((long)var_13&3)]:var_13->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_13); /* next on <var_13:Iterator[MType]>*/
-}
-} else {
-goto BREAK_label40;
-}
-}
-BREAK_label40: (void)0;
-{
-((void(*)(val* self))((((long)var_13&3)?class_info[((long)var_13&3)]:var_13->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_13); /* finish on <var_13:Iterator[MType]>*/
-}
-{
-standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var_tables, var_mclasstype, var_table); /* Direct call hash_collection#HashMap#[]= on <var_tables:HashMap[MClassType, Array[nullable MType]]>*/
-}
-{
-((void(*)(val* self))((((long)var_3&3)?class_info[((long)var_3&3)]:var_3->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_3); /* next on <var_3:Iterator[MClassType]>*/
-}
-} else {
-goto BREAK_label41;
-}
-}
-BREAK_label41: (void)0;
-{
-((void(*)(val* self))((((long)var_3&3)?class_info[((long)var_3&3)]:var_3->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_3); /* finish on <var_3:Iterator[MClassType]>*/
-}
-var = var_tables;
-goto RET_LABEL;
-RET_LABEL:;
-return var;
-}
-/* method separate_compiler#SeparateCompiler#compile_module_to_c for (self: SeparateCompiler, MModule) */
-void nit___nit__SeparateCompiler___compile_module_to_c(val* self, val* p0) {
-val* var_mmodule /* var mmodule: MModule */;
-val* var /* : MModule */;
-val* var2 /* : MModule */;
-val* var_old_module /* var old_module: MModule */;
-val* var4 /* : Array[MClassDef] */;
-val* var6 /* : Array[MClassDef] */;
-val* var_ /* var : Array[MClassDef] */;
-val* var7 /* : ArrayIterator[nullable Object] */;
-val* var_8 /* var : ArrayIterator[MClassDef] */;
-short int var9 /* : Bool */;
-val* var10 /* : nullable Object */;
-val* var_cd /* var cd: MClassDef */;
-val* var11 /* : Array[MPropDef] */;
-val* var13 /* : Array[MPropDef] */;
-val* var_14 /* var : Array[MPropDef] */;
-val* var15 /* : ArrayIterator[nullable Object] */;
-val* var_16 /* var : ArrayIterator[MPropDef] */;
-short int var17 /* : Bool */;
-val* var18 /* : nullable Object */;
-val* var_pd /* var pd: MPropDef */;
-short int var19 /* : Bool */;
-int cltype;
-int idtype;
-short int var20 /* : Bool */;
-val* var21 /* : nullable MSignature */;
-val* var23 /* : nullable MSignature */;
-short int var24 /* : Bool */;
-short int var25 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var27 /* : Bool */;
-short int var29 /* : Bool */;
-val* var30 /* : nullable RapidTypeAnalysis */;
-val* var32 /* : nullable RapidTypeAnalysis */;
-val* var_rta /* var rta: nullable RapidTypeAnalysis */;
-short int var33 /* : Bool */;
-short int var34 /* : Bool */;
-val* var35 /* : ModelBuilder */;
-val* var37 /* : ModelBuilder */;
-val* var38 /* : ToolContext */;
-val* var40 /* : ToolContext */;
-val* var41 /* : OptionBool */;
-val* var43 /* : OptionBool */;
-val* var44 /* : nullable Object */;
-val* var46 /* : nullable Object */;
-short int var47 /* : Bool */;
-short int var_48 /* var : Bool */;
-short int var49 /* : Bool */;
-short int var50 /* : Bool */;
-val* var_other52 /* var other: nullable Object */;
-short int var53 /* : Bool */;
-short int var54 /* : Bool */;
-short int var_55 /* var : Bool */;
-val* var56 /* : HashSet[MMethodDef] */;
-val* var58 /* : HashSet[MMethodDef] */;
-short int var59 /* : Bool */;
-short int var60 /* : Bool */;
-val* var61 /* : SeparateRuntimeFunction */;
-val* var_r /* var r: SeparateRuntimeFunction */;
-val* var62 /* : SeparateRuntimeFunction */;
-val* var_r2 /* var r2: SeparateRuntimeFunction */;
-short int var63 /* : Bool */;
-short int var65 /* : Bool */;
-short int var66 /* : Bool */;
-val* var67 /* : ModelBuilder */;
-val* var69 /* : ModelBuilder */;
-val* var70 /* : ToolContext */;
-val* var72 /* : ToolContext */;
-val* var73 /* : OptionBool */;
-val* var75 /* : OptionBool */;
-val* var76 /* : nullable Object */;
-val* var78 /* : nullable Object */;
-short int var79 /* : Bool */;
-var_mmodule = p0;
-{
-{ /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:SeparateCompiler> */
-var2 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on <self:SeparateCompiler> */
-if (unlikely(var2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 515);
-fatal_exit(1);
-}
-var = var2;
-RET_LABEL1:(void)0;
-}
-}
-var_old_module = var;
-{
-{ /* Inline abstract_compiler#AbstractCompiler#mainmodule= (self,var_mmodule) on <self:SeparateCompiler> */
-self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule].val = var_mmodule; /* _mainmodule on <self:SeparateCompiler> */
-RET_LABEL3:(void)0;
-}
-}
-{
-{ /* Inline model#MModule#mclassdefs (var_mmodule) on <var_mmodule:MModule> */
-var6 = var_mmodule->attrs[COLOR_nit__model__MModule___mclassdefs].val; /* _mclassdefs on <var_mmodule:MModule> */
-if (unlikely(var6 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdefs");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 131);
-fatal_exit(1);
-}
-var4 = var6;
-RET_LABEL5:(void)0;
-}
-}
-var_ = var4;
-{
-var7 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_);
-}
-var_8 = var7;
-for(;;) {
-{
-var9 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_8);
-}
-if (var9){
-{
-var10 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_8);
-}
-var_cd = var10;
-{
-{ /* Inline model#MClassDef#mpropdefs (var_cd) on <var_cd:MClassDef> */
-var13 = var_cd->attrs[COLOR_nit__model__MClassDef___mpropdefs].val; /* _mpropdefs on <var_cd:MClassDef> */
-if (unlikely(var13 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdefs");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 684);
-fatal_exit(1);
-}
-var11 = var13;
-RET_LABEL12:(void)0;
-}
-}
-var_14 = var11;
-{
-var15 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_14);
-}
-var_16 = var15;
-for(;;) {
-{
-var17 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_16);
-}
-if (var17){
-{
-var18 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_16);
-}
-var_pd = var18;
-/* <var_pd:MPropDef> isa MMethodDef */
-cltype = type_nit__MMethodDef.color;
-idtype = type_nit__MMethodDef.id;
-if(cltype >= var_pd->type->table_size) {
-var19 = 0;
-} else {
-var19 = var_pd->type->type_table[cltype] == idtype;
-}
-var20 = !var19;
-if (var20){
-goto BREAK_label;
-} else {
-}
-{
-{ /* Inline model#MMethodDef#msignature (var_pd) on <var_pd:MPropDef(MMethodDef)> */
-var23 = var_pd->attrs[COLOR_nit__model__MMethodDef___msignature].val; /* _msignature on <var_pd:MPropDef(MMethodDef)> */
-var21 = var23;
-RET_LABEL22:(void)0;
-}
-}
-if (var21 == NULL) {
-var24 = 1; /* is null */
-} else {
-var24 = 0; /* arg is null but recv is not */
-}
-if (0) {
-{ /* Inline kernel#Object#== (var21,((val*)NULL)) on <var21:nullable MSignature> */
-var_other = ((val*)NULL);
-{
-{ /* Inline kernel#Object#is_same_instance (var21,var_other) on <var21:nullable MSignature(MSignature)> */
-var29 = var21 == var_other;
-var27 = var29;
-goto RET_LABEL28;
-RET_LABEL28:(void)0;
-}
-}
-var25 = var27;
-goto RET_LABEL26;
-RET_LABEL26:(void)0;
-}
-var24 = var25;
-}
-if (var24){
-goto BREAK_label;
-} else {
-}
-{
-{ /* Inline separate_compiler#SeparateCompiler#runtime_type_analysis (self) on <self:SeparateCompiler> */
-var32 = self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___runtime_type_analysis].val; /* _runtime_type_analysis on <self:SeparateCompiler> */
-var30 = var32;
-RET_LABEL31:(void)0;
-}
-}
-var_rta = var30;
-{
-{ /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
-var37 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on <self:SeparateCompiler> */
-if (unlikely(var37 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 522);
-fatal_exit(1);
-}
-var35 = var37;
-RET_LABEL36:(void)0;
-}
-}
-{
-{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (var35) on <var35:ModelBuilder> */
-var40 = var35->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on <var35:ModelBuilder> */
-if (unlikely(var40 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47);
-fatal_exit(1);
-}
-var38 = var40;
-RET_LABEL39:(void)0;
-}
-}
-{
-{ /* Inline separate_compiler#ToolContext#opt_skip_dead_methods (var38) on <var38:ToolContext> */
-var43 = var38->attrs[COLOR_nit__separate_compiler__ToolContext___opt_skip_dead_methods].val; /* _opt_skip_dead_methods on <var38:ToolContext> */
-if (unlikely(var43 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_skip_dead_methods");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 54);
-fatal_exit(1);
-}
-var41 = var43;
-RET_LABEL42:(void)0;
-}
-}
-{
-{ /* Inline opts#Option#value (var41) on <var41:OptionBool> */
-var46 = var41->attrs[COLOR_opts__Option___value].val; /* _value on <var41:OptionBool> */
-var44 = var46;
-RET_LABEL45:(void)0;
-}
-}
-var47 = (short int)((long)(var44)>>2);
-var_48 = var47;
-if (var47){
-if (var_rta == NULL) {
-var49 = 0; /* is null */
-} else {
-var49 = 1; /* arg is null and recv is not */
-}
-if (0) {
-{ /* Inline kernel#Object#!= (var_rta,((val*)NULL)) on <var_rta:nullable RapidTypeAnalysis> */
-var_other52 = ((val*)NULL);
-{
-var53 = ((short int(*)(val* self, val* p0))(var_rta->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_rta, var_other52); /* == on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)>*/
-}
-var54 = !var53;
-var50 = var54;
-goto RET_LABEL51;
-RET_LABEL51:(void)0;
-}
-var49 = var50;
-}
-var34 = var49;
-} else {
-var34 = var_48;
-}
-var_55 = var34;
-if (var34){
-{
-{ /* Inline rapid_type_analysis#RapidTypeAnalysis#live_methoddefs (var_rta) on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
-var58 = var_rta->attrs[COLOR_nit__rapid_type_analysis__RapidTypeAnalysis___live_methoddefs].val; /* _live_methoddefs on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
-if (unlikely(var58 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_methoddefs");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__rapid_type_analysis, 79);
-fatal_exit(1);
-}
-var56 = var58;
-RET_LABEL57:(void)0;
-}
-}
-{
-var59 = standard___standard__HashSet___standard__abstract_collection__Collection__has(var56, var_pd);
-}
-var60 = !var59;
-var33 = var60;
-} else {
-var33 = var_55;
-}
-if (var33){
-goto BREAK_label;
-} else {
-}
-{
-var61 = nit__separate_compiler___MMethodDef___separate_runtime_function(var_pd);
-}
-var_r = var61;
-{
-nit___nit__SeparateRuntimeFunction___nit__abstract_compiler__AbstractRuntimeFunction__compile_to_c(var_r, self); /* Direct call separate_compiler#SeparateRuntimeFunction#compile_to_c on <var_r:SeparateRuntimeFunction>*/
-}
-{
-var62 = nit__separate_compiler___MMethodDef___virtual_runtime_function(var_pd);
-}
-var_r2 = var62;
-{
-{ /* Inline kernel#Object#!= (var_r2,var_r) on <var_r2:SeparateRuntimeFunction> */
-var_other52 = var_r;
-{
-var65 = ((short int(*)(val* self, val* p0))(var_r2->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_r2, var_other52); /* == on <var_r2:SeparateRuntimeFunction>*/
-}
-var66 = !var65;
-var63 = var66;
-goto RET_LABEL64;
-RET_LABEL64:(void)0;
-}
-}
-if (var63){
-{
-nit___nit__SeparateRuntimeFunction___nit__abstract_compiler__AbstractRuntimeFunction__compile_to_c(var_r2, self); /* Direct call separate_compiler#SeparateRuntimeFunction#compile_to_c on <var_r2:SeparateRuntimeFunction>*/
-}
-} else {
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
-var69 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on <self:SeparateCompiler> */
-if (unlikely(var69 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 522);
-fatal_exit(1);
-}
-var67 = var69;
-RET_LABEL68:(void)0;
-}
-}
-{
-{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (var67) on <var67:ModelBuilder> */
-var72 = var67->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on <var67:ModelBuilder> */
-if (unlikely(var72 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47);
-fatal_exit(1);
-}
-var70 = var72;
-RET_LABEL71:(void)0;
-}
-}
-{
-{ /* Inline separate_compiler#ToolContext#opt_trampoline_call (var70) on <var70:ToolContext> */
-var75 = var70->attrs[COLOR_nit__separate_compiler__ToolContext___opt_trampoline_call].val; /* _opt_trampoline_call on <var70:ToolContext> */
-if (unlikely(var75 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_trampoline_call");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 37);
-fatal_exit(1);
-}
-var73 = var75;
-RET_LABEL74:(void)0;
-}
-}
-{
-{ /* Inline opts#Option#value (var73) on <var73:OptionBool> */
-var78 = var73->attrs[COLOR_opts__Option___value].val; /* _value on <var73:OptionBool> */
-var76 = var78;
-RET_LABEL77:(void)0;
-}
-}
-var79 = (short int)((long)(var76)>>2);
-if (var79){
-{
-nit___nit__SeparateRuntimeFunction___compile_trampolines(var_r2, self); /* Direct call separate_compiler#SeparateRuntimeFunction#compile_trampolines on <var_r2:SeparateRuntimeFunction>*/
-}
-} else {
-}
-BREAK_label: (void)0;
-{
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_16); /* Direct call array#ArrayIterator#next on <var_16:ArrayIterator[MPropDef]>*/
-}
-} else {
-goto BREAK_label80;
-}
-}
-BREAK_label80: (void)0;
-{
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_16); /* Direct call array#ArrayIterator#finish on <var_16:ArrayIterator[MPropDef]>*/
-}
-{
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_8); /* Direct call array#ArrayIterator#next on <var_8:ArrayIterator[MClassDef]>*/
-}
-} else {
-goto BREAK_label81;
-}
-}
-BREAK_label81: (void)0;
-{
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_8); /* Direct call array#ArrayIterator#finish on <var_8:ArrayIterator[MClassDef]>*/
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#mainmodule= (self,var_old_module) on <self:SeparateCompiler> */
-self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule].val = var_old_module; /* _mainmodule on <self:SeparateCompiler> */
-RET_LABEL82:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method separate_compiler#SeparateCompiler#link_mmethods for (self: SeparateCompiler) */
-void nit___nit__SeparateCompiler___link_mmethods(val* self) {
-short int var /* : Bool */;
-val* var1 /* : ModelBuilder */;
-val* var3 /* : ModelBuilder */;
-val* var4 /* : ToolContext */;
-val* var6 /* : ToolContext */;
-val* var7 /* : OptionBool */;
-val* var9 /* : OptionBool */;
-val* var10 /* : nullable Object */;
-val* var12 /* : nullable Object */;
-short int var13 /* : Bool */;
-short int var14 /* : Bool */;
-short int var_ /* var : Bool */;
-val* var15 /* : ModelBuilder */;
-val* var17 /* : ModelBuilder */;
-val* var18 /* : ToolContext */;
-val* var20 /* : ToolContext */;
-val* var21 /* : OptionBool */;
-val* var23 /* : OptionBool */;
-val* var24 /* : nullable Object */;
-val* var26 /* : nullable Object */;
-short int var27 /* : Bool */;
-short int var28 /* : Bool */;
-val* var29 /* : MModule */;
-val* var31 /* : MModule */;
-val* var32 /* : POSetElement[MModule] */;
-val* var34 /* : POSetElement[MModule] */;
-val* var35 /* : Collection[nullable Object] */;
-val* var_36 /* var : Collection[MModule] */;
-val* var37 /* : Iterator[nullable Object] */;
-val* var_38 /* var : Iterator[MModule] */;
-short int var39 /* : Bool */;
-val* var40 /* : nullable Object */;
-val* var_mmodule /* var mmodule: MModule */;
-val* var41 /* : Array[MClassDef] */;
-val* var43 /* : Array[MClassDef] */;
-val* var_44 /* var : Array[MClassDef] */;
-val* var45 /* : ArrayIterator[nullable Object] */;
-val* var_46 /* var : ArrayIterator[MClassDef] */;
-short int var47 /* : Bool */;
-val* var48 /* : nullable Object */;
-val* var_cd /* var cd: MClassDef */;
-val* var49 /* : Array[MProperty] */;
-val* var51 /* : Array[MProperty] */;
-val* var_52 /* var : Array[MProperty] */;
-val* var53 /* : ArrayIterator[nullable Object] */;
-val* var_54 /* var : ArrayIterator[MProperty] */;
-short int var55 /* : Bool */;
-val* var56 /* : nullable Object */;
-val* var_m /* var m: MProperty */;
-short int var57 /* : Bool */;
-int cltype;
-int idtype;
-short int var58 /* : Bool */;
-{
-{ /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
-var3 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on <self:SeparateCompiler> */
-if (unlikely(var3 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 522);
-fatal_exit(1);
-}
-var1 = var3;
-RET_LABEL2:(void)0;
-}
-}
-{
-{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (var1) on <var1:ModelBuilder> */
-var6 = var1->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on <var1:ModelBuilder> */
-if (unlikely(var6 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47);
-fatal_exit(1);
-}
-var4 = var6;
-RET_LABEL5:(void)0;
-}
-}
-{
-{ /* Inline separate_compiler#ToolContext#opt_substitute_monomorph (var4) on <var4:ToolContext> */
-var9 = var4->attrs[COLOR_nit__separate_compiler__ToolContext___opt_substitute_monomorph].val; /* _opt_substitute_monomorph on <var4:ToolContext> */
-if (unlikely(var9 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_substitute_monomorph");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 41);
-fatal_exit(1);
-}
-var7 = var9;
-RET_LABEL8:(void)0;
-}
-}
-{
-{ /* Inline opts#Option#value (var7) on <var7:OptionBool> */
-var12 = var7->attrs[COLOR_opts__Option___value].val; /* _value on <var7:OptionBool> */
-var10 = var12;
-RET_LABEL11:(void)0;
-}
-}
-var13 = (short int)((long)(var10)>>2);
-var14 = !var13;
-var_ = var14;
-if (var14){
-{
-{ /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
-var17 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on <self:SeparateCompiler> */
-if (unlikely(var17 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 522);
-fatal_exit(1);
-}
-var15 = var17;
-RET_LABEL16:(void)0;
-}
-}
-{
-{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (var15) on <var15:ModelBuilder> */
-var20 = var15->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on <var15:ModelBuilder> */
-if (unlikely(var20 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47);
-fatal_exit(1);
-}
-var18 = var20;
-RET_LABEL19:(void)0;
-}
-}
-{
-{ /* Inline separate_compiler#ToolContext#opt_guard_call (var18) on <var18:ToolContext> */
-var23 = var18->attrs[COLOR_nit__separate_compiler__ToolContext___opt_guard_call].val; /* _opt_guard_call on <var18:ToolContext> */
-if (unlikely(var23 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_guard_call");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 39);
-fatal_exit(1);
-}
-var21 = var23;
-RET_LABEL22:(void)0;
-}
-}
-{
-{ /* Inline opts#Option#value (var21) on <var21:OptionBool> */
-var26 = var21->attrs[COLOR_opts__Option___value].val; /* _value on <var21:OptionBool> */
-var24 = var26;
-RET_LABEL25:(void)0;
-}
-}
-var27 = (short int)((long)(var24)>>2);
-var28 = !var27;
-var = var28;
-} else {
-var = var_;
-}
-if (var){
-goto RET_LABEL;
-} else {
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:SeparateCompiler> */
-var31 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on <self:SeparateCompiler> */
-if (unlikely(var31 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 515);
-fatal_exit(1);
-}
-var29 = var31;
-RET_LABEL30:(void)0;
-}
-}
-{
-{ /* Inline mmodule#MModule#in_importation (var29) on <var29:MModule> */
-var34 = var29->attrs[COLOR_nit__mmodule__MModule___in_importation].val; /* _in_importation on <var29:MModule> */
-if (unlikely(var34 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 96);
-fatal_exit(1);
-}
-var32 = var34;
-RET_LABEL33:(void)0;
-}
-}
-{
-var35 = poset___poset__POSetElement___greaters(var32);
-}
-var_36 = var35;
-{
-var37 = ((val*(*)(val* self))((((long)var_36&3)?class_info[((long)var_36&3)]:var_36->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_36); /* iterator on <var_36:Collection[MModule]>*/
-}
-var_38 = var37;
-for(;;) {
-{
-var39 = ((short int(*)(val* self))((((long)var_38&3)?class_info[((long)var_38&3)]:var_38->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_38); /* is_ok on <var_38:Iterator[MModule]>*/
-}
-if (var39){
-{
-var40 = ((val*(*)(val* self))((((long)var_38&3)?class_info[((long)var_38&3)]:var_38->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_38); /* item on <var_38:Iterator[MModule]>*/
-}
-var_mmodule = var40;
-{
-{ /* Inline model#MModule#mclassdefs (var_mmodule) on <var_mmodule:MModule> */
-var43 = var_mmodule->attrs[COLOR_nit__model__MModule___mclassdefs].val; /* _mclassdefs on <var_mmodule:MModule> */
-if (unlikely(var43 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdefs");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 131);
-fatal_exit(1);
-}
-var41 = var43;
-RET_LABEL42:(void)0;
-}
-}
-var_44 = var41;
-{
-var45 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_44);
-}
-var_46 = var45;
-for(;;) {
-{
-var47 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_46);
-}
-if (var47){
-{
-var48 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_46);
-}
-var_cd = var48;
-{
-{ /* Inline model#MClassDef#intro_mproperties (var_cd) on <var_cd:MClassDef> */
-var51 = var_cd->attrs[COLOR_nit__model__MClassDef___intro_mproperties].val; /* _intro_mproperties on <var_cd:MClassDef> */
-if (unlikely(var51 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mproperties");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 681);
-fatal_exit(1);
-}
-var49 = var51;
-RET_LABEL50:(void)0;
-}
-}
-var_52 = var49;
-{
-var53 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_52);
-}
-var_54 = var53;
-for(;;) {
-{
-var55 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_54);
-}
-if (var55){
-{
-var56 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_54);
-}
-var_m = var56;
-/* <var_m:MProperty> isa MMethod */
-cltype = type_nit__MMethod.color;
-idtype = type_nit__MMethod.id;
-if(cltype >= var_m->type->table_size) {
-var57 = 0;
-} else {
-var57 = var_m->type->type_table[cltype] == idtype;
-}
-var58 = !var57;
-if (var58){
-goto BREAK_label;
-} else {
-}
-{
-nit___nit__SeparateCompiler___link_mmethod(self, var_m); /* Direct call separate_compiler#SeparateCompiler#link_mmethod on <self:SeparateCompiler>*/
-}
-BREAK_label: (void)0;
-{
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_54); /* Direct call array#ArrayIterator#next on <var_54:ArrayIterator[MProperty]>*/
-}
-} else {
-goto BREAK_label59;
-}
-}
-BREAK_label59: (void)0;
-{
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_54); /* Direct call array#ArrayIterator#finish on <var_54:ArrayIterator[MProperty]>*/
-}
-{
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_46); /* Direct call array#ArrayIterator#next on <var_46:ArrayIterator[MClassDef]>*/
-}
-} else {
-goto BREAK_label60;
-}
-}
-BREAK_label60: (void)0;
-{
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_46); /* Direct call array#ArrayIterator#finish on <var_46:ArrayIterator[MClassDef]>*/
-}
-{
-((void(*)(val* self))((((long)var_38&3)?class_info[((long)var_38&3)]:var_38->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_38); /* next on <var_38:Iterator[MModule]>*/
-}
-} else {
-goto BREAK_label61;
-}
-}
-BREAK_label61: (void)0;
-{
-((void(*)(val* self))((((long)var_38&3)?class_info[((long)var_38&3)]:var_38->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_38); /* finish on <var_38:Iterator[MModule]>*/
-}
-RET_LABEL:;
-}
-/* method separate_compiler#SeparateCompiler#link_mmethod for (self: SeparateCompiler, MMethod) */
-void nit___nit__SeparateCompiler___link_mmethod(val* self, val* p0) {
-val* var_m /* var m: MMethod */;
-static val* varonce;
-val* var /* : String */;
-char* var1 /* : NativeString */;
-val* var2 /* : FlatString */;
-val* var3 /* : String */;
-val* var4 /* : String */;
-val* var_n2 /* var n2: String */;
-val* var5 /* : nullable MMethodDef */;
-val* var_md /* var md: nullable MMethodDef */;
-short int var6 /* : Bool */;
-short int var7 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var9 /* : Bool */;
-short int var10 /* : Bool */;
-val* var11 /* : Array[String] */;
-val* var13 /* : Array[String] */;
-val* var15 /* : NativeArray[String] */;
-static val* varonce14;
-static val* varonce16;
-val* var17 /* : String */;
-char* var18 /* : NativeString */;
-val* var19 /* : FlatString */;
-static val* varonce20;
-val* var21 /* : String */;
-char* var22 /* : NativeString */;
-val* var23 /* : FlatString */;
-val* var24 /* : SeparateRuntimeFunction */;
-val* var25 /* : String */;
-val* var26 /* : String */;
-val* var27 /* : ModelBuilder */;
-val* var29 /* : ModelBuilder */;
-val* var30 /* : ToolContext */;
-val* var32 /* : ToolContext */;
-val* var33 /* : OptionBool */;
-val* var35 /* : OptionBool */;
-val* var36 /* : nullable Object */;
-val* var38 /* : nullable Object */;
-short int var39 /* : Bool */;
-val* var40 /* : MPropDef */;
-val* var42 /* : MPropDef */;
-val* var43 /* : SeparateRuntimeFunction */;
-val* var_r /* var r: SeparateRuntimeFunction */;
-val* var45 /* : NativeArray[String] */;
-static val* varonce44;
-static val* varonce46;
-val* var47 /* : String */;
-char* var48 /* : NativeString */;
-val* var49 /* : FlatString */;
-static val* varonce50;
-val* var51 /* : String */;
-char* var52 /* : NativeString */;
-val* var53 /* : FlatString */;
-val* var54 /* : String */;
-val* var55 /* : String */;
-val* var56 /* : String */;
-var_m = p0;
-if (likely(varonce!=NULL)) {
-var = varonce;
-} else {
-var1 = "CALL_";
-var2 = standard___standard__NativeString___to_s_with_length(var1, 5l);
-var = var2;
-varonce = var;
-}
-{
-var3 = nit__separate_compiler___MEntity___const_color(var_m);
-}
-{
-var4 = ((val*(*)(val* self, val* p0))(var->class->vft[COLOR_standard__string__String___43d]))(var, var3); /* + on <var:String>*/
-}
-var_n2 = var4;
-{
-var5 = nit___nit__SeparateCompiler___is_monomorphic(self, var_m);
-}
-var_md = var5;
-if (var_md == NULL) {
-var6 = 0; /* is null */
-} else {
-var6 = 1; /* arg is null and recv is not */
-}
-if (0) {
-{ /* Inline kernel#Object#!= (var_md,((val*)NULL)) on <var_md:nullable MMethodDef> */
-var_other = ((val*)NULL);
-{
-var9 = ((short int(*)(val* self, val* p0))(var_md->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_md, var_other); /* == on <var_md:nullable MMethodDef(MMethodDef)>*/
-}
-var10 = !var9;
-var7 = var10;
-goto RET_LABEL8;
-RET_LABEL8:(void)0;
-}
-var6 = var7;
-}
-if (var6){
-{
-{ /* Inline abstract_compiler#AbstractCompiler#linker_script (self) on <self:SeparateCompiler> */
-var13 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___linker_script].val; /* _linker_script on <self:SeparateCompiler> */
-if (unlikely(var13 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _linker_script");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 572);
-fatal_exit(1);
-}
-var11 = var13;
-RET_LABEL12:(void)0;
-}
-}
-if (unlikely(varonce14==NULL)) {
-var15 = NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String);
-if (likely(varonce16!=NULL)) {
-var17 = varonce16;
-} else {
-var18 = " = ";
-var19 = standard___standard__NativeString___to_s_with_length(var18, 3l);
-var17 = var19;
-varonce16 = var17;
-}
-((struct instance_standard__NativeArray*)var15)->values[1]=var17;
-if (likely(varonce20!=NULL)) {
-var21 = varonce20;
-} else {
-var22 = ";";
-var23 = standard___standard__NativeString___to_s_with_length(var22, 1l);
-var21 = var23;
-varonce20 = var21;
-}
-((struct instance_standard__NativeArray*)var15)->values[3]=var21;
-} else {
-var15 = varonce14;
-varonce14 = NULL;
-}
-((struct instance_standard__NativeArray*)var15)->values[0]=var_n2;
-{
-var24 = nit__separate_compiler___MMethodDef___virtual_runtime_function(var_md);
-}
-{
-var25 = nit___nit__AbstractRuntimeFunction___c_name(var24);
-}
-((struct instance_standard__NativeArray*)var15)->values[2]=var25;
-{
-var26 = ((val*(*)(val* self))(var15->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var15); /* native_to_s on <var15:NativeArray[String]>*/
-}
-varonce14 = var15;
-{
-standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var11, var26); /* Direct call array#Array#add on <var11:Array[String]>*/
-}
-} else {
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
-var29 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on <self:SeparateCompiler> */
-if (unlikely(var29 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 522);
-fatal_exit(1);
-}
-var27 = var29;
-RET_LABEL28:(void)0;
-}
-}
-{
-{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (var27) on <var27:ModelBuilder> */
-var32 = var27->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on <var27:ModelBuilder> */
-if (unlikely(var32 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47);
-fatal_exit(1);
-}
-var30 = var32;
-RET_LABEL31:(void)0;
-}
-}
-{
-{ /* Inline separate_compiler#ToolContext#opt_guard_call (var30) on <var30:ToolContext> */
-var35 = var30->attrs[COLOR_nit__separate_compiler__ToolContext___opt_guard_call].val; /* _opt_guard_call on <var30:ToolContext> */
-if (unlikely(var35 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_guard_call");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 39);
-fatal_exit(1);
-}
-var33 = var35;
-RET_LABEL34:(void)0;
-}
-}
-{
-{ /* Inline opts#Option#value (var33) on <var33:OptionBool> */
-var38 = var33->attrs[COLOR_opts__Option___value].val; /* _value on <var33:OptionBool> */
-var36 = var38;
-RET_LABEL37:(void)0;
-}
-}
-var39 = (short int)((long)(var36)>>2);
-if (var39){
-{
-{ /* Inline model#MProperty#intro (var_m) on <var_m:MMethod> */
-var42 = var_m->attrs[COLOR_nit__model__MProperty___intro].val; /* _intro on <var_m:MMethod> */
-if (unlikely(var42 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1968);
-fatal_exit(1);
-}
-var40 = var42;
-RET_LABEL41:(void)0;
-}
-}
-{
-var43 = nit__separate_compiler___MMethodDef___virtual_runtime_function(var40);
-}
-var_r = var43;
-if (unlikely(varonce44==NULL)) {
-var45 = NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String);
-if (likely(varonce46!=NULL)) {
-var47 = varonce46;
-} else {
-var48 = " ";
-var49 = standard___standard__NativeString___to_s_with_length(var48, 1l);
-var47 = var49;
-varonce46 = var47;
-}
-((struct instance_standard__NativeArray*)var45)->values[1]=var47;
-if (likely(varonce50!=NULL)) {
-var51 = varonce50;
-} else {
-var52 = " __attribute__((weak));";
-var53 = standard___standard__NativeString___to_s_with_length(var52, 23l);
-var51 = var53;
-varonce50 = var51;
-}
-((struct instance_standard__NativeArray*)var45)->values[4]=var51;
-} else {
-var45 = varonce44;
-varonce44 = NULL;
-}
-{
-var54 = nit___nit__SeparateRuntimeFunction___c_ret(var_r);
-}
-((struct instance_standard__NativeArray*)var45)->values[0]=var54;
-((struct instance_standard__NativeArray*)var45)->values[2]=var_n2;
-{
-var55 = nit___nit__SeparateRuntimeFunction___c_sig(var_r);
-}
-((struct instance_standard__NativeArray*)var45)->values[3]=var55;
-{
-var56 = ((val*(*)(val* self))(var45->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var45); /* native_to_s on <var45:NativeArray[String]>*/
-}
-varonce44 = var45;
-{
-nit___nit__AbstractCompiler___provide_declaration(self, var_n2, var56); /* Direct call abstract_compiler#AbstractCompiler#provide_declaration on <self:SeparateCompiler>*/
-}
-} else {
-}
-RET_LABEL:;
-}
-/* method separate_compiler#SeparateCompiler#is_monomorphic for (self: SeparateCompiler, MMethod): nullable MMethodDef */
-val* nit___nit__SeparateCompiler___is_monomorphic(val* self, val* p0) {
-val* var /* : nullable MMethodDef */;
-val* var_m /* var m: MMethod */;
-val* var1 /* : nullable RapidTypeAnalysis */;
-val* var3 /* : nullable RapidTypeAnalysis */;
-val* var_rta /* var rta: nullable RapidTypeAnalysis */;
-short int var4 /* : Bool */;
-short int var5 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var7 /* : Bool */;
-short int var9 /* : Bool */;
-val* var10 /* : Array[MPropDef] */;
-val* var12 /* : Array[MPropDef] */;
-long var13 /* : Int */;
-long var15 /* : Int */;
-short int var16 /* : Bool */;
-short int var18 /* : Bool */;
-val* var19 /* : Array[MPropDef] */;
-val* var21 /* : Array[MPropDef] */;
-val* var22 /* : nullable Object */;
-val* var_res /* var res: nullable MMethodDef */;
-val* var23 /* : Array[MPropDef] */;
-val* var25 /* : Array[MPropDef] */;
-val* var_ /* var : Array[MMethodDef] */;
-val* var26 /* : ArrayIterator[nullable Object] */;
-val* var_27 /* var : ArrayIterator[MMethodDef] */;
-short int var28 /* : Bool */;
-val* var29 /* : nullable Object */;
-val* var_md /* var md: MMethodDef */;
-val* var30 /* : HashSet[MMethodDef] */;
-val* var32 /* : HashSet[MMethodDef] */;
-short int var33 /* : Bool */;
-short int var34 /* : Bool */;
-short int var35 /* : Bool */;
-val* var_other37 /* var other: nullable Object */;
-short int var38 /* : Bool */;
-short int var39 /* : Bool */;
-var_m = p0;
-{
-{ /* Inline separate_compiler#SeparateCompiler#runtime_type_analysis (self) on <self:SeparateCompiler> */
-var3 = self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___runtime_type_analysis].val; /* _runtime_type_analysis on <self:SeparateCompiler> */
-var1 = var3;
-RET_LABEL2:(void)0;
-}
-}
-var_rta = var1;
-if (var_rta == NULL) {
-var4 = 1; /* is null */
-} else {
-var4 = 0; /* arg is null but recv is not */
-}
-if (0) {
-{ /* Inline kernel#Object#== (var_rta,((val*)NULL)) on <var_rta:nullable RapidTypeAnalysis> */
-var_other = ((val*)NULL);
-{
-{ /* Inline kernel#Object#is_same_instance (var_rta,var_other) on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
-var9 = var_rta == var_other;
-var7 = var9;
-goto RET_LABEL8;
-RET_LABEL8:(void)0;
-}
-}
-var5 = var7;
-goto RET_LABEL6;
-RET_LABEL6:(void)0;
-}
-var4 = var5;
-}
-if (var4){
-{
-{ /* Inline model#MProperty#mpropdefs (var_m) on <var_m:MMethod> */
-var12 = var_m->attrs[COLOR_nit__model__MProperty___mpropdefs].val; /* _mpropdefs on <var_m:MMethod> */
-if (unlikely(var12 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdefs");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1963);
-fatal_exit(1);
-}
-var10 = var12;
-RET_LABEL11:(void)0;
-}
-}
-{
-{ /* Inline array#AbstractArrayRead#length (var10) on <var10:Array[MPropDef](Array[MMethodDef])> */
-var15 = var10->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on <var10:Array[MPropDef](Array[MMethodDef])> */
-var13 = var15;
-RET_LABEL14:(void)0;
-}
-}
-{
-{ /* Inline kernel#Int#== (var13,1l) on <var13:Int> */
-var18 = var13 == 1l;
-var16 = var18;
-goto RET_LABEL17;
-RET_LABEL17:(void)0;
-}
-}
-if (var16){
-{
-{ /* Inline model#MProperty#mpropdefs (var_m) on <var_m:MMethod> */
-var21 = var_m->attrs[COLOR_nit__model__MProperty___mpropdefs].val; /* _mpropdefs on <var_m:MMethod> */
-if (unlikely(var21 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdefs");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1963);
-fatal_exit(1);
-}
-var19 = var21;
-RET_LABEL20:(void)0;
-}
-}
-{
-var22 = standard___standard__SequenceRead___Collection__first(var19);
-}
-var = var22;
-goto RET_LABEL;
-} else {
-var = ((val*)NULL);
-goto RET_LABEL;
-}
-} else {
-var_res = ((val*)NULL);
-{
-{ /* Inline model#MProperty#mpropdefs (var_m) on <var_m:MMethod> */
-var25 = var_m->attrs[COLOR_nit__model__MProperty___mpropdefs].val; /* _mpropdefs on <var_m:MMethod> */
-if (unlikely(var25 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdefs");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1963);
-fatal_exit(1);
-}
-var23 = var25;
-RET_LABEL24:(void)0;
-}
-}
-var_ = var23;
-{
-var26 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_);
-}
-var_27 = var26;
-for(;;) {
-{
-var28 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_27);
-}
-if (var28){
-{
-var29 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_27);
-}
-var_md = var29;
-{
-{ /* Inline rapid_type_analysis#RapidTypeAnalysis#live_methoddefs (var_rta) on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
-var32 = var_rta->attrs[COLOR_nit__rapid_type_analysis__RapidTypeAnalysis___live_methoddefs].val; /* _live_methoddefs on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
-if (unlikely(var32 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_methoddefs");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__rapid_type_analysis, 79);
-fatal_exit(1);
-}
-var30 = var32;
-RET_LABEL31:(void)0;
-}
-}
-{
-var33 = standard___standard__HashSet___standard__abstract_collection__Collection__has(var30, var_md);
-}
-if (var33){
-if (var_res == NULL) {
-var34 = 0; /* is null */
-} else {
-var34 = 1; /* arg is null and recv is not */
-}
-if (0) {
-{ /* Inline kernel#Object#!= (var_res,((val*)NULL)) on <var_res:nullable MMethodDef> */
-var_other37 = ((val*)NULL);
-{
-var38 = ((short int(*)(val* self, val* p0))(var_res->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_res, var_other37); /* == on <var_res:nullable MMethodDef(MMethodDef)>*/
-}
-var39 = !var38;
-var35 = var39;
-goto RET_LABEL36;
-RET_LABEL36:(void)0;
-}
-var34 = var35;
-}
-if (var34){
-var = ((val*)NULL);
-goto RET_LABEL;
-} else {
-}
-var_res = var_md;
-} else {
-}
-{
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_27); /* Direct call array#ArrayIterator#next on <var_27:ArrayIterator[MMethodDef]>*/
-}
-} else {
-goto BREAK_label;
-}
-}
-BREAK_label: (void)0;
-{
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_27); /* Direct call array#ArrayIterator#finish on <var_27:ArrayIterator[MMethodDef]>*/
-}
-var = var_res;
-goto RET_LABEL;
-}
-RET_LABEL:;
-return var;
-}
-/* method separate_compiler#SeparateCompiler#compile_type_to_c for (self: SeparateCompiler, MType) */
-void nit___nit__SeparateCompiler___compile_type_to_c(val* self, val* p0) {
-val* var_mtype /* var mtype: MType */;
-short int var /* : Bool */;
-short int var1 /* : Bool */;
-short int var2 /* : Bool */;
-short int var3 /* : Bool */;
-int cltype;
-int idtype;
-short int var_ /* var : Bool */;
-val* var4 /* : nullable RapidTypeAnalysis */;
-val* var6 /* : nullable RapidTypeAnalysis */;
-val* var7 /* : HashSet[MClassType] */;
-val* var9 /* : HashSet[MClassType] */;
-short int var10 /* : Bool */;
-short int var_is_live /* var is_live: Bool */;
-val* var11 /* : nullable RapidTypeAnalysis */;
-val* var13 /* : nullable RapidTypeAnalysis */;
-val* var14 /* : HashSet[MType] */;
-val* var16 /* : HashSet[MType] */;
-short int var17 /* : Bool */;
-short int var_is_cast_live /* var is_cast_live: Bool */;
-val* var18 /* : String */;
-val* var_c_name /* var c_name: String */;
-val* var19 /* : SeparateCompilerVisitor */;
-val* var_v /* var v: SeparateCompilerVisitor */;
-val* var20 /* : NativeArray[String] */;
-static val* varonce;
-static val* varonce21;
-val* var22 /* : String */;
-char* var23 /* : NativeString */;
-val* var24 /* : FlatString */;
-static val* varonce25;
-val* var26 /* : String */;
-char* var27 /* : NativeString */;
-val* var28 /* : FlatString */;
-val* var29 /* : String */;
-val* var30 /* : String */;
-val* var32 /* : NativeArray[String] */;
-static val* varonce31;
-static val* varonce33;
-val* var34 /* : String */;
-char* var35 /* : NativeString */;
-val* var36 /* : FlatString */;
-val* var37 /* : String */;
-val* var39 /* : NativeArray[String] */;
-static val* varonce38;
-static val* varonce40;
-val* var41 /* : String */;
-char* var42 /* : NativeString */;
-val* var43 /* : FlatString */;
-static val* varonce44;
-val* var45 /* : String */;
-char* var46 /* : NativeString */;
-val* var47 /* : FlatString */;
-val* var48 /* : String */;
-val* var50 /* : NativeArray[String] */;
-static val* varonce49;
-static val* varonce51;
-val* var52 /* : String */;
-char* var53 /* : NativeString */;
-val* var54 /* : FlatString */;
-static val* varonce55;
-val* var56 /* : String */;
-char* var57 /* : NativeString */;
-val* var58 /* : FlatString */;
-val* var59 /* : String */;
-val* var61 /* : NativeArray[String] */;
-static val* varonce60;
-static val* varonce62;
-val* var63 /* : String */;
-char* var64 /* : NativeString */;
-val* var65 /* : FlatString */;
-val* var66 /* : Map[MType, Int] */;
-val* var68 /* : Map[MType, Int] */;
-val* var69 /* : nullable Object */;
-val* var70 /* : String */;
-long var71 /* : Int */;
-val* var72 /* : String */;
-static val* varonce73;
-val* var74 /* : String */;
-char* var75 /* : NativeString */;
-val* var76 /* : FlatString */;
-val* var78 /* : NativeArray[String] */;
-static val* varonce77;
-static val* varonce79;
-val* var80 /* : String */;
-char* var81 /* : NativeString */;
-val* var82 /* : FlatString */;
-static val* varonce83;
-val* var84 /* : String */;
-char* var85 /* : NativeString */;
-val* var86 /* : FlatString */;
-val* var87 /* : String */;
-val* var88 /* : String */;
-val* var90 /* : NativeArray[String] */;
-static val* varonce89;
-static val* varonce91;
-val* var92 /* : String */;
-char* var93 /* : NativeString */;
-val* var94 /* : FlatString */;
-val* var95 /* : Map[MType, Int] */;
-val* var97 /* : Map[MType, Int] */;
-val* var98 /* : nullable Object */;
-val* var99 /* : String */;
-long var100 /* : Int */;
-val* var101 /* : String */;
-static val* varonce102;
-val* var103 /* : String */;
-char* var104 /* : NativeString */;
-val* var105 /* : FlatString */;
-short int var106 /* : Bool */;
-int cltype107;
-int idtype108;
-static val* varonce109;
-val* var110 /* : String */;
-char* var111 /* : NativeString */;
-val* var112 /* : FlatString */;
-static val* varonce113;
-val* var114 /* : String */;
-char* var115 /* : NativeString */;
-val* var116 /* : FlatString */;
-val* var117 /* : MType */;
-val* var_mclass_type /* var mclass_type: MType */;
-short int var118 /* : Bool */;
-int cltype119;
-int idtype120;
-val* var121 /* : Map[MClassType, Array[nullable MType]] */;
-val* var123 /* : Map[MClassType, Array[nullable MType]] */;
-val* var124 /* : nullable Object */;
-short int var125 /* : Bool */;
-static val* varonce126;
-val* var127 /* : String */;
-char* var128 /* : NativeString */;
-val* var129 /* : FlatString */;
-val* var131 /* : NativeArray[String] */;
-static val* varonce130;
-static val* varonce132;
-val* var133 /* : String */;
-char* var134 /* : NativeString */;
-val* var135 /* : FlatString */;
-val* var136 /* : String */;
-val* var138 /* : NativeArray[String] */;
-static val* varonce137;
-static val* varonce139;
-val* var140 /* : String */;
-char* var141 /* : NativeString */;
-val* var142 /* : FlatString */;
-static val* varonce143;
-val* var144 /* : String */;
-char* var145 /* : NativeString */;
-val* var146 /* : FlatString */;
-val* var147 /* : String */;
-static val* varonce148;
-val* var149 /* : String */;
-char* var150 /* : NativeString */;
-val* var151 /* : FlatString */;
-val* var153 /* : NativeArray[String] */;
-static val* varonce152;
-static val* varonce154;
-val* var155 /* : String */;
-char* var156 /* : NativeString */;
-val* var157 /* : FlatString */;
-val* var158 /* : Map[MType, Array[nullable MType]] */;
-val* var160 /* : Map[MType, Array[nullable MType]] */;
-val* var161 /* : nullable Object */;
-long var162 /* : Int */;
-long var164 /* : Int */;
-val* var165 /* : String */;
-val* var166 /* : String */;
-static val* varonce167;
-val* var168 /* : String */;
-char* var169 /* : NativeString */;
-val* var170 /* : FlatString */;
-val* var171 /* : Map[MType, Array[nullable MType]] */;
-val* var173 /* : Map[MType, Array[nullable MType]] */;
-val* var174 /* : nullable Object */;
-val* var_175 /* var : Array[nullable MType] */;
-val* var176 /* : ArrayIterator[nullable Object] */;
-val* var_177 /* var : ArrayIterator[nullable MType] */;
-short int var178 /* : Bool */;
-val* var179 /* : nullable Object */;
-val* var_stype /* var stype: nullable MType */;
-short int var180 /* : Bool */;
-short int var181 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var183 /* : Bool */;
-short int var185 /* : Bool */;
-static val* varonce186;
-val* var187 /* : String */;
-char* var188 /* : NativeString */;
-val* var189 /* : FlatString */;
-val* var191 /* : NativeArray[String] */;
-static val* varonce190;
-static val* varonce192;
-val* var193 /* : String */;
-char* var194 /* : NativeString */;
-val* var195 /* : FlatString */;
-static val* varonce196;
-val* var197 /* : String */;
-char* var198 /* : NativeString */;
-val* var199 /* : FlatString */;
-val* var200 /* : Map[MType, Int] */;
-val* var202 /* : Map[MType, Int] */;
-val* var203 /* : nullable Object */;
-val* var204 /* : String */;
-long var205 /* : Int */;
-val* var206 /* : String */;
-val* var207 /* : String */;
-static val* varonce208;
-val* var209 /* : String */;
-char* var210 /* : NativeString */;
-val* var211 /* : FlatString */;
-static val* varonce212;
-val* var213 /* : String */;
-char* var214 /* : NativeString */;
-val* var215 /* : FlatString */;
-static val* varonce216;
-val* var217 /* : String */;
-char* var218 /* : NativeString */;
-val* var219 /* : FlatString */;
-var_mtype = p0;
-{
-var = ((short int(*)(val* self))(var_mtype->class->vft[COLOR_nit__model__MType__need_anchor]))(var_mtype); /* need_anchor on <var_mtype:MType>*/
-}
-var1 = !var;
-if (unlikely(!var1)) {
-PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 707);
-fatal_exit(1);
-}
-/* <var_mtype:MType> isa MClassType */
-cltype = type_nit__MClassType.color;
-idtype = type_nit__MClassType.id;
-if(cltype >= var_mtype->type->table_size) {
-var3 = 0;
-} else {
-var3 = var_mtype->type->type_table[cltype] == idtype;
-}
-var_ = var3;
-if (var3){
-{
-{ /* Inline separate_compiler#SeparateCompiler#runtime_type_analysis (self) on <self:SeparateCompiler> */
-var6 = self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___runtime_type_analysis].val; /* _runtime_type_analysis on <self:SeparateCompiler> */
-var4 = var6;
-RET_LABEL5:(void)0;
-}
-}
-if (var4 == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 708);
-fatal_exit(1);
-} else {
-{ /* Inline rapid_type_analysis#RapidTypeAnalysis#live_types (var4) on <var4:nullable RapidTypeAnalysis> */
-if (unlikely(var4 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__rapid_type_analysis, 60);
-fatal_exit(1);
-}
-var9 = var4->attrs[COLOR_nit__rapid_type_analysis__RapidTypeAnalysis___live_types].val; /* _live_types on <var4:nullable RapidTypeAnalysis> */
-if (unlikely(var9 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_types");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__rapid_type_analysis, 60);
-fatal_exit(1);
-}
-var7 = var9;
-RET_LABEL8:(void)0;
-}
-}
-{
-var10 = standard___standard__HashSet___standard__abstract_collection__Collection__has(var7, var_mtype);
-}
-var2 = var10;
-} else {
-var2 = var_;
-}
-var_is_live = var2;
-{
-{ /* Inline separate_compiler#SeparateCompiler#runtime_type_analysis (self) on <self:SeparateCompiler> */
-var13 = self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___runtime_type_analysis].val; /* _runtime_type_analysis on <self:SeparateCompiler> */
-var11 = var13;
-RET_LABEL12:(void)0;
-}
-}
-if (var11 == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 709);
-fatal_exit(1);
-} else {
-{ /* Inline rapid_type_analysis#RapidTypeAnalysis#live_cast_types (var11) on <var11:nullable RapidTypeAnalysis> */
-if (unlikely(var11 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__rapid_type_analysis, 72);
-fatal_exit(1);
-}
-var16 = var11->attrs[COLOR_nit__rapid_type_analysis__RapidTypeAnalysis___live_cast_types].val; /* _live_cast_types on <var11:nullable RapidTypeAnalysis> */
-if (unlikely(var16 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_cast_types");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__rapid_type_analysis, 72);
-fatal_exit(1);
-}
-var14 = var16;
-RET_LABEL15:(void)0;
-}
-}
-{
-var17 = standard___standard__HashSet___standard__abstract_collection__Collection__has(var14, var_mtype);
-}
-var_is_cast_live = var17;
-{
-var18 = ((val*(*)(val* self))(var_mtype->class->vft[COLOR_nit__model_base__MEntity__c_name]))(var_mtype); /* c_name on <var_mtype:MType>*/
-}
-var_c_name = var18;
-var19 = NEW_nit__SeparateCompilerVisitor(&type_nit__SeparateCompilerVisitor);
-{
-((void(*)(val* self, val* p0))(var19->class->vft[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__compiler_61d]))(var19, self); /* compiler= on <var19:SeparateCompilerVisitor>*/
-}
-{
-((void(*)(val* self))(var19->class->vft[COLOR_standard__kernel__Object__init]))(var19); /* init on <var19:SeparateCompilerVisitor>*/
-}
-var_v = var19;
-if (unlikely(varonce==NULL)) {
-var20 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String);
-if (likely(varonce21!=NULL)) {
-var22 = varonce21;
-} else {
-var23 = "/* runtime type ";
-var24 = standard___standard__NativeString___to_s_with_length(var23, 16l);
-var22 = var24;
-varonce21 = var22;
-}
-((struct instance_standard__NativeArray*)var20)->values[0]=var22;
-if (likely(varonce25!=NULL)) {
-var26 = varonce25;
-} else {
-var27 = " */";
-var28 = standard___standard__NativeString___to_s_with_length(var27, 3l);
-var26 = var28;
-varonce25 = var26;
-}
-((struct instance_standard__NativeArray*)var20)->values[2]=var26;
-} else {
-var20 = varonce;
-varonce = NULL;
-}
-{
-var29 = ((val*(*)(val* self))(var_mtype->class->vft[COLOR_standard__string__Object__to_s]))(var_mtype); /* to_s on <var_mtype:MType>*/
-}
-((struct instance_standard__NativeArray*)var20)->values[1]=var29;
-{
-var30 = ((val*(*)(val* self))(var20->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var20); /* native_to_s on <var20:NativeArray[String]>*/
-}
-varonce = var20;
-{
-nit___nit__AbstractCompilerVisitor___add_decl(var_v, var30); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
-}
-if (unlikely(varonce31==NULL)) {
-var32 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String);
-if (likely(varonce33!=NULL)) {
-var34 = varonce33;
-} else {
-var35 = "type_";
-var36 = standard___standard__NativeString___to_s_with_length(var35, 5l);
-var34 = var36;
-varonce33 = var34;
-}
-((struct instance_standard__NativeArray*)var32)->values[0]=var34;
-} else {
-var32 = varonce31;
-varonce31 = NULL;
-}
-((struct instance_standard__NativeArray*)var32)->values[1]=var_c_name;
-{
-var37 = ((val*(*)(val* self))(var32->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var32); /* native_to_s on <var32:NativeArray[String]>*/
-}
-varonce31 = var32;
-if (unlikely(varonce38==NULL)) {
-var39 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String);
-if (likely(varonce40!=NULL)) {
-var41 = varonce40;
-} else {
-var42 = "extern const struct type type_";
-var43 = standard___standard__NativeString___to_s_with_length(var42, 30l);
-var41 = var43;
-varonce40 = var41;
-}
-((struct instance_standard__NativeArray*)var39)->values[0]=var41;
-if (likely(varonce44!=NULL)) {
-var45 = varonce44;
-} else {
-var46 = ";";
-var47 = standard___standard__NativeString___to_s_with_length(var46, 1l);
-var45 = var47;
-varonce44 = var45;
-}
-((struct instance_standard__NativeArray*)var39)->values[2]=var45;
-} else {
-var39 = varonce38;
-varonce38 = NULL;
-}
-((struct instance_standard__NativeArray*)var39)->values[1]=var_c_name;
-{
-var48 = ((val*(*)(val* self))(var39->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var39); /* native_to_s on <var39:NativeArray[String]>*/
-}
-varonce38 = var39;
-{
-nit___nit__AbstractCompiler___provide_declaration(self, var37, var48); /* Direct call abstract_compiler#AbstractCompiler#provide_declaration on <self:SeparateCompiler>*/
-}
-if (unlikely(varonce49==NULL)) {
-var50 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String);
-if (likely(varonce51!=NULL)) {
-var52 = varonce51;
-} else {
-var53 = "const struct type type_";
-var54 = standard___standard__NativeString___to_s_with_length(var53, 23l);
-var52 = var54;
-varonce51 = var52;
-}
-((struct instance_standard__NativeArray*)var50)->values[0]=var52;
-if (likely(varonce55!=NULL)) {
-var56 = varonce55;
-} else {
-var57 = " = {";
-var58 = standard___standard__NativeString___to_s_with_length(var57, 4l);
-var56 = var58;
-varonce55 = var56;
-}
-((struct instance_standard__NativeArray*)var50)->values[2]=var56;
-} else {
-var50 = varonce49;
-varonce49 = NULL;
-}
-((struct instance_standard__NativeArray*)var50)->values[1]=var_c_name;
-{
-var59 = ((val*(*)(val* self))(var50->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var50); /* native_to_s on <var50:NativeArray[String]>*/
-}
-varonce49 = var50;
-{
-nit___nit__AbstractCompilerVisitor___add_decl(var_v, var59); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
-}
-if (var_is_cast_live){
-if (unlikely(varonce60==NULL)) {
-var61 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String);
-if (likely(varonce62!=NULL)) {
-var63 = varonce62;
-} else {
-var64 = ",";
-var65 = standard___standard__NativeString___to_s_with_length(var64, 1l);
-var63 = var65;
-varonce62 = var63;
-}
-((struct instance_standard__NativeArray*)var61)->values[1]=var63;
-} else {
-var61 = varonce60;
-varonce60 = NULL;
-}
-{
-{ /* Inline separate_compiler#SeparateCompiler#type_ids (self) on <self:SeparateCompiler> */
-var68 = self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___type_ids].val; /* _type_ids on <self:SeparateCompiler> */
-if (unlikely(var68 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _type_ids");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 149);
-fatal_exit(1);
-}
-var66 = var68;
-RET_LABEL67:(void)0;
-}
-}
-{
-var69 = ((val*(*)(val* self, val* p0))((((long)var66&3)?class_info[((long)var66&3)]:var66->class)->vft[COLOR_standard__abstract_collection__MapRead___91d_93d]))(var66, var_mtype); /* [] on <var66:Map[MType, Int]>*/
-}
-var71 = (long)(var69)>>2;
-var70 = standard__string___Int___Object__to_s(var71);
-((struct instance_standard__NativeArray*)var61)->values[0]=var70;
-{
-var72 = ((val*(*)(val* self))(var61->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var61); /* native_to_s on <var61:NativeArray[String]>*/
-}
-varonce60 = var61;
-{
-nit___nit__AbstractCompilerVisitor___add_decl(var_v, var72); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
-}
-} else {
-if (likely(varonce73!=NULL)) {
-var74 = varonce73;
-} else {
-var75 = "-1, /*CAST DEAD*/";
-var76 = standard___standard__NativeString___to_s_with_length(var75, 17l);
-var74 = var76;
-varonce73 = var74;
-}
-{
-nit___nit__AbstractCompilerVisitor___add_decl(var_v, var74); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
-}
-}
-if (unlikely(varonce77==NULL)) {
-var78 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String);
-if (likely(varonce79!=NULL)) {
-var80 = varonce79;
-} else {
-var81 = "\"";
-var82 = standard___standard__NativeString___to_s_with_length(var81, 1l);
-var80 = var82;
-varonce79 = var80;
-}
-((struct instance_standard__NativeArray*)var78)->values[0]=var80;
-if (likely(varonce83!=NULL)) {
-var84 = varonce83;
-} else {
-var85 = "\", /* class_name_string */";
-var86 = standard___standard__NativeString___to_s_with_length(var85, 26l);
-var84 = var86;
-varonce83 = var84;
-}
-((struct instance_standard__NativeArray*)var78)->values[2]=var84;
-} else {
-var78 = varonce77;
-varonce77 = NULL;
-}
-{
-var87 = ((val*(*)(val* self))(var_mtype->class->vft[COLOR_standard__string__Object__to_s]))(var_mtype); /* to_s on <var_mtype:MType>*/
-}
-((struct instance_standard__NativeArray*)var78)->values[1]=var87;
-{
-var88 = ((val*(*)(val* self))(var78->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var78); /* native_to_s on <var78:NativeArray[String]>*/
-}
-varonce77 = var78;
-{
-nit___nit__AbstractCompilerVisitor___add_decl(var_v, var88); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
-}
-if (var_is_cast_live){
-if (unlikely(varonce89==NULL)) {
-var90 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String);
-if (likely(varonce91!=NULL)) {
-var92 = varonce91;
-} else {
-var93 = ",";
-var94 = standard___standard__NativeString___to_s_with_length(var93, 1l);
-var92 = var94;
-varonce91 = var92;
-}
-((struct instance_standard__NativeArray*)var90)->values[1]=var92;
-} else {
-var90 = varonce89;
-varonce89 = NULL;
-}
-{
-{ /* Inline separate_compiler#SeparateCompiler#type_colors (self) on <self:SeparateCompiler> */
-var97 = self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___type_colors].val; /* _type_colors on <self:SeparateCompiler> */
-if (unlikely(var97 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _type_colors");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 150);
-fatal_exit(1);
-}
-var95 = var97;
-RET_LABEL96:(void)0;
-}
-}
-{
-var98 = ((val*(*)(val* self, val* p0))((((long)var95&3)?class_info[((long)var95&3)]:var95->class)->vft[COLOR_standard__abstract_collection__MapRead___91d_93d]))(var95, var_mtype); /* [] on <var95:Map[MType, Int]>*/
-}
-var100 = (long)(var98)>>2;
-var99 = standard__string___Int___Object__to_s(var100);
-((struct instance_standard__NativeArray*)var90)->values[0]=var99;
-{
-var101 = ((val*(*)(val* self))(var90->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var90); /* native_to_s on <var90:NativeArray[String]>*/
-}
-varonce89 = var90;
-{
-nit___nit__AbstractCompilerVisitor___add_decl(var_v, var101); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
-}
-} else {
-if (likely(varonce102!=NULL)) {
-var103 = varonce102;
-} else {
-var104 = "-1, /*CAST DEAD*/";
-var105 = standard___standard__NativeString___to_s_with_length(var104, 17l);
-var103 = var105;
-varonce102 = var103;
-}
-{
-nit___nit__AbstractCompilerVisitor___add_decl(var_v, var103); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
-}
-}
-/* <var_mtype:MType> isa MNullableType */
-cltype107 = type_nit__MNullableType.color;
-idtype108 = type_nit__MNullableType.id;
-if(cltype107 >= var_mtype->type->table_size) {
-var106 = 0;
-} else {
-var106 = var_mtype->type->type_table[cltype107] == idtype108;
-}
-if (var106){
-if (likely(varonce109!=NULL)) {
-var110 = varonce109;
-} else {
-var111 = "1,";
-var112 = standard___standard__NativeString___to_s_with_length(var111, 2l);
-var110 = var112;
-varonce109 = var110;
-}
-{
-nit___nit__AbstractCompilerVisitor___add_decl(var_v, var110); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
-}
-} else {
-if (likely(varonce113!=NULL)) {
-var114 = varonce113;
-} else {
-var115 = "0,";
-var116 = standard___standard__NativeString___to_s_with_length(var115, 2l);
-var114 = var116;
-varonce113 = var114;
-}
-{
-nit___nit__AbstractCompilerVisitor___add_decl(var_v, var114); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
-}
-}
-if (var_is_live){
-{
-var117 = ((val*(*)(val* self))(var_mtype->class->vft[COLOR_nit__model__MType__undecorate]))(var_mtype); /* undecorate on <var_mtype:MType>*/
-}
-var_mclass_type = var117;
-/* <var_mclass_type:MType> isa MClassType */
-cltype119 = type_nit__MClassType.color;
-idtype120 = type_nit__MClassType.id;
-if(cltype119 >= var_mclass_type->type->table_size) {
-var118 = 0;
-} else {
-var118 = var_mclass_type->type->type_table[cltype119] == idtype120;
-}
-if (unlikely(!var118)) {
-PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 747);
-fatal_exit(1);
-}
-{
-{ /* Inline separate_compiler#SeparateCompiler#resolution_tables (self) on <self:SeparateCompiler> */
-var123 = self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___resolution_tables].val; /* _resolution_tables on <self:SeparateCompiler> */
-if (unlikely(var123 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _resolution_tables");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 1052);
-fatal_exit(1);
-}
-var121 = var123;
-RET_LABEL122:(void)0;
-}
-}
-{
-var124 = ((val*(*)(val* self, val* p0))((((long)var121&3)?class_info[((long)var121&3)]:var121->class)->vft[COLOR_standard__abstract_collection__MapRead___91d_93d]))(var121, var_mclass_type); /* [] on <var121:Map[MClassType, Array[nullable MType]]>*/
-}
-{
-var125 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var124);
-}
-if (var125){
-if (likely(varonce126!=NULL)) {
-var127 = varonce126;
-} else {
-var128 = "NULL, /*NO RESOLUTIONS*/";
-var129 = standard___standard__NativeString___to_s_with_length(var128, 24l);
-var127 = var129;
-varonce126 = var127;
-}
-{
-nit___nit__AbstractCompilerVisitor___add_decl(var_v, var127); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
-}
-} else {
-{
-nit___nit__SeparateCompiler___compile_type_resolution_table(self, var_mtype); /* Direct call separate_compiler#SeparateCompiler#compile_type_resolution_table on <self:SeparateCompiler>*/
-}
-if (unlikely(varonce130==NULL)) {
-var131 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String);
-if (likely(varonce132!=NULL)) {
-var133 = varonce132;
-} else {
-var134 = "resolution_table_";
-var135 = standard___standard__NativeString___to_s_with_length(var134, 17l);
-var133 = var135;
-varonce132 = var133;
-}
-((struct instance_standard__NativeArray*)var131)->values[0]=var133;
-} else {
-var131 = varonce130;
-varonce130 = NULL;
-}
-((struct instance_standard__NativeArray*)var131)->values[1]=var_c_name;
-{
-var136 = ((val*(*)(val* self))(var131->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var131); /* native_to_s on <var131:NativeArray[String]>*/
-}
-varonce130 = var131;
-{
-nit___nit__AbstractCompilerVisitor___require_declaration(var_v, var136); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <var_v:SeparateCompilerVisitor>*/
-}
-if (unlikely(varonce137==NULL)) {
-var138 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String);
-if (likely(varonce139!=NULL)) {
-var140 = varonce139;
-} else {
-var141 = "&resolution_table_";
-var142 = standard___standard__NativeString___to_s_with_length(var141, 18l);
-var140 = var142;
-varonce139 = var140;
-}
-((struct instance_standard__NativeArray*)var138)->values[0]=var140;
-if (likely(varonce143!=NULL)) {
-var144 = varonce143;
-} else {
-var145 = ",";
-var146 = standard___standard__NativeString___to_s_with_length(var145, 1l);
-var144 = var146;
-varonce143 = var144;
-}
-((struct instance_standard__NativeArray*)var138)->values[2]=var144;
-} else {
-var138 = varonce137;
-varonce137 = NULL;
-}
-((struct instance_standard__NativeArray*)var138)->values[1]=var_c_name;
-{
-var147 = ((val*(*)(val* self))(var138->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var138); /* native_to_s on <var138:NativeArray[String]>*/
-}
-varonce137 = var138;
-{
-nit___nit__AbstractCompilerVisitor___add_decl(var_v, var147); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
-}
-}
-} else {
-if (likely(varonce148!=NULL)) {
-var149 = varonce148;
-} else {
-var150 = "NULL, /*DEAD*/";
-var151 = standard___standard__NativeString___to_s_with_length(var150, 14l);
-var149 = var151;
-varonce148 = var149;
-}
-{
-nit___nit__AbstractCompilerVisitor___add_decl(var_v, var149); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
-}
-}
-if (var_is_live){
-if (unlikely(varonce152==NULL)) {
-var153 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String);
-if (likely(varonce154!=NULL)) {
-var155 = varonce154;
-} else {
-var156 = ",";
-var157 = standard___standard__NativeString___to_s_with_length(var156, 1l);
-var155 = var157;
-varonce154 = var155;
-}
-((struct instance_standard__NativeArray*)var153)->values[1]=var155;
-} else {
-var153 = varonce152;
-varonce152 = NULL;
-}
-{
-{ /* Inline separate_compiler#SeparateCompiler#type_tables (self) on <self:SeparateCompiler> */
-var160 = self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___type_tables].val; /* _type_tables on <self:SeparateCompiler> */
-if (unlikely(var160 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _type_tables");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 1051);
-fatal_exit(1);
-}
-var158 = var160;
-RET_LABEL159:(void)0;
-}
-}
-{
-var161 = ((val*(*)(val* self, val* p0))((((long)var158&3)?class_info[((long)var158&3)]:var158->class)->vft[COLOR_standard__abstract_collection__MapRead___91d_93d]))(var158, var_mtype); /* [] on <var158:Map[MType, Array[nullable MType]]>*/
-}
-{
-{ /* Inline array#AbstractArrayRead#length (var161) on <var161:nullable Object(Array[nullable MType])> */
-var164 = var161->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on <var161:nullable Object(Array[nullable MType])> */
-var162 = var164;
-RET_LABEL163:(void)0;
-}
-}
-var165 = standard__string___Int___Object__to_s(var162);
-((struct instance_standard__NativeArray*)var153)->values[0]=var165;
-{
-var166 = ((val*(*)(val* self))(var153->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var153); /* native_to_s on <var153:NativeArray[String]>*/
-}
-varonce152 = var153;
-{
-nit___nit__AbstractCompilerVisitor___add_decl(var_v, var166); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
-}
-if (likely(varonce167!=NULL)) {
-var168 = varonce167;
-} else {
-var169 = "{";
-var170 = standard___standard__NativeString___to_s_with_length(var169, 1l);
-var168 = var170;
-varonce167 = var168;
-}
-{
-nit___nit__AbstractCompilerVisitor___add_decl(var_v, var168); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
-}
-{
-{ /* Inline separate_compiler#SeparateCompiler#type_tables (self) on <self:SeparateCompiler> */
-var173 = self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___type_tables].val; /* _type_tables on <self:SeparateCompiler> */
-if (unlikely(var173 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _type_tables");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 1051);
-fatal_exit(1);
-}
-var171 = var173;
-RET_LABEL172:(void)0;
-}
-}
-{
-var174 = ((val*(*)(val* self, val* p0))((((long)var171&3)?class_info[((long)var171&3)]:var171->class)->vft[COLOR_standard__abstract_collection__MapRead___91d_93d]))(var171, var_mtype); /* [] on <var171:Map[MType, Array[nullable MType]]>*/
-}
-var_175 = var174;
-{
-var176 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_175);
-}
-var_177 = var176;
-for(;;) {
-{
-var178 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_177);
-}
-if (var178){
-{
-var179 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_177);
-}
-var_stype = var179;
-if (var_stype == NULL) {
-var180 = 1; /* is null */
-} else {
-var180 = 0; /* arg is null but recv is not */
-}
-if (0) {
-{ /* Inline kernel#Object#== (var_stype,((val*)NULL)) on <var_stype:nullable MType> */
-var_other = ((val*)NULL);
-{
-{ /* Inline kernel#Object#is_same_instance (var_stype,var_other) on <var_stype:nullable MType(MType)> */
-var185 = var_stype == var_other;
-var183 = var185;
-goto RET_LABEL184;
-RET_LABEL184:(void)0;
-}
-}
-var181 = var183;
-goto RET_LABEL182;
-RET_LABEL182:(void)0;
-}
-var180 = var181;
-}
-if (var180){
-if (likely(varonce186!=NULL)) {
-var187 = varonce186;
-} else {
-var188 = "-1, /* empty */";
-var189 = standard___standard__NativeString___to_s_with_length(var188, 15l);
-var187 = var189;
-varonce186 = var187;
-}
-{
-nit___nit__AbstractCompilerVisitor___add_decl(var_v, var187); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
-}
-} else {
-if (unlikely(varonce190==NULL)) {
-var191 = NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String);
-if (likely(varonce192!=NULL)) {
-var193 = varonce192;
-} else {
-var194 = ", /* ";
-var195 = standard___standard__NativeString___to_s_with_length(var194, 5l);
-var193 = var195;
-varonce192 = var193;
-}
-((struct instance_standard__NativeArray*)var191)->values[1]=var193;
-if (likely(varonce196!=NULL)) {
-var197 = varonce196;
-} else {
-var198 = " */";
-var199 = standard___standard__NativeString___to_s_with_length(var198, 3l);
-var197 = var199;
-varonce196 = var197;
-}
-((struct instance_standard__NativeArray*)var191)->values[3]=var197;
-} else {
-var191 = varonce190;
-varonce190 = NULL;
-}
-{
-{ /* Inline separate_compiler#SeparateCompiler#type_ids (self) on <self:SeparateCompiler> */
-var202 = self->attrs[COLOR_nit__separate_compiler__SeparateCompiler___type_ids].val; /* _type_ids on <self:SeparateCompiler> */
-if (unlikely(var202 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _type_ids");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 149);
-fatal_exit(1);
-}
-var200 = var202;
-RET_LABEL201:(void)0;
-}
-}
-{
-var203 = ((val*(*)(val* self, val* p0))((((long)var200&3)?class_info[((long)var200&3)]:var200->class)->vft[COLOR_standard__abstract_collection__MapRead___91d_93d]))(var200, var_stype); /* [] on <var200:Map[MType, Int]>*/
-}
-var205 = (long)(var203)>>2;
-var204 = standard__string___Int___Object__to_s(var205);
-((struct instance_standard__NativeArray*)var191)->values[0]=var204;
-{
-var206 = ((val*(*)(val* self))(var_stype->class->vft[COLOR_standard__string__Object__to_s]))(var_stype); /* to_s on <var_stype:nullable MType(MType)>*/
-}
-((struct instance_standard__NativeArray*)var191)->values[2]=var206;
-{
-var207 = ((val*(*)(val* self))(var191->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var191); /* native_to_s on <var191:NativeArray[String]>*/
-}
-varonce190 = var191;
-{
-nit___nit__AbstractCompilerVisitor___add_decl(var_v, var207); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
-}
-}
-{
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_177); /* Direct call array#ArrayIterator#next on <var_177:ArrayIterator[nullable MType]>*/
-}
-} else {
-goto BREAK_label;
-}
-}
-BREAK_label: (void)0;
-{
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_177); /* Direct call array#ArrayIterator#finish on <var_177:ArrayIterator[nullable MType]>*/
-}
-if (likely(varonce208!=NULL)) {
-var209 = varonce208;
-} else {
-var210 = "},";
-var211 = standard___standard__NativeString___to_s_with_length(var210, 2l);
-var209 = var211;
-varonce208 = var209;
-}
-{
-nit___nit__AbstractCompilerVisitor___add_decl(var_v, var209); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
-}
-} else {
-if (likely(varonce212!=NULL)) {
-var213 = varonce212;
-} else {
-var214 = "-1, {}, /*DEAD TYPE*/";
-var215 = standard___standard__NativeString___to_s_with_length(var214, 21l);
-var213 = var215;
-varonce212 = var213;
-}
-{
-nit___nit__AbstractCompilerVisitor___add_decl(var_v, var213); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
-}
-}
-if (likely(varonce216!=NULL)) {
-var217 = varonce216;
-} else {
-var218 = "};";
-var219 = standard___standard__NativeString___to_s_with_length(var218, 2l);
-var217 = var219;
-varonce216 = var217;
-}
-{
-nit___nit__AbstractCompilerVisitor___add_decl(var_v, var217); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
-}
-RET_LABEL:;
-}