diff --git a/src/kiss/AsyncEmbeddedScript.hx b/src/kiss/AsyncEmbeddedScript.hx index 4bca0e7..209ffd4 100644 --- a/src/kiss/AsyncEmbeddedScript.hx +++ b/src/kiss/AsyncEmbeddedScript.hx @@ -25,10 +25,15 @@ typedef Continuation = () -> Void; typedef AsyncCommand = (AsyncEmbeddedScript, Continuation) -> Void; class ObjectInterp extends Interp { - var obj:T; + var obj:T; + var fields:Map = []; public function new(obj:T) { this.obj = obj; + for (field in Type.getInstanceFields(Type.getClass(obj))) { + fields[field] = true; + } + super(); } diff --git a/src/kiss/Helpers.hx b/src/kiss/Helpers.hx index b6d1fde..a23159b 100644 --- a/src/kiss/Helpers.hx +++ b/src/kiss/Helpers.hx @@ -686,6 +686,8 @@ class Helpers { compileTimeValueToReaderExp(unquoteValue, exp).def; case MetaExp(meta, innerExp): MetaExp(meta, recurse(innerExp)); + case HaxeMeta(name, params, innerExp): + HaxeMeta(name, params, recurse(innerExp)); default: throw KissError.fromExp(exp, 'unquote evaluation not implemented'); };