SGScript.IObjectBase._intOnExpr C# (CSharp) Method

_intOnExpr() public method

public _intOnExpr ( Context ctx, ExprOp op ) : int
ctx Context
op ExprOp
return int
        public virtual int _intOnExpr( Context ctx, ExprOp op )
        {
            Variable rv = null;
            switch( op )
            {
                case ExprOp.Add: rv = OnAdd( ctx.StackItem( 0 ), ctx.StackItem( 1 ) ); break;
                case ExprOp.Sub: rv = OnSub( ctx.StackItem( 0 ), ctx.StackItem( 1 ) ); break;
                case ExprOp.Mul: rv = OnMul( ctx.StackItem( 0 ), ctx.StackItem( 1 ) ); break;
                case ExprOp.Div: rv = OnDiv( ctx.StackItem( 0 ), ctx.StackItem( 1 ) ); break;
                case ExprOp.Mod: rv = OnMod( ctx.StackItem( 0 ), ctx.StackItem( 1 ) ); break;
                case ExprOp.Compare: rv = OnCompare( ctx.StackItem( 0 ), ctx.StackItem( 1 ) ); break;
                case ExprOp.Negate: rv = OnNegate(); break;
            }
            if( rv != null )
            {
                ctx.Push( rv );
                return RC.SUCCESS;
            }
            return RC.ENOTSUP;
        }

Usage Example

Beispiel #1
0
 public static int _sgsExpr(IntPtr ctx, IntPtr varobj)
 {
     IObjectBase obj = _IP2Obj(varobj); return(obj._intOnExpr(Engine.GetCtx(ctx), (ExprOp)NI.ObjectArg(ctx)));
 }