Main.hx 396 B

12345678910111213141516171819202122232425
  1. import haxe.macro.Context;
  2. import haxe.macro.Expr;
  3. using haxe.macro.Tools;
  4. #if !macro
  5. @:build(Main.build())
  6. #end
  7. class Main {
  8. #if macro
  9. static function build():Array<Field> {
  10. var t = Context.typeof(macro M.x);
  11. var field = (macro class X {
  12. static public var type = $v{t.toString()};
  13. }).fields[0];
  14. return [field];
  15. }
  16. #end
  17. }
  18. function main() {
  19. #if !macro
  20. trace(Main.type);
  21. #end
  22. }