internal static void Vararg(Instruction i, ILuaVM vm) { var(a, b, _) = i.ABC(); a += 1; if (b != 1) { vm.LoadVararg(b - 1); PopResults(a, b, vm); } }
/// <summary> /// R(A), R(A + 1), ..., R(A + B - 2) = vararg /// </summary> public static void Vararg(Instruction ins, ILuaVM vm) { ins.ABC(out var a, out var b, out _); a += 1; if (b != 1) { vm.LoadVararg(b - 1); PopResults(a, b, vm); } }
//(iABC) R(A),R(A+1),....R(A+B-2) = vararg public static void Vararg(int i, ILuaVM vm) { int a = Instruction.GetA(i) + 1; int b = Instruction.GetB(i); if (b != 1) { vm.LoadVararg(b - 1); popResult(a, b, vm); } }