misc/vim: inform the user when no results are found
[nit.git] / c_src / nit__literal.sep.1.c
1 #include "nit__literal.sep.0.h"
2 /* method literal#LiteralPhase#process_nmodule for (self: LiteralPhase, AModule) */
3 void nit__literal___nit__literal__LiteralPhase___nit__phase__Phase__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_nit__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", FILE_nit__phase, 201);
14 show_backtrace(1);
15 }
16 var = var2;
17 RET_LABEL1:(void)0;
18 }
19 }
20 {
21 nit__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#AModule#do_literal for (self: AModule, ToolContext) */
26 void nit__literal___AModule___do_literal(val* self, val* p0) {
27 val* var_toolcontext /* var toolcontext: ToolContext */;
28 val* var /* : LiteralVisitor */;
29 val* var_v /* var v: LiteralVisitor */;
30 var_toolcontext = p0;
31 var = NEW_nit__literal__LiteralVisitor(&type_nit__literal__LiteralVisitor);
32 {
33 ((void (*)(val* self, val* p0))(var->class->vft[COLOR_nit__literal__LiteralVisitor__toolcontext_61d]))(var, var_toolcontext) /* toolcontext= on <var:LiteralVisitor>*/;
34 }
35 {
36 ((void (*)(val* self))(var->class->vft[COLOR_standard__kernel__Object__init]))(var) /* init on <var:LiteralVisitor>*/;
37 }
38 var_v = var;
39 {
40 nit___nit__Visitor___enter_visit(var_v, self); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:LiteralVisitor>*/
41 }
42 RET_LABEL:;
43 }
44 /* method literal#LiteralVisitor#toolcontext for (self: LiteralVisitor): ToolContext */
45 val* nit__literal___nit__literal__LiteralVisitor___toolcontext(val* self) {
46 val* var /* : ToolContext */;
47 val* var1 /* : ToolContext */;
48 var1 = self->attrs[COLOR_nit__literal__LiteralVisitor___toolcontext].val; /* _toolcontext on <self:LiteralVisitor> */
49 if (unlikely(var1 == NULL)) {
50 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
51 PRINT_ERROR(" (%s:%d)\n", FILE_nit__literal, 46);
52 show_backtrace(1);
53 }
54 var = var1;
55 RET_LABEL:;
56 return var;
57 }
58 /* method literal#LiteralVisitor#toolcontext= for (self: LiteralVisitor, ToolContext) */
59 void nit__literal___nit__literal__LiteralVisitor___toolcontext_61d(val* self, val* p0) {
60 self->attrs[COLOR_nit__literal__LiteralVisitor___toolcontext].val = p0; /* _toolcontext on <self:LiteralVisitor> */
61 RET_LABEL:;
62 }
63 /* method literal#LiteralVisitor#visit for (self: LiteralVisitor, ANode) */
64 void nit__literal___nit__literal__LiteralVisitor___nit__parser_nodes__Visitor__visit(val* self, val* p0) {
65 val* var_n /* var n: ANode */;
66 var_n = p0;
67 {
68 ((void (*)(val* self, val* p0))(var_n->class->vft[COLOR_nit__literal__ANode__accept_literal]))(var_n, self) /* accept_literal on <var_n:ANode>*/;
69 }
70 {
71 ((void (*)(val* self, val* p0))(var_n->class->vft[COLOR_nit__parser_nodes__ANode__visit_all]))(var_n, self) /* visit_all on <var_n:ANode>*/;
72 }
73 RET_LABEL:;
74 }
75 /* method literal#LiteralVisitor#init for (self: LiteralVisitor) */
76 void nit__literal___nit__literal__LiteralVisitor___standard__kernel__Object__init(val* self) {
77 {
78 ((void (*)(val* self))(self->class->vft[COLOR_nit__literal___nit__literal__LiteralVisitor___standard__kernel__Object__init]))(self) /* init on <self:LiteralVisitor>*/;
79 }
80 RET_LABEL:;
81 }
82 /* method literal#ANode#accept_literal for (self: ANode, LiteralVisitor) */
83 void nit__literal___ANode___accept_literal(val* self, val* p0) {
84 val* var_v /* var v: LiteralVisitor */;
85 var_v = p0;
86 RET_LABEL:;
87 }
88 /* method literal#AExpr#as_string for (self: AExpr): nullable String */
89 val* nit__literal___AExpr___as_string(val* self) {
90 val* var /* : nullable String */;
91 short int var1 /* : Bool */;
92 int cltype;
93 int idtype;
94 short int var2 /* : Bool */;
95 val* var3 /* : null */;
96 val* var4 /* : nullable String */;
97 val* var6 /* : nullable String */;
98 /* <self:AExpr> isa AStringFormExpr */
99 cltype = type_nit__AStringFormExpr.color;
100 idtype = type_nit__AStringFormExpr.id;
101 if(cltype >= self->type->table_size) {
102 var1 = 0;
103 } else {
104 var1 = self->type->type_table[cltype] == idtype;
105 }
106 var2 = !var1;
107 if (var2){
108 var3 = NULL;
109 var = var3;
110 goto RET_LABEL;
111 } else {
112 }
113 {
114 { /* Inline literal#AStringFormExpr#value (self) on <self:AExpr(AStringFormExpr)> */
115 var6 = self->attrs[COLOR_nit__literal__AStringFormExpr___value].val; /* _value on <self:AExpr(AStringFormExpr)> */
116 var4 = var6;
117 RET_LABEL5:(void)0;
118 }
119 }
120 if (unlikely(var4 == NULL)) {
121 PRINT_ERROR("Runtime error: %s", "Cast failed");
122 PRINT_ERROR(" (%s:%d)\n", FILE_nit__literal, 65);
123 show_backtrace(1);
124 }
125 var = var4;
126 goto RET_LABEL;
127 RET_LABEL:;
128 return var;
129 }
130 /* method literal#AExpr#as_id for (self: AExpr): nullable String */
131 val* nit__literal___AExpr___as_id(val* self) {
132 val* var /* : nullable String */;
133 short int var1 /* : Bool */;
134 int cltype;
135 int idtype;
136 val* var2 /* : String */;
137 short int var3 /* : Bool */;
138 int cltype4;
139 int idtype5;
140 short int var6 /* : Bool */;
141 val* var7 /* : null */;
142 val* var8 /* : AExpr */;
143 val* var10 /* : AExpr */;
144 short int var11 /* : Bool */;
145 int cltype12;
146 int idtype13;
147 short int var14 /* : Bool */;
148 val* var15 /* : null */;
149 val* var16 /* : AExprs */;
150 val* var18 /* : AExprs */;
151 val* var19 /* : ANodes[AExpr] */;
152 val* var21 /* : ANodes[AExpr] */;
153 short int var22 /* : Bool */;
154 short int var23 /* : Bool */;
155 val* var24 /* : null */;
156 val* var25 /* : TId */;
157 val* var27 /* : TId */;
158 val* var28 /* : String */;
159 /* <self:AExpr> isa AMethidExpr */
160 cltype = type_nit__AMethidExpr.color;
161 idtype = type_nit__AMethidExpr.id;
162 if(cltype >= self->type->table_size) {
163 var1 = 0;
164 } else {
165 var1 = self->type->type_table[cltype] == idtype;
166 }
167 if (var1){
168 {
169 var2 = nit__parser_work___Prod___collect_text(self);
170 }
171 var = var2;
172 goto RET_LABEL;
173 } else {
174 }
175 /* <self:AExpr> isa ACallExpr */
176 cltype4 = type_nit__ACallExpr.color;
177 idtype5 = type_nit__ACallExpr.id;
178 if(cltype4 >= self->type->table_size) {
179 var3 = 0;
180 } else {
181 var3 = self->type->type_table[cltype4] == idtype5;
182 }
183 var6 = !var3;
184 if (var6){
185 var7 = NULL;
186 var = var7;
187 goto RET_LABEL;
188 } else {
189 }
190 {
191 { /* Inline parser_nodes#ASendExpr#n_expr (self) on <self:AExpr(ACallExpr)> */
192 var10 = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AExpr(ACallExpr)> */
193 if (unlikely(var10 == NULL)) {
194 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
195 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1802);
196 show_backtrace(1);
197 }
198 var8 = var10;
199 RET_LABEL9:(void)0;
200 }
201 }
202 /* <var8:AExpr> isa AImplicitSelfExpr */
203 cltype12 = type_nit__AImplicitSelfExpr.color;
204 idtype13 = type_nit__AImplicitSelfExpr.id;
205 if(cltype12 >= var8->type->table_size) {
206 var11 = 0;
207 } else {
208 var11 = var8->type->type_table[cltype12] == idtype13;
209 }
210 var14 = !var11;
211 if (var14){
212 var15 = NULL;
213 var = var15;
214 goto RET_LABEL;
215 } else {
216 }
217 {
218 { /* Inline parser_nodes#ACallFormExpr#n_args (self) on <self:AExpr(ACallExpr)> */
219 var18 = self->attrs[COLOR_nit__parser_nodes__ACallFormExpr___n_args].val; /* _n_args on <self:AExpr(ACallExpr)> */
220 if (unlikely(var18 == NULL)) {
221 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
222 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2002);
223 show_backtrace(1);
224 }
225 var16 = var18;
226 RET_LABEL17:(void)0;
227 }
228 }
229 {
230 { /* Inline parser_nodes#AExprs#n_exprs (var16) on <var16:AExprs> */
231 var21 = var16->attrs[COLOR_nit__parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <var16:AExprs> */
232 if (unlikely(var21 == NULL)) {
233 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
234 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2408);
235 show_backtrace(1);
236 }
237 var19 = var21;
238 RET_LABEL20:(void)0;
239 }
240 }
241 {
242 var22 = nit___nit__ANodes___standard__abstract_collection__Collection__is_empty(var19);
243 }
244 var23 = !var22;
245 if (var23){
246 var24 = NULL;
247 var = var24;
248 goto RET_LABEL;
249 } else {
250 }
251 {
252 { /* Inline parser_nodes#ACallFormExpr#n_id (self) on <self:AExpr(ACallExpr)> */
253 var27 = self->attrs[COLOR_nit__parser_nodes__ACallFormExpr___n_id].val; /* _n_id on <self:AExpr(ACallExpr)> */
254 if (unlikely(var27 == NULL)) {
255 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
256 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1999);
257 show_backtrace(1);
258 }
259 var25 = var27;
260 RET_LABEL26:(void)0;
261 }
262 }
263 {
264 var28 = nit__lexer_work___Token___text(var25);
265 }
266 var = var28;
267 goto RET_LABEL;
268 RET_LABEL:;
269 return var;
270 }
271 /* method literal#AIntExpr#value for (self: AIntExpr): nullable Int */
272 val* nit__literal___AIntExpr___value(val* self) {
273 val* var /* : nullable Int */;
274 val* var1 /* : nullable Int */;
275 var1 = self->attrs[COLOR_nit__literal__AIntExpr___value].val; /* _value on <self:AIntExpr> */
276 var = var1;
277 RET_LABEL:;
278 return var;
279 }
280 /* method literal#AIntExpr#value= for (self: AIntExpr, nullable Int) */
281 void nit__literal___AIntExpr___value_61d(val* self, val* p0) {
282 self->attrs[COLOR_nit__literal__AIntExpr___value].val = p0; /* _value on <self:AIntExpr> */
283 RET_LABEL:;
284 }
285 /* method literal#ADecIntExpr#accept_literal for (self: ADecIntExpr, LiteralVisitor) */
286 void nit__literal___ADecIntExpr___ANode__accept_literal(val* self, val* p0) {
287 val* var_v /* var v: LiteralVisitor */;
288 val* var /* : TNumber */;
289 val* var2 /* : TNumber */;
290 val* var3 /* : String */;
291 long var4 /* : Int */;
292 val* var6 /* : nullable Int */;
293 var_v = p0;
294 {
295 { /* Inline parser_nodes#ADecIntExpr#n_number (self) on <self:ADecIntExpr> */
296 var2 = self->attrs[COLOR_nit__parser_nodes__ADecIntExpr___n_number].val; /* _n_number on <self:ADecIntExpr> */
297 if (unlikely(var2 == NULL)) {
298 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_number");
299 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2216);
300 show_backtrace(1);
301 }
302 var = var2;
303 RET_LABEL1:(void)0;
304 }
305 }
306 {
307 var3 = nit__lexer_work___Token___text(var);
308 }
309 {
310 var4 = standard___standard__Text___to_i(var3);
311 }
312 {
313 { /* Inline literal#AIntExpr#value= (self,var4) on <self:ADecIntExpr> */
314 var6 = BOX_standard__Int(var4); /* autobox from Int to nullable Int */
315 self->attrs[COLOR_nit__literal__AIntExpr___value].val = var6; /* _value on <self:ADecIntExpr> */
316 RET_LABEL5:(void)0;
317 }
318 }
319 RET_LABEL:;
320 }
321 /* method literal#AHexIntExpr#accept_literal for (self: AHexIntExpr, LiteralVisitor) */
322 void nit__literal___AHexIntExpr___ANode__accept_literal(val* self, val* p0) {
323 val* var_v /* var v: LiteralVisitor */;
324 val* var /* : THexNumber */;
325 val* var2 /* : THexNumber */;
326 val* var3 /* : String */;
327 long var4 /* : Int */;
328 val* var5 /* : Text */;
329 long var6 /* : Int */;
330 val* var8 /* : nullable Int */;
331 var_v = p0;
332 {
333 { /* Inline parser_nodes#AHexIntExpr#n_hex_number (self) on <self:AHexIntExpr> */
334 var2 = self->attrs[COLOR_nit__parser_nodes__AHexIntExpr___n_hex_number].val; /* _n_hex_number on <self:AHexIntExpr> */
335 if (unlikely(var2 == NULL)) {
336 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_hex_number");
337 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2224);
338 show_backtrace(1);
339 }
340 var = var2;
341 RET_LABEL1:(void)0;
342 }
343 }
344 {
345 var3 = nit__lexer_work___Token___text(var);
346 }
347 var4 = 2;
348 {
349 var5 = standard___standard__Text___substring_from(var3, var4);
350 }
351 {
352 var6 = standard___standard__Text___to_hex(var5);
353 }
354 {
355 { /* Inline literal#AIntExpr#value= (self,var6) on <self:AHexIntExpr> */
356 var8 = BOX_standard__Int(var6); /* autobox from Int to nullable Int */
357 self->attrs[COLOR_nit__literal__AIntExpr___value].val = var8; /* _value on <self:AHexIntExpr> */
358 RET_LABEL7:(void)0;
359 }
360 }
361 RET_LABEL:;
362 }
363 /* method literal#AFloatExpr#value= for (self: AFloatExpr, nullable Float) */
364 void nit__literal___AFloatExpr___value_61d(val* self, val* p0) {
365 self->attrs[COLOR_nit__literal__AFloatExpr___value].val = p0; /* _value on <self:AFloatExpr> */
366 RET_LABEL:;
367 }
368 /* method literal#AFloatExpr#accept_literal for (self: AFloatExpr, LiteralVisitor) */
369 void nit__literal___AFloatExpr___ANode__accept_literal(val* self, val* p0) {
370 val* var_v /* var v: LiteralVisitor */;
371 val* var /* : TFloat */;
372 val* var2 /* : TFloat */;
373 val* var3 /* : String */;
374 double var4 /* : Float */;
375 val* var6 /* : nullable Float */;
376 var_v = p0;
377 {
378 { /* Inline parser_nodes#AFloatExpr#n_float (self) on <self:AFloatExpr> */
379 var2 = self->attrs[COLOR_nit__parser_nodes__AFloatExpr___n_float].val; /* _n_float on <self:AFloatExpr> */
380 if (unlikely(var2 == NULL)) {
381 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_float");
382 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2232);
383 show_backtrace(1);
384 }
385 var = var2;
386 RET_LABEL1:(void)0;
387 }
388 }
389 {
390 var3 = nit__lexer_work___Token___text(var);
391 }
392 {
393 var4 = standard___standard__Text___to_f(var3);
394 }
395 {
396 { /* Inline literal#AFloatExpr#value= (self,var4) on <self:AFloatExpr> */
397 var6 = BOX_standard__Float(var4); /* autobox from Float to nullable Float */
398 self->attrs[COLOR_nit__literal__AFloatExpr___value].val = var6; /* _value on <self:AFloatExpr> */
399 RET_LABEL5:(void)0;
400 }
401 }
402 RET_LABEL:;
403 }
404 /* method literal#ACharExpr#value for (self: ACharExpr): nullable Char */
405 val* nit__literal___ACharExpr___value(val* self) {
406 val* var /* : nullable Char */;
407 val* var1 /* : nullable Char */;
408 var1 = self->attrs[COLOR_nit__literal__ACharExpr___value].val; /* _value on <self:ACharExpr> */
409 var = var1;
410 RET_LABEL:;
411 return var;
412 }
413 /* method literal#ACharExpr#value= for (self: ACharExpr, nullable Char) */
414 void nit__literal___ACharExpr___value_61d(val* self, val* p0) {
415 self->attrs[COLOR_nit__literal__ACharExpr___value].val = p0; /* _value on <self:ACharExpr> */
416 RET_LABEL:;
417 }
418 /* method literal#ACharExpr#accept_literal for (self: ACharExpr, LiteralVisitor) */
419 void nit__literal___ACharExpr___ANode__accept_literal(val* self, val* p0) {
420 val* var_v /* var v: LiteralVisitor */;
421 val* var /* : TChar */;
422 val* var2 /* : TChar */;
423 val* var3 /* : String */;
424 val* var4 /* : String */;
425 val* var_txt /* var txt: String */;
426 long var5 /* : Int */;
427 long var6 /* : Int */;
428 short int var7 /* : Bool */;
429 short int var9 /* : Bool */;
430 short int var10 /* : Bool */;
431 val* var11 /* : ToolContext */;
432 val* var13 /* : ToolContext */;
433 val* var14 /* : Location */;
434 static val* varonce;
435 val* var15 /* : String */;
436 char* var16 /* : NativeString */;
437 long var17 /* : Int */;
438 val* var18 /* : FlatString */;
439 val* var19 /* : Array[Object] */;
440 long var20 /* : Int */;
441 val* var21 /* : NativeArray[Object] */;
442 val* var22 /* : String */;
443 val* var23 /* : SequenceRead[Char] */;
444 long var24 /* : Int */;
445 val* var25 /* : nullable Object */;
446 var_v = p0;
447 {
448 { /* Inline parser_nodes#ACharExpr#n_char (self) on <self:ACharExpr> */
449 var2 = self->attrs[COLOR_nit__parser_nodes__ACharExpr___n_char].val; /* _n_char on <self:ACharExpr> */
450 if (unlikely(var2 == NULL)) {
451 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_char");
452 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2240);
453 show_backtrace(1);
454 }
455 var = var2;
456 RET_LABEL1:(void)0;
457 }
458 }
459 {
460 var3 = nit__lexer_work___Token___text(var);
461 }
462 {
463 var4 = standard___standard__Text___unescape_nit(var3);
464 }
465 var_txt = var4;
466 {
467 var5 = ((long (*)(val* self))(var_txt->class->vft[COLOR_standard__string__Text__length]))(var_txt) /* length on <var_txt:String>*/;
468 }
469 var6 = 3;
470 {
471 { /* Inline kernel#Int#!= (var5,var6) on <var5:Int> */
472 var9 = var5 == var6;
473 var10 = !var9;
474 var7 = var10;
475 goto RET_LABEL8;
476 RET_LABEL8:(void)0;
477 }
478 }
479 if (var7){
480 {
481 { /* Inline literal#LiteralVisitor#toolcontext (var_v) on <var_v:LiteralVisitor> */
482 var13 = var_v->attrs[COLOR_nit__literal__LiteralVisitor___toolcontext].val; /* _toolcontext on <var_v:LiteralVisitor> */
483 if (unlikely(var13 == NULL)) {
484 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
485 PRINT_ERROR(" (%s:%d)\n", FILE_nit__literal, 46);
486 show_backtrace(1);
487 }
488 var11 = var13;
489 RET_LABEL12:(void)0;
490 }
491 }
492 {
493 var14 = nit___nit__ANode___hot_location(self);
494 }
495 if (varonce) {
496 var15 = varonce;
497 } else {
498 var16 = "Invalid character literal ";
499 var17 = 26;
500 var18 = standard___standard__NativeString___to_s_with_length(var16, var17);
501 var15 = var18;
502 varonce = var15;
503 }
504 var19 = NEW_standard__Array(&type_standard__Array__standard__Object);
505 { /* var19 = array_instance Array[Object] */
506 var20 = 2;
507 var21 = NEW_standard__NativeArray(var20, &type_standard__NativeArray__standard__Object);
508 ((struct instance_standard__NativeArray*)var21)->values[0] = (val*) var15;
509 ((struct instance_standard__NativeArray*)var21)->values[1] = (val*) var_txt;
510 {
511 ((void (*)(val* self, val* p0, long p1))(var19->class->vft[COLOR_standard__array__Array__with_native]))(var19, var21, var20) /* with_native on <var19:Array[Object]>*/;
512 }
513 }
514 {
515 var22 = ((val* (*)(val* self))(var19->class->vft[COLOR_standard__string__Object__to_s]))(var19) /* to_s on <var19:Array[Object]>*/;
516 }
517 {
518 nit___nit__ToolContext___error(var11, var14, var22); /* Direct call toolcontext#ToolContext#error on <var11:ToolContext>*/
519 }
520 goto RET_LABEL;
521 } else {
522 }
523 {
524 var23 = ((val* (*)(val* self))(var_txt->class->vft[COLOR_standard__string__Text__chars]))(var_txt) /* chars on <var_txt:String>*/;
525 }
526 var24 = 1;
527 {
528 var25 = ((val* (*)(val* self, long p0))(var23->class->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var23, var24) /* [] on <var23:SequenceRead[Char]>*/;
529 }
530 {
531 { /* Inline literal#ACharExpr#value= (self,var25) on <self:ACharExpr> */
532 self->attrs[COLOR_nit__literal__ACharExpr___value].val = var25; /* _value on <self:ACharExpr> */
533 RET_LABEL26:(void)0;
534 }
535 }
536 RET_LABEL:;
537 }
538 /* method literal#AStringFormExpr#value for (self: AStringFormExpr): nullable String */
539 val* nit__literal___AStringFormExpr___value(val* self) {
540 val* var /* : nullable String */;
541 val* var1 /* : nullable String */;
542 var1 = self->attrs[COLOR_nit__literal__AStringFormExpr___value].val; /* _value on <self:AStringFormExpr> */
543 var = var1;
544 RET_LABEL:;
545 return var;
546 }
547 /* method literal#AStringFormExpr#value= for (self: AStringFormExpr, nullable String) */
548 void nit__literal___AStringFormExpr___value_61d(val* self, val* p0) {
549 self->attrs[COLOR_nit__literal__AStringFormExpr___value].val = p0; /* _value on <self:AStringFormExpr> */
550 RET_LABEL:;
551 }
552 /* method literal#AStringFormExpr#accept_literal for (self: AStringFormExpr, LiteralVisitor) */
553 void nit__literal___AStringFormExpr___ANode__accept_literal(val* self, val* p0) {
554 val* var_v /* var v: LiteralVisitor */;
555 val* var /* : Token */;
556 val* var2 /* : Token */;
557 val* var3 /* : String */;
558 val* var_txt /* var txt: String */;
559 long var4 /* : Int */;
560 long var_behead /* var behead: Int */;
561 long var5 /* : Int */;
562 long var_betail /* var betail: Int */;
563 short int var6 /* : Bool */;
564 val* var7 /* : SequenceRead[Char] */;
565 long var8 /* : Int */;
566 val* var9 /* : nullable Object */;
567 val* var10 /* : SequenceRead[Char] */;
568 long var11 /* : Int */;
569 val* var12 /* : nullable Object */;
570 short int var13 /* : Bool */;
571 short int var15 /* : Bool */;
572 short int var_ /* var : Bool */;
573 long var16 /* : Int */;
574 long var17 /* : Int */;
575 short int var18 /* : Bool */;
576 short int var20 /* : Bool */;
577 int cltype;
578 int idtype;
579 const char* var_class_name;
580 short int var21 /* : Bool */;
581 long var22 /* : Int */;
582 long var23 /* : Int */;
583 short int var24 /* : Bool */;
584 val* var25 /* : SequenceRead[Char] */;
585 long var26 /* : Int */;
586 val* var27 /* : nullable Object */;
587 char var28 /* : Char */;
588 short int var29 /* : Bool */;
589 short int var31 /* : Bool */;
590 char var32 /* : Char */;
591 short int var_33 /* var : Bool */;
592 val* var34 /* : SequenceRead[Char] */;
593 long var35 /* : Int */;
594 val* var36 /* : nullable Object */;
595 char var37 /* : Char */;
596 short int var38 /* : Bool */;
597 short int var40 /* : Bool */;
598 char var41 /* : Char */;
599 long var42 /* : Int */;
600 long var43 /* : Int */;
601 long var44 /* : Int */;
602 short int var46 /* : Bool */;
603 int cltype47;
604 int idtype48;
605 const char* var_class_name49;
606 long var50 /* : Int */;
607 long var51 /* : Int */;
608 short int var53 /* : Bool */;
609 int cltype54;
610 int idtype55;
611 const char* var_class_name56;
612 long var57 /* : Int */;
613 val* var58 /* : Text */;
614 val* var59 /* : String */;
615 var_v = p0;
616 {
617 { /* Inline parser_nodes#AStringFormExpr#n_string (self) on <self:AStringFormExpr> */
618 var2 = self->attrs[COLOR_nit__parser_nodes__AStringFormExpr___n_string].val; /* _n_string on <self:AStringFormExpr> */
619 if (unlikely(var2 == NULL)) {
620 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_string");
621 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2248);
622 show_backtrace(1);
623 }
624 var = var2;
625 RET_LABEL1:(void)0;
626 }
627 }
628 {
629 var3 = nit__lexer_work___Token___text(var);
630 }
631 var_txt = var3;
632 var4 = 1;
633 var_behead = var4;
634 var5 = 1;
635 var_betail = var5;
636 {
637 var7 = ((val* (*)(val* self))(var_txt->class->vft[COLOR_standard__string__Text__chars]))(var_txt) /* chars on <var_txt:String>*/;
638 }
639 var8 = 0;
640 {
641 var9 = ((val* (*)(val* self, long p0))(var7->class->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var7, var8) /* [] on <var7:SequenceRead[Char]>*/;
642 }
643 {
644 var10 = ((val* (*)(val* self))(var_txt->class->vft[COLOR_standard__string__Text__chars]))(var_txt) /* chars on <var_txt:String>*/;
645 }
646 var11 = 1;
647 {
648 var12 = ((val* (*)(val* self, long p0))(var10->class->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var10, var11) /* [] on <var10:SequenceRead[Char]>*/;
649 }
650 {
651 { /* Inline kernel#Char#== (var9,var12) on <var9:nullable Object(Char)> */
652 var15 = var9 == var12 || (((struct instance_standard__Char*)var9)->value == ((struct instance_standard__Char*)var12)->value);
653 var13 = var15;
654 goto RET_LABEL14;
655 RET_LABEL14:(void)0;
656 }
657 }
658 var_ = var13;
659 if (var13){
660 {
661 var16 = ((long (*)(val* self))(var_txt->class->vft[COLOR_standard__string__Text__length]))(var_txt) /* length on <var_txt:String>*/;
662 }
663 var17 = 6;
664 {
665 { /* Inline kernel#Int#>= (var16,var17) on <var16:Int> */
666 /* Covariant cast for argument 0 (i) <var17:Int> isa OTHER */
667 /* <var17:Int> isa OTHER */
668 var20 = 1; /* easy <var17:Int> isa OTHER*/
669 if (unlikely(!var20)) {
670 var_class_name = type_standard__Int.name;
671 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
672 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 411);
673 show_backtrace(1);
674 }
675 var21 = var16 >= var17;
676 var18 = var21;
677 goto RET_LABEL19;
678 RET_LABEL19:(void)0;
679 }
680 }
681 var6 = var18;
682 } else {
683 var6 = var_;
684 }
685 if (var6){
686 var22 = 3;
687 var_behead = var22;
688 var23 = 3;
689 var_betail = var23;
690 {
691 var25 = ((val* (*)(val* self))(var_txt->class->vft[COLOR_standard__string__Text__chars]))(var_txt) /* chars on <var_txt:String>*/;
692 }
693 var26 = 0;
694 {
695 var27 = ((val* (*)(val* self, long p0))(var25->class->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var25, var26) /* [] on <var25:SequenceRead[Char]>*/;
696 }
697 var28 = '\"';
698 {
699 { /* Inline kernel#Char#== (var27,var28) on <var27:nullable Object(Char)> */
700 var31 = (var27 != NULL) && (var27->class == &class_standard__Char);
701 if (var31) {
702 var32 = ((struct instance_standard__Char*)var27)->value; /* autounbox from nullable Object to Char */;
703 var31 = (var32 == var28);
704 }
705 var29 = var31;
706 goto RET_LABEL30;
707 RET_LABEL30:(void)0;
708 }
709 }
710 var_33 = var29;
711 if (var29){
712 {
713 var34 = ((val* (*)(val* self))(var_txt->class->vft[COLOR_standard__string__Text__chars]))(var_txt) /* chars on <var_txt:String>*/;
714 }
715 var35 = 3;
716 {
717 var36 = ((val* (*)(val* self, long p0))(var34->class->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var34, var35) /* [] on <var34:SequenceRead[Char]>*/;
718 }
719 var37 = '\n';
720 {
721 { /* Inline kernel#Char#== (var36,var37) on <var36:nullable Object(Char)> */
722 var40 = (var36 != NULL) && (var36->class == &class_standard__Char);
723 if (var40) {
724 var41 = ((struct instance_standard__Char*)var36)->value; /* autounbox from nullable Object to Char */;
725 var40 = (var41 == var37);
726 }
727 var38 = var40;
728 goto RET_LABEL39;
729 RET_LABEL39:(void)0;
730 }
731 }
732 var24 = var38;
733 } else {
734 var24 = var_33;
735 }
736 if (var24){
737 var42 = 4;
738 var_behead = var42;
739 } else {
740 }
741 } else {
742 }
743 {
744 var43 = ((long (*)(val* self))(var_txt->class->vft[COLOR_standard__string__Text__length]))(var_txt) /* length on <var_txt:String>*/;
745 }
746 {
747 { /* Inline kernel#Int#- (var43,var_behead) on <var43:Int> */
748 /* Covariant cast for argument 0 (i) <var_behead:Int> isa OTHER */
749 /* <var_behead:Int> isa OTHER */
750 var46 = 1; /* easy <var_behead:Int> isa OTHER*/
751 if (unlikely(!var46)) {
752 var_class_name49 = type_standard__Int.name;
753 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name49);
754 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
755 show_backtrace(1);
756 }
757 var50 = var43 - var_behead;
758 var44 = var50;
759 goto RET_LABEL45;
760 RET_LABEL45:(void)0;
761 }
762 }
763 {
764 { /* Inline kernel#Int#- (var44,var_betail) on <var44:Int> */
765 /* Covariant cast for argument 0 (i) <var_betail:Int> isa OTHER */
766 /* <var_betail:Int> isa OTHER */
767 var53 = 1; /* easy <var_betail:Int> isa OTHER*/
768 if (unlikely(!var53)) {
769 var_class_name56 = type_standard__Int.name;
770 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name56);
771 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
772 show_backtrace(1);
773 }
774 var57 = var44 - var_betail;
775 var51 = var57;
776 goto RET_LABEL52;
777 RET_LABEL52:(void)0;
778 }
779 }
780 {
781 var58 = ((val* (*)(val* self, long p0, long p1))(var_txt->class->vft[COLOR_standard__string__Text__substring]))(var_txt, var_behead, var51) /* substring on <var_txt:String>*/;
782 }
783 {
784 var59 = standard___standard__Text___unescape_nit(var58);
785 }
786 {
787 { /* Inline literal#AStringFormExpr#value= (self,var59) on <self:AStringFormExpr> */
788 self->attrs[COLOR_nit__literal__AStringFormExpr___value].val = var59; /* _value on <self:AStringFormExpr> */
789 RET_LABEL60:(void)0;
790 }
791 }
792 RET_LABEL:;
793 }