У меня есть классы, которые никогда не упоминаются напрямую в другом коде, но доступны только с помощью Type.resolveClass
. Я хочу, чтобы они были скомпилированы и включены в приложение, но я не могу понять, как это сделать. Я думал, что @:keep
(или @:keepSub
) подходит именно для этого, но он не работает так, как я ожидал. Это то, что я делаю:Haxe: как удалить неиспользованный класс
Main.hx
:
package;
//import Foo; //uncomment this line to make it work
class Main {
static function main() trace(Type.resolveClass('Foo'));
}
Foo.hx
:
package;
@:keep class Foo {}
Но это следы null
(я тестировал JS и Flash) Даже если я компилирую с -dce no
он по-прежнему следы null
.
Не уверен, что это проблема компилятора или я не понимаю, как это работает.