pub(crate) enum RegisterContaining {
Unallocated(Box<TaggedProgramInstruction>),
Allocated(Address, Box<TaggedProgramInstruction>),
}Expand description
An RC-word.
See section 6-2.6 (“RC WORDS - RC BLOCK”).
Section 6-4.7 (“Use of Macro Instructions”) states that macro expansion may occur inside an RC-word (and expand to more than one word in the output binary) but this is not yet supported.
Variants§
Unallocated(Box<TaggedProgramInstruction>)
Allocated(Address, Box<TaggedProgramInstruction>)
Implementations§
Source§impl RegisterContaining
impl RegisterContaining
fn instruction(&self) -> &TaggedProgramInstruction
fn symbol_uses( &self, block_id: BlockIdentifier, block_offset: Unsigned18Bit, ) -> impl Iterator<Item = Result<(SymbolName, SimpleSpan, SymbolUse), InconsistentSymbolUse>> + use<'_>
fn substitute_macro_parameters( &self, param_values: &MacroParameterBindings, on_missing: OnUnboundMacroParameter, macros: &BTreeMap<SymbolName, MacroDefinition>, ) -> Option<RegisterContaining>
fn assign_rc_word<R: RcAllocator>( self, source: RcWordSource, explicit_symtab: &mut ExplicitSymbolTable, implicit_symtab: &mut ImplicitSymbolTable, rc_allocator: &mut R, ) -> Result<RegisterContaining, RcWordAllocationFailure>
Trait Implementations§
Source§impl Clone for RegisterContaining
impl Clone for RegisterContaining
Source§fn clone(&self) -> RegisterContaining
fn clone(&self) -> RegisterContaining
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 RegisterContaining
impl Debug for RegisterContaining
Source§impl Evaluate for RegisterContaining
impl Evaluate for RegisterContaining
fn evaluate<R: RcUpdater>( &self, ctx: &mut EvaluationContext<'_, R>, scope: ScopeIdentifier, ) -> Result<Unsigned36Bit, EvaluationFailure>
Source§impl From<TaggedProgramInstruction> for RegisterContaining
impl From<TaggedProgramInstruction> for RegisterContaining
Source§fn from(inst: TaggedProgramInstruction) -> Self
fn from(inst: TaggedProgramInstruction) -> Self
Converts to this type from the input type.
Source§impl PartialEq for RegisterContaining
impl PartialEq for RegisterContaining
impl Eq for RegisterContaining
impl StructuralPartialEq for RegisterContaining
Auto Trait Implementations§
impl Freeze for RegisterContaining
impl RefUnwindSafe for RegisterContaining
impl Send for RegisterContaining
impl Sync for RegisterContaining
impl Unpin for RegisterContaining
impl UnwindSafe for RegisterContaining
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].