1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
import haxe.macro.Context;
class Macro {
public static function init() {
Context.warning("This warning will disappear", Context.currentPos());
Context.onAfterTyping(afterTyping);
Context.onAfterGenerate(afterGenerate);
}
static function afterTyping(_) {
var nbMessages = Context.getMessages().length;
Context.filterMessages(_ -> false);
Context.warning('There were $nbMessages messages on after typing', Context.currentPos());
Context.warning("This warning will not disappear", Context.currentPos());
Context.warning("This warning will disappear too", Context.currentPos());
}
static function afterGenerate() {
var nbMessages = Context.getMessages().length;
Context.warning('There were $nbMessages messages on after generate', Context.currentPos());
Context.filterMessages(msg -> switch msg {
case Warning(w, _): w != "This warning will disappear too";
case Info(_, _): true;
});
}
}
|