Macro.hx 924 B

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