misc/jenkins: fix checklicense.sh
[nit.git] / c_src / literal.sep.1.c
1 #include "literal.sep.0.h"
2 /* method literal#LiteralPhase#process_nmodule for (self: LiteralPhase, AModule) */
3 void literal__LiteralPhase__process_nmodule(val* self, val* p0) {
4 val* var_nmodule /* var nmodule: AModule */;
5 val* var /* : ToolContext */;
6 val* var2 /* : ToolContext */;
7 var_nmodule = p0;
8 {
9 { /* Inline phase#Phase#toolcontext (self) on <self:LiteralPhase> */
10 var2 = self->attrs[COLOR_phase__Phase___toolcontext].val; /* _toolcontext on <self:LiteralPhase> */
11 if (unlikely(var2 == NULL)) {
12 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
13 PRINT_ERROR(" (%s:%d)\n", "src/phase.nit", 145);
14 show_backtrace(1);
15 }
16 var = var2;
17 RET_LABEL1:(void)0;
18 }
19 }
20 {
21 literal__AModule__do_literal(var_nmodule, var); /* Direct call literal#AModule#do_literal on <var_nmodule:AModule>*/
22 }
23 RET_LABEL:;
24 }
25 /* method literal#LiteralPhase#process_nmodule for (self: Object, AModule) */
26 void VIRTUAL_literal__LiteralPhase__process_nmodule(val* self, val* p0) {
27 literal__LiteralPhase__process_nmodule(self, p0); /* Direct call literal#LiteralPhase#process_nmodule on <self:Object(LiteralPhase)>*/
28 RET_LABEL:;
29 }
30 /* method literal#AModule#do_literal for (self: AModule, ToolContext) */
31 void literal__AModule__do_literal(val* self, val* p0) {
32 val* var_toolcontext /* var toolcontext: ToolContext */;
33 val* var /* : LiteralVisitor */;
34 val* var_v /* var v: LiteralVisitor */;
35 var_toolcontext = p0;
36 var = NEW_literal__LiteralVisitor(&type_literal__LiteralVisitor);
37 {
38 literal__LiteralVisitor__init(var, var_toolcontext); /* Direct call literal#LiteralVisitor#init on <var:LiteralVisitor>*/
39 }
40 var_v = var;
41 {
42 parser_nodes__Visitor__enter_visit(var_v, self); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:LiteralVisitor>*/
43 }
44 RET_LABEL:;
45 }
46 /* method literal#AModule#do_literal for (self: Object, ToolContext) */
47 void VIRTUAL_literal__AModule__do_literal(val* self, val* p0) {
48 literal__AModule__do_literal(self, p0); /* Direct call literal#AModule#do_literal on <self:Object(AModule)>*/
49 RET_LABEL:;
50 }
51 /* method literal#LiteralVisitor#toolcontext for (self: LiteralVisitor): ToolContext */
52 val* literal__LiteralVisitor__toolcontext(val* self) {
53 val* var /* : ToolContext */;
54 val* var1 /* : ToolContext */;
55 var1 = self->attrs[COLOR_literal__LiteralVisitor___toolcontext].val; /* _toolcontext on <self:LiteralVisitor> */
56 if (unlikely(var1 == NULL)) {
57 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
58 PRINT_ERROR(" (%s:%d)\n", "src/literal.nit", 47);
59 show_backtrace(1);
60 }
61 var = var1;
62 RET_LABEL:;
63 return var;
64 }
65 /* method literal#LiteralVisitor#toolcontext for (self: Object): ToolContext */
66 val* VIRTUAL_literal__LiteralVisitor__toolcontext(val* self) {
67 val* var /* : ToolContext */;
68 val* var1 /* : ToolContext */;
69 val* var3 /* : ToolContext */;
70 { /* Inline literal#LiteralVisitor#toolcontext (self) on <self:Object(LiteralVisitor)> */
71 var3 = self->attrs[COLOR_literal__LiteralVisitor___toolcontext].val; /* _toolcontext on <self:Object(LiteralVisitor)> */
72 if (unlikely(var3 == NULL)) {
73 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
74 PRINT_ERROR(" (%s:%d)\n", "src/literal.nit", 47);
75 show_backtrace(1);
76 }
77 var1 = var3;
78 RET_LABEL2:(void)0;
79 }
80 var = var1;
81 RET_LABEL:;
82 return var;
83 }
84 /* method literal#LiteralVisitor#toolcontext= for (self: LiteralVisitor, ToolContext) */
85 void literal__LiteralVisitor__toolcontext_61d(val* self, val* p0) {
86 self->attrs[COLOR_literal__LiteralVisitor___toolcontext].val = p0; /* _toolcontext on <self:LiteralVisitor> */
87 RET_LABEL:;
88 }
89 /* method literal#LiteralVisitor#toolcontext= for (self: Object, ToolContext) */
90 void VIRTUAL_literal__LiteralVisitor__toolcontext_61d(val* self, val* p0) {
91 { /* Inline literal#LiteralVisitor#toolcontext= (self,p0) on <self:Object(LiteralVisitor)> */
92 self->attrs[COLOR_literal__LiteralVisitor___toolcontext].val = p0; /* _toolcontext on <self:Object(LiteralVisitor)> */
93 RET_LABEL1:(void)0;
94 }
95 RET_LABEL:;
96 }
97 /* method literal#LiteralVisitor#init for (self: LiteralVisitor, ToolContext) */
98 void literal__LiteralVisitor__init(val* self, val* p0) {
99 val* var_toolcontext /* var toolcontext: ToolContext */;
100 {
101 { /* Inline parser_nodes#Visitor#init (self) on <self:LiteralVisitor> */
102 RET_LABEL1:(void)0;
103 }
104 }
105 var_toolcontext = p0;
106 {
107 { /* Inline literal#LiteralVisitor#toolcontext= (self,var_toolcontext) on <self:LiteralVisitor> */
108 self->attrs[COLOR_literal__LiteralVisitor___toolcontext].val = var_toolcontext; /* _toolcontext on <self:LiteralVisitor> */
109 RET_LABEL2:(void)0;
110 }
111 }
112 RET_LABEL:;
113 }
114 /* method literal#LiteralVisitor#init for (self: Object, ToolContext) */
115 void VIRTUAL_literal__LiteralVisitor__init(val* self, val* p0) {
116 literal__LiteralVisitor__init(self, p0); /* Direct call literal#LiteralVisitor#init on <self:Object(LiteralVisitor)>*/
117 RET_LABEL:;
118 }
119 /* method literal#LiteralVisitor#visit for (self: LiteralVisitor, ANode) */
120 void literal__LiteralVisitor__visit(val* self, val* p0) {
121 val* var_n /* var n: ANode */;
122 var_n = p0;
123 {
124 ((void (*)(val*, val*))(var_n->class->vft[COLOR_literal__ANode__accept_literal]))(var_n, self) /* accept_literal on <var_n:ANode>*/;
125 }
126 {
127 ((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__visit_all]))(var_n, self) /* visit_all on <var_n:ANode>*/;
128 }
129 RET_LABEL:;
130 }
131 /* method literal#LiteralVisitor#visit for (self: Object, ANode) */
132 void VIRTUAL_literal__LiteralVisitor__visit(val* self, val* p0) {
133 literal__LiteralVisitor__visit(self, p0); /* Direct call literal#LiteralVisitor#visit on <self:Object(LiteralVisitor)>*/
134 RET_LABEL:;
135 }
136 /* method literal#ANode#accept_literal for (self: ANode, LiteralVisitor) */
137 void literal__ANode__accept_literal(val* self, val* p0) {
138 val* var_v /* var v: LiteralVisitor */;
139 var_v = p0;
140 RET_LABEL:;
141 }
142 /* method literal#ANode#accept_literal for (self: Object, LiteralVisitor) */
143 void VIRTUAL_literal__ANode__accept_literal(val* self, val* p0) {
144 val* var_v /* var v: LiteralVisitor */;
145 { /* Inline literal#ANode#accept_literal (self,p0) on <self:Object(ANode)> */
146 var_v = p0;
147 RET_LABEL1:(void)0;
148 }
149 RET_LABEL:;
150 }
151 /* method literal#AIntExpr#value for (self: AIntExpr): nullable Int */
152 val* literal__AIntExpr__value(val* self) {
153 val* var /* : nullable Int */;
154 val* var1 /* : nullable Int */;
155 var1 = self->attrs[COLOR_literal__AIntExpr___value].val; /* _value on <self:AIntExpr> */
156 var = var1;
157 RET_LABEL:;
158 return var;
159 }
160 /* method literal#AIntExpr#value for (self: Object): nullable Int */
161 val* VIRTUAL_literal__AIntExpr__value(val* self) {
162 val* var /* : nullable Int */;
163 val* var1 /* : nullable Int */;
164 val* var3 /* : nullable Int */;
165 { /* Inline literal#AIntExpr#value (self) on <self:Object(AIntExpr)> */
166 var3 = self->attrs[COLOR_literal__AIntExpr___value].val; /* _value on <self:Object(AIntExpr)> */
167 var1 = var3;
168 RET_LABEL2:(void)0;
169 }
170 var = var1;
171 RET_LABEL:;
172 return var;
173 }
174 /* method literal#AIntExpr#value= for (self: AIntExpr, nullable Int) */
175 void literal__AIntExpr__value_61d(val* self, val* p0) {
176 self->attrs[COLOR_literal__AIntExpr___value].val = p0; /* _value on <self:AIntExpr> */
177 RET_LABEL:;
178 }
179 /* method literal#AIntExpr#value= for (self: Object, nullable Int) */
180 void VIRTUAL_literal__AIntExpr__value_61d(val* self, val* p0) {
181 { /* Inline literal#AIntExpr#value= (self,p0) on <self:Object(AIntExpr)> */
182 self->attrs[COLOR_literal__AIntExpr___value].val = p0; /* _value on <self:Object(AIntExpr)> */
183 RET_LABEL1:(void)0;
184 }
185 RET_LABEL:;
186 }
187 /* method literal#ADecIntExpr#accept_literal for (self: ADecIntExpr, LiteralVisitor) */
188 void literal__ADecIntExpr__accept_literal(val* self, val* p0) {
189 val* var_v /* var v: LiteralVisitor */;
190 val* var /* : TNumber */;
191 val* var1 /* : String */;
192 long var2 /* : Int */;
193 val* var4 /* : nullable Int */;
194 var_v = p0;
195 {
196 var = parser_nodes__ADecIntExpr__n_number(self);
197 }
198 {
199 var1 = lexer_work__Token__text(var);
200 }
201 {
202 var2 = string__Text__to_i(var1);
203 }
204 {
205 { /* Inline literal#AIntExpr#value= (self,var2) on <self:ADecIntExpr> */
206 var4 = BOX_kernel__Int(var2); /* autobox from Int to nullable Int */
207 self->attrs[COLOR_literal__AIntExpr___value].val = var4; /* _value on <self:ADecIntExpr> */
208 RET_LABEL3:(void)0;
209 }
210 }
211 RET_LABEL:;
212 }
213 /* method literal#ADecIntExpr#accept_literal for (self: Object, LiteralVisitor) */
214 void VIRTUAL_literal__ADecIntExpr__accept_literal(val* self, val* p0) {
215 literal__ADecIntExpr__accept_literal(self, p0); /* Direct call literal#ADecIntExpr#accept_literal on <self:Object(ADecIntExpr)>*/
216 RET_LABEL:;
217 }
218 /* method literal#AHexIntExpr#accept_literal for (self: AHexIntExpr, LiteralVisitor) */
219 void literal__AHexIntExpr__accept_literal(val* self, val* p0) {
220 val* var_v /* var v: LiteralVisitor */;
221 val* var /* : THexNumber */;
222 val* var1 /* : String */;
223 long var2 /* : Int */;
224 val* var3 /* : Text */;
225 long var4 /* : Int */;
226 val* var6 /* : nullable Int */;
227 var_v = p0;
228 {
229 var = parser_nodes__AHexIntExpr__n_hex_number(self);
230 }
231 {
232 var1 = lexer_work__Token__text(var);
233 }
234 var2 = 2;
235 {
236 var3 = string__Text__substring_from(var1, var2);
237 }
238 {
239 var4 = string__Text__to_hex(var3);
240 }
241 {
242 { /* Inline literal#AIntExpr#value= (self,var4) on <self:AHexIntExpr> */
243 var6 = BOX_kernel__Int(var4); /* autobox from Int to nullable Int */
244 self->attrs[COLOR_literal__AIntExpr___value].val = var6; /* _value on <self:AHexIntExpr> */
245 RET_LABEL5:(void)0;
246 }
247 }
248 RET_LABEL:;
249 }
250 /* method literal#AHexIntExpr#accept_literal for (self: Object, LiteralVisitor) */
251 void VIRTUAL_literal__AHexIntExpr__accept_literal(val* self, val* p0) {
252 literal__AHexIntExpr__accept_literal(self, p0); /* Direct call literal#AHexIntExpr#accept_literal on <self:Object(AHexIntExpr)>*/
253 RET_LABEL:;
254 }
255 /* method literal#AFloatExpr#value= for (self: AFloatExpr, nullable Float) */
256 void literal__AFloatExpr__value_61d(val* self, val* p0) {
257 self->attrs[COLOR_literal__AFloatExpr___value].val = p0; /* _value on <self:AFloatExpr> */
258 RET_LABEL:;
259 }
260 /* method literal#AFloatExpr#value= for (self: Object, nullable Float) */
261 void VIRTUAL_literal__AFloatExpr__value_61d(val* self, val* p0) {
262 { /* Inline literal#AFloatExpr#value= (self,p0) on <self:Object(AFloatExpr)> */
263 self->attrs[COLOR_literal__AFloatExpr___value].val = p0; /* _value on <self:Object(AFloatExpr)> */
264 RET_LABEL1:(void)0;
265 }
266 RET_LABEL:;
267 }
268 /* method literal#AFloatExpr#accept_literal for (self: AFloatExpr, LiteralVisitor) */
269 void literal__AFloatExpr__accept_literal(val* self, val* p0) {
270 val* var_v /* var v: LiteralVisitor */;
271 val* var /* : TFloat */;
272 val* var1 /* : String */;
273 double var2 /* : Float */;
274 val* var4 /* : nullable Float */;
275 var_v = p0;
276 {
277 var = parser_nodes__AFloatExpr__n_float(self);
278 }
279 {
280 var1 = lexer_work__Token__text(var);
281 }
282 {
283 var2 = string__Text__to_f(var1);
284 }
285 {
286 { /* Inline literal#AFloatExpr#value= (self,var2) on <self:AFloatExpr> */
287 var4 = BOX_kernel__Float(var2); /* autobox from Float to nullable Float */
288 self->attrs[COLOR_literal__AFloatExpr___value].val = var4; /* _value on <self:AFloatExpr> */
289 RET_LABEL3:(void)0;
290 }
291 }
292 RET_LABEL:;
293 }
294 /* method literal#AFloatExpr#accept_literal for (self: Object, LiteralVisitor) */
295 void VIRTUAL_literal__AFloatExpr__accept_literal(val* self, val* p0) {
296 literal__AFloatExpr__accept_literal(self, p0); /* Direct call literal#AFloatExpr#accept_literal on <self:Object(AFloatExpr)>*/
297 RET_LABEL:;
298 }
299 /* method literal#ACharExpr#value for (self: ACharExpr): nullable Char */
300 val* literal__ACharExpr__value(val* self) {
301 val* var /* : nullable Char */;
302 val* var1 /* : nullable Char */;
303 var1 = self->attrs[COLOR_literal__ACharExpr___value].val; /* _value on <self:ACharExpr> */
304 var = var1;
305 RET_LABEL:;
306 return var;
307 }
308 /* method literal#ACharExpr#value for (self: Object): nullable Char */
309 val* VIRTUAL_literal__ACharExpr__value(val* self) {
310 val* var /* : nullable Char */;
311 val* var1 /* : nullable Char */;
312 val* var3 /* : nullable Char */;
313 { /* Inline literal#ACharExpr#value (self) on <self:Object(ACharExpr)> */
314 var3 = self->attrs[COLOR_literal__ACharExpr___value].val; /* _value on <self:Object(ACharExpr)> */
315 var1 = var3;
316 RET_LABEL2:(void)0;
317 }
318 var = var1;
319 RET_LABEL:;
320 return var;
321 }
322 /* method literal#ACharExpr#value= for (self: ACharExpr, nullable Char) */
323 void literal__ACharExpr__value_61d(val* self, val* p0) {
324 self->attrs[COLOR_literal__ACharExpr___value].val = p0; /* _value on <self:ACharExpr> */
325 RET_LABEL:;
326 }
327 /* method literal#ACharExpr#value= for (self: Object, nullable Char) */
328 void VIRTUAL_literal__ACharExpr__value_61d(val* self, val* p0) {
329 { /* Inline literal#ACharExpr#value= (self,p0) on <self:Object(ACharExpr)> */
330 self->attrs[COLOR_literal__ACharExpr___value].val = p0; /* _value on <self:Object(ACharExpr)> */
331 RET_LABEL1:(void)0;
332 }
333 RET_LABEL:;
334 }
335 /* method literal#ACharExpr#accept_literal for (self: ACharExpr, LiteralVisitor) */
336 void literal__ACharExpr__accept_literal(val* self, val* p0) {
337 val* var_v /* var v: LiteralVisitor */;
338 val* var /* : TChar */;
339 val* var1 /* : String */;
340 val* var2 /* : String */;
341 val* var_txt /* var txt: String */;
342 long var3 /* : Int */;
343 long var5 /* : Int */;
344 long var6 /* : Int */;
345 short int var7 /* : Bool */;
346 short int var8 /* : Bool */;
347 short int var10 /* : Bool */;
348 short int var11 /* : Bool */;
349 val* var12 /* : ToolContext */;
350 val* var14 /* : ToolContext */;
351 val* var15 /* : Location */;
352 static val* varonce;
353 val* var16 /* : String */;
354 char* var17 /* : NativeString */;
355 long var18 /* : Int */;
356 val* var19 /* : FlatString */;
357 val* var20 /* : Array[Object] */;
358 long var21 /* : Int */;
359 val* var22 /* : NativeArray[Object] */;
360 val* var23 /* : String */;
361 val* var24 /* : SequenceRead[Char] */;
362 val* var26 /* : SequenceRead[Char] */;
363 long var27 /* : Int */;
364 val* var28 /* : nullable Object */;
365 var_v = p0;
366 {
367 var = parser_nodes__ACharExpr__n_char(self);
368 }
369 {
370 var1 = lexer_work__Token__text(var);
371 }
372 {
373 var2 = string__Text__unescape_nit(var1);
374 }
375 var_txt = var2;
376 {
377 { /* Inline string#FlatText#length (var_txt) on <var_txt:String> */
378 var5 = var_txt->attrs[COLOR_string__FlatText___length].l; /* _length on <var_txt:String> */
379 var3 = var5;
380 RET_LABEL4:(void)0;
381 }
382 }
383 var6 = 3;
384 {
385 { /* Inline kernel#Int#!= (var3,var6) on <var3:Int> */
386 var10 = var3 == var6;
387 var11 = !var10;
388 var8 = var11;
389 goto RET_LABEL9;
390 RET_LABEL9:(void)0;
391 }
392 var7 = var8;
393 }
394 if (var7){
395 {
396 { /* Inline literal#LiteralVisitor#toolcontext (var_v) on <var_v:LiteralVisitor> */
397 var14 = var_v->attrs[COLOR_literal__LiteralVisitor___toolcontext].val; /* _toolcontext on <var_v:LiteralVisitor> */
398 if (unlikely(var14 == NULL)) {
399 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
400 PRINT_ERROR(" (%s:%d)\n", "src/literal.nit", 47);
401 show_backtrace(1);
402 }
403 var12 = var14;
404 RET_LABEL13:(void)0;
405 }
406 }
407 {
408 var15 = parser_nodes__ANode__hot_location(self);
409 }
410 if (varonce) {
411 var16 = varonce;
412 } else {
413 var17 = "Invalid character literal ";
414 var18 = 26;
415 var19 = string__NativeString__to_s_with_length(var17, var18);
416 var16 = var19;
417 varonce = var16;
418 }
419 var20 = NEW_array__Array(&type_array__Arraykernel__Object);
420 { /* var20 = array_instance Array[Object] */
421 var21 = 2;
422 var22 = NEW_array__NativeArray(var21, &type_array__NativeArraykernel__Object);
423 ((struct instance_array__NativeArray*)var22)->values[0] = (val*) var16;
424 ((struct instance_array__NativeArray*)var22)->values[1] = (val*) var_txt;
425 {
426 ((void (*)(val*, val*, long))(var20->class->vft[COLOR_array__Array__with_native]))(var20, var22, var21) /* with_native on <var20:Array[Object]>*/;
427 }
428 }
429 {
430 var23 = ((val* (*)(val*))(var20->class->vft[COLOR_string__Object__to_s]))(var20) /* to_s on <var20:Array[Object]>*/;
431 }
432 {
433 toolcontext__ToolContext__error(var12, var15, var23); /* Direct call toolcontext#ToolContext#error on <var12:ToolContext>*/
434 }
435 goto RET_LABEL;
436 } else {
437 }
438 {
439 { /* Inline string#FlatString#chars (var_txt) on <var_txt:String> */
440 var26 = var_txt->attrs[COLOR_string__FlatString___chars].val; /* _chars on <var_txt:String> */
441 if (unlikely(var26 == NULL)) {
442 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars");
443 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 746);
444 show_backtrace(1);
445 }
446 var24 = var26;
447 RET_LABEL25:(void)0;
448 }
449 }
450 var27 = 1;
451 {
452 var28 = ((val* (*)(val*, long))(var24->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var24, var27) /* [] on <var24:SequenceRead[Char]>*/;
453 }
454 {
455 { /* Inline literal#ACharExpr#value= (self,var28) on <self:ACharExpr> */
456 self->attrs[COLOR_literal__ACharExpr___value].val = var28; /* _value on <self:ACharExpr> */
457 RET_LABEL29:(void)0;
458 }
459 }
460 RET_LABEL:;
461 }
462 /* method literal#ACharExpr#accept_literal for (self: Object, LiteralVisitor) */
463 void VIRTUAL_literal__ACharExpr__accept_literal(val* self, val* p0) {
464 literal__ACharExpr__accept_literal(self, p0); /* Direct call literal#ACharExpr#accept_literal on <self:Object(ACharExpr)>*/
465 RET_LABEL:;
466 }
467 /* method literal#AStringFormExpr#value for (self: AStringFormExpr): nullable String */
468 val* literal__AStringFormExpr__value(val* self) {
469 val* var /* : nullable String */;
470 val* var1 /* : nullable String */;
471 var1 = self->attrs[COLOR_literal__AStringFormExpr___value].val; /* _value on <self:AStringFormExpr> */
472 var = var1;
473 RET_LABEL:;
474 return var;
475 }
476 /* method literal#AStringFormExpr#value for (self: Object): nullable String */
477 val* VIRTUAL_literal__AStringFormExpr__value(val* self) {
478 val* var /* : nullable String */;
479 val* var1 /* : nullable String */;
480 val* var3 /* : nullable String */;
481 { /* Inline literal#AStringFormExpr#value (self) on <self:Object(AStringFormExpr)> */
482 var3 = self->attrs[COLOR_literal__AStringFormExpr___value].val; /* _value on <self:Object(AStringFormExpr)> */
483 var1 = var3;
484 RET_LABEL2:(void)0;
485 }
486 var = var1;
487 RET_LABEL:;
488 return var;
489 }
490 /* method literal#AStringFormExpr#value= for (self: AStringFormExpr, nullable String) */
491 void literal__AStringFormExpr__value_61d(val* self, val* p0) {
492 self->attrs[COLOR_literal__AStringFormExpr___value].val = p0; /* _value on <self:AStringFormExpr> */
493 RET_LABEL:;
494 }
495 /* method literal#AStringFormExpr#value= for (self: Object, nullable String) */
496 void VIRTUAL_literal__AStringFormExpr__value_61d(val* self, val* p0) {
497 { /* Inline literal#AStringFormExpr#value= (self,p0) on <self:Object(AStringFormExpr)> */
498 self->attrs[COLOR_literal__AStringFormExpr___value].val = p0; /* _value on <self:Object(AStringFormExpr)> */
499 RET_LABEL1:(void)0;
500 }
501 RET_LABEL:;
502 }
503 /* method literal#AStringFormExpr#accept_literal for (self: AStringFormExpr, LiteralVisitor) */
504 void literal__AStringFormExpr__accept_literal(val* self, val* p0) {
505 val* var_v /* var v: LiteralVisitor */;
506 val* var /* : Token */;
507 val* var1 /* : String */;
508 val* var_txt /* var txt: String */;
509 long var2 /* : Int */;
510 long var_behead /* var behead: Int */;
511 long var3 /* : Int */;
512 long var_betail /* var betail: Int */;
513 short int var4 /* : Bool */;
514 val* var5 /* : SequenceRead[Char] */;
515 val* var7 /* : SequenceRead[Char] */;
516 long var8 /* : Int */;
517 val* var9 /* : nullable Object */;
518 val* var10 /* : SequenceRead[Char] */;
519 val* var12 /* : SequenceRead[Char] */;
520 long var13 /* : Int */;
521 val* var14 /* : nullable Object */;
522 short int var15 /* : Bool */;
523 short int var16 /* : Bool */;
524 short int var18 /* : Bool */;
525 short int var_ /* var : Bool */;
526 long var19 /* : Int */;
527 long var21 /* : Int */;
528 long var22 /* : Int */;
529 short int var23 /* : Bool */;
530 short int var25 /* : Bool */;
531 int cltype;
532 int idtype;
533 const char* var_class_name;
534 short int var26 /* : Bool */;
535 long var27 /* : Int */;
536 long var28 /* : Int */;
537 short int var29 /* : Bool */;
538 val* var30 /* : SequenceRead[Char] */;
539 val* var32 /* : SequenceRead[Char] */;
540 long var33 /* : Int */;
541 val* var34 /* : nullable Object */;
542 char var35 /* : Char */;
543 short int var36 /* : Bool */;
544 short int var37 /* : Bool */;
545 short int var39 /* : Bool */;
546 char var40 /* : Char */;
547 short int var_41 /* var : Bool */;
548 val* var42 /* : SequenceRead[Char] */;
549 val* var44 /* : SequenceRead[Char] */;
550 long var45 /* : Int */;
551 val* var46 /* : nullable Object */;
552 char var47 /* : Char */;
553 short int var48 /* : Bool */;
554 short int var49 /* : Bool */;
555 short int var51 /* : Bool */;
556 char var52 /* : Char */;
557 long var53 /* : Int */;
558 long var54 /* : Int */;
559 long var56 /* : Int */;
560 long var57 /* : Int */;
561 short int var59 /* : Bool */;
562 int cltype60;
563 int idtype61;
564 const char* var_class_name62;
565 long var63 /* : Int */;
566 long var64 /* : Int */;
567 short int var66 /* : Bool */;
568 int cltype67;
569 int idtype68;
570 const char* var_class_name69;
571 long var70 /* : Int */;
572 val* var71 /* : String */;
573 val* var72 /* : String */;
574 var_v = p0;
575 {
576 var = parser_nodes__AStringFormExpr__n_string(self);
577 }
578 {
579 var1 = lexer_work__Token__text(var);
580 }
581 var_txt = var1;
582 var2 = 1;
583 var_behead = var2;
584 var3 = 1;
585 var_betail = var3;
586 {
587 { /* Inline string#FlatString#chars (var_txt) on <var_txt:String> */
588 var7 = var_txt->attrs[COLOR_string__FlatString___chars].val; /* _chars on <var_txt:String> */
589 if (unlikely(var7 == NULL)) {
590 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars");
591 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 746);
592 show_backtrace(1);
593 }
594 var5 = var7;
595 RET_LABEL6:(void)0;
596 }
597 }
598 var8 = 0;
599 {
600 var9 = ((val* (*)(val*, long))(var5->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var5, var8) /* [] on <var5:SequenceRead[Char]>*/;
601 }
602 {
603 { /* Inline string#FlatString#chars (var_txt) on <var_txt:String> */
604 var12 = var_txt->attrs[COLOR_string__FlatString___chars].val; /* _chars on <var_txt:String> */
605 if (unlikely(var12 == NULL)) {
606 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars");
607 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 746);
608 show_backtrace(1);
609 }
610 var10 = var12;
611 RET_LABEL11:(void)0;
612 }
613 }
614 var13 = 1;
615 {
616 var14 = ((val* (*)(val*, long))(var10->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var10, var13) /* [] on <var10:SequenceRead[Char]>*/;
617 }
618 {
619 { /* Inline kernel#Char#== (var9,var14) on <var9:nullable Object(Char)> */
620 var18 = var9 == var14 || (((struct instance_kernel__Char*)var9)->value == ((struct instance_kernel__Char*)var14)->value);
621 var16 = var18;
622 goto RET_LABEL17;
623 RET_LABEL17:(void)0;
624 }
625 var15 = var16;
626 }
627 var_ = var15;
628 if (var15){
629 {
630 { /* Inline string#FlatText#length (var_txt) on <var_txt:String> */
631 var21 = var_txt->attrs[COLOR_string__FlatText___length].l; /* _length on <var_txt:String> */
632 var19 = var21;
633 RET_LABEL20:(void)0;
634 }
635 }
636 var22 = 6;
637 {
638 { /* Inline kernel#Int#>= (var19,var22) on <var19:Int> */
639 /* Covariant cast for argument 0 (i) <var22:Int> isa OTHER */
640 /* <var22:Int> isa OTHER */
641 var25 = 1; /* easy <var22:Int> isa OTHER*/
642 if (unlikely(!var25)) {
643 var_class_name = type_kernel__Int.name;
644 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
645 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 326);
646 show_backtrace(1);
647 }
648 var26 = var19 >= var22;
649 var23 = var26;
650 goto RET_LABEL24;
651 RET_LABEL24:(void)0;
652 }
653 }
654 var4 = var23;
655 } else {
656 var4 = var_;
657 }
658 if (var4){
659 var27 = 3;
660 var_behead = var27;
661 var28 = 3;
662 var_betail = var28;
663 {
664 { /* Inline string#FlatString#chars (var_txt) on <var_txt:String> */
665 var32 = var_txt->attrs[COLOR_string__FlatString___chars].val; /* _chars on <var_txt:String> */
666 if (unlikely(var32 == NULL)) {
667 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars");
668 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 746);
669 show_backtrace(1);
670 }
671 var30 = var32;
672 RET_LABEL31:(void)0;
673 }
674 }
675 var33 = 0;
676 {
677 var34 = ((val* (*)(val*, long))(var30->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var30, var33) /* [] on <var30:SequenceRead[Char]>*/;
678 }
679 var35 = '\"';
680 {
681 { /* Inline kernel#Char#== (var34,var35) on <var34:nullable Object(Char)> */
682 var39 = (var34 != NULL) && (var34->class == &class_kernel__Char);
683 if (var39) {
684 var40 = ((struct instance_kernel__Char*)var34)->value; /* autounbox from nullable Object to Char */;
685 var39 = (var40 == var35);
686 }
687 var37 = var39;
688 goto RET_LABEL38;
689 RET_LABEL38:(void)0;
690 }
691 var36 = var37;
692 }
693 var_41 = var36;
694 if (var36){
695 {
696 { /* Inline string#FlatString#chars (var_txt) on <var_txt:String> */
697 var44 = var_txt->attrs[COLOR_string__FlatString___chars].val; /* _chars on <var_txt:String> */
698 if (unlikely(var44 == NULL)) {
699 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars");
700 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 746);
701 show_backtrace(1);
702 }
703 var42 = var44;
704 RET_LABEL43:(void)0;
705 }
706 }
707 var45 = 3;
708 {
709 var46 = ((val* (*)(val*, long))(var42->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var42, var45) /* [] on <var42:SequenceRead[Char]>*/;
710 }
711 var47 = '\n';
712 {
713 { /* Inline kernel#Char#== (var46,var47) on <var46:nullable Object(Char)> */
714 var51 = (var46 != NULL) && (var46->class == &class_kernel__Char);
715 if (var51) {
716 var52 = ((struct instance_kernel__Char*)var46)->value; /* autounbox from nullable Object to Char */;
717 var51 = (var52 == var47);
718 }
719 var49 = var51;
720 goto RET_LABEL50;
721 RET_LABEL50:(void)0;
722 }
723 var48 = var49;
724 }
725 var29 = var48;
726 } else {
727 var29 = var_41;
728 }
729 if (var29){
730 var53 = 4;
731 var_behead = var53;
732 } else {
733 }
734 } else {
735 }
736 {
737 { /* Inline string#FlatText#length (var_txt) on <var_txt:String> */
738 var56 = var_txt->attrs[COLOR_string__FlatText___length].l; /* _length on <var_txt:String> */
739 var54 = var56;
740 RET_LABEL55:(void)0;
741 }
742 }
743 {
744 { /* Inline kernel#Int#- (var54,var_behead) on <var54:Int> */
745 /* Covariant cast for argument 0 (i) <var_behead:Int> isa OTHER */
746 /* <var_behead:Int> isa OTHER */
747 var59 = 1; /* easy <var_behead:Int> isa OTHER*/
748 if (unlikely(!var59)) {
749 var_class_name62 = type_kernel__Int.name;
750 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name62);
751 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
752 show_backtrace(1);
753 }
754 var63 = var54 - var_behead;
755 var57 = var63;
756 goto RET_LABEL58;
757 RET_LABEL58:(void)0;
758 }
759 }
760 {
761 { /* Inline kernel#Int#- (var57,var_betail) on <var57:Int> */
762 /* Covariant cast for argument 0 (i) <var_betail:Int> isa OTHER */
763 /* <var_betail:Int> isa OTHER */
764 var66 = 1; /* easy <var_betail:Int> isa OTHER*/
765 if (unlikely(!var66)) {
766 var_class_name69 = type_kernel__Int.name;
767 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name69);
768 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
769 show_backtrace(1);
770 }
771 var70 = var57 - var_betail;
772 var64 = var70;
773 goto RET_LABEL65;
774 RET_LABEL65:(void)0;
775 }
776 }
777 {
778 var71 = string__FlatString__substring(var_txt, var_behead, var64);
779 }
780 {
781 var72 = string__Text__unescape_nit(var71);
782 }
783 {
784 { /* Inline literal#AStringFormExpr#value= (self,var72) on <self:AStringFormExpr> */
785 self->attrs[COLOR_literal__AStringFormExpr___value].val = var72; /* _value on <self:AStringFormExpr> */
786 RET_LABEL73:(void)0;
787 }
788 }
789 RET_LABEL:;
790 }
791 /* method literal#AStringFormExpr#accept_literal for (self: Object, LiteralVisitor) */
792 void VIRTUAL_literal__AStringFormExpr__accept_literal(val* self, val* p0) {
793 literal__AStringFormExpr__accept_literal(self, p0); /* Direct call literal#AStringFormExpr#accept_literal on <self:Object(AStringFormExpr)>*/
794 RET_LABEL:;
795 }