Кто-нибудь знает способ автоматического получения списка неиспользуемых классов в проекте Haxe? Я не нахожу документацию об этом, но информация должна быть доступна где-то. Как различие после устранения мертвого кода.Поиск неиспользуемых классов или мертвого кода в проекте Haxe
4
A
ответ
2
Наконец, я смешивать два решения, чтобы получить полный ответ.
- Первый из них - это различие между файлами Haxe в исходном тракте и разборными классами в компиляции подробного режима.
- Секунды разницы с
dce-debug
и файлы в исходном пути. ТНХ @jonasmalacofilho
Вы можете найти мой сценарий на сути: https://gist.github.com/aliokan/0a9abded7c079ad0260f651245964db2
3
Вы можете получить журнал DCE, скомпилировав его с помощью -D dce-debug
. (relevant entry in the manual)
Например, составление 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
...
Thx для ответа, но '-D журналы возврата АКДА-debug' на полевом уровне, а не класс. Я буду использовать '-D dump = pretty' и сделать разницу между списком источников и дампов. –
Это имеет смысл (поскольку DCE, очевидно, должен работать над полями), но это слишком плохо. :/В любом случае, отличные дампы AST будут моим планом B тоже ... –
На самом деле, '-D dce-debug' также выводит удаленные классы и другие типы:' [DCE] Удален класс haxe.io.Bytes'. Не можете ли вы отфильтровать эти строки с помощью 'grep' (Unix/Linux/Mac) или' find' (Windows)? –