Поиск неиспользуемых классов или мертвого кода в проекте Haxe
Кто-нибудь знает способ автоматического получения списка неиспользуемых классов в проекте Haxe? Я не нахожу документации об этом, но информация должна быть где-то доступна. Как разница после устранения мертвого кода.
2 ответа:
Вы можете получить журнал DCE, скомпилировав его с помощью
-D dce-debug
. (соответствующая запись в руководстве )Например, компиляция
class Hello { static function main() trace("Hello!"); }
сhaxe --interp -main Hello -D dce-debug
дает что-то вроде:... [DCE] Removed field Type.getClass [DCE] Removed field Type.getEnum [DCE] Removed field Type.getSuperClass [DCE] Removed field Type.getClassName [DCE] Removed field Type.getEnumName [DCE] Removed field Type.resolveClass [DCE] Removed field Type.resolveEnum [DCE] Removed field Type.createInstance [DCE] Removed field Type.createEmptyInstance [DCE] Removed field Type.createEnum [DCE] Removed field Type.createEnumIndex [DCE] Removed field Type.getInstanceFields [DCE] Removed field Type.getClassFields [DCE] Removed field Type.getEnumConstructs [DCE] Removed field Type.typeof [DCE] Removed field Type.enumEq [DCE] Removed field Type.enumConstructor [DCE] Removed field Type.enumParameters [DCE] Removed field Type.enumIndex [DCE] Removed field Type.allEnums [DCE] Removed class Type [DCE] Removed enum ValueType ...
Наконец, я смешиваю два решения, чтобы получить полный ответ.
- Первый - это различие между файлами Haxe в исходном пути и разбираемыми классами в компиляции в подробном режиме.
- второй-это разница с
dce-debug
и файлами в исходном пути. thx @jonasmalacofilhoВы можете найти мой сценарий на gist: https://gist.github.com/aliokan/0a9abded7c079ad0260f651245964db2