2016-10-25 1 views
4

Кто-нибудь знает способ автоматического получения списка неиспользуемых классов в проекте Haxe? Я не нахожу документацию об этом, но информация должна быть доступна где-то. Как различие после устранения мертвого кода.Поиск неиспользуемых классов или мертвого кода в проекте Haxe

ответ

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

Thx для ответа, но '-D журналы возврата АКДА-debug' на полевом уровне, а не класс. Я буду использовать '-D dump = pretty' и сделать разницу между списком источников и дампов. –

+0

Это имеет смысл (поскольку DCE, очевидно, должен работать над полями), но это слишком плохо. :/В любом случае, отличные дампы AST будут моим планом B тоже ... –

+0

На самом деле, '-D dce-debug' также выводит удаленные классы и другие типы:' [DCE] Удален класс haxe.io.Bytes'. Не можете ли вы отфильтровать эти строки с помощью 'grep' (Unix/Linux/Mac) или' find' (Windows)? –