cleanup some remaining nitc
[nit.git] / c_src / literal.sep.1.c
1 #include "literal.sep.0.h"
2 /* method literal#ToolContext#literal_phase for (self: ToolContext): Phase */
3 val* literal__ToolContext__literal_phase(val* self) {
4 val* var /* : Phase */;
5 val* var1 /* : Phase */;
6 var1 = self->attrs[COLOR_literal__ToolContext___64dliteral_phase].val; /* @literal_phase on <self:ToolContext> */
7 if (var1 == NULL) {
8 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @literal_phase", "src/literal.nit", 25);
9 exit(1);
10 }
11 var = var1;
12 RET_LABEL:;
13 return var;
14 }
15 /* method literal#ToolContext#literal_phase for (self: Object): Phase */
16 val* VIRTUAL_literal__ToolContext__literal_phase(val* self) {
17 val* var /* : Phase */;
18 val* var1 /* : Phase */;
19 var1 = literal__ToolContext__literal_phase(self);
20 var = var1;
21 RET_LABEL:;
22 return var;
23 }
24 /* method literal#ToolContext#literal_phase= for (self: ToolContext, Phase) */
25 void literal__ToolContext__literal_phase_61d(val* self, val* p0) {
26 self->attrs[COLOR_literal__ToolContext___64dliteral_phase].val = p0; /* @literal_phase on <self:ToolContext> */
27 RET_LABEL:;
28 }
29 /* method literal#ToolContext#literal_phase= for (self: Object, Phase) */
30 void VIRTUAL_literal__ToolContext__literal_phase_61d(val* self, val* p0) {
31 literal__ToolContext__literal_phase_61d(self, p0);
32 RET_LABEL:;
33 }
34 /* method literal#LiteralPhase#process_nmodule for (self: LiteralPhase, AModule) */
35 void literal__LiteralPhase__process_nmodule(val* self, val* p0) {
36 val* var_nmodule /* var nmodule: AModule */;
37 val* var /* : ToolContext */;
38 var_nmodule = p0;
39 var = ((val* (*)(val*))(self->class->vft[COLOR_phase__Phase__toolcontext]))(self) /* toolcontext on <self:LiteralPhase>*/;
40 ((void (*)(val*, val*))(var_nmodule->class->vft[COLOR_literal__AModule__do_literal]))(var_nmodule, var) /* do_literal on <var_nmodule:AModule>*/;
41 RET_LABEL:;
42 }
43 /* method literal#LiteralPhase#process_nmodule for (self: Object, AModule) */
44 void VIRTUAL_literal__LiteralPhase__process_nmodule(val* self, val* p0) {
45 literal__LiteralPhase__process_nmodule(self, p0);
46 RET_LABEL:;
47 }
48 /* method literal#AModule#do_literal for (self: AModule, ToolContext) */
49 void literal__AModule__do_literal(val* self, val* p0) {
50 val* var_toolcontext /* var toolcontext: ToolContext */;
51 val* var /* : LiteralVisitor */;
52 val* var_v /* var v: LiteralVisitor */;
53 var_toolcontext = p0;
54 var = NEW_literal__LiteralVisitor(&type_literal__LiteralVisitor);
55 ((void (*)(val*, val*))(var->class->vft[COLOR_literal__LiteralVisitor__init]))(var, var_toolcontext) /* init on <var:LiteralVisitor>*/;
56 CHECK_NEW_literal__LiteralVisitor(var);
57 var_v = var;
58 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, self) /* enter_visit on <var_v:LiteralVisitor>*/;
59 RET_LABEL:;
60 }
61 /* method literal#AModule#do_literal for (self: Object, ToolContext) */
62 void VIRTUAL_literal__AModule__do_literal(val* self, val* p0) {
63 literal__AModule__do_literal(self, p0);
64 RET_LABEL:;
65 }
66 /* method literal#LiteralVisitor#toolcontext for (self: LiteralVisitor): ToolContext */
67 val* literal__LiteralVisitor__toolcontext(val* self) {
68 val* var /* : ToolContext */;
69 val* var1 /* : ToolContext */;
70 var1 = self->attrs[COLOR_literal__LiteralVisitor___64dtoolcontext].val; /* @toolcontext on <self:LiteralVisitor> */
71 if (var1 == NULL) {
72 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @toolcontext", "src/literal.nit", 47);
73 exit(1);
74 }
75 var = var1;
76 RET_LABEL:;
77 return var;
78 }
79 /* method literal#LiteralVisitor#toolcontext for (self: Object): ToolContext */
80 val* VIRTUAL_literal__LiteralVisitor__toolcontext(val* self) {
81 val* var /* : ToolContext */;
82 val* var1 /* : ToolContext */;
83 var1 = literal__LiteralVisitor__toolcontext(self);
84 var = var1;
85 RET_LABEL:;
86 return var;
87 }
88 /* method literal#LiteralVisitor#toolcontext= for (self: LiteralVisitor, ToolContext) */
89 void literal__LiteralVisitor__toolcontext_61d(val* self, val* p0) {
90 self->attrs[COLOR_literal__LiteralVisitor___64dtoolcontext].val = p0; /* @toolcontext on <self:LiteralVisitor> */
91 RET_LABEL:;
92 }
93 /* method literal#LiteralVisitor#toolcontext= for (self: Object, ToolContext) */
94 void VIRTUAL_literal__LiteralVisitor__toolcontext_61d(val* self, val* p0) {
95 literal__LiteralVisitor__toolcontext_61d(self, p0);
96 RET_LABEL:;
97 }
98 /* method literal#LiteralVisitor#init for (self: LiteralVisitor, ToolContext) */
99 void literal__LiteralVisitor__init(val* self, val* p0) {
100 val* var_toolcontext /* var toolcontext: ToolContext */;
101 var_toolcontext = p0;
102 ((void (*)(val*))(self->class->vft[COLOR_parser_nodes__Visitor__init]))(self) /* init on <self:LiteralVisitor>*/;
103 ((void (*)(val*, val*))(self->class->vft[COLOR_literal__LiteralVisitor__toolcontext_61d]))(self, var_toolcontext) /* toolcontext= on <self:LiteralVisitor>*/;
104 RET_LABEL:;
105 }
106 /* method literal#LiteralVisitor#init for (self: Object, ToolContext) */
107 void VIRTUAL_literal__LiteralVisitor__init(val* self, val* p0) {
108 literal__LiteralVisitor__init(self, p0);
109 RET_LABEL:;
110 }
111 /* method literal#LiteralVisitor#visit for (self: LiteralVisitor, ANode) */
112 void literal__LiteralVisitor__visit(val* self, val* p0) {
113 val* var_n /* var n: ANode */;
114 var_n = p0;
115 ((void (*)(val*, val*))(var_n->class->vft[COLOR_literal__ANode__accept_literal]))(var_n, self) /* accept_literal on <var_n:ANode>*/;
116 ((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__visit_all]))(var_n, self) /* visit_all on <var_n:ANode>*/;
117 RET_LABEL:;
118 }
119 /* method literal#LiteralVisitor#visit for (self: Object, ANode) */
120 void VIRTUAL_literal__LiteralVisitor__visit(val* self, val* p0) {
121 literal__LiteralVisitor__visit(self, p0);
122 RET_LABEL:;
123 }
124 /* method literal#ANode#accept_literal for (self: ANode, LiteralVisitor) */
125 void literal__ANode__accept_literal(val* self, val* p0) {
126 val* var_v /* var v: LiteralVisitor */;
127 var_v = p0;
128 RET_LABEL:;
129 }
130 /* method literal#ANode#accept_literal for (self: Object, LiteralVisitor) */
131 void VIRTUAL_literal__ANode__accept_literal(val* self, val* p0) {
132 literal__ANode__accept_literal(self, p0);
133 RET_LABEL:;
134 }
135 /* method literal#AIntExpr#value for (self: AIntExpr): nullable Int */
136 val* literal__AIntExpr__value(val* self) {
137 val* var /* : nullable Int */;
138 val* var1 /* : nullable Int */;
139 var1 = self->attrs[COLOR_literal__AIntExpr___64dvalue].val; /* @value on <self:AIntExpr> */
140 var = var1;
141 RET_LABEL:;
142 return var;
143 }
144 /* method literal#AIntExpr#value for (self: Object): nullable Int */
145 val* VIRTUAL_literal__AIntExpr__value(val* self) {
146 val* var /* : nullable Int */;
147 val* var1 /* : nullable Int */;
148 var1 = literal__AIntExpr__value(self);
149 var = var1;
150 RET_LABEL:;
151 return var;
152 }
153 /* method literal#AIntExpr#value= for (self: AIntExpr, nullable Int) */
154 void literal__AIntExpr__value_61d(val* self, val* p0) {
155 self->attrs[COLOR_literal__AIntExpr___64dvalue].val = p0; /* @value on <self:AIntExpr> */
156 RET_LABEL:;
157 }
158 /* method literal#AIntExpr#value= for (self: Object, nullable Int) */
159 void VIRTUAL_literal__AIntExpr__value_61d(val* self, val* p0) {
160 literal__AIntExpr__value_61d(self, p0);
161 RET_LABEL:;
162 }
163 /* method literal#AIntExpr#accept_literal for (self: AIntExpr, LiteralVisitor) */
164 void literal__AIntExpr__accept_literal(val* self, val* p0) {
165 val* var_v /* var v: LiteralVisitor */;
166 val* var /* : TNumber */;
167 val* var1 /* : String */;
168 long var2 /* : Int */;
169 val* var3 /* : nullable Int */;
170 var_v = p0;
171 var = ((val* (*)(val*))(self->class->vft[COLOR_parser_nodes__AIntExpr__n_number]))(self) /* n_number on <self:AIntExpr>*/;
172 var1 = ((val* (*)(val*))(var->class->vft[COLOR_parser_nodes__Token__text]))(var) /* text on <var:TNumber>*/;
173 var2 = ((long (*)(val*))(var1->class->vft[COLOR_string__AbstractString__to_i]))(var1) /* to_i on <var1:String>*/;
174 var3 = BOX_kernel__Int(var2); /* autobox from Int to nullable Int */
175 ((void (*)(val*, val*))(self->class->vft[COLOR_literal__AIntExpr__value_61d]))(self, var3) /* value= on <self:AIntExpr>*/;
176 RET_LABEL:;
177 }
178 /* method literal#AIntExpr#accept_literal for (self: Object, LiteralVisitor) */
179 void VIRTUAL_literal__AIntExpr__accept_literal(val* self, val* p0) {
180 literal__AIntExpr__accept_literal(self, p0);
181 RET_LABEL:;
182 }
183 /* method literal#AFloatExpr#value for (self: AFloatExpr): nullable Float */
184 val* literal__AFloatExpr__value(val* self) {
185 val* var /* : nullable Float */;
186 val* var1 /* : nullable Float */;
187 var1 = self->attrs[COLOR_literal__AFloatExpr___64dvalue].val; /* @value on <self:AFloatExpr> */
188 var = var1;
189 RET_LABEL:;
190 return var;
191 }
192 /* method literal#AFloatExpr#value for (self: Object): nullable Float */
193 val* VIRTUAL_literal__AFloatExpr__value(val* self) {
194 val* var /* : nullable Float */;
195 val* var1 /* : nullable Float */;
196 var1 = literal__AFloatExpr__value(self);
197 var = var1;
198 RET_LABEL:;
199 return var;
200 }
201 /* method literal#AFloatExpr#value= for (self: AFloatExpr, nullable Float) */
202 void literal__AFloatExpr__value_61d(val* self, val* p0) {
203 self->attrs[COLOR_literal__AFloatExpr___64dvalue].val = p0; /* @value on <self:AFloatExpr> */
204 RET_LABEL:;
205 }
206 /* method literal#AFloatExpr#value= for (self: Object, nullable Float) */
207 void VIRTUAL_literal__AFloatExpr__value_61d(val* self, val* p0) {
208 literal__AFloatExpr__value_61d(self, p0);
209 RET_LABEL:;
210 }
211 /* method literal#AFloatExpr#accept_literal for (self: AFloatExpr, LiteralVisitor) */
212 void literal__AFloatExpr__accept_literal(val* self, val* p0) {
213 val* var_v /* var v: LiteralVisitor */;
214 val* var /* : TFloat */;
215 val* var1 /* : String */;
216 double var2 /* : Float */;
217 val* var3 /* : nullable Float */;
218 var_v = p0;
219 var = ((val* (*)(val*))(self->class->vft[COLOR_parser_nodes__AFloatExpr__n_float]))(self) /* n_float on <self:AFloatExpr>*/;
220 var1 = ((val* (*)(val*))(var->class->vft[COLOR_parser_nodes__Token__text]))(var) /* text on <var:TFloat>*/;
221 var2 = ((double (*)(val*))(var1->class->vft[COLOR_string__AbstractString__to_f]))(var1) /* to_f on <var1:String>*/;
222 var3 = BOX_kernel__Float(var2); /* autobox from Float to nullable Float */
223 ((void (*)(val*, val*))(self->class->vft[COLOR_literal__AFloatExpr__value_61d]))(self, var3) /* value= on <self:AFloatExpr>*/;
224 RET_LABEL:;
225 }
226 /* method literal#AFloatExpr#accept_literal for (self: Object, LiteralVisitor) */
227 void VIRTUAL_literal__AFloatExpr__accept_literal(val* self, val* p0) {
228 literal__AFloatExpr__accept_literal(self, p0);
229 RET_LABEL:;
230 }
231 /* method literal#ACharExpr#value for (self: ACharExpr): nullable Char */
232 val* literal__ACharExpr__value(val* self) {
233 val* var /* : nullable Char */;
234 val* var1 /* : nullable Char */;
235 var1 = self->attrs[COLOR_literal__ACharExpr___64dvalue].val; /* @value on <self:ACharExpr> */
236 var = var1;
237 RET_LABEL:;
238 return var;
239 }
240 /* method literal#ACharExpr#value for (self: Object): nullable Char */
241 val* VIRTUAL_literal__ACharExpr__value(val* self) {
242 val* var /* : nullable Char */;
243 val* var1 /* : nullable Char */;
244 var1 = literal__ACharExpr__value(self);
245 var = var1;
246 RET_LABEL:;
247 return var;
248 }
249 /* method literal#ACharExpr#value= for (self: ACharExpr, nullable Char) */
250 void literal__ACharExpr__value_61d(val* self, val* p0) {
251 self->attrs[COLOR_literal__ACharExpr___64dvalue].val = p0; /* @value on <self:ACharExpr> */
252 RET_LABEL:;
253 }
254 /* method literal#ACharExpr#value= for (self: Object, nullable Char) */
255 void VIRTUAL_literal__ACharExpr__value_61d(val* self, val* p0) {
256 literal__ACharExpr__value_61d(self, p0);
257 RET_LABEL:;
258 }
259 /* method literal#ACharExpr#accept_literal for (self: ACharExpr, LiteralVisitor) */
260 void literal__ACharExpr__accept_literal(val* self, val* p0) {
261 val* var_v /* var v: LiteralVisitor */;
262 val* var /* : TChar */;
263 val* var1 /* : String */;
264 val* var2 /* : String */;
265 val* var_txt /* var txt: String */;
266 long var3 /* : Int */;
267 long var4 /* : Int */;
268 short int var5 /* : Bool */;
269 short int var7 /* : Bool */;
270 short int var8 /* : Bool */;
271 val* var9 /* : ToolContext */;
272 val* var10 /* : Location */;
273 static val* varonce;
274 val* var11 /* : String */;
275 char* var12 /* : NativeString */;
276 long var13 /* : Int */;
277 val* var14 /* : String */;
278 val* var15 /* : Array[Object] */;
279 long var16 /* : Int */;
280 val* var17 /* : NativeArray[Object] */;
281 val* var18 /* : String */;
282 long var19 /* : Int */;
283 val* var20 /* : nullable Object */;
284 var_v = p0;
285 var = ((val* (*)(val*))(self->class->vft[COLOR_parser_nodes__ACharExpr__n_char]))(self) /* n_char on <self:ACharExpr>*/;
286 var1 = ((val* (*)(val*))(var->class->vft[COLOR_parser_nodes__Token__text]))(var) /* text on <var:TChar>*/;
287 var2 = ((val* (*)(val*))(var1->class->vft[COLOR_string__AbstractString__unescape_nit]))(var1) /* unescape_nit on <var1:String>*/;
288 var_txt = var2;
289 var3 = ((long (*)(val*))(var_txt->class->vft[COLOR_abstract_collection__Collection__length]))(var_txt) /* length on <var_txt:String>*/;
290 var4 = 3;
291 { /* Inline kernel#Int#!= (var3,var4) */
292 var7 = var3 == var4;
293 var8 = !var7;
294 var5 = var8;
295 goto RET_LABEL6;
296 RET_LABEL6:(void)0;
297 }
298 if (var5){
299 var9 = ((val* (*)(val*))(var_v->class->vft[COLOR_literal__LiteralVisitor__toolcontext]))(var_v) /* toolcontext on <var_v:LiteralVisitor>*/;
300 var10 = ((val* (*)(val*))(self->class->vft[COLOR_parser_nodes__ANode__hot_location]))(self) /* hot_location on <self:ACharExpr>*/;
301 if (varonce) {
302 var11 = varonce;
303 } else {
304 var12 = "Invalid character literal ";
305 var13 = 26;
306 var14 = string__NativeString__to_s_with_length(var12, var13);
307 var11 = var14;
308 varonce = var11;
309 }
310 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
311 { /* var15 = array_instance Array[Object] */
312 var16 = 2;
313 var17 = NEW_array__NativeArray(var16, &type_array__NativeArraykernel__Object);
314 ((struct instance_array__NativeArray*)var17)->values[0] = (val*) var11;
315 ((struct instance_array__NativeArray*)var17)->values[1] = (val*) var_txt;
316 ((void (*)(val*, val*, long))(var15->class->vft[COLOR_array__Array__with_native]))(var15, var17, var16) /* with_native on <var15:Array[Object]>*/;
317 CHECK_NEW_array__Array(var15);
318 }
319 var18 = ((val* (*)(val*))(var15->class->vft[COLOR_string__Object__to_s]))(var15) /* to_s on <var15:Array[Object]>*/;
320 ((void (*)(val*, val*, val*))(var9->class->vft[COLOR_toolcontext__ToolContext__error]))(var9, var10, var18) /* error on <var9:ToolContext>*/;
321 goto RET_LABEL;
322 } else {
323 }
324 var19 = 1;
325 var20 = ((val* (*)(val*, long))(var_txt->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var_txt, var19) /* [] on <var_txt:String>*/;
326 ((void (*)(val*, val*))(self->class->vft[COLOR_literal__ACharExpr__value_61d]))(self, var20) /* value= on <self:ACharExpr>*/;
327 RET_LABEL:;
328 }
329 /* method literal#ACharExpr#accept_literal for (self: Object, LiteralVisitor) */
330 void VIRTUAL_literal__ACharExpr__accept_literal(val* self, val* p0) {
331 literal__ACharExpr__accept_literal(self, p0);
332 RET_LABEL:;
333 }
334 /* method literal#AStringFormExpr#value for (self: AStringFormExpr): nullable String */
335 val* literal__AStringFormExpr__value(val* self) {
336 val* var /* : nullable String */;
337 val* var1 /* : nullable String */;
338 var1 = self->attrs[COLOR_literal__AStringFormExpr___64dvalue].val; /* @value on <self:AStringFormExpr> */
339 var = var1;
340 RET_LABEL:;
341 return var;
342 }
343 /* method literal#AStringFormExpr#value for (self: Object): nullable String */
344 val* VIRTUAL_literal__AStringFormExpr__value(val* self) {
345 val* var /* : nullable String */;
346 val* var1 /* : nullable String */;
347 var1 = literal__AStringFormExpr__value(self);
348 var = var1;
349 RET_LABEL:;
350 return var;
351 }
352 /* method literal#AStringFormExpr#value= for (self: AStringFormExpr, nullable String) */
353 void literal__AStringFormExpr__value_61d(val* self, val* p0) {
354 self->attrs[COLOR_literal__AStringFormExpr___64dvalue].val = p0; /* @value on <self:AStringFormExpr> */
355 RET_LABEL:;
356 }
357 /* method literal#AStringFormExpr#value= for (self: Object, nullable String) */
358 void VIRTUAL_literal__AStringFormExpr__value_61d(val* self, val* p0) {
359 literal__AStringFormExpr__value_61d(self, p0);
360 RET_LABEL:;
361 }
362 /* method literal#AStringFormExpr#accept_literal for (self: AStringFormExpr, LiteralVisitor) */
363 void literal__AStringFormExpr__accept_literal(val* self, val* p0) {
364 val* var_v /* var v: LiteralVisitor */;
365 val* var /* : Token */;
366 val* var1 /* : String */;
367 val* var_txt /* var txt: String */;
368 long var2 /* : Int */;
369 long var_skip /* var skip: Int */;
370 short int var3 /* : Bool */;
371 long var4 /* : Int */;
372 val* var5 /* : nullable Object */;
373 long var6 /* : Int */;
374 val* var7 /* : nullable Object */;
375 short int var8 /* : Bool */;
376 short int var10 /* : Bool */;
377 short int var_ /* var : Bool */;
378 long var11 /* : Int */;
379 long var12 /* : Int */;
380 short int var13 /* : Bool */;
381 short int var15 /* : Bool */;
382 int cltype;
383 int idtype;
384 short int var16 /* : Bool */;
385 long var17 /* : Int */;
386 long var18 /* : Int */;
387 long var19 /* : Int */;
388 long var20 /* : Int */;
389 long var22 /* : Int */;
390 long var23 /* : Int */;
391 long var25 /* : Int */;
392 val* var26 /* : String */;
393 val* var27 /* : String */;
394 var_v = p0;
395 var = ((val* (*)(val*))(self->class->vft[COLOR_parser_nodes__AStringFormExpr__n_string]))(self) /* n_string on <self:AStringFormExpr>*/;
396 var1 = ((val* (*)(val*))(var->class->vft[COLOR_parser_nodes__Token__text]))(var) /* text on <var:Token>*/;
397 var_txt = var1;
398 var2 = 1;
399 var_skip = var2;
400 var4 = 0;
401 var5 = ((val* (*)(val*, long))(var_txt->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var_txt, var4) /* [] on <var_txt:String>*/;
402 var6 = 1;
403 var7 = ((val* (*)(val*, long))(var_txt->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var_txt, var6) /* [] on <var_txt:String>*/;
404 { /* Inline kernel#Char#== (var5,var7) */
405 var10 = var5 == var7 || (((struct instance_kernel__Char*)var5)->value == ((struct instance_kernel__Char*)var7)->value);
406 var8 = var10;
407 goto RET_LABEL9;
408 RET_LABEL9:(void)0;
409 }
410 var_ = var8;
411 if (var8){
412 var11 = ((long (*)(val*))(var_txt->class->vft[COLOR_abstract_collection__Collection__length]))(var_txt) /* length on <var_txt:String>*/;
413 var12 = 6;
414 { /* Inline kernel#Int#>= (var11,var12) */
415 /* Covariant cast for argument 0 (i) <var12:Int> isa OTHER */
416 /* <var12:Int> isa OTHER */
417 var15 = 1; /* easy <var12:Int> isa OTHER*/
418 if (!var15) {
419 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 258);
420 exit(1);
421 }
422 var16 = var11 >= var12;
423 var13 = var16;
424 goto RET_LABEL14;
425 RET_LABEL14:(void)0;
426 }
427 var3 = var13;
428 } else {
429 var3 = var_;
430 }
431 if (var3){
432 var17 = 3;
433 var_skip = var17;
434 } else {
435 }
436 var18 = ((long (*)(val*))(var_txt->class->vft[COLOR_abstract_collection__Collection__length]))(var_txt) /* length on <var_txt:String>*/;
437 var19 = 2;
438 { /* Inline kernel#Int#* (var19,var_skip) */
439 var22 = var19 * var_skip;
440 var20 = var22;
441 goto RET_LABEL21;
442 RET_LABEL21:(void)0;
443 }
444 { /* Inline kernel#Int#- (var18,var20) */
445 var25 = var18 - var20;
446 var23 = var25;
447 goto RET_LABEL24;
448 RET_LABEL24:(void)0;
449 }
450 var26 = ((val* (*)(val*, long, long))(var_txt->class->vft[COLOR_string__AbstractString__substring]))(var_txt, var_skip, var23) /* substring on <var_txt:String>*/;
451 var27 = ((val* (*)(val*))(var26->class->vft[COLOR_string__AbstractString__unescape_nit]))(var26) /* unescape_nit on <var26:String>*/;
452 ((void (*)(val*, val*))(self->class->vft[COLOR_literal__AStringFormExpr__value_61d]))(self, var27) /* value= on <self:AStringFormExpr>*/;
453 RET_LABEL:;
454 }
455 /* method literal#AStringFormExpr#accept_literal for (self: Object, LiteralVisitor) */
456 void VIRTUAL_literal__AStringFormExpr__accept_literal(val* self, val* p0) {
457 literal__AStringFormExpr__accept_literal(self, p0);
458 RET_LABEL:;
459 }