コード例 #1
0
ファイル: ElaFunction.cs プロジェクト: ngoffee/ela
        protected ElaFunction CloneFast(ElaFunction newInstance)
        {
            var pars = new ElaValue[Parameters.Length];

            if (AppliedParameters > 0) //This is faster than Array.Copy
            {
                for (var i = 0; i < AppliedParameters; i++)
                {
                    pars[i] = Parameters[i];
                }
            }

            newInstance.Parameters        = pars;
            newInstance.AppliedParameters = AppliedParameters;
            newInstance.Handle            = Handle;
            newInstance.ModuleHandle      = ModuleHandle;
            newInstance.vm       = vm;
            newInstance.Captures = Captures;
            newInstance._flip    = _flip;
            return(newInstance);
        }
コード例 #2
0
ファイル: ElaFunction.cs プロジェクト: ngoffee/ela
        internal ElaFunction CloneFull()
        {
            var pars = new ElaValue[Parameters.Length];

            if (AppliedParameters > 0) //This is faster than Array.Copy
            {
                for (var i = 0; i < AppliedParameters; i++)
                {
                    pars[i] = Parameters[i];
                }
            }

            var ret = new ElaFunction(pars);

            ret.AppliedParameters = AppliedParameters;
            ret.Handle            = Handle;
            ret.ModuleHandle      = ModuleHandle;
            ret.vm       = vm;
            ret.Captures = Captures;
            ret._flip    = _flip;
            return(ret);
        }
コード例 #3
0
 internal ElaLazy(ElaFunction function) : base(ElaTypeCode.Lazy)
 {
     Function = function;
     _value   = default(ElaValue);
 }
コード例 #4
0
ファイル: ElaFunTable.cs プロジェクト: ngoffee/ela
 internal void AddFunction(int typeId, ElaFunction fun)
 {
     funs.Remove(typeId);
     funs.Add(typeId, fun);
 }