Monkey C provides (:release) and (:debug) annotations;
Monkey Jungle provides the `excludeAnnotations` mechanism;
One issue with annotation is that they work only on "higher" level code blocks like classes or functions.
Those do not work on a simple lexical block in the form:
(:debug) {
log("this will not show in release build");
}
which will generate some error about a missing ";" (*)
Also, even at class or function level those annotations do not stack.
I.e. there is no way to write:
(:debug)
(:background)
function debug(string) {
System.println(string);
}
which makes annotation not very useful for code that runs in the main app and in the background project.
Any suggestions for a preprocessing / compile time code processing functionality?