Fix Cloner
This commit is contained in:
@@ -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);
|
||||||
|
@@ -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
|
Reference in New Issue
Block a user