ROSE
0.9.6a
|
#include <steensgaard.h>
Classes | |
class | VariableAlreadyDefined |
Public Member Functions | |
void | x_eq_y (Variable x, Variable y) |
void | x_eq_addr_y (Variable x, Variable y) |
void | x_eq_deref_y (Variable x, Variable y) |
void | x_eq_op_y (Variable x, const std::list< Variable > &y) |
void | allocate (Variable x) |
void | deref_x_eq_y (Variable x, Variable y) |
void | function_def_x (Variable x, const std::list< Variable > &inParams, const std::list< Variable > &outParams) |
void | function_call_p (Variable p, const std::list< Variable > &x, const std::list< Variable > &y) |
virtual void | dump () |
int | find_LOC (std::ostream &out, std::map< ECR *, int > &locmap, int &loc, ECR *p) |
void | outputLOC (std::ostream &out, std::map< ECR *, int > &locmap, int &loc, ECR *p) |
void | output (std::ostream &out) |
bool | mayAlias (Variable x, Variable y) |
virtual | ~ECRmap () |
Private Member Functions | |
ECR * | get_ECR (Variable x) |
ECR * | new_ECR () |
Lambda * | new_Lambda () |
void | set_lambda (Lambda *l, const std::list< Variable > &inParams, const std::list< Variable > &outParams) |
void | set_type (ECR *e, ECR *t) |
void | cjoin (ECR *e1, ECR *e2) |
void | unify_lambda (Lambda *l1, Lambda *l2) |
void | unify (ECR *t1, ECR *t2) |
void | join (ECR *e1, ECR *e2) |
Private Attributes | |
std::map< Variable, ECR * > | table |
std::list< ECR * > | ecrList |
std::list< Lambda > | lambdaList |
Definition at line 55 of file steensgaard.h.
|
inlinevirtual |
Definition at line 253 of file steensgaard.h.
References ecrList.
Definition at line 64 of file steensgaard.h.
References cjoin(), get_ECR(), and ECR::get_type().
Referenced by SteensgaardPtrAnal::field_x_eq_y(), SteensgaardPtrAnal::x_eq_field_y(), and SteensgaardPtrAnal::x_eq_y().
Definition at line 71 of file steensgaard.h.
References get_ECR(), ECR::get_type(), and join().
Referenced by SteensgaardPtrAnal::x_eq_addr_y().
Definition at line 79 of file steensgaard.h.
References BOT, cjoin(), get_ECR(), ECR::get_type(), and set_type().
Referenced by SteensgaardPtrAnal::x_eq_deref_y().
Definition at line 93 of file steensgaard.h.
References cjoin(), get_ECR(), and ECR::get_type().
Referenced by SteensgaardPtrAnal::x_eq_op_y().
|
inline |
Definition at line 102 of file steensgaard.h.
References BOT, get_ECR(), ECR::get_type(), new_ECR(), and set_type().
Referenced by SteensgaardPtrAnal::allocate_x().
Definition at line 110 of file steensgaard.h.
References BOT, cjoin(), get_ECR(), ECR::get_type(), and set_type().
Referenced by SteensgaardPtrAnal::deref_x_eq_y().
|
inline |
Definition at line 123 of file steensgaard.h.
References BOT, get_ECR(), Lambda::get_inParams(), ECR::get_lambda(), Lambda::get_outParams(), ECR::get_type(), join(), new_Lambda(), ECR::set_lambda(), and set_lambda().
Referenced by SteensgaardPtrAnal::funcdef_x().
|
inline |
Definition at line 150 of file steensgaard.h.
References BOT, ECR::get_ecr(), get_ECR(), Lambda::get_inParams(), ECR::get_lambda(), Lambda::get_outParams(), ECR::get_type(), join(), new_Lambda(), ECR::set_lambda(), set_lambda(), and Variable.
Referenced by SteensgaardPtrAnal::funccall_x().
|
inlinevirtual |
Definition at line 185 of file steensgaard.h.
References output().
|
inline |
Definition at line 186 of file steensgaard.h.
Referenced by outputLOC().
|
inline |
Definition at line 198 of file steensgaard.h.
References find_LOC(), Lambda::get_inParams(), ECR::get_lambda(), Lambda::get_outParams(), ECR::get_pending(), ECR::get_type(), and max.
Referenced by output().
|
inline |
Definition at line 232 of file steensgaard.h.
References ECR::get_ecr(), outputLOC(), and table.
Referenced by dump(), and SteensgaardPtrAnal::output().
Definition at line 244 of file steensgaard.h.
References table.
Referenced by SteensgaardPtrAnal::may_alias().
Definition at line 264 of file steensgaard.h.
References ECR::get_type(), new_ECR(), ECR::set_type(), and table.
Referenced by allocate(), deref_x_eq_y(), function_call_p(), function_def_x(), set_lambda(), x_eq_addr_y(), x_eq_deref_y(), x_eq_op_y(), and x_eq_y().
|
inlineprivate |
Definition at line 278 of file steensgaard.h.
References ecrList.
Referenced by allocate(), get_ECR(), and set_lambda().
|
inlineprivate |
Definition at line 282 of file steensgaard.h.
References lambdaList.
Referenced by function_call_p(), and function_def_x().
|
inlineprivate |
Definition at line 286 of file steensgaard.h.
References get_ECR(), Lambda::get_inParams(), Lambda::get_outParams(), new_ECR(), and Variable.
Referenced by function_call_p(), and function_def_x().
Definition at line 303 of file steensgaard.h.
References BOT, ECR::get_pending(), ECR::get_type(), join(), and ECR::set_type().
Referenced by allocate(), deref_x_eq_y(), and x_eq_deref_y().
Definition at line 315 of file steensgaard.h.
References BOT, ECR::get_pending(), ECR::get_type(), and join().
Referenced by deref_x_eq_y(), x_eq_deref_y(), x_eq_op_y(), and x_eq_y().
Definition at line 323 of file steensgaard.h.
References Lambda::get_inParams(), Lambda::get_outParams(), and join().
Definition at line 340 of file steensgaard.h.
References ECR::get_lambda(), join(), and unify_lambda().
Referenced by join().
Definition at line 350 of file steensgaard.h.
References BOT, ECR::get_ecr(), ECR::get_lambda(), ECR::get_pending(), ECR::get_type(), ECR::set_lambda(), ECR::set_type(), unify(), unify_lambda(), and ECR::union_with().
Referenced by cjoin(), function_call_p(), function_def_x(), set_type(), unify(), unify_lambda(), and x_eq_addr_y().
Definition at line 261 of file steensgaard.h.
Referenced by get_ECR(), mayAlias(), and output().
|
private |
Definition at line 262 of file steensgaard.h.
|
private |
Definition at line 263 of file steensgaard.h.
Referenced by new_Lambda().