1 /* This C file is generated by NIT to compile module symbol. */
2 #include "symbol._sep.h"
3 val_t
symbol___String___to_symbol(val_t p0
){
4 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
7 static val_t once_value_1
; /* Once value */
8 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9 fra
.me
.file
= LOCATE_symbol
;
11 fra
.me
.meth
= LOCATE_symbol___String___to_symbol
;
14 fra
.me
.REG
[0] = NIT_NULL
;
15 fra
.me
.REG
[1] = NIT_NULL
;
16 fra
.me
.REG
[2] = NIT_NULL
;
17 fra
.me
.REG
[3] = NIT_NULL
;
19 /* ./../lib/standard//symbol.nit:23 */
21 fra
.me
.REG
[1] = NEW_HashMap_hash_collection___HashMap___init();
22 once_value_1
= fra
.me
.REG
[1];
23 register_static_object(&once_value_1
);
24 } else fra
.me
.REG
[1] = once_value_1
;
25 REGB0
= CALL_abstract_collection___MapRead___has_key(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
26 /* ./../lib/standard//symbol.nit:24 */
27 if (UNTAG_Bool(REGB0
)) {
28 fra
.me
.REG
[2] = CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
29 /* ./../lib/standard//symbol.nit:25 */
32 fra
.me
.REG
[3] = NEW_Symbol_symbol___Symbol___init(fra
.me
.REG
[0]);
33 /* ./../lib/standard//symbol.nit:28 */
34 CALL_abstract_collection___Map_____braeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[3]);
35 fra
.me
.REG
[2] = fra
.me
.REG
[3];
36 /* ./../lib/standard//symbol.nit:29 */
40 stack_frame_head
= fra
.me
.prev
;
43 val_t
symbol___Symbol___to_s(val_t p0
){
44 struct {struct stack_frame_t me
;} fra
;
47 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
48 fra
.me
.file
= LOCATE_symbol
;
50 fra
.me
.meth
= LOCATE_symbol___Symbol___to_s
;
53 fra
.me
.REG
[0] = NIT_NULL
;
55 REGB0
= TAG_Bool(ATTR_symbol___Symbol____string(fra
.me
.REG
[0])!=NIT_NULL
);
56 /* ./../lib/standard//symbol.nit:37 */
57 if (UNTAG_Bool(REGB0
)) {
59 fprintf(stderr
, "Uninitialized attribute %s", "_string");
60 fprintf(stderr
, " (%s:%d)\n", LOCATE_symbol
, 37);
63 fra
.me
.REG
[0] = ATTR_symbol___Symbol____string(fra
.me
.REG
[0]);
64 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
67 stack_frame_head
= fra
.me
.prev
;
70 void symbol___Symbol___init(val_t p0
, val_t p1
, int* init_table
){
71 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_Symbol
].i
;
72 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
74 if (init_table
[itpos0
]) return;
75 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
76 fra
.me
.file
= LOCATE_symbol
;
78 fra
.me
.meth
= LOCATE_symbol___Symbol___init
;
81 fra
.me
.REG
[0] = NIT_NULL
;
82 fra
.me
.REG
[1] = NIT_NULL
;
85 /* ./../lib/standard//symbol.nit:40 */
86 ATTR_symbol___Symbol____string(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
87 stack_frame_head
= fra
.me
.prev
;
88 init_table
[itpos0
] = 1;