在Haxe项目中查找未使用的类或死代码

时间:2016-10-25 08:55:35

标签: haxe

有人知道在Haxe项目中自动获取未使用类列表的方法吗? 我找不到相关的文档,但信息应该可以在某处获得。像死区代码消除后的差异。

2 个答案:

答案 0 :(得分:3)

您可以通过使用-D dce-debug进行编译来获取DCE日志。 (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
...

答案 1 :(得分:2)

最后,我将两个解决方案混合起来以获得完整答案。

  • 第一个是源路径中的Haxe文件和详细模式编译中的解析类之间的差异。
  • 秒秒是带有dce-debug的差异和源路径中的文件。 thx @jonasmalacofilho

您可以在要点上找到我的脚本:https://gist.github.com/aliokan/0a9abded7c079ad0260f651245964db2