c_src: update
[nit.git] / c_src / annotation.sep.1.c
1 #include "annotation.sep.0.h"
2 /* method annotation#Prod#get_single_annotation for (self: Prod, String, ModelBuilder): nullable AAnnotation */
3 val* annotation__Prod__get_single_annotation(val* self, val* p0, val* p1) {
4 val* var /* : nullable AAnnotation */;
5 val* var_name /* var name: String */;
6 val* var_modelbuilder /* var modelbuilder: ModelBuilder */;
7 val* var1 /* : Array[AAnnotation] */;
8 val* var_res /* var res: Array[AAnnotation] */;
9 short int var2 /* : Bool */;
10 val* var3 /* : null */;
11 long var4 /* : Int */;
12 long var5 /* : Int */;
13 short int var6 /* : Bool */;
14 short int var8 /* : Bool */;
15 int cltype;
16 int idtype;
17 const char* var_class_name;
18 short int var9 /* : Bool */;
19 long var10 /* : Int */;
20 val* var11 /* : nullable Object */;
21 static val* varonce;
22 val* var12 /* : String */;
23 char* var13 /* : NativeString */;
24 long var14 /* : Int */;
25 val* var15 /* : FlatString */;
26 static val* varonce16;
27 val* var17 /* : String */;
28 char* var18 /* : NativeString */;
29 long var19 /* : Int */;
30 val* var20 /* : FlatString */;
31 long var21 /* : Int */;
32 val* var22 /* : nullable Object */;
33 val* var23 /* : Location */;
34 long var24 /* : Int */;
35 long var26 /* : Int */;
36 val* var27 /* : Array[Object] */;
37 long var28 /* : Int */;
38 val* var29 /* : NativeArray[Object] */;
39 val* var30 /* : Object */;
40 val* var31 /* : String */;
41 val* var32 /* : nullable Object */;
42 var_name = p0;
43 var_modelbuilder = p1;
44 {
45 var1 = annotation__Prod__get_annotations(self, var_name);
46 }
47 var_res = var1;
48 {
49 var2 = array__AbstractArrayRead__is_empty(var_res);
50 }
51 if (var2){
52 var3 = NULL;
53 var = var3;
54 goto RET_LABEL;
55 } else {
56 }
57 {
58 var4 = array__AbstractArrayRead__length(var_res);
59 }
60 var5 = 1;
61 {
62 { /* Inline kernel#Int#> (var4,var5) on <var4:Int> */
63 /* Covariant cast for argument 0 (i) <var5:Int> isa OTHER */
64 /* <var5:Int> isa OTHER */
65 var8 = 1; /* easy <var5:Int> isa OTHER*/
66 if (unlikely(!var8)) {
67 var_class_name = type_kernel__Int.name;
68 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
69 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 327);
70 show_backtrace(1);
71 }
72 var9 = var4 > var5;
73 var6 = var9;
74 goto RET_LABEL7;
75 RET_LABEL7:(void)0;
76 }
77 }
78 if (var6){
79 var10 = 1;
80 {
81 var11 = array__Array___91d_93d(var_res, var10);
82 }
83 if (varonce) {
84 var12 = varonce;
85 } else {
86 var13 = "Error: multiple annotation `";
87 var14 = 28;
88 var15 = string__NativeString__to_s_with_length(var13, var14);
89 var12 = var15;
90 varonce = var12;
91 }
92 if (varonce16) {
93 var17 = varonce16;
94 } else {
95 var18 = "`. A previous one is defined line ";
96 var19 = 34;
97 var20 = string__NativeString__to_s_with_length(var18, var19);
98 var17 = var20;
99 varonce16 = var17;
100 }
101 var21 = 0;
102 {
103 var22 = array__Array___91d_93d(var_res, var21);
104 }
105 {
106 var23 = parser_nodes__ANode__location(var22);
107 }
108 {
109 { /* Inline location#Location#line_start (var23) on <var23:Location> */
110 var26 = var23->attrs[COLOR_location__Location___line_start].l; /* _line_start on <var23:Location> */
111 var24 = var26;
112 RET_LABEL25:(void)0;
113 }
114 }
115 var27 = NEW_array__Array(&type_array__Arraykernel__Object);
116 { /* var27 = array_instance Array[Object] */
117 var28 = 4;
118 var29 = NEW_array__NativeArray(var28, &type_array__NativeArraykernel__Object);
119 ((struct instance_array__NativeArray*)var29)->values[0] = (val*) var12;
120 ((struct instance_array__NativeArray*)var29)->values[1] = (val*) var_name;
121 ((struct instance_array__NativeArray*)var29)->values[2] = (val*) var17;
122 var30 = BOX_kernel__Int(var24); /* autobox from Int to Object */
123 ((struct instance_array__NativeArray*)var29)->values[3] = (val*) var30;
124 {
125 ((void (*)(val*, val*, long))(var27->class->vft[COLOR_array__Array__with_native]))(var27, var29, var28) /* with_native on <var27:Array[Object]>*/;
126 }
127 }
128 {
129 var31 = ((val* (*)(val*))(var27->class->vft[COLOR_string__Object__to_s]))(var27) /* to_s on <var27:Array[Object]>*/;
130 }
131 {
132 modelbuilder__ModelBuilder__error(var_modelbuilder, var11, var31); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
133 }
134 } else {
135 }
136 {
137 var32 = abstract_collection__SequenceRead__first(var_res);
138 }
139 var = var32;
140 goto RET_LABEL;
141 RET_LABEL:;
142 return var;
143 }
144 /* method annotation#Prod#get_single_annotation for (self: Object, String, ModelBuilder): nullable AAnnotation */
145 val* VIRTUAL_annotation__Prod__get_single_annotation(val* self, val* p0, val* p1) {
146 val* var /* : nullable AAnnotation */;
147 val* var1 /* : nullable AAnnotation */;
148 var1 = annotation__Prod__get_single_annotation(self, p0, p1);
149 var = var1;
150 RET_LABEL:;
151 return var;
152 }
153 /* method annotation#Prod#get_annotations for (self: Prod, String): Array[AAnnotation] */
154 val* annotation__Prod__get_annotations(val* self, val* p0) {
155 val* var /* : Array[AAnnotation] */;
156 val* var_name /* var name: String */;
157 val* var1 /* : Array[AAnnotation] */;
158 val* var_res /* var res: Array[AAnnotation] */;
159 val* var2 /* : nullable AAnnotations */;
160 val* var_nas /* var nas: nullable AAnnotations */;
161 val* var3 /* : null */;
162 short int var4 /* : Bool */;
163 short int var5 /* : Bool */;
164 val* var_other /* var other: nullable Object */;
165 short int var7 /* : Bool */;
166 short int var9 /* : Bool */;
167 val* var10 /* : ANodes[AAnnotation] */;
168 val* var12 /* : ANodes[AAnnotation] */;
169 val* var13 /* : Iterator[ANode] */;
170 short int var14 /* : Bool */;
171 val* var15 /* : nullable Object */;
172 val* var_na /* var na: AAnnotation */;
173 val* var16 /* : String */;
174 short int var17 /* : Bool */;
175 short int var18 /* : Bool */;
176 val* var_other20 /* var other: nullable Object */;
177 short int var21 /* : Bool */;
178 short int var22 /* : Bool */;
179 short int var23 /* : Bool */;
180 var_name = p0;
181 var1 = NEW_array__Array(&type_array__Arrayparser_nodes__AAnnotation);
182 {
183 array__Array__init(var1); /* Direct call array#Array#init on <var1:Array[AAnnotation]>*/
184 }
185 var_res = var1;
186 {
187 var2 = parser_nodes__Prod__n_annotations(self);
188 }
189 var_nas = var2;
190 var3 = NULL;
191 if (var_nas == NULL) {
192 var4 = 1; /* is null */
193 } else {
194 var4 = 0; /* arg is null but recv is not */
195 }
196 if (0) {
197 { /* Inline kernel#Object#== (var_nas,var3) on <var_nas:nullable AAnnotations> */
198 var_other = var3;
199 {
200 { /* Inline kernel#Object#is_same_instance (var_nas,var_other) on <var_nas:nullable AAnnotations(AAnnotations)> */
201 var9 = var_nas == var_other;
202 var7 = var9;
203 goto RET_LABEL8;
204 RET_LABEL8:(void)0;
205 }
206 }
207 var5 = var7;
208 goto RET_LABEL6;
209 RET_LABEL6:(void)0;
210 }
211 var4 = var5;
212 }
213 if (var4){
214 var = var_res;
215 goto RET_LABEL;
216 } else {
217 }
218 {
219 { /* Inline parser_nodes#AAnnotations#n_items (var_nas) on <var_nas:nullable AAnnotations(AAnnotations)> */
220 var12 = var_nas->attrs[COLOR_parser_nodes__AAnnotations___n_items].val; /* _n_items on <var_nas:nullable AAnnotations(AAnnotations)> */
221 if (unlikely(var12 == NULL)) {
222 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_items");
223 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 2403);
224 show_backtrace(1);
225 }
226 var10 = var12;
227 RET_LABEL11:(void)0;
228 }
229 }
230 {
231 var13 = parser_nodes__ANodes__iterator(var10);
232 }
233 for(;;) {
234 {
235 var14 = ((short int (*)(val*))(var13->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var13) /* is_ok on <var13:Iterator[ANode]>*/;
236 }
237 if(!var14) break;
238 {
239 var15 = ((val* (*)(val*))(var13->class->vft[COLOR_abstract_collection__Iterator__item]))(var13) /* item on <var13:Iterator[ANode]>*/;
240 }
241 var_na = var15;
242 {
243 var16 = annotation__AAnnotation__name(var_na);
244 }
245 {
246 { /* Inline kernel#Object#!= (var16,var_name) on <var16:String> */
247 var_other20 = var_name;
248 {
249 var22 = ((short int (*)(val*, val*))(var16->class->vft[COLOR_kernel__Object___61d_61d]))(var16, var_other20) /* == on <var16:String>*/;
250 var21 = var22;
251 }
252 var23 = !var21;
253 var18 = var23;
254 goto RET_LABEL19;
255 RET_LABEL19:(void)0;
256 }
257 var17 = var18;
258 }
259 if (var17){
260 goto CONTINUE_label;
261 } else {
262 }
263 {
264 array__Array__add(var_res, var_na); /* Direct call array#Array#add on <var_res:Array[AAnnotation]>*/
265 }
266 CONTINUE_label: (void)0;
267 {
268 ((void (*)(val*))(var13->class->vft[COLOR_abstract_collection__Iterator__next]))(var13) /* next on <var13:Iterator[ANode]>*/;
269 }
270 }
271 BREAK_label: (void)0;
272 var = var_res;
273 goto RET_LABEL;
274 RET_LABEL:;
275 return var;
276 }
277 /* method annotation#Prod#get_annotations for (self: Object, String): Array[AAnnotation] */
278 val* VIRTUAL_annotation__Prod__get_annotations(val* self, val* p0) {
279 val* var /* : Array[AAnnotation] */;
280 val* var1 /* : Array[AAnnotation] */;
281 var1 = annotation__Prod__get_annotations(self, p0);
282 var = var1;
283 RET_LABEL:;
284 return var;
285 }
286 /* method annotation#AAnnotation#name for (self: AAnnotation): String */
287 val* annotation__AAnnotation__name(val* self) {
288 val* var /* : String */;
289 val* var1 /* : AAtid */;
290 val* var2 /* : Token */;
291 val* var3 /* : String */;
292 {
293 var1 = parser_nodes__AAnnotation__n_atid(self);
294 }
295 {
296 var2 = parser_nodes__AAtid__n_id(var1);
297 }
298 {
299 var3 = lexer_work__Token__text(var2);
300 }
301 var = var3;
302 goto RET_LABEL;
303 RET_LABEL:;
304 return var;
305 }
306 /* method annotation#AAnnotation#name for (self: Object): String */
307 val* VIRTUAL_annotation__AAnnotation__name(val* self) {
308 val* var /* : String */;
309 val* var1 /* : String */;
310 var1 = annotation__AAnnotation__name(self);
311 var = var1;
312 RET_LABEL:;
313 return var;
314 }
315 /* method annotation#AAnnotation#arg_as_id for (self: AAnnotation, ModelBuilder): nullable String */
316 val* annotation__AAnnotation__arg_as_id(val* self, val* p0) {
317 val* var /* : nullable String */;
318 val* var_modelbuilder /* var modelbuilder: ModelBuilder */;
319 val* var1 /* : ANodes[AAtArg] */;
320 val* var3 /* : ANodes[AAtArg] */;
321 val* var_args /* var args: ANodes[AAtArg] */;
322 long var4 /* : Int */;
323 long var5 /* : Int */;
324 short int var6 /* : Bool */;
325 short int var7 /* : Bool */;
326 short int var9 /* : Bool */;
327 val* var10 /* : nullable Object */;
328 val* var11 /* : nullable String */;
329 val* var_arg /* var arg: nullable String */;
330 val* var12 /* : null */;
331 short int var13 /* : Bool */;
332 short int var14 /* : Bool */;
333 val* var_other /* var other: nullable Object */;
334 short int var16 /* : Bool */;
335 short int var17 /* : Bool */;
336 short int var18 /* : Bool */;
337 static val* varonce;
338 val* var19 /* : String */;
339 char* var20 /* : NativeString */;
340 long var21 /* : Int */;
341 val* var22 /* : FlatString */;
342 val* var23 /* : String */;
343 static val* varonce24;
344 val* var25 /* : String */;
345 char* var26 /* : NativeString */;
346 long var27 /* : Int */;
347 val* var28 /* : FlatString */;
348 val* var29 /* : Array[Object] */;
349 long var30 /* : Int */;
350 val* var31 /* : NativeArray[Object] */;
351 val* var32 /* : String */;
352 val* var33 /* : null */;
353 var_modelbuilder = p0;
354 {
355 { /* Inline parser_nodes#AAnnotation#n_args (self) on <self:AAnnotation> */
356 var3 = self->attrs[COLOR_parser_nodes__AAnnotation___n_args].val; /* _n_args on <self:AAnnotation> */
357 if (unlikely(var3 == NULL)) {
358 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
359 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 2426);
360 show_backtrace(1);
361 }
362 var1 = var3;
363 RET_LABEL2:(void)0;
364 }
365 }
366 var_args = var1;
367 {
368 var4 = parser_nodes__ANodes__length(var_args);
369 }
370 var5 = 1;
371 {
372 { /* Inline kernel#Int#== (var4,var5) on <var4:Int> */
373 var9 = var4 == var5;
374 var7 = var9;
375 goto RET_LABEL8;
376 RET_LABEL8:(void)0;
377 }
378 var6 = var7;
379 }
380 if (var6){
381 {
382 var10 = abstract_collection__SequenceRead__first(var_args);
383 }
384 {
385 var11 = annotation__AAtArg__as_id(var10);
386 }
387 var_arg = var11;
388 var12 = NULL;
389 if (var_arg == NULL) {
390 var13 = 0; /* is null */
391 } else {
392 var13 = 1; /* arg is null and recv is not */
393 }
394 if (0) {
395 { /* Inline kernel#Object#!= (var_arg,var12) on <var_arg:nullable String> */
396 var_other = var12;
397 {
398 var17 = ((short int (*)(val*, val*))(var_arg->class->vft[COLOR_kernel__Object___61d_61d]))(var_arg, var_other) /* == on <var_arg:nullable String(String)>*/;
399 var16 = var17;
400 }
401 var18 = !var16;
402 var14 = var18;
403 goto RET_LABEL15;
404 RET_LABEL15:(void)0;
405 }
406 var13 = var14;
407 }
408 if (var13){
409 var = var_arg;
410 goto RET_LABEL;
411 } else {
412 }
413 } else {
414 }
415 if (varonce) {
416 var19 = varonce;
417 } else {
418 var20 = "Annotation error: \"";
419 var21 = 19;
420 var22 = string__NativeString__to_s_with_length(var20, var21);
421 var19 = var22;
422 varonce = var19;
423 }
424 {
425 var23 = annotation__AAnnotation__name(self);
426 }
427 if (varonce24) {
428 var25 = varonce24;
429 } else {
430 var26 = "\" expects a single identifier as argument.";
431 var27 = 42;
432 var28 = string__NativeString__to_s_with_length(var26, var27);
433 var25 = var28;
434 varonce24 = var25;
435 }
436 var29 = NEW_array__Array(&type_array__Arraykernel__Object);
437 { /* var29 = array_instance Array[Object] */
438 var30 = 3;
439 var31 = NEW_array__NativeArray(var30, &type_array__NativeArraykernel__Object);
440 ((struct instance_array__NativeArray*)var31)->values[0] = (val*) var19;
441 ((struct instance_array__NativeArray*)var31)->values[1] = (val*) var23;
442 ((struct instance_array__NativeArray*)var31)->values[2] = (val*) var25;
443 {
444 ((void (*)(val*, val*, long))(var29->class->vft[COLOR_array__Array__with_native]))(var29, var31, var30) /* with_native on <var29:Array[Object]>*/;
445 }
446 }
447 {
448 var32 = ((val* (*)(val*))(var29->class->vft[COLOR_string__Object__to_s]))(var29) /* to_s on <var29:Array[Object]>*/;
449 }
450 {
451 modelbuilder__ModelBuilder__error(var_modelbuilder, self, var32); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
452 }
453 var33 = NULL;
454 var = var33;
455 goto RET_LABEL;
456 RET_LABEL:;
457 return var;
458 }
459 /* method annotation#AAnnotation#arg_as_id for (self: Object, ModelBuilder): nullable String */
460 val* VIRTUAL_annotation__AAnnotation__arg_as_id(val* self, val* p0) {
461 val* var /* : nullable String */;
462 val* var1 /* : nullable String */;
463 var1 = annotation__AAnnotation__arg_as_id(self, p0);
464 var = var1;
465 RET_LABEL:;
466 return var;
467 }
468 /* method annotation#AAtArg#as_string for (self: AAtArg): nullable String */
469 val* annotation__AAtArg__as_string(val* self) {
470 val* var /* : nullable String */;
471 short int var1 /* : Bool */;
472 int cltype;
473 int idtype;
474 short int var2 /* : Bool */;
475 val* var3 /* : null */;
476 val* var4 /* : AExpr */;
477 val* var_nexpr /* var nexpr: AExpr */;
478 short int var5 /* : Bool */;
479 int cltype6;
480 int idtype7;
481 short int var8 /* : Bool */;
482 val* var9 /* : null */;
483 val* var10 /* : nullable String */;
484 val* var12 /* : nullable String */;
485 /* <self:AAtArg> isa AExprAtArg */
486 cltype = type_parser_nodes__AExprAtArg.color;
487 idtype = type_parser_nodes__AExprAtArg.id;
488 if(cltype >= self->type->table_size) {
489 var1 = 0;
490 } else {
491 var1 = self->type->type_table[cltype] == idtype;
492 }
493 var2 = !var1;
494 if (var2){
495 var3 = NULL;
496 var = var3;
497 goto RET_LABEL;
498 } else {
499 }
500 {
501 var4 = parser_nodes__AExprAtArg__n_expr(self);
502 }
503 var_nexpr = var4;
504 /* <var_nexpr:AExpr> isa AStringFormExpr */
505 cltype6 = type_parser_nodes__AStringFormExpr.color;
506 idtype7 = type_parser_nodes__AStringFormExpr.id;
507 if(cltype6 >= var_nexpr->type->table_size) {
508 var5 = 0;
509 } else {
510 var5 = var_nexpr->type->type_table[cltype6] == idtype7;
511 }
512 var8 = !var5;
513 if (var8){
514 var9 = NULL;
515 var = var9;
516 goto RET_LABEL;
517 } else {
518 }
519 {
520 { /* Inline literal#AStringFormExpr#value (var_nexpr) on <var_nexpr:AExpr(AStringFormExpr)> */
521 var12 = var_nexpr->attrs[COLOR_literal__AStringFormExpr___value].val; /* _value on <var_nexpr:AExpr(AStringFormExpr)> */
522 var10 = var12;
523 RET_LABEL11:(void)0;
524 }
525 }
526 if (unlikely(var10 == NULL)) {
527 PRINT_ERROR("Runtime error: %s", "Cast failed");
528 PRINT_ERROR(" (%s:%d)\n", "src/annotation.nit", 111);
529 show_backtrace(1);
530 }
531 var = var10;
532 goto RET_LABEL;
533 RET_LABEL:;
534 return var;
535 }
536 /* method annotation#AAtArg#as_string for (self: Object): nullable String */
537 val* VIRTUAL_annotation__AAtArg__as_string(val* self) {
538 val* var /* : nullable String */;
539 val* var1 /* : nullable String */;
540 var1 = annotation__AAtArg__as_string(self);
541 var = var1;
542 RET_LABEL:;
543 return var;
544 }
545 /* method annotation#AAtArg#as_id for (self: AAtArg): nullable String */
546 val* annotation__AAtArg__as_id(val* self) {
547 val* var /* : nullable String */;
548 short int var1 /* : Bool */;
549 int cltype;
550 int idtype;
551 short int var2 /* : Bool */;
552 val* var3 /* : null */;
553 val* var4 /* : AExpr */;
554 val* var_nexpr /* var nexpr: AExpr */;
555 short int var5 /* : Bool */;
556 int cltype6;
557 int idtype7;
558 short int var8 /* : Bool */;
559 val* var9 /* : null */;
560 val* var10 /* : AExpr */;
561 short int var11 /* : Bool */;
562 int cltype12;
563 int idtype13;
564 short int var14 /* : Bool */;
565 val* var15 /* : null */;
566 val* var16 /* : AExprs */;
567 val* var17 /* : ANodes[AExpr] */;
568 val* var19 /* : ANodes[AExpr] */;
569 short int var20 /* : Bool */;
570 short int var21 /* : Bool */;
571 val* var22 /* : null */;
572 val* var23 /* : TId */;
573 val* var24 /* : String */;
574 /* <self:AAtArg> isa AExprAtArg */
575 cltype = type_parser_nodes__AExprAtArg.color;
576 idtype = type_parser_nodes__AExprAtArg.id;
577 if(cltype >= self->type->table_size) {
578 var1 = 0;
579 } else {
580 var1 = self->type->type_table[cltype] == idtype;
581 }
582 var2 = !var1;
583 if (var2){
584 var3 = NULL;
585 var = var3;
586 goto RET_LABEL;
587 } else {
588 }
589 {
590 var4 = parser_nodes__AExprAtArg__n_expr(self);
591 }
592 var_nexpr = var4;
593 /* <var_nexpr:AExpr> isa ACallExpr */
594 cltype6 = type_parser_nodes__ACallExpr.color;
595 idtype7 = type_parser_nodes__ACallExpr.id;
596 if(cltype6 >= var_nexpr->type->table_size) {
597 var5 = 0;
598 } else {
599 var5 = var_nexpr->type->type_table[cltype6] == idtype7;
600 }
601 var8 = !var5;
602 if (var8){
603 var9 = NULL;
604 var = var9;
605 goto RET_LABEL;
606 } else {
607 }
608 {
609 var10 = parser_nodes__ASendExpr__n_expr(var_nexpr);
610 }
611 /* <var10:AExpr> isa AImplicitSelfExpr */
612 cltype12 = type_parser_nodes__AImplicitSelfExpr.color;
613 idtype13 = type_parser_nodes__AImplicitSelfExpr.id;
614 if(cltype12 >= var10->type->table_size) {
615 var11 = 0;
616 } else {
617 var11 = var10->type->type_table[cltype12] == idtype13;
618 }
619 var14 = !var11;
620 if (var14){
621 var15 = NULL;
622 var = var15;
623 goto RET_LABEL;
624 } else {
625 }
626 {
627 var16 = parser_nodes__ACallFormExpr__n_args(var_nexpr);
628 }
629 {
630 { /* Inline parser_nodes#AExprs#n_exprs (var16) on <var16:AExprs> */
631 var19 = var16->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <var16:AExprs> */
632 if (unlikely(var19 == NULL)) {
633 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
634 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 2274);
635 show_backtrace(1);
636 }
637 var17 = var19;
638 RET_LABEL18:(void)0;
639 }
640 }
641 {
642 var20 = parser_nodes__ANodes__is_empty(var17);
643 }
644 var21 = !var20;
645 if (var21){
646 var22 = NULL;
647 var = var22;
648 goto RET_LABEL;
649 } else {
650 }
651 {
652 var23 = parser_nodes__ACallFormExpr__n_id(var_nexpr);
653 }
654 {
655 var24 = lexer_work__Token__text(var23);
656 }
657 var = var24;
658 goto RET_LABEL;
659 RET_LABEL:;
660 return var;
661 }
662 /* method annotation#AAtArg#as_id for (self: Object): nullable String */
663 val* VIRTUAL_annotation__AAtArg__as_id(val* self) {
664 val* var /* : nullable String */;
665 val* var1 /* : nullable String */;
666 var1 = annotation__AAtArg__as_id(self);
667 var = var1;
668 RET_LABEL:;
669 return var;
670 }