diff core/src/luan/LuanTable.java @ 433:c6bcb8859b93

make LuanState.registry a Map; remove generics from DeepCloneable; add Map support to DeepCloner;
author Franklin Schmidt <fschmidt@gmail.com>
date Sun, 03 May 2015 15:45:39 -0600
parents d9df6d6cb927
children 472fc70853cd
line wrap: on
line diff
--- a/core/src/luan/LuanTable.java	Sat May 02 23:41:59 2015 -0600
+++ b/core/src/luan/LuanTable.java	Sun May 03 15:45:39 2015 -0600
@@ -15,7 +15,7 @@
 import java.util.regex.Pattern;
 
 
-public final class LuanTable implements DeepCloneable<LuanTable> {
+public final class LuanTable implements DeepCloneable {
 	private Map<Object,Object> map = null;
 	private List<Object> list = null;
 	private LuanTable metatable = null;
@@ -60,7 +60,8 @@
 		return new LuanTable();
 	}
 
-	@Override public void deepenClone(LuanTable clone,DeepCloner cloner) {
+	@Override public void deepenClone(DeepCloneable dc,DeepCloner cloner) {
+		LuanTable clone = (LuanTable)dc;
 		if( map != null ) {
 			clone.map = newMap();
 			for( Map.Entry<Object,Object> entry : map.entrySet() ) {
@@ -74,7 +75,7 @@
 			}
 		}
 		if( metatable != null )
-			clone.metatable = cloner.get(metatable);
+			clone.metatable = (LuanTable)cloner.get(metatable);
 		clone.hasJava = hasJava;
 	}