macros - Haxe 生成带有参数的 super 调用

标签 macros haxe

上下文是类型构建宏。我的目标是生成

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/

相关文章:

c - 为什么 _Generic 语句被视为表达式而不是宏?

haxe - 摘要的正确使用

FlashDevelop -- 指定一个 HXML 文件?

haxe - 如何访问 Sprite 2D 上下文?

javascript - 为 EaselJS 生成 Haxe externs

macros - 没有括号的反引号

macros - 具有多个返回表达式的 Julia 宏

javascript - 如何指定从中加载字体的url?

macros - 如何从命令行运行Altium Designer录制的宏?

C风格宏编译