comparison src/luan/LuaState.java @ 24:7ee247560db5

add VarArgs git-svn-id: https://luan-java.googlecode.com/svn/trunk@25 21e917c8-12df-6dd8-5cb6-c86387c605b9
author fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
date Thu, 06 Dec 2012 04:40:54 +0000
parents 1e37f22a34c8
children 5cf15507d77e
comparison
equal deleted inserted replaced
23:2446c1755d9b 24:7ee247560db5
10 10
11 11
12 private static class LuaStack { 12 private static class LuaStack {
13 final LuaStack previousStack; 13 final LuaStack previousStack;
14 final Object[] a; 14 final Object[] a;
15 final Object[] varArgs;
15 16
16 LuaStack( LuaStack previousStack, int stackSize) { 17 LuaStack( LuaStack previousStack, int stackSize, Object[] varArgs) {
17 this.previousStack = previousStack; 18 this.previousStack = previousStack;
18 this.a = new Object[stackSize]; 19 this.a = new Object[stackSize];
20 this.varArgs = varArgs;
19 } 21 }
20 } 22 }
21 23
22 private LuaStack stack = null; 24 private LuaStack stack = null;
23 public Object[] returnValues; 25 public Object[] returnValues;
24 public LuaClosure tailFn; 26 public LuaClosure tailFn;
25 27
26 Object[] newStack(int stackSize) { 28 Object[] newStack(int stackSize, Object[] varArgs) {
27 stack = new LuaStack(stack,stackSize); 29 stack = new LuaStack(stack,stackSize,varArgs);
28 return stack.a; 30 return stack.a;
29 } 31 }
30 32
31 void popStack() { 33 void popStack() {
32 returnValues = LuaFunction.EMPTY_RTN; 34 returnValues = LuaFunction.EMPTY_RTN;
36 38
37 public Object[] stack() { 39 public Object[] stack() {
38 return stack.a; 40 return stack.a;
39 } 41 }
40 42
43 public Object[] varArgs() {
44 return stack.varArgs;
45 }
41 } 46 }