diff core/src/luan/LuanState.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 f28320fd671d
children bf5e62a9090c
line wrap: on
line diff
--- a/core/src/luan/LuanState.java	Sat May 02 23:41:59 2015 -0600
+++ b/core/src/luan/LuanState.java	Sun May 03 15:45:39 2015 -0600
@@ -2,30 +2,32 @@
 
 import java.util.List;
 import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
 import luan.impl.LuanCompiler;
 import luan.modules.BasicLuan;
 
 
-public abstract class LuanState implements DeepCloneable<LuanState> {
+public abstract class LuanState implements DeepCloneable {
 
 	final List<StackTraceElement> stackTrace = new ArrayList<StackTraceElement>();
 
-	private LuanTable registry;
+	private Map registry;
 
 	protected LuanState() {
-		registry = new LuanTable();
+		registry = new HashMap();
 	}
 
 	protected LuanState(LuanState luan) {}
 
-	@Override public void deepenClone(LuanState clone,DeepCloner cloner) {
-		clone.registry = cloner.deepClone(registry);
+	@Override public void deepenClone(DeepCloneable clone,DeepCloner cloner) {
+		((LuanState)clone).registry = cloner.deepClone(registry);
 	}
 
 	public abstract LuanTable currentEnvironment();
 	public abstract LuanSource currentSource();
 
-	public final LuanTable registry() {
+	public final Map registry() {
 		return registry;
 	}