@@ -0,0 +1,6 @@
+import foo.Foo;
+
+class Baz {
+ function baz(data:foo.FooData) {}
+}
@@ -0,0 +1,17 @@
+import haxe.macro.Context;
+class Macro {
+ public static function build() {
+ trace("build FooData");
+ Context.defineType({
+ pos : Context.currentPos(),
+ name : "FooData",
+ pack : ["foo"],
+ kind : TDClass(),
+ fields : [],
+ });
+ return null;
+ }
@@ -0,0 +1,5 @@
+function main() {
+ trace(Baz);
@@ -0,0 +1,2 @@
+-main Main
+--interp
+Macro.macro.hx:5: build FooData
+Main.hx:4: Class<Baz>
@@ -0,0 +1,3 @@
+Baz
@@ -0,0 +1,4 @@
+package foo;
+@:build(Macro.build())
+class Foo {}