2016-10-25 44 views

回答

2

最后,我混合两种解决方案,以获得一个完整的答案。

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

你可以找到依据我的脚本:https://gist.github.com/aliokan/0a9abded7c079ad0260f651245964db2

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

THX你的答案,但在现场级,不是阶级'-D DCE-debug'返回日志。我将使用'-D dump = pretty'并在源文件和转储文件列表之间进行区分。 –

+0

这很有道理(因为DCE显然必须在字段上工作),但这太糟糕了。 :/无论如何,比较AST转储将是我的计划B ... –

+0

实际上,'-D dce-debug'也会输出已删除的类和其他类型:'[DCE]已删除类haxe.io.Bytes'。你不能用'grep'(Unix/Linux/Mac)或'find'(Windows)过滤这些行吗? –

相关问题