-val_t array___AbstractArray___iterator(val_t self) {
- struct trace_t trace = {NULL, NULL, 197, LOCATE_array___AbstractArray___iterator};
- val_t variable[4];
- void **closurevariable = NULL;
- trace.prev = tracehead; tracehead = &trace;
- trace.file = LOCATE_array;
- variable[0] = self;
- variable[2] = variable[0];
- variable[3] = NEW_ArrayIterator_array___ArrayIterator___init(variable[2]); /*new ArrayIterator[E]*/
- variable[2] = variable[3];
- variable[1] = variable[2];
- goto return_label4;
- return_label4: while(false);
- tracehead = trace.prev;
- return variable[1];
-}
-val_t array___AbstractArray___is_empty(val_t self) {
- struct trace_t trace = {NULL, NULL, 28, LOCATE_array___AbstractArray___is_empty};
- val_t variable[3];
- void **closurevariable = NULL;
- trace.prev = tracehead; tracehead = &trace;
- trace.file = LOCATE_array;
- variable[0] = self;
- variable[2] = variable[0];
- variable[2] = ATTR_array___AbstractArray____length(variable[2]) /*AbstractArray::_length*/;
- variable[2] = TAG_Bool((variable[2])==( TAG_Int(0)));
- variable[1] = variable[2];
- goto return_label5;
- return_label5: while(false);
- tracehead = trace.prev;
- return variable[1];
-}
-val_t array___AbstractArray___length(val_t self) {
- struct trace_t trace = {NULL, NULL, 25, LOCATE_array___AbstractArray___length};
- val_t *variable = NULL;
- void **closurevariable = NULL;
- trace.prev = tracehead; tracehead = &trace;
- trace.file = LOCATE_array;
- tracehead = trace.prev;
- return ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/;
-}
-val_t array___AbstractArray___has(val_t self, val_t param0) {
- struct trace_t trace = {NULL, NULL, 75, LOCATE_array___AbstractArray___has};
- val_t variable[6];
- void **closurevariable = NULL;
- trace.prev = tracehead; tracehead = &trace;
- trace.file = LOCATE_array;
- variable[0] = self;
- variable[1] = param0;
- variable[3] = TAG_Int(0);
- variable[5] = variable[0];
- variable[5] = CALL_abstract_collection___Collection___length(variable[5])(variable[5]) /*AbstractArray::length*/;
- variable[4] = variable[5];
- while (true) { /*while*/
- variable[5] = TAG_Bool(UNTAG_Int( variable[3] /*i*/)<UNTAG_Int( variable[4] /*l*/));
- if (!UNTAG_Bool(variable[5])) break; /* while*/
- variable[5] = variable[0];
- variable[5] = CALL_abstract_collection___Map_____bra(variable[5])(variable[5], variable[3] /*i*/) /*Map::[]*/;
- variable[5] = TAG_Bool((variable[5] == variable[1] /*item*/) || ((variable[5] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[5])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[5], variable[1] /*item*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[5])(variable[5], variable[1] /*item*/) /*Object::==*/)))));
- if (UNTAG_Bool(variable[5])) { /*if*/
- variable[2] = TAG_Bool(true);
- goto return_label6;
+val_t array___AbstractArrayRead___iterator(val_t p0){
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_array;
+ fra.me.line = 126;
+ fra.me.meth = LOCATE_array___AbstractArrayRead___iterator;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[0] = NEW_ArrayIterator_array___ArrayIterator___init(fra.me.REG[0]);
+ /* ./../lib/standard//collection//array.nit:126 */
+ goto label1;
+ label1: while(0);
+ stack_frame_head = fra.me.prev;
+ return fra.me.REG[0];
+}
+val_t array___AbstractArrayRead___is_empty(val_t p0){
+ struct {struct stack_frame_t me;} fra;
+ val_t REGB0;
+ val_t REGB1;
+ val_t REGB2;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_array;
+ fra.me.line = 26;
+ fra.me.meth = LOCATE_array___AbstractArrayRead___is_empty;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[0])!=NIT_NULL);
+ /* ./../lib/standard//collection//array.nit:26 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Uninitialized attribute %s", "_length");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_array, 26);
+ nit_exit(1);
+ }
+ REGB0 = ATTR_array___AbstractArrayRead____length(fra.me.REG[0]);
+ REGB1 = TAG_Int(0);
+ REGB2 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1));
+ if (UNTAG_Bool(REGB2)) {
+ } else {
+ REGB1 = TAG_Bool((REGB0)==(REGB1));
+ REGB2 = REGB1;
+ /* ./../lib/standard//collection//array.nit:26 */
+ }
+ goto label1;
+ label1: while(0);
+ stack_frame_head = fra.me.prev;
+ return REGB2;
+}
+val_t array___AbstractArrayRead___length(val_t p0){
+ struct {struct stack_frame_t me;} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_array;
+ fra.me.line = 23;
+ fra.me.meth = LOCATE_array___AbstractArrayRead___length;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[0])!=NIT_NULL);
+ /* ./../lib/standard//collection//array.nit:23 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Uninitialized attribute %s", "_length");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_array, 23);
+ nit_exit(1);
+ }
+ REGB0 = ATTR_array___AbstractArrayRead____length(fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return REGB0;
+}
+val_t array___AbstractArrayRead___has(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+ val_t REGB0;
+ val_t REGB1;
+ val_t REGB2;
+ val_t REGB3;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_array;
+ fra.me.line = 28;
+ fra.me.meth = LOCATE_array___AbstractArrayRead___has;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 3;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ REGB0 = TAG_Int(0);
+ REGB1 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[0])!=NIT_NULL);
+ /* ./../lib/standard//collection//array.nit:23 */
+ if (UNTAG_Bool(REGB1)) {
+ } else {
+ fprintf(stderr, "Uninitialized attribute %s", "_length");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_array, 23);
+ nit_exit(1);
+ }
+ REGB1 = ATTR_array___AbstractArrayRead____length(fra.me.REG[0]);
+ /* ./../lib/standard//collection//array.nit:32 */
+ while(1) {
+ REGB2 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
+ /* ./../lib/standard//collection//array.nit:32 */
+ if (UNTAG_Bool(REGB2)) {
+ fra.me.REG[2] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[0])(fra.me.REG[0], REGB0);
+ REGB2 = TAG_Bool(IS_EQUAL_NN(fra.me.REG[2],fra.me.REG[1]));
+ /* ./../lib/standard//collection//array.nit:33 */
+ if (UNTAG_Bool(REGB2)) {
+ } else {
+ REGB3 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
+ if (UNTAG_Bool(REGB3)) {
+ REGB3 = TAG_Bool(false);
+ REGB2 = REGB3;
+ } else {
+ REGB3 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
+ REGB2 = REGB3;
+ }
+ }
+ if (UNTAG_Bool(REGB2)) {
+ REGB2 = TAG_Bool(true);
+ goto label1;
+ }
+ REGB3 = TAG_Int(1);
+ REGB3 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB3));
+ REGB0 = REGB3;
+ /* ./../lib/standard//collection//array.nit:34 */
+ } else {
+ /* ./../lib/standard//collection//array.nit:32 */
+ goto label2;
+ }
+ }
+ label2: while(0);
+ REGB0 = TAG_Bool(false);
+ REGB2 = REGB0;
+ /* ./../lib/standard//collection//array.nit:36 */
+ goto label1;
+ label1: while(0);
+ stack_frame_head = fra.me.prev;
+ return REGB2;
+}
+val_t array___AbstractArrayRead___has_only(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+ val_t REGB0;
+ val_t REGB1;
+ val_t REGB2;
+ val_t REGB3;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_array;
+ fra.me.line = 39;
+ fra.me.meth = LOCATE_array___AbstractArrayRead___has_only;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 3;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ REGB0 = TAG_Int(0);
+ REGB1 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[0])!=NIT_NULL);
+ /* ./../lib/standard//collection//array.nit:23 */
+ if (UNTAG_Bool(REGB1)) {
+ } else {
+ fprintf(stderr, "Uninitialized attribute %s", "_length");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_array, 23);
+ nit_exit(1);
+ }
+ REGB1 = ATTR_array___AbstractArrayRead____length(fra.me.REG[0]);
+ /* ./../lib/standard//collection//array.nit:43 */
+ while(1) {
+ REGB2 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
+ /* ./../lib/standard//collection//array.nit:43 */
+ if (UNTAG_Bool(REGB2)) {
+ fra.me.REG[2] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[0])(fra.me.REG[0], REGB0);
+ REGB2 = TAG_Bool(IS_EQUAL_NN(fra.me.REG[2],fra.me.REG[1]));
+ /* ./../lib/standard//collection//array.nit:44 */
+ if (UNTAG_Bool(REGB2)) {
+ } else {
+ REGB3 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
+ if (UNTAG_Bool(REGB3)) {
+ REGB3 = TAG_Bool(false);
+ REGB2 = REGB3;
+ } else {
+ REGB3 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
+ REGB2 = REGB3;
+ }
+ }
+ REGB2 = TAG_Bool(!UNTAG_Bool(REGB2));
+ if (UNTAG_Bool(REGB2)) {
+ REGB2 = TAG_Bool(false);
+ goto label1;
+ }
+ REGB3 = TAG_Int(1);
+ REGB3 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB3));
+ REGB0 = REGB3;
+ /* ./../lib/standard//collection//array.nit:45 */
+ } else {
+ /* ./../lib/standard//collection//array.nit:43 */
+ goto label2;
+ }
+ }
+ label2: while(0);
+ REGB0 = TAG_Bool(true);
+ REGB2 = REGB0;
+ /* ./../lib/standard//collection//array.nit:47 */
+ goto label1;
+ label1: while(0);
+ stack_frame_head = fra.me.prev;
+ return REGB2;
+}
+val_t array___AbstractArrayRead___count(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+ val_t REGB0;
+ val_t REGB1;
+ val_t REGB2;
+ val_t REGB3;
+ val_t REGB4;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_array;
+ fra.me.line = 52;
+ fra.me.meth = LOCATE_array___AbstractArrayRead___count;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 3;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ REGB0 = TAG_Int(0);
+ REGB1 = TAG_Int(0);
+ REGB2 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[0])!=NIT_NULL);
+ /* ./../lib/standard//collection//array.nit:23 */
+ if (UNTAG_Bool(REGB2)) {
+ } else {
+ fprintf(stderr, "Uninitialized attribute %s", "_length");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_array, 23);
+ nit_exit(1);
+ }
+ REGB2 = ATTR_array___AbstractArrayRead____length(fra.me.REG[0]);
+ /* ./../lib/standard//collection//array.nit:57 */
+ while(1) {
+ REGB3 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
+ /* ./../lib/standard//collection//array.nit:57 */
+ if (UNTAG_Bool(REGB3)) {
+ fra.me.REG[2] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[0])(fra.me.REG[0], REGB1);
+ REGB3 = TAG_Bool(IS_EQUAL_NN(fra.me.REG[2],fra.me.REG[1]));
+ /* ./../lib/standard//collection//array.nit:58 */
+ if (UNTAG_Bool(REGB3)) {
+ } else {
+ REGB4 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
+ if (UNTAG_Bool(REGB4)) {
+ REGB4 = TAG_Bool(false);
+ REGB3 = REGB4;
+ } else {
+ REGB4 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
+ REGB3 = REGB4;
+ }
+ }
+ if (UNTAG_Bool(REGB3)) {
+ REGB3 = TAG_Int(1);
+ REGB3 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB3));
+ REGB0 = REGB3;
+ /* ./../lib/standard//collection//array.nit:58 */
+ }
+ REGB3 = TAG_Int(1);
+ REGB3 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB3));
+ REGB1 = REGB3;
+ /* ./../lib/standard//collection//array.nit:59 */
+ } else {
+ /* ./../lib/standard//collection//array.nit:57 */
+ goto label1;
+ }
+ }
+ label1: while(0);
+ /* ./../lib/standard//collection//array.nit:61 */
+ goto label2;
+ label2: while(0);
+ stack_frame_head = fra.me.prev;
+ return REGB0;
+}
+val_t array___AbstractArrayRead___has_key(val_t p0, val_t p1){
+ struct {struct stack_frame_t me;} fra;
+ val_t REGB0;
+ val_t REGB1;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_array;
+ fra.me.line = 50;
+ fra.me.meth = LOCATE_array___AbstractArrayRead___has_key;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ REGB1 = TAG_Int(0);
+ REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
+ /* ./../lib/standard//collection//array.nit:50 */
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[0])!=NIT_NULL);
+ /* ./../lib/standard//collection//array.nit:23 */
+ if (UNTAG_Bool(REGB1)) {
+ } else {
+ fprintf(stderr, "Uninitialized attribute %s", "_length");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_array, 23);
+ nit_exit(1);