X-Git-Url: http://nitlanguage.org diff --git a/c_src/symbol._sep.c b/c_src/symbol._sep.c index 0a5ab50..2361fd6 100644 --- a/c_src/symbol._sep.c +++ b/c_src/symbol._sep.c @@ -1,70 +1,90 @@ /* This C file is generated by NIT to compile module symbol. */ #include "symbol._sep.h" -val_t symbol___String___to_symbol(val_t self) { - struct trace_t trace = {NULL, NULL, 20, LOCATE_symbol___String___to_symbol}; - static val_t once_value_1; static int once_bool_1; /* Once value for variable[3]*/ - val_t variable[6]; - void **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_symbol; - variable[0] = self; - if (once_bool_1) variable[3] = once_value_1; - else { - variable[3] = NEW_HashMap_hash___HashMap___init(); /*new HashMap[String, Symbol]*/ - once_value_1 = variable[3]; - once_bool_1 = true; +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 = 20; + fra.me.meth = LOCATE_symbol___String___to_symbol; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + 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/standard//symbol.nit:23 */ + if (!once_value_1) { + fra.me.REG[1] = NEW_HashMap_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/standard//symbol.nit:24 */ + REGB0 = CALL_abstract_collection___MapRead___has_key(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]); + if (UNTAG_Bool(REGB0)) { + /* ./../lib/standard//symbol.nit:25 */ + fra.me.REG[2] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]); + goto label2; + } else { + /* ./../lib/standard//symbol.nit:27 */ + fra.me.REG[3] = NEW_Symbol_symbol___Symbol___init(fra.me.REG[0]); + /* ./../lib/standard//symbol.nit:28 */ + CALL_abstract_collection___Map_____braeq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0], fra.me.REG[3]); + /* ./../lib/standard//symbol.nit:29 */ + fra.me.REG[2] = fra.me.REG[3]; + goto label2; } - variable[2] = variable[3]; - variable[3] = variable[0]; - variable[3] = ((abstract_collection___CoupleMap___has_key_t)CALL( variable[2] /*symbol_dictionary*/,COLOR_abstract_collection___Map___has_key))( variable[2] /*symbol_dictionary*/, variable[3]) /*CoupleMap::has_key*/; - if (UNTAG_Bool(variable[3])) { /*if*/ - variable[3] = variable[0]; - variable[3] = ((abstract_collection___CoupleMap_____bra_t)CALL( variable[2] /*symbol_dictionary*/,COLOR_abstract_collection___Map_____bra))( variable[2] /*symbol_dictionary*/, variable[3]) /*CoupleMap::[]*/; - variable[1] = variable[3]; - goto return_label0; - } else { /*if*/ - variable[4] = variable[0]; - variable[5] = NEW_Symbol_symbol___Symbol___init(variable[4]); /*new Symbol*/ - variable[4] = variable[5]; - variable[3] = variable[4]; - variable[4] = variable[0]; - ((hash___HashMap_____braeq_t)CALL( variable[2] /*symbol_dictionary*/,COLOR_abstract_collection___Map_____braeq))( variable[2] /*symbol_dictionary*/, variable[4], variable[3] /*symbol*/) /*HashMap::[]=*/; - variable[1] = variable[3] /*symbol*/; - goto return_label0; - } - return_label0: while(false); - tracehead = trace.prev; - return variable[1]; + label2: while(0); + stack_frame_head = fra.me.prev; + return fra.me.REG[2]; } -val_t symbol___Symbol___to_s(val_t self) { - struct trace_t trace = {NULL, NULL, 37, LOCATE_symbol___Symbol___to_s}; - val_t variable[3]; - void **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_symbol; - variable[0] = self; - variable[2] = variable[0]; - variable[2] = ATTR_symbol___Symbol____string(variable[2]) /*Symbol::_string*/; - variable[2] = ((string___String___to_s_t)CALL(variable[2],COLOR_string___Object___to_s))(variable[2]) /*String::to_s*/; - variable[1] = variable[2]; - goto return_label2; - return_label2: while(false); - tracehead = trace.prev; - return variable[1]; +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 = 37; + fra.me.meth = LOCATE_symbol___Symbol___to_s; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./../lib/standard//symbol.nit:37 */ + 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, 37); + } + fra.me.REG[0] = ATTR_symbol___Symbol____string(fra.me.REG[0]); + fra.me.REG[0] = CALL_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]; } -void symbol___Symbol___init(val_t self, val_t param0, int* init_table) { - struct trace_t trace = {NULL, NULL, 39, LOCATE_symbol___Symbol___init}; - val_t variable[4]; - void **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_symbol; - variable[0] = self; - variable[1] = param0; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Symbol].i]) return; - variable[3] = variable[0]; - ATTR_symbol___Symbol____string(variable[3]) /*Symbol::_string*/ = variable[1] /*s*/; - return_label3: while(false); - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Symbol].i] = 1; - tracehead = trace.prev; +void symbol___Symbol___init(val_t p0, val_t p1, int* init_table){ + int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_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 = 39; + fra.me.meth = LOCATE_symbol___Symbol___init; + fra.me.has_broke = 0; + fra.me.REG_size = 2; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + /* ./../lib/standard//symbol.nit:40 */ + ATTR_symbol___Symbol____string(fra.me.REG[0]) = fra.me.REG[1]; + stack_frame_head = fra.me.prev; + init_table[itpos0] = 1; return; }