LLVM 20.0.0git
|
DefaultDOTGraphTraits - This class provides the default implementations of all of the DOTGraphTraits methods. More...
#include "llvm/Support/DOTGraphTraits.h"
Public Member Functions | |
DefaultDOTGraphTraits (bool simple=false) | |
template<typename GraphType > | |
std::string | getNodeLabel (const void *, const GraphType &) |
getNodeLabel - Given a node and a pointer to the top level graph, return the label to print in the node. | |
Static Public Member Functions | |
template<typename GraphType > | |
static std::string | getGraphName (const GraphType &) |
getGraphName - Return the label for the graph as a whole. | |
template<typename GraphType > | |
static std::string | getGraphProperties (const GraphType &) |
getGraphProperties - Return any custom properties that should be included in the top level graph structure for dot. | |
static bool | renderGraphFromBottomUp () |
renderGraphFromBottomUp - If this function returns true, the graph is emitted bottom-up instead of top-down. | |
template<typename GraphType > | |
static bool | isNodeHidden (const void *, const GraphType &) |
isNodeHidden - If the function returns true, the given node is not displayed in the graph. | |
static bool | renderNodesUsingHTML () |
template<typename GraphType > | |
static std::string | getNodeIdentifierLabel (const void *, const GraphType &) |
template<typename GraphType > | |
static std::string | getNodeDescription (const void *, const GraphType &) |
template<typename GraphType > | |
static std::string | getNodeAttributes (const void *, const GraphType &) |
If you want to specify custom node attributes, this is the place to do so. | |
template<typename EdgeIter , typename GraphType > | |
static std::string | getEdgeAttributes (const void *, EdgeIter, const GraphType &) |
If you want to override the dot attributes printed for a particular edge, override this method. | |
template<typename EdgeIter > | |
static std::string | getEdgeSourceLabel (const void *, EdgeIter) |
getEdgeSourceLabel - If you want to label the edge source itself, implement this method. | |
template<typename EdgeIter > | |
static bool | edgeTargetsEdgeSource (const void *, EdgeIter) |
edgeTargetsEdgeSource - This method returns true if this outgoing edge should actually target another edge source, not a node. | |
template<typename EdgeIter > | |
static EdgeIter | getEdgeTarget (const void *, EdgeIter I) |
getEdgeTarget - If edgeTargetsEdgeSource returns true, this method is called to determine which outgoing edge of Node is the target of this edge. | |
static bool | hasEdgeDestLabels () |
hasEdgeDestLabels - If this function returns true, the graph is able to provide labels for edge destinations. | |
static unsigned | numEdgeDestLabels (const void *) |
numEdgeDestLabels - If hasEdgeDestLabels, this function returns the number of incoming edge labels the given node has. | |
static std::string | getEdgeDestLabel (const void *, unsigned) |
getEdgeDestLabel - If hasEdgeDestLabels, this function returns the incoming edge label with the given index in the given node. | |
template<typename GraphType , typename GraphWriter > | |
static void | addCustomGraphFeatures (const GraphType &, GraphWriter &) |
addCustomGraphFeatures - If a graph is made up of more than just straight-forward nodes and edges, this is the place to put all of the custom stuff necessary. | |
Protected Member Functions | |
bool | isSimple () |
DefaultDOTGraphTraits - This class provides the default implementations of all of the DOTGraphTraits methods.
If a specialization does not need to override all methods here it should inherit so that it can get the default implementations.
Definition at line 28 of file DOTGraphTraits.h.
|
inlineexplicit |
Definition at line 38 of file DOTGraphTraits.h.
|
inlinestatic |
addCustomGraphFeatures - If a graph is made up of more than just straight-forward nodes and edges, this is the place to put all of the custom stuff necessary.
The GraphWriter object, instantiated with your GraphType is passed in as an argument. You may call arbitrary methods on it to add things to the output graph.
Definition at line 157 of file DOTGraphTraits.h.
Referenced by llvm::GraphWriter< GraphType >::writeGraph().
|
inlinestatic |
edgeTargetsEdgeSource - This method returns true if this outgoing edge should actually target another edge source, not a node.
If this method is implemented, getEdgeTarget should be implemented.
Definition at line 120 of file DOTGraphTraits.h.
Referenced by llvm::GraphWriter< GraphType >::writeEdge().
|
inlinestatic |
If you want to override the dot attributes printed for a particular edge, override this method.
Definition at line 104 of file DOTGraphTraits.h.
Referenced by llvm::GraphWriter< GraphType >::writeEdge().
|
inlinestatic |
getEdgeDestLabel - If hasEdgeDestLabels, this function returns the incoming edge label with the given index in the given node.
Definition at line 146 of file DOTGraphTraits.h.
Referenced by llvm::GraphWriter< GraphType >::writeNode().
|
inlinestatic |
getEdgeSourceLabel - If you want to label the edge source itself, implement this method.
Definition at line 112 of file DOTGraphTraits.h.
Referenced by llvm::GraphWriter< GraphType >::writeEdge().
|
inlinestatic |
getEdgeTarget - If edgeTargetsEdgeSource returns true, this method is called to determine which outgoing edge of Node is the target of this edge.
Definition at line 128 of file DOTGraphTraits.h.
References I.
Referenced by llvm::GraphWriter< GraphType >::writeEdge().
|
inlinestatic |
getGraphName - Return the label for the graph as a whole.
Printed at the top of the graph.
Definition at line 44 of file DOTGraphTraits.h.
Referenced by llvm::printGraphForFunction(), llvm::DOTGraphTraitsModuleViewerWrapperPass< AnalysisT, IsSimple, GraphT, AnalysisGraphTraitsT >::runOnModule(), llvm::DOTGraphTraitsModulePrinterWrapperPass< AnalysisT, IsSimple, GraphT, AnalysisGraphTraitsT >::runOnModule(), llvm::viewGraphForFunction(), llvm::WriteDOTGraphToFile(), and llvm::GraphWriter< GraphType >::writeHeader().
|
inlinestatic |
getGraphProperties - Return any custom properties that should be included in the top level graph structure for dot.
Definition at line 50 of file DOTGraphTraits.h.
Referenced by llvm::GraphWriter< GraphType >::writeHeader().
|
inlinestatic |
If you want to specify custom node attributes, this is the place to do so.
Definition at line 96 of file DOTGraphTraits.h.
Referenced by llvm::GraphWriter< GraphType >::writeNode().
|
inlinestatic |
Definition at line 89 of file DOTGraphTraits.h.
Referenced by llvm::GraphWriter< GraphType >::writeNode().
|
inlinestatic |
Definition at line 84 of file DOTGraphTraits.h.
Referenced by llvm::GraphWriter< GraphType >::writeNode().
|
inline |
getNodeLabel - Given a node and a pointer to the top level graph, return the label to print in the node.
Definition at line 76 of file DOTGraphTraits.h.
Referenced by llvm::DOTGraphTraits< DominatorTree * >::getNodeLabel(), llvm::DOTGraphTraits< PostDominatorTree * >::getNodeLabel(), llvm::DOTGraphTraits< RegionInfo * >::getNodeLabel(), and llvm::GraphWriter< GraphType >::writeNode().
|
inlinestatic |
hasEdgeDestLabels - If this function returns true, the graph is able to provide labels for edge destinations.
Definition at line 134 of file DOTGraphTraits.h.
Referenced by llvm::GraphWriter< GraphType >::emitEdge(), and llvm::GraphWriter< GraphType >::writeNode().
|
inlinestatic |
isNodeHidden - If the function returns true, the given node is not displayed in the graph.
Definition at line 64 of file DOTGraphTraits.h.
Referenced by llvm::GraphWriter< GraphType >::isNodeHidden(), and llvm::GraphWriter< GraphType >::writeNode().
|
inlineprotected |
numEdgeDestLabels - If hasEdgeDestLabels, this function returns the number of incoming edge labels the given node has.
Definition at line 140 of file DOTGraphTraits.h.
Referenced by llvm::GraphWriter< GraphType >::writeNode().
|
inlinestatic |
renderGraphFromBottomUp - If this function returns true, the graph is emitted bottom-up instead of top-down.
This requires graphviz 2.0 to work though.
Definition at line 57 of file DOTGraphTraits.h.
Referenced by llvm::GraphWriter< GraphType >::writeHeader(), and llvm::GraphWriter< GraphType >::writeNode().
|
inlinestatic |
Definition at line 71 of file DOTGraphTraits.h.
Referenced by llvm::GraphWriter< GraphType >::GraphWriter().