diff src/luan/impl/Closure.java @ 782:655280eab1e2

start limited cloning
author Franklin Schmidt <fschmidt@gmail.com>
date Tue, 30 Aug 2016 01:29:33 -0600
parents fbbdd369a13a
children 6a7c6879158d
line wrap: on
line diff
--- a/src/luan/impl/Closure.java	Mon Aug 29 22:49:32 2016 -0600
+++ b/src/luan/impl/Closure.java	Tue Aug 30 01:29:33 2016 -0600
@@ -18,7 +18,7 @@
 		this.java = java;
 	}
 
-	@Override public Closure shallowClone() {
+	@Override public Closure shallowClone(LuanCloner cloner) {
 		try {
 			return (Closure)clone();
 		} catch(CloneNotSupportedException e) {
@@ -28,8 +28,8 @@
 
 	@Override public void deepenClone(LuanCloneable dc,LuanCloner cloner) {
 		Closure clone = (Closure)dc;
-		clone.upValues = (Pointer[])cloner.deepClone(upValues);
-		clone.java = (LuanJava)cloner.deepClone(java);
+		clone.upValues = (Pointer[])cloner.clone(upValues);
+		clone.java = (LuanJava)cloner.clone(java);
 	}
 
 	@Override public final Object call(LuanState luan,Object[] args) throws LuanException {