Mercurial Hosting > luan
diff src/luan/LuaState.java @ 31:5cf15507d77e
separate interpreter from interface
git-svn-id: https://luan-java.googlecode.com/svn/trunk@32 21e917c8-12df-6dd8-5cb6-c86387c605b9
author | fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9> |
---|---|
date | Thu, 13 Dec 2012 02:50:04 +0000 |
parents | 7ee247560db5 |
children | 0cdc1da466ee |
line wrap: on
line diff
--- a/src/luan/LuaState.java Fri Dec 07 20:22:19 2012 +0000 +++ b/src/luan/LuaState.java Thu Dec 13 02:50:04 2012 +0000 @@ -1,46 +1,6 @@ package luan; -public class LuaState { - private final LuaTable env = new LuaTable(); - - public LuaTable env() { - return env; - } - - - private static class LuaStack { - final LuaStack previousStack; - final Object[] a; - final Object[] varArgs; - - LuaStack( LuaStack previousStack, int stackSize, Object[] varArgs) { - this.previousStack = previousStack; - this.a = new Object[stackSize]; - this.varArgs = varArgs; - } - } - - private LuaStack stack = null; - public Object[] returnValues; - public LuaClosure tailFn; - - Object[] newStack(int stackSize, Object[] varArgs) { - stack = new LuaStack(stack,stackSize,varArgs); - return stack.a; - } - - void popStack() { - returnValues = LuaFunction.EMPTY_RTN; - tailFn = null; - stack = stack.previousStack; - } - - public Object[] stack() { - return stack.a; - } - - public Object[] varArgs() { - return stack.varArgs; - } +public interface LuaState { + public LuaTable env(); }