If the final argument of a macro is of type Array<Expr>
, the macro accepts an arbitrary number of extra arguments which are available from that array:
import haxe.macro.Expr; class Main { static public function main() { myMacro("foo", a, b, c); } macro static function myMacro(e1:Expr, extra:Array<Expr>) { for (e in extra) { trace(e); } return macro null; } }