Struct bytecode::access_path::GlobalKey
source · pub struct GlobalKey { /* private fields */ }
Expand description
Abstraction of a key of type addr
::ty
in global storage
Implementations§
source§impl GlobalKey
impl GlobalKey
pub fn new(addr: AbsAddr, mid: &ModuleId, sid: StructId, types: Vec<Type>) -> Self
sourcepub fn constant(addr: BigUint, ty: AbsStructType) -> Self
pub fn constant(addr: BigUint, ty: AbsStructType) -> Self
Create a constant GlobalKey
using constant addr
and type ty
sourcepub fn struct_type(&self) -> &AbsStructType
pub fn struct_type(&self) -> &AbsStructType
Return the abstract struct type associated with self
sourcepub fn is_statically_known(&self) -> bool
pub fn is_statically_known(&self) -> bool
Return true if the address and type parameters of this global key are known 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> )
Substitute all occurences of Footprint(ap) in self.addr
by resolving the accesss path
ap
in sub_map
.
sourcepub fn display<'a>(&'a self, env: &'a FunctionEnv<'_>) -> GlobalKeyDisplay<'a>
pub fn display<'a>(&'a self, env: &'a FunctionEnv<'_>) -> GlobalKeyDisplay<'a>
Return a wrapper of self
that implements Display
using env
Trait Implementations§
source§impl Ord for GlobalKey
impl Ord for GlobalKey
source§impl PartialEq<GlobalKey> for GlobalKey
impl PartialEq<GlobalKey> for GlobalKey
source§impl PartialOrd<GlobalKey> for GlobalKey
impl PartialOrd<GlobalKey> for GlobalKey
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 GlobalKey
impl StructuralEq for GlobalKey
impl StructuralPartialEq for GlobalKey
Auto Trait Implementations§
impl RefUnwindSafe for GlobalKey
impl Send for GlobalKey
impl Sync for GlobalKey
impl Unpin for GlobalKey
impl UnwindSafe for GlobalKey
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.