|  | @@ -0,0 +1,51 @@
 | 
											
												
													
														|  | 
 |  | +class Main {
 | 
											
												
													
														|  | 
 |  | +	static function main() {
 | 
											
												
													
														|  | 
 |  | +		trace("Foo");
 | 
											
												
													
														|  | 
 |  | +		trace(Foo1.macros);
 | 
											
												
													
														|  | 
 |  | +		trace(Foo2.macros);
 | 
											
												
													
														|  | 
 |  | +		trace(Foo3.macros);
 | 
											
												
													
														|  | 
 |  | +		trace(Foo4.macros);
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +		trace("Bar");
 | 
											
												
													
														|  | 
 |  | +		trace(Bar1.macros);
 | 
											
												
													
														|  | 
 |  | +		trace(Bar2.macros);
 | 
											
												
													
														|  | 
 |  | +		trace(Bar3.macros);
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +		trace("Baz");
 | 
											
												
													
														|  | 
 |  | +		trace(Baz1.macros);
 | 
											
												
													
														|  | 
 |  | +		trace(Baz2.macros);
 | 
											
												
													
														|  | 
 |  | +		trace(Baz3.macros);
 | 
											
												
													
														|  | 
 |  | +	}
 | 
											
												
													
														|  | 
 |  | +}
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +@:autoBuild(Macro.build("I1"))
 | 
											
												
													
														|  | 
 |  | +interface I1 {}
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +@:autoBuild(Macro.build("I2"))
 | 
											
												
													
														|  | 
 |  | +interface I2 {}
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +@:autoBuild(Macro.build("auto Foo1 (1)"))
 | 
											
												
													
														|  | 
 |  | +@:autoBuild(Macro.build("auto Foo1 (2)"))
 | 
											
												
													
														|  | 
 |  | +@:build(Macro.build("Foo1"))
 | 
											
												
													
														|  | 
 |  | +class Foo1 implements I1 implements I2 {}
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +@:build(Macro.build("Foo2"))
 | 
											
												
													
														|  | 
 |  | +class Foo2 extends Foo1 {}
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +@:build(Macro.build("Foo3 (1)"))
 | 
											
												
													
														|  | 
 |  | +@:build(Macro.build("Foo3 (2)"))
 | 
											
												
													
														|  | 
 |  | +class Foo3 extends Foo2 {}
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +@:build(Macro.build("Foo4"))
 | 
											
												
													
														|  | 
 |  | +class Foo4 extends Foo3 {}
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +class Bar1 implements I2 implements I1 {}
 | 
											
												
													
														|  | 
 |  | +class Bar2 extends Bar1 {}
 | 
											
												
													
														|  | 
 |  | +class Bar3 extends Bar2 {}
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +@:autoBuild(Macro.build("I3"))
 | 
											
												
													
														|  | 
 |  | +interface I3 extends I1 {}
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +class Baz1 implements I3 implements I2 {}
 | 
											
												
													
														|  | 
 |  | +class Baz2 extends Baz1 {}
 | 
											
												
													
														|  | 
 |  | +class Baz3 extends Baz2 {}
 |