/* This C file is generated by NIT to compile module utils. */
#include "utils._sep.h"
-val_t utils___Object___cmangle(val_t self, val_t param0) {
- struct trace_t trace = {NULL, NULL, 21, LOCATE_utils___Object___cmangle};
- static val_t once_value_1; static int once_bool_1; /* Once value for variable[4]*/
- val_t variable[15];
- struct WBT_ **closurevariable = NULL;
- trace.prev = tracehead; tracehead = &trace;
- trace.file = LOCATE_utils;
- /* Register variable[0]: Local variable */
- variable[0] = self;
- /* Register variable[1]: Local variable */
- /* check if p<Array[Symbol] with p:Symbol */
- if (( param0!=NIT_NULL) && !VAL_ISA( param0, COLOR_Array, ID_Array)) { fprintf(stderr, "Cast failled"); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_utils___Object___cmangle, LOCATE_utils, 22); nit_exit(1); } /*cast Array[Symbol]*/;
- variable[1] = param0;
- /* Register variable[2]: Method return value and escape marker */
- /* Register variable[3]: Local variable */
- /* Register variable[4]: Once expression result */
- if (once_bool_1) variable[4] = once_value_1;
- else {
- /* Register variable[4]: Result */
- variable[4] = CALL_utils___Object___cmangle_table(variable[0])(variable[0]) /*Object::cmangle_table*/;
- once_value_1 = variable[4];
- once_bool_1 = true;
+val_t utils___Object___cmangle(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
+ val_t REGB0;
+ val_t REGB1;
+ val_t REGB2;
+ val_t REGB3;
+ val_t REGB4;
+ val_t REGB5;
+ 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_utils;
+ fra.me.line = 21;
+ fra.me.meth = LOCATE_utils___Object___cmangle;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ 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[4] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[1], COLOR_Array, ID_Array)) /*cast Array[Symbol]*/;
+ /* ./utils.nit:21 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Cast failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_utils, 21);
+ nit_exit(1);
}
- /* Register variable[4]: Result */
- variable[3] = variable[4];
- /* Register variable[4]: Local variable */
- /* Register variable[5]: Result */
- variable[5] = NEW_Buffer_string___Buffer___init() /*new Buffer*/;
- variable[4] = variable[5];
- /* Register variable[5]: For iterator */
- variable[5] = CALL_abstract_collection___Collection___iterator( variable[1] /*symbols*/)( variable[1] /*symbols*/) /*AbstractArrayRead::iterator*/;
- while (true) { /*for*/
- /* Register variable[6]: For 'is_ok' result */
- variable[6] = CALL_abstract_collection___Iterator___is_ok(variable[5])(variable[5]) /*ArrayIterator::is_ok*/;
- if (!UNTAG_Bool(variable[6])) break; /*for*/
- variable[6] = CALL_abstract_collection___Iterator___item(variable[5])(variable[5]) /*ArrayIterator::item*/ /* Ensure var: For item*/;
- /* Register variable[7]: Local variable */
- variable[7] = variable[6];
- /* Register variable[8]: Result */
- variable[8] = CALL_abstract_collection___Collection___is_empty( variable[4] /*res*/)( variable[4] /*res*/) /*AbstractArrayRead::is_empty*/;
- if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable[8])))) { /*if*/
- CALL_abstract_collection___SimpleCollection___add( variable[4] /*res*/)( variable[4] /*res*/, TAG_Char('_')) /*Buffer::add*/;
- CALL_abstract_collection___SimpleCollection___add( variable[4] /*res*/)( variable[4] /*res*/, TAG_Char('_')) /*Buffer::add*/;
- CALL_abstract_collection___SimpleCollection___add( variable[4] /*res*/)( variable[4] /*res*/, TAG_Char('_')) /*Buffer::add*/;
- }
- /* Register variable[8]: Local variable */
- variable[8] = TAG_Bool(false);
- /* Register variable[9]: Local variable */
- variable[9] = TAG_Bool(true);
- /* Register variable[10]: Local variable */
- /* Register variable[11]: Result */
- variable[11] = CALL_string___Object___to_s( variable[7] /*sym*/)( variable[7] /*sym*/) /*Symbol::to_s*/;
- variable[10] = variable[11];
- /* Register variable[11]: For iterator */
- variable[11] = CALL_abstract_collection___Collection___iterator( variable[10] /*s*/)( variable[10] /*s*/) /*AbstractArrayRead::iterator*/;
- while (true) { /*for*/
- /* Register variable[12]: For 'is_ok' result */
- variable[12] = CALL_abstract_collection___Iterator___is_ok(variable[11])(variable[11]) /*ArrayIterator::is_ok*/;
- if (!UNTAG_Bool(variable[12])) break; /*for*/
- variable[12] = CALL_abstract_collection___Iterator___item(variable[11])(variable[11]) /*ArrayIterator::item*/ /* Ensure var: For item*/;
- /* Register variable[13]: Local variable */
- variable[13] = variable[12];
- /* Register variable[14]: Result */
- variable[14] = TAG_Bool(UNTAG_Char( variable[13] /*c*/)>=UNTAG_Char( TAG_Char('a')));
- /* Ensure var variable[14]: Left 'and' operand*/
- if (UNTAG_Bool(variable[14])) { /* and */
- /* Register variable[14]: Result */
- variable[14] = TAG_Bool(UNTAG_Char( variable[13] /*c*/)<=UNTAG_Char( TAG_Char('z')));
- }
- /* Register variable[14]: Result */
- /* Ensure var variable[14]: Left 'or' operand*/
- if (!UNTAG_Bool(variable[14])) { /* or */
- /* Register variable[14]: Result */
- variable[14] = TAG_Bool(UNTAG_Char( variable[13] /*c*/)>=UNTAG_Char( TAG_Char('A')));
- /* Ensure var variable[14]: Left 'and' operand*/
- if (UNTAG_Bool(variable[14])) { /* and */
- /* Register variable[14]: Result */
- variable[14] = TAG_Bool(UNTAG_Char( variable[13] /*c*/)<=UNTAG_Char( TAG_Char('Z')));
- }
- /* Register variable[14]: Result */
+ /* ./utils.nit:24 */
+ if (!once_value_1) {
+ fra.me.REG[0] = CALL_utils___Object___cmangle_table(fra.me.REG[0])(fra.me.REG[0]);
+ once_value_1 = fra.me.REG[0];
+ register_static_object(&once_value_1);
+ } else fra.me.REG[0] = once_value_1;
+ fra.me.REG[2] = NEW_Buffer_string___Buffer___init();
+ fra.me.REG[1] = CALL_abstract_collection___Collection___iterator(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./utils.nit:26 */
+ while(1) {
+ REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[1])(fra.me.REG[1]);
+ if (UNTAG_Bool(REGB0)) {
+ fra.me.REG[3] = CALL_abstract_collection___Iterator___item(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[2])(fra.me.REG[2]);
+ REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
+ /* ./utils.nit:27 */
+ if (UNTAG_Bool(REGB0)) {
+ REGB0 = TAG_Char('_');
+ /* ./utils.nit:28 */
+ CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], REGB0);
+ REGB0 = TAG_Char('_');
+ /* ./utils.nit:29 */
+ CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], REGB0);
+ REGB0 = TAG_Char('_');
+ /* ./utils.nit:30 */
+ CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], REGB0);
}
- /* Register variable[14]: Result */
- /* Ensure var variable[14]: Left 'or' operand*/
- if (!UNTAG_Bool(variable[14])) { /* or */
- /* Register variable[14]: Result */
- variable[14] = TAG_Bool(UNTAG_Char( variable[13] /*c*/)>=UNTAG_Char( TAG_Char('0')));
- /* Ensure var variable[14]: Left 'and' operand*/
- if (UNTAG_Bool(variable[14])) { /* and */
- /* Register variable[14]: Result */
- variable[14] = TAG_Bool(UNTAG_Char( variable[13] /*c*/)<=UNTAG_Char( TAG_Char('9')));
- }
- /* Register variable[14]: Result */
- }
- /* Register variable[14]: Result */
- if (UNTAG_Bool(variable[14])) { /*if*/
- CALL_abstract_collection___SimpleCollection___add( variable[4] /*res*/)( variable[4] /*res*/, variable[13] /*c*/) /*Buffer::add*/;
- variable[8] = TAG_Bool(false) /*underscore=*/;
- variable[9] = TAG_Bool(true) /*normal=*/;
- } else { /*if*/
- /* Register variable[14]: Result */
- variable[14] = TAG_Bool(( variable[13] /*c*/)==( TAG_Char('_')));
- /* Ensure var variable[14]: Left 'and' operand*/
- if (UNTAG_Bool(variable[14])) { /* and */
- variable[14] = TAG_Bool(!UNTAG_Bool( variable[8] /*underscore*/));
- }
- /* Register variable[14]: Result */
- if (UNTAG_Bool(variable[14])) { /*if*/
- CALL_abstract_collection___SimpleCollection___add( variable[4] /*res*/)( variable[4] /*res*/, variable[13] /*c*/) /*Buffer::add*/;
- variable[8] = TAG_Bool(true) /*underscore=*/;
- variable[9] = TAG_Bool(true) /*normal=*/;
- } else { /*if*/
- /* Register variable[14]: Result */
- variable[14] = CALL_abstract_collection___MapRead___has_key( variable[3] /*table*/)( variable[3] /*table*/, variable[13] /*c*/) /*CoupleMap::has_key*/;
- if (UNTAG_Bool(variable[14])) { /*if*/
- if (UNTAG_Bool( variable[9] /*normal*/)) { /*if*/
- CALL_abstract_collection___SimpleCollection___add( variable[4] /*res*/)( variable[4] /*res*/, TAG_Char('_')) /*Buffer::add*/;
- CALL_abstract_collection___SimpleCollection___add( variable[4] /*res*/)( variable[4] /*res*/, TAG_Char('_')) /*Buffer::add*/;
+ REGB0 = TAG_Bool(false);
+ REGB1 = TAG_Bool(true);
+ fra.me.REG[3] = CALL_string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
+ fra.me.REG[3] = CALL_abstract_collection___Collection___iterator(fra.me.REG[3])(fra.me.REG[3]);
+ /* ./utils.nit:35 */
+ while(1) {
+ REGB2 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[3])(fra.me.REG[3]);
+ if (UNTAG_Bool(REGB2)) {
+ REGB2 = CALL_abstract_collection___Iterator___item(fra.me.REG[3])(fra.me.REG[3]);
+ REGB3 = TAG_Char('a');
+ REGB3 = TAG_Bool(UNTAG_Char(REGB2)>=UNTAG_Char(REGB3));
+ /* ./utils.nit:36 */
+ if (UNTAG_Bool(REGB3)) {
+ REGB3 = TAG_Char('z');
+ REGB3 = TAG_Bool(UNTAG_Char(REGB2)<=UNTAG_Char(REGB3));
+ /* ./utils.nit:36 */
+ } else {
+ REGB4 = TAG_Bool(false);
+ REGB3 = REGB4;
+ }
+ if (UNTAG_Bool(REGB3)) {
+ REGB3 = TAG_Bool(true);
+ } else {
+ REGB4 = TAG_Char('A');
+ REGB4 = TAG_Bool(UNTAG_Char(REGB2)>=UNTAG_Char(REGB4));
+ /* ./utils.nit:36 */
+ if (UNTAG_Bool(REGB4)) {
+ REGB4 = TAG_Char('Z');
+ REGB4 = TAG_Bool(UNTAG_Char(REGB2)<=UNTAG_Char(REGB4));
+ /* ./utils.nit:36 */
+ } else {
+ REGB5 = TAG_Bool(false);
+ REGB4 = REGB5;
+ }
+ REGB3 = REGB4;
+ }
+ if (UNTAG_Bool(REGB3)) {
+ REGB3 = TAG_Bool(true);
+ } else {
+ REGB4 = TAG_Char('0');
+ REGB4 = TAG_Bool(UNTAG_Char(REGB2)>=UNTAG_Char(REGB4));
+ /* ./utils.nit:36 */
+ if (UNTAG_Bool(REGB4)) {
+ REGB4 = TAG_Char('9');
+ REGB4 = TAG_Bool(UNTAG_Char(REGB2)<=UNTAG_Char(REGB4));
+ /* ./utils.nit:36 */
+ } else {
+ REGB5 = TAG_Bool(false);
+ REGB4 = REGB5;
+ }
+ REGB3 = REGB4;
+ }
+ if (UNTAG_Bool(REGB3)) {
+ /* ./utils.nit:37 */
+ CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], REGB2);
+ REGB3 = TAG_Bool(false);
+ REGB0 = REGB3;
+ REGB3 = TAG_Bool(true);
+ REGB1 = REGB3;
+ /* ./utils.nit:39 */
+ } else {
+ REGB3 = TAG_Char('_');
+ REGB4 = TAG_Bool(IS_EQUAL_OO(REGB2,REGB3));
+ /* ./utils.nit:40 */
+ if (UNTAG_Bool(REGB4)) {
+ } else {
+ REGB3 = TAG_Bool((REGB2)==(REGB3));
+ REGB4 = REGB3;
+ /* ./utils.nit:40 */
+ }
+ if (UNTAG_Bool(REGB4)) {
+ REGB4 = TAG_Bool(!UNTAG_Bool(REGB0));
+ } else {
+ REGB3 = TAG_Bool(false);
+ REGB4 = REGB3;
+ }
+ if (UNTAG_Bool(REGB4)) {
+ /* ./utils.nit:41 */
+ CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], REGB2);
+ REGB4 = TAG_Bool(true);
+ REGB0 = REGB4;
+ REGB4 = TAG_Bool(true);
+ REGB1 = REGB4;
+ /* ./utils.nit:43 */
+ } else {
+ REGB4 = CALL_abstract_collection___MapRead___has_key(fra.me.REG[0])(fra.me.REG[0], REGB2);
+ /* ./utils.nit:44 */
+ if (UNTAG_Bool(REGB4)) {
+ /* ./utils.nit:45 */
+ if (UNTAG_Bool(REGB1)) {
+ REGB4 = TAG_Char('_');
+ /* ./utils.nit:46 */
+ CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], REGB4);
+ REGB4 = TAG_Char('_');
+ /* ./utils.nit:47 */
+ CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], REGB4);
+ }
+ fra.me.REG[4] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[0])(fra.me.REG[0], REGB2);
+ /* ./utils.nit:49 */
+ CALL_abstract_collection___Sequence___append(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4]);
+ REGB2 = TAG_Bool(false);
+ REGB1 = REGB2;
+ REGB2 = TAG_Bool(false);
+ REGB0 = REGB2;
+ /* ./utils.nit:51 */
+ }
}
- /* Register variable[14]: Result */
- variable[14] = CALL_abstract_collection___MapRead_____bra( variable[3] /*table*/)( variable[3] /*table*/, variable[13] /*c*/) /*CoupleMap::[]*/;
- CALL_abstract_collection___IndexedCollection___append( variable[4] /*res*/)( variable[4] /*res*/, variable[14]) /*Buffer::append*/;
- variable[9] = TAG_Bool(false) /*normal=*/;
- variable[8] = TAG_Bool(false) /*underscore=*/;
}
+ } else {
+ /* ./utils.nit:35 */
+ goto label2;
}
+ CALL_abstract_collection___Iterator___next(fra.me.REG[3])(fra.me.REG[3]);
}
- continue_3: while(0);
- CALL_abstract_collection___Iterator___next(variable[11])(variable[11]) /*ArrayIterator::next*/;
+ label2: while(0);
+ } else {
+ /* ./utils.nit:26 */
+ goto label3;
}
- break_3: while(0);
- continue_2: while(0);
- CALL_abstract_collection___Iterator___next(variable[5])(variable[5]) /*ArrayIterator::next*/;
+ CALL_abstract_collection___Iterator___next(fra.me.REG[1])(fra.me.REG[1]);
}
- break_2: while(0);
- /* Register variable[5]: Result */
- variable[5] = CALL_string___Object___to_s( variable[4] /*res*/)( variable[4] /*res*/) /*Buffer::to_s*/;
- variable[2] = variable[5];
- goto return_label0;
- return_label0: while(false);
- tracehead = trace.prev;
- return variable[2];
+ label3: while(0);
+ fra.me.REG[2] = CALL_string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
+ /* ./utils.nit:55 */
+ goto label4;
+ label4: while(0);
+ stack_frame_head = fra.me.prev;
+ return fra.me.REG[2];
}
-val_t utils___Object___cmangle_table(val_t self) {
- struct trace_t trace = {NULL, NULL, 58, LOCATE_utils___Object___cmangle_table};
- static val_t once_value_5 = NIT_NULL; /* Once value for string variable[3]*/
- static val_t once_value_6 = NIT_NULL; /* Once value for string variable[3]*/
- static val_t once_value_7 = NIT_NULL; /* Once value for string variable[3]*/
- static val_t once_value_8 = NIT_NULL; /* Once value for string variable[3]*/
- static val_t once_value_9 = NIT_NULL; /* Once value for string variable[3]*/
- static val_t once_value_10 = NIT_NULL; /* Once value for string variable[3]*/
- static val_t once_value_11 = NIT_NULL; /* Once value for string variable[3]*/
- static val_t once_value_12 = NIT_NULL; /* Once value for string variable[3]*/
- static val_t once_value_13 = NIT_NULL; /* Once value for string variable[3]*/
- static val_t once_value_14 = NIT_NULL; /* Once value for string variable[3]*/
- static val_t once_value_15 = NIT_NULL; /* Once value for string variable[3]*/
- static val_t once_value_16 = NIT_NULL; /* Once value for string variable[3]*/
- val_t variable[4];
- struct WBT_ **closurevariable = NULL;
- trace.prev = tracehead; tracehead = &trace;
- trace.file = LOCATE_utils;
- /* Register variable[0]: Local variable */
- variable[0] = self;
- /* Register variable[1]: Method return value and escape marker */
- /* Register variable[2]: Local variable */
- /* Register variable[3]: Result */
- variable[3] = NEW_HashMap_hash___HashMap___init() /*new HashMap[Char, String]*/;
- variable[2] = variable[3];
- /* Register variable[3]: Once String constant */
- if (once_value_5 != NIT_NULL) variable[3] = once_value_5;
- else {
- variable[3] = NEW_String_string___String___with_native(BOX_NativeString("plus"), TAG_Int(4)) /*new String*/;
- once_value_5 = variable[3];
- }
- /* Register variable[3]: Result */
- CALL_abstract_collection___Map_____braeq( variable[2] /*res*/)( variable[2] /*res*/, TAG_Char('+'), variable[3]) /*HashMap::[]=*/;
- /* Register variable[3]: Once String constant */
- if (once_value_6 != NIT_NULL) variable[3] = once_value_6;
- else {
- variable[3] = NEW_String_string___String___with_native(BOX_NativeString("minus"), TAG_Int(5)) /*new String*/;
- once_value_6 = variable[3];
- }
- /* Register variable[3]: Result */
- CALL_abstract_collection___Map_____braeq( variable[2] /*res*/)( variable[2] /*res*/, TAG_Char('-'), variable[3]) /*HashMap::[]=*/;
- /* Register variable[3]: Once String constant */
- if (once_value_7 != NIT_NULL) variable[3] = once_value_7;
- else {
- variable[3] = NEW_String_string___String___with_native(BOX_NativeString("star"), TAG_Int(4)) /*new String*/;
- once_value_7 = variable[3];
- }
- /* Register variable[3]: Result */
- CALL_abstract_collection___Map_____braeq( variable[2] /*res*/)( variable[2] /*res*/, TAG_Char('*'), variable[3]) /*HashMap::[]=*/;
- /* Register variable[3]: Once String constant */
- if (once_value_8 != NIT_NULL) variable[3] = once_value_8;
- else {
- variable[3] = NEW_String_string___String___with_native(BOX_NativeString("slash"), TAG_Int(5)) /*new String*/;
- once_value_8 = variable[3];
- }
- /* Register variable[3]: Result */
- CALL_abstract_collection___Map_____braeq( variable[2] /*res*/)( variable[2] /*res*/, TAG_Char('/'), variable[3]) /*HashMap::[]=*/;
- /* Register variable[3]: Once String constant */
- if (once_value_9 != NIT_NULL) variable[3] = once_value_9;
- else {
- variable[3] = NEW_String_string___String___with_native(BOX_NativeString("percent"), TAG_Int(7)) /*new String*/;
- once_value_9 = variable[3];
- }
- /* Register variable[3]: Result */
- CALL_abstract_collection___Map_____braeq( variable[2] /*res*/)( variable[2] /*res*/, TAG_Char('%'), variable[3]) /*HashMap::[]=*/;
- /* Register variable[3]: Once String constant */
- if (once_value_10 != NIT_NULL) variable[3] = once_value_10;
- else {
- variable[3] = NEW_String_string___String___with_native(BOX_NativeString("bra"), TAG_Int(3)) /*new String*/;
- once_value_10 = variable[3];
- }
- /* Register variable[3]: Result */
- CALL_abstract_collection___Map_____braeq( variable[2] /*res*/)( variable[2] /*res*/, TAG_Char('['), variable[3]) /*HashMap::[]=*/;
- /* Register variable[3]: Once String constant */
- if (once_value_11 != NIT_NULL) variable[3] = once_value_11;
- else {
- variable[3] = NEW_String_string___String___with_native(BOX_NativeString("eq"), TAG_Int(2)) /*new String*/;
- once_value_11 = variable[3];
- }
- /* Register variable[3]: Result */
- CALL_abstract_collection___Map_____braeq( variable[2] /*res*/)( variable[2] /*res*/, TAG_Char('='), variable[3]) /*HashMap::[]=*/;
- /* Register variable[3]: Once String constant */
- if (once_value_12 != NIT_NULL) variable[3] = once_value_12;
- else {
- variable[3] = NEW_String_string___String___with_native(BOX_NativeString("l"), TAG_Int(1)) /*new String*/;
- once_value_12 = variable[3];
- }
- /* Register variable[3]: Result */
- CALL_abstract_collection___Map_____braeq( variable[2] /*res*/)( variable[2] /*res*/, TAG_Char('<'), variable[3]) /*HashMap::[]=*/;
- /* Register variable[3]: Once String constant */
- if (once_value_13 != NIT_NULL) variable[3] = once_value_13;
- else {
- variable[3] = NEW_String_string___String___with_native(BOX_NativeString("g"), TAG_Int(1)) /*new String*/;
- once_value_13 = variable[3];
- }
- /* Register variable[3]: Result */
- CALL_abstract_collection___Map_____braeq( variable[2] /*res*/)( variable[2] /*res*/, TAG_Char('>'), variable[3]) /*HashMap::[]=*/;
- /* Register variable[3]: Once String constant */
- if (once_value_14 != NIT_NULL) variable[3] = once_value_14;
- else {
- variable[3] = NEW_String_string___String___with_native(BOX_NativeString("n"), TAG_Int(1)) /*new String*/;
- once_value_14 = variable[3];
- }
- /* Register variable[3]: Result */
- CALL_abstract_collection___Map_____braeq( variable[2] /*res*/)( variable[2] /*res*/, TAG_Char('!'), variable[3]) /*HashMap::[]=*/;
- /* Register variable[3]: Once String constant */
- if (once_value_15 != NIT_NULL) variable[3] = once_value_15;
- else {
- variable[3] = NEW_String_string___String___with_native(BOX_NativeString("u"), TAG_Int(1)) /*new String*/;
- once_value_15 = variable[3];
- }
- /* Register variable[3]: Result */
- CALL_abstract_collection___Map_____braeq( variable[2] /*res*/)( variable[2] /*res*/, TAG_Char('_'), variable[3]) /*HashMap::[]=*/;
- /* Register variable[3]: Once String constant */
- if (once_value_16 != NIT_NULL) variable[3] = once_value_16;
- else {
- variable[3] = NEW_String_string___String___with_native(BOX_NativeString("at"), TAG_Int(2)) /*new String*/;
- once_value_16 = variable[3];
- }
- /* Register variable[3]: Result */
- CALL_abstract_collection___Map_____braeq( variable[2] /*res*/)( variable[2] /*res*/, TAG_Char('@'), variable[3]) /*HashMap::[]=*/;
- variable[1] = variable[2] /*res*/;
- goto return_label4;
- return_label4: while(false);
- tracehead = trace.prev;
- return variable[1];
+val_t utils___Object___cmangle_table(val_t p0){
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ val_t REGB1;
+ val_t tmp;
+ static val_t once_value_1; /* Once value */
+ static val_t once_value_2; /* Once value */
+ static val_t once_value_3; /* Once value */
+ static val_t once_value_4; /* Once value */
+ static val_t once_value_5; /* Once value */
+ static val_t once_value_6; /* Once value */
+ static val_t once_value_7; /* Once value */
+ static val_t once_value_8; /* Once value */
+ static val_t once_value_9; /* Once value */
+ static val_t once_value_10; /* Once value */
+ static val_t once_value_11; /* Once value */
+ static val_t once_value_12; /* Once value */
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_utils;
+ fra.me.line = 58;
+ fra.me.meth = LOCATE_utils___Object___cmangle_table;
+ 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[0] = NEW_HashMap_hash_collection___HashMap___init();
+ REGB0 = TAG_Char('+');
+ /* ./utils.nit:62 */
+ if (!once_value_1) {
+ fra.me.REG[1] = BOX_NativeString("plus");
+ REGB1 = TAG_Int(4);
+ fra.me.REG[1] = NEW_String_string___String___with_native(fra.me.REG[1], REGB1);
+ once_value_1 = fra.me.REG[1];
+ register_static_object(&once_value_1);
+ } else fra.me.REG[1] = once_value_1;
+ CALL_abstract_collection___Map_____braeq(fra.me.REG[0])(fra.me.REG[0], REGB0, fra.me.REG[1]);
+ REGB0 = TAG_Char('-');
+ /* ./utils.nit:63 */
+ if (!once_value_2) {
+ fra.me.REG[1] = BOX_NativeString("minus");
+ REGB1 = TAG_Int(5);
+ fra.me.REG[1] = NEW_String_string___String___with_native(fra.me.REG[1], REGB1);
+ once_value_2 = fra.me.REG[1];
+ register_static_object(&once_value_2);
+ } else fra.me.REG[1] = once_value_2;
+ CALL_abstract_collection___Map_____braeq(fra.me.REG[0])(fra.me.REG[0], REGB0, fra.me.REG[1]);
+ REGB0 = TAG_Char('*');
+ /* ./utils.nit:64 */
+ if (!once_value_3) {
+ fra.me.REG[1] = BOX_NativeString("star");
+ REGB1 = TAG_Int(4);
+ fra.me.REG[1] = NEW_String_string___String___with_native(fra.me.REG[1], REGB1);
+ once_value_3 = fra.me.REG[1];
+ register_static_object(&once_value_3);
+ } else fra.me.REG[1] = once_value_3;
+ CALL_abstract_collection___Map_____braeq(fra.me.REG[0])(fra.me.REG[0], REGB0, fra.me.REG[1]);
+ REGB0 = TAG_Char('/');
+ /* ./utils.nit:65 */
+ if (!once_value_4) {
+ fra.me.REG[1] = BOX_NativeString("slash");
+ REGB1 = TAG_Int(5);
+ fra.me.REG[1] = NEW_String_string___String___with_native(fra.me.REG[1], REGB1);
+ once_value_4 = fra.me.REG[1];
+ register_static_object(&once_value_4);
+ } else fra.me.REG[1] = once_value_4;
+ CALL_abstract_collection___Map_____braeq(fra.me.REG[0])(fra.me.REG[0], REGB0, fra.me.REG[1]);
+ REGB0 = TAG_Char('%');
+ /* ./utils.nit:66 */
+ if (!once_value_5) {
+ fra.me.REG[1] = BOX_NativeString("percent");
+ REGB1 = TAG_Int(7);
+ fra.me.REG[1] = NEW_String_string___String___with_native(fra.me.REG[1], REGB1);
+ once_value_5 = fra.me.REG[1];
+ register_static_object(&once_value_5);
+ } else fra.me.REG[1] = once_value_5;
+ CALL_abstract_collection___Map_____braeq(fra.me.REG[0])(fra.me.REG[0], REGB0, fra.me.REG[1]);
+ REGB0 = TAG_Char('[');
+ /* ./utils.nit:67 */
+ if (!once_value_6) {
+ fra.me.REG[1] = BOX_NativeString("bra");
+ REGB1 = TAG_Int(3);
+ fra.me.REG[1] = NEW_String_string___String___with_native(fra.me.REG[1], REGB1);
+ once_value_6 = fra.me.REG[1];
+ register_static_object(&once_value_6);
+ } else fra.me.REG[1] = once_value_6;
+ CALL_abstract_collection___Map_____braeq(fra.me.REG[0])(fra.me.REG[0], REGB0, fra.me.REG[1]);
+ REGB0 = TAG_Char('=');
+ /* ./utils.nit:68 */
+ if (!once_value_7) {
+ fra.me.REG[1] = BOX_NativeString("eq");
+ REGB1 = TAG_Int(2);
+ fra.me.REG[1] = NEW_String_string___String___with_native(fra.me.REG[1], REGB1);
+ once_value_7 = fra.me.REG[1];
+ register_static_object(&once_value_7);
+ } else fra.me.REG[1] = once_value_7;
+ CALL_abstract_collection___Map_____braeq(fra.me.REG[0])(fra.me.REG[0], REGB0, fra.me.REG[1]);
+ REGB0 = TAG_Char('<');
+ /* ./utils.nit:69 */
+ if (!once_value_8) {
+ fra.me.REG[1] = BOX_NativeString("l");
+ REGB1 = TAG_Int(1);
+ fra.me.REG[1] = NEW_String_string___String___with_native(fra.me.REG[1], REGB1);
+ once_value_8 = fra.me.REG[1];
+ register_static_object(&once_value_8);
+ } else fra.me.REG[1] = once_value_8;
+ CALL_abstract_collection___Map_____braeq(fra.me.REG[0])(fra.me.REG[0], REGB0, fra.me.REG[1]);
+ REGB0 = TAG_Char('>');
+ /* ./utils.nit:70 */
+ if (!once_value_9) {
+ fra.me.REG[1] = BOX_NativeString("g");
+ REGB1 = TAG_Int(1);
+ fra.me.REG[1] = NEW_String_string___String___with_native(fra.me.REG[1], REGB1);
+ once_value_9 = fra.me.REG[1];
+ register_static_object(&once_value_9);
+ } else fra.me.REG[1] = once_value_9;
+ CALL_abstract_collection___Map_____braeq(fra.me.REG[0])(fra.me.REG[0], REGB0, fra.me.REG[1]);
+ REGB0 = TAG_Char('!');
+ /* ./utils.nit:71 */
+ if (!once_value_10) {
+ fra.me.REG[1] = BOX_NativeString("n");
+ REGB1 = TAG_Int(1);
+ fra.me.REG[1] = NEW_String_string___String___with_native(fra.me.REG[1], REGB1);
+ once_value_10 = fra.me.REG[1];
+ register_static_object(&once_value_10);
+ } else fra.me.REG[1] = once_value_10;
+ CALL_abstract_collection___Map_____braeq(fra.me.REG[0])(fra.me.REG[0], REGB0, fra.me.REG[1]);
+ REGB0 = TAG_Char('_');
+ /* ./utils.nit:72 */
+ if (!once_value_11) {
+ fra.me.REG[1] = BOX_NativeString("u");
+ REGB1 = TAG_Int(1);
+ fra.me.REG[1] = NEW_String_string___String___with_native(fra.me.REG[1], REGB1);
+ once_value_11 = fra.me.REG[1];
+ register_static_object(&once_value_11);
+ } else fra.me.REG[1] = once_value_11;
+ CALL_abstract_collection___Map_____braeq(fra.me.REG[0])(fra.me.REG[0], REGB0, fra.me.REG[1]);
+ REGB0 = TAG_Char('@');
+ /* ./utils.nit:73 */
+ if (!once_value_12) {
+ fra.me.REG[1] = BOX_NativeString("at");
+ REGB1 = TAG_Int(2);
+ fra.me.REG[1] = NEW_String_string___String___with_native(fra.me.REG[1], REGB1);
+ once_value_12 = fra.me.REG[1];
+ register_static_object(&once_value_12);
+ } else fra.me.REG[1] = once_value_12;
+ CALL_abstract_collection___Map_____braeq(fra.me.REG[0])(fra.me.REG[0], REGB0, fra.me.REG[1]);
+ /* ./utils.nit:74 */
+ goto label13;
+ label13: while(0);
+ stack_frame_head = fra.me.prev;
+ return fra.me.REG[0];
}