|
Static Value-Flow Analysis
|
#include <ICFGNode.h>
Public Member Functions | |
| ICFGNode (NodeID i, GNodeK k) | |
| Constructor. | |
| virtual const FunObjVar * | getFun () const |
| Return the function of this ICFGNode. | |
| virtual const SVFBasicBlock * | getBB () const |
| Return the basic block of this ICFGNode. | |
| virtual const std::string | toString () const |
| void | dump () const |
| void | addVFGNode (const VFGNode *vfgNode) |
| const VFGNodeList & | getVFGNodes () const |
| void | addSVFStmt (const SVFStmt *edge) |
| const SVFStmtList & | getSVFStmts () const |
| Public Member Functions inherited from SVF::GenericNode< ICFGNode, ICFGEdge > | |
| GenericNode (NodeID i, GNodeK k, const SVFType *svfType=nullptr) | |
| Constructor. | |
| virtual | ~GenericNode () |
| Destructor. | |
| bool | hasIncomingEdge () const |
| Has incoming/outgoing edge set. | |
| bool | hasOutgoingEdge () const |
| iterator | OutEdgeBegin () |
| iterators | |
| iterator | OutEdgeEnd () |
| iterator | InEdgeBegin () |
| iterator | InEdgeEnd () |
| const_iterator | OutEdgeBegin () const |
| const_iterator | OutEdgeEnd () const |
| const_iterator | InEdgeBegin () const |
| const_iterator | InEdgeEnd () const |
| virtual iterator | directOutEdgeBegin () |
| Iterators used for SCC detection, overwrite it in child class if necessary. | |
| virtual iterator | directOutEdgeEnd () |
| virtual iterator | directInEdgeBegin () |
| virtual iterator | directInEdgeEnd () |
| virtual const_iterator | directOutEdgeBegin () const |
| virtual const_iterator | directOutEdgeEnd () const |
| virtual const_iterator | directInEdgeBegin () const |
| virtual const_iterator | directInEdgeEnd () const |
| bool | addIncomingEdge (EdgeType *inEdge) |
| Add incoming and outgoing edges. | |
| bool | addOutgoingEdge (EdgeType *outEdge) |
| EdgeType * | hasIncomingEdge (EdgeType *edge) const |
| Find incoming and outgoing edges. | |
| EdgeType * | hasOutgoingEdge (EdgeType *edge) const |
| const GEdgeSetTy & | getOutEdges () const |
| const GEdgeSetTy & | getInEdges () const |
| u32_t | removeIncomingEdge (EdgeType *edge) |
| u32_t | removeOutgoingEdge (EdgeType *edge) |
| Public Member Functions inherited from SVF::SVFValue | |
| SVFValue (NodeID i, GNodeK k, const SVFType *ty=nullptr) | |
| NodeID | getId () const |
| Get ID. | |
| GNodeK | getNodeKind () const |
| Get node kind. | |
| virtual const SVFType * | getType () const |
| virtual void | setName (const std::string &nameInfo) |
| virtual void | setName (std::string &&nameInfo) |
| virtual const std::string & | getName () const |
| virtual void | setSourceLoc (const std::string &sourceCodeInfo) |
| virtual const std::string | getSourceLoc () const |
| const std::string | valueOnlyToString () const |
| const bool | hasLLVMValue () const |
Static Public Member Functions | |
| static bool | classof (const ICFGNode *) |
| static bool | classof (const GenericICFGNodeTy *node) |
| static bool | classof (const SVFValue *node) |
| Static Public Member Functions inherited from SVF::GenericNode< ICFGNode, ICFGEdge > | |
| static bool | classof (const GenericNode< ICFGNode, ICFGEdge > *) |
| static bool | classof (const SVFValue *) |
Protected Attributes | |
| const FunObjVar * | fun |
| const SVFBasicBlock * | bb |
| VFGNodeList | VFGNodes |
| SVFStmtList | pagEdges |
| Protected Attributes inherited from SVF::SVFValue | |
| NodeID | id |
| Node ID. | |
| GNodeK | nodeKind |
| Node kind. | |
| const SVFType * | type |
| SVF type. | |
| std::string | name |
| std::string | sourceLoc |
| Source code information of this value. | |
Friends | |
| OutStream & | operator<< (OutStream &o, const ICFGNode &node) |
| Overloading operator << for dumping ICFG node ID. | |
Additional Inherited Members | |
| Static Protected Member Functions inherited from SVF::SVFValue | |
| static bool | isICFGNodeKinds (GNodeK n) |
| Helper functions to check node kinds. | |
| static bool | isInterICFGNodeKind (GNodeK n) |
| static bool | isSVFVarKind (GNodeK n) |
| static bool | isValVarKinds (GNodeK n) |
| static bool | isConstantDataValVar (GNodeK n) |
| static bool | isObjVarKinds (GNodeK n) |
| static bool | isBaseObjVarKinds (GNodeK n) |
| static bool | isConstantDataObjVarKinds (GNodeK n) |
| static bool | isVFGNodeKinds (GNodeK n) |
| static bool | isArgumentVFGNodeKinds (GNodeK n) |
| static bool | isStmtVFGNodeKinds (GNodeK n) |
| static bool | isPHIVFGNodeKinds (GNodeK n) |
| static bool | isMRSVFGNodeKinds (GNodeK n) |
| static bool | isMSSAPHISVFGNodeKinds (GNodeK n) |
Definition at line 55 of file ICFGNode.h.
| typedef Set<const CallPE *> SVF::ICFGNode::CallPESet |
Definition at line 62 of file ICFGNode.h.
| typedef ICFGEdge::ICFGEdgeSetTy::const_iterator SVF::ICFGNode::const_iterator |
Definition at line 61 of file ICFGNode.h.
| typedef GNodeK SVF::ICFGNode::ICFGNodeK |
Definition at line 66 of file ICFGNode.h.
| typedef ICFGEdge::ICFGEdgeSetTy::iterator SVF::ICFGNode::iterator |
Definition at line 60 of file ICFGNode.h.
| typedef Set<const RetPE *> SVF::ICFGNode::RetPESet |
Definition at line 63 of file ICFGNode.h.
| typedef std::list<const SVFStmt*> SVF::ICFGNode::SVFStmtList |
Definition at line 65 of file ICFGNode.h.
| typedef std::list<const VFGNode*> SVF::ICFGNode::VFGNodeList |
Definition at line 64 of file ICFGNode.h.
|
inline |
Set/Get methods of VFGNodes
Definition at line 111 of file ICFGNode.h.
|
inline |
Set/Get methods of VFGNodes
Definition at line 98 of file ICFGNode.h.
|
inlinestatic |
Definition at line 134 of file ICFGNode.h.
|
inlinestatic |
Definition at line 129 of file ICFGNode.h.
|
inlinestatic |
Definition at line 139 of file ICFGNode.h.
|
inlinevirtual |
Return the basic block of this ICFGNode.
Definition at line 81 of file ICFGNode.h.
|
inlinevirtual |
Return the function of this ICFGNode.
Reimplemented in SVF::FunEntryICFGNode, and SVF::FunExitICFGNode.
Definition at line 75 of file ICFGNode.h.
|
inline |
Definition at line 116 of file ICFGNode.h.
|
inline |
Definition at line 103 of file ICFGNode.h.
|
virtual |
Reimplemented in SVF::CallICFGNode, SVF::FunEntryICFGNode, SVF::FunExitICFGNode, SVF::GlobalICFGNode, SVF::IntraICFGNode, and SVF::RetICFGNode.
Definition at line 50 of file ICFG.cpp.
Overloading operator << for dumping ICFG node ID.
Definition at line 89 of file ICFGNode.h.
|
protected |
Definition at line 146 of file ICFGNode.h.
|
protected |
Definition at line 145 of file ICFGNode.h.
|
protected |
Definition at line 148 of file ICFGNode.h.
|
protected |
Definition at line 147 of file ICFGNode.h.