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 fra
.me
.REG
[1] = fra
.me
.REG
[1];
26 /* ./../lib/standard//symbol.nit:24 */
27 REGB0
= CALL_abstract_collection___MapRead___has_key(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
28 if (UNTAG_Bool(REGB0
)) {
29 /* ./../lib/standard//symbol.nit:25 */
30 fra
.me
.REG
[2] = CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
33 /* ./../lib/standard//symbol.nit:27 */
34 fra
.me
.REG
[3] = NEW_Symbol_symbol___Symbol___init(fra
.me
.REG
[0]);
35 /* ./../lib/standard//symbol.nit:28 */
36 CALL_abstract_collection___Map_____braeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[3]);
37 /* ./../lib/standard//symbol.nit:29 */
38 fra
.me
.REG
[2] = fra
.me
.REG
[3];
42 stack_frame_head
= fra
.me
.prev
;
45 val_t
symbol___Symbol___to_s(val_t p0
){
46 struct {struct stack_frame_t me
;} fra
;
49 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
50 fra
.me
.file
= LOCATE_symbol
;
52 fra
.me
.meth
= LOCATE_symbol___Symbol___to_s
;
55 fra
.me
.REG
[0] = NIT_NULL
;
57 /* ./../lib/standard//symbol.nit:37 */
58 REGB0
= TAG_Bool(ATTR_symbol___Symbol____string(fra
.me
.REG
[0])!=NIT_NULL
);
59 if (UNTAG_Bool(REGB0
)) {
61 nit_abort("Uninitialized attribute %s", "_string", 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;