pub enum ReferenceExpressionOpcode<'a> {
RefOf(SuperName<'a>),
Deref(TermArg<'a>),
Index {
source: TermArg<'a>,
index: TermArg<'a>,
result: Target<'a>,
},
Invoke(NameString, Vec<TermArg<'a>>),
}
Expand description
Terminal operation that evaluates to a reference.
Variants§
RefOf(SuperName<'a>)
Create a reference to the given name
Deref(TermArg<'a>)
Get the target of a reference
Index
Create a reference to an index within a buffer
Invoke(NameString, Vec<TermArg<'a>>)
Execute a control method
Trait Implementations§
Source§impl<'a> Clone for ReferenceExpressionOpcode<'a>
impl<'a> Clone for ReferenceExpressionOpcode<'a>
Source§fn clone(&self) -> ReferenceExpressionOpcode<'a>
fn clone(&self) -> ReferenceExpressionOpcode<'a>
Returns a copy 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<'a> Debug for ReferenceExpressionOpcode<'a>
impl<'a> Debug for ReferenceExpressionOpcode<'a>
Source§impl<'a> From<ReferenceExpressionOpcode<'a>> for ExpressionOpcode<'a>
impl<'a> From<ReferenceExpressionOpcode<'a>> for ExpressionOpcode<'a>
Source§fn from(r: ReferenceExpressionOpcode<'a>) -> ExpressionOpcode<'a>
fn from(r: ReferenceExpressionOpcode<'a>) -> ExpressionOpcode<'a>
Converts to this type from the input type.
Source§impl<'a> From<ReferenceExpressionOpcode<'a>> for SuperName<'a>
impl<'a> From<ReferenceExpressionOpcode<'a>> for SuperName<'a>
Source§fn from(r: ReferenceExpressionOpcode<'a>) -> SuperName<'a>
fn from(r: ReferenceExpressionOpcode<'a>) -> SuperName<'a>
Converts to this type from the input type.
Source§impl<'a> From<ReferenceExpressionOpcode<'a>> for TermArg<'a>
impl<'a> From<ReferenceExpressionOpcode<'a>> for TermArg<'a>
Source§fn from(r: ReferenceExpressionOpcode<'a>) -> TermArg<'a>
fn from(r: ReferenceExpressionOpcode<'a>) -> TermArg<'a>
Converts to this type from the input type.
Source§impl<'a> From<ReferenceExpressionOpcode<'a>> for TermObject<'a>
impl<'a> From<ReferenceExpressionOpcode<'a>> for TermObject<'a>
Source§fn from(r: ReferenceExpressionOpcode<'a>) -> TermObject<'a>
fn from(r: ReferenceExpressionOpcode<'a>) -> TermObject<'a>
Converts to this type from the input type.
Source§impl<'a> Parse<'a> for ReferenceExpressionOpcode<'a>
Grammar:
impl<'a> Parse<'a> for ReferenceExpressionOpcode<'a>
Grammar:
Type6Opcode := DefRefOf | DefDerefOf | DefIndex | ??UserTermObj
An explanation in the ASL grammar seems to indicate that UserTermObj
is
synonymous with MethodInvocation
.
Source§fn parse<E: AMLParseError<'a>>(
i: ParserState<'a>,
) -> AMLParseResult<'a, Self, E>
fn parse<E: AMLParseError<'a>>( i: ParserState<'a>, ) -> AMLParseResult<'a, Self, E>
Try to parse an object of this type from the given input and state. Read more
Source§impl<'a> PartialEq for ReferenceExpressionOpcode<'a>
impl<'a> PartialEq for ReferenceExpressionOpcode<'a>
Source§fn eq(&self, other: &ReferenceExpressionOpcode<'a>) -> bool
fn eq(&self, other: &ReferenceExpressionOpcode<'a>) -> bool
Tests for
self
and other
values to be equal, and is used by ==
.impl<'a> Eq for ReferenceExpressionOpcode<'a>
impl<'a> StructuralPartialEq for ReferenceExpressionOpcode<'a>
Auto Trait Implementations§
impl<'a> Freeze for ReferenceExpressionOpcode<'a>
impl<'a> RefUnwindSafe for ReferenceExpressionOpcode<'a>
impl<'a> Send for ReferenceExpressionOpcode<'a>
impl<'a> Sync for ReferenceExpressionOpcode<'a>
impl<'a> Unpin for ReferenceExpressionOpcode<'a>
impl<'a> UnwindSafe for ReferenceExpressionOpcode<'a>
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