Example #1
0
 internal static Closure newCsharpClosure(CsharpFunction charpFunc)
 {
     return(new Closure
     {
         csharpFunc = charpFunc
     });
 }
Example #2
0
        public void PushCsharpClosure(CsharpFunction f, int n)
        {
            var closure = Closure.newCsharpClosure(f, n);

            for (var i = n; i > 0; i--)
            {
                var val = stack.pop();
                closure.upvals[n - 1] = new Upvalue(val);
            }

            stack.push(closure);
        }
Example #3
0
        internal static Closure newCsharpClosure(CsharpFunction charpFunc, int nUpvals)
        {
            var c = new Closure
            {
                csharpFunc = charpFunc
            };

            if (nUpvals > 0)
            {
                c.upvals = new Upvalue[nUpvals];
            }

            return(c);
        }
Example #4
0
 public void PushCsharpFunction(CsharpFunction f)
 {
     stack.push(Closure.newCsharpClosure(f, 0));
 }
Example #5
0
 public void Register(string name, CsharpFunction f)
 {
     PushCsharpFunction(f);
     SetGlobal(name);
 }
Example #6
0
 public void PushCsharpFunction(CsharpFunction f)
 {
     _stack.Push(Closure.NewCsharpClosure(f, 0));
 }