pub(crate) struct TaggedProgramInstruction {
pub(crate) span: SimpleSpan,
pub(crate) tags: Vec<Tag>,
pub(crate) instruction: UntaggedProgramInstruction,
}
Expand description
A TX-2 instruction with zero or more Tag
s.
Fields§
§span: SimpleSpan
Location in the program
Tags which point to this instruction.
instruction: UntaggedProgramInstruction
The instruction itself.
Implementations§
Source§impl TaggedProgramInstruction
impl TaggedProgramInstruction
pub(crate) fn symbol_uses( &self, block_id: BlockIdentifier, offset: Unsigned18Bit, ) -> impl Iterator<Item = Result<(SymbolName, SimpleSpan, SymbolUse), InconsistentSymbolUse>> + use<>
fn emitted_word_count(&self) -> Unsigned18Bit
pub(crate) fn substitute_macro_parameters( &self, param_values: &MacroParameterBindings, on_missing: OnUnboundMacroParameter, macros: &BTreeMap<SymbolName, MacroDefinition>, ) -> Option<TaggedProgramInstruction>
fn allocate_rc_words<R: RcAllocator>( &mut self, explicit_symtab: &mut ExplicitSymbolTable, implicit_symtab: &mut ImplicitSymbolTable, rc_allocator: &mut R, ) -> Result<(), RcWordAllocationFailure>
Trait Implementations§
Source§impl Clone for TaggedProgramInstruction
impl Clone for TaggedProgramInstruction
Source§fn clone(&self) -> TaggedProgramInstruction
fn clone(&self) -> TaggedProgramInstruction
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 TaggedProgramInstruction
impl Debug for TaggedProgramInstruction
Source§impl Evaluate for TaggedProgramInstruction
impl Evaluate for TaggedProgramInstruction
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 FromIterator<TaggedProgramInstruction> for InstructionSequence
impl FromIterator<TaggedProgramInstruction> for InstructionSequence
Source§fn from_iter<T>(iter: T) -> Selfwhere
T: IntoIterator<Item = TaggedProgramInstruction>,
fn from_iter<T>(iter: T) -> Selfwhere
T: IntoIterator<Item = TaggedProgramInstruction>,
Creates a value from an iterator. Read more
Source§impl PartialEq for TaggedProgramInstruction
impl PartialEq for TaggedProgramInstruction
impl Eq for TaggedProgramInstruction
impl StructuralPartialEq for TaggedProgramInstruction
Auto Trait Implementations§
impl Freeze for TaggedProgramInstruction
impl RefUnwindSafe for TaggedProgramInstruction
impl Send for TaggedProgramInstruction
impl Sync for TaggedProgramInstruction
impl Unpin for TaggedProgramInstruction
impl UnwindSafe for TaggedProgramInstruction
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
].