1 #include "nitc__literal.sep.0.h"
2 /* method literal$LiteralPhase$process_nmodule for (self: LiteralPhase, AModule) */
3 void nitc__literal___nitc__literal__LiteralPhase___nitc__phase__Phase__process_nmodule(val
* self
, val
* p0
) {
4 val
* var_nmodule
/* var nmodule: AModule */;
5 val
* var
/* : ToolContext */;
6 val
* var2
/* : ToolContext */;
9 { /* Inline phase$Phase$toolcontext (self) on <self:LiteralPhase> */
10 var2
= self
->attrs
[COLOR_nitc__phase__Phase___toolcontext
].val
; /* _toolcontext on <self:LiteralPhase> */
11 if (unlikely(var2
== NULL
)) {
12 if(catchStack
.cursor
>= 0){
13 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
15 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
16 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase
, 210);
24 nitc__literal___AModule___do_literal(var_nmodule
, var
); /* Direct call literal$AModule$do_literal on <var_nmodule:AModule>*/
28 /* method literal$AModule$do_literal for (self: AModule, ToolContext) */
29 void nitc__literal___AModule___do_literal(val
* self
, val
* p0
) {
30 val
* var_toolcontext
/* var toolcontext: ToolContext */;
31 val
* var
/* : LiteralVisitor */;
32 val
* var_v
/* var v: LiteralVisitor */;
34 var
= NEW_nitc__literal__LiteralVisitor(&type_nitc__literal__LiteralVisitor
);
36 ((void(*)(val
* self
, val
* p0
))(var
->class->vft
[COLOR_nitc__literal__LiteralVisitor__toolcontext_61d
]))(var
, var_toolcontext
); /* toolcontext= on <var:LiteralVisitor>*/
39 ((void(*)(val
* self
))(var
->class->vft
[COLOR_core__kernel__Object__init
]))(var
); /* init on <var:LiteralVisitor>*/
43 nitc___nitc__Visitor___enter_visit(var_v
, self
); /* Direct call parser_nodes$Visitor$enter_visit on <var_v:LiteralVisitor>*/
47 /* method literal$LiteralVisitor$toolcontext for (self: LiteralVisitor): ToolContext */
48 val
* nitc__literal___nitc__literal__LiteralVisitor___toolcontext(val
* self
) {
49 val
* var
/* : ToolContext */;
50 val
* var1
/* : ToolContext */;
51 var1
= self
->attrs
[COLOR_nitc__literal__LiteralVisitor___toolcontext
].val
; /* _toolcontext on <self:LiteralVisitor> */
52 if (unlikely(var1
== NULL
)) {
53 if(catchStack
.cursor
>= 0){
54 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
56 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
57 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__literal
, 46);
64 /* method literal$LiteralVisitor$toolcontext= for (self: LiteralVisitor, ToolContext) */
65 void nitc__literal___nitc__literal__LiteralVisitor___toolcontext_61d(val
* self
, val
* p0
) {
66 self
->attrs
[COLOR_nitc__literal__LiteralVisitor___toolcontext
].val
= p0
; /* _toolcontext on <self:LiteralVisitor> */
69 /* method literal$LiteralVisitor$visit for (self: LiteralVisitor, ANode) */
70 void nitc__literal___nitc__literal__LiteralVisitor___nitc__parser_nodes__Visitor__visit(val
* self
, val
* p0
) {
71 val
* var_n
/* var n: ANode */;
74 ((void(*)(val
* self
, val
* p0
))(var_n
->class->vft
[COLOR_nitc__literal__ANode__accept_literal
]))(var_n
, self
); /* accept_literal on <var_n:ANode>*/
77 ((void(*)(val
* self
, val
* p0
))(var_n
->class->vft
[COLOR_nitc__parser_nodes__ANode__visit_all
]))(var_n
, self
); /* visit_all on <var_n:ANode>*/
81 /* method literal$LiteralVisitor$init for (self: LiteralVisitor) */
82 void nitc__literal___nitc__literal__LiteralVisitor___core__kernel__Object__init(val
* self
) {
84 ((void(*)(val
* self
))(self
->class->vft
[COLOR_nitc__literal___nitc__literal__LiteralVisitor___core__kernel__Object__init
]))(self
); /* init on <self:LiteralVisitor>*/
88 /* method literal$ANode$accept_literal for (self: ANode, LiteralVisitor) */
89 void nitc__literal___ANode___accept_literal(val
* self
, val
* p0
) {
90 val
* var_v
/* var v: LiteralVisitor */;
94 /* method literal$AExpr$as_string for (self: AExpr): nullable String */
95 val
* nitc__literal___AExpr___as_string(val
* self
) {
96 val
* var
/* : nullable String */;
97 short int var1
/* : Bool */;
100 short int var2
/* : Bool */;
101 val
* var3
/* : String */;
102 val
* var5
/* : String */;
103 /* <self:AExpr> isa AStringFormExpr */
104 cltype
= type_nitc__AStringFormExpr
.color
;
105 idtype
= type_nitc__AStringFormExpr
.id
;
106 if(cltype
>= self
->type
->table_size
) {
109 var1
= self
->type
->type_table
[cltype
] == idtype
;
118 { /* Inline literal$AStringFormExpr$value (self) on <self:AExpr(AStringFormExpr)> */
119 var5
= self
->attrs
[COLOR_nitc__literal__AStringFormExpr___value
].val
; /* _value on <self:AExpr(AStringFormExpr)> */
120 if (unlikely(var5
== NULL
)) {
121 if(catchStack
.cursor
>= 0){
122 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
124 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _value");
125 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__literal
, 201);
137 /* method literal$AIntegerExpr$value for (self: AIntegerExpr): nullable Numeric */
138 val
* nitc__literal___AIntegerExpr___value(val
* self
) {
139 val
* var
/* : nullable Numeric */;
140 val
* var1
/* : nullable Numeric */;
141 var1
= self
->attrs
[COLOR_nitc__literal__AIntegerExpr___value
].val
; /* _value on <self:AIntegerExpr> */
146 /* method literal$AIntegerExpr$value= for (self: AIntegerExpr, nullable Numeric) */
147 void nitc__literal___AIntegerExpr___value_61d(val
* self
, val
* p0
) {
148 self
->attrs
[COLOR_nitc__literal__AIntegerExpr___value
].val
= p0
; /* _value on <self:AIntegerExpr> */
151 /* method literal$AIntegerExpr$accept_literal for (self: AIntegerExpr, LiteralVisitor) */
152 void nitc__literal___AIntegerExpr___ANode__accept_literal(val
* self
, val
* p0
) {
153 val
* var_v
/* var v: LiteralVisitor */;
154 val
* var
/* : TInteger */;
155 val
* var2
/* : TInteger */;
156 val
* var3
/* : String */;
157 val
* var4
/* : nullable Numeric */;
158 val
* var6
/* : nullable Numeric */;
159 val
* var8
/* : nullable Numeric */;
160 short int var9
/* : Bool */;
161 short int var10
/* : Bool */;
162 val
* var11
/* : ToolContext */;
163 val
* var13
/* : ToolContext */;
164 val
* var14
/* : Location */;
165 val
* var15
/* : NativeArray[String] */;
167 static val
* varonce16
;
168 val
* var17
/* : String */;
169 char* var18
/* : CString */;
170 val
* var19
/* : String */;
171 val
* var20
/* : nullable Int */;
172 val
* var21
/* : nullable Int */;
173 val
* var22
/* : nullable Bool */;
174 val
* var23
/* : nullable Bool */;
175 static val
* varonce24
;
176 val
* var25
/* : String */;
177 char* var26
/* : CString */;
178 val
* var27
/* : String */;
179 val
* var28
/* : nullable Int */;
180 val
* var29
/* : nullable Int */;
181 val
* var30
/* : nullable Bool */;
182 val
* var31
/* : nullable Bool */;
183 val
* var32
/* : TInteger */;
184 val
* var34
/* : TInteger */;
185 val
* var35
/* : String */;
186 val
* var36
/* : String */;
187 val
* var37
/* : Message */;
190 { /* Inline parser_nodes$AIntegerExpr$n_integer (self) on <self:AIntegerExpr> */
191 var2
= self
->attrs
[COLOR_nitc__parser_nodes__AIntegerExpr___n_integer
].val
; /* _n_integer on <self:AIntegerExpr> */
192 if (unlikely(var2
== NULL
)) {
193 if(catchStack
.cursor
>= 0){
194 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
196 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_integer");
197 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2592);
205 var3
= nitc__lexer_work___Token___text(var
);
208 var4
= core__fixed_ints_text___Text___to_num(var3
);
211 { /* Inline literal$AIntegerExpr$value= (self,var4) on <self:AIntegerExpr> */
212 self
->attrs
[COLOR_nitc__literal__AIntegerExpr___value
].val
= var4
; /* _value on <self:AIntegerExpr> */
217 { /* Inline literal$AIntegerExpr$value (self) on <self:AIntegerExpr> */
218 var8
= self
->attrs
[COLOR_nitc__literal__AIntegerExpr___value
].val
; /* _value on <self:AIntegerExpr> */
224 var9
= 1; /* is null */
226 var9
= 0; /* arg is null but recv is not */
229 var10
= ((short int(*)(val
* self
, val
* p0
))((((long)var6
&3)?class_info
[((long)var6
&3)]:var6
->class)->vft
[COLOR_core__kernel__Object___61d_61d
]))(var6
, ((val
*)NULL
)); /* == on <var6:nullable Numeric>*/
234 { /* Inline literal$LiteralVisitor$toolcontext (var_v) on <var_v:LiteralVisitor> */
235 var13
= var_v
->attrs
[COLOR_nitc__literal__LiteralVisitor___toolcontext
].val
; /* _toolcontext on <var_v:LiteralVisitor> */
236 if (unlikely(var13
== NULL
)) {
237 if(catchStack
.cursor
>= 0){
238 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
240 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
241 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__literal
, 46);
249 var14
= nitc___nitc__ANode___hot_location(self
);
251 if (unlikely(varonce
==NULL
)) {
252 var15
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
253 if (likely(varonce16
!=NULL
)) {
256 var18
= "Error: invalid literal `";
257 var20
= (val
*)(24l<<2|1);
258 var21
= (val
*)(24l<<2|1);
259 var22
= (val
*)((long)(0)<<2|3);
260 var23
= (val
*)((long)(0)<<2|3);
261 var19
= core__flat___CString___to_s_unsafe(var18
, var20
, var21
, var22
, var23
);
265 ((struct instance_core__NativeArray
*)var15
)->values
[0]=var17
;
266 if (likely(varonce24
!=NULL
)) {
270 var28
= (val
*)(1l<<2|1);
271 var29
= (val
*)(1l<<2|1);
272 var30
= (val
*)((long)(0)<<2|3);
273 var31
= (val
*)((long)(0)<<2|3);
274 var27
= core__flat___CString___to_s_unsafe(var26
, var28
, var29
, var30
, var31
);
278 ((struct instance_core__NativeArray
*)var15
)->values
[2]=var25
;
284 { /* Inline parser_nodes$AIntegerExpr$n_integer (self) on <self:AIntegerExpr> */
285 var34
= self
->attrs
[COLOR_nitc__parser_nodes__AIntegerExpr___n_integer
].val
; /* _n_integer on <self:AIntegerExpr> */
286 if (unlikely(var34
== NULL
)) {
287 if(catchStack
.cursor
>= 0){
288 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
290 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_integer");
291 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2592);
299 var35
= nitc__lexer_work___Token___text(var32
);
301 ((struct instance_core__NativeArray
*)var15
)->values
[1]=var35
;
303 var36
= ((val
*(*)(val
* self
))(var15
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var15
); /* native_to_s on <var15:NativeArray[String]>*/
307 var37
= nitc___nitc__ToolContext___error(var11
, var14
, var36
);
313 /* method literal$AFloatExpr$value= for (self: AFloatExpr, nullable Float) */
314 void nitc__literal___AFloatExpr___value_61d(val
* self
, val
* p0
) {
315 self
->attrs
[COLOR_nitc__literal__AFloatExpr___value
].val
= p0
; /* _value on <self:AFloatExpr> */
318 /* method literal$AFloatExpr$accept_literal for (self: AFloatExpr, LiteralVisitor) */
319 void nitc__literal___AFloatExpr___ANode__accept_literal(val
* self
, val
* p0
) {
320 val
* var_v
/* var v: LiteralVisitor */;
321 val
* var
/* : TFloat */;
322 val
* var2
/* : TFloat */;
323 val
* var3
/* : String */;
324 double var4
/* : Float */;
325 val
* var6
/* : nullable Float */;
328 { /* Inline parser_nodes$AFloatExpr$n_float (self) on <self:AFloatExpr> */
329 var2
= self
->attrs
[COLOR_nitc__parser_nodes__AFloatExpr___n_float
].val
; /* _n_float on <self:AFloatExpr> */
330 if (unlikely(var2
== NULL
)) {
331 if(catchStack
.cursor
>= 0){
332 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
334 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_float");
335 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2600);
343 var3
= nitc__lexer_work___Token___text(var
);
346 var4
= core___core__Text___to_f(var3
);
349 { /* Inline literal$AFloatExpr$value= (self,var4) on <self:AFloatExpr> */
350 var6
= BOX_core__Float(var4
); /* autobox from Float to nullable Float */
351 self
->attrs
[COLOR_nitc__literal__AFloatExpr___value
].val
= var6
; /* _value on <self:AFloatExpr> */
357 /* method literal$AAugmentedLiteral$text for (self: AAugmentedLiteral): String */
358 val
* nitc___nitc__AAugmentedLiteral___text(val
* self
) {
359 val
* var
/* : String */;
360 const char* var_class_name
;
361 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
362 PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "text", var_class_name
);
363 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__literal
, 100);
368 /* method literal$AAugmentedLiteral$prefix for (self: AAugmentedLiteral): String */
369 val
* nitc___nitc__AAugmentedLiteral___prefix(val
* self
) {
370 val
* var
/* : String */;
371 short int var1
/* : Bool */;
372 val
* var2
/* : String */;
373 val
* var3
/* : String */;
374 val
* var5
/* : String */;
375 val
* var6
/* : String */;
376 uint32_t var7
/* : Char */;
377 long var8
/* : Int */;
378 val
* var9
/* : Text */;
379 var1
= self
->attrs
[COLOR_nitc__literal__AAugmentedLiteral___prefix
].val
!= NULL
; /* _prefix on <self:AAugmentedLiteral> */
381 var2
= self
->attrs
[COLOR_nitc__literal__AAugmentedLiteral___prefix
].val
; /* _prefix on <self:AAugmentedLiteral> */
382 if (unlikely(var2
== NULL
)) {
383 if(catchStack
.cursor
>= 0){
384 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
386 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _prefix");
387 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__literal
, 110);
393 var5
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_nitc__literal__AAugmentedLiteral__text
]))(self
); /* text on <self:AAugmentedLiteral>*/
396 var6
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_nitc__literal__AAugmentedLiteral__text
]))(self
); /* text on <self:AAugmentedLiteral>*/
399 var7
= ((uint32_t(*)(val
* self
))(self
->class->vft
[COLOR_nitc__literal__AAugmentedLiteral__delimiter_start
]))(self
); /* delimiter_start on <self:AAugmentedLiteral>*/
402 var8
= core___core__Text___index_of(var6
, var7
);
405 var9
= ((val
*(*)(val
* self
, long p0
, long p1
))(var5
->class->vft
[COLOR_core__abstract_text__Text__substring
]))(var5
, 0l, var8
); /* substring on <var5:String>*/
411 self
->attrs
[COLOR_nitc__literal__AAugmentedLiteral___prefix
].val
= var3
; /* _prefix on <self:AAugmentedLiteral> */
418 /* method literal$AAugmentedLiteral$suffix for (self: AAugmentedLiteral): String */
419 val
* nitc___nitc__AAugmentedLiteral___suffix(val
* self
) {
420 val
* var
/* : String */;
421 short int var1
/* : Bool */;
422 val
* var2
/* : String */;
423 val
* var3
/* : String */;
424 val
* var5
/* : String */;
425 val
* var6
/* : String */;
426 uint32_t var7
/* : Char */;
427 long var8
/* : Int */;
428 long var9
/* : Int */;
429 short int var11
/* : Bool */;
432 const char* var_class_name
;
433 long var12
/* : Int */;
434 val
* var13
/* : Text */;
435 var1
= self
->attrs
[COLOR_nitc__literal__AAugmentedLiteral___suffix
].val
!= NULL
; /* _suffix on <self:AAugmentedLiteral> */
437 var2
= self
->attrs
[COLOR_nitc__literal__AAugmentedLiteral___suffix
].val
; /* _suffix on <self:AAugmentedLiteral> */
438 if (unlikely(var2
== NULL
)) {
439 if(catchStack
.cursor
>= 0){
440 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
442 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _suffix");
443 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__literal
, 113);
449 var5
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_nitc__literal__AAugmentedLiteral__text
]))(self
); /* text on <self:AAugmentedLiteral>*/
452 var6
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_nitc__literal__AAugmentedLiteral__text
]))(self
); /* text on <self:AAugmentedLiteral>*/
455 var7
= ((uint32_t(*)(val
* self
))(self
->class->vft
[COLOR_nitc__literal__AAugmentedLiteral__delimiter_end
]))(self
); /* delimiter_end on <self:AAugmentedLiteral>*/
458 var8
= core___core__Text___last_index_of(var6
, var7
);
461 { /* Inline kernel$Int$+ (var8,1l) on <var8:Int> */
462 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
463 /* <1l:Int> isa OTHER */
464 var11
= 1; /* easy <1l:Int> isa OTHER*/
465 if (unlikely(!var11
)) {
466 var_class_name
= type_core__Int
.name
;
467 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
468 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
478 var13
= ((val
*(*)(val
* self
, long p0
))(var5
->class->vft
[COLOR_core__abstract_text__Text__substring_from
]))(var5
, var9
); /* substring_from on <var5:String>*/
484 self
->attrs
[COLOR_nitc__literal__AAugmentedLiteral___suffix
].val
= var3
; /* _suffix on <self:AAugmentedLiteral> */
491 /* method literal$AAugmentedLiteral$content for (self: AAugmentedLiteral): String */
492 val
* nitc___nitc__AAugmentedLiteral___content(val
* self
) {
493 val
* var
/* : String */;
494 short int var1
/* : Bool */;
495 val
* var2
/* : String */;
496 val
* var3
/* : String */;
497 val
* var5
/* : String */;
498 val
* var6
/* : String */;
499 long var7
/* : Int */;
500 val
* var8
/* : Text */;
501 val
* var_npr
/* var npr: String */;
502 long var9
/* : Int */;
503 val
* var10
/* : String */;
504 long var11
/* : Int */;
505 long var12
/* : Int */;
506 short int var14
/* : Bool */;
509 const char* var_class_name
;
510 long var15
/* : Int */;
511 val
* var16
/* : Text */;
512 var1
= self
->attrs
[COLOR_nitc__literal__AAugmentedLiteral___content
].val
!= NULL
; /* _content on <self:AAugmentedLiteral> */
514 var2
= self
->attrs
[COLOR_nitc__literal__AAugmentedLiteral___content
].val
; /* _content on <self:AAugmentedLiteral> */
515 if (unlikely(var2
== NULL
)) {
516 if(catchStack
.cursor
>= 0){
517 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
519 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _content");
520 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__literal
, 116);
526 var5
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_nitc__literal__AAugmentedLiteral__text
]))(self
); /* text on <self:AAugmentedLiteral>*/
529 var6
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_nitc__literal__AAugmentedLiteral__prefix
]))(self
); /* prefix on <self:AAugmentedLiteral>*/
532 var7
= ((long(*)(val
* self
))(var6
->class->vft
[COLOR_core__abstract_text__Text__length
]))(var6
); /* length on <var6:String>*/
535 var8
= ((val
*(*)(val
* self
, long p0
))(var5
->class->vft
[COLOR_core__abstract_text__Text__substring_from
]))(var5
, var7
); /* substring_from on <var5:String>*/
539 var9
= ((long(*)(val
* self
))(var_npr
->class->vft
[COLOR_core__abstract_text__Text__length
]))(var_npr
); /* length on <var_npr:String>*/
542 var10
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_nitc__literal__AAugmentedLiteral__suffix
]))(self
); /* suffix on <self:AAugmentedLiteral>*/
545 var11
= ((long(*)(val
* self
))(var10
->class->vft
[COLOR_core__abstract_text__Text__length
]))(var10
); /* length on <var10:String>*/
548 { /* Inline kernel$Int$- (var9,var11) on <var9:Int> */
549 /* Covariant cast for argument 0 (i) <var11:Int> isa OTHER */
550 /* <var11:Int> isa OTHER */
551 var14
= 1; /* easy <var11:Int> isa OTHER*/
552 if (unlikely(!var14
)) {
553 var_class_name
= type_core__Int
.name
;
554 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
555 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
558 var15
= var9
- var11
;
565 var16
= ((val
*(*)(val
* self
, long p0
, long p1
))(var_npr
->class->vft
[COLOR_core__abstract_text__Text__substring
]))(var_npr
, 0l, var12
); /* substring on <var_npr:String>*/
571 self
->attrs
[COLOR_nitc__literal__AAugmentedLiteral___content
].val
= var3
; /* _content on <self:AAugmentedLiteral> */
578 /* method literal$ACharExpr$value for (self: ACharExpr): nullable Char */
579 val
* nitc__literal___ACharExpr___value(val
* self
) {
580 val
* var
/* : nullable Char */;
581 val
* var1
/* : nullable Char */;
582 var1
= self
->attrs
[COLOR_nitc__literal__ACharExpr___value
].val
; /* _value on <self:ACharExpr> */
587 /* method literal$ACharExpr$value= for (self: ACharExpr, nullable Char) */
588 void nitc__literal___ACharExpr___value_61d(val
* self
, val
* p0
) {
589 self
->attrs
[COLOR_nitc__literal__ACharExpr___value
].val
= p0
; /* _value on <self:ACharExpr> */
592 /* method literal$ACharExpr$delimiter_start for (self: ACharExpr): Char */
593 uint32_t nitc__literal___ACharExpr___AAugmentedLiteral__delimiter_start(val
* self
) {
594 uint32_t var
/* : Char */;
600 /* method literal$ACharExpr$delimiter_end for (self: ACharExpr): Char */
601 uint32_t nitc__literal___ACharExpr___AAugmentedLiteral__delimiter_end(val
* self
) {
602 uint32_t var
/* : Char */;
608 /* method literal$ACharExpr$is_ascii for (self: ACharExpr): Bool */
609 short int nitc__literal___ACharExpr___is_ascii(val
* self
) {
610 short int var
/* : Bool */;
611 val
* var1
/* : String */;
613 val
* var2
/* : String */;
614 char* var3
/* : CString */;
615 val
* var4
/* : String */;
616 val
* var5
/* : nullable Int */;
617 val
* var6
/* : nullable Int */;
618 val
* var7
/* : nullable Bool */;
619 val
* var8
/* : nullable Bool */;
620 short int var9
/* : Bool */;
622 var1
= nitc___nitc__AAugmentedLiteral___prefix(self
);
624 if (likely(varonce
!=NULL
)) {
628 var5
= (val
*)(1l<<2|1);
629 var6
= (val
*)(1l<<2|1);
630 var7
= (val
*)((long)(0)<<2|3);
631 var8
= (val
*)((long)(0)<<2|3);
632 var4
= core__flat___CString___to_s_unsafe(var3
, var5
, var6
, var7
, var8
);
637 var9
= ((short int(*)(val
* self
, val
* p0
))(var1
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var1
, var2
); /* == on <var1:String>*/
644 /* method literal$ACharExpr$is_code_point for (self: ACharExpr): Bool */
645 short int nitc__literal___ACharExpr___is_code_point(val
* self
) {
646 short int var
/* : Bool */;
647 val
* var1
/* : String */;
649 val
* var2
/* : String */;
650 char* var3
/* : CString */;
651 val
* var4
/* : String */;
652 val
* var5
/* : nullable Int */;
653 val
* var6
/* : nullable Int */;
654 val
* var7
/* : nullable Bool */;
655 val
* var8
/* : nullable Bool */;
656 short int var9
/* : Bool */;
658 var1
= nitc___nitc__AAugmentedLiteral___prefix(self
);
660 if (likely(varonce
!=NULL
)) {
664 var5
= (val
*)(1l<<2|1);
665 var6
= (val
*)(1l<<2|1);
666 var7
= (val
*)((long)(0)<<2|3);
667 var8
= (val
*)((long)(0)<<2|3);
668 var4
= core__flat___CString___to_s_unsafe(var3
, var5
, var6
, var7
, var8
);
673 var9
= ((short int(*)(val
* self
, val
* p0
))(var1
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var1
, var2
); /* == on <var1:String>*/
680 /* method literal$ACharExpr$text for (self: ACharExpr): String */
681 val
* nitc__literal___ACharExpr___AAugmentedLiteral__text(val
* self
) {
682 val
* var
/* : String */;
683 val
* var1
/* : TChar */;
684 val
* var3
/* : TChar */;
685 val
* var4
/* : String */;
687 { /* Inline parser_nodes$ACharExpr$n_char (self) on <self:ACharExpr> */
688 var3
= self
->attrs
[COLOR_nitc__parser_nodes__ACharExpr___n_char
].val
; /* _n_char on <self:ACharExpr> */
689 if (unlikely(var3
== NULL
)) {
690 if(catchStack
.cursor
>= 0){
691 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
693 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_char");
694 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2608);
702 var4
= nitc__lexer_work___Token___text(var1
);
709 /* method literal$ACharExpr$is_valid_augmentation for (self: ACharExpr): Bool */
710 short int nitc__literal___ACharExpr___AAugmentedLiteral__is_valid_augmentation(val
* self
) {
711 short int var
/* : Bool */;
712 val
* var1
/* : String */;
714 val
* var2
/* : String */;
715 char* var3
/* : CString */;
716 val
* var4
/* : String */;
717 val
* var5
/* : nullable Int */;
718 val
* var6
/* : nullable Int */;
719 val
* var7
/* : nullable Bool */;
720 val
* var8
/* : nullable Bool */;
721 short int var9
/* : Bool */;
722 val
* var_other
/* var other: nullable Object */;
723 short int var11
/* : Bool */;
724 short int var12
/* : Bool */;
725 short int var13
/* : Bool */;
726 short int var14
/* : Bool */;
727 val
* var15
/* : String */;
728 static val
* varonce16
;
729 val
* var17
/* : String */;
730 char* var18
/* : CString */;
731 val
* var19
/* : String */;
732 val
* var20
/* : nullable Int */;
733 val
* var21
/* : nullable Int */;
734 val
* var22
/* : nullable Bool */;
735 val
* var23
/* : nullable Bool */;
736 short int var24
/* : Bool */;
737 short int var26
/* : Bool */;
738 short int var27
/* : Bool */;
740 var1
= nitc___nitc__AAugmentedLiteral___suffix(self
);
742 if (likely(varonce
!=NULL
)) {
746 var5
= (val
*)(0l<<2|1);
747 var6
= (val
*)(0l<<2|1);
748 var7
= (val
*)((long)(0)<<2|3);
749 var8
= (val
*)((long)(0)<<2|3);
750 var4
= core__flat___CString___to_s_unsafe(var3
, var5
, var6
, var7
, var8
);
755 { /* Inline kernel$Object$!= (var1,var2) on <var1:String> */
758 var11
= ((short int(*)(val
* self
, val
* p0
))(var1
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var1
, var_other
); /* == on <var1:String>*/
772 var13
= nitc__literal___ACharExpr___is_ascii(self
);
780 var14
= nitc__literal___ACharExpr___is_code_point(self
);
788 var15
= nitc___nitc__AAugmentedLiteral___prefix(self
);
790 if (likely(varonce16
!=NULL
)) {
794 var20
= (val
*)(0l<<2|1);
795 var21
= (val
*)(0l<<2|1);
796 var22
= (val
*)((long)(0)<<2|3);
797 var23
= (val
*)((long)(0)<<2|3);
798 var19
= core__flat___CString___to_s_unsafe(var18
, var20
, var21
, var22
, var23
);
803 { /* Inline kernel$Object$!= (var15,var17) on <var15:String> */
806 var26
= ((short int(*)(val
* self
, val
* p0
))(var15
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var15
, var_other
); /* == on <var15:String>*/
824 /* method literal$ACharExpr$accept_literal for (self: ACharExpr, LiteralVisitor) */
825 void nitc__literal___ACharExpr___ANode__accept_literal(val
* self
, val
* p0
) {
826 val
* var_v
/* var v: LiteralVisitor */;
827 short int var
/* : Bool */;
828 short int var1
/* : Bool */;
829 val
* var2
/* : ToolContext */;
830 val
* var4
/* : ToolContext */;
831 val
* var5
/* : Location */;
832 val
* var6
/* : NativeArray[String] */;
834 static val
* varonce7
;
835 val
* var8
/* : String */;
836 char* var9
/* : CString */;
837 val
* var10
/* : String */;
838 val
* var11
/* : nullable Int */;
839 val
* var12
/* : nullable Int */;
840 val
* var13
/* : nullable Bool */;
841 val
* var14
/* : nullable Bool */;
842 static val
* varonce15
;
843 val
* var16
/* : String */;
844 char* var17
/* : CString */;
845 val
* var18
/* : String */;
846 val
* var19
/* : nullable Int */;
847 val
* var20
/* : nullable Int */;
848 val
* var21
/* : nullable Bool */;
849 val
* var22
/* : nullable Bool */;
850 val
* var23
/* : String */;
851 val
* var24
/* : String */;
852 val
* var25
/* : String */;
853 val
* var26
/* : Message */;
854 val
* var27
/* : String */;
855 val
* var28
/* : String */;
856 val
* var_txt
/* var txt: String */;
857 long var29
/* : Int */;
858 short int var30
/* : Bool */;
859 short int var32
/* : Bool */;
860 short int var33
/* : Bool */;
861 val
* var34
/* : ToolContext */;
862 val
* var36
/* : ToolContext */;
863 val
* var37
/* : Location */;
864 val
* var39
/* : NativeArray[String] */;
865 static val
* varonce38
;
866 static val
* varonce40
;
867 val
* var41
/* : String */;
868 char* var42
/* : CString */;
869 val
* var43
/* : String */;
870 val
* var44
/* : nullable Int */;
871 val
* var45
/* : nullable Int */;
872 val
* var46
/* : nullable Bool */;
873 val
* var47
/* : nullable Bool */;
874 static val
* varonce48
;
875 val
* var49
/* : String */;
876 char* var50
/* : CString */;
877 val
* var51
/* : String */;
878 val
* var52
/* : nullable Int */;
879 val
* var53
/* : nullable Int */;
880 val
* var54
/* : nullable Bool */;
881 val
* var55
/* : nullable Bool */;
882 val
* var56
/* : String */;
883 val
* var57
/* : Message */;
884 val
* var58
/* : SequenceRead[Char] */;
885 val
* var59
/* : nullable Object */;
886 short int var61
/* : Bool */;
887 short int var62
/* : Bool */;
888 short int var_
/* var : Bool */;
889 val
* var63
/* : SequenceRead[Char] */;
890 val
* var64
/* : nullable Object */;
891 long var65
/* : Int */;
892 uint32_t var67
/* : Char */;
893 long var68
/* : Int */;
894 short int var69
/* : Bool */;
895 short int var71
/* : Bool */;
898 const char* var_class_name
;
899 short int var72
/* : Bool */;
900 val
* var73
/* : ToolContext */;
901 val
* var75
/* : ToolContext */;
902 val
* var76
/* : Location */;
903 static val
* varonce77
;
904 val
* var78
/* : String */;
905 char* var79
/* : CString */;
906 val
* var80
/* : String */;
907 val
* var81
/* : nullable Int */;
908 val
* var82
/* : nullable Int */;
909 val
* var83
/* : nullable Bool */;
910 val
* var84
/* : nullable Bool */;
911 val
* var85
/* : Message */;
914 var
= nitc__literal___ACharExpr___AAugmentedLiteral__is_valid_augmentation(self
);
919 { /* Inline literal$LiteralVisitor$toolcontext (var_v) on <var_v:LiteralVisitor> */
920 var4
= var_v
->attrs
[COLOR_nitc__literal__LiteralVisitor___toolcontext
].val
; /* _toolcontext on <var_v:LiteralVisitor> */
921 if (unlikely(var4
== NULL
)) {
922 if(catchStack
.cursor
>= 0){
923 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
925 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
926 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__literal
, 46);
934 var5
= nitc___nitc__ANode___hot_location(self
);
936 if (unlikely(varonce
==NULL
)) {
937 var6
= NEW_core__NativeArray((int)4l, &type_core__NativeArray__core__String
);
938 if (likely(varonce7
!=NULL
)) {
941 var9
= "Syntax Error: invalid prefix/suffix combination ";
942 var11
= (val
*)(48l<<2|1);
943 var12
= (val
*)(48l<<2|1);
944 var13
= (val
*)((long)(0)<<2|3);
945 var14
= (val
*)((long)(0)<<2|3);
946 var10
= core__flat___CString___to_s_unsafe(var9
, var11
, var12
, var13
, var14
);
950 ((struct instance_core__NativeArray
*)var6
)->values
[0]=var8
;
951 if (likely(varonce15
!=NULL
)) {
955 var19
= (val
*)(1l<<2|1);
956 var20
= (val
*)(1l<<2|1);
957 var21
= (val
*)((long)(0)<<2|3);
958 var22
= (val
*)((long)(0)<<2|3);
959 var18
= core__flat___CString___to_s_unsafe(var17
, var19
, var20
, var21
, var22
);
963 ((struct instance_core__NativeArray
*)var6
)->values
[2]=var16
;
969 var23
= nitc___nitc__AAugmentedLiteral___prefix(self
);
971 ((struct instance_core__NativeArray
*)var6
)->values
[1]=var23
;
973 var24
= nitc___nitc__AAugmentedLiteral___suffix(self
);
975 ((struct instance_core__NativeArray
*)var6
)->values
[3]=var24
;
977 var25
= ((val
*(*)(val
* self
))(var6
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var6
); /* native_to_s on <var6:NativeArray[String]>*/
981 var26
= nitc___nitc__ToolContext___error(var2
, var5
, var25
);
987 var27
= nitc___nitc__AAugmentedLiteral___content(self
);
990 var28
= core___core__Text___unescape_nit(var27
);
994 var29
= ((long(*)(val
* self
))(var_txt
->class->vft
[COLOR_core__abstract_text__Text__length
]))(var_txt
); /* length on <var_txt:String>*/
997 { /* Inline kernel$Int$!= (var29,3l) on <var29:Int> */
1002 RET_LABEL31
:(void)0;
1007 { /* Inline literal$LiteralVisitor$toolcontext (var_v) on <var_v:LiteralVisitor> */
1008 var36
= var_v
->attrs
[COLOR_nitc__literal__LiteralVisitor___toolcontext
].val
; /* _toolcontext on <var_v:LiteralVisitor> */
1009 if (unlikely(var36
== NULL
)) {
1010 if(catchStack
.cursor
>= 0){
1011 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1013 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1014 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__literal
, 46);
1018 RET_LABEL35
:(void)0;
1022 var37
= nitc___nitc__ANode___hot_location(self
);
1024 if (unlikely(varonce38
==NULL
)) {
1025 var39
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
1026 if (likely(varonce40
!=NULL
)) {
1029 var42
= "Syntax Error: invalid character literal `";
1030 var44
= (val
*)(41l<<2|1);
1031 var45
= (val
*)(41l<<2|1);
1032 var46
= (val
*)((long)(0)<<2|3);
1033 var47
= (val
*)((long)(0)<<2|3);
1034 var43
= core__flat___CString___to_s_unsafe(var42
, var44
, var45
, var46
, var47
);
1038 ((struct instance_core__NativeArray
*)var39
)->values
[0]=var41
;
1039 if (likely(varonce48
!=NULL
)) {
1043 var52
= (val
*)(2l<<2|1);
1044 var53
= (val
*)(2l<<2|1);
1045 var54
= (val
*)((long)(0)<<2|3);
1046 var55
= (val
*)((long)(0)<<2|3);
1047 var51
= core__flat___CString___to_s_unsafe(var50
, var52
, var53
, var54
, var55
);
1051 ((struct instance_core__NativeArray
*)var39
)->values
[2]=var49
;
1056 ((struct instance_core__NativeArray
*)var39
)->values
[1]=var_txt
;
1058 var56
= ((val
*(*)(val
* self
))(var39
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var39
); /* native_to_s on <var39:NativeArray[String]>*/
1062 var57
= nitc___nitc__ToolContext___error(var34
, var37
, var56
);
1068 var58
= ((val
*(*)(val
* self
))(var_txt
->class->vft
[COLOR_core__abstract_text__Text__chars
]))(var_txt
); /* chars on <var_txt:String>*/
1071 var59
= ((val
*(*)(val
* self
, long p0
))((((long)var58
&3)?class_info
[((long)var58
&3)]:var58
->class)->vft
[COLOR_core__abstract_collection__SequenceRead___91d_93d
]))(var58
, 1l); /* [] on <var58:SequenceRead[Char]>*/
1074 { /* Inline literal$ACharExpr$value= (self,var59) on <self:ACharExpr> */
1075 self
->attrs
[COLOR_nitc__literal__ACharExpr___value
].val
= var59
; /* _value on <self:ACharExpr> */
1076 RET_LABEL60
:(void)0;
1080 var62
= nitc__literal___ACharExpr___is_ascii(self
);
1085 var63
= ((val
*(*)(val
* self
))(var_txt
->class->vft
[COLOR_core__abstract_text__Text__chars
]))(var_txt
); /* chars on <var_txt:String>*/
1088 var64
= ((val
*(*)(val
* self
, long p0
))((((long)var63
&3)?class_info
[((long)var63
&3)]:var63
->class)->vft
[COLOR_core__abstract_collection__SequenceRead___91d_93d
]))(var63
, 1l); /* [] on <var63:SequenceRead[Char]>*/
1091 { /* Inline kernel$Char$code_point (var64) on <var64:nullable Object(Char)> */
1092 var67
= (uint32_t)((long)(var64
)>>2);
1093 var68
= (long)var67
;
1096 RET_LABEL66
:(void)0;
1100 { /* Inline kernel$Int$> (var65,127l) on <var65:Int> */
1101 /* Covariant cast for argument 0 (i) <127l:Int> isa OTHER */
1102 /* <127l:Int> isa OTHER */
1103 var71
= 1; /* easy <127l:Int> isa OTHER*/
1104 if (unlikely(!var71
)) {
1105 var_class_name
= type_core__Int
.name
;
1106 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1107 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 727);
1110 var72
= var65
> 127l;
1113 RET_LABEL70
:(void)0;
1122 { /* Inline literal$LiteralVisitor$toolcontext (var_v) on <var_v:LiteralVisitor> */
1123 var75
= var_v
->attrs
[COLOR_nitc__literal__LiteralVisitor___toolcontext
].val
; /* _toolcontext on <var_v:LiteralVisitor> */
1124 if (unlikely(var75
== NULL
)) {
1125 if(catchStack
.cursor
>= 0){
1126 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1128 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1129 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__literal
, 46);
1133 RET_LABEL74
:(void)0;
1137 var76
= nitc___nitc__ANode___hot_location(self
);
1139 if (likely(varonce77
!=NULL
)) {
1142 var79
= "Syntax Error: usage of byte prefix on multibyte character.";
1143 var81
= (val
*)(58l<<2|1);
1144 var82
= (val
*)(58l<<2|1);
1145 var83
= (val
*)((long)(0)<<2|3);
1146 var84
= (val
*)((long)(0)<<2|3);
1147 var80
= core__flat___CString___to_s_unsafe(var79
, var81
, var82
, var83
, var84
);
1152 var85
= nitc___nitc__ToolContext___error(var73
, var76
, var78
);
1158 /* method literal$AugmentedStringFormExpr$delimiter_start for (self: AugmentedStringFormExpr): Char */
1159 uint32_t nitc___nitc__AugmentedStringFormExpr___AAugmentedLiteral__delimiter_start(val
* self
) {
1160 uint32_t var
/* : Char */;
1161 uint32_t var1
/* : Char */;
1162 var1
= self
->attrs
[COLOR_nitc__literal__AugmentedStringFormExpr___delimiter_start
].c
; /* _delimiter_start on <self:AugmentedStringFormExpr> */
1167 /* method literal$AugmentedStringFormExpr$delimiter_start= for (self: AugmentedStringFormExpr, Char) */
1168 void nitc___nitc__AugmentedStringFormExpr___delimiter_start_61d(val
* self
, uint32_t p0
) {
1169 self
->attrs
[COLOR_nitc__literal__AugmentedStringFormExpr___delimiter_start
].c
= p0
; /* _delimiter_start on <self:AugmentedStringFormExpr> */
1172 /* method literal$AugmentedStringFormExpr$delimiter_end for (self: AugmentedStringFormExpr): Char */
1173 uint32_t nitc___nitc__AugmentedStringFormExpr___AAugmentedLiteral__delimiter_end(val
* self
) {
1174 uint32_t var
/* : Char */;
1175 uint32_t var1
/* : Char */;
1176 var1
= self
->attrs
[COLOR_nitc__literal__AugmentedStringFormExpr___delimiter_end
].c
; /* _delimiter_end on <self:AugmentedStringFormExpr> */
1181 /* method literal$AugmentedStringFormExpr$delimiter_end= for (self: AugmentedStringFormExpr, Char) */
1182 void nitc___nitc__AugmentedStringFormExpr___delimiter_end_61d(val
* self
, uint32_t p0
) {
1183 self
->attrs
[COLOR_nitc__literal__AugmentedStringFormExpr___delimiter_end
].c
= p0
; /* _delimiter_end on <self:AugmentedStringFormExpr> */
1186 /* method literal$AugmentedStringFormExpr$is_string for (self: AugmentedStringFormExpr): Bool */
1187 short int nitc___nitc__AugmentedStringFormExpr___is_string(val
* self
) {
1188 short int var
/* : Bool */;
1189 short int var1
/* : Bool */;
1190 val
* var2
/* : String */;
1191 static val
* varonce
;
1192 val
* var3
/* : String */;
1193 char* var4
/* : CString */;
1194 val
* var5
/* : String */;
1195 val
* var6
/* : nullable Int */;
1196 val
* var7
/* : nullable Int */;
1197 val
* var8
/* : nullable Bool */;
1198 val
* var9
/* : nullable Bool */;
1199 short int var10
/* : Bool */;
1200 short int var_
/* var : Bool */;
1201 val
* var11
/* : String */;
1202 static val
* varonce12
;
1203 val
* var13
/* : String */;
1204 char* var14
/* : CString */;
1205 val
* var15
/* : String */;
1206 val
* var16
/* : nullable Int */;
1207 val
* var17
/* : nullable Int */;
1208 val
* var18
/* : nullable Bool */;
1209 val
* var19
/* : nullable Bool */;
1210 short int var20
/* : Bool */;
1212 var2
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_nitc__literal__AAugmentedLiteral__prefix
]))(self
); /* prefix on <self:AugmentedStringFormExpr>*/
1214 if (likely(varonce
!=NULL
)) {
1218 var6
= (val
*)(0l<<2|1);
1219 var7
= (val
*)(0l<<2|1);
1220 var8
= (val
*)((long)(0)<<2|3);
1221 var9
= (val
*)((long)(0)<<2|3);
1222 var5
= core__flat___CString___to_s_unsafe(var4
, var6
, var7
, var8
, var9
);
1227 var10
= ((short int(*)(val
* self
, val
* p0
))(var2
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var2
, var3
); /* == on <var2:String>*/
1234 var11
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_nitc__literal__AAugmentedLiteral__prefix
]))(self
); /* prefix on <self:AugmentedStringFormExpr>*/
1236 if (likely(varonce12
!=NULL
)) {
1240 var16
= (val
*)(3l<<2|1);
1241 var17
= (val
*)(3l<<2|1);
1242 var18
= (val
*)((long)(0)<<2|3);
1243 var19
= (val
*)((long)(0)<<2|3);
1244 var15
= core__flat___CString___to_s_unsafe(var14
, var16
, var17
, var18
, var19
);
1249 var20
= ((short int(*)(val
* self
, val
* p0
))(var11
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var11
, var13
); /* == on <var11:String>*/
1258 /* method literal$AugmentedStringFormExpr$is_re for (self: AugmentedStringFormExpr): Bool */
1259 short int nitc___nitc__AugmentedStringFormExpr___is_re(val
* self
) {
1260 short int var
/* : Bool */;
1261 val
* var1
/* : String */;
1262 static val
* varonce
;
1263 val
* var2
/* : String */;
1264 char* var3
/* : CString */;
1265 val
* var4
/* : String */;
1266 val
* var5
/* : nullable Int */;
1267 val
* var6
/* : nullable Int */;
1268 val
* var7
/* : nullable Bool */;
1269 val
* var8
/* : nullable Bool */;
1270 short int var9
/* : Bool */;
1272 var1
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_nitc__literal__AAugmentedLiteral__prefix
]))(self
); /* prefix on <self:AugmentedStringFormExpr>*/
1274 if (likely(varonce
!=NULL
)) {
1278 var5
= (val
*)(2l<<2|1);
1279 var6
= (val
*)(2l<<2|1);
1280 var7
= (val
*)((long)(0)<<2|3);
1281 var8
= (val
*)((long)(0)<<2|3);
1282 var4
= core__flat___CString___to_s_unsafe(var3
, var5
, var6
, var7
, var8
);
1287 var9
= ((short int(*)(val
* self
, val
* p0
))(var1
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var1
, var2
); /* == on <var1:String>*/
1294 /* method literal$AugmentedStringFormExpr$is_bytestring for (self: AugmentedStringFormExpr): Bool */
1295 short int nitc___nitc__AugmentedStringFormExpr___is_bytestring(val
* self
) {
1296 short int var
/* : Bool */;
1297 val
* var1
/* : String */;
1298 static val
* varonce
;
1299 val
* var2
/* : String */;
1300 char* var3
/* : CString */;
1301 val
* var4
/* : String */;
1302 val
* var5
/* : nullable Int */;
1303 val
* var6
/* : nullable Int */;
1304 val
* var7
/* : nullable Bool */;
1305 val
* var8
/* : nullable Bool */;
1306 short int var9
/* : Bool */;
1308 var1
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_nitc__literal__AAugmentedLiteral__prefix
]))(self
); /* prefix on <self:AugmentedStringFormExpr>*/
1310 if (likely(varonce
!=NULL
)) {
1314 var5
= (val
*)(1l<<2|1);
1315 var6
= (val
*)(1l<<2|1);
1316 var7
= (val
*)((long)(0)<<2|3);
1317 var8
= (val
*)((long)(0)<<2|3);
1318 var4
= core__flat___CString___to_s_unsafe(var3
, var5
, var6
, var7
, var8
);
1323 var9
= ((short int(*)(val
* self
, val
* p0
))(var1
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var1
, var2
); /* == on <var1:String>*/
1330 /* method literal$AugmentedStringFormExpr$is_valid_augmentation for (self: AugmentedStringFormExpr): Bool */
1331 short int nitc___nitc__AugmentedStringFormExpr___AAugmentedLiteral__is_valid_augmentation(val
* self
) {
1332 short int var
/* : Bool */;
1333 short int var1
/* : Bool */;
1334 short int var2
/* : Bool */;
1335 short int var_
/* var : Bool */;
1336 val
* var3
/* : String */;
1337 static val
* varonce
;
1338 val
* var4
/* : String */;
1339 char* var5
/* : CString */;
1340 val
* var6
/* : String */;
1341 val
* var7
/* : nullable Int */;
1342 val
* var8
/* : nullable Int */;
1343 val
* var9
/* : nullable Bool */;
1344 val
* var10
/* : nullable Bool */;
1345 short int var11
/* : Bool */;
1346 short int var12
/* : Bool */;
1347 short int var13
/* : Bool */;
1348 short int var_14
/* var : Bool */;
1349 val
* var15
/* : String */;
1350 static val
* varonce16
;
1351 val
* var17
/* : String */;
1352 char* var18
/* : CString */;
1353 val
* var19
/* : String */;
1354 val
* var20
/* : nullable Int */;
1355 val
* var21
/* : nullable Int */;
1356 val
* var22
/* : nullable Bool */;
1357 val
* var23
/* : nullable Bool */;
1358 short int var24
/* : Bool */;
1359 short int var25
/* : Bool */;
1360 val
* var26
/* : String */;
1361 val
* var_suf
/* var suf: String */;
1362 val
* var27
/* : SequenceRead[Char] */;
1363 val
* var_28
/* var : SequenceRead[Char] */;
1364 val
* var29
/* : Iterator[nullable Object] */;
1365 val
* var_30
/* var : IndexedIterator[Char] */;
1366 short int var31
/* : Bool */;
1367 val
* var32
/* : nullable Object */;
1368 uint32_t var33
/* : Char */;
1369 uint32_t var_i
/* var i: Char */;
1370 short int var34
/* : Bool */;
1371 short int var36
/* : Bool */;
1372 short int var38
/* : Bool */;
1373 short int var40
/* : Bool */;
1374 short int var41
/* : Bool */;
1375 short int var43
/* : Bool */;
1376 short int var44
/* : Bool */;
1377 val
* var45
/* : String */;
1378 static val
* varonce46
;
1379 val
* var47
/* : String */;
1380 char* var48
/* : CString */;
1381 val
* var49
/* : String */;
1382 val
* var50
/* : nullable Int */;
1383 val
* var51
/* : nullable Int */;
1384 val
* var52
/* : nullable Bool */;
1385 val
* var53
/* : nullable Bool */;
1386 short int var54
/* : Bool */;
1387 val
* var_other
/* var other: nullable Object */;
1388 short int var56
/* : Bool */;
1389 short int var57
/* : Bool */;
1390 short int var_58
/* var : Bool */;
1391 val
* var59
/* : String */;
1392 static val
* varonce60
;
1393 val
* var61
/* : String */;
1394 char* var62
/* : CString */;
1395 val
* var63
/* : String */;
1396 val
* var64
/* : nullable Int */;
1397 val
* var65
/* : nullable Int */;
1398 val
* var66
/* : nullable Bool */;
1399 val
* var67
/* : nullable Bool */;
1400 short int var68
/* : Bool */;
1401 short int var70
/* : Bool */;
1402 short int var71
/* : Bool */;
1404 var2
= nitc___nitc__AugmentedStringFormExpr___is_string(self
);
1409 var3
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_nitc__literal__AAugmentedLiteral__suffix
]))(self
); /* suffix on <self:AugmentedStringFormExpr>*/
1411 if (likely(varonce
!=NULL
)) {
1415 var7
= (val
*)(0l<<2|1);
1416 var8
= (val
*)(0l<<2|1);
1417 var9
= (val
*)((long)(0)<<2|3);
1418 var10
= (val
*)((long)(0)<<2|3);
1419 var6
= core__flat___CString___to_s_unsafe(var5
, var7
, var8
, var9
, var10
);
1424 var11
= ((short int(*)(val
* self
, val
* p0
))(var3
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var3
, var4
); /* == on <var3:String>*/
1436 var13
= nitc___nitc__AugmentedStringFormExpr___is_bytestring(self
);
1441 var15
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_nitc__literal__AAugmentedLiteral__suffix
]))(self
); /* suffix on <self:AugmentedStringFormExpr>*/
1443 if (likely(varonce16
!=NULL
)) {
1447 var20
= (val
*)(0l<<2|1);
1448 var21
= (val
*)(0l<<2|1);
1449 var22
= (val
*)((long)(0)<<2|3);
1450 var23
= (val
*)((long)(0)<<2|3);
1451 var19
= core__flat___CString___to_s_unsafe(var18
, var20
, var21
, var22
, var23
);
1456 var24
= ((short int(*)(val
* self
, val
* p0
))(var15
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var15
, var17
); /* == on <var15:String>*/
1468 var25
= nitc___nitc__AugmentedStringFormExpr___is_re(self
);
1472 var26
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_nitc__literal__AAugmentedLiteral__suffix
]))(self
); /* suffix on <self:AugmentedStringFormExpr>*/
1476 var27
= ((val
*(*)(val
* self
))(var_suf
->class->vft
[COLOR_core__abstract_text__Text__chars
]))(var_suf
); /* chars on <var_suf:String>*/
1480 var29
= ((val
*(*)(val
* self
))((((long)var_28
&3)?class_info
[((long)var_28
&3)]:var_28
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_28
); /* iterator on <var_28:SequenceRead[Char]>*/
1485 var31
= ((short int(*)(val
* self
))((((long)var_30
&3)?class_info
[((long)var_30
&3)]:var_30
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_30
); /* is_ok on <var_30:IndexedIterator[Char]>*/
1492 var32
= ((val
*(*)(val
* self
))((((long)var_30
&3)?class_info
[((long)var_30
&3)]:var_30
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_30
); /* item on <var_30:IndexedIterator[Char]>*/
1494 var33
= (uint32_t)((long)(var32
)>>2);
1497 { /* Inline kernel$Char$== (var_i,'i') on <var_i:Char> */
1498 var36
= var_i
== 'i';
1501 RET_LABEL35
:(void)0;
1509 { /* Inline kernel$Char$== (var_i,'m') on <var_i:Char> */
1510 var40
= var_i
== 'm';
1513 RET_LABEL39
:(void)0;
1521 { /* Inline kernel$Char$== (var_i,'b') on <var_i:Char> */
1522 var43
= var_i
== 'b';
1525 RET_LABEL42
:(void)0;
1534 BREAK_label37
: (void)0;
1536 ((void(*)(val
* self
))((((long)var_30
&3)?class_info
[((long)var_30
&3)]:var_30
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_30
); /* next on <var_30:IndexedIterator[Char]>*/
1539 BREAK_label
: (void)0;
1541 ((void(*)(val
* self
))((((long)var_30
&3)?class_info
[((long)var_30
&3)]:var_30
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_30
); /* finish on <var_30:IndexedIterator[Char]>*/
1548 var45
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_nitc__literal__AAugmentedLiteral__prefix
]))(self
); /* prefix on <self:AugmentedStringFormExpr>*/
1550 if (likely(varonce46
!=NULL
)) {
1554 var50
= (val
*)(0l<<2|1);
1555 var51
= (val
*)(0l<<2|1);
1556 var52
= (val
*)((long)(0)<<2|3);
1557 var53
= (val
*)((long)(0)<<2|3);
1558 var49
= core__flat___CString___to_s_unsafe(var48
, var50
, var51
, var52
, var53
);
1563 { /* Inline kernel$Object$!= (var45,var47) on <var45:String> */
1566 var56
= ((short int(*)(val
* self
, val
* p0
))(var45
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var45
, var_other
); /* == on <var45:String>*/
1571 RET_LABEL55
:(void)0;
1579 var59
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_nitc__literal__AAugmentedLiteral__suffix
]))(self
); /* suffix on <self:AugmentedStringFormExpr>*/
1581 if (likely(varonce60
!=NULL
)) {
1585 var64
= (val
*)(0l<<2|1);
1586 var65
= (val
*)(0l<<2|1);
1587 var66
= (val
*)((long)(0)<<2|3);
1588 var67
= (val
*)((long)(0)<<2|3);
1589 var63
= core__flat___CString___to_s_unsafe(var62
, var64
, var65
, var66
, var67
);
1594 { /* Inline kernel$Object$!= (var59,var61) on <var59:String> */
1597 var70
= ((short int(*)(val
* self
, val
* p0
))(var59
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var59
, var_other
); /* == on <var59:String>*/
1602 RET_LABEL69
:(void)0;
1617 /* method literal$AStringFormExpr$value for (self: AStringFormExpr): String */
1618 val
* nitc__literal___AStringFormExpr___value(val
* self
) {
1619 val
* var
/* : String */;
1620 val
* var1
/* : String */;
1621 var1
= self
->attrs
[COLOR_nitc__literal__AStringFormExpr___value
].val
; /* _value on <self:AStringFormExpr> */
1622 if (unlikely(var1
== NULL
)) {
1623 if(catchStack
.cursor
>= 0){
1624 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1626 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _value");
1627 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__literal
, 201);
1634 /* method literal$AStringFormExpr$value= for (self: AStringFormExpr, String) */
1635 void nitc__literal___AStringFormExpr___value_61d(val
* self
, val
* p0
) {
1636 self
->attrs
[COLOR_nitc__literal__AStringFormExpr___value
].val
= p0
; /* _value on <self:AStringFormExpr> */
1639 /* method literal$AStringFormExpr$bytes for (self: AStringFormExpr): Bytes */
1640 val
* nitc__literal___AStringFormExpr___bytes(val
* self
) {
1641 val
* var
/* : Bytes */;
1642 val
* var1
/* : Bytes */;
1643 var1
= self
->attrs
[COLOR_nitc__literal__AStringFormExpr___bytes
].val
; /* _bytes on <self:AStringFormExpr> */
1644 if (unlikely(var1
== NULL
)) {
1645 if(catchStack
.cursor
>= 0){
1646 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1648 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bytes");
1649 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__literal
, 204);
1656 /* method literal$AStringFormExpr$bytes= for (self: AStringFormExpr, Bytes) */
1657 void nitc__literal___AStringFormExpr___bytes_61d(val
* self
, val
* p0
) {
1658 self
->attrs
[COLOR_nitc__literal__AStringFormExpr___bytes
].val
= p0
; /* _bytes on <self:AStringFormExpr> */
1661 /* method literal$AStringFormExpr$text for (self: AStringFormExpr): String */
1662 val
* nitc__literal___AStringFormExpr___AAugmentedLiteral__text(val
* self
) {
1663 val
* var
/* : String */;
1664 val
* var1
/* : Token */;
1665 val
* var3
/* : Token */;
1666 val
* var4
/* : String */;
1668 { /* Inline parser_nodes$AStringFormExpr$n_string (self) on <self:AStringFormExpr> */
1669 var3
= self
->attrs
[COLOR_nitc__parser_nodes__AStringFormExpr___n_string
].val
; /* _n_string on <self:AStringFormExpr> */
1670 if (unlikely(var3
== NULL
)) {
1671 if(catchStack
.cursor
>= 0){
1672 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1674 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_string");
1675 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2616);
1683 var4
= nitc__lexer_work___Token___text(var1
);
1690 /* method literal$AStringFormExpr$raw_text for (self: AStringFormExpr): String */
1691 val
* nitc__literal___AStringFormExpr___raw_text(val
* self
) {
1692 val
* var
/* : String */;
1693 short int var1
/* : Bool */;
1694 val
* var2
/* : String */;
1695 val
* var3
/* : String */;
1696 val
* var5
/* : String */;
1697 val
* var_txt
/* var txt: String */;
1698 long var_behead
/* var behead: Int */;
1699 long var_betail
/* var betail: Int */;
1700 short int var6
/* : Bool */;
1701 val
* var7
/* : SequenceRead[Char] */;
1702 val
* var8
/* : nullable Object */;
1703 val
* var9
/* : SequenceRead[Char] */;
1704 val
* var10
/* : nullable Object */;
1705 short int var11
/* : Bool */;
1706 short int var13
/* : Bool */;
1707 short int var_
/* var : Bool */;
1708 long var14
/* : Int */;
1709 short int var15
/* : Bool */;
1710 short int var17
/* : Bool */;
1713 const char* var_class_name
;
1714 short int var18
/* : Bool */;
1715 short int var19
/* : Bool */;
1716 val
* var20
/* : SequenceRead[Char] */;
1717 val
* var21
/* : nullable Object */;
1718 uint32_t var22
/* : Char */;
1719 short int var23
/* : Bool */;
1720 short int var25
/* : Bool */;
1721 uint32_t var26
/* : Char */;
1722 short int var_27
/* var : Bool */;
1723 val
* var28
/* : SequenceRead[Char] */;
1724 val
* var29
/* : nullable Object */;
1725 short int var30
/* : Bool */;
1726 short int var32
/* : Bool */;
1727 uint32_t var33
/* : Char */;
1728 long var34
/* : Int */;
1729 long var35
/* : Int */;
1730 short int var37
/* : Bool */;
1733 const char* var_class_name40
;
1734 long var41
/* : Int */;
1735 long var42
/* : Int */;
1736 short int var44
/* : Bool */;
1739 const char* var_class_name47
;
1740 long var48
/* : Int */;
1741 val
* var49
/* : Text */;
1742 var1
= self
->attrs
[COLOR_nitc__literal__AStringFormExpr___raw_text
].val
!= NULL
; /* _raw_text on <self:AStringFormExpr> */
1744 var2
= self
->attrs
[COLOR_nitc__literal__AStringFormExpr___raw_text
].val
; /* _raw_text on <self:AStringFormExpr> */
1745 if (unlikely(var2
== NULL
)) {
1746 if(catchStack
.cursor
>= 0){
1747 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1749 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _raw_text");
1750 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__literal
, 209);
1756 var5
= nitc___nitc__AAugmentedLiteral___content(self
);
1762 var7
= ((val
*(*)(val
* self
))(var_txt
->class->vft
[COLOR_core__abstract_text__Text__chars
]))(var_txt
); /* chars on <var_txt:String>*/
1765 var8
= ((val
*(*)(val
* self
, long p0
))((((long)var7
&3)?class_info
[((long)var7
&3)]:var7
->class)->vft
[COLOR_core__abstract_collection__SequenceRead___91d_93d
]))(var7
, 0l); /* [] on <var7:SequenceRead[Char]>*/
1768 var9
= ((val
*(*)(val
* self
))(var_txt
->class->vft
[COLOR_core__abstract_text__Text__chars
]))(var_txt
); /* chars on <var_txt:String>*/
1771 var10
= ((val
*(*)(val
* self
, long p0
))((((long)var9
&3)?class_info
[((long)var9
&3)]:var9
->class)->vft
[COLOR_core__abstract_collection__SequenceRead___91d_93d
]))(var9
, 1l); /* [] on <var9:SequenceRead[Char]>*/
1774 { /* Inline kernel$Char$== (var8,var10) on <var8:nullable Object(Char)> */
1775 var13
= var8
== var10
;
1778 RET_LABEL12
:(void)0;
1784 var14
= ((long(*)(val
* self
))(var_txt
->class->vft
[COLOR_core__abstract_text__Text__length
]))(var_txt
); /* length on <var_txt:String>*/
1787 { /* Inline kernel$Int$>= (var14,6l) on <var14:Int> */
1788 /* Covariant cast for argument 0 (i) <6l:Int> isa OTHER */
1789 /* <6l:Int> isa OTHER */
1790 var17
= 1; /* easy <6l:Int> isa OTHER*/
1791 if (unlikely(!var17
)) {
1792 var_class_name
= type_core__Int
.name
;
1793 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1794 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 726);
1797 var18
= var14
>= 6l;
1800 RET_LABEL16
:(void)0;
1811 var20
= ((val
*(*)(val
* self
))(var_txt
->class->vft
[COLOR_core__abstract_text__Text__chars
]))(var_txt
); /* chars on <var_txt:String>*/
1814 var21
= ((val
*(*)(val
* self
, long p0
))((((long)var20
&3)?class_info
[((long)var20
&3)]:var20
->class)->vft
[COLOR_core__abstract_collection__SequenceRead___91d_93d
]))(var20
, 0l); /* [] on <var20:SequenceRead[Char]>*/
1817 var22
= ((uint32_t(*)(val
* self
))(self
->class->vft
[COLOR_nitc__literal__AAugmentedLiteral__delimiter_start
]))(self
); /* delimiter_start on <self:AStringFormExpr>*/
1820 { /* Inline kernel$Char$== (var21,var22) on <var21:nullable Object(Char)> */
1821 var26
= (uint32_t)((long)(var21
)>>2);
1822 var25
= var26
== var22
;
1825 RET_LABEL24
:(void)0;
1831 var28
= ((val
*(*)(val
* self
))(var_txt
->class->vft
[COLOR_core__abstract_text__Text__chars
]))(var_txt
); /* chars on <var_txt:String>*/
1834 var29
= ((val
*(*)(val
* self
, long p0
))((((long)var28
&3)?class_info
[((long)var28
&3)]:var28
->class)->vft
[COLOR_core__abstract_collection__SequenceRead___91d_93d
]))(var28
, 3l); /* [] on <var28:SequenceRead[Char]>*/
1837 { /* Inline kernel$Char$== (var29,'\n') on <var29:nullable Object(Char)> */
1838 var33
= (uint32_t)((long)(var29
)>>2);
1839 var32
= var33
== '\n';
1842 RET_LABEL31
:(void)0;
1856 var34
= ((long(*)(val
* self
))(var_txt
->class->vft
[COLOR_core__abstract_text__Text__length
]))(var_txt
); /* length on <var_txt:String>*/
1859 { /* Inline kernel$Int$- (var34,var_behead) on <var34:Int> */
1860 /* Covariant cast for argument 0 (i) <var_behead:Int> isa OTHER */
1861 /* <var_behead:Int> isa OTHER */
1862 var37
= 1; /* easy <var_behead:Int> isa OTHER*/
1863 if (unlikely(!var37
)) {
1864 var_class_name40
= type_core__Int
.name
;
1865 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name40
);
1866 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
1869 var41
= var34
- var_behead
;
1872 RET_LABEL36
:(void)0;
1876 { /* Inline kernel$Int$- (var35,var_betail) on <var35:Int> */
1877 /* Covariant cast for argument 0 (i) <var_betail:Int> isa OTHER */
1878 /* <var_betail:Int> isa OTHER */
1879 var44
= 1; /* easy <var_betail:Int> isa OTHER*/
1880 if (unlikely(!var44
)) {
1881 var_class_name47
= type_core__Int
.name
;
1882 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name47
);
1883 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
1886 var48
= var35
- var_betail
;
1889 RET_LABEL43
:(void)0;
1893 var49
= ((val
*(*)(val
* self
, long p0
, long p1
))(var_txt
->class->vft
[COLOR_core__abstract_text__Text__substring
]))(var_txt
, var_behead
, var42
); /* substring on <var_txt:String>*/
1899 self
->attrs
[COLOR_nitc__literal__AStringFormExpr___raw_text
].val
= var3
; /* _raw_text on <self:AStringFormExpr> */
1906 /* method literal$AStringFormExpr$accept_literal for (self: AStringFormExpr, LiteralVisitor) */
1907 void nitc__literal___AStringFormExpr___ANode__accept_literal(val
* self
, val
* p0
) {
1908 val
* var_v
/* var v: LiteralVisitor */;
1909 val
* var
/* : String */;
1910 val
* var2
/* : String */;
1911 val
* var3
/* : Bytes */;
1914 var
= nitc__literal___AStringFormExpr___raw_text(self
);
1917 { /* Inline literal$AStringFormExpr$value= (self,var) on <self:AStringFormExpr> */
1918 self
->attrs
[COLOR_nitc__literal__AStringFormExpr___value
].val
= var
; /* _value on <self:AStringFormExpr> */
1923 var2
= nitc__literal___AStringFormExpr___raw_text(self
);
1926 var3
= core__bytes___Text___to_bytes(var2
);
1929 { /* Inline literal$AStringFormExpr$bytes= (self,var3) on <self:AStringFormExpr> */
1930 self
->attrs
[COLOR_nitc__literal__AStringFormExpr___bytes
].val
= var3
; /* _bytes on <self:AStringFormExpr> */
1936 /* method literal$AEndStringExpr$delimiter_end for (self: AEndStringExpr): Char */
1937 uint32_t nitc__literal___AEndStringExpr___AAugmentedLiteral__delimiter_end(val
* self
) {
1938 uint32_t var
/* : Char */;
1939 short int var1
/* : Bool */;
1940 uint32_t var2
/* : Char */;
1941 uint32_t var3
/* : Char */;
1942 var1
= self
->attrs
[COLOR_nitc__literal__AEndStringExpr__lazy_32d_delimiter_end
].s
; /* lazy _delimiter_end on <self:AEndStringExpr> */
1944 var2
= self
->attrs
[COLOR_nitc__literal__AEndStringExpr___delimiter_end
].c
; /* _delimiter_end on <self:AEndStringExpr> */
1951 self
->attrs
[COLOR_nitc__literal__AEndStringExpr___delimiter_end
].c
= var3
; /* _delimiter_end on <self:AEndStringExpr> */
1953 self
->attrs
[COLOR_nitc__literal__AEndStringExpr__lazy_32d_delimiter_end
].s
= 1; /* lazy _delimiter_end on <self:AEndStringExpr> */
1959 /* method literal$AEndStringExpr$delimiter_end= for (self: AEndStringExpr, Char) */
1960 void nitc__literal___AEndStringExpr___AugmentedStringFormExpr__delimiter_end_61d(val
* self
, uint32_t p0
) {
1961 self
->attrs
[COLOR_nitc__literal__AEndStringExpr___delimiter_end
].c
= p0
; /* _delimiter_end on <self:AEndStringExpr> */
1962 self
->attrs
[COLOR_nitc__literal__AEndStringExpr__lazy_32d_delimiter_end
].s
= 1; /* lazy _delimiter_end on <self:AEndStringExpr> */
1965 /* method literal$AEndStringExpr$prefix for (self: AEndStringExpr): String */
1966 val
* nitc__literal___AEndStringExpr___AAugmentedLiteral__prefix(val
* self
) {
1967 val
* var
/* : String */;
1968 static val
* varonce
;
1969 val
* var1
/* : String */;
1970 char* var2
/* : CString */;
1971 val
* var3
/* : String */;
1972 val
* var4
/* : nullable Int */;
1973 val
* var5
/* : nullable Int */;
1974 val
* var6
/* : nullable Bool */;
1975 val
* var7
/* : nullable Bool */;
1976 if (likely(varonce
!=NULL
)) {
1980 var4
= (val
*)(0l<<2|1);
1981 var5
= (val
*)(0l<<2|1);
1982 var6
= (val
*)((long)(0)<<2|3);
1983 var7
= (val
*)((long)(0)<<2|3);
1984 var3
= core__flat___CString___to_s_unsafe(var2
, var4
, var5
, var6
, var7
);
1993 /* method literal$AStartStringExpr$delimiter_start for (self: AStartStringExpr): Char */
1994 uint32_t nitc__literal___AStartStringExpr___AAugmentedLiteral__delimiter_start(val
* self
) {
1995 uint32_t var
/* : Char */;
1996 short int var1
/* : Bool */;
1997 uint32_t var2
/* : Char */;
1998 uint32_t var3
/* : Char */;
1999 val
* var5
/* : Token */;
2000 val
* var7
/* : Token */;
2001 val
* var8
/* : String */;
2002 val
* var_str
/* var str: String */;
2003 long var_i
/* var i: Int */;
2004 long var9
/* : Int */;
2005 long var_
/* var : Int */;
2006 short int var10
/* : Bool */;
2007 short int var12
/* : Bool */;
2010 const char* var_class_name
;
2011 short int var13
/* : Bool */;
2012 uint32_t var14
/* : Char */;
2013 uint32_t var_c
/* var c: Char */;
2014 short int var15
/* : Bool */;
2015 short int var16
/* : Bool */;
2016 short int var18
/* : Bool */;
2017 short int var_19
/* var : Bool */;
2018 short int var20
/* : Bool */;
2019 short int var22
/* : Bool */;
2020 long var23
/* : Int */;
2021 var1
= self
->attrs
[COLOR_nitc__literal__AStartStringExpr__lazy_32d_delimiter_start
].s
; /* lazy _delimiter_start on <self:AStartStringExpr> */
2023 var2
= self
->attrs
[COLOR_nitc__literal__AStartStringExpr___delimiter_start
].c
; /* _delimiter_start on <self:AStartStringExpr> */
2027 { /* Inline parser_nodes$AStringFormExpr$n_string (self) on <self:AStartStringExpr> */
2028 var7
= self
->attrs
[COLOR_nitc__parser_nodes__AStringFormExpr___n_string
].val
; /* _n_string on <self:AStartStringExpr> */
2029 if (unlikely(var7
== NULL
)) {
2030 if(catchStack
.cursor
>= 0){
2031 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2033 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_string");
2034 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2616);
2042 var8
= nitc__lexer_work___Token___text(var5
);
2047 var9
= ((long(*)(val
* self
))(var_str
->class->vft
[COLOR_core__abstract_text__Text__length
]))(var_str
); /* length on <var_str:String>*/
2052 { /* Inline kernel$Int$< (var_i,var_) on <var_i:Int> */
2053 /* Covariant cast for argument 0 (i) <var_:Int> isa OTHER */
2054 /* <var_:Int> isa OTHER */
2055 var12
= 1; /* easy <var_:Int> isa OTHER*/
2056 if (unlikely(!var12
)) {
2057 var_class_name
= type_core__Int
.name
;
2058 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2059 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 725);
2062 var13
= var_i
< var_
;
2065 RET_LABEL11
:(void)0;
2073 var14
= ((uint32_t(*)(val
* self
, long p0
))(var_str
->class->vft
[COLOR_core__abstract_text__Text___91d_93d
]))(var_str
, var_i
); /* [] on <var_str:String>*/
2077 { /* Inline kernel$Char$== (var_c,'\"') on <var_c:Char> */
2078 var18
= var_c
== '\"';
2081 RET_LABEL17
:(void)0;
2089 { /* Inline kernel$Char$== (var_c,'\'') on <var_c:Char> */
2090 var22
= var_c
== '\'';
2093 RET_LABEL21
:(void)0;
2104 var23
= core___core__Int___Discrete__successor(var_i
, 1l);
2108 BREAK_label
: (void)0;
2109 if(catchStack
.cursor
>= 0){
2110 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2112 PRINT_ERROR("Runtime error: %s", "Aborted");
2113 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__literal
, 243);
2117 self
->attrs
[COLOR_nitc__literal__AStartStringExpr___delimiter_start
].c
= var3
; /* _delimiter_start on <self:AStartStringExpr> */
2119 self
->attrs
[COLOR_nitc__literal__AStartStringExpr__lazy_32d_delimiter_start
].s
= 1; /* lazy _delimiter_start on <self:AStartStringExpr> */
2125 /* method literal$AStartStringExpr$delimiter_start= for (self: AStartStringExpr, Char) */
2126 void nitc__literal___AStartStringExpr___AugmentedStringFormExpr__delimiter_start_61d(val
* self
, uint32_t p0
) {
2127 self
->attrs
[COLOR_nitc__literal__AStartStringExpr___delimiter_start
].c
= p0
; /* _delimiter_start on <self:AStartStringExpr> */
2128 self
->attrs
[COLOR_nitc__literal__AStartStringExpr__lazy_32d_delimiter_start
].s
= 1; /* lazy _delimiter_start on <self:AStartStringExpr> */
2131 /* method literal$AStartStringExpr$suffix for (self: AStartStringExpr): String */
2132 val
* nitc__literal___AStartStringExpr___AAugmentedLiteral__suffix(val
* self
) {
2133 val
* var
/* : String */;
2134 static val
* varonce
;
2135 val
* var1
/* : String */;
2136 char* var2
/* : CString */;
2137 val
* var3
/* : String */;
2138 val
* var4
/* : nullable Int */;
2139 val
* var5
/* : nullable Int */;
2140 val
* var6
/* : nullable Bool */;
2141 val
* var7
/* : nullable Bool */;
2142 if (likely(varonce
!=NULL
)) {
2146 var4
= (val
*)(0l<<2|1);
2147 var5
= (val
*)(0l<<2|1);
2148 var6
= (val
*)((long)(0)<<2|3);
2149 var7
= (val
*)((long)(0)<<2|3);
2150 var3
= core__flat___CString___to_s_unsafe(var2
, var4
, var5
, var6
, var7
);
2159 /* method literal$AMidStringExpr$prefix for (self: AMidStringExpr): String */
2160 val
* nitc__literal___AMidStringExpr___AAugmentedLiteral__prefix(val
* self
) {
2161 val
* var
/* : String */;
2162 static val
* varonce
;
2163 val
* var1
/* : String */;
2164 char* var2
/* : CString */;
2165 val
* var3
/* : String */;
2166 val
* var4
/* : nullable Int */;
2167 val
* var5
/* : nullable Int */;
2168 val
* var6
/* : nullable Bool */;
2169 val
* var7
/* : nullable Bool */;
2170 if (likely(varonce
!=NULL
)) {
2174 var4
= (val
*)(0l<<2|1);
2175 var5
= (val
*)(0l<<2|1);
2176 var6
= (val
*)((long)(0)<<2|3);
2177 var7
= (val
*)((long)(0)<<2|3);
2178 var3
= core__flat___CString___to_s_unsafe(var2
, var4
, var5
, var6
, var7
);
2187 /* method literal$AMidStringExpr$suffix for (self: AMidStringExpr): String */
2188 val
* nitc__literal___AMidStringExpr___AAugmentedLiteral__suffix(val
* self
) {
2189 val
* var
/* : String */;
2190 static val
* varonce
;
2191 val
* var1
/* : String */;
2192 char* var2
/* : CString */;
2193 val
* var3
/* : String */;
2194 val
* var4
/* : nullable Int */;
2195 val
* var5
/* : nullable Int */;
2196 val
* var6
/* : nullable Bool */;
2197 val
* var7
/* : nullable Bool */;
2198 if (likely(varonce
!=NULL
)) {
2202 var4
= (val
*)(0l<<2|1);
2203 var5
= (val
*)(0l<<2|1);
2204 var6
= (val
*)((long)(0)<<2|3);
2205 var7
= (val
*)((long)(0)<<2|3);
2206 var3
= core__flat___CString___to_s_unsafe(var2
, var4
, var5
, var6
, var7
);
2215 /* method literal$AStringExpr$delimiter_start for (self: AStringExpr): Char */
2216 uint32_t nitc__literal___AStringExpr___AAugmentedLiteral__delimiter_start(val
* self
) {
2217 uint32_t var
/* : Char */;
2218 short int var1
/* : Bool */;
2219 uint32_t var2
/* : Char */;
2220 uint32_t var3
/* : Char */;
2221 val
* var5
/* : String */;
2222 val
* var_str
/* var str: String */;
2223 long var_i
/* var i: Int */;
2224 long var6
/* : Int */;
2225 long var_
/* var : Int */;
2226 short int var7
/* : Bool */;
2227 short int var9
/* : Bool */;
2230 const char* var_class_name
;
2231 short int var10
/* : Bool */;
2232 uint32_t var11
/* : Char */;
2233 uint32_t var_c
/* var c: Char */;
2234 short int var12
/* : Bool */;
2235 short int var13
/* : Bool */;
2236 short int var15
/* : Bool */;
2237 short int var_16
/* var : Bool */;
2238 short int var17
/* : Bool */;
2239 short int var19
/* : Bool */;
2240 long var20
/* : Int */;
2241 var1
= self
->attrs
[COLOR_nitc__literal__AStringExpr__lazy_32d_delimiter_start
].s
; /* lazy _delimiter_start on <self:AStringExpr> */
2243 var2
= self
->attrs
[COLOR_nitc__literal__AStringExpr___delimiter_start
].c
; /* _delimiter_start on <self:AStringExpr> */
2247 var5
= nitc__literal___AStringFormExpr___AAugmentedLiteral__text(self
);
2252 var6
= ((long(*)(val
* self
))(var_str
->class->vft
[COLOR_core__abstract_text__Text__length
]))(var_str
); /* length on <var_str:String>*/
2257 { /* Inline kernel$Int$< (var_i,var_) on <var_i:Int> */
2258 /* Covariant cast for argument 0 (i) <var_:Int> isa OTHER */
2259 /* <var_:Int> isa OTHER */
2260 var9
= 1; /* easy <var_:Int> isa OTHER*/
2261 if (unlikely(!var9
)) {
2262 var_class_name
= type_core__Int
.name
;
2263 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2264 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 725);
2267 var10
= var_i
< var_
;
2278 var11
= ((uint32_t(*)(val
* self
, long p0
))(var_str
->class->vft
[COLOR_core__abstract_text__Text___91d_93d
]))(var_str
, var_i
); /* [] on <var_str:String>*/
2282 { /* Inline kernel$Char$== (var_c,'\"') on <var_c:Char> */
2283 var15
= var_c
== '\"';
2286 RET_LABEL14
:(void)0;
2294 { /* Inline kernel$Char$== (var_c,'\'') on <var_c:Char> */
2295 var19
= var_c
== '\'';
2298 RET_LABEL18
:(void)0;
2305 nitc__literal___AStringExpr___AugmentedStringFormExpr__delimiter_end_61d(self
, var_c
); /* Direct call literal$AStringExpr$delimiter_end= on <self:AStringExpr>*/
2312 var20
= core___core__Int___Discrete__successor(var_i
, 1l);
2316 BREAK_label
: (void)0;
2317 if(catchStack
.cursor
>= 0){
2318 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2320 PRINT_ERROR("Runtime error: %s", "Aborted");
2321 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__literal
, 265);
2325 self
->attrs
[COLOR_nitc__literal__AStringExpr___delimiter_start
].c
= var3
; /* _delimiter_start on <self:AStringExpr> */
2327 self
->attrs
[COLOR_nitc__literal__AStringExpr__lazy_32d_delimiter_start
].s
= 1; /* lazy _delimiter_start on <self:AStringExpr> */
2333 /* method literal$AStringExpr$delimiter_start= for (self: AStringExpr, Char) */
2334 void nitc__literal___AStringExpr___AugmentedStringFormExpr__delimiter_start_61d(val
* self
, uint32_t p0
) {
2335 self
->attrs
[COLOR_nitc__literal__AStringExpr___delimiter_start
].c
= p0
; /* _delimiter_start on <self:AStringExpr> */
2336 self
->attrs
[COLOR_nitc__literal__AStringExpr__lazy_32d_delimiter_start
].s
= 1; /* lazy _delimiter_start on <self:AStringExpr> */
2339 /* method literal$AStringExpr$delimiter_end for (self: AStringExpr): Char */
2340 uint32_t nitc__literal___AStringExpr___AAugmentedLiteral__delimiter_end(val
* self
) {
2341 uint32_t var
/* : Char */;
2342 short int var1
/* : Bool */;
2343 uint32_t var2
/* : Char */;
2344 uint32_t var3
/* : Char */;
2345 uint32_t var5
/* : Char */;
2346 var1
= self
->attrs
[COLOR_nitc__literal__AStringExpr__lazy_32d_delimiter_end
].s
; /* lazy _delimiter_end on <self:AStringExpr> */
2348 var2
= self
->attrs
[COLOR_nitc__literal__AStringExpr___delimiter_end
].c
; /* _delimiter_end on <self:AStringExpr> */
2352 var5
= nitc__literal___AStringExpr___AAugmentedLiteral__delimiter_start(self
);
2358 self
->attrs
[COLOR_nitc__literal__AStringExpr___delimiter_end
].c
= var3
; /* _delimiter_end on <self:AStringExpr> */
2360 self
->attrs
[COLOR_nitc__literal__AStringExpr__lazy_32d_delimiter_end
].s
= 1; /* lazy _delimiter_end on <self:AStringExpr> */
2366 /* method literal$AStringExpr$delimiter_end= for (self: AStringExpr, Char) */
2367 void nitc__literal___AStringExpr___AugmentedStringFormExpr__delimiter_end_61d(val
* self
, uint32_t p0
) {
2368 self
->attrs
[COLOR_nitc__literal__AStringExpr___delimiter_end
].c
= p0
; /* _delimiter_end on <self:AStringExpr> */
2369 self
->attrs
[COLOR_nitc__literal__AStringExpr__lazy_32d_delimiter_end
].s
= 1; /* lazy _delimiter_end on <self:AStringExpr> */
2372 /* method literal$AStringExpr$accept_literal for (self: AStringExpr, LiteralVisitor) */
2373 void nitc__literal___AStringExpr___ANode__accept_literal(val
* self
, val
* p0
) {
2374 val
* var_v
/* var v: LiteralVisitor */;
2375 short int var
/* : Bool */;
2376 short int var1
/* : Bool */;
2377 val
* var2
/* : ToolContext */;
2378 val
* var4
/* : ToolContext */;
2379 val
* var5
/* : Location */;
2380 val
* var6
/* : NativeArray[String] */;
2381 static val
* varonce
;
2382 static val
* varonce7
;
2383 val
* var8
/* : String */;
2384 char* var9
/* : CString */;
2385 val
* var10
/* : String */;
2386 val
* var11
/* : nullable Int */;
2387 val
* var12
/* : nullable Int */;
2388 val
* var13
/* : nullable Bool */;
2389 val
* var14
/* : nullable Bool */;
2390 static val
* varonce15
;
2391 val
* var16
/* : String */;
2392 char* var17
/* : CString */;
2393 val
* var18
/* : String */;
2394 val
* var19
/* : nullable Int */;
2395 val
* var20
/* : nullable Int */;
2396 val
* var21
/* : nullable Bool */;
2397 val
* var22
/* : nullable Bool */;
2398 val
* var23
/* : String */;
2399 val
* var24
/* : String */;
2400 val
* var25
/* : String */;
2401 val
* var26
/* : Message */;
2402 val
* var27
/* : String */;
2403 static val
* varonce28
;
2404 val
* var29
/* : String */;
2405 char* var30
/* : CString */;
2406 val
* var31
/* : String */;
2407 val
* var32
/* : nullable Int */;
2408 val
* var33
/* : nullable Int */;
2409 val
* var34
/* : nullable Bool */;
2410 val
* var35
/* : nullable Bool */;
2411 short int var36
/* : Bool */;
2412 val
* var_other
/* var other: nullable Object */;
2413 short int var38
/* : Bool */;
2414 short int var39
/* : Bool */;
2415 val
* var40
/* : String */;
2416 val
* var41
/* : Bytes */;
2417 val
* var43
/* : Bytes */;
2418 val
* var45
/* : Bytes */;
2419 val
* var46
/* : String */;
2422 ((void(*)(val
* self
, val
* p0
))(self
->class->vft
[COLOR_nitc__literal___AStringExpr___ANode__accept_literal
]))(self
, p0
); /* accept_literal on <self:AStringExpr>*/
2425 var
= nitc___nitc__AugmentedStringFormExpr___AAugmentedLiteral__is_valid_augmentation(self
);
2430 { /* Inline literal$LiteralVisitor$toolcontext (var_v) on <var_v:LiteralVisitor> */
2431 var4
= var_v
->attrs
[COLOR_nitc__literal__LiteralVisitor___toolcontext
].val
; /* _toolcontext on <var_v:LiteralVisitor> */
2432 if (unlikely(var4
== NULL
)) {
2433 if(catchStack
.cursor
>= 0){
2434 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2436 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
2437 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__literal
, 46);
2445 var5
= nitc___nitc__ANode___hot_location(self
);
2447 if (unlikely(varonce
==NULL
)) {
2448 var6
= NEW_core__NativeArray((int)4l, &type_core__NativeArray__core__String
);
2449 if (likely(varonce7
!=NULL
)) {
2452 var9
= "Error: invalid prefix/suffix combination ";
2453 var11
= (val
*)(41l<<2|1);
2454 var12
= (val
*)(41l<<2|1);
2455 var13
= (val
*)((long)(0)<<2|3);
2456 var14
= (val
*)((long)(0)<<2|3);
2457 var10
= core__flat___CString___to_s_unsafe(var9
, var11
, var12
, var13
, var14
);
2461 ((struct instance_core__NativeArray
*)var6
)->values
[0]=var8
;
2462 if (likely(varonce15
!=NULL
)) {
2466 var19
= (val
*)(1l<<2|1);
2467 var20
= (val
*)(1l<<2|1);
2468 var21
= (val
*)((long)(0)<<2|3);
2469 var22
= (val
*)((long)(0)<<2|3);
2470 var18
= core__flat___CString___to_s_unsafe(var17
, var19
, var20
, var21
, var22
);
2474 ((struct instance_core__NativeArray
*)var6
)->values
[2]=var16
;
2480 var23
= nitc___nitc__AAugmentedLiteral___prefix(self
);
2482 ((struct instance_core__NativeArray
*)var6
)->values
[1]=var23
;
2484 var24
= nitc___nitc__AAugmentedLiteral___suffix(self
);
2486 ((struct instance_core__NativeArray
*)var6
)->values
[3]=var24
;
2488 var25
= ((val
*(*)(val
* self
))(var6
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var6
); /* native_to_s on <var6:NativeArray[String]>*/
2492 var26
= nitc___nitc__ToolContext___error(var2
, var5
, var25
);
2498 var27
= nitc___nitc__AAugmentedLiteral___prefix(self
);
2500 if (likely(varonce28
!=NULL
)) {
2504 var32
= (val
*)(3l<<2|1);
2505 var33
= (val
*)(3l<<2|1);
2506 var34
= (val
*)((long)(0)<<2|3);
2507 var35
= (val
*)((long)(0)<<2|3);
2508 var31
= core__flat___CString___to_s_unsafe(var30
, var32
, var33
, var34
, var35
);
2513 { /* Inline kernel$Object$!= (var27,var29) on <var27:String> */
2516 var38
= ((short int(*)(val
* self
, val
* p0
))(var27
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var27
, var_other
); /* == on <var27:String>*/
2521 RET_LABEL37
:(void)0;
2526 var40
= nitc__literal___AStringFormExpr___raw_text(self
);
2529 var41
= core__bytes___Text___unescape_to_bytes(var40
);
2532 { /* Inline literal$AStringFormExpr$bytes= (self,var41) on <self:AStringExpr> */
2533 self
->attrs
[COLOR_nitc__literal__AStringFormExpr___bytes
].val
= var41
; /* _bytes on <self:AStringExpr> */
2534 RET_LABEL42
:(void)0;
2538 { /* Inline literal$AStringFormExpr$bytes (self) on <self:AStringExpr> */
2539 var45
= self
->attrs
[COLOR_nitc__literal__AStringFormExpr___bytes
].val
; /* _bytes on <self:AStringExpr> */
2540 if (unlikely(var45
== NULL
)) {
2541 if(catchStack
.cursor
>= 0){
2542 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2544 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bytes");
2545 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__literal
, 204);
2549 RET_LABEL44
:(void)0;
2553 var46
= core___core__Bytes___core__abstract_text__Object__to_s(var43
);
2556 { /* Inline literal$AStringFormExpr$value= (self,var46) on <self:AStringExpr> */
2557 self
->attrs
[COLOR_nitc__literal__AStringFormExpr___value
].val
= var46
; /* _value on <self:AStringExpr> */
2558 RET_LABEL47
:(void)0;
2565 /* method literal$ASuperstringExpr$prefix for (self: ASuperstringExpr): String */
2566 val
* nitc__literal___ASuperstringExpr___AAugmentedLiteral__prefix(val
* self
) {
2567 val
* var
/* : String */;
2568 short int var1
/* : Bool */;
2569 val
* var2
/* : String */;
2570 val
* var3
/* : String */;
2571 val
* var5
/* : ANodes[AExpr] */;
2572 val
* var7
/* : ANodes[AExpr] */;
2573 val
* var8
/* : nullable Object */;
2574 val
* var_fst
/* var fst: AExpr */;
2575 short int var9
/* : Bool */;
2578 val
* var10
/* : String */;
2579 val
* var_prf
/* var prf: String */;
2580 uint32_t var11
/* : Char */;
2581 uint32_t var13
/* : Char */;
2582 uint32_t var15
/* : Char */;
2583 static val
* varonce
;
2584 val
* var17
/* : String */;
2585 char* var18
/* : CString */;
2586 val
* var19
/* : String */;
2587 val
* var20
/* : nullable Int */;
2588 val
* var21
/* : nullable Int */;
2589 val
* var22
/* : nullable Bool */;
2590 val
* var23
/* : nullable Bool */;
2591 var1
= self
->attrs
[COLOR_nitc__literal__ASuperstringExpr___prefix
].val
!= NULL
; /* _prefix on <self:ASuperstringExpr> */
2593 var2
= self
->attrs
[COLOR_nitc__literal__ASuperstringExpr___prefix
].val
; /* _prefix on <self:ASuperstringExpr> */
2594 if (unlikely(var2
== NULL
)) {
2595 if(catchStack
.cursor
>= 0){
2596 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2598 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _prefix");
2599 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__literal
, 287);
2605 { /* Inline parser_nodes$ASuperstringExpr$n_exprs (self) on <self:ASuperstringExpr> */
2606 var7
= self
->attrs
[COLOR_nitc__parser_nodes__ASuperstringExpr___n_exprs
].val
; /* _n_exprs on <self:ASuperstringExpr> */
2607 if (unlikely(var7
== NULL
)) {
2608 if(catchStack
.cursor
>= 0){
2609 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2611 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
2612 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2645);
2620 var8
= core___core__SequenceRead___Collection__first(var5
);
2623 /* <var_fst:AExpr> isa AugmentedStringFormExpr */
2624 cltype
= type_nitc__AugmentedStringFormExpr
.color
;
2625 idtype
= type_nitc__AugmentedStringFormExpr
.id
;
2626 if(cltype
>= var_fst
->type
->table_size
) {
2629 var9
= var_fst
->type
->type_table
[cltype
] == idtype
;
2633 var10
= ((val
*(*)(val
* self
))(var_fst
->class->vft
[COLOR_nitc__literal__AAugmentedLiteral__prefix
]))(var_fst
); /* prefix on <var_fst:AExpr(AugmentedStringFormExpr)>*/
2637 var11
= ((uint32_t(*)(val
* self
))(var_fst
->class->vft
[COLOR_nitc__literal__AAugmentedLiteral__delimiter_start
]))(var_fst
); /* delimiter_start on <var_fst:AExpr(AugmentedStringFormExpr)>*/
2640 { /* Inline literal$AugmentedStringFormExpr$delimiter_start= (self,var11) on <self:ASuperstringExpr> */
2641 self
->attrs
[COLOR_nitc__literal__AugmentedStringFormExpr___delimiter_start
].c
= var11
; /* _delimiter_start on <self:ASuperstringExpr> */
2642 RET_LABEL12
:(void)0;
2646 { /* Inline literal$AugmentedStringFormExpr$delimiter_start (self) on <self:ASuperstringExpr> */
2647 var15
= self
->attrs
[COLOR_nitc__literal__AugmentedStringFormExpr___delimiter_start
].c
; /* _delimiter_start on <self:ASuperstringExpr> */
2649 RET_LABEL14
:(void)0;
2653 { /* Inline literal$AugmentedStringFormExpr$delimiter_end= (self,var13) on <self:ASuperstringExpr> */
2654 self
->attrs
[COLOR_nitc__literal__AugmentedStringFormExpr___delimiter_end
].c
= var13
; /* _delimiter_end on <self:ASuperstringExpr> */
2655 RET_LABEL16
:(void)0;
2662 if (likely(varonce
!=NULL
)) {
2666 var20
= (val
*)(0l<<2|1);
2667 var21
= (val
*)(0l<<2|1);
2668 var22
= (val
*)((long)(0)<<2|3);
2669 var23
= (val
*)((long)(0)<<2|3);
2670 var19
= core__flat___CString___to_s_unsafe(var18
, var20
, var21
, var22
, var23
);
2678 self
->attrs
[COLOR_nitc__literal__ASuperstringExpr___prefix
].val
= var3
; /* _prefix on <self:ASuperstringExpr> */
2685 /* method literal$ASuperstringExpr$suffix for (self: ASuperstringExpr): String */
2686 val
* nitc__literal___ASuperstringExpr___AAugmentedLiteral__suffix(val
* self
) {
2687 val
* var
/* : String */;
2688 short int var1
/* : Bool */;
2689 val
* var2
/* : String */;
2690 val
* var3
/* : String */;
2691 val
* var5
/* : ANodes[AExpr] */;
2692 val
* var7
/* : ANodes[AExpr] */;
2693 val
* var8
/* : nullable Object */;
2694 val
* var_lst
/* var lst: AExpr */;
2695 val
* var9
/* : String */;
2696 short int var10
/* : Bool */;
2699 uint32_t var11
/* : Char */;
2700 uint32_t var13
/* : Char */;
2701 val
* var14
/* : String */;
2702 static val
* varonce
;
2703 val
* var15
/* : String */;
2704 char* var16
/* : CString */;
2705 val
* var17
/* : String */;
2706 val
* var18
/* : nullable Int */;
2707 val
* var19
/* : nullable Int */;
2708 val
* var20
/* : nullable Bool */;
2709 val
* var21
/* : nullable Bool */;
2710 var1
= self
->attrs
[COLOR_nitc__literal__ASuperstringExpr___suffix
].val
!= NULL
; /* _suffix on <self:ASuperstringExpr> */
2712 var2
= self
->attrs
[COLOR_nitc__literal__ASuperstringExpr___suffix
].val
; /* _suffix on <self:ASuperstringExpr> */
2713 if (unlikely(var2
== NULL
)) {
2714 if(catchStack
.cursor
>= 0){
2715 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2717 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _suffix");
2718 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__literal
, 298);
2724 { /* Inline parser_nodes$ASuperstringExpr$n_exprs (self) on <self:ASuperstringExpr> */
2725 var7
= self
->attrs
[COLOR_nitc__parser_nodes__ASuperstringExpr___n_exprs
].val
; /* _n_exprs on <self:ASuperstringExpr> */
2726 if (unlikely(var7
== NULL
)) {
2727 if(catchStack
.cursor
>= 0){
2728 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2730 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
2731 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2645);
2739 var8
= core___core__SequenceRead___last(var5
);
2743 var9
= nitc__literal___ASuperstringExpr___AAugmentedLiteral__prefix(self
);
2745 /* <var_lst:AExpr> isa AugmentedStringFormExpr */
2746 cltype
= type_nitc__AugmentedStringFormExpr
.color
;
2747 idtype
= type_nitc__AugmentedStringFormExpr
.id
;
2748 if(cltype
>= var_lst
->type
->table_size
) {
2751 var10
= var_lst
->type
->type_table
[cltype
] == idtype
;
2755 { /* Inline literal$AugmentedStringFormExpr$delimiter_start (self) on <self:ASuperstringExpr> */
2756 var13
= self
->attrs
[COLOR_nitc__literal__AugmentedStringFormExpr___delimiter_start
].c
; /* _delimiter_start on <self:ASuperstringExpr> */
2758 RET_LABEL12
:(void)0;
2762 ((void(*)(val
* self
, uint32_t p0
))(var_lst
->class->vft
[COLOR_nitc__literal__AugmentedStringFormExpr__delimiter_end_61d
]))(var_lst
, var11
); /* delimiter_end= on <var_lst:AExpr(AugmentedStringFormExpr)>*/
2765 var14
= ((val
*(*)(val
* self
))(var_lst
->class->vft
[COLOR_nitc__literal__AAugmentedLiteral__suffix
]))(var_lst
); /* suffix on <var_lst:AExpr(AugmentedStringFormExpr)>*/
2771 if (likely(varonce
!=NULL
)) {
2775 var18
= (val
*)(0l<<2|1);
2776 var19
= (val
*)(0l<<2|1);
2777 var20
= (val
*)((long)(0)<<2|3);
2778 var21
= (val
*)((long)(0)<<2|3);
2779 var17
= core__flat___CString___to_s_unsafe(var16
, var18
, var19
, var20
, var21
);
2787 self
->attrs
[COLOR_nitc__literal__ASuperstringExpr___suffix
].val
= var3
; /* _suffix on <self:ASuperstringExpr> */
2794 /* method literal$ASuperstringExpr$accept_literal for (self: ASuperstringExpr, LiteralVisitor) */
2795 void nitc__literal___ASuperstringExpr___ANode__accept_literal(val
* self
, val
* p0
) {
2796 val
* var_v
/* var v: LiteralVisitor */;
2797 short int var
/* : Bool */;
2798 val
* var1
/* : ToolContext */;
2799 val
* var3
/* : ToolContext */;
2800 val
* var4
/* : Location */;
2801 static val
* varonce
;
2802 val
* var5
/* : String */;
2803 char* var6
/* : CString */;
2804 val
* var7
/* : String */;
2805 val
* var8
/* : nullable Int */;
2806 val
* var9
/* : nullable Int */;
2807 val
* var10
/* : nullable Bool */;
2808 val
* var11
/* : nullable Bool */;
2809 val
* var12
/* : Message */;
2810 short int var13
/* : Bool */;
2811 short int var14
/* : Bool */;
2812 val
* var15
/* : ToolContext */;
2813 val
* var17
/* : ToolContext */;
2814 val
* var18
/* : Location */;
2815 val
* var20
/* : NativeArray[String] */;
2816 static val
* varonce19
;
2817 static val
* varonce21
;
2818 val
* var22
/* : String */;
2819 char* var23
/* : CString */;
2820 val
* var24
/* : String */;
2821 val
* var25
/* : nullable Int */;
2822 val
* var26
/* : nullable Int */;
2823 val
* var27
/* : nullable Bool */;
2824 val
* var28
/* : nullable Bool */;
2825 static val
* varonce29
;
2826 val
* var30
/* : String */;
2827 char* var31
/* : CString */;
2828 val
* var32
/* : String */;
2829 val
* var33
/* : nullable Int */;
2830 val
* var34
/* : nullable Int */;
2831 val
* var35
/* : nullable Bool */;
2832 val
* var36
/* : nullable Bool */;
2833 val
* var37
/* : String */;
2834 val
* var38
/* : String */;
2835 val
* var39
/* : String */;
2836 val
* var40
/* : Message */;
2839 var
= nitc___nitc__AugmentedStringFormExpr___is_bytestring(self
);
2843 { /* Inline literal$LiteralVisitor$toolcontext (var_v) on <var_v:LiteralVisitor> */
2844 var3
= var_v
->attrs
[COLOR_nitc__literal__LiteralVisitor___toolcontext
].val
; /* _toolcontext on <var_v:LiteralVisitor> */
2845 if (unlikely(var3
== NULL
)) {
2846 if(catchStack
.cursor
>= 0){
2847 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2849 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
2850 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__literal
, 46);
2858 var4
= nitc___nitc__ANode___hot_location(self
);
2860 if (likely(varonce
!=NULL
)) {
2863 var6
= "Error: cannot produce a ByteString on a Superstring";
2864 var8
= (val
*)(51l<<2|1);
2865 var9
= (val
*)(51l<<2|1);
2866 var10
= (val
*)((long)(0)<<2|3);
2867 var11
= (val
*)((long)(0)<<2|3);
2868 var7
= core__flat___CString___to_s_unsafe(var6
, var8
, var9
, var10
, var11
);
2873 var12
= nitc___nitc__ToolContext___error(var1
, var4
, var5
);
2879 var13
= nitc___nitc__AugmentedStringFormExpr___AAugmentedLiteral__is_valid_augmentation(self
);
2884 { /* Inline literal$LiteralVisitor$toolcontext (var_v) on <var_v:LiteralVisitor> */
2885 var17
= var_v
->attrs
[COLOR_nitc__literal__LiteralVisitor___toolcontext
].val
; /* _toolcontext on <var_v:LiteralVisitor> */
2886 if (unlikely(var17
== NULL
)) {
2887 if(catchStack
.cursor
>= 0){
2888 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2890 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
2891 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__literal
, 46);
2895 RET_LABEL16
:(void)0;
2899 var18
= nitc___nitc__ANode___hot_location(self
);
2901 if (unlikely(varonce19
==NULL
)) {
2902 var20
= NEW_core__NativeArray((int)4l, &type_core__NativeArray__core__String
);
2903 if (likely(varonce21
!=NULL
)) {
2906 var23
= "Error: invalid prefix/suffix combination ";
2907 var25
= (val
*)(41l<<2|1);
2908 var26
= (val
*)(41l<<2|1);
2909 var27
= (val
*)((long)(0)<<2|3);
2910 var28
= (val
*)((long)(0)<<2|3);
2911 var24
= core__flat___CString___to_s_unsafe(var23
, var25
, var26
, var27
, var28
);
2915 ((struct instance_core__NativeArray
*)var20
)->values
[0]=var22
;
2916 if (likely(varonce29
!=NULL
)) {
2920 var33
= (val
*)(1l<<2|1);
2921 var34
= (val
*)(1l<<2|1);
2922 var35
= (val
*)((long)(0)<<2|3);
2923 var36
= (val
*)((long)(0)<<2|3);
2924 var32
= core__flat___CString___to_s_unsafe(var31
, var33
, var34
, var35
, var36
);
2928 ((struct instance_core__NativeArray
*)var20
)->values
[2]=var30
;
2934 var37
= nitc__literal___ASuperstringExpr___AAugmentedLiteral__prefix(self
);
2936 ((struct instance_core__NativeArray
*)var20
)->values
[1]=var37
;
2938 var38
= nitc__literal___ASuperstringExpr___AAugmentedLiteral__suffix(self
);
2940 ((struct instance_core__NativeArray
*)var20
)->values
[3]=var38
;
2942 var39
= ((val
*(*)(val
* self
))(var20
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var20
); /* native_to_s on <var20:NativeArray[String]>*/
2946 var40
= nitc___nitc__ToolContext___error(var15
, var18
, var39
);
2953 /* method literal$ASuperstringExpr$visit_all for (self: ASuperstringExpr, Visitor) */
2954 void nitc__literal___ASuperstringExpr___nitc__parser_nodes__ANode__visit_all(val
* self
, val
* p0
) {
2955 val
* var_v
/* var v: Visitor */;
2956 val
* var
/* : String */;
2957 static val
* varonce
;
2958 val
* var1
/* : String */;
2959 char* var2
/* : CString */;
2960 val
* var3
/* : String */;
2961 val
* var4
/* : nullable Int */;
2962 val
* var5
/* : nullable Int */;
2963 val
* var6
/* : nullable Bool */;
2964 val
* var7
/* : nullable Bool */;
2965 short int var8
/* : Bool */;
2966 val
* var_other
/* var other: nullable Object */;
2967 short int var10
/* : Bool */;
2968 short int var11
/* : Bool */;
2969 val
* var12
/* : ANodes[AExpr] */;
2970 val
* var14
/* : ANodes[AExpr] */;
2971 val
* var_
/* var : ANodes[AExpr] */;
2972 val
* var15
/* : Iterator[ANode] */;
2973 val
* var_16
/* var : Iterator[AExpr] */;
2974 short int var17
/* : Bool */;
2975 val
* var18
/* : nullable Object */;
2976 val
* var_i
/* var i: AExpr */;
2977 short int var19
/* : Bool */;
2980 short int var20
/* : Bool */;
2981 val
* var22
/* : String */;
2982 val
* var23
/* : Bytes */;
2983 val
* var25
/* : Bytes */;
2984 val
* var27
/* : Bytes */;
2985 val
* var28
/* : String */;
2988 ((void(*)(val
* self
, val
* p0
))(self
->class->vft
[COLOR_nitc__literal___ASuperstringExpr___nitc__parser_nodes__ANode__visit_all
]))(self
, p0
); /* visit_all on <self:ASuperstringExpr>*/
2991 var
= nitc__literal___ASuperstringExpr___AAugmentedLiteral__prefix(self
);
2993 if (likely(varonce
!=NULL
)) {
2997 var4
= (val
*)(3l<<2|1);
2998 var5
= (val
*)(3l<<2|1);
2999 var6
= (val
*)((long)(0)<<2|3);
3000 var7
= (val
*)((long)(0)<<2|3);
3001 var3
= core__flat___CString___to_s_unsafe(var2
, var4
, var5
, var6
, var7
);
3006 { /* Inline kernel$Object$!= (var,var1) on <var:String> */
3009 var10
= ((short int(*)(val
* self
, val
* p0
))(var
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var
, var_other
); /* == on <var:String>*/
3019 { /* Inline parser_nodes$ASuperstringExpr$n_exprs (self) on <self:ASuperstringExpr> */
3020 var14
= self
->attrs
[COLOR_nitc__parser_nodes__ASuperstringExpr___n_exprs
].val
; /* _n_exprs on <self:ASuperstringExpr> */
3021 if (unlikely(var14
== NULL
)) {
3022 if(catchStack
.cursor
>= 0){
3023 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3025 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
3026 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2645);
3030 RET_LABEL13
:(void)0;
3035 var15
= nitc___nitc__ANodes___core__abstract_collection__Collection__iterator(var_
);
3040 var17
= ((short int(*)(val
* self
))((((long)var_16
&3)?class_info
[((long)var_16
&3)]:var_16
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_16
); /* is_ok on <var_16:Iterator[AExpr]>*/
3047 var18
= ((val
*(*)(val
* self
))((((long)var_16
&3)?class_info
[((long)var_16
&3)]:var_16
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_16
); /* item on <var_16:Iterator[AExpr]>*/
3050 /* <var_i:AExpr> isa AStringFormExpr */
3051 cltype
= type_nitc__AStringFormExpr
.color
;
3052 idtype
= type_nitc__AStringFormExpr
.id
;
3053 if(cltype
>= var_i
->type
->table_size
) {
3056 var19
= var_i
->type
->type_table
[cltype
] == idtype
;
3064 var22
= nitc__literal___AStringFormExpr___raw_text(var_i
);
3067 var23
= core__bytes___Text___unescape_to_bytes(var22
);
3070 { /* Inline literal$AStringFormExpr$bytes= (var_i,var23) on <var_i:AExpr(AStringFormExpr)> */
3071 var_i
->attrs
[COLOR_nitc__literal__AStringFormExpr___bytes
].val
= var23
; /* _bytes on <var_i:AExpr(AStringFormExpr)> */
3072 RET_LABEL24
:(void)0;
3076 { /* Inline literal$AStringFormExpr$bytes (var_i) on <var_i:AExpr(AStringFormExpr)> */
3077 var27
= var_i
->attrs
[COLOR_nitc__literal__AStringFormExpr___bytes
].val
; /* _bytes on <var_i:AExpr(AStringFormExpr)> */
3078 if (unlikely(var27
== NULL
)) {
3079 if(catchStack
.cursor
>= 0){
3080 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3082 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bytes");
3083 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__literal
, 204);
3087 RET_LABEL26
:(void)0;
3091 var28
= core___core__Bytes___core__abstract_text__Object__to_s(var25
);
3094 { /* Inline literal$AStringFormExpr$value= (var_i,var28) on <var_i:AExpr(AStringFormExpr)> */
3095 var_i
->attrs
[COLOR_nitc__literal__AStringFormExpr___value
].val
= var28
; /* _value on <var_i:AExpr(AStringFormExpr)> */
3096 RET_LABEL29
:(void)0;
3099 BREAK_label21
: (void)0;
3101 ((void(*)(val
* self
))((((long)var_16
&3)?class_info
[((long)var_16
&3)]:var_16
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_16
); /* next on <var_16:Iterator[AExpr]>*/
3104 BREAK_label
: (void)0;
3106 ((void(*)(val
* self
))((((long)var_16
&3)?class_info
[((long)var_16
&3)]:var_16
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_16
); /* finish on <var_16:Iterator[AExpr]>*/