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)過濾這些行嗎? –

相關問題