pub enum StatementOpcode<'a> {
Show 15 variants
Break,
BreakPoint,
Continue,
Fatal {
fatal_type: u8,
code: u32,
arg: TermArg<'a>,
},
If {
predicate: TermArg<'a>,
if_true: Vec<TermObject<'a>>,
if_false: Vec<TermObject<'a>>,
},
Load {
name: NameString,
definition_block_handle: SuperName<'a>,
},
NoOp,
Notify {
device_or_zone: SuperName<'a>,
value: TermArg<'a>,
},
Release {
mutex: SuperName<'a>,
},
Reset {
event: SuperName<'a>,
},
Return(TermArg<'a>),
Signal {
event: SuperName<'a>,
},
Sleep {
milliseconds: TermArg<'a>,
},
Stall {
microseconds: TermArg<'a>,
},
While {
predicate: TermArg<'a>,
body: Vec<TermObject<'a>>,
},
}
Expand description
Terminal operation that does not evaluate to a value, a.k.a. “Type 1 Opcode.”
Variants§
Break
Break from a loop
BreakPoint
Trigger a debugger breakpoint
Continue
Continue to the next loop iteration
Fatal
Signal an error that requires a system shutdown
If
Branch on a predicate
Load
Load a dynamically-generated SSDT from a field, region, or buffer
NoOp
Do nothing
Notify
Send a signal value to a device/processor/zone
Release
Release a held mutex
Reset
Clear the signalled state of an event object
Return(TermArg<'a>)
Exit the current method and yield the given value to the caller
Signal
Signal to one thread waiting on the event
Sleep
Delay for at least the given milliseconds, releasing the processor
Stall
Delay for at least the given microseconds, but do not release the processor
While
Execute a series of statements as long as the predicate is true
Trait Implementations§
Source§impl<'a> Clone for StatementOpcode<'a>
impl<'a> Clone for StatementOpcode<'a>
Source§fn clone(&self) -> StatementOpcode<'a>
fn clone(&self) -> StatementOpcode<'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 StatementOpcode<'a>
impl<'a> Debug for StatementOpcode<'a>
Source§impl<'a> From<StatementOpcode<'a>> for TermObject<'a>
impl<'a> From<StatementOpcode<'a>> for TermObject<'a>
Source§fn from(s: StatementOpcode<'a>) -> TermObject<'a>
fn from(s: StatementOpcode<'a>) -> TermObject<'a>
Converts to this type from the input type.
Source§impl<'a> Parse<'a> for StatementOpcode<'a>
Grammar:
impl<'a> Parse<'a> for StatementOpcode<'a>
Grammar:
Type1Opcode := DefBreak | DefBreakPoint | DefContinue | DefFatal | DefIfElse |
DefLoad | DefNoop | DefNotify | DefRelease | DefReset | DefReturn |
DefSignal | DefSleep | DefStall | DefWhile
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 StatementOpcode<'a>
impl<'a> PartialEq for StatementOpcode<'a>
impl<'a> Eq for StatementOpcode<'a>
impl<'a> StructuralPartialEq for StatementOpcode<'a>
Auto Trait Implementations§
impl<'a> Freeze for StatementOpcode<'a>
impl<'a> RefUnwindSafe for StatementOpcode<'a>
impl<'a> Send for StatementOpcode<'a>
impl<'a> Sync for StatementOpcode<'a>
impl<'a> Unpin for StatementOpcode<'a>
impl<'a> UnwindSafe for StatementOpcode<'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