From 7d26241584cd0da49cc95c0d8ac6455b98e571ac Mon Sep 17 00:00:00 2001 From: shmyga Date: Thu, 9 Aug 2018 12:14:33 +0300 Subject: [PATCH] [macro] add setter in @:provide macro --- src/main/haxework/macro/ProvideMacro.hx | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/main/haxework/macro/ProvideMacro.hx b/src/main/haxework/macro/ProvideMacro.hx index 04b16b3..6bfcd13 100644 --- a/src/main/haxework/macro/ProvideMacro.hx +++ b/src/main/haxework/macro/ProvideMacro.hx @@ -34,7 +34,7 @@ class ProvideMacro { name: field.name, access: [Access.APublic], pos: field.pos, - kind: FieldType.FProp('get', 'never', type) + kind: FieldType.FProp('get', 'set', type) }); result.push({ name: 'get_${field.name}', @@ -47,6 +47,17 @@ class ProvideMacro { ret: type }) }); + result.push({ + name: 'set_${field.name}', + access: [Access.APrivate, Access.AInline], + pos: field.pos, + kind: FieldType.FFun({ + args: [{name: 'value', type: type}], + expr: Context.parse('{haxework.provider.Provider.set(${name}, value); return value;}', field.pos), + params: [], + ret: type + }) + }); return result; } }