Macro.hx 970 B

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