[−][src]Struct rustc_mir::util::generic_graphviz::GraphvizWriter

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 Gis_subgraph: boolgraphviz_name: Stringgraph_label: Option<String>node_content_fn: NodeContentFnedge_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>[src]

pub fn new(
    graph: &'a G,
    graphviz_name: &str,
    node_content_fn: NodeContentFn,
    edge_labels_fn: EdgeLabelsFn
) -> Self
[src]

pub fn new_subgraph(
    graph: &'a G,
    graphviz_name: &str,
    node_content_fn: NodeContentFn,
    edge_labels_fn: EdgeLabelsFn
) -> Self
[src]

pub fn set_graph_label(&mut self, graph_label: &str)[src]

pub fn write_graphviz<'tcx, W>(
    &self,
    tcx: TyCtxt<'tcx>,
    w: &mut W
) -> Result<()> where
    W: Write, 
[src]

Write a graphviz DOT of the graph

pub fn write_node<W>(
    &self,
    node: G::Node,
    dark_mode: bool,
    w: &mut W
) -> Result<()> where
    W: Write, 
[src]

Write a graphviz DOT node for the given node.

pub(in util::generic_graphviz) fn write_edges<W>(
    &self,
    source: G::Node,
    w: &mut W
) -> Result<()> where
    W: Write, 
[src]

Write graphviz DOT edges with labels between the given node and all of its successors.

pub(in util::generic_graphviz) fn write_graph_label<W>(
    &self,
    label: &str,
    w: &mut W
) -> Result<()> where
    W: Write, 
[src]

Write the graphviz DOT label for the overall graph. This is essentially a block of text that will appear below the graph.

pub(in util::generic_graphviz) fn node(
    &self,
    node: G::Node
) -> String
[src]

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

impl<T> Any for T where
    T: 'static + ?Sized, 
[src]

impl<T> Borrow<T> for T where
    T: ?Sized, 
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized, 
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> WithConstness for T[src]