-{ /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
-var8 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
-if (unlikely(var8 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 585);
-fatal_exit(1);
-}
-var6 = var8;
-RET_LABEL7:(void)0;
-}
-}
-if (likely(varonce9!=NULL)) {
-var10 = varonce9;
-} else {
-var11 = "#include <stdio.h>";
-var12 = core__flat___NativeString___to_s_full(var11, 18l, 18l);
-var10 = var12;
-varonce9 = var10;
-}
-{
-nitc___nitc__CodeWriter___add_decl(var6, var10); /* Direct call abstract_compiler#CodeWriter#add_decl on <var6:CodeWriter>*/
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
-var15 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
-if (unlikely(var15 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 585);
-fatal_exit(1);
-}
-var13 = var15;
-RET_LABEL14:(void)0;
-}
-}
-if (likely(varonce16!=NULL)) {
-var17 = varonce16;
-} else {
-var18 = "#include <string.h>";
-var19 = core__flat___NativeString___to_s_full(var18, 19l, 19l);
-var17 = var19;
-varonce16 = var17;
-}
-{
-nitc___nitc__CodeWriter___add_decl(var13, var17); /* Direct call abstract_compiler#CodeWriter#add_decl on <var13:CodeWriter>*/
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
-var22 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
-if (unlikely(var22 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 585);
-fatal_exit(1);
-}
-var20 = var22;
-RET_LABEL21:(void)0;
-}
-}
-if (likely(varonce23!=NULL)) {
-var24 = varonce23;
-} else {
-var25 = "#include <sys/types.h>\n";
-var26 = core__flat___NativeString___to_s_full(var25, 23l, 23l);
-var24 = var26;
-varonce23 = var24;
-}
-{
-nitc___nitc__CodeWriter___add_decl(var20, var24); /* Direct call abstract_compiler#CodeWriter#add_decl on <var20:CodeWriter>*/
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
-var29 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
-if (unlikely(var29 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 585);
-fatal_exit(1);
-}
-var27 = var29;
-RET_LABEL28:(void)0;
-}
-}
-if (likely(varonce30!=NULL)) {
-var31 = varonce30;
-} else {
-var32 = "#include <unistd.h>\n";
-var33 = core__flat___NativeString___to_s_full(var32, 20l, 20l);
-var31 = var33;
-varonce30 = var31;
-}
-{
-nitc___nitc__CodeWriter___add_decl(var27, var31); /* Direct call abstract_compiler#CodeWriter#add_decl on <var27:CodeWriter>*/
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
-var36 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
-if (unlikely(var36 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 585);
-fatal_exit(1);
-}
-var34 = var36;
-RET_LABEL35:(void)0;
-}
-}
-if (likely(varonce37!=NULL)) {
-var38 = varonce37;
-} else {
-var39 = "#include <stdint.h>\n";
-var40 = core__flat___NativeString___to_s_full(var39, 20l, 20l);
-var38 = var40;
-varonce37 = var38;
-}
-{
-nitc___nitc__CodeWriter___add_decl(var34, var38); /* Direct call abstract_compiler#CodeWriter#add_decl on <var34:CodeWriter>*/
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
-var43 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
-if (unlikely(var43 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 585);
-fatal_exit(1);
-}
-var41 = var43;
-RET_LABEL42:(void)0;
-}
-}
-if (likely(varonce44!=NULL)) {
-var45 = varonce44;
-} else {
-var46 = "#ifdef __linux__";
-var47 = core__flat___NativeString___to_s_full(var46, 16l, 16l);
-var45 = var47;
-varonce44 = var45;
-}
-{
-nitc___nitc__CodeWriter___add_decl(var41, var45); /* Direct call abstract_compiler#CodeWriter#add_decl on <var41:CodeWriter>*/
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
-var50 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
-if (unlikely(var50 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 585);
-fatal_exit(1);
-}
-var48 = var50;
-RET_LABEL49:(void)0;
-}
-}
-if (likely(varonce51!=NULL)) {
-var52 = varonce51;
-} else {
-var53 = "\t#include <endian.h>";
-var54 = core__flat___NativeString___to_s_full(var53, 20l, 20l);
-var52 = var54;
-varonce51 = var52;
-}
-{
-nitc___nitc__CodeWriter___add_decl(var48, var52); /* Direct call abstract_compiler#CodeWriter#add_decl on <var48:CodeWriter>*/
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
-var57 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
-if (unlikely(var57 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 585);
-fatal_exit(1);
-}
-var55 = var57;
-RET_LABEL56:(void)0;
-}
-}
-if (likely(varonce58!=NULL)) {
-var59 = varonce58;
-} else {
-var60 = "#endif";
-var61 = core__flat___NativeString___to_s_full(var60, 6l, 6l);
-var59 = var61;
-varonce58 = var59;
-}
-{
-nitc___nitc__CodeWriter___add_decl(var55, var59); /* Direct call abstract_compiler#CodeWriter#add_decl on <var55:CodeWriter>*/
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
-var64 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
-if (unlikely(var64 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 585);
-fatal_exit(1);
-}
-var62 = var64;
-RET_LABEL63:(void)0;
-}
-}
-if (likely(varonce65!=NULL)) {
-var66 = varonce65;
-} else {
-var67 = "#include <inttypes.h>\n";
-var68 = core__flat___NativeString___to_s_full(var67, 22l, 22l);
-var66 = var68;
-varonce65 = var66;
-}
-{
-nitc___nitc__CodeWriter___add_decl(var62, var66); /* Direct call abstract_compiler#CodeWriter#add_decl on <var62:CodeWriter>*/
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
-var71 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
-if (unlikely(var71 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 585);
-fatal_exit(1);
-}
-var69 = var71;
-RET_LABEL70:(void)0;
-}
-}
-if (likely(varonce72!=NULL)) {
-var73 = varonce72;
-} else {
-var74 = "#include \"gc_chooser.h\"";
-var75 = core__flat___NativeString___to_s_full(var74, 23l, 23l);
-var73 = var75;
-varonce72 = var73;
-}
-{
-nitc___nitc__CodeWriter___add_decl(var69, var73); /* Direct call abstract_compiler#CodeWriter#add_decl on <var69:CodeWriter>*/
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
-var78 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
-if (unlikely(var78 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 585);
-fatal_exit(1);
-}
-var76 = var78;
-RET_LABEL77:(void)0;
-}
-}
-if (likely(varonce79!=NULL)) {
-var80 = varonce79;
-} else {
-var81 = "#ifdef __APPLE__";
-var82 = core__flat___NativeString___to_s_full(var81, 16l, 16l);
-var80 = var82;
-varonce79 = var80;
-}
-{
-nitc___nitc__CodeWriter___add_decl(var76, var80); /* Direct call abstract_compiler#CodeWriter#add_decl on <var76:CodeWriter>*/
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
-var85 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
-if (unlikely(var85 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 585);
-fatal_exit(1);
-}
-var83 = var85;
-RET_LABEL84:(void)0;
-}
-}
-if (likely(varonce86!=NULL)) {
-var87 = varonce86;
-} else {
-var88 = "\t#include <libkern/OSByteOrder.h>";
-var89 = core__flat___NativeString___to_s_full(var88, 33l, 33l);
-var87 = var89;
-varonce86 = var87;
-}
-{
-nitc___nitc__CodeWriter___add_decl(var83, var87); /* Direct call abstract_compiler#CodeWriter#add_decl on <var83:CodeWriter>*/
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
-var92 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
-if (unlikely(var92 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 585);
-fatal_exit(1);
-}
-var90 = var92;
-RET_LABEL91:(void)0;
-}
-}
-if (likely(varonce93!=NULL)) {
-var94 = varonce93;
-} else {
-var95 = "\t#define be32toh(x) OSSwapBigToHostInt32(x)";
-var96 = core__flat___NativeString___to_s_full(var95, 43l, 43l);
-var94 = var96;
-varonce93 = var94;
-}
-{
-nitc___nitc__CodeWriter___add_decl(var90, var94); /* Direct call abstract_compiler#CodeWriter#add_decl on <var90:CodeWriter>*/
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
-var99 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
-if (unlikely(var99 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 585);
-fatal_exit(1);
-}
-var97 = var99;
-RET_LABEL98:(void)0;
-}
-}
-if (likely(varonce100!=NULL)) {
-var101 = varonce100;
-} else {
-var102 = "#endif";
-var103 = core__flat___NativeString___to_s_full(var102, 6l, 6l);
-var101 = var103;
-varonce100 = var101;
-}
-{
-nitc___nitc__CodeWriter___add_decl(var97, var101); /* Direct call abstract_compiler#CodeWriter#add_decl on <var97:CodeWriter>*/
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
-var106 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
-if (unlikely(var106 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 585);
-fatal_exit(1);
-}
-var104 = var106;
-RET_LABEL105:(void)0;
-}
-}
-if (likely(varonce107!=NULL)) {
-var108 = varonce107;
-} else {
-var109 = "#ifdef __pnacl__";
-var110 = core__flat___NativeString___to_s_full(var109, 16l, 16l);
-var108 = var110;
-varonce107 = var108;
-}
-{
-nitc___nitc__CodeWriter___add_decl(var104, var108); /* Direct call abstract_compiler#CodeWriter#add_decl on <var104:CodeWriter>*/
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
-var113 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
-if (unlikely(var113 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 585);
-fatal_exit(1);
-}
-var111 = var113;
-RET_LABEL112:(void)0;
-}
-}
-if (likely(varonce114!=NULL)) {
-var115 = varonce114;
-} else {
-var116 = "\t#define be16toh(val) (((val) >> 8) | ((val) << 8))";
-var117 = core__flat___NativeString___to_s_full(var116, 51l, 51l);
-var115 = var117;
-varonce114 = var115;
-}
-{
-nitc___nitc__CodeWriter___add_decl(var111, var115); /* Direct call abstract_compiler#CodeWriter#add_decl on <var111:CodeWriter>*/
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
-var120 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
-if (unlikely(var120 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 585);
-fatal_exit(1);
-}
-var118 = var120;
-RET_LABEL119:(void)0;
-}
-}
-if (likely(varonce121!=NULL)) {
-var122 = varonce121;
-} else {
-var123 = "\t#define be32toh(val) ((be16toh((val) << 16) | (be16toh((val) >> 16))))";
-var124 = core__flat___NativeString___to_s_full(var123, 71l, 71l);
-var122 = var124;
-varonce121 = var122;
-}
-{
-nitc___nitc__CodeWriter___add_decl(var118, var122); /* Direct call abstract_compiler#CodeWriter#add_decl on <var118:CodeWriter>*/
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
-var127 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
-if (unlikely(var127 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 585);
-fatal_exit(1);
-}
-var125 = var127;
-RET_LABEL126:(void)0;
-}
-}
-if (likely(varonce128!=NULL)) {
-var129 = varonce128;
-} else {
-var130 = "#endif";
-var131 = core__flat___NativeString___to_s_full(var130, 6l, 6l);
-var129 = var131;
-varonce128 = var129;
-}
-{
-nitc___nitc__CodeWriter___add_decl(var125, var129); /* Direct call abstract_compiler#CodeWriter#add_decl on <var125:CodeWriter>*/
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
-var134 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
-if (unlikely(var134 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 585);
-fatal_exit(1);
-}
-var132 = var134;
-RET_LABEL133:(void)0;
-}
-}
-if (likely(varonce135!=NULL)) {
-var136 = varonce135;
-} else {
-var137 = "#ifdef ANDROID";
-var138 = core__flat___NativeString___to_s_full(var137, 14l, 14l);
-var136 = var138;
-varonce135 = var136;
-}
-{
-nitc___nitc__CodeWriter___add_decl(var132, var136); /* Direct call abstract_compiler#CodeWriter#add_decl on <var132:CodeWriter>*/
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
-var141 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
-if (unlikely(var141 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 585);
-fatal_exit(1);
-}
-var139 = var141;
-RET_LABEL140:(void)0;
-}
-}
-if (likely(varonce142!=NULL)) {
-var143 = varonce142;
-} else {
-var144 = "\t#define be32toh(val) betoh32(val)";
-var145 = core__flat___NativeString___to_s_full(var144, 34l, 34l);
-var143 = var145;
-varonce142 = var143;
-}
-{
-nitc___nitc__CodeWriter___add_decl(var139, var143); /* Direct call abstract_compiler#CodeWriter#add_decl on <var139:CodeWriter>*/
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
-var148 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
-if (unlikely(var148 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 585);
-fatal_exit(1);
-}
-var146 = var148;
-RET_LABEL147:(void)0;
-}
-}
-if (likely(varonce149!=NULL)) {
-var150 = varonce149;
-} else {
-var151 = "\t#include <android/log.h>";
-var152 = core__flat___NativeString___to_s_full(var151, 25l, 25l);
-var150 = var152;
-varonce149 = var150;
-}
-{
-nitc___nitc__CodeWriter___add_decl(var146, var150); /* Direct call abstract_compiler#CodeWriter#add_decl on <var146:CodeWriter>*/
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
-var155 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
-if (unlikely(var155 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 585);
-fatal_exit(1);
-}
-var153 = var155;
-RET_LABEL154:(void)0;
-}
-}
-if (likely(varonce156!=NULL)) {
-var157 = varonce156;
-} else {
-var158 = "\t#define PRINT_ERROR(...) (void)__android_log_print(ANDROID_LOG_WARN, \"Nit\", __VA_ARGS__)";
-var159 = core__flat___NativeString___to_s_full(var158, 89l, 89l);
-var157 = var159;
-varonce156 = var157;
-}
-{
-nitc___nitc__CodeWriter___add_decl(var153, var157); /* Direct call abstract_compiler#CodeWriter#add_decl on <var153:CodeWriter>*/
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
-var162 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
-if (unlikely(var162 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 585);
-fatal_exit(1);
-}
-var160 = var162;
-RET_LABEL161:(void)0;
-}
-}
-if (likely(varonce163!=NULL)) {
-var164 = varonce163;
-} else {
-var165 = "#else";
-var166 = core__flat___NativeString___to_s_full(var165, 5l, 5l);
-var164 = var166;
-varonce163 = var164;
-}
-{
-nitc___nitc__CodeWriter___add_decl(var160, var164); /* Direct call abstract_compiler#CodeWriter#add_decl on <var160:CodeWriter>*/
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
-var169 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
-if (unlikely(var169 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 585);
-fatal_exit(1);
-}
-var167 = var169;
-RET_LABEL168:(void)0;
-}
-}
-if (likely(varonce170!=NULL)) {
-var171 = varonce170;
-} else {
-var172 = "\t#define PRINT_ERROR(...) fprintf(stderr, __VA_ARGS__)";
-var173 = core__flat___NativeString___to_s_full(var172, 54l, 54l);
-var171 = var173;
-varonce170 = var171;
-}
-{
-nitc___nitc__CodeWriter___add_decl(var167, var171); /* Direct call abstract_compiler#CodeWriter#add_decl on <var167:CodeWriter>*/
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
-var176 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
-if (unlikely(var176 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 585);
-fatal_exit(1);
-}
-var174 = var176;
-RET_LABEL175:(void)0;
-}
-}
-if (likely(varonce177!=NULL)) {
-var178 = varonce177;
-} else {
-var179 = "#endif";
-var180 = core__flat___NativeString___to_s_full(var179, 6l, 6l);
-var178 = var180;
-varonce177 = var178;
-}
-{
-nitc___nitc__CodeWriter___add_decl(var174, var178); /* Direct call abstract_compiler#CodeWriter#add_decl on <var174:CodeWriter>*/
-}
-{
-((void(*)(val* self))(self->class->vft[COLOR_nitc__abstract_compiler__AbstractCompiler__compile_header_structs]))(self); /* compile_header_structs on <self:AbstractCompiler>*/
-}
-{
-nitc___nitc__SeparateCompiler___nitc__abstract_compiler__AbstractCompiler__compile_nitni_structs(self); /* Direct call separate_compiler#SeparateCompiler#compile_nitni_structs on <self:AbstractCompiler>*/
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:AbstractCompiler> */
-var183 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on <self:AbstractCompiler> */
-if (unlikely(var183 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 538);
-fatal_exit(1);
-}
-var181 = var183;
-RET_LABEL182:(void)0;
-}
-}
-{
-{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (var181) on <var181:ModelBuilder> */
-var186 = var181->attrs[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on <var181:ModelBuilder> */
-if (unlikely(var186 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base, 47);
-fatal_exit(1);
-}
-var184 = var186;
-RET_LABEL185:(void)0;
-}
-}
-{
-{ /* Inline abstract_compiler#ToolContext#opt_no_gcc_directive (var184) on <var184:ToolContext> */
-var189 = var184->attrs[COLOR_nitc__abstract_compiler__ToolContext___opt_no_gcc_directive].val; /* _opt_no_gcc_directive on <var184:ToolContext> */
-if (unlikely(var189 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_gcc_directive");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 68);
-fatal_exit(1);
-}
-var187 = var189;
-RET_LABEL188:(void)0;
-}
-}
-{
-{ /* Inline opts#Option#value (var187) on <var187:OptionArray> */
-var192 = var187->attrs[COLOR_opts__Option___value].val; /* _value on <var187:OptionArray> */
-var190 = var192;
-RET_LABEL191:(void)0;
-}
-}
-var_gccd_disable = var190;
-if (likely(varonce194!=NULL)) {
-var195 = varonce194;
-} else {
-var196 = "noreturn";
-var197 = core__flat___NativeString___to_s_full(var196, 8l, 8l);
-var195 = var197;
-varonce194 = var195;
-}
-{
-var198 = core___core__AbstractArrayRead___core__abstract_collection__Collection__has(var_gccd_disable, var195);
-}
-var_ = var198;
-if (var198){
-var193 = var_;
-} else {
-if (likely(varonce199!=NULL)) {
-var200 = varonce199;
-} else {
-var201 = "all";
-var202 = core__flat___NativeString___to_s_full(var201, 3l, 3l);
-var200 = var202;
-varonce199 = var200;
-}
-{
-var203 = core___core__AbstractArrayRead___core__abstract_collection__Collection__has(var_gccd_disable, var200);
-}
-var193 = var203;
-}
-if (var193){
-{
-{ /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
-var206 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
-if (unlikely(var206 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 585);
-fatal_exit(1);
-}
-var204 = var206;
-RET_LABEL205:(void)0;
-}
-}
-if (likely(varonce207!=NULL)) {
-var208 = varonce207;
-} else {
-var209 = "void fatal_exit(int);";
-var210 = core__flat___NativeString___to_s_full(var209, 21l, 21l);
-var208 = var210;
-varonce207 = var208;
-}
-{
-nitc___nitc__CodeWriter___add_decl(var204, var208); /* Direct call abstract_compiler#CodeWriter#add_decl on <var204:CodeWriter>*/
-}
-} else {
-{
-{ /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
-var213 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
-if (unlikely(var213 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 585);
-fatal_exit(1);
-}
-var211 = var213;
-RET_LABEL212:(void)0;
-}
-}
-if (likely(varonce214!=NULL)) {
-var215 = varonce214;
-} else {
-var216 = "void fatal_exit(int) __attribute__ ((noreturn));";
-var217 = core__flat___NativeString___to_s_full(var216, 48l, 48l);
-var215 = var217;
-varonce214 = var215;
-}
-{
-nitc___nitc__CodeWriter___add_decl(var211, var215); /* Direct call abstract_compiler#CodeWriter#add_decl on <var211:CodeWriter>*/
-}
-}
-if (likely(varonce219!=NULL)) {
-var220 = varonce219;
-} else {
-var221 = "likely";
-var222 = core__flat___NativeString___to_s_full(var221, 6l, 6l);
-var220 = var222;
-varonce219 = var220;
-}
-{
-var223 = core___core__AbstractArrayRead___core__abstract_collection__Collection__has(var_gccd_disable, var220);
-}
-var_224 = var223;
-if (var223){
-var218 = var_224;
-} else {
-if (likely(varonce225!=NULL)) {
-var226 = varonce225;
-} else {
-var227 = "all";
-var228 = core__flat___NativeString___to_s_full(var227, 3l, 3l);
-var226 = var228;
-varonce225 = var226;
-}
-{
-var229 = core___core__AbstractArrayRead___core__abstract_collection__Collection__has(var_gccd_disable, var226);
-}
-var218 = var229;
-}
-if (var218){
-{
-{ /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
-var232 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
-if (unlikely(var232 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 585);
-fatal_exit(1);
-}
-var230 = var232;
-RET_LABEL231:(void)0;
-}
-}
-if (likely(varonce233!=NULL)) {
-var234 = varonce233;
-} else {
-var235 = "#define likely(x) (x)";
-var236 = core__flat___NativeString___to_s_full(var235, 27l, 27l);
-var234 = var236;
-varonce233 = var234;
-}
-{
-nitc___nitc__CodeWriter___add_decl(var230, var234); /* Direct call abstract_compiler#CodeWriter#add_decl on <var230:CodeWriter>*/
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
-var239 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
-if (unlikely(var239 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 585);
-fatal_exit(1);
-}
-var237 = var239;
-RET_LABEL238:(void)0;
-}
-}
-if (likely(varonce240!=NULL)) {
-var241 = varonce240;
-} else {
-var242 = "#define unlikely(x) (x)";
-var243 = core__flat___NativeString___to_s_full(var242, 27l, 27l);
-var241 = var243;
-varonce240 = var241;
-}
-{
-nitc___nitc__CodeWriter___add_decl(var237, var241); /* Direct call abstract_compiler#CodeWriter#add_decl on <var237:CodeWriter>*/
-}
-} else {
-if (likely(varonce244!=NULL)) {
-var245 = varonce244;
-} else {
-var246 = "correct-likely";
-var247 = core__flat___NativeString___to_s_full(var246, 14l, 14l);
-var245 = var247;
-varonce244 = var245;
-}
-{
-var248 = core___core__AbstractArrayRead___core__abstract_collection__Collection__has(var_gccd_disable, var245);
-}
-if (var248){
-{
-{ /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
-var251 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
-if (unlikely(var251 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 585);
-fatal_exit(1);
-}
-var249 = var251;
-RET_LABEL250:(void)0;
-}
-}
-if (likely(varonce252!=NULL)) {
-var253 = varonce252;
-} else {
-var254 = "#define likely(x) __builtin_expect((x),0)";
-var255 = core__flat___NativeString___to_s_full(var254, 47l, 47l);
-var253 = var255;
-varonce252 = var253;
-}
-{
-nitc___nitc__CodeWriter___add_decl(var249, var253); /* Direct call abstract_compiler#CodeWriter#add_decl on <var249:CodeWriter>*/
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
-var258 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
-if (unlikely(var258 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 585);
-fatal_exit(1);
-}
-var256 = var258;
-RET_LABEL257:(void)0;
-}
-}
-if (likely(varonce259!=NULL)) {
-var260 = varonce259;
-} else {
-var261 = "#define unlikely(x) __builtin_expect((x),1)";
-var262 = core__flat___NativeString___to_s_full(var261, 47l, 47l);
-var260 = var262;
-varonce259 = var260;
-}
-{
-nitc___nitc__CodeWriter___add_decl(var256, var260); /* Direct call abstract_compiler#CodeWriter#add_decl on <var256:CodeWriter>*/
-}
-} else {
-{
-{ /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
-var265 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
-if (unlikely(var265 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 585);
-fatal_exit(1);
-}
-var263 = var265;
-RET_LABEL264:(void)0;
-}
-}
-if (likely(varonce266!=NULL)) {
-var267 = varonce266;
-} else {
-var268 = "#define likely(x) __builtin_expect((x),1)";
-var269 = core__flat___NativeString___to_s_full(var268, 47l, 47l);
-var267 = var269;
-varonce266 = var267;
-}
-{
-nitc___nitc__CodeWriter___add_decl(var263, var267); /* Direct call abstract_compiler#CodeWriter#add_decl on <var263:CodeWriter>*/
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
-var272 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
-if (unlikely(var272 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 585);
-fatal_exit(1);
-}
-var270 = var272;
-RET_LABEL271:(void)0;
-}
-}
-if (likely(varonce273!=NULL)) {
-var274 = varonce273;
-} else {
-var275 = "#define unlikely(x) __builtin_expect((x),0)";
-var276 = core__flat___NativeString___to_s_full(var275, 47l, 47l);
-var274 = var276;
-varonce273 = var274;
-}
-{
-nitc___nitc__CodeWriter___add_decl(var270, var274); /* Direct call abstract_compiler#CodeWriter#add_decl on <var270:CodeWriter>*/
-}
-}
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
-var279 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
-if (unlikely(var279 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 585);
-fatal_exit(1);
-}
-var277 = var279;
-RET_LABEL278:(void)0;
-}
-}
-if (likely(varonce280!=NULL)) {
-var281 = varonce280;
-} else {
-var282 = "extern int glob_argc;";
-var283 = core__flat___NativeString___to_s_full(var282, 21l, 21l);
-var281 = var283;
-varonce280 = var281;
-}
-{
-nitc___nitc__CodeWriter___add_decl(var277, var281); /* Direct call abstract_compiler#CodeWriter#add_decl on <var277:CodeWriter>*/
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
-var286 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
-if (unlikely(var286 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 585);
-fatal_exit(1);
-}
-var284 = var286;
-RET_LABEL285:(void)0;
-}
-}
-if (likely(varonce287!=NULL)) {
-var288 = varonce287;
-} else {
-var289 = "extern char **glob_argv;";
-var290 = core__flat___NativeString___to_s_full(var289, 24l, 24l);
-var288 = var290;
-varonce287 = var288;
-}
-{
-nitc___nitc__CodeWriter___add_decl(var284, var288); /* Direct call abstract_compiler#CodeWriter#add_decl on <var284:CodeWriter>*/
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
-var293 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
-if (unlikely(var293 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 585);
-fatal_exit(1);
-}
-var291 = var293;
-RET_LABEL292:(void)0;
-}
-}
-if (likely(varonce294!=NULL)) {
-var295 = varonce294;
-} else {
-var296 = "extern val *glob_sys;";
-var297 = core__flat___NativeString___to_s_full(var296, 21l, 21l);
-var295 = var297;
-varonce294 = var295;
-}
-{
-nitc___nitc__CodeWriter___add_decl(var291, var295); /* Direct call abstract_compiler#CodeWriter#add_decl on <var291:CodeWriter>*/
-}
-RET_LABEL:;
-}
-/* method abstract_compiler#AbstractCompiler#compile_nitni_structs for (self: AbstractCompiler) */
-void nitc___nitc__AbstractCompiler___compile_nitni_structs(val* self) {
-val* var /* : CodeWriter */;
-val* var2 /* : CodeWriter */;
-static val* varonce;
-val* var3 /* : String */;
-char* var4 /* : NativeString */;
-val* var5 /* : String */;
-{
-{ /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
-var2 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___header].val; /* _header on <self:AbstractCompiler> */
-if (unlikely(var2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 585);
-fatal_exit(1);
-}
-var = var2;
-RET_LABEL1:(void)0;
-}
-}
-if (likely(varonce!=NULL)) {
-var3 = varonce;
-} else {
-var4 = "/* Native reference to Nit objects */\n/* This structure is used to represent every Nit type in extern methods and custom C code. */\nstruct nitni_ref {\n\tstruct nitni_ref *next,\n\t\t*prev; /* adjacent global references in global list */\n\tint count; /* number of time this global reference has been marked */\n};\n\n/* List of global references from C code to Nit objects */\n/* Instanciated empty at init of Nit system and filled explicitly by user in C code */\nstruct nitni_global_ref_list_t {\n\tstruct nitni_ref *head, *tail;\n};\nextern struct nitni_global_ref_list_t *nitni_global_ref_list;\n\n/* Initializer of global reference list */\nextern void nitni_global_ref_list_init();\n\n/* Intern function to add a global reference to the list */\nextern void nitni_global_ref_add( struct nitni_ref *ref );\n\n/* Intern function to remove a global reference from the list */\nextern void nitni_global_ref_remove( struct nitni_ref *ref );\n\n/* Increase count on an existing global reference */\nextern void nitni_global_ref_incr( struct nitni_ref *ref );\n\n/* Decrease count on an existing global reference */\nextern void nitni_global_ref_decr( struct nitni_ref *ref );\n";
-var5 = core__flat___NativeString___to_s_full(var4, 1146l, 1146l);
-var3 = var5;
-varonce = var3;
-}
-{
-nitc___nitc__CodeWriter___add_decl(var, var3); /* Direct call abstract_compiler#CodeWriter#add_decl on <var:CodeWriter>*/
-}
-RET_LABEL:;
-}
-/* method abstract_compiler#AbstractCompiler#compile_finalizer_function for (self: AbstractCompiler) */
-void nitc___nitc__AbstractCompiler___compile_finalizer_function(val* self) {
-val* var /* : MModule */;
-val* var2 /* : MModule */;
-val* var3 /* : nullable MClassType */;
-val* var_finalizable_type /* var finalizable_type: nullable MClassType */;
-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 /* : MModule */;
-val* var12 /* : MModule */;
-static val* varonce;
-val* var13 /* : String */;
-char* var14 /* : NativeString */;
-val* var15 /* : String */;
-val* var16 /* : MClass */;
-val* var18 /* : MClass */;
-val* var19 /* : nullable MMethod */;
-val* var_finalize_meth /* var finalize_meth: nullable MMethod */;
-short int var20 /* : Bool */;
-short int var21 /* : Bool */;
-short int var23 /* : Bool */;
-short int var25 /* : Bool */;
-val* var26 /* : ModelBuilder */;
-val* var28 /* : ModelBuilder */;
-val* var29 /* : ToolContext */;
-val* var31 /* : ToolContext */;
-static val* varonce32;
-val* var33 /* : String */;
-char* var34 /* : NativeString */;
-val* var35 /* : String */;
-val* var36 /* : Message */;
-val* var37 /* : AbstractCompilerVisitor */;
-val* var_v /* var v: AbstractCompilerVisitor */;
-static val* varonce38;
-val* var39 /* : String */;
-char* var40 /* : NativeString */;
-val* var41 /* : String */;
-static val* varonce42;
-val* var43 /* : String */;
-char* var44 /* : NativeString */;
-val* var45 /* : String */;
-val* var46 /* : RuntimeVariable */;
-val* var_recv /* var recv: RuntimeVariable */;
-val* var47 /* : Array[RuntimeVariable] */;
-val* var_ /* var : Array[RuntimeVariable] */;
-val* var48 /* : nullable RuntimeVariable */;
-static val* varonce49;
-val* var50 /* : String */;
-char* var51 /* : NativeString */;
-val* var52 /* : String */;
-{
-{ /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:AbstractCompiler> */
-var2 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on <self:AbstractCompiler> */
-if (unlikely(var2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 531);
-fatal_exit(1);
-}
-var = var2;
-RET_LABEL1:(void)0;
-}
-}
-{
-var3 = nitc__model___MModule___finalizable_type(var);
-}
-var_finalizable_type = var3;
-if (var_finalizable_type == NULL) {
-var4 = 1; /* is null */
-} else {
-var4 = 0; /* arg is null but recv is not */
-}
-if (0) {
-{ /* Inline kernel#Object#== (var_finalizable_type,((val*)NULL)) on <var_finalizable_type:nullable MClassType> */
-var_other = ((val*)NULL);
-{
-{ /* Inline kernel#Object#is_same_instance (var_finalizable_type,var_other) on <var_finalizable_type:nullable MClassType(MClassType)> */
-var9 = var_finalizable_type == var_other;
-var7 = var9;
-goto RET_LABEL8;
-RET_LABEL8:(void)0;
-}
-}
-var5 = var7;
-goto RET_LABEL6;
-RET_LABEL6:(void)0;
-}
-var4 = var5;
-}
-if (var4){
-goto RET_LABEL;
-} else {
-}
-{
-{ /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:AbstractCompiler> */
-var12 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on <self:AbstractCompiler> */
-if (unlikely(var12 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 531);
-fatal_exit(1);
-}
-var10 = var12;
-RET_LABEL11:(void)0;
-}
-}
-if (likely(varonce!=NULL)) {
-var13 = varonce;
-} else {
-var14 = "finalize";
-var15 = core__flat___NativeString___to_s_full(var14, 8l, 8l);
-var13 = var15;
-varonce = var13;
-}
-{
-{ /* Inline model#MClassType#mclass (var_finalizable_type) on <var_finalizable_type:nullable MClassType(MClassType)> */
-var18 = var_finalizable_type->attrs[COLOR_nitc__model__MClassType___mclass].val; /* _mclass on <var_finalizable_type:nullable MClassType(MClassType)> */
-if (unlikely(var18 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1163);
-fatal_exit(1);
-}
-var16 = var18;
-RET_LABEL17:(void)0;
-}
-}
-{
-var19 = nitc__model___MModule___try_get_primitive_method(var10, var13, var16);
-}
-var_finalize_meth = var19;
-if (var_finalize_meth == NULL) {
-var20 = 1; /* is null */
-} else {
-var20 = 0; /* arg is null but recv is not */
-}
-if (0) {
-{ /* Inline kernel#Object#== (var_finalize_meth,((val*)NULL)) on <var_finalize_meth:nullable MMethod> */
-var_other = ((val*)NULL);
-{
-{ /* Inline kernel#Object#is_same_instance (var_finalize_meth,var_other) on <var_finalize_meth:nullable MMethod(MMethod)> */
-var25 = var_finalize_meth == var_other;
-var23 = var25;
-goto RET_LABEL24;
-RET_LABEL24:(void)0;
-}
-}
-var21 = var23;
-goto RET_LABEL22;
-RET_LABEL22:(void)0;
-}
-var20 = var21;
-}
-if (var20){
-{
-{ /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:AbstractCompiler> */
-var28 = self->attrs[COLOR_nitc__abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on <self:AbstractCompiler> */
-if (unlikely(var28 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler, 538);
-fatal_exit(1);
-}
-var26 = var28;
-RET_LABEL27:(void)0;
-}
-}
-{
-{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (var26) on <var26:ModelBuilder> */
-var31 = var26->attrs[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on <var26:ModelBuilder> */
-if (unlikely(var31 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base, 47);
-fatal_exit(1);
-}
-var29 = var31;
-RET_LABEL30:(void)0;
-}
-}
-if (likely(varonce32!=NULL)) {
-var33 = varonce32;
-} else {
-var34 = "Error: the `Finalizable` class does not declare the `finalize` method.";
-var35 = core__flat___NativeString___to_s_full(var34, 70l, 70l);
-var33 = var35;
-varonce32 = var33;
-}
-{
-var36 = nitc___nitc__ToolContext___error(var29, ((val*)NULL), var33);
-}
-goto RET_LABEL;
-} else {
-}
-{
-var37 = ((val*(*)(val* self))(self->class->vft[COLOR_nitc__abstract_compiler__AbstractCompiler__new_visitor]))(self); /* new_visitor on <self:AbstractCompiler>*/
-}
-var_v = var37;
-if (likely(varonce38!=NULL)) {
-var39 = varonce38;
-} else {
-var40 = "void gc_finalize (void *obj, void *client_data) {";
-var41 = core__flat___NativeString___to_s_full(var40, 49l, 49l);
-var39 = var41;
-varonce38 = var39;
-}
-{
-nitc___nitc__AbstractCompilerVisitor___add_decl(var_v, var39); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
-}
-if (likely(varonce42!=NULL)) {
-var43 = varonce42;
-} else {
-var44 = "obj";
-var45 = core__flat___NativeString___to_s_full(var44, 3l, 3l);
-var43 = var45;
-varonce42 = var43;
-}
-{
-var46 = nitc___nitc__AbstractCompilerVisitor___new_expr(var_v, var43, var_finalizable_type);
-}
-var_recv = var46;
-var47 = NEW_core__Array(&type_core__Array__nitc__RuntimeVariable);
-{
-core___core__Array___with_capacity(var47, 1l); /* Direct call array#Array#with_capacity on <var47:Array[RuntimeVariable]>*/
-}
-var_ = var47;
-{
-core___core__AbstractArray___core__abstract_collection__Sequence__push(var_, var_recv); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
-}
-{
-var48 = nitc___nitc__SeparateCompilerVisitor___nitc__abstract_compiler__AbstractCompilerVisitor__send(var_v, var_finalize_meth, var_);
-}
-if (likely(varonce49!=NULL)) {
-var50 = varonce49;
-} else {
-var51 = "}";
-var52 = core__flat___NativeString___to_s_full(var51, 1l, 1l);
-var50 = var52;
-varonce49 = var50;