Haxe генерирует супер вызов с аргументами

macros haxe

48 просмотра

1 ответ

2262 Репутация автора

Контекстом является макрос создания типов. Моя цель - создать

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>.

У меня нет идей осталось.

Автор: Misiur Источник Размещён: 17.07.2016 10:45

Ответы (1)


2 плюса

223 Репутация автора

Решение

Пытаться:

var args = [ for ( arg in funcArgs ) macro $i { arg.name } ];
func.expr = macro 
{
    super( $a{ args } );
};
Автор: Francis Bourre Размещён: 18.07.2016 05:10
Вопросы из категории :
32x32