Mercurial Hosting > luan
diff src/luan/interp/Chunk.java @ 17:09d41f7490a8
add local variables
git-svn-id: https://luan-java.googlecode.com/svn/trunk@18 21e917c8-12df-6dd8-5cb6-c86387c605b9
author | fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9> |
---|---|
date | Fri, 30 Nov 2012 11:46:34 +0000 |
parents | |
children | c93d8c781853 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/luan/interp/Chunk.java Fri Nov 30 11:46:34 2012 +0000 @@ -0,0 +1,25 @@ +package luan.interp; + +import luan.LuaState; +import luan.LuaException; + + +final class Chunk implements Stmt { + private final Stmt block; + private final int stackSize; + + Chunk(Stmt block,int stackSize) { + this.block = block; + this.stackSize = stackSize; + } + + @Override public void eval(LuaState lua) throws LuaException { + lua.newStack(stackSize); + try { + block.eval(lua); + } finally { + lua.popStack(); + } + } + +}