62 std::function<
void(
const ICFGNode*)>
func)
const override
64 if (
const auto*
callNode = SVFUtil::dyn_cast<CallICFGNode>(node))
73 if (!e->isIntraCFGEdge() ||
74 node->
getFun() != e->getDstNode()->getFun())
76 func(e->getDstNode());
100 std::function<
void(
const ICFGNode*)>
func)
const override
102 if (
const auto*
callNode = SVFUtil::dyn_cast<CallICFGNode>(node))
105 for (
const auto &e :
callNode->getOutEdges())
const CallGraphNode * getCallGraphNode(const std::string &name)
Get call graph node.
const GEdgeSetTy & getOutEdges() const
WTOComponentVisitor< ICFG >::WTONodeT ICFGWTONode
void forEachSuccessor(const ICFGNode *node, std::function< void(const ICFGNode *)> func) const override
ICFGIWTO(ICFG *graph, const ICFGNode *node, NodeBS &funcPar, CallGraph *cg)
virtual const FunObjVar * getFun() const
Return the function of this ICFGNode.
void forEachSuccessor(const ICFGNode *node, std::function< void(const ICFGNode *)> func) const override
ICFGWTO(ICFG *graph, const ICFGNode *node)
WTOComponentVisitor< ICFG >::WTONodeT ICFGWTONode
bool test(unsigned Idx) const
WTOCycle< ICFG > ICFGCycleWTO
WTONode< ICFG > ICFGSingletonWTO
llvm::IRBuilder IRBuilder
WTOComponent< ICFG > ICFGWTOComp