Static Value-Flow Analysis
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | List of all members
SVF::DOTGraphTraits< const SlicedPAGView * > Struct Reference
Inheritance diagram for SVF::DOTGraphTraits< const SlicedPAGView * >:
SVF::DefaultDOTGraphTraits

Public Member Functions

 DOTGraphTraits (bool isSimple=false)
 
std::string getNodeLabel (SlicedPAGNodeRef n, const SlicedPAGView *)
 
- Public Member Functions inherited from SVF::DefaultDOTGraphTraits
 DefaultDOTGraphTraits (bool simple=false)
 
template<typename NodeT , typename GraphType >
std::string getNodeLabel (NodeT, const GraphType &)
 

Static Public Member Functions

static std::string getGraphName (const SlicedPAGView *)
 
static const void * getNodeIdentifier (SlicedPAGNodeRef n)
 
static std::string getNodeAttributes (SlicedPAGNodeRef, const SlicedPAGView *)
 
template<class EdgeIter >
static std::string getEdgeAttributes (SlicedPAGNodeRef, EdgeIter EI, const SlicedPAGView *)
 
- Static Public Member Functions inherited from SVF::DefaultDOTGraphTraits
template<typename GraphType >
static std::string getGraphName (const GraphType &)
 
template<typename GraphType >
static std::string getGraphProperties (const GraphType &)
 
static bool renderGraphFromBottomUp ()
 
template<typename NodeT >
static const void * getNodeIdentifier (NodeT N)
 
template<typename NodeT , typename GraphType >
static bool isNodeHidden (NodeT, const GraphType &)
 
template<typename NodeT , typename GraphType >
static std::string getNodeIdentifierLabel (NodeT, const GraphType &)
 
template<typename NodeT , typename GraphType >
static std::string getNodeDescription (NodeT, const GraphType &)
 
template<typename NodeT , typename GraphType >
static std::string getNodeAttributes (NodeT, const GraphType &)
 
template<typename NodeT , typename EdgeIter , typename GraphType >
static std::string getEdgeAttributes (NodeT, EdgeIter, const GraphType &)
 
template<typename NodeT , typename EdgeIter >
static std::string getEdgeSourceLabel (NodeT, EdgeIter)
 
template<typename NodeT , typename EdgeIter >
static bool edgeTargetsEdgeSource (NodeT, EdgeIter)
 
template<typename NodeT , typename EdgeIter >
static EdgeIter getEdgeTarget (NodeT, EdgeIter I)
 
static bool hasEdgeDestLabels ()
 
template<typename NodeT >
static unsigned numEdgeDestLabels (NodeT)
 
template<typename NodeT >
static std::string getEdgeDestLabel (NodeT, unsigned)
 
template<typename GraphType , typename GraphWriter >
static void addCustomGraphFeatures (const GraphType &, GraphWriter &)
 

Additional Inherited Members

- Protected Member Functions inherited from SVF::DefaultDOTGraphTraits
bool isSimple ()
 

Detailed Description

Definition at line 146 of file SlicedGraphs.cpp.

Constructor & Destructor Documentation

◆ DOTGraphTraits()

Member Function Documentation

◆ getEdgeAttributes()

template<class EdgeIter >
static std::string SVF::DOTGraphTraits< const SlicedPAGView * >::getEdgeAttributes ( SlicedPAGNodeRef  ,
EdgeIter  EI,
const SlicedPAGView  
)
inlinestatic

Definition at line 171 of file SlicedGraphs.cpp.

172 {
173 const SVFStmt* s = EI.currentEdge().underlying;
174 if (SVFUtil::isa<LoadStmt>(s)) return "color=blue";
175 if (SVFUtil::isa<StoreStmt>(s)) return "color=red";
176 if (SVFUtil::isa<GepStmt>(s)) return "color=purple";
177 if (SVFUtil::isa<AddrStmt>(s)) return "color=green";
178 if (SVFUtil::isa<CallPE>(s)) return "color=orange";
179 if (SVFUtil::isa<RetPE>(s)) return "color=cyan";
180 return "color=black";
181 }
llvm::IRBuilder IRBuilder
Definition BasicTypes.h:76

◆ getGraphName()

static std::string SVF::DOTGraphTraits< const SlicedPAGView * >::getGraphName ( const SlicedPAGView )
inlinestatic

Definition at line 150 of file SlicedGraphs.cpp.

151 {
152 return "SlicedPAG";
153 }

◆ getNodeAttributes()

static std::string SVF::DOTGraphTraits< const SlicedPAGView * >::getNodeAttributes ( SlicedPAGNodeRef  ,
const SlicedPAGView  
)
inlinestatic

Definition at line 165 of file SlicedGraphs.cpp.

166 {
167 return "shape=record,color=black";
168 }

◆ getNodeIdentifier()

static const void * SVF::DOTGraphTraits< const SlicedPAGView * >::getNodeIdentifier ( SlicedPAGNodeRef  n)
inlinestatic

Definition at line 155 of file SlicedGraphs.cpp.

156 {
157 return n.raw;
158 }
cJSON * n
Definition cJSON.cpp:2558

◆ getNodeLabel()

std::string SVF::DOTGraphTraits< const SlicedPAGView * >::getNodeLabel ( SlicedPAGNodeRef  n,
const SlicedPAGView  
)
inline

Definition at line 160 of file SlicedGraphs.cpp.

161 {
162 return n.raw != nullptr ? n.raw->toString() : "";
163 }

The documentation for this struct was generated from the following file: