多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
**从 Haxe 3.3.0 起:** Haxe 3.3.0 为代码优化引入了一个新的静态分析仪。通过使用 -D analyzer 编译器标记(第7.1节)来启用,由多个模块(第8.6节)组成,可以被用编译器标记(第7.1节)进行全局配置,以及在 类型级别和字段级别被用一个编译器元数据(第8.1节)进行全局配置。 **全局配置:** 要全局启动一个分析仪模块,使用 -D analyzer-module 。要全局禁用一个模块,使用 -D analyzer-no-module。两种情况,“module”表示被禁用或启用的模块的名字: ~~~ # Global enable from command line haxe -D analyzer-module # Global disable from command line haxe -D analyzer-no-module ~~~ **本地配置:** 要对一个给定的类型或者字段启动一个分析仪模块,使用 @:analyzer(module)。要禁用一个模块,使用 @:analyzer(no_module) 。两种情况,“module”表示要禁用或者启用的模块的名字: ~~~ @:analyzer(module) class C { @:analyzer(module) function f() { } // Field-level enable @:analyzer(no_module) function f() { } // Field-level disable } @:analyzer(no_module) class D { } // Type-level disable ~~~ **Modules** 静态分析仪当前带有如下的模块。如果 -D analyzer 被使用,除非注明否则它们是被启用的。 const_propagation : 实现稀少条件的常量传播来促进编译时知道的值到使用的地方。也侦测无效的分支。 copy_propagation : 侦测别名化其它局部变量的局部变量并相应的进行替换。 local dce : 侦测并移除无用的局部变量。 fusion : 在单一事件情况下移动变量表达式到它的使用中。在Flash和 Java目标语言中是禁用的。 purity_inference : 推断是否字段为 “纯粹的”,即,没有任何的副作用。这可以改善 fusion 模块的影响。 unreachable_code : 报告无法达到的代码。