/* 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[6];} fra;
+ val_t REGB0;
+ val_t REGB1;
+ 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 = 7;
+ 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[5] = NIT_NULL;
+ fra.me.REG[6] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* ./utils.nit:21 */
+ REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[1], COLOR_Array, ID_Array)) /*cast Array[Symbol]*/;
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Cast failed", NULL, LOCATE_utils, 21);
}
- /* 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*/;
+ /* ./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[0] = fra.me.REG[0];
+ /* ./utils.nit:25 */
+ fra.me.REG[2] = NEW_Buffer_string___Buffer___init();
+ /* ./../lib/standard//collection//array.nit:234 */
+ REGB0 = TAG_Int(0);
+ /* ./../lib/standard//collection//array.nit:235 */
+ REGB1 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 235);
+ }
+ REGB1 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]);
+ /* ./../lib/standard//collection//array.nit:236 */
+ fra.me.REG[3] = ATTR_array___Array____items(fra.me.REG[1]);
+ /* ./../lib/standard//collection//array.nit:237 */
+ while(1) {
+ /* ./../lib/standard//collection//array.nit:23 */
+ REGB1 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 23);
}
- /* 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')));
+ REGB1 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]);
+ /* ./../lib/standard//kernel.nit:212 */
+ REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
+ /* ./../lib/standard//collection//array.nit:237 */
+ if (UNTAG_Bool(REGB1)) {
+ /* ./../lib/standard//collection//array.nit:238 */
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ nit_abort("Reciever is null", NULL, LOCATE_array, 238);
}
- /* 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 */
+ /* ./../lib/standard//collection//array.nit:654 */
+ fra.me.REG[4] = ((Nit_NativeArray)fra.me.REG[3])->val[UNTAG_Int(REGB0)];
+ /* ./utils.nit:27 */
+ REGB1 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[2])(fra.me.REG[2]);
+ REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
+ if (UNTAG_Bool(REGB1)) {
+ /* ./utils.nit:28 */
+ REGB1 = TAG_Char('_');
+ CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], REGB1);
+ /* ./utils.nit:29 */
+ REGB1 = TAG_Char('_');
+ CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], REGB1);
+ /* ./utils.nit:30 */
+ REGB1 = TAG_Char('_');
+ CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], REGB1);
}
- /* 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')));
+ /* ./utils.nit:32 */
+ REGB1 = TAG_Bool(false);
+ fra.me.REG[5] = REGB1;
+ /* ./utils.nit:33 */
+ REGB1 = TAG_Bool(true);
+ fra.me.REG[6] = REGB1;
+ /* ./utils.nit:34 */
+ fra.me.REG[4] = CALL_string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
+ CALL_abstract_collection___Collection___iterate(fra.me.REG[4])(fra.me.REG[4], (&(fra.me)), ((fun_t)OC_utils___Object___cmangle_2));
+ /* ./../lib/standard//collection//array.nit:239 */
+ REGB1 = TAG_Int(1);
+ /* ./../lib/standard//kernel.nit:215 */
+ REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
+ /* ./../lib/standard//collection//array.nit:239 */
+ REGB0 = REGB1;
+ } else {
+ /* ./../lib/standard//collection//array.nit:237 */
+ goto label3;
+ }
+ }
+ label3: while(0);
+ /* ./utils.nit:55 */
+ fra.me.REG[2] = CALL_string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
+ goto label4;
+ label4: while(0);
+ stack_frame_head = fra.me.prev;
+ return fra.me.REG[2];
+}
+ void OC_utils___Object___cmangle_2(struct stack_frame_t *closctx, val_t p0){
+ struct {struct stack_frame_t me;} fra;
+ val_t REGB0;
+ val_t REGB1;
+ val_t REGB2;
+ val_t REGB3;
+ val_t tmp;
+ /* ./utils.nit:35 */
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_utils;
+ fra.me.line = 0;
+ fra.me.meth = LOCATE_utils___Object___cmangle;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = fra.me.REG[0];
+ /* ./utils.nit:36 */
+ REGB1 = TAG_Char('a');
+ /* ./../lib/standard//kernel.nit:353 */
+ REGB1 = TAG_Bool(UNTAG_Char(REGB0)>=UNTAG_Char(REGB1));
+ /* ./utils.nit:36 */
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Char('z');
+ /* ./../lib/standard//kernel.nit:351 */
+ REGB1 = TAG_Bool(UNTAG_Char(REGB0)<=UNTAG_Char(REGB1));
+ } else {
+ /* ./utils.nit:36 */
+ REGB2 = TAG_Bool(false);
+ REGB1 = REGB2;
}
- /* 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*/));
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(true);
+ } else {
+ REGB2 = TAG_Char('A');
+ /* ./../lib/standard//kernel.nit:353 */
+ REGB2 = TAG_Bool(UNTAG_Char(REGB0)>=UNTAG_Char(REGB2));
+ /* ./utils.nit:36 */
+ if (UNTAG_Bool(REGB2)) {
+ REGB2 = TAG_Char('Z');
+ /* ./../lib/standard//kernel.nit:351 */
+ REGB2 = TAG_Bool(UNTAG_Char(REGB0)<=UNTAG_Char(REGB2));
+ } else {
+ /* ./utils.nit:36 */
+ REGB3 = TAG_Bool(false);
+ REGB2 = REGB3;
+ }
+ REGB1 = REGB2;
}
- /* 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*/;
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(true);
+ } else {
+ REGB2 = TAG_Char('0');
+ /* ./../lib/standard//kernel.nit:353 */
+ REGB2 = TAG_Bool(UNTAG_Char(REGB0)>=UNTAG_Char(REGB2));
+ /* ./utils.nit:36 */
+ if (UNTAG_Bool(REGB2)) {
+ REGB2 = TAG_Char('9');
+ /* ./../lib/standard//kernel.nit:351 */
+ REGB2 = TAG_Bool(UNTAG_Char(REGB0)<=UNTAG_Char(REGB2));
+ } else {
+ /* ./utils.nit:36 */
+ REGB3 = TAG_Bool(false);
+ REGB2 = REGB3;
+ }
+ REGB1 = REGB2;
+ }
+ if (UNTAG_Bool(REGB1)) {
+ /* ./utils.nit:37 */
+ CALL_abstract_collection___SimpleCollection___add(closctx->REG[2])(closctx->REG[2], REGB0);
+ /* ./utils.nit:38 */
+ REGB1 = TAG_Bool(false);
+ closctx->REG[5] = REGB1;
+ /* ./utils.nit:39 */
+ REGB1 = TAG_Bool(true);
+ closctx->REG[6] = REGB1;
+ } else {
+ /* ./utils.nit:40 */
+ REGB1 = TAG_Char('_');
+ REGB2 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1));
+ if (UNTAG_Bool(REGB2)) {
+ } else {
+ /* ./../lib/standard//kernel.nit:347 */
+ REGB1 = TAG_Bool((REGB0)==(REGB1));
+ /* ./utils.nit:40 */
+ REGB2 = REGB1;
+ }
+ if (UNTAG_Bool(REGB2)) {
+ REGB2 = TAG_Bool(!UNTAG_Bool(closctx->REG[5]));
+ } else {
+ REGB1 = TAG_Bool(false);
+ REGB2 = REGB1;
+ }
+ if (UNTAG_Bool(REGB2)) {
+ /* ./utils.nit:41 */
+ CALL_abstract_collection___SimpleCollection___add(closctx->REG[2])(closctx->REG[2], REGB0);
+ /* ./utils.nit:42 */
+ REGB2 = TAG_Bool(true);
+ closctx->REG[5] = REGB2;
+ /* ./utils.nit:43 */
+ REGB2 = TAG_Bool(true);
+ closctx->REG[6] = REGB2;
+ } else {
+ /* ./utils.nit:44 */
+ REGB2 = CALL_abstract_collection___MapRead___has_key(closctx->REG[0])(closctx->REG[0], REGB0);
+ if (UNTAG_Bool(REGB2)) {
+ /* ./utils.nit:45 */
+ if (UNTAG_Bool(closctx->REG[6])) {
+ /* ./utils.nit:46 */
+ REGB2 = TAG_Char('_');
+ CALL_abstract_collection___SimpleCollection___add(closctx->REG[2])(closctx->REG[2], REGB2);
+ /* ./utils.nit:47 */
+ REGB2 = TAG_Char('_');
+ CALL_abstract_collection___SimpleCollection___add(closctx->REG[2])(closctx->REG[2], REGB2);
+ }
+ /* ./utils.nit:49 */
+ fra.me.REG[0] = CALL_abstract_collection___MapRead_____bra(closctx->REG[0])(closctx->REG[0], REGB0);
+ CALL_abstract_collection___Sequence___append(closctx->REG[2])(closctx->REG[2], fra.me.REG[0]);
+ /* ./utils.nit:50 */
+ REGB0 = TAG_Bool(false);
+ closctx->REG[6] = REGB0;
+ /* ./utils.nit:51 */
+ REGB0 = TAG_Bool(false);
+ closctx->REG[5] = REGB0;
}
- /* 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=*/;
}
}
+ stack_frame_head = fra.me.prev;
+ return;
}
- continue_3: while(0);
- CALL_abstract_collection___Iterator___next(variable[11])(variable[11]) /*ArrayIterator::next*/;
- }
- break_3: while(0);
- continue_2: while(0);
- CALL_abstract_collection___Iterator___next(variable[5])(variable[5]) /*ArrayIterator::next*/;
- }
- 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];
-}
-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;
+ /* ./utils.nit:61 */
+ fra.me.REG[0] = NEW_HashMap_hash_collection___HashMap___init();
+ /* ./utils.nit:62 */
+ REGB0 = TAG_Char('+');
+ 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;
+ fra.me.REG[1] = fra.me.REG[1];
+ CALL_abstract_collection___Map_____braeq(fra.me.REG[0])(fra.me.REG[0], REGB0, fra.me.REG[1]);
+ /* ./utils.nit:63 */
+ REGB0 = TAG_Char('-');
+ 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;
+ fra.me.REG[1] = fra.me.REG[1];
+ CALL_abstract_collection___Map_____braeq(fra.me.REG[0])(fra.me.REG[0], REGB0, fra.me.REG[1]);
+ /* ./utils.nit:64 */
+ REGB0 = TAG_Char('*');
+ 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;
+ fra.me.REG[1] = fra.me.REG[1];
+ CALL_abstract_collection___Map_____braeq(fra.me.REG[0])(fra.me.REG[0], REGB0, fra.me.REG[1]);
+ /* ./utils.nit:65 */
+ REGB0 = TAG_Char('/');
+ 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;
+ fra.me.REG[1] = fra.me.REG[1];
+ CALL_abstract_collection___Map_____braeq(fra.me.REG[0])(fra.me.REG[0], REGB0, fra.me.REG[1]);
+ /* ./utils.nit:66 */
+ REGB0 = TAG_Char('%');
+ 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;
+ fra.me.REG[1] = fra.me.REG[1];
+ CALL_abstract_collection___Map_____braeq(fra.me.REG[0])(fra.me.REG[0], REGB0, fra.me.REG[1]);
+ /* ./utils.nit:67 */
+ REGB0 = TAG_Char('[');
+ 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;
+ fra.me.REG[1] = fra.me.REG[1];
+ CALL_abstract_collection___Map_____braeq(fra.me.REG[0])(fra.me.REG[0], REGB0, fra.me.REG[1]);
+ /* ./utils.nit:68 */
+ REGB0 = TAG_Char('=');
+ 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;
+ fra.me.REG[1] = fra.me.REG[1];
+ CALL_abstract_collection___Map_____braeq(fra.me.REG[0])(fra.me.REG[0], REGB0, fra.me.REG[1]);
+ /* ./utils.nit:69 */
+ REGB0 = TAG_Char('<');
+ 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;
+ fra.me.REG[1] = fra.me.REG[1];
+ CALL_abstract_collection___Map_____braeq(fra.me.REG[0])(fra.me.REG[0], REGB0, fra.me.REG[1]);
+ /* ./utils.nit:70 */
+ REGB0 = TAG_Char('>');
+ 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;
+ fra.me.REG[1] = fra.me.REG[1];
+ CALL_abstract_collection___Map_____braeq(fra.me.REG[0])(fra.me.REG[0], REGB0, fra.me.REG[1]);
+ /* ./utils.nit:71 */
+ REGB0 = TAG_Char('!');
+ 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;
+ fra.me.REG[1] = fra.me.REG[1];
+ CALL_abstract_collection___Map_____braeq(fra.me.REG[0])(fra.me.REG[0], REGB0, fra.me.REG[1]);
+ /* ./utils.nit:72 */
+ REGB0 = TAG_Char('_');
+ 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;
+ fra.me.REG[1] = fra.me.REG[1];
+ CALL_abstract_collection___Map_____braeq(fra.me.REG[0])(fra.me.REG[0], REGB0, fra.me.REG[1]);
+ /* ./utils.nit:73 */
+ REGB0 = TAG_Char('@');
+ 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;
+ fra.me.REG[1] = fra.me.REG[1];
+ 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];
}