Google Closure Compiler:通过设置 CompilerOptions 删除死代码
Google Closure Compiler: remove dead code by setting CompilerOptions
我正在尝试通过设置相应的字段来配置 Google Closure Compiler 的 CompilerOptions。但是我在简单模式下调用setRemoveDeadCode()方法激活去死码时,只报警告"unreachable code",并没有去死码。这是为什么?
代码如下:
if (false) console.log(x); //dead code which should be removed
我所做的只是激活方法createOptions() 末尾的setRemoveDeadCode(),而停用其他选项。对 setCoalesceVariableNames() 等其他选项执行相同的操作效果很好。任何见解将不胜感激。
RemoveDeadCode
选项触发查看副作用和控制流图的传递。您可以通过查看单元测试了解它的作用:
它不寻找常数值。但是,还有另一个选项,"Fold Constants"(通过 setFoldConstants
),它将删除条件不变的 if
。
我正在尝试通过设置相应的字段来配置 Google Closure Compiler 的 CompilerOptions。但是我在简单模式下调用setRemoveDeadCode()方法激活去死码时,只报警告"unreachable code",并没有去死码。这是为什么?
代码如下:
if (false) console.log(x); //dead code which should be removed
我所做的只是激活方法createOptions() 末尾的setRemoveDeadCode(),而停用其他选项。对 setCoalesceVariableNames() 等其他选项执行相同的操作效果很好。任何见解将不胜感激。
RemoveDeadCode
选项触发查看副作用和控制流图的传递。您可以通过查看单元测试了解它的作用:
它不寻找常数值。但是,还有另一个选项,"Fold Constants"(通过 setFoldConstants
),它将删除条件不变的 if
。