diff src/luan/interp/GetUpVar.java @ 32:c3eab5a3ce3c

implement closures git-svn-id: https://luan-java.googlecode.com/svn/trunk@33 21e917c8-12df-6dd8-5cb6-c86387c605b9
author fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
date Fri, 14 Dec 2012 05:40:35 +0000
parents src/luan/interp/GetLocalVar.java@5cf15507d77e
children e3624b7cd603
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/luan/interp/GetUpVar.java	Fri Dec 14 05:40:35 2012 +0000
@@ -0,0 +1,14 @@
+package luan.interp;
+
+
+final class GetUpVar implements Expr {
+	private final int index;
+
+	GetUpVar(int index) {
+		this.index = index;
+	}
+
+	@Override public Object eval(LuaStateImpl lua) {
+		return lua.closure().upValues[index].get();
+	}
+}