我正在尝试通过设置相应的字段来配置Google Closure Compiler的CompilerOptions。但是,当我调用方法setRemoveDeadCode()以简单模式激活死代码删除时,仅报告“无法访问的代码”警告,并且不会删除死代码。那是为什么?
代码如下:
if (false) console.log(x); //dead code which should be removed
我所做的只是在方法createOptions()的末尾激活setRemoveDeadCode(),但是停用其他选项。在setCoalesceVariableNames()等其他选项上做同样的事情也可以正常工作。任何见解都将不胜感激。
答案 0 :(得分:1)
RemoveDeadCode
选项会触发一个查看副作用和控制流图的传递。您可以通过查看单元测试来了解它的作用:
它不会寻找恒定值。然而,还有另一种选择," Fold Constants" (通过setFoldConstants
)将if
移除{{1}}。