pub enum Operation {
Show 17 variants
Sequence {
items: Vec<Operation>,
},
CallFunction {
name: Symbol,
input: Vec<Operation>,
},
GetVariable {
kind: VariableKind,
variable: Symbol,
},
SetVariable {
kind: VariableKind,
variable: Symbol,
},
TeeVariable {
variable: Symbol,
},
Loop {
continue: Symbol,
break: Symbol,
body: Vec<Operation>,
},
Goto {
label: Symbol,
},
Drop,
Return,
Unreachable,
Conditional {
condition: Vec<Operation>,
then: Vec<Operation>,
else: Vec<Operation>,
},
Constant {
value: NyarValue,
},
NativeSum {
native: NyarType,
terms: Vec<Operation>,
},
Convert {
from: NyarType,
into: NyarType,
code: Vec<Operation>,
},
Transmute {
from: NyarType,
into: NyarType,
code: Vec<Operation>,
},
NativeEqual {
native: NyarType,
terms: Vec<Operation>,
},
NativeEqualZero {
native: NyarType,
term: Box<Operation>,
},
}
Variants§
Sequence
CallFunction
GetVariable
SetVariable
TeeVariable
Loop
Goto
Drop
Return
Unreachable
Conditional
if cond { } { }
Constant
NativeSum
Convert
Transmute
NativeEqual
NativeEqualZero
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl RefUnwindSafe for Operation
impl Send for Operation
impl Sync for Operation
impl Unpin for Operation
impl UnwindSafe for Operation
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