Fix Cloner

This commit is contained in:
2020-12-09 12:52:33 -07:00
parent a47af32adb
commit dc44118c5b
2 changed files with 5 additions and 3 deletions

View File

@@ -59,7 +59,7 @@ class Cloner {
case TObject: case TObject:
return handleAnonymous(v); return handleAnonymous(v);
case TFunction: case TFunction:
return null; return v;
case TClass(c): case TClass(c):
if(!cache.exists(v)) if(!cache.exists(v))
cache.set(v,handleClass(c, v)); cache.set(v,handleClass(c, v));
@@ -96,8 +96,9 @@ class Cloner {
} }
function cloneClass <T> (inValue:T):T { function cloneClass <T> (inValue:T):T {
var outValue:T = Type.createEmptyInstance(Type.getClass(inValue)); var classValue = Type.getClass(inValue);
var fields:Array<String> = Reflect.fields(inValue); var outValue:T = Type.createEmptyInstance(classValue);
var fields:Array<String> = Type.getInstanceFields(classValue);
for (i in 0...fields.length) { for (i in 0...fields.length) {
var field = fields[i]; var field = fields[i];
var property = Reflect.getProperty(inValue, field); var property = Reflect.getProperty(inValue, field);

View File

@@ -2,4 +2,5 @@
-lib uuid -lib uuid
-lib tink_macro -lib tink_macro
-cp kiss/src -cp kiss/src
-cp cloner/src
-D analyzer-optimize -D analyzer-optimize