From 6d7ec45647b5a0b0a1c7afa91d690978762c592f Mon Sep 17 00:00:00 2001 From: back2dos Date: Tue, 10 Dec 2013 20:47:10 +0100 Subject: [PATCH] Extended API. --- src/tink/MacroApi.hx | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/tink/MacroApi.hx b/src/tink/MacroApi.hx index a6ba3cf..a0be3c6 100644 --- a/src/tink/MacroApi.hx +++ b/src/tink/MacroApi.hx @@ -10,14 +10,23 @@ typedef Types = tink.macro.Types; typedef Binops = tink.macro.Ops.Binary; typedef Unops = tink.macro.Ops.Unary; +//TODO: consider adding stuff from haxe.macro.Expr here typedef MacroOutcome = tink.core.Outcome; typedef MacroOutcomeTools = tink.core.Outcome.OutcomeTools; -//TODO: consider adding stuff from haxe.macro.Expr here + +typedef Option = haxe.ds.Option; + +typedef Member = tink.macro.Member; +typedef Constructor = tink.macro.Constructor; +typedef ClassBuilder = tink.macro.ClassBuilder; class MacroApi { + static var idCounter = 0; - static public inline function tempName(?prefix = '__tinkTmp'):String - return prefix + Std.string(idCounter++); + + @:noUsing static public inline function tempName(?prefix:String = 'tmp'):String + return '__tink_' + prefix + Std.string(idCounter++); + static public function pos() return haxe.macro.Context.currentPos(); -} +} \ No newline at end of file