Skip to main content

IBinaryOperatorExpressionMethods

Trait IBinaryOperatorExpressionMethods 

Source
pub trait IBinaryOperatorExpressionMethods: IBinaryOperatorExpression {
    // Provided methods
    fn ctor(
        self,
        exp1: impl Into<Expression>,
        exp2: impl Into<Expression>,
        op: impl Into<BinaryOperatorExpression_Operator>,
        lcontext: impl Into<ScriptLoadingContext>,
    ) { ... }
    fn compile(self, bc: impl Into<ByteCode>) { ... }
    fn eval(self, context: impl Into<ScriptExecutionContext>) -> DynValue { ... }
    fn eval_arithmetic(
        self,
        v1: impl Into<DynValue>,
        v2: impl Into<DynValue>,
    ) -> f64 { ... }
    fn eval_comparison(
        self,
        l: impl Into<DynValue>,
        r: impl Into<DynValue>,
        op: impl Into<BinaryOperatorExpression_Operator>,
    ) -> bool { ... }
}

Provided Methods§

Source

fn ctor( self, exp1: impl Into<Expression>, exp2: impl Into<Expression>, op: impl Into<BinaryOperatorExpression_Operator>, lcontext: impl Into<ScriptLoadingContext>, )

.ctor(crate::moon_sharp::interpreter::tree::expression::Expression, crate::moon_sharp::interpreter::tree::expression::Expression, crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Operator, crate::moon_sharp::interpreter::execution::scriptloadingcontext::ScriptLoadingContext) overload

Source

fn compile(self, bc: impl Into<ByteCode>)

Compile(crate::moon_sharp::interpreter::execution::vm::bytecode::ByteCode) overload

Source

fn eval(self, context: impl Into<ScriptExecutionContext>) -> DynValue

Eval(crate::moon_sharp::interpreter::scriptexecutioncontext::ScriptExecutionContext) overload

Source

fn eval_arithmetic( self, v1: impl Into<DynValue>, v2: impl Into<DynValue>, ) -> f64

EvalArithmetic(crate::moon_sharp::interpreter::dynvalue::DynValue, crate::moon_sharp::interpreter::dynvalue::DynValue) overload

Source

fn eval_comparison( self, l: impl Into<DynValue>, r: impl Into<DynValue>, op: impl Into<BinaryOperatorExpression_Operator>, ) -> bool

EvalComparison(crate::moon_sharp::interpreter::dynvalue::DynValue, crate::moon_sharp::interpreter::dynvalue::DynValue, crate::moon_sharp::interpreter::tree::expressions::binaryoperatorexpression::BinaryOperatorExpression_Operator) overload

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<__T: IBinaryOperatorExpression> IBinaryOperatorExpressionMethods for __T

Available on crate feature moon_sharp-interpreter-tree-expressions-binaryoperatorexpression only.