- variable[13] = variable[14];
- if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_sorter, 229); nit_exit(1);}
- variable[13] = variable[10];
- variable[13] = ATTR_array___Array____items(variable[13]) /*Array::_items*/;
- variable[13] = UNBOX_NativeArray(variable[13])[UNTAG_Int( variable[11] /*index*/)];
- variable[12] = variable[13];
- goto return_label16;
- return_label16: while(false);
- variable[10] = variable[12];
- variable[9] = ((sorter___AbstractSorter___compare_t)CALL(variable[9],COLOR_sorter___AbstractSorter___compare))(variable[9], variable[7] /*min_v*/, variable[10]) /*AbstractSorter::compare*/;
- variable[9] = TAG_Bool(UNTAG_Int(variable[9])>UNTAG_Int( TAG_Int(0)));
- if (UNTAG_Bool(variable[9])) { /*if*/
- variable[6] = variable[8] /*j*/ /*min=*/;
- variable[9] = variable[1] /*array*/;
- variable[10] = variable[8] /*j*/;
- variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
- variable[13] = variable[12];
- if (UNTAG_Bool(variable[13])) { /* and */
- variable[13] = variable[9];
- variable[13] = ATTR_array___AbstractArray____length(variable[13]) /*AbstractArray::_length*/;
- variable[13] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[13]));
+ /* ./../lib/standard//collection//array.nit:246 */
+ fra.me.REG[2] = ATTR_array___Array____items(fra.me.REG[2]);
+ REGB4 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
+ if (UNTAG_Bool(REGB4)) {
+ nit_abort("Reciever is null", NULL, LOCATE_array, 246);
+ }
+ /* ./../lib/standard//collection//array.nit:654 */
+ fra.me.REG[2] = ((Nit_NativeArray)fra.me.REG[2])->val[UNTAG_Int(REGB3)];
+ /* ./../lib/standard//collection//array.nit:246 */
+ goto label1;
+ label1: while(0);
+ /* ./../lib/standard//collection//sorter.nit:72 */
+ REGB3 = REGB0;
+ /* ./../lib/standard//collection//sorter.nit:73 */
+ while(1) {
+ /* ./../lib/standard//kernel.nit:211 */
+ REGB4 = TAG_Bool(UNTAG_Int(REGB3)<=UNTAG_Int(REGB1));
+ /* ./../lib/standard//collection//sorter.nit:73 */
+ if (UNTAG_Bool(REGB4)) {
+ /* ./../lib/standard//collection//array.nit:243 */
+ fra.me.REG[3] = fra.me.REG[1];
+ REGB4 = REGB3;
+ /* ./../lib/standard//collection//array.nit:245 */
+ REGB5 = TAG_Int(0);
+ /* ./../lib/standard//kernel.nit:213 */
+ REGB5 = TAG_Bool(UNTAG_Int(REGB4)>=UNTAG_Int(REGB5));
+ /* ./../lib/standard//collection//array.nit:245 */
+ if (UNTAG_Bool(REGB5)) {
+ REGB5 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[3])!=NIT_NULL);
+ if (UNTAG_Bool(REGB5)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 245);
+ }
+ REGB5 = ATTR_array___AbstractArrayRead____length(fra.me.REG[3]);
+ /* ./../lib/standard//kernel.nit:212 */
+ REGB5 = TAG_Bool(UNTAG_Int(REGB4)<UNTAG_Int(REGB5));
+ } else {
+ /* ./../lib/standard//collection//array.nit:245 */
+ REGB6 = TAG_Bool(false);
+ REGB5 = REGB6;
+ }
+ if (UNTAG_Bool(REGB5)) {
+ } else {
+ nit_abort("Assert %s failed", "'index'", LOCATE_array, 245);
+ }
+ /* ./../lib/standard//collection//array.nit:246 */
+ fra.me.REG[3] = ATTR_array___Array____items(fra.me.REG[3]);
+ REGB5 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB5)) {
+ nit_abort("Reciever is null", NULL, LOCATE_array, 246);
+ }
+ /* ./../lib/standard//collection//array.nit:654 */
+ fra.me.REG[3] = ((Nit_NativeArray)fra.me.REG[3])->val[UNTAG_Int(REGB4)];
+ /* ./../lib/standard//collection//array.nit:246 */
+ goto label2;
+ label2: while(0);
+ /* ./../lib/standard//collection//sorter.nit:74 */
+ REGB4 = CALL_sorter___AbstractSorter___compare(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2], fra.me.REG[3]);
+ REGB5 = TAG_Int(0);
+ /* ./../lib/standard//kernel.nit:214 */
+ REGB5 = TAG_Bool(UNTAG_Int(REGB4)>UNTAG_Int(REGB5));
+ /* ./../lib/standard//collection//sorter.nit:74 */
+ if (UNTAG_Bool(REGB5)) {
+ /* ./../lib/standard//collection//sorter.nit:75 */
+ REGB2 = REGB3;
+ /* ./../lib/standard//collection//array.nit:243 */
+ fra.me.REG[3] = fra.me.REG[1];
+ REGB5 = REGB3;
+ /* ./../lib/standard//collection//array.nit:245 */
+ REGB4 = TAG_Int(0);
+ /* ./../lib/standard//kernel.nit:213 */
+ REGB4 = TAG_Bool(UNTAG_Int(REGB5)>=UNTAG_Int(REGB4));
+ /* ./../lib/standard//collection//array.nit:245 */
+ if (UNTAG_Bool(REGB4)) {
+ REGB4 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[3])!=NIT_NULL);
+ if (UNTAG_Bool(REGB4)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 245);
+ }
+ REGB4 = ATTR_array___AbstractArrayRead____length(fra.me.REG[3]);
+ /* ./../lib/standard//kernel.nit:212 */
+ REGB4 = TAG_Bool(UNTAG_Int(REGB5)<UNTAG_Int(REGB4));
+ } else {
+ /* ./../lib/standard//collection//array.nit:245 */
+ REGB6 = TAG_Bool(false);
+ REGB4 = REGB6;
+ }
+ if (UNTAG_Bool(REGB4)) {
+ } else {
+ nit_abort("Assert %s failed", "'index'", LOCATE_array, 245);
+ }
+ /* ./../lib/standard//collection//array.nit:246 */
+ fra.me.REG[3] = ATTR_array___Array____items(fra.me.REG[3]);
+ REGB4 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB4)) {
+ nit_abort("Reciever is null", NULL, LOCATE_array, 246);
+ }
+ /* ./../lib/standard//collection//array.nit:654 */
+ fra.me.REG[3] = ((Nit_NativeArray)fra.me.REG[3])->val[UNTAG_Int(REGB5)];
+ /* ./../lib/standard//collection//array.nit:246 */
+ goto label3;
+ label3: while(0);
+ /* ./../lib/standard//collection//sorter.nit:76 */
+ fra.me.REG[2] = fra.me.REG[3];
+ }
+ /* ./../lib/standard//collection//sorter.nit:78 */
+ REGB5 = TAG_Int(1);
+ /* ./../lib/standard//kernel.nit:215 */
+ REGB5 = TAG_Int(UNTAG_Int(REGB3)+UNTAG_Int(REGB5));
+ /* ./../lib/standard//collection//sorter.nit:78 */
+ REGB3 = REGB5;
+ } else {
+ /* ./../lib/standard//collection//sorter.nit:73 */
+ goto label4;