Struct rustc_middle::mir::generic_graphviz::GraphvizWriter [−][src]
pub struct GraphvizWriter<'a, G: DirectedGraph + WithSuccessors + WithStartNode + WithNumNodes, NodeContentFn: Fn(<G as DirectedGraph>::Node) -> Vec<String>, EdgeLabelsFn: Fn(<G as DirectedGraph>::Node) -> Vec<String>> {
graph: &'a G,
is_subgraph: bool,
graphviz_name: String,
graph_label: Option<String>,
node_content_fn: NodeContentFn,
edge_labels_fn: EdgeLabelsFn,
}
Fields
graph: &'a G
is_subgraph: bool
graphviz_name: String
graph_label: Option<String>
node_content_fn: NodeContentFn
edge_labels_fn: EdgeLabelsFn
Implementations
impl<'a, G: DirectedGraph + WithSuccessors + WithStartNode + WithNumNodes, NodeContentFn: Fn(<G as DirectedGraph>::Node) -> Vec<String>, EdgeLabelsFn: Fn(<G as DirectedGraph>::Node) -> Vec<String>> GraphvizWriter<'a, G, NodeContentFn, EdgeLabelsFn>
impl<'a, G: DirectedGraph + WithSuccessors + WithStartNode + WithNumNodes, NodeContentFn: Fn(<G as DirectedGraph>::Node) -> Vec<String>, EdgeLabelsFn: Fn(<G as DirectedGraph>::Node) -> Vec<String>> GraphvizWriter<'a, G, NodeContentFn, EdgeLabelsFn>
pub fn new(
graph: &'a G,
graphviz_name: &str,
node_content_fn: NodeContentFn,
edge_labels_fn: EdgeLabelsFn
) -> Self
Write a graphviz DOT of the graph
Write a graphviz DOT node for the given node.
Write graphviz DOT edges with labels between the given node and all of its successors.
Write the graphviz DOT label for the overall graph. This is essentially a block of text that will appear below the graph.
Auto Trait Implementations
impl<'a, G, NodeContentFn, EdgeLabelsFn> RefUnwindSafe for GraphvizWriter<'a, G, NodeContentFn, EdgeLabelsFn> where
EdgeLabelsFn: RefUnwindSafe,
G: RefUnwindSafe,
NodeContentFn: RefUnwindSafe,
impl<'a, G, NodeContentFn, EdgeLabelsFn> Send for GraphvizWriter<'a, G, NodeContentFn, EdgeLabelsFn> where
EdgeLabelsFn: Send,
G: Sync,
NodeContentFn: Send,
impl<'a, G, NodeContentFn, EdgeLabelsFn> Sync for GraphvizWriter<'a, G, NodeContentFn, EdgeLabelsFn> where
EdgeLabelsFn: Sync,
G: Sync,
NodeContentFn: Sync,
impl<'a, G, NodeContentFn, EdgeLabelsFn> Unpin for GraphvizWriter<'a, G, NodeContentFn, EdgeLabelsFn> where
EdgeLabelsFn: Unpin,
NodeContentFn: Unpin,
impl<'a, G, NodeContentFn, EdgeLabelsFn> UnwindSafe for GraphvizWriter<'a, G, NodeContentFn, EdgeLabelsFn> where
EdgeLabelsFn: UnwindSafe,
G: RefUnwindSafe,
NodeContentFn: UnwindSafe,
Blanket Implementations
Layout
Note: Unable to compute type layout, possibly due to this type having generic parameters. Layout can only be computed for concrete, fully-instantiated types.