/* This C file is generated by NIT to compile module global___cha_analysis. */
#include "global___cha_analysis._sep.h"
+static const char LOCATE_global___cha_analysis___ChaContext___reachable_iroutines[] = "cha_analysis::ChaContext::reachable_iroutines";
val_t global___cha_analysis___ChaContext___reachable_iroutines(val_t p0){
struct {struct stack_frame_t me;} fra;
val_t REGB0;
stack_frame_head = fra.me.prev;
return fra.me.REG[0];
}
+static const char LOCATE_global___cha_analysis___ChaContext___is_iroutine_reachable[] = "cha_analysis::ChaContext::(reachable_method_analysis::ReachableMethodAnalysis::is_iroutine_reachable)";
val_t global___cha_analysis___ChaContext___is_iroutine_reachable(val_t p0, val_t p1){
struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
val_t REGB0;
} else {
REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
if (UNTAG_Bool(REGB1)) {
- REGB1 = TAG_Bool(false);
+ REGB1 = TAG_Bool(0);
REGB0 = REGB1;
} else {
REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
fra.me.REG[0] = CALL_global___cha_analysis___ChaContext___reachable_iroutines(fra.me.REG[0])(fra.me.REG[0]);
REGB0 = CALL_standard___collection___abstract_collection___Collection___has(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
} else {
- REGB1 = TAG_Bool(false);
+ REGB1 = TAG_Bool(0);
REGB0 = REGB1;
}
goto label1;
stack_frame_head = fra.me.prev;
return REGB0;
}
+static const char LOCATE_global___cha_analysis___ChaContext___is_method_reachable[] = "cha_analysis::ChaContext::(reachable_method_analysis::ReachableMethodAnalysis::is_method_reachable)";
val_t global___cha_analysis___ChaContext___is_method_reachable(val_t p0, val_t p1){
struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
val_t REGB0;
stack_frame_head = fra.me.prev;
return REGB0;
}
+static const char LOCATE_global___cha_analysis___ChaContext___init[] = "cha_analysis::ChaContext::init";
void global___cha_analysis___ChaContext___init(val_t p0, int* init_table){
int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_global___cha_analysis___ChaContext].i;
struct {struct stack_frame_t me;} fra;
init_table[itpos0] = 1;
return;
}
+static const char LOCATE_global___cha_analysis___ChaBuilder___iroutine_to_search[] = "cha_analysis::ChaBuilder::iroutine_to_search";
val_t global___cha_analysis___ChaBuilder___iroutine_to_search(val_t p0){
struct {struct stack_frame_t me;} fra;
val_t REGB0;
stack_frame_head = fra.me.prev;
return fra.me.REG[0];
}
+static const char LOCATE_global___cha_analysis___ChaBuilder___context[] = "cha_analysis::ChaBuilder::context";
val_t global___cha_analysis___ChaBuilder___context(val_t p0){
struct {struct stack_frame_t me;} fra;
val_t REGB0;
stack_frame_head = fra.me.prev;
return fra.me.REG[0];
}
+static const char LOCATE_global___cha_analysis___ChaBuilder___program[] = "cha_analysis::ChaBuilder::program";
val_t global___cha_analysis___ChaBuilder___program(val_t p0){
struct {struct stack_frame_t me;} fra;
val_t REGB0;
stack_frame_head = fra.me.prev;
return fra.me.REG[0];
}
+static const char LOCATE_global___cha_analysis___ChaBuilder___init[] = "cha_analysis::ChaBuilder::init";
void global___cha_analysis___ChaBuilder___init(val_t p0, val_t p1, int* init_table){
int itpos1 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_global___cha_analysis___ChaBuilder].i;
struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
init_table[itpos1] = 1;
return;
}
+static const char LOCATE_global___cha_analysis___ChaBuilder___add_search[] = "cha_analysis::ChaBuilder::add_search";
void global___cha_analysis___ChaBuilder___add_search(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4){
struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
val_t REGB0;
} else {
REGB3 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
if (UNTAG_Bool(REGB3)) {
- REGB3 = TAG_Bool(false);
+ REGB3 = TAG_Bool(0);
REGB2 = REGB3;
} else {
REGB3 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
REGB2 = CALL_global___reachable_method_analysis___ReachableMethodAnalysis___is_iroutine_reachable(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
REGB2 = TAG_Bool(!UNTAG_Bool(REGB2));
} else {
- REGB3 = TAG_Bool(false);
+ REGB3 = TAG_Bool(0);
REGB2 = REGB3;
}
if (UNTAG_Bool(REGB2)) {
} else {
REGB3 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
if (UNTAG_Bool(REGB3)) {
- REGB3 = TAG_Bool(false);
+ REGB3 = TAG_Bool(0);
REGB2 = REGB3;
} else {
REGB3 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
if (UNTAG_Bool(REGB0)) {
/* global/cha_analysis.nit:59 */
fra.me.REG[1] = CALL_icode___icode_base___MMMethod___iroutine(fra.me.REG[0])(fra.me.REG[0]);
- REGB0 = TAG_Bool(true);
- REGB1 = TAG_Bool(false);
+ REGB0 = TAG_Bool(1);
+ REGB1 = TAG_Bool(0);
CALL_global___cha_analysis___ChaBuilder___add_search(closctx->REG[0])(closctx->REG[0], fra.me.REG[0], fra.me.REG[1], REGB0, REGB1);
}
stack_frame_head = fra.me.prev;
if (UNTAG_Bool(REGB0)) {
/* global/cha_analysis.nit:68 */
fra.me.REG[1] = CALL_icode___icode_base___MMMethod___iroutine(fra.me.REG[0])(fra.me.REG[0]);
- REGB0 = TAG_Bool(true);
- REGB1 = TAG_Bool(false);
+ REGB0 = TAG_Bool(1);
+ REGB1 = TAG_Bool(0);
CALL_global___cha_analysis___ChaBuilder___add_search(closctx->REG[0])(closctx->REG[0], fra.me.REG[0], fra.me.REG[1], REGB0, REGB1);
}
stack_frame_head = fra.me.prev;
return;
}
+static const char LOCATE_global___cha_analysis___ChaBuilder___work[] = "cha_analysis::ChaBuilder::work";
void global___cha_analysis___ChaBuilder___work(val_t p0){
struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
val_t REGB0;
} else {
REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
if (UNTAG_Bool(REGB1)) {
- REGB1 = TAG_Bool(false);
+ REGB1 = TAG_Bool(0);
REGB0 = REGB1;
} else {
REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
nit_abort("Reciever is null", NULL, LOCATE_global___cha_analysis, 80);
}
fra.me.REG[2] = CALL_icode___icode_base___MMMethod___iroutine(fra.me.REG[1])(fra.me.REG[1]);
- REGB0 = TAG_Bool(true);
- REGB1 = TAG_Bool(false);
+ REGB0 = TAG_Bool(1);
+ REGB1 = TAG_Bool(0);
CALL_global___cha_analysis___ChaBuilder___add_search(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2], REGB0, REGB1);
/* global/cha_analysis.nit:82 */
while(1) {
stack_frame_head = fra.me.prev;
return;
}
+static const char LOCATE_global___cha_analysis___ChaVisitor___builder[] = "cha_analysis::ChaVisitor::builder";
val_t global___cha_analysis___ChaVisitor___builder(val_t p0){
struct {struct stack_frame_t me;} fra;
val_t REGB0;
stack_frame_head = fra.me.prev;
return fra.me.REG[0];
}
+static const char LOCATE_global___cha_analysis___ChaVisitor___visit_icode[] = "cha_analysis::ChaVisitor::(icode_tools::ICodeVisitor::visit_icode)";
void global___cha_analysis___ChaVisitor___visit_icode(val_t p0, val_t p1){
struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
val_t REGB0;
}
fra.me.REG[6] = CALL_icode___icode_base___IAbsCall___property(fra.me.REG[3])(fra.me.REG[3]);
fra.me.REG[6] = CALL_icode___icode_base___MMMethod___iroutine(fra.me.REG[6])(fra.me.REG[6]);
- REGB0 = TAG_Bool(true);
- REGB1 = TAG_Bool(false);
+ REGB0 = TAG_Bool(1);
+ REGB1 = TAG_Bool(0);
CALL_global___cha_analysis___ChaBuilder___add_search(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5], fra.me.REG[6], REGB0, REGB1);
} else {
/* global/cha_analysis.nit:99 */
nit_abort("Reciever is null", NULL, LOCATE_global___cha_analysis, 106);
}
fra.me.REG[4] = CALL_icode___icode_base___IAbsCall___property(fra.me.REG[3])(fra.me.REG[3]);
- REGB1 = TAG_Bool(false);
- REGB0 = TAG_Bool(false);
+ REGB1 = TAG_Bool(0);
+ REGB0 = TAG_Bool(0);
CALL_global___cha_analysis___ChaBuilder___add_search(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], REGB1, REGB0);
}
} else {
}
fra.me.REG[5] = CALL_icode___icode_base___IAbsCall___property(fra.me.REG[3])(fra.me.REG[3]);
fra.me.REG[5] = CALL_icode___icode_base___MMMethod___iroutine(fra.me.REG[5])(fra.me.REG[5]);
- REGB0 = TAG_Bool(false);
- REGB1 = TAG_Bool(true);
+ REGB0 = TAG_Bool(0);
+ REGB1 = TAG_Bool(1);
CALL_global___cha_analysis___ChaBuilder___add_search(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[4], fra.me.REG[5], REGB0, REGB1);
} else {
/* global/cha_analysis.nit:110 */
}
fra.me.REG[6] = CALL_icode___icode_base___IAbsCall___property(fra.me.REG[3])(fra.me.REG[3]);
fra.me.REG[6] = CALL_icode___icode_base___MMMethod___iroutine(fra.me.REG[6])(fra.me.REG[6]);
- REGB1 = TAG_Bool(false);
- REGB0 = TAG_Bool(false);
+ REGB1 = TAG_Bool(0);
+ REGB0 = TAG_Bool(0);
CALL_global___cha_analysis___ChaBuilder___add_search(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], REGB1, REGB0);
} else {
/* global/cha_analysis.nit:112 */
fra.me.REG[4] = CALL_program___MMLocalClass___checknew_iroutine(fra.me.REG[4])(fra.me.REG[4]);
/* global/cha_analysis.nit:116 */
fra.me.REG[6] = CALL_global___cha_analysis___ChaVisitor___builder(fra.me.REG[2])(fra.me.REG[2]);
- REGB0 = TAG_Bool(true);
- REGB1 = TAG_Bool(false);
+ REGB0 = TAG_Bool(1);
+ REGB1 = TAG_Bool(0);
CALL_global___cha_analysis___ChaBuilder___add_search(fra.me.REG[6])(fra.me.REG[6], NIT_NULL, fra.me.REG[4], REGB0, REGB1);
} else {
/* global/cha_analysis.nit:117 */
fra.me.REG[4] = CALL_program___MMLocalClass___init_var_iroutine(fra.me.REG[4])(fra.me.REG[4]);
/* global/cha_analysis.nit:121 */
fra.me.REG[2] = CALL_global___cha_analysis___ChaVisitor___builder(fra.me.REG[2])(fra.me.REG[2]);
- REGB1 = TAG_Bool(true);
- REGB0 = TAG_Bool(false);
+ REGB1 = TAG_Bool(1);
+ REGB0 = TAG_Bool(0);
CALL_global___cha_analysis___ChaBuilder___add_search(fra.me.REG[2])(fra.me.REG[2], NIT_NULL, fra.me.REG[4], REGB1, REGB0);
}
}
stack_frame_head = fra.me.prev;
return;
}
+static const char LOCATE_global___cha_analysis___ChaVisitor___init[] = "cha_analysis::ChaVisitor::init";
void global___cha_analysis___ChaVisitor___init(val_t p0, val_t p1, int* init_table){
int itpos2 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_global___cha_analysis___ChaVisitor].i;
struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;