Enum bytecode::access_path::Root
source · pub enum Root {
Global(GlobalKey),
Formal(TempIndex),
Local(TempIndex),
Return(usize),
}Expand description
Root of an access path: a global, local, or return variable
Variants§
Global(GlobalKey)
A key in global storage
Formal(TempIndex)
A formal parameter
Local(TempIndex)
A local variable
Return(usize)
A return variable
Implementations§
source§impl Root
impl Root
sourcepub fn from_index(index: TempIndex, fun: &FunctionEnv<'_>) -> Self
pub fn from_index(index: TempIndex, fun: &FunctionEnv<'_>) -> Self
Create a Root from local index index
sourcepub fn get_type(&self, fun: &FunctionEnv<'_>) -> Type
pub fn get_type(&self, fun: &FunctionEnv<'_>) -> Type
Return the type of self in fun
sourcepub fn is_statically_known(&self) -> bool
pub fn is_statically_known(&self) -> bool
Return true if self can be determined statically
sourcepub fn substitute_footprint(
&mut self,
actuals: &[TempIndex],
type_actuals: &[Type],
func_env: &FunctionEnv<'_>,
sub_map: &dyn AccessPathMap<AbsAddr>
)
pub fn substitute_footprint( &mut self, actuals: &[TempIndex], type_actuals: &[Type], func_env: &FunctionEnv<'_>, sub_map: &dyn AccessPathMap<AbsAddr> )
Replace all footprint paths in self using actuals and sub_map.
Bind free type variables to type_actuals.
sourcepub fn display<'a>(&'a self, env: &'a FunctionEnv<'_>) -> RootDisplay<'a>
pub fn display<'a>(&'a self, env: &'a FunctionEnv<'_>) -> RootDisplay<'a>
Return a wrapper of self that implements Display using env
Trait Implementations§
source§impl Ord for Root
impl Ord for Root
source§impl PartialEq<Root> for Root
impl PartialEq<Root> for Root
source§impl PartialOrd<Root> for Root
impl PartialOrd<Root> for Root
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self and other) and is used by the <=
operator. Read moreimpl Eq for Root
impl StructuralEq for Root
impl StructuralPartialEq for Root
Auto Trait Implementations§
impl RefUnwindSafe for Root
impl Send for Root
impl Sync for Root
impl Unpin for Root
impl UnwindSafe for Root
Blanket Implementations§
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.