Mercurial Hosting > luan
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; }