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.