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

Public Types

typedef CHNode NodeType
 

Public Member Functions

 DOTGraphTraits (bool isSimple=false)
 
- 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 (CHGraph *)
 Return name of the graph.
 
static std::string getNodeLabel (CHNode *node, CHGraph *)
 Return function name;.
 
static std::string getNodeAttributes (CHNode *node, CHGraph *)
 
template<class EdgeIter >
static std::string getEdgeAttributes (CHNode *, EdgeIter EI, CHGraph *)
 
- 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

Write value flow graph into dot file for debugging

Definition at line 261 of file CHG.cpp.

Member Typedef Documentation

◆ NodeType

Definition at line 264 of file CHG.cpp.

Constructor & Destructor Documentation

◆ DOTGraphTraits()

Definition at line 265 of file CHG.cpp.

Member Function Documentation

◆ getEdgeAttributes()

template<class EdgeIter >
static std::string SVF::DOTGraphTraits< CHGraph * >::getEdgeAttributes ( CHNode ,
EdgeIter  EI,
CHGraph  
)
inlinestatic

Definition at line 292 of file CHG.cpp.

293 {
294
295 CHEdge* edge = *(EI.getCurrent());
296 assert(edge && "No edge found!!");
297 if (edge->getEdgeType() == CHEdge::INHERITANCE)
298 {
299 return "style=solid";
300 }
301 else
302 {
303 return "style=dashed";
304 }
305 }
@ INHERITANCE
Definition CHG.h:84
llvm::IRBuilder IRBuilder
Definition BasicTypes.h:76

◆ getGraphName()

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

Return name of the graph.

Definition at line 271 of file CHG.cpp.

272 {
273 return "Class Hierarchy Graph";
274 }

◆ getNodeAttributes()

static std::string SVF::DOTGraphTraits< CHGraph * >::getNodeAttributes ( CHNode node,
CHGraph  
)
inlinestatic

Definition at line 281 of file CHG.cpp.

282 {
283 if (node->isPureAbstract())
284 {
285 return "shape=tab";
286 }
287 else
288 return "shape=box";
289 }
bool isPureAbstract() const
Definition CHG.h:157

◆ getNodeLabel()

static std::string SVF::DOTGraphTraits< CHGraph * >::getNodeLabel ( CHNode node,
CHGraph  
)
inlinestatic

Return function name;.

Definition at line 276 of file CHG.cpp.

277 {
278 return node->getName();
279 }
virtual const std::string & getName() const
Definition CHG.h:127

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