Struct cranelift_isle::sema::TermEnv
source · [−]pub struct TermEnv {
pub terms: Vec<Term>,
pub term_map: BTreeMap<Sym, TermId>,
pub rules: Vec<Rule>,
}
Expand description
The term environment.
This is sort of a typed and reorganized AST that more directly reflects ISLE semantics than the input ISLE source code (where as the AST is the opposite).
Fields
terms: Vec<Term>
Arena of interned terms defined in this ISLE program.
This is indexed by TermId
.
term_map: BTreeMap<Sym, TermId>
A map from am interned Term
’s name to its TermId
.
rules: Vec<Rule>
Arena of interned rules defined in this ISLE program.
This is indexed by RuleId
.
Implementations
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for TermEnv
impl Send for TermEnv
impl Sync for TermEnv
impl Unpin for TermEnv
impl UnwindSafe for TermEnv
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
🔬 This is a nightly-only experimental API. (
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more