Struct rustc_mir::dataflow::graphviz::Graph [−][src]
struct Graph<'a, 'tcx, MWF: 'a, P> where
MWF: MirWithFlowState<'tcx>, { mbcx: &'a MWF, phantom: PhantomData<&'tcx ()>, render_idx: P, }
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Fields
mbcx: &'a MWF
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
phantom: PhantomData<&'tcx ()>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
render_idx: P
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Methods
impl<'a, 'tcx, MWF, P> Graph<'a, 'tcx, MWF, P> where
MWF: MirWithFlowState<'tcx>,
P: Fn(&MWF::BD, <MWF::BD as BitDenotation>::Idx) -> DebugFormatted,
[src]
impl<'a, 'tcx, MWF, P> Graph<'a, 'tcx, MWF, P> where
MWF: MirWithFlowState<'tcx>,
P: Fn(&MWF::BD, <MWF::BD as BitDenotation>::Idx) -> DebugFormatted,
fn node_label_internal<W: Write>(
&self,
n: &BasicBlock,
w: &mut W,
block: BasicBlock,
mir: &Mir
) -> Result<()>
[src]
fn node_label_internal<W: Write>(
&self,
n: &BasicBlock,
w: &mut W,
block: BasicBlock,
mir: &Mir
) -> Result<()>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Generate the node label
fn node_label_verbose_row<W: Write>(
&self,
n: &BasicBlock,
w: &mut W,
block: BasicBlock,
mir: &Mir
) -> Result<()>
[src]
fn node_label_verbose_row<W: Write>(
&self,
n: &BasicBlock,
w: &mut W,
block: BasicBlock,
mir: &Mir
) -> Result<()>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Build the verbose row: full MIR data, and detailed gen/kill/entry sets
fn node_label_final_row<W: Write>(
&self,
n: &BasicBlock,
w: &mut W,
block: BasicBlock,
mir: &Mir
) -> Result<()>
[src]
fn node_label_final_row<W: Write>(
&self,
n: &BasicBlock,
w: &mut W,
block: BasicBlock,
mir: &Mir
) -> Result<()>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Build the summary row: terminator, gen/kill/entry bit sets
Trait Implementations
impl<'a, 'tcx, MWF, P> Labeller<'a> for Graph<'a, 'tcx, MWF, P> where
MWF: MirWithFlowState<'tcx>,
P: Fn(&MWF::BD, <MWF::BD as BitDenotation>::Idx) -> DebugFormatted,
[src]
impl<'a, 'tcx, MWF, P> Labeller<'a> for Graph<'a, 'tcx, MWF, P> where
MWF: MirWithFlowState<'tcx>,
P: Fn(&MWF::BD, <MWF::BD as BitDenotation>::Idx) -> DebugFormatted,
type Node = BasicBlock
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
type Edge = Edge
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn graph_id(&self) -> Id
[src]
fn graph_id(&self) -> Id
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Must return a DOT compatible identifier naming the graph.
fn node_id(&self, n: &BasicBlock) -> Id
[src]
fn node_id(&self, n: &BasicBlock) -> Id
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Maps n
to a unique identifier with respect to self
. The implementor is responsible for ensuring that the returned name is a valid DOT identifier. Read more
fn node_label(&self, n: &BasicBlock) -> LabelText
[src]
fn node_label(&self, n: &BasicBlock) -> LabelText
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Maps n
to a label that will be used in the rendered output. The label need not be unique, and may be the empty string; the default is just the output from node_id
. Read more
fn node_shape(&self, _n: &BasicBlock) -> Option<LabelText>
[src]
fn node_shape(&self, _n: &BasicBlock) -> Option<LabelText>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Maps n
to one of the [graphviz shape
names][1]. If None
is returned, no shape
attribute is specified. Read more
fn edge_label(&'a self, e: &Edge) -> LabelText<'a>
[src]
fn edge_label(&'a self, e: &Edge) -> LabelText<'a>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Maps e
to a label that will be used in the rendered output. The label need not be unique, and may be the empty string; the default is in fact the empty string. Read more
fn node_style(&'a self, _n: &Self::Node) -> Style
[src]
fn node_style(&'a self, _n: &Self::Node) -> Style
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Maps n
to a style that will be used in the rendered output.
fn edge_style(&'a self, _e: &Self::Edge) -> Style
[src]
fn edge_style(&'a self, _e: &Self::Edge) -> Style
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Maps e
to a style that will be used in the rendered output.
impl<'a, 'tcx, MWF, P> GraphWalk<'a> for Graph<'a, 'tcx, MWF, P> where
MWF: MirWithFlowState<'tcx>,
[src]
impl<'a, 'tcx, MWF, P> GraphWalk<'a> for Graph<'a, 'tcx, MWF, P> where
MWF: MirWithFlowState<'tcx>,
type Node = BasicBlock
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
type Edge = Edge
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn nodes(&self) -> Nodes<BasicBlock>
[src]
fn nodes(&self) -> Nodes<BasicBlock>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Returns all the nodes in this graph.
fn edges(&self) -> Edges<Edge>
[src]
fn edges(&self) -> Edges<Edge>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Returns all of the edges in this graph.
fn source(&self, edge: &Edge) -> BasicBlock
[src]
fn source(&self, edge: &Edge) -> BasicBlock
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
The source node for edge
.
fn target(&self, edge: &Edge) -> BasicBlock
[src]
fn target(&self, edge: &Edge) -> BasicBlock
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
The target node for edge
.