From 716f3b3eb9e12544e056b96f26cf032ec894d478 Mon Sep 17 00:00:00 2001 From: back2dos Date: Mon, 30 Sep 2013 17:08:04 +0200 Subject: [PATCH] Added getVar. --- src/tink/macro/Member.hx | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/tink/macro/Member.hx b/src/tink/macro/Member.hx index f238e3f..69ce066 100644 --- a/src/tink/macro/Member.hx +++ b/src/tink/macro/Member.hx @@ -46,6 +46,14 @@ abstract Member(Field) from Field to Field { case FFun(f): Success(f); default: pos.makeFailure('Field should be function'); } + + public function getVar(?pure = false) + return + switch kind { + case FVar(t, e): Success({ get: 'default', set: 'default', type: t, expr: e }); + case FProp(get, set, t, e) if (!pure): Success({ get: get, set: set, type: t, expr: e }); + default: pos.makeFailure('Field should be a variable ' + if (pure) '' else 'or property'); + } public function addMeta(name, ?pos, ?params) { if (this.meta == null) @@ -65,7 +73,7 @@ abstract Member(Field) from Field to Field { return Success(tag); } } - return Failure('missing @$name'); + return pos.makeFailure('missing @$name'); } public function publish()