Trait rustc_smir::stable_mir::Context
source · pub trait Context {
// Required methods
fn entry_fn(&mut self) -> Option<CrateItem>;
fn all_local_items(&mut self) -> CrateItems;
fn mir_body(&mut self, item: &CrateItem) -> Body;
fn local_crate(&self) -> Crate;
fn external_crates(&self) -> Vec<Crate>;
fn find_crate(&self, name: &str) -> Option<Crate>;
fn ty_kind(&mut self, ty: Ty) -> TyKind;
fn rustc_tables(&mut self, f: &mut dyn FnMut(&mut Tables<'_>));
}Required Methods§
fn entry_fn(&mut self) -> Option<CrateItem>
sourcefn all_local_items(&mut self) -> CrateItems
fn all_local_items(&mut self) -> CrateItems
Retrieve all items of the local crate that have a MIR associated with them.
fn mir_body(&mut self, item: &CrateItem) -> Body
sourcefn local_crate(&self) -> Crate
fn local_crate(&self) -> Crate
Get information about the local crate.
sourcefn external_crates(&self) -> Vec<Crate>
fn external_crates(&self) -> Vec<Crate>
Retrieve a list of all external crates.
sourcefn find_crate(&self, name: &str) -> Option<Crate>
fn find_crate(&self, name: &str) -> Option<Crate>
Find a crate with the given name.
sourcefn rustc_tables(&mut self, f: &mut dyn FnMut(&mut Tables<'_>))
fn rustc_tables(&mut self, f: &mut dyn FnMut(&mut Tables<'_>))
HACK: Until we have fully stable consumers, we need an escape hatch
to get DefIds out of CrateItems.