Main.hx 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. package;
  2. #if macro
  3. import haxe.macro.Compiler;
  4. import haxe.macro.Compiler.PackageRule;
  5. #end
  6. function main() {
  7. }
  8. #if macro
  9. class MacroClass {
  10. public static function start() {
  11. final config = Compiler.getConfiguration();
  12. trace(filterArgs(config.args));
  13. trace(config.debug);
  14. trace(config.verbose);
  15. trace(config.foptimize);
  16. trace(platformToString(config.platform));
  17. trace(config.mainClass.pack);
  18. trace(config.mainClass.name);
  19. for(packageName => packageRule in config.packageRules) {
  20. switch(packageRule) {
  21. case Forbidden: trace(packageName + " is forbidden");
  22. case _:
  23. }
  24. }
  25. }
  26. static function platformToString(p: Platform) {
  27. return switch(p) {
  28. case Eval: "eval";
  29. case Js: "js";
  30. case Cpp: "cpp";
  31. case _: "unused platform";
  32. }
  33. }
  34. static function filterArgs(args:Array<String>):Array<String> {
  35. if (args.length < 2) return args;
  36. // We're currently prepending that to all tests while moving to pretty errors by default
  37. if (args[0] == "-D" && args[1] == "message.reporting=classic") return args.slice(2);
  38. return args;
  39. }
  40. }
  41. #end