- 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, NULL, 58, LOCATE_utils___Object___cmangle_table};
- val_t variable0;
- val_t variable1;
- trace.prev = tracehead; tracehead = &trace;
- trace.file = LOCATE_utils;
- 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];