Did you enable the Completion Server?
In this case the compiler will cache your compilations and you probably need to either disable it or find a way to remove the definitions previously generated using macros as they will be cached too. How and why is beyond my knowledge of macros.
--
To post to this group haxe...@googlegroups.com
http://groups.google.com/group/haxelang?hl=en
---
You received this message because you are subscribed to the Google Groups "Haxe" group.
For more options, visit https://groups.google.com/d/optout.
Thanks for your response!
This page describes the completion server:
http://old.haxe.org/manual/completion
And I assume flashDevelop implements this protocol. It warns about possible macro problems but points to a link that doesn't seem to actually outline the issues.
Perhaps someone who works on the haxe compiler can elaborate on the details so we can get FlashDevelop working with macros and completion? Or maybe fd just needs to close the socket on the completion server before each full compilation?
Starting with Haxe 2.09, it is possible to run a compilation that will keep the modules in cache unless they have been modified or require being recompiled.
This of course affects macros as well; here's a few tips on how to deal with it :
haxe.macro.Context.registerModuleDependency
to inform the compiler that if that file is changed the corresponding module needs to be recompiledDuplicate metadata xxx
if it gets added twice)Context.onGenerate
are not persistent between compilations unless they are registered again manuallyContext.registerModuleReuseCall
: please note that the macro call is a string that can only contain constant data (it is executed in a similar way as --macro
command line parameter)Any other unexpected side effects can be reported on the Haxe google group for discussions.
--