1 /* This C file is generated by NIT to compile module symbol. */
2 #include "symbol._sep.h"
3 static const char LOCATE_symbol___String___to_symbol
[] = "symbol::String::to_symbol";
4 val_t
symbol___String___to_symbol(val_t p0
){
5 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
8 static val_t once_value_1
; /* Once value */
9 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10 fra
.me
.file
= LOCATE_symbol
;
12 fra
.me
.meth
= LOCATE_symbol___String___to_symbol
;
15 fra
.me
.nitni_local_ref_head
= NULL
;
16 fra
.me
.REG
[0] = NIT_NULL
;
17 fra
.me
.REG
[1] = NIT_NULL
;
18 fra
.me
.REG
[2] = NIT_NULL
;
19 fra
.me
.REG
[3] = NIT_NULL
;
21 /* ../lib/symbol.nit:21 */
23 fra
.me
.REG
[1] = NEW_HashMap_standard___collection___hash_collection___HashMap___init();
24 once_value_1
= fra
.me
.REG
[1];
25 register_static_object(&once_value_1
);
26 } else fra
.me
.REG
[1] = once_value_1
;
27 fra
.me
.REG
[1] = fra
.me
.REG
[1];
28 /* ../lib/symbol.nit:22 */
29 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
30 if (UNTAG_Bool(REGB0
)) {
31 /* ../lib/symbol.nit:23 */
32 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
35 /* ../lib/symbol.nit:25 */
36 fra
.me
.REG
[3] = NEW_Symbol_symbol___Symbol___init(fra
.me
.REG
[0]);
37 /* ../lib/symbol.nit:26 */
38 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[3]);
39 /* ../lib/symbol.nit:27 */
40 fra
.me
.REG
[2] = fra
.me
.REG
[3];
44 stack_frame_head
= fra
.me
.prev
;
47 static const char LOCATE_symbol___Symbol___to_s
[] = "symbol::Symbol::(string::Object::to_s)";
48 val_t
symbol___Symbol___to_s(val_t p0
){
49 struct {struct stack_frame_t me
;} fra
;
52 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
53 fra
.me
.file
= LOCATE_symbol
;
55 fra
.me
.meth
= LOCATE_symbol___Symbol___to_s
;
58 fra
.me
.nitni_local_ref_head
= NULL
;
59 fra
.me
.REG
[0] = NIT_NULL
;
61 /* ../lib/symbol.nit:35 */
62 REGB0
= TAG_Bool(ATTR_symbol___Symbol____string(fra
.me
.REG
[0])!=NIT_NULL
);
63 if (UNTAG_Bool(REGB0
)) {
65 nit_abort("Uninitialized attribute %s", "_string", LOCATE_symbol
, 35);
67 fra
.me
.REG
[0] = ATTR_symbol___Symbol____string(fra
.me
.REG
[0]);
68 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
71 stack_frame_head
= fra
.me
.prev
;
74 static const char LOCATE_symbol___Symbol___init
[] = "symbol::Symbol::init";
75 void symbol___Symbol___init(val_t p0
, val_t p1
, int* init_table
){
76 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_symbol___Symbol
].i
;
77 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
79 if (init_table
[itpos0
]) return;
80 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
81 fra
.me
.file
= LOCATE_symbol
;
83 fra
.me
.meth
= LOCATE_symbol___Symbol___init
;
86 fra
.me
.nitni_local_ref_head
= NULL
;
87 fra
.me
.REG
[0] = NIT_NULL
;
88 fra
.me
.REG
[1] = NIT_NULL
;
91 /* ../lib/symbol.nit:38 */
92 ATTR_symbol___Symbol____string(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
93 stack_frame_head
= fra
.me
.prev
;
94 init_table
[itpos0
] = 1;