package; import lime.app.Application; class Main extends Application { public function new () { super (); var e1:Element<"x,y,z"> = new Element<"x,y,z">(); var e2:Element<"x,y,z"> = new Element<"x,y,z">(); var e3:Element<"x,y,z"> = new Element<"x,y,z">(); e1.x = 5; trace(e1.x); e1.y = 1; trace(e1.y); e2.x = 7; trace(e2.x); //e2.y = 9; trace(e2.y); // <- ERROR because y not in Param-List after macro-ification e2.z = 9; trace(e2.z); e3.z = 3; trace(e3.z); // TODO: did not work var d1:Displaylist<"x,y"> = new Displaylist<"x,y">(); var e11:Element<"x,y"> = d1.addElement(); e11.x = 5; trace(e11.x); var d2 = new Displaylist<"x,z">(); var e22 = d2.addElement(); e22.x = 7; trace(e22.x); var e33 = d2.addElement(); e33.z = 2; trace(e33.z); } }