From 78e9087ba260f1baa51b34c4e8058307ff9e3b9f Mon Sep 17 00:00:00 2001 From: back2dos Date: Mon, 18 May 2015 14:48:35 +0200 Subject: [PATCH] Do not lose constructor metadata. --- src/tink/macro/ClassBuilder.hx | 2 +- src/tink/macro/Constructor.hx | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/tink/macro/ClassBuilder.hx b/src/tink/macro/ClassBuilder.hx index 2f3deab..a8117bb 100644 --- a/src/tink/macro/ClassBuilder.hx +++ b/src/tink/macro/ClassBuilder.hx @@ -34,7 +34,7 @@ class ClassBuilder { macros.set(field.name, field) else if (field.name == 'new') { var m:Member = field; - this.constructor = new Constructor(this, m.getFunction().sure(), m.isPublic, m.pos); + this.constructor = new Constructor(this, m.getFunction().sure(), m.isPublic, m.pos, m.meta); } else addMember(field); diff --git a/src/tink/macro/Constructor.hx b/src/tink/macro/Constructor.hx index 18140b5..45f72b7 100644 --- a/src/tink/macro/Constructor.hx +++ b/src/tink/macro/Constructor.hx @@ -21,6 +21,7 @@ class Constructor { var onGenerateHooks:ArrayVoid>; var superCall:Expr; var owner:ClassBuilder; + var meta:Metadata; public var isPublic:Null; public function new(owner:ClassBuilder, f:Function, ?isPublic:Null = null, ?pos:Position, ?meta:Metadata) { @@ -33,6 +34,7 @@ class Constructor { this.args = []; this.beforeArgs = []; this.afterArgs = []; + this.meta = meta; this.oldStatements = if (f == null) []; @@ -129,7 +131,7 @@ class Constructor { access : isPublic ? [APublic] : [], kind : FFun(f), pos : pos, - meta : [] + meta : this.meta, } } } \ No newline at end of file