|
typedef std::vector< const ValVar * > | ActualParmNodeVec |
|
typedef ICFGEdge::ICFGEdgeSetTy::iterator | iterator |
|
typedef ICFGEdge::ICFGEdgeSetTy::const_iterator | const_iterator |
|
typedef Set< const CallPE * > | CallPESet |
|
typedef Set< const RetPE * > | RetPESet |
|
typedef std::list< const VFGNode * > | VFGNodeList |
|
typedef std::list< const SVFStmt * > | SVFStmtList |
|
typedef GNodeK | ICFGNodeK |
|
typedef NodeTy | NodeType |
|
typedef EdgeTy | EdgeType |
|
typedef OrderedSet< EdgeType *, typename EdgeType::equalGEdge > | GEdgeSetTy |
| Edge kind.
|
|
typedef GEdgeSetTy::iterator | iterator |
|
typedef GEdgeSetTy::const_iterator | const_iterator |
|
enum | GNodeK {
IntraBlock
, GlobalBlock
, FunEntryBlock
, FunExitBlock
,
FunCallBlock
, FunRetBlock
, ValNode
, FunValNode
,
GepValNode
, RetNode
, VarargNode
, DummyValNode
,
ObjNode
, GepObjNode
, BaseObjNode
, FunObjNode
,
HeapObjNode
, StackObjNode
, DummyObjNode
, Cmp
,
BinaryOp
, UnaryOp
, Branch
, DummyVProp
,
NPtr
, FRet
, ARet
, AParm
,
FParm
, Addr
, Copy
, Gep
,
Store
, Load
, TPhi
, TIntraPhi
,
TInterPhi
, FPIN
, FPOUT
, APIN
,
APOUT
, MPhi
, MIntraPhi
, MInterPhi
,
CallNodeKd
, CDNodeKd
, CFLNodeKd
, CHNodeKd
,
ConstraintNodeKd
, TCTNodeKd
, DCHNodeKd
, OtherKd
} |
|
|
| CallICFGNode (NodeID id, const SVFBasicBlock *b, const SVFType *ty, const SVFFunction *cf, bool iv, bool ivc, s32_t vfi, const std::string &fnv) |
|
const RetICFGNode * | getRetICFGNode () const |
| Return callsite.
|
|
void | setRetICFGNode (const RetICFGNode *r) |
| Return callsite.
|
|
const SVFFunction * | getCaller () const |
| Return callsite.
|
|
const SVFBasicBlock * | getParent () const |
| Return Basic Block.
|
|
bool | isIndirectCall () const |
| Return true if this is an indirect call.
|
|
const ActualParmNodeVec & | getActualParms () const |
| Return the set of actual parameters.
|
|
void | addActualParms (const ValVar *ap) |
| Add actual parameters.
|
|
const ValVar * | getArgument (u32_t ArgNo) const |
| Parameter operations.
|
|
u32_t | arg_size () const |
|
bool | arg_empty () const |
|
u32_t | getNumArgOperands () const |
|
const SVFFunction * | getCalledFunction () const |
|
bool | isVarArg () const |
|
bool | isVirtualCall () const |
|
void | setVtablePtr (SVFVar *v) |
|
const SVFVar * | getVtablePtr () const |
|
s32_t | getFunIdxInVtable () const |
|
const std::string & | getFunNameOfVirtualCall () const |
|
const std::string | toString () const override |
|
const std::string | getSourceLoc () const override |
|
| InterICFGNode (NodeID id, ICFGNodeK k) |
| Constructor.
|
|
| ICFGNode (NodeID i, GNodeK k) |
| Constructor.
|
|
virtual const SVFFunction * | getFun () const |
| Return the function of this ICFGNode.
|
|
virtual const SVFBasicBlock * | getBB () const |
| Return the basic block of this ICFGNode.
|
|
void | dump () const |
|
void | addVFGNode (const VFGNode *vfgNode) |
|
const VFGNodeList & | getVFGNodes () const |
|
void | addSVFStmt (const SVFStmt *edge) |
|
const SVFStmtList & | getSVFStmts () const |
|
| GenericNode (NodeID i, GNodeK k) |
| 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) |
|
| SVFBaseNode (NodeID i, GNodeK k, SVFType *ty=nullptr) |
|
NodeID | getId () const |
| Get ID.
|
|
GNodeK | getNodeKind () const |
| Get node kind.
|
|
virtual const SVFType * | getType () const |
|
virtual void | setSourceLoc (const std::string &sourceCodeInfo) |
|
const std::string | valueOnlyToString () const |
|
Call ICFGNode containing a set of ActualParmVFGNodes at a callsite
Definition at line 422 of file ICFGNode.h.