/* This C file is generated by NIT to compile module kernel. */
#include "kernel._sep.h"
-val_t kernel___Object___object_id(val_t self) {
- struct trace_t trace = {NULL, LOCATE_kernel___Object___object_id, 26};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return TAG_Int((int) self);
-}
-val_t kernel___Object___is_same_type(val_t self, val_t param0) {
- struct trace_t trace = {NULL, LOCATE_kernel___Object___is_same_type, 29};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return TAG_Bool((VAL2VFT( self)==VAL2VFT( param0)));
-}
-val_t kernel___Object_____eqeq(val_t self, val_t param0) {
- struct trace_t trace = {NULL, LOCATE_kernel___Object_____eqeq, 32};
- val_t variable0;
- val_t variable1;
- trace.prev = tracehead; tracehead = &trace;
- variable0 = param0;
- variable1 = TAG_Bool(IS_EQUAL_NN( self, variable0 /*other*/));
- goto return_label0;
- return_label0: while(false);
- tracehead = trace.prev;
- return variable1;
-}
-val_t kernel___Object_____neq(val_t self, val_t param0) {
- struct trace_t trace = {NULL, LOCATE_kernel___Object_____neq, 37};
- val_t variable0;
- val_t variable1;
- trace.prev = tracehead; tracehead = &trace;
- variable0 = param0;
- variable1 = TAG_Bool(( self == variable0 /*other*/) || (( self != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( self,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( self, variable0 /*other*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( self,COLOR_kernel___Object_____eqeq))( self, variable0 /*other*/) /*Object::==*/)))));
- variable1 = TAG_Bool(!UNTAG_Bool(variable1));
- goto return_label1;
- return_label1: while(false);
- tracehead = trace.prev;
- return variable1;
-}
-void kernel___Object___output(val_t self) {
- struct trace_t trace = {NULL, LOCATE_kernel___Object___output, 42};
- val_t variable0;
- trace.prev = tracehead; tracehead = &trace;
- printf("%c", (unsigned char)UNTAG_Char( TAG_Char('<')));
- variable0 = TAG_Int((int) self);
- printf("%d\n", UNTAG_Int(variable0));
- printf("%c", (unsigned char)UNTAG_Char( TAG_Char('>')));
- tracehead = trace.prev;
+val_t kernel___Object___object_id(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_kernel;
+ fra.me.line = 26;
+ fra.me.meth = LOCATE_kernel___Object___object_id;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./../lib/standard//kernel.nit:26 */
+ REGB0 = TAG_Int((bigint)((obj_t)fra.me.REG[0])[1].object_id);
+ stack_frame_head = fra.me.prev;
+ return REGB0;
+}
+val_t kernel___Object___is_same_type(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_kernel;
+ fra.me.line = 29;
+ fra.me.meth = LOCATE_kernel___Object___is_same_type;
+ 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;
+ fra.me.REG[1] = p1;
+ /* ./../lib/standard//kernel.nit:29 */
+ REGB0 = TAG_Bool((VAL2VFT(fra.me.REG[0])==VAL2VFT(fra.me.REG[1])));
+ stack_frame_head = fra.me.prev;
+ return REGB0;
+}
+val_t kernel___Object_____eqeq(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_kernel;
+ fra.me.line = 32;
+ fra.me.meth = LOCATE_kernel___Object_____eqeq;
+ 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;
+ fra.me.REG[1] = p1;
+ /* ./../lib/standard//kernel.nit:35 */
+ REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[0],fra.me.REG[1]));
+ goto label1;
+ label1: while(0);
+ stack_frame_head = fra.me.prev;
+ return REGB0;
+}
+val_t kernel___Object_____neq(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} 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_kernel;
+ fra.me.line = 37;
+ fra.me.meth = LOCATE_kernel___Object_____neq;
+ 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;
+ fra.me.REG[1] = p1;
+ /* ./../lib/standard//kernel.nit:40 */
+ REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[0],fra.me.REG[1]));
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
+ REGB0 = REGB1;
+ }
+ REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
+ goto label1;
+ label1: while(0);
+ stack_frame_head = fra.me.prev;
+ return REGB0;
+}
+void kernel___Object___output(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_kernel;
+ fra.me.line = 42;
+ fra.me.meth = LOCATE_kernel___Object___output;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./../lib/standard//kernel.nit:45 */
+ REGB0 = TAG_Char('<');
+ /* ./../lib/standard//kernel.nit:349 */
+ printf("%c", (unsigned char)UNTAG_Char(REGB0));;
+ /* ./../lib/standard//kernel.nit:46 */
+ REGB0 = CALL_kernel___Object___object_id(fra.me.REG[0])(fra.me.REG[0]);
+ /* ./../lib/standard//kernel.nit:209 */
+ printf("%ld\n", UNTAG_Int(REGB0));;
+ /* ./../lib/standard//kernel.nit:47 */
+ REGB0 = TAG_Char('>');
+ /* ./../lib/standard//kernel.nit:349 */
+ printf("%c", (unsigned char)UNTAG_Char(REGB0));;
+ stack_frame_head = fra.me.prev;
return;
}
-void kernel___Object___exit(val_t self, val_t param0) {
- struct trace_t trace = {NULL, LOCATE_kernel___Object___exit, 50};
- trace.prev = tracehead; tracehead = &trace;
- exit(UNTAG_Int( param0));
- tracehead = trace.prev;
+void kernel___Object___exit(val_t p0, val_t p1){
+ 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_kernel;
+ fra.me.line = 50;
+ fra.me.meth = LOCATE_kernel___Object___exit;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = p1;
+ /* ./../lib/standard//kernel.nit:50 */
+ exit(UNTAG_Int(REGB0));;
+ stack_frame_head = fra.me.prev;
return;
}
-val_t kernel___Object___sys(val_t self) {
- struct trace_t trace = {NULL, LOCATE_kernel___Object___sys, 51};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return (G_sys);
+val_t kernel___Object___sys(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_kernel;
+ fra.me.line = 51;
+ fra.me.meth = LOCATE_kernel___Object___sys;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./../lib/standard//kernel.nit:51 */
+ fra.me.REG[0] = (G_sys);
+ stack_frame_head = fra.me.prev;
+ return fra.me.REG[0];
+}
+void kernel___Sys___main(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_kernel;
+ fra.me.line = 56;
+ fra.me.meth = LOCATE_kernel___Sys___main;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ stack_frame_head = fra.me.prev;
+ return;
}
-void kernel___Sys___main(val_t self) {
- struct trace_t trace = {NULL, LOCATE_kernel___Sys___main, 56};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
+void kernel___Sys___init(val_t p0, int* init_table){
+ int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_Sys].i;
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ if (init_table[itpos0]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_kernel;
+ fra.me.line = 0;
+ fra.me.meth = LOCATE_kernel___Sys___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 0;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos0] = 1;
return;
}
-val_t kernel___Comparable_____l(val_t self, val_t param0) {
- struct trace_t trace = {NULL, LOCATE_kernel___Comparable_____l, 69};
- trace.prev = tracehead; tracehead = &trace;
- fprintf(stderr, "Deferred method %s called (%s: %d)\n", "<", LOCATE_kernel___Sys___main, 69);
- nit_exit(1);
- tracehead = trace.prev;
+val_t kernel___Comparable_____l(val_t p0, val_t p1){
+ 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_kernel;
+ fra.me.line = 69;
+ fra.me.meth = LOCATE_kernel___Comparable_____l;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 0;
+ /* ./../lib/standard//kernel.nit:69 */
+ nit_abort("Deferred method called", NULL, LOCATE_kernel, 69);
+ stack_frame_head = fra.me.prev;
return NIT_NULL;
}
-val_t kernel___Comparable_____leq(val_t self, val_t param0) {
- struct trace_t trace = {NULL, LOCATE_kernel___Comparable_____leq, 72};
- val_t variable0;
- val_t variable1;
- trace.prev = tracehead; tracehead = &trace;
- variable0 = param0;
- variable1 = ((kernel___Comparable_____l_t)CALL( variable0 /*other*/,COLOR_kernel___Comparable_____l))( variable0 /*other*/, self) /*Comparable::<*/;
- variable1 = TAG_Bool(!UNTAG_Bool(variable1));
- goto return_label4;
- return_label4: while(false);
- tracehead = trace.prev;
- return variable1;
-}
-val_t kernel___Comparable_____geq(val_t self, val_t param0) {
- struct trace_t trace = {NULL, LOCATE_kernel___Comparable_____geq, 75};
- val_t variable0;
- val_t variable1;
- trace.prev = tracehead; tracehead = &trace;
- variable0 = param0;
- variable1 = ((kernel___Comparable_____l_t)CALL( self,COLOR_kernel___Comparable_____l))( self, variable0 /*other*/) /*Comparable::<*/;
- variable1 = TAG_Bool(!UNTAG_Bool(variable1));
- goto return_label5;
- return_label5: while(false);
- tracehead = trace.prev;
- return variable1;
-}
-val_t kernel___Comparable_____g(val_t self, val_t param0) {
- struct trace_t trace = {NULL, LOCATE_kernel___Comparable_____g, 78};
- val_t variable0;
- val_t variable1;
- trace.prev = tracehead; tracehead = &trace;
- variable0 = param0;
- variable1 = ((kernel___Comparable_____l_t)CALL( variable0 /*other*/,COLOR_kernel___Comparable_____l))( variable0 /*other*/, self) /*Comparable::<*/;
- goto return_label6;
- return_label6: while(false);
- tracehead = trace.prev;
- return variable1;
-}
-val_t kernel___Comparable_____leqg(val_t self, val_t param0) {
- struct trace_t trace = {NULL, LOCATE_kernel___Comparable_____leqg, 81};
- val_t variable0;
- val_t variable1;
- trace.prev = tracehead; tracehead = &trace;
- variable0 = param0;
- variable1 = ((kernel___Comparable_____l_t)CALL( self,COLOR_kernel___Comparable_____l))( self, variable0 /*other*/) /*Comparable::<*/;
- if (UNTAG_Bool(variable1)) { /*if*/
- variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
- goto return_label7;
- } else { /*if*/
- variable1 = ((kernel___Comparable_____l_t)CALL( variable0 /*other*/,COLOR_kernel___Comparable_____l))( variable0 /*other*/, self) /*Comparable::<*/;
- if (UNTAG_Bool(variable1)) { /*if*/
- variable1 = TAG_Int(1);
- goto return_label7;
- } else { /*if*/
- variable1 = TAG_Int(0);
- goto return_label7;
+val_t kernel___Comparable_____leq(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_kernel;
+ fra.me.line = 72;
+ fra.me.meth = LOCATE_kernel___Comparable_____leq;
+ 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;
+ fra.me.REG[1] = p1;
+ /* ./../lib/standard//kernel.nit:73 */
+ REGB0 = CALL_kernel___Comparable_____l(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
+ REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
+ goto label1;
+ label1: while(0);
+ stack_frame_head = fra.me.prev;
+ return REGB0;
+}
+val_t kernel___Comparable_____geq(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_kernel;
+ fra.me.line = 75;
+ fra.me.meth = LOCATE_kernel___Comparable_____geq;
+ 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;
+ fra.me.REG[1] = p1;
+ /* ./../lib/standard//kernel.nit:76 */
+ REGB0 = CALL_kernel___Comparable_____l(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
+ REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
+ goto label1;
+ label1: while(0);
+ stack_frame_head = fra.me.prev;
+ return REGB0;
+}
+val_t kernel___Comparable_____g(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_kernel;
+ fra.me.line = 78;
+ fra.me.meth = LOCATE_kernel___Comparable_____g;
+ 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;
+ fra.me.REG[1] = p1;
+ /* ./../lib/standard//kernel.nit:79 */
+ REGB0 = CALL_kernel___Comparable_____l(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
+ goto label1;
+ label1: while(0);
+ stack_frame_head = fra.me.prev;
+ return REGB0;
+}
+val_t kernel___Comparable_____leqg(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} 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_kernel;
+ fra.me.line = 81;
+ fra.me.meth = LOCATE_kernel___Comparable_____leqg;
+ 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;
+ fra.me.REG[1] = p1;
+ /* ./../lib/standard//kernel.nit:84 */
+ REGB0 = CALL_kernel___Comparable_____l(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
+ if (UNTAG_Bool(REGB0)) {
+ /* ./../lib/standard//kernel.nit:85 */
+ REGB0 = TAG_Int(1);
+ /* ./../lib/standard//kernel.nit:216 */
+ REGB0 = TAG_Int(-UNTAG_Int(REGB0));
+ /* ./../lib/standard//kernel.nit:85 */
+ goto label1;
+ } else {
+ /* ./../lib/standard//kernel.nit:86 */
+ REGB1 = CALL_kernel___Comparable_____l(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
+ if (UNTAG_Bool(REGB1)) {
+ /* ./../lib/standard//kernel.nit:87 */
+ REGB1 = TAG_Int(1);
+ REGB0 = REGB1;
+ goto label1;
+ } else {
+ /* ./../lib/standard//kernel.nit:89 */
+ REGB1 = TAG_Int(0);
+ REGB0 = REGB1;
+ goto label1;
}
}
- return_label7: while(false);
- tracehead = trace.prev;
- return variable1;
-}
-val_t kernel___Comparable___is_between(val_t self, val_t param0, val_t param1) {
- struct trace_t trace = {NULL, LOCATE_kernel___Comparable___is_between, 93};
- val_t variable0;
- val_t variable1;
- val_t variable2;
- val_t variable3;
- trace.prev = tracehead; tracehead = &trace;
- variable0 = param0;
- variable1 = param1;
- variable2 = ((kernel___Comparable_____leq_t)CALL( variable0 /*c*/,COLOR_kernel___Comparable_____leq))( variable0 /*c*/, self) /*Comparable::<=*/;
- variable3 = variable2;
- if (UNTAG_Bool(variable3)) { /* and */
- variable3 = ((kernel___Comparable_____leq_t)CALL( self,COLOR_kernel___Comparable_____leq))( self, variable1 /*d*/) /*Comparable::<=*/;
+ label1: while(0);
+ stack_frame_head = fra.me.prev;
+ return REGB0;
+}
+val_t kernel___Comparable___is_between(val_t p0, val_t p1, val_t p2){
+ struct {struct stack_frame_t me; val_t MORE_REG[2];} 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_kernel;
+ fra.me.line = 93;
+ fra.me.meth = LOCATE_kernel___Comparable___is_between;
+ 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;
+ fra.me.REG[2] = p2;
+ /* ./../lib/standard//kernel.nit:96 */
+ REGB0 = CALL_kernel___Comparable_____leq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
+ if (UNTAG_Bool(REGB0)) {
+ REGB0 = CALL_kernel___Comparable_____leq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
+ } else {
+ REGB1 = TAG_Bool(false);
+ REGB0 = REGB1;
}
- variable2 = variable3;
- goto return_label8;
- return_label8: while(false);
- tracehead = trace.prev;
- return variable2;
-}
-val_t kernel___Comparable___max(val_t self, val_t param0) {
- struct trace_t trace = {NULL, LOCATE_kernel___Comparable___max, 99};
- val_t variable0;
- val_t variable1;
- trace.prev = tracehead; tracehead = &trace;
- variable0 = param0;
- variable1 = ((kernel___Comparable_____l_t)CALL( self,COLOR_kernel___Comparable_____l))( self, variable0 /*other*/) /*Comparable::<*/;
- if (UNTAG_Bool(variable1)) { /*if*/
- variable1 = variable0 /*other*/;
- goto return_label9;
- } else { /*if*/
- variable1 = self;
- goto return_label9;
+ goto label1;
+ label1: while(0);
+ stack_frame_head = fra.me.prev;
+ return REGB0;
+}
+val_t kernel___Comparable___max(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_kernel;
+ fra.me.line = 99;
+ fra.me.meth = LOCATE_kernel___Comparable___max;
+ 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;
+ fra.me.REG[1] = p1;
+ /* ./../lib/standard//kernel.nit:102 */
+ REGB0 = CALL_kernel___Comparable_____l(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
+ if (UNTAG_Bool(REGB0)) {
+ /* ./../lib/standard//kernel.nit:103 */
+ goto label1;
+ } else {
+ /* ./../lib/standard//kernel.nit:105 */
+ fra.me.REG[1] = fra.me.REG[0];
+ goto label1;
}
- return_label9: while(false);
- tracehead = trace.prev;
- return variable1;
-}
-val_t kernel___Comparable___min(val_t self, val_t param0) {
- struct trace_t trace = {NULL, LOCATE_kernel___Comparable___min, 109};
- val_t variable0;
- val_t variable1;
- trace.prev = tracehead; tracehead = &trace;
- variable0 = param0;
- variable1 = ((kernel___Comparable_____l_t)CALL( variable0 /*c*/,COLOR_kernel___Comparable_____l))( variable0 /*c*/, self) /*Comparable::<*/;
- if (UNTAG_Bool(variable1)) { /*if*/
- variable1 = variable0 /*c*/;
- goto return_label10;
- } else { /*if*/
- variable1 = self;
- goto return_label10;
+ label1: while(0);
+ stack_frame_head = fra.me.prev;
+ return fra.me.REG[1];
+}
+val_t kernel___Comparable___min(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_kernel;
+ fra.me.line = 109;
+ fra.me.meth = LOCATE_kernel___Comparable___min;
+ 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;
+ fra.me.REG[1] = p1;
+ /* ./../lib/standard//kernel.nit:112 */
+ REGB0 = CALL_kernel___Comparable_____l(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
+ if (UNTAG_Bool(REGB0)) {
+ /* ./../lib/standard//kernel.nit:113 */
+ goto label1;
+ } else {
+ /* ./../lib/standard//kernel.nit:115 */
+ fra.me.REG[1] = fra.me.REG[0];
+ goto label1;
}
- return_label10: while(false);
- tracehead = trace.prev;
- return variable1;
-}
-val_t kernel___Discrete___succ(val_t self) {
- struct trace_t trace = {NULL, LOCATE_kernel___Discrete___succ, 126};
- val_t variable0;
- trace.prev = tracehead; tracehead = &trace;
- variable0 = ((kernel___Discrete_____plus_t)CALL( self,COLOR_kernel___Discrete_____plus))( self, TAG_Int(1)) /*Discrete::+*/;
- goto return_label11;
- return_label11: while(false);
- tracehead = trace.prev;
- return variable0;
-}
-val_t kernel___Discrete___prec(val_t self) {
- struct trace_t trace = {NULL, LOCATE_kernel___Discrete___prec, 129};
- val_t variable0;
- trace.prev = tracehead; tracehead = &trace;
- variable0 = ((kernel___Discrete_____minus_t)CALL( self,COLOR_kernel___Discrete_____minus))( self, TAG_Int(1)) /*Discrete::-*/;
- goto return_label12;
- return_label12: while(false);
- tracehead = trace.prev;
- return variable0;
-}
-val_t kernel___Discrete_____plus(val_t self, val_t param0) {
- struct trace_t trace = {NULL, LOCATE_kernel___Discrete_____plus, 132};
- trace.prev = tracehead; tracehead = &trace;
- fprintf(stderr, "Deferred method %s called (%s: %d)\n", "+", LOCATE_kernel___Discrete___prec, 132);
- nit_exit(1);
- tracehead = trace.prev;
+ label1: while(0);
+ stack_frame_head = fra.me.prev;
+ return fra.me.REG[1];
+}
+val_t kernel___Discrete___succ(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_kernel;
+ fra.me.line = 126;
+ fra.me.meth = LOCATE_kernel___Discrete___succ;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./../lib/standard//kernel.nit:127 */
+ REGB0 = TAG_Int(1);
+ fra.me.REG[0] = CALL_kernel___Discrete_____plus(fra.me.REG[0])(fra.me.REG[0], REGB0);
+ goto label1;
+ label1: while(0);
+ stack_frame_head = fra.me.prev;
+ return fra.me.REG[0];
+}
+val_t kernel___Discrete___prec(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_kernel;
+ fra.me.line = 129;
+ fra.me.meth = LOCATE_kernel___Discrete___prec;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./../lib/standard//kernel.nit:130 */
+ REGB0 = TAG_Int(1);
+ fra.me.REG[0] = CALL_kernel___Discrete_____minus(fra.me.REG[0])(fra.me.REG[0], REGB0);
+ goto label1;
+ label1: while(0);
+ stack_frame_head = fra.me.prev;
+ return fra.me.REG[0];
+}
+val_t kernel___Discrete_____plus(val_t p0, val_t p1){
+ 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_kernel;
+ fra.me.line = 132;
+ fra.me.meth = LOCATE_kernel___Discrete_____plus;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 0;
+ /* ./../lib/standard//kernel.nit:132 */
+ nit_abort("Deferred method called", NULL, LOCATE_kernel, 132);
+ stack_frame_head = fra.me.prev;
return NIT_NULL;
}
-val_t kernel___Discrete_____minus(val_t self, val_t param0) {
- struct trace_t trace = {NULL, LOCATE_kernel___Discrete_____minus, 135};
- trace.prev = tracehead; tracehead = &trace;
- fprintf(stderr, "Deferred method %s called (%s: %d)\n", "-", LOCATE_kernel___Discrete___prec, 135);
- nit_exit(1);
- tracehead = trace.prev;
+val_t kernel___Discrete_____minus(val_t p0, val_t p1){
+ 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_kernel;
+ fra.me.line = 135;
+ fra.me.meth = LOCATE_kernel___Discrete_____minus;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 0;
+ /* ./../lib/standard//kernel.nit:135 */
+ nit_abort("Deferred method called", NULL, LOCATE_kernel, 135);
+ stack_frame_head = fra.me.prev;
return NIT_NULL;
}
-val_t kernel___Discrete___distance(val_t self, val_t param0) {
- struct trace_t trace = {NULL, LOCATE_kernel___Discrete___distance, 138};
- val_t variable0;
- val_t variable1;
- val_t variable2;
- val_t variable3;
- val_t variable4;
- trace.prev = tracehead; tracehead = &trace;
- variable0 = param0;
- variable1 = NIT_NULL /*decl variable cursor*/;
- variable2 = NIT_NULL /*decl variable stop*/;
- variable3 = ((kernel___Comparable_____l_t)CALL( self,COLOR_kernel___Comparable_____l))( self, variable0 /*d*/) /*Discrete::<*/;
- if (UNTAG_Bool(variable3)) { /*if*/
- variable1 = self /*cursor=*/;
- variable2 = variable0 /*d*/ /*stop=*/;
- } else { /*if*/
- variable3 = ((kernel___Comparable_____g_t)CALL( self,COLOR_kernel___Comparable_____g))( self, variable0 /*d*/) /*Discrete::>*/;
- if (UNTAG_Bool(variable3)) { /*if*/
- variable1 = variable0 /*d*/ /*cursor=*/;
- variable2 = self /*stop=*/;
- } else { /*if*/
- variable1 = TAG_Int(0);
- goto return_label13;
+val_t kernel___Discrete___distance(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[3];} 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_kernel;
+ fra.me.line = 138;
+ fra.me.meth = LOCATE_kernel___Discrete___distance;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ 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[0] = p0;
+ fra.me.REG[1] = p1;
+ /* ./../lib/standard//kernel.nit:145 */
+ REGB0 = CALL_kernel___Comparable_____l(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
+ if (UNTAG_Bool(REGB0)) {
+ /* ./../lib/standard//kernel.nit:146 */
+ fra.me.REG[2] = fra.me.REG[0];
+ /* ./../lib/standard//kernel.nit:147 */
+ fra.me.REG[3] = fra.me.REG[1];
+ } else {
+ /* ./../lib/standard//kernel.nit:148 */
+ REGB0 = CALL_kernel___Comparable_____g(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
+ if (UNTAG_Bool(REGB0)) {
+ /* ./../lib/standard//kernel.nit:149 */
+ fra.me.REG[2] = fra.me.REG[1];
+ /* ./../lib/standard//kernel.nit:150 */
+ fra.me.REG[3] = fra.me.REG[0];
+ } else {
+ /* ./../lib/standard//kernel.nit:152 */
+ REGB0 = TAG_Int(0);
+ goto label1;
}
}
- variable3 = TAG_Int(0);
- while (true) { /*while*/
- variable4 = ((kernel___Comparable_____l_t)CALL( variable1 /*cursor*/,COLOR_kernel___Comparable_____l))( variable1 /*cursor*/, variable2 /*stop*/) /*Discrete::<*/;
- if (!UNTAG_Bool(variable4)) break; /* while*/
- variable4 = ((kernel___Discrete___succ_t)CALL( variable1 /*cursor*/,COLOR_kernel___Discrete___succ))( variable1 /*cursor*/) /*Discrete::succ*/;
- variable1 = variable4 /*cursor=*/;
- variable3 = TAG_Int(UNTAG_Int(variable3)+UNTAG_Int( TAG_Int(1))) /*nb*/;
- continue_14: while(0);
+ /* ./../lib/standard//kernel.nit:155 */
+ REGB1 = TAG_Int(0);
+ /* ./../lib/standard//kernel.nit:156 */
+ while(1) {
+ REGB2 = CALL_kernel___Comparable_____l(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
+ if (UNTAG_Bool(REGB2)) {
+ /* ./../lib/standard//kernel.nit:157 */
+ fra.me.REG[0] = CALL_kernel___Discrete___succ(fra.me.REG[2])(fra.me.REG[2]);
+ fra.me.REG[2] = fra.me.REG[0];
+ /* ./../lib/standard//kernel.nit:158 */
+ REGB2 = TAG_Int(1);
+ /* ./../lib/standard//kernel.nit:215 */
+ REGB2 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB2));
+ /* ./../lib/standard//kernel.nit:158 */
+ REGB1 = REGB2;
+ } else {
+ /* ./../lib/standard//kernel.nit:156 */
+ goto label2;
+ }
}
- break_14: while(0);
- variable1 = variable3 /*nb*/;
- goto return_label13;
- return_label13: while(false);
- tracehead = trace.prev;
- return variable1;
-}
-val_t kernel___Bool___object_id(val_t self) {
- struct trace_t trace = {NULL, LOCATE_kernel___Bool___object_id, 174};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return TAG_Int(UNTAG_Bool( self));
-}
-val_t kernel___Bool_____eqeq(val_t self, val_t param0) {
- struct trace_t trace = {NULL, LOCATE_kernel___Bool_____eqeq, 175};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return TAG_Bool(( self)==( param0));
-}
-val_t kernel___Bool_____neq(val_t self, val_t param0) {
- struct trace_t trace = {NULL, LOCATE_kernel___Bool_____neq, 176};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return TAG_Bool(( self)!=( param0));
-}
-void kernel___Bool___output(val_t self) {
- struct trace_t trace = {NULL, LOCATE_kernel___Bool___output, 177};
- trace.prev = tracehead; tracehead = &trace;
- (void)printf(UNTAG_Bool( self)?"true\n":"false\n");
- tracehead = trace.prev;
+ label2: while(0);
+ /* ./../lib/standard//kernel.nit:160 */
+ REGB0 = REGB1;
+ goto label1;
+ label1: while(0);
+ stack_frame_head = fra.me.prev;
+ return REGB0;
+}
+val_t kernel___Bool___object_id(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_kernel;
+ fra.me.line = 174;
+ fra.me.meth = LOCATE_kernel___Bool___object_id;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 0;
+ REGB0 = p0;
+ /* ./../lib/standard//kernel.nit:174 */
+ REGB0 = TAG_Int(UNTAG_Bool(REGB0));
+ stack_frame_head = fra.me.prev;
+ return REGB0;
+}
+val_t kernel___Bool_____eqeq(val_t p0, val_t p1){
+ 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_kernel;
+ fra.me.line = 175;
+ fra.me.meth = LOCATE_kernel___Bool_____eqeq;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ REGB0 = p0;
+ fra.me.REG[0] = p1;
+ /* ./../lib/standard//kernel.nit:175 */
+ REGB0 = TAG_Bool((REGB0)==(fra.me.REG[0]));
+ stack_frame_head = fra.me.prev;
+ return REGB0;
+}
+val_t kernel___Bool_____neq(val_t p0, val_t p1){
+ 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_kernel;
+ fra.me.line = 176;
+ fra.me.meth = LOCATE_kernel___Bool_____neq;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ REGB0 = p0;
+ fra.me.REG[0] = p1;
+ /* ./../lib/standard//kernel.nit:176 */
+ REGB0 = TAG_Bool((REGB0)!=(fra.me.REG[0]));
+ stack_frame_head = fra.me.prev;
+ return REGB0;
+}
+void kernel___Bool___output(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_kernel;
+ fra.me.line = 177;
+ fra.me.meth = LOCATE_kernel___Bool___output;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 0;
+ REGB0 = p0;
+ /* ./../lib/standard//kernel.nit:177 */
+ (void)printf(UNTAG_Bool(REGB0)?"true\n":"false\n");;
+ stack_frame_head = fra.me.prev;
return;
}
-val_t kernel___Float___object_id(val_t self) {
- struct trace_t trace = {NULL, LOCATE_kernel___Float___object_id, 183};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return TAG_Int((int)UNBOX_Float( self));
-}
-void kernel___Float___output(val_t self) {
- struct trace_t trace = {NULL, LOCATE_kernel___Float___output, 184};
- trace.prev = tracehead; tracehead = &trace;
- printf("%f\n", UNBOX_Float( self));
- tracehead = trace.prev;
+val_t kernel___Float___object_id(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_kernel;
+ fra.me.line = 183;
+ fra.me.meth = LOCATE_kernel___Float___object_id;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./../lib/standard//kernel.nit:183 */
+ REGB0 = TAG_Int((bigint)UNBOX_Float(fra.me.REG[0]));
+ stack_frame_head = fra.me.prev;
+ return REGB0;
+}
+void kernel___Float___output(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_kernel;
+ fra.me.line = 184;
+ fra.me.meth = LOCATE_kernel___Float___output;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./../lib/standard//kernel.nit:184 */
+ printf("%f\n", UNBOX_Float(fra.me.REG[0]));;
+ stack_frame_head = fra.me.prev;
return;
}
-val_t kernel___Float_____leq(val_t self, val_t param0) {
- struct trace_t trace = {NULL, LOCATE_kernel___Float_____leq, 186};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return TAG_Bool(UNBOX_Float( self)<=UNBOX_Float( param0));
-}
-val_t kernel___Float_____l(val_t self, val_t param0) {
- struct trace_t trace = {NULL, LOCATE_kernel___Float_____l, 187};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return TAG_Bool(UNBOX_Float( self)<UNBOX_Float( param0));
-}
-val_t kernel___Float_____geq(val_t self, val_t param0) {
- struct trace_t trace = {NULL, LOCATE_kernel___Float_____geq, 188};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return TAG_Bool(UNBOX_Float( self)>=UNBOX_Float( param0));
-}
-val_t kernel___Float_____g(val_t self, val_t param0) {
- struct trace_t trace = {NULL, LOCATE_kernel___Float_____g, 189};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return TAG_Bool(UNBOX_Float( self)>UNBOX_Float( param0));
-}
-val_t kernel___Float_____plus(val_t self, val_t param0) {
- struct trace_t trace = {NULL, LOCATE_kernel___Float_____plus, 190};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return BOX_Float(UNBOX_Float( self)+UNBOX_Float( param0));
-}
-val_t kernel___Float___unary__minus(val_t self) {
- struct trace_t trace = {NULL, LOCATE_kernel___Float___unary__minus, 191};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return BOX_Float(-UNBOX_Float( self));
-}
-val_t kernel___Float_____minus(val_t self, val_t param0) {
- struct trace_t trace = {NULL, LOCATE_kernel___Float_____minus, 192};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return BOX_Float(UNBOX_Float( self)-UNBOX_Float( param0));
-}
-val_t kernel___Float_____star(val_t self, val_t param0) {
- struct trace_t trace = {NULL, LOCATE_kernel___Float_____star, 193};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return BOX_Float(UNBOX_Float( self)*UNBOX_Float( param0));
-}
-val_t kernel___Float_____slash(val_t self, val_t param0) {
- struct trace_t trace = {NULL, LOCATE_kernel___Float_____slash, 194};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return BOX_Float(UNBOX_Float( self)/UNBOX_Float( param0));
-}
-val_t kernel___Float___to_i(val_t self) {
- struct trace_t trace = {NULL, LOCATE_kernel___Float___to_i, 196};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return TAG_Int((int)UNBOX_Float( self));
-}
-val_t kernel___Int___object_id(val_t self) {
- struct trace_t trace = {NULL, LOCATE_kernel___Int___object_id, 206};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return self;
-}
-val_t kernel___Int_____eqeq(val_t self, val_t param0) {
- struct trace_t trace = {NULL, LOCATE_kernel___Int_____eqeq, 207};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return TAG_Bool(( self)==( param0));
-}
-val_t kernel___Int_____neq(val_t self, val_t param0) {
- struct trace_t trace = {NULL, LOCATE_kernel___Int_____neq, 208};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return TAG_Bool(( self)!=( param0));
-}
-void kernel___Int___output(val_t self) {
- struct trace_t trace = {NULL, LOCATE_kernel___Int___output, 209};
- trace.prev = tracehead; tracehead = &trace;
- printf("%d\n", UNTAG_Int( self));
- tracehead = trace.prev;
+val_t kernel___Float_____leq(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_kernel;
+ fra.me.line = 186;
+ fra.me.meth = LOCATE_kernel___Float_____leq;
+ 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;
+ fra.me.REG[1] = p1;
+ /* ./../lib/standard//kernel.nit:186 */
+ REGB0 = TAG_Bool(UNBOX_Float(fra.me.REG[0])<=UNBOX_Float(fra.me.REG[1]));
+ stack_frame_head = fra.me.prev;
+ return REGB0;
+}
+val_t kernel___Float_____l(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_kernel;
+ fra.me.line = 187;
+ fra.me.meth = LOCATE_kernel___Float_____l;
+ 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;
+ fra.me.REG[1] = p1;
+ /* ./../lib/standard//kernel.nit:187 */
+ REGB0 = TAG_Bool(UNBOX_Float(fra.me.REG[0])<UNBOX_Float(fra.me.REG[1]));
+ stack_frame_head = fra.me.prev;
+ return REGB0;
+}
+val_t kernel___Float_____geq(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_kernel;
+ fra.me.line = 188;
+ fra.me.meth = LOCATE_kernel___Float_____geq;
+ 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;
+ fra.me.REG[1] = p1;
+ /* ./../lib/standard//kernel.nit:188 */
+ REGB0 = TAG_Bool(UNBOX_Float(fra.me.REG[0])>=UNBOX_Float(fra.me.REG[1]));
+ stack_frame_head = fra.me.prev;
+ return REGB0;
+}
+val_t kernel___Float_____g(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_kernel;
+ fra.me.line = 189;
+ fra.me.meth = LOCATE_kernel___Float_____g;
+ 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;
+ fra.me.REG[1] = p1;
+ /* ./../lib/standard//kernel.nit:189 */
+ REGB0 = TAG_Bool(UNBOX_Float(fra.me.REG[0])>UNBOX_Float(fra.me.REG[1]));
+ stack_frame_head = fra.me.prev;
+ return REGB0;
+}
+val_t kernel___Float_____plus(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_kernel;
+ fra.me.line = 190;
+ fra.me.meth = LOCATE_kernel___Float_____plus;
+ 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;
+ fra.me.REG[1] = p1;
+ /* ./../lib/standard//kernel.nit:190 */
+ fra.me.REG[1] = BOX_Float(UNBOX_Float(fra.me.REG[0])+UNBOX_Float(fra.me.REG[1]));
+ stack_frame_head = fra.me.prev;
+ return fra.me.REG[1];
+}
+val_t kernel___Float___unary__minus(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_kernel;
+ fra.me.line = 191;
+ fra.me.meth = LOCATE_kernel___Float___unary__minus;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./../lib/standard//kernel.nit:191 */
+ fra.me.REG[0] = BOX_Float(-UNBOX_Float(fra.me.REG[0]));
+ stack_frame_head = fra.me.prev;
+ return fra.me.REG[0];
+}
+val_t kernel___Float_____minus(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_kernel;
+ fra.me.line = 192;
+ fra.me.meth = LOCATE_kernel___Float_____minus;
+ 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;
+ fra.me.REG[1] = p1;
+ /* ./../lib/standard//kernel.nit:192 */
+ fra.me.REG[1] = BOX_Float(UNBOX_Float(fra.me.REG[0])-UNBOX_Float(fra.me.REG[1]));
+ stack_frame_head = fra.me.prev;
+ return fra.me.REG[1];
+}
+val_t kernel___Float_____star(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_kernel;
+ fra.me.line = 193;
+ fra.me.meth = LOCATE_kernel___Float_____star;
+ 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;
+ fra.me.REG[1] = p1;
+ /* ./../lib/standard//kernel.nit:193 */
+ fra.me.REG[1] = BOX_Float(UNBOX_Float(fra.me.REG[0])*UNBOX_Float(fra.me.REG[1]));
+ stack_frame_head = fra.me.prev;
+ return fra.me.REG[1];
+}
+val_t kernel___Float_____slash(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_kernel;
+ fra.me.line = 194;
+ fra.me.meth = LOCATE_kernel___Float_____slash;
+ 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;
+ fra.me.REG[1] = p1;
+ /* ./../lib/standard//kernel.nit:194 */
+ fra.me.REG[1] = BOX_Float(UNBOX_Float(fra.me.REG[0])/UNBOX_Float(fra.me.REG[1]));
+ stack_frame_head = fra.me.prev;
+ return fra.me.REG[1];
+}
+val_t kernel___Float___to_i(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_kernel;
+ fra.me.line = 196;
+ fra.me.meth = LOCATE_kernel___Float___to_i;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./../lib/standard//kernel.nit:196 */
+ REGB0 = TAG_Int((bigint)UNBOX_Float(fra.me.REG[0]));
+ stack_frame_head = fra.me.prev;
+ return REGB0;
+}
+val_t kernel___Int___object_id(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_kernel;
+ fra.me.line = 206;
+ fra.me.meth = LOCATE_kernel___Int___object_id;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 0;
+ REGB0 = p0;
+ /* ./../lib/standard//kernel.nit:206 */
+ REGB0 = REGB0;
+ stack_frame_head = fra.me.prev;
+ return REGB0;
+}
+val_t kernel___Int_____eqeq(val_t p0, val_t p1){
+ 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_kernel;
+ fra.me.line = 207;
+ fra.me.meth = LOCATE_kernel___Int_____eqeq;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ REGB0 = p0;
+ fra.me.REG[0] = p1;
+ /* ./../lib/standard//kernel.nit:207 */
+ REGB0 = TAG_Bool((REGB0)==(fra.me.REG[0]));
+ stack_frame_head = fra.me.prev;
+ return REGB0;
+}
+val_t kernel___Int_____neq(val_t p0, val_t p1){
+ 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_kernel;
+ fra.me.line = 208;
+ fra.me.meth = LOCATE_kernel___Int_____neq;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ REGB0 = p0;
+ fra.me.REG[0] = p1;
+ /* ./../lib/standard//kernel.nit:208 */
+ REGB0 = TAG_Bool((REGB0)!=(fra.me.REG[0]));
+ stack_frame_head = fra.me.prev;
+ return REGB0;
+}
+void kernel___Int___output(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_kernel;
+ fra.me.line = 209;
+ fra.me.meth = LOCATE_kernel___Int___output;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 0;
+ REGB0 = p0;
+ /* ./../lib/standard//kernel.nit:209 */
+ printf("%ld\n", UNTAG_Int(REGB0));;
+ stack_frame_head = fra.me.prev;
return;
}
-val_t kernel___Int_____leq(val_t self, val_t param0) {
- struct trace_t trace = {NULL, LOCATE_kernel___Int_____leq, 211};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return TAG_Bool(UNTAG_Int( self)<=UNTAG_Int( param0));
-}
-val_t kernel___Int_____l(val_t self, val_t param0) {
- struct trace_t trace = {NULL, LOCATE_kernel___Int_____l, 212};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return TAG_Bool(UNTAG_Int( self)<UNTAG_Int( param0));
-}
-val_t kernel___Int_____geq(val_t self, val_t param0) {
- struct trace_t trace = {NULL, LOCATE_kernel___Int_____geq, 213};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return TAG_Bool(UNTAG_Int( self)>=UNTAG_Int( param0));
-}
-val_t kernel___Int_____g(val_t self, val_t param0) {
- struct trace_t trace = {NULL, LOCATE_kernel___Int_____g, 214};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return TAG_Bool(UNTAG_Int( self)>UNTAG_Int( param0));
-}
-val_t kernel___Int_____plus(val_t self, val_t param0) {
- struct trace_t trace = {NULL, LOCATE_kernel___Int_____plus, 215};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return TAG_Int(UNTAG_Int( self)+UNTAG_Int( param0));
-}
-val_t kernel___Int___unary__minus(val_t self) {
- struct trace_t trace = {NULL, LOCATE_kernel___Int___unary__minus, 216};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return TAG_Int(-UNTAG_Int( self));
-}
-val_t kernel___Int_____minus(val_t self, val_t param0) {
- struct trace_t trace = {NULL, LOCATE_kernel___Int_____minus, 217};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return TAG_Int(UNTAG_Int( self)-UNTAG_Int( param0));
-}
-val_t kernel___Int_____star(val_t self, val_t param0) {
- struct trace_t trace = {NULL, LOCATE_kernel___Int_____star, 218};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return TAG_Int(UNTAG_Int( self)*UNTAG_Int( param0));
-}
-val_t kernel___Int_____slash(val_t self, val_t param0) {
- struct trace_t trace = {NULL, LOCATE_kernel___Int_____slash, 219};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return TAG_Int(UNTAG_Int( self)/UNTAG_Int( param0));
-}
-val_t kernel___Int_____percent(val_t self, val_t param0) {
- struct trace_t trace = {NULL, LOCATE_kernel___Int_____percent, 220};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return TAG_Int(UNTAG_Int( self)%UNTAG_Int( param0));
-}
-val_t kernel___Int___lshift(val_t self, val_t param0) {
- struct trace_t trace = {NULL, LOCATE_kernel___Int___lshift, 221};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return TAG_Int(UNTAG_Int( self)<<UNTAG_Int( param0));
-}
-val_t kernel___Int___rshift(val_t self, val_t param0) {
- struct trace_t trace = {NULL, LOCATE_kernel___Int___rshift, 222};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return TAG_Int(UNTAG_Int( self)>>UNTAG_Int( param0));
-}
-val_t kernel___Int___to_f(val_t self) {
- struct trace_t trace = {NULL, LOCATE_kernel___Int___to_f, 224};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return BOX_Float((float)UNTAG_Int( self));
-}
-val_t kernel___Int___succ(val_t self) {
- struct trace_t trace = {NULL, LOCATE_kernel___Int___succ, 227};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return TAG_Int(UNTAG_Int( self)+1);
-}
-val_t kernel___Int___prec(val_t self) {
- struct trace_t trace = {NULL, LOCATE_kernel___Int___prec, 228};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return TAG_Int(UNTAG_Int( self)-1);
-}
-val_t kernel___Int___distance(val_t self, val_t param0) {
- struct trace_t trace = {NULL, LOCATE_kernel___Int___distance, 229};
- val_t variable0;
- val_t variable1;
- val_t variable2;
- trace.prev = tracehead; tracehead = &trace;
- variable0 = param0;
- variable2 = TAG_Int(UNTAG_Int( self)-UNTAG_Int( variable0 /*i*/));
- variable1 = variable2;
- variable2 = TAG_Bool(UNTAG_Int( variable1 /*d*/)>=UNTAG_Int( TAG_Int(0)));
- if (UNTAG_Bool(variable2)) { /*if*/
- variable1 = variable1 /*d*/;
- goto return_label15;
- } else { /*if*/
- variable2 = TAG_Int(-UNTAG_Int( variable1 /*d*/));
- variable1 = variable2;
- goto return_label15;
+val_t kernel___Int_____leq(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_kernel;
+ fra.me.line = 211;
+ fra.me.meth = LOCATE_kernel___Int_____leq;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 0;
+ REGB0 = p0;
+ REGB1 = p1;
+ /* ./../lib/standard//kernel.nit:211 */
+ REGB1 = TAG_Bool(UNTAG_Int(REGB0)<=UNTAG_Int(REGB1));
+ stack_frame_head = fra.me.prev;
+ return REGB1;
+}
+val_t kernel___Int_____l(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_kernel;
+ fra.me.line = 212;
+ fra.me.meth = LOCATE_kernel___Int_____l;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 0;
+ REGB0 = p0;
+ REGB1 = p1;
+ /* ./../lib/standard//kernel.nit:212 */
+ REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
+ stack_frame_head = fra.me.prev;
+ return REGB1;
+}
+val_t kernel___Int_____geq(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_kernel;
+ fra.me.line = 213;
+ fra.me.meth = LOCATE_kernel___Int_____geq;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 0;
+ REGB0 = p0;
+ REGB1 = p1;
+ /* ./../lib/standard//kernel.nit:213 */
+ REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
+ stack_frame_head = fra.me.prev;
+ return REGB1;
+}
+val_t kernel___Int_____g(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_kernel;
+ fra.me.line = 214;
+ fra.me.meth = LOCATE_kernel___Int_____g;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 0;
+ REGB0 = p0;
+ REGB1 = p1;
+ /* ./../lib/standard//kernel.nit:214 */
+ REGB1 = TAG_Bool(UNTAG_Int(REGB0)>UNTAG_Int(REGB1));
+ stack_frame_head = fra.me.prev;
+ return REGB1;
+}
+val_t kernel___Int_____plus(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_kernel;
+ fra.me.line = 215;
+ fra.me.meth = LOCATE_kernel___Int_____plus;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 0;
+ REGB0 = p0;
+ REGB1 = p1;
+ /* ./../lib/standard//kernel.nit:215 */
+ REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
+ stack_frame_head = fra.me.prev;
+ return REGB1;
+}
+val_t kernel___Int___unary__minus(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_kernel;
+ fra.me.line = 216;
+ fra.me.meth = LOCATE_kernel___Int___unary__minus;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 0;
+ REGB0 = p0;
+ /* ./../lib/standard//kernel.nit:216 */
+ REGB0 = TAG_Int(-UNTAG_Int(REGB0));
+ stack_frame_head = fra.me.prev;
+ return REGB0;
+}
+val_t kernel___Int_____minus(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_kernel;
+ fra.me.line = 217;
+ fra.me.meth = LOCATE_kernel___Int_____minus;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 0;
+ REGB0 = p0;
+ REGB1 = p1;
+ /* ./../lib/standard//kernel.nit:217 */
+ REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
+ stack_frame_head = fra.me.prev;
+ return REGB1;
+}
+val_t kernel___Int_____star(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_kernel;
+ fra.me.line = 218;
+ fra.me.meth = LOCATE_kernel___Int_____star;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 0;
+ REGB0 = p0;
+ REGB1 = p1;
+ /* ./../lib/standard//kernel.nit:218 */
+ REGB1 = TAG_Int(UNTAG_Int(REGB0)*UNTAG_Int(REGB1));
+ stack_frame_head = fra.me.prev;
+ return REGB1;
+}
+val_t kernel___Int_____slash(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_kernel;
+ fra.me.line = 219;
+ fra.me.meth = LOCATE_kernel___Int_____slash;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 0;
+ REGB0 = p0;
+ REGB1 = p1;
+ /* ./../lib/standard//kernel.nit:219 */
+ REGB1 = TAG_Int(UNTAG_Int(REGB0)/UNTAG_Int(REGB1));
+ stack_frame_head = fra.me.prev;
+ return REGB1;
+}
+val_t kernel___Int_____percent(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_kernel;
+ fra.me.line = 220;
+ fra.me.meth = LOCATE_kernel___Int_____percent;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 0;
+ REGB0 = p0;
+ REGB1 = p1;
+ /* ./../lib/standard//kernel.nit:220 */
+ REGB1 = TAG_Int(UNTAG_Int(REGB0)%UNTAG_Int(REGB1));
+ stack_frame_head = fra.me.prev;
+ return REGB1;
+}
+val_t kernel___Int___lshift(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_kernel;
+ fra.me.line = 221;
+ fra.me.meth = LOCATE_kernel___Int___lshift;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 0;
+ REGB0 = p0;
+ REGB1 = p1;
+ /* ./../lib/standard//kernel.nit:221 */
+ REGB1 = TAG_Int(UNTAG_Int(REGB0)<<UNTAG_Int(REGB1));
+ stack_frame_head = fra.me.prev;
+ return REGB1;
+}
+val_t kernel___Int___rshift(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_kernel;
+ fra.me.line = 222;
+ fra.me.meth = LOCATE_kernel___Int___rshift;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 0;
+ REGB0 = p0;
+ REGB1 = p1;
+ /* ./../lib/standard//kernel.nit:222 */
+ REGB1 = TAG_Int(UNTAG_Int(REGB0)>>UNTAG_Int(REGB1));
+ stack_frame_head = fra.me.prev;
+ return REGB1;
+}
+val_t kernel___Int___to_f(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_kernel;
+ fra.me.line = 224;
+ fra.me.meth = LOCATE_kernel___Int___to_f;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ REGB0 = p0;
+ /* ./../lib/standard//kernel.nit:224 */
+ fra.me.REG[0] = BOX_Float((float)UNTAG_Int(REGB0));
+ stack_frame_head = fra.me.prev;
+ return fra.me.REG[0];
+}
+val_t kernel___Int___succ(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_kernel;
+ fra.me.line = 227;
+ fra.me.meth = LOCATE_kernel___Int___succ;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 0;
+ REGB0 = p0;
+ /* ./../lib/standard//kernel.nit:227 */
+ REGB0 = TAG_Int(UNTAG_Int(REGB0)+1);
+ stack_frame_head = fra.me.prev;
+ return REGB0;
+}
+val_t kernel___Int___prec(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_kernel;
+ fra.me.line = 228;
+ fra.me.meth = LOCATE_kernel___Int___prec;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 0;
+ REGB0 = p0;
+ /* ./../lib/standard//kernel.nit:228 */
+ REGB0 = TAG_Int(UNTAG_Int(REGB0)-1);
+ stack_frame_head = fra.me.prev;
+ return REGB0;
+}
+val_t kernel___Int___distance(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_kernel;
+ fra.me.line = 229;
+ fra.me.meth = LOCATE_kernel___Int___distance;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 0;
+ REGB0 = p0;
+ REGB1 = p1;
+ /* ./../lib/standard//kernel.nit:217 */
+ REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
+ /* ./../lib/standard//kernel.nit:232 */
+ REGB0 = TAG_Int(0);
+ /* ./../lib/standard//kernel.nit:213 */
+ REGB0 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB0));
+ /* ./../lib/standard//kernel.nit:232 */
+ if (UNTAG_Bool(REGB0)) {
+ /* ./../lib/standard//kernel.nit:233 */
+ REGB0 = REGB1;
+ goto label1;
+ } else {
+ /* ./../lib/standard//kernel.nit:216 */
+ REGB1 = TAG_Int(-UNTAG_Int(REGB1));
+ /* ./../lib/standard//kernel.nit:235 */
+ REGB0 = REGB1;
+ goto label1;
}
- return_label15: while(false);
- tracehead = trace.prev;
- return variable1;
-}
-val_t kernel___Int_____leqg(val_t self, val_t param0) {
- struct trace_t trace = {NULL, LOCATE_kernel___Int_____leqg, 239};
- val_t variable0;
- val_t variable1;
- trace.prev = tracehead; tracehead = &trace;
- variable0 = param0;
- variable1 = TAG_Bool(UNTAG_Int( self)<UNTAG_Int( variable0 /*other*/));
- if (UNTAG_Bool(variable1)) { /*if*/
- variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
- goto return_label16;
- } else { /*if*/
- variable1 = TAG_Bool(UNTAG_Int( variable0 /*other*/)<UNTAG_Int( self));
- if (UNTAG_Bool(variable1)) { /*if*/
- variable1 = TAG_Int(1);
- goto return_label16;
- } else { /*if*/
- variable1 = TAG_Int(0);
- goto return_label16;
+ label1: while(0);
+ stack_frame_head = fra.me.prev;
+ return REGB0;
+}
+val_t kernel___Int_____leqg(val_t p0, val_t p1){
+ 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_kernel;
+ fra.me.line = 239;
+ fra.me.meth = LOCATE_kernel___Int_____leqg;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 0;
+ REGB0 = p0;
+ REGB1 = p1;
+ /* ./../lib/standard//kernel.nit:212 */
+ REGB2 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
+ /* ./../lib/standard//kernel.nit:241 */
+ if (UNTAG_Bool(REGB2)) {
+ /* ./../lib/standard//kernel.nit:242 */
+ REGB2 = TAG_Int(1);
+ /* ./../lib/standard//kernel.nit:216 */
+ REGB2 = TAG_Int(-UNTAG_Int(REGB2));
+ /* ./../lib/standard//kernel.nit:242 */
+ goto label1;
+ } else {
+ /* ./../lib/standard//kernel.nit:212 */
+ REGB0 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB0));
+ /* ./../lib/standard//kernel.nit:243 */
+ if (UNTAG_Bool(REGB0)) {
+ /* ./../lib/standard//kernel.nit:244 */
+ REGB0 = TAG_Int(1);
+ REGB2 = REGB0;
+ goto label1;
+ } else {
+ /* ./../lib/standard//kernel.nit:246 */
+ REGB0 = TAG_Int(0);
+ REGB2 = REGB0;
+ goto label1;
}
}
- return_label16: while(false);
- tracehead = trace.prev;
- return variable1;
-}
-val_t kernel___Int___is_between(val_t self, val_t param0, val_t param1) {
- struct trace_t trace = {NULL, LOCATE_kernel___Int___is_between, 250};
- val_t variable0;
- val_t variable1;
- val_t variable2;
- val_t variable3;
- trace.prev = tracehead; tracehead = &trace;
- variable0 = param0;
- variable1 = param1;
- variable2 = TAG_Bool(UNTAG_Int( self)<UNTAG_Int( variable0 /*c*/));
- variable3 = variable2;
- if (!UNTAG_Bool(variable3)) { /* or */
- variable3 = TAG_Bool(UNTAG_Int( variable1 /*d*/)<UNTAG_Int( self));
+ label1: while(0);
+ stack_frame_head = fra.me.prev;
+ return REGB2;
+}
+val_t kernel___Int___is_between(val_t p0, val_t p1, val_t p2){
+ 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_kernel;
+ fra.me.line = 250;
+ fra.me.meth = LOCATE_kernel___Int___is_between;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 0;
+ REGB0 = p0;
+ REGB1 = p1;
+ REGB2 = p2;
+ /* ./../lib/standard//kernel.nit:212 */
+ REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
+ /* ./../lib/standard//kernel.nit:252 */
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(true);
+ } else {
+ /* ./../lib/standard//kernel.nit:212 */
+ REGB0 = TAG_Bool(UNTAG_Int(REGB2)<UNTAG_Int(REGB0));
+ /* ./../lib/standard//kernel.nit:252 */
+ REGB1 = REGB0;
}
- variable2 = variable3;
- if (UNTAG_Bool(variable2)) { /*if*/
- variable2 = TAG_Bool(false);
- goto return_label17;
- } else { /*if*/
- variable2 = TAG_Bool(true);
- goto return_label17;
+ if (UNTAG_Bool(REGB1)) {
+ /* ./../lib/standard//kernel.nit:253 */
+ REGB1 = TAG_Bool(false);
+ goto label1;
+ } else {
+ /* ./../lib/standard//kernel.nit:255 */
+ REGB0 = TAG_Bool(true);
+ REGB1 = REGB0;
+ goto label1;
}
- return_label17: while(false);
- tracehead = trace.prev;
- return variable2;
-}
-val_t kernel___Int___max(val_t self, val_t param0) {
- struct trace_t trace = {NULL, LOCATE_kernel___Int___max, 259};
- val_t variable0;
- val_t variable1;
- trace.prev = tracehead; tracehead = &trace;
- variable0 = param0;
- variable1 = TAG_Bool(UNTAG_Int( self)<UNTAG_Int( variable0 /*other*/));
- if (UNTAG_Bool(variable1)) { /*if*/
- variable1 = variable0 /*other*/;
- goto return_label18;
- } else { /*if*/
- variable1 = self;
- goto return_label18;
+ label1: while(0);
+ stack_frame_head = fra.me.prev;
+ return REGB1;
+}
+val_t kernel___Int___max(val_t p0, val_t p1){
+ 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_kernel;
+ fra.me.line = 259;
+ fra.me.meth = LOCATE_kernel___Int___max;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 0;
+ REGB0 = p0;
+ REGB1 = p1;
+ /* ./../lib/standard//kernel.nit:212 */
+ REGB2 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
+ /* ./../lib/standard//kernel.nit:261 */
+ if (UNTAG_Bool(REGB2)) {
+ /* ./../lib/standard//kernel.nit:262 */
+ goto label1;
+ } else {
+ /* ./../lib/standard//kernel.nit:264 */
+ REGB1 = REGB0;
+ goto label1;
}
- return_label18: while(false);
- tracehead = trace.prev;
- return variable1;
-}
-val_t kernel___Int___min(val_t self, val_t param0) {
- struct trace_t trace = {NULL, LOCATE_kernel___Int___min, 268};
- val_t variable0;
- val_t variable1;
- trace.prev = tracehead; tracehead = &trace;
- variable0 = param0;
- variable1 = TAG_Bool(UNTAG_Int( variable0 /*c*/)<UNTAG_Int( self));
- if (UNTAG_Bool(variable1)) { /*if*/
- variable1 = variable0 /*c*/;
- goto return_label19;
- } else { /*if*/
- variable1 = self;
- goto return_label19;
+ label1: while(0);
+ stack_frame_head = fra.me.prev;
+ return REGB1;
+}
+val_t kernel___Int___min(val_t p0, val_t p1){
+ 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_kernel;
+ fra.me.line = 268;
+ fra.me.meth = LOCATE_kernel___Int___min;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 0;
+ REGB0 = p0;
+ REGB1 = p1;
+ /* ./../lib/standard//kernel.nit:212 */
+ REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB0));
+ /* ./../lib/standard//kernel.nit:270 */
+ if (UNTAG_Bool(REGB2)) {
+ /* ./../lib/standard//kernel.nit:271 */
+ goto label1;
+ } else {
+ /* ./../lib/standard//kernel.nit:273 */
+ REGB1 = REGB0;
+ goto label1;
}
- return_label19: while(false);
- tracehead = trace.prev;
- return variable1;
-}
-val_t kernel___Int___ascii(val_t self) {
- struct trace_t trace = {NULL, LOCATE_kernel___Int___ascii, 277};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return TAG_Char(UNTAG_Int( self));
-}
-val_t kernel___Int___digit_count(val_t self, val_t param0) {
- struct trace_t trace = {NULL, LOCATE_kernel___Int___digit_count, 280};
- val_t variable0;
- val_t variable1;
- val_t variable2;
- val_t variable3;
- trace.prev = tracehead; tracehead = &trace;
- variable0 = param0;
- variable1 = TAG_Int((int)0) /*decl variable d*/;
- variable2 = TAG_Int((int)0) /*decl variable n*/;
- variable3 = TAG_Bool(UNTAG_Int( self)<UNTAG_Int( TAG_Int(0)));
- if (UNTAG_Bool(variable3)) { /*if*/
- variable1 = TAG_Int(1) /*d=*/;
- variable3 = TAG_Int(-UNTAG_Int( self));
- variable2 = variable3 /*n=*/;
- } else { /*if*/
- variable3 = TAG_Bool(( self)==( TAG_Int(0)));
- if (UNTAG_Bool(variable3)) { /*if*/
- variable1 = TAG_Int(1);
- goto return_label20;
- } else { /*if*/
- variable1 = TAG_Int(0) /*d=*/;
- variable2 = self /*n=*/;
+ label1: while(0);
+ stack_frame_head = fra.me.prev;
+ return REGB1;
+}
+val_t kernel___Int___ascii(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_kernel;
+ fra.me.line = 277;
+ fra.me.meth = LOCATE_kernel___Int___ascii;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 0;
+ REGB0 = p0;
+ /* ./../lib/standard//kernel.nit:277 */
+ REGB0 = TAG_Char(UNTAG_Int(REGB0));
+ stack_frame_head = fra.me.prev;
+ return REGB0;
+}
+val_t kernel___Int___digit_count(val_t p0, val_t p1){
+ struct {struct stack_frame_t me;} fra;
+ val_t REGB0;
+ val_t REGB1;
+ val_t REGB2;
+ val_t REGB3;
+ val_t REGB4;
+ val_t REGB5;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_kernel;
+ fra.me.line = 280;
+ fra.me.meth = LOCATE_kernel___Int___digit_count;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 0;
+ REGB0 = p0;
+ REGB1 = p1;
+ /* ./../lib/standard//kernel.nit:286 */
+ REGB2 = TAG_Int(0);
+ /* ./../lib/standard//kernel.nit:212 */
+ REGB2 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB2));
+ /* ./../lib/standard//kernel.nit:286 */
+ if (UNTAG_Bool(REGB2)) {
+ /* ./../lib/standard//kernel.nit:287 */
+ REGB2 = TAG_Int(1);
+ /* ./../lib/standard//kernel.nit:216 */
+ REGB3 = TAG_Int(-UNTAG_Int(REGB0));
+ } else {
+ /* ./../lib/standard//kernel.nit:289 */
+ REGB4 = TAG_Int(0);
+ REGB5 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB4));
+ if (UNTAG_Bool(REGB5)) {
+ } else {
+ /* ./../lib/standard//kernel.nit:207 */
+ REGB4 = TAG_Bool((REGB0)==(REGB4));
+ /* ./../lib/standard//kernel.nit:289 */
+ REGB5 = REGB4;
+ }
+ if (UNTAG_Bool(REGB5)) {
+ /* ./../lib/standard//kernel.nit:290 */
+ REGB5 = TAG_Int(1);
+ goto label1;
+ } else {
+ /* ./../lib/standard//kernel.nit:292 */
+ REGB4 = TAG_Int(0);
+ REGB2 = REGB4;
+ /* ./../lib/standard//kernel.nit:293 */
+ REGB3 = REGB0;
}
}
- while (true) { /*while*/
- variable3 = TAG_Bool(UNTAG_Int( variable2 /*n*/)>UNTAG_Int( TAG_Int(0)));
- if (!UNTAG_Bool(variable3)) break; /* while*/
- variable1 = TAG_Int(UNTAG_Int(variable1)+UNTAG_Int( TAG_Int(1))) /*d*/;
- variable3 = TAG_Int(UNTAG_Int( variable2 /*n*/)/UNTAG_Int( variable0 /*b*/));
- variable2 = variable3 /*n=*/;
- continue_21: while(0);
+ /* ./../lib/standard//kernel.nit:296 */
+ while(1) {
+ REGB0 = TAG_Int(0);
+ /* ./../lib/standard//kernel.nit:214 */
+ REGB0 = TAG_Bool(UNTAG_Int(REGB3)>UNTAG_Int(REGB0));
+ /* ./../lib/standard//kernel.nit:296 */
+ if (UNTAG_Bool(REGB0)) {
+ /* ./../lib/standard//kernel.nit:297 */
+ REGB0 = TAG_Int(1);
+ /* ./../lib/standard//kernel.nit:215 */
+ REGB0 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB0));
+ /* ./../lib/standard//kernel.nit:297 */
+ REGB2 = REGB0;
+ /* ./../lib/standard//kernel.nit:219 */
+ REGB0 = TAG_Int(UNTAG_Int(REGB3)/UNTAG_Int(REGB1));
+ /* ./../lib/standard//kernel.nit:298 */
+ REGB3 = REGB0;
+ } else {
+ /* ./../lib/standard//kernel.nit:296 */
+ goto label2;
+ }
}
- break_21: while(0);
- variable1 = variable1 /*d*/;
- goto return_label20;
- return_label20: while(false);
- tracehead = trace.prev;
- return variable1;
-}
-val_t kernel___Int___to_c(val_t self) {
- struct trace_t trace = {NULL, LOCATE_kernel___Int___to_c, 303};
- val_t variable0;
- val_t variable1;
- trace.prev = tracehead; tracehead = &trace;
- variable0 = TAG_Bool(UNTAG_Int( self)>=UNTAG_Int( TAG_Int(0)));
- variable1 = variable0;
- if (UNTAG_Bool(variable1)) { /* and */
- variable1 = TAG_Bool(UNTAG_Int( self)<=UNTAG_Int( TAG_Int(36)));
+ label2: while(0);
+ /* ./../lib/standard//kernel.nit:300 */
+ REGB5 = REGB2;
+ goto label1;
+ label1: while(0);
+ stack_frame_head = fra.me.prev;
+ return REGB5;
+}
+val_t kernel___Int___to_c(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;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_kernel;
+ fra.me.line = 303;
+ fra.me.meth = LOCATE_kernel___Int___to_c;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 0;
+ REGB0 = p0;
+ /* ./../lib/standard//kernel.nit:308 */
+ REGB1 = TAG_Int(0);
+ /* ./../lib/standard//kernel.nit:213 */
+ REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
+ /* ./../lib/standard//kernel.nit:308 */
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Int(36);
+ /* ./../lib/standard//kernel.nit:211 */
+ REGB1 = TAG_Bool(UNTAG_Int(REGB0)<=UNTAG_Int(REGB1));
+ } else {
+ /* ./../lib/standard//kernel.nit:308 */
+ REGB2 = TAG_Bool(false);
+ REGB1 = REGB2;
}
- variable0 = variable1;
- if (!UNTAG_Bool(variable0)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_kernel___Int___to_c, 308); nit_exit(1);}
- variable0 = TAG_Bool(UNTAG_Int( self)<UNTAG_Int( TAG_Int(10)));
- if (UNTAG_Bool(variable0)) { /*if*/
- variable0 = TAG_Int((unsigned char)UNTAG_Char( TAG_Char('0')));
- variable0 = TAG_Int(UNTAG_Int( self)+UNTAG_Int(variable0));
- variable0 = TAG_Char(UNTAG_Int(variable0));
- goto return_label22;
- } else { /*if*/
- variable0 = TAG_Int((unsigned char)UNTAG_Char( TAG_Char('a')));
- variable0 = TAG_Int(UNTAG_Int(variable0)-UNTAG_Int( TAG_Int(10)));
- variable0 = TAG_Int(UNTAG_Int( self)+UNTAG_Int(variable0));
- variable0 = TAG_Char(UNTAG_Int(variable0));
- goto return_label22;
+ if (UNTAG_Bool(REGB1)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_kernel, 308);
}
- return_label22: while(false);
- tracehead = trace.prev;
- return variable0;
-}
-val_t kernel___Char___object_id(val_t self) {
- struct trace_t trace = {NULL, LOCATE_kernel___Char___object_id, 324};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return TAG_Int(UNTAG_Char( self));
-}
-val_t kernel___Char_____eqeq(val_t self, val_t param0) {
- struct trace_t trace = {NULL, LOCATE_kernel___Char_____eqeq, 325};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return TAG_Bool(( self)==( param0));
-}
-val_t kernel___Char_____neq(val_t self, val_t param0) {
- struct trace_t trace = {NULL, LOCATE_kernel___Char_____neq, 326};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return TAG_Bool(( self)!=( param0));
-}
-void kernel___Char___output(val_t self) {
- struct trace_t trace = {NULL, LOCATE_kernel___Char___output, 327};
- trace.prev = tracehead; tracehead = &trace;
- printf("%c", (unsigned char)UNTAG_Char( self));
- tracehead = trace.prev;
+ /* ./../lib/standard//kernel.nit:309 */
+ REGB1 = TAG_Int(10);
+ /* ./../lib/standard//kernel.nit:212 */
+ REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
+ /* ./../lib/standard//kernel.nit:309 */
+ if (UNTAG_Bool(REGB1)) {
+ /* ./../lib/standard//kernel.nit:310 */
+ REGB1 = TAG_Char('0');
+ /* ./../lib/standard//kernel.nit:382 */
+ REGB1 = TAG_Int((unsigned char)UNTAG_Char(REGB1));
+ /* ./../lib/standard//kernel.nit:215 */
+ REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
+ /* ./../lib/standard//kernel.nit:277 */
+ REGB1 = TAG_Char(UNTAG_Int(REGB1));
+ /* ./../lib/standard//kernel.nit:310 */
+ goto label1;
+ } else {
+ /* ./../lib/standard//kernel.nit:312 */
+ REGB2 = TAG_Char('a');
+ /* ./../lib/standard//kernel.nit:382 */
+ REGB2 = TAG_Int((unsigned char)UNTAG_Char(REGB2));
+ /* ./../lib/standard//kernel.nit:312 */
+ REGB3 = TAG_Int(10);
+ /* ./../lib/standard//kernel.nit:217 */
+ REGB3 = TAG_Int(UNTAG_Int(REGB2)-UNTAG_Int(REGB3));
+ /* ./../lib/standard//kernel.nit:215 */
+ REGB3 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB3));
+ /* ./../lib/standard//kernel.nit:277 */
+ REGB3 = TAG_Char(UNTAG_Int(REGB3));
+ /* ./../lib/standard//kernel.nit:312 */
+ REGB1 = REGB3;
+ goto label1;
+ }
+ label1: while(0);
+ stack_frame_head = fra.me.prev;
+ return REGB1;
+}
+void kernel___Int___enumerate_to(val_t p0, val_t p1, struct stack_frame_t *closctx_param, fun_t clos_fun0){
+ struct {struct stack_frame_t me;} fra;
+ val_t REGB0;
+ val_t REGB1;
+ val_t REGB2;
+ fun_t CREG[1];
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_kernel;
+ fra.me.line = 316;
+ fra.me.meth = LOCATE_kernel___Int___enumerate_to;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 0;
+ fra.me.closure_ctx = closctx_param;
+ fra.me.closure_funs = CREG;
+ REGB0 = p0;
+ REGB1 = p1;
+ CREG[0] = clos_fun0;
+ /* ./../lib/standard//kernel.nit:321 */
+ while(1) {
+ /* ./../lib/standard//kernel.nit:211 */
+ REGB2 = TAG_Bool(UNTAG_Int(REGB0)<=UNTAG_Int(REGB1));
+ /* ./../lib/standard//kernel.nit:321 */
+ if (UNTAG_Bool(REGB2)) {
+ /* ./../lib/standard//kernel.nit:322 */
+ ((void (*)(struct stack_frame_t *, val_t))(CREG[0]))(closctx_param, REGB0);
+ if (closctx_param->has_broke) {
+ goto label1;
+ }
+ /* ./../lib/standard//kernel.nit:323 */
+ REGB2 = TAG_Int(1);
+ /* ./../lib/standard//kernel.nit:215 */
+ REGB2 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB2));
+ /* ./../lib/standard//kernel.nit:323 */
+ REGB0 = REGB2;
+ } else {
+ /* ./../lib/standard//kernel.nit:321 */
+ goto label2;
+ }
+ }
+ label2: while(0);
+ label1: while(0);
+ stack_frame_head = fra.me.prev;
return;
}
-val_t kernel___Char_____leq(val_t self, val_t param0) {
- struct trace_t trace = {NULL, LOCATE_kernel___Char_____leq, 329};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return TAG_Bool(UNTAG_Char( self)<=UNTAG_Char( param0));
-}
-val_t kernel___Char_____l(val_t self, val_t param0) {
- struct trace_t trace = {NULL, LOCATE_kernel___Char_____l, 330};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return TAG_Bool(UNTAG_Char( self)<UNTAG_Char( param0));
-}
-val_t kernel___Char_____geq(val_t self, val_t param0) {
- struct trace_t trace = {NULL, LOCATE_kernel___Char_____geq, 331};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return TAG_Bool(UNTAG_Char( self)>=UNTAG_Char( param0));
-}
-val_t kernel___Char_____g(val_t self, val_t param0) {
- struct trace_t trace = {NULL, LOCATE_kernel___Char_____g, 332};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return TAG_Bool(UNTAG_Char( self)>UNTAG_Char( param0));
-}
-val_t kernel___Char___succ(val_t self) {
- struct trace_t trace = {NULL, LOCATE_kernel___Char___succ, 334};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return TAG_Char(UNTAG_Char( self)+1);
-}
-val_t kernel___Char___prec(val_t self) {
- struct trace_t trace = {NULL, LOCATE_kernel___Char___prec, 335};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return TAG_Char(UNTAG_Char( self)-1);
-}
-val_t kernel___Char___distance(val_t self, val_t param0) {
- struct trace_t trace = {NULL, LOCATE_kernel___Char___distance, 337};
- val_t variable0;
- val_t variable1;
- val_t variable2;
- val_t variable3;
- trace.prev = tracehead; tracehead = &trace;
- variable0 = param0;
- variable2 = TAG_Int((unsigned char)UNTAG_Char( self));
- variable3 = TAG_Int((unsigned char)UNTAG_Char( variable0 /*c*/));
- variable2 = TAG_Int(UNTAG_Int(variable2)-UNTAG_Int(variable3));
- variable1 = variable2;
- variable2 = TAG_Bool(UNTAG_Int( variable1 /*d*/)>=UNTAG_Int( TAG_Int(0)));
- if (UNTAG_Bool(variable2)) { /*if*/
- variable1 = variable1 /*d*/;
- goto return_label23;
- } else { /*if*/
- variable2 = TAG_Int(-UNTAG_Int( variable1 /*d*/));
- variable1 = variable2;
- goto return_label23;
- }
- return_label23: while(false);
- tracehead = trace.prev;
- return variable1;
-}
-val_t kernel___Char___to_i(val_t self) {
- struct trace_t trace = {NULL, LOCATE_kernel___Char___to_i, 347};
- val_t variable0;
- val_t variable1;
- trace.prev = tracehead; tracehead = &trace;
- variable0 = TAG_Bool(( self)==( TAG_Char('-')));
- if (UNTAG_Bool(variable0)) { /*if*/
- variable0 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
- goto return_label24;
- } else { /*if*/
- variable0 = TAG_Bool(UNTAG_Char( self)>=UNTAG_Char( TAG_Char('0')));
- variable1 = variable0;
- if (UNTAG_Bool(variable1)) { /* and */
- variable1 = TAG_Bool(UNTAG_Char( self)<=UNTAG_Char( TAG_Char('9')));
+void kernel___Int___enumerate_before(val_t p0, val_t p1, struct stack_frame_t *closctx_param, fun_t clos_fun0){
+ struct {struct stack_frame_t me;} fra;
+ val_t REGB0;
+ val_t REGB1;
+ val_t REGB2;
+ fun_t CREG[1];
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_kernel;
+ fra.me.line = 327;
+ fra.me.meth = LOCATE_kernel___Int___enumerate_before;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 0;
+ fra.me.closure_ctx = closctx_param;
+ fra.me.closure_funs = CREG;
+ REGB0 = p0;
+ REGB1 = p1;
+ CREG[0] = clos_fun0;
+ /* ./../lib/standard//kernel.nit:332 */
+ while(1) {
+ /* ./../lib/standard//kernel.nit:212 */
+ REGB2 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
+ /* ./../lib/standard//kernel.nit:332 */
+ if (UNTAG_Bool(REGB2)) {
+ /* ./../lib/standard//kernel.nit:333 */
+ ((void (*)(struct stack_frame_t *, val_t))(CREG[0]))(closctx_param, REGB0);
+ if (closctx_param->has_broke) {
+ goto label1;
+ }
+ /* ./../lib/standard//kernel.nit:334 */
+ REGB2 = TAG_Int(1);
+ /* ./../lib/standard//kernel.nit:215 */
+ REGB2 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB2));
+ /* ./../lib/standard//kernel.nit:334 */
+ REGB0 = REGB2;
+ } else {
+ /* ./../lib/standard//kernel.nit:332 */
+ goto label2;
}
- variable0 = variable1;
- if (UNTAG_Bool(variable0)) { /*if*/
- variable0 = TAG_Int((unsigned char)UNTAG_Char( self));
- variable1 = TAG_Int((unsigned char)UNTAG_Char( TAG_Char('0')));
- variable0 = TAG_Int(UNTAG_Int(variable0)-UNTAG_Int(variable1));
- goto return_label24;
- } else { /*if*/
- variable0 = ((kernel___Char___to_lower_t)CALL( self,COLOR_kernel___Char___to_lower))( self) /*Char::to_lower*/;
- variable0 = TAG_Int((unsigned char)UNTAG_Char(variable0));
- variable1 = TAG_Int((unsigned char)UNTAG_Char( TAG_Char('a')));
- variable1 = TAG_Int(UNTAG_Int(variable1)+UNTAG_Int( TAG_Int(10)));
- variable0 = TAG_Int(UNTAG_Int(variable0)-UNTAG_Int(variable1));
- goto return_label24;
+ }
+ label2: while(0);
+ label1: while(0);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+val_t kernel___Char___object_id(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_kernel;
+ fra.me.line = 346;
+ fra.me.meth = LOCATE_kernel___Char___object_id;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 0;
+ REGB0 = p0;
+ /* ./../lib/standard//kernel.nit:346 */
+ REGB0 = TAG_Int(UNTAG_Char(REGB0));
+ stack_frame_head = fra.me.prev;
+ return REGB0;
+}
+val_t kernel___Char_____eqeq(val_t p0, val_t p1){
+ 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_kernel;
+ fra.me.line = 347;
+ fra.me.meth = LOCATE_kernel___Char_____eqeq;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ REGB0 = p0;
+ fra.me.REG[0] = p1;
+ /* ./../lib/standard//kernel.nit:347 */
+ REGB0 = TAG_Bool((REGB0)==(fra.me.REG[0]));
+ stack_frame_head = fra.me.prev;
+ return REGB0;
+}
+val_t kernel___Char_____neq(val_t p0, val_t p1){
+ 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_kernel;
+ fra.me.line = 348;
+ fra.me.meth = LOCATE_kernel___Char_____neq;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ REGB0 = p0;
+ fra.me.REG[0] = p1;
+ /* ./../lib/standard//kernel.nit:348 */
+ REGB0 = TAG_Bool((REGB0)!=(fra.me.REG[0]));
+ stack_frame_head = fra.me.prev;
+ return REGB0;
+}
+void kernel___Char___output(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_kernel;
+ fra.me.line = 349;
+ fra.me.meth = LOCATE_kernel___Char___output;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 0;
+ REGB0 = p0;
+ /* ./../lib/standard//kernel.nit:349 */
+ printf("%c", (unsigned char)UNTAG_Char(REGB0));;
+ stack_frame_head = fra.me.prev;
+ return;
+}
+val_t kernel___Char_____leq(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_kernel;
+ fra.me.line = 351;
+ fra.me.meth = LOCATE_kernel___Char_____leq;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 0;
+ REGB0 = p0;
+ REGB1 = p1;
+ /* ./../lib/standard//kernel.nit:351 */
+ REGB1 = TAG_Bool(UNTAG_Char(REGB0)<=UNTAG_Char(REGB1));
+ stack_frame_head = fra.me.prev;
+ return REGB1;
+}
+val_t kernel___Char_____l(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_kernel;
+ fra.me.line = 352;
+ fra.me.meth = LOCATE_kernel___Char_____l;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 0;
+ REGB0 = p0;
+ REGB1 = p1;
+ /* ./../lib/standard//kernel.nit:352 */
+ REGB1 = TAG_Bool(UNTAG_Char(REGB0)<UNTAG_Char(REGB1));
+ stack_frame_head = fra.me.prev;
+ return REGB1;
+}
+val_t kernel___Char_____geq(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_kernel;
+ fra.me.line = 353;
+ fra.me.meth = LOCATE_kernel___Char_____geq;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 0;
+ REGB0 = p0;
+ REGB1 = p1;
+ /* ./../lib/standard//kernel.nit:353 */
+ REGB1 = TAG_Bool(UNTAG_Char(REGB0)>=UNTAG_Char(REGB1));
+ stack_frame_head = fra.me.prev;
+ return REGB1;
+}
+val_t kernel___Char_____g(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_kernel;
+ fra.me.line = 354;
+ fra.me.meth = LOCATE_kernel___Char_____g;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 0;
+ REGB0 = p0;
+ REGB1 = p1;
+ /* ./../lib/standard//kernel.nit:354 */
+ REGB1 = TAG_Bool(UNTAG_Char(REGB0)>UNTAG_Char(REGB1));
+ stack_frame_head = fra.me.prev;
+ return REGB1;
+}
+val_t kernel___Char___succ(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_kernel;
+ fra.me.line = 356;
+ fra.me.meth = LOCATE_kernel___Char___succ;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 0;
+ REGB0 = p0;
+ /* ./../lib/standard//kernel.nit:356 */
+ REGB0 = TAG_Char(UNTAG_Char(REGB0)+1);
+ stack_frame_head = fra.me.prev;
+ return REGB0;
+}
+val_t kernel___Char___prec(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_kernel;
+ fra.me.line = 357;
+ fra.me.meth = LOCATE_kernel___Char___prec;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 0;
+ REGB0 = p0;
+ /* ./../lib/standard//kernel.nit:357 */
+ REGB0 = TAG_Char(UNTAG_Char(REGB0)-1);
+ stack_frame_head = fra.me.prev;
+ return REGB0;
+}
+val_t kernel___Char___distance(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_kernel;
+ fra.me.line = 359;
+ fra.me.meth = LOCATE_kernel___Char___distance;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 0;
+ REGB0 = p0;
+ REGB1 = p1;
+ /* ./../lib/standard//kernel.nit:382 */
+ REGB0 = TAG_Int((unsigned char)UNTAG_Char(REGB0));
+ REGB1 = TAG_Int((unsigned char)UNTAG_Char(REGB1));
+ /* ./../lib/standard//kernel.nit:217 */
+ REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
+ /* ./../lib/standard//kernel.nit:362 */
+ REGB0 = TAG_Int(0);
+ /* ./../lib/standard//kernel.nit:213 */
+ REGB0 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB0));
+ /* ./../lib/standard//kernel.nit:362 */
+ if (UNTAG_Bool(REGB0)) {
+ /* ./../lib/standard//kernel.nit:363 */
+ REGB0 = REGB1;
+ goto label1;
+ } else {
+ /* ./../lib/standard//kernel.nit:216 */
+ REGB1 = TAG_Int(-UNTAG_Int(REGB1));
+ /* ./../lib/standard//kernel.nit:365 */
+ REGB0 = REGB1;
+ goto label1;
+ }
+ label1: while(0);
+ stack_frame_head = fra.me.prev;
+ return REGB0;
+}
+val_t kernel___Char___to_i(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;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_kernel;
+ fra.me.line = 369;
+ fra.me.meth = LOCATE_kernel___Char___to_i;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 0;
+ REGB0 = p0;
+ /* ./../lib/standard//kernel.nit:373 */
+ 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));
+ /* ./../lib/standard//kernel.nit:373 */
+ REGB2 = REGB1;
+ }
+ if (UNTAG_Bool(REGB2)) {
+ /* ./../lib/standard//kernel.nit:374 */
+ REGB2 = TAG_Int(1);
+ /* ./../lib/standard//kernel.nit:216 */
+ REGB2 = TAG_Int(-UNTAG_Int(REGB2));
+ /* ./../lib/standard//kernel.nit:374 */
+ goto label1;
+ } else {
+ /* ./../lib/standard//kernel.nit:375 */
+ REGB1 = CALL_kernel___Char___is_digit(REGB0)(REGB0);
+ if (UNTAG_Bool(REGB1)) {
+ /* ./../lib/standard//kernel.nit:382 */
+ REGB1 = TAG_Int((unsigned char)UNTAG_Char(REGB0));
+ /* ./../lib/standard//kernel.nit:376 */
+ REGB3 = TAG_Char('0');
+ /* ./../lib/standard//kernel.nit:382 */
+ REGB3 = TAG_Int((unsigned char)UNTAG_Char(REGB3));
+ /* ./../lib/standard//kernel.nit:217 */
+ REGB3 = TAG_Int(UNTAG_Int(REGB1)-UNTAG_Int(REGB3));
+ /* ./../lib/standard//kernel.nit:376 */
+ REGB2 = REGB3;
+ goto label1;
+ } else {
+ /* ./../lib/standard//kernel.nit:378 */
+ REGB0 = CALL_kernel___Char___to_lower(REGB0)(REGB0);
+ /* ./../lib/standard//kernel.nit:382 */
+ REGB0 = TAG_Int((unsigned char)UNTAG_Char(REGB0));
+ /* ./../lib/standard//kernel.nit:378 */
+ REGB3 = TAG_Char('a');
+ /* ./../lib/standard//kernel.nit:382 */
+ REGB3 = TAG_Int((unsigned char)UNTAG_Char(REGB3));
+ /* ./../lib/standard//kernel.nit:378 */
+ REGB1 = TAG_Int(10);
+ /* ./../lib/standard//kernel.nit:215 */
+ REGB1 = TAG_Int(UNTAG_Int(REGB3)+UNTAG_Int(REGB1));
+ /* ./../lib/standard//kernel.nit:217 */
+ REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
+ /* ./../lib/standard//kernel.nit:378 */
+ REGB2 = REGB1;
+ goto label1;
}
}
- return_label24: while(false);
- tracehead = trace.prev;
- return variable0;
-}
-val_t kernel___Char___ascii(val_t self) {
- struct trace_t trace = {NULL, LOCATE_kernel___Char___ascii, 360};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return TAG_Int((unsigned char)UNTAG_Char( self));
-}
-val_t kernel___Char_____plus(val_t self, val_t param0) {
- struct trace_t trace = {NULL, LOCATE_kernel___Char_____plus, 363};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return TAG_Char(UNTAG_Char( self)+UNTAG_Char( param0));
-}
-val_t kernel___Char_____minus(val_t self, val_t param0) {
- struct trace_t trace = {NULL, LOCATE_kernel___Char_____minus, 364};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return TAG_Char(UNTAG_Char( self)-UNTAG_Char( param0));
-}
-val_t kernel___Char___to_lower(val_t self) {
- struct trace_t trace = {NULL, LOCATE_kernel___Char___to_lower, 366};
- val_t variable0;
- val_t variable1;
- trace.prev = tracehead; tracehead = &trace;
- variable0 = TAG_Bool(UNTAG_Char( self)>=UNTAG_Char( TAG_Char('A')));
- variable1 = variable0;
- if (UNTAG_Bool(variable1)) { /* and */
- variable1 = TAG_Bool(UNTAG_Char( self)<=UNTAG_Char( TAG_Char('Z')));
+ label1: while(0);
+ stack_frame_head = fra.me.prev;
+ return REGB2;
+}
+val_t kernel___Char___ascii(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_kernel;
+ fra.me.line = 382;
+ fra.me.meth = LOCATE_kernel___Char___ascii;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 0;
+ REGB0 = p0;
+ /* ./../lib/standard//kernel.nit:382 */
+ REGB0 = TAG_Int((unsigned char)UNTAG_Char(REGB0));
+ stack_frame_head = fra.me.prev;
+ return REGB0;
+}
+val_t kernel___Char_____plus(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_kernel;
+ fra.me.line = 385;
+ fra.me.meth = LOCATE_kernel___Char_____plus;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 0;
+ REGB0 = p0;
+ REGB1 = p1;
+ /* ./../lib/standard//kernel.nit:385 */
+ REGB1 = TAG_Char(UNTAG_Char(REGB0)+UNTAG_Char(REGB1));
+ stack_frame_head = fra.me.prev;
+ return REGB1;
+}
+val_t kernel___Char_____minus(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_kernel;
+ fra.me.line = 386;
+ fra.me.meth = LOCATE_kernel___Char_____minus;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 0;
+ REGB0 = p0;
+ REGB1 = p1;
+ /* ./../lib/standard//kernel.nit:386 */
+ REGB1 = TAG_Char(UNTAG_Char(REGB0)-UNTAG_Char(REGB1));
+ stack_frame_head = fra.me.prev;
+ return REGB1;
+}
+val_t kernel___Char___to_lower(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;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_kernel;
+ fra.me.line = 388;
+ fra.me.meth = LOCATE_kernel___Char___to_lower;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 0;
+ REGB0 = p0;
+ /* ./../lib/standard//kernel.nit:391 */
+ REGB1 = CALL_kernel___Char___is_upper(REGB0)(REGB0);
+ if (UNTAG_Bool(REGB1)) {
+ /* ./../lib/standard//kernel.nit:382 */
+ REGB1 = TAG_Int((unsigned char)UNTAG_Char(REGB0));
+ /* ./../lib/standard//kernel.nit:392 */
+ REGB2 = TAG_Char('a');
+ REGB3 = TAG_Char('A');
+ REGB3 = CALL_kernel___Discrete___distance(REGB2)(REGB2, REGB3);
+ /* ./../lib/standard//kernel.nit:215 */
+ REGB3 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB3));
+ /* ./../lib/standard//kernel.nit:277 */
+ REGB3 = TAG_Char(UNTAG_Int(REGB3));
+ /* ./../lib/standard//kernel.nit:392 */
+ goto label1;
+ } else {
+ /* ./../lib/standard//kernel.nit:394 */
+ REGB3 = REGB0;
+ goto label1;
+ }
+ label1: while(0);
+ stack_frame_head = fra.me.prev;
+ return REGB3;
+}
+val_t kernel___Char___to_upper(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;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_kernel;
+ fra.me.line = 398;
+ fra.me.meth = LOCATE_kernel___Char___to_upper;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 0;
+ REGB0 = p0;
+ /* ./../lib/standard//kernel.nit:401 */
+ REGB1 = CALL_kernel___Char___is_lower(REGB0)(REGB0);
+ if (UNTAG_Bool(REGB1)) {
+ /* ./../lib/standard//kernel.nit:382 */
+ REGB1 = TAG_Int((unsigned char)UNTAG_Char(REGB0));
+ /* ./../lib/standard//kernel.nit:402 */
+ REGB2 = TAG_Char('a');
+ REGB3 = TAG_Char('A');
+ REGB3 = CALL_kernel___Discrete___distance(REGB2)(REGB2, REGB3);
+ /* ./../lib/standard//kernel.nit:217 */
+ REGB3 = TAG_Int(UNTAG_Int(REGB1)-UNTAG_Int(REGB3));
+ /* ./../lib/standard//kernel.nit:277 */
+ REGB3 = TAG_Char(UNTAG_Int(REGB3));
+ /* ./../lib/standard//kernel.nit:402 */
+ goto label1;
+ } else {
+ /* ./../lib/standard//kernel.nit:404 */
+ REGB3 = REGB0;
+ goto label1;
+ }
+ label1: while(0);
+ stack_frame_head = fra.me.prev;
+ return REGB3;
+}
+val_t kernel___Char___is_digit(val_t p0){
+ 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_kernel;
+ fra.me.line = 408;
+ fra.me.meth = LOCATE_kernel___Char___is_digit;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 0;
+ REGB0 = p0;
+ /* ./../lib/standard//kernel.nit:410 */
+ REGB1 = TAG_Char('0');
+ /* ./../lib/standard//kernel.nit:353 */
+ REGB1 = TAG_Bool(UNTAG_Char(REGB0)>=UNTAG_Char(REGB1));
+ /* ./../lib/standard//kernel.nit:410 */
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Char('9');
+ /* ./../lib/standard//kernel.nit:351 */
+ REGB1 = TAG_Bool(UNTAG_Char(REGB0)<=UNTAG_Char(REGB1));
+ } else {
+ /* ./../lib/standard//kernel.nit:410 */
+ REGB0 = TAG_Bool(false);
+ REGB1 = REGB0;
}
- variable0 = variable1;
- if (UNTAG_Bool(variable0)) { /*if*/
- variable0 = TAG_Int((unsigned char)UNTAG_Char( self));
- variable1 = ((kernel___Char___distance_t)CALL( TAG_Char('a'),COLOR_kernel___Discrete___distance))( TAG_Char('a'), TAG_Char('A')) /*Char::distance*/;
- variable0 = TAG_Int(UNTAG_Int(variable0)+UNTAG_Int(variable1));
- variable0 = TAG_Char(UNTAG_Int(variable0));
- goto return_label25;
- } else { /*if*/
- variable0 = self;
- goto return_label25;
+ goto label1;
+ label1: while(0);
+ stack_frame_head = fra.me.prev;
+ return REGB1;
+}
+val_t kernel___Char___is_lower(val_t p0){
+ 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_kernel;
+ fra.me.line = 413;
+ fra.me.meth = LOCATE_kernel___Char___is_lower;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 0;
+ REGB0 = p0;
+ /* ./../lib/standard//kernel.nit:415 */
+ REGB1 = TAG_Char('a');
+ /* ./../lib/standard//kernel.nit:353 */
+ REGB1 = TAG_Bool(UNTAG_Char(REGB0)>=UNTAG_Char(REGB1));
+ /* ./../lib/standard//kernel.nit:415 */
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Char('z');
+ /* ./../lib/standard//kernel.nit:351 */
+ REGB1 = TAG_Bool(UNTAG_Char(REGB0)<=UNTAG_Char(REGB1));
+ } else {
+ /* ./../lib/standard//kernel.nit:415 */
+ REGB0 = TAG_Bool(false);
+ REGB1 = REGB0;
}
- return_label25: while(false);
- tracehead = trace.prev;
- return variable0;
-}
-val_t kernel___Char___to_upper(val_t self) {
- struct trace_t trace = {NULL, LOCATE_kernel___Char___to_upper, 376};
- val_t variable0;
- val_t variable1;
- trace.prev = tracehead; tracehead = &trace;
- variable0 = TAG_Bool(UNTAG_Char( self)>=UNTAG_Char( TAG_Char('a')));
- variable1 = variable0;
- if (UNTAG_Bool(variable1)) { /* and */
- variable1 = TAG_Bool(UNTAG_Char( self)<=UNTAG_Char( TAG_Char('z')));
+ goto label1;
+ label1: while(0);
+ stack_frame_head = fra.me.prev;
+ return REGB1;
+}
+val_t kernel___Char___is_upper(val_t p0){
+ 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_kernel;
+ fra.me.line = 418;
+ fra.me.meth = LOCATE_kernel___Char___is_upper;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 0;
+ REGB0 = p0;
+ /* ./../lib/standard//kernel.nit:420 */
+ REGB1 = TAG_Char('A');
+ /* ./../lib/standard//kernel.nit:353 */
+ REGB1 = TAG_Bool(UNTAG_Char(REGB0)>=UNTAG_Char(REGB1));
+ /* ./../lib/standard//kernel.nit:420 */
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Char('Z');
+ /* ./../lib/standard//kernel.nit:351 */
+ REGB1 = TAG_Bool(UNTAG_Char(REGB0)<=UNTAG_Char(REGB1));
+ } else {
+ /* ./../lib/standard//kernel.nit:420 */
+ REGB0 = TAG_Bool(false);
+ REGB1 = REGB0;
}
- variable0 = variable1;
- if (UNTAG_Bool(variable0)) { /*if*/
- variable0 = TAG_Int((unsigned char)UNTAG_Char( self));
- variable1 = ((kernel___Char___distance_t)CALL( TAG_Char('a'),COLOR_kernel___Discrete___distance))( TAG_Char('a'), TAG_Char('A')) /*Char::distance*/;
- variable0 = TAG_Int(UNTAG_Int(variable0)-UNTAG_Int(variable1));
- variable0 = TAG_Char(UNTAG_Int(variable0));
- goto return_label26;
- } else { /*if*/
- variable0 = self;
- goto return_label26;
+ goto label1;
+ label1: while(0);
+ stack_frame_head = fra.me.prev;
+ return REGB1;
+}
+val_t kernel___Char___is_letter(val_t p0){
+ 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_kernel;
+ fra.me.line = 423;
+ fra.me.meth = LOCATE_kernel___Char___is_letter;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 0;
+ REGB0 = p0;
+ /* ./../lib/standard//kernel.nit:425 */
+ REGB1 = CALL_kernel___Char___is_lower(REGB0)(REGB0);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(true);
+ } else {
+ REGB0 = CALL_kernel___Char___is_upper(REGB0)(REGB0);
+ REGB1 = REGB0;
}
- return_label26: while(false);
- tracehead = trace.prev;
- return variable0;
+ goto label1;
+ label1: while(0);
+ stack_frame_head = fra.me.prev;
+ return REGB1;
}