diff src/luan/LuaTable.java @ 35:e51906de0f11

implement metatables git-svn-id: https://luan-java.googlecode.com/svn/trunk@36 21e917c8-12df-6dd8-5cb6-c86387c605b9
author fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
date Tue, 18 Dec 2012 07:05:58 +0000
parents 9de9be530625
children 57054fa43189
line wrap: on
line diff
--- a/src/luan/LuaTable.java	Sun Dec 16 09:23:56 2012 +0000
+++ b/src/luan/LuaTable.java	Tue Dec 18 07:05:58 2012 +0000
@@ -7,6 +7,7 @@
 
 public class LuaTable {
 	private final Map<Object,Object> map = new HashMap<Object,Object>();
+	private LuaTable metatable;
 
 	@Override public String toString() {
 		return "table: " + Integer.toHexString(hashCode());
@@ -16,11 +17,11 @@
 		return map.get(key);
 	}
 
-	public void set(Object key,Object val) {
+	public Object put(Object key,Object val) {
 		if( val == null ) {
-			map.remove(key);
+			return map.remove(key);
 		} else {
-			map.put(key,val);
+			return map.put(key,val);
 		}
 	}
 
@@ -36,4 +37,11 @@
 		return map.entrySet().iterator();
 	}
 
+	public LuaTable getMetatable() {
+		return metatable;
+	}
+
+	public void setMetatable(LuaTable metatable) {
+		this.metatable = metatable;
+	}
 }