+++ /dev/null
-/* This C file is generated by NIT to compile module symbol. */
-#include "symbol._sep.h"
-static const char LOCATE_symbol___String___to_symbol[] = "symbol::String::to_symbol";
-val_t symbol___String___to_symbol(val_t p0){
- struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
- val_t REGB0;
- val_t tmp;
- static val_t once_value_1; /* Once value */
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_symbol;
- fra.me.line = 18;
- fra.me.meth = LOCATE_symbol___String___to_symbol;
- fra.me.has_broke = 0;
- fra.me.REG_size = 4;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[1] = NIT_NULL;
- fra.me.REG[2] = NIT_NULL;
- fra.me.REG[3] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* ../lib/symbol.nit:21 */
- if (!once_value_1) {
- fra.me.REG[1] = NEW_HashMap_standard___collection___hash_collection___HashMap___init();
- once_value_1 = fra.me.REG[1];
- register_static_object(&once_value_1);
- } else fra.me.REG[1] = once_value_1;
- fra.me.REG[1] = fra.me.REG[1];
- /* ../lib/symbol.nit:22 */
- REGB0 = CALL_standard___collection___abstract_collection___MapRead___has_key(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
- if (UNTAG_Bool(REGB0)) {
- /* ../lib/symbol.nit:23 */
- fra.me.REG[2] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
- goto label2;
- } else {
- /* ../lib/symbol.nit:25 */
- fra.me.REG[3] = NEW_Symbol_symbol___Symbol___init(fra.me.REG[0]);
- /* ../lib/symbol.nit:26 */
- CALL_standard___collection___abstract_collection___Map_____braeq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0], fra.me.REG[3]);
- /* ../lib/symbol.nit:27 */
- fra.me.REG[2] = fra.me.REG[3];
- goto label2;
- }
- label2: while(0);
- stack_frame_head = fra.me.prev;
- return fra.me.REG[2];
-}
-static const char LOCATE_symbol___Symbol___to_s[] = "symbol::Symbol::(string::Object::to_s)";
-val_t symbol___Symbol___to_s(val_t p0){
- struct {struct stack_frame_t me;} fra;
- val_t REGB0;
- val_t tmp;
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_symbol;
- fra.me.line = 35;
- fra.me.meth = LOCATE_symbol___Symbol___to_s;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* ../lib/symbol.nit:35 */
- REGB0 = TAG_Bool(ATTR_symbol___Symbol____string(fra.me.REG[0])!=NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_string", LOCATE_symbol, 35);
- }
- fra.me.REG[0] = ATTR_symbol___Symbol____string(fra.me.REG[0]);
- fra.me.REG[0] = CALL_standard___string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
- goto label1;
- label1: while(0);
- stack_frame_head = fra.me.prev;
- return fra.me.REG[0];
-}
-static const char LOCATE_symbol___Symbol___init[] = "symbol::Symbol::init";
-void symbol___Symbol___init(val_t p0, val_t p1, int* init_table){
- int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_symbol___Symbol].i;
- struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
- val_t tmp;
- if (init_table[itpos0]) return;
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_symbol;
- fra.me.line = 37;
- fra.me.meth = LOCATE_symbol___Symbol___init;
- fra.me.has_broke = 0;
- fra.me.REG_size = 2;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[1] = NIT_NULL;
- fra.me.REG[0] = p0;
- fra.me.REG[1] = p1;
- /* ../lib/symbol.nit:38 */
- ATTR_symbol___Symbol____string(fra.me.REG[0]) = fra.me.REG[1];
- stack_frame_head = fra.me.prev;
- init_table[itpos0] = 1;
- return;
-}