pub enum CompiledRynaExpr {
Show 108 variants
Empty,
Bool(bool),
Int(Integer),
Float(f64),
Str(String),
Array(usize, Type),
Lambda(usize, usize, Type, Type),
Construct(usize, usize, Vec<Type>),
AttributeAssign(usize),
AttributeMove(usize),
AttributeRef(usize),
AttributeMut(usize),
AttributeCopy(usize),
AttributeDeref(usize),
Tuple(usize),
TupleElemMove(usize),
TupleElemRef(usize),
TupleElemMut(usize),
TupleElemCopy(usize),
TupleElemDeref(usize),
IdxMove,
IdxRef,
IdxMut,
IdxMoveRef,
StoreIntVariable(usize, bool, Integer),
StoreBoolVariable(usize, bool, bool),
StoreFloatVariable(usize, bool, f64),
StoreStringVariable(usize, bool, String),
StoreVariable(usize, bool),
GetVariable(usize, bool),
CloneVariable(usize, bool),
RefVariable(usize, bool),
DerefVariable(usize, bool),
CopyVariable(usize, bool),
MoveVariable(usize, bool),
Assign,
AssignToVar(usize, bool),
AssignToVarDirect(usize, bool),
Drop,
Jump(usize),
RelativeJump(i32),
RelativeJumpIfFalse(usize, bool),
RelativeJumpIfTrue(usize, bool),
Call(usize),
CallDestructor(usize),
DeleteVar(usize, bool),
LambdaCall,
LambdaCallRef,
Return,
NativeFunctionCall(usize, usize, Vec<Type>),
UnaryOperatorCall(usize, usize, Vec<Type>),
BinaryOperatorCall(usize, usize, Vec<Type>),
NaryOperatorCall(usize, usize, Vec<Type>),
NativeFunctionCallNoRet(usize, usize, Vec<Type>),
UnaryOperatorCallNoRet(usize, usize, Vec<Type>),
BinaryOperatorCallNoRet(usize, usize, Vec<Type>),
Ref,
Mut,
Copy,
Deref,
Demut,
Move,
ToFloat,
Inc,
Dec,
Addi,
Addf,
Subi,
Subf,
Muli,
Mulf,
Divi,
Divf,
Modi,
Modf,
Negi,
Negf,
AddStr,
NotB,
AndB,
OrB,
XorB,
Shr,
Shl,
Lti,
Ltf,
Gti,
Gtf,
Lteqi,
Lteqf,
Gteqi,
Gteqf,
Eqi,
Eqf,
Neqi,
Neqf,
EqBool,
NeqBool,
EqStr,
NeqStr,
Not,
Or,
And,
Xor,
Nand,
Nor,
Placeholder(PlaceholderType),
Halt,
}Variants§
Empty
Bool(bool)
Int(Integer)
Float(f64)
Str(String)
Array(usize, Type)
Lambda(usize, usize, Type, Type)
Construct(usize, usize, Vec<Type>)
AttributeAssign(usize)
AttributeMove(usize)
AttributeRef(usize)
AttributeMut(usize)
AttributeCopy(usize)
AttributeDeref(usize)
Tuple(usize)
TupleElemMove(usize)
TupleElemRef(usize)
TupleElemMut(usize)
TupleElemCopy(usize)
TupleElemDeref(usize)
IdxMove
IdxRef
IdxMut
IdxMoveRef
StoreIntVariable(usize, bool, Integer)
StoreBoolVariable(usize, bool, bool)
StoreFloatVariable(usize, bool, f64)
StoreStringVariable(usize, bool, String)
StoreVariable(usize, bool)
GetVariable(usize, bool)
CloneVariable(usize, bool)
RefVariable(usize, bool)
DerefVariable(usize, bool)
CopyVariable(usize, bool)
MoveVariable(usize, bool)
Assign
AssignToVar(usize, bool)
AssignToVarDirect(usize, bool)
Drop
Jump(usize)
RelativeJump(i32)
RelativeJumpIfFalse(usize, bool)
RelativeJumpIfTrue(usize, bool)
Call(usize)
CallDestructor(usize)
DeleteVar(usize, bool)
LambdaCall
LambdaCallRef
Return
NativeFunctionCall(usize, usize, Vec<Type>)
UnaryOperatorCall(usize, usize, Vec<Type>)
BinaryOperatorCall(usize, usize, Vec<Type>)
NaryOperatorCall(usize, usize, Vec<Type>)
NativeFunctionCallNoRet(usize, usize, Vec<Type>)
UnaryOperatorCallNoRet(usize, usize, Vec<Type>)
BinaryOperatorCallNoRet(usize, usize, Vec<Type>)
Ref
Mut
Copy
Deref
Demut
Move
ToFloat
Inc
Dec
Addi
Addf
Subi
Subf
Muli
Mulf
Divi
Divf
Modi
Modf
Negi
Negf
AddStr
NotB
AndB
OrB
XorB
Shr
Shl
Lti
Ltf
Gti
Gtf
Lteqi
Lteqf
Gteqi
Gteqf
Eqi
Eqf
Neqi
Neqf
EqBool
NeqBool
EqStr
NeqStr
Not
Or
And
Xor
Nand
Nor
Placeholder(PlaceholderType)
Halt
Implementations§
Source§impl CompiledRynaExpr
impl CompiledRynaExpr
pub fn needs_float(&self) -> bool
pub fn needs_deref(&self) -> bool
pub fn needs_no_drop(&self) -> bool
pub fn to_string(&self, ctx: &RynaContext) -> String
Trait Implementations§
Source§impl Clone for CompiledRynaExpr
impl Clone for CompiledRynaExpr
Source§fn clone(&self) -> CompiledRynaExpr
fn clone(&self) -> CompiledRynaExpr
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 CompiledRynaExpr
impl Debug for CompiledRynaExpr
Source§impl<'de> Deserialize<'de> for CompiledRynaExpr
impl<'de> Deserialize<'de> for CompiledRynaExpr
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl From<CompiledRynaExpr> for RynaInstruction
impl From<CompiledRynaExpr> for RynaInstruction
Source§fn from(obj: CompiledRynaExpr) -> RynaInstruction
fn from(obj: CompiledRynaExpr) -> RynaInstruction
Converts to this type from the input type.
Source§impl PartialEq for CompiledRynaExpr
impl PartialEq for CompiledRynaExpr
Source§impl Serialize for CompiledRynaExpr
impl Serialize for CompiledRynaExpr
impl StructuralPartialEq for CompiledRynaExpr
Auto Trait Implementations§
impl Freeze for CompiledRynaExpr
impl RefUnwindSafe for CompiledRynaExpr
impl Send for CompiledRynaExpr
impl Sync for CompiledRynaExpr
impl Unpin for CompiledRynaExpr
impl UnwindSafe for CompiledRynaExpr
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,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more