csrc: regen for 32 bits platforms and Windows
[nit.git] / c_src / nitc__literal.sep.1.c
index 631f055..f56102e 100644 (file)
@@ -1,16 +1,19 @@
 #include "nitc__literal.sep.0.h"
-/* method literal#LiteralPhase#process_nmodule for (self: LiteralPhase, AModule) */
+/* method literal$LiteralPhase$process_nmodule for (self: LiteralPhase, AModule) */
 void nitc__literal___nitc__literal__LiteralPhase___nitc__phase__Phase__process_nmodule(val* self, val* p0) {
 val* var_nmodule /* var nmodule: AModule */;
 val* var /* : ToolContext */;
 val* var2 /* : ToolContext */;
 var_nmodule = p0;
 {
-{ /* Inline phase#Phase#toolcontext (self) on <self:LiteralPhase> */
+{ /* Inline phase$Phase$toolcontext (self) on <self:LiteralPhase> */
 var2 = self->attrs[COLOR_nitc__phase__Phase___toolcontext].val; /* _toolcontext on <self:LiteralPhase> */
 if (unlikely(var2 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase, 200);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase, 210);
 fatal_exit(1);
 }
 var = var2;
@@ -18,11 +21,11 @@ RET_LABEL1:(void)0;
 }
 }
 {
-nitc__literal___AModule___do_literal(var_nmodule, var); /* Direct call literal#AModule#do_literal on <var_nmodule:AModule>*/
+nitc__literal___AModule___do_literal(var_nmodule, var); /* Direct call literal$AModule$do_literal on <var_nmodule:AModule>*/
 }
 RET_LABEL:;
 }
-/* method literal#AModule#do_literal for (self: AModule, ToolContext) */
+/* method literal$AModule$do_literal for (self: AModule, ToolContext) */
 void nitc__literal___AModule___do_literal(val* self, val* p0) {
 val* var_toolcontext /* var toolcontext: ToolContext */;
 val* var /* : LiteralVisitor */;
@@ -37,16 +40,19 @@ var = NEW_nitc__literal__LiteralVisitor(&type_nitc__literal__LiteralVisitor);
 }
 var_v = var;
 {
-nitc___nitc__Visitor___enter_visit(var_v, self); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:LiteralVisitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, self); /* Direct call parser_nodes$Visitor$enter_visit on <var_v:LiteralVisitor>*/
 }
 RET_LABEL:;
 }
-/* method literal#LiteralVisitor#toolcontext for (self: LiteralVisitor): ToolContext */
+/* method literal$LiteralVisitor$toolcontext for (self: LiteralVisitor): ToolContext */
 val* nitc__literal___nitc__literal__LiteralVisitor___toolcontext(val* self) {
 val* var /* : ToolContext */;
 val* var1 /* : ToolContext */;
 var1 = self->attrs[COLOR_nitc__literal__LiteralVisitor___toolcontext].val; /* _toolcontext on <self:LiteralVisitor> */
 if (unlikely(var1 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__literal, 46);
 fatal_exit(1);
@@ -55,12 +61,12 @@ var = var1;
 RET_LABEL:;
 return var;
 }
-/* method literal#LiteralVisitor#toolcontext= for (self: LiteralVisitor, ToolContext) */
+/* method literal$LiteralVisitor$toolcontext= for (self: LiteralVisitor, ToolContext) */
 void nitc__literal___nitc__literal__LiteralVisitor___toolcontext_61d(val* self, val* p0) {
 self->attrs[COLOR_nitc__literal__LiteralVisitor___toolcontext].val = p0; /* _toolcontext on <self:LiteralVisitor> */
 RET_LABEL:;
 }
-/* method literal#LiteralVisitor#visit for (self: LiteralVisitor, ANode) */
+/* method literal$LiteralVisitor$visit for (self: LiteralVisitor, ANode) */
 void nitc__literal___nitc__literal__LiteralVisitor___nitc__parser_nodes__Visitor__visit(val* self, val* p0) {
 val* var_n /* var n: ANode */;
 var_n = p0;
@@ -72,28 +78,28 @@ var_n = p0;
 }
 RET_LABEL:;
 }
-/* method literal#LiteralVisitor#init for (self: LiteralVisitor) */
+/* method literal$LiteralVisitor$init for (self: LiteralVisitor) */
 void nitc__literal___nitc__literal__LiteralVisitor___core__kernel__Object__init(val* self) {
 {
 ((void(*)(val* self))(self->class->vft[COLOR_nitc__literal___nitc__literal__LiteralVisitor___core__kernel__Object__init]))(self); /* init on <self:LiteralVisitor>*/
 }
 RET_LABEL:;
 }
-/* method literal#ANode#accept_literal for (self: ANode, LiteralVisitor) */
+/* method literal$ANode$accept_literal for (self: ANode, LiteralVisitor) */
 void nitc__literal___ANode___accept_literal(val* self, val* p0) {
 val* var_v /* var v: LiteralVisitor */;
 var_v = p0;
 RET_LABEL:;
 }
-/* method literal#AExpr#as_string for (self: AExpr): nullable String */
+/* method literal$AExpr$as_string for (self: AExpr): nullable String */
 val* nitc__literal___AExpr___as_string(val* self) {
 val* var /* : nullable String */;
 short int var1 /* : Bool */;
 int cltype;
 int idtype;
 short int var2 /* : Bool */;
-val* var3 /* : nullable String */;
-val* var5 /* : nullable String */;
+val* var3 /* : String */;
+val* var5 /* : String */;
 /* <self:AExpr> isa AStringFormExpr */
 cltype = type_nitc__AStringFormExpr.color;
 idtype = type_nitc__AStringFormExpr.id;
@@ -109,23 +115,26 @@ goto RET_LABEL;
 } else {
 }
 {
-{ /* Inline literal#AStringFormExpr#value (self) on <self:AExpr(AStringFormExpr)> */
+{ /* Inline literal$AStringFormExpr$value (self) on <self:AExpr(AStringFormExpr)> */
 var5 = self->attrs[COLOR_nitc__literal__AStringFormExpr___value].val; /* _value on <self:AExpr(AStringFormExpr)> */
+if (unlikely(var5 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _value");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__literal, 201);
+fatal_exit(1);
+}
 var3 = var5;
 RET_LABEL4:(void)0;
 }
 }
-if (unlikely(var3 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__literal, 65);
-fatal_exit(1);
-}
 var = var3;
 goto RET_LABEL;
 RET_LABEL:;
 return var;
 }
-/* method literal#AIntegerExpr#value for (self: AIntegerExpr): nullable Numeric */
+/* method literal$AIntegerExpr$value for (self: AIntegerExpr): nullable Numeric */
 val* nitc__literal___AIntegerExpr___value(val* self) {
 val* var /* : nullable Numeric */;
 val* var1 /* : nullable Numeric */;
@@ -134,12 +143,12 @@ var = var1;
 RET_LABEL:;
 return var;
 }
-/* method literal#AIntegerExpr#value= for (self: AIntegerExpr, nullable Numeric) */
+/* method literal$AIntegerExpr$value= for (self: AIntegerExpr, nullable Numeric) */
 void nitc__literal___AIntegerExpr___value_61d(val* self, val* p0) {
 self->attrs[COLOR_nitc__literal__AIntegerExpr___value].val = p0; /* _value on <self:AIntegerExpr> */
 RET_LABEL:;
 }
-/* method literal#AIntegerExpr#accept_literal for (self: AIntegerExpr, LiteralVisitor) */
+/* method literal$AIntegerExpr$accept_literal for (self: AIntegerExpr, LiteralVisitor) */
 void nitc__literal___AIntegerExpr___ANode__accept_literal(val* self, val* p0) {
 val* var_v /* var v: LiteralVisitor */;
 val* var /* : TInteger */;
@@ -157,24 +166,35 @@ val* var15 /* : NativeArray[String] */;
 static val* varonce;
 static val* varonce16;
 val* var17 /* : String */;
-char* var18 /* : NativeString */;
+char* var18 /* : CString */;
 val* var19 /* : String */;
-static val* varonce20;
-val* var21 /* : String */;
-char* var22 /* : NativeString */;
-val* var23 /* : String */;
-val* var24 /* : TInteger */;
-val* var26 /* : TInteger */;
+val* var20 /* : nullable Int */;
+val* var21 /* : nullable Int */;
+val* var22 /* : nullable Bool */;
+val* var23 /* : nullable Bool */;
+static val* varonce24;
+val* var25 /* : String */;
+char* var26 /* : CString */;
 val* var27 /* : String */;
-val* var28 /* : String */;
-val* var29 /* : Message */;
+val* var28 /* : nullable Int */;
+val* var29 /* : nullable Int */;
+val* var30 /* : nullable Bool */;
+val* var31 /* : nullable Bool */;
+val* var32 /* : TInteger */;
+val* var34 /* : TInteger */;
+val* var35 /* : String */;
+val* var36 /* : String */;
+val* var37 /* : Message */;
 var_v = p0;
 {
-{ /* Inline parser_nodes#AIntegerExpr#n_integer (self) on <self:AIntegerExpr> */
+{ /* Inline parser_nodes$AIntegerExpr$n_integer (self) on <self:AIntegerExpr> */
 var2 = self->attrs[COLOR_nitc__parser_nodes__AIntegerExpr___n_integer].val; /* _n_integer on <self:AIntegerExpr> */
 if (unlikely(var2 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_integer");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2511);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2592);
 fatal_exit(1);
 }
 var = var2;
@@ -185,16 +205,16 @@ RET_LABEL1:(void)0;
 var3 = nitc__lexer_work___Token___text(var);
 }
 {
-var4 = core__fixed_ints___Text___to_num(var3);
+var4 = core__fixed_ints_text___Text___to_num(var3);
 }
 {
-{ /* Inline literal#AIntegerExpr#value= (self,var4) on <self:AIntegerExpr> */
+{ /* Inline literal$AIntegerExpr$value= (self,var4) on <self:AIntegerExpr> */
 self->attrs[COLOR_nitc__literal__AIntegerExpr___value].val = var4; /* _value on <self:AIntegerExpr> */
 RET_LABEL5:(void)0;
 }
 }
 {
-{ /* Inline literal#AIntegerExpr#value (self) on <self:AIntegerExpr> */
+{ /* Inline literal$AIntegerExpr$value (self) on <self:AIntegerExpr> */
 var8 = self->attrs[COLOR_nitc__literal__AIntegerExpr___value].val; /* _value on <self:AIntegerExpr> */
 var6 = var8;
 RET_LABEL7:(void)0;
@@ -211,9 +231,12 @@ var9 = var10;
 }
 if (var9){
 {
-{ /* Inline literal#LiteralVisitor#toolcontext (var_v) on <var_v:LiteralVisitor> */
+{ /* Inline literal$LiteralVisitor$toolcontext (var_v) on <var_v:LiteralVisitor> */
 var13 = var_v->attrs[COLOR_nitc__literal__LiteralVisitor___toolcontext].val; /* _toolcontext on <var_v:LiteralVisitor> */
 if (unlikely(var13 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__literal, 46);
 fatal_exit(1);
@@ -226,62 +249,73 @@ RET_LABEL12:(void)0;
 var14 = nitc___nitc__ANode___hot_location(self);
 }
 if (unlikely(varonce==NULL)) {
-var15 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String);
+var15 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String);
 if (likely(varonce16!=NULL)) {
 var17 = varonce16;
 } else {
 var18 = "Error: invalid literal `";
-var19 = core__flat___NativeString___to_s_full(var18, 24l, 24l);
+var20 = (val*)(24l<<2|1);
+var21 = (val*)(24l<<2|1);
+var22 = (val*)((long)(0)<<2|3);
+var23 = (val*)((long)(0)<<2|3);
+var19 = core__flat___CString___to_s_unsafe(var18, var20, var21, var22, var23);
 var17 = var19;
 varonce16 = var17;
 }
 ((struct instance_core__NativeArray*)var15)->values[0]=var17;
-if (likely(varonce20!=NULL)) {
-var21 = varonce20;
+if (likely(varonce24!=NULL)) {
+var25 = varonce24;
 } else {
-var22 = "`";
-var23 = core__flat___NativeString___to_s_full(var22, 1l, 1l);
-var21 = var23;
-varonce20 = var21;
-}
-((struct instance_core__NativeArray*)var15)->values[2]=var21;
+var26 = "`";
+var28 = (val*)(1l<<2|1);
+var29 = (val*)(1l<<2|1);
+var30 = (val*)((long)(0)<<2|3);
+var31 = (val*)((long)(0)<<2|3);
+var27 = core__flat___CString___to_s_unsafe(var26, var28, var29, var30, var31);
+var25 = var27;
+varonce24 = var25;
+}
+((struct instance_core__NativeArray*)var15)->values[2]=var25;
 } else {
 var15 = varonce;
 varonce = NULL;
 }
 {
-{ /* Inline parser_nodes#AIntegerExpr#n_integer (self) on <self:AIntegerExpr> */
-var26 = self->attrs[COLOR_nitc__parser_nodes__AIntegerExpr___n_integer].val; /* _n_integer on <self:AIntegerExpr> */
-if (unlikely(var26 == NULL)) {
+{ /* Inline parser_nodes$AIntegerExpr$n_integer (self) on <self:AIntegerExpr> */
+var34 = self->attrs[COLOR_nitc__parser_nodes__AIntegerExpr___n_integer].val; /* _n_integer on <self:AIntegerExpr> */
+if (unlikely(var34 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_integer");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2511);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2592);
 fatal_exit(1);
 }
-var24 = var26;
-RET_LABEL25:(void)0;
+var32 = var34;
+RET_LABEL33:(void)0;
 }
 }
 {
-var27 = nitc__lexer_work___Token___text(var24);
+var35 = nitc__lexer_work___Token___text(var32);
 }
-((struct instance_core__NativeArray*)var15)->values[1]=var27;
+((struct instance_core__NativeArray*)var15)->values[1]=var35;
 {
-var28 = ((val*(*)(val* self))(var15->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var15); /* native_to_s on <var15:NativeArray[String]>*/
+var36 = ((val*(*)(val* self))(var15->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var15); /* native_to_s on <var15:NativeArray[String]>*/
 }
 varonce = var15;
 {
-var29 = nitc___nitc__ToolContext___error(var11, var14, var28);
+var37 = nitc___nitc__ToolContext___error(var11, var14, var36);
 }
 } else {
 }
 RET_LABEL:;
 }
-/* method literal#AFloatExpr#value= for (self: AFloatExpr, nullable Float) */
+/* method literal$AFloatExpr$value= for (self: AFloatExpr, nullable Float) */
 void nitc__literal___AFloatExpr___value_61d(val* self, val* p0) {
 self->attrs[COLOR_nitc__literal__AFloatExpr___value].val = p0; /* _value on <self:AFloatExpr> */
 RET_LABEL:;
 }
-/* method literal#AFloatExpr#accept_literal for (self: AFloatExpr, LiteralVisitor) */
+/* method literal$AFloatExpr$accept_literal for (self: AFloatExpr, LiteralVisitor) */
 void nitc__literal___AFloatExpr___ANode__accept_literal(val* self, val* p0) {
 val* var_v /* var v: LiteralVisitor */;
 val* var /* : TFloat */;
@@ -291,11 +325,14 @@ double var4 /* : Float */;
 val* var6 /* : nullable Float */;
 var_v = p0;
 {
-{ /* Inline parser_nodes#AFloatExpr#n_float (self) on <self:AFloatExpr> */
+{ /* Inline parser_nodes$AFloatExpr$n_float (self) on <self:AFloatExpr> */
 var2 = self->attrs[COLOR_nitc__parser_nodes__AFloatExpr___n_float].val; /* _n_float on <self:AFloatExpr> */
 if (unlikely(var2 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_float");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2519);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2600);
 fatal_exit(1);
 }
 var = var2;
@@ -309,7 +346,7 @@ var3 = nitc__lexer_work___Token___text(var);
 var4 = core___core__Text___to_f(var3);
 }
 {
-{ /* Inline literal#AFloatExpr#value= (self,var4) on <self:AFloatExpr> */
+{ /* Inline literal$AFloatExpr$value= (self,var4) on <self:AFloatExpr> */
 var6 = BOX_core__Float(var4); /* autobox from Float to nullable Float */
 self->attrs[COLOR_nitc__literal__AFloatExpr___value].val = var6; /* _value on <self:AFloatExpr> */
 RET_LABEL5:(void)0;
@@ -317,369 +354,2758 @@ RET_LABEL5:(void)0;
 }
 RET_LABEL:;
 }
-/* method literal#ACharExpr#value for (self: ACharExpr): nullable Char */
-val* nitc__literal___ACharExpr___value(val* self) {
-val* var /* : nullable Char */;
-val* var1 /* : nullable Char */;
-var1 = self->attrs[COLOR_nitc__literal__ACharExpr___value].val; /* _value on <self:ACharExpr> */
-var = var1;
+/* method literal$AAugmentedLiteral$text for (self: AAugmentedLiteral): String */
+val* nitc___nitc__AAugmentedLiteral___text(val* self) {
+val* var /* : String */;
+const char* var_class_name;
+var_class_name = self == NULL ? "null" : self->type->name;
+PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "text", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__literal, 100);
+fatal_exit(1);
 RET_LABEL:;
 return var;
 }
-/* method literal#ACharExpr#value= for (self: ACharExpr, nullable Char) */
-void nitc__literal___ACharExpr___value_61d(val* self, val* p0) {
-self->attrs[COLOR_nitc__literal__ACharExpr___value].val = p0; /* _value on <self:ACharExpr> */
-RET_LABEL:;
-}
-/* method literal#ACharExpr#accept_literal for (self: ACharExpr, LiteralVisitor) */
-void nitc__literal___ACharExpr___ANode__accept_literal(val* self, val* p0) {
-val* var_v /* var v: LiteralVisitor */;
-val* var /* : TChar */;
-val* var2 /* : TChar */;
+/* method literal$AAugmentedLiteral$prefix for (self: AAugmentedLiteral): String */
+val* nitc___nitc__AAugmentedLiteral___prefix(val* self) {
+val* var /* : String */;
+short int var1 /* : Bool */;
+val* var2 /* : String */;
 val* var3 /* : String */;
-val* var4 /* : String */;
-val* var_txt /* var txt: String */;
-long var5 /* : Int */;
-short int var6 /* : Bool */;
-short int var8 /* : Bool */;
-short int var9 /* : Bool */;
-val* var10 /* : ToolContext */;
-val* var12 /* : ToolContext */;
-val* var13 /* : Location */;
-val* var14 /* : NativeArray[String] */;
-static val* varonce;
-static val* varonce15;
-val* var16 /* : String */;
-char* var17 /* : NativeString */;
-val* var18 /* : String */;
-static val* varonce19;
-val* var20 /* : String */;
-char* var21 /* : NativeString */;
-val* var22 /* : String */;
-val* var23 /* : String */;
-val* var24 /* : Message */;
-val* var25 /* : SequenceRead[Char] */;
-val* var26 /* : nullable Object */;
-var_v = p0;
-{
-{ /* Inline parser_nodes#ACharExpr#n_char (self) on <self:ACharExpr> */
-var2 = self->attrs[COLOR_nitc__parser_nodes__ACharExpr___n_char].val; /* _n_char on <self:ACharExpr> */
+val* var5 /* : String */;
+val* var6 /* : String */;
+uint32_t var7 /* : Char */;
+long var8 /* : Int */;
+val* var9 /* : Text */;
+var1 = self->attrs[COLOR_nitc__literal__AAugmentedLiteral___prefix].val != NULL; /* _prefix on <self:AAugmentedLiteral> */
+if(likely(var1)) {
+var2 = self->attrs[COLOR_nitc__literal__AAugmentedLiteral___prefix].val; /* _prefix on <self:AAugmentedLiteral> */
 if (unlikely(var2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_char");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2527);
-fatal_exit(1);
-}
-var = var2;
-RET_LABEL1:(void)0;
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
 }
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _prefix");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__literal, 110);
+fatal_exit(1);
 }
+} else {
 {
-var3 = nitc__lexer_work___Token___text(var);
-}
 {
-var4 = core___core__Text___unescape_nit(var3);
+var5 = ((val*(*)(val* self))(self->class->vft[COLOR_nitc__literal__AAugmentedLiteral__text]))(self); /* text on <self:AAugmentedLiteral>*/
 }
-var_txt = var4;
 {
-var5 = ((long(*)(val* self))(var_txt->class->vft[COLOR_core__abstract_text__Text__length]))(var_txt); /* length on <var_txt:String>*/
+var6 = ((val*(*)(val* self))(self->class->vft[COLOR_nitc__literal__AAugmentedLiteral__text]))(self); /* text on <self:AAugmentedLiteral>*/
 }
 {
-{ /* Inline kernel#Int#!= (var5,3l) on <var5:Int> */
-var8 = var5 == 3l;
-var9 = !var8;
-var6 = var9;
-goto RET_LABEL7;
-RET_LABEL7:(void)0;
+var7 = ((uint32_t(*)(val* self))(self->class->vft[COLOR_nitc__literal__AAugmentedLiteral__delimiter_start]))(self); /* delimiter_start on <self:AAugmentedLiteral>*/
 }
+{
+var8 = core___core__Text___index_of(var6, var7);
 }
-if (var6){
 {
-{ /* Inline literal#LiteralVisitor#toolcontext (var_v) on <var_v:LiteralVisitor> */
-var12 = var_v->attrs[COLOR_nitc__literal__LiteralVisitor___toolcontext].val; /* _toolcontext on <var_v:LiteralVisitor> */
-if (unlikely(var12 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__literal, 46);
-fatal_exit(1);
+var9 = ((val*(*)(val* self, long p0, long p1))(var5->class->vft[COLOR_core__abstract_text__Text__substring]))(var5, 0l, var8); /* substring on <var5:String>*/
 }
-var10 = var12;
-RET_LABEL11:(void)0;
+var3 = var9;
+goto RET_LABEL4;
+RET_LABEL4:(void)0;
 }
+self->attrs[COLOR_nitc__literal__AAugmentedLiteral___prefix].val = var3; /* _prefix on <self:AAugmentedLiteral> */
+var2 = var3;
 }
-{
-var13 = nitc___nitc__ANode___hot_location(self);
+var = var2;
+RET_LABEL:;
+return var;
 }
-if (unlikely(varonce==NULL)) {
-var14 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String);
-if (likely(varonce15!=NULL)) {
-var16 = varonce15;
-} else {
-var17 = "Syntax Error: invalid character literal `";
-var18 = core__flat___NativeString___to_s_full(var17, 41l, 41l);
-var16 = var18;
-varonce15 = var16;
+/* method literal$AAugmentedLiteral$suffix for (self: AAugmentedLiteral): String */
+val* nitc___nitc__AAugmentedLiteral___suffix(val* self) {
+val* var /* : String */;
+short int var1 /* : Bool */;
+val* var2 /* : String */;
+val* var3 /* : String */;
+val* var5 /* : String */;
+val* var6 /* : String */;
+uint32_t var7 /* : Char */;
+long var8 /* : Int */;
+long var9 /* : Int */;
+short int var11 /* : Bool */;
+int cltype;
+int idtype;
+const char* var_class_name;
+long var12 /* : Int */;
+val* var13 /* : Text */;
+var1 = self->attrs[COLOR_nitc__literal__AAugmentedLiteral___suffix].val != NULL; /* _suffix on <self:AAugmentedLiteral> */
+if(likely(var1)) {
+var2 = self->attrs[COLOR_nitc__literal__AAugmentedLiteral___suffix].val; /* _suffix on <self:AAugmentedLiteral> */
+if (unlikely(var2 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
 }
-((struct instance_core__NativeArray*)var14)->values[0]=var16;
-if (likely(varonce19!=NULL)) {
-var20 = varonce19;
-} else {
-var21 = "`.";
-var22 = core__flat___NativeString___to_s_full(var21, 2l, 2l);
-var20 = var22;
-varonce19 = var20;
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _suffix");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__literal, 113);
+fatal_exit(1);
 }
-((struct instance_core__NativeArray*)var14)->values[2]=var20;
 } else {
-var14 = varonce;
-varonce = NULL;
-}
-((struct instance_core__NativeArray*)var14)->values[1]=var_txt;
 {
-var23 = ((val*(*)(val* self))(var14->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var14); /* native_to_s on <var14:NativeArray[String]>*/
+{
+var5 = ((val*(*)(val* self))(self->class->vft[COLOR_nitc__literal__AAugmentedLiteral__text]))(self); /* text on <self:AAugmentedLiteral>*/
 }
-varonce = var14;
 {
-var24 = nitc___nitc__ToolContext___error(var10, var13, var23);
+var6 = ((val*(*)(val* self))(self->class->vft[COLOR_nitc__literal__AAugmentedLiteral__text]))(self); /* text on <self:AAugmentedLiteral>*/
 }
-goto RET_LABEL;
-} else {
+{
+var7 = ((uint32_t(*)(val* self))(self->class->vft[COLOR_nitc__literal__AAugmentedLiteral__delimiter_end]))(self); /* delimiter_end on <self:AAugmentedLiteral>*/
 }
 {
-var25 = ((val*(*)(val* self))(var_txt->class->vft[COLOR_core__abstract_text__Text__chars]))(var_txt); /* chars on <var_txt:String>*/
+var8 = core___core__Text___last_index_of(var6, var7);
 }
 {
-var26 = ((val*(*)(val* self, long p0))((((long)var25&3)?class_info[((long)var25&3)]:var25->class)->vft[COLOR_core__abstract_collection__SequenceRead___91d_93d]))(var25, 1l); /* [] on <var25:SequenceRead[Char]>*/
+{ /* Inline kernel$Int$+ (var8,1l) on <var8:Int> */
+/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
+/* <1l:Int> isa OTHER */
+var11 = 1; /* easy <1l:Int> isa OTHER*/
+if (unlikely(!var11)) {
+var_class_name = type_core__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
+fatal_exit(1);
+}
+var12 = var8 + 1l;
+var9 = var12;
+goto RET_LABEL10;
+RET_LABEL10:(void)0;
+}
 }
 {
-{ /* Inline literal#ACharExpr#value= (self,var26) on <self:ACharExpr> */
-self->attrs[COLOR_nitc__literal__ACharExpr___value].val = var26; /* _value on <self:ACharExpr> */
-RET_LABEL27:(void)0;
+var13 = ((val*(*)(val* self, long p0))(var5->class->vft[COLOR_core__abstract_text__Text__substring_from]))(var5, var9); /* substring_from on <var5:String>*/
 }
+var3 = var13;
+goto RET_LABEL4;
+RET_LABEL4:(void)0;
 }
-RET_LABEL:;
+self->attrs[COLOR_nitc__literal__AAugmentedLiteral___suffix].val = var3; /* _suffix on <self:AAugmentedLiteral> */
+var2 = var3;
 }
-/* method literal#AStringFormExpr#value for (self: AStringFormExpr): nullable String */
-val* nitc__literal___AStringFormExpr___value(val* self) {
-val* var /* : nullable String */;
-val* var1 /* : nullable String */;
-var1 = self->attrs[COLOR_nitc__literal__AStringFormExpr___value].val; /* _value on <self:AStringFormExpr> */
-var = var1;
+var = var2;
 RET_LABEL:;
 return var;
 }
-/* method literal#AStringFormExpr#value= for (self: AStringFormExpr, nullable String) */
-void nitc__literal___AStringFormExpr___value_61d(val* self, val* p0) {
-self->attrs[COLOR_nitc__literal__AStringFormExpr___value].val = p0; /* _value on <self:AStringFormExpr> */
-RET_LABEL:;
-}
-/* method literal#AStringFormExpr#accept_literal for (self: AStringFormExpr, LiteralVisitor) */
-void nitc__literal___AStringFormExpr___ANode__accept_literal(val* self, val* p0) {
-val* var_v /* var v: LiteralVisitor */;
-val* var /* : Token */;
-val* var2 /* : Token */;
+/* method literal$AAugmentedLiteral$content for (self: AAugmentedLiteral): String */
+val* nitc___nitc__AAugmentedLiteral___content(val* self) {
+val* var /* : String */;
+short int var1 /* : Bool */;
+val* var2 /* : String */;
 val* var3 /* : String */;
-val* var_txt /* var txt: String */;
-long var_behead /* var behead: Int */;
-long var_betail /* var betail: Int */;
-short int var4 /* : Bool */;
-val* var5 /* : SequenceRead[Char] */;
-val* var6 /* : nullable Object */;
-val* var7 /* : SequenceRead[Char] */;
-val* var8 /* : nullable Object */;
-short int var9 /* : Bool */;
-short int var11 /* : Bool */;
-short int var_ /* var : Bool */;
+val* var5 /* : String */;
+val* var6 /* : String */;
+long var7 /* : Int */;
+val* var8 /* : Text */;
+val* var_npr /* var npr: String */;
+long var9 /* : Int */;
+val* var10 /* : String */;
+long var11 /* : Int */;
 long var12 /* : Int */;
-short int var13 /* : Bool */;
-short int var15 /* : Bool */;
+short int var14 /* : Bool */;
 int cltype;
 int idtype;
 const char* var_class_name;
-short int var16 /* : Bool */;
-short int var17 /* : Bool */;
-val* var18 /* : SequenceRead[Char] */;
-val* var19 /* : nullable Object */;
-short int var20 /* : Bool */;
-short int var22 /* : Bool */;
-uint32_t var23 /* : Char */;
-short int var_24 /* var : Bool */;
-val* var25 /* : SequenceRead[Char] */;
-val* var26 /* : nullable Object */;
-short int var27 /* : Bool */;
-short int var29 /* : Bool */;
-uint32_t var30 /* : Char */;
-long var31 /* : Int */;
-long var32 /* : Int */;
-short int var34 /* : Bool */;
-int cltype35;
-int idtype36;
-const char* var_class_name37;
-long var38 /* : Int */;
-long var39 /* : Int */;
-short int var41 /* : Bool */;
-int cltype42;
-int idtype43;
-const char* var_class_name44;
-long var45 /* : Int */;
-val* var46 /* : Text */;
-val* var47 /* : String */;
-var_v = p0;
-{
-{ /* Inline parser_nodes#AStringFormExpr#n_string (self) on <self:AStringFormExpr> */
-var2 = self->attrs[COLOR_nitc__parser_nodes__AStringFormExpr___n_string].val; /* _n_string on <self:AStringFormExpr> */
+long var15 /* : Int */;
+val* var16 /* : Text */;
+var1 = self->attrs[COLOR_nitc__literal__AAugmentedLiteral___content].val != NULL; /* _content on <self:AAugmentedLiteral> */
+if(likely(var1)) {
+var2 = self->attrs[COLOR_nitc__literal__AAugmentedLiteral___content].val; /* _content on <self:AAugmentedLiteral> */
 if (unlikely(var2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_string");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2535);
-fatal_exit(1);
-}
-var = var2;
-RET_LABEL1:(void)0;
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
 }
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _content");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__literal, 116);
+fatal_exit(1);
 }
+} else {
 {
-var3 = nitc__lexer_work___Token___text(var);
-}
-var_txt = var3;
-var_behead = 1l;
-var_betail = 1l;
 {
-var5 = ((val*(*)(val* self))(var_txt->class->vft[COLOR_core__abstract_text__Text__chars]))(var_txt); /* chars on <var_txt:String>*/
+var5 = ((val*(*)(val* self))(self->class->vft[COLOR_nitc__literal__AAugmentedLiteral__text]))(self); /* text on <self:AAugmentedLiteral>*/
 }
 {
-var6 = ((val*(*)(val* self, long p0))((((long)var5&3)?class_info[((long)var5&3)]:var5->class)->vft[COLOR_core__abstract_collection__SequenceRead___91d_93d]))(var5, 0l); /* [] on <var5:SequenceRead[Char]>*/
+var6 = ((val*(*)(val* self))(self->class->vft[COLOR_nitc__literal__AAugmentedLiteral__prefix]))(self); /* prefix on <self:AAugmentedLiteral>*/
 }
 {
-var7 = ((val*(*)(val* self))(var_txt->class->vft[COLOR_core__abstract_text__Text__chars]))(var_txt); /* chars on <var_txt:String>*/
+var7 = ((long(*)(val* self))(var6->class->vft[COLOR_core__abstract_text__Text__length]))(var6); /* length on <var6:String>*/
 }
 {
-var8 = ((val*(*)(val* self, long p0))((((long)var7&3)?class_info[((long)var7&3)]:var7->class)->vft[COLOR_core__abstract_collection__SequenceRead___91d_93d]))(var7, 1l); /* [] on <var7:SequenceRead[Char]>*/
+var8 = ((val*(*)(val* self, long p0))(var5->class->vft[COLOR_core__abstract_text__Text__substring_from]))(var5, var7); /* substring_from on <var5:String>*/
 }
+var_npr = var8;
 {
-{ /* Inline kernel#Char#== (var6,var8) on <var6:nullable Object(Char)> */
-var11 = var6 == var8;
-var9 = var11;
-goto RET_LABEL10;
-RET_LABEL10:(void)0;
+var9 = ((long(*)(val* self))(var_npr->class->vft[COLOR_core__abstract_text__Text__length]))(var_npr); /* length on <var_npr:String>*/
 }
+{
+var10 = ((val*(*)(val* self))(self->class->vft[COLOR_nitc__literal__AAugmentedLiteral__suffix]))(self); /* suffix on <self:AAugmentedLiteral>*/
 }
-var_ = var9;
-if (var9){
 {
-var12 = ((long(*)(val* self))(var_txt->class->vft[COLOR_core__abstract_text__Text__length]))(var_txt); /* length on <var_txt:String>*/
+var11 = ((long(*)(val* self))(var10->class->vft[COLOR_core__abstract_text__Text__length]))(var10); /* length on <var10:String>*/
 }
 {
-{ /* Inline kernel#Int#>= (var12,6l) on <var12:Int> */
-/* Covariant cast for argument 0 (i) <6l:Int> isa OTHER */
-/* <6l:Int> isa OTHER */
-var15 = 1; /* easy <6l:Int> isa OTHER*/
-if (unlikely(!var15)) {
+{ /* Inline kernel$Int$- (var9,var11) on <var9:Int> */
+/* Covariant cast for argument 0 (i) <var11:Int> isa OTHER */
+/* <var11:Int> isa OTHER */
+var14 = 1; /* easy <var11:Int> isa OTHER*/
+if (unlikely(!var14)) {
 var_class_name = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 729);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
 fatal_exit(1);
 }
-var16 = var12 >= 6l;
-var13 = var16;
-goto RET_LABEL14;
-RET_LABEL14:(void)0;
+var15 = var9 - var11;
+var12 = var15;
+goto RET_LABEL13;
+RET_LABEL13:(void)0;
 }
 }
-var4 = var13;
-} else {
-var4 = var_;
-}
-if (var4){
-var_behead = 3l;
-var_betail = 3l;
 {
-var18 = ((val*(*)(val* self))(var_txt->class->vft[COLOR_core__abstract_text__Text__chars]))(var_txt); /* chars on <var_txt:String>*/
+var16 = ((val*(*)(val* self, long p0, long p1))(var_npr->class->vft[COLOR_core__abstract_text__Text__substring]))(var_npr, 0l, var12); /* substring on <var_npr:String>*/
 }
-{
-var19 = ((val*(*)(val* self, long p0))((((long)var18&3)?class_info[((long)var18&3)]:var18->class)->vft[COLOR_core__abstract_collection__SequenceRead___91d_93d]))(var18, 0l); /* [] on <var18:SequenceRead[Char]>*/
+var3 = var16;
+goto RET_LABEL4;
+RET_LABEL4:(void)0;
 }
-{
-{ /* Inline kernel#Char#== (var19,'\"') on <var19:nullable Object(Char)> */
-var23 = (uint32_t)((long)(var19)>>2);
-var22 = var23 == '\"';
-var20 = var22;
-goto RET_LABEL21;
-RET_LABEL21:(void)0;
+self->attrs[COLOR_nitc__literal__AAugmentedLiteral___content].val = var3; /* _content on <self:AAugmentedLiteral> */
+var2 = var3;
 }
+var = var2;
+RET_LABEL:;
+return var;
 }
-var_24 = var20;
-if (var20){
-{
-var25 = ((val*(*)(val* self))(var_txt->class->vft[COLOR_core__abstract_text__Text__chars]))(var_txt); /* chars on <var_txt:String>*/
+/* method literal$ACharExpr$value for (self: ACharExpr): nullable Char */
+val* nitc__literal___ACharExpr___value(val* self) {
+val* var /* : nullable Char */;
+val* var1 /* : nullable Char */;
+var1 = self->attrs[COLOR_nitc__literal__ACharExpr___value].val; /* _value on <self:ACharExpr> */
+var = var1;
+RET_LABEL:;
+return var;
 }
-{
-var26 = ((val*(*)(val* self, long p0))((((long)var25&3)?class_info[((long)var25&3)]:var25->class)->vft[COLOR_core__abstract_collection__SequenceRead___91d_93d]))(var25, 3l); /* [] on <var25:SequenceRead[Char]>*/
+/* method literal$ACharExpr$value= for (self: ACharExpr, nullable Char) */
+void nitc__literal___ACharExpr___value_61d(val* self, val* p0) {
+self->attrs[COLOR_nitc__literal__ACharExpr___value].val = p0; /* _value on <self:ACharExpr> */
+RET_LABEL:;
 }
-{
-{ /* Inline kernel#Char#== (var26,'\n') on <var26:nullable Object(Char)> */
-var30 = (uint32_t)((long)(var26)>>2);
-var29 = var30 == '\n';
-var27 = var29;
-goto RET_LABEL28;
-RET_LABEL28:(void)0;
+/* method literal$ACharExpr$delimiter_start for (self: ACharExpr): Char */
+uint32_t nitc__literal___ACharExpr___AAugmentedLiteral__delimiter_start(val* self) {
+uint32_t var /* : Char */;
+var = '\'';
+goto RET_LABEL;
+RET_LABEL:;
+return var;
 }
+/* method literal$ACharExpr$delimiter_end for (self: ACharExpr): Char */
+uint32_t nitc__literal___ACharExpr___AAugmentedLiteral__delimiter_end(val* self) {
+uint32_t var /* : Char */;
+var = '\'';
+goto RET_LABEL;
+RET_LABEL:;
+return var;
 }
-var17 = var27;
-} else {
-var17 = var_24;
+/* method literal$ACharExpr$is_ascii for (self: ACharExpr): Bool */
+short int nitc__literal___ACharExpr___is_ascii(val* self) {
+short int var /* : Bool */;
+val* var1 /* : String */;
+static val* varonce;
+val* var2 /* : String */;
+char* var3 /* : CString */;
+val* var4 /* : String */;
+val* var5 /* : nullable Int */;
+val* var6 /* : nullable Int */;
+val* var7 /* : nullable Bool */;
+val* var8 /* : nullable Bool */;
+short int var9 /* : Bool */;
+{
+var1 = nitc___nitc__AAugmentedLiteral___prefix(self);
 }
-if (var17){
-var_behead = 4l;
+if (likely(varonce!=NULL)) {
+var2 = varonce;
 } else {
+var3 = "b";
+var5 = (val*)(1l<<2|1);
+var6 = (val*)(1l<<2|1);
+var7 = (val*)((long)(0)<<2|3);
+var8 = (val*)((long)(0)<<2|3);
+var4 = core__flat___CString___to_s_unsafe(var3, var5, var6, var7, var8);
+var2 = var4;
+varonce = var2;
+}
+{
+var9 = ((short int(*)(val* self, val* p0))(var1->class->vft[COLOR_core__kernel__Object___61d_61d]))(var1, var2); /* == on <var1:String>*/
+}
+var = var9;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
 }
+/* method literal$ACharExpr$is_code_point for (self: ACharExpr): Bool */
+short int nitc__literal___ACharExpr___is_code_point(val* self) {
+short int var /* : Bool */;
+val* var1 /* : String */;
+static val* varonce;
+val* var2 /* : String */;
+char* var3 /* : CString */;
+val* var4 /* : String */;
+val* var5 /* : nullable Int */;
+val* var6 /* : nullable Int */;
+val* var7 /* : nullable Bool */;
+val* var8 /* : nullable Bool */;
+short int var9 /* : Bool */;
+{
+var1 = nitc___nitc__AAugmentedLiteral___prefix(self);
+}
+if (likely(varonce!=NULL)) {
+var2 = varonce;
 } else {
+var3 = "u";
+var5 = (val*)(1l<<2|1);
+var6 = (val*)(1l<<2|1);
+var7 = (val*)((long)(0)<<2|3);
+var8 = (val*)((long)(0)<<2|3);
+var4 = core__flat___CString___to_s_unsafe(var3, var5, var6, var7, var8);
+var2 = var4;
+varonce = var2;
 }
 {
-var31 = ((long(*)(val* self))(var_txt->class->vft[COLOR_core__abstract_text__Text__length]))(var_txt); /* length on <var_txt:String>*/
+var9 = ((short int(*)(val* self, val* p0))(var1->class->vft[COLOR_core__kernel__Object___61d_61d]))(var1, var2); /* == on <var1:String>*/
+}
+var = var9;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
 }
+/* method literal$ACharExpr$text for (self: ACharExpr): String */
+val* nitc__literal___ACharExpr___AAugmentedLiteral__text(val* self) {
+val* var /* : String */;
+val* var1 /* : TChar */;
+val* var3 /* : TChar */;
+val* var4 /* : String */;
 {
-{ /* Inline kernel#Int#- (var31,var_behead) on <var31:Int> */
-/* Covariant cast for argument 0 (i) <var_behead:Int> isa OTHER */
-/* <var_behead:Int> isa OTHER */
-var34 = 1; /* easy <var_behead:Int> isa OTHER*/
-if (unlikely(!var34)) {
-var_class_name37 = type_core__Int.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name37);
-PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734);
+{ /* Inline parser_nodes$ACharExpr$n_char (self) on <self:ACharExpr> */
+var3 = self->attrs[COLOR_nitc__parser_nodes__ACharExpr___n_char].val; /* _n_char on <self:ACharExpr> */
+if (unlikely(var3 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_char");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2608);
 fatal_exit(1);
 }
-var38 = var31 - var_behead;
-var32 = var38;
-goto RET_LABEL33;
-RET_LABEL33:(void)0;
+var1 = var3;
+RET_LABEL2:(void)0;
 }
 }
 {
-{ /* Inline kernel#Int#- (var32,var_betail) on <var32:Int> */
-/* Covariant cast for argument 0 (i) <var_betail:Int> isa OTHER */
-/* <var_betail:Int> isa OTHER */
-var41 = 1; /* easy <var_betail:Int> isa OTHER*/
-if (unlikely(!var41)) {
-var_class_name44 = type_core__Int.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name44);
-PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734);
-fatal_exit(1);
+var4 = nitc__lexer_work___Token___text(var1);
+}
+var = var4;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method literal$ACharExpr$is_valid_augmentation for (self: ACharExpr): Bool */
+short int nitc__literal___ACharExpr___AAugmentedLiteral__is_valid_augmentation(val* self) {
+short int var /* : Bool */;
+val* var1 /* : String */;
+static val* varonce;
+val* var2 /* : String */;
+char* var3 /* : CString */;
+val* var4 /* : String */;
+val* var5 /* : nullable Int */;
+val* var6 /* : nullable Int */;
+val* var7 /* : nullable Bool */;
+val* var8 /* : nullable Bool */;
+short int var9 /* : Bool */;
+val* var_other /* var other: nullable Object */;
+short int var11 /* : Bool */;
+short int var12 /* : Bool */;
+short int var13 /* : Bool */;
+short int var14 /* : Bool */;
+val* var15 /* : String */;
+static val* varonce16;
+val* var17 /* : String */;
+char* var18 /* : CString */;
+val* var19 /* : String */;
+val* var20 /* : nullable Int */;
+val* var21 /* : nullable Int */;
+val* var22 /* : nullable Bool */;
+val* var23 /* : nullable Bool */;
+short int var24 /* : Bool */;
+short int var26 /* : Bool */;
+short int var27 /* : Bool */;
+{
+var1 = nitc___nitc__AAugmentedLiteral___suffix(self);
+}
+if (likely(varonce!=NULL)) {
+var2 = varonce;
+} else {
+var3 = "";
+var5 = (val*)(0l<<2|1);
+var6 = (val*)(0l<<2|1);
+var7 = (val*)((long)(0)<<2|3);
+var8 = (val*)((long)(0)<<2|3);
+var4 = core__flat___CString___to_s_unsafe(var3, var5, var6, var7, var8);
+var2 = var4;
+varonce = var2;
+}
+{
+{ /* Inline kernel$Object$!= (var1,var2) on <var1:String> */
+var_other = var2;
+{
+var11 = ((short int(*)(val* self, val* p0))(var1->class->vft[COLOR_core__kernel__Object___61d_61d]))(var1, var_other); /* == on <var1:String>*/
+}
+var12 = !var11;
+var9 = var12;
+goto RET_LABEL10;
+RET_LABEL10:(void)0;
 }
-var45 = var32 - var_betail;
-var39 = var45;
-goto RET_LABEL40;
-RET_LABEL40:(void)0;
 }
+if (var9){
+var = 0;
+goto RET_LABEL;
+} else {
 }
 {
-var46 = ((val*(*)(val* self, long p0, long p1))(var_txt->class->vft[COLOR_core__abstract_text__Text__substring]))(var_txt, var_behead, var39); /* substring on <var_txt:String>*/
+var13 = nitc__literal___ACharExpr___is_ascii(self);
+}
+if (var13){
+var = 1;
+goto RET_LABEL;
+} else {
 }
 {
-var47 = core___core__Text___unescape_nit(var46);
+var14 = nitc__literal___ACharExpr___is_code_point(self);
+}
+if (var14){
+var = 1;
+goto RET_LABEL;
+} else {
 }
 {
-{ /* Inline literal#AStringFormExpr#value= (self,var47) on <self:AStringFormExpr> */
-self->attrs[COLOR_nitc__literal__AStringFormExpr___value].val = var47; /* _value on <self:AStringFormExpr> */
-RET_LABEL48:(void)0;
+var15 = nitc___nitc__AAugmentedLiteral___prefix(self);
 }
+if (likely(varonce16!=NULL)) {
+var17 = varonce16;
+} else {
+var18 = "";
+var20 = (val*)(0l<<2|1);
+var21 = (val*)(0l<<2|1);
+var22 = (val*)((long)(0)<<2|3);
+var23 = (val*)((long)(0)<<2|3);
+var19 = core__flat___CString___to_s_unsafe(var18, var20, var21, var22, var23);
+var17 = var19;
+varonce16 = var17;
+}
+{
+{ /* Inline kernel$Object$!= (var15,var17) on <var15:String> */
+var_other = var17;
+{
+var26 = ((short int(*)(val* self, val* p0))(var15->class->vft[COLOR_core__kernel__Object___61d_61d]))(var15, var_other); /* == on <var15:String>*/
+}
+var27 = !var26;
+var24 = var27;
+goto RET_LABEL25;
+RET_LABEL25:(void)0;
+}
+}
+if (var24){
+var = 0;
+goto RET_LABEL;
+} else {
+}
+var = 1;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method literal$ACharExpr$accept_literal for (self: ACharExpr, LiteralVisitor) */
+void nitc__literal___ACharExpr___ANode__accept_literal(val* self, val* p0) {
+val* var_v /* var v: LiteralVisitor */;
+short int var /* : Bool */;
+short int var1 /* : Bool */;
+val* var2 /* : ToolContext */;
+val* var4 /* : ToolContext */;
+val* var5 /* : Location */;
+val* var6 /* : NativeArray[String] */;
+static val* varonce;
+static val* varonce7;
+val* var8 /* : String */;
+char* var9 /* : CString */;
+val* var10 /* : String */;
+val* var11 /* : nullable Int */;
+val* var12 /* : nullable Int */;
+val* var13 /* : nullable Bool */;
+val* var14 /* : nullable Bool */;
+static val* varonce15;
+val* var16 /* : String */;
+char* var17 /* : CString */;
+val* var18 /* : String */;
+val* var19 /* : nullable Int */;
+val* var20 /* : nullable Int */;
+val* var21 /* : nullable Bool */;
+val* var22 /* : nullable Bool */;
+val* var23 /* : String */;
+val* var24 /* : String */;
+val* var25 /* : String */;
+val* var26 /* : Message */;
+val* var27 /* : String */;
+val* var28 /* : String */;
+val* var_txt /* var txt: String */;
+long var29 /* : Int */;
+short int var30 /* : Bool */;
+short int var32 /* : Bool */;
+short int var33 /* : Bool */;
+val* var34 /* : ToolContext */;
+val* var36 /* : ToolContext */;
+val* var37 /* : Location */;
+val* var39 /* : NativeArray[String] */;
+static val* varonce38;
+static val* varonce40;
+val* var41 /* : String */;
+char* var42 /* : CString */;
+val* var43 /* : String */;
+val* var44 /* : nullable Int */;
+val* var45 /* : nullable Int */;
+val* var46 /* : nullable Bool */;
+val* var47 /* : nullable Bool */;
+static val* varonce48;
+val* var49 /* : String */;
+char* var50 /* : CString */;
+val* var51 /* : String */;
+val* var52 /* : nullable Int */;
+val* var53 /* : nullable Int */;
+val* var54 /* : nullable Bool */;
+val* var55 /* : nullable Bool */;
+val* var56 /* : String */;
+val* var57 /* : Message */;
+val* var58 /* : SequenceRead[Char] */;
+val* var59 /* : nullable Object */;
+short int var61 /* : Bool */;
+short int var62 /* : Bool */;
+short int var_ /* var : Bool */;
+val* var63 /* : SequenceRead[Char] */;
+val* var64 /* : nullable Object */;
+long var65 /* : Int */;
+uint32_t var67 /* : Char */;
+long var68 /* : Int */;
+short int var69 /* : Bool */;
+short int var71 /* : Bool */;
+int cltype;
+int idtype;
+const char* var_class_name;
+short int var72 /* : Bool */;
+val* var73 /* : ToolContext */;
+val* var75 /* : ToolContext */;
+val* var76 /* : Location */;
+static val* varonce77;
+val* var78 /* : String */;
+char* var79 /* : CString */;
+val* var80 /* : String */;
+val* var81 /* : nullable Int */;
+val* var82 /* : nullable Int */;
+val* var83 /* : nullable Bool */;
+val* var84 /* : nullable Bool */;
+val* var85 /* : Message */;
+var_v = p0;
+{
+var = nitc__literal___ACharExpr___AAugmentedLiteral__is_valid_augmentation(self);
+}
+var1 = !var;
+if (var1){
+{
+{ /* Inline literal$LiteralVisitor$toolcontext (var_v) on <var_v:LiteralVisitor> */
+var4 = var_v->attrs[COLOR_nitc__literal__LiteralVisitor___toolcontext].val; /* _toolcontext on <var_v:LiteralVisitor> */
+if (unlikely(var4 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__literal, 46);
+fatal_exit(1);
+}
+var2 = var4;
+RET_LABEL3:(void)0;
+}
+}
+{
+var5 = nitc___nitc__ANode___hot_location(self);
+}
+if (unlikely(varonce==NULL)) {
+var6 = NEW_core__NativeArray((int)4l, &type_core__NativeArray__core__String);
+if (likely(varonce7!=NULL)) {
+var8 = varonce7;
+} else {
+var9 = "Syntax Error: invalid prefix/suffix combination ";
+var11 = (val*)(48l<<2|1);
+var12 = (val*)(48l<<2|1);
+var13 = (val*)((long)(0)<<2|3);
+var14 = (val*)((long)(0)<<2|3);
+var10 = core__flat___CString___to_s_unsafe(var9, var11, var12, var13, var14);
+var8 = var10;
+varonce7 = var8;
+}
+((struct instance_core__NativeArray*)var6)->values[0]=var8;
+if (likely(varonce15!=NULL)) {
+var16 = varonce15;
+} else {
+var17 = "/";
+var19 = (val*)(1l<<2|1);
+var20 = (val*)(1l<<2|1);
+var21 = (val*)((long)(0)<<2|3);
+var22 = (val*)((long)(0)<<2|3);
+var18 = core__flat___CString___to_s_unsafe(var17, var19, var20, var21, var22);
+var16 = var18;
+varonce15 = var16;
+}
+((struct instance_core__NativeArray*)var6)->values[2]=var16;
+} else {
+var6 = varonce;
+varonce = NULL;
+}
+{
+var23 = nitc___nitc__AAugmentedLiteral___prefix(self);
+}
+((struct instance_core__NativeArray*)var6)->values[1]=var23;
+{
+var24 = nitc___nitc__AAugmentedLiteral___suffix(self);
+}
+((struct instance_core__NativeArray*)var6)->values[3]=var24;
+{
+var25 = ((val*(*)(val* self))(var6->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var6); /* native_to_s on <var6:NativeArray[String]>*/
+}
+varonce = var6;
+{
+var26 = nitc___nitc__ToolContext___error(var2, var5, var25);
+}
+goto RET_LABEL;
+} else {
+}
+{
+var27 = nitc___nitc__AAugmentedLiteral___content(self);
+}
+{
+var28 = core___core__Text___unescape_nit(var27);
+}
+var_txt = var28;
+{
+var29 = ((long(*)(val* self))(var_txt->class->vft[COLOR_core__abstract_text__Text__length]))(var_txt); /* length on <var_txt:String>*/
+}
+{
+{ /* Inline kernel$Int$!= (var29,3l) on <var29:Int> */
+var32 = var29 == 3l;
+var33 = !var32;
+var30 = var33;
+goto RET_LABEL31;
+RET_LABEL31:(void)0;
+}
+}
+if (var30){
+{
+{ /* Inline literal$LiteralVisitor$toolcontext (var_v) on <var_v:LiteralVisitor> */
+var36 = var_v->attrs[COLOR_nitc__literal__LiteralVisitor___toolcontext].val; /* _toolcontext on <var_v:LiteralVisitor> */
+if (unlikely(var36 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__literal, 46);
+fatal_exit(1);
+}
+var34 = var36;
+RET_LABEL35:(void)0;
+}
+}
+{
+var37 = nitc___nitc__ANode___hot_location(self);
+}
+if (unlikely(varonce38==NULL)) {
+var39 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String);
+if (likely(varonce40!=NULL)) {
+var41 = varonce40;
+} else {
+var42 = "Syntax Error: invalid character literal `";
+var44 = (val*)(41l<<2|1);
+var45 = (val*)(41l<<2|1);
+var46 = (val*)((long)(0)<<2|3);
+var47 = (val*)((long)(0)<<2|3);
+var43 = core__flat___CString___to_s_unsafe(var42, var44, var45, var46, var47);
+var41 = var43;
+varonce40 = var41;
+}
+((struct instance_core__NativeArray*)var39)->values[0]=var41;
+if (likely(varonce48!=NULL)) {
+var49 = varonce48;
+} else {
+var50 = "`.";
+var52 = (val*)(2l<<2|1);
+var53 = (val*)(2l<<2|1);
+var54 = (val*)((long)(0)<<2|3);
+var55 = (val*)((long)(0)<<2|3);
+var51 = core__flat___CString___to_s_unsafe(var50, var52, var53, var54, var55);
+var49 = var51;
+varonce48 = var49;
+}
+((struct instance_core__NativeArray*)var39)->values[2]=var49;
+} else {
+var39 = varonce38;
+varonce38 = NULL;
+}
+((struct instance_core__NativeArray*)var39)->values[1]=var_txt;
+{
+var56 = ((val*(*)(val* self))(var39->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var39); /* native_to_s on <var39:NativeArray[String]>*/
+}
+varonce38 = var39;
+{
+var57 = nitc___nitc__ToolContext___error(var34, var37, var56);
+}
+goto RET_LABEL;
+} else {
+}
+{
+var58 = ((val*(*)(val* self))(var_txt->class->vft[COLOR_core__abstract_text__Text__chars]))(var_txt); /* chars on <var_txt:String>*/
+}
+{
+var59 = ((val*(*)(val* self, long p0))((((long)var58&3)?class_info[((long)var58&3)]:var58->class)->vft[COLOR_core__abstract_collection__SequenceRead___91d_93d]))(var58, 1l); /* [] on <var58:SequenceRead[Char]>*/
+}
+{
+{ /* Inline literal$ACharExpr$value= (self,var59) on <self:ACharExpr> */
+self->attrs[COLOR_nitc__literal__ACharExpr___value].val = var59; /* _value on <self:ACharExpr> */
+RET_LABEL60:(void)0;
+}
+}
+{
+var62 = nitc__literal___ACharExpr___is_ascii(self);
+}
+var_ = var62;
+if (var62){
+{
+var63 = ((val*(*)(val* self))(var_txt->class->vft[COLOR_core__abstract_text__Text__chars]))(var_txt); /* chars on <var_txt:String>*/
+}
+{
+var64 = ((val*(*)(val* self, long p0))((((long)var63&3)?class_info[((long)var63&3)]:var63->class)->vft[COLOR_core__abstract_collection__SequenceRead___91d_93d]))(var63, 1l); /* [] on <var63:SequenceRead[Char]>*/
+}
+{
+{ /* Inline kernel$Char$code_point (var64) on <var64:nullable Object(Char)> */
+var67 = (uint32_t)((long)(var64)>>2);
+var68 = (long)var67;
+var65 = var68;
+goto RET_LABEL66;
+RET_LABEL66:(void)0;
+}
+}
+{
+{ /* Inline kernel$Int$> (var65,127l) on <var65:Int> */
+/* Covariant cast for argument 0 (i) <127l:Int> isa OTHER */
+/* <127l:Int> isa OTHER */
+var71 = 1; /* easy <127l:Int> isa OTHER*/
+if (unlikely(!var71)) {
+var_class_name = type_core__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 727);
+fatal_exit(1);
+}
+var72 = var65 > 127l;
+var69 = var72;
+goto RET_LABEL70;
+RET_LABEL70:(void)0;
+}
+}
+var61 = var69;
+} else {
+var61 = var_;
+}
+if (var61){
+{
+{ /* Inline literal$LiteralVisitor$toolcontext (var_v) on <var_v:LiteralVisitor> */
+var75 = var_v->attrs[COLOR_nitc__literal__LiteralVisitor___toolcontext].val; /* _toolcontext on <var_v:LiteralVisitor> */
+if (unlikely(var75 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__literal, 46);
+fatal_exit(1);
+}
+var73 = var75;
+RET_LABEL74:(void)0;
+}
+}
+{
+var76 = nitc___nitc__ANode___hot_location(self);
+}
+if (likely(varonce77!=NULL)) {
+var78 = varonce77;
+} else {
+var79 = "Syntax Error: usage of byte prefix on multibyte character.";
+var81 = (val*)(58l<<2|1);
+var82 = (val*)(58l<<2|1);
+var83 = (val*)((long)(0)<<2|3);
+var84 = (val*)((long)(0)<<2|3);
+var80 = core__flat___CString___to_s_unsafe(var79, var81, var82, var83, var84);
+var78 = var80;
+varonce77 = var78;
+}
+{
+var85 = nitc___nitc__ToolContext___error(var73, var76, var78);
+}
+} else {
+}
+RET_LABEL:;
+}
+/* method literal$AugmentedStringFormExpr$delimiter_start for (self: AugmentedStringFormExpr): Char */
+uint32_t nitc___nitc__AugmentedStringFormExpr___AAugmentedLiteral__delimiter_start(val* self) {
+uint32_t var /* : Char */;
+uint32_t var1 /* : Char */;
+var1 = self->attrs[COLOR_nitc__literal__AugmentedStringFormExpr___delimiter_start].c; /* _delimiter_start on <self:AugmentedStringFormExpr> */
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method literal$AugmentedStringFormExpr$delimiter_start= for (self: AugmentedStringFormExpr, Char) */
+void nitc___nitc__AugmentedStringFormExpr___delimiter_start_61d(val* self, uint32_t p0) {
+self->attrs[COLOR_nitc__literal__AugmentedStringFormExpr___delimiter_start].c = p0; /* _delimiter_start on <self:AugmentedStringFormExpr> */
+RET_LABEL:;
+}
+/* method literal$AugmentedStringFormExpr$delimiter_end for (self: AugmentedStringFormExpr): Char */
+uint32_t nitc___nitc__AugmentedStringFormExpr___AAugmentedLiteral__delimiter_end(val* self) {
+uint32_t var /* : Char */;
+uint32_t var1 /* : Char */;
+var1 = self->attrs[COLOR_nitc__literal__AugmentedStringFormExpr___delimiter_end].c; /* _delimiter_end on <self:AugmentedStringFormExpr> */
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method literal$AugmentedStringFormExpr$delimiter_end= for (self: AugmentedStringFormExpr, Char) */
+void nitc___nitc__AugmentedStringFormExpr___delimiter_end_61d(val* self, uint32_t p0) {
+self->attrs[COLOR_nitc__literal__AugmentedStringFormExpr___delimiter_end].c = p0; /* _delimiter_end on <self:AugmentedStringFormExpr> */
+RET_LABEL:;
+}
+/* method literal$AugmentedStringFormExpr$is_string for (self: AugmentedStringFormExpr): Bool */
+short int nitc___nitc__AugmentedStringFormExpr___is_string(val* self) {
+short int var /* : Bool */;
+short int var1 /* : Bool */;
+val* var2 /* : String */;
+static val* varonce;
+val* var3 /* : String */;
+char* var4 /* : CString */;
+val* var5 /* : String */;
+val* var6 /* : nullable Int */;
+val* var7 /* : nullable Int */;
+val* var8 /* : nullable Bool */;
+val* var9 /* : nullable Bool */;
+short int var10 /* : Bool */;
+short int var_ /* var : Bool */;
+val* var11 /* : String */;
+static val* varonce12;
+val* var13 /* : String */;
+char* var14 /* : CString */;
+val* var15 /* : String */;
+val* var16 /* : nullable Int */;
+val* var17 /* : nullable Int */;
+val* var18 /* : nullable Bool */;
+val* var19 /* : nullable Bool */;
+short int var20 /* : Bool */;
+{
+var2 = ((val*(*)(val* self))(self->class->vft[COLOR_nitc__literal__AAugmentedLiteral__prefix]))(self); /* prefix on <self:AugmentedStringFormExpr>*/
+}
+if (likely(varonce!=NULL)) {
+var3 = varonce;
+} else {
+var4 = "";
+var6 = (val*)(0l<<2|1);
+var7 = (val*)(0l<<2|1);
+var8 = (val*)((long)(0)<<2|3);
+var9 = (val*)((long)(0)<<2|3);
+var5 = core__flat___CString___to_s_unsafe(var4, var6, var7, var8, var9);
+var3 = var5;
+varonce = var3;
+}
+{
+var10 = ((short int(*)(val* self, val* p0))(var2->class->vft[COLOR_core__kernel__Object___61d_61d]))(var2, var3); /* == on <var2:String>*/
+}
+var_ = var10;
+if (var10){
+var1 = var_;
+} else {
+{
+var11 = ((val*(*)(val* self))(self->class->vft[COLOR_nitc__literal__AAugmentedLiteral__prefix]))(self); /* prefix on <self:AugmentedStringFormExpr>*/
+}
+if (likely(varonce12!=NULL)) {
+var13 = varonce12;
+} else {
+var14 = "raw";
+var16 = (val*)(3l<<2|1);
+var17 = (val*)(3l<<2|1);
+var18 = (val*)((long)(0)<<2|3);
+var19 = (val*)((long)(0)<<2|3);
+var15 = core__flat___CString___to_s_unsafe(var14, var16, var17, var18, var19);
+var13 = var15;
+varonce12 = var13;
+}
+{
+var20 = ((short int(*)(val* self, val* p0))(var11->class->vft[COLOR_core__kernel__Object___61d_61d]))(var11, var13); /* == on <var11:String>*/
+}
+var1 = var20;
+}
+var = var1;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method literal$AugmentedStringFormExpr$is_re for (self: AugmentedStringFormExpr): Bool */
+short int nitc___nitc__AugmentedStringFormExpr___is_re(val* self) {
+short int var /* : Bool */;
+val* var1 /* : String */;
+static val* varonce;
+val* var2 /* : String */;
+char* var3 /* : CString */;
+val* var4 /* : String */;
+val* var5 /* : nullable Int */;
+val* var6 /* : nullable Int */;
+val* var7 /* : nullable Bool */;
+val* var8 /* : nullable Bool */;
+short int var9 /* : Bool */;
+{
+var1 = ((val*(*)(val* self))(self->class->vft[COLOR_nitc__literal__AAugmentedLiteral__prefix]))(self); /* prefix on <self:AugmentedStringFormExpr>*/
+}
+if (likely(varonce!=NULL)) {
+var2 = varonce;
+} else {
+var3 = "re";
+var5 = (val*)(2l<<2|1);
+var6 = (val*)(2l<<2|1);
+var7 = (val*)((long)(0)<<2|3);
+var8 = (val*)((long)(0)<<2|3);
+var4 = core__flat___CString___to_s_unsafe(var3, var5, var6, var7, var8);
+var2 = var4;
+varonce = var2;
+}
+{
+var9 = ((short int(*)(val* self, val* p0))(var1->class->vft[COLOR_core__kernel__Object___61d_61d]))(var1, var2); /* == on <var1:String>*/
+}
+var = var9;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method literal$AugmentedStringFormExpr$is_bytestring for (self: AugmentedStringFormExpr): Bool */
+short int nitc___nitc__AugmentedStringFormExpr___is_bytestring(val* self) {
+short int var /* : Bool */;
+val* var1 /* : String */;
+static val* varonce;
+val* var2 /* : String */;
+char* var3 /* : CString */;
+val* var4 /* : String */;
+val* var5 /* : nullable Int */;
+val* var6 /* : nullable Int */;
+val* var7 /* : nullable Bool */;
+val* var8 /* : nullable Bool */;
+short int var9 /* : Bool */;
+{
+var1 = ((val*(*)(val* self))(self->class->vft[COLOR_nitc__literal__AAugmentedLiteral__prefix]))(self); /* prefix on <self:AugmentedStringFormExpr>*/
+}
+if (likely(varonce!=NULL)) {
+var2 = varonce;
+} else {
+var3 = "b";
+var5 = (val*)(1l<<2|1);
+var6 = (val*)(1l<<2|1);
+var7 = (val*)((long)(0)<<2|3);
+var8 = (val*)((long)(0)<<2|3);
+var4 = core__flat___CString___to_s_unsafe(var3, var5, var6, var7, var8);
+var2 = var4;
+varonce = var2;
+}
+{
+var9 = ((short int(*)(val* self, val* p0))(var1->class->vft[COLOR_core__kernel__Object___61d_61d]))(var1, var2); /* == on <var1:String>*/
+}
+var = var9;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method literal$AugmentedStringFormExpr$is_valid_augmentation for (self: AugmentedStringFormExpr): Bool */
+short int nitc___nitc__AugmentedStringFormExpr___AAugmentedLiteral__is_valid_augmentation(val* self) {
+short int var /* : Bool */;
+short int var1 /* : Bool */;
+short int var2 /* : Bool */;
+short int var_ /* var : Bool */;
+val* var3 /* : String */;
+static val* varonce;
+val* var4 /* : String */;
+char* var5 /* : CString */;
+val* var6 /* : String */;
+val* var7 /* : nullable Int */;
+val* var8 /* : nullable Int */;
+val* var9 /* : nullable Bool */;
+val* var10 /* : nullable Bool */;
+short int var11 /* : Bool */;
+short int var12 /* : Bool */;
+short int var13 /* : Bool */;
+short int var_14 /* var : Bool */;
+val* var15 /* : String */;
+static val* varonce16;
+val* var17 /* : String */;
+char* var18 /* : CString */;
+val* var19 /* : String */;
+val* var20 /* : nullable Int */;
+val* var21 /* : nullable Int */;
+val* var22 /* : nullable Bool */;
+val* var23 /* : nullable Bool */;
+short int var24 /* : Bool */;
+short int var25 /* : Bool */;
+val* var26 /* : String */;
+val* var_suf /* var suf: String */;
+val* var27 /* : SequenceRead[Char] */;
+val* var_28 /* var : SequenceRead[Char] */;
+val* var29 /* : Iterator[nullable Object] */;
+val* var_30 /* var : IndexedIterator[Char] */;
+short int var31 /* : Bool */;
+val* var32 /* : nullable Object */;
+uint32_t var33 /* : Char */;
+uint32_t var_i /* var i: Char */;
+short int var34 /* : Bool */;
+short int var36 /* : Bool */;
+short int var38 /* : Bool */;
+short int var40 /* : Bool */;
+short int var41 /* : Bool */;
+short int var43 /* : Bool */;
+short int var44 /* : Bool */;
+val* var45 /* : String */;
+static val* varonce46;
+val* var47 /* : String */;
+char* var48 /* : CString */;
+val* var49 /* : String */;
+val* var50 /* : nullable Int */;
+val* var51 /* : nullable Int */;
+val* var52 /* : nullable Bool */;
+val* var53 /* : nullable Bool */;
+short int var54 /* : Bool */;
+val* var_other /* var other: nullable Object */;
+short int var56 /* : Bool */;
+short int var57 /* : Bool */;
+short int var_58 /* var : Bool */;
+val* var59 /* : String */;
+static val* varonce60;
+val* var61 /* : String */;
+char* var62 /* : CString */;
+val* var63 /* : String */;
+val* var64 /* : nullable Int */;
+val* var65 /* : nullable Int */;
+val* var66 /* : nullable Bool */;
+val* var67 /* : nullable Bool */;
+short int var68 /* : Bool */;
+short int var70 /* : Bool */;
+short int var71 /* : Bool */;
+{
+var2 = nitc___nitc__AugmentedStringFormExpr___is_string(self);
+}
+var_ = var2;
+if (var2){
+{
+var3 = ((val*(*)(val* self))(self->class->vft[COLOR_nitc__literal__AAugmentedLiteral__suffix]))(self); /* suffix on <self:AugmentedStringFormExpr>*/
+}
+if (likely(varonce!=NULL)) {
+var4 = varonce;
+} else {
+var5 = "";
+var7 = (val*)(0l<<2|1);
+var8 = (val*)(0l<<2|1);
+var9 = (val*)((long)(0)<<2|3);
+var10 = (val*)((long)(0)<<2|3);
+var6 = core__flat___CString___to_s_unsafe(var5, var7, var8, var9, var10);
+var4 = var6;
+varonce = var4;
+}
+{
+var11 = ((short int(*)(val* self, val* p0))(var3->class->vft[COLOR_core__kernel__Object___61d_61d]))(var3, var4); /* == on <var3:String>*/
+}
+var1 = var11;
+} else {
+var1 = var_;
+}
+if (var1){
+var = 1;
+goto RET_LABEL;
+} else {
+}
+{
+var13 = nitc___nitc__AugmentedStringFormExpr___is_bytestring(self);
+}
+var_14 = var13;
+if (var13){
+{
+var15 = ((val*(*)(val* self))(self->class->vft[COLOR_nitc__literal__AAugmentedLiteral__suffix]))(self); /* suffix on <self:AugmentedStringFormExpr>*/
+}
+if (likely(varonce16!=NULL)) {
+var17 = varonce16;
+} else {
+var18 = "";
+var20 = (val*)(0l<<2|1);
+var21 = (val*)(0l<<2|1);
+var22 = (val*)((long)(0)<<2|3);
+var23 = (val*)((long)(0)<<2|3);
+var19 = core__flat___CString___to_s_unsafe(var18, var20, var21, var22, var23);
+var17 = var19;
+varonce16 = var17;
+}
+{
+var24 = ((short int(*)(val* self, val* p0))(var15->class->vft[COLOR_core__kernel__Object___61d_61d]))(var15, var17); /* == on <var15:String>*/
+}
+var12 = var24;
+} else {
+var12 = var_14;
+}
+if (var12){
+var = 1;
+goto RET_LABEL;
+} else {
+}
+{
+var25 = nitc___nitc__AugmentedStringFormExpr___is_re(self);
+}
+if (var25){
+{
+var26 = ((val*(*)(val* self))(self->class->vft[COLOR_nitc__literal__AAugmentedLiteral__suffix]))(self); /* suffix on <self:AugmentedStringFormExpr>*/
+}
+var_suf = var26;
+{
+var27 = ((val*(*)(val* self))(var_suf->class->vft[COLOR_core__abstract_text__Text__chars]))(var_suf); /* chars on <var_suf:String>*/
+}
+var_28 = var27;
+{
+var29 = ((val*(*)(val* self))((((long)var_28&3)?class_info[((long)var_28&3)]:var_28->class)->vft[COLOR_core__abstract_collection__Collection__iterator]))(var_28); /* iterator on <var_28:SequenceRead[Char]>*/
+}
+var_30 = var29;
+for(;;) {
+{
+var31 = ((short int(*)(val* self))((((long)var_30&3)?class_info[((long)var_30&3)]:var_30->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_30); /* is_ok on <var_30:IndexedIterator[Char]>*/
+}
+if (var31){
+} else {
+goto BREAK_label;
+}
+{
+var32 = ((val*(*)(val* self))((((long)var_30&3)?class_info[((long)var_30&3)]:var_30->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_30); /* item on <var_30:IndexedIterator[Char]>*/
+}
+var33 = (uint32_t)((long)(var32)>>2);
+var_i = var33;
+{
+{ /* Inline kernel$Char$== (var_i,'i') on <var_i:Char> */
+var36 = var_i == 'i';
+var34 = var36;
+goto RET_LABEL35;
+RET_LABEL35:(void)0;
+}
+}
+if (var34){
+goto BREAK_label37;
+} else {
+}
+{
+{ /* Inline kernel$Char$== (var_i,'m') on <var_i:Char> */
+var40 = var_i == 'm';
+var38 = var40;
+goto RET_LABEL39;
+RET_LABEL39:(void)0;
+}
+}
+if (var38){
+goto BREAK_label37;
+} else {
+}
+{
+{ /* Inline kernel$Char$== (var_i,'b') on <var_i:Char> */
+var43 = var_i == 'b';
+var41 = var43;
+goto RET_LABEL42;
+RET_LABEL42:(void)0;
+}
+}
+if (var41){
+goto BREAK_label37;
+} else {
+}
+var = 0;
+goto RET_LABEL;
+BREAK_label37: (void)0;
+{
+((void(*)(val* self))((((long)var_30&3)?class_info[((long)var_30&3)]:var_30->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_30); /* next on <var_30:IndexedIterator[Char]>*/
+}
+}
+BREAK_label: (void)0;
+{
+((void(*)(val* self))((((long)var_30&3)?class_info[((long)var_30&3)]:var_30->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_30); /* finish on <var_30:IndexedIterator[Char]>*/
+}
+var = 1;
+goto RET_LABEL;
+} else {
+}
+{
+var45 = ((val*(*)(val* self))(self->class->vft[COLOR_nitc__literal__AAugmentedLiteral__prefix]))(self); /* prefix on <self:AugmentedStringFormExpr>*/
+}
+if (likely(varonce46!=NULL)) {
+var47 = varonce46;
+} else {
+var48 = "";
+var50 = (val*)(0l<<2|1);
+var51 = (val*)(0l<<2|1);
+var52 = (val*)((long)(0)<<2|3);
+var53 = (val*)((long)(0)<<2|3);
+var49 = core__flat___CString___to_s_unsafe(var48, var50, var51, var52, var53);
+var47 = var49;
+varonce46 = var47;
+}
+{
+{ /* Inline kernel$Object$!= (var45,var47) on <var45:String> */
+var_other = var47;
+{
+var56 = ((short int(*)(val* self, val* p0))(var45->class->vft[COLOR_core__kernel__Object___61d_61d]))(var45, var_other); /* == on <var45:String>*/
+}
+var57 = !var56;
+var54 = var57;
+goto RET_LABEL55;
+RET_LABEL55:(void)0;
+}
+}
+var_58 = var54;
+if (var54){
+var44 = var_58;
+} else {
+{
+var59 = ((val*(*)(val* self))(self->class->vft[COLOR_nitc__literal__AAugmentedLiteral__suffix]))(self); /* suffix on <self:AugmentedStringFormExpr>*/
+}
+if (likely(varonce60!=NULL)) {
+var61 = varonce60;
+} else {
+var62 = "";
+var64 = (val*)(0l<<2|1);
+var65 = (val*)(0l<<2|1);
+var66 = (val*)((long)(0)<<2|3);
+var67 = (val*)((long)(0)<<2|3);
+var63 = core__flat___CString___to_s_unsafe(var62, var64, var65, var66, var67);
+var61 = var63;
+varonce60 = var61;
+}
+{
+{ /* Inline kernel$Object$!= (var59,var61) on <var59:String> */
+var_other = var61;
+{
+var70 = ((short int(*)(val* self, val* p0))(var59->class->vft[COLOR_core__kernel__Object___61d_61d]))(var59, var_other); /* == on <var59:String>*/
+}
+var71 = !var70;
+var68 = var71;
+goto RET_LABEL69;
+RET_LABEL69:(void)0;
+}
+}
+var44 = var68;
+}
+if (var44){
+var = 0;
+goto RET_LABEL;
+} else {
+}
+var = 1;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method literal$AStringFormExpr$value for (self: AStringFormExpr): String */
+val* nitc__literal___AStringFormExpr___value(val* self) {
+val* var /* : String */;
+val* var1 /* : String */;
+var1 = self->attrs[COLOR_nitc__literal__AStringFormExpr___value].val; /* _value on <self:AStringFormExpr> */
+if (unlikely(var1 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _value");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__literal, 201);
+fatal_exit(1);
+}
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method literal$AStringFormExpr$value= for (self: AStringFormExpr, String) */
+void nitc__literal___AStringFormExpr___value_61d(val* self, val* p0) {
+self->attrs[COLOR_nitc__literal__AStringFormExpr___value].val = p0; /* _value on <self:AStringFormExpr> */
+RET_LABEL:;
+}
+/* method literal$AStringFormExpr$bytes for (self: AStringFormExpr): Bytes */
+val* nitc__literal___AStringFormExpr___bytes(val* self) {
+val* var /* : Bytes */;
+val* var1 /* : Bytes */;
+var1 = self->attrs[COLOR_nitc__literal__AStringFormExpr___bytes].val; /* _bytes on <self:AStringFormExpr> */
+if (unlikely(var1 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bytes");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__literal, 204);
+fatal_exit(1);
+}
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method literal$AStringFormExpr$bytes= for (self: AStringFormExpr, Bytes) */
+void nitc__literal___AStringFormExpr___bytes_61d(val* self, val* p0) {
+self->attrs[COLOR_nitc__literal__AStringFormExpr___bytes].val = p0; /* _bytes on <self:AStringFormExpr> */
+RET_LABEL:;
+}
+/* method literal$AStringFormExpr$text for (self: AStringFormExpr): String */
+val* nitc__literal___AStringFormExpr___AAugmentedLiteral__text(val* self) {
+val* var /* : String */;
+val* var1 /* : Token */;
+val* var3 /* : Token */;
+val* var4 /* : String */;
+{
+{ /* Inline parser_nodes$AStringFormExpr$n_string (self) on <self:AStringFormExpr> */
+var3 = self->attrs[COLOR_nitc__parser_nodes__AStringFormExpr___n_string].val; /* _n_string on <self:AStringFormExpr> */
+if (unlikely(var3 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_string");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2616);
+fatal_exit(1);
+}
+var1 = var3;
+RET_LABEL2:(void)0;
+}
+}
+{
+var4 = nitc__lexer_work___Token___text(var1);
+}
+var = var4;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method literal$AStringFormExpr$raw_text for (self: AStringFormExpr): String */
+val* nitc__literal___AStringFormExpr___raw_text(val* self) {
+val* var /* : String */;
+short int var1 /* : Bool */;
+val* var2 /* : String */;
+val* var3 /* : String */;
+val* var5 /* : String */;
+val* var_txt /* var txt: String */;
+long var_behead /* var behead: Int */;
+long var_betail /* var betail: Int */;
+short int var6 /* : Bool */;
+val* var7 /* : SequenceRead[Char] */;
+val* var8 /* : nullable Object */;
+val* var9 /* : SequenceRead[Char] */;
+val* var10 /* : nullable Object */;
+short int var11 /* : Bool */;
+short int var13 /* : Bool */;
+short int var_ /* var : Bool */;
+long var14 /* : Int */;
+short int var15 /* : Bool */;
+short int var17 /* : Bool */;
+int cltype;
+int idtype;
+const char* var_class_name;
+short int var18 /* : Bool */;
+short int var19 /* : Bool */;
+val* var20 /* : SequenceRead[Char] */;
+val* var21 /* : nullable Object */;
+uint32_t var22 /* : Char */;
+short int var23 /* : Bool */;
+short int var25 /* : Bool */;
+uint32_t var26 /* : Char */;
+short int var_27 /* var : Bool */;
+val* var28 /* : SequenceRead[Char] */;
+val* var29 /* : nullable Object */;
+short int var30 /* : Bool */;
+short int var32 /* : Bool */;
+uint32_t var33 /* : Char */;
+long var34 /* : Int */;
+long var35 /* : Int */;
+short int var37 /* : Bool */;
+int cltype38;
+int idtype39;
+const char* var_class_name40;
+long var41 /* : Int */;
+long var42 /* : Int */;
+short int var44 /* : Bool */;
+int cltype45;
+int idtype46;
+const char* var_class_name47;
+long var48 /* : Int */;
+val* var49 /* : Text */;
+var1 = self->attrs[COLOR_nitc__literal__AStringFormExpr___raw_text].val != NULL; /* _raw_text on <self:AStringFormExpr> */
+if(likely(var1)) {
+var2 = self->attrs[COLOR_nitc__literal__AStringFormExpr___raw_text].val; /* _raw_text on <self:AStringFormExpr> */
+if (unlikely(var2 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _raw_text");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__literal, 209);
+fatal_exit(1);
+}
+} else {
+{
+{
+var5 = nitc___nitc__AAugmentedLiteral___content(self);
+}
+var_txt = var5;
+var_behead = 1l;
+var_betail = 1l;
+{
+var7 = ((val*(*)(val* self))(var_txt->class->vft[COLOR_core__abstract_text__Text__chars]))(var_txt); /* chars on <var_txt:String>*/
+}
+{
+var8 = ((val*(*)(val* self, long p0))((((long)var7&3)?class_info[((long)var7&3)]:var7->class)->vft[COLOR_core__abstract_collection__SequenceRead___91d_93d]))(var7, 0l); /* [] on <var7:SequenceRead[Char]>*/
+}
+{
+var9 = ((val*(*)(val* self))(var_txt->class->vft[COLOR_core__abstract_text__Text__chars]))(var_txt); /* chars on <var_txt:String>*/
+}
+{
+var10 = ((val*(*)(val* self, long p0))((((long)var9&3)?class_info[((long)var9&3)]:var9->class)->vft[COLOR_core__abstract_collection__SequenceRead___91d_93d]))(var9, 1l); /* [] on <var9:SequenceRead[Char]>*/
+}
+{
+{ /* Inline kernel$Char$== (var8,var10) on <var8:nullable Object(Char)> */
+var13 = var8 == var10;
+var11 = var13;
+goto RET_LABEL12;
+RET_LABEL12:(void)0;
+}
+}
+var_ = var11;
+if (var11){
+{
+var14 = ((long(*)(val* self))(var_txt->class->vft[COLOR_core__abstract_text__Text__length]))(var_txt); /* length on <var_txt:String>*/
+}
+{
+{ /* Inline kernel$Int$>= (var14,6l) on <var14:Int> */
+/* Covariant cast for argument 0 (i) <6l:Int> isa OTHER */
+/* <6l:Int> isa OTHER */
+var17 = 1; /* easy <6l:Int> isa OTHER*/
+if (unlikely(!var17)) {
+var_class_name = type_core__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 726);
+fatal_exit(1);
+}
+var18 = var14 >= 6l;
+var15 = var18;
+goto RET_LABEL16;
+RET_LABEL16:(void)0;
+}
+}
+var6 = var15;
+} else {
+var6 = var_;
+}
+if (var6){
+var_behead = 3l;
+var_betail = 3l;
+{
+var20 = ((val*(*)(val* self))(var_txt->class->vft[COLOR_core__abstract_text__Text__chars]))(var_txt); /* chars on <var_txt:String>*/
+}
+{
+var21 = ((val*(*)(val* self, long p0))((((long)var20&3)?class_info[((long)var20&3)]:var20->class)->vft[COLOR_core__abstract_collection__SequenceRead___91d_93d]))(var20, 0l); /* [] on <var20:SequenceRead[Char]>*/
+}
+{
+var22 = ((uint32_t(*)(val* self))(self->class->vft[COLOR_nitc__literal__AAugmentedLiteral__delimiter_start]))(self); /* delimiter_start on <self:AStringFormExpr>*/
+}
+{
+{ /* Inline kernel$Char$== (var21,var22) on <var21:nullable Object(Char)> */
+var26 = (uint32_t)((long)(var21)>>2);
+var25 = var26 == var22;
+var23 = var25;
+goto RET_LABEL24;
+RET_LABEL24:(void)0;
+}
+}
+var_27 = var23;
+if (var23){
+{
+var28 = ((val*(*)(val* self))(var_txt->class->vft[COLOR_core__abstract_text__Text__chars]))(var_txt); /* chars on <var_txt:String>*/
+}
+{
+var29 = ((val*(*)(val* self, long p0))((((long)var28&3)?class_info[((long)var28&3)]:var28->class)->vft[COLOR_core__abstract_collection__SequenceRead___91d_93d]))(var28, 3l); /* [] on <var28:SequenceRead[Char]>*/
+}
+{
+{ /* Inline kernel$Char$== (var29,'\n') on <var29:nullable Object(Char)> */
+var33 = (uint32_t)((long)(var29)>>2);
+var32 = var33 == '\n';
+var30 = var32;
+goto RET_LABEL31;
+RET_LABEL31:(void)0;
+}
+}
+var19 = var30;
+} else {
+var19 = var_27;
+}
+if (var19){
+var_behead = 4l;
+} else {
+}
+} else {
+}
+{
+var34 = ((long(*)(val* self))(var_txt->class->vft[COLOR_core__abstract_text__Text__length]))(var_txt); /* length on <var_txt:String>*/
+}
+{
+{ /* Inline kernel$Int$- (var34,var_behead) on <var34:Int> */
+/* Covariant cast for argument 0 (i) <var_behead:Int> isa OTHER */
+/* <var_behead:Int> isa OTHER */
+var37 = 1; /* easy <var_behead:Int> isa OTHER*/
+if (unlikely(!var37)) {
+var_class_name40 = type_core__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name40);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
+fatal_exit(1);
+}
+var41 = var34 - var_behead;
+var35 = var41;
+goto RET_LABEL36;
+RET_LABEL36:(void)0;
+}
+}
+{
+{ /* Inline kernel$Int$- (var35,var_betail) on <var35:Int> */
+/* Covariant cast for argument 0 (i) <var_betail:Int> isa OTHER */
+/* <var_betail:Int> isa OTHER */
+var44 = 1; /* easy <var_betail:Int> isa OTHER*/
+if (unlikely(!var44)) {
+var_class_name47 = type_core__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name47);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
+fatal_exit(1);
+}
+var48 = var35 - var_betail;
+var42 = var48;
+goto RET_LABEL43;
+RET_LABEL43:(void)0;
+}
+}
+{
+var49 = ((val*(*)(val* self, long p0, long p1))(var_txt->class->vft[COLOR_core__abstract_text__Text__substring]))(var_txt, var_behead, var42); /* substring on <var_txt:String>*/
+}
+var3 = var49;
+goto RET_LABEL4;
+RET_LABEL4:(void)0;
+}
+self->attrs[COLOR_nitc__literal__AStringFormExpr___raw_text].val = var3; /* _raw_text on <self:AStringFormExpr> */
+var2 = var3;
+}
+var = var2;
+RET_LABEL:;
+return var;
+}
+/* method literal$AStringFormExpr$accept_literal for (self: AStringFormExpr, LiteralVisitor) */
+void nitc__literal___AStringFormExpr___ANode__accept_literal(val* self, val* p0) {
+val* var_v /* var v: LiteralVisitor */;
+val* var /* : String */;
+val* var2 /* : String */;
+val* var3 /* : Bytes */;
+var_v = p0;
+{
+var = nitc__literal___AStringFormExpr___raw_text(self);
+}
+{
+{ /* Inline literal$AStringFormExpr$value= (self,var) on <self:AStringFormExpr> */
+self->attrs[COLOR_nitc__literal__AStringFormExpr___value].val = var; /* _value on <self:AStringFormExpr> */
+RET_LABEL1:(void)0;
+}
+}
+{
+var2 = nitc__literal___AStringFormExpr___raw_text(self);
+}
+{
+var3 = core__bytes___Text___to_bytes(var2);
+}
+{
+{ /* Inline literal$AStringFormExpr$bytes= (self,var3) on <self:AStringFormExpr> */
+self->attrs[COLOR_nitc__literal__AStringFormExpr___bytes].val = var3; /* _bytes on <self:AStringFormExpr> */
+RET_LABEL4:(void)0;
+}
+}
+RET_LABEL:;
+}
+/* method literal$AEndStringExpr$delimiter_end for (self: AEndStringExpr): Char */
+uint32_t nitc__literal___AEndStringExpr___AAugmentedLiteral__delimiter_end(val* self) {
+uint32_t var /* : Char */;
+short int var1 /* : Bool */;
+uint32_t var2 /* : Char */;
+uint32_t var3 /* : Char */;
+var1 = self->attrs[COLOR_nitc__literal__AEndStringExpr__lazy_32d_delimiter_end].s; /* lazy _delimiter_end on <self:AEndStringExpr> */
+if(likely(var1)) {
+var2 = self->attrs[COLOR_nitc__literal__AEndStringExpr___delimiter_end].c; /* _delimiter_end on <self:AEndStringExpr> */
+} else {
+{
+var3 = '\"';
+goto RET_LABEL4;
+RET_LABEL4:(void)0;
+}
+self->attrs[COLOR_nitc__literal__AEndStringExpr___delimiter_end].c = var3; /* _delimiter_end on <self:AEndStringExpr> */
+var2 = var3;
+self->attrs[COLOR_nitc__literal__AEndStringExpr__lazy_32d_delimiter_end].s = 1; /* lazy _delimiter_end on <self:AEndStringExpr> */
+}
+var = var2;
+RET_LABEL:;
+return var;
+}
+/* method literal$AEndStringExpr$delimiter_end= for (self: AEndStringExpr, Char) */
+void nitc__literal___AEndStringExpr___AugmentedStringFormExpr__delimiter_end_61d(val* self, uint32_t p0) {
+self->attrs[COLOR_nitc__literal__AEndStringExpr___delimiter_end].c = p0; /* _delimiter_end on <self:AEndStringExpr> */
+self->attrs[COLOR_nitc__literal__AEndStringExpr__lazy_32d_delimiter_end].s = 1; /* lazy _delimiter_end on <self:AEndStringExpr> */
+RET_LABEL:;
+}
+/* method literal$AEndStringExpr$prefix for (self: AEndStringExpr): String */
+val* nitc__literal___AEndStringExpr___AAugmentedLiteral__prefix(val* self) {
+val* var /* : String */;
+static val* varonce;
+val* var1 /* : String */;
+char* var2 /* : CString */;
+val* var3 /* : String */;
+val* var4 /* : nullable Int */;
+val* var5 /* : nullable Int */;
+val* var6 /* : nullable Bool */;
+val* var7 /* : nullable Bool */;
+if (likely(varonce!=NULL)) {
+var1 = varonce;
+} else {
+var2 = "";
+var4 = (val*)(0l<<2|1);
+var5 = (val*)(0l<<2|1);
+var6 = (val*)((long)(0)<<2|3);
+var7 = (val*)((long)(0)<<2|3);
+var3 = core__flat___CString___to_s_unsafe(var2, var4, var5, var6, var7);
+var1 = var3;
+varonce = var1;
+}
+var = var1;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method literal$AStartStringExpr$delimiter_start for (self: AStartStringExpr): Char */
+uint32_t nitc__literal___AStartStringExpr___AAugmentedLiteral__delimiter_start(val* self) {
+uint32_t var /* : Char */;
+short int var1 /* : Bool */;
+uint32_t var2 /* : Char */;
+uint32_t var3 /* : Char */;
+val* var5 /* : Token */;
+val* var7 /* : Token */;
+val* var8 /* : String */;
+val* var_str /* var str: String */;
+long var_i /* var i: Int */;
+long var9 /* : Int */;
+long var_ /* var : Int */;
+short int var10 /* : Bool */;
+short int var12 /* : Bool */;
+int cltype;
+int idtype;
+const char* var_class_name;
+short int var13 /* : Bool */;
+uint32_t var14 /* : Char */;
+uint32_t var_c /* var c: Char */;
+short int var15 /* : Bool */;
+short int var16 /* : Bool */;
+short int var18 /* : Bool */;
+short int var_19 /* var : Bool */;
+short int var20 /* : Bool */;
+short int var22 /* : Bool */;
+long var23 /* : Int */;
+var1 = self->attrs[COLOR_nitc__literal__AStartStringExpr__lazy_32d_delimiter_start].s; /* lazy _delimiter_start on <self:AStartStringExpr> */
+if(likely(var1)) {
+var2 = self->attrs[COLOR_nitc__literal__AStartStringExpr___delimiter_start].c; /* _delimiter_start on <self:AStartStringExpr> */
+} else {
+{
+{
+{ /* Inline parser_nodes$AStringFormExpr$n_string (self) on <self:AStartStringExpr> */
+var7 = self->attrs[COLOR_nitc__parser_nodes__AStringFormExpr___n_string].val; /* _n_string on <self:AStartStringExpr> */
+if (unlikely(var7 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_string");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2616);
+fatal_exit(1);
+}
+var5 = var7;
+RET_LABEL6:(void)0;
+}
+}
+{
+var8 = nitc__lexer_work___Token___text(var5);
+}
+var_str = var8;
+var_i = 0l;
+{
+var9 = ((long(*)(val* self))(var_str->class->vft[COLOR_core__abstract_text__Text__length]))(var_str); /* length on <var_str:String>*/
+}
+var_ = var9;
+for(;;) {
+{
+{ /* Inline kernel$Int$< (var_i,var_) on <var_i:Int> */
+/* Covariant cast for argument 0 (i) <var_:Int> isa OTHER */
+/* <var_:Int> isa OTHER */
+var12 = 1; /* easy <var_:Int> isa OTHER*/
+if (unlikely(!var12)) {
+var_class_name = type_core__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725);
+fatal_exit(1);
+}
+var13 = var_i < var_;
+var10 = var13;
+goto RET_LABEL11;
+RET_LABEL11:(void)0;
+}
+}
+if (var10){
+} else {
+goto BREAK_label;
+}
+{
+var14 = ((uint32_t(*)(val* self, long p0))(var_str->class->vft[COLOR_core__abstract_text__Text___91d_93d]))(var_str, var_i); /* [] on <var_str:String>*/
+}
+var_c = var14;
+{
+{ /* Inline kernel$Char$== (var_c,'\"') on <var_c:Char> */
+var18 = var_c == '\"';
+var16 = var18;
+goto RET_LABEL17;
+RET_LABEL17:(void)0;
+}
+}
+var_19 = var16;
+if (var16){
+var15 = var_19;
+} else {
+{
+{ /* Inline kernel$Char$== (var_c,'\'') on <var_c:Char> */
+var22 = var_c == '\'';
+var20 = var22;
+goto RET_LABEL21;
+RET_LABEL21:(void)0;
+}
+}
+var15 = var20;
+}
+if (var15){
+var3 = var_c;
+goto RET_LABEL4;
+} else {
+}
+{
+var23 = core___core__Int___Discrete__successor(var_i, 1l);
+}
+var_i = var23;
+}
+BREAK_label: (void)0;
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Aborted");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__literal, 243);
+fatal_exit(1);
+RET_LABEL4:(void)0;
+}
+self->attrs[COLOR_nitc__literal__AStartStringExpr___delimiter_start].c = var3; /* _delimiter_start on <self:AStartStringExpr> */
+var2 = var3;
+self->attrs[COLOR_nitc__literal__AStartStringExpr__lazy_32d_delimiter_start].s = 1; /* lazy _delimiter_start on <self:AStartStringExpr> */
+}
+var = var2;
+RET_LABEL:;
+return var;
+}
+/* method literal$AStartStringExpr$delimiter_start= for (self: AStartStringExpr, Char) */
+void nitc__literal___AStartStringExpr___AugmentedStringFormExpr__delimiter_start_61d(val* self, uint32_t p0) {
+self->attrs[COLOR_nitc__literal__AStartStringExpr___delimiter_start].c = p0; /* _delimiter_start on <self:AStartStringExpr> */
+self->attrs[COLOR_nitc__literal__AStartStringExpr__lazy_32d_delimiter_start].s = 1; /* lazy _delimiter_start on <self:AStartStringExpr> */
+RET_LABEL:;
+}
+/* method literal$AStartStringExpr$suffix for (self: AStartStringExpr): String */
+val* nitc__literal___AStartStringExpr___AAugmentedLiteral__suffix(val* self) {
+val* var /* : String */;
+static val* varonce;
+val* var1 /* : String */;
+char* var2 /* : CString */;
+val* var3 /* : String */;
+val* var4 /* : nullable Int */;
+val* var5 /* : nullable Int */;
+val* var6 /* : nullable Bool */;
+val* var7 /* : nullable Bool */;
+if (likely(varonce!=NULL)) {
+var1 = varonce;
+} else {
+var2 = "";
+var4 = (val*)(0l<<2|1);
+var5 = (val*)(0l<<2|1);
+var6 = (val*)((long)(0)<<2|3);
+var7 = (val*)((long)(0)<<2|3);
+var3 = core__flat___CString___to_s_unsafe(var2, var4, var5, var6, var7);
+var1 = var3;
+varonce = var1;
+}
+var = var1;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method literal$AMidStringExpr$prefix for (self: AMidStringExpr): String */
+val* nitc__literal___AMidStringExpr___AAugmentedLiteral__prefix(val* self) {
+val* var /* : String */;
+static val* varonce;
+val* var1 /* : String */;
+char* var2 /* : CString */;
+val* var3 /* : String */;
+val* var4 /* : nullable Int */;
+val* var5 /* : nullable Int */;
+val* var6 /* : nullable Bool */;
+val* var7 /* : nullable Bool */;
+if (likely(varonce!=NULL)) {
+var1 = varonce;
+} else {
+var2 = "";
+var4 = (val*)(0l<<2|1);
+var5 = (val*)(0l<<2|1);
+var6 = (val*)((long)(0)<<2|3);
+var7 = (val*)((long)(0)<<2|3);
+var3 = core__flat___CString___to_s_unsafe(var2, var4, var5, var6, var7);
+var1 = var3;
+varonce = var1;
+}
+var = var1;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method literal$AMidStringExpr$suffix for (self: AMidStringExpr): String */
+val* nitc__literal___AMidStringExpr___AAugmentedLiteral__suffix(val* self) {
+val* var /* : String */;
+static val* varonce;
+val* var1 /* : String */;
+char* var2 /* : CString */;
+val* var3 /* : String */;
+val* var4 /* : nullable Int */;
+val* var5 /* : nullable Int */;
+val* var6 /* : nullable Bool */;
+val* var7 /* : nullable Bool */;
+if (likely(varonce!=NULL)) {
+var1 = varonce;
+} else {
+var2 = "";
+var4 = (val*)(0l<<2|1);
+var5 = (val*)(0l<<2|1);
+var6 = (val*)((long)(0)<<2|3);
+var7 = (val*)((long)(0)<<2|3);
+var3 = core__flat___CString___to_s_unsafe(var2, var4, var5, var6, var7);
+var1 = var3;
+varonce = var1;
+}
+var = var1;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method literal$AStringExpr$delimiter_start for (self: AStringExpr): Char */
+uint32_t nitc__literal___AStringExpr___AAugmentedLiteral__delimiter_start(val* self) {
+uint32_t var /* : Char */;
+short int var1 /* : Bool */;
+uint32_t var2 /* : Char */;
+uint32_t var3 /* : Char */;
+val* var5 /* : String */;
+val* var_str /* var str: String */;
+long var_i /* var i: Int */;
+long var6 /* : Int */;
+long var_ /* var : Int */;
+short int var7 /* : Bool */;
+short int var9 /* : Bool */;
+int cltype;
+int idtype;
+const char* var_class_name;
+short int var10 /* : Bool */;
+uint32_t var11 /* : Char */;
+uint32_t var_c /* var c: Char */;
+short int var12 /* : Bool */;
+short int var13 /* : Bool */;
+short int var15 /* : Bool */;
+short int var_16 /* var : Bool */;
+short int var17 /* : Bool */;
+short int var19 /* : Bool */;
+long var20 /* : Int */;
+var1 = self->attrs[COLOR_nitc__literal__AStringExpr__lazy_32d_delimiter_start].s; /* lazy _delimiter_start on <self:AStringExpr> */
+if(likely(var1)) {
+var2 = self->attrs[COLOR_nitc__literal__AStringExpr___delimiter_start].c; /* _delimiter_start on <self:AStringExpr> */
+} else {
+{
+{
+var5 = nitc__literal___AStringFormExpr___AAugmentedLiteral__text(self);
+}
+var_str = var5;
+var_i = 0l;
+{
+var6 = ((long(*)(val* self))(var_str->class->vft[COLOR_core__abstract_text__Text__length]))(var_str); /* length on <var_str:String>*/
+}
+var_ = var6;
+for(;;) {
+{
+{ /* Inline kernel$Int$< (var_i,var_) on <var_i:Int> */
+/* Covariant cast for argument 0 (i) <var_:Int> isa OTHER */
+/* <var_:Int> isa OTHER */
+var9 = 1; /* easy <var_:Int> isa OTHER*/
+if (unlikely(!var9)) {
+var_class_name = type_core__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725);
+fatal_exit(1);
+}
+var10 = var_i < var_;
+var7 = var10;
+goto RET_LABEL8;
+RET_LABEL8:(void)0;
+}
+}
+if (var7){
+} else {
+goto BREAK_label;
+}
+{
+var11 = ((uint32_t(*)(val* self, long p0))(var_str->class->vft[COLOR_core__abstract_text__Text___91d_93d]))(var_str, var_i); /* [] on <var_str:String>*/
+}
+var_c = var11;
+{
+{ /* Inline kernel$Char$== (var_c,'\"') on <var_c:Char> */
+var15 = var_c == '\"';
+var13 = var15;
+goto RET_LABEL14;
+RET_LABEL14:(void)0;
+}
+}
+var_16 = var13;
+if (var13){
+var12 = var_16;
+} else {
+{
+{ /* Inline kernel$Char$== (var_c,'\'') on <var_c:Char> */
+var19 = var_c == '\'';
+var17 = var19;
+goto RET_LABEL18;
+RET_LABEL18:(void)0;
+}
+}
+var12 = var17;
+}
+if (var12){
+{
+nitc__literal___AStringExpr___AugmentedStringFormExpr__delimiter_end_61d(self, var_c); /* Direct call literal$AStringExpr$delimiter_end= on <self:AStringExpr>*/
+}
+var3 = var_c;
+goto RET_LABEL4;
+} else {
+}
+{
+var20 = core___core__Int___Discrete__successor(var_i, 1l);
+}
+var_i = var20;
+}
+BREAK_label: (void)0;
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Aborted");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__literal, 265);
+fatal_exit(1);
+RET_LABEL4:(void)0;
+}
+self->attrs[COLOR_nitc__literal__AStringExpr___delimiter_start].c = var3; /* _delimiter_start on <self:AStringExpr> */
+var2 = var3;
+self->attrs[COLOR_nitc__literal__AStringExpr__lazy_32d_delimiter_start].s = 1; /* lazy _delimiter_start on <self:AStringExpr> */
+}
+var = var2;
+RET_LABEL:;
+return var;
+}
+/* method literal$AStringExpr$delimiter_start= for (self: AStringExpr, Char) */
+void nitc__literal___AStringExpr___AugmentedStringFormExpr__delimiter_start_61d(val* self, uint32_t p0) {
+self->attrs[COLOR_nitc__literal__AStringExpr___delimiter_start].c = p0; /* _delimiter_start on <self:AStringExpr> */
+self->attrs[COLOR_nitc__literal__AStringExpr__lazy_32d_delimiter_start].s = 1; /* lazy _delimiter_start on <self:AStringExpr> */
+RET_LABEL:;
+}
+/* method literal$AStringExpr$delimiter_end for (self: AStringExpr): Char */
+uint32_t nitc__literal___AStringExpr___AAugmentedLiteral__delimiter_end(val* self) {
+uint32_t var /* : Char */;
+short int var1 /* : Bool */;
+uint32_t var2 /* : Char */;
+uint32_t var3 /* : Char */;
+uint32_t var5 /* : Char */;
+var1 = self->attrs[COLOR_nitc__literal__AStringExpr__lazy_32d_delimiter_end].s; /* lazy _delimiter_end on <self:AStringExpr> */
+if(likely(var1)) {
+var2 = self->attrs[COLOR_nitc__literal__AStringExpr___delimiter_end].c; /* _delimiter_end on <self:AStringExpr> */
+} else {
+{
+{
+var5 = nitc__literal___AStringExpr___AAugmentedLiteral__delimiter_start(self);
+}
+var3 = var5;
+goto RET_LABEL4;
+RET_LABEL4:(void)0;
+}
+self->attrs[COLOR_nitc__literal__AStringExpr___delimiter_end].c = var3; /* _delimiter_end on <self:AStringExpr> */
+var2 = var3;
+self->attrs[COLOR_nitc__literal__AStringExpr__lazy_32d_delimiter_end].s = 1; /* lazy _delimiter_end on <self:AStringExpr> */
+}
+var = var2;
+RET_LABEL:;
+return var;
+}
+/* method literal$AStringExpr$delimiter_end= for (self: AStringExpr, Char) */
+void nitc__literal___AStringExpr___AugmentedStringFormExpr__delimiter_end_61d(val* self, uint32_t p0) {
+self->attrs[COLOR_nitc__literal__AStringExpr___delimiter_end].c = p0; /* _delimiter_end on <self:AStringExpr> */
+self->attrs[COLOR_nitc__literal__AStringExpr__lazy_32d_delimiter_end].s = 1; /* lazy _delimiter_end on <self:AStringExpr> */
+RET_LABEL:;
+}
+/* method literal$AStringExpr$accept_literal for (self: AStringExpr, LiteralVisitor) */
+void nitc__literal___AStringExpr___ANode__accept_literal(val* self, val* p0) {
+val* var_v /* var v: LiteralVisitor */;
+short int var /* : Bool */;
+short int var1 /* : Bool */;
+val* var2 /* : ToolContext */;
+val* var4 /* : ToolContext */;
+val* var5 /* : Location */;
+val* var6 /* : NativeArray[String] */;
+static val* varonce;
+static val* varonce7;
+val* var8 /* : String */;
+char* var9 /* : CString */;
+val* var10 /* : String */;
+val* var11 /* : nullable Int */;
+val* var12 /* : nullable Int */;
+val* var13 /* : nullable Bool */;
+val* var14 /* : nullable Bool */;
+static val* varonce15;
+val* var16 /* : String */;
+char* var17 /* : CString */;
+val* var18 /* : String */;
+val* var19 /* : nullable Int */;
+val* var20 /* : nullable Int */;
+val* var21 /* : nullable Bool */;
+val* var22 /* : nullable Bool */;
+val* var23 /* : String */;
+val* var24 /* : String */;
+val* var25 /* : String */;
+val* var26 /* : Message */;
+val* var27 /* : String */;
+static val* varonce28;
+val* var29 /* : String */;
+char* var30 /* : CString */;
+val* var31 /* : String */;
+val* var32 /* : nullable Int */;
+val* var33 /* : nullable Int */;
+val* var34 /* : nullable Bool */;
+val* var35 /* : nullable Bool */;
+short int var36 /* : Bool */;
+val* var_other /* var other: nullable Object */;
+short int var38 /* : Bool */;
+short int var39 /* : Bool */;
+val* var40 /* : String */;
+val* var41 /* : Bytes */;
+val* var43 /* : Bytes */;
+val* var45 /* : Bytes */;
+val* var46 /* : String */;
+var_v = p0;
+{
+((void(*)(val* self, val* p0))(self->class->vft[COLOR_nitc__literal___AStringExpr___ANode__accept_literal]))(self, p0); /* accept_literal on <self:AStringExpr>*/
+}
+{
+var = nitc___nitc__AugmentedStringFormExpr___AAugmentedLiteral__is_valid_augmentation(self);
+}
+var1 = !var;
+if (var1){
+{
+{ /* Inline literal$LiteralVisitor$toolcontext (var_v) on <var_v:LiteralVisitor> */
+var4 = var_v->attrs[COLOR_nitc__literal__LiteralVisitor___toolcontext].val; /* _toolcontext on <var_v:LiteralVisitor> */
+if (unlikely(var4 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__literal, 46);
+fatal_exit(1);
+}
+var2 = var4;
+RET_LABEL3:(void)0;
+}
+}
+{
+var5 = nitc___nitc__ANode___hot_location(self);
+}
+if (unlikely(varonce==NULL)) {
+var6 = NEW_core__NativeArray((int)4l, &type_core__NativeArray__core__String);
+if (likely(varonce7!=NULL)) {
+var8 = varonce7;
+} else {
+var9 = "Error: invalid prefix/suffix combination ";
+var11 = (val*)(41l<<2|1);
+var12 = (val*)(41l<<2|1);
+var13 = (val*)((long)(0)<<2|3);
+var14 = (val*)((long)(0)<<2|3);
+var10 = core__flat___CString___to_s_unsafe(var9, var11, var12, var13, var14);
+var8 = var10;
+varonce7 = var8;
+}
+((struct instance_core__NativeArray*)var6)->values[0]=var8;
+if (likely(varonce15!=NULL)) {
+var16 = varonce15;
+} else {
+var17 = "/";
+var19 = (val*)(1l<<2|1);
+var20 = (val*)(1l<<2|1);
+var21 = (val*)((long)(0)<<2|3);
+var22 = (val*)((long)(0)<<2|3);
+var18 = core__flat___CString___to_s_unsafe(var17, var19, var20, var21, var22);
+var16 = var18;
+varonce15 = var16;
+}
+((struct instance_core__NativeArray*)var6)->values[2]=var16;
+} else {
+var6 = varonce;
+varonce = NULL;
+}
+{
+var23 = nitc___nitc__AAugmentedLiteral___prefix(self);
+}
+((struct instance_core__NativeArray*)var6)->values[1]=var23;
+{
+var24 = nitc___nitc__AAugmentedLiteral___suffix(self);
+}
+((struct instance_core__NativeArray*)var6)->values[3]=var24;
+{
+var25 = ((val*(*)(val* self))(var6->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var6); /* native_to_s on <var6:NativeArray[String]>*/
+}
+varonce = var6;
+{
+var26 = nitc___nitc__ToolContext___error(var2, var5, var25);
+}
+goto RET_LABEL;
+} else {
+}
+{
+var27 = nitc___nitc__AAugmentedLiteral___prefix(self);
+}
+if (likely(varonce28!=NULL)) {
+var29 = varonce28;
+} else {
+var30 = "raw";
+var32 = (val*)(3l<<2|1);
+var33 = (val*)(3l<<2|1);
+var34 = (val*)((long)(0)<<2|3);
+var35 = (val*)((long)(0)<<2|3);
+var31 = core__flat___CString___to_s_unsafe(var30, var32, var33, var34, var35);
+var29 = var31;
+varonce28 = var29;
+}
+{
+{ /* Inline kernel$Object$!= (var27,var29) on <var27:String> */
+var_other = var29;
+{
+var38 = ((short int(*)(val* self, val* p0))(var27->class->vft[COLOR_core__kernel__Object___61d_61d]))(var27, var_other); /* == on <var27:String>*/
+}
+var39 = !var38;
+var36 = var39;
+goto RET_LABEL37;
+RET_LABEL37:(void)0;
+}
+}
+if (var36){
+{
+var40 = nitc__literal___AStringFormExpr___raw_text(self);
+}
+{
+var41 = core__bytes___Text___unescape_to_bytes(var40);
+}
+{
+{ /* Inline literal$AStringFormExpr$bytes= (self,var41) on <self:AStringExpr> */
+self->attrs[COLOR_nitc__literal__AStringFormExpr___bytes].val = var41; /* _bytes on <self:AStringExpr> */
+RET_LABEL42:(void)0;
+}
+}
+{
+{ /* Inline literal$AStringFormExpr$bytes (self) on <self:AStringExpr> */
+var45 = self->attrs[COLOR_nitc__literal__AStringFormExpr___bytes].val; /* _bytes on <self:AStringExpr> */
+if (unlikely(var45 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bytes");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__literal, 204);
+fatal_exit(1);
+}
+var43 = var45;
+RET_LABEL44:(void)0;
+}
+}
+{
+var46 = core___core__Bytes___core__abstract_text__Object__to_s(var43);
+}
+{
+{ /* Inline literal$AStringFormExpr$value= (self,var46) on <self:AStringExpr> */
+self->attrs[COLOR_nitc__literal__AStringFormExpr___value].val = var46; /* _value on <self:AStringExpr> */
+RET_LABEL47:(void)0;
+}
+}
+} else {
+}
+RET_LABEL:;
+}
+/* method literal$ASuperstringExpr$prefix for (self: ASuperstringExpr): String */
+val* nitc__literal___ASuperstringExpr___AAugmentedLiteral__prefix(val* self) {
+val* var /* : String */;
+short int var1 /* : Bool */;
+val* var2 /* : String */;
+val* var3 /* : String */;
+val* var5 /* : ANodes[AExpr] */;
+val* var7 /* : ANodes[AExpr] */;
+val* var8 /* : nullable Object */;
+val* var_fst /* var fst: AExpr */;
+short int var9 /* : Bool */;
+int cltype;
+int idtype;
+val* var10 /* : String */;
+val* var_prf /* var prf: String */;
+uint32_t var11 /* : Char */;
+uint32_t var13 /* : Char */;
+uint32_t var15 /* : Char */;
+static val* varonce;
+val* var17 /* : String */;
+char* var18 /* : CString */;
+val* var19 /* : String */;
+val* var20 /* : nullable Int */;
+val* var21 /* : nullable Int */;
+val* var22 /* : nullable Bool */;
+val* var23 /* : nullable Bool */;
+var1 = self->attrs[COLOR_nitc__literal__ASuperstringExpr___prefix].val != NULL; /* _prefix on <self:ASuperstringExpr> */
+if(likely(var1)) {
+var2 = self->attrs[COLOR_nitc__literal__ASuperstringExpr___prefix].val; /* _prefix on <self:ASuperstringExpr> */
+if (unlikely(var2 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _prefix");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__literal, 287);
+fatal_exit(1);
+}
+} else {
+{
+{
+{ /* Inline parser_nodes$ASuperstringExpr$n_exprs (self) on <self:ASuperstringExpr> */
+var7 = self->attrs[COLOR_nitc__parser_nodes__ASuperstringExpr___n_exprs].val; /* _n_exprs on <self:ASuperstringExpr> */
+if (unlikely(var7 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2645);
+fatal_exit(1);
+}
+var5 = var7;
+RET_LABEL6:(void)0;
+}
+}
+{
+var8 = core___core__SequenceRead___Collection__first(var5);
+}
+var_fst = var8;
+/* <var_fst:AExpr> isa AugmentedStringFormExpr */
+cltype = type_nitc__AugmentedStringFormExpr.color;
+idtype = type_nitc__AugmentedStringFormExpr.id;
+if(cltype >= var_fst->type->table_size) {
+var9 = 0;
+} else {
+var9 = var_fst->type->type_table[cltype] == idtype;
+}
+if (var9){
+{
+var10 = ((val*(*)(val* self))(var_fst->class->vft[COLOR_nitc__literal__AAugmentedLiteral__prefix]))(var_fst); /* prefix on <var_fst:AExpr(AugmentedStringFormExpr)>*/
+}
+var_prf = var10;
+{
+var11 = ((uint32_t(*)(val* self))(var_fst->class->vft[COLOR_nitc__literal__AAugmentedLiteral__delimiter_start]))(var_fst); /* delimiter_start on <var_fst:AExpr(AugmentedStringFormExpr)>*/
+}
+{
+{ /* Inline literal$AugmentedStringFormExpr$delimiter_start= (self,var11) on <self:ASuperstringExpr> */
+self->attrs[COLOR_nitc__literal__AugmentedStringFormExpr___delimiter_start].c = var11; /* _delimiter_start on <self:ASuperstringExpr> */
+RET_LABEL12:(void)0;
+}
+}
+{
+{ /* Inline literal$AugmentedStringFormExpr$delimiter_start (self) on <self:ASuperstringExpr> */
+var15 = self->attrs[COLOR_nitc__literal__AugmentedStringFormExpr___delimiter_start].c; /* _delimiter_start on <self:ASuperstringExpr> */
+var13 = var15;
+RET_LABEL14:(void)0;
+}
+}
+{
+{ /* Inline literal$AugmentedStringFormExpr$delimiter_end= (self,var13) on <self:ASuperstringExpr> */
+self->attrs[COLOR_nitc__literal__AugmentedStringFormExpr___delimiter_end].c = var13; /* _delimiter_end on <self:ASuperstringExpr> */
+RET_LABEL16:(void)0;
+}
+}
+var3 = var_prf;
+goto RET_LABEL4;
+} else {
+}
+if (likely(varonce!=NULL)) {
+var17 = varonce;
+} else {
+var18 = "";
+var20 = (val*)(0l<<2|1);
+var21 = (val*)(0l<<2|1);
+var22 = (val*)((long)(0)<<2|3);
+var23 = (val*)((long)(0)<<2|3);
+var19 = core__flat___CString___to_s_unsafe(var18, var20, var21, var22, var23);
+var17 = var19;
+varonce = var17;
+}
+var3 = var17;
+goto RET_LABEL4;
+RET_LABEL4:(void)0;
+}
+self->attrs[COLOR_nitc__literal__ASuperstringExpr___prefix].val = var3; /* _prefix on <self:ASuperstringExpr> */
+var2 = var3;
+}
+var = var2;
+RET_LABEL:;
+return var;
+}
+/* method literal$ASuperstringExpr$suffix for (self: ASuperstringExpr): String */
+val* nitc__literal___ASuperstringExpr___AAugmentedLiteral__suffix(val* self) {
+val* var /* : String */;
+short int var1 /* : Bool */;
+val* var2 /* : String */;
+val* var3 /* : String */;
+val* var5 /* : ANodes[AExpr] */;
+val* var7 /* : ANodes[AExpr] */;
+val* var8 /* : nullable Object */;
+val* var_lst /* var lst: AExpr */;
+val* var9 /* : String */;
+short int var10 /* : Bool */;
+int cltype;
+int idtype;
+uint32_t var11 /* : Char */;
+uint32_t var13 /* : Char */;
+val* var14 /* : String */;
+static val* varonce;
+val* var15 /* : String */;
+char* var16 /* : CString */;
+val* var17 /* : String */;
+val* var18 /* : nullable Int */;
+val* var19 /* : nullable Int */;
+val* var20 /* : nullable Bool */;
+val* var21 /* : nullable Bool */;
+var1 = self->attrs[COLOR_nitc__literal__ASuperstringExpr___suffix].val != NULL; /* _suffix on <self:ASuperstringExpr> */
+if(likely(var1)) {
+var2 = self->attrs[COLOR_nitc__literal__ASuperstringExpr___suffix].val; /* _suffix on <self:ASuperstringExpr> */
+if (unlikely(var2 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _suffix");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__literal, 298);
+fatal_exit(1);
+}
+} else {
+{
+{
+{ /* Inline parser_nodes$ASuperstringExpr$n_exprs (self) on <self:ASuperstringExpr> */
+var7 = self->attrs[COLOR_nitc__parser_nodes__ASuperstringExpr___n_exprs].val; /* _n_exprs on <self:ASuperstringExpr> */
+if (unlikely(var7 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2645);
+fatal_exit(1);
+}
+var5 = var7;
+RET_LABEL6:(void)0;
+}
+}
+{
+var8 = core___core__SequenceRead___last(var5);
+}
+var_lst = var8;
+{
+var9 = nitc__literal___ASuperstringExpr___AAugmentedLiteral__prefix(self);
+}
+/* <var_lst:AExpr> isa AugmentedStringFormExpr */
+cltype = type_nitc__AugmentedStringFormExpr.color;
+idtype = type_nitc__AugmentedStringFormExpr.id;
+if(cltype >= var_lst->type->table_size) {
+var10 = 0;
+} else {
+var10 = var_lst->type->type_table[cltype] == idtype;
+}
+if (var10){
+{
+{ /* Inline literal$AugmentedStringFormExpr$delimiter_start (self) on <self:ASuperstringExpr> */
+var13 = self->attrs[COLOR_nitc__literal__AugmentedStringFormExpr___delimiter_start].c; /* _delimiter_start on <self:ASuperstringExpr> */
+var11 = var13;
+RET_LABEL12:(void)0;
+}
+}
+{
+((void(*)(val* self, uint32_t p0))(var_lst->class->vft[COLOR_nitc__literal__AugmentedStringFormExpr__delimiter_end_61d]))(var_lst, var11); /* delimiter_end= on <var_lst:AExpr(AugmentedStringFormExpr)>*/
+}
+{
+var14 = ((val*(*)(val* self))(var_lst->class->vft[COLOR_nitc__literal__AAugmentedLiteral__suffix]))(var_lst); /* suffix on <var_lst:AExpr(AugmentedStringFormExpr)>*/
+}
+var3 = var14;
+goto RET_LABEL4;
+} else {
+}
+if (likely(varonce!=NULL)) {
+var15 = varonce;
+} else {
+var16 = "";
+var18 = (val*)(0l<<2|1);
+var19 = (val*)(0l<<2|1);
+var20 = (val*)((long)(0)<<2|3);
+var21 = (val*)((long)(0)<<2|3);
+var17 = core__flat___CString___to_s_unsafe(var16, var18, var19, var20, var21);
+var15 = var17;
+varonce = var15;
+}
+var3 = var15;
+goto RET_LABEL4;
+RET_LABEL4:(void)0;
+}
+self->attrs[COLOR_nitc__literal__ASuperstringExpr___suffix].val = var3; /* _suffix on <self:ASuperstringExpr> */
+var2 = var3;
+}
+var = var2;
+RET_LABEL:;
+return var;
+}
+/* method literal$ASuperstringExpr$accept_literal for (self: ASuperstringExpr, LiteralVisitor) */
+void nitc__literal___ASuperstringExpr___ANode__accept_literal(val* self, val* p0) {
+val* var_v /* var v: LiteralVisitor */;
+short int var /* : Bool */;
+val* var1 /* : ToolContext */;
+val* var3 /* : ToolContext */;
+val* var4 /* : Location */;
+static val* varonce;
+val* var5 /* : String */;
+char* var6 /* : CString */;
+val* var7 /* : String */;
+val* var8 /* : nullable Int */;
+val* var9 /* : nullable Int */;
+val* var10 /* : nullable Bool */;
+val* var11 /* : nullable Bool */;
+val* var12 /* : Message */;
+short int var13 /* : Bool */;
+short int var14 /* : Bool */;
+val* var15 /* : ToolContext */;
+val* var17 /* : ToolContext */;
+val* var18 /* : Location */;
+val* var20 /* : NativeArray[String] */;
+static val* varonce19;
+static val* varonce21;
+val* var22 /* : String */;
+char* var23 /* : CString */;
+val* var24 /* : String */;
+val* var25 /* : nullable Int */;
+val* var26 /* : nullable Int */;
+val* var27 /* : nullable Bool */;
+val* var28 /* : nullable Bool */;
+static val* varonce29;
+val* var30 /* : String */;
+char* var31 /* : CString */;
+val* var32 /* : String */;
+val* var33 /* : nullable Int */;
+val* var34 /* : nullable Int */;
+val* var35 /* : nullable Bool */;
+val* var36 /* : nullable Bool */;
+val* var37 /* : String */;
+val* var38 /* : String */;
+val* var39 /* : String */;
+val* var40 /* : Message */;
+var_v = p0;
+{
+var = nitc___nitc__AugmentedStringFormExpr___is_bytestring(self);
+}
+if (var){
+{
+{ /* Inline literal$LiteralVisitor$toolcontext (var_v) on <var_v:LiteralVisitor> */
+var3 = var_v->attrs[COLOR_nitc__literal__LiteralVisitor___toolcontext].val; /* _toolcontext on <var_v:LiteralVisitor> */
+if (unlikely(var3 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__literal, 46);
+fatal_exit(1);
+}
+var1 = var3;
+RET_LABEL2:(void)0;
+}
+}
+{
+var4 = nitc___nitc__ANode___hot_location(self);
+}
+if (likely(varonce!=NULL)) {
+var5 = varonce;
+} else {
+var6 = "Error: cannot produce a ByteString on a Superstring";
+var8 = (val*)(51l<<2|1);
+var9 = (val*)(51l<<2|1);
+var10 = (val*)((long)(0)<<2|3);
+var11 = (val*)((long)(0)<<2|3);
+var7 = core__flat___CString___to_s_unsafe(var6, var8, var9, var10, var11);
+var5 = var7;
+varonce = var5;
+}
+{
+var12 = nitc___nitc__ToolContext___error(var1, var4, var5);
+}
+goto RET_LABEL;
+} else {
+}
+{
+var13 = nitc___nitc__AugmentedStringFormExpr___AAugmentedLiteral__is_valid_augmentation(self);
+}
+var14 = !var13;
+if (var14){
+{
+{ /* Inline literal$LiteralVisitor$toolcontext (var_v) on <var_v:LiteralVisitor> */
+var17 = var_v->attrs[COLOR_nitc__literal__LiteralVisitor___toolcontext].val; /* _toolcontext on <var_v:LiteralVisitor> */
+if (unlikely(var17 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__literal, 46);
+fatal_exit(1);
+}
+var15 = var17;
+RET_LABEL16:(void)0;
+}
+}
+{
+var18 = nitc___nitc__ANode___hot_location(self);
+}
+if (unlikely(varonce19==NULL)) {
+var20 = NEW_core__NativeArray((int)4l, &type_core__NativeArray__core__String);
+if (likely(varonce21!=NULL)) {
+var22 = varonce21;
+} else {
+var23 = "Error: invalid prefix/suffix combination ";
+var25 = (val*)(41l<<2|1);
+var26 = (val*)(41l<<2|1);
+var27 = (val*)((long)(0)<<2|3);
+var28 = (val*)((long)(0)<<2|3);
+var24 = core__flat___CString___to_s_unsafe(var23, var25, var26, var27, var28);
+var22 = var24;
+varonce21 = var22;
+}
+((struct instance_core__NativeArray*)var20)->values[0]=var22;
+if (likely(varonce29!=NULL)) {
+var30 = varonce29;
+} else {
+var31 = "/";
+var33 = (val*)(1l<<2|1);
+var34 = (val*)(1l<<2|1);
+var35 = (val*)((long)(0)<<2|3);
+var36 = (val*)((long)(0)<<2|3);
+var32 = core__flat___CString___to_s_unsafe(var31, var33, var34, var35, var36);
+var30 = var32;
+varonce29 = var30;
+}
+((struct instance_core__NativeArray*)var20)->values[2]=var30;
+} else {
+var20 = varonce19;
+varonce19 = NULL;
+}
+{
+var37 = nitc__literal___ASuperstringExpr___AAugmentedLiteral__prefix(self);
+}
+((struct instance_core__NativeArray*)var20)->values[1]=var37;
+{
+var38 = nitc__literal___ASuperstringExpr___AAugmentedLiteral__suffix(self);
+}
+((struct instance_core__NativeArray*)var20)->values[3]=var38;
+{
+var39 = ((val*(*)(val* self))(var20->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var20); /* native_to_s on <var20:NativeArray[String]>*/
+}
+varonce19 = var20;
+{
+var40 = nitc___nitc__ToolContext___error(var15, var18, var39);
+}
+goto RET_LABEL;
+} else {
+}
+RET_LABEL:;
+}
+/* method literal$ASuperstringExpr$visit_all for (self: ASuperstringExpr, Visitor) */
+void nitc__literal___ASuperstringExpr___nitc__parser_nodes__ANode__visit_all(val* self, val* p0) {
+val* var_v /* var v: Visitor */;
+val* var /* : String */;
+static val* varonce;
+val* var1 /* : String */;
+char* var2 /* : CString */;
+val* var3 /* : String */;
+val* var4 /* : nullable Int */;
+val* var5 /* : nullable Int */;
+val* var6 /* : nullable Bool */;
+val* var7 /* : nullable Bool */;
+short int var8 /* : Bool */;
+val* var_other /* var other: nullable Object */;
+short int var10 /* : Bool */;
+short int var11 /* : Bool */;
+val* var12 /* : ANodes[AExpr] */;
+val* var14 /* : ANodes[AExpr] */;
+val* var_ /* var : ANodes[AExpr] */;
+val* var15 /* : Iterator[ANode] */;
+val* var_16 /* var : Iterator[AExpr] */;
+short int var17 /* : Bool */;
+val* var18 /* : nullable Object */;
+val* var_i /* var i: AExpr */;
+short int var19 /* : Bool */;
+int cltype;
+int idtype;
+short int var20 /* : Bool */;
+val* var22 /* : String */;
+val* var23 /* : Bytes */;
+val* var25 /* : Bytes */;
+val* var27 /* : Bytes */;
+val* var28 /* : String */;
+var_v = p0;
+{
+((void(*)(val* self, val* p0))(self->class->vft[COLOR_nitc__literal___ASuperstringExpr___nitc__parser_nodes__ANode__visit_all]))(self, p0); /* visit_all on <self:ASuperstringExpr>*/
+}
+{
+var = nitc__literal___ASuperstringExpr___AAugmentedLiteral__prefix(self);
+}
+if (likely(varonce!=NULL)) {
+var1 = varonce;
+} else {
+var2 = "raw";
+var4 = (val*)(3l<<2|1);
+var5 = (val*)(3l<<2|1);
+var6 = (val*)((long)(0)<<2|3);
+var7 = (val*)((long)(0)<<2|3);
+var3 = core__flat___CString___to_s_unsafe(var2, var4, var5, var6, var7);
+var1 = var3;
+varonce = var1;
+}
+{
+{ /* Inline kernel$Object$!= (var,var1) on <var:String> */
+var_other = var1;
+{
+var10 = ((short int(*)(val* self, val* p0))(var->class->vft[COLOR_core__kernel__Object___61d_61d]))(var, var_other); /* == on <var:String>*/
+}
+var11 = !var10;
+var8 = var11;
+goto RET_LABEL9;
+RET_LABEL9:(void)0;
+}
+}
+if (var8){
+{
+{ /* Inline parser_nodes$ASuperstringExpr$n_exprs (self) on <self:ASuperstringExpr> */
+var14 = self->attrs[COLOR_nitc__parser_nodes__ASuperstringExpr___n_exprs].val; /* _n_exprs on <self:ASuperstringExpr> */
+if (unlikely(var14 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2645);
+fatal_exit(1);
+}
+var12 = var14;
+RET_LABEL13:(void)0;
+}
+}
+var_ = var12;
+{
+var15 = nitc___nitc__ANodes___core__abstract_collection__Collection__iterator(var_);
+}
+var_16 = var15;
+for(;;) {
+{
+var17 = ((short int(*)(val* self))((((long)var_16&3)?class_info[((long)var_16&3)]:var_16->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_16); /* is_ok on <var_16:Iterator[AExpr]>*/
+}
+if (var17){
+} else {
+goto BREAK_label;
+}
+{
+var18 = ((val*(*)(val* self))((((long)var_16&3)?class_info[((long)var_16&3)]:var_16->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_16); /* item on <var_16:Iterator[AExpr]>*/
+}
+var_i = var18;
+/* <var_i:AExpr> isa AStringFormExpr */
+cltype = type_nitc__AStringFormExpr.color;
+idtype = type_nitc__AStringFormExpr.id;
+if(cltype >= var_i->type->table_size) {
+var19 = 0;
+} else {
+var19 = var_i->type->type_table[cltype] == idtype;
+}
+var20 = !var19;
+if (var20){
+goto BREAK_label21;
+} else {
+}
+{
+var22 = nitc__literal___AStringFormExpr___raw_text(var_i);
+}
+{
+var23 = core__bytes___Text___unescape_to_bytes(var22);
+}
+{
+{ /* Inline literal$AStringFormExpr$bytes= (var_i,var23) on <var_i:AExpr(AStringFormExpr)> */
+var_i->attrs[COLOR_nitc__literal__AStringFormExpr___bytes].val = var23; /* _bytes on <var_i:AExpr(AStringFormExpr)> */
+RET_LABEL24:(void)0;
+}
+}
+{
+{ /* Inline literal$AStringFormExpr$bytes (var_i) on <var_i:AExpr(AStringFormExpr)> */
+var27 = var_i->attrs[COLOR_nitc__literal__AStringFormExpr___bytes].val; /* _bytes on <var_i:AExpr(AStringFormExpr)> */
+if (unlikely(var27 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bytes");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__literal, 204);
+fatal_exit(1);
+}
+var25 = var27;
+RET_LABEL26:(void)0;
+}
+}
+{
+var28 = core___core__Bytes___core__abstract_text__Object__to_s(var25);
+}
+{
+{ /* Inline literal$AStringFormExpr$value= (var_i,var28) on <var_i:AExpr(AStringFormExpr)> */
+var_i->attrs[COLOR_nitc__literal__AStringFormExpr___value].val = var28; /* _value on <var_i:AExpr(AStringFormExpr)> */
+RET_LABEL29:(void)0;
+}
+}
+BREAK_label21: (void)0;
+{
+((void(*)(val* self))((((long)var_16&3)?class_info[((long)var_16&3)]:var_16->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_16); /* next on <var_16:Iterator[AExpr]>*/
+}
+}
+BREAK_label: (void)0;
+{
+((void(*)(val* self))((((long)var_16&3)?class_info[((long)var_16&3)]:var_16->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_16); /* finish on <var_16:Iterator[AExpr]>*/
+}
+} else {
 }
 RET_LABEL:;
 }