上下文是类型构建宏。我的目标是生成
super(arg1, arg2, arg3)
我有:
Array<FunctionArg> => [{ meta => null, name => foo, type => TPath({ name => StdTypes, pack => [], params => [], sub => Int }), opt => null, value => null },{ meta => null, name => bar, type => TPath({ name => StdTypes, pack => [], params => [], sub => Int }), opt => null, value => null }]
我已经尝试过macro super($a{ancestorArgs})
但这很愚蠢,如 $a
预计Array<Expr>
。
我没有什么想法了。
最佳答案
尝试:
var args = [ for ( arg in funcArgs ) macro $i { arg.name } ];
func.expr = macro
{
super( $a{ args } );
};
关于macros - Haxe 生成带有参数的 super 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38426637/