Struct rustc::cfg::construct::CFGBuilder [−][src]
struct CFGBuilder<'a, 'tcx: 'a> { tcx: TyCtxt<'a, 'tcx, 'tcx>, owner_def_id: DefId, tables: &'a TypeckTables<'tcx>, graph: CFGGraph, fn_exit: CFGIndex, loop_scopes: Vec<LoopScope>, breakable_block_scopes: Vec<BlockScope>, }
🔬 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
tcx: TyCtxt<'a, 'tcx, '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?
owner_def_id: DefId
🔬 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?
tables: &'a TypeckTables<'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?
graph: CFGGraph
🔬 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_exit: CFGIndex
🔬 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?
loop_scopes: Vec<LoopScope>
🔬 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?
breakable_block_scopes: Vec<BlockScope>
🔬 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> CFGBuilder<'a, 'tcx>
[src]
impl<'a, 'tcx> CFGBuilder<'a, 'tcx>
fn block(&mut self, blk: &Block, pred: CFGIndex) -> CFGIndex
[src]
fn block(&mut self, blk: &Block, pred: CFGIndex) -> CFGIndex
🔬 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 stmt(&mut self, stmt: &Stmt, pred: CFGIndex) -> CFGIndex
[src]
fn stmt(&mut self, stmt: &Stmt, pred: CFGIndex) -> CFGIndex
🔬 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 decl(&mut self, decl: &Decl, pred: CFGIndex) -> CFGIndex
[src]
fn decl(&mut self, decl: &Decl, pred: CFGIndex) -> CFGIndex
🔬 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 pat(&mut self, pat: &Pat, pred: CFGIndex) -> CFGIndex
[src]
fn pat(&mut self, pat: &Pat, pred: CFGIndex) -> CFGIndex
🔬 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 pats_all<'b, I: Iterator<Item = &'b P<Pat>>>(
&mut self,
pats: I,
pred: CFGIndex
) -> CFGIndex
[src]
fn pats_all<'b, I: Iterator<Item = &'b P<Pat>>>(
&mut self,
pats: I,
pred: CFGIndex
) -> CFGIndex
🔬 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?
Handles case where all of the patterns must match.
fn expr(&mut self, expr: &Expr, pred: CFGIndex) -> CFGIndex
[src]
fn expr(&mut self, expr: &Expr, pred: CFGIndex) -> CFGIndex
🔬 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 call<'b, I: Iterator<Item = &'b Expr>>(
&mut self,
call_expr: &Expr,
pred: CFGIndex,
func_or_rcvr: &Expr,
args: I
) -> CFGIndex
[src]
fn call<'b, I: Iterator<Item = &'b Expr>>(
&mut self,
call_expr: &Expr,
pred: CFGIndex,
func_or_rcvr: &Expr,
args: I
) -> CFGIndex
🔬 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 exprs<'b, I: Iterator<Item = &'b Expr>>(
&mut self,
exprs: I,
pred: CFGIndex
) -> CFGIndex
[src]
fn exprs<'b, I: Iterator<Item = &'b Expr>>(
&mut self,
exprs: I,
pred: CFGIndex
) -> CFGIndex
🔬 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?
Constructs graph for exprs
evaluated in order
fn opt_expr(&mut self, opt_expr: &Option<P<Expr>>, pred: CFGIndex) -> CFGIndex
[src]
fn opt_expr(&mut self, opt_expr: &Option<P<Expr>>, pred: CFGIndex) -> CFGIndex
🔬 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?
Constructs graph for opt_expr
evaluated, if Some
fn straightline<'b, I: Iterator<Item = &'b Expr>>(
&mut self,
expr: &Expr,
pred: CFGIndex,
subexprs: I
) -> CFGIndex
[src]
fn straightline<'b, I: Iterator<Item = &'b Expr>>(
&mut self,
expr: &Expr,
pred: CFGIndex,
subexprs: I
) -> CFGIndex
🔬 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?
Handles case of an expression that evaluates subexprs
in order
fn match_(
&mut self,
id: ItemLocalId,
discr: &Expr,
arms: &[Arm],
pred: CFGIndex
) -> CFGIndex
[src]
fn match_(
&mut self,
id: ItemLocalId,
discr: &Expr,
arms: &[Arm],
pred: CFGIndex
) -> CFGIndex
🔬 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 add_dummy_node(&mut self, preds: &[CFGIndex]) -> CFGIndex
[src]
fn add_dummy_node(&mut self, preds: &[CFGIndex]) -> CFGIndex
🔬 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 add_ast_node(&mut self, id: ItemLocalId, preds: &[CFGIndex]) -> CFGIndex
[src]
fn add_ast_node(&mut self, id: ItemLocalId, preds: &[CFGIndex]) -> CFGIndex
🔬 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 add_unreachable_node(&mut self) -> CFGIndex
[src]
fn add_unreachable_node(&mut self) -> CFGIndex
🔬 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 add_node(&mut self, data: CFGNodeData, preds: &[CFGIndex]) -> CFGIndex
[src]
fn add_node(&mut self, data: CFGNodeData, preds: &[CFGIndex]) -> CFGIndex
🔬 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 add_contained_edge(&mut self, source: CFGIndex, target: CFGIndex)
[src]
fn add_contained_edge(&mut self, source: CFGIndex, target: CFGIndex)
🔬 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 add_exiting_edge(
&mut self,
from_expr: &Expr,
from_index: CFGIndex,
target_scope: Scope,
to_index: CFGIndex
)
[src]
fn add_exiting_edge(
&mut self,
from_expr: &Expr,
from_index: CFGIndex,
target_scope: Scope,
to_index: CFGIndex
)
🔬 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 add_returning_edge(&mut self, _from_expr: &Expr, from_index: CFGIndex)
[src]
fn add_returning_edge(&mut self, _from_expr: &Expr, from_index: CFGIndex)
🔬 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 find_scope_edge(
&self,
expr: &Expr,
destination: Destination,
scope_cf_kind: ScopeCfKind
) -> (Scope, CFGIndex)
[src]
fn find_scope_edge(
&self,
expr: &Expr,
destination: Destination,
scope_cf_kind: ScopeCfKind
) -> (Scope, CFGIndex)
🔬 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?
Auto Trait Implementations
impl<'a, 'tcx> !Send for CFGBuilder<'a, 'tcx>
impl<'a, 'tcx> !Send for CFGBuilder<'a, 'tcx>
impl<'a, 'tcx> !Sync for CFGBuilder<'a, 'tcx>
impl<'a, 'tcx> !Sync for CFGBuilder<'a, 'tcx>