PandA-2024.02
|
This struct specifies a point-to solution. More...
#include <tree_node.hpp>
Public Types | |
enum | { GETID =(variables) = 0 } |
visitor enum More... | |
Public Member Functions | |
PointToSolution () | |
Constructor. More... | |
virtual | ~PointToSolution () |
Destructor. More... | |
void | Add (const std::string &variable) |
Add a symbolic variable to this point to set. More... | |
void | Add (const tree_nodeRef &variable) |
Add a variable to this point to set. More... | |
bool | is_a_singleton () const |
this function check if the point-to set is a singleton or not More... | |
bool | is_fully_resolved () const |
this function check if the point-to set resolved w.r.t. More... | |
std::string | ToString () const |
Print this point-to solution. More... | |
virtual void | visit (tree_node_visitor *const v) const |
virtual function used to traverse the tree_node data structure. More... | |
Data Fields | |
bool | anything |
True if it is not possible to determine where the pointer points to. More... | |
bool | escaped |
True if the points to includes the local escaped solution. More... | |
bool | ipa_escaped |
True if the points to includes the IPA escaped solution. More... | |
bool | nonlocal |
True if the points to includes any global memory. More... | |
bool | null |
True if the points to includes nothing. More... | |
std::vector< tree_nodeRef > | variables |
Set of variables that this pointer may point to. More... | |
This struct specifies a point-to solution.
Definition at line 1001 of file tree_node.hpp.
anonymous enum |
PointToSolution::PointToSolution | ( | ) |
Constructor.
Definition at line 499 of file tree_node.cpp.
References ~PointToSolution().
|
virtualdefault |
void PointToSolution::Add | ( | const std::string & | variable | ) |
Add a symbolic variable to this point to set.
variable | is the symbolic variable to be added |
Definition at line 505 of file tree_node.cpp.
References anything, escaped, ipa_escaped, NODE_NOT_YET_SUPPORTED_EC, nonlocal, null, and THROW_ERROR_CODE.
void PointToSolution::Add | ( | const tree_nodeRef & | variable | ) |
Add a variable to this point to set.
variable | is the variable to be added |
Definition at line 533 of file tree_node.cpp.
References variables.
bool PointToSolution::is_a_singleton | ( | ) | const |
this function check if the point-to set is a singleton or not
Definition at line 538 of file tree_node.cpp.
References anything, escaped, ipa_escaped, nonlocal, and variables.
bool PointToSolution::is_fully_resolved | ( | ) | const |
this function check if the point-to set resolved w.r.t.
standard variables
Definition at line 543 of file tree_node.cpp.
References anything, escaped, ipa_escaped, nonlocal, and variables.
std::string PointToSolution::ToString | ( | ) | const |
Print this point-to solution.
Definition at line 548 of file tree_node.cpp.
References anything, escaped, GET_NODE, ipa_escaped, nonlocal, null, and variables.
|
virtual |
virtual function used to traverse the tree_node data structure.
v | is a reference to the tree_node visitor class |
Definition at line 578 of file tree_node.cpp.
References ALL_VISIT, SEQ_VISIT_MEMBER, and variables.
Referenced by call_expr::visit().
bool PointToSolution::anything |
True if it is not possible to determine where the pointer points to.
Definition at line 1004 of file tree_node.hpp.
Referenced by Add(), is_a_singleton(), is_fully_resolved(), ToString(), and raw_writer::write_when_not_null_point_to().
bool PointToSolution::escaped |
True if the points to includes the local escaped solution.
Definition at line 1007 of file tree_node.hpp.
Referenced by Add(), is_a_singleton(), is_fully_resolved(), ToString(), and raw_writer::write_when_not_null_point_to().
bool PointToSolution::ipa_escaped |
True if the points to includes the IPA escaped solution.
Definition at line 1010 of file tree_node.hpp.
Referenced by Add(), is_a_singleton(), is_fully_resolved(), ToString(), and raw_writer::write_when_not_null_point_to().
bool PointToSolution::nonlocal |
True if the points to includes any global memory.
Definition at line 1013 of file tree_node.hpp.
Referenced by Add(), is_a_singleton(), is_fully_resolved(), ToString(), and raw_writer::write_when_not_null_point_to().
bool PointToSolution::null |
True if the points to includes nothing.
Definition at line 1016 of file tree_node.hpp.
Referenced by Add(), ToString(), and raw_writer::write_when_not_null_point_to().
std::vector<tree_nodeRef> PointToSolution::variables |
Set of variables that this pointer may point to.
Definition at line 1019 of file tree_node.hpp.
Referenced by Add(), is_a_singleton(), is_fully_resolved(), ToString(), visit(), and raw_writer::write_when_not_null_point_to().