Exemple #1
0
 /// <summary>
 /// R(A + 3, ..., R(A + 2 + C) = R(A)(R(A + 1), R(A + 2))
 /// </summary>
 public static void TForCall(Instruction ins, ILuaVM vm)
 {
     ins.ABC(out var a, out _, out var c);
     a += 1;
     PushFuncAndArgs(a, 3, vm);
     vm.Call(2, c);
     PopResults(a + 3, c + 1, vm);
 }
Exemple #2
0
    internal static void TForCall(Instruction i, ILuaVM vm)
    {
        var(a, _, c) = i.ABC();
        a           += 1;

        PushFuncAndArgs(a, 3, vm);
        vm.Call(2, c);
        PopResults(a + 3, c + 1, vm);
    }
Exemple #3
0
        /// <summary>
        /// R(A), ..., R(A + C - 2) = R(A)(R(A + 1), ..., R(A + B - 1))
        /// </summary>
        public static void Call(Instruction ins, ILuaVM vm)
        {
            ins.ABC(out var a, out var b, out var c);
            a += 1;

            var nArgs = PushFuncAndArgs(a, b, vm);

            vm.Call(nArgs, c - 1);
            PopResults(a, c, vm);
        }
Exemple #4
0
    internal static void Call(Instruction i, ILuaVM vm)
    {
        var(a, b, c) = i.ABC();
        a           += 1;

        int nArgs = PushFuncAndArgs(a, b, vm);

        vm.Call(nArgs, c - 1);
        PopResults(a, c, vm);
    }
Exemple #5
0
        //(iABC) R(A),R(A+1)...,R(A+C-2) := R(A)(R(A+1),R(A+2),....,R(A+B-1))
        public static void Call(int i, ILuaVM vm)
        {
            int a     = Instruction.GetA(i) + 1;
            int b     = Instruction.GetB(i);
            int c     = Instruction.GetC(i);
            int nArgs = pushFuncAndArgs(a, b, vm);

            vm.Call(nArgs, c - 1);
            popResult(a, c, vm);
        }