/* 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, LOCATE_utils, 21, LOCATE_utils___Object___cmangle};
- val_t variable0;
- val_t variable1;
- val_t variable2;
- static val_t once_value_variable2_1; static int once_bool_variable2_1;
- val_t variable3;
- val_t variable4;
- val_t variable5;
- val_t variable6;
- val_t variable7;
- val_t variable8;
- val_t variable9;
- val_t variable10;
- val_t variable11;
- val_t variable12;
- trace.prev = tracehead; tracehead = &trace;
- /* 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, " (%s:%d)\n", LOCATE_utils, 22); nit_exit(1); } /*cast Array[Symbol]*/;
- variable0 = param0;
- if (once_bool_variable2_1) variable2 = once_value_variable2_1;
- else {
- variable2 = ((utils___Object___cmangle_table_t)CALL( self,COLOR_utils___Object___cmangle_table))( self) /*Object::cmangle_table*/;
- once_value_variable2_1 = variable2;
- once_bool_variable2_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);
}
- variable1 = variable2;
- variable3 = NEW_string___String___init(); /*new String*/
- variable2 = variable3;
- variable3 = ((array___AbstractArray___iterator_t)CALL( variable0 /*symbols*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*symbols*/) /*AbstractArray::iterator*/;
- while (true) { /*for*/
- variable4 = ((array___ArrayIterator___is_ok_t)CALL(variable3,COLOR_abstract_collection___Iterator___is_ok))(variable3) /*ArrayIterator::is_ok*/;
- if (!UNTAG_Bool(variable4)) break; /*for*/
- variable4 = ((array___ArrayIterator___item_t)CALL(variable3,COLOR_abstract_collection___Iterator___item))(variable3) /*ArrayIterator::item*/;
- variable5 = ((array___AbstractArray___is_empty_t)CALL( variable2 /*res*/,COLOR_abstract_collection___Collection___is_empty))( variable2 /*res*/) /*AbstractArray::is_empty*/;
- if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable5)))) { /*if*/
- ((string___String___add_t)CALL( variable2 /*res*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*res*/, TAG_Char('_')) /*String::add*/;
- ((string___String___add_t)CALL( variable2 /*res*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*res*/, TAG_Char('_')) /*String::add*/;
- ((string___String___add_t)CALL( variable2 /*res*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*res*/, TAG_Char('_')) /*String::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);
}
- variable5 = TAG_Bool(false);
- variable6 = TAG_Bool(true);
- variable8 = ((symbol___Symbol___to_s_t)CALL( variable4 /*sym*/,COLOR_string___Object___to_s))( variable4 /*sym*/) /*Symbol::to_s*/;
- variable7 = variable8;
- variable8 = ((array___AbstractArray___iterator_t)CALL( variable7 /*s*/,COLOR_abstract_collection___Collection___iterator))( variable7 /*s*/) /*AbstractArray::iterator*/;
- while (true) { /*for*/
- variable9 = ((array___ArrayIterator___is_ok_t)CALL(variable8,COLOR_abstract_collection___Iterator___is_ok))(variable8) /*ArrayIterator::is_ok*/;
- if (!UNTAG_Bool(variable9)) break; /*for*/
- variable9 = ((array___ArrayIterator___item_t)CALL(variable8,COLOR_abstract_collection___Iterator___item))(variable8) /*ArrayIterator::item*/;
- variable10 = TAG_Bool(UNTAG_Char( variable9 /*c*/)>=UNTAG_Char( TAG_Char('a')));
- variable11 = variable10;
- if (UNTAG_Bool(variable11)) { /* and */
- variable11 = TAG_Bool(UNTAG_Char( variable9 /*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);
}
- variable10 = variable11;
- variable11 = variable10;
- if (!UNTAG_Bool(variable11)) { /* or */
- variable11 = TAG_Bool(UNTAG_Char( variable9 /*c*/)>=UNTAG_Char( TAG_Char('A')));
- variable12 = variable11;
- if (UNTAG_Bool(variable12)) { /* and */
- variable12 = TAG_Bool(UNTAG_Char( variable9 /*c*/)<=UNTAG_Char( TAG_Char('Z')));
- }
- variable11 = variable12;
+ /* ./../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);
}
- variable10 = variable11;
- variable11 = variable10;
- if (!UNTAG_Bool(variable11)) { /* or */
- variable11 = TAG_Bool(UNTAG_Char( variable9 /*c*/)>=UNTAG_Char( TAG_Char('0')));
- variable12 = variable11;
- if (UNTAG_Bool(variable12)) { /* and */
- variable12 = TAG_Bool(UNTAG_Char( variable9 /*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;
}
- variable11 = variable12;
- }
- variable10 = variable11;
- if (UNTAG_Bool(variable10)) { /*if*/
- ((string___String___add_t)CALL( variable2 /*res*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*res*/, variable9 /*c*/) /*String::add*/;
- variable5 = TAG_Bool(false) /*underscore=*/;
- variable6 = TAG_Bool(true) /*normal=*/;
- } else { /*if*/
- variable10 = TAG_Bool(( variable9 /*c*/)==( TAG_Char('_')));
- variable11 = variable10;
- if (UNTAG_Bool(variable11)) { /* and */
- variable11 = TAG_Bool(!UNTAG_Bool( variable5 /*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;
}
- variable10 = variable11;
- if (UNTAG_Bool(variable10)) { /*if*/
- ((string___String___add_t)CALL( variable2 /*res*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*res*/, variable9 /*c*/) /*String::add*/;
- variable5 = TAG_Bool(true) /*underscore=*/;
- variable6 = TAG_Bool(true) /*normal=*/;
- } else { /*if*/
- variable10 = ((abstract_collection___CoupleMap___has_key_t)CALL( variable1 /*table*/,COLOR_abstract_collection___Map___has_key))( variable1 /*table*/, variable9 /*c*/) /*CoupleMap::has_key*/;
- if (UNTAG_Bool(variable10)) { /*if*/
- if (UNTAG_Bool( variable6 /*normal*/)) { /*if*/
- ((string___String___add_t)CALL( variable2 /*res*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*res*/, TAG_Char('_')) /*String::add*/;
- ((string___String___add_t)CALL( variable2 /*res*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*res*/, TAG_Char('_')) /*String::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;
}
- variable10 = ((abstract_collection___CoupleMap_____bra_t)CALL( variable1 /*table*/,COLOR_abstract_collection___Map_____bra))( variable1 /*table*/, variable9 /*c*/) /*CoupleMap::[]*/;
- ((string___String___append_t)CALL( variable2 /*res*/,COLOR_abstract_collection___IndexedCollection___append))( variable2 /*res*/, variable10) /*String::append*/;
- variable6 = TAG_Bool(false) /*normal=*/;
- variable5 = TAG_Bool(false) /*underscore=*/;
}
}
+ stack_frame_head = fra.me.prev;
+ return;
}
- continue_3: while(0);
- ((array___ArrayIterator___next_t)CALL(variable8,COLOR_abstract_collection___Iterator___next))(variable8) /*ArrayIterator::next*/;
- }
- break_3: while(0);
- continue_2: while(0);
- ((array___ArrayIterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*ArrayIterator::next*/;
- }
- break_2: while(0);
- variable1 = variable2 /*res*/;
- goto return_label0;
- return_label0: while(false);
- tracehead = trace.prev;
- return variable1;
-}
-val_t utils___Object___cmangle_table(val_t self) {
- struct trace_t trace = {NULL, LOCATE_utils, 58, LOCATE_utils___Object___cmangle_table};
- val_t variable0;
- val_t variable1;
- trace.prev = tracehead; tracehead = &trace;
- variable1 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
- variable0 = variable1;
- variable1 = NEW_string___String___with_native(BOX_NativeString("plus"), TAG_Int(4)); /*new String*/
- ((hash___HashMap_____braeq_t)CALL( variable0 /*res*/,COLOR_abstract_collection___Map_____braeq))( variable0 /*res*/, TAG_Char('+'), variable1) /*HashMap::[]=*/;
- variable1 = NEW_string___String___with_native(BOX_NativeString("minus"), TAG_Int(5)); /*new String*/
- ((hash___HashMap_____braeq_t)CALL( variable0 /*res*/,COLOR_abstract_collection___Map_____braeq))( variable0 /*res*/, TAG_Char('-'), variable1) /*HashMap::[]=*/;
- variable1 = NEW_string___String___with_native(BOX_NativeString("star"), TAG_Int(4)); /*new String*/
- ((hash___HashMap_____braeq_t)CALL( variable0 /*res*/,COLOR_abstract_collection___Map_____braeq))( variable0 /*res*/, TAG_Char('*'), variable1) /*HashMap::[]=*/;
- variable1 = NEW_string___String___with_native(BOX_NativeString("slash"), TAG_Int(5)); /*new String*/
- ((hash___HashMap_____braeq_t)CALL( variable0 /*res*/,COLOR_abstract_collection___Map_____braeq))( variable0 /*res*/, TAG_Char('/'), variable1) /*HashMap::[]=*/;
- variable1 = NEW_string___String___with_native(BOX_NativeString("percent"), TAG_Int(7)); /*new String*/
- ((hash___HashMap_____braeq_t)CALL( variable0 /*res*/,COLOR_abstract_collection___Map_____braeq))( variable0 /*res*/, TAG_Char('%'), variable1) /*HashMap::[]=*/;
- variable1 = NEW_string___String___with_native(BOX_NativeString("bra"), TAG_Int(3)); /*new String*/
- ((hash___HashMap_____braeq_t)CALL( variable0 /*res*/,COLOR_abstract_collection___Map_____braeq))( variable0 /*res*/, TAG_Char('['), variable1) /*HashMap::[]=*/;
- variable1 = NEW_string___String___with_native(BOX_NativeString("eq"), TAG_Int(2)); /*new String*/
- ((hash___HashMap_____braeq_t)CALL( variable0 /*res*/,COLOR_abstract_collection___Map_____braeq))( variable0 /*res*/, TAG_Char('='), variable1) /*HashMap::[]=*/;
- variable1 = NEW_string___String___with_native(BOX_NativeString("l"), TAG_Int(1)); /*new String*/
- ((hash___HashMap_____braeq_t)CALL( variable0 /*res*/,COLOR_abstract_collection___Map_____braeq))( variable0 /*res*/, TAG_Char('<'), variable1) /*HashMap::[]=*/;
- variable1 = NEW_string___String___with_native(BOX_NativeString("g"), TAG_Int(1)); /*new String*/
- ((hash___HashMap_____braeq_t)CALL( variable0 /*res*/,COLOR_abstract_collection___Map_____braeq))( variable0 /*res*/, TAG_Char('>'), variable1) /*HashMap::[]=*/;
- variable1 = NEW_string___String___with_native(BOX_NativeString("n"), TAG_Int(1)); /*new String*/
- ((hash___HashMap_____braeq_t)CALL( variable0 /*res*/,COLOR_abstract_collection___Map_____braeq))( variable0 /*res*/, TAG_Char('!'), variable1) /*HashMap::[]=*/;
- variable1 = NEW_string___String___with_native(BOX_NativeString("u"), TAG_Int(1)); /*new String*/
- ((hash___HashMap_____braeq_t)CALL( variable0 /*res*/,COLOR_abstract_collection___Map_____braeq))( variable0 /*res*/, TAG_Char('_'), variable1) /*HashMap::[]=*/;
- variable1 = NEW_string___String___with_native(BOX_NativeString("at"), TAG_Int(2)); /*new String*/
- ((hash___HashMap_____braeq_t)CALL( variable0 /*res*/,COLOR_abstract_collection___Map_____braeq))( variable0 /*res*/, TAG_Char('@'), variable1) /*HashMap::[]=*/;
- variable0 = variable0 /*res*/;
- goto return_label4;
- return_label4: while(false);
- tracehead = trace.prev;
- return variable0;
+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];
}