1 /* This C file is generated by NIT to compile module standard___symbol. */
2 #include "standard___symbol._sep.h"
3 val_t
standard___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_standard___symbol
;
11 fra
.me
.meth
= LOCATE_standard___symbol___String___to_symbol
;
14 fra
.me
.nitni_local_ref_head
= NULL
;
15 fra
.me
.REG
[0] = NIT_NULL
;
16 fra
.me
.REG
[1] = NIT_NULL
;
17 fra
.me
.REG
[2] = NIT_NULL
;
18 fra
.me
.REG
[3] = NIT_NULL
;
20 /* ../lib/standard/symbol.nit:23 */
22 fra
.me
.REG
[1] = NEW_HashMap_standard___collection___hash_collection___HashMap___init();
23 once_value_1
= fra
.me
.REG
[1];
24 register_static_object(&once_value_1
);
25 } else fra
.me
.REG
[1] = once_value_1
;
26 fra
.me
.REG
[1] = fra
.me
.REG
[1];
27 /* ../lib/standard/symbol.nit:24 */
28 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
29 if (UNTAG_Bool(REGB0
)) {
30 /* ../lib/standard/symbol.nit:25 */
31 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
34 /* ../lib/standard/symbol.nit:27 */
35 fra
.me
.REG
[3] = NEW_Symbol_standard___symbol___Symbol___init(fra
.me
.REG
[0]);
36 /* ../lib/standard/symbol.nit:28 */
37 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[3]);
38 /* ../lib/standard/symbol.nit:29 */
39 fra
.me
.REG
[2] = fra
.me
.REG
[3];
43 stack_frame_head
= fra
.me
.prev
;
46 val_t
standard___symbol___Symbol___to_s(val_t p0
){
47 struct {struct stack_frame_t me
;} fra
;
50 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
51 fra
.me
.file
= LOCATE_standard___symbol
;
53 fra
.me
.meth
= LOCATE_standard___symbol___Symbol___to_s
;
56 fra
.me
.nitni_local_ref_head
= NULL
;
57 fra
.me
.REG
[0] = NIT_NULL
;
59 /* ../lib/standard/symbol.nit:37 */
60 REGB0
= TAG_Bool(ATTR_standard___symbol___Symbol____string(fra
.me
.REG
[0])!=NIT_NULL
);
61 if (UNTAG_Bool(REGB0
)) {
63 nit_abort("Uninitialized attribute %s", "_string", LOCATE_standard___symbol
, 37);
65 fra
.me
.REG
[0] = ATTR_standard___symbol___Symbol____string(fra
.me
.REG
[0]);
66 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
69 stack_frame_head
= fra
.me
.prev
;
72 void standard___symbol___Symbol___init(val_t p0
, val_t p1
, int* init_table
){
73 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___symbol___Symbol
].i
;
74 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
76 if (init_table
[itpos0
]) return;
77 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
78 fra
.me
.file
= LOCATE_standard___symbol
;
80 fra
.me
.meth
= LOCATE_standard___symbol___Symbol___init
;
83 fra
.me
.nitni_local_ref_head
= NULL
;
84 fra
.me
.REG
[0] = NIT_NULL
;
85 fra
.me
.REG
[1] = NIT_NULL
;
88 /* ../lib/standard/symbol.nit:40 */
89 ATTR_standard___symbol___Symbol____string(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
90 stack_frame_head
= fra
.me
.prev
;
91 init_table
[itpos0
] = 1;