diff --git a/cloner/src/cloner/Cloner.hx b/cloner/src/cloner/Cloner.hx index 0bf4cf97..e7568c94 100644 --- a/cloner/src/cloner/Cloner.hx +++ b/cloner/src/cloner/Cloner.hx @@ -59,7 +59,7 @@ class Cloner { case TObject: return handleAnonymous(v); case TFunction: - return null; + return v; case TClass(c): if(!cache.exists(v)) cache.set(v,handleClass(c, v)); @@ -96,8 +96,9 @@ class Cloner { } function cloneClass (inValue:T):T { - var outValue:T = Type.createEmptyInstance(Type.getClass(inValue)); - var fields:Array = Reflect.fields(inValue); + var classValue = Type.getClass(inValue); + var outValue:T = Type.createEmptyInstance(classValue); + var fields:Array = Type.getInstanceFields(classValue); for (i in 0...fields.length) { var field = fields[i]; var property = Reflect.getProperty(inValue, field); diff --git a/kiss/build-scripts/common-args.hxml b/kiss/build-scripts/common-args.hxml index 9f079317..ed664ea0 100644 --- a/kiss/build-scripts/common-args.hxml +++ b/kiss/build-scripts/common-args.hxml @@ -2,4 +2,5 @@ -lib uuid -lib tink_macro -cp kiss/src +-cp cloner/src -D analyzer-optimize \ No newline at end of file