pub(crate) struct ImplicitSymbolTable {
definitions: BTreeMap<SymbolName, ImplicitDefinition>,
}
Expand description
Implicit definitions (e.g. index, configuration and address values), including information about the usage of symbols for which we have not yet assigned a default value.
The rules for how symbols which have references but no explicit definition are assigned values are indicated in “Unassigned Symexes” in section 6-2.2 of the User Handbook.
Fields§
§definitions: BTreeMap<SymbolName, ImplicitDefinition>
Implementations§
Source§impl ImplicitSymbolTable
impl ImplicitSymbolTable
pub(crate) fn symbols(&self) -> impl Iterator<Item = &SymbolName>
pub(crate) fn get(&self, name: &SymbolName) -> Option<&ImplicitDefinition>
pub(crate) fn get_mut( &mut self, name: &SymbolName, ) -> Option<&mut ImplicitDefinition>
pub(crate) fn remove(&mut self, name: &SymbolName) -> Option<ImplicitDefinition>
pub(crate) fn record_usage_context( &mut self, name: &SymbolName, context: &SymbolContext, ) -> Result<(), InconsistentSymbolUse>
pub(crate) fn record_deduced_origin_value( &mut self, name: &SymbolName, value: Address, block_id: BlockIdentifier, span: SimpleSpan, ) -> Result<(), InconsistentSymbolUse>
Trait Implementations§
Source§impl Clone for ImplicitSymbolTable
impl Clone for ImplicitSymbolTable
Source§fn clone(&self) -> ImplicitSymbolTable
fn clone(&self) -> ImplicitSymbolTable
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for ImplicitSymbolTable
impl Debug for ImplicitSymbolTable
Source§impl Default for ImplicitSymbolTable
impl Default for ImplicitSymbolTable
Source§fn default() -> ImplicitSymbolTable
fn default() -> ImplicitSymbolTable
Returns the “default value” for a type. Read more
Source§impl PartialEq for ImplicitSymbolTable
impl PartialEq for ImplicitSymbolTable
impl Eq for ImplicitSymbolTable
impl StructuralPartialEq for ImplicitSymbolTable
Auto Trait Implementations§
impl Freeze for ImplicitSymbolTable
impl RefUnwindSafe for ImplicitSymbolTable
impl Send for ImplicitSymbolTable
impl Sync for ImplicitSymbolTable
impl Unpin for ImplicitSymbolTable
impl UnwindSafe for ImplicitSymbolTable
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<'src, T> IntoMaybe<'src, T> for Twhere
T: 'src,
impl<'src, T> IntoMaybe<'src, T> for Twhere
T: 'src,
§impl<'p, T> Seq<'p, T> for Twhere
T: Clone,
impl<'p, T> Seq<'p, T> for Twhere
T: Clone,
§type Iter<'a> = Once<&'a T>
where
T: 'a
type Iter<'a> = Once<&'a T> where T: 'a
An iterator over the items within this container, by reference.
§fn contains(&self, val: &T) -> boolwhere
T: PartialEq,
fn contains(&self, val: &T) -> boolwhere
T: PartialEq,
Check whether an item is contained within this sequence.
§fn to_maybe_ref<'b>(item: <T as Seq<'p, T>>::Item<'b>) -> Maybe<T, &'p T>where
'p: 'b,
fn to_maybe_ref<'b>(item: <T as Seq<'p, T>>::Item<'b>) -> Maybe<T, &'p T>where
'p: 'b,
Convert an item of the sequence into a [
MaybeRef
].